From 0547bdd1feb715a742c86e34f5ab1cc2ebaf4c9e Mon Sep 17 00:00:00 2001 From: Julian Sommer <115516918+juliansommer@users.noreply.github.com> Date: Tue, 14 Apr 2026 09:24:14 +1000 Subject: [PATCH] feat: loadbalancer frontend (#136) --- build/systemd/spinifex-daemon.service | 3 +- cmd/spinifex/cmd/admin.go | 8 + docs/TAG-CONVENTIONS.md | 66 ++ docs/setting-up-your-cluster/README.md | 17 +- docs/terraform/nginx-alb/README.md | 42 +- docs/terraform/nginx-alb/main.tf | 9 +- scripts/dev-install.sh | 17 +- spinifex/daemon/daemon_handlers.go | 1 + spinifex/daemon/daemon_handlers_instance.go | 2 +- spinifex/daemon/daemon_system_instance.go | 19 +- spinifex/handlers/ec2/eip/service_impl.go | 4 +- spinifex/handlers/ec2/vpc/external_ipam.go | 37 +- .../handlers/ec2/vpc/external_ipam_dhcp.go | 30 + .../handlers/ec2/vpc/external_ipam_test.go | 40 +- spinifex/handlers/elbv2/service_impl.go | 11 +- spinifex/handlers/elbv2/service_nats.go | 13 +- .../dist/assets/DescribeInstancesCommand.js | 2 +- .../frontend/dist/assets/DialogTitle.js | 2 +- .../frontend/dist/assets/SignatureV4.js | 12 +- .../spinifexui/frontend/dist/assets/_.js | 2 +- .../spinifexui/frontend/dist/assets/_2.js | 2 +- .../spinifexui/frontend/dist/assets/_auth.js | 2 +- .../frontend/dist/assets/_bucket.js | 2 +- .../frontend/dist/assets/_bucket2.js | 2 +- .../spinifexui/frontend/dist/assets/_id.js | 4 +- .../spinifexui/frontend/dist/assets/_id10.js | 4 +- .../spinifexui/frontend/dist/assets/_id11.js | 3 +- .../spinifexui/frontend/dist/assets/_id12.js | 3 +- .../spinifexui/frontend/dist/assets/_id13.js | 2 +- .../spinifexui/frontend/dist/assets/_id14.js | 2 +- .../spinifexui/frontend/dist/assets/_id15.js | 2 +- .../spinifexui/frontend/dist/assets/_id16.js | 2 +- .../spinifexui/frontend/dist/assets/_id17.js | 2 +- .../spinifexui/frontend/dist/assets/_id18.js | 2 +- .../spinifexui/frontend/dist/assets/_id19.js | 2 +- .../spinifexui/frontend/dist/assets/_id2.js | 4 +- .../spinifexui/frontend/dist/assets/_id20.js | 2 +- .../spinifexui/frontend/dist/assets/_id21.js | 1 + .../spinifexui/frontend/dist/assets/_id22.js | 1 + .../spinifexui/frontend/dist/assets/_id23.js | 1 + .../spinifexui/frontend/dist/assets/_id24.js | 1 + .../spinifexui/frontend/dist/assets/_id3.js | 4 +- .../spinifexui/frontend/dist/assets/_id4.js | 4 +- .../spinifexui/frontend/dist/assets/_id5.js | 4 +- .../spinifexui/frontend/dist/assets/_id6.js | 4 +- .../spinifexui/frontend/dist/assets/_id7.js | 4 +- .../spinifexui/frontend/dist/assets/_id8.js | 4 +- .../spinifexui/frontend/dist/assets/_id9.js | 4 +- .../frontend/dist/assets/_policyArn.js | 2 +- .../frontend/dist/assets/_policyArn2.js | 2 +- .../frontend/dist/assets/_userName.js | 2 +- .../frontend/dist/assets/_userName2.js | 2 +- .../spinifexui/frontend/dist/assets/admin.js | 2 +- .../frontend/dist/assets/alert-dialog.js | 2 +- .../frontend/dist/assets/ami-details.js | 2 +- .../frontend/dist/assets/awsClient.js | 12 +- .../spinifexui/frontend/dist/assets/button.js | 2 +- .../spinifexui/frontend/dist/assets/card.js | 2 +- .../frontend/dist/assets/cli-command-panel.js | 2 +- .../frontend/dist/assets/collapsible.js | 1 + .../frontend/dist/assets/create-bucket.js | 2 +- .../dist/assets/create-load-balancer.js | 17 + .../dist/assets/create-placement-group.js | 2 +- .../dist/assets/create-security-group.js | 2 +- .../frontend/dist/assets/create-snapshot.js | 2 +- .../frontend/dist/assets/create-snapshot2.js | 2 +- .../frontend/dist/assets/create-subnet.js | 2 +- .../dist/assets/create-target-group.js | 14 + .../frontend/dist/assets/create-volume.js | 2 +- .../frontend/dist/assets/create-vpc.js | 2 +- .../dist/assets/createBaseUIEventDetails.js | 2 +- .../frontend/dist/assets/describe-images.js | 2 +- .../dist/assets/describe-load-balancers.js | 1 + .../frontend/dist/assets/describe-subnets.js | 2 +- .../dist/assets/describe-target-groups.js | 1 + .../frontend/dist/assets/describe-vpcs.js | 2 +- .../spinifexui/frontend/dist/assets/dist.js | 2 +- .../spinifexui/frontend/dist/assets/ec2.js | 2 +- .../spinifexui/frontend/dist/assets/ec22.js | 2 +- .../spinifexui/frontend/dist/assets/ec23.js | 2 +- .../spinifexui/frontend/dist/assets/elbv2.js | 1 + .../spinifexui/frontend/dist/assets/elbv22.js | 1 + .../spinifexui/frontend/dist/assets/elbv23.js | 1 + .../spinifexui/frontend/dist/assets/field.js | 2 +- .../getDisabledMountTransitionStyles.js | 2 +- .../spinifexui/frontend/dist/assets/iam.js | 2 +- .../spinifexui/frontend/dist/assets/iam2.js | 2 +- .../spinifexui/frontend/dist/assets/iam3.js | 2 +- .../spinifexui/frontend/dist/assets/index.css | 2 +- .../spinifexui/frontend/dist/assets/index.js | 12 +- .../spinifexui/frontend/dist/assets/input.js | 2 +- .../dist/assets/lb-image-missing-banner.js | 1 + .../spinifexui/frontend/dist/assets/link.js | 2 +- .../spinifexui/frontend/dist/assets/login.js | 2 +- .../spinifexui/frontend/dist/assets/ls.js | 2 +- .../spinifexui/frontend/dist/assets/nodes.js | 2 +- .../spinifexui/frontend/dist/assets/plus.js | 1 + .../spinifexui/frontend/dist/assets/s3.js | 4 +- .../spinifexui/frontend/dist/assets/s32.js | 2 +- .../spinifexui/frontend/dist/assets/select.js | 2 +- .../frontend/dist/assets/separator.js | 2 +- .../frontend/dist/assets/service-metrics.js | 2 +- .../frontend/dist/assets/state-badge.js | 2 +- .../frontend/dist/assets/system-managed.js | 1 + .../spinifexui/frontend/dist/assets/tabs.js | 1 + .../frontend/dist/assets/target-group-form.js | 1 + .../frontend/dist/assets/textarea.js | 2 +- .../frontend/dist/assets/upload-button.js | 2 +- .../dist/assets/useOpenInteractionType.js | 4 +- .../frontend/dist/assets/useQuery.js | 1 + .../dist/assets/useTransitionStatus.js | 2 +- .../spinifexui/frontend/dist/assets/zod.js | 2 +- .../spinifexui/frontend/dist/index.html | 5 +- .../services/spinifexui/frontend/package.json | 1 + .../spinifexui/frontend/pnpm-lock.yaml | 52 ++ .../elbv2/attributes-editor.test.tsx | 169 ++++ .../components/elbv2/attributes-editor.tsx | 389 ++++++++++ .../elbv2/lb-image-missing-banner.tsx | 19 + .../components/elbv2/listener-form.test.tsx | 52 ++ .../src/components/elbv2/listener-form.tsx | 103 +++ .../components/elbv2/listeners-tab.test.tsx | 200 +++++ .../src/components/elbv2/listeners-tab.tsx | 259 +++++++ .../elbv2/register-targets-dialog.test.tsx | 92 +++ .../elbv2/register-targets-dialog.tsx | 184 +++++ .../elbv2/target-group-form.test.tsx | 65 ++ .../components/elbv2/target-group-form.tsx | 280 +++++++ .../src/components/elbv2/targets-tab.test.tsx | 170 ++++ .../src/components/elbv2/targets-tab.tsx | 231 ++++++ .../frontend/src/components/ui/tabs.tsx | 46 ++ .../frontend/src/layouts/sidebar-layout.tsx | 32 + .../spinifexui/frontend/src/lib/awsClient.ts | 32 + .../frontend/src/lib/system-managed.test.ts | 78 ++ .../frontend/src/lib/system-managed.ts | 30 + .../frontend/src/mutations/elbv2.test.tsx | 440 +++++++++++ .../frontend/src/mutations/elbv2.ts | 414 ++++++++++ .../spinifexui/frontend/src/queries/admin.ts | 1 + .../frontend/src/queries/elbv2.test.ts | 206 +++++ .../spinifexui/frontend/src/queries/elbv2.ts | 119 +++ .../spinifexui/frontend/src/routeTree.gen.ts | 138 ++++ .../ec2/(images)/describe-images/$id.tsx | 3 +- .../ec2/(images)/describe-images/index.tsx | 5 +- .../-components/create-load-balancer-page.tsx | 725 ++++++++++++++++++ .../describe-load-balancers-page.tsx | 110 +++ .../-components/load-balancer-detail-page.tsx | 235 ++++++ .../create-load-balancer.test.tsx | 291 +++++++ .../(load-balancers)/create-load-balancer.tsx | 33 + .../describe-load-balancers/$id.test.tsx | 136 ++++ .../describe-load-balancers/$id.tsx | 43 ++ .../describe-load-balancers/index.test.tsx | 159 ++++ .../describe-load-balancers/index.tsx | 25 + .../create-placement-group.tsx | 2 +- .../create-security-group.tsx | 2 +- .../_auth/ec2/(snapshots)/create-snapshot.tsx | 2 +- .../_auth/ec2/(subnet)/create-subnet.tsx | 2 +- .../-components/create-target-group-page.tsx | 170 ++++ .../describe-target-groups-page.tsx | 116 +++ .../-components/target-group-detail-page.tsx | 230 ++++++ .../create-target-group.test.tsx | 150 ++++ .../(target-groups)/create-target-group.tsx | 21 + .../describe-target-groups/$id.test.tsx | 140 ++++ .../describe-target-groups/$id.tsx | 39 + .../describe-target-groups/index.test.tsx | 132 ++++ .../describe-target-groups/index.tsx | 21 + .../_auth/ec2/(volumes)/create-volume.tsx | 2 +- .../src/routes/_auth/ec2/(vpc)/create-vpc.tsx | 2 +- .../frontend/src/routes/_auth/nodes.tsx | 5 +- .../_auth/s3/(buckets)/create-bucket.tsx | 2 +- .../frontend/src/test/elbv2-e2e.test.tsx | 333 ++++++++ .../frontend/src/test/elbv2-integration.tsx | 30 + .../frontend/src/types/elbv2.test.ts | 210 +++++ .../spinifexui/frontend/src/types/elbv2.ts | 130 ++++ .../spinifexui/frontend/vite.config.ts | 1 + spinifex/tags/tags.go | 19 + spinifex/types/node.go | 4 + spinifex/utils/images.go | 9 + spinifex/vm/vm.go | 5 + 176 files changed, 7748 insertions(+), 181 deletions(-) create mode 100644 docs/TAG-CONVENTIONS.md create mode 100644 spinifex/services/spinifexui/frontend/dist/assets/_id21.js create mode 100644 spinifex/services/spinifexui/frontend/dist/assets/_id22.js create mode 100644 spinifex/services/spinifexui/frontend/dist/assets/_id23.js create mode 100644 spinifex/services/spinifexui/frontend/dist/assets/_id24.js create mode 100644 spinifex/services/spinifexui/frontend/dist/assets/collapsible.js create mode 100644 spinifex/services/spinifexui/frontend/dist/assets/create-load-balancer.js create mode 100644 spinifex/services/spinifexui/frontend/dist/assets/create-target-group.js create mode 100644 spinifex/services/spinifexui/frontend/dist/assets/describe-load-balancers.js create mode 100644 spinifex/services/spinifexui/frontend/dist/assets/describe-target-groups.js create mode 100644 spinifex/services/spinifexui/frontend/dist/assets/elbv2.js create mode 100644 spinifex/services/spinifexui/frontend/dist/assets/elbv22.js create mode 100644 spinifex/services/spinifexui/frontend/dist/assets/elbv23.js create mode 100644 spinifex/services/spinifexui/frontend/dist/assets/lb-image-missing-banner.js create mode 100644 spinifex/services/spinifexui/frontend/dist/assets/plus.js create mode 100644 spinifex/services/spinifexui/frontend/dist/assets/system-managed.js create mode 100644 spinifex/services/spinifexui/frontend/dist/assets/tabs.js create mode 100644 spinifex/services/spinifexui/frontend/dist/assets/target-group-form.js create mode 100644 spinifex/services/spinifexui/frontend/dist/assets/useQuery.js create mode 100644 spinifex/services/spinifexui/frontend/src/components/elbv2/attributes-editor.test.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/components/elbv2/attributes-editor.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/components/elbv2/lb-image-missing-banner.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/components/elbv2/listener-form.test.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/components/elbv2/listener-form.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/components/elbv2/listeners-tab.test.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/components/elbv2/listeners-tab.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/components/elbv2/register-targets-dialog.test.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/components/elbv2/register-targets-dialog.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/components/elbv2/target-group-form.test.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/components/elbv2/target-group-form.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/components/elbv2/targets-tab.test.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/components/elbv2/targets-tab.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/components/ui/tabs.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/lib/system-managed.test.ts create mode 100644 spinifex/services/spinifexui/frontend/src/lib/system-managed.ts create mode 100644 spinifex/services/spinifexui/frontend/src/mutations/elbv2.test.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/mutations/elbv2.ts create mode 100644 spinifex/services/spinifexui/frontend/src/queries/elbv2.test.ts create mode 100644 spinifex/services/spinifexui/frontend/src/queries/elbv2.ts create mode 100644 spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/-components/create-load-balancer-page.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/-components/describe-load-balancers-page.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/-components/load-balancer-detail-page.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/create-load-balancer.test.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/create-load-balancer.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/describe-load-balancers/$id.test.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/describe-load-balancers/$id.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/describe-load-balancers/index.test.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/describe-load-balancers/index.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/-components/create-target-group-page.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/-components/describe-target-groups-page.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/-components/target-group-detail-page.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/create-target-group.test.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/create-target-group.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/describe-target-groups/$id.test.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/describe-target-groups/$id.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/describe-target-groups/index.test.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/describe-target-groups/index.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/test/elbv2-e2e.test.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/test/elbv2-integration.tsx create mode 100644 spinifex/services/spinifexui/frontend/src/types/elbv2.test.ts create mode 100644 spinifex/services/spinifexui/frontend/src/types/elbv2.ts create mode 100644 spinifex/tags/tags.go diff --git a/build/systemd/spinifex-daemon.service b/build/systemd/spinifex-daemon.service index e8168cf51..4e5856956 100644 --- a/build/systemd/spinifex-daemon.service +++ b/build/systemd/spinifex-daemon.service @@ -41,7 +41,8 @@ ProtectControlGroups=yes ProtectProc=invisible SystemCallArchitectures=native MemoryDenyWriteExecute=yes -RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX AF_NETLINK +# AF_PACKET is required by dhcpcd (raw L2 BOOTP before the iface has an IP). +RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX AF_NETLINK AF_PACKET ProtectHostname=yes KeyringMode=private RemoveIPC=yes diff --git a/cmd/spinifex/cmd/admin.go b/cmd/spinifex/cmd/admin.go index d3990ad35..f19248647 100644 --- a/cmd/spinifex/cmd/admin.go +++ b/cmd/spinifex/cmd/admin.go @@ -25,6 +25,7 @@ import ( "encoding/json" "fmt" "io" + "maps" "net" "net/http" "os" @@ -441,6 +442,13 @@ func runimagesImportCmd(cmd *cobra.Command, args []string) { manifest.AMIMetadata.ImageOwnerAlias = "system" manifest.AMIMetadata.VolumeSizeGiB = utils.SafeInt64ToUint64(imageStat.Size() / 1024 / 1024 / 1024) + // Copy catalog-provided tags (e.g. spinifex:managed-by for system AMIs) + // onto the imported AMI so the UI can filter them out. + if len(image.Tags) > 0 { + manifest.AMIMetadata.Tags = make(map[string]string, len(image.Tags)) + maps.Copy(manifest.AMIMetadata.Tags, image.Tags) + } + // Volume Data manifest.VolumeMetadata.VolumeID = volumeId // TODO: Confirm if unique, e.g vol-, if ami- used manifest.VolumeMetadata.VolumeName = manifest.AMIMetadata.Name diff --git a/docs/TAG-CONVENTIONS.md b/docs/TAG-CONVENTIONS.md new file mode 100644 index 000000000..733498bba --- /dev/null +++ b/docs/TAG-CONVENTIONS.md @@ -0,0 +1,66 @@ +# Spinifex Tag Conventions + +Spinifex uses a small set of reserved tag keys to mark resources that are +owned and managed by the platform itself (as opposed to resources created +directly by customer AWS API calls). The UI uses these tags to hide +system-owned resources from customer-facing listings so operators do not +mistake them for user workloads and accidentally terminate or modify +them. + +## `spinifex:managed-by` + +Identifies the Spinifex platform component that owns a resource. + +| Value | Component | Tagged resource types | +|---------|---------------------------------|---------------------------------------| +| `elbv2` | ALB / HAProxy load balancers | LB VM (`instance`), LB ENI, LB AMI | + +The tag is applied by the backend at create/launch time: + +- **Instance** — set in + `spinifex/spinifex/daemon/daemon_system_instance.go` when + `LaunchSystemInstance` builds the `RunInstancesInput`, and mirrored onto + the stored `vm.VM.ManagedBy` field for fast lookup. +- **ENI** — set in + `spinifex/spinifex/handlers/elbv2/service_impl.go` when + `CreateLoadBalancer` calls `CreateNetworkInterface`. +- **AMI** — declared on the catalog entry in + `spinifex/spinifex/utils/images.go` and copied into + `AMIMetadata.Tags` by the image importer in + `spinifex/cmd/spinifex/cmd/admin.go`. + +Tag keys and values are defined once in `spinifex/spinifex/tags/tags.go`; +new system components should register their value there and reuse the +constants rather than hardcoding strings. + +## UI behaviour + +The admin **Nodes** page and the **Images** (AMIs) page filter out +resources that carry `spinifex:managed-by`. Engineers who need to see +system resources for debugging can append `?system=1` to the URL — the +filter is bypassed and a hidden-count banner is replaced with the full +listing. Direct navigation to a system AMI detail page without +`?system=1` renders the "Image not found" fallback. + +The EC2 **Instances** page does not need UI-side filtering: backend +SigV4 authentication scopes `DescribeInstances` by account ID, and +system instances live under the global system account +(`000000000000`), so customers never see them. + +## `spinifex:lb-arn` + +Applied to ELBv2-managed ENIs alongside `spinifex:managed-by=elbv2`. +Stores the ARN of the parent load balancer so reconciliation can map an +ENI back to its owner without a separate lookup. Customer-facing +filtering keys off `spinifex:managed-by`; `spinifex:lb-arn` is +informational. + +## Adding a new system component + +1. Add a new value constant next to `ManagedByELBv2` in + `spinifex/spinifex/tags/tags.go`. +2. Tag every resource the component creates (instance, ENI, AMI, + volume, …) with `spinifex:managed-by=`. +3. Add the value to the table above so operators can recognise it. +4. No frontend changes are required — the UI filters on the key, not + the value. diff --git a/docs/setting-up-your-cluster/README.md b/docs/setting-up-your-cluster/README.md index 7ff83005a..680f37980 100644 --- a/docs/setting-up-your-cluster/README.md +++ b/docs/setting-up-your-cluster/README.md @@ -166,14 +166,25 @@ Query available instance types for your hardware: aws ec2 describe-instance-types ``` -Launch an instance in the public subnet: +Launch an instance in the public subnet, note this will select an instance type with 2 VCPU and 1024MB of memory. + +> **Note:** Replace `AMI_NAME` with the previously imported image above with the `ami-` prefix. ```bash -AMI_ID=$(aws ec2 describe-images --query 'Images[0].ImageId' --output text) +AMI_NAME="ami-ubuntu-24.04-x86_64" + +AMI_ID=$(aws ec2 describe-images \ + --filters "Name=name,Values=$AMI_NAME" \ + --query 'Images | sort_by(@, &CreationDate) | [-1].ImageId' \ + --output text) + +INSTANCE_TYPE=$(aws ec2 describe-instance-types \ + --query "sort_by(InstanceTypes[?VCpuInfo.DefaultVCpus==\`2\` && MemoryInfo.SizeInMiB>=\`1024\`], &MemoryInfo.SizeInMiB)[0].InstanceType" \ + --output text) INSTANCE_ID=$(aws ec2 run-instances \ --image-id $AMI_ID \ - --instance-type t3.small \ + --instance-type $INSTANCE_TYPE \ --key-name spinifex-key \ --subnet-id $SUBNET_ID \ --count 1 \ diff --git a/docs/terraform/nginx-alb/README.md b/docs/terraform/nginx-alb/README.md index 60c880a87..d8ab0db16 100644 --- a/docs/terraform/nginx-alb/README.md +++ b/docs/terraform/nginx-alb/README.md @@ -108,6 +108,34 @@ Or create a `main.tf` file and paste the full configuration below. ```bash export AWS_PROFILE=spinifex tofu init +``` + + +### Step 3. Specify instance and apply + +Next, depending on your architecture and CPU/memory requirements you must specify an instance type to launch. + +Either specify an instance type directly (e.g Intel) + +```bash +# AMD instance +export TF_VAR_instance_type="t3a.small" + +# Or, Intel +export TF_VAR_instance_type="t3.small" +``` + +Or alternatively, using the AWS CLI tool query your instance for available types (e.g Intel, AMD, ARM) that support 2 vCPUs and 1 GB RAM. + +```bash +TF_VAR_instance_type=$(aws ec2 describe-instance-types \ + --query "sort_by(InstanceTypes[?VCpuInfo.DefaultVCpus==\`2\` && MemoryInfo.SizeInMiB>=\`1024\`], &MemoryInfo.SizeInMiB)[0].InstanceType" \ + --output text) +``` + +Next, apply and launch the template: + +```bash tofu apply ``` @@ -138,7 +166,13 @@ The Nginx instances themselves only have private IPs (see the `instance_1_privat Check target health via AWS CLI: ```bash -aws elbv2 describe-target-health --target-group-arn +TG_ARN=$(aws elbv2 describe-target-groups \ + --query 'TargetGroups[0].TargetGroupArn' \ + --output text) + +echo "Target Group ARN: $TG_ARN" + +aws elbv2 describe-target-health --target-group-arn $TG_ARN ``` ### Cleanup @@ -157,6 +191,12 @@ Ensure you have imported a Debian 12 image. Check available AMIs: aws ec2 describe-images --owners 000000000000 --profile spinifex ``` +If missing import: + +```bash +spx admin images import --name debian-12-x86_64 +``` + ### Provider Connection Refused Verify Spinifex services are running: diff --git a/docs/terraform/nginx-alb/main.tf b/docs/terraform/nginx-alb/main.tf index a17f395ff..18e15ccfa 100644 --- a/docs/terraform/nginx-alb/main.tf +++ b/docs/terraform/nginx-alb/main.tf @@ -53,6 +53,11 @@ variable "region" { default = "ap-southeast-2" } +variable "instance_type" { + type = string + default = "t3.small" +} + variable "spinifex_endpoint" { type = string default = "https://localhost:9999" @@ -311,7 +316,7 @@ resource "aws_security_group" "web" { resource "aws_instance" "nginx_1" { ami = data.aws_ami.debian12.id - instance_type = "t3.small" + instance_type = var.instance_type subnet_id = aws_subnet.private_a.id vpc_security_group_ids = [aws_security_group.web.id] @@ -355,7 +360,7 @@ resource "aws_instance" "nginx_1" { resource "aws_instance" "nginx_2" { ami = data.aws_ami.debian12.id - instance_type = "t3.small" + instance_type = var.instance_type subnet_id = aws_subnet.private_b.id vpc_security_group_ids = [aws_security_group.web.id] diff --git a/scripts/dev-install.sh b/scripts/dev-install.sh index ad5d5508e..1fe551ce6 100755 --- a/scripts/dev-install.sh +++ b/scripts/dev-install.sh @@ -67,6 +67,15 @@ sudo update-ca-certificates echo "=== Starting services ===" sudo systemctl start spinifex.target +# Check if user needs to re-login for spinifex group membership +if ! id -Gn 2>/dev/null | grep -qw spinifex; then + newgrp spinifex + # echo "" + # echo "NOTE: You were added to the 'spinifex' group but your current" + # echo "session doesn't reflect it yet. Log out and back in, or run:" + # echo " newgrp spinifex" +fi + echo "=== Building and importing LB image ===" cd "$PROJECT_ROOT" && make build-lb-agent "$PROJECT_ROOT/scripts/build-system-image.sh" "$PROJECT_ROOT/scripts/images/lb.conf" --import --quiet @@ -76,11 +85,3 @@ echo "Services: sudo systemctl status spinifex.target" echo "Logs: journalctl -u 'spinifex-*' -f" echo "Test: AWS_PROFILE=spinifex aws ec2 describe-instances" echo "Iterate: make deploy (rebuild + restart all)" - -# Check if user needs to re-login for spinifex group membership -if ! id -Gn 2>/dev/null | grep -qw spinifex; then - echo "" - echo "NOTE: You were added to the 'spinifex' group but your current" - echo "session doesn't reflect it yet. Log out and back in, or run:" - echo " newgrp spinifex" -fi diff --git a/spinifex/daemon/daemon_handlers.go b/spinifex/daemon/daemon_handlers.go index 2cafdc7f9..a0bfafcb9 100644 --- a/spinifex/daemon/daemon_handlers.go +++ b/spinifex/daemon/daemon_handlers.go @@ -293,6 +293,7 @@ func (d *Daemon) handleNodeVMs(msg *nats.Msg) { InstanceID: v.ID, Status: string(v.Status), InstanceType: v.InstanceType, + ManagedBy: v.ManagedBy, } // Get vCPU/memory from the resource manager's instance type info if it, ok := d.resourceMgr.instanceTypes[v.InstanceType]; ok { diff --git a/spinifex/daemon/daemon_handlers_instance.go b/spinifex/daemon/daemon_handlers_instance.go index 8883de7f2..2c2ff41c1 100644 --- a/spinifex/daemon/daemon_handlers_instance.go +++ b/spinifex/daemon/daemon_handlers_instance.go @@ -238,7 +238,7 @@ func (d *Daemon) handleEC2RunInstances(msg *nats.Msg) { region = d.config.Region az = d.config.AZ } - publicIP, poolName, allocErr := d.externalIPAM.AllocateIP(region, az, "auto_assign", *eni.NetworkInterfaceId, instance.ID) + publicIP, poolName, allocErr := d.externalIPAM.AllocateIP(region, az, "auto_assign", "", *eni.NetworkInterfaceId, instance.ID) if allocErr != nil { slog.Warn("Failed to allocate public IP for instance", "instanceId", instance.ID, "err", allocErr) } else { diff --git a/spinifex/daemon/daemon_system_instance.go b/spinifex/daemon/daemon_system_instance.go index 2b3c00c23..1d2e20f01 100644 --- a/spinifex/daemon/daemon_system_instance.go +++ b/spinifex/daemon/daemon_system_instance.go @@ -9,6 +9,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" handlers_elbv2 "github.com/mulgadc/spinifex/spinifex/handlers/elbv2" + "github.com/mulgadc/spinifex/spinifex/tags" "github.com/mulgadc/spinifex/spinifex/utils" "github.com/mulgadc/spinifex/spinifex/vm" ) @@ -51,12 +52,22 @@ func (d *Daemon) LaunchSystemInstance(input *handlers_elbv2.SystemInstanceInput) return nil, fmt.Errorf("insufficient capacity for %s: %w", input.InstanceType, err) } - // Build a RunInstancesInput for the instance service + // Build a RunInstancesInput for the instance service. + // Tag the instance as ELBv2-managed so the UI hides it from + // customer-facing listings (Nodes page). runInput := &ec2.RunInstancesInput{ InstanceType: aws.String(input.InstanceType), ImageId: aws.String(input.ImageID), MinCount: aws.Int64(1), MaxCount: aws.Int64(1), + TagSpecifications: []*ec2.TagSpecification{ + { + ResourceType: aws.String("instance"), + Tags: []*ec2.Tag{ + {Key: aws.String(tags.ManagedByKey), Value: aws.String(tags.ManagedByELBv2)}, + }, + }, + }, } if input.SubnetID != "" { runInput.SubnetId = aws.String(input.SubnetID) @@ -74,6 +85,10 @@ func (d *Daemon) LaunchSystemInstance(input *handlers_elbv2.SystemInstanceInput) } instance.AccountID = accountID + instance.ManagedBy = tags.ManagedByELBv2 + ec2Instance.Tags = []*ec2.Tag{ + {Key: aws.String(tags.ManagedByKey), Value: aws.String(tags.ManagedByELBv2)}, + } instance.Reservation = &ec2.Reservation{} instance.Reservation.SetReservationId(utils.GenerateResourceID("r")) instance.Reservation.SetOwnerId(accountID) @@ -147,7 +162,7 @@ func (d *Daemon) LaunchSystemInstance(input *handlers_elbv2.SystemInstanceInput) region = d.config.Region az = d.config.AZ } - allocatedIP, poolName, allocErr := d.externalIPAM.AllocateIP(region, az, "auto_assign", instance.ENIId, instance.ID) + allocatedIP, poolName, allocErr := d.externalIPAM.AllocateIP(region, az, "auto_assign", "", instance.ENIId, instance.ID) if allocErr != nil { slog.Error("LaunchSystemInstance: failed to allocate public IP for internet-facing ALB", "instanceId", instance.ID, "err", allocErr) d.cleanupFailedSystemInstance(instance, instanceType) diff --git a/spinifex/handlers/ec2/eip/service_impl.go b/spinifex/handlers/ec2/eip/service_impl.go index bb72e1a5a..3464680cd 100644 --- a/spinifex/handlers/ec2/eip/service_impl.go +++ b/spinifex/handlers/ec2/eip/service_impl.go @@ -73,7 +73,7 @@ func (s *EIPServiceImpl) AllocateAddress(input *ec2.AllocateAddressInput, accoun if input.PublicIpv4Pool != nil && *input.PublicIpv4Pool != "" { // Allocate from a specific named pool. poolName = *input.PublicIpv4Pool - publicIP, err = s.externalIPAM.AllocateFromPool(poolName, "elastic_ip", "", "") + publicIP, err = s.externalIPAM.AllocateFromPool(poolName, "elastic_ip", allocID, "", "") if err != nil { slog.Error("AllocateAddress: IPAM pool allocation failed", "pool", poolName, "err", err) return nil, errors.New(awserrors.ErrorInsufficientAddressCapacity) @@ -82,7 +82,7 @@ func (s *EIPServiceImpl) AllocateAddress(input *ec2.AllocateAddressInput, accoun // Allocate from the best pool matching region/AZ (empty strings = global fallback). region := "" az := "" - publicIP, poolName, err = s.externalIPAM.AllocateIP(region, az, "elastic_ip", "", "") + publicIP, poolName, err = s.externalIPAM.AllocateIP(region, az, "elastic_ip", allocID, "", "") if err != nil { slog.Error("AllocateAddress: IPAM allocation failed", "err", err) return nil, errors.New(awserrors.ErrorInsufficientAddressCapacity) diff --git a/spinifex/handlers/ec2/vpc/external_ipam.go b/spinifex/handlers/ec2/vpc/external_ipam.go index 195041803..835d88f5e 100644 --- a/spinifex/handlers/ec2/vpc/external_ipam.go +++ b/spinifex/handlers/ec2/vpc/external_ipam.go @@ -156,12 +156,13 @@ func (m *ExternalIPAM) initPool(pool ExternalPoolConfig) error { // AllocateIP allocates the next available external IP from the best pool // matching the given region/AZ. Returns the allocated IP and pool name. -func (m *ExternalIPAM) AllocateIP(region, az, allocType, eniID, instanceID string) (string, string, error) { +// allocID is the EIP allocation ID (for elastic IPs); pass "" for other types. +func (m *ExternalIPAM) AllocateIP(region, az, allocType, allocID, eniID, instanceID string) (string, string, error) { pool := m.findPool(region, az) if pool == nil { return "", "", fmt.Errorf("InsufficientAddressCapacity: no external pool available for region=%q az=%q", region, az) } - ip, err := m.allocateFromPool(pool.Name, allocType, eniID, instanceID) + ip, err := m.allocateFromPool(pool.Name, allocType, allocID, eniID, instanceID) if err != nil { return "", "", err } @@ -169,13 +170,24 @@ func (m *ExternalIPAM) AllocateIP(region, az, allocType, eniID, instanceID strin } // AllocateFromPool allocates an IP from a specific named pool. -func (m *ExternalIPAM) AllocateFromPool(poolName, allocType, eniID, instanceID string) (string, error) { - return m.allocateFromPool(poolName, allocType, eniID, instanceID) +func (m *ExternalIPAM) AllocateFromPool(poolName, allocType, allocID, eniID, instanceID string) (string, error) { + return m.allocateFromPool(poolName, allocType, allocID, eniID, instanceID) } -func (m *ExternalIPAM) allocateFromPool(poolName, allocType, eniID, instanceID string) (string, error) { +func (m *ExternalIPAM) allocateFromPool(poolName, allocType, allocID, eniID, instanceID string) (string, error) { pool := m.findPoolByName(poolName) + // DHCP client-id: prefer allocID (EIPs), then eniID (ENIs), then instanceID. + // At least one must be non-empty for DHCP pools — the upstream DHCP server + // uses this to keep per-client leases distinct. + clientID := allocID + if clientID == "" { + clientID = eniID + } + if clientID == "" { + clientID = instanceID + } + for attempt := range 5 { record, revision, err := m.getRecord(poolName) if err != nil { @@ -184,12 +196,6 @@ func (m *ExternalIPAM) allocateFromPool(poolName, allocType, eniID, instanceID s var ip string if pool != nil && pool.IsDHCP() { - // DHCP source: obtain a lease from the router's DHCP server. - // Use ENI ID as the client identifier so each VM gets a unique lease. - clientID := eniID - if clientID == "" { - clientID = instanceID - } ip, err = ObtainDHCPLease(pool.WanBridge, clientID) if err != nil { return "", fmt.Errorf("DHCP lease for %s: %w", clientID, err) @@ -203,9 +209,10 @@ func (m *ExternalIPAM) allocateFromPool(poolName, allocType, eniID, instanceID s } record.Allocated[ip] = ExternalIPAllocation{ - Type: allocType, - ENIId: eniID, - InstanceId: instanceID, + Type: allocType, + AllocationID: allocID, + ENIId: eniID, + InstanceId: instanceID, } data, err := json.Marshal(record) @@ -216,7 +223,7 @@ func (m *ExternalIPAM) allocateFromPool(poolName, allocType, eniID, instanceID s if _, err := m.kv.Update(poolName, data, revision); err != nil { // CAS conflict — if we obtained a DHCP lease, release it before retrying if pool != nil && pool.IsDHCP() { - _ = ReleaseDHCPLease(pool.WanBridge, eniID) + _ = ReleaseDHCPLease(pool.WanBridge, clientID) } slog.Debug("external IPAM CAS conflict, retrying", "pool", poolName, "attempt", attempt) continue diff --git a/spinifex/handlers/ec2/vpc/external_ipam_dhcp.go b/spinifex/handlers/ec2/vpc/external_ipam_dhcp.go index bf3ff9238..b46846a18 100644 --- a/spinifex/handlers/ec2/vpc/external_ipam_dhcp.go +++ b/spinifex/handlers/ec2/vpc/external_ipam_dhcp.go @@ -5,10 +5,32 @@ import ( "log/slog" "os/exec" "strings" + "sync" ) const dhcpcdBin = "/usr/sbin/dhcpcd" +// bridgeMu serialises dhcpcd invocations per bridge. Concurrent invocations on +// the same bridge race: the second one sees the first still running and is +// treated by dhcpcd as a control command rather than a fresh DISCOVER, so we +// scrape stdout and find no lease. Serialising per bridge costs us nothing +// (DHCP is inherently slow) and eliminates the race. +var ( + bridgeMuMap = map[string]*sync.Mutex{} + bridgeMuGuard sync.Mutex +) + +func bridgeLock(bridge string) *sync.Mutex { + bridgeMuGuard.Lock() + defer bridgeMuGuard.Unlock() + mu, ok := bridgeMuMap[bridge] + if !ok { + mu = &sync.Mutex{} + bridgeMuMap[bridge] = mu + } + return mu +} + // ObtainDHCPLease requests a DHCP lease from the router on the given OVS bridge // using a unique client ID. Returns the leased IP. The lease is obtained with // --noconfigure so the IP is NOT added to the bridge interface — OVN handles @@ -21,6 +43,10 @@ func ObtainDHCPLease(bridge, clientID string) (string, error) { return "", fmt.Errorf("DHCP lease: client ID is required") } + mu := bridgeLock(bridge) + mu.Lock() + defer mu.Unlock() + // Run dhcpcd with: // --noconfigure = don't add IP to interface (OVN handles traffic) // -1 = exit after obtaining a lease (don't daemonize) @@ -61,6 +87,10 @@ func ReleaseDHCPLease(bridge, clientID string) error { return nil } + mu := bridgeLock(bridge) + mu.Lock() + defer mu.Unlock() + cmd := exec.Command("sudo", dhcpcdBin, "--release", "-4", diff --git a/spinifex/handlers/ec2/vpc/external_ipam_test.go b/spinifex/handlers/ec2/vpc/external_ipam_test.go index fc01a9b7e..214ac84e7 100644 --- a/spinifex/handlers/ec2/vpc/external_ipam_test.go +++ b/spinifex/handlers/ec2/vpc/external_ipam_test.go @@ -33,16 +33,16 @@ func TestExternalIPAM_AllocateSequential(t *testing.T) { ipam := setupTestExternalIPAM(t, []ExternalPoolConfig{pool}) // .150 is reserved for gateway, so first allocable is .151 - ip1, poolName, err := ipam.AllocateIP("", "", "auto_assign", "eni-1", "i-1") + ip1, poolName, err := ipam.AllocateIP("", "", "auto_assign", "", "eni-1", "i-1") require.NoError(t, err) assert.Equal(t, "192.168.1.151", ip1) assert.Equal(t, "wan", poolName) - ip2, _, err := ipam.AllocateIP("", "", "auto_assign", "eni-2", "i-2") + ip2, _, err := ipam.AllocateIP("", "", "auto_assign", "", "eni-2", "i-2") require.NoError(t, err) assert.Equal(t, "192.168.1.152", ip2) - ip3, _, err := ipam.AllocateIP("", "", "auto_assign", "eni-3", "i-3") + ip3, _, err := ipam.AllocateIP("", "", "auto_assign", "", "eni-3", "i-3") require.NoError(t, err) assert.Equal(t, "192.168.1.153", ip3) } @@ -79,7 +79,7 @@ func TestExternalIPAM_ExplicitGatewayIP(t *testing.T) { assert.False(t, ok) // First allocable is .150 since .155 is the gateway - ip1, _, err := ipam.AllocateIP("", "", "auto_assign", "eni-1", "i-1") + ip1, _, err := ipam.AllocateIP("", "", "auto_assign", "", "eni-1", "i-1") require.NoError(t, err) assert.Equal(t, "192.168.1.150", ip1) } @@ -88,11 +88,11 @@ func TestExternalIPAM_Release(t *testing.T) { pool := testPool() ipam := setupTestExternalIPAM(t, []ExternalPoolConfig{pool}) - ip1, _, err := ipam.AllocateIP("", "", "auto_assign", "eni-1", "i-1") + ip1, _, err := ipam.AllocateIP("", "", "auto_assign", "", "eni-1", "i-1") require.NoError(t, err) assert.Equal(t, "192.168.1.151", ip1) - ip2, _, err := ipam.AllocateIP("", "", "auto_assign", "eni-2", "i-2") + ip2, _, err := ipam.AllocateIP("", "", "auto_assign", "", "eni-2", "i-2") require.NoError(t, err) assert.Equal(t, "192.168.1.152", ip2) @@ -101,7 +101,7 @@ func TestExternalIPAM_Release(t *testing.T) { require.NoError(t, err) // Next allocation reuses released IP - ip3, _, err := ipam.AllocateIP("", "", "auto_assign", "eni-3", "i-3") + ip3, _, err := ipam.AllocateIP("", "", "auto_assign", "", "eni-3", "i-3") require.NoError(t, err) assert.Equal(t, "192.168.1.151", ip3) } @@ -117,16 +117,16 @@ func TestExternalIPAM_Exhaustion(t *testing.T) { ipam := setupTestExternalIPAM(t, []ExternalPoolConfig{pool}) // .1 reserved for gateway, .2 and .3 allocable - ip1, _, err := ipam.AllocateIP("", "", "auto_assign", "eni-1", "i-1") + ip1, _, err := ipam.AllocateIP("", "", "auto_assign", "", "eni-1", "i-1") require.NoError(t, err) assert.Equal(t, "10.0.0.2", ip1) - ip2, _, err := ipam.AllocateIP("", "", "auto_assign", "eni-2", "i-2") + ip2, _, err := ipam.AllocateIP("", "", "auto_assign", "", "eni-2", "i-2") require.NoError(t, err) assert.Equal(t, "10.0.0.3", ip2) // Pool exhausted - _, _, err = ipam.AllocateIP("", "", "auto_assign", "eni-3", "i-3") + _, _, err = ipam.AllocateIP("", "", "auto_assign", "", "eni-3", "i-3") assert.ErrorContains(t, err, "InsufficientAddressCapacity") } @@ -143,7 +143,7 @@ func TestExternalIPAM_CASConflict(t *testing.T) { wg.Add(1) go func(idx int) { defer wg.Done() - ip, _, err := ipam.AllocateIP("", "", "auto_assign", "eni-"+itoa(idx), "i-"+itoa(idx)) + ip, _, err := ipam.AllocateIP("", "", "auto_assign", "", "eni-"+itoa(idx), "i-"+itoa(idx)) results[idx] = ip errs[idx] = err }(i) @@ -187,13 +187,13 @@ func TestExternalIPAM_MultiPool(t *testing.T) { ipam := setupTestExternalIPAM(t, pools) // Allocate from US pool - ip1, poolName1, err := ipam.AllocateIP("us-east-1", "us-east-1a", "auto_assign", "eni-1", "i-1") + ip1, poolName1, err := ipam.AllocateIP("us-east-1", "us-east-1a", "auto_assign", "", "eni-1", "i-1") require.NoError(t, err) assert.Equal(t, "203.0.113.3", ip1) // .2 reserved for gateway assert.Equal(t, "us-east", poolName1) // Allocate from EU pool - ip2, poolName2, err := ipam.AllocateIP("eu-west-1", "eu-west-1a", "auto_assign", "eni-2", "i-2") + ip2, poolName2, err := ipam.AllocateIP("eu-west-1", "eu-west-1a", "auto_assign", "", "eni-2", "i-2") require.NoError(t, err) assert.Equal(t, "198.51.100.3", ip2) assert.Equal(t, "eu-west", poolName2) @@ -229,19 +229,19 @@ func TestExternalIPAM_PoolFallback(t *testing.T) { ipam := setupTestExternalIPAM(t, pools) // AZ match: us-east-1a → az-pool - ip1, pool1, err := ipam.AllocateIP("us-east-1", "us-east-1a", "auto_assign", "eni-1", "i-1") + ip1, pool1, err := ipam.AllocateIP("us-east-1", "us-east-1a", "auto_assign", "", "eni-1", "i-1") require.NoError(t, err) assert.Equal(t, "az-pool", pool1) assert.Equal(t, "10.0.0.2", ip1) // .1 reserved for gw // Region match (different AZ): us-east-1b → region-pool - ip2, pool2, err := ipam.AllocateIP("us-east-1", "us-east-1b", "auto_assign", "eni-2", "i-2") + ip2, pool2, err := ipam.AllocateIP("us-east-1", "us-east-1b", "auto_assign", "", "eni-2", "i-2") require.NoError(t, err) assert.Equal(t, "region-pool", pool2) assert.Equal(t, "10.0.1.2", ip2) // No match: eu-west-1 → global-pool - ip3, pool3, err := ipam.AllocateIP("eu-west-1", "eu-west-1a", "auto_assign", "eni-3", "i-3") + ip3, pool3, err := ipam.AllocateIP("eu-west-1", "eu-west-1a", "auto_assign", "", "eni-3", "i-3") require.NoError(t, err) assert.Equal(t, "global-pool", pool3) assert.Equal(t, "10.0.2.2", ip3) @@ -267,7 +267,7 @@ func TestExternalIPAM_SpecificPool(t *testing.T) { ipam := setupTestExternalIPAM(t, pools) // Allocate specifically from pool-b - ip, err := ipam.AllocateFromPool("pool-b", "elastic_ip", "", "") + ip, err := ipam.AllocateFromPool("pool-b", "elastic_ip", "eipalloc-test-b", "", "") require.NoError(t, err) assert.Equal(t, "10.0.1.2", ip) // .1 reserved for gw } @@ -341,7 +341,7 @@ func TestExternalIPAM_InitFromConfig(t *testing.T) { require.NoError(t, err) // Allocate an IP - ip, _, err := ipam1.AllocateIP("", "", "auto_assign", "eni-1", "i-1") + ip, _, err := ipam1.AllocateIP("", "", "auto_assign", "", "eni-1", "i-1") require.NoError(t, err) assert.Equal(t, "192.168.1.151", ip) @@ -376,7 +376,7 @@ func TestExternalIPAM_NoPoolAvailable(t *testing.T) { ipam := setupTestExternalIPAM(t, []ExternalPoolConfig{pool}) // No pool matches eu-west - _, _, err := ipam.AllocateIP("eu-west-1", "eu-west-1a", "auto_assign", "eni-1", "i-1") + _, _, err := ipam.AllocateIP("eu-west-1", "eu-west-1a", "auto_assign", "", "eni-1", "i-1") assert.ErrorContains(t, err, "InsufficientAddressCapacity") } @@ -392,7 +392,7 @@ func TestExternalIPAM_FindPoolByName_NotFound(t *testing.T) { // AllocateFromPool with a non-existent pool name: findPoolByName returns nil, // so pool.IsDHCP() is skipped and static allocation is used. // The pool "nonexistent" has no KV record, so getRecord fails. - _, err := ipam2.AllocateFromPool("nonexistent", "auto_assign", "eni-1", "i-1") + _, err := ipam2.AllocateFromPool("nonexistent", "auto_assign", "", "eni-1", "i-1") assert.Error(t, err) } diff --git a/spinifex/handlers/elbv2/service_impl.go b/spinifex/handlers/elbv2/service_impl.go index ab1fea673..9cc1f5d8a 100644 --- a/spinifex/handlers/elbv2/service_impl.go +++ b/spinifex/handlers/elbv2/service_impl.go @@ -18,17 +18,18 @@ import ( "github.com/mulgadc/spinifex/spinifex/awserrors" "github.com/mulgadc/spinifex/spinifex/config" handlers_ec2_vpc "github.com/mulgadc/spinifex/spinifex/handlers/ec2/vpc" + "github.com/mulgadc/spinifex/spinifex/tags" "github.com/mulgadc/spinifex/spinifex/utils" "github.com/nats-io/nats.go" ) const ( - // elbv2ManagedByTag is the tag key used to mark ENIs as system-managed by ELBv2. - elbv2ManagedByTag = "spinifex:managed-by" - // elbv2ManagedByValue is the tag value for ELBv2-managed ENIs. - elbv2ManagedByValue = "elbv2" + // elbv2ManagedByTag is an alias for the shared tag key (kept for readability). + elbv2ManagedByTag = tags.ManagedByKey + // elbv2ManagedByValue is the tag value for ELBv2-managed resources. + elbv2ManagedByValue = tags.ManagedByELBv2 // elbv2LBTag is the tag key storing the parent LB ARN on managed ENIs. - elbv2LBTag = "spinifex:lb-arn" + elbv2LBTag = tags.LBARNKey // heartbeatPersistInterval controls how often a no-op heartbeat (no state // change) writes the full LoadBalancerRecord back to KV. State transitions diff --git a/spinifex/handlers/elbv2/service_nats.go b/spinifex/handlers/elbv2/service_nats.go index 020488698..edf9ad100 100644 --- a/spinifex/handlers/elbv2/service_nats.go +++ b/spinifex/handlers/elbv2/service_nats.go @@ -8,7 +8,16 @@ import ( "github.com/nats-io/nats.go" ) -const defaultTimeout = 30 * time.Second +const ( + defaultTimeout = 30 * time.Second + // longRunningTimeout covers operations that synchronously launch or tear + // down ALB frontend VMs (DHCP lease + QEMU boot / QMP shutdown + QEMU exit). + // A healthy launch is ~45s on a warm box; shutdown can take tens of seconds + // if QMP is slow. Until CreateLoadBalancer is made fully async, we keep a + // wide margin so Terraform's AWS provider doesn't retry mid-flight and then + // hit DuplicateLoadBalancerName on the second attempt. + longRunningTimeout = 5 * time.Minute +) // NATSELBv2Service handles ELBv2 operations via NATS messaging. type NATSELBv2Service struct { @@ -21,7 +30,7 @@ func NewNATSELBv2Service(conn *nats.Conn) ELBv2Service { } func (s *NATSELBv2Service) CreateLoadBalancer(input *elbv2.CreateLoadBalancerInput, accountID string) (*elbv2.CreateLoadBalancerOutput, error) { - return utils.NATSRequest[elbv2.CreateLoadBalancerOutput](s.natsConn, "elbv2.CreateLoadBalancer", input, defaultTimeout, accountID) + return utils.NATSRequest[elbv2.CreateLoadBalancerOutput](s.natsConn, "elbv2.CreateLoadBalancer", input, longRunningTimeout, accountID) } func (s *NATSELBv2Service) DeleteLoadBalancer(input *elbv2.DeleteLoadBalancerInput, accountID string) (*elbv2.DeleteLoadBalancerOutput, error) { diff --git a/spinifex/services/spinifexui/frontend/dist/assets/DescribeInstancesCommand.js b/spinifex/services/spinifexui/frontend/dist/assets/DescribeInstancesCommand.js index 046104e2f..b2b04e1dd 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/DescribeInstancesCommand.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/DescribeInstancesCommand.js @@ -1 +1 @@ -import{It as e,Rt as t,pt as n,zt as r}from"./awsClient.js";var i=class extends t.classBuilder().ep(e).m(function(e,t,n,i){return[r(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeInstances`,{}).n(`EC2Client`,`DescribeInstancesCommand`).sc(n).build(){};export{i as t}; \ No newline at end of file +import{Mt as e,in as t,rn as n,tn as r}from"./awsClient.js";var i=class extends n.classBuilder().ep(r).m(function(e,n,r,i){return[t(r,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeInstances`,{}).n(`EC2Client`,`DescribeInstancesCommand`).sc(e).build(){};export{i as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/DialogTitle.js b/spinifex/services/spinifexui/frontend/dist/assets/DialogTitle.js index 6179eb62b..ff0a7d832 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/DialogTitle.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/DialogTitle.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{l as r,m as i,n as a,p as o}from"./dist.js";import{_ as s,i as c,o as l,r as u}from"./button.js";import{H as d,V as f,_ as p,r as m,s as h,t as g,v as _,y as v}from"./createBaseUIEventDetails.js";import{a as y,n as b,t as x}from"./useTransitionStatus.js";import{D as S,_ as C,a as w,b as T,c as E,g as D,h as O,i as k,k as A,l as j,o as M,r as N,s as P,t as F,u as I,v as L}from"./useOpenInteractionType.js";var R=e(n()),z=R.createContext(void 0);function B(e){let t=R.useContext(z);if(e===!1&&t===void 0)throw Error(i(27));return t}var ee={...A,...y},te=R.forwardRef(function(e,t){let{render:n,className:r,forceRender:i=!1,...o}=e,{store:s}=B(),c=s.useState(`open`),l=s.useState(`nested`),u=s.useState(`mounted`);return a(`div`,e,{state:{open:c,transitionStatus:s.useState(`transitionStatus`)},ref:[s.context.backdropRef,t],stateAttributesMapping:ee,props:[{role:`presentation`,hidden:!u,style:{userSelect:`none`,WebkitUserSelect:`none`}},o],enabled:i||!l})}),ne=R.forwardRef(function(e,t){let{render:n,className:r,disabled:i=!1,nativeButton:o=!0,...s}=e,{store:c}=B(),l=c.useState(`open`);function d(e){l&&c.setOpen(!1,g(m,e.nativeEvent))}let{getButtonProps:f,buttonRef:p}=u({disabled:i,native:o});return a(`button`,e,{state:{disabled:i},ref:[t,p],props:[{onClick:d},s,f]})}),V=R.forwardRef(function(e,t){let{render:n,className:r,id:i,...o}=e,{store:s}=B(),c=f(i);return s.useSyncedValueWithCleanup(`descriptionElementId`,c),a(`p`,e,{ref:t,props:[{id:c},o]})});function H(e,t){let n=R.useRef(null),r=R.useRef(null);return R.useCallback(i=>{if(e!==void 0){if(n.current!==null){let e=n.current,i=r.current,a=t.context.triggerElements.getById(e);i&&a===i&&t.context.triggerElements.delete(e),n.current=null,r.current=null}i!==null&&(n.current=e,r.current=i,t.context.triggerElements.add(e,i))}},[t,e])}function U(e,t,n,r){let i=n.useState(`isMountedByTrigger`,e),a=H(e,n),o=l(t=>{if(a(t),!t||!n.select(`open`))return;let i=n.select(`activeTriggerId`);if(i===e){n.update({activeTriggerElement:t,...r});return}i??n.update({activeTriggerId:e,activeTriggerElement:t,...r})});return c(()=>{i&&n.update({activeTriggerElement:t.current,...r})},[i,n,t,...Object.values(r)]),{registerTrigger:o,isMountedByThisTrigger:i}}function W(e){let t=e.useState(`open`);c(()=>{if(t&&!e.select(`activeTriggerId`)&&e.context.triggerElements.size===1){let t=e.context.triggerElements.entries().next();if(!t.done){let[n,r]=t.value;e.update({activeTriggerId:n,activeTriggerElement:r})}}},[t,e])}function G(e,t,n){let{mounted:r,setMounted:i,transitionStatus:a}=x(e);t.useSyncedValues({mounted:r,transitionStatus:a});let o=l(()=>{i(!1),t.update({activeTriggerId:null,activeTriggerElement:null,mounted:!1}),n?.(),t.context.onOpenChangeComplete?.(!1)});return b({enabled:!t.useState(`preventUnmountingOnClose`),open:e,ref:t.context.popupRef,onComplete(){e||o()}}),{forceUnmount:o,transitionStatus:a}}function K(){return new j({open:!1,floatingElement:null,referenceElement:null,triggerElements:new E,floatingId:``,nested:!1,noEmit:!1,onOpenChange:void 0})}function q(){return{open:!1,openProp:void 0,mounted:!1,transitionStatus:`idle`,floatingRootContext:K(),preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,triggerIdProp:void 0,popupElement:null,positionerElement:null,activeTriggerProps:r,inactiveTriggerProps:r,popupProps:r}}var J=O(e=>e.triggerIdProp??e.activeTriggerId),Y={open:O(e=>e.openProp??e.open),mounted:O(e=>e.mounted),transitionStatus:O(e=>e.transitionStatus),floatingRootContext:O(e=>e.floatingRootContext),preventUnmountingOnClose:O(e=>e.preventUnmountingOnClose),payload:O(e=>e.payload),activeTriggerId:J,activeTriggerElement:O(e=>e.mounted?e.activeTriggerElement:null),isTriggerActive:O((e,t)=>t!==void 0&&J(e)===t),isOpenedByTrigger:O((e,t)=>t!==void 0&&J(e)===t&&e.open),isMountedByTrigger:O((e,t)=>t!==void 0&&J(e)===t&&e.mounted),triggerProps:O((e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps),popupProps:O(e=>e.popupProps),popupElement:O(e=>e.popupElement),positionerElement:O(e=>e.positionerElement)};function X(e){let{popupStore:t,noEmit:n=!1,treatPopupAsFloatingElement:r=!1,onOpenChange:i}=e,a=d(),l=L()!=null,u=t.useState(`open`),f=t.useState(`activeTriggerElement`),p=t.useState(r?`popupElement`:`positionerElement`),m=t.context.triggerElements,h=o(()=>new j({open:u,referenceElement:f,floatingElement:p,triggerElements:m,onOpenChange:i,floatingId:a,nested:l,noEmit:n})).current;return c(()=>{let e={open:u,floatingId:a,referenceElement:f,floatingElement:p};s(f)&&(e.domReferenceElement=f),h.state.positionReference===h.state.referenceElement&&(e.positionReference=f),h.update(e)},[u,a,f,p,h]),h.context.onOpenChange=i,h.context.nested=l,h.context.noEmit=n,h}var re=new Map([[`select`,`listbox`],[`combobox`,`listbox`],[`label`,!1]]);function ie(e,t={}){let n=`rootStore`in e?e.rootStore:e,i=n.useState(`open`),a=n.useState(`floatingId`),o=n.useState(`domReferenceElement`),s=n.useState(`floatingElement`),{role:c=`dialog`}=t,l=d(),u=o?.id||l,f=R.useMemo(()=>_(s)?.id||a,[s,a]),p=re.get(c)??c,m=L()!=null,h=R.useMemo(()=>p===`tooltip`||c===`label`?r:{"aria-haspopup":p===`alertdialog`?`dialog`:p,"aria-expanded":`false`,...p===`listbox`&&{role:`combobox`},...p===`menu`&&m&&{role:`menuitem`},...c===`select`&&{"aria-autocomplete":`none`},...c===`combobox`&&{"aria-autocomplete":`list`}},[p,m,c]),g=R.useMemo(()=>p===`tooltip`||c===`label`?{[`aria-${c===`label`?`labelledby`:`describedby`}`]:i?f:void 0}:{...h,"aria-expanded":i?`true`:`false`,"aria-controls":i?f:void 0,...p===`menu`&&{id:u}},[p,f,i,u,c,h]),v=R.useMemo(()=>{let e={id:f,...p&&{role:p}};return p===`tooltip`||c===`label`?e:{...e,...p===`menu`&&{"aria-labelledby":u}}},[p,f,u,c]),y=R.useCallback(({active:e,selected:t})=>{let n={role:`option`,...e&&{id:`${f}-fui-option`}};switch(c){case`select`:case`combobox`:return{...n,"aria-selected":t};default:}return{}},[f,c]);return R.useMemo(()=>({reference:g,floating:v,item:y,trigger:h}),[g,v,h,y])}var ae=function(e){return e.nestedDialogs=`--nested-dialogs`,e}({}),oe=function(e){return e[e.open=S.open]=`open`,e[e.closed=S.closed]=`closed`,e[e.startingStyle=S.startingStyle]=`startingStyle`,e[e.endingStyle=S.endingStyle]=`endingStyle`,e.nested=`data-nested`,e.nestedDialogOpen=`data-nested-dialog-open`,e}({}),Z=R.createContext(void 0);function se(){let e=R.useContext(Z);if(e===void 0)throw Error(i(26));return e}var Q=t(),ce={...A,...y,nestedDialogOpen(e){return e?{[oe.nestedDialogOpen]:``}:null}},le=R.forwardRef(function(e,t){let{className:n,finalFocus:r,initialFocus:i,render:o,...s}=e,{store:c}=B(),l=c.useState(`descriptionElementId`),u=c.useState(`disablePointerDismissal`),d=c.useState(`floatingRootContext`),f=c.useState(`popupProps`),p=c.useState(`modal`),m=c.useState(`mounted`),h=c.useState(`nested`),g=c.useState(`nestedOpenDialogCount`),_=c.useState(`open`),v=c.useState(`openMethod`),y=c.useState(`titleElementId`),x=c.useState(`transitionStatus`),S=c.useState(`role`);se(),b({open:_,ref:c.context.popupRef,onComplete(){_&&c.context.onOpenChangeComplete?.(!0)}});function w(e){return e===`touch`?c.context.popupRef.current:!0}let T=i===void 0?w:i,E=a(`div`,e,{state:{open:_,nested:h,transitionStatus:x,nestedDialogOpen:g>0},props:[f,{"aria-labelledby":y??void 0,"aria-describedby":l??void 0,role:S,tabIndex:-1,hidden:!m,onKeyDown(e){M.has(e.key)&&e.stopPropagation()},style:{[ae.nestedDialogs]:g}},s],ref:[t,c.context.popupRef,c.useStateSetter(`popupElement`)],stateAttributesMapping:ce});return(0,Q.jsx)(C,{context:d,openInteractionType:v,disabled:!m,closeOnFocusOut:!u,initialFocus:T,returnFocus:r,modal:p!==!1,restoreFocus:`popup`,children:E})}),$=R.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e,{store:i}=B(),a=i.useState(`mounted`),o=i.useState(`modal`),s=i.useState(`open`);return a||n?(0,Q.jsx)(Z.Provider,{value:n,children:(0,Q.jsxs)(T,{ref:t,...r,children:[a&&o===!0&&(0,Q.jsx)(k,{ref:i.context.internalBackdropRef,inert:w(!s)}),e.children]})}):null});function ue(e){let{store:t,parentContext:n,actionsRef:r}=e,i=t.useState(`open`),a=t.useState(`disablePointerDismissal`),o=t.useState(`modal`),s=t.useState(`popupElement`),{openMethod:c,triggerProps:u}=F(i);W(t);let{forceUnmount:d}=G(i,t),f=l(e=>{let n=g(e);return n.preventUnmountOnClose=()=>{t.set(`preventUnmountingOnClose`,!0)},n}),m=R.useCallback(()=>{t.setOpen(!1,f(h))},[t,f]);R.useImperativeHandle(r,()=>({unmount:d,close:m}),[d,m]);let _=X({popupStore:t,onOpenChange:t.setOpen,treatPopupAsFloatingElement:!0,noEmit:!0}),[y,b]=R.useState(0),x=y===0,S=ie(_),C=D(_,{outsidePressEvent(){return t.context.internalBackdropRef.current||t.context.backdropRef.current?`intentional`:{mouse:o===`trap-focus`?`sloppy`:`intentional`,touch:`sloppy`}},outsidePress(e){if(!t.context.outsidePressEnabledRef.current||`button`in e&&e.button!==0||`touches`in e&&e.touches.length!==1)return!1;let n=v(e);if(x&&!a){let e=n;return o&&(t.context.internalBackdropRef.current||t.context.backdropRef.current)?t.context.internalBackdropRef.current===e||t.context.backdropRef.current===e||p(e,s)&&!e?.hasAttribute(`data-base-ui-portal`):!0}return!1},escapeKey:x});N(i&&o===!0,s);let{getReferenceProps:w,getFloatingProps:T,getTriggerProps:E}=P([S,C]);t.useContextCallback(`onNestedDialogOpen`,e=>{b(e+1)}),t.useContextCallback(`onNestedDialogClose`,()=>{b(0)}),R.useEffect(()=>(n?.onNestedDialogOpen&&i&&n.onNestedDialogOpen(y),n?.onNestedDialogClose&&!i&&n.onNestedDialogClose(),()=>{n?.onNestedDialogClose&&i&&n.onNestedDialogClose()}),[i,n,y]);let O=R.useMemo(()=>w(u),[w,u]),k=R.useMemo(()=>E(u),[E,u]),A=R.useMemo(()=>T(),[T]);t.useSyncedValues({openMethod:c,activeTriggerProps:O,inactiveTriggerProps:k,popupProps:A,floatingRootContext:_,nestedOpenDialogCount:y})}var de={...Y,modal:O(e=>e.modal),nested:O(e=>e.nested),nestedOpenDialogCount:O(e=>e.nestedOpenDialogCount),disablePointerDismissal:O(e=>e.disablePointerDismissal),openMethod:O(e=>e.openMethod),descriptionElementId:O(e=>e.descriptionElementId),titleElementId:O(e=>e.titleElementId),viewportElement:O(e=>e.viewportElement),role:O(e=>e.role)},fe=class extends I{constructor(e){super(pe(e),{popupRef:R.createRef(),backdropRef:R.createRef(),internalBackdropRef:R.createRef(),outsidePressEnabledRef:{current:!0},triggerElements:new E,onOpenChange:void 0,onOpenChangeComplete:void 0},de)}setOpen=(e,t)=>{if(t.preventUnmountOnClose=()=>{this.set(`preventUnmountingOnClose`,!0)},!e&&t.trigger==null&&this.state.activeTriggerId!=null&&(t.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(e,t),t.isCanceled)return;let n={open:e,nativeEvent:t.event,reason:t.reason,nested:this.state.nested};this.state.floatingRootContext.context.events?.emit(`openchange`,n);let r={open:e},i=t.trigger?.id??null;(i||e)&&(r.activeTriggerId=i,r.activeTriggerElement=t.trigger??null),this.update(r)}};function pe(e={}){return{...q(),modal:!0,disablePointerDismissal:!1,popupElement:null,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,role:`dialog`,...e}}var me=R.forwardRef(function(e,t){let{render:n,className:r,id:i,...o}=e,{store:s}=B(),c=f(i);return s.useSyncedValueWithCleanup(`titleElementId`,c),a(`h2`,e,{ref:t,props:[{id:c},o]})});export{le as a,Y as c,U as d,V as f,B as g,z as h,$ as i,W as l,te as m,fe as n,X as o,ne as p,ue as r,q as s,me as t,G as u}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{l as r,m as i,n as a,p as o}from"./dist.js";import{c as s,o as c,r as l,y as u}from"./button.js";import{H as d,V as f,_ as p,r as m,s as h,t as g,v as _,y as v}from"./createBaseUIEventDetails.js";import{a as y,n as b,t as x}from"./useTransitionStatus.js";import{A as S,C,M as w,P as T,S as E,U as D,V as O,a as k,f as A,i as j,j as M,k as N,r as P,t as F,w as I,x as L}from"./useOpenInteractionType.js";var R=e(n()),z=R.createContext(void 0);function B(e){let t=R.useContext(z);if(e===!1&&t===void 0)throw Error(i(27));return t}var ee={...D,...y},te=R.forwardRef(function(e,t){let{render:n,className:r,forceRender:i=!1,...o}=e,{store:s}=B(),c=s.useState(`open`),l=s.useState(`nested`),u=s.useState(`mounted`);return a(`div`,e,{state:{open:c,transitionStatus:s.useState(`transitionStatus`)},ref:[s.context.backdropRef,t],stateAttributesMapping:ee,props:[{role:`presentation`,hidden:!u,style:{userSelect:`none`,WebkitUserSelect:`none`}},o],enabled:i||!l})}),ne=R.forwardRef(function(e,t){let{render:n,className:r,disabled:i=!1,nativeButton:o=!0,...s}=e,{store:c}=B(),u=c.useState(`open`);function d(e){u&&c.setOpen(!1,g(m,e.nativeEvent))}let{getButtonProps:f,buttonRef:p}=l({disabled:i,native:o});return a(`button`,e,{state:{disabled:i},ref:[t,p],props:[{onClick:d},s,f]})}),V=R.forwardRef(function(e,t){let{render:n,className:r,id:i,...o}=e,{store:s}=B(),c=f(i);return s.useSyncedValueWithCleanup(`descriptionElementId`,c),a(`p`,e,{ref:t,props:[{id:c},o]})});function H(e,t){let n=R.useRef(null),r=R.useRef(null);return R.useCallback(i=>{if(e!==void 0){if(n.current!==null){let e=n.current,i=r.current,a=t.context.triggerElements.getById(e);i&&a===i&&t.context.triggerElements.delete(e),n.current=null,r.current=null}i!==null&&(n.current=e,r.current=i,t.context.triggerElements.add(e,i))}},[t,e])}function U(e,t,n,r){let i=n.useState(`isMountedByTrigger`,e),a=H(e,n),o=s(t=>{if(a(t),!t||!n.select(`open`))return;let i=n.select(`activeTriggerId`);if(i===e){n.update({activeTriggerElement:t,...r});return}i??n.update({activeTriggerId:e,activeTriggerElement:t,...r})});return c(()=>{i&&n.update({activeTriggerElement:t.current,...r})},[i,n,t,...Object.values(r)]),{registerTrigger:o,isMountedByThisTrigger:i}}function W(e){let t=e.useState(`open`);c(()=>{if(t&&!e.select(`activeTriggerId`)&&e.context.triggerElements.size===1){let t=e.context.triggerElements.entries().next();if(!t.done){let[n,r]=t.value;e.update({activeTriggerId:n,activeTriggerElement:r})}}},[t,e])}function G(e,t,n){let{mounted:r,setMounted:i,transitionStatus:a}=x(e);t.useSyncedValues({mounted:r,transitionStatus:a});let o=s(()=>{i(!1),t.update({activeTriggerId:null,activeTriggerElement:null,mounted:!1}),n?.(),t.context.onOpenChangeComplete?.(!1)});return b({enabled:!t.useState(`preventUnmountingOnClose`),open:e,ref:t.context.popupRef,onComplete(){e||o()}}),{forceUnmount:o,transitionStatus:a}}function K(){return new C({open:!1,floatingElement:null,referenceElement:null,triggerElements:new E,floatingId:``,nested:!1,noEmit:!1,onOpenChange:void 0})}function q(){return{open:!1,openProp:void 0,mounted:!1,transitionStatus:`idle`,floatingRootContext:K(),preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,triggerIdProp:void 0,popupElement:null,positionerElement:null,activeTriggerProps:r,inactiveTriggerProps:r,popupProps:r}}var J=N(e=>e.triggerIdProp??e.activeTriggerId),Y={open:N(e=>e.openProp??e.open),mounted:N(e=>e.mounted),transitionStatus:N(e=>e.transitionStatus),floatingRootContext:N(e=>e.floatingRootContext),preventUnmountingOnClose:N(e=>e.preventUnmountingOnClose),payload:N(e=>e.payload),activeTriggerId:J,activeTriggerElement:N(e=>e.mounted?e.activeTriggerElement:null),isTriggerActive:N((e,t)=>t!==void 0&&J(e)===t),isOpenedByTrigger:N((e,t)=>t!==void 0&&J(e)===t&&e.open),isMountedByTrigger:N((e,t)=>t!==void 0&&J(e)===t&&e.mounted),triggerProps:N((e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps),popupProps:N(e=>e.popupProps),popupElement:N(e=>e.popupElement),positionerElement:N(e=>e.positionerElement)};function X(e){let{popupStore:t,noEmit:n=!1,treatPopupAsFloatingElement:r=!1,onOpenChange:i}=e,a=d(),s=w()!=null,l=t.useState(`open`),f=t.useState(`activeTriggerElement`),p=t.useState(r?`popupElement`:`positionerElement`),m=t.context.triggerElements,h=o(()=>new C({open:l,referenceElement:f,floatingElement:p,triggerElements:m,onOpenChange:i,floatingId:a,nested:s,noEmit:n})).current;return c(()=>{let e={open:l,floatingId:a,referenceElement:f,floatingElement:p};u(f)&&(e.domReferenceElement=f),h.state.positionReference===h.state.referenceElement&&(e.positionReference=f),h.update(e)},[l,a,f,p,h]),h.context.onOpenChange=i,h.context.nested=s,h.context.noEmit=n,h}var re=new Map([[`select`,`listbox`],[`combobox`,`listbox`],[`label`,!1]]);function ie(e,t={}){let n=`rootStore`in e?e.rootStore:e,i=n.useState(`open`),a=n.useState(`floatingId`),o=n.useState(`domReferenceElement`),s=n.useState(`floatingElement`),{role:c=`dialog`}=t,l=d(),u=o?.id||l,f=R.useMemo(()=>_(s)?.id||a,[s,a]),p=re.get(c)??c,m=w()!=null,h=R.useMemo(()=>p===`tooltip`||c===`label`?r:{"aria-haspopup":p===`alertdialog`?`dialog`:p,"aria-expanded":`false`,...p===`listbox`&&{role:`combobox`},...p===`menu`&&m&&{role:`menuitem`},...c===`select`&&{"aria-autocomplete":`none`},...c===`combobox`&&{"aria-autocomplete":`list`}},[p,m,c]),g=R.useMemo(()=>p===`tooltip`||c===`label`?{[`aria-${c===`label`?`labelledby`:`describedby`}`]:i?f:void 0}:{...h,"aria-expanded":i?`true`:`false`,"aria-controls":i?f:void 0,...p===`menu`&&{id:u}},[p,f,i,u,c,h]),v=R.useMemo(()=>{let e={id:f,...p&&{role:p}};return p===`tooltip`||c===`label`?e:{...e,...p===`menu`&&{"aria-labelledby":u}}},[p,f,u,c]),y=R.useCallback(({active:e,selected:t})=>{let n={role:`option`,...e&&{id:`${f}-fui-option`}};switch(c){case`select`:case`combobox`:return{...n,"aria-selected":t};default:}return{}},[f,c]);return R.useMemo(()=>({reference:g,floating:v,item:y,trigger:h}),[g,v,h,y])}var ae=function(e){return e.nestedDialogs=`--nested-dialogs`,e}({}),oe=function(e){return e[e.open=O.open]=`open`,e[e.closed=O.closed]=`closed`,e[e.startingStyle=O.startingStyle]=`startingStyle`,e[e.endingStyle=O.endingStyle]=`endingStyle`,e.nested=`data-nested`,e.nestedDialogOpen=`data-nested-dialog-open`,e}({}),Z=R.createContext(void 0);function se(){let e=R.useContext(Z);if(e===void 0)throw Error(i(26));return e}var Q=t(),ce={...D,...y,nestedDialogOpen(e){return e?{[oe.nestedDialogOpen]:``}:null}},le=R.forwardRef(function(e,t){let{className:n,finalFocus:r,initialFocus:i,render:o,...s}=e,{store:c}=B(),l=c.useState(`descriptionElementId`),u=c.useState(`disablePointerDismissal`),d=c.useState(`floatingRootContext`),f=c.useState(`popupProps`),p=c.useState(`modal`),m=c.useState(`mounted`),h=c.useState(`nested`),g=c.useState(`nestedOpenDialogCount`),_=c.useState(`open`),v=c.useState(`openMethod`),y=c.useState(`titleElementId`),x=c.useState(`transitionStatus`),S=c.useState(`role`);se(),b({open:_,ref:c.context.popupRef,onComplete(){_&&c.context.onOpenChangeComplete?.(!0)}});function C(e){return e===`touch`?c.context.popupRef.current:!0}let w=i===void 0?C:i,T=a(`div`,e,{state:{open:_,nested:h,transitionStatus:x,nestedDialogOpen:g>0},props:[f,{"aria-labelledby":y??void 0,"aria-describedby":l??void 0,role:S,tabIndex:-1,hidden:!m,onKeyDown(e){A.has(e.key)&&e.stopPropagation()},style:{[ae.nestedDialogs]:g}},s],ref:[t,c.context.popupRef,c.useStateSetter(`popupElement`)],stateAttributesMapping:ce});return(0,Q.jsx)(M,{context:d,openInteractionType:v,disabled:!m,closeOnFocusOut:!u,initialFocus:w,returnFocus:r,modal:p!==!1,restoreFocus:`popup`,children:T})}),$=R.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e,{store:i}=B(),a=i.useState(`mounted`),o=i.useState(`modal`),s=i.useState(`open`);return a||n?(0,Q.jsx)(Z.Provider,{value:n,children:(0,Q.jsxs)(T,{ref:t,...r,children:[a&&o===!0&&(0,Q.jsx)(j,{ref:i.context.internalBackdropRef,inert:k(!s)}),e.children]})}):null});function ue(e){let{store:t,parentContext:n,actionsRef:r}=e,i=t.useState(`open`),a=t.useState(`disablePointerDismissal`),o=t.useState(`modal`),c=t.useState(`popupElement`),{openMethod:l,triggerProps:u}=F(i);W(t);let{forceUnmount:d}=G(i,t),f=s(e=>{let n=g(e);return n.preventUnmountOnClose=()=>{t.set(`preventUnmountingOnClose`,!0)},n}),m=R.useCallback(()=>{t.setOpen(!1,f(h))},[t,f]);R.useImperativeHandle(r,()=>({unmount:d,close:m}),[d,m]);let _=X({popupStore:t,onOpenChange:t.setOpen,treatPopupAsFloatingElement:!0,noEmit:!0}),[y,b]=R.useState(0),x=y===0,C=ie(_),w=S(_,{outsidePressEvent(){return t.context.internalBackdropRef.current||t.context.backdropRef.current?`intentional`:{mouse:o===`trap-focus`?`sloppy`:`intentional`,touch:`sloppy`}},outsidePress(e){if(!t.context.outsidePressEnabledRef.current||`button`in e&&e.button!==0||`touches`in e&&e.touches.length!==1)return!1;let n=v(e);if(x&&!a){let e=n;return o&&(t.context.internalBackdropRef.current||t.context.backdropRef.current)?t.context.internalBackdropRef.current===e||t.context.backdropRef.current===e||p(e,c)&&!e?.hasAttribute(`data-base-ui-portal`):!0}return!1},escapeKey:x});P(i&&o===!0,c);let{getReferenceProps:T,getFloatingProps:E,getTriggerProps:D}=L([C,w]);t.useContextCallback(`onNestedDialogOpen`,e=>{b(e+1)}),t.useContextCallback(`onNestedDialogClose`,()=>{b(0)}),R.useEffect(()=>(n?.onNestedDialogOpen&&i&&n.onNestedDialogOpen(y),n?.onNestedDialogClose&&!i&&n.onNestedDialogClose(),()=>{n?.onNestedDialogClose&&i&&n.onNestedDialogClose()}),[i,n,y]);let O=R.useMemo(()=>T(u),[T,u]),k=R.useMemo(()=>D(u),[D,u]),A=R.useMemo(()=>E(),[E]);t.useSyncedValues({openMethod:l,activeTriggerProps:O,inactiveTriggerProps:k,popupProps:A,floatingRootContext:_,nestedOpenDialogCount:y})}var de={...Y,modal:N(e=>e.modal),nested:N(e=>e.nested),nestedOpenDialogCount:N(e=>e.nestedOpenDialogCount),disablePointerDismissal:N(e=>e.disablePointerDismissal),openMethod:N(e=>e.openMethod),descriptionElementId:N(e=>e.descriptionElementId),titleElementId:N(e=>e.titleElementId),viewportElement:N(e=>e.viewportElement),role:N(e=>e.role)},fe=class extends I{constructor(e){super(pe(e),{popupRef:R.createRef(),backdropRef:R.createRef(),internalBackdropRef:R.createRef(),outsidePressEnabledRef:{current:!0},triggerElements:new E,onOpenChange:void 0,onOpenChangeComplete:void 0},de)}setOpen=(e,t)=>{if(t.preventUnmountOnClose=()=>{this.set(`preventUnmountingOnClose`,!0)},!e&&t.trigger==null&&this.state.activeTriggerId!=null&&(t.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(e,t),t.isCanceled)return;let n={open:e,nativeEvent:t.event,reason:t.reason,nested:this.state.nested};this.state.floatingRootContext.context.events?.emit(`openchange`,n);let r={open:e},i=t.trigger?.id??null;(i||e)&&(r.activeTriggerId=i,r.activeTriggerElement=t.trigger??null),this.update(r)}};function pe(e={}){return{...q(),modal:!0,disablePointerDismissal:!1,popupElement:null,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,role:`dialog`,...e}}var me=R.forwardRef(function(e,t){let{render:n,className:r,id:i,...o}=e,{store:s}=B(),c=f(i);return s.useSyncedValueWithCleanup(`titleElementId`,c),a(`h2`,e,{ref:t,props:[{id:c},o]})});export{le as a,Y as c,U as d,V as f,B as g,z as h,$ as i,W as l,te as m,fe as n,X as o,ne as p,ue as r,q as s,me as t,G as u}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/SignatureV4.js b/spinifex/services/spinifexui/frontend/dist/assets/SignatureV4.js index 74b1c1174..379369857 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/SignatureV4.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/SignatureV4.js @@ -34,17 +34,17 @@ import{t as e}from"./fromUtf8.browser.js";function t(e){var n,r,i=``;if(typeof e newResult[${o}] = ${n}.value; } - `)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=_t,s=!ot.jitless,c=s&&vt.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?Fr([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function Rr(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!Mt(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>U(e,r,L())))}),t)}var zr=I(`$ZodUnion`,(e,t)=>{G.init(e,t),R(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),R(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),R(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),R(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>dt(e.source)).join(`|`)})$`)}});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(i,a)=>{if(n)return r(i,a);let o=!1,s=[];for(let e of t.options){let t=e._zod.run({value:i.value,issues:[]},a);if(t instanceof Promise)s.push(t),o=!0;else{if(t.issues.length===0)return t;s.push(t)}}return o?Promise.all(s).then(t=>Rr(t,i,e,a)):Rr(s,i,e,a)}}),Br=I(`$ZodIntersection`,(e,t)=>{G.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>Hr(e,t,n)):Hr(e,i,a)}});function Vr(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(yt(e)&&yt(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=Vr(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;re.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),Mt(e))return e;let o=Vr(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var Ur=I(`$ZodEnum`,(e,t)=>{G.init(e,t);let n=st(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>xt.has(typeof e)).map(e=>typeof e==`string`?St(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),Wr=I(`$ZodTransform`,(e,t)=>{G.init(e,t),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new at(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new it;return n.value=i,n}});function Gr(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var Kr=I(`$ZodOptional`,(e,t)=>{G.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,R(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),R(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${dt(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>Gr(t,e.value)):Gr(r,e.value)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),qr=I(`$ZodExactOptional`,(e,t)=>{Kr.init(e,t),R(e._zod,`values`,()=>t.innerType._zod.values),R(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Jr=I(`$ZodNullable`,(e,t)=>{G.init(e,t),R(e._zod,`optin`,()=>t.innerType._zod.optin),R(e._zod,`optout`,()=>t.innerType._zod.optout),R(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${dt(e.source)}|null)$`):void 0}),R(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),Yr=I(`$ZodDefault`,(e,t)=>{G.init(e,t),e._zod.optin=`optional`,R(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>Xr(e,t)):Xr(r,t)}});function Xr(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Zr=I(`$ZodPrefault`,(e,t)=>{G.init(e,t),e._zod.optin=`optional`,R(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),Qr=I(`$ZodNonOptional`,(e,t)=>{G.init(e,t),R(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>$r(t,e)):$r(i,e)}});function $r(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}var ei=I(`$ZodCatch`,(e,t)=>{G.init(e,t),R(e._zod,`optin`,()=>t.innerType._zod.optin),R(e._zod,`optout`,()=>t.innerType._zod.optout),R(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>U(e,n,L()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>U(e,n,L()))},input:e.value}),e.issues=[]),e)}}),ti=I(`$ZodPipe`,(e,t)=>{G.init(e,t),R(e._zod,`values`,()=>t.in._zod.values),R(e._zod,`optin`,()=>t.in._zod.optin),R(e._zod,`optout`,()=>t.out._zod.optout),R(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>ni(e,t.in,n)):ni(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>ni(e,t.out,n)):ni(r,t.out,n)}});function ni(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var ri=I(`$ZodReadonly`,(e,t)=>{G.init(e,t),R(e._zod,`propValues`,()=>t.innerType._zod.propValues),R(e._zod,`values`,()=>t.innerType._zod.values),R(e._zod,`optin`,()=>t.innerType?._zod?.optin),R(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(ii):ii(r)}});function ii(e){return e.value=Object.freeze(e.value),e}var ai=I(`$ZodCustom`,(e,t)=>{W.init(e,t),G.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>oi(t,n,r,e));oi(i,n,r,e)}});function oi(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(It(e))}}var si,ci=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function li(){return new ci}(si=globalThis).__zod_globalRegistry??(si.__zod_globalRegistry=li());var ui=globalThis.__zod_globalRegistry;function di(e,t){return new e({type:`string`,...H(t)})}function fi(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...H(t)})}function pi(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...H(t)})}function mi(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...H(t)})}function hi(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...H(t)})}function gi(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...H(t)})}function _i(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...H(t)})}function vi(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...H(t)})}function yi(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...H(t)})}function bi(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...H(t)})}function xi(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...H(t)})}function Si(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...H(t)})}function Ci(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...H(t)})}function wi(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...H(t)})}function Ti(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...H(t)})}function Ei(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...H(t)})}function Di(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...H(t)})}function Oi(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...H(t)})}function ki(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...H(t)})}function Ai(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...H(t)})}function ji(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...H(t)})}function Mi(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...H(t)})}function Ni(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...H(t)})}function Pi(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...H(t)})}function Fi(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...H(t)})}function Ii(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...H(t)})}function Li(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...H(t)})}function Ri(e,t){return new e({type:`number`,checks:[],...H(t)})}function zi(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...H(t)})}function Bi(e,t){return new e({type:`boolean`,...H(t)})}function Vi(e){return new e({type:`unknown`})}function Hi(e,t){return new e({type:`never`,...H(t)})}function Ui(e,t){return new In({check:`less_than`,...H(t),value:e,inclusive:!1})}function Wi(e,t){return new In({check:`less_than`,...H(t),value:e,inclusive:!0})}function Gi(e,t){return new Ln({check:`greater_than`,...H(t),value:e,inclusive:!1})}function Ki(e,t){return new Ln({check:`greater_than`,...H(t),value:e,inclusive:!0})}function qi(e,t){return new Rn({check:`multiple_of`,...H(t),value:e})}function Ji(e,t){return new Bn({check:`max_length`,...H(t),maximum:e})}function Yi(e,t){return new Vn({check:`min_length`,...H(t),minimum:e})}function Xi(e,t){return new Hn({check:`length_equals`,...H(t),length:e})}function Zi(e,t){return new Wn({check:`string_format`,format:`regex`,...H(t),pattern:e})}function Qi(e){return new Gn({check:`string_format`,format:`lowercase`,...H(e)})}function $i(e){return new Kn({check:`string_format`,format:`uppercase`,...H(e)})}function ea(e,t){return new qn({check:`string_format`,format:`includes`,...H(t),includes:e})}function ta(e,t){return new Jn({check:`string_format`,format:`starts_with`,...H(t),prefix:e})}function na(e,t){return new Yn({check:`string_format`,format:`ends_with`,...H(t),suffix:e})}function ra(e){return new Xn({check:`overwrite`,tx:e})}function ia(e){return ra(t=>t.normalize(e))}function aa(){return ra(e=>e.trim())}function oa(){return ra(e=>e.toLowerCase())}function sa(){return ra(e=>e.toUpperCase())}function ca(){return ra(e=>ht(e))}function la(e,t,n){return new e({type:`array`,element:t,...H(n)})}function ua(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...H(n)})}function da(e){let t=fa(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(It(e,n.value,t._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=n.value,r.inst??=t,r.continue??=!t._zod.def.abort,n.issues.push(It(r))}},e(n.value,n)));return t}function fa(e,t){let n=new W({check:`custom`,...H(t)});return n._zod.check=e,n}function pa(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??ui,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,external:e?.external??void 0}}function q(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,q(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&J(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&o.schema._prefault&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function ma(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+a}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/ + `)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=_t,s=!ot.jitless,c=s&&vt.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?Fr([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function Rr(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!Mt(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>U(e,r,L())))}),t)}var zr=I(`$ZodUnion`,(e,t)=>{G.init(e,t),R(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),R(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),R(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),R(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>dt(e.source)).join(`|`)})$`)}});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(i,a)=>{if(n)return r(i,a);let o=!1,s=[];for(let e of t.options){let t=e._zod.run({value:i.value,issues:[]},a);if(t instanceof Promise)s.push(t),o=!0;else{if(t.issues.length===0)return t;s.push(t)}}return o?Promise.all(s).then(t=>Rr(t,i,e,a)):Rr(s,i,e,a)}}),Br=I(`$ZodIntersection`,(e,t)=>{G.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>Hr(e,t,n)):Hr(e,i,a)}});function Vr(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(yt(e)&&yt(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=Vr(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;re.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),Mt(e))return e;let o=Vr(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var Ur=I(`$ZodRecord`,(e,t)=>{G.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!yt(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let e of o)if(typeof e==`string`||typeof e==`number`||typeof e==`symbol`){s.add(typeof e==`number`?e.toString():e);let o=t.valueType._zod.run({value:i[e],issues:[]},r);o instanceof Promise?a.push(o.then(t=>{t.issues.length&&n.issues.push(...Nt(e,t.issues)),n.value[e]=t.value})):(o.issues.length&&n.issues.push(...Nt(e,o.issues)),n.value[e]=o.value)}let c;for(let e in i)s.has(e)||(c??=[],c.push(e));c&&c.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`)continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof o==`string`&&jn.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(s=e)}if(s.issues.length){t.mode===`loose`?n.value[o]=i[o]:n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>U(e,r,L())),input:o,path:[o],inst:e});continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...Nt(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...Nt(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),Wr=I(`$ZodEnum`,(e,t)=>{G.init(e,t);let n=st(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>xt.has(typeof e)).map(e=>typeof e==`string`?St(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),Gr=I(`$ZodTransform`,(e,t)=>{G.init(e,t),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new at(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new it;return n.value=i,n}});function Kr(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var qr=I(`$ZodOptional`,(e,t)=>{G.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,R(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),R(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${dt(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>Kr(t,e.value)):Kr(r,e.value)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),Jr=I(`$ZodExactOptional`,(e,t)=>{qr.init(e,t),R(e._zod,`values`,()=>t.innerType._zod.values),R(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Yr=I(`$ZodNullable`,(e,t)=>{G.init(e,t),R(e._zod,`optin`,()=>t.innerType._zod.optin),R(e._zod,`optout`,()=>t.innerType._zod.optout),R(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${dt(e.source)}|null)$`):void 0}),R(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),Xr=I(`$ZodDefault`,(e,t)=>{G.init(e,t),e._zod.optin=`optional`,R(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>Zr(e,t)):Zr(r,t)}});function Zr(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Qr=I(`$ZodPrefault`,(e,t)=>{G.init(e,t),e._zod.optin=`optional`,R(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),$r=I(`$ZodNonOptional`,(e,t)=>{G.init(e,t),R(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>ei(t,e)):ei(i,e)}});function ei(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}var ti=I(`$ZodCatch`,(e,t)=>{G.init(e,t),R(e._zod,`optin`,()=>t.innerType._zod.optin),R(e._zod,`optout`,()=>t.innerType._zod.optout),R(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>U(e,n,L()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>U(e,n,L()))},input:e.value}),e.issues=[]),e)}}),ni=I(`$ZodPipe`,(e,t)=>{G.init(e,t),R(e._zod,`values`,()=>t.in._zod.values),R(e._zod,`optin`,()=>t.in._zod.optin),R(e._zod,`optout`,()=>t.out._zod.optout),R(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>ri(e,t.in,n)):ri(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>ri(e,t.out,n)):ri(r,t.out,n)}});function ri(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var ii=I(`$ZodReadonly`,(e,t)=>{G.init(e,t),R(e._zod,`propValues`,()=>t.innerType._zod.propValues),R(e._zod,`values`,()=>t.innerType._zod.values),R(e._zod,`optin`,()=>t.innerType?._zod?.optin),R(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(ai):ai(r)}});function ai(e){return e.value=Object.freeze(e.value),e}var oi=I(`$ZodCustom`,(e,t)=>{W.init(e,t),G.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>si(t,n,r,e));si(i,n,r,e)}});function si(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(It(e))}}var ci,li=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function ui(){return new li}(ci=globalThis).__zod_globalRegistry??(ci.__zod_globalRegistry=ui());var di=globalThis.__zod_globalRegistry;function fi(e,t){return new e({type:`string`,...H(t)})}function pi(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...H(t)})}function mi(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...H(t)})}function hi(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...H(t)})}function gi(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...H(t)})}function _i(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...H(t)})}function vi(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...H(t)})}function yi(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...H(t)})}function bi(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...H(t)})}function xi(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...H(t)})}function Si(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...H(t)})}function Ci(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...H(t)})}function wi(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...H(t)})}function Ti(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...H(t)})}function Ei(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...H(t)})}function Di(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...H(t)})}function Oi(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...H(t)})}function ki(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...H(t)})}function Ai(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...H(t)})}function ji(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...H(t)})}function Mi(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...H(t)})}function Ni(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...H(t)})}function Pi(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...H(t)})}function Fi(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...H(t)})}function Ii(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...H(t)})}function Li(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...H(t)})}function Ri(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...H(t)})}function zi(e,t){return new e({type:`number`,checks:[],...H(t)})}function Bi(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...H(t)})}function Vi(e,t){return new e({type:`boolean`,...H(t)})}function Hi(e){return new e({type:`unknown`})}function Ui(e,t){return new e({type:`never`,...H(t)})}function Wi(e,t){return new In({check:`less_than`,...H(t),value:e,inclusive:!1})}function Gi(e,t){return new In({check:`less_than`,...H(t),value:e,inclusive:!0})}function Ki(e,t){return new Ln({check:`greater_than`,...H(t),value:e,inclusive:!1})}function qi(e,t){return new Ln({check:`greater_than`,...H(t),value:e,inclusive:!0})}function Ji(e,t){return new Rn({check:`multiple_of`,...H(t),value:e})}function Yi(e,t){return new Bn({check:`max_length`,...H(t),maximum:e})}function Xi(e,t){return new Vn({check:`min_length`,...H(t),minimum:e})}function Zi(e,t){return new Hn({check:`length_equals`,...H(t),length:e})}function Qi(e,t){return new Wn({check:`string_format`,format:`regex`,...H(t),pattern:e})}function $i(e){return new Gn({check:`string_format`,format:`lowercase`,...H(e)})}function ea(e){return new Kn({check:`string_format`,format:`uppercase`,...H(e)})}function ta(e,t){return new qn({check:`string_format`,format:`includes`,...H(t),includes:e})}function na(e,t){return new Jn({check:`string_format`,format:`starts_with`,...H(t),prefix:e})}function ra(e,t){return new Yn({check:`string_format`,format:`ends_with`,...H(t),suffix:e})}function ia(e){return new Xn({check:`overwrite`,tx:e})}function aa(e){return ia(t=>t.normalize(e))}function oa(){return ia(e=>e.trim())}function sa(){return ia(e=>e.toLowerCase())}function ca(){return ia(e=>e.toUpperCase())}function la(){return ia(e=>ht(e))}function ua(e,t,n){return new e({type:`array`,element:t,...H(n)})}function da(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...H(n)})}function fa(e){let t=pa(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(It(e,n.value,t._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=n.value,r.inst??=t,r.continue??=!t._zod.def.abort,n.issues.push(It(r))}},e(n.value,n)));return t}function pa(e,t){let n=new W({check:`custom`,...H(t)});return n._zod.check=e,n}function ma(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??di,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,external:e?.external??void 0}}function q(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,q(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&J(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&o.schema._prefault&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function ha(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+a}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/ -Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function ha(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e===`$ref`||e===`allOf`||e in a||delete i[e];if(s.$ref&&n.def)for(let e in i)e===`$ref`||e===`allOf`||e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e===`$ref`||e===`allOf`||e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&(e.target===`draft-2020-12`?i.$defs=a:i.definitions=a);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,`~standard`,{value:{...t[`~standard`],jsonSchema:{input:_a(t,`input`,e.processors),output:_a(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function J(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return J(r.element,n);if(r.type===`set`)return J(r.valueType,n);if(r.type===`lazy`)return J(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type===`default`||r.type===`prefault`)return J(r.innerType,n);if(r.type===`intersection`)return J(r.left,n)||J(r.right,n);if(r.type===`record`||r.type===`map`)return J(r.keyType,n)||J(r.valueType,n);if(r.type===`pipe`)return J(r.in,n)||J(r.out,n);if(r.type===`object`){for(let e in r.shape)if(J(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(J(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(J(e,n))return!0;return!!(r.rest&&J(r.rest,n))}return!1}var ga=(e,t={})=>n=>{let r=pa({...n,processors:t});return q(e,r),ma(r,e),ha(r,e)},_a=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=pa({...i??{},target:a,io:t,processors:n});return q(e,o),ma(o,e),ha(o,e)},va={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},ya=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=va[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},ba=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`,typeof u==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u),typeof a==`number`&&(i.minimum=a,typeof u==`number`&&t.target!==`draft-04`&&(u>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof l==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l),typeof o==`number`&&(i.maximum=o,typeof l==`number`&&t.target!==`draft-04`&&(l<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c==`number`&&(i.multipleOf=c)},xa=(e,t,n,r)=>{n.type=`boolean`},Sa=(e,t,n,r)=>{n.not={}},Ca=(e,t,n,r)=>{let i=e._zod.def,a=st(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},wa=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},Ta=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Ea=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=q(a.element,t,{...r,path:[...r.path,`items`]})},Da=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=q(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=q(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Oa=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>q(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},ka=(e,t,n,r)=>{let i=e._zod.def,a=q(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=q(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},Aa=(e,t,n,r)=>{let i=e._zod.def,a=q(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},ja=(e,t,n,r)=>{let i=e._zod.def;q(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ma=(e,t,n,r)=>{let i=e._zod.def;q(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Na=(e,t,n,r)=>{let i=e._zod.def;q(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},Pa=(e,t,n,r)=>{let i=e._zod.def;q(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},Fa=(e,t,n,r)=>{let i=e._zod.def,a=t.io===`input`?i.in._zod.def.type===`transform`?i.out:i.in:i.out;q(a,t,r);let o=t.seen.get(e);o.ref=a},Ia=(e,t,n,r)=>{let i=e._zod.def;q(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},La=(e,t,n,r)=>{let i=e._zod.def;q(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ra=I(`ZodISODateTime`,(e,t)=>{dr.init(e,t),Z.init(e,t)});function za(e){return Pi(Ra,e)}var Ba=I(`ZodISODate`,(e,t)=>{fr.init(e,t),Z.init(e,t)});function Va(e){return Fi(Ba,e)}var Ha=I(`ZodISOTime`,(e,t)=>{pr.init(e,t),Z.init(e,t)});function Ua(e){return Ii(Ha,e)}var Wa=I(`ZodISODuration`,(e,t)=>{mr.init(e,t),Z.init(e,t)});function Ga(e){return Li(Wa,e)}var Ka=(e,t)=>{Rt.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>Vt(e,t)},flatten:{value:t=>Bt(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,ct,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,ct,2)}},isEmpty:{get(){return e.issues.length===0}}})};I(`ZodError`,Ka);var Y=I(`ZodError`,Ka,{Parent:Error}),qa=Ht(Y),Ja=Wt(Y),Ya=Kt(Y),Xa=Jt(Y),Za=Xt(Y),Qa=Zt(Y),$a=Qt(Y),eo=$t(Y),to=en(Y),no=tn(Y),ro=nn(Y),io=rn(Y),X=I(`ZodType`,(e,t)=>(G.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:_a(e,`input`),output:_a(e,`output`)}}),e.toJSONSchema=ga(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,`_def`,{value:t}),e.check=(...n)=>e.clone(B(t,{checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0}),e.with=e.check,e.clone=(t,n)=>V(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>qa(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Ya(e,t,n),e.parseAsync=async(t,n)=>Ja(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Xa(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Za(e,t,n),e.decode=(t,n)=>Qa(e,t,n),e.encodeAsync=async(t,n)=>$a(e,t,n),e.decodeAsync=async(t,n)=>eo(e,t,n),e.safeEncode=(t,n)=>to(e,t,n),e.safeDecode=(t,n)=>no(e,t,n),e.safeEncodeAsync=async(t,n)=>ro(e,t,n),e.safeDecodeAsync=async(t,n)=>io(e,t,n),e.refine=(t,n)=>e.check(hs(t,n)),e.superRefine=t=>e.check(gs(t)),e.overwrite=t=>e.check(ra(t)),e.optional=()=>Zo(e),e.exactOptional=()=>$o(e),e.nullable=()=>ts(e),e.nullish=()=>Zo(ts(e)),e.nonoptional=t=>ss(e,t),e.array=()=>zo(e),e.or=t=>Uo([e,t]),e.and=t=>Go(e,t),e.transform=t=>ds(e,Yo(t)),e.default=t=>rs(e,t),e.prefault=t=>as(e,t),e.catch=t=>ls(e,t),e.pipe=t=>ds(e,t),e.readonly=()=>ps(e),e.describe=t=>{let n=e.clone();return ui.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return ui.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return ui.get(e);let n=e.clone();return ui.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),ao=I(`_ZodString`,(e,t)=>{$n.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ya(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(Zi(...t)),e.includes=(...t)=>e.check(ea(...t)),e.startsWith=(...t)=>e.check(ta(...t)),e.endsWith=(...t)=>e.check(na(...t)),e.min=(...t)=>e.check(Yi(...t)),e.max=(...t)=>e.check(Ji(...t)),e.length=(...t)=>e.check(Xi(...t)),e.nonempty=(...t)=>e.check(Yi(1,...t)),e.lowercase=t=>e.check(Qi(t)),e.uppercase=t=>e.check($i(t)),e.trim=()=>e.check(aa()),e.normalize=(...t)=>e.check(ia(...t)),e.toLowerCase=()=>e.check(oa()),e.toUpperCase=()=>e.check(sa()),e.slugify=()=>e.check(ca())}),oo=I(`ZodString`,(e,t)=>{$n.init(e,t),ao.init(e,t),e.email=t=>e.check(fi(co,t)),e.url=t=>e.check(vi(fo,t)),e.jwt=t=>e.check(Ni(Do,t)),e.emoji=t=>e.check(yi(po,t)),e.guid=t=>e.check(pi(lo,t)),e.uuid=t=>e.check(mi(uo,t)),e.uuidv4=t=>e.check(hi(uo,t)),e.uuidv6=t=>e.check(gi(uo,t)),e.uuidv7=t=>e.check(_i(uo,t)),e.nanoid=t=>e.check(bi(mo,t)),e.guid=t=>e.check(pi(lo,t)),e.cuid=t=>e.check(xi(ho,t)),e.cuid2=t=>e.check(Si(go,t)),e.ulid=t=>e.check(Ci(_o,t)),e.base64=t=>e.check(Ai(wo,t)),e.base64url=t=>e.check(ji(To,t)),e.xid=t=>e.check(wi(vo,t)),e.ksuid=t=>e.check(Ti(yo,t)),e.ipv4=t=>e.check(Ei(bo,t)),e.ipv6=t=>e.check(Di(xo,t)),e.cidrv4=t=>e.check(Oi(So,t)),e.cidrv6=t=>e.check(ki(Co,t)),e.e164=t=>e.check(Mi(Eo,t)),e.datetime=t=>e.check(za(t)),e.date=t=>e.check(Va(t)),e.time=t=>e.check(Ua(t)),e.duration=t=>e.check(Ga(t))});function so(e){return di(oo,e)}var Z=I(`ZodStringFormat`,(e,t)=>{K.init(e,t),ao.init(e,t)}),co=I(`ZodEmail`,(e,t)=>{nr.init(e,t),Z.init(e,t)}),lo=I(`ZodGUID`,(e,t)=>{er.init(e,t),Z.init(e,t)}),uo=I(`ZodUUID`,(e,t)=>{tr.init(e,t),Z.init(e,t)}),fo=I(`ZodURL`,(e,t)=>{rr.init(e,t),Z.init(e,t)}),po=I(`ZodEmoji`,(e,t)=>{ir.init(e,t),Z.init(e,t)}),mo=I(`ZodNanoID`,(e,t)=>{ar.init(e,t),Z.init(e,t)}),ho=I(`ZodCUID`,(e,t)=>{or.init(e,t),Z.init(e,t)}),go=I(`ZodCUID2`,(e,t)=>{sr.init(e,t),Z.init(e,t)}),_o=I(`ZodULID`,(e,t)=>{cr.init(e,t),Z.init(e,t)}),vo=I(`ZodXID`,(e,t)=>{lr.init(e,t),Z.init(e,t)}),yo=I(`ZodKSUID`,(e,t)=>{ur.init(e,t),Z.init(e,t)}),bo=I(`ZodIPv4`,(e,t)=>{hr.init(e,t),Z.init(e,t)}),xo=I(`ZodIPv6`,(e,t)=>{gr.init(e,t),Z.init(e,t)}),So=I(`ZodCIDRv4`,(e,t)=>{_r.init(e,t),Z.init(e,t)}),Co=I(`ZodCIDRv6`,(e,t)=>{vr.init(e,t),Z.init(e,t)}),wo=I(`ZodBase64`,(e,t)=>{br.init(e,t),Z.init(e,t)}),To=I(`ZodBase64URL`,(e,t)=>{Sr.init(e,t),Z.init(e,t)}),Eo=I(`ZodE164`,(e,t)=>{Cr.init(e,t),Z.init(e,t)}),Do=I(`ZodJWT`,(e,t)=>{Tr.init(e,t),Z.init(e,t)}),Oo=I(`ZodNumber`,(e,t)=>{Er.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ba(e,t,n,r),e.gt=(t,n)=>e.check(Gi(t,n)),e.gte=(t,n)=>e.check(Ki(t,n)),e.min=(t,n)=>e.check(Ki(t,n)),e.lt=(t,n)=>e.check(Ui(t,n)),e.lte=(t,n)=>e.check(Wi(t,n)),e.max=(t,n)=>e.check(Wi(t,n)),e.int=t=>e.check(jo(t)),e.safe=t=>e.check(jo(t)),e.positive=t=>e.check(Gi(0,t)),e.nonnegative=t=>e.check(Ki(0,t)),e.negative=t=>e.check(Ui(0,t)),e.nonpositive=t=>e.check(Wi(0,t)),e.multipleOf=(t,n)=>e.check(qi(t,n)),e.step=(t,n)=>e.check(qi(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function ko(e){return Ri(Oo,e)}var Ao=I(`ZodNumberFormat`,(e,t)=>{Dr.init(e,t),Oo.init(e,t)});function jo(e){return zi(Ao,e)}var Mo=I(`ZodBoolean`,(e,t)=>{Or.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xa(e,t,n,r)});function No(e){return Bi(Mo,e)}var Po=I(`ZodUnknown`,(e,t)=>{kr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Fo(){return Vi(Po)}var Io=I(`ZodNever`,(e,t)=>{Ar.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Sa(e,t,n,r)});function Lo(e){return Hi(Io,e)}var Ro=I(`ZodArray`,(e,t)=>{Mr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ea(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(Yi(t,n)),e.nonempty=t=>e.check(Yi(1,t)),e.max=(t,n)=>e.check(Ji(t,n)),e.length=(t,n)=>e.check(Xi(t,n)),e.unwrap=()=>e.element});function zo(e,t){return la(Ro,e,t)}var Bo=I(`ZodObject`,(e,t)=>{Lr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Da(e,t,n,r),R(e,`shape`,()=>t.shape),e.keyof=()=>qo(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Fo()}),e.loose=()=>e.clone({...e._zod.def,catchall:Fo()}),e.strict=()=>e.clone({...e._zod.def,catchall:Lo()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>Dt(e,t),e.safeExtend=t=>Ot(e,t),e.merge=t=>kt(e,t),e.pick=t=>Tt(e,t),e.omit=t=>Et(e,t),e.partial=(...t)=>At(Xo,e,t[0]),e.required=(...t)=>jt(os,e,t[0])});function Vo(e,t){return new Bo({type:`object`,shape:e??{},...H(t)})}var Ho=I(`ZodUnion`,(e,t)=>{zr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oa(e,t,n,r),e.options=t.options});function Uo(e,t){return new Ho({type:`union`,options:e,...H(t)})}var Wo=I(`ZodIntersection`,(e,t)=>{Br.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ka(e,t,n,r)});function Go(e,t){return new Wo({type:`intersection`,left:e,right:t})}var Ko=I(`ZodEnum`,(e,t)=>{Ur.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ca(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new Ko({...t,checks:[],...H(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new Ko({...t,checks:[],...H(r),entries:i})}});function qo(e,t){return new Ko({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...H(t)})}var Jo=I(`ZodTransform`,(e,t)=>{Wr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ta(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new at(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(It(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(It(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function Yo(e){return new Jo({type:`transform`,transform:e})}var Xo=I(`ZodOptional`,(e,t)=>{Kr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>La(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Zo(e){return new Xo({type:`optional`,innerType:e})}var Qo=I(`ZodExactOptional`,(e,t)=>{qr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>La(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function $o(e){return new Qo({type:`optional`,innerType:e})}var es=I(`ZodNullable`,(e,t)=>{Jr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Aa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ts(e){return new es({type:`nullable`,innerType:e})}var ns=I(`ZodDefault`,(e,t)=>{Yr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ma(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function rs(e,t){return new ns({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():bt(t)}})}var is=I(`ZodPrefault`,(e,t)=>{Zr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Na(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function as(e,t){return new is({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():bt(t)}})}var os=I(`ZodNonOptional`,(e,t)=>{Qr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ja(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ss(e,t){return new os({type:`nonoptional`,innerType:e,...H(t)})}var cs=I(`ZodCatch`,(e,t)=>{ei.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ls(e,t){return new cs({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var us=I(`ZodPipe`,(e,t)=>{ti.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fa(e,t,n,r),e.in=t.in,e.out=t.out});function ds(e,t){return new us({type:`pipe`,in:e,out:t})}var fs=I(`ZodReadonly`,(e,t)=>{ri.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ia(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ps(e){return new fs({type:`readonly`,innerType:e})}var ms=I(`ZodCustom`,(e,t)=>{ai.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>wa(e,t,n,r)});function hs(e,t={}){return ua(ms,e,t)}function gs(e){return da(e)}var _s=`spinifex:v1:aws-credentials`,vs=Vo({accessKeyId:so().min(16,`Access Key ID must be at least 16 characters`),secretAccessKey:so().min(1,`Secret Access Key is required`)}),Q;function ys(){if(Q!==void 0)return Q;try{let e=localStorage.getItem(_s);if(!e)return Q=null,null;let t=JSON.parse(e),n=vs.safeParse(t);return Q=n.success?n.data:null,Q}catch{return Q=null,null}}function bs(e){try{localStorage.setItem(_s,JSON.stringify(e)),Q=e}catch{Q=e}}function xs(){try{localStorage.removeItem(_s)}catch{}Q=null}var Ss=e=>new TextEncoder().encode(e),Cs=typeof Buffer<`u`&&Buffer.from?function(e){return Buffer.from(e,`utf8`)}:Ss;function ws(e){return e instanceof Uint8Array?e:typeof e==`string`?Cs(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}function Ts(e){return typeof e==`string`?e.length===0:e.byteLength===0}function Es(e){return new Uint8Array([(e&4278190080)>>24,(e&16711680)>>16,(e&65280)>>8,e&255])}function Ds(e){if(!Uint32Array.from){for(var t=new Uint32Array(e.length),n=0;n0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)}var Ls=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Rs=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],zs=2**53-1,Bs=function(){function e(){this.state=Int32Array.from(Rs),this.temp=new Int32Array(64),this.buffer=new Uint8Array(64),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}return e.prototype.update=function(e){if(this.finished)throw Error(`Attempted to update an already finished hash.`);var t=0,n=e.byteLength;if(this.bytesHashed+=n,this.bytesHashed*8>zs)throw Error(`Cannot hash more than 2^53 - 1 bits`);for(;n>0;)this.buffer[this.bufferLength++]=e[t++],n--,this.bufferLength===64&&(this.hashBuffer(),this.bufferLength=0)},e.prototype.digest=function(){if(!this.finished){var e=this.bytesHashed*8,t=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),n=this.bufferLength;if(t.setUint8(this.bufferLength++,128),n%64>=56){for(var r=this.bufferLength;r<64;r++)t.setUint8(r,0);this.hashBuffer(),this.bufferLength=0}for(var r=this.bufferLength;r<56;r++)t.setUint8(r,0);t.setUint32(56,Math.floor(e/4294967296),!0),t.setUint32(60,e),this.hashBuffer(),this.finished=!0}for(var i=new Uint8Array(32),r=0;r<8;r++)i[r*4]=this.state[r]>>>24&255,i[r*4+1]=this.state[r]>>>16&255,i[r*4+2]=this.state[r]>>>8&255,i[r*4+3]=this.state[r]>>>0&255;return i},e.prototype.hashBuffer=function(){for(var e=this,t=e.buffer,n=e.state,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],c=n[5],l=n[6],u=n[7],d=0;d<64;d++){if(d<16)this.temp[d]=(t[d*4]&255)<<24|(t[d*4+1]&255)<<16|(t[d*4+2]&255)<<8|t[d*4+3]&255;else{var f=this.temp[d-2],p=(f>>>17|f<<15)^(f>>>19|f<<13)^f>>>10;f=this.temp[d-15];var m=(f>>>7|f<<25)^(f>>>18|f<<14)^f>>>3;this.temp[d]=(p+this.temp[d-7]|0)+(m+this.temp[d-16]|0)}var h=(((s>>>6|s<<26)^(s>>>11|s<<21)^(s>>>25|s<<7))+(s&c^~s&l)|0)+(u+(Ls[d]+this.temp[d]|0)|0)|0,g=((r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10))+(r&i^r&a^i&a)|0;u=l,l=c,c=s,s=o+h|0,o=a,a=i,i=r,r=h+g|0}n[0]+=r,n[1]+=i,n[2]+=a,n[3]+=o,n[4]+=s,n[5]+=c,n[6]+=l,n[7]+=u},e}(),Vs=function(){function e(e){this.secret=e,this.hash=new Bs,this.reset()}return e.prototype.update=function(e){if(!(Ts(e)||this.error))try{this.hash.update(ws(e))}catch(e){this.error=e}},e.prototype.digestSync=function(){if(this.error)throw this.error;return this.outer?(this.outer.finished||this.outer.update(this.hash.digest()),this.outer.digest()):this.hash.digest()},e.prototype.digest=function(){return Ps(this,void 0,void 0,function(){return Fs(this,function(e){return[2,this.digestSync()]})})},e.prototype.reset=function(){if(this.hash=new Bs,this.secret){this.outer=new Bs;var e=Hs(this.secret),t=new Uint8Array(64);t.set(e);for(var n=0;n<64;n++)e[n]^=54,t[n]^=92;this.hash.update(e),this.outer.update(t);for(var n=0;n64){var n=new Bs;n.update(t),t=n.digest()}var r=new Uint8Array(64);return r.set(t),r}var Us=[`decrypt`,`digest`,`encrypt`,`exportKey`,`generateKey`,`importKey`,`sign`,`verify`];function Ws(e){if(Gs(e)&&typeof e.crypto.subtle==`object`){var t=e.crypto.subtle;return Ks(t)}return!1}function Gs(e){return typeof e==`object`&&typeof e.crypto==`object`?typeof e.crypto.getRandomValues==`function`:!1}function Ks(e){return e&&Us.every(function(t){return typeof e[t]==`function`})}var qs=function(){function e(e){Ws(Ms())?this.hash=new Ns(e):this.hash=new Vs(e)}return e.prototype.update=function(e,t){this.hash.update(ws(e))},e.prototype.digest=function(){return this.hash.digest()},e.prototype.reset=function(){this.hash.reset()},e}(),Js=class e{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor(e){this.method=e.method||`GET`,this.hostname=e.hostname||`localhost`,this.port=e.port,this.query=e.query||{},this.headers=e.headers||{},this.body=e.body,this.protocol=e.protocol?e.protocol.slice(-1)===`:`?e.protocol:`${e.protocol}:`:`https:`,this.path=e.path?e.path.charAt(0)===`/`?e.path:`/${e.path}`:`/`,this.username=e.username,this.password=e.password,this.fragment=e.fragment}static clone(t){let n=new e({...t,headers:{...t.headers}});return n.query&&=Ys(n.query),n}static isInstance(e){if(!e)return!1;let t=e;return`method`in t&&`protocol`in t&&`hostname`in t&&`path`in t&&typeof t.query==`object`&&typeof t.headers==`object`}clone(){return e.clone(this)}};function Ys(e){return Object.keys(e).reduce((t,n)=>{let r=e[n];return{...t,[n]:Array.isArray(r)?[...r]:r}},{})}var Xs={},Zs={};for(let e=0;e<256;e++){let t=e.toString(16).toLowerCase();t.length===1&&(t=`0${t}`),Xs[e]=t,Zs[t]=e}function Qs(e){if(e.length%2!=0)throw Error(`Hex encoded strings must have an even number length`);let t=new Uint8Array(e.length/2);for(let n=0;ntypeof t==`string`?e(t):ArrayBuffer.isView(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(t),ec=`X-Amz-Algorithm`,tc=`X-Amz-Credential`,nc=`X-Amz-Date`,rc=`X-Amz-SignedHeaders`,ic=`X-Amz-Expires`,ac=`X-Amz-Signature`,oc=`X-Amz-Security-Token`,sc=`authorization`,cc=nc.toLowerCase(),lc=[sc,cc,`date`];ac.toLowerCase();var uc=`x-amz-content-sha256`,dc=oc.toLowerCase(),fc={authorization:!0,"cache-control":!0,connection:!0,expect:!0,from:!0,"keep-alive":!0,"max-forwards":!0,pragma:!0,referer:!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0,"user-agent":!0,"x-amzn-trace-id":!0},pc=/^proxy-/,mc=/^sec-/,hc=`AWS4-HMAC-SHA256`,gc=`AWS4-HMAC-SHA256-PAYLOAD`,_c=`UNSIGNED-PAYLOAD`,vc=`aws4_request`,yc={},bc=[],xc=(e,t,n)=>`${e}/${t}/${n}/${vc}`,Sc=async(e,t,n,r,i)=>{let a=`${n}:${r}:${i}:${$(await Cc(e,t.secretAccessKey,t.accessKeyId))}:${t.sessionToken}`;if(a in yc)return yc[a];for(bc.push(a);bc.length>50;)delete yc[bc.shift()];let o=`AWS4${t.secretAccessKey}`;for(let t of[n,r,i,vc])o=await Cc(e,o,t);return yc[a]=o},Cc=(e,t,n)=>{let r=new e(t);return r.update($s(n)),r.digest()},wc=({headers:e},t,n)=>{let r={};for(let i of Object.keys(e).sort()){if(e[i]==null)continue;let a=i.toLowerCase();(a in fc||t?.has(a)||pc.test(a)||mc.test(a))&&(!n||n&&!n.has(a))||(r[a]=e[i].trim().replace(/\s+/g,` `))}return r},Tc=e=>typeof ArrayBuffer==`function`&&e instanceof ArrayBuffer||Object.prototype.toString.call(e)===`[object ArrayBuffer]`,Ec=async({headers:e,body:t},n)=>{for(let t of Object.keys(e))if(t.toLowerCase()===`x-amz-content-sha256`)return e[t];if(t==null)return`e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855`;if(typeof t==`string`||ArrayBuffer.isView(t)||Tc(t)){let e=new n;return e.update($s(t)),$(await e.digest())}return _c},Dc=class{format(t){let n=[];for(let r of Object.keys(t)){let i=e(r);n.push(Uint8Array.from([i.byteLength]),i,this.formatHeaderValue(t[r]))}let r=new Uint8Array(n.reduce((e,t)=>e+t.byteLength,0)),i=0;for(let e of n)r.set(e,i),i+=e.byteLength;return r}formatHeaderValue(t){switch(t.type){case`boolean`:return Uint8Array.from([+!t.value]);case`byte`:return Uint8Array.from([2,t.value]);case`short`:let n=new DataView(new ArrayBuffer(3));return n.setUint8(0,3),n.setInt16(1,t.value,!1),new Uint8Array(n.buffer);case`integer`:let r=new DataView(new ArrayBuffer(5));return r.setUint8(0,4),r.setInt32(1,t.value,!1),new Uint8Array(r.buffer);case`long`:let i=new Uint8Array(9);return i[0]=5,i.set(t.value.bytes,1),i;case`binary`:let a=new DataView(new ArrayBuffer(3+t.value.byteLength));a.setUint8(0,6),a.setUint16(1,t.value.byteLength,!1);let o=new Uint8Array(a.buffer);return o.set(t.value,3),o;case`string`:let s=e(t.value),c=new DataView(new ArrayBuffer(3+s.byteLength));c.setUint8(0,7),c.setUint16(1,s.byteLength,!1);let l=new Uint8Array(c.buffer);return l.set(s,3),l;case`timestamp`:let u=new Uint8Array(9);return u[0]=8,u.set(Ac.fromNumber(t.value.valueOf()).bytes,1),u;case`uuid`:if(!kc.test(t.value))throw Error(`Invalid UUID received: ${t.value}`);let d=new Uint8Array(17);return d[0]=9,d.set(Qs(t.value.replace(/\-/g,``)),1),d}}},Oc;(function(e){e[e.boolTrue=0]=`boolTrue`,e[e.boolFalse=1]=`boolFalse`,e[e.byte=2]=`byte`,e[e.short=3]=`short`,e[e.integer=4]=`integer`,e[e.long=5]=`long`,e[e.byteArray=6]=`byteArray`,e[e.string=7]=`string`,e[e.timestamp=8]=`timestamp`,e[e.uuid=9]=`uuid`})(Oc||={});var kc=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/,Ac=class e{bytes;constructor(e){if(this.bytes=e,e.byteLength!==8)throw Error(`Int64 buffers must be exactly 8 bytes`)}static fromNumber(t){if(t>0x8000000000000000||t<-0x8000000000000000)throw Error(`${t} is too large (or, if negative, too small) to represent as an Int64`);let n=new Uint8Array(8);for(let e=7,r=Math.abs(Math.round(t));e>-1&&r>0;e--,r/=256)n[e]=r;return t<0&&jc(n),new e(n)}valueOf(){let e=this.bytes.slice(0),t=e[0]&128;return t&&jc(e),parseInt($(e),16)*(t?-1:1)}toString(){return String(this.valueOf())}};function jc(e){for(let t=0;t<8;t++)e[t]^=255;for(let t=7;t>-1&&(e[t]++,e[t]===0);t--);}var Mc=(e,t)=>{e=e.toLowerCase();for(let n of Object.keys(t))if(e===n.toLowerCase())return!0;return!1},Nc=(e,t={})=>{let{headers:n,query:r={}}=Js.clone(e);for(let e of Object.keys(n)){let i=e.toLowerCase();(i.slice(0,6)===`x-amz-`&&!t.unhoistableHeaders?.has(i)||t.hoistableHeaders?.has(i))&&(r[e]=n[e],delete n[e])}return{...e,headers:n,query:r}},Pc=e=>{e=Js.clone(e);for(let t of Object.keys(e.headers))lc.indexOf(t.toLowerCase())>-1&&delete e.headers[t];return e},Fc=e=>{if(typeof e==`function`)return e;let t=Promise.resolve(e);return()=>t},Ic=e=>encodeURIComponent(e).replace(/[!'()*]/g,Lc),Lc=e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`,Rc=({query:e={}})=>{let t=[],n={};for(let r of Object.keys(e)){if(r.toLowerCase()===`x-amz-signature`)continue;let i=Ic(r);t.push(i);let a=e[r];typeof a==`string`?n[i]=`${i}=${Ic(a)}`:Array.isArray(a)&&(n[i]=a.slice(0).reduce((e,t)=>e.concat([`${i}=${Ic(t)}`]),[]).sort().join(`&`))}return t.sort().map(e=>n[e]).filter(e=>e).join(`&`)},zc=e=>Bc(e).toISOString().replace(/\.\d{3}Z$/,`Z`),Bc=e=>typeof e==`number`?new Date(e*1e3):typeof e==`string`?Number(e)?new Date(Number(e)*1e3):new Date(e):e,Vc=class{service;regionProvider;credentialProvider;sha256;uriEscapePath;applyChecksum;constructor({applyChecksum:e,credentials:t,region:n,service:r,sha256:i,uriEscapePath:a=!0}){this.service=r,this.sha256=i,this.uriEscapePath=a,this.applyChecksum=typeof e==`boolean`?e:!0,this.regionProvider=Fc(n),this.credentialProvider=Fc(t)}createCanonicalRequest(e,t,n){let r=Object.keys(t).sort();return`${e.method} +Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function ga(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e===`$ref`||e===`allOf`||e in a||delete i[e];if(s.$ref&&n.def)for(let e in i)e===`$ref`||e===`allOf`||e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e===`$ref`||e===`allOf`||e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&(e.target===`draft-2020-12`?i.$defs=a:i.definitions=a);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,`~standard`,{value:{...t[`~standard`],jsonSchema:{input:va(t,`input`,e.processors),output:va(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function J(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return J(r.element,n);if(r.type===`set`)return J(r.valueType,n);if(r.type===`lazy`)return J(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type===`default`||r.type===`prefault`)return J(r.innerType,n);if(r.type===`intersection`)return J(r.left,n)||J(r.right,n);if(r.type===`record`||r.type===`map`)return J(r.keyType,n)||J(r.valueType,n);if(r.type===`pipe`)return J(r.in,n)||J(r.out,n);if(r.type===`object`){for(let e in r.shape)if(J(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(J(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(J(e,n))return!0;return!!(r.rest&&J(r.rest,n))}return!1}var _a=(e,t={})=>n=>{let r=ma({...n,processors:t});return q(e,r),ha(r,e),ga(r,e)},va=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=ma({...i??{},target:a,io:t,processors:n});return q(e,o),ha(o,e),ga(o,e)},ya={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},ba=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=ya[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},xa=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`,typeof u==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u),typeof a==`number`&&(i.minimum=a,typeof u==`number`&&t.target!==`draft-04`&&(u>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof l==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l),typeof o==`number`&&(i.maximum=o,typeof l==`number`&&t.target!==`draft-04`&&(l<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c==`number`&&(i.multipleOf=c)},Sa=(e,t,n,r)=>{n.type=`boolean`},Ca=(e,t,n,r)=>{n.not={}},wa=(e,t,n,r)=>{let i=e._zod.def,a=st(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Ta=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},Ea=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Da=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=q(a.element,t,{...r,path:[...r.path,`items`]})},Oa=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=q(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=q(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},ka=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>q(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Aa=(e,t,n,r)=>{let i=e._zod.def,a=q(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=q(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},ja=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=o._zod.bag?.patterns;if(a.mode===`loose`&&s&&s.size>0){let e=q(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)i.patternProperties[t.source]=e}else (t.target===`draft-07`||t.target===`draft-2020-12`)&&(i.propertyNames=q(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=q(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]});let c=o._zod.values;if(c){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e)}},Ma=(e,t,n,r)=>{let i=e._zod.def,a=q(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Na=(e,t,n,r)=>{let i=e._zod.def;q(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Pa=(e,t,n,r)=>{let i=e._zod.def;q(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Fa=(e,t,n,r)=>{let i=e._zod.def;q(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},Ia=(e,t,n,r)=>{let i=e._zod.def;q(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},La=(e,t,n,r)=>{let i=e._zod.def,a=t.io===`input`?i.in._zod.def.type===`transform`?i.out:i.in:i.out;q(a,t,r);let o=t.seen.get(e);o.ref=a},Ra=(e,t,n,r)=>{let i=e._zod.def;q(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},za=(e,t,n,r)=>{let i=e._zod.def;q(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ba=I(`ZodISODateTime`,(e,t)=>{dr.init(e,t),Z.init(e,t)});function Va(e){return Fi(Ba,e)}var Ha=I(`ZodISODate`,(e,t)=>{fr.init(e,t),Z.init(e,t)});function Ua(e){return Ii(Ha,e)}var Wa=I(`ZodISOTime`,(e,t)=>{pr.init(e,t),Z.init(e,t)});function Ga(e){return Li(Wa,e)}var Ka=I(`ZodISODuration`,(e,t)=>{mr.init(e,t),Z.init(e,t)});function qa(e){return Ri(Ka,e)}var Ja=(e,t)=>{Rt.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>Vt(e,t)},flatten:{value:t=>Bt(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,ct,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,ct,2)}},isEmpty:{get(){return e.issues.length===0}}})};I(`ZodError`,Ja);var Y=I(`ZodError`,Ja,{Parent:Error}),Ya=Ht(Y),Xa=Wt(Y),Za=Kt(Y),Qa=Jt(Y),$a=Xt(Y),eo=Zt(Y),to=Qt(Y),no=$t(Y),ro=en(Y),io=tn(Y),ao=nn(Y),oo=rn(Y),X=I(`ZodType`,(e,t)=>(G.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:va(e,`input`),output:va(e,`output`)}}),e.toJSONSchema=_a(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,`_def`,{value:t}),e.check=(...n)=>e.clone(B(t,{checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0}),e.with=e.check,e.clone=(t,n)=>V(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>Ya(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Za(e,t,n),e.parseAsync=async(t,n)=>Xa(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Qa(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>$a(e,t,n),e.decode=(t,n)=>eo(e,t,n),e.encodeAsync=async(t,n)=>to(e,t,n),e.decodeAsync=async(t,n)=>no(e,t,n),e.safeEncode=(t,n)=>ro(e,t,n),e.safeDecode=(t,n)=>io(e,t,n),e.safeEncodeAsync=async(t,n)=>ao(e,t,n),e.safeDecodeAsync=async(t,n)=>oo(e,t,n),e.refine=(t,n)=>e.check(ys(t,n)),e.superRefine=t=>e.check(bs(t)),e.overwrite=t=>e.check(ia(t)),e.optional=()=>ts(e),e.exactOptional=()=>rs(e),e.nullable=()=>as(e),e.nullish=()=>ts(as(e)),e.nonoptional=t=>ds(e,t),e.array=()=>Vo(e),e.or=t=>Go([e,t]),e.and=t=>qo(e,t),e.transform=t=>hs(e,$o(t)),e.default=t=>ss(e,t),e.prefault=t=>ls(e,t),e.catch=t=>ps(e,t),e.pipe=t=>hs(e,t),e.readonly=()=>_s(e),e.describe=t=>{let n=e.clone();return di.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return di.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return di.get(e);let n=e.clone();return di.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),so=I(`_ZodString`,(e,t)=>{$n.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ba(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(Qi(...t)),e.includes=(...t)=>e.check(ta(...t)),e.startsWith=(...t)=>e.check(na(...t)),e.endsWith=(...t)=>e.check(ra(...t)),e.min=(...t)=>e.check(Xi(...t)),e.max=(...t)=>e.check(Yi(...t)),e.length=(...t)=>e.check(Zi(...t)),e.nonempty=(...t)=>e.check(Xi(1,...t)),e.lowercase=t=>e.check($i(t)),e.uppercase=t=>e.check(ea(t)),e.trim=()=>e.check(oa()),e.normalize=(...t)=>e.check(aa(...t)),e.toLowerCase=()=>e.check(sa()),e.toUpperCase=()=>e.check(ca()),e.slugify=()=>e.check(la())}),co=I(`ZodString`,(e,t)=>{$n.init(e,t),so.init(e,t),e.email=t=>e.check(pi(uo,t)),e.url=t=>e.check(yi(mo,t)),e.jwt=t=>e.check(Pi(ko,t)),e.emoji=t=>e.check(bi(ho,t)),e.guid=t=>e.check(mi(fo,t)),e.uuid=t=>e.check(hi(po,t)),e.uuidv4=t=>e.check(gi(po,t)),e.uuidv6=t=>e.check(_i(po,t)),e.uuidv7=t=>e.check(vi(po,t)),e.nanoid=t=>e.check(xi(go,t)),e.guid=t=>e.check(mi(fo,t)),e.cuid=t=>e.check(Si(_o,t)),e.cuid2=t=>e.check(Ci(vo,t)),e.ulid=t=>e.check(wi(yo,t)),e.base64=t=>e.check(ji(Eo,t)),e.base64url=t=>e.check(Mi(Do,t)),e.xid=t=>e.check(Ti(bo,t)),e.ksuid=t=>e.check(Ei(xo,t)),e.ipv4=t=>e.check(Di(So,t)),e.ipv6=t=>e.check(Oi(Co,t)),e.cidrv4=t=>e.check(ki(wo,t)),e.cidrv6=t=>e.check(Ai(To,t)),e.e164=t=>e.check(Ni(Oo,t)),e.datetime=t=>e.check(Va(t)),e.date=t=>e.check(Ua(t)),e.time=t=>e.check(Ga(t)),e.duration=t=>e.check(qa(t))});function lo(e){return fi(co,e)}var Z=I(`ZodStringFormat`,(e,t)=>{K.init(e,t),so.init(e,t)}),uo=I(`ZodEmail`,(e,t)=>{nr.init(e,t),Z.init(e,t)}),fo=I(`ZodGUID`,(e,t)=>{er.init(e,t),Z.init(e,t)}),po=I(`ZodUUID`,(e,t)=>{tr.init(e,t),Z.init(e,t)}),mo=I(`ZodURL`,(e,t)=>{rr.init(e,t),Z.init(e,t)}),ho=I(`ZodEmoji`,(e,t)=>{ir.init(e,t),Z.init(e,t)}),go=I(`ZodNanoID`,(e,t)=>{ar.init(e,t),Z.init(e,t)}),_o=I(`ZodCUID`,(e,t)=>{or.init(e,t),Z.init(e,t)}),vo=I(`ZodCUID2`,(e,t)=>{sr.init(e,t),Z.init(e,t)}),yo=I(`ZodULID`,(e,t)=>{cr.init(e,t),Z.init(e,t)}),bo=I(`ZodXID`,(e,t)=>{lr.init(e,t),Z.init(e,t)}),xo=I(`ZodKSUID`,(e,t)=>{ur.init(e,t),Z.init(e,t)}),So=I(`ZodIPv4`,(e,t)=>{hr.init(e,t),Z.init(e,t)}),Co=I(`ZodIPv6`,(e,t)=>{gr.init(e,t),Z.init(e,t)}),wo=I(`ZodCIDRv4`,(e,t)=>{_r.init(e,t),Z.init(e,t)}),To=I(`ZodCIDRv6`,(e,t)=>{vr.init(e,t),Z.init(e,t)}),Eo=I(`ZodBase64`,(e,t)=>{br.init(e,t),Z.init(e,t)}),Do=I(`ZodBase64URL`,(e,t)=>{Sr.init(e,t),Z.init(e,t)}),Oo=I(`ZodE164`,(e,t)=>{Cr.init(e,t),Z.init(e,t)}),ko=I(`ZodJWT`,(e,t)=>{Tr.init(e,t),Z.init(e,t)}),Ao=I(`ZodNumber`,(e,t)=>{Er.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xa(e,t,n,r),e.gt=(t,n)=>e.check(Ki(t,n)),e.gte=(t,n)=>e.check(qi(t,n)),e.min=(t,n)=>e.check(qi(t,n)),e.lt=(t,n)=>e.check(Wi(t,n)),e.lte=(t,n)=>e.check(Gi(t,n)),e.max=(t,n)=>e.check(Gi(t,n)),e.int=t=>e.check(No(t)),e.safe=t=>e.check(No(t)),e.positive=t=>e.check(Ki(0,t)),e.nonnegative=t=>e.check(qi(0,t)),e.negative=t=>e.check(Wi(0,t)),e.nonpositive=t=>e.check(Gi(0,t)),e.multipleOf=(t,n)=>e.check(Ji(t,n)),e.step=(t,n)=>e.check(Ji(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function jo(e){return zi(Ao,e)}var Mo=I(`ZodNumberFormat`,(e,t)=>{Dr.init(e,t),Ao.init(e,t)});function No(e){return Bi(Mo,e)}var Po=I(`ZodBoolean`,(e,t)=>{Or.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Sa(e,t,n,r)});function Fo(e){return Vi(Po,e)}var Io=I(`ZodUnknown`,(e,t)=>{kr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Lo(){return Hi(Io)}var Ro=I(`ZodNever`,(e,t)=>{Ar.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ca(e,t,n,r)});function zo(e){return Ui(Ro,e)}var Bo=I(`ZodArray`,(e,t)=>{Mr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Da(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(Xi(t,n)),e.nonempty=t=>e.check(Xi(1,t)),e.max=(t,n)=>e.check(Yi(t,n)),e.length=(t,n)=>e.check(Zi(t,n)),e.unwrap=()=>e.element});function Vo(e,t){return ua(Bo,e,t)}var Ho=I(`ZodObject`,(e,t)=>{Lr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oa(e,t,n,r),R(e,`shape`,()=>t.shape),e.keyof=()=>Zo(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Lo()}),e.loose=()=>e.clone({...e._zod.def,catchall:Lo()}),e.strict=()=>e.clone({...e._zod.def,catchall:zo()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>Dt(e,t),e.safeExtend=t=>Ot(e,t),e.merge=t=>kt(e,t),e.pick=t=>Tt(e,t),e.omit=t=>Et(e,t),e.partial=(...t)=>At(es,e,t[0]),e.required=(...t)=>jt(us,e,t[0])});function Uo(e,t){return new Ho({type:`object`,shape:e??{},...H(t)})}var Wo=I(`ZodUnion`,(e,t)=>{zr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ka(e,t,n,r),e.options=t.options});function Go(e,t){return new Wo({type:`union`,options:e,...H(t)})}var Ko=I(`ZodIntersection`,(e,t)=>{Br.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Aa(e,t,n,r)});function qo(e,t){return new Ko({type:`intersection`,left:e,right:t})}var Jo=I(`ZodRecord`,(e,t)=>{Ur.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ja(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function Yo(e,t,n){return new Jo({type:`record`,keyType:e,valueType:t,...H(n)})}var Xo=I(`ZodEnum`,(e,t)=>{Wr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>wa(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new Xo({...t,checks:[],...H(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new Xo({...t,checks:[],...H(r),entries:i})}});function Zo(e,t){return new Xo({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...H(t)})}var Qo=I(`ZodTransform`,(e,t)=>{Gr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ea(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new at(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(It(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(It(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function $o(e){return new Qo({type:`transform`,transform:e})}var es=I(`ZodOptional`,(e,t)=>{qr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>za(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ts(e){return new es({type:`optional`,innerType:e})}var ns=I(`ZodExactOptional`,(e,t)=>{Jr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>za(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function rs(e){return new ns({type:`optional`,innerType:e})}var is=I(`ZodNullable`,(e,t)=>{Yr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ma(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function as(e){return new is({type:`nullable`,innerType:e})}var os=I(`ZodDefault`,(e,t)=>{Xr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function ss(e,t){return new os({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():bt(t)}})}var cs=I(`ZodPrefault`,(e,t)=>{Qr.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ls(e,t){return new cs({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():bt(t)}})}var us=I(`ZodNonOptional`,(e,t)=>{$r.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Na(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ds(e,t){return new us({type:`nonoptional`,innerType:e,...H(t)})}var fs=I(`ZodCatch`,(e,t)=>{ti.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ia(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ps(e,t){return new fs({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var ms=I(`ZodPipe`,(e,t)=>{ni.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>La(e,t,n,r),e.in=t.in,e.out=t.out});function hs(e,t){return new ms({type:`pipe`,in:e,out:t})}var gs=I(`ZodReadonly`,(e,t)=>{ii.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ra(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function _s(e){return new gs({type:`readonly`,innerType:e})}var vs=I(`ZodCustom`,(e,t)=>{oi.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ta(e,t,n,r)});function ys(e,t={}){return da(vs,e,t)}function bs(e){return fa(e)}var xs=`spinifex:v1:aws-credentials`,Ss=Uo({accessKeyId:lo().min(16,`Access Key ID must be at least 16 characters`),secretAccessKey:lo().min(1,`Secret Access Key is required`)}),Q;function Cs(){if(Q!==void 0)return Q;try{let e=localStorage.getItem(xs);if(!e)return Q=null,null;let t=JSON.parse(e),n=Ss.safeParse(t);return Q=n.success?n.data:null,Q}catch{return Q=null,null}}function ws(e){try{localStorage.setItem(xs,JSON.stringify(e)),Q=e}catch{Q=e}}function Ts(){try{localStorage.removeItem(xs)}catch{}Q=null}var Es=e=>new TextEncoder().encode(e),Ds=typeof Buffer<`u`&&Buffer.from?function(e){return Buffer.from(e,`utf8`)}:Es;function Os(e){return e instanceof Uint8Array?e:typeof e==`string`?Ds(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}function ks(e){return typeof e==`string`?e.length===0:e.byteLength===0}function As(e){return new Uint8Array([(e&4278190080)>>24,(e&16711680)>>16,(e&65280)>>8,e&255])}function js(e){if(!Uint32Array.from){for(var t=new Uint32Array(e.length),n=0;n0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)}var Vs=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Hs=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],Us=2**53-1,Ws=function(){function e(){this.state=Int32Array.from(Hs),this.temp=new Int32Array(64),this.buffer=new Uint8Array(64),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}return e.prototype.update=function(e){if(this.finished)throw Error(`Attempted to update an already finished hash.`);var t=0,n=e.byteLength;if(this.bytesHashed+=n,this.bytesHashed*8>Us)throw Error(`Cannot hash more than 2^53 - 1 bits`);for(;n>0;)this.buffer[this.bufferLength++]=e[t++],n--,this.bufferLength===64&&(this.hashBuffer(),this.bufferLength=0)},e.prototype.digest=function(){if(!this.finished){var e=this.bytesHashed*8,t=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),n=this.bufferLength;if(t.setUint8(this.bufferLength++,128),n%64>=56){for(var r=this.bufferLength;r<64;r++)t.setUint8(r,0);this.hashBuffer(),this.bufferLength=0}for(var r=this.bufferLength;r<56;r++)t.setUint8(r,0);t.setUint32(56,Math.floor(e/4294967296),!0),t.setUint32(60,e),this.hashBuffer(),this.finished=!0}for(var i=new Uint8Array(32),r=0;r<8;r++)i[r*4]=this.state[r]>>>24&255,i[r*4+1]=this.state[r]>>>16&255,i[r*4+2]=this.state[r]>>>8&255,i[r*4+3]=this.state[r]>>>0&255;return i},e.prototype.hashBuffer=function(){for(var e=this,t=e.buffer,n=e.state,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],c=n[5],l=n[6],u=n[7],d=0;d<64;d++){if(d<16)this.temp[d]=(t[d*4]&255)<<24|(t[d*4+1]&255)<<16|(t[d*4+2]&255)<<8|t[d*4+3]&255;else{var f=this.temp[d-2],p=(f>>>17|f<<15)^(f>>>19|f<<13)^f>>>10;f=this.temp[d-15];var m=(f>>>7|f<<25)^(f>>>18|f<<14)^f>>>3;this.temp[d]=(p+this.temp[d-7]|0)+(m+this.temp[d-16]|0)}var h=(((s>>>6|s<<26)^(s>>>11|s<<21)^(s>>>25|s<<7))+(s&c^~s&l)|0)+(u+(Vs[d]+this.temp[d]|0)|0)|0,g=((r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10))+(r&i^r&a^i&a)|0;u=l,l=c,c=s,s=o+h|0,o=a,a=i,i=r,r=h+g|0}n[0]+=r,n[1]+=i,n[2]+=a,n[3]+=o,n[4]+=s,n[5]+=c,n[6]+=l,n[7]+=u},e}(),Gs=function(){function e(e){this.secret=e,this.hash=new Ws,this.reset()}return e.prototype.update=function(e){if(!(ks(e)||this.error))try{this.hash.update(Os(e))}catch(e){this.error=e}},e.prototype.digestSync=function(){if(this.error)throw this.error;return this.outer?(this.outer.finished||this.outer.update(this.hash.digest()),this.outer.digest()):this.hash.digest()},e.prototype.digest=function(){return Rs(this,void 0,void 0,function(){return zs(this,function(e){return[2,this.digestSync()]})})},e.prototype.reset=function(){if(this.hash=new Ws,this.secret){this.outer=new Ws;var e=Ks(this.secret),t=new Uint8Array(64);t.set(e);for(var n=0;n<64;n++)e[n]^=54,t[n]^=92;this.hash.update(e),this.outer.update(t);for(var n=0;n64){var n=new Ws;n.update(t),t=n.digest()}var r=new Uint8Array(64);return r.set(t),r}var qs=[`decrypt`,`digest`,`encrypt`,`exportKey`,`generateKey`,`importKey`,`sign`,`verify`];function Js(e){if(Ys(e)&&typeof e.crypto.subtle==`object`){var t=e.crypto.subtle;return Xs(t)}return!1}function Ys(e){return typeof e==`object`&&typeof e.crypto==`object`?typeof e.crypto.getRandomValues==`function`:!1}function Xs(e){return e&&qs.every(function(t){return typeof e[t]==`function`})}var Zs=function(){function e(e){Js(Is())?this.hash=new Ls(e):this.hash=new Gs(e)}return e.prototype.update=function(e,t){this.hash.update(Os(e))},e.prototype.digest=function(){return this.hash.digest()},e.prototype.reset=function(){this.hash.reset()},e}(),Qs=class e{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor(e){this.method=e.method||`GET`,this.hostname=e.hostname||`localhost`,this.port=e.port,this.query=e.query||{},this.headers=e.headers||{},this.body=e.body,this.protocol=e.protocol?e.protocol.slice(-1)===`:`?e.protocol:`${e.protocol}:`:`https:`,this.path=e.path?e.path.charAt(0)===`/`?e.path:`/${e.path}`:`/`,this.username=e.username,this.password=e.password,this.fragment=e.fragment}static clone(t){let n=new e({...t,headers:{...t.headers}});return n.query&&=$s(n.query),n}static isInstance(e){if(!e)return!1;let t=e;return`method`in t&&`protocol`in t&&`hostname`in t&&`path`in t&&typeof t.query==`object`&&typeof t.headers==`object`}clone(){return e.clone(this)}};function $s(e){return Object.keys(e).reduce((t,n)=>{let r=e[n];return{...t,[n]:Array.isArray(r)?[...r]:r}},{})}var ec={},tc={};for(let e=0;e<256;e++){let t=e.toString(16).toLowerCase();t.length===1&&(t=`0${t}`),ec[e]=t,tc[t]=e}function nc(e){if(e.length%2!=0)throw Error(`Hex encoded strings must have an even number length`);let t=new Uint8Array(e.length/2);for(let n=0;ntypeof t==`string`?e(t):ArrayBuffer.isView(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(t),ic=`X-Amz-Algorithm`,ac=`X-Amz-Credential`,oc=`X-Amz-Date`,sc=`X-Amz-SignedHeaders`,cc=`X-Amz-Expires`,lc=`X-Amz-Signature`,uc=`X-Amz-Security-Token`,dc=`authorization`,fc=oc.toLowerCase(),pc=[dc,fc,`date`];lc.toLowerCase();var mc=`x-amz-content-sha256`,hc=uc.toLowerCase(),gc={authorization:!0,"cache-control":!0,connection:!0,expect:!0,from:!0,"keep-alive":!0,"max-forwards":!0,pragma:!0,referer:!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0,"user-agent":!0,"x-amzn-trace-id":!0},_c=/^proxy-/,vc=/^sec-/,yc=`AWS4-HMAC-SHA256`,bc=`AWS4-HMAC-SHA256-PAYLOAD`,xc=`UNSIGNED-PAYLOAD`,Sc=`aws4_request`,Cc={},wc=[],Tc=(e,t,n)=>`${e}/${t}/${n}/${Sc}`,Ec=async(e,t,n,r,i)=>{let a=`${n}:${r}:${i}:${$(await Dc(e,t.secretAccessKey,t.accessKeyId))}:${t.sessionToken}`;if(a in Cc)return Cc[a];for(wc.push(a);wc.length>50;)delete Cc[wc.shift()];let o=`AWS4${t.secretAccessKey}`;for(let t of[n,r,i,Sc])o=await Dc(e,o,t);return Cc[a]=o},Dc=(e,t,n)=>{let r=new e(t);return r.update(rc(n)),r.digest()},Oc=({headers:e},t,n)=>{let r={};for(let i of Object.keys(e).sort()){if(e[i]==null)continue;let a=i.toLowerCase();(a in gc||t?.has(a)||_c.test(a)||vc.test(a))&&(!n||n&&!n.has(a))||(r[a]=e[i].trim().replace(/\s+/g,` `))}return r},kc=e=>typeof ArrayBuffer==`function`&&e instanceof ArrayBuffer||Object.prototype.toString.call(e)===`[object ArrayBuffer]`,Ac=async({headers:e,body:t},n)=>{for(let t of Object.keys(e))if(t.toLowerCase()===`x-amz-content-sha256`)return e[t];if(t==null)return`e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855`;if(typeof t==`string`||ArrayBuffer.isView(t)||kc(t)){let e=new n;return e.update(rc(t)),$(await e.digest())}return xc},jc=class{format(t){let n=[];for(let r of Object.keys(t)){let i=e(r);n.push(Uint8Array.from([i.byteLength]),i,this.formatHeaderValue(t[r]))}let r=new Uint8Array(n.reduce((e,t)=>e+t.byteLength,0)),i=0;for(let e of n)r.set(e,i),i+=e.byteLength;return r}formatHeaderValue(t){switch(t.type){case`boolean`:return Uint8Array.from([+!t.value]);case`byte`:return Uint8Array.from([2,t.value]);case`short`:let n=new DataView(new ArrayBuffer(3));return n.setUint8(0,3),n.setInt16(1,t.value,!1),new Uint8Array(n.buffer);case`integer`:let r=new DataView(new ArrayBuffer(5));return r.setUint8(0,4),r.setInt32(1,t.value,!1),new Uint8Array(r.buffer);case`long`:let i=new Uint8Array(9);return i[0]=5,i.set(t.value.bytes,1),i;case`binary`:let a=new DataView(new ArrayBuffer(3+t.value.byteLength));a.setUint8(0,6),a.setUint16(1,t.value.byteLength,!1);let o=new Uint8Array(a.buffer);return o.set(t.value,3),o;case`string`:let s=e(t.value),c=new DataView(new ArrayBuffer(3+s.byteLength));c.setUint8(0,7),c.setUint16(1,s.byteLength,!1);let l=new Uint8Array(c.buffer);return l.set(s,3),l;case`timestamp`:let u=new Uint8Array(9);return u[0]=8,u.set(Pc.fromNumber(t.value.valueOf()).bytes,1),u;case`uuid`:if(!Nc.test(t.value))throw Error(`Invalid UUID received: ${t.value}`);let d=new Uint8Array(17);return d[0]=9,d.set(nc(t.value.replace(/\-/g,``)),1),d}}},Mc;(function(e){e[e.boolTrue=0]=`boolTrue`,e[e.boolFalse=1]=`boolFalse`,e[e.byte=2]=`byte`,e[e.short=3]=`short`,e[e.integer=4]=`integer`,e[e.long=5]=`long`,e[e.byteArray=6]=`byteArray`,e[e.string=7]=`string`,e[e.timestamp=8]=`timestamp`,e[e.uuid=9]=`uuid`})(Mc||={});var Nc=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/,Pc=class e{bytes;constructor(e){if(this.bytes=e,e.byteLength!==8)throw Error(`Int64 buffers must be exactly 8 bytes`)}static fromNumber(t){if(t>0x8000000000000000||t<-0x8000000000000000)throw Error(`${t} is too large (or, if negative, too small) to represent as an Int64`);let n=new Uint8Array(8);for(let e=7,r=Math.abs(Math.round(t));e>-1&&r>0;e--,r/=256)n[e]=r;return t<0&&Fc(n),new e(n)}valueOf(){let e=this.bytes.slice(0),t=e[0]&128;return t&&Fc(e),parseInt($(e),16)*(t?-1:1)}toString(){return String(this.valueOf())}};function Fc(e){for(let t=0;t<8;t++)e[t]^=255;for(let t=7;t>-1&&(e[t]++,e[t]===0);t--);}var Ic=(e,t)=>{e=e.toLowerCase();for(let n of Object.keys(t))if(e===n.toLowerCase())return!0;return!1},Lc=(e,t={})=>{let{headers:n,query:r={}}=Qs.clone(e);for(let e of Object.keys(n)){let i=e.toLowerCase();(i.slice(0,6)===`x-amz-`&&!t.unhoistableHeaders?.has(i)||t.hoistableHeaders?.has(i))&&(r[e]=n[e],delete n[e])}return{...e,headers:n,query:r}},Rc=e=>{e=Qs.clone(e);for(let t of Object.keys(e.headers))pc.indexOf(t.toLowerCase())>-1&&delete e.headers[t];return e},zc=e=>{if(typeof e==`function`)return e;let t=Promise.resolve(e);return()=>t},Bc=e=>encodeURIComponent(e).replace(/[!'()*]/g,Vc),Vc=e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`,Hc=({query:e={}})=>{let t=[],n={};for(let r of Object.keys(e)){if(r.toLowerCase()===`x-amz-signature`)continue;let i=Bc(r);t.push(i);let a=e[r];typeof a==`string`?n[i]=`${i}=${Bc(a)}`:Array.isArray(a)&&(n[i]=a.slice(0).reduce((e,t)=>e.concat([`${i}=${Bc(t)}`]),[]).sort().join(`&`))}return t.sort().map(e=>n[e]).filter(e=>e).join(`&`)},Uc=e=>Wc(e).toISOString().replace(/\.\d{3}Z$/,`Z`),Wc=e=>typeof e==`number`?new Date(e*1e3):typeof e==`string`?Number(e)?new Date(Number(e)*1e3):new Date(e):e,Gc=class{service;regionProvider;credentialProvider;sha256;uriEscapePath;applyChecksum;constructor({applyChecksum:e,credentials:t,region:n,service:r,sha256:i,uriEscapePath:a=!0}){this.service=r,this.sha256=i,this.uriEscapePath=a,this.applyChecksum=typeof e==`boolean`?e:!0,this.regionProvider=zc(n),this.credentialProvider=zc(t)}createCanonicalRequest(e,t,n){let r=Object.keys(t).sort();return`${e.method} ${this.getCanonicalPath(e)} -${Rc(e)} +${Hc(e)} ${r.map(e=>`${e}:${t[e]}`).join(` `)} ${r.join(`;`)} -${n}`}async createStringToSign(e,t,n,r){let i=new this.sha256;return i.update($s(n)),`${r} +${n}`}async createStringToSign(e,t,n,r){let i=new this.sha256;return i.update(rc(n)),`${r} ${e} ${t} -${$(await i.digest())}`}getCanonicalPath({path:e}){if(this.uriEscapePath){let t=[];for(let n of e.split(`/`))n?.length!==0&&n!==`.`&&(n===`..`?t.pop():t.push(n));return Ic(`${e?.startsWith(`/`)?`/`:``}${t.join(`/`)}${t.length>0&&e?.endsWith(`/`)?`/`:``}`).replace(/%2F/g,`/`)}return e}validateResolvedCredentials(e){if(typeof e!=`object`||typeof e.accessKeyId!=`string`||typeof e.secretAccessKey!=`string`)throw Error(`Resolved credential object is not valid`)}formatDate(e){let t=zc(e).replace(/[\-:]/g,``);return{longDate:t,shortDate:t.slice(0,8)}}getCanonicalHeaderList(e){return Object.keys(e).sort().join(`;`)}},Hc=class extends Vc{headerFormatter=new Dc;constructor({applyChecksum:e,credentials:t,region:n,service:r,sha256:i,uriEscapePath:a=!0}){super({applyChecksum:e,credentials:t,region:n,service:r,sha256:i,uriEscapePath:a})}async presign(e,t={}){let{signingDate:n=new Date,expiresIn:r=3600,unsignableHeaders:i,unhoistableHeaders:a,signableHeaders:o,hoistableHeaders:s,signingRegion:c,signingService:l}=t,u=await this.credentialProvider();this.validateResolvedCredentials(u);let d=c??await this.regionProvider(),{longDate:f,shortDate:p}=this.formatDate(n);if(r>604800)return Promise.reject(`Signature version 4 presigned URLs must have an expiration date less than one week in the future`);let m=xc(p,d,l??this.service),h=Nc(Pc(e),{unhoistableHeaders:a,hoistableHeaders:s});u.sessionToken&&(h.query[oc]=u.sessionToken),h.query[ec]=hc,h.query[tc]=`${u.accessKeyId}/${m}`,h.query[nc]=f,h.query[ic]=r.toString(10);let g=wc(h,i,o);return h.query[rc]=this.getCanonicalHeaderList(g),h.query[ac]=await this.getSignature(f,m,this.getSigningKey(u,d,p,l),this.createCanonicalRequest(h,g,await Ec(e,this.sha256))),h}async sign(e,t){return typeof e==`string`?this.signString(e,t):e.headers&&e.payload?this.signEvent(e,t):e.message?this.signMessage(e,t):this.signRequest(e,t)}async signEvent({headers:e,payload:t},{signingDate:n=new Date,priorSignature:r,signingRegion:i,signingService:a}){let o=i??await this.regionProvider(),{shortDate:s,longDate:c}=this.formatDate(n),l=xc(s,o,a??this.service),u=await Ec({headers:{},body:t},this.sha256),d=new this.sha256;d.update(e);let f=[gc,c,l,r,$(await d.digest()),u].join(` -`);return this.signString(f,{signingDate:n,signingRegion:o,signingService:a})}async signMessage(e,{signingDate:t=new Date,signingRegion:n,signingService:r}){return this.signEvent({headers:this.headerFormatter.format(e.message.headers),payload:e.message.body},{signingDate:t,signingRegion:n,signingService:r,priorSignature:e.priorSignature}).then(t=>({message:e.message,signature:t}))}async signString(e,{signingDate:t=new Date,signingRegion:n,signingService:r}={}){let i=await this.credentialProvider();this.validateResolvedCredentials(i);let a=n??await this.regionProvider(),{shortDate:o}=this.formatDate(t),s=new this.sha256(await this.getSigningKey(i,a,o,r));return s.update($s(e)),$(await s.digest())}async signRequest(e,{signingDate:t=new Date,signableHeaders:n,unsignableHeaders:r,signingRegion:i,signingService:a}={}){let o=await this.credentialProvider();this.validateResolvedCredentials(o);let s=i??await this.regionProvider(),c=Pc(e),{longDate:l,shortDate:u}=this.formatDate(t),d=xc(u,s,a??this.service);c.headers[cc]=l,o.sessionToken&&(c.headers[dc]=o.sessionToken);let f=await Ec(c,this.sha256);!Mc(`x-amz-content-sha256`,c.headers)&&this.applyChecksum&&(c.headers[uc]=f);let p=wc(c,r,n),m=await this.getSignature(l,d,this.getSigningKey(o,s,u,a),this.createCanonicalRequest(c,p,f));return c.headers[sc]=`${hc} Credential=${o.accessKeyId}/${d}, SignedHeaders=${this.getCanonicalHeaderList(p)}, Signature=${m}`,c}async getSignature(e,t,n,r){let i=await this.createStringToSign(e,t,r,hc),a=new this.sha256(await n);return a.update($s(i)),$(await a.digest())}getSigningKey(e,t,n,r){return Sc(this.sha256,e,n,t,r||this.service)}};export{so as A,Qe as B,bs as C,jo as D,No as E,qe as F,n as H,tt as I,rt as L,Gt as M,Rt as N,ko as O,nt as P,Ye as R,ys as S,zo as T,et as V,Ts as _,$s as a,vs as b,Js as c,Ps as d,Fs as f,Es as g,Ds as h,Tc as i,Ut as j,Vo as k,qs as l,Ms as m,Ic as n,Qs as o,Is as p,Fc as r,$ as s,Hc as t,Ws as u,ws as v,qo as w,xs as x,Ss as y,Ze as z}; \ No newline at end of file +${$(await i.digest())}`}getCanonicalPath({path:e}){if(this.uriEscapePath){let t=[];for(let n of e.split(`/`))n?.length!==0&&n!==`.`&&(n===`..`?t.pop():t.push(n));return Bc(`${e?.startsWith(`/`)?`/`:``}${t.join(`/`)}${t.length>0&&e?.endsWith(`/`)?`/`:``}`).replace(/%2F/g,`/`)}return e}validateResolvedCredentials(e){if(typeof e!=`object`||typeof e.accessKeyId!=`string`||typeof e.secretAccessKey!=`string`)throw Error(`Resolved credential object is not valid`)}formatDate(e){let t=Uc(e).replace(/[\-:]/g,``);return{longDate:t,shortDate:t.slice(0,8)}}getCanonicalHeaderList(e){return Object.keys(e).sort().join(`;`)}},Kc=class extends Gc{headerFormatter=new jc;constructor({applyChecksum:e,credentials:t,region:n,service:r,sha256:i,uriEscapePath:a=!0}){super({applyChecksum:e,credentials:t,region:n,service:r,sha256:i,uriEscapePath:a})}async presign(e,t={}){let{signingDate:n=new Date,expiresIn:r=3600,unsignableHeaders:i,unhoistableHeaders:a,signableHeaders:o,hoistableHeaders:s,signingRegion:c,signingService:l}=t,u=await this.credentialProvider();this.validateResolvedCredentials(u);let d=c??await this.regionProvider(),{longDate:f,shortDate:p}=this.formatDate(n);if(r>604800)return Promise.reject(`Signature version 4 presigned URLs must have an expiration date less than one week in the future`);let m=Tc(p,d,l??this.service),h=Lc(Rc(e),{unhoistableHeaders:a,hoistableHeaders:s});u.sessionToken&&(h.query[uc]=u.sessionToken),h.query[ic]=yc,h.query[ac]=`${u.accessKeyId}/${m}`,h.query[oc]=f,h.query[cc]=r.toString(10);let g=Oc(h,i,o);return h.query[sc]=this.getCanonicalHeaderList(g),h.query[lc]=await this.getSignature(f,m,this.getSigningKey(u,d,p,l),this.createCanonicalRequest(h,g,await Ac(e,this.sha256))),h}async sign(e,t){return typeof e==`string`?this.signString(e,t):e.headers&&e.payload?this.signEvent(e,t):e.message?this.signMessage(e,t):this.signRequest(e,t)}async signEvent({headers:e,payload:t},{signingDate:n=new Date,priorSignature:r,signingRegion:i,signingService:a}){let o=i??await this.regionProvider(),{shortDate:s,longDate:c}=this.formatDate(n),l=Tc(s,o,a??this.service),u=await Ac({headers:{},body:t},this.sha256),d=new this.sha256;d.update(e);let f=[bc,c,l,r,$(await d.digest()),u].join(` +`);return this.signString(f,{signingDate:n,signingRegion:o,signingService:a})}async signMessage(e,{signingDate:t=new Date,signingRegion:n,signingService:r}){return this.signEvent({headers:this.headerFormatter.format(e.message.headers),payload:e.message.body},{signingDate:t,signingRegion:n,signingService:r,priorSignature:e.priorSignature}).then(t=>({message:e.message,signature:t}))}async signString(e,{signingDate:t=new Date,signingRegion:n,signingService:r}={}){let i=await this.credentialProvider();this.validateResolvedCredentials(i);let a=n??await this.regionProvider(),{shortDate:o}=this.formatDate(t),s=new this.sha256(await this.getSigningKey(i,a,o,r));return s.update(rc(e)),$(await s.digest())}async signRequest(e,{signingDate:t=new Date,signableHeaders:n,unsignableHeaders:r,signingRegion:i,signingService:a}={}){let o=await this.credentialProvider();this.validateResolvedCredentials(o);let s=i??await this.regionProvider(),c=Rc(e),{longDate:l,shortDate:u}=this.formatDate(t),d=Tc(u,s,a??this.service);c.headers[fc]=l,o.sessionToken&&(c.headers[hc]=o.sessionToken);let f=await Ac(c,this.sha256);!Ic(`x-amz-content-sha256`,c.headers)&&this.applyChecksum&&(c.headers[mc]=f);let p=Oc(c,r,n),m=await this.getSignature(l,d,this.getSigningKey(o,s,u,a),this.createCanonicalRequest(c,p,f));return c.headers[dc]=`${yc} Credential=${o.accessKeyId}/${d}, SignedHeaders=${this.getCanonicalHeaderList(p)}, Signature=${m}`,c}async getSignature(e,t,n,r){let i=await this.createStringToSign(e,t,r,yc),a=new this.sha256(await n);return a.update(rc(i)),$(await a.digest())}getSigningKey(e,t,n,r){return Ec(this.sha256,e,n,t,r||this.service)}};export{Yo as A,Ze as B,ws as C,No as D,Fo as E,nt as F,et as H,qe as I,tt as L,Ut as M,Gt as N,jo as O,Rt as P,rt as R,Cs as S,Vo as T,n as U,Qe as V,ks as _,rc as a,Ss as b,Qs as c,Rs as d,zs as f,As as g,js as h,kc as i,lo as j,Uo as k,Zs as l,Is as m,Bc as n,nc as o,Bs as p,zc as r,$ as s,Kc as t,Js as u,Os as v,Zo as w,Ts as x,Es as y,Ye as z}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_.js b/spinifex/services/spinifexui/frontend/dist/assets/_.js index 5d002f472..ffea4379b 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_.js @@ -1,2 +1,2 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_2.js","assets/compiler-runtime.js","assets/s3.js","assets/awsClient.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/toUtf8.browser.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/upload-button.js","assets/button.js","assets/dist.js","assets/link.js","assets/useStore.js","assets/createLucideIcon.js","assets/download.js","assets/trash-2.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/s32.js","assets/queryOptions.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/back-link.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{Ut as n}from"./awsClient.js";import{I as r,P as i}from"./SignatureV4.js";import{t as a}from"./s32.js";var o=e(`/_auth/s3/ls/$bucket/$`)({loader:async({context:e,params:t})=>{let n=r(t._splat??``);await e.queryClient.ensureQueryData(a(t.bucket,n))},head:({params:e})=>({meta:[{title:`${i(e._splat??``,`${e.bucket}/`)} | S3 | Mulga`}]}),component:t(()=>n(()=>import(`./_2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29])),`component`)});export{o as t}; \ No newline at end of file +import{n as e,t}from"./lazyRouteComponent.js";import{cn as n}from"./awsClient.js";import{F as r,L as i}from"./SignatureV4.js";import{t as a}from"./s32.js";var o=e(`/_auth/s3/ls/$bucket/$`)({loader:async({context:e,params:t})=>{let n=i(t._splat??``);await e.queryClient.ensureQueryData(a(t.bucket,n))},head:({params:e})=>({meta:[{title:`${r(e._splat??``,`${e.bucket}/`)} | S3 | Mulga`}]}),component:t(()=>n(()=>import(`./_2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29])),`component`)});export{o as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_2.js b/spinifex/services/spinifexui/frontend/dist/assets/_2.js index bad51ef90..a078060be 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_2.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./error-banner.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{I as a,L as o,P as s,V as c}from"./SignatureV4.js";import{t as l}from"./back-link.js";import{n as u,r as d,t as f}from"./upload-button.js";import{r as p}from"./s3.js";import{t as m}from"./s32.js";import{t as h}from"./_.js";var g=t(),_=e();function v(){let e=(0,g.c)(24),{bucket:t,_splat:v}=h.useParams(),y=a(v??``),{data:b}=r(m(t,y)),x=p(),S;e[0]===b.Contents?S=e[1]:(S=b.Contents??[],e[0]=b.Contents,e[1]=S);let C=S,w;e[2]===b.CommonPrefixes?w=e[3]:(w=b.CommonPrefixes??[],e[2]=b.CommonPrefixes,e[3]=w);let T=w,E=y.split(`/`).filter(Boolean),D=[{name:t,path:`/s3/ls/${t}`},...E.map((e,n)=>({name:e,path:`/s3/ls/${t}/${`${E.slice(0,n+1).join(`/`)}/`}`}))],O=E.length>1?`/s3/ls/${t}/${E.slice(0,-1).join(`/`)}/`:`/s3/ls/${t}`,k;e[4]===O?k=e[5]:(k=(0,_.jsx)(l,{to:O,children:`Back`}),e[4]=O,e[5]=k);let A;e[6]!==t||e[7]!==y||e[8]!==x.isPending||e[9]!==x.mutateAsync?(A=(0,_.jsx)(f,{bucket:t,isPending:x.isPending,onUpload:x.mutateAsync,prefix:y}),e[6]=t,e[7]=y,e[8]=x.isPending,e[9]=x.mutateAsync,e[10]=A):A=e[10];let j;e[11]===x.error?j=e[12]:(j=x.error&&(0,_.jsx)(n,{error:x.error,msg:`Failed to upload object`}),e[11]=x.error,e[12]=j);let M;e[13]!==t||e[14]!==T||e[15]!==y?(M=T.length>0&&(0,_.jsxs)(`div`,{className:`mb-6`,children:[(0,_.jsx)(`h2`,{className:`mb-3 text-lg font-semibold`,children:`Folders`}),(0,_.jsx)(`div`,{className:`space-y-2`,children:T.map(e=>e.Prefix?(0,_.jsx)(d,{bucketName:t,folderName:c(o(e.Prefix,y)),fullPrefix:s(e.Prefix,y)},e.Prefix):null)})]}),e[13]=t,e[14]=T,e[15]=y,e[16]=M):M=e[16];let N;e[17]!==t||e[18]!==C||e[19]!==y?(N=C.length>0&&(0,_.jsxs)(`div`,{className:`space-y-2`,children:[(0,_.jsx)(`h2`,{className:`mb-3 text-lg font-semibold`,children:`Objects`}),C.map(e=>e.Key?(0,_.jsx)(u,{bucketName:t,displayName:o(e.Key,y),fullKey:s(e.Key,y),object:e},e.Key):null)]}),e[17]=t,e[18]=C,e[19]=y,e[20]=N):N=e[20];let P;return e[21]!==T.length||e[22]!==C.length?(P=C.length===0&&T.length===0&&(0,_.jsx)(`p`,{className:`text-muted-foreground`,children:`No objects found in this folder.`}),e[21]=T.length,e[22]=C.length,e[23]=P):P=e[23],(0,_.jsxs)(_.Fragment,{children:[k,(0,_.jsx)(`div`,{className:`mb-6`,children:(0,_.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,_.jsx)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:D.map((e,t)=>(0,_.jsxs)(`div`,{className:`flex items-center gap-2`,children:[t>0&&(0,_.jsx)(`span`,{children:`/`}),t===D.length-1?(0,_.jsx)(`span`,{className:`text-foreground`,children:e.name}):(0,_.jsx)(i,{className:`hover:text-foreground`,to:e.path,children:e.name})]},e.path))}),A]})}),j,M,N,P]})}export{v as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./error-banner.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{F as a,H as o,L as s,R as c}from"./SignatureV4.js";import{t as l}from"./back-link.js";import{n as u,r as d,t as f}from"./upload-button.js";import{r as p}from"./s3.js";import{t as m}from"./s32.js";import{t as h}from"./_.js";var g=t(),_=e();function v(){let e=(0,g.c)(24),{bucket:t,_splat:v}=h.useParams(),y=s(v??``),{data:b}=r(m(t,y)),x=p(),S;e[0]===b.Contents?S=e[1]:(S=b.Contents??[],e[0]=b.Contents,e[1]=S);let C=S,w;e[2]===b.CommonPrefixes?w=e[3]:(w=b.CommonPrefixes??[],e[2]=b.CommonPrefixes,e[3]=w);let T=w,E=y.split(`/`).filter(Boolean),D=[{name:t,path:`/s3/ls/${t}`},...E.map((e,n)=>({name:e,path:`/s3/ls/${t}/${`${E.slice(0,n+1).join(`/`)}/`}`}))],O=E.length>1?`/s3/ls/${t}/${E.slice(0,-1).join(`/`)}/`:`/s3/ls/${t}`,k;e[4]===O?k=e[5]:(k=(0,_.jsx)(l,{to:O,children:`Back`}),e[4]=O,e[5]=k);let A;e[6]!==t||e[7]!==y||e[8]!==x.isPending||e[9]!==x.mutateAsync?(A=(0,_.jsx)(f,{bucket:t,isPending:x.isPending,onUpload:x.mutateAsync,prefix:y}),e[6]=t,e[7]=y,e[8]=x.isPending,e[9]=x.mutateAsync,e[10]=A):A=e[10];let j;e[11]===x.error?j=e[12]:(j=x.error&&(0,_.jsx)(n,{error:x.error,msg:`Failed to upload object`}),e[11]=x.error,e[12]=j);let M;e[13]!==t||e[14]!==T||e[15]!==y?(M=T.length>0&&(0,_.jsxs)(`div`,{className:`mb-6`,children:[(0,_.jsx)(`h2`,{className:`mb-3 text-lg font-semibold`,children:`Folders`}),(0,_.jsx)(`div`,{className:`space-y-2`,children:T.map(e=>e.Prefix?(0,_.jsx)(d,{bucketName:t,folderName:o(c(e.Prefix,y)),fullPrefix:a(e.Prefix,y)},e.Prefix):null)})]}),e[13]=t,e[14]=T,e[15]=y,e[16]=M):M=e[16];let N;e[17]!==t||e[18]!==C||e[19]!==y?(N=C.length>0&&(0,_.jsxs)(`div`,{className:`space-y-2`,children:[(0,_.jsx)(`h2`,{className:`mb-3 text-lg font-semibold`,children:`Objects`}),C.map(e=>e.Key?(0,_.jsx)(u,{bucketName:t,displayName:c(e.Key,y),fullKey:a(e.Key,y),object:e},e.Key):null)]}),e[17]=t,e[18]=C,e[19]=y,e[20]=N):N=e[20];let P;return e[21]!==T.length||e[22]!==C.length?(P=C.length===0&&T.length===0&&(0,_.jsx)(`p`,{className:`text-muted-foreground`,children:`No objects found in this folder.`}),e[21]=T.length,e[22]=C.length,e[23]=P):P=e[23],(0,_.jsxs)(_.Fragment,{children:[k,(0,_.jsx)(`div`,{className:`mb-6`,children:(0,_.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,_.jsx)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:D.map((e,t)=>(0,_.jsxs)(`div`,{className:`flex items-center gap-2`,children:[t>0&&(0,_.jsx)(`span`,{children:`/`}),t===D.length-1?(0,_.jsx)(`span`,{className:`text-foreground`,children:e.name}):(0,_.jsx)(i,{className:`hover:text-foreground`,to:e.path,children:e.name})]},e.path))}),A]})}),j,M,N,P]})}export{v as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_auth.js b/spinifex/services/spinifexui/frontend/dist/assets/_auth.js index cd348f8cb..2d1440294 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_auth.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_auth.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{a as i,i as a,r as o,t as s}from"./admin.js";import{t as c}from"./link.js";import{n as l}from"./admin-context.js";import{B as u}from"./SignatureV4.js";import{t as d}from"./createLucideIcon.js";import{t as f}from"./chevron-down.js";import{t as p}from"./chevron-right.js";import{a as m,i as h,n as ee,r as g,t as _}from"./shield.js";import{c as v,o as y,p as b,x,y as S}from"./ec22.js";import{n as C}from"./s32.js";import{t as w}from"./page-heading.js";import{t as T}from"./state-badge.js";import{a as E,i as D,n as O,o as te,r as k,t as A}from"./card.js";var j=d(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),M=d(`folder-open`,[[`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`}]]),ne=d(`lock`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]),re=d(`monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]),N=r(),P=e(n(),1),F=t(),ie=[{name:`Air-gap Support`,key:`airgap`},{name:`NVIDIA Bluefield DPU`,key:`bluefield`},{name:`NVIDIA MIG Support`,key:`mig`}];function I(e){let t=Math.floor(e/86400),n=Math.floor(e%86400/3600);if(t>0)return`${t}d ${n}h`;let r=Math.floor(e%3600/60);return n>0?`${n}h ${r}m`:`${r}m`}function L(){let e=(0,N.c)(110),{isAdmin:t,version:n,license:r}=l(),[c,u]=(0,P.useState)(!1),d;e[0]===t?d=e[1]:(d={...s,enabled:t},e[0]=t,e[1]=d);let{data:m}=i(d),h;e[2]===t?h=e[3]:(h={...o,enabled:t},e[2]=t,e[3]=h);let{data:g}=i(h);if(!t||!n)return null;let _,v,y,b,x,S,C,w,T,D,O,j,M,I,L,z,B,V,H;if(e[4]!==r||e[5]!==m?.cluster_mode||e[6]!==m?.nodes||e[7]!==n.arch||e[8]!==n.commit||e[9]!==n.os||e[10]!==n.version||e[11]!==g?.vms){b=m?.nodes??[];let t;e[31]===g?.vms?t=e[32]:(t=g?.vms??[],e[31]=g?.vms,e[32]=t);let i=t,o=m?.cluster_mode??`single-node`;y=r===`open-source`;let s=b[0]?.region??null,c=b.reduce(ce,0),l=b.reduce(se,0),u=b.reduce(oe,0),d=b.reduce(ae,0);O=`mb-6 space-y-4`,w=`grid grid-cols-1 gap-4 md:grid-cols-3`;let f;e[33]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,F.jsx)(E,{className:`pb-2`,children:(0,F.jsxs)(te,{className:`flex items-center gap-2 text-sm`,children:[(0,F.jsx)(re,{className:`size-3.5`}),`Spinifex Info`]})}),e[33]=f):f=e[33];let p;e[34]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:`Version`}),e[34]=p):p=e[34];let h;e[35]===n.version?h=e[36]:(h=(0,F.jsxs)(`div`,{className:`flex justify-between`,children:[p,(0,F.jsx)(`span`,{className:`font-mono`,children:n.version})]}),e[35]=n.version,e[36]=h);let ne;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:`Commit`}),e[37]=ne):ne=e[37];let N;e[38]===n.commit?N=e[39]:(N=(0,F.jsxs)(`div`,{className:`flex justify-between`,children:[ne,(0,F.jsx)(`span`,{className:`font-mono`,children:n.commit})]}),e[38]=n.commit,e[39]=N);let P;e[40]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:`Platform`}),e[40]=P):P=e[40];let ie;e[41]!==n.arch||e[42]!==n.os?(ie=(0,F.jsxs)(`div`,{className:`flex justify-between`,children:[P,(0,F.jsxs)(`span`,{children:[n.os,`/`,n.arch]})]}),e[41]=n.arch,e[42]=n.os,e[43]=ie):ie=e[43],T=(0,F.jsxs)(A,{children:[f,(0,F.jsxs)(k,{className:`space-y-1 text-xs`,children:[h,N,ie,s&&(0,F.jsxs)(`div`,{className:`flex justify-between`,children:[(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:`Region`}),(0,F.jsx)(`span`,{children:s})]})]})]});let R;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,F.jsx)(E,{className:`pb-2`,children:(0,F.jsx)(te,{className:`text-sm`,children:`License & Support`})}),e[44]=R):R=e[44];let U;e[45]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:`License`}),e[45]=U):U=e[45];let W=y?`secondary`:`default`,G=y?`Open Source (AGPLv3)`:`Commercial`,K;e[46]!==W||e[47]!==G?(K=(0,F.jsxs)(`div`,{className:`flex items-center justify-between`,children:[U,(0,F.jsx)(a,{variant:W,children:G})]}),e[46]=W,e[47]=G,e[48]=K):K=e[48];let q;e[49]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:`Support`}),e[49]=q):q=e[49];let J=y?`Community`:`Standard`,Y;e[50]===J?Y=e[51]:(Y=(0,F.jsxs)(`div`,{className:`flex items-center justify-between`,children:[q,(0,F.jsx)(`span`,{children:J})]}),e[50]=J,e[51]=Y);let X;e[52]===y?X=e[53]:(X=y&&(0,F.jsx)(`a`,{href:`https://mulgadc.com/purchase`,target:`_blank`,rel:`noopener noreferrer`,className:`mt-2 block text-xs font-medium text-primary hover:underline`,children:`Upgrade to Commercial →`}),e[52]=y,e[53]=X),e[54]!==K||e[55]!==Y||e[56]!==X?(D=(0,F.jsxs)(A,{children:[R,(0,F.jsxs)(k,{className:`space-y-2 text-xs`,children:[K,Y,X]})]}),e[54]=K,e[55]=Y,e[56]=X,e[57]=D):D=e[57],v=A,e[58]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,F.jsx)(E,{className:`pb-2`,children:(0,F.jsxs)(te,{className:`flex items-center gap-2 text-sm`,children:[(0,F.jsx)(ee,{className:`size-3.5`}),`Cluster Status`]})}),e[58]=C):C=e[58],_=k,B=`space-y-2 text-xs`,e[59]===o?V=e[60]:(V=(0,F.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,F.jsx)(a,{variant:`outline`,children:o})}),e[59]=o,e[60]=V);let Z;e[61]===Symbol.for(`react.memo_cache_sentinel`)?(Z=(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:`Nodes`}),e[61]=Z):Z=e[61],H=(0,F.jsxs)(`div`,{className:`flex justify-between`,children:[Z,(0,F.jsx)(`span`,{children:b.length})]});let Q;e[62]===Symbol.for(`react.memo_cache_sentinel`)?(Q=(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:`EC2 Instances`}),e[62]=Q):Q=e[62],e[63]===i.length?x=e[64]:(x=(0,F.jsxs)(`div`,{className:`flex justify-between`,children:[Q,(0,F.jsx)(`span`,{children:i.length})]}),e[63]=i.length,e[64]=x);let $;e[65]===Symbol.for(`react.memo_cache_sentinel`)?($=(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:`vCPU`}),e[65]=$):$=e[65],S=(0,F.jsxs)(`div`,{className:`flex justify-between`,children:[$,(0,F.jsxs)(`span`,{children:[l,` / `,c]})]}),L=`flex justify-between`,e[66]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:`Memory`}),e[66]=z):z=e[66],j=d.toFixed(1),M=` / `,I=u.toFixed(1),e[4]=r,e[5]=m?.cluster_mode,e[6]=m?.nodes,e[7]=n.arch,e[8]=n.commit,e[9]=n.os,e[10]=n.version,e[11]=g?.vms,e[12]=_,e[13]=v,e[14]=y,e[15]=b,e[16]=x,e[17]=S,e[18]=C,e[19]=w,e[20]=T,e[21]=D,e[22]=O,e[23]=j,e[24]=M,e[25]=I,e[26]=L,e[27]=z,e[28]=B,e[29]=V,e[30]=H}else _=e[12],v=e[13],y=e[14],b=e[15],x=e[16],S=e[17],C=e[18],w=e[19],T=e[20],D=e[21],O=e[22],j=e[23],M=e[24],I=e[25],L=e[26],z=e[27],B=e[28],V=e[29],H=e[30];let U;e[67]!==j||e[68]!==M||e[69]!==I?(U=(0,F.jsxs)(`span`,{children:[j,M,I,` GB`]}),e[67]=j,e[68]=M,e[69]=I,e[70]=U):U=e[70];let W;e[71]!==U||e[72]!==L||e[73]!==z?(W=(0,F.jsxs)(`div`,{className:L,children:[z,U]}),e[71]=U,e[72]=L,e[73]=z,e[74]=W):W=e[74];let G;e[75]!==_||e[76]!==x||e[77]!==S||e[78]!==W||e[79]!==B||e[80]!==V||e[81]!==H?(G=(0,F.jsxs)(_,{className:B,children:[V,H,x,S,W]}),e[75]=_,e[76]=x,e[77]=S,e[78]=W,e[79]=B,e[80]=V,e[81]=H,e[82]=G):G=e[82];let K;e[83]!==v||e[84]!==C||e[85]!==G?(K=(0,F.jsxs)(v,{children:[C,G]}),e[83]=v,e[84]=C,e[85]=G,e[86]=K):K=e[86];let q;e[87]!==w||e[88]!==T||e[89]!==D||e[90]!==K?(q=(0,F.jsxs)(`div`,{className:w,children:[T,D,K]}),e[87]=w,e[88]=T,e[89]=D,e[90]=K,e[91]=q):q=e[91];let J;e[92]!==b||e[93]!==c?(J=b.length>0&&(0,F.jsxs)(A,{children:[(0,F.jsx)(E,{className:`pb-0`,children:(0,F.jsxs)(`button`,{type:`button`,className:`flex items-center gap-2 text-sm font-medium`,onClick:()=>u(!c),children:[c?(0,F.jsx)(f,{className:`size-3.5`}):(0,F.jsx)(p,{className:`size-3.5`}),`Nodes (`,b.length,`)`]})}),c&&(0,F.jsx)(k,{className:`pt-2`,children:(0,F.jsx)(R,{nodes:b})})]}),e[92]=b,e[93]=c,e[94]=J):J=e[94];let Y;e[95]===Symbol.for(`react.memo_cache_sentinel`)?(Y=(0,F.jsx)(E,{className:`pb-2`,children:(0,F.jsx)(te,{className:`text-sm`,children:`Commercial Add-ons`})}),e[95]=Y):Y=e[95];let X;e[96]===y?X=e[97]:(X=ie.map(e=>(0,F.jsxs)(`div`,{className:`flex items-center justify-between text-xs`,children:[(0,F.jsx)(`span`,{className:y?`text-muted-foreground`:void 0,children:e.name}),y?(0,F.jsx)(ne,{className:`size-3 text-muted-foreground`}):(0,F.jsx)(a,{variant:`outline`,className:`text-[0.625rem]`,children:`Active`})]},e.key)),e[96]=y,e[97]=X);let Z;e[98]===X?Z=e[99]:(Z=(0,F.jsx)(`div`,{className:`space-y-2`,children:X}),e[98]=X,e[99]=Z);let Q;e[100]===y?Q=e[101]:(Q=y&&(0,F.jsx)(`a`,{href:`https://mulgadc.com/purchase`,target:`_blank`,rel:`noopener noreferrer`,className:`mt-3 block text-xs font-medium text-primary hover:underline`,children:`Learn more about commercial features →`}),e[100]=y,e[101]=Q);let $;e[102]!==Z||e[103]!==Q?($=(0,F.jsxs)(A,{children:[Y,(0,F.jsxs)(k,{children:[Z,Q]})]}),e[102]=Z,e[103]=Q,e[104]=$):$=e[104];let le;return e[105]!==O||e[106]!==q||e[107]!==J||e[108]!==$?(le=(0,F.jsxs)(`div`,{className:O,children:[q,J,$]}),e[105]=O,e[106]=q,e[107]=J,e[108]=$,e[109]=le):le=e[109],le}function ae(e,t){return e+t.alloc_mem_gb}function oe(e,t){return e+t.total_mem_gb}function se(e,t){return e+t.alloc_vcpu}function ce(e,t){return e+t.total_vcpu}function R(e){let t=(0,N.c)(5),{nodes:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,F.jsx)(`thead`,{children:(0,F.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,F.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Name`}),(0,F.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Status`}),(0,F.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Roles`}),(0,F.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`IP`}),(0,F.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Region`}),(0,F.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`AZ`}),(0,F.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Uptime`}),(0,F.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`EC2`}),(0,F.jsx)(`th`,{className:`pb-1 font-medium`,children:`Services`})]})}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=n.map(z),t[1]=n,t[2]=i);let a;return t[3]===i?a=t[4]:(a=(0,F.jsx)(`div`,{className:`overflow-x-auto`,children:(0,F.jsxs)(`table`,{className:`w-full text-xs`,children:[r,(0,F.jsx)(`tbody`,{children:i})]})}),t[3]=i,t[4]=a),a}function z(e){return(0,F.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,F.jsx)(`td`,{className:`py-1.5 pr-4 font-mono font-medium`,children:e.node}),(0,F.jsx)(`td`,{className:`py-1.5 pr-4`,children:(0,F.jsx)(a,{variant:e.status===`Ready`?`default`:`secondary`,className:`text-[0.625rem]`,children:e.status})}),(0,F.jsx)(`td`,{className:`py-1.5 pr-4`,children:(0,F.jsxs)(`div`,{className:`flex gap-1`,children:[e.nats_role&&(0,F.jsxs)(`span`,{className:`text-muted-foreground`,children:[`nats:`,e.nats_role]}),e.predastore_role&&(0,F.jsxs)(`span`,{className:`text-muted-foreground`,children:[`ps:`,e.predastore_role]})]})}),(0,F.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.host}),(0,F.jsx)(`td`,{className:`py-1.5 pr-4`,children:e.region}),(0,F.jsx)(`td`,{className:`py-1.5 pr-4`,children:e.az}),(0,F.jsx)(`td`,{className:`py-1.5 pr-4`,children:I(e.uptime)}),(0,F.jsx)(`td`,{className:`py-1.5 pr-4`,children:e.vm_count}),(0,F.jsx)(`td`,{className:`py-1.5`,children:(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:e.services.length})})]},e.node)}var B=5;function V(){let e=(0,N.c)(8),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,F.jsx)(w,{title:`Dashboard`}),n=(0,F.jsx)(L,{}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,F.jsx)(P.Suspense,{fallback:(0,F.jsx)(H,{}),children:(0,F.jsx)(K,{})}),e[2]=r):r=e[2];let i;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,F.jsx)(P.Suspense,{fallback:(0,F.jsx)(H,{}),children:(0,F.jsx)($,{})}),e[3]=i):i=e[3];let a;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,F.jsx)(P.Suspense,{fallback:(0,F.jsx)(H,{}),children:(0,F.jsx)(pe,{})}),e[4]=a):a=e[4];let o;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,F.jsx)(P.Suspense,{fallback:(0,F.jsx)(H,{}),children:(0,F.jsx)(he,{})}),e[5]=o):o=e[5];let s;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,F.jsx)(P.Suspense,{fallback:(0,F.jsx)(H,{}),children:(0,F.jsx)(_e,{})}),e[6]=s):s=e[6];let c;return e[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,F.jsxs)(F.Fragment,{children:[t,n,(0,F.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3`,children:[r,i,a,o,s,(0,F.jsx)(P.Suspense,{fallback:(0,F.jsx)(H,{}),children:(0,F.jsx)(ye,{})})]})]}),e[7]=c):c=e[7],c}function H(){let e=(0,N.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,F.jsx)(E,{children:(0,F.jsx)(`div`,{className:`h-4 w-32 animate-pulse rounded bg-muted`})}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,F.jsxs)(A,{children:[t,(0,F.jsx)(k,{children:(0,F.jsxs)(`div`,{className:`space-y-2`,children:[(0,F.jsx)(`div`,{className:`h-3 w-48 animate-pulse rounded bg-muted`}),(0,F.jsx)(`div`,{className:`h-3 w-36 animate-pulse rounded bg-muted`})]})})]}),e[1]=n):n=e[1],n}function U(e){let t=(0,N.c)(16),{title:n,icon:r,count:i,to:a,children:o}=e,s;t[0]!==r||t[1]!==n?(s=(0,F.jsxs)(te,{className:`flex items-center gap-2`,children:[r,n]}),t[0]=r,t[1]=n,t[2]=s):s=t[2];let l;t[3]===i?l=t[4]:(l=(0,F.jsx)(O,{children:(0,F.jsx)(`span`,{className:`rounded-md bg-muted px-2 py-0.5 text-xs font-semibold tabular-nums`,children:i})}),t[3]=i,t[4]=l);let u;t[5]!==s||t[6]!==l?(u=(0,F.jsxs)(E,{children:[s,l]}),t[5]=s,t[6]=l,t[7]=u):u=t[7];let d;t[8]===o?d=t[9]:(d=(0,F.jsx)(k,{children:o}),t[8]=o,t[9]=d);let f;t[10]===a?f=t[11]:(f=(0,F.jsx)(D,{children:(0,F.jsx)(c,{to:a,className:`text-xs font-medium text-primary hover:underline`,children:`View all →`})}),t[10]=a,t[11]=f);let p;return t[12]!==u||t[13]!==d||t[14]!==f?(p=(0,F.jsxs)(A,{children:[u,d,f]}),t[12]=u,t[13]=d,t[14]=f,t[15]=p):p=t[15],p}function W(e){let t=(0,N.c)(2),{total:n}=e;if(n<=B)return null;let r=n-B,i;return t[0]===r?i=t[1]:(i=(0,F.jsxs)(`p`,{className:`mt-1 text-[0.625rem] text-muted-foreground`,children:[`+`,r,` more`]}),t[0]=r,t[1]=i),i}function G(e){let t=(0,N.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,F.jsx)(`div`,{className:`flex items-center justify-between py-0.5 text-xs`,children:n}),t[0]=n,t[1]=r),r}function K(){let e=(0,N.c)(16),{data:t}=i(y),n,r,a,o,s;if(e[0]!==t?.Reservations){let i=t?.Reservations?.flatMap(Q)??[];n=i.filter(Z),a=i.filter(X),o=i.filter(Y),r=i.filter(J),s=[...a,...r].slice(0,B),e[0]=t?.Reservations,e[1]=n,e[2]=r,e[3]=a,e[4]=o,e[5]=s}else n=e[1],r=e[2],a=e[3],o=e[4],s=e[5];let c=s,l;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,F.jsx)(m,{className:`size-3.5`}),e[6]=l):l=e[6];let u;e[7]!==n.length||e[8]!==c||e[9]!==r||e[10]!==a||e[11]!==o?(u=n.length===0?(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No instances`}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`div`,{className:`mb-2 flex gap-3 text-[0.625rem] text-muted-foreground`,children:[(0,F.jsxs)(`span`,{children:[a.length,` running`]}),(0,F.jsxs)(`span`,{children:[o.length,` stopped`]})]}),(0,F.jsx)(`div`,{className:`space-y-0.5`,children:c.map(q)}),(0,F.jsx)(W,{total:a.length+r.length})]}),e[7]=n.length,e[8]=c,e[9]=r,e[10]=a,e[11]=o,e[12]=u):u=e[12];let d;return e[13]!==n.length||e[14]!==u?(d=(0,F.jsx)(U,{title:`Instances`,icon:l,count:n.length,to:`/ec2/describe-instances`,children:u}),e[13]=n.length,e[14]=u,e[15]=d):d=e[15],d}function q(e){return(0,F.jsxs)(G,{children:[(0,F.jsx)(`span`,{className:`font-mono`,children:e.InstanceId}),(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:e.InstanceType})]},e.InstanceId)}function J(e){return e.State?.Name===`pending`}function Y(e){return e.State?.Name===`stopped`}function X(e){return e.State?.Name===`running`}function Z(e){return e.State?.Name!==`terminated`}function Q(e){return e.Instances??[]}function $(){let e=(0,N.c)(3),{data:t}=i(S),n;if(e[0]!==t?.Volumes){let r=t?.Volumes??[],i=r.reduce(fe,0),a=r.filter(de),o=r.filter(ue),s=r.slice(0,B),c;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,F.jsx)(j,{className:`size-3.5`}),e[2]=c):c=e[2],n=(0,F.jsx)(U,{title:`Volumes`,icon:c,count:r.length,to:`/ec2/describe-volumes`,children:r.length===0?(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No volumes`}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`div`,{className:`mb-2 flex gap-3 text-[0.625rem] text-muted-foreground`,children:[(0,F.jsxs)(`span`,{children:[i,` GiB total`]}),(0,F.jsxs)(`span`,{children:[a.length,` in-use`]}),(0,F.jsxs)(`span`,{children:[o.length,` available`]})]}),(0,F.jsx)(`div`,{className:`space-y-0.5`,children:s.map(le)}),(0,F.jsx)(W,{total:r.length})]})}),e[0]=t?.Volumes,e[1]=n}else n=e[1];return n}function le(e){return(0,F.jsxs)(G,{children:[(0,F.jsx)(`span`,{className:`font-mono`,children:e.VolumeId}),(0,F.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,F.jsxs)(`span`,{className:`text-muted-foreground`,children:[e.Size,` GiB`]}),(0,F.jsx)(T,{state:e.State})]})]},e.VolumeId)}function ue(e){return e.State===`available`}function de(e){return e.State===`in-use`}function fe(e,t){return e+(t.Size??0)}function pe(){let e=(0,N.c)(3),{data:t}=i(x),n;if(e[0]!==t?.Vpcs){let r=t?.Vpcs??[],i=r.slice(0,B),a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,F.jsx)(g,{className:`size-3.5`}),e[2]=a):a=e[2],n=(0,F.jsx)(U,{title:`VPCs`,icon:a,count:r.length,to:`/ec2/describe-vpcs`,children:r.length===0?(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No VPCs`}):(0,F.jsxs)(`div`,{className:`space-y-0.5`,children:[i.map(me),(0,F.jsx)(W,{total:r.length})]})}),e[0]=t?.Vpcs,e[1]=n}else n=e[1];return n}function me(e){let t=u(e.Tags);return(0,F.jsxs)(G,{children:[(0,F.jsxs)(`span`,{className:`font-mono`,children:[e.VpcId,t&&(0,F.jsxs)(`span`,{className:`ml-1 font-sans text-muted-foreground`,children:[`(`,t,`)`]})]}),(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:e.CidrBlock})]},e.VpcId)}function he(){let e=(0,N.c)(3),{data:t}=i(v),n;if(e[0]!==t?.KeyPairs){let r=t?.KeyPairs??[],i=r.slice(0,B),a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,F.jsx)(h,{className:`size-3.5`}),e[2]=a):a=e[2],n=(0,F.jsx)(U,{title:`Key Pairs`,icon:a,count:r.length,to:`/ec2/describe-key-pairs`,children:r.length===0?(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No key pairs`}):(0,F.jsxs)(`div`,{className:`space-y-0.5`,children:[i.map(ge),(0,F.jsx)(W,{total:r.length})]})}),e[0]=t?.KeyPairs,e[1]=n}else n=e[1];return n}function ge(e){return(0,F.jsx)(G,{children:(0,F.jsx)(`span`,{className:`font-mono`,children:e.KeyName})},e.KeyPairId)}function _e(){let e=(0,N.c)(3),{data:t}=i(C),n;if(e[0]!==t?.Buckets){let r=t?.Buckets??[],i=r.slice(0,B),a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,F.jsx)(M,{className:`size-3.5`}),e[2]=a):a=e[2],n=(0,F.jsx)(U,{title:`S3 Buckets`,icon:a,count:r.length,to:`/s3/ls`,children:r.length===0?(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No buckets`}):(0,F.jsxs)(`div`,{className:`space-y-0.5`,children:[i.map(ve),(0,F.jsx)(W,{total:r.length})]})}),e[0]=t?.Buckets,e[1]=n}else n=e[1];return n}function ve(e){return(0,F.jsx)(G,{children:(0,F.jsx)(`span`,{className:`font-mono`,children:e.Name})},e.Name)}function ye(){let e=(0,N.c)(3),{data:t}=i(b),n;if(e[0]!==t?.SecurityGroups){let r=t?.SecurityGroups??[],i=r.slice(0,B),a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,F.jsx)(_,{className:`size-3.5`}),e[2]=a):a=e[2],n=(0,F.jsx)(U,{title:`Security Groups`,icon:a,count:r.length,to:`/ec2/describe-security-groups`,children:r.length===0?(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No security groups`}):(0,F.jsxs)(`div`,{className:`space-y-0.5`,children:[i.map(be),(0,F.jsx)(W,{total:r.length})]})}),e[0]=t?.SecurityGroups,e[1]=n}else n=e[1];return n}function be(e){return(0,F.jsxs)(G,{children:[(0,F.jsx)(`span`,{className:`font-mono`,children:e.GroupName}),(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:e.VpcId})]},e.GroupId)}export{V as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useQuery.js";import{t as a}from"./link.js";import{n as o}from"./admin-context.js";import{V as s}from"./SignatureV4.js";import{t as c}from"./createLucideIcon.js";import{t as l}from"./chevron-down.js";import{t as u}from"./chevron-right.js";import{a as d,i as f,n as p,r as m,t as h}from"./shield.js";import{c as g,o as _,p as v,x as y,y as b}from"./ec22.js";import{n as x}from"./s32.js";import{t as S}from"./page-heading.js";import{t as C}from"./state-badge.js";import{i as ee,r as te,t as w}from"./admin.js";import{a as T,i as E,n as D,o as O,r as k,t as A}from"./card.js";var j=c(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),M=c(`folder-open`,[[`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`}]]),ne=c(`lock`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]),re=c(`monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]),N=r(),P=e(n(),1),F=t(),ie=[{name:`Air-gap Support`,key:`airgap`},{name:`NVIDIA Bluefield DPU`,key:`bluefield`},{name:`NVIDIA MIG Support`,key:`mig`}];function I(e){let t=Math.floor(e/86400),n=Math.floor(e%86400/3600);if(t>0)return`${t}d ${n}h`;let r=Math.floor(e%3600/60);return n>0?`${n}h ${r}m`:`${r}m`}function L(){let e=(0,N.c)(110),{isAdmin:t,version:n,license:r}=o(),[a,s]=(0,P.useState)(!1),c;e[0]===t?c=e[1]:(c={...w,enabled:t},e[0]=t,e[1]=c);let{data:d}=i(c),f;e[2]===t?f=e[3]:(f={...te,enabled:t},e[2]=t,e[3]=f);let{data:m}=i(f);if(!t||!n)return null;let h,g,_,v,y,b,x,S,C,E,D,j,M,I,L,z,B,V,H;if(e[4]!==r||e[5]!==d?.cluster_mode||e[6]!==d?.nodes||e[7]!==n.arch||e[8]!==n.commit||e[9]!==n.os||e[10]!==n.version||e[11]!==m?.vms){v=d?.nodes??[];let t;e[31]===m?.vms?t=e[32]:(t=m?.vms??[],e[31]=m?.vms,e[32]=t);let i=t,a=d?.cluster_mode??`single-node`;_=r===`open-source`;let o=v[0]?.region??null,s=v.reduce(ce,0),c=v.reduce(se,0),l=v.reduce(oe,0),u=v.reduce(ae,0);D=`mb-6 space-y-4`,S=`grid grid-cols-1 gap-4 md:grid-cols-3`;let f;e[33]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,F.jsx)(T,{className:`pb-2`,children:(0,F.jsxs)(O,{className:`flex items-center gap-2 text-sm`,children:[(0,F.jsx)(re,{className:`size-3.5`}),`Spinifex Info`]})}),e[33]=f):f=e[33];let te;e[34]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:`Version`}),e[34]=te):te=e[34];let w;e[35]===n.version?w=e[36]:(w=(0,F.jsxs)(`div`,{className:`flex justify-between`,children:[te,(0,F.jsx)(`span`,{className:`font-mono`,children:n.version})]}),e[35]=n.version,e[36]=w);let ne;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:`Commit`}),e[37]=ne):ne=e[37];let N;e[38]===n.commit?N=e[39]:(N=(0,F.jsxs)(`div`,{className:`flex justify-between`,children:[ne,(0,F.jsx)(`span`,{className:`font-mono`,children:n.commit})]}),e[38]=n.commit,e[39]=N);let P;e[40]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:`Platform`}),e[40]=P):P=e[40];let ie;e[41]!==n.arch||e[42]!==n.os?(ie=(0,F.jsxs)(`div`,{className:`flex justify-between`,children:[P,(0,F.jsxs)(`span`,{children:[n.os,`/`,n.arch]})]}),e[41]=n.arch,e[42]=n.os,e[43]=ie):ie=e[43],C=(0,F.jsxs)(A,{children:[f,(0,F.jsxs)(k,{className:`space-y-1 text-xs`,children:[w,N,ie,o&&(0,F.jsxs)(`div`,{className:`flex justify-between`,children:[(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:`Region`}),(0,F.jsx)(`span`,{children:o})]})]})]});let R;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,F.jsx)(T,{className:`pb-2`,children:(0,F.jsx)(O,{className:`text-sm`,children:`License & Support`})}),e[44]=R):R=e[44];let U;e[45]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:`License`}),e[45]=U):U=e[45];let W=_?`secondary`:`default`,G=_?`Open Source (AGPLv3)`:`Commercial`,K;e[46]!==W||e[47]!==G?(K=(0,F.jsxs)(`div`,{className:`flex items-center justify-between`,children:[U,(0,F.jsx)(ee,{variant:W,children:G})]}),e[46]=W,e[47]=G,e[48]=K):K=e[48];let q;e[49]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:`Support`}),e[49]=q):q=e[49];let J=_?`Community`:`Standard`,Y;e[50]===J?Y=e[51]:(Y=(0,F.jsxs)(`div`,{className:`flex items-center justify-between`,children:[q,(0,F.jsx)(`span`,{children:J})]}),e[50]=J,e[51]=Y);let X;e[52]===_?X=e[53]:(X=_&&(0,F.jsx)(`a`,{href:`https://mulgadc.com/purchase`,target:`_blank`,rel:`noopener noreferrer`,className:`mt-2 block text-xs font-medium text-primary hover:underline`,children:`Upgrade to Commercial →`}),e[52]=_,e[53]=X),e[54]!==K||e[55]!==Y||e[56]!==X?(E=(0,F.jsxs)(A,{children:[R,(0,F.jsxs)(k,{className:`space-y-2 text-xs`,children:[K,Y,X]})]}),e[54]=K,e[55]=Y,e[56]=X,e[57]=E):E=e[57],g=A,e[58]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,F.jsx)(T,{className:`pb-2`,children:(0,F.jsxs)(O,{className:`flex items-center gap-2 text-sm`,children:[(0,F.jsx)(p,{className:`size-3.5`}),`Cluster Status`]})}),e[58]=x):x=e[58],h=k,B=`space-y-2 text-xs`,e[59]===a?V=e[60]:(V=(0,F.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,F.jsx)(ee,{variant:`outline`,children:a})}),e[59]=a,e[60]=V);let Z;e[61]===Symbol.for(`react.memo_cache_sentinel`)?(Z=(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:`Nodes`}),e[61]=Z):Z=e[61],H=(0,F.jsxs)(`div`,{className:`flex justify-between`,children:[Z,(0,F.jsx)(`span`,{children:v.length})]});let Q;e[62]===Symbol.for(`react.memo_cache_sentinel`)?(Q=(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:`EC2 Instances`}),e[62]=Q):Q=e[62],e[63]===i.length?y=e[64]:(y=(0,F.jsxs)(`div`,{className:`flex justify-between`,children:[Q,(0,F.jsx)(`span`,{children:i.length})]}),e[63]=i.length,e[64]=y);let $;e[65]===Symbol.for(`react.memo_cache_sentinel`)?($=(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:`vCPU`}),e[65]=$):$=e[65],b=(0,F.jsxs)(`div`,{className:`flex justify-between`,children:[$,(0,F.jsxs)(`span`,{children:[c,` / `,s]})]}),L=`flex justify-between`,e[66]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:`Memory`}),e[66]=z):z=e[66],j=u.toFixed(1),M=` / `,I=l.toFixed(1),e[4]=r,e[5]=d?.cluster_mode,e[6]=d?.nodes,e[7]=n.arch,e[8]=n.commit,e[9]=n.os,e[10]=n.version,e[11]=m?.vms,e[12]=h,e[13]=g,e[14]=_,e[15]=v,e[16]=y,e[17]=b,e[18]=x,e[19]=S,e[20]=C,e[21]=E,e[22]=D,e[23]=j,e[24]=M,e[25]=I,e[26]=L,e[27]=z,e[28]=B,e[29]=V,e[30]=H}else h=e[12],g=e[13],_=e[14],v=e[15],y=e[16],b=e[17],x=e[18],S=e[19],C=e[20],E=e[21],D=e[22],j=e[23],M=e[24],I=e[25],L=e[26],z=e[27],B=e[28],V=e[29],H=e[30];let U;e[67]!==j||e[68]!==M||e[69]!==I?(U=(0,F.jsxs)(`span`,{children:[j,M,I,` GB`]}),e[67]=j,e[68]=M,e[69]=I,e[70]=U):U=e[70];let W;e[71]!==U||e[72]!==L||e[73]!==z?(W=(0,F.jsxs)(`div`,{className:L,children:[z,U]}),e[71]=U,e[72]=L,e[73]=z,e[74]=W):W=e[74];let G;e[75]!==h||e[76]!==y||e[77]!==b||e[78]!==W||e[79]!==B||e[80]!==V||e[81]!==H?(G=(0,F.jsxs)(h,{className:B,children:[V,H,y,b,W]}),e[75]=h,e[76]=y,e[77]=b,e[78]=W,e[79]=B,e[80]=V,e[81]=H,e[82]=G):G=e[82];let K;e[83]!==g||e[84]!==x||e[85]!==G?(K=(0,F.jsxs)(g,{children:[x,G]}),e[83]=g,e[84]=x,e[85]=G,e[86]=K):K=e[86];let q;e[87]!==S||e[88]!==C||e[89]!==E||e[90]!==K?(q=(0,F.jsxs)(`div`,{className:S,children:[C,E,K]}),e[87]=S,e[88]=C,e[89]=E,e[90]=K,e[91]=q):q=e[91];let J;e[92]!==v||e[93]!==a?(J=v.length>0&&(0,F.jsxs)(A,{children:[(0,F.jsx)(T,{className:`pb-0`,children:(0,F.jsxs)(`button`,{type:`button`,className:`flex items-center gap-2 text-sm font-medium`,onClick:()=>s(!a),children:[a?(0,F.jsx)(l,{className:`size-3.5`}):(0,F.jsx)(u,{className:`size-3.5`}),`Nodes (`,v.length,`)`]})}),a&&(0,F.jsx)(k,{className:`pt-2`,children:(0,F.jsx)(R,{nodes:v})})]}),e[92]=v,e[93]=a,e[94]=J):J=e[94];let Y;e[95]===Symbol.for(`react.memo_cache_sentinel`)?(Y=(0,F.jsx)(T,{className:`pb-2`,children:(0,F.jsx)(O,{className:`text-sm`,children:`Commercial Add-ons`})}),e[95]=Y):Y=e[95];let X;e[96]===_?X=e[97]:(X=ie.map(e=>(0,F.jsxs)(`div`,{className:`flex items-center justify-between text-xs`,children:[(0,F.jsx)(`span`,{className:_?`text-muted-foreground`:void 0,children:e.name}),_?(0,F.jsx)(ne,{className:`size-3 text-muted-foreground`}):(0,F.jsx)(ee,{variant:`outline`,className:`text-[0.625rem]`,children:`Active`})]},e.key)),e[96]=_,e[97]=X);let Z;e[98]===X?Z=e[99]:(Z=(0,F.jsx)(`div`,{className:`space-y-2`,children:X}),e[98]=X,e[99]=Z);let Q;e[100]===_?Q=e[101]:(Q=_&&(0,F.jsx)(`a`,{href:`https://mulgadc.com/purchase`,target:`_blank`,rel:`noopener noreferrer`,className:`mt-3 block text-xs font-medium text-primary hover:underline`,children:`Learn more about commercial features →`}),e[100]=_,e[101]=Q);let $;e[102]!==Z||e[103]!==Q?($=(0,F.jsxs)(A,{children:[Y,(0,F.jsxs)(k,{children:[Z,Q]})]}),e[102]=Z,e[103]=Q,e[104]=$):$=e[104];let le;return e[105]!==D||e[106]!==q||e[107]!==J||e[108]!==$?(le=(0,F.jsxs)(`div`,{className:D,children:[q,J,$]}),e[105]=D,e[106]=q,e[107]=J,e[108]=$,e[109]=le):le=e[109],le}function ae(e,t){return e+t.alloc_mem_gb}function oe(e,t){return e+t.total_mem_gb}function se(e,t){return e+t.alloc_vcpu}function ce(e,t){return e+t.total_vcpu}function R(e){let t=(0,N.c)(5),{nodes:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,F.jsx)(`thead`,{children:(0,F.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,F.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Name`}),(0,F.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Status`}),(0,F.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Roles`}),(0,F.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`IP`}),(0,F.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Region`}),(0,F.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`AZ`}),(0,F.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Uptime`}),(0,F.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`EC2`}),(0,F.jsx)(`th`,{className:`pb-1 font-medium`,children:`Services`})]})}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=n.map(z),t[1]=n,t[2]=i);let a;return t[3]===i?a=t[4]:(a=(0,F.jsx)(`div`,{className:`overflow-x-auto`,children:(0,F.jsxs)(`table`,{className:`w-full text-xs`,children:[r,(0,F.jsx)(`tbody`,{children:i})]})}),t[3]=i,t[4]=a),a}function z(e){return(0,F.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,F.jsx)(`td`,{className:`py-1.5 pr-4 font-mono font-medium`,children:e.node}),(0,F.jsx)(`td`,{className:`py-1.5 pr-4`,children:(0,F.jsx)(ee,{variant:e.status===`Ready`?`default`:`secondary`,className:`text-[0.625rem]`,children:e.status})}),(0,F.jsx)(`td`,{className:`py-1.5 pr-4`,children:(0,F.jsxs)(`div`,{className:`flex gap-1`,children:[e.nats_role&&(0,F.jsxs)(`span`,{className:`text-muted-foreground`,children:[`nats:`,e.nats_role]}),e.predastore_role&&(0,F.jsxs)(`span`,{className:`text-muted-foreground`,children:[`ps:`,e.predastore_role]})]})}),(0,F.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.host}),(0,F.jsx)(`td`,{className:`py-1.5 pr-4`,children:e.region}),(0,F.jsx)(`td`,{className:`py-1.5 pr-4`,children:e.az}),(0,F.jsx)(`td`,{className:`py-1.5 pr-4`,children:I(e.uptime)}),(0,F.jsx)(`td`,{className:`py-1.5 pr-4`,children:e.vm_count}),(0,F.jsx)(`td`,{className:`py-1.5`,children:(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:e.services.length})})]},e.node)}var B=5;function V(){let e=(0,N.c)(8),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,F.jsx)(S,{title:`Dashboard`}),n=(0,F.jsx)(L,{}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,F.jsx)(P.Suspense,{fallback:(0,F.jsx)(H,{}),children:(0,F.jsx)(K,{})}),e[2]=r):r=e[2];let i;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,F.jsx)(P.Suspense,{fallback:(0,F.jsx)(H,{}),children:(0,F.jsx)($,{})}),e[3]=i):i=e[3];let a;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,F.jsx)(P.Suspense,{fallback:(0,F.jsx)(H,{}),children:(0,F.jsx)(pe,{})}),e[4]=a):a=e[4];let o;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,F.jsx)(P.Suspense,{fallback:(0,F.jsx)(H,{}),children:(0,F.jsx)(he,{})}),e[5]=o):o=e[5];let s;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,F.jsx)(P.Suspense,{fallback:(0,F.jsx)(H,{}),children:(0,F.jsx)(_e,{})}),e[6]=s):s=e[6];let c;return e[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,F.jsxs)(F.Fragment,{children:[t,n,(0,F.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3`,children:[r,i,a,o,s,(0,F.jsx)(P.Suspense,{fallback:(0,F.jsx)(H,{}),children:(0,F.jsx)(ye,{})})]})]}),e[7]=c):c=e[7],c}function H(){let e=(0,N.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,F.jsx)(T,{children:(0,F.jsx)(`div`,{className:`h-4 w-32 animate-pulse rounded bg-muted`})}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,F.jsxs)(A,{children:[t,(0,F.jsx)(k,{children:(0,F.jsxs)(`div`,{className:`space-y-2`,children:[(0,F.jsx)(`div`,{className:`h-3 w-48 animate-pulse rounded bg-muted`}),(0,F.jsx)(`div`,{className:`h-3 w-36 animate-pulse rounded bg-muted`})]})})]}),e[1]=n):n=e[1],n}function U(e){let t=(0,N.c)(16),{title:n,icon:r,count:i,to:o,children:s}=e,c;t[0]!==r||t[1]!==n?(c=(0,F.jsxs)(O,{className:`flex items-center gap-2`,children:[r,n]}),t[0]=r,t[1]=n,t[2]=c):c=t[2];let l;t[3]===i?l=t[4]:(l=(0,F.jsx)(D,{children:(0,F.jsx)(`span`,{className:`rounded-md bg-muted px-2 py-0.5 text-xs font-semibold tabular-nums`,children:i})}),t[3]=i,t[4]=l);let u;t[5]!==c||t[6]!==l?(u=(0,F.jsxs)(T,{children:[c,l]}),t[5]=c,t[6]=l,t[7]=u):u=t[7];let d;t[8]===s?d=t[9]:(d=(0,F.jsx)(k,{children:s}),t[8]=s,t[9]=d);let f;t[10]===o?f=t[11]:(f=(0,F.jsx)(E,{children:(0,F.jsx)(a,{to:o,className:`text-xs font-medium text-primary hover:underline`,children:`View all →`})}),t[10]=o,t[11]=f);let p;return t[12]!==u||t[13]!==d||t[14]!==f?(p=(0,F.jsxs)(A,{children:[u,d,f]}),t[12]=u,t[13]=d,t[14]=f,t[15]=p):p=t[15],p}function W(e){let t=(0,N.c)(2),{total:n}=e;if(n<=B)return null;let r=n-B,i;return t[0]===r?i=t[1]:(i=(0,F.jsxs)(`p`,{className:`mt-1 text-[0.625rem] text-muted-foreground`,children:[`+`,r,` more`]}),t[0]=r,t[1]=i),i}function G(e){let t=(0,N.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,F.jsx)(`div`,{className:`flex items-center justify-between py-0.5 text-xs`,children:n}),t[0]=n,t[1]=r),r}function K(){let e=(0,N.c)(16),{data:t}=i(_),n,r,a,o,s;if(e[0]!==t?.Reservations){let i=t?.Reservations?.flatMap(Q)??[];n=i.filter(Z),a=i.filter(X),o=i.filter(Y),r=i.filter(J),s=[...a,...r].slice(0,B),e[0]=t?.Reservations,e[1]=n,e[2]=r,e[3]=a,e[4]=o,e[5]=s}else n=e[1],r=e[2],a=e[3],o=e[4],s=e[5];let c=s,l;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,F.jsx)(d,{className:`size-3.5`}),e[6]=l):l=e[6];let u;e[7]!==n.length||e[8]!==c||e[9]!==r||e[10]!==a||e[11]!==o?(u=n.length===0?(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No instances`}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`div`,{className:`mb-2 flex gap-3 text-[0.625rem] text-muted-foreground`,children:[(0,F.jsxs)(`span`,{children:[a.length,` running`]}),(0,F.jsxs)(`span`,{children:[o.length,` stopped`]})]}),(0,F.jsx)(`div`,{className:`space-y-0.5`,children:c.map(q)}),(0,F.jsx)(W,{total:a.length+r.length})]}),e[7]=n.length,e[8]=c,e[9]=r,e[10]=a,e[11]=o,e[12]=u):u=e[12];let f;return e[13]!==n.length||e[14]!==u?(f=(0,F.jsx)(U,{title:`Instances`,icon:l,count:n.length,to:`/ec2/describe-instances`,children:u}),e[13]=n.length,e[14]=u,e[15]=f):f=e[15],f}function q(e){return(0,F.jsxs)(G,{children:[(0,F.jsx)(`span`,{className:`font-mono`,children:e.InstanceId}),(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:e.InstanceType})]},e.InstanceId)}function J(e){return e.State?.Name===`pending`}function Y(e){return e.State?.Name===`stopped`}function X(e){return e.State?.Name===`running`}function Z(e){return e.State?.Name!==`terminated`}function Q(e){return e.Instances??[]}function $(){let e=(0,N.c)(3),{data:t}=i(b),n;if(e[0]!==t?.Volumes){let r=t?.Volumes??[],i=r.reduce(fe,0),a=r.filter(de),o=r.filter(ue),s=r.slice(0,B),c;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,F.jsx)(j,{className:`size-3.5`}),e[2]=c):c=e[2],n=(0,F.jsx)(U,{title:`Volumes`,icon:c,count:r.length,to:`/ec2/describe-volumes`,children:r.length===0?(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No volumes`}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`div`,{className:`mb-2 flex gap-3 text-[0.625rem] text-muted-foreground`,children:[(0,F.jsxs)(`span`,{children:[i,` GiB total`]}),(0,F.jsxs)(`span`,{children:[a.length,` in-use`]}),(0,F.jsxs)(`span`,{children:[o.length,` available`]})]}),(0,F.jsx)(`div`,{className:`space-y-0.5`,children:s.map(le)}),(0,F.jsx)(W,{total:r.length})]})}),e[0]=t?.Volumes,e[1]=n}else n=e[1];return n}function le(e){return(0,F.jsxs)(G,{children:[(0,F.jsx)(`span`,{className:`font-mono`,children:e.VolumeId}),(0,F.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,F.jsxs)(`span`,{className:`text-muted-foreground`,children:[e.Size,` GiB`]}),(0,F.jsx)(C,{state:e.State})]})]},e.VolumeId)}function ue(e){return e.State===`available`}function de(e){return e.State===`in-use`}function fe(e,t){return e+(t.Size??0)}function pe(){let e=(0,N.c)(3),{data:t}=i(y),n;if(e[0]!==t?.Vpcs){let r=t?.Vpcs??[],i=r.slice(0,B),a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,F.jsx)(m,{className:`size-3.5`}),e[2]=a):a=e[2],n=(0,F.jsx)(U,{title:`VPCs`,icon:a,count:r.length,to:`/ec2/describe-vpcs`,children:r.length===0?(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No VPCs`}):(0,F.jsxs)(`div`,{className:`space-y-0.5`,children:[i.map(me),(0,F.jsx)(W,{total:r.length})]})}),e[0]=t?.Vpcs,e[1]=n}else n=e[1];return n}function me(e){let t=s(e.Tags);return(0,F.jsxs)(G,{children:[(0,F.jsxs)(`span`,{className:`font-mono`,children:[e.VpcId,t&&(0,F.jsxs)(`span`,{className:`ml-1 font-sans text-muted-foreground`,children:[`(`,t,`)`]})]}),(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:e.CidrBlock})]},e.VpcId)}function he(){let e=(0,N.c)(3),{data:t}=i(g),n;if(e[0]!==t?.KeyPairs){let r=t?.KeyPairs??[],i=r.slice(0,B),a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,F.jsx)(f,{className:`size-3.5`}),e[2]=a):a=e[2],n=(0,F.jsx)(U,{title:`Key Pairs`,icon:a,count:r.length,to:`/ec2/describe-key-pairs`,children:r.length===0?(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No key pairs`}):(0,F.jsxs)(`div`,{className:`space-y-0.5`,children:[i.map(ge),(0,F.jsx)(W,{total:r.length})]})}),e[0]=t?.KeyPairs,e[1]=n}else n=e[1];return n}function ge(e){return(0,F.jsx)(G,{children:(0,F.jsx)(`span`,{className:`font-mono`,children:e.KeyName})},e.KeyPairId)}function _e(){let e=(0,N.c)(3),{data:t}=i(x),n;if(e[0]!==t?.Buckets){let r=t?.Buckets??[],i=r.slice(0,B),a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,F.jsx)(M,{className:`size-3.5`}),e[2]=a):a=e[2],n=(0,F.jsx)(U,{title:`S3 Buckets`,icon:a,count:r.length,to:`/s3/ls`,children:r.length===0?(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No buckets`}):(0,F.jsxs)(`div`,{className:`space-y-0.5`,children:[i.map(ve),(0,F.jsx)(W,{total:r.length})]})}),e[0]=t?.Buckets,e[1]=n}else n=e[1];return n}function ve(e){return(0,F.jsx)(G,{children:(0,F.jsx)(`span`,{className:`font-mono`,children:e.Name})},e.Name)}function ye(){let e=(0,N.c)(3),{data:t}=i(v),n;if(e[0]!==t?.SecurityGroups){let r=t?.SecurityGroups??[],i=r.slice(0,B),a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,F.jsx)(h,{className:`size-3.5`}),e[2]=a):a=e[2],n=(0,F.jsx)(U,{title:`Security Groups`,icon:a,count:r.length,to:`/ec2/describe-security-groups`,children:r.length===0?(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No security groups`}):(0,F.jsxs)(`div`,{className:`space-y-0.5`,children:[i.map(be),(0,F.jsx)(W,{total:r.length})]})}),e[0]=t?.SecurityGroups,e[1]=n}else n=e[1];return n}function be(e){return(0,F.jsxs)(G,{children:[(0,F.jsx)(`span`,{className:`font-mono`,children:e.GroupName}),(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:e.VpcId})]},e.GroupId)}export{V as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_bucket.js b/spinifex/services/spinifexui/frontend/dist/assets/_bucket.js index 4ff19ac67..6ca1440e9 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_bucket.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_bucket.js @@ -1,2 +1,2 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_bucket2.js","assets/compiler-runtime.js","assets/s3.js","assets/awsClient.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/toUtf8.browser.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/upload-button.js","assets/button.js","assets/dist.js","assets/link.js","assets/useStore.js","assets/createLucideIcon.js","assets/download.js","assets/trash-2.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/s32.js","assets/queryOptions.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/back-link.js","assets/page-heading.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{Ut as n}from"./awsClient.js";import{t as r}from"./s32.js";var i=e(`/_auth/s3/ls/$bucket/`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(r(t.bucket))},head:({params:e})=>({meta:[{title:`${e.bucket} | S3 | Mulga`}]}),component:t(()=>n(()=>import(`./_bucket2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])),`component`)});export{i as t}; \ No newline at end of file +import{n as e,t}from"./lazyRouteComponent.js";import{cn as n}from"./awsClient.js";import{t as r}from"./s32.js";var i=e(`/_auth/s3/ls/$bucket/`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(r(t.bucket))},head:({params:e})=>({meta:[{title:`${e.bucket} | S3 | Mulga`}]}),component:t(()=>n(()=>import(`./_bucket2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])),`component`)});export{i as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_bucket2.js b/spinifex/services/spinifexui/frontend/dist/assets/_bucket2.js index 251b19d44..2c57fc945 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_bucket2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_bucket2.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./error-banner.js";import{t as r}from"./useSuspenseQuery.js";import{V as i}from"./SignatureV4.js";import{t as a}from"./back-link.js";import{n as o,r as s,t as c}from"./upload-button.js";import{r as l}from"./s3.js";import{t as u}from"./s32.js";import{t as d}from"./_bucket.js";import{t as f}from"./page-heading.js";var p=t(),m=e();function h(){let e=(0,p.c)(31),{bucket:t}=d.useParams(),h;e[0]===t?h=e[1]:(h=u(t),e[0]=t,e[1]=h);let{data:g}=r(h),_=l(),v;e[2]===g.Contents?v=e[3]:(v=g.Contents??[],e[2]=g.Contents,e[3]=v);let y=v,b;e[4]===g.CommonPrefixes?b=e[5]:(b=g.CommonPrefixes??[],e[4]=g.CommonPrefixes,e[5]=b);let x=b,S;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,m.jsx)(a,{to:`/s3/ls`,children:`Back to buckets`}),e[6]=S):S=e[6];let C;e[7]!==t||e[8]!==_.isPending||e[9]!==_.mutateAsync?(C=(0,m.jsx)(c,{bucket:t,isPending:_.isPending,onUpload:_.mutateAsync}),e[7]=t,e[8]=_.isPending,e[9]=_.mutateAsync,e[10]=C):C=e[10];let w;e[11]!==t||e[12]!==C?(w=(0,m.jsx)(f,{actions:C,title:t}),e[11]=t,e[12]=C,e[13]=w):w=e[13];let T;e[14]===_.error?T=e[15]:(T=_.error&&(0,m.jsx)(n,{error:_.error,msg:`Failed to upload object`}),e[14]=_.error,e[15]=T);let E;e[16]!==t||e[17]!==x?(E=x.length>0&&(0,m.jsxs)(`div`,{className:`mb-6`,children:[(0,m.jsx)(`h2`,{className:`mb-3 text-lg font-semibold`,children:`Folders`}),(0,m.jsx)(`div`,{className:`space-y-2`,children:x.map(e=>e.Prefix?(0,m.jsx)(s,{bucketName:t,folderName:i(e.Prefix),fullPrefix:e.Prefix},e.Prefix):null)})]}),e[16]=t,e[17]=x,e[18]=E):E=e[18];let D;e[19]!==t||e[20]!==y?(D=y.length>0&&(0,m.jsxs)(`div`,{className:`space-y-2`,children:[(0,m.jsx)(`h2`,{className:`mb-3 text-lg font-semibold`,children:`Objects`}),y.map(e=>e.Key?(0,m.jsx)(o,{bucketName:t,displayName:e.Key,fullKey:e.Key,object:e},e.Key):null)]}),e[19]=t,e[20]=y,e[21]=D):D=e[21];let O;e[22]!==x.length||e[23]!==y.length?(O=y.length===0&&x.length===0&&(0,m.jsx)(`p`,{className:`text-muted-foreground`,children:`No objects found in this bucket.`}),e[22]=x.length,e[23]=y.length,e[24]=O):O=e[24];let k;return e[25]!==w||e[26]!==T||e[27]!==E||e[28]!==D||e[29]!==O?(k=(0,m.jsxs)(m.Fragment,{children:[S,w,T,E,D,O]}),e[25]=w,e[26]=T,e[27]=E,e[28]=D,e[29]=O,e[30]=k):k=e[30],k}export{h as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./error-banner.js";import{t as r}from"./useSuspenseQuery.js";import{H as i}from"./SignatureV4.js";import{t as a}from"./back-link.js";import{n as o,r as s,t as c}from"./upload-button.js";import{r as l}from"./s3.js";import{t as u}from"./s32.js";import{t as d}from"./_bucket.js";import{t as f}from"./page-heading.js";var p=t(),m=e();function h(){let e=(0,p.c)(31),{bucket:t}=d.useParams(),h;e[0]===t?h=e[1]:(h=u(t),e[0]=t,e[1]=h);let{data:g}=r(h),_=l(),v;e[2]===g.Contents?v=e[3]:(v=g.Contents??[],e[2]=g.Contents,e[3]=v);let y=v,b;e[4]===g.CommonPrefixes?b=e[5]:(b=g.CommonPrefixes??[],e[4]=g.CommonPrefixes,e[5]=b);let x=b,S;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,m.jsx)(a,{to:`/s3/ls`,children:`Back to buckets`}),e[6]=S):S=e[6];let C;e[7]!==t||e[8]!==_.isPending||e[9]!==_.mutateAsync?(C=(0,m.jsx)(c,{bucket:t,isPending:_.isPending,onUpload:_.mutateAsync}),e[7]=t,e[8]=_.isPending,e[9]=_.mutateAsync,e[10]=C):C=e[10];let w;e[11]!==t||e[12]!==C?(w=(0,m.jsx)(f,{actions:C,title:t}),e[11]=t,e[12]=C,e[13]=w):w=e[13];let T;e[14]===_.error?T=e[15]:(T=_.error&&(0,m.jsx)(n,{error:_.error,msg:`Failed to upload object`}),e[14]=_.error,e[15]=T);let E;e[16]!==t||e[17]!==x?(E=x.length>0&&(0,m.jsxs)(`div`,{className:`mb-6`,children:[(0,m.jsx)(`h2`,{className:`mb-3 text-lg font-semibold`,children:`Folders`}),(0,m.jsx)(`div`,{className:`space-y-2`,children:x.map(e=>e.Prefix?(0,m.jsx)(s,{bucketName:t,folderName:i(e.Prefix),fullPrefix:e.Prefix},e.Prefix):null)})]}),e[16]=t,e[17]=x,e[18]=E):E=e[18];let D;e[19]!==t||e[20]!==y?(D=y.length>0&&(0,m.jsxs)(`div`,{className:`space-y-2`,children:[(0,m.jsx)(`h2`,{className:`mb-3 text-lg font-semibold`,children:`Objects`}),y.map(e=>e.Key?(0,m.jsx)(o,{bucketName:t,displayName:e.Key,fullKey:e.Key,object:e},e.Key):null)]}),e[19]=t,e[20]=y,e[21]=D):D=e[21];let O;e[22]!==x.length||e[23]!==y.length?(O=y.length===0&&x.length===0&&(0,m.jsx)(`p`,{className:`text-muted-foreground`,children:`No objects found in this bucket.`}),e[22]=x.length,e[23]=y.length,e[24]=O):O=e[24];let k;return e[25]!==w||e[26]!==T||e[27]!==E||e[28]!==D||e[29]!==O?(k=(0,m.jsxs)(m.Fragment,{children:[S,w,T,E,D,O]}),e[25]=w,e[26]=T,e[27]=E,e[28]=D,e[29]=O,e[30]=k):k=e[30],k}export{h as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id.js b/spinifex/services/spinifexui/frontend/dist/assets/_id.js index 74ce1f653..484678c4b 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id18.js","assets/compiler-runtime.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/ec2.js","assets/awsClient.js","assets/toUtf8.browser.js","assets/ec22.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/alert-dialog.js","assets/button.js","assets/dist.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/useStore.js","assets/select.js","assets/getDisabledMountTransitionStyles.js","assets/separator.js","assets/createLucideIcon.js","assets/check.js","assets/chevron-down.js","assets/input.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/link.js","assets/useNavigate.js","assets/back-link.js","assets/trash-2.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/page-heading.js","assets/state-badge.js","assets/field.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{Ut as n}from"./awsClient.js";import{t as r}from"./createLucideIcon.js";import{o as i,v as a}from"./ec22.js";var o=r(`camera`,[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]),s=e(`/_auth/ec2/(volumes)/describe-volumes/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(a(t.id)),e.queryClient.ensureQueryData(i)])},head:({params:e})=>({meta:[{title:`${e.id} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id18.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),`component`)});export{o as n,s as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id22.js","assets/compiler-runtime.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/ec2.js","assets/awsClient.js","assets/toUtf8.browser.js","assets/ec22.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/alert-dialog.js","assets/button.js","assets/dist.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/useStore.js","assets/select.js","assets/getDisabledMountTransitionStyles.js","assets/separator.js","assets/createLucideIcon.js","assets/check.js","assets/chevron-down.js","assets/input.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/link.js","assets/useNavigate.js","assets/back-link.js","assets/trash-2.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/page-heading.js","assets/state-badge.js","assets/field.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{cn as n}from"./awsClient.js";import{t as r}from"./createLucideIcon.js";import{o as i,v as a}from"./ec22.js";var o=r(`camera`,[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]),s=e(`/_auth/ec2/(volumes)/describe-volumes/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(a(t.id)),e.queryClient.ensureQueryData(i)])},head:({params:e})=>({meta:[{title:`${e.id} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id22.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),`component`)});export{o as n,s as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id10.js b/spinifex/services/spinifexui/frontend/dist/assets/_id10.js index 2da814816..92476937e 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id10.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id10.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id11.js","assets/compiler-runtime.js","assets/ec22.js","assets/awsClient.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/toUtf8.browser.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/back-link.js","assets/link.js","assets/useStore.js","assets/createLucideIcon.js","assets/page-heading.js","assets/state-badge.js","assets/ami-details.js","assets/detail-row.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{Ut as n}from"./awsClient.js";import{n as r}from"./ec22.js";var i=e(`/_auth/ec2/(images)/describe-images/$id`)({loader:async({context:e,params:t})=>await e.queryClient.ensureQueryData(r(t.id)),head:({loaderData:e})=>({meta:[{title:`${e?.Images?.[0]?.Name??`Image`} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id11.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])),`component`)});export{i as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id15.js","assets/compiler-runtime.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/ec2.js","assets/awsClient.js","assets/toUtf8.browser.js","assets/ec22.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/button.js","assets/dist.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/detail-row.js","assets/page-heading.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{cn as n}from"./awsClient.js";import{s as r}from"./ec22.js";var i=e(`/_auth/ec2/(key)/describe-key-pairs/$id`)({loader:async({context:e,params:t})=>await e.queryClient.ensureQueryData(r(t.id)),head:({loaderData:e})=>({meta:[{title:`${e?.KeyPairs?.[0]?.KeyName??`Key Pair`} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id15.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31])),`component`)});export{i as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id11.js b/spinifex/services/spinifexui/frontend/dist/assets/_id11.js index 889cb5c77..69a6375bb 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id11.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id11.js @@ -1 +1,2 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./back-link.js";import{n as i}from"./ec22.js";import{t as a}from"./_id10.js";import{t as o}from"./page-heading.js";import{t as s}from"./state-badge.js";import{t as c}from"./ami-details.js";var l=t(),u=e();function d(){let e=(0,l.c)(14),{id:t}=a.useParams(),d;e[0]===t?d=e[1]:(d=i(t),e[0]=t,e[1]=d);let{data:f}=n(d),p=f?.Images?.[0];if(!p?.ImageId){let t;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(r,{to:`/ec2/describe-images`,children:`Back to images`}),(0,u.jsx)(`p`,{className:`text-muted-foreground`,children:`Image not found.`})]}),e[2]=t):t=e[2],t}let m;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,u.jsx)(r,{to:`/ec2/describe-images`,children:`Back to images`}),e[3]=m):m=e[3];let h;e[4]===p.State?h=e[5]:(h=(0,u.jsx)(s,{state:p.State}),e[4]=p.State,e[5]=h);let g;e[6]!==p.ImageId||e[7]!==h?(g=(0,u.jsx)(o,{actions:h,subtitle:`EC2 Image Details`,title:p.ImageId}),e[6]=p.ImageId,e[7]=h,e[8]=g):g=e[8];let _;e[9]===p?_=e[10]:(_=(0,u.jsx)(c,{image:p,showExtendedDetails:!0}),e[9]=p,e[10]=_);let v;return e[11]!==g||e[12]!==_?(v=(0,u.jsxs)(u.Fragment,{children:[m,(0,u.jsxs)(`div`,{className:`space-y-6`,children:[g,_]})]}),e[11]=g,e[12]=_,e[13]=v):v=e[13],v}export{d as component}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id14.js","assets/compiler-runtime.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/ec2.js","assets/awsClient.js","assets/toUtf8.browser.js","assets/ec22.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/alert-dialog.js","assets/button.js","assets/dist.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/useStore.js","assets/select.js","assets/getDisabledMountTransitionStyles.js","assets/separator.js","assets/createLucideIcon.js","assets/check.js","assets/chevron-down.js","assets/input.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/link.js","assets/back-link.js","assets/trash-2.js","assets/detail-row.js","assets/page-heading.js","assets/state-badge.js","assets/field.js","assets/textarea.js","assets/ami-details.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{cn as n}from"./awsClient.js";import{a as r,i,n as a}from"./ec22.js";var o=e(`/_auth/ec2/(instances)/describe-instances/$id`)({loader:async({context:e,params:t})=>{let[n]=await Promise.all([e.queryClient.ensureQueryData(i(t.id)),e.queryClient.ensureQueryData(r)]),o=n.Reservations?.[0]?.Instances?.[0]?.ImageId;return await e.queryClient.ensureQueryData(a(o)),n},head:({loaderData:e})=>({meta:[{title:`${e?.Reservations?.[0]?.Instances?.[0]?.InstanceId??`Instance`} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id14.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),`component`)});export{o as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id12.js b/spinifex/services/spinifexui/frontend/dist/assets/_id12.js index b3a41ff65..8772ad67f 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id12.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id12.js @@ -1 +1,2 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./error-banner.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./link.js";import{R as s}from"./SignatureV4.js";import{t as c}from"./createLucideIcon.js";import{t as l}from"./back-link.js";import{a as u,i as d,n as f,r as p,t as m}from"./select.js";import{t as h}from"./trash-2.js";import{t as g}from"./button.js";import{t as _}from"./input.js";import{A as v,C as y,D as b,M as x,T as S,a as C,j as w}from"./ec2.js";import{a as ee,i as te,n as T}from"./ec22.js";import{t as E}from"./_id9.js";import{t as D}from"./page-heading.js";import{t as ne}from"./state-badge.js";import{n as O,t as k}from"./detail-row.js";import{t as re}from"./ami-details.js";import{a as A,i as j,l as M,n as N,o as P,r as F,s as I,t as L}from"./alert-dialog.js";import{i as R,t as z}from"./field.js";import{t as B}from"./textarea.js";var ie=c(`image-plus`,[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]),V=c(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]),H=c(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),U=c(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),W=c(`settings-2`,[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]),G=c(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),K=e(n(),1),q=t();function J({instanceId:e,open:t,onOpenChange:n}){let r=C(),[i,a]=(0,K.useState)(``),[o,s]=(0,K.useState)(``),[c,l]=(0,K.useState)(null);function u(e){e||(a(``),s(``),l(null)),n(e)}async function d(){try{l((await r.mutateAsync({instanceId:e,name:i,description:o||void 0})).ImageId??null),a(``),s(``)}catch{}}return(0,q.jsx)(L,{onOpenChange:u,open:t,children:(0,q.jsxs)(j,{children:[(0,q.jsxs)(I,{children:[(0,q.jsx)(M,{children:c?`Image Created`:`Create Image (AMI)`}),(0,q.jsx)(A,{children:c?`Image "${c}" was created successfully.`:`Create an AMI from instance "${e}".`})]}),!c&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(z,{children:[(0,q.jsx)(R,{children:(0,q.jsx)(`label`,{htmlFor:`imageName`,children:`Name`})}),(0,q.jsx)(_,{id:`imageName`,onChange:e=>a(e.target.value),placeholder:`my-image`,value:i})]}),(0,q.jsxs)(z,{children:[(0,q.jsx)(R,{children:(0,q.jsx)(`label`,{htmlFor:`imageDescription`,children:`Description`})}),(0,q.jsx)(B,{id:`imageDescription`,onChange:e=>s(e.target.value),placeholder:`Optional description`,rows:2,value:o})]})]}),(0,q.jsxs)(P,{children:[(0,q.jsx)(F,{children:c?`Close`:`Cancel`}),!c&&(0,q.jsx)(N,{disabled:r.isPending||!i.trim(),onClick:d,children:r.isPending?`Creating…`:`Create Image`})]})]})})}var Y=r(),X=new Set([`pending`,`stopping`,`shutting-down`,`terminated`]);function ae(e){let t=(0,Y.c)(35),{instanceId:n,state:r}=e,a=v(),o=w(),s=b(),c=x();if(X.has(r??``)&&r!==`terminated`){let e;return t[0]===r?e=t[1]:(e=(0,q.jsx)(`div`,{className:`rounded-lg border bg-muted/50 p-4`,children:(0,q.jsxs)(`p`,{className:`text-center text-sm text-muted-foreground`,children:[`Instance is `,r,`. Actions will be available once the operation completes.`]})}),t[0]=r,t[1]=e),e}if(r===`terminated`){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,q.jsx)(`div`,{className:`rounded-lg border bg-muted/50 p-4`,children:(0,q.jsx)(`p`,{className:`text-center text-sm text-muted-foreground`,children:`This instance has been terminated and cannot be managed.`})}),t[2]=e):e=t[2],e}let l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,q.jsx)(`h2`,{className:`mb-4 font-semibold`,children:`Instance Actions`}),t[3]=l):l=t[3];let u;t[4]===a.error?u=t[5]:(u=a.error&&(0,q.jsx)(i,{error:a.error,msg:`Failed to start instance`}),t[4]=a.error,t[5]=u);let d;t[6]===o.error?d=t[7]:(d=o.error&&(0,q.jsx)(i,{error:o.error,msg:`Failed to stop instance`}),t[6]=o.error,t[7]=d);let f;t[8]===s.error?f=t[9]:(f=s.error&&(0,q.jsx)(i,{error:s.error,msg:`Failed to reboot instance`}),t[8]=s.error,t[9]=f);let p;t[10]===c.error?p=t[11]:(p=c.error&&(0,q.jsx)(i,{error:c.error,msg:`Failed to terminate instance`}),t[10]=c.error,t[11]=p);let m;t[12]!==n||t[13]!==a||t[14]!==r?(m=r===`stopped`&&(0,q.jsxs)(g,{disabled:a.isPending,onClick:()=>a.mutate(n),size:`sm`,variant:`default`,children:[(0,q.jsx)(H,{className:`size-4`}),a.isPending?`Starting`:`Start`]}),t[12]=n,t[13]=a,t[14]=r,t[15]=m):m=t[15];let _;t[16]!==n||t[17]!==s||t[18]!==r||t[19]!==o?(_=r===`running`&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(g,{disabled:o.isPending,onClick:()=>o.mutate(n),size:`sm`,variant:`outline`,children:[(0,q.jsx)(V,{className:`size-4`}),o.isPending?`Stopping`:`Stop`]}),(0,q.jsxs)(g,{disabled:s.isPending,onClick:()=>s.mutate(n),size:`sm`,variant:`outline`,children:[(0,q.jsx)(U,{className:`size-4`}),s.isPending?`Rebooting`:`Reboot`]})]}),t[16]=n,t[17]=s,t[18]=r,t[19]=o,t[20]=_):_=t[20];let y;t[21]!==n||t[22]!==r||t[23]!==c?(y=(r===`stopped`||r===`running`)&&(0,q.jsxs)(g,{disabled:c.isPending,onClick:()=>c.mutate(n),size:`sm`,variant:`destructive`,children:[(0,q.jsx)(h,{className:`size-4`}),c.isPending?`Terminating`:`Terminate`]}),t[21]=n,t[22]=r,t[23]=c,t[24]=y):y=t[24];let S;t[25]!==m||t[26]!==_||t[27]!==y?(S=(0,q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[m,_,y]}),t[25]=m,t[26]=_,t[27]=y,t[28]=S):S=t[28];let C;return t[29]!==u||t[30]!==d||t[31]!==f||t[32]!==p||t[33]!==S?(C=(0,q.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[l,u,d,f,p,S]}),t[29]=u,t[30]=d,t[31]=f,t[32]=p,t[33]=S,t[34]=C):C=t[34],C}function Z(){let{id:e}=E.useParams(),{data:t}=a(te(e)),n=t.Reservations?.[0]?.Instances?.[0],{data:r}=a(T(n?.ImageId)),c=r?.Images?.[0],{data:h}=a(ee),_=S(),v=y(),[b,x]=(0,K.useState)(!1),[C,w]=(0,K.useState)(``),[B,V]=(0,K.useState)(!1),[H,U]=(0,K.useState)(null),[Y,X]=(0,K.useState)(!1),Z=[...new Set(h.InstanceTypes?.flatMap(e=>e.InstanceType?[e.InstanceType]:[]))].toSorted();if(!n?.InstanceId)return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(l,{to:`/ec2/describe-instances`,children:`Back to instances`}),(0,q.jsx)(`p`,{className:`text-muted-foreground`,children:`Instance not found.`})]});let oe=s(n.LaunchTime),Q=n.State?.Name===`running`,$=n.State?.Name===`stopped`;async function se(){try{await _.mutateAsync({instanceId:e,instanceType:C}),x(!1),w(``)}catch{}}async function ce(){try{let t=await v.mutateAsync(e);U(t.Output?atob(t.Output):`(no output)`),V(!0)}catch{}}return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(l,{to:`/ec2/describe-instances`,children:`Back to instances`}),_.error&&(0,q.jsx)(i,{error:_.error,msg:`Failed to modify instance`}),v.error&&(0,q.jsx)(i,{error:v.error,msg:`Failed to get console output`}),(0,q.jsxs)(`div`,{className:`space-y-6`,children:[(0,q.jsx)(D,{actions:(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Q&&(0,q.jsxs)(g,{disabled:v.isPending,onClick:ce,size:`sm`,variant:`outline`,children:[(0,q.jsx)(G,{className:`size-4`}),v.isPending?`Fetching…`:`View Console`]}),(Q||$)&&(0,q.jsxs)(g,{onClick:()=>X(!0),size:`sm`,variant:`outline`,children:[(0,q.jsx)(ie,{className:`size-4`}),`Create Image`]}),$&&(0,q.jsxs)(g,{onClick:()=>{w(n.InstanceType??``),x(!0)},size:`sm`,variant:`outline`,children:[(0,q.jsx)(W,{className:`size-4`}),`Modify Instance`]}),(0,q.jsx)(ne,{state:n.State?.Name})]}),subtitle:`EC2 Instance Details`,title:n.InstanceId}),(0,q.jsx)(ae,{instanceId:n.InstanceId,state:n.State?.Name}),B&&H!==null&&(0,q.jsxs)(O,{children:[(0,q.jsx)(O.Header,{children:(0,q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[`Console Output`,(0,q.jsx)(g,{onClick:()=>{V(!1),U(null)},size:`sm`,variant:`ghost`,children:`Hide`})]})}),(0,q.jsx)(`div`,{className:`p-4`,children:(0,q.jsx)(`pre`,{className:`max-h-96 overflow-y-auto rounded bg-muted p-3 font-mono text-xs whitespace-pre-wrap`,children:H})})]}),(0,q.jsxs)(O,{children:[(0,q.jsx)(O.Header,{children:`Instance Information`}),(0,q.jsxs)(O.Content,{children:[(0,q.jsx)(k,{label:`Instance ID`,value:n.InstanceId}),(0,q.jsx)(k,{label:`Instance Type`,value:n.InstanceType}),(0,q.jsx)(k,{label:`Instance State`,value:n.State?.Name}),(0,q.jsx)(k,{label:`State Code`,value:n.State?.Code?.toString()}),(0,q.jsx)(k,{label:`Launch Time`,value:oe}),(0,q.jsx)(k,{label:`Availability Zone`,value:n.Placement?.AvailabilityZone}),(0,q.jsx)(k,{label:`Placement Group`,value:n.Placement?.GroupName?(0,q.jsx)(o,{className:`text-primary hover:underline`,to:`/ec2/describe-placement-groups`,children:n.Placement.GroupName}):void 0})]})]}),(n.PrivateIpAddress||n.PublicIpAddress||n.VpcId||n.SubnetId||n.SecurityGroups&&n.SecurityGroups.length>0)&&(0,q.jsxs)(O,{children:[(0,q.jsx)(O.Header,{children:`Network & Security`}),(0,q.jsxs)(O.Content,{children:[(0,q.jsx)(k,{label:`Private IP Address`,value:n.PrivateIpAddress}),(0,q.jsx)(k,{label:`Public IP Address`,value:n.PublicIpAddress}),(0,q.jsx)(k,{label:`Private DNS`,value:n.PrivateDnsName}),(0,q.jsx)(k,{label:`Public DNS`,value:n.PublicDnsName}),(0,q.jsx)(k,{label:`VPC ID`,value:n.VpcId?(0,q.jsx)(o,{className:`text-primary hover:underline`,params:{id:n.VpcId},to:`/ec2/describe-vpcs/$id`,children:n.VpcId}):void 0}),(0,q.jsx)(k,{label:`Subnet ID`,value:n.SubnetId?(0,q.jsx)(o,{className:`text-primary hover:underline`,params:{id:n.SubnetId},to:`/ec2/describe-subnets/$id`,children:n.SubnetId}):void 0}),(0,q.jsx)(k,{label:`Key Name`,value:n.KeyName}),(0,q.jsx)(k,{label:`Security Groups`,value:n.SecurityGroups?.map(e=>e.GroupName).join(`, `)})]})]}),n.BlockDeviceMappings&&n.BlockDeviceMappings.length>0&&(0,q.jsxs)(O,{children:[(0,q.jsx)(O.Header,{children:`Block Device Mappings`}),n.BlockDeviceMappings.map(e=>(0,q.jsxs)(O.Content,{children:[(0,q.jsx)(k,{label:`Device Name`,value:e.DeviceName}),(0,q.jsx)(k,{label:`Volume ID`,value:e.Ebs?.VolumeId?(0,q.jsx)(o,{className:`text-primary hover:underline`,params:{id:e.Ebs.VolumeId},to:`/ec2/describe-volumes/$id`,children:e.Ebs.VolumeId}):void 0}),(0,q.jsx)(k,{label:`Status`,value:e.Ebs?.Status}),(0,q.jsx)(k,{label:`Attach Time`,value:s(e.Ebs?.AttachTime)}),(0,q.jsx)(k,{label:`Delete on Termination`,value:e.Ebs?.DeleteOnTermination?`Yes`:`No`})]},e.DeviceName))]}),c&&(0,q.jsx)(re,{image:c})]}),(0,q.jsx)(L,{onOpenChange:e=>{e||(x(!1),w(``))},open:b,children:(0,q.jsxs)(j,{children:[(0,q.jsxs)(I,{children:[(0,q.jsx)(M,{children:`Modify Instance`}),(0,q.jsxs)(A,{children:[`Select a new instance type for "`,n.InstanceId,`". The instance must be stopped to modify its attributes.`]})]}),(0,q.jsxs)(z,{children:[(0,q.jsx)(R,{children:(0,q.jsx)(`label`,{htmlFor:`instanceType`,children:`Instance Type`})}),(0,q.jsxs)(m,{onValueChange:e=>w(e??``),value:C,children:[(0,q.jsx)(d,{className:`w-full`,id:`instanceType`,children:(0,q.jsx)(u,{})}),(0,q.jsx)(f,{children:Z.map(e=>(0,q.jsx)(p,{value:e,children:e},e))})]})]}),(0,q.jsxs)(P,{children:[(0,q.jsx)(F,{children:`Cancel`}),(0,q.jsx)(N,{disabled:_.isPending||!C||C===n.InstanceType,onClick:se,children:_.isPending?`Saving…`:`Save Changes`})]})]})}),(0,q.jsx)(J,{instanceId:n.InstanceId,onOpenChange:X,open:Y})]})}export{Z as component}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id13.js","assets/compiler-runtime.js","assets/ec22.js","assets/awsClient.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/toUtf8.browser.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/back-link.js","assets/link.js","assets/useStore.js","assets/createLucideIcon.js","assets/page-heading.js","assets/state-badge.js","assets/system-managed.js","assets/ami-details.js","assets/detail-row.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{cn as n}from"./awsClient.js";import{n as r}from"./ec22.js";var i=e(`/_auth/ec2/(images)/describe-images/$id`)({loader:async({context:e,params:t})=>await e.queryClient.ensureQueryData(r(t.id)),head:({loaderData:e})=>({meta:[{title:`${e?.Images?.[0]?.Name??`Image`} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id13.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21])),`component`)});export{i as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id13.js b/spinifex/services/spinifexui/frontend/dist/assets/_id13.js index 67ba92fcd..4e8adbcb4 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id13.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id13.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./error-banner.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./useNavigate.js";import{R as o}from"./SignatureV4.js";import{t as s}from"./back-link.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{h as u}from"./ec2.js";import{s as d}from"./ec22.js";import{t as f}from"./_id8.js";import{t as p}from"./page-heading.js";import{n as m,t as h}from"./detail-row.js";import{t as g}from"./delete-confirmation-dialog.js";var _=e(n()),v=t();function y(){let{id:e}=f.useParams(),t=a(),{data:n}=i(d(e)),y=n.KeyPairs?.[0],b=u(),[x,S]=(0,_.useState)(!1),C=async()=>{try{await b.mutateAsync(e),t({to:`/ec2/describe-key-pairs`})}finally{S(!1)}};if(!y?.KeyPairId)return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(s,{to:`/ec2/describe-key-pairs`,children:`Back to key pairs`}),(0,v.jsx)(`p`,{className:`text-muted-foreground`,children:`Key pair not found.`})]});let w=o(y.CreateTime);return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(s,{to:`/ec2/describe-key-pairs`,children:`Back to key pairs`}),b.error&&(0,v.jsx)(r,{error:b.error,msg:`Failed to delete key pair`}),(0,v.jsxs)(`div`,{className:`space-y-6`,children:[(0,v.jsx)(p,{actions:(0,v.jsxs)(l,{onClick:()=>S(!0),size:`sm`,variant:`destructive`,children:[(0,v.jsx)(c,{className:`size-4`}),`Delete`]}),subtitle:`EC2 Key Pair Details`,title:y.KeyName??``}),(0,v.jsxs)(m,{children:[(0,v.jsx)(m.Header,{children:`Key Pair Information`}),(0,v.jsxs)(m.Content,{children:[(0,v.jsx)(h,{label:`Key Pair ID`,value:y.KeyPairId}),(0,v.jsx)(h,{label:`Key Name`,value:y.KeyName}),(0,v.jsx)(h,{label:`Key Type`,value:y.KeyType}),(0,v.jsx)(h,{label:`Key Fingerprint`,value:y.KeyFingerprint}),(0,v.jsx)(h,{label:`Creation Date`,value:w})]})]}),y.Tags&&y.Tags.length>0&&(0,v.jsxs)(m,{children:[(0,v.jsx)(m.Header,{children:`Tags`}),(0,v.jsx)(m.Content,{children:y.Tags.map(e=>(0,v.jsx)(h,{label:e.Key??``,value:e.Value},e.Key))})]})]}),(0,v.jsx)(g,{description:`Are you sure you want to delete the key pair "${y.KeyName}"? This action cannot be undone. Any instances using this key pair will no longer be able to be accessed with it.`,isPending:b.isPending,onConfirm:C,onOpenChange:S,open:x,title:`Delete Key Pair`})]})}export{y as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./back-link.js";import{n as i}from"./ec22.js";import{t as a}from"./_id12.js";import{t as o}from"./page-heading.js";import{t as s}from"./state-badge.js";import{r as c}from"./system-managed.js";import{t as l}from"./ami-details.js";var u=t(),d=e();function f(){let e=(0,u.c)(14),{id:t}=a.useParams(),f;e[0]===t?f=e[1]:(f=i(t),e[0]=t,e[1]=f);let{data:p}=n(f),m=p?.Images?.[0];if(!m?.ImageId||c(m)){let t;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(r,{to:`/ec2/describe-images`,children:`Back to images`}),(0,d.jsx)(`p`,{className:`text-muted-foreground`,children:`Image not found.`})]}),e[2]=t):t=e[2],t}let h;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,d.jsx)(r,{to:`/ec2/describe-images`,children:`Back to images`}),e[3]=h):h=e[3];let g;e[4]===m.State?g=e[5]:(g=(0,d.jsx)(s,{state:m.State}),e[4]=m.State,e[5]=g);let _;e[6]!==m.ImageId||e[7]!==g?(_=(0,d.jsx)(o,{actions:g,subtitle:`EC2 Image Details`,title:m.ImageId}),e[6]=m.ImageId,e[7]=g,e[8]=_):_=e[8];let v;e[9]===m?v=e[10]:(v=(0,d.jsx)(l,{image:m,showExtendedDetails:!0}),e[9]=m,e[10]=v);let y;return e[11]!==_||e[12]!==v?(y=(0,d.jsxs)(d.Fragment,{children:[h,(0,d.jsxs)(`div`,{className:`space-y-6`,children:[_,v]})]}),e[11]=_,e[12]=v,e[13]=y):y=e[13],y}export{f as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id14.js b/spinifex/services/spinifexui/frontend/dist/assets/_id14.js index 511dd7e9f..f2cbf4d84 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id14.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id14.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./error-banner.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{t as s}from"./back-link.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{g as u}from"./ec2.js";import{l as d,o as f}from"./ec22.js";import{t as p}from"./_id7.js";import{t as m}from"./page-heading.js";import{t as h}from"./state-badge.js";import{n as g,t as _}from"./detail-row.js";import{t as v}from"./delete-confirmation-dialog.js";var y=e(n()),b=t();function x(){let{id:e}=p.useParams(),t=o(),{data:n}=i(d(e)),{data:x}=i(f),S=u(),[C,w]=(0,y.useState)(!1),T=n.PlacementGroups?.[0],E=x.Reservations?.flatMap(e=>e.Instances??[]).filter(e=>e.Placement?.GroupName===T?.GroupName)??[];return T?.GroupId?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{to:`/ec2/describe-placement-groups`,children:`Back to placement groups`}),S.error&&(0,b.jsx)(r,{error:S.error,msg:`Failed to delete placement group`}),(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(m,{actions:(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(l,{onClick:()=>w(!0),size:`sm`,variant:`destructive`,children:[(0,b.jsx)(c,{className:`size-4`}),`Delete`]}),(0,b.jsx)(h,{state:T.State})]}),subtitle:`EC2 Placement Group Details`,title:T.GroupName??T.GroupId}),(0,b.jsxs)(g,{children:[(0,b.jsx)(g.Header,{children:`Placement Group Information`}),(0,b.jsxs)(g.Content,{children:[(0,b.jsx)(_,{label:`Group ID`,value:T.GroupId}),(0,b.jsx)(_,{label:`Group Name`,value:T.GroupName}),(0,b.jsx)(_,{label:`Strategy`,value:T.Strategy}),(0,b.jsx)(_,{label:`State`,value:T.State}),(0,b.jsx)(_,{label:`Spread Level`,value:T.SpreadLevel})]})]}),(0,b.jsxs)(g,{children:[(0,b.jsx)(g.Header,{children:`Instances`}),E.length>0?E.map(e=>(0,b.jsxs)(g.Content,{children:[(0,b.jsx)(_,{label:`Instance ID`,value:e.InstanceId?(0,b.jsx)(a,{className:`text-primary hover:underline`,params:{id:e.InstanceId},to:`/ec2/describe-instances/$id`,children:e.InstanceId}):void 0}),(0,b.jsx)(_,{label:`State`,value:e.State?.Name}),(0,b.jsx)(_,{label:`Instance Type`,value:e.InstanceType}),(0,b.jsx)(_,{label:`Availability Zone`,value:e.Placement?.AvailabilityZone})]},e.InstanceId)):(0,b.jsx)(g.Content,{children:(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`No instances in this placement group.`})})]})]}),(0,b.jsx)(v,{description:`Are you sure you want to delete the placement group "${T.GroupName}"? The group must have no running instances.`,isPending:S.isPending,onConfirm:async()=>{if(T?.GroupName)try{await S.mutateAsync(T.GroupName),t({to:`/ec2/describe-placement-groups`})}finally{w(!1)}},onOpenChange:w,open:C,title:`Delete Placement Group`})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{to:`/ec2/describe-placement-groups`,children:`Back to placement groups`}),(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`Placement group not found.`})]})}export{x as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./error-banner.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./link.js";import{z as s}from"./SignatureV4.js";import{t as c}from"./createLucideIcon.js";import{t as l}from"./back-link.js";import{a as u,i as d,n as f,r as p,t as m}from"./select.js";import{t as h}from"./trash-2.js";import{t as g}from"./button.js";import{t as _}from"./input.js";import{A as v,C as y,D as b,M as x,T as S,a as C,j as w}from"./ec2.js";import{a as ee,i as te,n as T}from"./ec22.js";import{t as E}from"./_id11.js";import{t as D}from"./page-heading.js";import{t as ne}from"./state-badge.js";import{n as O,t as k}from"./detail-row.js";import{t as re}from"./ami-details.js";import{a as A,i as j,l as M,n as N,o as P,r as F,s as I,t as L}from"./alert-dialog.js";import{i as R,t as z}from"./field.js";import{t as B}from"./textarea.js";var ie=c(`image-plus`,[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]),V=c(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]),H=c(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),U=c(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),W=c(`settings-2`,[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]),G=c(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),K=e(n(),1),q=t();function J({instanceId:e,open:t,onOpenChange:n}){let r=C(),[i,a]=(0,K.useState)(``),[o,s]=(0,K.useState)(``),[c,l]=(0,K.useState)(null);function u(e){e||(a(``),s(``),l(null)),n(e)}async function d(){try{l((await r.mutateAsync({instanceId:e,name:i,description:o||void 0})).ImageId??null),a(``),s(``)}catch{}}return(0,q.jsx)(L,{onOpenChange:u,open:t,children:(0,q.jsxs)(j,{children:[(0,q.jsxs)(I,{children:[(0,q.jsx)(M,{children:c?`Image Created`:`Create Image (AMI)`}),(0,q.jsx)(A,{children:c?`Image "${c}" was created successfully.`:`Create an AMI from instance "${e}".`})]}),!c&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(z,{children:[(0,q.jsx)(R,{children:(0,q.jsx)(`label`,{htmlFor:`imageName`,children:`Name`})}),(0,q.jsx)(_,{id:`imageName`,onChange:e=>a(e.target.value),placeholder:`my-image`,value:i})]}),(0,q.jsxs)(z,{children:[(0,q.jsx)(R,{children:(0,q.jsx)(`label`,{htmlFor:`imageDescription`,children:`Description`})}),(0,q.jsx)(B,{id:`imageDescription`,onChange:e=>s(e.target.value),placeholder:`Optional description`,rows:2,value:o})]})]}),(0,q.jsxs)(P,{children:[(0,q.jsx)(F,{children:c?`Close`:`Cancel`}),!c&&(0,q.jsx)(N,{disabled:r.isPending||!i.trim(),onClick:d,children:r.isPending?`Creating…`:`Create Image`})]})]})})}var Y=r(),X=new Set([`pending`,`stopping`,`shutting-down`,`terminated`]);function ae(e){let t=(0,Y.c)(35),{instanceId:n,state:r}=e,a=v(),o=w(),s=b(),c=x();if(X.has(r??``)&&r!==`terminated`){let e;return t[0]===r?e=t[1]:(e=(0,q.jsx)(`div`,{className:`rounded-lg border bg-muted/50 p-4`,children:(0,q.jsxs)(`p`,{className:`text-center text-sm text-muted-foreground`,children:[`Instance is `,r,`. Actions will be available once the operation completes.`]})}),t[0]=r,t[1]=e),e}if(r===`terminated`){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,q.jsx)(`div`,{className:`rounded-lg border bg-muted/50 p-4`,children:(0,q.jsx)(`p`,{className:`text-center text-sm text-muted-foreground`,children:`This instance has been terminated and cannot be managed.`})}),t[2]=e):e=t[2],e}let l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,q.jsx)(`h2`,{className:`mb-4 font-semibold`,children:`Instance Actions`}),t[3]=l):l=t[3];let u;t[4]===a.error?u=t[5]:(u=a.error&&(0,q.jsx)(i,{error:a.error,msg:`Failed to start instance`}),t[4]=a.error,t[5]=u);let d;t[6]===o.error?d=t[7]:(d=o.error&&(0,q.jsx)(i,{error:o.error,msg:`Failed to stop instance`}),t[6]=o.error,t[7]=d);let f;t[8]===s.error?f=t[9]:(f=s.error&&(0,q.jsx)(i,{error:s.error,msg:`Failed to reboot instance`}),t[8]=s.error,t[9]=f);let p;t[10]===c.error?p=t[11]:(p=c.error&&(0,q.jsx)(i,{error:c.error,msg:`Failed to terminate instance`}),t[10]=c.error,t[11]=p);let m;t[12]!==n||t[13]!==a||t[14]!==r?(m=r===`stopped`&&(0,q.jsxs)(g,{disabled:a.isPending,onClick:()=>a.mutate(n),size:`sm`,variant:`default`,children:[(0,q.jsx)(H,{className:`size-4`}),a.isPending?`Starting`:`Start`]}),t[12]=n,t[13]=a,t[14]=r,t[15]=m):m=t[15];let _;t[16]!==n||t[17]!==s||t[18]!==r||t[19]!==o?(_=r===`running`&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(g,{disabled:o.isPending,onClick:()=>o.mutate(n),size:`sm`,variant:`outline`,children:[(0,q.jsx)(V,{className:`size-4`}),o.isPending?`Stopping`:`Stop`]}),(0,q.jsxs)(g,{disabled:s.isPending,onClick:()=>s.mutate(n),size:`sm`,variant:`outline`,children:[(0,q.jsx)(U,{className:`size-4`}),s.isPending?`Rebooting`:`Reboot`]})]}),t[16]=n,t[17]=s,t[18]=r,t[19]=o,t[20]=_):_=t[20];let y;t[21]!==n||t[22]!==r||t[23]!==c?(y=(r===`stopped`||r===`running`)&&(0,q.jsxs)(g,{disabled:c.isPending,onClick:()=>c.mutate(n),size:`sm`,variant:`destructive`,children:[(0,q.jsx)(h,{className:`size-4`}),c.isPending?`Terminating`:`Terminate`]}),t[21]=n,t[22]=r,t[23]=c,t[24]=y):y=t[24];let S;t[25]!==m||t[26]!==_||t[27]!==y?(S=(0,q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[m,_,y]}),t[25]=m,t[26]=_,t[27]=y,t[28]=S):S=t[28];let C;return t[29]!==u||t[30]!==d||t[31]!==f||t[32]!==p||t[33]!==S?(C=(0,q.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[l,u,d,f,p,S]}),t[29]=u,t[30]=d,t[31]=f,t[32]=p,t[33]=S,t[34]=C):C=t[34],C}function Z(){let{id:e}=E.useParams(),{data:t}=a(te(e)),n=t.Reservations?.[0]?.Instances?.[0],{data:r}=a(T(n?.ImageId)),c=r?.Images?.[0],{data:h}=a(ee),_=S(),v=y(),[b,x]=(0,K.useState)(!1),[C,w]=(0,K.useState)(``),[B,V]=(0,K.useState)(!1),[H,U]=(0,K.useState)(null),[Y,X]=(0,K.useState)(!1),Z=[...new Set(h.InstanceTypes?.flatMap(e=>e.InstanceType?[e.InstanceType]:[]))].toSorted();if(!n?.InstanceId)return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(l,{to:`/ec2/describe-instances`,children:`Back to instances`}),(0,q.jsx)(`p`,{className:`text-muted-foreground`,children:`Instance not found.`})]});let oe=s(n.LaunchTime),Q=n.State?.Name===`running`,$=n.State?.Name===`stopped`;async function se(){try{await _.mutateAsync({instanceId:e,instanceType:C}),x(!1),w(``)}catch{}}async function ce(){try{let t=await v.mutateAsync(e);U(t.Output?atob(t.Output):`(no output)`),V(!0)}catch{}}return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(l,{to:`/ec2/describe-instances`,children:`Back to instances`}),_.error&&(0,q.jsx)(i,{error:_.error,msg:`Failed to modify instance`}),v.error&&(0,q.jsx)(i,{error:v.error,msg:`Failed to get console output`}),(0,q.jsxs)(`div`,{className:`space-y-6`,children:[(0,q.jsx)(D,{actions:(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Q&&(0,q.jsxs)(g,{disabled:v.isPending,onClick:ce,size:`sm`,variant:`outline`,children:[(0,q.jsx)(G,{className:`size-4`}),v.isPending?`Fetching…`:`View Console`]}),(Q||$)&&(0,q.jsxs)(g,{onClick:()=>X(!0),size:`sm`,variant:`outline`,children:[(0,q.jsx)(ie,{className:`size-4`}),`Create Image`]}),$&&(0,q.jsxs)(g,{onClick:()=>{w(n.InstanceType??``),x(!0)},size:`sm`,variant:`outline`,children:[(0,q.jsx)(W,{className:`size-4`}),`Modify Instance`]}),(0,q.jsx)(ne,{state:n.State?.Name})]}),subtitle:`EC2 Instance Details`,title:n.InstanceId}),(0,q.jsx)(ae,{instanceId:n.InstanceId,state:n.State?.Name}),B&&H!==null&&(0,q.jsxs)(O,{children:[(0,q.jsx)(O.Header,{children:(0,q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[`Console Output`,(0,q.jsx)(g,{onClick:()=>{V(!1),U(null)},size:`sm`,variant:`ghost`,children:`Hide`})]})}),(0,q.jsx)(`div`,{className:`p-4`,children:(0,q.jsx)(`pre`,{className:`max-h-96 overflow-y-auto rounded bg-muted p-3 font-mono text-xs whitespace-pre-wrap`,children:H})})]}),(0,q.jsxs)(O,{children:[(0,q.jsx)(O.Header,{children:`Instance Information`}),(0,q.jsxs)(O.Content,{children:[(0,q.jsx)(k,{label:`Instance ID`,value:n.InstanceId}),(0,q.jsx)(k,{label:`Instance Type`,value:n.InstanceType}),(0,q.jsx)(k,{label:`Instance State`,value:n.State?.Name}),(0,q.jsx)(k,{label:`State Code`,value:n.State?.Code?.toString()}),(0,q.jsx)(k,{label:`Launch Time`,value:oe}),(0,q.jsx)(k,{label:`Availability Zone`,value:n.Placement?.AvailabilityZone}),(0,q.jsx)(k,{label:`Placement Group`,value:n.Placement?.GroupName?(0,q.jsx)(o,{className:`text-primary hover:underline`,to:`/ec2/describe-placement-groups`,children:n.Placement.GroupName}):void 0})]})]}),(n.PrivateIpAddress||n.PublicIpAddress||n.VpcId||n.SubnetId||n.SecurityGroups&&n.SecurityGroups.length>0)&&(0,q.jsxs)(O,{children:[(0,q.jsx)(O.Header,{children:`Network & Security`}),(0,q.jsxs)(O.Content,{children:[(0,q.jsx)(k,{label:`Private IP Address`,value:n.PrivateIpAddress}),(0,q.jsx)(k,{label:`Public IP Address`,value:n.PublicIpAddress}),(0,q.jsx)(k,{label:`Private DNS`,value:n.PrivateDnsName}),(0,q.jsx)(k,{label:`Public DNS`,value:n.PublicDnsName}),(0,q.jsx)(k,{label:`VPC ID`,value:n.VpcId?(0,q.jsx)(o,{className:`text-primary hover:underline`,params:{id:n.VpcId},to:`/ec2/describe-vpcs/$id`,children:n.VpcId}):void 0}),(0,q.jsx)(k,{label:`Subnet ID`,value:n.SubnetId?(0,q.jsx)(o,{className:`text-primary hover:underline`,params:{id:n.SubnetId},to:`/ec2/describe-subnets/$id`,children:n.SubnetId}):void 0}),(0,q.jsx)(k,{label:`Key Name`,value:n.KeyName}),(0,q.jsx)(k,{label:`Security Groups`,value:n.SecurityGroups?.map(e=>e.GroupName).join(`, `)})]})]}),n.BlockDeviceMappings&&n.BlockDeviceMappings.length>0&&(0,q.jsxs)(O,{children:[(0,q.jsx)(O.Header,{children:`Block Device Mappings`}),n.BlockDeviceMappings.map(e=>(0,q.jsxs)(O.Content,{children:[(0,q.jsx)(k,{label:`Device Name`,value:e.DeviceName}),(0,q.jsx)(k,{label:`Volume ID`,value:e.Ebs?.VolumeId?(0,q.jsx)(o,{className:`text-primary hover:underline`,params:{id:e.Ebs.VolumeId},to:`/ec2/describe-volumes/$id`,children:e.Ebs.VolumeId}):void 0}),(0,q.jsx)(k,{label:`Status`,value:e.Ebs?.Status}),(0,q.jsx)(k,{label:`Attach Time`,value:s(e.Ebs?.AttachTime)}),(0,q.jsx)(k,{label:`Delete on Termination`,value:e.Ebs?.DeleteOnTermination?`Yes`:`No`})]},e.DeviceName))]}),c&&(0,q.jsx)(re,{image:c})]}),(0,q.jsx)(L,{onOpenChange:e=>{e||(x(!1),w(``))},open:b,children:(0,q.jsxs)(j,{children:[(0,q.jsxs)(I,{children:[(0,q.jsx)(M,{children:`Modify Instance`}),(0,q.jsxs)(A,{children:[`Select a new instance type for "`,n.InstanceId,`". The instance must be stopped to modify its attributes.`]})]}),(0,q.jsxs)(z,{children:[(0,q.jsx)(R,{children:(0,q.jsx)(`label`,{htmlFor:`instanceType`,children:`Instance Type`})}),(0,q.jsxs)(m,{onValueChange:e=>w(e??``),value:C,children:[(0,q.jsx)(d,{className:`w-full`,id:`instanceType`,children:(0,q.jsx)(u,{})}),(0,q.jsx)(f,{children:Z.map(e=>(0,q.jsx)(p,{value:e,children:e},e))})]})]}),(0,q.jsxs)(P,{children:[(0,q.jsx)(F,{children:`Cancel`}),(0,q.jsx)(N,{disabled:_.isPending||!C||C===n.InstanceType,onClick:se,children:_.isPending?`Saving…`:`Save Changes`})]})]})}),(0,q.jsx)(J,{instanceId:n.InstanceId,onOpenChange:X,open:Y})]})}export{Z as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id15.js b/spinifex/services/spinifexui/frontend/dist/assets/_id15.js index ae3085a26..165ebf8f1 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id15.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id15.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./error-banner.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{t as s}from"./createLucideIcon.js";import{t as c}from"./back-link.js";import{a as l,i as u,n as d,r as f,t as p}from"./select.js";import{t as m}from"./trash-2.js";import{n as h,t as g}from"./_id2.js";import{t as _}from"./button.js";import{t as v}from"./input.js";import{O as y,_ as b,k as x,n as S,r as C}from"./ec2.js";import{f as w}from"./ec22.js";import{t as T}from"./page-heading.js";import{n as E,t as D}from"./detail-row.js";import{i as O,l as k,n as A,o as j,r as M,s as N,t as P}from"./alert-dialog.js";import{i as F,n as I,t as L}from"./field.js";import{n as R,r as z,t as B}from"./zod.js";import{d as V}from"./ec23.js";import{t as H}from"./delete-confirmation-dialog.js";var U=s(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),W=e(n()),G=t();function K(e){if(!e||e===`-1`)return`All traffic`;let t=e.toUpperCase();return t===`TCP`||t===`UDP`||t===`ICMP`?t:e}function q(e,t,n){return!n||n===`-1`||e===void 0||t===void 0||e===-1&&t===-1?`All`:e===t?e.toString():`${e}-${t}`}function J({open:e,onOpenChange:t,direction:n,groupId:i}){let a=C(),o=S(),s=n===`ingress`?a:o,{control:c,handleSubmit:m,register:h,reset:g,watch:_,formState:{errors:y}}=z({resolver:B(V),defaultValues:{ipProtocol:`tcp`,fromPort:0,toPort:0,cidrIp:`0.0.0.0/0`}}),b=_(`ipProtocol`),x=b===`-1`||b===`icmp`;return(0,G.jsx)(P,{onOpenChange:t,open:e,children:(0,G.jsxs)(O,{children:[(0,G.jsx)(N,{children:(0,G.jsxs)(k,{children:[`Add `,n===`ingress`?`Inbound`:`Outbound`,` Rule`]})}),s.error&&(0,G.jsx)(r,{error:s.error,msg:`Failed to add rule`}),(0,G.jsxs)(`form`,{className:`space-y-4`,id:`add-rule-form`,onSubmit:m(async e=>{let n={groupId:i,ipProtocol:e.ipProtocol,fromPort:x?-1:e.fromPort,toPort:x?-1:e.toPort,cidrIp:e.cidrIp};await s.mutateAsync(n),g(),t(!1)}),children:[(0,G.jsxs)(L,{children:[(0,G.jsx)(F,{children:(0,G.jsx)(`label`,{htmlFor:`ipProtocol`,children:`Protocol`})}),(0,G.jsx)(R,{control:c,name:`ipProtocol`,render:({field:e})=>(0,G.jsxs)(p,{onValueChange:t=>e.onChange(t),value:e.value,children:[(0,G.jsx)(u,{className:`w-full`,id:`ipProtocol`,children:(0,G.jsx)(l,{})}),(0,G.jsxs)(d,{children:[(0,G.jsx)(f,{value:`tcp`,children:`TCP`}),(0,G.jsx)(f,{value:`udp`,children:`UDP`}),(0,G.jsx)(f,{value:`icmp`,children:`ICMP`}),(0,G.jsx)(f,{value:`-1`,children:`All traffic (-1)`})]})]})}),(0,G.jsx)(I,{errors:[y.ipProtocol]})]}),(0,G.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[(0,G.jsxs)(L,{children:[(0,G.jsx)(F,{children:(0,G.jsx)(`label`,{htmlFor:`fromPort`,children:`From Port`})}),(0,G.jsx)(v,{"aria-invalid":!!y.fromPort,disabled:x,id:`fromPort`,type:`number`,...h(`fromPort`,{valueAsNumber:!0})}),(0,G.jsx)(I,{errors:[y.fromPort]})]}),(0,G.jsxs)(L,{children:[(0,G.jsx)(F,{children:(0,G.jsx)(`label`,{htmlFor:`toPort`,children:`To Port`})}),(0,G.jsx)(v,{"aria-invalid":!!y.toPort,disabled:x,id:`toPort`,type:`number`,...h(`toPort`,{valueAsNumber:!0})}),(0,G.jsx)(I,{errors:[y.toPort]})]})]}),(0,G.jsxs)(L,{children:[(0,G.jsx)(F,{children:(0,G.jsxs)(`label`,{htmlFor:`cidrIp`,children:[n===`ingress`?`Source`:`Destination`,` CIDR`]})}),(0,G.jsx)(v,{"aria-invalid":!!y.cidrIp,id:`cidrIp`,placeholder:`0.0.0.0/0`,...h(`cidrIp`)}),(0,G.jsx)(I,{errors:[y.cidrIp]})]})]}),(0,G.jsxs)(j,{children:[(0,G.jsx)(M,{onClick:()=>{g(),s.reset()},children:`Cancel`}),(0,G.jsx)(A,{disabled:s.isPending,form:`add-rule-form`,type:`submit`,children:s.isPending?`Adding…`:`Add Rule`})]})]})})}function Y({rule:e,cidr:t,groupId:n,direction:i}){let a=x(),o=y(),s=i===`ingress`?a:o;return(0,G.jsxs)(`div`,{className:`space-y-0`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between border-b px-4 py-3 last:border-b-0`,children:[(0,G.jsxs)(`div`,{className:`grid flex-1 grid-cols-3 gap-4 text-sm`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`span`,{className:`text-muted-foreground`,children:`Protocol: `}),K(e.IpProtocol)]}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`span`,{className:`text-muted-foreground`,children:`Port Range: `}),q(e.FromPort,e.ToPort,e.IpProtocol)]}),(0,G.jsxs)(`div`,{children:[(0,G.jsxs)(`span`,{className:`text-muted-foreground`,children:[i===`ingress`?`Source`:`Destination`,`:`,` `]}),t]})]}),(0,G.jsx)(_,{disabled:s.isPending,onClick:async()=>{try{await s.mutateAsync({groupId:n,ipProtocol:e.IpProtocol??`-1`,fromPort:e.FromPort??-1,toPort:e.ToPort??-1,cidrIp:t})}catch{}},size:`icon-xs`,variant:`ghost`,children:(0,G.jsx)(h,{className:`size-3`})})]}),s.error&&(0,G.jsx)(`div`,{className:`px-4 pb-2`,children:(0,G.jsx)(r,{error:s.error,msg:`Failed to remove rule`})})]})}function X(){let{id:e}=g.useParams(),t=o(),{data:n}=i(w(e)),s=n.SecurityGroups?.[0],l=b(),[u,d]=(0,W.useState)(!1),[f,p]=(0,W.useState)(!1),[h,v]=(0,W.useState)(!1),y=async()=>{try{await l.mutateAsync(e),t({to:`/ec2/describe-security-groups`})}finally{d(!1)}};if(!s?.GroupId)return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(c,{to:`/ec2/describe-security-groups`,children:`Back to Security Groups`}),(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`Security group not found.`})]});let x=s.IpPermissions??[],S=s.IpPermissionsEgress??[];return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(c,{to:`/ec2/describe-security-groups`,children:`Back to Security Groups`}),l.error&&(0,G.jsx)(r,{error:l.error,msg:`Failed to delete security group`}),(0,G.jsxs)(`div`,{className:`space-y-6`,children:[(0,G.jsx)(T,{actions:(0,G.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,G.jsxs)(_,{onClick:()=>d(!0),size:`sm`,variant:`destructive`,children:[(0,G.jsx)(m,{className:`size-4`}),`Delete`]})}),subtitle:`Security Group Details`,title:s.GroupName?`${s.GroupId} (${s.GroupName})`:s.GroupId}),(0,G.jsxs)(E,{children:[(0,G.jsx)(E.Header,{children:`Security Group Information`}),(0,G.jsxs)(E.Content,{children:[(0,G.jsx)(D,{label:`Group ID`,value:s.GroupId}),(0,G.jsx)(D,{label:`Group Name`,value:s.GroupName}),(0,G.jsx)(D,{label:`Description`,value:s.Description}),(0,G.jsx)(D,{label:`VPC ID`,value:s.VpcId?(0,G.jsx)(a,{className:`text-primary hover:underline`,params:{id:s.VpcId},to:`/ec2/describe-vpcs/$id`,children:s.VpcId}):`—`}),(0,G.jsx)(D,{label:`Owner ID`,value:s.OwnerId})]})]}),(0,G.jsxs)(E,{children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between border-b p-4`,children:[(0,G.jsxs)(`h2`,{className:`font-semibold`,children:[`Inbound Rules (`,x.length,`)`]}),(0,G.jsxs)(_,{onClick:()=>p(!0),size:`sm`,variant:`outline`,children:[(0,G.jsx)(U,{className:`size-4`}),`Add Rule`]})]}),x.length>0?(0,G.jsx)(`div`,{children:x.map(e=>(e.IpRanges??[]).map(t=>(0,G.jsx)(Y,{cidr:t.CidrIp??``,direction:`ingress`,groupId:s.GroupId??``,rule:e},`${e.IpProtocol}-${e.FromPort}-${e.ToPort}-${t.CidrIp}`)))}):(0,G.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:`No inbound rules.`})]}),(0,G.jsxs)(E,{children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between border-b p-4`,children:[(0,G.jsxs)(`h2`,{className:`font-semibold`,children:[`Outbound Rules (`,S.length,`)`]}),(0,G.jsxs)(_,{onClick:()=>v(!0),size:`sm`,variant:`outline`,children:[(0,G.jsx)(U,{className:`size-4`}),`Add Rule`]})]}),S.length>0?(0,G.jsx)(`div`,{children:S.map(e=>(e.IpRanges??[]).map(t=>(0,G.jsx)(Y,{cidr:t.CidrIp??``,direction:`egress`,groupId:s.GroupId??``,rule:e},`${e.IpProtocol}-${e.FromPort}-${e.ToPort}-${t.CidrIp}`)))}):(0,G.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:`No outbound rules.`})]})]}),(0,G.jsx)(H,{description:`Are you sure you want to delete the security group "${s.GroupId}"? This action cannot be undone.`,isPending:l.isPending,onConfirm:y,onOpenChange:d,open:u,title:`Delete Security Group`}),(0,G.jsx)(J,{direction:`ingress`,groupId:s.GroupId,onOpenChange:p,open:f}),(0,G.jsx)(J,{direction:`egress`,groupId:s.GroupId,onOpenChange:v,open:h})]})}export{X as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./error-banner.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./useNavigate.js";import{z as o}from"./SignatureV4.js";import{t as s}from"./back-link.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{h as u}from"./ec2.js";import{s as d}from"./ec22.js";import{t as f}from"./_id10.js";import{t as p}from"./page-heading.js";import{n as m,t as h}from"./detail-row.js";import{t as g}from"./delete-confirmation-dialog.js";var _=e(n()),v=t();function y(){let{id:e}=f.useParams(),t=a(),{data:n}=i(d(e)),y=n.KeyPairs?.[0],b=u(),[x,S]=(0,_.useState)(!1),C=async()=>{try{await b.mutateAsync(e),t({to:`/ec2/describe-key-pairs`})}finally{S(!1)}};if(!y?.KeyPairId)return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(s,{to:`/ec2/describe-key-pairs`,children:`Back to key pairs`}),(0,v.jsx)(`p`,{className:`text-muted-foreground`,children:`Key pair not found.`})]});let w=o(y.CreateTime);return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(s,{to:`/ec2/describe-key-pairs`,children:`Back to key pairs`}),b.error&&(0,v.jsx)(r,{error:b.error,msg:`Failed to delete key pair`}),(0,v.jsxs)(`div`,{className:`space-y-6`,children:[(0,v.jsx)(p,{actions:(0,v.jsxs)(l,{onClick:()=>S(!0),size:`sm`,variant:`destructive`,children:[(0,v.jsx)(c,{className:`size-4`}),`Delete`]}),subtitle:`EC2 Key Pair Details`,title:y.KeyName??``}),(0,v.jsxs)(m,{children:[(0,v.jsx)(m.Header,{children:`Key Pair Information`}),(0,v.jsxs)(m.Content,{children:[(0,v.jsx)(h,{label:`Key Pair ID`,value:y.KeyPairId}),(0,v.jsx)(h,{label:`Key Name`,value:y.KeyName}),(0,v.jsx)(h,{label:`Key Type`,value:y.KeyType}),(0,v.jsx)(h,{label:`Key Fingerprint`,value:y.KeyFingerprint}),(0,v.jsx)(h,{label:`Creation Date`,value:w})]})]}),y.Tags&&y.Tags.length>0&&(0,v.jsxs)(m,{children:[(0,v.jsx)(m.Header,{children:`Tags`}),(0,v.jsx)(m.Content,{children:y.Tags.map(e=>(0,v.jsx)(h,{label:e.Key??``,value:e.Value},e.Key))})]})]}),(0,v.jsx)(g,{description:`Are you sure you want to delete the key pair "${y.KeyName}"? This action cannot be undone. Any instances using this key pair will no longer be able to be accessed with it.`,isPending:b.isPending,onConfirm:C,onOpenChange:S,open:x,title:`Delete Key Pair`})]})}export{y as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id16.js b/spinifex/services/spinifexui/frontend/dist/assets/_id16.js index e88d74395..03b0905cb 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id16.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id16.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./error-banner.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{R as s}from"./SignatureV4.js";import{t as c}from"./back-link.js";import{t as l}from"./copy.js";import{t as u}from"./trash-2.js";import{t as d}from"./button.js";import{t as f}from"./input.js";import{i as p,v as m}from"./ec2.js";import{d as h,m as g}from"./ec22.js";import{t as _}from"./_id6.js";import{t as v}from"./page-heading.js";import{t as y}from"./state-badge.js";import{n as b,t as x}from"./detail-row.js";import{a as S,i as C,l as w,n as T,o as E,r as D,s as O,t as k}from"./alert-dialog.js";import{i as A,t as j}from"./field.js";import{t as M}from"./delete-confirmation-dialog.js";var N=e(n()),P=t();function F(){let{id:e}=_.useParams(),t=o(),{data:n}=i(g(e)),{data:F}=i(h),I=n.Snapshots?.[0],L=m(),R=p(),[z,B]=(0,N.useState)(!1),[V,H]=(0,N.useState)(!1),[U,W]=(0,N.useState)(``),G=F.Regions?.[0]?.RegionName??`ap-southeast-2`,K=I?.State===`completed`,q=async()=>{try{await L.mutateAsync(e),t({to:`/ec2/describe-snapshots`})}finally{B(!1)}},J=async()=>{try{await R.mutateAsync({sourceSnapshotId:e,sourceRegion:G,description:U||void 0}),H(!1),W(``)}catch{}};if(!I?.SnapshotId)return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(c,{to:`/ec2/describe-snapshots`,children:`Back to snapshots`}),(0,P.jsx)(`p`,{className:`text-muted-foreground`,children:`Snapshot not found.`})]});let Y=s(I.StartTime);return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(c,{to:`/ec2/describe-snapshots`,children:`Back to snapshots`}),L.error&&(0,P.jsx)(r,{error:L.error,msg:`Failed to delete snapshot`}),R.error&&(0,P.jsx)(r,{error:R.error,msg:`Failed to copy snapshot`}),(0,P.jsxs)(`div`,{className:`space-y-6`,children:[(0,P.jsx)(v,{actions:(0,P.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,P.jsxs)(d,{disabled:!K,onClick:()=>B(!0),size:`sm`,variant:`destructive`,children:[(0,P.jsx)(u,{className:`size-4`}),`Delete`]}),(0,P.jsxs)(d,{disabled:!K,onClick:()=>H(!0),size:`sm`,variant:`outline`,children:[(0,P.jsx)(l,{className:`size-4`}),`Copy Snapshot`]}),(0,P.jsx)(y,{state:I.State})]}),subtitle:`EC2 Snapshot Details`,title:I.SnapshotId}),(0,P.jsxs)(b,{children:[(0,P.jsx)(b.Header,{children:`Snapshot Information`}),(0,P.jsxs)(b.Content,{children:[(0,P.jsx)(x,{label:`Snapshot ID`,value:I.SnapshotId}),(0,P.jsx)(x,{label:`Volume ID`,value:I.VolumeId?(0,P.jsx)(a,{className:`text-primary hover:underline`,params:{id:I.VolumeId},to:`/ec2/describe-volumes/$id`,children:I.VolumeId}):void 0}),(0,P.jsx)(x,{label:`Volume Size`,value:`${I.VolumeSize} GiB`}),(0,P.jsx)(x,{label:`State`,value:I.State}),(0,P.jsx)(x,{label:`Description`,value:I.Description}),(0,P.jsx)(x,{label:`Progress`,value:I.Progress}),(0,P.jsx)(x,{label:`Start Time`,value:Y}),(0,P.jsx)(x,{label:`Owner ID`,value:I.OwnerId}),(0,P.jsx)(x,{label:`Encrypted`,value:I.Encrypted?`Yes`:`No`})]})]})]}),(0,P.jsx)(M,{description:`Are you sure you want to delete the snapshot "${I.SnapshotId}"? This action cannot be undone.`,isPending:L.isPending,onConfirm:q,onOpenChange:B,open:z,title:`Delete Snapshot`}),(0,P.jsx)(k,{onOpenChange:H,open:V,children:(0,P.jsxs)(C,{children:[(0,P.jsxs)(O,{children:[(0,P.jsx)(w,{children:`Copy Snapshot`}),(0,P.jsx)(S,{children:`Create a copy of this snapshot in the current region.`})]}),(0,P.jsxs)(j,{children:[(0,P.jsx)(A,{children:(0,P.jsx)(`label`,{htmlFor:`copyDescription`,children:`Description (optional)`})}),(0,P.jsx)(f,{id:`copyDescription`,onChange:e=>W(e.target.value),placeholder:`Description for the snapshot copy`,value:U})]}),(0,P.jsxs)(E,{children:[(0,P.jsx)(D,{children:`Cancel`}),(0,P.jsx)(T,{disabled:R.isPending,onClick:J,children:R.isPending?`Copying…`:`Copy Snapshot`})]})]})})]})}export{F as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./error-banner.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./useNavigate.js";import{V as s}from"./SignatureV4.js";import{t as c}from"./back-link.js";import{a as l,i as u,n as d,r as f,t as p}from"./select.js";import{t as m}from"./trash-2.js";import{t as h}from"./button.js";import{t as g}from"./input.js";import{_}from"./ec22.js";import{a as v,c as y,i as b,t as x}from"./elbv2.js";import{a as S,c as C,n as w,r as T,t as E}from"./elbv22.js";import{t as D}from"./_id9.js";import{t as ee}from"./page-heading.js";import{t as te}from"./state-badge.js";import{n as O,t as k}from"./detail-row.js";import{a as A,i as j,l as M,n as N,o as P,r as F,s as ne,t as re}from"./alert-dialog.js";import{i as I,n as L,t as R}from"./field.js";import{n as z,r as B,t as V}from"./zod.js";import{t as H}from"./delete-confirmation-dialog.js";import{t as U}from"./elbv23.js";import{a as W,i as G,n as K,o as q,r as J,t as Y}from"./tabs.js";var X=e(n(),1),Z=r(),Q=t();function ie(e){let t=(0,Z.c)(33),{form:n,targetGroups:r}=e,{control:i,register:a,formState:o}=n,{errors:s}=o,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Q.jsx)(I,{children:(0,Q.jsx)(`label`,{htmlFor:`listener-protocol`,children:`Protocol`})}),t[0]=c):c=t[0];let f;t[1]===i?f=t[2]:(f=(0,Q.jsxs)(R,{children:[c,(0,Q.jsx)(z,{control:i,name:`protocol`,render:oe})]}),t[1]=i,t[2]=f);let m;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Q.jsx)(I,{children:(0,Q.jsx)(`label`,{htmlFor:`listener-port`,children:`Port`})}),t[3]=m):m=t[3];let h=!!s.port,_;t[4]===a?_=t[5]:(_=a(`port`,{valueAsNumber:!0}),t[4]=a,t[5]=_);let v;t[6]!==h||t[7]!==_?(v=(0,Q.jsx)(g,{"aria-invalid":h,id:`listener-port`,inputMode:`numeric`,placeholder:`80`,type:`number`,..._}),t[6]=h,t[7]=_,t[8]=v):v=t[8];let y;t[9]===s.port?y=t[10]:(y=(0,Q.jsx)(L,{errors:[s.port]}),t[9]=s.port,t[10]=y);let b;t[11]!==v||t[12]!==y?(b=(0,Q.jsxs)(R,{children:[m,v,y]}),t[11]=v,t[12]=y,t[13]=b):b=t[13];let x;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,Q.jsx)(I,{children:(0,Q.jsx)(`label`,{htmlFor:`listener-default-tg`,children:`Default target group`})}),t[14]=x):x=t[14];let S;t[15]!==s.defaultTargetGroupArn||t[16]!==r?(S=e=>{let{field:t}=e;return(0,Q.jsxs)(p,{onValueChange:t.onChange,value:t.value??``,children:[(0,Q.jsx)(u,{"aria-invalid":!!s.defaultTargetGroupArn,className:`w-full`,id:`listener-default-tg`,children:(0,Q.jsx)(l,{placeholder:`Select target group`})}),(0,Q.jsx)(d,{children:r.map(ae)})]})},t[15]=s.defaultTargetGroupArn,t[16]=r,t[17]=S):S=t[17];let C;t[18]!==i||t[19]!==S?(C=(0,Q.jsx)(z,{control:i,name:`defaultTargetGroupArn`,render:S}),t[18]=i,t[19]=S,t[20]=C):C=t[20];let w;t[21]===s.defaultTargetGroupArn?w=t[22]:(w=(0,Q.jsx)(L,{errors:[s.defaultTargetGroupArn]}),t[21]=s.defaultTargetGroupArn,t[22]=w);let T;t[23]===r.length?T=t[24]:(T=r.length===0&&(0,Q.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`No target groups available in this VPC. Create one first.`}),t[23]=r.length,t[24]=T);let E;t[25]!==C||t[26]!==w||t[27]!==T?(E=(0,Q.jsxs)(R,{children:[x,C,w,T]}),t[25]=C,t[26]=w,t[27]=T,t[28]=E):E=t[28];let D;return t[29]!==E||t[30]!==f||t[31]!==b?(D=(0,Q.jsxs)(Q.Fragment,{children:[f,b,E]}),t[29]=E,t[30]=f,t[31]=b,t[32]=D):D=t[32],D}function ae(e){return(0,Q.jsxs)(f,{value:e.TargetGroupArn??``,children:[e.TargetGroupName,` · `,e.Protocol,`:`,e.Port]},e.TargetGroupArn)}function oe(e){let{field:t}=e;return(0,Q.jsxs)(p,{onValueChange:t.onChange,value:t.value,children:[(0,Q.jsx)(u,{className:`w-full`,id:`listener-protocol`,children:(0,Q.jsx)(l,{})}),(0,Q.jsx)(d,{children:(0,Q.jsx)(f,{value:`HTTP`,children:`HTTP`})})]})}function se({loadBalancerArn:e,vpcId:t}){let{data:n}=a(E(e)),{data:r}=a(C),o=x(),s=b(),[c,l]=(0,X.useState)(!1),[u,d]=(0,X.useState)(),f=n.Listeners??[],p=r.TargetGroups??[],g=p.filter(e=>e.VpcId===t),_=new Map;for(let e of p)e.TargetGroupArn&&e.TargetGroupName&&_.set(e.TargetGroupArn,e.TargetGroupName);let v=e=>{let t=e.DefaultActions?.[0];if(!t)return`—`;if(t.Type===`forward`&&t.TargetGroupArn){let e=_.get(t.TargetGroupArn);return e?`forward → ${e}`:`forward → ${t.TargetGroupArn}`}return t.Type??`—`};return(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Listeners cannot be edited. Delete and re-add to change.`}),o.error&&(0,Q.jsx)(i,{error:o.error,msg:`Failed to create listener`}),s.error&&(0,Q.jsx)(i,{error:s.error,msg:`Failed to delete listener`}),(0,Q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Q.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[f.length,` listener`,f.length===1?``:`s`]}),(0,Q.jsx)(h,{onClick:()=>l(!0),size:`sm`,children:`Add listener`})]}),f.length===0?(0,Q.jsx)(`p`,{className:`text-muted-foreground`,children:`No listeners configured.`}):(0,Q.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,Q.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,Q.jsx)(`thead`,{children:(0,Q.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,Q.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Protocol`}),(0,Q.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Port`}),(0,Q.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Default action`}),(0,Q.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Listener ARN`}),(0,Q.jsx)(`th`,{className:`px-4 py-2 font-medium`})]})}),(0,Q.jsx)(`tbody`,{children:f.map(e=>(0,Q.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,Q.jsx)(`td`,{className:`px-4 py-2`,children:e.Protocol}),(0,Q.jsx)(`td`,{className:`px-4 py-2`,children:e.Port}),(0,Q.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:v(e)}),(0,Q.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.ListenerArn}),(0,Q.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,Q.jsx)(h,{"aria-label":`Delete listener ${e.Protocol}:${e.Port}`,onClick:()=>d(e),size:`sm`,variant:`ghost`,children:(0,Q.jsx)(m,{className:`size-4`})})})]},e.ListenerArn??``))})]})}),(0,Q.jsx)(ce,{isPending:o.isPending,onOpenChange:l,onSubmit:async t=>{try{await o.mutateAsync({loadBalancerArn:e,protocol:t.protocol,port:t.port,defaultTargetGroupArn:t.defaultTargetGroupArn}),l(!1)}catch{}},open:c,targetGroups:g}),(0,Q.jsx)(H,{description:u?`Delete listener ${u.Protocol}:${u.Port}? This cannot be undone.`:``,isPending:s.isPending,onConfirm:async()=>{if(u?.ListenerArn)try{await s.mutateAsync(u.ListenerArn)}finally{d(void 0)}},onOpenChange:e=>!e&&d(void 0),open:u!==void 0,title:`Delete listener`})]})}function ce(e){let t=(0,Z.c)(33),{open:n,onOpenChange:r,targetGroups:i,isPending:a,onSubmit:o}=e,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s={resolver:V(U),defaultValues:{protocol:`HTTP`,port:80,defaultTargetGroupArn:``}},t[0]=s):s=t[0];let c=B(s),l,u;t[1]!==c||t[2]!==n?(l=()=>{n||c.reset({protocol:`HTTP`,port:80,defaultTargetGroupArn:``})},u=[n,c],t[1]=c,t[2]=n,t[3]=l,t[4]=u):(l=t[3],u=t[4]),(0,X.useEffect)(l,u);let d;t[5]!==c||t[6]!==o?(d=c.handleSubmit(o),t[5]=c,t[6]=o,t[7]=d):d=t[7];let f=d,p;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Q.jsxs)(ne,{children:[(0,Q.jsx)(M,{children:`Add listener`}),(0,Q.jsx)(A,{children:`Listeners forward incoming traffic to a default target group.`})]}),t[8]=p):p=t[8];let m;t[9]===f?m=t[10]:(m=e=>{e.preventDefault(),f()},t[9]=f,t[10]=m);let h;t[11]!==c||t[12]!==i?(h=(0,Q.jsx)(ie,{form:c,targetGroups:i}),t[11]=c,t[12]=i,t[13]=h):h=t[13];let g;t[14]!==m||t[15]!==h?(g=(0,Q.jsx)(`form`,{className:`space-y-4`,onSubmit:m,children:h}),t[14]=m,t[15]=h,t[16]=g):g=t[16];let _;t[17]===a?_=t[18]:(_=(0,Q.jsx)(F,{disabled:a,children:`Cancel`}),t[17]=a,t[18]=_);let v=a?`Adding…`:`Add listener`,y;t[19]!==f||t[20]!==a||t[21]!==v?(y=(0,Q.jsx)(N,{disabled:a,onClick:f,children:v}),t[19]=f,t[20]=a,t[21]=v,t[22]=y):y=t[22];let b;t[23]!==y||t[24]!==_?(b=(0,Q.jsxs)(P,{children:[_,y]}),t[23]=y,t[24]=_,t[25]=b):b=t[25];let x;t[26]!==b||t[27]!==g?(x=(0,Q.jsxs)(j,{className:`sm:max-w-lg`,children:[p,g,b]}),t[26]=b,t[27]=g,t[28]=x):x=t[28];let S;return t[29]!==r||t[30]!==n||t[31]!==x?(S=(0,Q.jsx)(re,{onOpenChange:r,open:n,children:x}),t[29]=r,t[30]=n,t[31]=x,t[32]=S):S=t[32],S}function le({arn:e}){let t=o(),{data:n}=a(T(e)),{data:r}=a(w(e)),{data:l}=a(S([e])),{data:u}=a(_),d=v(),f=y(),[p,g]=(0,X.useState)(!1),b=n.LoadBalancers?.[0];if(!b?.LoadBalancerArn)return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(c,{to:`/ec2/describe-load-balancers`,children:`Back to load balancers`}),(0,Q.jsx)(`p`,{className:`text-muted-foreground`,children:`Load balancer not found.`})]});let x=async()=>{try{await d.mutateAsync(e),t({to:`/ec2/describe-load-balancers`})}finally{g(!1)}},C=u.Subnets??[],E=e=>{let t=C.find(t=>t.SubnetId===e);if(!t)return e;let n=s(t.Tags),r=t.CidrBlock?` (${t.CidrBlock})`:``;return n?`${e} — ${n}${r}`:`${e}${r}`},D=r.Attributes??[],A=l?.TagDescriptions?.find(t=>t.ResourceArn===e)?.Tags??[];return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(c,{to:`/ec2/describe-load-balancers`,children:`Back to load balancers`}),d.error&&(0,Q.jsx)(i,{error:d.error,msg:`Failed to delete load balancer`}),(0,Q.jsxs)(`div`,{className:`space-y-6`,children:[(0,Q.jsx)(ee,{actions:(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsxs)(h,{onClick:()=>g(!0),size:`sm`,variant:`destructive`,children:[(0,Q.jsx)(m,{className:`size-4`}),`Delete`]}),(0,Q.jsx)(te,{state:b.State?.Code})]}),subtitle:`Load balancer details`,title:b.LoadBalancerName??b.LoadBalancerArn}),(0,Q.jsxs)(Y,{defaultValue:`overview`,children:[(0,Q.jsxs)(K,{children:[(0,Q.jsx)(G,{value:`overview`,children:`Overview`}),(0,Q.jsx)(G,{value:`listeners`,children:`Listeners`}),(0,Q.jsx)(G,{value:`attributes`,children:`Attributes`}),(0,Q.jsx)(G,{value:`tags`,children:`Tags`})]}),(0,Q.jsxs)(J,{value:`overview`,children:[(0,Q.jsxs)(O,{children:[(0,Q.jsx)(O.Header,{children:`Load balancer`}),(0,Q.jsxs)(O.Content,{children:[(0,Q.jsx)(k,{label:`ARN`,value:b.LoadBalancerArn}),(0,Q.jsx)(k,{label:`DNS name`,value:b.DNSName}),(0,Q.jsx)(k,{label:`State`,value:b.State?.Reason?`${b.State.Code} — ${b.State.Reason}`:b.State?.Code}),(0,Q.jsx)(k,{label:`Type`,value:b.Type}),(0,Q.jsx)(k,{label:`Scheme`,value:b.Scheme}),(0,Q.jsx)(k,{label:`IP address type`,value:b.IpAddressType}),(0,Q.jsx)(k,{label:`VPC`,value:b.VpcId}),(0,Q.jsx)(k,{label:`Created at`,value:b.CreatedTime?new Date(b.CreatedTime).toLocaleString():void 0})]})]}),(0,Q.jsxs)(O,{children:[(0,Q.jsx)(O.Header,{children:`Availability zones`}),(0,Q.jsx)(O.Content,{children:(b.AvailabilityZones??[]).map(e=>(0,Q.jsx)(k,{label:e.ZoneName??`—`,value:e.SubnetId?E(e.SubnetId):void 0},`${e.ZoneName}-${e.SubnetId}`))})]}),(b.SecurityGroups??[]).length>0&&(0,Q.jsxs)(O,{children:[(0,Q.jsx)(O.Header,{children:`Security groups`}),(0,Q.jsx)(O.Content,{children:(b.SecurityGroups??[]).map(e=>(0,Q.jsx)(k,{label:`Security group`,value:e},e))})]})]}),(0,Q.jsx)(J,{value:`listeners`,children:(0,Q.jsx)(se,{loadBalancerArn:e,vpcId:b.VpcId})}),(0,Q.jsx)(J,{value:`attributes`,children:(0,Q.jsx)(W,{attributes:D,error:f.error,isPending:f.isPending,isSuccess:f.isSuccess,onSubmit:t=>{f.mutate({loadBalancerArn:e,attributes:t})},specs:q})}),(0,Q.jsx)(J,{value:`tags`,children:A.length>0?(0,Q.jsxs)(O,{children:[(0,Q.jsx)(O.Header,{children:`Tags`}),(0,Q.jsx)(O.Content,{children:A.map(e=>(0,Q.jsx)(k,{label:e.Key??``,value:e.Value},e.Key??``))})]}):(0,Q.jsx)(`p`,{className:`text-muted-foreground`,children:`No tags.`})})]})]}),(0,Q.jsx)(H,{description:`Are you sure you want to delete load balancer "${b.LoadBalancerName??b.LoadBalancerArn}"? This action cannot be undone.`,isPending:d.isPending,onConfirm:x,onOpenChange:g,open:p,title:`Delete load balancer`})]})}function $(){let e=(0,Z.c)(2),{id:t}=D.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,Q.jsx)(le,{arn:n}),e[0]=n,e[1]=r),r}export{$ as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id17.js b/spinifex/services/spinifexui/frontend/dist/assets/_id17.js index 838a3b84c..0277babe1 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id17.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id17.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./error-banner.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{B as s}from"./SignatureV4.js";import{t as c}from"./back-link.js";import{t as l}from"./trash-2.js";import{t as u}from"./button.js";import{y as d}from"./ec2.js";import{g as f}from"./ec22.js";import{t as p}from"./_id5.js";import{t as m}from"./page-heading.js";import{t as h}from"./state-badge.js";import{n as g,t as _}from"./detail-row.js";import{t as v}from"./delete-confirmation-dialog.js";var y=e(n()),b=t();function x(){let{id:e}=p.useParams(),t=o(),{data:n}=i(f(e)),x=n.Subnets?.[0],S=d(),[C,w]=(0,y.useState)(!1),T=async()=>{try{await S.mutateAsync(e),t({to:`/ec2/describe-subnets`})}finally{w(!1)}};if(!x?.SubnetId)return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(c,{to:`/ec2/describe-subnets`,children:`Back to Subnets`}),(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`Subnet not found.`})]});let E=s(x.Tags);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(c,{to:`/ec2/describe-subnets`,children:`Back to Subnets`}),S.error&&(0,b.jsx)(r,{error:S.error,msg:`Failed to delete subnet`}),(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(m,{actions:(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(u,{onClick:()=>w(!0),size:`sm`,variant:`destructive`,children:[(0,b.jsx)(l,{className:`size-4`}),`Delete`]}),(0,b.jsx)(h,{state:x.State})]}),subtitle:`Subnet Details`,title:E?`${x.SubnetId} (${E})`:x.SubnetId}),(0,b.jsxs)(g,{children:[(0,b.jsx)(g.Header,{children:`Subnet Information`}),(0,b.jsxs)(g.Content,{children:[(0,b.jsx)(_,{label:`Subnet ID`,value:x.SubnetId}),(0,b.jsx)(_,{label:`VPC ID`,value:x.VpcId?(0,b.jsx)(a,{className:`text-primary hover:underline`,params:{id:x.VpcId},to:`/ec2/describe-vpcs/$id`,children:x.VpcId}):`—`}),(0,b.jsx)(_,{label:`State`,value:x.State}),(0,b.jsx)(_,{label:`CIDR Block`,value:x.CidrBlock}),(0,b.jsx)(_,{label:`Availability Zone`,value:x.AvailabilityZone}),(0,b.jsx)(_,{label:`Available IP Count`,value:x.AvailableIpAddressCount?.toString()}),(0,b.jsx)(_,{label:`Map Public IP on Launch`,value:x.MapPublicIpOnLaunch?`Yes`:`No`}),(0,b.jsx)(_,{label:`Default for AZ`,value:x.DefaultForAz?`Yes`:`No`})]})]})]}),(0,b.jsx)(v,{description:`Are you sure you want to delete the subnet "${x.SubnetId}"? This action cannot be undone.`,isPending:S.isPending,onConfirm:T,onOpenChange:w,open:C,title:`Delete Subnet`})]})}export{x as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./error-banner.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{t as s}from"./back-link.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{g as u}from"./ec2.js";import{l as d,o as f}from"./ec22.js";import{t as p}from"./_id8.js";import{t as m}from"./page-heading.js";import{t as h}from"./state-badge.js";import{n as g,t as _}from"./detail-row.js";import{t as v}from"./delete-confirmation-dialog.js";var y=e(n()),b=t();function x(){let{id:e}=p.useParams(),t=o(),{data:n}=i(d(e)),{data:x}=i(f),S=u(),[C,w]=(0,y.useState)(!1),T=n.PlacementGroups?.[0],E=x.Reservations?.flatMap(e=>e.Instances??[]).filter(e=>e.Placement?.GroupName===T?.GroupName)??[];return T?.GroupId?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{to:`/ec2/describe-placement-groups`,children:`Back to placement groups`}),S.error&&(0,b.jsx)(r,{error:S.error,msg:`Failed to delete placement group`}),(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(m,{actions:(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(l,{onClick:()=>w(!0),size:`sm`,variant:`destructive`,children:[(0,b.jsx)(c,{className:`size-4`}),`Delete`]}),(0,b.jsx)(h,{state:T.State})]}),subtitle:`EC2 Placement Group Details`,title:T.GroupName??T.GroupId}),(0,b.jsxs)(g,{children:[(0,b.jsx)(g.Header,{children:`Placement Group Information`}),(0,b.jsxs)(g.Content,{children:[(0,b.jsx)(_,{label:`Group ID`,value:T.GroupId}),(0,b.jsx)(_,{label:`Group Name`,value:T.GroupName}),(0,b.jsx)(_,{label:`Strategy`,value:T.Strategy}),(0,b.jsx)(_,{label:`State`,value:T.State}),(0,b.jsx)(_,{label:`Spread Level`,value:T.SpreadLevel})]})]}),(0,b.jsxs)(g,{children:[(0,b.jsx)(g.Header,{children:`Instances`}),E.length>0?E.map(e=>(0,b.jsxs)(g.Content,{children:[(0,b.jsx)(_,{label:`Instance ID`,value:e.InstanceId?(0,b.jsx)(a,{className:`text-primary hover:underline`,params:{id:e.InstanceId},to:`/ec2/describe-instances/$id`,children:e.InstanceId}):void 0}),(0,b.jsx)(_,{label:`State`,value:e.State?.Name}),(0,b.jsx)(_,{label:`Instance Type`,value:e.InstanceType}),(0,b.jsx)(_,{label:`Availability Zone`,value:e.Placement?.AvailabilityZone})]},e.InstanceId)):(0,b.jsx)(g.Content,{children:(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`No instances in this placement group.`})})]})]}),(0,b.jsx)(v,{description:`Are you sure you want to delete the placement group "${T.GroupName}"? The group must have no running instances.`,isPending:S.isPending,onConfirm:async()=>{if(T?.GroupName)try{await S.mutateAsync(T.GroupName),t({to:`/ec2/describe-placement-groups`})}finally{w(!1)}},onOpenChange:w,open:C,title:`Delete Placement Group`})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{to:`/ec2/describe-placement-groups`,children:`Back to placement groups`}),(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`Placement group not found.`})]})}export{x as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id18.js b/spinifex/services/spinifexui/frontend/dist/assets/_id18.js index 02406d534..85147b0be 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id18.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id18.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./error-banner.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{B as ee,R as s}from"./SignatureV4.js";import{t as c}from"./createLucideIcon.js";import{t as l}from"./back-link.js";import{n as u,t as d}from"./_id.js";import{a as f,i as p,n as m,r as h,t as g}from"./select.js";import{t as _}from"./trash-2.js";import{n as v,t as y}from"./button.js";import{t as te}from"./input.js";import{S as ne,b as re,t as b}from"./ec2.js";import{o as x,v as ie}from"./ec22.js";import{t as ae}from"./page-heading.js";import{t as S}from"./state-badge.js";import{n as C,t as w}from"./detail-row.js";import{a as T,i as E,l as D,n as O,o as k,r as A,s as j,t as M}from"./alert-dialog.js";import{i as N,t as P}from"./field.js";import{t as F}from"./delete-confirmation-dialog.js";var I=c(`link-2-off`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7`,key:`10o201`}],[`path`,{d:`M15 7h2a5 5 0 0 1 4 8`,key:`1d3206`}],[`line`,{x1:`8`,x2:`12`,y1:`12`,y2:`12`,key:`rvw6j4`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`,key:`a6p6uj`}]]),L=c(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),R=e(n()),z=t();function B(){let{id:e}=d.useParams(),t=o(),{data:n}=i(ie(e)),{data:c}=i(x),B=n.Volumes?.[0],V=re(),H=b(),U=ne(),[W,G]=(0,R.useState)(null),[K,q]=(0,R.useState)(``),[J,Y]=(0,R.useState)(``),[X,Z]=(0,R.useState)(!1),oe=c.Reservations?.flatMap(e=>e.Instances?.filter(e=>e.State?.Name===`running`)??[])??[],Q=B?.State===`available`&&(!B.Attachments||B.Attachments.length===0),$=()=>G(null);return B?.VolumeId?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(l,{to:`/ec2/describe-volumes`,children:`Back to volumes`}),V.error&&(0,z.jsx)(r,{error:V.error,msg:`Failed to delete volume`}),H.error&&(0,z.jsx)(r,{error:H.error,msg:`Failed to attach volume`}),U.error&&(0,z.jsx)(r,{error:U.error,msg:`Failed to detach volume`}),(0,z.jsxs)(`div`,{className:`space-y-6`,children:[(0,z.jsx)(ae,{actions:(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsxs)(y,{disabled:!Q,onClick:()=>G(`delete`),size:`sm`,variant:`destructive`,children:[(0,z.jsx)(_,{className:`size-4`}),`Delete`]}),Q?(0,z.jsx)(a,{className:v({variant:`outline`}),params:{id:B.VolumeId},to:`/ec2/modify-volume/$id`,children:`Resize Volume`}):(0,z.jsx)(y,{disabled:!0,variant:`outline`,children:`Resize Volume`}),Q?(0,z.jsxs)(y,{onClick:()=>G(`attach`),size:`sm`,variant:`outline`,children:[(0,z.jsx)(L,{className:`size-4`}),`Attach`]}):null,B.Attachments&&B.Attachments.length>0?(0,z.jsxs)(y,{onClick:()=>G(`detach`),size:`sm`,variant:`outline`,children:[(0,z.jsx)(I,{className:`size-4`}),`Detach`]}):null,(0,z.jsxs)(a,{className:v({variant:`outline`,size:`sm`}),search:{volumeId:B.VolumeId},to:`/ec2/create-snapshot`,children:[(0,z.jsx)(u,{className:`size-4`}),`Create Snapshot`]}),(0,z.jsx)(S,{state:B.State})]}),subtitle:`EC2 Volume Details`,title:B.VolumeId}),(0,z.jsxs)(C,{children:[(0,z.jsx)(C.Header,{children:`Volume Information`}),(0,z.jsxs)(C.Content,{children:[(0,z.jsx)(w,{label:`Volume ID`,value:B.VolumeId}),(0,z.jsx)(w,{label:`Size`,value:`${B.Size} GiB`}),(0,z.jsx)(w,{label:`Volume Type`,value:B.VolumeType}),(0,z.jsx)(w,{label:`State`,value:B.State}),(0,z.jsx)(w,{label:`Availability Zone`,value:B.AvailabilityZone}),(0,z.jsx)(w,{label:`Create Time`,value:s(B.CreateTime)}),(0,z.jsx)(w,{label:`Encrypted`,value:B.Encrypted?`Yes`:`No`}),(0,z.jsx)(w,{label:`KMS Key ID`,value:B.KmsKeyId})]})]}),B.Attachments&&B.Attachments.length>0&&(0,z.jsxs)(C,{children:[(0,z.jsx)(C.Header,{children:`Attachments`}),B.Attachments.map(e=>(0,z.jsxs)(C.Content,{children:[(0,z.jsx)(w,{label:`Instance ID`,value:e.InstanceId?(0,z.jsx)(a,{className:`text-primary hover:underline`,params:{id:e.InstanceId},to:`/ec2/describe-instances/$id`,children:e.InstanceId}):void 0}),(0,z.jsx)(w,{label:`Device`,value:e.Device}),(0,z.jsx)(w,{label:`Status`,value:e.State}),(0,z.jsx)(w,{label:`Attach Time`,value:s(e.AttachTime)}),(0,z.jsx)(w,{label:`Delete on Termination`,value:e.DeleteOnTermination?`Yes`:`No`})]},e.InstanceId))]})]}),(0,z.jsx)(F,{description:`Are you sure you want to delete the volume "${B.VolumeId}"? This action cannot be undone.`,isPending:V.isPending,onConfirm:async()=>{try{await V.mutateAsync(e),t({to:`/ec2/describe-volumes`})}finally{$()}},onOpenChange:e=>{e||$()},open:W===`delete`,title:`Delete Volume`}),(0,z.jsx)(M,{onOpenChange:e=>{e||($(),q(``),Y(``))},open:W===`attach`,children:(0,z.jsxs)(E,{children:[(0,z.jsxs)(j,{children:[(0,z.jsx)(D,{children:`Attach Volume`}),(0,z.jsx)(T,{children:`Attach this volume to a running instance.`})]}),(0,z.jsxs)(P,{children:[(0,z.jsx)(N,{children:(0,z.jsx)(`label`,{htmlFor:`attachInstance`,children:`Instance`})}),(0,z.jsxs)(g,{onValueChange:e=>q(e??``),value:K,children:[(0,z.jsx)(p,{className:`w-full`,id:`attachInstance`,children:(0,z.jsx)(f,{placeholder:`Select an instance`})}),(0,z.jsx)(m,{children:oe.map(e=>{let t=ee(e.Tags);return(0,z.jsxs)(h,{value:e.InstanceId??``,children:[e.InstanceId,t?` (${t})`:``]},e.InstanceId)})})]})]}),(0,z.jsxs)(P,{children:[(0,z.jsx)(N,{children:(0,z.jsx)(`label`,{htmlFor:`attachDevice`,children:`Device (optional)`})}),(0,z.jsx)(te,{id:`attachDevice`,onChange:e=>Y(e.target.value),placeholder:`/dev/sdf`,value:J})]}),(0,z.jsxs)(k,{children:[(0,z.jsx)(A,{children:`Cancel`}),(0,z.jsx)(O,{disabled:H.isPending||!K,onClick:async()=>{try{await H.mutateAsync({volumeId:e,instanceId:K,device:J||void 0}),$(),q(``),Y(``)}catch{}},children:H.isPending?`Attaching…`:`Attach`})]})]})}),(0,z.jsx)(M,{onOpenChange:e=>{e||($(),Z(!1))},open:W===`detach`,children:(0,z.jsxs)(E,{children:[(0,z.jsxs)(j,{children:[(0,z.jsx)(D,{children:`Detach Volume`}),(0,z.jsxs)(T,{children:[`Are you sure you want to detach the volume "`,B.VolumeId,`" from instance "`,B.Attachments?.[0]?.InstanceId,`"?`]})]}),(0,z.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,z.jsx)(`input`,{checked:X,onChange:e=>Z(e.target.checked),type:`checkbox`}),`Force detach`]}),(0,z.jsxs)(k,{children:[(0,z.jsx)(A,{children:`Cancel`}),(0,z.jsx)(O,{disabled:U.isPending,onClick:async()=>{let t=B?.Attachments?.[0]?.InstanceId;try{await U.mutateAsync({volumeId:e,instanceId:t??void 0,force:X||void 0}),$(),Z(!1)}catch{}},children:U.isPending?`Detaching…`:`Detach`})]})]})})]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(l,{to:`/ec2/describe-volumes`,children:`Back to volumes`}),(0,z.jsx)(`p`,{className:`text-muted-foreground`,children:`Volume not found.`})]})}export{B as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./error-banner.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{t as s}from"./back-link.js";import{a as c,i as l,n as u,r as d,t as f}from"./select.js";import{t as p}from"./plus.js";import{t as m}from"./trash-2.js";import{n as h,t as g}from"./_id2.js";import{t as _}from"./button.js";import{t as v}from"./input.js";import{O as y,_ as b,k as x,n as S,r as C}from"./ec2.js";import{f as w}from"./ec22.js";import{t as T}from"./page-heading.js";import{n as E,t as D}from"./detail-row.js";import{i as O,l as k,n as A,o as j,r as M,s as N,t as P}from"./alert-dialog.js";import{i as F,n as I,t as L}from"./field.js";import{n as R,r as z,t as B}from"./zod.js";import{d as V}from"./ec23.js";import{t as H}from"./delete-confirmation-dialog.js";var U=e(n()),W=t();function G(e){if(!e||e===`-1`)return`All traffic`;let t=e.toUpperCase();return t===`TCP`||t===`UDP`||t===`ICMP`?t:e}function K(e,t,n){return!n||n===`-1`||e===void 0||t===void 0||e===-1&&t===-1?`All`:e===t?e.toString():`${e}-${t}`}function q({open:e,onOpenChange:t,direction:n,groupId:i}){let a=C(),o=S(),s=n===`ingress`?a:o,{control:p,handleSubmit:m,register:h,reset:g,watch:_,formState:{errors:y}}=z({resolver:B(V),defaultValues:{ipProtocol:`tcp`,fromPort:0,toPort:0,cidrIp:`0.0.0.0/0`}}),b=_(`ipProtocol`),x=b===`-1`||b===`icmp`;return(0,W.jsx)(P,{onOpenChange:t,open:e,children:(0,W.jsxs)(O,{children:[(0,W.jsx)(N,{children:(0,W.jsxs)(k,{children:[`Add `,n===`ingress`?`Inbound`:`Outbound`,` Rule`]})}),s.error&&(0,W.jsx)(r,{error:s.error,msg:`Failed to add rule`}),(0,W.jsxs)(`form`,{className:`space-y-4`,id:`add-rule-form`,onSubmit:m(async e=>{let n={groupId:i,ipProtocol:e.ipProtocol,fromPort:x?-1:e.fromPort,toPort:x?-1:e.toPort,cidrIp:e.cidrIp};await s.mutateAsync(n),g(),t(!1)}),children:[(0,W.jsxs)(L,{children:[(0,W.jsx)(F,{children:(0,W.jsx)(`label`,{htmlFor:`ipProtocol`,children:`Protocol`})}),(0,W.jsx)(R,{control:p,name:`ipProtocol`,render:({field:e})=>(0,W.jsxs)(f,{onValueChange:t=>e.onChange(t),value:e.value,children:[(0,W.jsx)(l,{className:`w-full`,id:`ipProtocol`,children:(0,W.jsx)(c,{})}),(0,W.jsxs)(u,{children:[(0,W.jsx)(d,{value:`tcp`,children:`TCP`}),(0,W.jsx)(d,{value:`udp`,children:`UDP`}),(0,W.jsx)(d,{value:`icmp`,children:`ICMP`}),(0,W.jsx)(d,{value:`-1`,children:`All traffic (-1)`})]})]})}),(0,W.jsx)(I,{errors:[y.ipProtocol]})]}),(0,W.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[(0,W.jsxs)(L,{children:[(0,W.jsx)(F,{children:(0,W.jsx)(`label`,{htmlFor:`fromPort`,children:`From Port`})}),(0,W.jsx)(v,{"aria-invalid":!!y.fromPort,disabled:x,id:`fromPort`,type:`number`,...h(`fromPort`,{valueAsNumber:!0})}),(0,W.jsx)(I,{errors:[y.fromPort]})]}),(0,W.jsxs)(L,{children:[(0,W.jsx)(F,{children:(0,W.jsx)(`label`,{htmlFor:`toPort`,children:`To Port`})}),(0,W.jsx)(v,{"aria-invalid":!!y.toPort,disabled:x,id:`toPort`,type:`number`,...h(`toPort`,{valueAsNumber:!0})}),(0,W.jsx)(I,{errors:[y.toPort]})]})]}),(0,W.jsxs)(L,{children:[(0,W.jsx)(F,{children:(0,W.jsxs)(`label`,{htmlFor:`cidrIp`,children:[n===`ingress`?`Source`:`Destination`,` CIDR`]})}),(0,W.jsx)(v,{"aria-invalid":!!y.cidrIp,id:`cidrIp`,placeholder:`0.0.0.0/0`,...h(`cidrIp`)}),(0,W.jsx)(I,{errors:[y.cidrIp]})]})]}),(0,W.jsxs)(j,{children:[(0,W.jsx)(M,{onClick:()=>{g(),s.reset()},children:`Cancel`}),(0,W.jsx)(A,{disabled:s.isPending,form:`add-rule-form`,type:`submit`,children:s.isPending?`Adding…`:`Add Rule`})]})]})})}function J({rule:e,cidr:t,groupId:n,direction:i}){let a=x(),o=y(),s=i===`ingress`?a:o;return(0,W.jsxs)(`div`,{className:`space-y-0`,children:[(0,W.jsxs)(`div`,{className:`flex items-center justify-between border-b px-4 py-3 last:border-b-0`,children:[(0,W.jsxs)(`div`,{className:`grid flex-1 grid-cols-3 gap-4 text-sm`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`span`,{className:`text-muted-foreground`,children:`Protocol: `}),G(e.IpProtocol)]}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`span`,{className:`text-muted-foreground`,children:`Port Range: `}),K(e.FromPort,e.ToPort,e.IpProtocol)]}),(0,W.jsxs)(`div`,{children:[(0,W.jsxs)(`span`,{className:`text-muted-foreground`,children:[i===`ingress`?`Source`:`Destination`,`:`,` `]}),t]})]}),(0,W.jsx)(_,{disabled:s.isPending,onClick:async()=>{try{await s.mutateAsync({groupId:n,ipProtocol:e.IpProtocol??`-1`,fromPort:e.FromPort??-1,toPort:e.ToPort??-1,cidrIp:t})}catch{}},size:`icon-xs`,variant:`ghost`,children:(0,W.jsx)(h,{className:`size-3`})})]}),s.error&&(0,W.jsx)(`div`,{className:`px-4 pb-2`,children:(0,W.jsx)(r,{error:s.error,msg:`Failed to remove rule`})})]})}function Y(){let{id:e}=g.useParams(),t=o(),{data:n}=i(w(e)),c=n.SecurityGroups?.[0],l=b(),[u,d]=(0,U.useState)(!1),[f,h]=(0,U.useState)(!1),[v,y]=(0,U.useState)(!1),x=async()=>{try{await l.mutateAsync(e),t({to:`/ec2/describe-security-groups`})}finally{d(!1)}};if(!c?.GroupId)return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(s,{to:`/ec2/describe-security-groups`,children:`Back to Security Groups`}),(0,W.jsx)(`p`,{className:`text-muted-foreground`,children:`Security group not found.`})]});let S=c.IpPermissions??[],C=c.IpPermissionsEgress??[];return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(s,{to:`/ec2/describe-security-groups`,children:`Back to Security Groups`}),l.error&&(0,W.jsx)(r,{error:l.error,msg:`Failed to delete security group`}),(0,W.jsxs)(`div`,{className:`space-y-6`,children:[(0,W.jsx)(T,{actions:(0,W.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,W.jsxs)(_,{onClick:()=>d(!0),size:`sm`,variant:`destructive`,children:[(0,W.jsx)(m,{className:`size-4`}),`Delete`]})}),subtitle:`Security Group Details`,title:c.GroupName?`${c.GroupId} (${c.GroupName})`:c.GroupId}),(0,W.jsxs)(E,{children:[(0,W.jsx)(E.Header,{children:`Security Group Information`}),(0,W.jsxs)(E.Content,{children:[(0,W.jsx)(D,{label:`Group ID`,value:c.GroupId}),(0,W.jsx)(D,{label:`Group Name`,value:c.GroupName}),(0,W.jsx)(D,{label:`Description`,value:c.Description}),(0,W.jsx)(D,{label:`VPC ID`,value:c.VpcId?(0,W.jsx)(a,{className:`text-primary hover:underline`,params:{id:c.VpcId},to:`/ec2/describe-vpcs/$id`,children:c.VpcId}):`—`}),(0,W.jsx)(D,{label:`Owner ID`,value:c.OwnerId})]})]}),(0,W.jsxs)(E,{children:[(0,W.jsxs)(`div`,{className:`flex items-center justify-between border-b p-4`,children:[(0,W.jsxs)(`h2`,{className:`font-semibold`,children:[`Inbound Rules (`,S.length,`)`]}),(0,W.jsxs)(_,{onClick:()=>h(!0),size:`sm`,variant:`outline`,children:[(0,W.jsx)(p,{className:`size-4`}),`Add Rule`]})]}),S.length>0?(0,W.jsx)(`div`,{children:S.map(e=>(e.IpRanges??[]).map(t=>(0,W.jsx)(J,{cidr:t.CidrIp??``,direction:`ingress`,groupId:c.GroupId??``,rule:e},`${e.IpProtocol}-${e.FromPort}-${e.ToPort}-${t.CidrIp}`)))}):(0,W.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:`No inbound rules.`})]}),(0,W.jsxs)(E,{children:[(0,W.jsxs)(`div`,{className:`flex items-center justify-between border-b p-4`,children:[(0,W.jsxs)(`h2`,{className:`font-semibold`,children:[`Outbound Rules (`,C.length,`)`]}),(0,W.jsxs)(_,{onClick:()=>y(!0),size:`sm`,variant:`outline`,children:[(0,W.jsx)(p,{className:`size-4`}),`Add Rule`]})]}),C.length>0?(0,W.jsx)(`div`,{children:C.map(e=>(e.IpRanges??[]).map(t=>(0,W.jsx)(J,{cidr:t.CidrIp??``,direction:`egress`,groupId:c.GroupId??``,rule:e},`${e.IpProtocol}-${e.FromPort}-${e.ToPort}-${t.CidrIp}`)))}):(0,W.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:`No outbound rules.`})]})]}),(0,W.jsx)(H,{description:`Are you sure you want to delete the security group "${c.GroupId}"? This action cannot be undone.`,isPending:l.isPending,onConfirm:x,onOpenChange:d,open:u,title:`Delete Security Group`}),(0,W.jsx)(q,{direction:`ingress`,groupId:c.GroupId,onOpenChange:h,open:f}),(0,W.jsx)(q,{direction:`egress`,groupId:c.GroupId,onOpenChange:y,open:v})]})}export{Y as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id19.js b/spinifex/services/spinifexui/frontend/dist/assets/_id19.js index c3fcaf445..11203f8ea 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id19.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id19.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./error-banner.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./useNavigate.js";import{t as a}from"./back-link.js";import{t as o}from"./input.js";import{E as s}from"./ec2.js";import{v as c}from"./ec22.js";import{t as l}from"./_id4.js";import{t as u}from"./page-heading.js";import{i as d,n as f,t as p}from"./field.js";import{r as m,t as h}from"./zod.js";import{u as g}from"./ec23.js";import{t as _}from"./form-actions.js";var v=t(),y=e();function b(){let e=(0,v.c)(53),{id:t}=l.useParams(),b=i(),x;e[0]===t?x=e[1]:(x=c(t),e[0]=t,e[1]=x);let{data:S}=r(x),C=S.Volumes?.[0],w=C?.VolumeId,T=s(),E=C?.Size??1,D;e[2]===E?D=e[3]:(D=h(g.refine(e=>e.size>E,{message:`New size must be greater than current size (${E} GiB)`,path:[`size`]})),e[2]=E,e[3]=D);let O;e[4]===E?O=e[5]:(O={size:E},e[4]=E,e[5]=O);let k;e[6]!==D||e[7]!==O?(k={resolver:D,defaultValues:O},e[6]=D,e[7]=O,e[8]=k):k=e[8];let{handleSubmit:A,register:j,formState:M}=m(k),{errors:N,isSubmitting:P}=M;if(!w){let t;return e[9]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(a,{to:`/ec2/describe-volumes`,children:`Back to volumes`}),(0,y.jsx)(`p`,{className:`text-muted-foreground`,children:`Volume not found.`})]}),e[9]=t):t=e[9],t}let F;e[10]!==T||e[11]!==b||e[12]!==w?(F=async e=>{await T.mutateAsync({...e,volumeId:w}),b({to:`/ec2/describe-volumes/$id`,params:{id:w}})},e[10]=T,e[11]=b,e[12]=w,e[13]=F):F=e[13];let I=F,L,R;e[14]===w?(L=e[15],R=e[16]):(L=(0,y.jsx)(a,{params:{id:w},to:`/ec2/describe-volumes/$id`,children:`Back to volume`}),R=(0,y.jsx)(u,{subtitle:w,title:`Resize Volume`}),e[14]=w,e[15]=L,e[16]=R);let z;e[17]===T.error?z=e[18]:(z=T.error&&(0,y.jsx)(n,{error:T.error,msg:`Failed to resize volume`}),e[17]=T.error,e[18]=z);let B;e[19]!==A||e[20]!==I?(B=A(I),e[19]=A,e[20]=I,e[21]=B):B=e[21];let V;e[22]===E?V=e[23]:(V=(0,y.jsx)(`div`,{className:`space-y-2`,children:(0,y.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Current size: `,E,` GiB`]})}),e[22]=E,e[23]=V);let H;e[24]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,y.jsx)(d,{children:(0,y.jsx)(`label`,{htmlFor:`size`,children:`New size (GiB)`})}),e[24]=H):H=e[24];let U=!!N.size,W=E+1,G;e[25]===j?G=e[26]:(G=j(`size`,{valueAsNumber:!0}),e[25]=j,e[26]=G);let K;e[27]!==U||e[28]!==W||e[29]!==G?(K=(0,y.jsx)(o,{"aria-invalid":U,id:`size`,min:W,type:`number`,...G}),e[27]=U,e[28]=W,e[29]=G,e[30]=K):K=e[30];let q;e[31]===N.size?q=e[32]:(q=(0,y.jsx)(f,{errors:[N.size]}),e[31]=N.size,e[32]=q);let J;e[33]!==K||e[34]!==q?(J=(0,y.jsxs)(p,{children:[H,K,q]}),e[33]=K,e[34]=q,e[35]=J):J=e[35];let Y;e[36]!==b||e[37]!==w?(Y=()=>b({to:`/ec2/describe-volumes/$id`,params:{id:w}}),e[36]=b,e[37]=w,e[38]=Y):Y=e[38];let X;e[39]!==P||e[40]!==T.isPending||e[41]!==Y?(X=(0,y.jsx)(_,{isPending:T.isPending,isSubmitting:P,onCancel:Y,pendingLabel:`Resizing\\u2026`,submitLabel:`Resize Volume`}),e[39]=P,e[40]=T.isPending,e[41]=Y,e[42]=X):X=e[42];let Z;e[43]!==V||e[44]!==J||e[45]!==X||e[46]!==B?(Z=(0,y.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:B,children:[V,J,X]}),e[43]=V,e[44]=J,e[45]=X,e[46]=B,e[47]=Z):Z=e[47];let Q;return e[48]!==Z||e[49]!==L||e[50]!==R||e[51]!==z?(Q=(0,y.jsxs)(y.Fragment,{children:[L,R,z,Z]}),e[48]=Z,e[49]=L,e[50]=R,e[51]=z,e[52]=Q):Q=e[52],Q}export{b as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./error-banner.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{z as s}from"./SignatureV4.js";import{t as c}from"./back-link.js";import{t as l}from"./copy.js";import{t as u}from"./trash-2.js";import{t as d}from"./button.js";import{t as f}from"./input.js";import{i as p,v as m}from"./ec2.js";import{d as h,m as g}from"./ec22.js";import{t as _}from"./_id7.js";import{t as v}from"./page-heading.js";import{t as y}from"./state-badge.js";import{n as b,t as x}from"./detail-row.js";import{a as S,i as C,l as w,n as T,o as E,r as D,s as O,t as k}from"./alert-dialog.js";import{i as A,t as j}from"./field.js";import{t as M}from"./delete-confirmation-dialog.js";var N=e(n()),P=t();function F(){let{id:e}=_.useParams(),t=o(),{data:n}=i(g(e)),{data:F}=i(h),I=n.Snapshots?.[0],L=m(),R=p(),[z,B]=(0,N.useState)(!1),[V,H]=(0,N.useState)(!1),[U,W]=(0,N.useState)(``),G=F.Regions?.[0]?.RegionName??`ap-southeast-2`,K=I?.State===`completed`,q=async()=>{try{await L.mutateAsync(e),t({to:`/ec2/describe-snapshots`})}finally{B(!1)}},J=async()=>{try{await R.mutateAsync({sourceSnapshotId:e,sourceRegion:G,description:U||void 0}),H(!1),W(``)}catch{}};if(!I?.SnapshotId)return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(c,{to:`/ec2/describe-snapshots`,children:`Back to snapshots`}),(0,P.jsx)(`p`,{className:`text-muted-foreground`,children:`Snapshot not found.`})]});let Y=s(I.StartTime);return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(c,{to:`/ec2/describe-snapshots`,children:`Back to snapshots`}),L.error&&(0,P.jsx)(r,{error:L.error,msg:`Failed to delete snapshot`}),R.error&&(0,P.jsx)(r,{error:R.error,msg:`Failed to copy snapshot`}),(0,P.jsxs)(`div`,{className:`space-y-6`,children:[(0,P.jsx)(v,{actions:(0,P.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,P.jsxs)(d,{disabled:!K,onClick:()=>B(!0),size:`sm`,variant:`destructive`,children:[(0,P.jsx)(u,{className:`size-4`}),`Delete`]}),(0,P.jsxs)(d,{disabled:!K,onClick:()=>H(!0),size:`sm`,variant:`outline`,children:[(0,P.jsx)(l,{className:`size-4`}),`Copy Snapshot`]}),(0,P.jsx)(y,{state:I.State})]}),subtitle:`EC2 Snapshot Details`,title:I.SnapshotId}),(0,P.jsxs)(b,{children:[(0,P.jsx)(b.Header,{children:`Snapshot Information`}),(0,P.jsxs)(b.Content,{children:[(0,P.jsx)(x,{label:`Snapshot ID`,value:I.SnapshotId}),(0,P.jsx)(x,{label:`Volume ID`,value:I.VolumeId?(0,P.jsx)(a,{className:`text-primary hover:underline`,params:{id:I.VolumeId},to:`/ec2/describe-volumes/$id`,children:I.VolumeId}):void 0}),(0,P.jsx)(x,{label:`Volume Size`,value:`${I.VolumeSize} GiB`}),(0,P.jsx)(x,{label:`State`,value:I.State}),(0,P.jsx)(x,{label:`Description`,value:I.Description}),(0,P.jsx)(x,{label:`Progress`,value:I.Progress}),(0,P.jsx)(x,{label:`Start Time`,value:Y}),(0,P.jsx)(x,{label:`Owner ID`,value:I.OwnerId}),(0,P.jsx)(x,{label:`Encrypted`,value:I.Encrypted?`Yes`:`No`})]})]})]}),(0,P.jsx)(M,{description:`Are you sure you want to delete the snapshot "${I.SnapshotId}"? This action cannot be undone.`,isPending:L.isPending,onConfirm:q,onOpenChange:B,open:z,title:`Delete Snapshot`}),(0,P.jsx)(k,{onOpenChange:H,open:V,children:(0,P.jsxs)(C,{children:[(0,P.jsxs)(O,{children:[(0,P.jsx)(w,{children:`Copy Snapshot`}),(0,P.jsx)(S,{children:`Create a copy of this snapshot in the current region.`})]}),(0,P.jsxs)(j,{children:[(0,P.jsx)(A,{children:(0,P.jsx)(`label`,{htmlFor:`copyDescription`,children:`Description (optional)`})}),(0,P.jsx)(f,{id:`copyDescription`,onChange:e=>W(e.target.value),placeholder:`Description for the snapshot copy`,value:U})]}),(0,P.jsxs)(E,{children:[(0,P.jsx)(D,{children:`Cancel`}),(0,P.jsx)(T,{disabled:R.isPending,onClick:J,children:R.isPending?`Copying…`:`Copy Snapshot`})]})]})})]})}export{F as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id2.js b/spinifex/services/spinifexui/frontend/dist/assets/_id2.js index 54d33e93d..3bb886395 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id2.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id15.js","assets/compiler-runtime.js","assets/ec2.js","assets/awsClient.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/toUtf8.browser.js","assets/ec22.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/alert-dialog.js","assets/button.js","assets/dist.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/useStore.js","assets/select.js","assets/getDisabledMountTransitionStyles.js","assets/separator.js","assets/createLucideIcon.js","assets/check.js","assets/chevron-down.js","assets/input.js","assets/zod.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/link.js","assets/useNavigate.js","assets/back-link.js","assets/trash-2.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/page-heading.js","assets/field.js","assets/ec23.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{Ut as n}from"./awsClient.js";import{t as r}from"./createLucideIcon.js";import{f as i}from"./ec22.js";var a=r(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),o=e(`/_auth/ec2/(security-groups)/describe-security-groups/$id`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(i(t.id))},head:({params:e})=>({meta:[{title:`${e.id} | Security Group | Mulga`}]}),component:t(()=>n(()=>import(`./_id15.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),`component`)});export{a as n,o as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id18.js","assets/compiler-runtime.js","assets/ec2.js","assets/awsClient.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/toUtf8.browser.js","assets/ec22.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/alert-dialog.js","assets/button.js","assets/dist.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/useStore.js","assets/select.js","assets/getDisabledMountTransitionStyles.js","assets/separator.js","assets/createLucideIcon.js","assets/check.js","assets/chevron-down.js","assets/input.js","assets/zod.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/link.js","assets/useNavigate.js","assets/back-link.js","assets/plus.js","assets/trash-2.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/page-heading.js","assets/field.js","assets/ec23.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{cn as n}from"./awsClient.js";import{t as r}from"./createLucideIcon.js";import{f as i}from"./ec22.js";var a=r(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),o=e(`/_auth/ec2/(security-groups)/describe-security-groups/$id`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(i(t.id))},head:({params:e})=>({meta:[{title:`${e.id} | Security Group | Mulga`}]}),component:t(()=>n(()=>import(`./_id18.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41])),`component`)});export{a as n,o as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id20.js b/spinifex/services/spinifexui/frontend/dist/assets/_id20.js index 1e69995a6..19ade82d1 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id20.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id20.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./error-banner.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{B as s}from"./SignatureV4.js";import{t as c}from"./back-link.js";import{t as l}from"./trash-2.js";import{t as u}from"./button.js";import{x as d}from"./ec2.js";import{_ as f,b as p}from"./ec22.js";import{t as m}from"./_id3.js";import{t as h}from"./page-heading.js";import{t as g}from"./state-badge.js";import{n as _,t as v}from"./detail-row.js";import{t as y}from"./delete-confirmation-dialog.js";var b=e(n()),x=t();function S(){let{id:e}=m.useParams(),t=o(),{data:n}=i(p(e)),{data:S}=i(f),C=n.Vpcs?.[0],w=d(),[T,E]=(0,b.useState)(!1),D=S.Subnets?.filter(t=>t.VpcId===e)??[],O=async()=>{try{await w.mutateAsync(e),t({to:`/ec2/describe-vpcs`})}finally{E(!1)}};if(!C?.VpcId)return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(c,{to:`/ec2/describe-vpcs`,children:`Back to VPCs`}),(0,x.jsx)(`p`,{className:`text-muted-foreground`,children:`VPC not found.`})]});let k=s(C.Tags);return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(c,{to:`/ec2/describe-vpcs`,children:`Back to VPCs`}),w.error&&(0,x.jsx)(r,{error:w.error,msg:`Failed to delete VPC`}),(0,x.jsxs)(`div`,{className:`space-y-6`,children:[(0,x.jsx)(h,{actions:(0,x.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,x.jsxs)(u,{onClick:()=>E(!0),size:`sm`,variant:`destructive`,children:[(0,x.jsx)(l,{className:`size-4`}),`Delete`]}),(0,x.jsx)(g,{state:C.State})]}),subtitle:`VPC Details`,title:k?`${C.VpcId} (${k})`:C.VpcId}),(0,x.jsxs)(_,{children:[(0,x.jsx)(_.Header,{children:`VPC Information`}),(0,x.jsxs)(_.Content,{children:[(0,x.jsx)(v,{label:`VPC ID`,value:C.VpcId}),(0,x.jsx)(v,{label:`State`,value:C.State}),(0,x.jsx)(v,{label:`CIDR Block`,value:C.CidrBlock}),(0,x.jsx)(v,{label:`Is Default`,value:C.IsDefault?`Yes`:`No`}),(0,x.jsx)(v,{label:`DHCP Options ID`,value:C.DhcpOptionsId}),(0,x.jsx)(v,{label:`Instance Tenancy`,value:C.InstanceTenancy}),(0,x.jsx)(v,{label:`Owner ID`,value:C.OwnerId})]})]}),D.length>0&&(0,x.jsxs)(_,{children:[(0,x.jsxs)(_.Header,{children:[`Subnets (`,D.length,`)`]}),D.map(e=>e.SubnetId?(0,x.jsxs)(_.Content,{children:[(0,x.jsx)(v,{label:`Subnet ID`,value:(0,x.jsx)(a,{className:`text-primary hover:underline`,params:{id:e.SubnetId},to:`/ec2/describe-subnets/$id`,children:e.SubnetId})}),(0,x.jsx)(v,{label:`CIDR Block`,value:e.CidrBlock}),(0,x.jsx)(v,{label:`Availability Zone`,value:e.AvailabilityZone}),(0,x.jsx)(v,{label:`State`,value:e.State})]},e.SubnetId):null)]})]}),(0,x.jsx)(y,{description:`Are you sure you want to delete the VPC "${C.VpcId}"? This action cannot be undone. The VPC must have no associated subnets or internet gateways.`,isPending:w.isPending,onConfirm:O,onOpenChange:E,open:T,title:`Delete VPC`})]})}export{S as component}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./error-banner.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{V as s}from"./SignatureV4.js";import{t as c}from"./back-link.js";import{t as l}from"./trash-2.js";import{t as u}from"./button.js";import{y as d}from"./ec2.js";import{g as f}from"./ec22.js";import{t as p}from"./_id6.js";import{t as m}from"./page-heading.js";import{t as h}from"./state-badge.js";import{n as g,t as _}from"./detail-row.js";import{t as v}from"./delete-confirmation-dialog.js";var y=e(n()),b=t();function x(){let{id:e}=p.useParams(),t=o(),{data:n}=i(f(e)),x=n.Subnets?.[0],S=d(),[C,w]=(0,y.useState)(!1),T=async()=>{try{await S.mutateAsync(e),t({to:`/ec2/describe-subnets`})}finally{w(!1)}};if(!x?.SubnetId)return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(c,{to:`/ec2/describe-subnets`,children:`Back to Subnets`}),(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`Subnet not found.`})]});let E=s(x.Tags);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(c,{to:`/ec2/describe-subnets`,children:`Back to Subnets`}),S.error&&(0,b.jsx)(r,{error:S.error,msg:`Failed to delete subnet`}),(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(m,{actions:(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(u,{onClick:()=>w(!0),size:`sm`,variant:`destructive`,children:[(0,b.jsx)(l,{className:`size-4`}),`Delete`]}),(0,b.jsx)(h,{state:x.State})]}),subtitle:`Subnet Details`,title:E?`${x.SubnetId} (${E})`:x.SubnetId}),(0,b.jsxs)(g,{children:[(0,b.jsx)(g.Header,{children:`Subnet Information`}),(0,b.jsxs)(g.Content,{children:[(0,b.jsx)(_,{label:`Subnet ID`,value:x.SubnetId}),(0,b.jsx)(_,{label:`VPC ID`,value:x.VpcId?(0,b.jsx)(a,{className:`text-primary hover:underline`,params:{id:x.VpcId},to:`/ec2/describe-vpcs/$id`,children:x.VpcId}):`—`}),(0,b.jsx)(_,{label:`State`,value:x.State}),(0,b.jsx)(_,{label:`CIDR Block`,value:x.CidrBlock}),(0,b.jsx)(_,{label:`Availability Zone`,value:x.AvailabilityZone}),(0,b.jsx)(_,{label:`Available IP Count`,value:x.AvailableIpAddressCount?.toString()}),(0,b.jsx)(_,{label:`Map Public IP on Launch`,value:x.MapPublicIpOnLaunch?`Yes`:`No`}),(0,b.jsx)(_,{label:`Default for AZ`,value:x.DefaultForAz?`Yes`:`No`})]})]})]}),(0,b.jsx)(v,{description:`Are you sure you want to delete the subnet "${x.SubnetId}"? This action cannot be undone.`,isPending:S.isPending,onConfirm:T,onOpenChange:w,open:C,title:`Delete Subnet`})]})}export{x as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id21.js b/spinifex/services/spinifexui/frontend/dist/assets/_id21.js new file mode 100644 index 000000000..f49d7e1f8 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id21.js @@ -0,0 +1 @@ +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./error-banner.js";import{t as a}from"./useQuery.js";import{t as o}from"./useSuspenseQuery.js";import{t as s}from"./useNavigate.js";import{I as c,V as l}from"./SignatureV4.js";import{t as u}from"./back-link.js";import{t as d}from"./trash-2.js";import{t as f}from"./button.js";import{t as p}from"./input.js";import{o as m}from"./ec22.js";import{l as h,o as g,s as _,u as v}from"./elbv2.js";import{a as y,l as b,o as x,s as S}from"./elbv22.js";import{t as C}from"./_id5.js";import{t as w}from"./page-heading.js";import{n as T,t as E}from"./detail-row.js";import{a as D,i as O,l as k,n as A,o as j,r as M,s as N,t as P}from"./alert-dialog.js";import{t as F}from"./delete-confirmation-dialog.js";import{a as I,i as L,n as R,r as z,s as B,t as V}from"./tabs.js";var H=r(),U=e(n(),1),W=t();function G(e){let t=e.trim();if(t===``)return;let n=Number(t);if(!(!Number.isInteger(n)||n<1||n>65535))return n}function K(e){let t=(0,H.c)(36),{open:n,onOpenChange:r,instances:i,defaultPort:a,isPending:o,onConfirm:s}=e,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c={},t[0]=c):c=t[0];let[u,d]=(0,U.useState)(c),[f,m]=(0,U.useState)(),h,g;t[1]===n?(h=t[2],g=t[3]):(h=()=>{n||(d({}),m(void 0))},g=[n],t[1]=n,t[2]=h,t[3]=g),(0,U.useEffect)(h,g);let _;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(_=e=>{d(t=>{let n=t[e];return n?.checked?{...t,[e]:{...n,checked:!1}}:{...t,[e]:{checked:!0,port:n?.port??``}}})},t[4]=_):_=t[4];let v=_,y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(y=(e,t)=>{d(n=>({...n,[e]:{checked:n[e]?.checked??!0,port:t}}))},t[5]=y):y=t[5];let b=y,x;t[6]!==s||t[7]!==u?(x=()=>{let e=Object.entries(u).filter(q);if(e.length===0){m(`Select at least one instance.`);return}let t=[];for(let[n,r]of e){if(r.port.trim()===``){t.push({id:n});continue}let e=G(r.port);if(e===void 0){m(`Port for ${n} must be an integer between 1 and 65535.`);return}t.push({id:n,port:e})}m(void 0),s(t)},t[6]=s,t[7]=u,t[8]=x):x=t[8];let S=x,C;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,W.jsx)(k,{children:`Register targets`}),t[9]=C):C=t[9];let w;t[10]===a?w=t[11]:(w=(0,W.jsxs)(N,{children:[C,(0,W.jsxs)(D,{children:[`Select instances to register. Leave port blank to use the target group port (`,a,`).`]})]}),t[10]=a,t[11]=w);let T;t[12]!==a||t[13]!==i||t[14]!==u?(T=i.length===0?(0,W.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No instances available in this VPC.`}):(0,W.jsx)(`div`,{className:`max-h-72 space-y-1 overflow-y-auto`,children:i.map(e=>{let t=e.InstanceId??``,n=u[t],r=n?.checked??!1,i=l(e.Tags);return(0,W.jsxs)(`div`,{className:`flex items-center gap-2 rounded px-1 py-1 text-xs hover:bg-accent`,children:[(0,W.jsx)(`input`,{checked:r,id:`register-target-${t}`,onChange:()=>v(t),type:`checkbox`}),(0,W.jsxs)(`label`,{className:`flex flex-1 items-center gap-2`,htmlFor:`register-target-${t}`,children:[(0,W.jsx)(`span`,{className:`font-mono`,children:t}),i&&(0,W.jsxs)(`span`,{className:`text-muted-foreground`,children:[`(`,i,`)`]}),(0,W.jsx)(`span`,{className:`text-muted-foreground`,children:e.State?.Name??``})]}),r&&(0,W.jsx)(p,{"aria-label":`Port override for ${t}`,className:`w-24`,onChange:e=>b(t,e.target.value),placeholder:String(a),value:n?.port??``})]},t)})}),t[12]=a,t[13]=i,t[14]=u,t[15]=T):T=t[15];let E;t[16]===f?E=t[17]:(E=f&&(0,W.jsx)(`p`,{className:`text-xs text-destructive`,role:`alert`,children:f}),t[16]=f,t[17]=E);let F;t[18]===o?F=t[19]:(F=(0,W.jsx)(M,{disabled:o,children:`Cancel`}),t[18]=o,t[19]=F);let I=o?`Registering…`:`Register`,L;t[20]!==S||t[21]!==o||t[22]!==I?(L=(0,W.jsx)(A,{disabled:o,onClick:S,children:I}),t[20]=S,t[21]=o,t[22]=I,t[23]=L):L=t[23];let R;t[24]!==F||t[25]!==L?(R=(0,W.jsxs)(j,{children:[F,L]}),t[24]=F,t[25]=L,t[26]=R):R=t[26];let z;t[27]!==E||t[28]!==R||t[29]!==w||t[30]!==T?(z=(0,W.jsxs)(O,{className:`sm:max-w-lg`,children:[w,T,E,R]}),t[27]=E,t[28]=R,t[29]=w,t[30]=T,t[31]=z):z=t[31];let B;return t[32]!==r||t[33]!==n||t[34]!==z?(B=(0,W.jsx)(P,{onOpenChange:r,open:n,children:z}),t[32]=r,t[33]=n,t[34]=z,t[35]=B):B=t[35],B}function q(e){let[,t]=e;return t.checked&&t!==void 0}var J=5e3,Y=new Set([`healthy`]),X=new Set([`unhealthy`,`unavailable`]),Z=new Set([`initial`,`draining`]);function Q(e){return e&&Y.has(e)?`bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100`:e&&X.has(e)?`bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-100`:e&&Z.has(e)?`bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100`:`bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-100`}function $(e){return`${e.Id??``}:${e.Port??``}`}function ee({targetGroupArn:e,vpcId:t,defaultPort:n,isActive:r}){let{data:s}=o(m),{data:l,isLoading:u,error:p}=a({...b(e),refetchInterval:r?J:!1,refetchIntervalInBackground:!1}),h=v(),g=_(),[y,x]=(0,U.useState)(!1),[S,C]=(0,U.useState)(),w=(s.Reservations?.flatMap(e=>e.Instances??[])??[]).filter(e=>e.VpcId===t&&e.State?.Name!==`terminated`),T=l?.TargetHealthDescriptions??[];return(0,W.jsxs)(`div`,{className:`space-y-3`,children:[h.error&&(0,W.jsx)(i,{error:h.error,msg:`Failed to register targets`}),g.error&&(0,W.jsx)(i,{error:g.error,msg:`Failed to deregister target`}),p&&(0,W.jsx)(i,{error:p,msg:`Failed to load target health`}),(0,W.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,W.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:u?`Loading target health…`:`${T.length} target${T.length===1?``:`s`}`}),(0,W.jsx)(f,{onClick:()=>x(!0),size:`sm`,children:`Register targets`})]}),T.length===0?(0,W.jsx)(`p`,{className:`text-muted-foreground`,children:`No targets registered.`}):(0,W.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,W.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,W.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Target`}),(0,W.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Port`}),(0,W.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`AZ`}),(0,W.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Health`}),(0,W.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Reason`}),(0,W.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Description`}),(0,W.jsx)(`th`,{className:`px-4 py-2 font-medium`})]})}),(0,W.jsx)(`tbody`,{children:T.map(e=>{let t=e.Target??{Id:``},n=e.TargetHealth?.State;return(0,W.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,W.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:t.Id??``}),(0,W.jsx)(`td`,{className:`px-4 py-2`,children:t.Port??``}),(0,W.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:t.AvailabilityZone??``}),(0,W.jsx)(`td`,{className:`px-4 py-2`,children:(0,W.jsx)(`span`,{className:c(`rounded-full px-2 py-0.5 text-xs`,Q(n)),children:n??`unknown`})}),(0,W.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:e.TargetHealth?.Reason??``}),(0,W.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:e.TargetHealth?.Description??``}),(0,W.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,W.jsx)(f,{"aria-label":`Deregister ${t.Id}`,onClick:()=>C(t),size:`sm`,variant:`ghost`,children:(0,W.jsx)(d,{className:`size-4`})})})]},$(t))})})]})}),(0,W.jsx)(K,{defaultPort:n,instances:w,isPending:h.isPending,onConfirm:async t=>{try{await h.mutateAsync({targetGroupArn:e,targets:t}),x(!1)}catch{}},onOpenChange:x,open:y}),(0,W.jsx)(F,{description:S?`Deregister ${S.Id}${S.Port?`:${S.Port}`:``} from this target group?`:``,isPending:g.isPending,onConfirm:async()=>{if(S?.Id)try{await g.mutateAsync({targetGroupArn:e,targets:[{id:S.Id,port:S.Port}]})}finally{C(void 0)}},onOpenChange:e=>!e&&C(void 0),open:S!==void 0,title:`Deregister target`})]})}function te({arn:e}){let t=s(),{data:n}=o(S(e)),{data:r}=o(x(e)),{data:a}=o(y([e])),c=g(),l=h(),[p,m]=(0,U.useState)(!1),[_,v]=(0,U.useState)(`overview`),b=n.TargetGroups?.[0];if(!b?.TargetGroupArn)return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(u,{to:`/ec2/describe-target-groups`,children:`Back to target groups`}),(0,W.jsx)(`p`,{className:`text-muted-foreground`,children:`Target group not found.`})]});let C=async()=>{try{await c.mutateAsync(e),t({to:`/ec2/describe-target-groups`})}finally{m(!1)}},D=r.Attributes??[],O=a?.TagDescriptions?.find(t=>t.ResourceArn===e)?.Tags??[];return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(u,{to:`/ec2/describe-target-groups`,children:`Back to target groups`}),c.error&&(0,W.jsx)(i,{error:c.error,msg:`Failed to delete target group`}),(0,W.jsxs)(`div`,{className:`space-y-6`,children:[(0,W.jsx)(w,{actions:(0,W.jsxs)(f,{onClick:()=>m(!0),size:`sm`,variant:`destructive`,children:[(0,W.jsx)(d,{className:`size-4`}),`Delete`]}),subtitle:`Target group details`,title:b.TargetGroupName??b.TargetGroupArn}),(0,W.jsxs)(V,{onValueChange:v,value:_,children:[(0,W.jsxs)(R,{children:[(0,W.jsx)(L,{value:`overview`,children:`Overview`}),(0,W.jsx)(L,{value:`targets`,children:`Targets`}),(0,W.jsx)(L,{value:`health-checks`,children:`Health checks`}),(0,W.jsx)(L,{value:`attributes`,children:`Attributes`}),(0,W.jsx)(L,{value:`tags`,children:`Tags`})]}),(0,W.jsx)(z,{value:`overview`,children:(0,W.jsxs)(T,{children:[(0,W.jsx)(T.Header,{children:`Target group`}),(0,W.jsxs)(T.Content,{children:[(0,W.jsx)(E,{label:`ARN`,value:b.TargetGroupArn}),(0,W.jsx)(E,{label:`Protocol`,value:b.Protocol}),(0,W.jsx)(E,{label:`Port`,value:b.Port?.toString()}),(0,W.jsx)(E,{label:`VPC`,value:b.VpcId}),(0,W.jsx)(E,{label:`Target type`,value:b.TargetType}),(0,W.jsx)(E,{label:`Protocol version`,value:b.ProtocolVersion}),(0,W.jsx)(E,{label:`IP address type`,value:b.IpAddressType})]})]})}),(0,W.jsx)(z,{value:`targets`,children:(0,W.jsx)(ee,{defaultPort:b.Port??80,isActive:_===`targets`,targetGroupArn:b.TargetGroupArn,vpcId:b.VpcId})}),(0,W.jsxs)(z,{value:`health-checks`,children:[(0,W.jsx)(`p`,{className:`mb-3 text-sm text-muted-foreground`,children:`Health-check settings are set at creation time. Editing lands in a future slice (mulga-948).`}),(0,W.jsxs)(T,{children:[(0,W.jsx)(T.Header,{children:`Health check`}),(0,W.jsxs)(T.Content,{children:[(0,W.jsx)(E,{label:`Enabled`,value:b.HealthCheckEnabled===void 0?void 0:String(b.HealthCheckEnabled)}),(0,W.jsx)(E,{label:`Protocol`,value:b.HealthCheckProtocol}),(0,W.jsx)(E,{label:`Path`,value:b.HealthCheckPath}),(0,W.jsx)(E,{label:`Port`,value:b.HealthCheckPort}),(0,W.jsx)(E,{label:`Interval (s)`,value:b.HealthCheckIntervalSeconds?.toString()}),(0,W.jsx)(E,{label:`Timeout (s)`,value:b.HealthCheckTimeoutSeconds?.toString()}),(0,W.jsx)(E,{label:`Healthy threshold`,value:b.HealthyThresholdCount?.toString()}),(0,W.jsx)(E,{label:`Unhealthy threshold`,value:b.UnhealthyThresholdCount?.toString()}),(0,W.jsx)(E,{label:`Matcher (HTTP codes)`,value:b.Matcher?.HttpCode??b.Matcher?.GrpcCode})]})]})]}),(0,W.jsx)(z,{value:`attributes`,children:(0,W.jsx)(I,{attributes:D,error:l.error,isPending:l.isPending,isSuccess:l.isSuccess,onSubmit:t=>{l.mutate({targetGroupArn:e,attributes:t})},specs:B})}),(0,W.jsx)(z,{value:`tags`,children:O.length>0?(0,W.jsxs)(T,{children:[(0,W.jsx)(T.Header,{children:`Tags`}),(0,W.jsx)(T.Content,{children:O.map(e=>(0,W.jsx)(E,{label:e.Key??``,value:e.Value},e.Key??``))})]}):(0,W.jsx)(`p`,{className:`text-muted-foreground`,children:`No tags.`})})]})]}),(0,W.jsx)(F,{description:`Are you sure you want to delete target group "${b.TargetGroupName??b.TargetGroupArn}"? This action cannot be undone.`,isPending:c.isPending,onConfirm:C,onOpenChange:m,open:p,title:`Delete target group`})]})}function ne(){let e=(0,H.c)(2),{id:t}=C.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,W.jsx)(te,{arn:n}),e[0]=n,e[1]=r),r}export{ne as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id22.js b/spinifex/services/spinifexui/frontend/dist/assets/_id22.js new file mode 100644 index 000000000..9ff648d9d --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id22.js @@ -0,0 +1 @@ +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./error-banner.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{V as ee,z as s}from"./SignatureV4.js";import{t as c}from"./createLucideIcon.js";import{t as l}from"./back-link.js";import{n as u,t as d}from"./_id.js";import{a as f,i as p,n as m,r as h,t as g}from"./select.js";import{t as _}from"./trash-2.js";import{n as v,t as y}from"./button.js";import{t as te}from"./input.js";import{S as ne,b as re,t as b}from"./ec2.js";import{o as x,v as ie}from"./ec22.js";import{t as ae}from"./page-heading.js";import{t as S}from"./state-badge.js";import{n as C,t as w}from"./detail-row.js";import{a as T,i as E,l as D,n as O,o as k,r as A,s as j,t as M}from"./alert-dialog.js";import{i as N,t as P}from"./field.js";import{t as F}from"./delete-confirmation-dialog.js";var I=c(`link-2-off`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7`,key:`10o201`}],[`path`,{d:`M15 7h2a5 5 0 0 1 4 8`,key:`1d3206`}],[`line`,{x1:`8`,x2:`12`,y1:`12`,y2:`12`,key:`rvw6j4`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`,key:`a6p6uj`}]]),L=c(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),R=e(n()),z=t();function B(){let{id:e}=d.useParams(),t=o(),{data:n}=i(ie(e)),{data:c}=i(x),B=n.Volumes?.[0],V=re(),H=b(),U=ne(),[W,G]=(0,R.useState)(null),[K,q]=(0,R.useState)(``),[J,Y]=(0,R.useState)(``),[X,Z]=(0,R.useState)(!1),oe=c.Reservations?.flatMap(e=>e.Instances?.filter(e=>e.State?.Name===`running`)??[])??[],Q=B?.State===`available`&&(!B.Attachments||B.Attachments.length===0),$=()=>G(null);return B?.VolumeId?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(l,{to:`/ec2/describe-volumes`,children:`Back to volumes`}),V.error&&(0,z.jsx)(r,{error:V.error,msg:`Failed to delete volume`}),H.error&&(0,z.jsx)(r,{error:H.error,msg:`Failed to attach volume`}),U.error&&(0,z.jsx)(r,{error:U.error,msg:`Failed to detach volume`}),(0,z.jsxs)(`div`,{className:`space-y-6`,children:[(0,z.jsx)(ae,{actions:(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsxs)(y,{disabled:!Q,onClick:()=>G(`delete`),size:`sm`,variant:`destructive`,children:[(0,z.jsx)(_,{className:`size-4`}),`Delete`]}),Q?(0,z.jsx)(a,{className:v({variant:`outline`}),params:{id:B.VolumeId},to:`/ec2/modify-volume/$id`,children:`Resize Volume`}):(0,z.jsx)(y,{disabled:!0,variant:`outline`,children:`Resize Volume`}),Q?(0,z.jsxs)(y,{onClick:()=>G(`attach`),size:`sm`,variant:`outline`,children:[(0,z.jsx)(L,{className:`size-4`}),`Attach`]}):null,B.Attachments&&B.Attachments.length>0?(0,z.jsxs)(y,{onClick:()=>G(`detach`),size:`sm`,variant:`outline`,children:[(0,z.jsx)(I,{className:`size-4`}),`Detach`]}):null,(0,z.jsxs)(a,{className:v({variant:`outline`,size:`sm`}),search:{volumeId:B.VolumeId},to:`/ec2/create-snapshot`,children:[(0,z.jsx)(u,{className:`size-4`}),`Create Snapshot`]}),(0,z.jsx)(S,{state:B.State})]}),subtitle:`EC2 Volume Details`,title:B.VolumeId}),(0,z.jsxs)(C,{children:[(0,z.jsx)(C.Header,{children:`Volume Information`}),(0,z.jsxs)(C.Content,{children:[(0,z.jsx)(w,{label:`Volume ID`,value:B.VolumeId}),(0,z.jsx)(w,{label:`Size`,value:`${B.Size} GiB`}),(0,z.jsx)(w,{label:`Volume Type`,value:B.VolumeType}),(0,z.jsx)(w,{label:`State`,value:B.State}),(0,z.jsx)(w,{label:`Availability Zone`,value:B.AvailabilityZone}),(0,z.jsx)(w,{label:`Create Time`,value:s(B.CreateTime)}),(0,z.jsx)(w,{label:`Encrypted`,value:B.Encrypted?`Yes`:`No`}),(0,z.jsx)(w,{label:`KMS Key ID`,value:B.KmsKeyId})]})]}),B.Attachments&&B.Attachments.length>0&&(0,z.jsxs)(C,{children:[(0,z.jsx)(C.Header,{children:`Attachments`}),B.Attachments.map(e=>(0,z.jsxs)(C.Content,{children:[(0,z.jsx)(w,{label:`Instance ID`,value:e.InstanceId?(0,z.jsx)(a,{className:`text-primary hover:underline`,params:{id:e.InstanceId},to:`/ec2/describe-instances/$id`,children:e.InstanceId}):void 0}),(0,z.jsx)(w,{label:`Device`,value:e.Device}),(0,z.jsx)(w,{label:`Status`,value:e.State}),(0,z.jsx)(w,{label:`Attach Time`,value:s(e.AttachTime)}),(0,z.jsx)(w,{label:`Delete on Termination`,value:e.DeleteOnTermination?`Yes`:`No`})]},e.InstanceId))]})]}),(0,z.jsx)(F,{description:`Are you sure you want to delete the volume "${B.VolumeId}"? This action cannot be undone.`,isPending:V.isPending,onConfirm:async()=>{try{await V.mutateAsync(e),t({to:`/ec2/describe-volumes`})}finally{$()}},onOpenChange:e=>{e||$()},open:W===`delete`,title:`Delete Volume`}),(0,z.jsx)(M,{onOpenChange:e=>{e||($(),q(``),Y(``))},open:W===`attach`,children:(0,z.jsxs)(E,{children:[(0,z.jsxs)(j,{children:[(0,z.jsx)(D,{children:`Attach Volume`}),(0,z.jsx)(T,{children:`Attach this volume to a running instance.`})]}),(0,z.jsxs)(P,{children:[(0,z.jsx)(N,{children:(0,z.jsx)(`label`,{htmlFor:`attachInstance`,children:`Instance`})}),(0,z.jsxs)(g,{onValueChange:e=>q(e??``),value:K,children:[(0,z.jsx)(p,{className:`w-full`,id:`attachInstance`,children:(0,z.jsx)(f,{placeholder:`Select an instance`})}),(0,z.jsx)(m,{children:oe.map(e=>{let t=ee(e.Tags);return(0,z.jsxs)(h,{value:e.InstanceId??``,children:[e.InstanceId,t?` (${t})`:``]},e.InstanceId)})})]})]}),(0,z.jsxs)(P,{children:[(0,z.jsx)(N,{children:(0,z.jsx)(`label`,{htmlFor:`attachDevice`,children:`Device (optional)`})}),(0,z.jsx)(te,{id:`attachDevice`,onChange:e=>Y(e.target.value),placeholder:`/dev/sdf`,value:J})]}),(0,z.jsxs)(k,{children:[(0,z.jsx)(A,{children:`Cancel`}),(0,z.jsx)(O,{disabled:H.isPending||!K,onClick:async()=>{try{await H.mutateAsync({volumeId:e,instanceId:K,device:J||void 0}),$(),q(``),Y(``)}catch{}},children:H.isPending?`Attaching…`:`Attach`})]})]})}),(0,z.jsx)(M,{onOpenChange:e=>{e||($(),Z(!1))},open:W===`detach`,children:(0,z.jsxs)(E,{children:[(0,z.jsxs)(j,{children:[(0,z.jsx)(D,{children:`Detach Volume`}),(0,z.jsxs)(T,{children:[`Are you sure you want to detach the volume "`,B.VolumeId,`" from instance "`,B.Attachments?.[0]?.InstanceId,`"?`]})]}),(0,z.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,z.jsx)(`input`,{checked:X,onChange:e=>Z(e.target.checked),type:`checkbox`}),`Force detach`]}),(0,z.jsxs)(k,{children:[(0,z.jsx)(A,{children:`Cancel`}),(0,z.jsx)(O,{disabled:U.isPending,onClick:async()=>{let t=B?.Attachments?.[0]?.InstanceId;try{await U.mutateAsync({volumeId:e,instanceId:t??void 0,force:X||void 0}),$(),Z(!1)}catch{}},children:U.isPending?`Detaching…`:`Detach`})]})]})})]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(l,{to:`/ec2/describe-volumes`,children:`Back to volumes`}),(0,z.jsx)(`p`,{className:`text-muted-foreground`,children:`Volume not found.`})]})}export{B as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id23.js b/spinifex/services/spinifexui/frontend/dist/assets/_id23.js new file mode 100644 index 000000000..c3fcaf445 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id23.js @@ -0,0 +1 @@ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./error-banner.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./useNavigate.js";import{t as a}from"./back-link.js";import{t as o}from"./input.js";import{E as s}from"./ec2.js";import{v as c}from"./ec22.js";import{t as l}from"./_id4.js";import{t as u}from"./page-heading.js";import{i as d,n as f,t as p}from"./field.js";import{r as m,t as h}from"./zod.js";import{u as g}from"./ec23.js";import{t as _}from"./form-actions.js";var v=t(),y=e();function b(){let e=(0,v.c)(53),{id:t}=l.useParams(),b=i(),x;e[0]===t?x=e[1]:(x=c(t),e[0]=t,e[1]=x);let{data:S}=r(x),C=S.Volumes?.[0],w=C?.VolumeId,T=s(),E=C?.Size??1,D;e[2]===E?D=e[3]:(D=h(g.refine(e=>e.size>E,{message:`New size must be greater than current size (${E} GiB)`,path:[`size`]})),e[2]=E,e[3]=D);let O;e[4]===E?O=e[5]:(O={size:E},e[4]=E,e[5]=O);let k;e[6]!==D||e[7]!==O?(k={resolver:D,defaultValues:O},e[6]=D,e[7]=O,e[8]=k):k=e[8];let{handleSubmit:A,register:j,formState:M}=m(k),{errors:N,isSubmitting:P}=M;if(!w){let t;return e[9]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(a,{to:`/ec2/describe-volumes`,children:`Back to volumes`}),(0,y.jsx)(`p`,{className:`text-muted-foreground`,children:`Volume not found.`})]}),e[9]=t):t=e[9],t}let F;e[10]!==T||e[11]!==b||e[12]!==w?(F=async e=>{await T.mutateAsync({...e,volumeId:w}),b({to:`/ec2/describe-volumes/$id`,params:{id:w}})},e[10]=T,e[11]=b,e[12]=w,e[13]=F):F=e[13];let I=F,L,R;e[14]===w?(L=e[15],R=e[16]):(L=(0,y.jsx)(a,{params:{id:w},to:`/ec2/describe-volumes/$id`,children:`Back to volume`}),R=(0,y.jsx)(u,{subtitle:w,title:`Resize Volume`}),e[14]=w,e[15]=L,e[16]=R);let z;e[17]===T.error?z=e[18]:(z=T.error&&(0,y.jsx)(n,{error:T.error,msg:`Failed to resize volume`}),e[17]=T.error,e[18]=z);let B;e[19]!==A||e[20]!==I?(B=A(I),e[19]=A,e[20]=I,e[21]=B):B=e[21];let V;e[22]===E?V=e[23]:(V=(0,y.jsx)(`div`,{className:`space-y-2`,children:(0,y.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Current size: `,E,` GiB`]})}),e[22]=E,e[23]=V);let H;e[24]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,y.jsx)(d,{children:(0,y.jsx)(`label`,{htmlFor:`size`,children:`New size (GiB)`})}),e[24]=H):H=e[24];let U=!!N.size,W=E+1,G;e[25]===j?G=e[26]:(G=j(`size`,{valueAsNumber:!0}),e[25]=j,e[26]=G);let K;e[27]!==U||e[28]!==W||e[29]!==G?(K=(0,y.jsx)(o,{"aria-invalid":U,id:`size`,min:W,type:`number`,...G}),e[27]=U,e[28]=W,e[29]=G,e[30]=K):K=e[30];let q;e[31]===N.size?q=e[32]:(q=(0,y.jsx)(f,{errors:[N.size]}),e[31]=N.size,e[32]=q);let J;e[33]!==K||e[34]!==q?(J=(0,y.jsxs)(p,{children:[H,K,q]}),e[33]=K,e[34]=q,e[35]=J):J=e[35];let Y;e[36]!==b||e[37]!==w?(Y=()=>b({to:`/ec2/describe-volumes/$id`,params:{id:w}}),e[36]=b,e[37]=w,e[38]=Y):Y=e[38];let X;e[39]!==P||e[40]!==T.isPending||e[41]!==Y?(X=(0,y.jsx)(_,{isPending:T.isPending,isSubmitting:P,onCancel:Y,pendingLabel:`Resizing\\u2026`,submitLabel:`Resize Volume`}),e[39]=P,e[40]=T.isPending,e[41]=Y,e[42]=X):X=e[42];let Z;e[43]!==V||e[44]!==J||e[45]!==X||e[46]!==B?(Z=(0,y.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:B,children:[V,J,X]}),e[43]=V,e[44]=J,e[45]=X,e[46]=B,e[47]=Z):Z=e[47];let Q;return e[48]!==Z||e[49]!==L||e[50]!==R||e[51]!==z?(Q=(0,y.jsxs)(y.Fragment,{children:[L,R,z,Z]}),e[48]=Z,e[49]=L,e[50]=R,e[51]=z,e[52]=Q):Q=e[52],Q}export{b as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id24.js b/spinifex/services/spinifexui/frontend/dist/assets/_id24.js new file mode 100644 index 000000000..cb1694a0a --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id24.js @@ -0,0 +1 @@ +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./error-banner.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{V as s}from"./SignatureV4.js";import{t as c}from"./back-link.js";import{t as l}from"./trash-2.js";import{t as u}from"./button.js";import{x as d}from"./ec2.js";import{_ as f,b as p}from"./ec22.js";import{t as m}from"./_id3.js";import{t as h}from"./page-heading.js";import{t as g}from"./state-badge.js";import{n as _,t as v}from"./detail-row.js";import{t as y}from"./delete-confirmation-dialog.js";var b=e(n()),x=t();function S(){let{id:e}=m.useParams(),t=o(),{data:n}=i(p(e)),{data:S}=i(f),C=n.Vpcs?.[0],w=d(),[T,E]=(0,b.useState)(!1),D=S.Subnets?.filter(t=>t.VpcId===e)??[],O=async()=>{try{await w.mutateAsync(e),t({to:`/ec2/describe-vpcs`})}finally{E(!1)}};if(!C?.VpcId)return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(c,{to:`/ec2/describe-vpcs`,children:`Back to VPCs`}),(0,x.jsx)(`p`,{className:`text-muted-foreground`,children:`VPC not found.`})]});let k=s(C.Tags);return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(c,{to:`/ec2/describe-vpcs`,children:`Back to VPCs`}),w.error&&(0,x.jsx)(r,{error:w.error,msg:`Failed to delete VPC`}),(0,x.jsxs)(`div`,{className:`space-y-6`,children:[(0,x.jsx)(h,{actions:(0,x.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,x.jsxs)(u,{onClick:()=>E(!0),size:`sm`,variant:`destructive`,children:[(0,x.jsx)(l,{className:`size-4`}),`Delete`]}),(0,x.jsx)(g,{state:C.State})]}),subtitle:`VPC Details`,title:k?`${C.VpcId} (${k})`:C.VpcId}),(0,x.jsxs)(_,{children:[(0,x.jsx)(_.Header,{children:`VPC Information`}),(0,x.jsxs)(_.Content,{children:[(0,x.jsx)(v,{label:`VPC ID`,value:C.VpcId}),(0,x.jsx)(v,{label:`State`,value:C.State}),(0,x.jsx)(v,{label:`CIDR Block`,value:C.CidrBlock}),(0,x.jsx)(v,{label:`Is Default`,value:C.IsDefault?`Yes`:`No`}),(0,x.jsx)(v,{label:`DHCP Options ID`,value:C.DhcpOptionsId}),(0,x.jsx)(v,{label:`Instance Tenancy`,value:C.InstanceTenancy}),(0,x.jsx)(v,{label:`Owner ID`,value:C.OwnerId})]})]}),D.length>0&&(0,x.jsxs)(_,{children:[(0,x.jsxs)(_.Header,{children:[`Subnets (`,D.length,`)`]}),D.map(e=>e.SubnetId?(0,x.jsxs)(_.Content,{children:[(0,x.jsx)(v,{label:`Subnet ID`,value:(0,x.jsx)(a,{className:`text-primary hover:underline`,params:{id:e.SubnetId},to:`/ec2/describe-subnets/$id`,children:e.SubnetId})}),(0,x.jsx)(v,{label:`CIDR Block`,value:e.CidrBlock}),(0,x.jsx)(v,{label:`Availability Zone`,value:e.AvailabilityZone}),(0,x.jsx)(v,{label:`State`,value:e.State})]},e.SubnetId):null)]})]}),(0,x.jsx)(y,{description:`Are you sure you want to delete the VPC "${C.VpcId}"? This action cannot be undone. The VPC must have no associated subnets or internet gateways.`,isPending:w.isPending,onConfirm:O,onOpenChange:E,open:T,title:`Delete VPC`})]})}export{S as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id3.js b/spinifex/services/spinifexui/frontend/dist/assets/_id3.js index a29415731..4d77628b2 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id3.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id3.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id20.js","assets/compiler-runtime.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/ec2.js","assets/awsClient.js","assets/toUtf8.browser.js","assets/ec22.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/button.js","assets/dist.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/detail-row.js","assets/page-heading.js","assets/state-badge.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{Ut as n}from"./awsClient.js";import{_ as r,b as i}from"./ec22.js";var a=e(`/_auth/ec2/(vpc)/describe-vpcs/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(i(t.id)),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${e.id} | VPC | Mulga`}]}),component:t(()=>n(()=>import(`./_id20.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32])),`component`)});export{a as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id24.js","assets/compiler-runtime.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/ec2.js","assets/awsClient.js","assets/toUtf8.browser.js","assets/ec22.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/button.js","assets/dist.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/detail-row.js","assets/page-heading.js","assets/state-badge.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{cn as n}from"./awsClient.js";import{_ as r,b as i}from"./ec22.js";var a=e(`/_auth/ec2/(vpc)/describe-vpcs/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(i(t.id)),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${e.id} | VPC | Mulga`}]}),component:t(()=>n(()=>import(`./_id24.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32])),`component`)});export{a as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id4.js b/spinifex/services/spinifexui/frontend/dist/assets/_id4.js index 1b911c690..29749e274 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id4.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id4.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id19.js","assets/compiler-runtime.js","assets/ec2.js","assets/awsClient.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/toUtf8.browser.js","assets/ec22.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/input.js","assets/button.js","assets/dist.js","assets/separator.js","assets/createBaseUIEventDetails.js","assets/zod.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/form-actions.js","assets/page-heading.js","assets/field.js","assets/ec23.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{Ut as n}from"./awsClient.js";import{v as r}from"./ec22.js";var i=e(`/_auth/ec2/(volumes)/modify-volume/$id`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(r(t.id))},head:({params:e})=>({meta:[{title:`Resize ${e.id} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id19.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])),`component`)});export{i as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id23.js","assets/compiler-runtime.js","assets/ec2.js","assets/awsClient.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/toUtf8.browser.js","assets/ec22.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/input.js","assets/button.js","assets/dist.js","assets/separator.js","assets/createBaseUIEventDetails.js","assets/zod.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/form-actions.js","assets/page-heading.js","assets/field.js","assets/ec23.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{cn as n}from"./awsClient.js";import{v as r}from"./ec22.js";var i=e(`/_auth/ec2/(volumes)/modify-volume/$id`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(r(t.id))},head:({params:e})=>({meta:[{title:`Resize ${e.id} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id23.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])),`component`)});export{i as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id5.js b/spinifex/services/spinifexui/frontend/dist/assets/_id5.js index 770fe233e..1be32d0a7 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id5.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id5.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id17.js","assets/compiler-runtime.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/ec2.js","assets/awsClient.js","assets/toUtf8.browser.js","assets/ec22.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/button.js","assets/dist.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/detail-row.js","assets/page-heading.js","assets/state-badge.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{Ut as n}from"./awsClient.js";import{g as r}from"./ec22.js";var i=e(`/_auth/ec2/(subnet)/describe-subnets/$id`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(r(t.id))},head:({params:e})=>({meta:[{title:`${e.id} | Subnet | Mulga`}]}),component:t(()=>n(()=>import(`./_id17.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32])),`component`)});export{i as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id21.js","assets/compiler-runtime.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/ec22.js","assets/awsClient.js","assets/toUtf8.browser.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/elbv2.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/elbv22.js","assets/alert-dialog.js","assets/button.js","assets/dist.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/useStore.js","assets/tabs.js","assets/select.js","assets/getDisabledMountTransitionStyles.js","assets/separator.js","assets/createLucideIcon.js","assets/check.js","assets/chevron-down.js","assets/input.js","assets/field.js","assets/useQuery.js","assets/useBaseQuery.js","assets/query.js","assets/useSuspenseQuery.js","assets/useNavigate.js","assets/back-link.js","assets/link.js","assets/trash-2.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/page-heading.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{cn as n}from"./awsClient.js";import{o as r}from"./ec22.js";import{a as i,o as a,s as o}from"./elbv22.js";var s=e(`/_auth/ec2/(target-groups)/describe-target-groups/$id`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.id);await Promise.all([e.queryClient.ensureQueryData(o(n)),e.queryClient.ensureQueryData(a(n)),e.queryClient.ensureQueryData(i([n])),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.id)} | Target Group | Mulga`}]}),component:t(()=>n(()=>import(`./_id21.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41])),`component`)});export{s as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id6.js b/spinifex/services/spinifexui/frontend/dist/assets/_id6.js index a6888b47c..48ddc5da7 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id6.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id6.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id16.js","assets/compiler-runtime.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/ec2.js","assets/awsClient.js","assets/toUtf8.browser.js","assets/ec22.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/alert-dialog.js","assets/button.js","assets/dist.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/useStore.js","assets/input.js","assets/separator.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/link.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/copy.js","assets/trash-2.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/page-heading.js","assets/state-badge.js","assets/field.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{Ut as n}from"./awsClient.js";import{d as r,m as i}from"./ec22.js";var a=e(`/_auth/ec2/(snapshots)/describe-snapshots/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(i(t.id)),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${e.id} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id16.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36])),`component`)});export{a as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id20.js","assets/compiler-runtime.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/ec2.js","assets/awsClient.js","assets/toUtf8.browser.js","assets/ec22.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/button.js","assets/dist.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/detail-row.js","assets/page-heading.js","assets/state-badge.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{cn as n}from"./awsClient.js";import{g as r}from"./ec22.js";var i=e(`/_auth/ec2/(subnet)/describe-subnets/$id`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(r(t.id))},head:({params:e})=>({meta:[{title:`${e.id} | Subnet | Mulga`}]}),component:t(()=>n(()=>import(`./_id20.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32])),`component`)});export{i as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id7.js b/spinifex/services/spinifexui/frontend/dist/assets/_id7.js index 42efbf086..de4caf899 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id7.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id7.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id14.js","assets/compiler-runtime.js","assets/ec2.js","assets/awsClient.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/toUtf8.browser.js","assets/ec22.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/button.js","assets/dist.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/detail-row.js","assets/page-heading.js","assets/state-badge.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{Ut as n}from"./awsClient.js";import{l as r,o as i}from"./ec22.js";var a=e(`/_auth/ec2/(placement-groups)/describe-placement-groups/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(r(t.id)),e.queryClient.ensureQueryData(i)])},head:({params:e})=>({meta:[{title:`${e.id} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id14.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32])),`component`)});export{a as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id19.js","assets/compiler-runtime.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/ec2.js","assets/awsClient.js","assets/toUtf8.browser.js","assets/ec22.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/alert-dialog.js","assets/button.js","assets/dist.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/useStore.js","assets/input.js","assets/separator.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/link.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/copy.js","assets/trash-2.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/page-heading.js","assets/state-badge.js","assets/field.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{cn as n}from"./awsClient.js";import{d as r,m as i}from"./ec22.js";var a=e(`/_auth/ec2/(snapshots)/describe-snapshots/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(i(t.id)),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${e.id} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id19.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36])),`component`)});export{a as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id8.js b/spinifex/services/spinifexui/frontend/dist/assets/_id8.js index 4c30a08da..40428cddd 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id8.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id8.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id13.js","assets/compiler-runtime.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/ec2.js","assets/awsClient.js","assets/toUtf8.browser.js","assets/ec22.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/button.js","assets/dist.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/detail-row.js","assets/page-heading.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{Ut as n}from"./awsClient.js";import{s as r}from"./ec22.js";var i=e(`/_auth/ec2/(key)/describe-key-pairs/$id`)({loader:async({context:e,params:t})=>await e.queryClient.ensureQueryData(r(t.id)),head:({loaderData:e})=>({meta:[{title:`${e?.KeyPairs?.[0]?.KeyName??`Key Pair`} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id13.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31])),`component`)});export{i as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id17.js","assets/compiler-runtime.js","assets/ec2.js","assets/awsClient.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/toUtf8.browser.js","assets/ec22.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/button.js","assets/dist.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/detail-row.js","assets/page-heading.js","assets/state-badge.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{cn as n}from"./awsClient.js";import{l as r,o as i}from"./ec22.js";var a=e(`/_auth/ec2/(placement-groups)/describe-placement-groups/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(r(t.id)),e.queryClient.ensureQueryData(i)])},head:({params:e})=>({meta:[{title:`${e.id} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id17.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32])),`component`)});export{a as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id9.js b/spinifex/services/spinifexui/frontend/dist/assets/_id9.js index 9d2775d5b..d096a672c 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id9.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id9.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id12.js","assets/compiler-runtime.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/ec2.js","assets/awsClient.js","assets/toUtf8.browser.js","assets/ec22.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/alert-dialog.js","assets/button.js","assets/dist.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/useStore.js","assets/select.js","assets/getDisabledMountTransitionStyles.js","assets/separator.js","assets/createLucideIcon.js","assets/check.js","assets/chevron-down.js","assets/input.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/link.js","assets/back-link.js","assets/trash-2.js","assets/detail-row.js","assets/page-heading.js","assets/state-badge.js","assets/field.js","assets/textarea.js","assets/ami-details.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{Ut as n}from"./awsClient.js";import{a as r,i,n as a}from"./ec22.js";var o=e(`/_auth/ec2/(instances)/describe-instances/$id`)({loader:async({context:e,params:t})=>{let[n]=await Promise.all([e.queryClient.ensureQueryData(i(t.id)),e.queryClient.ensureQueryData(r)]),o=n.Reservations?.[0]?.Instances?.[0]?.ImageId;return await e.queryClient.ensureQueryData(a(o)),n},head:({loaderData:e})=>({meta:[{title:`${e?.Reservations?.[0]?.Instances?.[0]?.InstanceId??`Instance`} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id12.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),`component`)});export{o as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id16.js","assets/compiler-runtime.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/ec22.js","assets/awsClient.js","assets/toUtf8.browser.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/elbv2.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/elbv22.js","assets/alert-dialog.js","assets/button.js","assets/dist.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/useStore.js","assets/tabs.js","assets/select.js","assets/getDisabledMountTransitionStyles.js","assets/separator.js","assets/createLucideIcon.js","assets/check.js","assets/chevron-down.js","assets/input.js","assets/field.js","assets/zod.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/useNavigate.js","assets/back-link.js","assets/link.js","assets/trash-2.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/page-heading.js","assets/state-badge.js","assets/elbv23.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{cn as n}from"./awsClient.js";import{_ as r}from"./ec22.js";import{a as i,c as a,n as o,r as s,t as c}from"./elbv22.js";var l=e(`/_auth/ec2/(load-balancers)/describe-load-balancers/$id`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.id);await Promise.all([e.queryClient.ensureQueryData(s(n)),e.queryClient.ensureQueryData(c(n)),e.queryClient.ensureQueryData(o(n)),e.queryClient.ensureQueryData(i([n])),e.queryClient.ensureQueryData(a),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.id)} | Load Balancer | Mulga`}]}),component:t(()=>n(()=>import(`./_id16.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43])),`component`)});export{l as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_policyArn.js b/spinifex/services/spinifexui/frontend/dist/assets/_policyArn.js index 75afdf848..e723fb91b 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_policyArn.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_policyArn.js @@ -1,2 +1,2 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_policyArn2.js","assets/compiler-runtime.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/iam.js","assets/awsClient.js","assets/toUtf8.browser.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/iam2.js","assets/queryOptions.js","assets/button.js","assets/dist.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/detail-row.js","assets/page-heading.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{Ut as n}from"./awsClient.js";import{a as r,i}from"./iam2.js";var a=e(`/_auth/iam/(policies)/list-policies/$policyArn`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.policyArn),a=await e.queryClient.ensureQueryData(i(n)),o=a.Policy?.DefaultVersionId;return o&&await e.queryClient.ensureQueryData(r(n,o)),a},head:({loaderData:e})=>({meta:[{title:`${e?.Policy?.PolicyName??`Policy`} | IAM | Mulga`}]}),component:t(()=>n(()=>import(`./_policyArn2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])),`component`)});export{a as t}; \ No newline at end of file +import{n as e,t}from"./lazyRouteComponent.js";import{cn as n}from"./awsClient.js";import{a as r,i}from"./iam2.js";var a=e(`/_auth/iam/(policies)/list-policies/$policyArn`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.policyArn),a=await e.queryClient.ensureQueryData(i(n)),o=a.Policy?.DefaultVersionId;return o&&await e.queryClient.ensureQueryData(r(n,o)),a},head:({loaderData:e})=>({meta:[{title:`${e?.Policy?.PolicyName??`Policy`} | IAM | Mulga`}]}),component:t(()=>n(()=>import(`./_policyArn2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])),`component`)});export{a as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_policyArn2.js b/spinifex/services/spinifexui/frontend/dist/assets/_policyArn2.js index 31a4e0269..2aef52abc 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_policyArn2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_policyArn2.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./error-banner.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./useNavigate.js";import{R as s}from"./SignatureV4.js";import{t as c}from"./back-link.js";import{t as l}from"./trash-2.js";import{t as u}from"./button.js";import{o as d}from"./iam.js";import{a as f,i as p}from"./iam2.js";import{t as m}from"./_policyArn.js";import{t as h}from"./page-heading.js";import{n as g,t as _}from"./detail-row.js";import{t as v}from"./delete-confirmation-dialog.js";var y=e(n()),b=r(),x=t();function S(e){let t=(0,b.c)(4),{document:n}=e,r;try{let e;t[0]===n?e=t[1]:(e=JSON.stringify(JSON.parse(n),null,2),t[0]=n,t[1]=e),r=e}catch{r=n}let i;return t[2]===r?i=t[3]:(i=(0,x.jsx)(`pre`,{className:`overflow-auto rounded-md border bg-muted p-4 font-mono text-sm`,children:r}),t[2]=r,t[3]=i),i}function C(){let{policyArn:e}=m.useParams(),t=decodeURIComponent(e),n=o(),{data:r}=a(p(t)),b=r.Policy,C=d(),[w,T]=(0,y.useState)(!1),{data:E}=a(f(t,b?.DefaultVersionId??`v1`)),D=E?.PolicyVersion?.Document?decodeURIComponent(E.PolicyVersion.Document):null;return b?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(c,{to:`/iam/list-policies`,children:`Back to policies`}),C.error&&(0,x.jsx)(i,{error:C.error,msg:`Failed to delete policy`}),(0,x.jsxs)(`div`,{className:`space-y-6`,children:[(0,x.jsx)(h,{actions:(0,x.jsxs)(u,{onClick:()=>T(!0),size:`sm`,variant:`destructive`,children:[(0,x.jsx)(l,{className:`size-4`}),`Delete`]}),subtitle:`IAM Policy Details`,title:b.PolicyName??``}),(0,x.jsxs)(g,{children:[(0,x.jsx)(g.Header,{children:`Policy Information`}),(0,x.jsxs)(g.Content,{children:[(0,x.jsx)(_,{label:`Policy Name`,value:b.PolicyName}),(0,x.jsx)(_,{label:`Policy ID`,value:b.PolicyId}),(0,x.jsx)(_,{label:`ARN`,value:b.Arn}),(0,x.jsx)(_,{label:`Path`,value:b.Path}),(0,x.jsx)(_,{label:`Description`,value:b.Description??`-`}),(0,x.jsx)(_,{label:`Created`,value:s(b.CreateDate)})]})]}),D&&(0,x.jsxs)(g,{children:[(0,x.jsx)(g.Header,{children:`Policy Document`}),(0,x.jsx)(`div`,{className:`p-4`,children:(0,x.jsx)(S,{document:D})})]})]}),(0,x.jsx)(v,{description:`Are you sure you want to delete the policy "${b.PolicyName}"? This action cannot be undone.`,isPending:C.isPending,onConfirm:async()=>{try{await C.mutateAsync(t),n({to:`/iam/list-policies`})}finally{T(!1)}},onOpenChange:T,open:w,title:`Delete Policy`})]}):(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(c,{to:`/iam/list-policies`,children:`Back to policies`}),(0,x.jsx)(`p`,{className:`text-muted-foreground`,children:`Policy not found.`})]})}export{C as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./error-banner.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./useNavigate.js";import{z as s}from"./SignatureV4.js";import{t as c}from"./back-link.js";import{t as l}from"./trash-2.js";import{t as u}from"./button.js";import{o as d}from"./iam.js";import{a as f,i as p}from"./iam2.js";import{t as m}from"./_policyArn.js";import{t as h}from"./page-heading.js";import{n as g,t as _}from"./detail-row.js";import{t as v}from"./delete-confirmation-dialog.js";var y=e(n()),b=r(),x=t();function S(e){let t=(0,b.c)(4),{document:n}=e,r;try{let e;t[0]===n?e=t[1]:(e=JSON.stringify(JSON.parse(n),null,2),t[0]=n,t[1]=e),r=e}catch{r=n}let i;return t[2]===r?i=t[3]:(i=(0,x.jsx)(`pre`,{className:`overflow-auto rounded-md border bg-muted p-4 font-mono text-sm`,children:r}),t[2]=r,t[3]=i),i}function C(){let{policyArn:e}=m.useParams(),t=decodeURIComponent(e),n=o(),{data:r}=a(p(t)),b=r.Policy,C=d(),[w,T]=(0,y.useState)(!1),{data:E}=a(f(t,b?.DefaultVersionId??`v1`)),D=E?.PolicyVersion?.Document?decodeURIComponent(E.PolicyVersion.Document):null;return b?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(c,{to:`/iam/list-policies`,children:`Back to policies`}),C.error&&(0,x.jsx)(i,{error:C.error,msg:`Failed to delete policy`}),(0,x.jsxs)(`div`,{className:`space-y-6`,children:[(0,x.jsx)(h,{actions:(0,x.jsxs)(u,{onClick:()=>T(!0),size:`sm`,variant:`destructive`,children:[(0,x.jsx)(l,{className:`size-4`}),`Delete`]}),subtitle:`IAM Policy Details`,title:b.PolicyName??``}),(0,x.jsxs)(g,{children:[(0,x.jsx)(g.Header,{children:`Policy Information`}),(0,x.jsxs)(g.Content,{children:[(0,x.jsx)(_,{label:`Policy Name`,value:b.PolicyName}),(0,x.jsx)(_,{label:`Policy ID`,value:b.PolicyId}),(0,x.jsx)(_,{label:`ARN`,value:b.Arn}),(0,x.jsx)(_,{label:`Path`,value:b.Path}),(0,x.jsx)(_,{label:`Description`,value:b.Description??`-`}),(0,x.jsx)(_,{label:`Created`,value:s(b.CreateDate)})]})]}),D&&(0,x.jsxs)(g,{children:[(0,x.jsx)(g.Header,{children:`Policy Document`}),(0,x.jsx)(`div`,{className:`p-4`,children:(0,x.jsx)(S,{document:D})})]})]}),(0,x.jsx)(v,{description:`Are you sure you want to delete the policy "${b.PolicyName}"? This action cannot be undone.`,isPending:C.isPending,onConfirm:async()=>{try{await C.mutateAsync(t),n({to:`/iam/list-policies`})}finally{T(!1)}},onOpenChange:T,open:w,title:`Delete Policy`})]}):(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(c,{to:`/iam/list-policies`,children:`Back to policies`}),(0,x.jsx)(`p`,{className:`text-muted-foreground`,children:`Policy not found.`})]})}export{C as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_userName.js b/spinifex/services/spinifexui/frontend/dist/assets/_userName.js index cc5e28b0f..45018c6a8 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_userName.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_userName.js @@ -1,2 +1,2 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_userName2.js","assets/compiler-runtime.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/iam.js","assets/awsClient.js","assets/toUtf8.browser.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/iam2.js","assets/queryOptions.js","assets/alert-dialog.js","assets/button.js","assets/dist.js","assets/DialogTitle.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/useStore.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/useNavigate.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/check.js","assets/trash-2.js","assets/triangle-alert.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/page-heading.js","assets/state-badge.js","assets/use-copy-to-clipboard.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{Ut as n}from"./awsClient.js";import{n as r,o as i,r as a,t as o}from"./iam2.js";var s=e(`/_auth/iam/(users)/list-users/$userName`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(i(t.userName)),e.queryClient.ensureQueryData(o(t.userName)),e.queryClient.ensureQueryData(r(t.userName)),e.queryClient.ensureQueryData(a)])},head:({params:e})=>({meta:[{title:`${e.userName} | IAM | Mulga`}]}),component:t(()=>n(()=>import(`./_userName2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34])),`component`)});export{s as t}; \ No newline at end of file +import{n as e,t}from"./lazyRouteComponent.js";import{cn as n}from"./awsClient.js";import{n as r,o as i,r as a,t as o}from"./iam2.js";var s=e(`/_auth/iam/(users)/list-users/$userName`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(i(t.userName)),e.queryClient.ensureQueryData(o(t.userName)),e.queryClient.ensureQueryData(r(t.userName)),e.queryClient.ensureQueryData(a)])},head:({params:e})=>({meta:[{title:`${e.userName} | IAM | Mulga`}]}),component:t(()=>n(()=>import(`./_userName2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34])),`component`)});export{s as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_userName2.js b/spinifex/services/spinifexui/frontend/dist/assets/_userName2.js index eba41a4ed..407340d72 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_userName2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_userName2.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./error-banner.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./useNavigate.js";import{R as s}from"./SignatureV4.js";import{t as c}from"./back-link.js";import{t as l}from"./check.js";import{t as u}from"./trash-2.js";import{t as d}from"./triangle-alert.js";import{t as f}from"./button.js";import{a as p,c as m,l as h,n as g,s as _,t as v}from"./iam.js";import{n as y,o as b,r as x,t as S}from"./iam2.js";import{t as C}from"./_userName.js";import{t as w}from"./page-heading.js";import{t as T}from"./state-badge.js";import{n as E,t as D}from"./detail-row.js";import{a as O,c as k,i as A,l as j,o as M,r as N,s as P,t as F}from"./alert-dialog.js";import{t as I}from"./use-copy-to-clipboard.js";import{t as L}from"./delete-confirmation-dialog.js";var R=e(n()),z=r(),B=t();function V(e){let t=(0,z.c)(27),{onClose:n,accessKeyId:r,secretAccessKey:i}=e,{copied:a,copy:o}=I(),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,B.jsxs)(P,{children:[(0,B.jsx)(k,{children:(0,B.jsx)(d,{className:`text-destructive`})}),(0,B.jsx)(j,{children:`Save Your Access Key`}),(0,B.jsx)(O,{children:`This is your only chance to view the secret access key. Please copy it now. You won't be able to retrieve it again.`})]}),t[0]=s):s=t[0];let c;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Access Key ID: `}),t[1]=c):c=t[1];let u;t[2]===r?u=t[3]:(u=(0,B.jsxs)(`div`,{children:[c,r]}),t[2]=r,t[3]=u);let p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Secret Access Key: `}),t[4]=p):p=t[4];let m;t[5]===i?m=t[6]:(m=(0,B.jsxs)(`div`,{children:[p,i]}),t[5]=i,t[6]=m);let h;t[7]!==u||t[8]!==m?(h=(0,B.jsxs)(`div`,{className:`space-y-2 rounded-md border p-4 font-mono text-sm`,children:[u,m]}),t[7]=u,t[8]=m,t[9]=h):h=t[9];let g;t[10]!==r||t[11]!==o||t[12]!==i?(g=()=>o(`Access Key ID: ${r}\nSecret Access Key: ${i}`),t[10]=r,t[11]=o,t[12]=i,t[13]=g):g=t[13];let _;t[14]===a?_=t[15]:(_=a?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(l,{className:`mr-2 size-4`}),`Copied!`]}):`Copy to Clipboard`,t[14]=a,t[15]=_);let v;t[16]!==g||t[17]!==_?(v=(0,B.jsx)(f,{className:`w-full`,onClick:g,type:`button`,variant:`outline`,children:_}),t[16]=g,t[17]=_,t[18]=v):v=t[18];let y;t[19]!==h||t[20]!==v?(y=(0,B.jsxs)(`div`,{className:`space-y-3`,children:[h,v]}),t[19]=h,t[20]=v,t[21]=y):y=t[21];let b;t[22]===n?b=t[23]:(b=(0,B.jsx)(M,{children:(0,B.jsx)(N,{onClick:n,children:`Close and Continue`})}),t[22]=n,t[23]=b);let x;return t[24]!==y||t[25]!==b?(x=(0,B.jsx)(F,{open:!0,children:(0,B.jsxs)(A,{className:`max-w-2xl`,children:[s,y,b]})}),t[24]=y,t[25]=b,t[26]=x):x=t[26],x}function H(){let{userName:e}=C.useParams(),t=o(),{data:n}=a(b(e)),{data:r}=a(S(e)),{data:l}=a(y(e)),{data:d}=a(x),O=_(),k=g(),A=p(),j=h(),M=v(),N=m(),[P,F]=(0,R.useState)(!1),[I,z]=(0,R.useState)(null),[H,U]=(0,R.useState)(!1),[W,G]=(0,R.useState)(null),[K,q]=(0,R.useState)(null),J=n.User,Y=r.AccessKeyMetadata??[],X=l.AttachedPolicies??[],Z=d.Policies??[],Q=new Set(X.map(e=>e.PolicyArn)),$=Z.filter(e=>e.Arn&&!Q.has(e.Arn)),ee=async()=>{try{await O.mutateAsync(e),t({to:`/iam/list-users`})}finally{F(!1)}},te=async()=>{let t=await k.mutateAsync(e);t.AccessKey&&z({accessKeyId:t.AccessKey.AccessKeyId??``,secretAccessKey:t.AccessKey.SecretAccessKey??``})},ne=async t=>{if(t.AccessKeyId){G(t.AccessKeyId);try{await j.mutateAsync({userName:e,accessKeyId:t.AccessKeyId,status:t.Status===`Active`?`Inactive`:`Active`})}finally{G(null)}}},re=async t=>{G(t);try{await A.mutateAsync({userName:e,accessKeyId:t})}finally{G(null)}},ie=async t=>{await M.mutateAsync({userName:e,policyArn:t}),U(!1)},ae=async t=>{q(t);try{await N.mutateAsync({userName:e,policyArn:t})}finally{q(null)}};return J?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(c,{to:`/iam/list-users`,children:`Back to users`}),O.error&&(0,B.jsx)(i,{error:O.error,msg:`Failed to delete user`}),k.error&&(0,B.jsx)(i,{error:k.error,msg:`Failed to create access key`}),A.error&&(0,B.jsx)(i,{error:A.error,msg:`Failed to delete access key`}),M.error&&(0,B.jsx)(i,{error:M.error,msg:`Failed to attach policy`}),N.error&&(0,B.jsx)(i,{error:N.error,msg:`Failed to detach policy`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(w,{actions:(0,B.jsxs)(f,{onClick:()=>F(!0),size:`sm`,variant:`destructive`,children:[(0,B.jsx)(u,{className:`size-4`}),`Delete`]}),subtitle:`IAM User Details`,title:J.UserName??``}),(0,B.jsxs)(E,{children:[(0,B.jsx)(E.Header,{children:`User Information`}),(0,B.jsxs)(E.Content,{children:[(0,B.jsx)(D,{label:`User Name`,value:J.UserName}),(0,B.jsx)(D,{label:`User ID`,value:J.UserId}),(0,B.jsx)(D,{label:`ARN`,value:J.Arn}),(0,B.jsx)(D,{label:`Path`,value:J.Path}),(0,B.jsx)(D,{label:`Created`,value:s(J.CreateDate)})]})]}),(0,B.jsxs)(E,{children:[(0,B.jsx)(E.Header,{children:(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(`span`,{children:`Access Keys`}),(0,B.jsx)(f,{disabled:k.isPending,onClick:te,size:`sm`,children:k.isPending?`Creating...`:`Create Access Key`})]})}),(0,B.jsx)(E.Content,{children:Y.length>0?(0,B.jsx)(`div`,{className:`col-span-2 space-y-3`,children:Y.map(e=>(0,B.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border p-3`,children:[(0,B.jsxs)(`div`,{className:`space-y-1`,children:[(0,B.jsx)(`p`,{className:`font-mono text-sm`,children:e.AccessKeyId}),(0,B.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Created `,s(e.CreateDate)]})]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(T,{state:e.Status}),(0,B.jsx)(f,{disabled:W===e.AccessKeyId,onClick:()=>ne(e),size:`sm`,variant:`outline`,children:e.Status===`Active`?`Deactivate`:`Activate`}),(0,B.jsx)(f,{disabled:W===e.AccessKeyId,onClick:()=>e.AccessKeyId&&re(e.AccessKeyId),size:`sm`,variant:`destructive`,children:`Delete`})]})]},e.AccessKeyId))}):(0,B.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No access keys.`})})]}),(0,B.jsxs)(E,{children:[(0,B.jsx)(E.Header,{children:(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(`span`,{children:`Attached Policies`}),(0,B.jsx)(f,{onClick:()=>U(!H),size:`sm`,children:`Attach Policy`})]})}),(0,B.jsxs)(E.Content,{children:[H&&$.length>0&&(0,B.jsxs)(`div`,{className:`col-span-2 space-y-2 rounded-md border p-3`,children:[(0,B.jsx)(`p`,{className:`text-sm font-medium`,children:`Select a policy to attach:`}),(0,B.jsx)(`div`,{className:`space-y-1`,children:$.map(e=>(0,B.jsxs)(`button`,{className:`flex w-full items-center justify-between rounded-md p-2 text-left text-sm hover:bg-accent`,disabled:M.isPending,onClick:()=>e.Arn&&ie(e.Arn),type:`button`,children:[(0,B.jsx)(`span`,{children:e.PolicyName}),(0,B.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.Arn})]},e.Arn))})]}),H&&$.length===0&&(0,B.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No policies available to attach.`}),X.length>0?(0,B.jsx)(`div`,{className:`col-span-2 space-y-3`,children:X.map(e=>(0,B.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border p-3`,children:[(0,B.jsxs)(`div`,{className:`space-y-1`,children:[(0,B.jsx)(`p`,{className:`text-sm font-medium`,children:e.PolicyName}),(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.PolicyArn})]}),(0,B.jsx)(f,{disabled:K===e.PolicyArn,onClick:()=>e.PolicyArn&&ae(e.PolicyArn),size:`sm`,variant:`outline`,children:`Detach`})]},e.PolicyArn))}):(0,B.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No attached policies.`})]})]})]}),(0,B.jsx)(L,{description:`Are you sure you want to delete the user "${e}"? This action cannot be undone. You must detach all policies and delete all access keys first.`,isPending:O.isPending,onConfirm:ee,onOpenChange:F,open:P,title:`Delete User`}),I&&(0,B.jsx)(V,{accessKeyId:I.accessKeyId,onClose:()=>z(null),secretAccessKey:I.secretAccessKey})]}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(c,{to:`/iam/list-users`,children:`Back to users`}),(0,B.jsx)(`p`,{className:`text-muted-foreground`,children:`User not found.`})]})}export{H as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./error-banner.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./useNavigate.js";import{z as s}from"./SignatureV4.js";import{t as c}from"./back-link.js";import{t as l}from"./check.js";import{t as u}from"./trash-2.js";import{t as d}from"./triangle-alert.js";import{t as f}from"./button.js";import{a as p,c as m,l as h,n as g,s as _,t as v}from"./iam.js";import{n as y,o as b,r as x,t as S}from"./iam2.js";import{t as C}from"./_userName.js";import{t as w}from"./page-heading.js";import{t as T}from"./state-badge.js";import{n as E,t as D}from"./detail-row.js";import{a as O,c as k,i as A,l as j,o as M,r as N,s as P,t as F}from"./alert-dialog.js";import{t as I}from"./use-copy-to-clipboard.js";import{t as L}from"./delete-confirmation-dialog.js";var R=e(n()),z=r(),B=t();function V(e){let t=(0,z.c)(27),{onClose:n,accessKeyId:r,secretAccessKey:i}=e,{copied:a,copy:o}=I(),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,B.jsxs)(P,{children:[(0,B.jsx)(k,{children:(0,B.jsx)(d,{className:`text-destructive`})}),(0,B.jsx)(j,{children:`Save Your Access Key`}),(0,B.jsx)(O,{children:`This is your only chance to view the secret access key. Please copy it now. You won't be able to retrieve it again.`})]}),t[0]=s):s=t[0];let c;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Access Key ID: `}),t[1]=c):c=t[1];let u;t[2]===r?u=t[3]:(u=(0,B.jsxs)(`div`,{children:[c,r]}),t[2]=r,t[3]=u);let p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,B.jsx)(`span`,{className:`text-muted-foreground`,children:`Secret Access Key: `}),t[4]=p):p=t[4];let m;t[5]===i?m=t[6]:(m=(0,B.jsxs)(`div`,{children:[p,i]}),t[5]=i,t[6]=m);let h;t[7]!==u||t[8]!==m?(h=(0,B.jsxs)(`div`,{className:`space-y-2 rounded-md border p-4 font-mono text-sm`,children:[u,m]}),t[7]=u,t[8]=m,t[9]=h):h=t[9];let g;t[10]!==r||t[11]!==o||t[12]!==i?(g=()=>o(`Access Key ID: ${r}\nSecret Access Key: ${i}`),t[10]=r,t[11]=o,t[12]=i,t[13]=g):g=t[13];let _;t[14]===a?_=t[15]:(_=a?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(l,{className:`mr-2 size-4`}),`Copied!`]}):`Copy to Clipboard`,t[14]=a,t[15]=_);let v;t[16]!==g||t[17]!==_?(v=(0,B.jsx)(f,{className:`w-full`,onClick:g,type:`button`,variant:`outline`,children:_}),t[16]=g,t[17]=_,t[18]=v):v=t[18];let y;t[19]!==h||t[20]!==v?(y=(0,B.jsxs)(`div`,{className:`space-y-3`,children:[h,v]}),t[19]=h,t[20]=v,t[21]=y):y=t[21];let b;t[22]===n?b=t[23]:(b=(0,B.jsx)(M,{children:(0,B.jsx)(N,{onClick:n,children:`Close and Continue`})}),t[22]=n,t[23]=b);let x;return t[24]!==y||t[25]!==b?(x=(0,B.jsx)(F,{open:!0,children:(0,B.jsxs)(A,{className:`max-w-2xl`,children:[s,y,b]})}),t[24]=y,t[25]=b,t[26]=x):x=t[26],x}function H(){let{userName:e}=C.useParams(),t=o(),{data:n}=a(b(e)),{data:r}=a(S(e)),{data:l}=a(y(e)),{data:d}=a(x),O=_(),k=g(),A=p(),j=h(),M=v(),N=m(),[P,F]=(0,R.useState)(!1),[I,z]=(0,R.useState)(null),[H,U]=(0,R.useState)(!1),[W,G]=(0,R.useState)(null),[K,q]=(0,R.useState)(null),J=n.User,Y=r.AccessKeyMetadata??[],X=l.AttachedPolicies??[],Z=d.Policies??[],Q=new Set(X.map(e=>e.PolicyArn)),$=Z.filter(e=>e.Arn&&!Q.has(e.Arn)),ee=async()=>{try{await O.mutateAsync(e),t({to:`/iam/list-users`})}finally{F(!1)}},te=async()=>{let t=await k.mutateAsync(e);t.AccessKey&&z({accessKeyId:t.AccessKey.AccessKeyId??``,secretAccessKey:t.AccessKey.SecretAccessKey??``})},ne=async t=>{if(t.AccessKeyId){G(t.AccessKeyId);try{await j.mutateAsync({userName:e,accessKeyId:t.AccessKeyId,status:t.Status===`Active`?`Inactive`:`Active`})}finally{G(null)}}},re=async t=>{G(t);try{await A.mutateAsync({userName:e,accessKeyId:t})}finally{G(null)}},ie=async t=>{await M.mutateAsync({userName:e,policyArn:t}),U(!1)},ae=async t=>{q(t);try{await N.mutateAsync({userName:e,policyArn:t})}finally{q(null)}};return J?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(c,{to:`/iam/list-users`,children:`Back to users`}),O.error&&(0,B.jsx)(i,{error:O.error,msg:`Failed to delete user`}),k.error&&(0,B.jsx)(i,{error:k.error,msg:`Failed to create access key`}),A.error&&(0,B.jsx)(i,{error:A.error,msg:`Failed to delete access key`}),M.error&&(0,B.jsx)(i,{error:M.error,msg:`Failed to attach policy`}),N.error&&(0,B.jsx)(i,{error:N.error,msg:`Failed to detach policy`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(w,{actions:(0,B.jsxs)(f,{onClick:()=>F(!0),size:`sm`,variant:`destructive`,children:[(0,B.jsx)(u,{className:`size-4`}),`Delete`]}),subtitle:`IAM User Details`,title:J.UserName??``}),(0,B.jsxs)(E,{children:[(0,B.jsx)(E.Header,{children:`User Information`}),(0,B.jsxs)(E.Content,{children:[(0,B.jsx)(D,{label:`User Name`,value:J.UserName}),(0,B.jsx)(D,{label:`User ID`,value:J.UserId}),(0,B.jsx)(D,{label:`ARN`,value:J.Arn}),(0,B.jsx)(D,{label:`Path`,value:J.Path}),(0,B.jsx)(D,{label:`Created`,value:s(J.CreateDate)})]})]}),(0,B.jsxs)(E,{children:[(0,B.jsx)(E.Header,{children:(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(`span`,{children:`Access Keys`}),(0,B.jsx)(f,{disabled:k.isPending,onClick:te,size:`sm`,children:k.isPending?`Creating...`:`Create Access Key`})]})}),(0,B.jsx)(E.Content,{children:Y.length>0?(0,B.jsx)(`div`,{className:`col-span-2 space-y-3`,children:Y.map(e=>(0,B.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border p-3`,children:[(0,B.jsxs)(`div`,{className:`space-y-1`,children:[(0,B.jsx)(`p`,{className:`font-mono text-sm`,children:e.AccessKeyId}),(0,B.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Created `,s(e.CreateDate)]})]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(T,{state:e.Status}),(0,B.jsx)(f,{disabled:W===e.AccessKeyId,onClick:()=>ne(e),size:`sm`,variant:`outline`,children:e.Status===`Active`?`Deactivate`:`Activate`}),(0,B.jsx)(f,{disabled:W===e.AccessKeyId,onClick:()=>e.AccessKeyId&&re(e.AccessKeyId),size:`sm`,variant:`destructive`,children:`Delete`})]})]},e.AccessKeyId))}):(0,B.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No access keys.`})})]}),(0,B.jsxs)(E,{children:[(0,B.jsx)(E.Header,{children:(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(`span`,{children:`Attached Policies`}),(0,B.jsx)(f,{onClick:()=>U(!H),size:`sm`,children:`Attach Policy`})]})}),(0,B.jsxs)(E.Content,{children:[H&&$.length>0&&(0,B.jsxs)(`div`,{className:`col-span-2 space-y-2 rounded-md border p-3`,children:[(0,B.jsx)(`p`,{className:`text-sm font-medium`,children:`Select a policy to attach:`}),(0,B.jsx)(`div`,{className:`space-y-1`,children:$.map(e=>(0,B.jsxs)(`button`,{className:`flex w-full items-center justify-between rounded-md p-2 text-left text-sm hover:bg-accent`,disabled:M.isPending,onClick:()=>e.Arn&&ie(e.Arn),type:`button`,children:[(0,B.jsx)(`span`,{children:e.PolicyName}),(0,B.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.Arn})]},e.Arn))})]}),H&&$.length===0&&(0,B.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No policies available to attach.`}),X.length>0?(0,B.jsx)(`div`,{className:`col-span-2 space-y-3`,children:X.map(e=>(0,B.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border p-3`,children:[(0,B.jsxs)(`div`,{className:`space-y-1`,children:[(0,B.jsx)(`p`,{className:`text-sm font-medium`,children:e.PolicyName}),(0,B.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.PolicyArn})]}),(0,B.jsx)(f,{disabled:K===e.PolicyArn,onClick:()=>e.PolicyArn&&ae(e.PolicyArn),size:`sm`,variant:`outline`,children:`Detach`})]},e.PolicyArn))}):(0,B.jsx)(`p`,{className:`col-span-2 text-sm text-muted-foreground`,children:`No attached policies.`})]})]})]}),(0,B.jsx)(L,{description:`Are you sure you want to delete the user "${e}"? This action cannot be undone. You must detach all policies and delete all access keys first.`,isPending:O.isPending,onConfirm:ee,onOpenChange:F,open:P,title:`Delete User`}),I&&(0,B.jsx)(V,{accessKeyId:I.accessKeyId,onClose:()=>z(null),secretAccessKey:I.secretAccessKey})]}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(c,{to:`/iam/list-users`,children:`Back to users`}),(0,B.jsx)(`p`,{className:`text-muted-foreground`,children:`User not found.`})]})}export{H as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/admin.js b/spinifex/services/spinifexui/frontend/dist/assets/admin.js index c6f5b8b5c..b275bc56b 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/admin.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/admin.js @@ -1 +1 @@ -import{t as e}from"./compiler-runtime.js";import{r as t,t as n}from"./useBaseQuery.js";import{t as r}from"./queryOptions.js";import{g as i,t as a}from"./dist.js";import{i as o,r as s}from"./admin-context.js";import{F as c,S as l}from"./SignatureV4.js";function u(e,r){return n(e,t,r)}var d=e(),f=a(`group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-[0.625rem] font-medium whitespace-nowrap transition-all transition-colors focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-2.5!`,{variants:{variant:{default:`bg-primary text-primary-foreground [a]:hover:bg-primary/80`,secondary:`bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80`,destructive:`bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20`,outline:`border-border bg-input/20 text-foreground dark:bg-input/30 [a]:hover:bg-muted [a]:hover:text-muted-foreground`,ghost:`hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50`,link:`text-primary underline-offset-4 hover:underline`}},defaultVariants:{variant:`default`}});function p(e){let t=(0,d.c)(13),n,r,a,s,l;if(t[0]!==e){let{className:u,variant:d,render:p,...m}=e;n=p,l=d===void 0?`default`:d,s=o,r=`span`,a=i({className:c(f({className:u,variant:l}))},m),t[0]=e,t[1]=n,t[2]=r,t[3]=a,t[4]=s,t[5]=l}else n=t[1],r=t[2],a=t[3],s=t[4],l=t[5];let u;t[6]===l?u=t[7]:(u={slot:`badge`,variant:l},t[6]=l,t[7]=u);let p;return t[8]!==n||t[9]!==r||t[10]!==a||t[11]!==u?(p={defaultTagName:r,props:a,render:n,state:u},t[8]=n,t[9]=r,t[10]=a,t[11]=u,t[12]=p):p=t[12],s(p)}var m=r({queryKey:[`admin`,`nodes`],queryFn:async()=>{let e=l();if(!e)throw Error(`Not authenticated`);return await s({action:`GetNodes`,credentials:e})},staleTime:1e4}),h=r({queryKey:[`admin`,`vms`],queryFn:async()=>{let e=l();if(!e)throw Error(`Not authenticated`);return await s({action:`GetVMs`,credentials:e})},staleTime:1e4}),g=r({queryKey:[`admin`,`storageStatus`],queryFn:async()=>{let e=l();if(!e)throw Error(`Not authenticated`);return await s({action:`GetStorageStatus`,credentials:e})},staleTime:1e4});export{u as a,p as i,g as n,h as r,m as t}; \ No newline at end of file +import{t as e}from"./compiler-runtime.js";import{t}from"./queryOptions.js";import{g as n,t as r}from"./dist.js";import{i,r as a}from"./admin-context.js";import{I as o,S as s}from"./SignatureV4.js";var c=e(),l=r(`group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-[0.625rem] font-medium whitespace-nowrap transition-all transition-colors focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-2.5!`,{variants:{variant:{default:`bg-primary text-primary-foreground [a]:hover:bg-primary/80`,secondary:`bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80`,destructive:`bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20`,outline:`border-border bg-input/20 text-foreground dark:bg-input/30 [a]:hover:bg-muted [a]:hover:text-muted-foreground`,ghost:`hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50`,link:`text-primary underline-offset-4 hover:underline`}},defaultVariants:{variant:`default`}});function u(e){let t=(0,c.c)(13),r,a,s,u,d;if(t[0]!==e){let{className:c,variant:f,render:p,...m}=e;r=p,d=f===void 0?`default`:f,u=i,a=`span`,s=n({className:o(l({className:c,variant:d}))},m),t[0]=e,t[1]=r,t[2]=a,t[3]=s,t[4]=u,t[5]=d}else r=t[1],a=t[2],s=t[3],u=t[4],d=t[5];let f;t[6]===d?f=t[7]:(f={slot:`badge`,variant:d},t[6]=d,t[7]=f);let p;return t[8]!==r||t[9]!==a||t[10]!==s||t[11]!==f?(p={defaultTagName:a,props:s,render:r,state:f},t[8]=r,t[9]=a,t[10]=s,t[11]=f,t[12]=p):p=t[12],u(p)}var d=t({queryKey:[`admin`,`nodes`],queryFn:async()=>{let e=s();if(!e)throw Error(`Not authenticated`);return await a({action:`GetNodes`,credentials:e})},staleTime:1e4}),f=t({queryKey:[`admin`,`vms`],queryFn:async()=>{let e=s();if(!e)throw Error(`Not authenticated`);return await a({action:`GetVMs`,credentials:e})},staleTime:1e4}),p=t({queryKey:[`admin`,`storageStatus`],queryFn:async()=>{let e=s();if(!e)throw Error(`Not authenticated`);return await a({action:`GetStorageStatus`,credentials:e})},staleTime:1e4});export{u as i,p as n,f as r,d as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/alert-dialog.js b/spinifex/services/spinifexui/frontend/dist/assets/alert-dialog.js index 35c4b9a02..29ef9d86d 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/alert-dialog.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/alert-dialog.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{p as i}from"./dist.js";import{F as a}from"./SignatureV4.js";import{t as o}from"./button.js";import{a as s,f as c,g as l,h as u,i as d,m as f,n as p,p as m,r as h,t as g}from"./DialogTitle.js";var _=e(n()),v=t();function y(e){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:a,onOpenChangeComplete:o,actionsRef:s,handle:c,triggerId:d,defaultTriggerId:f=null}=e,m=l(),g=!!m,y=i(()=>c?.store??new p({open:r,openProp:n,activeTriggerId:f,triggerIdProp:d,modal:!0,disablePointerDismissal:!0,nested:g,role:`alertdialog`})).current;y.useControlledProp(`openProp`,n),y.useControlledProp(`triggerIdProp`,d),y.useSyncedValue(`nested`,g),y.useContextCallback(`onOpenChange`,a),y.useContextCallback(`onOpenChangeComplete`,o);let b=y.useState(`payload`);h({store:y,actionsRef:s,parentContext:m?.store.context,onOpenChange:a,triggerIdProp:d});let x=_.useMemo(()=>({store:y}),[y]);return(0,v.jsx)(u.Provider,{value:x,children:typeof t==`function`?t({payload:b}):t})}var b=r();function x(e){let t=(0,b.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,v.jsx)(y,{"data-slot":`alert-dialog`,...n}),t[2]=n,t[3]=r),r}function S(e){let t=(0,b.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,v.jsx)(d,{"data-slot":`alert-dialog-portal`,...n}),t[2]=n,t[3]=r),r}function C(e){let t=(0,b.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=a(`data-closed:fade-out-0 data-open:fade-in-0 data-closed:animate-out data-open:animate-in fixed inset-0 isolate z-50 bg-black/80 duration-100 supports-backdrop-filter:backdrop-blur-xs`,n),t[3]=n,t[4]=i);let o;return t[5]!==r||t[6]!==i?(o=(0,v.jsx)(f,{className:i,"data-slot":`alert-dialog-overlay`,...r}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function w(e){let t=(0,b.c)(11),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,size:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let o=i===void 0?`default`:i,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,v.jsx)(C,{}),t[4]=c):c=t[4];let l;t[5]===n?l=t[6]:(l=a(`data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 group/alert-dialog-content data-closed:animate-out data-open:animate-in fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-3 rounded-xl bg-background p-4 ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-64 data-[size=default]:sm:max-w-sm`,n),t[5]=n,t[6]=l);let u;return t[7]!==r||t[8]!==o||t[9]!==l?(u=(0,v.jsxs)(S,{children:[c,(0,v.jsx)(s,{className:l,"data-size":o,"data-slot":`alert-dialog-content`,...r})]}),t[7]=r,t[8]=o,t[9]=l,t[10]=u):u=t[10],u}function T(e){let t=(0,b.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=a(`grid grid-rows-[auto_1fr] place-items-center gap-1 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]`,n),t[3]=n,t[4]=i);let o;return t[5]!==r||t[6]!==i?(o=(0,v.jsx)(`div`,{className:i,"data-slot":`alert-dialog-header`,...r}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function E(e){let t=(0,b.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=a(`flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end`,n),t[3]=n,t[4]=i);let o;return t[5]!==r||t[6]!==i?(o=(0,v.jsx)(`div`,{className:i,"data-slot":`alert-dialog-footer`,...r}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function D(e){let t=(0,b.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=a(`mb-2 inline-flex size-8 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-4`,n),t[3]=n,t[4]=i);let o;return t[5]!==r||t[6]!==i?(o=(0,v.jsx)(`div`,{className:i,"data-slot":`alert-dialog-media`,...r}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function O(e){let t=(0,b.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=a(`text-sm font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2`,n),t[3]=n,t[4]=i);let o;return t[5]!==r||t[6]!==i?(o=(0,v.jsx)(g,{className:i,"data-slot":`alert-dialog-title`,...r}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function k(e){let t=(0,b.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=a(`text-xs/relaxed text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,n),t[3]=n,t[4]=i);let o;return t[5]!==r||t[6]!==i?(o=(0,v.jsx)(c,{className:i,"data-slot":`alert-dialog-description`,...r}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function A(e){let t=(0,b.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=a(n),t[3]=n,t[4]=i);let s;return t[5]!==r||t[6]!==i?(s=(0,v.jsx)(o,{className:i,"data-slot":`alert-dialog-action`,...r}),t[5]=r,t[6]=i,t[7]=s):s=t[7],s}function j(e){let t=(0,b.c)(14),n,r,i,s;t[0]===e?(n=t[1],r=t[2],i=t[3],s=t[4]):({className:n,variant:i,size:s,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=s);let c=i===void 0?`outline`:i,l=s===void 0?`default`:s,u;t[5]===n?u=t[6]:(u=a(n),t[5]=n,t[6]=u);let d;t[7]!==l||t[8]!==c?(d=(0,v.jsx)(o,{size:l,variant:c}),t[7]=l,t[8]=c,t[9]=d):d=t[9];let f;return t[10]!==r||t[11]!==u||t[12]!==d?(f=(0,v.jsx)(m,{className:u,"data-slot":`alert-dialog-cancel`,render:d,...r}),t[10]=r,t[11]=u,t[12]=d,t[13]=f):f=t[13],f}export{k as a,D as c,w as i,O as l,A as n,E as o,j as r,T as s,x as t}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{p as i}from"./dist.js";import{I as a}from"./SignatureV4.js";import{t as o}from"./button.js";import{a as s,f as c,g as l,h as u,i as d,m as f,n as p,p as m,r as h,t as g}from"./DialogTitle.js";var _=e(n()),v=t();function y(e){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:a,onOpenChangeComplete:o,actionsRef:s,handle:c,triggerId:d,defaultTriggerId:f=null}=e,m=l(),g=!!m,y=i(()=>c?.store??new p({open:r,openProp:n,activeTriggerId:f,triggerIdProp:d,modal:!0,disablePointerDismissal:!0,nested:g,role:`alertdialog`})).current;y.useControlledProp(`openProp`,n),y.useControlledProp(`triggerIdProp`,d),y.useSyncedValue(`nested`,g),y.useContextCallback(`onOpenChange`,a),y.useContextCallback(`onOpenChangeComplete`,o);let b=y.useState(`payload`);h({store:y,actionsRef:s,parentContext:m?.store.context,onOpenChange:a,triggerIdProp:d});let x=_.useMemo(()=>({store:y}),[y]);return(0,v.jsx)(u.Provider,{value:x,children:typeof t==`function`?t({payload:b}):t})}var b=r();function x(e){let t=(0,b.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,v.jsx)(y,{"data-slot":`alert-dialog`,...n}),t[2]=n,t[3]=r),r}function S(e){let t=(0,b.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,v.jsx)(d,{"data-slot":`alert-dialog-portal`,...n}),t[2]=n,t[3]=r),r}function C(e){let t=(0,b.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=a(`data-closed:fade-out-0 data-open:fade-in-0 data-closed:animate-out data-open:animate-in fixed inset-0 isolate z-50 bg-black/80 duration-100 supports-backdrop-filter:backdrop-blur-xs`,n),t[3]=n,t[4]=i);let o;return t[5]!==r||t[6]!==i?(o=(0,v.jsx)(f,{className:i,"data-slot":`alert-dialog-overlay`,...r}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function w(e){let t=(0,b.c)(11),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,size:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let o=i===void 0?`default`:i,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,v.jsx)(C,{}),t[4]=c):c=t[4];let l;t[5]===n?l=t[6]:(l=a(`data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 group/alert-dialog-content data-closed:animate-out data-open:animate-in fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-3 rounded-xl bg-background p-4 ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-64 data-[size=default]:sm:max-w-sm`,n),t[5]=n,t[6]=l);let u;return t[7]!==r||t[8]!==o||t[9]!==l?(u=(0,v.jsxs)(S,{children:[c,(0,v.jsx)(s,{className:l,"data-size":o,"data-slot":`alert-dialog-content`,...r})]}),t[7]=r,t[8]=o,t[9]=l,t[10]=u):u=t[10],u}function T(e){let t=(0,b.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=a(`grid grid-rows-[auto_1fr] place-items-center gap-1 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]`,n),t[3]=n,t[4]=i);let o;return t[5]!==r||t[6]!==i?(o=(0,v.jsx)(`div`,{className:i,"data-slot":`alert-dialog-header`,...r}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function E(e){let t=(0,b.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=a(`flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end`,n),t[3]=n,t[4]=i);let o;return t[5]!==r||t[6]!==i?(o=(0,v.jsx)(`div`,{className:i,"data-slot":`alert-dialog-footer`,...r}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function D(e){let t=(0,b.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=a(`mb-2 inline-flex size-8 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-4`,n),t[3]=n,t[4]=i);let o;return t[5]!==r||t[6]!==i?(o=(0,v.jsx)(`div`,{className:i,"data-slot":`alert-dialog-media`,...r}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function O(e){let t=(0,b.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=a(`text-sm font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2`,n),t[3]=n,t[4]=i);let o;return t[5]!==r||t[6]!==i?(o=(0,v.jsx)(g,{className:i,"data-slot":`alert-dialog-title`,...r}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function k(e){let t=(0,b.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=a(`text-xs/relaxed text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,n),t[3]=n,t[4]=i);let o;return t[5]!==r||t[6]!==i?(o=(0,v.jsx)(c,{className:i,"data-slot":`alert-dialog-description`,...r}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function A(e){let t=(0,b.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=a(n),t[3]=n,t[4]=i);let s;return t[5]!==r||t[6]!==i?(s=(0,v.jsx)(o,{className:i,"data-slot":`alert-dialog-action`,...r}),t[5]=r,t[6]=i,t[7]=s):s=t[7],s}function j(e){let t=(0,b.c)(14),n,r,i,s;t[0]===e?(n=t[1],r=t[2],i=t[3],s=t[4]):({className:n,variant:i,size:s,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=s);let c=i===void 0?`outline`:i,l=s===void 0?`default`:s,u;t[5]===n?u=t[6]:(u=a(n),t[5]=n,t[6]=u);let d;t[7]!==l||t[8]!==c?(d=(0,v.jsx)(o,{size:l,variant:c}),t[7]=l,t[8]=c,t[9]=d):d=t[9];let f;return t[10]!==r||t[11]!==u||t[12]!==d?(f=(0,v.jsx)(m,{className:u,"data-slot":`alert-dialog-cancel`,render:d,...r}),t[10]=r,t[11]=u,t[12]=d,t[13]=f):f=t[13],f}export{k as a,D as c,w as i,O as l,A as n,E as o,j as r,T as s,x as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/ami-details.js b/spinifex/services/spinifexui/frontend/dist/assets/ami-details.js index 4dfcffb6b..3135d8d40 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/ami-details.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/ami-details.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./link.js";import{R as r}from"./SignatureV4.js";import{n as i,t as a}from"./detail-row.js";var o=t(),s=e();function c(e){let t=(0,o.c)(58),{image:c,showExtendedDetails:u}=e,d=u===void 0?!1:u,f;t[0]===c.CreationDate?f=t[1]:(f=r(c.CreationDate),t[0]=c.CreationDate,t[1]=f);let p=f,m=d?`AMI Information`:`AMI Details`,h;t[2]===m?h=t[3]:(h=(0,s.jsx)(i.Header,{children:m}),t[2]=m,t[3]=h);let g;t[4]!==c.ImageId||t[5]!==d?(g=c.ImageId&&!d?(0,s.jsx)(n,{className:`text-primary hover:underline`,params:{id:c.ImageId},to:`/ec2/describe-images/$id`,children:c.ImageId}):c.ImageId,t[4]=c.ImageId,t[5]=d,t[6]=g):g=t[6];let _;t[7]===g?_=t[8]:(_=(0,s.jsx)(a,{label:`AMI ID`,value:g}),t[7]=g,t[8]=_);let v;t[9]===c.Name?v=t[10]:(v=(0,s.jsx)(a,{label:`AMI Name`,value:c.Name}),t[9]=c.Name,t[10]=v);let y;t[11]===c.Description?y=t[12]:(y=(0,s.jsx)(a,{label:`Description`,value:c.Description}),t[11]=c.Description,t[12]=y);let b;t[13]===c.Architecture?b=t[14]:(b=(0,s.jsx)(a,{label:`Architecture`,value:c.Architecture}),t[13]=c.Architecture,t[14]=b);let x;t[15]===c.VirtualizationType?x=t[16]:(x=(0,s.jsx)(a,{label:`Virtualization Type`,value:c.VirtualizationType}),t[15]=c.VirtualizationType,t[16]=x);let S=c.Platform??`Linux`,C;t[17]===S?C=t[18]:(C=(0,s.jsx)(a,{label:`Platform`,value:S}),t[17]=S,t[18]=C);let w;t[19]===c.PlatformDetails?w=t[20]:(w=(0,s.jsx)(a,{label:`Platform Details`,value:c.PlatformDetails}),t[19]=c.PlatformDetails,t[20]=w);let T;t[21]===c.ImageType?T=t[22]:(T=(0,s.jsx)(a,{label:`Image Type`,value:c.ImageType}),t[21]=c.ImageType,t[22]=T);let E;t[23]===c.RootDeviceType?E=t[24]:(E=(0,s.jsx)(a,{label:`Root Device Type`,value:c.RootDeviceType}),t[23]=c.RootDeviceType,t[24]=E);let D;t[25]===c.RootDeviceName?D=t[26]:(D=(0,s.jsx)(a,{label:`Root Device Name`,value:c.RootDeviceName}),t[25]=c.RootDeviceName,t[26]=D);let O;t[27]===c.OwnerId?O=t[28]:(O=(0,s.jsx)(a,{label:`Owner`,value:c.OwnerId}),t[27]=c.OwnerId,t[28]=O);let k;t[29]===c.State?k=t[30]:(k=(0,s.jsx)(a,{label:`State`,value:c.State}),t[29]=c.State,t[30]=k);let A;t[31]!==p||t[32]!==c.Public||t[33]!==d?(A=d&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a,{label:`Creation Date`,value:p}),(0,s.jsx)(a,{label:`Public`,value:c.Public?`Yes`:`No`})]}),t[31]=p,t[32]=c.Public,t[33]=d,t[34]=A):A=t[34];let j;t[35]!==x||t[36]!==C||t[37]!==w||t[38]!==T||t[39]!==E||t[40]!==D||t[41]!==O||t[42]!==k||t[43]!==A||t[44]!==_||t[45]!==v||t[46]!==y||t[47]!==b?(j=(0,s.jsxs)(i.Content,{children:[_,v,y,b,x,C,w,T,E,D,O,k,A]}),t[35]=x,t[36]=C,t[37]=w,t[38]=T,t[39]=E,t[40]=D,t[41]=O,t[42]=k,t[43]=A,t[44]=_,t[45]=v,t[46]=y,t[47]=b,t[48]=j):j=t[48];let M;t[49]!==j||t[50]!==h?(M=(0,s.jsxs)(i,{children:[h,j]}),t[49]=j,t[50]=h,t[51]=M):M=t[51];let N;t[52]!==c.BlockDeviceMappings||t[53]!==d?(N=d&&c.BlockDeviceMappings&&c.BlockDeviceMappings.length>0&&c.BlockDeviceMappings.map(l),t[52]=c.BlockDeviceMappings,t[53]=d,t[54]=N):N=t[54];let P;return t[55]!==M||t[56]!==N?(P=(0,s.jsxs)(s.Fragment,{children:[M,N]}),t[55]=M,t[56]=N,t[57]=P):P=t[57],P}function l(e){return(0,s.jsxs)(i,{children:[(0,s.jsxs)(i.Header,{children:[`Block Device: `,e.DeviceName]}),(0,s.jsxs)(i.Content,{children:[(0,s.jsx)(a,{label:`Device Name`,value:e.DeviceName}),e.Ebs&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a,{label:`Volume Size`,value:e.Ebs.VolumeSize?`${e.Ebs.VolumeSize} GB`:void 0}),(0,s.jsx)(a,{label:`Volume Type`,value:e.Ebs.VolumeType}),(0,s.jsx)(a,{label:`Delete On Termination`,value:e.Ebs.DeleteOnTermination?`Yes`:`No`}),(0,s.jsx)(a,{label:`Encrypted`,value:e.Ebs.Encrypted?`Yes`:`No`}),e.Ebs.SnapshotId&&(0,s.jsx)(a,{label:`Snapshot ID`,value:(0,s.jsx)(n,{className:`text-primary hover:underline`,params:{id:e.Ebs.SnapshotId},to:`/ec2/describe-snapshots/$id`,children:e.Ebs.SnapshotId})})]}),e.VirtualName&&(0,s.jsx)(a,{label:`Virtual Name`,value:e.VirtualName})]})]},e.DeviceName)}export{c as t}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./link.js";import{z as r}from"./SignatureV4.js";import{n as i,t as a}from"./detail-row.js";var o=t(),s=e();function c(e){let t=(0,o.c)(58),{image:c,showExtendedDetails:u}=e,d=u===void 0?!1:u,f;t[0]===c.CreationDate?f=t[1]:(f=r(c.CreationDate),t[0]=c.CreationDate,t[1]=f);let p=f,m=d?`AMI Information`:`AMI Details`,h;t[2]===m?h=t[3]:(h=(0,s.jsx)(i.Header,{children:m}),t[2]=m,t[3]=h);let g;t[4]!==c.ImageId||t[5]!==d?(g=c.ImageId&&!d?(0,s.jsx)(n,{className:`text-primary hover:underline`,params:{id:c.ImageId},to:`/ec2/describe-images/$id`,children:c.ImageId}):c.ImageId,t[4]=c.ImageId,t[5]=d,t[6]=g):g=t[6];let _;t[7]===g?_=t[8]:(_=(0,s.jsx)(a,{label:`AMI ID`,value:g}),t[7]=g,t[8]=_);let v;t[9]===c.Name?v=t[10]:(v=(0,s.jsx)(a,{label:`AMI Name`,value:c.Name}),t[9]=c.Name,t[10]=v);let y;t[11]===c.Description?y=t[12]:(y=(0,s.jsx)(a,{label:`Description`,value:c.Description}),t[11]=c.Description,t[12]=y);let b;t[13]===c.Architecture?b=t[14]:(b=(0,s.jsx)(a,{label:`Architecture`,value:c.Architecture}),t[13]=c.Architecture,t[14]=b);let x;t[15]===c.VirtualizationType?x=t[16]:(x=(0,s.jsx)(a,{label:`Virtualization Type`,value:c.VirtualizationType}),t[15]=c.VirtualizationType,t[16]=x);let S=c.Platform??`Linux`,C;t[17]===S?C=t[18]:(C=(0,s.jsx)(a,{label:`Platform`,value:S}),t[17]=S,t[18]=C);let w;t[19]===c.PlatformDetails?w=t[20]:(w=(0,s.jsx)(a,{label:`Platform Details`,value:c.PlatformDetails}),t[19]=c.PlatformDetails,t[20]=w);let T;t[21]===c.ImageType?T=t[22]:(T=(0,s.jsx)(a,{label:`Image Type`,value:c.ImageType}),t[21]=c.ImageType,t[22]=T);let E;t[23]===c.RootDeviceType?E=t[24]:(E=(0,s.jsx)(a,{label:`Root Device Type`,value:c.RootDeviceType}),t[23]=c.RootDeviceType,t[24]=E);let D;t[25]===c.RootDeviceName?D=t[26]:(D=(0,s.jsx)(a,{label:`Root Device Name`,value:c.RootDeviceName}),t[25]=c.RootDeviceName,t[26]=D);let O;t[27]===c.OwnerId?O=t[28]:(O=(0,s.jsx)(a,{label:`Owner`,value:c.OwnerId}),t[27]=c.OwnerId,t[28]=O);let k;t[29]===c.State?k=t[30]:(k=(0,s.jsx)(a,{label:`State`,value:c.State}),t[29]=c.State,t[30]=k);let A;t[31]!==p||t[32]!==c.Public||t[33]!==d?(A=d&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a,{label:`Creation Date`,value:p}),(0,s.jsx)(a,{label:`Public`,value:c.Public?`Yes`:`No`})]}),t[31]=p,t[32]=c.Public,t[33]=d,t[34]=A):A=t[34];let j;t[35]!==x||t[36]!==C||t[37]!==w||t[38]!==T||t[39]!==E||t[40]!==D||t[41]!==O||t[42]!==k||t[43]!==A||t[44]!==_||t[45]!==v||t[46]!==y||t[47]!==b?(j=(0,s.jsxs)(i.Content,{children:[_,v,y,b,x,C,w,T,E,D,O,k,A]}),t[35]=x,t[36]=C,t[37]=w,t[38]=T,t[39]=E,t[40]=D,t[41]=O,t[42]=k,t[43]=A,t[44]=_,t[45]=v,t[46]=y,t[47]=b,t[48]=j):j=t[48];let M;t[49]!==j||t[50]!==h?(M=(0,s.jsxs)(i,{children:[h,j]}),t[49]=j,t[50]=h,t[51]=M):M=t[51];let N;t[52]!==c.BlockDeviceMappings||t[53]!==d?(N=d&&c.BlockDeviceMappings&&c.BlockDeviceMappings.length>0&&c.BlockDeviceMappings.map(l),t[52]=c.BlockDeviceMappings,t[53]=d,t[54]=N):N=t[54];let P;return t[55]!==M||t[56]!==N?(P=(0,s.jsxs)(s.Fragment,{children:[M,N]}),t[55]=M,t[56]=N,t[57]=P):P=t[57],P}function l(e){return(0,s.jsxs)(i,{children:[(0,s.jsxs)(i.Header,{children:[`Block Device: `,e.DeviceName]}),(0,s.jsxs)(i.Content,{children:[(0,s.jsx)(a,{label:`Device Name`,value:e.DeviceName}),e.Ebs&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a,{label:`Volume Size`,value:e.Ebs.VolumeSize?`${e.Ebs.VolumeSize} GB`:void 0}),(0,s.jsx)(a,{label:`Volume Type`,value:e.Ebs.VolumeType}),(0,s.jsx)(a,{label:`Delete On Termination`,value:e.Ebs.DeleteOnTermination?`Yes`:`No`}),(0,s.jsx)(a,{label:`Encrypted`,value:e.Ebs.Encrypted?`Yes`:`No`}),e.Ebs.SnapshotId&&(0,s.jsx)(a,{label:`Snapshot ID`,value:(0,s.jsx)(n,{className:`text-primary hover:underline`,params:{id:e.Ebs.SnapshotId},to:`/ec2/describe-snapshots/$id`,children:e.Ebs.SnapshotId})})]}),e.VirtualName&&(0,s.jsx)(a,{label:`Virtual Name`,value:e.VirtualName})]})]},e.DeviceName)}export{c as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/awsClient.js b/spinifex/services/spinifexui/frontend/dist/assets/awsClient.js index 22c493e24..c28bcc794 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/awsClient.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/awsClient.js @@ -1,10 +1,10 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/event-streams.js","assets/fromUtf8.browser.js","assets/toUtf8.browser.js"])))=>i.map(i=>d[i]); import{i as e,r as t}from"./compiler-runtime.js";import{S as n,_ as r,c as i,d as a,f as o,g as s,h as c,l,m as u,n as d,o as ee,p as te,r as f,s as ne,t as re,u as ie,v as ae,y as oe}from"./SignatureV4.js";import{t as se}from"./fromUtf8.browser.js";import{t as ce}from"./toUtf8.browser.js";var le=e((e=>{var n=t();function r(e){var t=`https://react.dev/errors/`+e;if(1{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=le()})),de=e=>({setHttpHandler(t){e.httpHandler=t},httpHandler(){return e.httpHandler},updateHttpClientConfig(t,n){e.httpHandler?.updateHttpClientConfig(t,n)},httpHandlerConfigs(){return e.httpHandler.httpHandlerConfigs()}}),fe=e=>({httpHandler:e.httpHandler()}),pe;(function(e){e.HTTP=`http`,e.HTTPS=`https`})(pe||={});var me;(function(e){e.MD5=`md5`,e.CRC32=`crc32`,e.CRC32C=`crc32c`,e.SHA1=`sha1`,e.SHA256=`sha256`})(me||={});var he=`__smithy_context`,ge=class{statusCode;reason;headers;body;constructor(e){this.statusCode=e.statusCode,this.reason=e.reason,this.headers=e.headers||{},this.body=e.body}static isInstance(e){if(!e)return!1;let t=e;return typeof t.statusCode==`number`&&typeof t.headers==`object`}},_e=e=>e.__smithy_context||={},ve={SignatureV4a:null};function ye(e){return e}var be=e=>t=>async n=>{if(!i.isInstance(n.request))return t(n);let{request:r}=n,{handlerProtocol:a=``}=e.requestHandler.metadata||{};if(a.indexOf(`h2`)>=0&&!r.headers[`:authority`])delete r.headers.host,r.headers[`:authority`]=r.hostname+(r.port?`:`+r.port:``);else if(!r.headers.host){let e=r.hostname;r.port!=null&&(e+=`:${r.port}`),r.headers.host=e}return t(n)},xe={name:`hostHeaderMiddleware`,step:`build`,priority:`low`,tags:[`HOST`],override:!0},Se=e=>({applyToStack:t=>{t.add(be(e),xe)}}),Ce=()=>(e,t)=>async n=>{try{let r=await e(n),{clientName:i,commandName:a,logger:o,dynamoDbDocumentClientOptions:s={}}=t,{overrideInputFilterSensitiveLog:c,overrideOutputFilterSensitiveLog:l}=s,u=c??t.inputFilterSensitiveLog,d=l??t.outputFilterSensitiveLog,{$metadata:ee,...te}=r.output;return o?.info?.({clientName:i,commandName:a,input:u(n.input),output:d(te),metadata:ee}),r}catch(e){let{clientName:r,commandName:i,logger:a,dynamoDbDocumentClientOptions:o={}}=t,{overrideInputFilterSensitiveLog:s}=o,c=s??t.inputFilterSensitiveLog;throw a?.error?.({clientName:r,commandName:i,input:c(n.input),error:e,metadata:e.$metadata}),e}},we={name:`loggerMiddleware`,tags:[`LOGGER`],step:`initialize`,override:!0},Te=e=>({applyToStack:e=>{e.add(Ce(),we)}}),Ee={step:`build`,tags:[`RECURSION_DETECTION`],name:`recursionDetectionMiddleware`,override:!0,priority:`low`},De=()=>e=>async t=>e(t),Oe=e=>({applyToStack:e=>{e.add(De(),Ee)}}),ke=(e,t)=>{if(!t||t.length===0)return e;let n=[];for(let r of t)for(let t of e)t.schemeId.split(`#`)[1]===r&&n.push(t);for(let t of e)n.find(({schemeId:e})=>e===t.schemeId)||n.push(t);return n};function Ae(e){let t=new Map;for(let n of e)t.set(n.schemeId,n);return t}var je=(e,t)=>(n,r)=>async i=>{let a=ke(e.httpAuthSchemeProvider(await t.httpAuthSchemeParametersProvider(e,r,i.input)),e.authSchemePreference?await e.authSchemePreference():[]),o=Ae(e.httpAuthSchemes),s=_e(r),c=[];for(let n of a){let i=o.get(n.schemeId);if(!i){c.push(`HttpAuthScheme \`${n.schemeId}\` was not enabled for this service.`);continue}let a=i.identityProvider(await t.identityProviderConfigProvider(e));if(!a){c.push(`HttpAuthScheme \`${n.schemeId}\` did not have an IdentityProvider configured.`);continue}let{identityProperties:l={},signingProperties:u={}}=n.propertiesExtractor?.(e,r)||{};n.identityProperties=Object.assign(n.identityProperties||{},l),n.signingProperties=Object.assign(n.signingProperties||{},u),s.selectedHttpAuthScheme={httpAuthOption:n,identity:await a(n.identityProperties),signer:i.signer};break}if(!s.selectedHttpAuthScheme)throw Error(c.join(` -`));return n(i)},Me={step:`serialize`,tags:[`HTTP_AUTH_SCHEME`],name:`httpAuthSchemeMiddleware`,override:!0,relation:`before`,toMiddleware:`endpointV2Middleware`},Ne=(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:n})=>({applyToStack:r=>{r.addRelativeTo(je(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:n}),Me)}}),Pe=e=>e=>{throw e},Fe=(e,t)=>{},Ie=e=>(e,t)=>async n=>{if(!i.isInstance(n.request))return e(n);let r=_e(t).selectedHttpAuthScheme;if(!r)throw Error(`No HttpAuthScheme was selected: unable to sign request`);let{httpAuthOption:{signingProperties:a={}},identity:o,signer:s}=r,c=await e({...n,request:await s.sign(n.request,o,a)}).catch((s.errorHandler||Pe)(a));return(s.successHandler||Fe)(c.response,a),c},Le={step:`finalizeRequest`,tags:[`HTTP_SIGNING`],name:`httpSigningMiddleware`,aliases:[`apiKeyMiddleware`,`tokenMiddleware`,`awsAuthMiddleware`],override:!0,relation:`after`,toMiddleware:`retryMiddleware`},Re=e=>({applyToStack:t=>{t.addRelativeTo(Ie(e),Le)}}),ze=e=>{if(typeof e==`function`)return e;let t=Promise.resolve(e);return()=>t},Be=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Ve=Object.entries(Be).reduce((e,[t,n])=>(e[n]=Number(t),e),{}),He=Be.split(``),Ue=e=>{let t=e.length/4*3;e.slice(-2)===`==`?t-=2:e.slice(-1)===`=`&&t--;let n=new ArrayBuffer(t),r=new DataView(n);for(let t=0;t>=6;let a=t/4*3;n>>=i%8;let o=Math.floor(i/8);for(let e=0;e>t)}}return new Uint8Array(n)};function We(e){let t;t=typeof e==`string`?se(e):e;let n=typeof t==`object`&&typeof t.length==`number`,r=typeof t==`object`&&typeof t.byteOffset==`number`&&typeof t.byteLength==`number`;if(!n&&!r)throw Error(`@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.`);let i=``;for(let e=0;e>t]}i+=`==`.slice(0,4-a)}return i}var Ge=class e extends Uint8Array{static fromString(t,n=`utf-8`){if(typeof t==`string`)return n===`base64`?e.mutate(Ue(t)):e.mutate(se(t));throw Error(`Unsupported conversion from ${typeof t} to Uint8ArrayBlobAdapter.`)}static mutate(t){return Object.setPrototypeOf(t,e.prototype),t}transformToString(e=`utf-8`){return e===`base64`?We(this):ce(this)}},Ke=e=>typeof ReadableStream==`function`&&(e?.constructor?.name===ReadableStream.name||e instanceof ReadableStream),qe=(e,t)=>{let{base64Encoder:n,bodyLengthChecker:r,checksumAlgorithmFn:i,checksumLocationName:a,streamHasher:o}=t,s=n!==void 0&&r!==void 0&&i!==void 0&&a!==void 0&&o!==void 0,c=s?o(i,e):void 0,l=e.getReader();return new ReadableStream({async pull(e){let{value:t,done:i}=await l.read();if(i){if(e.enqueue(`0\r +`));return n(i)},Me={step:`serialize`,tags:[`HTTP_AUTH_SCHEME`],name:`httpAuthSchemeMiddleware`,override:!0,relation:`before`,toMiddleware:`endpointV2Middleware`},Ne=(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:n})=>({applyToStack:r=>{r.addRelativeTo(je(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:n}),Me)}}),Pe=e=>e=>{throw e},eee=(e,t)=>{},Fe=e=>(e,t)=>async n=>{if(!i.isInstance(n.request))return e(n);let r=_e(t).selectedHttpAuthScheme;if(!r)throw Error(`No HttpAuthScheme was selected: unable to sign request`);let{httpAuthOption:{signingProperties:a={}},identity:o,signer:s}=r,c=await e({...n,request:await s.sign(n.request,o,a)}).catch((s.errorHandler||Pe)(a));return(s.successHandler||eee)(c.response,a),c},Ie={step:`finalizeRequest`,tags:[`HTTP_SIGNING`],name:`httpSigningMiddleware`,aliases:[`apiKeyMiddleware`,`tokenMiddleware`,`awsAuthMiddleware`],override:!0,relation:`after`,toMiddleware:`retryMiddleware`},Le=e=>({applyToStack:t=>{t.addRelativeTo(Fe(e),Ie)}}),Re=e=>{if(typeof e==`function`)return e;let t=Promise.resolve(e);return()=>t},ze=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Be=Object.entries(ze).reduce((e,[t,n])=>(e[n]=Number(t),e),{}),Ve=ze.split(``),He=e=>{let t=e.length/4*3;e.slice(-2)===`==`?t-=2:e.slice(-1)===`=`&&t--;let n=new ArrayBuffer(t),r=new DataView(n);for(let t=0;t>=6;let a=t/4*3;n>>=i%8;let o=Math.floor(i/8);for(let e=0;e>t)}}return new Uint8Array(n)};function Ue(e){let t;t=typeof e==`string`?se(e):e;let n=typeof t==`object`&&typeof t.length==`number`,r=typeof t==`object`&&typeof t.byteOffset==`number`&&typeof t.byteLength==`number`;if(!n&&!r)throw Error(`@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.`);let i=``;for(let e=0;e>t]}i+=`==`.slice(0,4-a)}return i}var We=class e extends Uint8Array{static fromString(t,n=`utf-8`){if(typeof t==`string`)return n===`base64`?e.mutate(He(t)):e.mutate(se(t));throw Error(`Unsupported conversion from ${typeof t} to Uint8ArrayBlobAdapter.`)}static mutate(t){return Object.setPrototypeOf(t,e.prototype),t}transformToString(e=`utf-8`){return e===`base64`?Ue(this):ce(this)}},Ge=e=>typeof ReadableStream==`function`&&(e?.constructor?.name===ReadableStream.name||e instanceof ReadableStream),Ke=(e,t)=>{let{base64Encoder:n,bodyLengthChecker:r,checksumAlgorithmFn:i,checksumLocationName:a,streamHasher:o}=t,s=n!==void 0&&r!==void 0&&i!==void 0&&a!==void 0&&o!==void 0,c=s?o(i,e):void 0,l=e.getReader();return new ReadableStream({async pull(e){let{value:t,done:i}=await l.read();if(i){if(e.enqueue(`0\r `),s){let t=n(await c);e.enqueue(`${a}:${t}\r\n`),e.enqueue(`\r -`)}e.close()}else e.enqueue(`${(r(t)||0).toString(16)}\r\n${t}\r\n`)}})};async function Je(e,t){let n=0,r=[],i=e.getReader(),a=!1;for(;!a;){let{done:e,value:o}=await i.read();if(o&&(r.push(o),n+=o?.byteLength??0),n>=t)break;a=e}i.releaseLock();let o=new Uint8Array(Math.min(t,n)),s=0;for(let e of r){if(e.byteLength>o.byteLength-s){o.set(e.subarray(0,o.byteLength-s),s);break}else o.set(e,s);s+=e.length}return o}function Ye(e){let t=[];for(let n of Object.keys(e).sort()){let r=e[n];if(n=d(n),Array.isArray(r))for(let e=0,i=r.length;e{e&&setTimeout(()=>{let t=Error(`Request did not complete within ${e} ms`);t.name=`TimeoutError`,n(t)},e)})}var Qe={supported:void 0},$e=class e{config;configProvider;static create(t){return typeof t?.handle==`function`?t:new e(t)}constructor(e){typeof e==`function`?this.configProvider=e().then(e=>e||{}):(this.config=e??{},this.configProvider=Promise.resolve(this.config)),Qe.supported===void 0&&(Qe.supported=typeof Request<`u`&&`keepalive`in Xe(`https://[::1]`))}destroy(){}async handle(e,{abortSignal:t,requestTimeout:n}={}){this.config||=await this.configProvider;let r=n??this.config.requestTimeout,i=this.config.keepAlive===!0,a=this.config.credentials;if(t?.aborted){let e=et(t);return Promise.reject(e)}let o=e.path,s=Ye(e.query||{});s&&(o+=`?${s}`),e.fragment&&(o+=`#${e.fragment}`);let c=``;(e.username!=null||e.password!=null)&&(c=`${e.username??``}:${e.password??``}@`);let{port:l,method:u}=e,d=`${e.protocol}//${c}${e.hostname}${l?`:${l}`:``}${o}`,ee=u===`GET`||u===`HEAD`?void 0:e.body,te={body:ee,headers:new Headers(e.headers),method:u,credentials:a};this.config?.cache&&(te.cache=this.config.cache),ee&&(te.duplex=`half`),typeof AbortController<`u`&&(te.signal=t),Qe.supported&&(te.keepalive=i),typeof this.config.requestInit==`function`&&Object.assign(te,this.config.requestInit(e));let f=()=>{},ne=Xe(d,te),re=[fetch(ne).then(e=>{let t=e.headers,n={};for(let e of t.entries())n[e[0]]=e[1];return e.body==null?e.blob().then(t=>({response:new ge({headers:n,reason:e.statusText,statusCode:e.status,body:t})})):{response:new ge({headers:n,reason:e.statusText,statusCode:e.status,body:e.body})}}),Ze(r)];return t&&re.push(new Promise((e,n)=>{let r=()=>{n(et(t))};if(typeof t.addEventListener==`function`){let e=t;e.addEventListener(`abort`,r,{once:!0}),f=()=>e.removeEventListener(`abort`,r)}else t.onabort=r})),Promise.race(re).finally(f)}updateHttpClientConfig(e,t){this.config=void 0,this.configProvider=this.configProvider.then(n=>(n[e]=t,n))}httpHandlerConfigs(){return this.config??{}}};function et(e){let t=e&&typeof e==`object`&&`reason`in e?e.reason:void 0;if(t){if(t instanceof Error){let e=Error(`Request aborted`);return e.name=`AbortError`,e.cause=t,e}let e=Error(String(t));return e.name=`AbortError`,e}let n=Error(`Request aborted`);return n.name=`AbortError`,n}var tt=async e=>typeof Blob==`function`&&e instanceof Blob||e.constructor?.name===`Blob`?Blob.prototype.arrayBuffer===void 0?nt(e):new Uint8Array(await e.arrayBuffer()):rt(e);async function nt(e){let t=Ue(await it(e));return new Uint8Array(t)}async function rt(e){let t=[],n=e.getReader(),r=!1,i=0;for(;!r;){let{done:e,value:a}=await n.read();a&&(t.push(a),i+=a.length),r=e}let a=new Uint8Array(i),o=0;for(let e of t)a.set(e,o),o+=e.length;return a}function it(e){return new Promise((t,n)=>{let r=new FileReader;r.onloadend=()=>{if(r.readyState!==2)return n(Error(`Reader aborted too early`));let e=r.result??``,i=e.indexOf(`,`),a=i>-1?i+1:e.length;t(e.substring(a))},r.onabort=()=>n(Error(`Read aborted`)),r.onerror=()=>n(r.error),r.readAsDataURL(e)})}var at=`The stream has already been transformed.`,ot=e=>{if(!st(e)&&!Ke(e)){let t=e?.__proto__?.constructor?.name||e;throw Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${t}`)}let t=!1,n=async()=>{if(t)throw Error(at);return t=!0,await tt(e)},r=e=>{if(typeof e.stream!=`function`)throw Error(`Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled. -If you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body`);return e.stream()};return Object.assign(e,{transformToByteArray:n,transformToString:async e=>{let t=await n();if(e===`base64`)return We(t);if(e===`hex`)return ne(t);if(e===void 0||e===`utf8`||e===`utf-8`)return ce(t);if(typeof TextDecoder==`function`)return new TextDecoder(e).decode(t);throw Error(`TextDecoder is not available, please make sure polyfill is provided.`)},transformToWebStream:()=>{if(t)throw Error(at);if(t=!0,st(e))return r(e);if(Ke(e))return e;throw Error(`Cannot transform payload to web stream, got ${e}`)}})},st=e=>typeof Blob==`function`&&e instanceof Blob;async function ct(e){return typeof e.stream==`function`&&(e=e.stream()),e.tee()}var lt=async(e=new Uint8Array,t)=>{if(e instanceof Uint8Array)return Ge.mutate(e);if(!e)return Ge.mutate(new Uint8Array);let n=t.streamCollector(e);return Ge.mutate(await n)};function ut(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return`%`+e.charCodeAt(0).toString(16).toUpperCase()})}var dt=e=>typeof e==`function`?e():e,ft=(e,t,n,r,i)=>({name:t,namespace:e,traits:n,input:r,output:i}),pt=e=>(t,n)=>async r=>{let{response:i}=await t(r),{operationSchema:a}=_e(n),[,o,s,c,l,u]=a??[];try{return{response:i,output:await e.protocol.deserializeResponse(ft(o,s,c,l,u),{...e,...n},i)}}catch(e){if(Object.defineProperty(e,`$response`,{value:i,enumerable:!1,writable:!1,configurable:!1}),!(`$metadata`in e)){let t=`Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;try{e.message+=` - `+t}catch{!n.logger||n.logger?.constructor?.name===`NoOpLogger`?console.warn(t):n.logger?.warn?.(t)}e.$responseBodyText!==void 0&&e.$response&&(e.$response.body=e.$responseBodyText);try{if(ge.isInstance(i)){let{headers:t={}}=i,n=Object.entries(t);e.$metadata={httpStatusCode:i.statusCode,requestId:mt(/^x-[\w-]+-request-?id$/,n),extendedRequestId:mt(/^x-[\w-]+-id-2$/,n),cfId:mt(/^x-[\w-]+-cf-id$/,n)}}}catch{}}throw e}},mt=(e,t)=>(t.find(([t])=>t.match(e))||[void 0,void 0])[1];function ht(e){let t={};if(e=e.replace(/^\?/,``),e)for(let n of e.split(`&`)){let[e,r=null]=n.split(`=`);e=decodeURIComponent(e),r&&=decodeURIComponent(r),e in t?Array.isArray(t[e])?t[e].push(r):t[e]=[t[e],r]:t[e]=r}return t}var gt=e=>{if(typeof e==`string`)return gt(new URL(e));let{hostname:t,pathname:n,port:r,protocol:i,search:a}=e,o;return a&&(o=ht(a)),{hostname:t,port:r?parseInt(r):void 0,protocol:i,path:n,query:o}},_t=e=>{if(typeof e==`object`){if(`url`in e){let t=gt(e.url);if(e.headers){t.headers={};for(let[n,r]of Object.entries(e.headers))t.headers[n.toLowerCase()]=r.join(`, `)}return t}return e}return gt(e)},vt=e=>(t,n)=>async r=>{let{operationSchema:i}=_e(n),[,a,o,s,c,l]=i??[],u=n.endpointV2?async()=>_t(n.endpointV2):e.endpoint,d=await e.protocol.serializeRequest(ft(a,o,s,c,l),r.input,{...e,...n,endpoint:u});return t({...r,request:d})},yt={name:`deserializerMiddleware`,step:`deserialize`,tags:[`DESERIALIZER`],override:!0},bt={name:`serializerMiddleware`,step:`serialize`,tags:[`SERIALIZER`],override:!0};function xt(e){return{applyToStack:t=>{t.add(vt(e),bt),t.add(pt(e),yt),e.protocol.setSerdeContext(e)}}}var St=[];function Ct(e){if(typeof e==`object`)return e;if(e|=0,St[e])return St[e];let t={},n=0;for(let r of[`httpLabel`,`idempotent`,`idempotencyToken`,`sensitive`,`httpPayload`,`httpResponseCode`,`httpQueryParams`])(e>>n++&1)==1&&(t[r]=1);return St[e]=t}var wt={it:Symbol.for(`@smithy/nor-struct-it`),ns:Symbol.for(`@smithy/ns`)},Tt=[],Et={},p=class e{ref;memberName;static symbol=Symbol.for(`@smithy/nor`);symbol=e.symbol;name;schema;_isMemberSchema;traits;memberTraits;normalizedTraits;constructor(t,n){this.ref=t,this.memberName=n;let r=[],i=t,a=t;for(this._isMemberSchema=!1;Ot(i);)r.push(i[1]),i=i[0],a=dt(i),this._isMemberSchema=!0;if(r.length>0){this.memberTraits={};for(let e=r.length-1;e>=0;--e){let t=r[e];Object.assign(this.memberTraits,Ct(t))}}else this.memberTraits=0;if(a instanceof e){let e=this.memberTraits;Object.assign(this,a),this.memberTraits=Object.assign({},e,a.getMemberTraits(),this.getMemberTraits()),this.normalizedTraits=void 0,this.memberName=n??a.memberName;return}if(this.schema=dt(a),kt(this.schema)?(this.name=`${this.schema[1]}#${this.schema[2]}`,this.traits=this.schema[3]):(this.name=this.memberName??String(a),this.traits=0),this._isMemberSchema&&!n)throw Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(!0)} missing member name.`)}static[Symbol.hasInstance](e){let t=this.prototype.isPrototypeOf(e);return!t&&typeof e==`object`&&e?e.symbol===this.symbol:t}static of(t){let n=typeof t==`function`||typeof t==`object`&&!!t;if(typeof t==`number`){if(Tt[t])return Tt[t]}else if(typeof t==`string`){if(Et[t])return Et[t]}else if(n&&t[wt.ns])return t[wt.ns];let r=dt(t);if(r instanceof e)return r;if(Ot(r)){let[n,i]=r;if(n instanceof e)return Object.assign(n.getMergedTraits(),Ct(i)),n;throw Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(t,null,2)}.`)}let i=new e(r);return n?t[wt.ns]=i:typeof r==`string`?Et[r]=i:typeof r==`number`?Tt[r]=i:i}getSchema(){let e=this.schema;return Array.isArray(e)&&e[0]===0?e[4]:e}getName(e=!1){let{name:t}=this;return!e&&t&&t.includes(`#`)?t.split(`#`)[1]:t||void 0}getMemberName(){return this.memberName}isMemberSchema(){return this._isMemberSchema}isListSchema(){let e=this.getSchema();return typeof e==`number`?e>=64&&e<128:e[0]===1}isMapSchema(){let e=this.getSchema();return typeof e==`number`?e>=128&&e<=255:e[0]===2}isStructSchema(){let e=this.getSchema();if(typeof e!=`object`)return!1;let t=e[0];return t===3||t===-3||t===4}isUnionSchema(){let e=this.getSchema();return typeof e==`object`?e[0]===4:!1}isBlobSchema(){let e=this.getSchema();return e===21||e===42}isTimestampSchema(){let e=this.getSchema();return typeof e==`number`&&e>=4&&e<=7}isUnitSchema(){return this.getSchema()===`unit`}isDocumentSchema(){return this.getSchema()===15}isStringSchema(){return this.getSchema()===0}isBooleanSchema(){return this.getSchema()===2}isNumericSchema(){return this.getSchema()===1}isBigIntegerSchema(){return this.getSchema()===17}isBigDecimalSchema(){return this.getSchema()===19}isStreaming(){let{streaming:e}=this.getMergedTraits();return!!e||this.getSchema()===42}isIdempotencyToken(){return!!this.getMergedTraits().idempotencyToken}getMergedTraits(){return this.normalizedTraits??={...this.getOwnTraits(),...this.getMemberTraits()}}getMemberTraits(){return Ct(this.memberTraits)}getOwnTraits(){return Ct(this.traits)}getKeySchema(){let[e,t]=[this.isDocumentSchema(),this.isMapSchema()];if(!e&&!t)throw Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(!0)}`);let n=this.getSchema();return Dt([e?15:n[4]??0,0],`key`)}getValueSchema(){let e=this.getSchema(),[t,n,r]=[this.isDocumentSchema(),this.isMapSchema(),this.isListSchema()],i=typeof e==`number`?63&e:e&&typeof e==`object`&&(n||r)?e[3+e[0]]:t?15:void 0;if(i!=null)return Dt([i,0],n?`value`:`member`);throw Error(`@smithy/core/schema - ${this.getName(!0)} has no value member.`)}getMemberSchema(e){let t=this.getSchema();if(this.isStructSchema()&&t[4].includes(e)){let n=t[4].indexOf(e),r=t[5][n];return Dt(Ot(r)?r:[r,0],e)}if(this.isDocumentSchema())return Dt([15,0],e);throw Error(`@smithy/core/schema - ${this.getName(!0)} has no member=${e}.`)}getMemberSchemas(){let e={};try{for(let[t,n]of this.structIterator())e[t]=n}catch{}return e}getEventStreamMember(){if(this.isStructSchema()){for(let[e,t]of this.structIterator())if(t.isStreaming()&&t.isStructSchema())return e}return``}*structIterator(){if(this.isUnitSchema())return;if(!this.isStructSchema())throw Error(`@smithy/core/schema - cannot iterate non-struct schema.`);let e=this.getSchema(),t=e[4].length,n=e[wt.it];if(n&&t===n.length){yield*n;return}n=Array(t);for(let r=0;rArray.isArray(e)&&e.length===2,kt=e=>Array.isArray(e)&&e.length>=5,At=class e{namespace;schemas;exceptions;static registries=new Map;constructor(e,t=new Map,n=new Map){this.namespace=e,this.schemas=t,this.exceptions=n}static for(t){return e.registries.has(t)||e.registries.set(t,new e(t)),e.registries.get(t)}copyFrom(e){let{schemas:t,exceptions:n}=this;for(let[n,r]of e.schemas)t.has(n)||t.set(n,r);for(let[t,r]of e.exceptions)n.has(t)||n.set(t,r)}register(t,n){let r=this.normalizeShapeId(t);for(let t of[this,e.for(r.split(`#`)[0])])t.schemas.set(r,n)}getSchema(e){let t=this.normalizeShapeId(e);if(!this.schemas.has(t))throw Error(`@smithy/core/schema - schema not found for ${t}`);return this.schemas.get(t)}registerError(t,n){let r=t,i=r[1];for(let t of[this,e.for(i)])t.schemas.set(i+`#`+r[2],r),t.exceptions.set(r,n)}getErrorCtor(t){let n=t;return this.exceptions.has(n)?this.exceptions.get(n):e.for(n[1]).exceptions.get(n)}getBaseException(){for(let e of this.exceptions.keys())if(Array.isArray(e)){let[,t,n]=e,r=t+`#`+n;if(r.startsWith(`smithy.ts.sdk.synthetic.`)&&r.endsWith(`ServiceException`))return e}}find(e){return[...this.schemas.values()].find(e)}clear(){this.schemas.clear(),this.exceptions.clear()}normalizeShapeId(e){return e.includes(`#`)?e:this.namespace+`#`+e}},jt=e=>{if(e!=null){if(typeof e==`string`){let t=parseFloat(e);if(!Number.isNaN(t))return String(t)!==String(e)&&Gt.warn(Wt(`Expected number but observed string: ${e}`)),t}if(typeof e==`number`)return e;throw TypeError(`Expected number, got ${typeof e}: ${e}`)}},Mt=Math.ceil(2**127*(2-2**-23)),Nt=e=>{let t=jt(e);if(t!==void 0&&!Number.isNaN(t)&&t!==1/0&&t!==-1/0&&Math.abs(t)>Mt)throw TypeError(`Expected 32-bit float, got ${e}`);return t},Pt=e=>{if(e!=null){if(Number.isInteger(e)&&!Number.isNaN(e))return e;throw TypeError(`Expected integer, got ${typeof e}: ${e}`)}},Ft=e=>Lt(e,16),It=e=>Lt(e,8),Lt=(e,t)=>{let n=Pt(e);if(n!==void 0&&Rt(n,t)!==n)throw TypeError(`Expected ${t}-bit integer, got ${e}`);return n},Rt=(e,t)=>{switch(t){case 32:return Int32Array.of(e)[0];case 16:return Int16Array.of(e)[0];case 8:return Int8Array.of(e)[0]}},zt=e=>Nt(typeof e==`string`?Vt(e):e),Bt=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g,Vt=e=>{let t=e.match(Bt);if(t===null||t[0].length!==e.length)throw TypeError(`Expected real number, got implicit NaN`);return parseFloat(e)},Ht=e=>Ft(typeof e==`string`?Vt(e):e),Ut=e=>It(typeof e==`string`?Vt(e):e),Wt=e=>String(TypeError(e).stack||e).split(` +`)}e.close()}else e.enqueue(`${(r(t)||0).toString(16)}\r\n${t}\r\n`)}})};async function qe(e,t){let n=0,r=[],i=e.getReader(),a=!1;for(;!a;){let{done:e,value:o}=await i.read();if(o&&(r.push(o),n+=o?.byteLength??0),n>=t)break;a=e}i.releaseLock();let o=new Uint8Array(Math.min(t,n)),s=0;for(let e of r){if(e.byteLength>o.byteLength-s){o.set(e.subarray(0,o.byteLength-s),s);break}else o.set(e,s);s+=e.length}return o}function Je(e){let t=[];for(let n of Object.keys(e).sort()){let r=e[n];if(n=d(n),Array.isArray(r))for(let e=0,i=r.length;e{e&&setTimeout(()=>{let t=Error(`Request did not complete within ${e} ms`);t.name=`TimeoutError`,n(t)},e)})}var Ze={supported:void 0},Qe=class e{config;configProvider;static create(t){return typeof t?.handle==`function`?t:new e(t)}constructor(e){typeof e==`function`?this.configProvider=e().then(e=>e||{}):(this.config=e??{},this.configProvider=Promise.resolve(this.config)),Ze.supported===void 0&&(Ze.supported=typeof Request<`u`&&`keepalive`in Ye(`https://[::1]`))}destroy(){}async handle(e,{abortSignal:t,requestTimeout:n}={}){this.config||=await this.configProvider;let r=n??this.config.requestTimeout,i=this.config.keepAlive===!0,a=this.config.credentials;if(t?.aborted){let e=$e(t);return Promise.reject(e)}let o=e.path,s=Je(e.query||{});s&&(o+=`?${s}`),e.fragment&&(o+=`#${e.fragment}`);let c=``;(e.username!=null||e.password!=null)&&(c=`${e.username??``}:${e.password??``}@`);let{port:l,method:u}=e,d=`${e.protocol}//${c}${e.hostname}${l?`:${l}`:``}${o}`,ee=u===`GET`||u===`HEAD`?void 0:e.body,te={body:ee,headers:new Headers(e.headers),method:u,credentials:a};this.config?.cache&&(te.cache=this.config.cache),ee&&(te.duplex=`half`),typeof AbortController<`u`&&(te.signal=t),Ze.supported&&(te.keepalive=i),typeof this.config.requestInit==`function`&&Object.assign(te,this.config.requestInit(e));let f=()=>{},ne=Ye(d,te),re=[fetch(ne).then(e=>{let t=e.headers,n={};for(let e of t.entries())n[e[0]]=e[1];return e.body==null?e.blob().then(t=>({response:new ge({headers:n,reason:e.statusText,statusCode:e.status,body:t})})):{response:new ge({headers:n,reason:e.statusText,statusCode:e.status,body:e.body})}}),Xe(r)];return t&&re.push(new Promise((e,n)=>{let r=()=>{n($e(t))};if(typeof t.addEventListener==`function`){let e=t;e.addEventListener(`abort`,r,{once:!0}),f=()=>e.removeEventListener(`abort`,r)}else t.onabort=r})),Promise.race(re).finally(f)}updateHttpClientConfig(e,t){this.config=void 0,this.configProvider=this.configProvider.then(n=>(n[e]=t,n))}httpHandlerConfigs(){return this.config??{}}};function $e(e){let t=e&&typeof e==`object`&&`reason`in e?e.reason:void 0;if(t){if(t instanceof Error){let e=Error(`Request aborted`);return e.name=`AbortError`,e.cause=t,e}let e=Error(String(t));return e.name=`AbortError`,e}let n=Error(`Request aborted`);return n.name=`AbortError`,n}var et=async e=>typeof Blob==`function`&&e instanceof Blob||e.constructor?.name===`Blob`?Blob.prototype.arrayBuffer===void 0?tt(e):new Uint8Array(await e.arrayBuffer()):nt(e);async function tt(e){let t=He(await rt(e));return new Uint8Array(t)}async function nt(e){let t=[],n=e.getReader(),r=!1,i=0;for(;!r;){let{done:e,value:a}=await n.read();a&&(t.push(a),i+=a.length),r=e}let a=new Uint8Array(i),o=0;for(let e of t)a.set(e,o),o+=e.length;return a}function rt(e){return new Promise((t,n)=>{let r=new FileReader;r.onloadend=()=>{if(r.readyState!==2)return n(Error(`Reader aborted too early`));let e=r.result??``,i=e.indexOf(`,`),a=i>-1?i+1:e.length;t(e.substring(a))},r.onabort=()=>n(Error(`Read aborted`)),r.onerror=()=>n(r.error),r.readAsDataURL(e)})}var it=`The stream has already been transformed.`,at=e=>{if(!ot(e)&&!Ge(e)){let t=e?.__proto__?.constructor?.name||e;throw Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${t}`)}let t=!1,n=async()=>{if(t)throw Error(it);return t=!0,await et(e)},r=e=>{if(typeof e.stream!=`function`)throw Error(`Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled. +If you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body`);return e.stream()};return Object.assign(e,{transformToByteArray:n,transformToString:async e=>{let t=await n();if(e===`base64`)return Ue(t);if(e===`hex`)return ne(t);if(e===void 0||e===`utf8`||e===`utf-8`)return ce(t);if(typeof TextDecoder==`function`)return new TextDecoder(e).decode(t);throw Error(`TextDecoder is not available, please make sure polyfill is provided.`)},transformToWebStream:()=>{if(t)throw Error(it);if(t=!0,ot(e))return r(e);if(Ge(e))return e;throw Error(`Cannot transform payload to web stream, got ${e}`)}})},ot=e=>typeof Blob==`function`&&e instanceof Blob;async function st(e){return typeof e.stream==`function`&&(e=e.stream()),e.tee()}var ct=async(e=new Uint8Array,t)=>{if(e instanceof Uint8Array)return We.mutate(e);if(!e)return We.mutate(new Uint8Array);let n=t.streamCollector(e);return We.mutate(await n)};function lt(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return`%`+e.charCodeAt(0).toString(16).toUpperCase()})}var ut=e=>typeof e==`function`?e():e,dt=(e,t,n,r,i)=>({name:t,namespace:e,traits:n,input:r,output:i}),ft=e=>(t,n)=>async r=>{let{response:i}=await t(r),{operationSchema:a}=_e(n),[,o,s,c,l,u]=a??[];try{return{response:i,output:await e.protocol.deserializeResponse(dt(o,s,c,l,u),{...e,...n},i)}}catch(e){if(Object.defineProperty(e,`$response`,{value:i,enumerable:!1,writable:!1,configurable:!1}),!(`$metadata`in e)){let t=`Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;try{e.message+=` + `+t}catch{!n.logger||n.logger?.constructor?.name===`NoOpLogger`?console.warn(t):n.logger?.warn?.(t)}e.$responseBodyText!==void 0&&e.$response&&(e.$response.body=e.$responseBodyText);try{if(ge.isInstance(i)){let{headers:t={}}=i,n=Object.entries(t);e.$metadata={httpStatusCode:i.statusCode,requestId:pt(/^x-[\w-]+-request-?id$/,n),extendedRequestId:pt(/^x-[\w-]+-id-2$/,n),cfId:pt(/^x-[\w-]+-cf-id$/,n)}}}catch{}}throw e}},pt=(e,t)=>(t.find(([t])=>t.match(e))||[void 0,void 0])[1];function mt(e){let t={};if(e=e.replace(/^\?/,``),e)for(let n of e.split(`&`)){let[e,r=null]=n.split(`=`);e=decodeURIComponent(e),r&&=decodeURIComponent(r),e in t?Array.isArray(t[e])?t[e].push(r):t[e]=[t[e],r]:t[e]=r}return t}var ht=e=>{if(typeof e==`string`)return ht(new URL(e));let{hostname:t,pathname:n,port:r,protocol:i,search:a}=e,o;return a&&(o=mt(a)),{hostname:t,port:r?parseInt(r):void 0,protocol:i,path:n,query:o}},gt=e=>{if(typeof e==`object`){if(`url`in e){let t=ht(e.url);if(e.headers){t.headers={};for(let[n,r]of Object.entries(e.headers))t.headers[n.toLowerCase()]=r.join(`, `)}return t}return e}return ht(e)},_t=e=>(t,n)=>async r=>{let{operationSchema:i}=_e(n),[,a,o,s,c,l]=i??[],u=n.endpointV2?async()=>gt(n.endpointV2):e.endpoint,d=await e.protocol.serializeRequest(dt(a,o,s,c,l),r.input,{...e,...n,endpoint:u});return t({...r,request:d})},vt={name:`deserializerMiddleware`,step:`deserialize`,tags:[`DESERIALIZER`],override:!0},yt={name:`serializerMiddleware`,step:`serialize`,tags:[`SERIALIZER`],override:!0};function bt(e){return{applyToStack:t=>{t.add(_t(e),yt),t.add(ft(e),vt),e.protocol.setSerdeContext(e)}}}var xt=[];function St(e){if(typeof e==`object`)return e;if(e|=0,xt[e])return xt[e];let t={},n=0;for(let r of[`httpLabel`,`idempotent`,`idempotencyToken`,`sensitive`,`httpPayload`,`httpResponseCode`,`httpQueryParams`])(e>>n++&1)==1&&(t[r]=1);return xt[e]=t}var Ct={it:Symbol.for(`@smithy/nor-struct-it`),ns:Symbol.for(`@smithy/ns`)},wt=[],Tt={},Et=class e{ref;memberName;static symbol=Symbol.for(`@smithy/nor`);symbol=e.symbol;name;schema;_isMemberSchema;traits;memberTraits;normalizedTraits;constructor(t,n){this.ref=t,this.memberName=n;let r=[],i=t,a=t;for(this._isMemberSchema=!1;Ot(i);)r.push(i[1]),i=i[0],a=ut(i),this._isMemberSchema=!0;if(r.length>0){this.memberTraits={};for(let e=r.length-1;e>=0;--e){let t=r[e];Object.assign(this.memberTraits,St(t))}}else this.memberTraits=0;if(a instanceof e){let e=this.memberTraits;Object.assign(this,a),this.memberTraits=Object.assign({},e,a.getMemberTraits(),this.getMemberTraits()),this.normalizedTraits=void 0,this.memberName=n??a.memberName;return}if(this.schema=ut(a),kt(this.schema)?(this.name=`${this.schema[1]}#${this.schema[2]}`,this.traits=this.schema[3]):(this.name=this.memberName??String(a),this.traits=0),this._isMemberSchema&&!n)throw Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(!0)} missing member name.`)}static[Symbol.hasInstance](e){let t=this.prototype.isPrototypeOf(e);return!t&&typeof e==`object`&&e?e.symbol===this.symbol:t}static of(t){let n=typeof t==`function`||typeof t==`object`&&!!t;if(typeof t==`number`){if(wt[t])return wt[t]}else if(typeof t==`string`){if(Tt[t])return Tt[t]}else if(n&&t[Ct.ns])return t[Ct.ns];let r=ut(t);if(r instanceof e)return r;if(Ot(r)){let[n,i]=r;if(n instanceof e)return Object.assign(n.getMergedTraits(),St(i)),n;throw Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(t,null,2)}.`)}let i=new e(r);return n?t[Ct.ns]=i:typeof r==`string`?Tt[r]=i:typeof r==`number`?wt[r]=i:i}getSchema(){let e=this.schema;return Array.isArray(e)&&e[0]===0?e[4]:e}getName(e=!1){let{name:t}=this;return!e&&t&&t.includes(`#`)?t.split(`#`)[1]:t||void 0}getMemberName(){return this.memberName}isMemberSchema(){return this._isMemberSchema}isListSchema(){let e=this.getSchema();return typeof e==`number`?e>=64&&e<128:e[0]===1}isMapSchema(){let e=this.getSchema();return typeof e==`number`?e>=128&&e<=255:e[0]===2}isStructSchema(){let e=this.getSchema();if(typeof e!=`object`)return!1;let t=e[0];return t===3||t===-3||t===4}isUnionSchema(){let e=this.getSchema();return typeof e==`object`?e[0]===4:!1}isBlobSchema(){let e=this.getSchema();return e===21||e===42}isTimestampSchema(){let e=this.getSchema();return typeof e==`number`&&e>=4&&e<=7}isUnitSchema(){return this.getSchema()===`unit`}isDocumentSchema(){return this.getSchema()===15}isStringSchema(){return this.getSchema()===0}isBooleanSchema(){return this.getSchema()===2}isNumericSchema(){return this.getSchema()===1}isBigIntegerSchema(){return this.getSchema()===17}isBigDecimalSchema(){return this.getSchema()===19}isStreaming(){let{streaming:e}=this.getMergedTraits();return!!e||this.getSchema()===42}isIdempotencyToken(){return!!this.getMergedTraits().idempotencyToken}getMergedTraits(){return this.normalizedTraits??={...this.getOwnTraits(),...this.getMemberTraits()}}getMemberTraits(){return St(this.memberTraits)}getOwnTraits(){return St(this.traits)}getKeySchema(){let[e,t]=[this.isDocumentSchema(),this.isMapSchema()];if(!e&&!t)throw Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(!0)}`);let n=this.getSchema();return Dt([e?15:n[4]??0,0],`key`)}getValueSchema(){let e=this.getSchema(),[t,n,r]=[this.isDocumentSchema(),this.isMapSchema(),this.isListSchema()],i=typeof e==`number`?63&e:e&&typeof e==`object`&&(n||r)?e[3+e[0]]:t?15:void 0;if(i!=null)return Dt([i,0],n?`value`:`member`);throw Error(`@smithy/core/schema - ${this.getName(!0)} has no value member.`)}getMemberSchema(e){let t=this.getSchema();if(this.isStructSchema()&&t[4].includes(e)){let n=t[4].indexOf(e),r=t[5][n];return Dt(Ot(r)?r:[r,0],e)}if(this.isDocumentSchema())return Dt([15,0],e);throw Error(`@smithy/core/schema - ${this.getName(!0)} has no member=${e}.`)}getMemberSchemas(){let e={};try{for(let[t,n]of this.structIterator())e[t]=n}catch{}return e}getEventStreamMember(){if(this.isStructSchema()){for(let[e,t]of this.structIterator())if(t.isStreaming()&&t.isStructSchema())return e}return``}*structIterator(){if(this.isUnitSchema())return;if(!this.isStructSchema())throw Error(`@smithy/core/schema - cannot iterate non-struct schema.`);let e=this.getSchema(),t=e[4].length,n=e[Ct.it];if(n&&t===n.length){yield*n;return}n=Array(t);for(let r=0;rArray.isArray(e)&&e.length===2,kt=e=>Array.isArray(e)&&e.length>=5,At=class e{namespace;schemas;exceptions;static registries=new Map;constructor(e,t=new Map,n=new Map){this.namespace=e,this.schemas=t,this.exceptions=n}static for(t){return e.registries.has(t)||e.registries.set(t,new e(t)),e.registries.get(t)}copyFrom(e){let{schemas:t,exceptions:n}=this;for(let[n,r]of e.schemas)t.has(n)||t.set(n,r);for(let[t,r]of e.exceptions)n.has(t)||n.set(t,r)}register(t,n){let r=this.normalizeShapeId(t);for(let t of[this,e.for(r.split(`#`)[0])])t.schemas.set(r,n)}getSchema(e){let t=this.normalizeShapeId(e);if(!this.schemas.has(t))throw Error(`@smithy/core/schema - schema not found for ${t}`);return this.schemas.get(t)}registerError(t,n){let r=t,i=r[1];for(let t of[this,e.for(i)])t.schemas.set(i+`#`+r[2],r),t.exceptions.set(r,n)}getErrorCtor(t){let n=t;return this.exceptions.has(n)?this.exceptions.get(n):e.for(n[1]).exceptions.get(n)}getBaseException(){for(let e of this.exceptions.keys())if(Array.isArray(e)){let[,t,n]=e,r=t+`#`+n;if(r.startsWith(`smithy.ts.sdk.synthetic.`)&&r.endsWith(`ServiceException`))return e}}find(e){return[...this.schemas.values()].find(e)}clear(){this.schemas.clear(),this.exceptions.clear()}normalizeShapeId(e){return e.includes(`#`)?e:this.namespace+`#`+e}},jt=e=>{if(e!=null){if(typeof e==`string`){let t=parseFloat(e);if(!Number.isNaN(t))return String(t)!==String(e)&&Gt.warn(Wt(`Expected number but observed string: ${e}`)),t}if(typeof e==`number`)return e;throw TypeError(`Expected number, got ${typeof e}: ${e}`)}},Mt=Math.ceil(2**127*(2-2**-23)),Nt=e=>{let t=jt(e);if(t!==void 0&&!Number.isNaN(t)&&t!==1/0&&t!==-1/0&&Math.abs(t)>Mt)throw TypeError(`Expected 32-bit float, got ${e}`);return t},Pt=e=>{if(e!=null){if(Number.isInteger(e)&&!Number.isNaN(e))return e;throw TypeError(`Expected integer, got ${typeof e}: ${e}`)}},Ft=e=>Lt(e,16),It=e=>Lt(e,8),Lt=(e,t)=>{let n=Pt(e);if(n!==void 0&&Rt(n,t)!==n)throw TypeError(`Expected ${t}-bit integer, got ${e}`);return n},Rt=(e,t)=>{switch(t){case 32:return Int32Array.of(e)[0];case 16:return Int16Array.of(e)[0];case 8:return Int8Array.of(e)[0]}},zt=e=>Nt(typeof e==`string`?Vt(e):e),Bt=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g,Vt=e=>{let t=e.match(Bt);if(t===null||t[0].length!==e.length)throw TypeError(`Expected real number, got implicit NaN`);return parseFloat(e)},Ht=e=>Ft(typeof e==`string`?Vt(e):e),Ut=e=>It(typeof e==`string`?Vt(e):e),Wt=e=>String(TypeError(e).stack||e).split(` `).slice(0,5).filter(e=>!e.includes(`stackTraceWarning`)).join(` -`),Gt={warn:console.warn},Kt=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],qt=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function Jt(e){let t=e.getUTCFullYear(),n=e.getUTCMonth(),r=e.getUTCDay(),i=e.getUTCDate(),a=e.getUTCHours(),o=e.getUTCMinutes(),s=e.getUTCSeconds(),c=i<10?`0${i}`:`${i}`,l=a<10?`0${a}`:`${a}`,u=o<10?`0${o}`:`${o}`,d=s<10?`0${s}`:`${s}`;return`${Kt[r]}, ${c} ${qt[n]} ${t} ${l}:${u}:${d} GMT`}var Yt=new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/),Xt=new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/),Zt=new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? (\d{4})$/),Qt=e=>{if(e==null)return;if(typeof e!=`string`)throw TypeError(`RFC-7231 date-times must be expressed as strings`);let t=Yt.exec(e);if(t){let[e,n,r,i,a,o,s,c]=t;return $t(Ht(un(i)),rn(r),cn(n,`day`,1,31),{hours:a,minutes:o,seconds:s,fractionalMilliseconds:c})}if(t=Xt.exec(e),t){let[e,n,r,i,a,o,s,c]=t;return nn($t(en(i),rn(r),cn(n,`day`,1,31),{hours:a,minutes:o,seconds:s,fractionalMilliseconds:c}))}if(t=Zt.exec(e),t){let[e,n,r,i,a,o,s,c]=t;return $t(Ht(un(c)),rn(n),cn(r.trimLeft(),`day`,1,31),{hours:i,minutes:a,seconds:o,fractionalMilliseconds:s})}throw TypeError(`Invalid RFC-7231 date-time value`)},$t=(e,t,n,r)=>{let i=t-1;return on(e,i,n),new Date(Date.UTC(e,i,n,cn(r.hours,`hour`,0,23),cn(r.minutes,`minute`,0,59),cn(r.seconds,`seconds`,0,60),ln(r.fractionalMilliseconds)))},en=e=>{let t=new Date().getUTCFullYear(),n=Math.floor(t/100)*100+Ht(un(e));return ne.getTime()-new Date().getTime()>tn?new Date(Date.UTC(e.getUTCFullYear()-100,e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())):e,rn=e=>{let t=qt.indexOf(e);if(t<0)throw TypeError(`Invalid month: ${e}`);return t+1},an=[31,28,31,30,31,30,31,31,30,31,30,31],on=(e,t,n)=>{let r=an[t];if(t===1&&sn(e)&&(r=29),n>r)throw TypeError(`Invalid day for ${qt[t]} in ${e}: ${n}`)},sn=e=>e%4==0&&(e%100!=0||e%400==0),cn=(e,t,n,r)=>{let i=Ut(un(e));if(ir)throw TypeError(`${t} must be between ${n} and ${r}, inclusive`);return i},ln=e=>e==null?0:zt(`0.`+e)*1e3,un=e=>{let t=0;for(;tt.toString(16).padStart(2,`0`)),pn=()=>{if(dn)return dn();let e=new Uint8Array(16);return crypto.getRandomValues(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128,fn[e[0]]+fn[e[1]]+fn[e[2]]+fn[e[3]]+`-`+fn[e[4]]+fn[e[5]]+`-`+fn[e[6]]+fn[e[7]]+`-`+fn[e[8]]+fn[e[9]]+`-`+fn[e[10]]+fn[e[11]]+fn[e[12]]+fn[e[13]]+fn[e[14]]+fn[e[15]]},mn=function(e){return Object.assign(new String(e),{deserializeJSON(){return JSON.parse(String(e))},toString(){return String(e)},toJSON(){return String(e)}})};mn.from=e=>e&&typeof e==`object`&&(e instanceof mn||`deserializeJSON`in e)?e:typeof e==`string`||Object.getPrototypeOf(e)===String.prototype?mn(String(e)):mn(JSON.stringify(e)),mn.fromObject=mn.from;function hn(e){return(e.includes(`,`)||e.includes(`"`))&&(e=`"${e.replace(/"/g,`\\"`)}"`),e}var gn=`(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?`,_n=`(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)`,vn=`(\\d?\\d):(\\d{2}):(\\d{2})(?:\\.(\\d+))?`,yn=`(\\d?\\d)`,bn=`(\\d{4})`,xn=new RegExp(/^(\d{4})-(\d\d)-(\d\d)[tT](\d\d):(\d\d):(\d\d)(\.(\d+))?(([-+]\d\d:\d\d)|[zZ])$/),Sn=RegExp(`^${gn}, ${yn} ${_n} ${bn} ${vn} GMT$`),Cn=RegExp(`^${gn}, ${yn}-${_n}-(\\d\\d) ${vn} GMT$`),wn=RegExp(`^${gn} ${_n} ( [1-9]|\\d\\d) ${vn} ${bn}$`),Tn=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],En=e=>{if(e==null)return;let t=NaN;if(typeof e==`number`)t=e;else if(typeof e==`string`){if(!/^-?\d*\.?\d+$/.test(e))throw TypeError(`parseEpochTimestamp - numeric string invalid.`);t=Number.parseFloat(e)}else typeof e==`object`&&e.tag===1&&(t=e.value);if(isNaN(t)||Math.abs(t)===1/0)throw TypeError(`Epoch timestamps must be valid finite numbers.`);return new Date(Math.round(t*1e3))},Dn=e=>{if(e==null)return;if(typeof e!=`string`)throw TypeError(`RFC3339 timestamps must be strings`);let t=xn.exec(e);if(!t)throw TypeError(`Invalid RFC3339 timestamp format ${e}`);let[,n,r,i,a,o,s,,c,l]=t;kn(r,1,12),kn(i,1,31),kn(a,0,23),kn(o,0,59),kn(s,0,60);let u=new Date(Date.UTC(Number(n),Number(r)-1,Number(i),Number(a),Number(o),Number(s),Number(c)?Math.round(parseFloat(`0.${c}`)*1e3):0));if(u.setUTCFullYear(Number(n)),l.toUpperCase()!=`Z`){let[,e,t,n]=/([+-])(\d\d):(\d\d)/.exec(l)||[void 0,`+`,0,0],r=e===`-`?1:-1;u.setTime(u.getTime()+r*(Number(t)*60*60*1e3+Number(n)*60*1e3))}return u},On=e=>{if(e==null)return;if(typeof e!=`string`)throw TypeError(`RFC7231 timestamps must be strings.`);let t,n,r,i,a,o,s,c;if((c=Sn.exec(e))?[,t,n,r,i,a,o,s]=c:(c=Cn.exec(e))?([,t,n,r,i,a,o,s]=c,r=(Number(r)+1900).toString()):(c=wn.exec(e))&&([,n,t,i,a,o,s,r]=c),r&&o){let e=Date.UTC(Number(r),Tn.indexOf(n),Number(t),Number(i),Number(a),Number(o),s?Math.round(parseFloat(`0.${s}`)*1e3):0);kn(t,1,31),kn(i,0,23),kn(a,0,59),kn(o,0,60);let c=new Date(e);return c.setUTCFullYear(Number(r)),c}throw TypeError(`Invalid RFC7231 date-time value ${e}.`)};function kn(e,t,n){let r=Number(e);if(rn)throw Error(`Value ${r} out of range [${t}, ${n}]`)}function An(e,t,n){if(n<=0||!Number.isInteger(n))throw Error(`Invalid number of delimiters (`+n+`) for splitEvery.`);let r=e.split(t);if(n===1)return r;let i=[],a=``;for(let e=0;e{let t=e.length,n=[],r=!1,i,a=0;for(let o=0;o{e=e.trim();let t=e.length;return t<2?e:(e[0]===`"`&&e[t-1]===`"`&&(e=e.slice(1,t-1)),e.replace(/\\"/g,`"`))})},Mn=/^-?\d*(\.\d+)?$/,Nn=class e{string;type;constructor(e,t){if(this.string=e,this.type=t,!Mn.test(e))throw Error(`@smithy/core/serde - NumericValue must only contain [0-9], at most one decimal point ".", and an optional negation prefix "-".`)}toString(){return this.string}static[Symbol.hasInstance](t){if(!t||typeof t!=`object`)return!1;let n=t;return e.prototype.isPrototypeOf(t)||n.type===`bigDecimal`&&Mn.test(n.string)}},Pn=class{serdeContext;setSerdeContext(e){this.serdeContext=e}},Fn=`modulepreload`,In=function(e){return`/`+e},Ln={},Rn=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=In(t,n),t in Ln)return;Ln[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:Fn,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},zn=class extends Pn{options;compositeErrorRegistry;constructor(e){super(),this.options=e,this.compositeErrorRegistry=At.for(e.defaultNamespace);for(let t of e.errorTypeRegistries??[])this.compositeErrorRegistry.copyFrom(t)}getRequestType(){return i}getResponseType(){return ge}setSerdeContext(e){this.serdeContext=e,this.serializer.setSerdeContext(e),this.deserializer.setSerdeContext(e),this.getPayloadCodec()&&this.getPayloadCodec().setSerdeContext(e)}updateServiceEndpoint(e,t){if(`url`in t){e.protocol=t.url.protocol,e.hostname=t.url.hostname,e.port=t.url.port?Number(t.url.port):void 0,e.path=t.url.pathname,e.fragment=t.url.hash||void 0,e.username=t.url.username||void 0,e.password=t.url.password||void 0,e.query||={};for(let[n,r]of t.url.searchParams.entries())e.query[n]=r;if(t.headers)for(let[n,r]of Object.entries(t.headers))e.headers[n]=r.join(`, `);return e}else{if(e.protocol=t.protocol,e.hostname=t.hostname,e.port=t.port?Number(t.port):void 0,e.path=t.path,e.query={...t.query},t.headers)for(let[n,r]of Object.entries(t.headers))e.headers[n]=r;return e}}setHostPrefix(e,t,n){if(this.serdeContext?.disableHostPrefix)return;let r=p.of(t.input),i=Ct(t.traits??{});if(i.endpoint){let t=i.endpoint?.[0];if(typeof t==`string`){let i=[...r.structIterator()].filter(([,e])=>e.getMergedTraits().hostLabel);for(let[e]of i){let r=n[e];if(typeof r!=`string`)throw Error(`@smithy/core/schema - ${e} in input must be a string as hostLabel.`);t=t.replace(`{${e}}`,r)}e.hostname=t+e.hostname}}}deserializeMetadata(e){return{httpStatusCode:e.statusCode,requestId:e.headers[`x-amzn-requestid`]??e.headers[`x-amzn-request-id`]??e.headers[`x-amz-request-id`],extendedRequestId:e.headers[`x-amz-id-2`],cfId:e.headers[`x-amz-cf-id`]}}async serializeEventStream({eventStream:e,requestSchema:t,initialRequest:n}){return(await this.loadEventStreamCapability()).serializeEventStream({eventStream:e,requestSchema:t,initialRequest:n})}async deserializeEventStream({response:e,responseSchema:t,initialResponseContainer:n}){return(await this.loadEventStreamCapability()).deserializeEventStream({response:e,responseSchema:t,initialResponseContainer:n})}async loadEventStreamCapability(){let{EventStreamSerde:e}=await Rn(async()=>{let{EventStreamSerde:e}=await import(`./event-streams.js`);return{EventStreamSerde:e}},__vite__mapDeps([0,1,2]));return new e({marshaller:this.getEventStreamMarshaller(),serializer:this.serializer,deserializer:this.deserializer,serdeContext:this.serdeContext,defaultContentType:this.getDefaultContentType()})}getDefaultContentType(){throw Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`)}async deserializeHttpMessage(e,t,n,r,i){return[]}getEventStreamMarshaller(){let e=this.serdeContext;if(!e.eventStreamMarshaller)throw Error(`@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.`);return e.eventStreamMarshaller}},Bn=class extends zn{async serializeRequest(e,t,n){let r=t&&typeof t==`object`?t:{},a=this.serializer,o={},s={},c=await n.endpoint(),l=p.of(e?.input),u=[],d=[],ee=!1,te,f=new i({protocol:``,hostname:``,port:void 0,path:``,fragment:void 0,query:o,headers:s,body:void 0});if(c){this.updateServiceEndpoint(f,c),this.setHostPrefix(f,e,r);let t=Ct(e.traits);if(t.http){f.method=t.http[0];let[e,n]=t.http[1].split(`?`);f.path==`/`?f.path=e:f.path+=e;let r=new URLSearchParams(n??``);Object.assign(o,Object.fromEntries(r))}}for(let[e,t]of l.structIterator()){let n=t.getMergedTraits()??{},i=r[e];if(i==null&&!t.isIdempotencyToken()){if(n.httpLabel&&(f.path.includes(`{${e}+}`)||f.path.includes(`{${e}}`)))throw Error(`No value provided for input HTTP label: ${e}.`);continue}if(n.httpPayload)t.isStreaming()?t.isStructSchema()?r[e]&&(te=await this.serializeEventStream({eventStream:r[e],requestSchema:l})):te=i:(a.write(t,i),te=a.flush());else if(n.httpLabel){a.write(t,i);let n=a.flush();f.path.includes(`{${e}+}`)?f.path=f.path.replace(`{${e}+}`,n.split(`/`).map(ut).join(`/`)):f.path.includes(`{${e}}`)&&(f.path=f.path.replace(`{${e}}`,ut(n)))}else if(n.httpHeader)a.write(t,i),s[n.httpHeader.toLowerCase()]=String(a.flush());else if(typeof n.httpPrefixHeaders==`string`)for(let[e,r]of Object.entries(i)){let i=n.httpPrefixHeaders+e;a.write([t.getValueSchema(),{httpHeader:i}],r),s[i.toLowerCase()]=a.flush()}else n.httpQuery||n.httpQueryParams?this.serializeQuery(t,i,o):(ee=!0,u.push(e),d.push(t))}if(ee&&r){let[e,t]=(l.getName(!0)??`#Unknown`).split(`#`),n=l.getSchema()[6],i=[3,e,t,l.getMergedTraits(),u,d,void 0];n?i[6]=n:i.pop(),a.write(i,r),te=a.flush()}return f.headers=s,f.query=o,f.body=te,f}serializeQuery(e,t,n){let r=this.serializer,i=e.getMergedTraits();if(i.httpQueryParams){for(let[r,a]of Object.entries(t))if(!(r in n)){let t=e.getValueSchema();Object.assign(t.getMergedTraits(),{...i,httpQuery:r,httpQueryParams:void 0}),this.serializeQuery(t,a,n)}return}if(e.isListSchema()){let a=!!e.getMergedTraits().sparse,o=[];for(let n of t){r.write([e.getValueSchema(),i],n);let t=r.flush();(a||t!==void 0)&&o.push(t)}n[i.httpQuery]=o}else r.write([e,i],t),n[i.httpQuery]=r.flush()}async deserializeResponse(e,t,n){let r=this.deserializer,i=p.of(e.output),a={};if(n.statusCode>=300){let i=await lt(n.body,t);throw i.byteLength>0&&Object.assign(a,await r.read(15,i)),await this.handleError(e,t,n,a,this.deserializeMetadata(n)),Error(`@smithy/core/protocols - HTTP Protocol error handler failed to throw.`)}for(let e in n.headers){let t=n.headers[e];delete n.headers[e],n.headers[e.toLowerCase()]=t}let o=await this.deserializeHttpMessage(i,t,n,a);if(o.length){let e=await lt(n.body,t);if(e.byteLength>0){let t=await r.read(i,e);for(let e of o)t[e]!=null&&(a[e]=t[e])}}else o.discardResponseBody&&await lt(n.body,t);return a.$metadata=this.deserializeMetadata(n),a}async deserializeHttpMessage(e,t,n,r,i){let a;a=r instanceof Set?i:r;let o=!0,s=this.deserializer,c=p.of(e),l=[];for(let[e,r]of c.structIterator()){let i=r.getMemberTraits();if(i.httpPayload){if(o=!1,r.isStreaming())r.isStructSchema()?a[e]=await this.deserializeEventStream({response:n,responseSchema:c}):a[e]=ot(n.body);else if(n.body){let i=await lt(n.body,t);i.byteLength>0&&(a[e]=await s.read(r,i))}}else if(i.httpHeader){let t=String(i.httpHeader).toLowerCase(),o=n.headers[t];if(o!=null)if(r.isListSchema()){let n=r.getValueSchema();n.getMergedTraits().httpHeader=t;let i;i=n.isTimestampSchema()&&n.getSchema()===4?An(o,`,`,2):jn(o);let c=[];for(let e of i)c.push(await s.read(n,e.trim()));a[e]=c}else a[e]=await s.read(r,o)}else if(i.httpPrefixHeaders!==void 0){a[e]={};for(let[t,o]of Object.entries(n.headers))if(t.startsWith(i.httpPrefixHeaders)){let n=r.getValueSchema();n.getMergedTraits().httpHeader=t,a[e][t.slice(i.httpPrefixHeaders.length)]=await s.read(n,o)}}else i.httpResponseCode?a[e]=n.statusCode:l.push(e)}return l.discardResponseBody=o,l}},Vn=class extends zn{async serializeRequest(e,t,n){let r=this.serializer,a={},o={},s=await n.endpoint(),c=p.of(e?.input),l=c.getSchema(),u,d=t&&typeof t==`object`?t:{},ee=new i({protocol:``,hostname:``,port:void 0,path:`/`,fragment:void 0,query:a,headers:o,body:void 0});if(s&&(this.updateServiceEndpoint(ee,s),this.setHostPrefix(ee,e,d)),d){let e=c.getEventStreamMember();if(e){if(d[e]){let t={};for(let[n,i]of c.structIterator())n!==e&&d[n]&&(r.write(i,d[n]),t[n]=r.flush());u=await this.serializeEventStream({eventStream:d[e],requestSchema:c,initialRequest:t})}}else r.write(l,d),u=r.flush()}return ee.headers=Object.assign(ee.headers,o),ee.query=a,ee.body=u,ee.method=`POST`,ee}async deserializeResponse(e,t,n){let r=this.deserializer,i=p.of(e.output),a={};if(n.statusCode>=300){let i=await lt(n.body,t);throw i.byteLength>0&&Object.assign(a,await r.read(15,i)),await this.handleError(e,t,n,a,this.deserializeMetadata(n)),Error(`@smithy/core/protocols - RPC Protocol error handler failed to throw.`)}for(let e in n.headers){let t=n.headers[e];delete n.headers[e],n.headers[e.toLowerCase()]=t}let o=i.getEventStreamMember();if(o)a[o]=await this.deserializeEventStream({response:n,responseSchema:i,initialResponseContainer:a});else{let e=await lt(n.body,t);e.byteLength>0&&Object.assign(a,await r.read(i,e))}return a.$metadata=this.deserializeMetadata(n),a}};function Hn(e,t){if(t.timestampFormat.useTrait&&e.isTimestampSchema()&&(e.getSchema()===5||e.getSchema()===6||e.getSchema()===7))return e.getSchema();let{httpLabel:n,httpPrefixHeaders:r,httpHeader:i,httpQuery:a}=e.getMergedTraits();return(t.httpBindings?typeof r==`string`||i?6:a||n?5:void 0:void 0)??t.timestampFormat.default}var Un=class extends Pn{settings;constructor(e){super(),this.settings=e}read(e,t){let n=p.of(e);if(n.isListSchema())return jn(t).map(e=>this.read(n.getValueSchema(),e));if(n.isBlobSchema())return(this.serdeContext?.base64Decoder??Ue)(t);if(n.isTimestampSchema())switch(Hn(n,this.settings)){case 5:return Dn(t);case 6:return On(t);case 7:return En(t);default:return console.warn(`Missing timestamp format, parsing value with Date constructor:`,t),new Date(t)}if(n.isStringSchema()){let e=n.getMergedTraits().mediaType,r=t;if(e)return n.getMergedTraits().httpHeader&&(r=this.base64ToUtf8(r)),(e===`application/json`||e.endsWith(`+json`))&&(r=mn.from(r)),r}return n.isNumericSchema()?Number(t):n.isBigIntegerSchema()?BigInt(t):n.isBigDecimalSchema()?new Nn(t,`bigDecimal`):n.isBooleanSchema()?String(t).toLowerCase()===`true`:t}base64ToUtf8(e){return(this.serdeContext?.utf8Encoder??ce)((this.serdeContext?.base64Decoder??Ue)(e))}},Wn=class extends Pn{codecDeserializer;stringDeserializer;constructor(e,t){super(),this.codecDeserializer=e,this.stringDeserializer=new Un(t)}setSerdeContext(e){this.stringDeserializer.setSerdeContext(e),this.codecDeserializer.setSerdeContext(e),this.serdeContext=e}read(e,t){let n=p.of(e),r=n.getMergedTraits(),i=this.serdeContext?.utf8Encoder??ce;if(r.httpHeader||r.httpResponseCode)return this.stringDeserializer.read(n,i(t));if(r.httpPayload){if(n.isBlobSchema()){let e=this.serdeContext?.utf8Decoder??se;return typeof t==`string`?e(t):t}else if(n.isStringSchema())return`byteLength`in t?i(t):t}return this.codecDeserializer.read(n,t)}},Gn=class extends Pn{settings;stringBuffer=``;constructor(e){super(),this.settings=e}write(e,t){let n=p.of(e);switch(typeof t){case`object`:if(t===null){this.stringBuffer=`null`;return}if(n.isTimestampSchema()){if(!(t instanceof Date))throw Error(`@smithy/core/protocols - received non-Date value ${t} when schema expected Date in ${n.getName(!0)}`);switch(Hn(n,this.settings)){case 5:this.stringBuffer=t.toISOString().replace(`.000Z`,`Z`);break;case 6:this.stringBuffer=Jt(t);break;case 7:this.stringBuffer=String(t.getTime()/1e3);break;default:console.warn(`Missing timestamp format, using epoch seconds`,t),this.stringBuffer=String(t.getTime()/1e3)}return}if(n.isBlobSchema()&&`byteLength`in t){this.stringBuffer=(this.serdeContext?.base64Encoder??We)(t);return}if(n.isListSchema()&&Array.isArray(t)){let e=``;for(let r of t){this.write([n.getValueSchema(),n.getMergedTraits()],r);let t=this.flush(),i=n.getValueSchema().isTimestampSchema()?t:hn(t);e!==``&&(e+=`, `),e+=i}this.stringBuffer=e;return}this.stringBuffer=JSON.stringify(t,null,2);break;case`string`:let e=n.getMergedTraits().mediaType,r=t;if(e&&((e===`application/json`||e.endsWith(`+json`))&&(r=mn.from(r)),n.getMergedTraits().httpHeader)){this.stringBuffer=(this.serdeContext?.base64Encoder??We)(r.toString());return}this.stringBuffer=t;break;default:n.isIdempotencyToken()?this.stringBuffer=pn():this.stringBuffer=String(t)}}flush(){let e=this.stringBuffer;return this.stringBuffer=``,e}},Kn=class{codecSerializer;stringSerializer;buffer;constructor(e,t,n=new Gn(t)){this.codecSerializer=e,this.stringSerializer=n}setSerdeContext(e){this.codecSerializer.setSerdeContext(e),this.stringSerializer.setSerdeContext(e)}write(e,t){let n=p.of(e),r=n.getMergedTraits();if(r.httpHeader||r.httpLabel||r.httpQuery){this.stringSerializer.write(n,t),this.buffer=this.stringSerializer.flush();return}return this.codecSerializer.write(n,t)}flush(){if(this.buffer!==void 0){let e=this.buffer;return this.buffer=void 0,e}return this.codecSerializer.flush()}};function qn(e,t,n){e.__smithy_context?e.__smithy_context.features||(e.__smithy_context.features={}):e.__smithy_context={features:{}},e.__smithy_context.features[t]=n}var Jn=class{authSchemes=new Map;constructor(e){for(let[t,n]of Object.entries(e))n!==void 0&&this.authSchemes.set(t,n)}getIdentityProvider(e){return this.authSchemes.get(e)}},Yn=(e=>function(t){return Xn(t)&&t.expiration.getTime()-Date.now()e.expiration!==void 0,Zn=(e,t,n)=>{if(e===void 0)return;let r=typeof e==`function`?e:async()=>Promise.resolve(e),i,a,o,s=!1,c=async e=>{a||=r(e);try{i=await a,o=!0,s=!1}finally{a=void 0}return i};return t===void 0?async e=>((!o||e?.forceRefresh)&&(i=await c(e)),i):async e=>((!o||e?.forceRefresh)&&(i=await c(e)),s?i:n(i)?(t(i)&&await c(e),i):(s=!0,i))};function Qn(e){return e===void 0?!0:typeof e==`string`&&e.length<=50}function $n(e){let t=ze(e.userAgentAppId??void 0),{customUserAgent:n}=e;return Object.assign(e,{customUserAgent:typeof n==`string`?[[n]]:n,userAgentAppId:async()=>{let n=await t();if(!Qn(n)){let t=e.logger?.constructor?.name===`NoOpLogger`||!e.logger?console:e.logger;typeof n==`string`?n.length>50&&t?.warn(`The provided userAgentAppId exceeds the maximum length of 50 characters.`):t?.warn(`userAgentAppId must be a string or undefined.`)}return n}})}var er=class{capacity;data=new Map;parameters=[];constructor({size:e,params:t}){this.capacity=e??50,t&&(this.parameters=t)}get(e,t){let n=this.hash(e);if(n===!1)return t();if(!this.data.has(n)){if(this.data.size>this.capacity+10){let e=this.data.keys(),t=0;for(;;){let{value:n,done:r}=e.next();if(this.data.delete(n),r||++t>10)break}}this.data.set(n,t())}return this.data.get(n)}size(){return this.data.size}hash(e){let t=``,{parameters:n}=this;if(n.length===0)return!1;for(let r of n){let n=String(e[r]??``);if(n.includes(`|;`))return!1;t+=n+`|;`}return t}},tr=RegExp(`^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$`),nr=e=>tr.test(e)||e.startsWith(`[`)&&e.endsWith(`]`),rr=RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`),ir=(e,t=!1)=>{if(!t)return rr.test(e);let n=e.split(`.`);for(let e of n)if(!ir(e))return!1;return!0},ar={},or=`endpoints`;function sr(e){return typeof e!=`object`||!e?e:`ref`in e?`$${sr(e.ref)}`:`fn`in e?`${e.fn}(${(e.argv||[]).map(sr).join(`, `)})`:JSON.stringify(e,null,2)}var cr=class extends Error{constructor(e){super(e),this.name=`EndpointError`}},lr=(e,t)=>e===t,ur=e=>{let t=e.split(`.`),n=[];for(let r of t){let t=r.indexOf(`[`);if(t!==-1){if(r.indexOf(`]`)!==r.length-1)throw new cr(`Path: '${e}' does not end with ']'`);let i=r.slice(t+1,-1);if(Number.isNaN(parseInt(i)))throw new cr(`Invalid array index: '${i}' in path: '${e}'`);t!==0&&n.push(r.slice(0,t)),n.push(i)}else n.push(r)}return n},dr=(e,t)=>ur(t).reduce((n,r)=>{if(typeof n!=`object`)throw new cr(`Index '${r}' in '${t}' not found in '${JSON.stringify(e)}'`);return Array.isArray(n)?n[parseInt(r)]:n[r]},e),fr=e=>e!=null,pr=e=>!e,mr={[pe.HTTP]:80,[pe.HTTPS]:443},hr={booleanEquals:lr,getAttr:dr,isSet:fr,isValidHostLabel:ir,not:pr,parseURL:e=>{let t=(()=>{try{if(e instanceof URL)return e;if(typeof e==`object`&&`hostname`in e){let{hostname:t,port:n,protocol:r=``,path:i=``,query:a={}}=e,o=new URL(`${r}//${t}${n?`:${n}`:``}${i}`);return o.search=Object.entries(a).map(([e,t])=>`${e}=${t}`).join(`&`),o}return new URL(e)}catch{return null}})();if(!t)return console.error(`Unable to parse ${JSON.stringify(e)} as a whatwg URL.`),null;let n=t.href,{host:r,hostname:i,pathname:a,protocol:o,search:s}=t;if(s)return null;let c=o.slice(0,-1);if(!Object.values(pe).includes(c))return null;let l=nr(i);return{scheme:c,authority:`${r}${n.includes(`${r}:${mr[c]}`)||typeof e==`string`&&e.includes(`${r}:${mr[c]}`)?`:${mr[c]}`:``}`,path:a,normalizedPath:a.endsWith(`/`)?a:`${a}/`,isIp:l}},stringEquals:(e,t)=>e===t,substring:(e,t,n,r)=>t>=n||e.lengthencodeURIComponent(e).replace(/[!*'()]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)},gr=(e,t)=>{let n=[],r={...t.endpointParams,...t.referenceRecord},i=0;for(;i({...t.endpointParams,...t.referenceRecord})[e],vr=(e,t,n)=>{if(typeof e==`string`)return gr(e,n);if(e.fn)return br.callFunction(e,n);if(e.ref)return _r(e,n);throw new cr(`'${t}': ${String(e)} is not a string, function or reference.`)},yr=({fn:e,argv:t},n)=>{let r=t.map(e=>[`boolean`,`number`].includes(typeof e)?e:br.evaluateExpression(e,`arg`,n)),i=e.split(`.`);return i[0]in ar&&i[1]!=null?ar[i[0]][i[1]](...r):hr[e](...r)},br={evaluateExpression:vr,callFunction:yr},xr=({assign:e,...t},n)=>{if(e&&e in n.referenceRecord)throw new cr(`'${e}' is already defined in Reference Record.`);let r=yr(t,n);return n.logger?.debug?.(`${or} evaluateCondition: ${sr(t)} = ${sr(r)}`),{result:r===``?!0:!!r,...e!=null&&{toAssign:{name:e,value:r}}}},Sr=(e=[],t)=>{let n={};for(let r of e){let{result:e,toAssign:i}=xr(r,{...t,referenceRecord:{...t.referenceRecord,...n}});if(!e)return{result:e};i&&(n[i.name]=i.value,t.logger?.debug?.(`${or} assign: ${i.name} := ${sr(i.value)}`))}return{result:!0,referenceRecord:n}},Cr=(e,t)=>Object.entries(e).reduce((e,[n,r])=>({...e,[n]:r.map(e=>{let r=vr(e,`Header value entry`,t);if(typeof r!=`string`)throw new cr(`Header '${n}' value '${r}' is not a string`);return r})}),{}),wr=(e,t)=>Object.entries(e).reduce((e,[n,r])=>({...e,[n]:Er.getEndpointProperty(r,t)}),{}),Tr=(e,t)=>{if(Array.isArray(e))return e.map(e=>Tr(e,t));switch(typeof e){case`string`:return gr(e,t);case`object`:if(e===null)throw new cr(`Unexpected endpoint property: ${e}`);return Er.getEndpointProperties(e,t);case`boolean`:return e;default:throw new cr(`Unexpected endpoint property type: ${typeof e}`)}},Er={getEndpointProperty:Tr,getEndpointProperties:wr},Dr=(e,t)=>{let n=vr(e,`Endpoint URL`,t);if(typeof n==`string`)try{return new URL(n)}catch(e){throw console.error(`Failed to construct URL with ${n}`,e),e}throw new cr(`Endpoint URL must be a string, got ${typeof n}`)},Or=(e,t)=>{let{conditions:n,endpoint:r}=e,{result:i,referenceRecord:a}=Sr(n,t);if(!i)return;let o={...t,referenceRecord:{...t.referenceRecord,...a}},{url:s,properties:c,headers:l}=r;return t.logger?.debug?.(`${or} Resolving endpoint from template: ${sr(r)}`),{...l!=null&&{headers:Cr(l,o)},...c!=null&&{properties:wr(c,o)},url:Dr(s,o)}},kr=(e,t)=>{let{conditions:n,error:r}=e,{result:i,referenceRecord:a}=Sr(n,t);if(i)throw new cr(vr(r,`Error`,{...t,referenceRecord:{...t.referenceRecord,...a}}))},Ar=(e,t)=>{for(let n of e)if(n.type===`endpoint`){let e=Or(n,t);if(e)return e}else if(n.type===`error`)kr(n,t);else if(n.type===`tree`){let e=jr.evaluateTreeRule(n,t);if(e)return e}else throw new cr(`Unknown endpoint rule: ${n}`);throw new cr(`Rules evaluation failed`)},jr={evaluateRules:Ar,evaluateTreeRule:(e,t)=>{let{conditions:n,rules:r}=e,{result:i,referenceRecord:a}=Sr(n,t);if(i)return jr.evaluateRules(r,{...t,referenceRecord:{...t.referenceRecord,...a}})}},Mr=(e,t)=>{let{endpointParams:n,logger:r}=t,{parameters:i,rules:a}=e;t.logger?.debug?.(`${or} Initial EndpointParams: ${sr(n)}`);let o=Object.entries(i).filter(([,e])=>e.default!=null).map(([e,t])=>[e,t.default]);if(o.length>0)for(let[e,t]of o)n[e]=n[e]??t;let s=Object.entries(i).filter(([,e])=>e.required).map(([e])=>e);for(let e of s)if(n[e]==null)throw new cr(`Missing required parameter: '${e}'`);let c=Ar(a,{endpointParams:n,logger:r,referenceRecord:{}});return t.logger?.debug?.(`${or} Resolved endpoint: ${sr(c)}`),c},Nr=(e,t=!1)=>{if(t){for(let t of e.split(`.`))if(!Nr(t))return!1;return!0}return!(!ir(e)||e.length<3||e.length>63||e!==e.toLowerCase()||nr(e))},Pr=`:`,Fr=`/`,Ir=e=>{let t=e.split(Pr);if(t.length<6)return null;let[n,r,i,a,o,...s]=t;return n!==`arn`||r===``||i===``||s.join(Pr)===``?null:{partition:r,service:i,region:a,accountId:o,resourceId:s.map(e=>e.split(Fr)).flat()}},Lr={partitions:[{id:`aws`,outputs:{dnsSuffix:`amazonaws.com`,dualStackDnsSuffix:`api.aws`,implicitGlobalRegion:`us-east-1`,name:`aws`,supportsDualStack:!0,supportsFIPS:!0},regionRegex:`^(us|eu|ap|sa|ca|me|af|il|mx)\\-\\w+\\-\\d+$`,regions:{"af-south-1":{description:`Africa (Cape Town)`},"ap-east-1":{description:`Asia Pacific (Hong Kong)`},"ap-east-2":{description:`Asia Pacific (Taipei)`},"ap-northeast-1":{description:`Asia Pacific (Tokyo)`},"ap-northeast-2":{description:`Asia Pacific (Seoul)`},"ap-northeast-3":{description:`Asia Pacific (Osaka)`},"ap-south-1":{description:`Asia Pacific (Mumbai)`},"ap-south-2":{description:`Asia Pacific (Hyderabad)`},"ap-southeast-1":{description:`Asia Pacific (Singapore)`},"ap-southeast-2":{description:`Asia Pacific (Sydney)`},"ap-southeast-3":{description:`Asia Pacific (Jakarta)`},"ap-southeast-4":{description:`Asia Pacific (Melbourne)`},"ap-southeast-5":{description:`Asia Pacific (Malaysia)`},"ap-southeast-6":{description:`Asia Pacific (New Zealand)`},"ap-southeast-7":{description:`Asia Pacific (Thailand)`},"aws-global":{description:`aws global region`},"ca-central-1":{description:`Canada (Central)`},"ca-west-1":{description:`Canada West (Calgary)`},"eu-central-1":{description:`Europe (Frankfurt)`},"eu-central-2":{description:`Europe (Zurich)`},"eu-north-1":{description:`Europe (Stockholm)`},"eu-south-1":{description:`Europe (Milan)`},"eu-south-2":{description:`Europe (Spain)`},"eu-west-1":{description:`Europe (Ireland)`},"eu-west-2":{description:`Europe (London)`},"eu-west-3":{description:`Europe (Paris)`},"il-central-1":{description:`Israel (Tel Aviv)`},"me-central-1":{description:`Middle East (UAE)`},"me-south-1":{description:`Middle East (Bahrain)`},"mx-central-1":{description:`Mexico (Central)`},"sa-east-1":{description:`South America (Sao Paulo)`},"us-east-1":{description:`US East (N. Virginia)`},"us-east-2":{description:`US East (Ohio)`},"us-west-1":{description:`US West (N. California)`},"us-west-2":{description:`US West (Oregon)`}}},{id:`aws-cn`,outputs:{dnsSuffix:`amazonaws.com.cn`,dualStackDnsSuffix:`api.amazonwebservices.com.cn`,implicitGlobalRegion:`cn-northwest-1`,name:`aws-cn`,supportsDualStack:!0,supportsFIPS:!0},regionRegex:`^cn\\-\\w+\\-\\d+$`,regions:{"aws-cn-global":{description:`aws-cn global region`},"cn-north-1":{description:`China (Beijing)`},"cn-northwest-1":{description:`China (Ningxia)`}}},{id:`aws-eusc`,outputs:{dnsSuffix:`amazonaws.eu`,dualStackDnsSuffix:`api.amazonwebservices.eu`,implicitGlobalRegion:`eusc-de-east-1`,name:`aws-eusc`,supportsDualStack:!0,supportsFIPS:!0},regionRegex:`^eusc\\-(de)\\-\\w+\\-\\d+$`,regions:{"eusc-de-east-1":{description:`AWS European Sovereign Cloud (Germany)`}}},{id:`aws-iso`,outputs:{dnsSuffix:`c2s.ic.gov`,dualStackDnsSuffix:`api.aws.ic.gov`,implicitGlobalRegion:`us-iso-east-1`,name:`aws-iso`,supportsDualStack:!0,supportsFIPS:!0},regionRegex:`^us\\-iso\\-\\w+\\-\\d+$`,regions:{"aws-iso-global":{description:`aws-iso global region`},"us-iso-east-1":{description:`US ISO East`},"us-iso-west-1":{description:`US ISO WEST`}}},{id:`aws-iso-b`,outputs:{dnsSuffix:`sc2s.sgov.gov`,dualStackDnsSuffix:`api.aws.scloud`,implicitGlobalRegion:`us-isob-east-1`,name:`aws-iso-b`,supportsDualStack:!0,supportsFIPS:!0},regionRegex:`^us\\-isob\\-\\w+\\-\\d+$`,regions:{"aws-iso-b-global":{description:`aws-iso-b global region`},"us-isob-east-1":{description:`US ISOB East (Ohio)`},"us-isob-west-1":{description:`US ISOB West`}}},{id:`aws-iso-e`,outputs:{dnsSuffix:`cloud.adc-e.uk`,dualStackDnsSuffix:`api.cloud-aws.adc-e.uk`,implicitGlobalRegion:`eu-isoe-west-1`,name:`aws-iso-e`,supportsDualStack:!0,supportsFIPS:!0},regionRegex:`^eu\\-isoe\\-\\w+\\-\\d+$`,regions:{"aws-iso-e-global":{description:`aws-iso-e global region`},"eu-isoe-west-1":{description:`EU ISOE West`}}},{id:`aws-iso-f`,outputs:{dnsSuffix:`csp.hci.ic.gov`,dualStackDnsSuffix:`api.aws.hci.ic.gov`,implicitGlobalRegion:`us-isof-south-1`,name:`aws-iso-f`,supportsDualStack:!0,supportsFIPS:!0},regionRegex:`^us\\-isof\\-\\w+\\-\\d+$`,regions:{"aws-iso-f-global":{description:`aws-iso-f global region`},"us-isof-east-1":{description:`US ISOF EAST`},"us-isof-south-1":{description:`US ISOF SOUTH`}}},{id:`aws-us-gov`,outputs:{dnsSuffix:`amazonaws.com`,dualStackDnsSuffix:`api.aws`,implicitGlobalRegion:`us-gov-west-1`,name:`aws-us-gov`,supportsDualStack:!0,supportsFIPS:!0},regionRegex:`^us\\-gov\\-\\w+\\-\\d+$`,regions:{"aws-us-gov-global":{description:`aws-us-gov global region`},"us-gov-east-1":{description:`AWS GovCloud (US-East)`},"us-gov-west-1":{description:`AWS GovCloud (US-West)`}}}],version:`1.1`},Rr=``,zr=e=>{let{partitions:t}=Lr;for(let n of t){let{regions:t,outputs:r}=n;for(let[n,i]of Object.entries(t))if(n===e)return{...r,...i}}for(let n of t){let{regionRegex:t,outputs:r}=n;if(new RegExp(t).test(e))return{...r}}let n=t.find(e=>e.id===`aws`);if(!n)throw Error(`Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist.`);return{...n.outputs}},Br=()=>Rr,Vr={isVirtualHostableS3Bucket:Nr,parseArn:Ir,partition:zr};ar.aws=Vr;function Hr(e,t,n){return e.$source||={},e.$source[t]=n,e}function Ur(e,t,n){e.__aws_sdk_context?e.__aws_sdk_context.features||(e.__aws_sdk_context.features={}):e.__aws_sdk_context={features:{}},e.__aws_sdk_context.features[t]=n}var Wr;(function(e){e.STANDARD=`standard`,e.ADAPTIVE=`adaptive`})(Wr||={});var Gr=Wr.STANDARD,Kr=[`BandwidthLimitExceeded`,`EC2ThrottledException`,`LimitExceededException`,`PriorRequestNotComplete`,`ProvisionedThroughputExceededException`,`RequestLimitExceeded`,`RequestThrottled`,`RequestThrottledException`,`SlowDown`,`ThrottledException`,`Throttling`,`ThrottlingException`,`TooManyRequestsException`,`TransactionInProgressException`],qr=[`TimeoutError`,`RequestTimeout`,`RequestTimeoutException`],Jr=[500,502,503,504],Yr=[`ECONNRESET`,`ECONNREFUSED`,`EPIPE`,`ETIMEDOUT`],Xr=[`EHOSTUNREACH`,`ENETUNREACH`,`ENOTFOUND`],Zr=e=>e?.$retryable!==void 0,Qr=e=>e.$metadata?.clockSkewCorrected,$r=e=>{let t=new Set([`Failed to fetch`,`NetworkError when attempting to fetch resource`,`The Internet connection appears to be offline`,`Load failed`,`Network request failed`]);return e&&e instanceof TypeError?t.has(e.message):!1},ei=e=>e.$metadata?.httpStatusCode===429||Kr.includes(e.name)||e.$retryable?.throttling==1,ti=(e,t=0)=>Zr(e)||Qr(e)||qr.includes(e.name)||Yr.includes(e?.code||``)||Xr.includes(e?.code||``)||Jr.includes(e.$metadata?.httpStatusCode||0)||$r(e)||e.cause!==void 0&&t<=10&&ti(e.cause,t+1),ni=e=>{if(e.$metadata?.httpStatusCode!==void 0){let t=e.$metadata.httpStatusCode;return 500<=t&&t<=599&&!ti(e)}return!1},ri=class e{static setTimeoutFn=setTimeout;beta;minCapacity;minFillRate;scaleConstant;smooth;enabled=!1;availableTokens=0;lastMaxRate=0;measuredTxRate=0;requestCount=0;fillRate;lastThrottleTime;lastTimestamp=0;lastTxRateBucket;maxCapacity;timeWindow=0;constructor(e){this.beta=e?.beta??.7,this.minCapacity=e?.minCapacity??1,this.minFillRate=e?.minFillRate??.5,this.scaleConstant=e?.scaleConstant??.4,this.smooth=e?.smooth??.8,this.lastThrottleTime=this.getCurrentTimeInSeconds(),this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds()),this.fillRate=this.minFillRate,this.maxCapacity=this.minCapacity}async getSendToken(){return this.acquireTokenBucket(1)}updateClientSendingRate(e){let t;this.updateMeasuredRate();let n=e;if(n?.errorType===`THROTTLING`||ei(n?.error??e)){let e=this.enabled?Math.min(this.measuredTxRate,this.fillRate):this.measuredTxRate;this.lastMaxRate=e,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),t=this.cubicThrottle(e),this.enableTokenBucket()}else this.calculateTimeWindow(),t=this.cubicSuccess(this.getCurrentTimeInSeconds());let r=Math.min(t,2*this.measuredTxRate);this.updateTokenBucketRate(r)}getCurrentTimeInSeconds(){return Date.now()/1e3}async acquireTokenBucket(t){if(this.enabled){if(this.refillTokenBucket(),t>this.availableTokens){let n=(t-this.availableTokens)/this.fillRate*1e3;await new Promise(t=>e.setTimeoutFn(t,n))}this.availableTokens-=t}}refillTokenBucket(){let e=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=e;return}let t=(e-this.lastTimestamp)*this.fillRate;this.availableTokens=Math.min(this.maxCapacity,this.availableTokens+t),this.lastTimestamp=e}calculateTimeWindow(){this.timeWindow=this.getPrecise((this.lastMaxRate*(1-this.beta)/this.scaleConstant)**(1/3))}cubicThrottle(e){return this.getPrecise(e*this.beta)}cubicSuccess(e){return this.getPrecise(this.scaleConstant*(e-this.lastThrottleTime-this.timeWindow)**3+this.lastMaxRate)}enableTokenBucket(){this.enabled=!0}updateTokenBucketRate(e){this.refillTokenBucket(),this.fillRate=Math.max(e,this.minFillRate),this.maxCapacity=Math.max(e,this.minCapacity),this.availableTokens=Math.min(this.availableTokens,this.maxCapacity)}updateMeasuredRate(){let e=this.getCurrentTimeInSeconds(),t=Math.floor(e*2)/2;if(this.requestCount++,t>this.lastTxRateBucket){let e=this.requestCount/(t-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(e*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=t}}getPrecise(e){return parseFloat(e.toFixed(8))}},ii=20*1e3,ai=`amz-sdk-invocation-id`,oi=`amz-sdk-request`,si=class e{static v2026=typeof process<`u`&&{}?.SMITHY_NEW_RETRIES_2026===`true`;static delay(){return e.v2026?50:100}static throttlingDelay(){return e.v2026?1e3:500}static cost(){return e.v2026?14:5}static throttlingCost(){return e.v2026?5:10}static modifiedCostType(){return e.v2026?`THROTTLING`:`TRANSIENT`}},ci=class{x=si.delay();computeNextBackoffDelay(e){let t=Math.random()*Math.min(this.x*2**e,ii);return Math.floor(t)}setDelayBase(e){this.x=e}},li=class{delay;count;cost;longPoll;constructor(e,t,n,r){this.delay=e,this.count=t,this.cost=n,this.longPoll=r}getRetryCount(){return this.count}getRetryDelay(){return Math.min(ii,this.delay)}getRetryCost(){return this.cost}isLongPoll(){return this.longPoll}},ui=class{mode=Wr.STANDARD;capacity=500;retryBackoffStrategy;maxAttemptsProvider;baseDelay;constructor(e){typeof e==`number`?this.maxAttemptsProvider=async()=>e:typeof e==`function`?this.maxAttemptsProvider=e:e&&typeof e==`object`&&(this.maxAttemptsProvider=async()=>e.maxAttempts,this.baseDelay=e.baseDelay,this.retryBackoffStrategy=e.backoff),this.maxAttemptsProvider??=async()=>3,this.baseDelay??=si.delay(),this.retryBackoffStrategy??=new ci}async acquireInitialRetryToken(e){return new li(si.delay(),0,void 0,si.v2026&&e.includes(`:longpoll`))}async refreshRetryTokenForRetry(e,t){let n=await this.getMaxAttempts(),r=this.shouldRetry(e,t,n);if(r||e.isLongPoll?.()){let n=t.errorType;this.retryBackoffStrategy.setDelayBase(n===`THROTTLING`?si.throttlingDelay():this.baseDelay);let i=this.retryBackoffStrategy.computeNextBackoffDelay(e.getRetryCount()),a=i;if(t.retryAfterHint instanceof Date&&(a=Math.max(i,Math.min(t.retryAfterHint.getTime()-Date.now(),i+5e3))),r){let t=this.getCapacityCost(n);return this.capacity-=t,new li(a,e.getRetryCount()+1,t,e.isLongPoll?.()??!1)}else throw Object.assign(Error(`No retry token available`),{$backoff:si.v2026?a:0})}throw Error(`No retry token available`)}recordSuccess(e){this.capacity=Math.min(500,this.capacity+(e.getRetryCost()??1))}getCapacity(){return this.capacity}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch{return console.warn(`Max attempts provider could not resolve. Using default of 3`),3}}shouldRetry(e,t,n){return e.getRetryCount()+1=this.getCapacityCost(t.errorType)&&this.isRetryableError(t.errorType)}getCapacityCost(e){return e===si.modifiedCostType()?si.throttlingCost():si.cost()}isRetryableError(e){return e===`THROTTLING`||e===`TRANSIENT`}async maxAttempts(){return this.maxAttemptsProvider()}},di=class{mode=Wr.ADAPTIVE;rateLimiter;standardRetryStrategy;constructor(e,t){let{rateLimiter:n}=t??{};this.rateLimiter=n??new ri,this.standardRetryStrategy=t?new ui({maxAttempts:typeof e==`number`?e:3,...t}):new ui(e)}async acquireInitialRetryToken(e){return await this.rateLimiter.getSendToken(),this.standardRetryStrategy.acquireInitialRetryToken(e)}async refreshRetryTokenForRetry(e,t){return this.rateLimiter.updateClientSendingRate(t),this.standardRetryStrategy.refreshRetryTokenForRetry(e,t)}recordSuccess(e){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(e)}async maxAttemptsProvider(){return this.standardRetryStrategy.maxAttempts()}},fi=/\d{12}\.ddb/;async function pi(e,t,n){if(n.request?.headers?.[`smithy-protocol`]===`rpc-v2-cbor`&&Ur(e,`PROTOCOL_RPC_V2_CBOR`,`M`),typeof t.retryStrategy==`function`){let n=await t.retryStrategy();if(typeof n.mode==`string`)switch(n.mode){case Wr.ADAPTIVE:Ur(e,`RETRY_MODE_ADAPTIVE`,`F`);break;case Wr.STANDARD:Ur(e,`RETRY_MODE_STANDARD`,`E`);break}}if(typeof t.accountIdEndpointMode==`function`){let n=e.endpointV2;switch(String(n?.url?.hostname).match(fi)&&Ur(e,`ACCOUNT_ID_ENDPOINT`,`O`),await t.accountIdEndpointMode?.()){case`disabled`:Ur(e,`ACCOUNT_ID_MODE_DISABLED`,`Q`);break;case`preferred`:Ur(e,`ACCOUNT_ID_MODE_PREFERRED`,`P`);break;case`required`:Ur(e,`ACCOUNT_ID_MODE_REQUIRED`,`R`);break}}let r=e.__smithy_context?.selectedHttpAuthScheme?.identity;if(r?.$source){let t=r;t.accountId&&Ur(e,`RESOLVED_ACCOUNT_ID`,`T`);for(let[n,r]of Object.entries(t.$source??{}))Ur(e,n,r)}}var mi=`user-agent`,hi=`x-amz-user-agent`,gi=/[^!$%&'*+\-.^_`|~\w]/g,_i=/[^!$%&'*+\-.^_`|~\w#]/g,vi=1024;function yi(e){let t=``;for(let n in e){let r=e[n];if(t.length+r.length+1<=vi){t.length?t+=`,`+r:t+=r;continue}break}return t}var bi=e=>(t,n)=>async r=>{let{request:a}=r;if(!i.isInstance(a))return t(r);let{headers:o}=a,s=n?.userAgent?.map(xi)||[],c=(await e.defaultUserAgentProvider()).map(xi);await pi(n,e,r);let l=n;c.push(`m/${yi(Object.assign({},n.__smithy_context?.features,l.__aws_sdk_context?.features))}`);let u=e?.customUserAgent?.map(xi)||[],d=await e.userAgentAppId();d&&c.push(xi([`app`,`${d}`]));let ee=Br(),te=(ee?[ee]:[]).concat([...c,...s,...u]).join(` `),f=[...c.filter(e=>e.startsWith(`aws-sdk-`)),...u].join(` `);return e.runtime===`browser`?o[hi]=te:(f&&(o[hi]=o[`x-amz-user-agent`]?`${o[mi]} ${f}`:f),o[mi]=te),t({...r,request:a})},xi=e=>{let t=e[0].split(`/`).map(e=>e.replace(gi,`-`)).join(`/`),n=e[1]?.replace(_i,`-`),r=t.indexOf(`/`),i=t.substring(0,r),a=t.substring(r+1);return i===`api`&&(a=a.toLowerCase()),[i,a,n].filter(e=>e&&e.length>0).reduce((e,t,n)=>{switch(n){case 0:return t;case 1:return`${e}/${t}`;default:return`${e}#${t}`}},``)},Si={name:`getUserAgentMiddleware`,step:`build`,priority:`low`,tags:[`SET_USER_AGENT`,`USER_AGENT`],override:!0},Ci=e=>({applyToStack:t=>{t.add(bi(e),Si)}}),wi=new Set,Ti=(e,t=ir)=>{if(!wi.has(e)&&!t(e))if(e===`*`)console.warn(`@smithy/config-resolver WARN - Please use the caller region instead of "*". See "sigv4a" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.`);else throw Error(`Region not accepted: region="${e}" is not a valid hostname component.`);else wi.add(e)},Ei=e=>typeof e==`string`&&(e.startsWith(`fips-`)||e.endsWith(`-fips`)),Di=e=>Ei(e)?[`fips-aws-global`,`aws-fips`].includes(e)?`us-east-1`:e.replace(/fips-(dkr-|prod-)?|-fips/,``):e,Oi=e=>{let{region:t,useFipsEndpoint:n}=e;if(!t)throw Error(`Region is missing`);return Object.assign(e,{region:async()=>{let e=Di(typeof t==`function`?await t():t);return Ti(e),e},useFipsEndpoint:async()=>Ei(typeof t==`string`?t:await t())?!0:typeof n==`function`?n():Promise.resolve(!!n)})},ki=`content-length`;function Ai(e){return t=>async n=>{let r=n.request;if(i.isInstance(r)){let{body:t,headers:n}=r;if(t&&Object.keys(n).map(e=>e.toLowerCase()).indexOf(ki)===-1)try{let n=e(t);r.headers={...r.headers,[ki]:String(n)}}catch{}}return t({...n,request:r})}}var ji={step:`build`,tags:[`SET_CONTENT_LENGTH`,`CONTENT_LENGTH`],name:`contentLengthMiddleware`,override:!0},Mi=e=>({applyToStack:t=>{t.add(Ai(e.bodyLengthChecker),ji)}}),Ni=async e=>{let t=e?.Bucket||``;if(typeof e.Bucket==`string`&&(e.Bucket=t.replace(/#/g,`%23`).replace(/\?/g,`%3F`)),Ri(t)){if(e.ForcePathStyle===!0)throw Error(`Path-style addressing cannot be used with ARN buckets`)}else (!Li(t)||t.indexOf(`.`)!==-1&&!String(e.Endpoint).startsWith(`http:`)||t.toLowerCase()!==t||t.length<3)&&(e.ForcePathStyle=!0);return e.DisableMultiRegionAccessPoints&&(e.disableMultiRegionAccessPoints=!0,e.DisableMRAP=!0),e},Pi=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/,Fi=/(\d+\.){3}\d+/,Ii=/\.\./,Li=e=>Pi.test(e)&&!Fi.test(e)&&!Ii.test(e),Ri=e=>{let[t,n,r,,,i]=e.split(`:`),a=t===`arn`&&e.split(`:`).length>=6,o=!!(a&&n&&r&&i);if(a&&!o)throw Error(`Invalid ARN: ${e} was an invalid ARN.`);return o},zi=(e,t,n,r=!1)=>{let i=async()=>{let i;return i=r?n.clientContextParams?.[e]??n[e]??n[t]:n[e]??n[t],typeof i==`function`?i():i};return e===`credentialScope`||t===`CredentialScope`?async()=>{let e=typeof n.credentials==`function`?await n.credentials():n.credentials;return e?.credentialScope??e?.CredentialScope}:e===`accountId`||t===`AccountId`?async()=>{let e=typeof n.credentials==`function`?await n.credentials():n.credentials;return e?.accountId??e?.AccountId}:e===`endpoint`||t===`endpoint`?async()=>{if(n.isCustomEndpoint===!1)return;let e=await i();if(e&&typeof e==`object`){if(`url`in e)return e.url.href;if(`hostname`in e){let{protocol:t,hostname:n,port:r,path:i}=e;return`${t}//${n}${r?`:`+r:``}${i}`}}return e}:i},Bi=async e=>void 0,Vi=e=>{if(typeof e==`object`){if(`url`in e){let t=gt(e.url);if(e.headers){t.headers={};for(let[n,r]of Object.entries(e.headers))t.headers[n.toLowerCase()]=r.join(`, `)}return t}return e}return gt(e)},Hi=async(e,t,n,r)=>{if(!n.isCustomEndpoint){let e;e=n.serviceConfiguredEndpoint?await n.serviceConfiguredEndpoint():await Bi(n.serviceId),e&&(n.endpoint=()=>Promise.resolve(Vi(e)),n.isCustomEndpoint=!0)}let i=await Ui(e,t,n);if(typeof n.endpointProvider!=`function`)throw Error(`config.endpointProvider is not set.`);let a=n.endpointProvider(i,r);if(n.isCustomEndpoint&&n.endpoint){let e=await n.endpoint();if(e?.headers){a.headers??={};for(let[t,n]of Object.entries(e.headers))a.headers[t]=Array.isArray(n)?n:[n]}}return a},Ui=async(e,t,n)=>{let r={},i=t?.getEndpointParameterInstructions?.()||{};for(let[t,a]of Object.entries(i))switch(a.type){case`staticContextParams`:r[t]=a.value;break;case`contextParams`:r[t]=e[a.name];break;case`clientContextParams`:case`builtInParams`:r[t]=await zi(a.name,t,n,a.type!==`builtInParams`)();break;case`operationContextParams`:r[t]=a.get(e);break;default:throw Error(`Unrecognized endpoint parameter instruction: `+JSON.stringify(a))}return Object.keys(i).length===0&&Object.assign(r,n),String(n.serviceId).toLowerCase()===`s3`&&await Ni(r),r},Wi=({config:e,instructions:t})=>(n,r)=>async i=>{e.isCustomEndpoint&&qn(r,`ENDPOINT_OVERRIDE`,`N`);let a=await Hi(i.input,{getEndpointParameterInstructions(){return t}},{...e},r);r.endpointV2=a,r.authSchemes=a.properties?.authSchemes;let o=r.authSchemes?.[0];if(o){r.signing_region=o.signingRegion,r.signing_service=o.signingName;let e=_e(r)?.selectedHttpAuthScheme?.httpAuthOption;e&&(e.signingProperties=Object.assign(e.signingProperties||{},{signing_region:o.signingRegion,signingRegion:o.signingRegion,signing_service:o.signingName,signingName:o.signingName,signingRegionSet:o.signingRegionSet},o.properties))}return n({...i})},Gi={step:`serialize`,tags:[`ENDPOINT_PARAMETERS`,`ENDPOINT_V2`,`ENDPOINT`],name:`endpointV2Middleware`,override:!0,relation:`before`,toMiddleware:{name:`serializerMiddleware`,step:`serialize`,tags:[`SERIALIZER`],override:!0}.name},Ki=(e,t)=>({applyToStack:n=>{n.addRelativeTo(Wi({config:e,instructions:t}),Gi)}}),qi=e=>{let t=e.tls??!0,{endpoint:n,useDualstackEndpoint:r,useFipsEndpoint:i}=e,a=Object.assign(e,{endpoint:n==null?void 0:async()=>Vi(await f(n)()),tls:t,isCustomEndpoint:!!n,useDualstackEndpoint:f(r??!1),useFipsEndpoint:f(i??!1)}),o;return a.serviceConfiguredEndpoint=async()=>(e.serviceId&&!o&&(o=Bi(e.serviceId)),o),a},Ji=e=>e instanceof Error?e:e instanceof Object?Object.assign(Error(),e):Error(typeof e==`string`?e:`AWS SDK error wrapper for ${e}`),Yi=e=>{let{retryStrategy:t,retryMode:n}=e,r=f(e.maxAttempts??3),i=t?Promise.resolve(t):void 0,a=async()=>await f(n)()===Wr.ADAPTIVE?new di(r):new ui(r);return Object.assign(e,{maxAttempts:r,retryStrategy:()=>i??=a()})},Xi=(e,t)=>{let n=[];if(e&&n.push(e),t)for(let e of t)n.push(e);return n},Zi=(e,t)=>`${e||`anonymous`}${t&&t.length>0?` (a.k.a. ${t.join(`,`)})`:``}`,Qi=()=>{let e=[],t=[],n=!1,r=new Set,i=e=>e.sort((e,t)=>$i[t.step]-$i[e.step]||ea[t.priority||`normal`]-ea[e.priority||`normal`]),a=n=>{let i=!1,a=e=>{let t=Xi(e.name,e.aliases);if(t.includes(n)){i=!0;for(let e of t)r.delete(e);return!1}return!0};return e=e.filter(a),t=t.filter(a),i},o=n=>{let i=!1,a=e=>{if(e.middleware===n){i=!0;for(let t of Xi(e.name,e.aliases))r.delete(t);return!1}return!0};return e=e.filter(a),t=t.filter(a),i},s=n=>(e.forEach(e=>{n.add(e.middleware,{...e})}),t.forEach(e=>{n.addRelativeTo(e.middleware,{...e})}),n.identifyOnResolve?.(u.identifyOnResolve()),n),c=e=>{let t=[];return e.before.forEach(e=>{e.before.length===0&&e.after.length===0?t.push(e):t.push(...c(e))}),t.push(e),e.after.reverse().forEach(e=>{e.before.length===0&&e.after.length===0?t.push(e):t.push(...c(e))}),t},l=(n=!1)=>{let r=[],a=[],o={};return e.forEach(e=>{let t={...e,before:[],after:[]};for(let e of Xi(t.name,t.aliases))o[e]=t;r.push(t)}),t.forEach(e=>{let t={...e,before:[],after:[]};for(let e of Xi(t.name,t.aliases))o[e]=t;a.push(t)}),a.forEach(e=>{if(e.toMiddleware){let t=o[e.toMiddleware];if(t===void 0){if(n)return;throw Error(`${e.toMiddleware} is not found when adding ${Zi(e.name,e.aliases)} middleware ${e.relation} ${e.toMiddleware}`)}e.relation===`after`&&t.after.push(e),e.relation===`before`&&t.before.push(e)}}),i(r).map(c).reduce((e,t)=>(e.push(...t),e),[])},u={add:(t,n={})=>{let{name:i,override:a,aliases:o}=n,s={step:`initialize`,priority:`normal`,middleware:t,...n},c=Xi(i,o);if(c.length>0){if(c.some(e=>r.has(e))){if(!a)throw Error(`Duplicate middleware name '${Zi(i,o)}'`);for(let t of c){let n=e.findIndex(e=>e.name===t||e.aliases?.some(e=>e===t));if(n===-1)continue;let r=e[n];if(r.step!==s.step||s.priority!==r.priority)throw Error(`"${Zi(r.name,r.aliases)}" middleware with ${r.priority} priority in ${r.step} step cannot be overridden by "${Zi(i,o)}" middleware with ${s.priority} priority in ${s.step} step.`);e.splice(n,1)}}for(let e of c)r.add(e)}e.push(s)},addRelativeTo:(e,n)=>{let{name:i,override:a,aliases:o}=n,s={middleware:e,...n},c=Xi(i,o);if(c.length>0){if(c.some(e=>r.has(e))){if(!a)throw Error(`Duplicate middleware name '${Zi(i,o)}'`);for(let e of c){let n=t.findIndex(t=>t.name===e||t.aliases?.some(t=>t===e));if(n===-1)continue;let r=t[n];if(r.toMiddleware!==s.toMiddleware||r.relation!==s.relation)throw Error(`"${Zi(r.name,r.aliases)}" middleware ${r.relation} "${r.toMiddleware}" middleware cannot be overridden by "${Zi(i,o)}" middleware ${s.relation} "${s.toMiddleware}" middleware.`);t.splice(n,1)}}for(let e of c)r.add(e)}t.push(s)},clone:()=>s(Qi()),use:e=>{e.applyToStack(u)},remove:e=>typeof e==`string`?a(e):o(e),removeByTag:n=>{let i=!1,a=e=>{let{tags:t,name:a,aliases:o}=e;if(t&&t.includes(n)){let e=Xi(a,o);for(let t of e)r.delete(t);return i=!0,!1}return!0};return e=e.filter(a),t=t.filter(a),i},concat:e=>{let t=s(Qi());return t.use(e),t.identifyOnResolve(n||t.identifyOnResolve()||(e.identifyOnResolve?.()??!1)),t},applyToStack:s,identify:()=>l(!0).map(e=>{let t=e.step??e.relation+` `+e.toMiddleware;return Zi(e.name,e.aliases)+` - `+t}),identifyOnResolve(e){return typeof e==`boolean`&&(n=e),n},resolve:(e,t)=>{for(let n of l().map(e=>e.middleware).reverse())e=n(e,t);return n&&console.log(u.identify()),e}};return u},$i={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},ea={high:3,normal:2,low:1},ta=class{config;middlewareStack=Qi();initConfig;handlers;constructor(e){this.config=e;let{protocol:t,protocolSettings:n}=e;n&&typeof t==`function`&&(e.protocol=new t(n))}send(e,t,n){let r=typeof t==`function`?void 0:t,i=typeof t==`function`?t:n,a=r===void 0&&this.config.cacheMiddleware===!0,o;if(a){this.handlers||=new WeakMap;let t=this.handlers;t.has(e.constructor)?o=t.get(e.constructor):(o=e.resolveMiddleware(this.middlewareStack,this.config,r),t.set(e.constructor,o))}else delete this.handlers,o=e.resolveMiddleware(this.middlewareStack,this.config,r);if(i)o(e).then(e=>i(null,e.output),e=>i(e)).catch(()=>{});else return o(e).then(e=>e.output)}destroy(){this.config?.requestHandler?.destroy?.(),delete this.handlers}},na=`***SensitiveInformation***`;function ra(e,t){if(t==null)return t;let n=p.of(e);if(n.getMergedTraits().sensitive)return na;if(n.isListSchema()){if(n.getValueSchema().getMergedTraits().sensitive)return na}else if(n.isMapSchema()){if(n.getKeySchema().getMergedTraits().sensitive||n.getValueSchema().getMergedTraits().sensitive)return na}else if(n.isStructSchema()&&typeof t==`object`){let e=t,r={};for(let[t,i]of n.structIterator())e[t]!=null&&(r[t]=ra(i,e[t]));return r}return t}var ia=class{middlewareStack=Qi();schema;static classBuilder(){return new aa}resolveMiddlewareWithContext(e,t,n,{middlewareFn:r,clientName:i,commandName:a,inputFilterSensitiveLog:o,outputFilterSensitiveLog:s,smithyContext:c,additionalContext:l,CommandCtor:u}){for(let i of r.bind(this)(u,e,t,n))this.middlewareStack.use(i);let d=e.concat(this.middlewareStack),{logger:ee}=t,te={logger:ee,clientName:i,commandName:a,inputFilterSensitiveLog:o,outputFilterSensitiveLog:s,[he]:{commandInstance:this,...c},...l},{requestHandler:f}=t;return d.resolve(e=>f.handle(e.request,n||{}),te)}},aa=class{_init=()=>{};_ep={};_middlewareFn=()=>[];_commandName=``;_clientName=``;_additionalContext={};_smithyContext={};_inputFilterSensitiveLog=void 0;_outputFilterSensitiveLog=void 0;_serializer=null;_deserializer=null;_operationSchema;init(e){this._init=e}ep(e){return this._ep=e,this}m(e){return this._middlewareFn=e,this}s(e,t,n={}){return this._smithyContext={service:e,operation:t,...n},this}c(e={}){return this._additionalContext=e,this}n(e,t){return this._clientName=e,this._commandName=t,this}f(e=e=>e,t=e=>e){return this._inputFilterSensitiveLog=e,this._outputFilterSensitiveLog=t,this}ser(e){return this._serializer=e,this}de(e){return this._deserializer=e,this}sc(e){return this._operationSchema=e,this._smithyContext.operationSchema=e,this}build(){let e=this,t;return t=class extends ia{input;static getEndpointParameterInstructions(){return e._ep}constructor(...[t]){super(),this.input=t??{},e._init(this),this.schema=e._operationSchema}resolveMiddleware(n,r,i){let a=e._operationSchema,o=a?.[4]??a?.input,s=a?.[5]??a?.output;return this.resolveMiddlewareWithContext(n,r,i,{CommandCtor:t,middlewareFn:e._middlewareFn,clientName:e._clientName,commandName:e._commandName,inputFilterSensitiveLog:e._inputFilterSensitiveLog??(a?ra.bind(null,o):e=>e),outputFilterSensitiveLog:e._outputFilterSensitiveLog??(a?ra.bind(null,s):e=>e),smithyContext:e._smithyContext,additionalContext:e._additionalContext})}serialize=e._serializer;deserialize=e._deserializer}}},oa=class e extends Error{$fault;$response;$retryable;$metadata;constructor(e){super(e.message),Object.setPrototypeOf(this,Object.getPrototypeOf(this).constructor.prototype),this.name=e.name,this.$fault=e.$fault,this.$metadata=e.$metadata}static isInstance(t){if(!t)return!1;let n=t;return e.prototype.isPrototypeOf(n)||!!n.$fault&&!!n.$metadata&&(n.$fault===`client`||n.$fault===`server`)}static[Symbol.hasInstance](t){if(!t)return!1;let n=t;return this===e?e.isInstance(t):e.isInstance(t)?n.name&&this.name?this.prototype.isPrototypeOf(t)||n.name===this.name:this.prototype.isPrototypeOf(t):!1}},sa=(e,t={})=>(Object.entries(t).filter(([,e])=>e!==void 0).forEach(([t,n])=>{(e[t]==null||e[t]===``)&&(e[t]=n)}),e.message=e.message||e.Message||`UnknownError`,delete e.Message,e),ca=e=>{switch(e){case`standard`:return{retryMode:`standard`,connectionTimeout:3100};case`in-region`:return{retryMode:`standard`,connectionTimeout:1100};case`cross-region`:return{retryMode:`standard`,connectionTimeout:3100};case`mobile`:return{retryMode:`standard`,connectionTimeout:3e4};default:return{}}},la=Object.values(me),ua=e=>{let t=[];for(let n in me){let r=me[n];e[r]!==void 0&&t.push({algorithmId:()=>r,checksumConstructor:()=>e[r]})}for(let[n,r]of Object.entries(e.checksumAlgorithms??{}))t.push({algorithmId:()=>n,checksumConstructor:()=>r});return{addChecksumAlgorithm(n){e.checksumAlgorithms=e.checksumAlgorithms??{};let r=n.algorithmId(),i=n.checksumConstructor();la.includes(r)?e.checksumAlgorithms[r.toUpperCase()]=i:e.checksumAlgorithms[r]=i,t.push(n)},checksumAlgorithms(){return t}}},da=e=>{let t={};return e.checksumAlgorithms().forEach(e=>{let n=e.algorithmId();la.includes(n)&&(t[n]=e.checksumConstructor())}),t},fa=e=>({setRetryStrategy(t){e.retryStrategy=t},retryStrategy(){return e.retryStrategy}}),pa=e=>{let t={};return t.retryStrategy=e.retryStrategy(),t},ma=e=>Object.assign(ua(e),fa(e)),ha=e=>Object.assign(da(e),pa(e)),ga=e=>{let t=`#text`;for(let n in e)e.hasOwnProperty(n)&&e[n][t]!==void 0?e[n]=e[n][t]:typeof e[n]==`object`&&e[n]!==null&&(e[n]=ga(e[n]));return e},_a=class{trace(){}debug(){}info(){}warn(){}error(){}},va=e=>e?.body instanceof ReadableStream;function ya(e,t){if(ge.isInstance(e))for(let n of Object.keys(e.headers)){let r=n.toLowerCase();if(r===`retry-after`){let r=e.headers[n],i=NaN;if(r.endsWith(`GMT`))try{i=(Qt(r).getTime()-Date.now())/1e3}catch(e){t?.trace?.(`Failed to parse retry-after header`),t?.trace?.(e)}else r.match(/ GMT, ((\d+)|(\d+\.\d+))$/)?i=Number(r.match(/ GMT, ([\d.]+)$/)?.[1]):r.match(/^((\d+)|(\d+\.\d+))$/)?i=Number(r):Date.parse(r)>=Date.now()&&(i=(Date.parse(r)-Date.now())/1e3);return isNaN(i)?void 0:new Date(Date.now()+i*1e3)}else if(r===`x-amz-retry-after`){let r=e.headers[n],i=Number(r);if(isNaN(i)){t?.trace?.(`Failed to parse x-amz-retry-after=${r}`);return}return new Date(Date.now()+i)}}}var ba=e=>(t,n)=>async r=>{let a=await e.retryStrategy(),o=await e.maxAttempts();if(Sa(a)){a=a;let s=await a.acquireInitialRetryToken((n.partition_id??``)+(n.__retryLongPoll?`:longpoll`:``)),c=Error(),l=0,u=0,{request:d}=r,ee=i.isInstance(d);for(ee&&(d.headers[ai]=pn());;)try{ee&&(d.headers[oi]=`attempt=${l+1}; max=${o}`);let{response:e,output:n}=await t(r);return a.recordSuccess(s),n.$metadata.attempts=l+1,n.$metadata.totalRetryDelay=u,{response:e,output:n}}catch(t){let r=Ca(t,e.logger);if(c=Ji(t),ee&&va(d))throw(n.logger instanceof _a?console:n.logger)?.warn(`An error was encountered in a non-retryable streaming request.`),c;try{s=await a.refreshRetryTokenForRetry(s,r)}catch(e){throw typeof e.$backoff==`number`&&await xa(e.$backoff),c.$metadata||={},c.$metadata.attempts=l+1,c.$metadata.totalRetryDelay=u,c}l=s.getRetryCount();let i=s.getRetryDelay();u+=i,await xa(i)}}else return a=a,a?.mode&&(n.userAgent=[...n.userAgent||[],[`cfg/retry-mode`,a.mode]]),a.retry(t,r)},xa=e=>new Promise(t=>setTimeout(t,e)),Sa=e=>e.acquireInitialRetryToken!==void 0&&e.refreshRetryTokenForRetry!==void 0&&e.recordSuccess!==void 0,Ca=(e,t)=>{let n={error:e,errorType:wa(e)},r=ya(e.$response,t);return r&&(n.retryAfterHint=r),n},wa=e=>ei(e)?`THROTTLING`:ti(e)?`TRANSIENT`:ni(e)?`SERVER_ERROR`:`CLIENT_ERROR`,Ta={name:`retryMiddleware`,tags:[`RETRY`],step:`finalizeRequest`,priority:`high`,override:!0},Ea=e=>({applyToStack:t=>{t.add(ba(e),Ta)}}),Da=e=>ge.isInstance(e)?e.headers?.date??e.headers?.Date:void 0,Oa=e=>new Date(Date.now()+e),ka=(e,t)=>Math.abs(Oa(t).getTime()-e)>=3e5,Aa=(e,t)=>{let n=Date.parse(e);return ka(n,t)?n-Date.now():t},ja=(e,t)=>{if(!t)throw Error(`Property \`${e}\` is not resolved for AWS SDK SigV4Auth`);return t},Ma=async e=>{let t=ja(`context`,e.context),n=ja(`config`,e.config),r=t.endpointV2?.properties?.authSchemes?.[0];return{config:n,signer:await ja(`signer`,n.signer)(r),signingRegion:e?.signingRegion,signingRegionSet:e?.signingRegionSet,signingName:e?.signingName}},Na=class{async sign(e,t,n){if(!i.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let r=await Ma(n),{config:a,signer:o}=r,{signingRegion:s,signingName:c}=r,l=n.context;if(l?.authSchemes?.length??!1){let[e,t]=l.authSchemes;e?.name===`sigv4a`&&t?.name===`sigv4`&&(s=t?.signingRegion??s,c=t?.signingName??c)}return await o.sign(e,{signingDate:Oa(a.systemClockOffset),signingRegion:s,signingService:c})}errorHandler(e){return t=>{let n=t.ServerTime??Da(t.$response);if(n){let r=ja(`config`,e.config),i=r.systemClockOffset;r.systemClockOffset=Aa(n,r.systemClockOffset),r.systemClockOffset!==i&&t.$metadata&&(t.$metadata.clockSkewCorrected=!0)}throw t}}successHandler(e,t){let n=Da(e);if(n){let e=ja(`config`,t.config);e.systemClockOffset=Aa(n,e.systemClockOffset)}}},Pa=class extends Na{async sign(e,t,n){if(!i.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let{config:r,signer:a,signingRegion:o,signingRegionSet:s,signingName:c}=await Ma(n),l=(await r.sigv4aSigningRegionSet?.()??s??[o]).join(`,`);return await a.sign(e,{signingDate:Oa(r.systemClockOffset),signingRegion:l,signingService:c})}},Fa=(e,t,n)=>{let r,i,a,o=!1,s=async()=>{i||=e();try{r=await i,a=!0,o=!1}finally{i=void 0}return r};return t===void 0?async e=>((!a||e?.forceRefresh)&&(r=await s()),r):async e=>((!a||e?.forceRefresh)&&(r=await s()),o?r:n&&!n(r)?(o=!0,r):(t(r)&&await s(),r))},Ia=e=>(e.sigv4aSigningRegionSet=ze(e.sigv4aSigningRegionSet),e),La=e=>{let t=e.credentials,n=!!e.credentials,r;Object.defineProperty(e,`credentials`,{set(i){i&&i!==t&&i!==r&&(n=!0),t=i;let a=za(e,Ra(e,{credentials:t,credentialDefaultProvider:e.credentialDefaultProvider}));if(n&&!a.attributed){let e=typeof t==`object`&&!!t;r=async t=>{let n=await a(t);return e&&(!n.$source||Object.keys(n.$source).length===0)?Hr(n,`CREDENTIALS_CODE`,`e`):n},r.memoized=a.memoized,r.configBound=a.configBound,r.attributed=!0}else r=a},get(){return r},enumerable:!0,configurable:!0}),e.credentials=t;let{signingEscapePath:i=!0,systemClockOffset:a=e.systemClockOffset||0,sha256:o}=e,s;return s=e.signer?ze(e.signer):e.regionInfoProvider?()=>ze(e.region)().then(async t=>[await e.regionInfoProvider(t,{useFipsEndpoint:await e.useFipsEndpoint(),useDualstackEndpoint:await e.useDualstackEndpoint()})||{},t]).then(([t,n])=>{let{signingRegion:r,signingService:a}=t;e.signingRegion=e.signingRegion||r||n,e.signingName=e.signingName||a||e.serviceId;let s={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:o,uriEscapePath:i};return new(e.signerConstructor||re)(s)}):async t=>{t=Object.assign({},{name:`sigv4`,signingName:e.signingName||e.defaultSigningName,signingRegion:await ze(e.region)(),properties:{}},t);let n=t.signingRegion,r=t.signingName;e.signingRegion=e.signingRegion||n,e.signingName=e.signingName||r||e.serviceId;let a={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:o,uriEscapePath:i};return new(e.signerConstructor||re)(a)},Object.assign(e,{systemClockOffset:a,signingEscapePath:i,signer:s})};function Ra(e,{credentials:t,credentialDefaultProvider:n}){let r;return r=t?t?.memoized?t:Zn(t,Yn,Xn):n?ze(n(Object.assign({},e,{parentClientConfig:e}))):async()=>{throw Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.")},r.memoized=!0,r}function za(e,t){if(t.configBound)return t;let n=async n=>t({...n,callerClientConfig:e});return n.memoized=t.memoized,n.configBound=!0,n}var Ba=async(e,t,n)=>({operation:_e(t).operation,region:await f(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function Va(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`ec2`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var Ha=e=>{let t=[];switch(e.operation){default:t.push(Va(e))}return t},Ua=e=>{let t=La(e);return Object.assign(t,{authSchemePreference:f(e.authSchemePreference??[])})},Wa=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:`ec2`}),Ga={UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},Ka={name:`@aws-sdk/client-ec2`,description:`AWS SDK for JavaScript Ec2 Client for Node.js, Browser and React Native`,version:`3.1029.0`,scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline client-ec2`,"build:es":`tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`tsc -p tsconfig.types.json`,"build:types:downlevel":`downlevel-dts dist-types dist-types/ts3.4`,clean:`premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service --solo ec2`,test:`yarn g:vitest run --passWithNoTests`,"test:index":`tsc --noEmit ./test/index-types.ts && node ./test/index-objects.spec.mjs`,"test:integration":`yarn g:vitest run --passWithNoTests -c vitest.config.integ.mts`,"test:integration:watch":`yarn g:vitest run --passWithNoTests -c vitest.config.integ.mts`,"test:watch":`yarn g:vitest watch --passWithNoTests`},main:`./dist-cjs/index.js`,types:`./dist-types/index.d.ts`,module:`./dist-es/index.js`,sideEffects:!1,dependencies:{"@aws-crypto/sha256-browser":`5.2.0`,"@aws-crypto/sha256-js":`5.2.0`,"@aws-sdk/core":`^3.973.27`,"@aws-sdk/credential-provider-node":`^3.972.30`,"@aws-sdk/middleware-host-header":`^3.972.9`,"@aws-sdk/middleware-logger":`^3.972.9`,"@aws-sdk/middleware-recursion-detection":`^3.972.10`,"@aws-sdk/middleware-sdk-ec2":`^3.972.19`,"@aws-sdk/middleware-user-agent":`^3.972.29`,"@aws-sdk/region-config-resolver":`^3.972.11`,"@aws-sdk/types":`^3.973.7`,"@aws-sdk/util-endpoints":`^3.996.6`,"@aws-sdk/util-user-agent-browser":`^3.972.9`,"@aws-sdk/util-user-agent-node":`^3.973.15`,"@smithy/config-resolver":`^4.4.14`,"@smithy/core":`^3.23.14`,"@smithy/fetch-http-handler":`^5.3.16`,"@smithy/hash-node":`^4.2.13`,"@smithy/invalid-dependency":`^4.2.13`,"@smithy/middleware-content-length":`^4.2.13`,"@smithy/middleware-endpoint":`^4.4.29`,"@smithy/middleware-retry":`^4.5.0`,"@smithy/middleware-serde":`^4.2.17`,"@smithy/middleware-stack":`^4.2.13`,"@smithy/node-config-provider":`^4.3.13`,"@smithy/node-http-handler":`^4.5.2`,"@smithy/protocol-http":`^5.3.13`,"@smithy/smithy-client":`^4.12.9`,"@smithy/types":`^4.14.0`,"@smithy/url-parser":`^4.2.13`,"@smithy/util-base64":`^4.3.2`,"@smithy/util-body-length-browser":`^4.2.2`,"@smithy/util-body-length-node":`^4.2.3`,"@smithy/util-defaults-mode-browser":`^4.3.45`,"@smithy/util-defaults-mode-node":`^4.2.49`,"@smithy/util-endpoints":`^3.3.4`,"@smithy/util-middleware":`^4.2.13`,"@smithy/util-retry":`^4.3.0`,"@smithy/util-utf8":`^4.2.2`,"@smithy/util-waiter":`^4.2.15`,tslib:`^2.6.2`},devDependencies:{"@smithy/snapshot-testing":`^2.0.5`,"@tsconfig/node20":`20.1.8`,"@types/node":`^20.14.8`,concurrently:`7.0.0`,"downlevel-dts":`0.10.1`,premove:`4.0.0`,typescript:`~5.8.3`,vitest:`^4.0.17`},engines:{node:`>=20.0.0`},typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},files:[`dist-*/**`],author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/javascript/`},license:`Apache-2.0`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-ec2`,repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-ec2`}},qa=({serviceId:e,clientVersion:t})=>async n=>{let r=typeof window<`u`?window.navigator:void 0,i=r?.userAgent??``,a=r?.userAgentData?.platform??Ja.os(i)??`other`,o=r?.userAgentData?.brands??[],s=o[o.length-1],c=s?.brand??Ja.browser(i)??`unknown`,l=s?.version??`unknown`,u=[[`aws-sdk-js`,t],[`ua`,`2.1`],[`os/${a}`,void 0],[`lang/js`],[`md/browser`,`${c}_${l}`]];e&&u.push([`api/${e}`,t]);let d=await n?.userAgentAppId?.();return d&&u.push([`app/${d}`]),u},Ja={os(e){if(/iPhone|iPad|iPod/.test(e))return`iOS`;if(/Macintosh|Mac OS X/.test(e))return`macOS`;if(/Windows NT/.test(e))return`Windows`;if(/Android/.test(e))return`Android`;if(/Linux/.test(e))return`Linux`},browser(e){if(/EdgiOS|EdgA|Edg\//.test(e))return`Microsoft Edge`;if(/Firefox\//.test(e))return`Firefox`;if(/Chrome\//.test(e))return`Chrome`;if(/Safari\//.test(e))return`Safari`}},Ya=e=>()=>Promise.reject(e),Xa=typeof TextEncoder==`function`?new TextEncoder:null,Za=e=>{if(typeof e==`string`){if(Xa)return Xa.encode(e).byteLength;let t=e.length;for(let n=t-1;n>=0;n--){let r=e.charCodeAt(n);r>127&&r<=2047?t++:r>2047&&r<=65535&&(t+=2),r>=56320&&r<=57343&&n--}return t}else if(typeof e.byteLength==`number`)return e.byteLength;else if(typeof e.size==`number`)return e.size;throw Error(`Body Length computation failed for ${e}`)},Qa=[`in-region`,`cross-region`,`mobile`,`standard`,`legacy`],$a=({defaultsMode:e}={})=>Fa(async()=>{let t=typeof e==`function`?await e():e;switch(t?.toLowerCase()){case`auto`:return Promise.resolve(eo()?`mobile`:`standard`);case`mobile`:case`in-region`:case`cross-region`:case`standard`:case`legacy`:return Promise.resolve(t?.toLocaleLowerCase());case void 0:return Promise.resolve(`legacy`);default:throw Error(`Invalid parameter for "defaultsMode", expect ${Qa.join(`, `)}, got ${t}`)}}),eo=()=>{let e=window?.navigator;if(e?.connection){let{effectiveType:t,rtt:n,downlink:r}=e?.connection;if(typeof t==`string`&&t!==`4g`||Number(n)>100||Number(r)<10)return!0}return e?.userAgentData?.mobile||typeof e?.maxTouchPoints==`number`&&e?.maxTouchPoints>1},to=class{queryCompat;errorRegistry;constructor(e=!1){this.queryCompat=e}resolveRestContentType(e,t){let n=t.getMemberSchemas(),r=Object.values(n).find(e=>!!e.getMergedTraits().httpPayload);if(r)return r.getMergedTraits().mediaType||(r.isStringSchema()?`text/plain`:r.isBlobSchema()?`application/octet-stream`:e);if(!t.isUnitSchema()&&Object.values(n).find(e=>{let{httpQuery:t,httpQueryParams:n,httpHeader:r,httpLabel:i,httpPrefixHeaders:a}=e.getMergedTraits();return!t&&!n&&!r&&!i&&a===void 0}))return e}async getErrorSchemaOrThrowBaseException(e,t,n,r,i,a){let o=e;e.includes(`#`)&&([,o]=e.split(`#`));let s={$metadata:i,$fault:n.statusCode<500?`client`:`server`};if(!this.errorRegistry)throw Error(`@aws-sdk/core/protocols - error handler not initialized.`);try{return{errorSchema:a?.(this.errorRegistry,o)??this.errorRegistry.getSchema(e),errorMetadata:s}}catch{r.message=r.message??r.Message??`UnknownError`;let e=this.errorRegistry,t=e.getBaseException();if(t){let n=e.getErrorCtor(t)??Error;throw this.decorateServiceException(Object.assign(new n({name:o}),s),r)}let n=r,i=n?.message??n?.Message??n?.Error?.Message??n?.Error?.message;throw this.decorateServiceException(Object.assign(Error(i),{name:o},s),r)}}compose(e,t,n){let r=n;t.includes(`#`)&&([r]=t.split(`#`));let i=At.for(r),a=At.for(`smithy.ts.sdk.synthetic.`+n);e.copyFrom(i),e.copyFrom(a),this.errorRegistry=e}decorateServiceException(e,t={}){if(this.queryCompat){let n=e.Message??t.Message,r=sa(e,t);n&&(r.message=n),r.Error={...r.Error,Type:r.Error?.Type,Code:r.Error?.Code,Message:r.Error?.message??r.Error?.Message??n};let i=r.$metadata.requestId;return i&&(r.RequestId=i),r}return sa(e,t)}setQueryCompatError(e,t){let n=t.headers?.[`x-amzn-query-error`];if(e!==void 0&&n!=null){let[t,r]=n.split(`;`),i=Object.entries(e),a={Code:t,Type:r};Object.assign(e,a);for(let[e,t]of i)a[e===`message`?`Message`:e]=t;delete a.__type,e.Error=a}}queryCompatOutput(e,t){e.Error&&(t.Error=e.Error),e.Type&&(t.Type=e.Type),e.Code&&(t.Code=e.Code)}findQueryCompatibleError(e,t){try{return e.getSchema(t)}catch{return e.find(e=>p.of(e).getMergedTraits().awsQueryError?.[0]===t)}}},no=class{serdeContext;setSerdeContext(e){this.serdeContext=e}},ro=class{from;to;keys;constructor(e,t){this.from=e,this.to=t,this.keys=new Set(Object.keys(this.from).filter(e=>e!==`__type`))}mark(e){this.keys.delete(e)}hasUnknown(){return this.keys.size===1&&Object.keys(this.to).length===0}writeUnknown(){if(this.hasUnknown()){let e=this.keys.values().next().value,t=this.from[e];this.to.$unknown=[e,t]}}},io=/[&<>"]/g,ao={"&":`&`,"<":`<`,">":`>`,'"':`"`};function oo(e){return e.replace(io,e=>ao[e])}var so=/[&"'<>\r\n\u0085\u2028]/g,co={"&":`&`,'"':`"`,"'":`'`,"<":`<`,">":`>`,"\r":` `,"\n":` `,"…":`…`,"\u2028":`
`};function lo(e){return e.replace(so,e=>co[e])}var uo=class{value;constructor(e){this.value=e}toString(){return lo(``+this.value)}},fo=class e{name;children;attributes={};static of(t,n,r){let i=new e(t);return n!==void 0&&i.addChildNode(new uo(n)),r!==void 0&&i.withName(r),i}constructor(e,t=[]){this.name=e,this.children=t}withName(e){return this.name=e,this}addAttribute(e,t){return this.attributes[e]=t,this}addChildNode(e){return this.children.push(e),this}removeAttribute(e){return delete this.attributes[e],this}n(e){return this.name=e,this}c(e){return this.children.push(e),this}a(e,t){return t!=null&&(this.attributes[e]=t),this}cc(t,n,r=n){if(t[n]!=null){let i=e.of(n,t[n]).withName(r);this.c(i)}}l(e,t,n,r){e[t]!=null&&r().map(e=>{e.withName(n),this.c(e)})}lc(t,n,r,i){if(t[n]!=null){let t=i(),n=new e(r);t.map(e=>{n.c(e)}),this.c(n)}}toString(){let e=!!this.children.length,t=`<${this.name}`,n=this.attributes;for(let e of Object.keys(n)){let r=n[e];r!=null&&(t+=` ${e}="${oo(``+r)}"`)}return t+=e?`>${this.children.map(e=>e.toString()).join(``)}`:`/>`}},po;function mo(e){po||=new DOMParser;let t=po.parseFromString(e,`application/xml`);if(t.getElementsByTagName(`parsererror`).length>0)throw Error(`DOMParser XML parsing error.`);let n=e=>{if(e.nodeType===Node.TEXT_NODE&&e.textContent?.trim())return e.textContent;if(e.nodeType===Node.ELEMENT_NODE){let t=e;if(t.attributes.length===0&&t.childNodes.length===0)return``;let r={},i=Array.from(t.attributes);for(let e of i)r[`${e.name}`]=e.value;let a=Array.from(t.childNodes);for(let e of a){let o=n(e);if(o!=null){let t=e.nodeName;if(a.length===1&&i.length===0&&t===`#text`)return o;r[t]?Array.isArray(r[t])?r[t].push(o):r[t]=[r[t],o]:r[t]=o}else if(a.length===1&&i.length===0)return t.textContent}return r}return null};return{[t.documentElement.nodeName]:n(t.documentElement)}}var ho=class extends no{settings;stringDeserializer;constructor(e){super(),this.settings=e,this.stringDeserializer=new Un(e)}setSerdeContext(e){this.serdeContext=e,this.stringDeserializer.setSerdeContext(e)}read(e,t,n){let r=p.of(e),i=r.getMemberSchemas();if(r.isStructSchema()&&r.isMemberSchema()&&Object.values(i).find(e=>!!e.getMemberTraits().eventPayload)){let e={},n=Object.keys(i)[0];return i[n].isBlobSchema()?e[n]=t:e[n]=this.read(i[n],t),e}let a=(this.serdeContext?.utf8Encoder??ce)(t),o=this.parseXml(a);return this.readSchema(e,n?o[n]:o)}readSchema(e,t){let n=p.of(e);if(n.isUnitSchema())return;let r=n.getMergedTraits();if(n.isListSchema()&&!Array.isArray(t))return this.readSchema(n,[t]);if(t==null)return t;if(typeof t==`object`){let e=!!r.xmlFlattened;if(n.isListSchema()){let r=n.getValueSchema(),i=[],a=r.getMergedTraits().xmlName??`member`,o=e?t:(t[0]??t)[a];if(o==null)return i;let s=Array.isArray(o)?o:[o];for(let e of s)i.push(this.readSchema(r,e));return i}let i={};if(n.isMapSchema()){let r=n.getKeySchema(),a=n.getValueSchema(),o;o=e?Array.isArray(t)?t:[t]:Array.isArray(t.entry)?t.entry:[t.entry];let s=r.getMergedTraits().xmlName??`key`,c=a.getMergedTraits().xmlName??`value`;for(let e of o){let t=e[s],n=e[c];i[t]=this.readSchema(a,n)}return i}if(n.isStructSchema()){let e=n.isUnionSchema(),r;e&&(r=new ro(t,i));for(let[a,o]of n.structIterator()){let n=o.getMergedTraits(),s=n.httpPayload?n.xmlName??o.getName():o.getMemberTraits().xmlName??a;e&&r.mark(s),t[s]!=null&&(i[a]=this.readSchema(o,t[s]))}return e&&r.writeUnknown(),i}if(n.isDocumentSchema())return t;throw Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${n.getName(!0)}`)}return n.isListSchema()?[]:n.isMapSchema()||n.isStructSchema()?{}:this.stringDeserializer.read(n,t)}parseXml(e){if(e.length){let t;try{t=mo(e)}catch(t){throw t&&typeof t==`object`&&Object.defineProperty(t,`$responseBodyText`,{value:e}),t}let n=`#text`,r=Object.keys(t)[0],i=t[r];return i[n]&&(i[r]=i[n],delete i[n]),ga(i)}return{}}},go=class extends no{settings;buffer;constructor(e){super(),this.settings=e}write(e,t,n=``){this.buffer===void 0&&(this.buffer=``);let r=p.of(e);if(n&&!n.endsWith(`.`)&&(n+=`.`),r.isBlobSchema())(typeof t==`string`||t instanceof Uint8Array)&&(this.writeKey(n),this.writeValue((this.serdeContext?.base64Encoder??We)(t)));else if(r.isBooleanSchema()||r.isNumericSchema()||r.isStringSchema())t==null?r.isIdempotencyToken()&&(this.writeKey(n),this.writeValue(pn())):(this.writeKey(n),this.writeValue(String(t)));else if(r.isBigIntegerSchema())t!=null&&(this.writeKey(n),this.writeValue(String(t)));else if(r.isBigDecimalSchema())t!=null&&(this.writeKey(n),this.writeValue(t instanceof Nn?t.string:String(t)));else if(r.isTimestampSchema()){if(t instanceof Date)switch(this.writeKey(n),Hn(r,this.settings)){case 5:this.writeValue(t.toISOString().replace(`.000Z`,`Z`));break;case 6:this.writeValue(Jt(t));break;case 7:this.writeValue(String(t.getTime()/1e3));break}}else if(r.isDocumentSchema())Array.isArray(t)?this.write(79,t,n):t instanceof Date?this.write(4,t,n):t instanceof Uint8Array?this.write(21,t,n):t&&typeof t==`object`?this.write(143,t,n):(this.writeKey(n),this.writeValue(String(t)));else if(r.isListSchema()){if(Array.isArray(t))if(t.length===0)this.settings.serializeEmptyLists&&(this.writeKey(n),this.writeValue(``));else{let e=r.getValueSchema(),i=this.settings.flattenLists||r.getMergedTraits().xmlFlattened,a=1;for(let r of t){if(r==null)continue;let t=e.getMergedTraits(),o=this.getKey(`member`,t.xmlName,t.ec2QueryName),s=i?`${n}${a}`:`${n}${o}.${a}`;this.write(e,r,s),++a}}}else if(r.isMapSchema()){if(t&&typeof t==`object`){let e=r.getKeySchema(),i=r.getValueSchema(),a=r.getMergedTraits().xmlFlattened,o=1;for(let[r,s]of Object.entries(t)){if(s==null)continue;let t=e.getMergedTraits(),c=this.getKey(`key`,t.xmlName,t.ec2QueryName),l=a?`${n}${o}.${c}`:`${n}entry.${o}.${c}`,u=i.getMergedTraits(),d=this.getKey(`value`,u.xmlName,u.ec2QueryName),ee=a?`${n}${o}.${d}`:`${n}entry.${o}.${d}`;this.write(e,r,l),this.write(i,s,ee),++o}}}else if(r.isStructSchema()){if(t&&typeof t==`object`){let e=!1;for(let[i,a]of r.structIterator()){if(t[i]==null&&!a.isIdempotencyToken())continue;let r=a.getMergedTraits(),o=this.getKey(i,r.xmlName,r.ec2QueryName,`struct`),s=`${n}${o}`;this.write(a,t[i],s),e=!0}if(!e&&r.isUnionSchema()){let{$unknown:e}=t;if(Array.isArray(e)){let[t,r]=e,i=`${n}${t}`;this.write(15,r,i)}}}}else if(!r.isUnitSchema())throw Error(`@aws-sdk/core/protocols - QuerySerializer unrecognized schema type ${r.getName(!0)}`)}flush(){if(this.buffer===void 0)throw Error(`@aws-sdk/core/protocols - QuerySerializer cannot flush with nothing written to buffer.`);let e=this.buffer;return delete this.buffer,e}getKey(e,t,n,r){let{ec2:i,capitalizeKeys:a}=this.settings;if(i&&n)return n;let o=t??e;return a&&r===`struct`?o[0].toUpperCase()+o.slice(1):o}writeKey(e){e.endsWith(`.`)&&(e=e.slice(0,e.length-1)),this.buffer+=`&${ut(e)}=`}writeValue(e){this.buffer+=ut(e)}},_o=class extends Vn{options;serializer;deserializer;mixin=new to;constructor(e){super({defaultNamespace:e.defaultNamespace,errorTypeRegistries:e.errorTypeRegistries}),this.options=e;let t={timestampFormat:{useTrait:!0,default:5},httpBindings:!1,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace,serializeEmptyLists:!0};this.serializer=new go(t),this.deserializer=new ho(t)}getShapeId(){return`aws.protocols#awsQuery`}setSerdeContext(e){this.serializer.setSerdeContext(e),this.deserializer.setSerdeContext(e)}getPayloadCodec(){throw Error(`AWSQuery protocol has no payload codec.`)}async serializeRequest(e,t,n){let r=await super.serializeRequest(e,t,n);return r.path.endsWith(`/`)||(r.path+=`/`),Object.assign(r.headers,{"content-type":`application/x-www-form-urlencoded`}),(dt(e.input)===`unit`||!r.body)&&(r.body=``),r.body=`Action=${e.name.split(`#`)[1]??e.name}&Version=${this.options.version}`+r.body,r.body.endsWith(`&`)&&(r.body=r.body.slice(-1)),r}async deserializeResponse(e,t,n){let r=this.deserializer,i=p.of(e.output),a={};if(n.statusCode>=300){let i=await lt(n.body,t);i.byteLength>0&&Object.assign(a,await r.read(15,i)),await this.handleError(e,t,n,a,this.deserializeMetadata(n))}for(let e in n.headers){let t=n.headers[e];delete n.headers[e],n.headers[e.toLowerCase()]=t}let o=e.name.split(`#`)[1]??e.name,s=i.isStructSchema()&&this.useNestedResult()?o+`Result`:void 0,c=await lt(n.body,t);return c.byteLength>0&&Object.assign(a,await r.read(i,c,s)),{$metadata:this.deserializeMetadata(n),...a}}useNestedResult(){return!0}async handleError(e,t,n,r,i){let a=this.loadQueryErrorCode(n,r)??`Unknown`;this.mixin.compose(this.compositeErrorRegistry,a,this.options.defaultNamespace);let o=this.loadQueryError(r)??{},s=this.loadQueryErrorMessage(r);o.message=s,o.Error={Type:o.Type,Code:o.Code,Message:s};let{errorSchema:c,errorMetadata:l}=await this.mixin.getErrorSchemaOrThrowBaseException(a,this.options.defaultNamespace,n,o,i,this.mixin.findQueryCompatibleError),u=p.of(c),d=new((this.compositeErrorRegistry.getErrorCtor(c))??Error)(s),ee={Type:o.Error.Type,Code:o.Error.Code,Error:o.Error};for(let[e,t]of u.structIterator()){let n=t.getMergedTraits().xmlName??e,i=o[n]??r[n];ee[e]=this.deserializer.readSchema(t,i)}throw this.mixin.decorateServiceException(Object.assign(d,l,{$fault:u.getMergedTraits().error,message:s},ee),r)}loadQueryErrorCode(e,t){let n=(t.Errors?.[0]?.Error??t.Errors?.Error??t.Error)?.Code;if(n!==void 0)return n;if(e.statusCode==404)return`NotFound`}loadQueryError(e){return e.Errors?.[0]?.Error??e.Errors?.Error??e.Error}loadQueryErrorMessage(e){let t=this.loadQueryError(e);return t?.message??t?.Message??e.message??e.Message??`Unknown`}getDefaultContentType(){return`application/x-www-form-urlencoded`}},vo=class extends _o{options;constructor(e){super(e),this.options=e,Object.assign(this.serializer.settings,{capitalizeKeys:!0,flattenLists:!0,serializeEmptyLists:!1,ec2:!0})}getShapeId(){return`aws.protocols#ec2Query`}useNestedResult(){return!1}},yo=(e,t)=>{if(t?.Error?.Code!==void 0)return t.Error.Code;if(t?.Code!==void 0)return t.Code;if(e.statusCode==404)return`NotFound`},bo=class extends no{settings;stringBuffer;byteBuffer;buffer;constructor(e){super(),this.settings=e}write(e,t){let n=p.of(e);if(n.isStringSchema()&&typeof t==`string`)this.stringBuffer=t;else if(n.isBlobSchema())this.byteBuffer=`byteLength`in t?t:(this.serdeContext?.base64Decoder??Ue)(t);else{this.buffer=this.writeStruct(n,t,void 0);let e=n.getMergedTraits();e.httpPayload&&!e.xmlName&&this.buffer.withName(n.getName())}}flush(){if(this.byteBuffer!==void 0){let e=this.byteBuffer;return delete this.byteBuffer,e}if(this.stringBuffer!==void 0){let e=this.stringBuffer;return delete this.stringBuffer,e}let e=this.buffer;return this.settings.xmlNamespace&&(e?.attributes?.xmlns||e.addAttribute(`xmlns`,this.settings.xmlNamespace)),delete this.buffer,e.toString()}writeStruct(e,t,n){let r=e.getMergedTraits(),i=e.isMemberSchema()&&!r.httpPayload?e.getMemberTraits().xmlName??e.getMemberName():r.xmlName??e.getName();if(!i||!e.isStructSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${e.getName(!0)}.`);let a=fo.of(i),[o,s]=this.getXmlnsAttribute(e,n);for(let[n,r]of e.structIterator()){let e=t[n];if(e!=null||r.isIdempotencyToken()){if(r.getMergedTraits().xmlAttribute){a.addAttribute(r.getMergedTraits().xmlName??n,this.writeSimple(r,e));continue}if(r.isListSchema())this.writeList(r,e,a,s);else if(r.isMapSchema())this.writeMap(r,e,a,s);else if(r.isStructSchema())a.addChildNode(this.writeStruct(r,e,s));else{let t=fo.of(r.getMergedTraits().xmlName??r.getMemberName());this.writeSimpleInto(r,e,t,s),a.addChildNode(t)}}}let{$unknown:c}=t;if(c&&e.isUnionSchema()&&Array.isArray(c)&&Object.keys(t).length===1){let[e,n]=c,r=fo.of(e);if(typeof n!=`string`)if(t instanceof fo||t instanceof uo)a.addChildNode(t);else throw Error(`@aws-sdk - $unknown union member in XML requires value of type string, @aws-sdk/xml-builder::XmlNode or XmlText.`);this.writeSimpleInto(0,n,r,s),a.addChildNode(r)}return s&&a.addAttribute(o,s),a}writeList(e,t,n,r){if(!e.isMemberSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${e.getName(!0)}`);let i=e.getMergedTraits(),a=e.getValueSchema(),o=a.getMergedTraits(),s=!!o.sparse,c=!!i.xmlFlattened,[l,u]=this.getXmlnsAttribute(e,r),d=(t,n)=>{if(a.isListSchema())this.writeList(a,Array.isArray(n)?n:[n],t,u);else if(a.isMapSchema())this.writeMap(a,n,t,u);else if(a.isStructSchema()){let r=this.writeStruct(a,n,u);t.addChildNode(r.withName(c?i.xmlName??e.getMemberName():o.xmlName??`member`))}else{let r=fo.of(c?i.xmlName??e.getMemberName():o.xmlName??`member`);this.writeSimpleInto(a,n,r,u),t.addChildNode(r)}};if(c)for(let e of t)(s||e!=null)&&d(n,e);else{let r=fo.of(i.xmlName??e.getMemberName());u&&r.addAttribute(l,u);for(let e of t)(s||e!=null)&&d(r,e);n.addChildNode(r)}}writeMap(e,t,n,r,i=!1){if(!e.isMemberSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${e.getName(!0)}`);let a=e.getMergedTraits(),o=e.getKeySchema(),s=o.getMergedTraits().xmlName??`key`,c=e.getValueSchema(),l=c.getMergedTraits(),u=l.xmlName??`value`,d=!!l.sparse,ee=!!a.xmlFlattened,[te,f]=this.getXmlnsAttribute(e,r),ne=(e,t,n)=>{let r=fo.of(s,t),[i,a]=this.getXmlnsAttribute(o,f);a&&r.addAttribute(i,a),e.addChildNode(r);let l=fo.of(u);c.isListSchema()?this.writeList(c,n,l,f):c.isMapSchema()?this.writeMap(c,n,l,f,!0):c.isStructSchema()?l=this.writeStruct(c,n,f):this.writeSimpleInto(c,n,l,f),e.addChildNode(l)};if(ee){for(let[r,i]of Object.entries(t))if(d||i!=null){let t=fo.of(a.xmlName??e.getMemberName());ne(t,r,i),n.addChildNode(t)}}else{let r;i||(r=fo.of(a.xmlName??e.getMemberName()),f&&r.addAttribute(te,f),n.addChildNode(r));for(let[e,a]of Object.entries(t))if(d||a!=null){let t=fo.of(`entry`);ne(t,e,a),(i?n:r).addChildNode(t)}}}writeSimple(e,t){if(t===null)throw Error(`@aws-sdk/core/protocols - (XML serializer) cannot write null value.`);let n=p.of(e),r=null;if(t&&typeof t==`object`)if(n.isBlobSchema())r=(this.serdeContext?.base64Encoder??We)(t);else if(n.isTimestampSchema()&&t instanceof Date)switch(Hn(n,this.settings)){case 5:r=t.toISOString().replace(`.000Z`,`Z`);break;case 6:r=Jt(t);break;case 7:r=String(t.getTime()/1e3);break;default:console.warn(`Missing timestamp format, using http date`,t),r=Jt(t);break}else if(n.isBigDecimalSchema()&&t)return t instanceof Nn?t.string:String(t);else if(n.isMapSchema()||n.isListSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead.`);else throw Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${n.getName(!0)}`);if((n.isBooleanSchema()||n.isNumericSchema()||n.isBigIntegerSchema()||n.isBigDecimalSchema())&&(r=String(t)),n.isStringSchema()&&(r=t===void 0&&n.isIdempotencyToken()?pn():String(t)),r===null)throw Error(`Unhandled schema-value pair ${n.getName(!0)}=${t}`);return r}writeSimpleInto(e,t,n,r){let i=this.writeSimple(e,t),a=p.of(e),o=new uo(i),[s,c]=this.getXmlnsAttribute(a,r);c&&n.addAttribute(s,c),n.addChildNode(o)}getXmlnsAttribute(e,t){let[n,r]=e.getMergedTraits().xmlNamespace??[];return r&&r!==t?[n?`xmlns:${n}`:`xmlns`,r]:[void 0,void 0]}},xo=class extends no{settings;constructor(e){super(),this.settings=e}createSerializer(){let e=new bo(this.settings);return e.setSerdeContext(this.serdeContext),e}createDeserializer(){let e=new ho(this.settings);return e.setSerdeContext(this.serdeContext),e}},So=class extends Bn{codec;serializer;deserializer;mixin=new to;constructor(e){super(e);let t={timestampFormat:{useTrait:!0,default:5},httpBindings:!0,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace};this.codec=new xo(t),this.serializer=new Kn(this.codec.createSerializer(),t),this.deserializer=new Wn(this.codec.createDeserializer(),t),this.compositeErrorRegistry}getPayloadCodec(){return this.codec}getShapeId(){return`aws.protocols#restXml`}async serializeRequest(e,t,n){let r=await super.serializeRequest(e,t,n),i=p.of(e.input);if(!r.headers[`content-type`]){let e=this.mixin.resolveRestContentType(this.getDefaultContentType(),i);e&&(r.headers[`content-type`]=e)}return typeof r.body==`string`&&r.headers[`content-type`]===this.getDefaultContentType()&&!r.body.startsWith(``+r.body),r}async deserializeResponse(e,t,n){return super.deserializeResponse(e,t,n)}async handleError(e,t,n,r,i){let a=yo(n,r)??`Unknown`;if(this.mixin.compose(this.compositeErrorRegistry,a,this.options.defaultNamespace),r.Error&&typeof r.Error==`object`)for(let e of Object.keys(r.Error))r[e]=r.Error[e],e.toLowerCase()===`message`&&(r.message=r.Error[e]);r.RequestId&&!i.requestId&&(i.requestId=r.RequestId);let{errorSchema:o,errorMetadata:s}=await this.mixin.getErrorSchemaOrThrowBaseException(a,this.options.defaultNamespace,n,r,i),c=p.of(o),l=r.Error?.message??r.Error?.Message??r.message??r.Message??`UnknownError`,u=new((this.compositeErrorRegistry.getErrorCtor(o))??Error)(l);await this.deserializeHttpMessage(o,t,n,r);let d={};for(let[e,t]of c.structIterator()){let n=t.getMergedTraits().xmlName??e,i=r.Error?.[n]??r[n];d[e]=this.codec.createDeserializer().readSchema(t,i)}throw this.mixin.decorateServiceException(Object.assign(u,s,{$fault:c.getMergedTraits().error,message:l},d),r)}getDefaultContentType(){return`application/xml`}hasUnstructuredPayloadBinding(e){for(let[,t]of e.structIterator())if(t.getMergedTraits().httpPayload)return!(t.isStructSchema()||t.isMapSchema()||t.isListSchema());return!1}},Co=`required`,wo=`fn`,To=`argv`,Eo=`ref`,Do=!0,Oo=`isSet`,ko=`booleanEquals`,Ao=`error`,jo=`endpoint`,Mo=`tree`,No=`PartitionResult`,Po=`getAttr`,Fo={[Co]:!1,type:`string`},Io={[Co]:!0,default:!1,type:`boolean`},Lo={[Eo]:`Endpoint`},Ro={[wo]:ko,[To]:[{[Eo]:`UseFIPS`},!0]},zo={[wo]:ko,[To]:[{[Eo]:`UseDualStack`},!0]},Bo={},Vo={[wo]:Po,[To]:[{[Eo]:No},`supportsFIPS`]},Ho={[Eo]:No},Uo={[wo]:ko,[To]:[!0,{[wo]:Po,[To]:[Ho,`supportsDualStack`]}]},Wo=[Ro],Go=[zo],Ko=[{[Eo]:`Region`}],qo={version:`1.0`,parameters:{Region:Fo,UseDualStack:Io,UseFIPS:Io,Endpoint:Fo},rules:[{conditions:[{[wo]:Oo,[To]:[Lo]}],rules:[{conditions:Wo,error:`Invalid Configuration: FIPS and custom endpoint are not supported`,type:Ao},{conditions:Go,error:`Invalid Configuration: Dualstack and custom endpoint are not supported`,type:Ao},{endpoint:{url:Lo,properties:Bo,headers:Bo},type:jo}],type:Mo},{conditions:[{[wo]:Oo,[To]:Ko}],rules:[{conditions:[{[wo]:`aws.partition`,[To]:Ko,assign:No}],rules:[{conditions:[Ro,zo],rules:[{conditions:[{[wo]:ko,[To]:[Do,Vo]},Uo],rules:[{endpoint:{url:`https://ec2-fips.{Region}.{PartitionResult#dualStackDnsSuffix}`,properties:Bo,headers:Bo},type:jo}],type:Mo},{error:`FIPS and DualStack are enabled, but this partition does not support one or both`,type:Ao}],type:Mo},{conditions:Wo,rules:[{conditions:[{[wo]:ko,[To]:[Vo,Do]}],rules:[{conditions:[{[wo]:`stringEquals`,[To]:[{[wo]:Po,[To]:[Ho,`name`]},`aws-us-gov`]}],endpoint:{url:`https://ec2.{Region}.amazonaws.com`,properties:Bo,headers:Bo},type:jo},{endpoint:{url:`https://ec2-fips.{Region}.{PartitionResult#dnsSuffix}`,properties:Bo,headers:Bo},type:jo}],type:Mo},{error:`FIPS is enabled but this partition does not support FIPS`,type:Ao}],type:Mo},{conditions:Go,rules:[{conditions:[Uo],rules:[{endpoint:{url:`https://ec2.{Region}.{PartitionResult#dualStackDnsSuffix}`,properties:Bo,headers:Bo},type:jo}],type:Mo},{error:`DualStack is enabled but this partition does not support DualStack`,type:Ao}],type:Mo},{endpoint:{url:`https://ec2.{Region}.{PartitionResult#dnsSuffix}`,properties:Bo,headers:Bo},type:jo}],type:Mo}],type:Mo},{error:`Invalid Configuration: Missing Region`,type:Ao}]},Jo=new er({size:50,params:[`Endpoint`,`Region`,`UseDualStack`,`UseFIPS`]}),Yo=(e,t={})=>Jo.get(e,()=>Mr(qo,{endpointParams:e,logger:t.logger}));ar.aws=Vr;var Xo=class e extends oa{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},Zo=`AllAvailabilityZones`,Qo=`AttributeBooleanValue`,$o=`AssociateCarrierIpAddress`,es=`AdditionalFlexibleNetworkInterfaces`,ts=`AvailableIpAddressCount`,ns=`AssignIpv6AddressOnCreation`,rs=`AttachInternetGateway`,is=`AttachInternetGatewayRequest`,as=`AdditionalInfo`,os=`AssociationId`,ss=`AttachmentId`,cs=`AmiLaunchIndex`,ls=`AttachmentLimitType`,us=`AssociatePublicIpAddress`,ds=`AmazonProvidedIpv6CidrBlock`,fs=`AutoRecoverySupported`,ps=`AssociateRouteTableRequest`,ms=`AssociateRouteTableResult`,hs=`AssociateRouteTable`,gs=`AllRegions`,_s=`AssociatedResource`,vs=`AutoRecovery`,ys=`AssociationState`,bs=`AuthorizeSecurityGroupEgress`,xs=`AuthorizeSecurityGroupEgressRequest`,Ss=`AuthorizeSecurityGroupEgressResult`,Cs=`AuthorizeSecurityGroupIngressRequest`,ws=`AuthorizeSecurityGroupIngressResult`,Ts=`AuthorizeSecurityGroupIngress`,Es=`AmdSevSnp`,Ds=`ArchitectureTypeList`,Os=`AttachTime`,ks=`AttachVolumeRequest`,As=`AttributeValue`,js=`AttachVolume`,Ms=`AvailabilityZone`,Ns=`AvailabilityZoneGeography`,Ps=`AvailabilityZoneGeographyList`,Fs=`AvailabilityZoneId`,Is=`AvailabilityZoneList`,Ls=`AvailabilityZoneMessage`,Rs=`AvailabilityZoneMessageList`,zs=`AvailabilityZoneSubGeography`,Bs=`AvailabilityZoneSubGeographyList`,Vs=`AvailabilityZones`,Hs=`Accelerators`,Us=`Affinity`,Ws=`Arn`,Gs=`Architecture`,Ks=`Associations`,qs=`Association`,Js=`Attribute`,Ys=`Attachment`,Xs=`Attachments`,Zs=`BlobAttributeValue`,Qs=`BaselineBandwidthInGbps`,$s=`BaselineBandwidthInMbps`,ec=`BlockDeviceMapping`,tc=`BlockDeviceMappingList`,nc=`BlockDeviceMappingRequestList`,rc=`BlockDeviceMappings`,ic=`BlockDurationMinutes`,ac=`BaselineIops`,oc=`BootMode`,sc=`BootModeTypeList`,cc=`BareMetal`,lc=`BlockPublicAccessStates`,uc=`BurstablePerformanceSupported`,dc=`BaselineThroughputInMBps`,fc=`BandwidthWeighting`,pc=`BandwidthWeightingTypeList`,mc=`BandwidthWeightings`,hc=`CidrBlock`,gc=`CidrBlockAssociationSet`,_c=`CapacityBlockId`,vc=`CidrBlockState`,yc=`CoreCountList`,bc=`CoreCount`,xc=`CpuCredits`,Sc=`CompletionDurationMinutes`,Cc=`CreationDate`,wc=`CarrierGatewayId`,Tc=`CurrentGeneration`,Ec=`CarrierIp`,Dc=`CurrentInstanceBootMode`,Oc=`CreateInternetGateway`,kc=`CreateInternetGatewayRequest`,Ac=`CreateInternetGatewayResult`,jc=`CreateImageRequest`,Mc=`CreateImageResult`,Nc=`CidrIp`,Pc=`CidrIpv6`,Fc=`CidrIpv4`,Ic=`CoreInfo`,Lc=`CreateImage`,Rc=`CreateKeyPair`,zc=`CreateKeyPairRequest`,Bc=`CoreNetworkArn`,Vc=`CpuOptions`,Hc=`CustomerOwnedIp`,Uc=`CustomerOwnedIpv4Pool`,Wc=`CpuOptionsRequest`,Gc=`CreatePlacementGroup`,Kc=`CreatePlacementGroupRequest`,qc=`CreatePlacementGroupResult`,Jc=`CapacityReservationId`,Yc=`CapacityReservationPreference`,Xc=`CreateRouteRequest`,Zc=`CapacityReservationResourceGroupArn`,Qc=`CreateRouteResult`,$c=`CapacityReservationSpecificationResponse`,el=`CapacityReservationSpecification`,tl=`CapacityReservationTarget`,nl=`CapacityReservationTargetResponse`,rl=`CreateRouteTableRequest`,il=`CreateRouteTableResult`,al=`CreateRouteTable`,ol=`CreateRoute`,sl=`CreateSecurityGroup`,cl=`CreateSecurityGroupRequest`,ll=`CreateSecurityGroupResult`,ul=`CopySnapshotRequest`,dl=`CopySnapshotRequestPSU`,fl=`CopySnapshotResult`,pl=`CreateSnapshotRequest`,ml=`CreateSubnetRequest`,hl=`CreateSubnetResult`,gl=`CreditSpecificationRequest`,_l=`CopySnapshot`,vl=`CreditSpecification`,yl=`CreateSnapshot`,bl=`CreateSubnet`,xl=`CurrentState`,Sl=`ClientToken`,Cl=`ConnectionTrackingConfiguration`,wl=`ConnectionTrackingSpecification`,Tl=`ConnectionTrackingSpecificationRequest`,El=`ConnectionTrackingSpecificationResponse`,Dl=`CompletionTime`,Ol=`CreateTime`,kl=`CreateVolumeRequest`,Al=`CreateVpcRequest`,jl=`CreateVpcResult`,Ml=`CreateVolume`,Nl=`CreateVpc`,Pl=`Code`,Fl=`Configured`,Il=`Count`,Ll=`DisableApiStop`,Rl=`DisableApiTermination`,zl=`DestinationAvailabilityZone`,Bl=`DescribeAvailabilityZonesRequest`,Vl=`DescribeAvailabilityZonesResult`,Hl=`DescribeAvailabilityZones`,Ul=`DestinationCidrBlock`,Wl=`DefaultConnectionTrackingConfiguration`,Gl=`DefaultCores`,Kl=`DataEncryptionKeyId`,ql=`DefaultEnaQueueCountPerInterface`,Jl=`DefaultForAz`,Yl=`DedicatedHostsSupported`,Xl=`DeviceIndex`,Zl=`DestinationIpv6CidrBlock`,Ql=`DescribeInternetGatewaysRequest`,$l=`DescribeInternetGatewaysResult`,eu=`DescribeInternetGateways`,tu=`DiskInfoList`,nu=`DescribeImagesRequest`,ru=`DescribeImagesResult`,iu=`DescribeInstancesRequest`,au=`DescribeInstancesResult`,ou=`DescribeInstanceTypesRequest`,su=`DescribeInstanceTypesResult`,cu=`DescribeInstanceTypes`,lu=`DescribeImages`,uu=`DescribeInstances`,du=`DiskInfo`,fu=`DeleteKeyPair`,pu=`DeleteKeyPairRequest`,mu=`DeleteKeyPairResult`,hu=`DescribeKeyPairsRequest`,gu=`DescribeKeyPairsResult`,_u=`DescribeKeyPairs`,vu=`DeviceName`,yu=`DefaultNetworkCardIndex`,bu=`DestinationOutpostArn`,xu=`DhcpOptionsId`,Su=`DeleteOnTermination`,Cu=`DeletePlacementGroup`,wu=`DeletePlacementGroupRequest`,Tu=`DescribePlacementGroupsRequest`,Eu=`DescribePlacementGroupsResult`,Du=`DescribePlacementGroups`,Ou=`DestinationPrefixListId`,ku=`DeregistrationProtection`,m=`DryRun`,Au=`DescribeRegionsRequest`,ju=`DescribeRegionsResult`,Mu=`DescribeRouteTablesRequest`,Nu=`DescribeRouteTablesResult`,Pu=`DescribeRouteTables`,Fu=`DestinationRegion`,Iu=`DescribeRegions`,Lu=`DeleteSecurityGroup`,Ru=`DeleteSecurityGroupRequest`,zu=`DeleteSecurityGroupResult`,Bu=`DescribeSecurityGroupsRequest`,Vu=`DescribeSecurityGroupsResult`,Hu=`DescribeSecurityGroups`,Uu=`DeleteSnapshotRequest`,Wu=`DeleteSubnetRequest`,Gu=`DescribeSnapshotsRequest`,Ku=`DescribeSnapshotsResult`,qu=`DescribeSubnetsRequest`,Ju=`DescribeSubnetsResult`,Yu=`DeleteSnapshot`,Xu=`DeleteSubnet`,Zu=`DescribeSnapshots`,Qu=`DescribeSubnets`,$u=`DefaultTcpEstablishedTimeout`,ed=`DefaultThreadsPerCore`,td=`DeprecationTime`,nd=`DefaultUdpStreamTimeout`,rd=`DefaultUdpTimeout`,id=`DefaultVCpus`,ad=`DeleteVolumeRequest`,od=`DeleteVpcRequest`,sd=`DescribeVolumesRequest`,cd=`DescribeVolumesResult`,ld=`DescribeVpcsRequest`,ud=`DescribeVpcsResult`,dd=`DetachVolumeRequest`,fd=`DeleteVolume`,pd=`DeleteVpc`,md=`DescribeVolumes`,hd=`DescribeVpcs`,gd=`DetachVolume`,_d=`Description`,vd=`Device`,yd=`Disks`,bd=`EbsBlockDevice`,xd=`ExecutableByStringList`,Sd=`ExecutableBy`,Cd=`EbsCardIndex`,wd=`EbsCardInfoList`,Td=`EbsCardInfo`,Ed=`EbsCards`,Dd=`EncryptionControl`,Od=`EnableDns64`,kd=`ElasticFileSystem`,Ad=`ElasticFileSystemExclusion`,jd=`ElasticGpuAssociation`,Md=`ElasticGpuAssociationId`,Nd=`ElasticGpuAssociationList`,Pd=`ElasticGpuAssociationState`,Fd=`ElasticGpuAssociationTime`,Id=`ElasticGpuAssociations`,Ld=`ElasticGpuId`,Rd=`ElasticGpuSpecification`,zd=`ElasticGpuSpecifications`,Bd=`ElasticInferenceAccelerator`,Vd=`ElasticInferenceAcceleratorAssociation`,Hd=`ElasticInferenceAcceleratorAssociationId`,Ud=`ElasticInferenceAcceleratorAssociationList`,Wd=`ElasticInferenceAcceleratorAssociationState`,Gd=`ElasticInferenceAcceleratorAssociationTime`,Kd=`ElasticInferenceAcceleratorArn`,qd=`ElasticInferenceAcceleratorAssociations`,Jd=`ElasticInferenceAccelerators`,Yd=`EbsInstanceBlockDevice`,Xd=`EbsInstanceBlockDeviceSpecification`,Zd=`EncryptionInTransitSupported`,Qd=`EbsInfo`,$d=`EfaInfo`,ef=`EnableLniAtDeviceIndex`,tf=`EbsOptimized`,nf=`EbsOptimizedInfo`,rf=`EgressOnlyInternetGateway`,af=`EgressOnlyInternetGatewayExclusion`,of=`EgressOnlyInternetGatewayId`,sf=`EnclaveOptionsRequest`,cf=`EbsOptimizedSupport`,lf=`EnclaveOptions`,uf=`EnablePrimaryIpv6`,df=`EnaQueueCount`,ff=`EnableResourceNameDnsAAAARecord`,pf=`EnableResourceNameDnsARecord`,mf=`EnaSrdEnabled`,hf=`EnaSrdSpecification`,gf=`EnaSrdSpecificationRequest`,_f=`EnaSrdSupported`,vf=`EnaSrdUdpEnabled`,yf=`EnaSrdUdpSpecification`,bf=`EnaSrdUdpSpecificationRequest`,xf=`EfaSupported`,Sf=`EncryptionSupport`,Cf=`EnaSupport`,wf=`EndTime`,Tf=`ExecutableUsers`,Ef=`Ebs`,Df=`Enabled`,Of=`Encrypted`,kf=`Endpoint`,Af=`Force`,jf=`FpgaDeviceInfo`,Mf=`FpgaDeviceInfoList`,Nf=`FpgaDeviceMemoryInfo`,Pf=`FlexibleEnaQueuesSupport`,Ff=`FpgaInfo`,If=`FilterList`,Lf=`FromPort`,Rf=`FastRestored`,zf=`FullSnapshotSizeInBytes`,Bf=`FreeTierEligible`,Vf=`Filters`,Hf=`Filter`,Uf=`Fpgas`,Wf=`Groups`,Gf=`GroupArn`,Kf=`GetConsoleOutput`,qf=`GetConsoleOutputRequest`,Jf=`GetConsoleOutputResult`,Yf=`GroupDescription`,Xf=`GpuDeviceInfo`,Zf=`GpuDeviceInfoList`,Qf=`GpuDeviceMemoryInfo`,$f=`GatewayId`,ep=`GroupIdentifierList`,tp=`GroupIdStringList`,np=`GpuInfo`,rp=`GroupId`,ip=`GroupIds`,ap=`GroupIdentifier`,op=`GroupLongName`,sp=`GroupName`,cp=`GroupNameStringList`,lp=`GroupNames`,up=`GroupOwnerId`,dp=`GpuPartitionSize`,fp=`Geography`,pp=`Gpus`,mp=`HttpEndpoint`,hp=`HostId`,gp=`HibernationOptions`,_p=`HibernationOptionsRequest`,vp=`HttpProtocolIpv6`,yp=`HttpPutResponseHopLimit`,bp=`HostResourceGroupArn`,xp=`HibernationSupported`,Sp=`HttpTokens`,Cp=`HostnameType`,wp=`Hibernate`,Tp=`Hypervisor`,Ep=`Id`,Dp=`Ipv6Addresses`,Op=`Ipv6AddressAttribute`,kp=`Ipv6AddressCount`,Ap=`InstanceAttachmentEnaSrdSpecification`,jp=`InstanceAttachmentEnaSrdUdpSpecification`,Mp=`InferenceAcceleratorInfo`,Np=`Ipv4AddressesPerInterface`,Pp=`Ipv6AddressesPerInterface`,Fp=`Ipv4AddressesPerSecondaryInterface`,Ip=`ImageAllowed`,Lp=`IpAddress`,Rp=`Ipv6Address`,zp=`InstanceBlockDeviceMapping`,Bp=`InstanceBlockDeviceMappingList`,Vp=`InstanceBlockDeviceMappingSpecification`,Hp=`InstanceBlockDeviceMappingSpecificationList`,Up=`Ipv6CidrBlock`,Wp=`Ipv6CidrBlockAssociationSet`,Gp=`Ipv6CidrBlockNetworkBorderGroup`,Kp=`Ipv6CidrBlockState`,qp=`IncludeDeprecated`,Jp=`InferenceDeviceInfo`,Yp=`InferenceDeviceInfoList`,Xp=`InferenceDeviceMemoryInfo`,Zp=`IncludeDisabled`,Qp=`IsDefault`,$p=`IsEgress`,em=`InternetGateway`,tm=`InternetGatewayAttachment`,nm=`InternetGatewayAttachmentList`,rm=`InternetGatewayBlockMode`,im=`InternetGatewayExclusion`,am=`InternetGatewayId`,om=`InternetGatewayIdList`,sm=`InternetGatewayIds`,cm=`InternetGatewayList`,lm=`InternetGateways`,um=`InstanceId`,dm=`InstanceIpv6Address`,fm=`InstanceIpv6AddressList`,pm=`InstanceInterruptionBehavior`,mm=`IamInstanceProfile`,hm=`Ipv6IpamPoolId`,gm=`Ipv4IpamPoolId`,_m=`InstanceIpv4PrefixList`,vm=`InstanceIpv6PrefixList`,ym=`IamInstanceProfileSpecification`,bm=`InstanceIpv4Prefix`,xm=`InstanceIpv6Prefix`,Sm=`InstanceInitiatedShutdownBehavior`,Cm=`ImageIdStringList`,wm=`InstanceIdStringList`,Tm=`ImageId`,Em=`ImageIds`,Dm=`InstanceIds`,Om=`ImportKeyPair`,km=`ImportKeyPairRequest`,Am=`ImportKeyPairResult`,jm=`ImageLocation`,Mm=`ImageList`,Nm=`InstanceLifecycle`,Pm=`InstanceList`,Fm=`InstanceMaintenanceOptions`,Im=`InstanceMaintenanceOptionsRequest`,Lm=`InstanceMarketOptionsRequest`,Rm=`InstanceMetadataOptionsRequest`,zm=`InstanceMetadataOptionsResponse`,Bm=`InstanceMarketOptions`,Vm=`InstanceMetadataTags`,Hm=`Ipv6Native`,Um=`InstanceNetworkInterface`,Wm=`InstanceNetworkInterfaceAssociation`,Gm=`InstanceNetworkInterfaceAttachment`,Km=`InstanceNetworkInterfaceList`,qm=`InstanceNetworkInterfaceSpecification`,Jm=`InstanceNetworkInterfaceSpecificationList`,Ym=`Ipv6NetmaskLength`,Xm=`Ipv4NetmaskLength`,Zm=`InstanceNetworkPerformanceOptions`,Qm=`InstanceNetworkPerformanceOptionsRequest`,$m=`ImageOwnerAlias`,eh=`IpOwnerId`,th=`InstanceOwnerId`,nh=`InstanceOwningService`,rh=`Ipv6PrefixCount`,ih=`Ipv4PrefixCount`,ah=`IpPermissionsEgress`,oh=`InstancePrivateIpAddress`,sh=`InstancePrivateIpAddressList`,ch=`IsPrimaryIpv6`,lh=`IncludePublicKey`,uh=`IpPermissionList`,dh=`Ipv4PrefixList`,fh=`Ipv6PrefixList`,ph=`Ipv4PrefixSpecificationRequest`,mh=`Ipv6PrefixSpecificationRequest`,hh=`Ipv6Prefixes`,gh=`IpPermissions`,_h=`IpPermission`,vh=`IpProtocol`,yh=`Ipv6Prefix`,bh=`Ipv6Pool`,xh=`Ipv4Prefixes`,Sh=`Ipv4Prefix`,Ch=`IpRangeList`,wh=`Ipv6RangeList`,Th=`IpRanges`,Eh=`IpRange`,Dh=`Ipv6Ranges`,Oh=`Ipv6Range`,kh=`InstanceStateChange`,Ah=`InstanceStateChangeList`,jh=`InstanceSecondaryInterfaceAttachment`,Mh=`InstanceSecondaryInterfaceList`,Nh=`InstanceSecondaryInterfacePrivateIpAddress`,Ph=`InstanceSecondaryInterfacePrivateIpAddressList`,Fh=`InstanceSecondaryInterfacePrivateIpAddressListRequest`,Ih=`InstanceSecondaryInterfacePrivateIpAddressRequest`,Lh=`InstanceSecondaryInterfaceSpecificationListRequest`,Rh=`InstanceSecondaryInterfaceSpecificationRequest`,zh=`InstanceSecondaryInterface`,Bh=`InstanceStorageInfo`,Vh=`InstanceStorageSupported`,Hh=`ImdsSupport`,Uh=`InstanceState`,Wh=`IpSource`,Gh=`Ipv6Supported`,Kh=`InstanceType`,qh=`InstanceTypeInfoList`,Jh=`InstanceTypeInfo`,Yh=`ImageType`,Xh=`InstanceTenancy`,Zh=`InstanceTypes`,Qh=`InterfaceType`,$h=`Images`,eg=`Image`,tg=`Instance`,ng=`Instances`,rg=`Iops`,ig=`Key`,ag=`KeyFormat`,og=`KeyFingerprint`,sg=`KernelId`,cg=`KmsKeyId`,lg=`KeyMaterial`,ug=`KeyName`,dg=`KeyNameStringList`,fg=`KeyNames`,pg=`KeyPairs`,mg=`KeyPairId`,hg=`KeyPairIdStringList`,gg=`KeyPairIds`,_g=`KeyPairInfo`,vg=`KeyPairList`,yg=`KeyPair`,bg=`KeyType`,xg=`Kernel`,Sg=`LicenseConfigurationArn`,Cg=`LicenseConfigurationRequest`,wg=`LicenseConfiguration`,Tg=`LambdaExclusion`,Eg=`LogicalGpuCount`,Dg=`LocalGatewayId`,Og=`LinkedGroupId`,kg=`LicenseList`,Ag=`LastLaunchedTime`,jg=`LicenseSpecifications`,Mg=`LicenseSpecificationListRequest`,Ng=`LicenseSpecification`,Pg=`LaunchTemplate`,Fg=`LaunchTemplateId`,Ig=`LaunchTemplateName`,Lg=`LaunchTemplateSpecification`,Rg=`LaunchTime`,zg=`Latest`,Bg=`Lambda`,Vg=`Licenses`,Hg=`Location`,Ug=`MultiAttachEnabled`,Wg=`MediaAcceleratorInfo`,Gg=`MacAddress`,Kg=`MaximumBandwidthInMbps`,qg=`MapCustomerOwnedIpOnLaunch`,Jg=`MaxCount`,Yg=`MinCount`,Xg=`MediaDeviceInfo`,Zg=`MediaDeviceInfoList`,Qg=`MediaDeviceMemoryInfo`,$g=`MaximumEbsAttachments`,e_=`MaximumEbsCards`,t_=`MaximumEfaInterfaces`,n_=`MaximumEnaQueueCount`,r_=`MaximumEnaQueueCountPerInterface`,i_=`MaximumIops`,a_=`ModifyInstanceAttributeRequest`,o_=`ModifyInstanceAttribute`,s_=`MemoryInfo`,c_=`MaximumNetworkCards`,l_=`MaximumNetworkInterfaces`,u_=`MetadataOptions`,d_=`MaintenanceOptions`,f_=`MapPublicIpOnLaunch`,p_=`MaxPrice`,m_=`MaxResults`,h_=`MaximumSecondaryNetworkInterfaces`,g_=`ModificationState`,__=`MarketType`,v_=`MaximumThroughputInMBps`,y_=`ModifyVolumeRequest`,b_=`ModifyVolumeResult`,x_=`ModifyVolume`,S_=`Main`,C_=`Manufacturer`,w_=`Managed`,T_=`Message`,E_=`Messages`,D_=`Mode`,O_=`Monitoring`,k_=`Name`,A_=`NetworkBorderGroup`,j_=`NetworkCards`,M_=`NetworkCardIndex`,N_=`NetworkCardInfoList`,P_=`NetworkCardInfo`,F_=`NoDevice`,I_=`NeuronDeviceCoreInfo`,L_=`NeuronDeviceInfo`,R_=`NeuronDeviceInfoList`,z_=`NeuronDeviceMemoryInfo`,B_=`NeuronDevices`,V_=`NitroEnclavesSupport`,H_=`NatGateway`,U_=`NatGatewayExclusion`,W_=`NatGatewayId`,G_=`NetworkInterfaceId`,K_=`NetworkInterfaces`,q_=`NetworkInfo`,J_=`NeuronInfo`,Y_=`NetworkPerformanceOptions`,X_=`NetworkPerformance`,Z_=`NoReboot`,Q_=`NvmeSupport`,$_=`NitroTpmInfo`,ev=`NitroTpmSupport`,tv=`NitroTpmSupportedVersionsList`,nv=`NextToken`,rv=`NestedVirtualization`,iv=`Origin`,av=`OutpostArn`,ov=`OwnerAlias`,sv=`OwnerId`,cv=`OptInStatus`,lv=`OriginalIops`,uv=`OwnerIds`,dv=`OriginalMultiAttachEnabled`,fv=`OdbNetworkArn`,pv=`OperatorRequest`,mv=`OperatorResponse`,hv=`OwnerStringList`,gv=`OriginalSize`,_v=`OriginalThroughput`,vv=`OriginalVolumeType`,yv=`Operator`,bv=`Output`,xv=`Owners`,Sv=`Owner`,Cv=`Principal`,wv=`PeakBandwidthInGbps`,Tv=`ProductCodeId`,Ev=`ProductCodeList`,Dv=`ProductCodeType`,Ov=`PartitionCount`,kv=`ProductCode`,Av=`ProductCodes`,jv=`PrivateDnsName`,Mv=`PrivateDnsNameOptions`,Nv=`PrivateDnsNameOptionsOnLaunch`,Pv=`PrivateDnsNameOptionsRequest`,Fv=`PrivateDnsNameOptionsResponse`,Iv=`PublicDnsName`,Lv=`PlatformDetails`,Rv=`PlacementGroup`,zv=`PlacementGroupInfo`,Bv=`PlacementGroupIdStringList`,Vv=`PlacementGroupList`,Hv=`PlacementGroupStrategyList`,Uv=`PlacementGroups`,Wv=`PublicIp`,Gv=`PrivateIpAddressCount`,Kv=`PrivateIpAddressSpecification`,qv=`PrivateIpAddressSpecificationList`,Jv=`PrivateIpAddress`,Yv=`PrivateIpAddresses`,Xv=`PublicIpAddress`,Zv=`PublicIpv4Pool`,Qv=`PrimaryIpv6`,$v=`ProcessorInfo`,ey=`PublicKey`,ty=`PublicKeyMaterial`,ny=`PrefixListId`,ry=`PrefixListIdList`,iy=`PrefixListIds`,ay=`PartitionNumber`,oy=`PeeringStatus`,sy=`PhcSupport`,cy=`PreviousState`,ly=`PresignedUrl`,uy=`PropagatingVgw`,dy=`PropagatingVgwList`,fy=`PropagatingVgws`,py=`ParentZoneId`,my=`ParentZoneName`,hy=`Platform`,gy=`Placement`,_y=`Primary`,vy=`Progress`,yy=`Public`,by=`Return`,xy=`RestorableByUserIds`,Sy=`RestorableBy`,Cy=`RootDeviceName`,wy=`RootDeviceType`,Ty=`RootDeviceTypeList`,Ey=`RestoreExpiryTime`,Dy=`ResourceExclusions`,Oy=`RegionGeography`,ky=`ReferencedGroupId`,Ay=`ReferencedGroupInfo`,jy=`RegionGeographyList`,My=`RunInstancesMonitoringEnabled`,Ny=`RebootInstancesRequest`,Py=`RunInstancesRequest`,Fy=`RunInstancesUserData`,Iy=`RamdiskId`,Ly=`ReservationId`,Ry=`RebootInstances`,zy=`RequesterId`,By=`RunInstances`,Vy=`RegionList`,Hy=`ReservationList`,Uy=`RouteList`,Wy=`RebootMigrationSupport`,Gy=`RebootMigration`,Ky=`RegionName`,qy=`RegionNameStringList`,Jy=`RegionNames`,Yy=`ReferencedSecurityGroup`,Xy=`RevokeSecurityGroupEgress`,Zy=`RevokeSecurityGroupEgressRequest`,Qy=`RevokeSecurityGroupEgressResult`,$y=`RevokeSecurityGroupIngressRequest`,eb=`RevokeSecurityGroupIngressResult`,tb=`RevokeSecurityGroupIngress`,nb=`RevokedSecurityGroupRule`,rb=`RevokedSecurityGroupRuleList`,ib=`RevokedSecurityGroupRules`,ab=`RouteTableAssociation`,ob=`RouteTableAssociationId`,sb=`RouteTableAssociationList`,cb=`RouteTableAssociationState`,lb=`RouteTableId`,ub=`RouteTableIdStringList`,db=`RouteTableIds`,fb=`RouteTableList`,pb=`ResourceType`,mb=`RouteTable`,hb=`RouteTables`,gb=`Ramdisk`,_b=`Regions`,vb=`Region`,yb=`Reservations`,bb=`Reservation`,xb=`Route`,Sb=`Routes`,Cb=`SupportedAdditionalProcessorFeatureList`,wb=`SubnetArn`,Tb=`SupportedArchitectures`,Eb=`SupportedBootModes`,Db=`SubnetCidrBlockState`,Ob=`SustainedClockSpeedInGhz`,kb=`SourceDestCheck`,Ab=`SpreadDomain`,jb=`SupportedFeatures`,Mb=`SubGeography`,Nb=`SecurityGroupArn`,Pb=`SecurityGroupId`,Fb=`SecurityGroupIdStringList`,Ib=`SecurityGroupIds`,Lb=`SecurityGroupList`,Rb=`SecurityGroupRules`,zb=`SecurityGroupRuleArn`,Bb=`SecurityGroupRuleIds`,Vb=`SecurityGroupRuleIdList`,Hb=`SecurityGroupRuleId`,Ub=`SecurityGroupRuleList`,Wb=`SecurityGroupRule`,Gb=`SecurityGroupStringList`,Kb=`SecurityGroups`,qb=`SecurityGroup`,Jb=`SubnetIds`,Yb=`SubnetIpv6CidrBlockAssociation`,Xb=`SubnetIpv6CidrBlockAssociationSet`,Zb=`SizeInGB`,Qb=`SourceImageId`,$b=`SecondaryInterfaceId`,ex=`SourceInstanceId`,tx=`SizeInMiB`,nx=`SpotInstanceRequestId`,rx=`SourceImageRegion`,ix=`StartInstancesRequest`,ax=`StartInstancesResult`,ox=`StopInstancesRequest`,sx=`StopInstancesResult`,cx=`SnapshotIdStringList`,lx=`SubnetIdStringList`,ux=`SpotInstanceType`,dx=`SecondaryInterfaces`,fx=`SecondaryInterface`,px=`SnapshotId`,mx=`SnapshotIds`,hx=`StartingInstances`,gx=`StartInstances`,_x=`StoppingInstances`,vx=`StopInstances`,yx=`SubnetId`,bx=`SnapshotLocation`,xx=`SnapshotList`,Sx=`SpreadLevel`,Cx=`SubnetList`,wx=`SpotMarketOptions`,Tx=`StatusMessage`,Ex=`StateMessage`,Dx=`SecondaryNetworkId`,Ox=`SriovNetSupport`,kx=`SecondaryNetworkSupported`,Ax=`SpotOptions`,jx=`SkipOsShutdown`,Mx=`SecondaryPrivateIpAddressCount`,Nx=`SupportedRootDeviceTypes`,Px=`SourceRegion`,Fx=`StateReason`,Ix=`SourceSecurityGroupName`,Lx=`SourceSecurityGroupOwnerId`,Rx=`SourceSnapshotId`,zx=`SecondarySubnetId`,Bx=`SupportedStrategies`,Vx=`StartTime`,Hx=`StateTransitionReason`,Ux=`SseType`,Wx=`StorageTier`,Gx=`SupportedUsageClasses`,Kx=`SensitiveUserData`,qx=`SourceVolumeId`,Jx=`SupportedVirtualizationTypes`,Yx=`SupportedVersions`,Xx=`Size`,Zx=`Snapshots`,Qx=`Snapshot`,$x=`State`,eS=`Status`,tS=`Strategy`,nS=`Subnet`,rS=`Subnets`,iS=`Tags`,aS=`TcpEstablishedTimeout`,oS=`TotalFpgaMemoryInMiB`,sS=`TransitGatewayId`,cS=`TotalGpuMemoryInMiB`,lS=`TerminateInstances`,uS=`TotalInferenceMemoryInMiB`,dS=`TerminateInstancesRequest`,fS=`TerminateInstancesResult`,pS=`TargetIops`,mS=`TerminatingInstances`,hS=`TagList`,gS=`TargetMultiAttachEnabled`,_S=`TotalMediaMemoryInMiB`,vS=`TotalNeuronDeviceMemoryInMiB`,yS=`ToPort`,bS=`ThreadsPerCore`,xS=`ThreadsPerCoreList`,SS=`TagSpecifications`,CS=`TotalSizeInGB`,wS=`TagSpecificationList`,TS=`TagSpecification`,ES=`TargetSize`,DS=`TpmSupport`,OS=`TargetThroughput`,kS=`TransferType`,AS=`TargetVolumeType`,jS=`Tag`,MS=`Tenancy`,NS=`Throughput`,PS=`Timestamp`,FS=`Type`,IS=`UsageClassTypeList`,LS=`UserData`,RS=`UserId`,zS=`UserIdGroupPairs`,BS=`UserIdGroupPairList`,VS=`UserIdGroupPair`,HS=`UnknownIpPermissions`,US=`UsageOperation`,WS=`UsageOperationUpdateTime`,GS=`UdpStreamTimeout`,KS=`UdpTimeout`,qS=`Value`,JS=`VolumeAttachmentList`,YS=`VolumeAttachment`,XS=`VpcCidrBlockAssociation`,ZS=`VpcCidrBlockAssociationSet`,QS=`VpcCidrBlockState`,$S=`VCpuInfo`,eC=`ValidCores`,tC=`VpcEncryptionControl`,nC=`VpcEncryptionControlConfiguration`,rC=`VpcEncryptionControlExclusion`,iC=`VpcEncryptionControlExclusions`,aC=`VpcEncryptionControlId`,oC=`VpcEndpointId`,sC=`VpcId`,cC=`VpcIpv6CidrBlockAssociation`,lC=`VpcIpv6CidrBlockAssociationSet`,uC=`VolumeInitializationRate`,dC=`VolumeIdStringList`,fC=`VpcIdStringList`,pC=`VolumeId`,mC=`VolumeIds`,hC=`VpcIds`,gC=`VpcLattice`,_C=`VpcLatticeExclusion`,vC=`VolumeList`,yC=`VpcList`,bC=`VolumeModification`,xC=`VirtualName`,SC=`VolumeOwnerId`,CC=`VpcPeeringConnectionId`,wC=`VpcPeeringExclusion`,TC=`VirtualPrivateGateway`,EC=`VirtualPrivateGatewayExclusion`,DC=`VpcPeering`,OC=`ValueStringList`,kC=`VolumeSize`,AC=`VolumeType`,jC=`VirtualizationTypeList`,MC=`ValidThreadsPerCore`,NC=`VirtualizationType`,PC=`ValidUntil`,FC=`Values`,IC=`Version`,LC=`Volumes`,RC=`Volume`,zC=`Vpc`,BC=`Vpcs`,VC=`WorkloadsList`,HC=`Workloads`,UC=`ZoneId`,WC=`ZoneIdStringList`,GC=`ZoneIds`,KC=`ZoneName`,qC=`ZoneNameStringList`,JC=`ZoneNames`,YC=`ZoneType`,XC=`additionalFlexibleNetworkInterfaces`,ZC=`availableIpAddressCount`,QC=`assignIpv6AddressOnCreation`,$C=`additionalInfo`,ew=`associationId`,tw=`attachmentId`,nw=`amiLaunchIndex`,rw=`attachmentLimitType`,iw=`associatePublicIpAddress`,aw=`amazonProvidedIpv6CidrBlock`,ow=`autoRecoverySupported`,sw=`associatedResource`,cw=`autoRecovery`,lw=`associationState`,uw=`amdSevSnp`,dw=`associationSet`,fw=`attachmentSet`,pw=`attachTime`,mw=`availabilityZone`,hw=`availabilityZoneId`,gw=`availabilityZoneInfo`,_w=`accelerators`,vw=`affinity`,yw=`arn`,bw=`architecture`,xw=`association`,Sw=`attachment`,Cw=`attribute`,ww=`baselineBandwidthInGbps`,Tw=`baselineBandwidthInMbps`,Ew=`blockDeviceMapping`,Dw=`baselineIops`,Ow=`bootMode`,kw=`bareMetal`,Aw=`blockPublicAccessStates`,jw=`burstablePerformanceSupported`,Mw=`baselineThroughputInMBps`,Nw=`bandwidthWeighting`,Pw=`bandwidthWeightings`,Fw=`cidrBlock`,Iw=`cidrBlockAssociationSet`,Lw=`capacityBlockId`,Rw=`cidrBlockState`,zw=`coreCount`,Bw=`completionDurationMinutes`,Vw=`creationDate`,Hw=`carrierGatewayId`,Uw=`currentGeneration`,Ww=`carrierIp`,Gw=`currentInstanceBootMode`,Kw=`cidrIp`,qw=`cidrIpv6`,Jw=`cidrIpv4`,Yw=`coreInfo`,Xw=`coreNetworkArn`,Zw=`cpuOptions`,Qw=`customerOwnedIp`,$w=`customerOwnedIpv4Pool`,eT=`capacityReservationId`,tT=`capacityReservationPreference`,nT=`capacityReservationResourceGroupArn`,rT=`capacityReservationSpecification`,iT=`capacityReservationTarget`,aT=`currentState`,oT=`clientToken`,sT=`connectionTrackingConfiguration`,cT=`completionTime`,lT=`createTime`,uT=`code`,dT=`configured`,fT=`count`,pT=`disableApiTermination`,mT=`destinationCidrBlock`,hT=`defaultCores`,gT=`dataEncryptionKeyId`,_T=`defaultEnaQueueCountPerInterface`,vT=`defaultForAz`,yT=`dedicatedHostsSupported`,bT=`deviceIndex`,xT=`destinationIpv6CidrBlock`,ST=`deviceName`,CT=`defaultNetworkCardIndex`,wT=`dnsName`,TT=`dhcpOptionsId`,ET=`deleteOnTermination`,DT=`destinationPrefixListId`,OT=`deregistrationProtection`,h=`dryRun`,kT=`destinationRegion`,AT=`defaultTcpEstablishedTimeout`,jT=`defaultThreadsPerCore`,MT=`deprecationTime`,NT=`defaultUdpStreamTimeout`,PT=`defaultUdpTimeout`,FT=`defaultVCpus`,IT=`description`,LT=`device`,RT=`disks`,zT=`ebsCardIndex`,BT=`ebsCardSet`,VT=`encryptionControl`,HT=`enableDns64`,UT=`elasticFileSystem`,WT=`elasticGpuAssociationId`,GT=`elasticGpuAssociationState`,KT=`elasticGpuAssociationSet`,qT=`elasticGpuAssociationTime`,JT=`elasticGpuId`,YT=`elasticInferenceAcceleratorArn`,XT=`elasticInferenceAcceleratorAssociationId`,ZT=`elasticInferenceAcceleratorAssociationState`,QT=`elasticInferenceAcceleratorAssociationSet`,$T=`elasticInferenceAcceleratorAssociationTime`,eE=`encryptionInTransitSupported`,tE=`ebsInfo`,nE=`efaInfo`,rE=`enableLniAtDeviceIndex`,iE=`ebsOptimized`,aE=`ebsOptimizedInfo`,oE=`egressOnlyInternetGateway`,sE=`egressOnlyInternetGatewayId`,cE=`ebsOptimizedSupport`,lE=`enclaveOptions`,uE=`enaQueueCount`,g=`ec2QueryName`,dE=`enableResourceNameDnsAAAARecord`,fE=`enableResourceNameDnsARecord`,pE=`enaSrdEnabled`,mE=`enaSrdSpecification`,hE=`enaSrdSupported`,gE=`enaSrdUdpEnabled`,_E=`enaSrdUdpSpecification`,vE=`efaSupported`,yE=`encryptionSupport`,bE=`enaSupport`,xE=`endTime`,SE=`ebs`,CE=`enabled`,wE=`encrypted`,TE=`flexibleEnaQueuesSupport`,EE=`fpgaInfo`,DE=`fromPort`,OE=`fastRestored`,kE=`fullSnapshotSizeInBytes`,AE=`freeTierEligible`,jE=`force`,ME=`fpgas`,NE=`groupArn`,PE=`groupDescription`,FE=`gatewayId`,IE=`gpuInfo`,LE=`groupId`,RE=`groupLongName`,zE=`groupName`,BE=`groupOwnerId`,VE=`gpuPartitionSize`,HE=`geographySet`,UE=`groupSet`,WE=`gpus`,GE=`groups`,KE=`hypervisor`,qE=`httpEndpoint`,JE=`hostId`,YE=`hibernationOptions`,XE=`httpProtocolIpv6`,ZE=`httpPutResponseHopLimit`,QE=`hostResourceGroupArn`,$E=`hibernationSupported`,eD=`httpTokens`,tD=`hostnameType`,nD=`id`,rD=`ipv6AddressAttribute`,iD=`ipv6AddressCount`,aD=`inferenceAcceleratorInfo`,oD=`ipv4AddressesPerInterface`,sD=`ipv6AddressesPerInterface`,cD=`ipv4AddressesPerSecondaryInterface`,lD=`ipv6AddressesSet`,uD=`imageAllowed`,dD=`ipAddress`,fD=`ipv6Address`,pD=`ipv6CidrBlock`,mD=`ipv6CidrBlockAssociationSet`,hD=`ipv6CidrBlockState`,gD=`isDefault`,_D=`isEgress`,vD=`internetGateway`,yD=`internetGatewayBlockMode`,bD=`internetGatewayId`,xD=`internetGatewaySet`,SD=`instanceId`,CD=`iamInstanceProfile`,wD=`instanceInitiatedShutdownBehavior`,TD=`imageId`,ED=`imageLocation`,DD=`instanceLifecycle`,OD=`instanceMetadataTags`,kD=`ipv6Native`,AD=`imageOwnerAlias`,jD=`imageOwnerId`,MD=`instanceOwnerId`,ND=`ipOwnerId`,PD=`instanceOwningService`,FD=`ipPermissionsEgress`,ID=`isPrimaryIpv6`,LD=`ipv4PrefixSet`,RD=`ipv6PrefixSet`,zD=`ipProtocol`,BD=`ipPermissions`,VD=`ipv4Prefix`,HD=`ipv6Pool`,UD=`ipv6Prefix`,WD=`isPublic`,GD=`ipRanges`,KD=`ipv6Ranges`,qD=`instanceStorageInfo`,JD=`instanceStorageSupported`,YD=`imagesSet`,XD=`imageState`,ZD=`imdsSupport`,QD=`instancesSet`,$D=`instanceState`,eO=`ipSource`,tO=`ipv6Supported`,nO=`instanceType`,rO=`instanceTypeSet`,iO=`idempotencyToken`,aO=`imageType`,oO=`instanceTenancy`,sO=`interfaceType`,cO=`iops`,_=`item`,lO=`key`,uO=`keyFingerprint`,dO=`kernelId`,fO=`kmsKeyId`,pO=`keyMaterial`,mO=`keyName`,hO=`keyPairId`,gO=`keySet`,_O=`keyType`,vO=`kernel`,yO=`licenseConfigurationArn`,bO=`logicalGpuCount`,xO=`localGatewayId`,SO=`linkedGroupId`,CO=`lastLaunchedTime`,wO=`licenseSet`,TO=`launchTime`,EO=`lambda`,DO=`multiAttachEnabled`,OO=`mediaAcceleratorInfo`,kO=`macAddress`,AO=`maximumBandwidthInMbps`,jO=`mapCustomerOwnedIpOnLaunch`,MO=`maximumEbsAttachments`,NO=`maximumEbsCards`,PO=`maximumEfaInterfaces`,FO=`maximumEnaQueueCount`,IO=`maximumEnaQueueCountPerInterface`,LO=`maximumIops`,RO=`memoryInfo`,zO=`maximumNetworkCards`,BO=`maximumNetworkInterfaces`,VO=`metadataOptions`,HO=`maintenanceOptions`,UO=`mapPublicIpOnLaunch`,WO=`maxResults`,GO=`messageSet`,KO=`maximumSecondaryNetworkInterfaces`,qO=`modificationState`,JO=`maximumThroughputInMBps`,YO=`main`,XO=`manufacturer`,ZO=`managed`,QO=`message`,$O=`monitoring`,ek=`mode`,tk=`name`,nk=`networkBorderGroup`,rk=`networkCards`,ik=`networkCardIndex`,ak=`noDevice`,ok=`neuronDevices`,sk=`nitroEnclavesSupport`,ck=`natGateway`,lk=`natGatewayId`,uk=`networkInterfaceId`,dk=`networkInterfaceSet`,fk=`networkInterface`,pk=`networkInfo`,mk=`neuronInfo`,hk=`networkPerformanceOptions`,gk=`networkPerformance`,_k=`noReboot`,vk=`nvmeSupport`,yk=`nitroTpmInfo`,bk=`nitroTpmSupport`,xk=`nextToken`,Sk=`nestedVirtualization`,Ck=`origin`,wk=`outpostArn`,Tk=`ownerAlias`,Ek=`ownerId`,Dk=`optInStatus`,Ok=`originalIops`,kk=`originalMultiAttachEnabled`,Ak=`odbNetworkArn`,jk=`originalSize`,Mk=`originalThroughput`,Nk=`originalVolumeType`,Pk=`operator`,Fk=`output`,Ik=`principal`,Lk=`peakBandwidthInGbps`,Rk=`productCodes`,zk=`partitionCount`,Bk=`productCode`,Vk=`privateDnsNameOptions`,Hk=`privateDnsNameOptionsOnLaunch`,Uk=`privateDnsName`,Wk=`publicDnsName`,Gk=`platformDetails`,Kk=`placementGroup`,qk=`placementGroupInfo`,Jk=`placementGroupSet`,Yk=`publicIp`,Xk=`privateIpAddressesSet`,Zk=`privateIpAddressSet`,Qk=`privateIpAddress`,$k=`publicIpv4Pool`,eA=`processorInfo`,tA=`publicKey`,nA=`publicKeyMaterial`,rA=`prefixListId`,iA=`prefixListIds`,aA=`partitionNumber`,oA=`peeringStatus`,sA=`phcSupport`,cA=`previousState`,lA=`presignedUrl`,uA=`propagatingVgwSet`,dA=`parentZoneId`,fA=`parentZoneName`,pA=`platform`,mA=`placement`,hA=`primary`,gA=`progress`,_A=`return`,vA=`rootDeviceName`,yA=`rootDeviceType`,bA=`restoreExpiryTime`,xA=`regionEndpoint`,SA=`resourceExclusions`,CA=`referencedGroupId`,wA=`referencedGroupInfo`,TA=`reservationId`,EA=`ramdiskId`,DA=`regionInfo`,OA=`requesterId`,kA=`rebootMigrationSupport`,AA=`rebootMigration`,jA=`regionName`,MA=`revokedSecurityGroupRuleSet`,NA=`reservationSet`,PA=`routeSet`,FA=`routeTableAssociationId`,IA=`routeTableId`,LA=`routeTableSet`,RA=`resourceType`,zA=`routeTable`,BA=`ramdisk`,VA=`reason`,HA=`smithy.ts.sdk.synthetic.com.amazonaws.ec2`,UA=`supportedArchitectures`,WA=`subnetArn`,GA=`supportedBootModes`,KA=`sustainedClockSpeedInGhz`,qA=`sourceDestCheck`,JA=`spreadDomain`,YA=`supportedFeatures`,XA=`securityGroupArn`,ZA=`securityGroupInfo`,QA=`securityGroupRuleArn`,$A=`securityGroupRuleId`,ej=`securityGroupRuleSet`,tj=`subGeographySet`,nj=`sizeInGB`,rj=`sourceInstanceId`,ij=`secondaryInterfaceId`,aj=`sourceImageId`,oj=`sizeInMiB`,sj=`sourceImageRegion`,cj=`spotInstanceRequestId`,lj=`secondaryInterfaceSet`,uj=`snapshotId`,dj=`subnetId`,fj=`spreadLevel`,pj=`statusMessage`,mj=`stateMessage`,hj=`secondaryNetworkId`,gj=`secondaryNetworkSupported`,_j=`sriovNetSupport`,vj=`secondaryPrivateIpAddressCount`,yj=`supportedRootDeviceTypes`,bj=`stateReason`,xj=`sourceSecurityGroupName`,Sj=`sourceSecurityGroupOwnerId`,Cj=`secondarySubnetId`,wj=`snapshotSet`,Tj=`subnetSet`,Ej=`supportedStrategies`,Dj=`startTime`,Oj=`sseType`,kj=`storageTier`,Aj=`supportedUsageClasses`,jj=`sourceVolumeId`,Mj=`supportedVirtualizationTypes`,Nj=`supportedVersions`,Pj=`size`,Fj=`state`,Ij=`status`,Lj=`strategy`,Rj=`subnet`,zj=`tenancy`,Bj=`tcpEstablishedTimeout`,Vj=`totalFpgaMemoryInMiB`,Hj=`transitGatewayId`,Uj=`totalGpuMemoryInMiB`,Wj=`totalInferenceMemoryInMiB`,Gj=`targetIops`,Kj=`targetMultiAttachEnabled`,qj=`totalMediaMemoryInMiB`,Jj=`totalNeuronDeviceMemoryInMiB`,Yj=`toPort`,Xj=`threadsPerCore`,Zj=`tagSet`,Qj=`totalSizeInGB`,$j=`targetSize`,eM=`tpmSupport`,tM=`targetThroughput`,nM=`transferType`,rM=`targetVolumeType`,iM=`throughput`,aM=`timestamp`,oM=`type`,sM=`userData`,cM=`userId`,lM=`unknownIpPermissionSet`,uM=`usageOperation`,dM=`usageOperationUpdateTime`,fM=`udpStreamTimeout`,pM=`udpTimeout`,mM=`value`,hM=`vCpuInfo`,gM=`validCores`,_M=`vpcEncryptionControlId`,vM=`vpcId`,yM=`volumeInitializationRate`,bM=`volumeId`,xM=`vpcLattice`,SM=`volumeModification`,CM=`virtualName`,wM=`volumeOwnerId`,TM=`vpcPeeringConnectionId`,EM=`virtualPrivateGateway`,DM=`vpcPeering`,OM=`volumeSet`,kM=`volumeSize`,AM=`vpcSet`,jM=`volumeType`,MM=`validThreadsPerCore`,NM=`virtualizationType`,PM=`version`,FM=`vpc`,IM=`workloadSet`,v=`xmlName`,LM=`zoneId`,RM=`zoneName`,zM=`zoneState`,BM=`zoneType`,y=`com.amazonaws.ec2`,VM=At.for(HA),HM=[-3,HA,`EC2ServiceException`,0,[],[]];VM.registerError(HM,Xo);var UM=[VM],WM=[0,y,dl,8,0],GM=[0,y,Fy,8,0],KM=[0,y,Kx,8,0],qM=[3,y,ps,0,[lb,$f,Zv,m,yx],[[0,{[g]:`RouteTableId`,[v]:IA}],0,0,[2,{[g]:`DryRun`,[v]:h}],[0,{[g]:`SubnetId`,[v]:dj}]],1],JM=[3,y,ms,0,[os,ys],[[0,{[g]:`AssociationId`,[v]:ew}],[()=>FI,{[g]:`AssociationState`,[v]:lw}]]],YM=[3,y,is,0,[am,sC,m],[[0,{[g]:`InternetGatewayId`,[v]:bD}],[0,{[g]:`VpcId`,[v]:vM}],[2,{[g]:`DryRun`,[v]:h}]],2],XM=[3,y,ks,0,[vd,um,pC,Cd,m],[0,0,0,1,[2,{[g]:`DryRun`,[v]:h}]],3],ZM=[3,y,Qo,0,[qS],[[2,{[g]:`Value`,[v]:mM}]]],QM=[3,y,As,0,[qS],[[0,{[g]:`Value`,[v]:mM}]]],$M=[3,y,xs,0,[rp,SS,m,Ix,Lx,vh,Lf,yS,Nc,gh],[[0,{[g]:`GroupId`,[v]:LE}],[()=>YR,{[v]:TS}],[2,{[g]:`DryRun`,[v]:h}],[0,{[g]:`SourceSecurityGroupName`,[v]:xj}],[0,{[g]:`SourceSecurityGroupOwnerId`,[v]:Sj}],[0,{[g]:`IpProtocol`,[v]:zD}],[1,{[g]:`FromPort`,[v]:DE}],[1,{[g]:`ToPort`,[v]:Yj}],[0,{[g]:`CidrIp`,[v]:Kw}],[()=>aR,{[g]:`IpPermissions`,[v]:BD}]],1],eN=[3,y,Ss,0,[by,Rb],[[2,{[g]:`Return`,[v]:_A}],[()=>BR,{[g]:`SecurityGroupRuleSet`,[v]:ej}]]],tN=[3,y,Cs,0,[Nc,Lf,rp,sp,gh,vh,Ix,Lx,yS,SS,m],[0,1,0,0,[()=>aR,0],0,0,0,1,[()=>YR,{[v]:TS}],[2,{[g]:`DryRun`,[v]:h}]]],nN=[3,y,ws,0,[by,Rb],[[2,{[g]:`Return`,[v]:_A}],[()=>BR,{[g]:`SecurityGroupRuleSet`,[v]:ej}]]],rN=[3,y,Ms,0,[cv,E_,Ky,KC,UC,sp,A_,YC,my,py,op,fp,Mb,$x],[[0,{[g]:`OptInStatus`,[v]:Dk}],[()=>_L,{[g]:`MessageSet`,[v]:GO}],[0,{[g]:`RegionName`,[v]:jA}],[0,{[g]:`ZoneName`,[v]:RM}],[0,{[g]:`ZoneId`,[v]:LM}],[0,{[g]:`GroupName`,[v]:zE}],[0,{[g]:`NetworkBorderGroup`,[v]:nk}],[0,{[g]:`ZoneType`,[v]:BM}],[0,{[g]:`ParentZoneName`,[v]:fA}],[0,{[g]:`ParentZoneId`,[v]:dA}],[0,{[g]:`GroupLongName`,[v]:RE}],[()=>hL,{[g]:`GeographySet`,[v]:HE}],[()=>vL,{[g]:`SubGeographySet`,[v]:tj}],[0,{[g]:`ZoneState`,[v]:zM}]]],iN=[3,y,Ns,0,[k_],[[0,{[g]:`Name`,[v]:tk}]]],aN=[3,y,Ls,0,[T_],[[0,{[g]:`Message`,[v]:QO}]]],oN=[3,y,zs,0,[k_],[[0,{[g]:`Name`,[v]:tk}]]],sN=[3,y,Zs,0,[qS],[[21,{[g]:`Value`,[v]:mM}]]],cN=[3,y,ec,0,[Ef,F_,vu,xC],[[()=>EP,{[g]:`Ebs`,[v]:SE}],[0,{[g]:`NoDevice`,[v]:ak}],[0,{[g]:`DeviceName`,[v]:ST}],[0,{[g]:`VirtualName`,[v]:CM}]]],lN=[3,y,lc,0,[rm],[[0,{[g]:`InternetGatewayBlockMode`,[v]:yD}]]],uN=[3,y,el,0,[Yc,tl],[0,()=>fN]],dN=[3,y,$c,0,[Yc,tl],[[0,{[g]:`CapacityReservationPreference`,[v]:tT}],[()=>pN,{[g]:`CapacityReservationTarget`,[v]:iT}]]],fN=[3,y,tl,0,[Jc,Zc],[0,0]],pN=[3,y,nl,0,[Jc,Zc],[[0,{[g]:`CapacityReservationId`,[v]:eT}],[0,{[g]:`CapacityReservationResourceGroupArn`,[v]:nT}]]],mN=[3,y,Tl,0,[aS,GS,KS],[1,1,1]],hN=[3,y,El,0,[aS,GS,KS],[[1,{[g]:`TcpEstablishedTimeout`,[v]:Bj}],[1,{[g]:`UdpStreamTimeout`,[v]:fM}],[1,{[g]:`UdpTimeout`,[v]:pM}]]],gN=[3,y,ul,0,[Px,Rx,_d,bu,Fu,Of,cg,ly,SS,Sc,zl,m],[0,0,0,0,[0,{[g]:`DestinationRegion`,[v]:kT}],[2,{[g]:`Encrypted`,[v]:wE}],[0,{[g]:`KmsKeyId`,[v]:fO}],[()=>WM,{[g]:`PresignedUrl`,[v]:lA}],[()=>YR,{[v]:TS}],1,0,[2,{[g]:`DryRun`,[v]:h}]],2],_N=[3,y,fl,0,[iS,px],[[()=>JR,{[g]:`TagSet`,[v]:Zj}],[0,{[g]:`SnapshotId`,[v]:uj}]]],vN=[3,y,Vc,0,[bc,bS,Es,rv],[[1,{[g]:`CoreCount`,[v]:zw}],[1,{[g]:`ThreadsPerCore`,[v]:Xj}],[0,{[g]:`AmdSevSnp`,[v]:uw}],[0,{[g]:`NestedVirtualization`,[v]:Sk}]]],yN=[3,y,Wc,0,[bc,bS,Es,rv],[1,1,0,0]],bN=[3,y,jc,0,[um,k_,SS,bx,m,_d,Z_,rc],[[0,{[g]:`InstanceId`,[v]:SD}],[0,{[g]:`Name`,[v]:tk}],[()=>YR,{[v]:TS}],0,[2,{[g]:`DryRun`,[v]:h}],[0,{[g]:`Description`,[v]:IT}],[2,{[g]:`NoReboot`,[v]:_k}],[()=>xL,{[g]:`BlockDeviceMapping`,[v]:Ew}]],2],xN=[3,y,Mc,0,[Tm],[[0,{[g]:`ImageId`,[v]:TD}]]],SN=[3,y,kc,0,[SS,m],[[()=>YR,{[v]:TS}],[2,{[g]:`DryRun`,[v]:h}]]],CN=[3,y,Ac,0,[em],[[()=>IF,{[g]:`InternetGateway`,[v]:vD}]]],wN=[3,y,zc,0,[ug,bg,SS,ag,m],[0,0,[()=>YR,{[v]:TS}],0,[2,{[g]:`DryRun`,[v]:h}]],1],TN=[3,y,Kc,0,[Ov,SS,Sx,Og,yv,m,sp,tS],[1,[()=>YR,{[v]:TS}],0,0,()=>lI,[2,{[g]:`DryRun`,[v]:h}],[0,{[g]:`GroupName`,[v]:zE}],[0,{[g]:`Strategy`,[v]:Lj}]]],EN=[3,y,qc,0,[Rv],[[()=>fI,{[g]:`PlacementGroup`,[v]:Kk}]]],DN=[3,y,Xc,0,[lb,Ou,oC,sS,Dg,wc,Bc,fv,m,Ul,$f,Zl,of,um,G_,CC,W_],[[0,{[g]:`RouteTableId`,[v]:IA}],0,0,0,0,0,0,0,[2,{[g]:`DryRun`,[v]:h}],[0,{[g]:`DestinationCidrBlock`,[v]:mT}],[0,{[g]:`GatewayId`,[v]:FE}],[0,{[g]:`DestinationIpv6CidrBlock`,[v]:xT}],[0,{[g]:`EgressOnlyInternetGatewayId`,[v]:sE}],[0,{[g]:`InstanceId`,[v]:SD}],[0,{[g]:`NetworkInterfaceId`,[v]:uk}],[0,{[g]:`VpcPeeringConnectionId`,[v]:TM}],[0,{[g]:`NatGatewayId`,[v]:lk}]],1],ON=[3,y,Qc,0,[by],[[2,{[g]:`Return`,[v]:_A}]]],kN=[3,y,rl,0,[sC,SS,Sl,m],[[0,{[g]:`VpcId`,[v]:vM}],[()=>YR,{[v]:TS}],[0,4],[2,{[g]:`DryRun`,[v]:h}]],1],AN=[3,y,il,0,[mb,Sl],[[()=>NI,{[g]:`RouteTable`,[v]:zA}],[0,{[g]:`ClientToken`,[v]:oT}]]],jN=[3,y,cl,0,[_d,sp,sC,SS,m],[[0,{[v]:Yf}],0,0,[()=>YR,{[v]:TS}],[2,{[g]:`DryRun`,[v]:h}]],2],MN=[3,y,ll,0,[rp,iS,Nb],[[0,{[g]:`GroupId`,[v]:LE}],[()=>JR,{[g]:`TagSet`,[v]:Zj}],[0,{[g]:`SecurityGroupArn`,[v]:XA}]]],NN=[3,y,pl,0,[pC,_d,av,SS,Hg,m],[0,0,0,[()=>YR,{[v]:TS}],0,[2,{[g]:`DryRun`,[v]:h}]],1],PN=[3,y,ml,0,[sC,SS,Ms,Fs,hc,Up,av,Hm,gm,Xm,hm,Ym,m],[0,[()=>YR,{[v]:TS}],0,0,0,0,0,2,0,1,0,1,[2,{[g]:`DryRun`,[v]:h}]],1],FN=[3,y,hl,0,[nS],[[()=>qI,{[g]:`Subnet`,[v]:Rj}]]],IN=[3,y,kl,0,[Ms,Fs,Of,rg,cg,av,Xx,px,AC,SS,Ug,NS,Sl,uC,yv,m],[0,0,[2,{[g]:`Encrypted`,[v]:wE}],1,0,0,1,0,0,[()=>YR,{[v]:TS}],2,1,[0,4],1,()=>lI,[2,{[g]:`DryRun`,[v]:h}]]],LN=[3,y,Al,0,[hc,bh,Up,gm,Xm,hm,Ym,Gp,tC,SS,m,Xh,ds],[0,0,0,0,1,0,1,0,()=>lL,[()=>YR,{[v]:TS}],[2,{[g]:`DryRun`,[v]:h}],[0,{[g]:`InstanceTenancy`,[v]:oO}],[2,{[g]:`AmazonProvidedIpv6CidrBlock`,[v]:aw}]]],RN=[3,y,jl,0,[zC],[[()=>aL,{[g]:`Vpc`,[v]:FM}]]],zN=[3,y,gl,0,[xc],[0],1],BN=[3,y,Wl,0,[$u,rd,nd],[[1,{[g]:`DefaultTcpEstablishedTimeout`,[v]:AT}],[1,{[g]:`DefaultUdpTimeout`,[v]:PT}],[1,{[g]:`DefaultUdpStreamTimeout`,[v]:NT}]]],VN=[3,y,pu,0,[ug,mg,m],[0,0,[2,{[g]:`DryRun`,[v]:h}]]],HN=[3,y,mu,0,[by,mg],[[2,{[g]:`Return`,[v]:_A}],[0,{[g]:`KeyPairId`,[v]:hO}]]],UN=[3,y,wu,0,[sp,m],[[0,{[g]:`GroupName`,[v]:zE}],[2,{[g]:`DryRun`,[v]:h}]],1],WN=[3,y,Ru,0,[rp,sp,m],[0,0,[2,{[g]:`DryRun`,[v]:h}]]],GN=[3,y,zu,0,[by,rp],[[2,{[g]:`Return`,[v]:_A}],[0,{[g]:`GroupId`,[v]:LE}]]],KN=[3,y,Uu,0,[px,m],[0,[2,{[g]:`DryRun`,[v]:h}]],1],qN=[3,y,Wu,0,[yx,m],[0,[2,{[g]:`DryRun`,[v]:h}]],1],JN=[3,y,ad,0,[pC,m],[0,[2,{[g]:`DryRun`,[v]:h}]],1],YN=[3,y,od,0,[sC,m],[0,[2,{[g]:`DryRun`,[v]:h}]],1],XN=[3,y,Bl,0,[JC,GC,Zo,m,Vf],[[()=>uz,{[v]:KC}],[()=>lz,{[v]:UC}],2,[2,{[g]:`DryRun`,[v]:h}],[()=>jL,{[v]:Hf}]]],ZN=[3,y,Vl,0,[Vs],[[()=>gL,{[g]:`AvailabilityZoneInfo`,[v]:gw}]]],QN=[3,y,nu,0,[Tf,Em,xv,qp,Zp,m_,nv,m,Vf],[[()=>AL,{[v]:Sd}],[()=>LL,{[v]:Tm}],[()=>yR,{[v]:Sv}],2,2,1,0,[2,{[g]:`DryRun`,[v]:h}],[()=>jL,{[v]:Hf}]]],$N=[3,y,ru,0,[nv,$h],[[0,{[g]:`NextToken`,[v]:xk}],[()=>RL,{[g]:`ImagesSet`,[v]:YD}]]],eP=[3,y,iu,0,[Dm,m,Vf,nv,m_],[[()=>HL,{[v]:um}],[2,{[g]:`DryRun`,[v]:h}],[()=>jL,{[v]:Hf}],[0,{[g]:`NextToken`,[v]:xk}],[1,{[g]:`MaxResults`,[v]:WO}]]],tP=[3,y,au,0,[nv,yb],[[0,{[g]:`NextToken`,[v]:xk}],[()=>AR,{[g]:`ReservationSet`,[v]:NA}]]],nP=[3,y,ou,0,[m,Zh,Vf,m_,nv],[2,[64,{[v]:Kh}],[()=>jL,{[v]:Hf}],1,0]],rP=[3,y,su,0,[Zh,nv],[[()=>tR,{[g]:`InstanceTypeSet`,[v]:rO}],[0,{[g]:`NextToken`,[v]:xk}]]],iP=[3,y,Ql,0,[nv,m_,m,sm,Vf],[0,1,[2,{[g]:`DryRun`,[v]:h}],[()=>rR,{[g]:`InternetGatewayId`,[v]:bD}],[()=>jL,{[v]:Hf}]]],aP=[3,y,$l,0,[lm,nv],[[()=>iR,{[g]:`InternetGatewaySet`,[v]:xD}],[0,{[g]:`NextToken`,[v]:xk}]]],oP=[3,y,hu,0,[fg,gg,lh,m,Vf],[[()=>uR,{[v]:ug}],[()=>dR,{[v]:mg}],2,[2,{[g]:`DryRun`,[v]:h}],[()=>jL,{[v]:Hf}]]],sP=[3,y,gu,0,[pg],[[()=>fR,{[g]:`KeySet`,[v]:gO}]]],cP=[3,y,Tu,0,[ip,m,lp,Vf],[[()=>bR,{[v]:rp}],[2,{[g]:`DryRun`,[v]:h}],[64,{[g]:`GroupName`,[v]:zE}],[()=>jL,{[v]:Hf}]]],lP=[3,y,Eu,0,[Uv],[[()=>xR,{[g]:`PlacementGroupSet`,[v]:Jk}]]],uP=[3,y,Au,0,[Jy,gs,m,Vf],[[()=>kR,{[v]:Ky}],2,[2,{[g]:`DryRun`,[v]:h}],[()=>jL,{[v]:Hf}]]],dP=[3,y,ju,0,[_b],[[()=>OR,{[g]:`RegionInfo`,[v]:DA}]]],fP=[3,y,Mu,0,[nv,m_,m,db,Vf],[0,1,[2,{[g]:`DryRun`,[v]:h}],[()=>FR,{[v]:lb}],[()=>jL,{[v]:Hf}]]],pP=[3,y,Nu,0,[hb,nv],[[()=>IR,{[g]:`RouteTableSet`,[v]:LA}],[0,{[g]:`NextToken`,[v]:xk}]]],mP=[3,y,Bu,0,[ip,lp,nv,m_,m,Vf],[[()=>FL,{[v]:rp}],[()=>IL,{[v]:sp}],0,1,[2,{[g]:`DryRun`,[v]:h}],[()=>jL,{[v]:Hf}]]],hP=[3,y,Vu,0,[nv,Kb],[[0,{[g]:`NextToken`,[v]:xk}],[()=>RR,{[g]:`SecurityGroupInfo`,[v]:ZA}]]],gP=[3,y,Gu,0,[m_,nv,uv,xy,mx,m,Vf],[1,0,[()=>yR,{[v]:Sv}],[64,{[v]:Sy}],[()=>HR,{[v]:px}],[2,{[g]:`DryRun`,[v]:h}],[()=>jL,{[v]:Hf}]]],_P=[3,y,Ku,0,[nv,Zx],[[0,{[g]:`NextToken`,[v]:xk}],[()=>UR,{[g]:`SnapshotSet`,[v]:wj}]]],vP=[3,y,qu,0,[Vf,Jb,nv,m_,m],[[()=>jL,{[v]:Hf}],[()=>WR,{[v]:yx}],0,1,[2,{[g]:`DryRun`,[v]:h}]]],yP=[3,y,Ju,0,[nv,rS],[[0,{[g]:`NextToken`,[v]:xk}],[()=>KR,{[g]:`SubnetSet`,[v]:Tj}]]],bP=[3,y,sd,0,[mC,m,Vf,nv,m_],[[()=>nz,{[v]:pC}],[2,{[g]:`DryRun`,[v]:h}],[()=>jL,{[v]:Hf}],[0,{[g]:`NextToken`,[v]:xk}],[1,{[g]:`MaxResults`,[v]:WO}]]],xP=[3,y,cd,0,[nv,LC],[[0,{[g]:`NextToken`,[v]:xk}],[()=>rz,{[g]:`VolumeSet`,[v]:OM}]]],SP=[3,y,ld,0,[Vf,hC,nv,m_,m],[[()=>jL,{[v]:Hf}],[()=>az,{[v]:sC}],0,1,[2,{[g]:`DryRun`,[v]:h}]]],CP=[3,y,ud,0,[nv,BC],[[0,{[g]:`NextToken`,[v]:xk}],[()=>sz,{[g]:`VpcSet`,[v]:AM}]]],wP=[3,y,dd,0,[pC,vd,Af,um,m],[0,0,2,0,[2,{[g]:`DryRun`,[v]:h}]],1],TP=[3,y,du,0,[Zb,Il,FS],[[1,{[g]:`SizeInGB`,[v]:nj}],[1,{[g]:`Count`,[v]:fT}],[0,{[g]:`Type`,[v]:oM}]]],EP=[3,y,bd,0,[Su,rg,px,kC,AC,cg,NS,av,Ms,Of,uC,Fs,Cd],[[2,{[g]:`DeleteOnTermination`,[v]:ET}],[1,{[g]:`Iops`,[v]:cO}],[0,{[g]:`SnapshotId`,[v]:uj}],[1,{[g]:`VolumeSize`,[v]:kM}],[0,{[g]:`VolumeType`,[v]:jM}],[0,{[g]:`KmsKeyId`,[v]:fO}],[1,{[g]:`Throughput`,[v]:iM}],[0,{[g]:`OutpostArn`,[v]:wk}],[0,{[g]:`AvailabilityZone`,[v]:mw}],[2,{[g]:`Encrypted`,[v]:wE}],1,0,1]],DP=[3,y,Td,0,[Cd,$s,dc,ac,Kg,v_,i_],[[1,{[g]:`EbsCardIndex`,[v]:zT}],[1,{[g]:`BaselineBandwidthInMbps`,[v]:Tw}],[1,{[g]:`BaselineThroughputInMBps`,[v]:Mw}],[1,{[g]:`BaselineIops`,[v]:Dw}],[1,{[g]:`MaximumBandwidthInMbps`,[v]:AO}],[1,{[g]:`MaximumThroughputInMBps`,[v]:JO}],[1,{[g]:`MaximumIops`,[v]:LO}]]],OP=[3,y,Qd,0,[cf,Sf,nf,Q_,$g,ls,e_,Ed],[[0,{[g]:`EbsOptimizedSupport`,[v]:cE}],[0,{[g]:`EncryptionSupport`,[v]:yE}],[()=>jP,{[g]:`EbsOptimizedInfo`,[v]:aE}],[0,{[g]:`NvmeSupport`,[v]:vk}],[1,{[g]:`MaximumEbsAttachments`,[v]:MO}],[0,{[g]:`AttachmentLimitType`,[v]:rw}],[1,{[g]:`MaximumEbsCards`,[v]:NO}],[()=>TL,{[g]:`EbsCardSet`,[v]:BT}]]],kP=[3,y,Yd,0,[Os,Su,eS,pC,_s,SC,yv,Cd],[[4,{[g]:`AttachTime`,[v]:pw}],[2,{[g]:`DeleteOnTermination`,[v]:ET}],[0,{[g]:`Status`,[v]:Ij}],[0,{[g]:`VolumeId`,[v]:bM}],[0,{[g]:`AssociatedResource`,[v]:sw}],[0,{[g]:`VolumeOwnerId`,[v]:wM}],[()=>uI,{[g]:`Operator`,[v]:Pk}],[1,{[g]:`EbsCardIndex`,[v]:zT}]]],AP=[3,y,Xd,0,[pC,Su],[[0,{[g]:`VolumeId`,[v]:bM}],[2,{[g]:`DeleteOnTermination`,[v]:ET}]]],jP=[3,y,nf,0,[$s,dc,ac,Kg,v_,i_],[[1,{[g]:`BaselineBandwidthInMbps`,[v]:Tw}],[1,{[g]:`BaselineThroughputInMBps`,[v]:Mw}],[1,{[g]:`BaselineIops`,[v]:Dw}],[1,{[g]:`MaximumBandwidthInMbps`,[v]:AO}],[1,{[g]:`MaximumThroughputInMBps`,[v]:JO}],[1,{[g]:`MaximumIops`,[v]:LO}]]],MP=[3,y,$d,0,[t_],[[1,{[g]:`MaximumEfaInterfaces`,[v]:PO}]]],NP=[3,y,jd,0,[Ld,Md,Pd,Fd],[[0,{[g]:`ElasticGpuId`,[v]:JT}],[0,{[g]:`ElasticGpuAssociationId`,[v]:WT}],[0,{[g]:`ElasticGpuAssociationState`,[v]:GT}],[0,{[g]:`ElasticGpuAssociationTime`,[v]:qT}]]],PP=[3,y,Rd,0,[FS],[0],1],FP=[3,y,Bd,0,[FS,Il],[0,1],1],IP=[3,y,Vd,0,[Kd,Hd,Wd,Gd],[[0,{[g]:`ElasticInferenceAcceleratorArn`,[v]:YT}],[0,{[g]:`ElasticInferenceAcceleratorAssociationId`,[v]:XT}],[0,{[g]:`ElasticInferenceAcceleratorAssociationState`,[v]:ZT}],[4,{[g]:`ElasticInferenceAcceleratorAssociationTime`,[v]:$T}]]],LP=[3,y,gf,0,[mf,yf],[2,()=>RP]],RP=[3,y,bf,0,[vf],[2]],zP=[3,y,lf,0,[Df],[[2,{[g]:`Enabled`,[v]:CE}]]],BP=[3,y,sf,0,[Df],[2]],VP=[3,y,Hf,0,[k_,FC],[0,[()=>$R,{[v]:qS}]]],HP=[3,y,jf,0,[k_,C_,Il,s_],[[0,{[g]:`Name`,[v]:tk}],[0,{[g]:`Manufacturer`,[v]:XO}],[1,{[g]:`Count`,[v]:fT}],[()=>UP,{[g]:`MemoryInfo`,[v]:RO}]]],UP=[3,y,Nf,0,[tx],[[1,{[g]:`SizeInMiB`,[v]:oj}]]],WP=[3,y,Ff,0,[Uf,oS],[[()=>ML,{[g]:`Fpgas`,[v]:ME}],[1,{[g]:`TotalFpgaMemoryInMiB`,[v]:Vj}]]],GP=[3,y,qf,0,[um,zg,m],[0,2,[2,{[g]:`DryRun`,[v]:h}]],1],KP=[3,y,Jf,0,[um,PS,bv],[[0,{[g]:`InstanceId`,[v]:SD}],[4,{[g]:`Timestamp`,[v]:aM}],[0,{[g]:`Output`,[v]:Fk}]]],qP=[3,y,Xf,0,[k_,C_,Il,Eg,dp,HC,s_],[[0,{[g]:`Name`,[v]:tk}],[0,{[g]:`Manufacturer`,[v]:XO}],[1,{[g]:`Count`,[v]:fT}],[1,{[g]:`LogicalGpuCount`,[v]:bO}],[1,{[g]:`GpuPartitionSize`,[v]:VE}],[()=>cz,{[g]:`WorkloadSet`,[v]:IM}],[()=>JP,{[g]:`MemoryInfo`,[v]:RO}]]],JP=[3,y,Qf,0,[tx],[[1,{[g]:`SizeInMiB`,[v]:oj}]]],YP=[3,y,np,0,[pp,cS],[[()=>NL,{[g]:`Gpus`,[v]:WE}],[1,{[g]:`TotalGpuMemoryInMiB`,[v]:Uj}]]],XP=[3,y,ap,0,[rp,sp],[[0,{[g]:`GroupId`,[v]:LE}],[0,{[g]:`GroupName`,[v]:zE}]]],ZP=[3,y,gp,0,[Fl],[[2,{[g]:`Configured`,[v]:dT}]]],QP=[3,y,_p,0,[Fl],[2]],$P=[3,y,mm,0,[Ws,Ep],[[0,{[g]:`Arn`,[v]:yw}],[0,{[g]:`Id`,[v]:nD}]]],eF=[3,y,ym,0,[Ws,k_],[[0,{[g]:`Arn`,[v]:yw}],[0,{[g]:`Name`,[v]:tk}]]],tF=[3,y,eg,0,[Lv,US,rc,_d,Cf,Tp,$m,k_,Cy,wy,Ox,Fx,iS,NC,oc,DS,td,Hh,ex,ku,Ag,Ip,Qb,rx,Bf,Tm,jm,$x,sv,Cc,yy,Av,Gs,Yh,sg,Iy,hy],[[0,{[g]:`PlatformDetails`,[v]:Gk}],[0,{[g]:`UsageOperation`,[v]:uM}],[()=>bL,{[g]:`BlockDeviceMapping`,[v]:Ew}],[0,{[g]:`Description`,[v]:IT}],[2,{[g]:`EnaSupport`,[v]:bE}],[0,{[g]:`Hypervisor`,[v]:KE}],[0,{[g]:`ImageOwnerAlias`,[v]:AD}],[0,{[g]:`Name`,[v]:tk}],[0,{[g]:`RootDeviceName`,[v]:vA}],[0,{[g]:`RootDeviceType`,[v]:yA}],[0,{[g]:`SriovNetSupport`,[v]:_j}],[()=>WI,{[g]:`StateReason`,[v]:bj}],[()=>JR,{[g]:`TagSet`,[v]:Zj}],[0,{[g]:`VirtualizationType`,[v]:NM}],[0,{[g]:`BootMode`,[v]:Ow}],[0,{[g]:`TpmSupport`,[v]:eM}],[0,{[g]:`DeprecationTime`,[v]:MT}],[0,{[g]:`ImdsSupport`,[v]:ZD}],[0,{[g]:`SourceInstanceId`,[v]:rj}],[0,{[g]:`DeregistrationProtection`,[v]:OT}],[0,{[g]:`LastLaunchedTime`,[v]:CO}],[2,{[g]:`ImageAllowed`,[v]:uD}],[0,{[g]:`SourceImageId`,[v]:aj}],[0,{[g]:`SourceImageRegion`,[v]:sj}],[2,{[g]:`FreeTierEligible`,[v]:AE}],[0,{[g]:`ImageId`,[v]:TD}],[0,{[g]:`ImageLocation`,[v]:ED}],[0,{[g]:`ImageState`,[v]:XD}],[0,{[g]:`ImageOwnerId`,[v]:jD}],[0,{[g]:`CreationDate`,[v]:Vw}],[2,{[g]:`IsPublic`,[v]:WD}],[()=>TR,{[g]:`ProductCodes`,[v]:Rk}],[0,{[g]:`Architecture`,[v]:bw}],[0,{[g]:`ImageType`,[v]:aO}],[0,{[g]:`KernelId`,[v]:dO}],[0,{[g]:`RamdiskId`,[v]:EA}],[0,{[g]:`Platform`,[v]:pA}]]],nF=[3,y,km,0,[ug,ty,SS,m],[[0,{[g]:`KeyName`,[v]:mO}],[21,{[g]:`PublicKeyMaterial`,[v]:nA}],[()=>YR,{[v]:TS}],[2,{[g]:`DryRun`,[v]:h}]],2],rF=[3,y,Am,0,[og,ug,mg,iS],[[0,{[g]:`KeyFingerprint`,[v]:uO}],[0,{[g]:`KeyName`,[v]:mO}],[0,{[g]:`KeyPairId`,[v]:hO}],[()=>JR,{[g]:`TagSet`,[v]:Zj}]]],iF=[3,y,Mp,0,[Hs,uS],[[()=>zL,{[g]:`Accelerators`,[v]:_w}],[1,{[g]:`TotalInferenceMemoryInMiB`,[v]:Wj}]]],aF=[3,y,Jp,0,[Il,k_,C_,s_],[[1,{[g]:`Count`,[v]:fT}],[0,{[g]:`Name`,[v]:tk}],[0,{[g]:`Manufacturer`,[v]:XO}],[()=>oF,{[g]:`MemoryInfo`,[v]:RO}]]],oF=[3,y,Xp,0,[tx],[[1,{[g]:`SizeInMiB`,[v]:oj}]]],sF=[3,y,tg,0,[Gs,rc,Sl,tf,Cf,Tp,mm,Nm,Id,qd,K_,av,Cy,wy,Kb,kb,nx,Ox,Fx,iS,NC,Vc,_c,Jc,el,gp,Vg,u_,lf,oc,Lv,US,WS,Mv,Rp,DS,d_,Dc,Y_,yv,dx,um,Tm,$x,jv,Iv,Hx,ug,cs,Av,Kh,Rg,gy,sg,Iy,hy,O_,yx,sC,Jv,Xv],[[0,{[g]:`Architecture`,[v]:bw}],[()=>BL,{[g]:`BlockDeviceMapping`,[v]:Ew}],[0,{[g]:`ClientToken`,[v]:oT}],[2,{[g]:`EbsOptimized`,[v]:iE}],[2,{[g]:`EnaSupport`,[v]:bE}],[0,{[g]:`Hypervisor`,[v]:KE}],[()=>$P,{[g]:`IamInstanceProfile`,[v]:CD}],[0,{[g]:`InstanceLifecycle`,[v]:DD}],[()=>EL,{[g]:`ElasticGpuAssociationSet`,[v]:KT}],[()=>OL,{[g]:`ElasticInferenceAcceleratorAssociationSet`,[v]:QT}],[()=>qL,{[g]:`NetworkInterfaceSet`,[v]:dk}],[0,{[g]:`OutpostArn`,[v]:wk}],[0,{[g]:`RootDeviceName`,[v]:vA}],[0,{[g]:`RootDeviceType`,[v]:yA}],[()=>PL,{[g]:`GroupSet`,[v]:UE}],[2,{[g]:`SourceDestCheck`,[v]:qA}],[0,{[g]:`SpotInstanceRequestId`,[v]:cj}],[0,{[g]:`SriovNetSupport`,[v]:_j}],[()=>WI,{[g]:`StateReason`,[v]:bj}],[()=>JR,{[g]:`TagSet`,[v]:Zj}],[0,{[g]:`VirtualizationType`,[v]:NM}],[()=>vN,{[g]:`CpuOptions`,[v]:Zw}],[0,{[g]:`CapacityBlockId`,[v]:Lw}],[0,{[g]:`CapacityReservationId`,[v]:eT}],[()=>dN,{[g]:`CapacityReservationSpecification`,[v]:rT}],[()=>ZP,{[g]:`HibernationOptions`,[v]:YE}],[()=>pR,{[g]:`LicenseSet`,[v]:wO}],[()=>yF,{[g]:`MetadataOptions`,[v]:VO}],[()=>zP,{[g]:`EnclaveOptions`,[v]:lE}],[0,{[g]:`BootMode`,[v]:Ow}],[0,{[g]:`PlatformDetails`,[v]:Gk}],[0,{[g]:`UsageOperation`,[v]:uM}],[4,{[g]:`UsageOperationUpdateTime`,[v]:dM}],[()=>_I,{[g]:`PrivateDnsNameOptions`,[v]:Vk}],[0,{[g]:`Ipv6Address`,[v]:fD}],[0,{[g]:`TpmSupport`,[v]:eM}],[()=>hF,{[g]:`MaintenanceOptions`,[v]:HO}],[0,{[g]:`CurrentInstanceBootMode`,[v]:Gw}],[()=>wF,{[g]:`NetworkPerformanceOptions`,[v]:hk}],[()=>uI,{[g]:`Operator`,[v]:Pk}],[()=>XL,{[g]:`SecondaryInterfaceSet`,[v]:lj}],[0,{[g]:`InstanceId`,[v]:SD}],[0,{[g]:`ImageId`,[v]:TD}],[()=>MF,{[g]:`InstanceState`,[v]:$D}],[0,{[g]:`PrivateDnsName`,[v]:Uk}],[0,{[g]:`DnsName`,[v]:wT}],[0,{[g]:`Reason`,[v]:VA}],[0,{[g]:`KeyName`,[v]:mO}],[1,{[g]:`AmiLaunchIndex`,[v]:nw}],[()=>TR,{[g]:`ProductCodes`,[v]:Rk}],[0,{[g]:`InstanceType`,[v]:nO}],[4,{[g]:`LaunchTime`,[v]:TO}],[()=>dI,{[g]:`Placement`,[v]:mA}],[0,{[g]:`KernelId`,[v]:dO}],[0,{[g]:`RamdiskId`,[v]:EA}],[0,{[g]:`Platform`,[v]:pA}],[()=>tI,{[g]:`Monitoring`,[v]:$O}],[0,{[g]:`SubnetId`,[v]:dj}],[0,{[g]:`VpcId`,[v]:vM}],[0,{[g]:`PrivateIpAddress`,[v]:Qk}],[0,{[g]:`IpAddress`,[v]:dD}]]],cF=[3,y,Ap,0,[mf,yf],[[2,{[g]:`EnaSrdEnabled`,[v]:pE}],[()=>lF,{[g]:`EnaSrdUdpSpecification`,[v]:_E}]]],lF=[3,y,jp,0,[vf],[[2,{[g]:`EnaSrdUdpEnabled`,[v]:gE}]]],uF=[3,y,zp,0,[vu,Ef],[[0,{[g]:`DeviceName`,[v]:ST}],[()=>kP,{[g]:`Ebs`,[v]:SE}]]],dF=[3,y,Vp,0,[vu,Ef,xC,F_],[[0,{[g]:`DeviceName`,[v]:ST}],[()=>AP,{[g]:`Ebs`,[v]:SE}],[0,{[g]:`VirtualName`,[v]:CM}],[0,{[g]:`NoDevice`,[v]:ak}]]],fF=[3,y,bm,0,[Sh],[[0,{[g]:`Ipv4Prefix`,[v]:VD}]]],pF=[3,y,dm,0,[Rp,ch],[[0,{[g]:`Ipv6Address`,[v]:fD}],[2,{[g]:`IsPrimaryIpv6`,[v]:ID}]]],mF=[3,y,xm,0,[yh],[[0,{[g]:`Ipv6Prefix`,[v]:UD}]]],hF=[3,y,Fm,0,[vs,Gy],[[0,{[g]:`AutoRecovery`,[v]:cw}],[0,{[g]:`RebootMigration`,[v]:AA}]]],gF=[3,y,Im,0,[vs],[0]],_F=[3,y,Lm,0,[__,Ax],[0,()=>VI]],vF=[3,y,Rm,0,[Sp,yp,mp,vp,Vm],[0,1,0,0,0]],yF=[3,y,zm,0,[$x,Sp,yp,mp,vp,Vm],[[0,{[g]:`State`,[v]:Fj}],[0,{[g]:`HttpTokens`,[v]:eD}],[1,{[g]:`HttpPutResponseHopLimit`,[v]:ZE}],[0,{[g]:`HttpEndpoint`,[v]:qE}],[0,{[g]:`HttpProtocolIpv6`,[v]:XE}],[0,{[g]:`InstanceMetadataTags`,[v]:OD}]]],bF=[3,y,Um,0,[qs,Ys,_d,Wf,Dp,Gg,G_,sv,jv,Jv,Yv,kb,eS,yx,sC,Qh,xh,hh,Cl,yv],[[()=>xF,{[g]:`Association`,[v]:xw}],[()=>SF,{[g]:`Attachment`,[v]:Sw}],[0,{[g]:`Description`,[v]:IT}],[()=>PL,{[g]:`GroupSet`,[v]:UE}],[()=>WL,{[g]:`Ipv6AddressesSet`,[v]:lD}],[0,{[g]:`MacAddress`,[v]:kO}],[0,{[g]:`NetworkInterfaceId`,[v]:uk}],[0,{[g]:`OwnerId`,[v]:Ek}],[0,{[g]:`PrivateDnsName`,[v]:Uk}],[0,{[g]:`PrivateIpAddress`,[v]:Qk}],[()=>YL,{[g]:`PrivateIpAddressesSet`,[v]:Xk}],[2,{[g]:`SourceDestCheck`,[v]:qA}],[0,{[g]:`Status`,[v]:Ij}],[0,{[g]:`SubnetId`,[v]:dj}],[0,{[g]:`VpcId`,[v]:vM}],[0,{[g]:`InterfaceType`,[v]:sO}],[()=>UL,{[g]:`Ipv4PrefixSet`,[v]:LD}],[()=>GL,{[g]:`Ipv6PrefixSet`,[v]:RD}],[()=>hN,{[g]:`ConnectionTrackingConfiguration`,[v]:sT}],[()=>uI,{[g]:`Operator`,[v]:Pk}]]],xF=[3,y,Wm,0,[Ec,Hc,eh,Iv,Wv],[[0,{[g]:`CarrierIp`,[v]:Ww}],[0,{[g]:`CustomerOwnedIp`,[v]:Qw}],[0,{[g]:`IpOwnerId`,[v]:ND}],[0,{[g]:`PublicDnsName`,[v]:Wk}],[0,{[g]:`PublicIp`,[v]:Yk}]]],SF=[3,y,Gm,0,[Os,ss,Su,Xl,eS,M_,hf,df],[[4,{[g]:`AttachTime`,[v]:pw}],[0,{[g]:`AttachmentId`,[v]:tw}],[2,{[g]:`DeleteOnTermination`,[v]:ET}],[1,{[g]:`DeviceIndex`,[v]:bT}],[0,{[g]:`Status`,[v]:Ij}],[1,{[g]:`NetworkCardIndex`,[v]:ik}],[()=>cF,{[g]:`EnaSrdSpecification`,[v]:mE}],[1,{[g]:`EnaQueueCount`,[v]:uE}]]],CF=[3,y,qm,0,[us,Su,_d,Xl,Wf,kp,Dp,G_,Jv,Yv,Mx,yx,$o,Qh,M_,xh,ih,hh,rh,Qv,hf,wl,df],[[2,{[g]:`AssociatePublicIpAddress`,[v]:iw}],[2,{[g]:`DeleteOnTermination`,[v]:ET}],[0,{[g]:`Description`,[v]:IT}],[1,{[g]:`DeviceIndex`,[v]:bT}],[()=>LR,{[v]:Pb}],[1,{[g]:`Ipv6AddressCount`,[v]:iD}],[()=>WL,{[g]:`Ipv6Addresses`,[v]:lD}],[0,{[g]:`NetworkInterfaceId`,[v]:uk}],[0,{[g]:`PrivateIpAddress`,[v]:Qk}],[()=>wR,{[g]:`PrivateIpAddresses`,[v]:Xk}],[1,{[g]:`SecondaryPrivateIpAddressCount`,[v]:vj}],[0,{[g]:`SubnetId`,[v]:dj}],2,0,1,[()=>sR,{[v]:Sh}],1,[()=>cR,{[v]:yh}],1,2,()=>LP,()=>mN,1]],wF=[3,y,Zm,0,[fc],[[0,{[g]:`BandwidthWeighting`,[v]:Nw}]]],TF=[3,y,Qm,0,[fc],[0]],EF=[3,y,oh,0,[qs,_y,jv,Jv],[[()=>xF,{[g]:`Association`,[v]:xw}],[2,{[g]:`Primary`,[v]:hA}],[0,{[g]:`PrivateDnsName`,[v]:Uk}],[0,{[g]:`PrivateIpAddress`,[v]:Qk}]]],DF=[3,y,zh,0,[Ys,Gg,$b,sv,Yv,kb,eS,zx,Dx,Qh],[[()=>OF,{[g]:`Attachment`,[v]:Sw}],[0,{[g]:`MacAddress`,[v]:kO}],[0,{[g]:`SecondaryInterfaceId`,[v]:ij}],[0,{[g]:`OwnerId`,[v]:Ek}],[()=>ZL,{[g]:`PrivateIpAddressSet`,[v]:Zk}],[2,{[g]:`SourceDestCheck`,[v]:qA}],[0,{[g]:`Status`,[v]:Ij}],[0,{[g]:`SecondarySubnetId`,[v]:Cj}],[0,{[g]:`SecondaryNetworkId`,[v]:hj}],[0,{[g]:`InterfaceType`,[v]:sO}]]],OF=[3,y,jh,0,[Os,ss,Su,Xl,eS,M_],[[4,{[g]:`AttachTime`,[v]:pw}],[0,{[g]:`AttachmentId`,[v]:tw}],[2,{[g]:`DeleteOnTermination`,[v]:ET}],[1,{[g]:`DeviceIndex`,[v]:bT}],[0,{[g]:`Status`,[v]:Ij}],[1,{[g]:`NetworkCardIndex`,[v]:ik}]]],kF=[3,y,Nh,0,[Jv],[[0,{[g]:`PrivateIpAddress`,[v]:Qk}]]],AF=[3,y,Ih,0,[Jv],[0],1],jF=[3,y,Rh,0,[Su,Xl,Yv,Gv,zx,Qh,M_],[2,1,[()=>QL,{[v]:Jv}],1,0,0,1]],MF=[3,y,Uh,0,[Pl,k_],[[1,{[g]:`Code`,[v]:uT}],[0,{[g]:`Name`,[v]:tk}]]],NF=[3,y,kh,0,[um,xl,cy],[[0,{[g]:`InstanceId`,[v]:SD}],[()=>MF,{[g]:`CurrentState`,[v]:aT}],[()=>MF,{[g]:`PreviousState`,[v]:cA}]]],PF=[3,y,Bh,0,[CS,yd,Q_,Sf],[[1,{[g]:`TotalSizeInGB`,[v]:Qj}],[()=>wL,{[g]:`Disks`,[v]:RT}],[0,{[g]:`NvmeSupport`,[v]:vk}],[0,{[g]:`EncryptionSupport`,[v]:yE}]]],FF=[3,y,Jh,0,[Kh,Tc,Bf,Gx,Nx,Jx,cc,Tp,$v,$S,s_,Vh,Bh,Qd,q_,np,Ff,zv,Mp,xp,uc,Yl,fs,Eb,V_,ev,$_,Wg,J_,sy,Wy],[[0,{[g]:`InstanceType`,[v]:nO}],[2,{[g]:`CurrentGeneration`,[v]:Uw}],[2,{[g]:`FreeTierEligible`,[v]:AE}],[()=>ZR,{[g]:`SupportedUsageClasses`,[v]:Aj}],[()=>MR,{[g]:`SupportedRootDeviceTypes`,[v]:yj}],[()=>ez,{[g]:`SupportedVirtualizationTypes`,[v]:Mj}],[2,{[g]:`BareMetal`,[v]:kw}],[0,{[g]:`Hypervisor`,[v]:KE}],[()=>yI,{[g]:`ProcessorInfo`,[v]:eA}],[()=>tL,{[g]:`VCpuInfo`,[v]:hM}],[()=>ZF,{[g]:`MemoryInfo`,[v]:RO}],[2,{[g]:`InstanceStorageSupported`,[v]:JD}],[()=>PF,{[g]:`InstanceStorageInfo`,[v]:qD}],[()=>OP,{[g]:`EbsInfo`,[v]:tE}],[()=>rI,{[g]:`NetworkInfo`,[v]:pk}],[()=>YP,{[g]:`GpuInfo`,[v]:IE}],[()=>WP,{[g]:`FpgaInfo`,[v]:EE}],[()=>pI,{[g]:`PlacementGroupInfo`,[v]:qk}],[()=>iF,{[g]:`InferenceAcceleratorInfo`,[v]:aD}],[2,{[g]:`HibernationSupported`,[v]:$E}],[2,{[g]:`BurstablePerformanceSupported`,[v]:jw}],[2,{[g]:`DedicatedHostsSupported`,[v]:yT}],[2,{[g]:`AutoRecoverySupported`,[v]:ow}],[()=>SL,{[g]:`SupportedBootModes`,[v]:GA}],[0,{[g]:`NitroEnclavesSupport`,[v]:sk}],[0,{[g]:`NitroTpmSupport`,[v]:bk}],[()=>cI,{[g]:`NitroTpmInfo`,[v]:yk}],[()=>JF,{[g]:`MediaAcceleratorInfo`,[v]:OO}],[()=>sI,{[g]:`NeuronInfo`,[v]:mk}],[0,{[g]:`PhcSupport`,[v]:sA}],[0,{[g]:`RebootMigrationSupport`,[v]:kA}]]],IF=[3,y,em,0,[Xs,am,sv,iS],[[()=>nR,{[g]:`AttachmentSet`,[v]:fw}],[0,{[g]:`InternetGatewayId`,[v]:bD}],[0,{[g]:`OwnerId`,[v]:Ek}],[()=>JR,{[g]:`TagSet`,[v]:Zj}]]],LF=[3,y,tm,0,[$x,sC],[[0,{[g]:`State`,[v]:Fj}],[0,{[g]:`VpcId`,[v]:vM}]]],RF=[3,y,_h,0,[vh,Lf,yS,zS,Th,Dh,iy],[[0,{[g]:`IpProtocol`,[v]:zD}],[1,{[g]:`FromPort`,[v]:DE}],[1,{[g]:`ToPort`,[v]:Yj}],[()=>QR,{[g]:`Groups`,[v]:GE}],[()=>oR,{[g]:`IpRanges`,[v]:GD}],[()=>lR,{[g]:`Ipv6Ranges`,[v]:KD}],[()=>CR,{[g]:`PrefixListIds`,[v]:iA}]]],zF=[3,y,Eh,0,[_d,Nc],[[0,{[g]:`Description`,[v]:IT}],[0,{[g]:`CidrIp`,[v]:Kw}]]],BF=[3,y,ph,0,[Sh],[0]],VF=[3,y,mh,0,[yh],[0]],HF=[3,y,Oh,0,[_d,Pc],[[0,{[g]:`Description`,[v]:IT}],[0,{[g]:`CidrIpv6`,[v]:qw}]]],UF=[3,y,yg,0,[mg,iS,ug,og,lg],[[0,{[g]:`KeyPairId`,[v]:hO}],[()=>JR,{[g]:`TagSet`,[v]:Zj}],[0,{[g]:`KeyName`,[v]:mO}],[0,{[g]:`KeyFingerprint`,[v]:uO}],[()=>KM,{[g]:`KeyMaterial`,[v]:pO}]]],WF=[3,y,_g,0,[mg,bg,iS,ey,Ol,ug,og],[[0,{[g]:`KeyPairId`,[v]:hO}],[0,{[g]:`KeyType`,[v]:_O}],[()=>JR,{[g]:`TagSet`,[v]:Zj}],[0,{[g]:`PublicKey`,[v]:tA}],[4,{[g]:`CreateTime`,[v]:lT}],[0,{[g]:`KeyName`,[v]:mO}],[0,{[g]:`KeyFingerprint`,[v]:uO}]]],GF=[3,y,Lg,0,[Fg,Ig,IC],[0,0,0]],KF=[3,y,wg,0,[Sg],[[0,{[g]:`LicenseConfigurationArn`,[v]:yO}]]],qF=[3,y,Cg,0,[Sg],[0]],JF=[3,y,Wg,0,[Hs,_S],[[()=>hR,{[g]:`Accelerators`,[v]:_w}],[1,{[g]:`TotalMediaMemoryInMiB`,[v]:qj}]]],YF=[3,y,Xg,0,[Il,k_,C_,s_],[[1,{[g]:`Count`,[v]:fT}],[0,{[g]:`Name`,[v]:tk}],[0,{[g]:`Manufacturer`,[v]:XO}],[()=>XF,{[g]:`MemoryInfo`,[v]:RO}]]],XF=[3,y,Qg,0,[tx],[[1,{[g]:`SizeInMiB`,[v]:oj}]]],ZF=[3,y,s_,0,[tx],[[1,{[g]:`SizeInMiB`,[v]:oj}]]],QF=[3,y,a_,0,[um,kb,Ll,m,Js,qS,rc,Rl,Kh,xg,gb,LS,Sm,Wf,tf,Ox,Cf],[[0,{[g]:`InstanceId`,[v]:SD}],[()=>ZM,0],[()=>ZM,0],[2,{[g]:`DryRun`,[v]:h}],[0,{[g]:`Attribute`,[v]:Cw}],[0,{[g]:`Value`,[v]:mM}],[()=>VL,{[g]:`BlockDeviceMapping`,[v]:Ew}],[()=>ZM,{[g]:`DisableApiTermination`,[v]:pT}],[()=>QM,{[g]:`InstanceType`,[v]:nO}],[()=>QM,{[g]:`Kernel`,[v]:vO}],[()=>QM,{[g]:`Ramdisk`,[v]:BA}],[()=>sN,{[g]:`UserData`,[v]:sM}],[()=>QM,{[g]:`InstanceInitiatedShutdownBehavior`,[v]:wD}],[()=>FL,{[v]:rp}],[()=>ZM,{[g]:`EbsOptimized`,[v]:iE}],[()=>QM,{[g]:`SriovNetSupport`,[v]:_j}],[()=>ZM,{[g]:`EnaSupport`,[v]:bE}]],1],$F=[3,y,y_,0,[pC,m,Xx,AC,rg,NS,Ug],[0,2,1,0,1,1,2],1],eI=[3,y,b_,0,[bC],[[()=>iL,{[g]:`VolumeModification`,[v]:SM}]]],tI=[3,y,O_,0,[$x],[[0,{[g]:`State`,[v]:Fj}]]],nI=[3,y,P_,0,[M_,X_,l_,es,Qs,wv,ql,n_,r_],[[1,{[g]:`NetworkCardIndex`,[v]:ik}],[0,{[g]:`NetworkPerformance`,[v]:gk}],[1,{[g]:`MaximumNetworkInterfaces`,[v]:BO}],[1,{[g]:`AdditionalFlexibleNetworkInterfaces`,[v]:XC}],[1,{[g]:`BaselineBandwidthInGbps`,[v]:ww}],[1,{[g]:`PeakBandwidthInGbps`,[v]:Lk}],[1,{[g]:`DefaultEnaQueueCountPerInterface`,[v]:_T}],[1,{[g]:`MaximumEnaQueueCount`,[v]:FO}],[1,{[g]:`MaximumEnaQueueCountPerInterface`,[v]:IO}]]],rI=[3,y,q_,0,[X_,l_,c_,yu,j_,Np,Pp,Gh,Cf,xf,$d,Zd,_f,mc,Pf,Cl,kx,h_,Fp],[[0,{[g]:`NetworkPerformance`,[v]:gk}],[1,{[g]:`MaximumNetworkInterfaces`,[v]:BO}],[1,{[g]:`MaximumNetworkCards`,[v]:zO}],[1,{[g]:`DefaultNetworkCardIndex`,[v]:CT}],[()=>gR,{[g]:`NetworkCards`,[v]:rk}],[1,{[g]:`Ipv4AddressesPerInterface`,[v]:oD}],[1,{[g]:`Ipv6AddressesPerInterface`,[v]:sD}],[2,{[g]:`Ipv6Supported`,[v]:tO}],[0,{[g]:`EnaSupport`,[v]:bE}],[2,{[g]:`EfaSupported`,[v]:vE}],[()=>MP,{[g]:`EfaInfo`,[v]:nE}],[2,{[g]:`EncryptionInTransitSupported`,[v]:eE}],[2,{[g]:`EnaSrdSupported`,[v]:hE}],[()=>yL,{[g]:`BandwidthWeightings`,[v]:Pw}],[0,{[g]:`FlexibleEnaQueuesSupport`,[v]:TE}],[()=>BN,{[g]:`ConnectionTrackingConfiguration`,[v]:sT}],[2,{[g]:`SecondaryNetworkSupported`,[v]:gj}],[1,{[g]:`MaximumSecondaryNetworkInterfaces`,[v]:KO}],[1,{[g]:`Ipv4AddressesPerSecondaryInterface`,[v]:cD}]]],iI=[3,y,I_,0,[Il,IC],[[1,{[g]:`Count`,[v]:fT}],[1,{[g]:`Version`,[v]:PM}]]],aI=[3,y,L_,0,[Il,k_,Ic,s_],[[1,{[g]:`Count`,[v]:fT}],[0,{[g]:`Name`,[v]:tk}],[()=>iI,{[g]:`CoreInfo`,[v]:Yw}],[()=>oI,{[g]:`MemoryInfo`,[v]:RO}]]],oI=[3,y,z_,0,[tx],[[1,{[g]:`SizeInMiB`,[v]:oj}]]],sI=[3,y,J_,0,[B_,vS],[[()=>_R,{[g]:`NeuronDevices`,[v]:ok}],[1,{[g]:`TotalNeuronDeviceMemoryInMiB`,[v]:Jj}]]],cI=[3,y,$_,0,[Yx],[[()=>vR,{[g]:`SupportedVersions`,[v]:Nj}]]],lI=[3,y,pv,0,[Cv],[0]],uI=[3,y,mv,0,[w_,Cv],[[2,{[g]:`Managed`,[v]:ZO}],[0,{[g]:`Principal`,[v]:Ik}]]],dI=[3,y,gy,0,[Fs,Us,sp,ay,hp,MS,Ab,bp,rp,Ms],[[0,{[g]:`AvailabilityZoneId`,[v]:hw}],[0,{[g]:`Affinity`,[v]:vw}],[0,{[g]:`GroupName`,[v]:zE}],[1,{[g]:`PartitionNumber`,[v]:aA}],[0,{[g]:`HostId`,[v]:JE}],[0,{[g]:`Tenancy`,[v]:zj}],[0,{[g]:`SpreadDomain`,[v]:JA}],[0,{[g]:`HostResourceGroupArn`,[v]:QE}],[0,{[g]:`GroupId`,[v]:LE}],[0,{[g]:`AvailabilityZone`,[v]:mw}]]],fI=[3,y,Rv,0,[sp,$x,tS,Ov,rp,iS,Gf,Sx,Og,yv],[[0,{[g]:`GroupName`,[v]:zE}],[0,{[g]:`State`,[v]:Fj}],[0,{[g]:`Strategy`,[v]:Lj}],[1,{[g]:`PartitionCount`,[v]:zk}],[0,{[g]:`GroupId`,[v]:LE}],[()=>JR,{[g]:`TagSet`,[v]:Zj}],[0,{[g]:`GroupArn`,[v]:NE}],[0,{[g]:`SpreadLevel`,[v]:fj}],[0,{[g]:`LinkedGroupId`,[v]:SO}],[()=>uI,{[g]:`Operator`,[v]:Pk}]]],pI=[3,y,zv,0,[Bx],[[()=>SR,{[g]:`SupportedStrategies`,[v]:Ej}]]],mI=[3,y,ny,0,[_d,ny],[[0,{[g]:`Description`,[v]:IT}],[0,{[g]:`PrefixListId`,[v]:rA}]]],hI=[3,y,Nv,0,[Cp,pf,ff],[[0,{[g]:`HostnameType`,[v]:tD}],[2,{[g]:`EnableResourceNameDnsARecord`,[v]:fE}],[2,{[g]:`EnableResourceNameDnsAAAARecord`,[v]:dE}]]],gI=[3,y,Pv,0,[Cp,pf,ff],[0,2,2]],_I=[3,y,Fv,0,[Cp,pf,ff],[[0,{[g]:`HostnameType`,[v]:tD}],[2,{[g]:`EnableResourceNameDnsARecord`,[v]:fE}],[2,{[g]:`EnableResourceNameDnsAAAARecord`,[v]:dE}]]],vI=[3,y,Kv,0,[_y,Jv],[[2,{[g]:`Primary`,[v]:hA}],[0,{[g]:`PrivateIpAddress`,[v]:Qk}]]],yI=[3,y,$v,0,[Tb,Ob,jb,C_],[[()=>mL,{[g]:`SupportedArchitectures`,[v]:UA}],[1,{[g]:`SustainedClockSpeedInGhz`,[v]:KA}],[()=>qR,{[g]:`SupportedFeatures`,[v]:YA}],[0,{[g]:`Manufacturer`,[v]:XO}]]],bI=[3,y,kv,0,[Tv,Dv],[[0,{[g]:`ProductCode`,[v]:Bk}],[0,{[g]:`Type`,[v]:oM}]]],xI=[3,y,uy,0,[$f],[[0,{[g]:`GatewayId`,[v]:FE}]]],SI=[3,y,Ny,0,[Dm,m],[[()=>HL,{[v]:um}],[2,{[g]:`DryRun`,[v]:h}]],1],CI=[3,y,Yy,0,[rp,oy,RS,sC,CC],[[0,{[g]:`GroupId`,[v]:LE}],[0,{[g]:`PeeringStatus`,[v]:oA}],[0,{[g]:`UserId`,[v]:cM}],[0,{[g]:`VpcId`,[v]:vM}],[0,{[g]:`VpcPeeringConnectionId`,[v]:TM}]]],wI=[3,y,vb,0,[cv,fp,Ky,kf],[[0,{[g]:`OptInStatus`,[v]:Dk}],[()=>DR,{[g]:`GeographySet`,[v]:HE}],[0,{[g]:`RegionName`,[v]:jA}],[0,{[g]:`RegionEndpoint`,[v]:xA}]]],TI=[3,y,Oy,0,[k_],[[0,{[g]:`Name`,[v]:tk}]]],EI=[3,y,bb,0,[Ly,sv,zy,Wf,ng],[[0,{[g]:`ReservationId`,[v]:TA}],[0,{[g]:`OwnerId`,[v]:Ek}],[0,{[g]:`RequesterId`,[v]:OA}],[()=>PL,{[g]:`GroupSet`,[v]:UE}],[()=>KL,{[g]:`InstancesSet`,[v]:QD}]]],DI=[3,y,nb,0,[Hb,rp,$p,vh,Lf,yS,Fc,Pc,ny,ky,_d],[[0,{[g]:`SecurityGroupRuleId`,[v]:$A}],[0,{[g]:`GroupId`,[v]:LE}],[2,{[g]:`IsEgress`,[v]:_D}],[0,{[g]:`IpProtocol`,[v]:zD}],[1,{[g]:`FromPort`,[v]:DE}],[1,{[g]:`ToPort`,[v]:Yj}],[0,{[g]:`CidrIpv4`,[v]:Jw}],[0,{[g]:`CidrIpv6`,[v]:qw}],[0,{[g]:`PrefixListId`,[v]:rA}],[0,{[g]:`ReferencedGroupId`,[v]:CA}],[0,{[g]:`Description`,[v]:IT}]]],OI=[3,y,Zy,0,[rp,Bb,m,Ix,Lx,vh,Lf,yS,Nc,gh],[[0,{[g]:`GroupId`,[v]:LE}],[()=>zR,{[v]:Hb}],[2,{[g]:`DryRun`,[v]:h}],[0,{[g]:`SourceSecurityGroupName`,[v]:xj}],[0,{[g]:`SourceSecurityGroupOwnerId`,[v]:Sj}],[0,{[g]:`IpProtocol`,[v]:zD}],[1,{[g]:`FromPort`,[v]:DE}],[1,{[g]:`ToPort`,[v]:Yj}],[0,{[g]:`CidrIp`,[v]:Kw}],[()=>aR,{[g]:`IpPermissions`,[v]:BD}]],1],kI=[3,y,Qy,0,[by,HS,ib],[[2,{[g]:`Return`,[v]:_A}],[()=>aR,{[g]:`UnknownIpPermissionSet`,[v]:lM}],[()=>jR,{[g]:`RevokedSecurityGroupRuleSet`,[v]:MA}]]],AI=[3,y,$y,0,[Nc,Lf,rp,sp,gh,vh,Ix,Lx,yS,Bb,m],[0,1,0,0,[()=>aR,0],0,0,0,1,[()=>zR,{[v]:Hb}],[2,{[g]:`DryRun`,[v]:h}]]],jI=[3,y,eb,0,[by,HS,ib],[[2,{[g]:`Return`,[v]:_A}],[()=>aR,{[g]:`UnknownIpPermissionSet`,[v]:lM}],[()=>jR,{[g]:`RevokedSecurityGroupRuleSet`,[v]:MA}]]],MI=[3,y,xb,0,[Ul,Zl,Ou,of,$f,um,th,W_,sS,Dg,wc,G_,iv,$x,CC,Bc,fv,Lp],[[0,{[g]:`DestinationCidrBlock`,[v]:mT}],[0,{[g]:`DestinationIpv6CidrBlock`,[v]:xT}],[0,{[g]:`DestinationPrefixListId`,[v]:DT}],[0,{[g]:`EgressOnlyInternetGatewayId`,[v]:sE}],[0,{[g]:`GatewayId`,[v]:FE}],[0,{[g]:`InstanceId`,[v]:SD}],[0,{[g]:`InstanceOwnerId`,[v]:MD}],[0,{[g]:`NatGatewayId`,[v]:lk}],[0,{[g]:`TransitGatewayId`,[v]:Hj}],[0,{[g]:`LocalGatewayId`,[v]:xO}],[0,{[g]:`CarrierGatewayId`,[v]:Hw}],[0,{[g]:`NetworkInterfaceId`,[v]:uk}],[0,{[g]:`Origin`,[v]:Ck}],[0,{[g]:`State`,[v]:Fj}],[0,{[g]:`VpcPeeringConnectionId`,[v]:TM}],[0,{[g]:`CoreNetworkArn`,[v]:Xw}],[0,{[g]:`OdbNetworkArn`,[v]:Ak}],[0,{[g]:`IpAddress`,[v]:dD}]]],NI=[3,y,mb,0,[Ks,fy,lb,Sb,iS,sC,sv],[[()=>PR,{[g]:`AssociationSet`,[v]:dw}],[()=>ER,{[g]:`PropagatingVgwSet`,[v]:uA}],[0,{[g]:`RouteTableId`,[v]:IA}],[()=>NR,{[g]:`RouteSet`,[v]:PA}],[()=>JR,{[g]:`TagSet`,[v]:Zj}],[0,{[g]:`VpcId`,[v]:vM}],[0,{[g]:`OwnerId`,[v]:Ek}]]],PI=[3,y,ab,0,[S_,ob,lb,yx,$f,Zv,ys],[[2,{[g]:`Main`,[v]:YO}],[0,{[g]:`RouteTableAssociationId`,[v]:FA}],[0,{[g]:`RouteTableId`,[v]:IA}],[0,{[g]:`SubnetId`,[v]:dj}],[0,{[g]:`GatewayId`,[v]:FE}],[0,{[g]:`PublicIpv4Pool`,[v]:$k}],[()=>FI,{[g]:`AssociationState`,[v]:lw}]]],FI=[3,y,cb,0,[$x,Tx],[[0,{[g]:`State`,[v]:Fj}],[0,{[g]:`StatusMessage`,[v]:pj}]]],II=[3,y,My,0,[Df],[[2,{[g]:`Enabled`,[v]:CE}]],1],LI=[3,y,Py,0,[Jg,Yg,rc,Tm,Kh,kp,Dp,sg,ug,O_,gy,Iy,Ib,Kb,yx,LS,Rd,Jd,SS,Pg,Bm,vl,Vc,el,gp,jg,u_,lf,Mv,d_,Ll,uf,Y_,yv,dx,m,Rl,Sm,Jv,Sl,as,K_,mm,tf],[1,1,[()=>xL,{[v]:ec}],0,0,1,[()=>WL,{[v]:Rp}],0,0,[()=>II,0],[()=>dI,0],0,[()=>LR,{[v]:Pb}],[()=>VR,{[v]:qb}],0,[()=>GM,0],[()=>DL,0],[()=>kL,{[v]:Bd}],[()=>YR,{[v]:TS}],()=>GF,()=>_F,()=>zN,()=>yN,()=>uN,()=>QP,[()=>mR,{[v]:Ng}],()=>vF,()=>BP,()=>gI,()=>gF,2,2,()=>TF,()=>lI,[()=>$L,{[v]:fx}],[2,{[g]:`DryRun`,[v]:h}],[2,{[g]:`DisableApiTermination`,[v]:pT}],[0,{[g]:`InstanceInitiatedShutdownBehavior`,[v]:wD}],[0,{[g]:`PrivateIpAddress`,[v]:Qk}],[0,{[g]:`ClientToken`,[iO]:1,[v]:oT}],[0,{[g]:`AdditionalInfo`,[v]:$C}],[()=>JL,{[g]:`NetworkInterface`,[v]:fk}],[()=>eF,{[g]:`IamInstanceProfile`,[v]:CD}],[2,{[g]:`EbsOptimized`,[v]:iE}]],2],RI=[3,y,qb,0,[rp,ah,iS,sC,Nb,sv,sp,_d,gh],[[0,{[g]:`GroupId`,[v]:LE}],[()=>aR,{[g]:`IpPermissionsEgress`,[v]:FD}],[()=>JR,{[g]:`TagSet`,[v]:Zj}],[0,{[g]:`VpcId`,[v]:vM}],[0,{[g]:`SecurityGroupArn`,[v]:XA}],[0,{[g]:`OwnerId`,[v]:Ek}],[0,{[g]:`GroupName`,[v]:zE}],[0,{[g]:`GroupDescription`,[v]:PE}],[()=>aR,{[g]:`IpPermissions`,[v]:BD}]]],zI=[3,y,Wb,0,[Hb,rp,up,$p,vh,Lf,yS,Fc,Pc,ny,Ay,_d,iS,zb],[[0,{[g]:`SecurityGroupRuleId`,[v]:$A}],[0,{[g]:`GroupId`,[v]:LE}],[0,{[g]:`GroupOwnerId`,[v]:BE}],[2,{[g]:`IsEgress`,[v]:_D}],[0,{[g]:`IpProtocol`,[v]:zD}],[1,{[g]:`FromPort`,[v]:DE}],[1,{[g]:`ToPort`,[v]:Yj}],[0,{[g]:`CidrIpv4`,[v]:Jw}],[0,{[g]:`CidrIpv6`,[v]:qw}],[0,{[g]:`PrefixListId`,[v]:rA}],[()=>CI,{[g]:`ReferencedGroupInfo`,[v]:wA}],[0,{[g]:`Description`,[v]:IT}],[()=>JR,{[g]:`TagSet`,[v]:Zj}],[0,{[g]:`SecurityGroupRuleArn`,[v]:QA}]]],BI=[3,y,Qx,0,[ov,av,iS,Wx,Ey,Ux,Ms,kS,Sc,Dl,zf,px,pC,$x,Ex,Vx,vy,sv,_d,kC,Of,cg,Kl],[[0,{[g]:`OwnerAlias`,[v]:Tk}],[0,{[g]:`OutpostArn`,[v]:wk}],[()=>JR,{[g]:`TagSet`,[v]:Zj}],[0,{[g]:`StorageTier`,[v]:kj}],[4,{[g]:`RestoreExpiryTime`,[v]:bA}],[0,{[g]:`SseType`,[v]:Oj}],[0,{[g]:`AvailabilityZone`,[v]:mw}],[0,{[g]:`TransferType`,[v]:nM}],[1,{[g]:`CompletionDurationMinutes`,[v]:Bw}],[4,{[g]:`CompletionTime`,[v]:cT}],[1,{[g]:`FullSnapshotSizeInBytes`,[v]:kE}],[0,{[g]:`SnapshotId`,[v]:uj}],[0,{[g]:`VolumeId`,[v]:bM}],[0,{[g]:`Status`,[v]:Ij}],[0,{[g]:`StatusMessage`,[v]:pj}],[4,{[g]:`StartTime`,[v]:Dj}],[0,{[g]:`Progress`,[v]:gA}],[0,{[g]:`OwnerId`,[v]:Ek}],[0,{[g]:`Description`,[v]:IT}],[1,{[g]:`VolumeSize`,[v]:kM}],[2,{[g]:`Encrypted`,[v]:wE}],[0,{[g]:`KmsKeyId`,[v]:fO}],[0,{[g]:`DataEncryptionKeyId`,[v]:gT}]]],VI=[3,y,wx,0,[p_,ux,ic,PC,pm],[0,0,1,4,0]],HI=[3,y,ix,0,[Dm,as,m],[[()=>HL,{[v]:um}],[0,{[g]:`AdditionalInfo`,[v]:$C}],[2,{[g]:`DryRun`,[v]:h}]],1],UI=[3,y,ax,0,[hx],[[()=>eR,{[g]:`InstancesSet`,[v]:QD}]]],WI=[3,y,Fx,0,[Pl,T_],[[0,{[g]:`Code`,[v]:uT}],[0,{[g]:`Message`,[v]:QO}]]],GI=[3,y,ox,0,[Dm,wp,jx,m,Af],[[()=>HL,{[v]:um}],2,2,[2,{[g]:`DryRun`,[v]:h}],[2,{[g]:`Force`,[v]:jE}]],1],KI=[3,y,sx,0,[_x],[[()=>eR,{[g]:`InstancesSet`,[v]:QD}]]],qI=[3,y,nS,0,[Fs,ef,qg,Uc,sv,ns,Wp,iS,wb,av,Od,Hm,Nv,lc,FS,yx,$x,sC,hc,ts,Ms,Jl,f_],[[0,{[g]:`AvailabilityZoneId`,[v]:hw}],[1,{[g]:`EnableLniAtDeviceIndex`,[v]:rE}],[2,{[g]:`MapCustomerOwnedIpOnLaunch`,[v]:jO}],[0,{[g]:`CustomerOwnedIpv4Pool`,[v]:$w}],[0,{[g]:`OwnerId`,[v]:Ek}],[2,{[g]:`AssignIpv6AddressOnCreation`,[v]:QC}],[()=>GR,{[g]:`Ipv6CidrBlockAssociationSet`,[v]:mD}],[()=>JR,{[g]:`TagSet`,[v]:Zj}],[0,{[g]:`SubnetArn`,[v]:WA}],[0,{[g]:`OutpostArn`,[v]:wk}],[2,{[g]:`EnableDns64`,[v]:HT}],[2,{[g]:`Ipv6Native`,[v]:kD}],[()=>hI,{[g]:`PrivateDnsNameOptionsOnLaunch`,[v]:Hk}],[()=>lN,{[g]:`BlockPublicAccessStates`,[v]:Aw}],[0,{[g]:`Type`,[v]:oM}],[0,{[g]:`SubnetId`,[v]:dj}],[0,{[g]:`State`,[v]:Fj}],[0,{[g]:`VpcId`,[v]:vM}],[0,{[g]:`CidrBlock`,[v]:Fw}],[1,{[g]:`AvailableIpAddressCount`,[v]:ZC}],[0,{[g]:`AvailabilityZone`,[v]:mw}],[2,{[g]:`DefaultForAz`,[v]:vT}],[2,{[g]:`MapPublicIpOnLaunch`,[v]:UO}]]],JI=[3,y,Db,0,[$x,Tx],[[0,{[g]:`State`,[v]:Fj}],[0,{[g]:`StatusMessage`,[v]:pj}]]],YI=[3,y,Yb,0,[os,Up,Kp,Op,Wh],[[0,{[g]:`AssociationId`,[v]:ew}],[0,{[g]:`Ipv6CidrBlock`,[v]:pD}],[()=>JI,{[g]:`Ipv6CidrBlockState`,[v]:hD}],[0,{[g]:`Ipv6AddressAttribute`,[v]:rD}],[0,{[g]:`IpSource`,[v]:eO}]]],XI=[3,y,jS,0,[ig,qS],[[0,{[g]:`Key`,[v]:lO}],[0,{[g]:`Value`,[v]:mM}]]],ZI=[3,y,TS,0,[pb,iS],[[0,{[g]:`ResourceType`,[v]:RA}],[()=>JR,{[v]:jS}]]],QI=[3,y,dS,0,[Dm,Af,jx,m],[[()=>HL,{[v]:um}],2,2,[2,{[g]:`DryRun`,[v]:h}]],1],$I=[3,y,fS,0,[mS],[[()=>eR,{[g]:`InstancesSet`,[v]:QD}]]],eL=[3,y,VS,0,[_d,RS,sp,rp,sC,CC,oy],[[0,{[g]:`Description`,[v]:IT}],[0,{[g]:`UserId`,[v]:cM}],[0,{[g]:`GroupName`,[v]:zE}],[0,{[g]:`GroupId`,[v]:LE}],[0,{[g]:`VpcId`,[v]:vM}],[0,{[g]:`VpcPeeringConnectionId`,[v]:TM}],[0,{[g]:`PeeringStatus`,[v]:oA}]]],tL=[3,y,$S,0,[id,Gl,ed,eC,MC],[[1,{[g]:`DefaultVCpus`,[v]:FT}],[1,{[g]:`DefaultCores`,[v]:hT}],[1,{[g]:`DefaultThreadsPerCore`,[v]:jT}],[()=>CL,{[g]:`ValidCores`,[v]:gM}],[()=>XR,{[g]:`ValidThreadsPerCore`,[v]:MM}]]],nL=[3,y,RC,0,[Fs,av,qx,rg,iS,AC,Rf,Ug,NS,Ux,yv,uC,pC,Xx,px,Ms,$x,Ol,Xs,Of,cg],[[0,{[g]:`AvailabilityZoneId`,[v]:hw}],[0,{[g]:`OutpostArn`,[v]:wk}],[0,{[g]:`SourceVolumeId`,[v]:jj}],[1,{[g]:`Iops`,[v]:cO}],[()=>JR,{[g]:`TagSet`,[v]:Zj}],[0,{[g]:`VolumeType`,[v]:jM}],[2,{[g]:`FastRestored`,[v]:OE}],[2,{[g]:`MultiAttachEnabled`,[v]:DO}],[1,{[g]:`Throughput`,[v]:iM}],[0,{[g]:`SseType`,[v]:Oj}],[()=>uI,{[g]:`Operator`,[v]:Pk}],[1,{[g]:`VolumeInitializationRate`,[v]:yM}],[0,{[g]:`VolumeId`,[v]:bM}],[1,{[g]:`Size`,[v]:Pj}],[0,{[g]:`SnapshotId`,[v]:uj}],[0,{[g]:`AvailabilityZone`,[v]:mw}],[0,{[g]:`Status`,[v]:Ij}],[4,{[g]:`CreateTime`,[v]:lT}],[()=>tz,{[g]:`AttachmentSet`,[v]:fw}],[2,{[g]:`Encrypted`,[v]:wE}],[0,{[g]:`KmsKeyId`,[v]:fO}]]],rL=[3,y,YS,0,[Su,_s,nh,Cd,pC,um,vd,$x,Os],[[2,{[g]:`DeleteOnTermination`,[v]:ET}],[0,{[g]:`AssociatedResource`,[v]:sw}],[0,{[g]:`InstanceOwningService`,[v]:PD}],[1,{[g]:`EbsCardIndex`,[v]:zT}],[0,{[g]:`VolumeId`,[v]:bM}],[0,{[g]:`InstanceId`,[v]:SD}],[0,{[g]:`Device`,[v]:LT}],[0,{[g]:`Status`,[v]:Ij}],[4,{[g]:`AttachTime`,[v]:pw}]]],iL=[3,y,bC,0,[pC,g_,Tx,ES,pS,AS,OS,gS,gv,lv,vv,_v,dv,vy,Vx,wf],[[0,{[g]:`VolumeId`,[v]:bM}],[0,{[g]:`ModificationState`,[v]:qO}],[0,{[g]:`StatusMessage`,[v]:pj}],[1,{[g]:`TargetSize`,[v]:$j}],[1,{[g]:`TargetIops`,[v]:Gj}],[0,{[g]:`TargetVolumeType`,[v]:rM}],[1,{[g]:`TargetThroughput`,[v]:tM}],[2,{[g]:`TargetMultiAttachEnabled`,[v]:Kj}],[1,{[g]:`OriginalSize`,[v]:jk}],[1,{[g]:`OriginalIops`,[v]:Ok}],[0,{[g]:`OriginalVolumeType`,[v]:Nk}],[1,{[g]:`OriginalThroughput`,[v]:Mk}],[2,{[g]:`OriginalMultiAttachEnabled`,[v]:kk}],[1,{[g]:`Progress`,[v]:gA}],[4,{[g]:`StartTime`,[v]:Dj}],[4,{[g]:`EndTime`,[v]:xE}]]],aL=[3,y,zC,0,[sv,Xh,Wp,gc,Qp,Dd,iS,lc,sC,$x,hc,xu],[[0,{[g]:`OwnerId`,[v]:Ek}],[0,{[g]:`InstanceTenancy`,[v]:oO}],[()=>oz,{[g]:`Ipv6CidrBlockAssociationSet`,[v]:mD}],[()=>iz,{[g]:`CidrBlockAssociationSet`,[v]:Iw}],[2,{[g]:`IsDefault`,[v]:gD}],[()=>cL,{[g]:`EncryptionControl`,[v]:VT}],[()=>JR,{[g]:`TagSet`,[v]:Zj}],[()=>lN,{[g]:`BlockPublicAccessStates`,[v]:Aw}],[0,{[g]:`VpcId`,[v]:vM}],[0,{[g]:`State`,[v]:Fj}],[0,{[g]:`CidrBlock`,[v]:Fw}],[0,{[g]:`DhcpOptionsId`,[v]:TT}]]],oL=[3,y,XS,0,[os,hc,vc],[[0,{[g]:`AssociationId`,[v]:ew}],[0,{[g]:`CidrBlock`,[v]:Fw}],[()=>sL,{[g]:`CidrBlockState`,[v]:Rw}]]],sL=[3,y,QS,0,[$x,Tx],[[0,{[g]:`State`,[v]:Fj}],[0,{[g]:`StatusMessage`,[v]:pj}]]],cL=[3,y,tC,0,[sC,aC,D_,$x,Ex,Dy,iS],[[0,{[g]:`VpcId`,[v]:vM}],[0,{[g]:`VpcEncryptionControlId`,[v]:_M}],[0,{[g]:`Mode`,[v]:ek}],[0,{[g]:`State`,[v]:Fj}],[0,{[g]:`StateMessage`,[v]:mj}],[()=>dL,{[g]:`ResourceExclusions`,[v]:SA}],[()=>JR,{[g]:`TagSet`,[v]:Zj}]]],lL=[3,y,nC,0,[D_,im,af,U_,EC,wC,Tg,_C,Ad],[0,0,0,0,0,0,0,0,0],1],uL=[3,y,rC,0,[$x,Ex],[[0,{[g]:`State`,[v]:Fj}],[0,{[g]:`StateMessage`,[v]:mj}]]],dL=[3,y,iC,0,[em,rf,H_,TC,DC,Bg,gC,kd],[[()=>uL,{[g]:`InternetGateway`,[v]:vD}],[()=>uL,{[g]:`EgressOnlyInternetGateway`,[v]:oE}],[()=>uL,{[g]:`NatGateway`,[v]:ck}],[()=>uL,{[g]:`VirtualPrivateGateway`,[v]:EM}],[()=>uL,{[g]:`VpcPeering`,[v]:DM}],[()=>uL,{[g]:`Lambda`,[v]:EO}],[()=>uL,{[g]:`VpcLattice`,[v]:xM}],[()=>uL,{[g]:`ElasticFileSystem`,[v]:UT}]]],fL=[3,y,cC,0,[os,Up,Kp,A_,bh,Op,Wh],[[0,{[g]:`AssociationId`,[v]:ew}],[0,{[g]:`Ipv6CidrBlock`,[v]:pD}],[()=>sL,{[g]:`Ipv6CidrBlockState`,[v]:hD}],[0,{[g]:`NetworkBorderGroup`,[v]:nk}],[0,{[g]:`Ipv6Pool`,[v]:HD}],[0,{[g]:`Ipv6AddressAttribute`,[v]:rD}],[0,{[g]:`IpSource`,[v]:eO}]]],pL=`unit`,mL=[1,y,Ds,0,[0,{[v]:_}]],hL=[1,y,Ps,0,[()=>iN,{[v]:_}]],gL=[1,y,Is,0,[()=>rN,{[v]:_}]],_L=[1,y,Rs,0,[()=>aN,{[v]:_}]],vL=[1,y,Bs,0,[()=>oN,{[v]:_}]],yL=[1,y,pc,0,[0,{[v]:_}]],bL=[1,y,tc,0,[()=>cN,{[v]:_}]],xL=[1,y,nc,0,[()=>cN,{[v]:ec}]],SL=[1,y,sc,0,[0,{[v]:_}]],CL=[1,y,yc,0,[1,{[v]:_}]],wL=[1,y,tu,0,[()=>TP,{[v]:_}]],TL=[1,y,wd,0,[()=>DP,{[v]:_}]],EL=[1,y,Nd,0,[()=>NP,{[v]:_}]],DL=[1,y,zd,0,[()=>PP,{[v]:_}]],OL=[1,y,Ud,0,[()=>IP,{[v]:_}]],kL=[1,y,Jd,0,[()=>FP,{[v]:_}]],AL=[1,y,xd,0,[0,{[v]:Sd}]],jL=[1,y,If,0,[()=>VP,{[v]:Hf}]],ML=[1,y,Mf,0,[()=>HP,{[v]:_}]],NL=[1,y,Zf,0,[()=>qP,{[v]:_}]],PL=[1,y,ep,0,[()=>XP,{[v]:_}]],FL=[1,y,tp,0,[0,{[v]:LE}]],IL=[1,y,cp,0,[0,{[v]:sp}]],LL=[1,y,Cm,0,[0,{[v]:Tm}]],RL=[1,y,Mm,0,[()=>tF,{[v]:_}]],zL=[1,y,Yp,0,[()=>aF,0]],BL=[1,y,Bp,0,[()=>uF,{[v]:_}]],VL=[1,y,Hp,0,[()=>dF,{[v]:_}]],HL=[1,y,wm,0,[0,{[v]:um}]],UL=[1,y,_m,0,[()=>fF,{[v]:_}]],WL=[1,y,fm,0,[()=>pF,{[v]:_}]],GL=[1,y,vm,0,[()=>mF,{[v]:_}]],KL=[1,y,Pm,0,[()=>sF,{[v]:_}]],qL=[1,y,Km,0,[()=>bF,{[v]:_}]],JL=[1,y,Jm,0,[()=>CF,{[v]:_}]],YL=[1,y,sh,0,[()=>EF,{[v]:_}]],XL=[1,y,Mh,0,[()=>DF,{[v]:_}]],ZL=[1,y,Ph,0,[()=>kF,{[v]:_}]],QL=[1,y,Fh,0,[()=>AF,{[v]:_}]],$L=[1,y,Lh,0,[()=>jF,{[v]:_}]],eR=[1,y,Ah,0,[()=>NF,{[v]:_}]],tR=[1,y,qh,0,[()=>FF,{[v]:_}]],nR=[1,y,nm,0,[()=>LF,{[v]:_}]],rR=[1,y,om,0,[0,{[v]:_}]],iR=[1,y,cm,0,[()=>IF,{[v]:_}]],aR=[1,y,uh,0,[()=>RF,{[v]:_}]],oR=[1,y,Ch,0,[()=>zF,{[v]:_}]],sR=[1,y,dh,0,[()=>BF,{[v]:_}]],cR=[1,y,fh,0,[()=>VF,{[v]:_}]],lR=[1,y,wh,0,[()=>HF,{[v]:_}]],uR=[1,y,dg,0,[0,{[v]:ug}]],dR=[1,y,hg,0,[0,{[v]:mg}]],fR=[1,y,vg,0,[()=>WF,{[v]:_}]],pR=[1,y,kg,0,[()=>KF,{[v]:_}]],mR=[1,y,Mg,0,[()=>qF,{[v]:_}]],hR=[1,y,Zg,0,[()=>YF,{[v]:_}]],gR=[1,y,N_,0,[()=>nI,{[v]:_}]],_R=[1,y,R_,0,[()=>aI,{[v]:_}]],vR=[1,y,tv,0,[0,{[v]:_}]],yR=[1,y,hv,0,[0,{[v]:Sv}]],bR=[1,y,Bv,0,[0,{[v]:rp}]],xR=[1,y,Vv,0,[()=>fI,{[v]:_}]],SR=[1,y,Hv,0,[0,{[v]:_}]],CR=[1,y,ry,0,[()=>mI,{[v]:_}]],wR=[1,y,qv,0,[()=>vI,{[v]:_}]],TR=[1,y,Ev,0,[()=>bI,{[v]:_}]],ER=[1,y,dy,0,[()=>xI,{[v]:_}]],DR=[1,y,jy,0,[()=>TI,{[v]:_}]],OR=[1,y,Vy,0,[()=>wI,{[v]:_}]],kR=[1,y,qy,0,[0,{[v]:Ky}]],AR=[1,y,Hy,0,[()=>EI,{[v]:_}]],jR=[1,y,rb,0,[()=>DI,{[v]:_}]],MR=[1,y,Ty,0,[0,{[v]:_}]],NR=[1,y,Uy,0,[()=>MI,{[v]:_}]],PR=[1,y,sb,0,[()=>PI,{[v]:_}]],FR=[1,y,ub,0,[0,{[v]:_}]],IR=[1,y,fb,0,[()=>NI,{[v]:_}]],LR=[1,y,Fb,0,[0,{[v]:Pb}]],RR=[1,y,Lb,0,[()=>RI,{[v]:_}]],zR=[1,y,Vb,0,[0,{[v]:_}]],BR=[1,y,Ub,0,[()=>zI,{[v]:_}]],VR=[1,y,Gb,0,[0,{[v]:qb}]],HR=[1,y,cx,0,[0,{[v]:px}]],UR=[1,y,xx,0,[()=>BI,{[v]:_}]],WR=[1,y,lx,0,[0,{[v]:yx}]],GR=[1,y,Xb,0,[()=>YI,{[v]:_}]],KR=[1,y,Cx,0,[()=>qI,{[v]:_}]],qR=[1,y,Cb,0,[0,{[v]:_}]],JR=[1,y,hS,0,[()=>XI,{[v]:_}]],YR=[1,y,wS,0,[()=>ZI,{[v]:_}]],XR=[1,y,xS,0,[1,{[v]:_}]],ZR=[1,y,IS,0,[0,{[v]:_}]],QR=[1,y,BS,0,[()=>eL,{[v]:_}]],$R=[1,y,OC,0,[0,{[v]:_}]],ez=[1,y,jC,0,[0,{[v]:_}]],tz=[1,y,JS,0,[()=>rL,{[v]:_}]],nz=[1,y,dC,0,[0,{[v]:pC}]],rz=[1,y,vC,0,[()=>nL,{[v]:_}]],iz=[1,y,ZS,0,[()=>oL,{[v]:_}]],az=[1,y,fC,0,[0,{[v]:sC}]],oz=[1,y,lC,0,[()=>fL,{[v]:_}]],sz=[1,y,yC,0,[()=>aL,{[v]:_}]],cz=[1,y,VC,0,[0,{[v]:_}]],lz=[1,y,WC,0,[0,{[v]:UC}]],uz=[1,y,qC,0,[0,{[v]:KC}]],dz=[9,y,hs,0,()=>qM,()=>JM],fz=[9,y,rs,0,()=>YM,()=>pL],pz=[9,y,js,0,()=>XM,()=>rL],mz=[9,y,bs,0,()=>$M,()=>eN],hz=[9,y,Ts,0,()=>tN,()=>nN],gz=[9,y,_l,0,()=>gN,()=>_N],_z=[9,y,Lc,0,()=>bN,()=>xN],vz=[9,y,Oc,0,()=>SN,()=>CN],yz=[9,y,Rc,0,()=>wN,()=>UF],bz=[9,y,Gc,0,()=>TN,()=>EN],xz=[9,y,ol,0,()=>DN,()=>ON],Sz=[9,y,al,0,()=>kN,()=>AN],Cz=[9,y,sl,0,()=>jN,()=>MN],wz=[9,y,yl,0,()=>NN,()=>BI],Tz=[9,y,bl,0,()=>PN,()=>FN],Ez=[9,y,Ml,0,()=>IN,()=>nL],Dz=[9,y,Nl,0,()=>LN,()=>RN],Oz=[9,y,fu,0,()=>VN,()=>HN],kz=[9,y,Cu,0,()=>UN,()=>pL],Az=[9,y,Lu,0,()=>WN,()=>GN],jz=[9,y,Yu,0,()=>KN,()=>pL],Mz=[9,y,Xu,0,()=>qN,()=>pL],Nz=[9,y,fd,0,()=>JN,()=>pL],Pz=[9,y,pd,0,()=>YN,()=>pL],Fz=[9,y,Hl,0,()=>XN,()=>ZN],Iz=[9,y,lu,0,()=>QN,()=>$N],Lz=[9,y,uu,0,()=>eP,()=>tP],Rz=[9,y,cu,0,()=>nP,()=>rP],zz=[9,y,eu,0,()=>iP,()=>aP],Bz=[9,y,_u,0,()=>oP,()=>sP],Vz=[9,y,Du,0,()=>cP,()=>lP],Hz=[9,y,Iu,0,()=>uP,()=>dP],Uz=[9,y,Pu,0,()=>fP,()=>pP],Wz=[9,y,Hu,0,()=>mP,()=>hP],Gz=[9,y,Zu,0,()=>gP,()=>_P],Kz=[9,y,Qu,0,()=>vP,()=>yP],qz=[9,y,md,0,()=>bP,()=>xP],Jz=[9,y,hd,0,()=>SP,()=>CP],Yz=[9,y,gd,0,()=>wP,()=>rL],Xz=[9,y,Kf,0,()=>GP,()=>KP],Zz=[9,y,Om,0,()=>nF,()=>rF],Qz=[9,y,o_,0,()=>QF,()=>pL],$z=[9,y,x_,0,()=>$F,()=>eI],eB=[9,y,Ry,0,()=>SI,()=>pL],tB=[9,y,Xy,0,()=>OI,()=>kI],nB=[9,y,tb,0,()=>AI,()=>jI],rB=[9,y,By,0,()=>LI,()=>EI],iB=[9,y,gx,0,()=>HI,()=>UI],aB=[9,y,vx,0,()=>GI,()=>KI],oB=[9,y,lS,0,()=>QI,()=>$I],sB=e=>({apiVersion:`2016-11-15`,base64Decoder:e?.base64Decoder??Ue,base64Encoder:e?.base64Encoder??We,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??Yo,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??Ha,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new Na}],logger:e?.logger??new _a,protocol:e?.protocol??vo,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.ec2`,errorTypeRegistries:UM,xmlNamespace:`http://ec2.amazonaws.com/doc/2016-11-15`,version:`2016-11-15`,serviceTarget:`AmazonEC2`},serviceId:e?.serviceId??`EC2`,urlParser:e?.urlParser??gt,utf8Decoder:e?.utf8Decoder??se,utf8Encoder:e?.utf8Encoder??ce}),cB=e=>{let t=$a(e),n=()=>t().then(ca),r=sB(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Za,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??qa({serviceId:r.serviceId,clientVersion:Ka.version}),maxAttempts:e?.maxAttempts??3,region:e?.region??Ya(`Region is missing`),requestHandler:$e.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||Gr),sha256:e?.sha256??l,streamCollector:e?.streamCollector??tt,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},lB=e=>({setRegion(t){e.region=t},region(){return e.region}}),uB=e=>({region:e.region()}),dB=e=>{let t=e.httpAuthSchemes,n=e.httpAuthSchemeProvider,r=e.credentials;return{setHttpAuthScheme(e){let n=t.findIndex(t=>t.schemeId===e.schemeId);n===-1?t.push(e):t.splice(n,1,e)},httpAuthSchemes(){return t},setHttpAuthSchemeProvider(e){n=e},httpAuthSchemeProvider(){return n},setCredentials(e){r=e},credentials(){return r}}},fB=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),pB=(e,t)=>{let n=Object.assign(lB(e),ma(e),de(e),dB(e));return t.forEach(e=>e.configure(n)),Object.assign(e,uB(n),ha(n),fe(n),fB(n))},mB=class extends ta{config;constructor(...[e]){let t=cB(e||{});super(t),this.initConfig=t,this.config=pB(Ua(qi(ye(Oi(Yi($n(Wa(t))))))),e?.extensions||[]),this.middlewareStack.use(xt(this.config)),this.middlewareStack.use(Ci(this.config)),this.middlewareStack.use(Ea(this.config)),this.middlewareStack.use(Mi(this.config)),this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(Te(this.config)),this.middlewareStack.use(Oe(this.config)),this.middlewareStack.use(Ne(this.config,{httpAuthSchemeParametersProvider:Ba,identityProviderConfigProvider:async e=>new Jn({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(Re(this.config))}destroy(){super.destroy()}},hB=async(e,t,n)=>({operation:_e(t).operation,region:await f(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function gB(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`iam`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var _B=e=>{let t=[];switch(e.operation){default:t.push(gB(e))}return t},vB=e=>{let t=La(e);return Object.assign(t,{authSchemePreference:f(e.authSchemePreference??[])})},yB=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:`iam`}),bB={UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},xB={name:`@aws-sdk/client-iam`,description:`AWS SDK for JavaScript Iam Client for Node.js, Browser and React Native`,version:`3.1029.0`,scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline client-iam`,"build:es":`tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`tsc -p tsconfig.types.json`,"build:types:downlevel":`downlevel-dts dist-types dist-types/ts3.4`,clean:`premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service --solo iam`,test:`yarn g:vitest run --passWithNoTests`,"test:e2e":`yarn g:vitest run -c vitest.config.e2e.mts --mode development`,"test:e2e:watch":`yarn g:vitest watch -c vitest.config.e2e.mts`,"test:index":`tsc --noEmit ./test/index-types.ts && node ./test/index-objects.spec.mjs`,"test:integration":`yarn g:vitest run --passWithNoTests -c vitest.config.integ.mts`,"test:integration:watch":`yarn g:vitest run --passWithNoTests -c vitest.config.integ.mts`,"test:watch":`yarn g:vitest watch --passWithNoTests`},main:`./dist-cjs/index.js`,types:`./dist-types/index.d.ts`,module:`./dist-es/index.js`,sideEffects:!1,dependencies:{"@aws-crypto/sha256-browser":`5.2.0`,"@aws-crypto/sha256-js":`5.2.0`,"@aws-sdk/core":`^3.973.27`,"@aws-sdk/credential-provider-node":`^3.972.30`,"@aws-sdk/middleware-host-header":`^3.972.9`,"@aws-sdk/middleware-logger":`^3.972.9`,"@aws-sdk/middleware-recursion-detection":`^3.972.10`,"@aws-sdk/middleware-user-agent":`^3.972.29`,"@aws-sdk/region-config-resolver":`^3.972.11`,"@aws-sdk/types":`^3.973.7`,"@aws-sdk/util-endpoints":`^3.996.6`,"@aws-sdk/util-user-agent-browser":`^3.972.9`,"@aws-sdk/util-user-agent-node":`^3.973.15`,"@smithy/config-resolver":`^4.4.14`,"@smithy/core":`^3.23.14`,"@smithy/fetch-http-handler":`^5.3.16`,"@smithy/hash-node":`^4.2.13`,"@smithy/invalid-dependency":`^4.2.13`,"@smithy/middleware-content-length":`^4.2.13`,"@smithy/middleware-endpoint":`^4.4.29`,"@smithy/middleware-retry":`^4.5.0`,"@smithy/middleware-serde":`^4.2.17`,"@smithy/middleware-stack":`^4.2.13`,"@smithy/node-config-provider":`^4.3.13`,"@smithy/node-http-handler":`^4.5.2`,"@smithy/protocol-http":`^5.3.13`,"@smithy/smithy-client":`^4.12.9`,"@smithy/types":`^4.14.0`,"@smithy/url-parser":`^4.2.13`,"@smithy/util-base64":`^4.3.2`,"@smithy/util-body-length-browser":`^4.2.2`,"@smithy/util-body-length-node":`^4.2.3`,"@smithy/util-defaults-mode-browser":`^4.3.45`,"@smithy/util-defaults-mode-node":`^4.2.49`,"@smithy/util-endpoints":`^3.3.4`,"@smithy/util-middleware":`^4.2.13`,"@smithy/util-retry":`^4.3.0`,"@smithy/util-utf8":`^4.2.2`,"@smithy/util-waiter":`^4.2.15`,tslib:`^2.6.2`},devDependencies:{"@smithy/snapshot-testing":`^2.0.5`,"@tsconfig/node20":`20.1.8`,"@types/node":`^20.14.8`,concurrently:`7.0.0`,"downlevel-dts":`0.10.1`,premove:`4.0.0`,typescript:`~5.8.3`,vitest:`^4.0.17`},engines:{node:`>=20.0.0`},typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},files:[`dist-*/**`],author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/javascript/`},license:`Apache-2.0`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-iam`,repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-iam`}},SB=`required`,CB=`fn`,wB=`argv`,TB=`ref`,EB=`properties`,DB=`headers`,OB=`authSchemes`,kB=`name`,AB=`signingRegion`,jB=!0,MB=`isSet`,NB=`booleanEquals`,PB=`error`,FB=`endpoint`,IB=`tree`,LB=`PartitionResult`,RB=`stringEquals`,zB=`sigv4`,BB={[SB]:!0,default:!1,type:`boolean`},VB={[SB]:!1,type:`string`},HB={[TB]:`Endpoint`},UB={[CB]:NB,[wB]:[{[TB]:`UseFIPS`},!0]},WB={[CB]:NB,[wB]:[{[TB]:`UseDualStack`},!0]},GB={},KB={[CB]:RB,[wB]:[{[CB]:`getAttr`,[wB]:[{[TB]:LB},`name`]},`aws`]},qB={[CB]:`getAttr`,[wB]:[{[TB]:LB},`name`]},JB={[CB]:NB,[wB]:[{[TB]:`UseFIPS`},!1]},YB={[OB]:[{[kB]:zB,[AB]:`us-east-1`}]},XB={[CB]:RB,[wB]:[qB,`aws-cn`]},ZB={[OB]:[{[kB]:zB,[AB]:`cn-north-1`}]},QB={[CB]:NB,[wB]:[{[TB]:`UseDualStack`},!1]},$B={[CB]:RB,[wB]:[qB,`aws-us-gov`]},eV={url:`https://iam.us-gov.api.aws`,[EB]:{[OB]:[{[kB]:zB,[AB]:`us-gov-west-1`}]},[DB]:{}},tV={url:`https://iam.us-gov.amazonaws.com`,[EB]:{[OB]:[{[kB]:zB,[AB]:`us-gov-west-1`}]},[DB]:{}},nV={[CB]:RB,[wB]:[qB,`aws-iso`]},rV={[OB]:[{[kB]:zB,[AB]:`us-iso-east-1`}]},iV={[CB]:RB,[wB]:[qB,`aws-iso-b`]},aV={[OB]:[{[kB]:zB,[AB]:`us-isob-east-1`}]},oV={[CB]:`getAttr`,[wB]:[{[TB]:LB},`supportsFIPS`]},sV={[CB]:NB,[wB]:[!0,{[CB]:`getAttr`,[wB]:[{[TB]:LB},`supportsDualStack`]}]},cV={[OB]:[{[kB]:zB,[AB]:`{PartitionResult#implicitGlobalRegion}`}]},lV=[{[TB]:`Region`}],uV={version:`1.0`,parameters:{UseDualStack:BB,UseFIPS:BB,Endpoint:VB,Region:VB},rules:[{conditions:[{[CB]:MB,[wB]:[HB]}],rules:[{conditions:[UB],error:`Invalid Configuration: FIPS and custom endpoint are not supported`,type:PB},{rules:[{conditions:[WB],error:`Invalid Configuration: Dualstack and custom endpoint are not supported`,type:PB},{endpoint:{url:HB,[EB]:GB,[DB]:GB},type:FB}],type:IB}],type:IB},{rules:[{conditions:[{[CB]:MB,[wB]:lV}],rules:[{conditions:[{[CB]:`aws.partition`,[wB]:lV,assign:LB}],rules:[{conditions:[KB,JB,WB],endpoint:{url:`https://iam.global.api.aws`,[EB]:YB,[DB]:GB},type:FB},{conditions:[KB,UB,WB],endpoint:{url:`https://iam-fips.global.api.aws`,[EB]:YB,[DB]:GB},type:FB},{conditions:[XB,JB,WB],endpoint:{url:`https://iam.global.api.amazonwebservices.com.cn`,[EB]:ZB,[DB]:GB},type:FB},{conditions:[XB,JB,QB],endpoint:{url:`https://iam.cn-north-1.amazonaws.com.cn`,[EB]:ZB,[DB]:GB},type:FB},{conditions:[$B,JB,WB],endpoint:eV,type:FB},{conditions:[$B,UB,WB],endpoint:eV,type:FB},{conditions:[$B,JB,QB],endpoint:tV,type:FB},{conditions:[$B,UB,QB],endpoint:tV,type:FB},{conditions:[nV,JB,QB],endpoint:{url:`https://iam.us-iso-east-1.c2s.ic.gov`,[EB]:rV,[DB]:GB},type:FB},{conditions:[nV,UB,QB],endpoint:{url:`https://iam-fips.us-iso-east-1.c2s.ic.gov`,[EB]:rV,[DB]:GB},type:FB},{conditions:[iV,JB,QB],endpoint:{url:`https://iam.us-isob-east-1.sc2s.sgov.gov`,[EB]:aV,[DB]:GB},type:FB},{conditions:[iV,UB,QB],endpoint:{url:`https://iam-fips.us-isob-east-1.sc2s.sgov.gov`,[EB]:aV,[DB]:GB},type:FB},{conditions:[{[CB]:RB,[wB]:[qB,`aws-iso-e`]},JB,QB],endpoint:{url:`https://iam.eu-isoe-west-1.cloud.adc-e.uk`,[EB]:{[OB]:[{[kB]:zB,[AB]:`eu-isoe-west-1`}]},[DB]:GB},type:FB},{conditions:[{[CB]:RB,[wB]:[qB,`aws-iso-f`]},JB,QB],endpoint:{url:`https://iam.us-isof-south-1.csp.hci.ic.gov`,[EB]:{[OB]:[{[kB]:zB,[AB]:`us-isof-south-1`}]},[DB]:GB},type:FB},{conditions:[{[CB]:RB,[wB]:[qB,`aws-eusc`]},JB,QB],endpoint:{url:`https://iam.eusc-de-east-1.amazonaws.eu`,[EB]:{[OB]:[{[kB]:zB,[AB]:`eusc-de-east-1`}]},[DB]:GB},type:FB},{conditions:[UB,WB],rules:[{conditions:[{[CB]:NB,[wB]:[jB,oV]},sV],rules:[{endpoint:{url:`https://iam-fips.{PartitionResult#dualStackDnsSuffix}`,[EB]:cV,[DB]:GB},type:FB}],type:IB},{error:`FIPS and DualStack are enabled, but this partition does not support one or both`,type:PB}],type:IB},{conditions:[UB,QB],rules:[{conditions:[{[CB]:NB,[wB]:[oV,jB]}],rules:[{endpoint:{url:`https://iam-fips.{PartitionResult#dnsSuffix}`,[EB]:cV,[DB]:GB},type:FB}],type:IB},{error:`FIPS is enabled but this partition does not support FIPS`,type:PB}],type:IB},{conditions:[JB,WB],rules:[{conditions:[sV],rules:[{endpoint:{url:`https://iam.{PartitionResult#dualStackDnsSuffix}`,[EB]:cV,[DB]:GB},type:FB}],type:IB},{error:`DualStack is enabled but this partition does not support DualStack`,type:PB}],type:IB},{endpoint:{url:`https://iam.{PartitionResult#dnsSuffix}`,[EB]:cV,[DB]:GB},type:FB}],type:IB}],type:IB},{error:`Invalid Configuration: Missing Region`,type:PB}],type:IB}]},dV=new er({size:50,params:[`Endpoint`,`Region`,`UseDualStack`,`UseFIPS`]}),fV=(e,t={})=>dV.get(e,()=>Mr(uV,{endpointParams:e,logger:t.logger}));ar.aws=Vr;var b=class e extends oa{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},pV=class e extends b{name=`ConcurrentModificationException`;$fault=`client`;constructor(t){super({name:`ConcurrentModificationException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},mV=class e extends b{name=`NoSuchEntityException`;$fault=`client`;constructor(t){super({name:`NoSuchEntityException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},hV=class e extends b{name=`ServiceFailureException`;$fault=`server`;constructor(t){super({name:`ServiceFailureException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype)}},gV=class e extends b{name=`AccountNotManagementOrDelegatedAdministratorException`;$fault=`client`;Message;constructor(t){super({name:`AccountNotManagementOrDelegatedAdministratorException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},_V=class e extends b{name=`InvalidInputException`;$fault=`client`;constructor(t){super({name:`InvalidInputException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},vV=class e extends b{name=`LimitExceededException`;$fault=`client`;constructor(t){super({name:`LimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},yV=class e extends b{name=`EntityAlreadyExistsException`;$fault=`client`;constructor(t){super({name:`EntityAlreadyExistsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},bV=class e extends b{name=`UnmodifiableEntityException`;$fault=`client`;constructor(t){super({name:`UnmodifiableEntityException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},xV=class e extends b{name=`PolicyNotAttachableException`;$fault=`client`;constructor(t){super({name:`PolicyNotAttachableException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},SV=class e extends b{name=`EntityTemporarilyUnmodifiableException`;$fault=`client`;constructor(t){super({name:`EntityTemporarilyUnmodifiableException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},CV=class e extends b{name=`InvalidUserTypeException`;$fault=`client`;constructor(t){super({name:`InvalidUserTypeException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},wV=class e extends b{name=`PasswordPolicyViolationException`;$fault=`client`;constructor(t){super({name:`PasswordPolicyViolationException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},TV=class e extends b{name=`OpenIdIdpCommunicationErrorException`;$fault=`client`;constructor(t){super({name:`OpenIdIdpCommunicationErrorException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},EV=class e extends b{name=`MalformedPolicyDocumentException`;$fault=`client`;constructor(t){super({name:`MalformedPolicyDocumentException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},DV=class e extends b{name=`ServiceNotSupportedException`;$fault=`client`;constructor(t){super({name:`ServiceNotSupportedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},OV=class e extends b{name=`DeleteConflictException`;$fault=`client`;constructor(t){super({name:`DeleteConflictException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},kV=class e extends b{name=`OrganizationNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`OrganizationNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},AV=class e extends b{name=`OrganizationNotInAllFeaturesModeException`;$fault=`client`;Message;constructor(t){super({name:`OrganizationNotInAllFeaturesModeException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},jV=class e extends b{name=`ServiceAccessNotEnabledException`;$fault=`client`;Message;constructor(t){super({name:`ServiceAccessNotEnabledException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},MV=class e extends b{name=`FeatureDisabledException`;$fault=`client`;constructor(t){super({name:`FeatureDisabledException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},NV=class e extends b{name=`InvalidAuthenticationCodeException`;$fault=`client`;constructor(t){super({name:`InvalidAuthenticationCodeException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},PV=class e extends b{name=`CallerIsNotManagementAccountException`;$fault=`client`;Message;constructor(t){super({name:`CallerIsNotManagementAccountException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},FV=class e extends b{name=`FeatureEnabledException`;$fault=`client`;constructor(t){super({name:`FeatureEnabledException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},IV=class e extends b{name=`ReportGenerationLimitExceededException`;$fault=`client`;constructor(t){super({name:`ReportGenerationLimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},LV=class e extends b{name=`CredentialReportExpiredException`;$fault=`client`;constructor(t){super({name:`CredentialReportExpiredException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},RV=class e extends b{name=`CredentialReportNotPresentException`;$fault=`client`;constructor(t){super({name:`CredentialReportNotPresentException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},zV=class e extends b{name=`CredentialReportNotReadyException`;$fault=`client`;constructor(t){super({name:`CredentialReportNotReadyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},BV=class e extends b{name=`UnrecognizedPublicKeyEncodingException`;$fault=`client`;constructor(t){super({name:`UnrecognizedPublicKeyEncodingException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},VV=class e extends b{name=`PolicyEvaluationException`;$fault=`server`;constructor(t){super({name:`PolicyEvaluationException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype)}},HV=class e extends b{name=`KeyPairMismatchException`;$fault=`client`;constructor(t){super({name:`KeyPairMismatchException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},UV=class e extends b{name=`MalformedCertificateException`;$fault=`client`;constructor(t){super({name:`MalformedCertificateException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},WV=class e extends b{name=`DuplicateCertificateException`;$fault=`client`;constructor(t){super({name:`DuplicateCertificateException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},GV=class e extends b{name=`InvalidCertificateException`;$fault=`client`;constructor(t){super({name:`InvalidCertificateException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},KV=class e extends b{name=`DuplicateSSHPublicKeyException`;$fault=`client`;constructor(t){super({name:`DuplicateSSHPublicKeyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},qV=class e extends b{name=`InvalidPublicKeyException`;$fault=`client`;constructor(t){super({name:`InvalidPublicKeyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},JV=`Arn`,YV=`AttachmentCount`,XV=`AccessKey`,ZV=`AccessKeyId`,QV=`AccessKeyMetadata`,$V=`AccountNotManagementOrDelegatedAdministratorException`,eH=`AttachedPolicy`,tH=`AttachedPermissionsBoundary`,nH=`AttachedPolicies`,rH=`AttachUserPolicy`,iH=`AttachUserPolicyRequest`,aH=`CreateAccessKey`,oH=`CreateAccessKeyRequest`,sH=`CreateAccessKeyResponse`,cH=`CreateDate`,lH=`CallerIsNotManagementAccountException`,uH=`ConcurrentModificationException`,dH=`CreatePolicyRequest`,fH=`CreatePolicyResponse`,pH=`CreatePolicy`,mH=`CredentialReportExpiredException`,hH=`CredentialReportNotPresentException`,gH=`CredentialReportNotReadyException`,_H=`CreateUser`,vH=`CreateUserRequest`,yH=`CreateUserResponse`,bH=`Description`,xH=`DeleteAccessKey`,SH=`DeleteAccessKeyRequest`,CH=`DeleteConflictException`,wH=`DuplicateCertificateException`,TH=`DeletePolicyRequest`,EH=`DeletePolicy`,DH=`DuplicateSSHPublicKeyException`,OH=`DeleteUser`,kH=`DetachUserPolicyRequest`,AH=`DetachUserPolicy`,jH=`DeleteUserRequest`,MH=`DefaultVersionId`,NH=`Document`,PH=`EntityAlreadyExistsException`,FH=`EntityTemporarilyUnmodifiableException`,IH=`FeatureDisabledException`,LH=`FeatureEnabledException`,RH=`GetPolicy`,zH=`GetPolicyRequest`,BH=`GetPolicyResponse`,VH=`GetPolicyVersion`,HH=`GetPolicyVersionRequest`,UH=`GetPolicyVersionResponse`,WH=`GetUser`,GH=`GetUserRequest`,KH=`GetUserResponse`,qH=`IsAttachable`,JH=`InvalidAuthenticationCodeException`,YH=`InvalidCertificateException`,XH=`IsDefaultVersion`,ZH=`InvalidInputException`,QH=`InvalidPublicKeyException`,$H=`IsTruncated`,eU=`InvalidUserTypeException`,tU=`Key`,nU=`KeyPairMismatchException`,rU=`ListAccessKeys`,iU=`ListAccessKeysRequest`,aU=`ListAccessKeysResponse`,oU=`ListAttachedUserPolicies`,sU=`ListAttachedUserPoliciesRequest`,cU=`ListAttachedUserPoliciesResponse`,lU=`LimitExceededException`,uU=`ListPoliciesRequest`,dU=`ListPoliciesResponse`,fU=`ListPolicies`,pU=`ListUsers`,mU=`ListUsersRequest`,hU=`ListUsersResponse`,gU=`Message`,_U=`MalformedCertificateException`,vU=`MaxItems`,yU=`MalformedPolicyDocumentException`,bU=`Marker`,xU=`NoSuchEntityException`,SU=`OnlyAttached`,CU=`OpenIdIdpCommunicationErrorException`,wU=`OrganizationNotFoundException`,TU=`OrganizationNotInAllFeaturesModeException`,EU=`PolicyArn`,DU=`PermissionsBoundary`,OU=`PermissionsBoundaryArn`,kU=`PermissionsBoundaryType`,AU=`PermissionsBoundaryUsageCount`,jU=`PolicyDocument`,MU=`PolicyEvaluationException`,NU=`PolicyId`,PU=`PasswordLastUsed`,FU=`PolicyName`,IU=`PolicyNotAttachableException`,LU=`PasswordPolicyViolationException`,RU=`PathPrefix`,zU=`PolicyUsageFilter`,BU=`PolicyVersion`,VU=`Path`,HU=`Policy`,UU=`Policies`,WU=`ReportGenerationLimitExceededException`,GU=`Status`,KU=`SecretAccessKey`,qU=`ServiceAccessNotEnabledException`,JU=`ServiceFailureException`,YU=`ServiceNotSupportedException`,XU=`Scope`,ZU=`Tags`,QU=`Tag`,$U=`UpdateAccessKey`,eW=`UpdateAccessKeyRequest`,tW=`UpdateDate`,nW=`UnmodifiableEntityException`,rW=`UserId`,iW=`UserName`,aW=`UnrecognizedPublicKeyEncodingException`,oW=`User`,sW=`Users`,cW=`VersionId`,lW=`Value`,uW=`accessKeyMetadataListType`,dW=`accessKeySecretType`,fW=`attachedPoliciesListType`,x=`awsQueryError`,S=`client`,C=`error`,w=`httpError`,T=`message`,pW=`policyListType`,mW=`smithy.ts.sdk.synthetic.com.amazonaws.iam`,hW=`server`,gW=`tagListType`,_W=`userListType`,E=`com.amazonaws.iam`,vW=At.for(mW),yW=[-3,mW,`IAMServiceException`,0,[],[]];vW.registerError(yW,b);var D=At.for(E),bW=[-3,E,$V,{[C]:S,[w]:400},[gU],[0]];D.registerError(bW,gV);var xW=[-3,E,lH,{[C]:S,[w]:400},[gU],[0]];D.registerError(xW,PV);var SW=[-3,E,uH,{[x]:[`ConcurrentModification`,409],[C]:S,[w]:409},[T],[0]];D.registerError(SW,pV);var CW=[-3,E,mH,{[x]:[`ReportExpired`,410],[C]:S,[w]:410},[T],[0]];D.registerError(CW,LV);var wW=[-3,E,hH,{[x]:[`ReportNotPresent`,410],[C]:S,[w]:410},[T],[0]];D.registerError(wW,RV);var TW=[-3,E,gH,{[x]:[`ReportInProgress`,404],[C]:S,[w]:404},[T],[0]];D.registerError(TW,zV);var EW=[-3,E,CH,{[x]:[`DeleteConflict`,409],[C]:S,[w]:409},[T],[0]];D.registerError(EW,OV);var DW=[-3,E,wH,{[x]:[`DuplicateCertificate`,409],[C]:S,[w]:409},[T],[0]];D.registerError(DW,WV);var OW=[-3,E,DH,{[x]:[`DuplicateSSHPublicKey`,400],[C]:S,[w]:400},[T],[0]];D.registerError(OW,KV);var kW=[-3,E,PH,{[x]:[`EntityAlreadyExists`,409],[C]:S,[w]:409},[T],[0]];D.registerError(kW,yV);var AW=[-3,E,FH,{[x]:[`EntityTemporarilyUnmodifiable`,409],[C]:S,[w]:409},[T],[0]];D.registerError(AW,SV);var jW=[-3,E,IH,{[x]:[`FeatureDisabled`,404],[C]:S,[w]:404},[T],[0]];D.registerError(jW,MV);var MW=[-3,E,LH,{[x]:[`FeatureEnabled`,409],[C]:S,[w]:409},[T],[0]];D.registerError(MW,FV);var NW=[-3,E,JH,{[x]:[`InvalidAuthenticationCode`,403],[C]:S,[w]:403},[T],[0]];D.registerError(NW,NV);var PW=[-3,E,YH,{[x]:[`InvalidCertificate`,400],[C]:S,[w]:400},[T],[0]];D.registerError(PW,GV);var FW=[-3,E,ZH,{[x]:[`InvalidInput`,400],[C]:S,[w]:400},[T],[0]];D.registerError(FW,_V);var IW=[-3,E,QH,{[x]:[`InvalidPublicKey`,400],[C]:S,[w]:400},[T],[0]];D.registerError(IW,qV);var LW=[-3,E,eU,{[x]:[`InvalidUserType`,400],[C]:S,[w]:400},[T],[0]];D.registerError(LW,CV);var RW=[-3,E,nU,{[x]:[`KeyPairMismatch`,400],[C]:S,[w]:400},[T],[0]];D.registerError(RW,HV);var zW=[-3,E,lU,{[x]:[`LimitExceeded`,409],[C]:S,[w]:409},[T],[0]];D.registerError(zW,vV);var BW=[-3,E,_U,{[x]:[`MalformedCertificate`,400],[C]:S,[w]:400},[T],[0]];D.registerError(BW,UV);var VW=[-3,E,yU,{[x]:[`MalformedPolicyDocument`,400],[C]:S,[w]:400},[T],[0]];D.registerError(VW,EV);var HW=[-3,E,xU,{[x]:[`NoSuchEntity`,404],[C]:S,[w]:404},[T],[0]];D.registerError(HW,mV);var UW=[-3,E,CU,{[x]:[`OpenIdIdpCommunicationError`,400],[C]:S,[w]:400},[T],[0]];D.registerError(UW,TV);var WW=[-3,E,wU,{[C]:S,[w]:400},[gU],[0]];D.registerError(WW,kV);var GW=[-3,E,TU,{[C]:S,[w]:400},[gU],[0]];D.registerError(GW,AV);var KW=[-3,E,LU,{[x]:[`PasswordPolicyViolation`,400],[C]:S,[w]:400},[T],[0]];D.registerError(KW,wV);var qW=[-3,E,MU,{[x]:[`PolicyEvaluation`,500],[C]:hW,[w]:500},[T],[0]];D.registerError(qW,VV);var JW=[-3,E,IU,{[x]:[`PolicyNotAttachable`,400],[C]:S,[w]:400},[T],[0]];D.registerError(JW,xV);var YW=[-3,E,WU,{[x]:[`ReportGenerationLimitExceeded`,409],[C]:S,[w]:409},[T],[0]];D.registerError(YW,IV);var XW=[-3,E,qU,{[C]:S,[w]:400},[gU],[0]];D.registerError(XW,jV);var ZW=[-3,E,JU,{[x]:[`ServiceFailure`,500],[C]:hW,[w]:500},[T],[0]];D.registerError(ZW,hV);var QW=[-3,E,YU,{[x]:[`NotSupportedService`,404],[C]:S,[w]:404},[T],[0]];D.registerError(QW,DV);var $W=[-3,E,nW,{[x]:[`UnmodifiableEntity`,400],[C]:S,[w]:400},[T],[0]];D.registerError($W,bV);var eG=[-3,E,aW,{[x]:[`UnrecognizedPublicKeyEncoding`,400],[C]:S,[w]:400},[T],[0]];D.registerError(eG,BV);var tG=[vW,D],nG=[0,E,dW,8,0],rG=[3,E,XV,0,[iW,ZV,GU,KU,cH],[0,0,0,[()=>nG,0],4],4],iG=[3,E,QV,0,[iW,ZV,GU,cH],[0,0,0,4]],aG=[3,E,tH,0,[kU,OU],[0,0]],oG=[3,E,eH,0,[FU,EU],[0,0]],sG=[3,E,iH,0,[iW,EU],[0,0],2],cG=[3,E,oH,0,[iW],[0]],lG=[3,E,sH,0,[XV],[[()=>rG,0]],1],uG=[3,E,dH,0,[FU,jU,VU,bH,ZU],[0,0,0,0,()=>VG],2],dG=[3,E,fH,0,[HU],[()=>MG]],fG=[3,E,vH,0,[iW,VU,DU,ZU],[0,0,0,()=>VG],1],pG=[3,E,yH,0,[oW],[()=>IG]],mG=[3,E,SH,0,[ZV,iW],[0,0],1],hG=[3,E,TH,0,[EU],[0],1],gG=[3,E,jH,0,[iW],[0],1],_G=[3,E,kH,0,[iW,EU],[0,0],2],vG=[3,E,zH,0,[EU],[0],1],yG=[3,E,BH,0,[HU],[()=>MG]],bG=[3,E,HH,0,[EU,cW],[0,0],2],xG=[3,E,UH,0,[BU],[()=>NG]],SG=[3,E,GH,0,[iW],[0]],CG=[3,E,KH,0,[oW],[()=>IG],1],wG=[3,E,iU,0,[iW,bU,vU],[0,0,1]],TG=[3,E,aU,0,[QV,$H,bU],[()=>RG,2,0],1],EG=[3,E,sU,0,[iW,RU,bU,vU],[0,0,0,1],1],DG=[3,E,cU,0,[nH,$H,bU],[()=>zG,2,0]],OG=[3,E,uU,0,[XU,SU,RU,zU,bU,vU],[0,2,0,0,0,1]],kG=[3,E,dU,0,[UU,$H,bU],[()=>BG,2,0]],AG=[3,E,mU,0,[RU,bU,vU],[0,0,1]],jG=[3,E,hU,0,[sW,$H,bU],[()=>HG,2,0],1],MG=[3,E,HU,0,[FU,NU,JV,VU,MH,YV,AU,qH,bH,cH,tW,ZU],[0,0,0,0,0,1,1,2,0,4,4,()=>VG]],NG=[3,E,BU,0,[NH,cW,XH,cH],[0,0,2,4]],PG=[3,E,QU,0,[tU,lW],[0,0],2],FG=[3,E,eW,0,[ZV,GU,iW],[0,0,0],2],IG=[3,E,oW,0,[VU,iW,rW,JV,cH,PU,DU,ZU],[0,0,0,0,4,4,()=>aG,()=>VG],5],LG=`unit`,RG=[1,E,uW,0,()=>iG],zG=[1,E,fW,0,()=>oG],BG=[1,E,pW,0,()=>MG],VG=[1,E,gW,0,()=>PG],HG=[1,E,_W,0,()=>IG],UG=[9,E,rH,0,()=>sG,()=>LG],WG=[9,E,aH,0,()=>cG,()=>lG],GG=[9,E,pH,0,()=>uG,()=>dG],KG=[9,E,_H,0,()=>fG,()=>pG],qG=[9,E,xH,0,()=>mG,()=>LG],JG=[9,E,EH,0,()=>hG,()=>LG],YG=[9,E,OH,0,()=>gG,()=>LG],XG=[9,E,AH,0,()=>_G,()=>LG],ZG=[9,E,RH,0,()=>vG,()=>yG],QG=[9,E,VH,0,()=>bG,()=>xG],$G=[9,E,WH,0,()=>SG,()=>CG],eK=[9,E,rU,0,()=>wG,()=>TG],tK=[9,E,oU,0,()=>EG,()=>DG],nK=[9,E,fU,0,()=>OG,()=>kG],rK=[9,E,pU,0,()=>AG,()=>jG],iK=[9,E,$U,0,()=>FG,()=>LG],aK=e=>({apiVersion:`2010-05-08`,base64Decoder:e?.base64Decoder??Ue,base64Encoder:e?.base64Encoder??We,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??fV,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??_B,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new Na}],logger:e?.logger??new _a,protocol:e?.protocol??_o,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.iam`,errorTypeRegistries:tG,xmlNamespace:`https://iam.amazonaws.com/doc/2010-05-08/`,version:`2010-05-08`,serviceTarget:`AWSIdentityManagementV20100508`},serviceId:e?.serviceId??`IAM`,urlParser:e?.urlParser??gt,utf8Decoder:e?.utf8Decoder??se,utf8Encoder:e?.utf8Encoder??ce}),oK=e=>{let t=$a(e),n=()=>t().then(ca),r=aK(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Za,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??qa({serviceId:r.serviceId,clientVersion:xB.version}),maxAttempts:e?.maxAttempts??3,region:e?.region??Ya(`Region is missing`),requestHandler:$e.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||Gr),sha256:e?.sha256??l,streamCollector:e?.streamCollector??tt,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},sK=e=>{let t=e.httpAuthSchemes,n=e.httpAuthSchemeProvider,r=e.credentials;return{setHttpAuthScheme(e){let n=t.findIndex(t=>t.schemeId===e.schemeId);n===-1?t.push(e):t.splice(n,1,e)},httpAuthSchemes(){return t},setHttpAuthSchemeProvider(e){n=e},httpAuthSchemeProvider(){return n},setCredentials(e){r=e},credentials(){return r}}},cK=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),lK=(e,t)=>{let n=Object.assign(lB(e),ma(e),de(e),sK(e));return t.forEach(e=>e.configure(n)),Object.assign(e,uB(n),ha(n),fe(n),cK(n))},uK=class extends ta{config;constructor(...[e]){let t=oK(e||{});super(t),this.initConfig=t,this.config=lK(vB(qi(ye(Oi(Yi($n(yB(t))))))),e?.extensions||[]),this.middlewareStack.use(xt(this.config)),this.middlewareStack.use(Ci(this.config)),this.middlewareStack.use(Ea(this.config)),this.middlewareStack.use(Mi(this.config)),this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(Te(this.config)),this.middlewareStack.use(Oe(this.config)),this.middlewareStack.use(Ne(this.config,{httpAuthSchemeParametersProvider:hB,identityProviderConfigProvider:async e=>new Jn({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(Re(this.config))}destroy(){super.destroy()}};function dK(e){return t=>async n=>{let{request:r}=n;if(e.expectContinueHeader!==!1&&i.isInstance(r)&&r.body&&e.runtime===`node`&&e.requestHandler?.constructor?.name!==`FetchHttpHandler`){let t=!0;if(typeof e.expectContinueHeader==`number`)try{t=(Number(r.headers?.[`content-length`])??e.bodyLengthChecker?.(r.body)??1/0)>=e.expectContinueHeader}catch{}else t=!!e.expectContinueHeader;t&&(r.headers.Expect=`100-continue`)}return t({...n,request:r})}}var fK={step:`build`,tags:[`SET_EXPECT_HEADER`,`EXPECT_HEADER`],name:`addExpectContinueMiddleware`,override:!0},pK=e=>({applyToStack:t=>{t.add(dK(e),fK)}}),mK={WHEN_SUPPORTED:`WHEN_SUPPORTED`,WHEN_REQUIRED:`WHEN_REQUIRED`},hK=mK.WHEN_SUPPORTED,gK={WHEN_SUPPORTED:`WHEN_SUPPORTED`,WHEN_REQUIRED:`WHEN_REQUIRED`},_K=mK.WHEN_SUPPORTED,vK;(function(e){e.MD5=`MD5`,e.CRC32=`CRC32`,e.CRC32C=`CRC32C`,e.CRC64NVME=`CRC64NVME`,e.SHA1=`SHA1`,e.SHA256=`SHA256`})(vK||={});var yK;(function(e){e.HEADER=`header`,e.TRAILER=`trailer`})(yK||={});var bK=vK.CRC32,xK=function(){function e(){this.crc32=new SK}return e.prototype.update=function(e){r(e)||this.crc32.update(ae(e))},e.prototype.digest=function(){return a(this,void 0,void 0,function(){return o(this,function(e){return[2,s(this.crc32.digest())]})})},e.prototype.reset=function(){this.crc32=new SK},e}(),SK=function(){function e(){this.checksum=4294967295}return e.prototype.update=function(e){var t,n;try{for(var r=te(e),i=r.next();!i.done;i=r.next()){var a=i.value;this.checksum=this.checksum>>>8^CK[(this.checksum^a)&255]}}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}return this},e.prototype.digest=function(){return(this.checksum^4294967295)>>>0},e}(),CK=c([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]),wK=e=>{let{requestChecksumCalculation:t,responseChecksumValidation:n,requestStreamBufferSize:r}=e;return Object.assign(e,{requestChecksumCalculation:f(t??hK),responseChecksumValidation:f(n??_K),requestStreamBufferSize:Number(r??0),checksumAlgorithms:e.checksumAlgorithms??{}})},TK=e=>(t,n)=>async r=>{let i=await e.region(),a=e.region,o=()=>{};n.__s3RegionRedirect&&(Object.defineProperty(e,`region`,{writable:!1,value:async()=>n.__s3RegionRedirect}),o=()=>Object.defineProperty(e,`region`,{writable:!0,value:a}));try{let a=await t(r);if(n.__s3RegionRedirect&&(o(),i!==await e.region()))throw Error(`Region was not restored following S3 region redirect.`);return a}catch(e){throw o(),e}},EK={tags:[`REGION_REDIRECT`,`S3`],name:`regionRedirectEndpointMiddleware`,override:!0,relation:`before`,toMiddleware:`endpointV2Middleware`};function DK(e){return(t,n)=>async r=>{try{return await t(r)}catch(i){if(e.followRegionRedirects){let a=i?.$metadata?.httpStatusCode,o=n.commandName===`HeadBucketCommand`,s=i?.$response?.headers?.[`x-amz-bucket-region`];if(s&&(a===301||a===400&&(i?.name===`IllegalLocationConstraintException`||o))){try{let t=s;n.logger?.debug(`Redirecting from ${await e.region()} to ${t}`),n.__s3RegionRedirect=t}catch(e){throw Error(`Region redirect failed: `+e)}return t(r)}}throw i}}}var OK={step:`initialize`,tags:[`REGION_REDIRECT`,`S3`],name:`regionRedirectMiddleware`,override:!0},kK=e=>({applyToStack:t=>{t.add(DK(e),OK),t.addRelativeTo(TK(e),EK)}}),AK=class e{data;lastPurgeTime=Date.now();static EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS=3e4;constructor(e={}){this.data=e}get(e){let t=this.data[e];if(t)return t}set(e,t){return this.data[e]=t,t}delete(e){delete this.data[e]}async purgeExpired(){let t=Date.now();if(!(this.lastPurgeTime+e.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS>t))for(let e in this.data){let n=this.data[e];if(!n.isRefreshing){let r=await n.identity;r.expiration&&r.expiration.getTime()(t.expiration?.getTime()??0){i.set(r,new jK(Promise.resolve(e)))})),t)):i.set(r,new jK(this.getIdentity(r))).identity}async getIdentity(e){await this.cache.purgeExpired().catch(e=>{console.warn(`Error while clearing expired entries in S3ExpressIdentityCache: -`+e)});let t=await this.createSessionFn(e);if(!t.Credentials?.AccessKeyId||!t.Credentials?.SecretAccessKey)throw Error(`s3#createSession response credential missing AccessKeyId or SecretAccessKey.`);return{accessKeyId:t.Credentials.AccessKeyId,secretAccessKey:t.Credentials.SecretAccessKey,sessionToken:t.Credentials.SessionToken,expiration:t.Credentials.Expiration?new Date(t.Credentials.Expiration):void 0}}},NK=`sigv4-s3express`,PK=`X-Amz-S3session-Token`,FK=PK.toLowerCase(),IK=class extends re{async signWithCredentials(e,t,n){let r=LK(t);e.headers[FK]=t.sessionToken;let i=this;return RK(i,r),i.signRequest(e,n??{})}async presignWithCredentials(e,t,n){let r=LK(t);return delete e.headers[FK],e.headers[PK]=t.sessionToken,e.query=e.query??{},e.query[PK]=t.sessionToken,RK(this,r),this.presign(e,n)}};function LK(e){return{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,expiration:e.expiration}}function RK(e,t){let n=setTimeout(()=>{throw Error(`SignatureV4S3Express credential override was created but not called.`)},10),r=e.credentialProvider;e.credentialProvider=()=>(clearTimeout(n),e.credentialProvider=r,Promise.resolve(t))}var zK=e=>(t,n)=>async r=>{if(n.endpointV2){let t=n.endpointV2,a=t.properties?.authSchemes?.[0]?.name===NK;if((t.properties?.backend===`S3Express`||t.properties?.bucketType===`Directory`)&&(Ur(n,`S3_EXPRESS_BUCKET`,`J`),n.isS3ExpressBucket=!0),a){let t=r.input.Bucket;if(t){let a=await e.s3ExpressIdentityProvider.getS3ExpressIdentity(await e.credentials(),{Bucket:t});n.s3ExpressIdentity=a,i.isInstance(r.request)&&a.sessionToken&&(r.request.headers[FK]=a.sessionToken)}}}return t(r)},BK={name:`s3ExpressMiddleware`,step:`build`,tags:[`S3`,`S3_EXPRESS`],override:!0},VK=e=>({applyToStack:t=>{t.add(zK(e),BK)}}),HK=async(e,t,n,r)=>{let i=await r.signWithCredentials(n,e,{});if(i.headers[`X-Amz-Security-Token`]||i.headers[`x-amz-security-token`])throw Error(`X-Amz-Security-Token must not be set for s3-express requests.`);return i},UK=e=>e=>{throw e},WK=(e,t)=>{},GK=e=>(t,n)=>async r=>{if(!i.isInstance(r.request))return t(r);let a=_e(n).selectedHttpAuthScheme;if(!a)throw Error(`No HttpAuthScheme was selected: unable to sign request`);let{httpAuthOption:{signingProperties:o={}},identity:s,signer:c}=a,l;l=n.s3ExpressIdentity?await HK(n.s3ExpressIdentity,o,r.request,await e.signer()):await c.sign(r.request,s,o);let u=await t({...r,request:l}).catch((c.errorHandler||UK)(o));return(c.successHandler||WK)(u.response,o),u},KK=e=>({applyToStack:t=>{t.addRelativeTo(GK(e),Le)}}),qK=(e,{session:t})=>{let[n,r]=t,{forcePathStyle:i,useAccelerateEndpoint:a,disableMultiregionAccessPoints:o,followRegionRedirects:s,s3ExpressIdentityProvider:c,bucketEndpoint:l,expectContinueHeader:u}=e;return Object.assign(e,{forcePathStyle:i??!1,useAccelerateEndpoint:a??!1,disableMultiregionAccessPoints:o??!1,followRegionRedirects:s??!1,s3ExpressIdentityProvider:c??new MK(async e=>n().send(new r({Bucket:e}))),bucketEndpoint:l??!1,expectContinueHeader:u??2097152})},JK={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},YK=3e3,XK=e=>(t,n)=>async r=>{let i=await t(r),{response:a}=i;if(!ge.isInstance(a))return i;let{statusCode:o,body:s}=a;if(o<200||o>=300||!(typeof s?.stream==`function`||typeof s?.pipe==`function`||typeof s?.tee==`function`))return i;let c=s,l=s;s&&typeof s==`object`&&!(s instanceof Uint8Array)&&([c,l]=await ct(s)),a.body=l;let u=await ZK(c,{streamCollector:async e=>Je(e,YK)});typeof c?.destroy==`function`&&c.destroy();let d=e.utf8Encoder(u.subarray(u.length-16));if(u.length===0&&JK[n.commandName]){let e=Error(`S3 aborted request`);throw e.name=`InternalError`,e}return d&&d.endsWith(``)&&(a.statusCode=400),i},ZK=(e=new Uint8Array,t)=>e instanceof Uint8Array?Promise.resolve(e):t.streamCollector(e)||Promise.resolve(new Uint8Array),QK={relation:`after`,toMiddleware:`deserializerMiddleware`,tags:[`THROW_200_EXCEPTIONS`,`S3`],name:`throw200ExceptionsMiddleware`,override:!0},$K=e=>({applyToStack:t=>{t.addRelativeTo(XK(e),QK)}}),eq=e=>typeof e==`string`&&e.indexOf(`arn:`)===0&&e.split(`:`).length>=6;function tq(e){return(t,n)=>async r=>{if(e.bucketEndpoint){let e=n.endpointV2;if(e){let t=r.input.Bucket;if(typeof t==`string`)try{let r=new URL(t);n.endpointV2={...e,url:r}}catch(e){let r=`@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${t} could not be parsed as URL.`;throw n.logger?.constructor?.name===`NoOpLogger`?console.warn(r):n.logger?.warn?.(r),e}}}return t(r)}}var nq={name:`bucketEndpointMiddleware`,override:!0,relation:`after`,toMiddleware:`endpointV2Middleware`};function rq({bucketEndpoint:e}){return t=>async n=>{let{input:{Bucket:r}}=n;if(!e&&typeof r==`string`&&!eq(r)&&r.indexOf(`/`)>=0){let e=Error(`Bucket name shouldn't contain '/', received '${r}'`);throw e.name=`InvalidBucketName`,e}return t({...n})}}var iq={step:`initialize`,tags:[`VALIDATE_BUCKET_NAME`],name:`validateBucketNameMiddleware`,override:!0},aq=e=>({applyToStack:t=>{t.add(rq(e),iq),t.addRelativeTo(tq(e),nq)}}),oq=class extends So{async serializeRequest(e,t,n){let r=await super.serializeRequest(e,t,n),i=p.of(e.input),a=i.getSchema(),o=0,s=a[6]??0;if(t&&typeof t==`object`)for(let[e,n]of i.structIterator()){if(++o>s)break;if(e===`Bucket`){if(!t.Bucket&&n.getMergedTraits().httpLabel)throw Error(`No value provided for input HTTP label: Bucket.`);break}}return r}},sq=e=>Object.assign(e,{eventStreamMarshaller:e.eventStreamSerdeProvider(e)}),cq={CrtSignerV4:null},lq=class{sigv4aSigner;sigv4Signer;signerOptions;static sigv4aDependency(){return typeof cq.CrtSignerV4==`function`?`crt`:typeof ve.SignatureV4a==`function`?`js`:`none`}constructor(e){this.sigv4Signer=new IK(e),this.signerOptions=e}async sign(e,t={}){return t.signingRegion===`*`?this.getSigv4aSigner().sign(e,t):this.sigv4Signer.sign(e,t)}async signWithCredentials(e,t,n={}){if(n.signingRegion===`*`){let r=this.getSigv4aSigner(),i=cq.CrtSignerV4;if(i&&r instanceof i)return r.signWithCredentials(e,t,n);throw Error(`signWithCredentials with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. You must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`)}return this.sigv4Signer.signWithCredentials(e,t,n)}async presign(e,t={}){if(t.signingRegion===`*`){let n=this.getSigv4aSigner(),r=cq.CrtSignerV4;if(r&&n instanceof r)return n.presign(e,t);throw Error(`presign with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. You must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`)}return this.sigv4Signer.presign(e,t)}async presignWithCredentials(e,t,n={}){if(n.signingRegion===`*`)throw Error(`Method presignWithCredentials is not supported for [signingRegion=*].`);return this.sigv4Signer.presignWithCredentials(e,t,n)}getSigv4aSigner(){if(!this.sigv4aSigner){let e=cq.CrtSignerV4,t=ve.SignatureV4a;if(this.signerOptions.runtime===`node`){if(!e&&!t)throw Error(`Neither CRT nor JS SigV4a implementation is available. Please load either @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`);if(e&&typeof e==`function`)this.sigv4aSigner=new e({...this.signerOptions,signingAlgorithm:1});else if(t&&typeof t==`function`)this.sigv4aSigner=new t({...this.signerOptions});else throw Error(`Available SigV4a implementation is not a valid constructor. Please ensure you've properly imported @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a.For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`)}else{if(!t||typeof t!=`function`)throw Error(`JS SigV4a implementation is not available or not a valid constructor. Please check whether you have installed the @aws-sdk/signature-v4a package explicitly. The CRT implementation is not available for browsers. You must also register the package by calling [require('@aws-sdk/signature-v4a');] or an ESM equivalent such as [import '@aws-sdk/signature-v4a';]. For more information please go to https://github.com/aws/aws-sdk-js-v3#using-javascript-non-crt-implementation-of-sigv4a`);this.sigv4aSigner=new t({...this.signerOptions})}}return this.sigv4aSigner}},uq=`required`,O=`type`,k=`rules`,A=`conditions`,j=`fn`,M=`argv`,N=`ref`,P=`assign`,F=`url`,I=`properties`,dq=`backend`,fq=`authSchemes`,pq=`disableDoubleEncoding`,mq=`signingName`,hq=`signingRegion`,L=`headers`,gq=`signingRegionSet`,_q=6,vq=!1,yq=!0,bq=`isSet`,xq=`booleanEquals`,R=`error`,Sq=`aws.partition`,z=`stringEquals`,Cq=`getAttr`,wq=`name`,B=`substring`,Tq=`bucketSuffix`,Eq=`parseURL`,V=`endpoint`,H=`tree`,Dq=`aws.isVirtualHostableS3Bucket`,Oq=`{url#scheme}://{Bucket}.{url#authority}{url#path}`,kq=`not`,Aq=`accessPointSuffix`,jq=`{url#scheme}://{url#authority}{url#path}`,Mq=`hardwareType`,Nq=`regionPrefix`,Pq=`bucketAliasSuffix`,Fq=`outpostId`,Iq=`isValidHostLabel`,Lq=`sigv4a`,Rq=`s3-outposts`,zq=`s3`,Bq=`{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}`,Vq=`https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}`,Hq=`https://{Bucket}.s3.{partitionResult#dnsSuffix}`,Uq=`aws.parseArn`,Wq=`bucketArn`,Gq=`arnType`,Kq=``,qq=`s3-object-lambda`,Jq=`accesspoint`,Yq=`accessPointName`,Xq=`{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}`,Zq=`mrapPartition`,Qq=`outpostType`,$q=`arnPrefix`,eJ=`{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}`,tJ=`https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,nJ=`https://s3.{partitionResult#dnsSuffix}`,rJ={[uq]:!1,[O]:`string`},iJ={[uq]:!0,default:!1,[O]:`boolean`},aJ={[uq]:!1,[O]:`boolean`},oJ={[j]:xq,[M]:[{[N]:`Accelerate`},!0]},U={[j]:xq,[M]:[{[N]:`UseFIPS`},!0]},W={[j]:xq,[M]:[{[N]:`UseDualStack`},!0]},sJ={[j]:bq,[M]:[{[N]:`Endpoint`}]},cJ={[j]:Sq,[M]:[{[N]:`Region`}],[P]:`partitionResult`},lJ={[j]:z,[M]:[{[j]:Cq,[M]:[{[N]:`partitionResult`},wq]},`aws-cn`]},uJ={[j]:bq,[M]:[{[N]:`Bucket`}]},G={[N]:`Bucket`},dJ={[A]:[oJ],[R]:`S3Express does not support S3 Accelerate.`,[O]:R},fJ={[A]:[sJ,{[j]:Eq,[M]:[{[N]:`Endpoint`}],[P]:`url`}],[k]:[{[A]:[{[j]:bq,[M]:[{[N]:`DisableS3ExpressSessionAuth`}]},{[j]:xq,[M]:[{[N]:`DisableS3ExpressSessionAuth`},!0]}],[k]:[{[A]:[{[j]:xq,[M]:[{[j]:Cq,[M]:[{[N]:`url`},`isIp`]},!0]}],[k]:[{[A]:[{[j]:`uriEncode`,[M]:[G],[P]:`uri_encoded_bucket`}],[k]:[{[V]:{[F]:`{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}`,[I]:{[dq]:`S3Express`,[fq]:[{[pq]:!0,[wq]:`sigv4`,[mq]:`s3express`,[hq]:`{Region}`}]},[L]:{}},[O]:V}],[O]:H}],[O]:H},{[A]:[{[j]:Dq,[M]:[G,!1]}],[k]:[{[V]:{[F]:Oq,[I]:{[dq]:`S3Express`,[fq]:[{[pq]:!0,[wq]:`sigv4`,[mq]:`s3express`,[hq]:`{Region}`}]},[L]:{}},[O]:V}],[O]:H},{[R]:`S3Express bucket name is not a valid virtual hostable name.`,[O]:R}],[O]:H},{[A]:[{[j]:xq,[M]:[{[j]:Cq,[M]:[{[N]:`url`},`isIp`]},!0]}],[k]:[{[A]:[{[j]:`uriEncode`,[M]:[G],[P]:`uri_encoded_bucket`}],[k]:[{[V]:{[F]:`{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}`,[I]:{[dq]:`S3Express`,[fq]:[{[pq]:!0,[wq]:`sigv4-s3express`,[mq]:`s3express`,[hq]:`{Region}`}]},[L]:{}},[O]:V}],[O]:H}],[O]:H},{[A]:[{[j]:Dq,[M]:[G,!1]}],[k]:[{[V]:{[F]:Oq,[I]:{[dq]:`S3Express`,[fq]:[{[pq]:!0,[wq]:`sigv4-s3express`,[mq]:`s3express`,[hq]:`{Region}`}]},[L]:{}},[O]:V}],[O]:H},{[R]:`S3Express bucket name is not a valid virtual hostable name.`,[O]:R}],[O]:H},pJ={[j]:Eq,[M]:[{[N]:`Endpoint`}],[P]:`url`},mJ={[j]:xq,[M]:[{[j]:Cq,[M]:[{[N]:`url`},`isIp`]},!0]},hJ={[N]:`url`},gJ={[j]:`uriEncode`,[M]:[G],[P]:`uri_encoded_bucket`},_J={[dq]:`S3Express`,[fq]:[{[pq]:!0,[wq]:`sigv4`,[mq]:`s3express`,[hq]:`{Region}`}]},K={},vJ={[j]:Dq,[M]:[G,!1]},yJ={[R]:`S3Express bucket name is not a valid virtual hostable name.`,[O]:R},bJ={[j]:bq,[M]:[{[N]:`UseS3ExpressControlEndpoint`}]},xJ={[j]:xq,[M]:[{[N]:`UseS3ExpressControlEndpoint`},!0]},q={[j]:kq,[M]:[sJ]},J={[j]:xq,[M]:[{[N]:`UseDualStack`},!1]},Y={[j]:xq,[M]:[{[N]:`UseFIPS`},!1]},SJ={[R]:`Unrecognized S3Express bucket name format.`,[O]:R},CJ={[j]:kq,[M]:[uJ]},wJ={[N]:Mq},TJ={[A]:[q],[R]:`Expected a endpoint to be specified but no endpoint was found`,[O]:R},EJ={[fq]:[{[pq]:!0,[wq]:Lq,[mq]:Rq,[gq]:[`*`]},{[pq]:!0,[wq]:`sigv4`,[mq]:Rq,[hq]:`{Region}`}]},DJ={[j]:xq,[M]:[{[N]:`ForcePathStyle`},!1]},OJ={[N]:`ForcePathStyle`},kJ={[j]:xq,[M]:[{[N]:`Accelerate`},!1]},AJ={[j]:z,[M]:[{[N]:`Region`},`aws-global`]},jJ={[fq]:[{[pq]:!0,[wq]:`sigv4`,[mq]:zq,[hq]:`us-east-1`}]},X={[j]:kq,[M]:[AJ]},MJ={[j]:xq,[M]:[{[N]:`UseGlobalEndpoint`},!0]},NJ={[F]:`https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}`,[I]:{[fq]:[{[pq]:!0,[wq]:`sigv4`,[mq]:zq,[hq]:`{Region}`}]},[L]:{}},PJ={[fq]:[{[pq]:!0,[wq]:`sigv4`,[mq]:zq,[hq]:`{Region}`}]},FJ={[j]:xq,[M]:[{[N]:`UseGlobalEndpoint`},!1]},IJ={[F]:`https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}`,[I]:PJ,[L]:{}},LJ={[F]:`https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}`,[I]:PJ,[L]:{}},RJ={[F]:`https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}`,[I]:PJ,[L]:{}},zJ={[j]:xq,[M]:[{[j]:Cq,[M]:[hJ,`isIp`]},!1]},BJ={[F]:Bq,[I]:PJ,[L]:{}},VJ={[F]:Oq,[I]:PJ,[L]:{}},HJ={[V]:VJ,[O]:V},UJ={[F]:Vq,[I]:PJ,[L]:{}},WJ={[F]:`https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}`,[I]:PJ,[L]:{}},GJ={[R]:`Invalid region: region was not a valid DNS name.`,[O]:R},KJ={[N]:Wq},qJ={[N]:Gq},JJ={[j]:Cq,[M]:[KJ,`service`]},YJ={[N]:Yq},XJ={[A]:[W],[R]:`S3 Object Lambda does not support Dual-stack`,[O]:R},ZJ={[A]:[oJ],[R]:`S3 Object Lambda does not support S3 Accelerate`,[O]:R},QJ={[A]:[{[j]:bq,[M]:[{[N]:`DisableAccessPoints`}]},{[j]:xq,[M]:[{[N]:`DisableAccessPoints`},!0]}],[R]:`Access points are not supported for this operation`,[O]:R},$J={[A]:[{[j]:bq,[M]:[{[N]:`UseArnRegion`}]},{[j]:xq,[M]:[{[N]:`UseArnRegion`},!1]},{[j]:kq,[M]:[{[j]:z,[M]:[{[j]:Cq,[M]:[KJ,`region`]},`{Region}`]}]}],[R]:"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",[O]:R},eY={[j]:Cq,[M]:[{[N]:`bucketPartition`},wq]},tY={[j]:Cq,[M]:[KJ,`accountId`]},nY={[fq]:[{[pq]:!0,[wq]:`sigv4`,[mq]:qq,[hq]:`{bucketArn#region}`}]},rY={[R]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",[O]:R},iY={[R]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",[O]:R},aY={[R]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",[O]:R},oY={[R]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",[O]:R},sY={[R]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",[O]:R},cY={[R]:"Invalid ARN: Expected a resource of the format `accesspoint:` but no name was provided",[O]:R},lY={[fq]:[{[pq]:!0,[wq]:`sigv4`,[mq]:zq,[hq]:`{bucketArn#region}`}]},uY={[fq]:[{[pq]:!0,[wq]:Lq,[mq]:Rq,[gq]:[`*`]},{[pq]:!0,[wq]:`sigv4`,[mq]:Rq,[hq]:`{bucketArn#region}`}]},dY={[j]:Uq,[M]:[G]},fY={[F]:`https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[I]:PJ,[L]:{}},pY={[F]:`https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[I]:PJ,[L]:{}},mY={[F]:`https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[I]:PJ,[L]:{}},hY={[F]:eJ,[I]:PJ,[L]:{}},gY={[F]:`https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[I]:PJ,[L]:{}},_Y={[N]:`UseObjectLambdaEndpoint`},vY={[fq]:[{[pq]:!0,[wq]:`sigv4`,[mq]:qq,[hq]:`{Region}`}]},yY={[F]:`https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}`,[I]:PJ,[L]:{}},bY={[F]:`https://s3-fips.{Region}.{partitionResult#dnsSuffix}`,[I]:PJ,[L]:{}},xY={[F]:`https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}`,[I]:PJ,[L]:{}},SY={[F]:jq,[I]:PJ,[L]:{}},CY={[F]:`https://s3.{Region}.{partitionResult#dnsSuffix}`,[I]:PJ,[L]:{}},wY=[{[N]:`Region`}],TY=[{[N]:`Endpoint`}],EY=[G],DY=[oJ],OY=[sJ,pJ],kY=[{[j]:bq,[M]:[{[N]:`DisableS3ExpressSessionAuth`}]},{[j]:xq,[M]:[{[N]:`DisableS3ExpressSessionAuth`},!0]}],AY=[gJ],jY=[vJ],MY=[cJ],NY=[U,W],PY=[U,J],FY=[Y,W],IY=[Y,J],LY=[{[j]:B,[M]:[G,6,14,!0],[P]:`s3expressAvailabilityZoneId`},{[j]:B,[M]:[G,14,16,!0],[P]:`s3expressAvailabilityZoneDelim`},{[j]:z,[M]:[{[N]:`s3expressAvailabilityZoneDelim`},`--`]}],RY=[{[A]:[U,W],[V]:{[F]:`https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}`,[I]:_J,[L]:{}},[O]:V},{[A]:PY,[V]:{[F]:`https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}`,[I]:_J,[L]:{}},[O]:V},{[A]:FY,[V]:{[F]:`https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}`,[I]:_J,[L]:{}},[O]:V},{[A]:IY,[V]:{[F]:`https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}`,[I]:_J,[L]:{}},[O]:V}],zY=[{[j]:B,[M]:[G,6,15,!0],[P]:`s3expressAvailabilityZoneId`},{[j]:B,[M]:[G,15,17,!0],[P]:`s3expressAvailabilityZoneDelim`},{[j]:z,[M]:[{[N]:`s3expressAvailabilityZoneDelim`},`--`]}],BY=[{[j]:B,[M]:[G,6,19,!0],[P]:`s3expressAvailabilityZoneId`},{[j]:B,[M]:[G,19,21,!0],[P]:`s3expressAvailabilityZoneDelim`},{[j]:z,[M]:[{[N]:`s3expressAvailabilityZoneDelim`},`--`]}],VY=[{[j]:B,[M]:[G,6,20,!0],[P]:`s3expressAvailabilityZoneId`},{[j]:B,[M]:[G,20,22,!0],[P]:`s3expressAvailabilityZoneDelim`},{[j]:z,[M]:[{[N]:`s3expressAvailabilityZoneDelim`},`--`]}],HY=[{[j]:B,[M]:[G,6,26,!0],[P]:`s3expressAvailabilityZoneId`},{[j]:B,[M]:[G,26,28,!0],[P]:`s3expressAvailabilityZoneDelim`},{[j]:z,[M]:[{[N]:`s3expressAvailabilityZoneDelim`},`--`]}],UY=[{[A]:[U,W],[V]:{[F]:`https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}`,[I]:{[dq]:`S3Express`,[fq]:[{[pq]:!0,[wq]:`sigv4-s3express`,[mq]:`s3express`,[hq]:`{Region}`}]},[L]:{}},[O]:V},{[A]:PY,[V]:{[F]:`https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}`,[I]:{[dq]:`S3Express`,[fq]:[{[pq]:!0,[wq]:`sigv4-s3express`,[mq]:`s3express`,[hq]:`{Region}`}]},[L]:{}},[O]:V},{[A]:FY,[V]:{[F]:`https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}`,[I]:{[dq]:`S3Express`,[fq]:[{[pq]:!0,[wq]:`sigv4-s3express`,[mq]:`s3express`,[hq]:`{Region}`}]},[L]:{}},[O]:V},{[A]:IY,[V]:{[F]:`https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}`,[I]:{[dq]:`S3Express`,[fq]:[{[pq]:!0,[wq]:`sigv4-s3express`,[mq]:`s3express`,[hq]:`{Region}`}]},[L]:{}},[O]:V}],WY=[G,0,7,!0],GY=[{[j]:B,[M]:[G,7,15,!0],[P]:`s3expressAvailabilityZoneId`},{[j]:B,[M]:[G,15,17,!0],[P]:`s3expressAvailabilityZoneDelim`},{[j]:z,[M]:[{[N]:`s3expressAvailabilityZoneDelim`},`--`]}],KY=[{[j]:B,[M]:[G,7,16,!0],[P]:`s3expressAvailabilityZoneId`},{[j]:B,[M]:[G,16,18,!0],[P]:`s3expressAvailabilityZoneDelim`},{[j]:z,[M]:[{[N]:`s3expressAvailabilityZoneDelim`},`--`]}],qY=[{[j]:B,[M]:[G,7,20,!0],[P]:`s3expressAvailabilityZoneId`},{[j]:B,[M]:[G,20,22,!0],[P]:`s3expressAvailabilityZoneDelim`},{[j]:z,[M]:[{[N]:`s3expressAvailabilityZoneDelim`},`--`]}],JY=[{[j]:B,[M]:[G,7,21,!0],[P]:`s3expressAvailabilityZoneId`},{[j]:B,[M]:[G,21,23,!0],[P]:`s3expressAvailabilityZoneDelim`},{[j]:z,[M]:[{[N]:`s3expressAvailabilityZoneDelim`},`--`]}],YY=[{[j]:B,[M]:[G,7,27,!0],[P]:`s3expressAvailabilityZoneId`},{[j]:B,[M]:[G,27,29,!0],[P]:`s3expressAvailabilityZoneDelim`},{[j]:z,[M]:[{[N]:`s3expressAvailabilityZoneDelim`},`--`]}],XY=[uJ],ZY=[{[j]:Iq,[M]:[{[N]:Fq},!1]}],QY=[{[j]:z,[M]:[{[N]:Nq},`beta`]}],$Y=[`*`],eX=[{[j]:Iq,[M]:[{[N]:`Region`},!1]}],tX=[{[j]:z,[M]:[{[N]:`Region`},`us-east-1`]}],nX=[{[j]:z,[M]:[qJ,Jq]}],rX=[{[j]:Cq,[M]:[KJ,`resourceId[1]`],[P]:Yq},{[j]:kq,[M]:[{[j]:z,[M]:[YJ,Kq]}]}],iX=[KJ,`resourceId[1]`],aX=[W],oX=[{[j]:kq,[M]:[{[j]:z,[M]:[{[j]:Cq,[M]:[KJ,`region`]},Kq]}]}],sX=[{[j]:kq,[M]:[{[j]:bq,[M]:[{[j]:Cq,[M]:[KJ,`resourceId[2]`]}]}]}],cX=[KJ,`resourceId[2]`],lX=[{[j]:Sq,[M]:[{[j]:Cq,[M]:[KJ,`region`]}],[P]:`bucketPartition`}],uX=[{[j]:z,[M]:[eY,{[j]:Cq,[M]:[{[N]:`partitionResult`},wq]}]}],dX=[{[j]:Iq,[M]:[{[j]:Cq,[M]:[KJ,`region`]},!0]}],fX=[{[j]:Iq,[M]:[tY,!1]}],pX=[{[j]:Iq,[M]:[YJ,!1]}],mX=[U],hX=[{[j]:Iq,[M]:[{[N]:`Region`},!0]}],gX={version:`1.0`,parameters:{Bucket:rJ,Region:rJ,UseFIPS:iJ,UseDualStack:iJ,Endpoint:rJ,ForcePathStyle:iJ,Accelerate:iJ,UseGlobalEndpoint:iJ,UseObjectLambdaEndpoint:aJ,Key:rJ,Prefix:rJ,CopySource:rJ,DisableAccessPoints:aJ,DisableMultiRegionAccessPoints:iJ,UseArnRegion:aJ,UseS3ExpressControlEndpoint:aJ,DisableS3ExpressSessionAuth:aJ},[k]:[{[A]:[{[j]:bq,[M]:wY}],[k]:[{[A]:[oJ,U],error:`Accelerate cannot be used with FIPS`,[O]:R},{[A]:[W,sJ],error:`Cannot set dual-stack in combination with a custom endpoint.`,[O]:R},{[A]:[sJ,U],error:`A custom endpoint cannot be combined with FIPS`,[O]:R},{[A]:[sJ,oJ],error:`A custom endpoint cannot be combined with S3 Accelerate`,[O]:R},{[A]:[U,cJ,lJ],error:`Partition does not support FIPS`,[O]:R},{[A]:[uJ,{[j]:B,[M]:[G,0,_q,yq],[P]:Tq},{[j]:z,[M]:[{[N]:Tq},`--x-s3`]}],[k]:[dJ,fJ,{[A]:[bJ,xJ],[k]:[{[A]:MY,[k]:[{[A]:[gJ,q],[k]:[{[A]:NY,endpoint:{[F]:`https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[I]:_J,[L]:K},[O]:V},{[A]:PY,endpoint:{[F]:`https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[I]:_J,[L]:K},[O]:V},{[A]:FY,endpoint:{[F]:`https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[I]:_J,[L]:K},[O]:V},{[A]:IY,endpoint:{[F]:`https://s3express-control.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[I]:_J,[L]:K},[O]:V}],[O]:H}],[O]:H}],[O]:H},{[A]:jY,[k]:[{[A]:MY,[k]:[{[A]:kY,[k]:[{[A]:LY,[k]:RY,[O]:H},{[A]:zY,[k]:RY,[O]:H},{[A]:BY,[k]:RY,[O]:H},{[A]:VY,[k]:RY,[O]:H},{[A]:HY,[k]:RY,[O]:H},SJ],[O]:H},{[A]:LY,[k]:UY,[O]:H},{[A]:zY,[k]:UY,[O]:H},{[A]:BY,[k]:UY,[O]:H},{[A]:VY,[k]:UY,[O]:H},{[A]:HY,[k]:UY,[O]:H},SJ],[O]:H}],[O]:H},yJ],[O]:H},{[A]:[uJ,{[j]:B,[M]:WY,[P]:Aq},{[j]:z,[M]:[{[N]:Aq},`--xa-s3`]}],[k]:[dJ,fJ,{[A]:jY,[k]:[{[A]:MY,[k]:[{[A]:kY,[k]:[{[A]:GY,[k]:RY,[O]:H},{[A]:KY,[k]:RY,[O]:H},{[A]:qY,[k]:RY,[O]:H},{[A]:JY,[k]:RY,[O]:H},{[A]:YY,[k]:RY,[O]:H},SJ],[O]:H},{[A]:GY,[k]:UY,[O]:H},{[A]:KY,[k]:UY,[O]:H},{[A]:qY,[k]:UY,[O]:H},{[A]:JY,[k]:UY,[O]:H},{[A]:YY,[k]:UY,[O]:H},SJ],[O]:H}],[O]:H},yJ],[O]:H},{[A]:[CJ,bJ,xJ],[k]:[{[A]:MY,[k]:[{[A]:OY,endpoint:{[F]:jq,[I]:_J,[L]:K},[O]:V},{[A]:NY,endpoint:{[F]:`https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}`,[I]:_J,[L]:K},[O]:V},{[A]:PY,endpoint:{[F]:`https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}`,[I]:_J,[L]:K},[O]:V},{[A]:FY,endpoint:{[F]:`https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}`,[I]:_J,[L]:K},[O]:V},{[A]:IY,endpoint:{[F]:`https://s3express-control.{Region}.{partitionResult#dnsSuffix}`,[I]:_J,[L]:K},[O]:V}],[O]:H}],[O]:H},{[A]:[uJ,{[j]:B,[M]:[G,49,50,yq],[P]:Mq},{[j]:B,[M]:[G,8,12,yq],[P]:Nq},{[j]:B,[M]:WY,[P]:Pq},{[j]:B,[M]:[G,32,49,yq],[P]:Fq},{[j]:Sq,[M]:wY,[P]:`regionPartition`},{[j]:z,[M]:[{[N]:Pq},`--op-s3`]}],[k]:[{[A]:ZY,[k]:[{[A]:jY,[k]:[{[A]:[{[j]:z,[M]:[wJ,`e`]}],[k]:[{[A]:QY,[k]:[TJ,{[A]:OY,endpoint:{[F]:`https://{Bucket}.ec2.{url#authority}`,[I]:EJ,[L]:K},[O]:V}],[O]:H},{endpoint:{[F]:`https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}`,[I]:EJ,[L]:K},[O]:V}],[O]:H},{[A]:[{[j]:z,[M]:[wJ,`o`]}],[k]:[{[A]:QY,[k]:[TJ,{[A]:OY,endpoint:{[F]:`https://{Bucket}.op-{outpostId}.{url#authority}`,[I]:EJ,[L]:K},[O]:V}],[O]:H},{endpoint:{[F]:`https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}`,[I]:EJ,[L]:K},[O]:V}],[O]:H},{error:`Unrecognized hardware type: "Expected hardware type o or e but got {hardwareType}"`,[O]:R}],[O]:H},{error:`Invalid Outposts Bucket alias - it must be a valid bucket name.`,[O]:R}],[O]:H},{error:"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.",[O]:R}],[O]:H},{[A]:XY,[k]:[{[A]:[sJ,{[j]:kq,[M]:[{[j]:bq,[M]:[{[j]:Eq,[M]:TY}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",[O]:R},{[A]:[DJ,vJ],[k]:[{[A]:MY,[k]:[{[A]:eX,[k]:[{[A]:[oJ,lJ],error:`S3 Accelerate cannot be used in this region`,[O]:R},{[A]:[W,U,kJ,q,AJ],endpoint:{[F]:`https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}`,[I]:jJ,[L]:K},[O]:V},{[A]:[W,U,kJ,q,X,MJ],[k]:[{endpoint:NJ,[O]:V}],[O]:H},{[A]:[W,U,kJ,q,X,FJ],endpoint:NJ,[O]:V},{[A]:[J,U,kJ,q,AJ],endpoint:{[F]:`https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}`,[I]:jJ,[L]:K},[O]:V},{[A]:[J,U,kJ,q,X,MJ],[k]:[{endpoint:IJ,[O]:V}],[O]:H},{[A]:[J,U,kJ,q,X,FJ],endpoint:IJ,[O]:V},{[A]:[W,Y,oJ,q,AJ],endpoint:{[F]:`https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}`,[I]:jJ,[L]:K},[O]:V},{[A]:[W,Y,oJ,q,X,MJ],[k]:[{endpoint:LJ,[O]:V}],[O]:H},{[A]:[W,Y,oJ,q,X,FJ],endpoint:LJ,[O]:V},{[A]:[W,Y,kJ,q,AJ],endpoint:{[F]:`https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}`,[I]:jJ,[L]:K},[O]:V},{[A]:[W,Y,kJ,q,X,MJ],[k]:[{endpoint:RJ,[O]:V}],[O]:H},{[A]:[W,Y,kJ,q,X,FJ],endpoint:RJ,[O]:V},{[A]:[J,Y,kJ,sJ,pJ,mJ,AJ],endpoint:{[F]:Bq,[I]:jJ,[L]:K},[O]:V},{[A]:[J,Y,kJ,sJ,pJ,zJ,AJ],endpoint:{[F]:Oq,[I]:jJ,[L]:K},[O]:V},{[A]:[J,Y,kJ,sJ,pJ,mJ,X,MJ],[k]:[{[A]:tX,endpoint:BJ,[O]:V},{endpoint:BJ,[O]:V}],[O]:H},{[A]:[J,Y,kJ,sJ,pJ,zJ,X,MJ],[k]:[{[A]:tX,endpoint:VJ,[O]:V},HJ],[O]:H},{[A]:[J,Y,kJ,sJ,pJ,mJ,X,FJ],endpoint:BJ,[O]:V},{[A]:[J,Y,kJ,sJ,pJ,zJ,X,FJ],endpoint:VJ,[O]:V},{[A]:[J,Y,oJ,q,AJ],endpoint:{[F]:Vq,[I]:jJ,[L]:K},[O]:V},{[A]:[J,Y,oJ,q,X,MJ],[k]:[{[A]:tX,endpoint:UJ,[O]:V},{endpoint:UJ,[O]:V}],[O]:H},{[A]:[J,Y,oJ,q,X,FJ],endpoint:UJ,[O]:V},{[A]:[J,Y,kJ,q,AJ],endpoint:{[F]:Hq,[I]:jJ,[L]:K},[O]:V},{[A]:[J,Y,kJ,q,X,MJ],[k]:[{[A]:tX,endpoint:{[F]:Hq,[I]:PJ,[L]:K},[O]:V},{endpoint:WJ,[O]:V}],[O]:H},{[A]:[J,Y,kJ,q,X,FJ],endpoint:WJ,[O]:V}],[O]:H},GJ],[O]:H}],[O]:H},{[A]:[sJ,pJ,{[j]:z,[M]:[{[j]:Cq,[M]:[hJ,`scheme`]},`http`]},{[j]:Dq,[M]:[G,yq]},DJ,Y,J,kJ],[k]:[{[A]:MY,[k]:[{[A]:eX,[k]:[HJ],[O]:H},GJ],[O]:H}],[O]:H},{[A]:[DJ,{[j]:Uq,[M]:EY,[P]:Wq}],[k]:[{[A]:[{[j]:Cq,[M]:[KJ,`resourceId[0]`],[P]:Gq},{[j]:kq,[M]:[{[j]:z,[M]:[qJ,Kq]}]}],[k]:[{[A]:[{[j]:z,[M]:[JJ,qq]}],[k]:[{[A]:nX,[k]:[{[A]:rX,[k]:[XJ,ZJ,{[A]:oX,[k]:[QJ,{[A]:sX,[k]:[$J,{[A]:lX,[k]:[{[A]:MY,[k]:[{[A]:uX,[k]:[{[A]:dX,[k]:[{[A]:[{[j]:z,[M]:[tY,Kq]}],error:`Invalid ARN: Missing account id`,[O]:R},{[A]:fX,[k]:[{[A]:pX,[k]:[{[A]:OY,endpoint:{[F]:Xq,[I]:nY,[L]:K},[O]:V},{[A]:mX,endpoint:{[F]:`https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}`,[I]:nY,[L]:K},[O]:V},{endpoint:{[F]:`https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}`,[I]:nY,[L]:K},[O]:V}],[O]:H},rY],[O]:H},iY],[O]:H},aY],[O]:H},oY],[O]:H}],[O]:H}],[O]:H},sY],[O]:H},{error:`Invalid ARN: bucket ARN is missing a region`,[O]:R}],[O]:H},cY],[O]:H},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",[O]:R}],[O]:H},{[A]:nX,[k]:[{[A]:rX,[k]:[{[A]:oX,[k]:[{[A]:nX,[k]:[{[A]:oX,[k]:[QJ,{[A]:sX,[k]:[$J,{[A]:lX,[k]:[{[A]:MY,[k]:[{[A]:[{[j]:z,[M]:[eY,`{partitionResult#name}`]}],[k]:[{[A]:dX,[k]:[{[A]:[{[j]:z,[M]:[JJ,zq]}],[k]:[{[A]:fX,[k]:[{[A]:pX,[k]:[{[A]:DY,error:`Access Points do not support S3 Accelerate`,[O]:R},{[A]:NY,endpoint:{[F]:`https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}`,[I]:lY,[L]:K},[O]:V},{[A]:PY,endpoint:{[F]:`https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}`,[I]:lY,[L]:K},[O]:V},{[A]:FY,endpoint:{[F]:`https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}`,[I]:lY,[L]:K},[O]:V},{[A]:[Y,J,sJ,pJ],endpoint:{[F]:Xq,[I]:lY,[L]:K},[O]:V},{[A]:IY,endpoint:{[F]:`https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}`,[I]:lY,[L]:K},[O]:V}],[O]:H},rY],[O]:H},iY],[O]:H},{error:`Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}`,[O]:R}],[O]:H},aY],[O]:H},oY],[O]:H}],[O]:H}],[O]:H},sY],[O]:H}],[O]:H}],[O]:H},{[A]:[{[j]:Iq,[M]:[YJ,yq]}],[k]:[{[A]:aX,error:`S3 MRAP does not support dual-stack`,[O]:R},{[A]:mX,error:`S3 MRAP does not support FIPS`,[O]:R},{[A]:DY,error:`S3 MRAP does not support S3 Accelerate`,[O]:R},{[A]:[{[j]:xq,[M]:[{[N]:`DisableMultiRegionAccessPoints`},yq]}],error:`Invalid configuration: Multi-Region Access Point ARNs are disabled.`,[O]:R},{[A]:[{[j]:Sq,[M]:wY,[P]:Zq}],[k]:[{[A]:[{[j]:z,[M]:[{[j]:Cq,[M]:[{[N]:Zq},wq]},{[j]:Cq,[M]:[KJ,`partition`]}]}],[k]:[{endpoint:{[F]:`https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}`,[I]:{[fq]:[{[pq]:yq,name:Lq,[mq]:zq,[gq]:$Y}]},[L]:K},[O]:V}],[O]:H},{error:"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`",[O]:R}],[O]:H}],[O]:H},{error:`Invalid Access Point Name`,[O]:R}],[O]:H},cY],[O]:H},{[A]:[{[j]:z,[M]:[JJ,Rq]}],[k]:[{[A]:aX,error:`S3 Outposts does not support Dual-stack`,[O]:R},{[A]:mX,error:`S3 Outposts does not support FIPS`,[O]:R},{[A]:DY,error:`S3 Outposts does not support S3 Accelerate`,[O]:R},{[A]:[{[j]:bq,[M]:[{[j]:Cq,[M]:[KJ,`resourceId[4]`]}]}],error:`Invalid Arn: Outpost Access Point ARN contains sub resources`,[O]:R},{[A]:[{[j]:Cq,[M]:iX,[P]:Fq}],[k]:[{[A]:ZY,[k]:[$J,{[A]:lX,[k]:[{[A]:MY,[k]:[{[A]:uX,[k]:[{[A]:dX,[k]:[{[A]:fX,[k]:[{[A]:[{[j]:Cq,[M]:cX,[P]:Qq}],[k]:[{[A]:[{[j]:Cq,[M]:[KJ,`resourceId[3]`],[P]:Yq}],[k]:[{[A]:[{[j]:z,[M]:[{[N]:Qq},Jq]}],[k]:[{[A]:OY,endpoint:{[F]:`https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}`,[I]:uY,[L]:K},[O]:V},{endpoint:{[F]:`https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}`,[I]:uY,[L]:K},[O]:V}],[O]:H},{error:"Expected an outpost type `accesspoint`, found {outpostType}",[O]:R}],[O]:H},{error:`Invalid ARN: expected an access point name`,[O]:R}],[O]:H},{error:`Invalid ARN: Expected a 4-component resource`,[O]:R}],[O]:H},iY],[O]:H},aY],[O]:H},oY],[O]:H}],[O]:H}],[O]:H},{error:"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`",[O]:R}],[O]:H},{error:`Invalid ARN: The Outpost Id was not set`,[O]:R}],[O]:H},{error:`Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})`,[O]:R}],[O]:H},{error:`Invalid ARN: No ARN type specified`,[O]:R}],[O]:H},{[A]:[{[j]:B,[M]:[G,0,4,vq],[P]:$q},{[j]:z,[M]:[{[N]:$q},`arn:`]},{[j]:kq,[M]:[{[j]:bq,[M]:[dY]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",[O]:R},{[A]:[{[j]:xq,[M]:[OJ,yq]},dY],error:`Path-style addressing cannot be used with ARN buckets`,[O]:R},{[A]:AY,[k]:[{[A]:MY,[k]:[{[A]:[kJ],[k]:[{[A]:[W,q,U,AJ],endpoint:{[F]:`https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[I]:jJ,[L]:K},[O]:V},{[A]:[W,q,U,X,MJ],[k]:[{endpoint:fY,[O]:V}],[O]:H},{[A]:[W,q,U,X,FJ],endpoint:fY,[O]:V},{[A]:[J,q,U,AJ],endpoint:{[F]:`https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[I]:jJ,[L]:K},[O]:V},{[A]:[J,q,U,X,MJ],[k]:[{endpoint:pY,[O]:V}],[O]:H},{[A]:[J,q,U,X,FJ],endpoint:pY,[O]:V},{[A]:[W,q,Y,AJ],endpoint:{[F]:`https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[I]:jJ,[L]:K},[O]:V},{[A]:[W,q,Y,X,MJ],[k]:[{endpoint:mY,[O]:V}],[O]:H},{[A]:[W,q,Y,X,FJ],endpoint:mY,[O]:V},{[A]:[J,sJ,pJ,Y,AJ],endpoint:{[F]:eJ,[I]:jJ,[L]:K},[O]:V},{[A]:[J,sJ,pJ,Y,X,MJ],[k]:[{[A]:tX,endpoint:hY,[O]:V},{endpoint:hY,[O]:V}],[O]:H},{[A]:[J,sJ,pJ,Y,X,FJ],endpoint:hY,[O]:V},{[A]:[J,q,Y,AJ],endpoint:{[F]:tJ,[I]:jJ,[L]:K},[O]:V},{[A]:[J,q,Y,X,MJ],[k]:[{[A]:tX,endpoint:{[F]:tJ,[I]:PJ,[L]:K},[O]:V},{endpoint:gY,[O]:V}],[O]:H},{[A]:[J,q,Y,X,FJ],endpoint:gY,[O]:V}],[O]:H},{error:`Path-style addressing cannot be used with S3 Accelerate`,[O]:R}],[O]:H}],[O]:H}],[O]:H},{[A]:[{[j]:bq,[M]:[_Y]},{[j]:xq,[M]:[_Y,yq]}],[k]:[{[A]:MY,[k]:[{[A]:hX,[k]:[XJ,ZJ,{[A]:OY,endpoint:{[F]:jq,[I]:vY,[L]:K},[O]:V},{[A]:mX,endpoint:{[F]:`https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}`,[I]:vY,[L]:K},[O]:V},{endpoint:{[F]:`https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}`,[I]:vY,[L]:K},[O]:V}],[O]:H},GJ],[O]:H}],[O]:H},{[A]:[CJ],[k]:[{[A]:MY,[k]:[{[A]:hX,[k]:[{[A]:[U,W,q,AJ],endpoint:{[F]:`https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}`,[I]:jJ,[L]:K},[O]:V},{[A]:[U,W,q,X,MJ],[k]:[{endpoint:yY,[O]:V}],[O]:H},{[A]:[U,W,q,X,FJ],endpoint:yY,[O]:V},{[A]:[U,J,q,AJ],endpoint:{[F]:`https://s3-fips.us-east-1.{partitionResult#dnsSuffix}`,[I]:jJ,[L]:K},[O]:V},{[A]:[U,J,q,X,MJ],[k]:[{endpoint:bY,[O]:V}],[O]:H},{[A]:[U,J,q,X,FJ],endpoint:bY,[O]:V},{[A]:[Y,W,q,AJ],endpoint:{[F]:`https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}`,[I]:jJ,[L]:K},[O]:V},{[A]:[Y,W,q,X,MJ],[k]:[{endpoint:xY,[O]:V}],[O]:H},{[A]:[Y,W,q,X,FJ],endpoint:xY,[O]:V},{[A]:[Y,J,sJ,pJ,AJ],endpoint:{[F]:jq,[I]:jJ,[L]:K},[O]:V},{[A]:[Y,J,sJ,pJ,X,MJ],[k]:[{[A]:tX,endpoint:SY,[O]:V},{endpoint:SY,[O]:V}],[O]:H},{[A]:[Y,J,sJ,pJ,X,FJ],endpoint:SY,[O]:V},{[A]:[Y,J,q,AJ],endpoint:{[F]:nJ,[I]:jJ,[L]:K},[O]:V},{[A]:[Y,J,q,X,MJ],[k]:[{[A]:tX,endpoint:{[F]:nJ,[I]:PJ,[L]:K},[O]:V},{endpoint:CY,[O]:V}],[O]:H},{[A]:[Y,J,q,X,FJ],endpoint:CY,[O]:V}],[O]:H},GJ],[O]:H}],[O]:H}],[O]:H},{error:`A region must be set when sending requests to S3.`,[O]:R}]},_X=new er({size:50,params:[`Accelerate`,`Bucket`,`DisableAccessPoints`,`DisableMultiRegionAccessPoints`,`DisableS3ExpressSessionAuth`,`Endpoint`,`ForcePathStyle`,`Region`,`UseArnRegion`,`UseDualStack`,`UseFIPS`,`UseGlobalEndpoint`,`UseObjectLambdaEndpoint`,`UseS3ExpressControlEndpoint`]}),vX=(e,t={})=>_X.get(e,()=>Mr(gX,{endpointParams:e,logger:t.logger}));ar.aws=Vr;var yX=(e=>async(t,n,r)=>{if(!r)throw Error("Could not find `input` for `defaultEndpointRuleSetHttpAuthSchemeParametersProvider`");let i=await e(t,n,r),a=_e(n)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!a)throw Error(`getEndpointParameterInstructions() is not defined on '${n.commandName}'`);let o=await Ui(r,{getEndpointParameterInstructions:a},t);return Object.assign(i,o)})(async(e,t,n)=>({operation:_e(t).operation,region:await f(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()}));function bX(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`s3`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}function xX(e){return{schemeId:`aws.auth#sigv4a`,signingProperties:{name:`s3`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var SX=((e,t,n)=>r=>{let i=e(r).properties?.authSchemes;if(!i)return t(r);let a=[];for(let e of i){let{name:t,properties:o={},...s}=e,c=t.toLowerCase();t!==c&&console.warn(`HttpAuthScheme has been normalized with lowercasing: '${t}' to '${c}'`);let l;if(c===`sigv4a`){l=`aws.auth#sigv4a`;let e=i.find(e=>{let t=e.name.toLowerCase();return t!==`sigv4a`&&t.startsWith(`sigv4`)});if(lq.sigv4aDependency()===`none`&&e)continue}else if(c.startsWith(`sigv4`))l=`aws.auth#sigv4`;else throw Error(`Unknown HttpAuthScheme found in '@smithy.rules#endpointRuleSet': '${c}'`);let u=n[l];if(!u)throw Error(`Could not find HttpAuthOption create function for '${l}'`);let d=u(r);d.schemeId=l,d.signingProperties={...d.signingProperties||{},...s,...o},a.push(d)}return a})(vX,e=>{let t=[];switch(e.operation){default:t.push(bX(e)),t.push(xX(e))}return t},{"aws.auth#sigv4":bX,"aws.auth#sigv4a":xX}),CX=e=>{let t=Ia(La(e));return Object.assign(t,{authSchemePreference:f(e.authSchemePreference??[])})},wX=e=>Object.assign(e,{useFipsEndpoint:e.useFipsEndpoint??!1,useDualstackEndpoint:e.useDualstackEndpoint??!1,forcePathStyle:e.forcePathStyle??!1,useAccelerateEndpoint:e.useAccelerateEndpoint??!1,useGlobalEndpoint:e.useGlobalEndpoint??!1,disableMultiregionAccessPoints:e.disableMultiregionAccessPoints??!1,defaultSigningName:`s3`,clientContextParams:e.clientContextParams??{}}),TX={ForcePathStyle:{type:`clientContextParams`,name:`forcePathStyle`},UseArnRegion:{type:`clientContextParams`,name:`useArnRegion`},DisableMultiRegionAccessPoints:{type:`clientContextParams`,name:`disableMultiregionAccessPoints`},Accelerate:{type:`clientContextParams`,name:`useAccelerateEndpoint`},DisableS3ExpressSessionAuth:{type:`clientContextParams`,name:`disableS3ExpressSessionAuth`},UseGlobalEndpoint:{type:`builtInParams`,name:`useGlobalEndpoint`},UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},EX=class e extends oa{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},DX=class e extends EX{name=`NoSuchUpload`;$fault=`client`;constructor(t){super({name:`NoSuchUpload`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},OX=class e extends EX{name=`AccessDenied`;$fault=`client`;constructor(t){super({name:`AccessDenied`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},kX=class e extends EX{name=`ObjectNotInActiveTierError`;$fault=`client`;constructor(t){super({name:`ObjectNotInActiveTierError`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},AX=class e extends EX{name=`BucketAlreadyExists`;$fault=`client`;constructor(t){super({name:`BucketAlreadyExists`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},jX=class e extends EX{name=`BucketAlreadyOwnedByYou`;$fault=`client`;constructor(t){super({name:`BucketAlreadyOwnedByYou`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},MX=class e extends EX{name=`NoSuchBucket`;$fault=`client`;constructor(t){super({name:`NoSuchBucket`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},NX=class e extends EX{name=`InvalidObjectState`;$fault=`client`;StorageClass;AccessTier;constructor(t){super({name:`InvalidObjectState`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.StorageClass=t.StorageClass,this.AccessTier=t.AccessTier}},PX=class e extends EX{name=`NoSuchKey`;$fault=`client`;constructor(t){super({name:`NoSuchKey`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},FX=class e extends EX{name=`NotFound`;$fault=`client`;constructor(t){super({name:`NotFound`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},IX=class e extends EX{name=`EncryptionTypeMismatch`;$fault=`client`;constructor(t){super({name:`EncryptionTypeMismatch`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},LX=class e extends EX{name=`InvalidRequest`;$fault=`client`;constructor(t){super({name:`InvalidRequest`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},RX=class e extends EX{name=`InvalidWriteOffset`;$fault=`client`;constructor(t){super({name:`InvalidWriteOffset`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},zX=class e extends EX{name=`TooManyParts`;$fault=`client`;constructor(t){super({name:`TooManyParts`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},BX=class e extends EX{name=`IdempotencyParameterMismatch`;$fault=`client`;constructor(t){super({name:`IdempotencyParameterMismatch`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},VX=class e extends EX{name=`ObjectAlreadyInActiveTierError`;$fault=`client`;constructor(t){super({name:`ObjectAlreadyInActiveTierError`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},HX=`ACL`,UX=`AccessDenied`,WX=`AbortDate`,GX=`AccessKeyId`,KX=`AbortMultipartUpload`,qX=`AbortMultipartUploadOutput`,JX=`AbortMultipartUploadRequest`,YX=`AcceptRanges`,XX=`AbortRuleId`,ZX=`AccessTier`,QX=`Bucket`,$X=`BucketArn`,eZ=`BucketAlreadyExists`,tZ=`BucketAlreadyOwnedByYou`,nZ=`BypassGovernanceRetention`,rZ=`BucketInfo`,iZ=`BucketKeyEnabled`,aZ=`BucketNamespace`,oZ=`BucketRegion`,sZ=`Body`,cZ=`Buckets`,lZ=`ChecksumAlgorithm`,uZ=`CreateBucket`,dZ=`CreateBucketConfiguration`,fZ=`CreateBucketOutput`,pZ=`CreateBucketRequest`,mZ=`CacheControl`,hZ=`ChecksumCRC32`,gZ=`ChecksumCRC32C`,_Z=`ChecksumCRC64NVME`,vZ=`Cache-Control`,yZ=`CreationDate`,bZ=`Content-Disposition`,xZ=`ContentDisposition`,SZ=`Content-Encoding`,CZ=`ContentEncoding`,wZ=`ContentLanguage`,TZ=`Content-Language`,EZ=`Content-Length`,DZ=`ContentLength`,OZ=`Content-MD5`,kZ=`ContentMD5`,AZ=`CompletedMultipartUpload`,jZ=`CompleteMultipartUploadOutput`,MZ=`CreateMultipartUploadOutput`,NZ=`CompleteMultipartUploadResult`,PZ=`CompleteMultipartUploadRequest`,FZ=`CreateMultipartUploadRequest`,IZ=`CompleteMultipartUpload`,LZ=`CreateMultipartUpload`,RZ=`ChecksumMode`,zZ=`CommonPrefix`,BZ=`CommonPrefixList`,VZ=`CompletedPartList`,HZ=`CompletedPart`,UZ=`CommonPrefixes`,WZ=`ContentRange`,GZ=`Content-Range`,KZ=`ChecksumSHA1`,qZ=`ChecksumSHA256`,JZ=`CreateSessionOutput`,YZ=`CreateSessionResult`,XZ=`CreateSessionRequest`,ZZ=`CreateSession`,QZ=`ChecksumType`,$Z=`Content-Type`,eQ=`ContentType`,tQ=`ContinuationToken`,nQ=`Contents`,rQ=`Credentials`,iQ=`DeleteMarker`,aQ=`DisplayName`,oQ=`DeleteObjectOutput`,sQ=`DeleteObjectRequest`,cQ=`DeleteObject`,lQ=`DataRedundancy`,uQ=`Delimiter`,dQ=`Expiration`,fQ=`ExpectedBucketOwner`,pQ=`ExpiresString`,mQ=`EncryptionTypeMismatch`,hQ=`ETag`,gQ=`EncodingType`,_Q=`Expires`,vQ=`FetchOwner`,yQ=`GrantFullControl`,bQ=`GetObject`,xQ=`GetObjectOutput`,SQ=`GetObjectRequest`,CQ=`GrantRead`,wQ=`GrantReadACP`,TQ=`GrantWrite`,EQ=`GrantWriteACP`,DQ=`ID`,OQ=`IfMatch`,kQ=`IfMatchInitiatedTime`,AQ=`IfMatchLastModifiedTime`,jQ=`IfMatchSize`,MQ=`If-Modified-Since`,NQ=`IfModifiedSince`,PQ=`InitiateMultipartUploadResult`,FQ=`If-Match`,IQ=`IfNoneMatch`,LQ=`If-None-Match`,RQ=`InvalidObjectState`,zQ=`IdempotencyParameterMismatch`,BQ=`InvalidRequest`,VQ=`IsRestoreInProgress`,HQ=`IsTruncated`,UQ=`IfUnmodifiedSince`,WQ=`If-Unmodified-Since`,GQ=`InvalidWriteOffset`,KQ=`Key`,qQ=`KeyCount`,JQ=`Location`,YQ=`ListAllMyBucketsResult`,XQ=`ListBuckets`,ZQ=`ListBucketsOutput`,QQ=`ListBucketsRequest`,$Q=`ListBucketResult`,e$=`LocationConstraint`,t$=`LocationInfo`,n$=`LastModified`,r$=`Last-Modified`,i$=`ListObjectsV2`,a$=`ListObjectsV2Output`,o$=`ListObjectsV2Request`,s$=`Metadata`,c$=`MaxBuckets`,l$=`MFA`,u$=`MaxKeys`,d$=`MissingMeta`,f$=`MpuObjectSize`,p$=`MultipartUpload`,m$=`Name`,h$=`NextContinuationToken`,g$=`NotFound`,_$=`NoSuchBucket`,v$=`NoSuchKey`,y$=`NoSuchUpload`,b$=`Owner`,x$=`ObjectAlreadyInActiveTierError`,S$=`ObjectLockEnabledForBucket`,C$=`ObjectLockLegalHoldStatus`,w$=`ObjectLockMode`,T$=`ObjectLockRetainUntilDate`,E$=`ObjectList`,D$=`ObjectNotInActiveTierError`,O$=`ObjectOwnership`,k$=`OptionalObjectAttributes`,A$=`Object`,j$=`Prefix`,M$=`PartsCount`,N$=`PartNumber`,P$=`PutObject`,F$=`PutObjectOutput`,I$=`PutObjectRequest`,L$=`PutObjectTagging`,R$=`PutObjectTaggingOutput`,z$=`PutObjectTaggingRequest`,B$=`Parts`,V$=`Part`,H$=`RequestCharged`,U$=`ResponseCacheControl`,W$=`ResponseContentDisposition`,G$=`ResponseContentEncoding`,K$=`ResponseContentLanguage`,q$=`ResponseContentType`,J$=`ResponseExpires`,Y$=`RestoreExpiryDate`,X$=`RequestPayer`,Z$=`ReplicationStatus`,Q$=`RestoreStatus`,$$=`Range`,e1=`Restore`,t1=`StartAfter`,n1=`SecretAccessKey`,r1=`StreamingBlob`,i1=`StorageClass`,a1=`SessionCredentialValue`,o1=`SessionCredentials`,s1=`SessionMode`,c1=`ServerSideEncryption`,l1=`SSECustomerAlgorithm`,u1=`SSECustomerKey`,d1=`SSECustomerKeyMD5`,f1=`SSEKMSEncryptionContext`,p1=`SSEKMSKeyId`,m1=`SessionToken`,h1=`Size`,g1=`Tags`,_1=`TagCount`,v1=`TooManyParts`,y1=`TagSet`,b1=`Tag`,x1=`Tagging`,S1=`Type`,C1=`UploadId`,w1=`UploadPart`,T1=`UploadPartOutput`,E1=`UploadPartRequest`,D1=`Value`,O1=`VersionId`,k1=`WriteOffsetBytes`,A1=`WebsiteRedirectLocation`,j1=`accept-ranges`,M1=`bucket-region`,N1=`client`,P1=`continuation-token`,F1=`delimiter`,I1=`error`,L1=`encoding-type`,R1=`fetch-owner`,z1=`http`,B1=`httpChecksum`,V1=`httpError`,Z=`httpHeader`,H1=`httpPayload`,U1=`httpPrefixHeaders`,Q=`httpQuery`,W1=`max-buckets`,G1=`max-keys`,K1=`prefix`,q1=`partNumber`,J1=`response-cache-control`,Y1=`response-content-disposition`,X1=`response-content-encoding`,Z1=`response-content-language`,Q1=`response-content-type`,$1=`response-expires`,e0=`smithy.ts.sdk.synthetic.com.amazonaws.s3`,t0=`start-after`,n0=`streaming`,r0=`uploadId`,i0=`versionId`,a0=`xmlFlattened`,o0=`xmlName`,s0=`x-amz-acl`,c0=`x-amz-abort-date`,l0=`x-amz-abort-rule-id`,u0=`x-amz-bucket-arn`,d0=`x-amz-bypass-governance-retention`,f0=`x-amz-bucket-namespace`,p0=`x-amz-bucket-object-lock-enabled`,m0=`x-amz-checksum-algorithm`,h0=`x-amz-checksum-crc32`,g0=`x-amz-checksum-crc32c`,_0=`x-amz-checksum-crc64nvme`,v0=`x-amz-checksum-mode`,y0=`x-amz-checksum-sha1`,b0=`x-amz-checksum-sha256`,x0=`x-amz-create-session-mode`,S0=`x-amz-checksum-type`,C0=`x-amz-delete-marker`,w0=`x-amz-expiration`,T0=`x-amz-expected-bucket-owner`,E0=`x-amz-grant-full-control`,D0=`x-amz-grant-read`,O0=`x-amz-grant-read-acp`,k0=`x-amz-grant-write`,A0=`x-amz-grant-write-acp`,j0=`x-amz-if-match-initiated-time`,M0=`x-amz-if-match-last-modified-time`,N0=`x-amz-if-match-size`,P0=`x-amz-meta-`,F0=`x-amz-mfa`,I0=`x-amz-missing-meta`,L0=`x-amz-mp-object-size`,R0=`x-amz-mp-parts-count`,z0=`x-amz-object-lock-legal-hold`,B0=`x-amz-object-lock-mode`,V0=`x-amz-object-lock-retain-until-date`,H0=`x-amz-object-ownership`,U0=`x-amz-optional-object-attributes`,W0=`x-amz-object-size`,G0=`x-amz-restore`,K0=`x-amz-request-charged`,q0=`x-amz-request-payer`,J0=`x-amz-replication-status`,Y0=`x-amz-storage-class`,X0=`x-amz-sdk-checksum-algorithm`,Z0=`x-amz-server-side-encryption`,Q0=`x-amz-server-side-encryption-aws-kms-key-id`,$0=`x-amz-server-side-encryption-bucket-key-enabled`,e2=`x-amz-server-side-encryption-context`,t2=`x-amz-server-side-encryption-customer-algorithm`,n2=`x-amz-server-side-encryption-customer-key`,r2=`x-amz-server-side-encryption-customer-key-MD5`,i2=`x-amz-tagging`,a2=`x-amz-tagging-count`,o2=`x-amz-version-id`,s2=`x-amz-write-offset-bytes`,c2=`x-amz-website-redirect-location`,$=`com.amazonaws.s3`,l2=At.for(e0),u2=[-3,e0,`S3ServiceException`,0,[],[]];l2.registerError(u2,EX);var d2=At.for($),f2=[-3,$,UX,{[I1]:N1,[V1]:403},[],[]];d2.registerError(f2,OX);var p2=[-3,$,eZ,{[I1]:N1,[V1]:409},[],[]];d2.registerError(p2,AX);var m2=[-3,$,tZ,{[I1]:N1,[V1]:409},[],[]];d2.registerError(m2,jX);var h2=[-3,$,mQ,{[I1]:N1,[V1]:400},[],[]];d2.registerError(h2,IX);var g2=[-3,$,zQ,{[I1]:N1,[V1]:400},[],[]];d2.registerError(g2,BX);var _2=[-3,$,RQ,{[I1]:N1,[V1]:403},[i1,ZX],[0,0]];d2.registerError(_2,NX);var v2=[-3,$,BQ,{[I1]:N1,[V1]:400},[],[]];d2.registerError(v2,LX);var y2=[-3,$,GQ,{[I1]:N1,[V1]:400},[],[]];d2.registerError(y2,RX);var b2=[-3,$,_$,{[I1]:N1,[V1]:404},[],[]];d2.registerError(b2,MX);var x2=[-3,$,v$,{[I1]:N1,[V1]:404},[],[]];d2.registerError(x2,PX);var S2=[-3,$,y$,{[I1]:N1,[V1]:404},[],[]];d2.registerError(S2,DX);var C2=[-3,$,g$,{[I1]:N1},[],[]];d2.registerError(C2,FX);var w2=[-3,$,x$,{[I1]:N1,[V1]:403},[],[]];d2.registerError(w2,VX);var T2=[-3,$,D$,{[I1]:N1,[V1]:403},[],[]];d2.registerError(T2,kX);var E2=[-3,$,v1,{[I1]:N1,[V1]:400},[],[]];d2.registerError(E2,zX);var D2=[l2,d2],O2=[0,$,a1,8,0],k2=[0,$,u1,8,0],A2=[0,$,f1,8,0],j2=[0,$,p1,8,0],M2=[0,$,r1,{[n0]:1},42],N2=[3,$,qX,0,[H$],[[0,{[Z]:K0}]]],P2=[3,$,JX,0,[QX,KQ,C1,X$,fQ,kQ],[[0,1],[0,1],[0,{[Q]:r0}],[0,{[Z]:q0}],[0,{[Z]:T0}],[6,{[Z]:j0}]],3],F2=[3,$,QX,0,[m$,yZ,oZ,$X],[0,4,0,0]],I2=[3,$,rZ,0,[lQ,S1],[0,0]],L2=[3,$,zZ,0,[j$],[0]],R2=[3,$,AZ,0,[B$],[[()=>v4,{[a0]:1,[o0]:V$}]]],z2=[3,$,HZ,0,[hQ,hZ,gZ,_Z,KZ,qZ,N$],[0,0,0,0,0,0,1]],B2=[3,$,jZ,{[o0]:NZ},[JQ,QX,KQ,dQ,hQ,hZ,gZ,_Z,KZ,qZ,QZ,c1,O1,p1,iZ,H$],[0,0,0,[0,{[Z]:w0}],0,0,0,0,0,0,0,[0,{[Z]:Z0}],[0,{[Z]:o2}],[()=>j2,{[Z]:Q0}],[2,{[Z]:$0}],[0,{[Z]:K0}]]],V2=[3,$,PZ,0,[QX,KQ,C1,p$,hZ,gZ,_Z,KZ,qZ,QZ,f$,X$,fQ,OQ,IQ,l1,u1,d1],[[0,1],[0,1],[0,{[Q]:r0}],[()=>R2,{[H1]:1,[o0]:IZ}],[0,{[Z]:h0}],[0,{[Z]:g0}],[0,{[Z]:_0}],[0,{[Z]:y0}],[0,{[Z]:b0}],[0,{[Z]:S0}],[1,{[Z]:L0}],[0,{[Z]:q0}],[0,{[Z]:T0}],[0,{[Z]:FQ}],[0,{[Z]:LQ}],[0,{[Z]:t2}],[()=>k2,{[Z]:n2}],[0,{[Z]:r2}]],3],H2=[3,$,dZ,0,[e$,JQ,QX,g1],[0,()=>r4,()=>I2,[()=>b4,0]]],U2=[3,$,fZ,0,[JQ,$X],[[0,{[Z]:JQ}],[0,{[Z]:u0}]]],W2=[3,$,pZ,0,[QX,HX,dZ,yQ,CQ,wQ,TQ,EQ,S$,O$,aZ],[[0,1],[0,{[Z]:s0}],[()=>H2,{[H1]:1,[o0]:dZ}],[0,{[Z]:E0}],[0,{[Z]:D0}],[0,{[Z]:O0}],[0,{[Z]:k0}],[0,{[Z]:A0}],[2,{[Z]:p0}],[0,{[Z]:H0}],[0,{[Z]:f0}]],1],G2=[3,$,MZ,{[o0]:PQ},[WX,XX,QX,KQ,C1,c1,l1,d1,p1,f1,iZ,H$,lZ,QZ],[[4,{[Z]:c0}],[0,{[Z]:l0}],[0,{[o0]:QX}],0,0,[0,{[Z]:Z0}],[0,{[Z]:t2}],[0,{[Z]:r2}],[()=>j2,{[Z]:Q0}],[()=>A2,{[Z]:e2}],[2,{[Z]:$0}],[0,{[Z]:K0}],[0,{[Z]:m0}],[0,{[Z]:S0}]]],K2=[3,$,FZ,0,[QX,KQ,HX,mZ,xZ,CZ,wZ,eQ,_Q,yQ,CQ,wQ,EQ,s$,c1,i1,A1,l1,u1,d1,p1,f1,iZ,X$,x1,w$,T$,C$,fQ,lZ,QZ],[[0,1],[0,1],[0,{[Z]:s0}],[0,{[Z]:vZ}],[0,{[Z]:bZ}],[0,{[Z]:SZ}],[0,{[Z]:TZ}],[0,{[Z]:$Z}],[4,{[Z]:_Q}],[0,{[Z]:E0}],[0,{[Z]:D0}],[0,{[Z]:O0}],[0,{[Z]:A0}],[128,{[U1]:P0}],[0,{[Z]:Z0}],[0,{[Z]:Y0}],[0,{[Z]:c2}],[0,{[Z]:t2}],[()=>k2,{[Z]:n2}],[0,{[Z]:r2}],[()=>j2,{[Z]:Q0}],[()=>A2,{[Z]:e2}],[2,{[Z]:$0}],[0,{[Z]:q0}],[0,{[Z]:i2}],[0,{[Z]:B0}],[5,{[Z]:V0}],[0,{[Z]:z0}],[0,{[Z]:T0}],[0,{[Z]:m0}],[0,{[Z]:S0}]],2],q2=[3,$,JZ,{[o0]:YZ},[rQ,c1,p1,f1,iZ],[[()=>d4,{[o0]:rQ}],[0,{[Z]:Z0}],[()=>j2,{[Z]:Q0}],[()=>A2,{[Z]:e2}],[2,{[Z]:$0}]],1],J2=[3,$,XZ,0,[QX,s1,c1,p1,f1,iZ],[[0,1],[0,{[Z]:x0}],[0,{[Z]:Z0}],[()=>j2,{[Z]:Q0}],[()=>A2,{[Z]:e2}],[2,{[Z]:$0}]],1],Y2=[3,$,oQ,0,[iQ,O1,H$],[[2,{[Z]:C0}],[0,{[Z]:o2}],[0,{[Z]:K0}]]],X2=[3,$,sQ,0,[QX,KQ,l$,O1,X$,nZ,fQ,OQ,AQ,jQ],[[0,1],[0,1],[0,{[Z]:F0}],[0,{[Q]:i0}],[0,{[Z]:q0}],[2,{[Z]:d0}],[0,{[Z]:T0}],[0,{[Z]:FQ}],[6,{[Z]:M0}],[1,{[Z]:N0}]],2],Z2=[3,$,xQ,0,[sZ,iQ,YX,dQ,e1,n$,DZ,hQ,hZ,gZ,_Z,KZ,qZ,QZ,d$,O1,mZ,xZ,CZ,wZ,WZ,eQ,_Q,pQ,A1,c1,s$,l1,d1,p1,iZ,i1,H$,Z$,M$,_1,w$,T$,C$],[[()=>M2,16],[2,{[Z]:C0}],[0,{[Z]:j1}],[0,{[Z]:w0}],[0,{[Z]:G0}],[4,{[Z]:r$}],[1,{[Z]:EZ}],[0,{[Z]:hQ}],[0,{[Z]:h0}],[0,{[Z]:g0}],[0,{[Z]:_0}],[0,{[Z]:y0}],[0,{[Z]:b0}],[0,{[Z]:S0}],[1,{[Z]:I0}],[0,{[Z]:o2}],[0,{[Z]:vZ}],[0,{[Z]:bZ}],[0,{[Z]:SZ}],[0,{[Z]:TZ}],[0,{[Z]:GZ}],[0,{[Z]:$Z}],[4,{[Z]:_Q}],[0,{[Z]:pQ}],[0,{[Z]:c2}],[0,{[Z]:Z0}],[128,{[U1]:P0}],[0,{[Z]:t2}],[0,{[Z]:r2}],[()=>j2,{[Z]:Q0}],[2,{[Z]:$0}],[0,{[Z]:Y0}],[0,{[Z]:K0}],[0,{[Z]:J0}],[1,{[Z]:R0}],[1,{[Z]:a2}],[0,{[Z]:B0}],[5,{[Z]:V0}],[0,{[Z]:z0}]]],Q2=[3,$,SQ,0,[QX,KQ,OQ,NQ,IQ,UQ,$$,U$,W$,G$,K$,q$,J$,O1,l1,u1,d1,X$,N$,fQ,RZ],[[0,1],[0,1],[0,{[Z]:FQ}],[4,{[Z]:MQ}],[0,{[Z]:LQ}],[4,{[Z]:WQ}],[0,{[Z]:$$}],[0,{[Q]:J1}],[0,{[Q]:Y1}],[0,{[Q]:X1}],[0,{[Q]:Z1}],[0,{[Q]:Q1}],[6,{[Q]:$1}],[0,{[Q]:i0}],[0,{[Z]:t2}],[()=>k2,{[Z]:n2}],[0,{[Z]:r2}],[0,{[Z]:q0}],[1,{[Q]:q1}],[0,{[Z]:T0}],[0,{[Z]:v0}]],2],$2=[3,$,ZQ,{[o0]:YQ},[cZ,b$,tQ,j$],[[()=>g4,0],()=>a4,0,0]],e4=[3,$,QQ,0,[c$,tQ,j$,oZ],[[1,{[Q]:W1}],[0,{[Q]:P1}],[0,{[Q]:K1}],[0,{[Q]:M1}]]],t4=[3,$,a$,{[o0]:$Q},[HQ,nQ,m$,j$,uQ,u$,UZ,gQ,qQ,tQ,h$,t1,H$],[2,[()=>y4,{[a0]:1}],0,0,0,1,[()=>_4,{[a0]:1}],0,1,0,0,0,[0,{[Z]:K0}]]],n4=[3,$,o$,0,[QX,uQ,gQ,u$,j$,tQ,vQ,t1,X$,fQ,k$],[[0,1],[0,{[Q]:F1}],[0,{[Q]:L1}],[1,{[Q]:G1}],[0,{[Q]:K1}],[0,{[Q]:P1}],[2,{[Q]:R1}],[0,{[Q]:t0}],[0,{[Z]:q0}],[0,{[Z]:T0}],[64,{[Z]:U0}]],1],r4=[3,$,t$,0,[S1,m$],[0,0]],i4=[3,$,A$,0,[KQ,n$,hQ,lZ,QZ,h1,i1,b$,Q$],[0,4,0,[64,{[a0]:1}],0,1,0,()=>a4,()=>u4]],a4=[3,$,b$,0,[aQ,DQ],[0,0]],o4=[3,$,F$,0,[dQ,hQ,hZ,gZ,_Z,KZ,qZ,QZ,c1,O1,l1,d1,p1,f1,iZ,h1,H$],[[0,{[Z]:w0}],[0,{[Z]:hQ}],[0,{[Z]:h0}],[0,{[Z]:g0}],[0,{[Z]:_0}],[0,{[Z]:y0}],[0,{[Z]:b0}],[0,{[Z]:S0}],[0,{[Z]:Z0}],[0,{[Z]:o2}],[0,{[Z]:t2}],[0,{[Z]:r2}],[()=>j2,{[Z]:Q0}],[()=>A2,{[Z]:e2}],[2,{[Z]:$0}],[1,{[Z]:W0}],[0,{[Z]:K0}]]],s4=[3,$,I$,0,[QX,KQ,HX,sZ,mZ,xZ,CZ,wZ,DZ,kZ,eQ,lZ,hZ,gZ,_Z,KZ,qZ,_Q,OQ,IQ,yQ,CQ,wQ,EQ,k1,s$,c1,i1,A1,l1,u1,d1,p1,f1,iZ,X$,x1,w$,T$,C$,fQ],[[0,1],[0,1],[0,{[Z]:s0}],[()=>M2,16],[0,{[Z]:vZ}],[0,{[Z]:bZ}],[0,{[Z]:SZ}],[0,{[Z]:TZ}],[1,{[Z]:EZ}],[0,{[Z]:OZ}],[0,{[Z]:$Z}],[0,{[Z]:X0}],[0,{[Z]:h0}],[0,{[Z]:g0}],[0,{[Z]:_0}],[0,{[Z]:y0}],[0,{[Z]:b0}],[4,{[Z]:_Q}],[0,{[Z]:FQ}],[0,{[Z]:LQ}],[0,{[Z]:E0}],[0,{[Z]:D0}],[0,{[Z]:O0}],[0,{[Z]:A0}],[1,{[Z]:s2}],[128,{[U1]:P0}],[0,{[Z]:Z0}],[0,{[Z]:Y0}],[0,{[Z]:c2}],[0,{[Z]:t2}],[()=>k2,{[Z]:n2}],[0,{[Z]:r2}],[()=>j2,{[Z]:Q0}],[()=>A2,{[Z]:e2}],[2,{[Z]:$0}],[0,{[Z]:q0}],[0,{[Z]:i2}],[0,{[Z]:B0}],[5,{[Z]:V0}],[0,{[Z]:z0}],[0,{[Z]:T0}]],2],c4=[3,$,R$,0,[O1],[[0,{[Z]:o2}]]],l4=[3,$,z$,0,[QX,KQ,x1,O1,kZ,lZ,fQ,X$],[[0,1],[0,1],[()=>p4,{[H1]:1,[o0]:x1}],[0,{[Q]:i0}],[0,{[Z]:OZ}],[0,{[Z]:X0}],[0,{[Z]:T0}],[0,{[Z]:q0}]],3],u4=[3,$,Q$,0,[VQ,Y$],[2,4]],d4=[3,$,o1,0,[GX,n1,m1,dQ],[[0,{[o0]:GX}],[()=>O2,{[o0]:n1}],[()=>O2,{[o0]:m1}],[4,{[o0]:dQ}]],4],f4=[3,$,b1,0,[KQ,D1],[0,0],2],p4=[3,$,x1,0,[y1],[[()=>b4,0]],1],m4=[3,$,T1,0,[c1,hQ,hZ,gZ,_Z,KZ,qZ,l1,d1,p1,iZ,H$],[[0,{[Z]:Z0}],[0,{[Z]:hQ}],[0,{[Z]:h0}],[0,{[Z]:g0}],[0,{[Z]:_0}],[0,{[Z]:y0}],[0,{[Z]:b0}],[0,{[Z]:t2}],[0,{[Z]:r2}],[()=>j2,{[Z]:Q0}],[2,{[Z]:$0}],[0,{[Z]:K0}]]],h4=[3,$,E1,0,[QX,KQ,N$,C1,sZ,DZ,kZ,lZ,hZ,gZ,_Z,KZ,qZ,l1,u1,d1,X$,fQ],[[0,1],[0,1],[1,{[Q]:q1}],[0,{[Q]:r0}],[()=>M2,16],[1,{[Z]:EZ}],[0,{[Z]:OZ}],[0,{[Z]:X0}],[0,{[Z]:h0}],[0,{[Z]:g0}],[0,{[Z]:_0}],[0,{[Z]:y0}],[0,{[Z]:b0}],[0,{[Z]:t2}],[()=>k2,{[Z]:n2}],[0,{[Z]:r2}],[0,{[Z]:q0}],[0,{[Z]:T0}]],4],g4=[1,$,cZ,0,[()=>F2,{[o0]:QX}]],_4=[1,$,BZ,0,()=>L2],v4=[1,$,VZ,0,()=>z2],y4=[1,$,E$,0,[()=>i4,0]],b4=[1,$,y1,0,[()=>f4,{[o0]:b1}]],x4=[9,$,KX,{[z1]:[`DELETE`,`/{Key+}?x-id=AbortMultipartUpload`,204]},()=>P2,()=>N2],S4=[9,$,IZ,{[z1]:[`POST`,`/{Key+}`,200]},()=>V2,()=>B2],C4=[9,$,uZ,{[z1]:[`PUT`,`/`,200]},()=>W2,()=>U2],w4=[9,$,LZ,{[z1]:[`POST`,`/{Key+}?uploads`,200]},()=>K2,()=>G2],T4=[9,$,ZZ,{[z1]:[`GET`,`/?session`,200]},()=>J2,()=>q2],E4=[9,$,cQ,{[z1]:[`DELETE`,`/{Key+}?x-id=DeleteObject`,204]},()=>X2,()=>Y2],D4=[9,$,bQ,{[B1]:`-`,[z1]:[`GET`,`/{Key+}?x-id=GetObject`,200]},()=>Q2,()=>Z2],O4=[9,$,XQ,{[z1]:[`GET`,`/?x-id=ListBuckets`,200]},()=>e4,()=>$2],k4=[9,$,i$,{[z1]:[`GET`,`/?list-type=2`,200]},()=>n4,()=>t4],A4=[9,$,P$,{[B1]:`-`,[z1]:[`PUT`,`/{Key+}?x-id=PutObject`,200]},()=>s4,()=>o4],j4=[9,$,L$,{[B1]:`-`,[z1]:[`PUT`,`/{Key+}?tagging`,200]},()=>l4,()=>c4],M4=[9,$,w1,{[B1]:`-`,[z1]:[`PUT`,`/{Key+}?x-id=UploadPart`,200]},()=>h4,()=>m4],N4=class extends ia.classBuilder().ep({...TX,DisableS3ExpressSessionAuth:{type:`staticContextParams`,value:!0},Bucket:{type:`contextParams`,name:`Bucket`}}).m(function(e,t,n,r){return[Ki(n,e.getEndpointParameterInstructions()),$K(n)]}).s(`AmazonS3`,`CreateSession`,{}).n(`S3Client`,`CreateSessionCommand`).sc(T4).build(){},P4={name:`@aws-sdk/client-s3`,description:`AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native`,version:`3.1029.0`,scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline client-s3`,"build:es":`tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`tsc -p tsconfig.types.json`,"build:types:downlevel":`downlevel-dts dist-types dist-types/ts3.4`,clean:`premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service --solo s3`,test:`yarn g:vitest run`,"test:browser":`node ./test/browser-build/esbuild && yarn g:vitest run -c vitest.config.browser.mts`,"test:browser:watch":`node ./test/browser-build/esbuild && yarn g:vitest watch -c vitest.config.browser.mts`,"test:e2e":`yarn g:vitest run -c vitest.config.e2e.mts && yarn test:browser`,"test:e2e:watch":`yarn g:vitest watch -c vitest.config.e2e.mts`,"test:index":`tsc --noEmit ./test/index-types.ts && node ./test/index-objects.spec.mjs`,"test:integration":`yarn g:vitest run -c vitest.config.integ.mts`,"test:integration:watch":`yarn g:vitest watch -c vitest.config.integ.mts`,"test:watch":`yarn g:vitest watch`},main:`./dist-cjs/index.js`,types:`./dist-types/index.d.ts`,module:`./dist-es/index.js`,sideEffects:!1,dependencies:{"@aws-crypto/sha1-browser":`5.2.0`,"@aws-crypto/sha256-browser":`5.2.0`,"@aws-crypto/sha256-js":`5.2.0`,"@aws-sdk/core":`^3.973.27`,"@aws-sdk/credential-provider-node":`^3.972.30`,"@aws-sdk/middleware-bucket-endpoint":`^3.972.9`,"@aws-sdk/middleware-expect-continue":`^3.972.9`,"@aws-sdk/middleware-flexible-checksums":`^3.974.7`,"@aws-sdk/middleware-host-header":`^3.972.9`,"@aws-sdk/middleware-location-constraint":`^3.972.9`,"@aws-sdk/middleware-logger":`^3.972.9`,"@aws-sdk/middleware-recursion-detection":`^3.972.10`,"@aws-sdk/middleware-sdk-s3":`^3.972.28`,"@aws-sdk/middleware-ssec":`^3.972.9`,"@aws-sdk/middleware-user-agent":`^3.972.29`,"@aws-sdk/region-config-resolver":`^3.972.11`,"@aws-sdk/signature-v4-multi-region":`^3.996.16`,"@aws-sdk/types":`^3.973.7`,"@aws-sdk/util-endpoints":`^3.996.6`,"@aws-sdk/util-user-agent-browser":`^3.972.9`,"@aws-sdk/util-user-agent-node":`^3.973.15`,"@smithy/config-resolver":`^4.4.14`,"@smithy/core":`^3.23.14`,"@smithy/eventstream-serde-browser":`^4.2.13`,"@smithy/eventstream-serde-config-resolver":`^4.3.13`,"@smithy/eventstream-serde-node":`^4.2.13`,"@smithy/fetch-http-handler":`^5.3.16`,"@smithy/hash-blob-browser":`^4.2.14`,"@smithy/hash-node":`^4.2.13`,"@smithy/hash-stream-node":`^4.2.13`,"@smithy/invalid-dependency":`^4.2.13`,"@smithy/md5-js":`^4.2.13`,"@smithy/middleware-content-length":`^4.2.13`,"@smithy/middleware-endpoint":`^4.4.29`,"@smithy/middleware-retry":`^4.5.0`,"@smithy/middleware-serde":`^4.2.17`,"@smithy/middleware-stack":`^4.2.13`,"@smithy/node-config-provider":`^4.3.13`,"@smithy/node-http-handler":`^4.5.2`,"@smithy/protocol-http":`^5.3.13`,"@smithy/smithy-client":`^4.12.9`,"@smithy/types":`^4.14.0`,"@smithy/url-parser":`^4.2.13`,"@smithy/util-base64":`^4.3.2`,"@smithy/util-body-length-browser":`^4.2.2`,"@smithy/util-body-length-node":`^4.2.3`,"@smithy/util-defaults-mode-browser":`^4.3.45`,"@smithy/util-defaults-mode-node":`^4.2.49`,"@smithy/util-endpoints":`^3.3.4`,"@smithy/util-middleware":`^4.2.13`,"@smithy/util-retry":`^4.3.0`,"@smithy/util-stream":`^4.5.22`,"@smithy/util-utf8":`^4.2.2`,"@smithy/util-waiter":`^4.2.15`,tslib:`^2.6.2`},devDependencies:{"@aws-sdk/signature-v4-crt":`3.1029.0`,"@smithy/snapshot-testing":`^2.0.5`,"@tsconfig/node20":`20.1.8`,"@types/node":`^20.14.8`,concurrently:`7.0.0`,"downlevel-dts":`0.10.1`,premove:`4.0.0`,typescript:`~5.8.3`,vitest:`^4.0.17`},engines:{node:`>=20.0.0`},typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},files:[`dist-*/**`],author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/javascript/`},license:`Apache-2.0`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3`,repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-s3`}};function F4(e){return typeof e==`string`?e.length===0:e.byteLength===0}var I4={name:`SHA-1`},L4={name:`HMAC`,hash:I4},R4=new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]),z4=function(){function e(e){this.toHash=new Uint8Array,e!==void 0&&(this.key=new Promise(function(t,n){u().crypto.subtle.importKey(`raw`,B4(e),L4,!1,[`sign`]).then(t,n)}),this.key.catch(function(){}))}return e.prototype.update=function(e){if(!F4(e)){var t=B4(e),n=new Uint8Array(this.toHash.byteLength+t.byteLength);n.set(this.toHash,0),n.set(t,this.toHash.byteLength),this.toHash=n}},e.prototype.digest=function(){var e=this;return this.key?this.key.then(function(t){return u().crypto.subtle.sign(L4,t,e.toHash).then(function(e){return new Uint8Array(e)})}):F4(this.toHash)?Promise.resolve(R4):Promise.resolve().then(function(){return u().crypto.subtle.digest(I4,e.toHash)}).then(function(e){return Promise.resolve(new Uint8Array(e))})},e.prototype.reset=function(){this.toHash=new Uint8Array},e}();function B4(e){return typeof e==`string`?oe(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}var V4=function(){function e(e){if(ie(u()))this.hash=new z4(e);else throw Error(`SHA1 not supported`)}return e.prototype.update=function(e,t){this.hash.update(ae(e))},e.prototype.digest=function(){return this.hash.digest()},e.prototype.reset=function(){this.hash.reset()},e}(),H4=class e{bytes;constructor(e){if(this.bytes=e,e.byteLength!==8)throw Error(`Int64 buffers must be exactly 8 bytes`)}static fromNumber(t){if(t>0x8000000000000000||t<-0x8000000000000000)throw Error(`${t} is too large (or, if negative, too small) to represent as an Int64`);let n=new Uint8Array(8);for(let e=7,r=Math.abs(Math.round(t));e>-1&&r>0;e--,r/=256)n[e]=r;return t<0&&U4(n),new e(n)}valueOf(){let e=this.bytes.slice(0),t=e[0]&128;return t&&U4(e),parseInt(ne(e),16)*(t?-1:1)}toString(){return String(this.valueOf())}};function U4(e){for(let t=0;t<8;t++)e[t]^=255;for(let t=7;t>-1&&(e[t]++,e[t]===0);t--);}var W4=class{toUtf8;fromUtf8;constructor(e,t){this.toUtf8=e,this.fromUtf8=t}format(e){let t=[];for(let n of Object.keys(e)){let r=this.fromUtf8(n);t.push(Uint8Array.from([r.byteLength]),r,this.formatHeaderValue(e[n]))}let n=new Uint8Array(t.reduce((e,t)=>e+t.byteLength,0)),r=0;for(let e of t)n.set(e,r),r+=e.byteLength;return n}formatHeaderValue(e){switch(e.type){case`boolean`:return Uint8Array.from([+!e.value]);case`byte`:return Uint8Array.from([2,e.value]);case`short`:let t=new DataView(new ArrayBuffer(3));return t.setUint8(0,3),t.setInt16(1,e.value,!1),new Uint8Array(t.buffer);case`integer`:let n=new DataView(new ArrayBuffer(5));return n.setUint8(0,4),n.setInt32(1,e.value,!1),new Uint8Array(n.buffer);case`long`:let r=new Uint8Array(9);return r[0]=5,r.set(e.value.bytes,1),r;case`binary`:let i=new DataView(new ArrayBuffer(3+e.value.byteLength));i.setUint8(0,6),i.setUint16(1,e.value.byteLength,!1);let a=new Uint8Array(i.buffer);return a.set(e.value,3),a;case`string`:let o=this.fromUtf8(e.value),s=new DataView(new ArrayBuffer(3+o.byteLength));s.setUint8(0,7),s.setUint16(1,o.byteLength,!1);let c=new Uint8Array(s.buffer);return c.set(o,3),c;case`timestamp`:let l=new Uint8Array(9);return l[0]=8,l.set(H4.fromNumber(e.value.valueOf()).bytes,1),l;case`uuid`:if(!t3.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let u=new Uint8Array(17);return u[0]=9,u.set(ee(e.value.replace(/\-/g,``)),1),u}}parse(e){let t={},n=0;for(;n{if(typeof e!=`number`)throw Error(`Attempted to allocate an event message where size was not a number: `+e);t=e,n=4,r=new Uint8Array(e),new DataView(r.buffer).setUint32(0,e,!1)},o=async function*(){let o=e[Symbol.asyncIterator]();for(;;){let{value:e,done:s}=await o.next();if(s){if(!t)return;if(t===n)yield r;else throw Error(`Truncated event message received.`);return}let c=e.length,l=0;for(;l({[Symbol.asyncIterator]:async function*(){let t=e.getReader();try{for(;;){let{done:e,value:n}=await t.read();if(e)return;yield n}}finally{t.releaseLock()}}}),g3=e=>{let t=e[Symbol.asyncIterator]();return new ReadableStream({async pull(e){let{done:n,value:r}=await t.next();if(n)return e.close();e.enqueue(r)}})},_3=class{universalMarshaller;constructor({utf8Encoder:e,utf8Decoder:t}){this.universalMarshaller=new m3({utf8Decoder:t,utf8Encoder:e})}deserialize(e,t){let n=v3(e)?h3(e):e;return this.universalMarshaller.deserialize(n,t)}serialize(e,t){let n=this.universalMarshaller.serialize(e,t);return typeof ReadableStream==`function`?g3(n):n}},v3=e=>typeof ReadableStream==`function`&&e instanceof ReadableStream,y3=e=>new _3(e);async function b3(e,t,n=1024*1024){let r=e.size,i=0;for(;i{n.update(e)}),n.digest()},S3=[1732584193,4023233417,2562383102,271733878],C3=class{state;buffer;bufferLength;bytesHashed;finished;constructor(){this.reset()}update(e){if(k3(e))return;if(this.finished)throw Error(`Attempted to update an already finished hash.`);let t=A3(e),n=0,{byteLength:r}=t;for(this.bytesHashed+=r;r>0;)this.buffer.setUint8(this.bufferLength++,t[n++]),r--,this.bufferLength===64&&(this.hashBuffer(),this.bufferLength=0)}async digest(){if(!this.finished){let{buffer:e,bufferLength:t,bytesHashed:n}=this,r=n*8;if(e.setUint8(this.bufferLength++,128),t%64>=56){for(let t=this.bufferLength;t<64;t++)e.setUint8(t,0);this.hashBuffer(),this.bufferLength=0}for(let t=this.bufferLength;t<56;t++)e.setUint8(t,0);e.setUint32(56,r>>>0,!0),e.setUint32(60,Math.floor(r/4294967296),!0),this.hashBuffer(),this.finished=!0}let e=new DataView(new ArrayBuffer(16));for(let t=0;t<4;t++)e.setUint32(t*4,this.state[t],!0);return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}hashBuffer(){let{buffer:e,state:t}=this,n=t[0],r=t[1],i=t[2],a=t[3];n=T3(n,r,i,a,e.getUint32(0,!0),7,3614090360),a=T3(a,n,r,i,e.getUint32(4,!0),12,3905402710),i=T3(i,a,n,r,e.getUint32(8,!0),17,606105819),r=T3(r,i,a,n,e.getUint32(12,!0),22,3250441966),n=T3(n,r,i,a,e.getUint32(16,!0),7,4118548399),a=T3(a,n,r,i,e.getUint32(20,!0),12,1200080426),i=T3(i,a,n,r,e.getUint32(24,!0),17,2821735955),r=T3(r,i,a,n,e.getUint32(28,!0),22,4249261313),n=T3(n,r,i,a,e.getUint32(32,!0),7,1770035416),a=T3(a,n,r,i,e.getUint32(36,!0),12,2336552879),i=T3(i,a,n,r,e.getUint32(40,!0),17,4294925233),r=T3(r,i,a,n,e.getUint32(44,!0),22,2304563134),n=T3(n,r,i,a,e.getUint32(48,!0),7,1804603682),a=T3(a,n,r,i,e.getUint32(52,!0),12,4254626195),i=T3(i,a,n,r,e.getUint32(56,!0),17,2792965006),r=T3(r,i,a,n,e.getUint32(60,!0),22,1236535329),n=E3(n,r,i,a,e.getUint32(4,!0),5,4129170786),a=E3(a,n,r,i,e.getUint32(24,!0),9,3225465664),i=E3(i,a,n,r,e.getUint32(44,!0),14,643717713),r=E3(r,i,a,n,e.getUint32(0,!0),20,3921069994),n=E3(n,r,i,a,e.getUint32(20,!0),5,3593408605),a=E3(a,n,r,i,e.getUint32(40,!0),9,38016083),i=E3(i,a,n,r,e.getUint32(60,!0),14,3634488961),r=E3(r,i,a,n,e.getUint32(16,!0),20,3889429448),n=E3(n,r,i,a,e.getUint32(36,!0),5,568446438),a=E3(a,n,r,i,e.getUint32(56,!0),9,3275163606),i=E3(i,a,n,r,e.getUint32(12,!0),14,4107603335),r=E3(r,i,a,n,e.getUint32(32,!0),20,1163531501),n=E3(n,r,i,a,e.getUint32(52,!0),5,2850285829),a=E3(a,n,r,i,e.getUint32(8,!0),9,4243563512),i=E3(i,a,n,r,e.getUint32(28,!0),14,1735328473),r=E3(r,i,a,n,e.getUint32(48,!0),20,2368359562),n=D3(n,r,i,a,e.getUint32(20,!0),4,4294588738),a=D3(a,n,r,i,e.getUint32(32,!0),11,2272392833),i=D3(i,a,n,r,e.getUint32(44,!0),16,1839030562),r=D3(r,i,a,n,e.getUint32(56,!0),23,4259657740),n=D3(n,r,i,a,e.getUint32(4,!0),4,2763975236),a=D3(a,n,r,i,e.getUint32(16,!0),11,1272893353),i=D3(i,a,n,r,e.getUint32(28,!0),16,4139469664),r=D3(r,i,a,n,e.getUint32(40,!0),23,3200236656),n=D3(n,r,i,a,e.getUint32(52,!0),4,681279174),a=D3(a,n,r,i,e.getUint32(0,!0),11,3936430074),i=D3(i,a,n,r,e.getUint32(12,!0),16,3572445317),r=D3(r,i,a,n,e.getUint32(24,!0),23,76029189),n=D3(n,r,i,a,e.getUint32(36,!0),4,3654602809),a=D3(a,n,r,i,e.getUint32(48,!0),11,3873151461),i=D3(i,a,n,r,e.getUint32(60,!0),16,530742520),r=D3(r,i,a,n,e.getUint32(8,!0),23,3299628645),n=O3(n,r,i,a,e.getUint32(0,!0),6,4096336452),a=O3(a,n,r,i,e.getUint32(28,!0),10,1126891415),i=O3(i,a,n,r,e.getUint32(56,!0),15,2878612391),r=O3(r,i,a,n,e.getUint32(20,!0),21,4237533241),n=O3(n,r,i,a,e.getUint32(48,!0),6,1700485571),a=O3(a,n,r,i,e.getUint32(12,!0),10,2399980690),i=O3(i,a,n,r,e.getUint32(40,!0),15,4293915773),r=O3(r,i,a,n,e.getUint32(4,!0),21,2240044497),n=O3(n,r,i,a,e.getUint32(32,!0),6,1873313359),a=O3(a,n,r,i,e.getUint32(60,!0),10,4264355552),i=O3(i,a,n,r,e.getUint32(24,!0),15,2734768916),r=O3(r,i,a,n,e.getUint32(52,!0),21,1309151649),n=O3(n,r,i,a,e.getUint32(16,!0),6,4149444226),a=O3(a,n,r,i,e.getUint32(44,!0),10,3174756917),i=O3(i,a,n,r,e.getUint32(8,!0),15,718787259),r=O3(r,i,a,n,e.getUint32(36,!0),21,3951481745),t[0]=n+t[0]&4294967295,t[1]=r+t[1]&4294967295,t[2]=i+t[2]&4294967295,t[3]=a+t[3]&4294967295}reset(){this.state=Uint32Array.from(S3),this.buffer=new DataView(new ArrayBuffer(64)),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}};function w3(e,t,n,r,i,a){return t=(t+e&4294967295)+(r+a&4294967295)&4294967295,(t<>>32-i)+n&4294967295}function T3(e,t,n,r,i,a,o){return w3(t&n|~t&r,e,t,i,a,o)}function E3(e,t,n,r,i,a,o){return w3(t&r|n&~r,e,t,i,a,o)}function D3(e,t,n,r,i,a,o){return w3(t^n^r,e,t,i,a,o)}function O3(e,t,n,r,i,a,o){return w3(n^(t|~r),e,t,i,a,o)}function k3(e){return typeof e==`string`?e.length===0:e.byteLength===0}function A3(e){return typeof e==`string`?se(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}var j3=e=>({apiVersion:`2006-03-01`,base64Decoder:e?.base64Decoder??Ue,base64Encoder:e?.base64Encoder??We,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??vX,extensions:e?.extensions??[],getAwsChunkedEncodingStream:e?.getAwsChunkedEncodingStream??qe,httpAuthSchemeProvider:e?.httpAuthSchemeProvider??SX,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new Na},{schemeId:`aws.auth#sigv4a`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4a`),signer:new Pa}],logger:e?.logger??new _a,protocol:e?.protocol??oq,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.s3`,errorTypeRegistries:D2,xmlNamespace:`http://s3.amazonaws.com/doc/2006-03-01/`,version:`2006-03-01`,serviceTarget:`AmazonS3`},sdkStreamMixin:e?.sdkStreamMixin??ot,serviceId:e?.serviceId??`S3`,signerConstructor:e?.signerConstructor??lq,signingEscapePath:e?.signingEscapePath??!1,urlParser:e?.urlParser??gt,useArnRegion:e?.useArnRegion??void 0,utf8Decoder:e?.utf8Decoder??se,utf8Encoder:e?.utf8Encoder??ce}),M3=e=>{let t=$a(e),n=()=>t().then(ca),r=j3(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Za,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??qa({serviceId:r.serviceId,clientVersion:P4.version}),eventStreamSerdeProvider:e?.eventStreamSerdeProvider??y3,maxAttempts:e?.maxAttempts??3,md5:e?.md5??C3,region:e?.region??Ya(`Region is missing`),requestHandler:$e.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||Gr),sha1:e?.sha1??V4,sha256:e?.sha256??l,streamCollector:e?.streamCollector??tt,streamHasher:e?.streamHasher??x3,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},N3=e=>{let t=e.httpAuthSchemes,n=e.httpAuthSchemeProvider,r=e.credentials;return{setHttpAuthScheme(e){let n=t.findIndex(t=>t.schemeId===e.schemeId);n===-1?t.push(e):t.splice(n,1,e)},httpAuthSchemes(){return t},setHttpAuthSchemeProvider(e){n=e},httpAuthSchemeProvider(){return n},setCredentials(e){r=e},credentials(){return r}}},P3=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),F3=(e,t)=>{let n=Object.assign(lB(e),ma(e),de(e),N3(e));return t.forEach(e=>e.configure(n)),Object.assign(e,uB(n),ha(n),fe(n),P3(n))},I3=class extends ta{config;constructor(...[e]){let t=M3(e||{});super(t),this.initConfig=t,this.config=F3(qK(CX(sq(qi(ye(Oi(Yi(wK($n(wX(t))))))))),{session:[()=>this,N4]}),e?.extensions||[]),this.middlewareStack.use(xt(this.config)),this.middlewareStack.use(Ci(this.config)),this.middlewareStack.use(Ea(this.config)),this.middlewareStack.use(Mi(this.config)),this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(Te(this.config)),this.middlewareStack.use(Oe(this.config)),this.middlewareStack.use(Ne(this.config,{httpAuthSchemeParametersProvider:yX,identityProviderConfigProvider:async e=>new Jn({"aws.auth#sigv4":e.credentials,"aws.auth#sigv4a":e.credentials})})),this.middlewareStack.use(Re(this.config)),this.middlewareStack.use(aq(this.config)),this.middlewareStack.use(pK(this.config)),this.middlewareStack.use(kK(this.config)),this.middlewareStack.use(VK(this.config)),this.middlewareStack.use(KK(this.config))}destroy(){super.destroy()}},L3=`ap-southeast-2`,R3=`${window.location.protocol}//localhost:9999`,z3=`${window.location.protocol}//localhost:8443`,B3=null,V3=null,H3=null;function U3(){if(!B3){let e=n();if(!e)throw Error(`AWS credentials not configured`);B3=new mB({endpoint:R3,region:L3,credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey}}),B3.middlewareStack.add(e=>t=>(i.isInstance(t.request)&&(t.request.hostname=window.location.hostname,t.request.port=Number(window.location.port)||443,t.request.path=`/proxy/awsgw${t.request.path}`),e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return B3}function W3(){if(!V3){let e=n();if(!e)throw Error(`AWS credentials not configured`);V3=new uK({endpoint:R3,region:L3,credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey}}),V3.middlewareStack.add(e=>t=>(i.isInstance(t.request)&&(t.request.hostname=window.location.hostname,t.request.port=Number(window.location.port)||443,t.request.path=`/proxy/awsgw${t.request.path}`),e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return V3}function G3(){if(!H3){let e=n();if(!e)throw Error(`AWS credentials not configured`);H3=new I3({endpoint:z3,region:L3,credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey},forcePathStyle:!0}),H3.middlewareStack.add(e=>t=>(i.isInstance(t.request)&&t.request.path.endsWith(`/`)&&t.request.path!==`/`&&(t.request.path=t.request.path.slice(0,-1)),e(t)),{step:`build`,name:`removeTrailingSlash`}),H3.middlewareStack.add(e=>t=>(i.isInstance(t.request)&&(t.request.hostname=window.location.hostname,t.request.port=Number(window.location.port)||443,t.request.path=`/proxy/s3${t.request.path}`),e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return H3}function K3(){B3=null,V3=null,H3=null}export{wz as $,XG as A,tB as At,dz as B,Hi as Bt,UG as C,Jz as Ct,qG as D,Qz as Dt,KG as E,Zz as Et,tK as F,oB as Ft,gz as G,ut as Gt,pz as H,Ur as Ht,nK as I,Ga as It,yz as J,We as Jt,_z as K,Ye as Kt,rK as L,_a as Lt,QG as M,rB as Mt,$G as N,iB as Nt,JG as O,$z as Ot,eK as P,aB as Pt,Cz as Q,iK as R,ia as Rt,gK as S,qz as St,GG as T,Xz as Tt,mz as U,Rn as Ut,fz as V,Vi as Vt,hz as W,Qt as Wt,xz as X,ue as Xt,bz as Y,ge as Yt,Sz as Z,$K as _,Hz as _t,x4 as a,Az as at,bK as b,Gz as bt,w4 as c,Nz as ct,O4 as d,Iz as dt,Tz as et,k4 as f,Rz as ft,TX as g,Vz as gt,M4 as h,Bz as ht,G3 as i,kz as it,ZG as j,nB as jt,YG as k,eB as kt,E4 as l,Pz as lt,j4 as m,zz as mt,U3 as n,Dz as nt,S4 as o,jz as ot,A4 as p,Lz as pt,vz as q,Ke as qt,W3 as r,Oz as rt,C4 as s,Mz as st,K3 as t,Ez as tt,D4 as u,Fz as ut,xK as v,Uz as vt,WG as w,Yz as wt,mK as x,Kz as xt,vK as y,Wz as yt,bB as z,Ki as zt}; \ No newline at end of file +`),Gt={warn:console.warn},Kt=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],qt=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function Jt(e){let t=e.getUTCFullYear(),n=e.getUTCMonth(),r=e.getUTCDay(),i=e.getUTCDate(),a=e.getUTCHours(),o=e.getUTCMinutes(),s=e.getUTCSeconds(),c=i<10?`0${i}`:`${i}`,l=a<10?`0${a}`:`${a}`,u=o<10?`0${o}`:`${o}`,d=s<10?`0${s}`:`${s}`;return`${Kt[r]}, ${c} ${qt[n]} ${t} ${l}:${u}:${d} GMT`}var Yt=new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/),Xt=new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/),Zt=new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? (\d{4})$/),Qt=e=>{if(e==null)return;if(typeof e!=`string`)throw TypeError(`RFC-7231 date-times must be expressed as strings`);let t=Yt.exec(e);if(t){let[e,n,r,i,a,o,s,c]=t;return $t(Ht(sn(i)),en(r),an(n,`day`,1,31),{hours:a,minutes:o,seconds:s,fractionalMilliseconds:c})}if(t=Xt.exec(e),t){let[e,n,r,i,a,o,s,c]=t;return ree($t(tee(i),en(r),an(n,`day`,1,31),{hours:a,minutes:o,seconds:s,fractionalMilliseconds:c}))}if(t=Zt.exec(e),t){let[e,n,r,i,a,o,s,c]=t;return $t(Ht(sn(c)),en(n),an(r.trimLeft(),`day`,1,31),{hours:i,minutes:a,seconds:o,fractionalMilliseconds:s})}throw TypeError(`Invalid RFC-7231 date-time value`)},$t=(e,t,n,r)=>{let i=t-1;return nn(e,i,n),new Date(Date.UTC(e,i,n,an(r.hours,`hour`,0,23),an(r.minutes,`minute`,0,59),an(r.seconds,`seconds`,0,60),on(r.fractionalMilliseconds)))},tee=e=>{let t=new Date().getUTCFullYear(),n=Math.floor(t/100)*100+Ht(sn(e));return ne.getTime()-new Date().getTime()>nee?new Date(Date.UTC(e.getUTCFullYear()-100,e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())):e,en=e=>{let t=qt.indexOf(e);if(t<0)throw TypeError(`Invalid month: ${e}`);return t+1},tn=[31,28,31,30,31,30,31,31,30,31,30,31],nn=(e,t,n)=>{let r=tn[t];if(t===1&&rn(e)&&(r=29),n>r)throw TypeError(`Invalid day for ${qt[t]} in ${e}: ${n}`)},rn=e=>e%4==0&&(e%100!=0||e%400==0),an=(e,t,n,r)=>{let i=Ut(sn(e));if(ir)throw TypeError(`${t} must be between ${n} and ${r}, inclusive`);return i},on=e=>e==null?0:zt(`0.`+e)*1e3,sn=e=>{let t=0;for(;tt.toString(16).padStart(2,`0`)),un=()=>{if(cn)return cn();let e=new Uint8Array(16);return crypto.getRandomValues(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128,ln[e[0]]+ln[e[1]]+ln[e[2]]+ln[e[3]]+`-`+ln[e[4]]+ln[e[5]]+`-`+ln[e[6]]+ln[e[7]]+`-`+ln[e[8]]+ln[e[9]]+`-`+ln[e[10]]+ln[e[11]]+ln[e[12]]+ln[e[13]]+ln[e[14]]+ln[e[15]]},dn=function(e){return Object.assign(new String(e),{deserializeJSON(){return JSON.parse(String(e))},toString(){return String(e)},toJSON(){return String(e)}})};dn.from=e=>e&&typeof e==`object`&&(e instanceof dn||`deserializeJSON`in e)?e:typeof e==`string`||Object.getPrototypeOf(e)===String.prototype?dn(String(e)):dn(JSON.stringify(e)),dn.fromObject=dn.from;function fn(e){return(e.includes(`,`)||e.includes(`"`))&&(e=`"${e.replace(/"/g,`\\"`)}"`),e}var pn=`(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?`,mn=`(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)`,hn=`(\\d?\\d):(\\d{2}):(\\d{2})(?:\\.(\\d+))?`,gn=`(\\d?\\d)`,_n=`(\\d{4})`,vn=new RegExp(/^(\d{4})-(\d\d)-(\d\d)[tT](\d\d):(\d\d):(\d\d)(\.(\d+))?(([-+]\d\d:\d\d)|[zZ])$/),yn=RegExp(`^${pn}, ${gn} ${mn} ${_n} ${hn} GMT$`),bn=RegExp(`^${pn}, ${gn}-${mn}-(\\d\\d) ${hn} GMT$`),xn=RegExp(`^${pn} ${mn} ( [1-9]|\\d\\d) ${hn} ${_n}$`),Sn=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],Cn=e=>{if(e==null)return;let t=NaN;if(typeof e==`number`)t=e;else if(typeof e==`string`){if(!/^-?\d*\.?\d+$/.test(e))throw TypeError(`parseEpochTimestamp - numeric string invalid.`);t=Number.parseFloat(e)}else typeof e==`object`&&e.tag===1&&(t=e.value);if(isNaN(t)||Math.abs(t)===1/0)throw TypeError(`Epoch timestamps must be valid finite numbers.`);return new Date(Math.round(t*1e3))},wn=e=>{if(e==null)return;if(typeof e!=`string`)throw TypeError(`RFC3339 timestamps must be strings`);let t=vn.exec(e);if(!t)throw TypeError(`Invalid RFC3339 timestamp format ${e}`);let[,n,r,i,a,o,s,,c,l]=t;En(r,1,12),En(i,1,31),En(a,0,23),En(o,0,59),En(s,0,60);let u=new Date(Date.UTC(Number(n),Number(r)-1,Number(i),Number(a),Number(o),Number(s),Number(c)?Math.round(parseFloat(`0.${c}`)*1e3):0));if(u.setUTCFullYear(Number(n)),l.toUpperCase()!=`Z`){let[,e,t,n]=/([+-])(\d\d):(\d\d)/.exec(l)||[void 0,`+`,0,0],r=e===`-`?1:-1;u.setTime(u.getTime()+r*(Number(t)*60*60*1e3+Number(n)*60*1e3))}return u},Tn=e=>{if(e==null)return;if(typeof e!=`string`)throw TypeError(`RFC7231 timestamps must be strings.`);let t,n,r,i,a,o,s,c;if((c=yn.exec(e))?[,t,n,r,i,a,o,s]=c:(c=bn.exec(e))?([,t,n,r,i,a,o,s]=c,r=(Number(r)+1900).toString()):(c=xn.exec(e))&&([,n,t,i,a,o,s,r]=c),r&&o){let e=Date.UTC(Number(r),Sn.indexOf(n),Number(t),Number(i),Number(a),Number(o),s?Math.round(parseFloat(`0.${s}`)*1e3):0);En(t,1,31),En(i,0,23),En(a,0,59),En(o,0,60);let c=new Date(e);return c.setUTCFullYear(Number(r)),c}throw TypeError(`Invalid RFC7231 date-time value ${e}.`)};function En(e,t,n){let r=Number(e);if(rn)throw Error(`Value ${r} out of range [${t}, ${n}]`)}function Dn(e,t,n){if(n<=0||!Number.isInteger(n))throw Error(`Invalid number of delimiters (`+n+`) for splitEvery.`);let r=e.split(t);if(n===1)return r;let i=[],a=``;for(let e=0;e{let t=e.length,n=[],r=!1,i,a=0;for(let o=0;o{e=e.trim();let t=e.length;return t<2?e:(e[0]===`"`&&e[t-1]===`"`&&(e=e.slice(1,t-1)),e.replace(/\\"/g,`"`))})},kn=/^-?\d*(\.\d+)?$/,An=class e{string;type;constructor(e,t){if(this.string=e,this.type=t,!kn.test(e))throw Error(`@smithy/core/serde - NumericValue must only contain [0-9], at most one decimal point ".", and an optional negation prefix "-".`)}toString(){return this.string}static[Symbol.hasInstance](t){if(!t||typeof t!=`object`)return!1;let n=t;return e.prototype.isPrototypeOf(t)||n.type===`bigDecimal`&&kn.test(n.string)}},jn=class{serdeContext;setSerdeContext(e){this.serdeContext=e}},Mn=`modulepreload`,Nn=function(e){return`/`+e},Pn={},Fn=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=Nn(t,n),t in Pn)return;Pn[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:Mn,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},In=class extends jn{options;compositeErrorRegistry;constructor(e){super(),this.options=e,this.compositeErrorRegistry=At.for(e.defaultNamespace);for(let t of e.errorTypeRegistries??[])this.compositeErrorRegistry.copyFrom(t)}getRequestType(){return i}getResponseType(){return ge}setSerdeContext(e){this.serdeContext=e,this.serializer.setSerdeContext(e),this.deserializer.setSerdeContext(e),this.getPayloadCodec()&&this.getPayloadCodec().setSerdeContext(e)}updateServiceEndpoint(e,t){if(`url`in t){e.protocol=t.url.protocol,e.hostname=t.url.hostname,e.port=t.url.port?Number(t.url.port):void 0,e.path=t.url.pathname,e.fragment=t.url.hash||void 0,e.username=t.url.username||void 0,e.password=t.url.password||void 0,e.query||={};for(let[n,r]of t.url.searchParams.entries())e.query[n]=r;if(t.headers)for(let[n,r]of Object.entries(t.headers))e.headers[n]=r.join(`, `);return e}else{if(e.protocol=t.protocol,e.hostname=t.hostname,e.port=t.port?Number(t.port):void 0,e.path=t.path,e.query={...t.query},t.headers)for(let[n,r]of Object.entries(t.headers))e.headers[n]=r;return e}}setHostPrefix(e,t,n){if(this.serdeContext?.disableHostPrefix)return;let r=Et.of(t.input),i=St(t.traits??{});if(i.endpoint){let t=i.endpoint?.[0];if(typeof t==`string`){let i=[...r.structIterator()].filter(([,e])=>e.getMergedTraits().hostLabel);for(let[e]of i){let r=n[e];if(typeof r!=`string`)throw Error(`@smithy/core/schema - ${e} in input must be a string as hostLabel.`);t=t.replace(`{${e}}`,r)}e.hostname=t+e.hostname}}}deserializeMetadata(e){return{httpStatusCode:e.statusCode,requestId:e.headers[`x-amzn-requestid`]??e.headers[`x-amzn-request-id`]??e.headers[`x-amz-request-id`],extendedRequestId:e.headers[`x-amz-id-2`],cfId:e.headers[`x-amz-cf-id`]}}async serializeEventStream({eventStream:e,requestSchema:t,initialRequest:n}){return(await this.loadEventStreamCapability()).serializeEventStream({eventStream:e,requestSchema:t,initialRequest:n})}async deserializeEventStream({response:e,responseSchema:t,initialResponseContainer:n}){return(await this.loadEventStreamCapability()).deserializeEventStream({response:e,responseSchema:t,initialResponseContainer:n})}async loadEventStreamCapability(){let{EventStreamSerde:e}=await Fn(async()=>{let{EventStreamSerde:e}=await import(`./event-streams.js`);return{EventStreamSerde:e}},__vite__mapDeps([0,1,2]));return new e({marshaller:this.getEventStreamMarshaller(),serializer:this.serializer,deserializer:this.deserializer,serdeContext:this.serdeContext,defaultContentType:this.getDefaultContentType()})}getDefaultContentType(){throw Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`)}async deserializeHttpMessage(e,t,n,r,i){return[]}getEventStreamMarshaller(){let e=this.serdeContext;if(!e.eventStreamMarshaller)throw Error(`@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.`);return e.eventStreamMarshaller}},Ln=class extends In{async serializeRequest(e,t,n){let r=t&&typeof t==`object`?t:{},a=this.serializer,o={},s={},c=await n.endpoint(),l=Et.of(e?.input),u=[],d=[],ee=!1,te,f=new i({protocol:``,hostname:``,port:void 0,path:``,fragment:void 0,query:o,headers:s,body:void 0});if(c){this.updateServiceEndpoint(f,c),this.setHostPrefix(f,e,r);let t=St(e.traits);if(t.http){f.method=t.http[0];let[e,n]=t.http[1].split(`?`);f.path==`/`?f.path=e:f.path+=e;let r=new URLSearchParams(n??``);Object.assign(o,Object.fromEntries(r))}}for(let[e,t]of l.structIterator()){let n=t.getMergedTraits()??{},i=r[e];if(i==null&&!t.isIdempotencyToken()){if(n.httpLabel&&(f.path.includes(`{${e}+}`)||f.path.includes(`{${e}}`)))throw Error(`No value provided for input HTTP label: ${e}.`);continue}if(n.httpPayload)t.isStreaming()?t.isStructSchema()?r[e]&&(te=await this.serializeEventStream({eventStream:r[e],requestSchema:l})):te=i:(a.write(t,i),te=a.flush());else if(n.httpLabel){a.write(t,i);let n=a.flush();f.path.includes(`{${e}+}`)?f.path=f.path.replace(`{${e}+}`,n.split(`/`).map(lt).join(`/`)):f.path.includes(`{${e}}`)&&(f.path=f.path.replace(`{${e}}`,lt(n)))}else if(n.httpHeader)a.write(t,i),s[n.httpHeader.toLowerCase()]=String(a.flush());else if(typeof n.httpPrefixHeaders==`string`)for(let[e,r]of Object.entries(i)){let i=n.httpPrefixHeaders+e;a.write([t.getValueSchema(),{httpHeader:i}],r),s[i.toLowerCase()]=a.flush()}else n.httpQuery||n.httpQueryParams?this.serializeQuery(t,i,o):(ee=!0,u.push(e),d.push(t))}if(ee&&r){let[e,t]=(l.getName(!0)??`#Unknown`).split(`#`),n=l.getSchema()[6],i=[3,e,t,l.getMergedTraits(),u,d,void 0];n?i[6]=n:i.pop(),a.write(i,r),te=a.flush()}return f.headers=s,f.query=o,f.body=te,f}serializeQuery(e,t,n){let r=this.serializer,i=e.getMergedTraits();if(i.httpQueryParams){for(let[r,a]of Object.entries(t))if(!(r in n)){let t=e.getValueSchema();Object.assign(t.getMergedTraits(),{...i,httpQuery:r,httpQueryParams:void 0}),this.serializeQuery(t,a,n)}return}if(e.isListSchema()){let a=!!e.getMergedTraits().sparse,o=[];for(let n of t){r.write([e.getValueSchema(),i],n);let t=r.flush();(a||t!==void 0)&&o.push(t)}n[i.httpQuery]=o}else r.write([e,i],t),n[i.httpQuery]=r.flush()}async deserializeResponse(e,t,n){let r=this.deserializer,i=Et.of(e.output),a={};if(n.statusCode>=300){let i=await ct(n.body,t);throw i.byteLength>0&&Object.assign(a,await r.read(15,i)),await this.handleError(e,t,n,a,this.deserializeMetadata(n)),Error(`@smithy/core/protocols - HTTP Protocol error handler failed to throw.`)}for(let e in n.headers){let t=n.headers[e];delete n.headers[e],n.headers[e.toLowerCase()]=t}let o=await this.deserializeHttpMessage(i,t,n,a);if(o.length){let e=await ct(n.body,t);if(e.byteLength>0){let t=await r.read(i,e);for(let e of o)t[e]!=null&&(a[e]=t[e])}}else o.discardResponseBody&&await ct(n.body,t);return a.$metadata=this.deserializeMetadata(n),a}async deserializeHttpMessage(e,t,n,r,i){let a;a=r instanceof Set?i:r;let o=!0,s=this.deserializer,c=Et.of(e),l=[];for(let[e,r]of c.structIterator()){let i=r.getMemberTraits();if(i.httpPayload){if(o=!1,r.isStreaming())r.isStructSchema()?a[e]=await this.deserializeEventStream({response:n,responseSchema:c}):a[e]=at(n.body);else if(n.body){let i=await ct(n.body,t);i.byteLength>0&&(a[e]=await s.read(r,i))}}else if(i.httpHeader){let t=String(i.httpHeader).toLowerCase(),o=n.headers[t];if(o!=null)if(r.isListSchema()){let n=r.getValueSchema();n.getMergedTraits().httpHeader=t;let i;i=n.isTimestampSchema()&&n.getSchema()===4?Dn(o,`,`,2):On(o);let c=[];for(let e of i)c.push(await s.read(n,e.trim()));a[e]=c}else a[e]=await s.read(r,o)}else if(i.httpPrefixHeaders!==void 0){a[e]={};for(let[t,o]of Object.entries(n.headers))if(t.startsWith(i.httpPrefixHeaders)){let n=r.getValueSchema();n.getMergedTraits().httpHeader=t,a[e][t.slice(i.httpPrefixHeaders.length)]=await s.read(n,o)}}else i.httpResponseCode?a[e]=n.statusCode:l.push(e)}return l.discardResponseBody=o,l}},Rn=class extends In{async serializeRequest(e,t,n){let r=this.serializer,a={},o={},s=await n.endpoint(),c=Et.of(e?.input),l=c.getSchema(),u,d=t&&typeof t==`object`?t:{},ee=new i({protocol:``,hostname:``,port:void 0,path:`/`,fragment:void 0,query:a,headers:o,body:void 0});if(s&&(this.updateServiceEndpoint(ee,s),this.setHostPrefix(ee,e,d)),d){let e=c.getEventStreamMember();if(e){if(d[e]){let t={};for(let[n,i]of c.structIterator())n!==e&&d[n]&&(r.write(i,d[n]),t[n]=r.flush());u=await this.serializeEventStream({eventStream:d[e],requestSchema:c,initialRequest:t})}}else r.write(l,d),u=r.flush()}return ee.headers=Object.assign(ee.headers,o),ee.query=a,ee.body=u,ee.method=`POST`,ee}async deserializeResponse(e,t,n){let r=this.deserializer,i=Et.of(e.output),a={};if(n.statusCode>=300){let i=await ct(n.body,t);throw i.byteLength>0&&Object.assign(a,await r.read(15,i)),await this.handleError(e,t,n,a,this.deserializeMetadata(n)),Error(`@smithy/core/protocols - RPC Protocol error handler failed to throw.`)}for(let e in n.headers){let t=n.headers[e];delete n.headers[e],n.headers[e.toLowerCase()]=t}let o=i.getEventStreamMember();if(o)a[o]=await this.deserializeEventStream({response:n,responseSchema:i,initialResponseContainer:a});else{let e=await ct(n.body,t);e.byteLength>0&&Object.assign(a,await r.read(i,e))}return a.$metadata=this.deserializeMetadata(n),a}};function zn(e,t){if(t.timestampFormat.useTrait&&e.isTimestampSchema()&&(e.getSchema()===5||e.getSchema()===6||e.getSchema()===7))return e.getSchema();let{httpLabel:n,httpPrefixHeaders:r,httpHeader:i,httpQuery:a}=e.getMergedTraits();return(t.httpBindings?typeof r==`string`||i?6:a||n?5:void 0:void 0)??t.timestampFormat.default}var Bn=class extends jn{settings;constructor(e){super(),this.settings=e}read(e,t){let n=Et.of(e);if(n.isListSchema())return On(t).map(e=>this.read(n.getValueSchema(),e));if(n.isBlobSchema())return(this.serdeContext?.base64Decoder??He)(t);if(n.isTimestampSchema())switch(zn(n,this.settings)){case 5:return wn(t);case 6:return Tn(t);case 7:return Cn(t);default:return console.warn(`Missing timestamp format, parsing value with Date constructor:`,t),new Date(t)}if(n.isStringSchema()){let e=n.getMergedTraits().mediaType,r=t;if(e)return n.getMergedTraits().httpHeader&&(r=this.base64ToUtf8(r)),(e===`application/json`||e.endsWith(`+json`))&&(r=dn.from(r)),r}return n.isNumericSchema()?Number(t):n.isBigIntegerSchema()?BigInt(t):n.isBigDecimalSchema()?new An(t,`bigDecimal`):n.isBooleanSchema()?String(t).toLowerCase()===`true`:t}base64ToUtf8(e){return(this.serdeContext?.utf8Encoder??ce)((this.serdeContext?.base64Decoder??He)(e))}},Vn=class extends jn{codecDeserializer;stringDeserializer;constructor(e,t){super(),this.codecDeserializer=e,this.stringDeserializer=new Bn(t)}setSerdeContext(e){this.stringDeserializer.setSerdeContext(e),this.codecDeserializer.setSerdeContext(e),this.serdeContext=e}read(e,t){let n=Et.of(e),r=n.getMergedTraits(),i=this.serdeContext?.utf8Encoder??ce;if(r.httpHeader||r.httpResponseCode)return this.stringDeserializer.read(n,i(t));if(r.httpPayload){if(n.isBlobSchema()){let e=this.serdeContext?.utf8Decoder??se;return typeof t==`string`?e(t):t}else if(n.isStringSchema())return`byteLength`in t?i(t):t}return this.codecDeserializer.read(n,t)}},Hn=class extends jn{settings;stringBuffer=``;constructor(e){super(),this.settings=e}write(e,t){let n=Et.of(e);switch(typeof t){case`object`:if(t===null){this.stringBuffer=`null`;return}if(n.isTimestampSchema()){if(!(t instanceof Date))throw Error(`@smithy/core/protocols - received non-Date value ${t} when schema expected Date in ${n.getName(!0)}`);switch(zn(n,this.settings)){case 5:this.stringBuffer=t.toISOString().replace(`.000Z`,`Z`);break;case 6:this.stringBuffer=Jt(t);break;case 7:this.stringBuffer=String(t.getTime()/1e3);break;default:console.warn(`Missing timestamp format, using epoch seconds`,t),this.stringBuffer=String(t.getTime()/1e3)}return}if(n.isBlobSchema()&&`byteLength`in t){this.stringBuffer=(this.serdeContext?.base64Encoder??Ue)(t);return}if(n.isListSchema()&&Array.isArray(t)){let e=``;for(let r of t){this.write([n.getValueSchema(),n.getMergedTraits()],r);let t=this.flush(),i=n.getValueSchema().isTimestampSchema()?t:fn(t);e!==``&&(e+=`, `),e+=i}this.stringBuffer=e;return}this.stringBuffer=JSON.stringify(t,null,2);break;case`string`:let e=n.getMergedTraits().mediaType,r=t;if(e&&((e===`application/json`||e.endsWith(`+json`))&&(r=dn.from(r)),n.getMergedTraits().httpHeader)){this.stringBuffer=(this.serdeContext?.base64Encoder??Ue)(r.toString());return}this.stringBuffer=t;break;default:n.isIdempotencyToken()?this.stringBuffer=un():this.stringBuffer=String(t)}}flush(){let e=this.stringBuffer;return this.stringBuffer=``,e}},Un=class{codecSerializer;stringSerializer;buffer;constructor(e,t,n=new Hn(t)){this.codecSerializer=e,this.stringSerializer=n}setSerdeContext(e){this.codecSerializer.setSerdeContext(e),this.stringSerializer.setSerdeContext(e)}write(e,t){let n=Et.of(e),r=n.getMergedTraits();if(r.httpHeader||r.httpLabel||r.httpQuery){this.stringSerializer.write(n,t),this.buffer=this.stringSerializer.flush();return}return this.codecSerializer.write(n,t)}flush(){if(this.buffer!==void 0){let e=this.buffer;return this.buffer=void 0,e}return this.codecSerializer.flush()}};function Wn(e,t,n){e.__smithy_context?e.__smithy_context.features||(e.__smithy_context.features={}):e.__smithy_context={features:{}},e.__smithy_context.features[t]=n}var Gn=class{authSchemes=new Map;constructor(e){for(let[t,n]of Object.entries(e))n!==void 0&&this.authSchemes.set(t,n)}getIdentityProvider(e){return this.authSchemes.get(e)}},Kn=(e=>function(t){return qn(t)&&t.expiration.getTime()-Date.now()e.expiration!==void 0,Jn=(e,t,n)=>{if(e===void 0)return;let r=typeof e==`function`?e:async()=>Promise.resolve(e),i,a,o,s=!1,c=async e=>{a||=r(e);try{i=await a,o=!0,s=!1}finally{a=void 0}return i};return t===void 0?async e=>((!o||e?.forceRefresh)&&(i=await c(e)),i):async e=>((!o||e?.forceRefresh)&&(i=await c(e)),s?i:n(i)?(t(i)&&await c(e),i):(s=!0,i))};function Yn(e){return e===void 0?!0:typeof e==`string`&&e.length<=50}function Xn(e){let t=Re(e.userAgentAppId??void 0),{customUserAgent:n}=e;return Object.assign(e,{customUserAgent:typeof n==`string`?[[n]]:n,userAgentAppId:async()=>{let n=await t();if(!Yn(n)){let t=e.logger?.constructor?.name===`NoOpLogger`||!e.logger?console:e.logger;typeof n==`string`?n.length>50&&t?.warn(`The provided userAgentAppId exceeds the maximum length of 50 characters.`):t?.warn(`userAgentAppId must be a string or undefined.`)}return n}})}var Zn=class{capacity;data=new Map;parameters=[];constructor({size:e,params:t}){this.capacity=e??50,t&&(this.parameters=t)}get(e,t){let n=this.hash(e);if(n===!1)return t();if(!this.data.has(n)){if(this.data.size>this.capacity+10){let e=this.data.keys(),t=0;for(;;){let{value:n,done:r}=e.next();if(this.data.delete(n),r||++t>10)break}}this.data.set(n,t())}return this.data.get(n)}size(){return this.data.size}hash(e){let t=``,{parameters:n}=this;if(n.length===0)return!1;for(let r of n){let n=String(e[r]??``);if(n.includes(`|;`))return!1;t+=n+`|;`}return t}},Qn=RegExp(`^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$`),$n=e=>Qn.test(e)||e.startsWith(`[`)&&e.endsWith(`]`),er=RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`),tr=(e,t=!1)=>{if(!t)return er.test(e);let n=e.split(`.`);for(let e of n)if(!tr(e))return!1;return!0},nr={},rr=`endpoints`;function ir(e){return typeof e!=`object`||!e?e:`ref`in e?`$${ir(e.ref)}`:`fn`in e?`${e.fn}(${(e.argv||[]).map(ir).join(`, `)})`:JSON.stringify(e,null,2)}var ar=class extends Error{constructor(e){super(e),this.name=`EndpointError`}},or=(e,t)=>e===t,sr=e=>{let t=e.split(`.`),n=[];for(let r of t){let t=r.indexOf(`[`);if(t!==-1){if(r.indexOf(`]`)!==r.length-1)throw new ar(`Path: '${e}' does not end with ']'`);let i=r.slice(t+1,-1);if(Number.isNaN(parseInt(i)))throw new ar(`Invalid array index: '${i}' in path: '${e}'`);t!==0&&n.push(r.slice(0,t)),n.push(i)}else n.push(r)}return n},cr=(e,t)=>sr(t).reduce((n,r)=>{if(typeof n!=`object`)throw new ar(`Index '${r}' in '${t}' not found in '${JSON.stringify(e)}'`);return Array.isArray(n)?n[parseInt(r)]:n[r]},e),lr=e=>e!=null,ur=e=>!e,dr={[pe.HTTP]:80,[pe.HTTPS]:443},fr={booleanEquals:or,getAttr:cr,isSet:lr,isValidHostLabel:tr,not:ur,parseURL:e=>{let t=(()=>{try{if(e instanceof URL)return e;if(typeof e==`object`&&`hostname`in e){let{hostname:t,port:n,protocol:r=``,path:i=``,query:a={}}=e,o=new URL(`${r}//${t}${n?`:${n}`:``}${i}`);return o.search=Object.entries(a).map(([e,t])=>`${e}=${t}`).join(`&`),o}return new URL(e)}catch{return null}})();if(!t)return console.error(`Unable to parse ${JSON.stringify(e)} as a whatwg URL.`),null;let n=t.href,{host:r,hostname:i,pathname:a,protocol:o,search:s}=t;if(s)return null;let c=o.slice(0,-1);if(!Object.values(pe).includes(c))return null;let l=$n(i);return{scheme:c,authority:`${r}${n.includes(`${r}:${dr[c]}`)||typeof e==`string`&&e.includes(`${r}:${dr[c]}`)?`:${dr[c]}`:``}`,path:a,normalizedPath:a.endsWith(`/`)?a:`${a}/`,isIp:l}},stringEquals:(e,t)=>e===t,substring:(e,t,n,r)=>t>=n||e.lengthencodeURIComponent(e).replace(/[!*'()]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)},pr=(e,t)=>{let n=[],r={...t.endpointParams,...t.referenceRecord},i=0;for(;i({...t.endpointParams,...t.referenceRecord})[e],hr=(e,t,n)=>{if(typeof e==`string`)return pr(e,n);if(e.fn)return _r.callFunction(e,n);if(e.ref)return mr(e,n);throw new ar(`'${t}': ${String(e)} is not a string, function or reference.`)},gr=({fn:e,argv:t},n)=>{let r=t.map(e=>[`boolean`,`number`].includes(typeof e)?e:_r.evaluateExpression(e,`arg`,n)),i=e.split(`.`);return i[0]in nr&&i[1]!=null?nr[i[0]][i[1]](...r):fr[e](...r)},_r={evaluateExpression:hr,callFunction:gr},vr=({assign:e,...t},n)=>{if(e&&e in n.referenceRecord)throw new ar(`'${e}' is already defined in Reference Record.`);let r=gr(t,n);return n.logger?.debug?.(`${rr} evaluateCondition: ${ir(t)} = ${ir(r)}`),{result:r===``?!0:!!r,...e!=null&&{toAssign:{name:e,value:r}}}},yr=(e=[],t)=>{let n={};for(let r of e){let{result:e,toAssign:i}=vr(r,{...t,referenceRecord:{...t.referenceRecord,...n}});if(!e)return{result:e};i&&(n[i.name]=i.value,t.logger?.debug?.(`${rr} assign: ${i.name} := ${ir(i.value)}`))}return{result:!0,referenceRecord:n}},br=(e,t)=>Object.entries(e).reduce((e,[n,r])=>({...e,[n]:r.map(e=>{let r=hr(e,`Header value entry`,t);if(typeof r!=`string`)throw new ar(`Header '${n}' value '${r}' is not a string`);return r})}),{}),xr=(e,t)=>Object.entries(e).reduce((e,[n,r])=>({...e,[n]:Cr.getEndpointProperty(r,t)}),{}),Sr=(e,t)=>{if(Array.isArray(e))return e.map(e=>Sr(e,t));switch(typeof e){case`string`:return pr(e,t);case`object`:if(e===null)throw new ar(`Unexpected endpoint property: ${e}`);return Cr.getEndpointProperties(e,t);case`boolean`:return e;default:throw new ar(`Unexpected endpoint property type: ${typeof e}`)}},Cr={getEndpointProperty:Sr,getEndpointProperties:xr},wr=(e,t)=>{let n=hr(e,`Endpoint URL`,t);if(typeof n==`string`)try{return new URL(n)}catch(e){throw console.error(`Failed to construct URL with ${n}`,e),e}throw new ar(`Endpoint URL must be a string, got ${typeof n}`)},Tr=(e,t)=>{let{conditions:n,endpoint:r}=e,{result:i,referenceRecord:a}=yr(n,t);if(!i)return;let o={...t,referenceRecord:{...t.referenceRecord,...a}},{url:s,properties:c,headers:l}=r;return t.logger?.debug?.(`${rr} Resolving endpoint from template: ${ir(r)}`),{...l!=null&&{headers:br(l,o)},...c!=null&&{properties:xr(c,o)},url:wr(s,o)}},Er=(e,t)=>{let{conditions:n,error:r}=e,{result:i,referenceRecord:a}=yr(n,t);if(i)throw new ar(hr(r,`Error`,{...t,referenceRecord:{...t.referenceRecord,...a}}))},Dr=(e,t)=>{for(let n of e)if(n.type===`endpoint`){let e=Tr(n,t);if(e)return e}else if(n.type===`error`)Er(n,t);else if(n.type===`tree`){let e=Or.evaluateTreeRule(n,t);if(e)return e}else throw new ar(`Unknown endpoint rule: ${n}`);throw new ar(`Rules evaluation failed`)},Or={evaluateRules:Dr,evaluateTreeRule:(e,t)=>{let{conditions:n,rules:r}=e,{result:i,referenceRecord:a}=yr(n,t);if(i)return Or.evaluateRules(r,{...t,referenceRecord:{...t.referenceRecord,...a}})}},kr=(e,t)=>{let{endpointParams:n,logger:r}=t,{parameters:i,rules:a}=e;t.logger?.debug?.(`${rr} Initial EndpointParams: ${ir(n)}`);let o=Object.entries(i).filter(([,e])=>e.default!=null).map(([e,t])=>[e,t.default]);if(o.length>0)for(let[e,t]of o)n[e]=n[e]??t;let s=Object.entries(i).filter(([,e])=>e.required).map(([e])=>e);for(let e of s)if(n[e]==null)throw new ar(`Missing required parameter: '${e}'`);let c=Dr(a,{endpointParams:n,logger:r,referenceRecord:{}});return t.logger?.debug?.(`${rr} Resolved endpoint: ${ir(c)}`),c},Ar=(e,t=!1)=>{if(t){for(let t of e.split(`.`))if(!Ar(t))return!1;return!0}return!(!tr(e)||e.length<3||e.length>63||e!==e.toLowerCase()||$n(e))},jr=`:`,Mr=`/`,Nr=e=>{let t=e.split(jr);if(t.length<6)return null;let[n,r,i,a,o,...s]=t;return n!==`arn`||r===``||i===``||s.join(jr)===``?null:{partition:r,service:i,region:a,accountId:o,resourceId:s.map(e=>e.split(Mr)).flat()}},Pr={partitions:[{id:`aws`,outputs:{dnsSuffix:`amazonaws.com`,dualStackDnsSuffix:`api.aws`,implicitGlobalRegion:`us-east-1`,name:`aws`,supportsDualStack:!0,supportsFIPS:!0},regionRegex:`^(us|eu|ap|sa|ca|me|af|il|mx)\\-\\w+\\-\\d+$`,regions:{"af-south-1":{description:`Africa (Cape Town)`},"ap-east-1":{description:`Asia Pacific (Hong Kong)`},"ap-east-2":{description:`Asia Pacific (Taipei)`},"ap-northeast-1":{description:`Asia Pacific (Tokyo)`},"ap-northeast-2":{description:`Asia Pacific (Seoul)`},"ap-northeast-3":{description:`Asia Pacific (Osaka)`},"ap-south-1":{description:`Asia Pacific (Mumbai)`},"ap-south-2":{description:`Asia Pacific (Hyderabad)`},"ap-southeast-1":{description:`Asia Pacific (Singapore)`},"ap-southeast-2":{description:`Asia Pacific (Sydney)`},"ap-southeast-3":{description:`Asia Pacific (Jakarta)`},"ap-southeast-4":{description:`Asia Pacific (Melbourne)`},"ap-southeast-5":{description:`Asia Pacific (Malaysia)`},"ap-southeast-6":{description:`Asia Pacific (New Zealand)`},"ap-southeast-7":{description:`Asia Pacific (Thailand)`},"aws-global":{description:`aws global region`},"ca-central-1":{description:`Canada (Central)`},"ca-west-1":{description:`Canada West (Calgary)`},"eu-central-1":{description:`Europe (Frankfurt)`},"eu-central-2":{description:`Europe (Zurich)`},"eu-north-1":{description:`Europe (Stockholm)`},"eu-south-1":{description:`Europe (Milan)`},"eu-south-2":{description:`Europe (Spain)`},"eu-west-1":{description:`Europe (Ireland)`},"eu-west-2":{description:`Europe (London)`},"eu-west-3":{description:`Europe (Paris)`},"il-central-1":{description:`Israel (Tel Aviv)`},"me-central-1":{description:`Middle East (UAE)`},"me-south-1":{description:`Middle East (Bahrain)`},"mx-central-1":{description:`Mexico (Central)`},"sa-east-1":{description:`South America (Sao Paulo)`},"us-east-1":{description:`US East (N. Virginia)`},"us-east-2":{description:`US East (Ohio)`},"us-west-1":{description:`US West (N. California)`},"us-west-2":{description:`US West (Oregon)`}}},{id:`aws-cn`,outputs:{dnsSuffix:`amazonaws.com.cn`,dualStackDnsSuffix:`api.amazonwebservices.com.cn`,implicitGlobalRegion:`cn-northwest-1`,name:`aws-cn`,supportsDualStack:!0,supportsFIPS:!0},regionRegex:`^cn\\-\\w+\\-\\d+$`,regions:{"aws-cn-global":{description:`aws-cn global region`},"cn-north-1":{description:`China (Beijing)`},"cn-northwest-1":{description:`China (Ningxia)`}}},{id:`aws-eusc`,outputs:{dnsSuffix:`amazonaws.eu`,dualStackDnsSuffix:`api.amazonwebservices.eu`,implicitGlobalRegion:`eusc-de-east-1`,name:`aws-eusc`,supportsDualStack:!0,supportsFIPS:!0},regionRegex:`^eusc\\-(de)\\-\\w+\\-\\d+$`,regions:{"eusc-de-east-1":{description:`AWS European Sovereign Cloud (Germany)`}}},{id:`aws-iso`,outputs:{dnsSuffix:`c2s.ic.gov`,dualStackDnsSuffix:`api.aws.ic.gov`,implicitGlobalRegion:`us-iso-east-1`,name:`aws-iso`,supportsDualStack:!0,supportsFIPS:!0},regionRegex:`^us\\-iso\\-\\w+\\-\\d+$`,regions:{"aws-iso-global":{description:`aws-iso global region`},"us-iso-east-1":{description:`US ISO East`},"us-iso-west-1":{description:`US ISO WEST`}}},{id:`aws-iso-b`,outputs:{dnsSuffix:`sc2s.sgov.gov`,dualStackDnsSuffix:`api.aws.scloud`,implicitGlobalRegion:`us-isob-east-1`,name:`aws-iso-b`,supportsDualStack:!0,supportsFIPS:!0},regionRegex:`^us\\-isob\\-\\w+\\-\\d+$`,regions:{"aws-iso-b-global":{description:`aws-iso-b global region`},"us-isob-east-1":{description:`US ISOB East (Ohio)`},"us-isob-west-1":{description:`US ISOB West`}}},{id:`aws-iso-e`,outputs:{dnsSuffix:`cloud.adc-e.uk`,dualStackDnsSuffix:`api.cloud-aws.adc-e.uk`,implicitGlobalRegion:`eu-isoe-west-1`,name:`aws-iso-e`,supportsDualStack:!0,supportsFIPS:!0},regionRegex:`^eu\\-isoe\\-\\w+\\-\\d+$`,regions:{"aws-iso-e-global":{description:`aws-iso-e global region`},"eu-isoe-west-1":{description:`EU ISOE West`}}},{id:`aws-iso-f`,outputs:{dnsSuffix:`csp.hci.ic.gov`,dualStackDnsSuffix:`api.aws.hci.ic.gov`,implicitGlobalRegion:`us-isof-south-1`,name:`aws-iso-f`,supportsDualStack:!0,supportsFIPS:!0},regionRegex:`^us\\-isof\\-\\w+\\-\\d+$`,regions:{"aws-iso-f-global":{description:`aws-iso-f global region`},"us-isof-east-1":{description:`US ISOF EAST`},"us-isof-south-1":{description:`US ISOF SOUTH`}}},{id:`aws-us-gov`,outputs:{dnsSuffix:`amazonaws.com`,dualStackDnsSuffix:`api.aws`,implicitGlobalRegion:`us-gov-west-1`,name:`aws-us-gov`,supportsDualStack:!0,supportsFIPS:!0},regionRegex:`^us\\-gov\\-\\w+\\-\\d+$`,regions:{"aws-us-gov-global":{description:`aws-us-gov global region`},"us-gov-east-1":{description:`AWS GovCloud (US-East)`},"us-gov-west-1":{description:`AWS GovCloud (US-West)`}}}],version:`1.1`},Fr=``,Ir=e=>{let{partitions:t}=Pr;for(let n of t){let{regions:t,outputs:r}=n;for(let[n,i]of Object.entries(t))if(n===e)return{...r,...i}}for(let n of t){let{regionRegex:t,outputs:r}=n;if(new RegExp(t).test(e))return{...r}}let n=t.find(e=>e.id===`aws`);if(!n)throw Error(`Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist.`);return{...n.outputs}},Lr=()=>Fr,Rr={isVirtualHostableS3Bucket:Ar,parseArn:Nr,partition:Ir};nr.aws=Rr;function zr(e,t,n){return e.$source||={},e.$source[t]=n,e}function Br(e,t,n){e.__aws_sdk_context?e.__aws_sdk_context.features||(e.__aws_sdk_context.features={}):e.__aws_sdk_context={features:{}},e.__aws_sdk_context.features[t]=n}var Vr;(function(e){e.STANDARD=`standard`,e.ADAPTIVE=`adaptive`})(Vr||={});var Hr=Vr.STANDARD,iee=[`BandwidthLimitExceeded`,`EC2ThrottledException`,`LimitExceededException`,`PriorRequestNotComplete`,`ProvisionedThroughputExceededException`,`RequestLimitExceeded`,`RequestThrottled`,`RequestThrottledException`,`SlowDown`,`ThrottledException`,`Throttling`,`ThrottlingException`,`TooManyRequestsException`,`TransactionInProgressException`],aee=[`TimeoutError`,`RequestTimeout`,`RequestTimeoutException`],oee=[500,502,503,504],see=[`ECONNRESET`,`ECONNREFUSED`,`EPIPE`,`ETIMEDOUT`],cee=[`EHOSTUNREACH`,`ENETUNREACH`,`ENOTFOUND`],lee=e=>e?.$retryable!==void 0,uee=e=>e.$metadata?.clockSkewCorrected,dee=e=>{let t=new Set([`Failed to fetch`,`NetworkError when attempting to fetch resource`,`The Internet connection appears to be offline`,`Load failed`,`Network request failed`]);return e&&e instanceof TypeError?t.has(e.message):!1},Ur=e=>e.$metadata?.httpStatusCode===429||iee.includes(e.name)||e.$retryable?.throttling==1,Wr=(e,t=0)=>lee(e)||uee(e)||aee.includes(e.name)||see.includes(e?.code||``)||cee.includes(e?.code||``)||oee.includes(e.$metadata?.httpStatusCode||0)||dee(e)||e.cause!==void 0&&t<=10&&Wr(e.cause,t+1),fee=e=>{if(e.$metadata?.httpStatusCode!==void 0){let t=e.$metadata.httpStatusCode;return 500<=t&&t<=599&&!Wr(e)}return!1},pee=class e{static setTimeoutFn=setTimeout;beta;minCapacity;minFillRate;scaleConstant;smooth;enabled=!1;availableTokens=0;lastMaxRate=0;measuredTxRate=0;requestCount=0;fillRate;lastThrottleTime;lastTimestamp=0;lastTxRateBucket;maxCapacity;timeWindow=0;constructor(e){this.beta=e?.beta??.7,this.minCapacity=e?.minCapacity??1,this.minFillRate=e?.minFillRate??.5,this.scaleConstant=e?.scaleConstant??.4,this.smooth=e?.smooth??.8,this.lastThrottleTime=this.getCurrentTimeInSeconds(),this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds()),this.fillRate=this.minFillRate,this.maxCapacity=this.minCapacity}async getSendToken(){return this.acquireTokenBucket(1)}updateClientSendingRate(e){let t;this.updateMeasuredRate();let n=e;if(n?.errorType===`THROTTLING`||Ur(n?.error??e)){let e=this.enabled?Math.min(this.measuredTxRate,this.fillRate):this.measuredTxRate;this.lastMaxRate=e,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),t=this.cubicThrottle(e),this.enableTokenBucket()}else this.calculateTimeWindow(),t=this.cubicSuccess(this.getCurrentTimeInSeconds());let r=Math.min(t,2*this.measuredTxRate);this.updateTokenBucketRate(r)}getCurrentTimeInSeconds(){return Date.now()/1e3}async acquireTokenBucket(t){if(this.enabled){if(this.refillTokenBucket(),t>this.availableTokens){let n=(t-this.availableTokens)/this.fillRate*1e3;await new Promise(t=>e.setTimeoutFn(t,n))}this.availableTokens-=t}}refillTokenBucket(){let e=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=e;return}let t=(e-this.lastTimestamp)*this.fillRate;this.availableTokens=Math.min(this.maxCapacity,this.availableTokens+t),this.lastTimestamp=e}calculateTimeWindow(){this.timeWindow=this.getPrecise((this.lastMaxRate*(1-this.beta)/this.scaleConstant)**(1/3))}cubicThrottle(e){return this.getPrecise(e*this.beta)}cubicSuccess(e){return this.getPrecise(this.scaleConstant*(e-this.lastThrottleTime-this.timeWindow)**3+this.lastMaxRate)}enableTokenBucket(){this.enabled=!0}updateTokenBucketRate(e){this.refillTokenBucket(),this.fillRate=Math.max(e,this.minFillRate),this.maxCapacity=Math.max(e,this.minCapacity),this.availableTokens=Math.min(this.availableTokens,this.maxCapacity)}updateMeasuredRate(){let e=this.getCurrentTimeInSeconds(),t=Math.floor(e*2)/2;if(this.requestCount++,t>this.lastTxRateBucket){let e=this.requestCount/(t-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(e*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=t}}getPrecise(e){return parseFloat(e.toFixed(8))}},Gr=20*1e3,Kr=`amz-sdk-invocation-id`,qr=`amz-sdk-request`,Jr=class e{static v2026=typeof process<`u`&&{}?.SMITHY_NEW_RETRIES_2026===`true`;static delay(){return e.v2026?50:100}static throttlingDelay(){return e.v2026?1e3:500}static cost(){return e.v2026?14:5}static throttlingCost(){return e.v2026?5:10}static modifiedCostType(){return e.v2026?`THROTTLING`:`TRANSIENT`}},Yr=class{x=Jr.delay();computeNextBackoffDelay(e){let t=Math.random()*Math.min(this.x*2**e,Gr);return Math.floor(t)}setDelayBase(e){this.x=e}},Xr=class{delay;count;cost;longPoll;constructor(e,t,n,r){this.delay=e,this.count=t,this.cost=n,this.longPoll=r}getRetryCount(){return this.count}getRetryDelay(){return Math.min(Gr,this.delay)}getRetryCost(){return this.cost}isLongPoll(){return this.longPoll}},Zr=class{mode=Vr.STANDARD;capacity=500;retryBackoffStrategy;maxAttemptsProvider;baseDelay;constructor(e){typeof e==`number`?this.maxAttemptsProvider=async()=>e:typeof e==`function`?this.maxAttemptsProvider=e:e&&typeof e==`object`&&(this.maxAttemptsProvider=async()=>e.maxAttempts,this.baseDelay=e.baseDelay,this.retryBackoffStrategy=e.backoff),this.maxAttemptsProvider??=async()=>3,this.baseDelay??=Jr.delay(),this.retryBackoffStrategy??=new Yr}async acquireInitialRetryToken(e){return new Xr(Jr.delay(),0,void 0,Jr.v2026&&e.includes(`:longpoll`))}async refreshRetryTokenForRetry(e,t){let n=await this.getMaxAttempts(),r=this.shouldRetry(e,t,n);if(r||e.isLongPoll?.()){let n=t.errorType;this.retryBackoffStrategy.setDelayBase(n===`THROTTLING`?Jr.throttlingDelay():this.baseDelay);let i=this.retryBackoffStrategy.computeNextBackoffDelay(e.getRetryCount()),a=i;if(t.retryAfterHint instanceof Date&&(a=Math.max(i,Math.min(t.retryAfterHint.getTime()-Date.now(),i+5e3))),r){let t=this.getCapacityCost(n);return this.capacity-=t,new Xr(a,e.getRetryCount()+1,t,e.isLongPoll?.()??!1)}else throw Object.assign(Error(`No retry token available`),{$backoff:Jr.v2026?a:0})}throw Error(`No retry token available`)}recordSuccess(e){this.capacity=Math.min(500,this.capacity+(e.getRetryCost()??1))}getCapacity(){return this.capacity}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch{return console.warn(`Max attempts provider could not resolve. Using default of 3`),3}}shouldRetry(e,t,n){return e.getRetryCount()+1=this.getCapacityCost(t.errorType)&&this.isRetryableError(t.errorType)}getCapacityCost(e){return e===Jr.modifiedCostType()?Jr.throttlingCost():Jr.cost()}isRetryableError(e){return e===`THROTTLING`||e===`TRANSIENT`}async maxAttempts(){return this.maxAttemptsProvider()}},Qr=class{mode=Vr.ADAPTIVE;rateLimiter;standardRetryStrategy;constructor(e,t){let{rateLimiter:n}=t??{};this.rateLimiter=n??new pee,this.standardRetryStrategy=t?new Zr({maxAttempts:typeof e==`number`?e:3,...t}):new Zr(e)}async acquireInitialRetryToken(e){return await this.rateLimiter.getSendToken(),this.standardRetryStrategy.acquireInitialRetryToken(e)}async refreshRetryTokenForRetry(e,t){return this.rateLimiter.updateClientSendingRate(t),this.standardRetryStrategy.refreshRetryTokenForRetry(e,t)}recordSuccess(e){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(e)}async maxAttemptsProvider(){return this.standardRetryStrategy.maxAttempts()}},$r=/\d{12}\.ddb/;async function ei(e,t,n){if(n.request?.headers?.[`smithy-protocol`]===`rpc-v2-cbor`&&Br(e,`PROTOCOL_RPC_V2_CBOR`,`M`),typeof t.retryStrategy==`function`){let n=await t.retryStrategy();if(typeof n.mode==`string`)switch(n.mode){case Vr.ADAPTIVE:Br(e,`RETRY_MODE_ADAPTIVE`,`F`);break;case Vr.STANDARD:Br(e,`RETRY_MODE_STANDARD`,`E`);break}}if(typeof t.accountIdEndpointMode==`function`){let n=e.endpointV2;switch(String(n?.url?.hostname).match($r)&&Br(e,`ACCOUNT_ID_ENDPOINT`,`O`),await t.accountIdEndpointMode?.()){case`disabled`:Br(e,`ACCOUNT_ID_MODE_DISABLED`,`Q`);break;case`preferred`:Br(e,`ACCOUNT_ID_MODE_PREFERRED`,`P`);break;case`required`:Br(e,`ACCOUNT_ID_MODE_REQUIRED`,`R`);break}}let r=e.__smithy_context?.selectedHttpAuthScheme?.identity;if(r?.$source){let t=r;t.accountId&&Br(e,`RESOLVED_ACCOUNT_ID`,`T`);for(let[n,r]of Object.entries(t.$source??{}))Br(e,n,r)}}var ti=`user-agent`,ni=`x-amz-user-agent`,ri=/[^!$%&'*+\-.^_`|~\w]/g,ii=/[^!$%&'*+\-.^_`|~\w#]/g,ai=1024;function oi(e){let t=``;for(let n in e){let r=e[n];if(t.length+r.length+1<=ai){t.length?t+=`,`+r:t+=r;continue}break}return t}var si=e=>(t,n)=>async r=>{let{request:a}=r;if(!i.isInstance(a))return t(r);let{headers:o}=a,s=n?.userAgent?.map(ci)||[],c=(await e.defaultUserAgentProvider()).map(ci);await ei(n,e,r);let l=n;c.push(`m/${oi(Object.assign({},n.__smithy_context?.features,l.__aws_sdk_context?.features))}`);let u=e?.customUserAgent?.map(ci)||[],d=await e.userAgentAppId();d&&c.push(ci([`app`,`${d}`]));let ee=Lr(),te=(ee?[ee]:[]).concat([...c,...s,...u]).join(` `),f=[...c.filter(e=>e.startsWith(`aws-sdk-`)),...u].join(` `);return e.runtime===`browser`?o[ni]=te:(f&&(o[ni]=o[`x-amz-user-agent`]?`${o[ti]} ${f}`:f),o[ti]=te),t({...r,request:a})},ci=e=>{let t=e[0].split(`/`).map(e=>e.replace(ri,`-`)).join(`/`),n=e[1]?.replace(ii,`-`),r=t.indexOf(`/`),i=t.substring(0,r),a=t.substring(r+1);return i===`api`&&(a=a.toLowerCase()),[i,a,n].filter(e=>e&&e.length>0).reduce((e,t,n)=>{switch(n){case 0:return t;case 1:return`${e}/${t}`;default:return`${e}#${t}`}},``)},li={name:`getUserAgentMiddleware`,step:`build`,priority:`low`,tags:[`SET_USER_AGENT`,`USER_AGENT`],override:!0},ui=e=>({applyToStack:t=>{t.add(si(e),li)}}),di=new Set,fi=(e,t=tr)=>{if(!di.has(e)&&!t(e))if(e===`*`)console.warn(`@smithy/config-resolver WARN - Please use the caller region instead of "*". See "sigv4a" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.`);else throw Error(`Region not accepted: region="${e}" is not a valid hostname component.`);else di.add(e)},pi=e=>typeof e==`string`&&(e.startsWith(`fips-`)||e.endsWith(`-fips`)),mi=e=>pi(e)?[`fips-aws-global`,`aws-fips`].includes(e)?`us-east-1`:e.replace(/fips-(dkr-|prod-)?|-fips/,``):e,hi=e=>{let{region:t,useFipsEndpoint:n}=e;if(!t)throw Error(`Region is missing`);return Object.assign(e,{region:async()=>{let e=mi(typeof t==`function`?await t():t);return fi(e),e},useFipsEndpoint:async()=>pi(typeof t==`string`?t:await t())?!0:typeof n==`function`?n():Promise.resolve(!!n)})},gi=`content-length`;function _i(e){return t=>async n=>{let r=n.request;if(i.isInstance(r)){let{body:t,headers:n}=r;if(t&&Object.keys(n).map(e=>e.toLowerCase()).indexOf(gi)===-1)try{let n=e(t);r.headers={...r.headers,[gi]:String(n)}}catch{}}return t({...n,request:r})}}var vi={step:`build`,tags:[`SET_CONTENT_LENGTH`,`CONTENT_LENGTH`],name:`contentLengthMiddleware`,override:!0},yi=e=>({applyToStack:t=>{t.add(_i(e.bodyLengthChecker),vi)}}),bi=async e=>{let t=e?.Bucket||``;if(typeof e.Bucket==`string`&&(e.Bucket=t.replace(/#/g,`%23`).replace(/\?/g,`%3F`)),Ti(t)){if(e.ForcePathStyle===!0)throw Error(`Path-style addressing cannot be used with ARN buckets`)}else (!wi(t)||t.indexOf(`.`)!==-1&&!String(e.Endpoint).startsWith(`http:`)||t.toLowerCase()!==t||t.length<3)&&(e.ForcePathStyle=!0);return e.DisableMultiRegionAccessPoints&&(e.disableMultiRegionAccessPoints=!0,e.DisableMRAP=!0),e},xi=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/,Si=/(\d+\.){3}\d+/,Ci=/\.\./,wi=e=>xi.test(e)&&!Si.test(e)&&!Ci.test(e),Ti=e=>{let[t,n,r,,,i]=e.split(`:`),a=t===`arn`&&e.split(`:`).length>=6,o=!!(a&&n&&r&&i);if(a&&!o)throw Error(`Invalid ARN: ${e} was an invalid ARN.`);return o},Ei=(e,t,n,r=!1)=>{let i=async()=>{let i;return i=r?n.clientContextParams?.[e]??n[e]??n[t]:n[e]??n[t],typeof i==`function`?i():i};return e===`credentialScope`||t===`CredentialScope`?async()=>{let e=typeof n.credentials==`function`?await n.credentials():n.credentials;return e?.credentialScope??e?.CredentialScope}:e===`accountId`||t===`AccountId`?async()=>{let e=typeof n.credentials==`function`?await n.credentials():n.credentials;return e?.accountId??e?.AccountId}:e===`endpoint`||t===`endpoint`?async()=>{if(n.isCustomEndpoint===!1)return;let e=await i();if(e&&typeof e==`object`){if(`url`in e)return e.url.href;if(`hostname`in e){let{protocol:t,hostname:n,port:r,path:i}=e;return`${t}//${n}${r?`:`+r:``}${i}`}}return e}:i},Di=async e=>void 0,Oi=e=>{if(typeof e==`object`){if(`url`in e){let t=ht(e.url);if(e.headers){t.headers={};for(let[n,r]of Object.entries(e.headers))t.headers[n.toLowerCase()]=r.join(`, `)}return t}return e}return ht(e)},ki=async(e,t,n,r)=>{if(!n.isCustomEndpoint){let e;e=n.serviceConfiguredEndpoint?await n.serviceConfiguredEndpoint():await Di(n.serviceId),e&&(n.endpoint=()=>Promise.resolve(Oi(e)),n.isCustomEndpoint=!0)}let i=await Ai(e,t,n);if(typeof n.endpointProvider!=`function`)throw Error(`config.endpointProvider is not set.`);let a=n.endpointProvider(i,r);if(n.isCustomEndpoint&&n.endpoint){let e=await n.endpoint();if(e?.headers){a.headers??={};for(let[t,n]of Object.entries(e.headers))a.headers[t]=Array.isArray(n)?n:[n]}}return a},Ai=async(e,t,n)=>{let r={},i=t?.getEndpointParameterInstructions?.()||{};for(let[t,a]of Object.entries(i))switch(a.type){case`staticContextParams`:r[t]=a.value;break;case`contextParams`:r[t]=e[a.name];break;case`clientContextParams`:case`builtInParams`:r[t]=await Ei(a.name,t,n,a.type!==`builtInParams`)();break;case`operationContextParams`:r[t]=a.get(e);break;default:throw Error(`Unrecognized endpoint parameter instruction: `+JSON.stringify(a))}return Object.keys(i).length===0&&Object.assign(r,n),String(n.serviceId).toLowerCase()===`s3`&&await bi(r),r},ji=({config:e,instructions:t})=>(n,r)=>async i=>{e.isCustomEndpoint&&Wn(r,`ENDPOINT_OVERRIDE`,`N`);let a=await ki(i.input,{getEndpointParameterInstructions(){return t}},{...e},r);r.endpointV2=a,r.authSchemes=a.properties?.authSchemes;let o=r.authSchemes?.[0];if(o){r.signing_region=o.signingRegion,r.signing_service=o.signingName;let e=_e(r)?.selectedHttpAuthScheme?.httpAuthOption;e&&(e.signingProperties=Object.assign(e.signingProperties||{},{signing_region:o.signingRegion,signingRegion:o.signingRegion,signing_service:o.signingName,signingName:o.signingName,signingRegionSet:o.signingRegionSet},o.properties))}return n({...i})},Mi={step:`serialize`,tags:[`ENDPOINT_PARAMETERS`,`ENDPOINT_V2`,`ENDPOINT`],name:`endpointV2Middleware`,override:!0,relation:`before`,toMiddleware:{name:`serializerMiddleware`,step:`serialize`,tags:[`SERIALIZER`],override:!0}.name},Ni=(e,t)=>({applyToStack:n=>{n.addRelativeTo(ji({config:e,instructions:t}),Mi)}}),Pi=e=>{let t=e.tls??!0,{endpoint:n,useDualstackEndpoint:r,useFipsEndpoint:i}=e,a=Object.assign(e,{endpoint:n==null?void 0:async()=>Oi(await f(n)()),tls:t,isCustomEndpoint:!!n,useDualstackEndpoint:f(r??!1),useFipsEndpoint:f(i??!1)}),o;return a.serviceConfiguredEndpoint=async()=>(e.serviceId&&!o&&(o=Di(e.serviceId)),o),a},Fi=e=>e instanceof Error?e:e instanceof Object?Object.assign(Error(),e):Error(typeof e==`string`?e:`AWS SDK error wrapper for ${e}`),Ii=e=>{let{retryStrategy:t,retryMode:n}=e,r=f(e.maxAttempts??3),i=t?Promise.resolve(t):void 0,a=async()=>await f(n)()===Vr.ADAPTIVE?new Qr(r):new Zr(r);return Object.assign(e,{maxAttempts:r,retryStrategy:()=>i??=a()})},Li=(e,t)=>{let n=[];if(e&&n.push(e),t)for(let e of t)n.push(e);return n},Ri=(e,t)=>`${e||`anonymous`}${t&&t.length>0?` (a.k.a. ${t.join(`,`)})`:``}`,zi=()=>{let e=[],t=[],n=!1,r=new Set,i=e=>e.sort((e,t)=>Bi[t.step]-Bi[e.step]||Vi[t.priority||`normal`]-Vi[e.priority||`normal`]),a=n=>{let i=!1,a=e=>{let t=Li(e.name,e.aliases);if(t.includes(n)){i=!0;for(let e of t)r.delete(e);return!1}return!0};return e=e.filter(a),t=t.filter(a),i},o=n=>{let i=!1,a=e=>{if(e.middleware===n){i=!0;for(let t of Li(e.name,e.aliases))r.delete(t);return!1}return!0};return e=e.filter(a),t=t.filter(a),i},s=n=>(e.forEach(e=>{n.add(e.middleware,{...e})}),t.forEach(e=>{n.addRelativeTo(e.middleware,{...e})}),n.identifyOnResolve?.(u.identifyOnResolve()),n),c=e=>{let t=[];return e.before.forEach(e=>{e.before.length===0&&e.after.length===0?t.push(e):t.push(...c(e))}),t.push(e),e.after.reverse().forEach(e=>{e.before.length===0&&e.after.length===0?t.push(e):t.push(...c(e))}),t},l=(n=!1)=>{let r=[],a=[],o={};return e.forEach(e=>{let t={...e,before:[],after:[]};for(let e of Li(t.name,t.aliases))o[e]=t;r.push(t)}),t.forEach(e=>{let t={...e,before:[],after:[]};for(let e of Li(t.name,t.aliases))o[e]=t;a.push(t)}),a.forEach(e=>{if(e.toMiddleware){let t=o[e.toMiddleware];if(t===void 0){if(n)return;throw Error(`${e.toMiddleware} is not found when adding ${Ri(e.name,e.aliases)} middleware ${e.relation} ${e.toMiddleware}`)}e.relation===`after`&&t.after.push(e),e.relation===`before`&&t.before.push(e)}}),i(r).map(c).reduce((e,t)=>(e.push(...t),e),[])},u={add:(t,n={})=>{let{name:i,override:a,aliases:o}=n,s={step:`initialize`,priority:`normal`,middleware:t,...n},c=Li(i,o);if(c.length>0){if(c.some(e=>r.has(e))){if(!a)throw Error(`Duplicate middleware name '${Ri(i,o)}'`);for(let t of c){let n=e.findIndex(e=>e.name===t||e.aliases?.some(e=>e===t));if(n===-1)continue;let r=e[n];if(r.step!==s.step||s.priority!==r.priority)throw Error(`"${Ri(r.name,r.aliases)}" middleware with ${r.priority} priority in ${r.step} step cannot be overridden by "${Ri(i,o)}" middleware with ${s.priority} priority in ${s.step} step.`);e.splice(n,1)}}for(let e of c)r.add(e)}e.push(s)},addRelativeTo:(e,n)=>{let{name:i,override:a,aliases:o}=n,s={middleware:e,...n},c=Li(i,o);if(c.length>0){if(c.some(e=>r.has(e))){if(!a)throw Error(`Duplicate middleware name '${Ri(i,o)}'`);for(let e of c){let n=t.findIndex(t=>t.name===e||t.aliases?.some(t=>t===e));if(n===-1)continue;let r=t[n];if(r.toMiddleware!==s.toMiddleware||r.relation!==s.relation)throw Error(`"${Ri(r.name,r.aliases)}" middleware ${r.relation} "${r.toMiddleware}" middleware cannot be overridden by "${Ri(i,o)}" middleware ${s.relation} "${s.toMiddleware}" middleware.`);t.splice(n,1)}}for(let e of c)r.add(e)}t.push(s)},clone:()=>s(zi()),use:e=>{e.applyToStack(u)},remove:e=>typeof e==`string`?a(e):o(e),removeByTag:n=>{let i=!1,a=e=>{let{tags:t,name:a,aliases:o}=e;if(t&&t.includes(n)){let e=Li(a,o);for(let t of e)r.delete(t);return i=!0,!1}return!0};return e=e.filter(a),t=t.filter(a),i},concat:e=>{let t=s(zi());return t.use(e),t.identifyOnResolve(n||t.identifyOnResolve()||(e.identifyOnResolve?.()??!1)),t},applyToStack:s,identify:()=>l(!0).map(e=>{let t=e.step??e.relation+` `+e.toMiddleware;return Ri(e.name,e.aliases)+` - `+t}),identifyOnResolve(e){return typeof e==`boolean`&&(n=e),n},resolve:(e,t)=>{for(let n of l().map(e=>e.middleware).reverse())e=n(e,t);return n&&console.log(u.identify()),e}};return u},Bi={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},Vi={high:3,normal:2,low:1},Hi=class{config;middlewareStack=zi();initConfig;handlers;constructor(e){this.config=e;let{protocol:t,protocolSettings:n}=e;n&&typeof t==`function`&&(e.protocol=new t(n))}send(e,t,n){let r=typeof t==`function`?void 0:t,i=typeof t==`function`?t:n,a=r===void 0&&this.config.cacheMiddleware===!0,o;if(a){this.handlers||=new WeakMap;let t=this.handlers;t.has(e.constructor)?o=t.get(e.constructor):(o=e.resolveMiddleware(this.middlewareStack,this.config,r),t.set(e.constructor,o))}else delete this.handlers,o=e.resolveMiddleware(this.middlewareStack,this.config,r);if(i)o(e).then(e=>i(null,e.output),e=>i(e)).catch(()=>{});else return o(e).then(e=>e.output)}destroy(){this.config?.requestHandler?.destroy?.(),delete this.handlers}},Ui=`***SensitiveInformation***`;function Wi(e,t){if(t==null)return t;let n=Et.of(e);if(n.getMergedTraits().sensitive)return Ui;if(n.isListSchema()){if(n.getValueSchema().getMergedTraits().sensitive)return Ui}else if(n.isMapSchema()){if(n.getKeySchema().getMergedTraits().sensitive||n.getValueSchema().getMergedTraits().sensitive)return Ui}else if(n.isStructSchema()&&typeof t==`object`){let e=t,r={};for(let[t,i]of n.structIterator())e[t]!=null&&(r[t]=Wi(i,e[t]));return r}return t}var Gi=class{middlewareStack=zi();schema;static classBuilder(){return new Ki}resolveMiddlewareWithContext(e,t,n,{middlewareFn:r,clientName:i,commandName:a,inputFilterSensitiveLog:o,outputFilterSensitiveLog:s,smithyContext:c,additionalContext:l,CommandCtor:u}){for(let i of r.bind(this)(u,e,t,n))this.middlewareStack.use(i);let d=e.concat(this.middlewareStack),{logger:ee}=t,te={logger:ee,clientName:i,commandName:a,inputFilterSensitiveLog:o,outputFilterSensitiveLog:s,[he]:{commandInstance:this,...c},...l},{requestHandler:f}=t;return d.resolve(e=>f.handle(e.request,n||{}),te)}},Ki=class{_init=()=>{};_ep={};_middlewareFn=()=>[];_commandName=``;_clientName=``;_additionalContext={};_smithyContext={};_inputFilterSensitiveLog=void 0;_outputFilterSensitiveLog=void 0;_serializer=null;_deserializer=null;_operationSchema;init(e){this._init=e}ep(e){return this._ep=e,this}m(e){return this._middlewareFn=e,this}s(e,t,n={}){return this._smithyContext={service:e,operation:t,...n},this}c(e={}){return this._additionalContext=e,this}n(e,t){return this._clientName=e,this._commandName=t,this}f(e=e=>e,t=e=>e){return this._inputFilterSensitiveLog=e,this._outputFilterSensitiveLog=t,this}ser(e){return this._serializer=e,this}de(e){return this._deserializer=e,this}sc(e){return this._operationSchema=e,this._smithyContext.operationSchema=e,this}build(){let e=this,t;return t=class extends Gi{input;static getEndpointParameterInstructions(){return e._ep}constructor(...[t]){super(),this.input=t??{},e._init(this),this.schema=e._operationSchema}resolveMiddleware(n,r,i){let a=e._operationSchema,o=a?.[4]??a?.input,s=a?.[5]??a?.output;return this.resolveMiddlewareWithContext(n,r,i,{CommandCtor:t,middlewareFn:e._middlewareFn,clientName:e._clientName,commandName:e._commandName,inputFilterSensitiveLog:e._inputFilterSensitiveLog??(a?Wi.bind(null,o):e=>e),outputFilterSensitiveLog:e._outputFilterSensitiveLog??(a?Wi.bind(null,s):e=>e),smithyContext:e._smithyContext,additionalContext:e._additionalContext})}serialize=e._serializer;deserialize=e._deserializer}}},qi=class e extends Error{$fault;$response;$retryable;$metadata;constructor(e){super(e.message),Object.setPrototypeOf(this,Object.getPrototypeOf(this).constructor.prototype),this.name=e.name,this.$fault=e.$fault,this.$metadata=e.$metadata}static isInstance(t){if(!t)return!1;let n=t;return e.prototype.isPrototypeOf(n)||!!n.$fault&&!!n.$metadata&&(n.$fault===`client`||n.$fault===`server`)}static[Symbol.hasInstance](t){if(!t)return!1;let n=t;return this===e?e.isInstance(t):e.isInstance(t)?n.name&&this.name?this.prototype.isPrototypeOf(t)||n.name===this.name:this.prototype.isPrototypeOf(t):!1}},Ji=(e,t={})=>(Object.entries(t).filter(([,e])=>e!==void 0).forEach(([t,n])=>{(e[t]==null||e[t]===``)&&(e[t]=n)}),e.message=e.message||e.Message||`UnknownError`,delete e.Message,e),Yi=e=>{switch(e){case`standard`:return{retryMode:`standard`,connectionTimeout:3100};case`in-region`:return{retryMode:`standard`,connectionTimeout:1100};case`cross-region`:return{retryMode:`standard`,connectionTimeout:3100};case`mobile`:return{retryMode:`standard`,connectionTimeout:3e4};default:return{}}},Xi=Object.values(me),Zi=e=>{let t=[];for(let n in me){let r=me[n];e[r]!==void 0&&t.push({algorithmId:()=>r,checksumConstructor:()=>e[r]})}for(let[n,r]of Object.entries(e.checksumAlgorithms??{}))t.push({algorithmId:()=>n,checksumConstructor:()=>r});return{addChecksumAlgorithm(n){e.checksumAlgorithms=e.checksumAlgorithms??{};let r=n.algorithmId(),i=n.checksumConstructor();Xi.includes(r)?e.checksumAlgorithms[r.toUpperCase()]=i:e.checksumAlgorithms[r]=i,t.push(n)},checksumAlgorithms(){return t}}},Qi=e=>{let t={};return e.checksumAlgorithms().forEach(e=>{let n=e.algorithmId();Xi.includes(n)&&(t[n]=e.checksumConstructor())}),t},$i=e=>({setRetryStrategy(t){e.retryStrategy=t},retryStrategy(){return e.retryStrategy}}),ea=e=>{let t={};return t.retryStrategy=e.retryStrategy(),t},ta=e=>Object.assign(Zi(e),$i(e)),na=e=>Object.assign(Qi(e),ea(e)),ra=e=>{let t=`#text`;for(let n in e)e.hasOwnProperty(n)&&e[n][t]!==void 0?e[n]=e[n][t]:typeof e[n]==`object`&&e[n]!==null&&(e[n]=ra(e[n]));return e},ia=class{trace(){}debug(){}info(){}warn(){}error(){}},aa=e=>e?.body instanceof ReadableStream;function oa(e,t){if(ge.isInstance(e))for(let n of Object.keys(e.headers)){let r=n.toLowerCase();if(r===`retry-after`){let r=e.headers[n],i=NaN;if(r.endsWith(`GMT`))try{i=(Qt(r).getTime()-Date.now())/1e3}catch(e){t?.trace?.(`Failed to parse retry-after header`),t?.trace?.(e)}else r.match(/ GMT, ((\d+)|(\d+\.\d+))$/)?i=Number(r.match(/ GMT, ([\d.]+)$/)?.[1]):r.match(/^((\d+)|(\d+\.\d+))$/)?i=Number(r):Date.parse(r)>=Date.now()&&(i=(Date.parse(r)-Date.now())/1e3);return isNaN(i)?void 0:new Date(Date.now()+i*1e3)}else if(r===`x-amz-retry-after`){let r=e.headers[n],i=Number(r);if(isNaN(i)){t?.trace?.(`Failed to parse x-amz-retry-after=${r}`);return}return new Date(Date.now()+i)}}}var sa=e=>(t,n)=>async r=>{let a=await e.retryStrategy(),o=await e.maxAttempts();if(la(a)){a=a;let s=await a.acquireInitialRetryToken((n.partition_id??``)+(n.__retryLongPoll?`:longpoll`:``)),c=Error(),l=0,u=0,{request:d}=r,ee=i.isInstance(d);for(ee&&(d.headers[Kr]=un());;)try{ee&&(d.headers[qr]=`attempt=${l+1}; max=${o}`);let{response:e,output:n}=await t(r);return a.recordSuccess(s),n.$metadata.attempts=l+1,n.$metadata.totalRetryDelay=u,{response:e,output:n}}catch(t){let r=ua(t,e.logger);if(c=Fi(t),ee&&aa(d))throw(n.logger instanceof ia?console:n.logger)?.warn(`An error was encountered in a non-retryable streaming request.`),c;try{s=await a.refreshRetryTokenForRetry(s,r)}catch(e){throw typeof e.$backoff==`number`&&await ca(e.$backoff),c.$metadata||={},c.$metadata.attempts=l+1,c.$metadata.totalRetryDelay=u,c}l=s.getRetryCount();let i=s.getRetryDelay();u+=i,await ca(i)}}else return a=a,a?.mode&&(n.userAgent=[...n.userAgent||[],[`cfg/retry-mode`,a.mode]]),a.retry(t,r)},ca=e=>new Promise(t=>setTimeout(t,e)),la=e=>e.acquireInitialRetryToken!==void 0&&e.refreshRetryTokenForRetry!==void 0&&e.recordSuccess!==void 0,ua=(e,t)=>{let n={error:e,errorType:da(e)},r=oa(e.$response,t);return r&&(n.retryAfterHint=r),n},da=e=>Ur(e)?`THROTTLING`:Wr(e)?`TRANSIENT`:fee(e)?`SERVER_ERROR`:`CLIENT_ERROR`,fa={name:`retryMiddleware`,tags:[`RETRY`],step:`finalizeRequest`,priority:`high`,override:!0},pa=e=>({applyToStack:t=>{t.add(sa(e),fa)}}),ma=e=>ge.isInstance(e)?e.headers?.date??e.headers?.Date:void 0,ha=e=>new Date(Date.now()+e),ga=(e,t)=>Math.abs(ha(t).getTime()-e)>=3e5,_a=(e,t)=>{let n=Date.parse(e);return ga(n,t)?n-Date.now():t},va=(e,t)=>{if(!t)throw Error(`Property \`${e}\` is not resolved for AWS SDK SigV4Auth`);return t},ya=async e=>{let t=va(`context`,e.context),n=va(`config`,e.config),r=t.endpointV2?.properties?.authSchemes?.[0];return{config:n,signer:await va(`signer`,n.signer)(r),signingRegion:e?.signingRegion,signingRegionSet:e?.signingRegionSet,signingName:e?.signingName}},ba=class{async sign(e,t,n){if(!i.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let r=await ya(n),{config:a,signer:o}=r,{signingRegion:s,signingName:c}=r,l=n.context;if(l?.authSchemes?.length??!1){let[e,t]=l.authSchemes;e?.name===`sigv4a`&&t?.name===`sigv4`&&(s=t?.signingRegion??s,c=t?.signingName??c)}return await o.sign(e,{signingDate:ha(a.systemClockOffset),signingRegion:s,signingService:c})}errorHandler(e){return t=>{let n=t.ServerTime??ma(t.$response);if(n){let r=va(`config`,e.config),i=r.systemClockOffset;r.systemClockOffset=_a(n,r.systemClockOffset),r.systemClockOffset!==i&&t.$metadata&&(t.$metadata.clockSkewCorrected=!0)}throw t}}successHandler(e,t){let n=ma(e);if(n){let e=va(`config`,t.config);e.systemClockOffset=_a(n,e.systemClockOffset)}}},xa=class extends ba{async sign(e,t,n){if(!i.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let{config:r,signer:a,signingRegion:o,signingRegionSet:s,signingName:c}=await ya(n),l=(await r.sigv4aSigningRegionSet?.()??s??[o]).join(`,`);return await a.sign(e,{signingDate:ha(r.systemClockOffset),signingRegion:l,signingService:c})}},Sa=(e,t,n)=>{let r,i,a,o=!1,s=async()=>{i||=e();try{r=await i,a=!0,o=!1}finally{i=void 0}return r};return t===void 0?async e=>((!a||e?.forceRefresh)&&(r=await s()),r):async e=>((!a||e?.forceRefresh)&&(r=await s()),o?r:n&&!n(r)?(o=!0,r):(t(r)&&await s(),r))},Ca=e=>(e.sigv4aSigningRegionSet=Re(e.sigv4aSigningRegionSet),e),wa=e=>{let t=e.credentials,n=!!e.credentials,r;Object.defineProperty(e,`credentials`,{set(i){i&&i!==t&&i!==r&&(n=!0),t=i;let a=Ea(e,Ta(e,{credentials:t,credentialDefaultProvider:e.credentialDefaultProvider}));if(n&&!a.attributed){let e=typeof t==`object`&&!!t;r=async t=>{let n=await a(t);return e&&(!n.$source||Object.keys(n.$source).length===0)?zr(n,`CREDENTIALS_CODE`,`e`):n},r.memoized=a.memoized,r.configBound=a.configBound,r.attributed=!0}else r=a},get(){return r},enumerable:!0,configurable:!0}),e.credentials=t;let{signingEscapePath:i=!0,systemClockOffset:a=e.systemClockOffset||0,sha256:o}=e,s;return s=e.signer?Re(e.signer):e.regionInfoProvider?()=>Re(e.region)().then(async t=>[await e.regionInfoProvider(t,{useFipsEndpoint:await e.useFipsEndpoint(),useDualstackEndpoint:await e.useDualstackEndpoint()})||{},t]).then(([t,n])=>{let{signingRegion:r,signingService:a}=t;e.signingRegion=e.signingRegion||r||n,e.signingName=e.signingName||a||e.serviceId;let s={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:o,uriEscapePath:i};return new(e.signerConstructor||re)(s)}):async t=>{t=Object.assign({},{name:`sigv4`,signingName:e.signingName||e.defaultSigningName,signingRegion:await Re(e.region)(),properties:{}},t);let n=t.signingRegion,r=t.signingName;e.signingRegion=e.signingRegion||n,e.signingName=e.signingName||r||e.serviceId;let a={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:o,uriEscapePath:i};return new(e.signerConstructor||re)(a)},Object.assign(e,{systemClockOffset:a,signingEscapePath:i,signer:s})};function Ta(e,{credentials:t,credentialDefaultProvider:n}){let r;return r=t?t?.memoized?t:Jn(t,Kn,qn):n?Re(n(Object.assign({},e,{parentClientConfig:e}))):async()=>{throw Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.")},r.memoized=!0,r}function Ea(e,t){if(t.configBound)return t;let n=async n=>t({...n,callerClientConfig:e});return n.memoized=t.memoized,n.configBound=!0,n}var Da=async(e,t,n)=>({operation:_e(t).operation,region:await f(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function Oa(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`ec2`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var ka=e=>{let t=[];switch(e.operation){default:t.push(Oa(e))}return t},Aa=e=>{let t=wa(e);return Object.assign(t,{authSchemePreference:f(e.authSchemePreference??[])})},ja=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:`ec2`}),Ma={UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},Na={name:`@aws-sdk/client-ec2`,description:`AWS SDK for JavaScript Ec2 Client for Node.js, Browser and React Native`,version:`3.1029.0`,scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline client-ec2`,"build:es":`tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`tsc -p tsconfig.types.json`,"build:types:downlevel":`downlevel-dts dist-types dist-types/ts3.4`,clean:`premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service --solo ec2`,test:`yarn g:vitest run --passWithNoTests`,"test:index":`tsc --noEmit ./test/index-types.ts && node ./test/index-objects.spec.mjs`,"test:integration":`yarn g:vitest run --passWithNoTests -c vitest.config.integ.mts`,"test:integration:watch":`yarn g:vitest run --passWithNoTests -c vitest.config.integ.mts`,"test:watch":`yarn g:vitest watch --passWithNoTests`},main:`./dist-cjs/index.js`,types:`./dist-types/index.d.ts`,module:`./dist-es/index.js`,sideEffects:!1,dependencies:{"@aws-crypto/sha256-browser":`5.2.0`,"@aws-crypto/sha256-js":`5.2.0`,"@aws-sdk/core":`^3.973.27`,"@aws-sdk/credential-provider-node":`^3.972.30`,"@aws-sdk/middleware-host-header":`^3.972.9`,"@aws-sdk/middleware-logger":`^3.972.9`,"@aws-sdk/middleware-recursion-detection":`^3.972.10`,"@aws-sdk/middleware-sdk-ec2":`^3.972.19`,"@aws-sdk/middleware-user-agent":`^3.972.29`,"@aws-sdk/region-config-resolver":`^3.972.11`,"@aws-sdk/types":`^3.973.7`,"@aws-sdk/util-endpoints":`^3.996.6`,"@aws-sdk/util-user-agent-browser":`^3.972.9`,"@aws-sdk/util-user-agent-node":`^3.973.15`,"@smithy/config-resolver":`^4.4.14`,"@smithy/core":`^3.23.14`,"@smithy/fetch-http-handler":`^5.3.16`,"@smithy/hash-node":`^4.2.13`,"@smithy/invalid-dependency":`^4.2.13`,"@smithy/middleware-content-length":`^4.2.13`,"@smithy/middleware-endpoint":`^4.4.29`,"@smithy/middleware-retry":`^4.5.0`,"@smithy/middleware-serde":`^4.2.17`,"@smithy/middleware-stack":`^4.2.13`,"@smithy/node-config-provider":`^4.3.13`,"@smithy/node-http-handler":`^4.5.2`,"@smithy/protocol-http":`^5.3.13`,"@smithy/smithy-client":`^4.12.9`,"@smithy/types":`^4.14.0`,"@smithy/url-parser":`^4.2.13`,"@smithy/util-base64":`^4.3.2`,"@smithy/util-body-length-browser":`^4.2.2`,"@smithy/util-body-length-node":`^4.2.3`,"@smithy/util-defaults-mode-browser":`^4.3.45`,"@smithy/util-defaults-mode-node":`^4.2.49`,"@smithy/util-endpoints":`^3.3.4`,"@smithy/util-middleware":`^4.2.13`,"@smithy/util-retry":`^4.3.0`,"@smithy/util-utf8":`^4.2.2`,"@smithy/util-waiter":`^4.2.15`,tslib:`^2.6.2`},devDependencies:{"@smithy/snapshot-testing":`^2.0.5`,"@tsconfig/node20":`20.1.8`,"@types/node":`^20.14.8`,concurrently:`7.0.0`,"downlevel-dts":`0.10.1`,premove:`4.0.0`,typescript:`~5.8.3`,vitest:`^4.0.17`},engines:{node:`>=20.0.0`},typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},files:[`dist-*/**`],author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/javascript/`},license:`Apache-2.0`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-ec2`,repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-ec2`}},Pa=({serviceId:e,clientVersion:t})=>async n=>{let r=typeof window<`u`?window.navigator:void 0,i=r?.userAgent??``,a=r?.userAgentData?.platform??Fa.os(i)??`other`,o=r?.userAgentData?.brands??[],s=o[o.length-1],c=s?.brand??Fa.browser(i)??`unknown`,l=s?.version??`unknown`,u=[[`aws-sdk-js`,t],[`ua`,`2.1`],[`os/${a}`,void 0],[`lang/js`],[`md/browser`,`${c}_${l}`]];e&&u.push([`api/${e}`,t]);let d=await n?.userAgentAppId?.();return d&&u.push([`app/${d}`]),u},Fa={os(e){if(/iPhone|iPad|iPod/.test(e))return`iOS`;if(/Macintosh|Mac OS X/.test(e))return`macOS`;if(/Windows NT/.test(e))return`Windows`;if(/Android/.test(e))return`Android`;if(/Linux/.test(e))return`Linux`},browser(e){if(/EdgiOS|EdgA|Edg\//.test(e))return`Microsoft Edge`;if(/Firefox\//.test(e))return`Firefox`;if(/Chrome\//.test(e))return`Chrome`;if(/Safari\//.test(e))return`Safari`}},Ia=e=>()=>Promise.reject(e),La=typeof TextEncoder==`function`?new TextEncoder:null,Ra=e=>{if(typeof e==`string`){if(La)return La.encode(e).byteLength;let t=e.length;for(let n=t-1;n>=0;n--){let r=e.charCodeAt(n);r>127&&r<=2047?t++:r>2047&&r<=65535&&(t+=2),r>=56320&&r<=57343&&n--}return t}else if(typeof e.byteLength==`number`)return e.byteLength;else if(typeof e.size==`number`)return e.size;throw Error(`Body Length computation failed for ${e}`)},za=[`in-region`,`cross-region`,`mobile`,`standard`,`legacy`],Ba=({defaultsMode:e}={})=>Sa(async()=>{let t=typeof e==`function`?await e():e;switch(t?.toLowerCase()){case`auto`:return Promise.resolve(Va()?`mobile`:`standard`);case`mobile`:case`in-region`:case`cross-region`:case`standard`:case`legacy`:return Promise.resolve(t?.toLocaleLowerCase());case void 0:return Promise.resolve(`legacy`);default:throw Error(`Invalid parameter for "defaultsMode", expect ${za.join(`, `)}, got ${t}`)}}),Va=()=>{let e=window?.navigator;if(e?.connection){let{effectiveType:t,rtt:n,downlink:r}=e?.connection;if(typeof t==`string`&&t!==`4g`||Number(n)>100||Number(r)<10)return!0}return e?.userAgentData?.mobile||typeof e?.maxTouchPoints==`number`&&e?.maxTouchPoints>1},Ha=class{queryCompat;errorRegistry;constructor(e=!1){this.queryCompat=e}resolveRestContentType(e,t){let n=t.getMemberSchemas(),r=Object.values(n).find(e=>!!e.getMergedTraits().httpPayload);if(r)return r.getMergedTraits().mediaType||(r.isStringSchema()?`text/plain`:r.isBlobSchema()?`application/octet-stream`:e);if(!t.isUnitSchema()&&Object.values(n).find(e=>{let{httpQuery:t,httpQueryParams:n,httpHeader:r,httpLabel:i,httpPrefixHeaders:a}=e.getMergedTraits();return!t&&!n&&!r&&!i&&a===void 0}))return e}async getErrorSchemaOrThrowBaseException(e,t,n,r,i,a){let o=e;e.includes(`#`)&&([,o]=e.split(`#`));let s={$metadata:i,$fault:n.statusCode<500?`client`:`server`};if(!this.errorRegistry)throw Error(`@aws-sdk/core/protocols - error handler not initialized.`);try{return{errorSchema:a?.(this.errorRegistry,o)??this.errorRegistry.getSchema(e),errorMetadata:s}}catch{r.message=r.message??r.Message??`UnknownError`;let e=this.errorRegistry,t=e.getBaseException();if(t){let n=e.getErrorCtor(t)??Error;throw this.decorateServiceException(Object.assign(new n({name:o}),s),r)}let n=r,i=n?.message??n?.Message??n?.Error?.Message??n?.Error?.message;throw this.decorateServiceException(Object.assign(Error(i),{name:o},s),r)}}compose(e,t,n){let r=n;t.includes(`#`)&&([r]=t.split(`#`));let i=At.for(r),a=At.for(`smithy.ts.sdk.synthetic.`+n);e.copyFrom(i),e.copyFrom(a),this.errorRegistry=e}decorateServiceException(e,t={}){if(this.queryCompat){let n=e.Message??t.Message,r=Ji(e,t);n&&(r.message=n),r.Error={...r.Error,Type:r.Error?.Type,Code:r.Error?.Code,Message:r.Error?.message??r.Error?.Message??n};let i=r.$metadata.requestId;return i&&(r.RequestId=i),r}return Ji(e,t)}setQueryCompatError(e,t){let n=t.headers?.[`x-amzn-query-error`];if(e!==void 0&&n!=null){let[t,r]=n.split(`;`),i=Object.entries(e),a={Code:t,Type:r};Object.assign(e,a);for(let[e,t]of i)a[e===`message`?`Message`:e]=t;delete a.__type,e.Error=a}}queryCompatOutput(e,t){e.Error&&(t.Error=e.Error),e.Type&&(t.Type=e.Type),e.Code&&(t.Code=e.Code)}findQueryCompatibleError(e,t){try{return e.getSchema(t)}catch{return e.find(e=>Et.of(e).getMergedTraits().awsQueryError?.[0]===t)}}},Ua=class{serdeContext;setSerdeContext(e){this.serdeContext=e}},Wa=class{from;to;keys;constructor(e,t){this.from=e,this.to=t,this.keys=new Set(Object.keys(this.from).filter(e=>e!==`__type`))}mark(e){this.keys.delete(e)}hasUnknown(){return this.keys.size===1&&Object.keys(this.to).length===0}writeUnknown(){if(this.hasUnknown()){let e=this.keys.values().next().value,t=this.from[e];this.to.$unknown=[e,t]}}},Ga=/[&<>"]/g,Ka={"&":`&`,"<":`<`,">":`>`,'"':`"`};function qa(e){return e.replace(Ga,e=>Ka[e])}var Ja=/[&"'<>\r\n\u0085\u2028]/g,Ya={"&":`&`,'"':`"`,"'":`'`,"<":`<`,">":`>`,"\r":` `,"\n":` `,"…":`…`,"\u2028":`
`};function Xa(e){return e.replace(Ja,e=>Ya[e])}var Za=class{value;constructor(e){this.value=e}toString(){return Xa(``+this.value)}},Qa=class e{name;children;attributes={};static of(t,n,r){let i=new e(t);return n!==void 0&&i.addChildNode(new Za(n)),r!==void 0&&i.withName(r),i}constructor(e,t=[]){this.name=e,this.children=t}withName(e){return this.name=e,this}addAttribute(e,t){return this.attributes[e]=t,this}addChildNode(e){return this.children.push(e),this}removeAttribute(e){return delete this.attributes[e],this}n(e){return this.name=e,this}c(e){return this.children.push(e),this}a(e,t){return t!=null&&(this.attributes[e]=t),this}cc(t,n,r=n){if(t[n]!=null){let i=e.of(n,t[n]).withName(r);this.c(i)}}l(e,t,n,r){e[t]!=null&&r().map(e=>{e.withName(n),this.c(e)})}lc(t,n,r,i){if(t[n]!=null){let t=i(),n=new e(r);t.map(e=>{n.c(e)}),this.c(n)}}toString(){let e=!!this.children.length,t=`<${this.name}`,n=this.attributes;for(let e of Object.keys(n)){let r=n[e];r!=null&&(t+=` ${e}="${qa(``+r)}"`)}return t+=e?`>${this.children.map(e=>e.toString()).join(``)}`:`/>`}},$a;function eo(e){$a||=new DOMParser;let t=$a.parseFromString(e,`application/xml`);if(t.getElementsByTagName(`parsererror`).length>0)throw Error(`DOMParser XML parsing error.`);let n=e=>{if(e.nodeType===Node.TEXT_NODE&&e.textContent?.trim())return e.textContent;if(e.nodeType===Node.ELEMENT_NODE){let t=e;if(t.attributes.length===0&&t.childNodes.length===0)return``;let r={},i=Array.from(t.attributes);for(let e of i)r[`${e.name}`]=e.value;let a=Array.from(t.childNodes);for(let e of a){let o=n(e);if(o!=null){let t=e.nodeName;if(a.length===1&&i.length===0&&t===`#text`)return o;r[t]?Array.isArray(r[t])?r[t].push(o):r[t]=[r[t],o]:r[t]=o}else if(a.length===1&&i.length===0)return t.textContent}return r}return null};return{[t.documentElement.nodeName]:n(t.documentElement)}}var to=class extends Ua{settings;stringDeserializer;constructor(e){super(),this.settings=e,this.stringDeserializer=new Bn(e)}setSerdeContext(e){this.serdeContext=e,this.stringDeserializer.setSerdeContext(e)}read(e,t,n){let r=Et.of(e),i=r.getMemberSchemas();if(r.isStructSchema()&&r.isMemberSchema()&&Object.values(i).find(e=>!!e.getMemberTraits().eventPayload)){let e={},n=Object.keys(i)[0];return i[n].isBlobSchema()?e[n]=t:e[n]=this.read(i[n],t),e}let a=(this.serdeContext?.utf8Encoder??ce)(t),o=this.parseXml(a);return this.readSchema(e,n?o[n]:o)}readSchema(e,t){let n=Et.of(e);if(n.isUnitSchema())return;let r=n.getMergedTraits();if(n.isListSchema()&&!Array.isArray(t))return this.readSchema(n,[t]);if(t==null)return t;if(typeof t==`object`){let e=!!r.xmlFlattened;if(n.isListSchema()){let r=n.getValueSchema(),i=[],a=r.getMergedTraits().xmlName??`member`,o=e?t:(t[0]??t)[a];if(o==null)return i;let s=Array.isArray(o)?o:[o];for(let e of s)i.push(this.readSchema(r,e));return i}let i={};if(n.isMapSchema()){let r=n.getKeySchema(),a=n.getValueSchema(),o;o=e?Array.isArray(t)?t:[t]:Array.isArray(t.entry)?t.entry:[t.entry];let s=r.getMergedTraits().xmlName??`key`,c=a.getMergedTraits().xmlName??`value`;for(let e of o){let t=e[s],n=e[c];i[t]=this.readSchema(a,n)}return i}if(n.isStructSchema()){let e=n.isUnionSchema(),r;e&&(r=new Wa(t,i));for(let[a,o]of n.structIterator()){let n=o.getMergedTraits(),s=n.httpPayload?n.xmlName??o.getName():o.getMemberTraits().xmlName??a;e&&r.mark(s),t[s]!=null&&(i[a]=this.readSchema(o,t[s]))}return e&&r.writeUnknown(),i}if(n.isDocumentSchema())return t;throw Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${n.getName(!0)}`)}return n.isListSchema()?[]:n.isMapSchema()||n.isStructSchema()?{}:this.stringDeserializer.read(n,t)}parseXml(e){if(e.length){let t;try{t=eo(e)}catch(t){throw t&&typeof t==`object`&&Object.defineProperty(t,`$responseBodyText`,{value:e}),t}let n=`#text`,r=Object.keys(t)[0],i=t[r];return i[n]&&(i[r]=i[n],delete i[n]),ra(i)}return{}}},no=class extends Ua{settings;buffer;constructor(e){super(),this.settings=e}write(e,t,n=``){this.buffer===void 0&&(this.buffer=``);let r=Et.of(e);if(n&&!n.endsWith(`.`)&&(n+=`.`),r.isBlobSchema())(typeof t==`string`||t instanceof Uint8Array)&&(this.writeKey(n),this.writeValue((this.serdeContext?.base64Encoder??Ue)(t)));else if(r.isBooleanSchema()||r.isNumericSchema()||r.isStringSchema())t==null?r.isIdempotencyToken()&&(this.writeKey(n),this.writeValue(un())):(this.writeKey(n),this.writeValue(String(t)));else if(r.isBigIntegerSchema())t!=null&&(this.writeKey(n),this.writeValue(String(t)));else if(r.isBigDecimalSchema())t!=null&&(this.writeKey(n),this.writeValue(t instanceof An?t.string:String(t)));else if(r.isTimestampSchema()){if(t instanceof Date)switch(this.writeKey(n),zn(r,this.settings)){case 5:this.writeValue(t.toISOString().replace(`.000Z`,`Z`));break;case 6:this.writeValue(Jt(t));break;case 7:this.writeValue(String(t.getTime()/1e3));break}}else if(r.isDocumentSchema())Array.isArray(t)?this.write(79,t,n):t instanceof Date?this.write(4,t,n):t instanceof Uint8Array?this.write(21,t,n):t&&typeof t==`object`?this.write(143,t,n):(this.writeKey(n),this.writeValue(String(t)));else if(r.isListSchema()){if(Array.isArray(t))if(t.length===0)this.settings.serializeEmptyLists&&(this.writeKey(n),this.writeValue(``));else{let e=r.getValueSchema(),i=this.settings.flattenLists||r.getMergedTraits().xmlFlattened,a=1;for(let r of t){if(r==null)continue;let t=e.getMergedTraits(),o=this.getKey(`member`,t.xmlName,t.ec2QueryName),s=i?`${n}${a}`:`${n}${o}.${a}`;this.write(e,r,s),++a}}}else if(r.isMapSchema()){if(t&&typeof t==`object`){let e=r.getKeySchema(),i=r.getValueSchema(),a=r.getMergedTraits().xmlFlattened,o=1;for(let[r,s]of Object.entries(t)){if(s==null)continue;let t=e.getMergedTraits(),c=this.getKey(`key`,t.xmlName,t.ec2QueryName),l=a?`${n}${o}.${c}`:`${n}entry.${o}.${c}`,u=i.getMergedTraits(),d=this.getKey(`value`,u.xmlName,u.ec2QueryName),ee=a?`${n}${o}.${d}`:`${n}entry.${o}.${d}`;this.write(e,r,l),this.write(i,s,ee),++o}}}else if(r.isStructSchema()){if(t&&typeof t==`object`){let e=!1;for(let[i,a]of r.structIterator()){if(t[i]==null&&!a.isIdempotencyToken())continue;let r=a.getMergedTraits(),o=this.getKey(i,r.xmlName,r.ec2QueryName,`struct`),s=`${n}${o}`;this.write(a,t[i],s),e=!0}if(!e&&r.isUnionSchema()){let{$unknown:e}=t;if(Array.isArray(e)){let[t,r]=e,i=`${n}${t}`;this.write(15,r,i)}}}}else if(!r.isUnitSchema())throw Error(`@aws-sdk/core/protocols - QuerySerializer unrecognized schema type ${r.getName(!0)}`)}flush(){if(this.buffer===void 0)throw Error(`@aws-sdk/core/protocols - QuerySerializer cannot flush with nothing written to buffer.`);let e=this.buffer;return delete this.buffer,e}getKey(e,t,n,r){let{ec2:i,capitalizeKeys:a}=this.settings;if(i&&n)return n;let o=t??e;return a&&r===`struct`?o[0].toUpperCase()+o.slice(1):o}writeKey(e){e.endsWith(`.`)&&(e=e.slice(0,e.length-1)),this.buffer+=`&${lt(e)}=`}writeValue(e){this.buffer+=lt(e)}},ro=class extends Rn{options;serializer;deserializer;mixin=new Ha;constructor(e){super({defaultNamespace:e.defaultNamespace,errorTypeRegistries:e.errorTypeRegistries}),this.options=e;let t={timestampFormat:{useTrait:!0,default:5},httpBindings:!1,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace,serializeEmptyLists:!0};this.serializer=new no(t),this.deserializer=new to(t)}getShapeId(){return`aws.protocols#awsQuery`}setSerdeContext(e){this.serializer.setSerdeContext(e),this.deserializer.setSerdeContext(e)}getPayloadCodec(){throw Error(`AWSQuery protocol has no payload codec.`)}async serializeRequest(e,t,n){let r=await super.serializeRequest(e,t,n);return r.path.endsWith(`/`)||(r.path+=`/`),Object.assign(r.headers,{"content-type":`application/x-www-form-urlencoded`}),(ut(e.input)===`unit`||!r.body)&&(r.body=``),r.body=`Action=${e.name.split(`#`)[1]??e.name}&Version=${this.options.version}`+r.body,r.body.endsWith(`&`)&&(r.body=r.body.slice(-1)),r}async deserializeResponse(e,t,n){let r=this.deserializer,i=Et.of(e.output),a={};if(n.statusCode>=300){let i=await ct(n.body,t);i.byteLength>0&&Object.assign(a,await r.read(15,i)),await this.handleError(e,t,n,a,this.deserializeMetadata(n))}for(let e in n.headers){let t=n.headers[e];delete n.headers[e],n.headers[e.toLowerCase()]=t}let o=e.name.split(`#`)[1]??e.name,s=i.isStructSchema()&&this.useNestedResult()?o+`Result`:void 0,c=await ct(n.body,t);return c.byteLength>0&&Object.assign(a,await r.read(i,c,s)),{$metadata:this.deserializeMetadata(n),...a}}useNestedResult(){return!0}async handleError(e,t,n,r,i){let a=this.loadQueryErrorCode(n,r)??`Unknown`;this.mixin.compose(this.compositeErrorRegistry,a,this.options.defaultNamespace);let o=this.loadQueryError(r)??{},s=this.loadQueryErrorMessage(r);o.message=s,o.Error={Type:o.Type,Code:o.Code,Message:s};let{errorSchema:c,errorMetadata:l}=await this.mixin.getErrorSchemaOrThrowBaseException(a,this.options.defaultNamespace,n,o,i,this.mixin.findQueryCompatibleError),u=Et.of(c),d=new((this.compositeErrorRegistry.getErrorCtor(c))??Error)(s),ee={Type:o.Error.Type,Code:o.Error.Code,Error:o.Error};for(let[e,t]of u.structIterator()){let n=t.getMergedTraits().xmlName??e,i=o[n]??r[n];ee[e]=this.deserializer.readSchema(t,i)}throw this.mixin.decorateServiceException(Object.assign(d,l,{$fault:u.getMergedTraits().error,message:s},ee),r)}loadQueryErrorCode(e,t){let n=(t.Errors?.[0]?.Error??t.Errors?.Error??t.Error)?.Code;if(n!==void 0)return n;if(e.statusCode==404)return`NotFound`}loadQueryError(e){return e.Errors?.[0]?.Error??e.Errors?.Error??e.Error}loadQueryErrorMessage(e){let t=this.loadQueryError(e);return t?.message??t?.Message??e.message??e.Message??`Unknown`}getDefaultContentType(){return`application/x-www-form-urlencoded`}},io=class extends ro{options;constructor(e){super(e),this.options=e,Object.assign(this.serializer.settings,{capitalizeKeys:!0,flattenLists:!0,serializeEmptyLists:!1,ec2:!0})}getShapeId(){return`aws.protocols#ec2Query`}useNestedResult(){return!1}},ao=(e,t)=>{if(t?.Error?.Code!==void 0)return t.Error.Code;if(t?.Code!==void 0)return t.Code;if(e.statusCode==404)return`NotFound`},oo=class extends Ua{settings;stringBuffer;byteBuffer;buffer;constructor(e){super(),this.settings=e}write(e,t){let n=Et.of(e);if(n.isStringSchema()&&typeof t==`string`)this.stringBuffer=t;else if(n.isBlobSchema())this.byteBuffer=`byteLength`in t?t:(this.serdeContext?.base64Decoder??He)(t);else{this.buffer=this.writeStruct(n,t,void 0);let e=n.getMergedTraits();e.httpPayload&&!e.xmlName&&this.buffer.withName(n.getName())}}flush(){if(this.byteBuffer!==void 0){let e=this.byteBuffer;return delete this.byteBuffer,e}if(this.stringBuffer!==void 0){let e=this.stringBuffer;return delete this.stringBuffer,e}let e=this.buffer;return this.settings.xmlNamespace&&(e?.attributes?.xmlns||e.addAttribute(`xmlns`,this.settings.xmlNamespace)),delete this.buffer,e.toString()}writeStruct(e,t,n){let r=e.getMergedTraits(),i=e.isMemberSchema()&&!r.httpPayload?e.getMemberTraits().xmlName??e.getMemberName():r.xmlName??e.getName();if(!i||!e.isStructSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${e.getName(!0)}.`);let a=Qa.of(i),[o,s]=this.getXmlnsAttribute(e,n);for(let[n,r]of e.structIterator()){let e=t[n];if(e!=null||r.isIdempotencyToken()){if(r.getMergedTraits().xmlAttribute){a.addAttribute(r.getMergedTraits().xmlName??n,this.writeSimple(r,e));continue}if(r.isListSchema())this.writeList(r,e,a,s);else if(r.isMapSchema())this.writeMap(r,e,a,s);else if(r.isStructSchema())a.addChildNode(this.writeStruct(r,e,s));else{let t=Qa.of(r.getMergedTraits().xmlName??r.getMemberName());this.writeSimpleInto(r,e,t,s),a.addChildNode(t)}}}let{$unknown:c}=t;if(c&&e.isUnionSchema()&&Array.isArray(c)&&Object.keys(t).length===1){let[e,n]=c,r=Qa.of(e);if(typeof n!=`string`)if(t instanceof Qa||t instanceof Za)a.addChildNode(t);else throw Error(`@aws-sdk - $unknown union member in XML requires value of type string, @aws-sdk/xml-builder::XmlNode or XmlText.`);this.writeSimpleInto(0,n,r,s),a.addChildNode(r)}return s&&a.addAttribute(o,s),a}writeList(e,t,n,r){if(!e.isMemberSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${e.getName(!0)}`);let i=e.getMergedTraits(),a=e.getValueSchema(),o=a.getMergedTraits(),s=!!o.sparse,c=!!i.xmlFlattened,[l,u]=this.getXmlnsAttribute(e,r),d=(t,n)=>{if(a.isListSchema())this.writeList(a,Array.isArray(n)?n:[n],t,u);else if(a.isMapSchema())this.writeMap(a,n,t,u);else if(a.isStructSchema()){let r=this.writeStruct(a,n,u);t.addChildNode(r.withName(c?i.xmlName??e.getMemberName():o.xmlName??`member`))}else{let r=Qa.of(c?i.xmlName??e.getMemberName():o.xmlName??`member`);this.writeSimpleInto(a,n,r,u),t.addChildNode(r)}};if(c)for(let e of t)(s||e!=null)&&d(n,e);else{let r=Qa.of(i.xmlName??e.getMemberName());u&&r.addAttribute(l,u);for(let e of t)(s||e!=null)&&d(r,e);n.addChildNode(r)}}writeMap(e,t,n,r,i=!1){if(!e.isMemberSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${e.getName(!0)}`);let a=e.getMergedTraits(),o=e.getKeySchema(),s=o.getMergedTraits().xmlName??`key`,c=e.getValueSchema(),l=c.getMergedTraits(),u=l.xmlName??`value`,d=!!l.sparse,ee=!!a.xmlFlattened,[te,f]=this.getXmlnsAttribute(e,r),ne=(e,t,n)=>{let r=Qa.of(s,t),[i,a]=this.getXmlnsAttribute(o,f);a&&r.addAttribute(i,a),e.addChildNode(r);let l=Qa.of(u);c.isListSchema()?this.writeList(c,n,l,f):c.isMapSchema()?this.writeMap(c,n,l,f,!0):c.isStructSchema()?l=this.writeStruct(c,n,f):this.writeSimpleInto(c,n,l,f),e.addChildNode(l)};if(ee){for(let[r,i]of Object.entries(t))if(d||i!=null){let t=Qa.of(a.xmlName??e.getMemberName());ne(t,r,i),n.addChildNode(t)}}else{let r;i||(r=Qa.of(a.xmlName??e.getMemberName()),f&&r.addAttribute(te,f),n.addChildNode(r));for(let[e,a]of Object.entries(t))if(d||a!=null){let t=Qa.of(`entry`);ne(t,e,a),(i?n:r).addChildNode(t)}}}writeSimple(e,t){if(t===null)throw Error(`@aws-sdk/core/protocols - (XML serializer) cannot write null value.`);let n=Et.of(e),r=null;if(t&&typeof t==`object`)if(n.isBlobSchema())r=(this.serdeContext?.base64Encoder??Ue)(t);else if(n.isTimestampSchema()&&t instanceof Date)switch(zn(n,this.settings)){case 5:r=t.toISOString().replace(`.000Z`,`Z`);break;case 6:r=Jt(t);break;case 7:r=String(t.getTime()/1e3);break;default:console.warn(`Missing timestamp format, using http date`,t),r=Jt(t);break}else if(n.isBigDecimalSchema()&&t)return t instanceof An?t.string:String(t);else if(n.isMapSchema()||n.isListSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead.`);else throw Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${n.getName(!0)}`);if((n.isBooleanSchema()||n.isNumericSchema()||n.isBigIntegerSchema()||n.isBigDecimalSchema())&&(r=String(t)),n.isStringSchema()&&(r=t===void 0&&n.isIdempotencyToken()?un():String(t)),r===null)throw Error(`Unhandled schema-value pair ${n.getName(!0)}=${t}`);return r}writeSimpleInto(e,t,n,r){let i=this.writeSimple(e,t),a=Et.of(e),o=new Za(i),[s,c]=this.getXmlnsAttribute(a,r);c&&n.addAttribute(s,c),n.addChildNode(o)}getXmlnsAttribute(e,t){let[n,r]=e.getMergedTraits().xmlNamespace??[];return r&&r!==t?[n?`xmlns:${n}`:`xmlns`,r]:[void 0,void 0]}},so=class extends Ua{settings;constructor(e){super(),this.settings=e}createSerializer(){let e=new oo(this.settings);return e.setSerdeContext(this.serdeContext),e}createDeserializer(){let e=new to(this.settings);return e.setSerdeContext(this.serdeContext),e}},co=class extends Ln{codec;serializer;deserializer;mixin=new Ha;constructor(e){super(e);let t={timestampFormat:{useTrait:!0,default:5},httpBindings:!0,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace};this.codec=new so(t),this.serializer=new Un(this.codec.createSerializer(),t),this.deserializer=new Vn(this.codec.createDeserializer(),t),this.compositeErrorRegistry}getPayloadCodec(){return this.codec}getShapeId(){return`aws.protocols#restXml`}async serializeRequest(e,t,n){let r=await super.serializeRequest(e,t,n),i=Et.of(e.input);if(!r.headers[`content-type`]){let e=this.mixin.resolveRestContentType(this.getDefaultContentType(),i);e&&(r.headers[`content-type`]=e)}return typeof r.body==`string`&&r.headers[`content-type`]===this.getDefaultContentType()&&!r.body.startsWith(``+r.body),r}async deserializeResponse(e,t,n){return super.deserializeResponse(e,t,n)}async handleError(e,t,n,r,i){let a=ao(n,r)??`Unknown`;if(this.mixin.compose(this.compositeErrorRegistry,a,this.options.defaultNamespace),r.Error&&typeof r.Error==`object`)for(let e of Object.keys(r.Error))r[e]=r.Error[e],e.toLowerCase()===`message`&&(r.message=r.Error[e]);r.RequestId&&!i.requestId&&(i.requestId=r.RequestId);let{errorSchema:o,errorMetadata:s}=await this.mixin.getErrorSchemaOrThrowBaseException(a,this.options.defaultNamespace,n,r,i),c=Et.of(o),l=r.Error?.message??r.Error?.Message??r.message??r.Message??`UnknownError`,u=new((this.compositeErrorRegistry.getErrorCtor(o))??Error)(l);await this.deserializeHttpMessage(o,t,n,r);let d={};for(let[e,t]of c.structIterator()){let n=t.getMergedTraits().xmlName??e,i=r.Error?.[n]??r[n];d[e]=this.codec.createDeserializer().readSchema(t,i)}throw this.mixin.decorateServiceException(Object.assign(u,s,{$fault:c.getMergedTraits().error,message:l},d),r)}getDefaultContentType(){return`application/xml`}hasUnstructuredPayloadBinding(e){for(let[,t]of e.structIterator())if(t.getMergedTraits().httpPayload)return!(t.isStructSchema()||t.isMapSchema()||t.isListSchema());return!1}},lo=`required`,uo=`fn`,fo=`argv`,po=`ref`,mo=!0,ho=`isSet`,go=`booleanEquals`,_o=`error`,vo=`endpoint`,yo=`tree`,bo=`PartitionResult`,xo=`getAttr`,So={[lo]:!1,type:`string`},Co={[lo]:!0,default:!1,type:`boolean`},wo={[po]:`Endpoint`},To={[uo]:go,[fo]:[{[po]:`UseFIPS`},!0]},Eo={[uo]:go,[fo]:[{[po]:`UseDualStack`},!0]},Do={},Oo={[uo]:xo,[fo]:[{[po]:bo},`supportsFIPS`]},ko={[po]:bo},Ao={[uo]:go,[fo]:[!0,{[uo]:xo,[fo]:[ko,`supportsDualStack`]}]},jo=[To],Mo=[Eo],No=[{[po]:`Region`}],Po={version:`1.0`,parameters:{Region:So,UseDualStack:Co,UseFIPS:Co,Endpoint:So},rules:[{conditions:[{[uo]:ho,[fo]:[wo]}],rules:[{conditions:jo,error:`Invalid Configuration: FIPS and custom endpoint are not supported`,type:_o},{conditions:Mo,error:`Invalid Configuration: Dualstack and custom endpoint are not supported`,type:_o},{endpoint:{url:wo,properties:Do,headers:Do},type:vo}],type:yo},{conditions:[{[uo]:ho,[fo]:No}],rules:[{conditions:[{[uo]:`aws.partition`,[fo]:No,assign:bo}],rules:[{conditions:[To,Eo],rules:[{conditions:[{[uo]:go,[fo]:[mo,Oo]},Ao],rules:[{endpoint:{url:`https://ec2-fips.{Region}.{PartitionResult#dualStackDnsSuffix}`,properties:Do,headers:Do},type:vo}],type:yo},{error:`FIPS and DualStack are enabled, but this partition does not support one or both`,type:_o}],type:yo},{conditions:jo,rules:[{conditions:[{[uo]:go,[fo]:[Oo,mo]}],rules:[{conditions:[{[uo]:`stringEquals`,[fo]:[{[uo]:xo,[fo]:[ko,`name`]},`aws-us-gov`]}],endpoint:{url:`https://ec2.{Region}.amazonaws.com`,properties:Do,headers:Do},type:vo},{endpoint:{url:`https://ec2-fips.{Region}.{PartitionResult#dnsSuffix}`,properties:Do,headers:Do},type:vo}],type:yo},{error:`FIPS is enabled but this partition does not support FIPS`,type:_o}],type:yo},{conditions:Mo,rules:[{conditions:[Ao],rules:[{endpoint:{url:`https://ec2.{Region}.{PartitionResult#dualStackDnsSuffix}`,properties:Do,headers:Do},type:vo}],type:yo},{error:`DualStack is enabled but this partition does not support DualStack`,type:_o}],type:yo},{endpoint:{url:`https://ec2.{Region}.{PartitionResult#dnsSuffix}`,properties:Do,headers:Do},type:vo}],type:yo}],type:yo},{error:`Invalid Configuration: Missing Region`,type:_o}]},Fo=new Zn({size:50,params:[`Endpoint`,`Region`,`UseDualStack`,`UseFIPS`]}),Io=(e,t={})=>Fo.get(e,()=>kr(Po,{endpointParams:e,logger:t.logger}));nr.aws=Rr;var Lo=class e extends qi{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},Ro=`AllAvailabilityZones`,zo=`AttributeBooleanValue`,Bo=`AssociateCarrierIpAddress`,Vo=`AdditionalFlexibleNetworkInterfaces`,Ho=`AvailableIpAddressCount`,Uo=`AssignIpv6AddressOnCreation`,Wo=`AttachInternetGateway`,Go=`AttachInternetGatewayRequest`,Ko=`AdditionalInfo`,qo=`AssociationId`,Jo=`AttachmentId`,Yo=`AmiLaunchIndex`,Xo=`AttachmentLimitType`,Zo=`AssociatePublicIpAddress`,Qo=`AmazonProvidedIpv6CidrBlock`,$o=`AutoRecoverySupported`,es=`AssociateRouteTableRequest`,ts=`AssociateRouteTableResult`,ns=`AssociateRouteTable`,rs=`AllRegions`,is=`AssociatedResource`,as=`AutoRecovery`,os=`AssociationState`,ss=`AuthorizeSecurityGroupEgress`,cs=`AuthorizeSecurityGroupEgressRequest`,ls=`AuthorizeSecurityGroupEgressResult`,us=`AuthorizeSecurityGroupIngressRequest`,ds=`AuthorizeSecurityGroupIngressResult`,fs=`AuthorizeSecurityGroupIngress`,ps=`AmdSevSnp`,ms=`ArchitectureTypeList`,hs=`AttachTime`,gs=`AttachVolumeRequest`,_s=`AttributeValue`,vs=`AttachVolume`,ys=`AvailabilityZone`,bs=`AvailabilityZoneGeography`,xs=`AvailabilityZoneGeographyList`,Ss=`AvailabilityZoneId`,mee=`AvailabilityZoneList`,hee=`AvailabilityZoneMessage`,gee=`AvailabilityZoneMessageList`,_ee=`AvailabilityZoneSubGeography`,vee=`AvailabilityZoneSubGeographyList`,yee=`AvailabilityZones`,Cs=`Accelerators`,bee=`Affinity`,ws=`Arn`,Ts=`Architecture`,xee=`Associations`,Es=`Association`,See=`Attribute`,Ds=`Attachment`,Os=`Attachments`,Cee=`BlobAttributeValue`,wee=`BaselineBandwidthInGbps`,ks=`BaselineBandwidthInMbps`,As=`BlockDeviceMapping`,Tee=`BlockDeviceMappingList`,Eee=`BlockDeviceMappingRequestList`,js=`BlockDeviceMappings`,Dee=`BlockDurationMinutes`,Ms=`BaselineIops`,Ns=`BootMode`,Oee=`BootModeTypeList`,kee=`BareMetal`,Ps=`BlockPublicAccessStates`,Aee=`BurstablePerformanceSupported`,Fs=`BaselineThroughputInMBps`,Is=`BandwidthWeighting`,jee=`BandwidthWeightingTypeList`,Ls=`BandwidthWeightings`,Rs=`CidrBlock`,zs=`CidrBlockAssociationSet`,Bs=`CapacityBlockId`,Vs=`CidrBlockState`,Hs=`CoreCountList`,Us=`CoreCount`,Ws=`CpuCredits`,Gs=`CompletionDurationMinutes`,Ks=`CreationDate`,qs=`CarrierGatewayId`,Js=`CurrentGeneration`,Ys=`CarrierIp`,Xs=`CurrentInstanceBootMode`,Zs=`CreateInternetGateway`,Qs=`CreateInternetGatewayRequest`,$s=`CreateInternetGatewayResult`,ec=`CreateImageRequest`,tc=`CreateImageResult`,nc=`CidrIp`,rc=`CidrIpv6`,ic=`CidrIpv4`,ac=`CoreInfo`,oc=`CreateImage`,sc=`CreateKeyPair`,cc=`CreateKeyPairRequest`,lc=`CoreNetworkArn`,uc=`CpuOptions`,dc=`CustomerOwnedIp`,fc=`CustomerOwnedIpv4Pool`,pc=`CpuOptionsRequest`,mc=`CreatePlacementGroup`,hc=`CreatePlacementGroupRequest`,gc=`CreatePlacementGroupResult`,_c=`CapacityReservationId`,vc=`CapacityReservationPreference`,yc=`CreateRouteRequest`,bc=`CapacityReservationResourceGroupArn`,xc=`CreateRouteResult`,Sc=`CapacityReservationSpecificationResponse`,Cc=`CapacityReservationSpecification`,wc=`CapacityReservationTarget`,Tc=`CapacityReservationTargetResponse`,Ec=`CreateRouteTableRequest`,Dc=`CreateRouteTableResult`,Oc=`CreateRouteTable`,kc=`CreateRoute`,Ac=`CreateSecurityGroup`,jc=`CreateSecurityGroupRequest`,Mc=`CreateSecurityGroupResult`,Nc=`CopySnapshotRequest`,Pc=`CopySnapshotRequestPSU`,Fc=`CopySnapshotResult`,Ic=`CreateSnapshotRequest`,Lc=`CreateSubnetRequest`,Rc=`CreateSubnetResult`,zc=`CreditSpecificationRequest`,Bc=`CopySnapshot`,Vc=`CreditSpecification`,Hc=`CreateSnapshot`,Uc=`CreateSubnet`,Wc=`CurrentState`,Gc=`ClientToken`,Kc=`ConnectionTrackingConfiguration`,qc=`ConnectionTrackingSpecification`,Jc=`ConnectionTrackingSpecificationRequest`,Yc=`ConnectionTrackingSpecificationResponse`,Xc=`CompletionTime`,Zc=`CreateTime`,Qc=`CreateVolumeRequest`,$c=`CreateVpcRequest`,el=`CreateVpcResult`,tl=`CreateVolume`,nl=`CreateVpc`,rl=`Code`,il=`Configured`,al=`Count`,ol=`DisableApiStop`,sl=`DisableApiTermination`,cl=`DestinationAvailabilityZone`,ll=`DescribeAvailabilityZonesRequest`,ul=`DescribeAvailabilityZonesResult`,dl=`DescribeAvailabilityZones`,fl=`DestinationCidrBlock`,pl=`DefaultConnectionTrackingConfiguration`,ml=`DefaultCores`,hl=`DataEncryptionKeyId`,gl=`DefaultEnaQueueCountPerInterface`,_l=`DefaultForAz`,vl=`DedicatedHostsSupported`,yl=`DeviceIndex`,bl=`DestinationIpv6CidrBlock`,xl=`DescribeInternetGatewaysRequest`,Sl=`DescribeInternetGatewaysResult`,Cl=`DescribeInternetGateways`,wl=`DiskInfoList`,Tl=`DescribeImagesRequest`,El=`DescribeImagesResult`,Dl=`DescribeInstancesRequest`,Ol=`DescribeInstancesResult`,kl=`DescribeInstanceTypesRequest`,Al=`DescribeInstanceTypesResult`,jl=`DescribeInstanceTypes`,Ml=`DescribeImages`,Nl=`DescribeInstances`,Pl=`DiskInfo`,Fl=`DeleteKeyPair`,Il=`DeleteKeyPairRequest`,Ll=`DeleteKeyPairResult`,Rl=`DescribeKeyPairsRequest`,zl=`DescribeKeyPairsResult`,Bl=`DescribeKeyPairs`,Vl=`DeviceName`,Hl=`DefaultNetworkCardIndex`,Ul=`DestinationOutpostArn`,Wl=`DhcpOptionsId`,Gl=`DeleteOnTermination`,Kl=`DeletePlacementGroup`,ql=`DeletePlacementGroupRequest`,Jl=`DescribePlacementGroupsRequest`,Yl=`DescribePlacementGroupsResult`,Xl=`DescribePlacementGroups`,Zl=`DestinationPrefixListId`,Ql=`DeregistrationProtection`,p=`DryRun`,$l=`DescribeRegionsRequest`,eu=`DescribeRegionsResult`,tu=`DescribeRouteTablesRequest`,nu=`DescribeRouteTablesResult`,ru=`DescribeRouteTables`,iu=`DestinationRegion`,au=`DescribeRegions`,ou=`DeleteSecurityGroup`,su=`DeleteSecurityGroupRequest`,cu=`DeleteSecurityGroupResult`,lu=`DescribeSecurityGroupsRequest`,uu=`DescribeSecurityGroupsResult`,du=`DescribeSecurityGroups`,fu=`DeleteSnapshotRequest`,pu=`DeleteSubnetRequest`,mu=`DescribeSnapshotsRequest`,hu=`DescribeSnapshotsResult`,gu=`DescribeSubnetsRequest`,_u=`DescribeSubnetsResult`,vu=`DeleteSnapshot`,yu=`DeleteSubnet`,bu=`DescribeSnapshots`,xu=`DescribeSubnets`,Su=`DefaultTcpEstablishedTimeout`,Cu=`DefaultThreadsPerCore`,wu=`DeprecationTime`,Tu=`DefaultUdpStreamTimeout`,Eu=`DefaultUdpTimeout`,Du=`DefaultVCpus`,Ou=`DeleteVolumeRequest`,ku=`DeleteVpcRequest`,Au=`DescribeVolumesRequest`,ju=`DescribeVolumesResult`,Mu=`DescribeVpcsRequest`,Nu=`DescribeVpcsResult`,Pu=`DetachVolumeRequest`,Fu=`DeleteVolume`,Iu=`DeleteVpc`,Lu=`DescribeVolumes`,Ru=`DescribeVpcs`,zu=`DetachVolume`,Bu=`Description`,Vu=`Device`,Hu=`Disks`,Uu=`EbsBlockDevice`,Wu=`ExecutableByStringList`,Gu=`ExecutableBy`,Ku=`EbsCardIndex`,qu=`EbsCardInfoList`,Ju=`EbsCardInfo`,Yu=`EbsCards`,Xu=`EncryptionControl`,Zu=`EnableDns64`,Qu=`ElasticFileSystem`,$u=`ElasticFileSystemExclusion`,ed=`ElasticGpuAssociation`,td=`ElasticGpuAssociationId`,nd=`ElasticGpuAssociationList`,rd=`ElasticGpuAssociationState`,id=`ElasticGpuAssociationTime`,ad=`ElasticGpuAssociations`,od=`ElasticGpuId`,sd=`ElasticGpuSpecification`,cd=`ElasticGpuSpecifications`,ld=`ElasticInferenceAccelerator`,ud=`ElasticInferenceAcceleratorAssociation`,dd=`ElasticInferenceAcceleratorAssociationId`,fd=`ElasticInferenceAcceleratorAssociationList`,pd=`ElasticInferenceAcceleratorAssociationState`,md=`ElasticInferenceAcceleratorAssociationTime`,hd=`ElasticInferenceAcceleratorArn`,gd=`ElasticInferenceAcceleratorAssociations`,_d=`ElasticInferenceAccelerators`,vd=`EbsInstanceBlockDevice`,yd=`EbsInstanceBlockDeviceSpecification`,bd=`EncryptionInTransitSupported`,xd=`EbsInfo`,Sd=`EfaInfo`,Cd=`EnableLniAtDeviceIndex`,wd=`EbsOptimized`,Td=`EbsOptimizedInfo`,Ed=`EgressOnlyInternetGateway`,Dd=`EgressOnlyInternetGatewayExclusion`,Od=`EgressOnlyInternetGatewayId`,kd=`EnclaveOptionsRequest`,Ad=`EbsOptimizedSupport`,jd=`EnclaveOptions`,Md=`EnablePrimaryIpv6`,Nd=`EnaQueueCount`,Pd=`EnableResourceNameDnsAAAARecord`,Fd=`EnableResourceNameDnsARecord`,Id=`EnaSrdEnabled`,Ld=`EnaSrdSpecification`,Rd=`EnaSrdSpecificationRequest`,zd=`EnaSrdSupported`,Bd=`EnaSrdUdpEnabled`,Vd=`EnaSrdUdpSpecification`,Hd=`EnaSrdUdpSpecificationRequest`,Ud=`EfaSupported`,Wd=`EncryptionSupport`,Gd=`EnaSupport`,Kd=`EndTime`,qd=`ExecutableUsers`,Jd=`Ebs`,Yd=`Enabled`,Xd=`Encrypted`,Zd=`Endpoint`,Qd=`Force`,$d=`FpgaDeviceInfo`,ef=`FpgaDeviceInfoList`,tf=`FpgaDeviceMemoryInfo`,nf=`FlexibleEnaQueuesSupport`,rf=`FpgaInfo`,af=`FilterList`,of=`FromPort`,sf=`FastRestored`,cf=`FullSnapshotSizeInBytes`,lf=`FreeTierEligible`,uf=`Filters`,df=`Filter`,ff=`Fpgas`,pf=`Groups`,mf=`GroupArn`,hf=`GetConsoleOutput`,gf=`GetConsoleOutputRequest`,_f=`GetConsoleOutputResult`,vf=`GroupDescription`,yf=`GpuDeviceInfo`,bf=`GpuDeviceInfoList`,xf=`GpuDeviceMemoryInfo`,Sf=`GatewayId`,Cf=`GroupIdentifierList`,wf=`GroupIdStringList`,Tf=`GpuInfo`,Ef=`GroupId`,Df=`GroupIds`,Of=`GroupIdentifier`,kf=`GroupLongName`,Af=`GroupName`,jf=`GroupNameStringList`,Mf=`GroupNames`,Nf=`GroupOwnerId`,Pf=`GpuPartitionSize`,Ff=`Geography`,If=`Gpus`,Lf=`HttpEndpoint`,Rf=`HostId`,zf=`HibernationOptions`,Bf=`HibernationOptionsRequest`,Vf=`HttpProtocolIpv6`,Hf=`HttpPutResponseHopLimit`,Uf=`HostResourceGroupArn`,Wf=`HibernationSupported`,Gf=`HttpTokens`,Kf=`HostnameType`,qf=`Hibernate`,Jf=`Hypervisor`,Yf=`Id`,Xf=`Ipv6Addresses`,Zf=`Ipv6AddressAttribute`,Qf=`Ipv6AddressCount`,$f=`InstanceAttachmentEnaSrdSpecification`,ep=`InstanceAttachmentEnaSrdUdpSpecification`,tp=`InferenceAcceleratorInfo`,np=`Ipv4AddressesPerInterface`,rp=`Ipv6AddressesPerInterface`,ip=`Ipv4AddressesPerSecondaryInterface`,ap=`ImageAllowed`,op=`IpAddress`,sp=`Ipv6Address`,cp=`InstanceBlockDeviceMapping`,lp=`InstanceBlockDeviceMappingList`,up=`InstanceBlockDeviceMappingSpecification`,dp=`InstanceBlockDeviceMappingSpecificationList`,fp=`Ipv6CidrBlock`,pp=`Ipv6CidrBlockAssociationSet`,mp=`Ipv6CidrBlockNetworkBorderGroup`,hp=`Ipv6CidrBlockState`,gp=`IncludeDeprecated`,_p=`InferenceDeviceInfo`,vp=`InferenceDeviceInfoList`,yp=`InferenceDeviceMemoryInfo`,bp=`IncludeDisabled`,xp=`IsDefault`,Sp=`IsEgress`,Cp=`InternetGateway`,wp=`InternetGatewayAttachment`,Tp=`InternetGatewayAttachmentList`,Ep=`InternetGatewayBlockMode`,Dp=`InternetGatewayExclusion`,Op=`InternetGatewayId`,kp=`InternetGatewayIdList`,Ap=`InternetGatewayIds`,jp=`InternetGatewayList`,Mp=`InternetGateways`,Np=`InstanceId`,Pp=`InstanceIpv6Address`,Fp=`InstanceIpv6AddressList`,Ip=`InstanceInterruptionBehavior`,Lp=`IamInstanceProfile`,Rp=`Ipv6IpamPoolId`,zp=`Ipv4IpamPoolId`,Bp=`InstanceIpv4PrefixList`,Vp=`InstanceIpv6PrefixList`,Hp=`IamInstanceProfileSpecification`,Up=`InstanceIpv4Prefix`,Wp=`InstanceIpv6Prefix`,Gp=`InstanceInitiatedShutdownBehavior`,Kp=`ImageIdStringList`,qp=`InstanceIdStringList`,Jp=`ImageId`,Yp=`ImageIds`,Xp=`InstanceIds`,Zp=`ImportKeyPair`,Qp=`ImportKeyPairRequest`,$p=`ImportKeyPairResult`,em=`ImageLocation`,tm=`ImageList`,nm=`InstanceLifecycle`,rm=`InstanceList`,im=`InstanceMaintenanceOptions`,am=`InstanceMaintenanceOptionsRequest`,om=`InstanceMarketOptionsRequest`,sm=`InstanceMetadataOptionsRequest`,cm=`InstanceMetadataOptionsResponse`,lm=`InstanceMarketOptions`,um=`InstanceMetadataTags`,dm=`Ipv6Native`,fm=`InstanceNetworkInterface`,pm=`InstanceNetworkInterfaceAssociation`,mm=`InstanceNetworkInterfaceAttachment`,hm=`InstanceNetworkInterfaceList`,gm=`InstanceNetworkInterfaceSpecification`,_m=`InstanceNetworkInterfaceSpecificationList`,vm=`Ipv6NetmaskLength`,ym=`Ipv4NetmaskLength`,bm=`InstanceNetworkPerformanceOptions`,xm=`InstanceNetworkPerformanceOptionsRequest`,Sm=`ImageOwnerAlias`,Cm=`IpOwnerId`,wm=`InstanceOwnerId`,Tm=`InstanceOwningService`,Em=`Ipv6PrefixCount`,Dm=`Ipv4PrefixCount`,Om=`IpPermissionsEgress`,km=`InstancePrivateIpAddress`,Am=`InstancePrivateIpAddressList`,jm=`IsPrimaryIpv6`,Mm=`IncludePublicKey`,Nm=`IpPermissionList`,Pm=`Ipv4PrefixList`,Fm=`Ipv6PrefixList`,Im=`Ipv4PrefixSpecificationRequest`,Lm=`Ipv6PrefixSpecificationRequest`,Rm=`Ipv6Prefixes`,zm=`IpPermissions`,Bm=`IpPermission`,Vm=`IpProtocol`,Hm=`Ipv6Prefix`,Um=`Ipv6Pool`,Wm=`Ipv4Prefixes`,Gm=`Ipv4Prefix`,Km=`IpRangeList`,qm=`Ipv6RangeList`,Jm=`IpRanges`,Ym=`IpRange`,Xm=`Ipv6Ranges`,Zm=`Ipv6Range`,Qm=`InstanceStateChange`,$m=`InstanceStateChangeList`,eh=`InstanceSecondaryInterfaceAttachment`,th=`InstanceSecondaryInterfaceList`,nh=`InstanceSecondaryInterfacePrivateIpAddress`,rh=`InstanceSecondaryInterfacePrivateIpAddressList`,ih=`InstanceSecondaryInterfacePrivateIpAddressListRequest`,ah=`InstanceSecondaryInterfacePrivateIpAddressRequest`,oh=`InstanceSecondaryInterfaceSpecificationListRequest`,sh=`InstanceSecondaryInterfaceSpecificationRequest`,ch=`InstanceSecondaryInterface`,lh=`InstanceStorageInfo`,uh=`InstanceStorageSupported`,dh=`ImdsSupport`,fh=`InstanceState`,ph=`IpSource`,mh=`Ipv6Supported`,hh=`InstanceType`,gh=`InstanceTypeInfoList`,_h=`InstanceTypeInfo`,vh=`ImageType`,yh=`InstanceTenancy`,bh=`InstanceTypes`,xh=`InterfaceType`,Sh=`Images`,Ch=`Image`,wh=`Instance`,Th=`Instances`,Eh=`Iops`,Dh=`Key`,Oh=`KeyFormat`,kh=`KeyFingerprint`,Ah=`KernelId`,jh=`KmsKeyId`,Mh=`KeyMaterial`,Nh=`KeyName`,Ph=`KeyNameStringList`,Fh=`KeyNames`,Ih=`KeyPairs`,Lh=`KeyPairId`,Rh=`KeyPairIdStringList`,zh=`KeyPairIds`,Bh=`KeyPairInfo`,Vh=`KeyPairList`,Hh=`KeyPair`,Uh=`KeyType`,Wh=`Kernel`,Gh=`LicenseConfigurationArn`,Kh=`LicenseConfigurationRequest`,qh=`LicenseConfiguration`,Jh=`LambdaExclusion`,Yh=`LogicalGpuCount`,Xh=`LocalGatewayId`,Zh=`LinkedGroupId`,Qh=`LicenseList`,$h=`LastLaunchedTime`,eg=`LicenseSpecifications`,tg=`LicenseSpecificationListRequest`,ng=`LicenseSpecification`,rg=`LaunchTemplate`,ig=`LaunchTemplateId`,ag=`LaunchTemplateName`,og=`LaunchTemplateSpecification`,sg=`LaunchTime`,cg=`Latest`,lg=`Lambda`,ug=`Licenses`,dg=`Location`,fg=`MultiAttachEnabled`,pg=`MediaAcceleratorInfo`,mg=`MacAddress`,hg=`MaximumBandwidthInMbps`,gg=`MapCustomerOwnedIpOnLaunch`,_g=`MaxCount`,vg=`MinCount`,yg=`MediaDeviceInfo`,bg=`MediaDeviceInfoList`,xg=`MediaDeviceMemoryInfo`,Sg=`MaximumEbsAttachments`,Cg=`MaximumEbsCards`,wg=`MaximumEfaInterfaces`,Tg=`MaximumEnaQueueCount`,Eg=`MaximumEnaQueueCountPerInterface`,Dg=`MaximumIops`,Og=`ModifyInstanceAttributeRequest`,kg=`ModifyInstanceAttribute`,Ag=`MemoryInfo`,jg=`MaximumNetworkCards`,Mg=`MaximumNetworkInterfaces`,Ng=`MetadataOptions`,Pg=`MaintenanceOptions`,Fg=`MapPublicIpOnLaunch`,Ig=`MaxPrice`,Lg=`MaxResults`,Rg=`MaximumSecondaryNetworkInterfaces`,zg=`ModificationState`,Bg=`MarketType`,Vg=`MaximumThroughputInMBps`,Hg=`ModifyVolumeRequest`,Ug=`ModifyVolumeResult`,Wg=`ModifyVolume`,Gg=`Main`,Kg=`Manufacturer`,qg=`Managed`,Jg=`Message`,Yg=`Messages`,Xg=`Mode`,Zg=`Monitoring`,Qg=`Name`,$g=`NetworkBorderGroup`,e_=`NetworkCards`,t_=`NetworkCardIndex`,n_=`NetworkCardInfoList`,r_=`NetworkCardInfo`,i_=`NoDevice`,a_=`NeuronDeviceCoreInfo`,o_=`NeuronDeviceInfo`,s_=`NeuronDeviceInfoList`,c_=`NeuronDeviceMemoryInfo`,l_=`NeuronDevices`,u_=`NitroEnclavesSupport`,d_=`NatGateway`,f_=`NatGatewayExclusion`,p_=`NatGatewayId`,m_=`NetworkInterfaceId`,h_=`NetworkInterfaces`,g_=`NetworkInfo`,__=`NeuronInfo`,v_=`NetworkPerformanceOptions`,y_=`NetworkPerformance`,b_=`NoReboot`,x_=`NvmeSupport`,S_=`NitroTpmInfo`,C_=`NitroTpmSupport`,w_=`NitroTpmSupportedVersionsList`,T_=`NextToken`,E_=`NestedVirtualization`,D_=`Origin`,O_=`OutpostArn`,k_=`OwnerAlias`,A_=`OwnerId`,j_=`OptInStatus`,M_=`OriginalIops`,N_=`OwnerIds`,P_=`OriginalMultiAttachEnabled`,F_=`OdbNetworkArn`,I_=`OperatorRequest`,L_=`OperatorResponse`,R_=`OwnerStringList`,z_=`OriginalSize`,B_=`OriginalThroughput`,V_=`OriginalVolumeType`,H_=`Operator`,U_=`Output`,W_=`Owners`,G_=`Owner`,K_=`Principal`,q_=`PeakBandwidthInGbps`,J_=`ProductCodeId`,Y_=`ProductCodeList`,X_=`ProductCodeType`,Z_=`PartitionCount`,Q_=`ProductCode`,$_=`ProductCodes`,ev=`PrivateDnsName`,tv=`PrivateDnsNameOptions`,nv=`PrivateDnsNameOptionsOnLaunch`,rv=`PrivateDnsNameOptionsRequest`,iv=`PrivateDnsNameOptionsResponse`,av=`PublicDnsName`,ov=`PlatformDetails`,sv=`PlacementGroup`,cv=`PlacementGroupInfo`,lv=`PlacementGroupIdStringList`,uv=`PlacementGroupList`,dv=`PlacementGroupStrategyList`,fv=`PlacementGroups`,pv=`PublicIp`,mv=`PrivateIpAddressCount`,hv=`PrivateIpAddressSpecification`,gv=`PrivateIpAddressSpecificationList`,_v=`PrivateIpAddress`,vv=`PrivateIpAddresses`,yv=`PublicIpAddress`,bv=`PublicIpv4Pool`,xv=`PrimaryIpv6`,Sv=`ProcessorInfo`,Cv=`PublicKey`,wv=`PublicKeyMaterial`,Tv=`PrefixListId`,Ev=`PrefixListIdList`,Dv=`PrefixListIds`,Ov=`PartitionNumber`,kv=`PeeringStatus`,Av=`PhcSupport`,jv=`PreviousState`,Mv=`PresignedUrl`,Nv=`PropagatingVgw`,Pv=`PropagatingVgwList`,Fv=`PropagatingVgws`,Iv=`ParentZoneId`,Lv=`ParentZoneName`,Rv=`Platform`,zv=`Placement`,Bv=`Primary`,Vv=`Progress`,Hv=`Public`,Uv=`Return`,Wv=`RestorableByUserIds`,Gv=`RestorableBy`,Kv=`RootDeviceName`,qv=`RootDeviceType`,Jv=`RootDeviceTypeList`,Yv=`RestoreExpiryTime`,Xv=`ResourceExclusions`,Zv=`RegionGeography`,Qv=`ReferencedGroupId`,$v=`ReferencedGroupInfo`,ey=`RegionGeographyList`,ty=`RunInstancesMonitoringEnabled`,ny=`RebootInstancesRequest`,ry=`RunInstancesRequest`,iy=`RunInstancesUserData`,ay=`RamdiskId`,oy=`ReservationId`,sy=`RebootInstances`,cy=`RequesterId`,ly=`RunInstances`,uy=`RegionList`,dy=`ReservationList`,fy=`RouteList`,py=`RebootMigrationSupport`,my=`RebootMigration`,hy=`RegionName`,gy=`RegionNameStringList`,_y=`RegionNames`,vy=`ReferencedSecurityGroup`,yy=`RevokeSecurityGroupEgress`,by=`RevokeSecurityGroupEgressRequest`,xy=`RevokeSecurityGroupEgressResult`,Sy=`RevokeSecurityGroupIngressRequest`,Cy=`RevokeSecurityGroupIngressResult`,wy=`RevokeSecurityGroupIngress`,Ty=`RevokedSecurityGroupRule`,Ey=`RevokedSecurityGroupRuleList`,Dy=`RevokedSecurityGroupRules`,Oy=`RouteTableAssociation`,ky=`RouteTableAssociationId`,Ay=`RouteTableAssociationList`,jy=`RouteTableAssociationState`,My=`RouteTableId`,Ny=`RouteTableIdStringList`,Py=`RouteTableIds`,Fy=`RouteTableList`,Iy=`ResourceType`,Ly=`RouteTable`,Ry=`RouteTables`,zy=`Ramdisk`,By=`Regions`,Vy=`Region`,Hy=`Reservations`,Uy=`Reservation`,Wy=`Route`,Gy=`Routes`,Ky=`SupportedAdditionalProcessorFeatureList`,qy=`SubnetArn`,Jy=`SupportedArchitectures`,Yy=`SupportedBootModes`,Xy=`SubnetCidrBlockState`,Zy=`SustainedClockSpeedInGhz`,Qy=`SourceDestCheck`,$y=`SpreadDomain`,eb=`SupportedFeatures`,tb=`SubGeography`,nb=`SecurityGroupArn`,rb=`SecurityGroupId`,ib=`SecurityGroupIdStringList`,ab=`SecurityGroupIds`,ob=`SecurityGroupList`,sb=`SecurityGroupRules`,cb=`SecurityGroupRuleArn`,lb=`SecurityGroupRuleIds`,ub=`SecurityGroupRuleIdList`,db=`SecurityGroupRuleId`,fb=`SecurityGroupRuleList`,pb=`SecurityGroupRule`,mb=`SecurityGroupStringList`,hb=`SecurityGroups`,gb=`SecurityGroup`,_b=`SubnetIds`,vb=`SubnetIpv6CidrBlockAssociation`,yb=`SubnetIpv6CidrBlockAssociationSet`,bb=`SizeInGB`,xb=`SourceImageId`,Sb=`SecondaryInterfaceId`,Cb=`SourceInstanceId`,wb=`SizeInMiB`,Tb=`SpotInstanceRequestId`,Eb=`SourceImageRegion`,Mee=`StartInstancesRequest`,Nee=`StartInstancesResult`,Pee=`StopInstancesRequest`,Fee=`StopInstancesResult`,Iee=`SnapshotIdStringList`,Lee=`SubnetIdStringList`,Ree=`SpotInstanceType`,Db=`SecondaryInterfaces`,zee=`SecondaryInterface`,Ob=`SnapshotId`,Bee=`SnapshotIds`,Vee=`StartingInstances`,Hee=`StartInstances`,Uee=`StoppingInstances`,Wee=`StopInstances`,kb=`SubnetId`,Gee=`SnapshotLocation`,Kee=`SnapshotList`,Ab=`SpreadLevel`,qee=`SubnetList`,Jee=`SpotMarketOptions`,jb=`StatusMessage`,Mb=`StateMessage`,Yee=`SecondaryNetworkId`,Nb=`SriovNetSupport`,Xee=`SecondaryNetworkSupported`,Zee=`SpotOptions`,Pb=`SkipOsShutdown`,Qee=`SecondaryPrivateIpAddressCount`,$ee=`SupportedRootDeviceTypes`,ete=`SourceRegion`,Fb=`StateReason`,Ib=`SourceSecurityGroupName`,Lb=`SourceSecurityGroupOwnerId`,tte=`SourceSnapshotId`,Rb=`SecondarySubnetId`,nte=`SupportedStrategies`,zb=`StartTime`,rte=`StateTransitionReason`,Bb=`SseType`,ite=`StorageTier`,ate=`SupportedUsageClasses`,ote=`SensitiveUserData`,ste=`SourceVolumeId`,cte=`SupportedVirtualizationTypes`,lte=`SupportedVersions`,Vb=`Size`,ute=`Snapshots`,dte=`Snapshot`,Hb=`State`,Ub=`Status`,Wb=`Strategy`,Gb=`Subnet`,fte=`Subnets`,Kb=`Tags`,qb=`TcpEstablishedTimeout`,pte=`TotalFpgaMemoryInMiB`,Jb=`TransitGatewayId`,mte=`TotalGpuMemoryInMiB`,hte=`TerminateInstances`,gte=`TotalInferenceMemoryInMiB`,_te=`TerminateInstancesRequest`,vte=`TerminateInstancesResult`,yte=`TargetIops`,bte=`TerminatingInstances`,xte=`TagList`,Ste=`TargetMultiAttachEnabled`,Cte=`TotalMediaMemoryInMiB`,wte=`TotalNeuronDeviceMemoryInMiB`,Yb=`ToPort`,Xb=`ThreadsPerCore`,Tte=`ThreadsPerCoreList`,Zb=`TagSpecifications`,Ete=`TotalSizeInGB`,Dte=`TagSpecificationList`,Qb=`TagSpecification`,Ote=`TargetSize`,$b=`TpmSupport`,kte=`TargetThroughput`,Ate=`TransferType`,jte=`TargetVolumeType`,ex=`Tag`,Mte=`Tenancy`,tx=`Throughput`,Nte=`Timestamp`,nx=`Type`,Pte=`UsageClassTypeList`,rx=`UserData`,ix=`UserId`,ax=`UserIdGroupPairs`,ox=`UserIdGroupPairList`,sx=`UserIdGroupPair`,cx=`UnknownIpPermissions`,lx=`UsageOperation`,ux=`UsageOperationUpdateTime`,dx=`UdpStreamTimeout`,fx=`UdpTimeout`,px=`Value`,mx=`VolumeAttachmentList`,hx=`VolumeAttachment`,gx=`VpcCidrBlockAssociation`,_x=`VpcCidrBlockAssociationSet`,vx=`VpcCidrBlockState`,yx=`VCpuInfo`,bx=`ValidCores`,xx=`VpcEncryptionControl`,Sx=`VpcEncryptionControlConfiguration`,Cx=`VpcEncryptionControlExclusion`,wx=`VpcEncryptionControlExclusions`,Tx=`VpcEncryptionControlId`,Ex=`VpcEndpointId`,Dx=`VpcId`,Ox=`VpcIpv6CidrBlockAssociation`,kx=`VpcIpv6CidrBlockAssociationSet`,Ax=`VolumeInitializationRate`,jx=`VolumeIdStringList`,Mx=`VpcIdStringList`,Nx=`VolumeId`,Px=`VolumeIds`,Fx=`VpcIds`,Ix=`VpcLattice`,Lx=`VpcLatticeExclusion`,Rx=`VolumeList`,zx=`VpcList`,Bx=`VolumeModification`,Vx=`VirtualName`,Hx=`VolumeOwnerId`,Ux=`VpcPeeringConnectionId`,Wx=`VpcPeeringExclusion`,Gx=`VirtualPrivateGateway`,Kx=`VirtualPrivateGatewayExclusion`,qx=`VpcPeering`,Jx=`ValueStringList`,Yx=`VolumeSize`,Xx=`VolumeType`,Zx=`VirtualizationTypeList`,Qx=`ValidThreadsPerCore`,$x=`VirtualizationType`,eS=`ValidUntil`,tS=`Values`,nS=`Version`,rS=`Volumes`,iS=`Volume`,aS=`Vpc`,oS=`Vpcs`,sS=`WorkloadsList`,cS=`Workloads`,lS=`ZoneId`,uS=`ZoneIdStringList`,dS=`ZoneIds`,fS=`ZoneName`,pS=`ZoneNameStringList`,mS=`ZoneNames`,hS=`ZoneType`,gS=`additionalFlexibleNetworkInterfaces`,_S=`availableIpAddressCount`,vS=`assignIpv6AddressOnCreation`,yS=`additionalInfo`,bS=`associationId`,xS=`attachmentId`,SS=`amiLaunchIndex`,CS=`attachmentLimitType`,wS=`associatePublicIpAddress`,TS=`amazonProvidedIpv6CidrBlock`,ES=`autoRecoverySupported`,DS=`associatedResource`,OS=`autoRecovery`,kS=`associationState`,AS=`amdSevSnp`,jS=`associationSet`,MS=`attachmentSet`,NS=`attachTime`,PS=`availabilityZone`,FS=`availabilityZoneId`,IS=`availabilityZoneInfo`,LS=`accelerators`,RS=`affinity`,zS=`arn`,BS=`architecture`,VS=`association`,HS=`attachment`,US=`attribute`,WS=`baselineBandwidthInGbps`,GS=`baselineBandwidthInMbps`,KS=`blockDeviceMapping`,qS=`baselineIops`,JS=`bootMode`,YS=`bareMetal`,XS=`blockPublicAccessStates`,ZS=`burstablePerformanceSupported`,QS=`baselineThroughputInMBps`,$S=`bandwidthWeighting`,eC=`bandwidthWeightings`,tC=`cidrBlock`,nC=`cidrBlockAssociationSet`,rC=`capacityBlockId`,iC=`cidrBlockState`,aC=`coreCount`,oC=`completionDurationMinutes`,sC=`creationDate`,cC=`carrierGatewayId`,lC=`currentGeneration`,uC=`carrierIp`,dC=`currentInstanceBootMode`,fC=`cidrIp`,pC=`cidrIpv6`,mC=`cidrIpv4`,hC=`coreInfo`,gC=`coreNetworkArn`,_C=`cpuOptions`,vC=`customerOwnedIp`,yC=`customerOwnedIpv4Pool`,bC=`capacityReservationId`,xC=`capacityReservationPreference`,SC=`capacityReservationResourceGroupArn`,CC=`capacityReservationSpecification`,wC=`capacityReservationTarget`,TC=`currentState`,EC=`clientToken`,DC=`connectionTrackingConfiguration`,OC=`completionTime`,kC=`createTime`,AC=`code`,jC=`configured`,MC=`count`,NC=`disableApiTermination`,PC=`destinationCidrBlock`,FC=`defaultCores`,IC=`dataEncryptionKeyId`,LC=`defaultEnaQueueCountPerInterface`,RC=`defaultForAz`,zC=`dedicatedHostsSupported`,BC=`deviceIndex`,VC=`destinationIpv6CidrBlock`,HC=`deviceName`,UC=`defaultNetworkCardIndex`,WC=`dnsName`,GC=`dhcpOptionsId`,KC=`deleteOnTermination`,qC=`destinationPrefixListId`,JC=`deregistrationProtection`,m=`dryRun`,YC=`destinationRegion`,XC=`defaultTcpEstablishedTimeout`,ZC=`defaultThreadsPerCore`,QC=`deprecationTime`,$C=`defaultUdpStreamTimeout`,ew=`defaultUdpTimeout`,tw=`defaultVCpus`,nw=`description`,rw=`device`,iw=`disks`,aw=`ebsCardIndex`,ow=`ebsCardSet`,sw=`encryptionControl`,cw=`enableDns64`,lw=`elasticFileSystem`,uw=`elasticGpuAssociationId`,dw=`elasticGpuAssociationState`,fw=`elasticGpuAssociationSet`,pw=`elasticGpuAssociationTime`,mw=`elasticGpuId`,hw=`elasticInferenceAcceleratorArn`,gw=`elasticInferenceAcceleratorAssociationId`,_w=`elasticInferenceAcceleratorAssociationState`,vw=`elasticInferenceAcceleratorAssociationSet`,yw=`elasticInferenceAcceleratorAssociationTime`,bw=`encryptionInTransitSupported`,xw=`ebsInfo`,Sw=`efaInfo`,Cw=`enableLniAtDeviceIndex`,ww=`ebsOptimized`,Tw=`ebsOptimizedInfo`,Ew=`egressOnlyInternetGateway`,Dw=`egressOnlyInternetGatewayId`,Ow=`ebsOptimizedSupport`,kw=`enclaveOptions`,Aw=`enaQueueCount`,h=`ec2QueryName`,jw=`enableResourceNameDnsAAAARecord`,Mw=`enableResourceNameDnsARecord`,Nw=`enaSrdEnabled`,Pw=`enaSrdSpecification`,Fw=`enaSrdSupported`,Iw=`enaSrdUdpEnabled`,Lw=`enaSrdUdpSpecification`,Rw=`efaSupported`,zw=`encryptionSupport`,Bw=`enaSupport`,Vw=`endTime`,Hw=`ebs`,Uw=`enabled`,Ww=`encrypted`,Gw=`flexibleEnaQueuesSupport`,Kw=`fpgaInfo`,qw=`fromPort`,Jw=`fastRestored`,Yw=`fullSnapshotSizeInBytes`,Xw=`freeTierEligible`,Zw=`force`,Qw=`fpgas`,$w=`groupArn`,eT=`groupDescription`,tT=`gatewayId`,nT=`gpuInfo`,rT=`groupId`,iT=`groupLongName`,aT=`groupName`,oT=`groupOwnerId`,sT=`gpuPartitionSize`,cT=`geographySet`,lT=`groupSet`,uT=`gpus`,dT=`groups`,fT=`hypervisor`,pT=`httpEndpoint`,mT=`hostId`,hT=`hibernationOptions`,gT=`httpProtocolIpv6`,_T=`httpPutResponseHopLimit`,vT=`hostResourceGroupArn`,yT=`hibernationSupported`,bT=`httpTokens`,xT=`hostnameType`,ST=`id`,CT=`ipv6AddressAttribute`,wT=`ipv6AddressCount`,TT=`inferenceAcceleratorInfo`,ET=`ipv4AddressesPerInterface`,DT=`ipv6AddressesPerInterface`,OT=`ipv4AddressesPerSecondaryInterface`,kT=`ipv6AddressesSet`,AT=`imageAllowed`,jT=`ipAddress`,MT=`ipv6Address`,NT=`ipv6CidrBlock`,PT=`ipv6CidrBlockAssociationSet`,FT=`ipv6CidrBlockState`,IT=`isDefault`,LT=`isEgress`,RT=`internetGateway`,zT=`internetGatewayBlockMode`,BT=`internetGatewayId`,VT=`internetGatewaySet`,HT=`instanceId`,UT=`iamInstanceProfile`,WT=`instanceInitiatedShutdownBehavior`,GT=`imageId`,KT=`imageLocation`,qT=`instanceLifecycle`,JT=`instanceMetadataTags`,YT=`ipv6Native`,XT=`imageOwnerAlias`,ZT=`imageOwnerId`,QT=`instanceOwnerId`,$T=`ipOwnerId`,eE=`instanceOwningService`,tE=`ipPermissionsEgress`,nE=`isPrimaryIpv6`,rE=`ipv4PrefixSet`,iE=`ipv6PrefixSet`,aE=`ipProtocol`,oE=`ipPermissions`,sE=`ipv4Prefix`,cE=`ipv6Pool`,lE=`ipv6Prefix`,uE=`isPublic`,dE=`ipRanges`,fE=`ipv6Ranges`,pE=`instanceStorageInfo`,mE=`instanceStorageSupported`,hE=`imagesSet`,gE=`imageState`,_E=`imdsSupport`,vE=`instancesSet`,yE=`instanceState`,bE=`ipSource`,xE=`ipv6Supported`,SE=`instanceType`,CE=`instanceTypeSet`,wE=`idempotencyToken`,TE=`imageType`,EE=`instanceTenancy`,DE=`interfaceType`,OE=`iops`,g=`item`,kE=`key`,AE=`keyFingerprint`,jE=`kernelId`,ME=`kmsKeyId`,NE=`keyMaterial`,PE=`keyName`,FE=`keyPairId`,IE=`keySet`,LE=`keyType`,RE=`kernel`,zE=`licenseConfigurationArn`,BE=`logicalGpuCount`,VE=`localGatewayId`,HE=`linkedGroupId`,UE=`lastLaunchedTime`,WE=`licenseSet`,GE=`launchTime`,KE=`lambda`,qE=`multiAttachEnabled`,JE=`mediaAcceleratorInfo`,YE=`macAddress`,XE=`maximumBandwidthInMbps`,ZE=`mapCustomerOwnedIpOnLaunch`,QE=`maximumEbsAttachments`,$E=`maximumEbsCards`,eD=`maximumEfaInterfaces`,tD=`maximumEnaQueueCount`,nD=`maximumEnaQueueCountPerInterface`,rD=`maximumIops`,iD=`memoryInfo`,aD=`maximumNetworkCards`,oD=`maximumNetworkInterfaces`,sD=`metadataOptions`,cD=`maintenanceOptions`,lD=`mapPublicIpOnLaunch`,uD=`maxResults`,dD=`messageSet`,fD=`maximumSecondaryNetworkInterfaces`,pD=`modificationState`,mD=`maximumThroughputInMBps`,hD=`main`,gD=`manufacturer`,_D=`managed`,vD=`message`,yD=`monitoring`,bD=`mode`,xD=`name`,SD=`networkBorderGroup`,CD=`networkCards`,wD=`networkCardIndex`,TD=`noDevice`,ED=`neuronDevices`,DD=`nitroEnclavesSupport`,OD=`natGateway`,kD=`natGatewayId`,AD=`networkInterfaceId`,jD=`networkInterfaceSet`,MD=`networkInterface`,ND=`networkInfo`,PD=`neuronInfo`,FD=`networkPerformanceOptions`,ID=`networkPerformance`,LD=`noReboot`,RD=`nvmeSupport`,zD=`nitroTpmInfo`,BD=`nitroTpmSupport`,VD=`nextToken`,HD=`nestedVirtualization`,UD=`origin`,WD=`outpostArn`,GD=`ownerAlias`,KD=`ownerId`,qD=`optInStatus`,JD=`originalIops`,YD=`originalMultiAttachEnabled`,XD=`odbNetworkArn`,ZD=`originalSize`,QD=`originalThroughput`,$D=`originalVolumeType`,eO=`operator`,tO=`output`,nO=`principal`,rO=`peakBandwidthInGbps`,iO=`productCodes`,aO=`partitionCount`,oO=`productCode`,sO=`privateDnsNameOptions`,cO=`privateDnsNameOptionsOnLaunch`,lO=`privateDnsName`,uO=`publicDnsName`,dO=`platformDetails`,fO=`placementGroup`,pO=`placementGroupInfo`,mO=`placementGroupSet`,hO=`publicIp`,gO=`privateIpAddressesSet`,_O=`privateIpAddressSet`,vO=`privateIpAddress`,yO=`publicIpv4Pool`,bO=`processorInfo`,xO=`publicKey`,SO=`publicKeyMaterial`,CO=`prefixListId`,wO=`prefixListIds`,TO=`partitionNumber`,EO=`peeringStatus`,DO=`phcSupport`,OO=`previousState`,kO=`presignedUrl`,AO=`propagatingVgwSet`,jO=`parentZoneId`,MO=`parentZoneName`,NO=`platform`,PO=`placement`,FO=`primary`,IO=`progress`,LO=`return`,RO=`rootDeviceName`,zO=`rootDeviceType`,BO=`restoreExpiryTime`,VO=`regionEndpoint`,HO=`resourceExclusions`,UO=`referencedGroupId`,WO=`referencedGroupInfo`,GO=`reservationId`,KO=`ramdiskId`,qO=`regionInfo`,JO=`requesterId`,YO=`rebootMigrationSupport`,XO=`rebootMigration`,ZO=`regionName`,QO=`revokedSecurityGroupRuleSet`,$O=`reservationSet`,ek=`routeSet`,tk=`routeTableAssociationId`,nk=`routeTableId`,rk=`routeTableSet`,ik=`resourceType`,ak=`routeTable`,ok=`ramdisk`,sk=`reason`,ck=`smithy.ts.sdk.synthetic.com.amazonaws.ec2`,lk=`supportedArchitectures`,uk=`subnetArn`,dk=`supportedBootModes`,fk=`sustainedClockSpeedInGhz`,pk=`sourceDestCheck`,mk=`spreadDomain`,hk=`supportedFeatures`,gk=`securityGroupArn`,_k=`securityGroupInfo`,vk=`securityGroupRuleArn`,yk=`securityGroupRuleId`,bk=`securityGroupRuleSet`,xk=`subGeographySet`,Sk=`sizeInGB`,Ck=`sourceInstanceId`,wk=`secondaryInterfaceId`,Tk=`sourceImageId`,Ek=`sizeInMiB`,Dk=`sourceImageRegion`,Ok=`spotInstanceRequestId`,kk=`secondaryInterfaceSet`,Ak=`snapshotId`,jk=`subnetId`,Mk=`spreadLevel`,Nk=`statusMessage`,Pk=`stateMessage`,Fk=`secondaryNetworkId`,Ik=`secondaryNetworkSupported`,Lk=`sriovNetSupport`,Rk=`secondaryPrivateIpAddressCount`,zk=`supportedRootDeviceTypes`,Bk=`stateReason`,Vk=`sourceSecurityGroupName`,Hk=`sourceSecurityGroupOwnerId`,Uk=`secondarySubnetId`,Wk=`snapshotSet`,Gk=`subnetSet`,Kk=`supportedStrategies`,qk=`startTime`,Jk=`sseType`,Yk=`storageTier`,Xk=`supportedUsageClasses`,Zk=`sourceVolumeId`,Qk=`supportedVirtualizationTypes`,$k=`supportedVersions`,eA=`size`,tA=`state`,nA=`status`,rA=`strategy`,iA=`subnet`,aA=`tenancy`,oA=`tcpEstablishedTimeout`,sA=`totalFpgaMemoryInMiB`,cA=`transitGatewayId`,lA=`totalGpuMemoryInMiB`,uA=`totalInferenceMemoryInMiB`,dA=`targetIops`,fA=`targetMultiAttachEnabled`,pA=`totalMediaMemoryInMiB`,mA=`totalNeuronDeviceMemoryInMiB`,hA=`toPort`,gA=`threadsPerCore`,_A=`tagSet`,vA=`totalSizeInGB`,yA=`targetSize`,bA=`tpmSupport`,xA=`targetThroughput`,SA=`transferType`,CA=`targetVolumeType`,wA=`throughput`,TA=`timestamp`,EA=`type`,DA=`userData`,OA=`userId`,kA=`unknownIpPermissionSet`,AA=`usageOperation`,jA=`usageOperationUpdateTime`,MA=`udpStreamTimeout`,NA=`udpTimeout`,PA=`value`,FA=`vCpuInfo`,IA=`validCores`,LA=`vpcEncryptionControlId`,RA=`vpcId`,zA=`volumeInitializationRate`,BA=`volumeId`,VA=`vpcLattice`,HA=`volumeModification`,UA=`virtualName`,WA=`volumeOwnerId`,GA=`vpcPeeringConnectionId`,KA=`virtualPrivateGateway`,qA=`vpcPeering`,JA=`volumeSet`,YA=`volumeSize`,XA=`vpcSet`,ZA=`volumeType`,QA=`validThreadsPerCore`,$A=`virtualizationType`,ej=`version`,tj=`vpc`,nj=`workloadSet`,_=`xmlName`,rj=`zoneId`,ij=`zoneName`,aj=`zoneState`,oj=`zoneType`,v=`com.amazonaws.ec2`,sj=At.for(ck),cj=[-3,ck,`EC2ServiceException`,0,[],[]];sj.registerError(cj,Lo);var lj=[sj],uj=[0,v,Pc,8,0],dj=[0,v,iy,8,0],fj=[0,v,ote,8,0],pj=[3,v,es,0,[My,Sf,bv,p,kb],[[0,{[h]:`RouteTableId`,[_]:nk}],0,0,[2,{[h]:`DryRun`,[_]:m}],[0,{[h]:`SubnetId`,[_]:jk}]],1],mj=[3,v,ts,0,[qo,os],[[0,{[h]:`AssociationId`,[_]:bS}],[()=>tF,{[h]:`AssociationState`,[_]:kS}]]],hj=[3,v,Go,0,[Op,Dx,p],[[0,{[h]:`InternetGatewayId`,[_]:BT}],[0,{[h]:`VpcId`,[_]:RA}],[2,{[h]:`DryRun`,[_]:m}]],2],gj=[3,v,gs,0,[Vu,Np,Nx,Ku,p],[0,0,0,1,[2,{[h]:`DryRun`,[_]:m}]],3],_j=[3,v,zo,0,[px],[[2,{[h]:`Value`,[_]:PA}]]],vj=[3,v,_s,0,[px],[[0,{[h]:`Value`,[_]:PA}]]],yj=[3,v,cs,0,[Ef,Zb,p,Ib,Lb,Vm,of,Yb,nc,zm],[[0,{[h]:`GroupId`,[_]:rT}],[()=>hL,{[_]:Qb}],[2,{[h]:`DryRun`,[_]:m}],[0,{[h]:`SourceSecurityGroupName`,[_]:Vk}],[0,{[h]:`SourceSecurityGroupOwnerId`,[_]:Hk}],[0,{[h]:`IpProtocol`,[_]:aE}],[1,{[h]:`FromPort`,[_]:qw}],[1,{[h]:`ToPort`,[_]:hA}],[0,{[h]:`CidrIp`,[_]:fC}],[()=>TI,{[h]:`IpPermissions`,[_]:oE}]],1],bj=[3,v,ls,0,[Uv,sb],[[2,{[h]:`Return`,[_]:LO}],[()=>oL,{[h]:`SecurityGroupRuleSet`,[_]:bk}]]],xj=[3,v,us,0,[nc,of,Ef,Af,zm,Vm,Ib,Lb,Yb,Zb,p],[0,1,0,0,[()=>TI,0],0,0,0,1,[()=>hL,{[_]:Qb}],[2,{[h]:`DryRun`,[_]:m}]]],Sj=[3,v,ds,0,[Uv,sb],[[2,{[h]:`Return`,[_]:LO}],[()=>oL,{[h]:`SecurityGroupRuleSet`,[_]:bk}]]],Cj=[3,v,ys,0,[j_,Yg,hy,fS,lS,Af,$g,hS,Lv,Iv,kf,Ff,tb,Hb],[[0,{[h]:`OptInStatus`,[_]:qD}],[()=>LF,{[h]:`MessageSet`,[_]:dD}],[0,{[h]:`RegionName`,[_]:ZO}],[0,{[h]:`ZoneName`,[_]:ij}],[0,{[h]:`ZoneId`,[_]:rj}],[0,{[h]:`GroupName`,[_]:aT}],[0,{[h]:`NetworkBorderGroup`,[_]:SD}],[0,{[h]:`ZoneType`,[_]:oj}],[0,{[h]:`ParentZoneName`,[_]:MO}],[0,{[h]:`ParentZoneId`,[_]:jO}],[0,{[h]:`GroupLongName`,[_]:iT}],[()=>FF,{[h]:`GeographySet`,[_]:cT}],[()=>RF,{[h]:`SubGeographySet`,[_]:xk}],[0,{[h]:`ZoneState`,[_]:aj}]]],wj=[3,v,bs,0,[Qg],[[0,{[h]:`Name`,[_]:xD}]]],Tj=[3,v,hee,0,[Jg],[[0,{[h]:`Message`,[_]:vD}]]],Ej=[3,v,_ee,0,[Qg],[[0,{[h]:`Name`,[_]:xD}]]],Dj=[3,v,Cee,0,[px],[[21,{[h]:`Value`,[_]:PA}]]],Oj=[3,v,As,0,[Jd,i_,Vl,Vx],[[()=>KM,{[h]:`Ebs`,[_]:Hw}],[0,{[h]:`NoDevice`,[_]:TD}],[0,{[h]:`DeviceName`,[_]:HC}],[0,{[h]:`VirtualName`,[_]:UA}]]],kj=[3,v,Ps,0,[Ep],[[0,{[h]:`InternetGatewayBlockMode`,[_]:zT}]]],Aj=[3,v,Cc,0,[vc,wc],[0,()=>Mj]],jj=[3,v,Sc,0,[vc,wc],[[0,{[h]:`CapacityReservationPreference`,[_]:xC}],[()=>Nj,{[h]:`CapacityReservationTarget`,[_]:wC}]]],Mj=[3,v,wc,0,[_c,bc],[0,0]],Nj=[3,v,Tc,0,[_c,bc],[[0,{[h]:`CapacityReservationId`,[_]:bC}],[0,{[h]:`CapacityReservationResourceGroupArn`,[_]:SC}]]],Pj=[3,v,Jc,0,[qb,dx,fx],[1,1,1]],Fj=[3,v,Yc,0,[qb,dx,fx],[[1,{[h]:`TcpEstablishedTimeout`,[_]:oA}],[1,{[h]:`UdpStreamTimeout`,[_]:MA}],[1,{[h]:`UdpTimeout`,[_]:NA}]]],Ij=[3,v,Nc,0,[ete,tte,Bu,Ul,iu,Xd,jh,Mv,Zb,Gs,cl,p],[0,0,0,0,[0,{[h]:`DestinationRegion`,[_]:YC}],[2,{[h]:`Encrypted`,[_]:Ww}],[0,{[h]:`KmsKeyId`,[_]:ME}],[()=>uj,{[h]:`PresignedUrl`,[_]:kO}],[()=>hL,{[_]:Qb}],1,0,[2,{[h]:`DryRun`,[_]:m}]],2],Lj=[3,v,Fc,0,[Kb,Ob],[[()=>mL,{[h]:`TagSet`,[_]:_A}],[0,{[h]:`SnapshotId`,[_]:Ak}]]],Rj=[3,v,uc,0,[Us,Xb,ps,E_],[[1,{[h]:`CoreCount`,[_]:aC}],[1,{[h]:`ThreadsPerCore`,[_]:gA}],[0,{[h]:`AmdSevSnp`,[_]:AS}],[0,{[h]:`NestedVirtualization`,[_]:HD}]]],zj=[3,v,pc,0,[Us,Xb,ps,E_],[1,1,0,0]],Bj=[3,v,ec,0,[Np,Qg,Zb,Gee,p,Bu,b_,js],[[0,{[h]:`InstanceId`,[_]:HT}],[0,{[h]:`Name`,[_]:xD}],[()=>hL,{[_]:Qb}],0,[2,{[h]:`DryRun`,[_]:m}],[0,{[h]:`Description`,[_]:nw}],[2,{[h]:`NoReboot`,[_]:LD}],[()=>VF,{[h]:`BlockDeviceMapping`,[_]:KS}]],2],Vj=[3,v,tc,0,[Jp],[[0,{[h]:`ImageId`,[_]:GT}]]],Hj=[3,v,Qs,0,[Zb,p],[[()=>hL,{[_]:Qb}],[2,{[h]:`DryRun`,[_]:m}]]],Uj=[3,v,$s,0,[Cp],[[()=>nP,{[h]:`InternetGateway`,[_]:RT}]]],Wj=[3,v,cc,0,[Nh,Uh,Zb,Oh,p],[0,0,[()=>hL,{[_]:Qb}],0,[2,{[h]:`DryRun`,[_]:m}]],1],Gj=[3,v,hc,0,[Z_,Zb,Ab,Zh,H_,p,Af,Wb],[1,[()=>hL,{[_]:Qb}],0,0,()=>kP,[2,{[h]:`DryRun`,[_]:m}],[0,{[h]:`GroupName`,[_]:aT}],[0,{[h]:`Strategy`,[_]:rA}]]],Kj=[3,v,gc,0,[sv],[[()=>MP,{[h]:`PlacementGroup`,[_]:fO}]]],qj=[3,v,yc,0,[My,Zl,Ex,Jb,Xh,qs,lc,F_,p,fl,Sf,bl,Od,Np,m_,Ux,p_],[[0,{[h]:`RouteTableId`,[_]:nk}],0,0,0,0,0,0,0,[2,{[h]:`DryRun`,[_]:m}],[0,{[h]:`DestinationCidrBlock`,[_]:PC}],[0,{[h]:`GatewayId`,[_]:tT}],[0,{[h]:`DestinationIpv6CidrBlock`,[_]:VC}],[0,{[h]:`EgressOnlyInternetGatewayId`,[_]:Dw}],[0,{[h]:`InstanceId`,[_]:HT}],[0,{[h]:`NetworkInterfaceId`,[_]:AD}],[0,{[h]:`VpcPeeringConnectionId`,[_]:GA}],[0,{[h]:`NatGatewayId`,[_]:kD}]],1],Jj=[3,v,xc,0,[Uv],[[2,{[h]:`Return`,[_]:LO}]]],Yj=[3,v,Ec,0,[Dx,Zb,Gc,p],[[0,{[h]:`VpcId`,[_]:RA}],[()=>hL,{[_]:Qb}],[0,4],[2,{[h]:`DryRun`,[_]:m}]],1],Xj=[3,v,Dc,0,[Ly,Gc],[[()=>$P,{[h]:`RouteTable`,[_]:ak}],[0,{[h]:`ClientToken`,[_]:EC}]]],Zj=[3,v,jc,0,[Bu,Af,Dx,Zb,p],[[0,{[_]:vf}],0,0,[()=>hL,{[_]:Qb}],[2,{[h]:`DryRun`,[_]:m}]],2],Qj=[3,v,Mc,0,[Ef,Kb,nb],[[0,{[h]:`GroupId`,[_]:rT}],[()=>mL,{[h]:`TagSet`,[_]:_A}],[0,{[h]:`SecurityGroupArn`,[_]:gk}]]],$j=[3,v,Ic,0,[Nx,Bu,O_,Zb,dg,p],[0,0,0,[()=>hL,{[_]:Qb}],0,[2,{[h]:`DryRun`,[_]:m}]],1],eM=[3,v,Lc,0,[Dx,Zb,ys,Ss,Rs,fp,O_,dm,zp,ym,Rp,vm,p],[0,[()=>hL,{[_]:Qb}],0,0,0,0,0,2,0,1,0,1,[2,{[h]:`DryRun`,[_]:m}]],1],tM=[3,v,Rc,0,[Gb],[[()=>pF,{[h]:`Subnet`,[_]:iA}]]],nM=[3,v,Qc,0,[ys,Ss,Xd,Eh,jh,O_,Vb,Ob,Xx,Zb,fg,tx,Gc,Ax,H_,p],[0,0,[2,{[h]:`Encrypted`,[_]:Ww}],1,0,0,1,0,0,[()=>hL,{[_]:Qb}],2,1,[0,4],1,()=>kP,[2,{[h]:`DryRun`,[_]:m}]]],rM=[3,v,$c,0,[Rs,Um,fp,zp,ym,Rp,vm,mp,xx,Zb,p,yh,Qo],[0,0,0,0,1,0,1,0,()=>kF,[()=>hL,{[_]:Qb}],[2,{[h]:`DryRun`,[_]:m}],[0,{[h]:`InstanceTenancy`,[_]:EE}],[2,{[h]:`AmazonProvidedIpv6CidrBlock`,[_]:TS}]]],iM=[3,v,el,0,[aS],[[()=>TF,{[h]:`Vpc`,[_]:tj}]]],aM=[3,v,zc,0,[Ws],[0],1],oM=[3,v,pl,0,[Su,Eu,Tu],[[1,{[h]:`DefaultTcpEstablishedTimeout`,[_]:XC}],[1,{[h]:`DefaultUdpTimeout`,[_]:ew}],[1,{[h]:`DefaultUdpStreamTimeout`,[_]:$C}]]],sM=[3,v,Il,0,[Nh,Lh,p],[0,0,[2,{[h]:`DryRun`,[_]:m}]]],cM=[3,v,Ll,0,[Uv,Lh],[[2,{[h]:`Return`,[_]:LO}],[0,{[h]:`KeyPairId`,[_]:FE}]]],lM=[3,v,ql,0,[Af,p],[[0,{[h]:`GroupName`,[_]:aT}],[2,{[h]:`DryRun`,[_]:m}]],1],uM=[3,v,su,0,[Ef,Af,p],[0,0,[2,{[h]:`DryRun`,[_]:m}]]],dM=[3,v,cu,0,[Uv,Ef],[[2,{[h]:`Return`,[_]:LO}],[0,{[h]:`GroupId`,[_]:rT}]]],fM=[3,v,fu,0,[Ob,p],[0,[2,{[h]:`DryRun`,[_]:m}]],1],pM=[3,v,pu,0,[kb,p],[0,[2,{[h]:`DryRun`,[_]:m}]],1],mM=[3,v,Ou,0,[Nx,p],[0,[2,{[h]:`DryRun`,[_]:m}]],1],hM=[3,v,ku,0,[Dx,p],[0,[2,{[h]:`DryRun`,[_]:m}]],1],gM=[3,v,ll,0,[mS,dS,Ro,p,uf],[[()=>AL,{[_]:fS}],[()=>kL,{[_]:lS}],2,[2,{[h]:`DryRun`,[_]:m}],[()=>ZF,{[_]:df}]]],_M=[3,v,ul,0,[yee],[[()=>IF,{[h]:`AvailabilityZoneInfo`,[_]:IS}]]],vM=[3,v,Tl,0,[qd,Yp,W_,gp,bp,Lg,T_,p,uf],[[()=>XF,{[_]:Gu}],[()=>rI,{[_]:Jp}],[()=>zI,{[_]:G_}],2,2,1,0,[2,{[h]:`DryRun`,[_]:m}],[()=>ZF,{[_]:df}]]],yM=[3,v,El,0,[T_,Sh],[[0,{[h]:`NextToken`,[_]:VD}],[()=>iI,{[h]:`ImagesSet`,[_]:hE}]]],bM=[3,v,Dl,0,[Xp,p,uf,T_,Lg],[[()=>cI,{[_]:Np}],[2,{[h]:`DryRun`,[_]:m}],[()=>ZF,{[_]:df}],[0,{[h]:`NextToken`,[_]:VD}],[1,{[h]:`MaxResults`,[_]:uD}]]],xM=[3,v,Ol,0,[T_,Hy],[[0,{[h]:`NextToken`,[_]:VD}],[()=>XI,{[h]:`ReservationSet`,[_]:$O}]]],SM=[3,v,kl,0,[p,bh,uf,Lg,T_],[2,[64,{[_]:hh}],[()=>ZF,{[_]:df}],1,0]],CM=[3,v,Al,0,[bh,T_],[[()=>xI,{[h]:`InstanceTypeSet`,[_]:CE}],[0,{[h]:`NextToken`,[_]:VD}]]],wM=[3,v,xl,0,[T_,Lg,p,Ap,uf],[0,1,[2,{[h]:`DryRun`,[_]:m}],[()=>CI,{[h]:`InternetGatewayId`,[_]:BT}],[()=>ZF,{[_]:df}]]],TM=[3,v,Sl,0,[Mp,T_],[[()=>wI,{[h]:`InternetGatewaySet`,[_]:VT}],[0,{[h]:`NextToken`,[_]:VD}]]],EM=[3,v,Rl,0,[Fh,zh,Mm,p,uf],[[()=>AI,{[_]:Nh}],[()=>jI,{[_]:Lh}],2,[2,{[h]:`DryRun`,[_]:m}],[()=>ZF,{[_]:df}]]],DM=[3,v,zl,0,[Ih],[[()=>MI,{[h]:`KeySet`,[_]:IE}]]],OM=[3,v,Jl,0,[Df,p,Mf,uf],[[()=>BI,{[_]:Ef}],[2,{[h]:`DryRun`,[_]:m}],[64,{[h]:`GroupName`,[_]:aT}],[()=>ZF,{[_]:df}]]],kM=[3,v,Yl,0,[fv],[[()=>VI,{[h]:`PlacementGroupSet`,[_]:mO}]]],AM=[3,v,$l,0,[_y,rs,p,uf],[[()=>YI,{[_]:hy}],2,[2,{[h]:`DryRun`,[_]:m}],[()=>ZF,{[_]:df}]]],jM=[3,v,eu,0,[By],[[()=>JI,{[h]:`RegionInfo`,[_]:qO}]]],MM=[3,v,tu,0,[T_,Lg,p,Py,uf],[0,1,[2,{[h]:`DryRun`,[_]:m}],[()=>tL,{[_]:My}],[()=>ZF,{[_]:df}]]],NM=[3,v,nu,0,[Ry,T_],[[()=>nL,{[h]:`RouteTableSet`,[_]:rk}],[0,{[h]:`NextToken`,[_]:VD}]]],PM=[3,v,lu,0,[Df,Mf,T_,Lg,p,uf],[[()=>tI,{[_]:Ef}],[()=>nI,{[_]:Af}],0,1,[2,{[h]:`DryRun`,[_]:m}],[()=>ZF,{[_]:df}]]],FM=[3,v,uu,0,[T_,hb],[[0,{[h]:`NextToken`,[_]:VD}],[()=>iL,{[h]:`SecurityGroupInfo`,[_]:_k}]]],IM=[3,v,mu,0,[Lg,T_,N_,Wv,Bee,p,uf],[1,0,[()=>zI,{[_]:G_}],[64,{[_]:Gv}],[()=>cL,{[_]:Ob}],[2,{[h]:`DryRun`,[_]:m}],[()=>ZF,{[_]:df}]]],LM=[3,v,hu,0,[T_,ute],[[0,{[h]:`NextToken`,[_]:VD}],[()=>lL,{[h]:`SnapshotSet`,[_]:Wk}]]],RM=[3,v,gu,0,[uf,_b,T_,Lg,p],[[()=>ZF,{[_]:df}],[()=>uL,{[_]:kb}],0,1,[2,{[h]:`DryRun`,[_]:m}]]],zM=[3,v,_u,0,[T_,fte],[[0,{[h]:`NextToken`,[_]:VD}],[()=>fL,{[h]:`SubnetSet`,[_]:Gk}]]],BM=[3,v,Au,0,[Px,p,uf,T_,Lg],[[()=>SL,{[_]:Nx}],[2,{[h]:`DryRun`,[_]:m}],[()=>ZF,{[_]:df}],[0,{[h]:`NextToken`,[_]:VD}],[1,{[h]:`MaxResults`,[_]:uD}]]],VM=[3,v,ju,0,[T_,rS],[[0,{[h]:`NextToken`,[_]:VD}],[()=>CL,{[h]:`VolumeSet`,[_]:JA}]]],HM=[3,v,Mu,0,[uf,Fx,T_,Lg,p],[[()=>ZF,{[_]:df}],[()=>TL,{[_]:Dx}],0,1,[2,{[h]:`DryRun`,[_]:m}]]],UM=[3,v,Nu,0,[T_,oS],[[0,{[h]:`NextToken`,[_]:VD}],[()=>DL,{[h]:`VpcSet`,[_]:XA}]]],WM=[3,v,Pu,0,[Nx,Vu,Qd,Np,p],[0,0,2,0,[2,{[h]:`DryRun`,[_]:m}]],1],GM=[3,v,Pl,0,[bb,al,nx],[[1,{[h]:`SizeInGB`,[_]:Sk}],[1,{[h]:`Count`,[_]:MC}],[0,{[h]:`Type`,[_]:EA}]]],KM=[3,v,Uu,0,[Gl,Eh,Ob,Yx,Xx,jh,tx,O_,ys,Xd,Ax,Ss,Ku],[[2,{[h]:`DeleteOnTermination`,[_]:KC}],[1,{[h]:`Iops`,[_]:OE}],[0,{[h]:`SnapshotId`,[_]:Ak}],[1,{[h]:`VolumeSize`,[_]:YA}],[0,{[h]:`VolumeType`,[_]:ZA}],[0,{[h]:`KmsKeyId`,[_]:ME}],[1,{[h]:`Throughput`,[_]:wA}],[0,{[h]:`OutpostArn`,[_]:WD}],[0,{[h]:`AvailabilityZone`,[_]:PS}],[2,{[h]:`Encrypted`,[_]:Ww}],1,0,1]],qM=[3,v,Ju,0,[Ku,ks,Fs,Ms,hg,Vg,Dg],[[1,{[h]:`EbsCardIndex`,[_]:aw}],[1,{[h]:`BaselineBandwidthInMbps`,[_]:GS}],[1,{[h]:`BaselineThroughputInMBps`,[_]:QS}],[1,{[h]:`BaselineIops`,[_]:qS}],[1,{[h]:`MaximumBandwidthInMbps`,[_]:XE}],[1,{[h]:`MaximumThroughputInMBps`,[_]:mD}],[1,{[h]:`MaximumIops`,[_]:rD}]]],JM=[3,v,xd,0,[Ad,Wd,Td,x_,Sg,Xo,Cg,Yu],[[0,{[h]:`EbsOptimizedSupport`,[_]:Ow}],[0,{[h]:`EncryptionSupport`,[_]:zw}],[()=>ZM,{[h]:`EbsOptimizedInfo`,[_]:Tw}],[0,{[h]:`NvmeSupport`,[_]:RD}],[1,{[h]:`MaximumEbsAttachments`,[_]:QE}],[0,{[h]:`AttachmentLimitType`,[_]:CS}],[1,{[h]:`MaximumEbsCards`,[_]:$E}],[()=>GF,{[h]:`EbsCardSet`,[_]:ow}]]],YM=[3,v,vd,0,[hs,Gl,Ub,Nx,is,Hx,H_,Ku],[[4,{[h]:`AttachTime`,[_]:NS}],[2,{[h]:`DeleteOnTermination`,[_]:KC}],[0,{[h]:`Status`,[_]:nA}],[0,{[h]:`VolumeId`,[_]:BA}],[0,{[h]:`AssociatedResource`,[_]:DS}],[0,{[h]:`VolumeOwnerId`,[_]:WA}],[()=>AP,{[h]:`Operator`,[_]:eO}],[1,{[h]:`EbsCardIndex`,[_]:aw}]]],XM=[3,v,yd,0,[Nx,Gl],[[0,{[h]:`VolumeId`,[_]:BA}],[2,{[h]:`DeleteOnTermination`,[_]:KC}]]],ZM=[3,v,Td,0,[ks,Fs,Ms,hg,Vg,Dg],[[1,{[h]:`BaselineBandwidthInMbps`,[_]:GS}],[1,{[h]:`BaselineThroughputInMBps`,[_]:QS}],[1,{[h]:`BaselineIops`,[_]:qS}],[1,{[h]:`MaximumBandwidthInMbps`,[_]:XE}],[1,{[h]:`MaximumThroughputInMBps`,[_]:mD}],[1,{[h]:`MaximumIops`,[_]:rD}]]],QM=[3,v,Sd,0,[wg],[[1,{[h]:`MaximumEfaInterfaces`,[_]:eD}]]],$M=[3,v,ed,0,[od,td,rd,id],[[0,{[h]:`ElasticGpuId`,[_]:mw}],[0,{[h]:`ElasticGpuAssociationId`,[_]:uw}],[0,{[h]:`ElasticGpuAssociationState`,[_]:dw}],[0,{[h]:`ElasticGpuAssociationTime`,[_]:pw}]]],eN=[3,v,sd,0,[nx],[0],1],tN=[3,v,ld,0,[nx,al],[0,1],1],nN=[3,v,ud,0,[hd,dd,pd,md],[[0,{[h]:`ElasticInferenceAcceleratorArn`,[_]:hw}],[0,{[h]:`ElasticInferenceAcceleratorAssociationId`,[_]:gw}],[0,{[h]:`ElasticInferenceAcceleratorAssociationState`,[_]:_w}],[4,{[h]:`ElasticInferenceAcceleratorAssociationTime`,[_]:yw}]]],rN=[3,v,Rd,0,[Id,Vd],[2,()=>iN]],iN=[3,v,Hd,0,[Bd],[2]],aN=[3,v,jd,0,[Yd],[[2,{[h]:`Enabled`,[_]:Uw}]]],oN=[3,v,kd,0,[Yd],[2]],sN=[3,v,df,0,[Qg,tS],[0,[()=>yL,{[_]:px}]]],cN=[3,v,$d,0,[Qg,Kg,al,Ag],[[0,{[h]:`Name`,[_]:xD}],[0,{[h]:`Manufacturer`,[_]:gD}],[1,{[h]:`Count`,[_]:MC}],[()=>lN,{[h]:`MemoryInfo`,[_]:iD}]]],lN=[3,v,tf,0,[wb],[[1,{[h]:`SizeInMiB`,[_]:Ek}]]],uN=[3,v,rf,0,[ff,pte],[[()=>QF,{[h]:`Fpgas`,[_]:Qw}],[1,{[h]:`TotalFpgaMemoryInMiB`,[_]:sA}]]],dN=[3,v,gf,0,[Np,cg,p],[0,2,[2,{[h]:`DryRun`,[_]:m}]],1],fN=[3,v,_f,0,[Np,Nte,U_],[[0,{[h]:`InstanceId`,[_]:HT}],[4,{[h]:`Timestamp`,[_]:TA}],[0,{[h]:`Output`,[_]:tO}]]],pN=[3,v,yf,0,[Qg,Kg,al,Yh,Pf,cS,Ag],[[0,{[h]:`Name`,[_]:xD}],[0,{[h]:`Manufacturer`,[_]:gD}],[1,{[h]:`Count`,[_]:MC}],[1,{[h]:`LogicalGpuCount`,[_]:BE}],[1,{[h]:`GpuPartitionSize`,[_]:sT}],[()=>OL,{[h]:`WorkloadSet`,[_]:nj}],[()=>mN,{[h]:`MemoryInfo`,[_]:iD}]]],mN=[3,v,xf,0,[wb],[[1,{[h]:`SizeInMiB`,[_]:Ek}]]],hN=[3,v,Tf,0,[If,mte],[[()=>$F,{[h]:`Gpus`,[_]:uT}],[1,{[h]:`TotalGpuMemoryInMiB`,[_]:lA}]]],gN=[3,v,Of,0,[Ef,Af],[[0,{[h]:`GroupId`,[_]:rT}],[0,{[h]:`GroupName`,[_]:aT}]]],_N=[3,v,zf,0,[il],[[2,{[h]:`Configured`,[_]:jC}]]],vN=[3,v,Bf,0,[il],[2]],yN=[3,v,Lp,0,[ws,Yf],[[0,{[h]:`Arn`,[_]:zS}],[0,{[h]:`Id`,[_]:ST}]]],bN=[3,v,Hp,0,[ws,Qg],[[0,{[h]:`Arn`,[_]:zS}],[0,{[h]:`Name`,[_]:xD}]]],xN=[3,v,Ch,0,[ov,lx,js,Bu,Gd,Jf,Sm,Qg,Kv,qv,Nb,Fb,Kb,$x,Ns,$b,wu,dh,Cb,Ql,$h,ap,xb,Eb,lf,Jp,em,Hb,A_,Ks,Hv,$_,Ts,vh,Ah,ay,Rv],[[0,{[h]:`PlatformDetails`,[_]:dO}],[0,{[h]:`UsageOperation`,[_]:AA}],[()=>BF,{[h]:`BlockDeviceMapping`,[_]:KS}],[0,{[h]:`Description`,[_]:nw}],[2,{[h]:`EnaSupport`,[_]:Bw}],[0,{[h]:`Hypervisor`,[_]:fT}],[0,{[h]:`ImageOwnerAlias`,[_]:XT}],[0,{[h]:`Name`,[_]:xD}],[0,{[h]:`RootDeviceName`,[_]:RO}],[0,{[h]:`RootDeviceType`,[_]:zO}],[0,{[h]:`SriovNetSupport`,[_]:Lk}],[()=>uF,{[h]:`StateReason`,[_]:Bk}],[()=>mL,{[h]:`TagSet`,[_]:_A}],[0,{[h]:`VirtualizationType`,[_]:$A}],[0,{[h]:`BootMode`,[_]:JS}],[0,{[h]:`TpmSupport`,[_]:bA}],[0,{[h]:`DeprecationTime`,[_]:QC}],[0,{[h]:`ImdsSupport`,[_]:_E}],[0,{[h]:`SourceInstanceId`,[_]:Ck}],[0,{[h]:`DeregistrationProtection`,[_]:JC}],[0,{[h]:`LastLaunchedTime`,[_]:UE}],[2,{[h]:`ImageAllowed`,[_]:AT}],[0,{[h]:`SourceImageId`,[_]:Tk}],[0,{[h]:`SourceImageRegion`,[_]:Dk}],[2,{[h]:`FreeTierEligible`,[_]:Xw}],[0,{[h]:`ImageId`,[_]:GT}],[0,{[h]:`ImageLocation`,[_]:KT}],[0,{[h]:`ImageState`,[_]:gE}],[0,{[h]:`ImageOwnerId`,[_]:ZT}],[0,{[h]:`CreationDate`,[_]:sC}],[2,{[h]:`IsPublic`,[_]:uE}],[()=>GI,{[h]:`ProductCodes`,[_]:iO}],[0,{[h]:`Architecture`,[_]:BS}],[0,{[h]:`ImageType`,[_]:TE}],[0,{[h]:`KernelId`,[_]:jE}],[0,{[h]:`RamdiskId`,[_]:KO}],[0,{[h]:`Platform`,[_]:NO}]]],SN=[3,v,Qp,0,[Nh,wv,Zb,p],[[0,{[h]:`KeyName`,[_]:PE}],[21,{[h]:`PublicKeyMaterial`,[_]:SO}],[()=>hL,{[_]:Qb}],[2,{[h]:`DryRun`,[_]:m}]],2],CN=[3,v,$p,0,[kh,Nh,Lh,Kb],[[0,{[h]:`KeyFingerprint`,[_]:AE}],[0,{[h]:`KeyName`,[_]:PE}],[0,{[h]:`KeyPairId`,[_]:FE}],[()=>mL,{[h]:`TagSet`,[_]:_A}]]],wN=[3,v,tp,0,[Cs,gte],[[()=>aI,{[h]:`Accelerators`,[_]:LS}],[1,{[h]:`TotalInferenceMemoryInMiB`,[_]:uA}]]],TN=[3,v,_p,0,[al,Qg,Kg,Ag],[[1,{[h]:`Count`,[_]:MC}],[0,{[h]:`Name`,[_]:xD}],[0,{[h]:`Manufacturer`,[_]:gD}],[()=>EN,{[h]:`MemoryInfo`,[_]:iD}]]],EN=[3,v,yp,0,[wb],[[1,{[h]:`SizeInMiB`,[_]:Ek}]]],DN=[3,v,wh,0,[Ts,js,Gc,wd,Gd,Jf,Lp,nm,ad,gd,h_,O_,Kv,qv,hb,Qy,Tb,Nb,Fb,Kb,$x,uc,Bs,_c,Cc,zf,ug,Ng,jd,Ns,ov,lx,ux,tv,sp,$b,Pg,Xs,v_,H_,Db,Np,Jp,Hb,ev,av,rte,Nh,Yo,$_,hh,sg,zv,Ah,ay,Rv,Zg,kb,Dx,_v,yv],[[0,{[h]:`Architecture`,[_]:BS}],[()=>oI,{[h]:`BlockDeviceMapping`,[_]:KS}],[0,{[h]:`ClientToken`,[_]:EC}],[2,{[h]:`EbsOptimized`,[_]:ww}],[2,{[h]:`EnaSupport`,[_]:Bw}],[0,{[h]:`Hypervisor`,[_]:fT}],[()=>yN,{[h]:`IamInstanceProfile`,[_]:UT}],[0,{[h]:`InstanceLifecycle`,[_]:qT}],[()=>KF,{[h]:`ElasticGpuAssociationSet`,[_]:fw}],[()=>JF,{[h]:`ElasticInferenceAcceleratorAssociationSet`,[_]:vw}],[()=>pI,{[h]:`NetworkInterfaceSet`,[_]:jD}],[0,{[h]:`OutpostArn`,[_]:WD}],[0,{[h]:`RootDeviceName`,[_]:RO}],[0,{[h]:`RootDeviceType`,[_]:zO}],[()=>eI,{[h]:`GroupSet`,[_]:lT}],[2,{[h]:`SourceDestCheck`,[_]:pk}],[0,{[h]:`SpotInstanceRequestId`,[_]:Ok}],[0,{[h]:`SriovNetSupport`,[_]:Lk}],[()=>uF,{[h]:`StateReason`,[_]:Bk}],[()=>mL,{[h]:`TagSet`,[_]:_A}],[0,{[h]:`VirtualizationType`,[_]:$A}],[()=>Rj,{[h]:`CpuOptions`,[_]:_C}],[0,{[h]:`CapacityBlockId`,[_]:rC}],[0,{[h]:`CapacityReservationId`,[_]:bC}],[()=>jj,{[h]:`CapacityReservationSpecification`,[_]:CC}],[()=>_N,{[h]:`HibernationOptions`,[_]:hT}],[()=>NI,{[h]:`LicenseSet`,[_]:WE}],[()=>zN,{[h]:`MetadataOptions`,[_]:sD}],[()=>aN,{[h]:`EnclaveOptions`,[_]:kw}],[0,{[h]:`BootMode`,[_]:JS}],[0,{[h]:`PlatformDetails`,[_]:dO}],[0,{[h]:`UsageOperation`,[_]:AA}],[4,{[h]:`UsageOperationUpdateTime`,[_]:jA}],[()=>LP,{[h]:`PrivateDnsNameOptions`,[_]:sO}],[0,{[h]:`Ipv6Address`,[_]:MT}],[0,{[h]:`TpmSupport`,[_]:bA}],[()=>FN,{[h]:`MaintenanceOptions`,[_]:cD}],[0,{[h]:`CurrentInstanceBootMode`,[_]:dC}],[()=>WN,{[h]:`NetworkPerformanceOptions`,[_]:FD}],[()=>AP,{[h]:`Operator`,[_]:eO}],[()=>gI,{[h]:`SecondaryInterfaceSet`,[_]:kk}],[0,{[h]:`InstanceId`,[_]:HT}],[0,{[h]:`ImageId`,[_]:GT}],[()=>QN,{[h]:`InstanceState`,[_]:yE}],[0,{[h]:`PrivateDnsName`,[_]:lO}],[0,{[h]:`DnsName`,[_]:WC}],[0,{[h]:`Reason`,[_]:sk}],[0,{[h]:`KeyName`,[_]:PE}],[1,{[h]:`AmiLaunchIndex`,[_]:SS}],[()=>GI,{[h]:`ProductCodes`,[_]:iO}],[0,{[h]:`InstanceType`,[_]:SE}],[4,{[h]:`LaunchTime`,[_]:GE}],[()=>jP,{[h]:`Placement`,[_]:PO}],[0,{[h]:`KernelId`,[_]:jE}],[0,{[h]:`RamdiskId`,[_]:KO}],[0,{[h]:`Platform`,[_]:NO}],[()=>xP,{[h]:`Monitoring`,[_]:yD}],[0,{[h]:`SubnetId`,[_]:jk}],[0,{[h]:`VpcId`,[_]:RA}],[0,{[h]:`PrivateIpAddress`,[_]:vO}],[0,{[h]:`IpAddress`,[_]:jT}]]],ON=[3,v,$f,0,[Id,Vd],[[2,{[h]:`EnaSrdEnabled`,[_]:Nw}],[()=>kN,{[h]:`EnaSrdUdpSpecification`,[_]:Lw}]]],kN=[3,v,ep,0,[Bd],[[2,{[h]:`EnaSrdUdpEnabled`,[_]:Iw}]]],AN=[3,v,cp,0,[Vl,Jd],[[0,{[h]:`DeviceName`,[_]:HC}],[()=>YM,{[h]:`Ebs`,[_]:Hw}]]],jN=[3,v,up,0,[Vl,Jd,Vx,i_],[[0,{[h]:`DeviceName`,[_]:HC}],[()=>XM,{[h]:`Ebs`,[_]:Hw}],[0,{[h]:`VirtualName`,[_]:UA}],[0,{[h]:`NoDevice`,[_]:TD}]]],MN=[3,v,Up,0,[Gm],[[0,{[h]:`Ipv4Prefix`,[_]:sE}]]],NN=[3,v,Pp,0,[sp,jm],[[0,{[h]:`Ipv6Address`,[_]:MT}],[2,{[h]:`IsPrimaryIpv6`,[_]:nE}]]],PN=[3,v,Wp,0,[Hm],[[0,{[h]:`Ipv6Prefix`,[_]:lE}]]],FN=[3,v,im,0,[as,my],[[0,{[h]:`AutoRecovery`,[_]:OS}],[0,{[h]:`RebootMigration`,[_]:XO}]]],IN=[3,v,am,0,[as],[0]],LN=[3,v,om,0,[Bg,Zee],[0,()=>sF]],RN=[3,v,sm,0,[Gf,Hf,Lf,Vf,um],[0,1,0,0,0]],zN=[3,v,cm,0,[Hb,Gf,Hf,Lf,Vf,um],[[0,{[h]:`State`,[_]:tA}],[0,{[h]:`HttpTokens`,[_]:bT}],[1,{[h]:`HttpPutResponseHopLimit`,[_]:_T}],[0,{[h]:`HttpEndpoint`,[_]:pT}],[0,{[h]:`HttpProtocolIpv6`,[_]:gT}],[0,{[h]:`InstanceMetadataTags`,[_]:JT}]]],BN=[3,v,fm,0,[Es,Ds,Bu,pf,Xf,mg,m_,A_,ev,_v,vv,Qy,Ub,kb,Dx,xh,Wm,Rm,Kc,H_],[[()=>VN,{[h]:`Association`,[_]:VS}],[()=>HN,{[h]:`Attachment`,[_]:HS}],[0,{[h]:`Description`,[_]:nw}],[()=>eI,{[h]:`GroupSet`,[_]:lT}],[()=>uI,{[h]:`Ipv6AddressesSet`,[_]:kT}],[0,{[h]:`MacAddress`,[_]:YE}],[0,{[h]:`NetworkInterfaceId`,[_]:AD}],[0,{[h]:`OwnerId`,[_]:KD}],[0,{[h]:`PrivateDnsName`,[_]:lO}],[0,{[h]:`PrivateIpAddress`,[_]:vO}],[()=>hI,{[h]:`PrivateIpAddressesSet`,[_]:gO}],[2,{[h]:`SourceDestCheck`,[_]:pk}],[0,{[h]:`Status`,[_]:nA}],[0,{[h]:`SubnetId`,[_]:jk}],[0,{[h]:`VpcId`,[_]:RA}],[0,{[h]:`InterfaceType`,[_]:DE}],[()=>lI,{[h]:`Ipv4PrefixSet`,[_]:rE}],[()=>dI,{[h]:`Ipv6PrefixSet`,[_]:iE}],[()=>Fj,{[h]:`ConnectionTrackingConfiguration`,[_]:DC}],[()=>AP,{[h]:`Operator`,[_]:eO}]]],VN=[3,v,pm,0,[Ys,dc,Cm,av,pv],[[0,{[h]:`CarrierIp`,[_]:uC}],[0,{[h]:`CustomerOwnedIp`,[_]:vC}],[0,{[h]:`IpOwnerId`,[_]:$T}],[0,{[h]:`PublicDnsName`,[_]:uO}],[0,{[h]:`PublicIp`,[_]:hO}]]],HN=[3,v,mm,0,[hs,Jo,Gl,yl,Ub,t_,Ld,Nd],[[4,{[h]:`AttachTime`,[_]:NS}],[0,{[h]:`AttachmentId`,[_]:xS}],[2,{[h]:`DeleteOnTermination`,[_]:KC}],[1,{[h]:`DeviceIndex`,[_]:BC}],[0,{[h]:`Status`,[_]:nA}],[1,{[h]:`NetworkCardIndex`,[_]:wD}],[()=>ON,{[h]:`EnaSrdSpecification`,[_]:Pw}],[1,{[h]:`EnaQueueCount`,[_]:Aw}]]],UN=[3,v,gm,0,[Zo,Gl,Bu,yl,pf,Qf,Xf,m_,_v,vv,Qee,kb,Bo,xh,t_,Wm,Dm,Rm,Em,xv,Ld,qc,Nd],[[2,{[h]:`AssociatePublicIpAddress`,[_]:wS}],[2,{[h]:`DeleteOnTermination`,[_]:KC}],[0,{[h]:`Description`,[_]:nw}],[1,{[h]:`DeviceIndex`,[_]:BC}],[()=>rL,{[_]:rb}],[1,{[h]:`Ipv6AddressCount`,[_]:wT}],[()=>uI,{[h]:`Ipv6Addresses`,[_]:kT}],[0,{[h]:`NetworkInterfaceId`,[_]:AD}],[0,{[h]:`PrivateIpAddress`,[_]:vO}],[()=>WI,{[h]:`PrivateIpAddresses`,[_]:gO}],[1,{[h]:`SecondaryPrivateIpAddressCount`,[_]:Rk}],[0,{[h]:`SubnetId`,[_]:jk}],2,0,1,[()=>DI,{[_]:Gm}],1,[()=>OI,{[_]:Hm}],1,2,()=>rN,()=>Pj,1]],WN=[3,v,bm,0,[Is],[[0,{[h]:`BandwidthWeighting`,[_]:$S}]]],GN=[3,v,xm,0,[Is],[0]],KN=[3,v,km,0,[Es,Bv,ev,_v],[[()=>VN,{[h]:`Association`,[_]:VS}],[2,{[h]:`Primary`,[_]:FO}],[0,{[h]:`PrivateDnsName`,[_]:lO}],[0,{[h]:`PrivateIpAddress`,[_]:vO}]]],qN=[3,v,ch,0,[Ds,mg,Sb,A_,vv,Qy,Ub,Rb,Yee,xh],[[()=>JN,{[h]:`Attachment`,[_]:HS}],[0,{[h]:`MacAddress`,[_]:YE}],[0,{[h]:`SecondaryInterfaceId`,[_]:wk}],[0,{[h]:`OwnerId`,[_]:KD}],[()=>_I,{[h]:`PrivateIpAddressSet`,[_]:_O}],[2,{[h]:`SourceDestCheck`,[_]:pk}],[0,{[h]:`Status`,[_]:nA}],[0,{[h]:`SecondarySubnetId`,[_]:Uk}],[0,{[h]:`SecondaryNetworkId`,[_]:Fk}],[0,{[h]:`InterfaceType`,[_]:DE}]]],JN=[3,v,eh,0,[hs,Jo,Gl,yl,Ub,t_],[[4,{[h]:`AttachTime`,[_]:NS}],[0,{[h]:`AttachmentId`,[_]:xS}],[2,{[h]:`DeleteOnTermination`,[_]:KC}],[1,{[h]:`DeviceIndex`,[_]:BC}],[0,{[h]:`Status`,[_]:nA}],[1,{[h]:`NetworkCardIndex`,[_]:wD}]]],YN=[3,v,nh,0,[_v],[[0,{[h]:`PrivateIpAddress`,[_]:vO}]]],XN=[3,v,ah,0,[_v],[0],1],ZN=[3,v,sh,0,[Gl,yl,vv,mv,Rb,xh,t_],[2,1,[()=>vI,{[_]:_v}],1,0,0,1]],QN=[3,v,fh,0,[rl,Qg],[[1,{[h]:`Code`,[_]:AC}],[0,{[h]:`Name`,[_]:xD}]]],$N=[3,v,Qm,0,[Np,Wc,jv],[[0,{[h]:`InstanceId`,[_]:HT}],[()=>QN,{[h]:`CurrentState`,[_]:TC}],[()=>QN,{[h]:`PreviousState`,[_]:OO}]]],eP=[3,v,lh,0,[Ete,Hu,x_,Wd],[[1,{[h]:`TotalSizeInGB`,[_]:vA}],[()=>WF,{[h]:`Disks`,[_]:iw}],[0,{[h]:`NvmeSupport`,[_]:RD}],[0,{[h]:`EncryptionSupport`,[_]:zw}]]],tP=[3,v,_h,0,[hh,Js,lf,ate,$ee,cte,kee,Jf,Sv,yx,Ag,uh,lh,xd,g_,Tf,rf,cv,tp,Wf,Aee,vl,$o,Yy,u_,C_,S_,pg,__,Av,py],[[0,{[h]:`InstanceType`,[_]:SE}],[2,{[h]:`CurrentGeneration`,[_]:lC}],[2,{[h]:`FreeTierEligible`,[_]:Xw}],[()=>_L,{[h]:`SupportedUsageClasses`,[_]:Xk}],[()=>QI,{[h]:`SupportedRootDeviceTypes`,[_]:zk}],[()=>bL,{[h]:`SupportedVirtualizationTypes`,[_]:Qk}],[2,{[h]:`BareMetal`,[_]:YS}],[0,{[h]:`Hypervisor`,[_]:fT}],[()=>zP,{[h]:`ProcessorInfo`,[_]:bO}],[()=>xF,{[h]:`VCpuInfo`,[_]:FA}],[()=>_P,{[h]:`MemoryInfo`,[_]:iD}],[2,{[h]:`InstanceStorageSupported`,[_]:mE}],[()=>eP,{[h]:`InstanceStorageInfo`,[_]:pE}],[()=>JM,{[h]:`EbsInfo`,[_]:xw}],[()=>CP,{[h]:`NetworkInfo`,[_]:ND}],[()=>hN,{[h]:`GpuInfo`,[_]:nT}],[()=>uN,{[h]:`FpgaInfo`,[_]:Kw}],[()=>NP,{[h]:`PlacementGroupInfo`,[_]:pO}],[()=>wN,{[h]:`InferenceAcceleratorInfo`,[_]:TT}],[2,{[h]:`HibernationSupported`,[_]:yT}],[2,{[h]:`BurstablePerformanceSupported`,[_]:ZS}],[2,{[h]:`DedicatedHostsSupported`,[_]:zC}],[2,{[h]:`AutoRecoverySupported`,[_]:ES}],[()=>HF,{[h]:`SupportedBootModes`,[_]:dk}],[0,{[h]:`NitroEnclavesSupport`,[_]:DD}],[0,{[h]:`NitroTpmSupport`,[_]:BD}],[()=>OP,{[h]:`NitroTpmInfo`,[_]:zD}],[()=>mP,{[h]:`MediaAcceleratorInfo`,[_]:JE}],[()=>DP,{[h]:`NeuronInfo`,[_]:PD}],[0,{[h]:`PhcSupport`,[_]:DO}],[0,{[h]:`RebootMigrationSupport`,[_]:YO}]]],nP=[3,v,Cp,0,[Os,Op,A_,Kb],[[()=>SI,{[h]:`AttachmentSet`,[_]:MS}],[0,{[h]:`InternetGatewayId`,[_]:BT}],[0,{[h]:`OwnerId`,[_]:KD}],[()=>mL,{[h]:`TagSet`,[_]:_A}]]],rP=[3,v,wp,0,[Hb,Dx],[[0,{[h]:`State`,[_]:tA}],[0,{[h]:`VpcId`,[_]:RA}]]],iP=[3,v,Bm,0,[Vm,of,Yb,ax,Jm,Xm,Dv],[[0,{[h]:`IpProtocol`,[_]:aE}],[1,{[h]:`FromPort`,[_]:qw}],[1,{[h]:`ToPort`,[_]:hA}],[()=>vL,{[h]:`Groups`,[_]:dT}],[()=>EI,{[h]:`IpRanges`,[_]:dE}],[()=>kI,{[h]:`Ipv6Ranges`,[_]:fE}],[()=>UI,{[h]:`PrefixListIds`,[_]:wO}]]],aP=[3,v,Ym,0,[Bu,nc],[[0,{[h]:`Description`,[_]:nw}],[0,{[h]:`CidrIp`,[_]:fC}]]],oP=[3,v,Im,0,[Gm],[0]],sP=[3,v,Lm,0,[Hm],[0]],cP=[3,v,Zm,0,[Bu,rc],[[0,{[h]:`Description`,[_]:nw}],[0,{[h]:`CidrIpv6`,[_]:pC}]]],lP=[3,v,Hh,0,[Lh,Kb,Nh,kh,Mh],[[0,{[h]:`KeyPairId`,[_]:FE}],[()=>mL,{[h]:`TagSet`,[_]:_A}],[0,{[h]:`KeyName`,[_]:PE}],[0,{[h]:`KeyFingerprint`,[_]:AE}],[()=>fj,{[h]:`KeyMaterial`,[_]:NE}]]],uP=[3,v,Bh,0,[Lh,Uh,Kb,Cv,Zc,Nh,kh],[[0,{[h]:`KeyPairId`,[_]:FE}],[0,{[h]:`KeyType`,[_]:LE}],[()=>mL,{[h]:`TagSet`,[_]:_A}],[0,{[h]:`PublicKey`,[_]:xO}],[4,{[h]:`CreateTime`,[_]:kC}],[0,{[h]:`KeyName`,[_]:PE}],[0,{[h]:`KeyFingerprint`,[_]:AE}]]],dP=[3,v,og,0,[ig,ag,nS],[0,0,0]],fP=[3,v,qh,0,[Gh],[[0,{[h]:`LicenseConfigurationArn`,[_]:zE}]]],pP=[3,v,Kh,0,[Gh],[0]],mP=[3,v,pg,0,[Cs,Cte],[[()=>FI,{[h]:`Accelerators`,[_]:LS}],[1,{[h]:`TotalMediaMemoryInMiB`,[_]:pA}]]],hP=[3,v,yg,0,[al,Qg,Kg,Ag],[[1,{[h]:`Count`,[_]:MC}],[0,{[h]:`Name`,[_]:xD}],[0,{[h]:`Manufacturer`,[_]:gD}],[()=>gP,{[h]:`MemoryInfo`,[_]:iD}]]],gP=[3,v,xg,0,[wb],[[1,{[h]:`SizeInMiB`,[_]:Ek}]]],_P=[3,v,Ag,0,[wb],[[1,{[h]:`SizeInMiB`,[_]:Ek}]]],vP=[3,v,Og,0,[Np,Qy,ol,p,See,px,js,sl,hh,Wh,zy,rx,Gp,pf,wd,Nb,Gd],[[0,{[h]:`InstanceId`,[_]:HT}],[()=>_j,0],[()=>_j,0],[2,{[h]:`DryRun`,[_]:m}],[0,{[h]:`Attribute`,[_]:US}],[0,{[h]:`Value`,[_]:PA}],[()=>sI,{[h]:`BlockDeviceMapping`,[_]:KS}],[()=>_j,{[h]:`DisableApiTermination`,[_]:NC}],[()=>vj,{[h]:`InstanceType`,[_]:SE}],[()=>vj,{[h]:`Kernel`,[_]:RE}],[()=>vj,{[h]:`Ramdisk`,[_]:ok}],[()=>Dj,{[h]:`UserData`,[_]:DA}],[()=>vj,{[h]:`InstanceInitiatedShutdownBehavior`,[_]:WT}],[()=>tI,{[_]:Ef}],[()=>_j,{[h]:`EbsOptimized`,[_]:ww}],[()=>vj,{[h]:`SriovNetSupport`,[_]:Lk}],[()=>_j,{[h]:`EnaSupport`,[_]:Bw}]],1],yP=[3,v,Hg,0,[Nx,p,Vb,Xx,Eh,tx,fg],[0,2,1,0,1,1,2],1],bP=[3,v,Ug,0,[Bx],[[()=>wF,{[h]:`VolumeModification`,[_]:HA}]]],xP=[3,v,Zg,0,[Hb],[[0,{[h]:`State`,[_]:tA}]]],SP=[3,v,r_,0,[t_,y_,Mg,Vo,wee,q_,gl,Tg,Eg],[[1,{[h]:`NetworkCardIndex`,[_]:wD}],[0,{[h]:`NetworkPerformance`,[_]:ID}],[1,{[h]:`MaximumNetworkInterfaces`,[_]:oD}],[1,{[h]:`AdditionalFlexibleNetworkInterfaces`,[_]:gS}],[1,{[h]:`BaselineBandwidthInGbps`,[_]:WS}],[1,{[h]:`PeakBandwidthInGbps`,[_]:rO}],[1,{[h]:`DefaultEnaQueueCountPerInterface`,[_]:LC}],[1,{[h]:`MaximumEnaQueueCount`,[_]:tD}],[1,{[h]:`MaximumEnaQueueCountPerInterface`,[_]:nD}]]],CP=[3,v,g_,0,[y_,Mg,jg,Hl,e_,np,rp,mh,Gd,Ud,Sd,bd,zd,Ls,nf,Kc,Xee,Rg,ip],[[0,{[h]:`NetworkPerformance`,[_]:ID}],[1,{[h]:`MaximumNetworkInterfaces`,[_]:oD}],[1,{[h]:`MaximumNetworkCards`,[_]:aD}],[1,{[h]:`DefaultNetworkCardIndex`,[_]:UC}],[()=>II,{[h]:`NetworkCards`,[_]:CD}],[1,{[h]:`Ipv4AddressesPerInterface`,[_]:ET}],[1,{[h]:`Ipv6AddressesPerInterface`,[_]:DT}],[2,{[h]:`Ipv6Supported`,[_]:xE}],[0,{[h]:`EnaSupport`,[_]:Bw}],[2,{[h]:`EfaSupported`,[_]:Rw}],[()=>QM,{[h]:`EfaInfo`,[_]:Sw}],[2,{[h]:`EncryptionInTransitSupported`,[_]:bw}],[2,{[h]:`EnaSrdSupported`,[_]:Fw}],[()=>zF,{[h]:`BandwidthWeightings`,[_]:eC}],[0,{[h]:`FlexibleEnaQueuesSupport`,[_]:Gw}],[()=>oM,{[h]:`ConnectionTrackingConfiguration`,[_]:DC}],[2,{[h]:`SecondaryNetworkSupported`,[_]:Ik}],[1,{[h]:`MaximumSecondaryNetworkInterfaces`,[_]:fD}],[1,{[h]:`Ipv4AddressesPerSecondaryInterface`,[_]:OT}]]],wP=[3,v,a_,0,[al,nS],[[1,{[h]:`Count`,[_]:MC}],[1,{[h]:`Version`,[_]:ej}]]],TP=[3,v,o_,0,[al,Qg,ac,Ag],[[1,{[h]:`Count`,[_]:MC}],[0,{[h]:`Name`,[_]:xD}],[()=>wP,{[h]:`CoreInfo`,[_]:hC}],[()=>EP,{[h]:`MemoryInfo`,[_]:iD}]]],EP=[3,v,c_,0,[wb],[[1,{[h]:`SizeInMiB`,[_]:Ek}]]],DP=[3,v,__,0,[l_,wte],[[()=>LI,{[h]:`NeuronDevices`,[_]:ED}],[1,{[h]:`TotalNeuronDeviceMemoryInMiB`,[_]:mA}]]],OP=[3,v,S_,0,[lte],[[()=>RI,{[h]:`SupportedVersions`,[_]:$k}]]],kP=[3,v,I_,0,[K_],[0]],AP=[3,v,L_,0,[qg,K_],[[2,{[h]:`Managed`,[_]:_D}],[0,{[h]:`Principal`,[_]:nO}]]],jP=[3,v,zv,0,[Ss,bee,Af,Ov,Rf,Mte,$y,Uf,Ef,ys],[[0,{[h]:`AvailabilityZoneId`,[_]:FS}],[0,{[h]:`Affinity`,[_]:RS}],[0,{[h]:`GroupName`,[_]:aT}],[1,{[h]:`PartitionNumber`,[_]:TO}],[0,{[h]:`HostId`,[_]:mT}],[0,{[h]:`Tenancy`,[_]:aA}],[0,{[h]:`SpreadDomain`,[_]:mk}],[0,{[h]:`HostResourceGroupArn`,[_]:vT}],[0,{[h]:`GroupId`,[_]:rT}],[0,{[h]:`AvailabilityZone`,[_]:PS}]]],MP=[3,v,sv,0,[Af,Hb,Wb,Z_,Ef,Kb,mf,Ab,Zh,H_],[[0,{[h]:`GroupName`,[_]:aT}],[0,{[h]:`State`,[_]:tA}],[0,{[h]:`Strategy`,[_]:rA}],[1,{[h]:`PartitionCount`,[_]:aO}],[0,{[h]:`GroupId`,[_]:rT}],[()=>mL,{[h]:`TagSet`,[_]:_A}],[0,{[h]:`GroupArn`,[_]:$w}],[0,{[h]:`SpreadLevel`,[_]:Mk}],[0,{[h]:`LinkedGroupId`,[_]:HE}],[()=>AP,{[h]:`Operator`,[_]:eO}]]],NP=[3,v,cv,0,[nte],[[()=>HI,{[h]:`SupportedStrategies`,[_]:Kk}]]],PP=[3,v,Tv,0,[Bu,Tv],[[0,{[h]:`Description`,[_]:nw}],[0,{[h]:`PrefixListId`,[_]:CO}]]],FP=[3,v,nv,0,[Kf,Fd,Pd],[[0,{[h]:`HostnameType`,[_]:xT}],[2,{[h]:`EnableResourceNameDnsARecord`,[_]:Mw}],[2,{[h]:`EnableResourceNameDnsAAAARecord`,[_]:jw}]]],IP=[3,v,rv,0,[Kf,Fd,Pd],[0,2,2]],LP=[3,v,iv,0,[Kf,Fd,Pd],[[0,{[h]:`HostnameType`,[_]:xT}],[2,{[h]:`EnableResourceNameDnsARecord`,[_]:Mw}],[2,{[h]:`EnableResourceNameDnsAAAARecord`,[_]:jw}]]],RP=[3,v,hv,0,[Bv,_v],[[2,{[h]:`Primary`,[_]:FO}],[0,{[h]:`PrivateIpAddress`,[_]:vO}]]],zP=[3,v,Sv,0,[Jy,Zy,eb,Kg],[[()=>PF,{[h]:`SupportedArchitectures`,[_]:lk}],[1,{[h]:`SustainedClockSpeedInGhz`,[_]:fk}],[()=>pL,{[h]:`SupportedFeatures`,[_]:hk}],[0,{[h]:`Manufacturer`,[_]:gD}]]],BP=[3,v,Q_,0,[J_,X_],[[0,{[h]:`ProductCode`,[_]:oO}],[0,{[h]:`Type`,[_]:EA}]]],VP=[3,v,Nv,0,[Sf],[[0,{[h]:`GatewayId`,[_]:tT}]]],HP=[3,v,ny,0,[Xp,p],[[()=>cI,{[_]:Np}],[2,{[h]:`DryRun`,[_]:m}]],1],UP=[3,v,vy,0,[Ef,kv,ix,Dx,Ux],[[0,{[h]:`GroupId`,[_]:rT}],[0,{[h]:`PeeringStatus`,[_]:EO}],[0,{[h]:`UserId`,[_]:OA}],[0,{[h]:`VpcId`,[_]:RA}],[0,{[h]:`VpcPeeringConnectionId`,[_]:GA}]]],WP=[3,v,Vy,0,[j_,Ff,hy,Zd],[[0,{[h]:`OptInStatus`,[_]:qD}],[()=>qI,{[h]:`GeographySet`,[_]:cT}],[0,{[h]:`RegionName`,[_]:ZO}],[0,{[h]:`RegionEndpoint`,[_]:VO}]]],GP=[3,v,Zv,0,[Qg],[[0,{[h]:`Name`,[_]:xD}]]],KP=[3,v,Uy,0,[oy,A_,cy,pf,Th],[[0,{[h]:`ReservationId`,[_]:GO}],[0,{[h]:`OwnerId`,[_]:KD}],[0,{[h]:`RequesterId`,[_]:JO}],[()=>eI,{[h]:`GroupSet`,[_]:lT}],[()=>fI,{[h]:`InstancesSet`,[_]:vE}]]],qP=[3,v,Ty,0,[db,Ef,Sp,Vm,of,Yb,ic,rc,Tv,Qv,Bu],[[0,{[h]:`SecurityGroupRuleId`,[_]:yk}],[0,{[h]:`GroupId`,[_]:rT}],[2,{[h]:`IsEgress`,[_]:LT}],[0,{[h]:`IpProtocol`,[_]:aE}],[1,{[h]:`FromPort`,[_]:qw}],[1,{[h]:`ToPort`,[_]:hA}],[0,{[h]:`CidrIpv4`,[_]:mC}],[0,{[h]:`CidrIpv6`,[_]:pC}],[0,{[h]:`PrefixListId`,[_]:CO}],[0,{[h]:`ReferencedGroupId`,[_]:UO}],[0,{[h]:`Description`,[_]:nw}]]],JP=[3,v,by,0,[Ef,lb,p,Ib,Lb,Vm,of,Yb,nc,zm],[[0,{[h]:`GroupId`,[_]:rT}],[()=>aL,{[_]:db}],[2,{[h]:`DryRun`,[_]:m}],[0,{[h]:`SourceSecurityGroupName`,[_]:Vk}],[0,{[h]:`SourceSecurityGroupOwnerId`,[_]:Hk}],[0,{[h]:`IpProtocol`,[_]:aE}],[1,{[h]:`FromPort`,[_]:qw}],[1,{[h]:`ToPort`,[_]:hA}],[0,{[h]:`CidrIp`,[_]:fC}],[()=>TI,{[h]:`IpPermissions`,[_]:oE}]],1],YP=[3,v,xy,0,[Uv,cx,Dy],[[2,{[h]:`Return`,[_]:LO}],[()=>TI,{[h]:`UnknownIpPermissionSet`,[_]:kA}],[()=>ZI,{[h]:`RevokedSecurityGroupRuleSet`,[_]:QO}]]],XP=[3,v,Sy,0,[nc,of,Ef,Af,zm,Vm,Ib,Lb,Yb,lb,p],[0,1,0,0,[()=>TI,0],0,0,0,1,[()=>aL,{[_]:db}],[2,{[h]:`DryRun`,[_]:m}]]],ZP=[3,v,Cy,0,[Uv,cx,Dy],[[2,{[h]:`Return`,[_]:LO}],[()=>TI,{[h]:`UnknownIpPermissionSet`,[_]:kA}],[()=>ZI,{[h]:`RevokedSecurityGroupRuleSet`,[_]:QO}]]],QP=[3,v,Wy,0,[fl,bl,Zl,Od,Sf,Np,wm,p_,Jb,Xh,qs,m_,D_,Hb,Ux,lc,F_,op],[[0,{[h]:`DestinationCidrBlock`,[_]:PC}],[0,{[h]:`DestinationIpv6CidrBlock`,[_]:VC}],[0,{[h]:`DestinationPrefixListId`,[_]:qC}],[0,{[h]:`EgressOnlyInternetGatewayId`,[_]:Dw}],[0,{[h]:`GatewayId`,[_]:tT}],[0,{[h]:`InstanceId`,[_]:HT}],[0,{[h]:`InstanceOwnerId`,[_]:QT}],[0,{[h]:`NatGatewayId`,[_]:kD}],[0,{[h]:`TransitGatewayId`,[_]:cA}],[0,{[h]:`LocalGatewayId`,[_]:VE}],[0,{[h]:`CarrierGatewayId`,[_]:cC}],[0,{[h]:`NetworkInterfaceId`,[_]:AD}],[0,{[h]:`Origin`,[_]:UD}],[0,{[h]:`State`,[_]:tA}],[0,{[h]:`VpcPeeringConnectionId`,[_]:GA}],[0,{[h]:`CoreNetworkArn`,[_]:gC}],[0,{[h]:`OdbNetworkArn`,[_]:XD}],[0,{[h]:`IpAddress`,[_]:jT}]]],$P=[3,v,Ly,0,[xee,Fv,My,Gy,Kb,Dx,A_],[[()=>eL,{[h]:`AssociationSet`,[_]:jS}],[()=>KI,{[h]:`PropagatingVgwSet`,[_]:AO}],[0,{[h]:`RouteTableId`,[_]:nk}],[()=>$I,{[h]:`RouteSet`,[_]:ek}],[()=>mL,{[h]:`TagSet`,[_]:_A}],[0,{[h]:`VpcId`,[_]:RA}],[0,{[h]:`OwnerId`,[_]:KD}]]],eF=[3,v,Oy,0,[Gg,ky,My,kb,Sf,bv,os],[[2,{[h]:`Main`,[_]:hD}],[0,{[h]:`RouteTableAssociationId`,[_]:tk}],[0,{[h]:`RouteTableId`,[_]:nk}],[0,{[h]:`SubnetId`,[_]:jk}],[0,{[h]:`GatewayId`,[_]:tT}],[0,{[h]:`PublicIpv4Pool`,[_]:yO}],[()=>tF,{[h]:`AssociationState`,[_]:kS}]]],tF=[3,v,jy,0,[Hb,jb],[[0,{[h]:`State`,[_]:tA}],[0,{[h]:`StatusMessage`,[_]:Nk}]]],nF=[3,v,ty,0,[Yd],[[2,{[h]:`Enabled`,[_]:Uw}]],1],rF=[3,v,ry,0,[_g,vg,js,Jp,hh,Qf,Xf,Ah,Nh,Zg,zv,ay,ab,hb,kb,rx,sd,_d,Zb,rg,lm,Vc,uc,Cc,zf,eg,Ng,jd,tv,Pg,ol,Md,v_,H_,Db,p,sl,Gp,_v,Gc,Ko,h_,Lp,wd],[1,1,[()=>VF,{[_]:As}],0,0,1,[()=>uI,{[_]:sp}],0,0,[()=>nF,0],[()=>jP,0],0,[()=>rL,{[_]:rb}],[()=>sL,{[_]:gb}],0,[()=>dj,0],[()=>qF,0],[()=>YF,{[_]:ld}],[()=>hL,{[_]:Qb}],()=>dP,()=>LN,()=>aM,()=>zj,()=>Aj,()=>vN,[()=>PI,{[_]:ng}],()=>RN,()=>oN,()=>IP,()=>IN,2,2,()=>GN,()=>kP,[()=>yI,{[_]:zee}],[2,{[h]:`DryRun`,[_]:m}],[2,{[h]:`DisableApiTermination`,[_]:NC}],[0,{[h]:`InstanceInitiatedShutdownBehavior`,[_]:WT}],[0,{[h]:`PrivateIpAddress`,[_]:vO}],[0,{[h]:`ClientToken`,[wE]:1,[_]:EC}],[0,{[h]:`AdditionalInfo`,[_]:yS}],[()=>mI,{[h]:`NetworkInterface`,[_]:MD}],[()=>bN,{[h]:`IamInstanceProfile`,[_]:UT}],[2,{[h]:`EbsOptimized`,[_]:ww}]],2],iF=[3,v,gb,0,[Ef,Om,Kb,Dx,nb,A_,Af,Bu,zm],[[0,{[h]:`GroupId`,[_]:rT}],[()=>TI,{[h]:`IpPermissionsEgress`,[_]:tE}],[()=>mL,{[h]:`TagSet`,[_]:_A}],[0,{[h]:`VpcId`,[_]:RA}],[0,{[h]:`SecurityGroupArn`,[_]:gk}],[0,{[h]:`OwnerId`,[_]:KD}],[0,{[h]:`GroupName`,[_]:aT}],[0,{[h]:`GroupDescription`,[_]:eT}],[()=>TI,{[h]:`IpPermissions`,[_]:oE}]]],aF=[3,v,pb,0,[db,Ef,Nf,Sp,Vm,of,Yb,ic,rc,Tv,$v,Bu,Kb,cb],[[0,{[h]:`SecurityGroupRuleId`,[_]:yk}],[0,{[h]:`GroupId`,[_]:rT}],[0,{[h]:`GroupOwnerId`,[_]:oT}],[2,{[h]:`IsEgress`,[_]:LT}],[0,{[h]:`IpProtocol`,[_]:aE}],[1,{[h]:`FromPort`,[_]:qw}],[1,{[h]:`ToPort`,[_]:hA}],[0,{[h]:`CidrIpv4`,[_]:mC}],[0,{[h]:`CidrIpv6`,[_]:pC}],[0,{[h]:`PrefixListId`,[_]:CO}],[()=>UP,{[h]:`ReferencedGroupInfo`,[_]:WO}],[0,{[h]:`Description`,[_]:nw}],[()=>mL,{[h]:`TagSet`,[_]:_A}],[0,{[h]:`SecurityGroupRuleArn`,[_]:vk}]]],oF=[3,v,dte,0,[k_,O_,Kb,ite,Yv,Bb,ys,Ate,Gs,Xc,cf,Ob,Nx,Hb,Mb,zb,Vv,A_,Bu,Yx,Xd,jh,hl],[[0,{[h]:`OwnerAlias`,[_]:GD}],[0,{[h]:`OutpostArn`,[_]:WD}],[()=>mL,{[h]:`TagSet`,[_]:_A}],[0,{[h]:`StorageTier`,[_]:Yk}],[4,{[h]:`RestoreExpiryTime`,[_]:BO}],[0,{[h]:`SseType`,[_]:Jk}],[0,{[h]:`AvailabilityZone`,[_]:PS}],[0,{[h]:`TransferType`,[_]:SA}],[1,{[h]:`CompletionDurationMinutes`,[_]:oC}],[4,{[h]:`CompletionTime`,[_]:OC}],[1,{[h]:`FullSnapshotSizeInBytes`,[_]:Yw}],[0,{[h]:`SnapshotId`,[_]:Ak}],[0,{[h]:`VolumeId`,[_]:BA}],[0,{[h]:`Status`,[_]:nA}],[0,{[h]:`StatusMessage`,[_]:Nk}],[4,{[h]:`StartTime`,[_]:qk}],[0,{[h]:`Progress`,[_]:IO}],[0,{[h]:`OwnerId`,[_]:KD}],[0,{[h]:`Description`,[_]:nw}],[1,{[h]:`VolumeSize`,[_]:YA}],[2,{[h]:`Encrypted`,[_]:Ww}],[0,{[h]:`KmsKeyId`,[_]:ME}],[0,{[h]:`DataEncryptionKeyId`,[_]:IC}]]],sF=[3,v,Jee,0,[Ig,Ree,Dee,eS,Ip],[0,0,1,4,0]],cF=[3,v,Mee,0,[Xp,Ko,p],[[()=>cI,{[_]:Np}],[0,{[h]:`AdditionalInfo`,[_]:yS}],[2,{[h]:`DryRun`,[_]:m}]],1],lF=[3,v,Nee,0,[Vee],[[()=>bI,{[h]:`InstancesSet`,[_]:vE}]]],uF=[3,v,Fb,0,[rl,Jg],[[0,{[h]:`Code`,[_]:AC}],[0,{[h]:`Message`,[_]:vD}]]],dF=[3,v,Pee,0,[Xp,qf,Pb,p,Qd],[[()=>cI,{[_]:Np}],2,2,[2,{[h]:`DryRun`,[_]:m}],[2,{[h]:`Force`,[_]:Zw}]],1],fF=[3,v,Fee,0,[Uee],[[()=>bI,{[h]:`InstancesSet`,[_]:vE}]]],pF=[3,v,Gb,0,[Ss,Cd,gg,fc,A_,Uo,pp,Kb,qy,O_,Zu,dm,nv,Ps,nx,kb,Hb,Dx,Rs,Ho,ys,_l,Fg],[[0,{[h]:`AvailabilityZoneId`,[_]:FS}],[1,{[h]:`EnableLniAtDeviceIndex`,[_]:Cw}],[2,{[h]:`MapCustomerOwnedIpOnLaunch`,[_]:ZE}],[0,{[h]:`CustomerOwnedIpv4Pool`,[_]:yC}],[0,{[h]:`OwnerId`,[_]:KD}],[2,{[h]:`AssignIpv6AddressOnCreation`,[_]:vS}],[()=>dL,{[h]:`Ipv6CidrBlockAssociationSet`,[_]:PT}],[()=>mL,{[h]:`TagSet`,[_]:_A}],[0,{[h]:`SubnetArn`,[_]:uk}],[0,{[h]:`OutpostArn`,[_]:WD}],[2,{[h]:`EnableDns64`,[_]:cw}],[2,{[h]:`Ipv6Native`,[_]:YT}],[()=>FP,{[h]:`PrivateDnsNameOptionsOnLaunch`,[_]:cO}],[()=>kj,{[h]:`BlockPublicAccessStates`,[_]:XS}],[0,{[h]:`Type`,[_]:EA}],[0,{[h]:`SubnetId`,[_]:jk}],[0,{[h]:`State`,[_]:tA}],[0,{[h]:`VpcId`,[_]:RA}],[0,{[h]:`CidrBlock`,[_]:tC}],[1,{[h]:`AvailableIpAddressCount`,[_]:_S}],[0,{[h]:`AvailabilityZone`,[_]:PS}],[2,{[h]:`DefaultForAz`,[_]:RC}],[2,{[h]:`MapPublicIpOnLaunch`,[_]:lD}]]],mF=[3,v,Xy,0,[Hb,jb],[[0,{[h]:`State`,[_]:tA}],[0,{[h]:`StatusMessage`,[_]:Nk}]]],hF=[3,v,vb,0,[qo,fp,hp,Zf,ph],[[0,{[h]:`AssociationId`,[_]:bS}],[0,{[h]:`Ipv6CidrBlock`,[_]:NT}],[()=>mF,{[h]:`Ipv6CidrBlockState`,[_]:FT}],[0,{[h]:`Ipv6AddressAttribute`,[_]:CT}],[0,{[h]:`IpSource`,[_]:bE}]]],gF=[3,v,ex,0,[Dh,px],[[0,{[h]:`Key`,[_]:kE}],[0,{[h]:`Value`,[_]:PA}]]],_F=[3,v,Qb,0,[Iy,Kb],[[0,{[h]:`ResourceType`,[_]:ik}],[()=>mL,{[_]:ex}]]],vF=[3,v,_te,0,[Xp,Qd,Pb,p],[[()=>cI,{[_]:Np}],2,2,[2,{[h]:`DryRun`,[_]:m}]],1],yF=[3,v,vte,0,[bte],[[()=>bI,{[h]:`InstancesSet`,[_]:vE}]]],bF=[3,v,sx,0,[Bu,ix,Af,Ef,Dx,Ux,kv],[[0,{[h]:`Description`,[_]:nw}],[0,{[h]:`UserId`,[_]:OA}],[0,{[h]:`GroupName`,[_]:aT}],[0,{[h]:`GroupId`,[_]:rT}],[0,{[h]:`VpcId`,[_]:RA}],[0,{[h]:`VpcPeeringConnectionId`,[_]:GA}],[0,{[h]:`PeeringStatus`,[_]:EO}]]],xF=[3,v,yx,0,[Du,ml,Cu,bx,Qx],[[1,{[h]:`DefaultVCpus`,[_]:tw}],[1,{[h]:`DefaultCores`,[_]:FC}],[1,{[h]:`DefaultThreadsPerCore`,[_]:ZC}],[()=>UF,{[h]:`ValidCores`,[_]:IA}],[()=>gL,{[h]:`ValidThreadsPerCore`,[_]:QA}]]],SF=[3,v,iS,0,[Ss,O_,ste,Eh,Kb,Xx,sf,fg,tx,Bb,H_,Ax,Nx,Vb,Ob,ys,Hb,Zc,Os,Xd,jh],[[0,{[h]:`AvailabilityZoneId`,[_]:FS}],[0,{[h]:`OutpostArn`,[_]:WD}],[0,{[h]:`SourceVolumeId`,[_]:Zk}],[1,{[h]:`Iops`,[_]:OE}],[()=>mL,{[h]:`TagSet`,[_]:_A}],[0,{[h]:`VolumeType`,[_]:ZA}],[2,{[h]:`FastRestored`,[_]:Jw}],[2,{[h]:`MultiAttachEnabled`,[_]:qE}],[1,{[h]:`Throughput`,[_]:wA}],[0,{[h]:`SseType`,[_]:Jk}],[()=>AP,{[h]:`Operator`,[_]:eO}],[1,{[h]:`VolumeInitializationRate`,[_]:zA}],[0,{[h]:`VolumeId`,[_]:BA}],[1,{[h]:`Size`,[_]:eA}],[0,{[h]:`SnapshotId`,[_]:Ak}],[0,{[h]:`AvailabilityZone`,[_]:PS}],[0,{[h]:`Status`,[_]:nA}],[4,{[h]:`CreateTime`,[_]:kC}],[()=>xL,{[h]:`AttachmentSet`,[_]:MS}],[2,{[h]:`Encrypted`,[_]:Ww}],[0,{[h]:`KmsKeyId`,[_]:ME}]]],CF=[3,v,hx,0,[Gl,is,Tm,Ku,Nx,Np,Vu,Hb,hs],[[2,{[h]:`DeleteOnTermination`,[_]:KC}],[0,{[h]:`AssociatedResource`,[_]:DS}],[0,{[h]:`InstanceOwningService`,[_]:eE}],[1,{[h]:`EbsCardIndex`,[_]:aw}],[0,{[h]:`VolumeId`,[_]:BA}],[0,{[h]:`InstanceId`,[_]:HT}],[0,{[h]:`Device`,[_]:rw}],[0,{[h]:`Status`,[_]:nA}],[4,{[h]:`AttachTime`,[_]:NS}]]],wF=[3,v,Bx,0,[Nx,zg,jb,Ote,yte,jte,kte,Ste,z_,M_,V_,B_,P_,Vv,zb,Kd],[[0,{[h]:`VolumeId`,[_]:BA}],[0,{[h]:`ModificationState`,[_]:pD}],[0,{[h]:`StatusMessage`,[_]:Nk}],[1,{[h]:`TargetSize`,[_]:yA}],[1,{[h]:`TargetIops`,[_]:dA}],[0,{[h]:`TargetVolumeType`,[_]:CA}],[1,{[h]:`TargetThroughput`,[_]:xA}],[2,{[h]:`TargetMultiAttachEnabled`,[_]:fA}],[1,{[h]:`OriginalSize`,[_]:ZD}],[1,{[h]:`OriginalIops`,[_]:JD}],[0,{[h]:`OriginalVolumeType`,[_]:$D}],[1,{[h]:`OriginalThroughput`,[_]:QD}],[2,{[h]:`OriginalMultiAttachEnabled`,[_]:YD}],[1,{[h]:`Progress`,[_]:IO}],[4,{[h]:`StartTime`,[_]:qk}],[4,{[h]:`EndTime`,[_]:Vw}]]],TF=[3,v,aS,0,[A_,yh,pp,zs,xp,Xu,Kb,Ps,Dx,Hb,Rs,Wl],[[0,{[h]:`OwnerId`,[_]:KD}],[0,{[h]:`InstanceTenancy`,[_]:EE}],[()=>EL,{[h]:`Ipv6CidrBlockAssociationSet`,[_]:PT}],[()=>wL,{[h]:`CidrBlockAssociationSet`,[_]:nC}],[2,{[h]:`IsDefault`,[_]:IT}],[()=>OF,{[h]:`EncryptionControl`,[_]:sw}],[()=>mL,{[h]:`TagSet`,[_]:_A}],[()=>kj,{[h]:`BlockPublicAccessStates`,[_]:XS}],[0,{[h]:`VpcId`,[_]:RA}],[0,{[h]:`State`,[_]:tA}],[0,{[h]:`CidrBlock`,[_]:tC}],[0,{[h]:`DhcpOptionsId`,[_]:GC}]]],EF=[3,v,gx,0,[qo,Rs,Vs],[[0,{[h]:`AssociationId`,[_]:bS}],[0,{[h]:`CidrBlock`,[_]:tC}],[()=>DF,{[h]:`CidrBlockState`,[_]:iC}]]],DF=[3,v,vx,0,[Hb,jb],[[0,{[h]:`State`,[_]:tA}],[0,{[h]:`StatusMessage`,[_]:Nk}]]],OF=[3,v,xx,0,[Dx,Tx,Xg,Hb,Mb,Xv,Kb],[[0,{[h]:`VpcId`,[_]:RA}],[0,{[h]:`VpcEncryptionControlId`,[_]:LA}],[0,{[h]:`Mode`,[_]:bD}],[0,{[h]:`State`,[_]:tA}],[0,{[h]:`StateMessage`,[_]:Pk}],[()=>jF,{[h]:`ResourceExclusions`,[_]:HO}],[()=>mL,{[h]:`TagSet`,[_]:_A}]]],kF=[3,v,Sx,0,[Xg,Dp,Dd,f_,Kx,Wx,Jh,Lx,$u],[0,0,0,0,0,0,0,0,0],1],AF=[3,v,Cx,0,[Hb,Mb],[[0,{[h]:`State`,[_]:tA}],[0,{[h]:`StateMessage`,[_]:Pk}]]],jF=[3,v,wx,0,[Cp,Ed,d_,Gx,qx,lg,Ix,Qu],[[()=>AF,{[h]:`InternetGateway`,[_]:RT}],[()=>AF,{[h]:`EgressOnlyInternetGateway`,[_]:Ew}],[()=>AF,{[h]:`NatGateway`,[_]:OD}],[()=>AF,{[h]:`VirtualPrivateGateway`,[_]:KA}],[()=>AF,{[h]:`VpcPeering`,[_]:qA}],[()=>AF,{[h]:`Lambda`,[_]:KE}],[()=>AF,{[h]:`VpcLattice`,[_]:VA}],[()=>AF,{[h]:`ElasticFileSystem`,[_]:lw}]]],MF=[3,v,Ox,0,[qo,fp,hp,$g,Um,Zf,ph],[[0,{[h]:`AssociationId`,[_]:bS}],[0,{[h]:`Ipv6CidrBlock`,[_]:NT}],[()=>DF,{[h]:`Ipv6CidrBlockState`,[_]:FT}],[0,{[h]:`NetworkBorderGroup`,[_]:SD}],[0,{[h]:`Ipv6Pool`,[_]:cE}],[0,{[h]:`Ipv6AddressAttribute`,[_]:CT}],[0,{[h]:`IpSource`,[_]:bE}]]],NF=`unit`,PF=[1,v,ms,0,[0,{[_]:g}]],FF=[1,v,xs,0,[()=>wj,{[_]:g}]],IF=[1,v,mee,0,[()=>Cj,{[_]:g}]],LF=[1,v,gee,0,[()=>Tj,{[_]:g}]],RF=[1,v,vee,0,[()=>Ej,{[_]:g}]],zF=[1,v,jee,0,[0,{[_]:g}]],BF=[1,v,Tee,0,[()=>Oj,{[_]:g}]],VF=[1,v,Eee,0,[()=>Oj,{[_]:As}]],HF=[1,v,Oee,0,[0,{[_]:g}]],UF=[1,v,Hs,0,[1,{[_]:g}]],WF=[1,v,wl,0,[()=>GM,{[_]:g}]],GF=[1,v,qu,0,[()=>qM,{[_]:g}]],KF=[1,v,nd,0,[()=>$M,{[_]:g}]],qF=[1,v,cd,0,[()=>eN,{[_]:g}]],JF=[1,v,fd,0,[()=>nN,{[_]:g}]],YF=[1,v,_d,0,[()=>tN,{[_]:g}]],XF=[1,v,Wu,0,[0,{[_]:Gu}]],ZF=[1,v,af,0,[()=>sN,{[_]:df}]],QF=[1,v,ef,0,[()=>cN,{[_]:g}]],$F=[1,v,bf,0,[()=>pN,{[_]:g}]],eI=[1,v,Cf,0,[()=>gN,{[_]:g}]],tI=[1,v,wf,0,[0,{[_]:rT}]],nI=[1,v,jf,0,[0,{[_]:Af}]],rI=[1,v,Kp,0,[0,{[_]:Jp}]],iI=[1,v,tm,0,[()=>xN,{[_]:g}]],aI=[1,v,vp,0,[()=>TN,0]],oI=[1,v,lp,0,[()=>AN,{[_]:g}]],sI=[1,v,dp,0,[()=>jN,{[_]:g}]],cI=[1,v,qp,0,[0,{[_]:Np}]],lI=[1,v,Bp,0,[()=>MN,{[_]:g}]],uI=[1,v,Fp,0,[()=>NN,{[_]:g}]],dI=[1,v,Vp,0,[()=>PN,{[_]:g}]],fI=[1,v,rm,0,[()=>DN,{[_]:g}]],pI=[1,v,hm,0,[()=>BN,{[_]:g}]],mI=[1,v,_m,0,[()=>UN,{[_]:g}]],hI=[1,v,Am,0,[()=>KN,{[_]:g}]],gI=[1,v,th,0,[()=>qN,{[_]:g}]],_I=[1,v,rh,0,[()=>YN,{[_]:g}]],vI=[1,v,ih,0,[()=>XN,{[_]:g}]],yI=[1,v,oh,0,[()=>ZN,{[_]:g}]],bI=[1,v,$m,0,[()=>$N,{[_]:g}]],xI=[1,v,gh,0,[()=>tP,{[_]:g}]],SI=[1,v,Tp,0,[()=>rP,{[_]:g}]],CI=[1,v,kp,0,[0,{[_]:g}]],wI=[1,v,jp,0,[()=>nP,{[_]:g}]],TI=[1,v,Nm,0,[()=>iP,{[_]:g}]],EI=[1,v,Km,0,[()=>aP,{[_]:g}]],DI=[1,v,Pm,0,[()=>oP,{[_]:g}]],OI=[1,v,Fm,0,[()=>sP,{[_]:g}]],kI=[1,v,qm,0,[()=>cP,{[_]:g}]],AI=[1,v,Ph,0,[0,{[_]:Nh}]],jI=[1,v,Rh,0,[0,{[_]:Lh}]],MI=[1,v,Vh,0,[()=>uP,{[_]:g}]],NI=[1,v,Qh,0,[()=>fP,{[_]:g}]],PI=[1,v,tg,0,[()=>pP,{[_]:g}]],FI=[1,v,bg,0,[()=>hP,{[_]:g}]],II=[1,v,n_,0,[()=>SP,{[_]:g}]],LI=[1,v,s_,0,[()=>TP,{[_]:g}]],RI=[1,v,w_,0,[0,{[_]:g}]],zI=[1,v,R_,0,[0,{[_]:G_}]],BI=[1,v,lv,0,[0,{[_]:Ef}]],VI=[1,v,uv,0,[()=>MP,{[_]:g}]],HI=[1,v,dv,0,[0,{[_]:g}]],UI=[1,v,Ev,0,[()=>PP,{[_]:g}]],WI=[1,v,gv,0,[()=>RP,{[_]:g}]],GI=[1,v,Y_,0,[()=>BP,{[_]:g}]],KI=[1,v,Pv,0,[()=>VP,{[_]:g}]],qI=[1,v,ey,0,[()=>GP,{[_]:g}]],JI=[1,v,uy,0,[()=>WP,{[_]:g}]],YI=[1,v,gy,0,[0,{[_]:hy}]],XI=[1,v,dy,0,[()=>KP,{[_]:g}]],ZI=[1,v,Ey,0,[()=>qP,{[_]:g}]],QI=[1,v,Jv,0,[0,{[_]:g}]],$I=[1,v,fy,0,[()=>QP,{[_]:g}]],eL=[1,v,Ay,0,[()=>eF,{[_]:g}]],tL=[1,v,Ny,0,[0,{[_]:g}]],nL=[1,v,Fy,0,[()=>$P,{[_]:g}]],rL=[1,v,ib,0,[0,{[_]:rb}]],iL=[1,v,ob,0,[()=>iF,{[_]:g}]],aL=[1,v,ub,0,[0,{[_]:g}]],oL=[1,v,fb,0,[()=>aF,{[_]:g}]],sL=[1,v,mb,0,[0,{[_]:gb}]],cL=[1,v,Iee,0,[0,{[_]:Ob}]],lL=[1,v,Kee,0,[()=>oF,{[_]:g}]],uL=[1,v,Lee,0,[0,{[_]:kb}]],dL=[1,v,yb,0,[()=>hF,{[_]:g}]],fL=[1,v,qee,0,[()=>pF,{[_]:g}]],pL=[1,v,Ky,0,[0,{[_]:g}]],mL=[1,v,xte,0,[()=>gF,{[_]:g}]],hL=[1,v,Dte,0,[()=>_F,{[_]:g}]],gL=[1,v,Tte,0,[1,{[_]:g}]],_L=[1,v,Pte,0,[0,{[_]:g}]],vL=[1,v,ox,0,[()=>bF,{[_]:g}]],yL=[1,v,Jx,0,[0,{[_]:g}]],bL=[1,v,Zx,0,[0,{[_]:g}]],xL=[1,v,mx,0,[()=>CF,{[_]:g}]],SL=[1,v,jx,0,[0,{[_]:Nx}]],CL=[1,v,Rx,0,[()=>SF,{[_]:g}]],wL=[1,v,_x,0,[()=>EF,{[_]:g}]],TL=[1,v,Mx,0,[0,{[_]:Dx}]],EL=[1,v,kx,0,[()=>MF,{[_]:g}]],DL=[1,v,zx,0,[()=>TF,{[_]:g}]],OL=[1,v,sS,0,[0,{[_]:g}]],kL=[1,v,uS,0,[0,{[_]:lS}]],AL=[1,v,pS,0,[0,{[_]:fS}]],jL=[9,v,ns,0,()=>pj,()=>mj],ML=[9,v,Wo,0,()=>hj,()=>NF],NL=[9,v,vs,0,()=>gj,()=>CF],PL=[9,v,ss,0,()=>yj,()=>bj],FL=[9,v,fs,0,()=>xj,()=>Sj],IL=[9,v,Bc,0,()=>Ij,()=>Lj],LL=[9,v,oc,0,()=>Bj,()=>Vj],RL=[9,v,Zs,0,()=>Hj,()=>Uj],zL=[9,v,sc,0,()=>Wj,()=>lP],BL=[9,v,mc,0,()=>Gj,()=>Kj],VL=[9,v,kc,0,()=>qj,()=>Jj],HL=[9,v,Oc,0,()=>Yj,()=>Xj],UL=[9,v,Ac,0,()=>Zj,()=>Qj],WL=[9,v,Hc,0,()=>$j,()=>oF],GL=[9,v,Uc,0,()=>eM,()=>tM],KL=[9,v,tl,0,()=>nM,()=>SF],qL=[9,v,nl,0,()=>rM,()=>iM],JL=[9,v,Fl,0,()=>sM,()=>cM],YL=[9,v,Kl,0,()=>lM,()=>NF],XL=[9,v,ou,0,()=>uM,()=>dM],ZL=[9,v,vu,0,()=>fM,()=>NF],QL=[9,v,yu,0,()=>pM,()=>NF],$L=[9,v,Fu,0,()=>mM,()=>NF],eR=[9,v,Iu,0,()=>hM,()=>NF],tR=[9,v,dl,0,()=>gM,()=>_M],nR=[9,v,Ml,0,()=>vM,()=>yM],rR=[9,v,Nl,0,()=>bM,()=>xM],iR=[9,v,jl,0,()=>SM,()=>CM],aR=[9,v,Cl,0,()=>wM,()=>TM],oR=[9,v,Bl,0,()=>EM,()=>DM],sR=[9,v,Xl,0,()=>OM,()=>kM],cR=[9,v,au,0,()=>AM,()=>jM],lR=[9,v,ru,0,()=>MM,()=>NM],uR=[9,v,du,0,()=>PM,()=>FM],dR=[9,v,bu,0,()=>IM,()=>LM],fR=[9,v,xu,0,()=>RM,()=>zM],pR=[9,v,Lu,0,()=>BM,()=>VM],mR=[9,v,Ru,0,()=>HM,()=>UM],hR=[9,v,zu,0,()=>WM,()=>CF],gR=[9,v,hf,0,()=>dN,()=>fN],_R=[9,v,Zp,0,()=>SN,()=>CN],vR=[9,v,kg,0,()=>vP,()=>NF],yR=[9,v,Wg,0,()=>yP,()=>bP],bR=[9,v,sy,0,()=>HP,()=>NF],xR=[9,v,yy,0,()=>JP,()=>YP],SR=[9,v,wy,0,()=>XP,()=>ZP],CR=[9,v,ly,0,()=>rF,()=>KP],wR=[9,v,Hee,0,()=>cF,()=>lF],TR=[9,v,Wee,0,()=>dF,()=>fF],ER=[9,v,hte,0,()=>vF,()=>yF],DR=e=>({apiVersion:`2016-11-15`,base64Decoder:e?.base64Decoder??He,base64Encoder:e?.base64Encoder??Ue,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??Io,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??ka,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new ba}],logger:e?.logger??new ia,protocol:e?.protocol??io,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.ec2`,errorTypeRegistries:lj,xmlNamespace:`http://ec2.amazonaws.com/doc/2016-11-15`,version:`2016-11-15`,serviceTarget:`AmazonEC2`},serviceId:e?.serviceId??`EC2`,urlParser:e?.urlParser??ht,utf8Decoder:e?.utf8Decoder??se,utf8Encoder:e?.utf8Encoder??ce}),OR=e=>{let t=Ba(e),n=()=>t().then(Yi),r=DR(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Ra,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??Pa({serviceId:r.serviceId,clientVersion:Na.version}),maxAttempts:e?.maxAttempts??3,region:e?.region??Ia(`Region is missing`),requestHandler:Qe.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||Hr),sha256:e?.sha256??l,streamCollector:e?.streamCollector??et,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},kR=e=>({setRegion(t){e.region=t},region(){return e.region}}),AR=e=>({region:e.region()}),jR=e=>{let t=e.httpAuthSchemes,n=e.httpAuthSchemeProvider,r=e.credentials;return{setHttpAuthScheme(e){let n=t.findIndex(t=>t.schemeId===e.schemeId);n===-1?t.push(e):t.splice(n,1,e)},httpAuthSchemes(){return t},setHttpAuthSchemeProvider(e){n=e},httpAuthSchemeProvider(){return n},setCredentials(e){r=e},credentials(){return r}}},MR=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),NR=(e,t)=>{let n=Object.assign(kR(e),ta(e),de(e),jR(e));return t.forEach(e=>e.configure(n)),Object.assign(e,AR(n),na(n),fe(n),MR(n))},PR=class extends Hi{config;constructor(...[e]){let t=OR(e||{});super(t),this.initConfig=t,this.config=NR(Aa(Pi(ye(hi(Ii(Xn(ja(t))))))),e?.extensions||[]),this.middlewareStack.use(bt(this.config)),this.middlewareStack.use(ui(this.config)),this.middlewareStack.use(pa(this.config)),this.middlewareStack.use(yi(this.config)),this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(Te(this.config)),this.middlewareStack.use(Oe(this.config)),this.middlewareStack.use(Ne(this.config,{httpAuthSchemeParametersProvider:Da,identityProviderConfigProvider:async e=>new Gn({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(Le(this.config))}destroy(){super.destroy()}},FR=async(e,t,n)=>({operation:_e(t).operation,region:await f(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function IR(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`elasticloadbalancing`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var LR=e=>{let t=[];switch(e.operation){default:t.push(IR(e))}return t},RR=e=>{let t=wa(e);return Object.assign(t,{authSchemePreference:f(e.authSchemePreference??[])})},zR=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:`elasticloadbalancing`}),BR={UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},VR={name:`@aws-sdk/client-elastic-load-balancing-v2`,description:`AWS SDK for JavaScript Elastic Load Balancing V2 Client for Node.js, Browser and React Native`,version:`3.1029.0`,scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline client-elastic-load-balancing-v2`,"build:es":`tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`tsc -p tsconfig.types.json`,"build:types:downlevel":`downlevel-dts dist-types dist-types/ts3.4`,clean:`premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service --solo elastic-load-balancing-v2`,"test:e2e":`yarn g:vitest run -c vitest.config.e2e.mts --mode development`,"test:e2e:watch":`yarn g:vitest watch -c vitest.config.e2e.mts`,"test:index":`tsc --noEmit ./test/index-types.ts && node ./test/index-objects.spec.mjs`},main:`./dist-cjs/index.js`,types:`./dist-types/index.d.ts`,module:`./dist-es/index.js`,sideEffects:!1,dependencies:{"@aws-crypto/sha256-browser":`5.2.0`,"@aws-crypto/sha256-js":`5.2.0`,"@aws-sdk/core":`^3.973.27`,"@aws-sdk/credential-provider-node":`^3.972.30`,"@aws-sdk/middleware-host-header":`^3.972.9`,"@aws-sdk/middleware-logger":`^3.972.9`,"@aws-sdk/middleware-recursion-detection":`^3.972.10`,"@aws-sdk/middleware-user-agent":`^3.972.29`,"@aws-sdk/region-config-resolver":`^3.972.11`,"@aws-sdk/types":`^3.973.7`,"@aws-sdk/util-endpoints":`^3.996.6`,"@aws-sdk/util-user-agent-browser":`^3.972.9`,"@aws-sdk/util-user-agent-node":`^3.973.15`,"@smithy/config-resolver":`^4.4.14`,"@smithy/core":`^3.23.14`,"@smithy/fetch-http-handler":`^5.3.16`,"@smithy/hash-node":`^4.2.13`,"@smithy/invalid-dependency":`^4.2.13`,"@smithy/middleware-content-length":`^4.2.13`,"@smithy/middleware-endpoint":`^4.4.29`,"@smithy/middleware-retry":`^4.5.0`,"@smithy/middleware-serde":`^4.2.17`,"@smithy/middleware-stack":`^4.2.13`,"@smithy/node-config-provider":`^4.3.13`,"@smithy/node-http-handler":`^4.5.2`,"@smithy/protocol-http":`^5.3.13`,"@smithy/smithy-client":`^4.12.9`,"@smithy/types":`^4.14.0`,"@smithy/url-parser":`^4.2.13`,"@smithy/util-base64":`^4.3.2`,"@smithy/util-body-length-browser":`^4.2.2`,"@smithy/util-body-length-node":`^4.2.3`,"@smithy/util-defaults-mode-browser":`^4.3.45`,"@smithy/util-defaults-mode-node":`^4.2.49`,"@smithy/util-endpoints":`^3.3.4`,"@smithy/util-middleware":`^4.2.13`,"@smithy/util-retry":`^4.3.0`,"@smithy/util-utf8":`^4.2.2`,"@smithy/util-waiter":`^4.2.15`,tslib:`^2.6.2`},devDependencies:{"@tsconfig/node20":`20.1.8`,"@types/node":`^20.14.8`,concurrently:`7.0.0`,"downlevel-dts":`0.10.1`,premove:`4.0.0`,typescript:`~5.8.3`},engines:{node:`>=20.0.0`},typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},files:[`dist-*/**`],author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/javascript/`},license:`Apache-2.0`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-elastic-load-balancing-v2`,repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-elastic-load-balancing-v2`}},HR=`required`,UR=`fn`,WR=`argv`,GR=`ref`,KR=!0,qR=`isSet`,JR=`booleanEquals`,YR=`error`,XR=`endpoint`,ZR=`tree`,QR=`PartitionResult`,$R=`getAttr`,ez={[HR]:!1,type:`string`},tz={[HR]:!0,default:!1,type:`boolean`},nz={[GR]:`Endpoint`},rz={[UR]:JR,[WR]:[{[GR]:`UseFIPS`},!0]},iz={[UR]:JR,[WR]:[{[GR]:`UseDualStack`},!0]},az={},oz={[UR]:$R,[WR]:[{[GR]:QR},`supportsFIPS`]},sz={[GR]:QR},cz={[UR]:JR,[WR]:[!0,{[UR]:$R,[WR]:[sz,`supportsDualStack`]}]},lz=[rz],uz=[iz],dz=[{[GR]:`Region`}],fz={version:`1.0`,parameters:{Region:ez,UseDualStack:tz,UseFIPS:tz,Endpoint:ez},rules:[{conditions:[{[UR]:qR,[WR]:[nz]}],rules:[{conditions:lz,error:`Invalid Configuration: FIPS and custom endpoint are not supported`,type:YR},{conditions:uz,error:`Invalid Configuration: Dualstack and custom endpoint are not supported`,type:YR},{endpoint:{url:nz,properties:az,headers:az},type:XR}],type:ZR},{conditions:[{[UR]:qR,[WR]:dz}],rules:[{conditions:[{[UR]:`aws.partition`,[WR]:dz,assign:QR}],rules:[{conditions:[rz,iz],rules:[{conditions:[{[UR]:JR,[WR]:[KR,oz]},cz],rules:[{endpoint:{url:`https://elasticloadbalancing-fips.{Region}.{PartitionResult#dualStackDnsSuffix}`,properties:az,headers:az},type:XR}],type:ZR},{error:`FIPS and DualStack are enabled, but this partition does not support one or both`,type:YR}],type:ZR},{conditions:lz,rules:[{conditions:[{[UR]:JR,[WR]:[oz,KR]}],rules:[{conditions:[{[UR]:`stringEquals`,[WR]:[{[UR]:$R,[WR]:[sz,`name`]},`aws-us-gov`]}],endpoint:{url:`https://elasticloadbalancing.{Region}.amazonaws.com`,properties:az,headers:az},type:XR},{endpoint:{url:`https://elasticloadbalancing-fips.{Region}.{PartitionResult#dnsSuffix}`,properties:az,headers:az},type:XR}],type:ZR},{error:`FIPS is enabled but this partition does not support FIPS`,type:YR}],type:ZR},{conditions:uz,rules:[{conditions:[cz],rules:[{endpoint:{url:`https://elasticloadbalancing.{Region}.{PartitionResult#dualStackDnsSuffix}`,properties:az,headers:az},type:XR}],type:ZR},{error:`DualStack is enabled but this partition does not support DualStack`,type:YR}],type:ZR},{endpoint:{url:`https://elasticloadbalancing.{Region}.{PartitionResult#dnsSuffix}`,properties:az,headers:az},type:XR}],type:ZR}],type:ZR},{error:`Invalid Configuration: Missing Region`,type:YR}]},pz=new Zn({size:50,params:[`Endpoint`,`Region`,`UseDualStack`,`UseFIPS`]}),mz=(e,t={})=>pz.get(e,()=>kr(fz,{endpointParams:e,logger:t.logger}));nr.aws=Rr;var y=class e extends qi{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},hz=class e extends y{name=`CertificateNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`CertificateNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},gz=class e extends y{name=`ListenerNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`ListenerNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},_z=class e extends y{name=`TooManyCertificatesException`;$fault=`client`;Message;constructor(t){super({name:`TooManyCertificatesException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},vz=class e extends y{name=`DuplicateTagKeysException`;$fault=`client`;Message;constructor(t){super({name:`DuplicateTagKeysException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},yz=class e extends y{name=`LoadBalancerNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`LoadBalancerNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},bz=class e extends y{name=`RuleNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`RuleNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},xz=class e extends y{name=`TargetGroupNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`TargetGroupNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Sz=class e extends y{name=`TooManyTagsException`;$fault=`client`;Message;constructor(t){super({name:`TooManyTagsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Cz=class e extends y{name=`TrustStoreNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`TrustStoreNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},wz=class e extends y{name=`InvalidRevocationContentException`;$fault=`client`;Message;constructor(t){super({name:`InvalidRevocationContentException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Tz=class e extends y{name=`RevocationContentNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`RevocationContentNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Ez=class e extends y{name=`TooManyTrustStoreRevocationEntriesException`;$fault=`client`;Message;constructor(t){super({name:`TooManyTrustStoreRevocationEntriesException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Dz=class e extends y{name=`AllocationIdNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`AllocationIdNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Oz=class e extends y{name=`ALPNPolicyNotSupportedException`;$fault=`client`;Message;constructor(t){super({name:`ALPNPolicyNotSupportedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},kz=class e extends y{name=`AvailabilityZoneNotSupportedException`;$fault=`client`;Message;constructor(t){super({name:`AvailabilityZoneNotSupportedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Az=class e extends y{name=`CaCertificatesBundleNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`CaCertificatesBundleNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},jz=class e extends y{name=`CapacityDecreaseRequestsLimitExceededException`;$fault=`client`;Message;constructor(t){super({name:`CapacityDecreaseRequestsLimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Mz=class e extends y{name=`CapacityReservationPendingException`;$fault=`client`;Message;constructor(t){super({name:`CapacityReservationPendingException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Nz=class e extends y{name=`CapacityUnitsLimitExceededException`;$fault=`client`;Message;constructor(t){super({name:`CapacityUnitsLimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Pz=class e extends y{name=`DuplicateListenerException`;$fault=`client`;Message;constructor(t){super({name:`DuplicateListenerException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Fz=class e extends y{name=`IncompatibleProtocolsException`;$fault=`client`;Message;constructor(t){super({name:`IncompatibleProtocolsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Iz=class e extends y{name=`InvalidConfigurationRequestException`;$fault=`client`;Message;constructor(t){super({name:`InvalidConfigurationRequestException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Lz=class e extends y{name=`InvalidLoadBalancerActionException`;$fault=`client`;Message;constructor(t){super({name:`InvalidLoadBalancerActionException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Rz=class e extends y{name=`SSLPolicyNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`SSLPolicyNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},zz=class e extends y{name=`TargetGroupAssociationLimitException`;$fault=`client`;Message;constructor(t){super({name:`TargetGroupAssociationLimitException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Bz=class e extends y{name=`TooManyActionsException`;$fault=`client`;Message;constructor(t){super({name:`TooManyActionsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Vz=class e extends y{name=`TooManyListenersException`;$fault=`client`;Message;constructor(t){super({name:`TooManyListenersException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Hz=class e extends y{name=`TooManyRegistrationsForTargetIdException`;$fault=`client`;Message;constructor(t){super({name:`TooManyRegistrationsForTargetIdException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Uz=class e extends y{name=`TooManyTargetsException`;$fault=`client`;Message;constructor(t){super({name:`TooManyTargetsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Wz=class e extends y{name=`TooManyUniqueTargetGroupsPerLoadBalancerException`;$fault=`client`;Message;constructor(t){super({name:`TooManyUniqueTargetGroupsPerLoadBalancerException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Gz=class e extends y{name=`TrustStoreNotReadyException`;$fault=`client`;Message;constructor(t){super({name:`TrustStoreNotReadyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Kz=class e extends y{name=`UnsupportedProtocolException`;$fault=`client`;Message;constructor(t){super({name:`UnsupportedProtocolException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},qz=class e extends y{name=`DuplicateLoadBalancerNameException`;$fault=`client`;Message;constructor(t){super({name:`DuplicateLoadBalancerNameException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Jz=class e extends y{name=`InvalidSchemeException`;$fault=`client`;Message;constructor(t){super({name:`InvalidSchemeException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Yz=class e extends y{name=`InvalidSecurityGroupException`;$fault=`client`;Message;constructor(t){super({name:`InvalidSecurityGroupException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Xz=class e extends y{name=`InvalidSubnetException`;$fault=`client`;Message;constructor(t){super({name:`InvalidSubnetException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Zz=class e extends y{name=`OperationNotPermittedException`;$fault=`client`;Message;constructor(t){super({name:`OperationNotPermittedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},Qz=class e extends y{name=`ResourceInUseException`;$fault=`client`;Message;constructor(t){super({name:`ResourceInUseException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},$z=class e extends y{name=`SubnetNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`SubnetNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},eB=class e extends y{name=`TooManyLoadBalancersException`;$fault=`client`;Message;constructor(t){super({name:`TooManyLoadBalancersException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},tB=class e extends y{name=`PriorityInUseException`;$fault=`client`;Message;constructor(t){super({name:`PriorityInUseException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},nB=class e extends y{name=`TooManyRulesException`;$fault=`client`;Message;constructor(t){super({name:`TooManyRulesException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},rB=class e extends y{name=`TooManyTargetGroupsException`;$fault=`client`;Message;constructor(t){super({name:`TooManyTargetGroupsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},iB=class e extends y{name=`DuplicateTargetGroupNameException`;$fault=`client`;Message;constructor(t){super({name:`DuplicateTargetGroupNameException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},aB=class e extends y{name=`DuplicateTrustStoreNameException`;$fault=`client`;Message;constructor(t){super({name:`DuplicateTrustStoreNameException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},oB=class e extends y{name=`InvalidCaCertificatesBundleException`;$fault=`client`;Message;constructor(t){super({name:`InvalidCaCertificatesBundleException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},sB=class e extends y{name=`TooManyTrustStoresException`;$fault=`client`;Message;constructor(t){super({name:`TooManyTrustStoresException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},cB=class e extends y{name=`DeleteAssociationSameAccountException`;$fault=`client`;Message;constructor(t){super({name:`DeleteAssociationSameAccountException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},lB=class e extends y{name=`TrustStoreAssociationNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`TrustStoreAssociationNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},uB=class e extends y{name=`TrustStoreInUseException`;$fault=`client`;Message;constructor(t){super({name:`TrustStoreInUseException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},dB=class e extends y{name=`InvalidTargetException`;$fault=`client`;Message;constructor(t){super({name:`InvalidTargetException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},fB=class e extends y{name=`HealthUnavailableException`;$fault=`server`;Message;constructor(t){super({name:`HealthUnavailableException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},pB=class e extends y{name=`RevocationIdNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`RevocationIdNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},mB=class e extends y{name=`ResourceNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`ResourceNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},hB=class e extends y{name=`InsufficientCapacityException`;$fault=`server`;Message;constructor(t){super({name:`InsufficientCapacityException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},gB=class e extends y{name=`PriorRequestNotCompleteException`;$fault=`client`;Message;constructor(t){super({name:`PriorRequestNotCompleteException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},_B=`Action`,vB=`AdditionalClaims`,yB=`AuthenticateCognitoActionConfig`,bB=`AuthenticateCognitoConfig`,xB=`AnomalyDetection`,SB=`AuthorizationEndpoint`,CB=`AllocationId`,wB=`AllocationIdNotFoundException`,TB=`ALPNPolicyNotSupportedException`,EB=`AdministrativeOverride`,DB=`AuthenticateOidcActionConfig`,OB=`AuthenticateOidcConfig`,kB=`AlpnPolicy`,AB=`AuthenticationRequestExtraParams`,jB=`AdvertiseTrustStoreCaNames`,MB=`AvailabilityZone`,NB=`AvailabilityZoneNotSupportedException`,PB=`AvailabilityZones`,FB=`Actions`,IB=`Attributes`,LB=`Certificates`,RB=`CertificateArn`,zB=`CaCertificatesBundleNotFoundException`,BB=`CapacityDecreaseRequestsLimitExceededException`,VB=`CanonicalHostedZoneId`,HB=`ClientId`,UB=`CertificateList`,WB=`CreateLoadBalancer`,GB=`CreateLoadBalancerInput`,KB=`CreateLoadBalancerOutput`,qB=`CreateListenerInput`,JB=`CreateListenerOutput`,YB=`CreateListener`,XB=`CertificateNotFoundException`,ZB=`CustomerOwnedIpv4Pool`,QB=`CapacityReservationPendingException`,$B=`ClientSecret`,eV=`ContentType`,tV=`CreateTargetGroup`,nV=`CreateTargetGroupInput`,rV=`CreateTargetGroupOutput`,iV=`CreatedTime`,aV=`CapacityUnitsLimitExceededException`,oV=`Certificate`,sV=`Code`,cV=`Description`,lV=`DefaultActions`,uV=`DeleteAssociationSameAccountException`,dV=`DeleteListener`,fV=`DeleteLoadBalancer`,pV=`DescribeLoadBalancerAttributes`,mV=`DescribeLoadBalancerAttributesInput`,hV=`DescribeLoadBalancerAttributesOutput`,gV=`DeleteLoadBalancerInput`,_V=`DescribeLoadBalancersInput`,vV=`DuplicateLoadBalancerNameException`,yV=`DeleteLoadBalancerOutput`,bV=`DescribeLoadBalancersOutput`,xV=`DescribeLoadBalancers`,SV=`DuplicateListenerException`,CV=`DeleteListenerInput`,wV=`DescribeListenersInput`,TV=`DeleteListenerOutput`,EV=`DescribeListenersOutput`,DV=`DescribeListeners`,OV=`DNSName`,kV=`DurationSeconds`,AV=`DeregisterTargets`,jV=`DeleteTargetGroup`,MV=`DescribeTargetGroupAttributes`,NV=`DescribeTargetGroupAttributesInput`,PV=`DescribeTargetGroupAttributesOutput`,FV=`DeleteTargetGroupInput`,IV=`DescribeTargetGroupsInput`,LV=`DuplicateTargetGroupNameException`,RV=`DeleteTargetGroupOutput`,zV=`DescribeTargetGroupsOutput`,BV=`DescribeTargetGroups`,VV=`DescribeTargetHealth`,HV=`DescribeTargetHealthInput`,UV=`DescribeTargetHealthOutput`,WV=`DeregisterTargetsInput`,GV=`DescribeTagsInput`,KV=`DuplicateTagKeysException`,qV=`DeregisterTargetsOutput`,JV=`DescribeTagsOutput`,YV=`DuplicateTrustStoreNameException`,XV=`DescribeTags`,ZV=`Enabled`,QV=`EnablePrefixForIpv6SourceNat`,$V=`EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic`,eH=`Format`,tH=`ForwardActionConfig`,nH=`ForwardConfig`,rH=`FixedResponseActionConfig`,iH=`FixedResponseConfig`,aH=`GrpcCode`,oH=`Host`,sH=`HttpCode`,cH=`HealthCheckEnabled`,lH=`HealthCheckIntervalSeconds`,uH=`HealthCheckProtocol`,dH=`HealthCheckPort`,fH=`HealthCheckPath`,pH=`HealthCheckTimeoutSeconds`,mH=`HealthyThresholdCount`,hH=`HealthUnavailableException`,gH=`Issuer`,_H=`IpAddress`,vH=`IpAddressType`,yH=`InvalidCaCertificatesBundleException`,bH=`IgnoreClientCertificateExpiry`,xH=`InsufficientCapacityException`,SH=`InvalidConfigurationRequestException`,CH=`IsDefault`,wH=`Ipv4IpamPoolId`,TH=`InvalidLoadBalancerActionException`,EH=`IpamPools`,DH=`IPv6Address`,OH=`IncompatibleProtocolsException`,kH=`InvalidRevocationContentException`,AH=`InvalidSchemeException`,jH=`InvalidSubnetException`,MH=`InvalidSecurityGroupException`,NH=`InvalidTargetException`,PH=`Id`,FH=`Include`,IH=`JwksEndpoint`,LH=`JwtValidationActionAdditionalClaim`,RH=`JwtValidationActionAdditionalClaims`,zH=`JwtValidationActionConfig`,BH=`JwtValidationConfig`,VH=`Key`,HH=`Listeners`,UH=`ListenerArn`,WH=`ListenerArns`,GH=`LoadBalancers`,KH=`LoadBalancerAddresses`,qH=`LoadBalancerArn`,JH=`LoadBalancerArns`,YH=`LoadBalancerAddress`,XH=`LoadBalancerAttribute`,ZH=`LoadBalancerAttributes`,QH=`LoadBalancerName`,$H=`LoadBalancerNotFoundException`,eU=`LoadBalancerState`,tU=`LoadBalancer`,nU=`ListenerNotFoundException`,rU=`Listener`,b=`Message`,iU=`MutualAuthentication`,aU=`MutualAuthenticationAttributes`,oU=`MessageBody`,sU=`MitigationInEffect`,cU=`ModifyLoadBalancerAttributes`,lU=`ModifyLoadBalancerAttributesInput`,uU=`ModifyLoadBalancerAttributesOutput`,dU=`ModifyTargetGroupAttributes`,fU=`ModifyTargetGroupAttributesInput`,pU=`ModifyTargetGroupAttributesOutput`,mU=`Matcher`,hU=`Marker`,gU=`Mode`,_U=`Name`,vU=`NextMarker`,yU=`Names`,bU=`Order`,xU=`OutpostId`,SU=`OperationNotPermittedException`,CU=`OnUnauthenticatedRequest`,wU=`PrivateIPv4Address`,TU=`PriorityInUseException`,EU=`PriorRequestNotCompleteException`,DU=`PageSize`,OU=`ProtocolVersion`,kU=`Path`,AU=`Port`,jU=`Protocol`,MU=`Query`,NU=`QuicServerId`,PU=`Reason`,FU=`ResourceArns`,IU=`RedirectActionConfig`,LU=`ResourceArn`,RU=`RedirectConfig`,zU=`RevocationContentNotFoundException`,BU=`RevocationIdNotFoundException`,VU=`ResourceInUseException`,HU=`ResourceNotFoundException`,UU=`RuleNotFoundException`,WU=`RegisterTargetsInput`,GU=`RegisterTargetsOutput`,KU=`RegisterTargets`,qU=`Result`,JU=`State`,YU=`StatusCode`,XU=`SessionCookieName`,ZU=`SecurityGroups`,QU=`SubnetId`,$U=`SubnetMappings`,eW=`SubnetMapping`,tW=`SubnetNotFoundException`,nW=`SourceNatIpv6Prefixes`,rW=`SourceNatIpv6Prefix`,iW=`SslPolicy`,aW=`SSLPolicyNotFoundException`,oW=`SessionTimeout`,sW=`Scope`,cW=`Scheme`,lW=`Subnets`,uW=`Type`,dW=`TargetControlPort`,fW=`TagDescriptions`,pW=`TagDescription`,mW=`TargetDescription`,hW=`TargetDescriptions`,gW=`TokenEndpoint`,_W=`TargetGroups`,vW=`TargetGroupArn`,yW=`TargetGroupAssociationLimitException`,bW=`TargetGroupArns`,xW=`TargetGroupAttribute`,SW=`TargetGroupAttributes`,CW=`TargetGroupList`,wW=`TargetGroupName`,TW=`TargetGroupNotFoundException`,EW=`TargetGroupStickinessConfig`,DW=`TargetGroupTuple`,OW=`TargetGroup`,kW=`TargetHealth`,AW=`TargetHealthDescriptions`,jW=`TargetHealthDescription`,MW=`TagList`,NW=`TooManyActionsException`,PW=`TooManyCertificatesException`,FW=`TooManyLoadBalancersException`,IW=`TooManyListenersException`,LW=`TooManyRulesException`,RW=`TooManyRegistrationsForTargetIdException`,zW=`TooManyTagsException`,BW=`TooManyTargetsException`,VW=`TooManyTargetGroupsException`,HW=`TooManyTrustStoresException`,UW=`TooManyTrustStoreRevocationEntriesException`,WW=`TooManyUniqueTargetGroupsPerLoadBalancerException`,GW=`TrustStoreArn`,KW=`TrustStoreAssociationNotFoundException`,qW=`TrustStoreAssociationStatus`,JW=`TrustStoreInUseException`,YW=`TrustStoreNotFoundException`,XW=`TrustStoreNotReadyException`,ZW=`TargetType`,QW=`Tags`,$W=`Tag`,eG=`Targets`,tG=`Target`,nG=`UseExistingClientSecret`,rG=`UserInfoEndpoint`,iG=`UserPoolArn`,aG=`UserPoolClientId`,oG=`UserPoolDomain`,sG=`UnsupportedProtocolException`,cG=`UnhealthyThresholdCount`,lG=`Values`,uG=`VpcId`,dG=`Value`,fG=`Weight`,pG=`ZoneName`,x=`awsQueryError`,S=`client`,C=`error`,w=`httpError`,mG=`smithy.ts.sdk.synthetic.com.amazonaws.elasticloadbalancingv2`,hG=`server`,T=`com.amazonaws.elasticloadbalancingv2`,gG=At.for(mG),_G=[-3,mG,`ElasticLoadBalancingV2ServiceException`,0,[],[]];gG.registerError(_G,y);var E=At.for(T),vG=[-3,T,wB,{[x]:[`AllocationIdNotFound`,400],[C]:S,[w]:400},[b],[0]];E.registerError(vG,Dz);var yG=[-3,T,TB,{[x]:[`ALPNPolicyNotFound`,400],[C]:S,[w]:400},[b],[0]];E.registerError(yG,Oz);var bG=[-3,T,NB,{[x]:[`AvailabilityZoneNotSupported`,400],[C]:S,[w]:400},[b],[0]];E.registerError(bG,kz);var xG=[-3,T,zB,{[x]:[`CaCertificatesBundleNotFound`,400],[C]:S,[w]:400},[b],[0]];E.registerError(xG,Az);var SG=[-3,T,BB,{[x]:[`CapacityDecreaseRequestLimitExceeded`,400],[C]:S,[w]:400},[b],[0]];E.registerError(SG,jz);var CG=[-3,T,QB,{[x]:[`CapacityReservationPending`,400],[C]:S,[w]:400},[b],[0]];E.registerError(CG,Mz);var wG=[-3,T,aV,{[x]:[`CapacityUnitsLimitExceeded`,400],[C]:S,[w]:400},[b],[0]];E.registerError(wG,Nz);var TG=[-3,T,XB,{[x]:[`CertificateNotFound`,400],[C]:S,[w]:400},[b],[0]];E.registerError(TG,hz);var EG=[-3,T,uV,{[x]:[`DeleteAssociationSameAccount`,400],[C]:S,[w]:400},[b],[0]];E.registerError(EG,cB);var DG=[-3,T,SV,{[x]:[`DuplicateListener`,400],[C]:S,[w]:400},[b],[0]];E.registerError(DG,Pz);var OG=[-3,T,vV,{[x]:[`DuplicateLoadBalancerName`,400],[C]:S,[w]:400},[b],[0]];E.registerError(OG,qz);var kG=[-3,T,KV,{[x]:[`DuplicateTagKeys`,400],[C]:S,[w]:400},[b],[0]];E.registerError(kG,vz);var AG=[-3,T,LV,{[x]:[`DuplicateTargetGroupName`,400],[C]:S,[w]:400},[b],[0]];E.registerError(AG,iB);var jG=[-3,T,YV,{[x]:[`DuplicateTrustStoreName`,400],[C]:S,[w]:400},[b],[0]];E.registerError(jG,aB);var MG=[-3,T,hH,{[x]:[`HealthUnavailable`,500],[C]:hG,[w]:500},[b],[0]];E.registerError(MG,fB);var NG=[-3,T,OH,{[x]:[`IncompatibleProtocols`,400],[C]:S,[w]:400},[b],[0]];E.registerError(NG,Fz);var PG=[-3,T,xH,{[x]:[`InsufficientCapacity`,500],[C]:hG,[w]:500},[b],[0]];E.registerError(PG,hB);var FG=[-3,T,yH,{[x]:[`InvalidCaCertificatesBundle`,400],[C]:S,[w]:400},[b],[0]];E.registerError(FG,oB);var IG=[-3,T,SH,{[x]:[`InvalidConfigurationRequest`,400],[C]:S,[w]:400},[b],[0]];E.registerError(IG,Iz);var LG=[-3,T,TH,{[x]:[`InvalidLoadBalancerAction`,400],[C]:S,[w]:400},[b],[0]];E.registerError(LG,Lz);var RG=[-3,T,kH,{[x]:[`InvalidRevocationContent`,400],[C]:S,[w]:400},[b],[0]];E.registerError(RG,wz);var zG=[-3,T,AH,{[x]:[`InvalidScheme`,400],[C]:S,[w]:400},[b],[0]];E.registerError(zG,Jz);var BG=[-3,T,MH,{[x]:[`InvalidSecurityGroup`,400],[C]:S,[w]:400},[b],[0]];E.registerError(BG,Yz);var VG=[-3,T,jH,{[x]:[`InvalidSubnet`,400],[C]:S,[w]:400},[b],[0]];E.registerError(VG,Xz);var HG=[-3,T,NH,{[x]:[`InvalidTarget`,400],[C]:S,[w]:400},[b],[0]];E.registerError(HG,dB);var UG=[-3,T,nU,{[x]:[`ListenerNotFound`,400],[C]:S,[w]:400},[b],[0]];E.registerError(UG,gz);var WG=[-3,T,$H,{[x]:[`LoadBalancerNotFound`,400],[C]:S,[w]:400},[b],[0]];E.registerError(WG,yz);var GG=[-3,T,SU,{[x]:[`OperationNotPermitted`,400],[C]:S,[w]:400},[b],[0]];E.registerError(GG,Zz);var KG=[-3,T,TU,{[x]:[`PriorityInUse`,400],[C]:S,[w]:400},[b],[0]];E.registerError(KG,tB);var qG=[-3,T,EU,{[x]:[`PriorRequestNotComplete`,429],[C]:S,[w]:429},[b],[0]];E.registerError(qG,gB);var JG=[-3,T,VU,{[x]:[`ResourceInUse`,400],[C]:S,[w]:400},[b],[0]];E.registerError(JG,Qz);var YG=[-3,T,HU,{[x]:[`ResourceNotFound`,400],[C]:S,[w]:400},[b],[0]];E.registerError(YG,mB);var XG=[-3,T,zU,{[x]:[`RevocationContentNotFound`,400],[C]:S,[w]:400},[b],[0]];E.registerError(XG,Tz);var ZG=[-3,T,BU,{[x]:[`RevocationIdNotFound`,400],[C]:S,[w]:400},[b],[0]];E.registerError(ZG,pB);var QG=[-3,T,UU,{[x]:[`RuleNotFound`,400],[C]:S,[w]:400},[b],[0]];E.registerError(QG,bz);var $G=[-3,T,aW,{[x]:[`SSLPolicyNotFound`,400],[C]:S,[w]:400},[b],[0]];E.registerError($G,Rz);var eK=[-3,T,tW,{[x]:[`SubnetNotFound`,400],[C]:S,[w]:400},[b],[0]];E.registerError(eK,$z);var tK=[-3,T,yW,{[x]:[`TargetGroupAssociationLimit`,400],[C]:S,[w]:400},[b],[0]];E.registerError(tK,zz);var nK=[-3,T,TW,{[x]:[`TargetGroupNotFound`,400],[C]:S,[w]:400},[b],[0]];E.registerError(nK,xz);var rK=[-3,T,NW,{[x]:[`TooManyActions`,400],[C]:S,[w]:400},[b],[0]];E.registerError(rK,Bz);var iK=[-3,T,PW,{[x]:[`TooManyCertificates`,400],[C]:S,[w]:400},[b],[0]];E.registerError(iK,_z);var aK=[-3,T,IW,{[x]:[`TooManyListeners`,400],[C]:S,[w]:400},[b],[0]];E.registerError(aK,Vz);var oK=[-3,T,FW,{[x]:[`TooManyLoadBalancers`,400],[C]:S,[w]:400},[b],[0]];E.registerError(oK,eB);var sK=[-3,T,RW,{[x]:[`TooManyRegistrationsForTargetId`,400],[C]:S,[w]:400},[b],[0]];E.registerError(sK,Hz);var cK=[-3,T,LW,{[x]:[`TooManyRules`,400],[C]:S,[w]:400},[b],[0]];E.registerError(cK,nB);var lK=[-3,T,zW,{[x]:[`TooManyTags`,400],[C]:S,[w]:400},[b],[0]];E.registerError(lK,Sz);var uK=[-3,T,VW,{[x]:[`TooManyTargetGroups`,400],[C]:S,[w]:400},[b],[0]];E.registerError(uK,rB);var dK=[-3,T,BW,{[x]:[`TooManyTargets`,400],[C]:S,[w]:400},[b],[0]];E.registerError(dK,Uz);var fK=[-3,T,UW,{[x]:[`TooManyTrustStoreRevocationEntries`,400],[C]:S,[w]:400},[b],[0]];E.registerError(fK,Ez);var pK=[-3,T,HW,{[x]:[`TooManyTrustStores`,400],[C]:S,[w]:400},[b],[0]];E.registerError(pK,sB);var mK=[-3,T,WW,{[x]:[`TooManyUniqueTargetGroupsPerLoadBalancer`,400],[C]:S,[w]:400},[b],[0]];E.registerError(mK,Wz);var hK=[-3,T,KW,{[x]:[`AssociationNotFound`,400],[C]:S,[w]:400},[b],[0]];E.registerError(hK,lB);var gK=[-3,T,JW,{[x]:[`TrustStoreInUse`,400],[C]:S,[w]:400},[b],[0]];E.registerError(gK,uB);var _K=[-3,T,YW,{[x]:[`TrustStoreNotFound`,400],[C]:S,[w]:400},[b],[0]];E.registerError(_K,Cz);var vK=[-3,T,XW,{[x]:[`TrustStoreNotReady`,400],[C]:S,[w]:400},[b],[0]];E.registerError(vK,Gz);var yK=[-3,T,sG,{[x]:[`UnsupportedProtocol`,400],[C]:S,[w]:400},[b],[0]];E.registerError(yK,Kz);var bK=[gG,E],xK=[3,T,_B,0,[uW,vW,OB,bB,bU,RU,iH,nH,BH],[0,0,()=>TK,()=>wK,1,()=>vq,()=>nq,()=>rq,()=>oq],1],SK=[3,T,EB,0,[JU,PU,cV],[0,0,0]],CK=[3,T,xB,0,[qU,sU],[0,0]],wK=[3,T,yB,0,[iG,aG,oG,XU,sW,oW,AB,CU],[0,0,0,0,0,1,128,0],3],TK=[3,T,DB,0,[gH,SB,gW,rG,HB,$B,XU,sW,oW,AB,CU,nG],[0,0,0,0,0,0,0,0,1,128,0,2],5],EK=[3,T,MB,0,[pG,QU,xU,KH,nW],[0,0,0,()=>Fq,64]],DK=[3,T,oV,0,[RB,CH],[0,2]],OK=[3,T,qB,0,[qH,lV,jU,AU,iW,LB,kB,QW,iU],[0,()=>Aq,0,1,0,()=>Mq,64,()=>Bq,()=>_q],2],kK=[3,T,JB,0,[HH],[()=>Pq]],AK=[3,T,GB,0,[_U,lW,$U,ZU,cW,QW,uW,vH,ZB,QV,EH],[0,64,()=>Rq,64,0,()=>Bq,0,0,0,0,()=>iq],1],jK=[3,T,KB,0,[GH],[()=>Lq]],MK=[3,T,nV,0,[_U,jU,OU,AU,uG,uH,dH,cH,fH,lH,pH,mH,cG,mU,ZW,QW,vH,dW],[0,0,0,1,0,0,0,2,0,1,1,1,1,()=>fq,0,()=>Bq,0,1],1],NK=[3,T,rV,0,[_W],[()=>Wq]],PK=[3,T,CV,0,[UH],[0],1],FK=[3,T,TV,0,[],[]],IK=[3,T,gV,0,[qH],[0],1],LK=[3,T,yV,0,[],[]],RK=[3,T,FV,0,[vW],[0],1],zK=[3,T,RV,0,[],[]],BK=[3,T,WV,0,[vW,eG],[0,()=>Vq],2],VK=[3,T,qV,0,[],[]],HK=[3,T,wV,0,[qH,WH,hU,DU],[0,64,0,1]],UK=[3,T,EV,0,[HH,vU],[()=>Pq,0]],WK=[3,T,mV,0,[qH],[0],1],GK=[3,T,hV,0,[IB],[()=>Iq]],KK=[3,T,_V,0,[JH,yU,hU,DU],[64,64,0,1]],qK=[3,T,bV,0,[GH,vU],[()=>Lq,0]],JK=[3,T,GV,0,[FU],[64],1],YK=[3,T,JV,0,[fW],[()=>zq]],XK=[3,T,NV,0,[vW],[0],1],ZK=[3,T,PV,0,[IB],[()=>Hq]],QK=[3,T,IV,0,[qH,bW,yU,hU,DU],[0,64,64,0,1]],$K=[3,T,zV,0,[_W,vU],[()=>Wq,0]],eq=[3,T,HV,0,[vW,eG,FH],[0,()=>Vq,64],1],tq=[3,T,UV,0,[AW],[()=>Gq]],nq=[3,T,rH,0,[YU,oU,eV],[0,0,0],1],rq=[3,T,tH,0,[_W,EW],[()=>Uq,()=>Eq]],iq=[3,T,EH,0,[wH],[0]],aq=[3,T,LH,0,[eH,_U,lG],[0,0,64],3],oq=[3,T,zH,0,[IH,gH,vB],[0,0,()=>Nq],2],sq=[3,T,rU,0,[UH,qH,AU,jU,LB,iW,lV,kB,iU],[0,0,1,0,()=>Mq,0,()=>Aq,64,()=>_q]],cq=[3,T,tU,0,[qH,OV,VB,iV,QH,cW,uG,JU,uW,PB,ZU,vH,ZB,$V,QV,EH],[0,0,0,4,0,0,0,()=>dq,0,()=>jq,64,0,0,0,0,()=>iq]],lq=[3,T,YH,0,[_H,CB,wU,DH],[0,0,0,0]],uq=[3,T,XH,0,[VH,dG],[0,0]],dq=[3,T,eU,0,[sV,PU],[0,0]],fq=[3,T,mU,0,[sH,aH],[0,0]],pq=[3,T,lU,0,[qH,IB],[0,()=>Iq],2],mq=[3,T,uU,0,[IB],[()=>Iq]],hq=[3,T,fU,0,[vW,IB],[0,()=>Hq],2],gq=[3,T,pU,0,[IB],[()=>Hq]],_q=[3,T,aU,0,[gU,GW,bH,qW,jB],[0,0,2,0,0]],vq=[3,T,IU,0,[YU,jU,AU,oH,kU,MU],[0,0,0,0,0,0],1],yq=[3,T,WU,0,[vW,eG],[0,()=>Vq],2],Fte=[3,T,GU,0,[],[]],bq=[3,T,eW,0,[QU,CB,wU,DH,rW],[0,0,0,0,0]],xq=[3,T,$W,0,[VH,dG],[0,0],1],Sq=[3,T,pW,0,[LU,QW],[0,()=>Bq]],Cq=[3,T,mW,0,[PH,AU,MB,NU],[0,1,0,0],1],wq=[3,T,OW,0,[vW,wW,jU,AU,uG,uH,dH,cH,lH,pH,mH,cG,fH,mU,JH,ZW,OU,vH,dW],[0,0,0,1,0,0,0,2,1,1,1,1,0,()=>fq,64,0,0,0,1]],Tq=[3,T,xW,0,[VH,dG],[0,0]],Eq=[3,T,EW,0,[ZV,kV],[2,1]],Dq=[3,T,DW,0,[vW,fG],[0,1]],Oq=[3,T,kW,0,[JU,PU,cV],[0,0,0]],kq=[3,T,jW,0,[tG,dH,kW,xB,EB],[()=>Cq,0,()=>Oq,()=>CK,()=>SK]],Aq=[1,T,FB,0,()=>xK],jq=[1,T,PB,0,()=>EK],Mq=[1,T,UB,0,()=>DK],Nq=[1,T,RH,0,()=>aq],Pq=[1,T,HH,0,()=>sq],Fq=[1,T,KH,0,()=>lq],Iq=[1,T,ZH,0,()=>uq],Lq=[1,T,GH,0,()=>cq],Rq=[1,T,$U,0,()=>bq],zq=[1,T,fW,0,()=>Sq],Bq=[1,T,MW,0,()=>xq],Vq=[1,T,hW,0,()=>Cq],Hq=[1,T,SW,0,()=>Tq],Uq=[1,T,CW,0,()=>Dq],Wq=[1,T,_W,0,()=>wq],Gq=[1,T,AW,0,()=>kq],Kq=[9,T,YB,0,()=>OK,()=>kK],qq=[9,T,WB,0,()=>AK,()=>jK],Jq=[9,T,tV,0,()=>MK,()=>NK],Yq=[9,T,dV,0,()=>PK,()=>FK],Xq=[9,T,fV,0,()=>IK,()=>LK],Zq=[9,T,jV,0,()=>RK,()=>zK],Qq=[9,T,AV,0,()=>BK,()=>VK],$q=[9,T,DV,0,()=>HK,()=>UK],eJ=[9,T,pV,0,()=>WK,()=>GK],tJ=[9,T,xV,0,()=>KK,()=>qK],nJ=[9,T,XV,0,()=>JK,()=>YK],rJ=[9,T,MV,0,()=>XK,()=>ZK],iJ=[9,T,BV,0,()=>QK,()=>$K],aJ=[9,T,VV,0,()=>eq,()=>tq],oJ=[9,T,cU,0,()=>pq,()=>mq],sJ=[9,T,dU,0,()=>hq,()=>gq],cJ=[9,T,KU,0,()=>yq,()=>Fte],lJ=e=>({apiVersion:`2015-12-01`,base64Decoder:e?.base64Decoder??He,base64Encoder:e?.base64Encoder??Ue,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??mz,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??LR,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new ba}],logger:e?.logger??new ia,protocol:e?.protocol??ro,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.elasticloadbalancingv2`,errorTypeRegistries:bK,xmlNamespace:`http://elasticloadbalancing.amazonaws.com/doc/2015-12-01/`,version:`2015-12-01`,serviceTarget:`ElasticLoadBalancing_v10`},serviceId:e?.serviceId??`Elastic Load Balancing v2`,urlParser:e?.urlParser??ht,utf8Decoder:e?.utf8Decoder??se,utf8Encoder:e?.utf8Encoder??ce}),uJ=e=>{let t=Ba(e),n=()=>t().then(Yi),r=lJ(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Ra,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??Pa({serviceId:r.serviceId,clientVersion:VR.version}),maxAttempts:e?.maxAttempts??3,region:e?.region??Ia(`Region is missing`),requestHandler:Qe.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||Hr),sha256:e?.sha256??l,streamCollector:e?.streamCollector??et,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},dJ=e=>{let t=e.httpAuthSchemes,n=e.httpAuthSchemeProvider,r=e.credentials;return{setHttpAuthScheme(e){let n=t.findIndex(t=>t.schemeId===e.schemeId);n===-1?t.push(e):t.splice(n,1,e)},httpAuthSchemes(){return t},setHttpAuthSchemeProvider(e){n=e},httpAuthSchemeProvider(){return n},setCredentials(e){r=e},credentials(){return r}}},fJ=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),pJ=(e,t)=>{let n=Object.assign(kR(e),ta(e),de(e),dJ(e));return t.forEach(e=>e.configure(n)),Object.assign(e,AR(n),na(n),fe(n),fJ(n))},mJ=class extends Hi{config;constructor(...[e]){let t=uJ(e||{});super(t),this.initConfig=t,this.config=pJ(RR(Pi(ye(hi(Ii(Xn(zR(t))))))),e?.extensions||[]),this.middlewareStack.use(bt(this.config)),this.middlewareStack.use(ui(this.config)),this.middlewareStack.use(pa(this.config)),this.middlewareStack.use(yi(this.config)),this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(Te(this.config)),this.middlewareStack.use(Oe(this.config)),this.middlewareStack.use(Ne(this.config,{httpAuthSchemeParametersProvider:FR,identityProviderConfigProvider:async e=>new Gn({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(Le(this.config))}destroy(){super.destroy()}},hJ=async(e,t,n)=>({operation:_e(t).operation,region:await f(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function gJ(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`iam`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var _J=e=>{let t=[];switch(e.operation){default:t.push(gJ(e))}return t},vJ=e=>{let t=wa(e);return Object.assign(t,{authSchemePreference:f(e.authSchemePreference??[])})},yJ=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:`iam`}),bJ={UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},xJ={name:`@aws-sdk/client-iam`,description:`AWS SDK for JavaScript Iam Client for Node.js, Browser and React Native`,version:`3.1029.0`,scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline client-iam`,"build:es":`tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`tsc -p tsconfig.types.json`,"build:types:downlevel":`downlevel-dts dist-types dist-types/ts3.4`,clean:`premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service --solo iam`,test:`yarn g:vitest run --passWithNoTests`,"test:e2e":`yarn g:vitest run -c vitest.config.e2e.mts --mode development`,"test:e2e:watch":`yarn g:vitest watch -c vitest.config.e2e.mts`,"test:index":`tsc --noEmit ./test/index-types.ts && node ./test/index-objects.spec.mjs`,"test:integration":`yarn g:vitest run --passWithNoTests -c vitest.config.integ.mts`,"test:integration:watch":`yarn g:vitest run --passWithNoTests -c vitest.config.integ.mts`,"test:watch":`yarn g:vitest watch --passWithNoTests`},main:`./dist-cjs/index.js`,types:`./dist-types/index.d.ts`,module:`./dist-es/index.js`,sideEffects:!1,dependencies:{"@aws-crypto/sha256-browser":`5.2.0`,"@aws-crypto/sha256-js":`5.2.0`,"@aws-sdk/core":`^3.973.27`,"@aws-sdk/credential-provider-node":`^3.972.30`,"@aws-sdk/middleware-host-header":`^3.972.9`,"@aws-sdk/middleware-logger":`^3.972.9`,"@aws-sdk/middleware-recursion-detection":`^3.972.10`,"@aws-sdk/middleware-user-agent":`^3.972.29`,"@aws-sdk/region-config-resolver":`^3.972.11`,"@aws-sdk/types":`^3.973.7`,"@aws-sdk/util-endpoints":`^3.996.6`,"@aws-sdk/util-user-agent-browser":`^3.972.9`,"@aws-sdk/util-user-agent-node":`^3.973.15`,"@smithy/config-resolver":`^4.4.14`,"@smithy/core":`^3.23.14`,"@smithy/fetch-http-handler":`^5.3.16`,"@smithy/hash-node":`^4.2.13`,"@smithy/invalid-dependency":`^4.2.13`,"@smithy/middleware-content-length":`^4.2.13`,"@smithy/middleware-endpoint":`^4.4.29`,"@smithy/middleware-retry":`^4.5.0`,"@smithy/middleware-serde":`^4.2.17`,"@smithy/middleware-stack":`^4.2.13`,"@smithy/node-config-provider":`^4.3.13`,"@smithy/node-http-handler":`^4.5.2`,"@smithy/protocol-http":`^5.3.13`,"@smithy/smithy-client":`^4.12.9`,"@smithy/types":`^4.14.0`,"@smithy/url-parser":`^4.2.13`,"@smithy/util-base64":`^4.3.2`,"@smithy/util-body-length-browser":`^4.2.2`,"@smithy/util-body-length-node":`^4.2.3`,"@smithy/util-defaults-mode-browser":`^4.3.45`,"@smithy/util-defaults-mode-node":`^4.2.49`,"@smithy/util-endpoints":`^3.3.4`,"@smithy/util-middleware":`^4.2.13`,"@smithy/util-retry":`^4.3.0`,"@smithy/util-utf8":`^4.2.2`,"@smithy/util-waiter":`^4.2.15`,tslib:`^2.6.2`},devDependencies:{"@smithy/snapshot-testing":`^2.0.5`,"@tsconfig/node20":`20.1.8`,"@types/node":`^20.14.8`,concurrently:`7.0.0`,"downlevel-dts":`0.10.1`,premove:`4.0.0`,typescript:`~5.8.3`,vitest:`^4.0.17`},engines:{node:`>=20.0.0`},typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},files:[`dist-*/**`],author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/javascript/`},license:`Apache-2.0`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-iam`,repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-iam`}},SJ=`required`,CJ=`fn`,wJ=`argv`,TJ=`ref`,EJ=`properties`,DJ=`headers`,OJ=`authSchemes`,kJ=`name`,AJ=`signingRegion`,jJ=!0,MJ=`isSet`,NJ=`booleanEquals`,PJ=`error`,FJ=`endpoint`,IJ=`tree`,LJ=`PartitionResult`,RJ=`stringEquals`,zJ=`sigv4`,BJ={[SJ]:!0,default:!1,type:`boolean`},VJ={[SJ]:!1,type:`string`},HJ={[TJ]:`Endpoint`},UJ={[CJ]:NJ,[wJ]:[{[TJ]:`UseFIPS`},!0]},WJ={[CJ]:NJ,[wJ]:[{[TJ]:`UseDualStack`},!0]},GJ={},KJ={[CJ]:RJ,[wJ]:[{[CJ]:`getAttr`,[wJ]:[{[TJ]:LJ},`name`]},`aws`]},qJ={[CJ]:`getAttr`,[wJ]:[{[TJ]:LJ},`name`]},JJ={[CJ]:NJ,[wJ]:[{[TJ]:`UseFIPS`},!1]},YJ={[OJ]:[{[kJ]:zJ,[AJ]:`us-east-1`}]},XJ={[CJ]:RJ,[wJ]:[qJ,`aws-cn`]},ZJ={[OJ]:[{[kJ]:zJ,[AJ]:`cn-north-1`}]},QJ={[CJ]:NJ,[wJ]:[{[TJ]:`UseDualStack`},!1]},$J={[CJ]:RJ,[wJ]:[qJ,`aws-us-gov`]},eY={url:`https://iam.us-gov.api.aws`,[EJ]:{[OJ]:[{[kJ]:zJ,[AJ]:`us-gov-west-1`}]},[DJ]:{}},tY={url:`https://iam.us-gov.amazonaws.com`,[EJ]:{[OJ]:[{[kJ]:zJ,[AJ]:`us-gov-west-1`}]},[DJ]:{}},nY={[CJ]:RJ,[wJ]:[qJ,`aws-iso`]},rY={[OJ]:[{[kJ]:zJ,[AJ]:`us-iso-east-1`}]},iY={[CJ]:RJ,[wJ]:[qJ,`aws-iso-b`]},aY={[OJ]:[{[kJ]:zJ,[AJ]:`us-isob-east-1`}]},oY={[CJ]:`getAttr`,[wJ]:[{[TJ]:LJ},`supportsFIPS`]},sY={[CJ]:NJ,[wJ]:[!0,{[CJ]:`getAttr`,[wJ]:[{[TJ]:LJ},`supportsDualStack`]}]},cY={[OJ]:[{[kJ]:zJ,[AJ]:`{PartitionResult#implicitGlobalRegion}`}]},lY=[{[TJ]:`Region`}],uY={version:`1.0`,parameters:{UseDualStack:BJ,UseFIPS:BJ,Endpoint:VJ,Region:VJ},rules:[{conditions:[{[CJ]:MJ,[wJ]:[HJ]}],rules:[{conditions:[UJ],error:`Invalid Configuration: FIPS and custom endpoint are not supported`,type:PJ},{rules:[{conditions:[WJ],error:`Invalid Configuration: Dualstack and custom endpoint are not supported`,type:PJ},{endpoint:{url:HJ,[EJ]:GJ,[DJ]:GJ},type:FJ}],type:IJ}],type:IJ},{rules:[{conditions:[{[CJ]:MJ,[wJ]:lY}],rules:[{conditions:[{[CJ]:`aws.partition`,[wJ]:lY,assign:LJ}],rules:[{conditions:[KJ,JJ,WJ],endpoint:{url:`https://iam.global.api.aws`,[EJ]:YJ,[DJ]:GJ},type:FJ},{conditions:[KJ,UJ,WJ],endpoint:{url:`https://iam-fips.global.api.aws`,[EJ]:YJ,[DJ]:GJ},type:FJ},{conditions:[XJ,JJ,WJ],endpoint:{url:`https://iam.global.api.amazonwebservices.com.cn`,[EJ]:ZJ,[DJ]:GJ},type:FJ},{conditions:[XJ,JJ,QJ],endpoint:{url:`https://iam.cn-north-1.amazonaws.com.cn`,[EJ]:ZJ,[DJ]:GJ},type:FJ},{conditions:[$J,JJ,WJ],endpoint:eY,type:FJ},{conditions:[$J,UJ,WJ],endpoint:eY,type:FJ},{conditions:[$J,JJ,QJ],endpoint:tY,type:FJ},{conditions:[$J,UJ,QJ],endpoint:tY,type:FJ},{conditions:[nY,JJ,QJ],endpoint:{url:`https://iam.us-iso-east-1.c2s.ic.gov`,[EJ]:rY,[DJ]:GJ},type:FJ},{conditions:[nY,UJ,QJ],endpoint:{url:`https://iam-fips.us-iso-east-1.c2s.ic.gov`,[EJ]:rY,[DJ]:GJ},type:FJ},{conditions:[iY,JJ,QJ],endpoint:{url:`https://iam.us-isob-east-1.sc2s.sgov.gov`,[EJ]:aY,[DJ]:GJ},type:FJ},{conditions:[iY,UJ,QJ],endpoint:{url:`https://iam-fips.us-isob-east-1.sc2s.sgov.gov`,[EJ]:aY,[DJ]:GJ},type:FJ},{conditions:[{[CJ]:RJ,[wJ]:[qJ,`aws-iso-e`]},JJ,QJ],endpoint:{url:`https://iam.eu-isoe-west-1.cloud.adc-e.uk`,[EJ]:{[OJ]:[{[kJ]:zJ,[AJ]:`eu-isoe-west-1`}]},[DJ]:GJ},type:FJ},{conditions:[{[CJ]:RJ,[wJ]:[qJ,`aws-iso-f`]},JJ,QJ],endpoint:{url:`https://iam.us-isof-south-1.csp.hci.ic.gov`,[EJ]:{[OJ]:[{[kJ]:zJ,[AJ]:`us-isof-south-1`}]},[DJ]:GJ},type:FJ},{conditions:[{[CJ]:RJ,[wJ]:[qJ,`aws-eusc`]},JJ,QJ],endpoint:{url:`https://iam.eusc-de-east-1.amazonaws.eu`,[EJ]:{[OJ]:[{[kJ]:zJ,[AJ]:`eusc-de-east-1`}]},[DJ]:GJ},type:FJ},{conditions:[UJ,WJ],rules:[{conditions:[{[CJ]:NJ,[wJ]:[jJ,oY]},sY],rules:[{endpoint:{url:`https://iam-fips.{PartitionResult#dualStackDnsSuffix}`,[EJ]:cY,[DJ]:GJ},type:FJ}],type:IJ},{error:`FIPS and DualStack are enabled, but this partition does not support one or both`,type:PJ}],type:IJ},{conditions:[UJ,QJ],rules:[{conditions:[{[CJ]:NJ,[wJ]:[oY,jJ]}],rules:[{endpoint:{url:`https://iam-fips.{PartitionResult#dnsSuffix}`,[EJ]:cY,[DJ]:GJ},type:FJ}],type:IJ},{error:`FIPS is enabled but this partition does not support FIPS`,type:PJ}],type:IJ},{conditions:[JJ,WJ],rules:[{conditions:[sY],rules:[{endpoint:{url:`https://iam.{PartitionResult#dualStackDnsSuffix}`,[EJ]:cY,[DJ]:GJ},type:FJ}],type:IJ},{error:`DualStack is enabled but this partition does not support DualStack`,type:PJ}],type:IJ},{endpoint:{url:`https://iam.{PartitionResult#dnsSuffix}`,[EJ]:cY,[DJ]:GJ},type:FJ}],type:IJ}],type:IJ},{error:`Invalid Configuration: Missing Region`,type:PJ}],type:IJ}]},dY=new Zn({size:50,params:[`Endpoint`,`Region`,`UseDualStack`,`UseFIPS`]}),fY=(e,t={})=>dY.get(e,()=>kr(uY,{endpointParams:e,logger:t.logger}));nr.aws=Rr;var D=class e extends qi{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},pY=class e extends D{name=`ConcurrentModificationException`;$fault=`client`;constructor(t){super({name:`ConcurrentModificationException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},mY=class e extends D{name=`NoSuchEntityException`;$fault=`client`;constructor(t){super({name:`NoSuchEntityException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},hY=class e extends D{name=`ServiceFailureException`;$fault=`server`;constructor(t){super({name:`ServiceFailureException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype)}},gY=class e extends D{name=`AccountNotManagementOrDelegatedAdministratorException`;$fault=`client`;Message;constructor(t){super({name:`AccountNotManagementOrDelegatedAdministratorException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},_Y=class e extends D{name=`InvalidInputException`;$fault=`client`;constructor(t){super({name:`InvalidInputException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},vY=class e extends D{name=`LimitExceededException`;$fault=`client`;constructor(t){super({name:`LimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},yY=class e extends D{name=`EntityAlreadyExistsException`;$fault=`client`;constructor(t){super({name:`EntityAlreadyExistsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},bY=class e extends D{name=`UnmodifiableEntityException`;$fault=`client`;constructor(t){super({name:`UnmodifiableEntityException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},xY=class e extends D{name=`PolicyNotAttachableException`;$fault=`client`;constructor(t){super({name:`PolicyNotAttachableException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},SY=class e extends D{name=`EntityTemporarilyUnmodifiableException`;$fault=`client`;constructor(t){super({name:`EntityTemporarilyUnmodifiableException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},CY=class e extends D{name=`InvalidUserTypeException`;$fault=`client`;constructor(t){super({name:`InvalidUserTypeException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},wY=class e extends D{name=`PasswordPolicyViolationException`;$fault=`client`;constructor(t){super({name:`PasswordPolicyViolationException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},TY=class e extends D{name=`OpenIdIdpCommunicationErrorException`;$fault=`client`;constructor(t){super({name:`OpenIdIdpCommunicationErrorException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},EY=class e extends D{name=`MalformedPolicyDocumentException`;$fault=`client`;constructor(t){super({name:`MalformedPolicyDocumentException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},DY=class e extends D{name=`ServiceNotSupportedException`;$fault=`client`;constructor(t){super({name:`ServiceNotSupportedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},OY=class e extends D{name=`DeleteConflictException`;$fault=`client`;constructor(t){super({name:`DeleteConflictException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},kY=class e extends D{name=`OrganizationNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`OrganizationNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},AY=class e extends D{name=`OrganizationNotInAllFeaturesModeException`;$fault=`client`;Message;constructor(t){super({name:`OrganizationNotInAllFeaturesModeException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},jY=class e extends D{name=`ServiceAccessNotEnabledException`;$fault=`client`;Message;constructor(t){super({name:`ServiceAccessNotEnabledException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},MY=class e extends D{name=`FeatureDisabledException`;$fault=`client`;constructor(t){super({name:`FeatureDisabledException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},NY=class e extends D{name=`InvalidAuthenticationCodeException`;$fault=`client`;constructor(t){super({name:`InvalidAuthenticationCodeException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},PY=class e extends D{name=`CallerIsNotManagementAccountException`;$fault=`client`;Message;constructor(t){super({name:`CallerIsNotManagementAccountException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},FY=class e extends D{name=`FeatureEnabledException`;$fault=`client`;constructor(t){super({name:`FeatureEnabledException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},IY=class e extends D{name=`ReportGenerationLimitExceededException`;$fault=`client`;constructor(t){super({name:`ReportGenerationLimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},LY=class e extends D{name=`CredentialReportExpiredException`;$fault=`client`;constructor(t){super({name:`CredentialReportExpiredException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},RY=class e extends D{name=`CredentialReportNotPresentException`;$fault=`client`;constructor(t){super({name:`CredentialReportNotPresentException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},zY=class e extends D{name=`CredentialReportNotReadyException`;$fault=`client`;constructor(t){super({name:`CredentialReportNotReadyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},BY=class e extends D{name=`UnrecognizedPublicKeyEncodingException`;$fault=`client`;constructor(t){super({name:`UnrecognizedPublicKeyEncodingException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},VY=class e extends D{name=`PolicyEvaluationException`;$fault=`server`;constructor(t){super({name:`PolicyEvaluationException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype)}},HY=class e extends D{name=`KeyPairMismatchException`;$fault=`client`;constructor(t){super({name:`KeyPairMismatchException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},UY=class e extends D{name=`MalformedCertificateException`;$fault=`client`;constructor(t){super({name:`MalformedCertificateException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},WY=class e extends D{name=`DuplicateCertificateException`;$fault=`client`;constructor(t){super({name:`DuplicateCertificateException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},GY=class e extends D{name=`InvalidCertificateException`;$fault=`client`;constructor(t){super({name:`InvalidCertificateException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},KY=class e extends D{name=`DuplicateSSHPublicKeyException`;$fault=`client`;constructor(t){super({name:`DuplicateSSHPublicKeyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},qY=class e extends D{name=`InvalidPublicKeyException`;$fault=`client`;constructor(t){super({name:`InvalidPublicKeyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},JY=`Arn`,YY=`AttachmentCount`,XY=`AccessKey`,ZY=`AccessKeyId`,QY=`AccessKeyMetadata`,$Y=`AccountNotManagementOrDelegatedAdministratorException`,eX=`AttachedPolicy`,tX=`AttachedPermissionsBoundary`,nX=`AttachedPolicies`,rX=`AttachUserPolicy`,iX=`AttachUserPolicyRequest`,aX=`CreateAccessKey`,oX=`CreateAccessKeyRequest`,sX=`CreateAccessKeyResponse`,cX=`CreateDate`,lX=`CallerIsNotManagementAccountException`,uX=`ConcurrentModificationException`,dX=`CreatePolicyRequest`,fX=`CreatePolicyResponse`,pX=`CreatePolicy`,mX=`CredentialReportExpiredException`,hX=`CredentialReportNotPresentException`,gX=`CredentialReportNotReadyException`,_X=`CreateUser`,vX=`CreateUserRequest`,yX=`CreateUserResponse`,bX=`Description`,xX=`DeleteAccessKey`,SX=`DeleteAccessKeyRequest`,CX=`DeleteConflictException`,wX=`DuplicateCertificateException`,TX=`DeletePolicyRequest`,EX=`DeletePolicy`,DX=`DuplicateSSHPublicKeyException`,OX=`DeleteUser`,kX=`DetachUserPolicyRequest`,AX=`DetachUserPolicy`,jX=`DeleteUserRequest`,MX=`DefaultVersionId`,NX=`Document`,PX=`EntityAlreadyExistsException`,FX=`EntityTemporarilyUnmodifiableException`,IX=`FeatureDisabledException`,LX=`FeatureEnabledException`,RX=`GetPolicy`,zX=`GetPolicyRequest`,BX=`GetPolicyResponse`,VX=`GetPolicyVersion`,HX=`GetPolicyVersionRequest`,UX=`GetPolicyVersionResponse`,WX=`GetUser`,GX=`GetUserRequest`,KX=`GetUserResponse`,qX=`IsAttachable`,JX=`InvalidAuthenticationCodeException`,YX=`InvalidCertificateException`,XX=`IsDefaultVersion`,ZX=`InvalidInputException`,QX=`InvalidPublicKeyException`,$X=`IsTruncated`,eZ=`InvalidUserTypeException`,tZ=`Key`,nZ=`KeyPairMismatchException`,rZ=`ListAccessKeys`,iZ=`ListAccessKeysRequest`,aZ=`ListAccessKeysResponse`,oZ=`ListAttachedUserPolicies`,sZ=`ListAttachedUserPoliciesRequest`,cZ=`ListAttachedUserPoliciesResponse`,lZ=`LimitExceededException`,uZ=`ListPoliciesRequest`,dZ=`ListPoliciesResponse`,fZ=`ListPolicies`,pZ=`ListUsers`,mZ=`ListUsersRequest`,hZ=`ListUsersResponse`,gZ=`Message`,_Z=`MalformedCertificateException`,vZ=`MaxItems`,yZ=`MalformedPolicyDocumentException`,bZ=`Marker`,xZ=`NoSuchEntityException`,SZ=`OnlyAttached`,CZ=`OpenIdIdpCommunicationErrorException`,wZ=`OrganizationNotFoundException`,TZ=`OrganizationNotInAllFeaturesModeException`,EZ=`PolicyArn`,DZ=`PermissionsBoundary`,OZ=`PermissionsBoundaryArn`,kZ=`PermissionsBoundaryType`,AZ=`PermissionsBoundaryUsageCount`,jZ=`PolicyDocument`,MZ=`PolicyEvaluationException`,NZ=`PolicyId`,PZ=`PasswordLastUsed`,FZ=`PolicyName`,IZ=`PolicyNotAttachableException`,LZ=`PasswordPolicyViolationException`,RZ=`PathPrefix`,zZ=`PolicyUsageFilter`,BZ=`PolicyVersion`,VZ=`Path`,HZ=`Policy`,UZ=`Policies`,WZ=`ReportGenerationLimitExceededException`,GZ=`Status`,KZ=`SecretAccessKey`,qZ=`ServiceAccessNotEnabledException`,JZ=`ServiceFailureException`,YZ=`ServiceNotSupportedException`,XZ=`Scope`,ZZ=`Tags`,QZ=`Tag`,$Z=`UpdateAccessKey`,eQ=`UpdateAccessKeyRequest`,tQ=`UpdateDate`,nQ=`UnmodifiableEntityException`,rQ=`UserId`,iQ=`UserName`,aQ=`UnrecognizedPublicKeyEncodingException`,oQ=`User`,sQ=`Users`,cQ=`VersionId`,lQ=`Value`,uQ=`accessKeyMetadataListType`,dQ=`accessKeySecretType`,fQ=`attachedPoliciesListType`,pQ=`awsQueryError`,mQ=`client`,O=`error`,k=`httpError`,hQ=`message`,gQ=`policyListType`,_Q=`smithy.ts.sdk.synthetic.com.amazonaws.iam`,vQ=`server`,yQ=`tagListType`,bQ=`userListType`,A=`com.amazonaws.iam`,xQ=At.for(_Q),SQ=[-3,_Q,`IAMServiceException`,0,[],[]];xQ.registerError(SQ,D);var j=At.for(A),CQ=[-3,A,$Y,{[O]:mQ,[k]:400},[gZ],[0]];j.registerError(CQ,gY);var wQ=[-3,A,lX,{[O]:mQ,[k]:400},[gZ],[0]];j.registerError(wQ,PY);var TQ=[-3,A,uX,{[pQ]:[`ConcurrentModification`,409],[O]:mQ,[k]:409},[hQ],[0]];j.registerError(TQ,pY);var EQ=[-3,A,mX,{[pQ]:[`ReportExpired`,410],[O]:mQ,[k]:410},[hQ],[0]];j.registerError(EQ,LY);var DQ=[-3,A,hX,{[pQ]:[`ReportNotPresent`,410],[O]:mQ,[k]:410},[hQ],[0]];j.registerError(DQ,RY);var OQ=[-3,A,gX,{[pQ]:[`ReportInProgress`,404],[O]:mQ,[k]:404},[hQ],[0]];j.registerError(OQ,zY);var kQ=[-3,A,CX,{[pQ]:[`DeleteConflict`,409],[O]:mQ,[k]:409},[hQ],[0]];j.registerError(kQ,OY);var AQ=[-3,A,wX,{[pQ]:[`DuplicateCertificate`,409],[O]:mQ,[k]:409},[hQ],[0]];j.registerError(AQ,WY);var jQ=[-3,A,DX,{[pQ]:[`DuplicateSSHPublicKey`,400],[O]:mQ,[k]:400},[hQ],[0]];j.registerError(jQ,KY);var MQ=[-3,A,PX,{[pQ]:[`EntityAlreadyExists`,409],[O]:mQ,[k]:409},[hQ],[0]];j.registerError(MQ,yY);var NQ=[-3,A,FX,{[pQ]:[`EntityTemporarilyUnmodifiable`,409],[O]:mQ,[k]:409},[hQ],[0]];j.registerError(NQ,SY);var PQ=[-3,A,IX,{[pQ]:[`FeatureDisabled`,404],[O]:mQ,[k]:404},[hQ],[0]];j.registerError(PQ,MY);var FQ=[-3,A,LX,{[pQ]:[`FeatureEnabled`,409],[O]:mQ,[k]:409},[hQ],[0]];j.registerError(FQ,FY);var IQ=[-3,A,JX,{[pQ]:[`InvalidAuthenticationCode`,403],[O]:mQ,[k]:403},[hQ],[0]];j.registerError(IQ,NY);var LQ=[-3,A,YX,{[pQ]:[`InvalidCertificate`,400],[O]:mQ,[k]:400},[hQ],[0]];j.registerError(LQ,GY);var RQ=[-3,A,ZX,{[pQ]:[`InvalidInput`,400],[O]:mQ,[k]:400},[hQ],[0]];j.registerError(RQ,_Y);var zQ=[-3,A,QX,{[pQ]:[`InvalidPublicKey`,400],[O]:mQ,[k]:400},[hQ],[0]];j.registerError(zQ,qY);var BQ=[-3,A,eZ,{[pQ]:[`InvalidUserType`,400],[O]:mQ,[k]:400},[hQ],[0]];j.registerError(BQ,CY);var VQ=[-3,A,nZ,{[pQ]:[`KeyPairMismatch`,400],[O]:mQ,[k]:400},[hQ],[0]];j.registerError(VQ,HY);var HQ=[-3,A,lZ,{[pQ]:[`LimitExceeded`,409],[O]:mQ,[k]:409},[hQ],[0]];j.registerError(HQ,vY);var UQ=[-3,A,_Z,{[pQ]:[`MalformedCertificate`,400],[O]:mQ,[k]:400},[hQ],[0]];j.registerError(UQ,UY);var WQ=[-3,A,yZ,{[pQ]:[`MalformedPolicyDocument`,400],[O]:mQ,[k]:400},[hQ],[0]];j.registerError(WQ,EY);var GQ=[-3,A,xZ,{[pQ]:[`NoSuchEntity`,404],[O]:mQ,[k]:404},[hQ],[0]];j.registerError(GQ,mY);var KQ=[-3,A,CZ,{[pQ]:[`OpenIdIdpCommunicationError`,400],[O]:mQ,[k]:400},[hQ],[0]];j.registerError(KQ,TY);var qQ=[-3,A,wZ,{[O]:mQ,[k]:400},[gZ],[0]];j.registerError(qQ,kY);var JQ=[-3,A,TZ,{[O]:mQ,[k]:400},[gZ],[0]];j.registerError(JQ,AY);var YQ=[-3,A,LZ,{[pQ]:[`PasswordPolicyViolation`,400],[O]:mQ,[k]:400},[hQ],[0]];j.registerError(YQ,wY);var XQ=[-3,A,MZ,{[pQ]:[`PolicyEvaluation`,500],[O]:vQ,[k]:500},[hQ],[0]];j.registerError(XQ,VY);var ZQ=[-3,A,IZ,{[pQ]:[`PolicyNotAttachable`,400],[O]:mQ,[k]:400},[hQ],[0]];j.registerError(ZQ,xY);var QQ=[-3,A,WZ,{[pQ]:[`ReportGenerationLimitExceeded`,409],[O]:mQ,[k]:409},[hQ],[0]];j.registerError(QQ,IY);var $Q=[-3,A,qZ,{[O]:mQ,[k]:400},[gZ],[0]];j.registerError($Q,jY);var e$=[-3,A,JZ,{[pQ]:[`ServiceFailure`,500],[O]:vQ,[k]:500},[hQ],[0]];j.registerError(e$,hY);var t$=[-3,A,YZ,{[pQ]:[`NotSupportedService`,404],[O]:mQ,[k]:404},[hQ],[0]];j.registerError(t$,DY);var n$=[-3,A,nQ,{[pQ]:[`UnmodifiableEntity`,400],[O]:mQ,[k]:400},[hQ],[0]];j.registerError(n$,bY);var r$=[-3,A,aQ,{[pQ]:[`UnrecognizedPublicKeyEncoding`,400],[O]:mQ,[k]:400},[hQ],[0]];j.registerError(r$,BY);var i$=[xQ,j],a$=[0,A,dQ,8,0],o$=[3,A,XY,0,[iQ,ZY,GZ,KZ,cX],[0,0,0,[()=>a$,0],4],4],s$=[3,A,QY,0,[iQ,ZY,GZ,cX],[0,0,0,4]],c$=[3,A,tX,0,[kZ,OZ],[0,0]],l$=[3,A,eX,0,[FZ,EZ],[0,0]],u$=[3,A,iX,0,[iQ,EZ],[0,0],2],d$=[3,A,oX,0,[iQ],[0]],f$=[3,A,sX,0,[XY],[[()=>o$,0]],1],p$=[3,A,dX,0,[FZ,jZ,VZ,bX,ZZ],[0,0,0,0,()=>W$],2],m$=[3,A,fX,0,[HZ],[()=>F$]],h$=[3,A,vX,0,[iQ,VZ,DZ,ZZ],[0,0,0,()=>W$],1],g$=[3,A,yX,0,[oQ],[()=>z$]],_$=[3,A,SX,0,[ZY,iQ],[0,0],1],v$=[3,A,TX,0,[EZ],[0],1],y$=[3,A,jX,0,[iQ],[0],1],b$=[3,A,kX,0,[iQ,EZ],[0,0],2],x$=[3,A,zX,0,[EZ],[0],1],S$=[3,A,BX,0,[HZ],[()=>F$]],C$=[3,A,HX,0,[EZ,cQ],[0,0],2],w$=[3,A,UX,0,[BZ],[()=>I$]],T$=[3,A,GX,0,[iQ],[0]],E$=[3,A,KX,0,[oQ],[()=>z$],1],D$=[3,A,iZ,0,[iQ,bZ,vZ],[0,0,1]],O$=[3,A,aZ,0,[QY,$X,bZ],[()=>V$,2,0],1],k$=[3,A,sZ,0,[iQ,RZ,bZ,vZ],[0,0,0,1],1],A$=[3,A,cZ,0,[nX,$X,bZ],[()=>H$,2,0]],j$=[3,A,uZ,0,[XZ,SZ,RZ,zZ,bZ,vZ],[0,2,0,0,0,1]],M$=[3,A,dZ,0,[UZ,$X,bZ],[()=>U$,2,0]],N$=[3,A,mZ,0,[RZ,bZ,vZ],[0,0,1]],P$=[3,A,hZ,0,[sQ,$X,bZ],[()=>G$,2,0],1],F$=[3,A,HZ,0,[FZ,NZ,JY,VZ,MX,YY,AZ,qX,bX,cX,tQ,ZZ],[0,0,0,0,0,1,1,2,0,4,4,()=>W$]],I$=[3,A,BZ,0,[NX,cQ,XX,cX],[0,0,2,4]],L$=[3,A,QZ,0,[tZ,lQ],[0,0],2],R$=[3,A,eQ,0,[ZY,GZ,iQ],[0,0,0],2],z$=[3,A,oQ,0,[VZ,iQ,rQ,JY,cX,PZ,DZ,ZZ],[0,0,0,0,4,4,()=>c$,()=>W$],5],B$=`unit`,V$=[1,A,uQ,0,()=>s$],H$=[1,A,fQ,0,()=>l$],U$=[1,A,gQ,0,()=>F$],W$=[1,A,yQ,0,()=>L$],G$=[1,A,bQ,0,()=>z$],K$=[9,A,rX,0,()=>u$,()=>B$],q$=[9,A,aX,0,()=>d$,()=>f$],J$=[9,A,pX,0,()=>p$,()=>m$],Y$=[9,A,_X,0,()=>h$,()=>g$],X$=[9,A,xX,0,()=>_$,()=>B$],Z$=[9,A,EX,0,()=>v$,()=>B$],Q$=[9,A,OX,0,()=>y$,()=>B$],$$=[9,A,AX,0,()=>b$,()=>B$],e1=[9,A,RX,0,()=>x$,()=>S$],t1=[9,A,VX,0,()=>C$,()=>w$],n1=[9,A,WX,0,()=>T$,()=>E$],r1=[9,A,rZ,0,()=>D$,()=>O$],i1=[9,A,oZ,0,()=>k$,()=>A$],a1=[9,A,fZ,0,()=>j$,()=>M$],o1=[9,A,pZ,0,()=>N$,()=>P$],s1=[9,A,$Z,0,()=>R$,()=>B$],c1=e=>({apiVersion:`2010-05-08`,base64Decoder:e?.base64Decoder??He,base64Encoder:e?.base64Encoder??Ue,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??fY,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??_J,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new ba}],logger:e?.logger??new ia,protocol:e?.protocol??ro,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.iam`,errorTypeRegistries:i$,xmlNamespace:`https://iam.amazonaws.com/doc/2010-05-08/`,version:`2010-05-08`,serviceTarget:`AWSIdentityManagementV20100508`},serviceId:e?.serviceId??`IAM`,urlParser:e?.urlParser??ht,utf8Decoder:e?.utf8Decoder??se,utf8Encoder:e?.utf8Encoder??ce}),l1=e=>{let t=Ba(e),n=()=>t().then(Yi),r=c1(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Ra,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??Pa({serviceId:r.serviceId,clientVersion:xJ.version}),maxAttempts:e?.maxAttempts??3,region:e?.region??Ia(`Region is missing`),requestHandler:Qe.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||Hr),sha256:e?.sha256??l,streamCollector:e?.streamCollector??et,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},u1=e=>{let t=e.httpAuthSchemes,n=e.httpAuthSchemeProvider,r=e.credentials;return{setHttpAuthScheme(e){let n=t.findIndex(t=>t.schemeId===e.schemeId);n===-1?t.push(e):t.splice(n,1,e)},httpAuthSchemes(){return t},setHttpAuthSchemeProvider(e){n=e},httpAuthSchemeProvider(){return n},setCredentials(e){r=e},credentials(){return r}}},d1=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),f1=(e,t)=>{let n=Object.assign(kR(e),ta(e),de(e),u1(e));return t.forEach(e=>e.configure(n)),Object.assign(e,AR(n),na(n),fe(n),d1(n))},p1=class extends Hi{config;constructor(...[e]){let t=l1(e||{});super(t),this.initConfig=t,this.config=f1(vJ(Pi(ye(hi(Ii(Xn(yJ(t))))))),e?.extensions||[]),this.middlewareStack.use(bt(this.config)),this.middlewareStack.use(ui(this.config)),this.middlewareStack.use(pa(this.config)),this.middlewareStack.use(yi(this.config)),this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(Te(this.config)),this.middlewareStack.use(Oe(this.config)),this.middlewareStack.use(Ne(this.config,{httpAuthSchemeParametersProvider:hJ,identityProviderConfigProvider:async e=>new Gn({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(Le(this.config))}destroy(){super.destroy()}};function m1(e){return t=>async n=>{let{request:r}=n;if(e.expectContinueHeader!==!1&&i.isInstance(r)&&r.body&&e.runtime===`node`&&e.requestHandler?.constructor?.name!==`FetchHttpHandler`){let t=!0;if(typeof e.expectContinueHeader==`number`)try{t=(Number(r.headers?.[`content-length`])??e.bodyLengthChecker?.(r.body)??1/0)>=e.expectContinueHeader}catch{}else t=!!e.expectContinueHeader;t&&(r.headers.Expect=`100-continue`)}return t({...n,request:r})}}var h1={step:`build`,tags:[`SET_EXPECT_HEADER`,`EXPECT_HEADER`],name:`addExpectContinueMiddleware`,override:!0},g1=e=>({applyToStack:t=>{t.add(m1(e),h1)}}),_1={WHEN_SUPPORTED:`WHEN_SUPPORTED`,WHEN_REQUIRED:`WHEN_REQUIRED`},v1=_1.WHEN_SUPPORTED,y1={WHEN_SUPPORTED:`WHEN_SUPPORTED`,WHEN_REQUIRED:`WHEN_REQUIRED`},b1=_1.WHEN_SUPPORTED,x1;(function(e){e.MD5=`MD5`,e.CRC32=`CRC32`,e.CRC32C=`CRC32C`,e.CRC64NVME=`CRC64NVME`,e.SHA1=`SHA1`,e.SHA256=`SHA256`})(x1||={});var S1;(function(e){e.HEADER=`header`,e.TRAILER=`trailer`})(S1||={});var C1=x1.CRC32,w1=function(){function e(){this.crc32=new T1}return e.prototype.update=function(e){r(e)||this.crc32.update(ae(e))},e.prototype.digest=function(){return a(this,void 0,void 0,function(){return o(this,function(e){return[2,s(this.crc32.digest())]})})},e.prototype.reset=function(){this.crc32=new T1},e}(),T1=function(){function e(){this.checksum=4294967295}return e.prototype.update=function(e){var t,n;try{for(var r=te(e),i=r.next();!i.done;i=r.next()){var a=i.value;this.checksum=this.checksum>>>8^E1[(this.checksum^a)&255]}}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}return this},e.prototype.digest=function(){return(this.checksum^4294967295)>>>0},e}(),E1=c([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]),D1=e=>{let{requestChecksumCalculation:t,responseChecksumValidation:n,requestStreamBufferSize:r}=e;return Object.assign(e,{requestChecksumCalculation:f(t??v1),responseChecksumValidation:f(n??b1),requestStreamBufferSize:Number(r??0),checksumAlgorithms:e.checksumAlgorithms??{}})},O1=e=>(t,n)=>async r=>{let i=await e.region(),a=e.region,o=()=>{};n.__s3RegionRedirect&&(Object.defineProperty(e,`region`,{writable:!1,value:async()=>n.__s3RegionRedirect}),o=()=>Object.defineProperty(e,`region`,{writable:!0,value:a}));try{let a=await t(r);if(n.__s3RegionRedirect&&(o(),i!==await e.region()))throw Error(`Region was not restored following S3 region redirect.`);return a}catch(e){throw o(),e}},k1={tags:[`REGION_REDIRECT`,`S3`],name:`regionRedirectEndpointMiddleware`,override:!0,relation:`before`,toMiddleware:`endpointV2Middleware`};function A1(e){return(t,n)=>async r=>{try{return await t(r)}catch(i){if(e.followRegionRedirects){let a=i?.$metadata?.httpStatusCode,o=n.commandName===`HeadBucketCommand`,s=i?.$response?.headers?.[`x-amz-bucket-region`];if(s&&(a===301||a===400&&(i?.name===`IllegalLocationConstraintException`||o))){try{let t=s;n.logger?.debug(`Redirecting from ${await e.region()} to ${t}`),n.__s3RegionRedirect=t}catch(e){throw Error(`Region redirect failed: `+e)}return t(r)}}throw i}}}var j1={step:`initialize`,tags:[`REGION_REDIRECT`,`S3`],name:`regionRedirectMiddleware`,override:!0},M1=e=>({applyToStack:t=>{t.add(A1(e),j1),t.addRelativeTo(O1(e),k1)}}),N1=class e{data;lastPurgeTime=Date.now();static EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS=3e4;constructor(e={}){this.data=e}get(e){let t=this.data[e];if(t)return t}set(e,t){return this.data[e]=t,t}delete(e){delete this.data[e]}async purgeExpired(){let t=Date.now();if(!(this.lastPurgeTime+e.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS>t))for(let e in this.data){let n=this.data[e];if(!n.isRefreshing){let r=await n.identity;r.expiration&&r.expiration.getTime()(t.expiration?.getTime()??0){i.set(r,new P1(Promise.resolve(e)))})),t)):i.set(r,new P1(this.getIdentity(r))).identity}async getIdentity(e){await this.cache.purgeExpired().catch(e=>{console.warn(`Error while clearing expired entries in S3ExpressIdentityCache: +`+e)});let t=await this.createSessionFn(e);if(!t.Credentials?.AccessKeyId||!t.Credentials?.SecretAccessKey)throw Error(`s3#createSession response credential missing AccessKeyId or SecretAccessKey.`);return{accessKeyId:t.Credentials.AccessKeyId,secretAccessKey:t.Credentials.SecretAccessKey,sessionToken:t.Credentials.SessionToken,expiration:t.Credentials.Expiration?new Date(t.Credentials.Expiration):void 0}}},I1=`sigv4-s3express`,L1=`X-Amz-S3session-Token`,R1=L1.toLowerCase(),z1=class extends re{async signWithCredentials(e,t,n){let r=B1(t);e.headers[R1]=t.sessionToken;let i=this;return V1(i,r),i.signRequest(e,n??{})}async presignWithCredentials(e,t,n){let r=B1(t);return delete e.headers[R1],e.headers[L1]=t.sessionToken,e.query=e.query??{},e.query[L1]=t.sessionToken,V1(this,r),this.presign(e,n)}};function B1(e){return{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,expiration:e.expiration}}function V1(e,t){let n=setTimeout(()=>{throw Error(`SignatureV4S3Express credential override was created but not called.`)},10),r=e.credentialProvider;e.credentialProvider=()=>(clearTimeout(n),e.credentialProvider=r,Promise.resolve(t))}var H1=e=>(t,n)=>async r=>{if(n.endpointV2){let t=n.endpointV2,a=t.properties?.authSchemes?.[0]?.name===I1;if((t.properties?.backend===`S3Express`||t.properties?.bucketType===`Directory`)&&(Br(n,`S3_EXPRESS_BUCKET`,`J`),n.isS3ExpressBucket=!0),a){let t=r.input.Bucket;if(t){let a=await e.s3ExpressIdentityProvider.getS3ExpressIdentity(await e.credentials(),{Bucket:t});n.s3ExpressIdentity=a,i.isInstance(r.request)&&a.sessionToken&&(r.request.headers[R1]=a.sessionToken)}}}return t(r)},U1={name:`s3ExpressMiddleware`,step:`build`,tags:[`S3`,`S3_EXPRESS`],override:!0},W1=e=>({applyToStack:t=>{t.add(H1(e),U1)}}),G1=async(e,t,n,r)=>{let i=await r.signWithCredentials(n,e,{});if(i.headers[`X-Amz-Security-Token`]||i.headers[`x-amz-security-token`])throw Error(`X-Amz-Security-Token must not be set for s3-express requests.`);return i},K1=e=>e=>{throw e},q1=(e,t)=>{},J1=e=>(t,n)=>async r=>{if(!i.isInstance(r.request))return t(r);let a=_e(n).selectedHttpAuthScheme;if(!a)throw Error(`No HttpAuthScheme was selected: unable to sign request`);let{httpAuthOption:{signingProperties:o={}},identity:s,signer:c}=a,l;l=n.s3ExpressIdentity?await G1(n.s3ExpressIdentity,o,r.request,await e.signer()):await c.sign(r.request,s,o);let u=await t({...r,request:l}).catch((c.errorHandler||K1)(o));return(c.successHandler||q1)(u.response,o),u},Y1=e=>({applyToStack:t=>{t.addRelativeTo(J1(e),Ie)}}),X1=(e,{session:t})=>{let[n,r]=t,{forcePathStyle:i,useAccelerateEndpoint:a,disableMultiregionAccessPoints:o,followRegionRedirects:s,s3ExpressIdentityProvider:c,bucketEndpoint:l,expectContinueHeader:u}=e;return Object.assign(e,{forcePathStyle:i??!1,useAccelerateEndpoint:a??!1,disableMultiregionAccessPoints:o??!1,followRegionRedirects:s??!1,s3ExpressIdentityProvider:c??new F1(async e=>n().send(new r({Bucket:e}))),bucketEndpoint:l??!1,expectContinueHeader:u??2097152})},Z1={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},Q1=3e3,$1=e=>(t,n)=>async r=>{let i=await t(r),{response:a}=i;if(!ge.isInstance(a))return i;let{statusCode:o,body:s}=a;if(o<200||o>=300||!(typeof s?.stream==`function`||typeof s?.pipe==`function`||typeof s?.tee==`function`))return i;let c=s,l=s;s&&typeof s==`object`&&!(s instanceof Uint8Array)&&([c,l]=await st(s)),a.body=l;let u=await e0(c,{streamCollector:async e=>qe(e,Q1)});typeof c?.destroy==`function`&&c.destroy();let d=e.utf8Encoder(u.subarray(u.length-16));if(u.length===0&&Z1[n.commandName]){let e=Error(`S3 aborted request`);throw e.name=`InternalError`,e}return d&&d.endsWith(``)&&(a.statusCode=400),i},e0=(e=new Uint8Array,t)=>e instanceof Uint8Array?Promise.resolve(e):t.streamCollector(e)||Promise.resolve(new Uint8Array),t0={relation:`after`,toMiddleware:`deserializerMiddleware`,tags:[`THROW_200_EXCEPTIONS`,`S3`],name:`throw200ExceptionsMiddleware`,override:!0},n0=e=>({applyToStack:t=>{t.addRelativeTo($1(e),t0)}}),r0=e=>typeof e==`string`&&e.indexOf(`arn:`)===0&&e.split(`:`).length>=6;function i0(e){return(t,n)=>async r=>{if(e.bucketEndpoint){let e=n.endpointV2;if(e){let t=r.input.Bucket;if(typeof t==`string`)try{let r=new URL(t);n.endpointV2={...e,url:r}}catch(e){let r=`@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${t} could not be parsed as URL.`;throw n.logger?.constructor?.name===`NoOpLogger`?console.warn(r):n.logger?.warn?.(r),e}}}return t(r)}}var a0={name:`bucketEndpointMiddleware`,override:!0,relation:`after`,toMiddleware:`endpointV2Middleware`};function o0({bucketEndpoint:e}){return t=>async n=>{let{input:{Bucket:r}}=n;if(!e&&typeof r==`string`&&!r0(r)&&r.indexOf(`/`)>=0){let e=Error(`Bucket name shouldn't contain '/', received '${r}'`);throw e.name=`InvalidBucketName`,e}return t({...n})}}var s0={step:`initialize`,tags:[`VALIDATE_BUCKET_NAME`],name:`validateBucketNameMiddleware`,override:!0},c0=e=>({applyToStack:t=>{t.add(o0(e),s0),t.addRelativeTo(i0(e),a0)}}),l0=class extends co{async serializeRequest(e,t,n){let r=await super.serializeRequest(e,t,n),i=Et.of(e.input),a=i.getSchema(),o=0,s=a[6]??0;if(t&&typeof t==`object`)for(let[e,n]of i.structIterator()){if(++o>s)break;if(e===`Bucket`){if(!t.Bucket&&n.getMergedTraits().httpLabel)throw Error(`No value provided for input HTTP label: Bucket.`);break}}return r}},u0=e=>Object.assign(e,{eventStreamMarshaller:e.eventStreamSerdeProvider(e)}),d0={CrtSignerV4:null},f0=class{sigv4aSigner;sigv4Signer;signerOptions;static sigv4aDependency(){return typeof d0.CrtSignerV4==`function`?`crt`:typeof ve.SignatureV4a==`function`?`js`:`none`}constructor(e){this.sigv4Signer=new z1(e),this.signerOptions=e}async sign(e,t={}){return t.signingRegion===`*`?this.getSigv4aSigner().sign(e,t):this.sigv4Signer.sign(e,t)}async signWithCredentials(e,t,n={}){if(n.signingRegion===`*`){let r=this.getSigv4aSigner(),i=d0.CrtSignerV4;if(i&&r instanceof i)return r.signWithCredentials(e,t,n);throw Error(`signWithCredentials with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. You must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`)}return this.sigv4Signer.signWithCredentials(e,t,n)}async presign(e,t={}){if(t.signingRegion===`*`){let n=this.getSigv4aSigner(),r=d0.CrtSignerV4;if(r&&n instanceof r)return n.presign(e,t);throw Error(`presign with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. You must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`)}return this.sigv4Signer.presign(e,t)}async presignWithCredentials(e,t,n={}){if(n.signingRegion===`*`)throw Error(`Method presignWithCredentials is not supported for [signingRegion=*].`);return this.sigv4Signer.presignWithCredentials(e,t,n)}getSigv4aSigner(){if(!this.sigv4aSigner){let e=d0.CrtSignerV4,t=ve.SignatureV4a;if(this.signerOptions.runtime===`node`){if(!e&&!t)throw Error(`Neither CRT nor JS SigV4a implementation is available. Please load either @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`);if(e&&typeof e==`function`)this.sigv4aSigner=new e({...this.signerOptions,signingAlgorithm:1});else if(t&&typeof t==`function`)this.sigv4aSigner=new t({...this.signerOptions});else throw Error(`Available SigV4a implementation is not a valid constructor. Please ensure you've properly imported @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a.For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`)}else{if(!t||typeof t!=`function`)throw Error(`JS SigV4a implementation is not available or not a valid constructor. Please check whether you have installed the @aws-sdk/signature-v4a package explicitly. The CRT implementation is not available for browsers. You must also register the package by calling [require('@aws-sdk/signature-v4a');] or an ESM equivalent such as [import '@aws-sdk/signature-v4a';]. For more information please go to https://github.com/aws/aws-sdk-js-v3#using-javascript-non-crt-implementation-of-sigv4a`);this.sigv4aSigner=new t({...this.signerOptions})}}return this.sigv4aSigner}},p0=`required`,M=`type`,N=`rules`,P=`conditions`,F=`fn`,I=`argv`,L=`ref`,R=`assign`,z=`url`,B=`properties`,m0=`backend`,h0=`authSchemes`,g0=`disableDoubleEncoding`,_0=`signingName`,v0=`signingRegion`,V=`headers`,y0=`signingRegionSet`,b0=6,x0=!1,S0=!0,C0=`isSet`,w0=`booleanEquals`,H=`error`,T0=`aws.partition`,U=`stringEquals`,E0=`getAttr`,D0=`name`,O0=`substring`,k0=`bucketSuffix`,A0=`parseURL`,W=`endpoint`,G=`tree`,j0=`aws.isVirtualHostableS3Bucket`,M0=`{url#scheme}://{Bucket}.{url#authority}{url#path}`,N0=`not`,P0=`accessPointSuffix`,F0=`{url#scheme}://{url#authority}{url#path}`,I0=`hardwareType`,L0=`regionPrefix`,R0=`bucketAliasSuffix`,z0=`outpostId`,B0=`isValidHostLabel`,V0=`sigv4a`,H0=`s3-outposts`,U0=`s3`,W0=`{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}`,G0=`https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}`,K0=`https://{Bucket}.s3.{partitionResult#dnsSuffix}`,q0=`aws.parseArn`,J0=`bucketArn`,Y0=`arnType`,X0=``,Z0=`s3-object-lambda`,Q0=`accesspoint`,$0=`accessPointName`,e2=`{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}`,t2=`mrapPartition`,n2=`outpostType`,r2=`arnPrefix`,i2=`{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}`,a2=`https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,o2=`https://s3.{partitionResult#dnsSuffix}`,s2={[p0]:!1,[M]:`string`},c2={[p0]:!0,default:!1,[M]:`boolean`},l2={[p0]:!1,[M]:`boolean`},u2={[F]:w0,[I]:[{[L]:`Accelerate`},!0]},d2={[F]:w0,[I]:[{[L]:`UseFIPS`},!0]},f2={[F]:w0,[I]:[{[L]:`UseDualStack`},!0]},p2={[F]:C0,[I]:[{[L]:`Endpoint`}]},m2={[F]:T0,[I]:[{[L]:`Region`}],[R]:`partitionResult`},h2={[F]:U,[I]:[{[F]:E0,[I]:[{[L]:`partitionResult`},D0]},`aws-cn`]},g2={[F]:C0,[I]:[{[L]:`Bucket`}]},K={[L]:`Bucket`},_2={[P]:[u2],[H]:`S3Express does not support S3 Accelerate.`,[M]:H},v2={[P]:[p2,{[F]:A0,[I]:[{[L]:`Endpoint`}],[R]:`url`}],[N]:[{[P]:[{[F]:C0,[I]:[{[L]:`DisableS3ExpressSessionAuth`}]},{[F]:w0,[I]:[{[L]:`DisableS3ExpressSessionAuth`},!0]}],[N]:[{[P]:[{[F]:w0,[I]:[{[F]:E0,[I]:[{[L]:`url`},`isIp`]},!0]}],[N]:[{[P]:[{[F]:`uriEncode`,[I]:[K],[R]:`uri_encoded_bucket`}],[N]:[{[W]:{[z]:`{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}`,[B]:{[m0]:`S3Express`,[h0]:[{[g0]:!0,[D0]:`sigv4`,[_0]:`s3express`,[v0]:`{Region}`}]},[V]:{}},[M]:W}],[M]:G}],[M]:G},{[P]:[{[F]:j0,[I]:[K,!1]}],[N]:[{[W]:{[z]:M0,[B]:{[m0]:`S3Express`,[h0]:[{[g0]:!0,[D0]:`sigv4`,[_0]:`s3express`,[v0]:`{Region}`}]},[V]:{}},[M]:W}],[M]:G},{[H]:`S3Express bucket name is not a valid virtual hostable name.`,[M]:H}],[M]:G},{[P]:[{[F]:w0,[I]:[{[F]:E0,[I]:[{[L]:`url`},`isIp`]},!0]}],[N]:[{[P]:[{[F]:`uriEncode`,[I]:[K],[R]:`uri_encoded_bucket`}],[N]:[{[W]:{[z]:`{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}`,[B]:{[m0]:`S3Express`,[h0]:[{[g0]:!0,[D0]:`sigv4-s3express`,[_0]:`s3express`,[v0]:`{Region}`}]},[V]:{}},[M]:W}],[M]:G}],[M]:G},{[P]:[{[F]:j0,[I]:[K,!1]}],[N]:[{[W]:{[z]:M0,[B]:{[m0]:`S3Express`,[h0]:[{[g0]:!0,[D0]:`sigv4-s3express`,[_0]:`s3express`,[v0]:`{Region}`}]},[V]:{}},[M]:W}],[M]:G},{[H]:`S3Express bucket name is not a valid virtual hostable name.`,[M]:H}],[M]:G},y2={[F]:A0,[I]:[{[L]:`Endpoint`}],[R]:`url`},b2={[F]:w0,[I]:[{[F]:E0,[I]:[{[L]:`url`},`isIp`]},!0]},x2={[L]:`url`},S2={[F]:`uriEncode`,[I]:[K],[R]:`uri_encoded_bucket`},C2={[m0]:`S3Express`,[h0]:[{[g0]:!0,[D0]:`sigv4`,[_0]:`s3express`,[v0]:`{Region}`}]},q={},w2={[F]:j0,[I]:[K,!1]},T2={[H]:`S3Express bucket name is not a valid virtual hostable name.`,[M]:H},E2={[F]:C0,[I]:[{[L]:`UseS3ExpressControlEndpoint`}]},D2={[F]:w0,[I]:[{[L]:`UseS3ExpressControlEndpoint`},!0]},J={[F]:N0,[I]:[p2]},Y={[F]:w0,[I]:[{[L]:`UseDualStack`},!1]},X={[F]:w0,[I]:[{[L]:`UseFIPS`},!1]},O2={[H]:`Unrecognized S3Express bucket name format.`,[M]:H},k2={[F]:N0,[I]:[g2]},A2={[L]:I0},j2={[P]:[J],[H]:`Expected a endpoint to be specified but no endpoint was found`,[M]:H},M2={[h0]:[{[g0]:!0,[D0]:V0,[_0]:H0,[y0]:[`*`]},{[g0]:!0,[D0]:`sigv4`,[_0]:H0,[v0]:`{Region}`}]},N2={[F]:w0,[I]:[{[L]:`ForcePathStyle`},!1]},P2={[L]:`ForcePathStyle`},F2={[F]:w0,[I]:[{[L]:`Accelerate`},!1]},I2={[F]:U,[I]:[{[L]:`Region`},`aws-global`]},L2={[h0]:[{[g0]:!0,[D0]:`sigv4`,[_0]:U0,[v0]:`us-east-1`}]},Z={[F]:N0,[I]:[I2]},R2={[F]:w0,[I]:[{[L]:`UseGlobalEndpoint`},!0]},z2={[z]:`https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}`,[B]:{[h0]:[{[g0]:!0,[D0]:`sigv4`,[_0]:U0,[v0]:`{Region}`}]},[V]:{}},B2={[h0]:[{[g0]:!0,[D0]:`sigv4`,[_0]:U0,[v0]:`{Region}`}]},V2={[F]:w0,[I]:[{[L]:`UseGlobalEndpoint`},!1]},H2={[z]:`https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}`,[B]:B2,[V]:{}},U2={[z]:`https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}`,[B]:B2,[V]:{}},W2={[z]:`https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}`,[B]:B2,[V]:{}},G2={[F]:w0,[I]:[{[F]:E0,[I]:[x2,`isIp`]},!1]},K2={[z]:W0,[B]:B2,[V]:{}},q2={[z]:M0,[B]:B2,[V]:{}},J2={[W]:q2,[M]:W},Y2={[z]:G0,[B]:B2,[V]:{}},X2={[z]:`https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}`,[B]:B2,[V]:{}},Z2={[H]:`Invalid region: region was not a valid DNS name.`,[M]:H},Q2={[L]:J0},$2={[L]:Y0},e4={[F]:E0,[I]:[Q2,`service`]},t4={[L]:$0},n4={[P]:[f2],[H]:`S3 Object Lambda does not support Dual-stack`,[M]:H},r4={[P]:[u2],[H]:`S3 Object Lambda does not support S3 Accelerate`,[M]:H},i4={[P]:[{[F]:C0,[I]:[{[L]:`DisableAccessPoints`}]},{[F]:w0,[I]:[{[L]:`DisableAccessPoints`},!0]}],[H]:`Access points are not supported for this operation`,[M]:H},a4={[P]:[{[F]:C0,[I]:[{[L]:`UseArnRegion`}]},{[F]:w0,[I]:[{[L]:`UseArnRegion`},!1]},{[F]:N0,[I]:[{[F]:U,[I]:[{[F]:E0,[I]:[Q2,`region`]},`{Region}`]}]}],[H]:"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",[M]:H},o4={[F]:E0,[I]:[{[L]:`bucketPartition`},D0]},s4={[F]:E0,[I]:[Q2,`accountId`]},c4={[h0]:[{[g0]:!0,[D0]:`sigv4`,[_0]:Z0,[v0]:`{bucketArn#region}`}]},l4={[H]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",[M]:H},u4={[H]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",[M]:H},d4={[H]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",[M]:H},f4={[H]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",[M]:H},p4={[H]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",[M]:H},m4={[H]:"Invalid ARN: Expected a resource of the format `accesspoint:` but no name was provided",[M]:H},h4={[h0]:[{[g0]:!0,[D0]:`sigv4`,[_0]:U0,[v0]:`{bucketArn#region}`}]},g4={[h0]:[{[g0]:!0,[D0]:V0,[_0]:H0,[y0]:[`*`]},{[g0]:!0,[D0]:`sigv4`,[_0]:H0,[v0]:`{bucketArn#region}`}]},_4={[F]:q0,[I]:[K]},v4={[z]:`https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[B]:B2,[V]:{}},y4={[z]:`https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[B]:B2,[V]:{}},b4={[z]:`https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[B]:B2,[V]:{}},x4={[z]:i2,[B]:B2,[V]:{}},S4={[z]:`https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[B]:B2,[V]:{}},C4={[L]:`UseObjectLambdaEndpoint`},w4={[h0]:[{[g0]:!0,[D0]:`sigv4`,[_0]:Z0,[v0]:`{Region}`}]},T4={[z]:`https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}`,[B]:B2,[V]:{}},E4={[z]:`https://s3-fips.{Region}.{partitionResult#dnsSuffix}`,[B]:B2,[V]:{}},D4={[z]:`https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}`,[B]:B2,[V]:{}},O4={[z]:F0,[B]:B2,[V]:{}},k4={[z]:`https://s3.{Region}.{partitionResult#dnsSuffix}`,[B]:B2,[V]:{}},A4=[{[L]:`Region`}],j4=[{[L]:`Endpoint`}],M4=[K],N4=[u2],P4=[p2,y2],F4=[{[F]:C0,[I]:[{[L]:`DisableS3ExpressSessionAuth`}]},{[F]:w0,[I]:[{[L]:`DisableS3ExpressSessionAuth`},!0]}],I4=[S2],L4=[w2],R4=[m2],z4=[d2,f2],B4=[d2,Y],V4=[X,f2],H4=[X,Y],U4=[{[F]:O0,[I]:[K,6,14,!0],[R]:`s3expressAvailabilityZoneId`},{[F]:O0,[I]:[K,14,16,!0],[R]:`s3expressAvailabilityZoneDelim`},{[F]:U,[I]:[{[L]:`s3expressAvailabilityZoneDelim`},`--`]}],W4=[{[P]:[d2,f2],[W]:{[z]:`https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}`,[B]:C2,[V]:{}},[M]:W},{[P]:B4,[W]:{[z]:`https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}`,[B]:C2,[V]:{}},[M]:W},{[P]:V4,[W]:{[z]:`https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}`,[B]:C2,[V]:{}},[M]:W},{[P]:H4,[W]:{[z]:`https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}`,[B]:C2,[V]:{}},[M]:W}],G4=[{[F]:O0,[I]:[K,6,15,!0],[R]:`s3expressAvailabilityZoneId`},{[F]:O0,[I]:[K,15,17,!0],[R]:`s3expressAvailabilityZoneDelim`},{[F]:U,[I]:[{[L]:`s3expressAvailabilityZoneDelim`},`--`]}],K4=[{[F]:O0,[I]:[K,6,19,!0],[R]:`s3expressAvailabilityZoneId`},{[F]:O0,[I]:[K,19,21,!0],[R]:`s3expressAvailabilityZoneDelim`},{[F]:U,[I]:[{[L]:`s3expressAvailabilityZoneDelim`},`--`]}],q4=[{[F]:O0,[I]:[K,6,20,!0],[R]:`s3expressAvailabilityZoneId`},{[F]:O0,[I]:[K,20,22,!0],[R]:`s3expressAvailabilityZoneDelim`},{[F]:U,[I]:[{[L]:`s3expressAvailabilityZoneDelim`},`--`]}],J4=[{[F]:O0,[I]:[K,6,26,!0],[R]:`s3expressAvailabilityZoneId`},{[F]:O0,[I]:[K,26,28,!0],[R]:`s3expressAvailabilityZoneDelim`},{[F]:U,[I]:[{[L]:`s3expressAvailabilityZoneDelim`},`--`]}],Y4=[{[P]:[d2,f2],[W]:{[z]:`https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}`,[B]:{[m0]:`S3Express`,[h0]:[{[g0]:!0,[D0]:`sigv4-s3express`,[_0]:`s3express`,[v0]:`{Region}`}]},[V]:{}},[M]:W},{[P]:B4,[W]:{[z]:`https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}`,[B]:{[m0]:`S3Express`,[h0]:[{[g0]:!0,[D0]:`sigv4-s3express`,[_0]:`s3express`,[v0]:`{Region}`}]},[V]:{}},[M]:W},{[P]:V4,[W]:{[z]:`https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}`,[B]:{[m0]:`S3Express`,[h0]:[{[g0]:!0,[D0]:`sigv4-s3express`,[_0]:`s3express`,[v0]:`{Region}`}]},[V]:{}},[M]:W},{[P]:H4,[W]:{[z]:`https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}`,[B]:{[m0]:`S3Express`,[h0]:[{[g0]:!0,[D0]:`sigv4-s3express`,[_0]:`s3express`,[v0]:`{Region}`}]},[V]:{}},[M]:W}],X4=[K,0,7,!0],Z4=[{[F]:O0,[I]:[K,7,15,!0],[R]:`s3expressAvailabilityZoneId`},{[F]:O0,[I]:[K,15,17,!0],[R]:`s3expressAvailabilityZoneDelim`},{[F]:U,[I]:[{[L]:`s3expressAvailabilityZoneDelim`},`--`]}],Q4=[{[F]:O0,[I]:[K,7,16,!0],[R]:`s3expressAvailabilityZoneId`},{[F]:O0,[I]:[K,16,18,!0],[R]:`s3expressAvailabilityZoneDelim`},{[F]:U,[I]:[{[L]:`s3expressAvailabilityZoneDelim`},`--`]}],$4=[{[F]:O0,[I]:[K,7,20,!0],[R]:`s3expressAvailabilityZoneId`},{[F]:O0,[I]:[K,20,22,!0],[R]:`s3expressAvailabilityZoneDelim`},{[F]:U,[I]:[{[L]:`s3expressAvailabilityZoneDelim`},`--`]}],e3=[{[F]:O0,[I]:[K,7,21,!0],[R]:`s3expressAvailabilityZoneId`},{[F]:O0,[I]:[K,21,23,!0],[R]:`s3expressAvailabilityZoneDelim`},{[F]:U,[I]:[{[L]:`s3expressAvailabilityZoneDelim`},`--`]}],t3=[{[F]:O0,[I]:[K,7,27,!0],[R]:`s3expressAvailabilityZoneId`},{[F]:O0,[I]:[K,27,29,!0],[R]:`s3expressAvailabilityZoneDelim`},{[F]:U,[I]:[{[L]:`s3expressAvailabilityZoneDelim`},`--`]}],n3=[g2],r3=[{[F]:B0,[I]:[{[L]:z0},!1]}],i3=[{[F]:U,[I]:[{[L]:L0},`beta`]}],a3=[`*`],o3=[{[F]:B0,[I]:[{[L]:`Region`},!1]}],s3=[{[F]:U,[I]:[{[L]:`Region`},`us-east-1`]}],c3=[{[F]:U,[I]:[$2,Q0]}],l3=[{[F]:E0,[I]:[Q2,`resourceId[1]`],[R]:$0},{[F]:N0,[I]:[{[F]:U,[I]:[t4,X0]}]}],u3=[Q2,`resourceId[1]`],d3=[f2],f3=[{[F]:N0,[I]:[{[F]:U,[I]:[{[F]:E0,[I]:[Q2,`region`]},X0]}]}],p3=[{[F]:N0,[I]:[{[F]:C0,[I]:[{[F]:E0,[I]:[Q2,`resourceId[2]`]}]}]}],m3=[Q2,`resourceId[2]`],h3=[{[F]:T0,[I]:[{[F]:E0,[I]:[Q2,`region`]}],[R]:`bucketPartition`}],g3=[{[F]:U,[I]:[o4,{[F]:E0,[I]:[{[L]:`partitionResult`},D0]}]}],_3=[{[F]:B0,[I]:[{[F]:E0,[I]:[Q2,`region`]},!0]}],v3=[{[F]:B0,[I]:[s4,!1]}],y3=[{[F]:B0,[I]:[t4,!1]}],b3=[d2],x3=[{[F]:B0,[I]:[{[L]:`Region`},!0]}],S3={version:`1.0`,parameters:{Bucket:s2,Region:s2,UseFIPS:c2,UseDualStack:c2,Endpoint:s2,ForcePathStyle:c2,Accelerate:c2,UseGlobalEndpoint:c2,UseObjectLambdaEndpoint:l2,Key:s2,Prefix:s2,CopySource:s2,DisableAccessPoints:l2,DisableMultiRegionAccessPoints:c2,UseArnRegion:l2,UseS3ExpressControlEndpoint:l2,DisableS3ExpressSessionAuth:l2},[N]:[{[P]:[{[F]:C0,[I]:A4}],[N]:[{[P]:[u2,d2],error:`Accelerate cannot be used with FIPS`,[M]:H},{[P]:[f2,p2],error:`Cannot set dual-stack in combination with a custom endpoint.`,[M]:H},{[P]:[p2,d2],error:`A custom endpoint cannot be combined with FIPS`,[M]:H},{[P]:[p2,u2],error:`A custom endpoint cannot be combined with S3 Accelerate`,[M]:H},{[P]:[d2,m2,h2],error:`Partition does not support FIPS`,[M]:H},{[P]:[g2,{[F]:O0,[I]:[K,0,b0,S0],[R]:k0},{[F]:U,[I]:[{[L]:k0},`--x-s3`]}],[N]:[_2,v2,{[P]:[E2,D2],[N]:[{[P]:R4,[N]:[{[P]:[S2,J],[N]:[{[P]:z4,endpoint:{[z]:`https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[B]:C2,[V]:q},[M]:W},{[P]:B4,endpoint:{[z]:`https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[B]:C2,[V]:q},[M]:W},{[P]:V4,endpoint:{[z]:`https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[B]:C2,[V]:q},[M]:W},{[P]:H4,endpoint:{[z]:`https://s3express-control.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[B]:C2,[V]:q},[M]:W}],[M]:G}],[M]:G}],[M]:G},{[P]:L4,[N]:[{[P]:R4,[N]:[{[P]:F4,[N]:[{[P]:U4,[N]:W4,[M]:G},{[P]:G4,[N]:W4,[M]:G},{[P]:K4,[N]:W4,[M]:G},{[P]:q4,[N]:W4,[M]:G},{[P]:J4,[N]:W4,[M]:G},O2],[M]:G},{[P]:U4,[N]:Y4,[M]:G},{[P]:G4,[N]:Y4,[M]:G},{[P]:K4,[N]:Y4,[M]:G},{[P]:q4,[N]:Y4,[M]:G},{[P]:J4,[N]:Y4,[M]:G},O2],[M]:G}],[M]:G},T2],[M]:G},{[P]:[g2,{[F]:O0,[I]:X4,[R]:P0},{[F]:U,[I]:[{[L]:P0},`--xa-s3`]}],[N]:[_2,v2,{[P]:L4,[N]:[{[P]:R4,[N]:[{[P]:F4,[N]:[{[P]:Z4,[N]:W4,[M]:G},{[P]:Q4,[N]:W4,[M]:G},{[P]:$4,[N]:W4,[M]:G},{[P]:e3,[N]:W4,[M]:G},{[P]:t3,[N]:W4,[M]:G},O2],[M]:G},{[P]:Z4,[N]:Y4,[M]:G},{[P]:Q4,[N]:Y4,[M]:G},{[P]:$4,[N]:Y4,[M]:G},{[P]:e3,[N]:Y4,[M]:G},{[P]:t3,[N]:Y4,[M]:G},O2],[M]:G}],[M]:G},T2],[M]:G},{[P]:[k2,E2,D2],[N]:[{[P]:R4,[N]:[{[P]:P4,endpoint:{[z]:F0,[B]:C2,[V]:q},[M]:W},{[P]:z4,endpoint:{[z]:`https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}`,[B]:C2,[V]:q},[M]:W},{[P]:B4,endpoint:{[z]:`https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}`,[B]:C2,[V]:q},[M]:W},{[P]:V4,endpoint:{[z]:`https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}`,[B]:C2,[V]:q},[M]:W},{[P]:H4,endpoint:{[z]:`https://s3express-control.{Region}.{partitionResult#dnsSuffix}`,[B]:C2,[V]:q},[M]:W}],[M]:G}],[M]:G},{[P]:[g2,{[F]:O0,[I]:[K,49,50,S0],[R]:I0},{[F]:O0,[I]:[K,8,12,S0],[R]:L0},{[F]:O0,[I]:X4,[R]:R0},{[F]:O0,[I]:[K,32,49,S0],[R]:z0},{[F]:T0,[I]:A4,[R]:`regionPartition`},{[F]:U,[I]:[{[L]:R0},`--op-s3`]}],[N]:[{[P]:r3,[N]:[{[P]:L4,[N]:[{[P]:[{[F]:U,[I]:[A2,`e`]}],[N]:[{[P]:i3,[N]:[j2,{[P]:P4,endpoint:{[z]:`https://{Bucket}.ec2.{url#authority}`,[B]:M2,[V]:q},[M]:W}],[M]:G},{endpoint:{[z]:`https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}`,[B]:M2,[V]:q},[M]:W}],[M]:G},{[P]:[{[F]:U,[I]:[A2,`o`]}],[N]:[{[P]:i3,[N]:[j2,{[P]:P4,endpoint:{[z]:`https://{Bucket}.op-{outpostId}.{url#authority}`,[B]:M2,[V]:q},[M]:W}],[M]:G},{endpoint:{[z]:`https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}`,[B]:M2,[V]:q},[M]:W}],[M]:G},{error:`Unrecognized hardware type: "Expected hardware type o or e but got {hardwareType}"`,[M]:H}],[M]:G},{error:`Invalid Outposts Bucket alias - it must be a valid bucket name.`,[M]:H}],[M]:G},{error:"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.",[M]:H}],[M]:G},{[P]:n3,[N]:[{[P]:[p2,{[F]:N0,[I]:[{[F]:C0,[I]:[{[F]:A0,[I]:j4}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",[M]:H},{[P]:[N2,w2],[N]:[{[P]:R4,[N]:[{[P]:o3,[N]:[{[P]:[u2,h2],error:`S3 Accelerate cannot be used in this region`,[M]:H},{[P]:[f2,d2,F2,J,I2],endpoint:{[z]:`https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}`,[B]:L2,[V]:q},[M]:W},{[P]:[f2,d2,F2,J,Z,R2],[N]:[{endpoint:z2,[M]:W}],[M]:G},{[P]:[f2,d2,F2,J,Z,V2],endpoint:z2,[M]:W},{[P]:[Y,d2,F2,J,I2],endpoint:{[z]:`https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}`,[B]:L2,[V]:q},[M]:W},{[P]:[Y,d2,F2,J,Z,R2],[N]:[{endpoint:H2,[M]:W}],[M]:G},{[P]:[Y,d2,F2,J,Z,V2],endpoint:H2,[M]:W},{[P]:[f2,X,u2,J,I2],endpoint:{[z]:`https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}`,[B]:L2,[V]:q},[M]:W},{[P]:[f2,X,u2,J,Z,R2],[N]:[{endpoint:U2,[M]:W}],[M]:G},{[P]:[f2,X,u2,J,Z,V2],endpoint:U2,[M]:W},{[P]:[f2,X,F2,J,I2],endpoint:{[z]:`https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}`,[B]:L2,[V]:q},[M]:W},{[P]:[f2,X,F2,J,Z,R2],[N]:[{endpoint:W2,[M]:W}],[M]:G},{[P]:[f2,X,F2,J,Z,V2],endpoint:W2,[M]:W},{[P]:[Y,X,F2,p2,y2,b2,I2],endpoint:{[z]:W0,[B]:L2,[V]:q},[M]:W},{[P]:[Y,X,F2,p2,y2,G2,I2],endpoint:{[z]:M0,[B]:L2,[V]:q},[M]:W},{[P]:[Y,X,F2,p2,y2,b2,Z,R2],[N]:[{[P]:s3,endpoint:K2,[M]:W},{endpoint:K2,[M]:W}],[M]:G},{[P]:[Y,X,F2,p2,y2,G2,Z,R2],[N]:[{[P]:s3,endpoint:q2,[M]:W},J2],[M]:G},{[P]:[Y,X,F2,p2,y2,b2,Z,V2],endpoint:K2,[M]:W},{[P]:[Y,X,F2,p2,y2,G2,Z,V2],endpoint:q2,[M]:W},{[P]:[Y,X,u2,J,I2],endpoint:{[z]:G0,[B]:L2,[V]:q},[M]:W},{[P]:[Y,X,u2,J,Z,R2],[N]:[{[P]:s3,endpoint:Y2,[M]:W},{endpoint:Y2,[M]:W}],[M]:G},{[P]:[Y,X,u2,J,Z,V2],endpoint:Y2,[M]:W},{[P]:[Y,X,F2,J,I2],endpoint:{[z]:K0,[B]:L2,[V]:q},[M]:W},{[P]:[Y,X,F2,J,Z,R2],[N]:[{[P]:s3,endpoint:{[z]:K0,[B]:B2,[V]:q},[M]:W},{endpoint:X2,[M]:W}],[M]:G},{[P]:[Y,X,F2,J,Z,V2],endpoint:X2,[M]:W}],[M]:G},Z2],[M]:G}],[M]:G},{[P]:[p2,y2,{[F]:U,[I]:[{[F]:E0,[I]:[x2,`scheme`]},`http`]},{[F]:j0,[I]:[K,S0]},N2,X,Y,F2],[N]:[{[P]:R4,[N]:[{[P]:o3,[N]:[J2],[M]:G},Z2],[M]:G}],[M]:G},{[P]:[N2,{[F]:q0,[I]:M4,[R]:J0}],[N]:[{[P]:[{[F]:E0,[I]:[Q2,`resourceId[0]`],[R]:Y0},{[F]:N0,[I]:[{[F]:U,[I]:[$2,X0]}]}],[N]:[{[P]:[{[F]:U,[I]:[e4,Z0]}],[N]:[{[P]:c3,[N]:[{[P]:l3,[N]:[n4,r4,{[P]:f3,[N]:[i4,{[P]:p3,[N]:[a4,{[P]:h3,[N]:[{[P]:R4,[N]:[{[P]:g3,[N]:[{[P]:_3,[N]:[{[P]:[{[F]:U,[I]:[s4,X0]}],error:`Invalid ARN: Missing account id`,[M]:H},{[P]:v3,[N]:[{[P]:y3,[N]:[{[P]:P4,endpoint:{[z]:e2,[B]:c4,[V]:q},[M]:W},{[P]:b3,endpoint:{[z]:`https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}`,[B]:c4,[V]:q},[M]:W},{endpoint:{[z]:`https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}`,[B]:c4,[V]:q},[M]:W}],[M]:G},l4],[M]:G},u4],[M]:G},d4],[M]:G},f4],[M]:G}],[M]:G}],[M]:G},p4],[M]:G},{error:`Invalid ARN: bucket ARN is missing a region`,[M]:H}],[M]:G},m4],[M]:G},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",[M]:H}],[M]:G},{[P]:c3,[N]:[{[P]:l3,[N]:[{[P]:f3,[N]:[{[P]:c3,[N]:[{[P]:f3,[N]:[i4,{[P]:p3,[N]:[a4,{[P]:h3,[N]:[{[P]:R4,[N]:[{[P]:[{[F]:U,[I]:[o4,`{partitionResult#name}`]}],[N]:[{[P]:_3,[N]:[{[P]:[{[F]:U,[I]:[e4,U0]}],[N]:[{[P]:v3,[N]:[{[P]:y3,[N]:[{[P]:N4,error:`Access Points do not support S3 Accelerate`,[M]:H},{[P]:z4,endpoint:{[z]:`https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}`,[B]:h4,[V]:q},[M]:W},{[P]:B4,endpoint:{[z]:`https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}`,[B]:h4,[V]:q},[M]:W},{[P]:V4,endpoint:{[z]:`https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}`,[B]:h4,[V]:q},[M]:W},{[P]:[X,Y,p2,y2],endpoint:{[z]:e2,[B]:h4,[V]:q},[M]:W},{[P]:H4,endpoint:{[z]:`https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}`,[B]:h4,[V]:q},[M]:W}],[M]:G},l4],[M]:G},u4],[M]:G},{error:`Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}`,[M]:H}],[M]:G},d4],[M]:G},f4],[M]:G}],[M]:G}],[M]:G},p4],[M]:G}],[M]:G}],[M]:G},{[P]:[{[F]:B0,[I]:[t4,S0]}],[N]:[{[P]:d3,error:`S3 MRAP does not support dual-stack`,[M]:H},{[P]:b3,error:`S3 MRAP does not support FIPS`,[M]:H},{[P]:N4,error:`S3 MRAP does not support S3 Accelerate`,[M]:H},{[P]:[{[F]:w0,[I]:[{[L]:`DisableMultiRegionAccessPoints`},S0]}],error:`Invalid configuration: Multi-Region Access Point ARNs are disabled.`,[M]:H},{[P]:[{[F]:T0,[I]:A4,[R]:t2}],[N]:[{[P]:[{[F]:U,[I]:[{[F]:E0,[I]:[{[L]:t2},D0]},{[F]:E0,[I]:[Q2,`partition`]}]}],[N]:[{endpoint:{[z]:`https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}`,[B]:{[h0]:[{[g0]:S0,name:V0,[_0]:U0,[y0]:a3}]},[V]:q},[M]:W}],[M]:G},{error:"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`",[M]:H}],[M]:G}],[M]:G},{error:`Invalid Access Point Name`,[M]:H}],[M]:G},m4],[M]:G},{[P]:[{[F]:U,[I]:[e4,H0]}],[N]:[{[P]:d3,error:`S3 Outposts does not support Dual-stack`,[M]:H},{[P]:b3,error:`S3 Outposts does not support FIPS`,[M]:H},{[P]:N4,error:`S3 Outposts does not support S3 Accelerate`,[M]:H},{[P]:[{[F]:C0,[I]:[{[F]:E0,[I]:[Q2,`resourceId[4]`]}]}],error:`Invalid Arn: Outpost Access Point ARN contains sub resources`,[M]:H},{[P]:[{[F]:E0,[I]:u3,[R]:z0}],[N]:[{[P]:r3,[N]:[a4,{[P]:h3,[N]:[{[P]:R4,[N]:[{[P]:g3,[N]:[{[P]:_3,[N]:[{[P]:v3,[N]:[{[P]:[{[F]:E0,[I]:m3,[R]:n2}],[N]:[{[P]:[{[F]:E0,[I]:[Q2,`resourceId[3]`],[R]:$0}],[N]:[{[P]:[{[F]:U,[I]:[{[L]:n2},Q0]}],[N]:[{[P]:P4,endpoint:{[z]:`https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}`,[B]:g4,[V]:q},[M]:W},{endpoint:{[z]:`https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}`,[B]:g4,[V]:q},[M]:W}],[M]:G},{error:"Expected an outpost type `accesspoint`, found {outpostType}",[M]:H}],[M]:G},{error:`Invalid ARN: expected an access point name`,[M]:H}],[M]:G},{error:`Invalid ARN: Expected a 4-component resource`,[M]:H}],[M]:G},u4],[M]:G},d4],[M]:G},f4],[M]:G}],[M]:G}],[M]:G},{error:"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`",[M]:H}],[M]:G},{error:`Invalid ARN: The Outpost Id was not set`,[M]:H}],[M]:G},{error:`Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})`,[M]:H}],[M]:G},{error:`Invalid ARN: No ARN type specified`,[M]:H}],[M]:G},{[P]:[{[F]:O0,[I]:[K,0,4,x0],[R]:r2},{[F]:U,[I]:[{[L]:r2},`arn:`]},{[F]:N0,[I]:[{[F]:C0,[I]:[_4]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",[M]:H},{[P]:[{[F]:w0,[I]:[P2,S0]},_4],error:`Path-style addressing cannot be used with ARN buckets`,[M]:H},{[P]:I4,[N]:[{[P]:R4,[N]:[{[P]:[F2],[N]:[{[P]:[f2,J,d2,I2],endpoint:{[z]:`https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[B]:L2,[V]:q},[M]:W},{[P]:[f2,J,d2,Z,R2],[N]:[{endpoint:v4,[M]:W}],[M]:G},{[P]:[f2,J,d2,Z,V2],endpoint:v4,[M]:W},{[P]:[Y,J,d2,I2],endpoint:{[z]:`https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[B]:L2,[V]:q},[M]:W},{[P]:[Y,J,d2,Z,R2],[N]:[{endpoint:y4,[M]:W}],[M]:G},{[P]:[Y,J,d2,Z,V2],endpoint:y4,[M]:W},{[P]:[f2,J,X,I2],endpoint:{[z]:`https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,[B]:L2,[V]:q},[M]:W},{[P]:[f2,J,X,Z,R2],[N]:[{endpoint:b4,[M]:W}],[M]:G},{[P]:[f2,J,X,Z,V2],endpoint:b4,[M]:W},{[P]:[Y,p2,y2,X,I2],endpoint:{[z]:i2,[B]:L2,[V]:q},[M]:W},{[P]:[Y,p2,y2,X,Z,R2],[N]:[{[P]:s3,endpoint:x4,[M]:W},{endpoint:x4,[M]:W}],[M]:G},{[P]:[Y,p2,y2,X,Z,V2],endpoint:x4,[M]:W},{[P]:[Y,J,X,I2],endpoint:{[z]:a2,[B]:L2,[V]:q},[M]:W},{[P]:[Y,J,X,Z,R2],[N]:[{[P]:s3,endpoint:{[z]:a2,[B]:B2,[V]:q},[M]:W},{endpoint:S4,[M]:W}],[M]:G},{[P]:[Y,J,X,Z,V2],endpoint:S4,[M]:W}],[M]:G},{error:`Path-style addressing cannot be used with S3 Accelerate`,[M]:H}],[M]:G}],[M]:G}],[M]:G},{[P]:[{[F]:C0,[I]:[C4]},{[F]:w0,[I]:[C4,S0]}],[N]:[{[P]:R4,[N]:[{[P]:x3,[N]:[n4,r4,{[P]:P4,endpoint:{[z]:F0,[B]:w4,[V]:q},[M]:W},{[P]:b3,endpoint:{[z]:`https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}`,[B]:w4,[V]:q},[M]:W},{endpoint:{[z]:`https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}`,[B]:w4,[V]:q},[M]:W}],[M]:G},Z2],[M]:G}],[M]:G},{[P]:[k2],[N]:[{[P]:R4,[N]:[{[P]:x3,[N]:[{[P]:[d2,f2,J,I2],endpoint:{[z]:`https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}`,[B]:L2,[V]:q},[M]:W},{[P]:[d2,f2,J,Z,R2],[N]:[{endpoint:T4,[M]:W}],[M]:G},{[P]:[d2,f2,J,Z,V2],endpoint:T4,[M]:W},{[P]:[d2,Y,J,I2],endpoint:{[z]:`https://s3-fips.us-east-1.{partitionResult#dnsSuffix}`,[B]:L2,[V]:q},[M]:W},{[P]:[d2,Y,J,Z,R2],[N]:[{endpoint:E4,[M]:W}],[M]:G},{[P]:[d2,Y,J,Z,V2],endpoint:E4,[M]:W},{[P]:[X,f2,J,I2],endpoint:{[z]:`https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}`,[B]:L2,[V]:q},[M]:W},{[P]:[X,f2,J,Z,R2],[N]:[{endpoint:D4,[M]:W}],[M]:G},{[P]:[X,f2,J,Z,V2],endpoint:D4,[M]:W},{[P]:[X,Y,p2,y2,I2],endpoint:{[z]:F0,[B]:L2,[V]:q},[M]:W},{[P]:[X,Y,p2,y2,Z,R2],[N]:[{[P]:s3,endpoint:O4,[M]:W},{endpoint:O4,[M]:W}],[M]:G},{[P]:[X,Y,p2,y2,Z,V2],endpoint:O4,[M]:W},{[P]:[X,Y,J,I2],endpoint:{[z]:o2,[B]:L2,[V]:q},[M]:W},{[P]:[X,Y,J,Z,R2],[N]:[{[P]:s3,endpoint:{[z]:o2,[B]:B2,[V]:q},[M]:W},{endpoint:k4,[M]:W}],[M]:G},{[P]:[X,Y,J,Z,V2],endpoint:k4,[M]:W}],[M]:G},Z2],[M]:G}],[M]:G}],[M]:G},{error:`A region must be set when sending requests to S3.`,[M]:H}]},C3=new Zn({size:50,params:[`Accelerate`,`Bucket`,`DisableAccessPoints`,`DisableMultiRegionAccessPoints`,`DisableS3ExpressSessionAuth`,`Endpoint`,`ForcePathStyle`,`Region`,`UseArnRegion`,`UseDualStack`,`UseFIPS`,`UseGlobalEndpoint`,`UseObjectLambdaEndpoint`,`UseS3ExpressControlEndpoint`]}),w3=(e,t={})=>C3.get(e,()=>kr(S3,{endpointParams:e,logger:t.logger}));nr.aws=Rr;var T3=(e=>async(t,n,r)=>{if(!r)throw Error("Could not find `input` for `defaultEndpointRuleSetHttpAuthSchemeParametersProvider`");let i=await e(t,n,r),a=_e(n)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!a)throw Error(`getEndpointParameterInstructions() is not defined on '${n.commandName}'`);let o=await Ai(r,{getEndpointParameterInstructions:a},t);return Object.assign(i,o)})(async(e,t,n)=>({operation:_e(t).operation,region:await f(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()}));function E3(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`s3`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}function D3(e){return{schemeId:`aws.auth#sigv4a`,signingProperties:{name:`s3`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var O3=((e,t,n)=>r=>{let i=e(r).properties?.authSchemes;if(!i)return t(r);let a=[];for(let e of i){let{name:t,properties:o={},...s}=e,c=t.toLowerCase();t!==c&&console.warn(`HttpAuthScheme has been normalized with lowercasing: '${t}' to '${c}'`);let l;if(c===`sigv4a`){l=`aws.auth#sigv4a`;let e=i.find(e=>{let t=e.name.toLowerCase();return t!==`sigv4a`&&t.startsWith(`sigv4`)});if(f0.sigv4aDependency()===`none`&&e)continue}else if(c.startsWith(`sigv4`))l=`aws.auth#sigv4`;else throw Error(`Unknown HttpAuthScheme found in '@smithy.rules#endpointRuleSet': '${c}'`);let u=n[l];if(!u)throw Error(`Could not find HttpAuthOption create function for '${l}'`);let d=u(r);d.schemeId=l,d.signingProperties={...d.signingProperties||{},...s,...o},a.push(d)}return a})(w3,e=>{let t=[];switch(e.operation){default:t.push(E3(e)),t.push(D3(e))}return t},{"aws.auth#sigv4":E3,"aws.auth#sigv4a":D3}),k3=e=>{let t=Ca(wa(e));return Object.assign(t,{authSchemePreference:f(e.authSchemePreference??[])})},A3=e=>Object.assign(e,{useFipsEndpoint:e.useFipsEndpoint??!1,useDualstackEndpoint:e.useDualstackEndpoint??!1,forcePathStyle:e.forcePathStyle??!1,useAccelerateEndpoint:e.useAccelerateEndpoint??!1,useGlobalEndpoint:e.useGlobalEndpoint??!1,disableMultiregionAccessPoints:e.disableMultiregionAccessPoints??!1,defaultSigningName:`s3`,clientContextParams:e.clientContextParams??{}}),j3={ForcePathStyle:{type:`clientContextParams`,name:`forcePathStyle`},UseArnRegion:{type:`clientContextParams`,name:`useArnRegion`},DisableMultiRegionAccessPoints:{type:`clientContextParams`,name:`disableMultiregionAccessPoints`},Accelerate:{type:`clientContextParams`,name:`useAccelerateEndpoint`},DisableS3ExpressSessionAuth:{type:`clientContextParams`,name:`disableS3ExpressSessionAuth`},UseGlobalEndpoint:{type:`builtInParams`,name:`useGlobalEndpoint`},UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},M3=class e extends qi{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},N3=class e extends M3{name=`NoSuchUpload`;$fault=`client`;constructor(t){super({name:`NoSuchUpload`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},P3=class e extends M3{name=`AccessDenied`;$fault=`client`;constructor(t){super({name:`AccessDenied`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},F3=class e extends M3{name=`ObjectNotInActiveTierError`;$fault=`client`;constructor(t){super({name:`ObjectNotInActiveTierError`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},I3=class e extends M3{name=`BucketAlreadyExists`;$fault=`client`;constructor(t){super({name:`BucketAlreadyExists`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},L3=class e extends M3{name=`BucketAlreadyOwnedByYou`;$fault=`client`;constructor(t){super({name:`BucketAlreadyOwnedByYou`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},R3=class e extends M3{name=`NoSuchBucket`;$fault=`client`;constructor(t){super({name:`NoSuchBucket`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},z3=class e extends M3{name=`InvalidObjectState`;$fault=`client`;StorageClass;AccessTier;constructor(t){super({name:`InvalidObjectState`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.StorageClass=t.StorageClass,this.AccessTier=t.AccessTier}},B3=class e extends M3{name=`NoSuchKey`;$fault=`client`;constructor(t){super({name:`NoSuchKey`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},V3=class e extends M3{name=`NotFound`;$fault=`client`;constructor(t){super({name:`NotFound`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},H3=class e extends M3{name=`EncryptionTypeMismatch`;$fault=`client`;constructor(t){super({name:`EncryptionTypeMismatch`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},U3=class e extends M3{name=`InvalidRequest`;$fault=`client`;constructor(t){super({name:`InvalidRequest`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},W3=class e extends M3{name=`InvalidWriteOffset`;$fault=`client`;constructor(t){super({name:`InvalidWriteOffset`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},G3=class e extends M3{name=`TooManyParts`;$fault=`client`;constructor(t){super({name:`TooManyParts`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},K3=class e extends M3{name=`IdempotencyParameterMismatch`;$fault=`client`;constructor(t){super({name:`IdempotencyParameterMismatch`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},q3=class e extends M3{name=`ObjectAlreadyInActiveTierError`;$fault=`client`;constructor(t){super({name:`ObjectAlreadyInActiveTierError`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},J3=`ACL`,Y3=`AccessDenied`,X3=`AbortDate`,Z3=`AccessKeyId`,Q3=`AbortMultipartUpload`,$3=`AbortMultipartUploadOutput`,e6=`AbortMultipartUploadRequest`,t6=`AcceptRanges`,n6=`AbortRuleId`,r6=`AccessTier`,i6=`Bucket`,a6=`BucketArn`,o6=`BucketAlreadyExists`,s6=`BucketAlreadyOwnedByYou`,c6=`BypassGovernanceRetention`,l6=`BucketInfo`,u6=`BucketKeyEnabled`,d6=`BucketNamespace`,f6=`BucketRegion`,p6=`Body`,m6=`Buckets`,h6=`ChecksumAlgorithm`,g6=`CreateBucket`,_6=`CreateBucketConfiguration`,v6=`CreateBucketOutput`,y6=`CreateBucketRequest`,b6=`CacheControl`,x6=`ChecksumCRC32`,S6=`ChecksumCRC32C`,C6=`ChecksumCRC64NVME`,w6=`Cache-Control`,T6=`CreationDate`,E6=`Content-Disposition`,D6=`ContentDisposition`,O6=`Content-Encoding`,k6=`ContentEncoding`,A6=`ContentLanguage`,j6=`Content-Language`,M6=`Content-Length`,N6=`ContentLength`,P6=`Content-MD5`,F6=`ContentMD5`,I6=`CompletedMultipartUpload`,L6=`CompleteMultipartUploadOutput`,R6=`CreateMultipartUploadOutput`,z6=`CompleteMultipartUploadResult`,B6=`CompleteMultipartUploadRequest`,V6=`CreateMultipartUploadRequest`,H6=`CompleteMultipartUpload`,U6=`CreateMultipartUpload`,W6=`ChecksumMode`,G6=`CommonPrefix`,K6=`CommonPrefixList`,q6=`CompletedPartList`,J6=`CompletedPart`,Y6=`CommonPrefixes`,X6=`ContentRange`,Z6=`Content-Range`,Q6=`ChecksumSHA1`,$6=`ChecksumSHA256`,e8=`CreateSessionOutput`,t8=`CreateSessionResult`,n8=`CreateSessionRequest`,r8=`CreateSession`,i8=`ChecksumType`,a8=`Content-Type`,o8=`ContentType`,s8=`ContinuationToken`,c8=`Contents`,l8=`Credentials`,u8=`DeleteMarker`,d8=`DisplayName`,f8=`DeleteObjectOutput`,p8=`DeleteObjectRequest`,m8=`DeleteObject`,h8=`DataRedundancy`,g8=`Delimiter`,_8=`Expiration`,v8=`ExpectedBucketOwner`,y8=`ExpiresString`,b8=`EncryptionTypeMismatch`,x8=`ETag`,S8=`EncodingType`,C8=`Expires`,w8=`FetchOwner`,T8=`GrantFullControl`,E8=`GetObject`,D8=`GetObjectOutput`,O8=`GetObjectRequest`,k8=`GrantRead`,A8=`GrantReadACP`,j8=`GrantWrite`,M8=`GrantWriteACP`,N8=`ID`,P8=`IfMatch`,F8=`IfMatchInitiatedTime`,I8=`IfMatchLastModifiedTime`,L8=`IfMatchSize`,R8=`If-Modified-Since`,z8=`IfModifiedSince`,B8=`InitiateMultipartUploadResult`,V8=`If-Match`,H8=`IfNoneMatch`,U8=`If-None-Match`,W8=`InvalidObjectState`,G8=`IdempotencyParameterMismatch`,K8=`InvalidRequest`,q8=`IsRestoreInProgress`,J8=`IsTruncated`,Y8=`IfUnmodifiedSince`,X8=`If-Unmodified-Since`,Z8=`InvalidWriteOffset`,Q8=`Key`,$8=`KeyCount`,e5=`Location`,t5=`ListAllMyBucketsResult`,n5=`ListBuckets`,r5=`ListBucketsOutput`,i5=`ListBucketsRequest`,a5=`ListBucketResult`,o5=`LocationConstraint`,s5=`LocationInfo`,c5=`LastModified`,l5=`Last-Modified`,u5=`ListObjectsV2`,d5=`ListObjectsV2Output`,f5=`ListObjectsV2Request`,p5=`Metadata`,m5=`MaxBuckets`,h5=`MFA`,g5=`MaxKeys`,_5=`MissingMeta`,v5=`MpuObjectSize`,y5=`MultipartUpload`,b5=`Name`,x5=`NextContinuationToken`,S5=`NotFound`,C5=`NoSuchBucket`,w5=`NoSuchKey`,T5=`NoSuchUpload`,E5=`Owner`,D5=`ObjectAlreadyInActiveTierError`,O5=`ObjectLockEnabledForBucket`,k5=`ObjectLockLegalHoldStatus`,A5=`ObjectLockMode`,j5=`ObjectLockRetainUntilDate`,M5=`ObjectList`,N5=`ObjectNotInActiveTierError`,P5=`ObjectOwnership`,F5=`OptionalObjectAttributes`,I5=`Object`,L5=`Prefix`,R5=`PartsCount`,z5=`PartNumber`,B5=`PutObject`,V5=`PutObjectOutput`,H5=`PutObjectRequest`,U5=`PutObjectTagging`,W5=`PutObjectTaggingOutput`,G5=`PutObjectTaggingRequest`,K5=`Parts`,q5=`Part`,J5=`RequestCharged`,Y5=`ResponseCacheControl`,X5=`ResponseContentDisposition`,Z5=`ResponseContentEncoding`,Q5=`ResponseContentLanguage`,$5=`ResponseContentType`,e7=`ResponseExpires`,t7=`RestoreExpiryDate`,n7=`RequestPayer`,r7=`ReplicationStatus`,i7=`RestoreStatus`,a7=`Range`,o7=`Restore`,s7=`StartAfter`,c7=`SecretAccessKey`,l7=`StreamingBlob`,u7=`StorageClass`,d7=`SessionCredentialValue`,f7=`SessionCredentials`,p7=`SessionMode`,m7=`ServerSideEncryption`,h7=`SSECustomerAlgorithm`,g7=`SSECustomerKey`,_7=`SSECustomerKeyMD5`,v7=`SSEKMSEncryptionContext`,y7=`SSEKMSKeyId`,b7=`SessionToken`,x7=`Size`,Ite=`Tags`,Lte=`TagCount`,Rte=`TooManyParts`,S7=`TagSet`,C7=`Tag`,w7=`Tagging`,T7=`Type`,E7=`UploadId`,zte=`UploadPart`,Bte=`UploadPartOutput`,Vte=`UploadPartRequest`,Hte=`Value`,D7=`VersionId`,Ute=`WriteOffsetBytes`,O7=`WebsiteRedirectLocation`,Wte=`accept-ranges`,Gte=`bucket-region`,k7=`client`,A7=`continuation-token`,Kte=`delimiter`,j7=`error`,qte=`encoding-type`,Jte=`fetch-owner`,M7=`http`,N7=`httpChecksum`,P7=`httpError`,Q=`httpHeader`,F7=`httpPayload`,I7=`httpPrefixHeaders`,L7=`httpQuery`,Yte=`max-buckets`,Xte=`max-keys`,R7=`prefix`,z7=`partNumber`,Zte=`response-cache-control`,Qte=`response-content-disposition`,$te=`response-content-encoding`,ene=`response-content-language`,tne=`response-content-type`,nne=`response-expires`,B7=`smithy.ts.sdk.synthetic.com.amazonaws.s3`,rne=`start-after`,ine=`streaming`,V7=`uploadId`,H7=`versionId`,U7=`xmlFlattened`,W7=`xmlName`,G7=`x-amz-acl`,ane=`x-amz-abort-date`,one=`x-amz-abort-rule-id`,sne=`x-amz-bucket-arn`,cne=`x-amz-bypass-governance-retention`,lne=`x-amz-bucket-namespace`,une=`x-amz-bucket-object-lock-enabled`,K7=`x-amz-checksum-algorithm`,q7=`x-amz-checksum-crc32`,J7=`x-amz-checksum-crc32c`,Y7=`x-amz-checksum-crc64nvme`,dne=`x-amz-checksum-mode`,X7=`x-amz-checksum-sha1`,Z7=`x-amz-checksum-sha256`,fne=`x-amz-create-session-mode`,Q7=`x-amz-checksum-type`,$7=`x-amz-delete-marker`,e9=`x-amz-expiration`,t9=`x-amz-expected-bucket-owner`,n9=`x-amz-grant-full-control`,r9=`x-amz-grant-read`,i9=`x-amz-grant-read-acp`,pne=`x-amz-grant-write`,a9=`x-amz-grant-write-acp`,mne=`x-amz-if-match-initiated-time`,hne=`x-amz-if-match-last-modified-time`,gne=`x-amz-if-match-size`,o9=`x-amz-meta-`,_ne=`x-amz-mfa`,vne=`x-amz-missing-meta`,yne=`x-amz-mp-object-size`,bne=`x-amz-mp-parts-count`,s9=`x-amz-object-lock-legal-hold`,c9=`x-amz-object-lock-mode`,l9=`x-amz-object-lock-retain-until-date`,xne=`x-amz-object-ownership`,Sne=`x-amz-optional-object-attributes`,Cne=`x-amz-object-size`,wne=`x-amz-restore`,u9=`x-amz-request-charged`,d9=`x-amz-request-payer`,Tne=`x-amz-replication-status`,f9=`x-amz-storage-class`,p9=`x-amz-sdk-checksum-algorithm`,m9=`x-amz-server-side-encryption`,h9=`x-amz-server-side-encryption-aws-kms-key-id`,g9=`x-amz-server-side-encryption-bucket-key-enabled`,_9=`x-amz-server-side-encryption-context`,v9=`x-amz-server-side-encryption-customer-algorithm`,y9=`x-amz-server-side-encryption-customer-key`,b9=`x-amz-server-side-encryption-customer-key-MD5`,x9=`x-amz-tagging`,Ene=`x-amz-tagging-count`,S9=`x-amz-version-id`,Dne=`x-amz-write-offset-bytes`,C9=`x-amz-website-redirect-location`,$=`com.amazonaws.s3`,w9=At.for(B7),One=[-3,B7,`S3ServiceException`,0,[],[]];w9.registerError(One,M3);var T9=At.for($),kne=[-3,$,Y3,{[j7]:k7,[P7]:403},[],[]];T9.registerError(kne,P3);var Ane=[-3,$,o6,{[j7]:k7,[P7]:409},[],[]];T9.registerError(Ane,I3);var jne=[-3,$,s6,{[j7]:k7,[P7]:409},[],[]];T9.registerError(jne,L3);var Mne=[-3,$,b8,{[j7]:k7,[P7]:400},[],[]];T9.registerError(Mne,H3);var Nne=[-3,$,G8,{[j7]:k7,[P7]:400},[],[]];T9.registerError(Nne,K3);var Pne=[-3,$,W8,{[j7]:k7,[P7]:403},[u7,r6],[0,0]];T9.registerError(Pne,z3);var Fne=[-3,$,K8,{[j7]:k7,[P7]:400},[],[]];T9.registerError(Fne,U3);var Ine=[-3,$,Z8,{[j7]:k7,[P7]:400},[],[]];T9.registerError(Ine,W3);var Lne=[-3,$,C5,{[j7]:k7,[P7]:404},[],[]];T9.registerError(Lne,R3);var Rne=[-3,$,w5,{[j7]:k7,[P7]:404},[],[]];T9.registerError(Rne,B3);var zne=[-3,$,T5,{[j7]:k7,[P7]:404},[],[]];T9.registerError(zne,N3);var Bne=[-3,$,S5,{[j7]:k7},[],[]];T9.registerError(Bne,V3);var Vne=[-3,$,D5,{[j7]:k7,[P7]:403},[],[]];T9.registerError(Vne,q3);var Hne=[-3,$,N5,{[j7]:k7,[P7]:403},[],[]];T9.registerError(Hne,F3);var Une=[-3,$,Rte,{[j7]:k7,[P7]:400},[],[]];T9.registerError(Une,G3);var Wne=[w9,T9],E9=[0,$,d7,8,0],D9=[0,$,g7,8,0],O9=[0,$,v7,8,0],k9=[0,$,y7,8,0],A9=[0,$,l7,{[ine]:1},42],Gne=[3,$,$3,0,[J5],[[0,{[Q]:u9}]]],Kne=[3,$,e6,0,[i6,Q8,E7,n7,v8,F8],[[0,1],[0,1],[0,{[L7]:V7}],[0,{[Q]:d9}],[0,{[Q]:t9}],[6,{[Q]:mne}]],3],qne=[3,$,i6,0,[b5,T6,f6,a6],[0,4,0,0]],Jne=[3,$,l6,0,[h8,T7],[0,0]],Yne=[3,$,G6,0,[L5],[0]],Xne=[3,$,I6,0,[K5],[[()=>kre,{[U7]:1,[W7]:q5}]]],Zne=[3,$,J6,0,[x8,x6,S6,C6,Q6,$6,z5],[0,0,0,0,0,0,1]],Qne=[3,$,L6,{[W7]:z6},[e5,i6,Q8,_8,x8,x6,S6,C6,Q6,$6,i8,m7,D7,y7,u6,J5],[0,0,0,[0,{[Q]:e9}],0,0,0,0,0,0,0,[0,{[Q]:m9}],[0,{[Q]:S9}],[()=>k9,{[Q]:h9}],[2,{[Q]:g9}],[0,{[Q]:u9}]]],$ne=[3,$,B6,0,[i6,Q8,E7,y5,x6,S6,C6,Q6,$6,i8,v5,n7,v8,P8,H8,h7,g7,_7],[[0,1],[0,1],[0,{[L7]:V7}],[()=>Xne,{[F7]:1,[W7]:H6}],[0,{[Q]:q7}],[0,{[Q]:J7}],[0,{[Q]:Y7}],[0,{[Q]:X7}],[0,{[Q]:Z7}],[0,{[Q]:Q7}],[1,{[Q]:yne}],[0,{[Q]:d9}],[0,{[Q]:t9}],[0,{[Q]:V8}],[0,{[Q]:U8}],[0,{[Q]:v9}],[()=>D9,{[Q]:y9}],[0,{[Q]:b9}]],3],ere=[3,$,_6,0,[o5,e5,i6,Ite],[0,()=>hre,()=>Jne,[()=>M9,0]]],tre=[3,$,v6,0,[e5,a6],[[0,{[Q]:e5}],[0,{[Q]:sne}]]],nre=[3,$,y6,0,[i6,J3,_6,T8,k8,A8,j8,M8,O5,P5,d6],[[0,1],[0,{[Q]:G7}],[()=>ere,{[F7]:1,[W7]:_6}],[0,{[Q]:n9}],[0,{[Q]:r9}],[0,{[Q]:i9}],[0,{[Q]:pne}],[0,{[Q]:a9}],[2,{[Q]:une}],[0,{[Q]:xne}],[0,{[Q]:lne}]],1],rre=[3,$,R6,{[W7]:B8},[X3,n6,i6,Q8,E7,m7,h7,_7,y7,v7,u6,J5,h6,i8],[[4,{[Q]:ane}],[0,{[Q]:one}],[0,{[W7]:i6}],0,0,[0,{[Q]:m9}],[0,{[Q]:v9}],[0,{[Q]:b9}],[()=>k9,{[Q]:h9}],[()=>O9,{[Q]:_9}],[2,{[Q]:g9}],[0,{[Q]:u9}],[0,{[Q]:K7}],[0,{[Q]:Q7}]]],ire=[3,$,V6,0,[i6,Q8,J3,b6,D6,k6,A6,o8,C8,T8,k8,A8,M8,p5,m7,u7,O7,h7,g7,_7,y7,v7,u6,n7,w7,A5,j5,k5,v8,h6,i8],[[0,1],[0,1],[0,{[Q]:G7}],[0,{[Q]:w6}],[0,{[Q]:E6}],[0,{[Q]:O6}],[0,{[Q]:j6}],[0,{[Q]:a8}],[4,{[Q]:C8}],[0,{[Q]:n9}],[0,{[Q]:r9}],[0,{[Q]:i9}],[0,{[Q]:a9}],[128,{[I7]:o9}],[0,{[Q]:m9}],[0,{[Q]:f9}],[0,{[Q]:C9}],[0,{[Q]:v9}],[()=>D9,{[Q]:y9}],[0,{[Q]:b9}],[()=>k9,{[Q]:h9}],[()=>O9,{[Q]:_9}],[2,{[Q]:g9}],[0,{[Q]:d9}],[0,{[Q]:x9}],[0,{[Q]:c9}],[5,{[Q]:l9}],[0,{[Q]:s9}],[0,{[Q]:t9}],[0,{[Q]:K7}],[0,{[Q]:Q7}]],2],are=[3,$,e8,{[W7]:t8},[l8,m7,y7,v7,u6],[[()=>Sre,{[W7]:l8}],[0,{[Q]:m9}],[()=>k9,{[Q]:h9}],[()=>O9,{[Q]:_9}],[2,{[Q]:g9}]],1],ore=[3,$,n8,0,[i6,p7,m7,y7,v7,u6],[[0,1],[0,{[Q]:fne}],[0,{[Q]:m9}],[()=>k9,{[Q]:h9}],[()=>O9,{[Q]:_9}],[2,{[Q]:g9}]],1],sre=[3,$,f8,0,[u8,D7,J5],[[2,{[Q]:$7}],[0,{[Q]:S9}],[0,{[Q]:u9}]]],cre=[3,$,p8,0,[i6,Q8,h5,D7,n7,c6,v8,P8,I8,L8],[[0,1],[0,1],[0,{[Q]:_ne}],[0,{[L7]:H7}],[0,{[Q]:d9}],[2,{[Q]:cne}],[0,{[Q]:t9}],[0,{[Q]:V8}],[6,{[Q]:hne}],[1,{[Q]:gne}]],2],lre=[3,$,D8,0,[p6,u8,t6,_8,o7,c5,N6,x8,x6,S6,C6,Q6,$6,i8,_5,D7,b6,D6,k6,A6,X6,o8,C8,y8,O7,m7,p5,h7,_7,y7,u6,u7,J5,r7,R5,Lte,A5,j5,k5],[[()=>A9,16],[2,{[Q]:$7}],[0,{[Q]:Wte}],[0,{[Q]:e9}],[0,{[Q]:wne}],[4,{[Q]:l5}],[1,{[Q]:M6}],[0,{[Q]:x8}],[0,{[Q]:q7}],[0,{[Q]:J7}],[0,{[Q]:Y7}],[0,{[Q]:X7}],[0,{[Q]:Z7}],[0,{[Q]:Q7}],[1,{[Q]:vne}],[0,{[Q]:S9}],[0,{[Q]:w6}],[0,{[Q]:E6}],[0,{[Q]:O6}],[0,{[Q]:j6}],[0,{[Q]:Z6}],[0,{[Q]:a8}],[4,{[Q]:C8}],[0,{[Q]:y8}],[0,{[Q]:C9}],[0,{[Q]:m9}],[128,{[I7]:o9}],[0,{[Q]:v9}],[0,{[Q]:b9}],[()=>k9,{[Q]:h9}],[2,{[Q]:g9}],[0,{[Q]:f9}],[0,{[Q]:u9}],[0,{[Q]:Tne}],[1,{[Q]:bne}],[1,{[Q]:Ene}],[0,{[Q]:c9}],[5,{[Q]:l9}],[0,{[Q]:s9}]]],ure=[3,$,O8,0,[i6,Q8,P8,z8,H8,Y8,a7,Y5,X5,Z5,Q5,$5,e7,D7,h7,g7,_7,n7,z5,v8,W6],[[0,1],[0,1],[0,{[Q]:V8}],[4,{[Q]:R8}],[0,{[Q]:U8}],[4,{[Q]:X8}],[0,{[Q]:a7}],[0,{[L7]:Zte}],[0,{[L7]:Qte}],[0,{[L7]:$te}],[0,{[L7]:ene}],[0,{[L7]:tne}],[6,{[L7]:nne}],[0,{[L7]:H7}],[0,{[Q]:v9}],[()=>D9,{[Q]:y9}],[0,{[Q]:b9}],[0,{[Q]:d9}],[1,{[L7]:z7}],[0,{[Q]:t9}],[0,{[Q]:dne}]],2],dre=[3,$,r5,{[W7]:t5},[m6,E5,s8,L5],[[()=>Dre,0],()=>j9,0,0]],fre=[3,$,i5,0,[m5,s8,L5,f6],[[1,{[L7]:Yte}],[0,{[L7]:A7}],[0,{[L7]:R7}],[0,{[L7]:Gte}]]],pre=[3,$,d5,{[W7]:a5},[J8,c8,b5,L5,g8,g5,Y6,S8,$8,s8,x5,s7,J5],[2,[()=>Are,{[U7]:1}],0,0,0,1,[()=>Ore,{[U7]:1}],0,1,0,0,0,[0,{[Q]:u9}]]],mre=[3,$,f5,0,[i6,g8,S8,g5,L5,s8,w8,s7,n7,v8,F5],[[0,1],[0,{[L7]:Kte}],[0,{[L7]:qte}],[1,{[L7]:Xte}],[0,{[L7]:R7}],[0,{[L7]:A7}],[2,{[L7]:Jte}],[0,{[L7]:rne}],[0,{[Q]:d9}],[0,{[Q]:t9}],[64,{[Q]:Sne}]],1],hre=[3,$,s5,0,[T7,b5],[0,0]],gre=[3,$,I5,0,[Q8,c5,x8,h6,i8,x7,u7,E5,i7],[0,4,0,[64,{[U7]:1}],0,1,0,()=>j9,()=>xre]],j9=[3,$,E5,0,[d8,N8],[0,0]],_re=[3,$,V5,0,[_8,x8,x6,S6,C6,Q6,$6,i8,m7,D7,h7,_7,y7,v7,u6,x7,J5],[[0,{[Q]:e9}],[0,{[Q]:x8}],[0,{[Q]:q7}],[0,{[Q]:J7}],[0,{[Q]:Y7}],[0,{[Q]:X7}],[0,{[Q]:Z7}],[0,{[Q]:Q7}],[0,{[Q]:m9}],[0,{[Q]:S9}],[0,{[Q]:v9}],[0,{[Q]:b9}],[()=>k9,{[Q]:h9}],[()=>O9,{[Q]:_9}],[2,{[Q]:g9}],[1,{[Q]:Cne}],[0,{[Q]:u9}]]],vre=[3,$,H5,0,[i6,Q8,J3,p6,b6,D6,k6,A6,N6,F6,o8,h6,x6,S6,C6,Q6,$6,C8,P8,H8,T8,k8,A8,M8,Ute,p5,m7,u7,O7,h7,g7,_7,y7,v7,u6,n7,w7,A5,j5,k5,v8],[[0,1],[0,1],[0,{[Q]:G7}],[()=>A9,16],[0,{[Q]:w6}],[0,{[Q]:E6}],[0,{[Q]:O6}],[0,{[Q]:j6}],[1,{[Q]:M6}],[0,{[Q]:P6}],[0,{[Q]:a8}],[0,{[Q]:p9}],[0,{[Q]:q7}],[0,{[Q]:J7}],[0,{[Q]:Y7}],[0,{[Q]:X7}],[0,{[Q]:Z7}],[4,{[Q]:C8}],[0,{[Q]:V8}],[0,{[Q]:U8}],[0,{[Q]:n9}],[0,{[Q]:r9}],[0,{[Q]:i9}],[0,{[Q]:a9}],[1,{[Q]:Dne}],[128,{[I7]:o9}],[0,{[Q]:m9}],[0,{[Q]:f9}],[0,{[Q]:C9}],[0,{[Q]:v9}],[()=>D9,{[Q]:y9}],[0,{[Q]:b9}],[()=>k9,{[Q]:h9}],[()=>O9,{[Q]:_9}],[2,{[Q]:g9}],[0,{[Q]:d9}],[0,{[Q]:x9}],[0,{[Q]:c9}],[5,{[Q]:l9}],[0,{[Q]:s9}],[0,{[Q]:t9}]],2],yre=[3,$,W5,0,[D7],[[0,{[Q]:S9}]]],bre=[3,$,G5,0,[i6,Q8,w7,D7,F6,h6,v8,n7],[[0,1],[0,1],[()=>wre,{[F7]:1,[W7]:w7}],[0,{[L7]:H7}],[0,{[Q]:P6}],[0,{[Q]:p9}],[0,{[Q]:t9}],[0,{[Q]:d9}]],3],xre=[3,$,i7,0,[q8,t7],[2,4]],Sre=[3,$,f7,0,[Z3,c7,b7,_8],[[0,{[W7]:Z3}],[()=>E9,{[W7]:c7}],[()=>E9,{[W7]:b7}],[4,{[W7]:_8}]],4],Cre=[3,$,C7,0,[Q8,Hte],[0,0],2],wre=[3,$,w7,0,[S7],[[()=>M9,0]],1],Tre=[3,$,Bte,0,[m7,x8,x6,S6,C6,Q6,$6,h7,_7,y7,u6,J5],[[0,{[Q]:m9}],[0,{[Q]:x8}],[0,{[Q]:q7}],[0,{[Q]:J7}],[0,{[Q]:Y7}],[0,{[Q]:X7}],[0,{[Q]:Z7}],[0,{[Q]:v9}],[0,{[Q]:b9}],[()=>k9,{[Q]:h9}],[2,{[Q]:g9}],[0,{[Q]:u9}]]],Ere=[3,$,Vte,0,[i6,Q8,z5,E7,p6,N6,F6,h6,x6,S6,C6,Q6,$6,h7,g7,_7,n7,v8],[[0,1],[0,1],[1,{[L7]:z7}],[0,{[L7]:V7}],[()=>A9,16],[1,{[Q]:M6}],[0,{[Q]:P6}],[0,{[Q]:p9}],[0,{[Q]:q7}],[0,{[Q]:J7}],[0,{[Q]:Y7}],[0,{[Q]:X7}],[0,{[Q]:Z7}],[0,{[Q]:v9}],[()=>D9,{[Q]:y9}],[0,{[Q]:b9}],[0,{[Q]:d9}],[0,{[Q]:t9}]],4],Dre=[1,$,m6,0,[()=>qne,{[W7]:i6}]],Ore=[1,$,K6,0,()=>Yne],kre=[1,$,q6,0,()=>Zne],Are=[1,$,M5,0,[()=>gre,0]],M9=[1,$,S7,0,[()=>Cre,{[W7]:C7}]],jre=[9,$,Q3,{[M7]:[`DELETE`,`/{Key+}?x-id=AbortMultipartUpload`,204]},()=>Kne,()=>Gne],Mre=[9,$,H6,{[M7]:[`POST`,`/{Key+}`,200]},()=>$ne,()=>Qne],Nre=[9,$,g6,{[M7]:[`PUT`,`/`,200]},()=>nre,()=>tre],Pre=[9,$,U6,{[M7]:[`POST`,`/{Key+}?uploads`,200]},()=>ire,()=>rre],Fre=[9,$,r8,{[M7]:[`GET`,`/?session`,200]},()=>ore,()=>are],Ire=[9,$,m8,{[M7]:[`DELETE`,`/{Key+}?x-id=DeleteObject`,204]},()=>cre,()=>sre],Lre=[9,$,E8,{[N7]:`-`,[M7]:[`GET`,`/{Key+}?x-id=GetObject`,200]},()=>ure,()=>lre],Rre=[9,$,n5,{[M7]:[`GET`,`/?x-id=ListBuckets`,200]},()=>fre,()=>dre],zre=[9,$,u5,{[M7]:[`GET`,`/?list-type=2`,200]},()=>mre,()=>pre],Bre=[9,$,B5,{[N7]:`-`,[M7]:[`PUT`,`/{Key+}?x-id=PutObject`,200]},()=>vre,()=>_re],Vre=[9,$,U5,{[N7]:`-`,[M7]:[`PUT`,`/{Key+}?tagging`,200]},()=>bre,()=>yre],Hre=[9,$,zte,{[N7]:`-`,[M7]:[`PUT`,`/{Key+}?x-id=UploadPart`,200]},()=>Ere,()=>Tre],Ure=class extends Gi.classBuilder().ep({...j3,DisableS3ExpressSessionAuth:{type:`staticContextParams`,value:!0},Bucket:{type:`contextParams`,name:`Bucket`}}).m(function(e,t,n,r){return[Ni(n,e.getEndpointParameterInstructions()),n0(n)]}).s(`AmazonS3`,`CreateSession`,{}).n(`S3Client`,`CreateSessionCommand`).sc(Fre).build(){},Wre={name:`@aws-sdk/client-s3`,description:`AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native`,version:`3.1029.0`,scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline client-s3`,"build:es":`tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`tsc -p tsconfig.types.json`,"build:types:downlevel":`downlevel-dts dist-types dist-types/ts3.4`,clean:`premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service --solo s3`,test:`yarn g:vitest run`,"test:browser":`node ./test/browser-build/esbuild && yarn g:vitest run -c vitest.config.browser.mts`,"test:browser:watch":`node ./test/browser-build/esbuild && yarn g:vitest watch -c vitest.config.browser.mts`,"test:e2e":`yarn g:vitest run -c vitest.config.e2e.mts && yarn test:browser`,"test:e2e:watch":`yarn g:vitest watch -c vitest.config.e2e.mts`,"test:index":`tsc --noEmit ./test/index-types.ts && node ./test/index-objects.spec.mjs`,"test:integration":`yarn g:vitest run -c vitest.config.integ.mts`,"test:integration:watch":`yarn g:vitest watch -c vitest.config.integ.mts`,"test:watch":`yarn g:vitest watch`},main:`./dist-cjs/index.js`,types:`./dist-types/index.d.ts`,module:`./dist-es/index.js`,sideEffects:!1,dependencies:{"@aws-crypto/sha1-browser":`5.2.0`,"@aws-crypto/sha256-browser":`5.2.0`,"@aws-crypto/sha256-js":`5.2.0`,"@aws-sdk/core":`^3.973.27`,"@aws-sdk/credential-provider-node":`^3.972.30`,"@aws-sdk/middleware-bucket-endpoint":`^3.972.9`,"@aws-sdk/middleware-expect-continue":`^3.972.9`,"@aws-sdk/middleware-flexible-checksums":`^3.974.7`,"@aws-sdk/middleware-host-header":`^3.972.9`,"@aws-sdk/middleware-location-constraint":`^3.972.9`,"@aws-sdk/middleware-logger":`^3.972.9`,"@aws-sdk/middleware-recursion-detection":`^3.972.10`,"@aws-sdk/middleware-sdk-s3":`^3.972.28`,"@aws-sdk/middleware-ssec":`^3.972.9`,"@aws-sdk/middleware-user-agent":`^3.972.29`,"@aws-sdk/region-config-resolver":`^3.972.11`,"@aws-sdk/signature-v4-multi-region":`^3.996.16`,"@aws-sdk/types":`^3.973.7`,"@aws-sdk/util-endpoints":`^3.996.6`,"@aws-sdk/util-user-agent-browser":`^3.972.9`,"@aws-sdk/util-user-agent-node":`^3.973.15`,"@smithy/config-resolver":`^4.4.14`,"@smithy/core":`^3.23.14`,"@smithy/eventstream-serde-browser":`^4.2.13`,"@smithy/eventstream-serde-config-resolver":`^4.3.13`,"@smithy/eventstream-serde-node":`^4.2.13`,"@smithy/fetch-http-handler":`^5.3.16`,"@smithy/hash-blob-browser":`^4.2.14`,"@smithy/hash-node":`^4.2.13`,"@smithy/hash-stream-node":`^4.2.13`,"@smithy/invalid-dependency":`^4.2.13`,"@smithy/md5-js":`^4.2.13`,"@smithy/middleware-content-length":`^4.2.13`,"@smithy/middleware-endpoint":`^4.4.29`,"@smithy/middleware-retry":`^4.5.0`,"@smithy/middleware-serde":`^4.2.17`,"@smithy/middleware-stack":`^4.2.13`,"@smithy/node-config-provider":`^4.3.13`,"@smithy/node-http-handler":`^4.5.2`,"@smithy/protocol-http":`^5.3.13`,"@smithy/smithy-client":`^4.12.9`,"@smithy/types":`^4.14.0`,"@smithy/url-parser":`^4.2.13`,"@smithy/util-base64":`^4.3.2`,"@smithy/util-body-length-browser":`^4.2.2`,"@smithy/util-body-length-node":`^4.2.3`,"@smithy/util-defaults-mode-browser":`^4.3.45`,"@smithy/util-defaults-mode-node":`^4.2.49`,"@smithy/util-endpoints":`^3.3.4`,"@smithy/util-middleware":`^4.2.13`,"@smithy/util-retry":`^4.3.0`,"@smithy/util-stream":`^4.5.22`,"@smithy/util-utf8":`^4.2.2`,"@smithy/util-waiter":`^4.2.15`,tslib:`^2.6.2`},devDependencies:{"@aws-sdk/signature-v4-crt":`3.1029.0`,"@smithy/snapshot-testing":`^2.0.5`,"@tsconfig/node20":`20.1.8`,"@types/node":`^20.14.8`,concurrently:`7.0.0`,"downlevel-dts":`0.10.1`,premove:`4.0.0`,typescript:`~5.8.3`,vitest:`^4.0.17`},engines:{node:`>=20.0.0`},typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},files:[`dist-*/**`],author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/javascript/`},license:`Apache-2.0`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3`,repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-s3`}};function N9(e){return typeof e==`string`?e.length===0:e.byteLength===0}var P9={name:`SHA-1`},F9={name:`HMAC`,hash:P9},Gre=new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]),Kre=function(){function e(e){this.toHash=new Uint8Array,e!==void 0&&(this.key=new Promise(function(t,n){u().crypto.subtle.importKey(`raw`,I9(e),F9,!1,[`sign`]).then(t,n)}),this.key.catch(function(){}))}return e.prototype.update=function(e){if(!N9(e)){var t=I9(e),n=new Uint8Array(this.toHash.byteLength+t.byteLength);n.set(this.toHash,0),n.set(t,this.toHash.byteLength),this.toHash=n}},e.prototype.digest=function(){var e=this;return this.key?this.key.then(function(t){return u().crypto.subtle.sign(F9,t,e.toHash).then(function(e){return new Uint8Array(e)})}):N9(this.toHash)?Promise.resolve(Gre):Promise.resolve().then(function(){return u().crypto.subtle.digest(P9,e.toHash)}).then(function(e){return Promise.resolve(new Uint8Array(e))})},e.prototype.reset=function(){this.toHash=new Uint8Array},e}();function I9(e){return typeof e==`string`?oe(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}var qre=function(){function e(e){if(ie(u()))this.hash=new Kre(e);else throw Error(`SHA1 not supported`)}return e.prototype.update=function(e,t){this.hash.update(ae(e))},e.prototype.digest=function(){return this.hash.digest()},e.prototype.reset=function(){this.hash.reset()},e}(),L9=class e{bytes;constructor(e){if(this.bytes=e,e.byteLength!==8)throw Error(`Int64 buffers must be exactly 8 bytes`)}static fromNumber(t){if(t>0x8000000000000000||t<-0x8000000000000000)throw Error(`${t} is too large (or, if negative, too small) to represent as an Int64`);let n=new Uint8Array(8);for(let e=7,r=Math.abs(Math.round(t));e>-1&&r>0;e--,r/=256)n[e]=r;return t<0&&R9(n),new e(n)}valueOf(){let e=this.bytes.slice(0),t=e[0]&128;return t&&R9(e),parseInt(ne(e),16)*(t?-1:1)}toString(){return String(this.valueOf())}};function R9(e){for(let t=0;t<8;t++)e[t]^=255;for(let t=7;t>-1&&(e[t]++,e[t]===0);t--);}var Jre=class{toUtf8;fromUtf8;constructor(e,t){this.toUtf8=e,this.fromUtf8=t}format(e){let t=[];for(let n of Object.keys(e)){let r=this.fromUtf8(n);t.push(Uint8Array.from([r.byteLength]),r,this.formatHeaderValue(e[n]))}let n=new Uint8Array(t.reduce((e,t)=>e+t.byteLength,0)),r=0;for(let e of t)n.set(e,r),r+=e.byteLength;return n}formatHeaderValue(e){switch(e.type){case`boolean`:return Uint8Array.from([+!e.value]);case`byte`:return Uint8Array.from([2,e.value]);case`short`:let t=new DataView(new ArrayBuffer(3));return t.setUint8(0,3),t.setInt16(1,e.value,!1),new Uint8Array(t.buffer);case`integer`:let n=new DataView(new ArrayBuffer(5));return n.setUint8(0,4),n.setInt32(1,e.value,!1),new Uint8Array(n.buffer);case`long`:let r=new Uint8Array(9);return r[0]=5,r.set(e.value.bytes,1),r;case`binary`:let i=new DataView(new ArrayBuffer(3+e.value.byteLength));i.setUint8(0,6),i.setUint16(1,e.value.byteLength,!1);let a=new Uint8Array(i.buffer);return a.set(e.value,3),a;case`string`:let o=this.fromUtf8(e.value),s=new DataView(new ArrayBuffer(3+o.byteLength));s.setUint8(0,7),s.setUint16(1,o.byteLength,!1);let c=new Uint8Array(s.buffer);return c.set(o,3),c;case`timestamp`:let l=new Uint8Array(9);return l[0]=8,l.set(L9.fromNumber(e.value.valueOf()).bytes,1),l;case`uuid`:if(!iie.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let u=new Uint8Array(17);return u[0]=9,u.set(ee(e.value.replace(/\-/g,``)),1),u}}parse(e){let t={},n=0;for(;n{if(typeof e!=`number`)throw Error(`Attempted to allocate an event message where size was not a number: `+e);t=e,n=4,r=new Uint8Array(e),new DataView(r.buffer).setUint32(0,e,!1)},o=async function*(){let o=e[Symbol.asyncIterator]();for(;;){let{value:e,done:s}=await o.next();if(s){if(!t)return;if(t===n)yield r;else throw Error(`Truncated event message received.`);return}let c=e.length,l=0;for(;l({[Symbol.asyncIterator]:async function*(){let t=e.getReader();try{for(;;){let{done:e,value:n}=await t.read();if(e)return;yield n}}finally{t.releaseLock()}}}),gie=e=>{let t=e[Symbol.asyncIterator]();return new ReadableStream({async pull(e){let{done:n,value:r}=await t.next();if(n)return e.close();e.enqueue(r)}})},_ie=class{universalMarshaller;constructor({utf8Encoder:e,utf8Decoder:t}){this.universalMarshaller=new mie({utf8Decoder:t,utf8Encoder:e})}deserialize(e,t){let n=vie(e)?hie(e):e;return this.universalMarshaller.deserialize(n,t)}serialize(e,t){let n=this.universalMarshaller.serialize(e,t);return typeof ReadableStream==`function`?gie(n):n}},vie=e=>typeof ReadableStream==`function`&&e instanceof ReadableStream,yie=e=>new _ie(e);async function bie(e,t,n=1024*1024){let r=e.size,i=0;for(;i{n.update(e)}),n.digest()},Sie=[1732584193,4023233417,2562383102,271733878],Cie=class{state;buffer;bufferLength;bytesHashed;finished;constructor(){this.reset()}update(e){if(wie(e))return;if(this.finished)throw Error(`Attempted to update an already finished hash.`);let t=Tie(e),n=0,{byteLength:r}=t;for(this.bytesHashed+=r;r>0;)this.buffer.setUint8(this.bufferLength++,t[n++]),r--,this.bufferLength===64&&(this.hashBuffer(),this.bufferLength=0)}async digest(){if(!this.finished){let{buffer:e,bufferLength:t,bytesHashed:n}=this,r=n*8;if(e.setUint8(this.bufferLength++,128),t%64>=56){for(let t=this.bufferLength;t<64;t++)e.setUint8(t,0);this.hashBuffer(),this.bufferLength=0}for(let t=this.bufferLength;t<56;t++)e.setUint8(t,0);e.setUint32(56,r>>>0,!0),e.setUint32(60,Math.floor(r/4294967296),!0),this.hashBuffer(),this.finished=!0}let e=new DataView(new ArrayBuffer(16));for(let t=0;t<4;t++)e.setUint32(t*4,this.state[t],!0);return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}hashBuffer(){let{buffer:e,state:t}=this,n=t[0],r=t[1],i=t[2],a=t[3];n=W9(n,r,i,a,e.getUint32(0,!0),7,3614090360),a=W9(a,n,r,i,e.getUint32(4,!0),12,3905402710),i=W9(i,a,n,r,e.getUint32(8,!0),17,606105819),r=W9(r,i,a,n,e.getUint32(12,!0),22,3250441966),n=W9(n,r,i,a,e.getUint32(16,!0),7,4118548399),a=W9(a,n,r,i,e.getUint32(20,!0),12,1200080426),i=W9(i,a,n,r,e.getUint32(24,!0),17,2821735955),r=W9(r,i,a,n,e.getUint32(28,!0),22,4249261313),n=W9(n,r,i,a,e.getUint32(32,!0),7,1770035416),a=W9(a,n,r,i,e.getUint32(36,!0),12,2336552879),i=W9(i,a,n,r,e.getUint32(40,!0),17,4294925233),r=W9(r,i,a,n,e.getUint32(44,!0),22,2304563134),n=W9(n,r,i,a,e.getUint32(48,!0),7,1804603682),a=W9(a,n,r,i,e.getUint32(52,!0),12,4254626195),i=W9(i,a,n,r,e.getUint32(56,!0),17,2792965006),r=W9(r,i,a,n,e.getUint32(60,!0),22,1236535329),n=G9(n,r,i,a,e.getUint32(4,!0),5,4129170786),a=G9(a,n,r,i,e.getUint32(24,!0),9,3225465664),i=G9(i,a,n,r,e.getUint32(44,!0),14,643717713),r=G9(r,i,a,n,e.getUint32(0,!0),20,3921069994),n=G9(n,r,i,a,e.getUint32(20,!0),5,3593408605),a=G9(a,n,r,i,e.getUint32(40,!0),9,38016083),i=G9(i,a,n,r,e.getUint32(60,!0),14,3634488961),r=G9(r,i,a,n,e.getUint32(16,!0),20,3889429448),n=G9(n,r,i,a,e.getUint32(36,!0),5,568446438),a=G9(a,n,r,i,e.getUint32(56,!0),9,3275163606),i=G9(i,a,n,r,e.getUint32(12,!0),14,4107603335),r=G9(r,i,a,n,e.getUint32(32,!0),20,1163531501),n=G9(n,r,i,a,e.getUint32(52,!0),5,2850285829),a=G9(a,n,r,i,e.getUint32(8,!0),9,4243563512),i=G9(i,a,n,r,e.getUint32(28,!0),14,1735328473),r=G9(r,i,a,n,e.getUint32(48,!0),20,2368359562),n=K9(n,r,i,a,e.getUint32(20,!0),4,4294588738),a=K9(a,n,r,i,e.getUint32(32,!0),11,2272392833),i=K9(i,a,n,r,e.getUint32(44,!0),16,1839030562),r=K9(r,i,a,n,e.getUint32(56,!0),23,4259657740),n=K9(n,r,i,a,e.getUint32(4,!0),4,2763975236),a=K9(a,n,r,i,e.getUint32(16,!0),11,1272893353),i=K9(i,a,n,r,e.getUint32(28,!0),16,4139469664),r=K9(r,i,a,n,e.getUint32(40,!0),23,3200236656),n=K9(n,r,i,a,e.getUint32(52,!0),4,681279174),a=K9(a,n,r,i,e.getUint32(0,!0),11,3936430074),i=K9(i,a,n,r,e.getUint32(12,!0),16,3572445317),r=K9(r,i,a,n,e.getUint32(24,!0),23,76029189),n=K9(n,r,i,a,e.getUint32(36,!0),4,3654602809),a=K9(a,n,r,i,e.getUint32(48,!0),11,3873151461),i=K9(i,a,n,r,e.getUint32(60,!0),16,530742520),r=K9(r,i,a,n,e.getUint32(8,!0),23,3299628645),n=q9(n,r,i,a,e.getUint32(0,!0),6,4096336452),a=q9(a,n,r,i,e.getUint32(28,!0),10,1126891415),i=q9(i,a,n,r,e.getUint32(56,!0),15,2878612391),r=q9(r,i,a,n,e.getUint32(20,!0),21,4237533241),n=q9(n,r,i,a,e.getUint32(48,!0),6,1700485571),a=q9(a,n,r,i,e.getUint32(12,!0),10,2399980690),i=q9(i,a,n,r,e.getUint32(40,!0),15,4293915773),r=q9(r,i,a,n,e.getUint32(4,!0),21,2240044497),n=q9(n,r,i,a,e.getUint32(32,!0),6,1873313359),a=q9(a,n,r,i,e.getUint32(60,!0),10,4264355552),i=q9(i,a,n,r,e.getUint32(24,!0),15,2734768916),r=q9(r,i,a,n,e.getUint32(52,!0),21,1309151649),n=q9(n,r,i,a,e.getUint32(16,!0),6,4149444226),a=q9(a,n,r,i,e.getUint32(44,!0),10,3174756917),i=q9(i,a,n,r,e.getUint32(8,!0),15,718787259),r=q9(r,i,a,n,e.getUint32(36,!0),21,3951481745),t[0]=n+t[0]&4294967295,t[1]=r+t[1]&4294967295,t[2]=i+t[2]&4294967295,t[3]=a+t[3]&4294967295}reset(){this.state=Uint32Array.from(Sie),this.buffer=new DataView(new ArrayBuffer(64)),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}};function U9(e,t,n,r,i,a){return t=(t+e&4294967295)+(r+a&4294967295)&4294967295,(t<>>32-i)+n&4294967295}function W9(e,t,n,r,i,a,o){return U9(t&n|~t&r,e,t,i,a,o)}function G9(e,t,n,r,i,a,o){return U9(t&r|n&~r,e,t,i,a,o)}function K9(e,t,n,r,i,a,o){return U9(t^n^r,e,t,i,a,o)}function q9(e,t,n,r,i,a,o){return U9(n^(t|~r),e,t,i,a,o)}function wie(e){return typeof e==`string`?e.length===0:e.byteLength===0}function Tie(e){return typeof e==`string`?se(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}var Eie=e=>({apiVersion:`2006-03-01`,base64Decoder:e?.base64Decoder??He,base64Encoder:e?.base64Encoder??Ue,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??w3,extensions:e?.extensions??[],getAwsChunkedEncodingStream:e?.getAwsChunkedEncodingStream??Ke,httpAuthSchemeProvider:e?.httpAuthSchemeProvider??O3,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new ba},{schemeId:`aws.auth#sigv4a`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4a`),signer:new xa}],logger:e?.logger??new ia,protocol:e?.protocol??l0,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.s3`,errorTypeRegistries:Wne,xmlNamespace:`http://s3.amazonaws.com/doc/2006-03-01/`,version:`2006-03-01`,serviceTarget:`AmazonS3`},sdkStreamMixin:e?.sdkStreamMixin??at,serviceId:e?.serviceId??`S3`,signerConstructor:e?.signerConstructor??f0,signingEscapePath:e?.signingEscapePath??!1,urlParser:e?.urlParser??ht,useArnRegion:e?.useArnRegion??void 0,utf8Decoder:e?.utf8Decoder??se,utf8Encoder:e?.utf8Encoder??ce}),Die=e=>{let t=Ba(e),n=()=>t().then(Yi),r=Eie(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Ra,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??Pa({serviceId:r.serviceId,clientVersion:Wre.version}),eventStreamSerdeProvider:e?.eventStreamSerdeProvider??yie,maxAttempts:e?.maxAttempts??3,md5:e?.md5??Cie,region:e?.region??Ia(`Region is missing`),requestHandler:Qe.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||Hr),sha1:e?.sha1??qre,sha256:e?.sha256??l,streamCollector:e?.streamCollector??et,streamHasher:e?.streamHasher??xie,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},Oie=e=>{let t=e.httpAuthSchemes,n=e.httpAuthSchemeProvider,r=e.credentials;return{setHttpAuthScheme(e){let n=t.findIndex(t=>t.schemeId===e.schemeId);n===-1?t.push(e):t.splice(n,1,e)},httpAuthSchemes(){return t},setHttpAuthSchemeProvider(e){n=e},httpAuthSchemeProvider(){return n},setCredentials(e){r=e},credentials(){return r}}},kie=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),Aie=(e,t)=>{let n=Object.assign(kR(e),ta(e),de(e),Oie(e));return t.forEach(e=>e.configure(n)),Object.assign(e,AR(n),na(n),fe(n),kie(n))},jie=class extends Hi{config;constructor(...[e]){let t=Die(e||{});super(t),this.initConfig=t,this.config=Aie(X1(k3(u0(Pi(ye(hi(Ii(D1(Xn(A3(t))))))))),{session:[()=>this,Ure]}),e?.extensions||[]),this.middlewareStack.use(bt(this.config)),this.middlewareStack.use(ui(this.config)),this.middlewareStack.use(pa(this.config)),this.middlewareStack.use(yi(this.config)),this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(Te(this.config)),this.middlewareStack.use(Oe(this.config)),this.middlewareStack.use(Ne(this.config,{httpAuthSchemeParametersProvider:T3,identityProviderConfigProvider:async e=>new Gn({"aws.auth#sigv4":e.credentials,"aws.auth#sigv4a":e.credentials})})),this.middlewareStack.use(Le(this.config)),this.middlewareStack.use(c0(this.config)),this.middlewareStack.use(g1(this.config)),this.middlewareStack.use(M1(this.config)),this.middlewareStack.use(W1(this.config)),this.middlewareStack.use(Y1(this.config))}destroy(){super.destroy()}},J9=`ap-southeast-2`,Y9=`${window.location.protocol}//localhost:9999`,Mie=`${window.location.protocol}//localhost:8443`,X9=null,Z9=null,Q9=null,$9=null;function Nie(){if(!X9){let e=n();if(!e)throw Error(`AWS credentials not configured`);X9=new PR({endpoint:Y9,region:J9,credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey}}),X9.middlewareStack.add(e=>t=>(i.isInstance(t.request)&&(t.request.hostname=window.location.hostname,t.request.port=Number(window.location.port)||443,t.request.path=`/proxy/awsgw${t.request.path}`),e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return X9}function Pie(){if(!Z9){let e=n();if(!e)throw Error(`AWS credentials not configured`);Z9=new mJ({endpoint:Y9,region:J9,credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey}}),Z9.middlewareStack.add(e=>t=>(i.isInstance(t.request)&&(t.request.hostname=window.location.hostname,t.request.port=Number(window.location.port)||443,t.request.path=`/proxy/awsgw${t.request.path}`),e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return Z9}function Fie(){if(!Q9){let e=n();if(!e)throw Error(`AWS credentials not configured`);Q9=new p1({endpoint:Y9,region:J9,credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey}}),Q9.middlewareStack.add(e=>t=>(i.isInstance(t.request)&&(t.request.hostname=window.location.hostname,t.request.port=Number(window.location.port)||443,t.request.path=`/proxy/awsgw${t.request.path}`),e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return Q9}function Iie(){if(!$9){let e=n();if(!e)throw Error(`AWS credentials not configured`);$9=new jie({endpoint:Mie,region:J9,credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey},forcePathStyle:!0}),$9.middlewareStack.add(e=>t=>(i.isInstance(t.request)&&t.request.path.endsWith(`/`)&&t.request.path!==`/`&&(t.request.path=t.request.path.slice(0,-1)),e(t)),{step:`build`,name:`removeTrailingSlash`}),$9.middlewareStack.add(e=>t=>(i.isInstance(t.request)&&(t.request.hostname=window.location.hostname,t.request.port=Number(window.location.port)||443,t.request.path=`/proxy/s3${t.request.path}`),e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return $9}function Lie(){X9=null,Z9=null,Q9=null,$9=null}export{iJ as $,TR as $t,Q$ as A,nR as At,bJ as B,fR as Bt,y1 as C,YL as Ct,Y$ as D,$L as Dt,J$ as E,QL as Et,r1 as F,sR as Ft,Xq as G,_R as Gt,qq as H,mR as Ht,i1 as I,cR as It,$q as J,bR as Jt,Zq as K,vR as Kt,a1 as L,lR as Lt,e1 as M,rR as Mt,t1 as N,aR as Nt,X$ as O,eR as Ot,n1 as P,oR as Pt,rJ as Q,wR as Qt,o1 as R,uR as Rt,_1 as S,JL as St,q$ as T,ZL as Tt,Jq as U,hR as Ut,Kq as V,pR as Vt,Yq as W,gR as Wt,tJ as X,SR as Xt,eJ as Y,xR as Yt,nJ as Z,CR as Zt,j3 as _,UL as _t,Iie as a,ki as an,jL as at,x1 as b,KL as bt,Nre as c,Fn as cn,PL as ct,Lre as d,Je as dn,LL as dt,ER as en,aJ as et,Rre as f,Ge as fn,RL as ft,Hre as g,HL as gt,Vre as h,ue as hn,VL as ht,Fie as i,Ni as in,BR as it,$$ as j,iR as jt,Z$ as k,tR as kt,Pre as l,Qt as ln,FL as lt,Bre as m,ge as mn,BL as mt,Nie as n,ia as nn,sJ as nt,jre as o,Oi as on,ML as ot,zre as p,Ue as pn,zL as pt,Qq as q,yR as qt,Pie as r,Gi as rn,cJ as rt,Mre as s,Br as sn,NL as st,Lie as t,Ma as tn,oJ as tt,Ire as u,lt as un,IL as ut,n0 as v,WL as vt,K$ as w,XL as wt,C1 as x,qL as xt,w1 as y,GL as yt,s1 as z,dR as zt}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/button.js b/spinifex/services/spinifexui/frontend/dist/assets/button.js index 53bbf7ece..8778adc1d 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/button.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/button.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{g as i,h as a,m as o,n as s,p as c,t as l}from"./dist.js";import{F as u}from"./SignatureV4.js";var d=e(n());function f(){return typeof window<`u`}function p(e){return g(e)?(e.nodeName||``).toLowerCase():`#document`}function m(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function h(e){return((g(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function g(e){return f()?e instanceof Node||e instanceof m(e).Node:!1}function _(e){return f()?e instanceof Element||e instanceof m(e).Element:!1}function v(e){return f()?e instanceof HTMLElement||e instanceof m(e).HTMLElement:!1}function y(e){return!f()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof m(e).ShadowRoot}function b(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=j(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function x(e){return/^(table|td|th)$/.test(p(e))}function S(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var C=/transform|translate|scale|rotate|perspective|filter/,w=/paint|layout|strict|content/,T=e=>!!e&&e!==`none`,E;function D(e){let t=_(e)?j(e):e;return T(t.transform)||T(t.translate)||T(t.scale)||T(t.rotate)||T(t.perspective)||!k()&&(T(t.backdropFilter)||T(t.filter))||C.test(t.willChange||``)||w.test(t.contain||``)}function O(e){let t=N(e);for(;v(t)&&!A(t);){if(D(t))return t;if(S(t))return null;t=N(t)}return null}function k(){return E??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),E}function A(e){return/^(html|body|#document)$/.test(p(e))}function j(e){return m(e).getComputedStyle(e)}function M(e){return _(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function N(e){if(p(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||y(e)&&e.host||h(e);return y(t)?t.host:t}function P(e){let t=N(e);return A(t)?e.ownerDocument?e.ownerDocument.body:e.body:v(t)&&b(t)?t:P(t)}function F(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=P(e),i=r===e.ownerDocument?.body,a=m(r);if(i){let e=I(a);return t.concat(a,a.visualViewport||[],b(r)?r:[],e&&n?F(e):[])}else return t.concat(r,F(r,[],n))}function I(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}var L=d[`useInsertionEffect${Math.random().toFixed(1)}`.slice(0,-3)],R=L&&L!==d.useLayoutEffect?L:e=>e();function z(e){let t=c(B).current;return t.next=e,R(t.effect),t.trampoline}function B(){let e={next:void 0,callback:V,trampoline:(...t)=>e.callback?.(...t),effect:()=>{e.callback=e.next}};return e}function V(){}var H={...d},U=typeof document<`u`?d.useLayoutEffect:()=>{},W=d.createContext(void 0);function G(e=!1){let t=d.useContext(W);if(t===void 0&&!e)throw Error(o(16));return t}function K(e){let{focusableWhenDisabled:t,disabled:n,composite:r=!1,tabIndex:i=0,isNativeButton:a}=e,o=r&&t!==!1,s=r&&t===!1;return{props:d.useMemo(()=>{let e={onKeyDown(e){n&&t&&e.key!==`Tab`&&e.preventDefault()}};return r||(e.tabIndex=i,!a&&n&&(e.tabIndex=t?i:-1)),(a&&(t||o)||!a&&n)&&(e[`aria-disabled`]=n),a&&(!t||s)&&(e.disabled=n),e},[r,n,t,o,s,a,i])}}function q(e={}){let{disabled:t=!1,focusableWhenDisabled:n,tabIndex:r=0,native:o=!0,composite:s}=e,c=d.useRef(null),l=G(!0),u=s??l!==void 0,{props:f}=K({focusableWhenDisabled:n,disabled:t,composite:u,tabIndex:r,isNativeButton:o}),p=d.useCallback(()=>{let e=c.current;J(e)&&u&&t&&f.disabled===void 0&&e.disabled&&(e.disabled=!1)},[t,f.disabled,u]);return U(p,[p]),{getButtonProps:d.useCallback((e={})=>{let{onClick:n,onMouseDown:r,onKeyUp:s,onKeyDown:c,onPointerDown:l,...d}=e;return i({type:o?`button`:void 0,onClick(e){if(t){e.preventDefault();return}n?.(e)},onMouseDown(e){t||r?.(e)},onKeyDown(e){if(t||(a(e),c?.(e),e.baseUIHandlerPrevented))return;let r=e.target===e.currentTarget,i=e.currentTarget,s=J(i),l=!o&&Y(i),d=r&&(o?s:!l),f=e.key===`Enter`,p=e.key===` `,m=i.getAttribute(`role`),h=m?.startsWith(`menuitem`)||m===`option`||m===`gridcell`;if(r&&u&&p){if(e.defaultPrevented&&h)return;e.preventDefault(),l||o&&s?(i.click(),e.preventBaseUIHandler()):d&&(n?.(e),e.preventBaseUIHandler());return}d&&(!o&&(p||f)&&e.preventDefault(),!o&&f&&n?.(e))},onKeyUp(e){if(!t){if(a(e),s?.(e),e.target===e.currentTarget&&o&&u&&J(e.currentTarget)&&e.key===` `){e.preventDefault();return}e.baseUIHandlerPrevented||e.target===e.currentTarget&&!o&&!u&&e.key===` `&&n?.(e)}},onPointerDown(e){if(t){e.preventDefault();return}l?.(e)}},o?void 0:{role:`button`},f,d)},[t,f,u,o]),buttonRef:z(e=>{c.current=e,p()})}}function J(e){return v(e)&&e.tagName===`BUTTON`}function Y(e){return!!(e?.tagName===`A`&&e?.href)}var X=d.forwardRef(function(e,t){let{render:n,className:r,disabled:i=!1,focusableWhenDisabled:a=!1,nativeButton:o=!0,...c}=e,{getButtonProps:l,buttonRef:u}=q({disabled:i,focusableWhenDisabled:a,native:o});return s(`button`,e,{state:{disabled:i},ref:[t,u],props:[c,l]})}),Z=r(),Q=t(),$=l(`group/button inline-flex shrink-0 items-center justify-center rounded-md border border-transparent bg-clip-padding text-xs/relaxed font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-[2px] focus-visible:ring-ring/30 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-[2px] aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/80`,outline:`border-border hover:bg-input/50 hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:bg-input/30`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground`,ghost:`hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50`,destructive:`bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-7 gap-1 px-2 text-xs/relaxed has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5`,xs:`h-5 gap-1 rounded-sm px-2 text-[0.625rem] has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-2.5`,sm:`h-6 gap-1 px-2 text-xs/relaxed has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3`,lg:`h-8 gap-1 px-2.5 text-xs/relaxed has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-4`,icon:`size-7 [&_svg:not([class*='size-'])]:size-3.5`,"icon-xs":`size-5 rounded-sm [&_svg:not([class*='size-'])]:size-2.5`,"icon-sm":`size-6 [&_svg:not([class*='size-'])]:size-3`,"icon-lg":`size-8 [&_svg:not([class*='size-'])]:size-4`}},defaultVariants:{variant:`default`,size:`default`}});function ee(e){let t=(0,Z.c)(12),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:n,variant:i,size:a,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o=i===void 0?`default`:i,s=a===void 0?`default`:a,c;t[5]!==n||t[6]!==s||t[7]!==o?(c=u($({variant:o,size:s,className:n})),t[5]=n,t[6]=s,t[7]=o,t[8]=c):c=t[8];let l;return t[9]!==r||t[10]!==c?(l=(0,Q.jsx)(X,{className:c,"data-slot":`button`,...r}),t[9]=r,t[10]=c,t[11]=l):l=t[11],l}export{x as C,y as S,k as T,_,H as a,g as b,O as c,p as d,M as f,D as g,m as h,U as i,h as l,N as m,$ as n,z as o,F as p,q as r,j as s,ee as t,I as u,v,S as w,b as x,A as y}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{g as i,h as a,m as o,n as s,p as c,t as l}from"./dist.js";import{I as u}from"./SignatureV4.js";var d=e(n());function f(){return typeof window<`u`}function p(e){return g(e)?(e.nodeName||``).toLowerCase():`#document`}function m(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function h(e){return((g(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function g(e){return f()?e instanceof Node||e instanceof m(e).Node:!1}function _(e){return f()?e instanceof Element||e instanceof m(e).Element:!1}function v(e){return f()?e instanceof HTMLElement||e instanceof m(e).HTMLElement:!1}function y(e){return!f()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof m(e).ShadowRoot}function b(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=j(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function x(e){return/^(table|td|th)$/.test(p(e))}function S(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var C=/transform|translate|scale|rotate|perspective|filter/,w=/paint|layout|strict|content/,T=e=>!!e&&e!==`none`,E;function D(e){let t=_(e)?j(e):e;return T(t.transform)||T(t.translate)||T(t.scale)||T(t.rotate)||T(t.perspective)||!k()&&(T(t.backdropFilter)||T(t.filter))||C.test(t.willChange||``)||w.test(t.contain||``)}function O(e){let t=N(e);for(;v(t)&&!A(t);){if(D(t))return t;if(S(t))return null;t=N(t)}return null}function k(){return E??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),E}function A(e){return/^(html|body|#document)$/.test(p(e))}function j(e){return m(e).getComputedStyle(e)}function M(e){return _(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function N(e){if(p(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||y(e)&&e.host||h(e);return y(t)?t.host:t}function P(e){let t=N(e);return A(t)?e.ownerDocument?e.ownerDocument.body:e.body:v(t)&&b(t)?t:P(t)}function F(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=P(e),i=r===e.ownerDocument?.body,a=m(r);if(i){let e=I(a);return t.concat(a,a.visualViewport||[],b(r)?r:[],e&&n?F(e):[])}else return t.concat(r,F(r,[],n))}function I(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}var L=d[`useInsertionEffect${Math.random().toFixed(1)}`.slice(0,-3)],R=L&&L!==d.useLayoutEffect?L:e=>e();function z(e){let t=c(B).current;return t.next=e,R(t.effect),t.trampoline}function B(){let e={next:void 0,callback:V,trampoline:(...t)=>e.callback?.(...t),effect:()=>{e.callback=e.next}};return e}function V(){}var H={...d},U=typeof document<`u`?d.useLayoutEffect:()=>{},W=d.createContext(void 0);function G(e=!1){let t=d.useContext(W);if(t===void 0&&!e)throw Error(o(16));return t}function K(e){let{focusableWhenDisabled:t,disabled:n,composite:r=!1,tabIndex:i=0,isNativeButton:a}=e,o=r&&t!==!1,s=r&&t===!1;return{props:d.useMemo(()=>{let e={onKeyDown(e){n&&t&&e.key!==`Tab`&&e.preventDefault()}};return r||(e.tabIndex=i,!a&&n&&(e.tabIndex=t?i:-1)),(a&&(t||o)||!a&&n)&&(e[`aria-disabled`]=n),a&&(!t||s)&&(e.disabled=n),e},[r,n,t,o,s,a,i])}}function q(e={}){let{disabled:t=!1,focusableWhenDisabled:n,tabIndex:r=0,native:o=!0,composite:s}=e,c=d.useRef(null),l=G(!0),u=s??l!==void 0,{props:f}=K({focusableWhenDisabled:n,disabled:t,composite:u,tabIndex:r,isNativeButton:o}),p=d.useCallback(()=>{let e=c.current;J(e)&&u&&t&&f.disabled===void 0&&e.disabled&&(e.disabled=!1)},[t,f.disabled,u]);return U(p,[p]),{getButtonProps:d.useCallback((e={})=>{let{onClick:n,onMouseDown:r,onKeyUp:s,onKeyDown:c,onPointerDown:l,...d}=e;return i({type:o?`button`:void 0,onClick(e){if(t){e.preventDefault();return}n?.(e)},onMouseDown(e){t||r?.(e)},onKeyDown(e){if(t||(a(e),c?.(e),e.baseUIHandlerPrevented))return;let r=e.target===e.currentTarget,i=e.currentTarget,s=J(i),l=!o&&Y(i),d=r&&(o?s:!l),f=e.key===`Enter`,p=e.key===` `,m=i.getAttribute(`role`),h=m?.startsWith(`menuitem`)||m===`option`||m===`gridcell`;if(r&&u&&p){if(e.defaultPrevented&&h)return;e.preventDefault(),l||o&&s?(i.click(),e.preventBaseUIHandler()):d&&(n?.(e),e.preventBaseUIHandler());return}d&&(!o&&(p||f)&&e.preventDefault(),!o&&f&&n?.(e))},onKeyUp(e){if(!t){if(a(e),s?.(e),e.target===e.currentTarget&&o&&u&&J(e.currentTarget)&&e.key===` `){e.preventDefault();return}e.baseUIHandlerPrevented||e.target===e.currentTarget&&!o&&!u&&e.key===` `&&n?.(e)}},onPointerDown(e){if(t){e.preventDefault();return}l?.(e)}},o?void 0:{role:`button`},f,d)},[t,f,u,o]),buttonRef:z(e=>{c.current=e,p()})}}function J(e){return v(e)&&e.tagName===`BUTTON`}function Y(e){return!!(e?.tagName===`A`&&e?.href)}var X=d.forwardRef(function(e,t){let{render:n,className:r,disabled:i=!1,focusableWhenDisabled:a=!1,nativeButton:o=!0,...c}=e,{getButtonProps:l,buttonRef:u}=q({disabled:i,focusableWhenDisabled:a,native:o});return s(`button`,e,{state:{disabled:i},ref:[t,u],props:[c,l]})}),Z=r(),Q=t(),$=l(`group/button inline-flex shrink-0 items-center justify-center rounded-md border border-transparent bg-clip-padding text-xs/relaxed font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-[2px] focus-visible:ring-ring/30 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-[2px] aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/80`,outline:`border-border hover:bg-input/50 hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:bg-input/30`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground`,ghost:`hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50`,destructive:`bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-7 gap-1 px-2 text-xs/relaxed has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5`,xs:`h-5 gap-1 rounded-sm px-2 text-[0.625rem] has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-2.5`,sm:`h-6 gap-1 px-2 text-xs/relaxed has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3`,lg:`h-8 gap-1 px-2.5 text-xs/relaxed has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-4`,icon:`size-7 [&_svg:not([class*='size-'])]:size-3.5`,"icon-xs":`size-5 rounded-sm [&_svg:not([class*='size-'])]:size-2.5`,"icon-sm":`size-6 [&_svg:not([class*='size-'])]:size-3`,"icon-lg":`size-8 [&_svg:not([class*='size-'])]:size-4`}},defaultVariants:{variant:`default`,size:`default`}});function ee(e){let t=(0,Z.c)(12),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:n,variant:i,size:a,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o=i===void 0?`default`:i,s=a===void 0?`default`:a,c;t[5]!==n||t[6]!==s||t[7]!==o?(c=u($({variant:o,size:s,className:n})),t[5]=n,t[6]=s,t[7]=o,t[8]=c):c=t[8];let l;return t[9]!==r||t[10]!==c?(l=(0,Q.jsx)(X,{className:c,"data-slot":`button`,...r}),t[9]=r,t[10]=c,t[11]=l):l=t[11],l}export{b as C,k as D,S as E,g as S,x as T,m as _,G as a,v as b,z as c,h as d,I as f,N as g,F as h,W as i,j as l,M as m,$ as n,U as o,p,q as r,H as s,ee as t,O as u,D as v,y as w,A as x,_ as y}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/card.js b/spinifex/services/spinifexui/frontend/dist/assets/card.js index 03e07df0b..f07f8cf67 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/card.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/card.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{F as n}from"./SignatureV4.js";var r=t(),i=e();function a(e){let t=(0,r.c)(10),a,o,s;t[0]===e?(a=t[1],o=t[2],s=t[3]):({className:a,size:s,...o}=e,t[0]=e,t[1]=a,t[2]=o,t[3]=s);let c=s===void 0?`default`:s,l;t[4]===a?l=t[5]:(l=n(`group/card flex flex-col gap-4 overflow-hidden rounded-lg bg-card py-4 text-xs/relaxed text-card-foreground ring-1 ring-foreground/10 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 *:[img:first-child]:rounded-t-lg *:[img:last-child]:rounded-b-lg`,a),t[4]=a,t[5]=l);let u;return t[6]!==o||t[7]!==c||t[8]!==l?(u=(0,i.jsx)(`div`,{className:l,"data-size":c,"data-slot":`card`,...o}),t[6]=o,t[7]=c,t[8]=l,t[9]=u):u=t[9],u}function o(e){let t=(0,r.c)(8),a,o;t[0]===e?(a=t[1],o=t[2]):({className:a,...o}=e,t[0]=e,t[1]=a,t[2]=o);let s;t[3]===a?s=t[4]:(s=n(`group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-lg px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3`,a),t[3]=a,t[4]=s);let c;return t[5]!==o||t[6]!==s?(c=(0,i.jsx)(`div`,{className:s,"data-slot":`card-header`,...o}),t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function s(e){let t=(0,r.c)(8),a,o;t[0]===e?(a=t[1],o=t[2]):({className:a,...o}=e,t[0]=e,t[1]=a,t[2]=o);let s;t[3]===a?s=t[4]:(s=n(`text-sm font-medium`,a),t[3]=a,t[4]=s);let c;return t[5]!==o||t[6]!==s?(c=(0,i.jsx)(`div`,{className:s,"data-slot":`card-title`,...o}),t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function c(e){let t=(0,r.c)(8),a,o;t[0]===e?(a=t[1],o=t[2]):({className:a,...o}=e,t[0]=e,t[1]=a,t[2]=o);let s;t[3]===a?s=t[4]:(s=n(`col-start-2 row-span-2 row-start-1 self-start justify-self-end`,a),t[3]=a,t[4]=s);let c;return t[5]!==o||t[6]!==s?(c=(0,i.jsx)(`div`,{className:s,"data-slot":`card-action`,...o}),t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function l(e){let t=(0,r.c)(8),a,o;t[0]===e?(a=t[1],o=t[2]):({className:a,...o}=e,t[0]=e,t[1]=a,t[2]=o);let s;t[3]===a?s=t[4]:(s=n(`px-4 group-data-[size=sm]/card:px-3`,a),t[3]=a,t[4]=s);let c;return t[5]!==o||t[6]!==s?(c=(0,i.jsx)(`div`,{className:s,"data-slot":`card-content`,...o}),t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function u(e){let t=(0,r.c)(8),a,o;t[0]===e?(a=t[1],o=t[2]):({className:a,...o}=e,t[0]=e,t[1]=a,t[2]=o);let s;t[3]===a?s=t[4]:(s=n(`flex items-center rounded-b-lg px-4 group-data-[size=sm]/card:px-3 [.border-t]:pt-4 group-data-[size=sm]/card:[.border-t]:pt-3`,a),t[3]=a,t[4]=s);let c;return t[5]!==o||t[6]!==s?(c=(0,i.jsx)(`div`,{className:s,"data-slot":`card-footer`,...o}),t[5]=o,t[6]=s,t[7]=c):c=t[7],c}export{o as a,u as i,c as n,s as o,l as r,a as t}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{I as n}from"./SignatureV4.js";var r=t(),i=e();function a(e){let t=(0,r.c)(10),a,o,s;t[0]===e?(a=t[1],o=t[2],s=t[3]):({className:a,size:s,...o}=e,t[0]=e,t[1]=a,t[2]=o,t[3]=s);let c=s===void 0?`default`:s,l;t[4]===a?l=t[5]:(l=n(`group/card flex flex-col gap-4 overflow-hidden rounded-lg bg-card py-4 text-xs/relaxed text-card-foreground ring-1 ring-foreground/10 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 *:[img:first-child]:rounded-t-lg *:[img:last-child]:rounded-b-lg`,a),t[4]=a,t[5]=l);let u;return t[6]!==o||t[7]!==c||t[8]!==l?(u=(0,i.jsx)(`div`,{className:l,"data-size":c,"data-slot":`card`,...o}),t[6]=o,t[7]=c,t[8]=l,t[9]=u):u=t[9],u}function o(e){let t=(0,r.c)(8),a,o;t[0]===e?(a=t[1],o=t[2]):({className:a,...o}=e,t[0]=e,t[1]=a,t[2]=o);let s;t[3]===a?s=t[4]:(s=n(`group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-lg px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3`,a),t[3]=a,t[4]=s);let c;return t[5]!==o||t[6]!==s?(c=(0,i.jsx)(`div`,{className:s,"data-slot":`card-header`,...o}),t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function s(e){let t=(0,r.c)(8),a,o;t[0]===e?(a=t[1],o=t[2]):({className:a,...o}=e,t[0]=e,t[1]=a,t[2]=o);let s;t[3]===a?s=t[4]:(s=n(`text-sm font-medium`,a),t[3]=a,t[4]=s);let c;return t[5]!==o||t[6]!==s?(c=(0,i.jsx)(`div`,{className:s,"data-slot":`card-title`,...o}),t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function c(e){let t=(0,r.c)(8),a,o;t[0]===e?(a=t[1],o=t[2]):({className:a,...o}=e,t[0]=e,t[1]=a,t[2]=o);let s;t[3]===a?s=t[4]:(s=n(`col-start-2 row-span-2 row-start-1 self-start justify-self-end`,a),t[3]=a,t[4]=s);let c;return t[5]!==o||t[6]!==s?(c=(0,i.jsx)(`div`,{className:s,"data-slot":`card-action`,...o}),t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function l(e){let t=(0,r.c)(8),a,o;t[0]===e?(a=t[1],o=t[2]):({className:a,...o}=e,t[0]=e,t[1]=a,t[2]=o);let s;t[3]===a?s=t[4]:(s=n(`px-4 group-data-[size=sm]/card:px-3`,a),t[3]=a,t[4]=s);let c;return t[5]!==o||t[6]!==s?(c=(0,i.jsx)(`div`,{className:s,"data-slot":`card-content`,...o}),t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function u(e){let t=(0,r.c)(8),a,o;t[0]===e?(a=t[1],o=t[2]):({className:a,...o}=e,t[0]=e,t[1]=a,t[2]=o);let s;t[3]===a?s=t[4]:(s=n(`flex items-center rounded-b-lg px-4 group-data-[size=sm]/card:px-3 [.border-t]:pt-4 group-data-[size=sm]/card:[.border-t]:pt-3`,a),t[3]=a,t[4]=s);let c;return t[5]!==o||t[6]!==s?(c=(0,i.jsx)(`div`,{className:s,"data-slot":`card-footer`,...o}),t[5]=o,t[6]=s,t[7]=c):c=t[7],c}export{o as a,u as i,c as n,s as o,l as r,a as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/cli-command-panel.js b/spinifex/services/spinifexui/frontend/dist/assets/cli-command-panel.js index 3f14fcb9e..9de1ba4df 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/cli-command-panel.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/cli-command-panel.js @@ -1,3 +1,3 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{F as i}from"./SignatureV4.js";import{t as a}from"./createLucideIcon.js";import{t as o}from"./check.js";import{t as s}from"./chevron-down.js";import{t as c}from"./copy.js";import{t as l}from"./button.js";import{t as u}from"./use-copy-to-clipboard.js";var d=a(`square-terminal`,[[`path`,{d:`m7 11 2-2-2-2`,key:`1lz0vl`}],[`path`,{d:`M11 13h4`,key:`1p7l4v`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}]]),f=r(),p=e(n(),1),m=t(),h={bin:`text-tactical-cyan font-semibold`,flag:`text-tactical-amber`,value:`text-foreground`,comment:`text-muted-foreground italic`,variable:`text-tactical-green font-semibold`};function g(e){return e.map(e=>e.parts.map(e=>e.value).join(``)).join(` +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{I as i}from"./SignatureV4.js";import{t as a}from"./createLucideIcon.js";import{t as o}from"./check.js";import{t as s}from"./chevron-down.js";import{t as c}from"./copy.js";import{t as l}from"./button.js";import{t as u}from"./use-copy-to-clipboard.js";var d=a(`square-terminal`,[[`path`,{d:`m7 11 2-2-2-2`,key:`1lz0vl`}],[`path`,{d:`M11 13h4`,key:`1p7l4v`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}]]),f=r(),p=e(n(),1),m=t(),h={bin:`text-tactical-cyan font-semibold`,flag:`text-tactical-amber`,value:`text-foreground`,comment:`text-muted-foreground italic`,variable:`text-tactical-green font-semibold`};function g(e){return e.map(e=>e.parts.map(e=>e.value).join(``)).join(` `)}function _(e){let t=(0,f.c)(18),{commands:n}=e,[r,a]=(0,p.useState)(!1),{copied:h,copy:_}=u();if(n.length===0)return null;let b;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>a(y),t[0]=b):b=t[0];let x,S;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,m.jsx)(d,{className:`size-3.5`}),S=(0,m.jsx)(`span`,{children:`AWS CLI`}),t[1]=x,t[2]=S):(x=t[1],S=t[2]);let C=r&&`rotate-180`,w;t[3]===C?w=t[4]:(w=i(`ml-auto size-3.5 transition-transform`,C),t[3]=C,t[4]=w);let T;t[5]===w?T=t[6]:(T=(0,m.jsx)(s,{className:w}),t[5]=w,t[6]=T);let E;t[7]!==r||t[8]!==T?(E=(0,m.jsxs)(`button`,{type:`button`,onClick:b,className:`flex w-full items-center gap-2 px-3 py-2 text-xs font-medium text-muted-foreground transition-colors hover:text-foreground`,"aria-expanded":r,children:[x,S,T]}),t[7]=r,t[8]=T,t[9]=E):E=t[9];let D;t[10]!==n||t[11]!==h||t[12]!==_||t[13]!==r?(D=r&&(0,m.jsxs)(`div`,{className:`border-t border-border`,children:[(0,m.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border px-3 py-1.5`,children:[(0,m.jsx)(`span`,{className:`text-[0.625rem] text-muted-foreground`,children:n.length>1?`${n.length} commands`:`command`}),(0,m.jsxs)(l,{type:`button`,variant:`ghost`,size:`xs`,onClick:()=>_(g(n)),children:[h?(0,m.jsx)(o,{className:`size-2.5`}):(0,m.jsx)(c,{className:`size-2.5`}),h?`Copied`:`Copy`]})]}),(0,m.jsx)(`div`,{className:`overflow-x-auto p-3`,children:n.map((e,t)=>(0,m.jsxs)(`div`,{children:[n.length>1&&(0,m.jsx)(`div`,{className:`mb-1 text-[0.625rem] font-medium text-muted-foreground`,children:e.label}),(0,m.jsx)(`pre`,{className:`font-mono text-xs/relaxed`,children:(0,m.jsx)(`code`,{children:e.parts.map(v)})}),t{let t=!o,n=p(f,e.nativeEvent);if(r(t,n),n.isCanceled)return;let i=I.current;P.current===`css-animation`&&i!=null&&i.style.removeProperty(`animation-name`),!k&&!j&&(P.current!=null&&P.current!==`css-animation`&&!m&&t&&h(!0),P.current===`css-animation`&&(!_&&t&&v(!0),!m&&t&&h(!0))),l(t),P.current===`none`&&m&&!t&&h(!1)});return c(()=>{a&&P.current===`none`&&!j&&!o&&h(!1)},[a,j,o,t,h]),C.useMemo(()=>({abortControllerRef:N,animationTypeRef:P,disabled:i,handleTrigger:R,height:y,mounted:m,open:o,panelId:O,panelRef:I,runOnceAnimationsFinish:L,setDimensions:w,setHiddenUntilFound:A,setKeepMounted:M,setMounted:h,setOpen:l,setPanelIdState:D,setVisible:v,transitionDimensionRef:F,transitionStatus:g,visible:_,width:x}),[N,P,i,R,y,m,o,O,I,L,w,A,M,h,l,v,F,g,_,x])}var T=C.createContext(void 0);function E(){let e=C.useContext(T);if(e===void 0)throw Error(a(15));return e}var D=function(e){return e.open=`data-open`,e.closed=`data-closed`,e[e.startingStyle=_.startingStyle]=`startingStyle`,e[e.endingStyle=_.endingStyle]=`endingStyle`,e}({}),O=function(e){return e.panelOpen=`data-panel-open`,e}({}),k={[D.open]:``},A={[D.closed]:``},j={open(e){return e?{[O.panelOpen]:``}:null}},M={open(e){return e?k:A},...h},N=t(),P=C.forwardRef(function(e,t){let{render:n,className:r,defaultOpen:i=!1,disabled:a=!1,onOpenChange:c,open:l,...u}=e,d=s(c),f=w({open:l,defaultOpen:i,onOpenChange:d,disabled:a}),p=C.useMemo(()=>({open:f.open,disabled:f.disabled,transitionStatus:f.transitionStatus}),[f.open,f.disabled,f.transitionStatus]),m=C.useMemo(()=>({...f,onOpenChange:d,state:p}),[f,d,p]),h=o(`div`,e,{state:p,ref:t,props:u,stateAttributesMapping:M});return(0,N.jsx)(T.Provider,{value:m,children:h})}),F={...j,...h},I=C.forwardRef(function(e,t){let{panelId:n,open:r,handleTrigger:i,state:a,disabled:s}=E(),{className:c,disabled:u=s,id:d,render:f,nativeButton:p=!0,...m}=e,{getButtonProps:h,buttonRef:g}=l({disabled:u,focusableWhenDisabled:!0,native:p}),_=C.useMemo(()=>({"aria-controls":r?n:void 0,"aria-expanded":r,onClick:i}),[n,r,i]);return o(`button`,e,{state:a,ref:[t,g],props:[_,m,h],stateAttributesMapping:F})}),L=function(e){return e.disabled=`data-disabled`,e.orientation=`data-orientation`,e}({});function R(e){let{abortControllerRef:t,animationTypeRef:n,externalRef:r,height:a,hiddenUntilFound:o,keepMounted:l,id:u,mounted:d,onOpenChange:f,open:h,panelRef:_,runOnceAnimationsFinish:y,setDimensions:b,setMounted:S,setOpen:w,setVisible:T,transitionDimensionRef:E,visible:O,width:k}=e,A=C.useRef(!1),j=C.useRef(null),M=C.useRef(h),N=C.useRef(h),P=g(),F=C.useMemo(()=>n.current===`css-animation`?!O:!h&&!d,[h,d,O,n]),I=i(r,_,s(e=>{if(!e)return;if(n.current==null||E.current==null){let t=getComputedStyle(e),r=t.animationName!==`none`&&t.animationName!==``,i=t.transitionDuration!==`0s`&&t.transitionDuration!==``;r&&i||(t.animationName===`none`&&t.transitionDuration!==`0s`?n.current=`css-transition`:t.animationName!==`none`&&t.transitionDuration===`0s`?n.current=`css-animation`:n.current=`none`),e.getAttribute(L.orientation)===`horizontal`||t.transitionProperty.indexOf(`width`)>-1?E.current=`width`:E.current=`height`}if(n.current!==`css-transition`)return;(a===void 0||k===void 0)&&(b({height:e.scrollHeight,width:e.scrollWidth}),N.current&&e.style.setProperty(`transition-duration`,`0s`));let t=-1,r=-1;return t=x.request(()=>{N.current=!1,r=x.request(()=>{setTimeout(()=>{e.style.removeProperty(`transition-duration`)})})}),()=>{x.cancel(t),x.cancel(r)}}));return c(()=>{if(n.current!==`css-transition`)return;let e=_.current;if(!e)return;let r=-1;if(t.current!=null&&(t.current.abort(),t.current=null),h){let t={"justify-content":e.style.justifyContent,"align-items":e.style.alignItems,"align-content":e.style.alignContent,"justify-items":e.style.justifyItems};Object.keys(t).forEach(t=>{e.style.setProperty(t,`initial`,`important`)}),!N.current&&!l&&e.setAttribute(D.startingStyle,``),b({height:e.scrollHeight,width:e.scrollWidth}),r=x.request(()=>{Object.entries(t).forEach(([t,n])=>{n===``?e.style.removeProperty(t):e.style.setProperty(t,n)})})}else{if(e.scrollHeight===0&&e.scrollWidth===0)return;b({height:e.scrollHeight,width:e.scrollWidth});let n=new AbortController;t.current=n;let r=n.signal,i=null,a=D.endingStyle;return i=new MutationObserver(o=>{o.some(e=>e.type===`attributes`&&e.attributeName===a)&&(i?.disconnect(),i=null,y(()=>{b({height:0,width:0}),e.style.removeProperty(`content-visibility`),S(!1),t.current===n&&(t.current=null)},r))}),i.observe(e,{attributes:!0,attributeFilter:[a]}),()=>{i?.disconnect(),P.cancel(),t.current===n&&(n.abort(),t.current=null)}}return()=>{x.cancel(r)}},[t,n,P,o,l,d,h,_,y,b,S]),c(()=>{if(n.current!==`css-animation`)return;let e=_.current;e&&(j.current=e.style.animationName||j.current,e.style.setProperty(`animation-name`,`none`),b({height:e.scrollHeight,width:e.scrollWidth}),!M.current&&!A.current&&e.style.removeProperty(`animation-name`),h?(t.current!=null&&(t.current.abort(),t.current=null),S(!0),T(!0)):(t.current=new AbortController,y(()=>{S(!1),T(!1),t.current=null},t.current.signal)))},[t,n,h,_,y,b,S,T,O]),v(()=>{let e=x.request(()=>{M.current=!1});return()=>x.cancel(e)}),c(()=>{if(!o)return;let e=_.current;if(!e)return;let t=-1,n=-1;return h&&A.current&&(e.style.transitionDuration=`0s`,b({height:e.scrollHeight,width:e.scrollWidth}),t=x.request(()=>{A.current=!1,n=x.request(()=>{setTimeout(()=>{e.style.removeProperty(`transition-duration`)})})})),()=>{x.cancel(t),x.cancel(n)}},[o,h,_,b]),c(()=>{let e=_.current;e&&o&&F&&(e.setAttribute(`hidden`,`until-found`),n.current===`css-transition`&&e.setAttribute(D.startingStyle,``))},[o,F,n,_]),C.useEffect(function(){let e=_.current;if(!e)return;function t(e){A.current=!0,w(!0),f(!0,p(m,e))}return e.addEventListener(`beforematch`,t),()=>{e.removeEventListener(`beforematch`,t)}},[f,_,w]),C.useMemo(()=>({props:{hidden:F,id:u,ref:I}}),[F,u,I])}var z=function(e){return e.collapsiblePanelHeight=`--collapsible-panel-height`,e.collapsiblePanelWidth=`--collapsible-panel-width`,e}({}),B=C.forwardRef(function(e,t){let{className:n,hiddenUntilFound:r,keepMounted:i,render:a,id:s,...l}=e,{abortControllerRef:u,animationTypeRef:d,height:f,mounted:p,onOpenChange:m,open:h,panelId:g,panelRef:_,runOnceAnimationsFinish:v,setDimensions:b,setHiddenUntilFound:x,setKeepMounted:S,setMounted:w,setPanelIdState:T,setOpen:D,setVisible:O,state:k,transitionDimensionRef:A,visible:j,width:N,transitionStatus:P}=E(),F=r??!1,I=i??!1;c(()=>{if(s)return T(s),()=>{T(void 0)}},[s,T]),c(()=>{x(F)},[x,F]),c(()=>{S(I)},[S,I]);let{props:L}=R({abortControllerRef:u,animationTypeRef:d,externalRef:t,height:f,hiddenUntilFound:F,id:g,keepMounted:I,mounted:p,onOpenChange:m,open:h,panelRef:_,runOnceAnimationsFinish:v,setDimensions:b,setMounted:w,setOpen:D,setVisible:O,transitionDimensionRef:A,visible:j,width:N});y({open:h&&P===`idle`,ref:_,onComplete(){h&&b({height:void 0,width:void 0})}});let B=o(`div`,e,{state:C.useMemo(()=>({...k,transitionStatus:P}),[k,P]),ref:[t,_],props:[L,{style:{[z.collapsiblePanelHeight]:f===void 0?`auto`:`${f}px`,[z.collapsiblePanelWidth]:N===void 0?`auto`:`${N}px`}},l],stateAttributesMapping:M});return I||F||!I&&p?B:null}),V=r();function H(e){let t=(0,V.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,N.jsx)(P,{"data-slot":`collapsible`,...n}),t[2]=n,t[3]=r),r}function U(e){let t=(0,V.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,N.jsx)(I,{"data-slot":`collapsible-trigger`,...n}),t[2]=n,t[3]=r),r}function W(e){let t=(0,V.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,N.jsx)(B,{"data-slot":`collapsible-content`,...n}),t[2]=n,t[3]=r),r}export{W as n,U as r,H as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-bucket.js b/spinifex/services/spinifexui/frontend/dist/assets/create-bucket.js index d4e9a5092..daa42cced 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-bucket.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-bucket.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./error-banner.js";import{t as r}from"./useNavigate.js";import{A as i,k as a}from"./SignatureV4.js";import{t as o}from"./back-link.js";import{t as s}from"./cli-command-panel.js";import{t as c}from"./input.js";import{t as l}from"./s3.js";import{t as u}from"./page-heading.js";import{i as d,n as f,t as p}from"./field.js";import{r as m,t as h}from"./zod.js";import{t as g}from"./form-actions.js";var _=t(),v=a({bucketName:i().min(3,`Bucket name must be at least 3 characters`).max(63,`Bucket name must be at most 63 characters`).regex(/^[a-z0-9][a-z0-9.-]*[a-z0-9]$/,`Must start and end with a lowercase letter or number`).regex(/^[a-z0-9.-]+$/,`Only lowercase letters, numbers, hyphens, and periods allowed`).refine(e=>!e.includes(`..`),`Must not contain consecutive periods`).refine(e=>!(e.includes(`.-`)||e.includes(`-.`)),`Must not contain adjacent period and hyphen`)}),y=e();function b(){let e=(0,_.c)(40),t=r(),i=l(),a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a={resolver:h(v)},e[0]=a):a=e[0];let{handleSubmit:b,register:S,watch:C,formState:w}=m(a),{errors:T,isSubmitting:E}=w,D;e[1]!==i||e[2]!==t?(D=async e=>{await i.mutateAsync(e),t({to:`/s3/ls`})},e[1]=i,e[2]=t,e[3]=D):D=e[3];let O=D,k,A;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,y.jsx)(o,{to:`/s3/ls`,children:`Back to buckets`}),A=(0,y.jsx)(u,{title:`Create Bucket`}),e[4]=k,e[5]=A):(k=e[4],A=e[5]);let j;e[6]===i.error?j=e[7]:(j=i.error&&(0,y.jsx)(n,{error:i.error,msg:`Failed to create bucket`}),e[6]=i.error,e[7]=j);let M;e[8]!==b||e[9]!==O?(M=b(O),e[8]=b,e[9]=O,e[10]=M):M=e[10];let N;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,y.jsx)(d,{children:(0,y.jsx)(`label`,{htmlFor:`bucketName`,children:`Bucket Name`})}),e[11]=N):N=e[11];let P=!!T.bucketName,F;e[12]===S?F=e[13]:(F=S(`bucketName`),e[12]=S,e[13]=F);let I;e[14]!==P||e[15]!==F?(I=(0,y.jsx)(c,{"aria-invalid":P,id:`bucketName`,placeholder:`my-bucket`,type:`text`,...F}),e[14]=P,e[15]=F,e[16]=I):I=e[16];let L;e[17]===T.bucketName?L=e[18]:(L=(0,y.jsx)(f,{errors:[T.bucketName]}),e[17]=T.bucketName,e[18]=L);let R;e[19]!==I||e[20]!==L?(R=(0,y.jsxs)(p,{children:[N,I,L]}),e[19]=I,e[20]=L,e[21]=R):R=e[21];let z;e[22]===C?z=e[23]:(z=x(C),e[22]=C,e[23]=z);let B;e[24]===z?B=e[25]:(B=(0,y.jsx)(s,{commands:z}),e[24]=z,e[25]=B);let V;e[26]===t?V=e[27]:(V=()=>t({to:`/s3/ls`}),e[26]=t,e[27]=V);let H;e[28]!==i.isPending||e[29]!==E||e[30]!==V?(H=(0,y.jsx)(g,{isPending:i.isPending,isSubmitting:E,onCancel:V,pendingLabel:`Creating\\u2026`,submitLabel:`Create Bucket`}),e[28]=i.isPending,e[29]=E,e[30]=V,e[31]=H):H=e[31];let U;e[32]!==R||e[33]!==B||e[34]!==H||e[35]!==M?(U=(0,y.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:M,children:[R,B,H]}),e[32]=R,e[33]=B,e[34]=H,e[35]=M,e[36]=U):U=e[36];let W;return e[37]!==U||e[38]!==j?(W=(0,y.jsxs)(y.Fragment,{children:[k,A,j,U]}),e[37]=U,e[38]=j,e[39]=W):W=e[39],W}function x(e){let t=e(`bucketName`);return[{label:`Create Bucket`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws s3api create-bucket`},{type:`flag`,value:` --bucket`},{type:`value`,value:` ${(typeof t==`string`?t:``)||``}`}]}]}export{b as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./error-banner.js";import{t as r}from"./useNavigate.js";import{j as i,k as a}from"./SignatureV4.js";import{t as o}from"./back-link.js";import{t as s}from"./cli-command-panel.js";import{t as c}from"./input.js";import{t as l}from"./s3.js";import{t as u}from"./page-heading.js";import{i as d,n as f,t as p}from"./field.js";import{r as m,t as h}from"./zod.js";import{t as g}from"./form-actions.js";var _=t(),v=a({bucketName:i().min(3,`Bucket name must be at least 3 characters`).max(63,`Bucket name must be at most 63 characters`).regex(/^[a-z0-9][a-z0-9.-]*[a-z0-9]$/,`Must start and end with a lowercase letter or number`).regex(/^[a-z0-9.-]+$/,`Only lowercase letters, numbers, hyphens, and periods allowed`).refine(e=>!e.includes(`..`),`Must not contain consecutive periods`).refine(e=>!(e.includes(`.-`)||e.includes(`-.`)),`Must not contain adjacent period and hyphen`)}),y=e();function b(){let e=(0,_.c)(40),t=r(),i=l(),a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a={resolver:h(v)},e[0]=a):a=e[0];let{handleSubmit:b,register:S,watch:C,formState:w}=m(a),{errors:T,isSubmitting:E}=w,D;e[1]!==i||e[2]!==t?(D=async e=>{await i.mutateAsync(e),t({to:`/s3/ls`})},e[1]=i,e[2]=t,e[3]=D):D=e[3];let O=D,k,A;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,y.jsx)(o,{to:`/s3/ls`,children:`Back to buckets`}),A=(0,y.jsx)(u,{title:`Create Bucket`}),e[4]=k,e[5]=A):(k=e[4],A=e[5]);let j;e[6]===i.error?j=e[7]:(j=i.error&&(0,y.jsx)(n,{error:i.error,msg:`Failed to create bucket`}),e[6]=i.error,e[7]=j);let M;e[8]!==b||e[9]!==O?(M=b(O),e[8]=b,e[9]=O,e[10]=M):M=e[10];let N;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,y.jsx)(d,{children:(0,y.jsx)(`label`,{htmlFor:`bucketName`,children:`Bucket Name`})}),e[11]=N):N=e[11];let P=!!T.bucketName,F;e[12]===S?F=e[13]:(F=S(`bucketName`),e[12]=S,e[13]=F);let I;e[14]!==P||e[15]!==F?(I=(0,y.jsx)(c,{"aria-invalid":P,id:`bucketName`,placeholder:`my-bucket`,type:`text`,...F}),e[14]=P,e[15]=F,e[16]=I):I=e[16];let L;e[17]===T.bucketName?L=e[18]:(L=(0,y.jsx)(f,{errors:[T.bucketName]}),e[17]=T.bucketName,e[18]=L);let R;e[19]!==I||e[20]!==L?(R=(0,y.jsxs)(p,{children:[N,I,L]}),e[19]=I,e[20]=L,e[21]=R):R=e[21];let z;e[22]===C?z=e[23]:(z=x(C),e[22]=C,e[23]=z);let B;e[24]===z?B=e[25]:(B=(0,y.jsx)(s,{commands:z}),e[24]=z,e[25]=B);let V;e[26]===t?V=e[27]:(V=()=>t({to:`/s3/ls`}),e[26]=t,e[27]=V);let H;e[28]!==i.isPending||e[29]!==E||e[30]!==V?(H=(0,y.jsx)(g,{isPending:i.isPending,isSubmitting:E,onCancel:V,pendingLabel:`Creating…`,submitLabel:`Create Bucket`}),e[28]=i.isPending,e[29]=E,e[30]=V,e[31]=H):H=e[31];let U;e[32]!==R||e[33]!==B||e[34]!==H||e[35]!==M?(U=(0,y.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:M,children:[R,B,H]}),e[32]=R,e[33]=B,e[34]=H,e[35]=M,e[36]=U):U=e[36];let W;return e[37]!==U||e[38]!==j?(W=(0,y.jsxs)(y.Fragment,{children:[k,A,j,U]}),e[37]=U,e[38]=j,e[39]=W):W=e[39],W}function x(e){let t=e(`bucketName`);return[{label:`Create Bucket`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws s3api create-bucket`},{type:`flag`,value:` --bucket`},{type:`value`,value:` ${(typeof t==`string`?t:``)||``}`}]}]}export{b as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-load-balancer.js b/spinifex/services/spinifexui/frontend/dist/assets/create-load-balancer.js new file mode 100644 index 000000000..8e797973f --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-load-balancer.js @@ -0,0 +1,17 @@ +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./error-banner.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./useNavigate.js";import{V as o}from"./SignatureV4.js";import{t as s}from"./back-link.js";import{a as c,i as l,n as u,r as d,t as f}from"./select.js";import{t as p}from"./plus.js";import{t as m}from"./cli-command-panel.js";import{t as h}from"./trash-2.js";import{t as g}from"./button.js";import{t as _}from"./input.js";import{_ as ee,p as te,r as ne,x as v}from"./ec22.js";import{n as re}from"./elbv2.js";import{c as y}from"./elbv22.js";import{t as b}from"./page-heading.js";import{n as x}from"./system-managed.js";import{i as S,n as C,t as w}from"./field.js";import{n as T,r as E,t as D}from"./zod.js";import{t as ie}from"./form-actions.js";import{t as ae}from"./lb-image-missing-banner.js";import{t as oe}from"./target-group-form.js";import{n as O,r as se}from"./elbv23.js";var ce=e(n(),1),k=t();function A(e){let t=o(e.Tags);return t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`}function le(e){let t=o(e.Tags);return`${t?`${e.SubnetId} (${t})`:e.SubnetId} · ${e.CidrBlock}`}function ue(e){let t=new Map;for(let n of e){let e=n.AvailabilityZone??`unknown`,r=t.get(e)??[];r.push(n),t.set(e,r)}return[...t.entries()].toSorted((e,t)=>e[0].localeCompare(t[0])).map(([e,t])=>({az:e,subnets:t}))}function j(){let e=a(),{data:t}=i(v),{data:n}=i(ee),{data:o}=i(te),{data:j}=i(y),{data:M}=i(ne),N=re(),P=x(M.Images??[]),[F,I]=(0,ce.useState)(null),L=t.Vpcs??[],R=n.Subnets??[],z=o.SecurityGroups??[],B=j.TargetGroups??[],V=E({resolver:D(O),defaultValues:{name:``,scheme:`internet-facing`,vpcId:L[0]?.VpcId??``,subnetIds:[],securityGroupIds:[],tags:[],listener:{protocol:`HTTP`,port:80,targetGroupMode:`new`,existingTargetGroupArn:``}}}),H=E({resolver:D(se),defaultValues:{name:``,protocol:`HTTP`,port:80,vpcId:L[0]?.VpcId??``,healthCheck:{protocol:`HTTP`,path:`/`,port:`traffic-port`,intervalSeconds:30,timeoutSeconds:5,healthyThresholdCount:5,unhealthyThresholdCount:2,matcher:`200`},tags:[]}}),{handleSubmit:fe,register:U,watch:W,control:G,setValue:K,getValues:q,formState:{errors:J,isSubmitting:pe}}=V,Y=W(`vpcId`),me=W(`subnetIds`),he=W(`securityGroupIds`),X=W(`listener.targetGroupMode`),ge=W(`tags`),_e=R.filter(e=>e.VpcId===Y),Z=z.filter(e=>e.VpcId===Y),Q=B.filter(e=>e.VpcId===Y),ve=(e=``)=>{let t=e??``;K(`vpcId`,t,{shouldValidate:!0}),K(`subnetIds`,[],{shouldValidate:!0}),K(`securityGroupIds`,[]),K(`listener.existingTargetGroupArn`,``),H.setValue(`vpcId`,t)},ye=e=>{let t=q(`subnetIds`);K(`subnetIds`,t.includes(e)?t.filter(t=>t!==e):[...t,e],{shouldValidate:!0})},be=e=>{let t=q(`securityGroupIds`);K(`securityGroupIds`,t.includes(e)?t.filter(t=>t!==e):[...t,e])},xe=async t=>{I(null);let n;if(t.listener.targetGroupMode===`new`){if(!await H.trigger())return;n=H.getValues()}let r=await N.mutateAsync({lb:{name:t.name,scheme:t.scheme,vpcId:t.vpcId,subnetIds:t.subnetIds,securityGroupIds:t.securityGroupIds,tags:t.tags},listener:{protocol:t.listener.protocol,port:t.listener.port,targetGroupMode:t.listener.targetGroupMode,existingTargetGroupArn:t.listener.existingTargetGroupArn,newTargetGroup:n}});I(r),!r.error&&r.loadBalancerArn&&e({to:`/ec2/describe-load-balancers/$id`,params:{id:encodeURIComponent(r.loadBalancerArn)}})},$=ue(_e);return P?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(s,{to:`/ec2/describe-load-balancers`,children:`Back to load balancers`}),(0,k.jsx)(b,{title:`Create load balancer`}),N.error&&(0,k.jsx)(r,{error:N.error,msg:`Failed to create load balancer`}),F?.error&&(0,k.jsxs)(`div`,{className:`mb-6 max-w-4xl rounded-md border border-destructive bg-destructive/10 p-4`,children:[(0,k.jsxs)(`h2`,{className:`text-sm font-medium text-destructive`,children:[`Wizard failed: `,F.failedStep]}),(0,k.jsx)(`p`,{className:`mt-1 text-sm text-destructive`,children:F.error.message}),F.created.length>0&&(0,k.jsxs)(`div`,{className:`mt-3`,children:[(0,k.jsx)(`p`,{className:`text-xs font-medium text-destructive`,children:`Successfully created resources (clean up manually if needed):`}),(0,k.jsx)(`ul`,{className:`mt-1 list-inside list-disc text-xs text-destructive`,children:F.created.map((e,t)=>(0,k.jsxs)(`li`,{children:[e.type,`: `,e.id??`(created)`]},t))})]})]}),(0,k.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:fe(xe),children:[(0,k.jsxs)(w,{children:[(0,k.jsx)(S,{children:(0,k.jsx)(`label`,{htmlFor:`lb-name`,children:`Name`})}),(0,k.jsx)(_,{"aria-invalid":!!J.name,id:`lb-name`,placeholder:`my-load-balancer`,...U(`name`)}),(0,k.jsx)(C,{errors:[J.name]})]}),(0,k.jsxs)(w,{children:[(0,k.jsx)(S,{children:`Scheme`}),(0,k.jsx)(T,{control:G,name:`scheme`,render:({field:e})=>(0,k.jsxs)(`div`,{className:`flex gap-4`,children:[(0,k.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,k.jsx)(`input`,{checked:e.value===`internet-facing`,name:`scheme`,onChange:()=>e.onChange(`internet-facing`),type:`radio`}),`Internet-facing`]}),(0,k.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,k.jsx)(`input`,{checked:e.value===`internal`,name:`scheme`,onChange:()=>e.onChange(`internal`),type:`radio`}),`Internal`]})]})})]}),(0,k.jsxs)(w,{children:[(0,k.jsx)(S,{children:(0,k.jsx)(`label`,{htmlFor:`lb-vpc`,children:`VPC`})}),(0,k.jsx)(T,{control:G,name:`vpcId`,render:({field:e})=>(0,k.jsxs)(f,{onValueChange:e=>ve(e),value:e.value??``,children:[(0,k.jsx)(l,{"aria-invalid":!!J.vpcId,className:`w-full`,id:`lb-vpc`,children:(0,k.jsx)(c,{placeholder:`Select VPC`})}),(0,k.jsx)(u,{children:L.map(e=>(0,k.jsx)(d,{value:e.VpcId??``,children:A(e)},e.VpcId))})]})}),(0,k.jsx)(C,{errors:[J.vpcId]})]}),(0,k.jsxs)(w,{children:[(0,k.jsx)(S,{children:`Subnets (select at least 2)`}),$.length===0?(0,k.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No subnets in the selected VPC.`}):(0,k.jsx)(`div`,{className:`space-y-3`,children:$.map(e=>(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`p`,{className:`mb-1 text-xs font-medium text-muted-foreground`,children:e.az}),(0,k.jsx)(`div`,{className:`space-y-1`,children:e.subnets.map(e=>(0,k.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,k.jsx)(`input`,{checked:me.includes(e.SubnetId??``),onChange:()=>ye(e.SubnetId??``),type:`checkbox`}),(0,k.jsx)(`span`,{className:`font-mono`,children:le(e)})]},e.SubnetId))})]},e.az))}),(0,k.jsx)(C,{errors:[J.subnetIds]})]}),(0,k.jsxs)(w,{children:[(0,k.jsx)(S,{children:`Security groups`}),Z.length===0?(0,k.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No security groups in the selected VPC.`}):(0,k.jsx)(`div`,{className:`space-y-1`,children:Z.map(e=>(0,k.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,k.jsx)(`input`,{checked:he.includes(e.GroupId??``),onChange:()=>be(e.GroupId??``),type:`checkbox`}),(0,k.jsxs)(`span`,{className:`font-mono`,children:[e.GroupId,` (`,e.GroupName,`)`]})]},e.GroupId))})]}),(0,k.jsxs)(w,{children:[(0,k.jsx)(S,{children:`Tags`}),(0,k.jsxs)(`div`,{className:`space-y-2`,children:[ge.map((e,t)=>(0,k.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,k.jsx)(_,{placeholder:`Key`,...U(`tags.${t}.key`)}),(0,k.jsx)(_,{placeholder:`Value`,...U(`tags.${t}.value`)}),(0,k.jsx)(g,{onClick:()=>K(`tags`,q(`tags`).filter((e,n)=>n!==t)),size:`icon`,type:`button`,variant:`ghost`,children:(0,k.jsx)(h,{className:`size-3.5`})})]},t)),(0,k.jsxs)(g,{onClick:()=>K(`tags`,[...q(`tags`),{key:``,value:``}]),size:`sm`,type:`button`,variant:`outline`,children:[(0,k.jsx)(p,{className:`size-3.5`}),`Add tag`]})]})]}),(0,k.jsxs)(`div`,{className:`space-y-4 rounded-md border bg-card p-4`,children:[(0,k.jsx)(`h2`,{className:`text-sm font-semibold`,children:`First listener & default target group`}),(0,k.jsxs)(w,{children:[(0,k.jsx)(S,{children:(0,k.jsx)(`label`,{htmlFor:`listener-protocol`,children:`Protocol`})}),(0,k.jsx)(T,{control:G,name:`listener.protocol`,render:({field:e})=>(0,k.jsxs)(f,{onValueChange:e.onChange,value:e.value,children:[(0,k.jsx)(l,{className:`w-full`,id:`listener-protocol`,children:(0,k.jsx)(c,{})}),(0,k.jsx)(u,{children:(0,k.jsx)(d,{value:`HTTP`,children:`HTTP`})})]})})]}),(0,k.jsxs)(w,{children:[(0,k.jsx)(S,{children:(0,k.jsx)(`label`,{htmlFor:`listener-port`,children:`Port`})}),(0,k.jsx)(_,{"aria-invalid":!!J.listener?.port,id:`listener-port`,inputMode:`numeric`,type:`number`,...U(`listener.port`,{valueAsNumber:!0})}),(0,k.jsx)(C,{errors:[J.listener?.port]})]}),(0,k.jsxs)(w,{children:[(0,k.jsx)(S,{children:`Default target group`}),(0,k.jsx)(T,{control:G,name:`listener.targetGroupMode`,render:({field:e})=>(0,k.jsxs)(`div`,{className:`flex gap-4`,children:[(0,k.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,k.jsx)(`input`,{checked:e.value===`new`,name:`tg-mode`,onChange:()=>e.onChange(`new`),type:`radio`}),`Create new`]}),(0,k.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,k.jsx)(`input`,{checked:e.value===`existing`,name:`tg-mode`,onChange:()=>e.onChange(`existing`),type:`radio`}),`Use existing`]})]})})]}),X===`existing`&&(0,k.jsxs)(w,{children:[(0,k.jsx)(S,{children:(0,k.jsx)(`label`,{htmlFor:`tg-existing`,children:`Target group`})}),(0,k.jsx)(T,{control:G,name:`listener.existingTargetGroupArn`,render:({field:e})=>(0,k.jsxs)(f,{onValueChange:e.onChange,value:e.value??``,children:[(0,k.jsx)(l,{"aria-invalid":!!J.listener?.existingTargetGroupArn,className:`w-full`,id:`tg-existing`,children:(0,k.jsx)(c,{placeholder:`Select target group`})}),(0,k.jsx)(u,{children:Q.map(e=>(0,k.jsxs)(d,{value:e.TargetGroupArn??``,children:[e.TargetGroupName,` · `,e.Protocol,`:`,e.Port]},e.TargetGroupArn))})]})}),(0,k.jsx)(C,{errors:[J.listener?.existingTargetGroupArn]}),Q.length===0&&(0,k.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`No target groups in this VPC. Choose “Create new” instead.`})]}),X===`new`&&(0,k.jsx)(`div`,{className:`space-y-4 border-l-2 border-muted pl-4`,children:(0,k.jsx)(oe,{form:H,vpcs:L})})]}),(0,k.jsx)(m,{commands:de(W,H.watch)}),(0,k.jsx)(ie,{isPending:N.isPending,isSubmitting:pe,onCancel:()=>e({to:`/ec2/describe-load-balancers`}),pendingLabel:`Creating…`,submitLabel:`Create load balancer`})]})]}):(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(s,{to:`/ec2/describe-load-balancers`,children:`Back to load balancers`}),(0,k.jsx)(b,{title:`Create load balancer`}),(0,k.jsx)(ae,{})]})}function de(e,t){let n=t=>{let n=e(t);return typeof n==`string`?n:``},r=t=>{let n=e(t);return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]},i=t=>{let n=e(t);return typeof n==`number`&&Number.isFinite(n)?n:void 0},a=n(`name`)||``,o=n(`scheme`)||`internet-facing`,s=r(`subnetIds`),c=r(`securityGroupIds`),l=n(`listener.protocol`)||`HTTP`,u=i(`listener.port`)??80,d=n(`listener.targetGroupMode`),f=n(`listener.existingTargetGroupArn`),p=[],m={type:`comment`,value:`# Create ALB with listener and default target group + +`},h=e=>{let n=t(e);return typeof n==`string`?n:``},g=e=>{let n=t(e);return typeof n==`number`&&Number.isFinite(n)?n:void 0};if(d===`new`){let e=h(`name`)||``,t=g(`port`)??80,n=h(`vpcId`);p.push({label:`Create Target Group`,parts:[m,{type:`variable`,value:`TG_ARN=`},{type:`bin`,value:`$(AWS_PROFILE=spinifex aws elbv2 create-target-group`},{type:`flag`,value:` \\ + --name`},{type:`value`,value:` ${e}`},{type:`flag`,value:` \\ + --protocol HTTP --port`},{type:`value`,value:` ${t}`},{type:`flag`,value:` \\ + --target-type instance --vpc-id`},{type:`value`,value:` ${n||``}`},{type:`flag`,value:` \\ + --query`},{type:`value`,value:` 'TargetGroups[0].TargetGroupArn'`},{type:`flag`,value:` --output`},{type:`value`,value:` text)`}]})}else p.push({label:`Use Existing Target Group`,parts:[m,{type:`variable`,value:`TG_ARN=`},{type:`value`,value:f||``}]});let _=[{type:`variable`,value:`LB_ARN=`},{type:`bin`,value:`$(AWS_PROFILE=spinifex aws elbv2 create-load-balancer`},{type:`flag`,value:` \\ + --name`},{type:`value`,value:` ${a}`},{type:`flag`,value:` \\ + --scheme`},{type:`value`,value:` ${o}`},{type:`flag`,value:` \\ + --type application`}];return s.length>0&&_.push({type:`flag`,value:` \\ + --subnets`},{type:`value`,value:` ${s.join(` `)}`}),c.length>0&&_.push({type:`flag`,value:` \\ + --security-groups`},{type:`value`,value:` ${c.join(` `)}`}),_.push({type:`flag`,value:` \\ + --query`},{type:`value`,value:` 'LoadBalancers[0].LoadBalancerArn'`},{type:`flag`,value:` --output`},{type:`value`,value:` text)`}),p.push({label:`Create Load Balancer`,parts:_}),p.push({label:`Create Listener`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws elbv2 create-listener`},{type:`flag`,value:` \\ + --load-balancer-arn`},{type:`variable`,value:` "$LB_ARN"`},{type:`flag`,value:` \\ + --protocol`},{type:`value`,value:` ${l}`},{type:`flag`,value:` \\ + --port`},{type:`value`,value:` ${u}`},{type:`flag`,value:` \\ + --default-actions`},{type:`value`,value:` Type=forward,TargetGroupArn="$TG_ARN"`}]}),p}var M=j;export{M as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-placement-group.js b/spinifex/services/spinifexui/frontend/dist/assets/create-placement-group.js index 16277d779..4c08570ef 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-placement-group.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-placement-group.js @@ -1,3 +1,3 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./error-banner.js";import{t as r}from"./useNavigate.js";import{t as i}from"./back-link.js";import{a as ee,i as a,n as o,r as s,t as c}from"./select.js";import{t as l}from"./cli-command-panel.js";import{t as u}from"./input.js";import{c as d}from"./ec2.js";import{t as f}from"./page-heading.js";import{i as p,n as m,t as h}from"./field.js";import{n as g,r as _,t as v}from"./zod.js";import{r as y}from"./ec23.js";import{t as b}from"./form-actions.js";var te=t(),x=e();function S(){let e=(0,te.c)(52),t=r(),S=d(),C;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(C={resolver:v(y),defaultValues:{groupName:``,strategy:`spread`}},e[0]=C):C=e[0];let{control:w,handleSubmit:T,register:E,watch:D,formState:O}=_(C),{errors:k,isSubmitting:A}=O,j;e[1]!==S||e[2]!==t?(j=async e=>{t({to:`/ec2/describe-placement-groups/$id`,params:{id:(await S.mutateAsync(e)).PlacementGroup?.GroupId??``}})},e[1]=S,e[2]=t,e[3]=j):j=e[3];let M=j,N,P;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,x.jsx)(i,{to:`/ec2/describe-placement-groups`,children:`Back to placement groups`}),P=(0,x.jsx)(f,{title:`Create Placement Group`}),e[4]=N,e[5]=P):(N=e[4],P=e[5]);let F;e[6]===S.error?F=e[7]:(F=S.error&&(0,x.jsx)(n,{error:S.error,msg:`Failed to create placement group`}),e[6]=S.error,e[7]=F);let I;e[8]!==T||e[9]!==M?(I=T(M),e[8]=T,e[9]=M,e[10]=I):I=e[10];let L;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,x.jsx)(p,{children:(0,x.jsx)(`label`,{htmlFor:`groupName`,children:`Group Name`})}),e[11]=L):L=e[11];let R=!!k.groupName,z;e[12]===E?z=e[13]:(z=E(`groupName`),e[12]=E,e[13]=z);let B;e[14]!==R||e[15]!==z?(B=(0,x.jsx)(u,{"aria-invalid":R,id:`groupName`,placeholder:`my-placement-group`,...z}),e[14]=R,e[15]=z,e[16]=B):B=e[16];let V;e[17]===k.groupName?V=e[18]:(V=(0,x.jsx)(m,{errors:[k.groupName]}),e[17]=k.groupName,e[18]=V);let H;e[19]!==B||e[20]!==V?(H=(0,x.jsxs)(h,{children:[L,B,V]}),e[19]=B,e[20]=V,e[21]=H):H=e[21];let U;e[22]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,x.jsx)(p,{children:(0,x.jsx)(`label`,{htmlFor:`strategy`,children:`Strategy`})}),e[22]=U):U=e[22];let W;e[23]===k.strategy?W=e[24]:(W=e=>{let{field:t}=e;return(0,x.jsxs)(c,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,x.jsx)(a,{"aria-invalid":!!k.strategy,className:`w-full`,id:`strategy`,children:(0,x.jsx)(ee,{})}),(0,x.jsxs)(o,{children:[(0,x.jsx)(s,{value:`spread`,children:`spread`}),(0,x.jsx)(s,{value:`cluster`,children:`cluster`})]})]})},e[23]=k.strategy,e[24]=W);let G;e[25]!==w||e[26]!==W?(G=(0,x.jsx)(g,{control:w,name:`strategy`,render:W}),e[25]=w,e[26]=W,e[27]=G):G=e[27];let K;e[28]===k.strategy?K=e[29]:(K=(0,x.jsx)(m,{errors:[k.strategy]}),e[28]=k.strategy,e[29]=K);let q;e[30]!==G||e[31]!==K?(q=(0,x.jsxs)(h,{children:[U,G,K]}),e[30]=G,e[31]=K,e[32]=q):q=e[32];let J;e[33]===D?J=e[34]:(J=ne(D),e[33]=D,e[34]=J);let Y;e[35]===J?Y=e[36]:(Y=(0,x.jsx)(l,{commands:J}),e[35]=J,e[36]=Y);let X;e[37]===t?X=e[38]:(X=()=>t({to:`/ec2/describe-placement-groups`}),e[37]=t,e[38]=X);let Z;e[39]!==S.isPending||e[40]!==A||e[41]!==X?(Z=(0,x.jsx)(b,{isPending:S.isPending,isSubmitting:A,onCancel:X,pendingLabel:`Creating\\u2026`,submitLabel:`Create Placement Group`}),e[39]=S.isPending,e[40]=A,e[41]=X,e[42]=Z):Z=e[42];let Q;e[43]!==H||e[44]!==q||e[45]!==Y||e[46]!==Z||e[47]!==I?(Q=(0,x.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:I,children:[H,q,Y,Z]}),e[43]=H,e[44]=q,e[45]=Y,e[46]=Z,e[47]=I,e[48]=Q):Q=e[48];let $;return e[49]!==Q||e[50]!==F?($=(0,x.jsxs)(x.Fragment,{children:[N,P,F,Q]}),e[49]=Q,e[50]=F,e[51]=$):$=e[51],$}function ne(e){let t=e(`groupName`),n=typeof t==`string`?t:``,r=e(`strategy`),i=typeof r==`string`?r:``;return[{label:`Create Placement Group`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-placement-group`},{type:`flag`,value:` \\ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./error-banner.js";import{t as r}from"./useNavigate.js";import{t as i}from"./back-link.js";import{a as ee,i as a,n as o,r as s,t as c}from"./select.js";import{t as l}from"./cli-command-panel.js";import{t as u}from"./input.js";import{c as d}from"./ec2.js";import{t as f}from"./page-heading.js";import{i as p,n as m,t as h}from"./field.js";import{n as g,r as _,t as v}from"./zod.js";import{r as y}from"./ec23.js";import{t as b}from"./form-actions.js";var te=t(),x=e();function S(){let e=(0,te.c)(52),t=r(),S=d(),C;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(C={resolver:v(y),defaultValues:{groupName:``,strategy:`spread`}},e[0]=C):C=e[0];let{control:w,handleSubmit:T,register:E,watch:D,formState:O}=_(C),{errors:k,isSubmitting:A}=O,j;e[1]!==S||e[2]!==t?(j=async e=>{t({to:`/ec2/describe-placement-groups/$id`,params:{id:(await S.mutateAsync(e)).PlacementGroup?.GroupId??``}})},e[1]=S,e[2]=t,e[3]=j):j=e[3];let M=j,N,P;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,x.jsx)(i,{to:`/ec2/describe-placement-groups`,children:`Back to placement groups`}),P=(0,x.jsx)(f,{title:`Create Placement Group`}),e[4]=N,e[5]=P):(N=e[4],P=e[5]);let F;e[6]===S.error?F=e[7]:(F=S.error&&(0,x.jsx)(n,{error:S.error,msg:`Failed to create placement group`}),e[6]=S.error,e[7]=F);let I;e[8]!==T||e[9]!==M?(I=T(M),e[8]=T,e[9]=M,e[10]=I):I=e[10];let L;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,x.jsx)(p,{children:(0,x.jsx)(`label`,{htmlFor:`groupName`,children:`Group Name`})}),e[11]=L):L=e[11];let R=!!k.groupName,z;e[12]===E?z=e[13]:(z=E(`groupName`),e[12]=E,e[13]=z);let B;e[14]!==R||e[15]!==z?(B=(0,x.jsx)(u,{"aria-invalid":R,id:`groupName`,placeholder:`my-placement-group`,...z}),e[14]=R,e[15]=z,e[16]=B):B=e[16];let V;e[17]===k.groupName?V=e[18]:(V=(0,x.jsx)(m,{errors:[k.groupName]}),e[17]=k.groupName,e[18]=V);let H;e[19]!==B||e[20]!==V?(H=(0,x.jsxs)(h,{children:[L,B,V]}),e[19]=B,e[20]=V,e[21]=H):H=e[21];let U;e[22]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,x.jsx)(p,{children:(0,x.jsx)(`label`,{htmlFor:`strategy`,children:`Strategy`})}),e[22]=U):U=e[22];let W;e[23]===k.strategy?W=e[24]:(W=e=>{let{field:t}=e;return(0,x.jsxs)(c,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,x.jsx)(a,{"aria-invalid":!!k.strategy,className:`w-full`,id:`strategy`,children:(0,x.jsx)(ee,{})}),(0,x.jsxs)(o,{children:[(0,x.jsx)(s,{value:`spread`,children:`spread`}),(0,x.jsx)(s,{value:`cluster`,children:`cluster`})]})]})},e[23]=k.strategy,e[24]=W);let G;e[25]!==w||e[26]!==W?(G=(0,x.jsx)(g,{control:w,name:`strategy`,render:W}),e[25]=w,e[26]=W,e[27]=G):G=e[27];let K;e[28]===k.strategy?K=e[29]:(K=(0,x.jsx)(m,{errors:[k.strategy]}),e[28]=k.strategy,e[29]=K);let q;e[30]!==G||e[31]!==K?(q=(0,x.jsxs)(h,{children:[U,G,K]}),e[30]=G,e[31]=K,e[32]=q):q=e[32];let J;e[33]===D?J=e[34]:(J=ne(D),e[33]=D,e[34]=J);let Y;e[35]===J?Y=e[36]:(Y=(0,x.jsx)(l,{commands:J}),e[35]=J,e[36]=Y);let X;e[37]===t?X=e[38]:(X=()=>t({to:`/ec2/describe-placement-groups`}),e[37]=t,e[38]=X);let Z;e[39]!==S.isPending||e[40]!==A||e[41]!==X?(Z=(0,x.jsx)(b,{isPending:S.isPending,isSubmitting:A,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Placement Group`}),e[39]=S.isPending,e[40]=A,e[41]=X,e[42]=Z):Z=e[42];let Q;e[43]!==H||e[44]!==q||e[45]!==Y||e[46]!==Z||e[47]!==I?(Q=(0,x.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:I,children:[H,q,Y,Z]}),e[43]=H,e[44]=q,e[45]=Y,e[46]=Z,e[47]=I,e[48]=Q):Q=e[48];let $;return e[49]!==Q||e[50]!==F?($=(0,x.jsxs)(x.Fragment,{children:[N,P,F,Q]}),e[49]=Q,e[50]=F,e[51]=$):$=e[51],$}function ne(e){let t=e(`groupName`),n=typeof t==`string`?t:``,r=e(`strategy`),i=typeof r==`string`?r:``;return[{label:`Create Placement Group`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-placement-group`},{type:`flag`,value:` \\ --group-name`},{type:`value`,value:` ${n||``}`},{type:`flag`,value:` \\ --strategy`},{type:`value`,value:` ${i||`spread`}`}]}]}export{S as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-security-group.js b/spinifex/services/spinifexui/frontend/dist/assets/create-security-group.js index 725704f9c..bdd5ba90d 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-security-group.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-security-group.js @@ -1,4 +1,4 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./error-banner.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./useNavigate.js";import{B as a}from"./SignatureV4.js";import{t as o}from"./back-link.js";import{a as s,i as ee,n as te,r as c,t as ne}from"./select.js";import{t as re}from"./cli-command-panel.js";import{t as l}from"./input.js";import{l as ie}from"./ec2.js";import{x as ae}from"./ec22.js";import{t as oe}from"./page-heading.js";import{i as u,n as d,t as f}from"./field.js";import{n as se,r as ce,t as le}from"./zod.js";import{i as ue}from"./ec23.js";import{t as de}from"./form-actions.js";var fe=t(),p=e();function m(){let e=(0,fe.c)(69),t=i(),{data:a}=r(ae),c=ie(),m;e[0]===a.Vpcs?m=e[1]:(m=a.Vpcs??[],e[0]=a.Vpcs,e[1]=m);let h=m,g;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(g=le(ue),e[2]=g):g=e[2];let _=h[0]?.VpcId??``,v;e[3]===_?v=e[4]:(v={resolver:g,defaultValues:{groupName:``,description:``,vpcId:_}},e[3]=_,e[4]=v);let{control:y,handleSubmit:b,register:x,watch:S,formState:he}=ce(v),{errors:C,isSubmitting:w}=he,T;e[5]!==c||e[6]!==t?(T=async e=>{let n=(await c.mutateAsync(e)).GroupId;t(n?{to:`/ec2/describe-security-groups/$id`,params:{id:n}}:{to:`/ec2/describe-security-groups`})},e[5]=c,e[6]=t,e[7]=T):T=e[7];let E=T,D,O;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,p.jsx)(o,{to:`/ec2/describe-security-groups`,children:`Back to Security Groups`}),O=(0,p.jsx)(oe,{title:`Create Security Group`}),e[8]=D,e[9]=O):(D=e[8],O=e[9]);let k;e[10]===c.error?k=e[11]:(k=c.error&&(0,p.jsx)(n,{error:c.error,msg:`Failed to create security group`}),e[10]=c.error,e[11]=k);let A;e[12]!==b||e[13]!==E?(A=b(E),e[12]=b,e[13]=E,e[14]=A):A=e[14];let j;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,p.jsx)(u,{children:(0,p.jsx)(`label`,{htmlFor:`groupName`,children:`Group Name`})}),e[15]=j):j=e[15];let M=!!C.groupName,N;e[16]===x?N=e[17]:(N=x(`groupName`),e[16]=x,e[17]=N);let P;e[18]!==M||e[19]!==N?(P=(0,p.jsx)(l,{"aria-invalid":M,id:`groupName`,placeholder:`my-security-group`,...N}),e[18]=M,e[19]=N,e[20]=P):P=e[20];let F;e[21]===C.groupName?F=e[22]:(F=(0,p.jsx)(d,{errors:[C.groupName]}),e[21]=C.groupName,e[22]=F);let I;e[23]!==P||e[24]!==F?(I=(0,p.jsxs)(f,{children:[j,P,F]}),e[23]=P,e[24]=F,e[25]=I):I=e[25];let L;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,p.jsx)(u,{children:(0,p.jsx)(`label`,{htmlFor:`description`,children:`Description`})}),e[26]=L):L=e[26];let R=!!C.description,z;e[27]===x?z=e[28]:(z=x(`description`),e[27]=x,e[28]=z);let B;e[29]!==R||e[30]!==z?(B=(0,p.jsx)(l,{"aria-invalid":R,id:`description`,placeholder:`My security group description`,...z}),e[29]=R,e[30]=z,e[31]=B):B=e[31];let V;e[32]===C.description?V=e[33]:(V=(0,p.jsx)(d,{errors:[C.description]}),e[32]=C.description,e[33]=V);let H;e[34]!==B||e[35]!==V?(H=(0,p.jsxs)(f,{children:[L,B,V]}),e[34]=B,e[35]=V,e[36]=H):H=e[36];let U;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,p.jsx)(u,{children:(0,p.jsx)(`label`,{htmlFor:`vpcId`,children:`VPC`})}),e[37]=U):U=e[37];let W;e[38]!==C.vpcId||e[39]!==h?(W=e=>{let{field:t}=e;return(0,p.jsxs)(ne,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,p.jsx)(ee,{"aria-invalid":!!C.vpcId,className:`w-full`,id:`vpcId`,children:(0,p.jsx)(s,{})}),(0,p.jsx)(te,{children:h.map(pe)})]})},e[38]=C.vpcId,e[39]=h,e[40]=W):W=e[40];let G;e[41]!==y||e[42]!==W?(G=(0,p.jsx)(se,{control:y,name:`vpcId`,render:W}),e[41]=y,e[42]=W,e[43]=G):G=e[43];let K;e[44]===C.vpcId?K=e[45]:(K=(0,p.jsx)(d,{errors:[C.vpcId]}),e[44]=C.vpcId,e[45]=K);let q;e[46]!==G||e[47]!==K?(q=(0,p.jsxs)(f,{children:[U,G,K]}),e[46]=G,e[47]=K,e[48]=q):q=e[48];let J;e[49]===S?J=e[50]:(J=me(S),e[49]=S,e[50]=J);let Y;e[51]===J?Y=e[52]:(Y=(0,p.jsx)(re,{commands:J}),e[51]=J,e[52]=Y);let X;e[53]===t?X=e[54]:(X=()=>t({to:`/ec2/describe-security-groups`}),e[53]=t,e[54]=X);let Z;e[55]!==c.isPending||e[56]!==w||e[57]!==X?(Z=(0,p.jsx)(de,{isPending:c.isPending,isSubmitting:w,onCancel:X,pendingLabel:`Creating\\u2026`,submitLabel:`Create Security Group`}),e[55]=c.isPending,e[56]=w,e[57]=X,e[58]=Z):Z=e[58];let Q;e[59]!==I||e[60]!==H||e[61]!==q||e[62]!==Y||e[63]!==Z||e[64]!==A?(Q=(0,p.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:A,children:[I,H,q,Y,Z]}),e[59]=I,e[60]=H,e[61]=q,e[62]=Y,e[63]=Z,e[64]=A,e[65]=Q):Q=e[65];let $;return e[66]!==Q||e[67]!==k?($=(0,p.jsxs)(p.Fragment,{children:[D,O,k,Q]}),e[66]=Q,e[67]=k,e[68]=$):$=e[68],$}function pe(e){let t=a(e.Tags);return(0,p.jsx)(c,{value:e.VpcId??``,children:t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`},e.VpcId)}function me(e){let t=e(`groupName`),n=typeof t==`string`?t:``,r=e(`description`),i=typeof r==`string`?r:``,a=e(`vpcId`),o=typeof a==`string`?a:``,s=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-security-group`},{type:`flag`,value:` \\ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./error-banner.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./useNavigate.js";import{V as a}from"./SignatureV4.js";import{t as o}from"./back-link.js";import{a as s,i as ee,n as te,r as c,t as ne}from"./select.js";import{t as re}from"./cli-command-panel.js";import{t as l}from"./input.js";import{l as ie}from"./ec2.js";import{x as ae}from"./ec22.js";import{t as oe}from"./page-heading.js";import{i as u,n as d,t as f}from"./field.js";import{n as se,r as ce,t as le}from"./zod.js";import{i as ue}from"./ec23.js";import{t as de}from"./form-actions.js";var fe=t(),p=e();function m(){let e=(0,fe.c)(69),t=i(),{data:a}=r(ae),c=ie(),m;e[0]===a.Vpcs?m=e[1]:(m=a.Vpcs??[],e[0]=a.Vpcs,e[1]=m);let h=m,g;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(g=le(ue),e[2]=g):g=e[2];let _=h[0]?.VpcId??``,v;e[3]===_?v=e[4]:(v={resolver:g,defaultValues:{groupName:``,description:``,vpcId:_}},e[3]=_,e[4]=v);let{control:y,handleSubmit:b,register:x,watch:S,formState:he}=ce(v),{errors:C,isSubmitting:w}=he,T;e[5]!==c||e[6]!==t?(T=async e=>{let n=(await c.mutateAsync(e)).GroupId;t(n?{to:`/ec2/describe-security-groups/$id`,params:{id:n}}:{to:`/ec2/describe-security-groups`})},e[5]=c,e[6]=t,e[7]=T):T=e[7];let E=T,D,O;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,p.jsx)(o,{to:`/ec2/describe-security-groups`,children:`Back to Security Groups`}),O=(0,p.jsx)(oe,{title:`Create Security Group`}),e[8]=D,e[9]=O):(D=e[8],O=e[9]);let k;e[10]===c.error?k=e[11]:(k=c.error&&(0,p.jsx)(n,{error:c.error,msg:`Failed to create security group`}),e[10]=c.error,e[11]=k);let A;e[12]!==b||e[13]!==E?(A=b(E),e[12]=b,e[13]=E,e[14]=A):A=e[14];let j;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,p.jsx)(u,{children:(0,p.jsx)(`label`,{htmlFor:`groupName`,children:`Group Name`})}),e[15]=j):j=e[15];let M=!!C.groupName,N;e[16]===x?N=e[17]:(N=x(`groupName`),e[16]=x,e[17]=N);let P;e[18]!==M||e[19]!==N?(P=(0,p.jsx)(l,{"aria-invalid":M,id:`groupName`,placeholder:`my-security-group`,...N}),e[18]=M,e[19]=N,e[20]=P):P=e[20];let F;e[21]===C.groupName?F=e[22]:(F=(0,p.jsx)(d,{errors:[C.groupName]}),e[21]=C.groupName,e[22]=F);let I;e[23]!==P||e[24]!==F?(I=(0,p.jsxs)(f,{children:[j,P,F]}),e[23]=P,e[24]=F,e[25]=I):I=e[25];let L;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,p.jsx)(u,{children:(0,p.jsx)(`label`,{htmlFor:`description`,children:`Description`})}),e[26]=L):L=e[26];let R=!!C.description,z;e[27]===x?z=e[28]:(z=x(`description`),e[27]=x,e[28]=z);let B;e[29]!==R||e[30]!==z?(B=(0,p.jsx)(l,{"aria-invalid":R,id:`description`,placeholder:`My security group description`,...z}),e[29]=R,e[30]=z,e[31]=B):B=e[31];let V;e[32]===C.description?V=e[33]:(V=(0,p.jsx)(d,{errors:[C.description]}),e[32]=C.description,e[33]=V);let H;e[34]!==B||e[35]!==V?(H=(0,p.jsxs)(f,{children:[L,B,V]}),e[34]=B,e[35]=V,e[36]=H):H=e[36];let U;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,p.jsx)(u,{children:(0,p.jsx)(`label`,{htmlFor:`vpcId`,children:`VPC`})}),e[37]=U):U=e[37];let W;e[38]!==C.vpcId||e[39]!==h?(W=e=>{let{field:t}=e;return(0,p.jsxs)(ne,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,p.jsx)(ee,{"aria-invalid":!!C.vpcId,className:`w-full`,id:`vpcId`,children:(0,p.jsx)(s,{})}),(0,p.jsx)(te,{children:h.map(pe)})]})},e[38]=C.vpcId,e[39]=h,e[40]=W):W=e[40];let G;e[41]!==y||e[42]!==W?(G=(0,p.jsx)(se,{control:y,name:`vpcId`,render:W}),e[41]=y,e[42]=W,e[43]=G):G=e[43];let K;e[44]===C.vpcId?K=e[45]:(K=(0,p.jsx)(d,{errors:[C.vpcId]}),e[44]=C.vpcId,e[45]=K);let q;e[46]!==G||e[47]!==K?(q=(0,p.jsxs)(f,{children:[U,G,K]}),e[46]=G,e[47]=K,e[48]=q):q=e[48];let J;e[49]===S?J=e[50]:(J=me(S),e[49]=S,e[50]=J);let Y;e[51]===J?Y=e[52]:(Y=(0,p.jsx)(re,{commands:J}),e[51]=J,e[52]=Y);let X;e[53]===t?X=e[54]:(X=()=>t({to:`/ec2/describe-security-groups`}),e[53]=t,e[54]=X);let Z;e[55]!==c.isPending||e[56]!==w||e[57]!==X?(Z=(0,p.jsx)(de,{isPending:c.isPending,isSubmitting:w,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Security Group`}),e[55]=c.isPending,e[56]=w,e[57]=X,e[58]=Z):Z=e[58];let Q;e[59]!==I||e[60]!==H||e[61]!==q||e[62]!==Y||e[63]!==Z||e[64]!==A?(Q=(0,p.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:A,children:[I,H,q,Y,Z]}),e[59]=I,e[60]=H,e[61]=q,e[62]=Y,e[63]=Z,e[64]=A,e[65]=Q):Q=e[65];let $;return e[66]!==Q||e[67]!==k?($=(0,p.jsxs)(p.Fragment,{children:[D,O,k,Q]}),e[66]=Q,e[67]=k,e[68]=$):$=e[68],$}function pe(e){let t=a(e.Tags);return(0,p.jsx)(c,{value:e.VpcId??``,children:t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`},e.VpcId)}function me(e){let t=e(`groupName`),n=typeof t==`string`?t:``,r=e(`description`),i=typeof r==`string`?r:``,a=e(`vpcId`),o=typeof a==`string`?a:``,s=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-security-group`},{type:`flag`,value:` \\ --group-name`},{type:`value`,value:` ${n||``}`},{type:`flag`,value:` \\ --description`},{type:`value`,value:` "${i||``}"`}];return o&&s.push({type:`flag`,value:` \\ --vpc-id`},{type:`value`,value:` ${o}`}),[{label:`Create Security Group`,parts:s}]}export{m as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-snapshot.js b/spinifex/services/spinifexui/frontend/dist/assets/create-snapshot.js index 2a9dea784..078581d9c 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-snapshot.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-snapshot.js @@ -1,2 +1,2 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/create-snapshot2.js","assets/compiler-runtime.js","assets/ec2.js","assets/awsClient.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/toUtf8.browser.js","assets/ec22.js","assets/DescribeInstancesCommand.js","assets/queryOptions.js","assets/QueryClientProvider.js","assets/error-banner.js","assets/mutation.js","assets/select.js","assets/button.js","assets/dist.js","assets/useOpenInteractionType.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/useStore.js","assets/getDisabledMountTransitionStyles.js","assets/separator.js","assets/createLucideIcon.js","assets/check.js","assets/chevron-down.js","assets/zod.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/query.js","assets/useNavigate.js","assets/back-link.js","assets/link.js","assets/cli-command-panel.js","assets/copy.js","assets/use-copy-to-clipboard.js","assets/form-actions.js","assets/page-heading.js","assets/field.js","assets/textarea.js","assets/ec23.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{Ut as n}from"./awsClient.js";import{y as r}from"./ec22.js";var i=e(`/_auth/ec2/(snapshots)/create-snapshot`)({validateSearch:e=>({volumeId:typeof e.volumeId==`string`?e.volumeId:void 0}),loader:async({context:e})=>{await e.queryClient.ensureQueryData(r)},head:()=>({meta:[{title:`Create Snapshot | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./create-snapshot2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),`component`)});export{i as t}; \ No newline at end of file +import{n as e,t}from"./lazyRouteComponent.js";import{cn as n}from"./awsClient.js";import{y as r}from"./ec22.js";var i=e(`/_auth/ec2/(snapshots)/create-snapshot`)({validateSearch:e=>({volumeId:typeof e.volumeId==`string`?e.volumeId:void 0}),loader:async({context:e})=>{await e.queryClient.ensureQueryData(r)},head:()=>({meta:[{title:`Create Snapshot | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./create-snapshot2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),`component`)});export{i as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-snapshot2.js b/spinifex/services/spinifexui/frontend/dist/assets/create-snapshot2.js index 7316591a8..e00e85279 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-snapshot2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-snapshot2.js @@ -1,3 +1,3 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./error-banner.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./useNavigate.js";import{t as a}from"./back-link.js";import{a as o,i as s,n as c,r as l,t as u}from"./select.js";import{t as d}from"./cli-command-panel.js";import{u as ee}from"./ec2.js";import{y as te}from"./ec22.js";import{t as ne}from"./create-snapshot.js";import{t as f}from"./page-heading.js";import{i as p,n as re,t as m}from"./field.js";import{t as h}from"./textarea.js";import{n as ie,r as ae,t as g}from"./zod.js";import{a as oe}from"./ec23.js";import{t as _}from"./form-actions.js";var se=t(),v=e();function y(){let e=(0,se.c)(51),t=i(),{data:l}=r(te),y=ee(),x;e[0]===l.Volumes?x=e[1]:(x=l.Volumes??[],e[0]=l.Volumes,e[1]=x);let S=x,{volumeId:C}=ne.useSearch(),w=C??S[0]?.VolumeId??``,T;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(T=g(oe),e[2]=T):T=e[2];let E;e[3]===w?E=e[4]:(E={resolver:T,defaultValues:{volumeId:w,description:``}},e[3]=w,e[4]=E);let{control:D,handleSubmit:O,register:k,watch:A,formState:j}=ae(E),{errors:M,isSubmitting:N}=j,P;e[5]!==y||e[6]!==t?(P=async e=>{await y.mutateAsync(e),t({to:`/ec2/describe-snapshots`})},e[5]=y,e[6]=t,e[7]=P):P=e[7];let F=P,I,L;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,v.jsx)(a,{to:`/ec2/describe-snapshots`,children:`Back to snapshots`}),L=(0,v.jsx)(f,{title:`Create Snapshot`}),e[8]=I,e[9]=L):(I=e[8],L=e[9]);let R;e[10]===y.error?R=e[11]:(R=y.error&&(0,v.jsx)(n,{error:y.error,msg:`Failed to create snapshot`}),e[10]=y.error,e[11]=R);let z;e[12]!==O||e[13]!==F?(z=O(F),e[12]=O,e[13]=F,e[14]=z):z=e[14];let B;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,v.jsx)(p,{children:(0,v.jsx)(`label`,{htmlFor:`volumeId`,children:`Volume`})}),e[15]=B):B=e[15];let V;e[16]!==M.volumeId||e[17]!==S?(V=e=>{let{field:t}=e;return(0,v.jsxs)(u,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,v.jsx)(s,{"aria-invalid":!!M.volumeId,className:`w-full`,id:`volumeId`,children:(0,v.jsx)(o,{})}),(0,v.jsx)(c,{children:S.map(b)})]})},e[16]=M.volumeId,e[17]=S,e[18]=V):V=e[18];let H;e[19]!==D||e[20]!==V?(H=(0,v.jsx)(ie,{control:D,name:`volumeId`,render:V}),e[19]=D,e[20]=V,e[21]=H):H=e[21];let U;e[22]===M.volumeId?U=e[23]:(U=(0,v.jsx)(re,{errors:[M.volumeId]}),e[22]=M.volumeId,e[23]=U);let W;e[24]!==H||e[25]!==U?(W=(0,v.jsxs)(m,{children:[B,H,U]}),e[24]=H,e[25]=U,e[26]=W):W=e[26];let G;e[27]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,v.jsx)(p,{children:(0,v.jsx)(`label`,{htmlFor:`description`,children:`Description (optional)`})}),e[27]=G):G=e[27];let K;e[28]===k?K=e[29]:(K=k(`description`),e[28]=k,e[29]=K);let q;e[30]===K?q=e[31]:(q=(0,v.jsxs)(m,{children:[G,(0,v.jsx)(h,{id:`description`,placeholder:`Snapshot description`,...K})]}),e[30]=K,e[31]=q);let J;e[32]===A?J=e[33]:(J=ce(A),e[32]=A,e[33]=J);let Y;e[34]===J?Y=e[35]:(Y=(0,v.jsx)(d,{commands:J}),e[34]=J,e[35]=Y);let X;e[36]===t?X=e[37]:(X=()=>t({to:`/ec2/describe-snapshots`}),e[36]=t,e[37]=X);let Z;e[38]!==y.isPending||e[39]!==N||e[40]!==X?(Z=(0,v.jsx)(_,{isPending:y.isPending,isSubmitting:N,onCancel:X,pendingLabel:`Creating\\u2026`,submitLabel:`Create Snapshot`}),e[38]=y.isPending,e[39]=N,e[40]=X,e[41]=Z):Z=e[41];let Q;e[42]!==W||e[43]!==q||e[44]!==Y||e[45]!==Z||e[46]!==z?(Q=(0,v.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:z,children:[W,q,Y,Z]}),e[42]=W,e[43]=q,e[44]=Y,e[45]=Z,e[46]=z,e[47]=Q):Q=e[47];let $;return e[48]!==Q||e[49]!==R?($=(0,v.jsxs)(v.Fragment,{children:[I,L,R,Q]}),e[48]=Q,e[49]=R,e[50]=$):$=e[50],$}function b(e){return(0,v.jsxs)(l,{value:e.VolumeId??``,children:[e.VolumeId,` (`,e.Size,` GiB)`]},e.VolumeId)}function ce(e){let t=e(`volumeId`),n=typeof t==`string`?t:``,r=e(`description`),i=typeof r==`string`?r:``,a=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-snapshot`},{type:`flag`,value:` \\ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./error-banner.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./useNavigate.js";import{t as a}from"./back-link.js";import{a as o,i as s,n as c,r as l,t as u}from"./select.js";import{t as d}from"./cli-command-panel.js";import{u as ee}from"./ec2.js";import{y as te}from"./ec22.js";import{t as ne}from"./create-snapshot.js";import{t as f}from"./page-heading.js";import{i as p,n as re,t as m}from"./field.js";import{t as h}from"./textarea.js";import{n as ie,r as ae,t as g}from"./zod.js";import{a as oe}from"./ec23.js";import{t as _}from"./form-actions.js";var se=t(),v=e();function y(){let e=(0,se.c)(51),t=i(),{data:l}=r(te),y=ee(),x;e[0]===l.Volumes?x=e[1]:(x=l.Volumes??[],e[0]=l.Volumes,e[1]=x);let S=x,{volumeId:C}=ne.useSearch(),w=C??S[0]?.VolumeId??``,T;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(T=g(oe),e[2]=T):T=e[2];let E;e[3]===w?E=e[4]:(E={resolver:T,defaultValues:{volumeId:w,description:``}},e[3]=w,e[4]=E);let{control:D,handleSubmit:O,register:k,watch:A,formState:j}=ae(E),{errors:M,isSubmitting:N}=j,P;e[5]!==y||e[6]!==t?(P=async e=>{await y.mutateAsync(e),t({to:`/ec2/describe-snapshots`})},e[5]=y,e[6]=t,e[7]=P):P=e[7];let F=P,I,L;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,v.jsx)(a,{to:`/ec2/describe-snapshots`,children:`Back to snapshots`}),L=(0,v.jsx)(f,{title:`Create Snapshot`}),e[8]=I,e[9]=L):(I=e[8],L=e[9]);let R;e[10]===y.error?R=e[11]:(R=y.error&&(0,v.jsx)(n,{error:y.error,msg:`Failed to create snapshot`}),e[10]=y.error,e[11]=R);let z;e[12]!==O||e[13]!==F?(z=O(F),e[12]=O,e[13]=F,e[14]=z):z=e[14];let B;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,v.jsx)(p,{children:(0,v.jsx)(`label`,{htmlFor:`volumeId`,children:`Volume`})}),e[15]=B):B=e[15];let V;e[16]!==M.volumeId||e[17]!==S?(V=e=>{let{field:t}=e;return(0,v.jsxs)(u,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,v.jsx)(s,{"aria-invalid":!!M.volumeId,className:`w-full`,id:`volumeId`,children:(0,v.jsx)(o,{})}),(0,v.jsx)(c,{children:S.map(b)})]})},e[16]=M.volumeId,e[17]=S,e[18]=V):V=e[18];let H;e[19]!==D||e[20]!==V?(H=(0,v.jsx)(ie,{control:D,name:`volumeId`,render:V}),e[19]=D,e[20]=V,e[21]=H):H=e[21];let U;e[22]===M.volumeId?U=e[23]:(U=(0,v.jsx)(re,{errors:[M.volumeId]}),e[22]=M.volumeId,e[23]=U);let W;e[24]!==H||e[25]!==U?(W=(0,v.jsxs)(m,{children:[B,H,U]}),e[24]=H,e[25]=U,e[26]=W):W=e[26];let G;e[27]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,v.jsx)(p,{children:(0,v.jsx)(`label`,{htmlFor:`description`,children:`Description (optional)`})}),e[27]=G):G=e[27];let K;e[28]===k?K=e[29]:(K=k(`description`),e[28]=k,e[29]=K);let q;e[30]===K?q=e[31]:(q=(0,v.jsxs)(m,{children:[G,(0,v.jsx)(h,{id:`description`,placeholder:`Snapshot description`,...K})]}),e[30]=K,e[31]=q);let J;e[32]===A?J=e[33]:(J=ce(A),e[32]=A,e[33]=J);let Y;e[34]===J?Y=e[35]:(Y=(0,v.jsx)(d,{commands:J}),e[34]=J,e[35]=Y);let X;e[36]===t?X=e[37]:(X=()=>t({to:`/ec2/describe-snapshots`}),e[36]=t,e[37]=X);let Z;e[38]!==y.isPending||e[39]!==N||e[40]!==X?(Z=(0,v.jsx)(_,{isPending:y.isPending,isSubmitting:N,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Snapshot`}),e[38]=y.isPending,e[39]=N,e[40]=X,e[41]=Z):Z=e[41];let Q;e[42]!==W||e[43]!==q||e[44]!==Y||e[45]!==Z||e[46]!==z?(Q=(0,v.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:z,children:[W,q,Y,Z]}),e[42]=W,e[43]=q,e[44]=Y,e[45]=Z,e[46]=z,e[47]=Q):Q=e[47];let $;return e[48]!==Q||e[49]!==R?($=(0,v.jsxs)(v.Fragment,{children:[I,L,R,Q]}),e[48]=Q,e[49]=R,e[50]=$):$=e[50],$}function b(e){return(0,v.jsxs)(l,{value:e.VolumeId??``,children:[e.VolumeId,` (`,e.Size,` GiB)`]},e.VolumeId)}function ce(e){let t=e(`volumeId`),n=typeof t==`string`?t:``,r=e(`description`),i=typeof r==`string`?r:``,a=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-snapshot`},{type:`flag`,value:` \\ --volume-id`},{type:`value`,value:` ${n||``}`}];return i&&a.push({type:`flag`,value:` \\ --description`},{type:`value`,value:` "${i}"`}),[{label:`Create Snapshot`,parts:a}]}export{y as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-subnet.js b/spinifex/services/spinifexui/frontend/dist/assets/create-subnet.js index 12ac78df3..4462cf39e 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-subnet.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-subnet.js @@ -1,4 +1,4 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./error-banner.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./useNavigate.js";import{B as a}from"./SignatureV4.js";import{t as o}from"./back-link.js";import{a as s,i as c,n as ee,r as l,t as te}from"./select.js";import{t as ne}from"./cli-command-panel.js";import{t as re}from"./input.js";import{d as ie}from"./ec2.js";import{t as ae,x as oe}from"./ec22.js";import{t as se}from"./page-heading.js";import{i as u,n as ce,t as d}from"./field.js";import{n as le,r as ue,t as de}from"./zod.js";import{o as fe}from"./ec23.js";import{t as pe}from"./form-actions.js";var me=t(),f=e();function p(){let e=(0,me.c)(66),t=i(),{data:a}=r(oe),{data:p}=r(ae),m=ie(),h;e[0]===a.Vpcs?h=e[1]:(h=a.Vpcs??[],e[0]=a.Vpcs,e[1]=h);let g=h,_;e[2]===p.AvailabilityZones?_=e[3]:(_=p.AvailabilityZones??[],e[2]=p.AvailabilityZones,e[3]=_);let v=_,y;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(y=de(fe),e[4]=y):y=e[4];let b=g[0]?.VpcId??``,x;e[5]===b?x=e[6]:(x={resolver:y,defaultValues:{vpcId:b,cidrBlock:`10.0.1.0/24`,availabilityZone:``}},e[5]=b,e[6]=x);let{control:S,handleSubmit:C,register:w,watch:T,formState:ve}=ue(x),{errors:E,isSubmitting:D}=ve,O;e[7]!==m||e[8]!==t?(O=async e=>{let n=(await m.mutateAsync(e)).Subnet?.SubnetId;t(n?{to:`/ec2/describe-subnets/$id`,params:{id:n}}:{to:`/ec2/describe-subnets`})},e[7]=m,e[8]=t,e[9]=O):O=e[9];let k=O,A,j;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,f.jsx)(o,{to:`/ec2/describe-subnets`,children:`Back to Subnets`}),j=(0,f.jsx)(se,{title:`Create Subnet`}),e[10]=A,e[11]=j):(A=e[10],j=e[11]);let M;e[12]===m.error?M=e[13]:(M=m.error&&(0,f.jsx)(n,{error:m.error,msg:`Failed to create subnet`}),e[12]=m.error,e[13]=M);let N;e[14]!==C||e[15]!==k?(N=C(k),e[14]=C,e[15]=k,e[16]=N):N=e[16];let P;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,f.jsx)(u,{children:(0,f.jsx)(`label`,{htmlFor:`vpcId`,children:`VPC`})}),e[17]=P):P=e[17];let F;e[18]!==E.vpcId||e[19]!==g?(F=e=>{let{field:t}=e;return(0,f.jsxs)(te,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,f.jsx)(c,{"aria-invalid":!!E.vpcId,className:`w-full`,id:`vpcId`,children:(0,f.jsx)(s,{})}),(0,f.jsx)(ee,{children:g.map(ge)})]})},e[18]=E.vpcId,e[19]=g,e[20]=F):F=e[20];let I;e[21]!==S||e[22]!==F?(I=(0,f.jsx)(le,{control:S,name:`vpcId`,render:F}),e[21]=S,e[22]=F,e[23]=I):I=e[23];let L;e[24]===E.vpcId?L=e[25]:(L=(0,f.jsx)(ce,{errors:[E.vpcId]}),e[24]=E.vpcId,e[25]=L);let R;e[26]!==I||e[27]!==L?(R=(0,f.jsxs)(d,{children:[P,I,L]}),e[26]=I,e[27]=L,e[28]=R):R=e[28];let z;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,f.jsx)(u,{children:(0,f.jsx)(`label`,{htmlFor:`cidrBlock`,children:`CIDR Block`})}),e[29]=z):z=e[29];let B=!!E.cidrBlock,V;e[30]===w?V=e[31]:(V=w(`cidrBlock`),e[30]=w,e[31]=V);let H;e[32]!==B||e[33]!==V?(H=(0,f.jsx)(re,{"aria-invalid":B,id:`cidrBlock`,placeholder:`10.0.1.0/24`,...V}),e[32]=B,e[33]=V,e[34]=H):H=e[34];let U;e[35]===E.cidrBlock?U=e[36]:(U=(0,f.jsx)(ce,{errors:[E.cidrBlock]}),e[35]=E.cidrBlock,e[36]=U);let W;e[37]!==H||e[38]!==U?(W=(0,f.jsxs)(d,{children:[z,H,U]}),e[37]=H,e[38]=U,e[39]=W):W=e[39];let G;e[40]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,f.jsx)(u,{children:(0,f.jsx)(`label`,{htmlFor:`availabilityZone`,children:`Availability Zone (optional)`})}),e[40]=G):G=e[40];let K;e[41]===v?K=e[42]:(K=e=>{let{field:t}=e;return(0,f.jsxs)(te,{onValueChange:e=>t.onChange(e===`none`?``:e),value:t.value??`none`,children:[(0,f.jsx)(c,{className:`w-full`,id:`availabilityZone`,children:(0,f.jsx)(s,{})}),(0,f.jsxs)(ee,{children:[(0,f.jsx)(l,{value:`none`,children:`none`}),v.map(he)]})]})},e[41]=v,e[42]=K);let q;e[43]!==S||e[44]!==K?(q=(0,f.jsxs)(d,{children:[G,(0,f.jsx)(le,{control:S,name:`availabilityZone`,render:K})]}),e[43]=S,e[44]=K,e[45]=q):q=e[45];let J;e[46]===T?J=e[47]:(J=_e(T),e[46]=T,e[47]=J);let Y;e[48]===J?Y=e[49]:(Y=(0,f.jsx)(ne,{commands:J}),e[48]=J,e[49]=Y);let X;e[50]===t?X=e[51]:(X=()=>t({to:`/ec2/describe-subnets`}),e[50]=t,e[51]=X);let Z;e[52]!==m.isPending||e[53]!==D||e[54]!==X?(Z=(0,f.jsx)(pe,{isPending:m.isPending,isSubmitting:D,onCancel:X,pendingLabel:`Creating\\u2026`,submitLabel:`Create Subnet`}),e[52]=m.isPending,e[53]=D,e[54]=X,e[55]=Z):Z=e[55];let Q;e[56]!==N||e[57]!==R||e[58]!==W||e[59]!==q||e[60]!==Y||e[61]!==Z?(Q=(0,f.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:N,children:[R,W,q,Y,Z]}),e[56]=N,e[57]=R,e[58]=W,e[59]=q,e[60]=Y,e[61]=Z,e[62]=Q):Q=e[62];let $;return e[63]!==Q||e[64]!==M?($=(0,f.jsxs)(f.Fragment,{children:[A,j,M,Q]}),e[63]=Q,e[64]=M,e[65]=$):$=e[65],$}function he(e){return(0,f.jsx)(l,{value:e.ZoneName??``,children:e.ZoneName},e.ZoneName)}function ge(e){let t=a(e.Tags);return(0,f.jsx)(l,{value:e.VpcId??``,children:t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`},e.VpcId)}function _e(e){let t=e(`vpcId`),n=typeof t==`string`?t:``,r=e(`cidrBlock`),i=typeof r==`string`?r:``,a=e(`availabilityZone`),o=typeof a==`string`?a:``,s=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-subnet`},{type:`flag`,value:` \\ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./error-banner.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./useNavigate.js";import{V as a}from"./SignatureV4.js";import{t as o}from"./back-link.js";import{a as s,i as c,n as ee,r as l,t as te}from"./select.js";import{t as ne}from"./cli-command-panel.js";import{t as re}from"./input.js";import{d as ie}from"./ec2.js";import{t as ae,x as oe}from"./ec22.js";import{t as se}from"./page-heading.js";import{i as u,n as ce,t as d}from"./field.js";import{n as le,r as ue,t as de}from"./zod.js";import{o as fe}from"./ec23.js";import{t as pe}from"./form-actions.js";var me=t(),f=e();function p(){let e=(0,me.c)(66),t=i(),{data:a}=r(oe),{data:p}=r(ae),m=ie(),h;e[0]===a.Vpcs?h=e[1]:(h=a.Vpcs??[],e[0]=a.Vpcs,e[1]=h);let g=h,_;e[2]===p.AvailabilityZones?_=e[3]:(_=p.AvailabilityZones??[],e[2]=p.AvailabilityZones,e[3]=_);let v=_,y;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(y=de(fe),e[4]=y):y=e[4];let b=g[0]?.VpcId??``,x;e[5]===b?x=e[6]:(x={resolver:y,defaultValues:{vpcId:b,cidrBlock:`10.0.1.0/24`,availabilityZone:``}},e[5]=b,e[6]=x);let{control:S,handleSubmit:C,register:w,watch:T,formState:ve}=ue(x),{errors:E,isSubmitting:D}=ve,O;e[7]!==m||e[8]!==t?(O=async e=>{let n=(await m.mutateAsync(e)).Subnet?.SubnetId;t(n?{to:`/ec2/describe-subnets/$id`,params:{id:n}}:{to:`/ec2/describe-subnets`})},e[7]=m,e[8]=t,e[9]=O):O=e[9];let k=O,A,j;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,f.jsx)(o,{to:`/ec2/describe-subnets`,children:`Back to Subnets`}),j=(0,f.jsx)(se,{title:`Create Subnet`}),e[10]=A,e[11]=j):(A=e[10],j=e[11]);let M;e[12]===m.error?M=e[13]:(M=m.error&&(0,f.jsx)(n,{error:m.error,msg:`Failed to create subnet`}),e[12]=m.error,e[13]=M);let N;e[14]!==C||e[15]!==k?(N=C(k),e[14]=C,e[15]=k,e[16]=N):N=e[16];let P;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,f.jsx)(u,{children:(0,f.jsx)(`label`,{htmlFor:`vpcId`,children:`VPC`})}),e[17]=P):P=e[17];let F;e[18]!==E.vpcId||e[19]!==g?(F=e=>{let{field:t}=e;return(0,f.jsxs)(te,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,f.jsx)(c,{"aria-invalid":!!E.vpcId,className:`w-full`,id:`vpcId`,children:(0,f.jsx)(s,{})}),(0,f.jsx)(ee,{children:g.map(ge)})]})},e[18]=E.vpcId,e[19]=g,e[20]=F):F=e[20];let I;e[21]!==S||e[22]!==F?(I=(0,f.jsx)(le,{control:S,name:`vpcId`,render:F}),e[21]=S,e[22]=F,e[23]=I):I=e[23];let L;e[24]===E.vpcId?L=e[25]:(L=(0,f.jsx)(ce,{errors:[E.vpcId]}),e[24]=E.vpcId,e[25]=L);let R;e[26]!==I||e[27]!==L?(R=(0,f.jsxs)(d,{children:[P,I,L]}),e[26]=I,e[27]=L,e[28]=R):R=e[28];let z;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,f.jsx)(u,{children:(0,f.jsx)(`label`,{htmlFor:`cidrBlock`,children:`CIDR Block`})}),e[29]=z):z=e[29];let B=!!E.cidrBlock,V;e[30]===w?V=e[31]:(V=w(`cidrBlock`),e[30]=w,e[31]=V);let H;e[32]!==B||e[33]!==V?(H=(0,f.jsx)(re,{"aria-invalid":B,id:`cidrBlock`,placeholder:`10.0.1.0/24`,...V}),e[32]=B,e[33]=V,e[34]=H):H=e[34];let U;e[35]===E.cidrBlock?U=e[36]:(U=(0,f.jsx)(ce,{errors:[E.cidrBlock]}),e[35]=E.cidrBlock,e[36]=U);let W;e[37]!==H||e[38]!==U?(W=(0,f.jsxs)(d,{children:[z,H,U]}),e[37]=H,e[38]=U,e[39]=W):W=e[39];let G;e[40]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,f.jsx)(u,{children:(0,f.jsx)(`label`,{htmlFor:`availabilityZone`,children:`Availability Zone (optional)`})}),e[40]=G):G=e[40];let K;e[41]===v?K=e[42]:(K=e=>{let{field:t}=e;return(0,f.jsxs)(te,{onValueChange:e=>t.onChange(e===`none`?``:e),value:t.value??`none`,children:[(0,f.jsx)(c,{className:`w-full`,id:`availabilityZone`,children:(0,f.jsx)(s,{})}),(0,f.jsxs)(ee,{children:[(0,f.jsx)(l,{value:`none`,children:`none`}),v.map(he)]})]})},e[41]=v,e[42]=K);let q;e[43]!==S||e[44]!==K?(q=(0,f.jsxs)(d,{children:[G,(0,f.jsx)(le,{control:S,name:`availabilityZone`,render:K})]}),e[43]=S,e[44]=K,e[45]=q):q=e[45];let J;e[46]===T?J=e[47]:(J=_e(T),e[46]=T,e[47]=J);let Y;e[48]===J?Y=e[49]:(Y=(0,f.jsx)(ne,{commands:J}),e[48]=J,e[49]=Y);let X;e[50]===t?X=e[51]:(X=()=>t({to:`/ec2/describe-subnets`}),e[50]=t,e[51]=X);let Z;e[52]!==m.isPending||e[53]!==D||e[54]!==X?(Z=(0,f.jsx)(pe,{isPending:m.isPending,isSubmitting:D,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Subnet`}),e[52]=m.isPending,e[53]=D,e[54]=X,e[55]=Z):Z=e[55];let Q;e[56]!==N||e[57]!==R||e[58]!==W||e[59]!==q||e[60]!==Y||e[61]!==Z?(Q=(0,f.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:N,children:[R,W,q,Y,Z]}),e[56]=N,e[57]=R,e[58]=W,e[59]=q,e[60]=Y,e[61]=Z,e[62]=Q):Q=e[62];let $;return e[63]!==Q||e[64]!==M?($=(0,f.jsxs)(f.Fragment,{children:[A,j,M,Q]}),e[63]=Q,e[64]=M,e[65]=$):$=e[65],$}function he(e){return(0,f.jsx)(l,{value:e.ZoneName??``,children:e.ZoneName},e.ZoneName)}function ge(e){let t=a(e.Tags);return(0,f.jsx)(l,{value:e.VpcId??``,children:t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`},e.VpcId)}function _e(e){let t=e(`vpcId`),n=typeof t==`string`?t:``,r=e(`cidrBlock`),i=typeof r==`string`?r:``,a=e(`availabilityZone`),o=typeof a==`string`?a:``,s=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-subnet`},{type:`flag`,value:` \\ --vpc-id`},{type:`value`,value:` ${n||``}`},{type:`flag`,value:` \\ --cidr-block`},{type:`value`,value:` ${i||``}`}];return o&&s.push({type:`flag`,value:` \\ --availability-zone`},{type:`value`,value:` ${o}`}),[{label:`Create Subnet`,parts:s}]}export{p as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-target-group.js b/spinifex/services/spinifexui/frontend/dist/assets/create-target-group.js new file mode 100644 index 000000000..609807627 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-target-group.js @@ -0,0 +1,14 @@ +import{n as e}from"./compiler-runtime.js";import{t}from"./error-banner.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./useNavigate.js";import{t as i}from"./back-link.js";import{t as a}from"./cli-command-panel.js";import{x as o}from"./ec22.js";import{r as s}from"./elbv2.js";import{t as c}from"./page-heading.js";import{r as l,t as u}from"./zod.js";import{t as d}from"./form-actions.js";import{t as f}from"./target-group-form.js";import{r as p}from"./elbv23.js";var m=e();function h(){let e=r(),{data:h}=n(o),_=s(),v=h.Vpcs??[],y=l({resolver:u(p),defaultValues:{name:``,protocol:`HTTP`,port:80,vpcId:v[0]?.VpcId??``,healthCheck:{protocol:`HTTP`,path:`/`,port:`traffic-port`,intervalSeconds:30,timeoutSeconds:5,healthyThresholdCount:5,unhealthyThresholdCount:2,matcher:`200`},tags:[]}}),{handleSubmit:b,watch:x,formState:{isSubmitting:S}}=y;return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(i,{to:`/ec2/describe-target-groups`,children:`Back to target groups`}),(0,m.jsx)(c,{title:`Create target group`}),_.error&&(0,m.jsx)(t,{error:_.error,msg:`Failed to create target group`}),(0,m.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:b(async t=>{try{let n=(await _.mutateAsync(t)).TargetGroups?.[0]?.TargetGroupArn;e(n?{to:`/ec2/describe-target-groups/$id`,params:{id:encodeURIComponent(n)}}:{to:`/ec2/describe-target-groups`})}catch{}}),children:[(0,m.jsx)(f,{form:y,vpcs:v}),(0,m.jsx)(a,{commands:g(x)}),(0,m.jsx)(d,{isPending:_.isPending,isSubmitting:S,onCancel:()=>e({to:`/ec2/describe-target-groups`}),pendingLabel:`Creating…`,submitLabel:`Create target group`})]})]})}function g(e){let t=t=>{let n=e(t);return typeof n==`string`?n:``},n=t=>{let n=e(t);return typeof n==`number`&&Number.isFinite(n)?n:void 0},r=t(`name`),i=t(`protocol`)||`HTTP`,a=n(`port`),o=t(`vpcId`),s=t(`healthCheck.path`)||`/`,c=t(`healthCheck.port`)||`traffic-port`,l=n(`healthCheck.intervalSeconds`),u=n(`healthCheck.timeoutSeconds`),d=n(`healthCheck.healthyThresholdCount`),f=n(`healthCheck.unhealthyThresholdCount`),p=t(`healthCheck.matcher`)||`200`,m=[{type:`bin`,value:`AWS_PROFILE=spinifex aws elbv2 create-target-group`},{type:`flag`,value:` \\ + --name`},{type:`value`,value:` ${r||``}`},{type:`flag`,value:` \\ + --protocol`},{type:`value`,value:` ${i}`},{type:`flag`,value:` \\ + --port`},{type:`value`,value:` ${a??80}`},{type:`flag`,value:` \\ + --target-type`},{type:`value`,value:` instance`}];return o&&m.push({type:`flag`,value:` \\ + --vpc-id`},{type:`value`,value:` ${o}`}),m.push({type:`flag`,value:` \\ + --health-check-protocol`},{type:`value`,value:` HTTP`},{type:`flag`,value:` \\ + --health-check-path`},{type:`value`,value:` ${s}`},{type:`flag`,value:` \\ + --health-check-port`},{type:`value`,value:` ${c}`},{type:`flag`,value:` \\ + --health-check-interval-seconds`},{type:`value`,value:` ${l??30}`},{type:`flag`,value:` \\ + --health-check-timeout-seconds`},{type:`value`,value:` ${u??5}`},{type:`flag`,value:` \\ + --healthy-threshold-count`},{type:`value`,value:` ${d??5}`},{type:`flag`,value:` \\ + --unhealthy-threshold-count`},{type:`value`,value:` ${f??2}`},{type:`flag`,value:` \\ + --matcher`},{type:`value`,value:` HttpCode=${p}`}),[{label:`Create Target Group`,parts:m}]}var _=h;export{_ as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-volume.js b/spinifex/services/spinifexui/frontend/dist/assets/create-volume.js index 2df328ed4..93e90b4ab 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-volume.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-volume.js @@ -1,3 +1,3 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./error-banner.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./useNavigate.js";import{t as a}from"./back-link.js";import{a as ee,i as te,n as o,r as s,t as c}from"./select.js";import{t as l}from"./cli-command-panel.js";import{t as ne}from"./input.js";import{f as re}from"./ec2.js";import{t as u}from"./ec22.js";import{t as ie}from"./page-heading.js";import{i as d,n as f,t as p}from"./field.js";import{n as ae,r as oe,t as se}from"./zod.js";import{s as m}from"./ec23.js";import{t as ce}from"./form-actions.js";var h=t(),g=e();function _(){let e=(0,h.c)(57),t=i(),{data:s}=r(u),_=re(),b;e[0]===s.AvailabilityZones?b=e[1]:(b=s.AvailabilityZones??[],e[0]=s.AvailabilityZones,e[1]=b);let x=b,S=x[0]?.ZoneName??``,C;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(C=se(m),e[2]=C):C=e[2];let w;e[3]===S?w=e[4]:(w={resolver:C,defaultValues:{size:1,availabilityZone:S}},e[3]=S,e[4]=w);let{control:T,handleSubmit:E,register:D,watch:O,formState:le}=oe(w),{errors:k,isSubmitting:A}=le,j;e[5]!==_||e[6]!==t?(j=async e=>{await _.mutateAsync(e),t({to:`/ec2/describe-volumes`})},e[5]=_,e[6]=t,e[7]=j):j=e[7];let M=j,N,P;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,g.jsx)(a,{to:`/ec2/describe-volumes`,children:`Back to volumes`}),P=(0,g.jsx)(ie,{title:`Create Volume`}),e[8]=N,e[9]=P):(N=e[8],P=e[9]);let F;e[10]===_.error?F=e[11]:(F=_.error&&(0,g.jsx)(n,{error:_.error,msg:`Failed to create volume`}),e[10]=_.error,e[11]=F);let I;e[12]!==E||e[13]!==M?(I=E(M),e[12]=E,e[13]=M,e[14]=I):I=e[14];let L;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,g.jsx)(d,{children:(0,g.jsx)(`label`,{htmlFor:`size`,children:`Size (GiB)`})}),e[15]=L):L=e[15];let R=!!k.size,z;e[16]===D?z=e[17]:(z=D(`size`,{valueAsNumber:!0}),e[16]=D,e[17]=z);let B;e[18]!==R||e[19]!==z?(B=(0,g.jsx)(ne,{"aria-invalid":R,id:`size`,max:16384,min:1,type:`number`,...z}),e[18]=R,e[19]=z,e[20]=B):B=e[20];let V;e[21]===k.size?V=e[22]:(V=(0,g.jsx)(f,{errors:[k.size]}),e[21]=k.size,e[22]=V);let H;e[23]!==B||e[24]!==V?(H=(0,g.jsxs)(p,{children:[L,B,V]}),e[23]=B,e[24]=V,e[25]=H):H=e[25];let U;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,g.jsx)(d,{children:(0,g.jsx)(`label`,{htmlFor:`availabilityZone`,children:`Availability Zone`})}),e[26]=U):U=e[26];let W;e[27]!==x||e[28]!==k.availabilityZone?(W=e=>{let{field:t}=e;return(0,g.jsxs)(c,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,g.jsx)(te,{"aria-invalid":!!k.availabilityZone,className:`w-full`,id:`availabilityZone`,children:(0,g.jsx)(ee,{})}),(0,g.jsx)(o,{children:x.map(v)})]})},e[27]=x,e[28]=k.availabilityZone,e[29]=W):W=e[29];let G;e[30]!==T||e[31]!==W?(G=(0,g.jsx)(ae,{control:T,name:`availabilityZone`,render:W}),e[30]=T,e[31]=W,e[32]=G):G=e[32];let K;e[33]===k.availabilityZone?K=e[34]:(K=(0,g.jsx)(f,{errors:[k.availabilityZone]}),e[33]=k.availabilityZone,e[34]=K);let q;e[35]!==G||e[36]!==K?(q=(0,g.jsxs)(p,{children:[U,G,K]}),e[35]=G,e[36]=K,e[37]=q):q=e[37];let J;e[38]===O?J=e[39]:(J=y(O),e[38]=O,e[39]=J);let Y;e[40]===J?Y=e[41]:(Y=(0,g.jsx)(l,{commands:J}),e[40]=J,e[41]=Y);let X;e[42]===t?X=e[43]:(X=()=>t({to:`/ec2/describe-volumes`}),e[42]=t,e[43]=X);let Z;e[44]!==_.isPending||e[45]!==A||e[46]!==X?(Z=(0,g.jsx)(ce,{isPending:_.isPending,isSubmitting:A,onCancel:X,pendingLabel:`Creating\\u2026`,submitLabel:`Create Volume`}),e[44]=_.isPending,e[45]=A,e[46]=X,e[47]=Z):Z=e[47];let Q;e[48]!==H||e[49]!==q||e[50]!==Y||e[51]!==Z||e[52]!==I?(Q=(0,g.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:I,children:[H,q,Y,Z]}),e[48]=H,e[49]=q,e[50]=Y,e[51]=Z,e[52]=I,e[53]=Q):Q=e[53];let $;return e[54]!==Q||e[55]!==F?($=(0,g.jsxs)(g.Fragment,{children:[N,P,F,Q]}),e[54]=Q,e[55]=F,e[56]=$):$=e[56],$}function v(e){return(0,g.jsx)(s,{value:e.ZoneName??``,children:e.ZoneName},e.ZoneName)}function y(e){let t=e(`size`),n=typeof t==`number`?t:0,r=e(`availabilityZone`),i=typeof r==`string`?r:``;return[{label:`Create Volume`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-volume`},{type:`flag`,value:` \\ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./error-banner.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./useNavigate.js";import{t as a}from"./back-link.js";import{a as ee,i as te,n as o,r as s,t as c}from"./select.js";import{t as l}from"./cli-command-panel.js";import{t as ne}from"./input.js";import{f as re}from"./ec2.js";import{t as u}from"./ec22.js";import{t as ie}from"./page-heading.js";import{i as d,n as f,t as p}from"./field.js";import{n as ae,r as oe,t as se}from"./zod.js";import{s as m}from"./ec23.js";import{t as ce}from"./form-actions.js";var h=t(),g=e();function _(){let e=(0,h.c)(57),t=i(),{data:s}=r(u),_=re(),b;e[0]===s.AvailabilityZones?b=e[1]:(b=s.AvailabilityZones??[],e[0]=s.AvailabilityZones,e[1]=b);let x=b,S=x[0]?.ZoneName??``,C;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(C=se(m),e[2]=C):C=e[2];let w;e[3]===S?w=e[4]:(w={resolver:C,defaultValues:{size:1,availabilityZone:S}},e[3]=S,e[4]=w);let{control:T,handleSubmit:E,register:D,watch:O,formState:le}=oe(w),{errors:k,isSubmitting:A}=le,j;e[5]!==_||e[6]!==t?(j=async e=>{await _.mutateAsync(e),t({to:`/ec2/describe-volumes`})},e[5]=_,e[6]=t,e[7]=j):j=e[7];let M=j,N,P;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,g.jsx)(a,{to:`/ec2/describe-volumes`,children:`Back to volumes`}),P=(0,g.jsx)(ie,{title:`Create Volume`}),e[8]=N,e[9]=P):(N=e[8],P=e[9]);let F;e[10]===_.error?F=e[11]:(F=_.error&&(0,g.jsx)(n,{error:_.error,msg:`Failed to create volume`}),e[10]=_.error,e[11]=F);let I;e[12]!==E||e[13]!==M?(I=E(M),e[12]=E,e[13]=M,e[14]=I):I=e[14];let L;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,g.jsx)(d,{children:(0,g.jsx)(`label`,{htmlFor:`size`,children:`Size (GiB)`})}),e[15]=L):L=e[15];let R=!!k.size,z;e[16]===D?z=e[17]:(z=D(`size`,{valueAsNumber:!0}),e[16]=D,e[17]=z);let B;e[18]!==R||e[19]!==z?(B=(0,g.jsx)(ne,{"aria-invalid":R,id:`size`,max:16384,min:1,type:`number`,...z}),e[18]=R,e[19]=z,e[20]=B):B=e[20];let V;e[21]===k.size?V=e[22]:(V=(0,g.jsx)(f,{errors:[k.size]}),e[21]=k.size,e[22]=V);let H;e[23]!==B||e[24]!==V?(H=(0,g.jsxs)(p,{children:[L,B,V]}),e[23]=B,e[24]=V,e[25]=H):H=e[25];let U;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,g.jsx)(d,{children:(0,g.jsx)(`label`,{htmlFor:`availabilityZone`,children:`Availability Zone`})}),e[26]=U):U=e[26];let W;e[27]!==x||e[28]!==k.availabilityZone?(W=e=>{let{field:t}=e;return(0,g.jsxs)(c,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,g.jsx)(te,{"aria-invalid":!!k.availabilityZone,className:`w-full`,id:`availabilityZone`,children:(0,g.jsx)(ee,{})}),(0,g.jsx)(o,{children:x.map(v)})]})},e[27]=x,e[28]=k.availabilityZone,e[29]=W):W=e[29];let G;e[30]!==T||e[31]!==W?(G=(0,g.jsx)(ae,{control:T,name:`availabilityZone`,render:W}),e[30]=T,e[31]=W,e[32]=G):G=e[32];let K;e[33]===k.availabilityZone?K=e[34]:(K=(0,g.jsx)(f,{errors:[k.availabilityZone]}),e[33]=k.availabilityZone,e[34]=K);let q;e[35]!==G||e[36]!==K?(q=(0,g.jsxs)(p,{children:[U,G,K]}),e[35]=G,e[36]=K,e[37]=q):q=e[37];let J;e[38]===O?J=e[39]:(J=y(O),e[38]=O,e[39]=J);let Y;e[40]===J?Y=e[41]:(Y=(0,g.jsx)(l,{commands:J}),e[40]=J,e[41]=Y);let X;e[42]===t?X=e[43]:(X=()=>t({to:`/ec2/describe-volumes`}),e[42]=t,e[43]=X);let Z;e[44]!==_.isPending||e[45]!==A||e[46]!==X?(Z=(0,g.jsx)(ce,{isPending:_.isPending,isSubmitting:A,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Volume`}),e[44]=_.isPending,e[45]=A,e[46]=X,e[47]=Z):Z=e[47];let Q;e[48]!==H||e[49]!==q||e[50]!==Y||e[51]!==Z||e[52]!==I?(Q=(0,g.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:I,children:[H,q,Y,Z]}),e[48]=H,e[49]=q,e[50]=Y,e[51]=Z,e[52]=I,e[53]=Q):Q=e[53];let $;return e[54]!==Q||e[55]!==F?($=(0,g.jsxs)(g.Fragment,{children:[N,P,F,Q]}),e[54]=Q,e[55]=F,e[56]=$):$=e[56],$}function v(e){return(0,g.jsx)(s,{value:e.ZoneName??``,children:e.ZoneName},e.ZoneName)}function y(e){let t=e(`size`),n=typeof t==`number`?t:0,r=e(`availabilityZone`),i=typeof r==`string`?r:``;return[{label:`Create Volume`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-volume`},{type:`flag`,value:` \\ --size`},{type:`value`,value:` ${n||1}`},{type:`flag`,value:` \\ --availability-zone`},{type:`value`,value:` ${i||``}`}]}]}export{_ as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-vpc.js b/spinifex/services/spinifexui/frontend/dist/assets/create-vpc.js index af7beab74..fb984c86b 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/create-vpc.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-vpc.js @@ -1,4 +1,4 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./error-banner.js";import{t as a}from"./useNavigate.js";import{t as o}from"./back-link.js";import{t as s}from"./chevron-down.js";import{t as c}from"./chevron-right.js";import{a as l,i as u,n as d,r as f,t as p}from"./select.js";import{t as m}from"./cli-command-panel.js";import{t as h}from"./button.js";import{t as g}from"./input.js";import{N as _,m as v,p as y}from"./ec2.js";import{t as b}from"./page-heading.js";import{i as x,n as S,t as C}from"./field.js";import{n as w,r as T,t as E}from"./zod.js";import{c as D}from"./ec23.js";import{t as O}from"./form-actions.js";var k=r(),A=e(n(),1),j=t();function M(e){let t=(0,k.c)(18),{form:n,type:r,count:i,defaults:a}=e,[o,l]=(0,A.useState)(!1),u=r===`public`?`publicSubnetCidrs`:`privateSubnetCidrs`;if(i===0)return null;let d;t[0]===o?d=t[1]:(d=()=>l(!o),t[0]=o,t[1]=d);let f;t[2]===o?f=t[3]:(f=o?(0,j.jsx)(s,{className:`size-3`}):(0,j.jsx)(c,{className:`size-3`}),t[2]=o,t[3]=f);let p;t[4]!==d||t[5]!==f||t[6]!==r?(p=(0,j.jsxs)(h,{className:`gap-1 px-0 text-xs text-muted-foreground`,onClick:d,type:`button`,variant:`link`,children:[f,`Customize `,r,` subnet CIDR blocks`]}),t[4]=d,t[5]=f,t[6]=r,t[7]=p):p=t[7];let m;t[8]!==i||t[9]!==a||t[10]!==o||t[11]!==u||t[12]!==n||t[13]!==r?(m=o&&(0,j.jsx)(`div`,{className:`mt-2 space-y-2`,children:Array.from({length:i},(e,t)=>(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,j.jsxs)(`span`,{className:`w-32 text-xs text-muted-foreground`,children:[r===`public`?`Public`:`Private`,` subnet `,t+1]}),(0,j.jsx)(g,{defaultValue:a[t],placeholder:a[t],...n.register(`${u}.${t}`)})]},t))}),t[8]=i,t[9]=a,t[10]=o,t[11]=u,t[12]=n,t[13]=r,t[14]=m):m=t[14];let _;return t[15]!==p||t[16]!==m?(_=(0,j.jsxs)(`div`,{className:`mt-2`,children:[p,m]}),t[15]=p,t[16]=m,t[17]=_):_=t[17],_}function N(e){let t=(0,k.c)(8),{label:n,cidr:r,variant:i}=e,a=`rounded-md border px-3 py-2 text-xs ${i===`public`?`border-emerald-500/30 bg-emerald-500/10`:`border-blue-500/30 bg-blue-500/10`}`,o;t[0]===n?o=t[1]:(o=(0,j.jsx)(`div`,{className:`font-medium`,children:n}),t[0]=n,t[1]=o);let s;t[2]===r?s=t[3]:(s=(0,j.jsx)(`div`,{className:`text-muted-foreground`,children:r}),t[2]=r,t[3]=s);let c;return t[4]!==a||t[5]!==o||t[6]!==s?(c=(0,j.jsxs)(`div`,{className:a,children:[o,s]}),t[4]=a,t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function P(e){let t=(0,k.c)(14),{mode:n,vpcCidr:r,publicSubnets:i,privateSubnets:a,hasIgw:o}=e,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,j.jsx)(`h3`,{className:`mb-3 text-xs font-semibold tracking-wider text-muted-foreground uppercase`,children:`Preview`}),t[0]=s):s=t[0];let c;t[1]===r?c=t[2]:(c=(0,j.jsxs)(`div`,{className:`mb-3 text-xs font-medium`,children:[`VPC `,(0,j.jsxs)(`span`,{className:`text-muted-foreground`,children:[`(`,r,`)`]})]}),t[1]=r,t[2]=c);let l;t[3]!==o||t[4]!==n||t[5]!==a||t[6]!==i?(l=n===`vpc-and-more`&&(0,j.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-3`,children:[(0,j.jsxs)(`div`,{className:`space-y-2`,children:[(0,j.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:`Subnets`}),i.map(I),a.map(F),i.length===0&&a.length===0&&(0,j.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No subnets`})]}),(0,j.jsxs)(`div`,{className:`space-y-2`,children:[(0,j.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:`Route Tables`}),i.length>0&&(0,j.jsxs)(`div`,{className:`rounded-md border border-foreground/10 bg-background px-3 py-2 text-xs`,children:[(0,j.jsx)(`div`,{className:`font-medium`,children:`Public Route Table`}),(0,j.jsx)(`div`,{className:`mt-1 text-muted-foreground`,children:`0.0.0.0/0 → IGW`}),(0,j.jsx)(`div`,{className:`text-muted-foreground`,children:`local`})]}),a.length>0&&(0,j.jsxs)(`div`,{className:`rounded-md border border-foreground/10 bg-background px-3 py-2 text-xs`,children:[(0,j.jsx)(`div`,{className:`font-medium`,children:`Private Route Table`}),(0,j.jsx)(`div`,{className:`mt-1 text-muted-foreground`,children:`local`})]})]}),(0,j.jsxs)(`div`,{className:`space-y-2`,children:[(0,j.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:`Network Connections`}),o&&(0,j.jsxs)(`div`,{className:`rounded-md border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs`,children:[(0,j.jsx)(`div`,{className:`font-medium`,children:`Internet Gateway`}),(0,j.jsx)(`div`,{className:`text-muted-foreground`,children:`Attached to VPC`})]}),!o&&(0,j.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No internet gateway`})]})]}),t[3]=o,t[4]=n,t[5]=a,t[6]=i,t[7]=l):l=t[7];let u;t[8]===n?u=t[9]:(u=n===`vpc-only`&&(0,j.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`VPC only — no additional resources will be created.`}),t[8]=n,t[9]=u);let d;return t[10]!==c||t[11]!==l||t[12]!==u?(d=(0,j.jsxs)(`div`,{className:`rounded-lg border bg-muted/30 p-4`,children:[s,(0,j.jsxs)(`div`,{className:`rounded-lg border-2 border-dashed border-foreground/20 p-4`,children:[c,l,u]})]}),t[10]=c,t[11]=l,t[12]=u,t[13]=d):d=t[13],d}function F(e){return(0,j.jsx)(N,{cidr:e.cidr,label:e.label,variant:`private`},e.cidr)}function I(e){return(0,j.jsx)(N,{cidr:e.cidr,label:e.label,variant:`public`},e.cidr)}var L=[0,1],R=[0,1,2];function z(){let e=a(),t=y(),n=v(),[r,s]=(0,A.useState)(null),c=T({resolver:E(D),defaultValues:{mode:`vpc-only`,namePrefix:``,autoGenerateNames:!0,cidrBlock:`10.0.0.0/16`,tenancy:`default`,publicSubnetCount:1,privateSubnetCount:1,publicSubnetCidrs:[],privateSubnetCidrs:[],tags:[]}}),{handleSubmit:k,register:N,watch:F,control:I,formState:{errors:z,isSubmitting:V}}=c,H=F(`mode`),U=F(`cidrBlock`),W=F(`publicSubnetCount`),G=F(`privateSubnetCount`),K=_(U||`10.0.0.0/16`,H===`vpc-and-more`?W:0,H===`vpc-and-more`?G:0),[q,J]=(0,A.useState)(``),Y=async r=>{if(s(null),r.mode===`vpc-only`){let n=r.autoGenerateNames&&r.namePrefix?`${r.namePrefix}-vpc`:r.namePrefix,i=(await t.mutateAsync({cidrBlock:r.cidrBlock,name:n||void 0})).Vpc?.VpcId;e(i?{to:`/ec2/describe-vpcs/$id`,params:{id:i}}:{to:`/ec2/describe-vpcs`});return}J(`Creating VPC and resources...`);let i=await n.mutateAsync(r);s(i),!i.error&&i.vpcId&&e({to:`/ec2/describe-vpcs/$id`,params:{id:i.vpcId}}),J(``)},X=t.error??n.error,Z=t.isPending||n.isPending;return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(o,{to:`/ec2/describe-vpcs`,children:`Back to VPCs`}),(0,j.jsx)(b,{title:`Create VPC`}),X&&(0,j.jsx)(i,{error:X,msg:`Failed to create VPC`}),r?.error&&(0,j.jsxs)(`div`,{className:`mb-6 max-w-4xl rounded-md border border-destructive bg-destructive/10 p-4`,children:[(0,j.jsxs)(`h2`,{className:`text-sm font-medium text-destructive`,children:[`Wizard failed: `,r.failedStep]}),(0,j.jsx)(`p`,{className:`mt-1 text-sm text-destructive`,children:r.error.message}),r.created.length>0&&(0,j.jsxs)(`div`,{className:`mt-3`,children:[(0,j.jsx)(`p`,{className:`text-xs font-medium text-destructive`,children:`Successfully created resources:`}),(0,j.jsx)(`ul`,{className:`mt-1 list-inside list-disc text-xs text-destructive`,children:r.created.map((e,t)=>(0,j.jsxs)(`li`,{children:[e.type,`: `,e.id]},t))})]})]}),q&&(0,j.jsx)(`div`,{className:`mb-4 max-w-4xl text-sm text-muted-foreground`,children:q}),(0,j.jsxs)(`div`,{className:`flex max-w-6xl gap-8`,children:[(0,j.jsxs)(`form`,{className:`min-w-0 flex-1 space-y-6`,onSubmit:k(Y),children:[(0,j.jsxs)(C,{children:[(0,j.jsx)(x,{children:`Resources to create`}),(0,j.jsx)(w,{control:I,name:`mode`,render:({field:e})=>(0,j.jsxs)(`div`,{className:`flex gap-4`,children:[(0,j.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,j.jsx)(`input`,{checked:e.value===`vpc-only`,name:`mode`,onChange:()=>e.onChange(`vpc-only`),type:`radio`}),`VPC only`]}),(0,j.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,j.jsx)(`input`,{checked:e.value===`vpc-and-more`,name:`mode`,onChange:()=>e.onChange(`vpc-and-more`),type:`radio`}),`VPC and more`]})]})})]}),(0,j.jsxs)(C,{children:[(0,j.jsx)(x,{children:(0,j.jsx)(`label`,{htmlFor:`namePrefix`,children:`Name tag auto-generation`})}),(0,j.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,j.jsx)(g,{id:`namePrefix`,placeholder:`project`,...N(`namePrefix`)}),(0,j.jsx)(w,{control:I,name:`autoGenerateNames`,render:({field:e})=>(0,j.jsxs)(`label`,{className:`flex shrink-0 items-center gap-2 text-xs`,children:[(0,j.jsx)(`input`,{checked:e.value,onChange:t=>e.onChange(t.target.checked),type:`checkbox`}),`Auto-generate`]})})]})]}),(0,j.jsxs)(C,{children:[(0,j.jsx)(x,{children:(0,j.jsx)(`label`,{htmlFor:`cidrBlock`,children:`IPv4 CIDR block`})}),(0,j.jsx)(g,{"aria-invalid":!!z.cidrBlock,id:`cidrBlock`,placeholder:`10.0.0.0/16`,...N(`cidrBlock`)}),(0,j.jsx)(S,{errors:[z.cidrBlock]})]}),(0,j.jsxs)(C,{children:[(0,j.jsx)(x,{children:`Tenancy`}),(0,j.jsx)(w,{control:I,name:`tenancy`,render:({field:e})=>(0,j.jsxs)(p,{onValueChange:e.onChange,value:e.value,children:[(0,j.jsx)(u,{id:`tenancy`,children:(0,j.jsx)(l,{})}),(0,j.jsxs)(d,{children:[(0,j.jsx)(f,{value:`default`,children:`default`}),(0,j.jsx)(f,{value:`dedicated`,children:`dedicated`})]})]})})]}),H===`vpc-and-more`&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(C,{children:[(0,j.jsx)(x,{children:`Number of public subnets`}),(0,j.jsx)(w,{control:I,name:`publicSubnetCount`,render:({field:e})=>(0,j.jsx)(`div`,{className:`flex gap-1`,children:L.map(t=>(0,j.jsx)(h,{onClick:()=>e.onChange(t),size:`sm`,type:`button`,variant:e.value===t?`default`:`outline`,children:t},t))})}),(0,j.jsx)(M,{count:W,defaults:K.publicSubnets.map(e=>e.cidr),form:c,type:`public`})]}),(0,j.jsxs)(C,{children:[(0,j.jsx)(x,{children:`Number of private subnets`}),(0,j.jsx)(w,{control:I,name:`privateSubnetCount`,render:({field:e})=>(0,j.jsx)(`div`,{className:`flex gap-1`,children:R.map(t=>(0,j.jsx)(h,{onClick:()=>e.onChange(t),size:`sm`,type:`button`,variant:e.value===t?`default`:`outline`,children:t},t))})}),(0,j.jsx)(M,{count:G,defaults:K.privateSubnets.map(e=>e.cidr),form:c,type:`private`})]})]}),(0,j.jsx)(m,{commands:B(F,K)}),(0,j.jsx)(O,{isPending:Z,isSubmitting:V,onCancel:()=>e({to:`/ec2/describe-vpcs`}),pendingLabel:`Creating\\u2026`,submitLabel:`Create VPC`})]}),(0,j.jsx)(`div`,{className:`hidden min-w-0 flex-1 lg:block`,children:(0,j.jsx)(P,{hasIgw:H===`vpc-and-more`&&W>0,mode:H,privateSubnets:K.privateSubnets,publicSubnets:K.publicSubnets,vpcCidr:U||`10.0.0.0/16`})})]})]})}function B(e,t){let n=e(`mode`),r=typeof n==`string`?n:``,i=e(`cidrBlock`),a=typeof i==`string`?i:``,o=e(`tenancy`),s=typeof o==`string`?o:``;if(r===`vpc-only`){let e=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-vpc`},{type:`flag`,value:` \\ +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./error-banner.js";import{t as a}from"./useNavigate.js";import{t as o}from"./back-link.js";import{t as s}from"./chevron-down.js";import{t as c}from"./chevron-right.js";import{a as l,i as u,n as d,r as f,t as p}from"./select.js";import{t as m}from"./cli-command-panel.js";import{t as h}from"./button.js";import{t as g}from"./input.js";import{N as _,m as v,p as y}from"./ec2.js";import{t as b}from"./page-heading.js";import{i as x,n as S,t as C}from"./field.js";import{n as w,r as T,t as E}from"./zod.js";import{c as D}from"./ec23.js";import{t as O}from"./form-actions.js";var k=r(),A=e(n(),1),j=t();function M(e){let t=(0,k.c)(18),{form:n,type:r,count:i,defaults:a}=e,[o,l]=(0,A.useState)(!1),u=r===`public`?`publicSubnetCidrs`:`privateSubnetCidrs`;if(i===0)return null;let d;t[0]===o?d=t[1]:(d=()=>l(!o),t[0]=o,t[1]=d);let f;t[2]===o?f=t[3]:(f=o?(0,j.jsx)(s,{className:`size-3`}):(0,j.jsx)(c,{className:`size-3`}),t[2]=o,t[3]=f);let p;t[4]!==d||t[5]!==f||t[6]!==r?(p=(0,j.jsxs)(h,{className:`gap-1 px-0 text-xs text-muted-foreground`,onClick:d,type:`button`,variant:`link`,children:[f,`Customize `,r,` subnet CIDR blocks`]}),t[4]=d,t[5]=f,t[6]=r,t[7]=p):p=t[7];let m;t[8]!==i||t[9]!==a||t[10]!==o||t[11]!==u||t[12]!==n||t[13]!==r?(m=o&&(0,j.jsx)(`div`,{className:`mt-2 space-y-2`,children:Array.from({length:i},(e,t)=>(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,j.jsxs)(`span`,{className:`w-32 text-xs text-muted-foreground`,children:[r===`public`?`Public`:`Private`,` subnet `,t+1]}),(0,j.jsx)(g,{defaultValue:a[t],placeholder:a[t],...n.register(`${u}.${t}`)})]},t))}),t[8]=i,t[9]=a,t[10]=o,t[11]=u,t[12]=n,t[13]=r,t[14]=m):m=t[14];let _;return t[15]!==p||t[16]!==m?(_=(0,j.jsxs)(`div`,{className:`mt-2`,children:[p,m]}),t[15]=p,t[16]=m,t[17]=_):_=t[17],_}function N(e){let t=(0,k.c)(8),{label:n,cidr:r,variant:i}=e,a=`rounded-md border px-3 py-2 text-xs ${i===`public`?`border-emerald-500/30 bg-emerald-500/10`:`border-blue-500/30 bg-blue-500/10`}`,o;t[0]===n?o=t[1]:(o=(0,j.jsx)(`div`,{className:`font-medium`,children:n}),t[0]=n,t[1]=o);let s;t[2]===r?s=t[3]:(s=(0,j.jsx)(`div`,{className:`text-muted-foreground`,children:r}),t[2]=r,t[3]=s);let c;return t[4]!==a||t[5]!==o||t[6]!==s?(c=(0,j.jsxs)(`div`,{className:a,children:[o,s]}),t[4]=a,t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function P(e){let t=(0,k.c)(14),{mode:n,vpcCidr:r,publicSubnets:i,privateSubnets:a,hasIgw:o}=e,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,j.jsx)(`h3`,{className:`mb-3 text-xs font-semibold tracking-wider text-muted-foreground uppercase`,children:`Preview`}),t[0]=s):s=t[0];let c;t[1]===r?c=t[2]:(c=(0,j.jsxs)(`div`,{className:`mb-3 text-xs font-medium`,children:[`VPC `,(0,j.jsxs)(`span`,{className:`text-muted-foreground`,children:[`(`,r,`)`]})]}),t[1]=r,t[2]=c);let l;t[3]!==o||t[4]!==n||t[5]!==a||t[6]!==i?(l=n===`vpc-and-more`&&(0,j.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-3`,children:[(0,j.jsxs)(`div`,{className:`space-y-2`,children:[(0,j.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:`Subnets`}),i.map(I),a.map(F),i.length===0&&a.length===0&&(0,j.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No subnets`})]}),(0,j.jsxs)(`div`,{className:`space-y-2`,children:[(0,j.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:`Route Tables`}),i.length>0&&(0,j.jsxs)(`div`,{className:`rounded-md border border-foreground/10 bg-background px-3 py-2 text-xs`,children:[(0,j.jsx)(`div`,{className:`font-medium`,children:`Public Route Table`}),(0,j.jsx)(`div`,{className:`mt-1 text-muted-foreground`,children:`0.0.0.0/0 → IGW`}),(0,j.jsx)(`div`,{className:`text-muted-foreground`,children:`local`})]}),a.length>0&&(0,j.jsxs)(`div`,{className:`rounded-md border border-foreground/10 bg-background px-3 py-2 text-xs`,children:[(0,j.jsx)(`div`,{className:`font-medium`,children:`Private Route Table`}),(0,j.jsx)(`div`,{className:`mt-1 text-muted-foreground`,children:`local`})]})]}),(0,j.jsxs)(`div`,{className:`space-y-2`,children:[(0,j.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:`Network Connections`}),o&&(0,j.jsxs)(`div`,{className:`rounded-md border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs`,children:[(0,j.jsx)(`div`,{className:`font-medium`,children:`Internet Gateway`}),(0,j.jsx)(`div`,{className:`text-muted-foreground`,children:`Attached to VPC`})]}),!o&&(0,j.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No internet gateway`})]})]}),t[3]=o,t[4]=n,t[5]=a,t[6]=i,t[7]=l):l=t[7];let u;t[8]===n?u=t[9]:(u=n===`vpc-only`&&(0,j.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`VPC only — no additional resources will be created.`}),t[8]=n,t[9]=u);let d;return t[10]!==c||t[11]!==l||t[12]!==u?(d=(0,j.jsxs)(`div`,{className:`rounded-lg border bg-muted/30 p-4`,children:[s,(0,j.jsxs)(`div`,{className:`rounded-lg border-2 border-dashed border-foreground/20 p-4`,children:[c,l,u]})]}),t[10]=c,t[11]=l,t[12]=u,t[13]=d):d=t[13],d}function F(e){return(0,j.jsx)(N,{cidr:e.cidr,label:e.label,variant:`private`},e.cidr)}function I(e){return(0,j.jsx)(N,{cidr:e.cidr,label:e.label,variant:`public`},e.cidr)}var L=[0,1],R=[0,1,2];function z(){let e=a(),t=y(),n=v(),[r,s]=(0,A.useState)(null),c=T({resolver:E(D),defaultValues:{mode:`vpc-only`,namePrefix:``,autoGenerateNames:!0,cidrBlock:`10.0.0.0/16`,tenancy:`default`,publicSubnetCount:1,privateSubnetCount:1,publicSubnetCidrs:[],privateSubnetCidrs:[],tags:[]}}),{handleSubmit:k,register:N,watch:F,control:I,formState:{errors:z,isSubmitting:V}}=c,H=F(`mode`),U=F(`cidrBlock`),W=F(`publicSubnetCount`),G=F(`privateSubnetCount`),K=_(U||`10.0.0.0/16`,H===`vpc-and-more`?W:0,H===`vpc-and-more`?G:0),[q,J]=(0,A.useState)(``),Y=async r=>{if(s(null),r.mode===`vpc-only`){let n=r.autoGenerateNames&&r.namePrefix?`${r.namePrefix}-vpc`:r.namePrefix,i=(await t.mutateAsync({cidrBlock:r.cidrBlock,name:n||void 0})).Vpc?.VpcId;e(i?{to:`/ec2/describe-vpcs/$id`,params:{id:i}}:{to:`/ec2/describe-vpcs`});return}J(`Creating VPC and resources...`);let i=await n.mutateAsync(r);s(i),!i.error&&i.vpcId&&e({to:`/ec2/describe-vpcs/$id`,params:{id:i.vpcId}}),J(``)},X=t.error??n.error,Z=t.isPending||n.isPending;return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(o,{to:`/ec2/describe-vpcs`,children:`Back to VPCs`}),(0,j.jsx)(b,{title:`Create VPC`}),X&&(0,j.jsx)(i,{error:X,msg:`Failed to create VPC`}),r?.error&&(0,j.jsxs)(`div`,{className:`mb-6 max-w-4xl rounded-md border border-destructive bg-destructive/10 p-4`,children:[(0,j.jsxs)(`h2`,{className:`text-sm font-medium text-destructive`,children:[`Wizard failed: `,r.failedStep]}),(0,j.jsx)(`p`,{className:`mt-1 text-sm text-destructive`,children:r.error.message}),r.created.length>0&&(0,j.jsxs)(`div`,{className:`mt-3`,children:[(0,j.jsx)(`p`,{className:`text-xs font-medium text-destructive`,children:`Successfully created resources:`}),(0,j.jsx)(`ul`,{className:`mt-1 list-inside list-disc text-xs text-destructive`,children:r.created.map((e,t)=>(0,j.jsxs)(`li`,{children:[e.type,`: `,e.id]},t))})]})]}),q&&(0,j.jsx)(`div`,{className:`mb-4 max-w-4xl text-sm text-muted-foreground`,children:q}),(0,j.jsxs)(`div`,{className:`flex max-w-6xl gap-8`,children:[(0,j.jsxs)(`form`,{className:`min-w-0 flex-1 space-y-6`,onSubmit:k(Y),children:[(0,j.jsxs)(C,{children:[(0,j.jsx)(x,{children:`Resources to create`}),(0,j.jsx)(w,{control:I,name:`mode`,render:({field:e})=>(0,j.jsxs)(`div`,{className:`flex gap-4`,children:[(0,j.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,j.jsx)(`input`,{checked:e.value===`vpc-only`,name:`mode`,onChange:()=>e.onChange(`vpc-only`),type:`radio`}),`VPC only`]}),(0,j.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,j.jsx)(`input`,{checked:e.value===`vpc-and-more`,name:`mode`,onChange:()=>e.onChange(`vpc-and-more`),type:`radio`}),`VPC and more`]})]})})]}),(0,j.jsxs)(C,{children:[(0,j.jsx)(x,{children:(0,j.jsx)(`label`,{htmlFor:`namePrefix`,children:`Name tag auto-generation`})}),(0,j.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,j.jsx)(g,{id:`namePrefix`,placeholder:`project`,...N(`namePrefix`)}),(0,j.jsx)(w,{control:I,name:`autoGenerateNames`,render:({field:e})=>(0,j.jsxs)(`label`,{className:`flex shrink-0 items-center gap-2 text-xs`,children:[(0,j.jsx)(`input`,{checked:e.value,onChange:t=>e.onChange(t.target.checked),type:`checkbox`}),`Auto-generate`]})})]})]}),(0,j.jsxs)(C,{children:[(0,j.jsx)(x,{children:(0,j.jsx)(`label`,{htmlFor:`cidrBlock`,children:`IPv4 CIDR block`})}),(0,j.jsx)(g,{"aria-invalid":!!z.cidrBlock,id:`cidrBlock`,placeholder:`10.0.0.0/16`,...N(`cidrBlock`)}),(0,j.jsx)(S,{errors:[z.cidrBlock]})]}),(0,j.jsxs)(C,{children:[(0,j.jsx)(x,{children:`Tenancy`}),(0,j.jsx)(w,{control:I,name:`tenancy`,render:({field:e})=>(0,j.jsxs)(p,{onValueChange:e.onChange,value:e.value,children:[(0,j.jsx)(u,{id:`tenancy`,children:(0,j.jsx)(l,{})}),(0,j.jsxs)(d,{children:[(0,j.jsx)(f,{value:`default`,children:`default`}),(0,j.jsx)(f,{value:`dedicated`,children:`dedicated`})]})]})})]}),H===`vpc-and-more`&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(C,{children:[(0,j.jsx)(x,{children:`Number of public subnets`}),(0,j.jsx)(w,{control:I,name:`publicSubnetCount`,render:({field:e})=>(0,j.jsx)(`div`,{className:`flex gap-1`,children:L.map(t=>(0,j.jsx)(h,{onClick:()=>e.onChange(t),size:`sm`,type:`button`,variant:e.value===t?`default`:`outline`,children:t},t))})}),(0,j.jsx)(M,{count:W,defaults:K.publicSubnets.map(e=>e.cidr),form:c,type:`public`})]}),(0,j.jsxs)(C,{children:[(0,j.jsx)(x,{children:`Number of private subnets`}),(0,j.jsx)(w,{control:I,name:`privateSubnetCount`,render:({field:e})=>(0,j.jsx)(`div`,{className:`flex gap-1`,children:R.map(t=>(0,j.jsx)(h,{onClick:()=>e.onChange(t),size:`sm`,type:`button`,variant:e.value===t?`default`:`outline`,children:t},t))})}),(0,j.jsx)(M,{count:G,defaults:K.privateSubnets.map(e=>e.cidr),form:c,type:`private`})]})]}),(0,j.jsx)(m,{commands:B(F,K)}),(0,j.jsx)(O,{isPending:Z,isSubmitting:V,onCancel:()=>e({to:`/ec2/describe-vpcs`}),pendingLabel:`Creating…`,submitLabel:`Create VPC`})]}),(0,j.jsx)(`div`,{className:`hidden min-w-0 flex-1 lg:block`,children:(0,j.jsx)(P,{hasIgw:H===`vpc-and-more`&&W>0,mode:H,privateSubnets:K.privateSubnets,publicSubnets:K.publicSubnets,vpcCidr:U||`10.0.0.0/16`})})]})]})}function B(e,t){let n=e(`mode`),r=typeof n==`string`?n:``,i=e(`cidrBlock`),a=typeof i==`string`?i:``,o=e(`tenancy`),s=typeof o==`string`?o:``;if(r===`vpc-only`){let e=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-vpc`},{type:`flag`,value:` \\ --cidr-block`},{type:`value`,value:` ${a||`10.0.0.0/16`}`}];return s&&s!==`default`&&e.push({type:`flag`,value:` \\ --instance-tenancy`},{type:`value`,value:` ${s}`}),[{label:`Create VPC`,parts:e}]}let c=[],l=[...t.publicSubnets.map((e,t)=>({...e,name:`PUBLIC_SUBNET_${t+1}`})),...t.privateSubnets.map((e,t)=>({...e,name:`PRIVATE_SUBNET_${t+1}`}))];c.push({label:`Create VPC`,parts:[...[{type:`comment`,value:`# Create VPC with subnets, internet gateway, and routing diff --git a/spinifex/services/spinifexui/frontend/dist/assets/createBaseUIEventDetails.js b/spinifex/services/spinifexui/frontend/dist/assets/createBaseUIEventDetails.js index bd801438a..d201b7678 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/createBaseUIEventDetails.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/createBaseUIEventDetails.js @@ -1 +1 @@ -import{a as e,r as t}from"./compiler-runtime.js";import{l as n}from"./dist.js";import{S as r,_ as i,a,v as o}from"./button.js";var s=e(t()),c=0;function l(e,t=`mui`){let[n,r]=s.useState(e),i=e||n;return s.useEffect(()=>{n??(c+=1,r(`${t}-${c}`))},[n,t]),i}var u=a.useId;function d(e,t){if(u!==void 0){let n=u();return e??(t?`${t}-${n}`:n)}return l(e,t)}function f(e){return d(e,`base-ui`)}function p(e){return e?.ownerDocument||document}var m=typeof navigator<`u`,h=w(),g=E(),_=T(),v=typeof CSS>`u`||!CSS.supports?!1:CSS.supports(`-webkit-backdrop-filter:none`),y=h.platform===`MacIntel`&&h.maxTouchPoints>1?!0:/iP(hone|ad|od)|iOS/.test(h.platform);m&&/firefox/i.test(_);var b=m&&/apple/i.test(navigator.vendor);m&&/Edg/i.test(_);var x=m&&/android/i.test(g)||/android/i.test(_),S=m&&g.toLowerCase().startsWith(`mac`)&&!navigator.maxTouchPoints,C=_.includes(`jsdom/`);function w(){if(!m)return{platform:``,maxTouchPoints:-1};let e=navigator.userAgentData;return e?.platform?{platform:e.platform,maxTouchPoints:navigator.maxTouchPoints}:{platform:navigator.platform??``,maxTouchPoints:navigator.maxTouchPoints??-1}}function T(){if(!m)return``;let e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(({brand:e,version:t})=>`${e}/${t}`).join(` `):navigator.userAgent}function E(){if(!m)return``;let e=navigator.userAgentData;return e?.platform?e.platform:navigator.platform??``}var D=`data-base-ui-focusable`,O=`active`,k=`selected`,A=`input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])`,j=`ArrowLeft`,M=`ArrowRight`,N=`ArrowUp`,P=`ArrowDown`;function F(e){let t=e.activeElement;for(;t?.shadowRoot?.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function I(e,t){if(!e||!t)return!1;let n=t.getRootNode?.();if(e.contains(t))return!0;if(n&&r(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function L(e,t){if(!i(e))return!1;let n=e;if(t.hasElement(n))return!n.hasAttribute(`data-trigger-disabled`);for(let[,e]of t.entries())if(I(e,n))return!e.hasAttribute(`data-trigger-disabled`);return!1}function R(e){return`composedPath`in e?e.composedPath()[0]:e.target}function ee(e,t){if(t==null)return!1;if(`composedPath`in e)return e.composedPath().includes(t);let n=e;return n.target!=null&&t.contains(n.target)}function z(e){return e.matches(`html,body`)}function B(e){return o(e)&&e.matches(`input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])`)}function V(e){return e?e.getAttribute(`role`)===`combobox`&&B(e):!1}function H(e){if(!e||C)return!0;try{return e.matches(`:focus-visible`)}catch{return!0}}function U(e){return e?e.hasAttribute(`data-base-ui-focusable`)?e:e.querySelector(`[data-base-ui-focusable]`)||e:null}var W=`none`,G=`trigger-press`,K=`trigger-hover`,q=`trigger-focus`,J=`outside-press`,Y=`item-press`,X=`close-press`,Z=`focus-out`,Q=`escape-key`,$=`list-navigation`,te=`cancel-open`,ne=`disabled`,re=`imperative-action`,ie=`window-resize`;function ae(e,t,r,i){let a=!1,o=!1,s=i??n;return{reason:e,event:t??new Event(`base-ui`),cancel(){a=!0},allowPropagation(){o=!0},get isCanceled(){return a},get isPropagationAllowed(){return o},trigger:r,...s}}export{N as A,p as B,V as C,P as D,O as E,y as F,d as H,C as I,S as L,k as M,A as N,j as O,x as P,b as R,L as S,H as T,f as V,I as _,Q as a,ee as b,Y as c,J as d,q as f,F as g,ie as h,ne as i,D as j,M as k,$ as l,G as m,te as n,Z as o,K as p,X as r,re as s,ae as t,W as u,U as v,B as w,z as x,R as y,v as z}; \ No newline at end of file +import{a as e,r as t}from"./compiler-runtime.js";import{l as n}from"./dist.js";import{b as r,s as i,w as a,y as o}from"./button.js";var s=e(t()),c=0;function l(e,t=`mui`){let[n,r]=s.useState(e),i=e||n;return s.useEffect(()=>{n??(c+=1,r(`${t}-${c}`))},[n,t]),i}var u=i.useId;function d(e,t){if(u!==void 0){let n=u();return e??(t?`${t}-${n}`:n)}return l(e,t)}function f(e){return d(e,`base-ui`)}function p(e){return e?.ownerDocument||document}var m=typeof navigator<`u`,h=w(),g=E(),_=T(),v=typeof CSS>`u`||!CSS.supports?!1:CSS.supports(`-webkit-backdrop-filter:none`),y=h.platform===`MacIntel`&&h.maxTouchPoints>1?!0:/iP(hone|ad|od)|iOS/.test(h.platform);m&&/firefox/i.test(_);var b=m&&/apple/i.test(navigator.vendor);m&&/Edg/i.test(_);var x=m&&/android/i.test(g)||/android/i.test(_),S=m&&g.toLowerCase().startsWith(`mac`)&&!navigator.maxTouchPoints,C=_.includes(`jsdom/`);function w(){if(!m)return{platform:``,maxTouchPoints:-1};let e=navigator.userAgentData;return e?.platform?{platform:e.platform,maxTouchPoints:navigator.maxTouchPoints}:{platform:navigator.platform??``,maxTouchPoints:navigator.maxTouchPoints??-1}}function T(){if(!m)return``;let e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(({brand:e,version:t})=>`${e}/${t}`).join(` `):navigator.userAgent}function E(){if(!m)return``;let e=navigator.userAgentData;return e?.platform?e.platform:navigator.platform??``}var D=`data-base-ui-focusable`,O=`active`,k=`selected`,A=`input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])`,j=`ArrowLeft`,M=`ArrowRight`,N=`ArrowUp`,P=`ArrowDown`;function F(e){let t=e.activeElement;for(;t?.shadowRoot?.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function I(e,t){if(!e||!t)return!1;let n=t.getRootNode?.();if(e.contains(t))return!0;if(n&&a(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function L(e,t){if(!o(e))return!1;let n=e;if(t.hasElement(n))return!n.hasAttribute(`data-trigger-disabled`);for(let[,e]of t.entries())if(I(e,n))return!e.hasAttribute(`data-trigger-disabled`);return!1}function R(e){return`composedPath`in e?e.composedPath()[0]:e.target}function ee(e,t){if(t==null)return!1;if(`composedPath`in e)return e.composedPath().includes(t);let n=e;return n.target!=null&&t.contains(n.target)}function z(e){return e.matches(`html,body`)}function B(e){return r(e)&&e.matches(`input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])`)}function V(e){return e?e.getAttribute(`role`)===`combobox`&&B(e):!1}function H(e){if(!e||C)return!0;try{return e.matches(`:focus-visible`)}catch{return!0}}function U(e){return e?e.hasAttribute(`data-base-ui-focusable`)?e:e.querySelector(`[data-base-ui-focusable]`)||e:null}var W=`none`,G=`trigger-press`,K=`trigger-hover`,q=`trigger-focus`,J=`outside-press`,Y=`item-press`,X=`close-press`,Z=`focus-out`,Q=`escape-key`,$=`list-navigation`,te=`cancel-open`,ne=`disabled`,re=`imperative-action`,ie=`window-resize`;function ae(e,t,r,i){let a=!1,o=!1,s=i??n;return{reason:e,event:t??new Event(`base-ui`),cancel(){a=!0},allowPropagation(){o=!0},get isCanceled(){return a},get isPropagationAllowed(){return o},trigger:r,...s}}export{N as A,p as B,V as C,P as D,O as E,y as F,d as H,C as I,S as L,k as M,A as N,j as O,x as P,b as R,L as S,H as T,f as V,I as _,Q as a,ee as b,Y as c,J as d,q as f,F as g,ie as h,ne as i,D as j,M as k,$ as l,G as m,te as n,Z as o,K as p,X as r,re as s,ae as t,W as u,U as v,B as w,z as x,R as y,v as z}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/describe-images.js b/spinifex/services/spinifexui/frontend/dist/assets/describe-images.js index 86af45850..1180af814 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/describe-images.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/describe-images.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{r}from"./ec22.js";import{t as i}from"./page-heading.js";import{t as a}from"./state-badge.js";import{t as o}from"./list-card.js";var s=t(),c=e();function l(){let e=(0,s.c)(5),{data:t}=n(r),a;e[0]===t.Images?a=e[1]:(a=t.Images??[],e[0]=t.Images,e[1]=a);let o=a,l;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,c.jsx)(i,{title:`EC2 Images`}),e[2]=l):l=e[2];let d;return e[3]===o?d=e[4]:(d=(0,c.jsxs)(c.Fragment,{children:[l,o.length>0?(0,c.jsx)(`div`,{className:`space-y-4`,children:o.map(u)}):(0,c.jsx)(`p`,{className:`text-muted-foreground`,children:`No images found.`})]}),e[3]=o,e[4]=d),d}function u(e){return e.ImageId?(0,c.jsx)(o,{badge:(0,c.jsx)(a,{state:e.State}),params:{id:e.ImageId},subtitle:e.ImageId??``,title:e.Name??e.ImageId??``,to:`/ec2/describe-images/$id`},e.ImageId):null}export{l as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{r}from"./ec22.js";import{t as i}from"./page-heading.js";import{t as a}from"./state-badge.js";import{r as o}from"./system-managed.js";import{t as s}from"./list-card.js";var c=t(),l=e();function u(){let e=(0,c.c)(3),{data:t}=n(r),a;if(e[0]!==t.Images){let n=(t.Images??[]).filter(f),r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,l.jsx)(i,{title:`EC2 Images`}),e[2]=r):r=e[2],a=(0,l.jsxs)(l.Fragment,{children:[r,n.length>0?(0,l.jsx)(`div`,{className:`space-y-4`,children:n.map(d)}):(0,l.jsx)(`p`,{className:`text-muted-foreground`,children:`No images found.`})]}),e[0]=t.Images,e[1]=a}else a=e[1];return a}function d(e){return e.ImageId?(0,l.jsx)(s,{badge:(0,l.jsx)(a,{state:e.State}),params:{id:e.ImageId},subtitle:e.ImageId??``,title:e.Name??e.ImageId??``,to:`/ec2/describe-images/$id`},e.ImageId):null}function f(e){return!o(e)}export{u as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/describe-load-balancers.js b/spinifex/services/spinifexui/frontend/dist/assets/describe-load-balancers.js new file mode 100644 index 000000000..077b40c9f --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/describe-load-balancers.js @@ -0,0 +1 @@ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./link.js";import{t as i}from"./useNavigate.js";import{t as a}from"./button.js";import{r as o}from"./ec22.js";import{i as s}from"./elbv22.js";import{t as c}from"./page-heading.js";import{t as l}from"./state-badge.js";import{n as u}from"./system-managed.js";import{t as d}from"./lb-image-missing-banner.js";var f=t(),p=e();function m(e){return e?new Date(e).toLocaleString():``}function h(){let e=(0,f.c)(20),t=i(),{data:h}=n(s),{data:_}=n(o),v;e[0]===h.LoadBalancers?v=e[1]:(v=h.LoadBalancers??[],e[0]=h.LoadBalancers,e[1]=v);let y=v,b;e[2]===_.Images?b=e[3]:(b=_.Images??[],e[2]=_.Images,e[3]=b);let x;e[4]===b?x=e[5]:(x=u(b),e[4]=b,e[5]=x);let S=x,C=!S,w;e[6]===t?w=e[7]:(w=()=>t({to:`/ec2/create-load-balancer`}),e[6]=t,e[7]=w);let T;e[8]!==C||e[9]!==w?(T=(0,p.jsx)(c,{actions:(0,p.jsx)(a,{disabled:C,onClick:w,children:`Create load balancer`}),title:`Load balancers`}),e[8]=C,e[9]=w,e[10]=T):T=e[10];let E;e[11]===S?E=e[12]:(E=!S&&(0,p.jsx)(d,{}),e[11]=S,e[12]=E);let D;e[13]!==y||e[14]!==t?(D=y.length>0?(0,p.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,p.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,p.jsx)(`thead`,{children:(0,p.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Name`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`DNS name`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`State`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Type`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Scheme`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`VPC`}),(0,p.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Created`})]})}),(0,p.jsx)(`tbody`,{children:y.map(e=>{if(!e.LoadBalancerArn)return null;let n=e.LoadBalancerArn;return(0,p.jsxs)(`tr`,{className:`cursor-pointer border-b transition-colors last:border-0 hover:bg-accent`,onClick:()=>t({to:`/ec2/describe-load-balancers/$id`,params:{id:encodeURIComponent(n)}}),children:[(0,p.jsx)(`td`,{className:`px-4 py-2 font-medium`,children:(0,p.jsx)(r,{className:`text-primary hover:underline`,onClick:g,params:{id:encodeURIComponent(n)},to:`/ec2/describe-load-balancers/$id`,children:e.LoadBalancerName??n})}),(0,p.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.DNSName??``}),(0,p.jsx)(`td`,{className:`px-4 py-2`,children:(0,p.jsx)(l,{state:e.State?.Code})}),(0,p.jsx)(`td`,{className:`px-4 py-2`,children:e.Type??``}),(0,p.jsx)(`td`,{className:`px-4 py-2`,children:e.Scheme??``}),(0,p.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.VpcId??``}),(0,p.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:m(e.CreatedTime)})]},n)})})]})}):(0,p.jsx)(`p`,{className:`text-muted-foreground`,children:`No load balancers found.`}),e[13]=y,e[14]=t,e[15]=D):D=e[15];let O;return e[16]!==T||e[17]!==E||e[18]!==D?(O=(0,p.jsxs)(p.Fragment,{children:[T,E,D]}),e[16]=T,e[17]=E,e[18]=D,e[19]=O):O=e[19],O}function g(e){return e.stopPropagation()}var _=h;export{_ as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/describe-subnets.js b/spinifex/services/spinifexui/frontend/dist/assets/describe-subnets.js index 8a32ea302..0a37aa761 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/describe-subnets.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/describe-subnets.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./link.js";import{B as i}from"./SignatureV4.js";import{t as a}from"./button.js";import{_ as o}from"./ec22.js";import{t as s}from"./page-heading.js";import{t as c}from"./state-badge.js";import{t as l}from"./list-card.js";var u=t(),d=e();function f(){let e=(0,u.c)(5),{data:t}=n(o),i;e[0]===t.Subnets?i=e[1]:(i=t.Subnets??[],e[0]=t.Subnets,e[1]=i);let c=i,l;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,d.jsx)(s,{actions:(0,d.jsx)(r,{to:`/ec2/create-subnet`,children:(0,d.jsx)(a,{children:`Create Subnet`})}),title:`Subnets`}),e[2]=l):l=e[2];let f;return e[3]===c?f=e[4]:(f=(0,d.jsxs)(d.Fragment,{children:[l,c.length>0?(0,d.jsx)(`div`,{className:`space-y-4`,children:c.map(p)}):(0,d.jsx)(`p`,{className:`text-muted-foreground`,children:`No subnets found.`})]}),e[3]=c,e[4]=f),f}function p(e){if(!e.SubnetId)return null;let t=i(e.Tags);return(0,d.jsx)(l,{badge:(0,d.jsx)(c,{state:e.State}),params:{id:e.SubnetId},subtitle:`${e.CidrBlock??``} \u2022 ${e.AvailabilityZone??``}`,title:t?`${e.SubnetId} (${t})`:e.SubnetId,to:`/ec2/describe-subnets/$id`},e.SubnetId)}export{f as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./link.js";import{V as i}from"./SignatureV4.js";import{t as a}from"./button.js";import{_ as o}from"./ec22.js";import{t as s}from"./page-heading.js";import{t as c}from"./state-badge.js";import{t as l}from"./list-card.js";var u=t(),d=e();function f(){let e=(0,u.c)(5),{data:t}=n(o),i;e[0]===t.Subnets?i=e[1]:(i=t.Subnets??[],e[0]=t.Subnets,e[1]=i);let c=i,l;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,d.jsx)(s,{actions:(0,d.jsx)(r,{to:`/ec2/create-subnet`,children:(0,d.jsx)(a,{children:`Create Subnet`})}),title:`Subnets`}),e[2]=l):l=e[2];let f;return e[3]===c?f=e[4]:(f=(0,d.jsxs)(d.Fragment,{children:[l,c.length>0?(0,d.jsx)(`div`,{className:`space-y-4`,children:c.map(p)}):(0,d.jsx)(`p`,{className:`text-muted-foreground`,children:`No subnets found.`})]}),e[3]=c,e[4]=f),f}function p(e){if(!e.SubnetId)return null;let t=i(e.Tags);return(0,d.jsx)(l,{badge:(0,d.jsx)(c,{state:e.State}),params:{id:e.SubnetId},subtitle:`${e.CidrBlock??``} \u2022 ${e.AvailabilityZone??``}`,title:t?`${e.SubnetId} (${t})`:e.SubnetId,to:`/ec2/describe-subnets/$id`},e.SubnetId)}export{f as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/describe-target-groups.js b/spinifex/services/spinifexui/frontend/dist/assets/describe-target-groups.js new file mode 100644 index 000000000..9d2252df2 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/describe-target-groups.js @@ -0,0 +1 @@ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useQuery.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{t as o}from"./button.js";import{c as s,l as c}from"./elbv22.js";import{t as l}from"./page-heading.js";var u=t(),d=e();function f(){let e=(0,u.c)(6),t=a(),{data:n}=r(s),c;e[0]===n.TargetGroups?c=e[1]:(c=n.TargetGroups??[],e[0]=n.TargetGroups,e[1]=c);let f=c,h;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,d.jsx)(l,{actions:(0,d.jsx)(i,{to:`/ec2/create-target-group`,children:(0,d.jsx)(o,{children:`Create target group`})}),title:`Target groups`}),e[2]=h):h=e[2];let g;return e[3]!==t||e[4]!==f?(g=(0,d.jsxs)(d.Fragment,{children:[h,f.length>0?(0,d.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,d.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,d.jsx)(`thead`,{children:(0,d.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,d.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Name`}),(0,d.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Protocol`}),(0,d.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Port`}),(0,d.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`VPC`}),(0,d.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Target type`}),(0,d.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Targets`}),(0,d.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Health`})]})}),(0,d.jsx)(`tbody`,{children:f.map(e=>{if(!e.TargetGroupArn)return null;let n=e.TargetGroupArn;return(0,d.jsxs)(`tr`,{className:`cursor-pointer border-b transition-colors last:border-0 hover:bg-accent`,onClick:()=>t({to:`/ec2/describe-target-groups/$id`,params:{id:encodeURIComponent(n)}}),children:[(0,d.jsx)(`td`,{className:`px-4 py-2 font-medium`,children:(0,d.jsx)(i,{className:`text-primary hover:underline`,onClick:p,params:{id:encodeURIComponent(n)},to:`/ec2/describe-target-groups/$id`,children:e.TargetGroupName??n})}),(0,d.jsx)(`td`,{className:`px-4 py-2`,children:e.Protocol??``}),(0,d.jsx)(`td`,{className:`px-4 py-2`,children:e.Port??``}),(0,d.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.VpcId??``}),(0,d.jsx)(`td`,{className:`px-4 py-2`,children:e.TargetType??``}),(0,d.jsx)(m,{arn:n})]},n)})})]})}):(0,d.jsx)(`p`,{className:`text-muted-foreground`,children:`No target groups found.`})]}),e[3]=t,e[4]=f,e[5]=g):g=e[5],g}function p(e){return e.stopPropagation()}function m(e){let t=(0,u.c)(13),{arn:r}=e,i;t[0]===r?i=t[1]:(i=c(r),t[0]=r,t[1]=i);let{data:a,isLoading:o}=n(i);if(o){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`td`,{className:`px-4 py-2 text-muted-foreground`,children:`…`}),(0,d.jsx)(`td`,{className:`px-4 py-2 text-muted-foreground`,children:`…`})]}),t[2]=e):e=t[2],e}let s,l;if(t[3]!==a?.TargetHealthDescriptions){s=a?.TargetHealthDescriptions??[];let e={};for(let t of s){let n=t.TargetHealth?.State??`unknown`;e[n]=(e[n]??0)+1}l=Object.entries(e).map(h).join(`, `)||`—`,t[3]=a?.TargetHealthDescriptions,t[4]=s,t[5]=l}else s=t[4],l=t[5];let f=l,p;t[6]===s.length?p=t[7]:(p=(0,d.jsx)(`td`,{className:`px-4 py-2`,children:s.length}),t[6]=s.length,t[7]=p);let m;t[8]===f?m=t[9]:(m=(0,d.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:f}),t[8]=f,t[9]=m);let g;return t[10]!==p||t[11]!==m?(g=(0,d.jsxs)(d.Fragment,{children:[p,m]}),t[10]=p,t[11]=m,t[12]=g):g=t[12],g}function h(e){let[t,n]=e;return`${n} ${t}`}var g=f;export{g as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/describe-vpcs.js b/spinifex/services/spinifexui/frontend/dist/assets/describe-vpcs.js index 2929c7084..bde703d33 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/describe-vpcs.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/describe-vpcs.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./link.js";import{B as i}from"./SignatureV4.js";import{t as a}from"./button.js";import{x as o}from"./ec22.js";import{t as s}from"./page-heading.js";import{t as c}from"./state-badge.js";import{t as l}from"./list-card.js";var u=t(),d=e();function f(){let e=(0,u.c)(5),{data:t}=n(o),i;e[0]===t.Vpcs?i=e[1]:(i=t.Vpcs??[],e[0]=t.Vpcs,e[1]=i);let c=i,l;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,d.jsx)(s,{actions:(0,d.jsx)(r,{to:`/ec2/create-vpc`,children:(0,d.jsx)(a,{children:`Create VPC`})}),title:`VPCs`}),e[2]=l):l=e[2];let f;return e[3]===c?f=e[4]:(f=(0,d.jsxs)(d.Fragment,{children:[l,c.length>0?(0,d.jsx)(`div`,{className:`space-y-4`,children:c.map(p)}):(0,d.jsx)(`p`,{className:`text-muted-foreground`,children:`No VPCs found.`})]}),e[3]=c,e[4]=f),f}function p(e){if(!e.VpcId)return null;let t=i(e.Tags);return(0,d.jsx)(l,{badge:(0,d.jsx)(c,{state:e.State}),params:{id:e.VpcId},subtitle:e.CidrBlock??``,title:t?`${e.VpcId} (${t})`:e.VpcId,to:`/ec2/describe-vpcs/$id`},e.VpcId)}export{f as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./link.js";import{V as i}from"./SignatureV4.js";import{t as a}from"./button.js";import{x as o}from"./ec22.js";import{t as s}from"./page-heading.js";import{t as c}from"./state-badge.js";import{t as l}from"./list-card.js";var u=t(),d=e();function f(){let e=(0,u.c)(5),{data:t}=n(o),i;e[0]===t.Vpcs?i=e[1]:(i=t.Vpcs??[],e[0]=t.Vpcs,e[1]=i);let c=i,l;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,d.jsx)(s,{actions:(0,d.jsx)(r,{to:`/ec2/create-vpc`,children:(0,d.jsx)(a,{children:`Create VPC`})}),title:`VPCs`}),e[2]=l):l=e[2];let f;return e[3]===c?f=e[4]:(f=(0,d.jsxs)(d.Fragment,{children:[l,c.length>0?(0,d.jsx)(`div`,{className:`space-y-4`,children:c.map(p)}):(0,d.jsx)(`p`,{className:`text-muted-foreground`,children:`No VPCs found.`})]}),e[3]=c,e[4]=f),f}function p(e){if(!e.VpcId)return null;let t=i(e.Tags);return(0,d.jsx)(l,{badge:(0,d.jsx)(c,{state:e.State}),params:{id:e.VpcId},subtitle:e.CidrBlock??``,title:t?`${e.VpcId} (${t})`:e.VpcId,to:`/ec2/describe-vpcs/$id`},e.VpcId)}export{f as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/dist.js b/spinifex/services/spinifexui/frontend/dist/assets/dist.js index 8d5ec6cb3..1e953bdc3 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/dist.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/dist.js @@ -1 +1 @@ -import{a as e,r as t}from"./compiler-runtime.js";import{H as n}from"./SignatureV4.js";function r(e,t){if(e&&!t)return e;if(!e&&t)return t;if(e||t)return{...e,...t}}var i={};function a(e,t,n,r,a){let o={...d(e,i)};return t&&(o=s(o,t)),n&&(o=s(o,n)),r&&(o=s(o,r)),a&&(o=s(o,a)),o}function o(e){if(e.length===0)return i;if(e.length===1)return d(e[0],i);let t={...d(e[0],i)};for(let n=1;n=65&&i<=90&&(typeof t==`function`||t===void 0)}function u(e){return typeof e==`function`}function d(e,t){return u(e)?e(t):e??i}function f(e,t){return t?e?n=>{if(h(n)){let r=n;p(r);let i=t(r);return r.baseUIHandlerPrevented||e?.(r),i}let r=t(n);return e?.(n),r}:t:e}function p(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function m(e,t){return t?e?t+` `+e:t:e}function h(e){return typeof e==`object`&&!!e&&`nativeEvent`in e}function g(e,t){return function(n,...r){let i=new URL(e);return i.searchParams.set(`code`,n.toString()),r.forEach(e=>i.searchParams.append(`args[]`,e)),`${t} error #${n}; visit ${i} for the full message.`}}var _=g(`https://base-ui.com/production-error`,`Base UI`),v=e(t()),y={};function b(e,t){let n=v.useRef(y);return n.current===y&&(n.current=e(t)),n}function x(e,t,n,r){let i=b(C).current;return w(i,e,t,n,r)&&E(i,[e,t,n,r]),i.callback}function S(e){let t=b(C).current;return T(t,e)&&E(t,e),t.callback}function C(){return{callback:null,cleanup:null,refs:[]}}function w(e,t,n,r,i){return e.refs[0]!==t||e.refs[1]!==n||e.refs[2]!==r||e.refs[3]!==i}function T(e,t){return e.refs.length!==t.length||e.refs.some((e,n)=>e!==t[n])}function E(e,t){if(e.refs=t,t.every(e=>e==null)){e.callback=null;return}e.callback=n=>{if(e.cleanup&&=(e.cleanup(),null),n!=null){let r=Array(t.length).fill(null);for(let e=0;e{for(let e=0;e=e}function k(e){if(!v.isValidElement(e))return null;let t=e,n=t.props;return(O(19)?n?.ref:t.ref)??null}function A(e,t){let n={};for(let r in e){let i=e[r];if(t?.hasOwnProperty(r)){let e=t[r](i);e!=null&&Object.assign(n,e);continue}i===!0?n[`data-${r.toLowerCase()}`]=``:i&&(n[`data-${r.toLowerCase()}`]=i.toString())}return n}function j(e,t){return typeof e==`function`?e(t):e}function M(e,t){return typeof e==`function`?e(t):e}function N(){}var P=Object.freeze([]),F=Object.freeze({}),I={style:{transition:`none`}},L=`data-base-ui-click-trigger`,R={fallbackAxisSide:`none`},z={fallbackAxisSide:`end`},B={clipPath:`inset(50%)`,position:`fixed`,top:0,left:0};function V(e,t,n={}){let r=t.render,i=H(t,n);return n.enabled===!1?null:W(e,r,i,n.state??F)}function H(e,t={}){let{className:n,style:i,render:a}=e,{state:s=F,ref:c,props:l,stateAttributesMapping:u,enabled:d=!0}=t,f=d?j(n,s):void 0,p=d?M(i,s):void 0,h=d?A(s,u):F,g=d?r(h,Array.isArray(l)?o(l):l)??F:F;return typeof document<`u`&&(d?Array.isArray(c)?g.ref=S([g.ref,k(a),...c]):g.ref=x(g.ref,k(a),c):x(null,null)),d?(f!==void 0&&(g.className=m(g.className,f)),p!==void 0&&(g.style=r(g.style,p)),g):F}var U=Symbol.for(`react.lazy`);function W(e,t,n,r){if(t){if(typeof t==`function`)return t(n,r);let e=a(n,t.props);e.ref=n.ref;let i=t;return i?.$$typeof===U&&(i=v.Children.toArray(t)[0]),v.cloneElement(i,e)}if(e&&typeof e==`string`)return G(e,n);throw Error(_(8))}function G(e,t){return e===`button`?(0,v.createElement)(`button`,{type:`button`,...t,key:t.key}):e===`img`?(0,v.createElement)(`img`,{alt:``,...t,key:t.key}):v.createElement(e,t)}var K=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,q=n,J=(e,t)=>n=>{if(t?.variants==null)return q(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=K(t)||K(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return q(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)};export{R as a,P as c,O as d,x as f,a as g,p as h,I as i,F as l,_ as m,V as n,z as o,b as p,L as r,B as s,J as t,N as u}; \ No newline at end of file +import{a as e,r as t}from"./compiler-runtime.js";import{U as n}from"./SignatureV4.js";function r(e,t){if(e&&!t)return e;if(!e&&t)return t;if(e||t)return{...e,...t}}var i={};function a(e,t,n,r,a){let o={...d(e,i)};return t&&(o=s(o,t)),n&&(o=s(o,n)),r&&(o=s(o,r)),a&&(o=s(o,a)),o}function o(e){if(e.length===0)return i;if(e.length===1)return d(e[0],i);let t={...d(e[0],i)};for(let n=1;n=65&&i<=90&&(typeof t==`function`||t===void 0)}function u(e){return typeof e==`function`}function d(e,t){return u(e)?e(t):e??i}function f(e,t){return t?e?n=>{if(h(n)){let r=n;p(r);let i=t(r);return r.baseUIHandlerPrevented||e?.(r),i}let r=t(n);return e?.(n),r}:t:e}function p(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function m(e,t){return t?e?t+` `+e:t:e}function h(e){return typeof e==`object`&&!!e&&`nativeEvent`in e}function g(e,t){return function(n,...r){let i=new URL(e);return i.searchParams.set(`code`,n.toString()),r.forEach(e=>i.searchParams.append(`args[]`,e)),`${t} error #${n}; visit ${i} for the full message.`}}var _=g(`https://base-ui.com/production-error`,`Base UI`),v=e(t()),y={};function b(e,t){let n=v.useRef(y);return n.current===y&&(n.current=e(t)),n}function x(e,t,n,r){let i=b(C).current;return w(i,e,t,n,r)&&E(i,[e,t,n,r]),i.callback}function S(e){let t=b(C).current;return T(t,e)&&E(t,e),t.callback}function C(){return{callback:null,cleanup:null,refs:[]}}function w(e,t,n,r,i){return e.refs[0]!==t||e.refs[1]!==n||e.refs[2]!==r||e.refs[3]!==i}function T(e,t){return e.refs.length!==t.length||e.refs.some((e,n)=>e!==t[n])}function E(e,t){if(e.refs=t,t.every(e=>e==null)){e.callback=null;return}e.callback=n=>{if(e.cleanup&&=(e.cleanup(),null),n!=null){let r=Array(t.length).fill(null);for(let e=0;e{for(let e=0;e=e}function k(e){if(!v.isValidElement(e))return null;let t=e,n=t.props;return(O(19)?n?.ref:t.ref)??null}function A(e,t){let n={};for(let r in e){let i=e[r];if(t?.hasOwnProperty(r)){let e=t[r](i);e!=null&&Object.assign(n,e);continue}i===!0?n[`data-${r.toLowerCase()}`]=``:i&&(n[`data-${r.toLowerCase()}`]=i.toString())}return n}function j(e,t){return typeof e==`function`?e(t):e}function M(e,t){return typeof e==`function`?e(t):e}function N(){}var P=Object.freeze([]),F=Object.freeze({}),I={style:{transition:`none`}},L=`data-base-ui-click-trigger`,R={fallbackAxisSide:`none`},z={fallbackAxisSide:`end`},B={clipPath:`inset(50%)`,position:`fixed`,top:0,left:0};function V(e,t,n={}){let r=t.render,i=H(t,n);return n.enabled===!1?null:W(e,r,i,n.state??F)}function H(e,t={}){let{className:n,style:i,render:a}=e,{state:s=F,ref:c,props:l,stateAttributesMapping:u,enabled:d=!0}=t,f=d?j(n,s):void 0,p=d?M(i,s):void 0,h=d?A(s,u):F,g=d?r(h,Array.isArray(l)?o(l):l)??F:F;return typeof document<`u`&&(d?Array.isArray(c)?g.ref=S([g.ref,k(a),...c]):g.ref=x(g.ref,k(a),c):x(null,null)),d?(f!==void 0&&(g.className=m(g.className,f)),p!==void 0&&(g.style=r(g.style,p)),g):F}var U=Symbol.for(`react.lazy`);function W(e,t,n,r){if(t){if(typeof t==`function`)return t(n,r);let e=a(n,t.props);e.ref=n.ref;let i=t;return i?.$$typeof===U&&(i=v.Children.toArray(t)[0]),v.cloneElement(i,e)}if(e&&typeof e==`string`)return G(e,n);throw Error(_(8))}function G(e,t){return e===`button`?(0,v.createElement)(`button`,{type:`button`,...t,key:t.key}):e===`img`?(0,v.createElement)(`img`,{alt:``,...t,key:t.key}):v.createElement(e,t)}var K=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,q=n,J=(e,t)=>n=>{if(t?.variants==null)return q(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=K(t)||K(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return q(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)};export{R as a,P as c,O as d,x as f,a as g,p as h,I as i,F as l,_ as m,V as n,z as o,b as p,L as r,B as s,J as t,N as u}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/ec2.js b/spinifex/services/spinifexui/frontend/dist/assets/ec2.js index dfceb95d1..cdccf5203 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/ec2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/ec2.js @@ -1 +1 @@ -import{t as e}from"./compiler-runtime.js";import{n as t}from"./QueryClientProvider.js";import{n}from"./error-banner.js";import{$ as r,At as i,B as a,Bt as o,Dt as s,Et as c,Ft as l,G as u,Gt as d,H as f,It as p,J as ee,K as m,Kt as h,Mt as g,Nt as _,Ot as v,Pt as te,Q as ne,Rt as y,Tt as re,U as ie,V as ae,Vt as oe,W as se,X as ce,Y as le,Z as ue,at as de,ct as b,et as x,it as S,jt as C,kt as w,lt as T,n as E,nt as D,ot as O,q as k,rt as A,st as j,tt as M,wt as N,zt as P}from"./awsClient.js";import{c as F,t as I}from"./SignatureV4.js";import{c as L}from"./ec22.js";var R=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`AssociateRouteTable`,{}).n(`EC2Client`,`AssociateRouteTableCommand`).sc(a).build(){},z=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`AttachInternetGateway`,{}).n(`EC2Client`,`AttachInternetGatewayCommand`).sc(ae).build(){},B=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`AttachVolume`,{}).n(`EC2Client`,`AttachVolumeCommand`).sc(f).build(){},V=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`AuthorizeSecurityGroupEgress`,{}).n(`EC2Client`,`AuthorizeSecurityGroupEgressCommand`).sc(ie).build(){},H=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`AuthorizeSecurityGroupIngress`,{}).n(`EC2Client`,`AuthorizeSecurityGroupIngressCommand`).sc(se).build(){};function fe(e){let{port:t,query:n}=e,{protocol:r,path:i,hostname:a}=e;r&&r.slice(-1)!==`:`&&(r+=`:`),t&&(a+=`:${t}`),i&&i.charAt(0)!==`/`&&(i=`/${i}`);let o=n?h(n):``;o&&o[0]!==`?`&&(o=`?${o}`);let s=``;(e.username!=null||e.password!=null)&&(s=`${e.username??``}:${e.password??``}@`);let c=``;return e.fragment&&(c=`#${e.fragment}`),`${r}//${s}${a}${i}${o}${c}`}var pe=`2016-11-15`;function me(e){return(t,n)=>async n=>{let{input:r}=n;if(!r.PresignedUrl){let t=await e.region(),i=await o(r,{getEndpointParameterInstructions(){return{UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}}}},{...e,region:r.SourceRegion}),a=typeof e.endpoint==`function`?await e.endpoint():oe(i),s=new F({...a,protocol:`https`,headers:{host:a.hostname},query:{...Object.entries(r).reduce((e,[t,n])=>(e[t]=String(n??``),e),{}),Action:`CopySnapshot`,Version:pe,DestinationRegion:t}}),c=await new I({credentials:e.credentials,region:r.SourceRegion,service:`ec2`,sha256:e.sha256,uriEscapePath:e.signingEscapePath}).presign(s,{expiresIn:3600});if(n={...n,input:{...n.input,DestinationRegion:t,PresignedUrl:fe(c)}},F.isInstance(n.request)){let{request:e}=n;(e.body??``).includes(`DestinationRegion=`)||(e.body+=`&DestinationRegion=${t}`),(e.body??``).includes(`PresignedUrl=`)||(e.body+=`&PresignedUrl=${d(n.input.PresignedUrl)}`)}}return t(n)}}var he={step:`serialize`,tags:[`CROSS_REGION_PRESIGNED_URL`],name:`crossRegionPresignedUrlMiddleware`,override:!0,relation:`after`,toMiddleware:`endpointV2Middleware`},ge=e=>({applyToStack:t=>{t.add(me(e),he)}}),_e=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions()),ge(n)]}).s(`AmazonEC2`,`CopySnapshot`,{}).n(`EC2Client`,`CopySnapshotCommand`).sc(u).build(){},ve=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreateImage`,{}).n(`EC2Client`,`CreateImageCommand`).sc(m).build(){},ye=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreateInternetGateway`,{}).n(`EC2Client`,`CreateInternetGatewayCommand`).sc(k).build(){},be=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreateKeyPair`,{}).n(`EC2Client`,`CreateKeyPairCommand`).sc(ee).build(){},xe=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreatePlacementGroup`,{}).n(`EC2Client`,`CreatePlacementGroupCommand`).sc(le).build(){},Se=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreateRoute`,{}).n(`EC2Client`,`CreateRouteCommand`).sc(ce).build(){},U=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreateRouteTable`,{}).n(`EC2Client`,`CreateRouteTableCommand`).sc(ue).build(){},Ce=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreateSecurityGroup`,{}).n(`EC2Client`,`CreateSecurityGroupCommand`).sc(ne).build(){},we=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreateSnapshot`,{}).n(`EC2Client`,`CreateSnapshotCommand`).sc(r).build(){},W=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreateSubnet`,{}).n(`EC2Client`,`CreateSubnetCommand`).sc(x).build(){},Te=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreateVolume`,{}).n(`EC2Client`,`CreateVolumeCommand`).sc(M).build(){},G=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreateVpc`,{}).n(`EC2Client`,`CreateVpcCommand`).sc(D).build(){},Ee=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DeleteKeyPair`,{}).n(`EC2Client`,`DeleteKeyPairCommand`).sc(A).build(){},De=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DeletePlacementGroup`,{}).n(`EC2Client`,`DeletePlacementGroupCommand`).sc(S).build(){},Oe=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DeleteSecurityGroup`,{}).n(`EC2Client`,`DeleteSecurityGroupCommand`).sc(de).build(){},ke=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DeleteSnapshot`,{}).n(`EC2Client`,`DeleteSnapshotCommand`).sc(O).build(){},Ae=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DeleteSubnet`,{}).n(`EC2Client`,`DeleteSubnetCommand`).sc(j).build(){},je=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DeleteVolume`,{}).n(`EC2Client`,`DeleteVolumeCommand`).sc(b).build(){},Me=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DeleteVpc`,{}).n(`EC2Client`,`DeleteVpcCommand`).sc(T).build(){},Ne=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DetachVolume`,{}).n(`EC2Client`,`DetachVolumeCommand`).sc(N).build(){},Pe=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`GetConsoleOutput`,{}).n(`EC2Client`,`GetConsoleOutputCommand`).sc(re).build(){},Fe=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`ImportKeyPair`,{}).n(`EC2Client`,`ImportKeyPairCommand`).sc(c).build(){},Ie=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`ModifyInstanceAttribute`,{}).n(`EC2Client`,`ModifyInstanceAttributeCommand`).sc(s).build(){},Le=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`ModifyVolume`,{}).n(`EC2Client`,`ModifyVolumeCommand`).sc(v).build(){},Re=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`RebootInstances`,{}).n(`EC2Client`,`RebootInstancesCommand`).sc(w).build(){},ze=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`RevokeSecurityGroupEgress`,{}).n(`EC2Client`,`RevokeSecurityGroupEgressCommand`).sc(i).build(){},Be=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`RevokeSecurityGroupIngress`,{}).n(`EC2Client`,`RevokeSecurityGroupIngressCommand`).sc(C).build(){},Ve=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`RunInstances`,{}).n(`EC2Client`,`RunInstancesCommand`).sc(g).build(){},He=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`StartInstances`,{}).n(`EC2Client`,`StartInstancesCommand`).sc(_).build(){},Ue=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`StopInstances`,{}).n(`EC2Client`,`StopInstancesCommand`).sc(te).build(){},We=class extends y.classBuilder().ep(p).m(function(e,t,n,r){return[P(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`TerminateInstances`,{}).n(`EC2Client`,`TerminateInstancesCommand`).sc(l).build(){},K={capacity_block:`capacity-block`,capacity_manager_data_export:`capacity-manager-data-export`,capacity_reservation:`capacity-reservation`,capacity_reservation_fleet:`capacity-reservation-fleet`,carrier_gateway:`carrier-gateway`,client_vpn_endpoint:`client-vpn-endpoint`,coip_pool:`coip-pool`,customer_gateway:`customer-gateway`,declarative_policies_report:`declarative-policies-report`,dedicated_host:`dedicated-host`,dhcp_options:`dhcp-options`,egress_only_internet_gateway:`egress-only-internet-gateway`,elastic_gpu:`elastic-gpu`,elastic_ip:`elastic-ip`,export_image_task:`export-image-task`,export_instance_task:`export-instance-task`,fleet:`fleet`,fpga_image:`fpga-image`,host_reservation:`host-reservation`,image:`image`,image_usage_report:`image-usage-report`,import_image_task:`import-image-task`,import_snapshot_task:`import-snapshot-task`,instance:`instance`,instance_connect_endpoint:`instance-connect-endpoint`,instance_event_window:`instance-event-window`,internet_gateway:`internet-gateway`,ipam:`ipam`,ipam_external_resource_verification_token:`ipam-external-resource-verification-token`,ipam_policy:`ipam-policy`,ipam_pool:`ipam-pool`,ipam_prefix_list_resolver:`ipam-prefix-list-resolver`,ipam_prefix_list_resolver_target:`ipam-prefix-list-resolver-target`,ipam_resource_discovery:`ipam-resource-discovery`,ipam_resource_discovery_association:`ipam-resource-discovery-association`,ipam_scope:`ipam-scope`,ipv4pool_ec2:`ipv4pool-ec2`,ipv6pool_ec2:`ipv6pool-ec2`,key_pair:`key-pair`,launch_template:`launch-template`,local_gateway:`local-gateway`,local_gateway_route_table:`local-gateway-route-table`,local_gateway_route_table_virtual_interface_group_association:`local-gateway-route-table-virtual-interface-group-association`,local_gateway_route_table_vpc_association:`local-gateway-route-table-vpc-association`,local_gateway_virtual_interface:`local-gateway-virtual-interface`,local_gateway_virtual_interface_group:`local-gateway-virtual-interface-group`,mac_modification_task:`mac-modification-task`,natgateway:`natgateway`,network_acl:`network-acl`,network_insights_access_scope:`network-insights-access-scope`,network_insights_access_scope_analysis:`network-insights-access-scope-analysis`,network_insights_analysis:`network-insights-analysis`,network_insights_path:`network-insights-path`,network_interface:`network-interface`,outpost_lag:`outpost-lag`,placement_group:`placement-group`,prefix_list:`prefix-list`,replace_root_volume_task:`replace-root-volume-task`,reserved_instances:`reserved-instances`,route_server:`route-server`,route_server_endpoint:`route-server-endpoint`,route_server_peer:`route-server-peer`,route_table:`route-table`,secondary_interface:`secondary-interface`,secondary_network:`secondary-network`,secondary_subnet:`secondary-subnet`,security_group:`security-group`,security_group_rule:`security-group-rule`,service_link_virtual_interface:`service-link-virtual-interface`,snapshot:`snapshot`,spot_fleet_request:`spot-fleet-request`,spot_instances_request:`spot-instances-request`,subnet:`subnet`,subnet_cidr_reservation:`subnet-cidr-reservation`,traffic_mirror_filter:`traffic-mirror-filter`,traffic_mirror_filter_rule:`traffic-mirror-filter-rule`,traffic_mirror_session:`traffic-mirror-session`,traffic_mirror_target:`traffic-mirror-target`,transit_gateway:`transit-gateway`,transit_gateway_attachment:`transit-gateway-attachment`,transit_gateway_connect_peer:`transit-gateway-connect-peer`,transit_gateway_metering_policy:`transit-gateway-metering-policy`,transit_gateway_multicast_domain:`transit-gateway-multicast-domain`,transit_gateway_policy_table:`transit-gateway-policy-table`,transit_gateway_route_table:`transit-gateway-route-table`,transit_gateway_route_table_announcement:`transit-gateway-route-table-announcement`,verified_access_endpoint:`verified-access-endpoint`,verified_access_endpoint_target:`verified-access-endpoint-target`,verified_access_group:`verified-access-group`,verified_access_instance:`verified-access-instance`,verified_access_policy:`verified-access-policy`,verified_access_trust_provider:`verified-access-trust-provider`,volume:`volume`,vpc:`vpc`,vpc_block_public_access_exclusion:`vpc-block-public-access-exclusion`,vpc_encryption_control:`vpc-encryption-control`,vpc_endpoint:`vpc-endpoint`,vpc_endpoint_connection:`vpc-endpoint-connection`,vpc_endpoint_connection_device_type:`vpc-endpoint-connection-device-type`,vpc_endpoint_service:`vpc-endpoint-service`,vpc_endpoint_service_permission:`vpc-endpoint-service-permission`,vpc_flow_log:`vpc-flow-log`,vpc_peering_connection:`vpc-peering-connection`,vpn_concentrator:`vpn-concentrator`,vpn_connection:`vpn-connection`,vpn_connection_device_type:`vpn-connection-device-type`,vpn_gateway:`vpn-gateway`},q=e();function J(e){let t=e.split(`/`),n=t[0]??``,r=t[1]??`0`,i=Number.parseInt(r,10),a=n.split(`.`).map(e=>Number.parseInt(e,10)),o=a[0]??0,s=a[1]??0,c=a[2]??0,l=a[3]??0;return{network:((o<<24|s<<16|c<<8|l)>>>0&(i===0?0:4294967295<<32-i>>>0))>>>0,prefix:i}}function Y(e){return`${e>>>24&255}.${e>>>16&255}.${e>>>8&255}.${e&255}`}function X(e){return 2**(32-e)}function Ge(e){let t=e+4;return Math.min(t,28)}function Z(e,t,n){let{network:r,prefix:i}=J(e),a=Ge(i),o=X(a),s=X(i)/2,c=[];for(let e=0;e>>0;c.push({cidr:`${Y(t)}/${a}`,label:`Public Subnet ${e+1}`})}let l=[];for(let e=0;e>>0;l.push({cidr:`${Y(t)}/${a}`,label:`Private Subnet ${e+1}`})}return{publicSubnets:c,privateSubnets:l}}function Ke(e,t){let n=J(e),r=J(t),i=n.network+X(n.prefix)-1>>>0,a=r.network+X(r.prefix)-1>>>0;return n.network<=a&&r.network<=i}function qe(e,t){let n=J(e),r=J(t),i=n.network+X(n.prefix)-1>>>0,a=r.network+X(r.prefix)-1>>>0;return r.network>=n.network&&a<=i}function Je(e,t=16,n=28){let r=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\/(\d{1,2})$/.exec(e);if(!r||[Number.parseInt(r[1]??`0`,10),Number.parseInt(r[2]??`0`,10),Number.parseInt(r[3]??`0`,10),Number.parseInt(r[4]??`0`,10)].some(e=>e>255))return!1;let i=Number.parseInt(r[5]??`0`,10);return i>=t&&i<=n}var Ye=/\s+/;function Xe(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ze,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}function Ze(e){let t=new He({InstanceIds:[e]});return E().send(t)}function Qe(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:$e,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}function $e(e){let t=new Ue({InstanceIds:[e]});return E().send(t)}function et(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:tt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}function tt(e){let t=new We({InstanceIds:[e]});return E().send(t)}function nt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:rt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}function rt(e){let t=new Re({InstanceIds:[e]});return E().send(t)}function it(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:at,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}function at(e){let t=new Ve({ImageId:e.imageId,InstanceType:e.instanceType,KeyName:e.keyName,MinCount:e.count,MaxCount:e.count,SubnetId:e.subnetId||void 0,Placement:e.placementGroupName?{GroupName:e.placementGroupName}:void 0});return E().send(t)}function ot(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:st,onSuccess:()=>{r.invalidateQueries(L)}},e[0]=r,e[1]=i),n(i)}function st(e){let t=new be({KeyName:e.keyName,KeyType:`rsa`});return E().send(t)}function ct(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:lt,onSuccess:()=>{r.invalidateQueries(L)}},e[0]=r,e[1]=i),n(i)}function lt(e){let t=e.publicKeyMaterial.trim().split(Ye).slice(0,2).join(` `),n=new Fe({KeyName:e.keyName,PublicKeyMaterial:new TextEncoder().encode(t)});return E().send(n)}function ut(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:dt,onSuccess:()=>{r.invalidateQueries(L)}},e[0]=r,e[1]=i),n(i)}function dt(e){let t=new Ee({KeyPairId:e});return E().send(t)}function ft(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:pt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`volumes`]})}},e[0]=r,e[1]=i),n(i)}function pt(e){let t=new Te({Size:e.size,AvailabilityZone:e.availabilityZone,VolumeType:`gp3`});return E().send(t)}function mt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ht,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`volumes`]})}},e[0]=r,e[1]=i),n(i)}function ht(e){let t=new Le({VolumeId:e.volumeId,Size:e.size});return E().send(t)}function gt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:_t,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`volumes`]})}},e[0]=r,e[1]=i),n(i)}function _t(e){let t=new je({VolumeId:e});return E().send(t)}function vt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:yt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`snapshots`]})}},e[0]=r,e[1]=i),n(i)}function yt(e){let t=new we({VolumeId:e.volumeId,Description:e.description||void 0});return E().send(t)}function bt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:xt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`snapshots`]})}},e[0]=r,e[1]=i),n(i)}function xt(e){let t=new ke({SnapshotId:e});return E().send(t)}function St(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ct,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`snapshots`]})}},e[0]=r,e[1]=i),n(i)}function Ct(e){let t=new _e({SourceSnapshotId:e.sourceSnapshotId,SourceRegion:e.sourceRegion,Description:e.description||void 0});return E().send(t)}function wt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Tt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`volumes`]}),r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}function Tt(e){let t=new B({VolumeId:e.volumeId,InstanceId:e.instanceId,Device:e.device||void 0});return E().send(t)}function Et(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Dt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`volumes`]}),r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}function Dt(e){let t=new Ne({VolumeId:e.volumeId,InstanceId:e.instanceId||void 0,Force:e.force});return E().send(t)}function Ot(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:kt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}function kt(e){let{instanceId:t,...n}=e,r=new Ie({InstanceId:t,InstanceType:{Value:n.instanceType}});return E().send(r)}function At(){let e=(0,q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={mutationFn:jt},e[0]=t):t=e[0],n(t)}function jt(e){let t=new Pe({InstanceId:e});return E().send(t)}function Mt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Nt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`images`]})}},e[0]=r,e[1]=i),n(i)}function Nt(e){let t=new ve({InstanceId:e.instanceId,Name:e.name,Description:e.description||void 0});return E().send(t)}function Pt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ft,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`vpcs`]})}},e[0]=r,e[1]=i),n(i)}function Ft(e){let t=new G({CidrBlock:e.cidrBlock,TagSpecifications:e.name?[{ResourceType:`vpc`,Tags:[{Key:`Name`,Value:e.name}]}]:void 0});return E().send(t)}function It(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Lt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`vpcs`]})}},e[0]=r,e[1]=i),n(i)}function Lt(e){let t=new Me({VpcId:e});return E().send(t)}function Rt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:zt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`subnets`]})}},e[0]=r,e[1]=i),n(i)}function zt(e){let t=new W({VpcId:e.vpcId,CidrBlock:e.cidrBlock,AvailabilityZone:e.availabilityZone||void 0});return E().send(t)}function Bt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Vt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`subnets`]})}},e[0]=r,e[1]=i),n(i)}function Vt(e){let t=new Ae({SubnetId:e});return E().send(t)}function Q(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ht,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`placementGroups`]})}},e[0]=r,e[1]=i),n(i)}function Ht(e){let t=new xe({GroupName:e.groupName,Strategy:e.strategy});return E().send(t)}function Ut(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Wt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`placementGroups`]})}},e[0]=r,e[1]=i),n(i)}function Wt(e){let t=new De({GroupName:e});return E().send(t)}function Gt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Kt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]})}},e[0]=r,e[1]=i),n(i)}function Kt(e){let t=new Ce({GroupName:e.groupName,Description:e.description,VpcId:e.vpcId});return E().send(t)}function qt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Jt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]})}},e[0]=r,e[1]=i),n(i)}function Jt(e){let t=new Oe({GroupId:e});return E().send(t)}function Yt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Xt,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]}),r.invalidateQueries({queryKey:[`ec2`,`securityGroups`,t.groupId]})}},e[0]=r,e[1]=i),n(i)}function Xt(e){let t=new H({GroupId:e.groupId,IpPermissions:[{IpProtocol:e.ipProtocol,FromPort:e.fromPort,ToPort:e.toPort,IpRanges:[{CidrIp:e.cidrIp}]}]});return E().send(t)}function Zt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Qt,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]}),r.invalidateQueries({queryKey:[`ec2`,`securityGroups`,t.groupId]})}},e[0]=r,e[1]=i),n(i)}function Qt(e){let t=new V({GroupId:e.groupId,IpPermissions:[{IpProtocol:e.ipProtocol,FromPort:e.fromPort,ToPort:e.toPort,IpRanges:[{CidrIp:e.cidrIp}]}]});return E().send(t)}function $t(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:en,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]}),r.invalidateQueries({queryKey:[`ec2`,`securityGroups`,t.groupId]})}},e[0]=r,e[1]=i),n(i)}function en(e){let t=new Be({GroupId:e.groupId,IpPermissions:[{IpProtocol:e.ipProtocol,FromPort:e.fromPort,ToPort:e.toPort,IpRanges:[{CidrIp:e.cidrIp}]}]});return E().send(t)}function tn(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:nn,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]}),r.invalidateQueries({queryKey:[`ec2`,`securityGroups`,t.groupId]})}},e[0]=r,e[1]=i),n(i)}function nn(e){let t=new ze({GroupId:e.groupId,IpPermissions:[{IpProtocol:e.ipProtocol,FromPort:e.fromPort,ToPort:e.toPort,IpRanges:[{CidrIp:e.cidrIp}]}]});return E().send(t)}function rn(e,t){let n=[];return e&&n.push({Key:`Name`,Value:e}),n.push(...t),n}function $(e,t,n){let r=rn(t,n);if(r.length!==0)return[{ResourceType:e,Tags:r}]}function an(){let e=t();return n({mutationFn:async e=>{let t=E(),n=[],r=e.autoGenerateNames?e.namePrefix:void 0,i=e.tags.map(e=>({Key:e.key,Value:e.value})),a=`creating VPC`;try{let o=r?`${r}-vpc`:e.namePrefix,s=e.tenancy,c=(await t.send(new G({CidrBlock:e.cidrBlock,InstanceTenancy:s,TagSpecifications:$(K.vpc,o,i)}))).Vpc?.VpcId;if(!c)throw Error(`VPC was created but no VPC ID was returned by the API`);if(n.push({type:`VPC`,id:c}),e.mode===`vpc-only`)return{vpcId:c,created:n};let l=Z(e.cidrBlock,e.publicSubnetCount,e.privateSubnetCount),u=e.publicSubnetCidrs.length>0?e.publicSubnetCidrs:l.publicSubnets.map(e=>e.cidr),d=e.privateSubnetCidrs.length>0?e.privateSubnetCidrs:l.privateSubnets.map(e=>e.cidr);a=`creating public subnets`;let f=[];for(let a=0;a0){a=`creating internet gateway`;let e=r?`${r}-igw`:void 0,o=(await t.send(new ye({TagSpecifications:$(K.internet_gateway,e,i)}))).InternetGateway?.InternetGatewayId;if(!o)throw Error(`Internet gateway was created but no ID was returned`);n.push({type:`Internet Gateway`,id:o}),a=`attaching internet gateway to VPC`,await t.send(new z({InternetGatewayId:o,VpcId:c})),a=`creating public route table`;let s=r?`${r}-rtb-public`:void 0,l=(await t.send(new U({VpcId:c,TagSpecifications:$(K.route_table,s,i)}))).RouteTable?.RouteTableId;if(!l)throw Error(`Public route table was created but no ID was returned`);n.push({type:`Public Route Table`,id:l}),a=`creating default route to internet gateway`,await t.send(new Se({RouteTableId:l,DestinationCidrBlock:`0.0.0.0/0`,GatewayId:o})),a=`associating public subnets with route table`;for(let e of f)await t.send(new R({RouteTableId:l,SubnetId:e}))}if(e.privateSubnetCount>0){a=`creating private route table`;let e=r?`${r}-rtb-private`:void 0,o=(await t.send(new U({VpcId:c,TagSpecifications:$(K.route_table,e,i)}))).RouteTable?.RouteTableId;if(!o)throw Error(`Private route table was created but no ID was returned`);n.push({type:`Private Route Table`,id:o}),a=`associating private subnets with route table`;for(let e of p)await t.send(new R({RouteTableId:o,SubnetId:e}))}return{vpcId:c,created:n}}catch(e){return{vpcId:n.find(e=>e.type===`VPC`)?.id,created:n,error:e instanceof Error?e:Error(String(e)),failedStep:`Failed while ${a}`}}},onSuccess:()=>{e.invalidateQueries({queryKey:[`ec2`,`vpcs`]}),e.invalidateQueries({queryKey:[`ec2`,`subnets`]}),e.invalidateQueries({queryKey:[`ec2`,`internetGateways`]}),e.invalidateQueries({queryKey:[`ec2`,`routeTables`]})}})}export{Xe as A,At as C,nt as D,mt as E,Ke as F,Je as I,et as M,Z as N,tn as O,qe as P,Et as S,Ot as T,qt as _,Mt as a,gt as b,Q as c,Rt as d,ft as f,Ut as g,ut as h,St as i,Qe as j,$t as k,Gt as l,an as m,Zt as n,it as o,Pt as p,Yt as r,ot as s,wt as t,vt as u,bt as v,ct as w,It as x,Bt as y}; \ No newline at end of file +import{t as e}from"./compiler-runtime.js";import{n as t}from"./QueryClientProvider.js";import{n}from"./error-banner.js";import{$t as r,Ct as i,Dt as a,Et as o,Gt as s,Jt as c,Kt as l,Ot as u,Qt as d,St as f,Tt as p,Ut as ee,Wt as m,Xt as h,Yt as g,Zt as _,_t as v,an as y,at as te,bt as ne,ct as re,dn as ie,dt as ae,en as oe,ft as se,gt as ce,ht as le,in as b,lt as ue,mt as de,n as x,on as S,ot as C,pt as w,qt as T,rn as E,st as D,tn as O,un as k,ut as A,vt as j,wt as M,xt as N,yt as P}from"./awsClient.js";import{c as F,t as I}from"./SignatureV4.js";import{c as L}from"./ec22.js";var R=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`AssociateRouteTable`,{}).n(`EC2Client`,`AssociateRouteTableCommand`).sc(te).build(){},z=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`AttachInternetGateway`,{}).n(`EC2Client`,`AttachInternetGatewayCommand`).sc(C).build(){},B=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`AttachVolume`,{}).n(`EC2Client`,`AttachVolumeCommand`).sc(D).build(){},V=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`AuthorizeSecurityGroupEgress`,{}).n(`EC2Client`,`AuthorizeSecurityGroupEgressCommand`).sc(re).build(){},H=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`AuthorizeSecurityGroupIngress`,{}).n(`EC2Client`,`AuthorizeSecurityGroupIngressCommand`).sc(ue).build(){};function fe(e){let{port:t,query:n}=e,{protocol:r,path:i,hostname:a}=e;r&&r.slice(-1)!==`:`&&(r+=`:`),t&&(a+=`:${t}`),i&&i.charAt(0)!==`/`&&(i=`/${i}`);let o=n?ie(n):``;o&&o[0]!==`?`&&(o=`?${o}`);let s=``;(e.username!=null||e.password!=null)&&(s=`${e.username??``}:${e.password??``}@`);let c=``;return e.fragment&&(c=`#${e.fragment}`),`${r}//${s}${a}${i}${o}${c}`}var pe=`2016-11-15`;function me(e){return(t,n)=>async n=>{let{input:r}=n;if(!r.PresignedUrl){let t=await e.region(),i=await y(r,{getEndpointParameterInstructions(){return{UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}}}},{...e,region:r.SourceRegion}),a=typeof e.endpoint==`function`?await e.endpoint():S(i),o=new F({...a,protocol:`https`,headers:{host:a.hostname},query:{...Object.entries(r).reduce((e,[t,n])=>(e[t]=String(n??``),e),{}),Action:`CopySnapshot`,Version:pe,DestinationRegion:t}}),s=await new I({credentials:e.credentials,region:r.SourceRegion,service:`ec2`,sha256:e.sha256,uriEscapePath:e.signingEscapePath}).presign(o,{expiresIn:3600});if(n={...n,input:{...n.input,DestinationRegion:t,PresignedUrl:fe(s)}},F.isInstance(n.request)){let{request:e}=n;(e.body??``).includes(`DestinationRegion=`)||(e.body+=`&DestinationRegion=${t}`),(e.body??``).includes(`PresignedUrl=`)||(e.body+=`&PresignedUrl=${k(n.input.PresignedUrl)}`)}}return t(n)}}var he={step:`serialize`,tags:[`CROSS_REGION_PRESIGNED_URL`],name:`crossRegionPresignedUrlMiddleware`,override:!0,relation:`after`,toMiddleware:`endpointV2Middleware`},ge=e=>({applyToStack:t=>{t.add(me(e),he)}}),_e=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions()),ge(n)]}).s(`AmazonEC2`,`CopySnapshot`,{}).n(`EC2Client`,`CopySnapshotCommand`).sc(A).build(){},ve=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreateImage`,{}).n(`EC2Client`,`CreateImageCommand`).sc(ae).build(){},ye=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreateInternetGateway`,{}).n(`EC2Client`,`CreateInternetGatewayCommand`).sc(se).build(){},be=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreateKeyPair`,{}).n(`EC2Client`,`CreateKeyPairCommand`).sc(w).build(){},xe=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreatePlacementGroup`,{}).n(`EC2Client`,`CreatePlacementGroupCommand`).sc(de).build(){},Se=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreateRoute`,{}).n(`EC2Client`,`CreateRouteCommand`).sc(le).build(){},U=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreateRouteTable`,{}).n(`EC2Client`,`CreateRouteTableCommand`).sc(ce).build(){},Ce=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreateSecurityGroup`,{}).n(`EC2Client`,`CreateSecurityGroupCommand`).sc(v).build(){},we=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreateSnapshot`,{}).n(`EC2Client`,`CreateSnapshotCommand`).sc(j).build(){},W=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreateSubnet`,{}).n(`EC2Client`,`CreateSubnetCommand`).sc(P).build(){},Te=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreateVolume`,{}).n(`EC2Client`,`CreateVolumeCommand`).sc(ne).build(){},G=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`CreateVpc`,{}).n(`EC2Client`,`CreateVpcCommand`).sc(N).build(){},Ee=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DeleteKeyPair`,{}).n(`EC2Client`,`DeleteKeyPairCommand`).sc(f).build(){},De=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DeletePlacementGroup`,{}).n(`EC2Client`,`DeletePlacementGroupCommand`).sc(i).build(){},Oe=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DeleteSecurityGroup`,{}).n(`EC2Client`,`DeleteSecurityGroupCommand`).sc(M).build(){},ke=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DeleteSnapshot`,{}).n(`EC2Client`,`DeleteSnapshotCommand`).sc(p).build(){},Ae=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DeleteSubnet`,{}).n(`EC2Client`,`DeleteSubnetCommand`).sc(o).build(){},je=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DeleteVolume`,{}).n(`EC2Client`,`DeleteVolumeCommand`).sc(a).build(){},Me=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DeleteVpc`,{}).n(`EC2Client`,`DeleteVpcCommand`).sc(u).build(){},Ne=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DetachVolume`,{}).n(`EC2Client`,`DetachVolumeCommand`).sc(ee).build(){},Pe=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`GetConsoleOutput`,{}).n(`EC2Client`,`GetConsoleOutputCommand`).sc(m).build(){},Fe=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`ImportKeyPair`,{}).n(`EC2Client`,`ImportKeyPairCommand`).sc(s).build(){},Ie=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`ModifyInstanceAttribute`,{}).n(`EC2Client`,`ModifyInstanceAttributeCommand`).sc(l).build(){},Le=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`ModifyVolume`,{}).n(`EC2Client`,`ModifyVolumeCommand`).sc(T).build(){},Re=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`RebootInstances`,{}).n(`EC2Client`,`RebootInstancesCommand`).sc(c).build(){},ze=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`RevokeSecurityGroupEgress`,{}).n(`EC2Client`,`RevokeSecurityGroupEgressCommand`).sc(g).build(){},Be=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`RevokeSecurityGroupIngress`,{}).n(`EC2Client`,`RevokeSecurityGroupIngressCommand`).sc(h).build(){},Ve=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`RunInstances`,{}).n(`EC2Client`,`RunInstancesCommand`).sc(_).build(){},He=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`StartInstances`,{}).n(`EC2Client`,`StartInstancesCommand`).sc(d).build(){},Ue=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`StopInstances`,{}).n(`EC2Client`,`StopInstancesCommand`).sc(r).build(){},We=class extends E.classBuilder().ep(O).m(function(e,t,n,r){return[b(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`TerminateInstances`,{}).n(`EC2Client`,`TerminateInstancesCommand`).sc(oe).build(){},K={capacity_block:`capacity-block`,capacity_manager_data_export:`capacity-manager-data-export`,capacity_reservation:`capacity-reservation`,capacity_reservation_fleet:`capacity-reservation-fleet`,carrier_gateway:`carrier-gateway`,client_vpn_endpoint:`client-vpn-endpoint`,coip_pool:`coip-pool`,customer_gateway:`customer-gateway`,declarative_policies_report:`declarative-policies-report`,dedicated_host:`dedicated-host`,dhcp_options:`dhcp-options`,egress_only_internet_gateway:`egress-only-internet-gateway`,elastic_gpu:`elastic-gpu`,elastic_ip:`elastic-ip`,export_image_task:`export-image-task`,export_instance_task:`export-instance-task`,fleet:`fleet`,fpga_image:`fpga-image`,host_reservation:`host-reservation`,image:`image`,image_usage_report:`image-usage-report`,import_image_task:`import-image-task`,import_snapshot_task:`import-snapshot-task`,instance:`instance`,instance_connect_endpoint:`instance-connect-endpoint`,instance_event_window:`instance-event-window`,internet_gateway:`internet-gateway`,ipam:`ipam`,ipam_external_resource_verification_token:`ipam-external-resource-verification-token`,ipam_policy:`ipam-policy`,ipam_pool:`ipam-pool`,ipam_prefix_list_resolver:`ipam-prefix-list-resolver`,ipam_prefix_list_resolver_target:`ipam-prefix-list-resolver-target`,ipam_resource_discovery:`ipam-resource-discovery`,ipam_resource_discovery_association:`ipam-resource-discovery-association`,ipam_scope:`ipam-scope`,ipv4pool_ec2:`ipv4pool-ec2`,ipv6pool_ec2:`ipv6pool-ec2`,key_pair:`key-pair`,launch_template:`launch-template`,local_gateway:`local-gateway`,local_gateway_route_table:`local-gateway-route-table`,local_gateway_route_table_virtual_interface_group_association:`local-gateway-route-table-virtual-interface-group-association`,local_gateway_route_table_vpc_association:`local-gateway-route-table-vpc-association`,local_gateway_virtual_interface:`local-gateway-virtual-interface`,local_gateway_virtual_interface_group:`local-gateway-virtual-interface-group`,mac_modification_task:`mac-modification-task`,natgateway:`natgateway`,network_acl:`network-acl`,network_insights_access_scope:`network-insights-access-scope`,network_insights_access_scope_analysis:`network-insights-access-scope-analysis`,network_insights_analysis:`network-insights-analysis`,network_insights_path:`network-insights-path`,network_interface:`network-interface`,outpost_lag:`outpost-lag`,placement_group:`placement-group`,prefix_list:`prefix-list`,replace_root_volume_task:`replace-root-volume-task`,reserved_instances:`reserved-instances`,route_server:`route-server`,route_server_endpoint:`route-server-endpoint`,route_server_peer:`route-server-peer`,route_table:`route-table`,secondary_interface:`secondary-interface`,secondary_network:`secondary-network`,secondary_subnet:`secondary-subnet`,security_group:`security-group`,security_group_rule:`security-group-rule`,service_link_virtual_interface:`service-link-virtual-interface`,snapshot:`snapshot`,spot_fleet_request:`spot-fleet-request`,spot_instances_request:`spot-instances-request`,subnet:`subnet`,subnet_cidr_reservation:`subnet-cidr-reservation`,traffic_mirror_filter:`traffic-mirror-filter`,traffic_mirror_filter_rule:`traffic-mirror-filter-rule`,traffic_mirror_session:`traffic-mirror-session`,traffic_mirror_target:`traffic-mirror-target`,transit_gateway:`transit-gateway`,transit_gateway_attachment:`transit-gateway-attachment`,transit_gateway_connect_peer:`transit-gateway-connect-peer`,transit_gateway_metering_policy:`transit-gateway-metering-policy`,transit_gateway_multicast_domain:`transit-gateway-multicast-domain`,transit_gateway_policy_table:`transit-gateway-policy-table`,transit_gateway_route_table:`transit-gateway-route-table`,transit_gateway_route_table_announcement:`transit-gateway-route-table-announcement`,verified_access_endpoint:`verified-access-endpoint`,verified_access_endpoint_target:`verified-access-endpoint-target`,verified_access_group:`verified-access-group`,verified_access_instance:`verified-access-instance`,verified_access_policy:`verified-access-policy`,verified_access_trust_provider:`verified-access-trust-provider`,volume:`volume`,vpc:`vpc`,vpc_block_public_access_exclusion:`vpc-block-public-access-exclusion`,vpc_encryption_control:`vpc-encryption-control`,vpc_endpoint:`vpc-endpoint`,vpc_endpoint_connection:`vpc-endpoint-connection`,vpc_endpoint_connection_device_type:`vpc-endpoint-connection-device-type`,vpc_endpoint_service:`vpc-endpoint-service`,vpc_endpoint_service_permission:`vpc-endpoint-service-permission`,vpc_flow_log:`vpc-flow-log`,vpc_peering_connection:`vpc-peering-connection`,vpn_concentrator:`vpn-concentrator`,vpn_connection:`vpn-connection`,vpn_connection_device_type:`vpn-connection-device-type`,vpn_gateway:`vpn-gateway`},q=e();function J(e){let t=e.split(`/`),n=t[0]??``,r=t[1]??`0`,i=Number.parseInt(r,10),a=n.split(`.`).map(e=>Number.parseInt(e,10)),o=a[0]??0,s=a[1]??0,c=a[2]??0,l=a[3]??0;return{network:((o<<24|s<<16|c<<8|l)>>>0&(i===0?0:4294967295<<32-i>>>0))>>>0,prefix:i}}function Y(e){return`${e>>>24&255}.${e>>>16&255}.${e>>>8&255}.${e&255}`}function X(e){return 2**(32-e)}function Ge(e){let t=e+4;return Math.min(t,28)}function Z(e,t,n){let{network:r,prefix:i}=J(e),a=Ge(i),o=X(a),s=X(i)/2,c=[];for(let e=0;e>>0;c.push({cidr:`${Y(t)}/${a}`,label:`Public Subnet ${e+1}`})}let l=[];for(let e=0;e>>0;l.push({cidr:`${Y(t)}/${a}`,label:`Private Subnet ${e+1}`})}return{publicSubnets:c,privateSubnets:l}}function Ke(e,t){let n=J(e),r=J(t),i=n.network+X(n.prefix)-1>>>0,a=r.network+X(r.prefix)-1>>>0;return n.network<=a&&r.network<=i}function qe(e,t){let n=J(e),r=J(t),i=n.network+X(n.prefix)-1>>>0,a=r.network+X(r.prefix)-1>>>0;return r.network>=n.network&&a<=i}function Je(e,t=16,n=28){let r=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\/(\d{1,2})$/.exec(e);if(!r||[Number.parseInt(r[1]??`0`,10),Number.parseInt(r[2]??`0`,10),Number.parseInt(r[3]??`0`,10),Number.parseInt(r[4]??`0`,10)].some(e=>e>255))return!1;let i=Number.parseInt(r[5]??`0`,10);return i>=t&&i<=n}var Ye=/\s+/;function Xe(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ze,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}function Ze(e){let t=new He({InstanceIds:[e]});return x().send(t)}function Qe(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:$e,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}function $e(e){let t=new Ue({InstanceIds:[e]});return x().send(t)}function et(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:tt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}function tt(e){let t=new We({InstanceIds:[e]});return x().send(t)}function nt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:rt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}function rt(e){let t=new Re({InstanceIds:[e]});return x().send(t)}function it(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:at,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}function at(e){let t=new Ve({ImageId:e.imageId,InstanceType:e.instanceType,KeyName:e.keyName,MinCount:e.count,MaxCount:e.count,SubnetId:e.subnetId||void 0,Placement:e.placementGroupName?{GroupName:e.placementGroupName}:void 0});return x().send(t)}function ot(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:st,onSuccess:()=>{r.invalidateQueries(L)}},e[0]=r,e[1]=i),n(i)}function st(e){let t=new be({KeyName:e.keyName,KeyType:`rsa`});return x().send(t)}function ct(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:lt,onSuccess:()=>{r.invalidateQueries(L)}},e[0]=r,e[1]=i),n(i)}function lt(e){let t=e.publicKeyMaterial.trim().split(Ye).slice(0,2).join(` `),n=new Fe({KeyName:e.keyName,PublicKeyMaterial:new TextEncoder().encode(t)});return x().send(n)}function ut(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:dt,onSuccess:()=>{r.invalidateQueries(L)}},e[0]=r,e[1]=i),n(i)}function dt(e){let t=new Ee({KeyPairId:e});return x().send(t)}function ft(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:pt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`volumes`]})}},e[0]=r,e[1]=i),n(i)}function pt(e){let t=new Te({Size:e.size,AvailabilityZone:e.availabilityZone,VolumeType:`gp3`});return x().send(t)}function mt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ht,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`volumes`]})}},e[0]=r,e[1]=i),n(i)}function ht(e){let t=new Le({VolumeId:e.volumeId,Size:e.size});return x().send(t)}function gt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:_t,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`volumes`]})}},e[0]=r,e[1]=i),n(i)}function _t(e){let t=new je({VolumeId:e});return x().send(t)}function vt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:yt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`snapshots`]})}},e[0]=r,e[1]=i),n(i)}function yt(e){let t=new we({VolumeId:e.volumeId,Description:e.description||void 0});return x().send(t)}function bt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:xt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`snapshots`]})}},e[0]=r,e[1]=i),n(i)}function xt(e){let t=new ke({SnapshotId:e});return x().send(t)}function St(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ct,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`snapshots`]})}},e[0]=r,e[1]=i),n(i)}function Ct(e){let t=new _e({SourceSnapshotId:e.sourceSnapshotId,SourceRegion:e.sourceRegion,Description:e.description||void 0});return x().send(t)}function wt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Tt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`volumes`]}),r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}function Tt(e){let t=new B({VolumeId:e.volumeId,InstanceId:e.instanceId,Device:e.device||void 0});return x().send(t)}function Et(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Dt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`volumes`]}),r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}function Dt(e){let t=new Ne({VolumeId:e.volumeId,InstanceId:e.instanceId||void 0,Force:e.force});return x().send(t)}function Ot(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:kt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}function kt(e){let{instanceId:t,...n}=e,r=new Ie({InstanceId:t,InstanceType:{Value:n.instanceType}});return x().send(r)}function At(){let e=(0,q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={mutationFn:jt},e[0]=t):t=e[0],n(t)}function jt(e){let t=new Pe({InstanceId:e});return x().send(t)}function Mt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Nt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`images`]})}},e[0]=r,e[1]=i),n(i)}function Nt(e){let t=new ve({InstanceId:e.instanceId,Name:e.name,Description:e.description||void 0});return x().send(t)}function Pt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ft,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`vpcs`]})}},e[0]=r,e[1]=i),n(i)}function Ft(e){let t=new G({CidrBlock:e.cidrBlock,TagSpecifications:e.name?[{ResourceType:`vpc`,Tags:[{Key:`Name`,Value:e.name}]}]:void 0});return x().send(t)}function It(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Lt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`vpcs`]})}},e[0]=r,e[1]=i),n(i)}function Lt(e){let t=new Me({VpcId:e});return x().send(t)}function Rt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:zt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`subnets`]})}},e[0]=r,e[1]=i),n(i)}function zt(e){let t=new W({VpcId:e.vpcId,CidrBlock:e.cidrBlock,AvailabilityZone:e.availabilityZone||void 0});return x().send(t)}function Bt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Vt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`subnets`]})}},e[0]=r,e[1]=i),n(i)}function Vt(e){let t=new Ae({SubnetId:e});return x().send(t)}function Q(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ht,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`placementGroups`]})}},e[0]=r,e[1]=i),n(i)}function Ht(e){let t=new xe({GroupName:e.groupName,Strategy:e.strategy});return x().send(t)}function Ut(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Wt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`placementGroups`]})}},e[0]=r,e[1]=i),n(i)}function Wt(e){let t=new De({GroupName:e});return x().send(t)}function Gt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Kt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]})}},e[0]=r,e[1]=i),n(i)}function Kt(e){let t=new Ce({GroupName:e.groupName,Description:e.description,VpcId:e.vpcId});return x().send(t)}function qt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Jt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]})}},e[0]=r,e[1]=i),n(i)}function Jt(e){let t=new Oe({GroupId:e});return x().send(t)}function Yt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Xt,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]}),r.invalidateQueries({queryKey:[`ec2`,`securityGroups`,t.groupId]})}},e[0]=r,e[1]=i),n(i)}function Xt(e){let t=new H({GroupId:e.groupId,IpPermissions:[{IpProtocol:e.ipProtocol,FromPort:e.fromPort,ToPort:e.toPort,IpRanges:[{CidrIp:e.cidrIp}]}]});return x().send(t)}function Zt(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Qt,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]}),r.invalidateQueries({queryKey:[`ec2`,`securityGroups`,t.groupId]})}},e[0]=r,e[1]=i),n(i)}function Qt(e){let t=new V({GroupId:e.groupId,IpPermissions:[{IpProtocol:e.ipProtocol,FromPort:e.fromPort,ToPort:e.toPort,IpRanges:[{CidrIp:e.cidrIp}]}]});return x().send(t)}function $t(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:en,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]}),r.invalidateQueries({queryKey:[`ec2`,`securityGroups`,t.groupId]})}},e[0]=r,e[1]=i),n(i)}function en(e){let t=new Be({GroupId:e.groupId,IpPermissions:[{IpProtocol:e.ipProtocol,FromPort:e.fromPort,ToPort:e.toPort,IpRanges:[{CidrIp:e.cidrIp}]}]});return x().send(t)}function tn(){let e=(0,q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:nn,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]}),r.invalidateQueries({queryKey:[`ec2`,`securityGroups`,t.groupId]})}},e[0]=r,e[1]=i),n(i)}function nn(e){let t=new ze({GroupId:e.groupId,IpPermissions:[{IpProtocol:e.ipProtocol,FromPort:e.fromPort,ToPort:e.toPort,IpRanges:[{CidrIp:e.cidrIp}]}]});return x().send(t)}function rn(e,t){let n=[];return e&&n.push({Key:`Name`,Value:e}),n.push(...t),n}function $(e,t,n){let r=rn(t,n);if(r.length!==0)return[{ResourceType:e,Tags:r}]}function an(){let e=t();return n({mutationFn:async e=>{let t=x(),n=[],r=e.autoGenerateNames?e.namePrefix:void 0,i=e.tags.map(e=>({Key:e.key,Value:e.value})),a=`creating VPC`;try{let o=r?`${r}-vpc`:e.namePrefix,s=e.tenancy,c=(await t.send(new G({CidrBlock:e.cidrBlock,InstanceTenancy:s,TagSpecifications:$(K.vpc,o,i)}))).Vpc?.VpcId;if(!c)throw Error(`VPC was created but no VPC ID was returned by the API`);if(n.push({type:`VPC`,id:c}),e.mode===`vpc-only`)return{vpcId:c,created:n};let l=Z(e.cidrBlock,e.publicSubnetCount,e.privateSubnetCount),u=e.publicSubnetCidrs.length>0?e.publicSubnetCidrs:l.publicSubnets.map(e=>e.cidr),d=e.privateSubnetCidrs.length>0?e.privateSubnetCidrs:l.privateSubnets.map(e=>e.cidr);a=`creating public subnets`;let f=[];for(let a=0;a0){a=`creating internet gateway`;let e=r?`${r}-igw`:void 0,o=(await t.send(new ye({TagSpecifications:$(K.internet_gateway,e,i)}))).InternetGateway?.InternetGatewayId;if(!o)throw Error(`Internet gateway was created but no ID was returned`);n.push({type:`Internet Gateway`,id:o}),a=`attaching internet gateway to VPC`,await t.send(new z({InternetGatewayId:o,VpcId:c})),a=`creating public route table`;let s=r?`${r}-rtb-public`:void 0,l=(await t.send(new U({VpcId:c,TagSpecifications:$(K.route_table,s,i)}))).RouteTable?.RouteTableId;if(!l)throw Error(`Public route table was created but no ID was returned`);n.push({type:`Public Route Table`,id:l}),a=`creating default route to internet gateway`,await t.send(new Se({RouteTableId:l,DestinationCidrBlock:`0.0.0.0/0`,GatewayId:o})),a=`associating public subnets with route table`;for(let e of f)await t.send(new R({RouteTableId:l,SubnetId:e}))}if(e.privateSubnetCount>0){a=`creating private route table`;let e=r?`${r}-rtb-private`:void 0,o=(await t.send(new U({VpcId:c,TagSpecifications:$(K.route_table,e,i)}))).RouteTable?.RouteTableId;if(!o)throw Error(`Private route table was created but no ID was returned`);n.push({type:`Private Route Table`,id:o}),a=`associating private subnets with route table`;for(let e of p)await t.send(new R({RouteTableId:o,SubnetId:e}))}return{vpcId:c,created:n}}catch(e){return{vpcId:n.find(e=>e.type===`VPC`)?.id,created:n,error:e instanceof Error?e:Error(String(e)),failedStep:`Failed while ${a}`}}},onSuccess:()=>{e.invalidateQueries({queryKey:[`ec2`,`vpcs`]}),e.invalidateQueries({queryKey:[`ec2`,`subnets`]}),e.invalidateQueries({queryKey:[`ec2`,`internetGateways`]}),e.invalidateQueries({queryKey:[`ec2`,`routeTables`]})}})}export{Xe as A,At as C,nt as D,mt as E,Ke as F,Je as I,et as M,Z as N,tn as O,qe as P,Et as S,Ot as T,qt as _,Mt as a,gt as b,Q as c,Rt as d,ft as f,Ut as g,ut as h,St as i,Qe as j,$t as k,Gt as l,an as m,Zt as n,it as o,Pt as p,Yt as r,ot as s,wt as t,vt as u,bt as v,ct as w,It as x,Bt as y}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/ec22.js b/spinifex/services/spinifexui/frontend/dist/assets/ec22.js index 70640219d..15b92e55d 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/ec22.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/ec22.js @@ -1 +1 @@ -import{t as e}from"./queryOptions.js";import{Ct as t,It as n,Rt as r,St as i,_t as a,bt as o,dt as s,ft as c,gt as l,ht as u,mt as d,n as f,ut as p,vt as m,xt as h,yt as g,zt as _}from"./awsClient.js";import{t as v}from"./DescribeInstancesCommand.js";var y=class extends r.classBuilder().ep(n).m(function(e,t,n,r){return[_(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeAvailabilityZones`,{}).n(`EC2Client`,`DescribeAvailabilityZonesCommand`).sc(p).build(){},b=class extends r.classBuilder().ep(n).m(function(e,t,n,r){return[_(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeImages`,{}).n(`EC2Client`,`DescribeImagesCommand`).sc(s).build(){},x=class extends r.classBuilder().ep(n).m(function(e,t,n,r){return[_(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeInstanceTypes`,{}).n(`EC2Client`,`DescribeInstanceTypesCommand`).sc(c).build(){},S=class extends r.classBuilder().ep(n).m(function(e,t,n,r){return[_(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeInternetGateways`,{}).n(`EC2Client`,`DescribeInternetGatewaysCommand`).sc(d).build(){},C=class extends r.classBuilder().ep(n).m(function(e,t,n,r){return[_(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeKeyPairs`,{}).n(`EC2Client`,`DescribeKeyPairsCommand`).sc(u).build(){},w=class extends r.classBuilder().ep(n).m(function(e,t,n,r){return[_(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribePlacementGroups`,{}).n(`EC2Client`,`DescribePlacementGroupsCommand`).sc(l).build(){},T=class extends r.classBuilder().ep(n).m(function(e,t,n,r){return[_(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeRegions`,{}).n(`EC2Client`,`DescribeRegionsCommand`).sc(a).build(){},E=class extends r.classBuilder().ep(n).m(function(e,t,n,r){return[_(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeRouteTables`,{}).n(`EC2Client`,`DescribeRouteTablesCommand`).sc(m).build(){},D=class extends r.classBuilder().ep(n).m(function(e,t,n,r){return[_(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeSecurityGroups`,{}).n(`EC2Client`,`DescribeSecurityGroupsCommand`).sc(g).build(){},O=class extends r.classBuilder().ep(n).m(function(e,t,n,r){return[_(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeSnapshots`,{}).n(`EC2Client`,`DescribeSnapshotsCommand`).sc(o).build(){},k=class extends r.classBuilder().ep(n).m(function(e,t,n,r){return[_(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeSubnets`,{}).n(`EC2Client`,`DescribeSubnetsCommand`).sc(h).build(){},A=class extends r.classBuilder().ep(n).m(function(e,t,n,r){return[_(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeVolumes`,{}).n(`EC2Client`,`DescribeVolumesCommand`).sc(i).build(){},j=class extends r.classBuilder().ep(n).m(function(e,t,n,r){return[_(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeVpcs`,{}).n(`EC2Client`,`DescribeVpcsCommand`).sc(t).build(){},M=e({queryKey:[`ec2`,`availabilityZones`],queryFn:()=>{let e=new y({});return f().send(e)},staleTime:3e5}),N=e({queryKey:[`ec2`,`instances`],queryFn:()=>{let e=new v({});return f().send(e)},refetchInterval:5e3}),P=t=>e({queryKey:[`ec2`,`instances`,t],queryFn:()=>{let e=new v({InstanceIds:[t]});return f().send(e)},refetchInterval:5e3}),F=e({queryKey:[`ec2`,`instances`,`types`],queryFn:()=>{let e=new x({Filters:[{Name:`capacity`,Values:[`true`]}]});return f().send(e)},refetchInterval:5e3}),I=e({queryKey:[`ec2`,`images`],queryFn:()=>{let e=new b({});return f().send(e)}}),L=t=>e({queryKey:[`ec2`,`images`,t??`none`],queryFn:()=>{if(!t)return{Images:[],$metadata:{}};let e=new b({ImageIds:[t]});return f().send(e)}}),R=e({queryKey:[`ec2`,`keypairs`],queryFn:()=>{let e=new C({});return f().send(e)}}),z=t=>e({queryKey:[`ec2`,`keypairs`,t],queryFn:()=>{let e=new C({KeyPairIds:[t]});return f().send(e)}}),B=e({queryKey:[`ec2`,`regions`],queryFn:()=>{let e=new T({});return f().send(e)},staleTime:3e5}),V=e({queryKey:[`ec2`,`subnets`],queryFn:()=>{let e=new k({});return f().send(e)}}),H=t=>e({queryKey:[`ec2`,`subnets`,t],queryFn:()=>{let e=new k({SubnetIds:[t]});return f().send(e)}}),U=e({queryKey:[`ec2`,`snapshots`],queryFn:()=>{let e=new O({});return f().send(e)},refetchInterval:5e3}),W=t=>e({queryKey:[`ec2`,`snapshots`,t],queryFn:()=>{let e=new O({SnapshotIds:[t]});return f().send(e)},refetchInterval:5e3});e({queryKey:[`ec2`,`internetGateways`],queryFn:()=>{let e=new S({});return f().send(e)}}),e({queryKey:[`ec2`,`routeTables`],queryFn:()=>{let e=new E({});return f().send(e)}});var G=e({queryKey:[`ec2`,`vpcs`],queryFn:()=>{let e=new j({});return f().send(e)}}),K=t=>e({queryKey:[`ec2`,`vpcs`,t],queryFn:()=>{let e=new j({VpcIds:[t]});return f().send(e)}}),q=e({queryKey:[`ec2`,`placementGroups`],queryFn:()=>{let e=new w({});return f().send(e)}}),J=t=>e({queryKey:[`ec2`,`placementGroups`,t],queryFn:()=>{let e=new w({GroupIds:[t]});return f().send(e)}}),Y=e({queryKey:[`ec2`,`securityGroups`],queryFn:()=>{let e=new D({});return f().send(e)}}),X=t=>e({queryKey:[`ec2`,`securityGroups`,t],queryFn:()=>{let e=new D({GroupIds:[t]});return f().send(e)}}),Z=e({queryKey:[`ec2`,`volumes`],queryFn:()=>{let e=new A({});return f().send(e)},refetchInterval:5e3}),Q=t=>e({queryKey:[`ec2`,`volumes`,t],queryFn:()=>{let e=new A({VolumeIds:[t]});return f().send(e)},refetchInterval:5e3});export{V as _,F as a,K as b,R as c,B as d,X as f,H as g,U as h,P as i,J as l,W as m,L as n,N as o,Y as p,I as r,z as s,M as t,q as u,Q as v,G as x,Z as y}; \ No newline at end of file +import{t as e}from"./queryOptions.js";import{At as t,Bt as n,Ft as r,Ht as i,It as a,Lt as o,Nt as s,Pt as c,Rt as l,Vt as u,in as d,jt as f,kt as p,n as m,rn as h,tn as g,zt as _}from"./awsClient.js";import{t as v}from"./DescribeInstancesCommand.js";var y=class extends h.classBuilder().ep(g).m(function(e,t,n,r){return[d(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeAvailabilityZones`,{}).n(`EC2Client`,`DescribeAvailabilityZonesCommand`).sc(p).build(){},b=class extends h.classBuilder().ep(g).m(function(e,t,n,r){return[d(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeImages`,{}).n(`EC2Client`,`DescribeImagesCommand`).sc(t).build(){},x=class extends h.classBuilder().ep(g).m(function(e,t,n,r){return[d(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeInstanceTypes`,{}).n(`EC2Client`,`DescribeInstanceTypesCommand`).sc(f).build(){},S=class extends h.classBuilder().ep(g).m(function(e,t,n,r){return[d(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeInternetGateways`,{}).n(`EC2Client`,`DescribeInternetGatewaysCommand`).sc(s).build(){},C=class extends h.classBuilder().ep(g).m(function(e,t,n,r){return[d(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeKeyPairs`,{}).n(`EC2Client`,`DescribeKeyPairsCommand`).sc(c).build(){},w=class extends h.classBuilder().ep(g).m(function(e,t,n,r){return[d(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribePlacementGroups`,{}).n(`EC2Client`,`DescribePlacementGroupsCommand`).sc(r).build(){},T=class extends h.classBuilder().ep(g).m(function(e,t,n,r){return[d(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeRegions`,{}).n(`EC2Client`,`DescribeRegionsCommand`).sc(a).build(){},E=class extends h.classBuilder().ep(g).m(function(e,t,n,r){return[d(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeRouteTables`,{}).n(`EC2Client`,`DescribeRouteTablesCommand`).sc(o).build(){},D=class extends h.classBuilder().ep(g).m(function(e,t,n,r){return[d(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeSecurityGroups`,{}).n(`EC2Client`,`DescribeSecurityGroupsCommand`).sc(l).build(){},O=class extends h.classBuilder().ep(g).m(function(e,t,n,r){return[d(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeSnapshots`,{}).n(`EC2Client`,`DescribeSnapshotsCommand`).sc(_).build(){},k=class extends h.classBuilder().ep(g).m(function(e,t,n,r){return[d(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeSubnets`,{}).n(`EC2Client`,`DescribeSubnetsCommand`).sc(n).build(){},A=class extends h.classBuilder().ep(g).m(function(e,t,n,r){return[d(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeVolumes`,{}).n(`EC2Client`,`DescribeVolumesCommand`).sc(u).build(){},j=class extends h.classBuilder().ep(g).m(function(e,t,n,r){return[d(n,e.getEndpointParameterInstructions())]}).s(`AmazonEC2`,`DescribeVpcs`,{}).n(`EC2Client`,`DescribeVpcsCommand`).sc(i).build(){},M=e({queryKey:[`ec2`,`availabilityZones`],queryFn:()=>{let e=new y({});return m().send(e)},staleTime:3e5}),N=e({queryKey:[`ec2`,`instances`],queryFn:()=>{let e=new v({});return m().send(e)},refetchInterval:5e3}),P=t=>e({queryKey:[`ec2`,`instances`,t],queryFn:()=>{let e=new v({InstanceIds:[t]});return m().send(e)},refetchInterval:5e3}),F=e({queryKey:[`ec2`,`instances`,`types`],queryFn:()=>{let e=new x({Filters:[{Name:`capacity`,Values:[`true`]}]});return m().send(e)},refetchInterval:5e3}),I=e({queryKey:[`ec2`,`images`],queryFn:()=>{let e=new b({});return m().send(e)}}),L=t=>e({queryKey:[`ec2`,`images`,t??`none`],queryFn:()=>{if(!t)return{Images:[],$metadata:{}};let e=new b({ImageIds:[t]});return m().send(e)}}),R=e({queryKey:[`ec2`,`keypairs`],queryFn:()=>{let e=new C({});return m().send(e)}}),z=t=>e({queryKey:[`ec2`,`keypairs`,t],queryFn:()=>{let e=new C({KeyPairIds:[t]});return m().send(e)}}),B=e({queryKey:[`ec2`,`regions`],queryFn:()=>{let e=new T({});return m().send(e)},staleTime:3e5}),V=e({queryKey:[`ec2`,`subnets`],queryFn:()=>{let e=new k({});return m().send(e)}}),H=t=>e({queryKey:[`ec2`,`subnets`,t],queryFn:()=>{let e=new k({SubnetIds:[t]});return m().send(e)}}),U=e({queryKey:[`ec2`,`snapshots`],queryFn:()=>{let e=new O({});return m().send(e)},refetchInterval:5e3}),W=t=>e({queryKey:[`ec2`,`snapshots`,t],queryFn:()=>{let e=new O({SnapshotIds:[t]});return m().send(e)},refetchInterval:5e3});e({queryKey:[`ec2`,`internetGateways`],queryFn:()=>{let e=new S({});return m().send(e)}}),e({queryKey:[`ec2`,`routeTables`],queryFn:()=>{let e=new E({});return m().send(e)}});var G=e({queryKey:[`ec2`,`vpcs`],queryFn:()=>{let e=new j({});return m().send(e)}}),K=t=>e({queryKey:[`ec2`,`vpcs`,t],queryFn:()=>{let e=new j({VpcIds:[t]});return m().send(e)}}),q=e({queryKey:[`ec2`,`placementGroups`],queryFn:()=>{let e=new w({});return m().send(e)}}),J=t=>e({queryKey:[`ec2`,`placementGroups`,t],queryFn:()=>{let e=new w({GroupIds:[t]});return m().send(e)}}),Y=e({queryKey:[`ec2`,`securityGroups`],queryFn:()=>{let e=new D({});return m().send(e)}}),X=t=>e({queryKey:[`ec2`,`securityGroups`,t],queryFn:()=>{let e=new D({GroupIds:[t]});return m().send(e)}}),Z=e({queryKey:[`ec2`,`volumes`],queryFn:()=>{let e=new A({});return m().send(e)},refetchInterval:5e3}),Q=t=>e({queryKey:[`ec2`,`volumes`,t],queryFn:()=>{let e=new A({VolumeIds:[t]});return m().send(e)},refetchInterval:5e3});export{V as _,F as a,K as b,R as c,B as d,X as f,H as g,U as h,P as i,J as l,W as m,L as n,N as o,Y as p,I as r,z as s,M as t,q as u,Q as v,G as x,Z as y}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/ec23.js b/spinifex/services/spinifexui/frontend/dist/assets/ec23.js index 19be92c35..2bd70cb88 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/ec23.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/ec23.js @@ -1 +1 @@ -import{A as e,D as t,E as n,O as r,T as i,k as a,w as o}from"./SignatureV4.js";import{F as s,I as c,P as l}from"./ec2.js";var u=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/\d{1,2}$/,d=e().min(1,`Key name is required`).max(255,`Key name must be 255 characters or less`).regex(/^[\w\s._\-:/()#,@[\]+=&;{}!$*]+$/,`Key name contains invalid characters`),f=a({imageId:e(`Please select an Image`),instanceType:e(`Please select an instance type`),keyName:e(`Please select a key pair`).min(1,`Key pair is required`),subnetId:e().optional(),placementGroupName:e().optional(),count:t(`Instance count must be a whole number`).min(1,`Instance count must be at least 1`)}),p=a({keyName:d}),m=a({keyName:d,publicKeyMaterial:e().min(1,`Public key is required`).refine(e=>e.trim().length>0,`Public key cannot be empty`)}),h=a({size:r().int(`Size must be a whole number`).min(1,`Size must be at least 1 GiB`).max(16384,`Size must be at most 16384 GiB`),availabilityZone:e().min(1,`Availability zone is required`)}),g=a({size:r().int(`Size must be a whole number`).min(1,`Size must be at least 1 GiB`)}),_=a({volumeId:e().min(1,`Volume is required`),description:e().optional()});a({sourceSnapshotId:e().min(1,`Source snapshot is required`),sourceRegion:e().min(1,`Source region is required`),description:e().optional()}),a({volumeId:e().min(1,`Volume is required`),instanceId:e().min(1,`Instance is required`),device:e().optional()}),a({volumeId:e().min(1,`Volume is required`),instanceId:e().optional(),force:n().optional()}),a({instanceType:e().min(1,`Instance type is required`)}),a({name:e().min(1,`Name is required`),description:e().optional()});var v=a({vpcId:e().min(1,`VPC is required`),cidrBlock:e().min(1,`CIDR block is required`).regex(u,`Must be a valid CIDR block (e.g. 10.0.1.0/24)`),availabilityZone:e().optional()});a({cidrBlock:e().min(1,`CIDR block is required`).regex(u,`Must be a valid CIDR block (e.g. 10.0.0.0/16)`),name:e().optional()});var y=a({key:e().min(1,`Key is required`),value:e()}),b=a({mode:o([`vpc-only`,`vpc-and-more`]),namePrefix:e().optional(),autoGenerateNames:n(),cidrBlock:e().min(1,`CIDR block is required`).regex(u,`Must be a valid CIDR block (e.g. 10.0.0.0/16)`).refine(e=>c(e),`CIDR has invalid octets or prefix length (must be /16 to /28)`),tenancy:o([`default`,`dedicated`]),publicSubnetCount:r().int().min(0).max(1),privateSubnetCount:r().int().min(0).max(2),publicSubnetCidrs:i(e()),privateSubnetCidrs:i(e()),tags:i(y)}).superRefine((e,t)=>{if(e.mode!==`vpc-and-more`)return;let n=[];for(let[r,i]of e.publicSubnetCidrs.entries())c(i,16,28)?(l(e.cidrBlock,i)||t.addIssue({code:`custom`,message:`Subnet CIDR must be within the VPC CIDR range`,path:[`publicSubnetCidrs`,r]}),n.push({cidr:i,field:`publicSubnetCidrs`,index:r})):t.addIssue({code:`custom`,message:`Invalid subnet CIDR format or prefix length`,path:[`publicSubnetCidrs`,r]});for(let[r,i]of e.privateSubnetCidrs.entries())c(i,16,28)?(l(e.cidrBlock,i)||t.addIssue({code:`custom`,message:`Subnet CIDR must be within the VPC CIDR range`,path:[`privateSubnetCidrs`,r]}),n.push({cidr:i,field:`privateSubnetCidrs`,index:r})):t.addIssue({code:`custom`,message:`Invalid subnet CIDR format or prefix length`,path:[`privateSubnetCidrs`,r]});for(let e=0;ee.trim().length>0,`Public key cannot be empty`)}),h=a({size:n().int(`Size must be a whole number`).min(1,`Size must be at least 1 GiB`).max(16384,`Size must be at most 16384 GiB`),availabilityZone:i().min(1,`Availability zone is required`)}),g=a({size:n().int(`Size must be a whole number`).min(1,`Size must be at least 1 GiB`)}),_=a({volumeId:i().min(1,`Volume is required`),description:i().optional()});a({sourceSnapshotId:i().min(1,`Source snapshot is required`),sourceRegion:i().min(1,`Source region is required`),description:i().optional()}),a({volumeId:i().min(1,`Volume is required`),instanceId:i().min(1,`Instance is required`),device:i().optional()}),a({volumeId:i().min(1,`Volume is required`),instanceId:i().optional(),force:t().optional()}),a({instanceType:i().min(1,`Instance type is required`)}),a({name:i().min(1,`Name is required`),description:i().optional()});var v=a({vpcId:i().min(1,`VPC is required`),cidrBlock:i().min(1,`CIDR block is required`).regex(u,`Must be a valid CIDR block (e.g. 10.0.1.0/24)`),availabilityZone:i().optional()});a({cidrBlock:i().min(1,`CIDR block is required`).regex(u,`Must be a valid CIDR block (e.g. 10.0.0.0/16)`),name:i().optional()});var y=a({key:i().min(1,`Key is required`),value:i()}),b=a({mode:o([`vpc-only`,`vpc-and-more`]),namePrefix:i().optional(),autoGenerateNames:t(),cidrBlock:i().min(1,`CIDR block is required`).regex(u,`Must be a valid CIDR block (e.g. 10.0.0.0/16)`).refine(e=>c(e),`CIDR has invalid octets or prefix length (must be /16 to /28)`),tenancy:o([`default`,`dedicated`]),publicSubnetCount:n().int().min(0).max(1),privateSubnetCount:n().int().min(0).max(2),publicSubnetCidrs:r(i()),privateSubnetCidrs:r(i()),tags:r(y)}).superRefine((e,t)=>{if(e.mode!==`vpc-and-more`)return;let n=[];for(let[r,i]of e.publicSubnetCidrs.entries())c(i,16,28)?(l(e.cidrBlock,i)||t.addIssue({code:`custom`,message:`Subnet CIDR must be within the VPC CIDR range`,path:[`publicSubnetCidrs`,r]}),n.push({cidr:i,field:`publicSubnetCidrs`,index:r})):t.addIssue({code:`custom`,message:`Invalid subnet CIDR format or prefix length`,path:[`publicSubnetCidrs`,r]});for(let[r,i]of e.privateSubnetCidrs.entries())c(i,16,28)?(l(e.cidrBlock,i)||t.addIssue({code:`custom`,message:`Subnet CIDR must be within the VPC CIDR range`,path:[`privateSubnetCidrs`,r]}),n.push({cidr:i,field:`privateSubnetCidrs`,index:r})):t.addIssue({code:`custom`,message:`Invalid subnet CIDR format or prefix length`,path:[`privateSubnetCidrs`,r]});for(let e=0;e{r.invalidateQueries({queryKey:[`elbv2`,`loadBalancers`]})}},e[0]=r,e[1]=i),n(i)}function k(e){let t=new x({LoadBalancerArn:e});return p().send(t)}function A(){let e=(0,D.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:j,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`loadBalancers`,t.loadBalancerArn,`attributes`]})}},e[0]=r,e[1]=i),n(i)}function j(e){let t=new w({LoadBalancerArn:e.loadBalancerArn,Attributes:e.attributes.map(M)});return p().send(t)}function M(e){return{Key:e.key,Value:e.value}}function N(){let e=(0,D.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:P,onSuccess:()=>{r.invalidateQueries({queryKey:[`elbv2`,`targetGroups`]})}},e[0]=r,e[1]=i),n(i)}function P(e){let t=e.tags.filter(I).map(F),n=new y({Name:e.name,Protocol:e.protocol,Port:e.port,VpcId:e.vpcId,TargetType:`instance`,HealthCheckProtocol:e.healthCheck.protocol,HealthCheckPath:e.healthCheck.path,HealthCheckPort:e.healthCheck.port,HealthCheckIntervalSeconds:e.healthCheck.intervalSeconds,HealthCheckTimeoutSeconds:e.healthCheck.timeoutSeconds,HealthyThresholdCount:e.healthCheck.healthyThresholdCount,UnhealthyThresholdCount:e.healthCheck.unhealthyThresholdCount,Matcher:{HttpCode:e.healthCheck.matcher},Tags:t.length>0?t:void 0});return p().send(n)}function F(e){return{Key:e.key,Value:e.value}}function I(e){return e.key.length>0}function L(){let e=(0,D.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:R,onSuccess:()=>{r.invalidateQueries({queryKey:[`elbv2`,`targetGroups`]})}},e[0]=r,e[1]=i),n(i)}function R(e){let t=new S({TargetGroupArn:e});return p().send(t)}function z(){let e=(0,D.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:B,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`targetGroups`,t.targetGroupArn,`attributes`]})}},e[0]=r,e[1]=i),n(i)}function B(e){let t=new T({TargetGroupArn:e.targetGroupArn,Attributes:e.attributes.map(V)});return p().send(t)}function V(e){return{Key:e.key,Value:e.value}}function H(){let e=(0,D.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:U,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`listeners`,t.loadBalancerArn]})}},e[0]=r,e[1]=i),n(i)}function U(e){let t=[{Type:`forward`,TargetGroupArn:e.defaultTargetGroupArn}],n=new _({LoadBalancerArn:e.loadBalancerArn,Protocol:e.protocol,Port:e.port,DefaultActions:t});return p().send(n)}function W(){let e=(0,D.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:G,onSuccess:()=>{r.invalidateQueries({queryKey:[`elbv2`,`listeners`]})}},e[0]=r,e[1]=i),n(i)}function G(e){let t=new b({ListenerArn:e});return p().send(t)}function K(){let e=t();return n({mutationFn:async e=>{let t=p(),n=[],r=``;try{let i=e.listener.existingTargetGroupArn;if(e.listener.targetGroupMode===`new`){let a=e.listener.newTargetGroup;if(!a)throw Error(`internal error: new target group requested but no data supplied`);r=`creating target group`;let o=a.tags.filter(e=>e.key.length>0).map(e=>({Key:e.key,Value:e.value}));if(i=(await t.send(new y({Name:a.name,Protocol:a.protocol,Port:a.port,VpcId:a.vpcId,TargetType:`instance`,HealthCheckProtocol:a.healthCheck.protocol,HealthCheckPath:a.healthCheck.path,HealthCheckPort:a.healthCheck.port,HealthCheckIntervalSeconds:a.healthCheck.intervalSeconds,HealthCheckTimeoutSeconds:a.healthCheck.timeoutSeconds,HealthyThresholdCount:a.healthCheck.healthyThresholdCount,UnhealthyThresholdCount:a.healthCheck.unhealthyThresholdCount,Matcher:{HttpCode:a.healthCheck.matcher},Tags:o.length>0?o:void 0}))).TargetGroups?.[0]?.TargetGroupArn,!i)throw Error(`Target group was created but no ARN was returned by the API`);n.push({type:`Target Group`,id:i})}if(!i)throw Error(`Target group selection is required`);r=`creating load balancer`;let a=e.lb.tags.filter(e=>e.key.length>0).map(e=>({Key:e.key,Value:e.value})),o=(await t.send(new v({Name:e.lb.name,Scheme:e.lb.scheme,Type:`application`,IpAddressType:`ipv4`,Subnets:e.lb.subnetIds,SecurityGroups:e.lb.securityGroupIds.length>0?e.lb.securityGroupIds:void 0,Tags:a.length>0?a:void 0}))).LoadBalancers?.[0]?.LoadBalancerArn;if(!o)throw Error(`Load balancer was created but no ARN was returned by the API`);return n.push({type:`Load Balancer`,id:o}),r=`creating listener`,await t.send(new _({LoadBalancerArn:o,Protocol:e.listener.protocol,Port:e.listener.port,DefaultActions:[{Type:`forward`,TargetGroupArn:i}]})),n.push({type:`Listener`,id:void 0}),{loadBalancerArn:o,created:n}}catch(e){return{loadBalancerArn:void 0,created:n,error:e instanceof Error?e:Error(String(e)),failedStep:r}}},onSettled:()=>{e.invalidateQueries({queryKey:[`elbv2`]})}})}function q(e){return e.map(e=>({Id:e.id,Port:e.port}))}function J(){let e=(0,D.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Y,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`targetGroups`,t.targetGroupArn,`health`]})}},e[0]=r,e[1]=i),n(i)}function Y(e){let t=new E({TargetGroupArn:e.targetGroupArn,Targets:q(e.targets)});return p().send(t)}function X(){let e=(0,D.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Z,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`targetGroups`,t.targetGroupArn,`health`]})}},e[0]=r,e[1]=i),n(i)}function Z(e){let t=new C({TargetGroupArn:e.targetGroupArn,Targets:q(e.targets)});return p().send(t)}export{O as a,A as c,W as i,z as l,K as n,L as o,N as r,X as s,H as t,J as u}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/elbv22.js b/spinifex/services/spinifexui/frontend/dist/assets/elbv22.js new file mode 100644 index 000000000..8b72eeb0e --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/elbv22.js @@ -0,0 +1 @@ +import{t as e}from"./queryOptions.js";import{$ as t,J as n,Q as r,X as i,Y as a,Z as o,et as s,in as c,it as l,r as u,rn as d}from"./awsClient.js";var f=class extends d.classBuilder().ep(l).m(function(e,t,n,r){return[c(n,e.getEndpointParameterInstructions())]}).s(`ElasticLoadBalancing_v10`,`DescribeListeners`,{}).n(`ElasticLoadBalancingV2Client`,`DescribeListenersCommand`).sc(n).build(){},p=class extends d.classBuilder().ep(l).m(function(e,t,n,r){return[c(n,e.getEndpointParameterInstructions())]}).s(`ElasticLoadBalancing_v10`,`DescribeLoadBalancerAttributes`,{}).n(`ElasticLoadBalancingV2Client`,`DescribeLoadBalancerAttributesCommand`).sc(a).build(){},m=class extends d.classBuilder().ep(l).m(function(e,t,n,r){return[c(n,e.getEndpointParameterInstructions())]}).s(`ElasticLoadBalancing_v10`,`DescribeLoadBalancers`,{}).n(`ElasticLoadBalancingV2Client`,`DescribeLoadBalancersCommand`).sc(i).build(){},h=class extends d.classBuilder().ep(l).m(function(e,t,n,r){return[c(n,e.getEndpointParameterInstructions())]}).s(`ElasticLoadBalancing_v10`,`DescribeTags`,{}).n(`ElasticLoadBalancingV2Client`,`DescribeTagsCommand`).sc(o).build(){},g=class extends d.classBuilder().ep(l).m(function(e,t,n,r){return[c(n,e.getEndpointParameterInstructions())]}).s(`ElasticLoadBalancing_v10`,`DescribeTargetGroupAttributes`,{}).n(`ElasticLoadBalancingV2Client`,`DescribeTargetGroupAttributesCommand`).sc(r).build(){},_=class extends d.classBuilder().ep(l).m(function(e,t,n,r){return[c(n,e.getEndpointParameterInstructions())]}).s(`ElasticLoadBalancing_v10`,`DescribeTargetGroups`,{}).n(`ElasticLoadBalancingV2Client`,`DescribeTargetGroupsCommand`).sc(t).build(){},v=class extends d.classBuilder().ep(l).m(function(e,t,n,r){return[c(n,e.getEndpointParameterInstructions())]}).s(`ElasticLoadBalancing_v10`,`DescribeTargetHealth`,{}).n(`ElasticLoadBalancingV2Client`,`DescribeTargetHealthCommand`).sc(s).build(){},y=5e3,b=e({queryKey:[`elbv2`,`loadBalancers`],queryFn:()=>{let e=new m({});return u().send(e)},refetchInterval:e=>(e.state.data?.LoadBalancers??[]).some(e=>e.State?.Code===`provisioning`)?y:!1}),x=t=>e({queryKey:[`elbv2`,`loadBalancers`,t],queryFn:()=>{let e=new m({LoadBalancerArns:[t]});return u().send(e)},refetchInterval:e=>(e.state.data?.LoadBalancers?.[0])?.State?.Code===`provisioning`?y:!1}),S=t=>e({queryKey:[`elbv2`,`loadBalancers`,t,`attributes`],queryFn:()=>{let e=new p({LoadBalancerArn:t});return u().send(e)}}),C=e({queryKey:[`elbv2`,`targetGroups`],queryFn:()=>{let e=new _({});return u().send(e)}}),w=t=>e({queryKey:[`elbv2`,`targetGroups`,t],queryFn:()=>{let e=new _({TargetGroupArns:[t]});return u().send(e)}}),T=t=>e({queryKey:[`elbv2`,`targetGroups`,t,`attributes`],queryFn:()=>{let e=new g({TargetGroupArn:t});return u().send(e)}}),E=t=>e({queryKey:[`elbv2`,`listeners`,t],queryFn:()=>{let e=new f({LoadBalancerArn:t});return u().send(e)}}),D=t=>e({queryKey:[`elbv2`,`targetGroups`,t,`health`],queryFn:()=>{let e=new v({TargetGroupArn:t});return u().send(e)}}),O=t=>e({queryKey:[`elbv2`,`tags`,...t],queryFn:()=>{let e=new h({ResourceArns:t});return u().send(e)},enabled:t.length>0});export{O as a,C as c,b as i,D as l,S as n,T as o,x as r,w as s,E as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/elbv23.js b/spinifex/services/spinifexui/frontend/dist/assets/elbv23.js new file mode 100644 index 000000000..52dc3d4e3 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/elbv23.js @@ -0,0 +1 @@ +import{A as e,O as t,T as n,j as r,k as i,w as a}from"./SignatureV4.js";var o=/^(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])$/,s=r().min(1,`Name is required`).max(32,`Name must be 32 characters or less`).regex(o,`Name may contain only letters, digits, and hyphens; must start and end with alphanumeric`).refine(e=>!e.startsWith(`internal-`),`Name cannot start with 'internal-'`),c=r().min(1,`Name is required`).max(32,`Name must be 32 characters or less`).regex(o,`Name may contain only letters, digits, and hyphens; must start and end with alphanumeric`),l=t().int(`Port must be a whole number`).min(1,`Port must be at least 1`).max(65535,`Port must be at most 65535`),u=i({key:r().min(1,`Tag key is required`).max(128),value:r().max(256)}),d=i({protocol:a([`HTTP`]),path:r().min(1,`Path is required`).max(1024),port:r().min(1),intervalSeconds:t().int().min(5).max(300),timeoutSeconds:t().int().min(2).max(120),healthyThresholdCount:t().int().min(2).max(10),unhealthyThresholdCount:t().int().min(2).max(10),matcher:r().regex(/^\d{3}(?:[-,]\d{3})*$/,`Matcher must be HTTP codes like 200 or 200-299 or 200,201`)}),f=i({name:c,protocol:a([`HTTP`]),port:l,vpcId:r().min(1,`VPC is required`),healthCheck:d,tags:n(u)}),p=i({protocol:a([`HTTP`]),port:l,defaultTargetGroupArn:r().min(1,`Target group is required`)}),m=i({name:s,scheme:a([`internet-facing`,`internal`]),vpcId:r().min(1,`VPC is required`),subnetIds:n(r()).min(2,`At least 2 subnets are required for an ALB`),securityGroupIds:n(r()),tags:n(u),listener:i({protocol:a([`HTTP`]),port:l,targetGroupMode:a([`new`,`existing`]),existingTargetGroupArn:r().optional()}).refine(e=>e.targetGroupMode===`existing`?!!e.existingTargetGroupArn:!0,{error:`Target group is required`,path:[`existingTargetGroupArn`]})});i({targets:n(i({instanceId:r().min(1,`Instance is required`),port:l.optional()})).min(1,`At least one target is required`)}),e(r(),r());export{m as n,f as r,p as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/field.js b/spinifex/services/spinifexui/frontend/dist/assets/field.js index 069fb7a5b..923550175 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/field.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/field.js @@ -1 +1 @@ -import{n as e,r as t,t as n}from"./compiler-runtime.js";import{t as r}from"./dist.js";import{F as i}from"./SignatureV4.js";import"./separator.js";t();var a=n(),o=e();function s(e){let t=(0,a.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let s;t[3]===n?s=t[4]:(s=i(`group/field-group @container/field-group flex w-full flex-col gap-4 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4`,n),t[3]=n,t[4]=s);let c;return t[5]!==r||t[6]!==s?(c=(0,o.jsx)(`div`,{className:s,"data-slot":`field-group`,...r}),t[5]=r,t[6]=s,t[7]=c):c=t[7],c}var c=r(`group/field flex w-full gap-2 data-[invalid=true]:text-destructive`,{variants:{orientation:{vertical:`flex-col [&>*]:w-full [&>.sr-only]:w-auto`,horizontal:`flex-row items-center has-[>[data-slot=field-content]]:items-start [&>[data-slot=field-label]]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`,responsive:`flex-col @md/field-group:flex-row @md/field-group:items-center @md/field-group:has-[>[data-slot=field-content]]:items-start [&>*]:w-full @md/field-group:[&>*]:w-auto [&>.sr-only]:w-auto @md/field-group:[&>[data-slot=field-label]]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`}},defaultVariants:{orientation:`vertical`}});function l(e){let t=(0,a.c)(11),n,r,s;t[0]===e?(n=t[1],r=t[2],s=t[3]):({className:n,orientation:s,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=s);let l=s===void 0?`vertical`:s,u;t[4]!==n||t[5]!==l?(u=i(c({orientation:l}),n),t[4]=n,t[5]=l,t[6]=u):u=t[6];let d;return t[7]!==l||t[8]!==r||t[9]!==u?(d=(0,o.jsx)(`div`,{className:u,"data-orientation":l,"data-slot":`field`,role:`group`,...r}),t[7]=l,t[8]=r,t[9]=u,t[10]=d):d=t[10],d}function u(e){let t=(0,a.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let s;t[3]===n?s=t[4]:(s=i(`flex w-fit items-center gap-2 text-xs/relaxed leading-snug font-medium group-data-[disabled=true]/field:opacity-50`,n),t[3]=n,t[4]=s);let c;return t[5]!==r||t[6]!==s?(c=(0,o.jsx)(`div`,{className:s,"data-slot":`field-label`,...r}),t[5]=r,t[6]=s,t[7]=c):c=t[7],c}function d(e){let t=(0,a.c)(15),n,r,s,c;t[0]===e?(n=t[1],r=t[2],s=t[3],c=t[4]):({className:r,children:n,errors:s,...c}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=s,t[4]=c);let l;bb0:{if(n){l=n;break bb0}if(!s?.length){l=null;break bb0}let e;t[5]===s?e=t[6]:(e=[...new Map(s.map(p)).values()],t[5]=s,t[6]=e);let r=e;if(r?.length===1){l=r[0]?.message;break bb0}let i;t[7]===r?i=t[8]:(i=(0,o.jsx)(`ul`,{className:`ml-4 flex list-disc flex-col gap-1`,children:r.map(f)}),t[7]=r,t[8]=i),l=i}let u=l;if(!u)return null;let d;t[9]===r?d=t[10]:(d=i(`text-xs/relaxed font-normal text-destructive`,r),t[9]=r,t[10]=d);let m;return t[11]!==u||t[12]!==c||t[13]!==d?(m=(0,o.jsx)(`div`,{className:d,"data-slot":`field-error`,role:`alert`,...c,children:u}),t[11]=u,t[12]=c,t[13]=d,t[14]=m):m=t[14],m}function f(e){return e?.message&&(0,o.jsx)(`li`,{children:e.message},e.message)}function p(e){return[e?.message,e]}export{u as i,d as n,s as r,l as t}; \ No newline at end of file +import{n as e,r as t,t as n}from"./compiler-runtime.js";import{t as r}from"./dist.js";import{I as i}from"./SignatureV4.js";import"./separator.js";t();var a=n(),o=e();function s(e){let t=(0,a.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let s;t[3]===n?s=t[4]:(s=i(`group/field-group @container/field-group flex w-full flex-col gap-4 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4`,n),t[3]=n,t[4]=s);let c;return t[5]!==r||t[6]!==s?(c=(0,o.jsx)(`div`,{className:s,"data-slot":`field-group`,...r}),t[5]=r,t[6]=s,t[7]=c):c=t[7],c}var c=r(`group/field flex w-full gap-2 data-[invalid=true]:text-destructive`,{variants:{orientation:{vertical:`flex-col [&>*]:w-full [&>.sr-only]:w-auto`,horizontal:`flex-row items-center has-[>[data-slot=field-content]]:items-start [&>[data-slot=field-label]]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`,responsive:`flex-col @md/field-group:flex-row @md/field-group:items-center @md/field-group:has-[>[data-slot=field-content]]:items-start [&>*]:w-full @md/field-group:[&>*]:w-auto [&>.sr-only]:w-auto @md/field-group:[&>[data-slot=field-label]]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`}},defaultVariants:{orientation:`vertical`}});function l(e){let t=(0,a.c)(11),n,r,s;t[0]===e?(n=t[1],r=t[2],s=t[3]):({className:n,orientation:s,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=s);let l=s===void 0?`vertical`:s,u;t[4]!==n||t[5]!==l?(u=i(c({orientation:l}),n),t[4]=n,t[5]=l,t[6]=u):u=t[6];let d;return t[7]!==l||t[8]!==r||t[9]!==u?(d=(0,o.jsx)(`div`,{className:u,"data-orientation":l,"data-slot":`field`,role:`group`,...r}),t[7]=l,t[8]=r,t[9]=u,t[10]=d):d=t[10],d}function u(e){let t=(0,a.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let s;t[3]===n?s=t[4]:(s=i(`flex w-fit items-center gap-2 text-xs/relaxed leading-snug font-medium group-data-[disabled=true]/field:opacity-50`,n),t[3]=n,t[4]=s);let c;return t[5]!==r||t[6]!==s?(c=(0,o.jsx)(`div`,{className:s,"data-slot":`field-label`,...r}),t[5]=r,t[6]=s,t[7]=c):c=t[7],c}function d(e){let t=(0,a.c)(15),n,r,s,c;t[0]===e?(n=t[1],r=t[2],s=t[3],c=t[4]):({className:r,children:n,errors:s,...c}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=s,t[4]=c);let l;bb0:{if(n){l=n;break bb0}if(!s?.length){l=null;break bb0}let e;t[5]===s?e=t[6]:(e=[...new Map(s.map(p)).values()],t[5]=s,t[6]=e);let r=e;if(r?.length===1){l=r[0]?.message;break bb0}let i;t[7]===r?i=t[8]:(i=(0,o.jsx)(`ul`,{className:`ml-4 flex list-disc flex-col gap-1`,children:r.map(f)}),t[7]=r,t[8]=i),l=i}let u=l;if(!u)return null;let d;t[9]===r?d=t[10]:(d=i(`text-xs/relaxed font-normal text-destructive`,r),t[9]=r,t[10]=d);let m;return t[11]!==u||t[12]!==c||t[13]!==d?(m=(0,o.jsx)(`div`,{className:d,"data-slot":`field-error`,role:`alert`,...c,children:u}),t[11]=u,t[12]=c,t[13]=d,t[14]=m):m=t[14],m}function f(e){return e?.message&&(0,o.jsx)(`li`,{children:e.message},e.message)}function p(e){return[e?.message,e]}export{u as i,d as n,s as r,l as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/getDisabledMountTransitionStyles.js b/spinifex/services/spinifexui/frontend/dist/assets/getDisabledMountTransitionStyles.js index d7688abb1..c3a9396d1 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/getDisabledMountTransitionStyles.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/getDisabledMountTransitionStyles.js @@ -1 +1 @@ -import{a as e,r as t}from"./compiler-runtime.js";import{Xt as n}from"./awsClient.js";import{i as r,l as i,p as a}from"./dist.js";import{C as o,T as s,_ as c,c as l,d as u,f as d,g as f,h as p,i as m,l as h,m as g,o as _,p as v,s as y,u as b,v as x,w as S,x as C,y as w}from"./button.js";import{B as T,H as E}from"./createBaseUIEventDetails.js";import{$ as D,E as O,G as k,H as A,J as j,K as M,Q as N,U as P,W as F,X as I,Y as ee,Z as L,at as R,c as te,et as ne,it as z,l as re,nt as B,ot as V,q as ie,rt as H,st as ae,tt as U,v as oe,y as se}from"./useOpenInteractionType.js";var W=e(t(),1);function ce(e,t,n){let{reference:r,floating:i}=e,a=B(t),o=ie(t),s=ee(o),c=U(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(M(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function le(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=F(t,e),p=ne(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=R(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=R(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var ue=50,G=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:le},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=ce(l,r,c),f=r,p=0,m={};for(let n=0;ne<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==B(t))||T.every(e=>B(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=B(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function de(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function fe(e){return ae.some(t=>e[t]>=0)}var q=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=F(e,t);switch(i){case`referenceHidden`:{let e=de(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:fe(e)}}}case`escaped`:{let e=de(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:fe(e)}}}default:return{}}}}},J=new Set([`left`,`top`]);async function pe(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=U(n),s=M(n),c=B(n)===`y`,l=J.has(o)?-1:1,u=a&&c?-1:1,d=F(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var me=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await pe(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Y=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=F(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=B(U(i)),p=L(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=A(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=A(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},he=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=F(e,t),u={x:n,y:r},d=B(i),f=L(d),p=u[f],m=u[d],h=F(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;pn&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=J.has(U(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);mr&&(m=r)}return{[f]:p,[d]:m}}}},ge=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=F(e,t),u=await o.detectOverflow(t,l),d=U(i),f=M(i),p=B(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=z(h-u[g],v),x=z(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=H(u.left,0),t=H(u.right,0),n=H(u.top,0),r=H(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:H(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:H(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function _e(e){let t=y(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=x(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=V(n)!==a||V(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function X(e){return c(e)?e:e.contextElement}function Z(e){let t=X(e);if(!x(t))return P(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=_e(t),o=(a?V(n.width):n.width)/r,s=(a?V(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var ve=P(0);function Q(e){let t=p(e);return!s()||!t.visualViewport?ve:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function ye(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==p(e)?!1:t}function $(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=X(e),o=P(1);t&&(r?c(r)&&(o=Z(r)):o=Z(e));let s=ye(a,n,r)?Q(a):P(0),l=(i.left+s.x)/o.x,u=(i.top+s.y)/o.y,d=i.width/o.x,f=i.height/o.y;if(a){let e=p(a),t=r&&c(r)?p(r):r,n=e,i=b(n);for(;i&&r&&t!==n;){let e=Z(i),t=i.getBoundingClientRect(),r=y(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;l*=e.x,u*=e.y,d*=e.x,f*=e.y,l+=a,u+=o,n=p(i),i=b(n)}}return R({width:d,height:f,x:l,y:u})}function be(e,t){let n=d(e).scrollLeft;return t?t.left+n:$(h(e)).left+n}function xe(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-be(e,n),y:n.top+t.scrollTop}}function Se(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=h(r),s=t?S(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=P(1),f=P(0),p=x(r);if((p||!p&&!a)&&((u(r)!==`body`||C(o))&&(c=d(r)),p)){let e=$(r);l=Z(r),f.x=e.x+r.clientLeft,f.y=e.y+r.clientTop}let m=o&&!p&&!a?xe(o,c):P(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+f.x+m.x,y:n.y*l.y-c.scrollTop*l.y+f.y+m.y}}function Ce(e){return Array.from(e.getClientRects())}function we(e){let t=h(e),n=d(e),r=e.ownerDocument.body,i=H(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=H(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+be(e),s=-n.scrollTop;return y(r).direction===`rtl`&&(o+=H(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Te=25;function Ee(e,t){let n=p(e),r=h(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,c=0,l=0;if(i){a=i.width,o=i.height;let e=s();(!e||e&&t===`fixed`)&&(c=i.offsetLeft,l=i.offsetTop)}let u=be(r);if(u<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=Te&&(a-=o)}else u<=Te&&(a+=u);return{width:a,height:o,x:c,y:l}}function De(e,t){let n=$(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=x(e)?Z(e):P(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Oe(e,t,n){let r;if(t===`viewport`)r=Ee(e,n);else if(t===`document`)r=we(h(e));else if(c(t))r=De(t,n);else{let n=Q(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return R(r)}function ke(e,t){let n=g(e);return n===t||!c(n)||w(n)?!1:y(n).position===`fixed`||ke(n,t)}function Ae(e,t){let n=t.get(e);if(n)return n;let r=v(e,[],!1).filter(e=>c(e)&&u(e)!==`body`),i=null,a=y(e).position===`fixed`,o=a?g(e):e;for(;c(o)&&!w(o);){let t=y(o),n=f(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||C(o)&&!n&&ke(e,o))?r=r.filter(e=>e!==o):i=t,o=g(o)}return t.set(e,r),r}function je(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?S(t)?[]:Ae(t,this._c):[].concat(n),r],o=Oe(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e{o(!1,1e-7)},1e3)}n===1&&!Be(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function He(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=X(e),u=i||a?[...l?v(l):[],...t?v(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Ve(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?$(e):null;c&&g();function g(){let t=$(e);h&&!Be(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Ue=me,We=Y,Ge=K,Ke=ge,qe=q,Je=he,Ye=(e,t,n)=>{let r=new Map,i={platform:ze,...n},a={...i.platform,_c:r};return G(e,t,{...i,platform:a})},Xe=e(n(),1),Ze=typeof document<`u`?W.useLayoutEffect:function(){};function Qe(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Qe(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!Qe(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function $e(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function et(e,t){let n=$e(e);return Math.round(t*n)/n}function tt(e){let t=W.useRef(e);return Ze(()=>{t.current=e}),t}function nt(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=W.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=W.useState(r);Qe(f,r)||p(r);let[m,h]=W.useState(null),[g,_]=W.useState(null),v=W.useCallback(e=>{e!==S.current&&(S.current=e,h(e))},[]),y=W.useCallback(e=>{e!==C.current&&(C.current=e,_(e))},[]),b=a||m,x=o||g,S=W.useRef(null),C=W.useRef(null),w=W.useRef(u),T=c!=null,E=tt(c),D=tt(i),O=tt(l),k=W.useCallback(()=>{if(!S.current||!C.current)return;let e={placement:t,strategy:n,middleware:f};D.current&&(e.platform=D.current),Ye(S.current,C.current,e).then(e=>{let t={...e,isPositioned:O.current!==!1};A.current&&!Qe(w.current,t)&&(w.current=t,Xe.flushSync(()=>{d(t)}))})},[f,t,n,D,O]);Ze(()=>{l===!1&&w.current.isPositioned&&(w.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let A=W.useRef(!1);Ze(()=>(A.current=!0,()=>{A.current=!1}),[]),Ze(()=>{if(b&&(S.current=b),x&&(C.current=x),b&&x){if(E.current)return E.current(b,x,k);k()}},[b,x,k,E,T]);let j=W.useMemo(()=>({reference:S,floating:C,setReference:v,setFloating:y}),[v,y]),M=W.useMemo(()=>({reference:b,floating:x}),[b,x]),N=W.useMemo(()=>{let e={position:n,left:0,top:0};if(!M.floating)return e;let t=et(M.floating,u.x),r=et(M.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...$e(M.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,M.floating,u.x,u.y]);return W.useMemo(()=>({...u,update:k,refs:j,elements:M,floatingStyles:N}),[u,k,j,M,N])}var rt=(e,t)=>{let n=Ue(e);return{name:n.name,fn:n.fn,options:[e,t]}},it=(e,t)=>{let n=We(e);return{name:n.name,fn:n.fn,options:[e,t]}},at=(e,t)=>({fn:Je(e).fn,options:[e,t]}),ot=(e,t)=>{let n=Ge(e);return{name:n.name,fn:n.fn,options:[e,t]}},st=(e,t)=>{let n=Ke(e);return{name:n.name,fn:n.fn,options:[e,t]}},ct=(e,t)=>{let n=qe(e);return{name:n.name,fn:n.fn,options:[e,t]}};function lt(e){let{open:t=!1,onOpenChange:n,elements:r={}}=e,i=E(),o=oe()!=null,s=a(()=>new re({open:t,onOpenChange:n,referenceElement:r.reference??null,floatingElement:r.floating??null,triggerElements:new te,floatingId:i,nested:o,noEmit:!1})).current;return m(()=>{let e={open:t,floatingId:i};r.reference!==void 0&&(e.referenceElement=r.reference,e.domReferenceElement=c(r.reference)?r.reference:null),r.floating!==void 0&&(e.floatingElement=r.floating),s.update(e)},[t,i,r.reference,r.floating,s]),s.context.onOpenChange=n,s.context.nested=o,s.context.noEmit=!1,s}function ut(e={}){let{nodeId:t,externalTree:n}=e,r=lt(e),i=e.rootContext||r,a={reference:i.useState(`referenceElement`),floating:i.useState(`floatingElement`),domReference:i.useState(`domReferenceElement`)},[o,s]=W.useState(null),l=W.useRef(null),u=se(n);m(()=>{a.domReference&&(l.current=a.domReference)},[a.domReference]);let d=nt({...e,elements:{...a,...o&&{reference:o}}}),f=W.useCallback(e=>{let t=c(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),getClientRects:()=>e.getClientRects(),contextElement:e}:e;s(t),d.refs.setReference(t)},[d.refs]),[p,h]=W.useState(null),[g,_]=W.useState(null);i.useSyncedValue(`referenceElement`,p),i.useSyncedValue(`domReferenceElement`,c(p)?p:null),i.useSyncedValue(`floatingElement`,g);let v=W.useCallback(e=>{(c(e)||e===null)&&(l.current=e,h(e)),(c(d.refs.reference.current)||d.refs.reference.current===null||e!==null&&!c(e))&&d.refs.setReference(e)},[d.refs,h]),y=W.useCallback(e=>{_(e),d.refs.setFloating(e)},[d.refs]),b=W.useMemo(()=>({...d.refs,setReference:v,setFloating:y,setPositionReference:f,domReference:l}),[d.refs,v,y,f]),x=W.useMemo(()=>({...d.elements,domReference:a.domReference}),[d.elements,a.domReference]),S=i.useState(`open`),C=i.useState(`floatingId`),w=W.useMemo(()=>({...d,dataRef:i.context.dataRef,open:S,onOpenChange:i.setOpen,events:i.context.events,floatingId:C,refs:b,elements:x,nodeId:t,rootStore:i}),[d,b,x,t,i,S,C]);return m(()=>{i.context.dataRef.current.floatingContext=w;let e=u?.nodesRef.current.find(e=>e.id===t);e&&(e.context=w)}),W.useMemo(()=>({...d,context:w,refs:b,elements:x,rootStore:i}),[d,b,x,w,i])}function dt(e){let t=W.useRef(!0);t.current&&(t.current=!1,e())}var ft=W.createContext(void 0);function pt(){return W.useContext(ft)?.direction??`ltr`}var mt=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0,offsetParent:d=`real`}=F(e,t)||{};if(l==null)return{};let f=ne(u),p={x:n,y:r},m=ie(i),h=ee(m),g=await o.getDimensions(l),_=m===`y`,v=_?`top`:`left`,y=_?`bottom`:`right`,b=_?`clientHeight`:`clientWidth`,x=a.reference[h]+a.reference[m]-p[m]-a.floating[h],S=p[m]-a.reference[m],C=d===`real`?await o.getOffsetParent?.(l):s.floating,w=s.floating[b]||a.floating[h];(!w||!await o.isElement?.(C))&&(w=s.floating[b]||a.floating[h]);let T=x/2-S/2,E=w/2-g[h]/2-1,D=Math.min(f[v],E),O=Math.min(f[y],E),k=D,j=w-g[h]-O,N=w/2-g[h]/2+T,P=A(k,N,j),I=!c.arrow&&M(i)!=null&&N!==P&&a.reference[h]/2-(N({...mt(e),options:[e,t]}),gt={name:`hide`,async fn(e){let{width:t,height:n,x:r,y:i}=e.rects.reference,a=t===0&&n===0&&r===0&&i===0;return{data:{referenceHidden:(await ct().fn(e)).data?.referenceHidden||a}}}},_t={sideX:`left`,sideY:`top`},vt={name:`adaptiveOrigin`,async fn(e){let{x:t,y:n,rects:{floating:r},elements:{floating:i},platform:a,strategy:o,placement:s}=e,c=p(i),l=c.getComputedStyle(i);if(!(l.transitionDuration!==`0s`&&l.transitionDuration!==``))return{x:t,y:n,data:_t};let u=await a.getOffsetParent?.(i),d={width:0,height:0};if(o===`fixed`&&c?.visualViewport)d={width:c.visualViewport.width,height:c.visualViewport.height};else if(u===c){let e=T(i);d={width:e.documentElement.clientWidth,height:e.documentElement.clientHeight}}else await a.isElement?.(u)&&(d=await a.getDimensions(u));let f=U(s),m=t,h=n;f===`left`&&(m=d.width-(t+r.width)),f===`top`&&(h=d.height-(n+r.height));let g=f===`left`?`right`:_t.sideX,_=f===`top`?`bottom`:_t.sideY;return{x:m,y:h,data:{sideX:g,sideY:_}}}};function yt(e,t,n){let r=e===`inline-start`||e===`inline-end`;return{top:`top`,right:r?n?`inline-start`:`inline-end`:`right`,bottom:`bottom`,left:r?n?`inline-end`:`inline-start`:`left`}[t]}function bt(e,t,n){let{rects:r,placement:i}=e;return{side:yt(t,U(i),n),align:M(i)||`center`,anchor:{width:r.reference.width,height:r.reference.height},positioner:{width:r.floating.width,height:r.floating.height}}}function xt(e){let{anchor:t,positionMethod:n=`absolute`,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,collisionBoundary:s,collisionPadding:c=5,sticky:l=!1,arrowPadding:u=5,disableAnchorTracking:d=!1,keepMounted:f=!1,floatingRootContext:p,mounted:h,collisionAvoidance:g,shiftCrossAxis:v=!1,nodeId:y,adaptiveOrigin:b,lazyFlip:x=!1,externalTree:S}=e,[C,w]=W.useState(null);!h&&C!==null&&w(null);let E=g.side||`flip`,D=g.align||`flip`,k=g.fallbackAxisSide||`end`,A=typeof t==`function`?t:void 0,j=_(A),N=A?j:t,P=O(t),F=pt()===`rtl`,I=C||{top:`top`,right:`right`,bottom:`bottom`,left:`left`,"inline-end":F?`left`:`right`,"inline-start":F?`right`:`left`}[r],ee=a===`center`?I:`${I}-${a}`,L=c,R=+(r===`bottom`),te=+(r===`top`),ne=+(r===`right`),z=+(r===`left`);typeof L==`number`?L={top:L+R,right:L+z,bottom:L+te,left:L+ne}:L&&={top:(L.top||0)+R,right:(L.right||0)+z,bottom:(L.bottom||0)+te,left:(L.left||0)+ne};let re={boundary:s===`clipping-ancestors`?`clippingAncestors`:s,padding:L},V=W.useRef(null),ie=O(i),H=O(o),ae=[rt(e=>{let t=bt(e,r,F),n=typeof ie.current==`function`?ie.current(t):ie.current,i=typeof H.current==`function`?H.current(t):H.current;return{mainAxis:n,crossAxis:i,alignmentAxis:i}},[typeof i==`function`?0:i,typeof o==`function`?0:o,F,r])],oe=D===`none`&&E!==`shift`,se=!oe&&(l||v||E===`shift`),ce=E===`none`?null:ot({...re,padding:{top:L.top+1,right:L.right+1,bottom:L.bottom+1,left:L.left+1},mainAxis:!v&&E===`flip`,crossAxis:D===`flip`?`alignment`:!1,fallbackAxisSideDirection:k}),le=oe?null:it(e=>{let t=T(e.elements.floating).documentElement;return{...re,rootBoundary:v?{x:0,y:0,width:t.clientWidth,height:t.clientHeight}:void 0,mainAxis:D!==`none`,crossAxis:se,limiter:l||v?void 0:at(e=>{if(!V.current)return{};let{width:t,height:n}=V.current.getBoundingClientRect(),r=B(U(e.placement)),i=r===`y`?t:n,a=r===`y`?L.left+L.right:L.top+L.bottom;return{offset:i/2+a/2}})}},[re,l,v,L,D]);E===`shift`||D===`shift`||a===`center`?ae.push(le,ce):ae.push(ce,le),ae.push(st({...re,apply({elements:{floating:e},availableWidth:t,availableHeight:n,rects:r}){let i=e.style;i.setProperty(`--available-width`,`${t}px`),i.setProperty(`--available-height`,`${n}px`);let a=window.devicePixelRatio||1,{x:o,y:s,width:c,height:l}=r.reference,u=(Math.round((o+c)*a)-Math.round(o*a))/a,d=(Math.round((s+l)*a)-Math.round(s*a))/a;i.setProperty(`--anchor-width`,`${u}px`),i.setProperty(`--anchor-height`,`${d}px`)}}),ht(()=>({element:V.current||document.createElement(`div`),padding:u,offsetParent:`floating`}),[u]),{name:`transformOrigin`,fn(e){let{elements:t,middlewareData:n,placement:a,rects:o,y:s}=e,c=U(a),l=B(c),u=V.current,d=n.arrow?.x||0,f=n.arrow?.y||0,p=u?.clientWidth||0,m=u?.clientHeight||0,h=d+p/2,g=f+m/2,_=Math.abs(n.shift?.y||0),v=o.reference.height/2,y=typeof i==`function`?i(bt(e,r,F)):i,b=_>y,x={top:`${h}px calc(100% + ${y}px)`,bottom:`${h}px ${-y}px`,left:`calc(100% + ${y}px) ${g}px`,right:`${-y}px ${g}px`}[c],S=`${h}px ${o.reference.y+v-s}px`;return t.floating.style.setProperty(`--transform-origin`,se&&l===`y`&&b?S:x),{}}},gt,b),m(()=>{!h&&p&&p.update({referenceElement:null,floatingElement:null,domReferenceElement:null})},[h,p]);let ue=W.useMemo(()=>({elementResize:!d&&typeof ResizeObserver<`u`,layoutShift:!d&&typeof IntersectionObserver<`u`}),[d]),{refs:G,elements:K,x:de,y:fe,middlewareData:q,update:J,placement:pe,context:me,isPositioned:Y,floatingStyles:he}=ut({rootContext:p,placement:ee,middleware:ae,strategy:n,whileElementsMounted:f?void 0:(...e)=>He(...e,ue),nodeId:y,externalTree:S}),{sideX:ge,sideY:_e}=q.adaptiveOrigin||_t,X=Y?n:`fixed`,Z=W.useMemo(()=>{let e=b?{position:X,[ge]:de,[_e]:fe}:{position:X,...he};return Y||(e.opacity=0),e},[b,X,ge,de,_e,fe,he,Y]),ve=W.useRef(null);m(()=>{if(!h)return;let e=P.current,t=typeof e==`function`?e():e,n=(St(t)?t.current:t)||null;n!==ve.current&&(G.setPositionReference(n),ve.current=n)},[h,G,N,P]),W.useEffect(()=>{if(!h)return;let e=P.current;typeof e!=`function`&&St(e)&&e.current!==ve.current&&(G.setPositionReference(e.current),ve.current=e.current)},[h,G,N,P]),W.useEffect(()=>{if(f&&h&&K.domReference&&K.floating)return He(K.domReference,K.floating,J,ue)},[f,h,K,J,ue]);let Q=U(pe),ye=yt(r,Q,F),$=M(pe)||`center`,be=!!q.hide?.referenceHidden;m(()=>{x&&h&&Y&&w(Q)},[x,h,Y,Q]);let xe=W.useMemo(()=>({position:`absolute`,top:q.arrow?.y,left:q.arrow?.x}),[q.arrow]),Se=q.arrow?.centerOffset!==0;return W.useMemo(()=>({positionerStyles:Z,arrowStyles:xe,arrowRef:V,arrowUncentered:Se,side:ye,align:$,physicalSide:Q,anchorHidden:be,refs:G,context:me,isPositioned:Y,update:J}),[Z,xe,V,Se,ye,$,Q,be,G,me,Y,J])}function St(e){return e!=null&&`current`in e}function Ct(e){return e===`starting`?r:i}export{lt as a,dt as i,xt as n,ze as o,vt as r,Ct as t}; \ No newline at end of file +import{a as e,r as t}from"./compiler-runtime.js";import{hn as n}from"./awsClient.js";import{i as r,l as i,p as a}from"./dist.js";import{C as o,D as s,E as c,T as l,_ as u,b as d,c as f,d as p,f as m,g as h,h as g,l as _,m as v,o as y,p as b,u as x,v as S,x as C,y as w}from"./button.js";import{B as T,H as E}from"./createBaseUIEventDetails.js";import{B as D,C as O,M as k,N as A,S as j,_t as M,at as N,bt as P,ct as ee,dt as te,ft as F,gt as I,ht as L,it as R,lt as ne,mt as re,nt as ie,ot as z,pt as ae,rt as B,st as oe,ut as se,vt as V,xt as ce,yt as H}from"./useOpenInteractionType.js";var U=e(t(),1);function le(e,t,n){let{reference:r,floating:i}=e,a=I(t),o=oe(t),s=ne(o),c=L(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(z(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function ue(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=R(t,e),p=re(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=H(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=H(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var de=50,W=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:ue},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=le(l,r,c),f=r,p=0,m={};for(let n=0;ne<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==I(t))||T.every(e=>I(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=I(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function fe(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function pe(e){return ce.some(t=>e[t]>=0)}var K=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=R(e,t);switch(i){case`referenceHidden`:{let e=fe(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:pe(e)}}}case`escaped`:{let e=fe(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:pe(e)}}}default:return{}}}}},q=new Set([`left`,`top`]);async function me(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=L(n),s=z(n),c=I(n)===`y`,l=q.has(o)?-1:1,u=a&&c?-1:1,d=R(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var he=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await me(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},J=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=R(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=I(L(i)),p=te(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=ie(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=ie(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},ge=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=R(e,t),u={x:n,y:r},d=I(i),f=te(d),p=u[f],m=u[d],h=R(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;pn&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=q.has(L(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);mr&&(m=r)}return{[f]:p,[d]:m}}}},_e=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=R(e,t),u=await o.detectOverflow(t,l),d=L(i),f=z(i),p=I(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=V(h-u[g],v),x=V(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=M(u.left,0),t=M(u.right,0),n=M(u.top,0),r=M(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:M(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:M(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function ve(e){let t=_(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=d(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=P(n)!==a||P(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Y(e){return w(e)?e:e.contextElement}function X(e){let t=Y(e);if(!d(t))return B(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=ve(t),o=(a?P(n.width):n.width)/r,s=(a?P(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var ye=B(0);function Z(e){let t=u(e);return!s()||!t.visualViewport?ye:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function be(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==u(e)?!1:t}function Q(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Y(e),o=B(1);t&&(r?w(r)&&(o=X(r)):o=X(e));let s=be(a,n,r)?Z(a):B(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,d=i.width/o.x,f=i.height/o.y;if(a){let e=u(a),t=r&&w(r)?u(r):r,n=e,i=m(n);for(;i&&r&&t!==n;){let e=X(i),t=i.getBoundingClientRect(),r=_(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,d*=e.x,f*=e.y,c+=a,l+=o,n=u(i),i=m(n)}}return H({width:d,height:f,x:c,y:l})}function $(e,t){let n=v(e).scrollLeft;return t?t.left+n:Q(p(e)).left+n}function xe(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-$(e,n),y:n.top+t.scrollTop}}function Se(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,s=p(r),l=t?c(t.floating):!1;if(r===s||l&&a)return n;let u={scrollLeft:0,scrollTop:0},f=B(1),m=B(0),h=d(r);if((h||!h&&!a)&&((b(r)!==`body`||o(s))&&(u=v(r)),h)){let e=Q(r);f=X(r),m.x=e.x+r.clientLeft,m.y=e.y+r.clientTop}let g=s&&!h&&!a?xe(s,u):B(0);return{width:n.width*f.x,height:n.height*f.y,x:n.x*f.x-u.scrollLeft*f.x+m.x+g.x,y:n.y*f.y-u.scrollTop*f.y+m.y+g.y}}function Ce(e){return Array.from(e.getClientRects())}function we(e){let t=p(e),n=v(e),r=e.ownerDocument.body,i=M(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=M(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+$(e),s=-n.scrollTop;return _(r).direction===`rtl`&&(o+=M(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Te=25;function Ee(e,t){let n=u(e),r=p(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,c=0,l=0;if(i){a=i.width,o=i.height;let e=s();(!e||e&&t===`fixed`)&&(c=i.offsetLeft,l=i.offsetTop)}let d=$(r);if(d<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=Te&&(a-=o)}else d<=Te&&(a+=d);return{width:a,height:o,x:c,y:l}}function De(e,t){let n=Q(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=d(e)?X(e):B(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Oe(e,t,n){let r;if(t===`viewport`)r=Ee(e,n);else if(t===`document`)r=we(p(e));else if(w(t))r=De(t,n);else{let n=Z(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return H(r)}function ke(e,t){let n=h(e);return n===t||!w(n)||C(n)?!1:_(n).position===`fixed`||ke(n,t)}function Ae(e,t){let n=t.get(e);if(n)return n;let r=g(e,[],!1).filter(e=>w(e)&&b(e)!==`body`),i=null,a=_(e).position===`fixed`,s=a?h(e):e;for(;w(s)&&!C(s);){let t=_(s),n=S(s);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||o(s)&&!n&&ke(e,s))?r=r.filter(e=>e!==s):i=t,s=h(s)}return t.set(e,r),r}function je(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?c(t)?[]:Ae(t,this._c):[].concat(n),r],o=Oe(t,a[0],i),s=o.top,l=o.right,u=o.bottom,d=o.left;for(let e=1;e{o(!1,1e-7)},1e3)}n===1&&!Be(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function He(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Y(e),u=i||a?[...l?g(l):[],...t?g(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Ve(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Q(e):null;c&&_();function _(){let t=Q(e);h&&!Be(h,t)&&n(),h=t,m=requestAnimationFrame(_)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Ue=he,We=J,Ge=G,Ke=_e,qe=K,Je=ge,Ye=(e,t,n)=>{let r=new Map,i={platform:ze,...n},a={...i.platform,_c:r};return W(e,t,{...i,platform:a})},Xe=e(n(),1),Ze=typeof document<`u`?U.useLayoutEffect:function(){};function Qe(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Qe(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!Qe(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function $e(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function et(e,t){let n=$e(e);return Math.round(t*n)/n}function tt(e){let t=U.useRef(e);return Ze(()=>{t.current=e}),t}function nt(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=U.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=U.useState(r);Qe(f,r)||p(r);let[m,h]=U.useState(null),[g,_]=U.useState(null),v=U.useCallback(e=>{e!==S.current&&(S.current=e,h(e))},[]),y=U.useCallback(e=>{e!==C.current&&(C.current=e,_(e))},[]),b=a||m,x=o||g,S=U.useRef(null),C=U.useRef(null),w=U.useRef(u),T=c!=null,E=tt(c),D=tt(i),O=tt(l),k=U.useCallback(()=>{if(!S.current||!C.current)return;let e={placement:t,strategy:n,middleware:f};D.current&&(e.platform=D.current),Ye(S.current,C.current,e).then(e=>{let t={...e,isPositioned:O.current!==!1};A.current&&!Qe(w.current,t)&&(w.current=t,Xe.flushSync(()=>{d(t)}))})},[f,t,n,D,O]);Ze(()=>{l===!1&&w.current.isPositioned&&(w.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let A=U.useRef(!1);Ze(()=>(A.current=!0,()=>{A.current=!1}),[]),Ze(()=>{if(b&&(S.current=b),x&&(C.current=x),b&&x){if(E.current)return E.current(b,x,k);k()}},[b,x,k,E,T]);let j=U.useMemo(()=>({reference:S,floating:C,setReference:v,setFloating:y}),[v,y]),M=U.useMemo(()=>({reference:b,floating:x}),[b,x]),N=U.useMemo(()=>{let e={position:n,left:0,top:0};if(!M.floating)return e;let t=et(M.floating,u.x),r=et(M.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...$e(M.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,M.floating,u.x,u.y]);return U.useMemo(()=>({...u,update:k,refs:j,elements:M,floatingStyles:N}),[u,k,j,M,N])}var rt=(e,t)=>{let n=Ue(e);return{name:n.name,fn:n.fn,options:[e,t]}},it=(e,t)=>{let n=We(e);return{name:n.name,fn:n.fn,options:[e,t]}},at=(e,t)=>({fn:Je(e).fn,options:[e,t]}),ot=(e,t)=>{let n=Ge(e);return{name:n.name,fn:n.fn,options:[e,t]}},st=(e,t)=>{let n=Ke(e);return{name:n.name,fn:n.fn,options:[e,t]}},ct=(e,t)=>{let n=qe(e);return{name:n.name,fn:n.fn,options:[e,t]}};function lt(e){let{open:t=!1,onOpenChange:n,elements:r={}}=e,i=E(),o=k()!=null,s=a(()=>new O({open:t,onOpenChange:n,referenceElement:r.reference??null,floatingElement:r.floating??null,triggerElements:new j,floatingId:i,nested:o,noEmit:!1})).current;return y(()=>{let e={open:t,floatingId:i};r.reference!==void 0&&(e.referenceElement=r.reference,e.domReferenceElement=w(r.reference)?r.reference:null),r.floating!==void 0&&(e.floatingElement=r.floating),s.update(e)},[t,i,r.reference,r.floating,s]),s.context.onOpenChange=n,s.context.nested=o,s.context.noEmit=!1,s}function ut(e={}){let{nodeId:t,externalTree:n}=e,r=lt(e),i=e.rootContext||r,a={reference:i.useState(`referenceElement`),floating:i.useState(`floatingElement`),domReference:i.useState(`domReferenceElement`)},[o,s]=U.useState(null),c=U.useRef(null),l=A(n);y(()=>{a.domReference&&(c.current=a.domReference)},[a.domReference]);let u=nt({...e,elements:{...a,...o&&{reference:o}}}),d=U.useCallback(e=>{let t=w(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),getClientRects:()=>e.getClientRects(),contextElement:e}:e;s(t),u.refs.setReference(t)},[u.refs]),[f,p]=U.useState(null),[m,h]=U.useState(null);i.useSyncedValue(`referenceElement`,f),i.useSyncedValue(`domReferenceElement`,w(f)?f:null),i.useSyncedValue(`floatingElement`,m);let g=U.useCallback(e=>{(w(e)||e===null)&&(c.current=e,p(e)),(w(u.refs.reference.current)||u.refs.reference.current===null||e!==null&&!w(e))&&u.refs.setReference(e)},[u.refs,p]),_=U.useCallback(e=>{h(e),u.refs.setFloating(e)},[u.refs]),v=U.useMemo(()=>({...u.refs,setReference:g,setFloating:_,setPositionReference:d,domReference:c}),[u.refs,g,_,d]),b=U.useMemo(()=>({...u.elements,domReference:a.domReference}),[u.elements,a.domReference]),x=i.useState(`open`),S=i.useState(`floatingId`),C=U.useMemo(()=>({...u,dataRef:i.context.dataRef,open:x,onOpenChange:i.setOpen,events:i.context.events,floatingId:S,refs:v,elements:b,nodeId:t,rootStore:i}),[u,v,b,t,i,x,S]);return y(()=>{i.context.dataRef.current.floatingContext=C;let e=l?.nodesRef.current.find(e=>e.id===t);e&&(e.context=C)}),U.useMemo(()=>({...u,context:C,refs:v,elements:b,rootStore:i}),[u,v,b,C,i])}function dt(e){let t=U.useRef(!0);t.current&&(t.current=!1,e())}var ft=U.createContext(void 0);function pt(){return U.useContext(ft)?.direction??`ltr`}var mt=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0,offsetParent:d=`real`}=R(e,t)||{};if(l==null)return{};let f=re(u),p={x:n,y:r},m=oe(i),h=ne(m),g=await o.getDimensions(l),_=m===`y`,v=_?`top`:`left`,y=_?`bottom`:`right`,b=_?`clientHeight`:`clientWidth`,x=a.reference[h]+a.reference[m]-p[m]-a.floating[h],S=p[m]-a.reference[m],C=d===`real`?await o.getOffsetParent?.(l):s.floating,w=s.floating[b]||a.floating[h];(!w||!await o.isElement?.(C))&&(w=s.floating[b]||a.floating[h]);let T=x/2-S/2,E=w/2-g[h]/2-1,D=Math.min(f[v],E),O=Math.min(f[y],E),k=D,A=w-g[h]-O,j=w/2-g[h]/2+T,M=ie(k,j,A),N=!c.arrow&&z(i)!=null&&j!==M&&a.reference[h]/2-(j({...mt(e),options:[e,t]}),gt={name:`hide`,async fn(e){let{width:t,height:n,x:r,y:i}=e.rects.reference,a=t===0&&n===0&&r===0&&i===0;return{data:{referenceHidden:(await ct().fn(e)).data?.referenceHidden||a}}}},_t={sideX:`left`,sideY:`top`},vt={name:`adaptiveOrigin`,async fn(e){let{x:t,y:n,rects:{floating:r},elements:{floating:i},platform:a,strategy:o,placement:s}=e,c=u(i),l=c.getComputedStyle(i);if(!(l.transitionDuration!==`0s`&&l.transitionDuration!==``))return{x:t,y:n,data:_t};let d=await a.getOffsetParent?.(i),f={width:0,height:0};if(o===`fixed`&&c?.visualViewport)f={width:c.visualViewport.width,height:c.visualViewport.height};else if(d===c){let e=T(i);f={width:e.documentElement.clientWidth,height:e.documentElement.clientHeight}}else await a.isElement?.(d)&&(f=await a.getDimensions(d));let p=L(s),m=t,h=n;p===`left`&&(m=f.width-(t+r.width)),p===`top`&&(h=f.height-(n+r.height));let g=p===`left`?`right`:_t.sideX,_=p===`top`?`bottom`:_t.sideY;return{x:m,y:h,data:{sideX:g,sideY:_}}}};function yt(e,t,n){let r=e===`inline-start`||e===`inline-end`;return{top:`top`,right:r?n?`inline-start`:`inline-end`:`right`,bottom:`bottom`,left:r?n?`inline-end`:`inline-start`:`left`}[t]}function bt(e,t,n){let{rects:r,placement:i}=e;return{side:yt(t,L(i),n),align:z(i)||`center`,anchor:{width:r.reference.width,height:r.reference.height},positioner:{width:r.floating.width,height:r.floating.height}}}function xt(e){let{anchor:t,positionMethod:n=`absolute`,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,collisionBoundary:s,collisionPadding:c=5,sticky:l=!1,arrowPadding:u=5,disableAnchorTracking:d=!1,keepMounted:p=!1,floatingRootContext:m,mounted:h,collisionAvoidance:g,shiftCrossAxis:_=!1,nodeId:v,adaptiveOrigin:b,lazyFlip:x=!1,externalTree:S}=e,[C,w]=U.useState(null);!h&&C!==null&&w(null);let E=g.side||`flip`,O=g.align||`flip`,k=g.fallbackAxisSide||`end`,A=typeof t==`function`?t:void 0,j=f(A),M=A?j:t,N=D(t),P=pt()===`rtl`,ee=C||{top:`top`,right:`right`,bottom:`bottom`,left:`left`,"inline-end":P?`left`:`right`,"inline-start":P?`right`:`left`}[r],te=a===`center`?ee:`${ee}-${a}`,F=c,R=+(r===`bottom`),ne=+(r===`top`),re=+(r===`right`),ie=+(r===`left`);typeof F==`number`?F={top:F+R,right:F+ie,bottom:F+ne,left:F+re}:F&&={top:(F.top||0)+R,right:(F.right||0)+ie,bottom:(F.bottom||0)+ne,left:(F.left||0)+re};let ae={boundary:s===`clipping-ancestors`?`clippingAncestors`:s,padding:F},B=U.useRef(null),oe=D(i),se=D(o),V=[rt(e=>{let t=bt(e,r,P),n=typeof oe.current==`function`?oe.current(t):oe.current,i=typeof se.current==`function`?se.current(t):se.current;return{mainAxis:n,crossAxis:i,alignmentAxis:i}},[typeof i==`function`?0:i,typeof o==`function`?0:o,P,r])],ce=O===`none`&&E!==`shift`,H=!ce&&(l||_||E===`shift`),le=E===`none`?null:ot({...ae,padding:{top:F.top+1,right:F.right+1,bottom:F.bottom+1,left:F.left+1},mainAxis:!_&&E===`flip`,crossAxis:O===`flip`?`alignment`:!1,fallbackAxisSideDirection:k}),ue=ce?null:it(e=>{let t=T(e.elements.floating).documentElement;return{...ae,rootBoundary:_?{x:0,y:0,width:t.clientWidth,height:t.clientHeight}:void 0,mainAxis:O!==`none`,crossAxis:H,limiter:l||_?void 0:at(e=>{if(!B.current)return{};let{width:t,height:n}=B.current.getBoundingClientRect(),r=I(L(e.placement)),i=r===`y`?t:n,a=r===`y`?F.left+F.right:F.top+F.bottom;return{offset:i/2+a/2}})}},[ae,l,_,F,O]);E===`shift`||O===`shift`||a===`center`?V.push(ue,le):V.push(le,ue),V.push(st({...ae,apply({elements:{floating:e},availableWidth:t,availableHeight:n,rects:r}){let i=e.style;i.setProperty(`--available-width`,`${t}px`),i.setProperty(`--available-height`,`${n}px`);let a=window.devicePixelRatio||1,{x:o,y:s,width:c,height:l}=r.reference,u=(Math.round((o+c)*a)-Math.round(o*a))/a,d=(Math.round((s+l)*a)-Math.round(s*a))/a;i.setProperty(`--anchor-width`,`${u}px`),i.setProperty(`--anchor-height`,`${d}px`)}}),ht(()=>({element:B.current||document.createElement(`div`),padding:u,offsetParent:`floating`}),[u]),{name:`transformOrigin`,fn(e){let{elements:t,middlewareData:n,placement:a,rects:o,y:s}=e,c=L(a),l=I(c),u=B.current,d=n.arrow?.x||0,f=n.arrow?.y||0,p=u?.clientWidth||0,m=u?.clientHeight||0,h=d+p/2,g=f+m/2,_=Math.abs(n.shift?.y||0),v=o.reference.height/2,y=typeof i==`function`?i(bt(e,r,P)):i,b=_>y,x={top:`${h}px calc(100% + ${y}px)`,bottom:`${h}px ${-y}px`,left:`calc(100% + ${y}px) ${g}px`,right:`${-y}px ${g}px`}[c],S=`${h}px ${o.reference.y+v-s}px`;return t.floating.style.setProperty(`--transform-origin`,H&&l===`y`&&b?S:x),{}}},gt,b),y(()=>{!h&&m&&m.update({referenceElement:null,floatingElement:null,domReferenceElement:null})},[h,m]);let de=U.useMemo(()=>({elementResize:!d&&typeof ResizeObserver<`u`,layoutShift:!d&&typeof IntersectionObserver<`u`}),[d]),{refs:W,elements:G,x:fe,y:pe,middlewareData:K,update:q,placement:me,context:he,isPositioned:J,floatingStyles:ge}=ut({rootContext:m,placement:te,middleware:V,strategy:n,whileElementsMounted:p?void 0:(...e)=>He(...e,de),nodeId:v,externalTree:S}),{sideX:_e,sideY:ve}=K.adaptiveOrigin||_t,Y=J?n:`fixed`,X=U.useMemo(()=>{let e=b?{position:Y,[_e]:fe,[ve]:pe}:{position:Y,...ge};return J||(e.opacity=0),e},[b,Y,_e,fe,ve,pe,ge,J]),ye=U.useRef(null);y(()=>{if(!h)return;let e=N.current,t=typeof e==`function`?e():e,n=(St(t)?t.current:t)||null;n!==ye.current&&(W.setPositionReference(n),ye.current=n)},[h,W,M,N]),U.useEffect(()=>{if(!h)return;let e=N.current;typeof e!=`function`&&St(e)&&e.current!==ye.current&&(W.setPositionReference(e.current),ye.current=e.current)},[h,W,M,N]),U.useEffect(()=>{if(p&&h&&G.domReference&&G.floating)return He(G.domReference,G.floating,q,de)},[p,h,G,q,de]);let Z=L(me),be=yt(r,Z,P),Q=z(me)||`center`,$=!!K.hide?.referenceHidden;y(()=>{x&&h&&J&&w(Z)},[x,h,J,Z]);let xe=U.useMemo(()=>({position:`absolute`,top:K.arrow?.y,left:K.arrow?.x}),[K.arrow]),Se=K.arrow?.centerOffset!==0;return U.useMemo(()=>({positionerStyles:X,arrowStyles:xe,arrowRef:B,arrowUncentered:Se,side:be,align:Q,physicalSide:Z,anchorHidden:$,refs:W,context:he,isPositioned:J,update:q}),[X,xe,B,Se,be,Q,Z,$,W,he,J,q])}function St(e){return e!=null&&`current`in e}function Ct(e){return e===`starting`?r:i}export{dt as a,pt as i,xt as n,lt as o,vt as r,ze as s,Ct as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/iam.js b/spinifex/services/spinifexui/frontend/dist/assets/iam.js index 857c97d70..54548ee42 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/iam.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/iam.js @@ -1 +1 @@ -import{t as e}from"./compiler-runtime.js";import{n as t}from"./QueryClientProvider.js";import{n}from"./error-banner.js";import{A as r,C as i,D as a,E as o,O as s,R as c,Rt as l,T as u,k as d,r as f,w as p,z as m,zt as h}from"./awsClient.js";var g=class extends l.classBuilder().ep(m).m(function(e,t,n,r){return[h(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`AttachUserPolicy`,{}).n(`IAMClient`,`AttachUserPolicyCommand`).sc(i).build(){},_=class extends l.classBuilder().ep(m).m(function(e,t,n,r){return[h(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`CreateAccessKey`,{}).n(`IAMClient`,`CreateAccessKeyCommand`).sc(p).build(){},v=class extends l.classBuilder().ep(m).m(function(e,t,n,r){return[h(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`CreatePolicy`,{}).n(`IAMClient`,`CreatePolicyCommand`).sc(u).build(){},y=class extends l.classBuilder().ep(m).m(function(e,t,n,r){return[h(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`CreateUser`,{}).n(`IAMClient`,`CreateUserCommand`).sc(o).build(){},b=class extends l.classBuilder().ep(m).m(function(e,t,n,r){return[h(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`DeleteAccessKey`,{}).n(`IAMClient`,`DeleteAccessKeyCommand`).sc(a).build(){},x=class extends l.classBuilder().ep(m).m(function(e,t,n,r){return[h(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`DeletePolicy`,{}).n(`IAMClient`,`DeletePolicyCommand`).sc(s).build(){},S=class extends l.classBuilder().ep(m).m(function(e,t,n,r){return[h(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`DeleteUser`,{}).n(`IAMClient`,`DeleteUserCommand`).sc(d).build(){},C=class extends l.classBuilder().ep(m).m(function(e,t,n,r){return[h(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`DetachUserPolicy`,{}).n(`IAMClient`,`DetachUserPolicyCommand`).sc(r).build(){},w=class extends l.classBuilder().ep(m).m(function(e,t,n,r){return[h(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`UpdateAccessKey`,{}).n(`IAMClient`,`UpdateAccessKeyCommand`).sc(c).build(){},T=e();function E(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:D,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`users`]})}},e[0]=r,e[1]=i),n(i)}function D(e){let t=new y({UserName:e.userName,Path:e.path||void 0});return f().send(t)}function O(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:k,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`users`]})}},e[0]=r,e[1]=i),n(i)}function k(e){let t=new S({UserName:e});return f().send(t)}function A(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:j,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`access-keys`]})}},e[0]=r,e[1]=i),n(i)}function j(e){let t=new _({UserName:e});return f().send(t)}function M(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:N,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`access-keys`]})}},e[0]=r,e[1]=i),n(i)}function N(e){let{userName:t,accessKeyId:n}=e,r=new b({UserName:t,AccessKeyId:n});return f().send(r)}function P(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:F,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`access-keys`]})}},e[0]=r,e[1]=i),n(i)}function F(e){let{userName:t,accessKeyId:n,status:r}=e,i=new w({UserName:t,AccessKeyId:n,Status:r});return f().send(i)}function I(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:L,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`policies`]})}},e[0]=r,e[1]=i),n(i)}function L(e){let t=new v({PolicyName:e.policyName,Description:e.description||void 0,PolicyDocument:e.policyDocument});return f().send(t)}function R(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:z,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`policies`]})}},e[0]=r,e[1]=i),n(i)}function z(e){let t=new x({PolicyArn:e});return f().send(t)}function B(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:V,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`attached-user-policies`]})}},e[0]=r,e[1]=i),n(i)}function V(e){let{userName:t,policyArn:n}=e,r=new g({UserName:t,PolicyArn:n});return f().send(r)}function H(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:U,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`attached-user-policies`]})}},e[0]=r,e[1]=i),n(i)}function U(e){let{userName:t,policyArn:n}=e,r=new C({UserName:t,PolicyArn:n});return f().send(r)}export{M as a,H as c,E as i,P as l,A as n,R as o,I as r,O as s,B as t}; \ No newline at end of file +import{t as e}from"./compiler-runtime.js";import{n as t}from"./QueryClientProvider.js";import{n}from"./error-banner.js";import{A as r,B as i,D as a,E as o,O as s,T as c,i as l,in as u,j as d,k as f,rn as p,w as m,z as h}from"./awsClient.js";var g=class extends p.classBuilder().ep(i).m(function(e,t,n,r){return[u(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`AttachUserPolicy`,{}).n(`IAMClient`,`AttachUserPolicyCommand`).sc(m).build(){},_=class extends p.classBuilder().ep(i).m(function(e,t,n,r){return[u(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`CreateAccessKey`,{}).n(`IAMClient`,`CreateAccessKeyCommand`).sc(c).build(){},v=class extends p.classBuilder().ep(i).m(function(e,t,n,r){return[u(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`CreatePolicy`,{}).n(`IAMClient`,`CreatePolicyCommand`).sc(o).build(){},y=class extends p.classBuilder().ep(i).m(function(e,t,n,r){return[u(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`CreateUser`,{}).n(`IAMClient`,`CreateUserCommand`).sc(a).build(){},b=class extends p.classBuilder().ep(i).m(function(e,t,n,r){return[u(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`DeleteAccessKey`,{}).n(`IAMClient`,`DeleteAccessKeyCommand`).sc(s).build(){},x=class extends p.classBuilder().ep(i).m(function(e,t,n,r){return[u(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`DeletePolicy`,{}).n(`IAMClient`,`DeletePolicyCommand`).sc(f).build(){},S=class extends p.classBuilder().ep(i).m(function(e,t,n,r){return[u(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`DeleteUser`,{}).n(`IAMClient`,`DeleteUserCommand`).sc(r).build(){},C=class extends p.classBuilder().ep(i).m(function(e,t,n,r){return[u(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`DetachUserPolicy`,{}).n(`IAMClient`,`DetachUserPolicyCommand`).sc(d).build(){},w=class extends p.classBuilder().ep(i).m(function(e,t,n,r){return[u(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`UpdateAccessKey`,{}).n(`IAMClient`,`UpdateAccessKeyCommand`).sc(h).build(){},T=e();function E(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:D,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`users`]})}},e[0]=r,e[1]=i),n(i)}function D(e){let t=new y({UserName:e.userName,Path:e.path||void 0});return l().send(t)}function O(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:k,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`users`]})}},e[0]=r,e[1]=i),n(i)}function k(e){let t=new S({UserName:e});return l().send(t)}function A(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:j,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`access-keys`]})}},e[0]=r,e[1]=i),n(i)}function j(e){let t=new _({UserName:e});return l().send(t)}function M(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:N,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`access-keys`]})}},e[0]=r,e[1]=i),n(i)}function N(e){let{userName:t,accessKeyId:n}=e,r=new b({UserName:t,AccessKeyId:n});return l().send(r)}function P(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:F,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`access-keys`]})}},e[0]=r,e[1]=i),n(i)}function F(e){let{userName:t,accessKeyId:n,status:r}=e,i=new w({UserName:t,AccessKeyId:n,Status:r});return l().send(i)}function I(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:L,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`policies`]})}},e[0]=r,e[1]=i),n(i)}function L(e){let t=new v({PolicyName:e.policyName,Description:e.description||void 0,PolicyDocument:e.policyDocument});return l().send(t)}function R(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:z,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`policies`]})}},e[0]=r,e[1]=i),n(i)}function z(e){let t=new x({PolicyArn:e});return l().send(t)}function B(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:V,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`attached-user-policies`]})}},e[0]=r,e[1]=i),n(i)}function V(e){let{userName:t,policyArn:n}=e,r=new g({UserName:t,PolicyArn:n});return l().send(r)}function H(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:U,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`attached-user-policies`]})}},e[0]=r,e[1]=i),n(i)}function U(e){let{userName:t,policyArn:n}=e,r=new C({UserName:t,PolicyArn:n});return l().send(r)}export{M as a,H as c,E as i,P as l,A as n,R as o,I as r,O as s,B as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/iam2.js b/spinifex/services/spinifexui/frontend/dist/assets/iam2.js index b5ac0cddf..98a4f00ad 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/iam2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/iam2.js @@ -1 +1 @@ -import{t as e}from"./queryOptions.js";import{F as t,I as n,L as r,M as i,N as a,P as o,Rt as s,j as c,r as l,z as u,zt as d}from"./awsClient.js";var f=class extends s.classBuilder().ep(u).m(function(e,t,n,r){return[d(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`GetPolicy`,{}).n(`IAMClient`,`GetPolicyCommand`).sc(c).build(){},p=class extends s.classBuilder().ep(u).m(function(e,t,n,r){return[d(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`GetPolicyVersion`,{}).n(`IAMClient`,`GetPolicyVersionCommand`).sc(i).build(){},m=class extends s.classBuilder().ep(u).m(function(e,t,n,r){return[d(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`GetUser`,{}).n(`IAMClient`,`GetUserCommand`).sc(a).build(){},h=class extends s.classBuilder().ep(u).m(function(e,t,n,r){return[d(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`ListAccessKeys`,{}).n(`IAMClient`,`ListAccessKeysCommand`).sc(o).build(){},g=class extends s.classBuilder().ep(u).m(function(e,t,n,r){return[d(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`ListAttachedUserPolicies`,{}).n(`IAMClient`,`ListAttachedUserPoliciesCommand`).sc(t).build(){},_=class extends s.classBuilder().ep(u).m(function(e,t,n,r){return[d(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`ListPolicies`,{}).n(`IAMClient`,`ListPoliciesCommand`).sc(n).build(){},v=class extends s.classBuilder().ep(u).m(function(e,t,n,r){return[d(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`ListUsers`,{}).n(`IAMClient`,`ListUsersCommand`).sc(r).build(){},y=e({queryKey:[`iam`,`users`],queryFn:()=>{let e=new v({});return l().send(e)},staleTime:3e5}),b=t=>e({queryKey:[`iam`,`users`,t],queryFn:()=>{let e=new m({UserName:t});return l().send(e)},staleTime:3e5}),x=t=>e({queryKey:[`iam`,`access-keys`,t],queryFn:()=>{let e=new h({UserName:t});return l().send(e)},staleTime:3e5}),S=e({queryKey:[`iam`,`policies`],queryFn:()=>{let e=new _({Scope:`Local`});return l().send(e)},staleTime:3e5}),C=t=>e({queryKey:[`iam`,`policies`,t],queryFn:()=>{let e=new f({PolicyArn:t});return l().send(e)},staleTime:3e5}),w=(t,n)=>e({queryKey:[`iam`,`policy-versions`,t,n],queryFn:()=>{let e=new p({PolicyArn:t,VersionId:n});return l().send(e)},staleTime:3e5}),T=t=>e({queryKey:[`iam`,`attached-user-policies`,t],queryFn:()=>{let e=new g({UserName:t});return l().send(e)},staleTime:3e5});export{w as a,C as i,T as n,b as o,S as r,y as s,x as t}; \ No newline at end of file +import{t as e}from"./queryOptions.js";import{B as t,F as n,I as r,L as i,M as a,N as o,P as s,R as c,i as l,in as u,rn as d}from"./awsClient.js";var f=class extends d.classBuilder().ep(t).m(function(e,t,n,r){return[u(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`GetPolicy`,{}).n(`IAMClient`,`GetPolicyCommand`).sc(a).build(){},p=class extends d.classBuilder().ep(t).m(function(e,t,n,r){return[u(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`GetPolicyVersion`,{}).n(`IAMClient`,`GetPolicyVersionCommand`).sc(o).build(){},m=class extends d.classBuilder().ep(t).m(function(e,t,n,r){return[u(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`GetUser`,{}).n(`IAMClient`,`GetUserCommand`).sc(s).build(){},h=class extends d.classBuilder().ep(t).m(function(e,t,n,r){return[u(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`ListAccessKeys`,{}).n(`IAMClient`,`ListAccessKeysCommand`).sc(n).build(){},g=class extends d.classBuilder().ep(t).m(function(e,t,n,r){return[u(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`ListAttachedUserPolicies`,{}).n(`IAMClient`,`ListAttachedUserPoliciesCommand`).sc(r).build(){},_=class extends d.classBuilder().ep(t).m(function(e,t,n,r){return[u(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`ListPolicies`,{}).n(`IAMClient`,`ListPoliciesCommand`).sc(i).build(){},v=class extends d.classBuilder().ep(t).m(function(e,t,n,r){return[u(n,e.getEndpointParameterInstructions())]}).s(`AWSIdentityManagementV20100508`,`ListUsers`,{}).n(`IAMClient`,`ListUsersCommand`).sc(c).build(){},y=e({queryKey:[`iam`,`users`],queryFn:()=>{let e=new v({});return l().send(e)},staleTime:3e5}),b=t=>e({queryKey:[`iam`,`users`,t],queryFn:()=>{let e=new m({UserName:t});return l().send(e)},staleTime:3e5}),x=t=>e({queryKey:[`iam`,`access-keys`,t],queryFn:()=>{let e=new h({UserName:t});return l().send(e)},staleTime:3e5}),S=e({queryKey:[`iam`,`policies`],queryFn:()=>{let e=new _({Scope:`Local`});return l().send(e)},staleTime:3e5}),C=t=>e({queryKey:[`iam`,`policies`,t],queryFn:()=>{let e=new f({PolicyArn:t});return l().send(e)},staleTime:3e5}),w=(t,n)=>e({queryKey:[`iam`,`policy-versions`,t,n],queryFn:()=>{let e=new p({PolicyArn:t,VersionId:n});return l().send(e)},staleTime:3e5}),T=t=>e({queryKey:[`iam`,`attached-user-policies`,t],queryFn:()=>{let e=new g({UserName:t});return l().send(e)},staleTime:3e5});export{w as a,C as i,T as n,b as o,S as r,y as s,x as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/iam3.js b/spinifex/services/spinifexui/frontend/dist/assets/iam3.js index 59d830b49..93aea6aa5 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/iam3.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/iam3.js @@ -1 +1 @@ -import{A as e,k as t}from"./SignatureV4.js";var n=t({userName:e().min(1,`User name is required`).max(64,`User name must be 64 characters or less`).regex(/^[\w+=,.@-]+$/,`User name contains invalid characters`),path:e().optional()}),r=t({policyName:e().min(1,`Policy name is required`).max(128,`Policy name must be 128 characters or less`),description:e().optional(),policyDocument:e().min(1,`Policy document is required`).refine(e=>{try{return JSON.parse(e),!0}catch{return!1}},{message:`Policy document must be valid JSON`})});export{n,r as t}; \ No newline at end of file +import{j as e,k as t}from"./SignatureV4.js";var n=t({userName:e().min(1,`User name is required`).max(64,`User name must be 64 characters or less`).regex(/^[\w+=,.@-]+$/,`User name contains invalid characters`),path:e().optional()}),r=t({policyName:e().min(1,`Policy name is required`).max(128,`Policy name must be 128 characters or less`),description:e().optional(),policyDocument:e().min(1,`Policy document is required`).refine(e=>{try{return JSON.parse(e),!0}catch{return!1}},{message:`Policy document must be valid JSON`})});export{n,r as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/index.css b/spinifex/services/spinifexui/frontend/dist/assets/index.css index 2997e1dbd..3e3da1447 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/index.css +++ b/spinifex/services/spinifexui/frontend/dist/assets/index.css @@ -1,2 +1,2 @@ /*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-100:#ffe2e2;--color-red-800:#9f0712;--color-red-900:#82181a;--color-amber-500:#f99c00;--color-yellow-100:#fef9c2;--color-yellow-800:#874b00;--color-yellow-900:#733e0a;--color-green-100:#dcfce7;--color-green-800:#016630;--color-green-900:#0d542b;--color-emerald-500:#00bb7f;--color-blue-500:#3080ff;--color-gray-100:#f3f4f6;--color-gray-800:#1e2939;--color-zinc-100:#f4f4f5;--color-zinc-400:#9f9fa9;--color-zinc-500:#71717b;--color-zinc-800:#27272a;--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-2xl:42rem;--container-4xl:56rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:calc(var(--radius) - 2px);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-100:lab(92.243% 10.2865 3.83865);--color-red-800:lab(33.7174% 55.8993 41.0293);--color-red-900:lab(28.5139% 44.5539 29.0463);--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-yellow-100:lab(97.3564% -4.51407 27.344);--color-yellow-800:lab(38.7484% 23.5833 51.4916);--color-yellow-900:lab(32.3865% 21.1273 38.5959);--color-green-100:lab(96.1861% -13.8464 6.52365);--color-green-800:lab(37.4616% -36.7971 22.9692);--color-green-900:lab(30.797% -29.6927 17.382);--color-emerald-500:lab(66.9756% -58.27 19.5419);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-gray-100:lab(96.1596% -.0823438 -1.13575);--color-gray-800:lab(16.1051% -1.18239 -11.7533);--color-zinc-100:lab(96.1634% .0993311 -.364041);--color-zinc-400:lab(65.6464% 1.53497 -5.42429);--color-zinc-500:lab(47.8878% 1.65477 -5.77283);--color-zinc-800:lab(15.7305% .613764 -2.16959)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{overscroll-behavior:none;border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}*{scrollbar-width:thin}body{background-color:var(--background);width:100%;min-height:100svh;color:var(--foreground);font-family:var(--font-sans), sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.font-mono{font-family:var(--font-mono), monospace}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.\@container\/field-group{container:field-group/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.end\!{inset-inline-end:var(--spacing)!important}.top-0{top:calc(var(--spacing) * 0)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-3\.5{top:calc(var(--spacing) * 3.5)}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.order-first{order:-9999}.order-last{order:9999}.col-span-2{grid-column:span 2/span 2}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-0{margin-inline:calc(var(--spacing) * 0)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.mx-auto{margin-inline:auto}.-my-2{margin-block:calc(var(--spacing) * -2)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-\[1\.2rem\]{width:1.2rem;height:1.2rem}.size-full{width:100%;height:100%}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-\[calc\(--spacing\(4\.75\)\)\]{height:calc(calc(var(--spacing) * 4.75))}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--available-height\){max-height:var(--available-height)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[min\(calc\(--spacing\(72\)---spacing\(9\)\)\,calc\(var\(--available-height\)---spacing\(9\)\)\)\]{max-height:min(calc(calc(var(--spacing) * 72) - calc(var(--spacing) * 9)), calc(var(--available-height) - calc(var(--spacing) * 9)))}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-7{min-height:calc(var(--spacing) * 7)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-svh{min-height:100svh}.w-\(--anchor-width\){width:var(--anchor-width)}.w-\(--radix-dropdown-menu-trigger-width\){width:var(--radix-dropdown-menu-trigger-width)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-48{width:calc(var(--spacing) * 48)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\(--available-width\){max-width:var(--available-width)}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-16{min-width:calc(var(--spacing) * 16)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-\[calc\(var\(--anchor-width\)\+--spacing\(7\)\)\]{min-width:calc(var(--anchor-width) + calc(var(--spacing) * 7))}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%-2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-none{translate:none}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-3d{scale:var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z)}.rotate-0{rotate:0deg}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.resize{resize:both}.resize-none{resize:none}.scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.scroll-py-1{scroll-padding-block:calc(var(--spacing) * 1)}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-px{gap:1px}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}:where(.-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[calc\(var\(--radius-sm\)\+2px\)\]{border-radius:calc(var(--radius-sm) + 2px)}.rounded-\[calc\(var\(--radius-sm\)-2px\)\]{border-radius:calc(var(--radius-sm) - 2px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:calc(var(--radius) + 2px)}.rounded-md{border-radius:var(--radius)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:calc(var(--radius) + 2px);border-top-right-radius:calc(var(--radius) + 2px)}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-lg{border-bottom-right-radius:calc(var(--radius) + 2px);border-bottom-left-radius:calc(var(--radius) + 2px)}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-bs{border-block-start-style:var(--tw-border-style);border-block-start-width:1px}.border-be{border-block-end-style:var(--tw-border-style);border-block-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/30{border-color:color-mix(in oklab, var(--color-amber-500) 30%, transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/30{border-color:color-mix(in oklab, var(--color-blue-500) 30%, transparent)}}.border-border{border-color:var(--border)}.border-destructive{border-color:var(--destructive)}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/30{border-color:color-mix(in oklab, var(--color-emerald-500) 30%, transparent)}}.border-foreground\/10{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.border-foreground\/10{border-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.border-foreground\/20{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.border-foreground\/20{border-color:color-mix(in oklab, var(--foreground) 20%, transparent)}}.border-input{border-color:var(--input)}.border-muted{border-color:var(--muted)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-background{background-color:var(--background)}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/10{background-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.bg-border,.bg-border\/50{background-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.bg-border\/50{background-color:color-mix(in oklab, var(--border) 50%, transparent)}}.bg-card{background-color:var(--card)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/10{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-100{background-color:var(--color-green-100)}.bg-input\/20{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.bg-input\/20{background-color:color-mix(in oklab, var(--input) 20%, transparent)}}.bg-muted{background-color:var(--muted)}.bg-muted-foreground\/10{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\/10{background-color:color-mix(in oklab, var(--muted-foreground) 10%, transparent)}}.bg-muted\/20{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/20{background-color:color-mix(in oklab, var(--muted) 20%, transparent)}}.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/30{background-color:color-mix(in oklab, var(--muted) 30%, transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-red-100{background-color:var(--color-red-100)}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-transparent{background-color:#0000}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-zinc-100{background-color:var(--color-zinc-100)}.bg-clip-padding{background-clip:padding-box}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.fill-foreground{fill:var(--foreground)}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-0{padding-bottom:calc(var(--spacing) * 0)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-2{padding-left:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-sm\/relaxed{font-size:var(--text-sm);line-height:var(--leading-relaxed)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-xs\/relaxed{font-size:var(--text-xs);line-height:var(--leading-relaxed)}.text-\[0\.625rem\]{font-size:.625rem}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.text-wrap{text-wrap:wrap}.break-all{word-break:break-all}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-gray-800{color:var(--color-gray-800)}.text-green-800{color:var(--color-green-800)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-800{color:var(--color-red-800)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/70{color:color-mix(in oklab, var(--sidebar-foreground) 70%, transparent)}}.text-tactical-amber{color:var(--tactical-amber)}.text-tactical-cyan{color:var(--tactical-cyan)}.text-tactical-green{color:var(--tactical-green)}.text-yellow-800{color:var(--color-yellow-800)}.text-zinc-500{color:var(--color-zinc-500)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-50{opacity:.5}.bg-blend-color{background-blend-mode:color}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-background{--tw-ring-color:var(--background)}.ring-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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,)}.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{--tw-backdrop-blur:blur(8px);-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,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-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,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-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,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-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,)}.backdrop-filter{-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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-focus\/dropdown-menu-item\:text-accent-foreground:is(:where(.group\/dropdown-menu-item):focus *){color:var(--accent-foreground)}.group-has-data-\[orientation\=horizontal\]\/field\:text-balance:is(:where(.group\/field):has([data-orientation=horizontal]) *){text-wrap:balance}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}.group-has-data-\[size\=lg\]\/avatar-group\:size-10:is(:where(.group\/avatar-group):has([data-size=lg]) *){width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.group-has-data-\[size\=sm\]\/avatar-group\:size-6:is(:where(.group\/avatar-group):has([data-size=sm]) *){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.group-has-data-\[slot\=combobox-clear\]\/input-group\:hidden:is(:where(.group\/input-group):has([data-slot=combobox-clear]) *){display:none}.group-has-\[\>input\]\/input-group\:pt-2:is(:where(.group\/input-group):has(>input) *){padding-top:calc(var(--spacing) * 2)}.group-has-\[\>input\]\/input-group\:pb-2:is(:where(.group\/input-group):has(>input) *){padding-bottom:calc(var(--spacing) * 2)}.group-data-empty\/combobox-content\:flex:is(:where(.group\/combobox-content)[data-empty] *){display:flex}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offExamples\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offExamples] *){right:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offExamples\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offExamples] *){left:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offExamples\]\:w-0:is(:where(.group)[data-collapsible=offExamples] *){width:calc(var(--spacing) * 0)}.group-data-\[collapsible\=offExamples\]\:translate-x-0:is(:where(.group)[data-collapsible=offExamples] *){--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *),.group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.group\/field)[data-disabled=true] *),.group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled=true] *){opacity:.5}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing) * 0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[size\=default\]\/avatar\:size-2\.5:is(:where(.group\/avatar)[data-size=default] *){width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.group-data-\[size\=lg\]\/avatar\:size-3:is(:where(.group\/avatar)[data-size=lg] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=sm\]\/alert-dialog-content\:grid:is(:where(.group\/alert-dialog-content)[data-size=sm] *){display:grid}.group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2:is(:where(.group\/alert-dialog-content)[data-size=sm] *){grid-template-columns:repeat(2,minmax(0,1fr))}.group-data-\[size\=sm\]\/avatar\:size-2:is(:where(.group\/avatar)[data-size=sm] *){width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:text-xs:is(:where(.group\/avatar)[data-size=sm] *){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.group-data-\[size\=sm\]\/card\:px-3:is(:where(.group\/card)[data-size=sm] *){padding-inline:calc(var(--spacing) * 3)}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:calc(var(--radius) + 2px)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=floating\]\:ring-1:is(:where(.group)[data-variant=floating] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=floating\]\:ring-sidebar-border:is(:where(.group)[data-variant=floating] *){--tw-ring-color:var(--sidebar-border)}.group-data-\[variant\=outline\]\/field-group\:-mb-2:is(:where(.group\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--spacing) * -2)}@media (hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-active\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing) * 1)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:calc(var(--spacing) * 6)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-xs\/relaxed::file-selector-button{font-size:var(--text-xs);line-height:var(--leading-relaxed)}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.after\:inset-0:after{content:var(--tw-content);inset:calc(var(--spacing) * 0)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.after\:border-border:after{content:var(--tw-content);border-color:var(--border)}.after\:mix-blend-darken:after{content:var(--tw-content);mix-blend-mode:darken}.group-data-\[collapsible\=offExamples\]\:after\:left-full:is(:where(.group)[data-collapsible=offExamples] *):after{content:var(--tw-content);left:100%}.last\:mt-0:last-child{margin-top:calc(var(--spacing) * 0)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:border-ring:focus-within{border-color:var(--ring)}.focus-within\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-ring\/30:focus-within{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-within\:ring-ring\/30:focus-within{--tw-ring-color:color-mix(in oklab, var(--ring) 30%, transparent)}}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\:bg-input\/50:hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-input\/50:hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:group-data-\[collapsible\=offExamples\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offExamples] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus,:is(.focus\:\*\*\:text-accent-foreground:focus *),:is(.not-data-\[variant\=destructive\]\:focus\:\*\*\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--accent-foreground)}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible,.focus-visible\:ring-\[2px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 30%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}:where([data-slot=combobox-content]) .in-data-\[slot\=combobox-content\]\:focus-within\:border-inherit:focus-within{border-color:inherit}:where([data-slot=combobox-content]) .in-data-\[slot\=combobox-content\]\:focus-within\:ring-0:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-disabled\:pointer-events-none:has(:disabled){pointer-events:none}.has-disabled\:cursor-not-allowed:has(:disabled){cursor:not-allowed}.has-disabled\:opacity-50:has(:disabled){opacity:.5}.has-aria-invalid\:border-destructive:has([aria-invalid=true]){border-color:var(--destructive)}.has-aria-invalid\:ring-2:has([aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-aria-invalid\:ring-destructive\/20:has([aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.has-aria-invalid\:ring-destructive\/20:has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.has-data-checked\:bg-primary\/5:has([data-checked]){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.has-data-checked\:bg-primary\/5:has([data-checked]){background-color:color-mix(in oklab, var(--primary) 5%, transparent)}}.has-data-\[align\=block-end\]\:rounded-md:has([data-align=block-end]),.has-data-\[align\=block-start\]\:rounded-md:has([data-align=block-start]){border-radius:var(--radius)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot=alert-dialog-media]){grid-template-rows:auto auto 1fr}.has-data-\[slot\=alert-dialog-media\]\:gap-x-4:has([data-slot=alert-dialog-media]){column-gap:calc(var(--spacing) * 4)}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[slot\=card-description\]\:grid-rows-\[auto_auto\]:has([data-slot=card-description]){grid-template-rows:auto auto}.has-data-\[slot\=combobox-chip\]\:px-1:has([data-slot=combobox-chip]){padding-inline:calc(var(--spacing) * 1)}.has-data-\[slot\=combobox-chip-remove\]\:pr-0:has([data-slot=combobox-chip-remove]){padding-right:calc(var(--spacing) * 0)}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--ring)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-2:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/30:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/30:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab, var(--ring) 30%, transparent)}}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--destructive)}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-2:has([data-slot][aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.has-\[textarea\]\:rounded-md:has(:is(textarea)){border-radius:var(--radius)}.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]){height:auto}.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]){flex-direction:column}.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]){height:auto}.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]){flex-direction:column}.has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--spacing) * 3)}.has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){width:100%}.has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){flex-direction:column}.has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]){border-radius:var(--radius)}.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}.has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--spacing) * 3)}.has-\[\>button\]\:mr-\[-0\.275rem\]:has(>button){margin-right:-.275rem}.has-\[\>button\]\:ml-\[-0\.275rem\]:has(>button){margin-left:-.275rem}.has-\[\>img\:first-child\]\:pt-0:has(>img:first-child){padding-top:calc(var(--spacing) * 0)}.has-\[\>kbd\]\:mr-\[-0\.275rem\]:has(>kbd){margin-right:-.275rem}.has-\[\>kbd\]\:ml-\[-0\.275rem\]:has(>kbd){margin-left:-.275rem}.has-\[\>svg\]\:p-0:has(>svg){padding:calc(var(--spacing) * 0)}.has-\[\>textarea\]\:h-auto:has(>textarea){height:auto}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-0[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:ring-2[aria-invalid=true],.aria-invalid\:ring-\[2px\][aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-active\:bg-sidebar-accent[data-active]{background-color:var(--sidebar-accent)}.data-active\:font-medium[data-active]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-active\:text-sidebar-accent-foreground[data-active]{color:var(--sidebar-accent-foreground)}.data-closed\:overflow-hidden[data-closed]{overflow:hidden}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-empty\:p-0[data-empty]{padding:calc(var(--spacing) * 0)}.data-ending-style\:opacity-0[data-ending-style]{opacity:0}.data-highlighted\:bg-accent[data-highlighted]{background-color:var(--accent)}.data-highlighted\:text-accent-foreground[data-highlighted],:is(.not-data-\[variant\=destructive\]\:data-highlighted\:\*\*\:text-accent-foreground:not([data-variant=destructive])[data-highlighted] *){color:var(--accent-foreground)}.data-inset\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-open\:bg-accent[data-open]{background-color:var(--accent)}.data-open\:text-accent-foreground[data-open]{color:var(--accent-foreground)}.data-open\:opacity-100[data-open]{opacity:1}@media (hover:hover){.data-open\:hover\:bg-sidebar-accent[data-open]:hover{background-color:var(--sidebar-accent)}.data-open\:hover\:text-sidebar-accent-foreground[data-open]:hover{color:var(--sidebar-accent-foreground)}}.data-placeholder\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-pressed\:bg-transparent[data-pressed]{background-color:#0000}.data-starting-style\:opacity-0[data-starting-style]{opacity:0}.data-\[chips\=true\]\:min-w-\(--anchor-width\)[data-chips=true]{min-width:var(--anchor-width)}.data-\[invalid\=true\]\:text-destructive[data-invalid=true]{color:var(--destructive)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[orientation\=vertical\]\:self-stretch[data-orientation=vertical]{align-self:stretch}.data-\[side\=bottom\]\:inset-x-0[data-side=bottom]{inset-inline:calc(var(--spacing) * 0)}.data-\[side\=bottom\]\:top-1[data-side=bottom]{top:calc(var(--spacing) * 1)}.data-\[side\=bottom\]\:bottom-0[data-side=bottom]{bottom:calc(var(--spacing) * 0)}.data-\[side\=bottom\]\:h-auto[data-side=bottom]{height:auto}.data-\[side\=bottom\]\:border-t[data-side=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[side\=left\]\:inset-y-0[data-side=left]{inset-block:calc(var(--spacing) * 0)}.data-\[side\=left\]\:top-1\/2\![data-side=left]{top:50%!important}.data-\[side\=left\]\:-right-1[data-side=left]{right:calc(var(--spacing) * -1)}.data-\[side\=left\]\:left-0[data-side=left]{left:calc(var(--spacing) * 0)}.data-\[side\=left\]\:h-full[data-side=left]{height:100%}.data-\[side\=left\]\:w-3\/4[data-side=left]{width:75%}.data-\[side\=left\]\:-translate-y-1\/2[data-side=left]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:border-r[data-side=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[side\=right\]\:inset-y-0[data-side=right]{inset-block:calc(var(--spacing) * 0)}.data-\[side\=right\]\:top-1\/2\![data-side=right]{top:50%!important}.data-\[side\=right\]\:right-0[data-side=right]{right:calc(var(--spacing) * 0)}.data-\[side\=right\]\:-left-1[data-side=right]{left:calc(var(--spacing) * -1)}.data-\[side\=right\]\:h-full[data-side=right]{height:100%}.data-\[side\=right\]\:w-3\/4[data-side=right]{width:75%}.data-\[side\=right\]\:-translate-y-1\/2[data-side=right]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:border-l[data-side=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[side\=top\]\:inset-x-0[data-side=top]{inset-inline:calc(var(--spacing) * 0)}.data-\[side\=top\]\:top-0[data-side=top]{top:calc(var(--spacing) * 0)}.data-\[side\=top\]\:-bottom-2\.5[data-side=top]{bottom:calc(var(--spacing) * -2.5)}.data-\[side\=top\]\:h-auto[data-side=top]{height:auto}.data-\[side\=top\]\:border-b[data-side=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.data-\[size\=default\]\:h-7[data-size=default]{height:calc(var(--spacing) * 7)}.data-\[size\=default\]\:max-w-xs[data-size=default]{max-width:var(--container-xs)}.data-\[size\=lg\]\:size-10[data-size=lg]{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.data-\[size\=md\]\:text-xs[data-size=md]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.data-\[size\=sm\]\:size-6[data-size=sm]{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.data-\[size\=sm\]\:h-6[data-size=sm]{height:calc(var(--spacing) * 6)}.data-\[size\=sm\]\:max-w-64[data-size=sm]{max-width:calc(var(--spacing) * 64)}.data-\[size\=sm\]\:gap-3[data-size=sm]{gap:calc(var(--spacing) * 3)}.data-\[size\=sm\]\:py-3[data-size=sm]{padding-block:calc(var(--spacing) * 3)}.data-\[size\=sm\]\:text-xs[data-size=sm]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}:is(.\*\:data-\[slot\=avatar\]\:ring-2>*)[data-slot=avatar]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.\*\:data-\[slot\=avatar\]\:ring-background>*)[data-slot=avatar]{--tw-ring-color:var(--background)}.data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group]{gap:calc(var(--spacing) * 3)}:is(.\*\:data-\[slot\=field\]\:p-2>*)[data-slot=field]{padding:calc(var(--spacing) * 2)}:is(.\*\:data-\[slot\=field-group\]\:gap-4>*)[data-slot=field-group]{gap:calc(var(--spacing) * 4)}:is(.\*\:data-\[slot\=input-group\]\:m-1>*)[data-slot=input-group]{margin:calc(var(--spacing) * 1)}:is(.\*\:data-\[slot\=input-group\]\:mb-0>*)[data-slot=input-group]{margin-bottom:calc(var(--spacing) * 0)}:is(.\*\:data-\[slot\=input-group\]\:h-7>*)[data-slot=input-group]{height:calc(var(--spacing) * 7)}:is(.\*\:data-\[slot\=input-group\]\:border-none>*)[data-slot=input-group]{--tw-border-style:none;border-style:none}:is(.\*\:data-\[slot\=input-group\]\:bg-input\/20>*)[data-slot=input-group]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){:is(.\*\:data-\[slot\=input-group\]\:bg-input\/20>*)[data-slot=input-group]{background-color:color-mix(in oklab, var(--input) 20%, transparent)}}:is(.\*\:data-\[slot\=input-group\]\:shadow-none>*)[data-slot=input-group]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.\*\*\:data-\[slot\=kbd\]\:rounded-\[calc\(var\(--radius-sm\)-2px\)\] *)[data-slot=kbd]{border-radius:calc(var(--radius-sm) - 2px)}:is(.\*\*\:data-\[slot\=kbd\]\:rounded-md *)[data-slot=kbd]{border-radius:var(--radius)}:is(.\*\*\:data-\[slot\=kbd\]\:bg-muted-foreground\/10 *)[data-slot=kbd]{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){:is(.\*\*\:data-\[slot\=kbd\]\:bg-muted-foreground\/10 *)[data-slot=kbd]{background-color:color-mix(in oklab, var(--muted-foreground) 10%, transparent)}}:is(.\*\*\:data-\[slot\=kbd\]\:px-1 *)[data-slot=kbd]{padding-inline:calc(var(--spacing) * 1)}:is(.\*\*\:data-\[slot\=kbd\]\:text-\[0\.625rem\] *)[data-slot=kbd]{font-size:.625rem}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-1\.5>*)[data-slot=select-value]{gap:calc(var(--spacing) * 1.5)}.data-\[state\=open\]\:bg-sidebar-accent[data-state=open]{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:text-sidebar-accent-foreground[data-state=open]{color:var(--sidebar-accent-foreground)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.data-\[variant\=label\]\:text-xs\/relaxed[data-variant=label]{font-size:var(--text-xs);line-height:var(--leading-relaxed)}.data-\[variant\=legend\]\:text-sm[data-variant=legend]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.nth-last-2\:-mt-1:nth-last-child(2){margin-top:calc(var(--spacing) * -1)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-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,)}}@media (width>=40rem){.sm\:flex{display:flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2:is(:where(.group\/alert-dialog-content)[data-size=default] *){grid-row:span 2/span 2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start:is(:where(.group\/alert-dialog-content)[data-size=default] *){place-items:start}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left:is(:where(.group\/alert-dialog-content)[data-size=default] *){text-align:left}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2:is(:where(.group\/alert-dialog-content)[data-size=default] *):is(:where(.group\/alert-dialog-content):has([data-slot=alert-dialog-media]) *){grid-column-start:2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]:is(:where(.group\/alert-dialog-content)[data-size=default] *):has([data-slot=alert-dialog-media]){grid-template-rows:auto 1fr}.data-\[side\=left\]\:sm\:max-w-sm[data-side=left],.data-\[side\=right\]\:sm\:max-w-sm[data-side=right],.data-\[size\=default\]\:sm\:max-w-sm[data-size=default]{max-width:var(--container-sm)}}@media (width>=48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-xs\/relaxed{font-size:var(--text-xs);line-height:var(--leading-relaxed)}.md\:text-pretty{text-wrap:pretty}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing) * 0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing) * 2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media (width>=64rem){.lg\:block{display:block}}@media (width>=80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@container field-group (width>=28rem){.\@md\/field-group\:flex-row{flex-direction:row}.\@md\/field-group\:items-center{align-items:center}.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}}@media (prefers-color-scheme:dark){.dark\:scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.dark\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.dark\:-rotate-90{rotate:-90deg}.dark\:rotate-0{rotate:0deg}.dark\:bg-destructive\/20{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:bg-green-900{background-color:var(--color-green-900)}.dark\:bg-input\/30{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-muted\/30{background-color:color-mix(in oklab, var(--muted) 30%, transparent)}}.dark\:bg-popover{background-color:var(--popover)}.dark\:bg-red-900{background-color:var(--color-red-900)}.dark\:bg-transparent{background-color:#0000}.dark\:bg-yellow-900{background-color:var(--color-yellow-900)}.dark\:bg-zinc-800{background-color:var(--color-zinc-800)}.dark\:text-gray-100{color:var(--color-gray-100)}.dark\:text-green-100{color:var(--color-green-100)}.dark\:text-red-100{color:var(--color-red-100)}.dark\:text-yellow-100{color:var(--color-yellow-100)}.dark\:text-zinc-400{color:var(--color-zinc-400)}.dark\:invert{--tw-invert:invert(100%);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,)}.dark\:after\:mix-blend-lighten:after{content:var(--tw-content);mix-blend-mode:lighten}@media (hover:hover){.dark\:hover\:bg-destructive\/30:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:has-aria-invalid\:border-destructive\/50:has([aria-invalid=true]){border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-aria-invalid\:border-destructive\/50:has([aria-invalid=true]){border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:has-aria-invalid\:ring-destructive\/40:has([aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-aria-invalid\:ring-destructive\/40:has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:has-data-checked\:bg-primary\/10:has([data-checked]){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.dark\:has-data-checked\:bg-primary\/10:has([data-checked]){background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:border-destructive\/50[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-2\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\.border-b\]\:pb-2.border-b{padding-bottom:calc(var(--spacing) * 2)}.\[\.border-b\]\:pb-4.border-b{padding-bottom:calc(var(--spacing) * 4)}.group-data-\[size\=sm\]\/card\:\[\.border-b\]\:pb-3:is(:where(.group\/card)[data-size=sm] *).border-b{padding-bottom:calc(var(--spacing) * 3)}.\[\.border-t\]\:pt-2.border-t{padding-top:calc(var(--spacing) * 2)}.\[\.border-t\]\:pt-4.border-t{padding-top:calc(var(--spacing) * 4)}.group-data-\[size\=sm\]\/card\:\[\.border-t\]\:pt-3:is(:where(.group\/card)[data-size=sm] *).border-t{padding-top:calc(var(--spacing) * 3)}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.\[a\]\:hover\:bg-muted:is(a):hover{background-color:var(--muted)}.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.\[a\]\:hover\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}:is(.\*\:\[img\:first-child\]\:rounded-t-lg>*):is(img:first-child){border-top-left-radius:calc(var(--radius) + 2px);border-top-right-radius:calc(var(--radius) + 2px)}:is(.\*\:\[img\:last-child\]\:rounded-b-lg>*):is(img:last-child){border-bottom-right-radius:calc(var(--radius) + 2px);border-bottom-left-radius:calc(var(--radius) + 2px)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>\*\]\:w-full>*{width:100%}@container field-group (width>=28rem){.\@md\/field-group\:\[\&\>\*\]\:w-auto>*{width:auto}}.\[\&\>\.sr-only\]\:w-auto>.sr-only{width:auto}.\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{flex:auto}@container field-group (width>=28rem){.\@md\/field-group\:\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{flex:auto}}.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]{margin-top:1px}@container field-group (width>=28rem){.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]{margin-top:1px}}.\[\&\>a\]\:underline>a{text-decoration-line:underline}.\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.\[\&\>a\:hover\]\:text-primary>a:hover{color:var(--primary)}.\[\&\>button\]\:hidden>button{display:none}.has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-1\.5:has(>[data-align=inline-end])>input{padding-right:calc(var(--spacing) * 1.5)}.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-1\.5:has(>[data-align=inline-start])>input{padding-left:calc(var(--spacing) * 1.5)}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-2\.5\!>svg{width:calc(var(--spacing) * 2.5)!important;height:calc(var(--spacing) * 2.5)!important}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.group-has-data-\[size\=lg\]\/avatar-group\:\[\&\>svg\]\:size-5:is(:where(.group\/avatar-group):has([data-size=lg]) *)>svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.group-has-data-\[size\=sm\]\/avatar-group\:\[\&\>svg\]\:size-3:is(:where(.group\/avatar-group):has([data-size=sm]) *)>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=default\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=default] *)>svg,.group-data-\[size\=lg\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=lg] *)>svg{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden:is(:where(.group\/avatar)[data-size=sm] *)>svg{display:none}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3>svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}[data-side=left][data-collapsible=offExamples] .\[\[data-side\=left\]\[data-collapsible\=offExamples\]_\&\]\:-right-2{right:calc(var(--spacing) * -2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offExamples] .\[\[data-side\=right\]\[data-collapsible\=offExamples\]_\&\]\:-left-2{left:calc(var(--spacing) * -2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5{margin-top:calc(var(--spacing) * -1.5)}}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans:"Geist Variable", sans-serif;--font-mono:"JetBrains Mono Variable", monospace;--background:#f4f1ec;--foreground:#1d2930;--card:#f9f8f6;--card-foreground:#1d2930;--popover:#fbfaf9;--popover-foreground:#1d2930;--primary:#305030;--primary-foreground:#f5f3ef;--secondary:#eae5d7;--secondary-foreground:#263740;--muted:#e9e7e2;--muted-foreground:#576b75;--accent:#e7e2da;--accent-foreground:#1d2930;--destructive:#c32222;--destructive-foreground:#fff;--border:#b6c9b6;--input:#dedbd3;--ring:#3e743e;--chart-1:#2e6b2e;--chart-2:#cfa117;--chart-3:#297aa3;--chart-4:#cc8c33;--chart-5:#b82e2e;--radius:.25rem;--sidebar:#f5f3f0;--sidebar-background:#f5f3f0;--sidebar-foreground:#263740;--sidebar-primary:#305030;--sidebar-primary-foreground:#f5f3ef;--sidebar-accent:#e7e2da;--sidebar-accent-foreground:#1d2930;--sidebar-border:#c4d4c4;--sidebar-ring:#3e743e;--tactical-amber:#c2940a;--tactical-amber-dim:#d6b85c;--tactical-green:#267326;--tactical-green-dim:#7ab87a;--tactical-cyan:#24868f;--tactical-cyan-dim:#5eb2ba;--tactical-red:#bd2828;--tactical-olive:#64783a;--scanline-opacity:.015}.dark{--background:#0d1012;--foreground:#e0ddd1;--card:#14181a;--card-foreground:#e0ddd1;--popover:#111517;--popover-foreground:#e0ddd1;--primary:#fa0;--primary-foreground:#0d1012;--secondary:#323922;--secondary-foreground:#c6d2ac;--muted:#202527;--muted-foreground:#819098;--accent:#292f32;--accent-foreground:#ebe8e0;--destructive:#c32222;--destructive-foreground:#fff;--border:#203c32;--input:#292f32;--ring:#ffbf00;--chart-1:#ffbf00;--chart-2:#22c38e;--chart-3:#1aa1e6;--chart-4:#86ac39;--chart-5:#d92626;--sidebar:#111517;--sidebar-background:#111517;--sidebar-foreground:#e0ddd1;--sidebar-primary:#ffbf00;--sidebar-primary-foreground:#0d1012;--sidebar-accent:#292f32;--sidebar-accent-foreground:#ebe8e0;--sidebar-border:#203c32;--sidebar-ring:#ffbf00;--tactical-amber:#ffbf00;--tactical-amber-dim:#a17d12;--tactical-green:#22c38e;--tactical-green-dim:#20604a;--tactical-cyan:#17bfcf;--tactical-cyan-dim:#196066;--tactical-red:#d92626;--tactical-olive:#576b2e;--scanline-opacity:.03}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}} +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-100:#ffe2e2;--color-red-800:#9f0712;--color-red-900:#82181a;--color-amber-500:#f99c00;--color-yellow-100:#fef9c2;--color-yellow-800:#874b00;--color-yellow-900:#733e0a;--color-green-100:#dcfce7;--color-green-800:#016630;--color-green-900:#0d542b;--color-emerald-400:#00d294;--color-emerald-500:#00bb7f;--color-emerald-700:#007956;--color-blue-500:#3080ff;--color-gray-100:#f3f4f6;--color-gray-800:#1e2939;--color-zinc-100:#f4f4f5;--color-zinc-400:#9f9fa9;--color-zinc-500:#71717b;--color-zinc-800:#27272a;--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-4xl:56rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:calc(var(--radius) - 2px);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-100:lab(92.243% 10.2865 3.83865);--color-red-800:lab(33.7174% 55.8993 41.0293);--color-red-900:lab(28.5139% 44.5539 29.0463);--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-yellow-100:lab(97.3564% -4.51407 27.344);--color-yellow-800:lab(38.7484% 23.5833 51.4916);--color-yellow-900:lab(32.3865% 21.1273 38.5959);--color-green-100:lab(96.1861% -13.8464 6.52365);--color-green-800:lab(37.4616% -36.7971 22.9692);--color-green-900:lab(30.797% -29.6927 17.382);--color-emerald-400:lab(75.0771% -60.7313 19.4147);--color-emerald-500:lab(66.9756% -58.27 19.5419);--color-emerald-700:lab(44.4871% -41.0396 11.0361);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-gray-100:lab(96.1596% -.0823438 -1.13575);--color-gray-800:lab(16.1051% -1.18239 -11.7533);--color-zinc-100:lab(96.1634% .0993311 -.364041);--color-zinc-400:lab(65.6464% 1.53497 -5.42429);--color-zinc-500:lab(47.8878% 1.65477 -5.77283);--color-zinc-800:lab(15.7305% .613764 -2.16959)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{overscroll-behavior:none;border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}*{scrollbar-width:thin}body{background-color:var(--background);width:100%;min-height:100svh;color:var(--foreground);font-family:var(--font-sans), sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.font-mono{font-family:var(--font-mono), monospace}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.\@container\/field-group{container:field-group/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.end\!{inset-inline-end:var(--spacing)!important}.top-0{top:calc(var(--spacing) * 0)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-3\.5{top:calc(var(--spacing) * 3.5)}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.order-first{order:-9999}.order-last{order:9999}.col-span-2{grid-column:span 2/span 2}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-0{margin-inline:calc(var(--spacing) * 0)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.mx-auto{margin-inline:auto}.-my-2{margin-block:calc(var(--spacing) * -2)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-auto{margin-right:auto}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-\[1\.2rem\]{width:1.2rem;height:1.2rem}.size-full{width:100%;height:100%}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-\[calc\(--spacing\(4\.75\)\)\]{height:calc(calc(var(--spacing) * 4.75))}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--available-height\){max-height:var(--available-height)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[min\(calc\(--spacing\(72\)---spacing\(9\)\)\,calc\(var\(--available-height\)---spacing\(9\)\)\)\]{max-height:min(calc(calc(var(--spacing) * 72) - calc(var(--spacing) * 9)), calc(var(--available-height) - calc(var(--spacing) * 9)))}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-7{min-height:calc(var(--spacing) * 7)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-svh{min-height:100svh}.w-\(--anchor-width\){width:var(--anchor-width)}.w-\(--radix-dropdown-menu-trigger-width\){width:var(--radix-dropdown-menu-trigger-width)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-48{width:calc(var(--spacing) * 48)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\(--available-width\){max-width:var(--available-width)}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-16{min-width:calc(var(--spacing) * 16)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-\[calc\(var\(--anchor-width\)\+--spacing\(7\)\)\]{min-width:calc(var(--anchor-width) + calc(var(--spacing) * 7))}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%-2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-none{translate:none}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-3d{scale:var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z)}.rotate-0{rotate:0deg}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.resize{resize:both}.resize-none{resize:none}.scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.scroll-py-1{scroll-padding-block:calc(var(--spacing) * 1)}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-px{gap:1px}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}:where(.-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[calc\(var\(--radius-sm\)\+2px\)\]{border-radius:calc(var(--radius-sm) + 2px)}.rounded-\[calc\(var\(--radius-sm\)-2px\)\]{border-radius:calc(var(--radius-sm) - 2px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:calc(var(--radius) + 2px)}.rounded-md{border-radius:var(--radius)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:calc(var(--radius) + 2px);border-top-right-radius:calc(var(--radius) + 2px)}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-lg{border-bottom-right-radius:calc(var(--radius) + 2px);border-bottom-left-radius:calc(var(--radius) + 2px)}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-bs{border-block-start-style:var(--tw-border-style);border-block-start-width:1px}.border-be{border-block-end-style:var(--tw-border-style);border-block-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/30{border-color:color-mix(in oklab, var(--color-amber-500) 30%, transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/50{border-color:color-mix(in oklab, var(--color-amber-500) 50%, transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/30{border-color:color-mix(in oklab, var(--color-blue-500) 30%, transparent)}}.border-border{border-color:var(--border)}.border-destructive{border-color:var(--destructive)}.border-emerald-500{border-color:var(--color-emerald-500)}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/30{border-color:color-mix(in oklab, var(--color-emerald-500) 30%, transparent)}}.border-foreground\/10{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.border-foreground\/10{border-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.border-foreground\/20{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.border-foreground\/20{border-color:color-mix(in oklab, var(--foreground) 20%, transparent)}}.border-input{border-color:var(--input)}.border-muted{border-color:var(--muted)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-background{background-color:var(--background)}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/10{background-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.bg-border,.bg-border\/50{background-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.bg-border\/50{background-color:color-mix(in oklab, var(--border) 50%, transparent)}}.bg-card{background-color:var(--card)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/10{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-100{background-color:var(--color-green-100)}.bg-input\/20{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.bg-input\/20{background-color:color-mix(in oklab, var(--input) 20%, transparent)}}.bg-muted{background-color:var(--muted)}.bg-muted-foreground\/10{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\/10{background-color:color-mix(in oklab, var(--muted-foreground) 10%, transparent)}}.bg-muted\/20{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/20{background-color:color-mix(in oklab, var(--muted) 20%, transparent)}}.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/30{background-color:color-mix(in oklab, var(--muted) 30%, transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-red-100{background-color:var(--color-red-100)}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-transparent{background-color:#0000}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-zinc-100{background-color:var(--color-zinc-100)}.bg-clip-padding{background-clip:padding-box}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.fill-foreground{fill:var(--foreground)}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-0{padding-bottom:calc(var(--spacing) * 0)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-sm\/relaxed{font-size:var(--text-sm);line-height:var(--leading-relaxed)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-xs\/relaxed{font-size:var(--text-xs);line-height:var(--leading-relaxed)}.text-\[0\.625rem\]{font-size:.625rem}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.text-wrap{text-wrap:wrap}.break-all{word-break:break-all}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-emerald-700{color:var(--color-emerald-700)}.text-foreground{color:var(--foreground)}.text-gray-800{color:var(--color-gray-800)}.text-green-800{color:var(--color-green-800)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-800{color:var(--color-red-800)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/70{color:color-mix(in oklab, var(--sidebar-foreground) 70%, transparent)}}.text-tactical-amber{color:var(--tactical-amber)}.text-tactical-cyan{color:var(--tactical-cyan)}.text-tactical-green{color:var(--tactical-green)}.text-yellow-800{color:var(--color-yellow-800)}.text-zinc-500{color:var(--color-zinc-500)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-50{opacity:.5}.bg-blend-color{background-blend-mode:color}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-background{--tw-ring-color:var(--background)}.ring-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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,)}.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{--tw-backdrop-blur:blur(8px);-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,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-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,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-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,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-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,)}.backdrop-filter{-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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-focus\/dropdown-menu-item\:text-accent-foreground:is(:where(.group\/dropdown-menu-item):focus *){color:var(--accent-foreground)}.group-has-data-\[orientation\=horizontal\]\/field\:text-balance:is(:where(.group\/field):has([data-orientation=horizontal]) *){text-wrap:balance}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}.group-has-data-\[size\=lg\]\/avatar-group\:size-10:is(:where(.group\/avatar-group):has([data-size=lg]) *){width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.group-has-data-\[size\=sm\]\/avatar-group\:size-6:is(:where(.group\/avatar-group):has([data-size=sm]) *){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.group-has-data-\[slot\=combobox-clear\]\/input-group\:hidden:is(:where(.group\/input-group):has([data-slot=combobox-clear]) *){display:none}.group-has-\[\>input\]\/input-group\:pt-2:is(:where(.group\/input-group):has(>input) *){padding-top:calc(var(--spacing) * 2)}.group-has-\[\>input\]\/input-group\:pb-2:is(:where(.group\/input-group):has(>input) *){padding-bottom:calc(var(--spacing) * 2)}.group-data-empty\/combobox-content\:flex:is(:where(.group\/combobox-content)[data-empty] *){display:flex}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offExamples\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offExamples] *){right:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offExamples\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offExamples] *){left:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offExamples\]\:w-0:is(:where(.group)[data-collapsible=offExamples] *){width:calc(var(--spacing) * 0)}.group-data-\[collapsible\=offExamples\]\:translate-x-0:is(:where(.group)[data-collapsible=offExamples] *){--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *),.group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.group\/field)[data-disabled=true] *),.group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled=true] *){opacity:.5}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing) * 0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[size\=default\]\/avatar\:size-2\.5:is(:where(.group\/avatar)[data-size=default] *){width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.group-data-\[size\=lg\]\/avatar\:size-3:is(:where(.group\/avatar)[data-size=lg] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=sm\]\/alert-dialog-content\:grid:is(:where(.group\/alert-dialog-content)[data-size=sm] *){display:grid}.group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2:is(:where(.group\/alert-dialog-content)[data-size=sm] *){grid-template-columns:repeat(2,minmax(0,1fr))}.group-data-\[size\=sm\]\/avatar\:size-2:is(:where(.group\/avatar)[data-size=sm] *){width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:text-xs:is(:where(.group\/avatar)[data-size=sm] *){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.group-data-\[size\=sm\]\/card\:px-3:is(:where(.group\/card)[data-size=sm] *){padding-inline:calc(var(--spacing) * 3)}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:calc(var(--radius) + 2px)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=floating\]\:ring-1:is(:where(.group)[data-variant=floating] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=floating\]\:ring-sidebar-border:is(:where(.group)[data-variant=floating] *){--tw-ring-color:var(--sidebar-border)}.group-data-\[variant\=outline\]\/field-group\:-mb-2:is(:where(.group\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--spacing) * -2)}@media (hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-active\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing) * 1)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:calc(var(--spacing) * 6)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-xs\/relaxed::file-selector-button{font-size:var(--text-xs);line-height:var(--leading-relaxed)}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.after\:inset-0:after{content:var(--tw-content);inset:calc(var(--spacing) * 0)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.after\:border-border:after{content:var(--tw-content);border-color:var(--border)}.after\:mix-blend-darken:after{content:var(--tw-content);mix-blend-mode:darken}.group-data-\[collapsible\=offExamples\]\:after\:left-full:is(:where(.group)[data-collapsible=offExamples] *):after{content:var(--tw-content);left:100%}.last\:mt-0:last-child{margin-top:calc(var(--spacing) * 0)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:border-ring:focus-within{border-color:var(--ring)}.focus-within\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-ring\/30:focus-within{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-within\:ring-ring\/30:focus-within{--tw-ring-color:color-mix(in oklab, var(--ring) 30%, transparent)}}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\:bg-input\/50:hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-input\/50:hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:group-data-\[collapsible\=offExamples\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offExamples] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus,:is(.focus\:\*\*\:text-accent-foreground:focus *),:is(.not-data-\[variant\=destructive\]\:focus\:\*\*\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--accent-foreground)}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible,.focus-visible\:ring-\[2px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 30%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}:where([data-slot=combobox-content]) .in-data-\[slot\=combobox-content\]\:focus-within\:border-inherit:focus-within{border-color:inherit}:where([data-slot=combobox-content]) .in-data-\[slot\=combobox-content\]\:focus-within\:ring-0:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-disabled\:pointer-events-none:has(:disabled){pointer-events:none}.has-disabled\:cursor-not-allowed:has(:disabled){cursor:not-allowed}.has-disabled\:opacity-50:has(:disabled){opacity:.5}.has-aria-invalid\:border-destructive:has([aria-invalid=true]){border-color:var(--destructive)}.has-aria-invalid\:ring-2:has([aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-aria-invalid\:ring-destructive\/20:has([aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.has-aria-invalid\:ring-destructive\/20:has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.has-data-checked\:bg-primary\/5:has([data-checked]){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.has-data-checked\:bg-primary\/5:has([data-checked]){background-color:color-mix(in oklab, var(--primary) 5%, transparent)}}.has-data-\[align\=block-end\]\:rounded-md:has([data-align=block-end]),.has-data-\[align\=block-start\]\:rounded-md:has([data-align=block-start]){border-radius:var(--radius)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot=alert-dialog-media]){grid-template-rows:auto auto 1fr}.has-data-\[slot\=alert-dialog-media\]\:gap-x-4:has([data-slot=alert-dialog-media]){column-gap:calc(var(--spacing) * 4)}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[slot\=card-description\]\:grid-rows-\[auto_auto\]:has([data-slot=card-description]){grid-template-rows:auto auto}.has-data-\[slot\=combobox-chip\]\:px-1:has([data-slot=combobox-chip]){padding-inline:calc(var(--spacing) * 1)}.has-data-\[slot\=combobox-chip-remove\]\:pr-0:has([data-slot=combobox-chip-remove]){padding-right:calc(var(--spacing) * 0)}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--ring)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-2:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/30:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/30:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab, var(--ring) 30%, transparent)}}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--destructive)}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-2:has([data-slot][aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.has-\[textarea\]\:rounded-md:has(:is(textarea)){border-radius:var(--radius)}.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]){height:auto}.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]){flex-direction:column}.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]){height:auto}.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]){flex-direction:column}.has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--spacing) * 3)}.has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){width:100%}.has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){flex-direction:column}.has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]){border-radius:var(--radius)}.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}.has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--spacing) * 3)}.has-\[\>button\]\:mr-\[-0\.275rem\]:has(>button){margin-right:-.275rem}.has-\[\>button\]\:ml-\[-0\.275rem\]:has(>button){margin-left:-.275rem}.has-\[\>img\:first-child\]\:pt-0:has(>img:first-child){padding-top:calc(var(--spacing) * 0)}.has-\[\>kbd\]\:mr-\[-0\.275rem\]:has(>kbd){margin-right:-.275rem}.has-\[\>kbd\]\:ml-\[-0\.275rem\]:has(>kbd){margin-left:-.275rem}.has-\[\>svg\]\:p-0:has(>svg){padding:calc(var(--spacing) * 0)}.has-\[\>textarea\]\:h-auto:has(>textarea){height:auto}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-0[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:ring-2[aria-invalid=true],.aria-invalid\:ring-\[2px\][aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-active\:bg-sidebar-accent[data-active]{background-color:var(--sidebar-accent)}.data-active\:font-medium[data-active]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-active\:text-sidebar-accent-foreground[data-active]{color:var(--sidebar-accent-foreground)}.data-closed\:overflow-hidden[data-closed]{overflow:hidden}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-empty\:p-0[data-empty]{padding:calc(var(--spacing) * 0)}.data-ending-style\:opacity-0[data-ending-style]{opacity:0}.data-highlighted\:bg-accent[data-highlighted]{background-color:var(--accent)}.data-highlighted\:text-accent-foreground[data-highlighted],:is(.not-data-\[variant\=destructive\]\:data-highlighted\:\*\*\:text-accent-foreground:not([data-variant=destructive])[data-highlighted] *){color:var(--accent-foreground)}.data-inset\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-open\:bg-accent[data-open]{background-color:var(--accent)}.data-open\:text-accent-foreground[data-open]{color:var(--accent-foreground)}.data-open\:opacity-100[data-open]{opacity:1}@media (hover:hover){.data-open\:hover\:bg-sidebar-accent[data-open]:hover{background-color:var(--sidebar-accent)}.data-open\:hover\:text-sidebar-accent-foreground[data-open]:hover{color:var(--sidebar-accent-foreground)}}.data-placeholder\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-pressed\:bg-transparent[data-pressed]{background-color:#0000}.data-selected\:border-primary[data-selected]{border-color:var(--primary)}.data-selected\:text-foreground[data-selected]{color:var(--foreground)}.data-starting-style\:opacity-0[data-starting-style]{opacity:0}.data-\[chips\=true\]\:min-w-\(--anchor-width\)[data-chips=true]{min-width:var(--anchor-width)}.data-\[invalid\=true\]\:text-destructive[data-invalid=true]{color:var(--destructive)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[orientation\=vertical\]\:self-stretch[data-orientation=vertical]{align-self:stretch}.data-\[side\=bottom\]\:inset-x-0[data-side=bottom]{inset-inline:calc(var(--spacing) * 0)}.data-\[side\=bottom\]\:top-1[data-side=bottom]{top:calc(var(--spacing) * 1)}.data-\[side\=bottom\]\:bottom-0[data-side=bottom]{bottom:calc(var(--spacing) * 0)}.data-\[side\=bottom\]\:h-auto[data-side=bottom]{height:auto}.data-\[side\=bottom\]\:border-t[data-side=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[side\=left\]\:inset-y-0[data-side=left]{inset-block:calc(var(--spacing) * 0)}.data-\[side\=left\]\:top-1\/2\![data-side=left]{top:50%!important}.data-\[side\=left\]\:-right-1[data-side=left]{right:calc(var(--spacing) * -1)}.data-\[side\=left\]\:left-0[data-side=left]{left:calc(var(--spacing) * 0)}.data-\[side\=left\]\:h-full[data-side=left]{height:100%}.data-\[side\=left\]\:w-3\/4[data-side=left]{width:75%}.data-\[side\=left\]\:-translate-y-1\/2[data-side=left]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:border-r[data-side=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[side\=right\]\:inset-y-0[data-side=right]{inset-block:calc(var(--spacing) * 0)}.data-\[side\=right\]\:top-1\/2\![data-side=right]{top:50%!important}.data-\[side\=right\]\:right-0[data-side=right]{right:calc(var(--spacing) * 0)}.data-\[side\=right\]\:-left-1[data-side=right]{left:calc(var(--spacing) * -1)}.data-\[side\=right\]\:h-full[data-side=right]{height:100%}.data-\[side\=right\]\:w-3\/4[data-side=right]{width:75%}.data-\[side\=right\]\:-translate-y-1\/2[data-side=right]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:border-l[data-side=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[side\=top\]\:inset-x-0[data-side=top]{inset-inline:calc(var(--spacing) * 0)}.data-\[side\=top\]\:top-0[data-side=top]{top:calc(var(--spacing) * 0)}.data-\[side\=top\]\:-bottom-2\.5[data-side=top]{bottom:calc(var(--spacing) * -2.5)}.data-\[side\=top\]\:h-auto[data-side=top]{height:auto}.data-\[side\=top\]\:border-b[data-side=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.data-\[size\=default\]\:h-7[data-size=default]{height:calc(var(--spacing) * 7)}.data-\[size\=default\]\:max-w-xs[data-size=default]{max-width:var(--container-xs)}.data-\[size\=lg\]\:size-10[data-size=lg]{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.data-\[size\=md\]\:text-xs[data-size=md]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.data-\[size\=sm\]\:size-6[data-size=sm]{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.data-\[size\=sm\]\:h-6[data-size=sm]{height:calc(var(--spacing) * 6)}.data-\[size\=sm\]\:max-w-64[data-size=sm]{max-width:calc(var(--spacing) * 64)}.data-\[size\=sm\]\:gap-3[data-size=sm]{gap:calc(var(--spacing) * 3)}.data-\[size\=sm\]\:py-3[data-size=sm]{padding-block:calc(var(--spacing) * 3)}.data-\[size\=sm\]\:text-xs[data-size=sm]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}:is(.\*\:data-\[slot\=avatar\]\:ring-2>*)[data-slot=avatar]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.\*\:data-\[slot\=avatar\]\:ring-background>*)[data-slot=avatar]{--tw-ring-color:var(--background)}.data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group]{gap:calc(var(--spacing) * 3)}:is(.\*\:data-\[slot\=field\]\:p-2>*)[data-slot=field]{padding:calc(var(--spacing) * 2)}:is(.\*\:data-\[slot\=field-group\]\:gap-4>*)[data-slot=field-group]{gap:calc(var(--spacing) * 4)}:is(.\*\:data-\[slot\=input-group\]\:m-1>*)[data-slot=input-group]{margin:calc(var(--spacing) * 1)}:is(.\*\:data-\[slot\=input-group\]\:mb-0>*)[data-slot=input-group]{margin-bottom:calc(var(--spacing) * 0)}:is(.\*\:data-\[slot\=input-group\]\:h-7>*)[data-slot=input-group]{height:calc(var(--spacing) * 7)}:is(.\*\:data-\[slot\=input-group\]\:border-none>*)[data-slot=input-group]{--tw-border-style:none;border-style:none}:is(.\*\:data-\[slot\=input-group\]\:bg-input\/20>*)[data-slot=input-group]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){:is(.\*\:data-\[slot\=input-group\]\:bg-input\/20>*)[data-slot=input-group]{background-color:color-mix(in oklab, var(--input) 20%, transparent)}}:is(.\*\:data-\[slot\=input-group\]\:shadow-none>*)[data-slot=input-group]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.\*\*\:data-\[slot\=kbd\]\:rounded-\[calc\(var\(--radius-sm\)-2px\)\] *)[data-slot=kbd]{border-radius:calc(var(--radius-sm) - 2px)}:is(.\*\*\:data-\[slot\=kbd\]\:rounded-md *)[data-slot=kbd]{border-radius:var(--radius)}:is(.\*\*\:data-\[slot\=kbd\]\:bg-muted-foreground\/10 *)[data-slot=kbd]{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){:is(.\*\*\:data-\[slot\=kbd\]\:bg-muted-foreground\/10 *)[data-slot=kbd]{background-color:color-mix(in oklab, var(--muted-foreground) 10%, transparent)}}:is(.\*\*\:data-\[slot\=kbd\]\:px-1 *)[data-slot=kbd]{padding-inline:calc(var(--spacing) * 1)}:is(.\*\*\:data-\[slot\=kbd\]\:text-\[0\.625rem\] *)[data-slot=kbd]{font-size:.625rem}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-1\.5>*)[data-slot=select-value]{gap:calc(var(--spacing) * 1.5)}.data-\[state\=open\]\:bg-sidebar-accent[data-state=open]{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:text-sidebar-accent-foreground[data-state=open]{color:var(--sidebar-accent-foreground)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.data-\[variant\=label\]\:text-xs\/relaxed[data-variant=label]{font-size:var(--text-xs);line-height:var(--leading-relaxed)}.data-\[variant\=legend\]\:text-sm[data-variant=legend]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.nth-last-2\:-mt-1:nth-last-child(2){margin-top:calc(var(--spacing) * -1)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-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,)}}@media (width>=40rem){.sm\:flex{display:flex}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2:is(:where(.group\/alert-dialog-content)[data-size=default] *){grid-row:span 2/span 2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start:is(:where(.group\/alert-dialog-content)[data-size=default] *){place-items:start}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left:is(:where(.group\/alert-dialog-content)[data-size=default] *){text-align:left}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2:is(:where(.group\/alert-dialog-content)[data-size=default] *):is(:where(.group\/alert-dialog-content):has([data-slot=alert-dialog-media]) *){grid-column-start:2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]:is(:where(.group\/alert-dialog-content)[data-size=default] *):has([data-slot=alert-dialog-media]){grid-template-rows:auto 1fr}.data-\[side\=left\]\:sm\:max-w-sm[data-side=left],.data-\[side\=right\]\:sm\:max-w-sm[data-side=right],.data-\[size\=default\]\:sm\:max-w-sm[data-size=default]{max-width:var(--container-sm)}}@media (width>=48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-xs\/relaxed{font-size:var(--text-xs);line-height:var(--leading-relaxed)}.md\:text-pretty{text-wrap:pretty}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing) * 0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing) * 2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media (width>=64rem){.lg\:block{display:block}}@media (width>=80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@container field-group (width>=28rem){.\@md\/field-group\:flex-row{flex-direction:row}.\@md\/field-group\:items-center{align-items:center}.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}}@media (prefers-color-scheme:dark){.dark\:scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.dark\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.dark\:-rotate-90{rotate:-90deg}.dark\:rotate-0{rotate:0deg}.dark\:bg-destructive\/20{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:bg-green-900{background-color:var(--color-green-900)}.dark\:bg-input\/30{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-muted\/30{background-color:color-mix(in oklab, var(--muted) 30%, transparent)}}.dark\:bg-popover{background-color:var(--popover)}.dark\:bg-red-900{background-color:var(--color-red-900)}.dark\:bg-transparent{background-color:#0000}.dark\:bg-yellow-900{background-color:var(--color-yellow-900)}.dark\:bg-zinc-800{background-color:var(--color-zinc-800)}.dark\:text-emerald-400{color:var(--color-emerald-400)}.dark\:text-gray-100{color:var(--color-gray-100)}.dark\:text-green-100{color:var(--color-green-100)}.dark\:text-red-100{color:var(--color-red-100)}.dark\:text-yellow-100{color:var(--color-yellow-100)}.dark\:text-zinc-400{color:var(--color-zinc-400)}.dark\:invert{--tw-invert:invert(100%);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,)}.dark\:after\:mix-blend-lighten:after{content:var(--tw-content);mix-blend-mode:lighten}@media (hover:hover){.dark\:hover\:bg-destructive\/30:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:has-aria-invalid\:border-destructive\/50:has([aria-invalid=true]){border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-aria-invalid\:border-destructive\/50:has([aria-invalid=true]){border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:has-aria-invalid\:ring-destructive\/40:has([aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-aria-invalid\:ring-destructive\/40:has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:has-data-checked\:bg-primary\/10:has([data-checked]){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.dark\:has-data-checked\:bg-primary\/10:has([data-checked]){background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:border-destructive\/50[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-2\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\.border-b\]\:pb-2.border-b{padding-bottom:calc(var(--spacing) * 2)}.\[\.border-b\]\:pb-4.border-b{padding-bottom:calc(var(--spacing) * 4)}.group-data-\[size\=sm\]\/card\:\[\.border-b\]\:pb-3:is(:where(.group\/card)[data-size=sm] *).border-b{padding-bottom:calc(var(--spacing) * 3)}.\[\.border-t\]\:pt-2.border-t{padding-top:calc(var(--spacing) * 2)}.\[\.border-t\]\:pt-4.border-t{padding-top:calc(var(--spacing) * 4)}.group-data-\[size\=sm\]\/card\:\[\.border-t\]\:pt-3:is(:where(.group\/card)[data-size=sm] *).border-t{padding-top:calc(var(--spacing) * 3)}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.\[a\]\:hover\:bg-muted:is(a):hover{background-color:var(--muted)}.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.\[a\]\:hover\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}:is(.\*\:\[img\:first-child\]\:rounded-t-lg>*):is(img:first-child){border-top-left-radius:calc(var(--radius) + 2px);border-top-right-radius:calc(var(--radius) + 2px)}:is(.\*\:\[img\:last-child\]\:rounded-b-lg>*):is(img:last-child){border-bottom-right-radius:calc(var(--radius) + 2px);border-bottom-left-radius:calc(var(--radius) + 2px)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>\*\]\:w-full>*{width:100%}@container field-group (width>=28rem){.\@md\/field-group\:\[\&\>\*\]\:w-auto>*{width:auto}}.\[\&\>\.sr-only\]\:w-auto>.sr-only{width:auto}.\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{flex:auto}@container field-group (width>=28rem){.\@md\/field-group\:\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{flex:auto}}.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]{margin-top:1px}@container field-group (width>=28rem){.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]{margin-top:1px}}.\[\&\>a\]\:underline>a{text-decoration-line:underline}.\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.\[\&\>a\:hover\]\:text-primary>a:hover{color:var(--primary)}.\[\&\>button\]\:hidden>button{display:none}.has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-1\.5:has(>[data-align=inline-end])>input{padding-right:calc(var(--spacing) * 1.5)}.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-1\.5:has(>[data-align=inline-start])>input{padding-left:calc(var(--spacing) * 1.5)}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-2\.5\!>svg{width:calc(var(--spacing) * 2.5)!important;height:calc(var(--spacing) * 2.5)!important}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.group-has-data-\[size\=lg\]\/avatar-group\:\[\&\>svg\]\:size-5:is(:where(.group\/avatar-group):has([data-size=lg]) *)>svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.group-has-data-\[size\=sm\]\/avatar-group\:\[\&\>svg\]\:size-3:is(:where(.group\/avatar-group):has([data-size=sm]) *)>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=default\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=default] *)>svg,.group-data-\[size\=lg\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=lg] *)>svg{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden:is(:where(.group\/avatar)[data-size=sm] *)>svg{display:none}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3>svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}[data-side=left][data-collapsible=offExamples] .\[\[data-side\=left\]\[data-collapsible\=offExamples\]_\&\]\:-right-2{right:calc(var(--spacing) * -2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offExamples] .\[\[data-side\=right\]\[data-collapsible\=offExamples\]_\&\]\:-left-2{left:calc(var(--spacing) * -2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5{margin-top:calc(var(--spacing) * -1.5)}}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans:"Geist Variable", sans-serif;--font-mono:"JetBrains Mono Variable", monospace;--background:#f4f1ec;--foreground:#1d2930;--card:#f9f8f6;--card-foreground:#1d2930;--popover:#fbfaf9;--popover-foreground:#1d2930;--primary:#305030;--primary-foreground:#f5f3ef;--secondary:#eae5d7;--secondary-foreground:#263740;--muted:#e9e7e2;--muted-foreground:#576b75;--accent:#e7e2da;--accent-foreground:#1d2930;--destructive:#c32222;--destructive-foreground:#fff;--border:#b6c9b6;--input:#dedbd3;--ring:#3e743e;--chart-1:#2e6b2e;--chart-2:#cfa117;--chart-3:#297aa3;--chart-4:#cc8c33;--chart-5:#b82e2e;--radius:.25rem;--sidebar:#f5f3f0;--sidebar-background:#f5f3f0;--sidebar-foreground:#263740;--sidebar-primary:#305030;--sidebar-primary-foreground:#f5f3ef;--sidebar-accent:#e7e2da;--sidebar-accent-foreground:#1d2930;--sidebar-border:#c4d4c4;--sidebar-ring:#3e743e;--tactical-amber:#c2940a;--tactical-amber-dim:#d6b85c;--tactical-green:#267326;--tactical-green-dim:#7ab87a;--tactical-cyan:#24868f;--tactical-cyan-dim:#5eb2ba;--tactical-red:#bd2828;--tactical-olive:#64783a;--scanline-opacity:.015}.dark{--background:#0d1012;--foreground:#e0ddd1;--card:#14181a;--card-foreground:#e0ddd1;--popover:#111517;--popover-foreground:#e0ddd1;--primary:#fa0;--primary-foreground:#0d1012;--secondary:#323922;--secondary-foreground:#c6d2ac;--muted:#202527;--muted-foreground:#819098;--accent:#292f32;--accent-foreground:#ebe8e0;--destructive:#c32222;--destructive-foreground:#fff;--border:#203c32;--input:#292f32;--ring:#ffbf00;--chart-1:#ffbf00;--chart-2:#22c38e;--chart-3:#1aa1e6;--chart-4:#86ac39;--chart-5:#d92626;--sidebar:#111517;--sidebar-background:#111517;--sidebar-foreground:#e0ddd1;--sidebar-primary:#ffbf00;--sidebar-primary-foreground:#0d1012;--sidebar-accent:#292f32;--sidebar-accent-foreground:#ebe8e0;--sidebar-border:#203c32;--sidebar-ring:#ffbf00;--tactical-amber:#ffbf00;--tactical-amber-dim:#a17d12;--tactical-green:#22c38e;--tactical-green-dim:#20604a;--tactical-cyan:#17bfcf;--tactical-cyan-dim:#196066;--tactical-red:#d92626;--tactical-olive:#576b2e;--scanline-opacity:.03}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}} diff --git a/spinifex/services/spinifexui/frontend/dist/assets/index.js b/spinifex/services/spinifexui/frontend/dist/assets/index.js index 916341c5b..f602d67ca 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/index.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/index.js @@ -1,10 +1,10 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/login.js","assets/compiler-runtime.js","assets/awsClient.js","assets/SignatureV4.js","assets/fromUtf8.browser.js","assets/toUtf8.browser.js","assets/DescribeInstancesCommand.js","assets/button.js","assets/dist.js","assets/input.js","assets/separator.js","assets/createBaseUIEventDetails.js","assets/useTransitionStatus.js","assets/zod.js","assets/card.js","assets/field.js","assets/route.js","assets/Match.js","assets/useStore.js","assets/matchContext.js","assets/redirect.js","assets/_auth.js","assets/ec22.js","assets/queryOptions.js","assets/s32.js","assets/admin-context.js","assets/admin.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/query.js","assets/link.js","assets/createLucideIcon.js","assets/chevron-down.js","assets/chevron-right.js","assets/shield.js","assets/page-heading.js","assets/state-badge.js","assets/nodes.js","assets/service-metrics.js","assets/ls.js","assets/useSuspenseQuery.js","assets/list-card.js","assets/create-bucket.js","assets/s3.js","assets/error-banner.js","assets/mutation.js","assets/useNavigate.js","assets/back-link.js","assets/cli-command-panel.js","assets/check.js","assets/copy.js","assets/use-copy-to-clipboard.js","assets/form-actions.js","assets/create-user.js","assets/iam.js","assets/iam3.js","assets/create-policy.js","assets/textarea.js","assets/create-vpc.js","assets/ec2.js","assets/select.js","assets/useOpenInteractionType.js","assets/getDisabledMountTransitionStyles.js","assets/ec23.js","assets/create-volume.js","assets/create-subnet.js","assets/create-security-group.js","assets/create-placement-group.js","assets/import-key-pair.js","assets/create-key-pair.js","assets/alert-dialog.js","assets/DialogTitle.js","assets/download.js","assets/triangle-alert.js","assets/run-instances.js","assets/route2.js","assets/list-users.js","assets/iam2.js","assets/list-policies.js","assets/describe-vpcs.js","assets/describe-volumes.js","assets/describe-subnets.js","assets/describe-snapshots.js","assets/describe-security-groups.js","assets/describe-placement-groups.js","assets/describe-key-pairs.js","assets/describe-instances.js","assets/describe-images.js"])))=>i.map(i=>d[i]); -import{a as e,i as t,n,r,t as i}from"./compiler-runtime.js";import{M as a,O as o,S as s,T as c,_ as l,b as u,c as d,d as f,f as p,g as m,h,j as g,m as _,n as v,p as y,s as b,t as x,x as S,y as C}from"./QueryClientProvider.js";import{t as w}from"./query.js";import{t as T}from"./mutation.js";import{U as E,W as ee,_ as D,a as te,i as O,j as ne,k as re,s as ie,t as k,z as A}from"./useStore.js";import{n as ae}from"./matchContext.js";import{a as oe,i as se,n as ce,o as le,r as j,s as ue,t as de}from"./Match.js";import{n as fe}from"./redirect.js";import{t as pe}from"./link.js";import{n as M,r as me,t as N}from"./lazyRouteComponent.js";import{t as he}from"./useNavigate.js";import{Ut as P,Xt as ge,t as _e}from"./awsClient.js";import{g as ve,m as ye,n as be,o as xe,p as Se,t as Ce}from"./dist.js";import{i as we,n as Te,t as Ee}from"./admin-context.js";import{F,S as De,x as Oe}from"./SignatureV4.js";import{t as ke}from"./createLucideIcon.js";import{n as Ae,t as je}from"./_id.js";import{a as Me,i as Ne,n as Pe,r as Fe,t as Ie}from"./shield.js";import{n as Le,t as Re}from"./_id2.js";import{_ as ze,h as Be,i as Ve,n as He,o as Ue,t as We,v as Ge}from"./button.js";import{t as Ke}from"./separator.js";import{B as qe,L as Je,N as Ye,R as Xe,S as Ze,T as Qe,V as $e,_ as et,f as tt,g as nt,i as rt,p as it,s as at,t as ot,u as st,w as ct,y as lt}from"./createBaseUIEventDetails.js";import{a as ut,l as dt,n as ft}from"./useTransitionStatus.js";import{C as pt,E as mt,O as ht,c as gt,g as _t,h as vt,ht as yt,j as bt,k as xt,lt as St,m as Ct,mt as wt,p as Tt,pt as Et,s as Dt,u as Ot,v as kt,x as At,y as jt}from"./useOpenInteractionType.js";import"./input.js";import{a as Mt,c as Nt,d as Pt,f as Ft,g as It,h as Lt,i as Rt,l as zt,m as Bt,n as Vt,o as Ht,p as Ut,r as Wt,s as Gt,t as Kt,u as qt}from"./DialogTitle.js";import{i as Jt,n as Yt,r as Xt,t as Zt}from"./getDisabledMountTransitionStyles.js";import{_ as Qt,a as $t,c as en,h as tn,o as nn,p as rn,r as an,t as on,u as sn,x as cn,y as ln}from"./ec22.js";import{r as un,s as dn}from"./iam2.js";import{n as fn}from"./s32.js";import{t as pn}from"./create-snapshot.js";import{t as mn}from"./_bucket.js";import{t as hn}from"./_.js";import{t as gn}from"./_userName.js";import{t as _n}from"./_policyArn.js";import{t as vn}from"./_id3.js";import{t as yn}from"./_id4.js";import{t as bn}from"./_id5.js";import{t as xn}from"./_id6.js";import{t as Sn}from"./_id7.js";import{t as Cn}from"./_id8.js";import{t as wn}from"./_id9.js";import{t as Tn}from"./_id10.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function En(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{f(e,()=>t.signal,()=>n=!0)},u=_(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject();if(r==null&&e.pages.length)return Promise.resolve(e);let a=await u((()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})()),{maxPages:o}=t.options,s=i?y:p;return{pages:s(e.pages,a,o),pageParams:s(e.pageParams,r,o)}};if(i&&a.length){let e=i===`backward`,t=e?On:Dn,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:Dn(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(ct.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=l}}}function Dn(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function On(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var kn=class extends a{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new T({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=An(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=An(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=An(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}else return!0}runNext(e){let t=An(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){d.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>C(t,e))}findAll(e={}){return this.getAll().filter(t=>C(e,t))}notify(e){d.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return d.batch(()=>Promise.all(e.map(e=>e.continue().catch(S))))}};function An(e){return e.options.scope?.id}var jn=class extends a{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??l(r,t),a=this.get(i);return a||(a=new w({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){d.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>u(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>u(e,t)):t}notify(e){d.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){d.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){d.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Mn=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new jn,this.#t=e.mutationCache||new kn,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=g.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=b.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(c(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=h(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return d.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;d.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return d.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=d.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(S).catch(S)}invalidateQueries(e,t={}){return d.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=d.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(S)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(S)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(c(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(S).catch(S)}fetchInfiniteQuery(e){return e.behavior=En(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(S).catch(S)}ensureInfiniteQueryData(e){return e.behavior=En(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return b.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(m(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{s(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(m(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{s(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=l(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===o&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}};function Nn(e,t){if(e)return typeof e==`string`?e:e[t]}function Pn(e){return typeof e==`string`?{href:e,crossOrigin:void 0}:e}function Fn(e){if(typeof document<`u`&&document.querySelector){let t=e.stores.location.get(),n=t.state.__hashScrollIntoViewOptions??!0;if(n&&t.hash!==``){let e=document.getElementById(t.hash);e&&e.scrollIntoView(n)}}}var In=(e=>(e[e.None=0]=`None`,e[e.Mutable=1]=`Mutable`,e[e.Watching=2]=`Watching`,e[e.RecursedCheck=4]=`RecursedCheck`,e[e.Recursed=8]=`Recursed`,e[e.Dirty=16]=`Dirty`,e[e.Pending=32]=`Pending`,e))(In||{});function Ln({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(!0)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(!0)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function Rn(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var zn=[],Bn=0,{link:Vn,unlink:Hn,propagate:Un,checkDirty:Wn,shallowPropagate:Gn}=Ln({update(e){return e._update()},notify(e){zn[qn++]=e,e.flags&=~In.Watching},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=In.Mutable|In.Dirty,Zn(e))}}),Kn=0,qn=0,Jn,Yn=0;function Xn(e){try{++Yn,e()}finally{--Yn||Qn()}}function Zn(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=Hn(n,e)}function Qn(){if(!(Yn>0)){for(;Kn{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=Jn,o=t?.compare??Object.is;if(n)Jn=i,++Bn,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=In.Mutable|In.RecursedCheck);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{Jn=a,n&&(i.flags&=~In.RecursedCheck),Zn(i)}}};return n?(i.flags=In.Mutable|In.Dirty,i.get=function(){let e=i.flags;if(e&In.Dirty||e&In.Pending&&Wn(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&Gn(e)}}else e&In.Pending&&(i.flags=e&~In.Pending);return Jn!==void 0&&Vn(i,Jn,Bn),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(Un(e),Gn(e),Qn())}},i}function er(e){let t=()=>{let t=Jn;Jn=n,++Bn,n.depsTail=void 0,n.flags=In.Watching|In.RecursedCheck;try{return e()}finally{Jn=t,n.flags&=~In.RecursedCheck,Zn(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:In.Watching|In.RecursedCheck,notify(){let e=this.flags;e&In.Dirty||e&In.Pending&&Wn(this.deps,this)?t():this.flags=In.Watching},stop(){this.flags=In.None,this.depsTail=void 0,Zn(this)}};return t(),n}var I=e(r(),1);function tr(){let e=O(),t=I.useRef({router:e,mounted:!1}),[n,r]=I.useState(!1),i=k(e.stores.isLoading,e=>e),a=k(e.stores.hasPending,e=>e),o=ee(i),s=i||n||a,c=ee(s),l=i||a,u=ee(l);return e.startTransition=e=>{r(!0),I.startTransition(()=>{e(),r(!1)})},I.useEffect(()=>{let t=e.history.subscribe(e.load),n=e.buildLocation({to:e.latestLocation.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});return D(e.latestLocation.publicHref)!==D(n.publicHref)&&e.commitLocation({...n,replace:!0}),()=>{t()}},[e,e.history]),E(()=>{typeof window<`u`&&e.ssr||t.current.router===e&&t.current.mounted||(t.current={router:e,mounted:!0},(async()=>{try{await e.load()}catch(e){console.error(e)}})())},[e]),E(()=>{o&&!i&&e.emit({type:`onLoad`,...ue(e.stores.location.get(),e.stores.resolvedLocation.get())})},[o,e,i]),E(()=>{u&&!l&&e.emit({type:`onBeforeRouteMount`,...ue(e.stores.location.get(),e.stores.resolvedLocation.get())})},[l,u,e]),E(()=>{if(c&&!s){let t=ue(e.stores.location.get(),e.stores.resolvedLocation.get());e.emit({type:`onResolved`,...t}),Xn(()=>{e.stores.status.set(`idle`),e.stores.resolvedLocation.set(e.stores.location.get())}),t.hrefChanged&&Fn(e)}},[s,c,e]),null}var L=n();function nr(){let e=O(),t=e.routesById.__root__.options.pendingComponent??e.options.defaultPendingComponent,n=t?(0,L.jsx)(t,{}):null,r=(0,L.jsxs)(typeof document<`u`&&e.ssr?j:I.Suspense,{fallback:n,children:[(0,L.jsx)(tr,{}),(0,L.jsx)(rr,{})]});return e.options.InnerWrap?(0,L.jsx)(e.options.InnerWrap,{children:r}):r}function rr(){let e=O(),t=k(e.stores.firstId,e=>e),n=k(e.stores.loadedAt,e=>e),r=t?(0,L.jsx)(de,{matchId:t}):null;return(0,L.jsx)(ae.Provider,{value:t,children:e.options.disableGlobalCatchBoundary?r:(0,L.jsx)(se,{getResetKey:()=>n,errorComponent:oe,onCatch:void 0,children:r})})}var ir=e=>({createMutableStore:$n,createReadonlyStore:$n,batch:Xn}),ar=e=>new or(e),or=class extends le{constructor(e){super(e,ir)}};function sr({router:e,children:t,...n}){Object.keys(n).length>0&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});let r=(0,L.jsx)(te.Provider,{value:e,children:t});return e.options.Wrap?(0,L.jsx)(e.options.Wrap,{children:r}):r}function cr({router:e,...t}){return(0,L.jsx)(sr,{router:e,...t,children:(0,L.jsx)(nr,{})})}function lr(e){let t=O(),n=(0,I.useRef)(void 0);return k(t.stores.location,r=>{let i=e?.select?e.select(r):r;if(e?.structuralSharing??t.options.defaultStructuralSharing){let e=A(n.current,i);return n.current=e,e}return i})}function ur({tag:e,attrs:t,children:n,nonce:r}){switch(e){case`title`:return(0,L.jsx)(`title`,{...t,suppressHydrationWarning:!0,children:n});case`meta`:return(0,L.jsx)(`meta`,{...t,suppressHydrationWarning:!0});case`link`:return(0,L.jsx)(`link`,{...t,nonce:r,suppressHydrationWarning:!0});case`style`:return(0,L.jsx)(`style`,{...t,dangerouslySetInnerHTML:{__html:n},nonce:r});case`script`:return(0,L.jsx)(dr,{attrs:t,children:n});default:return null}}function dr({attrs:e,children:t}){O();let n=ie(),r=typeof e?.type==`string`&&e.type!==``&&e.type!==`text/javascript`&&e.type!==`module`;if(I.useEffect(()=>{if(!r){if(e?.src){let t=(()=>{try{let t=document.baseURI||window.location.href;return new URL(e.src,t).href}catch{return e.src}})();if(Array.from(document.querySelectorAll(`script[src]`)).find(e=>e.src===t))return;let n=document.createElement(`script`);for(let[t,r]of Object.entries(e))t!==`suppressHydrationWarning`&&r!==void 0&&r!==!1&&n.setAttribute(t,typeof r==`boolean`?``:String(r));return document.head.appendChild(n),()=>{n.parentNode&&n.parentNode.removeChild(n)}}if(typeof t==`string`){let n=typeof e?.type==`string`?e.type:`text/javascript`,r=typeof e?.nonce==`string`?e.nonce:void 0;if(Array.from(document.querySelectorAll(`script:not([src])`)).find(e=>{if(!(e instanceof HTMLScriptElement))return!1;let i=e.getAttribute(`type`)??`text/javascript`,a=e.getAttribute(`nonce`)??void 0;return e.textContent===t&&i===n&&a===r}))return;let i=document.createElement(`script`);if(i.textContent=t,e)for(let[t,n]of Object.entries(e))t!==`suppressHydrationWarning`&&n!==void 0&&n!==!1&&i.setAttribute(t,typeof n==`boolean`?``:String(n));return document.head.appendChild(i),()=>{i.parentNode&&i.parentNode.removeChild(i)}}}},[e,t,r]),r&&typeof t==`string`)return(0,L.jsx)(`script`,{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:t}});if(!n){if(e?.src)return(0,L.jsx)(`script`,{...e,suppressHydrationWarning:!0});if(typeof t==`string`)return(0,L.jsx)(`script`,{...e,dangerouslySetInnerHTML:{__html:t},suppressHydrationWarning:!0})}return null}var fr=e=>{let t=O(),n=t.options.ssr?.nonce,r=k(t.stores.matches,e=>e.map(e=>e.meta).filter(Boolean),re),i=I.useMemo(()=>{let e=[],t={},i;for(let a=r.length-1;a>=0;a--){let o=r[a];for(let r=o.length-1;r>=0;r--){let a=o[r];if(a)if(a.title)i||={tag:`title`,children:a.title};else if(`script:ld+json`in a)try{let t=JSON.stringify(a[`script:ld+json`]);e.push({tag:`script`,attrs:{type:`application/ld+json`},children:ne(t)})}catch{}else{let r=a.name??a.property;if(r){if(t[r])continue;t[r]=!0}e.push({tag:`meta`,attrs:{...a,nonce:n}})}}}return i&&e.push(i),n&&e.push({tag:`meta`,attrs:{property:`csp-nonce`,content:n}}),e.reverse(),e},[r,n]),a=k(t.stores.matches,r=>{let i=r.map(e=>e.links).filter(Boolean).flat(1).map(e=>({tag:`link`,attrs:{...e,nonce:n}})),a=t.ssr?.manifest,o=r.map(e=>a?.routes[e.routeId]?.assets??[]).filter(Boolean).flat(1).filter(e=>e.tag===`link`).map(t=>({tag:`link`,attrs:{...t.attrs,crossOrigin:Nn(e,`stylesheet`)??t.attrs?.crossOrigin,suppressHydrationWarning:!0,nonce:n}}));return[...i,...o]},re),o=k(t.stores.matches,r=>{let i=[];return r.map(e=>t.looseRoutesById[e.routeId]).forEach(r=>t.ssr?.manifest?.routes[r.id]?.preloads?.filter(Boolean).forEach(t=>{let r=Pn(t);i.push({tag:`link`,attrs:{rel:`modulepreload`,href:r.href,crossOrigin:Nn(e,`modulepreload`)??r.crossOrigin,nonce:n}})})),i},re),s=k(t.stores.matches,e=>e.map(e=>e.styles).flat(1).filter(Boolean).map(({children:e,...t})=>({tag:`style`,attrs:{...t,nonce:n},children:e})),re),c=k(t.stores.matches,e=>e.map(e=>e.headScripts).flat(1).filter(Boolean).map(({children:e,...t})=>({tag:`script`,attrs:{...t,nonce:n},children:e})),re);return pr([...i,...o,...a,...s,...c],e=>JSON.stringify(e))};function pr(e,t){let n=new Set;return e.filter(e=>{let r=t(e);return n.has(r)?!1:(n.add(r),!0)})}function mr(e){let t=fr(e.assetCrossOrigin),n=O().options.ssr?.nonce;return(0,L.jsx)(L.Fragment,{children:t.map(e=>(0,I.createElement)(ur,{...e,key:`tsr-meta-${JSON.stringify(e)}`,nonce:n}))})}var hr=t((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,D());else{var t=n(l);t!==null&&ne(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-Tt&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ne(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?D():S=!1}}}var D;if(typeof y==`function`)D=function(){y(ee)};else if(typeof MessageChannel<`u`){var te=new MessageChannel,O=te.port2;te.port1.onmessage=ee,D=function(){O.postMessage(null)}}else D=function(){_(ee,0)};function ne(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,ne(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,D()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),gr=t(((e,t)=>{t.exports=hr()})),_r=t((e=>{var t=gr(),n=r(),i=ge();function a(e){var t=`https://react.dev/errors/`+e;if(1se||(e.current=oe[se],oe[se]=null,se--)}function j(e,t){se++,oe[se]=e.current,e.current=t}var ue=ce(null),de=ce(null),fe=ce(null),pe=ce(null);function M(e,t){switch(j(fe,t),j(de,e),j(ue,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}le(ue),j(ue,e)}function me(){le(ue),le(de),le(fe)}function N(e){e.memoizedState!==null&&j(pe,e);var t=ue.current,n=Hd(t,e.type);t!==n&&(j(de,e),j(ue,n))}function he(e){de.current===e&&(le(ue),le(de)),pe.current===e&&(le(pe),Qf._currentValue=ae)}var P,_e;function ve(e){if(P===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);P=t&&t[1]||``,_e=-1i.map(i=>d[i]); +import{a as e,i as t,n,r,t as i}from"./compiler-runtime.js";import{M as a,O as o,S as s,T as c,_ as l,b as u,c as d,d as f,f as p,g as m,h,j as g,m as _,n as v,p as y,s as b,t as x,x as S,y as C}from"./QueryClientProvider.js";import{t as w}from"./query.js";import{t as T}from"./mutation.js";import{U as E,W as ee,_ as D,a as te,i as ne,j as re,k as ie,s as ae,t as O,z as k}from"./useStore.js";import{n as oe}from"./matchContext.js";import{a as se,i as ce,n as le,o as ue,r as A,s as de,t as fe}from"./Match.js";import{n as pe}from"./redirect.js";import{t as me}from"./link.js";import{n as j,r as he,t as M}from"./lazyRouteComponent.js";import{t as ge}from"./useNavigate.js";import{cn as N,hn as _e,t as ve}from"./awsClient.js";import{g as ye,m as be,n as xe,o as Se,p as Ce,t as we}from"./dist.js";import{i as Te,n as Ee,t as De}from"./admin-context.js";import{I as P,S as Oe,x as ke}from"./SignatureV4.js";import{t as Ae}from"./createLucideIcon.js";import{n as je,t as Me}from"./_id.js";import{a as Ne,i as Pe,n as Fe,r as Ie,t as Le}from"./shield.js";import{n as Re,t as ze}from"./_id2.js";import{_ as Be,b as Ve,c as He,n as Ue,o as We,t as Ge,y as Ke}from"./button.js";import{t as qe}from"./separator.js";import{B as Je,L as Ye,N as Xe,R as Ze,S as Qe,T as $e,V as et,_ as tt,f as nt,g as rt,i as it,p as at,s as ot,t as st,u as ct,w as lt,y as ut}from"./createBaseUIEventDetails.js";import{a as dt,l as ft,n as pt}from"./useTransitionStatus.js";import{A as mt,B as ht,Ct as gt,D as _t,Dt as vt,F as yt,G as bt,H as xt,L as St,M as Ct,N as wt,O as Tt,Ot as Et,S as Dt,U as Ot,k as kt,kt as At,w as jt,x as Mt}from"./useOpenInteractionType.js";import"./input.js";import{a as Nt,c as Pt,d as Ft,f as It,g as Lt,h as Rt,i as zt,l as Bt,m as Vt,n as Ht,o as Ut,p as Wt,r as Gt,s as Kt,t as qt,u as Jt}from"./DialogTitle.js";import{a as Yt,n as Xt,r as Zt,t as Qt}from"./getDisabledMountTransitionStyles.js";import{_ as $t,a as en,c as tn,h as nn,o as rn,p as an,r as on,t as sn,u as cn,x as ln,y as un}from"./ec22.js";import{c as dn,i as fn}from"./elbv22.js";import{r as pn,s as mn}from"./iam2.js";import{n as hn}from"./s32.js";import{t as gn}from"./create-snapshot.js";import{t as _n}from"./_bucket.js";import{t as vn}from"./_.js";import{t as yn}from"./_userName.js";import{t as bn}from"./_policyArn.js";import{t as xn}from"./_id3.js";import{t as Sn}from"./_id4.js";import{t as Cn}from"./_id5.js";import{t as wn}from"./_id6.js";import{t as Tn}from"./_id7.js";import{t as En}from"./_id8.js";import{t as Dn}from"./_id9.js";import{t as On}from"./_id10.js";import{t as kn}from"./_id11.js";import{t as An}from"./_id12.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function jn(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{f(e,()=>t.signal,()=>n=!0)},u=_(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject();if(r==null&&e.pages.length)return Promise.resolve(e);let a=await u((()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})()),{maxPages:o}=t.options,s=i?y:p;return{pages:s(e.pages,a,o),pageParams:s(e.pageParams,r,o)}};if(i&&a.length){let e=i===`backward`,t=e?Nn:Mn,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:Mn(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(ct.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=l}}}function Mn(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function Nn(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var Pn=class extends a{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new T({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=Fn(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=Fn(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=Fn(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}else return!0}runNext(e){let t=Fn(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){d.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>C(t,e))}findAll(e={}){return this.getAll().filter(t=>C(e,t))}notify(e){d.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return d.batch(()=>Promise.all(e.map(e=>e.continue().catch(S))))}};function Fn(e){return e.options.scope?.id}var In=class extends a{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??l(r,t),a=this.get(i);return a||(a=new w({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){d.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>u(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>u(e,t)):t}notify(e){d.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){d.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){d.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Ln=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new In,this.#t=e.mutationCache||new Pn,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=g.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=b.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(c(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=h(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return d.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;d.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return d.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=d.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(S).catch(S)}invalidateQueries(e,t={}){return d.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=d.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(S)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(S)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(c(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(S).catch(S)}fetchInfiniteQuery(e){return e.behavior=jn(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(S).catch(S)}ensureInfiniteQueryData(e){return e.behavior=jn(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return b.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(m(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{s(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(m(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{s(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=l(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===o&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}};function Rn(e,t){if(e)return typeof e==`string`?e:e[t]}function zn(e){return typeof e==`string`?{href:e,crossOrigin:void 0}:e}function Bn(e){if(typeof document<`u`&&document.querySelector){let t=e.stores.location.get(),n=t.state.__hashScrollIntoViewOptions??!0;if(n&&t.hash!==``){let e=document.getElementById(t.hash);e&&e.scrollIntoView(n)}}}var F=(e=>(e[e.None=0]=`None`,e[e.Mutable=1]=`Mutable`,e[e.Watching=2]=`Watching`,e[e.RecursedCheck=4]=`RecursedCheck`,e[e.Recursed=8]=`Recursed`,e[e.Dirty=16]=`Dirty`,e[e.Pending=32]=`Pending`,e))(F||{});function Vn({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(!0)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(!0)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function Hn(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var Un=[],Wn=0,{link:Gn,unlink:Kn,propagate:qn,checkDirty:Jn,shallowPropagate:Yn}=Vn({update(e){return e._update()},notify(e){Un[Zn++]=e,e.flags&=~F.Watching},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=F.Mutable|F.Dirty,tr(e))}}),Xn=0,Zn=0,Qn,$n=0;function er(e){try{++$n,e()}finally{--$n||nr()}}function tr(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=Kn(n,e)}function nr(){if(!($n>0)){for(;Xn{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=Qn,o=t?.compare??Object.is;if(n)Qn=i,++Wn,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=F.Mutable|F.RecursedCheck);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{Qn=a,n&&(i.flags&=~F.RecursedCheck),tr(i)}}};return n?(i.flags=F.Mutable|F.Dirty,i.get=function(){let e=i.flags;if(e&F.Dirty||e&F.Pending&&Jn(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&Yn(e)}}else e&F.Pending&&(i.flags=e&~F.Pending);return Qn!==void 0&&Gn(i,Qn,Wn),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(qn(e),Yn(e),nr())}},i}function ir(e){let t=()=>{let t=Qn;Qn=n,++Wn,n.depsTail=void 0,n.flags=F.Watching|F.RecursedCheck;try{return e()}finally{Qn=t,n.flags&=~F.RecursedCheck,tr(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:F.Watching|F.RecursedCheck,notify(){let e=this.flags;e&F.Dirty||e&F.Pending&&Jn(this.deps,this)?t():this.flags=F.Watching},stop(){this.flags=F.None,this.depsTail=void 0,tr(this)}};return t(),n}var I=e(r(),1);function ar(){let e=ne(),t=I.useRef({router:e,mounted:!1}),[n,r]=I.useState(!1),i=O(e.stores.isLoading,e=>e),a=O(e.stores.hasPending,e=>e),o=ee(i),s=i||n||a,c=ee(s),l=i||a,u=ee(l);return e.startTransition=e=>{r(!0),I.startTransition(()=>{e(),r(!1)})},I.useEffect(()=>{let t=e.history.subscribe(e.load),n=e.buildLocation({to:e.latestLocation.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});return D(e.latestLocation.publicHref)!==D(n.publicHref)&&e.commitLocation({...n,replace:!0}),()=>{t()}},[e,e.history]),E(()=>{typeof window<`u`&&e.ssr||t.current.router===e&&t.current.mounted||(t.current={router:e,mounted:!0},(async()=>{try{await e.load()}catch(e){console.error(e)}})())},[e]),E(()=>{o&&!i&&e.emit({type:`onLoad`,...de(e.stores.location.get(),e.stores.resolvedLocation.get())})},[o,e,i]),E(()=>{u&&!l&&e.emit({type:`onBeforeRouteMount`,...de(e.stores.location.get(),e.stores.resolvedLocation.get())})},[l,u,e]),E(()=>{if(c&&!s){let t=de(e.stores.location.get(),e.stores.resolvedLocation.get());e.emit({type:`onResolved`,...t}),er(()=>{e.stores.status.set(`idle`),e.stores.resolvedLocation.set(e.stores.location.get())}),t.hrefChanged&&Bn(e)}},[s,c,e]),null}var L=n();function or(){let e=ne(),t=e.routesById.__root__.options.pendingComponent??e.options.defaultPendingComponent,n=t?(0,L.jsx)(t,{}):null,r=(0,L.jsxs)(typeof document<`u`&&e.ssr?A:I.Suspense,{fallback:n,children:[(0,L.jsx)(ar,{}),(0,L.jsx)(sr,{})]});return e.options.InnerWrap?(0,L.jsx)(e.options.InnerWrap,{children:r}):r}function sr(){let e=ne(),t=O(e.stores.firstId,e=>e),n=O(e.stores.loadedAt,e=>e),r=t?(0,L.jsx)(fe,{matchId:t}):null;return(0,L.jsx)(oe.Provider,{value:t,children:e.options.disableGlobalCatchBoundary?r:(0,L.jsx)(ce,{getResetKey:()=>n,errorComponent:se,onCatch:void 0,children:r})})}var cr=e=>({createMutableStore:rr,createReadonlyStore:rr,batch:er}),lr=e=>new ur(e),ur=class extends ue{constructor(e){super(e,cr)}};function dr({router:e,children:t,...n}){Object.keys(n).length>0&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});let r=(0,L.jsx)(te.Provider,{value:e,children:t});return e.options.Wrap?(0,L.jsx)(e.options.Wrap,{children:r}):r}function fr({router:e,...t}){return(0,L.jsx)(dr,{router:e,...t,children:(0,L.jsx)(or,{})})}function pr(e){let t=ne(),n=(0,I.useRef)(void 0);return O(t.stores.location,r=>{let i=e?.select?e.select(r):r;if(e?.structuralSharing??t.options.defaultStructuralSharing){let e=k(n.current,i);return n.current=e,e}return i})}function mr({tag:e,attrs:t,children:n,nonce:r}){switch(e){case`title`:return(0,L.jsx)(`title`,{...t,suppressHydrationWarning:!0,children:n});case`meta`:return(0,L.jsx)(`meta`,{...t,suppressHydrationWarning:!0});case`link`:return(0,L.jsx)(`link`,{...t,nonce:r,suppressHydrationWarning:!0});case`style`:return(0,L.jsx)(`style`,{...t,dangerouslySetInnerHTML:{__html:n},nonce:r});case`script`:return(0,L.jsx)(hr,{attrs:t,children:n});default:return null}}function hr({attrs:e,children:t}){ne();let n=ae(),r=typeof e?.type==`string`&&e.type!==``&&e.type!==`text/javascript`&&e.type!==`module`;if(I.useEffect(()=>{if(!r){if(e?.src){let t=(()=>{try{let t=document.baseURI||window.location.href;return new URL(e.src,t).href}catch{return e.src}})();if(Array.from(document.querySelectorAll(`script[src]`)).find(e=>e.src===t))return;let n=document.createElement(`script`);for(let[t,r]of Object.entries(e))t!==`suppressHydrationWarning`&&r!==void 0&&r!==!1&&n.setAttribute(t,typeof r==`boolean`?``:String(r));return document.head.appendChild(n),()=>{n.parentNode&&n.parentNode.removeChild(n)}}if(typeof t==`string`){let n=typeof e?.type==`string`?e.type:`text/javascript`,r=typeof e?.nonce==`string`?e.nonce:void 0;if(Array.from(document.querySelectorAll(`script:not([src])`)).find(e=>{if(!(e instanceof HTMLScriptElement))return!1;let i=e.getAttribute(`type`)??`text/javascript`,a=e.getAttribute(`nonce`)??void 0;return e.textContent===t&&i===n&&a===r}))return;let i=document.createElement(`script`);if(i.textContent=t,e)for(let[t,n]of Object.entries(e))t!==`suppressHydrationWarning`&&n!==void 0&&n!==!1&&i.setAttribute(t,typeof n==`boolean`?``:String(n));return document.head.appendChild(i),()=>{i.parentNode&&i.parentNode.removeChild(i)}}}},[e,t,r]),r&&typeof t==`string`)return(0,L.jsx)(`script`,{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:t}});if(!n){if(e?.src)return(0,L.jsx)(`script`,{...e,suppressHydrationWarning:!0});if(typeof t==`string`)return(0,L.jsx)(`script`,{...e,dangerouslySetInnerHTML:{__html:t},suppressHydrationWarning:!0})}return null}var gr=e=>{let t=ne(),n=t.options.ssr?.nonce,r=O(t.stores.matches,e=>e.map(e=>e.meta).filter(Boolean),ie),i=I.useMemo(()=>{let e=[],t={},i;for(let a=r.length-1;a>=0;a--){let o=r[a];for(let r=o.length-1;r>=0;r--){let a=o[r];if(a)if(a.title)i||={tag:`title`,children:a.title};else if(`script:ld+json`in a)try{let t=JSON.stringify(a[`script:ld+json`]);e.push({tag:`script`,attrs:{type:`application/ld+json`},children:re(t)})}catch{}else{let r=a.name??a.property;if(r){if(t[r])continue;t[r]=!0}e.push({tag:`meta`,attrs:{...a,nonce:n}})}}}return i&&e.push(i),n&&e.push({tag:`meta`,attrs:{property:`csp-nonce`,content:n}}),e.reverse(),e},[r,n]),a=O(t.stores.matches,r=>{let i=r.map(e=>e.links).filter(Boolean).flat(1).map(e=>({tag:`link`,attrs:{...e,nonce:n}})),a=t.ssr?.manifest,o=r.map(e=>a?.routes[e.routeId]?.assets??[]).filter(Boolean).flat(1).filter(e=>e.tag===`link`).map(t=>({tag:`link`,attrs:{...t.attrs,crossOrigin:Rn(e,`stylesheet`)??t.attrs?.crossOrigin,suppressHydrationWarning:!0,nonce:n}}));return[...i,...o]},ie),o=O(t.stores.matches,r=>{let i=[];return r.map(e=>t.looseRoutesById[e.routeId]).forEach(r=>t.ssr?.manifest?.routes[r.id]?.preloads?.filter(Boolean).forEach(t=>{let r=zn(t);i.push({tag:`link`,attrs:{rel:`modulepreload`,href:r.href,crossOrigin:Rn(e,`modulepreload`)??r.crossOrigin,nonce:n}})})),i},ie),s=O(t.stores.matches,e=>e.map(e=>e.styles).flat(1).filter(Boolean).map(({children:e,...t})=>({tag:`style`,attrs:{...t,nonce:n},children:e})),ie),c=O(t.stores.matches,e=>e.map(e=>e.headScripts).flat(1).filter(Boolean).map(({children:e,...t})=>({tag:`script`,attrs:{...t,nonce:n},children:e})),ie);return _r([...i,...o,...a,...s,...c],e=>JSON.stringify(e))};function _r(e,t){let n=new Set;return e.filter(e=>{let r=t(e);return n.has(r)?!1:(n.add(r),!0)})}function vr(e){let t=gr(e.assetCrossOrigin),n=ne().options.ssr?.nonce;return(0,L.jsx)(L.Fragment,{children:t.map(e=>(0,I.createElement)(mr,{...e,key:`tsr-meta-${JSON.stringify(e)}`,nonce:n}))})}var yr=t((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,D());else{var t=n(l);t!==null&&re(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-Tt&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&re(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?D():S=!1}}}var D;if(typeof y==`function`)D=function(){y(ee)};else if(typeof MessageChannel<`u`){var te=new MessageChannel,ne=te.port2;te.port1.onmessage=ee,D=function(){ne.postMessage(null)}}else D=function(){_(ee,0)};function re(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,re(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,D()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),br=t(((e,t)=>{t.exports=yr()})),xr=t((e=>{var t=br(),n=r(),i=_e();function a(e){var t=`https://react.dev/errors/`+e;if(1ce||(e.current=se[ce],se[ce]=null,ce--)}function A(e,t){ce++,se[ce]=e.current,e.current=t}var de=le(null),fe=le(null),pe=le(null),me=le(null);function j(e,t){switch(A(pe,t),A(fe,e),A(de,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}ue(de),A(de,e)}function he(){ue(de),ue(fe),ue(pe)}function M(e){e.memoizedState!==null&&A(me,e);var t=de.current,n=Hd(t,e.type);t!==n&&(A(fe,e),A(de,n))}function ge(e){fe.current===e&&(ue(de),ue(fe)),me.current===e&&(ue(me),Qf._currentValue=oe)}var N,ve;function ye(e){if(N===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);N=t&&t[1]||``,ve=-1)`:-1i||c[r]!==l[i]){var u=` -`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{ye=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?ve(n):``}function xe(e,t){switch(e.tag){case 26:case 27:case 5:return ve(e.type);case 16:return ve(`Lazy`);case 13:return e.child!==t&&t!==null?ve(`Suspense Fallback`):ve(`Suspense`);case 19:return ve(`SuspenseList`);case 0:case 15:return be(e.type,!1);case 11:return be(e.type.render,!1);case 1:return be(e.type,!0);case 31:return ve(`Activity`);default:return``}}function Se(e){try{var t=``,n=null;do t+=xe(e,n),n=e,e=e.return;while(e);return t}catch(e){return` +`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{be=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?ye(n):``}function Se(e,t){switch(e.tag){case 26:case 27:case 5:return ye(e.type);case 16:return ye(`Lazy`);case 13:return e.child!==t&&t!==null?ye(`Suspense Fallback`):ye(`Suspense`);case 19:return ye(`SuspenseList`);case 0:case 15:return xe(e.type,!1);case 11:return xe(e.type.render,!1);case 1:return xe(e.type,!0);case 31:return ye(`Activity`);default:return``}}function Ce(e){try{var t=``,n=null;do t+=Se(e,n),n=e,e=e.return;while(e);return t}catch(e){return` Error generating stack: `+e.message+` -`+e.stack}}var Ce=Object.prototype.hasOwnProperty,we=t.unstable_scheduleCallback,Te=t.unstable_cancelCallback,Ee=t.unstable_shouldYield,F=t.unstable_requestPaint,De=t.unstable_now,Oe=t.unstable_getCurrentPriorityLevel,ke=t.unstable_ImmediatePriority,Ae=t.unstable_UserBlockingPriority,je=t.unstable_NormalPriority,Me=t.unstable_LowPriority,Ne=t.unstable_IdlePriority,Pe=t.log,Fe=t.unstable_setDisableYieldValue,Ie=null,Le=null;function Re(e){if(typeof Pe==`function`&&Fe(e),Le&&typeof Le.setStrictMode==`function`)try{Le.setStrictMode(Ie,e)}catch{}}var ze=Math.clz32?Math.clz32:He,Be=Math.log,Ve=Math.LN2;function He(e){return e>>>=0,e===0?32:31-(Be(e)/Ve|0)|0}var Ue=256,We=262144,Ge=4194304;function Ke(e){var t=e&42;if(t!==0)return t;switch(e&-e){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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function qe(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=Ke(n))):i=Ke(o):i=Ke(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Ke(n))):i=Ke(o)):i=Ke(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function Je(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ye(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32: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 t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Xe(){var e=Ge;return Ge<<=1,!(Ge&62914560)&&(Ge=4194304),e}function Ze(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Qe(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function $e(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),fn=!1;if(dn)try{var pn={};Object.defineProperty(pn,`passive`,{get:function(){fn=!0}}),window.addEventListener(`test`,pn,pn),window.removeEventListener(`test`,pn,pn)}catch{fn=!1}var mn=null,hn=null,gn=null;function _n(){if(gn)return gn;var e,t=hn,n=t.length,r,i=`value`in mn?mn.value:mn.textContent,a=i.length;for(e=0;e=Yn),Qn=` `,$n=!1;function er(e,t){switch(e){case`keyup`:return qn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function I(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var tr=!1;function L(e,t){switch(e){case`compositionend`:return I(t);case`keypress`:return t.which===32?($n=!0,Qn):null;case`textInput`:return e=t.data,e===Qn&&$n?null:e;default:return null}}function nr(e,t){if(tr)return e===`compositionend`||!Jn&&er(e,t)?(e=_n(),gn=hn=mn=null,tr=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=wr(n)}}function Er(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Er(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Dr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Rt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Rt(e.document)}return t}function Or(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var kr=dn&&`documentMode`in document&&11>=document.documentMode,Ar=null,jr=null,Mr=null,Nr=!1;function Pr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Nr||Ar==null||Ar!==Rt(r)||(r=Ar,`selectionStart`in r&&Or(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Mr&&Cr(Mr,r)||(Mr=r,r=Ed(jr,`onSelect`),0>=o,i-=o,Ti=1<<32-ze(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),V&&Di(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),V&&Di(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return V&&Di(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),V&&Di(i,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===_&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case h:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===_){if(r.tag===7){n(e,r.sibling),c=i(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===E&&Ea(l)===r.type){n(e,r.sibling),c=i(r,o.props),Na(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===_?(c=fi(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=di(o.type,o.key,o.props,null,e.mode,c),Na(c,o),c.return=e,e=c)}return s(e);case g:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=i(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=hi(o,e.mode,c),c.return=e,e=c}return s(e);case E:return o=Ea(o),b(e,r,o,c)}if(ie(o))return v(e,r,o,c);if(O(o)){if(l=O(o),typeof l!=`function`)throw Error(a(150));return o=l.call(o),y(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,Ma(o),c);if(o.$$typeof===x)return b(e,r,ea(e,o),c);Pa(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,o),c.return=e,e=c):(n(e,r),c=pi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{ja=0;var i=b(e,t,n,r);return Aa=null,i}catch(t){if(t===ba||t===Sa)throw t;var a=si(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Ia=Fa(!0),La=Fa(!1),Ra=!1;function za(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ba(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Va(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ha(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,K&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=ai(e),ii(e,null,n),t}return ti(e,r,t,n),ai(e)}function Ua(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,tt(e,n)}}function Wa(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ga=!1;function Ka(){if(Ga){var e=da;if(e!==null)throw e}}function qa(e,t,n,r){Ga=!1;var i=e.updateQueue;Ra=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,m=f!==s.lane;if(m?(Y&f)===f:(r&f)===f){f!==0&&f===ua&&(Ga=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=p({},d,f);break a;case 2:Ra=!0}}f=s.callback,f!==null&&(e.flags|=64,m&&(e.flags|=8192),m=i.callbacks,m===null?i.callbacks=[f]:m.push(f))}else m={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=m,c=d):u=u.next=m,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;m=s,s=m.next,m.next=null,i.lastBaseUpdate=m,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Gl|=o,e.lanes=o,e.memoizedState=d}}function Ja(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function Ya(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=k.T,s={};k.T=s,Ns(e,!1,t,n);try{var c=i(),l=k.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Ms(e,t,ma(c,r),pu(e)):Ms(e,t,r,pu(e))}catch(n){Ms(e,t,{then:function(){},status:`rejected`,reason:n},pu())}finally{A.p=a,o!==null&&s.types!==null&&(o.types=s.types),k.T=o}}function Ss(){}function Cs(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=ws(e).queue;xs(e,i,t,ae,n===null?Ss:function(){return Ts(e),n(r)})}function ws(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ae,baseState:ae,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Po,lastRenderedState:ae},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Po,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Ts(e){var t=ws(e);t.next===null&&(t=e.alternate.memoizedState),Ms(e,t.next.queue,{},pu())}function Es(){return $i(Qf)}function Ds(){return ko().memoizedState}function Os(){return ko().memoizedState}function ks(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=pu();e=Va(n);var r=Ha(t,e,n);r!==null&&(hu(r,t,n),Ua(r,t,n)),t={cache:oa()},e.payload=t;return}t=t.return}}function As(e,t,n){var r=pu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Ps(e)?Fs(t,n):(n=ni(e,t,n,r),n!==null&&(hu(n,e,r),Is(n,t,r)))}function js(e,t,n){Ms(e,t,n,pu())}function Ms(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ps(e))Fs(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Sr(s,o))return ti(e,t,i,0),q===null&&ei(),!1}catch{}if(n=ni(e,t,i,r),n!==null)return hu(n,e,r),Is(n,t,r),!0}return!1}function Ns(e,t,n,r){if(r={lane:2,revertLane:dd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Ps(e)){if(t)throw Error(a(479))}else t=ni(e,n,r,2),t!==null&&hu(t,e,2)}function Ps(e){var t=e.alternate;return e===U||t!==null&&t===U}function Fs(e,t){po=fo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Is(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,tt(e,n)}}var Ls={readContext:$i,use:Mo,useCallback:yo,useContext:yo,useEffect:yo,useImperativeHandle:yo,useLayoutEffect:yo,useInsertionEffect:yo,useMemo:yo,useReducer:yo,useRef:yo,useState:yo,useDebugValue:yo,useDeferredValue:yo,useTransition:yo,useSyncExternalStore:yo,useId:yo,useHostTransitionStatus:yo,useFormState:yo,useActionState:yo,useOptimistic:yo,useMemoCache:yo,useCacheRefresh:yo};Ls.useEffectEvent=yo;var Rs={readContext:$i,use:Mo,useCallback:function(e,t){return Oo().memoizedState=[e,t===void 0?null:t],e},useContext:$i,useEffect:cs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),os(4194308,4,ms.bind(null,t,e),n)},useLayoutEffect:function(e,t){return os(4194308,4,e,t)},useInsertionEffect:function(e,t){os(4,2,e,t)},useMemo:function(e,t){var n=Oo();t=t===void 0?null:t;var r=e();if(mo){Re(!0);try{e()}finally{Re(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Oo();if(n!==void 0){var i=n(t);if(mo){Re(!0);try{n(t)}finally{Re(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=As.bind(null,U,e),[r.memoizedState,e]},useRef:function(e){var t=Oo();return e={current:e},t.memoizedState=e},useState:function(e){e=Wo(e);var t=e.queue,n=js.bind(null,U,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:gs,useDeferredValue:function(e,t){return ys(Oo(),e,t)},useTransition:function(){var e=Wo(!1);return e=xs.bind(null,U,e.queue,!0,!1),Oo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=U,i=Oo();if(V){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),q===null)throw Error(a(349));Y&127||zo(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,cs(Vo.bind(null,r,o,e),[e]),r.flags|=2048,is(9,{destroy:void 0},Bo.bind(null,r,o,n,t),null),n},useId:function(){var e=Oo(),t=q.identifierPrefix;if(V){var n=Ei,r=Ti;n=(r&~(1<<32-ze(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=ho++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(i,{is:r.is}):s.createElement(i)}}o[ct]=t,o[lt]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Pd(o,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Mc(t)}}return G(t),Nc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Mc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=fe.current,zi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=Mi,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[ct]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Md(e.nodeValue,n)),e||Ii(t,!0)}else e=Bd(e).createTextNode(r),e[ct]=t,t.stateNode=e}return G(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=zi(t),n!==null){if(e===null){if(!r)throw Error(a(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(557));e[ct]=t}else Bi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;G(t),e=!1}else n=Vi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(oo(t),t):(oo(t),null);if(t.flags&128)throw Error(a(558))}return G(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=zi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(a(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(a(317));i[ct]=t}else Bi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;G(t),i=!1}else i=Vi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(oo(t),t):(oo(t),null)}return oo(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Fc(t,t.updateQueue),G(t),null);case 4:return me(),e===null&&Sd(t.stateNode.containerInfo),G(t),null;case 10:return qi(t.type),G(t),null;case 19:if(le(so),r=t.memoizedState,r===null)return G(t),null;if(i=(t.flags&128)!=0,o=r.rendering,o===null)if(i)Ic(r,!1);else{if(Wl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=co(e),o!==null){for(t.flags|=128,Ic(r,!1),e=o.updateQueue,t.updateQueue=e,Fc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)ui(n,e),n=n.sibling;return j(so,so.current&1|2),V&&Di(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&De()>tu&&(t.flags|=128,i=!0,Ic(r,!1),t.lanes=4194304)}else{if(!i)if(e=co(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Fc(t,e),Ic(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!V)return G(t),null}else 2*De()-r.renderingStartTime>tu&&n!==536870912&&(t.flags|=128,i=!0,Ic(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(G(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=De(),e.sibling=null,n=so.current,j(so,i?n&1|2:n&1),V&&Di(t,r.treeForkCount),e);case 22:case 23:return oo(t),H(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(G(t),t.subtreeFlags&6&&(t.flags|=8192)):G(t),n=t.updateQueue,n!==null&&Fc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&le(ga),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),qi(aa),G(t),null;case 25:return null;case 30:return null}throw Error(a(156,t.tag))}function Rc(e,t){switch(Ai(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return qi(aa),me(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return he(t),null;case 31:if(t.memoizedState!==null){if(oo(t),t.alternate===null)throw Error(a(340));Bi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(oo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));Bi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return le(so),null;case 4:return me(),null;case 10:return qi(t.type),null;case 22:case 23:return oo(t),H(),e!==null&&le(ga),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return qi(aa),null;case 25:return null;default:return null}}function zc(e,t){switch(Ai(t),t.tag){case 3:qi(aa),me();break;case 26:case 27:case 5:he(t);break;case 4:me();break;case 31:t.memoizedState!==null&&oo(t);break;case 13:oo(t);break;case 19:le(so);break;case 10:qi(t.type);break;case 22:case 23:oo(t),H(),e!==null&&le(ga);break;case 24:qi(aa)}}function Bc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Z(t,t.return,e)}}function Vc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Z(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Z(t,t.return,e)}}function Hc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Ya(t,n)}catch(t){Z(e,e.return,t)}}}function Uc(e,t,n){n.props=Gs(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Z(e,t,n)}}function Wc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Z(e,t,n)}}function Gc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Z(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Z(e,t,n)}else n.current=null}function Kc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Z(e,e.return,t)}}function qc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[lt]=t}catch(t){Z(e,e.return,t)}}function Jc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function Yc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Jc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Zd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Xc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=tn));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Xc(e,t,n),e=e.sibling;e!==null;)Xc(e,t,n),e=e.sibling}function Zc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Zc(e,t,n),e=e.sibling;e!==null;)Zc(e,t,n),e=e.sibling}function Qc(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Pd(t,r,n),t[ct]=e,t[lt]=n}catch(t){Z(e,e.return,t)}}var $c=!1,el=!1,tl=!1,nl=typeof WeakSet==`function`?WeakSet:Set,rl=null;function il(e,t){if(e=e.containerInfo,Rd=sp,e=Dr(e),Or(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(c=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===i&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(zd={focusedElem:e,selectionRange:n},sp=!1,rl=t;rl!==null;)if(t=rl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,rl=e;else for(;rl!==null;){switch(t=rl,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n title`))),Pd(o,r,n),o[ct]=e,xt(o),r=o;break a;case`link`:var s=Vf(`link`,`href`,i).get(r+(n.href||``));if(s){for(var c=0;cg&&(o=g,g=h,h=o);var _=Tr(s,h),v=Tr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,k.T=null,n=lu,lu=null;var o=au,s=su;if(iu=0,ou=au=null,su=0,K&6)throw Error(a(331));var c=K;if(K|=4,Pl(o.current),El(o,o.current,s,n),K=c,id(0,!1),Le&&typeof Le.onPostCommitFiberRoot==`function`)try{Le.onPostCommitFiberRoot(Ie,o)}catch{}return!0}finally{A.p=i,k.T=r,Vu(e,t)}}function Wu(e,t,n){t=_i(n,t),t=Zs(e.stateNode,t,2),e=Ha(e,t,2),e!==null&&(Qe(e,2),rd(e))}function Z(e,t,n){if(e.tag===3)Wu(e,e,n);else for(;t!==null;){if(t.tag===3){Wu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(ru===null||!ru.has(r))){e=_i(n,e),n=Qs(2),r=Ha(t,n,2),r!==null&&($s(n,r,t,e),Qe(r,2),rd(r));break}}t=t.return}}function Gu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Rl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Hl=!0,i.add(n),e=Ku.bind(null,e,t,n),t.then(e,e))}function Ku(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,q===e&&(Y&n)===n&&(Wl===4||Wl===3&&(Y&62914560)===Y&&300>De()-$l?!(K&2)&&Su(e,0):ql|=n,Yl===Y&&(Yl=0)),rd(e)}function qu(e,t){t===0&&(t=Xe()),e=ri(e,t),e!==null&&(Qe(e,t),rd(e))}function Ju(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),qu(e,n)}function Yu(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(a(314))}r!==null&&r.delete(t),qu(e,n)}function Xu(e,t){return we(e,t)}var Zu=null,Qu=null,$u=!1,ed=!1,td=!1,nd=0;function rd(e){e!==Qu&&e.next===null&&(Qu===null?Zu=Qu=e:Qu=Qu.next=e),ed=!0,$u||($u=!0,ud())}function id(e,t){if(!td&&ed){td=!0;do for(var n=!1,r=Zu;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-ze(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,ld(r,a))}else a=Y,a=qe(r,r===q?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||Je(r,a)||(n=!0,ld(r,a));r=r.next}while(n);td=!1}}function ad(){od()}function od(){ed=$u=!1;var e=0;nd!==0&&Gd()&&(e=nd);for(var t=De(),n=null,r=Zu;r!==null;){var i=r.next,a=sd(r,t);a===0?(r.next=null,n===null?Zu=i:n.next=i,i===null&&(Qu=n)):(n=r,(e!==0||a&3)&&(ed=!0)),r=i}iu!==0&&iu!==5||id(e,!1),nd!==0&&(nd=0)}function sd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&Id(d)&&(c=c.responseEnd,o+=u*(c`u`?null:document;function xf(e,t,n){var r=bf;if(r&&typeof t==`string`&&t){var i=Bt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),hf.has(i)||(hf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Pd(t,`link`,e),xt(t),r.head.appendChild(t)))}}function Sf(e){_f.D(e),xf(`dns-prefetch`,e,null)}function Cf(e,t){_f.C(e,t),xf(`preconnect`,e,t)}function wf(e,t,n){_f.L(e,t,n);var r=bf;if(r&&e&&t){var i=`link[rel="preload"][as="`+Bt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Bt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Bt(n.imageSizes)+`"]`)):i+=`[href="`+Bt(e)+`"]`;var a=i;switch(t){case`style`:a=Af(e);break;case`script`:a=Pf(e)}mf.has(a)||(e=p({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(jf(a))||t===`script`&&r.querySelector(Ff(a))||(t=r.createElement(`link`),Pd(t,`link`,e),xt(t),r.head.appendChild(t)))}}function Tf(e,t){_f.m(e,t);var n=bf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Bt(r)+`"][href="`+Bt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Pf(e)}if(!mf.has(a)&&(e=p({rel:`modulepreload`,href:e},t),mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Ff(a)))return}r=n.createElement(`link`),Pd(r,`link`,e),xt(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=bt(r).hoistableStyles,a=Af(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(jf(a)))s.loading=5;else{e=p({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=mf.get(a))&&Rf(e,n);var c=o=r.createElement(`link`);xt(c),Pd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Lf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Df(e,t){_f.X(e,t);var n=bf;if(n&&e){var r=bt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=p({src:e,async:!0},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),xt(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Of(e,t){_f.M(e,t);var n=bf;if(n&&e){var r=bt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=p({src:e,async:!0,type:`module`},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),xt(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t,n,r){var i=(i=fe.current)?gf(i):null;if(!i)throw Error(a(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Af(n.href),n=bt(i).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Af(n.href);var o=bt(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(jf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),mf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},mf.set(e,n),o||Nf(i,e,n,s.state))),t&&r===null)throw Error(a(528,``));return s}if(t&&r!==null)throw Error(a(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Pf(n),n=bt(i).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(a(444,e))}}function Af(e){return`href="`+Bt(e)+`"`}function jf(e){return`link[rel="stylesheet"][`+e+`]`}function Mf(e){return p({},e,{"data-precedence":e.precedence,precedence:null})}function Nf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Pd(t,`link`,n),xt(t),e.head.appendChild(t))}function Pf(e){return`[src="`+Bt(e)+`"]`}function Ff(e){return`script[async]`+e}function If(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Bt(n.href)+`"]`);if(r)return t.instance=r,xt(r),r;var i=p({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),xt(r),Pd(r,`style`,i),Lf(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Af(n.href);var o=e.querySelector(jf(i));if(o)return t.state.loading|=4,t.instance=o,xt(o),o;r=Mf(n),(i=mf.get(i))&&Rf(r,i),o=(e.ownerDocument||e).createElement(`link`),xt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Pd(o,`link`,r),t.state.loading|=4,Lf(o,n.precedence,e),t.instance=o;case`script`:return o=Pf(n.src),(i=e.querySelector(Ff(o)))?(t.instance=i,xt(i),i):(r=n,(i=mf.get(o))&&(r=p({},n),zf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),xt(i),Pd(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(a(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Lf(r,n.precedence,e));return t.instance}function Lf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function Uf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Wf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Gf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Af(r.href),a=t.querySelector(jf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Jf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,xt(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),xt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Jf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Kf=0;function qf(e,t){return e.stylesheets&&e.count===0&&Xf(e,e.stylesheets),0Kf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yf=null;function Xf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yf=new Map,t.forEach(Zf,e),Yf=null,Jf.call(e))}function Zf(e,t){if(!(t.state.loading&4)){var n=Yf.get(e);if(n)var r=n.get(null);else{n=new Map,Yf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=_r()}))(),1),R=i(),yr=(0,I.createContext)(void 0);function br(e,t){try{let t=localStorage.getItem(e);if(t===`light`||t===`dark`||t===`system`)return t}catch{}return t}function xr(e){let t=(0,R.c)(14),{children:n,defaultTheme:r,storageKey:i}=e,a=r===void 0?`dark`:r,o=i===void 0?`ui-theme`:i,s;t[0]!==a||t[1]!==o?(s=()=>br(o,a),t[0]=a,t[1]=o,t[2]=s):s=t[2];let[c,l]=(0,I.useState)(s),u,d;t[3]===c?(u=t[4],d=t[5]):(u=()=>{let e=window.document.documentElement;if(e.classList.remove(`light`,`dark`),c===`system`){let t=window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`;e.classList.add(t);return}e.classList.add(c)},d=[c],t[3]=c,t[4]=u,t[5]=d),(0,I.useEffect)(u,d);let f;t[6]===o?f=t[7]:(f=e=>{try{localStorage.setItem(o,e)}catch{}l(e)},t[6]=o,t[7]=f);let p;t[8]!==f||t[9]!==c?(p={theme:c,setTheme:f},t[8]=f,t[9]=c,t[10]=p):p=t[10];let m=p,h;return t[11]!==n||t[12]!==m?(h=(0,L.jsx)(yr.Provider,{value:m,children:n}),t[11]=n,t[12]=m,t[13]=h):h=t[13],h}function Sr(){let e=(0,I.useContext)(yr);if(e===void 0)throw Error(`useTheme must be used within a ThemeProvider`);return e}var Cr=ke(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),wr=ke(`book-open`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}]]),Tr=ke(`circle-alert`,[[`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`}]]),Er=ke(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]]),Dr=ke(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),Or=ke(`layers`,[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`,key:`zw3jo`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,key:`1wduqc`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,key:`kqbvx6`}]]),kr=ke(`layout-grid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),Ar=ke(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),jr=ke(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),Mr=ke(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),Nr=ke(`shield-check`,[[`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`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Pr=ke(`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`}]]),Fr=ke(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]);function Ir(e,t){return t!=null&&!St(t)?0:typeof e==`function`?e():e}function Lr(e,t,n){let r=Ir(e,n);return typeof r==`number`?r:r?.[t]}function Rr(e){return typeof e==`function`?e():e}function zr(e,t){return t||e===`click`||e===`mousedown`}var Br=I.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new wt,currentIdRef:{current:null},currentContextRef:{current:null}});function Vr(e){let{children:t,delay:n,timeoutMs:r=0}=e,i=I.useRef(n),a=I.useRef(n),o=I.useRef(null),s=I.useRef(null),c=yt();return(0,L.jsx)(Br.Provider,{value:I.useMemo(()=>({hasProvider:!0,delayRef:i,initialDelayRef:a,currentIdRef:o,timeoutMs:r,currentContextRef:s,timeout:c}),[r,c]),children:t})}function Hr(e,t={open:!1}){let n=`rootStore`in e?e.rootStore:e,r=n.useState(`floatingId`),{open:i}=t,{currentIdRef:a,delayRef:o,timeoutMs:s,initialDelayRef:c,currentContextRef:l,hasProvider:u,timeout:d}=I.useContext(Br),[f,p]=I.useState(!1);return Ve(()=>{function e(){p(!1),l.current?.setIsInstantPhase(!1),a.current=null,l.current=null,o.current=c.current}if(a.current&&!i&&a.current===r){if(p(!1),s){let t=r;return d.start(s,()=>{n.select(`open`)||a.current&&a.current!==t||e()}),()=>{d.clear()}}e()}},[i,r,a,o,s,c,l,d,n]),Ve(()=>{if(!i)return;let e=l.current,t=a.current;d.clear(),l.current={onOpenChange:n.setOpen,setIsInstantPhase:p},a.current=r,o.current={open:0,close:Lr(c.current,`close`)},t!==null&&t!==r?(p(!0),e?.setIsInstantPhase(!0),e?.onOpenChange(!1,ot(st))):(p(!1),e?.setIsInstantPhase(!1))},[i,r,n,a,o,s,c,l,d]),Ve(()=>()=>{l.current=null},[l]),I.useMemo(()=>({hasProvider:u,delayRef:o,isInstantPhase:f}),[u,o,f])}function Ur(e,t){let n=null,r=null,i=!1;return{contextElement:e||void 0,getBoundingClientRect(){let a=e?.getBoundingClientRect()||{width:0,height:0,x:0,y:0},o=t.axis===`x`||t.axis===`both`,s=t.axis===`y`||t.axis===`both`,c=[`mouseenter`,`mousemove`].includes(t.dataRef.current.openEvent?.type||``)&&t.pointerType!==`touch`,l=a.width,u=a.height,d=a.x,f=a.y;return n==null&&t.x&&o&&(n=a.x-t.x),r==null&&t.y&&s&&(r=a.y-t.y),d-=n||0,f-=r||0,l=0,u=0,!i||c?(l=t.axis===`y`?a.width:0,u=t.axis===`x`?a.height:0,d=o&&t.x!=null?t.x:d,f=s&&t.y!=null?t.y:f):i&&!c&&(u=t.axis===`x`?a.height:u,l=t.axis===`y`?a.width:l),i=!0,{width:l,height:u,x:d,y:f,top:f,right:d+l,bottom:f+u,left:d}}}}function Wr(e){return e!=null&&e.clientX!=null}function Gr(e,t={}){let n=`rootStore`in e?e.rootStore:e,r=n.useState(`open`),i=n.useState(`floatingElement`),a=n.useState(`domReferenceElement`),o=n.context.dataRef,{enabled:s=!0,axis:c=`both`}=t,l=I.useRef(!1),u=I.useRef(null),[d,f]=I.useState(),[p,m]=I.useState([]),h=Ue((e,t,r)=>{l.current||o.current.openEvent&&!Wr(o.current.openEvent)||n.set(`positionReference`,Ur(r??a,{x:e,y:t,axis:c,dataRef:o,pointerType:d}))}),g=Ue(e=>{r?u.current||m([]):h(e.clientX,e.clientY,e.currentTarget)}),_=St(d)?i:r,v=I.useCallback(()=>{if(!_||!s)return;let e=Be(i);function t(n){et(i,lt(n))?(e.removeEventListener(`mousemove`,t),u.current=null):h(n.clientX,n.clientY)}if(!o.current.openEvent||Wr(o.current.openEvent)){e.addEventListener(`mousemove`,t);let n=()=>{e.removeEventListener(`mousemove`,t),u.current=null};return u.current=n,n}n.set(`positionReference`,a)},[_,s,i,o,a,n,h]);I.useEffect(()=>v(),[v,p]),I.useEffect(()=>{s&&!i&&(l.current=!1)},[s,i]),I.useEffect(()=>{!s&&r&&(l.current=!0)},[s,r]);let y=I.useMemo(()=>{function e(e){f(e.pointerType)}return{onPointerDown:e,onPointerEnter:e,onMouseMove:g,onMouseEnter:g}},[g]);return I.useMemo(()=>s?{reference:y,trigger:y}:{},[s,y])}var Kr=Je&&Xe;function qr(e,t={}){let n=`rootStore`in e?e.rootStore:e,{events:r,dataRef:i}=n.context,{enabled:a=!0,delay:o}=t,s=I.useRef(!1),c=I.useRef(null),l=yt(),u=I.useRef(!0);I.useEffect(()=>{let e=n.select(`domReferenceElement`);if(!a)return;let t=Be(e);function r(){let e=n.select(`domReferenceElement`);!n.select(`open`)&&Ge(e)&&e===nt(qe(e))&&(s.current=!0)}function i(){u.current=!0}function o(){u.current=!1}return t.addEventListener(`blur`,r),Kr&&(t.addEventListener(`keydown`,i,!0),t.addEventListener(`pointerdown`,o,!0)),()=>{t.removeEventListener(`blur`,r),Kr&&(t.removeEventListener(`keydown`,i,!0),t.removeEventListener(`pointerdown`,o,!0))}},[n,a]),I.useEffect(()=>{if(!a)return;function e(e){if(e.reason===`trigger-press`||e.reason===`escape-key`){let e=n.select(`domReferenceElement`);ze(e)&&(c.current=e,s.current=!0)}}return r.on(`openchange`,e),()=>{r.off(`openchange`,e)}},[r,a,n]);let d=I.useMemo(()=>({onMouseLeave(){s.current=!1,c.current=null},onFocus(e){let t=e.currentTarget;if(s.current){if(c.current===t)return;s.current=!1,c.current=null}let r=lt(e.nativeEvent);if(ze(r)){if(Kr&&!e.relatedTarget){if(!u.current&&!ct(r))return}else if(!Qe(r))return}let i=Ze(e.relatedTarget,n.context.triggerElements),{nativeEvent:a,currentTarget:d}=e,f=typeof o==`function`?o():o;if(n.select(`open`)&&i||f===0||f===void 0){n.setOpen(!0,ot(tt,a,d));return}l.start(f,()=>{s.current||n.setOpen(!0,ot(tt,a,d))})},onBlur(e){s.current=!1,c.current=null;let t=e.relatedTarget,r=e.nativeEvent,a=ze(t)&&t.hasAttribute(pt(`focus-guard`))&&t.getAttribute(`data-type`)===`outside`;l.start(0,()=>{let e=n.select(`domReferenceElement`),o=nt(e?e.ownerDocument:document);!t&&o===e||et(i.current.floatingContext?.refs.floating.current,o)||et(e,o)||a||Ze(t??o,n.context.triggerElements)||n.setOpen(!1,ot(tt,r))})}}),[i,n,l,o]);return I.useMemo(()=>a?{reference:d,trigger:d}:{},[a,d])}var Jr=`button,a,[role="button"],select,[tabindex]:not([tabindex="-1"]),${Ye}`;function Yr(e){return e?!!e.closest(Jr):!1}var Xr=class e{constructor(){this.pointerType=void 0,this.interactedInside=!1,this.handler=void 0,this.blockMouseMove=!0,this.performedPointerEventsMutation=!1,this.pointerEventsScopeElement=null,this.pointerEventsReferenceElement=null,this.pointerEventsFloatingElement=null,this.restTimeoutPending=!1,this.openChangeTimeout=new wt,this.restTimeout=new wt,this.handleCloseOptions=void 0}static create(){return new e}dispose=()=>{this.openChangeTimeout.clear(),this.restTimeout.clear()};disposeEffect=()=>this.dispose};function Zr(e){e.performedPointerEventsMutation&&(e.pointerEventsScopeElement?.style.removeProperty(`pointer-events`),e.pointerEventsReferenceElement?.style.removeProperty(`pointer-events`),e.pointerEventsFloatingElement?.style.removeProperty(`pointer-events`),e.performedPointerEventsMutation=!1,e.pointerEventsScopeElement=null,e.pointerEventsReferenceElement=null,e.pointerEventsFloatingElement=null)}function Qr(e,t){let{scopeElement:n,referenceElement:r,floatingElement:i}=t;Zr(e),e.performedPointerEventsMutation=!0,e.pointerEventsScopeElement=n,e.pointerEventsReferenceElement=r,e.pointerEventsFloatingElement=i,n.style.pointerEvents=`none`,r.style.pointerEvents=`auto`,i.style.pointerEvents=`auto`}function $r(e){let t=Se(Xr.create).current,n=e.context.dataRef.current;return n.hoverInteractionState||=t,dt(n.hoverInteractionState.disposeEffect),n.hoverInteractionState}function ei(e,t={}){let n=`rootStore`in e?e.rootStore:e,r=n.useState(`open`),i=n.useState(`floatingElement`),a=n.useState(`domReferenceElement`),{dataRef:o}=n.context,{enabled:s=!0,closeDelay:c=0}=t,l=$r(n),u=jt(),d=kt(),f=Ue(()=>zr(o.current.openEvent?.type,l.interactedInside)),p=Ue(()=>{let e=o.current.openEvent?.type;return e?.includes(`mouse`)&&e!==`mousedown`}),m=Ue(e=>Ze(e,n.context.triggerElements)),h=I.useCallback(e=>{let t=Lr(c,`close`,l.pointerType),r=()=>{n.setOpen(!1,ot(it,e)),u?.events.emit(`floating.closed`,e)};t?l.openChangeTimeout.start(t,r):(l.openChangeTimeout.clear(),r())},[c,n,l,u]),g=Ue(()=>{Zr(l)}),_=Ue(e=>{let t=lt(e);if(!Yr(t)){l.interactedInside=!1;return}l.interactedInside=t?.closest(`[aria-haspopup]`)!=null});Ve(()=>{r||(l.pointerType=void 0,l.restTimeoutPending=!1,l.interactedInside=!1,g())},[r,l,g]),I.useEffect(()=>g,[g]),Ve(()=>{if(s&&r&&l.handleCloseOptions?.blockPointerEvents&&p()&&ze(a)&&i){let e=a,t=i,n=qe(i),r=u?.nodesRef.current.find(e=>e.id===d)?.context?.elements.floating;return r&&(r.style.pointerEvents=``),Qr(l,{scopeElement:l.handleCloseOptions?.getScope?.()??l.pointerEventsScopeElement??r??e.closest(`[data-rootownerid]`)??n.body,referenceElement:e,floatingElement:t}),()=>{g()}}},[s,r,a,i,l,p,u,d,g]);let v=yt();I.useEffect(()=>{if(!s)return;function e(){l.openChangeTimeout.clear(),v.clear(),u?.events.off(`floating.closed`,r),g()}function t(e){if(u&&d&&Et(u.nodesRef.current,d).length>0){u.events.on(`floating.closed`,r);return}if(!m(e.relatedTarget)){if(l.handler){l.handler(e);return}g(),f()||h(e)}}function r(e){!u||!d||Et(u.nodesRef.current,d).length>0||v.start(0,()=>{u.events.off(`floating.closed`,r),n.setOpen(!1,ot(it,e)),u.events.emit(`floating.closed`,e)})}let a=i;return a&&(a.addEventListener(`mouseenter`,e),a.addEventListener(`mouseleave`,t),a.addEventListener(`pointerdown`,_,!0)),()=>{a&&(a.removeEventListener(`mouseenter`,e),a.removeEventListener(`mouseleave`,t),a.removeEventListener(`pointerdown`,_,!0)),u?.events.off(`floating.closed`,r)}},[s,i,n,o,f,m,h,g,_,l,u,d,v])}var ti=e(ge()),ni={current:null};function ri(e,t={}){let n=`rootStore`in e?e.rootStore:e,{dataRef:r,events:i}=n.context,{enabled:a=!0,delay:o=0,handleClose:s=null,mouseOnly:c=!1,restMs:l=0,move:u=!0,triggerElementRef:d=ni,externalTree:f,isActiveTrigger:p=!0,getHandleCloseContext:m}=t,h=jt(f),g=$r(n),_=mt(s),v=mt(o),y=mt(l),b=mt(a);p&&(g.handleCloseOptions=_.current?.__options);let x=Ue(()=>zr(r.current.openEvent?.type,g.interactedInside)),S=Ue(e=>Ze(e,n.context.triggerElements)),C=Ue((e,t,r)=>{let i=n.context.triggerElements;if(i.hasElement(t))return!e||!et(e,t);if(!ze(r))return!1;let a=r;return i.hasMatchingElement(e=>et(e,a))&&(!e||!et(e,a))}),w=I.useCallback((e,t=!0)=>{let r=Lr(v.current,`close`,g.pointerType);r?g.openChangeTimeout.start(r,()=>{n.setOpen(!1,ot(it,e)),h?.events.emit(`floating.closed`,e)}):t&&(g.openChangeTimeout.clear(),n.setOpen(!1,ot(it,e)),h?.events.emit(`floating.closed`,e))},[v,n,g,h]),T=Ue(()=>{g.handler&&=(qe(n.select(`domReferenceElement`)).removeEventListener(`mousemove`,g.handler),void 0)});I.useEffect(()=>T,[T]);let E=Ue(()=>{Zr(g)});return I.useEffect(()=>{if(!a)return;function e(e){e.open||(T(),g.openChangeTimeout.clear(),g.restTimeout.clear(),g.blockMouseMove=!0,g.restTimeoutPending=!1)}return i.on(`openchange`,e),()=>{i.off(`openchange`,e)}},[a,i,g,T]),I.useEffect(()=>{if(!a)return;let e=d.current??(p?n.select(`domReferenceElement`):null);if(!ze(e))return;function t(e){if(g.openChangeTimeout.clear(),g.blockMouseMove=!1,c&&!St(g.pointerType)||Rr(y.current)>0&&!Lr(v.current,`open`))return;let t=Lr(v.current,`open`,g.pointerType),r=e.currentTarget??null,i=n.select(`domReferenceElement`),a=r==null?!1:C(i,r,e.target),o=n.select(`open`),s=!o||a;a&&o?n.setOpen(!0,ot(it,e,r)):t?g.openChangeTimeout.start(t,()=>{s&&n.setOpen(!0,ot(it,e,r))}):s&&n.setOpen(!0,ot(it,e,r))}function i(e){if(x()){E();return}T();let t=qe(n.select(`domReferenceElement`));g.restTimeout.clear(),g.restTimeoutPending=!1;let i=r.current.floatingContext??m?.();if(!S(e.relatedTarget)){if(_.current&&i){n.select(`open`)||g.openChangeTimeout.clear();let r=d.current;g.handler=_.current({...i,tree:h,x:e.clientX,y:e.clientY,onClose(){E(),T(),b.current&&!x()&&r===n.select(`domReferenceElement`)&&w(e,!0)}}),t.addEventListener(`mousemove`,g.handler),g.handler(e);return}(g.pointerType!==`touch`||!et(n.select(`floatingElement`),e.relatedTarget))&&w(e)}}return u&&e.addEventListener(`mousemove`,t,{once:!0}),e.addEventListener(`mouseenter`,t),e.addEventListener(`mouseleave`,i),()=>{u&&e.removeEventListener(`mousemove`,t),e.removeEventListener(`mouseenter`,t),e.removeEventListener(`mouseleave`,i)}},[T,E,r,v,w,n,a,_,g,p,C,x,S,c,u,y,d,h,b,m]),I.useMemo(()=>{if(!a)return;function e(e){g.pointerType=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){let{nativeEvent:t}=e,r=e.currentTarget,i=n.select(`domReferenceElement`),a=n.select(`open`),o=C(i,r,e.target);if(c&&!St(g.pointerType))return;let s=Rr(y.current);if(a&&!o||s===0||!o&&g.restTimeoutPending&&e.movementX**2+e.movementY**2<2)return;g.restTimeout.clear();function l(){if(g.restTimeoutPending=!1,x())return;let e=n.select(`open`);!g.blockMouseMove&&(!e||o)&&n.setOpen(!0,ot(it,t,r))}g.pointerType===`touch`?ti.flushSync(()=>{l()}):o&&a?l():(g.restTimeoutPending=!0,g.restTimeout.start(s,l))}}},[a,g,x,C,c,n,y])}var ii=.1,ai=ii*ii,z=.5;function oi(e,t,n,r,i,a){return r>=t!=a>=t&&e<=(i-n)*(t-r)/(a-r)+n}function si(e,t,n,r,i,a,o,s,c,l){let u=!1;return oi(e,t,n,r,i,a)&&(u=!u),oi(e,t,i,a,o,s)&&(u=!u),oi(e,t,o,s,c,l)&&(u=!u),oi(e,t,c,l,n,r)&&(u=!u),u}function ci(e,t,n){return e>=n.x&&e<=n.x+n.width&&t>=n.y&&t<=n.y+n.height}function li(e,t,n,r,i,a){return e>=Math.min(n,i)&&e<=Math.max(n,i)&&t>=Math.min(r,a)&&t<=Math.max(r,a)}function ui(e={}){let{blockPointerEvents:t=!1}=e,n=new wt,r=({x:e,y:t,placement:r,elements:i,onClose:a,nodeId:o,tree:s})=>{let c=r?.split(`-`)[0],l=!1,u=null,d=null,f=typeof performance<`u`?performance.now():0;function p(e,t){let n=performance.now(),r=n-f;if(u===null||d===null||r===0)return u=e,d=t,f=n,!1;let i=e-u,a=t-d,o=i*i+a*a,s=r*r*ai;return u=e,d=t,f=n,o0)}function b(){y()||m()}if(y())return;let x=a.getBoundingClientRect(),S=u.getBoundingClientRect(),C=e>S.right-S.width/2,w=t>S.bottom-S.height/2,T=S.width>x.width,E=S.height>x.height,ee=(T?x:S).left,D=(T?x:S).right,te=(E?x:S).top,O=(E?x:S).bottom;if(c===`top`&&t>=x.bottom-1||c===`bottom`&&t<=x.top+1||c===`left`&&e>=x.right-1||c===`right`&&e<=x.left+1){b();return}let ne=!1;switch(c){case`top`:ne=li(d,f,ee,x.top+1,D,S.bottom-1);break;case`bottom`:ne=li(d,f,ee,S.top+1,D,x.bottom-1);break;case`left`:ne=li(d,f,S.right-1,O,x.left+1,te);break;case`right`:ne=li(d,f,x.right-1,O,S.left+1,te);break;default:}if(ne)return;if(l&&!ci(d,f,x)){b();return}if(!g&&p(d,f)){b();return}let re=!1;switch(c){case`top`:{let n=T?z/2:z*4,r=T||C?e+n:e-n,i=T?e-n:C?e+n:e-n,a=t+z+1,o=C||T?S.bottom-z:S.top,s=C?T?S.bottom-z:S.top:S.bottom-z;re=si(d,f,r,a,i,a,S.left,o,S.right,s);break}case`bottom`:{let n=T?z/2:z*4,r=T||C?e+n:e-n,i=T?e-n:C?e+n:e-n,a=t-z,o=C||T?S.top+z:S.bottom,s=C?T?S.top+z:S.bottom:S.top+z;re=si(d,f,r,a,i,a,S.left,o,S.right,s);break}case`left`:{let n=E?z/2:z*4,r=E||w?t+n:t-n,i=E?t-n:w?t+n:t-n,a=e+z+1,o=w||E?S.right-z:S.left,s=w?E?S.right-z:S.left:S.right-z;re=si(d,f,o,S.top,s,S.bottom,a,r,a,i);break}case`right`:{let n=E?z/2:z*4,r=E||w?t+n:t-n,i=E?t-n:w?t+n:t-n,a=e-z,o=w||E?S.left+z:S.right,s=w?E?S.left+z:S.right:S.left+z;re=si(d,f,a,r,a,i,o,S.top,s,S.bottom);break}default:}re?l||n.start(40,b):b()}};return r.__options={blockPointerEvents:t},r}function di(e){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:i,onOpenChangeComplete:a,disablePointerDismissal:o=!1,modal:s=!0,actionsRef:c,handle:l,triggerId:u,defaultTriggerId:d=null}=e,f=It(!0),p=!!f,m=Se(()=>l?.store??new Vt({open:r,openProp:n,activeTriggerId:d,triggerIdProp:u,modal:s,disablePointerDismissal:o,nested:p})).current;Jt(()=>{n===void 0&&m.state.open===!1&&r===!0&&m.update({open:!0,activeTriggerId:d})}),m.useControlledProp(`openProp`,n),m.useControlledProp(`triggerIdProp`,u),m.useSyncedValues({disablePointerDismissal:o,nested:p,modal:s}),m.useContextCallback(`onOpenChange`,i),m.useContextCallback(`onOpenChangeComplete`,a);let h=m.useState(`payload`);Wt({store:m,actionsRef:c,parentContext:f?.store.context,onOpenChange:i,triggerIdProp:u});let g=I.useMemo(()=>({store:m}),[m]);return(0,L.jsx)(Lt.Provider,{value:g,children:typeof t==`function`?t({payload:h}):t})}function fi(e){let t=(0,R.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,L.jsx)(di,{"data-slot":`sheet`,...n}),t[2]=n,t[3]=r),r}function pi(e){let t=(0,R.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,L.jsx)(Rt,{"data-slot":`sheet-portal`,...n}),t[2]=n,t[3]=r),r}function mi(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`data-closed:fade-out-0 data-open:fade-in-0 data-closed:animate-out data-open:animate-in fixed inset-0 z-50 bg-black/80 duration-100 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(Bt,{className:i,"data-slot":`sheet-overlay`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function hi(e){let t=(0,R.c)(17),n,r,i,a,o;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5]):({className:r,children:n,side:a,showCloseButton:o,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o);let s=a===void 0?`right`:a,c=o===void 0?!0:o,l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,L.jsx)(mi,{}),t[6]=l):l=t[6];let u;t[7]===r?u=t[8]:(u=F(`data-[side=right]:data-closed:slide-out-to-right-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=top]:data-closed:slide-out-to-top-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:fade-out-0 data-open:fade-in-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-closed:animate-out data-open:animate-in fixed z-50 flex flex-col bg-background bg-clip-padding text-xs/relaxed shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm`,r),t[7]=r,t[8]=u);let d;t[9]===c?d=t[10]:(d=c&&(0,L.jsxs)(Ut,{"data-slot":`sheet-close`,render:(0,L.jsx)(We,{className:`absolute top-4 right-4`,size:`icon-sm`,variant:`ghost`}),children:[(0,L.jsx)(Le,{}),(0,L.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),t[9]=c,t[10]=d);let f;return t[11]!==n||t[12]!==i||t[13]!==s||t[14]!==u||t[15]!==d?(f=(0,L.jsxs)(pi,{children:[l,(0,L.jsxs)(Mt,{className:u,"data-side":s,"data-slot":`sheet-content`,...i,children:[n,d]})]}),t[11]=n,t[12]=i,t[13]=s,t[14]=u,t[15]=d,t[16]=f):f=t[16],f}function gi(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`flex flex-col gap-1.5 p-6`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(`div`,{className:i,"data-slot":`sheet-header`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function _i(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`text-sm font-medium text-foreground`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(Kt,{className:i,"data-slot":`sheet-title`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function vi(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`text-xs/relaxed text-muted-foreground`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(Ft,{className:i,"data-slot":`sheet-description`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var yi=I.createContext(void 0);function bi(e){let t=I.useContext(yi);if(t===void 0&&!e)throw Error(ye(72));return t}var xi={...Nt,disabled:vt(e=>e.disabled),instantType:vt(e=>e.instantType),isInstantPhase:vt(e=>e.isInstantPhase),trackCursorAxis:vt(e=>e.trackCursorAxis),disableHoverablePopup:vt(e=>e.disableHoverablePopup),lastOpenChangeReason:vt(e=>e.openChangeReason),closeOnClick:vt(e=>e.closeOnClick),closeDelay:vt(e=>e.closeDelay),hasViewport:vt(e=>e.hasViewport)},Si=class e extends Ot{constructor(e){super({...Ci(),...e},{popupRef:I.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:new gt},xi)}setOpen=(e,t)=>{let n=t.reason,r=n===it,i=e&&n===`trigger-focus`,a=!e&&(n===`trigger-press`||n===`escape-key`);if(t.preventUnmountOnClose=()=>{this.set(`preventUnmountingOnClose`,!0)},this.context.onOpenChange?.(e,t),t.isCanceled)return;let o=()=>{let r={open:e,openChangeReason:n};i?r.instantType=`focus`:a?r.instantType=`dismiss`:n===`trigger-hover`&&(r.instantType=void 0);let o=t.trigger?.id??null;(o||e)&&(r.activeTriggerId=o,r.activeTriggerElement=t.trigger??null),this.update(r)};r?ti.flushSync(o):o()};static useStore(t,n){let r=Se(()=>new e(n)).current,i=t??r,a=Ht({popupStore:i,onOpenChange:i.setOpen});return i.state.floatingRootContext=a,i}};function Ci(){return{...Gt(),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:`none`,disableHoverablePopup:!1,openChangeReason:null,closeOnClick:!0,closeDelay:0,hasViewport:!1}}var wi=Tt(function(e){let{disabled:t=!1,defaultOpen:n=!1,open:r,disableHoverablePopup:i=!1,trackCursorAxis:a=`none`,actionsRef:o,onOpenChange:s,onOpenChangeComplete:c,handle:l,triggerId:u,defaultTriggerId:d=null,children:f}=e,p=Si.useStore(l?.store,{open:n,openProp:r,activeTriggerId:d,triggerIdProp:u});Jt(()=>{r===void 0&&p.state.open===!1&&n===!0&&p.update({open:!0,activeTriggerId:d})}),p.useControlledProp(`openProp`,r),p.useControlledProp(`triggerIdProp`,u),p.useContextCallback(`onOpenChange`,s),p.useContextCallback(`onOpenChangeComplete`,c);let m=p.useState(`open`),h=!t&&m,g=p.useState(`activeTriggerId`),_=p.useState(`payload`);p.useSyncedValues({trackCursorAxis:a,disableHoverablePopup:i}),Ve(()=>{m&&t&&p.setOpen(!1,ot(rt))},[m,t,p]),p.useSyncedValue(`disabled`,t),zt(p);let{forceUnmount:v,transitionStatus:y}=qt(h,p),b=p.useState(`isInstantPhase`),x=p.useState(`instantType`),S=p.useState(`lastOpenChangeReason`),C=I.useRef(null);Ve(()=>{y===`ending`&&S===`none`||y!==`ending`&&b?(x!==`delay`&&(C.current=x),p.set(`instantType`,`delay`)):C.current!==null&&(p.set(`instantType`,C.current),C.current=null)},[y,b,S,x,p]),Ve(()=>{h&&(g??p.set(`payload`,void 0))},[p,g,h]);let w=I.useCallback(()=>{p.setOpen(!1,Ti(p,at))},[p]);I.useImperativeHandle(o,()=>({unmount:v,close:w}),[v,w]);let T=p.useState(`floatingRootContext`),{getReferenceProps:E,getFloatingProps:ee,getTriggerProps:D}=Dt([_t(T,{enabled:!t,referencePress:()=>p.select(`closeOnClick`)}),Gr(T,{enabled:!t&&a!==`none`,axis:a===`none`?void 0:a})]),te=I.useMemo(()=>E(),[E]),O=I.useMemo(()=>D(),[D]),ne=I.useMemo(()=>ee(),[ee]);return p.useSyncedValues({activeTriggerProps:te,inactiveTriggerProps:O,popupProps:ne}),(0,L.jsx)(yi.Provider,{value:p,children:typeof f==`function`?f({payload:_}):f})});function Ti(e,t){let n=ot(t);return n.preventUnmountOnClose=()=>{e.set(`preventUnmountingOnClose`,!0)},n}var Ei=I.createContext(void 0);function Di(){return I.useContext(Ei)}var Oi=function(e){return e[e.popupOpen=ht.popupOpen]=`popupOpen`,e.triggerDisabled=`data-trigger-disabled`,e}({}),ki=Ct(function(e,t){let{className:n,render:r,handle:i,payload:a,disabled:o,delay:s,closeOnClick:c=!0,closeDelay:l,id:u,...d}=e,f=bi(!0),p=i?.store??f;if(!p)throw Error(ye(82));let m=$e(u),h=p.useState(`isTriggerActive`,m),g=p.useState(`isOpenedByTrigger`,m),_=p.useState(`floatingRootContext`),v=I.useRef(null),y=s??600,b=l??0,{registerTrigger:x,isMountedByThisTrigger:S}=Pt(m,v,p,{payload:a,closeOnClick:c,closeDelay:b}),C=Di(),{delayRef:w,isInstantPhase:T,hasProvider:E}=Hr(_,{open:g});p.useSyncedValue(`isInstantPhase`,T);let ee=p.useState(`disabled`),D=o??ee,te=p.useState(`trackCursorAxis`),O=p.useState(`disableHoverablePopup`),ne=ri(_,{enabled:!D,mouseOnly:!0,move:!1,handleClose:!O&&te!==`both`?ui():null,restMs(){let e=C?.delay,t=typeof w.current==`object`?w.current.open:void 0,n=y;return E&&(n=t===0?0:s??e??y),n},delay(){let e=typeof w.current==`object`?w.current.close:void 0,t=b;return l==null&&E&&(t=e),{close:t}},triggerElementRef:v,isActiveTrigger:h}),re=qr(_,{enabled:!D}).reference,ie={open:g},k=p.useState(`triggerProps`,S);return be(`button`,e,{state:ie,ref:[t,x,v],props:[ne,re,k,{onPointerDown(){p.set(`closeOnClick`,c)},id:m,[Oi.triggerDisabled]:D?``:void 0},d],stateAttributesMapping:bt})}),Ai=I.createContext(void 0);function ji(){let e=I.useContext(Ai);if(e===void 0)throw Error(ye(70));return e}var Mi=I.forwardRef(function(e,t){let{children:n,container:r,className:i,render:a,...o}=e,{portalNode:s,portalSubtree:c}=At({container:r,ref:t,componentProps:e,elementProps:o});return!c&&!s?null:(0,L.jsxs)(I.Fragment,{children:[c,s&&ti.createPortal(n,s)]})}),B=I.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e;return bi().useState(`mounted`)||n?(0,L.jsx)(Ai.Provider,{value:n,children:(0,L.jsx)(Mi,{ref:t,...r})}):null}),V=I.createContext(void 0);function Ni(){let e=I.useContext(V);if(e===void 0)throw Error(ye(71));return e}var Pi=I.forwardRef(function(e,t){let{render:n,className:r,anchor:i,positionMethod:a=`absolute`,side:o=`top`,align:s=`center`,sideOffset:c=0,alignOffset:l=0,collisionBoundary:u=`clipping-ancestors`,collisionPadding:d=5,arrowPadding:f=5,sticky:p=!1,disableAnchorTracking:m=!1,collisionAvoidance:h=xe,...g}=e,_=bi(),v=ji(),y=_.useState(`open`),b=_.useState(`mounted`),x=_.useState(`trackCursorAxis`),S=_.useState(`disableHoverablePopup`),C=_.useState(`floatingRootContext`),w=_.useState(`instantType`),T=_.useState(`transitionStatus`),E=Yt({anchor:i,positionMethod:a,floatingRootContext:C,mounted:b,side:o,sideOffset:c,align:s,alignOffset:l,collisionBoundary:u,collisionPadding:d,sticky:p,arrowPadding:f,disableAnchorTracking:m,keepMounted:v,collisionAvoidance:h,adaptiveOrigin:_.useState(`hasViewport`)?Xt:void 0}),ee=I.useMemo(()=>{let e={};return(!y||x===`both`||S)&&(e.pointerEvents=`none`),{role:`presentation`,hidden:!b,style:{...E.positionerStyles,...e}}},[y,x,S,b,E.positionerStyles]),D=I.useMemo(()=>({open:y,side:E.side,align:E.align,anchorHidden:E.anchorHidden,instant:x===`none`?w:`tracking-cursor`}),[y,E.side,E.align,E.anchorHidden,x,w]),te=I.useMemo(()=>({...D,arrowRef:E.arrowRef,arrowStyles:E.arrowStyles,arrowUncentered:E.arrowUncentered}),[D,E.arrowRef,E.arrowStyles,E.arrowUncentered]),O=be(`div`,e,{state:D,props:[ee,Zt(T),g],ref:[t,_.useStateSetter(`positionerElement`)],stateAttributesMapping:xt});return(0,L.jsx)(V.Provider,{value:te,children:O})}),Fi={...xt,...ut},Ii=I.forwardRef(function(e,t){let{className:n,render:r,...i}=e,a=bi(),{side:o,align:s}=Ni(),c=a.useState(`open`),l=a.useState(`instantType`),u=a.useState(`transitionStatus`),d=a.useState(`popupProps`),f=a.useState(`floatingRootContext`);ft({open:c,ref:a.context.popupRef,onComplete(){c&&a.context.onOpenChangeComplete?.(!0)}});let p=a.useState(`disabled`),m=a.useState(`closeDelay`);return ei(f,{enabled:!p,closeDelay:m}),be(`div`,e,{state:{open:c,side:o,align:s,instant:l,transitionStatus:u},ref:[t,a.context.popupRef,a.useStateSetter(`popupElement`)],props:[d,Zt(u),i],stateAttributesMapping:Fi})}),Li=I.forwardRef(function(e,t){let{className:n,render:r,...i}=e,a=bi().useState(`instantType`),{open:o,arrowRef:s,side:c,align:l,arrowUncentered:u,arrowStyles:d}=Ni();return be(`div`,e,{state:{open:o,side:c,align:l,uncentered:u,instant:a},ref:[t,s],props:[{style:d,"aria-hidden":!0},i],stateAttributesMapping:xt})}),Ri=function(e){let{delay:t,closeDelay:n,timeout:r=400}=e,i=I.useMemo(()=>({delay:t,closeDelay:n}),[t,n]),a=I.useMemo(()=>({open:t,close:n}),[t,n]);return(0,L.jsx)(Ei.Provider,{value:i,children:(0,L.jsx)(Vr,{delay:a,timeoutMs:r,children:e.children})})};function zi(e){let t=(0,R.c)(6),n,r;t[0]===e?(n=t[1],r=t[2]):({delay:r,...n}=e,t[0]=e,t[1]=n,t[2]=r);let i=r===void 0?0:r,a;return t[3]!==i||t[4]!==n?(a=(0,L.jsx)(Ri,{"data-slot":`tooltip-provider`,delay:i,...n}),t[3]=i,t[4]=n,t[5]=a):a=t[5],a}function Bi(e){let t=(0,R.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,L.jsx)(zi,{children:(0,L.jsx)(wi,{"data-slot":`tooltip`,...n})}),t[2]=n,t[3]=r),r}function Vi(e){let t=(0,R.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,L.jsx)(ki,{"data-slot":`tooltip-trigger`,...n}),t[2]=n,t[3]=r),r}function Hi(e){let t=(0,R.c)(21),n,r,i,a,o,s,c;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7]):({className:r,side:a,sideOffset:o,align:s,alignOffset:c,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c);let l=a===void 0?`top`:a,u=o===void 0?4:o,d=s===void 0?`center`:s,f=c===void 0?0:c,p;t[8]===r?p=t[9]:(p=F(`data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:animate-in data-closed:animate-out data-open:animate-in z-50 w-fit max-w-xs origin-(--transform-origin) rounded-md bg-foreground px-3 py-1.5 text-xs text-background **:data-[slot=kbd]:rounded-md`,r),t[8]=r,t[9]=p);let m;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,L.jsx)(Li,{className:`z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5`}),t[10]=m):m=t[10];let h;t[11]!==n||t[12]!==i||t[13]!==p?(h=(0,L.jsxs)(Ii,{className:p,"data-slot":`tooltip-content`,...i,children:[n,m]}),t[11]=n,t[12]=i,t[13]=p,t[14]=h):h=t[14];let g;return t[15]!==d||t[16]!==f||t[17]!==l||t[18]!==u||t[19]!==h?(g=(0,L.jsx)(B,{children:(0,L.jsx)(Pi,{align:d,alignOffset:f,className:`isolate z-50`,side:l,sideOffset:u,children:h})}),t[15]=d,t[16]=f,t[17]=l,t[18]=u,t[19]=h,t[20]=g):g=t[20],g}var Ui=window.matchMedia(`(max-width: 767px)`);function Wi(e){return Ui.addEventListener(`change`,e),()=>Ui.removeEventListener(`change`,e)}function Gi(){return Ui.matches}function Ki(){return(0,I.useSyncExternalStore)(Wi,Gi)}var qi=`sidebar_state`,Ji=3600*24*7,Yi=`12rem`,Xi=`16rem`,Zi=`3rem`,Qi=`b`,$i=I.createContext(null);function ea(){let e=I.useContext($i);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function ta(e){let t=(0,R.c)(36),n,r,i,a,o,s,c;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7]):({defaultOpen:c,open:i,onOpenChange:o,className:r,style:s,children:n,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c);let l=c===void 0?!0:c,u=Ki(),[d,f]=I.useState(!1),[p,m]=I.useState(l),h=i??p,g;t[8]!==h||t[9]!==o?(g=e=>{let t=typeof e==`function`?e(h):e;o?o(t):m(t),document.cookie=`${qi}=${t}; path=/; max-age=${Ji}`},t[8]=h,t[9]=o,t[10]=g):g=t[10];let _=g,v;t[11]!==u||t[12]!==_?(v=()=>u?f(ra):_(na),t[11]=u,t[12]=_,t[13]=v):v=t[13];let y=v,b,x;t[14]===y?(b=t[15],x=t[16]):(b=()=>{let e=e=>{e.key===Qi&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),y())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},x=[y],t[14]=y,t[15]=b,t[16]=x),I.useEffect(b,x);let S=h?`expanded`:`collapsed`,C;t[17]!==u||t[18]!==h||t[19]!==d||t[20]!==_||t[21]!==S||t[22]!==y?(C={state:S,open:h,setOpen:_,isMobile:u,openMobile:d,setOpenMobile:f,toggleSidebar:y},t[17]=u,t[18]=h,t[19]=d,t[20]=_,t[21]=S,t[22]=y,t[23]=C):C=t[23];let w=C,T;t[24]===r?T=t[25]:(T=F(`group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar`,r),t[24]=r,t[25]=T);let E;t[26]===s?E=t[27]:(E={"--sidebar-width":Yi,"--sidebar-width-icon":Zi,...s},t[26]=s,t[27]=E);let ee=E,D;t[28]!==n||t[29]!==a||t[30]!==T||t[31]!==ee?(D=(0,L.jsx)(`div`,{className:T,"data-slot":`sidebar-wrapper`,style:ee,...a,children:n}),t[28]=n,t[29]=a,t[30]=T,t[31]=ee,t[32]=D):D=t[32];let te;return t[33]!==w||t[34]!==D?(te=(0,L.jsx)($i.Provider,{value:w,children:D}),t[33]=w,t[34]=D,t[35]=te):te=t[35],te}function na(e){return!e}function ra(e){return!e}function ia(e){let t=(0,R.c)(46),n,r,i,a,o,s;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6]):({side:a,variant:o,collapsible:s,className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s);let c=a===void 0?`left`:a,l=o===void 0?`sidebar`:o,u=s===void 0?`offExamples`:s,{isMobile:d,state:f,openMobile:p,setOpenMobile:m}=ea();if(u===`none`){let e;t[7]===r?e=t[8]:(e=F(`flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground`,r),t[7]=r,t[8]=e);let a;return t[9]!==n||t[10]!==i||t[11]!==e?(a=(0,L.jsx)(`div`,{className:e,"data-slot":`sidebar`,...i,children:n}),t[9]=n,t[10]=i,t[11]=e,t[12]=a):a=t[12],a}if(d){let e;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(e={"--sidebar-width":Xi},t[13]=e):e=t[13];let r=e,a;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,L.jsxs)(gi,{className:`sr-only`,children:[(0,L.jsx)(_i,{children:`Sidebar`}),(0,L.jsx)(vi,{children:`Displays the mobile sidebar.`})]}),t[14]=a):a=t[14];let o;t[15]===n?o=t[16]:(o=(0,L.jsx)(`div`,{className:`flex h-full w-full flex-col`,children:n}),t[15]=n,t[16]=o);let s;t[17]!==c||t[18]!==o?(s=(0,L.jsxs)(hi,{className:`w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden`,"data-mobile":`true`,"data-sidebar":`sidebar`,"data-slot":`sidebar`,side:c,style:r,children:[a,o]}),t[17]=c,t[18]=o,t[19]=s):s=t[19];let l;return t[20]!==p||t[21]!==i||t[22]!==m||t[23]!==s?(l=(0,L.jsx)(fi,{onOpenChange:m,open:p,...i,children:s}),t[20]=p,t[21]=i,t[22]=m,t[23]=s,t[24]=l):l=t[24],l}let h=f===`collapsed`?u:``,g=l===`floating`||l===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`,_;t[25]===g?_=t[26]:(_=F(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[collapsible=offExamples]:w-0`,`group-data-[side=right]:rotate-180`,g),t[25]=g,t[26]=_);let v;t[27]===_?v=t[28]:(v=(0,L.jsx)(`div`,{className:_,"data-slot":`sidebar-gap`}),t[27]=_,t[28]=v);let y=c===`left`?`left-0 group-data-[collapsible=offExamples]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 group-data-[collapsible=offExamples]:right-[calc(var(--sidebar-width)*-1)]`,b=l===`floating`||l===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,x;t[29]!==r||t[30]!==y||t[31]!==b?(x=F(`fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,y,b,r),t[29]=r,t[30]=y,t[31]=b,t[32]=x):x=t[32];let S;t[33]===n?S=t[34]:(S=(0,L.jsx)(`div`,{className:`flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border`,"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,children:n}),t[33]=n,t[34]=S);let C;t[35]!==i||t[36]!==x||t[37]!==S?(C=(0,L.jsx)(`div`,{className:x,"data-slot":`sidebar-container`,...i,children:S}),t[35]=i,t[36]=x,t[37]=S,t[38]=C):C=t[38];let w;return t[39]!==c||t[40]!==f||t[41]!==C||t[42]!==h||t[43]!==v||t[44]!==l?(w=(0,L.jsxs)(`div`,{className:`group peer hidden text-sidebar-foreground md:block`,"data-collapsible":h,"data-side":c,"data-slot":`sidebar`,"data-state":f,"data-variant":l,children:[v,C]}),t[39]=c,t[40]=f,t[41]=C,t[42]=h,t[43]=v,t[44]=l,t[45]=w):w=t[45],w}function aa(e){let t=(0,R.c)(15),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,onClick:r,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let{toggleSidebar:a}=ea(),o;t[4]===n?o=t[5]:(o=F(n),t[4]=n,t[5]=o);let s;t[6]!==r||t[7]!==a?(s=e=>{r?.(e),a()},t[6]=r,t[7]=a,t[8]=s):s=t[8];let c,l;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,L.jsx)(Mr,{}),l=(0,L.jsx)(`span`,{className:`sr-only`,children:`Toggle Sidebar`}),t[9]=c,t[10]=l):(c=t[9],l=t[10]);let u;return t[11]!==i||t[12]!==o||t[13]!==s?(u=(0,L.jsxs)(We,{className:o,"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,onClick:s,size:`icon-lg`,variant:`ghost`,...i,children:[c,l]}),t[11]=i,t[12]=o,t[13]=s,t[14]=u):u=t[14],u}function oa(e){let t=(0,R.c)(9),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let{toggleSidebar:i}=ea(),a;t[3]===n?a=t[4]:(a=F(`absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border sm:flex`,`in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize`,`[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize`,`group-data-[collapsible=offExamples]:translate-x-0 group-data-[collapsible=offExamples]:after:left-full hover:group-data-[collapsible=offExamples]:bg-sidebar`,`[[data-side=left][data-collapsible=offExamples]_&]:-right-2`,`[[data-side=right][data-collapsible=offExamples]_&]:-left-2`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a||t[7]!==i?(o=(0,L.jsx)(`button`,{"aria-label":`Toggle Sidebar`,className:a,"data-sidebar":`rail`,"data-slot":`sidebar-rail`,onClick:i,tabIndex:-1,title:`Toggle Sidebar`,...r}),t[5]=r,t[6]=a,t[7]=i,t[8]=o):o=t[8],o}function sa(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`flex flex-col gap-2 p-2`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(`div`,{className:i,"data-sidebar":`header`,"data-slot":`sidebar-header`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function ca(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`flex flex-col gap-2 p-2`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(`div`,{className:i,"data-sidebar":`footer`,"data-slot":`sidebar-footer`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function la(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`mx-2 w-auto bg-sidebar-border`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(Ke,{className:i,"data-sidebar":`separator`,"data-slot":`sidebar-separator`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function ua(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`no-scrollbar flex min-h-0 flex-1 flex-col gap-0 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(`div`,{className:i,"data-sidebar":`content`,"data-slot":`sidebar-content`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function da(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`relative flex w-full min-w-0 flex-col px-2 py-1`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(`div`,{className:i,"data-sidebar":`group`,"data-slot":`sidebar-group`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function fa(e){let t=(0,R.c)(10),n,r,i,a;if(t[0]!==e){let{className:o,render:s,...c}=e;n=s,a=we,r=`div`,i=ve({className:F(`flex h-8 shrink-0 items-center rounded-md px-2 text-xs text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0`,o)},c),t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a}else n=t[1],r=t[2],i=t[3],a=t[4];let o;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(o={slot:`sidebar-group-label`,sidebar:`group-label`},t[5]=o):o=t[5];let s;return t[6]!==n||t[7]!==r||t[8]!==i?(s={defaultTagName:r,props:i,render:n,state:o},t[6]=n,t[7]=r,t[8]=i,t[9]=s):s=t[9],a(s)}function pa(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`flex w-full min-w-0 flex-col gap-px`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(`ul`,{className:i,"data-sidebar":`menu`,"data-slot":`sidebar-menu`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function ma(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`group/menu-item relative`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(`li`,{className:i,"data-sidebar":`menu-item`,"data-slot":`sidebar-menu-item`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var ha=Ce(`peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-[calc(var(--radius-sm)+2px)] p-2 text-left text-xs ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate`,{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-xs`,sm:`h-7 text-xs`,lg:`h-12 text-xs group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});function ga(e){let t=(0,R.c)(15),{render:n,isActive:r,variant:i,size:a,tooltip:o,className:s,...c}=e,l=r===void 0?!1:r,u=i===void 0?`default`:i,d=a===void 0?`default`:a,{isMobile:f,state:p}=ea(),m=ve({className:F(ha({variant:u,size:d}),s)},c),h=o?Vi:n,g;t[0]!==l||t[1]!==d?(g={slot:`sidebar-menu-button`,sidebar:`menu-button`,size:d,active:l},t[0]=l,t[1]=d,t[2]=g):g=t[2];let _;t[3]!==m||t[4]!==h||t[5]!==g?(_={defaultTagName:`button`,props:m,render:h,state:g},t[3]=m,t[4]=h,t[5]=g,t[6]=_):_=t[6];let v=we(_);if(!o)return v;let y;t[7]===o?y=t[8]:(y=typeof o==`string`?{children:o}:o,t[7]=o,t[8]=y);let b=y,x=p!==`collapsed`||f,S;t[9]!==x||t[10]!==b?(S=(0,L.jsx)(Hi,{align:`center`,hidden:x,side:`right`,...b}),t[9]=x,t[10]=b,t[11]=S):S=t[11];let C;return t[12]!==v||t[13]!==S?(C=(0,L.jsxs)(Bi,{children:[v,S]}),t[12]=v,t[13]=S,t[14]=C):C=t[14],C}function _a(){let e=(0,R.c)(8),{theme:t,setTheme:n}=Sr(),r;e[0]!==n||e[1]!==t?(r=()=>{n(t===`light`?`dark`:t===`dark`?`light`:`dark`)},e[0]=n,e[1]=t,e[2]=r):r=e[2];let i=r,a,o,s;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,L.jsx)(Pr,{className:`size-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90`}),o=(0,L.jsx)(jr,{className:`absolute size-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0`}),s=(0,L.jsx)(`span`,{className:`sr-only`,children:`Toggle theme`}),e[3]=a,e[4]=o,e[5]=s):(a=e[3],o=e[4],s=e[5]);let c;return e[6]===i?c=e[7]:(c=(0,L.jsxs)(We,{className:`rounded-full`,onClick:i,size:`icon-sm`,variant:`ghost`,children:[a,o,s]}),e[6]=i,e[7]=c),c}function va(){let e=(0,R.c)(7),{isAdmin:t,license:n}=Te(),r=t&&n===`open-source`,i,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=F(`z-50 flex h-10 shrink-0 items-center gap-2 border-b border-sidebar-border bg-sidebar px-4 text-sidebar-foreground`,`sticky top-0`),a=(0,L.jsx)(aa,{className:`-ml-1`}),e[0]=i,e[1]=a):(i=e[0],a=e[1]);let o;e[2]===r?o=e[3]:(o=r&&(0,L.jsx)(`a`,{href:`https://mulgadc.com/purchase`,target:`_blank`,rel:`noopener noreferrer`,className:F(He({variant:`outline`,size:`sm`})),children:`Upgrade`}),e[2]=r,e[3]=o);let s;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,L.jsx)(_a,{}),e[4]=s):s=e[4];let c;return e[5]===o?c=e[6]:(c=(0,L.jsxs)(`header`,{className:i,children:[a,(0,L.jsxs)(`div`,{className:`flex w-full items-center justify-end gap-2`,children:[o,s]})]}),e[5]=o,e[6]=c),c}function ya(){let e=(0,R.c)(3),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,L.jsx)(`h1`,{className:`text-4xl font-bold`,children:`404`}),n=(0,L.jsx)(`p`,{className:`text-muted-foreground`,children:`Page not found`}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4`,children:[t,n,(0,L.jsx)(pe,{to:`/`,children:(0,L.jsx)(We,{variant:`outline`,children:`Go back home`})})]}),e[2]=r):r=e[2],r}function ba(){let e=(0,R.c)(130),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={select:xa},e[0]=t):t=e[0];let n=lr(t),r=he(),i=v(),{isAdmin:a}=Te(),o;e[1]!==r||e[2]!==i?(o=function(){Oe(),_e(),i.clear(),r({to:`/login`})},e[1]=r,e[2]=i,e[3]=o):o=e[3];let s=o,c;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,L.jsxs)(sa,{className:`flex flex-row items-center gap-2 px-4 py-3`,children:[(0,L.jsx)(`img`,{src:`/mulga-logo.svg`,alt:`Mulga`,className:`size-6 shrink-0 dark:invert`}),(0,L.jsx)(`span`,{className:`truncate text-sm font-semibold group-data-[collapsible=icon]:hidden`,children:`Spinifex`})]}),e[4]=c):c=e[4];let l;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,L.jsx)(fa,{children:`General`}),e[5]=l):l=e[5];let u=n===`/`,d,f;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,L.jsx)(Er,{className:`size-4`}),f=(0,L.jsx)(`span`,{children:`Dashboard`}),e[6]=d,e[7]=f):(d=e[6],f=e[7]);let p;e[8]===u?p=e[9]:(p=(0,L.jsx)(ma,{children:(0,L.jsx)(pe,{to:`/`,children:(0,L.jsxs)(ga,{isActive:u,tooltip:`Dashboard`,children:[d,f]})})}),e[8]=u,e[9]=p);let m;e[10]!==a||e[11]!==n?(m=a&&(0,L.jsx)(ma,{children:(0,L.jsx)(pe,{to:`/nodes`,children:(0,L.jsxs)(ga,{isActive:n.startsWith(`/nodes`),tooltip:`Nodes`,children:[(0,L.jsx)(Pe,{className:`size-4`}),(0,L.jsx)(`span`,{children:`Nodes`})]})})}),e[10]=a,e[11]=n,e[12]=m):m=e[12];let h;e[13]!==p||e[14]!==m?(h=(0,L.jsxs)(da,{children:[l,(0,L.jsxs)(pa,{children:[p,m]})]}),e[13]=p,e[14]=m,e[15]=h):h=e[15];let g;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,L.jsx)(fa,{children:`EC2`}),e[16]=g):g=e[16];let _;e[17]===n?_=e[18]:(_=n.startsWith(`/ec2/describe-instances`)||n.startsWith(`/ec2/run-instances`),e[17]=n,e[18]=_);let y,b;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,L.jsx)(Pe,{className:`size-4`}),b=(0,L.jsx)(`span`,{children:`Instances`}),e[19]=y,e[20]=b):(y=e[19],b=e[20]);let x;e[21]===_?x=e[22]:(x=(0,L.jsx)(ma,{children:(0,L.jsx)(pe,{to:`/ec2/describe-instances`,children:(0,L.jsxs)(ga,{isActive:_,tooltip:`EC2 Instances`,children:[y,b]})})}),e[21]=_,e[22]=x);let S;e[23]===n?S=e[24]:(S=n.startsWith(`/ec2/describe-images`),e[23]=n,e[24]=S);let C,w;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,L.jsx)(Dr,{className:`size-4`}),w=(0,L.jsx)(`span`,{children:`Images`}),e[25]=C,e[26]=w):(C=e[25],w=e[26]);let T;e[27]===S?T=e[28]:(T=(0,L.jsx)(ma,{children:(0,L.jsx)(pe,{to:`/ec2/describe-images`,children:(0,L.jsxs)(ga,{isActive:S,tooltip:`Images`,children:[C,w]})})}),e[27]=S,e[28]=T);let E;e[29]===n?E=e[30]:(E=n.startsWith(`/ec2/describe-key-pairs`),e[29]=n,e[30]=E);let ee,D;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,L.jsx)(Ne,{className:`size-4`}),D=(0,L.jsx)(`span`,{children:`Key Pairs`}),e[31]=ee,e[32]=D):(ee=e[31],D=e[32]);let te;e[33]===E?te=e[34]:(te=(0,L.jsx)(ma,{children:(0,L.jsx)(pe,{to:`/ec2/describe-key-pairs`,children:(0,L.jsxs)(ga,{isActive:E,tooltip:`Key Pairs`,children:[ee,D]})})}),e[33]=E,e[34]=te);let O;e[35]===n?O=e[36]:(O=n.startsWith(`/ec2/describe-volumes`)||n.startsWith(`/ec2/create-volume`)||n.startsWith(`/ec2/modify-volume`),e[35]=n,e[36]=O);let ne,re;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,L.jsx)(Me,{className:`size-4`}),re=(0,L.jsx)(`span`,{children:`Volumes`}),e[37]=ne,e[38]=re):(ne=e[37],re=e[38]);let ie;e[39]===O?ie=e[40]:(ie=(0,L.jsx)(ma,{children:(0,L.jsx)(pe,{to:`/ec2/describe-volumes`,children:(0,L.jsxs)(ga,{isActive:O,tooltip:`Volumes`,children:[ne,re]})})}),e[39]=O,e[40]=ie);let k;e[41]===n?k=e[42]:(k=n.startsWith(`/ec2/describe-snapshots`)||n.startsWith(`/ec2/create-snapshot`),e[41]=n,e[42]=k);let A,ae;e[43]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,L.jsx)(Ae,{className:`size-4`}),ae=(0,L.jsx)(`span`,{children:`Snapshots`}),e[43]=A,e[44]=ae):(A=e[43],ae=e[44]);let oe;e[45]===k?oe=e[46]:(oe=(0,L.jsx)(ma,{children:(0,L.jsx)(pe,{to:`/ec2/describe-snapshots`,children:(0,L.jsxs)(ga,{isActive:k,tooltip:`Snapshots`,children:[A,ae]})})}),e[45]=k,e[46]=oe);let se;e[47]===n?se=e[48]:(se=n.startsWith(`/ec2/describe-placement-groups`)||n.startsWith(`/ec2/create-placement-group`),e[47]=n,e[48]=se);let ce,le;e[49]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,L.jsx)(Or,{className:`size-4`}),le=(0,L.jsx)(`span`,{children:`Placement Groups`}),e[49]=ce,e[50]=le):(ce=e[49],le=e[50]);let j;e[51]===se?j=e[52]:(j=(0,L.jsx)(ma,{children:(0,L.jsx)(pe,{to:`/ec2/describe-placement-groups`,children:(0,L.jsxs)(ga,{isActive:se,tooltip:`Placement Groups`,children:[ce,le]})})}),e[51]=se,e[52]=j);let ue;e[53]!==x||e[54]!==T||e[55]!==te||e[56]!==ie||e[57]!==oe||e[58]!==j?(ue=(0,L.jsxs)(da,{children:[g,(0,L.jsxs)(pa,{children:[x,T,te,ie,oe,j]})]}),e[53]=x,e[54]=T,e[55]=te,e[56]=ie,e[57]=oe,e[58]=j,e[59]=ue):ue=e[59];let de;e[60]===Symbol.for(`react.memo_cache_sentinel`)?(de=(0,L.jsx)(fa,{children:`Networking`}),e[60]=de):de=e[60];let fe;e[61]===n?fe=e[62]:(fe=n.startsWith(`/ec2/describe-vpcs`)||n.startsWith(`/ec2/create-vpc`),e[61]=n,e[62]=fe);let M,me;e[63]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,L.jsx)(Fe,{className:`size-4`}),me=(0,L.jsx)(`span`,{children:`VPCs`}),e[63]=M,e[64]=me):(M=e[63],me=e[64]);let N;e[65]===fe?N=e[66]:(N=(0,L.jsx)(ma,{children:(0,L.jsx)(pe,{to:`/ec2/describe-vpcs`,children:(0,L.jsxs)(ga,{isActive:fe,tooltip:`VPCs`,children:[M,me]})})}),e[65]=fe,e[66]=N);let P;e[67]===n?P=e[68]:(P=n.startsWith(`/ec2/describe-subnets`)||n.startsWith(`/ec2/create-subnet`),e[67]=n,e[68]=P);let ge,ve;e[69]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,L.jsx)(kr,{className:`size-4`}),ve=(0,L.jsx)(`span`,{children:`Subnets`}),e[69]=ge,e[70]=ve):(ge=e[69],ve=e[70]);let ye;e[71]===P?ye=e[72]:(ye=(0,L.jsx)(ma,{children:(0,L.jsx)(pe,{to:`/ec2/describe-subnets`,children:(0,L.jsxs)(ga,{isActive:P,tooltip:`Subnets`,children:[ge,ve]})})}),e[71]=P,e[72]=ye);let be;e[73]===n?be=e[74]:(be=n.startsWith(`/ec2/describe-security-groups`)||n.startsWith(`/ec2/create-security-group`),e[73]=n,e[74]=be);let xe,Se;e[75]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,L.jsx)(Nr,{className:`size-4`}),Se=(0,L.jsx)(`span`,{children:`Security Groups`}),e[75]=xe,e[76]=Se):(xe=e[75],Se=e[76]);let Ce;e[77]===be?Ce=e[78]:(Ce=(0,L.jsx)(ma,{children:(0,L.jsx)(pe,{to:`/ec2/describe-security-groups`,children:(0,L.jsxs)(ga,{isActive:be,tooltip:`Security Groups`,children:[xe,Se]})})}),e[77]=be,e[78]=Ce);let we;e[79]!==N||e[80]!==ye||e[81]!==Ce?(we=(0,L.jsxs)(da,{children:[de,(0,L.jsxs)(pa,{children:[N,ye,Ce]})]}),e[79]=N,e[80]=ye,e[81]=Ce,e[82]=we):we=e[82];let Ee;e[83]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,L.jsx)(fa,{children:`IAM`}),e[83]=Ee):Ee=e[83];let F;e[84]===n?F=e[85]:(F=n.startsWith(`/iam/list-users`)||n.startsWith(`/iam/create-user`),e[84]=n,e[85]=F);let De,ke;e[86]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,L.jsx)(Fr,{className:`size-4`}),ke=(0,L.jsx)(`span`,{children:`Users`}),e[86]=De,e[87]=ke):(De=e[86],ke=e[87]);let je;e[88]===F?je=e[89]:(je=(0,L.jsx)(ma,{children:(0,L.jsx)(pe,{to:`/iam/list-users`,children:(0,L.jsxs)(ga,{isActive:F,tooltip:`Users`,children:[De,ke]})})}),e[88]=F,e[89]=je);let Le;e[90]===n?Le=e[91]:(Le=n.startsWith(`/iam/list-policies`)||n.startsWith(`/iam/create-policy`),e[90]=n,e[91]=Le);let Re,ze;e[92]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,L.jsx)(Ie,{className:`size-4`}),ze=(0,L.jsx)(`span`,{children:`Policies`}),e[92]=Re,e[93]=ze):(Re=e[92],ze=e[93]);let Be;e[94]===Le?Be=e[95]:(Be=(0,L.jsx)(ma,{children:(0,L.jsx)(pe,{to:`/iam/list-policies`,children:(0,L.jsxs)(ga,{isActive:Le,tooltip:`Policies`,children:[Re,ze]})})}),e[94]=Le,e[95]=Be);let Ve;e[96]!==je||e[97]!==Be?(Ve=(0,L.jsxs)(da,{children:[Ee,(0,L.jsxs)(pa,{children:[je,Be]})]}),e[96]=je,e[97]=Be,e[98]=Ve):Ve=e[98];let He;e[99]===Symbol.for(`react.memo_cache_sentinel`)?(He=(0,L.jsx)(fa,{children:`S3`}),e[99]=He):He=e[99];let Ue;e[100]===n?Ue=e[101]:(Ue=n.startsWith(`/s3/ls`),e[100]=n,e[101]=Ue);let We,Ge;e[102]===Symbol.for(`react.memo_cache_sentinel`)?(We=(0,L.jsx)(Pe,{className:`size-4`}),Ge=(0,L.jsx)(`span`,{children:`Buckets`}),e[102]=We,e[103]=Ge):(We=e[102],Ge=e[103]);let Ke;e[104]===Ue?Ke=e[105]:(Ke=(0,L.jsx)(ma,{children:(0,L.jsx)(pe,{to:`/s3/ls`,children:(0,L.jsxs)(ga,{isActive:Ue,tooltip:`Buckets`,children:[We,Ge]})})}),e[104]=Ue,e[105]=Ke);let qe;e[106]!==a||e[107]!==n?(qe=a&&(0,L.jsx)(ma,{children:(0,L.jsx)(pe,{to:`/s3/service-metrics`,children:(0,L.jsxs)(ga,{isActive:n.startsWith(`/s3/service-metrics`),tooltip:`Service Metrics`,children:[(0,L.jsx)(Cr,{className:`size-4`}),(0,L.jsx)(`span`,{children:`Service Metrics`})]})})}),e[106]=a,e[107]=n,e[108]=qe):qe=e[108];let Je;e[109]!==Ke||e[110]!==qe?(Je=(0,L.jsxs)(da,{children:[He,(0,L.jsxs)(pa,{children:[Ke,qe]})]}),e[109]=Ke,e[110]=qe,e[111]=Je):Je=e[111];let Ye;e[112]===a?Ye=e[113]:(Ye=a&&(0,L.jsxs)(da,{children:[(0,L.jsx)(fa,{children:`Documentation`}),(0,L.jsx)(pa,{children:(0,L.jsx)(ma,{children:(0,L.jsx)(`a`,{href:`https://docs.mulgadc.com`,target:`_blank`,rel:`noopener noreferrer`,children:(0,L.jsxs)(ga,{tooltip:`Documentation`,children:[(0,L.jsx)(wr,{className:`size-4`}),(0,L.jsx)(`span`,{children:`Docs`})]})})})})]}),e[112]=a,e[113]=Ye);let Xe;e[114]!==ue||e[115]!==we||e[116]!==Ve||e[117]!==Je||e[118]!==Ye||e[119]!==h?(Xe=(0,L.jsxs)(ua,{children:[h,ue,we,Ve,Je,Ye]}),e[114]=ue,e[115]=we,e[116]=Ve,e[117]=Je,e[118]=Ye,e[119]=h,e[120]=Xe):Xe=e[120];let Ze;e[121]===Symbol.for(`react.memo_cache_sentinel`)?(Ze=(0,L.jsx)(la,{className:`mx-0 w-full`}),e[121]=Ze):Ze=e[121];let Qe,$e;e[122]===Symbol.for(`react.memo_cache_sentinel`)?(Qe=(0,L.jsx)(Ar,{className:`size-4`}),$e=(0,L.jsx)(`span`,{children:`Sign out`}),e[122]=Qe,e[123]=$e):(Qe=e[122],$e=e[123]);let et;e[124]===s?et=e[125]:(et=(0,L.jsxs)(ca,{children:[Ze,(0,L.jsx)(pa,{children:(0,L.jsx)(ma,{children:(0,L.jsxs)(ga,{onClick:s,tooltip:`Sign out`,children:[Qe,$e]})})})]}),e[124]=s,e[125]=et);let tt;e[126]===Symbol.for(`react.memo_cache_sentinel`)?(tt=(0,L.jsx)(oa,{}),e[126]=tt):tt=e[126];let nt;return e[127]!==Xe||e[128]!==et?(nt=(0,L.jsxs)(ia,{collapsible:`icon`,children:[c,Xe,et,tt]}),e[127]=Xe,e[128]=et,e[129]=nt):nt=e[129],nt}function xa(e){return e.pathname}function Sa(e){let t=(0,R.c)(18),{error:n,reset:r}=e,i=O(),a=v(),o;t[0]!==a||t[1]!==r||t[2]!==i?(o=function(){a.invalidateQueries(),r(),i.invalidate()},t[0]=a,t[1]=r,t[2]=i,t[3]=o):o=t[3];let s=o,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,L.jsx)(ba,{}),t[4]=c):c=t[4];let l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,L.jsx)(va,{}),t[5]=l):l=t[5];let u,d;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,L.jsx)(`div`,{className:`flex justify-center`,children:(0,L.jsx)(Tr,{className:`size-12 text-destructive`})}),d=(0,L.jsx)(`h1`,{className:`text-2xl font-semibold`,children:`Something went wrong`}),t[6]=u,t[7]=d):(u=t[6],d=t[7]);let f=n.message||`An unexpected error occurred`,p;t[8]===f?p=t[9]:(p=(0,L.jsx)(`p`,{className:`text-muted-foreground`,children:f}),t[8]=f,t[9]=p);let m;t[10]===s?m=t[11]:(m=(0,L.jsx)(We,{onClick:s,variant:`default`,children:`Try Again`}),t[10]=s,t[11]=m);let h;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,L.jsx)(pe,{to:`/`,children:(0,L.jsx)(We,{variant:`outline`,children:`Go Home`})}),t[12]=h):h=t[12];let g;t[13]===m?g=t[14]:(g=(0,L.jsxs)(`div`,{className:`flex justify-center gap-2`,children:[m,h]}),t[13]=m,t[14]=g);let _;return t[15]!==g||t[16]!==p?(_=(0,L.jsxs)(L.Fragment,{children:[c,(0,L.jsxs)(`main`,{className:`flex flex-1 flex-col`,children:[l,(0,L.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-6 pt-0`,children:(0,L.jsxs)(`div`,{className:`max-w-md space-y-4 text-center`,children:[u,d,p,g]})})]})]}),t[15]=g,t[16]=p,t[17]=_):_=t[17],_}var Ca=me()({head:()=>({meta:[{title:`Mulga`}]}),component:()=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(mr,{}),(0,L.jsx)(ba,{}),(0,L.jsxs)(`main`,{className:`flex flex-1 flex-col`,children:[(0,L.jsx)(va,{}),(0,L.jsx)(`div`,{className:`flex flex-1 flex-col p-8`,children:(0,L.jsx)(ce,{})})]})]}),errorComponent:Sa,notFoundComponent:ya}),wa=M(`/login`)({beforeLoad:()=>{if(De())throw fe({to:`/`})},component:N(()=>P(()=>import(`./login.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])),`component`)}),Ta=M(`/_auth`)({beforeLoad:()=>{if(!De())throw fe({to:`/login`})},component:N(()=>P(()=>import(`./route.js`),__vite__mapDeps([16,1,17,18,19,20])),`component`)}),Ea=M(`/_auth/`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(nn),e.queryClient.ensureQueryData(ln),e.queryClient.ensureQueryData(cn),e.queryClient.ensureQueryData(en),e.queryClient.ensureQueryData(fn),e.queryClient.ensureQueryData(rn)])},head:()=>({meta:[{title:`Dashboard | Mulga`}]}),component:N(()=>P(()=>import(`./_auth.js`),__vite__mapDeps([21,1,3,4,22,2,5,6,23,24,25,8,26,27,28,29,30,18,31,32,33,34,35,36,14])),`component`)}),Da=M(`/_auth/nodes`)({beforeLoad:()=>{},head:()=>({meta:[{title:`Nodes | Mulga`}]}),component:N(()=>P(()=>import(`./nodes.js`),__vite__mapDeps([37,1,25,3,4,8,26,27,28,29,23,20,35,14])),`component`)}),Oa=M(`/_auth/s3/service-metrics`)({head:()=>({meta:[{title:`Service Metrics | Mulga`}]}),component:N(()=>P(()=>import(`./service-metrics.js`),__vite__mapDeps([38,1,25,3,4,8,26,27,28,29,23,20,35,14])),`component`)}),ka=M(`/_auth/s3/ls/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(fn)},head:()=>({meta:[{title:`Buckets | S3 | Mulga`}]}),component:N(()=>P(()=>import(`./ls.js`),__vite__mapDeps([39,1,3,4,24,2,5,23,7,8,40,27,28,29,30,18,41,35])),`component`)}),Aa=M(`/_auth/s3/(buckets)/create-bucket`)({head:()=>({meta:[{title:`Create Bucket | S3 | Mulga`}]}),component:N(()=>P(()=>import(`./create-bucket.js`),__vite__mapDeps([42,1,43,2,3,4,5,28,44,45,9,7,8,10,11,13,46,18,47,30,31,48,49,32,50,51,52,35,15])),`component`)}),ja=M(`/_auth/iam/(users)/create-user`)({head:()=>({meta:[{title:`Create User | IAM | Mulga`}]}),component:N(()=>P(()=>import(`./create-user.js`),__vite__mapDeps([53,1,54,2,3,4,5,28,44,45,9,7,8,10,11,13,46,18,47,30,31,48,49,32,50,51,52,35,15,55])),`component`)}),Ma=M(`/_auth/iam/(policies)/create-policy`)({head:()=>({meta:[{title:`Create Policy | IAM | Mulga`}]}),component:N(()=>P(()=>import(`./create-policy.js`),__vite__mapDeps([56,1,54,2,3,4,5,28,44,45,9,7,8,10,11,13,46,18,47,30,31,48,49,32,50,51,52,35,15,57,55])),`component`)}),Na=M(`/_auth/ec2/(vpc)/create-vpc`)({head:()=>({meta:[{title:`Create VPC | EC2 | Mulga`}]}),component:N(()=>P(()=>import(`./create-vpc.js`),__vite__mapDeps([58,1,59,2,3,4,5,22,6,23,28,44,45,7,8,60,61,11,12,18,62,10,31,49,32,9,13,46,47,30,33,48,50,51,52,35,15,63])),`component`)}),Pa=M(`/_auth/ec2/(volumes)/create-volume`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(on)},head:()=>({meta:[{title:`Create Volume | EC2 | Mulga`}]}),component:N(()=>P(()=>import(`./create-volume.js`),__vite__mapDeps([64,1,59,2,3,4,5,22,6,23,28,44,45,60,7,8,61,11,12,18,62,10,31,49,32,9,13,40,27,29,46,47,30,48,50,51,52,35,15,63])),`component`)}),Fa=M(`/_auth/ec2/(subnet)/create-subnet`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(cn),e.queryClient.ensureQueryData(on)])},head:()=>({meta:[{title:`Create Subnet | EC2 | Mulga`}]}),component:N(()=>P(()=>import(`./create-subnet.js`),__vite__mapDeps([65,1,3,4,59,2,5,22,6,23,28,44,45,60,7,8,61,11,12,18,62,10,31,49,32,9,13,40,27,29,46,47,30,48,50,51,52,35,15,63])),`component`)}),Ia=M(`/_auth/ec2/(security-groups)/create-security-group`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(cn)},head:()=>({meta:[{title:`Create Security Group | EC2 | Mulga`}]}),component:N(()=>P(()=>import(`./create-security-group.js`),__vite__mapDeps([66,1,3,4,59,2,5,22,6,23,28,44,45,60,7,8,61,11,12,18,62,10,31,49,32,9,13,40,27,29,46,47,30,48,50,51,52,35,15,63])),`component`)}),La=M(`/_auth/ec2/(placement-groups)/create-placement-group`)({head:()=>({meta:[{title:`Create Placement Group | EC2 | Mulga`}]}),component:N(()=>P(()=>import(`./create-placement-group.js`),__vite__mapDeps([67,1,59,2,3,4,5,22,6,23,28,44,45,60,7,8,61,11,12,18,62,10,31,49,32,9,13,46,47,30,48,50,51,52,35,15,63])),`component`)}),Ra=M(`/_auth/ec2/(key)/import-key-pair`)({head:()=>({meta:[{title:`Import Key Pair | EC2 | Mulga`}]}),component:N(()=>P(()=>import(`./import-key-pair.js`),__vite__mapDeps([68,1,59,2,3,4,5,22,6,23,28,44,45,9,7,8,10,11,13,46,18,47,30,31,48,49,32,50,51,52,35,15,57,63])),`component`)}),za=M(`/_auth/ec2/(key)/create-key-pair`)({head:()=>({meta:[{title:`Create Key Pair | EC2 | Mulga`}]}),component:N(()=>P(()=>import(`./create-key-pair.js`),__vite__mapDeps([69,1,59,2,3,4,5,22,6,23,28,44,45,70,7,8,71,61,11,12,18,9,10,13,46,47,30,31,49,72,48,32,50,51,73,52,35,15,63])),`component`)}),Ba=M(`/_auth/ec2/(instances)/run-instances`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(an),e.queryClient.ensureQueryData(en),e.queryClient.ensureQueryData($t),e.queryClient.ensureQueryData(Qt),e.queryClient.ensureQueryData(sn)])},head:()=>({meta:[{title:`Run Instances | EC2 | Mulga`}]}),component:N(()=>P(()=>import(`./run-instances.js`),__vite__mapDeps([74,1,59,2,3,4,5,22,6,23,28,44,45,7,8,60,61,11,12,18,62,10,31,49,32,9,13,40,27,29,46,47,30,48,50,51,35,15,63])),`component`)}),Va=M(`/_auth/s3/ls/$bucket`)({component:N(()=>P(()=>import(`./route2.js`),__vite__mapDeps([75,1,17,18,19,20])),`component`)}),Ha=M(`/_auth/iam/(users)/list-users/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(dn)},head:()=>({meta:[{title:`Users | IAM | Mulga`}]}),component:N(()=>P(()=>import(`./list-users.js`),__vite__mapDeps([76,1,77,2,3,4,5,23,7,8,40,27,28,29,30,18,41,35])),`component`)}),Ua=M(`/_auth/iam/(policies)/list-policies/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(un)},head:()=>({meta:[{title:`Policies | IAM | Mulga`}]}),component:N(()=>P(()=>import(`./list-policies.js`),__vite__mapDeps([78,1,77,2,3,4,5,23,7,8,40,27,28,29,30,18,41,35])),`component`)}),Wa=M(`/_auth/ec2/(vpc)/describe-vpcs/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(cn)},head:()=>({meta:[{title:`VPCs | EC2 | Mulga`}]}),component:N(()=>P(()=>import(`./describe-vpcs.js`),__vite__mapDeps([79,1,3,4,22,2,5,6,23,7,8,40,27,28,29,30,18,41,35,36])),`component`)}),Ga=M(`/_auth/ec2/(volumes)/describe-volumes/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(ln)},head:()=>({meta:[{title:`Volumes | EC2 | Mulga`}]}),component:N(()=>P(()=>import(`./describe-volumes.js`),__vite__mapDeps([80,1,22,2,3,4,5,6,23,7,8,40,27,28,29,30,18,41,35,36])),`component`)}),Ka=M(`/_auth/ec2/(subnet)/describe-subnets/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Qt)},head:()=>({meta:[{title:`Subnets | EC2 | Mulga`}]}),component:N(()=>P(()=>import(`./describe-subnets.js`),__vite__mapDeps([81,1,3,4,22,2,5,6,23,7,8,40,27,28,29,30,18,41,35,36])),`component`)}),qa=M(`/_auth/ec2/(snapshots)/describe-snapshots/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(tn)},head:()=>({meta:[{title:`Snapshots | EC2 | Mulga`}]}),component:N(()=>P(()=>import(`./describe-snapshots.js`),__vite__mapDeps([82,1,22,2,3,4,5,6,23,7,8,40,27,28,29,30,18,41,35,36])),`component`)}),Ja=M(`/_auth/ec2/(security-groups)/describe-security-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(rn)},head:()=>({meta:[{title:`Security Groups | EC2 | Mulga`}]}),component:N(()=>P(()=>import(`./describe-security-groups.js`),__vite__mapDeps([83,1,22,2,3,4,5,6,23,7,8,40,27,28,29,30,18,41,35])),`component`)}),Ya=M(`/_auth/ec2/(placement-groups)/describe-placement-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(sn)},head:()=>({meta:[{title:`Placement Groups | EC2 | Mulga`}]}),component:N(()=>P(()=>import(`./describe-placement-groups.js`),__vite__mapDeps([84,1,22,2,3,4,5,6,23,7,8,40,27,28,29,30,18,41,35,36])),`component`)}),Xa=M(`/_auth/ec2/(key)/describe-key-pairs/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(en)},head:()=>({meta:[{title:`Key Pairs | EC2 | Mulga`}]}),component:N(()=>P(()=>import(`./describe-key-pairs.js`),__vite__mapDeps([85,1,22,2,3,4,5,6,23,7,8,40,27,28,29,30,18,41,35])),`component`)}),Za=M(`/_auth/ec2/(instances)/describe-instances/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(nn)},head:()=>({meta:[{title:`Instances | EC2 | Mulga`}]}),component:N(()=>P(()=>import(`./describe-instances.js`),__vite__mapDeps([86,1,22,2,3,4,5,6,23,7,8,40,27,28,29,30,18,41,35,36])),`component`)}),Qa=M(`/_auth/ec2/(images)/describe-images/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(an)},head:()=>({meta:[{title:`Images | EC2 | Mulga`}]}),component:N(()=>P(()=>import(`./describe-images.js`),__vite__mapDeps([87,1,22,2,3,4,5,6,23,40,27,28,29,41,30,18,35,36])),`component`)}),$a=wa.update({id:`/login`,path:`/login`,getParentRoute:()=>Ca}),H=Ta.update({id:`/_auth`,getParentRoute:()=>Ca}),eo=Ea.update({id:`/`,path:`/`,getParentRoute:()=>H}),to=Da.update({id:`/nodes`,path:`/nodes`,getParentRoute:()=>H}),no=Oa.update({id:`/s3/service-metrics`,path:`/s3/service-metrics`,getParentRoute:()=>H}),ro=ka.update({id:`/s3/ls/`,path:`/s3/ls/`,getParentRoute:()=>H}),io=Aa.update({id:`/s3/(buckets)/create-bucket`,path:`/s3/create-bucket`,getParentRoute:()=>H}),ao=ja.update({id:`/iam/(users)/create-user`,path:`/iam/create-user`,getParentRoute:()=>H}),oo=Ma.update({id:`/iam/(policies)/create-policy`,path:`/iam/create-policy`,getParentRoute:()=>H}),so=Na.update({id:`/ec2/(vpc)/create-vpc`,path:`/ec2/create-vpc`,getParentRoute:()=>H}),co=Pa.update({id:`/ec2/(volumes)/create-volume`,path:`/ec2/create-volume`,getParentRoute:()=>H}),lo=Fa.update({id:`/ec2/(subnet)/create-subnet`,path:`/ec2/create-subnet`,getParentRoute:()=>H}),U=pn.update({id:`/ec2/(snapshots)/create-snapshot`,path:`/ec2/create-snapshot`,getParentRoute:()=>H}),W=Ia.update({id:`/ec2/(security-groups)/create-security-group`,path:`/ec2/create-security-group`,getParentRoute:()=>H}),uo=La.update({id:`/ec2/(placement-groups)/create-placement-group`,path:`/ec2/create-placement-group`,getParentRoute:()=>H}),fo=Ra.update({id:`/ec2/(key)/import-key-pair`,path:`/ec2/import-key-pair`,getParentRoute:()=>H}),po=za.update({id:`/ec2/(key)/create-key-pair`,path:`/ec2/create-key-pair`,getParentRoute:()=>H}),mo=Ba.update({id:`/ec2/(instances)/run-instances`,path:`/ec2/run-instances`,getParentRoute:()=>H}),ho=Va.update({id:`/s3/ls/$bucket`,path:`/s3/ls/$bucket`,getParentRoute:()=>H}),go=mn.update({id:`/`,path:`/`,getParentRoute:()=>ho}),_o=Ha.update({id:`/iam/(users)/list-users/`,path:`/iam/list-users/`,getParentRoute:()=>H}),vo=Ua.update({id:`/iam/(policies)/list-policies/`,path:`/iam/list-policies/`,getParentRoute:()=>H}),yo=Wa.update({id:`/ec2/(vpc)/describe-vpcs/`,path:`/ec2/describe-vpcs/`,getParentRoute:()=>H}),bo=Ga.update({id:`/ec2/(volumes)/describe-volumes/`,path:`/ec2/describe-volumes/`,getParentRoute:()=>H}),xo=Ka.update({id:`/ec2/(subnet)/describe-subnets/`,path:`/ec2/describe-subnets/`,getParentRoute:()=>H}),So=qa.update({id:`/ec2/(snapshots)/describe-snapshots/`,path:`/ec2/describe-snapshots/`,getParentRoute:()=>H}),Co=Ja.update({id:`/ec2/(security-groups)/describe-security-groups/`,path:`/ec2/describe-security-groups/`,getParentRoute:()=>H}),wo=Ya.update({id:`/ec2/(placement-groups)/describe-placement-groups/`,path:`/ec2/describe-placement-groups/`,getParentRoute:()=>H}),To=Xa.update({id:`/ec2/(key)/describe-key-pairs/`,path:`/ec2/describe-key-pairs/`,getParentRoute:()=>H}),Eo=Za.update({id:`/ec2/(instances)/describe-instances/`,path:`/ec2/describe-instances/`,getParentRoute:()=>H}),Do=Qa.update({id:`/ec2/(images)/describe-images/`,path:`/ec2/describe-images/`,getParentRoute:()=>H}),Oo=hn.update({id:`/$`,path:`/$`,getParentRoute:()=>ho}),ko=gn.update({id:`/iam/(users)/list-users/$userName`,path:`/iam/list-users/$userName`,getParentRoute:()=>H}),Ao=_n.update({id:`/iam/(policies)/list-policies/$policyArn`,path:`/iam/list-policies/$policyArn`,getParentRoute:()=>H}),jo=vn.update({id:`/ec2/(vpc)/describe-vpcs/$id`,path:`/ec2/describe-vpcs/$id`,getParentRoute:()=>H}),Mo=yn.update({id:`/ec2/(volumes)/modify-volume/$id`,path:`/ec2/modify-volume/$id`,getParentRoute:()=>H}),No=je.update({id:`/ec2/(volumes)/describe-volumes/$id`,path:`/ec2/describe-volumes/$id`,getParentRoute:()=>H}),Po=bn.update({id:`/ec2/(subnet)/describe-subnets/$id`,path:`/ec2/describe-subnets/$id`,getParentRoute:()=>H}),Fo=xn.update({id:`/ec2/(snapshots)/describe-snapshots/$id`,path:`/ec2/describe-snapshots/$id`,getParentRoute:()=>H}),Io=Re.update({id:`/ec2/(security-groups)/describe-security-groups/$id`,path:`/ec2/describe-security-groups/$id`,getParentRoute:()=>H}),Lo=Sn.update({id:`/ec2/(placement-groups)/describe-placement-groups/$id`,path:`/ec2/describe-placement-groups/$id`,getParentRoute:()=>H}),Ro=Cn.update({id:`/ec2/(key)/describe-key-pairs/$id`,path:`/ec2/describe-key-pairs/$id`,getParentRoute:()=>H}),zo=wn.update({id:`/ec2/(instances)/describe-instances/$id`,path:`/ec2/describe-instances/$id`,getParentRoute:()=>H}),Bo=Tn.update({id:`/ec2/(images)/describe-images/$id`,path:`/ec2/describe-images/$id`,getParentRoute:()=>H}),Vo={AuthS3LsBucketSplatRoute:Oo,AuthS3LsBucketIndexRoute:go},Ho={AuthNodesRoute:to,AuthIndexRoute:eo,AuthS3ServiceMetricsRoute:no,AuthS3LsBucketRouteRoute:ho._addFileChildren(Vo),AuthEc2instancesRunInstancesRoute:mo,AuthEc2keyCreateKeyPairRoute:po,AuthEc2keyImportKeyPairRoute:fo,AuthEc2placementGroupsCreatePlacementGroupRoute:uo,AuthEc2securityGroupsCreateSecurityGroupRoute:W,AuthEc2snapshotsCreateSnapshotRoute:U,AuthEc2subnetCreateSubnetRoute:lo,AuthEc2volumesCreateVolumeRoute:co,AuthEc2vpcCreateVpcRoute:so,AuthIampoliciesCreatePolicyRoute:oo,AuthIamusersCreateUserRoute:ao,AuthS3bucketsCreateBucketRoute:io,AuthS3LsIndexRoute:ro,AuthEc2imagesDescribeImagesIdRoute:Bo,AuthEc2instancesDescribeInstancesIdRoute:zo,AuthEc2keyDescribeKeyPairsIdRoute:Ro,AuthEc2placementGroupsDescribePlacementGroupsIdRoute:Lo,AuthEc2securityGroupsDescribeSecurityGroupsIdRoute:Io,AuthEc2snapshotsDescribeSnapshotsIdRoute:Fo,AuthEc2subnetDescribeSubnetsIdRoute:Po,AuthEc2volumesDescribeVolumesIdRoute:No,AuthEc2volumesModifyVolumeIdRoute:Mo,AuthEc2vpcDescribeVpcsIdRoute:jo,AuthIampoliciesListPoliciesPolicyArnRoute:Ao,AuthIamusersListUsersUserNameRoute:ko,AuthEc2imagesDescribeImagesIndexRoute:Do,AuthEc2instancesDescribeInstancesIndexRoute:Eo,AuthEc2keyDescribeKeyPairsIndexRoute:To,AuthEc2placementGroupsDescribePlacementGroupsIndexRoute:wo,AuthEc2securityGroupsDescribeSecurityGroupsIndexRoute:Co,AuthEc2snapshotsDescribeSnapshotsIndexRoute:So,AuthEc2subnetDescribeSubnetsIndexRoute:xo,AuthEc2volumesDescribeVolumesIndexRoute:bo,AuthEc2vpcDescribeVpcsIndexRoute:yo,AuthIampoliciesListPoliciesIndexRoute:vo,AuthIamusersListUsersIndexRoute:_o},Uo={AuthRouteRoute:H._addFileChildren(Ho),LoginRoute:$a},Wo=Ca._addFileChildren(Uo)._addFileTypes(),Go=new Mn({defaultOptions:{queries:{staleTime:5e3}}}),Ko=ar({routeTree:Wo,context:{queryClient:Go},defaultPreload:`intent`,scrollRestoration:!0,defaultStructuralSharing:!0,defaultPreloadStaleTime:0}),qo=document.querySelector(`#app`);qo&&!qo.innerHTML&&vr.createRoot(qo).render((0,L.jsx)(I.StrictMode,{children:(0,L.jsx)(xr,{defaultTheme:`dark`,storageKey:`spinifex-ui-theme`,children:(0,L.jsx)(x,{client:Go,children:(0,L.jsx)(Ee,{children:(0,L.jsx)(ta,{children:(0,L.jsx)(cr,{router:Ko})})})})})})); \ No newline at end of file +`+e.stack}}var we=Object.prototype.hasOwnProperty,Te=t.unstable_scheduleCallback,Ee=t.unstable_cancelCallback,De=t.unstable_shouldYield,P=t.unstable_requestPaint,Oe=t.unstable_now,ke=t.unstable_getCurrentPriorityLevel,Ae=t.unstable_ImmediatePriority,je=t.unstable_UserBlockingPriority,Me=t.unstable_NormalPriority,Ne=t.unstable_LowPriority,Pe=t.unstable_IdlePriority,Fe=t.log,Ie=t.unstable_setDisableYieldValue,Le=null,Re=null;function ze(e){if(typeof Fe==`function`&&Ie(e),Re&&typeof Re.setStrictMode==`function`)try{Re.setStrictMode(Le,e)}catch{}}var Be=Math.clz32?Math.clz32:Ue,Ve=Math.log,He=Math.LN2;function Ue(e){return e>>>=0,e===0?32:31-(Ve(e)/He|0)|0}var We=256,Ge=262144,Ke=4194304;function qe(e){var t=e&42;if(t!==0)return t;switch(e&-e){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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Je(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=qe(n))):i=qe(o):i=qe(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=qe(n))):i=qe(o)):i=qe(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function Ye(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Xe(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32: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 t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ze(){var e=Ke;return Ke<<=1,!(Ke&62914560)&&(Ke=4194304),e}function Qe(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function $e(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function et(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),pn=!1;if(fn)try{var mn={};Object.defineProperty(mn,`passive`,{get:function(){pn=!0}}),window.addEventListener(`test`,mn,mn),window.removeEventListener(`test`,mn,mn)}catch{pn=!1}var hn=null,gn=null,_n=null;function vn(){if(_n)return _n;var e,t=gn,n=t.length,r,i=`value`in hn?hn.value:hn.textContent,a=i.length;for(e=0;e=Yn),Qn=` `,$n=!1;function er(e,t){switch(e){case`keyup`:return qn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function tr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var nr=!1;function rr(e,t){switch(e){case`compositionend`:return tr(t);case`keypress`:return t.which===32?($n=!0,Qn):null;case`textInput`:return e=t.data,e===Qn&&$n?null:e;default:return null}}function ir(e,t){if(nr)return e===`compositionend`||!Jn&&er(e,t)?(e=vn(),_n=gn=hn=null,nr=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=wr(n)}}function Er(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Er(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Dr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=zt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=zt(e.document)}return t}function Or(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var kr=fn&&`documentMode`in document&&11>=document.documentMode,Ar=null,jr=null,Mr=null,Nr=!1;function Pr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Nr||Ar==null||Ar!==zt(r)||(r=Ar,`selectionStart`in r&&Or(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Mr&&Cr(Mr,r)||(Mr=r,r=Ed(jr,`onSelect`),0>=o,i-=o,Ti=1<<32-Be(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),V&&Di(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),V&&Di(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return V&&Di(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),V&&Di(i,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===_&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case h:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===_){if(r.tag===7){n(e,r.sibling),c=i(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===E&&Ta(l)===r.type){n(e,r.sibling),c=i(r,o.props),Ma(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===_?(c=fi(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=z(o.type,o.key,o.props,null,e.mode,c),Ma(c,o),c.return=e,e=c)}return s(e);case g:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=i(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=hi(o,e.mode,c),c.return=e,e=c}return s(e);case E:return o=Ta(o),b(e,r,o,c)}if(ae(o))return v(e,r,o,c);if(ne(o)){if(l=ne(o),typeof l!=`function`)throw Error(a(150));return o=l.call(o),y(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,ja(o),c);if(o.$$typeof===x)return b(e,r,ea(e,o),c);Na(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,o),c.return=e,e=c):(n(e,r),c=pi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Aa=0;var i=b(e,t,n,r);return ka=null,i}catch(t){if(t===H||t===xa)throw t;var a=ci(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Fa=Pa(!0),Ia=Pa(!1),La=!1;function Ra(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function za(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ba(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Va(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,K&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=ai(e),ii(e,null,n),t}return ti(e,r,t,n),ai(e)}function Ha(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,nt(e,n)}}function Ua(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Wa=!1;function Ga(){if(Wa){var e=da;if(e!==null)throw e}}function Ka(e,t,n,r){Wa=!1;var i=e.updateQueue;La=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,m=f!==s.lane;if(m?(Y&f)===f:(r&f)===f){f!==0&&f===ua&&(Wa=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=p({},d,f);break a;case 2:La=!0}}f=s.callback,f!==null&&(e.flags|=64,m&&(e.flags|=8192),m=i.callbacks,m===null?i.callbacks=[f]:m.push(f))}else m={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=m,c=d):u=u.next=m,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;m=s,s=m.next,m.next=null,i.lastBaseUpdate=m,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Gl|=o,e.lanes=o,e.memoizedState=d}}function qa(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function Ja(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=O.T,s={};O.T=s,Ms(e,!1,t,n);try{var c=i(),l=O.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?js(e,t,ma(c,r),pu(e)):js(e,t,r,pu(e))}catch(n){js(e,t,{then:function(){},status:`rejected`,reason:n},pu())}finally{k.p=a,o!==null&&s.types!==null&&(o.types=s.types),O.T=o}}function xs(){}function Ss(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=Cs(e).queue;bs(e,i,t,oe,n===null?xs:function(){return ws(e),n(r)})}function Cs(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:oe,baseState:oe,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:No,lastRenderedState:oe},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:No,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function ws(e){var t=Cs(e);t.next===null&&(t=e.alternate.memoizedState),js(e,t.next.queue,{},pu())}function Ts(){return $i(Qf)}function Es(){return Oo().memoizedState}function Ds(){return Oo().memoizedState}function Os(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=pu();e=Ba(n);var r=Va(t,e,n);r!==null&&(hu(r,t,n),Ha(r,t,n)),t={cache:oa()},e.payload=t;return}t=t.return}}function ks(e,t,n){var r=pu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Ns(e)?Ps(t,n):(n=ni(e,t,n,r),n!==null&&(hu(n,e,r),Fs(n,t,r)))}function As(e,t,n){js(e,t,n,pu())}function js(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ns(e))Ps(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,R(s,o))return ti(e,t,i,0),q===null&&ei(),!1}catch{}if(n=ni(e,t,i,r),n!==null)return hu(n,e,r),Fs(n,t,r),!0}return!1}function Ms(e,t,n,r){if(r={lane:2,revertLane:dd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Ns(e)){if(t)throw Error(a(479))}else t=ni(e,n,r,2),t!==null&&hu(t,e,2)}function Ns(e){var t=e.alternate;return e===W||t!==null&&t===W}function Ps(e,t){fo=uo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Fs(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,nt(e,n)}}var Is={readContext:$i,use:jo,useCallback:vo,useContext:vo,useEffect:vo,useImperativeHandle:vo,useLayoutEffect:vo,useInsertionEffect:vo,useMemo:vo,useReducer:vo,useRef:vo,useState:vo,useDebugValue:vo,useDeferredValue:vo,useTransition:vo,useSyncExternalStore:vo,useId:vo,useHostTransitionStatus:vo,useFormState:vo,useActionState:vo,useOptimistic:vo,useMemoCache:vo,useCacheRefresh:vo};Is.useEffectEvent=vo;var Ls={readContext:$i,use:jo,useCallback:function(e,t){return Do().memoizedState=[e,t===void 0?null:t],e},useContext:$i,useEffect:ss,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),as(4194308,4,ps.bind(null,t,e),n)},useLayoutEffect:function(e,t){return as(4194308,4,e,t)},useInsertionEffect:function(e,t){as(4,2,e,t)},useMemo:function(e,t){var n=Do();t=t===void 0?null:t;var r=e();if(po){ze(!0);try{e()}finally{ze(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Do();if(n!==void 0){var i=n(t);if(po){ze(!0);try{n(t)}finally{ze(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=ks.bind(null,W,e),[r.memoizedState,e]},useRef:function(e){var t=Do();return e={current:e},t.memoizedState=e},useState:function(e){e=Uo(e);var t=e.queue,n=As.bind(null,W,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:hs,useDeferredValue:function(e,t){return vs(Do(),e,t)},useTransition:function(){var e=Uo(!1);return e=bs.bind(null,W,e.queue,!0,!1),Do().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=W,i=Do();if(V){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),q===null)throw Error(a(349));Y&127||Ro(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,ss(Bo.bind(null,r,o,e),[e]),r.flags|=2048,rs(9,{destroy:void 0},zo.bind(null,r,o,n,t),null),n},useId:function(){var e=Do(),t=q.identifierPrefix;if(V){var n=Ei,r=Ti;n=(r&~(1<<32-Be(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=mo++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(i,{is:r.is}):s.createElement(i)}}o[lt]=t,o[ut]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Pd(o,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&jc(t)}}return Ic(t),Mc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&jc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=pe.current,zi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=Mi,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[lt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Md(e.nodeValue,n)),e||Ii(t,!0)}else e=Bd(e).createTextNode(r),e[lt]=t,t.stateNode=e}return Ic(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=zi(t),n!==null){if(e===null){if(!r)throw Error(a(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(557));e[lt]=t}else Bi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Ic(t),e=!1}else n=Vi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(oo(t),t):(oo(t),null);if(t.flags&128)throw Error(a(558))}return Ic(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=zi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(a(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(a(317));i[lt]=t}else Bi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Ic(t),i=!1}else i=Vi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(oo(t),t):(oo(t),null)}return oo(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Pc(t,t.updateQueue),Ic(t),null);case 4:return he(),e===null&&Sd(t.stateNode.containerInfo),Ic(t),null;case 10:return qi(t.type),Ic(t),null;case 19:if(ue(so),r=t.memoizedState,r===null)return Ic(t),null;if(i=(t.flags&128)!=0,o=r.rendering,o===null)if(i)Fc(r,!1);else{if(Wl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=co(e),o!==null){for(t.flags|=128,Fc(r,!1),e=o.updateQueue,t.updateQueue=e,Pc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)di(n,e),n=n.sibling;return A(so,so.current&1|2),V&&Di(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Oe()>tu&&(t.flags|=128,i=!0,Fc(r,!1),t.lanes=4194304)}else{if(!i)if(e=co(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Pc(t,e),Fc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!V)return Ic(t),null}else 2*Oe()-r.renderingStartTime>tu&&n!==536870912&&(t.flags|=128,i=!0,Fc(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Ic(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Oe(),e.sibling=null,n=so.current,A(so,i?n&1|2:n&1),V&&Di(t,r.treeForkCount),e);case 22:case 23:return oo(t),$a(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Ic(t),t.subtreeFlags&6&&(t.flags|=8192)):Ic(t),n=t.updateQueue,n!==null&&Pc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&ue(ga),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),qi(aa),Ic(t),null;case 25:return null;case 30:return null}throw Error(a(156,t.tag))}function Rc(e,t){switch(Ai(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return qi(aa),he(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ge(t),null;case 31:if(t.memoizedState!==null){if(oo(t),t.alternate===null)throw Error(a(340));Bi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(oo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));Bi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ue(so),null;case 4:return he(),null;case 10:return qi(t.type),null;case 22:case 23:return oo(t),$a(),e!==null&&ue(ga),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return qi(aa),null;case 25:return null;default:return null}}function zc(e,t){switch(Ai(t),t.tag){case 3:qi(aa),he();break;case 26:case 27:case 5:ge(t);break;case 4:he();break;case 31:t.memoizedState!==null&&oo(t);break;case 13:oo(t);break;case 19:ue(so);break;case 10:qi(t.type);break;case 22:case 23:oo(t),$a(),e!==null&&ue(ga);break;case 24:qi(aa)}}function Bc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Z(t,t.return,e)}}function Vc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Z(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Z(t,t.return,e)}}function Hc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Ja(t,n)}catch(t){Z(e,e.return,t)}}}function Uc(e,t,n){n.props=Ws(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Z(e,t,n)}}function Wc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Z(e,t,n)}}function Gc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Z(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Z(e,t,n)}else n.current=null}function Kc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Z(e,e.return,t)}}function qc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[ut]=t}catch(t){Z(e,e.return,t)}}function Jc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function Yc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Jc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Zd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Xc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=nn));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Xc(e,t,n),e=e.sibling;e!==null;)Xc(e,t,n),e=e.sibling}function Zc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Zc(e,t,n),e=e.sibling;e!==null;)Zc(e,t,n),e=e.sibling}function Qc(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Pd(t,r,n),t[lt]=e,t[ut]=n}catch(t){Z(e,e.return,t)}}var $c=!1,el=!1,tl=!1,nl=typeof WeakSet==`function`?WeakSet:Set,rl=null;function il(e,t){if(e=e.containerInfo,Rd=sp,e=Dr(e),Or(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(c=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===i&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(zd={focusedElem:e,selectionRange:n},sp=!1,rl=t;rl!==null;)if(t=rl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,rl=e;else for(;rl!==null;){switch(t=rl,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n title`))),Pd(o,r,n),o[lt]=e,St(o),r=o;break a;case`link`:var s=Vf(`link`,`href`,i).get(r+(n.href||``));if(s){for(var c=0;cg&&(o=g,g=h,h=o);var _=Tr(s,h),v=Tr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,O.T=null,n=lu,lu=null;var o=au,s=su;if(iu=0,ou=au=null,su=0,K&6)throw Error(a(331));var c=K;if(K|=4,Pl(o.current),El(o,o.current,s,n),K=c,id(0,!1),Re&&typeof Re.onPostCommitFiberRoot==`function`)try{Re.onPostCommitFiberRoot(Le,o)}catch{}return!0}finally{k.p=i,O.T=r,Vu(e,t)}}function Wu(e,t,n){t=_i(n,t),t=Xs(e.stateNode,t,2),e=Va(e,t,2),e!==null&&($e(e,2),rd(e))}function Z(e,t,n){if(e.tag===3)Wu(e,e,n);else for(;t!==null;){if(t.tag===3){Wu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(ru===null||!ru.has(r))){e=_i(n,e),n=Zs(2),r=Va(t,n,2),r!==null&&(Qs(n,r,t,e),$e(r,2),rd(r));break}}t=t.return}}function Gu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Rl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Hl=!0,i.add(n),e=Ku.bind(null,e,t,n),t.then(e,e))}function Ku(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,q===e&&(Y&n)===n&&(Wl===4||Wl===3&&(Y&62914560)===Y&&300>Oe()-$l?!(K&2)&&Su(e,0):ql|=n,Yl===Y&&(Yl=0)),rd(e)}function qu(e,t){t===0&&(t=Ze()),e=ri(e,t),e!==null&&($e(e,t),rd(e))}function Ju(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),qu(e,n)}function Yu(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(a(314))}r!==null&&r.delete(t),qu(e,n)}function Xu(e,t){return Te(e,t)}var Zu=null,Qu=null,$u=!1,ed=!1,td=!1,nd=0;function rd(e){e!==Qu&&e.next===null&&(Qu===null?Zu=Qu=e:Qu=Qu.next=e),ed=!0,$u||($u=!0,ud())}function id(e,t){if(!td&&ed){td=!0;do for(var n=!1,r=Zu;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Be(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,ld(r,a))}else a=Y,a=Je(r,r===q?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||Ye(r,a)||(n=!0,ld(r,a));r=r.next}while(n);td=!1}}function ad(){od()}function od(){ed=$u=!1;var e=0;nd!==0&&Gd()&&(e=nd);for(var t=Oe(),n=null,r=Zu;r!==null;){var i=r.next,a=sd(r,t);a===0?(r.next=null,n===null?Zu=i:n.next=i,i===null&&(Qu=n)):(n=r,(e!==0||a&3)&&(ed=!0)),r=i}iu!==0&&iu!==5||id(e,!1),nd!==0&&(nd=0)}function sd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&Id(d)&&(c=c.responseEnd,o+=u*(c`u`?null:document;function xf(e,t,n){var r=bf;if(r&&typeof t==`string`&&t){var i=Vt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),hf.has(i)||(hf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Pd(t,`link`,e),St(t),r.head.appendChild(t)))}}function Sf(e){_f.D(e),xf(`dns-prefetch`,e,null)}function Cf(e,t){_f.C(e,t),xf(`preconnect`,e,t)}function wf(e,t,n){_f.L(e,t,n);var r=bf;if(r&&e&&t){var i=`link[rel="preload"][as="`+Vt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Vt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Vt(n.imageSizes)+`"]`)):i+=`[href="`+Vt(e)+`"]`;var a=i;switch(t){case`style`:a=Af(e);break;case`script`:a=Pf(e)}mf.has(a)||(e=p({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(jf(a))||t===`script`&&r.querySelector(Ff(a))||(t=r.createElement(`link`),Pd(t,`link`,e),St(t),r.head.appendChild(t)))}}function Tf(e,t){_f.m(e,t);var n=bf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Vt(r)+`"][href="`+Vt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Pf(e)}if(!mf.has(a)&&(e=p({rel:`modulepreload`,href:e},t),mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Ff(a)))return}r=n.createElement(`link`),Pd(r,`link`,e),St(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=xt(r).hoistableStyles,a=Af(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(jf(a)))s.loading=5;else{e=p({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=mf.get(a))&&Rf(e,n);var c=o=r.createElement(`link`);St(c),Pd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Lf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Df(e,t){_f.X(e,t);var n=bf;if(n&&e){var r=xt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=p({src:e,async:!0},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),St(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Of(e,t){_f.M(e,t);var n=bf;if(n&&e){var r=xt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=p({src:e,async:!0,type:`module`},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),St(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t,n,r){var i=(i=pe.current)?gf(i):null;if(!i)throw Error(a(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Af(n.href),n=xt(i).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Af(n.href);var o=xt(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(jf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),mf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},mf.set(e,n),o||Nf(i,e,n,s.state))),t&&r===null)throw Error(a(528,``));return s}if(t&&r!==null)throw Error(a(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Pf(n),n=xt(i).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(a(444,e))}}function Af(e){return`href="`+Vt(e)+`"`}function jf(e){return`link[rel="stylesheet"][`+e+`]`}function Mf(e){return p({},e,{"data-precedence":e.precedence,precedence:null})}function Nf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Pd(t,`link`,n),St(t),e.head.appendChild(t))}function Pf(e){return`[src="`+Vt(e)+`"]`}function Ff(e){return`script[async]`+e}function If(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Vt(n.href)+`"]`);if(r)return t.instance=r,St(r),r;var i=p({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),St(r),Pd(r,`style`,i),Lf(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Af(n.href);var o=e.querySelector(jf(i));if(o)return t.state.loading|=4,t.instance=o,St(o),o;r=Mf(n),(i=mf.get(i))&&Rf(r,i),o=(e.ownerDocument||e).createElement(`link`),St(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Pd(o,`link`,r),t.state.loading|=4,Lf(o,n.precedence,e),t.instance=o;case`script`:return o=Pf(n.src),(i=e.querySelector(Ff(o)))?(t.instance=i,St(i),i):(r=n,(i=mf.get(o))&&(r=p({},n),zf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),St(i),Pd(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(a(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Lf(r,n.precedence,e));return t.instance}function Lf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function Uf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Wf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Gf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Af(r.href),a=t.querySelector(jf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Jf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,St(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),St(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Jf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Kf=0;function qf(e,t){return e.stylesheets&&e.count===0&&Xf(e,e.stylesheets),0Kf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yf=null;function Xf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yf=new Map,t.forEach(Zf,e),Yf=null,Jf.call(e))}function Zf(e,t){if(!(t.state.loading&4)){var n=Yf.get(e);if(n)var r=n.get(null);else{n=new Map,Yf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=xr()}))(),1),R=i(),Cr=(0,I.createContext)(void 0);function wr(e,t){try{let t=localStorage.getItem(e);if(t===`light`||t===`dark`||t===`system`)return t}catch{}return t}function Tr(e){let t=(0,R.c)(14),{children:n,defaultTheme:r,storageKey:i}=e,a=r===void 0?`dark`:r,o=i===void 0?`ui-theme`:i,s;t[0]!==a||t[1]!==o?(s=()=>wr(o,a),t[0]=a,t[1]=o,t[2]=s):s=t[2];let[c,l]=(0,I.useState)(s),u,d;t[3]===c?(u=t[4],d=t[5]):(u=()=>{let e=window.document.documentElement;if(e.classList.remove(`light`,`dark`),c===`system`){let t=window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`;e.classList.add(t);return}e.classList.add(c)},d=[c],t[3]=c,t[4]=u,t[5]=d),(0,I.useEffect)(u,d);let f;t[6]===o?f=t[7]:(f=e=>{try{localStorage.setItem(o,e)}catch{}l(e)},t[6]=o,t[7]=f);let p;t[8]!==f||t[9]!==c?(p={theme:c,setTheme:f},t[8]=f,t[9]=c,t[10]=p):p=t[10];let m=p,h;return t[11]!==n||t[12]!==m?(h=(0,L.jsx)(Cr.Provider,{value:m,children:n}),t[11]=n,t[12]=m,t[13]=h):h=t[13],h}function Er(){let e=(0,I.useContext)(Cr);if(e===void 0)throw Error(`useTheme must be used within a ThemeProvider`);return e}var Dr=Ae(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),Or=Ae(`book-open`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}]]),kr=Ae(`circle-alert`,[[`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`}]]),Ar=Ae(`crosshair`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`22`,x2:`18`,y1:`12`,y2:`12`,key:`l9bcsi`}],[`line`,{x1:`6`,x2:`2`,y1:`12`,y2:`12`,key:`13hhkx`}],[`line`,{x1:`12`,x2:`12`,y1:`6`,y2:`2`,key:`10w3f3`}],[`line`,{x1:`12`,x2:`12`,y1:`22`,y2:`18`,key:`15g9kq`}]]),jr=Ae(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]]),Mr=Ae(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),Nr=Ae(`layers`,[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`,key:`zw3jo`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,key:`1wduqc`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,key:`kqbvx6`}]]),Pr=Ae(`layout-grid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),Fr=Ae(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),Ir=Ae(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),Lr=Ae(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),Rr=Ae(`shield-check`,[[`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`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),zr=Ae(`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`}]]),Br=Ae(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),Vr=Ae(`waypoints`,[[`path`,{d:`m10.586 5.414-5.172 5.172`,key:`4mc350`}],[`path`,{d:`m18.586 13.414-5.172 5.172`,key:`8c96vv`}],[`path`,{d:`M6 12h12`,key:`8npq4p`}],[`circle`,{cx:`12`,cy:`20`,r:`2`,key:`144qzu`}],[`circle`,{cx:`12`,cy:`4`,r:`2`,key:`muu5ef`}],[`circle`,{cx:`20`,cy:`12`,r:`2`,key:`1xzzfp`}],[`circle`,{cx:`4`,cy:`12`,r:`2`,key:`1hvhnz`}]]);function Hr(e,t){return t!=null&&!gt(t)?0:typeof e==`function`?e():e}function Ur(e,t,n){let r=Hr(e,n);return typeof r==`number`?r:r?.[t]}function Wr(e){return typeof e==`function`?e():e}function Gr(e,t){return t||e===`click`||e===`mousedown`}var Kr=I.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new Et,currentIdRef:{current:null},currentContextRef:{current:null}});function qr(e){let{children:t,delay:n,timeoutMs:r=0}=e,i=I.useRef(n),a=I.useRef(n),o=I.useRef(null),s=I.useRef(null),c=At();return(0,L.jsx)(Kr.Provider,{value:I.useMemo(()=>({hasProvider:!0,delayRef:i,initialDelayRef:a,currentIdRef:o,timeoutMs:r,currentContextRef:s,timeout:c}),[r,c]),children:t})}function Jr(e,t={open:!1}){let n=`rootStore`in e?e.rootStore:e,r=n.useState(`floatingId`),{open:i}=t,{currentIdRef:a,delayRef:o,timeoutMs:s,initialDelayRef:c,currentContextRef:l,hasProvider:u,timeout:d}=I.useContext(Kr),[f,p]=I.useState(!1);return We(()=>{function e(){p(!1),l.current?.setIsInstantPhase(!1),a.current=null,l.current=null,o.current=c.current}if(a.current&&!i&&a.current===r){if(p(!1),s){let t=r;return d.start(s,()=>{n.select(`open`)||a.current&&a.current!==t||e()}),()=>{d.clear()}}e()}},[i,r,a,o,s,c,l,d,n]),We(()=>{if(!i)return;let e=l.current,t=a.current;d.clear(),l.current={onOpenChange:n.setOpen,setIsInstantPhase:p},a.current=r,o.current={open:0,close:Ur(c.current,`close`)},t!==null&&t!==r?(p(!0),e?.setIsInstantPhase(!0),e?.onOpenChange(!1,st(ct))):(p(!1),e?.setIsInstantPhase(!1))},[i,r,n,a,o,s,c,l,d]),We(()=>()=>{l.current=null},[l]),I.useMemo(()=>({hasProvider:u,delayRef:o,isInstantPhase:f}),[u,o,f])}function Yr(e,t){let n=null,r=null,i=!1;return{contextElement:e||void 0,getBoundingClientRect(){let a=e?.getBoundingClientRect()||{width:0,height:0,x:0,y:0},o=t.axis===`x`||t.axis===`both`,s=t.axis===`y`||t.axis===`both`,c=[`mouseenter`,`mousemove`].includes(t.dataRef.current.openEvent?.type||``)&&t.pointerType!==`touch`,l=a.width,u=a.height,d=a.x,f=a.y;return n==null&&t.x&&o&&(n=a.x-t.x),r==null&&t.y&&s&&(r=a.y-t.y),d-=n||0,f-=r||0,l=0,u=0,!i||c?(l=t.axis===`y`?a.width:0,u=t.axis===`x`?a.height:0,d=o&&t.x!=null?t.x:d,f=s&&t.y!=null?t.y:f):i&&!c&&(u=t.axis===`x`?a.height:u,l=t.axis===`y`?a.width:l),i=!0,{width:l,height:u,x:d,y:f,top:f,right:d+l,bottom:f+u,left:d}}}}function Xr(e){return e!=null&&e.clientX!=null}function Zr(e,t={}){let n=`rootStore`in e?e.rootStore:e,r=n.useState(`open`),i=n.useState(`floatingElement`),a=n.useState(`domReferenceElement`),o=n.context.dataRef,{enabled:s=!0,axis:c=`both`}=t,l=I.useRef(!1),u=I.useRef(null),[d,f]=I.useState(),[p,m]=I.useState([]),h=He((e,t,r)=>{l.current||o.current.openEvent&&!Xr(o.current.openEvent)||n.set(`positionReference`,Yr(r??a,{x:e,y:t,axis:c,dataRef:o,pointerType:d}))}),g=He(e=>{r?u.current||m([]):h(e.clientX,e.clientY,e.currentTarget)}),_=gt(d)?i:r,v=I.useCallback(()=>{if(!_||!s)return;let e=Be(i);function t(n){tt(i,ut(n))?(e.removeEventListener(`mousemove`,t),u.current=null):h(n.clientX,n.clientY)}if(!o.current.openEvent||Xr(o.current.openEvent)){e.addEventListener(`mousemove`,t);let n=()=>{e.removeEventListener(`mousemove`,t),u.current=null};return u.current=n,n}n.set(`positionReference`,a)},[_,s,i,o,a,n,h]);I.useEffect(()=>v(),[v,p]),I.useEffect(()=>{s&&!i&&(l.current=!1)},[s,i]),I.useEffect(()=>{!s&&r&&(l.current=!0)},[s,r]);let y=I.useMemo(()=>{function e(e){f(e.pointerType)}return{onPointerDown:e,onPointerEnter:e,onMouseMove:g,onMouseEnter:g}},[g]);return I.useMemo(()=>s?{reference:y,trigger:y}:{},[s,y])}var Qr=Ye&&Ze;function $r(e,t={}){let n=`rootStore`in e?e.rootStore:e,{events:r,dataRef:i}=n.context,{enabled:a=!0,delay:o}=t,s=I.useRef(!1),c=I.useRef(null),l=At(),u=I.useRef(!0);I.useEffect(()=>{let e=n.select(`domReferenceElement`);if(!a)return;let t=Be(e);function r(){let e=n.select(`domReferenceElement`);!n.select(`open`)&&Ve(e)&&e===rt(Je(e))&&(s.current=!0)}function i(){u.current=!0}function o(){u.current=!1}return t.addEventListener(`blur`,r),Qr&&(t.addEventListener(`keydown`,i,!0),t.addEventListener(`pointerdown`,o,!0)),()=>{t.removeEventListener(`blur`,r),Qr&&(t.removeEventListener(`keydown`,i,!0),t.removeEventListener(`pointerdown`,o,!0))}},[n,a]),I.useEffect(()=>{if(!a)return;function e(e){if(e.reason===`trigger-press`||e.reason===`escape-key`){let e=n.select(`domReferenceElement`);Ke(e)&&(c.current=e,s.current=!0)}}return r.on(`openchange`,e),()=>{r.off(`openchange`,e)}},[r,a,n]);let d=I.useMemo(()=>({onMouseLeave(){s.current=!1,c.current=null},onFocus(e){let t=e.currentTarget;if(s.current){if(c.current===t)return;s.current=!1,c.current=null}let r=ut(e.nativeEvent);if(Ke(r)){if(Qr&&!e.relatedTarget){if(!u.current&&!lt(r))return}else if(!$e(r))return}let i=Qe(e.relatedTarget,n.context.triggerElements),{nativeEvent:a,currentTarget:d}=e,f=typeof o==`function`?o():o;if(n.select(`open`)&&i||f===0||f===void 0){n.setOpen(!0,st(nt,a,d));return}l.start(f,()=>{s.current||n.setOpen(!0,st(nt,a,d))})},onBlur(e){s.current=!1,c.current=null;let t=e.relatedTarget,r=e.nativeEvent,a=Ke(t)&&t.hasAttribute(St(`focus-guard`))&&t.getAttribute(`data-type`)===`outside`;l.start(0,()=>{let e=n.select(`domReferenceElement`),o=rt(e?e.ownerDocument:document);!t&&o===e||tt(i.current.floatingContext?.refs.floating.current,o)||tt(e,o)||a||Qe(t??o,n.context.triggerElements)||n.setOpen(!1,st(nt,r))})}}),[i,n,l,o]);return I.useMemo(()=>a?{reference:d,trigger:d}:{},[a,d])}var ei=`button,a,[role="button"],select,[tabindex]:not([tabindex="-1"]),${Xe}`;function ti(e){return e?!!e.closest(ei):!1}var ni=class e{constructor(){this.pointerType=void 0,this.interactedInside=!1,this.handler=void 0,this.blockMouseMove=!0,this.performedPointerEventsMutation=!1,this.pointerEventsScopeElement=null,this.pointerEventsReferenceElement=null,this.pointerEventsFloatingElement=null,this.restTimeoutPending=!1,this.openChangeTimeout=new Et,this.restTimeout=new Et,this.handleCloseOptions=void 0}static create(){return new e}dispose=()=>{this.openChangeTimeout.clear(),this.restTimeout.clear()};disposeEffect=()=>this.dispose};function ri(e){e.performedPointerEventsMutation&&(e.pointerEventsScopeElement?.style.removeProperty(`pointer-events`),e.pointerEventsReferenceElement?.style.removeProperty(`pointer-events`),e.pointerEventsFloatingElement?.style.removeProperty(`pointer-events`),e.performedPointerEventsMutation=!1,e.pointerEventsScopeElement=null,e.pointerEventsReferenceElement=null,e.pointerEventsFloatingElement=null)}function ii(e,t){let{scopeElement:n,referenceElement:r,floatingElement:i}=t;ri(e),e.performedPointerEventsMutation=!0,e.pointerEventsScopeElement=n,e.pointerEventsReferenceElement=r,e.pointerEventsFloatingElement=i,n.style.pointerEvents=`none`,r.style.pointerEvents=`auto`,i.style.pointerEvents=`auto`}function ai(e){let t=Ce(ni.create).current,n=e.context.dataRef.current;return n.hoverInteractionState||=t,ft(n.hoverInteractionState.disposeEffect),n.hoverInteractionState}function oi(e,t={}){let n=`rootStore`in e?e.rootStore:e,r=n.useState(`open`),i=n.useState(`floatingElement`),a=n.useState(`domReferenceElement`),{dataRef:o}=n.context,{enabled:s=!0,closeDelay:c=0}=t,l=ai(n),u=wt(),d=Ct(),f=He(()=>Gr(o.current.openEvent?.type,l.interactedInside)),p=He(()=>{let e=o.current.openEvent?.type;return e?.includes(`mouse`)&&e!==`mousedown`}),m=He(e=>Qe(e,n.context.triggerElements)),h=I.useCallback(e=>{let t=Ur(c,`close`,l.pointerType),r=()=>{n.setOpen(!1,st(at,e)),u?.events.emit(`floating.closed`,e)};t?l.openChangeTimeout.start(t,r):(l.openChangeTimeout.clear(),r())},[c,n,l,u]),g=He(()=>{ri(l)}),_=He(e=>{let t=ut(e);if(!ti(t)){l.interactedInside=!1;return}l.interactedInside=t?.closest(`[aria-haspopup]`)!=null});We(()=>{r||(l.pointerType=void 0,l.restTimeoutPending=!1,l.interactedInside=!1,g())},[r,l,g]),I.useEffect(()=>g,[g]),We(()=>{if(s&&r&&l.handleCloseOptions?.blockPointerEvents&&p()&&Ke(a)&&i){let e=a,t=i,n=Je(i),r=u?.nodesRef.current.find(e=>e.id===d)?.context?.elements.floating;return r&&(r.style.pointerEvents=``),ii(l,{scopeElement:l.handleCloseOptions?.getScope?.()??l.pointerEventsScopeElement??r??e.closest(`[data-rootownerid]`)??n.body,referenceElement:e,floatingElement:t}),()=>{g()}}},[s,r,a,i,l,p,u,d,g]);let v=At();I.useEffect(()=>{if(!s)return;function e(){l.openChangeTimeout.clear(),v.clear(),u?.events.off(`floating.closed`,r),g()}function t(e){if(u&&d&&vt(u.nodesRef.current,d).length>0){u.events.on(`floating.closed`,r);return}if(!m(e.relatedTarget)){if(l.handler){l.handler(e);return}g(),f()||h(e)}}function r(e){!u||!d||vt(u.nodesRef.current,d).length>0||v.start(0,()=>{u.events.off(`floating.closed`,r),n.setOpen(!1,st(at,e)),u.events.emit(`floating.closed`,e)})}let a=i;return a&&(a.addEventListener(`mouseenter`,e),a.addEventListener(`mouseleave`,t),a.addEventListener(`pointerdown`,_,!0)),()=>{a&&(a.removeEventListener(`mouseenter`,e),a.removeEventListener(`mouseleave`,t),a.removeEventListener(`pointerdown`,_,!0)),u?.events.off(`floating.closed`,r)}},[s,i,n,o,f,m,h,g,_,l,u,d,v])}var si=e(_e()),ci={current:null};function li(e,t={}){let n=`rootStore`in e?e.rootStore:e,{dataRef:r,events:i}=n.context,{enabled:a=!0,delay:o=0,handleClose:s=null,mouseOnly:c=!1,restMs:l=0,move:u=!0,triggerElementRef:d=ci,externalTree:f,isActiveTrigger:p=!0,getHandleCloseContext:m}=t,h=wt(f),g=ai(n),_=ht(s),v=ht(o),y=ht(l),b=ht(a);p&&(g.handleCloseOptions=_.current?.__options);let x=He(()=>Gr(r.current.openEvent?.type,g.interactedInside)),S=He(e=>Qe(e,n.context.triggerElements)),C=He((e,t,r)=>{let i=n.context.triggerElements;if(i.hasElement(t))return!e||!tt(e,t);if(!Ke(r))return!1;let a=r;return i.hasMatchingElement(e=>tt(e,a))&&(!e||!tt(e,a))}),w=I.useCallback((e,t=!0)=>{let r=Ur(v.current,`close`,g.pointerType);r?g.openChangeTimeout.start(r,()=>{n.setOpen(!1,st(at,e)),h?.events.emit(`floating.closed`,e)}):t&&(g.openChangeTimeout.clear(),n.setOpen(!1,st(at,e)),h?.events.emit(`floating.closed`,e))},[v,n,g,h]),T=He(()=>{g.handler&&=(Je(n.select(`domReferenceElement`)).removeEventListener(`mousemove`,g.handler),void 0)});I.useEffect(()=>T,[T]);let E=He(()=>{ri(g)});return I.useEffect(()=>{if(!a)return;function e(e){e.open||(T(),g.openChangeTimeout.clear(),g.restTimeout.clear(),g.blockMouseMove=!0,g.restTimeoutPending=!1)}return i.on(`openchange`,e),()=>{i.off(`openchange`,e)}},[a,i,g,T]),I.useEffect(()=>{if(!a)return;let e=d.current??(p?n.select(`domReferenceElement`):null);if(!Ke(e))return;function t(e){if(g.openChangeTimeout.clear(),g.blockMouseMove=!1,c&&!gt(g.pointerType)||Wr(y.current)>0&&!Ur(v.current,`open`))return;let t=Ur(v.current,`open`,g.pointerType),r=e.currentTarget??null,i=n.select(`domReferenceElement`),a=r==null?!1:C(i,r,e.target),o=n.select(`open`),s=!o||a;a&&o?n.setOpen(!0,st(at,e,r)):t?g.openChangeTimeout.start(t,()=>{s&&n.setOpen(!0,st(at,e,r))}):s&&n.setOpen(!0,st(at,e,r))}function i(e){if(x()){E();return}T();let t=Je(n.select(`domReferenceElement`));g.restTimeout.clear(),g.restTimeoutPending=!1;let i=r.current.floatingContext??m?.();if(!S(e.relatedTarget)){if(_.current&&i){n.select(`open`)||g.openChangeTimeout.clear();let r=d.current;g.handler=_.current({...i,tree:h,x:e.clientX,y:e.clientY,onClose(){E(),T(),b.current&&!x()&&r===n.select(`domReferenceElement`)&&w(e,!0)}}),t.addEventListener(`mousemove`,g.handler),g.handler(e);return}(g.pointerType!==`touch`||!tt(n.select(`floatingElement`),e.relatedTarget))&&w(e)}}return u&&e.addEventListener(`mousemove`,t,{once:!0}),e.addEventListener(`mouseenter`,t),e.addEventListener(`mouseleave`,i),()=>{u&&e.removeEventListener(`mousemove`,t),e.removeEventListener(`mouseenter`,t),e.removeEventListener(`mouseleave`,i)}},[T,E,r,v,w,n,a,_,g,p,C,x,S,c,u,y,d,h,b,m]),I.useMemo(()=>{if(!a)return;function e(e){g.pointerType=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){let{nativeEvent:t}=e,r=e.currentTarget,i=n.select(`domReferenceElement`),a=n.select(`open`),o=C(i,r,e.target);if(c&&!gt(g.pointerType))return;let s=Wr(y.current);if(a&&!o||s===0||!o&&g.restTimeoutPending&&e.movementX**2+e.movementY**2<2)return;g.restTimeout.clear();function l(){if(g.restTimeoutPending=!1,x())return;let e=n.select(`open`);!g.blockMouseMove&&(!e||o)&&n.setOpen(!0,st(at,t,r))}g.pointerType===`touch`?si.flushSync(()=>{l()}):o&&a?l():(g.restTimeoutPending=!0,g.restTimeout.start(s,l))}}},[a,g,x,C,c,n,y])}var ui=.1,di=ui*ui,z=.5;function fi(e,t,n,r,i,a){return r>=t!=a>=t&&e<=(i-n)*(t-r)/(a-r)+n}function pi(e,t,n,r,i,a,o,s,c,l){let u=!1;return fi(e,t,n,r,i,a)&&(u=!u),fi(e,t,i,a,o,s)&&(u=!u),fi(e,t,o,s,c,l)&&(u=!u),fi(e,t,c,l,n,r)&&(u=!u),u}function mi(e,t,n){return e>=n.x&&e<=n.x+n.width&&t>=n.y&&t<=n.y+n.height}function hi(e,t,n,r,i,a){return e>=Math.min(n,i)&&e<=Math.max(n,i)&&t>=Math.min(r,a)&&t<=Math.max(r,a)}function gi(e={}){let{blockPointerEvents:t=!1}=e,n=new Et,r=({x:e,y:t,placement:r,elements:i,onClose:a,nodeId:o,tree:s})=>{let c=r?.split(`-`)[0],l=!1,u=null,d=null,f=typeof performance<`u`?performance.now():0;function p(e,t){let n=performance.now(),r=n-f;if(u===null||d===null||r===0)return u=e,d=t,f=n,!1;let i=e-u,a=t-d,o=i*i+a*a,s=r*r*di;return u=e,d=t,f=n,o0)}function b(){y()||m()}if(y())return;let x=a.getBoundingClientRect(),S=u.getBoundingClientRect(),C=e>S.right-S.width/2,w=t>S.bottom-S.height/2,T=S.width>x.width,E=S.height>x.height,ee=(T?x:S).left,D=(T?x:S).right,te=(E?x:S).top,ne=(E?x:S).bottom;if(c===`top`&&t>=x.bottom-1||c===`bottom`&&t<=x.top+1||c===`left`&&e>=x.right-1||c===`right`&&e<=x.left+1){b();return}let re=!1;switch(c){case`top`:re=hi(d,f,ee,x.top+1,D,S.bottom-1);break;case`bottom`:re=hi(d,f,ee,S.top+1,D,x.bottom-1);break;case`left`:re=hi(d,f,S.right-1,ne,x.left+1,te);break;case`right`:re=hi(d,f,x.right-1,ne,S.left+1,te);break;default:}if(re)return;if(l&&!mi(d,f,x)){b();return}if(!g&&p(d,f)){b();return}let ie=!1;switch(c){case`top`:{let n=T?z/2:z*4,r=T||C?e+n:e-n,i=T?e-n:C?e+n:e-n,a=t+z+1,o=C||T?S.bottom-z:S.top,s=C?T?S.bottom-z:S.top:S.bottom-z;ie=pi(d,f,r,a,i,a,S.left,o,S.right,s);break}case`bottom`:{let n=T?z/2:z*4,r=T||C?e+n:e-n,i=T?e-n:C?e+n:e-n,a=t-z,o=C||T?S.top+z:S.bottom,s=C?T?S.top+z:S.bottom:S.top+z;ie=pi(d,f,r,a,i,a,S.left,o,S.right,s);break}case`left`:{let n=E?z/2:z*4,r=E||w?t+n:t-n,i=E?t-n:w?t+n:t-n,a=e+z+1,o=w||E?S.right-z:S.left,s=w?E?S.right-z:S.left:S.right-z;ie=pi(d,f,o,S.top,s,S.bottom,a,r,a,i);break}case`right`:{let n=E?z/2:z*4,r=E||w?t+n:t-n,i=E?t-n:w?t+n:t-n,a=e-z,o=w||E?S.left+z:S.right,s=w?E?S.left+z:S.right:S.left+z;ie=pi(d,f,a,r,a,i,o,S.top,s,S.bottom);break}default:}ie?l||n.start(40,b):b()}};return r.__options={blockPointerEvents:t},r}function _i(e){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:i,onOpenChangeComplete:a,disablePointerDismissal:o=!1,modal:s=!0,actionsRef:c,handle:l,triggerId:u,defaultTriggerId:d=null}=e,f=Lt(!0),p=!!f,m=Ce(()=>l?.store??new Ht({open:r,openProp:n,activeTriggerId:d,triggerIdProp:u,modal:s,disablePointerDismissal:o,nested:p})).current;Yt(()=>{n===void 0&&m.state.open===!1&&r===!0&&m.update({open:!0,activeTriggerId:d})}),m.useControlledProp(`openProp`,n),m.useControlledProp(`triggerIdProp`,u),m.useSyncedValues({disablePointerDismissal:o,nested:p,modal:s}),m.useContextCallback(`onOpenChange`,i),m.useContextCallback(`onOpenChangeComplete`,a);let h=m.useState(`payload`);Gt({store:m,actionsRef:c,parentContext:f?.store.context,onOpenChange:i,triggerIdProp:u});let g=I.useMemo(()=>({store:m}),[m]);return(0,L.jsx)(Rt.Provider,{value:g,children:typeof t==`function`?t({payload:h}):t})}function vi(e){let t=(0,R.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,L.jsx)(_i,{"data-slot":`sheet`,...n}),t[2]=n,t[3]=r),r}function yi(e){let t=(0,R.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,L.jsx)(zt,{"data-slot":`sheet-portal`,...n}),t[2]=n,t[3]=r),r}function bi(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=P(`data-closed:fade-out-0 data-open:fade-in-0 data-closed:animate-out data-open:animate-in fixed inset-0 z-50 bg-black/80 duration-100 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(Vt,{className:i,"data-slot":`sheet-overlay`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function xi(e){let t=(0,R.c)(17),n,r,i,a,o;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5]):({className:r,children:n,side:a,showCloseButton:o,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o);let s=a===void 0?`right`:a,c=o===void 0?!0:o,l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,L.jsx)(bi,{}),t[6]=l):l=t[6];let u;t[7]===r?u=t[8]:(u=P(`data-[side=right]:data-closed:slide-out-to-right-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=top]:data-closed:slide-out-to-top-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:fade-out-0 data-open:fade-in-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-closed:animate-out data-open:animate-in fixed z-50 flex flex-col bg-background bg-clip-padding text-xs/relaxed shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm`,r),t[7]=r,t[8]=u);let d;t[9]===c?d=t[10]:(d=c&&(0,L.jsxs)(Wt,{"data-slot":`sheet-close`,render:(0,L.jsx)(Ge,{className:`absolute top-4 right-4`,size:`icon-sm`,variant:`ghost`}),children:[(0,L.jsx)(Re,{}),(0,L.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),t[9]=c,t[10]=d);let f;return t[11]!==n||t[12]!==i||t[13]!==s||t[14]!==u||t[15]!==d?(f=(0,L.jsxs)(yi,{children:[l,(0,L.jsxs)(Nt,{className:u,"data-side":s,"data-slot":`sheet-content`,...i,children:[n,d]})]}),t[11]=n,t[12]=i,t[13]=s,t[14]=u,t[15]=d,t[16]=f):f=t[16],f}function Si(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=P(`flex flex-col gap-1.5 p-6`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(`div`,{className:i,"data-slot":`sheet-header`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Ci(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=P(`text-sm font-medium text-foreground`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(qt,{className:i,"data-slot":`sheet-title`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function wi(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=P(`text-xs/relaxed text-muted-foreground`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(It,{className:i,"data-slot":`sheet-description`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var Ti=I.createContext(void 0);function Ei(e){let t=I.useContext(Ti);if(t===void 0&&!e)throw Error(be(72));return t}var Di={...Pt,disabled:kt(e=>e.disabled),instantType:kt(e=>e.instantType),isInstantPhase:kt(e=>e.isInstantPhase),trackCursorAxis:kt(e=>e.trackCursorAxis),disableHoverablePopup:kt(e=>e.disableHoverablePopup),lastOpenChangeReason:kt(e=>e.openChangeReason),closeOnClick:kt(e=>e.closeOnClick),closeDelay:kt(e=>e.closeDelay),hasViewport:kt(e=>e.hasViewport)},Oi=class e extends jt{constructor(e){super({...ki(),...e},{popupRef:I.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:new Dt},Di)}setOpen=(e,t)=>{let n=t.reason,r=n===at,i=e&&n===`trigger-focus`,a=!e&&(n===`trigger-press`||n===`escape-key`);if(t.preventUnmountOnClose=()=>{this.set(`preventUnmountingOnClose`,!0)},this.context.onOpenChange?.(e,t),t.isCanceled)return;let o=()=>{let r={open:e,openChangeReason:n};i?r.instantType=`focus`:a?r.instantType=`dismiss`:n===`trigger-hover`&&(r.instantType=void 0);let o=t.trigger?.id??null;(o||e)&&(r.activeTriggerId=o,r.activeTriggerElement=t.trigger??null),this.update(r)};r?si.flushSync(o):o()};static useStore(t,n){let r=Ce(()=>new e(n)).current,i=t??r,a=Ut({popupStore:i,onOpenChange:i.setOpen});return i.state.floatingRootContext=a,i}};function ki(){return{...Kt(),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:`none`,disableHoverablePopup:!1,openChangeReason:null,closeOnClick:!0,closeDelay:0,hasViewport:!1}}var Ai=_t(function(e){let{disabled:t=!1,defaultOpen:n=!1,open:r,disableHoverablePopup:i=!1,trackCursorAxis:a=`none`,actionsRef:o,onOpenChange:s,onOpenChangeComplete:c,handle:l,triggerId:u,defaultTriggerId:d=null,children:f}=e,p=Oi.useStore(l?.store,{open:n,openProp:r,activeTriggerId:d,triggerIdProp:u});Yt(()=>{r===void 0&&p.state.open===!1&&n===!0&&p.update({open:!0,activeTriggerId:d})}),p.useControlledProp(`openProp`,r),p.useControlledProp(`triggerIdProp`,u),p.useContextCallback(`onOpenChange`,s),p.useContextCallback(`onOpenChangeComplete`,c);let m=p.useState(`open`),h=!t&&m,g=p.useState(`activeTriggerId`),_=p.useState(`payload`);p.useSyncedValues({trackCursorAxis:a,disableHoverablePopup:i}),We(()=>{m&&t&&p.setOpen(!1,st(it))},[m,t,p]),p.useSyncedValue(`disabled`,t),Bt(p);let{forceUnmount:v,transitionStatus:y}=Jt(h,p),b=p.useState(`isInstantPhase`),x=p.useState(`instantType`),S=p.useState(`lastOpenChangeReason`),C=I.useRef(null);We(()=>{y===`ending`&&S===`none`||y!==`ending`&&b?(x!==`delay`&&(C.current=x),p.set(`instantType`,`delay`)):C.current!==null&&(p.set(`instantType`,C.current),C.current=null)},[y,b,S,x,p]),We(()=>{h&&(g??p.set(`payload`,void 0))},[p,g,h]);let w=I.useCallback(()=>{p.setOpen(!1,ji(p,ot))},[p]);I.useImperativeHandle(o,()=>({unmount:v,close:w}),[v,w]);let T=p.useState(`floatingRootContext`),{getReferenceProps:E,getFloatingProps:ee,getTriggerProps:D}=Mt([mt(T,{enabled:!t,referencePress:()=>p.select(`closeOnClick`)}),Zr(T,{enabled:!t&&a!==`none`,axis:a===`none`?void 0:a})]),te=I.useMemo(()=>E(),[E]),ne=I.useMemo(()=>D(),[D]),re=I.useMemo(()=>ee(),[ee]);return p.useSyncedValues({activeTriggerProps:te,inactiveTriggerProps:ne,popupProps:re}),(0,L.jsx)(Ti.Provider,{value:p,children:typeof f==`function`?f({payload:_}):f})});function ji(e,t){let n=st(t);return n.preventUnmountOnClose=()=>{e.set(`preventUnmountingOnClose`,!0)},n}var Mi=I.createContext(void 0);function B(){return I.useContext(Mi)}var V=function(e){return e[e.popupOpen=xt.popupOpen]=`popupOpen`,e.triggerDisabled=`data-trigger-disabled`,e}({}),Ni=Tt(function(e,t){let{className:n,render:r,handle:i,payload:a,disabled:o,delay:s,closeOnClick:c=!0,closeDelay:l,id:u,...d}=e,f=Ei(!0),p=i?.store??f;if(!p)throw Error(be(82));let m=et(u),h=p.useState(`isTriggerActive`,m),g=p.useState(`isOpenedByTrigger`,m),_=p.useState(`floatingRootContext`),v=I.useRef(null),y=s??600,b=l??0,{registerTrigger:x,isMountedByThisTrigger:S}=Ft(m,v,p,{payload:a,closeOnClick:c,closeDelay:b}),C=B(),{delayRef:w,isInstantPhase:T,hasProvider:E}=Jr(_,{open:g});p.useSyncedValue(`isInstantPhase`,T);let ee=p.useState(`disabled`),D=o??ee,te=p.useState(`trackCursorAxis`),ne=p.useState(`disableHoverablePopup`),re=li(_,{enabled:!D,mouseOnly:!0,move:!1,handleClose:!ne&&te!==`both`?gi():null,restMs(){let e=C?.delay,t=typeof w.current==`object`?w.current.open:void 0,n=y;return E&&(n=t===0?0:s??e??y),n},delay(){let e=typeof w.current==`object`?w.current.close:void 0,t=b;return l==null&&E&&(t=e),{close:t}},triggerElementRef:v,isActiveTrigger:h}),ie=$r(_,{enabled:!D}).reference,ae={open:g},O=p.useState(`triggerProps`,S);return xe(`button`,e,{state:ae,ref:[t,x,v],props:[re,ie,O,{onPointerDown(){p.set(`closeOnClick`,c)},id:m,[V.triggerDisabled]:D?``:void 0},d],stateAttributesMapping:bt})}),Pi=I.createContext(void 0);function Fi(){let e=I.useContext(Pi);if(e===void 0)throw Error(be(70));return e}var Ii=I.forwardRef(function(e,t){let{children:n,container:r,className:i,render:a,...o}=e,{portalNode:s,portalSubtree:c}=yt({container:r,ref:t,componentProps:e,elementProps:o});return!c&&!s?null:(0,L.jsxs)(I.Fragment,{children:[c,s&&si.createPortal(n,s)]})}),Li=I.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e;return Ei().useState(`mounted`)||n?(0,L.jsx)(Pi.Provider,{value:n,children:(0,L.jsx)(Ii,{ref:t,...r})}):null}),Ri=I.createContext(void 0);function zi(){let e=I.useContext(Ri);if(e===void 0)throw Error(be(71));return e}var Bi=I.forwardRef(function(e,t){let{render:n,className:r,anchor:i,positionMethod:a=`absolute`,side:o=`top`,align:s=`center`,sideOffset:c=0,alignOffset:l=0,collisionBoundary:u=`clipping-ancestors`,collisionPadding:d=5,arrowPadding:f=5,sticky:p=!1,disableAnchorTracking:m=!1,collisionAvoidance:h=Se,...g}=e,_=Ei(),v=Fi(),y=_.useState(`open`),b=_.useState(`mounted`),x=_.useState(`trackCursorAxis`),S=_.useState(`disableHoverablePopup`),C=_.useState(`floatingRootContext`),w=_.useState(`instantType`),T=_.useState(`transitionStatus`),E=Xt({anchor:i,positionMethod:a,floatingRootContext:C,mounted:b,side:o,sideOffset:c,align:s,alignOffset:l,collisionBoundary:u,collisionPadding:d,sticky:p,arrowPadding:f,disableAnchorTracking:m,keepMounted:v,collisionAvoidance:h,adaptiveOrigin:_.useState(`hasViewport`)?Zt:void 0}),ee=I.useMemo(()=>{let e={};return(!y||x===`both`||S)&&(e.pointerEvents=`none`),{role:`presentation`,hidden:!b,style:{...E.positionerStyles,...e}}},[y,x,S,b,E.positionerStyles]),D=I.useMemo(()=>({open:y,side:E.side,align:E.align,anchorHidden:E.anchorHidden,instant:x===`none`?w:`tracking-cursor`}),[y,E.side,E.align,E.anchorHidden,x,w]),te=I.useMemo(()=>({...D,arrowRef:E.arrowRef,arrowStyles:E.arrowStyles,arrowUncentered:E.arrowUncentered}),[D,E.arrowRef,E.arrowStyles,E.arrowUncentered]),ne=xe(`div`,e,{state:D,props:[ee,Qt(T),g],ref:[t,_.useStateSetter(`positionerElement`)],stateAttributesMapping:Ot});return(0,L.jsx)(Ri.Provider,{value:te,children:ne})}),Vi={...Ot,...dt},Hi=I.forwardRef(function(e,t){let{className:n,render:r,...i}=e,a=Ei(),{side:o,align:s}=zi(),c=a.useState(`open`),l=a.useState(`instantType`),u=a.useState(`transitionStatus`),d=a.useState(`popupProps`),f=a.useState(`floatingRootContext`);pt({open:c,ref:a.context.popupRef,onComplete(){c&&a.context.onOpenChangeComplete?.(!0)}});let p=a.useState(`disabled`),m=a.useState(`closeDelay`);return oi(f,{enabled:!p,closeDelay:m}),xe(`div`,e,{state:{open:c,side:o,align:s,instant:l,transitionStatus:u},ref:[t,a.context.popupRef,a.useStateSetter(`popupElement`)],props:[d,Qt(u),i],stateAttributesMapping:Vi})}),Ui=I.forwardRef(function(e,t){let{className:n,render:r,...i}=e,a=Ei().useState(`instantType`),{open:o,arrowRef:s,side:c,align:l,arrowUncentered:u,arrowStyles:d}=zi();return xe(`div`,e,{state:{open:o,side:c,align:l,uncentered:u,instant:a},ref:[t,s],props:[{style:d,"aria-hidden":!0},i],stateAttributesMapping:Ot})}),Wi=function(e){let{delay:t,closeDelay:n,timeout:r=400}=e,i=I.useMemo(()=>({delay:t,closeDelay:n}),[t,n]),a=I.useMemo(()=>({open:t,close:n}),[t,n]);return(0,L.jsx)(Mi.Provider,{value:i,children:(0,L.jsx)(qr,{delay:a,timeoutMs:r,children:e.children})})};function Gi(e){let t=(0,R.c)(6),n,r;t[0]===e?(n=t[1],r=t[2]):({delay:r,...n}=e,t[0]=e,t[1]=n,t[2]=r);let i=r===void 0?0:r,a;return t[3]!==i||t[4]!==n?(a=(0,L.jsx)(Wi,{"data-slot":`tooltip-provider`,delay:i,...n}),t[3]=i,t[4]=n,t[5]=a):a=t[5],a}function Ki(e){let t=(0,R.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,L.jsx)(Gi,{children:(0,L.jsx)(Ai,{"data-slot":`tooltip`,...n})}),t[2]=n,t[3]=r),r}function qi(e){let t=(0,R.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,L.jsx)(Ni,{"data-slot":`tooltip-trigger`,...n}),t[2]=n,t[3]=r),r}function Ji(e){let t=(0,R.c)(21),n,r,i,a,o,s,c;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7]):({className:r,side:a,sideOffset:o,align:s,alignOffset:c,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c);let l=a===void 0?`top`:a,u=o===void 0?4:o,d=s===void 0?`center`:s,f=c===void 0?0:c,p;t[8]===r?p=t[9]:(p=P(`data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:animate-in data-closed:animate-out data-open:animate-in z-50 w-fit max-w-xs origin-(--transform-origin) rounded-md bg-foreground px-3 py-1.5 text-xs text-background **:data-[slot=kbd]:rounded-md`,r),t[8]=r,t[9]=p);let m;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,L.jsx)(Ui,{className:`z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5`}),t[10]=m):m=t[10];let h;t[11]!==n||t[12]!==i||t[13]!==p?(h=(0,L.jsxs)(Hi,{className:p,"data-slot":`tooltip-content`,...i,children:[n,m]}),t[11]=n,t[12]=i,t[13]=p,t[14]=h):h=t[14];let g;return t[15]!==d||t[16]!==f||t[17]!==l||t[18]!==u||t[19]!==h?(g=(0,L.jsx)(Li,{children:(0,L.jsx)(Bi,{align:d,alignOffset:f,className:`isolate z-50`,side:l,sideOffset:u,children:h})}),t[15]=d,t[16]=f,t[17]=l,t[18]=u,t[19]=h,t[20]=g):g=t[20],g}var Yi=window.matchMedia(`(max-width: 767px)`);function Xi(e){return Yi.addEventListener(`change`,e),()=>Yi.removeEventListener(`change`,e)}function Zi(){return Yi.matches}function Qi(){return(0,I.useSyncExternalStore)(Xi,Zi)}var $i=`sidebar_state`,ea=3600*24*7,ta=`12rem`,na=`16rem`,ra=`3rem`,ia=`b`,aa=I.createContext(null);function oa(){let e=I.useContext(aa);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function sa(e){let t=(0,R.c)(36),n,r,i,a,o,s,c;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7]):({defaultOpen:c,open:i,onOpenChange:o,className:r,style:s,children:n,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c);let l=c===void 0?!0:c,u=Qi(),[d,f]=I.useState(!1),[p,m]=I.useState(l),h=i??p,g;t[8]!==h||t[9]!==o?(g=e=>{let t=typeof e==`function`?e(h):e;o?o(t):m(t),document.cookie=`${$i}=${t}; path=/; max-age=${ea}`},t[8]=h,t[9]=o,t[10]=g):g=t[10];let _=g,v;t[11]!==u||t[12]!==_?(v=()=>u?f(la):_(ca),t[11]=u,t[12]=_,t[13]=v):v=t[13];let y=v,b,x;t[14]===y?(b=t[15],x=t[16]):(b=()=>{let e=e=>{e.key===ia&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),y())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},x=[y],t[14]=y,t[15]=b,t[16]=x),I.useEffect(b,x);let S=h?`expanded`:`collapsed`,C;t[17]!==u||t[18]!==h||t[19]!==d||t[20]!==_||t[21]!==S||t[22]!==y?(C={state:S,open:h,setOpen:_,isMobile:u,openMobile:d,setOpenMobile:f,toggleSidebar:y},t[17]=u,t[18]=h,t[19]=d,t[20]=_,t[21]=S,t[22]=y,t[23]=C):C=t[23];let w=C,T;t[24]===r?T=t[25]:(T=P(`group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar`,r),t[24]=r,t[25]=T);let E;t[26]===s?E=t[27]:(E={"--sidebar-width":ta,"--sidebar-width-icon":ra,...s},t[26]=s,t[27]=E);let ee=E,D;t[28]!==n||t[29]!==a||t[30]!==T||t[31]!==ee?(D=(0,L.jsx)(`div`,{className:T,"data-slot":`sidebar-wrapper`,style:ee,...a,children:n}),t[28]=n,t[29]=a,t[30]=T,t[31]=ee,t[32]=D):D=t[32];let te;return t[33]!==w||t[34]!==D?(te=(0,L.jsx)(aa.Provider,{value:w,children:D}),t[33]=w,t[34]=D,t[35]=te):te=t[35],te}function ca(e){return!e}function la(e){return!e}function ua(e){let t=(0,R.c)(46),n,r,i,a,o,s;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6]):({side:a,variant:o,collapsible:s,className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s);let c=a===void 0?`left`:a,l=o===void 0?`sidebar`:o,u=s===void 0?`offExamples`:s,{isMobile:d,state:f,openMobile:p,setOpenMobile:m}=oa();if(u===`none`){let e;t[7]===r?e=t[8]:(e=P(`flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground`,r),t[7]=r,t[8]=e);let a;return t[9]!==n||t[10]!==i||t[11]!==e?(a=(0,L.jsx)(`div`,{className:e,"data-slot":`sidebar`,...i,children:n}),t[9]=n,t[10]=i,t[11]=e,t[12]=a):a=t[12],a}if(d){let e;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(e={"--sidebar-width":na},t[13]=e):e=t[13];let r=e,a;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,L.jsxs)(Si,{className:`sr-only`,children:[(0,L.jsx)(Ci,{children:`Sidebar`}),(0,L.jsx)(wi,{children:`Displays the mobile sidebar.`})]}),t[14]=a):a=t[14];let o;t[15]===n?o=t[16]:(o=(0,L.jsx)(`div`,{className:`flex h-full w-full flex-col`,children:n}),t[15]=n,t[16]=o);let s;t[17]!==c||t[18]!==o?(s=(0,L.jsxs)(xi,{className:`w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden`,"data-mobile":`true`,"data-sidebar":`sidebar`,"data-slot":`sidebar`,side:c,style:r,children:[a,o]}),t[17]=c,t[18]=o,t[19]=s):s=t[19];let l;return t[20]!==p||t[21]!==i||t[22]!==m||t[23]!==s?(l=(0,L.jsx)(vi,{onOpenChange:m,open:p,...i,children:s}),t[20]=p,t[21]=i,t[22]=m,t[23]=s,t[24]=l):l=t[24],l}let h=f===`collapsed`?u:``,g=l===`floating`||l===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`,_;t[25]===g?_=t[26]:(_=P(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[collapsible=offExamples]:w-0`,`group-data-[side=right]:rotate-180`,g),t[25]=g,t[26]=_);let v;t[27]===_?v=t[28]:(v=(0,L.jsx)(`div`,{className:_,"data-slot":`sidebar-gap`}),t[27]=_,t[28]=v);let y=c===`left`?`left-0 group-data-[collapsible=offExamples]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 group-data-[collapsible=offExamples]:right-[calc(var(--sidebar-width)*-1)]`,b=l===`floating`||l===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,x;t[29]!==r||t[30]!==y||t[31]!==b?(x=P(`fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,y,b,r),t[29]=r,t[30]=y,t[31]=b,t[32]=x):x=t[32];let S;t[33]===n?S=t[34]:(S=(0,L.jsx)(`div`,{className:`flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border`,"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,children:n}),t[33]=n,t[34]=S);let C;t[35]!==i||t[36]!==x||t[37]!==S?(C=(0,L.jsx)(`div`,{className:x,"data-slot":`sidebar-container`,...i,children:S}),t[35]=i,t[36]=x,t[37]=S,t[38]=C):C=t[38];let w;return t[39]!==c||t[40]!==f||t[41]!==C||t[42]!==h||t[43]!==v||t[44]!==l?(w=(0,L.jsxs)(`div`,{className:`group peer hidden text-sidebar-foreground md:block`,"data-collapsible":h,"data-side":c,"data-slot":`sidebar`,"data-state":f,"data-variant":l,children:[v,C]}),t[39]=c,t[40]=f,t[41]=C,t[42]=h,t[43]=v,t[44]=l,t[45]=w):w=t[45],w}function da(e){let t=(0,R.c)(15),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,onClick:r,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let{toggleSidebar:a}=oa(),o;t[4]===n?o=t[5]:(o=P(n),t[4]=n,t[5]=o);let s;t[6]!==r||t[7]!==a?(s=e=>{r?.(e),a()},t[6]=r,t[7]=a,t[8]=s):s=t[8];let c,l;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,L.jsx)(Lr,{}),l=(0,L.jsx)(`span`,{className:`sr-only`,children:`Toggle Sidebar`}),t[9]=c,t[10]=l):(c=t[9],l=t[10]);let u;return t[11]!==i||t[12]!==o||t[13]!==s?(u=(0,L.jsxs)(Ge,{className:o,"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,onClick:s,size:`icon-lg`,variant:`ghost`,...i,children:[c,l]}),t[11]=i,t[12]=o,t[13]=s,t[14]=u):u=t[14],u}function fa(e){let t=(0,R.c)(9),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let{toggleSidebar:i}=oa(),a;t[3]===n?a=t[4]:(a=P(`absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border sm:flex`,`in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize`,`[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize`,`group-data-[collapsible=offExamples]:translate-x-0 group-data-[collapsible=offExamples]:after:left-full hover:group-data-[collapsible=offExamples]:bg-sidebar`,`[[data-side=left][data-collapsible=offExamples]_&]:-right-2`,`[[data-side=right][data-collapsible=offExamples]_&]:-left-2`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a||t[7]!==i?(o=(0,L.jsx)(`button`,{"aria-label":`Toggle Sidebar`,className:a,"data-sidebar":`rail`,"data-slot":`sidebar-rail`,onClick:i,tabIndex:-1,title:`Toggle Sidebar`,...r}),t[5]=r,t[6]=a,t[7]=i,t[8]=o):o=t[8],o}function pa(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=P(`flex flex-col gap-2 p-2`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(`div`,{className:i,"data-sidebar":`header`,"data-slot":`sidebar-header`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function ma(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=P(`flex flex-col gap-2 p-2`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(`div`,{className:i,"data-sidebar":`footer`,"data-slot":`sidebar-footer`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function ha(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=P(`mx-2 w-auto bg-sidebar-border`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(qe,{className:i,"data-sidebar":`separator`,"data-slot":`sidebar-separator`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function ga(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=P(`no-scrollbar flex min-h-0 flex-1 flex-col gap-0 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(`div`,{className:i,"data-sidebar":`content`,"data-slot":`sidebar-content`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function _a(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=P(`relative flex w-full min-w-0 flex-col px-2 py-1`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(`div`,{className:i,"data-sidebar":`group`,"data-slot":`sidebar-group`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function va(e){let t=(0,R.c)(10),n,r,i,a;if(t[0]!==e){let{className:o,render:s,...c}=e;n=s,a=Te,r=`div`,i=ye({className:P(`flex h-8 shrink-0 items-center rounded-md px-2 text-xs text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0`,o)},c),t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a}else n=t[1],r=t[2],i=t[3],a=t[4];let o;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(o={slot:`sidebar-group-label`,sidebar:`group-label`},t[5]=o):o=t[5];let s;return t[6]!==n||t[7]!==r||t[8]!==i?(s={defaultTagName:r,props:i,render:n,state:o},t[6]=n,t[7]=r,t[8]=i,t[9]=s):s=t[9],a(s)}function ya(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=P(`flex w-full min-w-0 flex-col gap-px`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(`ul`,{className:i,"data-sidebar":`menu`,"data-slot":`sidebar-menu`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function H(e){let t=(0,R.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=P(`group/menu-item relative`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,L.jsx)(`li`,{className:i,"data-sidebar":`menu-item`,"data-slot":`sidebar-menu-item`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var ba=we(`peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-[calc(var(--radius-sm)+2px)] p-2 text-left text-xs ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate`,{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-xs`,sm:`h-7 text-xs`,lg:`h-12 text-xs group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});function xa(e){let t=(0,R.c)(15),{render:n,isActive:r,variant:i,size:a,tooltip:o,className:s,...c}=e,l=r===void 0?!1:r,u=i===void 0?`default`:i,d=a===void 0?`default`:a,{isMobile:f,state:p}=oa(),m=ye({className:P(ba({variant:u,size:d}),s)},c),h=o?qi:n,g;t[0]!==l||t[1]!==d?(g={slot:`sidebar-menu-button`,sidebar:`menu-button`,size:d,active:l},t[0]=l,t[1]=d,t[2]=g):g=t[2];let _;t[3]!==m||t[4]!==h||t[5]!==g?(_={defaultTagName:`button`,props:m,render:h,state:g},t[3]=m,t[4]=h,t[5]=g,t[6]=_):_=t[6];let v=Te(_);if(!o)return v;let y;t[7]===o?y=t[8]:(y=typeof o==`string`?{children:o}:o,t[7]=o,t[8]=y);let b=y,x=p!==`collapsed`||f,S;t[9]!==x||t[10]!==b?(S=(0,L.jsx)(Ji,{align:`center`,hidden:x,side:`right`,...b}),t[9]=x,t[10]=b,t[11]=S):S=t[11];let C;return t[12]!==v||t[13]!==S?(C=(0,L.jsxs)(Ki,{children:[v,S]}),t[12]=v,t[13]=S,t[14]=C):C=t[14],C}function Sa(){let e=(0,R.c)(8),{theme:t,setTheme:n}=Er(),r;e[0]!==n||e[1]!==t?(r=()=>{n(t===`light`?`dark`:t===`dark`?`light`:`dark`)},e[0]=n,e[1]=t,e[2]=r):r=e[2];let i=r,a,o,s;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,L.jsx)(zr,{className:`size-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90`}),o=(0,L.jsx)(Ir,{className:`absolute size-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0`}),s=(0,L.jsx)(`span`,{className:`sr-only`,children:`Toggle theme`}),e[3]=a,e[4]=o,e[5]=s):(a=e[3],o=e[4],s=e[5]);let c;return e[6]===i?c=e[7]:(c=(0,L.jsxs)(Ge,{className:`rounded-full`,onClick:i,size:`icon-sm`,variant:`ghost`,children:[a,o,s]}),e[6]=i,e[7]=c),c}function Ca(){let e=(0,R.c)(7),{isAdmin:t,license:n}=Ee(),r=t&&n===`open-source`,i,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=P(`z-50 flex h-10 shrink-0 items-center gap-2 border-b border-sidebar-border bg-sidebar px-4 text-sidebar-foreground`,`sticky top-0`),a=(0,L.jsx)(da,{className:`-ml-1`}),e[0]=i,e[1]=a):(i=e[0],a=e[1]);let o;e[2]===r?o=e[3]:(o=r&&(0,L.jsx)(`a`,{href:`https://mulgadc.com/purchase`,target:`_blank`,rel:`noopener noreferrer`,className:P(Ue({variant:`outline`,size:`sm`})),children:`Upgrade`}),e[2]=r,e[3]=o);let s;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,L.jsx)(Sa,{}),e[4]=s):s=e[4];let c;return e[5]===o?c=e[6]:(c=(0,L.jsxs)(`header`,{className:i,children:[a,(0,L.jsxs)(`div`,{className:`flex w-full items-center justify-end gap-2`,children:[o,s]})]}),e[5]=o,e[6]=c),c}function wa(){let e=(0,R.c)(3),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,L.jsx)(`h1`,{className:`text-4xl font-bold`,children:`404`}),n=(0,L.jsx)(`p`,{className:`text-muted-foreground`,children:`Page not found`}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4`,children:[t,n,(0,L.jsx)(me,{to:`/`,children:(0,L.jsx)(Ge,{variant:`outline`,children:`Go back home`})})]}),e[2]=r):r=e[2],r}function Ta(){let e=(0,R.c)(144),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={select:Ea},e[0]=t):t=e[0];let n=pr(t),r=ge(),i=v(),{isAdmin:a}=Ee(),o;e[1]!==r||e[2]!==i?(o=function(){ke(),ve(),i.clear(),r({to:`/login`})},e[1]=r,e[2]=i,e[3]=o):o=e[3];let s=o,c;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,L.jsxs)(pa,{className:`flex flex-row items-center gap-2 px-4 py-3`,children:[(0,L.jsx)(`img`,{src:`/mulga-logo.svg`,alt:`Mulga`,className:`size-6 shrink-0 dark:invert`}),(0,L.jsx)(`span`,{className:`truncate text-sm font-semibold group-data-[collapsible=icon]:hidden`,children:`Spinifex`})]}),e[4]=c):c=e[4];let l;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,L.jsx)(va,{children:`General`}),e[5]=l):l=e[5];let u=n===`/`,d,f;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,L.jsx)(jr,{className:`size-4`}),f=(0,L.jsx)(`span`,{children:`Dashboard`}),e[6]=d,e[7]=f):(d=e[6],f=e[7]);let p;e[8]===u?p=e[9]:(p=(0,L.jsx)(H,{children:(0,L.jsx)(me,{to:`/`,children:(0,L.jsxs)(xa,{isActive:u,tooltip:`Dashboard`,children:[d,f]})})}),e[8]=u,e[9]=p);let m;e[10]!==a||e[11]!==n?(m=a&&(0,L.jsx)(H,{children:(0,L.jsx)(me,{to:`/nodes`,children:(0,L.jsxs)(xa,{isActive:n.startsWith(`/nodes`),tooltip:`Nodes`,children:[(0,L.jsx)(Fe,{className:`size-4`}),(0,L.jsx)(`span`,{children:`Nodes`})]})})}),e[10]=a,e[11]=n,e[12]=m):m=e[12];let h;e[13]!==p||e[14]!==m?(h=(0,L.jsxs)(_a,{children:[l,(0,L.jsxs)(ya,{children:[p,m]})]}),e[13]=p,e[14]=m,e[15]=h):h=e[15];let g;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,L.jsx)(va,{children:`EC2`}),e[16]=g):g=e[16];let _;e[17]===n?_=e[18]:(_=n.startsWith(`/ec2/describe-instances`)||n.startsWith(`/ec2/run-instances`),e[17]=n,e[18]=_);let y,b;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,L.jsx)(Fe,{className:`size-4`}),b=(0,L.jsx)(`span`,{children:`Instances`}),e[19]=y,e[20]=b):(y=e[19],b=e[20]);let x;e[21]===_?x=e[22]:(x=(0,L.jsx)(H,{children:(0,L.jsx)(me,{to:`/ec2/describe-instances`,children:(0,L.jsxs)(xa,{isActive:_,tooltip:`EC2 Instances`,children:[y,b]})})}),e[21]=_,e[22]=x);let S;e[23]===n?S=e[24]:(S=n.startsWith(`/ec2/describe-images`),e[23]=n,e[24]=S);let C,w;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,L.jsx)(Mr,{className:`size-4`}),w=(0,L.jsx)(`span`,{children:`Images`}),e[25]=C,e[26]=w):(C=e[25],w=e[26]);let T;e[27]===S?T=e[28]:(T=(0,L.jsx)(H,{children:(0,L.jsx)(me,{to:`/ec2/describe-images`,children:(0,L.jsxs)(xa,{isActive:S,tooltip:`Images`,children:[C,w]})})}),e[27]=S,e[28]=T);let E;e[29]===n?E=e[30]:(E=n.startsWith(`/ec2/describe-key-pairs`),e[29]=n,e[30]=E);let ee,D;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,L.jsx)(Pe,{className:`size-4`}),D=(0,L.jsx)(`span`,{children:`Key Pairs`}),e[31]=ee,e[32]=D):(ee=e[31],D=e[32]);let te;e[33]===E?te=e[34]:(te=(0,L.jsx)(H,{children:(0,L.jsx)(me,{to:`/ec2/describe-key-pairs`,children:(0,L.jsxs)(xa,{isActive:E,tooltip:`Key Pairs`,children:[ee,D]})})}),e[33]=E,e[34]=te);let ne;e[35]===n?ne=e[36]:(ne=n.startsWith(`/ec2/describe-volumes`)||n.startsWith(`/ec2/create-volume`)||n.startsWith(`/ec2/modify-volume`),e[35]=n,e[36]=ne);let re,ie;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(re=(0,L.jsx)(Ne,{className:`size-4`}),ie=(0,L.jsx)(`span`,{children:`Volumes`}),e[37]=re,e[38]=ie):(re=e[37],ie=e[38]);let ae;e[39]===ne?ae=e[40]:(ae=(0,L.jsx)(H,{children:(0,L.jsx)(me,{to:`/ec2/describe-volumes`,children:(0,L.jsxs)(xa,{isActive:ne,tooltip:`Volumes`,children:[re,ie]})})}),e[39]=ne,e[40]=ae);let O;e[41]===n?O=e[42]:(O=n.startsWith(`/ec2/describe-snapshots`)||n.startsWith(`/ec2/create-snapshot`),e[41]=n,e[42]=O);let k,oe;e[43]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,L.jsx)(je,{className:`size-4`}),oe=(0,L.jsx)(`span`,{children:`Snapshots`}),e[43]=k,e[44]=oe):(k=e[43],oe=e[44]);let se;e[45]===O?se=e[46]:(se=(0,L.jsx)(H,{children:(0,L.jsx)(me,{to:`/ec2/describe-snapshots`,children:(0,L.jsxs)(xa,{isActive:O,tooltip:`Snapshots`,children:[k,oe]})})}),e[45]=O,e[46]=se);let ce;e[47]===n?ce=e[48]:(ce=n.startsWith(`/ec2/describe-placement-groups`)||n.startsWith(`/ec2/create-placement-group`),e[47]=n,e[48]=ce);let le,ue;e[49]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,L.jsx)(Nr,{className:`size-4`}),ue=(0,L.jsx)(`span`,{children:`Placement Groups`}),e[49]=le,e[50]=ue):(le=e[49],ue=e[50]);let A;e[51]===ce?A=e[52]:(A=(0,L.jsx)(H,{children:(0,L.jsx)(me,{to:`/ec2/describe-placement-groups`,children:(0,L.jsxs)(xa,{isActive:ce,tooltip:`Placement Groups`,children:[le,ue]})})}),e[51]=ce,e[52]=A);let de;e[53]===n?de=e[54]:(de=n.startsWith(`/ec2/describe-load-balancers`)||n.startsWith(`/ec2/create-load-balancer`),e[53]=n,e[54]=de);let fe,pe;e[55]===Symbol.for(`react.memo_cache_sentinel`)?(fe=(0,L.jsx)(Vr,{className:`size-4`}),pe=(0,L.jsx)(`span`,{children:`Load Balancers`}),e[55]=fe,e[56]=pe):(fe=e[55],pe=e[56]);let j;e[57]===de?j=e[58]:(j=(0,L.jsx)(H,{children:(0,L.jsx)(me,{to:`/ec2/describe-load-balancers`,children:(0,L.jsxs)(xa,{isActive:de,tooltip:`Load Balancers`,children:[fe,pe]})})}),e[57]=de,e[58]=j);let he;e[59]===n?he=e[60]:(he=n.startsWith(`/ec2/describe-target-groups`)||n.startsWith(`/ec2/create-target-group`),e[59]=n,e[60]=he);let M,N;e[61]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,L.jsx)(Ar,{className:`size-4`}),N=(0,L.jsx)(`span`,{children:`Target Groups`}),e[61]=M,e[62]=N):(M=e[61],N=e[62]);let _e;e[63]===he?_e=e[64]:(_e=(0,L.jsx)(H,{children:(0,L.jsx)(me,{to:`/ec2/describe-target-groups`,children:(0,L.jsxs)(xa,{isActive:he,tooltip:`Target Groups`,children:[M,N]})})}),e[63]=he,e[64]=_e);let ye;e[65]!==x||e[66]!==T||e[67]!==te||e[68]!==ae||e[69]!==se||e[70]!==A||e[71]!==j||e[72]!==_e?(ye=(0,L.jsxs)(_a,{children:[g,(0,L.jsxs)(ya,{children:[x,T,te,ae,se,A,j,_e]})]}),e[65]=x,e[66]=T,e[67]=te,e[68]=ae,e[69]=se,e[70]=A,e[71]=j,e[72]=_e,e[73]=ye):ye=e[73];let be;e[74]===Symbol.for(`react.memo_cache_sentinel`)?(be=(0,L.jsx)(va,{children:`Networking`}),e[74]=be):be=e[74];let xe;e[75]===n?xe=e[76]:(xe=n.startsWith(`/ec2/describe-vpcs`)||n.startsWith(`/ec2/create-vpc`),e[75]=n,e[76]=xe);let Se,Ce;e[77]===Symbol.for(`react.memo_cache_sentinel`)?(Se=(0,L.jsx)(Ie,{className:`size-4`}),Ce=(0,L.jsx)(`span`,{children:`VPCs`}),e[77]=Se,e[78]=Ce):(Se=e[77],Ce=e[78]);let we;e[79]===xe?we=e[80]:(we=(0,L.jsx)(H,{children:(0,L.jsx)(me,{to:`/ec2/describe-vpcs`,children:(0,L.jsxs)(xa,{isActive:xe,tooltip:`VPCs`,children:[Se,Ce]})})}),e[79]=xe,e[80]=we);let Te;e[81]===n?Te=e[82]:(Te=n.startsWith(`/ec2/describe-subnets`)||n.startsWith(`/ec2/create-subnet`),e[81]=n,e[82]=Te);let De,P;e[83]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,L.jsx)(Pr,{className:`size-4`}),P=(0,L.jsx)(`span`,{children:`Subnets`}),e[83]=De,e[84]=P):(De=e[83],P=e[84]);let Oe;e[85]===Te?Oe=e[86]:(Oe=(0,L.jsx)(H,{children:(0,L.jsx)(me,{to:`/ec2/describe-subnets`,children:(0,L.jsxs)(xa,{isActive:Te,tooltip:`Subnets`,children:[De,P]})})}),e[85]=Te,e[86]=Oe);let Ae;e[87]===n?Ae=e[88]:(Ae=n.startsWith(`/ec2/describe-security-groups`)||n.startsWith(`/ec2/create-security-group`),e[87]=n,e[88]=Ae);let Me,Re;e[89]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,L.jsx)(Rr,{className:`size-4`}),Re=(0,L.jsx)(`span`,{children:`Security Groups`}),e[89]=Me,e[90]=Re):(Me=e[89],Re=e[90]);let ze;e[91]===Ae?ze=e[92]:(ze=(0,L.jsx)(H,{children:(0,L.jsx)(me,{to:`/ec2/describe-security-groups`,children:(0,L.jsxs)(xa,{isActive:Ae,tooltip:`Security Groups`,children:[Me,Re]})})}),e[91]=Ae,e[92]=ze);let Be;e[93]!==we||e[94]!==Oe||e[95]!==ze?(Be=(0,L.jsxs)(_a,{children:[be,(0,L.jsxs)(ya,{children:[we,Oe,ze]})]}),e[93]=we,e[94]=Oe,e[95]=ze,e[96]=Be):Be=e[96];let Ve;e[97]===Symbol.for(`react.memo_cache_sentinel`)?(Ve=(0,L.jsx)(va,{children:`IAM`}),e[97]=Ve):Ve=e[97];let He;e[98]===n?He=e[99]:(He=n.startsWith(`/iam/list-users`)||n.startsWith(`/iam/create-user`),e[98]=n,e[99]=He);let Ue,We;e[100]===Symbol.for(`react.memo_cache_sentinel`)?(Ue=(0,L.jsx)(Br,{className:`size-4`}),We=(0,L.jsx)(`span`,{children:`Users`}),e[100]=Ue,e[101]=We):(Ue=e[100],We=e[101]);let Ge;e[102]===He?Ge=e[103]:(Ge=(0,L.jsx)(H,{children:(0,L.jsx)(me,{to:`/iam/list-users`,children:(0,L.jsxs)(xa,{isActive:He,tooltip:`Users`,children:[Ue,We]})})}),e[102]=He,e[103]=Ge);let Ke;e[104]===n?Ke=e[105]:(Ke=n.startsWith(`/iam/list-policies`)||n.startsWith(`/iam/create-policy`),e[104]=n,e[105]=Ke);let qe,Je;e[106]===Symbol.for(`react.memo_cache_sentinel`)?(qe=(0,L.jsx)(Le,{className:`size-4`}),Je=(0,L.jsx)(`span`,{children:`Policies`}),e[106]=qe,e[107]=Je):(qe=e[106],Je=e[107]);let Ye;e[108]===Ke?Ye=e[109]:(Ye=(0,L.jsx)(H,{children:(0,L.jsx)(me,{to:`/iam/list-policies`,children:(0,L.jsxs)(xa,{isActive:Ke,tooltip:`Policies`,children:[qe,Je]})})}),e[108]=Ke,e[109]=Ye);let Xe;e[110]!==Ge||e[111]!==Ye?(Xe=(0,L.jsxs)(_a,{children:[Ve,(0,L.jsxs)(ya,{children:[Ge,Ye]})]}),e[110]=Ge,e[111]=Ye,e[112]=Xe):Xe=e[112];let Ze;e[113]===Symbol.for(`react.memo_cache_sentinel`)?(Ze=(0,L.jsx)(va,{children:`S3`}),e[113]=Ze):Ze=e[113];let Qe;e[114]===n?Qe=e[115]:(Qe=n.startsWith(`/s3/ls`),e[114]=n,e[115]=Qe);let $e,et;e[116]===Symbol.for(`react.memo_cache_sentinel`)?($e=(0,L.jsx)(Fe,{className:`size-4`}),et=(0,L.jsx)(`span`,{children:`Buckets`}),e[116]=$e,e[117]=et):($e=e[116],et=e[117]);let tt;e[118]===Qe?tt=e[119]:(tt=(0,L.jsx)(H,{children:(0,L.jsx)(me,{to:`/s3/ls`,children:(0,L.jsxs)(xa,{isActive:Qe,tooltip:`Buckets`,children:[$e,et]})})}),e[118]=Qe,e[119]=tt);let nt;e[120]!==a||e[121]!==n?(nt=a&&(0,L.jsx)(H,{children:(0,L.jsx)(me,{to:`/s3/service-metrics`,children:(0,L.jsxs)(xa,{isActive:n.startsWith(`/s3/service-metrics`),tooltip:`Service Metrics`,children:[(0,L.jsx)(Dr,{className:`size-4`}),(0,L.jsx)(`span`,{children:`Service Metrics`})]})})}),e[120]=a,e[121]=n,e[122]=nt):nt=e[122];let rt;e[123]!==tt||e[124]!==nt?(rt=(0,L.jsxs)(_a,{children:[Ze,(0,L.jsxs)(ya,{children:[tt,nt]})]}),e[123]=tt,e[124]=nt,e[125]=rt):rt=e[125];let it;e[126]===a?it=e[127]:(it=a&&(0,L.jsxs)(_a,{children:[(0,L.jsx)(va,{children:`Documentation`}),(0,L.jsx)(ya,{children:(0,L.jsx)(H,{children:(0,L.jsx)(`a`,{href:`https://docs.mulgadc.com`,target:`_blank`,rel:`noopener noreferrer`,children:(0,L.jsxs)(xa,{tooltip:`Documentation`,children:[(0,L.jsx)(Or,{className:`size-4`}),(0,L.jsx)(`span`,{children:`Docs`})]})})})})]}),e[126]=a,e[127]=it);let at;e[128]!==ye||e[129]!==Be||e[130]!==Xe||e[131]!==rt||e[132]!==it||e[133]!==h?(at=(0,L.jsxs)(ga,{children:[h,ye,Be,Xe,rt,it]}),e[128]=ye,e[129]=Be,e[130]=Xe,e[131]=rt,e[132]=it,e[133]=h,e[134]=at):at=e[134];let ot;e[135]===Symbol.for(`react.memo_cache_sentinel`)?(ot=(0,L.jsx)(ha,{className:`mx-0 w-full`}),e[135]=ot):ot=e[135];let st,ct;e[136]===Symbol.for(`react.memo_cache_sentinel`)?(st=(0,L.jsx)(Fr,{className:`size-4`}),ct=(0,L.jsx)(`span`,{children:`Sign out`}),e[136]=st,e[137]=ct):(st=e[136],ct=e[137]);let lt;e[138]===s?lt=e[139]:(lt=(0,L.jsxs)(ma,{children:[ot,(0,L.jsx)(ya,{children:(0,L.jsx)(H,{children:(0,L.jsxs)(xa,{onClick:s,tooltip:`Sign out`,children:[st,ct]})})})]}),e[138]=s,e[139]=lt);let ut;e[140]===Symbol.for(`react.memo_cache_sentinel`)?(ut=(0,L.jsx)(fa,{}),e[140]=ut):ut=e[140];let dt;return e[141]!==at||e[142]!==lt?(dt=(0,L.jsxs)(ua,{collapsible:`icon`,children:[c,at,lt,ut]}),e[141]=at,e[142]=lt,e[143]=dt):dt=e[143],dt}function Ea(e){return e.pathname}function Da(e){let t=(0,R.c)(18),{error:n,reset:r}=e,i=ne(),a=v(),o;t[0]!==a||t[1]!==r||t[2]!==i?(o=function(){a.invalidateQueries(),r(),i.invalidate()},t[0]=a,t[1]=r,t[2]=i,t[3]=o):o=t[3];let s=o,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,L.jsx)(Ta,{}),t[4]=c):c=t[4];let l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,L.jsx)(Ca,{}),t[5]=l):l=t[5];let u,d;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,L.jsx)(`div`,{className:`flex justify-center`,children:(0,L.jsx)(kr,{className:`size-12 text-destructive`})}),d=(0,L.jsx)(`h1`,{className:`text-2xl font-semibold`,children:`Something went wrong`}),t[6]=u,t[7]=d):(u=t[6],d=t[7]);let f=n.message||`An unexpected error occurred`,p;t[8]===f?p=t[9]:(p=(0,L.jsx)(`p`,{className:`text-muted-foreground`,children:f}),t[8]=f,t[9]=p);let m;t[10]===s?m=t[11]:(m=(0,L.jsx)(Ge,{onClick:s,variant:`default`,children:`Try Again`}),t[10]=s,t[11]=m);let h;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,L.jsx)(me,{to:`/`,children:(0,L.jsx)(Ge,{variant:`outline`,children:`Go Home`})}),t[12]=h):h=t[12];let g;t[13]===m?g=t[14]:(g=(0,L.jsxs)(`div`,{className:`flex justify-center gap-2`,children:[m,h]}),t[13]=m,t[14]=g);let _;return t[15]!==g||t[16]!==p?(_=(0,L.jsxs)(L.Fragment,{children:[c,(0,L.jsxs)(`main`,{className:`flex flex-1 flex-col`,children:[l,(0,L.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-6 pt-0`,children:(0,L.jsxs)(`div`,{className:`max-w-md space-y-4 text-center`,children:[u,d,p,g]})})]})]}),t[15]=g,t[16]=p,t[17]=_):_=t[17],_}var Oa=he()({head:()=>({meta:[{title:`Mulga`}]}),component:()=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(vr,{}),(0,L.jsx)(Ta,{}),(0,L.jsxs)(`main`,{className:`flex flex-1 flex-col`,children:[(0,L.jsx)(Ca,{}),(0,L.jsx)(`div`,{className:`flex flex-1 flex-col p-8`,children:(0,L.jsx)(le,{})})]})]}),errorComponent:Da,notFoundComponent:wa}),ka=j(`/login`)({beforeLoad:()=>{if(Oe())throw pe({to:`/`})},component:M(()=>N(()=>import(`./login.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])),`component`)}),Aa=j(`/_auth`)({beforeLoad:()=>{if(!Oe())throw pe({to:`/login`})},component:M(()=>N(()=>import(`./route.js`),__vite__mapDeps([17,1,18,19,20,21])),`component`)}),ja=j(`/_auth/`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(rn),e.queryClient.ensureQueryData(un),e.queryClient.ensureQueryData(ln),e.queryClient.ensureQueryData(tn),e.queryClient.ensureQueryData(hn),e.queryClient.ensureQueryData(an)])},head:()=>({meta:[{title:`Dashboard | Mulga`}]}),component:M(()=>N(()=>import(`./_auth.js`),__vite__mapDeps([22,1,3,4,23,2,5,6,24,25,26,9,27,28,29,30,31,19,32,33,34,35,36,37,38,15])),`component`)}),Ma=j(`/_auth/nodes`)({head:()=>({meta:[{title:`Nodes | Mulga`}]}),component:M(()=>N(()=>import(`./nodes.js`),__vite__mapDeps([39,1,26,3,4,9,27,28,29,30,21,36,38,24,15])),`component`)}),Na=j(`/_auth/s3/service-metrics`)({head:()=>({meta:[{title:`Service Metrics | Mulga`}]}),component:M(()=>N(()=>import(`./service-metrics.js`),__vite__mapDeps([40,1,26,3,4,9,27,28,29,30,21,36,38,24,15])),`component`)}),Pa=j(`/_auth/s3/ls/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(hn)},head:()=>({meta:[{title:`Buckets | S3 | Mulga`}]}),component:M(()=>N(()=>import(`./ls.js`),__vite__mapDeps([41,1,3,4,25,2,5,24,8,9,42,28,29,30,31,19,43,36])),`component`)}),Fa=j(`/_auth/s3/(buckets)/create-bucket`)({head:()=>({meta:[{title:`Create Bucket | S3 | Mulga`}]}),component:M(()=>N(()=>import(`./create-bucket.js`),__vite__mapDeps([44,1,45,2,3,4,5,29,46,47,13,8,9,10,11,14,48,19,49,31,32,50,51,33,52,53,54,36,16])),`component`)}),Ia=j(`/_auth/iam/(users)/create-user`)({head:()=>({meta:[{title:`Create User | IAM | Mulga`}]}),component:M(()=>N(()=>import(`./create-user.js`),__vite__mapDeps([55,1,56,2,3,4,5,29,46,47,13,8,9,10,11,14,48,19,49,31,32,50,51,33,52,53,54,36,16,57])),`component`)}),La=j(`/_auth/iam/(policies)/create-policy`)({head:()=>({meta:[{title:`Create Policy | IAM | Mulga`}]}),component:M(()=>N(()=>import(`./create-policy.js`),__vite__mapDeps([58,1,56,2,3,4,5,29,46,47,13,8,9,10,11,14,48,19,49,31,32,50,51,33,52,53,54,36,16,59,57])),`component`)}),Ra=j(`/_auth/ec2/(vpc)/create-vpc`)({head:()=>({meta:[{title:`Create VPC | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./create-vpc.js`),__vite__mapDeps([60,1,61,2,3,4,5,23,6,24,29,46,47,8,9,62,63,11,12,19,64,10,32,51,33,13,14,48,49,31,34,50,52,53,54,36,16,65])),`component`)}),za=j(`/_auth/ec2/(volumes)/create-volume`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(sn)},head:()=>({meta:[{title:`Create Volume | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./create-volume.js`),__vite__mapDeps([66,1,61,2,3,4,5,23,6,24,29,46,47,62,8,9,63,11,12,19,64,10,32,51,33,13,14,42,28,30,48,49,31,50,52,53,54,36,16,65])),`component`)}),Ba=j(`/_auth/ec2/(target-groups)/create-target-group`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(ln)},head:()=>({meta:[{title:`Create Target Group | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./create-target-group.js`),__vite__mapDeps([67,1,23,2,3,4,5,6,24,68,29,46,47,14,42,28,30,48,19,49,31,32,50,8,9,51,33,52,53,69,7,10,11,12,62,63,64,13,70,71,16,54,36,72])),`component`)}),Va=j(`/_auth/ec2/(subnet)/create-subnet`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(ln),e.queryClient.ensureQueryData(sn)])},head:()=>({meta:[{title:`Create Subnet | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./create-subnet.js`),__vite__mapDeps([73,1,3,4,61,2,5,23,6,24,29,46,47,62,8,9,63,11,12,19,64,10,32,51,33,13,14,42,28,30,48,49,31,50,52,53,54,36,16,65])),`component`)}),Ha=j(`/_auth/ec2/(security-groups)/create-security-group`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(ln)},head:()=>({meta:[{title:`Create Security Group | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./create-security-group.js`),__vite__mapDeps([74,1,3,4,61,2,5,23,6,24,29,46,47,62,8,9,63,11,12,19,64,10,32,51,33,13,14,42,28,30,48,49,31,50,52,53,54,36,16,65])),`component`)}),Ua=j(`/_auth/ec2/(placement-groups)/create-placement-group`)({head:()=>({meta:[{title:`Create Placement Group | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./create-placement-group.js`),__vite__mapDeps([75,1,61,2,3,4,5,23,6,24,29,46,47,62,8,9,63,11,12,19,64,10,32,51,33,13,14,48,49,31,50,52,53,54,36,16,65])),`component`)}),Wa=j(`/_auth/ec2/(load-balancers)/create-load-balancer`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(ln),e.queryClient.ensureQueryData($t),e.queryClient.ensureQueryData(an),e.queryClient.ensureQueryData(dn),e.queryClient.ensureQueryData(on)])},head:()=>({meta:[{title:`Create Load Balancer | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./create-load-balancer.js`),__vite__mapDeps([76,1,3,4,23,2,5,6,24,68,29,46,47,77,8,9,62,63,11,12,19,64,10,32,51,33,13,14,42,28,30,48,49,31,70,50,52,53,71,78,79,69,7,16,54,36,72])),`component`)}),Ga=j(`/_auth/ec2/(key)/import-key-pair`)({head:()=>({meta:[{title:`Import Key Pair | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./import-key-pair.js`),__vite__mapDeps([80,1,61,2,3,4,5,23,6,24,29,46,47,13,8,9,10,11,14,48,19,49,31,32,50,51,33,52,53,54,36,16,59,65])),`component`)}),Ka=j(`/_auth/ec2/(key)/create-key-pair`)({head:()=>({meta:[{title:`Create Key Pair | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./create-key-pair.js`),__vite__mapDeps([81,1,61,2,3,4,5,23,6,24,29,46,47,82,8,9,83,63,11,12,19,13,10,14,48,49,31,32,51,84,50,33,52,53,85,54,36,16,65])),`component`)}),qa=j(`/_auth/ec2/(instances)/run-instances`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(on),e.queryClient.ensureQueryData(tn),e.queryClient.ensureQueryData(en),e.queryClient.ensureQueryData($t),e.queryClient.ensureQueryData(cn)])},head:()=>({meta:[{title:`Run Instances | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./run-instances.js`),__vite__mapDeps([86,1,61,2,3,4,5,23,6,24,29,46,47,8,9,62,63,11,12,19,64,10,32,51,33,13,14,42,28,30,48,49,31,50,52,53,36,16,65])),`component`)}),Ja=j(`/_auth/s3/ls/$bucket`)({component:M(()=>N(()=>import(`./route2.js`),__vite__mapDeps([87,1,18,19,20,21])),`component`)}),Ya=j(`/_auth/iam/(users)/list-users/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(mn)},head:()=>({meta:[{title:`Users | IAM | Mulga`}]}),component:M(()=>N(()=>import(`./list-users.js`),__vite__mapDeps([88,1,89,2,3,4,5,24,8,9,42,28,29,30,31,19,43,36])),`component`)}),Xa=j(`/_auth/iam/(policies)/list-policies/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(pn)},head:()=>({meta:[{title:`Policies | IAM | Mulga`}]}),component:M(()=>N(()=>import(`./list-policies.js`),__vite__mapDeps([90,1,89,2,3,4,5,24,8,9,42,28,29,30,31,19,43,36])),`component`)}),Za=j(`/_auth/ec2/(vpc)/describe-vpcs/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(ln)},head:()=>({meta:[{title:`VPCs | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./describe-vpcs.js`),__vite__mapDeps([91,1,3,4,23,2,5,6,24,8,9,42,28,29,30,31,19,43,36,37])),`component`)}),Qa=j(`/_auth/ec2/(volumes)/describe-volumes/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(un)},head:()=>({meta:[{title:`Volumes | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./describe-volumes.js`),__vite__mapDeps([92,1,23,2,3,4,5,6,24,8,9,42,28,29,30,31,19,43,36,37])),`component`)}),$a=j(`/_auth/ec2/(target-groups)/describe-target-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(dn)},head:()=>({meta:[{title:`Target Groups | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./describe-target-groups.js`),__vite__mapDeps([93,1,77,2,3,4,5,24,8,9,27,28,29,30,42,31,19,48,36])),`component`)}),eo=j(`/_auth/ec2/(subnet)/describe-subnets/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData($t)},head:()=>({meta:[{title:`Subnets | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./describe-subnets.js`),__vite__mapDeps([94,1,3,4,23,2,5,6,24,8,9,42,28,29,30,31,19,43,36,37])),`component`)}),to=j(`/_auth/ec2/(snapshots)/describe-snapshots/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(nn)},head:()=>({meta:[{title:`Snapshots | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./describe-snapshots.js`),__vite__mapDeps([95,1,23,2,3,4,5,6,24,8,9,42,28,29,30,31,19,43,36,37])),`component`)}),no=j(`/_auth/ec2/(security-groups)/describe-security-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(an)},head:()=>({meta:[{title:`Security Groups | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./describe-security-groups.js`),__vite__mapDeps([96,1,23,2,3,4,5,6,24,8,9,42,28,29,30,31,19,43,36])),`component`)}),ro=j(`/_auth/ec2/(placement-groups)/describe-placement-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(cn)},head:()=>({meta:[{title:`Placement Groups | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./describe-placement-groups.js`),__vite__mapDeps([97,1,23,2,3,4,5,6,24,8,9,42,28,29,30,31,19,43,36,37])),`component`)}),io=j(`/_auth/ec2/(load-balancers)/describe-load-balancers/`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(fn),e.queryClient.ensureQueryData(on)])},head:()=>({meta:[{title:`Load Balancers | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./describe-load-balancers.js`),__vite__mapDeps([98,1,23,2,3,4,5,6,24,77,8,9,42,28,29,30,31,19,48,78,79,36,37])),`component`)}),ao=j(`/_auth/ec2/(key)/describe-key-pairs/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(tn)},head:()=>({meta:[{title:`Key Pairs | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./describe-key-pairs.js`),__vite__mapDeps([99,1,23,2,3,4,5,6,24,8,9,42,28,29,30,31,19,43,36])),`component`)}),oo=j(`/_auth/ec2/(instances)/describe-instances/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(rn)},head:()=>({meta:[{title:`Instances | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./describe-instances.js`),__vite__mapDeps([100,1,23,2,3,4,5,6,24,8,9,42,28,29,30,31,19,43,36,37])),`component`)}),so=j(`/_auth/ec2/(images)/describe-images/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(on)},head:()=>({meta:[{title:`Images | EC2 | Mulga`}]}),component:M(()=>N(()=>import(`./describe-images.js`),__vite__mapDeps([101,1,23,2,3,4,5,6,24,42,28,29,30,43,31,19,36,37,79])),`component`)}),co=ka.update({id:`/login`,path:`/login`,getParentRoute:()=>Oa}),U=Aa.update({id:`/_auth`,getParentRoute:()=>Oa}),W=ja.update({id:`/`,path:`/`,getParentRoute:()=>U}),G=Ma.update({id:`/nodes`,path:`/nodes`,getParentRoute:()=>U}),lo=Na.update({id:`/s3/service-metrics`,path:`/s3/service-metrics`,getParentRoute:()=>U}),uo=Pa.update({id:`/s3/ls/`,path:`/s3/ls/`,getParentRoute:()=>U}),fo=Fa.update({id:`/s3/(buckets)/create-bucket`,path:`/s3/create-bucket`,getParentRoute:()=>U}),po=Ia.update({id:`/iam/(users)/create-user`,path:`/iam/create-user`,getParentRoute:()=>U}),mo=La.update({id:`/iam/(policies)/create-policy`,path:`/iam/create-policy`,getParentRoute:()=>U}),ho=Ra.update({id:`/ec2/(vpc)/create-vpc`,path:`/ec2/create-vpc`,getParentRoute:()=>U}),go=za.update({id:`/ec2/(volumes)/create-volume`,path:`/ec2/create-volume`,getParentRoute:()=>U}),_o=Ba.update({id:`/ec2/(target-groups)/create-target-group`,path:`/ec2/create-target-group`,getParentRoute:()=>U}),vo=Va.update({id:`/ec2/(subnet)/create-subnet`,path:`/ec2/create-subnet`,getParentRoute:()=>U}),yo=gn.update({id:`/ec2/(snapshots)/create-snapshot`,path:`/ec2/create-snapshot`,getParentRoute:()=>U}),bo=Ha.update({id:`/ec2/(security-groups)/create-security-group`,path:`/ec2/create-security-group`,getParentRoute:()=>U}),xo=Ua.update({id:`/ec2/(placement-groups)/create-placement-group`,path:`/ec2/create-placement-group`,getParentRoute:()=>U}),So=Wa.update({id:`/ec2/(load-balancers)/create-load-balancer`,path:`/ec2/create-load-balancer`,getParentRoute:()=>U}),Co=Ga.update({id:`/ec2/(key)/import-key-pair`,path:`/ec2/import-key-pair`,getParentRoute:()=>U}),wo=Ka.update({id:`/ec2/(key)/create-key-pair`,path:`/ec2/create-key-pair`,getParentRoute:()=>U}),To=qa.update({id:`/ec2/(instances)/run-instances`,path:`/ec2/run-instances`,getParentRoute:()=>U}),Eo=Ja.update({id:`/s3/ls/$bucket`,path:`/s3/ls/$bucket`,getParentRoute:()=>U}),Do=_n.update({id:`/`,path:`/`,getParentRoute:()=>Eo}),Oo=Ya.update({id:`/iam/(users)/list-users/`,path:`/iam/list-users/`,getParentRoute:()=>U}),ko=Xa.update({id:`/iam/(policies)/list-policies/`,path:`/iam/list-policies/`,getParentRoute:()=>U}),Ao=Za.update({id:`/ec2/(vpc)/describe-vpcs/`,path:`/ec2/describe-vpcs/`,getParentRoute:()=>U}),jo=Qa.update({id:`/ec2/(volumes)/describe-volumes/`,path:`/ec2/describe-volumes/`,getParentRoute:()=>U}),Mo=$a.update({id:`/ec2/(target-groups)/describe-target-groups/`,path:`/ec2/describe-target-groups/`,getParentRoute:()=>U}),No=eo.update({id:`/ec2/(subnet)/describe-subnets/`,path:`/ec2/describe-subnets/`,getParentRoute:()=>U}),Po=to.update({id:`/ec2/(snapshots)/describe-snapshots/`,path:`/ec2/describe-snapshots/`,getParentRoute:()=>U}),Fo=no.update({id:`/ec2/(security-groups)/describe-security-groups/`,path:`/ec2/describe-security-groups/`,getParentRoute:()=>U}),Io=ro.update({id:`/ec2/(placement-groups)/describe-placement-groups/`,path:`/ec2/describe-placement-groups/`,getParentRoute:()=>U}),Lo=io.update({id:`/ec2/(load-balancers)/describe-load-balancers/`,path:`/ec2/describe-load-balancers/`,getParentRoute:()=>U}),Ro=ao.update({id:`/ec2/(key)/describe-key-pairs/`,path:`/ec2/describe-key-pairs/`,getParentRoute:()=>U}),zo=oo.update({id:`/ec2/(instances)/describe-instances/`,path:`/ec2/describe-instances/`,getParentRoute:()=>U}),Bo=so.update({id:`/ec2/(images)/describe-images/`,path:`/ec2/describe-images/`,getParentRoute:()=>U}),Vo=vn.update({id:`/$`,path:`/$`,getParentRoute:()=>Eo}),Ho=yn.update({id:`/iam/(users)/list-users/$userName`,path:`/iam/list-users/$userName`,getParentRoute:()=>U}),Uo=bn.update({id:`/iam/(policies)/list-policies/$policyArn`,path:`/iam/list-policies/$policyArn`,getParentRoute:()=>U}),Wo=xn.update({id:`/ec2/(vpc)/describe-vpcs/$id`,path:`/ec2/describe-vpcs/$id`,getParentRoute:()=>U}),Go=Sn.update({id:`/ec2/(volumes)/modify-volume/$id`,path:`/ec2/modify-volume/$id`,getParentRoute:()=>U}),Ko=Me.update({id:`/ec2/(volumes)/describe-volumes/$id`,path:`/ec2/describe-volumes/$id`,getParentRoute:()=>U}),qo=Cn.update({id:`/ec2/(target-groups)/describe-target-groups/$id`,path:`/ec2/describe-target-groups/$id`,getParentRoute:()=>U}),Jo=wn.update({id:`/ec2/(subnet)/describe-subnets/$id`,path:`/ec2/describe-subnets/$id`,getParentRoute:()=>U}),Yo=Tn.update({id:`/ec2/(snapshots)/describe-snapshots/$id`,path:`/ec2/describe-snapshots/$id`,getParentRoute:()=>U}),Xo=ze.update({id:`/ec2/(security-groups)/describe-security-groups/$id`,path:`/ec2/describe-security-groups/$id`,getParentRoute:()=>U}),Zo=En.update({id:`/ec2/(placement-groups)/describe-placement-groups/$id`,path:`/ec2/describe-placement-groups/$id`,getParentRoute:()=>U}),Qo=Dn.update({id:`/ec2/(load-balancers)/describe-load-balancers/$id`,path:`/ec2/describe-load-balancers/$id`,getParentRoute:()=>U}),$o=On.update({id:`/ec2/(key)/describe-key-pairs/$id`,path:`/ec2/describe-key-pairs/$id`,getParentRoute:()=>U}),es=kn.update({id:`/ec2/(instances)/describe-instances/$id`,path:`/ec2/describe-instances/$id`,getParentRoute:()=>U}),ts=An.update({id:`/ec2/(images)/describe-images/$id`,path:`/ec2/describe-images/$id`,getParentRoute:()=>U}),ns={AuthS3LsBucketSplatRoute:Vo,AuthS3LsBucketIndexRoute:Do},rs={AuthNodesRoute:G,AuthIndexRoute:W,AuthS3ServiceMetricsRoute:lo,AuthS3LsBucketRouteRoute:Eo._addFileChildren(ns),AuthEc2instancesRunInstancesRoute:To,AuthEc2keyCreateKeyPairRoute:wo,AuthEc2keyImportKeyPairRoute:Co,AuthEc2loadBalancersCreateLoadBalancerRoute:So,AuthEc2placementGroupsCreatePlacementGroupRoute:xo,AuthEc2securityGroupsCreateSecurityGroupRoute:bo,AuthEc2snapshotsCreateSnapshotRoute:yo,AuthEc2subnetCreateSubnetRoute:vo,AuthEc2targetGroupsCreateTargetGroupRoute:_o,AuthEc2volumesCreateVolumeRoute:go,AuthEc2vpcCreateVpcRoute:ho,AuthIampoliciesCreatePolicyRoute:mo,AuthIamusersCreateUserRoute:po,AuthS3bucketsCreateBucketRoute:fo,AuthS3LsIndexRoute:uo,AuthEc2imagesDescribeImagesIdRoute:ts,AuthEc2instancesDescribeInstancesIdRoute:es,AuthEc2keyDescribeKeyPairsIdRoute:$o,AuthEc2loadBalancersDescribeLoadBalancersIdRoute:Qo,AuthEc2placementGroupsDescribePlacementGroupsIdRoute:Zo,AuthEc2securityGroupsDescribeSecurityGroupsIdRoute:Xo,AuthEc2snapshotsDescribeSnapshotsIdRoute:Yo,AuthEc2subnetDescribeSubnetsIdRoute:Jo,AuthEc2targetGroupsDescribeTargetGroupsIdRoute:qo,AuthEc2volumesDescribeVolumesIdRoute:Ko,AuthEc2volumesModifyVolumeIdRoute:Go,AuthEc2vpcDescribeVpcsIdRoute:Wo,AuthIampoliciesListPoliciesPolicyArnRoute:Uo,AuthIamusersListUsersUserNameRoute:Ho,AuthEc2imagesDescribeImagesIndexRoute:Bo,AuthEc2instancesDescribeInstancesIndexRoute:zo,AuthEc2keyDescribeKeyPairsIndexRoute:Ro,AuthEc2loadBalancersDescribeLoadBalancersIndexRoute:Lo,AuthEc2placementGroupsDescribePlacementGroupsIndexRoute:Io,AuthEc2securityGroupsDescribeSecurityGroupsIndexRoute:Fo,AuthEc2snapshotsDescribeSnapshotsIndexRoute:Po,AuthEc2subnetDescribeSubnetsIndexRoute:No,AuthEc2targetGroupsDescribeTargetGroupsIndexRoute:Mo,AuthEc2volumesDescribeVolumesIndexRoute:jo,AuthEc2vpcDescribeVpcsIndexRoute:Ao,AuthIampoliciesListPoliciesIndexRoute:ko,AuthIamusersListUsersIndexRoute:Oo},is={AuthRouteRoute:U._addFileChildren(rs),LoginRoute:co},as=Oa._addFileChildren(is)._addFileTypes(),os=new Ln({defaultOptions:{queries:{staleTime:5e3}}}),ss=lr({routeTree:as,context:{queryClient:os},defaultPreload:`intent`,scrollRestoration:!0,defaultStructuralSharing:!0,defaultPreloadStaleTime:0}),cs=document.querySelector(`#app`);cs&&!cs.innerHTML&&Sr.createRoot(cs).render((0,L.jsx)(I.StrictMode,{children:(0,L.jsx)(Tr,{defaultTheme:`dark`,storageKey:`spinifex-ui-theme`,children:(0,L.jsx)(x,{client:os,children:(0,L.jsx)(De,{children:(0,L.jsx)(sa,{children:(0,L.jsx)(fr,{router:ss})})})})})})); \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/input.js b/spinifex/services/spinifexui/frontend/dist/assets/input.js index f16219a04..9eb7a9bb0 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/input.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/input.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{n as i}from"./dist.js";import{F as a}from"./SignatureV4.js";import{i as o}from"./button.js";import{a as s,c,i as l,n as u,r as d,s as f}from"./separator.js";import{B as p,g as m,t as h,u as g}from"./createBaseUIEventDetails.js";var _=e(n()),v=_.forwardRef(function(e,t){let{render:n,className:r,id:a,name:v,value:y,disabled:b=!1,onValueChange:x,defaultValue:S,autoFocus:C=!1,...w}=e,{state:T,name:E,disabled:D,setTouched:O,setDirty:k,validityData:A,setFocused:j,setFilled:M,validationMode:N,validation:P}=f(),F=D||b,I=E??v,L={...T,disabled:F},{labelId:R}=s(),z=d({id:a});o(()=>{let e=y!=null;P.inputRef.current?.value||e&&y!==``?M(!0):e&&y===``&&M(!1)},[P.inputRef,M,y]);let B=_.useRef(null);o(()=>{C&&B.current===m(p(B.current))&&j(!0)},[C,j]);let[V]=l({controlled:y,default:S,name:`FieldControl`,state:`value`}),H=y!==void 0,U=H?V:void 0;return u({id:z,name:I,commit:P.commit,value:U,getValue:()=>P.inputRef.current?.value,controlRef:P.inputRef}),i(`input`,e,{ref:[t,B],state:L,props:[{id:z,disabled:F,name:I,ref:P.inputRef,"aria-labelledby":R,autoFocus:C,...H?{value:U}:{defaultValue:S},onChange(e){let t=e.currentTarget.value;x?.(t,h(g,e.nativeEvent)),k(t!==A.initialValue),M(t!==``)},onFocus(){j(!0)},onBlur(e){O(!0),j(!1),N===`onBlur`&&P.commit(e.currentTarget.value)},onKeyDown(e){e.currentTarget.tagName===`INPUT`&&e.key===`Enter`&&(O(!0),P.commit(e.currentTarget.value))}},P.getInputValidationProps(),w],stateAttributesMapping:c})}),y=t(),b=_.forwardRef(function(e,t){return(0,y.jsx)(v,{ref:t,...e})}),x=r();function S(e){let t=(0,x.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,type:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let o;t[4]===n?o=t[5]:(o=a(`h-7 w-full min-w-0 rounded-md border border-input bg-input/20 px-2 py-0.5 text-sm transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-xs/relaxed file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 md:text-xs/relaxed dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,n),t[4]=n,t[5]=o);let s;return t[6]!==r||t[7]!==o||t[8]!==i?(s=(0,y.jsx)(b,{className:o,"data-slot":`input`,type:i,...r}),t[6]=r,t[7]=o,t[8]=i,t[9]=s):s=t[9],s}export{S as t}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{n as i}from"./dist.js";import{I as a}from"./SignatureV4.js";import{o}from"./button.js";import{a as s,c,i as l,n as u,r as d,s as f}from"./separator.js";import{B as p,g as m,t as h,u as g}from"./createBaseUIEventDetails.js";var _=e(n()),v=_.forwardRef(function(e,t){let{render:n,className:r,id:a,name:v,value:y,disabled:b=!1,onValueChange:x,defaultValue:S,autoFocus:C=!1,...w}=e,{state:T,name:E,disabled:D,setTouched:O,setDirty:k,validityData:A,setFocused:j,setFilled:M,validationMode:N,validation:P}=f(),F=D||b,I=E??v,L={...T,disabled:F},{labelId:R}=s(),z=d({id:a});o(()=>{let e=y!=null;P.inputRef.current?.value||e&&y!==``?M(!0):e&&y===``&&M(!1)},[P.inputRef,M,y]);let B=_.useRef(null);o(()=>{C&&B.current===m(p(B.current))&&j(!0)},[C,j]);let[V]=l({controlled:y,default:S,name:`FieldControl`,state:`value`}),H=y!==void 0,U=H?V:void 0;return u({id:z,name:I,commit:P.commit,value:U,getValue:()=>P.inputRef.current?.value,controlRef:P.inputRef}),i(`input`,e,{ref:[t,B],state:L,props:[{id:z,disabled:F,name:I,ref:P.inputRef,"aria-labelledby":R,autoFocus:C,...H?{value:U}:{defaultValue:S},onChange(e){let t=e.currentTarget.value;x?.(t,h(g,e.nativeEvent)),k(t!==A.initialValue),M(t!==``)},onFocus(){j(!0)},onBlur(e){O(!0),j(!1),N===`onBlur`&&P.commit(e.currentTarget.value)},onKeyDown(e){e.currentTarget.tagName===`INPUT`&&e.key===`Enter`&&(O(!0),P.commit(e.currentTarget.value))}},P.getInputValidationProps(),w],stateAttributesMapping:c})}),y=t(),b=_.forwardRef(function(e,t){return(0,y.jsx)(v,{ref:t,...e})}),x=r();function S(e){let t=(0,x.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,type:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let o;t[4]===n?o=t[5]:(o=a(`h-7 w-full min-w-0 rounded-md border border-input bg-input/20 px-2 py-0.5 text-sm transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-xs/relaxed file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 md:text-xs/relaxed dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,n),t[4]=n,t[5]=o);let s;return t[6]!==r||t[7]!==o||t[8]!==i?(s=(0,y.jsx)(b,{className:o,"data-slot":`input`,type:i,...r}),t[6]=r,t[7]=o,t[8]=i,t[9]=s):s=t[9],s}export{S as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/lb-image-missing-banner.js b/spinifex/services/spinifexui/frontend/dist/assets/lb-image-missing-banner.js new file mode 100644 index 000000000..b0a579dc5 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/lb-image-missing-banner.js @@ -0,0 +1 @@ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./system-managed.js";var r=t(),i=e();function a(){let e=(0,r.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,i.jsxs)(`div`,{className:`mb-6 max-w-4xl rounded-md border border-amber-500/50 bg-amber-500/10 p-4`,children:[(0,i.jsx)(`h2`,{className:`text-sm font-semibold`,children:`Load balancer image not imported`}),(0,i.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`The load balancer system image has not been imported on this cluster. A cluster administrator must run the following command before load balancers can be created:`}),(0,i.jsxs)(`pre`,{className:`mt-2 overflow-x-auto rounded bg-muted px-3 py-2 font-mono text-xs`,children:[`spx admin images import --name `,n]})]}),e[0]=t):t=e[0],t}export{a as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/link.js b/spinifex/services/spinifexui/frontend/dist/assets/link.js index 89a4baf65..fcce483ca 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/link.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/link.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{H as r,M as i,N as a,V as o,i as ee,k as te,p as s,s as ne,t as re,u as ie}from"./useStore.js";import{Xt as c}from"./awsClient.js";var l=`Error preloading route! ☝️`,u=e(n(),1);t();var ae=e(c(),1);function d(e,t){let n=ee(),c=o(t),{activeProps:d,inactiveProps:g,activeOptions:_,to:v,preload:pe,preloadDelay:me,preloadIntentProximity:he,hashScrollIntoView:ge,replace:y,startTransition:_e,resetScroll:ve,viewTransition:b,children:x,target:S,disabled:C,style:w,className:T,onClick:E,onBlur:D,onFocus:O,onMouseEnter:k,onMouseLeave:A,onTouchStart:j,ignoreBlocker:M,params:ye,search:be,hash:xe,state:Se,mask:Ce,reloadDocument:we,unsafeRelative:Te,from:Ee,_fromLocation:De,...N}=e,P=ne(),F=u.useMemo(()=>e,[n,e.from,e._fromLocation,e.hash,e.to,e.search,e.params,e.state,e.mask,e.unsafeRelative]),I=re(n.stores.location,e=>e,(e,t)=>e.href===t.href),L=u.useMemo(()=>{let e={_fromLocation:I,...F};return n.buildLocation(e)},[n,I,F]),R=L.maskedLocation?L.maskedLocation.publicHref:L.publicHref,z=L.maskedLocation?L.maskedLocation.external:L.external,B=u.useMemo(()=>ue(R,z,n.history,C),[C,z,R,n.history]),V=u.useMemo(()=>{if(B?.external)return a(B.href,n.protocolAllowlist)?void 0:B.href;if(!de(v)&&!(typeof v!=`string`||v.indexOf(`:`)===-1))try{return new URL(v),a(v,n.protocolAllowlist)?void 0:v}catch{}},[v,B,n.protocolAllowlist]),H=u.useMemo(()=>{if(V)return!1;if(_?.exact){if(!ie(I.pathname,L.pathname,n.basepath))return!1}else{let e=s(I.pathname,n.basepath),t=s(L.pathname,n.basepath);if(!(e.startsWith(t)&&(e.length===t.length||e[t.length]===`/`)))return!1}return(_?.includeSearch??!0)&&!te(I.search,L.search,{partial:!_?.exact,ignoreUndefined:!_?.explicitUndefined})?!1:_?.includeHash?P&&I.hash===L.hash:!0},[_?.exact,_?.explicitUndefined,_?.includeHash,_?.includeSearch,I,V,P,L.hash,L.pathname,L.search,n.basepath]),U=H?i(d,{})??oe:f,W=H?f:i(g,{})??f,G=[T,U.className,W.className].filter(Boolean).join(` `),K=(w||U.style||W.style)&&{...w,...U.style,...W.style},[Oe,q]=u.useState(!1),J=u.useRef(!1),Y=e.reloadDocument||V?!1:pe??n.options.defaultPreload,X=me??n.options.defaultPreloadDelay??0,Z=u.useCallback(()=>{n.preloadRoute({...F,_builtLocation:L}).catch(e=>{console.warn(e),console.warn(l)})},[n,F,L]);r(c,u.useCallback(e=>{e?.isIntersecting&&Z()},[Z]),m,{disabled:!!C||Y!==`viewport`}),u.useEffect(()=>{J.current||!C&&Y===`render`&&(Z(),J.current=!0)},[C,Z,Y]);let ke=e=>{let t=e.currentTarget.getAttribute(`target`),r=S===void 0?t:S;if(!C&&!fe(e)&&!e.defaultPrevented&&(!r||r===`_self`)&&e.button===0){e.preventDefault(),(0,ae.flushSync)(()=>{q(!0)});let t=n.subscribe(`onResolved`,()=>{t(),q(!1)});n.navigate({...F,replace:y,resetScroll:ve,hashScrollIntoView:ge,startTransition:_e,viewTransition:b,ignoreBlocker:M})}};if(V)return{...N,ref:c,href:V,...x&&{children:x},...S&&{target:S},...C&&{disabled:C},...w&&{style:w},...T&&{className:T},...E&&{onClick:E},...D&&{onBlur:D},...O&&{onFocus:O},...k&&{onMouseEnter:k},...A&&{onMouseLeave:A},...j&&{onTouchStart:j}};let Q=e=>{if(C||Y!==`intent`)return;if(!X){Z();return}let t=e.currentTarget;if(p.has(t))return;let n=setTimeout(()=>{p.delete(t),Z()},X);p.set(t,n)},Ae=e=>{C||Y!==`intent`||Z()},$=e=>{if(C||!Y||!X)return;let t=e.currentTarget,n=p.get(t);n&&(clearTimeout(n),p.delete(t))};return{...N,...U,...W,href:B?.href,ref:c,onClick:h([E,ke]),onBlur:h([D,$]),onFocus:h([O,Q]),onMouseEnter:h([k,Q]),onMouseLeave:h([A,$]),onTouchStart:h([j,Ae]),disabled:!!C,target:S,...K&&{style:K},...G&&{className:G},...C&&se,...H&&ce,...P&&Oe&&le}}var f={},oe={className:`active`},se={role:`link`,"aria-disabled":!0},ce={"data-status":`active`,"aria-current":`page`},le={"data-transitioning":`transitioning`},p=new WeakMap,m={rootMargin:`100px`},h=e=>t=>{for(let n of e)if(n){if(t.defaultPrevented)return;n(t)}};function ue(e,t,n,r){if(!r)return t?{href:e,external:!0}:{href:n.createHref(e)||`/`,external:!1}}function de(e){if(typeof e!=`string`)return!1;let t=e.charCodeAt(0);return t===47?e.charCodeAt(1)!==47:t===46}var g=u.forwardRef((e,t)=>{let{_asChild:n,...r}=e,{type:i,...a}=d(r,t),o=typeof r.children==`function`?r.children({isActive:a[`data-status`]===`active`}):r.children;if(!n){let{disabled:e,...t}=a;return u.createElement(`a`,t,o)}return u.createElement(n,a,o)});function fe(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}export{g as t}; \ No newline at end of file +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{H as r,M as i,N as a,V as o,i as ee,k as te,p as s,s as ne,t as re,u as ie}from"./useStore.js";import{hn as c}from"./awsClient.js";var l=`Error preloading route! ☝️`,u=e(n(),1);t();var ae=e(c(),1);function d(e,t){let n=ee(),c=o(t),{activeProps:d,inactiveProps:g,activeOptions:_,to:v,preload:pe,preloadDelay:me,preloadIntentProximity:he,hashScrollIntoView:ge,replace:y,startTransition:_e,resetScroll:ve,viewTransition:b,children:x,target:S,disabled:C,style:w,className:T,onClick:E,onBlur:D,onFocus:O,onMouseEnter:k,onMouseLeave:A,onTouchStart:j,ignoreBlocker:M,params:ye,search:be,hash:xe,state:Se,mask:Ce,reloadDocument:we,unsafeRelative:Te,from:Ee,_fromLocation:De,...N}=e,P=ne(),F=u.useMemo(()=>e,[n,e.from,e._fromLocation,e.hash,e.to,e.search,e.params,e.state,e.mask,e.unsafeRelative]),I=re(n.stores.location,e=>e,(e,t)=>e.href===t.href),L=u.useMemo(()=>{let e={_fromLocation:I,...F};return n.buildLocation(e)},[n,I,F]),R=L.maskedLocation?L.maskedLocation.publicHref:L.publicHref,z=L.maskedLocation?L.maskedLocation.external:L.external,B=u.useMemo(()=>ue(R,z,n.history,C),[C,z,R,n.history]),V=u.useMemo(()=>{if(B?.external)return a(B.href,n.protocolAllowlist)?void 0:B.href;if(!de(v)&&!(typeof v!=`string`||v.indexOf(`:`)===-1))try{return new URL(v),a(v,n.protocolAllowlist)?void 0:v}catch{}},[v,B,n.protocolAllowlist]),H=u.useMemo(()=>{if(V)return!1;if(_?.exact){if(!ie(I.pathname,L.pathname,n.basepath))return!1}else{let e=s(I.pathname,n.basepath),t=s(L.pathname,n.basepath);if(!(e.startsWith(t)&&(e.length===t.length||e[t.length]===`/`)))return!1}return(_?.includeSearch??!0)&&!te(I.search,L.search,{partial:!_?.exact,ignoreUndefined:!_?.explicitUndefined})?!1:_?.includeHash?P&&I.hash===L.hash:!0},[_?.exact,_?.explicitUndefined,_?.includeHash,_?.includeSearch,I,V,P,L.hash,L.pathname,L.search,n.basepath]),U=H?i(d,{})??oe:f,W=H?f:i(g,{})??f,G=[T,U.className,W.className].filter(Boolean).join(` `),K=(w||U.style||W.style)&&{...w,...U.style,...W.style},[Oe,q]=u.useState(!1),J=u.useRef(!1),Y=e.reloadDocument||V?!1:pe??n.options.defaultPreload,X=me??n.options.defaultPreloadDelay??0,Z=u.useCallback(()=>{n.preloadRoute({...F,_builtLocation:L}).catch(e=>{console.warn(e),console.warn(l)})},[n,F,L]);r(c,u.useCallback(e=>{e?.isIntersecting&&Z()},[Z]),m,{disabled:!!C||Y!==`viewport`}),u.useEffect(()=>{J.current||!C&&Y===`render`&&(Z(),J.current=!0)},[C,Z,Y]);let ke=e=>{let t=e.currentTarget.getAttribute(`target`),r=S===void 0?t:S;if(!C&&!fe(e)&&!e.defaultPrevented&&(!r||r===`_self`)&&e.button===0){e.preventDefault(),(0,ae.flushSync)(()=>{q(!0)});let t=n.subscribe(`onResolved`,()=>{t(),q(!1)});n.navigate({...F,replace:y,resetScroll:ve,hashScrollIntoView:ge,startTransition:_e,viewTransition:b,ignoreBlocker:M})}};if(V)return{...N,ref:c,href:V,...x&&{children:x},...S&&{target:S},...C&&{disabled:C},...w&&{style:w},...T&&{className:T},...E&&{onClick:E},...D&&{onBlur:D},...O&&{onFocus:O},...k&&{onMouseEnter:k},...A&&{onMouseLeave:A},...j&&{onTouchStart:j}};let Q=e=>{if(C||Y!==`intent`)return;if(!X){Z();return}let t=e.currentTarget;if(p.has(t))return;let n=setTimeout(()=>{p.delete(t),Z()},X);p.set(t,n)},Ae=e=>{C||Y!==`intent`||Z()},$=e=>{if(C||!Y||!X)return;let t=e.currentTarget,n=p.get(t);n&&(clearTimeout(n),p.delete(t))};return{...N,...U,...W,href:B?.href,ref:c,onClick:h([E,ke]),onBlur:h([D,$]),onFocus:h([O,Q]),onMouseEnter:h([k,Q]),onMouseLeave:h([A,$]),onTouchStart:h([j,Ae]),disabled:!!C,target:S,...K&&{style:K},...G&&{className:G},...C&&se,...H&&ce,...P&&Oe&&le}}var f={},oe={className:`active`},se={role:`link`,"aria-disabled":!0},ce={"data-status":`active`,"aria-current":`page`},le={"data-transitioning":`transitioning`},p=new WeakMap,m={rootMargin:`100px`},h=e=>t=>{for(let n of e)if(n){if(t.defaultPrevented)return;n(t)}};function ue(e,t,n,r){if(!r)return t?{href:e,external:!0}:{href:n.createHref(e)||`/`,external:!1}}function de(e){if(typeof e!=`string`)return!1;let t=e.charCodeAt(0);return t===47?e.charCodeAt(1)!==47:t===46}var g=u.forwardRef((e,t)=>{let{_asChild:n,...r}=e,{type:i,...a}=d(r,t),o=typeof r.children==`function`?r.children({isActive:a[`data-status`]===`active`}):r.children;if(!n){let{disabled:e,...t}=a;return u.createElement(`a`,t,o)}return u.createElement(n,a,o)});function fe(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}export{g as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/login.js b/spinifex/services/spinifexui/frontend/dist/assets/login.js index 92785ebe5..08f33ec4f 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/login.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/login.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{n as i,t as a}from"./awsClient.js";import{f as o,m as s,n as c}from"./dist.js";import{C as l,b as u,x as d}from"./SignatureV4.js";import{i as f,o as p,r as m,t as h}from"./button.js";import{i as g}from"./separator.js";import{V as _,m as v,t as y,u as b}from"./createBaseUIEventDetails.js";import{a as x,c as S,i as C,l as w,n as T,r as E,s as D,t as O}from"./useTransitionStatus.js";import{t as k}from"./input.js";import{t as A}from"./DescribeInstancesCommand.js";import{i as j,n as M,r as N,t as P}from"./field.js";import{r as F,t as I}from"./zod.js";import{a as L,o as R,r as z,t as B}from"./card.js";var V=e(n());function H(e){let{open:t,defaultOpen:n,onOpenChange:r,disabled:i}=e,a=t!==void 0,[o,s]=g({controlled:t,default:n,name:`Collapsible`,state:`open`}),{mounted:c,setMounted:l,transitionStatus:u}=O(o,!0,!0),[d,m]=V.useState(o),[{height:h,width:b},x]=V.useState({height:void 0,width:void 0}),S=_(),[C,w]=V.useState(),T=C??S,[D,k]=V.useState(!1),[A,j]=V.useState(!1),M=V.useRef(null),N=V.useRef(null),P=V.useRef(null),F=V.useRef(null),I=E(F,!1),L=p(e=>{let t=!o,n=y(v,e.nativeEvent);if(r(t,n),n.isCanceled)return;let i=F.current;N.current===`css-animation`&&i!=null&&i.style.removeProperty(`animation-name`),!D&&!A&&(N.current!=null&&N.current!==`css-animation`&&!c&&t&&l(!0),N.current===`css-animation`&&(!d&&t&&m(!0),!c&&t&&l(!0))),s(t),N.current===`none`&&c&&!t&&l(!1)});return f(()=>{a&&N.current===`none`&&!A&&!o&&l(!1)},[a,A,o,t,l]),V.useMemo(()=>({abortControllerRef:M,animationTypeRef:N,disabled:i,handleTrigger:L,height:h,mounted:c,open:o,panelId:T,panelRef:F,runOnceAnimationsFinish:I,setDimensions:x,setHiddenUntilFound:k,setKeepMounted:j,setMounted:l,setOpen:s,setPanelIdState:w,setVisible:m,transitionDimensionRef:P,transitionStatus:u,visible:d,width:b}),[M,N,i,L,h,c,o,T,F,I,x,k,j,l,s,m,P,u,d,b])}var U=V.createContext(void 0);function W(){let e=V.useContext(U);if(e===void 0)throw Error(s(15));return e}var G=function(e){return e.open=`data-open`,e.closed=`data-closed`,e[e.startingStyle=C.startingStyle]=`startingStyle`,e[e.endingStyle=C.endingStyle]=`endingStyle`,e}({}),K=function(e){return e.panelOpen=`data-panel-open`,e}({}),q={[G.open]:``},J={[G.closed]:``},Y={open(e){return e?{[K.panelOpen]:``}:null}},X={open(e){return e?q:J},...x},Z=t(),ee=V.forwardRef(function(e,t){let{render:n,className:r,defaultOpen:i=!1,disabled:a=!1,onOpenChange:o,open:s,...l}=e,u=p(o),d=H({open:s,defaultOpen:i,onOpenChange:u,disabled:a}),f=V.useMemo(()=>({open:d.open,disabled:d.disabled,transitionStatus:d.transitionStatus}),[d.open,d.disabled,d.transitionStatus]),m=V.useMemo(()=>({...d,onOpenChange:u,state:f}),[d,u,f]),h=c(`div`,e,{state:f,ref:t,props:l,stateAttributesMapping:X});return(0,Z.jsx)(U.Provider,{value:m,children:h})}),te={...Y,...x},ne=V.forwardRef(function(e,t){let{panelId:n,open:r,handleTrigger:i,state:a,disabled:o}=W(),{className:s,disabled:l=o,id:u,render:d,nativeButton:f=!0,...p}=e,{getButtonProps:h,buttonRef:g}=m({disabled:l,focusableWhenDisabled:!0,native:f}),_=V.useMemo(()=>({"aria-controls":r?n:void 0,"aria-expanded":r,onClick:i}),[n,r,i]);return c(`button`,e,{state:a,ref:[t,g],props:[_,p,h],stateAttributesMapping:te})}),re=function(e){return e.disabled=`data-disabled`,e.orientation=`data-orientation`,e}({});function ie(e){let{abortControllerRef:t,animationTypeRef:n,externalRef:r,height:i,hiddenUntilFound:a,keepMounted:s,id:c,mounted:l,onOpenChange:u,open:d,panelRef:m,runOnceAnimationsFinish:h,setDimensions:g,setMounted:_,setOpen:v,setVisible:x,transitionDimensionRef:C,visible:T,width:E}=e,O=V.useRef(!1),k=V.useRef(null),A=V.useRef(d),j=V.useRef(d),M=S(),N=V.useMemo(()=>n.current===`css-animation`?!T:!d&&!l,[d,l,T,n]),P=o(r,m,p(e=>{if(!e)return;if(n.current==null||C.current==null){let t=getComputedStyle(e),r=t.animationName!==`none`&&t.animationName!==``,i=t.transitionDuration!==`0s`&&t.transitionDuration!==``;r&&i||(t.animationName===`none`&&t.transitionDuration!==`0s`?n.current=`css-transition`:t.animationName!==`none`&&t.transitionDuration===`0s`?n.current=`css-animation`:n.current=`none`),e.getAttribute(re.orientation)===`horizontal`||t.transitionProperty.indexOf(`width`)>-1?C.current=`width`:C.current=`height`}if(n.current!==`css-transition`)return;(i===void 0||E===void 0)&&(g({height:e.scrollHeight,width:e.scrollWidth}),j.current&&e.style.setProperty(`transition-duration`,`0s`));let t=-1,r=-1;return t=D.request(()=>{j.current=!1,r=D.request(()=>{setTimeout(()=>{e.style.removeProperty(`transition-duration`)})})}),()=>{D.cancel(t),D.cancel(r)}}));return f(()=>{if(n.current!==`css-transition`)return;let e=m.current;if(!e)return;let r=-1;if(t.current!=null&&(t.current.abort(),t.current=null),d){let t={"justify-content":e.style.justifyContent,"align-items":e.style.alignItems,"align-content":e.style.alignContent,"justify-items":e.style.justifyItems};Object.keys(t).forEach(t=>{e.style.setProperty(t,`initial`,`important`)}),!j.current&&!s&&e.setAttribute(G.startingStyle,``),g({height:e.scrollHeight,width:e.scrollWidth}),r=D.request(()=>{Object.entries(t).forEach(([t,n])=>{n===``?e.style.removeProperty(t):e.style.setProperty(t,n)})})}else{if(e.scrollHeight===0&&e.scrollWidth===0)return;g({height:e.scrollHeight,width:e.scrollWidth});let n=new AbortController;t.current=n;let r=n.signal,i=null,a=G.endingStyle;return i=new MutationObserver(o=>{o.some(e=>e.type===`attributes`&&e.attributeName===a)&&(i?.disconnect(),i=null,h(()=>{g({height:0,width:0}),e.style.removeProperty(`content-visibility`),_(!1),t.current===n&&(t.current=null)},r))}),i.observe(e,{attributes:!0,attributeFilter:[a]}),()=>{i?.disconnect(),M.cancel(),t.current===n&&(n.abort(),t.current=null)}}return()=>{D.cancel(r)}},[t,n,M,a,s,l,d,m,h,g,_]),f(()=>{if(n.current!==`css-animation`)return;let e=m.current;e&&(k.current=e.style.animationName||k.current,e.style.setProperty(`animation-name`,`none`),g({height:e.scrollHeight,width:e.scrollWidth}),!A.current&&!O.current&&e.style.removeProperty(`animation-name`),d?(t.current!=null&&(t.current.abort(),t.current=null),_(!0),x(!0)):(t.current=new AbortController,h(()=>{_(!1),x(!1),t.current=null},t.current.signal)))},[t,n,d,m,h,g,_,x,T]),w(()=>{let e=D.request(()=>{A.current=!1});return()=>D.cancel(e)}),f(()=>{if(!a)return;let e=m.current;if(!e)return;let t=-1,n=-1;return d&&O.current&&(e.style.transitionDuration=`0s`,g({height:e.scrollHeight,width:e.scrollWidth}),t=D.request(()=>{O.current=!1,n=D.request(()=>{setTimeout(()=>{e.style.removeProperty(`transition-duration`)})})})),()=>{D.cancel(t),D.cancel(n)}},[a,d,m,g]),f(()=>{let e=m.current;e&&a&&N&&(e.setAttribute(`hidden`,`until-found`),n.current===`css-transition`&&e.setAttribute(G.startingStyle,``))},[a,N,n,m]),V.useEffect(function(){let e=m.current;if(!e)return;function t(e){O.current=!0,v(!0),u(!0,y(b,e))}return e.addEventListener(`beforematch`,t),()=>{e.removeEventListener(`beforematch`,t)}},[u,m,v]),V.useMemo(()=>({props:{hidden:N,id:c,ref:P}}),[N,c,P])}var Q=function(e){return e.collapsiblePanelHeight=`--collapsible-panel-height`,e.collapsiblePanelWidth=`--collapsible-panel-width`,e}({}),ae=V.forwardRef(function(e,t){let{className:n,hiddenUntilFound:r,keepMounted:i,render:a,id:o,...s}=e,{abortControllerRef:l,animationTypeRef:u,height:d,mounted:p,onOpenChange:m,open:h,panelId:g,panelRef:_,runOnceAnimationsFinish:v,setDimensions:y,setHiddenUntilFound:b,setKeepMounted:x,setMounted:S,setPanelIdState:C,setOpen:w,setVisible:E,state:D,transitionDimensionRef:O,visible:k,width:A,transitionStatus:j}=W(),M=r??!1,N=i??!1;f(()=>{if(o)return C(o),()=>{C(void 0)}},[o,C]),f(()=>{b(M)},[b,M]),f(()=>{x(N)},[x,N]);let{props:P}=ie({abortControllerRef:l,animationTypeRef:u,externalRef:t,height:d,hiddenUntilFound:M,id:g,keepMounted:N,mounted:p,onOpenChange:m,open:h,panelRef:_,runOnceAnimationsFinish:v,setDimensions:y,setMounted:S,setOpen:w,setVisible:E,transitionDimensionRef:O,visible:k,width:A});T({open:h&&j===`idle`,ref:_,onComplete(){h&&y({height:void 0,width:void 0})}});let F=c(`div`,e,{state:V.useMemo(()=>({...D,transitionStatus:j}),[D,j]),ref:[t,_],props:[P,{style:{[Q.collapsiblePanelHeight]:d===void 0?`auto`:`${d}px`,[Q.collapsiblePanelWidth]:A===void 0?`auto`:`${A}px`}},s],stateAttributesMapping:X});return N||M||!N&&p?F:null}),$=r();function oe(e){let t=(0,$.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,Z.jsx)(ee,{"data-slot":`collapsible`,...n}),t[2]=n,t[3]=r),r}function se(e){let t=(0,$.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,Z.jsx)(ne,{"data-slot":`collapsible-trigger`,...n}),t[2]=n,t[3]=r),r}function ce(e){let t=(0,$.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,Z.jsx)(ae,{"data-slot":`collapsible-content`,...n}),t[2]=n,t[3]=r),r}function le(){let[e,t]=(0,V.useState)(null),{register:n,handleSubmit:r,formState:{errors:o,isSubmitting:s}}=F({resolver:I(u)});async function c(e){t(null),a(),l(e);try{await i().send(new A({})),window.location.href=`/`}catch{d(),a(),t(`Invalid credentials. Please check your Access Key ID and Secret Access Key.`)}}return(0,Z.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,Z.jsxs)(`div`,{className:`flex w-full max-w-sm flex-col gap-4`,children:[(0,Z.jsxs)(B,{children:[(0,Z.jsx)(L,{children:(0,Z.jsx)(R,{children:`AWS Credentials`})}),(0,Z.jsxs)(z,{children:[e&&(0,Z.jsx)(`p`,{className:`mb-4 rounded-md bg-destructive/10 p-3 text-sm text-destructive`,children:e}),(0,Z.jsx)(`form`,{onSubmit:r(c),children:(0,Z.jsxs)(N,{children:[(0,Z.jsxs)(P,{children:[(0,Z.jsx)(j,{children:(0,Z.jsx)(`label`,{htmlFor:`accessKeyId`,children:`Access Key ID`})}),(0,Z.jsx)(k,{"aria-invalid":!!o.accessKeyId,autoComplete:`username`,id:`accessKeyId`,placeholder:`AKIAIOSFODNN7EXAMPLE`,...n(`accessKeyId`)}),(0,Z.jsx)(M,{errors:[o.accessKeyId]})]}),(0,Z.jsxs)(P,{children:[(0,Z.jsx)(j,{children:(0,Z.jsx)(`label`,{htmlFor:`secretAccessKey`,children:`Secret Access Key`})}),(0,Z.jsx)(k,{"aria-invalid":!!o.secretAccessKey,autoComplete:`current-password`,id:`secretAccessKey`,placeholder:`wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`,type:`password`,...n(`secretAccessKey`)}),(0,Z.jsx)(M,{errors:[o.secretAccessKey]})]}),(0,Z.jsx)(h,{className:`w-full`,disabled:s,type:`submit`,children:s?`Signing in...`:`Sign In`})]})})]})]}),(0,Z.jsx)(ue,{})]})})}function ue(){let e=(0,$.c)(4),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`p`,{className:`text-sm font-medium`,children:`Install Local Certificate Authority`}),(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`To avoid browser certificate warnings, download and install the Spinifex CA as a trusted root on your OS.`})]}),n=(0,Z.jsx)(`a`,{className:`inline-flex h-8 w-full items-center justify-center rounded-md border border-input bg-background px-3 text-sm font-medium hover:bg-accent hover:text-accent-foreground`,download:`spinifex-ca.pem`,href:`/api/ca.pem`,children:`Download CA Certificate`}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Z.jsx)(se,{className:`cursor-pointer text-xs text-muted-foreground underline-offset-4 hover:underline`,children:`Installation instructions`}),e[2]=r):r=e[2];let i;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Z.jsx)(B,{className:`border-muted bg-muted/30`,children:(0,Z.jsx)(z,{className:`pt-4 pb-4`,children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[t,n,(0,Z.jsxs)(oe,{children:[r,(0,Z.jsx)(ce,{children:(0,Z.jsxs)(`div`,{className:`mt-2 flex flex-col gap-2 text-xs text-muted-foreground`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`p`,{className:`font-medium text-foreground`,children:`macOS`}),(0,Z.jsx)(`code`,{className:`mt-1 block rounded bg-muted p-2 text-[11px] break-all`,children:`sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain spinifex-ca.pem`})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`p`,{className:`font-medium text-foreground`,children:`Windows`}),(0,Z.jsx)(`p`,{children:`Double-click the file → Install Certificate → Local Machine → Trusted Root Certification Authorities`})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`p`,{className:`font-medium text-foreground`,children:`Linux`}),(0,Z.jsx)(`code`,{className:`mt-1 block rounded bg-muted p-2 text-[11px] break-all`,children:`sudo cp spinifex-ca.pem /usr/local/share/ca-certificates/spinifex-ca.crt && sudo update-ca-certificates`})]})]})})]})]})})}),e[3]=i):i=e[3],i}export{le as component}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{n as i,t as a}from"./awsClient.js";import{C as o,b as s,x as c}from"./SignatureV4.js";import{t as l}from"./button.js";import{t as u}from"./input.js";import{t as d}from"./DescribeInstancesCommand.js";import{i as f,n as p,r as m,t as h}from"./field.js";import{r as g,t as _}from"./zod.js";import{n as v,r as y,t as b}from"./collapsible.js";import{a as x,o as S,r as C,t as w}from"./card.js";var T=r(),E=e(n()),D=t();function O(){let[e,t]=(0,E.useState)(null),{register:n,handleSubmit:r,formState:{errors:v,isSubmitting:y}}=g({resolver:_(s)});async function b(e){t(null),a(),o(e);try{await i().send(new d({})),window.location.href=`/`}catch{c(),a(),t(`Invalid credentials. Please check your Access Key ID and Secret Access Key.`)}}return(0,D.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,D.jsxs)(`div`,{className:`flex w-full max-w-sm flex-col gap-4`,children:[(0,D.jsxs)(w,{children:[(0,D.jsx)(x,{children:(0,D.jsx)(S,{children:`AWS Credentials`})}),(0,D.jsxs)(C,{children:[e&&(0,D.jsx)(`p`,{className:`mb-4 rounded-md bg-destructive/10 p-3 text-sm text-destructive`,children:e}),(0,D.jsx)(`form`,{onSubmit:r(b),children:(0,D.jsxs)(m,{children:[(0,D.jsxs)(h,{children:[(0,D.jsx)(f,{children:(0,D.jsx)(`label`,{htmlFor:`accessKeyId`,children:`Access Key ID`})}),(0,D.jsx)(u,{"aria-invalid":!!v.accessKeyId,autoComplete:`username`,id:`accessKeyId`,placeholder:`AKIAIOSFODNN7EXAMPLE`,...n(`accessKeyId`)}),(0,D.jsx)(p,{errors:[v.accessKeyId]})]}),(0,D.jsxs)(h,{children:[(0,D.jsx)(f,{children:(0,D.jsx)(`label`,{htmlFor:`secretAccessKey`,children:`Secret Access Key`})}),(0,D.jsx)(u,{"aria-invalid":!!v.secretAccessKey,autoComplete:`current-password`,id:`secretAccessKey`,placeholder:`wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`,type:`password`,...n(`secretAccessKey`)}),(0,D.jsx)(p,{errors:[v.secretAccessKey]})]}),(0,D.jsx)(l,{className:`w-full`,disabled:y,type:`submit`,children:y?`Signing in...`:`Sign In`})]})})]})]}),(0,D.jsx)(k,{})]})})}function k(){let e=(0,T.c)(4),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`p`,{className:`text-sm font-medium`,children:`Install Local Certificate Authority`}),(0,D.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`To avoid browser certificate warnings, download and install the Spinifex CA as a trusted root on your OS.`})]}),n=(0,D.jsx)(`a`,{className:`inline-flex h-8 w-full items-center justify-center rounded-md border border-input bg-background px-3 text-sm font-medium hover:bg-accent hover:text-accent-foreground`,download:`spinifex-ca.pem`,href:`/api/ca.pem`,children:`Download CA Certificate`}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,D.jsx)(y,{className:`cursor-pointer text-xs text-muted-foreground underline-offset-4 hover:underline`,children:`Installation instructions`}),e[2]=r):r=e[2];let i;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,D.jsx)(w,{className:`border-muted bg-muted/30`,children:(0,D.jsx)(C,{className:`pt-4 pb-4`,children:(0,D.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[t,n,(0,D.jsxs)(b,{children:[r,(0,D.jsx)(v,{children:(0,D.jsxs)(`div`,{className:`mt-2 flex flex-col gap-2 text-xs text-muted-foreground`,children:[(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`p`,{className:`font-medium text-foreground`,children:`macOS`}),(0,D.jsx)(`code`,{className:`mt-1 block rounded bg-muted p-2 text-[11px] break-all`,children:`sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain spinifex-ca.pem`})]}),(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`p`,{className:`font-medium text-foreground`,children:`Windows`}),(0,D.jsx)(`p`,{children:`Double-click the file → Install Certificate → Local Machine → Trusted Root Certification Authorities`})]}),(0,D.jsxs)(`div`,{children:[(0,D.jsx)(`p`,{className:`font-medium text-foreground`,children:`Linux`}),(0,D.jsx)(`code`,{className:`mt-1 block rounded bg-muted p-2 text-[11px] break-all`,children:`sudo cp spinifex-ca.pem /usr/local/share/ca-certificates/spinifex-ca.crt && sudo update-ca-certificates`})]})]})})]})]})})}),e[3]=i):i=e[3],i}export{O as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/ls.js b/spinifex/services/spinifexui/frontend/dist/assets/ls.js index 54e5f5a47..afe2e2dc3 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/ls.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/ls.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./link.js";import{R as i}from"./SignatureV4.js";import{t as a}from"./button.js";import{n as o}from"./s32.js";import{t as s}from"./page-heading.js";import{t as c}from"./list-card.js";var l=t(),u=e();function d(){let e=(0,l.c)(5),{data:t}=n(o),i;e[0]===t.Buckets?i=e[1]:(i=t.Buckets??[],e[0]=t.Buckets,e[1]=i);let c=i,d;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,u.jsx)(s,{actions:(0,u.jsx)(r,{to:`/s3/create-bucket`,children:(0,u.jsx)(a,{children:`Create Bucket`})}),title:`S3 Buckets`}),e[2]=d):d=e[2];let p;return e[3]===c?p=e[4]:(p=(0,u.jsxs)(u.Fragment,{children:[d,c.length>0?(0,u.jsx)(`div`,{className:`space-y-4`,children:c.map(f)}):(0,u.jsx)(`p`,{className:`text-muted-foreground`,children:`No buckets found.`})]}),e[3]=c,e[4]=p),p}function f(e){return e.Name?(0,u.jsx)(c,{params:{bucket:e.Name},subtitle:e.CreationDate?`Created: ${i(e.CreationDate)}`:void 0,title:e.Name,to:`/s3/ls/$bucket`},e.Name):null}export{d as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useSuspenseQuery.js";import{t as r}from"./link.js";import{z as i}from"./SignatureV4.js";import{t as a}from"./button.js";import{n as o}from"./s32.js";import{t as s}from"./page-heading.js";import{t as c}from"./list-card.js";var l=t(),u=e();function d(){let e=(0,l.c)(5),{data:t}=n(o),i;e[0]===t.Buckets?i=e[1]:(i=t.Buckets??[],e[0]=t.Buckets,e[1]=i);let c=i,d;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,u.jsx)(s,{actions:(0,u.jsx)(r,{to:`/s3/create-bucket`,children:(0,u.jsx)(a,{children:`Create Bucket`})}),title:`S3 Buckets`}),e[2]=d):d=e[2];let p;return e[3]===c?p=e[4]:(p=(0,u.jsxs)(u.Fragment,{children:[d,c.length>0?(0,u.jsx)(`div`,{className:`space-y-4`,children:c.map(f)}):(0,u.jsx)(`p`,{className:`text-muted-foreground`,children:`No buckets found.`})]}),e[3]=c,e[4]=p),p}function f(e){return e.Name?(0,u.jsx)(c,{params:{bucket:e.Name},subtitle:e.CreationDate?`Created: ${i(e.CreationDate)}`:void 0,title:e.Name,to:`/s3/ls/$bucket`},e.Name):null}export{d as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/nodes.js b/spinifex/services/spinifexui/frontend/dist/assets/nodes.js index 4b80a5627..6eabd9c08 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/nodes.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/nodes.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{a as n,i as r,r as i,t as a}from"./admin.js";import{n as o}from"./redirect.js";import{n as s}from"./admin-context.js";import{t as c}from"./page-heading.js";import{a as l,o as u,r as d,t as f}from"./card.js";var p=t(),m=e();function h(e){let t=Math.floor(e/86400),n=Math.floor(e%86400/3600);if(t>0)return`${t}d ${n}h`;let r=Math.floor(e%3600/60);return n>0?`${n}h ${r}m`:`${r}m`}function g(e){return e>=1?`${e.toFixed(1)}Gi`:`${Math.round(e*1024)}Mi`}function _(e){let t=Math.floor(Date.now()/1e3-e);if(t<60)return`${t}s`;let n=Math.floor(t/60);if(n<60)return`${n}m`;let r=Math.floor(n/60);return r<24?`${r}h ${n%60}m`:`${Math.floor(r/24)}d ${r%24}h`}function v(){let e=(0,p.c)(26),{isAdmin:t}=s(),r;e[0]===t?r=e[1]:(r={...a,enabled:t,refetchInterval:5e3},e[0]=t,e[1]=r);let{data:h}=n(r),g;e[2]===t?g=e[3]:(g={...i,enabled:t,refetchInterval:5e3},e[2]=t,e[3]=g);let{data:_}=n(g);if(!t)throw o({to:`/`});let v,S,w;if(e[4]!==h?.nodes||e[5]!==_?.vms){v=h?.nodes??[];let t;e[9]===_?.vms?t=e[10]:(t=_?.vms??[],e[9]=_?.vms,e[10]=t),w=t;let n=new Map;for(let e of v)for(let t of e.instance_types??[]){let e=n.get(t.name);e?e.available+=t.available:n.set(t.name,{vcpu:t.vcpu,memory_gb:t.memory_gb,available:t.available})}S=[...n.entries()].map(b).toSorted(y),e[4]=h?.nodes,e[5]=_?.vms,e[6]=v,e[7]=S,e[8]=w}else v=e[6],S=e[7],w=e[8];let E=S,O;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,m.jsx)(c,{title:`Nodes`}),e[11]=O):O=e[11];let k;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,m.jsx)(l,{children:(0,m.jsx)(u,{className:`text-sm`,children:`Cluster Nodes`})}),e[12]=k):k=e[12];let A;e[13]===v?A=e[14]:(A=(0,m.jsxs)(f,{children:[k,(0,m.jsx)(d,{children:v.length===0?(0,m.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No nodes responding`}):(0,m.jsx)(x,{nodes:v})})]}),e[13]=v,e[14]=A);let j;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,m.jsx)(l,{children:(0,m.jsx)(u,{className:`text-sm`,children:`Elastic Compute Cloud (EC2)`})}),e[15]=j):j=e[15];let M;e[16]===w?M=e[17]:(M=(0,m.jsxs)(f,{children:[j,(0,m.jsx)(d,{children:w.length===0?(0,m.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No instances running`}):(0,m.jsx)(C,{vms:w})})]}),e[16]=w,e[17]=M);let N;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,m.jsx)(l,{children:(0,m.jsx)(u,{className:`text-sm`,children:`Resource Usage`})}),e[18]=N):N=e[18];let P;e[19]!==E||e[20]!==v?(P=(0,m.jsxs)(f,{children:[N,(0,m.jsx)(d,{className:`space-y-4`,children:v.length===0?(0,m.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No data`}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(T,{nodes:v}),E.length>0&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`h4`,{className:`mt-4 text-xs font-medium text-muted-foreground`,children:`Instance Type Capacity`}),(0,m.jsx)(D,{instanceTypes:E})]})]})})]}),e[19]=E,e[20]=v,e[21]=P):P=e[21];let F;return e[22]!==A||e[23]!==M||e[24]!==P?(F=(0,m.jsxs)(m.Fragment,{children:[O,(0,m.jsxs)(`div`,{className:`space-y-6`,children:[A,M,P]})]}),e[22]=A,e[23]=M,e[24]=P,e[25]=F):F=e[25],F}function y(e,t){return e.name.localeCompare(t.name)}function b(e){let[t,n]=e;return{name:t,...n}}function x(e){let t=(0,p.c)(5),{nodes:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,m.jsx)(`thead`,{children:(0,m.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Name`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Status`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Roles`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`IP`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Region`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`AZ`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Uptime`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`EC2`}),(0,m.jsx)(`th`,{className:`pb-1 font-medium`,children:`Services`})]})}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=n.map(S),t[1]=n,t[2]=i);let a;return t[3]===i?a=t[4]:(a=(0,m.jsx)(`div`,{className:`overflow-x-auto`,children:(0,m.jsxs)(`table`,{className:`w-full text-xs`,children:[r,(0,m.jsx)(`tbody`,{children:i})]})}),t[3]=i,t[4]=a),a}function S(e){let t=[e.nats_role?`nats:${e.nats_role}`:null,e.predastore_role?`predastore:${e.predastore_role}`:null].filter(Boolean).join(`,`);return(0,m.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,m.jsx)(`td`,{className:`py-1.5 pr-4 font-mono font-medium`,children:e.node}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4`,children:(0,m.jsx)(r,{variant:e.status===`Ready`?`default`:`secondary`,className:`text-[0.625rem]`,children:e.status})}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4 font-mono text-muted-foreground`,children:t||`-`}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.host}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4`,children:e.region}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4`,children:e.az}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4`,children:h(e.uptime)}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4`,children:e.vm_count}),(0,m.jsx)(`td`,{className:`py-1.5`,children:(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:e.services?.join(`,`)??`-`})})]},e.node)}function C(e){let t=(0,p.c)(5),{vms:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,m.jsx)(`thead`,{children:(0,m.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Instance`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Status`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Type`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`vCPU`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Memory`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Node`}),(0,m.jsx)(`th`,{className:`pb-1 font-medium`,children:`Age`})]})}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=n.map(w),t[1]=n,t[2]=i);let a;return t[3]===i?a=t[4]:(a=(0,m.jsx)(`div`,{className:`overflow-x-auto`,children:(0,m.jsxs)(`table`,{className:`w-full text-xs`,children:[r,(0,m.jsx)(`tbody`,{children:i})]})}),t[3]=i,t[4]=a),a}function w(e){return(0,m.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,m.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.instance_id}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4`,children:(0,m.jsx)(r,{variant:e.status===`running`?`default`:`secondary`,className:`text-[0.625rem]`,children:e.status})}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.instance_type}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4`,children:e.vcpu}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4`,children:g(e.memory_gb)}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.node}),(0,m.jsx)(`td`,{className:`py-1.5`,children:e.launch_time>0?_(e.launch_time):`-`})]},e.instance_id)}function T(e){let t=(0,p.c)(5),{nodes:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,m.jsx)(`thead`,{children:(0,m.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Name`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`CPU (used/total)`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`MEM (used/total)`}),(0,m.jsx)(`th`,{className:`pb-1 font-medium`,children:`EC2`})]})}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=n.map(E),t[1]=n,t[2]=i);let a;return t[3]===i?a=t[4]:(a=(0,m.jsx)(`div`,{className:`overflow-x-auto`,children:(0,m.jsxs)(`table`,{className:`w-full text-xs`,children:[r,(0,m.jsx)(`tbody`,{children:i})]})}),t[3]=i,t[4]=a),a}function E(e){return(0,m.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,m.jsx)(`td`,{className:`py-1.5 pr-4 font-mono font-medium`,children:e.node}),(0,m.jsxs)(`td`,{className:`py-1.5 pr-4 font-mono`,children:[e.alloc_vcpu,`/`,e.total_vcpu]}),(0,m.jsxs)(`td`,{className:`py-1.5 pr-4 font-mono`,children:[g(e.alloc_mem_gb),`/`,g(e.total_mem_gb)]}),(0,m.jsx)(`td`,{className:`py-1.5`,children:e.vm_count})]},e.node)}function D(e){let t=(0,p.c)(5),{instanceTypes:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,m.jsx)(`thead`,{children:(0,m.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Instance Type`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Available`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`vCPU`}),(0,m.jsx)(`th`,{className:`pb-1 font-medium`,children:`Memory`})]})}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=n.map(O),t[1]=n,t[2]=i);let a;return t[3]===i?a=t[4]:(a=(0,m.jsx)(`div`,{className:`overflow-x-auto`,children:(0,m.jsxs)(`table`,{className:`w-full text-xs`,children:[r,(0,m.jsx)(`tbody`,{children:i})]})}),t[3]=i,t[4]=a),a}function O(e){return(0,m.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,m.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.name}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4`,children:e.available}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4`,children:e.vcpu}),(0,m.jsx)(`td`,{className:`py-1.5`,children:g(e.memory_gb)})]},e.name)}export{v as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useQuery.js";import{n as r}from"./redirect.js";import{n as i}from"./admin-context.js";import{t as a}from"./page-heading.js";import{i as o,r as s,t as c}from"./admin.js";import{a as l,o as u,r as d,t as f}from"./card.js";var p=t(),m=e();function h(e){let t=Math.floor(e/86400),n=Math.floor(e%86400/3600);if(t>0)return`${t}d ${n}h`;let r=Math.floor(e%3600/60);return n>0?`${n}h ${r}m`:`${r}m`}function g(e){return e>=1?`${e.toFixed(1)}Gi`:`${Math.round(e*1024)}Mi`}function _(e){let t=Math.floor(Date.now()/1e3-e);if(t<60)return`${t}s`;let n=Math.floor(t/60);if(n<60)return`${n}m`;let r=Math.floor(n/60);return r<24?`${r}h ${n%60}m`:`${Math.floor(r/24)}d ${r%24}h`}function v(){let e=(0,p.c)(28),{isAdmin:t}=i(),o;e[0]===t?o=e[1]:(o={...c,enabled:t,refetchInterval:5e3},e[0]=t,e[1]=o);let{data:h}=n(o),g;e[2]===t?g=e[3]:(g={...s,enabled:t,refetchInterval:5e3},e[2]=t,e[3]=g);let{data:_}=n(g);if(!t)throw r({to:`/`});let v,C,T;if(e[4]!==h?.nodes||e[5]!==_?.vms){v=h?.nodes??[];let t;e[9]===_?.vms?t=e[10]:(t=_?.vms??[],e[9]=_?.vms,e[10]=t);let n;e[11]===t?n=e[12]:(n=t.filter(x),e[11]=t,e[12]=n),T=n;let r=new Map;for(let e of v)for(let t of e.instance_types??[]){let e=r.get(t.name);e?e.available+=t.available:r.set(t.name,{vcpu:t.vcpu,memory_gb:t.memory_gb,available:t.available})}C=[...r.entries()].map(b).toSorted(y),e[4]=h?.nodes,e[5]=_?.vms,e[6]=v,e[7]=C,e[8]=T}else v=e[6],C=e[7],T=e[8];let D=C,k;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,m.jsx)(a,{title:`Nodes`}),e[13]=k):k=e[13];let A;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,m.jsx)(l,{children:(0,m.jsx)(u,{className:`text-sm`,children:`Cluster Nodes`})}),e[14]=A):A=e[14];let j;e[15]===v?j=e[16]:(j=(0,m.jsxs)(f,{children:[A,(0,m.jsx)(d,{children:v.length===0?(0,m.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No nodes responding`}):(0,m.jsx)(S,{nodes:v})})]}),e[15]=v,e[16]=j);let M;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,m.jsx)(l,{children:(0,m.jsx)(u,{className:`text-sm`,children:`Elastic Compute Cloud (EC2)`})}),e[17]=M):M=e[17];let N;e[18]===T?N=e[19]:(N=(0,m.jsxs)(f,{children:[M,(0,m.jsx)(d,{children:T.length===0?(0,m.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No instances running`}):(0,m.jsx)(w,{vms:T})})]}),e[18]=T,e[19]=N);let P;e[20]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,m.jsx)(l,{children:(0,m.jsx)(u,{className:`text-sm`,children:`Resource Usage`})}),e[20]=P):P=e[20];let F;e[21]!==D||e[22]!==v?(F=(0,m.jsxs)(f,{children:[P,(0,m.jsx)(d,{className:`space-y-4`,children:v.length===0?(0,m.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No data`}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(E,{nodes:v}),D.length>0&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`h4`,{className:`mt-4 text-xs font-medium text-muted-foreground`,children:`Instance Type Capacity`}),(0,m.jsx)(O,{instanceTypes:D})]})]})})]}),e[21]=D,e[22]=v,e[23]=F):F=e[23];let I;return e[24]!==j||e[25]!==N||e[26]!==F?(I=(0,m.jsxs)(m.Fragment,{children:[k,(0,m.jsxs)(`div`,{className:`space-y-6`,children:[j,N,F]})]}),e[24]=j,e[25]=N,e[26]=F,e[27]=I):I=e[27],I}function y(e,t){return e.name.localeCompare(t.name)}function b(e){let[t,n]=e;return{name:t,...n}}function x(e){return!e.managed_by}function S(e){let t=(0,p.c)(5),{nodes:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,m.jsx)(`thead`,{children:(0,m.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Name`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Status`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Roles`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`IP`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Region`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`AZ`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Uptime`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`EC2`}),(0,m.jsx)(`th`,{className:`pb-1 font-medium`,children:`Services`})]})}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=n.map(C),t[1]=n,t[2]=i);let a;return t[3]===i?a=t[4]:(a=(0,m.jsx)(`div`,{className:`overflow-x-auto`,children:(0,m.jsxs)(`table`,{className:`w-full text-xs`,children:[r,(0,m.jsx)(`tbody`,{children:i})]})}),t[3]=i,t[4]=a),a}function C(e){let t=[e.nats_role?`nats:${e.nats_role}`:null,e.predastore_role?`predastore:${e.predastore_role}`:null].filter(Boolean).join(`,`);return(0,m.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,m.jsx)(`td`,{className:`py-1.5 pr-4 font-mono font-medium`,children:e.node}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4`,children:(0,m.jsx)(o,{variant:e.status===`Ready`?`default`:`secondary`,className:`text-[0.625rem]`,children:e.status})}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4 font-mono text-muted-foreground`,children:t||`-`}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.host}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4`,children:e.region}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4`,children:e.az}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4`,children:h(e.uptime)}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4`,children:e.vm_count}),(0,m.jsx)(`td`,{className:`py-1.5`,children:(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:e.services?.join(`,`)??`-`})})]},e.node)}function w(e){let t=(0,p.c)(5),{vms:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,m.jsx)(`thead`,{children:(0,m.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Instance`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Status`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Type`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`vCPU`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Memory`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Node`}),(0,m.jsx)(`th`,{className:`pb-1 font-medium`,children:`Age`})]})}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=n.map(T),t[1]=n,t[2]=i);let a;return t[3]===i?a=t[4]:(a=(0,m.jsx)(`div`,{className:`overflow-x-auto`,children:(0,m.jsxs)(`table`,{className:`w-full text-xs`,children:[r,(0,m.jsx)(`tbody`,{children:i})]})}),t[3]=i,t[4]=a),a}function T(e){return(0,m.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,m.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.instance_id}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4`,children:(0,m.jsx)(o,{variant:e.status===`running`?`default`:`secondary`,className:`text-[0.625rem]`,children:e.status})}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.instance_type}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4`,children:e.vcpu}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4`,children:g(e.memory_gb)}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.node}),(0,m.jsx)(`td`,{className:`py-1.5`,children:e.launch_time>0?_(e.launch_time):`-`})]},e.instance_id)}function E(e){let t=(0,p.c)(5),{nodes:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,m.jsx)(`thead`,{children:(0,m.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Name`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`CPU (used/total)`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`MEM (used/total)`}),(0,m.jsx)(`th`,{className:`pb-1 font-medium`,children:`EC2`})]})}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=n.map(D),t[1]=n,t[2]=i);let a;return t[3]===i?a=t[4]:(a=(0,m.jsx)(`div`,{className:`overflow-x-auto`,children:(0,m.jsxs)(`table`,{className:`w-full text-xs`,children:[r,(0,m.jsx)(`tbody`,{children:i})]})}),t[3]=i,t[4]=a),a}function D(e){return(0,m.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,m.jsx)(`td`,{className:`py-1.5 pr-4 font-mono font-medium`,children:e.node}),(0,m.jsxs)(`td`,{className:`py-1.5 pr-4 font-mono`,children:[e.alloc_vcpu,`/`,e.total_vcpu]}),(0,m.jsxs)(`td`,{className:`py-1.5 pr-4 font-mono`,children:[g(e.alloc_mem_gb),`/`,g(e.total_mem_gb)]}),(0,m.jsx)(`td`,{className:`py-1.5`,children:e.vm_count})]},e.node)}function O(e){let t=(0,p.c)(5),{instanceTypes:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,m.jsx)(`thead`,{children:(0,m.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Instance Type`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Available`}),(0,m.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`vCPU`}),(0,m.jsx)(`th`,{className:`pb-1 font-medium`,children:`Memory`})]})}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=n.map(k),t[1]=n,t[2]=i);let a;return t[3]===i?a=t[4]:(a=(0,m.jsx)(`div`,{className:`overflow-x-auto`,children:(0,m.jsxs)(`table`,{className:`w-full text-xs`,children:[r,(0,m.jsx)(`tbody`,{children:i})]})}),t[3]=i,t[4]=a),a}function k(e){return(0,m.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,m.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.name}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4`,children:e.available}),(0,m.jsx)(`td`,{className:`py-1.5 pr-4`,children:e.vcpu}),(0,m.jsx)(`td`,{className:`py-1.5`,children:g(e.memory_gb)})]},e.name)}export{v as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/plus.js b/spinifex/services/spinifexui/frontend/dist/assets/plus.js new file mode 100644 index 000000000..1a8237c60 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/plus.js @@ -0,0 +1 @@ +import{t as e}from"./createLucideIcon.js";var t=e(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]);export{t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/s3.js b/spinifex/services/spinifexui/frontend/dist/assets/s3.js index ec0d9da25..36545f9c9 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/s3.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/s3.js @@ -1,6 +1,6 @@ -import{i as e,t}from"./compiler-runtime.js";import{n}from"./QueryClientProvider.js";import{n as r}from"./error-banner.js";import{Bt as i,Gt as a,Ht as o,Jt as s,Lt as c,Rt as l,S as u,Vt as d,_ as f,a as p,b as m,c as h,g,h as _,i as v,l as y,m as b,o as x,p as S,qt as C,s as w,v as T,x as E,y as D,zt as O}from"./awsClient.js";import{_ as ee,a as k,c as A,d as j,f as te,g as M,h as N,i as P,p as F,v as I}from"./SignatureV4.js";var L=typeof ReadableStream==`function`?ReadableStream:function(){},R=class extends L{},z=({expectedChecksum:e,checksum:t,source:n,checksumSourceLocation:r,base64Encoder:i})=>{if(!C(n))throw Error(`@smithy/util-stream: unsupported source type ${n?.constructor?.name??n} in ChecksumStream.`);let a=i??s;if(typeof TransformStream!=`function`)throw Error(`@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream.`);let o=new TransformStream({start(){},async transform(e,n){t.update(e),n.enqueue(e)},async flush(n){let i=a(await t.digest());if(e!==i){let t=Error(`Checksum mismatch: expected "${e}" but received "${i}" in response header "${r}".`);n.error(t)}else n.terminate()}});n.pipeThrough(o);let c=o.readable;return Object.setPrototypeOf(c,R.prototype),c},ne=class{allocByteArray;byteLength=0;byteArrays=[];constructor(e){this.allocByteArray=e}push(e){this.byteArrays.push(e),this.byteLength+=e.byteLength}flush(){if(this.byteArrays.length===1){let e=this.byteArrays[0];return this.reset(),e}let e=this.allocByteArray(this.byteLength),t=0;for(let n=0;nnew Uint8Array(e))],s=-1,c=async e=>{let{value:l,done:u}=await r.read(),d=l;if(u){if(s!==-1){let t=re(o,s);U(t)>0&&e.enqueue(t)}e.close()}else{let r=ie(d,!1);if(s!==r&&(s>=0&&e.enqueue(re(o,s)),s=r),s===-1){e.enqueue(d);return}let l=U(d);a+=l;let u=U(o[s]);if(l>=t&&u===0)e.enqueue(d);else{let r=H(o,s,d);!i&&a>t*2&&(i=!0,n?.warn(`@smithy/util-stream - stream chunk size ${l} is below threshold of ${t}, automatically buffering.`)),r>=t?e.enqueue(re(o,s)):await c(e)}}};return new ReadableStream({pull:c})}var V=B;function H(e,t,n){switch(t){case 0:return e[0]+=n,U(e[0]);case 1:case 2:return e[t].push(n),U(e[t])}}function re(e,t){switch(t){case 0:let n=e[0];return e[0]=``,n;case 1:case 2:return e[t].flush()}throw Error(`@smithy/util-stream - invalid index ${t} given to flush()`)}function U(e){return e?.byteLength??e?.length??0}function ie(e,t=!0){return t&&typeof Buffer<`u`&&e instanceof Buffer?2:e instanceof Uint8Array?1:typeof e==`string`?0:-1}var W=(e,{requestChecksumRequired:t,requestAlgorithmMember:n,requestChecksumCalculation:r})=>{if(!n)return r===E.WHEN_SUPPORTED||t?m:void 0;if(e[n])return e[n]},G=e=>e===D.MD5?`content-md5`:`x-amz-checksum-${e.toLowerCase()}`,ae=(e,t)=>{let n=e.toLowerCase();for(let e of Object.keys(t))if(n===e.toLowerCase())return!0;return!1},oe=(e,t)=>{let n=e.toLowerCase();for(let e of Object.keys(t))if(e.toLowerCase().startsWith(n))return!0;return!1},se=e=>e!==void 0&&typeof e!=`string`&&!ArrayBuffer.isView(e)&&!P(e),ce=function(){function e(){this.crc32c=new le}return e.prototype.update=function(e){ee(e)||this.crc32c.update(I(e))},e.prototype.digest=function(){return j(this,void 0,void 0,function(){return te(this,function(e){return[2,M(this.crc32c.digest())]})})},e.prototype.reset=function(){this.crc32c=new le},e}(),le=function(){function e(){this.checksum=4294967295}return e.prototype.update=function(e){var t,n;try{for(var r=F(e),i=r.next();!i.done;i=r.next()){var a=i.value;this.checksum=this.checksum>>>8^ue[(this.checksum^a)&255]}}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}return this},e.prototype.digest=function(){return(this.checksum^4294967295)>>>0},e}(),ue=N([0,4067132163,3778769143,324072436,3348797215,904991772,648144872,3570033899,2329499855,2024987596,1809983544,2575936315,1296289744,3207089363,2893594407,1578318884,274646895,3795141740,4049975192,51262619,3619967088,632279923,922689671,3298075524,2592579488,1760304291,2075979607,2312596564,1562183871,2943781820,3156637768,1313733451,549293790,3537243613,3246849577,871202090,3878099393,357341890,102525238,4101499445,2858735121,1477399826,1264559846,3107202533,1845379342,2677391885,2361733625,2125378298,820201905,3263744690,3520608582,598981189,4151959214,85089709,373468761,3827903834,3124367742,1213305469,1526817161,2842354314,2107672161,2412447074,2627466902,1861252501,1098587580,3004210879,2688576843,1378610760,2262928035,1955203488,1742404180,2511436119,3416409459,969524848,714683780,3639785095,205050476,4266873199,3976438427,526918040,1361435347,2739821008,2954799652,1114974503,2529119692,1691668175,2005155131,2247081528,3690758684,697762079,986182379,3366744552,476452099,3993867776,4250756596,255256311,1640403810,2477592673,2164122517,1922457750,2791048317,1412925310,1197962378,3037525897,3944729517,427051182,170179418,4165941337,746937522,3740196785,3451792453,1070968646,1905808397,2213795598,2426610938,1657317369,3053634322,1147748369,1463399397,2773627110,4215344322,153784257,444234805,3893493558,1021025245,3467647198,3722505002,797665321,2197175160,1889384571,1674398607,2443626636,1164749927,3070701412,2757221520,1446797203,137323447,4198817972,3910406976,461344835,3484808360,1037989803,781091935,3705997148,2460548119,1623424788,1939049696,2180517859,1429367560,2807687179,3020495871,1180866812,410100952,3927582683,4182430767,186734380,3756733383,763408580,1053836080,3434856499,2722870694,1344288421,1131464017,2971354706,1708204729,2545590714,2229949006,1988219213,680717673,3673779818,3383336350,1002577565,4010310262,493091189,238226049,4233660802,2987750089,1082061258,1395524158,2705686845,1972364758,2279892693,2494862625,1725896226,952904198,3399985413,3656866545,731699698,4283874585,222117402,510512622,3959836397,3280807620,837199303,582374963,3504198960,68661723,4135334616,3844915500,390545967,1230274059,3141532936,2825850620,1510247935,2395924756,2091215383,1878366691,2644384480,3553878443,565732008,854102364,3229815391,340358836,3861050807,4117890627,119113024,1493875044,2875275879,3090270611,1247431312,2660249211,1828433272,2141937292,2378227087,3811616794,291187481,34330861,4032846830,615137029,3603020806,3314634738,939183345,1776939221,2609017814,2295496738,2058945313,2926798794,1545135305,1330124605,3173225534,4084100981,17165430,307568514,3762199681,888469610,3332340585,3587147933,665062302,2042050490,2346497209,2559330125,1793573966,3190661285,1279665062,1595330642,2910671697]),de=()=>{let e=Array(8);for(let t=0;t<8;t++){let n=Array(512);for(let e=0;e<256;e++){let r=BigInt(e);for(let e=0;e<8*(t+1);e++)r&1n?r=r>>1n^11127430586519243189n:r>>=1n;n[e*2]=Number(r>>32n&4294967295n),n[e*2+1]=Number(r&4294967295n)}e[t]=new Uint32Array(n)}return e},fe,K,pe,me,he,ge,_e,ve,ye,be=()=>{fe||(fe=de(),[K,pe,me,he,ge,_e,ve,ye]=fe)},xe=class{c1=0;c2=0;constructor(){be(),this.reset()}update(e){let t=e.length,n=0,r=this.c1,i=this.c2;for(;n+8<=t;){let t=((i^e[n++])&255)<<1,a=((i>>>8^e[n++])&255)<<1,o=((i>>>16^e[n++])&255)<<1,s=((i>>>24^e[n++])&255)<<1,c=((r^e[n++])&255)<<1,l=((r>>>8^e[n++])&255)<<1,u=((r>>>16^e[n++])&255)<<1,d=((r>>>24^e[n++])&255)<<1;r=ye[t]^ve[a]^_e[o]^ge[s]^he[c]^me[l]^pe[u]^K[d],i=ye[t+1]^ve[a+1]^_e[o+1]^ge[s+1]^he[c+1]^me[l+1]^pe[u+1]^K[d+1]}for(;n>>8|(r&255)<<24)>>>0,r=r>>>8^K[t],i^=K[t+1],n++}this.c1=r,this.c2=i}async digest(){let e=this.c1^4294967295,t=this.c2^4294967295;return new Uint8Array([e>>>24,e>>>16&255,e>>>8&255,e&255,t>>>24,t>>>16&255,t>>>8&255,t&255])}reset(){this.c1=4294967295,this.c2=4294967295}},Se={CrtCrc64Nvme:null},Ce=()=>T,we=[D.CRC32,D.CRC32C,D.CRC64NVME,D.SHA1,D.SHA256],Te=[D.SHA256,D.SHA1,D.CRC32,D.CRC32C,D.CRC64NVME],Ee=(e,t)=>{let{checksumAlgorithms:n={}}=t;switch(e){case D.MD5:return n?.MD5??t.md5;case D.CRC32:return n?.CRC32??Ce();case D.CRC32C:return n?.CRC32C??ce;case D.CRC64NVME:return typeof Se.CrtCrc64Nvme==`function`?n?.CRC64NVME??Se.CrtCrc64Nvme:n?.CRC64NVME??xe;case D.SHA1:return n?.SHA1??t.sha1;case D.SHA256:return n?.SHA256??t.sha256;default:if(n?.[e])return n[e];throw Error(`The checksum algorithm "${e}" is not supported by the client. Select one of ${we}, or provide an implementation to the client constructor checksums field.`)}},De=(e,t)=>{let n=new e;return n.update(k(t||``)),n.digest()},Oe={name:`flexibleChecksumsMiddleware`,step:`build`,tags:[`BODY_CHECKSUM`],override:!0},ke=(e,t)=>(n,r)=>async i=>{if(!A.isInstance(i.request)||oe(`x-amz-checksum-`,i.request.headers))return n(i);let{request:a,input:s}=i,{body:c,headers:l}=a,{base64Encoder:u,streamHasher:d}=e,{requestChecksumRequired:f,requestAlgorithmMember:p}=t,h=await e.requestChecksumCalculation(),g=p?.name,_=p?.httpHeader;g&&!s[g]&&(h===E.WHEN_SUPPORTED||f)&&(s[g]=m,_&&(l[_]=m));let v=W(s,{requestChecksumRequired:f,requestAlgorithmMember:p?.name,requestChecksumCalculation:h}),y=c,b=l;if(v){switch(v){case D.CRC32:o(r,`FLEXIBLE_CHECKSUMS_REQ_CRC32`,`U`);break;case D.CRC32C:o(r,`FLEXIBLE_CHECKSUMS_REQ_CRC32C`,`V`);break;case D.CRC64NVME:o(r,`FLEXIBLE_CHECKSUMS_REQ_CRC64`,`W`);break;case D.SHA1:o(r,`FLEXIBLE_CHECKSUMS_REQ_SHA1`,`X`);break;case D.SHA256:o(r,`FLEXIBLE_CHECKSUMS_REQ_SHA256`,`Y`);break}let t=G(v),n=Ee(v,e);if(se(c)){let{getAwsChunkedEncodingStream:i,bodyLengthChecker:a}=e;y=i(typeof e.requestStreamBufferSize==`number`&&e.requestStreamBufferSize>=8*1024?V(c,e.requestStreamBufferSize,r.logger):c,{base64Encoder:u,bodyLengthChecker:a,checksumLocationName:t,checksumAlgorithmFn:n,streamHasher:d}),b={...l,"content-encoding":l[`content-encoding`]?`${l[`content-encoding`]},aws-chunked`:`aws-chunked`,"transfer-encoding":`chunked`,"x-amz-decoded-content-length":l[`content-length`],"x-amz-content-sha256":`STREAMING-UNSIGNED-PAYLOAD-TRAILER`,"x-amz-trailer":t},delete b[`content-length`]}else if(!ae(t,l)){let e=await De(n,c);b={...l,[t]:u(e)}}}try{return await n({...i,request:{...a,headers:b,body:y}})}catch(e){if(e instanceof Error&&e.name===`InvalidChunkSizeError`)try{e.message.endsWith(`.`)||(e.message+=`.`),e.message+=` Set [requestStreamBufferSize=number e.g. 65_536] in client constructor to instruct AWS SDK to buffer your input stream.`}catch{}throw e}},Ae={name:`flexibleChecksumsInputMiddleware`,toMiddleware:`serializerMiddleware`,relation:`before`,tags:[`BODY_CHECKSUM`],override:!0},je=(e,t)=>(n,r)=>async i=>{let a=i.input,{requestValidationModeMember:s}=t,c=await e.requestChecksumCalculation(),l=await e.responseChecksumValidation();switch(c){case E.WHEN_REQUIRED:o(r,`FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED`,`a`);break;case E.WHEN_SUPPORTED:o(r,`FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED`,`Z`);break}switch(l){case u.WHEN_REQUIRED:o(r,`FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED`,`c`);break;case u.WHEN_SUPPORTED:o(r,`FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED`,`b`);break}return s&&!a[s]&&l===u.WHEN_SUPPORTED&&(a[s]=`ENABLED`),n(i)},Me=(e=[])=>{let t=[],n=Te.length;for(let r of e){let e=Te.indexOf(r);e===-1?t[n++]=r:t[e]=r}return t.filter(Boolean)},Ne=e=>{let t=e.lastIndexOf(`-`);if(t!==-1){let n=e.slice(t+1);if(!n.startsWith(`0`)){let e=parseInt(n,10);if(!isNaN(e)&&e>=1&&e<=1e4)return!0}}return!1},Pe=async(e,{checksumAlgorithmFn:t,base64Encoder:n})=>n(await De(t,e)),Fe=async(e,{config:t,responseAlgorithms:n,logger:r})=>{let i=Me(n),{body:a,headers:o}=e;for(let n of i){let i=G(n),s=o[i];if(s){let o;try{o=Ee(n,t)}catch(e){if(n===D.CRC64NVME){r?.warn(`Skipping ${D.CRC64NVME} checksum validation: ${e.message}`);continue}throw e}let{base64Encoder:c}=t;if(se(a)){e.body=z({expectedChecksum:s,checksumSourceLocation:i,checksum:new o,source:a,base64Encoder:c});return}let l=await Pe(a,{checksumAlgorithmFn:o,base64Encoder:c});if(l===s)break;throw Error(`Checksum mismatch: expected "${l}" but received "${s}" in response header "${i}".`)}}},Ie={name:`flexibleChecksumsResponseMiddleware`,toMiddleware:`deserializerMiddleware`,relation:`after`,tags:[`BODY_CHECKSUM`],override:!0},Le=(e,t)=>(n,r)=>async i=>{if(!A.isInstance(i.request))return n(i);let a=i.input,o=await n(i),s=o.response,{requestValidationModeMember:c,responseAlgorithms:l}=t;if(c&&a[c]===`ENABLED`){let{clientName:t,commandName:n}=r,i=Object.keys(e.checksumAlgorithms??{}).filter(e=>{let t=G(e);return s.headers[t]!==void 0}),a=Me([...l??[],...i]);if(t===`S3Client`&&n===`GetObjectCommand`&&a.every(e=>{let t=G(e),n=s.headers[t];return!n||Ne(n)}))return o;await Fe(s,{config:e,responseAlgorithms:a,logger:r.logger})}return o},Re=(e,t)=>({applyToStack:n=>{n.add(ke(e,t),Oe),n.addRelativeTo(je(e,t),Ae),n.addRelativeTo(Le(e,t),Ie)}}),ze=`content-length`,Be=`x-amz-decoded-content-length`;function Ve(){return(e,t)=>async n=>{let{request:r}=n;if(A.isInstance(r)&&!(ze in r.headers)&&!(Be in r.headers)){let e=`Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.`;typeof t?.logger?.warn==`function`&&!(t.logger instanceof c)?t.logger.warn(e):console.warn(e)}return e({...n})}}var He={step:`finalizeRequest`,tags:[`CHECK_CONTENT_LENGTH_HEADER`],name:`getCheckContentLengthHeaderPlugin`,override:!0},Ue=e=>({applyToStack:e=>{e.add(Ve(),He)}}),We=class extends l.classBuilder().ep({...g,Bucket:{type:`contextParams`,name:`Bucket`},Key:{type:`contextParams`,name:`Key`}}).m(function(e,t,n,r){return[O(n,e.getEndpointParameterInstructions()),f(n)]}).s(`AmazonS3`,`AbortMultipartUpload`,{}).n(`S3Client`,`AbortMultipartUploadCommand`).sc(p).build(){};function Ge(e){return t=>async n=>{let r={...n.input};for(let t of[{target:`SSECustomerKey`,hash:`SSECustomerKeyMD5`},{target:`CopySourceSSECustomerKey`,hash:`CopySourceSSECustomerKeyMD5`}]){let n=r[t.target];if(n){let i;typeof n==`string`?qe(n,e)?i=e.base64Decoder(n):(i=e.utf8Decoder(n),r[t.target]=e.base64Encoder(i)):(i=ArrayBuffer.isView(n)?new Uint8Array(n.buffer,n.byteOffset,n.byteLength):new Uint8Array(n),r[t.target]=e.base64Encoder(i));let a=new e.md5;a.update(i),r[t.hash]=e.base64Encoder(await a.digest())}}return t({...n,input:r})}}var Ke={name:`ssecMiddleware`,step:`initialize`,tags:[`SSE`],override:!0},q=e=>({applyToStack:t=>{t.add(Ge(e),Ke)}});function qe(e,t){if(!/^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e))return!1;try{return t.base64Decoder(e).length===32}catch{return!1}}var Je=class extends l.classBuilder().ep({...g,Bucket:{type:`contextParams`,name:`Bucket`},Key:{type:`contextParams`,name:`Key`}}).m(function(e,t,n,r){return[O(n,e.getEndpointParameterInstructions()),f(n),q(n)]}).s(`AmazonS3`,`CompleteMultipartUpload`,{}).n(`S3Client`,`CompleteMultipartUploadCommand`).sc(x).build(){};function Ye(e){return t=>async n=>{let{CreateBucketConfiguration:r}=n.input,i=await e.region();return!r?.LocationConstraint&&!r?.Location&&i!==`us-east-1`&&(n.input.CreateBucketConfiguration=n.input.CreateBucketConfiguration??{},n.input.CreateBucketConfiguration.LocationConstraint=i),t(n)}}var Xe={step:`initialize`,tags:[`LOCATION_CONSTRAINT`,`CREATE_BUCKET_CONFIGURATION`],name:`locationConstraintMiddleware`,override:!0},Ze=e=>({applyToStack:t=>{t.add(Ye(e),Xe)}}),Qe=class extends l.classBuilder().ep({...g,UseS3ExpressControlEndpoint:{type:`staticContextParams`,value:!0},DisableAccessPoints:{type:`staticContextParams`,value:!0},Bucket:{type:`contextParams`,name:`Bucket`}}).m(function(e,t,n,r){return[O(n,e.getEndpointParameterInstructions()),f(n),Ze(n)]}).s(`AmazonS3`,`CreateBucket`,{}).n(`S3Client`,`CreateBucketCommand`).sc(w).build(){},$e=class extends l.classBuilder().ep({...g,Bucket:{type:`contextParams`,name:`Bucket`},Key:{type:`contextParams`,name:`Key`}}).m(function(e,t,n,r){return[O(n,e.getEndpointParameterInstructions()),f(n),q(n)]}).s(`AmazonS3`,`CreateMultipartUpload`,{}).n(`S3Client`,`CreateMultipartUploadCommand`).sc(h).build(){},et=class extends l.classBuilder().ep({...g,Bucket:{type:`contextParams`,name:`Bucket`},Key:{type:`contextParams`,name:`Key`}}).m(function(e,t,n,r){return[O(n,e.getEndpointParameterInstructions()),f(n)]}).s(`AmazonS3`,`DeleteObject`,{}).n(`S3Client`,`DeleteObjectCommand`).sc(y).build(){},tt=class extends l.classBuilder().ep({...g,Bucket:{type:`contextParams`,name:`Bucket`},Key:{type:`contextParams`,name:`Key`}}).m(function(e,t,n,r){return[O(n,e.getEndpointParameterInstructions()),Re(n,{requestAlgorithmMember:{httpHeader:`x-amz-sdk-checksum-algorithm`,name:`ChecksumAlgorithm`},requestChecksumRequired:!1}),Ue(n),f(n),q(n)]}).s(`AmazonS3`,`PutObject`,{}).n(`S3Client`,`PutObjectCommand`).sc(S).build(){},nt=class extends l.classBuilder().ep({...g,Bucket:{type:`contextParams`,name:`Bucket`}}).m(function(e,t,n,r){return[O(n,e.getEndpointParameterInstructions()),Re(n,{requestAlgorithmMember:{httpHeader:`x-amz-sdk-checksum-algorithm`,name:`ChecksumAlgorithm`},requestChecksumRequired:!0}),f(n)]}).s(`AmazonS3`,`PutObjectTagging`,{}).n(`S3Client`,`PutObjectTaggingCommand`).sc(b).build(){},rt=class extends l.classBuilder().ep({...g,Bucket:{type:`contextParams`,name:`Bucket`},Key:{type:`contextParams`,name:`Key`}}).m(function(e,t,n,r){return[O(n,e.getEndpointParameterInstructions()),Re(n,{requestAlgorithmMember:{httpHeader:`x-amz-sdk-checksum-algorithm`,name:`ChecksumAlgorithm`},requestChecksumRequired:!1}),f(n),q(n)]}).s(`AmazonS3`,`UploadPart`,{}).n(`S3Client`,`UploadPartCommand`).sc(_).build(){},it={CRC32:`CRC32`,CRC32C:`CRC32C`,CRC64NVME:`CRC64NVME`,SHA1:`SHA1`,SHA256:`SHA256`},at=e(((e,t)=>{var n=typeof Reflect==`object`?Reflect:null,r=n&&typeof n.apply==`function`?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)},i=n&&typeof n.ownKeys==`function`?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};function a(e){console&&console.warn&&console.warn(e)}var o=Number.isNaN||function(e){return e!==e};function s(){s.init.call(this)}t.exports=s,t.exports.once=y,s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var c=10;function l(e){if(typeof e!=`function`)throw TypeError(`The "listener" argument must be of type Function. Received type `+typeof e)}Object.defineProperty(s,`defaultMaxListeners`,{enumerable:!0,get:function(){return c},set:function(e){if(typeof e!=`number`||e<0||o(e))throw RangeError(`The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received `+e+`.`);c=e}}),s.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(e){if(typeof e!=`number`||e<0||o(e))throw RangeError(`The value of "n" is out of range. It must be a non-negative number. Received `+e+`.`);return this._maxListeners=e,this};function u(e){return e._maxListeners===void 0?s.defaultMaxListeners:e._maxListeners}s.prototype.getMaxListeners=function(){return u(this)},s.prototype.emit=function(e){for(var t=[],n=1;n0&&(o=t[0]),o instanceof Error)throw o;var s=Error(`Unhandled error.`+(o?` (`+o.message+`)`:``));throw s.context=o,s}var c=a[e];if(c===void 0)return!1;if(typeof c==`function`)r(c,this,t);else for(var l=c.length,u=g(c,l),n=0;n0&&s.length>i&&!s.warned){s.warned=!0;var c=Error(`Possible EventEmitter memory leak detected. `+s.length+` `+String(t)+` listeners added. Use emitter.setMaxListeners() to increase limit`);c.name=`MaxListenersExceededWarning`,c.emitter=e,c.type=t,c.count=s.length,a(c)}return e}s.prototype.addListener=function(e,t){return d(this,e,t,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(e,t){return d(this,e,t,!0)};function f(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=f.bind(r);return i.listener=n,r.wrapFn=i,i}s.prototype.once=function(e,t){return l(t),this.on(e,p(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){return l(t),this.prependListener(e,p(this,e,t)),this},s.prototype.removeListener=function(e,t){var n,r,i,a,o;if(l(t),r=this._events,r===void 0||(n=r[e],n===void 0))return this;if(n===t||n.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit(`removeListener`,e,n.listener||t));else if(typeof n!=`function`){for(i=-1,a=n.length-1;a>=0;a--)if(n[a]===t||n[a].listener===t){o=n[a].listener,i=a;break}if(i<0)return this;i===0?n.shift():_(n,i),n.length===1&&(r[e]=n[0]),r.removeListener!==void 0&&this.emit(`removeListener`,e,o||t)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(e){var t,n=this._events,r;if(n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var i=Object.keys(n),a;for(r=0;r=0;r--)this.removeListener(e,t[r]);return this};function m(e,t,n){var r=e._events;if(r===void 0)return[];var i=r[t];return i===void 0?[]:typeof i==`function`?n?[i.listener||i]:[i]:n?v(i):g(i,i.length)}s.prototype.listeners=function(e){return m(this,e,!0)},s.prototype.rawListeners=function(e){return m(this,e,!1)},s.listenerCount=function(e,t){return typeof e.listenerCount==`function`?e.listenerCount(t):h.call(e,t)},s.prototype.listenerCount=h;function h(e){var t=this._events;if(t!==void 0){var n=t[e];if(typeof n==`function`)return 1;if(n!==void 0)return n.length}return 0}s.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]};function g(e,t){for(var n=Array(t),r=0;r{e.byteLength=c,e.toByteArray=u,e.fromByteArray=p;for(var t=[],n=[],r=typeof Uint8Array<`u`?Uint8Array:Array,i=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,a=0,o=i.length;a0)throw Error(`Invalid string. Length must be a multiple of 4`);var n=e.indexOf(`=`);n===-1&&(n=t);var r=n===t?0:4-n%4;return[n,r]}function c(e){var t=s(e),n=t[0],r=t[1];return(n+r)*3/4-r}function l(e,t,n){return(t+n)*3/4-n}function u(e){var t,i=s(e),a=i[0],o=i[1],c=new r(l(e,a,o)),u=0,d=o>0?a-4:a,f;for(f=0;f>16&255,c[u++]=t>>8&255,c[u++]=t&255;return o===2&&(t=n[e.charCodeAt(f)]<<2|n[e.charCodeAt(f+1)]>>4,c[u++]=t&255),o===1&&(t=n[e.charCodeAt(f)]<<10|n[e.charCodeAt(f+1)]<<4|n[e.charCodeAt(f+2)]>>2,c[u++]=t>>8&255,c[u++]=t&255),c}function d(e){return t[e>>18&63]+t[e>>12&63]+t[e>>6&63]+t[e&63]}function f(e,t,n){for(var r,i=[],a=t;ac?c:s+o));return i===1?(n=e[r-1],a.push(t[n>>2]+t[n<<4&63]+`==`)):i===2&&(n=(e[r-2]<<8)+e[r-1],a.push(t[n>>10]+t[n>>4&63]+t[n<<2&63]+`=`)),a.join(``)}})),st=e((e=>{e.read=function(e,t,n,r,i){var a,o,s=i*8-r-1,c=(1<>1,u=-7,d=n?i-1:0,f=n?-1:1,p=e[t+d];for(d+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=a*256+e[t+d],d+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=r;u>0;o=o*256+e[t+d],d+=f,u-=8);if(a===0)a=1-l;else if(a===c)return o?NaN:(p?-1:1)*(1/0);else o+=2**r,a-=l;return(p?-1:1)*o*2**(a-r)},e.write=function(e,t,n,r,i,a){var o,s,c,l=a*8-i-1,u=(1<>1,f=i===23?2**-24-2**-77:0,p=r?0:a-1,m=r?1:-1,h=+(t<0||t===0&&1/t<0);for(t=Math.abs(t),isNaN(t)||t===1/0?(s=+!!isNaN(t),o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=2**-o)<1&&(o--,c*=2),o+d>=1?t+=f/c:t+=f*2**(1-d),t*c>=2&&(o++,c/=2),o+d>=u?(s=0,o=u):o+d>=1?(s=(t*c-1)*2**i,o+=d):(s=t*2**(d-1)*2**i,o=0));i>=8;e[n+p]=s&255,p+=m,s/=256,i-=8);for(o=o<0;e[n+p]=o&255,p+=m,o/=256,l-=8);e[n+p-m]|=h*128}})),J=e((e=>{var t=ot(),n=st(),r=typeof Symbol==`function`&&typeof Symbol.for==`function`?Symbol.for(`nodejs.util.inspect.custom`):null;e.Buffer=s,e.SlowBuffer=_,e.INSPECT_MAX_BYTES=50;var i=2147483647;e.kMaxLength=i,s.TYPED_ARRAY_SUPPORT=a(),!s.TYPED_ARRAY_SUPPORT&&typeof console<`u`&&typeof console.error==`function`&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function a(){try{var e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(s.prototype,`parent`,{enumerable:!0,get:function(){if(s.isBuffer(this))return this.buffer}}),Object.defineProperty(s.prototype,`offset`,{enumerable:!0,get:function(){if(s.isBuffer(this))return this.byteOffset}});function o(e){if(e>i)throw RangeError(`The value "`+e+`" is invalid for option "size"`);var t=new Uint8Array(e);return Object.setPrototypeOf(t,s.prototype),t}function s(e,t,n){if(typeof e==`number`){if(typeof t==`string`)throw TypeError(`The "string" argument must be of type string. Received type number`);return d(e)}return c(e,t,n)}s.poolSize=8192;function c(e,t,n){if(typeof e==`string`)return f(e,t);if(ArrayBuffer.isView(e))return p(e);if(e==null)throw TypeError(`The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type `+typeof e);if(W(e,ArrayBuffer)||e&&W(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<`u`&&(W(e,SharedArrayBuffer)||e&&W(e.buffer,SharedArrayBuffer)))return m(e,t,n);if(typeof e==`number`)throw TypeError(`The "value" argument must not be of type number. Received type number`);var r=e.valueOf&&e.valueOf();if(r!=null&&r!==e)return s.from(r,t,n);var i=h(e);if(i)return i;if(typeof Symbol<`u`&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]==`function`)return s.from(e[Symbol.toPrimitive](`string`),t,n);throw TypeError(`The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type `+typeof e)}s.from=function(e,t,n){return c(e,t,n)},Object.setPrototypeOf(s.prototype,Uint8Array.prototype),Object.setPrototypeOf(s,Uint8Array);function l(e){if(typeof e!=`number`)throw TypeError(`"size" argument must be of type number`);if(e<0)throw RangeError(`The value "`+e+`" is invalid for option "size"`)}function u(e,t,n){return l(e),e<=0||t===void 0?o(e):typeof n==`string`?o(e).fill(t,n):o(e).fill(t)}s.alloc=function(e,t,n){return u(e,t,n)};function d(e){return l(e),o(e<0?0:g(e)|0)}s.allocUnsafe=function(e){return d(e)},s.allocUnsafeSlow=function(e){return d(e)};function f(e,t){if((typeof t!=`string`||t===``)&&(t=`utf8`),!s.isEncoding(t))throw TypeError(`Unknown encoding: `+t);var n=v(e,t)|0,r=o(n),i=r.write(e,t);return i!==n&&(r=r.slice(0,i)),r}function p(e){for(var t=e.length<0?0:g(e.length)|0,n=o(t),r=0;r=i)throw RangeError(`Attempt to allocate Buffer larger than maximum size: 0x`+i.toString(16)+` bytes`);return e|0}function _(e){return+e!=e&&(e=0),s.alloc(+e)}s.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==s.prototype},s.compare=function(e,t){if(W(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),W(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),!s.isBuffer(e)||!s.isBuffer(t))throw TypeError(`The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array`);if(e===t)return 0;for(var n=e.length,r=t.length,i=0,a=Math.min(n,r);i2&&arguments[2]===!0;if(!r&&n===0)return 0;for(var i=!1;;)switch(t){case`ascii`:case`latin1`:case`binary`:return n;case`utf8`:case`utf-8`:return V(e).length;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return n*2;case`hex`:return n>>>1;case`base64`:return U(e).length;default:if(i)return r?-1:V(e).length;t=(``+t).toLowerCase(),i=!0}}s.byteLength=v;function y(e,t,n){var r=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((n===void 0||n>this.length)&&(n=this.length),n<=0)||(n>>>=0,t>>>=0,n<=t))return``;for(e||=`utf8`;;)switch(e){case`hex`:return N(this,t,n);case`utf8`:case`utf-8`:return k(this,t,n);case`ascii`:return te(this,t,n);case`latin1`:case`binary`:return M(this,t,n);case`base64`:return ee(this,t,n);case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return P(this,t,n);default:if(r)throw TypeError(`Unknown encoding: `+e);e=(e+``).toLowerCase(),r=!0}}s.prototype._isBuffer=!0;function b(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}s.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw RangeError(`Buffer size must be a multiple of 16-bits`);for(var t=0;tn&&(t+=` ... `),``},r&&(s.prototype[r]=s.prototype.inspect),s.prototype.compare=function(e,t,n,r,i){if(W(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),!s.isBuffer(e))throw TypeError(`The "target" argument must be one of type Buffer or Uint8Array. Received type `+typeof e);if(t===void 0&&(t=0),n===void 0&&(n=e?e.length:0),r===void 0&&(r=0),i===void 0&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw RangeError(`out of range index`);if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;for(var a=i-r,o=n-t,c=Math.min(a,o),l=this.slice(r,i),u=e.slice(t,n),d=0;d2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,G(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0)if(i)n=0;else return-1;if(typeof t==`string`&&(t=s.from(t,r)),s.isBuffer(t))return t.length===0?-1:S(e,t,n,r,i);if(typeof t==`number`)return t&=255,typeof Uint8Array.prototype.indexOf==`function`?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):S(e,[t],n,r,i);throw TypeError(`val must be string, number or Buffer`)}function S(e,t,n,r,i){var a=1,o=e.length,s=t.length;if(r!==void 0&&(r=String(r).toLowerCase(),r===`ucs2`||r===`ucs-2`||r===`utf16le`||r===`utf-16le`)){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,n/=2}function c(e,t){return a===1?e[t]:e.readUInt16BE(t*a)}var l;if(i){var u=-1;for(l=n;lo&&(n=o-s),l=n;l>=0;l--){for(var d=!0,f=0;fi&&(r=i)):r=i;var a=t.length;r>a/2&&(r=a/2);for(var o=0;o>>=0,isFinite(n)?(n>>>=0,r===void 0&&(r=`utf8`)):(r=n,n=void 0);else throw Error(`Buffer.write(string, encoding, offset[, length]) is no longer supported`);var i=this.length-t;if((n===void 0||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw RangeError(`Attempt to write outside buffer bounds`);r||=`utf8`;for(var a=!1;;)switch(r){case`hex`:return C(this,e,t,n);case`utf8`:case`utf-8`:return w(this,e,t,n);case`ascii`:return T(this,e,t,n);case`latin1`:case`binary`:return E(this,e,t,n);case`base64`:return D(this,e,t,n);case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return O(this,e,t,n);default:if(a)throw TypeError(`Unknown encoding: `+r);r=(``+r).toLowerCase(),a=!0}},s.prototype.toJSON=function(){return{type:`Buffer`,data:Array.prototype.slice.call(this._arr||this,0)}};function ee(e,n,r){return n===0&&r===e.length?t.fromByteArray(e):t.fromByteArray(e.slice(n,r))}function k(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i239?4:a>223?3:a>191?2:1;if(i+s<=n){var c,l,u,d;switch(s){case 1:a<128&&(o=a);break;case 2:c=e[i+1],(c&192)==128&&(d=(a&31)<<6|c&63,d>127&&(o=d));break;case 3:c=e[i+1],l=e[i+2],(c&192)==128&&(l&192)==128&&(d=(a&15)<<12|(c&63)<<6|l&63,d>2047&&(d<55296||d>57343)&&(o=d));break;case 4:c=e[i+1],l=e[i+2],u=e[i+3],(c&192)==128&&(l&192)==128&&(u&192)==128&&(d=(a&15)<<18|(c&63)<<12|(l&63)<<6|u&63,d>65535&&d<1114112&&(o=d))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,r.push(o>>>10&1023|55296),o=56320|o&1023),r.push(o),i+=s}return j(r)}var A=4096;function j(e){var t=e.length;if(t<=A)return String.fromCharCode.apply(String,e);for(var n=``,r=0;rr)&&(n=r);for(var i=``,a=t;an&&(e=n),t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),tn)throw RangeError(`Trying to access beyond buffer length`)}s.prototype.readUIntLE=function(e,t,n){e>>>=0,t>>>=0,n||F(e,t,this.length);for(var r=this[e],i=1,a=0;++a>>=0,t>>>=0,n||F(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},s.prototype.readUInt8=function(e,t){return e>>>=0,t||F(e,1,this.length),this[e]},s.prototype.readUInt16LE=function(e,t){return e>>>=0,t||F(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUInt16BE=function(e,t){return e>>>=0,t||F(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUInt32LE=function(e,t){return e>>>=0,t||F(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216},s.prototype.readUInt32BE=function(e,t){return e>>>=0,t||F(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])},s.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||F(e,t,this.length);for(var r=this[e],i=1,a=0;++a=i&&(r-=2**(8*t)),r},s.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||F(e,t,this.length);for(var r=t,i=1,a=this[e+--r];r>0&&(i*=256);)a+=this[e+--r]*i;return i*=128,a>=i&&(a-=2**(8*t)),a},s.prototype.readInt8=function(e,t){return e>>>=0,t||F(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]},s.prototype.readInt16LE=function(e,t){e>>>=0,t||F(e,2,this.length);var n=this[e]|this[e+1]<<8;return n&32768?n|4294901760:n},s.prototype.readInt16BE=function(e,t){e>>>=0,t||F(e,2,this.length);var n=this[e+1]|this[e]<<8;return n&32768?n|4294901760:n},s.prototype.readInt32LE=function(e,t){return e>>>=0,t||F(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},s.prototype.readInt32BE=function(e,t){return e>>>=0,t||F(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},s.prototype.readFloatLE=function(e,t){return e>>>=0,t||F(e,4,this.length),n.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,t){return e>>>=0,t||F(e,4,this.length),n.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,t){return e>>>=0,t||F(e,8,this.length),n.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,t){return e>>>=0,t||F(e,8,this.length),n.read(this,e,!1,52,8)};function I(e,t,n,r,i,a){if(!s.isBuffer(e))throw TypeError(`"buffer" argument must be a Buffer instance`);if(t>i||te.length)throw RangeError(`Index out of range`)}s.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t>>>=0,n>>>=0,!r){var i=2**(8*n)-1;I(this,e,t,n,i,0)}var a=1,o=0;for(this[t]=e&255;++o>>=0,n>>>=0,!r){var i=2**(8*n)-1;I(this,e,t,n,i,0)}var a=n-1,o=1;for(this[t+a]=e&255;--a>=0&&(o*=256);)this[t+a]=e/o&255;return t+n},s.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,1,255,0),this[t]=e&255,t+1},s.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2},s.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2},s.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4},s.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4},s.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t>>>=0,!r){var i=2**(8*n-1);I(this,e,t,n,i-1,-i)}var a=0,o=1,s=0;for(this[t]=e&255;++a>0)-s&255;return t+n},s.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t>>>=0,!r){var i=2**(8*n-1);I(this,e,t,n,i-1,-i)}var a=n-1,o=1,s=0;for(this[t+a]=e&255;--a>=0&&(o*=256);)e<0&&s===0&&this[t+a+1]!==0&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+n},s.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1},s.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2},s.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2},s.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},s.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function L(e,t,n,r,i,a){if(n+r>e.length||n<0)throw RangeError(`Index out of range`)}function R(e,t,r,i,a){return t=+t,r>>>=0,a||L(e,t,r,4,34028234663852886e22,-34028234663852886e22),n.write(e,t,r,i,23,4),r+4}s.prototype.writeFloatLE=function(e,t,n){return R(this,e,t,!0,n)},s.prototype.writeFloatBE=function(e,t,n){return R(this,e,t,!1,n)};function z(e,t,r,i,a){return t=+t,r>>>=0,a||L(e,t,r,8,17976931348623157e292,-17976931348623157e292),n.write(e,t,r,i,52,8),r+8}s.prototype.writeDoubleLE=function(e,t,n){return z(this,e,t,!0,n)},s.prototype.writeDoubleBE=function(e,t,n){return z(this,e,t,!1,n)},s.prototype.copy=function(e,t,n,r){if(!s.isBuffer(e))throw TypeError(`argument should be a Buffer`);if(n||=0,!r&&r!==0&&(r=this.length),t>=e.length&&(t=e.length),t||=0,r>0&&r=this.length)throw RangeError(`Index out of range`);if(r<0)throw RangeError(`sourceEnd out of bounds`);r>this.length&&(r=this.length),e.length-t=0;--a)e[a+t]=this[a+n];else Uint8Array.prototype.set.call(e,this.subarray(n,r),t);return i},s.prototype.fill=function(e,t,n,r){if(typeof e==`string`){if(typeof t==`string`?(r=t,t=0,n=this.length):typeof n==`string`&&(r=n,n=this.length),r!==void 0&&typeof r!=`string`)throw TypeError(`encoding must be a string`);if(typeof r==`string`&&!s.isEncoding(r))throw TypeError(`Unknown encoding: `+r);if(e.length===1){var i=e.charCodeAt(0);(r===`utf8`&&i<128||r===`latin1`)&&(e=i)}}else typeof e==`number`?e&=255:typeof e==`boolean`&&(e=Number(e));if(t<0||this.length>>=0,n=n===void 0?this.length:n>>>0,e||=0;var a;if(typeof e==`number`)for(a=t;a55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+1===r){(t-=3)>-1&&a.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),i=n;continue}n=(i-55296<<10|n-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,n<128){if(--t<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,n&63|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,n&63|128)}else if(n<1114112){if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,n&63|128)}else throw Error(`Invalid code point`)}return a}function H(e){for(var t=[],n=0;n>8,i=n%256,a.push(i),a.push(r);return a}function U(e){return t.toByteArray(B(e))}function ie(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function W(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function G(e){return e!==e}var ae=(function(){for(var e=`0123456789abcdef`,t=Array(256),n=0;n<16;++n)for(var r=n*16,i=0;i<16;++i)t[r+i]=e[n]+e[i];return t})()})),ct=t(),lt=at(),Y=J(),ut={lstatSync:()=>{},isFileReadStream(e){return!1},runtime:`browser`},dt=e=>{if(e==null)return 0;if(typeof e==`string`)return Y.Buffer.byteLength(e);if(typeof e.byteLength==`number`)return e.byteLength;if(typeof e.length==`number`)return e.length;if(typeof e.size==`number`)return e.size;if(typeof e.start==`number`&&typeof e.end==`number`)return e.end+1-e.start;if(ut.isFileReadStream(e))try{return ut.lstatSync(e.path).size}catch{return}},X;(function(e){e.EMPTY_INPUT=`a null or undefined Body`,e.CONTENT_LENGTH=`the ContentLength property of the params set by the caller`,e.STRING_LENGTH=`the encoded byte length of the Body string`,e.TYPED_ARRAY=`the byteLength of a typed byte array such as Uint8Array`,e.LENGTH=`the value of Body.length`,e.SIZE=`the value of Body.size`,e.START_END_DIFF=`the numeric difference between Body.start and Body.end`,e.LSTAT=`the size of the file given by Body.path on disk as reported by lstatSync`})(X||={});var ft=(e,t)=>{if(t!=null)return X.CONTENT_LENGTH;if(e==null)return X.EMPTY_INPUT;if(typeof e==`string`)return X.STRING_LENGTH;if(typeof e.byteLength==`number`)return X.TYPED_ARRAY;if(typeof e.length==`number`)return X.LENGTH;if(typeof e.size==`number`)return X.SIZE;if(typeof e.start==`number`&&typeof e.end==`number`)return X.START_END_DIFF;if(ut.isFileReadStream(e))try{return ut.lstatSync(e.path).size,X.LSTAT}catch{return}},Z=e(((e,t)=>{typeof Object.create==`function`?t.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}})),pt=e(((e,t)=>{t.exports=at().EventEmitter})),mt=e(((e,t)=>{t.exports={}})),ht=e(((e,t)=>{function n(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function r(e){for(var t=1;t0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:`unshift`,value:function(e){var t={data:e,next:this.head};this.length===0&&(this.tail=t),this.head=t,++this.length}},{key:`shift`,value:function(){if(this.length!==0){var e=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:`clear`,value:function(){this.head=this.tail=null,this.length=0}},{key:`join`,value:function(e){if(this.length===0)return``;for(var t=this.head,n=``+t.data;t=t.next;)n+=e+t.data;return n}},{key:`concat`,value:function(e){if(this.length===0)return u.alloc(0);for(var t=u.allocUnsafe(e>>>0),n=this.head,r=0;n;)p(n.data,t,r),r+=n.data.length,n=n.next;return t}},{key:`consume`,value:function(e,t){var n;return ei.length?i.length:e;if(a===i.length?r+=i:r+=i.slice(0,e),e-=a,e===0){a===i.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(a));break}++n}return this.length-=n,r}},{key:`_getBuffer`,value:function(e){var t=u.allocUnsafe(e),n=this.head,r=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var i=n.data,a=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,a),e-=a,e===0){a===i.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=i.slice(a));break}++r}return this.length-=r,t}},{key:f,value:function(e,t){return d(this,r(r({},t),{},{depth:0,customInspect:!1}))}}]),e}()})),gt=e(((e,t)=>{function n(e,t){var n=this,a=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return a||s?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(o,this,e)):process.nextTick(o,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!t&&e?n._writableState?n._writableState.errorEmitted?process.nextTick(i,n):(n._writableState.errorEmitted=!0,process.nextTick(r,n,e)):process.nextTick(r,n,e):t?(process.nextTick(i,n),t(e)):process.nextTick(i,n)}),this)}function r(e,t){o(e,t),i(e)}function i(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit(`close`)}function a(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function o(e,t){e.emit(`error`,t)}function s(e,t){var n=e._readableState,r=e._writableState;n&&n.autoDestroy||r&&r.autoDestroy?e.destroy(t):e.emit(`error`,t)}t.exports={destroy:n,undestroy:a,errorOrDestroy:s}})),Q=e(((e,t)=>{function n(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var r={};function i(e,t,i){i||=Error;function a(e,n,r){return typeof t==`string`?t:t(e,n,r)}var o=function(e){n(t,e);function t(t,n,r){return e.call(this,a(t,n,r))||this}return t}(i);o.prototype.name=i.name,o.prototype.code=e,r[e]=o}function a(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map(function(e){return String(e)}),n>2?`one of ${t} ${e.slice(0,n-1).join(`, `)}, or `+e[n-1]:n===2?`one of ${t} ${e[0]} or ${e[1]}`:`of ${t} ${e[0]}`}else return`of ${t} ${String(e)}`}function o(e,t,n){return e.substr(!n||n<0?0:+n,t.length)===t}function s(e,t,n){return(n===void 0||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}function c(e,t,n){return typeof n!=`number`&&(n=0),n+t.length>e.length?!1:e.indexOf(t,n)!==-1}i(`ERR_INVALID_OPT_VALUE`,function(e,t){return`The value "`+t+`" is invalid for option "`+e+`"`},TypeError),i(`ERR_INVALID_ARG_TYPE`,function(e,t,n){var r;typeof t==`string`&&o(t,`not `)?(r=`must not be`,t=t.replace(/^not /,``)):r=`must be`;var i=s(e,` argument`)?`The ${e} ${r} ${a(t,`type`)}`:`The "${e}" ${c(e,`.`)?`property`:`argument`} ${r} ${a(t,`type`)}`;return i+=`. Received type ${typeof n}`,i},TypeError),i(`ERR_STREAM_PUSH_AFTER_EOF`,`stream.push() after EOF`),i(`ERR_METHOD_NOT_IMPLEMENTED`,function(e){return`The `+e+` method is not implemented`}),i(`ERR_STREAM_PREMATURE_CLOSE`,`Premature close`),i(`ERR_STREAM_DESTROYED`,function(e){return`Cannot call `+e+` after a stream was destroyed`}),i(`ERR_MULTIPLE_CALLBACK`,`Callback called multiple times`),i(`ERR_STREAM_CANNOT_PIPE`,`Cannot pipe, not readable`),i(`ERR_STREAM_WRITE_AFTER_END`,`write after end`),i(`ERR_STREAM_NULL_VALUES`,`May not write null values to stream`,TypeError),i(`ERR_UNKNOWN_ENCODING`,function(e){return`Unknown encoding: `+e},TypeError),i(`ERR_STREAM_UNSHIFT_AFTER_END_EVENT`,`stream.unshift() after end event`),t.exports.codes=r})),_t=e(((e,t)=>{var n=Q().codes.ERR_INVALID_OPT_VALUE;function r(e,t,n){return e.highWaterMark==null?t?e[n]:null:e.highWaterMark}function i(e,t,i,a){var o=r(t,a,i);if(o!=null){if(!(isFinite(o)&&Math.floor(o)===o)||o<0)throw new n(a?i:`highWaterMark`,o);return Math.floor(o)}return e.objectMode?16:16*1024}t.exports={getHighWaterMark:i}})),vt=e(((e,t)=>{t.exports=n;function n(e,t){if(r(`noDeprecation`))return e;var n=!1;function i(){if(!n){if(r(`throwDeprecation`))throw Error(t);r(`traceDeprecation`)?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}return i}function r(e){try{if(!global.localStorage)return!1}catch{return!1}var t=global.localStorage[e];return t==null?!1:String(t).toLowerCase()===`true`}})),yt=e(((e,t)=>{t.exports=T;function n(e){var t=this;this.next=null,this.entry=null,this.finish=function(){ne(t,e)}}var r;T.WritableState=C;var i={deprecate:vt()},a=pt(),o=J().Buffer,s=(typeof global<`u`?global:typeof window<`u`?window:typeof self<`u`?self:{}).Uint8Array||function(){};function c(e){return o.from(e)}function l(e){return o.isBuffer(e)||e instanceof s}var u=gt(),d=_t().getHighWaterMark,f=Q().codes,p=f.ERR_INVALID_ARG_TYPE,m=f.ERR_METHOD_NOT_IMPLEMENTED,h=f.ERR_MULTIPLE_CALLBACK,g=f.ERR_STREAM_CANNOT_PIPE,_=f.ERR_STREAM_DESTROYED,v=f.ERR_STREAM_NULL_VALUES,y=f.ERR_STREAM_WRITE_AFTER_END,b=f.ERR_UNKNOWN_ENCODING,x=u.errorOrDestroy;Z()(T,a);function S(){}function C(e,t,i){r||=$(),e||={},typeof i!=`boolean`&&(i=t instanceof r),this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=d(this,e,`writableHighWaterMark`,i),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1,this.decodeStrings=e.decodeStrings!==!1,this.defaultEncoding=e.defaultEncoding||`utf8`,this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){te(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new n(this)}C.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},(function(){try{Object.defineProperty(C.prototype,`buffer`,{get:i.deprecate(function(){return this.getBuffer()},`_writableState.buffer is deprecated. Use _writableState.getBuffer instead.`,`DEP0003`)})}catch{}})();var w;typeof Symbol==`function`&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==`function`?(w=Function.prototype[Symbol.hasInstance],Object.defineProperty(T,Symbol.hasInstance,{value:function(e){return w.call(this,e)?!0:this===T?e&&e._writableState instanceof C:!1}})):w=function(e){return e instanceof this};function T(e){r||=$();var t=this instanceof r;if(!t&&!w.call(T,this))return new T(e);this._writableState=new C(e,this,t),this.writable=!0,e&&(typeof e.write==`function`&&(this._write=e.write),typeof e.writev==`function`&&(this._writev=e.writev),typeof e.destroy==`function`&&(this._destroy=e.destroy),typeof e.final==`function`&&(this._final=e.final)),a.call(this)}T.prototype.pipe=function(){x(this,new g)};function E(e,t){var n=new y;x(e,n),process.nextTick(t,n)}function D(e,t,n,r){var i;return n===null?i=new v:typeof n!=`string`&&!t.objectMode&&(i=new p(`chunk`,[`string`,`Buffer`],n)),i?(x(e,i),process.nextTick(r,i),!1):!0}T.prototype.write=function(e,t,n){var r=this._writableState,i=!1,a=!r.objectMode&&l(e);return a&&!o.isBuffer(e)&&(e=c(e)),typeof t==`function`&&(n=t,t=null),a?t=`buffer`:t||=r.defaultEncoding,typeof n!=`function`&&(n=S),r.ending?E(this,n):(a||D(this,r,e,n))&&(r.pendingcb++,i=ee(this,r,a,e,t,n)),i},T.prototype.cork=function(){this._writableState.corked++},T.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest&&P(this,e))},T.prototype.setDefaultEncoding=function(e){if(typeof e==`string`&&(e=e.toLowerCase()),!([`hex`,`utf8`,`utf-8`,`ascii`,`binary`,`base64`,`ucs2`,`ucs-2`,`utf16le`,`utf-16le`,`raw`].indexOf((e+``).toLowerCase())>-1))throw new b(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(T.prototype,`writableBuffer`,{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function O(e,t,n){return!e.objectMode&&e.decodeStrings!==!1&&typeof t==`string`&&(t=o.from(t,n)),t}Object.defineProperty(T.prototype,`writableHighWaterMark`,{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function ee(e,t,n,r,i,a){if(!n){var o=O(t,r,i);r!==o&&(n=!0,i=`buffer`,r=o)}var s=t.objectMode?1:r.length;t.length+=s;var c=t.length{var n=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};t.exports=c;var r=Tt(),i=yt();Z()(c,r);for(var a=n(i.prototype),o=0;o{var n=J(),r=n.Buffer;function i(e,t){for(var n in e)t[n]=e[n]}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?t.exports=n:(i(n,e),e.Buffer=a);function a(e,t,n){return r(e,t,n)}a.prototype=Object.create(r.prototype),i(r,a),a.from=function(e,t,n){if(typeof e==`number`)throw TypeError(`Argument must not be a number`);return r(e,t,n)},a.alloc=function(e,t,n){if(typeof e!=`number`)throw TypeError(`Argument must be a number`);var i=r(e);return t===void 0?i.fill(0):typeof n==`string`?i.fill(t,n):i.fill(t),i},a.allocUnsafe=function(e){if(typeof e!=`number`)throw TypeError(`Argument must be a number`);return r(e)},a.allocUnsafeSlow=function(e){if(typeof e!=`number`)throw TypeError(`Argument must be a number`);return n.SlowBuffer(e)}})),xt=e((e=>{var t=bt().Buffer,n=t.isEncoding||function(e){switch(e=``+e,e&&e.toLowerCase()){case`hex`:case`utf8`:case`utf-8`:case`ascii`:case`binary`:case`base64`:case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:case`raw`:return!0;default:return!1}};function r(e){if(!e)return`utf8`;for(var t;;)switch(e){case`utf8`:case`utf-8`:return`utf8`;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return`utf16le`;case`latin1`:case`binary`:return`latin1`;case`base64`:case`ascii`:case`hex`:return e;default:if(t)return;e=(``+e).toLowerCase(),t=!0}}function i(e){var i=r(e);if(typeof i!=`string`&&(t.isEncoding===n||!n(e)))throw Error(`Unknown encoding: `+e);return i||e}e.StringDecoder=a;function a(e){this.encoding=i(e);var n;switch(this.encoding){case`utf16le`:this.text=f,this.end=p,n=4;break;case`utf8`:this.fillLast=l,n=4;break;case`base64`:this.text=m,this.end=h,n=3;break;default:this.write=g,this.end=_;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=t.allocUnsafe(n)}a.prototype.write=function(e){if(e.length===0)return``;var t,n;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return``;n=this.lastNeed,this.lastNeed=0}else n=0;return n>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e,t,n){var r=t.length-1;if(r=0?(i>0&&(e.lastNeed=i-1),i):--r=0?(i>0&&(e.lastNeed=i-2),i):--r=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function c(e,t,n){if((t[0]&192)!=128)return e.lastNeed=0,`�`;if(e.lastNeed>1&&t.length>1){if((t[1]&192)!=128)return e.lastNeed=1,`�`;if(e.lastNeed>2&&t.length>2&&(t[2]&192)!=128)return e.lastNeed=2,`�`}}function l(e){var t=this.lastTotal-this.lastNeed,n=c(this,e,t);if(n!==void 0)return n;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function u(e,t){var n=s(this,e,t);if(!this.lastNeed)return e.toString(`utf8`,t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString(`utf8`,t,r)}function d(e){var t=e&&e.length?this.write(e):``;return this.lastNeed?t+`�`:t}function f(e,t){if((e.length-t)%2==0){var n=e.toString(`utf16le`,t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString(`utf16le`,t,e.length-1)}function p(e){var t=e&&e.length?this.write(e):``;if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString(`utf16le`,0,n)}return t}function m(e,t){var n=(e.length-t)%3;return n===0?e.toString(`base64`,t):(this.lastNeed=3-n,this.lastTotal=3,n===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString(`base64`,t,e.length-n))}function h(e){var t=e&&e.length?this.write(e):``;return this.lastNeed?t+this.lastChar.toString(`base64`,0,3-this.lastNeed):t}function g(e){return e.toString(this.encoding)}function _(e){return e&&e.length?this.write(e):``}})),St=e(((e,t)=>{var n=Q().codes.ERR_STREAM_PREMATURE_CLOSE;function r(e){var t=!1;return function(){if(!t){t=!0;var n=[...arguments];e.apply(this,n)}}}function i(){}function a(e){return e.setHeader&&typeof e.abort==`function`}function o(e,t,s){if(typeof t==`function`)return o(e,null,t);t||={},s=r(s||i);var c=t.readable||t.readable!==!1&&e.readable,l=t.writable||t.writable!==!1&&e.writable,u=function(){e.writable||f()},d=e._writableState&&e._writableState.finished,f=function(){l=!1,d=!0,c||s.call(e)},p=e._readableState&&e._readableState.endEmitted,m=function(){c=!1,p=!0,l||s.call(e)},h=function(t){s.call(e,t)},g=function(){var t;if(c&&!p)return(!e._readableState||!e._readableState.ended)&&(t=new n),s.call(e,t);if(l&&!d)return(!e._writableState||!e._writableState.ended)&&(t=new n),s.call(e,t)},_=function(){e.req.on(`finish`,f)};return a(e)?(e.on(`complete`,f),e.on(`abort`,g),e.req?_():e.on(`request`,_)):l&&!e._writableState&&(e.on(`end`,u),e.on(`close`,u)),e.on(`end`,m),e.on(`finish`,f),t.error!==!1&&e.on(`error`,h),e.on(`close`,g),function(){e.removeListener(`complete`,f),e.removeListener(`abort`,g),e.removeListener(`request`,_),e.req&&e.req.removeListener(`finish`,f),e.removeListener(`end`,u),e.removeListener(`close`,u),e.removeListener(`finish`,f),e.removeListener(`end`,m),e.removeListener(`error`,h),e.removeListener(`close`,g)}}t.exports=o})),Ct=e(((e,t)=>{var n;function r(e,t,n){return t=i(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e){var t=a(e,`string`);return typeof t==`symbol`?t:String(t)}function a(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var o=St(),s=Symbol(`lastResolve`),c=Symbol(`lastReject`),l=Symbol(`error`),u=Symbol(`ended`),d=Symbol(`lastPromise`),f=Symbol(`handlePromise`),p=Symbol(`stream`);function m(e,t){return{value:e,done:t}}function h(e){var t=e[s];if(t!==null){var n=e[p].read();n!==null&&(e[d]=null,e[s]=null,e[c]=null,t(m(n,!1)))}}function g(e){process.nextTick(h,e)}function _(e,t){return function(n,r){e.then(function(){if(t[u]){n(m(void 0,!0));return}t[f](n,r)},r)}}var v=Object.getPrototypeOf(function(){}),y=Object.setPrototypeOf((n={get stream(){return this[p]},next:function(){var e=this,t=this[l];if(t!==null)return Promise.reject(t);if(this[u])return Promise.resolve(m(void 0,!0));if(this[p].destroyed)return new Promise(function(t,n){process.nextTick(function(){e[l]?n(e[l]):t(m(void 0,!0))})});var n=this[d],r;if(n)r=new Promise(_(n,this));else{var i=this[p].read();if(i!==null)return Promise.resolve(m(i,!1));r=new Promise(this[f])}return this[d]=r,r}},r(n,Symbol.asyncIterator,function(){return this}),r(n,`return`,function(){var e=this;return new Promise(function(t,n){e[p].destroy(null,function(e){if(e){n(e);return}t(m(void 0,!0))})})}),n),v);t.exports=function(e){var t,n=Object.create(y,(t={},r(t,p,{value:e,writable:!0}),r(t,s,{value:null,writable:!0}),r(t,c,{value:null,writable:!0}),r(t,l,{value:null,writable:!0}),r(t,u,{value:e._readableState.endEmitted,writable:!0}),r(t,f,{value:function(e,t){var r=n[p].read();r?(n[d]=null,n[s]=null,n[c]=null,e(m(r,!1))):(n[s]=e,n[c]=t)},writable:!0}),t));return n[d]=null,o(e,function(e){if(e&&e.code!==`ERR_STREAM_PREMATURE_CLOSE`){var t=n[c];t!==null&&(n[d]=null,n[s]=null,n[c]=null,t(e)),n[l]=e;return}var r=n[s];r!==null&&(n[d]=null,n[s]=null,n[c]=null,r(m(void 0,!0))),n[u]=!0}),e.on(`readable`,g.bind(null,n)),n}})),wt=e(((e,t)=>{t.exports=function(){throw Error(`Readable.from is not available in the browser`)}})),Tt=e(((e,t)=>{t.exports=E;var n;E.ReadableState=T,at().EventEmitter;var r=function(e,t){return e.listeners(t).length},i=pt(),a=J().Buffer,o=(typeof global<`u`?global:typeof window<`u`?window:typeof self<`u`?self:{}).Uint8Array||function(){};function s(e){return a.from(e)}function c(e){return a.isBuffer(e)||e instanceof o}var l=mt(),u=l&&l.debuglog?l.debuglog(`stream`):function(){},d=ht(),f=gt(),p=_t().getHighWaterMark,m=Q().codes,h=m.ERR_INVALID_ARG_TYPE,g=m.ERR_STREAM_PUSH_AFTER_EOF,_=m.ERR_METHOD_NOT_IMPLEMENTED,v=m.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,y,b,x;Z()(E,i);var S=f.errorOrDestroy,C=[`error`,`close`,`destroy`,`pause`,`resume`];function w(e,t,n){if(typeof e.prependListener==`function`)return e.prependListener(t,n);!e._events||!e._events[t]?e.on(t,n):Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]}function T(e,t,r){n||=$(),e||={},typeof r!=`boolean`&&(r=t instanceof n),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=p(this,e,`readableHighWaterMark`,r),this.buffer=new d,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||`utf8`,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(y||=xt().StringDecoder,this.decoder=new y(e.encoding),this.encoding=e.encoding)}function E(e){if(n||=$(),!(this instanceof E))return new E(e);var t=this instanceof n;this._readableState=new T(e,this,t),this.readable=!0,e&&(typeof e.read==`function`&&(this._read=e.read),typeof e.destroy==`function`&&(this._destroy=e.destroy)),i.call(this)}Object.defineProperty(E.prototype,`destroyed`,{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),E.prototype.destroy=f.destroy,E.prototype._undestroy=f.undestroy,E.prototype._destroy=function(e,t){t(e)},E.prototype.push=function(e,t){var n=this._readableState,r;return n.objectMode?r=!0:typeof e==`string`&&(t||=n.defaultEncoding,t!==n.encoding&&(e=a.from(e,t),t=``),r=!0),D(this,e,t,!1,r)},E.prototype.unshift=function(e){return D(this,e,null,!0,!1)};function D(e,t,n,r,i){u(`readableAddChunk`,t);var o=e._readableState;if(t===null)o.reading=!1,te(e,o);else{var c;if(i||(c=ee(o,t)),c)S(e,c);else if(o.objectMode||t&&t.length>0)if(typeof t!=`string`&&!o.objectMode&&Object.getPrototypeOf(t)!==a.prototype&&(t=s(t)),r)o.endEmitted?S(e,new v):O(e,o,t,!0);else if(o.ended)S(e,new g);else if(o.destroyed)return!1;else o.reading=!1,o.decoder&&!n?(t=o.decoder.write(t),o.objectMode||t.length!==0?O(e,o,t,!1):P(e,o)):O(e,o,t,!1);else r||(o.reading=!1,P(e,o))}return!o.ended&&(o.length=k?e=k:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function j(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e===e?(e>t.highWaterMark&&(t.highWaterMark=A(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0)):t.flowing&&t.length?t.buffer.head.data.length:t.length}E.prototype.read=function(e){u(`read`,e),e=parseInt(e,10);var t=this._readableState,n=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&((t.highWaterMark===0?t.length>0:t.length>=t.highWaterMark)||t.ended))return u(`read: emitReadable`,t.length,t.ended),t.length===0&&t.ended?H(this):M(this),null;if(e=j(e,t),e===0&&t.ended)return t.length===0&&H(this),null;var r=t.needReadable;u(`need readable`,r),(t.length===0||t.length-e0?V(e,t):null;return i===null?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),t.length===0&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&H(this)),i!==null&&this.emit(`data`,i),i};function te(e,t){if(u(`onEofChunk`),!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.sync?M(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,N(e)))}}function M(e){var t=e._readableState;u(`emitReadable`,t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(u(`emitReadable`,t.flowing),t.emittedReadable=!0,process.nextTick(N,e))}function N(e){var t=e._readableState;u(`emitReadable_`,t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit(`readable`),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,B(e)}function P(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(F,e,t))}function F(e,t){for(;!t.reading&&!t.ended&&(t.length1&&U(i.pipes,e)!==-1)&&!l&&(u(`false write response, pause`,i.awaitDrain),i.awaitDrain++),n.pause())}function p(t){u(`onerror`,t),g(),e.removeListener(`error`,p),r(e,`error`)===0&&S(e,t)}w(e,`error`,p);function m(){e.removeListener(`finish`,h),g()}e.once(`close`,m);function h(){u(`onfinish`),e.removeListener(`close`,m),g()}e.once(`finish`,h);function g(){u(`unpipe`),n.unpipe(e)}return e.emit(`pipe`,n),i.flowing||(u(`pipe resume`),n.resume()),e};function I(e){return function(){var t=e._readableState;u(`pipeOnDrain`,t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&r(e,`data`)&&(t.flowing=!0,B(e))}}E.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||=t.pipes,t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(`unpipe`,this,n),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a0,r.flowing!==!1&&this.resume()):e===`readable`&&!r.endEmitted&&!r.readableListening&&(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,u(`on readable`,r.length,r.reading),r.length?M(this):r.reading||process.nextTick(R,this)),n},E.prototype.addListener=E.prototype.on,E.prototype.removeListener=function(e,t){var n=i.prototype.removeListener.call(this,e,t);return e===`readable`&&process.nextTick(L,this),n},E.prototype.removeAllListeners=function(e){var t=i.prototype.removeAllListeners.apply(this,arguments);return(e===`readable`||e===void 0)&&process.nextTick(L,this),t};function L(e){var t=e._readableState;t.readableListening=e.listenerCount(`readable`)>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount(`data`)>0&&e.resume()}function R(e){u(`readable nexttick read 0`),e.read(0)}E.prototype.resume=function(){var e=this._readableState;return e.flowing||(u(`resume`),e.flowing=!e.readableListening,z(this,e)),e.paused=!1,this};function z(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(ne,e,t))}function ne(e,t){u(`resume`,t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit(`resume`),B(e),t.flowing&&!t.reading&&e.read(0)}E.prototype.pause=function(){return u(`call pause flowing=%j`,this._readableState.flowing),this._readableState.flowing!==!1&&(u(`pause`),this._readableState.flowing=!1,this.emit(`pause`)),this._readableState.paused=!0,this};function B(e){var t=e._readableState;for(u(`flow`,t.flowing);t.flowing&&e.read()!==null;);}E.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var i in e.on(`end`,function(){if(u(`wrapped end`),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on(`data`,function(i){u(`wrapped data`),n.decoder&&(i=n.decoder.write(i)),!(n.objectMode&&i==null)&&(!n.objectMode&&(!i||!i.length)||t.push(i)||(r=!0,e.pause()))}),e)this[i]===void 0&&typeof e[i]==`function`&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var a=0;a=t.length?(n=t.decoder?t.buffer.join(``):t.buffer.length===1?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n}function H(e){var t=e._readableState;u(`endReadable`,t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(re,t,e))}function re(e,t){if(u(`endReadableNT`,e.endEmitted,e.length),!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit(`end`),e.autoDestroy)){var n=t._writableState;(!n||n.autoDestroy&&n.finished)&&t.destroy()}}typeof Symbol==`function`&&(E.from=function(e,t){return x===void 0&&(x=wt()),x(E,e,t)});function U(e,t){for(var n=0,r=e.length;n{t.exports=l;var n=Q().codes,r=n.ERR_METHOD_NOT_IMPLEMENTED,i=n.ERR_MULTIPLE_CALLBACK,a=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,o=n.ERR_TRANSFORM_WITH_LENGTH_0,s=$();Z()(l,s);function c(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(r===null)return this.emit(`error`,new i);n.writechunk=null,n.writecb=null,t!=null&&this.push(t),r(e);var a=this._readableState;a.reading=!1,(a.needReadable||a.length{t.exports=r;var n=Et();Z()(r,n);function r(e){if(!(this instanceof r))return new r(e);n.call(this,e)}r.prototype._transform=function(e,t,n){n(null,e)}})),Ot=e(((e,t)=>{var n;function r(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var i=Q().codes,a=i.ERR_MISSING_ARGS,o=i.ERR_STREAM_DESTROYED;function s(e){if(e)throw e}function c(e){return e.setHeader&&typeof e.abort==`function`}function l(e,t,i,a){a=r(a);var s=!1;e.on(`close`,function(){s=!0}),n===void 0&&(n=St()),n(e,{readable:t,writable:i},function(e){if(e)return a(e);s=!0,a()});var l=!1;return function(t){if(!s&&!l){if(l=!0,c(e))return e.abort();if(typeof e.destroy==`function`)return e.destroy();a(t||new o(`pipe`))}}}function u(e){e()}function d(e,t){return e.pipe(t)}function f(e){return!e.length||typeof e[e.length-1]!=`function`?s:e.pop()}function p(){var e=[...arguments],t=f(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new a(`streams`);var n,r=e.map(function(i,a){var o=a0,function(e){n||=e,e&&r.forEach(u),!o&&(r.forEach(u),t(n))})});return e.reduce(d)}t.exports=p})),kt=e(((e,t)=>{t.exports=r;var n=at().EventEmitter;Z()(r,n),r.Readable=Tt(),r.Writable=yt(),r.Duplex=$(),r.Transform=Et(),r.PassThrough=Dt(),r.finished=St(),r.pipeline=Ot(),r.Stream=r;function r(){n.call(this)}r.prototype.pipe=function(e,t){var r=this;function i(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}r.on(`data`,i);function a(){r.readable&&r.resume&&r.resume()}e.on(`drain`,a),!e._isStdio&&(!t||t.end!==!1)&&(r.on(`end`,s),r.on(`close`,c));var o=!1;function s(){o||(o=!0,e.end())}function c(){o||(o=!0,typeof e.destroy==`function`&&e.destroy())}function l(e){if(u(),n.listenerCount(this,`error`)===0)throw e}r.on(`error`,l),e.on(`error`,l);function u(){r.removeListener(`data`,i),e.removeListener(`drain`,a),r.removeListener(`end`,s),r.removeListener(`close`,c),r.removeListener(`error`,l),e.removeListener(`error`,l),r.removeListener(`end`,u),r.removeListener(`close`,u),e.removeListener(`close`,u)}return r.on(`end`,u),r.on(`close`,u),e.on(`close`,u),e.emit(`pipe`,r),e}}))();async function*At(e,t,n){let r=1,i={chunks:[],length:0};for await(let a of n(e))for(i.chunks.push(a),i.length+=a.byteLength;i.length>t;){let e=i.chunks.length>1?Y.Buffer.concat(i.chunks):i.chunks[0];yield{partNumber:r,data:e.subarray(0,t)},i.chunks=[e.subarray(t)],i.length=i.chunks[0].byteLength,r+=1}yield{partNumber:r,data:i.chunks.length===1?i.chunks[0]:Y.Buffer.concat(i.chunks),lastPart:!0}}async function*jt(e,t){let n=1,r=0,i=t;for(;i{if(e instanceof Uint8Array)return jt(e,t);if(e instanceof kt.Readable)return At(e,t,Mt);if(e instanceof String||typeof e==`string`)return jt(Y.Buffer.from(e),t);if(typeof e.stream==`function`)return At(e.stream(),t,Nt);if(e instanceof ReadableStream)return At(e,t,Nt);throw Error(`Body Data is unsupported format, expected data to be one of: string | Uint8Array | Buffer | Readable | ReadableStream | Blob;.`)},Ft=class e extends lt.EventEmitter{static MIN_PART_SIZE=1024*1024*5;MAX_PARTS=1e4;queueSize=4;partSize;leavePartsOnError=!1;tags=[];client;params;totalBytes;totalBytesSource;bytesUploadedSoFar;abortController;concurrentUploaders=[];createMultiPartPromise;abortMultipartUploadCommand=null;uploadedParts=[];uploadEnqueuedPartsCount=0;expectedPartsCount;uploadId;uploadEvent;isMultiPart=!0;singleUploadResult;sent=!1;constructor(t){if(super(),this.queueSize=t.queueSize||this.queueSize,this.leavePartsOnError=t.leavePartsOnError||this.leavePartsOnError,this.tags=t.tags||this.tags,this.client=t.client,this.params=t.params,!this.params)throw Error(`InputError: Upload requires params to be passed to upload.`);this.totalBytes=this.params.ContentLength??dt(this.params.Body),this.totalBytesSource=ft(this.params.Body,this.params.ContentLength),this.bytesUploadedSoFar=0,this.abortController=t.abortController??new AbortController,this.partSize=t.partSize||Math.max(e.MIN_PART_SIZE,Math.floor((this.totalBytes||0)/this.MAX_PARTS)),this.totalBytes!==void 0&&(this.expectedPartsCount=Math.ceil(this.totalBytes/this.partSize)),this.__validateInput()}async abort(){this.abortController.abort()}async done(){if(this.sent)throw Error(`@aws-sdk/lib-storage: this instance of Upload has already executed .done(). Create a new instance.`);return this.sent=!0,await Promise.race([this.__doMultipartUpload(),this.__abortTimeout(this.abortController.signal)])}on(e,t){return this.uploadEvent=e,super.on(e,t)}async __uploadUsingPut(e){this.isMultiPart=!1;let t={...this.params,Body:e.data},n=this.client.config,r=n.requestHandler,o=r instanceof lt.EventEmitter?r:null,s=t=>{this.bytesUploadedSoFar=t.loaded,this.totalBytes=t.total,this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:e.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})};o!==null&&o.on(`xhr.upload.progress`,s);let c=await Promise.all([this.client.send(new tt(t)),n?.endpoint?.()]),l=c[0],u=c[1];if(u||=d(await i(t,tt,{...n})),!u)throw Error(`Could not resolve endpoint from S3 "client.config.endpoint()" nor EndpointsV2.`);o!==null&&o.off(`xhr.upload.progress`,s);let f=this.params.Key.split(`/`).map(e=>a(e)).join(`/`),p=a(this.params.Bucket),m=(()=>{let e=u.hostname.startsWith(`${p}.`),t=this.client.config.forcePathStyle,n=u.port?`:${u.port}`:``;return t?`${u.protocol}//${u.hostname}${n}/${p}/${f}`:e?`${u.protocol}//${u.hostname}${n}/${f}`:`${u.protocol}//${p}.${u.hostname}${n}/${f}`})();this.singleUploadResult={...l,Bucket:this.params.Bucket,Key:this.params.Key,Location:m};let h=dt(e.data);this.__notifyProgress({loaded:h,total:h,part:1,Key:this.params.Key,Bucket:this.params.Bucket})}async __createMultipartUpload(){let e=await this.client.config.requestChecksumCalculation();if(!this.createMultiPartPromise){let t={...this.params,Body:void 0};e===`WHEN_SUPPORTED`&&(t.ChecksumAlgorithm=this.params.ChecksumAlgorithm||it.CRC32),this.createMultiPartPromise=this.client.send(new $e(t)).then(e=>(this.abortMultipartUploadCommand=new We({Bucket:this.params.Bucket,Key:this.params.Key,UploadId:e.UploadId}),e))}return this.createMultiPartPromise}async __doConcurrentUpload(e){for await(let t of e){if(this.uploadEnqueuedPartsCount>this.MAX_PARTS)throw Error(`Exceeded ${this.MAX_PARTS} parts in multipart upload to Bucket: ${this.params.Bucket} Key: ${this.params.Key}.`);if(this.abortController.signal.aborted)return;if(t.partNumber===1&&t.lastPart)return await this.__uploadUsingPut(t);if(!this.uploadId){let{UploadId:e}=await this.__createMultipartUpload();if(this.uploadId=e,this.abortController.signal.aborted)return}let e=dt(t.data)||0,n=this.client.config.requestHandler,r=n instanceof lt.EventEmitter?n:null,i=0,a=(n,r)=>{(Number(r.query.partNumber)||-1)===t.partNumber&&(n.total&&e&&(this.bytesUploadedSoFar+=n.loaded-i,i=n.loaded),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:t.partNumber,Key:this.params.Key,Bucket:this.params.Bucket}))};r!==null&&r.on(`xhr.upload.progress`,a),this.uploadEnqueuedPartsCount+=1,this.__validateUploadPart(t);let o=await this.client.send(new rt({...this.params,ContentLength:void 0,UploadId:this.uploadId,Body:t.data,PartNumber:t.partNumber}));if(r!==null&&r.off(`xhr.upload.progress`,a),this.abortController.signal.aborted)return;if(!o.ETag)throw Error(`Part ${t.partNumber} is missing ETag in UploadPart response. Missing Bucket CORS configuration for ETag header?`);this.uploadedParts.push({PartNumber:t.partNumber,ETag:o.ETag,...o.ChecksumCRC32&&{ChecksumCRC32:o.ChecksumCRC32},...o.ChecksumCRC32C&&{ChecksumCRC32C:o.ChecksumCRC32C},...o.ChecksumSHA1&&{ChecksumSHA1:o.ChecksumSHA1},...o.ChecksumSHA256&&{ChecksumSHA256:o.ChecksumSHA256}}),r===null&&(this.bytesUploadedSoFar+=e),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:t.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})}}async __doMultipartUpload(){let e=Pt(this.params.Body,this.partSize),t=[];for(let n=0;n{t.push(e)});this.concurrentUploaders.push(n)}if(await Promise.all(this.concurrentUploaders),t.length>=1)throw await this.markUploadAsAborted(),t[0];if(this.abortController.signal.aborted)throw await this.markUploadAsAborted(),Object.assign(Error(`Upload aborted.`),{name:`AbortError`});let n;if(this.isMultiPart){let{expectedPartsCount:e,uploadedParts:t,totalBytes:r,totalBytesSource:i}=this;if(r!==void 0&&e!==void 0&&t.length!==e)throw Error(`Expected ${e} part(s) but uploaded ${t.length} part(s). +import{i as e,t}from"./compiler-runtime.js";import{n}from"./QueryClientProvider.js";import{n as r}from"./error-banner.js";import{C as i,S as a,_ as o,a as s,an as c,b as l,c as u,fn as d,g as f,h as p,in as m,l as h,m as g,nn as _,o as v,on as y,pn as b,rn as x,s as S,sn as C,u as w,un as T,v as E,x as D,y as O}from"./awsClient.js";import{_ as ee,a as k,c as A,d as j,f as te,g as M,h as N,i as P,p as F,v as I}from"./SignatureV4.js";var L=typeof ReadableStream==`function`?ReadableStream:function(){},R=class extends L{},ne=({expectedChecksum:e,checksum:t,source:n,checksumSourceLocation:r,base64Encoder:i})=>{if(!d(n))throw Error(`@smithy/util-stream: unsupported source type ${n?.constructor?.name??n} in ChecksumStream.`);let a=i??b;if(typeof TransformStream!=`function`)throw Error(`@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream.`);let o=new TransformStream({start(){},async transform(e,n){t.update(e),n.enqueue(e)},async flush(n){let i=a(await t.digest());if(e!==i){let t=Error(`Checksum mismatch: expected "${e}" but received "${i}" in response header "${r}".`);n.error(t)}else n.terminate()}});n.pipeThrough(o);let s=o.readable;return Object.setPrototypeOf(s,R.prototype),s},re=class{allocByteArray;byteLength=0;byteArrays=[];constructor(e){this.allocByteArray=e}push(e){this.byteArrays.push(e),this.byteLength+=e.byteLength}flush(){if(this.byteArrays.length===1){let e=this.byteArrays[0];return this.reset(),e}let e=this.allocByteArray(this.byteLength),t=0;for(let n=0;nnew Uint8Array(e))],s=-1,c=async e=>{let{value:l,done:u}=await r.read(),d=l;if(u){if(s!==-1){let t=H(o,s);U(t)>0&&e.enqueue(t)}e.close()}else{let r=W(d,!1);if(s!==r&&(s>=0&&e.enqueue(H(o,s)),s=r),s===-1){e.enqueue(d);return}let l=U(d);a+=l;let u=U(o[s]);if(l>=t&&u===0)e.enqueue(d);else{let r=V(o,s,d);!i&&a>t*2&&(i=!0,n?.warn(`@smithy/util-stream - stream chunk size ${l} is below threshold of ${t}, automatically buffering.`)),r>=t?e.enqueue(H(o,s)):await c(e)}}};return new ReadableStream({pull:c})}var B=z;function V(e,t,n){switch(t){case 0:return e[0]+=n,U(e[0]);case 1:case 2:return e[t].push(n),U(e[t])}}function H(e,t){switch(t){case 0:let n=e[0];return e[0]=``,n;case 1:case 2:return e[t].flush()}throw Error(`@smithy/util-stream - invalid index ${t} given to flush()`)}function U(e){return e?.byteLength??e?.length??0}function W(e,t=!0){return t&&typeof Buffer<`u`&&e instanceof Buffer?2:e instanceof Uint8Array?1:typeof e==`string`?0:-1}var G=(e,{requestChecksumRequired:t,requestAlgorithmMember:n,requestChecksumCalculation:r})=>{if(!n)return r===a.WHEN_SUPPORTED||t?D:void 0;if(e[n])return e[n]},K=e=>e===l.MD5?`content-md5`:`x-amz-checksum-${e.toLowerCase()}`,ie=(e,t)=>{let n=e.toLowerCase();for(let e of Object.keys(t))if(n===e.toLowerCase())return!0;return!1},ae=(e,t)=>{let n=e.toLowerCase();for(let e of Object.keys(t))if(e.toLowerCase().startsWith(n))return!0;return!1},oe=e=>e!==void 0&&typeof e!=`string`&&!ArrayBuffer.isView(e)&&!P(e),se=function(){function e(){this.crc32c=new ce}return e.prototype.update=function(e){ee(e)||this.crc32c.update(I(e))},e.prototype.digest=function(){return j(this,void 0,void 0,function(){return te(this,function(e){return[2,M(this.crc32c.digest())]})})},e.prototype.reset=function(){this.crc32c=new ce},e}(),ce=function(){function e(){this.checksum=4294967295}return e.prototype.update=function(e){var t,n;try{for(var r=F(e),i=r.next();!i.done;i=r.next()){var a=i.value;this.checksum=this.checksum>>>8^le[(this.checksum^a)&255]}}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}return this},e.prototype.digest=function(){return(this.checksum^4294967295)>>>0},e}(),le=N([0,4067132163,3778769143,324072436,3348797215,904991772,648144872,3570033899,2329499855,2024987596,1809983544,2575936315,1296289744,3207089363,2893594407,1578318884,274646895,3795141740,4049975192,51262619,3619967088,632279923,922689671,3298075524,2592579488,1760304291,2075979607,2312596564,1562183871,2943781820,3156637768,1313733451,549293790,3537243613,3246849577,871202090,3878099393,357341890,102525238,4101499445,2858735121,1477399826,1264559846,3107202533,1845379342,2677391885,2361733625,2125378298,820201905,3263744690,3520608582,598981189,4151959214,85089709,373468761,3827903834,3124367742,1213305469,1526817161,2842354314,2107672161,2412447074,2627466902,1861252501,1098587580,3004210879,2688576843,1378610760,2262928035,1955203488,1742404180,2511436119,3416409459,969524848,714683780,3639785095,205050476,4266873199,3976438427,526918040,1361435347,2739821008,2954799652,1114974503,2529119692,1691668175,2005155131,2247081528,3690758684,697762079,986182379,3366744552,476452099,3993867776,4250756596,255256311,1640403810,2477592673,2164122517,1922457750,2791048317,1412925310,1197962378,3037525897,3944729517,427051182,170179418,4165941337,746937522,3740196785,3451792453,1070968646,1905808397,2213795598,2426610938,1657317369,3053634322,1147748369,1463399397,2773627110,4215344322,153784257,444234805,3893493558,1021025245,3467647198,3722505002,797665321,2197175160,1889384571,1674398607,2443626636,1164749927,3070701412,2757221520,1446797203,137323447,4198817972,3910406976,461344835,3484808360,1037989803,781091935,3705997148,2460548119,1623424788,1939049696,2180517859,1429367560,2807687179,3020495871,1180866812,410100952,3927582683,4182430767,186734380,3756733383,763408580,1053836080,3434856499,2722870694,1344288421,1131464017,2971354706,1708204729,2545590714,2229949006,1988219213,680717673,3673779818,3383336350,1002577565,4010310262,493091189,238226049,4233660802,2987750089,1082061258,1395524158,2705686845,1972364758,2279892693,2494862625,1725896226,952904198,3399985413,3656866545,731699698,4283874585,222117402,510512622,3959836397,3280807620,837199303,582374963,3504198960,68661723,4135334616,3844915500,390545967,1230274059,3141532936,2825850620,1510247935,2395924756,2091215383,1878366691,2644384480,3553878443,565732008,854102364,3229815391,340358836,3861050807,4117890627,119113024,1493875044,2875275879,3090270611,1247431312,2660249211,1828433272,2141937292,2378227087,3811616794,291187481,34330861,4032846830,615137029,3603020806,3314634738,939183345,1776939221,2609017814,2295496738,2058945313,2926798794,1545135305,1330124605,3173225534,4084100981,17165430,307568514,3762199681,888469610,3332340585,3587147933,665062302,2042050490,2346497209,2559330125,1793573966,3190661285,1279665062,1595330642,2910671697]),ue=()=>{let e=Array(8);for(let t=0;t<8;t++){let n=Array(512);for(let e=0;e<256;e++){let r=BigInt(e);for(let e=0;e<8*(t+1);e++)r&1n?r=r>>1n^11127430586519243189n:r>>=1n;n[e*2]=Number(r>>32n&4294967295n),n[e*2+1]=Number(r&4294967295n)}e[t]=new Uint32Array(n)}return e},de,q,fe,pe,me,he,ge,_e,ve,ye=()=>{de||(de=ue(),[q,fe,pe,me,he,ge,_e,ve]=de)},be=class{c1=0;c2=0;constructor(){ye(),this.reset()}update(e){let t=e.length,n=0,r=this.c1,i=this.c2;for(;n+8<=t;){let t=((i^e[n++])&255)<<1,a=((i>>>8^e[n++])&255)<<1,o=((i>>>16^e[n++])&255)<<1,s=((i>>>24^e[n++])&255)<<1,c=((r^e[n++])&255)<<1,l=((r>>>8^e[n++])&255)<<1,u=((r>>>16^e[n++])&255)<<1,d=((r>>>24^e[n++])&255)<<1;r=ve[t]^_e[a]^ge[o]^he[s]^me[c]^pe[l]^fe[u]^q[d],i=ve[t+1]^_e[a+1]^ge[o+1]^he[s+1]^me[c+1]^pe[l+1]^fe[u+1]^q[d+1]}for(;n>>8|(r&255)<<24)>>>0,r=r>>>8^q[t],i^=q[t+1],n++}this.c1=r,this.c2=i}async digest(){let e=this.c1^4294967295,t=this.c2^4294967295;return new Uint8Array([e>>>24,e>>>16&255,e>>>8&255,e&255,t>>>24,t>>>16&255,t>>>8&255,t&255])}reset(){this.c1=4294967295,this.c2=4294967295}},xe={CrtCrc64Nvme:null},Se=()=>O,Ce=[l.CRC32,l.CRC32C,l.CRC64NVME,l.SHA1,l.SHA256],we=[l.SHA256,l.SHA1,l.CRC32,l.CRC32C,l.CRC64NVME],Te=(e,t)=>{let{checksumAlgorithms:n={}}=t;switch(e){case l.MD5:return n?.MD5??t.md5;case l.CRC32:return n?.CRC32??Se();case l.CRC32C:return n?.CRC32C??se;case l.CRC64NVME:return typeof xe.CrtCrc64Nvme==`function`?n?.CRC64NVME??xe.CrtCrc64Nvme:n?.CRC64NVME??be;case l.SHA1:return n?.SHA1??t.sha1;case l.SHA256:return n?.SHA256??t.sha256;default:if(n?.[e])return n[e];throw Error(`The checksum algorithm "${e}" is not supported by the client. Select one of ${Ce}, or provide an implementation to the client constructor checksums field.`)}},Ee=(e,t)=>{let n=new e;return n.update(k(t||``)),n.digest()},De={name:`flexibleChecksumsMiddleware`,step:`build`,tags:[`BODY_CHECKSUM`],override:!0},Oe=(e,t)=>(n,r)=>async i=>{if(!A.isInstance(i.request)||ae(`x-amz-checksum-`,i.request.headers))return n(i);let{request:o,input:s}=i,{body:c,headers:u}=o,{base64Encoder:d,streamHasher:f}=e,{requestChecksumRequired:p,requestAlgorithmMember:m}=t,h=await e.requestChecksumCalculation(),g=m?.name,_=m?.httpHeader;g&&!s[g]&&(h===a.WHEN_SUPPORTED||p)&&(s[g]=D,_&&(u[_]=D));let v=G(s,{requestChecksumRequired:p,requestAlgorithmMember:m?.name,requestChecksumCalculation:h}),y=c,b=u;if(v){switch(v){case l.CRC32:C(r,`FLEXIBLE_CHECKSUMS_REQ_CRC32`,`U`);break;case l.CRC32C:C(r,`FLEXIBLE_CHECKSUMS_REQ_CRC32C`,`V`);break;case l.CRC64NVME:C(r,`FLEXIBLE_CHECKSUMS_REQ_CRC64`,`W`);break;case l.SHA1:C(r,`FLEXIBLE_CHECKSUMS_REQ_SHA1`,`X`);break;case l.SHA256:C(r,`FLEXIBLE_CHECKSUMS_REQ_SHA256`,`Y`);break}let t=K(v),n=Te(v,e);if(oe(c)){let{getAwsChunkedEncodingStream:i,bodyLengthChecker:a}=e;y=i(typeof e.requestStreamBufferSize==`number`&&e.requestStreamBufferSize>=8*1024?B(c,e.requestStreamBufferSize,r.logger):c,{base64Encoder:d,bodyLengthChecker:a,checksumLocationName:t,checksumAlgorithmFn:n,streamHasher:f}),b={...u,"content-encoding":u[`content-encoding`]?`${u[`content-encoding`]},aws-chunked`:`aws-chunked`,"transfer-encoding":`chunked`,"x-amz-decoded-content-length":u[`content-length`],"x-amz-content-sha256":`STREAMING-UNSIGNED-PAYLOAD-TRAILER`,"x-amz-trailer":t},delete b[`content-length`]}else if(!ie(t,u)){let e=await Ee(n,c);b={...u,[t]:d(e)}}}try{return await n({...i,request:{...o,headers:b,body:y}})}catch(e){if(e instanceof Error&&e.name===`InvalidChunkSizeError`)try{e.message.endsWith(`.`)||(e.message+=`.`),e.message+=` Set [requestStreamBufferSize=number e.g. 65_536] in client constructor to instruct AWS SDK to buffer your input stream.`}catch{}throw e}},ke={name:`flexibleChecksumsInputMiddleware`,toMiddleware:`serializerMiddleware`,relation:`before`,tags:[`BODY_CHECKSUM`],override:!0},Ae=(e,t)=>(n,r)=>async o=>{let s=o.input,{requestValidationModeMember:c}=t,l=await e.requestChecksumCalculation(),u=await e.responseChecksumValidation();switch(l){case a.WHEN_REQUIRED:C(r,`FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED`,`a`);break;case a.WHEN_SUPPORTED:C(r,`FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED`,`Z`);break}switch(u){case i.WHEN_REQUIRED:C(r,`FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED`,`c`);break;case i.WHEN_SUPPORTED:C(r,`FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED`,`b`);break}return c&&!s[c]&&u===i.WHEN_SUPPORTED&&(s[c]=`ENABLED`),n(o)},je=(e=[])=>{let t=[],n=we.length;for(let r of e){let e=we.indexOf(r);e===-1?t[n++]=r:t[e]=r}return t.filter(Boolean)},Me=e=>{let t=e.lastIndexOf(`-`);if(t!==-1){let n=e.slice(t+1);if(!n.startsWith(`0`)){let e=parseInt(n,10);if(!isNaN(e)&&e>=1&&e<=1e4)return!0}}return!1},Ne=async(e,{checksumAlgorithmFn:t,base64Encoder:n})=>n(await Ee(t,e)),Pe=async(e,{config:t,responseAlgorithms:n,logger:r})=>{let i=je(n),{body:a,headers:o}=e;for(let n of i){let i=K(n),s=o[i];if(s){let o;try{o=Te(n,t)}catch(e){if(n===l.CRC64NVME){r?.warn(`Skipping ${l.CRC64NVME} checksum validation: ${e.message}`);continue}throw e}let{base64Encoder:c}=t;if(oe(a)){e.body=ne({expectedChecksum:s,checksumSourceLocation:i,checksum:new o,source:a,base64Encoder:c});return}let u=await Ne(a,{checksumAlgorithmFn:o,base64Encoder:c});if(u===s)break;throw Error(`Checksum mismatch: expected "${u}" but received "${s}" in response header "${i}".`)}}},Fe={name:`flexibleChecksumsResponseMiddleware`,toMiddleware:`deserializerMiddleware`,relation:`after`,tags:[`BODY_CHECKSUM`],override:!0},Ie=(e,t)=>(n,r)=>async i=>{if(!A.isInstance(i.request))return n(i);let a=i.input,o=await n(i),s=o.response,{requestValidationModeMember:c,responseAlgorithms:l}=t;if(c&&a[c]===`ENABLED`){let{clientName:t,commandName:n}=r,i=Object.keys(e.checksumAlgorithms??{}).filter(e=>{let t=K(e);return s.headers[t]!==void 0}),a=je([...l??[],...i]);if(t===`S3Client`&&n===`GetObjectCommand`&&a.every(e=>{let t=K(e),n=s.headers[t];return!n||Me(n)}))return o;await Pe(s,{config:e,responseAlgorithms:a,logger:r.logger})}return o},Le=(e,t)=>({applyToStack:n=>{n.add(Oe(e,t),De),n.addRelativeTo(Ae(e,t),ke),n.addRelativeTo(Ie(e,t),Fe)}}),Re=`content-length`,ze=`x-amz-decoded-content-length`;function Be(){return(e,t)=>async n=>{let{request:r}=n;if(A.isInstance(r)&&!(Re in r.headers)&&!(ze in r.headers)){let e=`Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.`;typeof t?.logger?.warn==`function`&&!(t.logger instanceof _)?t.logger.warn(e):console.warn(e)}return e({...n})}}var Ve={step:`finalizeRequest`,tags:[`CHECK_CONTENT_LENGTH_HEADER`],name:`getCheckContentLengthHeaderPlugin`,override:!0},He=e=>({applyToStack:e=>{e.add(Be(),Ve)}}),Ue=class extends x.classBuilder().ep({...o,Bucket:{type:`contextParams`,name:`Bucket`},Key:{type:`contextParams`,name:`Key`}}).m(function(e,t,n,r){return[m(n,e.getEndpointParameterInstructions()),E(n)]}).s(`AmazonS3`,`AbortMultipartUpload`,{}).n(`S3Client`,`AbortMultipartUploadCommand`).sc(v).build(){};function We(e){return t=>async n=>{let r={...n.input};for(let t of[{target:`SSECustomerKey`,hash:`SSECustomerKeyMD5`},{target:`CopySourceSSECustomerKey`,hash:`CopySourceSSECustomerKeyMD5`}]){let n=r[t.target];if(n){let i;typeof n==`string`?Ke(n,e)?i=e.base64Decoder(n):(i=e.utf8Decoder(n),r[t.target]=e.base64Encoder(i)):(i=ArrayBuffer.isView(n)?new Uint8Array(n.buffer,n.byteOffset,n.byteLength):new Uint8Array(n),r[t.target]=e.base64Encoder(i));let a=new e.md5;a.update(i),r[t.hash]=e.base64Encoder(await a.digest())}}return t({...n,input:r})}}var Ge={name:`ssecMiddleware`,step:`initialize`,tags:[`SSE`],override:!0},J=e=>({applyToStack:t=>{t.add(We(e),Ge)}});function Ke(e,t){if(!/^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e))return!1;try{return t.base64Decoder(e).length===32}catch{return!1}}var qe=class extends x.classBuilder().ep({...o,Bucket:{type:`contextParams`,name:`Bucket`},Key:{type:`contextParams`,name:`Key`}}).m(function(e,t,n,r){return[m(n,e.getEndpointParameterInstructions()),E(n),J(n)]}).s(`AmazonS3`,`CompleteMultipartUpload`,{}).n(`S3Client`,`CompleteMultipartUploadCommand`).sc(S).build(){};function Je(e){return t=>async n=>{let{CreateBucketConfiguration:r}=n.input,i=await e.region();return!r?.LocationConstraint&&!r?.Location&&i!==`us-east-1`&&(n.input.CreateBucketConfiguration=n.input.CreateBucketConfiguration??{},n.input.CreateBucketConfiguration.LocationConstraint=i),t(n)}}var Ye={step:`initialize`,tags:[`LOCATION_CONSTRAINT`,`CREATE_BUCKET_CONFIGURATION`],name:`locationConstraintMiddleware`,override:!0},Xe=e=>({applyToStack:t=>{t.add(Je(e),Ye)}}),Ze=class extends x.classBuilder().ep({...o,UseS3ExpressControlEndpoint:{type:`staticContextParams`,value:!0},DisableAccessPoints:{type:`staticContextParams`,value:!0},Bucket:{type:`contextParams`,name:`Bucket`}}).m(function(e,t,n,r){return[m(n,e.getEndpointParameterInstructions()),E(n),Xe(n)]}).s(`AmazonS3`,`CreateBucket`,{}).n(`S3Client`,`CreateBucketCommand`).sc(u).build(){},Qe=class extends x.classBuilder().ep({...o,Bucket:{type:`contextParams`,name:`Bucket`},Key:{type:`contextParams`,name:`Key`}}).m(function(e,t,n,r){return[m(n,e.getEndpointParameterInstructions()),E(n),J(n)]}).s(`AmazonS3`,`CreateMultipartUpload`,{}).n(`S3Client`,`CreateMultipartUploadCommand`).sc(h).build(){},$e=class extends x.classBuilder().ep({...o,Bucket:{type:`contextParams`,name:`Bucket`},Key:{type:`contextParams`,name:`Key`}}).m(function(e,t,n,r){return[m(n,e.getEndpointParameterInstructions()),E(n)]}).s(`AmazonS3`,`DeleteObject`,{}).n(`S3Client`,`DeleteObjectCommand`).sc(w).build(){},et=class extends x.classBuilder().ep({...o,Bucket:{type:`contextParams`,name:`Bucket`},Key:{type:`contextParams`,name:`Key`}}).m(function(e,t,n,r){return[m(n,e.getEndpointParameterInstructions()),Le(n,{requestAlgorithmMember:{httpHeader:`x-amz-sdk-checksum-algorithm`,name:`ChecksumAlgorithm`},requestChecksumRequired:!1}),He(n),E(n),J(n)]}).s(`AmazonS3`,`PutObject`,{}).n(`S3Client`,`PutObjectCommand`).sc(g).build(){},tt=class extends x.classBuilder().ep({...o,Bucket:{type:`contextParams`,name:`Bucket`}}).m(function(e,t,n,r){return[m(n,e.getEndpointParameterInstructions()),Le(n,{requestAlgorithmMember:{httpHeader:`x-amz-sdk-checksum-algorithm`,name:`ChecksumAlgorithm`},requestChecksumRequired:!0}),E(n)]}).s(`AmazonS3`,`PutObjectTagging`,{}).n(`S3Client`,`PutObjectTaggingCommand`).sc(p).build(){},nt=class extends x.classBuilder().ep({...o,Bucket:{type:`contextParams`,name:`Bucket`},Key:{type:`contextParams`,name:`Key`}}).m(function(e,t,n,r){return[m(n,e.getEndpointParameterInstructions()),Le(n,{requestAlgorithmMember:{httpHeader:`x-amz-sdk-checksum-algorithm`,name:`ChecksumAlgorithm`},requestChecksumRequired:!1}),E(n),J(n)]}).s(`AmazonS3`,`UploadPart`,{}).n(`S3Client`,`UploadPartCommand`).sc(f).build(){},rt={CRC32:`CRC32`,CRC32C:`CRC32C`,CRC64NVME:`CRC64NVME`,SHA1:`SHA1`,SHA256:`SHA256`},it=e(((e,t)=>{var n=typeof Reflect==`object`?Reflect:null,r=n&&typeof n.apply==`function`?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)},i=n&&typeof n.ownKeys==`function`?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};function a(e){console&&console.warn&&console.warn(e)}var o=Number.isNaN||function(e){return e!==e};function s(){s.init.call(this)}t.exports=s,t.exports.once=y,s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var c=10;function l(e){if(typeof e!=`function`)throw TypeError(`The "listener" argument must be of type Function. Received type `+typeof e)}Object.defineProperty(s,`defaultMaxListeners`,{enumerable:!0,get:function(){return c},set:function(e){if(typeof e!=`number`||e<0||o(e))throw RangeError(`The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received `+e+`.`);c=e}}),s.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(e){if(typeof e!=`number`||e<0||o(e))throw RangeError(`The value of "n" is out of range. It must be a non-negative number. Received `+e+`.`);return this._maxListeners=e,this};function u(e){return e._maxListeners===void 0?s.defaultMaxListeners:e._maxListeners}s.prototype.getMaxListeners=function(){return u(this)},s.prototype.emit=function(e){for(var t=[],n=1;n0&&(o=t[0]),o instanceof Error)throw o;var s=Error(`Unhandled error.`+(o?` (`+o.message+`)`:``));throw s.context=o,s}var c=a[e];if(c===void 0)return!1;if(typeof c==`function`)r(c,this,t);else for(var l=c.length,u=g(c,l),n=0;n0&&s.length>i&&!s.warned){s.warned=!0;var c=Error(`Possible EventEmitter memory leak detected. `+s.length+` `+String(t)+` listeners added. Use emitter.setMaxListeners() to increase limit`);c.name=`MaxListenersExceededWarning`,c.emitter=e,c.type=t,c.count=s.length,a(c)}return e}s.prototype.addListener=function(e,t){return d(this,e,t,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(e,t){return d(this,e,t,!0)};function f(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=f.bind(r);return i.listener=n,r.wrapFn=i,i}s.prototype.once=function(e,t){return l(t),this.on(e,p(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){return l(t),this.prependListener(e,p(this,e,t)),this},s.prototype.removeListener=function(e,t){var n,r,i,a,o;if(l(t),r=this._events,r===void 0||(n=r[e],n===void 0))return this;if(n===t||n.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit(`removeListener`,e,n.listener||t));else if(typeof n!=`function`){for(i=-1,a=n.length-1;a>=0;a--)if(n[a]===t||n[a].listener===t){o=n[a].listener,i=a;break}if(i<0)return this;i===0?n.shift():_(n,i),n.length===1&&(r[e]=n[0]),r.removeListener!==void 0&&this.emit(`removeListener`,e,o||t)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(e){var t,n=this._events,r;if(n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var i=Object.keys(n),a;for(r=0;r=0;r--)this.removeListener(e,t[r]);return this};function m(e,t,n){var r=e._events;if(r===void 0)return[];var i=r[t];return i===void 0?[]:typeof i==`function`?n?[i.listener||i]:[i]:n?v(i):g(i,i.length)}s.prototype.listeners=function(e){return m(this,e,!0)},s.prototype.rawListeners=function(e){return m(this,e,!1)},s.listenerCount=function(e,t){return typeof e.listenerCount==`function`?e.listenerCount(t):h.call(e,t)},s.prototype.listenerCount=h;function h(e){var t=this._events;if(t!==void 0){var n=t[e];if(typeof n==`function`)return 1;if(n!==void 0)return n.length}return 0}s.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]};function g(e,t){for(var n=Array(t),r=0;r{e.byteLength=c,e.toByteArray=u,e.fromByteArray=p;for(var t=[],n=[],r=typeof Uint8Array<`u`?Uint8Array:Array,i=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,a=0,o=i.length;a0)throw Error(`Invalid string. Length must be a multiple of 4`);var n=e.indexOf(`=`);n===-1&&(n=t);var r=n===t?0:4-n%4;return[n,r]}function c(e){var t=s(e),n=t[0],r=t[1];return(n+r)*3/4-r}function l(e,t,n){return(t+n)*3/4-n}function u(e){var t,i=s(e),a=i[0],o=i[1],c=new r(l(e,a,o)),u=0,d=o>0?a-4:a,f;for(f=0;f>16&255,c[u++]=t>>8&255,c[u++]=t&255;return o===2&&(t=n[e.charCodeAt(f)]<<2|n[e.charCodeAt(f+1)]>>4,c[u++]=t&255),o===1&&(t=n[e.charCodeAt(f)]<<10|n[e.charCodeAt(f+1)]<<4|n[e.charCodeAt(f+2)]>>2,c[u++]=t>>8&255,c[u++]=t&255),c}function d(e){return t[e>>18&63]+t[e>>12&63]+t[e>>6&63]+t[e&63]}function f(e,t,n){for(var r,i=[],a=t;ac?c:s+o));return i===1?(n=e[r-1],a.push(t[n>>2]+t[n<<4&63]+`==`)):i===2&&(n=(e[r-2]<<8)+e[r-1],a.push(t[n>>10]+t[n>>4&63]+t[n<<2&63]+`=`)),a.join(``)}})),ot=e((e=>{e.read=function(e,t,n,r,i){var a,o,s=i*8-r-1,c=(1<>1,u=-7,d=n?i-1:0,f=n?-1:1,p=e[t+d];for(d+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=a*256+e[t+d],d+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=r;u>0;o=o*256+e[t+d],d+=f,u-=8);if(a===0)a=1-l;else if(a===c)return o?NaN:(p?-1:1)*(1/0);else o+=2**r,a-=l;return(p?-1:1)*o*2**(a-r)},e.write=function(e,t,n,r,i,a){var o,s,c,l=a*8-i-1,u=(1<>1,f=i===23?2**-24-2**-77:0,p=r?0:a-1,m=r?1:-1,h=+(t<0||t===0&&1/t<0);for(t=Math.abs(t),isNaN(t)||t===1/0?(s=+!!isNaN(t),o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=2**-o)<1&&(o--,c*=2),o+d>=1?t+=f/c:t+=f*2**(1-d),t*c>=2&&(o++,c/=2),o+d>=u?(s=0,o=u):o+d>=1?(s=(t*c-1)*2**i,o+=d):(s=t*2**(d-1)*2**i,o=0));i>=8;e[n+p]=s&255,p+=m,s/=256,i-=8);for(o=o<0;e[n+p]=o&255,p+=m,o/=256,l-=8);e[n+p-m]|=h*128}})),st=e((e=>{var t=at(),n=ot(),r=typeof Symbol==`function`&&typeof Symbol.for==`function`?Symbol.for(`nodejs.util.inspect.custom`):null;e.Buffer=s,e.SlowBuffer=_,e.INSPECT_MAX_BYTES=50;var i=2147483647;e.kMaxLength=i,s.TYPED_ARRAY_SUPPORT=a(),!s.TYPED_ARRAY_SUPPORT&&typeof console<`u`&&typeof console.error==`function`&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function a(){try{var e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(s.prototype,`parent`,{enumerable:!0,get:function(){if(s.isBuffer(this))return this.buffer}}),Object.defineProperty(s.prototype,`offset`,{enumerable:!0,get:function(){if(s.isBuffer(this))return this.byteOffset}});function o(e){if(e>i)throw RangeError(`The value "`+e+`" is invalid for option "size"`);var t=new Uint8Array(e);return Object.setPrototypeOf(t,s.prototype),t}function s(e,t,n){if(typeof e==`number`){if(typeof t==`string`)throw TypeError(`The "string" argument must be of type string. Received type number`);return d(e)}return c(e,t,n)}s.poolSize=8192;function c(e,t,n){if(typeof e==`string`)return f(e,t);if(ArrayBuffer.isView(e))return p(e);if(e==null)throw TypeError(`The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type `+typeof e);if(G(e,ArrayBuffer)||e&&G(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<`u`&&(G(e,SharedArrayBuffer)||e&&G(e.buffer,SharedArrayBuffer)))return m(e,t,n);if(typeof e==`number`)throw TypeError(`The "value" argument must not be of type number. Received type number`);var r=e.valueOf&&e.valueOf();if(r!=null&&r!==e)return s.from(r,t,n);var i=h(e);if(i)return i;if(typeof Symbol<`u`&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]==`function`)return s.from(e[Symbol.toPrimitive](`string`),t,n);throw TypeError(`The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type `+typeof e)}s.from=function(e,t,n){return c(e,t,n)},Object.setPrototypeOf(s.prototype,Uint8Array.prototype),Object.setPrototypeOf(s,Uint8Array);function l(e){if(typeof e!=`number`)throw TypeError(`"size" argument must be of type number`);if(e<0)throw RangeError(`The value "`+e+`" is invalid for option "size"`)}function u(e,t,n){return l(e),e<=0||t===void 0?o(e):typeof n==`string`?o(e).fill(t,n):o(e).fill(t)}s.alloc=function(e,t,n){return u(e,t,n)};function d(e){return l(e),o(e<0?0:g(e)|0)}s.allocUnsafe=function(e){return d(e)},s.allocUnsafeSlow=function(e){return d(e)};function f(e,t){if((typeof t!=`string`||t===``)&&(t=`utf8`),!s.isEncoding(t))throw TypeError(`Unknown encoding: `+t);var n=v(e,t)|0,r=o(n),i=r.write(e,t);return i!==n&&(r=r.slice(0,i)),r}function p(e){for(var t=e.length<0?0:g(e.length)|0,n=o(t),r=0;r=i)throw RangeError(`Attempt to allocate Buffer larger than maximum size: 0x`+i.toString(16)+` bytes`);return e|0}function _(e){return+e!=e&&(e=0),s.alloc(+e)}s.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==s.prototype},s.compare=function(e,t){if(G(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),G(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),!s.isBuffer(e)||!s.isBuffer(t))throw TypeError(`The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array`);if(e===t)return 0;for(var n=e.length,r=t.length,i=0,a=Math.min(n,r);i2&&arguments[2]===!0;if(!r&&n===0)return 0;for(var i=!1;;)switch(t){case`ascii`:case`latin1`:case`binary`:return n;case`utf8`:case`utf-8`:return B(e).length;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return n*2;case`hex`:return n>>>1;case`base64`:return U(e).length;default:if(i)return r?-1:B(e).length;t=(``+t).toLowerCase(),i=!0}}s.byteLength=v;function y(e,t,n){var r=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((n===void 0||n>this.length)&&(n=this.length),n<=0)||(n>>>=0,t>>>=0,n<=t))return``;for(e||=`utf8`;;)switch(e){case`hex`:return N(this,t,n);case`utf8`:case`utf-8`:return k(this,t,n);case`ascii`:return te(this,t,n);case`latin1`:case`binary`:return M(this,t,n);case`base64`:return ee(this,t,n);case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return P(this,t,n);default:if(r)throw TypeError(`Unknown encoding: `+e);e=(e+``).toLowerCase(),r=!0}}s.prototype._isBuffer=!0;function b(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}s.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw RangeError(`Buffer size must be a multiple of 16-bits`);for(var t=0;tn&&(t+=` ... `),``},r&&(s.prototype[r]=s.prototype.inspect),s.prototype.compare=function(e,t,n,r,i){if(G(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),!s.isBuffer(e))throw TypeError(`The "target" argument must be one of type Buffer or Uint8Array. Received type `+typeof e);if(t===void 0&&(t=0),n===void 0&&(n=e?e.length:0),r===void 0&&(r=0),i===void 0&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw RangeError(`out of range index`);if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;for(var a=i-r,o=n-t,c=Math.min(a,o),l=this.slice(r,i),u=e.slice(t,n),d=0;d2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,K(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0)if(i)n=0;else return-1;if(typeof t==`string`&&(t=s.from(t,r)),s.isBuffer(t))return t.length===0?-1:S(e,t,n,r,i);if(typeof t==`number`)return t&=255,typeof Uint8Array.prototype.indexOf==`function`?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):S(e,[t],n,r,i);throw TypeError(`val must be string, number or Buffer`)}function S(e,t,n,r,i){var a=1,o=e.length,s=t.length;if(r!==void 0&&(r=String(r).toLowerCase(),r===`ucs2`||r===`ucs-2`||r===`utf16le`||r===`utf-16le`)){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,n/=2}function c(e,t){return a===1?e[t]:e.readUInt16BE(t*a)}var l;if(i){var u=-1;for(l=n;lo&&(n=o-s),l=n;l>=0;l--){for(var d=!0,f=0;fi&&(r=i)):r=i;var a=t.length;r>a/2&&(r=a/2);for(var o=0;o>>=0,isFinite(n)?(n>>>=0,r===void 0&&(r=`utf8`)):(r=n,n=void 0);else throw Error(`Buffer.write(string, encoding, offset[, length]) is no longer supported`);var i=this.length-t;if((n===void 0||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw RangeError(`Attempt to write outside buffer bounds`);r||=`utf8`;for(var a=!1;;)switch(r){case`hex`:return C(this,e,t,n);case`utf8`:case`utf-8`:return w(this,e,t,n);case`ascii`:return T(this,e,t,n);case`latin1`:case`binary`:return E(this,e,t,n);case`base64`:return D(this,e,t,n);case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return O(this,e,t,n);default:if(a)throw TypeError(`Unknown encoding: `+r);r=(``+r).toLowerCase(),a=!0}},s.prototype.toJSON=function(){return{type:`Buffer`,data:Array.prototype.slice.call(this._arr||this,0)}};function ee(e,n,r){return n===0&&r===e.length?t.fromByteArray(e):t.fromByteArray(e.slice(n,r))}function k(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i239?4:a>223?3:a>191?2:1;if(i+s<=n){var c,l,u,d;switch(s){case 1:a<128&&(o=a);break;case 2:c=e[i+1],(c&192)==128&&(d=(a&31)<<6|c&63,d>127&&(o=d));break;case 3:c=e[i+1],l=e[i+2],(c&192)==128&&(l&192)==128&&(d=(a&15)<<12|(c&63)<<6|l&63,d>2047&&(d<55296||d>57343)&&(o=d));break;case 4:c=e[i+1],l=e[i+2],u=e[i+3],(c&192)==128&&(l&192)==128&&(u&192)==128&&(d=(a&15)<<18|(c&63)<<12|(l&63)<<6|u&63,d>65535&&d<1114112&&(o=d))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,r.push(o>>>10&1023|55296),o=56320|o&1023),r.push(o),i+=s}return j(r)}var A=4096;function j(e){var t=e.length;if(t<=A)return String.fromCharCode.apply(String,e);for(var n=``,r=0;rr)&&(n=r);for(var i=``,a=t;an&&(e=n),t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),tn)throw RangeError(`Trying to access beyond buffer length`)}s.prototype.readUIntLE=function(e,t,n){e>>>=0,t>>>=0,n||F(e,t,this.length);for(var r=this[e],i=1,a=0;++a>>=0,t>>>=0,n||F(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},s.prototype.readUInt8=function(e,t){return e>>>=0,t||F(e,1,this.length),this[e]},s.prototype.readUInt16LE=function(e,t){return e>>>=0,t||F(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUInt16BE=function(e,t){return e>>>=0,t||F(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUInt32LE=function(e,t){return e>>>=0,t||F(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216},s.prototype.readUInt32BE=function(e,t){return e>>>=0,t||F(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])},s.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||F(e,t,this.length);for(var r=this[e],i=1,a=0;++a=i&&(r-=2**(8*t)),r},s.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||F(e,t,this.length);for(var r=t,i=1,a=this[e+--r];r>0&&(i*=256);)a+=this[e+--r]*i;return i*=128,a>=i&&(a-=2**(8*t)),a},s.prototype.readInt8=function(e,t){return e>>>=0,t||F(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]},s.prototype.readInt16LE=function(e,t){e>>>=0,t||F(e,2,this.length);var n=this[e]|this[e+1]<<8;return n&32768?n|4294901760:n},s.prototype.readInt16BE=function(e,t){e>>>=0,t||F(e,2,this.length);var n=this[e+1]|this[e]<<8;return n&32768?n|4294901760:n},s.prototype.readInt32LE=function(e,t){return e>>>=0,t||F(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},s.prototype.readInt32BE=function(e,t){return e>>>=0,t||F(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},s.prototype.readFloatLE=function(e,t){return e>>>=0,t||F(e,4,this.length),n.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,t){return e>>>=0,t||F(e,4,this.length),n.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,t){return e>>>=0,t||F(e,8,this.length),n.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,t){return e>>>=0,t||F(e,8,this.length),n.read(this,e,!1,52,8)};function I(e,t,n,r,i,a){if(!s.isBuffer(e))throw TypeError(`"buffer" argument must be a Buffer instance`);if(t>i||te.length)throw RangeError(`Index out of range`)}s.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t>>>=0,n>>>=0,!r){var i=2**(8*n)-1;I(this,e,t,n,i,0)}var a=1,o=0;for(this[t]=e&255;++o>>=0,n>>>=0,!r){var i=2**(8*n)-1;I(this,e,t,n,i,0)}var a=n-1,o=1;for(this[t+a]=e&255;--a>=0&&(o*=256);)this[t+a]=e/o&255;return t+n},s.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,1,255,0),this[t]=e&255,t+1},s.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2},s.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2},s.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4},s.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4},s.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t>>>=0,!r){var i=2**(8*n-1);I(this,e,t,n,i-1,-i)}var a=0,o=1,s=0;for(this[t]=e&255;++a>0)-s&255;return t+n},s.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t>>>=0,!r){var i=2**(8*n-1);I(this,e,t,n,i-1,-i)}var a=n-1,o=1,s=0;for(this[t+a]=e&255;--a>=0&&(o*=256);)e<0&&s===0&&this[t+a+1]!==0&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+n},s.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1},s.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2},s.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2},s.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},s.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function L(e,t,n,r,i,a){if(n+r>e.length||n<0)throw RangeError(`Index out of range`)}function R(e,t,r,i,a){return t=+t,r>>>=0,a||L(e,t,r,4,34028234663852886e22,-34028234663852886e22),n.write(e,t,r,i,23,4),r+4}s.prototype.writeFloatLE=function(e,t,n){return R(this,e,t,!0,n)},s.prototype.writeFloatBE=function(e,t,n){return R(this,e,t,!1,n)};function ne(e,t,r,i,a){return t=+t,r>>>=0,a||L(e,t,r,8,17976931348623157e292,-17976931348623157e292),n.write(e,t,r,i,52,8),r+8}s.prototype.writeDoubleLE=function(e,t,n){return ne(this,e,t,!0,n)},s.prototype.writeDoubleBE=function(e,t,n){return ne(this,e,t,!1,n)},s.prototype.copy=function(e,t,n,r){if(!s.isBuffer(e))throw TypeError(`argument should be a Buffer`);if(n||=0,!r&&r!==0&&(r=this.length),t>=e.length&&(t=e.length),t||=0,r>0&&r=this.length)throw RangeError(`Index out of range`);if(r<0)throw RangeError(`sourceEnd out of bounds`);r>this.length&&(r=this.length),e.length-t=0;--a)e[a+t]=this[a+n];else Uint8Array.prototype.set.call(e,this.subarray(n,r),t);return i},s.prototype.fill=function(e,t,n,r){if(typeof e==`string`){if(typeof t==`string`?(r=t,t=0,n=this.length):typeof n==`string`&&(r=n,n=this.length),r!==void 0&&typeof r!=`string`)throw TypeError(`encoding must be a string`);if(typeof r==`string`&&!s.isEncoding(r))throw TypeError(`Unknown encoding: `+r);if(e.length===1){var i=e.charCodeAt(0);(r===`utf8`&&i<128||r===`latin1`)&&(e=i)}}else typeof e==`number`?e&=255:typeof e==`boolean`&&(e=Number(e));if(t<0||this.length>>=0,n=n===void 0?this.length:n>>>0,e||=0;var a;if(typeof e==`number`)for(a=t;a55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+1===r){(t-=3)>-1&&a.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),i=n;continue}n=(i-55296<<10|n-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,n<128){if(--t<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,n&63|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,n&63|128)}else if(n<1114112){if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,n&63|128)}else throw Error(`Invalid code point`)}return a}function V(e){for(var t=[],n=0;n>8,i=n%256,a.push(i),a.push(r);return a}function U(e){return t.toByteArray(z(e))}function W(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function G(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function K(e){return e!==e}var ie=(function(){for(var e=`0123456789abcdef`,t=Array(256),n=0;n<16;++n)for(var r=n*16,i=0;i<16;++i)t[r+i]=e[n]+e[i];return t})()})),ct=t(),lt=it(),Y=st(),ut={lstatSync:()=>{},isFileReadStream(e){return!1},runtime:`browser`},dt=e=>{if(e==null)return 0;if(typeof e==`string`)return Y.Buffer.byteLength(e);if(typeof e.byteLength==`number`)return e.byteLength;if(typeof e.length==`number`)return e.length;if(typeof e.size==`number`)return e.size;if(typeof e.start==`number`&&typeof e.end==`number`)return e.end+1-e.start;if(ut.isFileReadStream(e))try{return ut.lstatSync(e.path).size}catch{return}},X;(function(e){e.EMPTY_INPUT=`a null or undefined Body`,e.CONTENT_LENGTH=`the ContentLength property of the params set by the caller`,e.STRING_LENGTH=`the encoded byte length of the Body string`,e.TYPED_ARRAY=`the byteLength of a typed byte array such as Uint8Array`,e.LENGTH=`the value of Body.length`,e.SIZE=`the value of Body.size`,e.START_END_DIFF=`the numeric difference between Body.start and Body.end`,e.LSTAT=`the size of the file given by Body.path on disk as reported by lstatSync`})(X||={});var ft=(e,t)=>{if(t!=null)return X.CONTENT_LENGTH;if(e==null)return X.EMPTY_INPUT;if(typeof e==`string`)return X.STRING_LENGTH;if(typeof e.byteLength==`number`)return X.TYPED_ARRAY;if(typeof e.length==`number`)return X.LENGTH;if(typeof e.size==`number`)return X.SIZE;if(typeof e.start==`number`&&typeof e.end==`number`)return X.START_END_DIFF;if(ut.isFileReadStream(e))try{return ut.lstatSync(e.path).size,X.LSTAT}catch{return}},Z=e(((e,t)=>{typeof Object.create==`function`?t.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}})),pt=e(((e,t)=>{t.exports=it().EventEmitter})),mt=e(((e,t)=>{t.exports={}})),ht=e(((e,t)=>{function n(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function r(e){for(var t=1;t0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:`unshift`,value:function(e){var t={data:e,next:this.head};this.length===0&&(this.tail=t),this.head=t,++this.length}},{key:`shift`,value:function(){if(this.length!==0){var e=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:`clear`,value:function(){this.head=this.tail=null,this.length=0}},{key:`join`,value:function(e){if(this.length===0)return``;for(var t=this.head,n=``+t.data;t=t.next;)n+=e+t.data;return n}},{key:`concat`,value:function(e){if(this.length===0)return u.alloc(0);for(var t=u.allocUnsafe(e>>>0),n=this.head,r=0;n;)p(n.data,t,r),r+=n.data.length,n=n.next;return t}},{key:`consume`,value:function(e,t){var n;return ei.length?i.length:e;if(a===i.length?r+=i:r+=i.slice(0,e),e-=a,e===0){a===i.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(a));break}++n}return this.length-=n,r}},{key:`_getBuffer`,value:function(e){var t=u.allocUnsafe(e),n=this.head,r=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var i=n.data,a=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,a),e-=a,e===0){a===i.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=i.slice(a));break}++r}return this.length-=r,t}},{key:f,value:function(e,t){return d(this,r(r({},t),{},{depth:0,customInspect:!1}))}}]),e}()})),gt=e(((e,t)=>{function n(e,t){var n=this,a=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return a||s?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(o,this,e)):process.nextTick(o,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!t&&e?n._writableState?n._writableState.errorEmitted?process.nextTick(i,n):(n._writableState.errorEmitted=!0,process.nextTick(r,n,e)):process.nextTick(r,n,e):t?(process.nextTick(i,n),t(e)):process.nextTick(i,n)}),this)}function r(e,t){o(e,t),i(e)}function i(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit(`close`)}function a(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function o(e,t){e.emit(`error`,t)}function s(e,t){var n=e._readableState,r=e._writableState;n&&n.autoDestroy||r&&r.autoDestroy?e.destroy(t):e.emit(`error`,t)}t.exports={destroy:n,undestroy:a,errorOrDestroy:s}})),Q=e(((e,t)=>{function n(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var r={};function i(e,t,i){i||=Error;function a(e,n,r){return typeof t==`string`?t:t(e,n,r)}var o=function(e){n(t,e);function t(t,n,r){return e.call(this,a(t,n,r))||this}return t}(i);o.prototype.name=i.name,o.prototype.code=e,r[e]=o}function a(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map(function(e){return String(e)}),n>2?`one of ${t} ${e.slice(0,n-1).join(`, `)}, or `+e[n-1]:n===2?`one of ${t} ${e[0]} or ${e[1]}`:`of ${t} ${e[0]}`}else return`of ${t} ${String(e)}`}function o(e,t,n){return e.substr(!n||n<0?0:+n,t.length)===t}function s(e,t,n){return(n===void 0||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}function c(e,t,n){return typeof n!=`number`&&(n=0),n+t.length>e.length?!1:e.indexOf(t,n)!==-1}i(`ERR_INVALID_OPT_VALUE`,function(e,t){return`The value "`+t+`" is invalid for option "`+e+`"`},TypeError),i(`ERR_INVALID_ARG_TYPE`,function(e,t,n){var r;typeof t==`string`&&o(t,`not `)?(r=`must not be`,t=t.replace(/^not /,``)):r=`must be`;var i=s(e,` argument`)?`The ${e} ${r} ${a(t,`type`)}`:`The "${e}" ${c(e,`.`)?`property`:`argument`} ${r} ${a(t,`type`)}`;return i+=`. Received type ${typeof n}`,i},TypeError),i(`ERR_STREAM_PUSH_AFTER_EOF`,`stream.push() after EOF`),i(`ERR_METHOD_NOT_IMPLEMENTED`,function(e){return`The `+e+` method is not implemented`}),i(`ERR_STREAM_PREMATURE_CLOSE`,`Premature close`),i(`ERR_STREAM_DESTROYED`,function(e){return`Cannot call `+e+` after a stream was destroyed`}),i(`ERR_MULTIPLE_CALLBACK`,`Callback called multiple times`),i(`ERR_STREAM_CANNOT_PIPE`,`Cannot pipe, not readable`),i(`ERR_STREAM_WRITE_AFTER_END`,`write after end`),i(`ERR_STREAM_NULL_VALUES`,`May not write null values to stream`,TypeError),i(`ERR_UNKNOWN_ENCODING`,function(e){return`Unknown encoding: `+e},TypeError),i(`ERR_STREAM_UNSHIFT_AFTER_END_EVENT`,`stream.unshift() after end event`),t.exports.codes=r})),_t=e(((e,t)=>{var n=Q().codes.ERR_INVALID_OPT_VALUE;function r(e,t,n){return e.highWaterMark==null?t?e[n]:null:e.highWaterMark}function i(e,t,i,a){var o=r(t,a,i);if(o!=null){if(!(isFinite(o)&&Math.floor(o)===o)||o<0)throw new n(a?i:`highWaterMark`,o);return Math.floor(o)}return e.objectMode?16:16*1024}t.exports={getHighWaterMark:i}})),vt=e(((e,t)=>{t.exports=n;function n(e,t){if(r(`noDeprecation`))return e;var n=!1;function i(){if(!n){if(r(`throwDeprecation`))throw Error(t);r(`traceDeprecation`)?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}return i}function r(e){try{if(!global.localStorage)return!1}catch{return!1}var t=global.localStorage[e];return t==null?!1:String(t).toLowerCase()===`true`}})),yt=e(((e,t)=>{t.exports=T;function n(e){var t=this;this.next=null,this.entry=null,this.finish=function(){re(t,e)}}var r;T.WritableState=C;var i={deprecate:vt()},a=pt(),o=st().Buffer,s=(typeof global<`u`?global:typeof window<`u`?window:typeof self<`u`?self:{}).Uint8Array||function(){};function c(e){return o.from(e)}function l(e){return o.isBuffer(e)||e instanceof s}var u=gt(),d=_t().getHighWaterMark,f=Q().codes,p=f.ERR_INVALID_ARG_TYPE,m=f.ERR_METHOD_NOT_IMPLEMENTED,h=f.ERR_MULTIPLE_CALLBACK,g=f.ERR_STREAM_CANNOT_PIPE,_=f.ERR_STREAM_DESTROYED,v=f.ERR_STREAM_NULL_VALUES,y=f.ERR_STREAM_WRITE_AFTER_END,b=f.ERR_UNKNOWN_ENCODING,x=u.errorOrDestroy;Z()(T,a);function S(){}function C(e,t,i){r||=$(),e||={},typeof i!=`boolean`&&(i=t instanceof r),this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=d(this,e,`writableHighWaterMark`,i),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1,this.decodeStrings=e.decodeStrings!==!1,this.defaultEncoding=e.defaultEncoding||`utf8`,this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){te(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new n(this)}C.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},(function(){try{Object.defineProperty(C.prototype,`buffer`,{get:i.deprecate(function(){return this.getBuffer()},`_writableState.buffer is deprecated. Use _writableState.getBuffer instead.`,`DEP0003`)})}catch{}})();var w;typeof Symbol==`function`&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==`function`?(w=Function.prototype[Symbol.hasInstance],Object.defineProperty(T,Symbol.hasInstance,{value:function(e){return w.call(this,e)?!0:this===T?e&&e._writableState instanceof C:!1}})):w=function(e){return e instanceof this};function T(e){r||=$();var t=this instanceof r;if(!t&&!w.call(T,this))return new T(e);this._writableState=new C(e,this,t),this.writable=!0,e&&(typeof e.write==`function`&&(this._write=e.write),typeof e.writev==`function`&&(this._writev=e.writev),typeof e.destroy==`function`&&(this._destroy=e.destroy),typeof e.final==`function`&&(this._final=e.final)),a.call(this)}T.prototype.pipe=function(){x(this,new g)};function E(e,t){var n=new y;x(e,n),process.nextTick(t,n)}function D(e,t,n,r){var i;return n===null?i=new v:typeof n!=`string`&&!t.objectMode&&(i=new p(`chunk`,[`string`,`Buffer`],n)),i?(x(e,i),process.nextTick(r,i),!1):!0}T.prototype.write=function(e,t,n){var r=this._writableState,i=!1,a=!r.objectMode&&l(e);return a&&!o.isBuffer(e)&&(e=c(e)),typeof t==`function`&&(n=t,t=null),a?t=`buffer`:t||=r.defaultEncoding,typeof n!=`function`&&(n=S),r.ending?E(this,n):(a||D(this,r,e,n))&&(r.pendingcb++,i=ee(this,r,a,e,t,n)),i},T.prototype.cork=function(){this._writableState.corked++},T.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest&&P(this,e))},T.prototype.setDefaultEncoding=function(e){if(typeof e==`string`&&(e=e.toLowerCase()),!([`hex`,`utf8`,`utf-8`,`ascii`,`binary`,`base64`,`ucs2`,`ucs-2`,`utf16le`,`utf-16le`,`raw`].indexOf((e+``).toLowerCase())>-1))throw new b(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(T.prototype,`writableBuffer`,{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function O(e,t,n){return!e.objectMode&&e.decodeStrings!==!1&&typeof t==`string`&&(t=o.from(t,n)),t}Object.defineProperty(T.prototype,`writableHighWaterMark`,{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function ee(e,t,n,r,i,a){if(!n){var o=O(t,r,i);r!==o&&(n=!0,i=`buffer`,r=o)}var s=t.objectMode?1:r.length;t.length+=s;var c=t.length{var n=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};t.exports=c;var r=Tt(),i=yt();Z()(c,r);for(var a=n(i.prototype),o=0;o{var n=st(),r=n.Buffer;function i(e,t){for(var n in e)t[n]=e[n]}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?t.exports=n:(i(n,e),e.Buffer=a);function a(e,t,n){return r(e,t,n)}a.prototype=Object.create(r.prototype),i(r,a),a.from=function(e,t,n){if(typeof e==`number`)throw TypeError(`Argument must not be a number`);return r(e,t,n)},a.alloc=function(e,t,n){if(typeof e!=`number`)throw TypeError(`Argument must be a number`);var i=r(e);return t===void 0?i.fill(0):typeof n==`string`?i.fill(t,n):i.fill(t),i},a.allocUnsafe=function(e){if(typeof e!=`number`)throw TypeError(`Argument must be a number`);return r(e)},a.allocUnsafeSlow=function(e){if(typeof e!=`number`)throw TypeError(`Argument must be a number`);return n.SlowBuffer(e)}})),xt=e((e=>{var t=bt().Buffer,n=t.isEncoding||function(e){switch(e=``+e,e&&e.toLowerCase()){case`hex`:case`utf8`:case`utf-8`:case`ascii`:case`binary`:case`base64`:case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:case`raw`:return!0;default:return!1}};function r(e){if(!e)return`utf8`;for(var t;;)switch(e){case`utf8`:case`utf-8`:return`utf8`;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return`utf16le`;case`latin1`:case`binary`:return`latin1`;case`base64`:case`ascii`:case`hex`:return e;default:if(t)return;e=(``+e).toLowerCase(),t=!0}}function i(e){var i=r(e);if(typeof i!=`string`&&(t.isEncoding===n||!n(e)))throw Error(`Unknown encoding: `+e);return i||e}e.StringDecoder=a;function a(e){this.encoding=i(e);var n;switch(this.encoding){case`utf16le`:this.text=f,this.end=p,n=4;break;case`utf8`:this.fillLast=l,n=4;break;case`base64`:this.text=m,this.end=h,n=3;break;default:this.write=g,this.end=_;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=t.allocUnsafe(n)}a.prototype.write=function(e){if(e.length===0)return``;var t,n;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return``;n=this.lastNeed,this.lastNeed=0}else n=0;return n>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e,t,n){var r=t.length-1;if(r=0?(i>0&&(e.lastNeed=i-1),i):--r=0?(i>0&&(e.lastNeed=i-2),i):--r=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function c(e,t,n){if((t[0]&192)!=128)return e.lastNeed=0,`�`;if(e.lastNeed>1&&t.length>1){if((t[1]&192)!=128)return e.lastNeed=1,`�`;if(e.lastNeed>2&&t.length>2&&(t[2]&192)!=128)return e.lastNeed=2,`�`}}function l(e){var t=this.lastTotal-this.lastNeed,n=c(this,e,t);if(n!==void 0)return n;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function u(e,t){var n=s(this,e,t);if(!this.lastNeed)return e.toString(`utf8`,t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString(`utf8`,t,r)}function d(e){var t=e&&e.length?this.write(e):``;return this.lastNeed?t+`�`:t}function f(e,t){if((e.length-t)%2==0){var n=e.toString(`utf16le`,t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString(`utf16le`,t,e.length-1)}function p(e){var t=e&&e.length?this.write(e):``;if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString(`utf16le`,0,n)}return t}function m(e,t){var n=(e.length-t)%3;return n===0?e.toString(`base64`,t):(this.lastNeed=3-n,this.lastTotal=3,n===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString(`base64`,t,e.length-n))}function h(e){var t=e&&e.length?this.write(e):``;return this.lastNeed?t+this.lastChar.toString(`base64`,0,3-this.lastNeed):t}function g(e){return e.toString(this.encoding)}function _(e){return e&&e.length?this.write(e):``}})),St=e(((e,t)=>{var n=Q().codes.ERR_STREAM_PREMATURE_CLOSE;function r(e){var t=!1;return function(){if(!t){t=!0;var n=[...arguments];e.apply(this,n)}}}function i(){}function a(e){return e.setHeader&&typeof e.abort==`function`}function o(e,t,s){if(typeof t==`function`)return o(e,null,t);t||={},s=r(s||i);var c=t.readable||t.readable!==!1&&e.readable,l=t.writable||t.writable!==!1&&e.writable,u=function(){e.writable||f()},d=e._writableState&&e._writableState.finished,f=function(){l=!1,d=!0,c||s.call(e)},p=e._readableState&&e._readableState.endEmitted,m=function(){c=!1,p=!0,l||s.call(e)},h=function(t){s.call(e,t)},g=function(){var t;if(c&&!p)return(!e._readableState||!e._readableState.ended)&&(t=new n),s.call(e,t);if(l&&!d)return(!e._writableState||!e._writableState.ended)&&(t=new n),s.call(e,t)},_=function(){e.req.on(`finish`,f)};return a(e)?(e.on(`complete`,f),e.on(`abort`,g),e.req?_():e.on(`request`,_)):l&&!e._writableState&&(e.on(`end`,u),e.on(`close`,u)),e.on(`end`,m),e.on(`finish`,f),t.error!==!1&&e.on(`error`,h),e.on(`close`,g),function(){e.removeListener(`complete`,f),e.removeListener(`abort`,g),e.removeListener(`request`,_),e.req&&e.req.removeListener(`finish`,f),e.removeListener(`end`,u),e.removeListener(`close`,u),e.removeListener(`finish`,f),e.removeListener(`end`,m),e.removeListener(`error`,h),e.removeListener(`close`,g)}}t.exports=o})),Ct=e(((e,t)=>{var n;function r(e,t,n){return t=i(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e){var t=a(e,`string`);return typeof t==`symbol`?t:String(t)}function a(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var o=St(),s=Symbol(`lastResolve`),c=Symbol(`lastReject`),l=Symbol(`error`),u=Symbol(`ended`),d=Symbol(`lastPromise`),f=Symbol(`handlePromise`),p=Symbol(`stream`);function m(e,t){return{value:e,done:t}}function h(e){var t=e[s];if(t!==null){var n=e[p].read();n!==null&&(e[d]=null,e[s]=null,e[c]=null,t(m(n,!1)))}}function g(e){process.nextTick(h,e)}function _(e,t){return function(n,r){e.then(function(){if(t[u]){n(m(void 0,!0));return}t[f](n,r)},r)}}var v=Object.getPrototypeOf(function(){}),y=Object.setPrototypeOf((n={get stream(){return this[p]},next:function(){var e=this,t=this[l];if(t!==null)return Promise.reject(t);if(this[u])return Promise.resolve(m(void 0,!0));if(this[p].destroyed)return new Promise(function(t,n){process.nextTick(function(){e[l]?n(e[l]):t(m(void 0,!0))})});var n=this[d],r;if(n)r=new Promise(_(n,this));else{var i=this[p].read();if(i!==null)return Promise.resolve(m(i,!1));r=new Promise(this[f])}return this[d]=r,r}},r(n,Symbol.asyncIterator,function(){return this}),r(n,`return`,function(){var e=this;return new Promise(function(t,n){e[p].destroy(null,function(e){if(e){n(e);return}t(m(void 0,!0))})})}),n),v);t.exports=function(e){var t,n=Object.create(y,(t={},r(t,p,{value:e,writable:!0}),r(t,s,{value:null,writable:!0}),r(t,c,{value:null,writable:!0}),r(t,l,{value:null,writable:!0}),r(t,u,{value:e._readableState.endEmitted,writable:!0}),r(t,f,{value:function(e,t){var r=n[p].read();r?(n[d]=null,n[s]=null,n[c]=null,e(m(r,!1))):(n[s]=e,n[c]=t)},writable:!0}),t));return n[d]=null,o(e,function(e){if(e&&e.code!==`ERR_STREAM_PREMATURE_CLOSE`){var t=n[c];t!==null&&(n[d]=null,n[s]=null,n[c]=null,t(e)),n[l]=e;return}var r=n[s];r!==null&&(n[d]=null,n[s]=null,n[c]=null,r(m(void 0,!0))),n[u]=!0}),e.on(`readable`,g.bind(null,n)),n}})),wt=e(((e,t)=>{t.exports=function(){throw Error(`Readable.from is not available in the browser`)}})),Tt=e(((e,t)=>{t.exports=E;var n;E.ReadableState=T,it().EventEmitter;var r=function(e,t){return e.listeners(t).length},i=pt(),a=st().Buffer,o=(typeof global<`u`?global:typeof window<`u`?window:typeof self<`u`?self:{}).Uint8Array||function(){};function s(e){return a.from(e)}function c(e){return a.isBuffer(e)||e instanceof o}var l=mt(),u=l&&l.debuglog?l.debuglog(`stream`):function(){},d=ht(),f=gt(),p=_t().getHighWaterMark,m=Q().codes,h=m.ERR_INVALID_ARG_TYPE,g=m.ERR_STREAM_PUSH_AFTER_EOF,_=m.ERR_METHOD_NOT_IMPLEMENTED,v=m.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,y,b,x;Z()(E,i);var S=f.errorOrDestroy,C=[`error`,`close`,`destroy`,`pause`,`resume`];function w(e,t,n){if(typeof e.prependListener==`function`)return e.prependListener(t,n);!e._events||!e._events[t]?e.on(t,n):Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]}function T(e,t,r){n||=$(),e||={},typeof r!=`boolean`&&(r=t instanceof n),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=p(this,e,`readableHighWaterMark`,r),this.buffer=new d,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||`utf8`,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(y||=xt().StringDecoder,this.decoder=new y(e.encoding),this.encoding=e.encoding)}function E(e){if(n||=$(),!(this instanceof E))return new E(e);var t=this instanceof n;this._readableState=new T(e,this,t),this.readable=!0,e&&(typeof e.read==`function`&&(this._read=e.read),typeof e.destroy==`function`&&(this._destroy=e.destroy)),i.call(this)}Object.defineProperty(E.prototype,`destroyed`,{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),E.prototype.destroy=f.destroy,E.prototype._undestroy=f.undestroy,E.prototype._destroy=function(e,t){t(e)},E.prototype.push=function(e,t){var n=this._readableState,r;return n.objectMode?r=!0:typeof e==`string`&&(t||=n.defaultEncoding,t!==n.encoding&&(e=a.from(e,t),t=``),r=!0),D(this,e,t,!1,r)},E.prototype.unshift=function(e){return D(this,e,null,!0,!1)};function D(e,t,n,r,i){u(`readableAddChunk`,t);var o=e._readableState;if(t===null)o.reading=!1,te(e,o);else{var c;if(i||(c=ee(o,t)),c)S(e,c);else if(o.objectMode||t&&t.length>0)if(typeof t!=`string`&&!o.objectMode&&Object.getPrototypeOf(t)!==a.prototype&&(t=s(t)),r)o.endEmitted?S(e,new v):O(e,o,t,!0);else if(o.ended)S(e,new g);else if(o.destroyed)return!1;else o.reading=!1,o.decoder&&!n?(t=o.decoder.write(t),o.objectMode||t.length!==0?O(e,o,t,!1):P(e,o)):O(e,o,t,!1);else r||(o.reading=!1,P(e,o))}return!o.ended&&(o.length=k?e=k:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function j(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e===e?(e>t.highWaterMark&&(t.highWaterMark=A(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0)):t.flowing&&t.length?t.buffer.head.data.length:t.length}E.prototype.read=function(e){u(`read`,e),e=parseInt(e,10);var t=this._readableState,n=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&((t.highWaterMark===0?t.length>0:t.length>=t.highWaterMark)||t.ended))return u(`read: emitReadable`,t.length,t.ended),t.length===0&&t.ended?V(this):M(this),null;if(e=j(e,t),e===0&&t.ended)return t.length===0&&V(this),null;var r=t.needReadable;u(`need readable`,r),(t.length===0||t.length-e0?B(e,t):null;return i===null?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),t.length===0&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&V(this)),i!==null&&this.emit(`data`,i),i};function te(e,t){if(u(`onEofChunk`),!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.sync?M(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,N(e)))}}function M(e){var t=e._readableState;u(`emitReadable`,t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(u(`emitReadable`,t.flowing),t.emittedReadable=!0,process.nextTick(N,e))}function N(e){var t=e._readableState;u(`emitReadable_`,t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit(`readable`),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,z(e)}function P(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(F,e,t))}function F(e,t){for(;!t.reading&&!t.ended&&(t.length1&&U(i.pipes,e)!==-1)&&!l&&(u(`false write response, pause`,i.awaitDrain),i.awaitDrain++),n.pause())}function p(t){u(`onerror`,t),g(),e.removeListener(`error`,p),r(e,`error`)===0&&S(e,t)}w(e,`error`,p);function m(){e.removeListener(`finish`,h),g()}e.once(`close`,m);function h(){u(`onfinish`),e.removeListener(`close`,m),g()}e.once(`finish`,h);function g(){u(`unpipe`),n.unpipe(e)}return e.emit(`pipe`,n),i.flowing||(u(`pipe resume`),n.resume()),e};function I(e){return function(){var t=e._readableState;u(`pipeOnDrain`,t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&r(e,`data`)&&(t.flowing=!0,z(e))}}E.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||=t.pipes,t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(`unpipe`,this,n),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a0,r.flowing!==!1&&this.resume()):e===`readable`&&!r.endEmitted&&!r.readableListening&&(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,u(`on readable`,r.length,r.reading),r.length?M(this):r.reading||process.nextTick(R,this)),n},E.prototype.addListener=E.prototype.on,E.prototype.removeListener=function(e,t){var n=i.prototype.removeListener.call(this,e,t);return e===`readable`&&process.nextTick(L,this),n},E.prototype.removeAllListeners=function(e){var t=i.prototype.removeAllListeners.apply(this,arguments);return(e===`readable`||e===void 0)&&process.nextTick(L,this),t};function L(e){var t=e._readableState;t.readableListening=e.listenerCount(`readable`)>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount(`data`)>0&&e.resume()}function R(e){u(`readable nexttick read 0`),e.read(0)}E.prototype.resume=function(){var e=this._readableState;return e.flowing||(u(`resume`),e.flowing=!e.readableListening,ne(this,e)),e.paused=!1,this};function ne(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(re,e,t))}function re(e,t){u(`resume`,t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit(`resume`),z(e),t.flowing&&!t.reading&&e.read(0)}E.prototype.pause=function(){return u(`call pause flowing=%j`,this._readableState.flowing),this._readableState.flowing!==!1&&(u(`pause`),this._readableState.flowing=!1,this.emit(`pause`)),this._readableState.paused=!0,this};function z(e){var t=e._readableState;for(u(`flow`,t.flowing);t.flowing&&e.read()!==null;);}E.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var i in e.on(`end`,function(){if(u(`wrapped end`),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on(`data`,function(i){u(`wrapped data`),n.decoder&&(i=n.decoder.write(i)),!(n.objectMode&&i==null)&&(!n.objectMode&&(!i||!i.length)||t.push(i)||(r=!0,e.pause()))}),e)this[i]===void 0&&typeof e[i]==`function`&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var a=0;a=t.length?(n=t.decoder?t.buffer.join(``):t.buffer.length===1?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n}function V(e){var t=e._readableState;u(`endReadable`,t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(H,t,e))}function H(e,t){if(u(`endReadableNT`,e.endEmitted,e.length),!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit(`end`),e.autoDestroy)){var n=t._writableState;(!n||n.autoDestroy&&n.finished)&&t.destroy()}}typeof Symbol==`function`&&(E.from=function(e,t){return x===void 0&&(x=wt()),x(E,e,t)});function U(e,t){for(var n=0,r=e.length;n{t.exports=l;var n=Q().codes,r=n.ERR_METHOD_NOT_IMPLEMENTED,i=n.ERR_MULTIPLE_CALLBACK,a=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,o=n.ERR_TRANSFORM_WITH_LENGTH_0,s=$();Z()(l,s);function c(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(r===null)return this.emit(`error`,new i);n.writechunk=null,n.writecb=null,t!=null&&this.push(t),r(e);var a=this._readableState;a.reading=!1,(a.needReadable||a.length{t.exports=r;var n=Et();Z()(r,n);function r(e){if(!(this instanceof r))return new r(e);n.call(this,e)}r.prototype._transform=function(e,t,n){n(null,e)}})),Ot=e(((e,t)=>{var n;function r(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var i=Q().codes,a=i.ERR_MISSING_ARGS,o=i.ERR_STREAM_DESTROYED;function s(e){if(e)throw e}function c(e){return e.setHeader&&typeof e.abort==`function`}function l(e,t,i,a){a=r(a);var s=!1;e.on(`close`,function(){s=!0}),n===void 0&&(n=St()),n(e,{readable:t,writable:i},function(e){if(e)return a(e);s=!0,a()});var l=!1;return function(t){if(!s&&!l){if(l=!0,c(e))return e.abort();if(typeof e.destroy==`function`)return e.destroy();a(t||new o(`pipe`))}}}function u(e){e()}function d(e,t){return e.pipe(t)}function f(e){return!e.length||typeof e[e.length-1]!=`function`?s:e.pop()}function p(){var e=[...arguments],t=f(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new a(`streams`);var n,r=e.map(function(i,a){var o=a0,function(e){n||=e,e&&r.forEach(u),!o&&(r.forEach(u),t(n))})});return e.reduce(d)}t.exports=p})),kt=e(((e,t)=>{t.exports=r;var n=it().EventEmitter;Z()(r,n),r.Readable=Tt(),r.Writable=yt(),r.Duplex=$(),r.Transform=Et(),r.PassThrough=Dt(),r.finished=St(),r.pipeline=Ot(),r.Stream=r;function r(){n.call(this)}r.prototype.pipe=function(e,t){var r=this;function i(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}r.on(`data`,i);function a(){r.readable&&r.resume&&r.resume()}e.on(`drain`,a),!e._isStdio&&(!t||t.end!==!1)&&(r.on(`end`,s),r.on(`close`,c));var o=!1;function s(){o||(o=!0,e.end())}function c(){o||(o=!0,typeof e.destroy==`function`&&e.destroy())}function l(e){if(u(),n.listenerCount(this,`error`)===0)throw e}r.on(`error`,l),e.on(`error`,l);function u(){r.removeListener(`data`,i),e.removeListener(`drain`,a),r.removeListener(`end`,s),r.removeListener(`close`,c),r.removeListener(`error`,l),e.removeListener(`error`,l),r.removeListener(`end`,u),r.removeListener(`close`,u),e.removeListener(`close`,u)}return r.on(`end`,u),r.on(`close`,u),e.on(`close`,u),e.emit(`pipe`,r),e}}))();async function*At(e,t,n){let r=1,i={chunks:[],length:0};for await(let a of n(e))for(i.chunks.push(a),i.length+=a.byteLength;i.length>t;){let e=i.chunks.length>1?Y.Buffer.concat(i.chunks):i.chunks[0];yield{partNumber:r,data:e.subarray(0,t)},i.chunks=[e.subarray(t)],i.length=i.chunks[0].byteLength,r+=1}yield{partNumber:r,data:i.chunks.length===1?i.chunks[0]:Y.Buffer.concat(i.chunks),lastPart:!0}}async function*jt(e,t){let n=1,r=0,i=t;for(;i{if(e instanceof Uint8Array)return jt(e,t);if(e instanceof kt.Readable)return At(e,t,Mt);if(e instanceof String||typeof e==`string`)return jt(Y.Buffer.from(e),t);if(typeof e.stream==`function`)return At(e.stream(),t,Nt);if(e instanceof ReadableStream)return At(e,t,Nt);throw Error(`Body Data is unsupported format, expected data to be one of: string | Uint8Array | Buffer | Readable | ReadableStream | Blob;.`)},Ft=class e extends lt.EventEmitter{static MIN_PART_SIZE=1024*1024*5;MAX_PARTS=1e4;queueSize=4;partSize;leavePartsOnError=!1;tags=[];client;params;totalBytes;totalBytesSource;bytesUploadedSoFar;abortController;concurrentUploaders=[];createMultiPartPromise;abortMultipartUploadCommand=null;uploadedParts=[];uploadEnqueuedPartsCount=0;expectedPartsCount;uploadId;uploadEvent;isMultiPart=!0;singleUploadResult;sent=!1;constructor(t){if(super(),this.queueSize=t.queueSize||this.queueSize,this.leavePartsOnError=t.leavePartsOnError||this.leavePartsOnError,this.tags=t.tags||this.tags,this.client=t.client,this.params=t.params,!this.params)throw Error(`InputError: Upload requires params to be passed to upload.`);this.totalBytes=this.params.ContentLength??dt(this.params.Body),this.totalBytesSource=ft(this.params.Body,this.params.ContentLength),this.bytesUploadedSoFar=0,this.abortController=t.abortController??new AbortController,this.partSize=t.partSize||Math.max(e.MIN_PART_SIZE,Math.floor((this.totalBytes||0)/this.MAX_PARTS)),this.totalBytes!==void 0&&(this.expectedPartsCount=Math.ceil(this.totalBytes/this.partSize)),this.__validateInput()}async abort(){this.abortController.abort()}async done(){if(this.sent)throw Error(`@aws-sdk/lib-storage: this instance of Upload has already executed .done(). Create a new instance.`);return this.sent=!0,await Promise.race([this.__doMultipartUpload(),this.__abortTimeout(this.abortController.signal)])}on(e,t){return this.uploadEvent=e,super.on(e,t)}async __uploadUsingPut(e){this.isMultiPart=!1;let t={...this.params,Body:e.data},n=this.client.config,r=n.requestHandler,i=r instanceof lt.EventEmitter?r:null,a=t=>{this.bytesUploadedSoFar=t.loaded,this.totalBytes=t.total,this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:e.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})};i!==null&&i.on(`xhr.upload.progress`,a);let o=await Promise.all([this.client.send(new et(t)),n?.endpoint?.()]),s=o[0],l=o[1];if(l||=y(await c(t,et,{...n})),!l)throw Error(`Could not resolve endpoint from S3 "client.config.endpoint()" nor EndpointsV2.`);i!==null&&i.off(`xhr.upload.progress`,a);let u=this.params.Key.split(`/`).map(e=>T(e)).join(`/`),d=T(this.params.Bucket),f=(()=>{let e=l.hostname.startsWith(`${d}.`),t=this.client.config.forcePathStyle,n=l.port?`:${l.port}`:``;return t?`${l.protocol}//${l.hostname}${n}/${d}/${u}`:e?`${l.protocol}//${l.hostname}${n}/${u}`:`${l.protocol}//${d}.${l.hostname}${n}/${u}`})();this.singleUploadResult={...s,Bucket:this.params.Bucket,Key:this.params.Key,Location:f};let p=dt(e.data);this.__notifyProgress({loaded:p,total:p,part:1,Key:this.params.Key,Bucket:this.params.Bucket})}async __createMultipartUpload(){let e=await this.client.config.requestChecksumCalculation();if(!this.createMultiPartPromise){let t={...this.params,Body:void 0};e===`WHEN_SUPPORTED`&&(t.ChecksumAlgorithm=this.params.ChecksumAlgorithm||rt.CRC32),this.createMultiPartPromise=this.client.send(new Qe(t)).then(e=>(this.abortMultipartUploadCommand=new Ue({Bucket:this.params.Bucket,Key:this.params.Key,UploadId:e.UploadId}),e))}return this.createMultiPartPromise}async __doConcurrentUpload(e){for await(let t of e){if(this.uploadEnqueuedPartsCount>this.MAX_PARTS)throw Error(`Exceeded ${this.MAX_PARTS} parts in multipart upload to Bucket: ${this.params.Bucket} Key: ${this.params.Key}.`);if(this.abortController.signal.aborted)return;if(t.partNumber===1&&t.lastPart)return await this.__uploadUsingPut(t);if(!this.uploadId){let{UploadId:e}=await this.__createMultipartUpload();if(this.uploadId=e,this.abortController.signal.aborted)return}let e=dt(t.data)||0,n=this.client.config.requestHandler,r=n instanceof lt.EventEmitter?n:null,i=0,a=(n,r)=>{(Number(r.query.partNumber)||-1)===t.partNumber&&(n.total&&e&&(this.bytesUploadedSoFar+=n.loaded-i,i=n.loaded),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:t.partNumber,Key:this.params.Key,Bucket:this.params.Bucket}))};r!==null&&r.on(`xhr.upload.progress`,a),this.uploadEnqueuedPartsCount+=1,this.__validateUploadPart(t);let o=await this.client.send(new nt({...this.params,ContentLength:void 0,UploadId:this.uploadId,Body:t.data,PartNumber:t.partNumber}));if(r!==null&&r.off(`xhr.upload.progress`,a),this.abortController.signal.aborted)return;if(!o.ETag)throw Error(`Part ${t.partNumber} is missing ETag in UploadPart response. Missing Bucket CORS configuration for ETag header?`);this.uploadedParts.push({PartNumber:t.partNumber,ETag:o.ETag,...o.ChecksumCRC32&&{ChecksumCRC32:o.ChecksumCRC32},...o.ChecksumCRC32C&&{ChecksumCRC32C:o.ChecksumCRC32C},...o.ChecksumSHA1&&{ChecksumSHA1:o.ChecksumSHA1},...o.ChecksumSHA256&&{ChecksumSHA256:o.ChecksumSHA256}}),r===null&&(this.bytesUploadedSoFar+=e),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:t.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})}}async __doMultipartUpload(){let e=Pt(this.params.Body,this.partSize),t=[];for(let n=0;n{t.push(e)});this.concurrentUploaders.push(n)}if(await Promise.all(this.concurrentUploaders),t.length>=1)throw await this.markUploadAsAborted(),t[0];if(this.abortController.signal.aborted)throw await this.markUploadAsAborted(),Object.assign(Error(`Upload aborted.`),{name:`AbortError`});let n;if(this.isMultiPart){let{expectedPartsCount:e,uploadedParts:t,totalBytes:r,totalBytesSource:i}=this;if(r!==void 0&&e!==void 0&&t.length!==e)throw Error(`Expected ${e} part(s) but uploaded ${t.length} part(s). The expected part count is based on the byte-count of the input.params.Body, which was read from ${i} and is ${r}. If this is not correct, provide an override value by setting a number to input.params.ContentLength in bytes. -`);this.uploadedParts.sort((e,t)=>e.PartNumber-t.PartNumber);let a={...this.params,Body:void 0,UploadId:this.uploadId,MultipartUpload:{Parts:this.uploadedParts}};n=await this.client.send(new Je(a)),typeof n?.Location==`string`&&n.Location.includes(`%2F`)&&(n.Location=n.Location.replace(/%2F/g,`/`))}else n=this.singleUploadResult;return this.abortMultipartUploadCommand=null,this.tags.length&&await this.client.send(new nt({...this.params,Tagging:{TagSet:this.tags}})),n}async markUploadAsAborted(){this.uploadId&&!this.leavePartsOnError&&this.abortMultipartUploadCommand!==null&&(await this.client.send(this.abortMultipartUploadCommand),this.abortMultipartUploadCommand=null)}__notifyProgress(e){this.uploadEvent&&this.emit(this.uploadEvent,e)}async __abortTimeout(e){return new Promise((t,n)=>{e.onabort=()=>{let e=Error(`Upload aborted.`);e.name=`AbortError`,n(e)}})}__validateUploadPart(e){let t=dt(e.data);if(t===void 0)throw Error(`A dataPart was generated without a measurable data chunk size for part number ${e.partNumber}`);if(!(e.partNumber===1&&e.lastPart)&&!e.lastPart&&t!==this.partSize)throw Error(`The byte size for part number ${e.partNumber}, size ${t} does not match expected size ${this.partSize}`)}__validateInput(){if(!this.client)throw Error(`InputError: Upload requires a AWS client to do uploads with.`);if(this.partSize{t.invalidateQueries({queryKey:[`s3`,`buckets`,n.bucket,`objects`]})}},e[0]=t,e[1]=i),r(i)}async function Lt(e){let{bucket:t,key:n,file:r}=e;return await new Ft({client:v(),params:{Bucket:t,Key:n,Body:r,ContentType:r.type}}).done()}function Rt(){let e=(0,ct.c)(2),t=n(),i;return e[0]===t?i=e[1]:(i={mutationFn:zt,onSuccess:()=>{t.invalidateQueries({queryKey:[`s3`,`buckets`]})}},e[0]=t,e[1]=i),r(i)}function zt(e){let{bucketName:t}=e,n=new Qe({Bucket:t});return v().send(n)}function Bt(){let e=(0,ct.c)(2),t=n(),i;return e[0]===t?i=e[1]:(i={mutationFn:Vt,onSuccess:(e,n)=>{t.invalidateQueries({queryKey:[`s3`,`buckets`,n.bucket,`objects`]})}},e[0]=t,e[1]=i),r(i)}function Vt(e){let{bucket:t,key:n}=e,r=new et({Bucket:t,Key:n});return v().send(r)}export{Re as a,q as i,Bt as n,It as r,Rt as t}; \ No newline at end of file +`);this.uploadedParts.sort((e,t)=>e.PartNumber-t.PartNumber);let a={...this.params,Body:void 0,UploadId:this.uploadId,MultipartUpload:{Parts:this.uploadedParts}};n=await this.client.send(new qe(a)),typeof n?.Location==`string`&&n.Location.includes(`%2F`)&&(n.Location=n.Location.replace(/%2F/g,`/`))}else n=this.singleUploadResult;return this.abortMultipartUploadCommand=null,this.tags.length&&await this.client.send(new tt({...this.params,Tagging:{TagSet:this.tags}})),n}async markUploadAsAborted(){this.uploadId&&!this.leavePartsOnError&&this.abortMultipartUploadCommand!==null&&(await this.client.send(this.abortMultipartUploadCommand),this.abortMultipartUploadCommand=null)}__notifyProgress(e){this.uploadEvent&&this.emit(this.uploadEvent,e)}async __abortTimeout(e){return new Promise((t,n)=>{e.onabort=()=>{let e=Error(`Upload aborted.`);e.name=`AbortError`,n(e)}})}__validateUploadPart(e){let t=dt(e.data);if(t===void 0)throw Error(`A dataPart was generated without a measurable data chunk size for part number ${e.partNumber}`);if(!(e.partNumber===1&&e.lastPart)&&!e.lastPart&&t!==this.partSize)throw Error(`The byte size for part number ${e.partNumber}, size ${t} does not match expected size ${this.partSize}`)}__validateInput(){if(!this.client)throw Error(`InputError: Upload requires a AWS client to do uploads with.`);if(this.partSize{t.invalidateQueries({queryKey:[`s3`,`buckets`,n.bucket,`objects`]})}},e[0]=t,e[1]=i),r(i)}async function Lt(e){let{bucket:t,key:n,file:r}=e;return await new Ft({client:s(),params:{Bucket:t,Key:n,Body:r,ContentType:r.type}}).done()}function Rt(){let e=(0,ct.c)(2),t=n(),i;return e[0]===t?i=e[1]:(i={mutationFn:zt,onSuccess:()=>{t.invalidateQueries({queryKey:[`s3`,`buckets`]})}},e[0]=t,e[1]=i),r(i)}function zt(e){let{bucketName:t}=e,n=new Ze({Bucket:t});return s().send(n)}function Bt(){let e=(0,ct.c)(2),t=n(),i;return e[0]===t?i=e[1]:(i={mutationFn:Vt,onSuccess:(e,n)=>{t.invalidateQueries({queryKey:[`s3`,`buckets`,n.bucket,`objects`]})}},e[0]=t,e[1]=i),r(i)}function Vt(e){let{bucket:t,key:n}=e,r=new $e({Bucket:t,Key:n});return s().send(r)}export{Le as a,J as i,Bt as n,It as r,Rt as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/s32.js b/spinifex/services/spinifexui/frontend/dist/assets/s32.js index b997b706b..586333c4e 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/s32.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/s32.js @@ -1 +1 @@ -import{t as e}from"./queryOptions.js";import{Rt as t,_ as n,d as r,f as i,g as a,i as o,zt as s}from"./awsClient.js";var c=class extends t.classBuilder().ep(a).m(function(e,t,r,i){return[s(r,e.getEndpointParameterInstructions()),n(r)]}).s(`AmazonS3`,`ListBuckets`,{}).n(`S3Client`,`ListBucketsCommand`).sc(r).build(){},l=class extends t.classBuilder().ep({...a,Bucket:{type:`contextParams`,name:`Bucket`},Prefix:{type:`contextParams`,name:`Prefix`}}).m(function(e,t,r,i){return[s(r,e.getEndpointParameterInstructions()),n(r)]}).s(`AmazonS3`,`ListObjectsV2`,{}).n(`S3Client`,`ListObjectsV2Command`).sc(i).build(){},u=e({queryKey:[`s3`,`buckets`],queryFn:()=>{let e=new c({});return o().send(e)}}),d=(t,n)=>e({queryKey:[`s3`,`buckets`,t,`objects`,n??``],queryFn:()=>{let e=new l({Bucket:t,Prefix:n,Delimiter:`/`});return o().send(e)}});export{u as n,d as t}; \ No newline at end of file +import{t as e}from"./queryOptions.js";import{_ as t,a as n,f as r,in as i,p as a,rn as o,v as s}from"./awsClient.js";var c=class extends o.classBuilder().ep(t).m(function(e,t,n,r){return[i(n,e.getEndpointParameterInstructions()),s(n)]}).s(`AmazonS3`,`ListBuckets`,{}).n(`S3Client`,`ListBucketsCommand`).sc(r).build(){},l=class extends o.classBuilder().ep({...t,Bucket:{type:`contextParams`,name:`Bucket`},Prefix:{type:`contextParams`,name:`Prefix`}}).m(function(e,t,n,r){return[i(n,e.getEndpointParameterInstructions()),s(n)]}).s(`AmazonS3`,`ListObjectsV2`,{}).n(`S3Client`,`ListObjectsV2Command`).sc(a).build(){},u=e({queryKey:[`s3`,`buckets`],queryFn:()=>{let e=new c({});return n().send(e)}}),d=(t,r)=>e({queryKey:[`s3`,`buckets`,t,`objects`,r??``],queryFn:()=>{let e=new l({Bucket:t,Prefix:r,Delimiter:`/`});return n().send(e)}});export{u as n,d as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/select.js b/spinifex/services/spinifexui/frontend/dist/assets/select.js index 0891873c0..ce0a02049 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/select.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/select.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{Xt as i}from"./awsClient.js";import{a,c as o,f as s,g as c,l,m as u,n as d,p as f}from"./dist.js";import{F as p}from"./SignatureV4.js";import{t as m}from"./createLucideIcon.js";import{t as h}from"./check.js";import{t as g}from"./chevron-down.js";import{h as _,i as v,o as y,r as b,v as x}from"./button.js";import{a as S,c as C,i as w,n as ee,o as T,r as E,s as te}from"./separator.js";import{A as D,B as O,C as ne,D as k,O as A,_ as j,c as M,g as re,h as N,k as P,l as F,m as I,n as L,o as ie,t as R,u as z,v as ae,w as B,y as V,z as oe}from"./createBaseUIEventDetails.js";import{a as H,c as se,n as U,t as ce}from"./useTransitionStatus.js";import{A as W,B as G,E as le,F as ue,I as K,L as de,M as fe,N as pe,P as me,R as he,S as ge,T as _e,V as ve,_ as ye,a as be,at as xe,b as Se,ct as Ce,d as we,dt as Te,f as q,ft as Ee,g as De,h as J,ht as Y,i as Oe,j as ke,k as X,lt as Ae,n as je,o as Me,r as Ne,s as Pe,t as Fe,ut as Ie,v as Le,w as Re,y as ze,z as Be}from"./useOpenInteractionType.js";import{a as Ve,i as He,n as Ue,o as We,t as Ge}from"./getDisabledMountTransitionStyles.js";var Ke=m(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),Z=e(n());function qe(e,t={}){let n=`rootStore`in e?e.rootStore:e,r=n.context.dataRef,{enabled:i=!0,event:a=`click`,toggle:o=!0,ignoreMouse:s=!1,stickIfOpen:c=!0,touchOpenDelay:u=0,reason:d=I}=t,f=Z.useRef(void 0),p=se(),m=Y(),h=Z.useMemo(()=>({onPointerDown(e){f.current=e.pointerType},onMouseDown(e){let t=f.current,i=e.nativeEvent,l=n.select(`open`);if(e.button!==0||a===`click`||Ae(t,!0)&&s)return;let h=r.current.openEvent,g=h?.type,_=n.select(`domReferenceElement`)!==e.currentTarget,v=l&&_||!(l&&o&&(!(h&&c)||g===`click`||g===`mousedown`));if(B(i.target)){let e=R(d,i,i.target);v&&t===`touch`&&u>0?m.start(u,()=>{n.setOpen(!0,e)}):n.setOpen(v,e);return}let y=e.currentTarget;p.request(()=>{let e=R(d,i,y);v&&t===`touch`&&u>0?m.start(u,()=>{n.setOpen(!0,e)}):n.setOpen(v,e)})},onClick(e){if(a===`mousedown-only`)return;let t=f.current;if(a===`mousedown`&&t){f.current=void 0;return}if(Ae(t,!0)&&s)return;let i=n.select(`open`),l=r.current.openEvent,p=n.select(`domReferenceElement`)!==e.currentTarget,h=i&&p||!(i&&o&&(!(l&&c)||Ce(l))),g=R(d,e.nativeEvent,e.currentTarget);h&&t===`touch`&&u>0?m.start(u,()=>{n.setOpen(!0,g)}):n.setOpen(h,g)},onKeyDown(){f.current=void 0}}),[r,a,s,n,c,o,p,m,u,d]);return Z.useMemo(()=>i?{reference:h}:l,[i,h])}var Je=`Escape`;function Ye(e,t,n){switch(e){case`vertical`:return t;case`horizontal`:return n;default:return t||n}}function Xe(e,t){return Ye(t,e===`ArrowUp`||e===`ArrowDown`,e===`ArrowLeft`||e===`ArrowRight`)}function Ze(e,t,n){return Ye(t,e===`ArrowDown`,n?e===`ArrowLeft`:e===`ArrowRight`)||e===`Enter`||e===` `||e===``}function Qe(e,t,n){return Ye(t,n?e===A:e===P,e===k)}function $e(e,t,n,r){return t===`both`||t===`horizontal`&&r&&r>1?e===Je:Ye(t,n?e===P:e===A,e===D)}function et(e,t){let n=`rootStore`in e?e.rootStore:e,r=n.useState(`open`),i=n.useState(`floatingElement`),a=n.useState(`domReferenceElement`),o=n.context.dataRef,{listRef:s,activeIndex:c,onNavigate:l=()=>{},enabled:u=!0,selectedIndex:d=null,allowEscape:f=!1,loopFocus:p=!1,nested:m=!1,rtl:h=!1,virtual:g=!1,focusItemOnOpen:_=`auto`,focusItemOnHover:b=!0,openOnArrowKeyDown:S=!0,disabledIndices:C=void 0,orientation:w=`vertical`,parentOrientation:ee,cols:T=1,id:E,resetOnPointerLeave:te=!0,externalTree:D}=t,k=le(ae(i)),A=Le(),M=ze(D);v(()=>{o.current.orientation=w},[o,w]);let N=ne(a),P=Z.useRef(_),I=Z.useRef(d??-1),L=Z.useRef(null),z=Z.useRef(!0),B=y(e=>{l(I.current===-1?null:I.current,e)}),oe=Z.useRef(B),H=Z.useRef(!!i),se=Z.useRef(r),U=Z.useRef(!1),ce=Z.useRef(!1),W=le(C),_e=le(r),ye=le(d),be=le(te),xe=y(()=>{function e(e){g?M?.events.emit(`virtualfocus`,e):ge(e,{sync:U.current,preventScroll:!0})}let t=s.current[I.current],n=ce.current;t&&e(t),(U.current?e=>e():requestAnimationFrame)(()=>{let r=s.current[I.current]||t;r&&(t||e(r),Ce&&(n||!z.current)&&r.scrollIntoView?.({block:`nearest`,inline:`nearest`}))})});v(()=>{u&&(r&&i?(I.current=d??-1,P.current&&d!=null&&(ce.current=!0,B())):H.current&&(I.current=-1,oe.current()))},[u,r,i,d,B]),v(()=>{if(u){if(!r){U.current=!1;return}if(i)if(c==null){if(U.current=!1,ye.current!=null)return;if(H.current&&(I.current=-1,xe()),(!se.current||!H.current)&&P.current&&(L.current!=null||P.current===!0&&L.current==null)){let e=0,t=()=>{s.current[0]==null?(e<2&&(e?requestAnimationFrame:queueMicrotask)(t),e+=1):(I.current=L.current==null||Ze(L.current,w,h)||m?he(s):de(s),L.current=null,B())};t()}}else G(s,c)||(I.current=c,xe(),ce.current=!1)}},[u,r,i,c,ye,m,s,w,h,B,xe,W]),v(()=>{if(!u||i||!M||g||!H.current)return;let e=M.nodesRef.current,t=e.find(e=>e.id===A)?.context?.elements.floating,n=re(O(i)),r=e.some(e=>e.context&&j(e.context.elements.floating,n));t&&!r&&z.current&&t.focus({preventScroll:!0})},[u,i,M,A,g]),v(()=>{oe.current=B,se.current=r,H.current=!!i}),v(()=>{r||(L.current=null,P.current=_)},[r,_]);let Se=c!=null,Ce=Z.useMemo(()=>{function e(e){if(!_e.current)return;let t=s.current.indexOf(e.currentTarget);t!==-1&&I.current!==t&&(I.current=t,B(e))}return{onFocus(t){U.current=!0,e(t)},onClick:({currentTarget:e})=>e.focus({preventScroll:!0}),onMouseMove(t){U.current=!0,ce.current=!1,b&&e(t)},onPointerLeave(e){if(!_e.current||!z.current||e.pointerType===`touch`)return;U.current=!0;let t=e.relatedTarget;if(!(!b||s.current.includes(t))&&be.current&&(ge(null,{sync:!0}),I.current=-1,B(e),!g)){let e=k.current,t=re(O(e));e&&j(e,t)&&e.focus({preventScroll:!0})}}}},[_e,k,b,s,B,be,g]),we=Z.useCallback(()=>ee??M?.nodesRef.current.find(e=>e.id===A)?.context?.dataRef?.current.orientation,[A,M,ee]),q=y(e=>{if(z.current=!1,U.current=!0,e.which===229||!_e.current&&e.currentTarget===k.current)return;if(m&&$e(e.key,w,h,T)){Xe(e.key,we())||Ee(e),n.setOpen(!1,R(F,e.nativeEvent)),x(a)&&(g?M?.events.emit(`virtualfocus`,a):a.focus());return}let t=I.current,i=he(s,C),o=de(s,C);if(N||(e.key===`Home`&&(Ee(e),I.current=i,B(e)),e.key===`End`&&(Ee(e),I.current=o,B(e))),T>1){let t=Array.from({length:s.current.length},()=>({width:1,height:1})),n=fe(t,T,!1),r=n.findIndex(e=>e!=null&&!ve(s,e,C)),a=n.reduce((e,t,n)=>t!=null&&!ve(s,t,C)?n:e,-1),c=n[K({current:n.map(e=>e==null?null:s.current[e])},{event:e,orientation:w,loopFocus:p,rtl:h,cols:T,disabledIndices:ue([...(typeof C==`function`?null:C)||s.current.map((e,t)=>ve(s,t,C)?t:void 0),void 0],n),minIndex:r,maxIndex:a,prevIndex:me(I.current>o?i:I.current,t,n,T,e.key===`ArrowDown`?`bl`:e.key===(h?`ArrowLeft`:`ArrowRight`)?`tr`:`tl`),stopEvent:!0})];if(c!=null&&(I.current=c,B(e)),w===`both`)return}if(Xe(e.key,w)){if(Ee(e),r&&!g&&re(e.currentTarget.ownerDocument)===e.currentTarget){I.current=Ze(e.key,w,h)?i:o,B(e);return}Ze(e.key,w,h)?p?t>=o?f&&t!==s.current.length?I.current=-1:(U.current=!1,I.current=i):I.current=pe(s,{startingIndex:t,disabledIndices:C}):I.current=Math.min(o,pe(s,{startingIndex:t,disabledIndices:C})):p?t<=i?f&&t!==-1?I.current=s.current.length:(U.current=!1,I.current=o):I.current=pe(s,{startingIndex:t,decrement:!0,disabledIndices:C}):I.current=Math.max(i,pe(s,{startingIndex:t,decrement:!0,disabledIndices:C})),G(s,I.current)&&(I.current=-1),B(e)}}),De=Z.useMemo(()=>g&&r&&Se&&{"aria-activedescendant":`${E}-${c}`},[g,r,Se,E,c]),J=Z.useMemo(()=>({"aria-orientation":w===`both`?void 0:w,...N?{}:De,onKeyDown(e){if(e.key===`Tab`&&e.shiftKey&&r&&!g){let t=V(e.nativeEvent);if(t&&!j(k.current,t))return;Ee(e),n.setOpen(!1,R(ie,e.nativeEvent)),x(a)&&a.focus();return}q(e)},onPointerMove(){z.current=!0}}),[De,q,k,w,N,n,r,g,a]),Y=Z.useMemo(()=>{function e(e){_===`auto`&&Ie(e.nativeEvent)&&(P.current=!g)}function t(e){P.current=_,_===`auto`&&Te(e.nativeEvent)&&(P.current=!0)}return{onKeyDown(e){let t=n.select(`open`);z.current=!1;let r=e.key.startsWith(`Arrow`),i=Qe(e.key,we(),h),a=Xe(e.key,w),o=(m?i:a)||e.key===`Enter`||e.key.trim()===``;if(g&&t)return q(e);if(!(!t&&!S&&r)){if(o){let t=Xe(e.key,we());L.current=m&&t?null:e.key}if(m){i&&(Ee(e),t?(I.current=he(s,W.current),B(e)):n.setOpen(!0,R(F,e.nativeEvent,e.currentTarget)));return}a&&(ye.current!=null&&(I.current=ye.current),Ee(e),!t&&S?n.setOpen(!0,R(F,e.nativeEvent,e.currentTarget)):q(e),t&&B(e))}},onFocus(e){n.select(`open`)&&!g&&(I.current=-1,B(e))},onPointerDown:t,onPointerEnter:t,onMouseDown:e,onClick:e}},[q,W,_,s,m,B,n,S,w,we,h,ye,g]),Oe=Z.useMemo(()=>({...De,...Y}),[De,Y]);return Z.useMemo(()=>u?{reference:Oe,floating:J,item:Ce,trigger:Y}:{},[u,Oe,J,Y,Ce])}function tt(e,t){let n=`rootStore`in e?e.rootStore:e,r=n.context.dataRef,i=n.useState(`open`),{listRef:a,elementsRef:o,activeIndex:s,onMatch:c,onTypingChange:l,enabled:u=!0,resetMs:d=750,selectedIndex:f=null}=t,p=Y(),m=Z.useRef(``),h=Z.useRef(f??s??-1),g=Z.useRef(null);v(()=>{!i&&f!==null||(p.clear(),g.current=null,m.current!==``&&(m.current=``))},[i,f,p]),v(()=>{i&&m.current===``&&(h.current=f??s??-1)},[i,f,s]);let _=y(e=>{e?r.current.typing||(r.current.typing=e,l?.(e)):r.current.typing&&(r.current.typing=e,l?.(e))}),b=y(e=>{function t(e){let t=o?.current[e];return!t||Be(t)}function n(e,n,r=0){if(e.length===0)return-1;let i=(r%e.length+e.length)%e.length,a=n.toLocaleLowerCase();for(let n=0;n0&&e.key===` `&&(Ee(e),_(!0)),m.current.length>0&&m.current[0]!==` `&&n(r,m.current)===-1&&e.key!==` `&&_(!1),r==null||e.key.length!==1||e.ctrlKey||e.metaKey||e.altKey)return;i&&e.key!==` `&&(Ee(e),_(!0));let l=m.current===``;l&&(h.current=f??s??-1),r.every(e=>e?e[0]?.toLocaleLowerCase()!==e[1]?.toLocaleLowerCase():!0)&&m.current===e.key&&(m.current=``,h.current=g.current),m.current+=e.key,p.start(d,()=>{m.current=``,h.current=g.current,_(!1)});let u=((l?f??s??-1:h.current)??0)+1,v=n(r,m.current,u);v===-1?e.key!==` `&&(m.current=``,_(!1)):(c?.(v),g.current=v)}),x=y(e=>{let t=e.relatedTarget,r=n.select(`domReferenceElement`),i=n.select(`floatingElement`),a=j(r,t),o=j(i,t);a||o||(p.clear(),m.current=``,h.current=g.current,_(!1))}),S=Z.useMemo(()=>({onKeyDown:b,onBlur:x}),[b,x]),C=Z.useMemo(()=>({onKeyDown:b,onBlur:x}),[b,x]);return Z.useMemo(()=>u?{reference:S,floating:C}:{},[u,S,C])}var nt=Z.createContext(null),rt=Z.createContext(null);function it(){let e=Z.useContext(nt);if(e===null)throw Error(u(60));return e}function at(){let e=Z.useContext(rt);if(e===null)throw Error(u(61));return e}var ot=(e,t)=>Object.is(e,t);function st(e,t,n){return e==null||t==null?Object.is(e,t):n(e,t)}function ct(e,t,n){return!e||e.length===0?!1:e.some(e=>e===void 0?!1:st(t,e,n))}function lt(e,t,n){return!e||e.length===0?-1:e.findIndex(e=>e===void 0?!1:st(e,t,n))}function ut(e,t,n){return e.filter(e=>!st(t,e,n))}function dt(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}var Q=t();function ft(e){return e!=null&&e.length>0&&typeof e[0]==`object`&&e[0]!=null&&`items`in e[0]}function pt(e){if(!Array.isArray(e))return e!=null&&`null`in e;let t=e;if(ft(t)){for(let e of t)for(let t of e.items)if(t&&t.value==null&&t.label!=null)return!0;return!1}for(let e of t)if(e&&e.value==null&&e.label!=null)return!0;return!1}function mt(e,t){if(t&&e!=null)return t(e)??``;if(e&&typeof e==`object`){if(`label`in e&&e.label!=null)return String(e.label);if(`value`in e)return String(e.value)}return dt(e)}function ht(e,t){return t&&e!=null?t(e)??``:e&&typeof e==`object`&&`value`in e&&`label`in e?dt(e.value):dt(e)}function gt(e,t,n){function r(){return mt(e,n)}if(n&&e!=null)return n(e);if(e&&typeof e==`object`&&`label`in e&&e.label!=null)return e.label;if(t&&!Array.isArray(t))return t[e]??r();if(Array.isArray(t)){let n=t,i=ft(n)?n.flatMap(e=>e.items):n;if(typeof e!=`object`||!e){let t=i.find(t=>t.value===e);return t&&t.label!=null?t.label:r()}if(`value`in e){let t=i.find(t=>t&&t.value===e.value);if(t&&t.label!=null)return t.label}}return r()}function _t(e,t,n){return e.reduce((e,r,i)=>(i>0&&e.push(`, `),e.push((0,Q.jsx)(Z.Fragment,{children:gt(r,t,n)},i)),e),[])}var $={id:J(e=>e.id),labelId:J(e=>e.labelId),modal:J(e=>e.modal),multiple:J(e=>e.multiple),items:J(e=>e.items),itemToStringLabel:J(e=>e.itemToStringLabel),itemToStringValue:J(e=>e.itemToStringValue),isItemEqualToValue:J(e=>e.isItemEqualToValue),value:J(e=>e.value),hasSelectedValue:J(e=>{let{value:t,multiple:n,itemToStringValue:r}=e;return t==null?!1:n&&Array.isArray(t)?t.length>0:ht(t,r)!==``}),hasNullItemLabel:J((e,t)=>t?pt(e.items):!1),open:J(e=>e.open),mounted:J(e=>e.mounted),forceMount:J(e=>e.forceMount),transitionStatus:J(e=>e.transitionStatus),openMethod:J(e=>e.openMethod),activeIndex:J(e=>e.activeIndex),selectedIndex:J(e=>e.selectedIndex),isActive:J((e,t)=>e.activeIndex===t),isSelected:J((e,t,n)=>{let r=e.isItemEqualToValue,i=e.value;return e.multiple?Array.isArray(i)&&i.some(e=>st(n,e,r)):e.selectedIndex===t&&e.selectedIndex!==null?!0:st(n,i,r)}),isSelectedByFocus:J((e,t)=>e.selectedIndex===t),popupProps:J(e=>e.popupProps),triggerProps:J(e=>e.triggerProps),triggerElement:J(e=>e.triggerElement),positionerElement:J(e=>e.positionerElement),listElement:J(e=>e.listElement),scrollUpArrowVisible:J(e=>e.scrollUpArrowVisible),scrollDownArrowVisible:J(e=>e.scrollDownArrowVisible),hasScrollArrows:J(e=>e.hasScrollArrows)};function vt(e){let{id:t,value:n,defaultValue:r=null,onValueChange:i,open:a,defaultOpen:u=!1,onOpenChange:d,name:p,autoComplete:m,disabled:h=!1,readOnly:g=!1,required:_=!1,modal:b=!0,actionsRef:x,inputRef:S,onOpenChangeComplete:C,items:D,multiple:O=!1,itemToStringLabel:ne,itemToStringValue:k,isItemEqualToValue:A=ot,highlightItemOnHover:j=!0,children:M}=e,{clearErrors:re}=T(),{setDirty:N,setTouched:P,setFocused:F,shouldValidateOnChange:I,validityData:L,setFilled:ie,name:ae,disabled:B,validation:V,validationMode:oe}=te(),H=E({id:t}),se=B||h,W=ae??p,[G,ue]=w({controlled:n,default:O?r??o:r,name:`Select`,state:`value`}),[K,de]=w({controlled:a,default:u,name:`Select`,state:`open`}),fe=Z.useRef([]),pe=Z.useRef([]),me=Z.useRef(null),he=Z.useRef(null),ge=Z.useRef(0),ve=Z.useRef(null),ye=Z.useRef([]),be=Z.useRef(!1),xe=Z.useRef(!1),Se=Z.useRef(null),Ce=Z.useRef({allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1}),Te=Z.useRef(!1),{mounted:Ee,setMounted:J,transitionStatus:Y}=ce(K),{openMethod:Oe,triggerProps:ke}=Fe(K),X=f(()=>new we({id:H,labelId:void 0,modal:b,multiple:O,itemToStringLabel:ne,itemToStringValue:k,isItemEqualToValue:A,value:G,open:K,mounted:Ee,transitionStatus:Y,items:D,forceMount:!1,openMethod:null,activeIndex:null,selectedIndex:null,popupProps:{},triggerProps:{},triggerElement:null,positionerElement:null,listElement:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1,hasScrollArrows:!1})).current,Ae=q(X,$.activeIndex),Me=q(X,$.selectedIndex),Ne=q(X,$.triggerElement),Ie=q(X,$.positionerElement),Le=Z.useMemo(()=>O&&Array.isArray(G)&&G.length===0?``:ht(G,k),[O,G,k]),ze=Z.useMemo(()=>O&&Array.isArray(G)?G.map(e=>ht(e,k)):ht(G,k),[O,G,k]),Be=le(X.state.triggerElement);ee({id:H,commit:V.commit,value:G,controlRef:Be,name:W,getValue:()=>ze});let Ue=Z.useRef(G);v(()=>{G!==Ue.current&&X.set(`forceMount`,!0)},[X,G]),v(()=>{ie(O?Array.isArray(G)&&G.length>0:G!=null)},[O,G,ie]),v(function(){if(K)return;let e=ye.current;if(O){let t=Array.isArray(G)?G:[];if(t.length===0){X.set(`selectedIndex`,null);return}let n=t[t.length-1],r=lt(e,n,A);X.set(`selectedIndex`,r===-1?null:r);return}let t=lt(e,G,A);X.set(`selectedIndex`,t===-1?null:t)},[O,K,G,ye,A,X]),je(G,()=>{re(W),N(G!==L.initialValue),I()?V.commit(G):V.commit(G,!0)});let We=y((e,t)=>{if(d?.(e,t),!t.isCanceled&&(de(e),!e&&(t.reason===`focus-out`||t.reason===`outside-press`)&&(P(!0),F(!1),oe===`onBlur`&&V.commit(G)),!e&&X.state.activeIndex!==null)){let e=fe.current[X.state.activeIndex];queueMicrotask(()=>{e?.setAttribute(`tabindex`,`-1`)})}}),Ge=y(()=>{J(!1),X.set(`activeIndex`,null),C?.(!1)});U({enabled:!x,open:K,ref:me,onComplete(){K||Ge()}}),Z.useImperativeHandle(x,()=>({unmount:Ge}),[Ge]);let Ke=y((e,t)=>{i?.(e,t),!t.isCanceled&&ue(e)}),Je=y(()=>{let e=X.state.listElement||me.current;if(!e)return;let t=e.scrollTop,n=e.scrollTop+e.clientHeight,r=t>1,i=nc(Xe(),ke,H?{id:H}:l),[Xe,ke,H]);He(()=>{X.update({popupProps:Ze(),triggerProps:$e})}),v(()=>{X.update({id:H,modal:b,multiple:O,value:G,open:K,mounted:Ee,transitionStatus:Y,popupProps:Ze(),triggerProps:$e,items:D,itemToStringLabel:ne,itemToStringValue:k,isItemEqualToValue:A,openMethod:Oe})},[X,H,b,O,G,K,Ee,Y,Ze,$e,D,ne,k,A,Oe]);let it=Z.useMemo(()=>({store:X,name:W,required:_,disabled:se,readOnly:g,multiple:O,itemToStringLabel:ne,itemToStringValue:k,highlightItemOnHover:j,setValue:Ke,setOpen:We,listRef:fe,popupRef:me,scrollHandlerRef:he,handleScrollArrowVisibility:Je,scrollArrowsMountedCountRef:ge,getItemProps:Qe,events:Ye.context.events,valueRef:ve,valuesRef:ye,labelsRef:pe,typingRef:be,selectionRef:Ce,selectedItemTextRef:Se,validation:V,onOpenChangeComplete:C,keyboardActiveRef:xe,alignItemWithTriggerActiveRef:Te,initialValueRef:Ue}),[X,W,_,se,g,O,ne,k,j,Ke,We,Qe,Ye.context.events,V,C,Je]),at=s(S,V.inputRef),st=O&&Array.isArray(G)&&G.length>0,ct=O?void 0:W,ut=Z.useMemo(()=>!O||!Array.isArray(G)||!W?null:G.map(e=>{let t=ht(e,k);return(0,Q.jsx)(`input`,{type:`hidden`,name:W,value:t},t)}),[O,G,W,k]);return(0,Q.jsx)(nt.Provider,{value:it,children:(0,Q.jsxs)(rt.Provider,{value:Ye,children:[M,(0,Q.jsx)(`input`,{...V.getInputValidationProps({onFocus(){X.state.triggerElement?.focus({focusVisible:!0})},onChange(e){if(e.nativeEvent.defaultPrevented)return;let t=e.target.value,n=R(z,e.nativeEvent);function r(){if(O)return;let e=ye.current.find(e=>ht(e,k).toLowerCase()===t.toLowerCase());e!=null&&(N(e!==L.initialValue),Ke(e,n),I()&&V.commit(e))}X.set(`forceMount`,!0),queueMicrotask(r)}}),id:H&&ct==null?`${H}-hidden-input`:void 0,name:ct,autoComplete:m,value:Le,disabled:se,required:_&&!st,readOnly:g,ref:at,style:W?_e:Re,tabIndex:-1,"aria-hidden":!0}),ut]})})}function yt(e,t){return e??t}function bt(e){let t=e.getBoundingClientRect(),n=window.getComputedStyle(e,`::before`),r=window.getComputedStyle(e,`::after`);if(!(n.content!==`none`||r.content!==`none`))return t;let i=parseFloat(n.width)||0,a=parseFloat(n.height)||0,o=parseFloat(r.width)||0,s=parseFloat(r.height)||0,c=Math.max(t.width,i,o),l=Math.max(t.height,a,s),u=c-t.width,d=l-t.height;return{left:t.left-u/2,right:t.right+u/2,top:t.top-d/2,bottom:t.bottom+d/2}}var xt=2,St=400,Ct=200,wt={...W,...C,value:()=>null},Tt=Z.forwardRef(function(e,t){let{render:n,className:r,id:i,disabled:a=!1,nativeButton:o=!0,...l}=e,{setTouched:u,setFocused:f,validationMode:p,state:m,disabled:h}=te(),{labelId:g}=S(),{store:_,setOpen:v,selectionRef:x,validation:C,readOnly:w,required:ee,alignItemWithTriggerActiveRef:T,disabled:D,keyboardActiveRef:ne}=it(),k=h||D||a,A=q(_,$.open),M=q(_,$.value),re=q(_,$.triggerProps),N=q(_,$.positionerElement),P=q(_,$.listElement),F=q(_,$.id),I=q(_,$.labelId),ie=q(_,$.hasSelectedValue),B=!ie&&A,V=q(_,$.hasNullItemLabel,B),oe=i??F,H=yt(g,I);E({id:oe});let se=le(N),U=Z.useRef(null),{getButtonProps:ce,buttonRef:W}=b({disabled:k,native:o}),G=s(t,U,W,y(e=>{_.set(`triggerElement`,e)})),ue=Y(),K=Y(),de=Y(),fe=Y();Z.useEffect(()=>{if(A)return ie||V?fe.start(Ct,()=>{x.current.allowUnselectedMouseUp=!0,de.start(Ct,()=>{x.current.allowSelectedMouseUp=!0})}):de.start(St,()=>{x.current.allowUnselectedMouseUp=!0,x.current.allowSelectedMouseUp=!0}),()=>{de.clear(),fe.clear()};x.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1},K.clear()},[A,ie,V,x,K,de,fe]);let pe=Z.useMemo(()=>P?.id??ae(N)?.id,[P,N]),me=c(re,{id:oe,role:`combobox`,"aria-expanded":A?`true`:`false`,"aria-haspopup":`listbox`,"aria-controls":A?pe:void 0,"aria-labelledby":H,"aria-readonly":w||void 0,"aria-required":ee||void 0,tabIndex:k?-1:0,ref:G,onFocus(e){f(!0),A&&T.current&&v(!1,R(z,e.nativeEvent)),ue.start(0,()=>{_.set(`forceMount`,!0)})},onBlur(e){j(N,e.relatedTarget)||(u(!0),f(!1),p===`onBlur`&&C.commit(M))},onPointerMove(){ne.current=!1},onKeyDown(){ne.current=!0},onMouseDown(e){if(A)return;let t=O(e.currentTarget);function n(e){if(!U.current)return;let t=e.target;if(j(U.current,t)||j(se.current,t)||t===U.current)return;let n=bt(U.current);e.clientX>=n.left-xt&&e.clientX<=n.right+xt&&e.clientY>=n.top-xt&&e.clientY<=n.bottom+xt||v(!1,R(L,e))}K.start(0,()=>{t.addEventListener(`mouseup`,n,{once:!0})})}},C.getValidationProps,l,ce);me.role=`combobox`;let he={...m,open:A,disabled:k,value:M,readOnly:w,placeholder:!ie};return d(`button`,e,{ref:[t,U],state:he,stateAttributesMapping:wt,props:me})}),Et={value:()=>null},Dt=Z.forwardRef(function(e,t){let{className:n,render:r,children:i,placeholder:a,...o}=e,{store:s,valueRef:c}=it(),l=q(s,$.value),u=q(s,$.items),f=q(s,$.itemToStringLabel),p=q(s,$.hasSelectedValue),m=!p&&a!=null&&i==null,h=q(s,$.hasNullItemLabel,m),g={value:l,placeholder:!p},_=null;return _=typeof i==`function`?i(l):i??(!p&&a!=null&&!h?a:Array.isArray(l)?_t(l,u,f):gt(l,u,f)),d(`span`,e,{state:g,ref:[t,c],props:[{children:_},o],stateAttributesMapping:Et})}),Ot=Z.forwardRef(function(e,t){let{className:n,render:r,...i}=e,{store:a}=it();return d(`span`,e,{state:{open:q(a,$.open)},ref:t,props:[{"aria-hidden":!0,children:`▼`},i],stateAttributesMapping:ke})}),kt=Z.createContext(void 0),At=Z.forwardRef(function(e,t){let{store:n}=it(),r=q(n,$.mounted),i=q(n,$.forceMount);return r||i?(0,Q.jsx)(kt.Provider,{value:!0,children:(0,Q.jsx)(Se,{ref:t,...e})}):null}),jt=Z.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},elementsRef:{current:[]},nextIndexRef:{current:0}});function Mt(){return Z.useContext(jt)}function Nt(e){let{children:t,elementsRef:n,labelsRef:r,onMapChange:i}=e,a=y(i),o=Z.useRef(0),s=f(Ft).current,c=f(Pt).current,[l,u]=Z.useState(0),d=Z.useRef(l),p=y((e,t)=>{c.set(e,t??null),d.current+=1,u(d.current)}),m=y(e=>{c.delete(e),d.current+=1,u(d.current)}),h=Z.useMemo(()=>{let e=new Map;return Array.from(c.keys()).filter(e=>e.isConnected).sort(It).forEach((t,n)=>{let r=c.get(t)??{};e.set(t,{...r,index:n})}),e},[c,l]);v(()=>{if(typeof MutationObserver!=`function`||h.size===0)return;let e=new MutationObserver(e=>{let t=new Set,n=e=>t.has(e)?t.delete(e):t.add(e);e.forEach(e=>{e.removedNodes.forEach(n),e.addedNodes.forEach(n)}),t.size===0&&(d.current+=1,u(d.current))});return h.forEach((t,n)=>{n.parentElement&&e.observe(n.parentElement,{childList:!0})}),()=>{e.disconnect()}},[h]),v(()=>{d.current===l&&(n.current.length!==h.size&&(n.current.length=h.size),r&&r.current.length!==h.size&&(r.current.length=h.size),o.current=h.size),a(h)},[a,h,n,r,l]),v(()=>()=>{n.current=[]},[n]),v(()=>()=>{r&&(r.current=[])},[r]);let g=y(e=>(s.add(e),()=>{s.delete(e)}));v(()=>{s.forEach(e=>e(h))},[s,h]);let _=Z.useMemo(()=>({register:p,unregister:m,subscribeMapChange:g,elementsRef:n,labelsRef:r,nextIndexRef:o}),[p,m,g,n,r,o]);return(0,Q.jsx)(jt.Provider,{value:_,children:t})}function Pt(){return new Map}function Ft(){return new Set}function It(e,t){let n=e.compareDocumentPosition(t);return n&Node.DOCUMENT_POSITION_FOLLOWING||n&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:n&Node.DOCUMENT_POSITION_PRECEDING||n&Node.DOCUMENT_POSITION_CONTAINS?1:0}var Lt=Z.createContext(void 0);function Rt(){let e=Z.useContext(Lt);if(!e)throw Error(u(59));return e}function zt(e,t){e&&Object.assign(e.style,t)}var Bt={position:`relative`,maxHeight:`100%`,overflowX:`hidden`,overflowY:`auto`},Vt={position:`fixed`},Ht=Z.forwardRef(function(e,t){let{anchor:n,positionMethod:r=`absolute`,className:i,render:o,side:s=`bottom`,align:c=`center`,sideOffset:l=0,alignOffset:u=0,collisionBoundary:f=`clipping-ancestors`,collisionPadding:p,arrowPadding:m=5,sticky:h=!1,disableAnchorTracking:g,alignItemWithTrigger:_=!0,collisionAvoidance:b=a,...x}=e,{store:S,listRef:C,labelsRef:w,alignItemWithTriggerActiveRef:ee,selectedItemTextRef:T,valuesRef:E,initialValueRef:te,popupRef:D,setValue:O}=it(),ne=at(),k=q(S,$.open),A=q(S,$.mounted),j=q(S,$.modal),M=q(S,$.value),re=q(S,$.openMethod),N=q(S,$.positionerElement),P=q(S,$.triggerElement),F=q(S,$.isItemEqualToValue),I=q(S,$.transitionStatus),L=Z.useRef(null),ie=Z.useRef(null),[ae,B]=Z.useState(_),V=A&&ae&&re!==`touch`;!A&&ae!==_&&B(_),v(()=>{A||($.scrollUpArrowVisible(S.state)&&S.set(`scrollUpArrowVisible`,!1),$.scrollDownArrowVisible(S.state)&&S.set(`scrollDownArrowVisible`,!1))},[S,A]),Z.useImperativeHandle(ee,()=>V),Ne((V||j)&&k&&re!==`touch`,P);let oe=Ue({anchor:n,floatingRootContext:ne,positionMethod:r,mounted:A,side:s,sideOffset:l,align:c,alignOffset:u,arrowPadding:m,collisionBoundary:f,collisionPadding:p,sticky:h,disableAnchorTracking:g??V,collisionAvoidance:b,keepMounted:!0}),H=V?`none`:oe.side,se=V?Vt:oe.positionerStyles,U=Z.useMemo(()=>{let e={};return k||(e.pointerEvents=`none`),{role:`presentation`,hidden:!A,style:{...se,...e}}},[k,A,se]),ce={open:k,side:H,align:oe.align,anchorHidden:oe.anchorHidden},W=d(`div`,e,{ref:[t,y(e=>{S.set(`positionerElement`,e)})],state:ce,stateAttributesMapping:X,props:[U,Ge(I),x]}),G=Z.useRef(0),le=y(e=>{if(e.size===0&&G.current===0||E.current.length===0)return;let t=G.current;if(G.current=e.size,e.size===t)return;let n=R(z);if(t!==0&&!S.state.multiple&&M!==null&<(E.current,M,F)===-1){let e=te.current,t=e!=null&<(E.current,e,F)!==-1?e:null;O(t,n),t===null&&(S.set(`selectedIndex`,null),T.current=null)}if(t!==0&&S.state.multiple&&Array.isArray(M)){let e=e=>lt(E.current,e,F)!==-1,t=M.filter(t=>e(t));(t.length!==M.length||t.some(e=>!ct(M,e,F)))&&(O(t,n),t.length===0&&(S.set(`selectedIndex`,null),T.current=null))}if(k&&V){S.update({scrollUpArrowVisible:!1,scrollDownArrowVisible:!1});let e={height:``};zt(N,e),zt(D.current,e)}}),ue=Z.useMemo(()=>({...oe,side:H,alignItemWithTriggerActive:V,setControlledAlignItemWithTrigger:B,scrollUpArrowRef:L,scrollDownArrowRef:ie}),[oe,H,V,B]);return(0,Q.jsx)(Nt,{elementsRef:C,labelsRef:w,onMapChange:le,children:(0,Q.jsxs)(Lt.Provider,{value:ue,children:[A&&j&&(0,Q.jsx)(Oe,{inert:be(!k),cutout:P}),W]})})}),Ut=e(i());function Wt(e){let t=e.currentTarget.getBoundingClientRect();return t.top+1<=e.clientY&&e.clientY<=t.bottom-1&&t.left+1<=e.clientX&&e.clientX<=t.right-1}var Gt=`base-ui-disable-scrollbar`,Kt={className:Gt,getElement(e){return(0,Q.jsx)(`style`,{nonce:e,href:Gt,precedence:`base-ui:low`,children:`.${Gt}{scrollbar-width:none}.${Gt}::-webkit-scrollbar{display:none}`})}},qt=Z.createContext(void 0);function Jt(e){let t=Z.useContext(qt);if(t===void 0&&!e)throw Error(u(69));return t}function Yt(e,t=-(2**53-1),n=2**53-1){return Math.max(t,Math.min(e,n))}var Xt=Z.createContext(void 0),Zt={disableStyleElements:!1};function Qt(){return Z.useContext(Xt)??Zt}var $t=1,en={...X,...H},tn=Z.forwardRef(function(e,t){let{render:n,className:r,finalFocus:i,...a}=e,{store:o,popupRef:s,onOpenChangeComplete:c,setOpen:l,valueRef:u,selectedItemTextRef:f,keyboardActiveRef:p,multiple:m,handleScrollArrowVisibility:h,scrollHandlerRef:g,highlightItemOnHover:b}=it(),{side:x,align:S,alignItemWithTriggerActive:C,setControlledAlignItemWithTrigger:w,scrollDownArrowRef:ee,scrollUpArrowRef:T}=Rt(),E=Jt(!0)!=null,te=at(),{nonce:D,disableStyleElements:ne}=Qt(),k=Y(),A=q(o,$.id),j=q(o,$.open),M=q(o,$.mounted),re=q(o,$.popupProps),P=q(o,$.transitionStatus),F=q(o,$.triggerElement),I=q(o,$.positionerElement),L=q(o,$.listElement),ie=Z.useRef(0),z=Z.useRef(!1),ae=Z.useRef(0),B=Z.useRef(!1),V=Z.useRef({}),H=se(),ce=y(e=>{if(!I||!s.current||!B.current)return;if(z.current||!C){h();return}let t=I.style.top===`0px`,n=I.style.bottom===`0px`,r=I.getBoundingClientRect().height,i=O(I),a=getComputedStyle(I),o=parseFloat(a.marginTop),c=parseFloat(a.marginBottom),l=nn(getComputedStyle(s.current)),u=Math.min(i.documentElement.clientHeight-o-c,l),d=e.scrollTop,f=rn(e),p=0,m=null,g=!1,_=!1,v=e=>{I.style.height=`${e}px`},y=(t,n)=>{let i=Yt(t,0,u-r);i>0&&v(r+i),e.scrollTop=n,u-(r+i)<=$t&&(z.current=!0),h()};if(t){let e=f-d,t=r+e,n=Math.min(t,u);if(p=n,e<=$t){y(e,f);return}u-n>$t?_=!0:g=!0}else if(n){let e=d,t=r+e,n=Math.min(t,u),i=t-u;if(p=n,e<=$t){y(e,0);return}u-n>$t?m=0:(g=!0,d$t&&(e.scrollTop=n)}(g||p>=u-$t)&&(z.current=!0),h()});Z.useImperativeHandle(g,()=>ce,[ce]),U({open:j,ref:s,onComplete(){j&&c?.(!0)}});let W={open:j,transitionStatus:P,side:x,align:S};v(()=>{!I||!s.current||Object.keys(V.current).length||(V.current={top:I.style.top||`0`,left:I.style.left||`0`,right:I.style.right,height:I.style.height,bottom:I.style.bottom,minHeight:I.style.minHeight,maxHeight:I.style.maxHeight,marginTop:I.style.marginTop,marginBottom:I.style.marginBottom})},[s,I]),v(()=>{j||C||(B.current=!1,z.current=!1,ie.current=0,ae.current=0,zt(I,V.current))},[j,C,I,s]),v(()=>{let e=s.current;if(!(!j||!F||!I||!e||o.state.transitionStatus===`ending`)){if(!C){B.current=!0,H.request(h),e.style.removeProperty(`--transform-origin`);return}queueMicrotask(()=>{let t=cn(e);e.style.removeProperty(`--transform-origin`);try{let t=getComputedStyle(I),n=getComputedStyle(e),r=O(F),i=_(I),a=an(F),o=on(F.getBoundingClientRect(),a),s=on(I.getBoundingClientRect(),a),c=o.left,l=o.height,d=L||e,p=d.scrollHeight,m=parseFloat(n.borderBottomWidth),g=parseFloat(t.marginTop)||10,v=parseFloat(t.marginBottom)||10,y=parseFloat(t.minHeight)||100,b=nn(n),x=r.documentElement.clientHeight-g-v,S=r.documentElement.clientWidth,C=x-o.bottom+l,ee=f.current,T=u.current,E,te=0,D=0;if(ee&&T){let e=on(T.getBoundingClientRect(),a);E=on(ee.getBoundingClientRect(),a);let t=e.left-c,n=E.left-s.left,r=e.top-o.top+e.height/2,i=E.top-s.top+E.height/2;te=t-n,D=i-r}let ne=C+D+v+m,k=Math.min(x,ne),A=x-g-v,j=ne-k,M=Math.max(5,c+te),re=S-5,N=Math.max(0,M+s.width-re);I.style.left=`${M-N}px`,I.style.height=`${k}px`,I.style.maxHeight=`auto`,I.style.marginTop=`${g}px`,I.style.marginBottom=`${v}px`,e.style.height=`100%`;let P=rn(d),R=j>=P-$t;R&&(k=Math.min(x,s.height)-(j-P));let ae=o.top<20||o.bottom>x-20||Math.ceil(k)+$tw(!1));return}if(R){let e=Math.max(0,x-ne);I.style.top=s.height>=A?`0`:`${e}px`,I.style.height=`${k}px`,d.scrollTop=rn(d),ie.current=Math.max(y,k)}else I.style.bottom=`0`,ie.current=Math.max(y,k),d.scrollTop=j;if(E){let t=s.top,n=s.height,r=E.top+E.height/2,i=Yt(n>0?(r-t)/n*100:50,0,100);e.style.setProperty(`--transform-origin`,`50% ${i}%`)}(ie.current===x||k>=b)&&(z.current=!0),h(),setTimeout(()=>{B.current=!0})}finally{t()}})}},[o,j,I,F,u,f,s,h,C,w,H,ee,T,L]),Z.useEffect(()=>{if(!C||!I||!j)return;let e=_(I);function t(e){l(!1,R(N,e))}return e.addEventListener(`resize`,t),()=>{e.removeEventListener(`resize`,t)}},[l,C,I,j]);let G={...L?{role:`presentation`,"aria-orientation":void 0}:{role:`listbox`,"aria-multiselectable":m||void 0,id:`${A}-list`},onKeyDown(e){p.current=!0,E&&Me.has(e.key)&&e.stopPropagation()},onMouseMove(){p.current=!1},onPointerLeave(e){if(!b||Wt(e)||e.pointerType===`touch`)return;let t=e.currentTarget;k.start(0,()=>{o.set(`activeIndex`,null),t.focus({preventScroll:!0})})},onScroll(e){L||ce(e.currentTarget)},...C&&{style:L?{height:`100%`}:Bt}},le=d(`div`,e,{ref:[t,s],state:W,stateAttributesMapping:en,props:[re,G,Ge(P),{className:!L&&C?Kt.className:void 0},a]});return(0,Q.jsxs)(Z.Fragment,{children:[!ne&&Kt.getElement(D),(0,Q.jsx)(ye,{context:te,modal:!1,disabled:!M,returnFocus:i,restoreFocus:!0,children:le})]})});function nn(e){let t=e.maxHeight||``;return t.endsWith(`px`)&&parseFloat(t)||1/0}function rn(e){return Math.max(0,e.scrollHeight-e.clientHeight)}function an(e){return We.getScale(e)}function on(e,t){return xe({x:e.x/t.x,y:e.y/t.y,width:e.width/t.x,height:e.height/t.y})}var sn=[[`transform`,`none`],[`scale`,`1`],[`translate`,`0 0`]];function cn(e){let{style:t}=e,n={};for(let[e,r]of sn)n[e]=t.getPropertyValue(e),t.setProperty(e,r,`important`);return()=>{for(let[e]of sn){let r=n[e];r?t.setProperty(e,r):t.removeProperty(e)}}}var ln=Z.forwardRef(function(e,t){let{className:n,render:r,...i}=e,{store:a,scrollHandlerRef:o}=it(),{alignItemWithTriggerActive:s}=Rt(),c=q(a,$.hasScrollArrows),l=q(a,$.openMethod),u=q(a,$.multiple),f={id:`${q(a,$.id)}-list`,role:`listbox`,"aria-multiselectable":u||void 0,onScroll(e){o.current?.(e.currentTarget)},...s&&{style:Bt},className:c&&l!==`touch`?Kt.className:void 0};return d(`div`,e,{ref:[t,y(e=>{a.set(`listElement`,e)})],props:[f,i]})}),un=function(e){return e[e.None=0]=`None`,e[e.GuessFromOrder=1]=`GuessFromOrder`,e}({});function dn(e={}){let{label:t,metadata:n,textRef:r,indexGuessBehavior:i,index:a}=e,{register:o,unregister:s,subscribeMapChange:c,elementsRef:l,labelsRef:u,nextIndexRef:d}=Mt(),f=Z.useRef(-1),[p,m]=Z.useState(a??(i===un.GuessFromOrder?()=>{if(f.current===-1){let e=d.current;d.current+=1,f.current=e}return f.current}:-1)),h=Z.useRef(null),g=Z.useCallback(e=>{if(h.current=e,p!==-1&&e!==null&&(l.current[p]=e,u)){let n=t!==void 0;u.current[p]=n?t:r?.current?.textContent??e.textContent}},[p,l,u,t,r]);return v(()=>{if(a!=null)return;let e=h.current;if(e)return o(e,n),()=>{s(e)}},[a,o,s,n]),v(()=>{if(a==null)return c(e=>{let t=h.current?e.get(h.current)?.index:null;t!=null&&m(t)})},[a,c,m]),Z.useMemo(()=>({ref:g,index:p}),[p,g])}var fn=Z.createContext(void 0);function pn(){let e=Z.useContext(fn);if(!e)throw Error(u(57));return e}var mn=Z.memo(Z.forwardRef(function(e,t){let{render:n,className:r,value:i=null,label:a,disabled:o=!1,nativeButton:s=!1,...c}=e,l=Z.useRef(null),u=dn({label:a,textRef:l,indexGuessBehavior:un.GuessFromOrder}),{store:f,getItemProps:p,setOpen:m,setValue:h,selectionRef:g,typingRef:_,valuesRef:y,keyboardActiveRef:x,multiple:S,highlightItemOnHover:C}=it(),w=Y(),ee=q(f,$.isActive,u.index),T=q(f,$.isSelected,u.index,i),E=q(f,$.isSelectedByFocus,u.index),te=q(f,$.isItemEqualToValue),D=u.index,O=D!==-1,ne=Z.useRef(null),k=le(D);v(()=>{if(!O)return;let e=y.current;return e[D]=i,()=>{delete e[D]}},[O,D,i,y]),v(()=>{if(!O)return;let e=f.state.value,t=e;S&&Array.isArray(e)&&e.length>0&&(t=e[e.length-1]),t!==void 0&&st(i,t,te)&&f.set(`selectedIndex`,D)},[O,D,S,te,f,i]);let A={disabled:o,selected:T,highlighted:ee},j=p({active:ee,selected:T});j.onFocus=void 0,j.id=void 0;let re=Z.useRef(null),N=Z.useRef(`mouse`),P=Z.useRef(!1),{getButtonProps:F,buttonRef:I}=b({disabled:o,focusableWhenDisabled:!0,native:s,composite:!0});function L(e){let t=f.state.value;if(S){let n=Array.isArray(t)?t:[];h(T?ut(n,i,te):[...n,i],R(M,e))}else h(i,R(M,e)),m(!1,R(M,e))}let ie={role:`option`,"aria-selected":T,tabIndex:ee?0:-1,onFocus(){f.set(`activeIndex`,D)},onMouseEnter(){!x.current&&f.state.selectedIndex===null&&C&&f.set(`activeIndex`,D)},onMouseMove(){C&&f.set(`activeIndex`,D)},onMouseLeave(e){!C||x.current||Wt(e)||w.start(0,()=>{f.state.activeIndex===D&&f.set(`activeIndex`,null)})},onTouchStart(){g.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1}},onKeyDown(e){re.current=e.key,f.set(`activeIndex`,D),e.key===` `&&_.current&&e.preventDefault()},onClick(e){P.current=!1,!(e.type===`keydown`&&re.current===null)&&(o||e.type===`keydown`&&re.current===` `&&_.current||N.current!==`touch`&&!ee||(re.current=null,L(e.nativeEvent)))},onPointerEnter(e){N.current=e.pointerType},onPointerDown(e){N.current=e.pointerType,P.current=!0},onMouseUp(){if(o)return;if(P.current){P.current=!1;return}let e=!g.current.allowSelectedMouseUp&&T,t=!g.current.allowUnselectedMouseUp&&!T;e||t||N.current!==`touch`&&!ee||ne.current?.click()}},z=d(`div`,e,{ref:[I,t,u.ref,ne],state:A,props:[j,ie,c,F]}),ae=Z.useMemo(()=>({selected:T,indexRef:k,textRef:l,selectedByFocus:E,hasRegistered:O}),[T,k,l,E,O]);return(0,Q.jsx)(fn.Provider,{value:ae,children:z})})),hn=Z.forwardRef(function(e,t){let n=e.keepMounted??!1,{selected:r}=pn();return n||r?(0,Q.jsx)(gn,{...e,ref:t}):null}),gn=Z.memo(Z.forwardRef((e,t)=>{let{render:n,className:r,keepMounted:i,...a}=e,{selected:o}=pn(),s=Z.useRef(null),{transitionStatus:c,setMounted:l}=ce(o),u=d(`span`,e,{ref:[t,s],state:{selected:o,transitionStatus:c},props:[{"aria-hidden":!0,children:`✔️`},a],stateAttributesMapping:H});return U({open:o,ref:s,onComplete(){o||l(!1)}}),u})),_n=Z.memo(Z.forwardRef(function(e,t){let{indexRef:n,textRef:r,selectedByFocus:i,hasRegistered:a}=pn(),{selectedItemTextRef:o}=it(),{className:s,render:c,...l}=e;return d(`div`,e,{ref:[Z.useCallback(e=>{if(!e||!a)return;let t=o.current===null||!o.current.isConnected;(i||t&&n.current===0)&&(o.current=e)},[o,n,i,a]),t,r],props:l})})),vn=Z.forwardRef(function(e,t){let{render:n,className:r,direction:i,keepMounted:a=!1,...o}=e,{store:s,popupRef:c,listRef:l,handleScrollArrowVisibility:u,scrollArrowsMountedCountRef:f}=it(),{side:p,scrollDownArrowRef:m,scrollUpArrowRef:h}=Rt(),g=q(s,i===`up`?$.scrollUpArrowVisible:$.scrollDownArrowVisible),_=q(s,$.openMethod),y=g&&_!==`touch`,b=Y(),x=i===`up`?h:m,{transitionStatus:S,setMounted:C}=ce(y);v(()=>(f.current+=1,s.state.hasScrollArrows||s.set(`hasScrollArrows`,!0),()=>{f.current=Math.max(0,f.current-1),f.current===0&&s.state.hasScrollArrows&&s.set(`hasScrollArrows`,!1)}),[s,f]),U({open:y,ref:x,onComplete(){y||C(!1)}});let w=d(`div`,e,{ref:[t,x],state:{direction:i,visible:y,side:p,transitionStatus:S},props:[{"aria-hidden":!0,children:i===`up`?`▲`:`▼`,style:{position:`absolute`},onMouseMove(e){if(e.movementX===0&&e.movementY===0||b.isStarted())return;s.set(`activeIndex`,null);function t(){let e=s.state.listElement??c.current;if(!e)return;s.set(`activeIndex`,null),u();let n=e.scrollTop===0,r=Math.round(e.scrollTop+e.clientHeight)>=e.scrollHeight;if(l.current.length===0&&(i===`up`?s.set(`scrollUpArrowVisible`,!n):s.set(`scrollDownArrowVisible`,!r)),i===`up`&&n||i===`down`&&r){b.clear();return}if((s.state.listElement||c.current)&&l.current&&l.current.length>0){let t=l.current,n=x.current?.offsetHeight||0;if(i===`up`){let r=0,i=e.scrollTop+n;for(let e=0;e=i){r=e;break}}let a=Math.max(0,r-1);if(ai){r=Math.max(0,e-1);break}}let a=Math.min(t.length-1,r+1);if(a>r){let r=t[a];r&&(e.scrollTop=r.offsetTop+r.offsetHeight-e.clientHeight+n)}else e.scrollTop=e.scrollHeight-e.clientHeight}}b.start(40,t)}b.start(40,t)},onMouseLeave(){b.clear()}},o]});return y||a?w:null}),yn=Z.forwardRef(function(e,t){return(0,Q.jsx)(vn,{...e,ref:t,direction:`down`})}),bn=Z.forwardRef(function(e,t){return(0,Q.jsx)(vn,{...e,ref:t,direction:`up`})}),xn=r(),Sn=vt;function Cn(e){let t=(0,xn.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=p(`flex flex-1 text-left`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(Dt,{className:i,"data-slot":`select-value`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function wn(e){let t=(0,xn.c)(15),n,r,i,a,o;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5]):({className:r,size:o,id:i,children:n,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o);let s=o===void 0?`default`:o,c;t[6]===r?c=t[7]:(c=p(`flex w-fit items-center justify-between gap-1.5 rounded-md border border-input bg-input/20 px-2 py-1.5 text-xs/relaxed whitespace-nowrap transition-colors outline-none focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-7 data-[size=sm]:h-6 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5`,r),t[6]=r,t[7]=c);let l;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsx)(Ot,{render:(0,Q.jsx)(g,{className:`pointer-events-none size-3.5 text-muted-foreground`})}),t[8]=l):l=t[8];let u;return t[9]!==n||t[10]!==i||t[11]!==a||t[12]!==s||t[13]!==c?(u=(0,Q.jsxs)(Tt,{className:c,"data-size":s,"data-slot":`select-trigger`,id:i,...a,children:[n,l]}),t[9]=n,t[10]=i,t[11]=a,t[12]=s,t[13]=c,t[14]=u):u=t[14],u}function Tn(e){let t=(0,xn.c)(26),n,r,i,a,o,s,c,l;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7],l=t[8]):({className:r,children:n,side:a,sideOffset:o,align:s,alignOffset:c,alignItemWithTrigger:l,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l);let u=a===void 0?`bottom`:a,d=o===void 0?4:o,f=s===void 0?`center`:s,m=c===void 0?0:c,h=l===void 0?!0:l,g;t[9]===r?g=t[10]:(g=p(`data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-closed:animate-out data-open:animate-in relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100`,r),t[9]=r,t[10]=g);let _;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,Q.jsx)(Dn,{}),t[11]=_):_=t[11];let v;t[12]===n?v=t[13]:(v=(0,Q.jsx)(ln,{children:n}),t[12]=n,t[13]=v);let y;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Q.jsx)(On,{}),t[14]=y):y=t[14];let b;t[15]!==i||t[16]!==g||t[17]!==v?(b=(0,Q.jsxs)(tn,{className:g,"data-slot":`select-content`,...i,children:[_,v,y]}),t[15]=i,t[16]=g,t[17]=v,t[18]=b):b=t[18];let x;return t[19]!==f||t[20]!==h||t[21]!==m||t[22]!==u||t[23]!==d||t[24]!==b?(x=(0,Q.jsx)(At,{children:(0,Q.jsx)(Ht,{align:f,alignItemWithTrigger:h,alignOffset:m,className:`isolate z-50`,side:u,sideOffset:d,children:b})}),t[19]=f,t[20]=h,t[21]=m,t[22]=u,t[23]=d,t[24]=b,t[25]=x):x=t[25],x}function En(e){let t=(0,xn.c)(13),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]===r?a=t[5]:(a=p(`relative flex min-h-7 w-full cursor-default items-center gap-2 rounded-md px-2 py-1 text-xs/relaxed outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,r),t[4]=r,t[5]=a);let o;t[6]===n?o=t[7]:(o=(0,Q.jsx)(_n,{className:`flex flex-1 shrink-0 gap-2 whitespace-nowrap`,children:n}),t[6]=n,t[7]=o);let s;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Q.jsx)(hn,{render:(0,Q.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex items-center justify-center`}),children:(0,Q.jsx)(h,{className:`pointer-events-none`})}),t[8]=s):s=t[8];let c;return t[9]!==i||t[10]!==a||t[11]!==o?(c=(0,Q.jsxs)(mn,{className:a,"data-slot":`select-item`,...i,children:[o,s]}),t[9]=i,t[10]=a,t[11]=o,t[12]=c):c=t[12],c}function Dn(e){let t=(0,xn.c)(9),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=p(`top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-3.5`,n),t[3]=n,t[4]=i);let a;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(Ke,{}),t[5]=a):a=t[5];let o;return t[6]!==r||t[7]!==i?(o=(0,Q.jsx)(bn,{className:i,"data-slot":`select-scroll-up-button`,...r,children:a}),t[6]=r,t[7]=i,t[8]=o):o=t[8],o}function On(e){let t=(0,xn.c)(9),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=p(`bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-3.5`,n),t[3]=n,t[4]=i);let a;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(g,{}),t[5]=a):a=t[5];let o;return t[6]!==r||t[7]!==i?(o=(0,Q.jsx)(yn,{className:i,"data-slot":`select-scroll-down-button`,...r,children:a}),t[6]=r,t[7]=i,t[8]=o):o=t[8],o}export{Cn as a,wn as i,Tn as n,En as r,Sn as t}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{hn as i}from"./awsClient.js";import{a,c as o,f as s,g as c,l,m as u,n as d,p as f}from"./dist.js";import{I as p}from"./SignatureV4.js";import{t as m}from"./createLucideIcon.js";import{t as h}from"./check.js";import{t as g}from"./chevron-down.js";import{_,b as v,c as y,o as b,r as x}from"./button.js";import{a as S,c as C,i as w,n as ee,o as T,r as E,s as te}from"./separator.js";import{A as D,B as O,C as k,D as A,O as j,_ as M,c as N,g as ne,h as P,k as F,l as I,m as L,n as R,o as re,t as z,u as B,v as ie,w as V,y as H,z as ae}from"./createBaseUIEventDetails.js";import{a as U,c as oe,n as W,t as se}from"./useTransitionStatus.js";import{$ as G,A as ce,B as le,Ct as K,E as q,Et as ue,G as J,I as de,J as fe,K as pe,M as me,N as he,P as ge,Q as _e,R as ve,St as ye,T as be,Tt as xe,U as Se,W as Ce,X as we,Y as Te,Z as Ee,a as De,et as Oe,f as ke,i as Ae,j as Y,k as X,kt as je,n as Me,q as Ne,r as Pe,t as Fe,tt as Ie,wt as Le,x as Re,yt as ze,z as Be}from"./useOpenInteractionType.js";import{a as Ve,n as He,o as Ue,s as We,t as Ge}from"./getDisabledMountTransitionStyles.js";var Ke=m(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),Z=e(n());function qe(e,t={}){let n=`rootStore`in e?e.rootStore:e,r=n.context.dataRef,{enabled:i=!0,event:a=`click`,toggle:o=!0,ignoreMouse:s=!1,stickIfOpen:c=!0,touchOpenDelay:u=0,reason:d=L}=t,f=Z.useRef(void 0),p=oe(),m=je(),h=Z.useMemo(()=>({onPointerDown(e){f.current=e.pointerType},onMouseDown(e){let t=f.current,i=e.nativeEvent,l=n.select(`open`);if(e.button!==0||a===`click`||K(t,!0)&&s)return;let h=r.current.openEvent,g=h?.type,_=n.select(`domReferenceElement`)!==e.currentTarget,v=l&&_||!(l&&o&&(!(h&&c)||g===`click`||g===`mousedown`));if(V(i.target)){let e=z(d,i,i.target);v&&t===`touch`&&u>0?m.start(u,()=>{n.setOpen(!0,e)}):n.setOpen(v,e);return}let y=e.currentTarget;p.request(()=>{let e=z(d,i,y);v&&t===`touch`&&u>0?m.start(u,()=>{n.setOpen(!0,e)}):n.setOpen(v,e)})},onClick(e){if(a===`mousedown-only`)return;let t=f.current;if(a===`mousedown`&&t){f.current=void 0;return}if(K(t,!0)&&s)return;let i=n.select(`open`),l=r.current.openEvent,p=n.select(`domReferenceElement`)!==e.currentTarget,h=i&&p||!(i&&o&&(!(l&&c)||ye(l))),g=z(d,e.nativeEvent,e.currentTarget);h&&t===`touch`&&u>0?m.start(u,()=>{n.setOpen(!0,g)}):n.setOpen(h,g)},onKeyDown(){f.current=void 0}}),[r,a,s,n,c,o,p,m,u,d]);return Z.useMemo(()=>i?{reference:h}:l,[i,h])}var Je=`Escape`;function Ye(e,t,n){switch(e){case`vertical`:return t;case`horizontal`:return n;default:return t||n}}function Xe(e,t){return Ye(t,e===`ArrowUp`||e===`ArrowDown`,e===`ArrowLeft`||e===`ArrowRight`)}function Ze(e,t,n){return Ye(t,e===`ArrowDown`,n?e===`ArrowLeft`:e===`ArrowRight`)||e===`Enter`||e===` `||e===``}function Qe(e,t,n){return Ye(t,n?e===j:e===F,e===A)}function $e(e,t,n,r){return t===`both`||t===`horizontal`&&r&&r>1?e===Je:Ye(t,n?e===F:e===j,e===D)}function et(e,t){let n=`rootStore`in e?e.rootStore:e,r=n.useState(`open`),i=n.useState(`floatingElement`),a=n.useState(`domReferenceElement`),o=n.context.dataRef,{listRef:s,activeIndex:c,onNavigate:l=()=>{},enabled:u=!0,selectedIndex:d=null,allowEscape:f=!1,loopFocus:p=!1,nested:m=!1,rtl:h=!1,virtual:g=!1,focusItemOnOpen:_=`auto`,focusItemOnHover:x=!0,openOnArrowKeyDown:S=!0,disabledIndices:C=void 0,orientation:w=`vertical`,parentOrientation:ee,cols:T=1,id:E,resetOnPointerLeave:te=!0,externalTree:D}=t,A=le(ie(i)),j=me(),N=he(D);b(()=>{o.current.orientation=w},[o,w]);let P=k(a),F=Z.useRef(_),L=Z.useRef(d??-1),R=Z.useRef(null),B=Z.useRef(!0),V=y(e=>{l(L.current===-1?null:L.current,e)}),ae=Z.useRef(V),U=Z.useRef(!!i),oe=Z.useRef(r),W=Z.useRef(!1),se=Z.useRef(!1),G=le(C),ce=le(r),K=le(d),q=le(te),J=y(()=>{function e(e){g?N?.events.emit(`virtualfocus`,e):de(e,{sync:W.current,preventScroll:!0})}let t=s.current[L.current],n=se.current;t&&e(t),(W.current?e=>e():requestAnimationFrame)(()=>{let r=s.current[L.current]||t;r&&(t||e(r),ve&&(n||!B.current)&&r.scrollIntoView?.({block:`nearest`,inline:`nearest`}))})});b(()=>{u&&(r&&i?(L.current=d??-1,F.current&&d!=null&&(se.current=!0,V())):U.current&&(L.current=-1,ae.current()))},[u,r,i,d,V]),b(()=>{if(u){if(!r){W.current=!1;return}if(i)if(c==null){if(W.current=!1,K.current!=null)return;if(U.current&&(L.current=-1,J()),(!oe.current||!U.current)&&F.current&&(R.current!=null||F.current===!0&&R.current==null)){let e=0,t=()=>{s.current[0]==null?(e<2&&(e?requestAnimationFrame:queueMicrotask)(t),e+=1):(L.current=R.current==null||Ze(R.current,w,h)||m?_e(s):Ee(s),R.current=null,V())};t()}}else Oe(s,c)||(L.current=c,J(),se.current=!1)}},[u,r,i,c,K,m,s,w,h,V,J,G]),b(()=>{if(!u||i||!N||g||!U.current)return;let e=N.nodesRef.current,t=e.find(e=>e.id===j)?.context?.elements.floating,n=ne(O(i)),r=e.some(e=>e.context&&M(e.context.elements.floating,n));t&&!r&&B.current&&t.focus({preventScroll:!0})},[u,i,N,j,g]),b(()=>{ae.current=V,oe.current=r,U.current=!!i}),b(()=>{r||(R.current=null,F.current=_)},[r,_]);let ge=c!=null,ve=Z.useMemo(()=>{function e(e){if(!ce.current)return;let t=s.current.indexOf(e.currentTarget);t!==-1&&L.current!==t&&(L.current=t,V(e))}return{onFocus(t){W.current=!0,e(t)},onClick:({currentTarget:e})=>e.focus({preventScroll:!0}),onMouseMove(t){W.current=!0,se.current=!1,x&&e(t)},onPointerLeave(e){if(!ce.current||!B.current||e.pointerType===`touch`)return;W.current=!0;let t=e.relatedTarget;if(!(!x||s.current.includes(t))&&q.current&&(de(null,{sync:!0}),L.current=-1,V(e),!g)){let e=A.current,t=ne(O(e));e&&M(e,t)&&e.focus({preventScroll:!0})}}}},[ce,A,x,s,V,q,g]),ye=Z.useCallback(()=>ee??N?.nodesRef.current.find(e=>e.id===j)?.context?.dataRef?.current.orientation,[j,N,ee]),be=y(e=>{if(B.current=!1,W.current=!0,e.which===229||!ce.current&&e.currentTarget===A.current)return;if(m&&$e(e.key,w,h,T)){Xe(e.key,ye())||ue(e),n.setOpen(!1,z(I,e.nativeEvent)),v(a)&&(g?N?.events.emit(`virtualfocus`,a):a.focus());return}let t=L.current,i=_e(s,C),o=Ee(s,C);if(P||(e.key===`Home`&&(ue(e),L.current=i,V(e)),e.key===`End`&&(ue(e),L.current=o,V(e))),T>1){let t=Array.from({length:s.current.length},()=>({width:1,height:1})),n=pe(t,T,!1),r=n.findIndex(e=>e!=null&&!Ie(s,e,C)),a=n.reduce((e,t,n)=>t!=null&&!Ie(s,t,C)?n:e,-1),c=n[we({current:n.map(e=>e==null?null:s.current[e])},{event:e,orientation:w,loopFocus:p,rtl:h,cols:T,disabledIndices:Te([...(typeof C==`function`?null:C)||s.current.map((e,t)=>Ie(s,t,C)?t:void 0),void 0],n),minIndex:r,maxIndex:a,prevIndex:fe(L.current>o?i:L.current,t,n,T,e.key===`ArrowDown`?`bl`:e.key===(h?`ArrowLeft`:`ArrowRight`)?`tr`:`tl`),stopEvent:!0})];if(c!=null&&(L.current=c,V(e)),w===`both`)return}if(Xe(e.key,w)){if(ue(e),r&&!g&&ne(e.currentTarget.ownerDocument)===e.currentTarget){L.current=Ze(e.key,w,h)?i:o,V(e);return}Ze(e.key,w,h)?p?t>=o?f&&t!==s.current.length?L.current=-1:(W.current=!1,L.current=i):L.current=Ne(s,{startingIndex:t,disabledIndices:C}):L.current=Math.min(o,Ne(s,{startingIndex:t,disabledIndices:C})):p?t<=i?f&&t!==-1?L.current=s.current.length:(W.current=!1,L.current=o):L.current=Ne(s,{startingIndex:t,decrement:!0,disabledIndices:C}):L.current=Math.max(i,Ne(s,{startingIndex:t,decrement:!0,disabledIndices:C})),Oe(s,L.current)&&(L.current=-1),V(e)}}),Se=Z.useMemo(()=>g&&r&&ge&&{"aria-activedescendant":`${E}-${c}`},[g,r,ge,E,c]),Ce=Z.useMemo(()=>({"aria-orientation":w===`both`?void 0:w,...P?{}:Se,onKeyDown(e){if(e.key===`Tab`&&e.shiftKey&&r&&!g){let t=H(e.nativeEvent);if(t&&!M(A.current,t))return;ue(e),n.setOpen(!1,z(re,e.nativeEvent)),v(a)&&a.focus();return}be(e)},onPointerMove(){B.current=!0}}),[Se,be,A,w,P,n,r,g,a]),De=Z.useMemo(()=>{function e(e){_===`auto`&&Le(e.nativeEvent)&&(F.current=!g)}function t(e){F.current=_,_===`auto`&&xe(e.nativeEvent)&&(F.current=!0)}return{onKeyDown(e){let t=n.select(`open`);B.current=!1;let r=e.key.startsWith(`Arrow`),i=Qe(e.key,ye(),h),a=Xe(e.key,w),o=(m?i:a)||e.key===`Enter`||e.key.trim()===``;if(g&&t)return be(e);if(!(!t&&!S&&r)){if(o){let t=Xe(e.key,ye());R.current=m&&t?null:e.key}if(m){i&&(ue(e),t?(L.current=_e(s,G.current),V(e)):n.setOpen(!0,z(I,e.nativeEvent,e.currentTarget)));return}a&&(K.current!=null&&(L.current=K.current),ue(e),!t&&S?n.setOpen(!0,z(I,e.nativeEvent,e.currentTarget)):be(e),t&&V(e))}},onFocus(e){n.select(`open`)&&!g&&(L.current=-1,V(e))},onPointerDown:t,onPointerEnter:t,onMouseDown:e,onClick:e}},[be,G,_,s,m,V,n,S,w,ye,h,K,g]),ke=Z.useMemo(()=>({...Se,...De}),[Se,De]);return Z.useMemo(()=>u?{reference:ke,floating:Ce,item:ve,trigger:De}:{},[u,ke,Ce,De,ve])}function tt(e,t){let n=`rootStore`in e?e.rootStore:e,r=n.context.dataRef,i=n.useState(`open`),{listRef:a,elementsRef:o,activeIndex:s,onMatch:c,onTypingChange:l,enabled:u=!0,resetMs:d=750,selectedIndex:f=null}=t,p=je(),m=Z.useRef(``),h=Z.useRef(f??s??-1),g=Z.useRef(null);b(()=>{!i&&f!==null||(p.clear(),g.current=null,m.current!==``&&(m.current=``))},[i,f,p]),b(()=>{i&&m.current===``&&(h.current=f??s??-1)},[i,f,s]);let _=y(e=>{e?r.current.typing||(r.current.typing=e,l?.(e)):r.current.typing&&(r.current.typing=e,l?.(e))}),v=y(e=>{function t(e){let t=o?.current[e];return!t||G(t)}function n(e,n,r=0){if(e.length===0)return-1;let i=(r%e.length+e.length)%e.length,a=n.toLocaleLowerCase();for(let n=0;n0&&e.key===` `&&(ue(e),_(!0)),m.current.length>0&&m.current[0]!==` `&&n(r,m.current)===-1&&e.key!==` `&&_(!1),r==null||e.key.length!==1||e.ctrlKey||e.metaKey||e.altKey)return;i&&e.key!==` `&&(ue(e),_(!0));let l=m.current===``;l&&(h.current=f??s??-1),r.every(e=>e?e[0]?.toLocaleLowerCase()!==e[1]?.toLocaleLowerCase():!0)&&m.current===e.key&&(m.current=``,h.current=g.current),m.current+=e.key,p.start(d,()=>{m.current=``,h.current=g.current,_(!1)});let u=((l?f??s??-1:h.current)??0)+1,v=n(r,m.current,u);v===-1?e.key!==` `&&(m.current=``,_(!1)):(c?.(v),g.current=v)}),x=y(e=>{let t=e.relatedTarget,r=n.select(`domReferenceElement`),i=n.select(`floatingElement`),a=M(r,t),o=M(i,t);a||o||(p.clear(),m.current=``,h.current=g.current,_(!1))}),S=Z.useMemo(()=>({onKeyDown:v,onBlur:x}),[v,x]),C=Z.useMemo(()=>({onKeyDown:v,onBlur:x}),[v,x]);return Z.useMemo(()=>u?{reference:S,floating:C}:{},[u,S,C])}var nt=Z.createContext(null),rt=Z.createContext(null);function it(){let e=Z.useContext(nt);if(e===null)throw Error(u(60));return e}function at(){let e=Z.useContext(rt);if(e===null)throw Error(u(61));return e}var ot=(e,t)=>Object.is(e,t);function st(e,t,n){return e==null||t==null?Object.is(e,t):n(e,t)}function ct(e,t,n){return!e||e.length===0?!1:e.some(e=>e===void 0?!1:st(t,e,n))}function lt(e,t,n){return!e||e.length===0?-1:e.findIndex(e=>e===void 0?!1:st(e,t,n))}function ut(e,t,n){return e.filter(e=>!st(t,e,n))}function dt(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}var Q=t();function ft(e){return e!=null&&e.length>0&&typeof e[0]==`object`&&e[0]!=null&&`items`in e[0]}function pt(e){if(!Array.isArray(e))return e!=null&&`null`in e;let t=e;if(ft(t)){for(let e of t)for(let t of e.items)if(t&&t.value==null&&t.label!=null)return!0;return!1}for(let e of t)if(e&&e.value==null&&e.label!=null)return!0;return!1}function mt(e,t){if(t&&e!=null)return t(e)??``;if(e&&typeof e==`object`){if(`label`in e&&e.label!=null)return String(e.label);if(`value`in e)return String(e.value)}return dt(e)}function ht(e,t){return t&&e!=null?t(e)??``:e&&typeof e==`object`&&`value`in e&&`label`in e?dt(e.value):dt(e)}function gt(e,t,n){function r(){return mt(e,n)}if(n&&e!=null)return n(e);if(e&&typeof e==`object`&&`label`in e&&e.label!=null)return e.label;if(t&&!Array.isArray(t))return t[e]??r();if(Array.isArray(t)){let n=t,i=ft(n)?n.flatMap(e=>e.items):n;if(typeof e!=`object`||!e){let t=i.find(t=>t.value===e);return t&&t.label!=null?t.label:r()}if(`value`in e){let t=i.find(t=>t&&t.value===e.value);if(t&&t.label!=null)return t.label}}return r()}function _t(e,t,n){return e.reduce((e,r,i)=>(i>0&&e.push(`, `),e.push((0,Q.jsx)(Z.Fragment,{children:gt(r,t,n)},i)),e),[])}var $={id:X(e=>e.id),labelId:X(e=>e.labelId),modal:X(e=>e.modal),multiple:X(e=>e.multiple),items:X(e=>e.items),itemToStringLabel:X(e=>e.itemToStringLabel),itemToStringValue:X(e=>e.itemToStringValue),isItemEqualToValue:X(e=>e.isItemEqualToValue),value:X(e=>e.value),hasSelectedValue:X(e=>{let{value:t,multiple:n,itemToStringValue:r}=e;return t==null?!1:n&&Array.isArray(t)?t.length>0:ht(t,r)!==``}),hasNullItemLabel:X((e,t)=>t?pt(e.items):!1),open:X(e=>e.open),mounted:X(e=>e.mounted),forceMount:X(e=>e.forceMount),transitionStatus:X(e=>e.transitionStatus),openMethod:X(e=>e.openMethod),activeIndex:X(e=>e.activeIndex),selectedIndex:X(e=>e.selectedIndex),isActive:X((e,t)=>e.activeIndex===t),isSelected:X((e,t,n)=>{let r=e.isItemEqualToValue,i=e.value;return e.multiple?Array.isArray(i)&&i.some(e=>st(n,e,r)):e.selectedIndex===t&&e.selectedIndex!==null?!0:st(n,i,r)}),isSelectedByFocus:X((e,t)=>e.selectedIndex===t),popupProps:X(e=>e.popupProps),triggerProps:X(e=>e.triggerProps),triggerElement:X(e=>e.triggerElement),positionerElement:X(e=>e.positionerElement),listElement:X(e=>e.listElement),scrollUpArrowVisible:X(e=>e.scrollUpArrowVisible),scrollDownArrowVisible:X(e=>e.scrollDownArrowVisible),hasScrollArrows:X(e=>e.hasScrollArrows)};function vt(e){let{id:t,value:n,defaultValue:r=null,onValueChange:i,open:a,defaultOpen:u=!1,onOpenChange:d,name:p,autoComplete:m,disabled:h=!1,readOnly:g=!1,required:_=!1,modal:v=!0,actionsRef:x,inputRef:S,onOpenChangeComplete:C,items:D,multiple:O=!1,itemToStringLabel:k,itemToStringValue:A,isItemEqualToValue:j=ot,highlightItemOnHover:M=!0,children:N}=e,{clearErrors:ne}=T(),{setDirty:P,setTouched:F,setFocused:I,shouldValidateOnChange:L,validityData:R,setFilled:re,name:ie,disabled:V,validation:H,validationMode:ae}=te(),U=E({id:t}),oe=V||h,G=ie??p,[K,ue]=w({controlled:n,default:O?r??o:r,name:`Select`,state:`value`}),[J,de]=w({controlled:a,default:u,name:`Select`,state:`open`}),fe=Z.useRef([]),pe=Z.useRef([]),me=Z.useRef(null),he=Z.useRef(null),ge=Z.useRef(0),_e=Z.useRef(null),ye=Z.useRef([]),xe=Z.useRef(!1),Se=Z.useRef(!1),Ce=Z.useRef(null),we=Z.useRef({allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1}),Te=Z.useRef(!1),{mounted:Ee,setMounted:De,transitionStatus:Oe}=se(J),{openMethod:ke,triggerProps:Ae}=Fe(J),Y=f(()=>new be({id:U,labelId:void 0,modal:v,multiple:O,itemToStringLabel:k,itemToStringValue:A,isItemEqualToValue:j,value:K,open:J,mounted:Ee,transitionStatus:Oe,items:D,forceMount:!1,openMethod:null,activeIndex:null,selectedIndex:null,popupProps:{},triggerProps:{},triggerElement:null,positionerElement:null,listElement:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1,hasScrollArrows:!1})).current,X=q(Y,$.activeIndex),je=q(Y,$.selectedIndex),Ne=q(Y,$.triggerElement),Pe=q(Y,$.positionerElement),Ie=Z.useMemo(()=>O&&Array.isArray(K)&&K.length===0?``:ht(K,A),[O,K,A]),Le=Z.useMemo(()=>O&&Array.isArray(K)?K.map(e=>ht(e,A)):ht(K,A),[O,K,A]),ze=le(Y.state.triggerElement);ee({id:U,commit:H.commit,value:K,controlRef:ze,name:G,getValue:()=>Le});let He=Z.useRef(K);b(()=>{K!==He.current&&Y.set(`forceMount`,!0)},[Y,K]),b(()=>{re(O?Array.isArray(K)&&K.length>0:K!=null)},[O,K,re]),b(function(){if(J)return;let e=ye.current;if(O){let t=Array.isArray(K)?K:[];if(t.length===0){Y.set(`selectedIndex`,null);return}let n=t[t.length-1],r=lt(e,n,j);Y.set(`selectedIndex`,r===-1?null:r);return}let t=lt(e,K,j);Y.set(`selectedIndex`,t===-1?null:t)},[O,J,K,ye,j,Y]),Me(K,()=>{ne(G),P(K!==R.initialValue),L()?H.commit(K):H.commit(K,!0)});let We=y((e,t)=>{if(d?.(e,t),!t.isCanceled&&(de(e),!e&&(t.reason===`focus-out`||t.reason===`outside-press`)&&(F(!0),I(!1),ae===`onBlur`&&H.commit(K)),!e&&Y.state.activeIndex!==null)){let e=fe.current[Y.state.activeIndex];queueMicrotask(()=>{e?.setAttribute(`tabindex`,`-1`)})}}),Ge=y(()=>{De(!1),Y.set(`activeIndex`,null),C?.(!1)});W({enabled:!x,open:J,ref:me,onComplete(){J||Ge()}}),Z.useImperativeHandle(x,()=>({unmount:Ge}),[Ge]);let Ke=y((e,t)=>{i?.(e,t),!t.isCanceled&&ue(e)}),Je=y(()=>{let e=Y.state.listElement||me.current;if(!e)return;let t=e.scrollTop,n=e.scrollTop+e.clientHeight,r=t>1,i=nc(Xe(),Ae,U?{id:U}:l),[Xe,Ae,U]);Ve(()=>{Y.update({popupProps:Ze(),triggerProps:$e})}),b(()=>{Y.update({id:U,modal:v,multiple:O,value:K,open:J,mounted:Ee,transitionStatus:Oe,popupProps:Ze(),triggerProps:$e,items:D,itemToStringLabel:k,itemToStringValue:A,isItemEqualToValue:j,openMethod:ke})},[Y,U,v,O,K,J,Ee,Oe,Ze,$e,D,k,A,j,ke]);let it=Z.useMemo(()=>({store:Y,name:G,required:_,disabled:oe,readOnly:g,multiple:O,itemToStringLabel:k,itemToStringValue:A,highlightItemOnHover:M,setValue:Ke,setOpen:We,listRef:fe,popupRef:me,scrollHandlerRef:he,handleScrollArrowVisibility:Je,scrollArrowsMountedCountRef:ge,getItemProps:Qe,events:Ye.context.events,valueRef:_e,valuesRef:ye,labelsRef:pe,typingRef:xe,selectionRef:we,selectedItemTextRef:Ce,validation:H,onOpenChangeComplete:C,keyboardActiveRef:Se,alignItemWithTriggerActiveRef:Te,initialValueRef:He}),[Y,G,_,oe,g,O,k,A,M,Ke,We,Qe,Ye.context.events,H,C,Je]),at=s(S,H.inputRef),st=O&&Array.isArray(K)&&K.length>0,ct=O?void 0:G,ut=Z.useMemo(()=>!O||!Array.isArray(K)||!G?null:K.map(e=>{let t=ht(e,A);return(0,Q.jsx)(`input`,{type:`hidden`,name:G,value:t},t)}),[O,K,G,A]);return(0,Q.jsx)(nt.Provider,{value:it,children:(0,Q.jsxs)(rt.Provider,{value:Ye,children:[N,(0,Q.jsx)(`input`,{...H.getInputValidationProps({onFocus(){Y.state.triggerElement?.focus({focusVisible:!0})},onChange(e){if(e.nativeEvent.defaultPrevented)return;let t=e.target.value,n=z(B,e.nativeEvent);function r(){if(O)return;let e=ye.current.find(e=>ht(e,A).toLowerCase()===t.toLowerCase());e!=null&&(P(e!==R.initialValue),Ke(e,n),L()&&H.commit(e))}Y.set(`forceMount`,!0),queueMicrotask(r)}}),id:U&&ct==null?`${U}-hidden-input`:void 0,name:ct,autoComplete:m,value:Ie,disabled:oe,required:_&&!st,readOnly:g,ref:at,style:G?Be:ve,tabIndex:-1,"aria-hidden":!0}),ut]})})}function yt(e,t){return e??t}function bt(e){let t=e.getBoundingClientRect(),n=window.getComputedStyle(e,`::before`),r=window.getComputedStyle(e,`::after`);if(!(n.content!==`none`||r.content!==`none`))return t;let i=parseFloat(n.width)||0,a=parseFloat(n.height)||0,o=parseFloat(r.width)||0,s=parseFloat(r.height)||0,c=Math.max(t.width,i,o),l=Math.max(t.height,a,s),u=c-t.width,d=l-t.height;return{left:t.left-u/2,right:t.right+u/2,top:t.top-d/2,bottom:t.bottom+d/2}}var xt=2,St=400,Ct=200,wt={...Ce,...C,value:()=>null},Tt=Z.forwardRef(function(e,t){let{render:n,className:r,id:i,disabled:a=!1,nativeButton:o=!0,...l}=e,{setTouched:u,setFocused:f,validationMode:p,state:m,disabled:h}=te(),{labelId:g}=S(),{store:_,setOpen:v,selectionRef:b,validation:C,readOnly:w,required:ee,alignItemWithTriggerActiveRef:T,disabled:D,keyboardActiveRef:k}=it(),A=h||D||a,j=q(_,$.open),N=q(_,$.value),ne=q(_,$.triggerProps),P=q(_,$.positionerElement),F=q(_,$.listElement),I=q(_,$.id),L=q(_,$.labelId),re=q(_,$.hasSelectedValue),V=!re&&j,H=q(_,$.hasNullItemLabel,V),ae=i??I,U=yt(g,L);E({id:ae});let oe=le(P),W=Z.useRef(null),{getButtonProps:se,buttonRef:G}=x({disabled:A,native:o}),ce=s(t,W,G,y(e=>{_.set(`triggerElement`,e)})),K=je(),ue=je(),J=je(),de=je();Z.useEffect(()=>{if(j)return re||H?de.start(Ct,()=>{b.current.allowUnselectedMouseUp=!0,J.start(Ct,()=>{b.current.allowSelectedMouseUp=!0})}):J.start(St,()=>{b.current.allowUnselectedMouseUp=!0,b.current.allowSelectedMouseUp=!0}),()=>{J.clear(),de.clear()};b.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1},ue.clear()},[j,re,H,b,ue,J,de]);let fe=Z.useMemo(()=>F?.id??ie(P)?.id,[F,P]),pe=c(ne,{id:ae,role:`combobox`,"aria-expanded":j?`true`:`false`,"aria-haspopup":`listbox`,"aria-controls":j?fe:void 0,"aria-labelledby":U,"aria-readonly":w||void 0,"aria-required":ee||void 0,tabIndex:A?-1:0,ref:ce,onFocus(e){f(!0),j&&T.current&&v(!1,z(B,e.nativeEvent)),K.start(0,()=>{_.set(`forceMount`,!0)})},onBlur(e){M(P,e.relatedTarget)||(u(!0),f(!1),p===`onBlur`&&C.commit(N))},onPointerMove(){k.current=!1},onKeyDown(){k.current=!0},onMouseDown(e){if(j)return;let t=O(e.currentTarget);function n(e){if(!W.current)return;let t=e.target;if(M(W.current,t)||M(oe.current,t)||t===W.current)return;let n=bt(W.current);e.clientX>=n.left-xt&&e.clientX<=n.right+xt&&e.clientY>=n.top-xt&&e.clientY<=n.bottom+xt||v(!1,z(R,e))}ue.start(0,()=>{t.addEventListener(`mouseup`,n,{once:!0})})}},C.getValidationProps,l,se);pe.role=`combobox`;let me={...m,open:j,disabled:A,value:N,readOnly:w,placeholder:!re};return d(`button`,e,{ref:[t,W],state:me,stateAttributesMapping:wt,props:pe})}),Et={value:()=>null},Dt=Z.forwardRef(function(e,t){let{className:n,render:r,children:i,placeholder:a,...o}=e,{store:s,valueRef:c}=it(),l=q(s,$.value),u=q(s,$.items),f=q(s,$.itemToStringLabel),p=q(s,$.hasSelectedValue),m=!p&&a!=null&&i==null,h=q(s,$.hasNullItemLabel,m),g={value:l,placeholder:!p},_=null;return _=typeof i==`function`?i(l):i??(!p&&a!=null&&!h?a:Array.isArray(l)?_t(l,u,f):gt(l,u,f)),d(`span`,e,{state:g,ref:[t,c],props:[{children:_},o],stateAttributesMapping:Et})}),Ot=Z.forwardRef(function(e,t){let{className:n,render:r,...i}=e,{store:a}=it();return d(`span`,e,{state:{open:q(a,$.open)},ref:t,props:[{"aria-hidden":!0,children:`▼`},i],stateAttributesMapping:J})}),kt=Z.createContext(void 0),At=Z.forwardRef(function(e,t){let{store:n}=it(),r=q(n,$.mounted),i=q(n,$.forceMount);return r||i?(0,Q.jsx)(kt.Provider,{value:!0,children:(0,Q.jsx)(ge,{ref:t,...e})}):null}),jt=Z.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},elementsRef:{current:[]},nextIndexRef:{current:0}});function Mt(){return Z.useContext(jt)}function Nt(e){let{children:t,elementsRef:n,labelsRef:r,onMapChange:i}=e,a=y(i),o=Z.useRef(0),s=f(Ft).current,c=f(Pt).current,[l,u]=Z.useState(0),d=Z.useRef(l),p=y((e,t)=>{c.set(e,t??null),d.current+=1,u(d.current)}),m=y(e=>{c.delete(e),d.current+=1,u(d.current)}),h=Z.useMemo(()=>{let e=new Map;return Array.from(c.keys()).filter(e=>e.isConnected).sort(It).forEach((t,n)=>{let r=c.get(t)??{};e.set(t,{...r,index:n})}),e},[c,l]);b(()=>{if(typeof MutationObserver!=`function`||h.size===0)return;let e=new MutationObserver(e=>{let t=new Set,n=e=>t.has(e)?t.delete(e):t.add(e);e.forEach(e=>{e.removedNodes.forEach(n),e.addedNodes.forEach(n)}),t.size===0&&(d.current+=1,u(d.current))});return h.forEach((t,n)=>{n.parentElement&&e.observe(n.parentElement,{childList:!0})}),()=>{e.disconnect()}},[h]),b(()=>{d.current===l&&(n.current.length!==h.size&&(n.current.length=h.size),r&&r.current.length!==h.size&&(r.current.length=h.size),o.current=h.size),a(h)},[a,h,n,r,l]),b(()=>()=>{n.current=[]},[n]),b(()=>()=>{r&&(r.current=[])},[r]);let g=y(e=>(s.add(e),()=>{s.delete(e)}));b(()=>{s.forEach(e=>e(h))},[s,h]);let _=Z.useMemo(()=>({register:p,unregister:m,subscribeMapChange:g,elementsRef:n,labelsRef:r,nextIndexRef:o}),[p,m,g,n,r,o]);return(0,Q.jsx)(jt.Provider,{value:_,children:t})}function Pt(){return new Map}function Ft(){return new Set}function It(e,t){let n=e.compareDocumentPosition(t);return n&Node.DOCUMENT_POSITION_FOLLOWING||n&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:n&Node.DOCUMENT_POSITION_PRECEDING||n&Node.DOCUMENT_POSITION_CONTAINS?1:0}var Lt=Z.createContext(void 0);function Rt(){let e=Z.useContext(Lt);if(!e)throw Error(u(59));return e}function zt(e,t){e&&Object.assign(e.style,t)}var Bt={position:`relative`,maxHeight:`100%`,overflowX:`hidden`,overflowY:`auto`},Vt={position:`fixed`},Ht=Z.forwardRef(function(e,t){let{anchor:n,positionMethod:r=`absolute`,className:i,render:o,side:s=`bottom`,align:c=`center`,sideOffset:l=0,alignOffset:u=0,collisionBoundary:f=`clipping-ancestors`,collisionPadding:p,arrowPadding:m=5,sticky:h=!1,disableAnchorTracking:g,alignItemWithTrigger:_=!0,collisionAvoidance:v=a,...x}=e,{store:S,listRef:C,labelsRef:w,alignItemWithTriggerActiveRef:ee,selectedItemTextRef:T,valuesRef:E,initialValueRef:te,popupRef:D,setValue:O}=it(),k=at(),A=q(S,$.open),j=q(S,$.mounted),M=q(S,$.modal),N=q(S,$.value),ne=q(S,$.openMethod),P=q(S,$.positionerElement),F=q(S,$.triggerElement),I=q(S,$.isItemEqualToValue),L=q(S,$.transitionStatus),R=Z.useRef(null),re=Z.useRef(null),[ie,V]=Z.useState(_),H=j&&ie&&ne!==`touch`;!j&&ie!==_&&V(_),b(()=>{j||($.scrollUpArrowVisible(S.state)&&S.set(`scrollUpArrowVisible`,!1),$.scrollDownArrowVisible(S.state)&&S.set(`scrollDownArrowVisible`,!1))},[S,j]),Z.useImperativeHandle(ee,()=>H),Pe((H||M)&&A&&ne!==`touch`,F);let ae=He({anchor:n,floatingRootContext:k,positionMethod:r,mounted:j,side:s,sideOffset:l,align:c,alignOffset:u,arrowPadding:m,collisionBoundary:f,collisionPadding:p,sticky:h,disableAnchorTracking:g??H,collisionAvoidance:v,keepMounted:!0}),U=H?`none`:ae.side,oe=H?Vt:ae.positionerStyles,W=Z.useMemo(()=>{let e={};return A||(e.pointerEvents=`none`),{role:`presentation`,hidden:!j,style:{...oe,...e}}},[A,j,oe]),se={open:A,side:U,align:ae.align,anchorHidden:ae.anchorHidden},G=d(`div`,e,{ref:[t,y(e=>{S.set(`positionerElement`,e)})],state:se,stateAttributesMapping:Se,props:[W,Ge(L),x]}),ce=Z.useRef(0),le=y(e=>{if(e.size===0&&ce.current===0||E.current.length===0)return;let t=ce.current;if(ce.current=e.size,e.size===t)return;let n=z(B);if(t!==0&&!S.state.multiple&&N!==null&<(E.current,N,I)===-1){let e=te.current,t=e!=null&<(E.current,e,I)!==-1?e:null;O(t,n),t===null&&(S.set(`selectedIndex`,null),T.current=null)}if(t!==0&&S.state.multiple&&Array.isArray(N)){let e=e=>lt(E.current,e,I)!==-1,t=N.filter(t=>e(t));(t.length!==N.length||t.some(e=>!ct(N,e,I)))&&(O(t,n),t.length===0&&(S.set(`selectedIndex`,null),T.current=null))}if(A&&H){S.update({scrollUpArrowVisible:!1,scrollDownArrowVisible:!1});let e={height:``};zt(P,e),zt(D.current,e)}}),K=Z.useMemo(()=>({...ae,side:U,alignItemWithTriggerActive:H,setControlledAlignItemWithTrigger:V,scrollUpArrowRef:R,scrollDownArrowRef:re}),[ae,U,H,V]);return(0,Q.jsx)(Nt,{elementsRef:C,labelsRef:w,onMapChange:le,children:(0,Q.jsxs)(Lt.Provider,{value:K,children:[j&&M&&(0,Q.jsx)(Ae,{inert:De(!A),cutout:F}),G]})})}),Ut=e(i());function Wt(e){let t=e.currentTarget.getBoundingClientRect();return t.top+1<=e.clientY&&e.clientY<=t.bottom-1&&t.left+1<=e.clientX&&e.clientX<=t.right-1}var Gt=`base-ui-disable-scrollbar`,Kt={className:Gt,getElement(e){return(0,Q.jsx)(`style`,{nonce:e,href:Gt,precedence:`base-ui:low`,children:`.${Gt}{scrollbar-width:none}.${Gt}::-webkit-scrollbar{display:none}`})}},qt=Z.createContext(void 0);function Jt(e){let t=Z.useContext(qt);if(t===void 0&&!e)throw Error(u(69));return t}function Yt(e,t=-(2**53-1),n=2**53-1){return Math.max(t,Math.min(e,n))}var Xt=Z.createContext(void 0),Zt={disableStyleElements:!1};function Qt(){return Z.useContext(Xt)??Zt}var $t=1,en={...Se,...U},tn=Z.forwardRef(function(e,t){let{render:n,className:r,finalFocus:i,...a}=e,{store:o,popupRef:s,onOpenChangeComplete:c,setOpen:l,valueRef:u,selectedItemTextRef:f,keyboardActiveRef:p,multiple:m,handleScrollArrowVisibility:h,scrollHandlerRef:g,highlightItemOnHover:v}=it(),{side:x,align:S,alignItemWithTriggerActive:C,setControlledAlignItemWithTrigger:w,scrollDownArrowRef:ee,scrollUpArrowRef:T}=Rt(),E=Jt(!0)!=null,te=at(),{nonce:D,disableStyleElements:k}=Qt(),A=je(),j=q(o,$.id),M=q(o,$.open),N=q(o,$.mounted),ne=q(o,$.popupProps),F=q(o,$.transitionStatus),I=q(o,$.triggerElement),L=q(o,$.positionerElement),R=q(o,$.listElement),re=Z.useRef(0),B=Z.useRef(!1),ie=Z.useRef(0),V=Z.useRef(!1),H=Z.useRef({}),U=oe(),se=y(e=>{if(!L||!s.current||!V.current)return;if(B.current||!C){h();return}let t=L.style.top===`0px`,n=L.style.bottom===`0px`,r=L.getBoundingClientRect().height,i=O(L),a=getComputedStyle(L),o=parseFloat(a.marginTop),c=parseFloat(a.marginBottom),l=nn(getComputedStyle(s.current)),u=Math.min(i.documentElement.clientHeight-o-c,l),d=e.scrollTop,f=rn(e),p=0,m=null,g=!1,_=!1,v=e=>{L.style.height=`${e}px`},y=(t,n)=>{let i=Yt(t,0,u-r);i>0&&v(r+i),e.scrollTop=n,u-(r+i)<=$t&&(B.current=!0),h()};if(t){let e=f-d,t=r+e,n=Math.min(t,u);if(p=n,e<=$t){y(e,f);return}u-n>$t?_=!0:g=!0}else if(n){let e=d,t=r+e,n=Math.min(t,u),i=t-u;if(p=n,e<=$t){y(e,0);return}u-n>$t?m=0:(g=!0,d$t&&(e.scrollTop=n)}(g||p>=u-$t)&&(B.current=!0),h()});Z.useImperativeHandle(g,()=>se,[se]),W({open:M,ref:s,onComplete(){M&&c?.(!0)}});let G={open:M,transitionStatus:F,side:x,align:S};b(()=>{!L||!s.current||Object.keys(H.current).length||(H.current={top:L.style.top||`0`,left:L.style.left||`0`,right:L.style.right,height:L.style.height,bottom:L.style.bottom,minHeight:L.style.minHeight,maxHeight:L.style.maxHeight,marginTop:L.style.marginTop,marginBottom:L.style.marginBottom})},[s,L]),b(()=>{M||C||(V.current=!1,B.current=!1,re.current=0,ie.current=0,zt(L,H.current))},[M,C,L,s]),b(()=>{let e=s.current;if(!(!M||!I||!L||!e||o.state.transitionStatus===`ending`)){if(!C){V.current=!0,U.request(h),e.style.removeProperty(`--transform-origin`);return}queueMicrotask(()=>{let t=cn(e);e.style.removeProperty(`--transform-origin`);try{let t=getComputedStyle(L),n=getComputedStyle(e),r=O(I),i=_(L),a=an(I),o=on(I.getBoundingClientRect(),a),s=on(L.getBoundingClientRect(),a),c=o.left,l=o.height,d=R||e,p=d.scrollHeight,m=parseFloat(n.borderBottomWidth),g=parseFloat(t.marginTop)||10,v=parseFloat(t.marginBottom)||10,y=parseFloat(t.minHeight)||100,b=nn(n),x=r.documentElement.clientHeight-g-v,S=r.documentElement.clientWidth,C=x-o.bottom+l,ee=f.current,T=u.current,E,te=0,D=0;if(ee&&T){let e=on(T.getBoundingClientRect(),a);E=on(ee.getBoundingClientRect(),a);let t=e.left-c,n=E.left-s.left,r=e.top-o.top+e.height/2,i=E.top-s.top+E.height/2;te=t-n,D=i-r}let k=C+D+v+m,A=Math.min(x,k),j=x-g-v,M=k-A,N=Math.max(5,c+te),ne=S-5,P=Math.max(0,N+s.width-ne);L.style.left=`${N-P}px`,L.style.height=`${A}px`,L.style.maxHeight=`auto`,L.style.marginTop=`${g}px`,L.style.marginBottom=`${v}px`,e.style.height=`100%`;let F=rn(d),z=M>=F-$t;z&&(A=Math.min(x,s.height)-(M-F));let ie=o.top<20||o.bottom>x-20||Math.ceil(A)+$tw(!1));return}if(z){let e=Math.max(0,x-k);L.style.top=s.height>=j?`0`:`${e}px`,L.style.height=`${A}px`,d.scrollTop=rn(d),re.current=Math.max(y,A)}else L.style.bottom=`0`,re.current=Math.max(y,A),d.scrollTop=M;if(E){let t=s.top,n=s.height,r=E.top+E.height/2,i=Yt(n>0?(r-t)/n*100:50,0,100);e.style.setProperty(`--transform-origin`,`50% ${i}%`)}(re.current===x||A>=b)&&(B.current=!0),h(),setTimeout(()=>{V.current=!0})}finally{t()}})}},[o,M,L,I,u,f,s,h,C,w,U,ee,T,R]),Z.useEffect(()=>{if(!C||!L||!M)return;let e=_(L);function t(e){l(!1,z(P,e))}return e.addEventListener(`resize`,t),()=>{e.removeEventListener(`resize`,t)}},[l,C,L,M]);let ce={...R?{role:`presentation`,"aria-orientation":void 0}:{role:`listbox`,"aria-multiselectable":m||void 0,id:`${j}-list`},onKeyDown(e){p.current=!0,E&&ke.has(e.key)&&e.stopPropagation()},onMouseMove(){p.current=!1},onPointerLeave(e){if(!v||Wt(e)||e.pointerType===`touch`)return;let t=e.currentTarget;A.start(0,()=>{o.set(`activeIndex`,null),t.focus({preventScroll:!0})})},onScroll(e){R||se(e.currentTarget)},...C&&{style:R?{height:`100%`}:Bt}},le=d(`div`,e,{ref:[t,s],state:G,stateAttributesMapping:en,props:[ne,ce,Ge(F),{className:!R&&C?Kt.className:void 0},a]});return(0,Q.jsxs)(Z.Fragment,{children:[!k&&Kt.getElement(D),(0,Q.jsx)(Y,{context:te,modal:!1,disabled:!N,returnFocus:i,restoreFocus:!0,children:le})]})});function nn(e){let t=e.maxHeight||``;return t.endsWith(`px`)&&parseFloat(t)||1/0}function rn(e){return Math.max(0,e.scrollHeight-e.clientHeight)}function an(e){return We.getScale(e)}function on(e,t){return ze({x:e.x/t.x,y:e.y/t.y,width:e.width/t.x,height:e.height/t.y})}var sn=[[`transform`,`none`],[`scale`,`1`],[`translate`,`0 0`]];function cn(e){let{style:t}=e,n={};for(let[e,r]of sn)n[e]=t.getPropertyValue(e),t.setProperty(e,r,`important`);return()=>{for(let[e]of sn){let r=n[e];r?t.setProperty(e,r):t.removeProperty(e)}}}var ln=Z.forwardRef(function(e,t){let{className:n,render:r,...i}=e,{store:a,scrollHandlerRef:o}=it(),{alignItemWithTriggerActive:s}=Rt(),c=q(a,$.hasScrollArrows),l=q(a,$.openMethod),u=q(a,$.multiple),f={id:`${q(a,$.id)}-list`,role:`listbox`,"aria-multiselectable":u||void 0,onScroll(e){o.current?.(e.currentTarget)},...s&&{style:Bt},className:c&&l!==`touch`?Kt.className:void 0};return d(`div`,e,{ref:[t,y(e=>{a.set(`listElement`,e)})],props:[f,i]})}),un=function(e){return e[e.None=0]=`None`,e[e.GuessFromOrder=1]=`GuessFromOrder`,e}({});function dn(e={}){let{label:t,metadata:n,textRef:r,indexGuessBehavior:i,index:a}=e,{register:o,unregister:s,subscribeMapChange:c,elementsRef:l,labelsRef:u,nextIndexRef:d}=Mt(),f=Z.useRef(-1),[p,m]=Z.useState(a??(i===un.GuessFromOrder?()=>{if(f.current===-1){let e=d.current;d.current+=1,f.current=e}return f.current}:-1)),h=Z.useRef(null),g=Z.useCallback(e=>{if(h.current=e,p!==-1&&e!==null&&(l.current[p]=e,u)){let n=t!==void 0;u.current[p]=n?t:r?.current?.textContent??e.textContent}},[p,l,u,t,r]);return b(()=>{if(a!=null)return;let e=h.current;if(e)return o(e,n),()=>{s(e)}},[a,o,s,n]),b(()=>{if(a==null)return c(e=>{let t=h.current?e.get(h.current)?.index:null;t!=null&&m(t)})},[a,c,m]),Z.useMemo(()=>({ref:g,index:p}),[p,g])}var fn=Z.createContext(void 0);function pn(){let e=Z.useContext(fn);if(!e)throw Error(u(57));return e}var mn=Z.memo(Z.forwardRef(function(e,t){let{render:n,className:r,value:i=null,label:a,disabled:o=!1,nativeButton:s=!1,...c}=e,l=Z.useRef(null),u=dn({label:a,textRef:l,indexGuessBehavior:un.GuessFromOrder}),{store:f,getItemProps:p,setOpen:m,setValue:h,selectionRef:g,typingRef:_,valuesRef:v,keyboardActiveRef:y,multiple:S,highlightItemOnHover:C}=it(),w=je(),ee=q(f,$.isActive,u.index),T=q(f,$.isSelected,u.index,i),E=q(f,$.isSelectedByFocus,u.index),te=q(f,$.isItemEqualToValue),D=u.index,O=D!==-1,k=Z.useRef(null),A=le(D);b(()=>{if(!O)return;let e=v.current;return e[D]=i,()=>{delete e[D]}},[O,D,i,v]),b(()=>{if(!O)return;let e=f.state.value,t=e;S&&Array.isArray(e)&&e.length>0&&(t=e[e.length-1]),t!==void 0&&st(i,t,te)&&f.set(`selectedIndex`,D)},[O,D,S,te,f,i]);let j={disabled:o,selected:T,highlighted:ee},M=p({active:ee,selected:T});M.onFocus=void 0,M.id=void 0;let ne=Z.useRef(null),P=Z.useRef(`mouse`),F=Z.useRef(!1),{getButtonProps:I,buttonRef:L}=x({disabled:o,focusableWhenDisabled:!0,native:s,composite:!0});function R(e){let t=f.state.value;if(S){let n=Array.isArray(t)?t:[];h(T?ut(n,i,te):[...n,i],z(N,e))}else h(i,z(N,e)),m(!1,z(N,e))}let re={role:`option`,"aria-selected":T,tabIndex:ee?0:-1,onFocus(){f.set(`activeIndex`,D)},onMouseEnter(){!y.current&&f.state.selectedIndex===null&&C&&f.set(`activeIndex`,D)},onMouseMove(){C&&f.set(`activeIndex`,D)},onMouseLeave(e){!C||y.current||Wt(e)||w.start(0,()=>{f.state.activeIndex===D&&f.set(`activeIndex`,null)})},onTouchStart(){g.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1}},onKeyDown(e){ne.current=e.key,f.set(`activeIndex`,D),e.key===` `&&_.current&&e.preventDefault()},onClick(e){F.current=!1,!(e.type===`keydown`&&ne.current===null)&&(o||e.type===`keydown`&&ne.current===` `&&_.current||P.current!==`touch`&&!ee||(ne.current=null,R(e.nativeEvent)))},onPointerEnter(e){P.current=e.pointerType},onPointerDown(e){P.current=e.pointerType,F.current=!0},onMouseUp(){if(o)return;if(F.current){F.current=!1;return}let e=!g.current.allowSelectedMouseUp&&T,t=!g.current.allowUnselectedMouseUp&&!T;e||t||P.current!==`touch`&&!ee||k.current?.click()}},B=d(`div`,e,{ref:[L,t,u.ref,k],state:j,props:[M,re,c,I]}),ie=Z.useMemo(()=>({selected:T,indexRef:A,textRef:l,selectedByFocus:E,hasRegistered:O}),[T,A,l,E,O]);return(0,Q.jsx)(fn.Provider,{value:ie,children:B})})),hn=Z.forwardRef(function(e,t){let n=e.keepMounted??!1,{selected:r}=pn();return n||r?(0,Q.jsx)(gn,{...e,ref:t}):null}),gn=Z.memo(Z.forwardRef((e,t)=>{let{render:n,className:r,keepMounted:i,...a}=e,{selected:o}=pn(),s=Z.useRef(null),{transitionStatus:c,setMounted:l}=se(o),u=d(`span`,e,{ref:[t,s],state:{selected:o,transitionStatus:c},props:[{"aria-hidden":!0,children:`✔️`},a],stateAttributesMapping:U});return W({open:o,ref:s,onComplete(){o||l(!1)}}),u})),_n=Z.memo(Z.forwardRef(function(e,t){let{indexRef:n,textRef:r,selectedByFocus:i,hasRegistered:a}=pn(),{selectedItemTextRef:o}=it(),{className:s,render:c,...l}=e;return d(`div`,e,{ref:[Z.useCallback(e=>{if(!e||!a)return;let t=o.current===null||!o.current.isConnected;(i||t&&n.current===0)&&(o.current=e)},[o,n,i,a]),t,r],props:l})})),vn=Z.forwardRef(function(e,t){let{render:n,className:r,direction:i,keepMounted:a=!1,...o}=e,{store:s,popupRef:c,listRef:l,handleScrollArrowVisibility:u,scrollArrowsMountedCountRef:f}=it(),{side:p,scrollDownArrowRef:m,scrollUpArrowRef:h}=Rt(),g=q(s,i===`up`?$.scrollUpArrowVisible:$.scrollDownArrowVisible),_=q(s,$.openMethod),v=g&&_!==`touch`,y=je(),x=i===`up`?h:m,{transitionStatus:S,setMounted:C}=se(v);b(()=>(f.current+=1,s.state.hasScrollArrows||s.set(`hasScrollArrows`,!0),()=>{f.current=Math.max(0,f.current-1),f.current===0&&s.state.hasScrollArrows&&s.set(`hasScrollArrows`,!1)}),[s,f]),W({open:v,ref:x,onComplete(){v||C(!1)}});let w=d(`div`,e,{ref:[t,x],state:{direction:i,visible:v,side:p,transitionStatus:S},props:[{"aria-hidden":!0,children:i===`up`?`▲`:`▼`,style:{position:`absolute`},onMouseMove(e){if(e.movementX===0&&e.movementY===0||y.isStarted())return;s.set(`activeIndex`,null);function t(){let e=s.state.listElement??c.current;if(!e)return;s.set(`activeIndex`,null),u();let n=e.scrollTop===0,r=Math.round(e.scrollTop+e.clientHeight)>=e.scrollHeight;if(l.current.length===0&&(i===`up`?s.set(`scrollUpArrowVisible`,!n):s.set(`scrollDownArrowVisible`,!r)),i===`up`&&n||i===`down`&&r){y.clear();return}if((s.state.listElement||c.current)&&l.current&&l.current.length>0){let t=l.current,n=x.current?.offsetHeight||0;if(i===`up`){let r=0,i=e.scrollTop+n;for(let e=0;e=i){r=e;break}}let a=Math.max(0,r-1);if(ai){r=Math.max(0,e-1);break}}let a=Math.min(t.length-1,r+1);if(a>r){let r=t[a];r&&(e.scrollTop=r.offsetTop+r.offsetHeight-e.clientHeight+n)}else e.scrollTop=e.scrollHeight-e.clientHeight}}y.start(40,t)}y.start(40,t)},onMouseLeave(){y.clear()}},o]});return v||a?w:null}),yn=Z.forwardRef(function(e,t){return(0,Q.jsx)(vn,{...e,ref:t,direction:`down`})}),bn=Z.forwardRef(function(e,t){return(0,Q.jsx)(vn,{...e,ref:t,direction:`up`})}),xn=r(),Sn=vt;function Cn(e){let t=(0,xn.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=p(`flex flex-1 text-left`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(Dt,{className:i,"data-slot":`select-value`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function wn(e){let t=(0,xn.c)(15),n,r,i,a,o;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5]):({className:r,size:o,id:i,children:n,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o);let s=o===void 0?`default`:o,c;t[6]===r?c=t[7]:(c=p(`flex w-fit items-center justify-between gap-1.5 rounded-md border border-input bg-input/20 px-2 py-1.5 text-xs/relaxed whitespace-nowrap transition-colors outline-none focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-7 data-[size=sm]:h-6 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5`,r),t[6]=r,t[7]=c);let l;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsx)(Ot,{render:(0,Q.jsx)(g,{className:`pointer-events-none size-3.5 text-muted-foreground`})}),t[8]=l):l=t[8];let u;return t[9]!==n||t[10]!==i||t[11]!==a||t[12]!==s||t[13]!==c?(u=(0,Q.jsxs)(Tt,{className:c,"data-size":s,"data-slot":`select-trigger`,id:i,...a,children:[n,l]}),t[9]=n,t[10]=i,t[11]=a,t[12]=s,t[13]=c,t[14]=u):u=t[14],u}function Tn(e){let t=(0,xn.c)(26),n,r,i,a,o,s,c,l;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7],l=t[8]):({className:r,children:n,side:a,sideOffset:o,align:s,alignOffset:c,alignItemWithTrigger:l,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l);let u=a===void 0?`bottom`:a,d=o===void 0?4:o,f=s===void 0?`center`:s,m=c===void 0?0:c,h=l===void 0?!0:l,g;t[9]===r?g=t[10]:(g=p(`data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-closed:animate-out data-open:animate-in relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100`,r),t[9]=r,t[10]=g);let _;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,Q.jsx)(Dn,{}),t[11]=_):_=t[11];let v;t[12]===n?v=t[13]:(v=(0,Q.jsx)(ln,{children:n}),t[12]=n,t[13]=v);let y;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Q.jsx)(On,{}),t[14]=y):y=t[14];let b;t[15]!==i||t[16]!==g||t[17]!==v?(b=(0,Q.jsxs)(tn,{className:g,"data-slot":`select-content`,...i,children:[_,v,y]}),t[15]=i,t[16]=g,t[17]=v,t[18]=b):b=t[18];let x;return t[19]!==f||t[20]!==h||t[21]!==m||t[22]!==u||t[23]!==d||t[24]!==b?(x=(0,Q.jsx)(At,{children:(0,Q.jsx)(Ht,{align:f,alignItemWithTrigger:h,alignOffset:m,className:`isolate z-50`,side:u,sideOffset:d,children:b})}),t[19]=f,t[20]=h,t[21]=m,t[22]=u,t[23]=d,t[24]=b,t[25]=x):x=t[25],x}function En(e){let t=(0,xn.c)(13),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]===r?a=t[5]:(a=p(`relative flex min-h-7 w-full cursor-default items-center gap-2 rounded-md px-2 py-1 text-xs/relaxed outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,r),t[4]=r,t[5]=a);let o;t[6]===n?o=t[7]:(o=(0,Q.jsx)(_n,{className:`flex flex-1 shrink-0 gap-2 whitespace-nowrap`,children:n}),t[6]=n,t[7]=o);let s;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Q.jsx)(hn,{render:(0,Q.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex items-center justify-center`}),children:(0,Q.jsx)(h,{className:`pointer-events-none`})}),t[8]=s):s=t[8];let c;return t[9]!==i||t[10]!==a||t[11]!==o?(c=(0,Q.jsxs)(mn,{className:a,"data-slot":`select-item`,...i,children:[o,s]}),t[9]=i,t[10]=a,t[11]=o,t[12]=c):c=t[12],c}function Dn(e){let t=(0,xn.c)(9),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=p(`top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-3.5`,n),t[3]=n,t[4]=i);let a;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(Ke,{}),t[5]=a):a=t[5];let o;return t[6]!==r||t[7]!==i?(o=(0,Q.jsx)(bn,{className:i,"data-slot":`select-scroll-up-button`,...r,children:a}),t[6]=r,t[7]=i,t[8]=o):o=t[8],o}function On(e){let t=(0,xn.c)(9),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=p(`bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-3.5`,n),t[3]=n,t[4]=i);let a;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(g,{}),t[5]=a):a=t[5];let o;return t[6]!==r||t[7]!==i?(o=(0,Q.jsx)(yn,{className:i,"data-slot":`select-scroll-down-button`,...r,children:a}),t[6]=r,t[7]=i,t[8]=o):o=t[8],o}export{Cn as a,wn as i,Tn as n,dn as o,En as r,Nt as s,Sn as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/separator.js b/spinifex/services/spinifexui/frontend/dist/assets/separator.js index 51ff0fa93..490c8fcfe 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/separator.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/separator.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{Xt as i}from"./awsClient.js";import{l as a,m as o,n as s,p as c,u as l}from"./dist.js";import{F as u}from"./SignatureV4.js";import{_ as d,i as f,o as p}from"./button.js";import{V as m}from"./createBaseUIEventDetails.js";var h=e(n()),g=e(i()),_=function(e){return e.disabled=`data-disabled`,e.valid=`data-valid`,e.invalid=`data-invalid`,e.touched=`data-touched`,e.dirty=`data-dirty`,e.filled=`data-filled`,e.focused=`data-focused`,e}({}),v={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},y={valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},b={disabled:!1,...y},x={valid(e){return e===null?null:e?{[_.valid]:``}:{[_.invalid]:``}}},S=h.createContext({invalid:void 0,name:void 0,validityData:{state:v,errors:[],error:``,value:``,initialValue:null},setValidityData:l,disabled:void 0,touched:y.touched,setTouched:l,dirty:y.dirty,setDirty:l,filled:y.filled,setFilled:l,focused:y.focused,setFocused:l,validate:()=>null,validationMode:`onSubmit`,validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:b,markedDirtyRef:{current:!1},validation:{getValidationProps:(e=a)=>e,getInputValidationProps:(e=a)=>e,inputRef:{current:null},commit:async()=>{}}});function C(e=!0){let t=h.useContext(S);if(t.setValidityData===l&&!e)throw Error(o(28));return t}var w=h.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:l,validationMode:`onSubmit`,submitAttemptedRef:{current:!1}});function T(){return h.useContext(w)}var E=h.createContext({controlId:void 0,registerControlId:l,labelId:void 0,setLabelId:l,messageIds:[],setMessageIds:l,getDescriptionProps:e=>e});function D(){return h.useContext(E)}function O(e,t){return{...e,state:{...e.state,valid:!t&&e.state.valid}}}function k({controlled:e,default:t,name:n,state:r=`value`}){let{current:i}=h.useRef(e!==void 0),[a,o]=h.useState(t);return[i?e:a,h.useCallback(e=>{i||o(e)},[])]}function A(e={}){let{id:t,implicit:n=!1,controlRef:r}=e,{controlId:i,registerControlId:a}=D(),o=m(t),s=n?i:void 0,u=c(()=>Symbol(`labelable-control`)),g=h.useRef(!1),_=h.useRef(t!=null),v=p(()=>{!g.current||a===l||(g.current=!1,a(u.current,void 0))});return f(()=>{if(a===l)return;let e;if(n){let n=r?.current;e=d(n)&&n.closest(`label`)!=null?t??null:s??o}else if(t!=null)_.current=!0,e=t;else if(_.current)e=o;else{v();return}if(e===void 0){v();return}g.current=!0,a(u.current,e)},[t,r,s,a,n,o,u,v]),h.useEffect(()=>v,[v]),i??o}function j(e){let{enabled:t=!0,value:n,id:r,name:i,controlRef:a,commit:o}=e,{formRef:s}=T(),{invalid:c,markedDirtyRef:l,validityData:u,setValidityData:d}=C(),m=p(e.getValue);f(()=>{if(!t)return;let e=n;e===void 0&&(e=m()),u.initialValue===null&&e!==null&&d(t=>({...t,initialValue:e}))},[t,d,n,u.initialValue,m]),f(()=>{!t||!r||s.current.fields.set(r,{getValue:m,name:i,controlRef:a,validityData:O(u,c),validate(e=!0){let t=n;t===void 0&&(t=m()),l.current=!0,e?g.flushSync(()=>o(t)):o(t)}})},[o,a,t,s,m,r,c,l,i,u,n]),f(()=>{let e=s.current.fields;return()=>{r&&e.delete(r)}},[s,r])}var M=h.forwardRef(function(e,t){let{className:n,render:r,orientation:i=`horizontal`,...a}=e;return s(`div`,e,{state:{orientation:i},ref:t,props:[{role:`separator`,"aria-orientation":i},a]})}),N=r(),P=t();function F(e){let t=(0,N.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,orientation:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?`horizontal`:i,o;t[4]===n?o=t[5]:(o=u(`shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch`,n),t[4]=n,t[5]=o);let s;return t[6]!==a||t[7]!==r||t[8]!==o?(s=(0,P.jsx)(M,{className:o,"data-slot":`separator`,orientation:a,...r}),t[6]=a,t[7]=r,t[8]=o,t[9]=s):s=t[9],s}export{D as a,x as c,k as i,j as n,T as o,A as r,C as s,F as t}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{hn as i}from"./awsClient.js";import{l as a,m as o,n as s,p as c,u as l}from"./dist.js";import{I as u}from"./SignatureV4.js";import{c as d,o as f,y as p}from"./button.js";import{V as m}from"./createBaseUIEventDetails.js";var h=e(n()),g=e(i()),_=function(e){return e.disabled=`data-disabled`,e.valid=`data-valid`,e.invalid=`data-invalid`,e.touched=`data-touched`,e.dirty=`data-dirty`,e.filled=`data-filled`,e.focused=`data-focused`,e}({}),v={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},y={valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},b={disabled:!1,...y},x={valid(e){return e===null?null:e?{[_.valid]:``}:{[_.invalid]:``}}},S=h.createContext({invalid:void 0,name:void 0,validityData:{state:v,errors:[],error:``,value:``,initialValue:null},setValidityData:l,disabled:void 0,touched:y.touched,setTouched:l,dirty:y.dirty,setDirty:l,filled:y.filled,setFilled:l,focused:y.focused,setFocused:l,validate:()=>null,validationMode:`onSubmit`,validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:b,markedDirtyRef:{current:!1},validation:{getValidationProps:(e=a)=>e,getInputValidationProps:(e=a)=>e,inputRef:{current:null},commit:async()=>{}}});function C(e=!0){let t=h.useContext(S);if(t.setValidityData===l&&!e)throw Error(o(28));return t}var w=h.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:l,validationMode:`onSubmit`,submitAttemptedRef:{current:!1}});function T(){return h.useContext(w)}var E=h.createContext({controlId:void 0,registerControlId:l,labelId:void 0,setLabelId:l,messageIds:[],setMessageIds:l,getDescriptionProps:e=>e});function D(){return h.useContext(E)}function O(e,t){return{...e,state:{...e.state,valid:!t&&e.state.valid}}}function k({controlled:e,default:t,name:n,state:r=`value`}){let{current:i}=h.useRef(e!==void 0),[a,o]=h.useState(t);return[i?e:a,h.useCallback(e=>{i||o(e)},[])]}function A(e={}){let{id:t,implicit:n=!1,controlRef:r}=e,{controlId:i,registerControlId:a}=D(),o=m(t),s=n?i:void 0,u=c(()=>Symbol(`labelable-control`)),g=h.useRef(!1),_=h.useRef(t!=null),v=d(()=>{!g.current||a===l||(g.current=!1,a(u.current,void 0))});return f(()=>{if(a===l)return;let e;if(n){let n=r?.current;e=p(n)&&n.closest(`label`)!=null?t??null:s??o}else if(t!=null)_.current=!0,e=t;else if(_.current)e=o;else{v();return}if(e===void 0){v();return}g.current=!0,a(u.current,e)},[t,r,s,a,n,o,u,v]),h.useEffect(()=>v,[v]),i??o}function j(e){let{enabled:t=!0,value:n,id:r,name:i,controlRef:a,commit:o}=e,{formRef:s}=T(),{invalid:c,markedDirtyRef:l,validityData:u,setValidityData:p}=C(),m=d(e.getValue);f(()=>{if(!t)return;let e=n;e===void 0&&(e=m()),u.initialValue===null&&e!==null&&p(t=>({...t,initialValue:e}))},[t,p,n,u.initialValue,m]),f(()=>{!t||!r||s.current.fields.set(r,{getValue:m,name:i,controlRef:a,validityData:O(u,c),validate(e=!0){let t=n;t===void 0&&(t=m()),l.current=!0,e?g.flushSync(()=>o(t)):o(t)}})},[o,a,t,s,m,r,c,l,i,u,n]),f(()=>{let e=s.current.fields;return()=>{r&&e.delete(r)}},[s,r])}var M=h.forwardRef(function(e,t){let{className:n,render:r,orientation:i=`horizontal`,...a}=e;return s(`div`,e,{state:{orientation:i},ref:t,props:[{role:`separator`,"aria-orientation":i},a]})}),N=r(),P=t();function F(e){let t=(0,N.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,orientation:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?`horizontal`:i,o;t[4]===n?o=t[5]:(o=u(`shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch`,n),t[4]=n,t[5]=o);let s;return t[6]!==a||t[7]!==r||t[8]!==o?(s=(0,P.jsx)(M,{className:o,"data-slot":`separator`,orientation:a,...r}),t[6]=a,t[7]=r,t[8]=o,t[9]=s):s=t[9],s}export{D as a,x as c,k as i,j as n,T as o,A as r,C as s,F as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/service-metrics.js b/spinifex/services/spinifexui/frontend/dist/assets/service-metrics.js index 7aa6adb80..642f7706e 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/service-metrics.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/service-metrics.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{a as n,i as r,n as i}from"./admin.js";import{n as a}from"./redirect.js";import{n as o}from"./admin-context.js";import{t as s}from"./page-heading.js";import{a as c,o as l,r as u,t as d}from"./card.js";var f=t(),p=e();function m(){let e=(0,f.c)(46),{isAdmin:t}=o(),m;e[0]===t?m=e[1]:(m={...i,enabled:t,refetchInterval:5e3},e[0]=t,e[1]=m);let{data:y}=n(m);if(!t)throw a({to:`/`});let x=y?.encoding,S;e[2]===y?.db_nodes?S=e[3]:(S=y?.db_nodes??[],e[2]=y?.db_nodes,e[3]=S);let C=S,w;e[4]===y?.shard_nodes?w=e[5]:(w=y?.shard_nodes??[],e[4]=y?.shard_nodes,e[5]=w);let T=w,E;e[6]===C?E=e[7]:(E=C.length>0&&C.every(g),e[6]=C,e[7]=E);let D=E,O;e[8]===C?O=e[9]:(O=C.some(h),e[8]=C,e[9]=O);let k=O,A;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,p.jsx)(s,{title:`S3 Service Metrics`}),e[10]=A):A=e[10];let j;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,p.jsx)(c,{children:(0,p.jsx)(l,{className:`text-sm`,children:`Predastore (S3) Overview`})}),e[11]=j):j=e[11];let M;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,p.jsx)(`span`,{className:`text-muted-foreground`,children:`Encoding`}),e[12]=M):M=e[12];let N;e[13]===x?N=e[14]:(N=(0,p.jsxs)(`div`,{children:[M,(0,p.jsx)(`div`,{className:`mt-1`,children:x?(0,p.jsxs)(r,{variant:`outline`,children:[x.type,` RS(`,x.data_shards,`,`,x.parity_shards,`)`]}):(0,p.jsx)(`span`,{className:`text-muted-foreground`,children:`-`})})]}),e[13]=x,e[14]=N);let P;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,p.jsx)(`span`,{className:`text-muted-foreground`,children:`DB Nodes`}),e[15]=P):P=e[15];let F;e[16]===C.length?F=e[17]:(F=(0,p.jsxs)(`div`,{children:[P,(0,p.jsx)(`div`,{className:`mt-1 font-mono font-medium`,children:C.length})]}),e[16]=C.length,e[17]=F);let I;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,p.jsx)(`span`,{className:`text-muted-foreground`,children:`Shard Nodes`}),e[18]=I):I=e[18];let L;e[19]===T.length?L=e[20]:(L=(0,p.jsxs)(`div`,{children:[I,(0,p.jsx)(`div`,{className:`mt-1 font-mono font-medium`,children:T.length})]}),e[19]=T.length,e[20]=L);let R;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,p.jsx)(`span`,{className:`text-muted-foreground`,children:`Cluster Health`}),e[21]=R):R=e[21];let z;e[22]!==D||e[23]!==k||e[24]!==C.length?(z=(0,p.jsxs)(`div`,{children:[R,(0,p.jsx)(`div`,{className:`mt-1`,children:(0,p.jsx)(_,{nodeCount:C.length,allHealthy:D,anyUnhealthy:k})})]}),e[22]=D,e[23]=k,e[24]=C.length,e[25]=z):z=e[25];let B;e[26]!==F||e[27]!==L||e[28]!==z||e[29]!==N?(B=(0,p.jsxs)(`div`,{className:`grid grid-cols-2 gap-4 text-xs md:grid-cols-4`,children:[N,F,L,z]}),e[26]=F,e[27]=L,e[28]=z,e[29]=N,e[30]=B):B=e[30];let V;e[31]===x?V=e[32]:(V=x&&(0,p.jsxs)(`p`,{className:`mt-3 text-[0.625rem] text-muted-foreground`,children:[`Reed-Solomon erasure coding: `,x.data_shards,` data shards + `,x.parity_shards,` parity`,` `,x.parity_shards===1?`shard`:`shards`,`. Can tolerate `,x.parity_shards,` shard`,` `,x.parity_shards===1?`failure`:`failures`,` without data loss.`]}),e[31]=x,e[32]=V);let H;e[33]!==B||e[34]!==V?(H=(0,p.jsxs)(d,{children:[j,(0,p.jsxs)(u,{children:[B,V]})]}),e[33]=B,e[34]=V,e[35]=H):H=e[35];let U;e[36]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,p.jsx)(c,{children:(0,p.jsx)(l,{className:`text-sm`,children:`DB Consensus Nodes (Raft)`})}),e[36]=U):U=e[36];let W;e[37]===C?W=e[38]:(W=(0,p.jsxs)(d,{children:[U,(0,p.jsx)(u,{children:C.length===0?(0,p.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No data`}):(0,p.jsx)(v,{nodes:C})})]}),e[37]=C,e[38]=W);let G;e[39]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,p.jsx)(c,{children:(0,p.jsx)(l,{className:`text-sm`,children:`Object Storage Shard Nodes`})}),e[39]=G):G=e[39];let K;e[40]===T?K=e[41]:(K=(0,p.jsxs)(d,{children:[G,(0,p.jsx)(u,{children:T.length===0?(0,p.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No data`}):(0,p.jsx)(b,{nodes:T})})]}),e[40]=T,e[41]=K);let q;return e[42]!==H||e[43]!==W||e[44]!==K?(q=(0,p.jsxs)(p.Fragment,{children:[A,(0,p.jsxs)(`div`,{className:`space-y-6`,children:[H,W,K]})]}),e[42]=H,e[43]=W,e[44]=K,e[45]=q):q=e[45],q}function h(e){return!e.healthy}function g(e){return e.healthy}function _(e){let t=(0,f.c)(4),{nodeCount:n,allHealthy:i,anyUnhealthy:a}=e;if(n===0){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,p.jsx)(r,{variant:`secondary`,children:`Unknown`}),t[0]=e):e=t[0],e}if(i){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,p.jsx)(r,{variant:`default`,children:`Healthy`}),t[1]=e):e=t[1],e}if(a){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,p.jsx)(r,{variant:`destructive`,children:`Degraded`}),t[2]=e):e=t[2],e}let o;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,p.jsx)(r,{variant:`secondary`,children:`Unknown`}),t[3]=o):o=t[3],o}function v(e){let t=(0,f.c)(5),{nodes:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,p.jsx)(`thead`,{children:(0,p.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,p.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Node`}),(0,p.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Host`}),(0,p.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Port`}),(0,p.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Health`}),(0,p.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`State`}),(0,p.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Leader`}),(0,p.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Term`}),(0,p.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Commit Index`}),(0,p.jsx)(`th`,{className:`pb-1 font-medium`,children:`Applied Index`})]})}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=n.map(y),t[1]=n,t[2]=i);let a;return t[3]===i?a=t[4]:(a=(0,p.jsx)(`div`,{className:`overflow-x-auto`,children:(0,p.jsxs)(`table`,{className:`w-full text-xs`,children:[r,(0,p.jsx)(`tbody`,{children:i})]})}),t[3]=i,t[4]=a),a}function y(e){return(0,p.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,p.jsx)(`td`,{className:`py-1.5 pr-4 font-mono font-medium`,children:e.id}),(0,p.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.host}),(0,p.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.port}),(0,p.jsx)(`td`,{className:`py-1.5 pr-4`,children:(0,p.jsx)(r,{variant:e.healthy?`default`:`destructive`,className:`text-[0.625rem]`,children:e.healthy?`Healthy`:`Unreachable`})}),(0,p.jsx)(`td`,{className:`py-1.5 pr-4`,children:e.state?(0,p.jsx)(r,{variant:e.state===`Leader`?`default`:`secondary`,className:`text-[0.625rem]`,children:e.state}):(0,p.jsx)(`span`,{className:`text-muted-foreground`,children:`-`})}),(0,p.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.leader??`-`}),(0,p.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.term??`-`}),(0,p.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.commit_index??`-`}),(0,p.jsx)(`td`,{className:`py-1.5 font-mono`,children:e.applied_index??`-`})]},e.id)}function b(e){let t=(0,f.c)(5),{nodes:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,p.jsx)(`thead`,{children:(0,p.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,p.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Node`}),(0,p.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Host`}),(0,p.jsx)(`th`,{className:`pb-1 font-medium`,children:`Port`})]})}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=n.map(x),t[1]=n,t[2]=i);let a;return t[3]===i?a=t[4]:(a=(0,p.jsx)(`div`,{className:`overflow-x-auto`,children:(0,p.jsxs)(`table`,{className:`w-full text-xs`,children:[r,(0,p.jsx)(`tbody`,{children:i})]})}),t[3]=i,t[4]=a),a}function x(e){return(0,p.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,p.jsx)(`td`,{className:`py-1.5 pr-4 font-mono font-medium`,children:e.id}),(0,p.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.host}),(0,p.jsx)(`td`,{className:`py-1.5 font-mono`,children:e.port})]},e.id)}export{m as component}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useQuery.js";import{n as r}from"./redirect.js";import{n as i}from"./admin-context.js";import{t as a}from"./page-heading.js";import{i as o,n as s}from"./admin.js";import{a as c,o as l,r as u,t as d}from"./card.js";var f=t(),p=e();function m(){let e=(0,f.c)(46),{isAdmin:t}=i(),m;e[0]===t?m=e[1]:(m={...s,enabled:t,refetchInterval:5e3},e[0]=t,e[1]=m);let{data:y}=n(m);if(!t)throw r({to:`/`});let x=y?.encoding,S;e[2]===y?.db_nodes?S=e[3]:(S=y?.db_nodes??[],e[2]=y?.db_nodes,e[3]=S);let C=S,w;e[4]===y?.shard_nodes?w=e[5]:(w=y?.shard_nodes??[],e[4]=y?.shard_nodes,e[5]=w);let T=w,E;e[6]===C?E=e[7]:(E=C.length>0&&C.every(g),e[6]=C,e[7]=E);let D=E,O;e[8]===C?O=e[9]:(O=C.some(h),e[8]=C,e[9]=O);let k=O,A;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,p.jsx)(a,{title:`S3 Service Metrics`}),e[10]=A):A=e[10];let j;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,p.jsx)(c,{children:(0,p.jsx)(l,{className:`text-sm`,children:`Predastore (S3) Overview`})}),e[11]=j):j=e[11];let M;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,p.jsx)(`span`,{className:`text-muted-foreground`,children:`Encoding`}),e[12]=M):M=e[12];let N;e[13]===x?N=e[14]:(N=(0,p.jsxs)(`div`,{children:[M,(0,p.jsx)(`div`,{className:`mt-1`,children:x?(0,p.jsxs)(o,{variant:`outline`,children:[x.type,` RS(`,x.data_shards,`,`,x.parity_shards,`)`]}):(0,p.jsx)(`span`,{className:`text-muted-foreground`,children:`-`})})]}),e[13]=x,e[14]=N);let P;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,p.jsx)(`span`,{className:`text-muted-foreground`,children:`DB Nodes`}),e[15]=P):P=e[15];let F;e[16]===C.length?F=e[17]:(F=(0,p.jsxs)(`div`,{children:[P,(0,p.jsx)(`div`,{className:`mt-1 font-mono font-medium`,children:C.length})]}),e[16]=C.length,e[17]=F);let I;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,p.jsx)(`span`,{className:`text-muted-foreground`,children:`Shard Nodes`}),e[18]=I):I=e[18];let L;e[19]===T.length?L=e[20]:(L=(0,p.jsxs)(`div`,{children:[I,(0,p.jsx)(`div`,{className:`mt-1 font-mono font-medium`,children:T.length})]}),e[19]=T.length,e[20]=L);let R;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,p.jsx)(`span`,{className:`text-muted-foreground`,children:`Cluster Health`}),e[21]=R):R=e[21];let z;e[22]!==D||e[23]!==k||e[24]!==C.length?(z=(0,p.jsxs)(`div`,{children:[R,(0,p.jsx)(`div`,{className:`mt-1`,children:(0,p.jsx)(_,{nodeCount:C.length,allHealthy:D,anyUnhealthy:k})})]}),e[22]=D,e[23]=k,e[24]=C.length,e[25]=z):z=e[25];let B;e[26]!==F||e[27]!==L||e[28]!==z||e[29]!==N?(B=(0,p.jsxs)(`div`,{className:`grid grid-cols-2 gap-4 text-xs md:grid-cols-4`,children:[N,F,L,z]}),e[26]=F,e[27]=L,e[28]=z,e[29]=N,e[30]=B):B=e[30];let V;e[31]===x?V=e[32]:(V=x&&(0,p.jsxs)(`p`,{className:`mt-3 text-[0.625rem] text-muted-foreground`,children:[`Reed-Solomon erasure coding: `,x.data_shards,` data shards + `,x.parity_shards,` parity`,` `,x.parity_shards===1?`shard`:`shards`,`. Can tolerate `,x.parity_shards,` shard`,` `,x.parity_shards===1?`failure`:`failures`,` without data loss.`]}),e[31]=x,e[32]=V);let H;e[33]!==B||e[34]!==V?(H=(0,p.jsxs)(d,{children:[j,(0,p.jsxs)(u,{children:[B,V]})]}),e[33]=B,e[34]=V,e[35]=H):H=e[35];let U;e[36]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,p.jsx)(c,{children:(0,p.jsx)(l,{className:`text-sm`,children:`DB Consensus Nodes (Raft)`})}),e[36]=U):U=e[36];let W;e[37]===C?W=e[38]:(W=(0,p.jsxs)(d,{children:[U,(0,p.jsx)(u,{children:C.length===0?(0,p.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No data`}):(0,p.jsx)(v,{nodes:C})})]}),e[37]=C,e[38]=W);let G;e[39]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,p.jsx)(c,{children:(0,p.jsx)(l,{className:`text-sm`,children:`Object Storage Shard Nodes`})}),e[39]=G):G=e[39];let K;e[40]===T?K=e[41]:(K=(0,p.jsxs)(d,{children:[G,(0,p.jsx)(u,{children:T.length===0?(0,p.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No data`}):(0,p.jsx)(b,{nodes:T})})]}),e[40]=T,e[41]=K);let q;return e[42]!==H||e[43]!==W||e[44]!==K?(q=(0,p.jsxs)(p.Fragment,{children:[A,(0,p.jsxs)(`div`,{className:`space-y-6`,children:[H,W,K]})]}),e[42]=H,e[43]=W,e[44]=K,e[45]=q):q=e[45],q}function h(e){return!e.healthy}function g(e){return e.healthy}function _(e){let t=(0,f.c)(4),{nodeCount:n,allHealthy:r,anyUnhealthy:i}=e;if(n===0){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,p.jsx)(o,{variant:`secondary`,children:`Unknown`}),t[0]=e):e=t[0],e}if(r){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,p.jsx)(o,{variant:`default`,children:`Healthy`}),t[1]=e):e=t[1],e}if(i){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,p.jsx)(o,{variant:`destructive`,children:`Degraded`}),t[2]=e):e=t[2],e}let a;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,p.jsx)(o,{variant:`secondary`,children:`Unknown`}),t[3]=a):a=t[3],a}function v(e){let t=(0,f.c)(5),{nodes:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,p.jsx)(`thead`,{children:(0,p.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,p.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Node`}),(0,p.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Host`}),(0,p.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Port`}),(0,p.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Health`}),(0,p.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`State`}),(0,p.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Leader`}),(0,p.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Term`}),(0,p.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Commit Index`}),(0,p.jsx)(`th`,{className:`pb-1 font-medium`,children:`Applied Index`})]})}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=n.map(y),t[1]=n,t[2]=i);let a;return t[3]===i?a=t[4]:(a=(0,p.jsx)(`div`,{className:`overflow-x-auto`,children:(0,p.jsxs)(`table`,{className:`w-full text-xs`,children:[r,(0,p.jsx)(`tbody`,{children:i})]})}),t[3]=i,t[4]=a),a}function y(e){return(0,p.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,p.jsx)(`td`,{className:`py-1.5 pr-4 font-mono font-medium`,children:e.id}),(0,p.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.host}),(0,p.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.port}),(0,p.jsx)(`td`,{className:`py-1.5 pr-4`,children:(0,p.jsx)(o,{variant:e.healthy?`default`:`destructive`,className:`text-[0.625rem]`,children:e.healthy?`Healthy`:`Unreachable`})}),(0,p.jsx)(`td`,{className:`py-1.5 pr-4`,children:e.state?(0,p.jsx)(o,{variant:e.state===`Leader`?`default`:`secondary`,className:`text-[0.625rem]`,children:e.state}):(0,p.jsx)(`span`,{className:`text-muted-foreground`,children:`-`})}),(0,p.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.leader??`-`}),(0,p.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.term??`-`}),(0,p.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.commit_index??`-`}),(0,p.jsx)(`td`,{className:`py-1.5 font-mono`,children:e.applied_index??`-`})]},e.id)}function b(e){let t=(0,f.c)(5),{nodes:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,p.jsx)(`thead`,{children:(0,p.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,p.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Node`}),(0,p.jsx)(`th`,{className:`pr-4 pb-1 font-medium`,children:`Host`}),(0,p.jsx)(`th`,{className:`pb-1 font-medium`,children:`Port`})]})}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=n.map(x),t[1]=n,t[2]=i);let a;return t[3]===i?a=t[4]:(a=(0,p.jsx)(`div`,{className:`overflow-x-auto`,children:(0,p.jsxs)(`table`,{className:`w-full text-xs`,children:[r,(0,p.jsx)(`tbody`,{children:i})]})}),t[3]=i,t[4]=a),a}function x(e){return(0,p.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,p.jsx)(`td`,{className:`py-1.5 pr-4 font-mono font-medium`,children:e.id}),(0,p.jsx)(`td`,{className:`py-1.5 pr-4 font-mono`,children:e.host}),(0,p.jsx)(`td`,{className:`py-1.5 font-mono`,children:e.port})]},e.id)}export{m as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/state-badge.js b/spinifex/services/spinifexui/frontend/dist/assets/state-badge.js index b5b91571e..46968c063 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/state-badge.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/state-badge.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{F as n}from"./SignatureV4.js";var r=t(),i=e(),a=new Set([`running`,`available`,`completed`,`Active`]),o=new Set([`stopped`,`error`]),s=new Set([`pending`,`shutting-down`,`stopping`]);function c(e){return e&&a.has(e)?`bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100`:e&&o.has(e)?`bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-100`:e&&s.has(e)?`bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100`:e===`terminated`?`bg-zinc-100 text-zinc-500 dark:bg-zinc-800 dark:text-zinc-400`:`bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-100`}function l(e){let t=(0,r.c)(5),{state:a}=e,o;t[0]===a?o=t[1]:(o=n(`rounded-full px-2 py-1 text-xs`,c(a)),t[0]=a,t[1]=o);let s;return t[2]!==a||t[3]!==o?(s=(0,i.jsx)(`div`,{className:o,children:a}),t[2]=a,t[3]=o,t[4]=s):s=t[4],s}export{l as t}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{I as n}from"./SignatureV4.js";var r=t(),i=e(),a=new Set([`running`,`available`,`completed`,`Active`]),o=new Set([`stopped`,`error`]),s=new Set([`pending`,`shutting-down`,`stopping`]);function c(e){return e&&a.has(e)?`bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100`:e&&o.has(e)?`bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-100`:e&&s.has(e)?`bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100`:e===`terminated`?`bg-zinc-100 text-zinc-500 dark:bg-zinc-800 dark:text-zinc-400`:`bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-100`}function l(e){let t=(0,r.c)(5),{state:a}=e,o;t[0]===a?o=t[1]:(o=n(`rounded-full px-2 py-1 text-xs`,c(a)),t[0]=a,t[1]=o);let s;return t[2]!==a||t[3]!==o?(s=(0,i.jsx)(`div`,{className:o,children:a}),t[2]=a,t[3]=o,t[4]=s):s=t[4],s}export{l as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/system-managed.js b/spinifex/services/spinifexui/frontend/dist/assets/system-managed.js new file mode 100644 index 000000000..0b6b770d6 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/system-managed.js @@ -0,0 +1 @@ +var e=`lb-alpine-3.21.6-x86_64`;function t(e){return e.Tags?.some(e=>e.Key===`spinifex:managed-by`)??!1}function n(e){return e.Tags?.some(e=>e.Key===`spinifex:managed-by`&&e.Value===`elbv2`)??!1}function r(e){return e.some(n)}export{r as n,t as r,e as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/tabs.js b/spinifex/services/spinifexui/frontend/dist/assets/tabs.js new file mode 100644 index 000000000..fe3c651bd --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/tabs.js @@ -0,0 +1 @@ +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{c as i,f as a,l as o,m as s,n as c}from"./dist.js";import{I as l}from"./SignatureV4.js";import{a as u,i as d,n as f,o as p,r as m,s as h,t as g}from"./select.js";import{a as _,c as v,i as y,o as b,r as x,t as S}from"./button.js";import{i as C}from"./separator.js";import{B as w,V as T,_ as E,g as D,t as O,u as k}from"./createBaseUIEventDetails.js";import{a as A,i as j,n as M,t as N}from"./useTransitionStatus.js";import{J as P,K as F,Q as I,X as L,Y as R,Z as z,_ as ee,a as te,b as B,c as ne,d as V,et as re,g as ie,h as ae,l as H,m as oe,o as se,q as ce,s as U,tt as W,u as G,v as le,y as K}from"./useOpenInteractionType.js";import{t as q}from"./input.js";import{i as ue}from"./getDisabledMountTransitionStyles.js";import{i as de,n as fe,t as pe}from"./field.js";var J=r(),Y=e(n(),1),X=t();function me(e,t){let n=new Map;for(let e of t)e.Key!==void 0&&n.set(e.Key,e.Value??``);let r={};for(let t of e)r[t.key]=n.get(t.key)??``;return r}function he(e,t){if(e.type===`int`){if(t.trim()===``)return`Value is required`;if(!/^-?\d+$/.test(t))return`Must be a whole number`;let n=Number(t);if(e.min!==void 0&&ne.max)return`Must be at most ${e.max}`}}function ge(e){let t=(0,J.c)(56),{specs:n,attributes:r,onSubmit:i,isPending:a,error:o,isSuccess:s}=e,c;t[0]!==r||t[1]!==n?(c=me(n,r),t[0]=r,t[1]=n,t[2]=c):c=t[2];let l=c,[p,m]=(0,Y.useState)(l),h;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(h=(e,t)=>{m(n=>({...n,[e]:t}))},t[3]=h):h=t[3];let _=h,v;if(t[4]!==n||t[5]!==p){v={};for(let e of n)v[e.key]=he(e,p[e.key]??``);t[4]=n,t[5]=p,t[6]=v}else v=t[6];let y=Object.values(v).some(Boolean),b;if(t[7]!==l||t[8]!==n||t[9]!==p){let e;t[11]!==l||t[12]!==p?(e=e=>(p[e.key]??``)!==(l[e.key]??``),t[11]=l,t[12]=p,t[13]=e):e=t[13];let r;t[14]===p?r=t[15]:(r=e=>({key:e.key,value:p[e.key]??``}),t[14]=p,t[15]=r),b=n.filter(e).map(r),t[7]=l,t[8]=n,t[9]=p,t[10]=b}else b=t[10];let x=b,C;t[16]===l?C=t[17]:(C=()=>{m(l)},t[16]=l,t[17]=C);let w=C,T;t[18]!==x||t[19]!==y||t[20]!==i?(T=e=>{e.preventDefault(),!(y||x.length===0)&&i(x)},t[18]=x,t[19]=y,t[20]=i,t[21]=T):T=t[21];let E;t[22]===o?E=t[23]:(E=o&&(0,X.jsx)(`div`,{className:`mb-4 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive`,role:`alert`,children:o.message||`Failed to save attributes`}),t[22]=o,t[23]=E);let D;t[24]!==x.length||t[25]!==s?(D=s&&x.length===0&&(0,X.jsx)(`div`,{className:`mb-4 rounded-md border border-emerald-500 bg-emerald-500/10 p-3 text-sm text-emerald-700 dark:text-emerald-400`,role:`status`,children:`Attributes saved.`}),t[24]=x.length,t[25]=s,t[26]=D):D=t[26];let O;if(t[27]!==v||t[28]!==n||t[29]!==p){let e;t[31]!==v||t[32]!==p?(e=e=>{let t=`attr-${e.key}`,n=p[e.key]??``,r=v[e.key];return(0,X.jsxs)(pe,{children:[(0,X.jsx)(de,{children:(0,X.jsx)(`label`,{htmlFor:t,children:e.label})}),e.type===`bool`&&(0,X.jsx)(`input`,{checked:n===`true`,id:t,onChange:t=>_(e.key,t.target.checked?`true`:`false`),type:`checkbox`}),e.type===`int`&&(0,X.jsx)(q,{"aria-invalid":!!r,id:t,inputMode:`numeric`,onChange:t=>_(e.key,t.target.value),value:n}),e.type===`text`&&(0,X.jsx)(q,{id:t,onChange:t=>_(e.key,t.target.value),placeholder:e.placeholder,value:n}),e.type===`select`&&(0,X.jsxs)(g,{onValueChange:t=>_(e.key,t??``),value:n,children:[(0,X.jsx)(d,{className:`w-full`,id:t,children:(0,X.jsx)(u,{})}),(0,X.jsx)(f,{children:e.options.map(_e)})]}),e.description&&(0,X.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.description}),(0,X.jsx)(fe,{errors:[r?{message:r}:void 0]})]},e.key)},t[31]=v,t[32]=p,t[33]=e):e=t[33],O=n.map(e),t[27]=v,t[28]=n,t[29]=p,t[30]=O}else O=t[30];let k;t[34]===O?k=t[35]:(k=(0,X.jsx)(`div`,{className:`grid gap-4 p-4 sm:grid-cols-2`,children:O}),t[34]=O,t[35]=k);let A=x.length===0?`No changes`:`${x.length} change${x.length===1?``:`s`} pending`,j;t[36]===A?j=t[37]:(j=(0,X.jsx)(`span`,{className:`mr-auto text-xs text-muted-foreground`,children:A}),t[36]=A,t[37]=j);let M=a||x.length===0,N;t[38]!==w||t[39]!==M?(N=(0,X.jsx)(S,{disabled:M,onClick:w,size:`sm`,type:`button`,variant:`secondary`,children:`Reset`}),t[38]=w,t[39]=M,t[40]=N):N=t[40];let P=a||y||x.length===0,F=a?`Saving…`:`Save changes`,I;t[41]!==P||t[42]!==F?(I=(0,X.jsx)(S,{disabled:P,size:`sm`,type:`submit`,children:F}),t[41]=P,t[42]=F,t[43]=I):I=t[43];let L;t[44]!==j||t[45]!==N||t[46]!==I?(L=(0,X.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t p-4`,children:[j,N,I]}),t[44]=j,t[45]=N,t[46]=I,t[47]=L):L=t[47];let R;t[48]!==L||t[49]!==k?(R=(0,X.jsxs)(`div`,{className:`rounded-lg border bg-card`,children:[k,L]}),t[48]=L,t[49]=k,t[50]=R):R=t[50];let z;return t[51]!==R||t[52]!==T||t[53]!==E||t[54]!==D?(z=(0,X.jsxs)(`form`,{onSubmit:T,children:[E,D,R]}),t[51]=R,t[52]=T,t[53]=E,t[54]=D,t[55]=z):z=t[55],z}function _e(e){return(0,X.jsx)(m,{value:e,children:e},e)}var ve=[{key:`deletion_protection.enabled`,label:`Deletion protection`,type:`bool`},{key:`load_balancing.cross_zone.enabled`,label:`Cross-zone load balancing`,type:`bool`},{key:`idle_timeout.timeout_seconds`,label:`Idle timeout (s)`,type:`int`,min:1,max:4e3},{key:`client_keep_alive.seconds`,label:`Client keep-alive (s)`,type:`int`,min:60,max:604800},{key:`routing.http2.enabled`,label:`HTTP/2`,type:`bool`},{key:`routing.http.drop_invalid_header_fields.enabled`,label:`Drop invalid header fields`,type:`bool`},{key:`routing.http.preserve_host_header.enabled`,label:`Preserve host header`,type:`bool`},{key:`routing.http.xff_client_port.enabled`,label:`XFF client port`,type:`bool`},{key:`routing.http.xff_header_processing.mode`,label:`XFF header processing`,type:`select`,options:[`append`,`preserve`,`remove`]},{key:`routing.http.desync_mitigation_mode`,label:`Desync mitigation mode`,type:`select`,options:[`defensive`,`strictest`,`monitor`]},{key:`routing.http.x_amzn_tls_version_and_cipher_suite.enabled`,label:`Add TLS version & cipher headers`,type:`bool`},{key:`waf.fail_open.enabled`,label:`WAF fail open`,type:`bool`},{key:`zonal_shift.config.enabled`,label:`Zonal shift`,type:`bool`},{key:`access_logs.s3.enabled`,label:`Access logs: enabled`,type:`bool`},{key:`access_logs.s3.bucket`,label:`Access logs: S3 bucket`,type:`text`},{key:`access_logs.s3.prefix`,label:`Access logs: S3 prefix`,type:`text`},{key:`connection_logs.s3.enabled`,label:`Connection logs: enabled`,type:`bool`},{key:`connection_logs.s3.bucket`,label:`Connection logs: S3 bucket`,type:`text`},{key:`connection_logs.s3.prefix`,label:`Connection logs: S3 prefix`,type:`text`}],ye=[{key:`deregistration_delay.timeout_seconds`,label:`Deregistration delay (s)`,type:`int`,min:0,max:3600},{key:`stickiness.enabled`,label:`Stickiness`,type:`bool`},{key:`stickiness.type`,label:`Stickiness type`,type:`select`,options:[`lb_cookie`,`source_ip`]},{key:`stickiness.lb_cookie.duration_seconds`,label:`Stickiness lb_cookie duration (s)`,type:`int`,min:1,max:604800},{key:`load_balancing.cross_zone.enabled`,label:`Cross-zone load balancing`,type:`select`,options:[`true`,`false`,`use_load_balancer_configuration`]},{key:`load_balancing.algorithm.type`,label:`Load balancing algorithm`,type:`select`,options:[`round_robin`,`least_outstanding_requests`]},{key:`slow_start.duration_seconds`,label:`Slow start duration (s)`,type:`int`,min:0,max:900}],be=Y.createContext(void 0);function Z(){let e=Y.useContext(be);if(e===void 0)throw Error(s(64));return e}var xe=function(e){return e.activationDirection=`data-activation-direction`,e.orientation=`data-orientation`,e}({}),Q={tabActivationDirection:e=>({[xe.activationDirection]:e})},Se=Y.forwardRef(function(e,t){let{className:n,defaultValue:r=0,onValueChange:i,orientation:a=`horizontal`,render:o,value:s,...l}=e,u=ue(),d=Object.hasOwn(e,`defaultValue`),f=Y.useRef([]),[p,m]=Y.useState(()=>new Map),[g,_]=C({controlled:s,default:r,name:`Tabs`,state:`value`}),y=s!==void 0,[x,S]=Y.useState(()=>new Map),[w,T]=Y.useState(`none`),E=v((e,t)=>{i?.(e,t),!t.isCanceled&&(_(e),T(t.activationDirection))}),D=v((e,t)=>{m(n=>{if(n.get(e)===t)return n;let r=new Map(n);return r.set(e,t),r})}),O=v((e,t)=>{m(n=>{if(!n.has(e)||n.get(e)!==t)return n;let r=new Map(n);return r.delete(e),r})}),k=Y.useCallback(e=>p.get(e),[p]),A=Y.useCallback(e=>{for(let t of x.values())if(e===t?.value)return t?.id},[x]),j=Y.useCallback(e=>{if(e===void 0)return null;for(let[t,n]of x.entries())if(n!=null&&e===(n.value??n.index))return t;return null},[x]),M=Y.useMemo(()=>({direction:u,getTabElementBySelectedValue:j,getTabIdByPanelValue:A,getTabPanelIdByValue:k,onValueChange:E,orientation:a,registerMountedTabPanel:D,setTabMap:S,unregisterMountedTabPanel:O,tabActivationDirection:w,value:g}),[u,j,A,k,E,a,D,S,O,w,g]),N=Y.useMemo(()=>{for(let e of x.values())if(e!=null&&e.value===g)return e},[x,g]),P=Y.useMemo(()=>{for(let e of x.values())if(e!=null&&!e.disabled)return e.value},[x]);b(()=>{if(y||x.size===0)return;let e=N?.disabled;if(d&&e&&g===r||!e&&!(N==null&&g!==null))return;let t=P??null;g!==t&&(_(t),T(`none`))},[r,P,d,y,N,T,_,x,g]);let F=c(`div`,e,{state:{orientation:a,tabActivationDirection:w},ref:t,props:l,stateAttributesMapping:Q});return(0,X.jsx)(be.Provider,{value:M,children:(0,X.jsx)(h,{elementsRef:f,children:F})})}),Ce=`data-composite-item-active`;function we(e={}){let{highlightItemOnHover:t,highlightedIndex:n,onHighlightedIndexChange:r}=_(),{ref:i,index:o}=p(e),s=n===o,c=Y.useRef(null),l=a(i,c);return{compositeProps:Y.useMemo(()=>({tabIndex:s?0:-1,onFocus(){r(o)},onMouseMove(){let e=c.current;if(!t||!e)return;let n=e.hasAttribute(`disabled`)||e.ariaDisabled===`true`;!s&&!n&&e.focus()}}),[s,r,o,t]),compositeRef:l,index:o}}var Te=Y.createContext(void 0);function Ee(){let e=Y.useContext(Te);if(e===void 0)throw Error(s(65));return e}var De=Y.forwardRef(function(e,t){let{className:n,disabled:r=!1,render:i,value:a,id:o,nativeButton:s=!0,...l}=e,{value:u,getTabPanelIdByValue:d,orientation:f}=Z(),{activateOnFocus:p,highlightedTabIndex:m,onTabActivation:h,registerTabResizeObserverElement:g,setHighlightedTabIndex:_,tabsListElement:v}=Ee(),y=T(o),{compositeProps:S,compositeRef:C,index:A}=we({metadata:Y.useMemo(()=>({disabled:r,id:y,value:a}),[r,y,a])}),j=a===u,M=Y.useRef(!1),N=Y.useRef(null);Y.useEffect(()=>{let e=N.current;if(e)return g(e)},[g]),b(()=>{if(M.current){M.current=!1;return}if(!(j&&A>-1&&m!==A))return;let e=v;if(e!=null){let t=D(w(e));if(t&&E(e,t))return}r||_(A)},[j,A,m,_,r,v]);let{getButtonProps:P,buttonRef:F}=x({disabled:r,native:s,focusableWhenDisabled:!0}),I=d(a),L=Y.useRef(!1),R=Y.useRef(!1);function z(e){j||r||h(a,O(k,e.nativeEvent,void 0,{activationDirection:`none`}))}function ee(e){j||(A>-1&&!r&&_(A),!r&&p&&(!L.current||L.current&&R.current)&&h(a,O(k,e.nativeEvent,void 0,{activationDirection:`none`})))}function te(e){if(j||r)return;L.current=!0;function t(){L.current=!1,R.current=!1}(!e.button||e.button===0)&&(R.current=!0,w(e.currentTarget).addEventListener(`pointerup`,t,{once:!0}))}return c(`button`,e,{state:{disabled:r,active:j,orientation:f},ref:[t,F,C,N],props:[S,{role:`tab`,"aria-controls":I,"aria-selected":j,id:y,onClick:z,onFocus:ee,onPointerDown:te,[Ce]:j?``:void 0,onKeyDownCapture(){M.current=!0}},l,P]})}),Oe=function(e){return e.index=`data-index`,e.activationDirection=`data-activation-direction`,e.orientation=`data-orientation`,e.hidden=`data-hidden`,e[e.startingStyle=j.startingStyle]=`startingStyle`,e[e.endingStyle=j.endingStyle]=`endingStyle`,e}({}),ke={...Q,...A},Ae=Y.forwardRef(function(e,t){let{className:n,value:r,render:i,keepMounted:a=!1,...o}=e,{value:s,getTabIdByPanelValue:l,orientation:u,tabActivationDirection:d,registerMountedTabPanel:f,unregisterMountedTabPanel:m}=Z(),h=T(),{ref:g,index:_}=p({metadata:Y.useMemo(()=>({id:h,value:r}),[h,r])}),v=r===s,{mounted:y,transitionStatus:x,setMounted:S}=N(v),C=!y,w=l(r),E={hidden:C,orientation:u,tabActivationDirection:d,transitionStatus:x},D=Y.useRef(null),O=c(`div`,e,{state:E,ref:[t,g,D],props:[{"aria-labelledby":w,hidden:C,id:h,role:`tabpanel`,tabIndex:v?0:-1,inert:te(!v),[Oe.index]:_},o],stateAttributesMapping:ke});return M({open:v,ref:D,onComplete(){v||S(!1)}}),b(()=>{if(!(C&&!a)&&h!=null)return f(r,h),()=>{m(r,h)}},[C,a,r,h,f,m]),a||y?O:null});function je(e){return e==null||e.hasAttribute(`disabled`)||e.getAttribute(`aria-disabled`)===`true`}var Me=[];function Ne(e){let{itemSizes:t,cols:n=1,loopFocus:r=!0,dense:i=!1,orientation:o=`both`,direction:s,highlightedIndex:c,onHighlightedIndexChange:l,rootRef:u,enableHomeAndEndKeys:d=!1,stopEventPropagation:f=!1,disabledIndices:p,modifierKeys:m=Me}=e,[h,g]=Y.useState(0),_=n>1,y=Y.useRef(null),b=a(y,u),x=Y.useRef([]),S=Y.useRef(!1),C=c??h,w=v((e,t=!1)=>{if((l??g)(e),t){let t=x.current[e];B(y.current,t,s,o)}}),T=v(e=>{if(e.size===0||S.current)return;S.current=!0;let t=Array.from(e.keys()),n=t.find(e=>e?.hasAttribute(`data-composite-item-active`))??null,r=n?t.indexOf(n):-1;r!==-1&&w(r),B(y.current,n,s,o)}),E=Y.useMemo(()=>({"aria-orientation":o===`both`?void 0:o,ref:b,onFocus(e){!y.current||!K(e.target)||e.target.setSelectionRange(0,e.target.value.length??0)},onKeyDown(e){let a=d?se:ne;if(!a.has(e.key)||Pe(e,m)||!y.current)return;let c=s===`rtl`,l=c?H:G,u={horizontal:l,vertical:U,both:l}[o],h=c?G:H,g={horizontal:h,vertical:V,both:h}[o];if(K(e.target)&&!je(e.target)){let t=e.target.selectionStart,n=e.target.selectionEnd,r=e.target.value??``;if(t==null||e.shiftKey||t!==n||e.key!==g&&t0)return}let v=C,b=I(x,p),S=z(x,p);if(_){let a=t||Array.from({length:x.current.length},()=>({width:1,height:1})),s=F(a,n,i),l=s.findIndex(e=>e!=null&&!W(x,e,p)),u=s.reduce((e,t,n)=>t!=null&&!W(x,t,p)?n:e,-1);v=s[L({current:s.map(e=>e?x.current[e]:null)},{event:e,orientation:o,loopFocus:r,cols:n,disabledIndices:R([...p||x.current.map((e,t)=>W(x,t)?t:void 0),void 0],s),minIndex:l,maxIndex:u,prevIndex:P(C>S?b:C,a,s,n,e.key===`ArrowDown`?`bl`:e.key===`ArrowRight`?`tr`:`tl`),rtl:c})]}let T={horizontal:[l],vertical:[U],both:[l,U]}[o],E={horizontal:[h],vertical:[V],both:[h,V]}[o],D=_?a:{horizontal:d?ae:oe,vertical:d?le:ee,both:a}[o];d&&(e.key===`Home`?v=b:e.key===`End`&&(v=S)),v===C&&(T.includes(e.key)||E.includes(e.key))&&(v=r&&v===S&&T.includes(e.key)?b:r&&v===b&&E.includes(e.key)?S:ce(x,{startingIndex:v,decrement:E.includes(e.key),disabledIndices:p})),v!==C&&!re(x,v)&&(f&&e.stopPropagation(),D.has(e.key)&&e.preventDefault(),w(v,!0),queueMicrotask(()=>{x.current[v]?.focus()}))}}),[n,i,s,p,x,d,C,_,t,r,b,m,w,o,f]);return Y.useMemo(()=>({props:E,highlightedIndex:C,onHighlightedIndexChange:w,elementsRef:x,disabledIndices:p,onMapChange:T,relayKeyboardEvent:E.onKeyDown}),[E,C,w,x,p,T])}function Pe(e,t){for(let n of ie.values())if(!t.includes(n)&&e.getModifierState(n))return!0;return!1}function Fe(e){let{render:t,className:n,refs:r=i,props:a=i,state:s=o,stateAttributesMapping:l,highlightedIndex:u,onHighlightedIndexChange:d,orientation:f,dense:p,itemSizes:m,loopFocus:g,cols:_,enableHomeAndEndKeys:v,onMapChange:b,stopEventPropagation:x=!0,rootRef:S,disabledIndices:C,modifierKeys:w,highlightItemOnHover:T=!1,tag:E=`div`,...D}=e,{props:O,highlightedIndex:k,onHighlightedIndexChange:A,elementsRef:j,onMapChange:M,relayKeyboardEvent:N}=Ne({itemSizes:m,cols:_,loopFocus:g,dense:p,orientation:f,highlightedIndex:u,onHighlightedIndexChange:d,rootRef:S,stopEventPropagation:x,enableHomeAndEndKeys:v,direction:ue(),disabledIndices:C,modifierKeys:w}),P=c(E,e,{state:s,ref:r,props:[O,...a,D],stateAttributesMapping:l}),F=Y.useMemo(()=>({highlightedIndex:k,onHighlightedIndexChange:A,highlightItemOnHover:T,relayKeyboardEvent:N}),[k,A,T,N]);return(0,X.jsx)(y.Provider,{value:F,children:(0,X.jsx)(h,{elementsRef:j,onMapChange:e=>{b?.(e),M(e)},children:P})})}var Ie=Y.forwardRef(function(e,t){let{activateOnFocus:n=!1,className:r,loopFocus:a=!0,render:o,...s}=e,{getTabElementBySelectedValue:c,onValueChange:l,orientation:u,value:d,setTabMap:f,tabActivationDirection:p}=Z(),[m,h]=Y.useState(0),[g,_]=Y.useState(null),y=Y.useRef(new Set),b=Y.useRef(new Set),x=Y.useRef(null),S=v(()=>{y.current.forEach(e=>{e()})});Y.useEffect(()=>{if(typeof ResizeObserver>`u`)return;let e=new ResizeObserver(()=>{y.current.size&&S()});return x.current=e,g&&e.observe(g),b.current.forEach(t=>{e.observe(t)}),()=>{e.disconnect(),x.current=null}},[g,S]);let C=v(e=>(y.current.add(e),()=>{y.current.delete(e)})),w=v(e=>(b.current.add(e),x.current?.observe(e),()=>{b.current.delete(e),x.current?.unobserve(e)})),T=Le(d,u,g,c),E=v((e,t)=>{e!==d&&(t.activationDirection=T(e),l(e,t))}),D={orientation:u,tabActivationDirection:p},O={"aria-orientation":u===`vertical`?`vertical`:void 0,role:`tablist`},k=Y.useMemo(()=>({activateOnFocus:n,highlightedTabIndex:m,registerIndicatorUpdateListener:C,registerTabResizeObserverElement:w,onTabActivation:E,setHighlightedTabIndex:h,tabsListElement:g}),[n,m,C,w,E,h,g]);return(0,X.jsx)(Te.Provider,{value:k,children:(0,X.jsx)(Fe,{render:o,className:r,state:D,refs:[t,_],props:[O,s],stateAttributesMapping:Q,highlightedIndex:m,enableHomeAndEndKeys:!0,loopFocus:a,orientation:u,onHighlightedIndexChange:h,onMapChange:f,disabledIndices:i})})});function $(e,t){let{left:n,top:r}=e.getBoundingClientRect(),{left:i,top:a}=t.getBoundingClientRect();return{left:n-i,top:r-a}}function Le(e,t,n,r){let[i,a]=Y.useState(null);return b(()=>{if(e==null||n==null){a(null);return}let i=r(e);if(i==null){a(null);return}let{left:o,top:s}=$(i,n);a(t===`horizontal`?o:s)},[t,r,n,e]),Y.useCallback(o=>{if(o===e)return`none`;if(o==null)return a(null),`none`;if(o!=null&&n!=null){let e=r(o);if(e!=null){let{left:r,top:o}=$(e,n);if(i==null)return a(t===`horizontal`?r:o),`none`;if(t===`horizontal`){if(ri)return a(r),`right`}else if(oi)return a(o),`down`}}return`none`},[r,t,i,n,e])}function Re(e){let t=(0,J.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=l(`flex flex-col gap-4`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,X.jsx)(Se,{className:i,"data-slot":`tabs`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function ze(e){let t=(0,J.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=l(`inline-flex items-center gap-1 border-b`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,X.jsx)(Ie,{className:i,"data-slot":`tabs-list`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Be(e){let t=(0,J.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=l(`inline-flex items-center justify-center border-b-2 border-transparent px-3 py-2 text-sm font-medium text-muted-foreground transition-colors hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring/30 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-selected:border-primary data-selected:text-foreground`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,X.jsx)(De,{className:i,"data-slot":`tabs-tab`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Ve(e){let t=(0,J.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=l(`focus-visible:outline-none`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,X.jsx)(Ae,{className:i,"data-slot":`tabs-panel`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}export{ge as a,Be as i,ze as n,ve as o,Ve as r,ye as s,Re as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/target-group-form.js b/spinifex/services/spinifexui/frontend/dist/assets/target-group-form.js new file mode 100644 index 000000000..75d25b334 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/target-group-form.js @@ -0,0 +1 @@ +import{n as e,t}from"./compiler-runtime.js";import{V as n}from"./SignatureV4.js";import{a as ee,i as te,n as ne,r,t as re}from"./select.js";import{t as ie}from"./plus.js";import{t as ae}from"./trash-2.js";import{t as oe}from"./button.js";import{t as i}from"./input.js";import{i as a,n as o,t as s}from"./field.js";import{n as se}from"./zod.js";import{n as ce,r as le,t as ue}from"./collapsible.js";var c=t(),l=e();function u(e){let t=(0,c.c)(174),{form:n,vpcs:r}=e,{control:u,register:d,watch:pe,setValue:f,getValues:p,formState:m}=n,{errors:h}=m,me,g,_,v,y,b,x,S,C;if(t[0]!==u||t[1]!==h.healthCheck?.healthyThresholdCount||t[2]!==h.healthCheck?.intervalSeconds||t[3]!==h.healthCheck?.matcher||t[4]!==h.healthCheck?.path||t[5]!==h.healthCheck?.port||t[6]!==h.healthCheck?.timeoutSeconds||t[7]!==h.healthCheck?.unhealthyThresholdCount||t[8]!==h.name||t[9]!==h.port||t[10]!==h.vpcId||t[11]!==p||t[12]!==d||t[13]!==f||t[14]!==r||t[15]!==pe){let e=pe(`tags`),n;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,l.jsx)(a,{children:(0,l.jsx)(`label`,{htmlFor:`tg-name`,children:`Name`})}),t[25]=n):n=t[25];let ie=!!h.name,c;t[26]===d?c=t[27]:(c=d(`name`),t[26]=d,t[27]=c);let m;t[28]!==ie||t[29]!==c?(m=(0,l.jsx)(i,{"aria-invalid":ie,id:`tg-name`,placeholder:`my-target-group`,...c}),t[28]=ie,t[29]=c,t[30]=m):m=t[30];let w;t[31]===h.name?w=t[32]:(w=(0,l.jsx)(o,{errors:[h.name]}),t[31]=h.name,t[32]=w),t[33]!==m||t[34]!==w?(y=(0,l.jsxs)(s,{children:[n,m,w]}),t[33]=m,t[34]=w,t[35]=y):y=t[35];let T;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,l.jsx)(a,{children:(0,l.jsx)(`label`,{htmlFor:`tg-protocol`,children:`Protocol`})}),t[36]=T):T=t[36],t[37]===u?b=t[38]:(b=(0,l.jsxs)(s,{children:[T,(0,l.jsx)(se,{control:u,name:`protocol`,render:fe})]}),t[37]=u,t[38]=b);let E;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,l.jsx)(a,{children:(0,l.jsx)(`label`,{htmlFor:`tg-port`,children:`Port`})}),t[39]=E):E=t[39];let D=!!h.port,O;t[40]===d?O=t[41]:(O=d(`port`,{valueAsNumber:!0}),t[40]=d,t[41]=O);let k;t[42]!==D||t[43]!==O?(k=(0,l.jsx)(i,{"aria-invalid":D,id:`tg-port`,inputMode:`numeric`,placeholder:`80`,type:`number`,...O}),t[42]=D,t[43]=O,t[44]=k):k=t[44];let A;t[45]===h.port?A=t[46]:(A=(0,l.jsx)(o,{errors:[h.port]}),t[45]=h.port,t[46]=A),t[47]!==k||t[48]!==A?(x=(0,l.jsxs)(s,{children:[E,k,A]}),t[47]=k,t[48]=A,t[49]=x):x=t[49];let he;t[50]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,l.jsx)(a,{children:(0,l.jsx)(`label`,{htmlFor:`tg-vpc`,children:`VPC`})}),t[50]=he):he=t[50];let j;t[51]!==h.vpcId||t[52]!==r?(j=e=>{let{field:t}=e;return(0,l.jsxs)(re,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,l.jsx)(te,{"aria-invalid":!!h.vpcId,className:`w-full`,id:`tg-vpc`,children:(0,l.jsx)(ee,{placeholder:`Select VPC`})}),(0,l.jsx)(ne,{children:r.map(de)})]})},t[51]=h.vpcId,t[52]=r,t[53]=j):j=t[53];let M;t[54]!==u||t[55]!==j?(M=(0,l.jsx)(se,{control:u,name:`vpcId`,render:j}),t[54]=u,t[55]=j,t[56]=M):M=t[56];let N;t[57]===h.vpcId?N=t[58]:(N=(0,l.jsx)(o,{errors:[h.vpcId]}),t[57]=h.vpcId,t[58]=N),t[59]!==M||t[60]!==N?(S=(0,l.jsxs)(s,{children:[he,M,N]}),t[59]=M,t[60]=N,t[61]=S):S=t[61];let ge;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,l.jsx)(le,{className:`text-left text-sm font-medium text-muted-foreground hover:text-foreground`,render:(0,l.jsx)(`button`,{type:`button`}),children:`Health check settings`}),t[62]=ge):ge=t[62];let _e;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,l.jsx)(a,{children:(0,l.jsx)(`label`,{htmlFor:`hc-path`,children:`Path`})}),t[63]=_e):_e=t[63];let ve=!!h.healthCheck?.path,P;t[64]===d?P=t[65]:(P=d(`healthCheck.path`),t[64]=d,t[65]=P);let F;t[66]!==ve||t[67]!==P?(F=(0,l.jsx)(i,{"aria-invalid":ve,id:`hc-path`,placeholder:`/`,...P}),t[66]=ve,t[67]=P,t[68]=F):F=t[68];let ye=h.healthCheck?.path,I;t[69]===ye?I=t[70]:(I=(0,l.jsx)(o,{errors:[ye]}),t[69]=ye,t[70]=I);let L;t[71]!==F||t[72]!==I?(L=(0,l.jsxs)(s,{children:[_e,F,I]}),t[71]=F,t[72]=I,t[73]=L):L=t[73];let be;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(be=(0,l.jsx)(a,{children:(0,l.jsx)(`label`,{htmlFor:`hc-port`,children:`Port`})}),t[74]=be):be=t[74];let xe=!!h.healthCheck?.port,R;t[75]===d?R=t[76]:(R=d(`healthCheck.port`),t[75]=d,t[76]=R);let z;t[77]!==xe||t[78]!==R?(z=(0,l.jsx)(i,{"aria-invalid":xe,id:`hc-port`,placeholder:`traffic-port or numeric`,...R}),t[77]=xe,t[78]=R,t[79]=z):z=t[79];let Se=h.healthCheck?.port,B;t[80]===Se?B=t[81]:(B=(0,l.jsx)(o,{errors:[Se]}),t[80]=Se,t[81]=B);let V;t[82]!==z||t[83]!==B?(V=(0,l.jsxs)(s,{children:[be,z,B]}),t[82]=z,t[83]=B,t[84]=V):V=t[84];let Ce;t[85]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,l.jsx)(a,{children:(0,l.jsx)(`label`,{htmlFor:`hc-interval`,children:`Interval (seconds)`})}),t[85]=Ce):Ce=t[85];let we=!!h.healthCheck?.intervalSeconds,Te;t[86]===d?Te=t[87]:(Te=d(`healthCheck.intervalSeconds`,{valueAsNumber:!0}),t[86]=d,t[87]=Te);let H;t[88]!==we||t[89]!==Te?(H=(0,l.jsx)(i,{"aria-invalid":we,id:`hc-interval`,inputMode:`numeric`,type:`number`,...Te}),t[88]=we,t[89]=Te,t[90]=H):H=t[90];let Ee=h.healthCheck?.intervalSeconds,U;t[91]===Ee?U=t[92]:(U=(0,l.jsx)(o,{errors:[Ee]}),t[91]=Ee,t[92]=U);let W;t[93]!==H||t[94]!==U?(W=(0,l.jsxs)(s,{children:[Ce,H,U]}),t[93]=H,t[94]=U,t[95]=W):W=t[95];let De;t[96]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,l.jsx)(a,{children:(0,l.jsx)(`label`,{htmlFor:`hc-timeout`,children:`Timeout (seconds)`})}),t[96]=De):De=t[96];let Oe=!!h.healthCheck?.timeoutSeconds,G;t[97]===d?G=t[98]:(G=d(`healthCheck.timeoutSeconds`,{valueAsNumber:!0}),t[97]=d,t[98]=G);let K;t[99]!==Oe||t[100]!==G?(K=(0,l.jsx)(i,{"aria-invalid":Oe,id:`hc-timeout`,inputMode:`numeric`,type:`number`,...G}),t[99]=Oe,t[100]=G,t[101]=K):K=t[101];let ke=h.healthCheck?.timeoutSeconds,q;t[102]===ke?q=t[103]:(q=(0,l.jsx)(o,{errors:[ke]}),t[102]=ke,t[103]=q);let J;t[104]!==K||t[105]!==q?(J=(0,l.jsxs)(s,{children:[De,K,q]}),t[104]=K,t[105]=q,t[106]=J):J=t[106];let Ae;t[107]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=(0,l.jsx)(a,{children:(0,l.jsx)(`label`,{htmlFor:`hc-healthy`,children:`Healthy threshold`})}),t[107]=Ae):Ae=t[107];let je=!!h.healthCheck?.healthyThresholdCount,Y;t[108]===d?Y=t[109]:(Y=d(`healthCheck.healthyThresholdCount`,{valueAsNumber:!0}),t[108]=d,t[109]=Y);let X;t[110]!==je||t[111]!==Y?(X=(0,l.jsx)(i,{"aria-invalid":je,id:`hc-healthy`,inputMode:`numeric`,type:`number`,...Y}),t[110]=je,t[111]=Y,t[112]=X):X=t[112];let Me=h.healthCheck?.healthyThresholdCount,Z;t[113]===Me?Z=t[114]:(Z=(0,l.jsx)(o,{errors:[Me]}),t[113]=Me,t[114]=Z);let Q;t[115]!==X||t[116]!==Z?(Q=(0,l.jsxs)(s,{children:[Ae,X,Z]}),t[115]=X,t[116]=Z,t[117]=Q):Q=t[117];let Ne;t[118]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,l.jsx)(a,{children:(0,l.jsx)(`label`,{htmlFor:`hc-unhealthy`,children:`Unhealthy threshold`})}),t[118]=Ne):Ne=t[118];let Pe=!!h.healthCheck?.unhealthyThresholdCount,Fe;t[119]===d?Fe=t[120]:(Fe=d(`healthCheck.unhealthyThresholdCount`,{valueAsNumber:!0}),t[119]=d,t[120]=Fe);let Ie;t[121]!==Pe||t[122]!==Fe?(Ie=(0,l.jsx)(i,{"aria-invalid":Pe,id:`hc-unhealthy`,inputMode:`numeric`,type:`number`,...Fe}),t[121]=Pe,t[122]=Fe,t[123]=Ie):Ie=t[123];let Le=h.healthCheck?.unhealthyThresholdCount,Re;t[124]===Le?Re=t[125]:(Re=(0,l.jsx)(o,{errors:[Le]}),t[124]=Le,t[125]=Re);let $;t[126]!==Ie||t[127]!==Re?($=(0,l.jsxs)(s,{children:[Ne,Ie,Re]}),t[126]=Ie,t[127]=Re,t[128]=$):$=t[128];let ze;t[129]===Symbol.for(`react.memo_cache_sentinel`)?(ze=(0,l.jsx)(a,{children:(0,l.jsx)(`label`,{htmlFor:`hc-matcher`,children:`Matcher (HTTP codes)`})}),t[129]=ze):ze=t[129];let Be=!!h.healthCheck?.matcher,Ve;t[130]===d?Ve=t[131]:(Ve=d(`healthCheck.matcher`),t[130]=d,t[131]=Ve);let He;t[132]!==Be||t[133]!==Ve?(He=(0,l.jsx)(i,{"aria-invalid":Be,id:`hc-matcher`,placeholder:`200 or 200-299 or 200,201`,...Ve}),t[132]=Be,t[133]=Ve,t[134]=He):He=t[134];let Ue=h.healthCheck?.matcher,We;t[135]===Ue?We=t[136]:(We=(0,l.jsx)(o,{errors:[Ue]}),t[135]=Ue,t[136]=We);let Ge;t[137]!==He||t[138]!==We?(Ge=(0,l.jsxs)(s,{children:[ze,He,We]}),t[137]=He,t[138]=We,t[139]=Ge):Ge=t[139],t[140]!==L||t[141]!==V||t[142]!==W||t[143]!==J||t[144]!==Q||t[145]!==$||t[146]!==Ge?(C=(0,l.jsxs)(ue,{children:[ge,(0,l.jsxs)(ce,{className:`mt-3 space-y-4 border-l-2 border-muted pl-4`,children:[L,V,W,J,Q,$,Ge]})]}),t[140]=L,t[141]=V,t[142]=W,t[143]=J,t[144]=Q,t[145]=$,t[146]=Ge,t[147]=C):C=t[147],me=s,t[148]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,l.jsx)(a,{children:`Tags`}),t[148]=v):v=t[148],g=`space-y-2`;let Ke;t[149]!==p||t[150]!==d||t[151]!==f?(Ke=(e,t)=>(0,l.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,l.jsx)(i,{placeholder:`Key`,...d(`tags.${t}.key`)}),(0,l.jsx)(i,{placeholder:`Value`,...d(`tags.${t}.value`)}),(0,l.jsx)(oe,{onClick:()=>f(`tags`,p(`tags`).filter((e,n)=>n!==t)),size:`icon`,type:`button`,variant:`ghost`,children:(0,l.jsx)(ae,{className:`size-3.5`})})]},t),t[149]=p,t[150]=d,t[151]=f,t[152]=Ke):Ke=t[152],_=e.map(Ke),t[0]=u,t[1]=h.healthCheck?.healthyThresholdCount,t[2]=h.healthCheck?.intervalSeconds,t[3]=h.healthCheck?.matcher,t[4]=h.healthCheck?.path,t[5]=h.healthCheck?.port,t[6]=h.healthCheck?.timeoutSeconds,t[7]=h.healthCheck?.unhealthyThresholdCount,t[8]=h.name,t[9]=h.port,t[10]=h.vpcId,t[11]=p,t[12]=d,t[13]=f,t[14]=r,t[15]=pe,t[16]=me,t[17]=g,t[18]=_,t[19]=v,t[20]=y,t[21]=b,t[22]=x,t[23]=S,t[24]=C}else me=t[16],g=t[17],_=t[18],v=t[19],y=t[20],b=t[21],x=t[22],S=t[23],C=t[24];let w;t[153]!==p||t[154]!==f?(w=()=>f(`tags`,[...p(`tags`),{key:``,value:``}]),t[153]=p,t[154]=f,t[155]=w):w=t[155];let T;t[156]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,l.jsx)(ie,{className:`size-3.5`}),t[156]=T):T=t[156];let E;t[157]===w?E=t[158]:(E=(0,l.jsxs)(oe,{onClick:w,size:`sm`,type:`button`,variant:`outline`,children:[T,`Add tag`]}),t[157]=w,t[158]=E);let D;t[159]!==E||t[160]!==g||t[161]!==_?(D=(0,l.jsxs)(`div`,{className:g,children:[_,E]}),t[159]=E,t[160]=g,t[161]=_,t[162]=D):D=t[162];let O;t[163]!==me||t[164]!==D||t[165]!==v?(O=(0,l.jsxs)(me,{children:[v,D]}),t[163]=me,t[164]=D,t[165]=v,t[166]=O):O=t[166];let k;return t[167]!==O||t[168]!==y||t[169]!==b||t[170]!==x||t[171]!==S||t[172]!==C?(k=(0,l.jsxs)(l.Fragment,{children:[y,b,x,S,C,O]}),t[167]=O,t[168]=y,t[169]=b,t[170]=x,t[171]=S,t[172]=C,t[173]=k):k=t[173],k}function de(e){let t=n(e.Tags);return(0,l.jsx)(r,{value:e.VpcId??``,children:t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`},e.VpcId)}function fe(e){let{field:t}=e;return(0,l.jsxs)(re,{onValueChange:t.onChange,value:t.value,children:[(0,l.jsx)(te,{className:`w-full`,id:`tg-protocol`,children:(0,l.jsx)(ee,{})}),(0,l.jsx)(ne,{children:(0,l.jsx)(r,{value:`HTTP`,children:`HTTP`})})]})}export{u as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/textarea.js b/spinifex/services/spinifexui/frontend/dist/assets/textarea.js index 24feae184..f8f8cf6f7 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/textarea.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/textarea.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";import{F as n}from"./SignatureV4.js";var r=t(),i=e();function a(e){let t=(0,r.c)(8),a,o;t[0]===e?(a=t[1],o=t[2]):({className:a,...o}=e,t[0]=e,t[1]=a,t[2]=o);let s;t[3]===a?s=t[4]:(s=n(`flex field-sizing-content min-h-16 w-full resize-none rounded-md border border-input bg-input/20 px-2 py-2 text-sm transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 md:text-xs/relaxed dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,a),t[3]=a,t[4]=s);let c;return t[5]!==o||t[6]!==s?(c=(0,i.jsx)(`textarea`,{className:s,"data-slot":`textarea`,...o}),t[5]=o,t[6]=s,t[7]=c):c=t[7],c}export{a as t}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";import{I as n}from"./SignatureV4.js";var r=t(),i=e();function a(e){let t=(0,r.c)(8),a,o;t[0]===e?(a=t[1],o=t[2]):({className:a,...o}=e,t[0]=e,t[1]=a,t[2]=o);let s;t[3]===a?s=t[4]:(s=n(`flex field-sizing-content min-h-16 w-full resize-none rounded-md border border-input bg-input/20 px-2 py-2 text-sm transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 md:text-xs/relaxed dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,a),t[3]=a,t[4]=s);let c;return t[5]!==o||t[6]!==s?(c=(0,i.jsx)(`textarea`,{className:s,"data-slot":`textarea`,...o}),t[5]=o,t[6]=s,t[7]=c):c=t[7],c}export{a as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/upload-button.js b/spinifex/services/spinifexui/frontend/dist/assets/upload-button.js index 3ab5ef129..07d9b9467 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/upload-button.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/upload-button.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./error-banner.js";import{t as a}from"./link.js";import{Rt as o,Wt as s,Yt as c,g as l,i as u,u as d,zt as f}from"./awsClient.js";import{R as p,z as m}from"./SignatureV4.js";import{t as h}from"./createLucideIcon.js";import{t as g}from"./download.js";import{t as _}from"./trash-2.js";import{t as v}from"./button.js";import{a as y,i as b,n as x}from"./s3.js";import{t as S}from"./delete-confirmation-dialog.js";var C=h(`file`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}]]),w=h(`folder`,[[`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`}]]),T=h(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),E=e=>(e,t)=>async n=>{let r=await e(n),{response:i}=r;if(c.isInstance(i)&&i.headers.expires){i.headers.expiresstring=i.headers.expires;try{s(i.headers.expires)}catch(e){t.logger?.warn(`AWS SDK Warning for ${t.clientName}::${t.commandName} response parsing (${i.headers.expires}): ${e}`),delete i.headers.expires}}return r},D={tags:[`S3`],name:`s3ExpiresMiddleware`,override:!0,relation:`after`,toMiddleware:`deserializerMiddleware`},O=e=>({applyToStack:t=>{t.addRelativeTo(E(e),D)}}),k=class extends o.classBuilder().ep({...l,Bucket:{type:`contextParams`,name:`Bucket`},Key:{type:`contextParams`,name:`Key`}}).m(function(e,t,n,r){return[f(n,e.getEndpointParameterInstructions()),y(n,{requestChecksumRequired:!1,requestValidationModeMember:`ChecksumMode`,responseAlgorithms:[`CRC64NVME`,`CRC32`,`CRC32C`,`SHA256`,`SHA1`]}),b(n),O(n)]}).s(`AmazonS3`,`GetObject`,{}).n(`S3Client`,`GetObjectCommand`).sc(d).build(){},A=r(),j=t();function M(e){let t=(0,A.c)(9),{folderName:n,fullPrefix:r,bucketName:i}=e,o;t[0]!==i||t[1]!==r?(o={bucket:i,_splat:r},t[0]=i,t[1]=r,t[2]=o):o=t[2];let s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,j.jsx)(w,{className:`size-5 text-muted-foreground`}),t[3]=s):s=t[3];let c;t[4]===n?c=t[5]:(c=(0,j.jsx)(`span`,{className:`font-medium`,children:n}),t[4]=n,t[5]=c);let l;return t[6]!==o||t[7]!==c?(l=(0,j.jsxs)(a,{className:`flex items-center gap-3 rounded-lg border bg-card p-4 transition-colors hover:bg-accent`,params:o,to:`/s3/ls/$bucket/$`,children:[s,c]}),t[6]=o,t[7]=c,t[8]=l):l=t[8],l}var N=e(n(),1);function P({object:e,bucketName:t,displayName:n,fullKey:r}){let[a,o]=(0,N.useState)(!1),s=x();async function c(){try{let e=new k({Bucket:t,Key:r}),i=await u().send(e);if(i.Body){let e=await i.Body.transformToByteArray(),t=URL.createObjectURL(new Blob([e])),r=document.createElement(`a`);r.href=t,r.download=n,document.body.append(r),r.click(),r.remove(),URL.revokeObjectURL(t)}}catch(e){throw Error(`Failed to download object`,{cause:e})}}async function l(){try{await s.mutateAsync({bucket:t,key:r})}finally{o(!1)}}return(0,j.jsxs)(`div`,{children:[s.error&&(0,j.jsx)(i,{error:s.error,msg:`Failed to delete object`}),(0,j.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border bg-card p-4`,children:[(0,j.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,j.jsx)(C,{className:`size-5 text-muted-foreground`}),(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`h3`,{className:`font-medium`,children:n}),e.LastModified&&(0,j.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Last Modified: `,p(e.LastModified)]})]})]}),(0,j.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,j.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:m(e.Size??0)}),(0,j.jsx)(`button`,{"aria-label":`Download ${n}`,className:`rounded-md p-2 transition-colors hover:bg-accent`,onClick:c,type:`button`,children:(0,j.jsx)(g,{className:`size-4`})}),(0,j.jsx)(`button`,{"aria-label":`Delete ${n}`,className:`rounded-md p-2 text-destructive transition-colors hover:bg-accent`,onClick:()=>o(!0),type:`button`,children:(0,j.jsx)(_,{className:`size-4`})})]}),(0,j.jsx)(S,{description:(0,j.jsxs)(j.Fragment,{children:[`Are you sure you want to delete `,(0,j.jsx)(`strong`,{children:n}),`? This action cannot be undone.`]}),isPending:s.isPending,onConfirm:l,onOpenChange:o,open:a,title:`Delete Object`})]})]},e.Key)}function F({bucket:e,prefix:t=``,isPending:n,onUpload:r}){let i=(0,N.useRef)(null);async function a(n){let a=n.target.files;if(!(!a||a.length===0))try{await Promise.all([...a].map(n=>r({bucket:e,key:`${t}${n.name}`,file:n})))}finally{i.current&&(i.current.value=``)}}return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`input`,{accept:`*/*`,"aria-label":`Choose files to upload`,className:`hidden`,multiple:!0,onChange:a,ref:i,type:`file`}),(0,j.jsxs)(v,{disabled:n,onClick:()=>i.current?.click(),size:`sm`,children:[(0,j.jsx)(T,{className:`mr-2 size-4`}),n?`Uploading…`:`Upload Files`]})]})}export{P as n,M as r,F as t}; \ No newline at end of file +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./error-banner.js";import{t as a}from"./link.js";import{_ as o,a as s,d as c,in as l,ln as u,mn as d,rn as f}from"./awsClient.js";import{B as p,z as m}from"./SignatureV4.js";import{t as h}from"./createLucideIcon.js";import{t as g}from"./download.js";import{t as _}from"./trash-2.js";import{t as v}from"./button.js";import{a as y,i as b,n as x}from"./s3.js";import{t as S}from"./delete-confirmation-dialog.js";var C=h(`file`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}]]),w=h(`folder`,[[`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`}]]),T=h(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),E=e=>(e,t)=>async n=>{let r=await e(n),{response:i}=r;if(d.isInstance(i)&&i.headers.expires){i.headers.expiresstring=i.headers.expires;try{u(i.headers.expires)}catch(e){t.logger?.warn(`AWS SDK Warning for ${t.clientName}::${t.commandName} response parsing (${i.headers.expires}): ${e}`),delete i.headers.expires}}return r},D={tags:[`S3`],name:`s3ExpiresMiddleware`,override:!0,relation:`after`,toMiddleware:`deserializerMiddleware`},O=e=>({applyToStack:t=>{t.addRelativeTo(E(e),D)}}),k=class extends f.classBuilder().ep({...o,Bucket:{type:`contextParams`,name:`Bucket`},Key:{type:`contextParams`,name:`Key`}}).m(function(e,t,n,r){return[l(n,e.getEndpointParameterInstructions()),y(n,{requestChecksumRequired:!1,requestValidationModeMember:`ChecksumMode`,responseAlgorithms:[`CRC64NVME`,`CRC32`,`CRC32C`,`SHA256`,`SHA1`]}),b(n),O(n)]}).s(`AmazonS3`,`GetObject`,{}).n(`S3Client`,`GetObjectCommand`).sc(c).build(){},A=r(),j=t();function M(e){let t=(0,A.c)(9),{folderName:n,fullPrefix:r,bucketName:i}=e,o;t[0]!==i||t[1]!==r?(o={bucket:i,_splat:r},t[0]=i,t[1]=r,t[2]=o):o=t[2];let s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,j.jsx)(w,{className:`size-5 text-muted-foreground`}),t[3]=s):s=t[3];let c;t[4]===n?c=t[5]:(c=(0,j.jsx)(`span`,{className:`font-medium`,children:n}),t[4]=n,t[5]=c);let l;return t[6]!==o||t[7]!==c?(l=(0,j.jsxs)(a,{className:`flex items-center gap-3 rounded-lg border bg-card p-4 transition-colors hover:bg-accent`,params:o,to:`/s3/ls/$bucket/$`,children:[s,c]}),t[6]=o,t[7]=c,t[8]=l):l=t[8],l}var N=e(n(),1);function P({object:e,bucketName:t,displayName:n,fullKey:r}){let[a,o]=(0,N.useState)(!1),c=x();async function l(){try{let e=new k({Bucket:t,Key:r}),i=await s().send(e);if(i.Body){let e=await i.Body.transformToByteArray(),t=URL.createObjectURL(new Blob([e])),r=document.createElement(`a`);r.href=t,r.download=n,document.body.append(r),r.click(),r.remove(),URL.revokeObjectURL(t)}}catch(e){throw Error(`Failed to download object`,{cause:e})}}async function u(){try{await c.mutateAsync({bucket:t,key:r})}finally{o(!1)}}return(0,j.jsxs)(`div`,{children:[c.error&&(0,j.jsx)(i,{error:c.error,msg:`Failed to delete object`}),(0,j.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border bg-card p-4`,children:[(0,j.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,j.jsx)(C,{className:`size-5 text-muted-foreground`}),(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`h3`,{className:`font-medium`,children:n}),e.LastModified&&(0,j.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Last Modified: `,m(e.LastModified)]})]})]}),(0,j.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,j.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:p(e.Size??0)}),(0,j.jsx)(`button`,{"aria-label":`Download ${n}`,className:`rounded-md p-2 transition-colors hover:bg-accent`,onClick:l,type:`button`,children:(0,j.jsx)(g,{className:`size-4`})}),(0,j.jsx)(`button`,{"aria-label":`Delete ${n}`,className:`rounded-md p-2 text-destructive transition-colors hover:bg-accent`,onClick:()=>o(!0),type:`button`,children:(0,j.jsx)(_,{className:`size-4`})})]}),(0,j.jsx)(S,{description:(0,j.jsxs)(j.Fragment,{children:[`Are you sure you want to delete `,(0,j.jsx)(`strong`,{children:n}),`? This action cannot be undone.`]}),isPending:c.isPending,onConfirm:u,onOpenChange:o,open:a,title:`Delete Object`})]})]},e.Key)}function F({bucket:e,prefix:t=``,isPending:n,onUpload:r}){let i=(0,N.useRef)(null);async function a(n){let a=n.target.files;if(!(!a||a.length===0))try{await Promise.all([...a].map(n=>r({bucket:e,key:`${t}${n.name}`,file:n})))}finally{i.current&&(i.current.value=``)}}return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`input`,{accept:`*/*`,"aria-label":`Choose files to upload`,className:`hidden`,multiple:!0,onChange:a,ref:i,type:`file`}),(0,j.jsxs)(v,{disabled:n,onClick:()=>i.current?.click(),size:`sm`,children:[(0,j.jsx)(T,{className:`mr-2 size-4`}),n?`Uploading…`:`Upload Files`]})]})}export{P as n,M as r,F as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/useOpenInteractionType.js b/spinifex/services/spinifexui/frontend/dist/assets/useOpenInteractionType.js index 67e36f063..fe9c27d05 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/useOpenInteractionType.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/useOpenInteractionType.js @@ -1,4 +1,4 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{n as r,r as i}from"./useStore.js";import{Xt as a}from"./awsClient.js";import{d as o,f as s,l as c,m as l,n as u,p as d,s as f,u as p}from"./dist.js";import{S as m,T as h,_ as g,b as _,d as v,h as y,i as b,m as ee,o as x,s as S,v as C,x as w,y as te}from"./button.js";import{B as T,C as E,F as D,H as O,I as k,P as A,R as j,_ as M,a as N,b as P,d as F,g as I,j as L,m as ne,o as R,t as re,v as ie,w as ae,x as oe,y as z,z as B}from"./createBaseUIEventDetails.js";import{c as V,i as H,l as U,o as W,s as G}from"./useTransitionStatus.js";var K=e(n()),q=0,J=class e{static create(){return new e}currentId=q;start(e,t){this.clear(),this.currentId=setTimeout(()=>{this.currentId=q,t()},e)}isStarted(){return this.currentId!==q}clear=()=>{this.currentId!==q&&(clearTimeout(this.currentId),this.currentId=q)};disposeEffect=()=>this.clear};function se(){let e=d(J.create).current;return U(e.disposeEffect),e}function ce(e,t,n=!0){return e.filter(e=>e.parentId===t&&(!n||e.context?.open)).flatMap(t=>[t,...ce(e,t.id,n)])}function le(e,t){let n=[],r=e.find(e=>e.id===t)?.parentId;for(;r;){let t=e.find(e=>e.id===r);r=t?.parentId,t&&(n=n.concat(t))}return n}function ue(e){e.preventDefault(),e.stopPropagation()}function de(e){return`nativeEvent`in e}function fe(e){return e.pointerType===``&&e.isTrusted?!0:A&&e.pointerType?e.type===`click`&&e.buttons===1:e.detail===0&&!e.pointerType}function pe(e){return k?!1:!A&&e.width===0&&e.height===0||A&&e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType===`mouse`||e.width<1&&e.height<1&&e.pressure===0&&e.detail===0&&e.pointerType===`touch`}function me(e,t){let n=[`mouse`,`pen`];return t||n.push(``,void 0),n.includes(e)}function he(e){let t=e.type;return t===`click`||t===`mousedown`||t===`keydown`||t===`keyup`}var ge=[`top`,`right`,`bottom`,`left`],_e=Math.min,Y=Math.max,ve=Math.round,X=Math.floor,ye=e=>({x:e,y:e}),be={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function xe(e,t,n){return Y(e,_e(t,n))}function Se(e,t){return typeof e==`function`?e(t):e}function Ce(e){return e.split(`-`)[0]}function we(e){return e.split(`-`)[1]}function Te(e){return e===`x`?`y`:`x`}function Ee(e){return e===`y`?`height`:`width`}function De(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Oe(e){return Te(De(e))}function ke(e,t,n){n===void 0&&(n=!1);let r=we(e),i=Oe(e),a=Ee(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Re(o)),[o,Re(o)]}function Ae(e){let t=Re(e);return[je(e),t,je(t)]}function je(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Me=[`left`,`right`],Ne=[`right`,`left`],Pe=[`top`,`bottom`],Fe=[`bottom`,`top`];function Ie(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Ne:Me:t?Me:Ne;case`left`:case`right`:return t?Pe:Fe;default:return[]}}function Le(e,t,n,r){let i=we(e),a=Ie(Ce(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(je)))),a}function Re(e){let t=Ce(e);return be[t]+e.slice(t.length)}function ze(e){return{top:0,right:0,bottom:0,left:0,...e}}function Be(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:ze(e)}function Ve(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function He(e,t,n){return Math.floor(e/t)!==n}function Ue(e,t){return t<0||t>=e.current.length}function We(e,t){return Z(e,{disabledIndices:t})}function Ge(e,t){return Z(e,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}function Z(e,{startingIndex:t=-1,decrement:n=!1,disabledIndices:r,amount:i=1}={}){let a=t;do a+=n?-i:i;while(a>=0&&a<=e.current.length-1&&Xe(e,a,r));return a}function Ke(e,{event:t,orientation:n,loopFocus:r,rtl:i,cols:a,disabledIndices:o,minIndex:s,maxIndex:c,prevIndex:l,stopEvent:u=!1}){let d=l,f;if(t.key===`ArrowUp`?f=`up`:t.key===`ArrowDown`&&(f=`down`),f){let n=[],i=[],p=!1,m=0;{let t=null,r=-1;e.current.forEach((e,a)=>{if(e==null)return;m+=1;let o=e.closest(`[role="row"]`);o&&(p=!0),(o!==t||r===-1)&&(t=o,r+=1,n[r]=[]),n[r].push(a),i[a]=r})}let h=!1,g=0;if(p)for(let e of n){let t=e.length;t>g&&(g=t),t!==a&&(h=!0)}let _=h&&m{if(!h||l===-1)return;let a=i[l];if(a==null)return;let s=n[a].indexOf(l),c=t===`up`?-1:1;for(let t=a+c,i=0;i=n.length){if(!r||_)return;t=t<0?n.length-1:0}let i=n[t];for(let t=Math.min(s,i.length-1);t>=0;--t){let n=i[t];if(!Xe(e,n,o))return n}}},b=t=>{if(!_||l===-1)return;let n=l%v,i=t===`up`?-v:v,a=c-c%v,s=X(c/v)+1;for(let t=l-n+i,u=0;uc){if(!r)return;t=t<0?a:0}let i=Math.min(t+v-1,c);for(let r=Math.min(t+n,i);r>=t;--r)if(!Xe(e,r,o))return r}};u&&ue(t);let ee=y(f)??b(f);if(ee!==void 0)d=ee;else if(l===-1)d=f===`up`?c:s;else if(d=Z(e,{startingIndex:l,amount:v,decrement:f===`up`,disabledIndices:o}),r){if(f===`up`&&(l-ve?n:n-v}f===`down`&&l+v>c&&(d=Z(e,{startingIndex:l%v-v,amount:v,disabledIndices:o}))}Ue(e,d)&&(d=l)}if(n===`both`){let n=X(l/a);t.key===(i?`ArrowLeft`:`ArrowRight`)&&(u&&ue(t),l%a===a-1?r&&(d=Z(e,{startingIndex:l-l%a-1,disabledIndices:o})):(d=Z(e,{startingIndex:l,disabledIndices:o}),r&&He(d,a,n)&&(d=Z(e,{startingIndex:l-l%a-1,disabledIndices:o}))),He(d,a,n)&&(d=l)),t.key===(i?`ArrowRight`:`ArrowLeft`)&&(u&&ue(t),l%a===0?r&&(d=Z(e,{startingIndex:l+(a-l%a),decrement:!0,disabledIndices:o})):(d=Z(e,{startingIndex:l,decrement:!0,disabledIndices:o}),r&&He(d,a,n)&&(d=Z(e,{startingIndex:l+(a-l%a),decrement:!0,disabledIndices:o}))),He(d,a,n)&&(d=l));let s=X(c/a)===n;Ue(e,d)&&(d=r&&s?t.key===(i?`ArrowRight`:`ArrowLeft`)?c:Z(e,{startingIndex:l-l%a-1,disabledIndices:o}):l)}return d}function qe(e,t,n){let r=[],i=0;return e.forEach(({width:e,height:a},o)=>{let s=!1;for(n&&(i=0);!s;){let n=[];for(let r=0;rr[e]==null)?(n.forEach(e=>{r[e]=o}),s=!0):i+=1}}),[...r]}function Je(e,t,n,r,i){if(e===-1)return-1;let a=n.indexOf(e),o=t[e];switch(i){case`tl`:return a;case`tr`:return o?a+o.width-1:a;case`bl`:return o?a+(o.height-1)*r:a;case`br`:return n.lastIndexOf(e);default:return-1}}function Ye(e,t){return t.flatMap((t,n)=>e.includes(t)?[n]:[])}function Xe(e,t,n){if(typeof n==`function`?n(t):n?.includes(t)??!1)return!0;let r=e.current[t];return r?Ze(r)?!n&&(r.hasAttribute(`disabled`)||r.getAttribute(`aria-disabled`)===`true`):!0:!1}function Ze(e){return S(e).display!==`none`}var Qe=[`input:not([inert]):not([inert] *)`,`select:not([inert]):not([inert] *)`,`textarea:not([inert]):not([inert] *)`,`a[href]:not([inert]):not([inert] *)`,`button:not([inert]):not([inert] *)`,`[tabindex]:not(slot):not([inert]):not([inert] *)`,`audio[controls]:not([inert]):not([inert] *)`,`video[controls]:not([inert]):not([inert] *)`,`[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)`,`details>summary:first-of-type:not([inert]):not([inert] *)`,`details:not([inert]):not([inert] *)`].join(`,`),$e=typeof Element>`u`,et=$e?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,tt=!$e&&Element.prototype.getRootNode?function(e){return e?.getRootNode?.call(e)}:function(e){return e?.ownerDocument},nt=function(e,t){t===void 0&&(t=!0);var n=e?.getAttribute?.call(e,`inert`);return n===``||n===`true`||t&&e&&(typeof e.closest==`function`?e.closest(`[inert]`):nt(e.parentNode))},rt=function(e){var t=e?.getAttribute?.call(e,`contenteditable`);return t===``||t===`true`},it=function(e,t,n){if(nt(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(Qe));return t&&et.call(e,Qe)&&r.unshift(e),r=r.filter(n),r},at=function(e,t,n){for(var r=[],i=Array.from(e);i.length;){var a=i.shift();if(!nt(a,!1))if(a.tagName===`SLOT`){var o=a.assignedElements(),s=at(o.length?o:a.children,!0,n);n.flatten?r.push.apply(r,s):r.push({scopeParent:a,candidates:s})}else{et.call(a,Qe)&&n.filter(a)&&(t||!e.includes(a))&&r.push(a);var c=a.shadowRoot||typeof n.getShadowRoot==`function`&&n.getShadowRoot(a),l=!nt(c,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(a));if(c&&l){var u=at(c===!0?a.children:c.children,!0,n);n.flatten?r.push.apply(r,u):r.push({scopeParent:a,candidates:u})}else i.unshift.apply(i,a.children)}}return r},ot=function(e){return!isNaN(parseInt(e.getAttribute(`tabindex`),10))},st=function(e){if(!e)throw Error(`No node provided`);return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||rt(e))&&!ot(e)?0:e.tabIndex},ct=function(e,t){var n=st(e);return n<0&&t&&!ot(e)?0:n},lt=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},ut=function(e){return e.tagName===`INPUT`},dt=function(e){return ut(e)&&e.type===`hidden`},ft=function(e){return e.tagName===`DETAILS`&&Array.prototype.slice.apply(e.children).some(function(e){return e.tagName===`SUMMARY`})},pt=function(e,t){for(var n=0;nsummary:first-of-type`)?e.parentElement:e;if(et.call(i,`details:not([open]) *`))return!0;if(!n||n===`full`||n===`full-native`||n===`legacy-full`){if(typeof r==`function`){for(var a=e;e;){var o=e.parentElement,s=tt(e);if(o&&!o.shadowRoot&&r(o)===!0)return vt(e);e=e.assignedSlot?e.assignedSlot:!o&&s!==e.ownerDocument?s.host:o}e=a}if(_t(e))return!e.getClientRects().length;if(n!==`legacy-full`)return!0}else if(n===`non-zero-area`)return vt(e);return!1},bt=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName===`FIELDSET`&&t.disabled){for(var n=0;n=0)},wt=function(e){var t=[],n=[];return e.forEach(function(e,r){var i=!!e.scopeParent,a=i?e.scopeParent:e,o=ct(a,i),s=i?wt(e.candidates):a;o===0?i?t.push.apply(t,s):t.push(a):n.push({documentOrder:r,tabIndex:o,item:e,isScope:i,content:s})}),n.sort(lt).reduce(function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e},[]).concat(t)},Tt=function(e,t){return t||={},wt(t.getShadowRoot?at([e],t.includeContainer,{filter:St.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:Ct}):it(e,t.includeContainer,St.bind(null,t)))},Et=function(e,t){return t||={},t.getShadowRoot?at([e],t.includeContainer,{filter:xt.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):it(e,t.includeContainer,xt.bind(null,t))},Dt=function(e,t){if(t||={},!e)throw Error(`No node provided`);return et.call(e,Qe)===!1?!1:St(t,e)},Ot=()=>({getShadowRoot:!0,displayCheck:typeof ResizeObserver==`function`&&ResizeObserver.toString().includes(`[native code]`)?`full`:`none`});function kt(e,t){let n=Tt(e,Ot()),r=n.length;if(r===0)return;let i=I(T(e)),a=n.indexOf(i);return n[a===-1?t===1?0:r-1:a+t]}function At(e){return kt(T(e).body,1)||e}function jt(e){return kt(T(e).body,-1)||e}function Mt(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!M(n,r)}function Nt(e){Tt(e,Ot()).forEach(e=>{e.dataset.tabindex=e.getAttribute(`tabindex`)||``,e.setAttribute(`tabindex`,`-1`)})}function Pt(e){e.querySelectorAll(`[data-tabindex]`).forEach(e=>{let t=e.dataset.tabindex;delete e.dataset.tabindex,t?e.setAttribute(`tabindex`,t):e.removeAttribute(`tabindex`)})}var Ft=function(e){return e.open=`data-open`,e.closed=`data-closed`,e[e.startingStyle=H.startingStyle]=`startingStyle`,e[e.endingStyle=H.endingStyle]=`endingStyle`,e.anchorHidden=`data-anchor-hidden`,e.side=`data-side`,e.align=`data-align`,e}({}),It=function(e){return e.popupOpen=`data-popup-open`,e.pressed=`data-pressed`,e}({}),Lt={[It.popupOpen]:``},Rt={[It.popupOpen]:``,[It.pressed]:``},zt={[Ft.open]:``},Bt={[Ft.closed]:``},Vt={[Ft.anchorHidden]:``},Ht={open(e){return e?Lt:null}},Ut={open(e){return e?Rt:null}},Wt={open(e){return e?zt:Bt},anchorHidden(e){return e?Vt:null}};function Gt(e){let t=d(Kt,e).current;return t.next=e,b(t.effect),t}function Kt(e){let t={current:e,next:e,effect:()=>{t.current=t.next}};return t}var qt={clipPath:`inset(50%)`,overflow:`hidden`,whiteSpace:`nowrap`,border:0,padding:0,width:1,height:1,margin:-1},Jt={...qt,position:`fixed`,top:0,left:0},Yt={...qt,position:`absolute`},Q=t(),Xt=K.forwardRef(function(e,t){let[n,r]=K.useState();b(()=>{j&&r(`button`)},[]);let i={tabIndex:0,role:n};return(0,Q.jsx)(`span`,{...e,ref:t,style:Jt,"aria-hidden":n?void 0:!0,...i,"data-base-ui-focus-guard":``})});function Zt(e){return`data-base-ui-${e}`}var Qt=0;function $t(e,t={}){let{preventScroll:n=!1,cancelPrevious:r=!0,sync:i=!1}=t;r&&cancelAnimationFrame(Qt);let a=()=>e?.focus({preventScroll:n});i?a():Qt=requestAnimationFrame(a)}var en={inert:new WeakMap,"aria-hidden":new WeakMap},tn=`data-base-ui-inert`,nn={inert:new WeakSet,"aria-hidden":new WeakSet},rn=new WeakMap,an=0;function on(e){return nn[e]}function sn(e){return e?m(e)?e.host:sn(e.parentNode):null}var cn=(e,t)=>t.map(t=>{if(e.contains(t))return t;let n=sn(t);return e.contains(n)?n:null}).filter(e=>e!=null),ln=e=>{let t=new Set;return e.forEach(e=>{let n=e;for(;n&&!t.has(n);)t.add(n),n=n.parentNode}),t},un=(e,t,n)=>{let r=[],i=e=>{!e||n.has(e)||Array.from(e.children).forEach(e=>{v(e)!==`script`&&(t.has(e)?i(e):r.push(e))})};return i(e),r};function dn(e,t,n,r,{mark:i=!0,markerIgnoreElements:a=[]}){let o=r?`inert`:n?`aria-hidden`:null,s=null,c=null,l=cn(t,e),u=i?cn(t,a):[],d=new Set(u),f=i?un(t,ln(l),new Set(l)).filter(e=>!d.has(e)):[],p=[],m=[];if(o){let e=en[o],n=on(o);c=n,s=e;let r=cn(t,Array.from(t.querySelectorAll(`[aria-live]`))),i=l.concat(r);un(t,ln(i),new Set(i)).forEach(t=>{let r=t.getAttribute(o),i=r!==null&&r!==`false`,a=(e.get(t)||0)+1;e.set(t,a),p.push(t),a===1&&i&&n.add(t),i||t.setAttribute(o,o===`inert`?``:`true`)})}return i&&f.forEach(e=>{let t=(rn.get(e)||0)+1;rn.set(e,t),m.push(e),t===1&&e.setAttribute(tn,``)}),an+=1,()=>{s&&p.forEach(e=>{let t=(s.get(e)||0)-1;s.set(e,t),t||(!c?.has(e)&&o&&e.removeAttribute(o),c?.delete(e))}),i&&m.forEach(e=>{let t=(rn.get(e)||0)-1;rn.set(e,t),t||e.removeAttribute(tn)}),--an,an||(en.inert=new WeakMap,en[`aria-hidden`]=new WeakMap,nn.inert=new WeakSet,nn[`aria-hidden`]=new WeakSet,rn=new WeakMap)}}function fn(e,t={}){let{ariaHidden:n=!1,inert:r=!1,mark:i=!0,markerIgnoreElements:a=[]}=t,o=T(e[0]).body;return dn(e,o,n,r,{mark:i,markerIgnoreElements:a})}var pn=e(a()),mn=K.createContext(null),hn=()=>K.useContext(mn),gn=Zt(`portal`);function _n(e={}){let{ref:t,container:n,componentProps:r=c,elementProps:i}=e,a=O(),o=hn()?.portalNode,[s,l]=K.useState(null),[d,f]=K.useState(null),p=x(e=>{e!==null&&f(e)}),m=K.useRef(null);b(()=>{if(n===null){m.current&&(m.current=null,f(null),l(null));return}if(a==null)return;let e=(n&&(_(n)?n:n.current))??o??document.body;if(e==null){m.current&&(m.current=null,f(null),l(null));return}m.current!==e&&(m.current=e,f(null),l(e))},[n,o,a]);let h=u(`div`,r,{ref:[t,p],props:[{id:a,[gn]:``},i]});return{portalNode:d,portalSubtree:s&&h?pn.createPortal(h,s):null}}var vn=K.forwardRef(function(e,t){let{children:n,container:r,className:i,render:a,renderGuards:o,...s}=e,{portalNode:c,portalSubtree:l}=_n({container:r,ref:t,componentProps:e,elementProps:s}),u=K.useRef(null),d=K.useRef(null),p=K.useRef(null),m=K.useRef(null),[h,g]=K.useState(null),_=h?.modal,v=h?.open,y=typeof o==`boolean`?o:!!h&&!h.modal&&h.open&&!!c;K.useEffect(()=>{if(!c||_)return;function e(e){c&&e.relatedTarget&&Mt(e)&&(e.type===`focusin`?Pt:Nt)(c)}return c.addEventListener(`focusin`,e,!0),c.addEventListener(`focusout`,e,!0),()=>{c.removeEventListener(`focusin`,e,!0),c.removeEventListener(`focusout`,e,!0)}},[c,_]),K.useEffect(()=>{!c||v||Pt(c)},[v,c]);let b=K.useMemo(()=>({beforeOutsideRef:u,afterOutsideRef:d,beforeInsideRef:p,afterInsideRef:m,portalNode:c,setFocusManagerState:g}),[c]);return(0,Q.jsxs)(K.Fragment,{children:[l,(0,Q.jsxs)(mn.Provider,{value:b,children:[y&&c&&(0,Q.jsx)(Xt,{"data-type":`outside`,ref:u,onFocus:e=>{Mt(e,c)?p.current?.focus():jt(h?h.domReference:null)?.focus()}}),y&&c&&(0,Q.jsx)(`span`,{"aria-owns":c.id,style:f}),c&&pn.createPortal(n,c),y&&c&&(0,Q.jsx)(Xt,{"data-type":`outside`,ref:d,onFocus:e=>{Mt(e,c)?m.current?.focus():(At(h?h.domReference:null)?.focus(),h?.closeOnFocusOut&&h?.onOpenChange(!1,re(`focus-out`,e.nativeEvent)))}})]})]})}),yn=i(),bn=r();function xn(){let e=new Map;return{emit(t,n){e.get(t)?.forEach(e=>e(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){e.get(t)?.delete(n)}}}var Sn=K.createContext(null),Cn=K.createContext(null),wn=()=>K.useContext(Sn)?.id||null,Tn=e=>{let t=K.useContext(Cn);return e??t};function En(e,t){let n=y(e.target);return e instanceof n.KeyboardEvent?`keyboard`:e instanceof n.FocusEvent?t||`keyboard`:`pointerType`in e?e.pointerType||`keyboard`:`touches`in e?`touch`:e instanceof n.MouseEvent?t||(e.detail===0?`keyboard`:`mouse`):``}var Dn=20,$=[];function On(){$=$.filter(e=>e.deref()?.isConnected)}function kn(e){On(),e&&v(e)!==`body`&&($.push(new WeakRef(e)),$.length>Dn&&($=$.slice(-Dn)))}function An(){return On(),$[$.length-1]?.deref()}function jn(e){if(!e)return null;let t=Ot();return Dt(e,t)?e:Tt(e,t)[0]||e}function Mn(e){return!e||!e.isConnected?!1:typeof e.checkVisibility==`function`?e.checkVisibility():Ze(e)}function Nn(e,t){if(!t.current.includes(`floating`)&&!e.getAttribute(`role`)?.includes(`dialog`))return;let n=Ot(),r=Et(e,n).filter(e=>{let t=e.getAttribute(`data-tabindex`)||``;return Dt(e,n)||e.hasAttribute(`data-tabindex`)&&!t.startsWith(`-`)}),i=e.getAttribute(`tabindex`);t.current.includes(`floating`)||r.length===0?i!==`0`&&e.setAttribute(`tabindex`,`0`):(i!==`-1`||e.hasAttribute(`data-tabindex`)&&e.getAttribute(`data-tabindex`)!==`-1`)&&(e.setAttribute(`tabindex`,`-1`),e.setAttribute(`data-tabindex`,`-1`))}function Pn(e){let{context:t,children:n,disabled:r=!1,initialFocus:i=!0,returnFocus:a=!0,restoreFocus:o=!1,modal:c=!0,closeOnFocusOut:l=!0,openInteractionType:u=``,nextFocusableElement:d,previousFocusableElement:f,beforeContentFocusGuardRef:p,externalTree:m,getInsideElements:h}=e,g=`rootStore`in t?t.rootStore:t,_=g.useState(`open`),v=g.useState(`domReferenceElement`),y=g.useState(`floatingElement`),{events:ee,dataRef:S}=g.context,w=x(()=>S.current.floatingContext?.nodeId),te=i===!1,D=E(v)&&te,O=K.useRef([`content`]),k=Gt(i),A=Gt(a),j=Gt(u),N=Tn(m),P=hn(),F=K.useRef(!1),L=K.useRef(!1),ne=K.useRef(!1),oe=K.useRef(-1),H=K.useRef(``),U=K.useRef(``),G=K.useRef(null),q=K.useRef(null),J=s(G,p,P?.beforeInsideRef),de=s(q,P?.afterInsideRef),me=se(),he=se(),ge=V(),_e=P!=null,Y=ie(y),ve=x((e=Y)=>e?Tt(e,Ot()):[]),X=x(()=>h?.().filter(e=>e!=null)??[]),ye=x(e=>{let t=ve(e);return O.current.map(()=>t).filter(Boolean).flat()});K.useEffect(()=>{if(r||!c)return;function e(e){e.key===`Tab`&&M(Y,I(T(Y)))&&ve().length===0&&!D&&ue(e)}let t=T(Y);return t.addEventListener(`keydown`,e),()=>{t.removeEventListener(`keydown`,e)}},[r,v,Y,c,O,D,ve,ye]),K.useEffect(()=>{if(r||!_)return;let e=T(Y);function t(){ne.current=!1}function n(e){let t=z(e),n=X();ne.current=!(M(y,t)||M(v,t)||M(P?.portalNode,t)||n.some(e=>e===t||M(e,t))),U.current=e.pointerType||`keyboard`,t?.closest(`[data-base-ui-click-trigger]`)&&(L.current=!0)}function i(){U.current=`keyboard`}return e.addEventListener(`pointerdown`,n,!0),e.addEventListener(`pointerup`,t,!0),e.addEventListener(`pointercancel`,t,!0),e.addEventListener(`keydown`,i,!0),()=>{e.removeEventListener(`pointerdown`,n,!0),e.removeEventListener(`pointerup`,t,!0),e.removeEventListener(`pointercancel`,t,!0),e.removeEventListener(`keydown`,i,!0)}},[r,y,v,Y,_,P,X]),K.useEffect(()=>{if(r||!l)return;let e=T(Y);function t(){L.current=!0,he.start(0,()=>{L.current=!1})}function n(e){let t=z(e),n=ve().indexOf(t);n!==-1&&(oe.current=n)}function i(t){let n=t.relatedTarget,r=t.currentTarget,i=z(t);queueMicrotask(()=>{let a=w(),s=g.context.triggerElements,l=X(),u=n?.hasAttribute(Zt(`focus-guard`))&&[G.current,q.current,P?.beforeInsideRef.current,P?.afterInsideRef.current,P?.beforeOutsideRef.current,P?.afterOutsideRef.current,W(f),W(d)].includes(n),p=!(M(v,n)||M(y,n)||M(n,y)||M(P?.portalNode,n)||l.some(e=>e===n||M(e,n))||n!=null&&s.hasElement(n)||s.hasMatchingElement(e=>M(e,n))||u||N&&(ce(N.nodesRef.current,a).find(e=>M(e.context?.elements.floating,n)||M(e.context?.elements.domReference,n))||le(N.nodesRef.current,a).find(e=>[e.context?.elements.floating,ie(e.context?.elements.floating)].includes(n)||e.context?.elements.domReference===n)));if(r===v&&Y&&Nn(Y,O),o&&r!==v&&!Mn(i)&&I(e)===e.body){if(C(Y)&&(Y.focus(),o===`popup`)){ge.request(()=>{Y.focus()});return}let e=oe.current,t=ve(),n=t[e]||t[t.length-1]||Y;C(n)&&n.focus()}if(S.current.insideReactTree){S.current.insideReactTree=!1;return}(D||!c)&&n&&p&&!L.current&&(D||n!==An())&&(F.current=!0,g.setOpen(!1,re(R,t)))})}function a(){ne.current||(S.current.insideReactTree=!0,me.start(0,()=>{S.current.insideReactTree=!1}))}let s=C(v)?v:null,u=[];if(!(!y&&!s))return s&&(s.addEventListener(`focusout`,i),s.addEventListener(`pointerdown`,t),u.push(()=>{s.removeEventListener(`focusout`,i),s.removeEventListener(`pointerdown`,t)})),y&&(y.addEventListener(`focusin`,n),y.addEventListener(`focusout`,i),P&&(y.addEventListener(`focusout`,a,!0),u.push(()=>{y.removeEventListener(`focusout`,a,!0)})),u.push(()=>{y.removeEventListener(`focusin`,n),y.removeEventListener(`focusout`,i)})),()=>{u.forEach(e=>{e()})}},[r,v,y,Y,c,N,P,g,l,o,ve,D,w,O,S,me,he,ge,d,f,X]),K.useEffect(()=>{if(r||!y||!_)return;let e=Array.from(P?.portalNode?.querySelectorAll(`[${Zt(`portal`)}]`)||[]),t=(N?le(N.nodesRef.current,w()):[]).find(e=>E(e.context?.elements.domReference||null))?.context?.elements.domReference,n=fn([...[y,...e,G.current,q.current,P?.beforeOutsideRef.current,P?.afterOutsideRef.current,...X()],t,W(f),W(d),D?v:null].filter(e=>e!=null),{ariaHidden:c||D,mark:!1}),i=fn([y,...e].filter(e=>e!=null));return()=>{i(),n()}},[_,r,v,y,c,O,P,D,N,w,d,f,X]),b(()=>{if(!_||r||!C(Y))return;let e=I(T(Y));queueMicrotask(()=>{let t=ye(Y),n=k.current,r=typeof n==`function`?n(j.current||``):n;if(r===void 0||r===!1)return;let i;i=r===!0||r===null?t[0]||Y:W(r),i=i||t[0]||Y,!M(Y,e)&&$t(i,{preventScroll:i===Y})})},[r,_,Y,te,ye,k,j]),b(()=>{if(r||!Y)return;let e=T(Y);kn(I(e));function t(e){if(e.open||(H.current=En(e.nativeEvent,U.current)),e.reason===`trigger-hover`&&e.nativeEvent.type===`mouseleave`&&(F.current=!0),e.reason===`outside-press`)if(e.nested)F.current=!1;else if(fe(e.nativeEvent)||pe(e.nativeEvent))F.current=!1;else{let e=!1;document.createElement(`div`).focus({get preventScroll(){return e=!0,!1}}),e?F.current=!1:F.current=!0}}ee.on(`openchange`,t);function n(){let e=A.current,t=typeof e==`function`?e(H.current):e;if(t===void 0||t===!1)return null;if(t===null&&(t=!0),typeof t==`boolean`){let e=v||An();return e&&e.isConnected?e:null}let n=v||An();return W(t)||n||null}return()=>{ee.off(`openchange`,t);let r=I(e),i=X(),a=M(y,r)||i.some(e=>e===r||M(e,r))||N&&ce(N.nodesRef.current,w(),!1).some(e=>M(e.context?.elements.floating,r)),o=n();queueMicrotask(()=>{let t=jn(o),n=typeof A.current!=`boolean`;A.current&&!F.current&&C(t)&&(!(!n&&t!==r&&r!==e.body)||a)&&t.focus({preventScroll:!0}),F.current=!1})}},[r,y,Y,A,S,ee,N,v,w,X]),b(()=>{if(!B||_||!y)return;let e=I(T(y));!C(e)||!ae(e)||M(y,e)&&e.blur()},[_,y]),b(()=>{if(!(r||!P))return P.setFocusManagerState({modal:c,closeOnFocusOut:l,open:_,onOpenChange:g.setOpen,domReference:v}),()=>{P.setFocusManagerState(null)}},[r,P,c,_,g,l,v]),b(()=>{if(!(r||!Y))return Nn(Y,O),()=>{queueMicrotask(On)}},[r,Y,O]);let be=!r&&(c?!D:!0)&&(_e||c);return(0,Q.jsxs)(K.Fragment,{children:[be&&(0,Q.jsx)(Xt,{"data-type":`inside`,ref:J,onFocus:e=>{if(c){let e=ye();$t(e[e.length-1])}else P?.portalNode&&(F.current=!1,Mt(e,P.portalNode)?At(v)?.focus():W(f??P.beforeOutsideRef)?.focus())}}),n,be&&(0,Q.jsx)(Xt,{"data-type":`inside`,ref:de,onFocus:e=>{c?$t(ye()[0]):P?.portalNode&&(l&&(F.current=!0),Mt(e,P.portalNode)?jt(v)?.focus():W(d??P.afterOutsideRef)?.focus())}})]})}var Fn={intentional:`onClick`,sloppy:`onPointerDown`};function In(){return!1}function Ln(e){return{escapeKey:typeof e==`boolean`?e:e?.escapeKey??!1,outsidePress:typeof e==`boolean`?e:e?.outsidePress??!0}}function Rn(e,t={}){let n=`rootStore`in e?e.rootStore:e,r=n.useState(`open`),i=n.useState(`floatingElement`),{dataRef:a}=n.context,{enabled:o=!0,escapeKey:s=!0,outsidePress:c=!0,outsidePressEvent:l=`sloppy`,referencePress:u=In,referencePressEvent:d=`sloppy`,bubbles:f,externalTree:p}=t,_=Tn(p),v=x(typeof c==`function`?c:()=>!1),y=typeof c==`function`?v:c,b=y!==!1,w=x(()=>l),E=K.useRef(!1),D=K.useRef(!1),O=K.useRef(!1),{escapeKey:k,outsidePress:A}=Ln(f),j=K.useRef(null),I=se(),L=se(),R=x(()=>{L.clear(),a.current.insideReactTree=!1}),ie=K.useRef(!1),ae=K.useRef(``),B=x(u),V=x(e=>{if(!r||!o||!s||e.key!==`Escape`||ie.current)return;let t=a.current.floatingContext?.nodeId,i=_?ce(_.nodesRef.current,t):[];if(!k&&i.length>0){let e=!0;if(i.forEach(t=>{t.context?.open&&!t.context.dataRef.current.__escapeKeyBubbles&&(e=!1)}),!e)return}let c=re(N,de(e)?e.nativeEvent:e);n.setOpen(!1,c),!k&&!c.isPropagationAllowed&&e.stopPropagation()}),H=x(()=>{a.current.insideReactTree=!0,L.start(0,R)});K.useEffect(()=>{if(!r||!o)return;a.current.__escapeKeyBubbles=k,a.current.__outsidePressBubbles=A;let e=new J,t=new J;function c(){e.clear(),ie.current=!0}function l(){e.start(h()?5:0,()=>{ie.current=!1})}function u(){O.current=!0,t.start(0,()=>{O.current=!1})}function d(){E.current=!1,D.current=!1}function f(){let e=ae.current,t=e===`pen`||!e?`mouse`:e,n=w(),r=typeof n==`function`?n():n;return typeof r==`string`?r:r[t]}function p(e){let t=f();return t===`intentional`&&e.type!==`click`||t===`sloppy`&&e.type===`click`}function v(e){let t=a.current.floatingContext?.nodeId,r=_&&ce(_.nodesRef.current,t).some(t=>P(e,t.context?.elements.floating));return P(e,n.select(`floatingElement`))||P(e,n.select(`domReferenceElement`))||r}function x(e){if(p(e)){R();return}if(a.current.insideReactTree){R();return}let r=z(e),i=`[${Zt(`inert`)}]`,o=Array.from(T(n.select(`floatingElement`)).querySelectorAll(i)),s=g(r)?r.getRootNode():null;m(s)&&(o=o.concat(Array.from(s.querySelectorAll(i))));let c=n.context.triggerElements;if(r&&(c.hasElement(r)||c.hasMatchingElement(e=>M(e,r))))return;let l=g(r)?r:null;for(;l&&!te(l);){let e=ee(l);if(te(e)||!g(e))break;l=e}if(o.length&&g(r)&&!oe(r)&&!M(r,n.select(`floatingElement`))&&o.every(e=>!M(l,e)))return;if(C(r)&&!(`touches`in e)){let t=te(r),n=S(r),i=/auto|scroll/,a=t||i.test(n.overflowX),o=t||i.test(n.overflowY),s=a&&r.clientWidth>0&&r.scrollWidth>r.clientWidth,c=o&&r.clientHeight>0&&r.scrollHeight>r.clientHeight,l=n.direction===`rtl`,u=c&&(l?e.offsetX<=r.offsetWidth-r.clientWidth:e.offsetX>r.clientWidth),d=s&&e.offsetY>r.clientHeight;if(u||d)return}if(v(e))return;if(f()===`intentional`&&O.current){t.clear(),O.current=!1;return}if(typeof y==`function`&&!y(e))return;let u=a.current.floatingContext?.nodeId,d=_?ce(_.nodesRef.current,u):[];if(d.length>0){let e=!0;if(d.forEach(t=>{t.context?.open&&!t.context.dataRef.current.__outsidePressBubbles&&(e=!1)}),!e)return}n.setOpen(!1,re(F,e)),R()}function N(e){f()!==`sloppy`||e.pointerType===`touch`||!n.select(`open`)||!o||P(e,n.select(`floatingElement`))||P(e,n.select(`domReferenceElement`))||x(e)}function L(e){if(f()!==`sloppy`||!n.select(`open`)||!o||P(e,n.select(`floatingElement`))||P(e,n.select(`domReferenceElement`)))return;let t=e.touches[0];t&&(j.current={startTime:Date.now(),startX:t.clientX,startY:t.clientY,dismissOnTouchEnd:!1,dismissOnMouseDown:!0},I.start(1e3,()=>{j.current&&(j.current.dismissOnTouchEnd=!1,j.current.dismissOnMouseDown=!1)}))}function ne(e){ae.current=`touch`;let t=z(e);function n(){L(e),t?.removeEventListener(e.type,n)}t?.addEventListener(e.type,n)}function B(e){if(I.clear(),e.type===`pointerdown`&&(ae.current=e.pointerType),e.type===`mousedown`&&j.current&&!j.current.dismissOnMouseDown)return;let t=z(e);function n(){e.type===`pointerdown`?N(e):x(e),t?.removeEventListener(e.type,n)}t?.addEventListener(e.type,n)}function H(e){if(!E.current)return;let n=D.current;if(d(),f()===`intentional`){if(e.type===`pointercancel`){n&&u();return}if(!v(e)){if(n){u();return}typeof y==`function`&&!y(e)||(t.clear(),O.current=!0,R())}}}function U(e){if(f()!==`sloppy`||!j.current||P(e,n.select(`floatingElement`))||P(e,n.select(`domReferenceElement`)))return;let t=e.touches[0];if(!t)return;let r=Math.abs(t.clientX-j.current.startX),i=Math.abs(t.clientY-j.current.startY),a=Math.sqrt(r*r+i*i);a>5&&(j.current.dismissOnTouchEnd=!0),a>10&&(x(e),I.clear(),j.current=null)}function W(e){let t=z(e);function n(){U(e),t?.removeEventListener(e.type,n)}t?.addEventListener(e.type,n)}function G(e){f()!==`sloppy`||!j.current||P(e,n.select(`floatingElement`))||P(e,n.select(`domReferenceElement`))||(j.current.dismissOnTouchEnd&&x(e),I.clear(),j.current=null)}function K(e){let t=z(e);function n(){G(e),t?.removeEventListener(e.type,n)}t?.addEventListener(e.type,n)}let q=T(i);return s&&(q.addEventListener(`keydown`,V),q.addEventListener(`compositionstart`,c),q.addEventListener(`compositionend`,l)),b&&(q.addEventListener(`click`,B,!0),q.addEventListener(`pointerdown`,B,!0),q.addEventListener(`pointerup`,H,!0),q.addEventListener(`pointercancel`,H,!0),q.addEventListener(`mousedown`,B,!0),q.addEventListener(`mouseup`,H,!0),q.addEventListener(`touchstart`,ne,!0),q.addEventListener(`touchmove`,W,!0),q.addEventListener(`touchend`,K,!0)),()=>{s&&(q.removeEventListener(`keydown`,V),q.removeEventListener(`compositionstart`,c),q.removeEventListener(`compositionend`,l)),b&&(q.removeEventListener(`click`,B,!0),q.removeEventListener(`pointerdown`,B,!0),q.removeEventListener(`pointerup`,H,!0),q.removeEventListener(`pointercancel`,H,!0),q.removeEventListener(`mousedown`,B,!0),q.removeEventListener(`mouseup`,H,!0),q.removeEventListener(`touchstart`,ne,!0),q.removeEventListener(`touchmove`,W,!0),q.removeEventListener(`touchend`,K,!0)),e.clear(),t.clear(),d(),O.current=!1}},[a,i,s,b,y,r,o,k,A,V,R,w,_,n,I]),K.useEffect(R,[y,R]);let U=K.useMemo(()=>({onKeyDown:V,[Fn[d]]:e=>{B()&&n.setOpen(!1,re(ne,e.nativeEvent))},...d!==`intentional`&&{onClick(e){B()&&n.setOpen(!1,re(`trigger-press`,e.nativeEvent))}}}),[V,n,d,B]),W=x(e=>{if(!r||!o||e.button!==0)return;let t=z(e.nativeEvent);M(n.select(`floatingElement`),t)&&(E.current||(E.current=!0,D.current=!1))}),G=x(e=>{!r||!o||(e.defaultPrevented||e.nativeEvent.defaultPrevented)&&E.current&&(D.current=!0)}),q=K.useMemo(()=>({onKeyDown:V,onPointerDown:G,onMouseDown:G,onClickCapture:H,onMouseDownCapture(e){H(),W(e)},onPointerDownCapture(e){H(),W(e)},onMouseUpCapture:H,onTouchEndCapture:H,onTouchMoveCapture:H}),[V,H,W,G]);return K.useMemo(()=>o?{reference:U,floating:q,trigger:U}:{},[o,U,q])}var zn=Symbol(`NOT_FOUND`);function Bn(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!=`function`)throw TypeError(t)}function Vn(e,t=`expected an object, instead received ${typeof e}`){if(typeof e!=`object`)throw TypeError(t)}function Hn(e,t=`expected all items to be functions, instead received the following types: `){if(!e.every(e=>typeof e==`function`)){let n=e.map(e=>typeof e==`function`?`function ${e.name||`unnamed`}()`:typeof e).join(`, `);throw TypeError(`${t}[${n}]`)}}var Un=e=>Array.isArray(e)?e:[e];function Wn(e){let t=Array.isArray(e[0])?e[0]:e;return Hn(t,`createSelector expects all input-selectors to be functions, but received the following types: `),t}function Gn(e,t){let n=[],{length:r}=e;for(let i=0;it(e,n.key));if(r>-1){let e=n[r];return r>0&&(n.splice(r,1),n.unshift(e)),e.value}return zn}function i(t,i){r(t)===zn&&(n.unshift({key:t,value:i}),n.length>e&&n.pop())}function a(){return n}function o(){n=[]}return{get:r,put:i,getEntries:a,clear:o}}var Jn=(e,t)=>e===t;function Yn(e){return function(t,n){if(t===null||n===null||t.length!==n.length)return!1;let{length:r}=t;for(let i=0;ii(e.value,t));e&&(t=e.value,o!==0&&o--)}s.put(arguments,t)}return t}return c.clearCache=()=>{s.clear(),c.resetResultsCount()},c.resultsCount=()=>o,c.resetResultsCount=()=>{o=0},c}var Zn=class{constructor(e){this.value=e}deref(){return this.value}},Qn=typeof WeakRef<`u`?WeakRef:Zn,$n=0,er=1;function tr(){return{s:$n,v:void 0,o:null,p:null}}function nr(e,t={}){let n=tr(),{resultEqualityCheck:r}=t,i,a=0;function o(){let t=n,{length:o}=arguments;for(let e=0,n=o;e{n=tr(),o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function rr(e,...t){let n=typeof e==`function`?{memoize:e,memoizeOptions:t}:e,r=(...e)=>{let t=0,r=0,i,a={},o=e.pop();typeof o==`object`&&(a=o,o=e.pop()),Bn(o,`createSelector expects an output function after the inputs, but received: [${typeof o}]`);let{memoize:s,memoizeOptions:c=[],argsMemoize:l=nr,argsMemoizeOptions:u=[],devModeChecks:d={}}={...n,...a},f=Un(c),p=Un(u),m=Wn(e),h=s(function(){return t++,o.apply(null,arguments)},...f),g=l(function(){r++;let e=Gn(m,arguments);return i=h.apply(null,e),i},...p);return Object.assign(g,{resultFunc:o,memoizedResultFunc:h,dependencies:m,dependencyRecomputations:()=>r,resetDependencyRecomputations:()=>{r=0},lastResult:()=>i,recomputations:()=>t,resetRecomputations:()=>{t=0},memoize:s,argsMemoize:l})};return Object.assign(r,{withTypes:()=>r}),r}var ir=rr(nr),ar=Object.assign((e,t=ir)=>{Vn(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);let n=Object.keys(e);return t(n.map(t=>e[t]),(...e)=>e.reduce((e,t,r)=>(e[n[r]]=t,e),{}))},{withTypes:()=>ar});rr({memoize:Xn,memoizeOptions:{maxSize:1,equalityCheck:Object.is}});var or=(e,t,n,r,i,a,...o)=>{if(o.length>0)throw Error(l(1));let s;if(e&&t&&n&&r&&i&&a)s=(o,s,c,l)=>a(e(o,s,c,l),t(o,s,c,l),n(o,s,c,l),r(o,s,c,l),i(o,s,c,l),s,c,l);else if(e&&t&&n&&r&&i)s=(a,o,s,c)=>i(e(a,o,s,c),t(a,o,s,c),n(a,o,s,c),r(a,o,s,c),o,s,c);else if(e&&t&&n&&r)s=(i,a,o,s)=>r(e(i,a,o,s),t(i,a,o,s),n(i,a,o,s),a,o,s);else if(e&&t&&n)s=(r,i,a,o)=>n(e(r,i,a,o),t(r,i,a,o),i,a,o);else if(e&&t)s=(n,r,i,a)=>t(e(n,r,i,a),r,i,a);else if(e)s=e;else throw Error(`Missing arguments`);return s},sr=[],cr=void 0;function lr(){return cr}function ur(e){sr.push(e)}function dr(e){let t=(t,n)=>{let r=d(pr).current,i;try{cr=r;for(let e of sr)e.before(r);i=e(t,n);for(let e of sr)e.after(r);r.didInitialize=!0}finally{cr=void 0}return i};return t.displayName=e.displayName||e.name,t}function fr(e){return K.forwardRef(dr(e))}function pr(){return{didInitialize:!1}}var mr=o(19)?_r:vr;function hr(e,t,n,r,i){return mr(e,t,n,r,i)}function gr(e,t,n,r,i){let a=K.useCallback(()=>t(e.getSnapshot(),n,r,i),[e,t,n,r,i]);return(0,yn.useSyncExternalStore)(e.subscribe,a,a)}ur({before(e){e.syncIndex=0,e.didInitialize||(e.syncTick=1,e.syncHooks=[],e.didChangeStore=!0,e.getSnapshot=()=>{let t=!1;for(let n=0;n0&&(e.didChangeStore&&(e.didChangeStore=!1,e.subscribe=t=>{let n=new Set;for(let t of e.syncHooks)n.add(t.store);let r=[];for(let e of n)r.push(e.subscribe(t));return()=>{for(let e of r)e()}}),(0,yn.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot))}});function _r(e,t,n,r,i){let a=lr();if(!a)return gr(e,t,n,r,i);let o=a.syncIndex;a.syncIndex+=1;let s;return a.didInitialize?(s=a.syncHooks[o],(s.store!==e||s.selector!==t||!Object.is(s.a1,n)||!Object.is(s.a2,r)||!Object.is(s.a3,i))&&(s.store!==e&&(a.didChangeStore=!0),s.store=e,s.selector=t,s.a1=n,s.a2=r,s.a3=i,s.didChange=!0)):(s={store:e,selector:t,a1:n,a2:r,a3:i,value:t(e.getSnapshot(),n,r,i),didChange:!1},a.syncHooks.push(s)),s.value}function vr(e,t,n,r,i){return(0,bn.useSyncExternalStoreWithSelector)(e.subscribe,e.getSnapshot,e.getSnapshot,e=>t(e,n,r,i))}var yr=class{constructor(e){this.state=e,this.listeners=new Set,this.updateTick=0}subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});getSnapshot=()=>this.state;setState(e){if(this.state===e)return;this.state=e,this.updateTick+=1;let t=this.updateTick;for(let n of this.listeners){if(t!==this.updateTick)return;n(e)}}update(e){for(let t in e)if(!Object.is(this.state[t],e[t])){this.setState({...this.state,...e});return}}set(e,t){Object.is(this.state[e],t)||this.setState({...this.state,[e]:t})}notifyAll(){let e={...this.state};this.setState(e)}use(e,t,n,r){return hr(this,e,t,n,r)}},br=class extends yr{constructor(e,t={},n){super(e),this.context=t,this.selectors=n}useSyncedValue(e,t){K.useDebugValue(e),b(()=>{this.state[e]!==t&&this.set(e,t)},[e,t])}useSyncedValueWithCleanup(e,t){let n=this;b(()=>(n.state[e]!==t&&n.set(e,t),()=>{n.set(e,void 0)}),[n,e,t])}useSyncedValues(e){let t=this;b(()=>{t.update(e)},[t,...Object.values(e)])}useControlledProp(e,t){K.useDebugValue(e);let n=t!==void 0;b(()=>{n&&!Object.is(this.state[e],t)&&super.setState({...this.state,[e]:t})},[e,t,n])}select(e,t,n,r){let i=this.selectors[e];return i(this.state,t,n,r)}useState(e,t,n,r){return K.useDebugValue(e),hr(this,this.selectors[e],t,n,r)}useContextCallback(e,t){K.useDebugValue(e);let n=x(t??p);this.context[e]=n}useStateSetter(e){let t=K.useRef(void 0);return t.current===void 0&&(t.current=t=>{this.set(e,t)}),t.current}observe(e,t){let n;n=typeof e==`function`?e:this.selectors[e];let r=n(this.state);return t(r,r,this),this.subscribe(e=>{let i=n(e);if(!Object.is(r,i)){let e=r;r=i,t(i,e,this)}})}},xr={open:or(e=>e.open),domReferenceElement:or(e=>e.domReferenceElement),referenceElement:or(e=>e.positionReference??e.referenceElement),floatingElement:or(e=>e.floatingElement),floatingId:or(e=>e.floatingId)},Sr=class extends br{constructor(e){let{nested:t,noEmit:n,onOpenChange:r,triggerElements:i,...a}=e;super({...a,positionReference:a.referenceElement,domReferenceElement:a.referenceElement},{onOpenChange:r,dataRef:{current:{}},events:xn(),nested:t,noEmit:n,triggerElements:i},xr)}setOpen=(e,t)=>{if((!e||!this.state.open||he(t.event))&&(this.context.dataRef.current.openEvent=e?t.event:void 0),!this.context.noEmit){let n={open:e,reason:t.reason,nativeEvent:t.event,nested:this.context.nested,triggerElement:t.trigger};this.context.events.emit(`openchange`,n)}this.context.onOpenChange?.(e,t)}},Cr=class{constructor(){this.elementsSet=new Set,this.idMap=new Map}add(e,t){let n=this.idMap.get(e);n!==t&&(n!==void 0&&this.elementsSet.delete(n),this.elementsSet.add(t),this.idMap.set(e,t))}delete(e){let t=this.idMap.get(e);t&&(this.elementsSet.delete(t),this.idMap.delete(e))}hasElement(e){return this.elementsSet.has(e)}hasMatchingElement(e){for(let t of this.elementsSet)if(e(t))return!0;return!1}getById(e){return this.idMap.get(e)}entries(){return this.idMap.entries()}elements(){return this.elementsSet.values()}get size(){return this.idMap.size}};function wr(e=[]){let t=e.map(e=>e?.reference),n=e.map(e=>e?.floating),r=e.map(e=>e?.item),i=e.map(e=>e?.trigger),a=K.useCallback(t=>Tr(t,e,`reference`),t),o=K.useCallback(t=>Tr(t,e,`floating`),n),s=K.useCallback(t=>Tr(t,e,`item`),r),c=K.useCallback(t=>Tr(t,e,`trigger`),i);return K.useMemo(()=>({getReferenceProps:a,getFloatingProps:o,getItemProps:s,getTriggerProps:c}),[a,o,s,c])}function Tr(e,t,n){let r=new Map,i=n===`item`,a={};n===`floating`&&(a.tabIndex=-1,a[L]=``);for(let t in e)i&&e&&(t===`active`||t===`selected`)||(a[t]=e[t]);for(let o=0;or.get(i)?.map(t=>t(...e)).find(e=>e!==void 0))):e[i]=a)}}var Dr=`ArrowUp`,Or=`ArrowDown`,kr=`ArrowLeft`,Ar=`ArrowRight`,jr=`Home`,Mr=new Set([kr,Ar]),Nr=new Set([Dr,Or]),Pr=new Set([...Mr,...Nr]);new Set([...Pr,jr,`End`]);var Fr=new Set([Dr,Or,kr,Ar,jr,`End`]);function Ir(e){return o(19)?e:e?`true`:void 0}var Lr=K.forwardRef(function(e,t){let{cutout:n,...r}=e,i;if(n){let e=n?.getBoundingClientRect();i=`polygon( +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{n as r,r as i}from"./useStore.js";import{hn as a}from"./awsClient.js";import{d as o,f as s,l as c,m as l,n as u,p as d,s as f,u as p}from"./dist.js";import{C as m,D as h,S as g,_,b as v,c as y,g as b,l as x,o as S,p as C,w,x as T,y as ee}from"./button.js";import{B as E,C as te,F as D,H as O,I as ne,P as k,R as A,_ as j,a as M,b as N,d as P,g as F,j as I,m as re,o as L,t as ie,v as ae,w as oe,x as se,y as R,z}from"./createBaseUIEventDetails.js";import{c as B,i as V,l as H,o as U,s as W}from"./useTransitionStatus.js";var G=e(n()),K=0,q=class e{static create(){return new e}currentId=K;start(e,t){this.clear(),this.currentId=setTimeout(()=>{this.currentId=K,t()},e)}isStarted(){return this.currentId!==K}clear=()=>{this.currentId!==K&&(clearTimeout(this.currentId),this.currentId=K)};disposeEffect=()=>this.clear};function ce(){let e=d(q.create).current;return H(e.disposeEffect),e}function J(e,t,n=!0){return e.filter(e=>e.parentId===t&&(!n||e.context?.open)).flatMap(t=>[t,...J(e,t.id,n)])}function le(e,t){let n=[],r=e.find(e=>e.id===t)?.parentId;for(;r;){let t=e.find(e=>e.id===r);r=t?.parentId,t&&(n=n.concat(t))}return n}function ue(e){e.preventDefault(),e.stopPropagation()}function de(e){return`nativeEvent`in e}function fe(e){return e.pointerType===``&&e.isTrusted?!0:k&&e.pointerType?e.type===`click`&&e.buttons===1:e.detail===0&&!e.pointerType}function pe(e){return ne?!1:!k&&e.width===0&&e.height===0||k&&e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType===`mouse`||e.width<1&&e.height<1&&e.pressure===0&&e.detail===0&&e.pointerType===`touch`}function me(e,t){let n=[`mouse`,`pen`];return t||n.push(``,void 0),n.includes(e)}function he(e){let t=e.type;return t===`click`||t===`mousedown`||t===`keydown`||t===`keyup`}var ge=[`top`,`right`,`bottom`,`left`],_e=Math.min,Y=Math.max,ve=Math.round,X=Math.floor,ye=e=>({x:e,y:e}),be={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function xe(e,t,n){return Y(e,_e(t,n))}function Se(e,t){return typeof e==`function`?e(t):e}function Ce(e){return e.split(`-`)[0]}function we(e){return e.split(`-`)[1]}function Te(e){return e===`x`?`y`:`x`}function Ee(e){return e===`y`?`height`:`width`}function De(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Oe(e){return Te(De(e))}function ke(e,t,n){n===void 0&&(n=!1);let r=we(e),i=Oe(e),a=Ee(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Re(o)),[o,Re(o)]}function Ae(e){let t=Re(e);return[je(e),t,je(t)]}function je(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Me=[`left`,`right`],Ne=[`right`,`left`],Pe=[`top`,`bottom`],Fe=[`bottom`,`top`];function Ie(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Ne:Me:t?Me:Ne;case`left`:case`right`:return t?Pe:Fe;default:return[]}}function Le(e,t,n,r){let i=we(e),a=Ie(Ce(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(je)))),a}function Re(e){let t=Ce(e);return be[t]+e.slice(t.length)}function ze(e){return{top:0,right:0,bottom:0,left:0,...e}}function Be(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:ze(e)}function Ve(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function He(e,t,n){return Math.floor(e/t)!==n}function Ue(e,t){return t<0||t>=e.current.length}function We(e,t){return Z(e,{disabledIndices:t})}function Ge(e,t){return Z(e,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}function Z(e,{startingIndex:t=-1,decrement:n=!1,disabledIndices:r,amount:i=1}={}){let a=t;do a+=n?-i:i;while(a>=0&&a<=e.current.length-1&&Xe(e,a,r));return a}function Ke(e,{event:t,orientation:n,loopFocus:r,rtl:i,cols:a,disabledIndices:o,minIndex:s,maxIndex:c,prevIndex:l,stopEvent:u=!1}){let d=l,f;if(t.key===`ArrowUp`?f=`up`:t.key===`ArrowDown`&&(f=`down`),f){let n=[],i=[],p=!1,m=0;{let t=null,r=-1;e.current.forEach((e,a)=>{if(e==null)return;m+=1;let o=e.closest(`[role="row"]`);o&&(p=!0),(o!==t||r===-1)&&(t=o,r+=1,n[r]=[]),n[r].push(a),i[a]=r})}let h=!1,g=0;if(p)for(let e of n){let t=e.length;t>g&&(g=t),t!==a&&(h=!0)}let _=h&&m{if(!h||l===-1)return;let a=i[l];if(a==null)return;let s=n[a].indexOf(l),c=t===`up`?-1:1;for(let t=a+c,i=0;i=n.length){if(!r||_)return;t=t<0?n.length-1:0}let i=n[t];for(let t=Math.min(s,i.length-1);t>=0;--t){let n=i[t];if(!Xe(e,n,o))return n}}},b=t=>{if(!_||l===-1)return;let n=l%v,i=t===`up`?-v:v,a=c-c%v,s=X(c/v)+1;for(let t=l-n+i,u=0;uc){if(!r)return;t=t<0?a:0}let i=Math.min(t+v-1,c);for(let r=Math.min(t+n,i);r>=t;--r)if(!Xe(e,r,o))return r}};u&&ue(t);let x=y(f)??b(f);if(x!==void 0)d=x;else if(l===-1)d=f===`up`?c:s;else if(d=Z(e,{startingIndex:l,amount:v,decrement:f===`up`,disabledIndices:o}),r){if(f===`up`&&(l-ve?n:n-v}f===`down`&&l+v>c&&(d=Z(e,{startingIndex:l%v-v,amount:v,disabledIndices:o}))}Ue(e,d)&&(d=l)}if(n===`both`){let n=X(l/a);t.key===(i?`ArrowLeft`:`ArrowRight`)&&(u&&ue(t),l%a===a-1?r&&(d=Z(e,{startingIndex:l-l%a-1,disabledIndices:o})):(d=Z(e,{startingIndex:l,disabledIndices:o}),r&&He(d,a,n)&&(d=Z(e,{startingIndex:l-l%a-1,disabledIndices:o}))),He(d,a,n)&&(d=l)),t.key===(i?`ArrowRight`:`ArrowLeft`)&&(u&&ue(t),l%a===0?r&&(d=Z(e,{startingIndex:l+(a-l%a),decrement:!0,disabledIndices:o})):(d=Z(e,{startingIndex:l,decrement:!0,disabledIndices:o}),r&&He(d,a,n)&&(d=Z(e,{startingIndex:l+(a-l%a),decrement:!0,disabledIndices:o}))),He(d,a,n)&&(d=l));let s=X(c/a)===n;Ue(e,d)&&(d=r&&s?t.key===(i?`ArrowRight`:`ArrowLeft`)?c:Z(e,{startingIndex:l-l%a-1,disabledIndices:o}):l)}return d}function qe(e,t,n){let r=[],i=0;return e.forEach(({width:e,height:a},o)=>{let s=!1;for(n&&(i=0);!s;){let n=[];for(let r=0;rr[e]==null)?(n.forEach(e=>{r[e]=o}),s=!0):i+=1}}),[...r]}function Je(e,t,n,r,i){if(e===-1)return-1;let a=n.indexOf(e),o=t[e];switch(i){case`tl`:return a;case`tr`:return o?a+o.width-1:a;case`bl`:return o?a+(o.height-1)*r:a;case`br`:return n.lastIndexOf(e);default:return-1}}function Ye(e,t){return t.flatMap((t,n)=>e.includes(t)?[n]:[])}function Xe(e,t,n){if(typeof n==`function`?n(t):n?.includes(t)??!1)return!0;let r=e.current[t];return r?Ze(r)?!n&&(r.hasAttribute(`disabled`)||r.getAttribute(`aria-disabled`)===`true`):!0:!1}function Ze(e){return x(e).display!==`none`}var Qe=[`input:not([inert]):not([inert] *)`,`select:not([inert]):not([inert] *)`,`textarea:not([inert]):not([inert] *)`,`a[href]:not([inert]):not([inert] *)`,`button:not([inert]):not([inert] *)`,`[tabindex]:not(slot):not([inert]):not([inert] *)`,`audio[controls]:not([inert]):not([inert] *)`,`video[controls]:not([inert]):not([inert] *)`,`[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)`,`details>summary:first-of-type:not([inert]):not([inert] *)`,`details:not([inert]):not([inert] *)`].join(`,`),$e=typeof Element>`u`,et=$e?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,tt=!$e&&Element.prototype.getRootNode?function(e){return e?.getRootNode?.call(e)}:function(e){return e?.ownerDocument},nt=function(e,t){t===void 0&&(t=!0);var n=e?.getAttribute?.call(e,`inert`);return n===``||n===`true`||t&&e&&(typeof e.closest==`function`?e.closest(`[inert]`):nt(e.parentNode))},rt=function(e){var t=e?.getAttribute?.call(e,`contenteditable`);return t===``||t===`true`},it=function(e,t,n){if(nt(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(Qe));return t&&et.call(e,Qe)&&r.unshift(e),r=r.filter(n),r},at=function(e,t,n){for(var r=[],i=Array.from(e);i.length;){var a=i.shift();if(!nt(a,!1))if(a.tagName===`SLOT`){var o=a.assignedElements(),s=at(o.length?o:a.children,!0,n);n.flatten?r.push.apply(r,s):r.push({scopeParent:a,candidates:s})}else{et.call(a,Qe)&&n.filter(a)&&(t||!e.includes(a))&&r.push(a);var c=a.shadowRoot||typeof n.getShadowRoot==`function`&&n.getShadowRoot(a),l=!nt(c,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(a));if(c&&l){var u=at(c===!0?a.children:c.children,!0,n);n.flatten?r.push.apply(r,u):r.push({scopeParent:a,candidates:u})}else i.unshift.apply(i,a.children)}}return r},ot=function(e){return!isNaN(parseInt(e.getAttribute(`tabindex`),10))},st=function(e){if(!e)throw Error(`No node provided`);return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||rt(e))&&!ot(e)?0:e.tabIndex},ct=function(e,t){var n=st(e);return n<0&&t&&!ot(e)?0:n},lt=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},ut=function(e){return e.tagName===`INPUT`},dt=function(e){return ut(e)&&e.type===`hidden`},ft=function(e){return e.tagName===`DETAILS`&&Array.prototype.slice.apply(e.children).some(function(e){return e.tagName===`SUMMARY`})},pt=function(e,t){for(var n=0;nsummary:first-of-type`)?e.parentElement:e;if(et.call(i,`details:not([open]) *`))return!0;if(!n||n===`full`||n===`full-native`||n===`legacy-full`){if(typeof r==`function`){for(var a=e;e;){var o=e.parentElement,s=tt(e);if(o&&!o.shadowRoot&&r(o)===!0)return vt(e);e=e.assignedSlot?e.assignedSlot:!o&&s!==e.ownerDocument?s.host:o}e=a}if(_t(e))return!e.getClientRects().length;if(n!==`legacy-full`)return!0}else if(n===`non-zero-area`)return vt(e);return!1},bt=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName===`FIELDSET`&&t.disabled){for(var n=0;n=0)},wt=function(e){var t=[],n=[];return e.forEach(function(e,r){var i=!!e.scopeParent,a=i?e.scopeParent:e,o=ct(a,i),s=i?wt(e.candidates):a;o===0?i?t.push.apply(t,s):t.push(a):n.push({documentOrder:r,tabIndex:o,item:e,isScope:i,content:s})}),n.sort(lt).reduce(function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e},[]).concat(t)},Tt=function(e,t){return t||={},wt(t.getShadowRoot?at([e],t.includeContainer,{filter:St.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:Ct}):it(e,t.includeContainer,St.bind(null,t)))},Et=function(e,t){return t||={},t.getShadowRoot?at([e],t.includeContainer,{filter:xt.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):it(e,t.includeContainer,xt.bind(null,t))},Dt=function(e,t){if(t||={},!e)throw Error(`No node provided`);return et.call(e,Qe)===!1?!1:St(t,e)},Ot=()=>({getShadowRoot:!0,displayCheck:typeof ResizeObserver==`function`&&ResizeObserver.toString().includes(`[native code]`)?`full`:`none`});function kt(e,t){let n=Tt(e,Ot()),r=n.length;if(r===0)return;let i=F(E(e)),a=n.indexOf(i);return n[a===-1?t===1?0:r-1:a+t]}function At(e){return kt(E(e).body,1)||e}function jt(e){return kt(E(e).body,-1)||e}function Mt(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!j(n,r)}function Nt(e){Tt(e,Ot()).forEach(e=>{e.dataset.tabindex=e.getAttribute(`tabindex`)||``,e.setAttribute(`tabindex`,`-1`)})}function Pt(e){e.querySelectorAll(`[data-tabindex]`).forEach(e=>{let t=e.dataset.tabindex;delete e.dataset.tabindex,t?e.setAttribute(`tabindex`,t):e.removeAttribute(`tabindex`)})}var Ft=function(e){return e.open=`data-open`,e.closed=`data-closed`,e[e.startingStyle=V.startingStyle]=`startingStyle`,e[e.endingStyle=V.endingStyle]=`endingStyle`,e.anchorHidden=`data-anchor-hidden`,e.side=`data-side`,e.align=`data-align`,e}({}),It=function(e){return e.popupOpen=`data-popup-open`,e.pressed=`data-pressed`,e}({}),Lt={[It.popupOpen]:``},Rt={[It.popupOpen]:``,[It.pressed]:``},zt={[Ft.open]:``},Bt={[Ft.closed]:``},Vt={[Ft.anchorHidden]:``},Ht={open(e){return e?Lt:null}},Ut={open(e){return e?Rt:null}},Wt={open(e){return e?zt:Bt},anchorHidden(e){return e?Vt:null}};function Gt(e){let t=d(Kt,e).current;return t.next=e,S(t.effect),t}function Kt(e){let t={current:e,next:e,effect:()=>{t.current=t.next}};return t}var qt={clipPath:`inset(50%)`,overflow:`hidden`,whiteSpace:`nowrap`,border:0,padding:0,width:1,height:1,margin:-1},Jt={...qt,position:`fixed`,top:0,left:0},Yt={...qt,position:`absolute`},Q=t(),Xt=G.forwardRef(function(e,t){let[n,r]=G.useState();S(()=>{A&&r(`button`)},[]);let i={tabIndex:0,role:n};return(0,Q.jsx)(`span`,{...e,ref:t,style:Jt,"aria-hidden":n?void 0:!0,...i,"data-base-ui-focus-guard":``})});function Zt(e){return`data-base-ui-${e}`}var Qt=0;function $t(e,t={}){let{preventScroll:n=!1,cancelPrevious:r=!0,sync:i=!1}=t;r&&cancelAnimationFrame(Qt);let a=()=>e?.focus({preventScroll:n});i?a():Qt=requestAnimationFrame(a)}var en={inert:new WeakMap,"aria-hidden":new WeakMap},tn=`data-base-ui-inert`,nn={inert:new WeakSet,"aria-hidden":new WeakSet},rn=new WeakMap,an=0;function on(e){return nn[e]}function sn(e){return e?w(e)?e.host:sn(e.parentNode):null}var cn=(e,t)=>t.map(t=>{if(e.contains(t))return t;let n=sn(t);return e.contains(n)?n:null}).filter(e=>e!=null),ln=e=>{let t=new Set;return e.forEach(e=>{let n=e;for(;n&&!t.has(n);)t.add(n),n=n.parentNode}),t},un=(e,t,n)=>{let r=[],i=e=>{!e||n.has(e)||Array.from(e.children).forEach(e=>{C(e)!==`script`&&(t.has(e)?i(e):r.push(e))})};return i(e),r};function dn(e,t,n,r,{mark:i=!0,markerIgnoreElements:a=[]}){let o=r?`inert`:n?`aria-hidden`:null,s=null,c=null,l=cn(t,e),u=i?cn(t,a):[],d=new Set(u),f=i?un(t,ln(l),new Set(l)).filter(e=>!d.has(e)):[],p=[],m=[];if(o){let e=en[o],n=on(o);c=n,s=e;let r=cn(t,Array.from(t.querySelectorAll(`[aria-live]`))),i=l.concat(r);un(t,ln(i),new Set(i)).forEach(t=>{let r=t.getAttribute(o),i=r!==null&&r!==`false`,a=(e.get(t)||0)+1;e.set(t,a),p.push(t),a===1&&i&&n.add(t),i||t.setAttribute(o,o===`inert`?``:`true`)})}return i&&f.forEach(e=>{let t=(rn.get(e)||0)+1;rn.set(e,t),m.push(e),t===1&&e.setAttribute(tn,``)}),an+=1,()=>{s&&p.forEach(e=>{let t=(s.get(e)||0)-1;s.set(e,t),t||(!c?.has(e)&&o&&e.removeAttribute(o),c?.delete(e))}),i&&m.forEach(e=>{let t=(rn.get(e)||0)-1;rn.set(e,t),t||e.removeAttribute(tn)}),--an,an||(en.inert=new WeakMap,en[`aria-hidden`]=new WeakMap,nn.inert=new WeakSet,nn[`aria-hidden`]=new WeakSet,rn=new WeakMap)}}function fn(e,t={}){let{ariaHidden:n=!1,inert:r=!1,mark:i=!0,markerIgnoreElements:a=[]}=t,o=E(e[0]).body;return dn(e,o,n,r,{mark:i,markerIgnoreElements:a})}var pn=e(a()),mn=G.createContext(null),hn=()=>G.useContext(mn),gn=Zt(`portal`);function _n(e={}){let{ref:t,container:n,componentProps:r=c,elementProps:i}=e,a=O(),o=hn()?.portalNode,[s,l]=G.useState(null),[d,f]=G.useState(null),p=y(e=>{e!==null&&f(e)}),m=G.useRef(null);S(()=>{if(n===null){m.current&&(m.current=null,f(null),l(null));return}if(a==null)return;let e=(n&&(g(n)?n:n.current))??o??document.body;if(e==null){m.current&&(m.current=null,f(null),l(null));return}m.current!==e&&(m.current=e,f(null),l(e))},[n,o,a]);let h=u(`div`,r,{ref:[t,p],props:[{id:a,[gn]:``},i]});return{portalNode:d,portalSubtree:s&&h?pn.createPortal(h,s):null}}var vn=G.forwardRef(function(e,t){let{children:n,container:r,className:i,render:a,renderGuards:o,...s}=e,{portalNode:c,portalSubtree:l}=_n({container:r,ref:t,componentProps:e,elementProps:s}),u=G.useRef(null),d=G.useRef(null),p=G.useRef(null),m=G.useRef(null),[h,g]=G.useState(null),_=h?.modal,v=h?.open,y=typeof o==`boolean`?o:!!h&&!h.modal&&h.open&&!!c;G.useEffect(()=>{if(!c||_)return;function e(e){c&&e.relatedTarget&&Mt(e)&&(e.type===`focusin`?Pt:Nt)(c)}return c.addEventListener(`focusin`,e,!0),c.addEventListener(`focusout`,e,!0),()=>{c.removeEventListener(`focusin`,e,!0),c.removeEventListener(`focusout`,e,!0)}},[c,_]),G.useEffect(()=>{!c||v||Pt(c)},[v,c]);let b=G.useMemo(()=>({beforeOutsideRef:u,afterOutsideRef:d,beforeInsideRef:p,afterInsideRef:m,portalNode:c,setFocusManagerState:g}),[c]);return(0,Q.jsxs)(G.Fragment,{children:[l,(0,Q.jsxs)(mn.Provider,{value:b,children:[y&&c&&(0,Q.jsx)(Xt,{"data-type":`outside`,ref:u,onFocus:e=>{Mt(e,c)?p.current?.focus():jt(h?h.domReference:null)?.focus()}}),y&&c&&(0,Q.jsx)(`span`,{"aria-owns":c.id,style:f}),c&&pn.createPortal(n,c),y&&c&&(0,Q.jsx)(Xt,{"data-type":`outside`,ref:d,onFocus:e=>{Mt(e,c)?m.current?.focus():(At(h?h.domReference:null)?.focus(),h?.closeOnFocusOut&&h?.onOpenChange(!1,ie(`focus-out`,e.nativeEvent)))}})]})]})}),yn=i(),bn=r();function xn(){let e=new Map;return{emit(t,n){e.get(t)?.forEach(e=>e(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){e.get(t)?.delete(n)}}}var Sn=G.createContext(null),Cn=G.createContext(null),wn=()=>G.useContext(Sn)?.id||null,Tn=e=>{let t=G.useContext(Cn);return e??t};function En(e,t){let n=_(e.target);return e instanceof n.KeyboardEvent?`keyboard`:e instanceof n.FocusEvent?t||`keyboard`:`pointerType`in e?e.pointerType||`keyboard`:`touches`in e?`touch`:e instanceof n.MouseEvent?t||(e.detail===0?`keyboard`:`mouse`):``}var Dn=20,$=[];function On(){$=$.filter(e=>e.deref()?.isConnected)}function kn(e){On(),e&&C(e)!==`body`&&($.push(new WeakRef(e)),$.length>Dn&&($=$.slice(-Dn)))}function An(){return On(),$[$.length-1]?.deref()}function jn(e){if(!e)return null;let t=Ot();return Dt(e,t)?e:Tt(e,t)[0]||e}function Mn(e){return!e||!e.isConnected?!1:typeof e.checkVisibility==`function`?e.checkVisibility():Ze(e)}function Nn(e,t){if(!t.current.includes(`floating`)&&!e.getAttribute(`role`)?.includes(`dialog`))return;let n=Ot(),r=Et(e,n).filter(e=>{let t=e.getAttribute(`data-tabindex`)||``;return Dt(e,n)||e.hasAttribute(`data-tabindex`)&&!t.startsWith(`-`)}),i=e.getAttribute(`tabindex`);t.current.includes(`floating`)||r.length===0?i!==`0`&&e.setAttribute(`tabindex`,`0`):(i!==`-1`||e.hasAttribute(`data-tabindex`)&&e.getAttribute(`data-tabindex`)!==`-1`)&&(e.setAttribute(`tabindex`,`-1`),e.setAttribute(`data-tabindex`,`-1`))}function Pn(e){let{context:t,children:n,disabled:r=!1,initialFocus:i=!0,returnFocus:a=!0,restoreFocus:o=!1,modal:c=!0,closeOnFocusOut:l=!0,openInteractionType:u=``,nextFocusableElement:d,previousFocusableElement:f,beforeContentFocusGuardRef:p,externalTree:m,getInsideElements:h}=e,g=`rootStore`in t?t.rootStore:t,_=g.useState(`open`),b=g.useState(`domReferenceElement`),x=g.useState(`floatingElement`),{events:C,dataRef:w}=g.context,T=y(()=>w.current.floatingContext?.nodeId),ee=i===!1,D=te(b)&&ee,O=G.useRef([`content`]),ne=Gt(i),k=Gt(a),A=Gt(u),M=Tn(m),N=hn(),P=G.useRef(!1),I=G.useRef(!1),re=G.useRef(!1),se=G.useRef(-1),V=G.useRef(``),H=G.useRef(``),W=G.useRef(null),K=G.useRef(null),q=s(W,p,N?.beforeInsideRef),de=s(K,N?.afterInsideRef),me=ce(),he=ce(),ge=B(),_e=N!=null,Y=ae(x),ve=y((e=Y)=>e?Tt(e,Ot()):[]),X=y(()=>h?.().filter(e=>e!=null)??[]),ye=y(e=>{let t=ve(e);return O.current.map(()=>t).filter(Boolean).flat()});G.useEffect(()=>{if(r||!c)return;function e(e){e.key===`Tab`&&j(Y,F(E(Y)))&&ve().length===0&&!D&&ue(e)}let t=E(Y);return t.addEventListener(`keydown`,e),()=>{t.removeEventListener(`keydown`,e)}},[r,b,Y,c,O,D,ve,ye]),G.useEffect(()=>{if(r||!_)return;let e=E(Y);function t(){re.current=!1}function n(e){let t=R(e),n=X();re.current=!(j(x,t)||j(b,t)||j(N?.portalNode,t)||n.some(e=>e===t||j(e,t))),H.current=e.pointerType||`keyboard`,t?.closest(`[data-base-ui-click-trigger]`)&&(I.current=!0)}function i(){H.current=`keyboard`}return e.addEventListener(`pointerdown`,n,!0),e.addEventListener(`pointerup`,t,!0),e.addEventListener(`pointercancel`,t,!0),e.addEventListener(`keydown`,i,!0),()=>{e.removeEventListener(`pointerdown`,n,!0),e.removeEventListener(`pointerup`,t,!0),e.removeEventListener(`pointercancel`,t,!0),e.removeEventListener(`keydown`,i,!0)}},[r,x,b,Y,_,N,X]),G.useEffect(()=>{if(r||!l)return;let e=E(Y);function t(){I.current=!0,he.start(0,()=>{I.current=!1})}function n(e){let t=R(e),n=ve().indexOf(t);n!==-1&&(se.current=n)}function i(t){let n=t.relatedTarget,r=t.currentTarget,i=R(t);queueMicrotask(()=>{let a=T(),s=g.context.triggerElements,l=X(),u=n?.hasAttribute(Zt(`focus-guard`))&&[W.current,K.current,N?.beforeInsideRef.current,N?.afterInsideRef.current,N?.beforeOutsideRef.current,N?.afterOutsideRef.current,U(f),U(d)].includes(n),p=!(j(b,n)||j(x,n)||j(n,x)||j(N?.portalNode,n)||l.some(e=>e===n||j(e,n))||n!=null&&s.hasElement(n)||s.hasMatchingElement(e=>j(e,n))||u||M&&(J(M.nodesRef.current,a).find(e=>j(e.context?.elements.floating,n)||j(e.context?.elements.domReference,n))||le(M.nodesRef.current,a).find(e=>[e.context?.elements.floating,ae(e.context?.elements.floating)].includes(n)||e.context?.elements.domReference===n)));if(r===b&&Y&&Nn(Y,O),o&&r!==b&&!Mn(i)&&F(e)===e.body){if(v(Y)&&(Y.focus(),o===`popup`)){ge.request(()=>{Y.focus()});return}let e=se.current,t=ve(),n=t[e]||t[t.length-1]||Y;v(n)&&n.focus()}if(w.current.insideReactTree){w.current.insideReactTree=!1;return}(D||!c)&&n&&p&&!I.current&&(D||n!==An())&&(P.current=!0,g.setOpen(!1,ie(L,t)))})}function a(){re.current||(w.current.insideReactTree=!0,me.start(0,()=>{w.current.insideReactTree=!1}))}let s=v(b)?b:null,u=[];if(!(!x&&!s))return s&&(s.addEventListener(`focusout`,i),s.addEventListener(`pointerdown`,t),u.push(()=>{s.removeEventListener(`focusout`,i),s.removeEventListener(`pointerdown`,t)})),x&&(x.addEventListener(`focusin`,n),x.addEventListener(`focusout`,i),N&&(x.addEventListener(`focusout`,a,!0),u.push(()=>{x.removeEventListener(`focusout`,a,!0)})),u.push(()=>{x.removeEventListener(`focusin`,n),x.removeEventListener(`focusout`,i)})),()=>{u.forEach(e=>{e()})}},[r,b,x,Y,c,M,N,g,l,o,ve,D,T,O,w,me,he,ge,d,f,X]),G.useEffect(()=>{if(r||!x||!_)return;let e=Array.from(N?.portalNode?.querySelectorAll(`[${Zt(`portal`)}]`)||[]),t=(M?le(M.nodesRef.current,T()):[]).find(e=>te(e.context?.elements.domReference||null))?.context?.elements.domReference,n=fn([...[x,...e,W.current,K.current,N?.beforeOutsideRef.current,N?.afterOutsideRef.current,...X()],t,U(f),U(d),D?b:null].filter(e=>e!=null),{ariaHidden:c||D,mark:!1}),i=fn([x,...e].filter(e=>e!=null));return()=>{i(),n()}},[_,r,b,x,c,O,N,D,M,T,d,f,X]),S(()=>{if(!_||r||!v(Y))return;let e=F(E(Y));queueMicrotask(()=>{let t=ye(Y),n=ne.current,r=typeof n==`function`?n(A.current||``):n;if(r===void 0||r===!1)return;let i;i=r===!0||r===null?t[0]||Y:U(r),i=i||t[0]||Y,!j(Y,e)&&$t(i,{preventScroll:i===Y})})},[r,_,Y,ee,ye,ne,A]),S(()=>{if(r||!Y)return;let e=E(Y);kn(F(e));function t(e){if(e.open||(V.current=En(e.nativeEvent,H.current)),e.reason===`trigger-hover`&&e.nativeEvent.type===`mouseleave`&&(P.current=!0),e.reason===`outside-press`)if(e.nested)P.current=!1;else if(fe(e.nativeEvent)||pe(e.nativeEvent))P.current=!1;else{let e=!1;document.createElement(`div`).focus({get preventScroll(){return e=!0,!1}}),e?P.current=!1:P.current=!0}}C.on(`openchange`,t);function n(){let e=k.current,t=typeof e==`function`?e(V.current):e;if(t===void 0||t===!1)return null;if(t===null&&(t=!0),typeof t==`boolean`){let e=b||An();return e&&e.isConnected?e:null}let n=b||An();return U(t)||n||null}return()=>{C.off(`openchange`,t);let r=F(e),i=X(),a=j(x,r)||i.some(e=>e===r||j(e,r))||M&&J(M.nodesRef.current,T(),!1).some(e=>j(e.context?.elements.floating,r)),o=n();queueMicrotask(()=>{let t=jn(o),n=typeof k.current!=`boolean`;k.current&&!P.current&&v(t)&&(!(!n&&t!==r&&r!==e.body)||a)&&t.focus({preventScroll:!0}),P.current=!1})}},[r,x,Y,k,w,C,M,b,T,X]),S(()=>{if(!z||_||!x)return;let e=F(E(x));!v(e)||!oe(e)||j(x,e)&&e.blur()},[_,x]),S(()=>{if(!(r||!N))return N.setFocusManagerState({modal:c,closeOnFocusOut:l,open:_,onOpenChange:g.setOpen,domReference:b}),()=>{N.setFocusManagerState(null)}},[r,N,c,_,g,l,b]),S(()=>{if(!(r||!Y))return Nn(Y,O),()=>{queueMicrotask(On)}},[r,Y,O]);let be=!r&&(c?!D:!0)&&(_e||c);return(0,Q.jsxs)(G.Fragment,{children:[be&&(0,Q.jsx)(Xt,{"data-type":`inside`,ref:q,onFocus:e=>{if(c){let e=ye();$t(e[e.length-1])}else N?.portalNode&&(P.current=!1,Mt(e,N.portalNode)?At(b)?.focus():U(f??N.beforeOutsideRef)?.focus())}}),n,be&&(0,Q.jsx)(Xt,{"data-type":`inside`,ref:de,onFocus:e=>{c?$t(ye()[0]):N?.portalNode&&(l&&(P.current=!0),Mt(e,N.portalNode)?jt(b)?.focus():U(d??N.afterOutsideRef)?.focus())}})]})}var Fn={intentional:`onClick`,sloppy:`onPointerDown`};function In(){return!1}function Ln(e){return{escapeKey:typeof e==`boolean`?e:e?.escapeKey??!1,outsidePress:typeof e==`boolean`?e:e?.outsidePress??!0}}function Rn(e,t={}){let n=`rootStore`in e?e.rootStore:e,r=n.useState(`open`),i=n.useState(`floatingElement`),{dataRef:a}=n.context,{enabled:o=!0,escapeKey:s=!0,outsidePress:c=!0,outsidePressEvent:l=`sloppy`,referencePress:u=In,referencePressEvent:d=`sloppy`,bubbles:f,externalTree:p}=t,m=Tn(p),g=y(typeof c==`function`?c:()=>!1),_=typeof c==`function`?g:c,S=_!==!1,C=y(()=>l),te=G.useRef(!1),D=G.useRef(!1),O=G.useRef(!1),{escapeKey:ne,outsidePress:k}=Ln(f),A=G.useRef(null),F=ce(),I=ce(),L=y(()=>{I.clear(),a.current.insideReactTree=!1}),ae=G.useRef(!1),oe=G.useRef(``),z=y(u),B=y(e=>{if(!r||!o||!s||e.key!==`Escape`||ae.current)return;let t=a.current.floatingContext?.nodeId,i=m?J(m.nodesRef.current,t):[];if(!ne&&i.length>0){let e=!0;if(i.forEach(t=>{t.context?.open&&!t.context.dataRef.current.__escapeKeyBubbles&&(e=!1)}),!e)return}let c=ie(M,de(e)?e.nativeEvent:e);n.setOpen(!1,c),!ne&&!c.isPropagationAllowed&&e.stopPropagation()}),V=y(()=>{a.current.insideReactTree=!0,I.start(0,L)});G.useEffect(()=>{if(!r||!o)return;a.current.__escapeKeyBubbles=ne,a.current.__outsidePressBubbles=k;let e=new q,t=new q;function c(){e.clear(),ae.current=!0}function l(){e.start(h()?5:0,()=>{ae.current=!1})}function u(){O.current=!0,t.start(0,()=>{O.current=!1})}function d(){te.current=!1,D.current=!1}function f(){let e=oe.current,t=e===`pen`||!e?`mouse`:e,n=C(),r=typeof n==`function`?n():n;return typeof r==`string`?r:r[t]}function p(e){let t=f();return t===`intentional`&&e.type!==`click`||t===`sloppy`&&e.type===`click`}function g(e){let t=a.current.floatingContext?.nodeId,r=m&&J(m.nodesRef.current,t).some(t=>N(e,t.context?.elements.floating));return N(e,n.select(`floatingElement`))||N(e,n.select(`domReferenceElement`))||r}function y(e){if(p(e)){L();return}if(a.current.insideReactTree){L();return}let r=R(e),i=`[${Zt(`inert`)}]`,o=Array.from(E(n.select(`floatingElement`)).querySelectorAll(i)),s=ee(r)?r.getRootNode():null;w(s)&&(o=o.concat(Array.from(s.querySelectorAll(i))));let c=n.context.triggerElements;if(r&&(c.hasElement(r)||c.hasMatchingElement(e=>j(e,r))))return;let l=ee(r)?r:null;for(;l&&!T(l);){let e=b(l);if(T(e)||!ee(e))break;l=e}if(o.length&&ee(r)&&!se(r)&&!j(r,n.select(`floatingElement`))&&o.every(e=>!j(l,e)))return;if(v(r)&&!(`touches`in e)){let t=T(r),n=x(r),i=/auto|scroll/,a=t||i.test(n.overflowX),o=t||i.test(n.overflowY),s=a&&r.clientWidth>0&&r.scrollWidth>r.clientWidth,c=o&&r.clientHeight>0&&r.scrollHeight>r.clientHeight,l=n.direction===`rtl`,u=c&&(l?e.offsetX<=r.offsetWidth-r.clientWidth:e.offsetX>r.clientWidth),d=s&&e.offsetY>r.clientHeight;if(u||d)return}if(g(e))return;if(f()===`intentional`&&O.current){t.clear(),O.current=!1;return}if(typeof _==`function`&&!_(e))return;let u=a.current.floatingContext?.nodeId,d=m?J(m.nodesRef.current,u):[];if(d.length>0){let e=!0;if(d.forEach(t=>{t.context?.open&&!t.context.dataRef.current.__outsidePressBubbles&&(e=!1)}),!e)return}n.setOpen(!1,ie(P,e)),L()}function M(e){f()!==`sloppy`||e.pointerType===`touch`||!n.select(`open`)||!o||N(e,n.select(`floatingElement`))||N(e,n.select(`domReferenceElement`))||y(e)}function I(e){if(f()!==`sloppy`||!n.select(`open`)||!o||N(e,n.select(`floatingElement`))||N(e,n.select(`domReferenceElement`)))return;let t=e.touches[0];t&&(A.current={startTime:Date.now(),startX:t.clientX,startY:t.clientY,dismissOnTouchEnd:!1,dismissOnMouseDown:!0},F.start(1e3,()=>{A.current&&(A.current.dismissOnTouchEnd=!1,A.current.dismissOnMouseDown=!1)}))}function re(e){oe.current=`touch`;let t=R(e);function n(){I(e),t?.removeEventListener(e.type,n)}t?.addEventListener(e.type,n)}function z(e){if(F.clear(),e.type===`pointerdown`&&(oe.current=e.pointerType),e.type===`mousedown`&&A.current&&!A.current.dismissOnMouseDown)return;let t=R(e);function n(){e.type===`pointerdown`?M(e):y(e),t?.removeEventListener(e.type,n)}t?.addEventListener(e.type,n)}function V(e){if(!te.current)return;let n=D.current;if(d(),f()===`intentional`){if(e.type===`pointercancel`){n&&u();return}if(!g(e)){if(n){u();return}typeof _==`function`&&!_(e)||(t.clear(),O.current=!0,L())}}}function H(e){if(f()!==`sloppy`||!A.current||N(e,n.select(`floatingElement`))||N(e,n.select(`domReferenceElement`)))return;let t=e.touches[0];if(!t)return;let r=Math.abs(t.clientX-A.current.startX),i=Math.abs(t.clientY-A.current.startY),a=Math.sqrt(r*r+i*i);a>5&&(A.current.dismissOnTouchEnd=!0),a>10&&(y(e),F.clear(),A.current=null)}function U(e){let t=R(e);function n(){H(e),t?.removeEventListener(e.type,n)}t?.addEventListener(e.type,n)}function W(e){f()!==`sloppy`||!A.current||N(e,n.select(`floatingElement`))||N(e,n.select(`domReferenceElement`))||(A.current.dismissOnTouchEnd&&y(e),F.clear(),A.current=null)}function G(e){let t=R(e);function n(){W(e),t?.removeEventListener(e.type,n)}t?.addEventListener(e.type,n)}let K=E(i);return s&&(K.addEventListener(`keydown`,B),K.addEventListener(`compositionstart`,c),K.addEventListener(`compositionend`,l)),S&&(K.addEventListener(`click`,z,!0),K.addEventListener(`pointerdown`,z,!0),K.addEventListener(`pointerup`,V,!0),K.addEventListener(`pointercancel`,V,!0),K.addEventListener(`mousedown`,z,!0),K.addEventListener(`mouseup`,V,!0),K.addEventListener(`touchstart`,re,!0),K.addEventListener(`touchmove`,U,!0),K.addEventListener(`touchend`,G,!0)),()=>{s&&(K.removeEventListener(`keydown`,B),K.removeEventListener(`compositionstart`,c),K.removeEventListener(`compositionend`,l)),S&&(K.removeEventListener(`click`,z,!0),K.removeEventListener(`pointerdown`,z,!0),K.removeEventListener(`pointerup`,V,!0),K.removeEventListener(`pointercancel`,V,!0),K.removeEventListener(`mousedown`,z,!0),K.removeEventListener(`mouseup`,V,!0),K.removeEventListener(`touchstart`,re,!0),K.removeEventListener(`touchmove`,U,!0),K.removeEventListener(`touchend`,G,!0)),e.clear(),t.clear(),d(),O.current=!1}},[a,i,s,S,_,r,o,ne,k,B,L,C,m,n,F]),G.useEffect(L,[_,L]);let H=G.useMemo(()=>({onKeyDown:B,[Fn[d]]:e=>{z()&&n.setOpen(!1,ie(re,e.nativeEvent))},...d!==`intentional`&&{onClick(e){z()&&n.setOpen(!1,ie(`trigger-press`,e.nativeEvent))}}}),[B,n,d,z]),U=y(e=>{if(!r||!o||e.button!==0)return;let t=R(e.nativeEvent);j(n.select(`floatingElement`),t)&&(te.current||(te.current=!0,D.current=!1))}),W=y(e=>{!r||!o||(e.defaultPrevented||e.nativeEvent.defaultPrevented)&&te.current&&(D.current=!0)}),K=G.useMemo(()=>({onKeyDown:B,onPointerDown:W,onMouseDown:W,onClickCapture:V,onMouseDownCapture(e){V(),U(e)},onPointerDownCapture(e){V(),U(e)},onMouseUpCapture:V,onTouchEndCapture:V,onTouchMoveCapture:V}),[B,V,U,W]);return G.useMemo(()=>o?{reference:H,floating:K,trigger:H}:{},[o,H,K])}var zn=Symbol(`NOT_FOUND`);function Bn(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!=`function`)throw TypeError(t)}function Vn(e,t=`expected an object, instead received ${typeof e}`){if(typeof e!=`object`)throw TypeError(t)}function Hn(e,t=`expected all items to be functions, instead received the following types: `){if(!e.every(e=>typeof e==`function`)){let n=e.map(e=>typeof e==`function`?`function ${e.name||`unnamed`}()`:typeof e).join(`, `);throw TypeError(`${t}[${n}]`)}}var Un=e=>Array.isArray(e)?e:[e];function Wn(e){let t=Array.isArray(e[0])?e[0]:e;return Hn(t,`createSelector expects all input-selectors to be functions, but received the following types: `),t}function Gn(e,t){let n=[],{length:r}=e;for(let i=0;it(e,n.key));if(r>-1){let e=n[r];return r>0&&(n.splice(r,1),n.unshift(e)),e.value}return zn}function i(t,i){r(t)===zn&&(n.unshift({key:t,value:i}),n.length>e&&n.pop())}function a(){return n}function o(){n=[]}return{get:r,put:i,getEntries:a,clear:o}}var Jn=(e,t)=>e===t;function Yn(e){return function(t,n){if(t===null||n===null||t.length!==n.length)return!1;let{length:r}=t;for(let i=0;ii(e.value,t));e&&(t=e.value,o!==0&&o--)}s.put(arguments,t)}return t}return c.clearCache=()=>{s.clear(),c.resetResultsCount()},c.resultsCount=()=>o,c.resetResultsCount=()=>{o=0},c}var Zn=class{constructor(e){this.value=e}deref(){return this.value}},Qn=typeof WeakRef<`u`?WeakRef:Zn,$n=0,er=1;function tr(){return{s:$n,v:void 0,o:null,p:null}}function nr(e,t={}){let n=tr(),{resultEqualityCheck:r}=t,i,a=0;function o(){let t=n,{length:o}=arguments;for(let e=0,n=o;e{n=tr(),o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function rr(e,...t){let n=typeof e==`function`?{memoize:e,memoizeOptions:t}:e,r=(...e)=>{let t=0,r=0,i,a={},o=e.pop();typeof o==`object`&&(a=o,o=e.pop()),Bn(o,`createSelector expects an output function after the inputs, but received: [${typeof o}]`);let{memoize:s,memoizeOptions:c=[],argsMemoize:l=nr,argsMemoizeOptions:u=[],devModeChecks:d={}}={...n,...a},f=Un(c),p=Un(u),m=Wn(e),h=s(function(){return t++,o.apply(null,arguments)},...f),g=l(function(){r++;let e=Gn(m,arguments);return i=h.apply(null,e),i},...p);return Object.assign(g,{resultFunc:o,memoizedResultFunc:h,dependencies:m,dependencyRecomputations:()=>r,resetDependencyRecomputations:()=>{r=0},lastResult:()=>i,recomputations:()=>t,resetRecomputations:()=>{t=0},memoize:s,argsMemoize:l})};return Object.assign(r,{withTypes:()=>r}),r}var ir=rr(nr),ar=Object.assign((e,t=ir)=>{Vn(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);let n=Object.keys(e);return t(n.map(t=>e[t]),(...e)=>e.reduce((e,t,r)=>(e[n[r]]=t,e),{}))},{withTypes:()=>ar});rr({memoize:Xn,memoizeOptions:{maxSize:1,equalityCheck:Object.is}});var or=(e,t,n,r,i,a,...o)=>{if(o.length>0)throw Error(l(1));let s;if(e&&t&&n&&r&&i&&a)s=(o,s,c,l)=>a(e(o,s,c,l),t(o,s,c,l),n(o,s,c,l),r(o,s,c,l),i(o,s,c,l),s,c,l);else if(e&&t&&n&&r&&i)s=(a,o,s,c)=>i(e(a,o,s,c),t(a,o,s,c),n(a,o,s,c),r(a,o,s,c),o,s,c);else if(e&&t&&n&&r)s=(i,a,o,s)=>r(e(i,a,o,s),t(i,a,o,s),n(i,a,o,s),a,o,s);else if(e&&t&&n)s=(r,i,a,o)=>n(e(r,i,a,o),t(r,i,a,o),i,a,o);else if(e&&t)s=(n,r,i,a)=>t(e(n,r,i,a),r,i,a);else if(e)s=e;else throw Error(`Missing arguments`);return s},sr=[],cr=void 0;function lr(){return cr}function ur(e){sr.push(e)}function dr(e){let t=(t,n)=>{let r=d(pr).current,i;try{cr=r;for(let e of sr)e.before(r);i=e(t,n);for(let e of sr)e.after(r);r.didInitialize=!0}finally{cr=void 0}return i};return t.displayName=e.displayName||e.name,t}function fr(e){return G.forwardRef(dr(e))}function pr(){return{didInitialize:!1}}var mr=o(19)?_r:vr;function hr(e,t,n,r,i){return mr(e,t,n,r,i)}function gr(e,t,n,r,i){let a=G.useCallback(()=>t(e.getSnapshot(),n,r,i),[e,t,n,r,i]);return(0,yn.useSyncExternalStore)(e.subscribe,a,a)}ur({before(e){e.syncIndex=0,e.didInitialize||(e.syncTick=1,e.syncHooks=[],e.didChangeStore=!0,e.getSnapshot=()=>{let t=!1;for(let n=0;n0&&(e.didChangeStore&&(e.didChangeStore=!1,e.subscribe=t=>{let n=new Set;for(let t of e.syncHooks)n.add(t.store);let r=[];for(let e of n)r.push(e.subscribe(t));return()=>{for(let e of r)e()}}),(0,yn.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot))}});function _r(e,t,n,r,i){let a=lr();if(!a)return gr(e,t,n,r,i);let o=a.syncIndex;a.syncIndex+=1;let s;return a.didInitialize?(s=a.syncHooks[o],(s.store!==e||s.selector!==t||!Object.is(s.a1,n)||!Object.is(s.a2,r)||!Object.is(s.a3,i))&&(s.store!==e&&(a.didChangeStore=!0),s.store=e,s.selector=t,s.a1=n,s.a2=r,s.a3=i,s.didChange=!0)):(s={store:e,selector:t,a1:n,a2:r,a3:i,value:t(e.getSnapshot(),n,r,i),didChange:!1},a.syncHooks.push(s)),s.value}function vr(e,t,n,r,i){return(0,bn.useSyncExternalStoreWithSelector)(e.subscribe,e.getSnapshot,e.getSnapshot,e=>t(e,n,r,i))}var yr=class{constructor(e){this.state=e,this.listeners=new Set,this.updateTick=0}subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});getSnapshot=()=>this.state;setState(e){if(this.state===e)return;this.state=e,this.updateTick+=1;let t=this.updateTick;for(let n of this.listeners){if(t!==this.updateTick)return;n(e)}}update(e){for(let t in e)if(!Object.is(this.state[t],e[t])){this.setState({...this.state,...e});return}}set(e,t){Object.is(this.state[e],t)||this.setState({...this.state,[e]:t})}notifyAll(){let e={...this.state};this.setState(e)}use(e,t,n,r){return hr(this,e,t,n,r)}},br=class extends yr{constructor(e,t={},n){super(e),this.context=t,this.selectors=n}useSyncedValue(e,t){G.useDebugValue(e),S(()=>{this.state[e]!==t&&this.set(e,t)},[e,t])}useSyncedValueWithCleanup(e,t){let n=this;S(()=>(n.state[e]!==t&&n.set(e,t),()=>{n.set(e,void 0)}),[n,e,t])}useSyncedValues(e){let t=this;S(()=>{t.update(e)},[t,...Object.values(e)])}useControlledProp(e,t){G.useDebugValue(e);let n=t!==void 0;S(()=>{n&&!Object.is(this.state[e],t)&&super.setState({...this.state,[e]:t})},[e,t,n])}select(e,t,n,r){let i=this.selectors[e];return i(this.state,t,n,r)}useState(e,t,n,r){return G.useDebugValue(e),hr(this,this.selectors[e],t,n,r)}useContextCallback(e,t){G.useDebugValue(e);let n=y(t??p);this.context[e]=n}useStateSetter(e){let t=G.useRef(void 0);return t.current===void 0&&(t.current=t=>{this.set(e,t)}),t.current}observe(e,t){let n;n=typeof e==`function`?e:this.selectors[e];let r=n(this.state);return t(r,r,this),this.subscribe(e=>{let i=n(e);if(!Object.is(r,i)){let e=r;r=i,t(i,e,this)}})}},xr={open:or(e=>e.open),domReferenceElement:or(e=>e.domReferenceElement),referenceElement:or(e=>e.positionReference??e.referenceElement),floatingElement:or(e=>e.floatingElement),floatingId:or(e=>e.floatingId)},Sr=class extends br{constructor(e){let{nested:t,noEmit:n,onOpenChange:r,triggerElements:i,...a}=e;super({...a,positionReference:a.referenceElement,domReferenceElement:a.referenceElement},{onOpenChange:r,dataRef:{current:{}},events:xn(),nested:t,noEmit:n,triggerElements:i},xr)}setOpen=(e,t)=>{if((!e||!this.state.open||he(t.event))&&(this.context.dataRef.current.openEvent=e?t.event:void 0),!this.context.noEmit){let n={open:e,reason:t.reason,nativeEvent:t.event,nested:this.context.nested,triggerElement:t.trigger};this.context.events.emit(`openchange`,n)}this.context.onOpenChange?.(e,t)}},Cr=class{constructor(){this.elementsSet=new Set,this.idMap=new Map}add(e,t){let n=this.idMap.get(e);n!==t&&(n!==void 0&&this.elementsSet.delete(n),this.elementsSet.add(t),this.idMap.set(e,t))}delete(e){let t=this.idMap.get(e);t&&(this.elementsSet.delete(t),this.idMap.delete(e))}hasElement(e){return this.elementsSet.has(e)}hasMatchingElement(e){for(let t of this.elementsSet)if(e(t))return!0;return!1}getById(e){return this.idMap.get(e)}entries(){return this.idMap.entries()}elements(){return this.elementsSet.values()}get size(){return this.idMap.size}};function wr(e=[]){let t=e.map(e=>e?.reference),n=e.map(e=>e?.floating),r=e.map(e=>e?.item),i=e.map(e=>e?.trigger),a=G.useCallback(t=>Tr(t,e,`reference`),t),o=G.useCallback(t=>Tr(t,e,`floating`),n),s=G.useCallback(t=>Tr(t,e,`item`),r),c=G.useCallback(t=>Tr(t,e,`trigger`),i);return G.useMemo(()=>({getReferenceProps:a,getFloatingProps:o,getItemProps:s,getTriggerProps:c}),[a,o,s,c])}function Tr(e,t,n){let r=new Map,i=n===`item`,a={};n===`floating`&&(a.tabIndex=-1,a[I]=``);for(let t in e)i&&e&&(t===`active`||t===`selected`)||(a[t]=e[t]);for(let o=0;or.get(i)?.map(t=>t(...e)).find(e=>e!==void 0))):e[i]=a)}}var Dr=`ArrowUp`,Or=`ArrowDown`,kr=`ArrowLeft`,Ar=`ArrowRight`,jr=`Home`,Mr=new Set([kr,Ar]),Nr=new Set([kr,Ar,jr,`End`]),Pr=new Set([Dr,Or]),Fr=new Set([Dr,Or,jr,`End`]),Ir=new Set([...Mr,...Pr]),Lr=new Set([...Ir,jr,`End`]),Rr=new Set([Dr,Or,kr,Ar,jr,`End`]),zr=new Set([`Shift`,`Control`,`Alt`,`Meta`]);function Br(e){return v(e)&&e.tagName===`INPUT`}function Vr(e){return!!(Br(e)&&e.selectionStart!=null||v(e)&&e.tagName===`TEXTAREA`)}function Hr(e,t,n,r){if(!e||!t||!t.scrollTo)return;let i=e.scrollLeft,a=e.scrollTop,o=e.clientWidthe.scrollLeft+e.clientWidth-a.scrollPaddingRight?i=r+t.offsetWidth+o.scrollMarginRight-e.clientWidth+a.scrollPaddingRight:r-o.scrollMarginLefte.scrollLeft+e.clientWidth-a.scrollPaddingRight&&(i=r+t.offsetWidth+o.scrollMarginRight-e.clientWidth+a.scrollPaddingRight))}if(s&&r!==`horizontal`){let n=Ur(e,t,`top`),r=Wr(e),i=Wr(t);n-i.scrollMarginTope.scrollTop+e.clientHeight-r.scrollPaddingBottom&&(a=n+t.offsetHeight+i.scrollMarginBottom-e.clientHeight+r.scrollPaddingBottom)}e.scrollTo({left:i,top:a,behavior:`auto`})}function Ur(e,t,n){let r=n===`left`?`offsetLeft`:`offsetTop`,i=0;for(;t.offsetParent&&(i+=t[r],t.offsetParent!==e);)t=t.offsetParent;return i}function Wr(e){let t=getComputedStyle(e);return{scrollMarginTop:parseFloat(t.scrollMarginTop)||0,scrollMarginRight:parseFloat(t.scrollMarginRight)||0,scrollMarginBottom:parseFloat(t.scrollMarginBottom)||0,scrollMarginLeft:parseFloat(t.scrollMarginLeft)||0,scrollPaddingTop:parseFloat(t.scrollPaddingTop)||0,scrollPaddingRight:parseFloat(t.scrollPaddingRight)||0,scrollPaddingBottom:parseFloat(t.scrollPaddingBottom)||0,scrollPaddingLeft:parseFloat(t.scrollPaddingLeft)||0}}function Gr(e){return o(19)?e:e?`true`:void 0}var Kr=G.forwardRef(function(e,t){let{cutout:n,...r}=e,i;if(n){let e=n?.getBoundingClientRect();i=`polygon( 0% 0%, 100% 0%, 100% 100%, @@ -9,4 +9,4 @@ import{a as e,n as t,r as n}from"./compiler-runtime.js";import{n as r,r as i}fro ${e.right}px ${e.bottom}px, ${e.right}px ${e.top}px, ${e.left}px ${e.top}px - )`}return(0,Q.jsx)(`div`,{ref:t,role:`presentation`,"data-base-ui-inert":``,...r,style:{position:`fixed`,inset:0,userSelect:`none`,WebkitUserSelect:`none`,clipPath:i}})}),Rr={},zr={},Br=``;function Vr(e){if(typeof document>`u`)return!1;let t=T(e);return y(t).innerWidth-t.documentElement.clientWidth>0}function Hr(e){if(!(typeof CSS<`u`&&CSS.supports&&CSS.supports(`scrollbar-gutter`,`stable`))||typeof document>`u`)return!1;let t=T(e),n=t.documentElement,r=t.body,i=w(n)?n:r,a=i.style.overflowY,o=n.style.scrollbarGutter;n.style.scrollbarGutter=`stable`,i.style.overflowY=`scroll`;let s=i.offsetWidth;i.style.overflowY=`hidden`;let c=i.offsetWidth;return i.style.overflowY=a,n.style.scrollbarGutter=o,s===c}function Ur(e){let t=T(e),n=t.documentElement,r=t.body,i=w(n)?n:r,a={overflowY:i.style.overflowY,overflowX:i.style.overflowX};return Object.assign(i.style,{overflowY:`hidden`,overflowX:`hidden`}),()=>{Object.assign(i.style,a)}}function Wr(e){let t=T(e),n=t.documentElement,r=t.body,i=y(n),a=0,o=0,s=!1,c=G.create();if(B&&(i.visualViewport?.scale??1)!==1)return()=>{};function l(){let t=i.getComputedStyle(n),c=i.getComputedStyle(r),l=(t.scrollbarGutter||``).includes(`both-edges`)?`stable both-edges`:`stable`;a=n.scrollTop,o=n.scrollLeft,Rr={scrollbarGutter:n.style.scrollbarGutter,overflowY:n.style.overflowY,overflowX:n.style.overflowX},Br=n.style.scrollBehavior,zr={position:r.style.position,height:r.style.height,width:r.style.width,boxSizing:r.style.boxSizing,overflowY:r.style.overflowY,overflowX:r.style.overflowX,scrollBehavior:r.style.scrollBehavior};let u=n.scrollHeight>n.clientHeight,d=n.scrollWidth>n.clientWidth,f=t.overflowY===`scroll`||c.overflowY===`scroll`,p=t.overflowX===`scroll`||c.overflowX===`scroll`,m=Math.max(0,i.innerWidth-r.clientWidth),h=Math.max(0,i.innerHeight-r.clientHeight),g=parseFloat(c.marginTop)+parseFloat(c.marginBottom),_=parseFloat(c.marginLeft)+parseFloat(c.marginRight),v=w(n)?n:r;if(s=Hr(e),s){n.style.scrollbarGutter=l,v.style.overflowY=`hidden`,v.style.overflowX=`hidden`;return}Object.assign(n.style,{scrollbarGutter:l,overflowY:`hidden`,overflowX:`hidden`}),(u||f)&&(n.style.overflowY=`scroll`),(d||p)&&(n.style.overflowX=`scroll`),Object.assign(r.style,{position:`relative`,height:g||h?`calc(100dvh - ${g+h}px)`:`100dvh`,width:_||m?`calc(100vw - ${_+m}px)`:`100vw`,boxSizing:`border-box`,overflow:`hidden`,scrollBehavior:`unset`}),r.scrollTop=a,r.scrollLeft=o,n.setAttribute(`data-base-ui-scroll-locked`,``),n.style.scrollBehavior=`unset`}function u(){Object.assign(n.style,Rr),Object.assign(r.style,zr),s||(n.scrollTop=a,n.scrollLeft=o,n.removeAttribute(`data-base-ui-scroll-locked`),n.style.scrollBehavior=Br)}function d(){u(),c.request(l)}return l(),i.addEventListener(`resize`,d),()=>{c.cancel(),u(),typeof i.removeEventListener==`function`&&i.removeEventListener(`resize`,d)}}var Gr=new class{lockCount=0;restore=null;timeoutLock=J.create();timeoutUnlock=J.create();acquire(e){return this.lockCount+=1,this.lockCount===1&&this.restore===null&&this.timeoutLock.start(0,()=>this.lock(e)),this.release}release=()=>{--this.lockCount,this.lockCount===0&&this.restore&&this.timeoutUnlock.start(0,this.unlock)};unlock=()=>{this.lockCount===0&&this.restore&&(this.restore?.(),this.restore=null)};lock(e){if(this.lockCount===0||this.restore!==null)return;let t=T(e).documentElement,n=y(t).getComputedStyle(t).overflowY;if(n===`hidden`||n===`clip`){this.restore=p;return}this.restore=D||!Vr(e)?Ur(e):Wr(e)}};function Kr(e=!0,t=null){b(()=>{if(e)return Gr.acquire(t)},[e,t])}function qr(e){let t=K.useRef(``),n=K.useCallback(n=>{n.defaultPrevented||(t.current=n.pointerType,e(n,n.pointerType))},[e]);return{onClick:K.useCallback(n=>{if(n.detail===0){e(n,`keyboard`);return}`pointerType`in n?e(n,n.pointerType):e(n,t.current),t.current=``},[e]),onPointerDown:n}}function Jr(e,t){let n=K.useRef(e),r=x(t);b(()=>{n.current!==e&&r(n.current)},[e,r]),b(()=>{n.current=e},[e])}function Yr(e){let[t,n]=K.useState(null),r=x((t,r)=>{e||n(r||(D?`touch`:``))});Jr(e,t=>{t&&!e&&n(null)});let{onClick:i,onPointerDown:a}=qr(r);return K.useMemo(()=>({openMethod:t,triggerProps:{onClick:i,onPointerDown:a}}),[t,i,a])}export{Re as $,Ut as A,Ue as B,Zt as C,Ft as D,Gt as E,Ye as F,X as G,xe as H,Ke as I,ke as J,we as K,Ge as L,qe as M,Z as N,It as O,Je as P,Le as Q,We as R,$t as S,Yt as T,ye as U,Xe as V,Se as W,Ae as X,Ee as Y,Te as Z,Pn as _,Ir as a,Ve as at,vn as b,Cr as c,he as ct,yr as d,pe as dt,Be as et,hr as f,ue as ft,Rn as g,or as h,se as ht,Lr as i,_e as it,Ht as j,Wt as k,Sr as l,me as lt,fr as m,J as mt,Jr as n,De as nt,Fr as o,ve as ot,dr as p,ce as pt,Oe as q,Kr as r,Y as rt,wr as s,ge as st,Yr as t,Ce as tt,br as u,fe as ut,wn as v,Jt as w,_n as x,Tn as y,Ze as z}; \ No newline at end of file + )`}return(0,Q.jsx)(`div`,{ref:t,role:`presentation`,"data-base-ui-inert":``,...r,style:{position:`fixed`,inset:0,userSelect:`none`,WebkitUserSelect:`none`,clipPath:i}})}),qr={},Jr={},Yr=``;function Xr(e){if(typeof document>`u`)return!1;let t=E(e);return _(t).innerWidth-t.documentElement.clientWidth>0}function Zr(e){if(!(typeof CSS<`u`&&CSS.supports&&CSS.supports(`scrollbar-gutter`,`stable`))||typeof document>`u`)return!1;let t=E(e),n=t.documentElement,r=t.body,i=m(n)?n:r,a=i.style.overflowY,o=n.style.scrollbarGutter;n.style.scrollbarGutter=`stable`,i.style.overflowY=`scroll`;let s=i.offsetWidth;i.style.overflowY=`hidden`;let c=i.offsetWidth;return i.style.overflowY=a,n.style.scrollbarGutter=o,s===c}function Qr(e){let t=E(e),n=t.documentElement,r=t.body,i=m(n)?n:r,a={overflowY:i.style.overflowY,overflowX:i.style.overflowX};return Object.assign(i.style,{overflowY:`hidden`,overflowX:`hidden`}),()=>{Object.assign(i.style,a)}}function $r(e){let t=E(e),n=t.documentElement,r=t.body,i=_(n),a=0,o=0,s=!1,c=W.create();if(z&&(i.visualViewport?.scale??1)!==1)return()=>{};function l(){let t=i.getComputedStyle(n),c=i.getComputedStyle(r),l=(t.scrollbarGutter||``).includes(`both-edges`)?`stable both-edges`:`stable`;a=n.scrollTop,o=n.scrollLeft,qr={scrollbarGutter:n.style.scrollbarGutter,overflowY:n.style.overflowY,overflowX:n.style.overflowX},Yr=n.style.scrollBehavior,Jr={position:r.style.position,height:r.style.height,width:r.style.width,boxSizing:r.style.boxSizing,overflowY:r.style.overflowY,overflowX:r.style.overflowX,scrollBehavior:r.style.scrollBehavior};let u=n.scrollHeight>n.clientHeight,d=n.scrollWidth>n.clientWidth,f=t.overflowY===`scroll`||c.overflowY===`scroll`,p=t.overflowX===`scroll`||c.overflowX===`scroll`,h=Math.max(0,i.innerWidth-r.clientWidth),g=Math.max(0,i.innerHeight-r.clientHeight),_=parseFloat(c.marginTop)+parseFloat(c.marginBottom),v=parseFloat(c.marginLeft)+parseFloat(c.marginRight),y=m(n)?n:r;if(s=Zr(e),s){n.style.scrollbarGutter=l,y.style.overflowY=`hidden`,y.style.overflowX=`hidden`;return}Object.assign(n.style,{scrollbarGutter:l,overflowY:`hidden`,overflowX:`hidden`}),(u||f)&&(n.style.overflowY=`scroll`),(d||p)&&(n.style.overflowX=`scroll`),Object.assign(r.style,{position:`relative`,height:_||g?`calc(100dvh - ${_+g}px)`:`100dvh`,width:v||h?`calc(100vw - ${v+h}px)`:`100vw`,boxSizing:`border-box`,overflow:`hidden`,scrollBehavior:`unset`}),r.scrollTop=a,r.scrollLeft=o,n.setAttribute(`data-base-ui-scroll-locked`,``),n.style.scrollBehavior=`unset`}function u(){Object.assign(n.style,qr),Object.assign(r.style,Jr),s||(n.scrollTop=a,n.scrollLeft=o,n.removeAttribute(`data-base-ui-scroll-locked`),n.style.scrollBehavior=Yr)}function d(){u(),c.request(l)}return l(),i.addEventListener(`resize`,d),()=>{c.cancel(),u(),typeof i.removeEventListener==`function`&&i.removeEventListener(`resize`,d)}}var ei=new class{lockCount=0;restore=null;timeoutLock=q.create();timeoutUnlock=q.create();acquire(e){return this.lockCount+=1,this.lockCount===1&&this.restore===null&&this.timeoutLock.start(0,()=>this.lock(e)),this.release}release=()=>{--this.lockCount,this.lockCount===0&&this.restore&&this.timeoutUnlock.start(0,this.unlock)};unlock=()=>{this.lockCount===0&&this.restore&&(this.restore?.(),this.restore=null)};lock(e){if(this.lockCount===0||this.restore!==null)return;let t=E(e).documentElement,n=_(t).getComputedStyle(t).overflowY;if(n===`hidden`||n===`clip`){this.restore=p;return}this.restore=D||!Xr(e)?Qr(e):$r(e)}};function ti(e=!0,t=null){S(()=>{if(e)return ei.acquire(t)},[e,t])}function ni(e){let t=G.useRef(``),n=G.useCallback(n=>{n.defaultPrevented||(t.current=n.pointerType,e(n,n.pointerType))},[e]);return{onClick:G.useCallback(n=>{if(n.detail===0){e(n,`keyboard`);return}`pointerType`in n?e(n,n.pointerType):e(n,t.current),t.current=``},[e]),onPointerDown:n}}function ri(e,t){let n=G.useRef(e),r=y(t);S(()=>{n.current!==e&&r(n.current)},[e,r]),S(()=>{n.current=e},[e])}function ii(e){let[t,n]=G.useState(null),r=y((t,r)=>{e||n(r||(D?`touch`:``))});ri(e,t=>{t&&!e&&n(null)});let{onClick:i,onPointerDown:a}=ni(r);return G.useMemo(()=>({openMethod:t,triggerProps:{onClick:i,onPointerDown:a}}),[t,i,a])}export{Ze as $,Rn as A,Gt as B,Sr as C,me as Ct,dr as D,J as Dt,hr as E,ue as Et,_n as F,Ht as G,It as H,$t as I,Je as J,qe as K,Zt as L,wn as M,Tn as N,fr as O,q as Ot,vn as P,We as Q,Jt as R,Cr as S,he as St,yr as T,pe as Tt,Wt as U,Ft as V,Ut as W,Ke as X,Ye as Y,Ge as Z,Pr as _,Y as _t,Gr as a,X as at,Hr as b,ve as bt,Ir as c,ke as ct,Dr as d,Te as dt,Ue as et,Rr as f,Le as ft,zr as g,De as gt,Nr as h,Ce as ht,Kr as i,Se as it,Pn as j,or as k,ce as kt,kr as l,Ee as lt,Mr as m,Be as mt,ri as n,xe as nt,Lr as o,we as ot,jr as p,Re as pt,Z as q,ti as r,ye as rt,Or as s,Oe as st,ii as t,Xe as tt,Ar as u,Ae as ut,Fr as v,_e as vt,br as w,fe as wt,wr as x,ge as xt,Vr as y,Ve as yt,Yt as z}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/useQuery.js b/spinifex/services/spinifexui/frontend/dist/assets/useQuery.js new file mode 100644 index 000000000..a6e231ce5 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/useQuery.js @@ -0,0 +1 @@ +import{r as e,t}from"./useBaseQuery.js";function n(n,r){return t(n,e,r)}export{n as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/useTransitionStatus.js b/spinifex/services/spinifexui/frontend/dist/assets/useTransitionStatus.js index de520e5b5..4cb204724 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/useTransitionStatus.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/useTransitionStatus.js @@ -1 +1 @@ -import{a as e,r as t}from"./compiler-runtime.js";import{Xt as n}from"./awsClient.js";import{p as r}from"./dist.js";import{i,o as a}from"./button.js";var o=e(n()),s=e(t()),c=[];function l(e){s.useEffect(e,c)}var u=null;globalThis.requestAnimationFrame;var d=new class{callbacks=[];callbacksCount=0;nextId=1;startId=1;isScheduled=!1;tick=e=>{this.isScheduled=!1;let t=this.callbacks,n=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,n>0)for(let n=0;n=this.callbacks.length||(this.callbacks[t]=null,--this.callbacksCount)}},f=class e{static create(){return new e}static request(e){return d.request(e)}static cancel(e){return d.cancel(e)}currentId=u;request(e){this.cancel(),this.currentId=d.request(()=>{this.currentId=u,e()})}cancel=()=>{this.currentId!==u&&(d.cancel(this.currentId),this.currentId=u)};disposeEffect=()=>this.cancel};function p(){let e=r(f.create).current;return l(e.disposeEffect),e}function m(e){return e==null?e:`current`in e?e.current:e}var h=function(e){return e.startingStyle=`data-starting-style`,e.endingStyle=`data-ending-style`,e}({}),g={[h.startingStyle]:``},_={[h.endingStyle]:``},v={transitionStatus(e){return e===`starting`?g:e===`ending`?_:null}};function y(e,t=!1,n=!0){let r=p();return a((i,a=null)=>{r.cancel();function s(){o.flushSync(i)}let c=m(e);if(c==null)return;let l=c;if(typeof l.getAnimations!=`function`||globalThis.BASE_UI_ANIMATIONS_DISABLED)i();else{function e(){let e=h.startingStyle;if(!l.hasAttribute(e)){r.request(i);return}let t=new MutationObserver(()=>{l.hasAttribute(e)||(t.disconnect(),i())});t.observe(l,{attributes:!0,attributeFilter:[e]}),a?.addEventListener(`abort`,()=>t.disconnect(),{once:!0})}function i(){Promise.all(l.getAnimations().map(e=>e.finished)).then(()=>{a?.aborted||s()}).catch(()=>{let e=l.getAnimations();if(n){if(a?.aborted)return;s()}else e.length>0&&e.some(e=>e.pending||e.playState!==`finished`)&&i()})}if(t){e();return}r.request(i)}})}function b(e){let{enabled:t=!0,open:n,ref:r,onComplete:i}=e,o=a(i),c=y(r,n,!1);s.useEffect(()=>{if(!t)return;let e=new AbortController;return c(o,e.signal),()=>{e.abort()}},[t,n,o,c])}function x(e,t=!1,n=!1){let[r,a]=s.useState(e&&t?`idle`:void 0),[o,c]=s.useState(e);return e&&!o&&(c(!0),a(`starting`)),!e&&o&&r!==`ending`&&!n&&a(`ending`),!e&&!o&&r===`ending`&&a(void 0),i(()=>{if(!e&&o&&r!==`ending`&&n){let e=f.request(()=>{a(`ending`)});return()=>{f.cancel(e)}}},[e,o,r,n]),i(()=>{if(!e||t)return;let n=f.request(()=>{a(void 0)});return()=>{f.cancel(n)}},[t,e]),i(()=>{if(!e||!t)return;e&&o&&r!==`idle`&&a(`starting`);let n=f.request(()=>{a(`idle`)});return()=>{f.cancel(n)}},[t,e,o,a,r]),s.useMemo(()=>({mounted:o,setMounted:c,transitionStatus:r}),[o,r])}export{v as a,p as c,h as i,l,b as n,m as o,y as r,f as s,x as t}; \ No newline at end of file +import{a as e,r as t}from"./compiler-runtime.js";import{hn as n}from"./awsClient.js";import{p as r}from"./dist.js";import{c as i,o as a}from"./button.js";var o=e(n()),s=e(t()),c=[];function l(e){s.useEffect(e,c)}var u=null;globalThis.requestAnimationFrame;var d=new class{callbacks=[];callbacksCount=0;nextId=1;startId=1;isScheduled=!1;tick=e=>{this.isScheduled=!1;let t=this.callbacks,n=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,n>0)for(let n=0;n=this.callbacks.length||(this.callbacks[t]=null,--this.callbacksCount)}},f=class e{static create(){return new e}static request(e){return d.request(e)}static cancel(e){return d.cancel(e)}currentId=u;request(e){this.cancel(),this.currentId=d.request(()=>{this.currentId=u,e()})}cancel=()=>{this.currentId!==u&&(d.cancel(this.currentId),this.currentId=u)};disposeEffect=()=>this.cancel};function p(){let e=r(f.create).current;return l(e.disposeEffect),e}function m(e){return e==null?e:`current`in e?e.current:e}var h=function(e){return e.startingStyle=`data-starting-style`,e.endingStyle=`data-ending-style`,e}({}),g={[h.startingStyle]:``},_={[h.endingStyle]:``},v={transitionStatus(e){return e===`starting`?g:e===`ending`?_:null}};function y(e,t=!1,n=!0){let r=p();return i((i,a=null)=>{r.cancel();function s(){o.flushSync(i)}let c=m(e);if(c==null)return;let l=c;if(typeof l.getAnimations!=`function`||globalThis.BASE_UI_ANIMATIONS_DISABLED)i();else{function e(){let e=h.startingStyle;if(!l.hasAttribute(e)){r.request(i);return}let t=new MutationObserver(()=>{l.hasAttribute(e)||(t.disconnect(),i())});t.observe(l,{attributes:!0,attributeFilter:[e]}),a?.addEventListener(`abort`,()=>t.disconnect(),{once:!0})}function i(){Promise.all(l.getAnimations().map(e=>e.finished)).then(()=>{a?.aborted||s()}).catch(()=>{let e=l.getAnimations();if(n){if(a?.aborted)return;s()}else e.length>0&&e.some(e=>e.pending||e.playState!==`finished`)&&i()})}if(t){e();return}r.request(i)}})}function b(e){let{enabled:t=!0,open:n,ref:r,onComplete:a}=e,o=i(a),c=y(r,n,!1);s.useEffect(()=>{if(!t)return;let e=new AbortController;return c(o,e.signal),()=>{e.abort()}},[t,n,o,c])}function x(e,t=!1,n=!1){let[r,i]=s.useState(e&&t?`idle`:void 0),[o,c]=s.useState(e);return e&&!o&&(c(!0),i(`starting`)),!e&&o&&r!==`ending`&&!n&&i(`ending`),!e&&!o&&r===`ending`&&i(void 0),a(()=>{if(!e&&o&&r!==`ending`&&n){let e=f.request(()=>{i(`ending`)});return()=>{f.cancel(e)}}},[e,o,r,n]),a(()=>{if(!e||t)return;let n=f.request(()=>{i(void 0)});return()=>{f.cancel(n)}},[t,e]),a(()=>{if(!e||!t)return;e&&o&&r!==`idle`&&i(`starting`);let n=f.request(()=>{i(`idle`)});return()=>{f.cancel(n)}},[t,e,o,i,r]),s.useMemo(()=>({mounted:o,setMounted:c,transitionStatus:r}),[o,r])}export{v as a,p as c,h as i,l,b as n,m as o,y as r,f as s,x as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/zod.js b/spinifex/services/spinifexui/frontend/dist/assets/zod.js index 34d9f5a62..dde7a2bd6 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/zod.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/zod.js @@ -1 +1 @@ -import{a as e,r as t}from"./compiler-runtime.js";import{M as n,N as r,j as i}from"./SignatureV4.js";var a=e(t(),1),o=e=>e.type===`checkbox`,s=e=>e instanceof Date,c=e=>e==null,l=e=>typeof e==`object`,u=e=>!c(e)&&!Array.isArray(e)&&l(e)&&!s(e),d=e=>u(e)&&e.target?o(e.target)?e.target.checked:e.target.value:e,f=(e,t)=>t.split(`.`).some((t,n,r)=>!isNaN(Number(t))&&e.has(r.slice(0,n).join(`.`))),p=e=>{let t=e.constructor&&e.constructor.prototype;return u(t)&&t.hasOwnProperty(`isPrototypeOf`)},m=typeof window<`u`&&window.HTMLElement!==void 0&&typeof document<`u`;function h(e){if(e instanceof Date)return new Date(e);let t=typeof FileList<`u`&&e instanceof FileList;if(m&&(e instanceof Blob||t))return e;let n=Array.isArray(e);if(!n&&!(u(e)&&p(e)))return e;let r=n?[]:Object.create(Object.getPrototypeOf(e));for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=h(e[t]));return r}var g=e=>/^\w*$/.test(e),_=e=>e===void 0,v=e=>Array.isArray(e)?e.filter(Boolean):[],y=e=>v(e.replace(/["|']|\]/g,``).split(/\.|\[/)),b=(e,t,n)=>{if(!t||!u(e))return n;let r=(g(t)?[t]:y(t)).reduce((e,t)=>c(e)?e:e[t],e);return _(r)||r===e?_(e[t])?n:e[t]:r},x=e=>typeof e==`boolean`,S=e=>typeof e==`function`,C=(e,t,n)=>{let r=-1,i=g(t)?[t]:y(t),a=i.length,o=a-1;for(;++ra.useContext(k),j=(e,t,n,r=!0)=>{let i={defaultValues:t._defaultValues};for(let a in e)Object.defineProperty(i,a,{get:()=>{let i=a;return t._proxyFormState[i]!==T.all&&(t._proxyFormState[i]=!r||T.all),n&&(n[i]=!0),e[i]}});return i},M=typeof window<`u`?a.useLayoutEffect:a.useEffect;function N(e){let t=A(),{control:n=t,disabled:r,name:i,exact:o}=e||{},[s,c]=a.useState(n._formState),l=a.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return M(()=>n._subscribe({name:i,formState:l.current,exact:o,callback:e=>{!r&&c({...n._formState,...e})}}),[i,r,o]),a.useEffect(()=>{l.current.isValid&&n._setValid(!0)},[n]),a.useMemo(()=>j(s,n,l.current,!1),[s,n])}var P=e=>typeof e==`string`,F=(e,t,n,r,i)=>P(e)?(r&&t.watch.add(e),b(n,e,i)):Array.isArray(e)?e.map(e=>(r&&t.watch.add(e),b(n,e))):(r&&(t.watchAll=!0),n),I=e=>c(e)||!l(e);function L(e,t,n=new WeakSet){if(I(e)||I(t))return Object.is(e,t);if(s(e)&&s(t))return Object.is(e.getTime(),t.getTime());let r=Object.keys(e),i=Object.keys(t);if(r.length!==i.length)return!1;if(n.has(e)||n.has(t))return!0;n.add(e),n.add(t);for(let a of r){let r=e[a];if(!i.includes(a))return!1;if(a!==`ref`){let e=t[a];if(s(r)&&s(e)||(u(r)||Array.isArray(r))&&(u(e)||Array.isArray(e))?!L(r,e,n):!Object.is(r,e))return!1}}return!0}function R(e){let t=A(),{control:n=t,name:r,defaultValue:i,disabled:o,exact:s,compute:c}=e||{},l=a.useRef(i),u=a.useRef(c),d=a.useRef(void 0),f=a.useRef(n),p=a.useRef(r);u.current=c;let[m,h]=a.useState(()=>{let e=n._getWatch(r,l.current);return u.current?u.current(e):e}),g=a.useCallback(e=>{let t=F(r,n._names,e||n._formValues,!1,l.current);return u.current?u.current(t):t},[n._formValues,n._names,r]),_=a.useCallback(e=>{if(!o){let t=F(r,n._names,e||n._formValues,!1,l.current);if(u.current){let e=u.current(t);L(e,d.current)||(h(e),d.current=e)}else h(t)}},[n._formValues,n._names,o,r]);M(()=>((f.current!==n||!L(p.current,r))&&(f.current=n,p.current=r,_()),n._subscribe({name:r,formState:{values:!0},exact:s,callback:e=>{_(e.values)}})),[n,s,r,_]),a.useEffect(()=>n._removeUnmounted());let v=f.current!==n,y=p.current,b=a.useMemo(()=>{if(o)return null;let e=!v&&!L(y,r);return v||e?g():null},[o,v,r,y,g]);return b===null?m:b}function z(e){let t=A(),{name:n,disabled:r,control:i=t,shouldUnregister:o,defaultValue:s,exact:c=!0}=e,l=f(i._names.array,n),u=R({control:i,name:n,defaultValue:a.useMemo(()=>b(i._formValues,n,b(i._defaultValues,n,s)),[i,n,s]),exact:c}),p=N({control:i,name:n,exact:c}),m=a.useRef(e),g=a.useRef(void 0),v=a.useRef(i.register(n,{...e.rules,value:u,...x(e.disabled)?{disabled:e.disabled}:{}}));m.current=e;let y=a.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!b(p.errors,n)},isDirty:{enumerable:!0,get:()=>!!b(p.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!b(p.touchedFields,n)},isValidating:{enumerable:!0,get:()=>!!b(p.validatingFields,n)},error:{enumerable:!0,get:()=>b(p.errors,n)}}),[p,n]),T=a.useCallback(e=>v.current.onChange({target:{value:d(e),name:n},type:w.CHANGE}),[n]),E=a.useCallback(()=>v.current.onBlur({target:{value:b(i._formValues,n),name:n},type:w.BLUR}),[n,i._formValues]),D=a.useCallback(e=>{let t=b(i._fields,n);t&&t._f&&e&&(t._f.ref={focus:()=>S(e.focus)&&e.focus(),select:()=>S(e.select)&&e.select(),setCustomValidity:t=>S(e.setCustomValidity)&&e.setCustomValidity(t),reportValidity:()=>S(e.reportValidity)&&e.reportValidity()})},[i._fields,n]),O=a.useMemo(()=>({name:n,value:u,...x(r)||p.disabled?{disabled:p.disabled||r}:{},onChange:T,onBlur:E,ref:D}),[n,r,p.disabled,T,E,D,u]);return a.useEffect(()=>{let e=i._options.shouldUnregister||o,t=g.current;t&&t!==n&&!l&&i.unregister(t),i.register(n,{...m.current.rules,...x(m.current.disabled)?{disabled:m.current.disabled}:{}});let r=(e,t)=>{let n=b(i._fields,e);n&&n._f&&(n._f.mount=t)};if(r(n,!0),e){let e=h(b(i._options.defaultValues,n,m.current.defaultValue));C(i._defaultValues,n,e),_(b(i._formValues,n))&&C(i._formValues,n,e)}return!l&&i.register(n),g.current=n,()=>{(l?e&&!i._state.action:e)?i.unregister(n):r(n,!1)}},[n,i,l,o]),a.useEffect(()=>{i._setDisabledField({disabled:r,name:n})},[r,n,i]),a.useMemo(()=>({field:O,formState:p,fieldState:y}),[O,p,y])}var ee=e=>e.render(z(e)),te=a.createContext(null);te.displayName=`HookFormContext`;var ne=(e,t,n,r,i)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[r]:i||!0}}:{},B=e=>Array.isArray(e)?e:[e],re=()=>{let e=[];return{get observers(){return e},next:t=>{for(let n of e)n.next&&n.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter(e=>e!==t)}}),unsubscribe:()=>{e=[]}}};function ie(e,t){let n={};for(let r in e)if(e.hasOwnProperty(r)){let i=e[r],a=t[r];if(i&&u(i)&&a){let e=ie(i,a);u(e)&&(n[r]=e)}else e[r]&&(n[r]=a)}return n}var V=e=>u(e)&&!Object.keys(e).length,ae=e=>e.type===`file`,oe=e=>{if(!m)return!1;let t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},se=e=>e.type===`select-multiple`,ce=e=>e.type===`radio`,le=e=>ce(e)||o(e),ue=e=>oe(e)&&e.isConnected;function de(e,t){let n=t.slice(0,-1).length,r=0;for(;r{for(let t in e)if(S(e[t]))return!0;return!1};function U(e){return Array.isArray(e)||u(e)&&!pe(e)}function me(e,t={}){for(let n in e){let r=e[n];U(r)?(t[n]=Array.isArray(r)?[]:{},me(r,t[n])):_(r)||(t[n]=!0)}return t}function W(e,t,n){n||=me(t);for(let r in e){let i=e[r];if(U(i))_(t)||I(n[r])?n[r]=me(i,Array.isArray(i)?[]:{}):W(i,c(t)?{}:t[r],n[r]);else{let e=t[r];n[r]=!L(i,e)}}return n}var he={value:!1,isValid:!1},G={value:!0,isValid:!0},ge=e=>{if(Array.isArray(e)){if(e.length>1){let t=e.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!_(e[0].attributes.value)?_(e[0].value)||e[0].value===``?G:{value:e[0].value,isValid:!0}:G:he}return he},_e=(e,{valueAsNumber:t,valueAsDate:n,setValueAs:r})=>_(e)?e:t?e===``?NaN:e&&+e:n&&P(e)?new Date(e):r?r(e):e,K={isValid:!1,value:null},q=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,K):K;function ve(e){let t=e.ref;return ae(t)?t.files:ce(t)?q(e.refs).value:se(t)?[...t.selectedOptions].map(({value:e})=>e):o(t)?ge(e.refs).value:_e(_(t.value)?e.ref.value:t.value,e)}var ye=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,be=(e,t,n,r)=>{let i={};for(let n of e){let e=b(t,n);e&&C(i,n,e._f)}return{criteriaMode:n,names:[...e],fields:i,shouldUseNativeValidation:r}},J=e=>e instanceof RegExp,Y=e=>_(e)?e:J(e)?e.source:u(e)?J(e.value)?e.value.source:e.value:e,xe=e=>({isOnSubmit:!e||e===T.onSubmit,isOnBlur:e===T.onBlur,isOnChange:e===T.onChange,isOnAll:e===T.all,isOnTouch:e===T.onTouched}),X=`AsyncFunction`,Se=e=>!!e&&!!e.validate&&!!(S(e.validate)&&e.validate.constructor.name===X||u(e.validate)&&Object.values(e.validate).find(e=>e.constructor.name===X)),Ce=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),we=(e,t,n)=>!n&&(t.watchAll||t.watch.has(e)||[...t.watch].some(t=>e.startsWith(t)&&/^\.\w+/.test(e.slice(t.length)))),Z=(e,t,n,r)=>{for(let i of n||Object.keys(e)){let n=b(e,i);if(n){let{_f:e,...a}=n;if(e){if(e.refs&&e.refs[0]&&t(e.refs[0],i)&&!r||e.ref&&t(e.ref,e.name)&&!r)return!0;if(Z(a,t))break}else if(u(a)&&Z(a,t))break}}};function Te(e,t,n){let r=b(e,n);if(r||g(n))return{error:r,name:n};let i=n.split(`.`);for(;i.length;){let r=i.join(`.`),a=b(t,r),o=b(e,r);if(a&&!Array.isArray(a)&&n!==r)return{name:n};if(o&&o.type)return{name:r,error:o};if(o&&o.root&&o.root.type)return{name:`${r}.root`,error:o.root};i.pop()}return{name:n}}var Ee=(e,t,n,r)=>{n(e);let{name:i,...a}=e;return V(a)||Object.keys(a).length>=Object.keys(t).length||Object.keys(a).find(e=>t[e]===(!r||T.all))},De=(e,t,n)=>!e||!t||e===t||B(e).some(e=>e&&(n?e===t:e.startsWith(t)||t.startsWith(e))),Oe=(e,t,n,r,i)=>i.isOnAll?!1:!n&&i.isOnTouch?!(t||e):(n?r.isOnBlur:i.isOnBlur)?!e:(n?r.isOnChange:i.isOnChange)?e:!0,ke=(e,t)=>!v(b(e,t)).length&&H(e,t),Ae=(e,t,n)=>{let r=B(b(e,n));return C(r,O,t[n]),C(e,n,r),e};function je(e,t,n=`validate`){if(P(e)||Array.isArray(e)&&e.every(P)||x(e)&&!e)return{type:n,message:P(e)?e:``,ref:t}}var Q=e=>u(e)&&!J(e)?e:{value:e,message:``},Me=async(e,t,n,r,i,a)=>{let{ref:s,refs:l,required:d,maxLength:f,minLength:p,min:m,max:h,pattern:g,validate:v,name:y,valueAsNumber:C,mount:w}=e._f,T=b(n,y);if(!w||t.has(y))return{};let D=l?l[0]:s,O=e=>{i&&D.reportValidity&&(D.setCustomValidity(x(e)?``:e||``),D.reportValidity())},k={},A=ce(s),j=o(s),M=A||j,N=(C||ae(s))&&_(s.value)&&_(T)||oe(s)&&s.value===``||T===``||Array.isArray(T)&&!T.length,F=ne.bind(null,y,r,k),I=(e,t,n,r=E.maxLength,i=E.minLength)=>{let a=e?t:n;k[y]={type:e?r:i,message:a,ref:s,...F(e?r:i,a)}};if(a?!Array.isArray(T)||!T.length:d&&(!M&&(N||c(T))||x(T)&&!T||j&&!ge(l).isValid||A&&!q(l).isValid)){let{value:e,message:t}=P(d)?{value:!!d,message:d}:Q(d);if(e&&(k[y]={type:E.required,message:t,ref:D,...F(E.required,t)},!r))return O(t),k}if(!N&&(!c(m)||!c(h))){let e,t,n=Q(h),i=Q(m);if(!c(T)&&!isNaN(T)){let r=s.valueAsNumber||T&&+T;c(n.value)||(e=r>n.value),c(i.value)||(t=rnew Date(new Date().toDateString()+` `+e),o=s.type==`time`,c=s.type==`week`;P(n.value)&&T&&(e=o?a(T)>a(n.value):c?T>n.value:r>new Date(n.value)),P(i.value)&&T&&(t=o?a(T)+e.value,i=!c(t.value)&&T.length<+t.value;if((n||i)&&(I(n,e.message,t.message),!r))return O(k[y].message),k}if(g&&!N&&P(T)){let{value:e,message:t}=Q(g);if(J(e)&&!T.match(e)&&(k[y]={type:E.pattern,message:t,ref:s,...F(E.pattern,t)},!r))return O(t),k}if(v){if(S(v)){let e=je(await v(T,n),D);if(e&&(k[y]={...e,...F(E.validate,e.message)},!r))return O(e.message),k}else if(u(v)){let e={};for(let t in v){if(!V(e)&&!r)break;let i=je(await v[t](T,n),D,t);i&&(e={...i,...F(t,i.message)},O(i.message),r&&(k[y]=e))}if(!V(e)&&(k[y]={ref:D,...e},!r))return k}}return O(!0),k},Ne={mode:T.onSubmit,reValidateMode:T.onChange,shouldFocusError:!0};function Pe(e={}){let t={...Ne,...e},n={submitCount:0,isDirty:!1,isReady:!1,isLoading:S(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},r={},i=(u(t.defaultValues)||u(t.values))&&h(t.defaultValues||t.values)||{},a=t.shouldUnregister?{}:h(i),l={action:!1,mount:!1,watch:!1,keepIsValid:!1},p={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},g,y=0,k={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},A={...k},j={...A},M={array:re(),state:re()},N=t.criteriaMode===T.all,I=e=>t=>{clearTimeout(y),y=setTimeout(e,t)},R=async e=>{if(!l.keepIsValid&&!t.disabled&&(A.isValid||j.isValid||e)){let e;t.resolver?(e=V((await U()).errors),z()):e=await G({fields:r,onlyCheckValid:!0,eventType:w.VALID}),e!==n.isValid&&M.state.next({isValid:e})}},z=(e,r)=>{!t.disabled&&(A.isValidating||A.validatingFields||j.isValidating||j.validatingFields)&&((e||Array.from(p.mount)).forEach(e=>{e&&(r?C(n.validatingFields,e,r):H(n.validatingFields,e))}),M.state.next({validatingFields:n.validatingFields,isValidating:!V(n.validatingFields)}))},ee=e=>{let t=W(i,a),r=ye(e);C(n.dirtyFields,r,b(t,r))},te=(e,i=[],o,s,c=!0,u=!0)=>{if(s&&o&&!t.disabled){if(l.action=!0,u&&Array.isArray(b(r,e))){let t=o(b(r,e),s.argA,s.argB);c&&C(r,e,t)}if(u&&Array.isArray(b(n.errors,e))){let t=o(b(n.errors,e),s.argA,s.argB);c&&C(n.errors,e,t),ke(n.errors,e)}if((A.touchedFields||j.touchedFields)&&u&&Array.isArray(b(n.touchedFields,e))){let t=o(b(n.touchedFields,e),s.argA,s.argB);c&&C(n.touchedFields,e,t)}(A.dirtyFields||j.dirtyFields)&&ee(e),M.state.next({name:e,isDirty:K(e,i),dirtyFields:n.dirtyFields,errors:n.errors,isValid:n.isValid})}else C(a,e,i)},ne=(e,t)=>{C(n.errors,e,t),M.state.next({errors:n.errors})},ce=e=>{n.errors=e,M.state.next({errors:n.errors,isValid:!1})},de=(e,t,n,o)=>{let s=b(r,e);if(s){let r=b(a,e,_(n)?b(i,e):n);_(r)||o&&o.defaultChecked||t?C(a,e,t?r:ve(s._f)):X(e,r),l.mount&&!l.action&&R()}},fe=(e,r,a,o,s)=>{let c=!1,l=!1,u={name:e};if(!t.disabled){if(!a||o){(A.isDirty||j.isDirty)&&(l=n.isDirty,n.isDirty=u.isDirty=K(),c=l!==u.isDirty);let t=L(b(i,e),r);l=!!b(n.dirtyFields,e),t?H(n.dirtyFields,e):C(n.dirtyFields,e,!0),u.dirtyFields=n.dirtyFields,c||=(A.dirtyFields||j.dirtyFields)&&l!==!t}if(a){let t=b(n.touchedFields,e);t||(C(n.touchedFields,e,a),u.touchedFields=n.touchedFields,c||=(A.touchedFields||j.touchedFields)&&t!==a)}c&&s&&M.state.next(u)}return c?u:{}},pe=(e,r,i,a)=>{let o=b(n.errors,e),s=(A.isValid||j.isValid)&&x(r)&&n.isValid!==r;if(t.delayError&&i?(g=I(()=>ne(e,i)),g(t.delayError)):(clearTimeout(y),g=null,i?C(n.errors,e,i):H(n.errors,e)),(i?!L(o,i):o)||!V(a)||s){let t={...a,...s&&x(r)?{isValid:r}:{},errors:n.errors,name:e};n={...n,...t},M.state.next(t)}},U=async e=>(z(e,!0),await t.resolver(a,t.context,be(e||p.mount,r,t.criteriaMode,t.shouldUseNativeValidation))),me=async e=>{let{errors:t}=await U(e);if(z(e),e)for(let r of e){let e=b(t,r);e?C(n.errors,r,e):H(n.errors,r)}else n.errors=t;return t},he=async({name:t,eventType:r})=>{if(e.validate){let i=await e.validate({formValues:a,formState:n,name:t,eventType:r});if(u(i))for(let e in i)i[e]&&$(`${D}.${e}`,{message:P(i.message)?i.message:``,type:E.validate});else P(i)||!i?$(D,{message:i||``,type:E.validate}):ze(D);return i}return!0},G=async({fields:r,onlyCheckValid:i,name:o,eventType:s,context:c={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(c.runRootValidation=!0,!await he({name:o,eventType:s})&&(c.valid=!1,i)))return c.valid;for(let o in r){let l=r[o];if(l){let{_f:r,...u}=l;if(r){let o=p.array.has(r.name),s=l._f&&Se(l._f);s&&A.validatingFields&&z([r.name],!0);let u=await Me(l,p.disabled,a,N,t.shouldUseNativeValidation&&!i,o);if(s&&A.validatingFields&&z([r.name]),u[r.name]&&(c.valid=!1,i)||(!i&&(b(u,r.name)?o?Ae(n.errors,u,r.name):C(n.errors,r.name,u[r.name]):H(n.errors,r.name)),e.shouldUseNativeValidation&&u[r.name]))break}!V(u)&&await G({context:c,onlyCheckValid:i,fields:u,name:o,eventType:s})}}return c.valid},ge=()=>{for(let e of p.unMount){let t=b(r,e);t&&(t._f.refs?t._f.refs.every(e=>!ue(e)):!ue(t._f.ref))&&Ue(e)}p.unMount=new Set},K=(e,n)=>!t.disabled&&(e&&n&&C(a,e,n),!L(Le(),i)),q=(e,t,n)=>F(e,p,{...l.mount?a:_(t)?i:P(e)?{[e]:t}:t},n,t),J=e=>v(b(l.mount?a:i,e,t.shouldUnregister?b(i,e,[]):[])),X=(e,t,n={})=>{let i=b(r,e),s=t;if(i){let n=i._f;n&&(!n.disabled&&C(a,e,_e(t,n)),s=oe(n.ref)&&c(t)?``:t,se(n.ref)?[...n.ref.options].forEach(e=>e.selected=s.includes(e.value)):n.refs?o(n.ref)?n.refs.forEach(e=>{(!e.defaultChecked||!e.disabled)&&(Array.isArray(s)?e.checked=!!s.find(t=>t===e.value):e.checked=s===e.value||!!s)}):n.refs.forEach(e=>e.checked=e.value===s):ae(n.ref)?n.ref.value=``:(n.ref.value=s,n.ref.type||M.state.next({name:e,values:h(a)})))}(n.shouldDirty||n.shouldTouch)&&fe(e,s,n.shouldTouch,n.shouldDirty,!0),n.shouldValidate&&Ie(e)},je=(e,t,n)=>{for(let i in t){if(!t.hasOwnProperty(i))return;let a=t[i],o=e+`.`+i,c=b(r,o);(p.array.has(e)||u(a)||c&&!c._f)&&!s(a)?je(o,a,n):X(o,a,n)}},Q=(e,t,i={})=>{let o=b(r,e),s=p.array.has(e),u=h(t);C(a,e,u),s?(M.array.next({name:e,values:h(a)}),(A.isDirty||A.dirtyFields||j.isDirty||j.dirtyFields)&&i.shouldDirty&&(ee(e),M.state.next({name:e,dirtyFields:n.dirtyFields,isDirty:K(e,u)}))):o&&!o._f&&!c(u)?je(e,u,i):X(e,u,i),we(e,p)?M.state.next({...n,name:e,values:h(a)}):M.state.next({name:l.mount?e:void 0,values:h(a)})},Pe=async i=>{l.mount=!0;let o=i.target,c=o.name,u=!0,f=b(r,c),m=e=>{u=Number.isNaN(e)||s(e)&&isNaN(e.getTime())||L(e,b(a,c,e))},_=xe(t.mode),v=xe(t.reValidateMode);if(f){let s,l,y=o.type?ve(f._f):d(i),x=i.type===w.BLUR||i.type===w.FOCUS_OUT,S=!Ce(f._f)&&!e.validate&&!t.resolver&&!b(n.errors,c)&&!f._f.deps||Oe(x,b(n.touchedFields,c),n.isSubmitted,v,_),T=we(c,p,x);C(a,c,y),x?(!o||!o.readOnly)&&(f._f.onBlur&&f._f.onBlur(i),g&&g(0)):f._f.onChange&&f._f.onChange(i);let E=fe(c,y,x),D=!V(E)||T;if(!x&&M.state.next({name:c,type:i.type,values:h(a)}),S)return(A.isValid||j.isValid)&&(t.mode===`onBlur`?x&&R():x||R()),D&&M.state.next({name:c,...T?{}:E});if(!t.resolver&&e.validate&&await he({name:c,eventType:i.type}),!x&&T&&M.state.next({...n}),t.resolver){let{errors:e}=await U([c]);if(z([c]),m(y),u){let t=Te(n.errors,r,c),i=Te(e,r,t.name||c);s=i.error,c=i.name,l=V(e)}}else z([c],!0),s=(await Me(f,p.disabled,a,N,t.shouldUseNativeValidation))[c],z([c]),m(y),u&&(s?l=!1:(A.isValid||j.isValid)&&(l=await G({fields:r,onlyCheckValid:!0,name:c,eventType:i.type})));u&&(f._f.deps&&(!Array.isArray(f._f.deps)||f._f.deps.length>0)&&Ie(f._f.deps),pe(c,l,s,E))}},Fe=(e,t)=>{if(b(n.errors,t)&&e.focus)return e.focus(),1},Ie=async(e,i={})=>{let a,o,s=B(e);if(t.resolver){let t=await me(_(e)?e:s);a=V(t),o=e?!s.some(e=>b(t,e)):a}else e?(o=(await Promise.all(s.map(async e=>{let t=b(r,e);return await G({fields:t&&t._f?{[e]:t}:t,eventType:w.TRIGGER})}))).every(Boolean),!(!o&&!n.isValid)&&R()):o=a=await G({fields:r,name:e,eventType:w.TRIGGER});return M.state.next({...!P(e)||(A.isValid||j.isValid)&&a!==n.isValid?{}:{name:e},...t.resolver||!e?{isValid:a}:{},errors:n.errors}),i.shouldFocus&&!o&&Z(r,Fe,e?s:p.mount),o},Le=(e,t)=>{let r={...l.mount?a:i};return t&&(r=ie(t.dirtyFields?n.dirtyFields:n.touchedFields,r)),_(e)?r:P(e)?b(r,e):e.map(e=>b(r,e))},Re=(e,t)=>({invalid:!!b((t||n).errors,e),isDirty:!!b((t||n).dirtyFields,e),error:b((t||n).errors,e),isValidating:!!b(n.validatingFields,e),isTouched:!!b((t||n).touchedFields,e)}),ze=e=>{let t=e?B(e):void 0;t?.forEach(e=>H(n.errors,e)),t?t.forEach(e=>{M.state.next({name:e,errors:n.errors})}):M.state.next({errors:{}})},$=(e,t,i)=>{let a=(b(r,e,{_f:{}})._f||{}).ref,{ref:o,message:s,type:c,...l}=b(n.errors,e)||{};C(n.errors,e,{...l,...t,ref:a}),M.state.next({name:e,errors:n.errors,isValid:!1}),i&&i.shouldFocus&&a&&a.focus&&a.focus()},Be=(e,t)=>S(e)?M.state.subscribe({next:n=>`values`in n&&e(q(void 0,t),n)}):q(e,t,!0),Ve=e=>M.state.subscribe({next:t=>{De(e.name,t.name,e.exact)&&Ee(t,e.formState||A,$e,e.reRenderRoot)&&e.callback({values:{...a},...n,...t,defaultValues:i})}}).unsubscribe,He=e=>(l.mount=!0,j={...j,...e.formState},Ve({...e,formState:{...k,...e.formState}})),Ue=(e,o={})=>{for(let s of e?B(e):p.mount)p.mount.delete(s),p.array.delete(s),o.keepValue||(H(r,s),H(a,s)),!o.keepError&&H(n.errors,s),!o.keepDirty&&H(n.dirtyFields,s),!o.keepTouched&&H(n.touchedFields,s),!o.keepIsValidating&&H(n.validatingFields,s),!t.shouldUnregister&&!o.keepDefaultValue&&H(i,s);M.state.next({values:h(a)}),M.state.next({...n,...o.keepDirty?{isDirty:K()}:{}}),!o.keepIsValid&&R()},We=({disabled:e,name:t})=>{if(x(e)&&l.mount||e||p.disabled.has(t)){let n=p.disabled.has(t)!==!!e;e?p.disabled.add(t):p.disabled.delete(t),n&&l.mount&&!l.action&&R()}},Ge=(e,n={})=>{let a=b(r,e),o=x(n.disabled)||x(t.disabled),s=!p.registerName.has(e)&&a&&!a._f.mount;return C(r,e,{...a||{},_f:{...a&&a._f?a._f:{ref:{name:e}},name:e,mount:!0,...n}}),p.mount.add(e),a&&!s?We({disabled:x(n.disabled)?n.disabled:t.disabled,name:e}):de(e,!0,n.value),{...o?{disabled:n.disabled||t.disabled}:{},...t.progressive?{required:!!n.required,min:Y(n.min),max:Y(n.max),minLength:Y(n.minLength),maxLength:Y(n.maxLength),pattern:Y(n.pattern)}:{},name:e,onChange:Pe,onBlur:Pe,ref:o=>{if(o){p.registerName.add(e),Ge(e,n),p.registerName.delete(e),a=b(r,e);let t=_(o.value)&&o.querySelectorAll&&o.querySelectorAll(`input,select,textarea`)[0]||o,s=le(t),c=a._f.refs||[];if(s?c.find(e=>e===t):t===a._f.ref)return;C(r,e,{_f:{...a._f,...s?{refs:[...c.filter(ue),t,...Array.isArray(b(i,e))?[{}]:[]],ref:{type:t.type,name:e}}:{ref:t}}}),de(e,!1,void 0,t)}else a=b(r,e,{}),a._f&&(a._f.mount=!1),(t.shouldUnregister||n.shouldUnregister)&&!(f(p.array,e)&&l.action)&&p.unMount.add(e)}}},Ke=()=>t.shouldFocusError&&Z(r,Fe,p.mount),qe=e=>{x(e)&&(M.state.next({disabled:e}),Z(r,(t,n)=>{let i=b(r,n);i&&(t.disabled=i._f.disabled||e,Array.isArray(i._f.refs)&&i._f.refs.forEach(t=>{t.disabled=i._f.disabled||e}))},0,!1))},Je=(e,i)=>async o=>{let s;o&&(o.preventDefault&&o.preventDefault(),o.persist&&o.persist());let c=h(a);if(M.state.next({isSubmitting:!0}),t.resolver){let{errors:e,values:t}=await U();z(),n.errors=e,c=h(t)}else await G({fields:r,eventType:w.SUBMIT});if(p.disabled.size)for(let e of p.disabled)H(c,e);if(H(n.errors,O),V(n.errors)){M.state.next({errors:{}});try{await e(c,o)}catch(e){s=e}}else i&&await i({...n.errors},o),Ke(),setTimeout(Ke);if(M.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:V(n.errors)&&!s,submitCount:n.submitCount+1,errors:n.errors}),s)throw s},Ye=(e,t={})=>{b(r,e)&&(_(t.defaultValue)?Q(e,h(b(i,e))):(Q(e,t.defaultValue),C(i,e,h(t.defaultValue))),t.keepTouched||H(n.touchedFields,e),t.keepDirty||(H(n.dirtyFields,e),n.isDirty=t.defaultValue?K(e,h(b(i,e))):K()),t.keepError||(H(n.errors,e),A.isValid&&R()),M.state.next({...n}))},Xe=(e,o={})=>{let s=e?h(e):i,c=h(s),u=V(e),d=u?i:c;if(o.keepDefaultValues||(i=s),!o.keepValues){if(o.keepDirtyValues){let e=new Set([...p.mount,...Object.keys(W(i,a))]);for(let t of Array.from(e)){let e=b(n.dirtyFields,t),r=b(a,t),i=b(d,t);e&&!_(r)?C(d,t,r):!e&&!_(i)&&Q(t,i)}}else{if(m&&_(e))for(let e of p.mount){let t=b(r,e);if(t&&t._f){let e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(oe(e)){let t=e.closest(`form`);if(t){t.reset();break}}}}if(o.keepFieldsRef)for(let e of p.mount)Q(e,b(d,e));else r={}}a=t.shouldUnregister?o.keepDefaultValues?h(i):{}:h(d),M.array.next({values:{...d}}),M.state.next({values:{...d}})}p={mount:o.keepDirtyValues?p.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:``},l.mount=!A.isValid||!!o.keepIsValid||!!o.keepDirtyValues||!t.shouldUnregister&&!V(d),l.watch=!!t.shouldUnregister,l.keepIsValid=!!o.keepIsValid,l.action=!1,o.keepErrors||(n.errors={}),M.state.next({submitCount:o.keepSubmitCount?n.submitCount:0,isDirty:u?!1:o.keepDirty?n.isDirty:!!(o.keepDefaultValues&&!L(e,i)),isSubmitted:o.keepIsSubmitted?n.isSubmitted:!1,dirtyFields:u?{}:o.keepDirtyValues?o.keepDefaultValues&&a?W(i,a):n.dirtyFields:o.keepDefaultValues&&e?W(i,e):o.keepDirty?n.dirtyFields:{},touchedFields:o.keepTouched?n.touchedFields:{},errors:o.keepErrors?n.errors:{},isSubmitSuccessful:o.keepIsSubmitSuccessful?n.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:i})},Ze=(e,n)=>Xe(S(e)?e(a):e,{...t.resetOptions,...n}),Qe=(e,t={})=>{let n=b(r,e),i=n&&n._f;if(i){let e=i.refs?i.refs[0]:i.ref;e.focus&&setTimeout(()=>{e.focus(),t.shouldSelect&&S(e.select)&&e.select()})}},$e=e=>{n={...n,...e}},et={control:{register:Ge,unregister:Ue,getFieldState:Re,handleSubmit:Je,setError:$,_subscribe:Ve,_runSchema:U,_updateIsValidating:z,_focusError:Ke,_getWatch:q,_getDirty:K,_setValid:R,_setFieldArray:te,_setDisabledField:We,_setErrors:ce,_getFieldArray:J,_reset:Xe,_resetDefaultValues:()=>S(t.defaultValues)&&t.defaultValues().then(e=>{Ze(e,t.resetOptions),M.state.next({isLoading:!1})}),_removeUnmounted:ge,_disableForm:qe,_subjects:M,_proxyFormState:A,get _fields(){return r},get _formValues(){return a},get _state(){return l},set _state(e){l=e},get _defaultValues(){return i},get _names(){return p},set _names(e){p=e},get _formState(){return n},get _options(){return t},set _options(e){t={...t,...e}}},subscribe:He,trigger:Ie,register:Ge,handleSubmit:Je,watch:Be,setValue:Q,getValues:Le,reset:Ze,resetField:Ye,clearErrors:ze,unregister:Ue,setError:$,setFocus:Qe,getFieldState:Re};return{...et,formControl:et}}function Fe(e={}){let t=a.useRef(void 0),n=a.useRef(void 0),[r,i]=a.useState({isDirty:!1,isValidating:!1,isLoading:S(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:S(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:r},e.defaultValues&&!S(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{let{formControl:n,...i}=Pe(e);t.current={...i,formState:r}}let o=t.current.control;return o._options=e,M(()=>{let e=o._subscribe({formState:o._proxyFormState,callback:()=>i({...o._formState}),reRenderRoot:!0});return i(e=>({...e,isReady:!0})),o._formState.isReady=!0,e},[o]),a.useEffect(()=>o._disableForm(e.disabled),[o,e.disabled]),a.useEffect(()=>{e.mode&&(o._options.mode=e.mode),e.reValidateMode&&(o._options.reValidateMode=e.reValidateMode)},[o,e.mode,e.reValidateMode]),a.useEffect(()=>{e.errors&&(o._setErrors(e.errors),o._focusError())},[o,e.errors]),a.useEffect(()=>{e.shouldUnregister&&o._subjects.state.next({values:o._getWatch()})},[o,e.shouldUnregister]),a.useEffect(()=>{if(o._proxyFormState.isDirty){let e=o._getDirty();e!==r.isDirty&&o._subjects.state.next({isDirty:e})}},[o,r.isDirty]),a.useEffect(()=>{e.values&&!L(e.values,n.current)?(o._reset(e.values,{keepFieldsRef:!0,...o._options.resetOptions}),o._options.resetOptions?.keepIsValid||o._setValid(),n.current=e.values,i(e=>({...e}))):o._resetDefaultValues()},[o,e.values]),a.useEffect(()=>{o._state.mount||(o._setValid(),o._state.mount=!0),o._state.watch&&(o._state.watch=!1,o._subjects.state.next({...o._formState})),o._removeUnmounted()}),t.current.formState=a.useMemo(()=>j(r,o),[o,r]),t.current}var Ie=(e,t,n)=>{if(e&&`reportValidity`in e){let r=b(n,t);e.setCustomValidity(r&&r.message||``),e.reportValidity()}},Le=(e,t)=>{for(let n in t.fields){let r=t.fields[n];r&&r.ref&&`reportValidity`in r.ref?Ie(r.ref,n,e):r&&r.refs&&r.refs.forEach(t=>Ie(t,n,e))}},Re=(e,t)=>{t.shouldUseNativeValidation&&Le(e,t);let n={};for(let r in e){let i=b(t.fields,r),a=Object.assign(e[r]||{},{ref:i&&i.ref});if(ze(t.names||Object.keys(e),r)){let e=Object.assign({},b(n,r));C(e,`root`,a),C(n,r,e)}else C(n,r,a)}return n},ze=(e,t)=>{let n=$(t);return e.some(e=>$(e).match(`^${n}\\.\\d+`))};function $(e){return e.replace(/\]|\[/g,``)}function Be(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}function Ve(e,t){for(var n={};e.length;){var r=e[0],i=r.code,a=r.message,o=r.path.join(`.`);if(!n[o])if(`unionErrors`in r){var s=r.unionErrors[0].errors[0];n[o]={message:s.message,type:s.code}}else n[o]={message:a,type:i};if(`unionErrors`in r&&r.unionErrors.forEach(function(t){return t.errors.forEach(function(t){return e.push(t)})}),t){var c=n[o].types,l=c&&c[r.code];n[o]=ne(o,t,n,i,l?[].concat(l,r.message):r.message)}e.shift()}return n}function He(e,t){for(var n={};e.length;){var r=e[0],i=r.code,a=r.message,o=r.path.join(`.`);if(!n[o])if(r.code===`invalid_union`&&r.errors.length>0){var s=r.errors[0][0];n[o]={message:s.message,type:s.code}}else n[o]={message:a,type:i};if(r.code===`invalid_union`&&r.errors.forEach(function(t){return t.forEach(function(t){return e.push(t)})}),t){var c=n[o].types,l=c&&c[r.code];n[o]=ne(o,t,n,i,l?[].concat(l,r.message):r.message)}e.shift()}return n}function Ue(e,t,a){if(a===void 0&&(a={}),function(e){return`_def`in e&&typeof e._def==`object`&&`typeName`in e._def}(e))return function(n,r,i){try{return Promise.resolve(Be(function(){return Promise.resolve(e[a.mode===`sync`?`parse`:`parseAsync`](n,t)).then(function(e){return i.shouldUseNativeValidation&&Le({},i),{errors:{},values:a.raw?Object.assign({},n):e}})},function(e){if(function(e){return Array.isArray(e?.issues)}(e))return{values:{},errors:Re(Ve(e.errors,!i.shouldUseNativeValidation&&i.criteriaMode===`all`),i)};throw e}))}catch(e){return Promise.reject(e)}};if(function(e){return`_zod`in e&&typeof e._zod==`object`}(e))return function(o,s,c){try{return Promise.resolve(Be(function(){return Promise.resolve((a.mode===`sync`?i:n)(e,o,t)).then(function(e){return c.shouldUseNativeValidation&&Le({},c),{errors:{},values:a.raw?Object.assign({},o):e}})},function(e){if(function(e){return e instanceof r}(e))return{values:{},errors:Re(He(e.issues,!c.shouldUseNativeValidation&&c.criteriaMode===`all`),c)};throw e}))}catch(e){return Promise.reject(e)}};throw Error(`Invalid input: not a Zod schema`)}export{ee as n,Fe as r,Ue as t}; \ No newline at end of file +import{a as e,r as t}from"./compiler-runtime.js";import{M as n,N as r,P as i}from"./SignatureV4.js";var a=e(t(),1),o=e=>e.type===`checkbox`,s=e=>e instanceof Date,c=e=>e==null,l=e=>typeof e==`object`,u=e=>!c(e)&&!Array.isArray(e)&&l(e)&&!s(e),d=e=>u(e)&&e.target?o(e.target)?e.target.checked:e.target.value:e,f=(e,t)=>t.split(`.`).some((t,n,r)=>!isNaN(Number(t))&&e.has(r.slice(0,n).join(`.`))),p=e=>{let t=e.constructor&&e.constructor.prototype;return u(t)&&t.hasOwnProperty(`isPrototypeOf`)},m=typeof window<`u`&&window.HTMLElement!==void 0&&typeof document<`u`;function h(e){if(e instanceof Date)return new Date(e);let t=typeof FileList<`u`&&e instanceof FileList;if(m&&(e instanceof Blob||t))return e;let n=Array.isArray(e);if(!n&&!(u(e)&&p(e)))return e;let r=n?[]:Object.create(Object.getPrototypeOf(e));for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=h(e[t]));return r}var g=e=>/^\w*$/.test(e),_=e=>e===void 0,v=e=>Array.isArray(e)?e.filter(Boolean):[],y=e=>v(e.replace(/["|']|\]/g,``).split(/\.|\[/)),b=(e,t,n)=>{if(!t||!u(e))return n;let r=(g(t)?[t]:y(t)).reduce((e,t)=>c(e)?e:e[t],e);return _(r)||r===e?_(e[t])?n:e[t]:r},x=e=>typeof e==`boolean`,S=e=>typeof e==`function`,C=(e,t,n)=>{let r=-1,i=g(t)?[t]:y(t),a=i.length,o=a-1;for(;++ra.useContext(k),j=(e,t,n,r=!0)=>{let i={defaultValues:t._defaultValues};for(let a in e)Object.defineProperty(i,a,{get:()=>{let i=a;return t._proxyFormState[i]!==T.all&&(t._proxyFormState[i]=!r||T.all),n&&(n[i]=!0),e[i]}});return i},M=typeof window<`u`?a.useLayoutEffect:a.useEffect;function N(e){let t=A(),{control:n=t,disabled:r,name:i,exact:o}=e||{},[s,c]=a.useState(n._formState),l=a.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return M(()=>n._subscribe({name:i,formState:l.current,exact:o,callback:e=>{!r&&c({...n._formState,...e})}}),[i,r,o]),a.useEffect(()=>{l.current.isValid&&n._setValid(!0)},[n]),a.useMemo(()=>j(s,n,l.current,!1),[s,n])}var P=e=>typeof e==`string`,F=(e,t,n,r,i)=>P(e)?(r&&t.watch.add(e),b(n,e,i)):Array.isArray(e)?e.map(e=>(r&&t.watch.add(e),b(n,e))):(r&&(t.watchAll=!0),n),I=e=>c(e)||!l(e);function L(e,t,n=new WeakSet){if(I(e)||I(t))return Object.is(e,t);if(s(e)&&s(t))return Object.is(e.getTime(),t.getTime());let r=Object.keys(e),i=Object.keys(t);if(r.length!==i.length)return!1;if(n.has(e)||n.has(t))return!0;n.add(e),n.add(t);for(let a of r){let r=e[a];if(!i.includes(a))return!1;if(a!==`ref`){let e=t[a];if(s(r)&&s(e)||(u(r)||Array.isArray(r))&&(u(e)||Array.isArray(e))?!L(r,e,n):!Object.is(r,e))return!1}}return!0}function R(e){let t=A(),{control:n=t,name:r,defaultValue:i,disabled:o,exact:s,compute:c}=e||{},l=a.useRef(i),u=a.useRef(c),d=a.useRef(void 0),f=a.useRef(n),p=a.useRef(r);u.current=c;let[m,h]=a.useState(()=>{let e=n._getWatch(r,l.current);return u.current?u.current(e):e}),g=a.useCallback(e=>{let t=F(r,n._names,e||n._formValues,!1,l.current);return u.current?u.current(t):t},[n._formValues,n._names,r]),_=a.useCallback(e=>{if(!o){let t=F(r,n._names,e||n._formValues,!1,l.current);if(u.current){let e=u.current(t);L(e,d.current)||(h(e),d.current=e)}else h(t)}},[n._formValues,n._names,o,r]);M(()=>((f.current!==n||!L(p.current,r))&&(f.current=n,p.current=r,_()),n._subscribe({name:r,formState:{values:!0},exact:s,callback:e=>{_(e.values)}})),[n,s,r,_]),a.useEffect(()=>n._removeUnmounted());let v=f.current!==n,y=p.current,b=a.useMemo(()=>{if(o)return null;let e=!v&&!L(y,r);return v||e?g():null},[o,v,r,y,g]);return b===null?m:b}function z(e){let t=A(),{name:n,disabled:r,control:i=t,shouldUnregister:o,defaultValue:s,exact:c=!0}=e,l=f(i._names.array,n),u=R({control:i,name:n,defaultValue:a.useMemo(()=>b(i._formValues,n,b(i._defaultValues,n,s)),[i,n,s]),exact:c}),p=N({control:i,name:n,exact:c}),m=a.useRef(e),g=a.useRef(void 0),v=a.useRef(i.register(n,{...e.rules,value:u,...x(e.disabled)?{disabled:e.disabled}:{}}));m.current=e;let y=a.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!b(p.errors,n)},isDirty:{enumerable:!0,get:()=>!!b(p.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!b(p.touchedFields,n)},isValidating:{enumerable:!0,get:()=>!!b(p.validatingFields,n)},error:{enumerable:!0,get:()=>b(p.errors,n)}}),[p,n]),T=a.useCallback(e=>v.current.onChange({target:{value:d(e),name:n},type:w.CHANGE}),[n]),E=a.useCallback(()=>v.current.onBlur({target:{value:b(i._formValues,n),name:n},type:w.BLUR}),[n,i._formValues]),D=a.useCallback(e=>{let t=b(i._fields,n);t&&t._f&&e&&(t._f.ref={focus:()=>S(e.focus)&&e.focus(),select:()=>S(e.select)&&e.select(),setCustomValidity:t=>S(e.setCustomValidity)&&e.setCustomValidity(t),reportValidity:()=>S(e.reportValidity)&&e.reportValidity()})},[i._fields,n]),O=a.useMemo(()=>({name:n,value:u,...x(r)||p.disabled?{disabled:p.disabled||r}:{},onChange:T,onBlur:E,ref:D}),[n,r,p.disabled,T,E,D,u]);return a.useEffect(()=>{let e=i._options.shouldUnregister||o,t=g.current;t&&t!==n&&!l&&i.unregister(t),i.register(n,{...m.current.rules,...x(m.current.disabled)?{disabled:m.current.disabled}:{}});let r=(e,t)=>{let n=b(i._fields,e);n&&n._f&&(n._f.mount=t)};if(r(n,!0),e){let e=h(b(i._options.defaultValues,n,m.current.defaultValue));C(i._defaultValues,n,e),_(b(i._formValues,n))&&C(i._formValues,n,e)}return!l&&i.register(n),g.current=n,()=>{(l?e&&!i._state.action:e)?i.unregister(n):r(n,!1)}},[n,i,l,o]),a.useEffect(()=>{i._setDisabledField({disabled:r,name:n})},[r,n,i]),a.useMemo(()=>({field:O,formState:p,fieldState:y}),[O,p,y])}var ee=e=>e.render(z(e)),te=a.createContext(null);te.displayName=`HookFormContext`;var ne=(e,t,n,r,i)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[r]:i||!0}}:{},B=e=>Array.isArray(e)?e:[e],re=()=>{let e=[];return{get observers(){return e},next:t=>{for(let n of e)n.next&&n.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter(e=>e!==t)}}),unsubscribe:()=>{e=[]}}};function ie(e,t){let n={};for(let r in e)if(e.hasOwnProperty(r)){let i=e[r],a=t[r];if(i&&u(i)&&a){let e=ie(i,a);u(e)&&(n[r]=e)}else e[r]&&(n[r]=a)}return n}var V=e=>u(e)&&!Object.keys(e).length,ae=e=>e.type===`file`,oe=e=>{if(!m)return!1;let t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},se=e=>e.type===`select-multiple`,ce=e=>e.type===`radio`,le=e=>ce(e)||o(e),ue=e=>oe(e)&&e.isConnected;function de(e,t){let n=t.slice(0,-1).length,r=0;for(;r{for(let t in e)if(S(e[t]))return!0;return!1};function U(e){return Array.isArray(e)||u(e)&&!pe(e)}function me(e,t={}){for(let n in e){let r=e[n];U(r)?(t[n]=Array.isArray(r)?[]:{},me(r,t[n])):_(r)||(t[n]=!0)}return t}function W(e,t,n){n||=me(t);for(let r in e){let i=e[r];if(U(i))_(t)||I(n[r])?n[r]=me(i,Array.isArray(i)?[]:{}):W(i,c(t)?{}:t[r],n[r]);else{let e=t[r];n[r]=!L(i,e)}}return n}var he={value:!1,isValid:!1},G={value:!0,isValid:!0},ge=e=>{if(Array.isArray(e)){if(e.length>1){let t=e.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!_(e[0].attributes.value)?_(e[0].value)||e[0].value===``?G:{value:e[0].value,isValid:!0}:G:he}return he},_e=(e,{valueAsNumber:t,valueAsDate:n,setValueAs:r})=>_(e)?e:t?e===``?NaN:e&&+e:n&&P(e)?new Date(e):r?r(e):e,K={isValid:!1,value:null},q=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,K):K;function ve(e){let t=e.ref;return ae(t)?t.files:ce(t)?q(e.refs).value:se(t)?[...t.selectedOptions].map(({value:e})=>e):o(t)?ge(e.refs).value:_e(_(t.value)?e.ref.value:t.value,e)}var ye=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,be=(e,t,n,r)=>{let i={};for(let n of e){let e=b(t,n);e&&C(i,n,e._f)}return{criteriaMode:n,names:[...e],fields:i,shouldUseNativeValidation:r}},J=e=>e instanceof RegExp,Y=e=>_(e)?e:J(e)?e.source:u(e)?J(e.value)?e.value.source:e.value:e,xe=e=>({isOnSubmit:!e||e===T.onSubmit,isOnBlur:e===T.onBlur,isOnChange:e===T.onChange,isOnAll:e===T.all,isOnTouch:e===T.onTouched}),X=`AsyncFunction`,Se=e=>!!e&&!!e.validate&&!!(S(e.validate)&&e.validate.constructor.name===X||u(e.validate)&&Object.values(e.validate).find(e=>e.constructor.name===X)),Ce=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),we=(e,t,n)=>!n&&(t.watchAll||t.watch.has(e)||[...t.watch].some(t=>e.startsWith(t)&&/^\.\w+/.test(e.slice(t.length)))),Z=(e,t,n,r)=>{for(let i of n||Object.keys(e)){let n=b(e,i);if(n){let{_f:e,...a}=n;if(e){if(e.refs&&e.refs[0]&&t(e.refs[0],i)&&!r||e.ref&&t(e.ref,e.name)&&!r)return!0;if(Z(a,t))break}else if(u(a)&&Z(a,t))break}}};function Te(e,t,n){let r=b(e,n);if(r||g(n))return{error:r,name:n};let i=n.split(`.`);for(;i.length;){let r=i.join(`.`),a=b(t,r),o=b(e,r);if(a&&!Array.isArray(a)&&n!==r)return{name:n};if(o&&o.type)return{name:r,error:o};if(o&&o.root&&o.root.type)return{name:`${r}.root`,error:o.root};i.pop()}return{name:n}}var Ee=(e,t,n,r)=>{n(e);let{name:i,...a}=e;return V(a)||Object.keys(a).length>=Object.keys(t).length||Object.keys(a).find(e=>t[e]===(!r||T.all))},De=(e,t,n)=>!e||!t||e===t||B(e).some(e=>e&&(n?e===t:e.startsWith(t)||t.startsWith(e))),Oe=(e,t,n,r,i)=>i.isOnAll?!1:!n&&i.isOnTouch?!(t||e):(n?r.isOnBlur:i.isOnBlur)?!e:(n?r.isOnChange:i.isOnChange)?e:!0,ke=(e,t)=>!v(b(e,t)).length&&H(e,t),Ae=(e,t,n)=>{let r=B(b(e,n));return C(r,O,t[n]),C(e,n,r),e};function je(e,t,n=`validate`){if(P(e)||Array.isArray(e)&&e.every(P)||x(e)&&!e)return{type:n,message:P(e)?e:``,ref:t}}var Q=e=>u(e)&&!J(e)?e:{value:e,message:``},Me=async(e,t,n,r,i,a)=>{let{ref:s,refs:l,required:d,maxLength:f,minLength:p,min:m,max:h,pattern:g,validate:v,name:y,valueAsNumber:C,mount:w}=e._f,T=b(n,y);if(!w||t.has(y))return{};let D=l?l[0]:s,O=e=>{i&&D.reportValidity&&(D.setCustomValidity(x(e)?``:e||``),D.reportValidity())},k={},A=ce(s),j=o(s),M=A||j,N=(C||ae(s))&&_(s.value)&&_(T)||oe(s)&&s.value===``||T===``||Array.isArray(T)&&!T.length,F=ne.bind(null,y,r,k),I=(e,t,n,r=E.maxLength,i=E.minLength)=>{let a=e?t:n;k[y]={type:e?r:i,message:a,ref:s,...F(e?r:i,a)}};if(a?!Array.isArray(T)||!T.length:d&&(!M&&(N||c(T))||x(T)&&!T||j&&!ge(l).isValid||A&&!q(l).isValid)){let{value:e,message:t}=P(d)?{value:!!d,message:d}:Q(d);if(e&&(k[y]={type:E.required,message:t,ref:D,...F(E.required,t)},!r))return O(t),k}if(!N&&(!c(m)||!c(h))){let e,t,n=Q(h),i=Q(m);if(!c(T)&&!isNaN(T)){let r=s.valueAsNumber||T&&+T;c(n.value)||(e=r>n.value),c(i.value)||(t=rnew Date(new Date().toDateString()+` `+e),o=s.type==`time`,c=s.type==`week`;P(n.value)&&T&&(e=o?a(T)>a(n.value):c?T>n.value:r>new Date(n.value)),P(i.value)&&T&&(t=o?a(T)+e.value,i=!c(t.value)&&T.length<+t.value;if((n||i)&&(I(n,e.message,t.message),!r))return O(k[y].message),k}if(g&&!N&&P(T)){let{value:e,message:t}=Q(g);if(J(e)&&!T.match(e)&&(k[y]={type:E.pattern,message:t,ref:s,...F(E.pattern,t)},!r))return O(t),k}if(v){if(S(v)){let e=je(await v(T,n),D);if(e&&(k[y]={...e,...F(E.validate,e.message)},!r))return O(e.message),k}else if(u(v)){let e={};for(let t in v){if(!V(e)&&!r)break;let i=je(await v[t](T,n),D,t);i&&(e={...i,...F(t,i.message)},O(i.message),r&&(k[y]=e))}if(!V(e)&&(k[y]={ref:D,...e},!r))return k}}return O(!0),k},Ne={mode:T.onSubmit,reValidateMode:T.onChange,shouldFocusError:!0};function Pe(e={}){let t={...Ne,...e},n={submitCount:0,isDirty:!1,isReady:!1,isLoading:S(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},r={},i=(u(t.defaultValues)||u(t.values))&&h(t.defaultValues||t.values)||{},a=t.shouldUnregister?{}:h(i),l={action:!1,mount:!1,watch:!1,keepIsValid:!1},p={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},g,y=0,k={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},A={...k},j={...A},M={array:re(),state:re()},N=t.criteriaMode===T.all,I=e=>t=>{clearTimeout(y),y=setTimeout(e,t)},R=async e=>{if(!l.keepIsValid&&!t.disabled&&(A.isValid||j.isValid||e)){let e;t.resolver?(e=V((await U()).errors),z()):e=await G({fields:r,onlyCheckValid:!0,eventType:w.VALID}),e!==n.isValid&&M.state.next({isValid:e})}},z=(e,r)=>{!t.disabled&&(A.isValidating||A.validatingFields||j.isValidating||j.validatingFields)&&((e||Array.from(p.mount)).forEach(e=>{e&&(r?C(n.validatingFields,e,r):H(n.validatingFields,e))}),M.state.next({validatingFields:n.validatingFields,isValidating:!V(n.validatingFields)}))},ee=e=>{let t=W(i,a),r=ye(e);C(n.dirtyFields,r,b(t,r))},te=(e,i=[],o,s,c=!0,u=!0)=>{if(s&&o&&!t.disabled){if(l.action=!0,u&&Array.isArray(b(r,e))){let t=o(b(r,e),s.argA,s.argB);c&&C(r,e,t)}if(u&&Array.isArray(b(n.errors,e))){let t=o(b(n.errors,e),s.argA,s.argB);c&&C(n.errors,e,t),ke(n.errors,e)}if((A.touchedFields||j.touchedFields)&&u&&Array.isArray(b(n.touchedFields,e))){let t=o(b(n.touchedFields,e),s.argA,s.argB);c&&C(n.touchedFields,e,t)}(A.dirtyFields||j.dirtyFields)&&ee(e),M.state.next({name:e,isDirty:K(e,i),dirtyFields:n.dirtyFields,errors:n.errors,isValid:n.isValid})}else C(a,e,i)},ne=(e,t)=>{C(n.errors,e,t),M.state.next({errors:n.errors})},ce=e=>{n.errors=e,M.state.next({errors:n.errors,isValid:!1})},de=(e,t,n,o)=>{let s=b(r,e);if(s){let r=b(a,e,_(n)?b(i,e):n);_(r)||o&&o.defaultChecked||t?C(a,e,t?r:ve(s._f)):X(e,r),l.mount&&!l.action&&R()}},fe=(e,r,a,o,s)=>{let c=!1,l=!1,u={name:e};if(!t.disabled){if(!a||o){(A.isDirty||j.isDirty)&&(l=n.isDirty,n.isDirty=u.isDirty=K(),c=l!==u.isDirty);let t=L(b(i,e),r);l=!!b(n.dirtyFields,e),t?H(n.dirtyFields,e):C(n.dirtyFields,e,!0),u.dirtyFields=n.dirtyFields,c||=(A.dirtyFields||j.dirtyFields)&&l!==!t}if(a){let t=b(n.touchedFields,e);t||(C(n.touchedFields,e,a),u.touchedFields=n.touchedFields,c||=(A.touchedFields||j.touchedFields)&&t!==a)}c&&s&&M.state.next(u)}return c?u:{}},pe=(e,r,i,a)=>{let o=b(n.errors,e),s=(A.isValid||j.isValid)&&x(r)&&n.isValid!==r;if(t.delayError&&i?(g=I(()=>ne(e,i)),g(t.delayError)):(clearTimeout(y),g=null,i?C(n.errors,e,i):H(n.errors,e)),(i?!L(o,i):o)||!V(a)||s){let t={...a,...s&&x(r)?{isValid:r}:{},errors:n.errors,name:e};n={...n,...t},M.state.next(t)}},U=async e=>(z(e,!0),await t.resolver(a,t.context,be(e||p.mount,r,t.criteriaMode,t.shouldUseNativeValidation))),me=async e=>{let{errors:t}=await U(e);if(z(e),e)for(let r of e){let e=b(t,r);e?C(n.errors,r,e):H(n.errors,r)}else n.errors=t;return t},he=async({name:t,eventType:r})=>{if(e.validate){let i=await e.validate({formValues:a,formState:n,name:t,eventType:r});if(u(i))for(let e in i)i[e]&&$(`${D}.${e}`,{message:P(i.message)?i.message:``,type:E.validate});else P(i)||!i?$(D,{message:i||``,type:E.validate}):ze(D);return i}return!0},G=async({fields:r,onlyCheckValid:i,name:o,eventType:s,context:c={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(c.runRootValidation=!0,!await he({name:o,eventType:s})&&(c.valid=!1,i)))return c.valid;for(let o in r){let l=r[o];if(l){let{_f:r,...u}=l;if(r){let o=p.array.has(r.name),s=l._f&&Se(l._f);s&&A.validatingFields&&z([r.name],!0);let u=await Me(l,p.disabled,a,N,t.shouldUseNativeValidation&&!i,o);if(s&&A.validatingFields&&z([r.name]),u[r.name]&&(c.valid=!1,i)||(!i&&(b(u,r.name)?o?Ae(n.errors,u,r.name):C(n.errors,r.name,u[r.name]):H(n.errors,r.name)),e.shouldUseNativeValidation&&u[r.name]))break}!V(u)&&await G({context:c,onlyCheckValid:i,fields:u,name:o,eventType:s})}}return c.valid},ge=()=>{for(let e of p.unMount){let t=b(r,e);t&&(t._f.refs?t._f.refs.every(e=>!ue(e)):!ue(t._f.ref))&&Ue(e)}p.unMount=new Set},K=(e,n)=>!t.disabled&&(e&&n&&C(a,e,n),!L(Le(),i)),q=(e,t,n)=>F(e,p,{...l.mount?a:_(t)?i:P(e)?{[e]:t}:t},n,t),J=e=>v(b(l.mount?a:i,e,t.shouldUnregister?b(i,e,[]):[])),X=(e,t,n={})=>{let i=b(r,e),s=t;if(i){let n=i._f;n&&(!n.disabled&&C(a,e,_e(t,n)),s=oe(n.ref)&&c(t)?``:t,se(n.ref)?[...n.ref.options].forEach(e=>e.selected=s.includes(e.value)):n.refs?o(n.ref)?n.refs.forEach(e=>{(!e.defaultChecked||!e.disabled)&&(Array.isArray(s)?e.checked=!!s.find(t=>t===e.value):e.checked=s===e.value||!!s)}):n.refs.forEach(e=>e.checked=e.value===s):ae(n.ref)?n.ref.value=``:(n.ref.value=s,n.ref.type||M.state.next({name:e,values:h(a)})))}(n.shouldDirty||n.shouldTouch)&&fe(e,s,n.shouldTouch,n.shouldDirty,!0),n.shouldValidate&&Ie(e)},je=(e,t,n)=>{for(let i in t){if(!t.hasOwnProperty(i))return;let a=t[i],o=e+`.`+i,c=b(r,o);(p.array.has(e)||u(a)||c&&!c._f)&&!s(a)?je(o,a,n):X(o,a,n)}},Q=(e,t,i={})=>{let o=b(r,e),s=p.array.has(e),u=h(t);C(a,e,u),s?(M.array.next({name:e,values:h(a)}),(A.isDirty||A.dirtyFields||j.isDirty||j.dirtyFields)&&i.shouldDirty&&(ee(e),M.state.next({name:e,dirtyFields:n.dirtyFields,isDirty:K(e,u)}))):o&&!o._f&&!c(u)?je(e,u,i):X(e,u,i),we(e,p)?M.state.next({...n,name:e,values:h(a)}):M.state.next({name:l.mount?e:void 0,values:h(a)})},Pe=async i=>{l.mount=!0;let o=i.target,c=o.name,u=!0,f=b(r,c),m=e=>{u=Number.isNaN(e)||s(e)&&isNaN(e.getTime())||L(e,b(a,c,e))},_=xe(t.mode),v=xe(t.reValidateMode);if(f){let s,l,y=o.type?ve(f._f):d(i),x=i.type===w.BLUR||i.type===w.FOCUS_OUT,S=!Ce(f._f)&&!e.validate&&!t.resolver&&!b(n.errors,c)&&!f._f.deps||Oe(x,b(n.touchedFields,c),n.isSubmitted,v,_),T=we(c,p,x);C(a,c,y),x?(!o||!o.readOnly)&&(f._f.onBlur&&f._f.onBlur(i),g&&g(0)):f._f.onChange&&f._f.onChange(i);let E=fe(c,y,x),D=!V(E)||T;if(!x&&M.state.next({name:c,type:i.type,values:h(a)}),S)return(A.isValid||j.isValid)&&(t.mode===`onBlur`?x&&R():x||R()),D&&M.state.next({name:c,...T?{}:E});if(!t.resolver&&e.validate&&await he({name:c,eventType:i.type}),!x&&T&&M.state.next({...n}),t.resolver){let{errors:e}=await U([c]);if(z([c]),m(y),u){let t=Te(n.errors,r,c),i=Te(e,r,t.name||c);s=i.error,c=i.name,l=V(e)}}else z([c],!0),s=(await Me(f,p.disabled,a,N,t.shouldUseNativeValidation))[c],z([c]),m(y),u&&(s?l=!1:(A.isValid||j.isValid)&&(l=await G({fields:r,onlyCheckValid:!0,name:c,eventType:i.type})));u&&(f._f.deps&&(!Array.isArray(f._f.deps)||f._f.deps.length>0)&&Ie(f._f.deps),pe(c,l,s,E))}},Fe=(e,t)=>{if(b(n.errors,t)&&e.focus)return e.focus(),1},Ie=async(e,i={})=>{let a,o,s=B(e);if(t.resolver){let t=await me(_(e)?e:s);a=V(t),o=e?!s.some(e=>b(t,e)):a}else e?(o=(await Promise.all(s.map(async e=>{let t=b(r,e);return await G({fields:t&&t._f?{[e]:t}:t,eventType:w.TRIGGER})}))).every(Boolean),!(!o&&!n.isValid)&&R()):o=a=await G({fields:r,name:e,eventType:w.TRIGGER});return M.state.next({...!P(e)||(A.isValid||j.isValid)&&a!==n.isValid?{}:{name:e},...t.resolver||!e?{isValid:a}:{},errors:n.errors}),i.shouldFocus&&!o&&Z(r,Fe,e?s:p.mount),o},Le=(e,t)=>{let r={...l.mount?a:i};return t&&(r=ie(t.dirtyFields?n.dirtyFields:n.touchedFields,r)),_(e)?r:P(e)?b(r,e):e.map(e=>b(r,e))},Re=(e,t)=>({invalid:!!b((t||n).errors,e),isDirty:!!b((t||n).dirtyFields,e),error:b((t||n).errors,e),isValidating:!!b(n.validatingFields,e),isTouched:!!b((t||n).touchedFields,e)}),ze=e=>{let t=e?B(e):void 0;t?.forEach(e=>H(n.errors,e)),t?t.forEach(e=>{M.state.next({name:e,errors:n.errors})}):M.state.next({errors:{}})},$=(e,t,i)=>{let a=(b(r,e,{_f:{}})._f||{}).ref,{ref:o,message:s,type:c,...l}=b(n.errors,e)||{};C(n.errors,e,{...l,...t,ref:a}),M.state.next({name:e,errors:n.errors,isValid:!1}),i&&i.shouldFocus&&a&&a.focus&&a.focus()},Be=(e,t)=>S(e)?M.state.subscribe({next:n=>`values`in n&&e(q(void 0,t),n)}):q(e,t,!0),Ve=e=>M.state.subscribe({next:t=>{De(e.name,t.name,e.exact)&&Ee(t,e.formState||A,$e,e.reRenderRoot)&&e.callback({values:{...a},...n,...t,defaultValues:i})}}).unsubscribe,He=e=>(l.mount=!0,j={...j,...e.formState},Ve({...e,formState:{...k,...e.formState}})),Ue=(e,o={})=>{for(let s of e?B(e):p.mount)p.mount.delete(s),p.array.delete(s),o.keepValue||(H(r,s),H(a,s)),!o.keepError&&H(n.errors,s),!o.keepDirty&&H(n.dirtyFields,s),!o.keepTouched&&H(n.touchedFields,s),!o.keepIsValidating&&H(n.validatingFields,s),!t.shouldUnregister&&!o.keepDefaultValue&&H(i,s);M.state.next({values:h(a)}),M.state.next({...n,...o.keepDirty?{isDirty:K()}:{}}),!o.keepIsValid&&R()},We=({disabled:e,name:t})=>{if(x(e)&&l.mount||e||p.disabled.has(t)){let n=p.disabled.has(t)!==!!e;e?p.disabled.add(t):p.disabled.delete(t),n&&l.mount&&!l.action&&R()}},Ge=(e,n={})=>{let a=b(r,e),o=x(n.disabled)||x(t.disabled),s=!p.registerName.has(e)&&a&&!a._f.mount;return C(r,e,{...a||{},_f:{...a&&a._f?a._f:{ref:{name:e}},name:e,mount:!0,...n}}),p.mount.add(e),a&&!s?We({disabled:x(n.disabled)?n.disabled:t.disabled,name:e}):de(e,!0,n.value),{...o?{disabled:n.disabled||t.disabled}:{},...t.progressive?{required:!!n.required,min:Y(n.min),max:Y(n.max),minLength:Y(n.minLength),maxLength:Y(n.maxLength),pattern:Y(n.pattern)}:{},name:e,onChange:Pe,onBlur:Pe,ref:o=>{if(o){p.registerName.add(e),Ge(e,n),p.registerName.delete(e),a=b(r,e);let t=_(o.value)&&o.querySelectorAll&&o.querySelectorAll(`input,select,textarea`)[0]||o,s=le(t),c=a._f.refs||[];if(s?c.find(e=>e===t):t===a._f.ref)return;C(r,e,{_f:{...a._f,...s?{refs:[...c.filter(ue),t,...Array.isArray(b(i,e))?[{}]:[]],ref:{type:t.type,name:e}}:{ref:t}}}),de(e,!1,void 0,t)}else a=b(r,e,{}),a._f&&(a._f.mount=!1),(t.shouldUnregister||n.shouldUnregister)&&!(f(p.array,e)&&l.action)&&p.unMount.add(e)}}},Ke=()=>t.shouldFocusError&&Z(r,Fe,p.mount),qe=e=>{x(e)&&(M.state.next({disabled:e}),Z(r,(t,n)=>{let i=b(r,n);i&&(t.disabled=i._f.disabled||e,Array.isArray(i._f.refs)&&i._f.refs.forEach(t=>{t.disabled=i._f.disabled||e}))},0,!1))},Je=(e,i)=>async o=>{let s;o&&(o.preventDefault&&o.preventDefault(),o.persist&&o.persist());let c=h(a);if(M.state.next({isSubmitting:!0}),t.resolver){let{errors:e,values:t}=await U();z(),n.errors=e,c=h(t)}else await G({fields:r,eventType:w.SUBMIT});if(p.disabled.size)for(let e of p.disabled)H(c,e);if(H(n.errors,O),V(n.errors)){M.state.next({errors:{}});try{await e(c,o)}catch(e){s=e}}else i&&await i({...n.errors},o),Ke(),setTimeout(Ke);if(M.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:V(n.errors)&&!s,submitCount:n.submitCount+1,errors:n.errors}),s)throw s},Ye=(e,t={})=>{b(r,e)&&(_(t.defaultValue)?Q(e,h(b(i,e))):(Q(e,t.defaultValue),C(i,e,h(t.defaultValue))),t.keepTouched||H(n.touchedFields,e),t.keepDirty||(H(n.dirtyFields,e),n.isDirty=t.defaultValue?K(e,h(b(i,e))):K()),t.keepError||(H(n.errors,e),A.isValid&&R()),M.state.next({...n}))},Xe=(e,o={})=>{let s=e?h(e):i,c=h(s),u=V(e),d=u?i:c;if(o.keepDefaultValues||(i=s),!o.keepValues){if(o.keepDirtyValues){let e=new Set([...p.mount,...Object.keys(W(i,a))]);for(let t of Array.from(e)){let e=b(n.dirtyFields,t),r=b(a,t),i=b(d,t);e&&!_(r)?C(d,t,r):!e&&!_(i)&&Q(t,i)}}else{if(m&&_(e))for(let e of p.mount){let t=b(r,e);if(t&&t._f){let e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(oe(e)){let t=e.closest(`form`);if(t){t.reset();break}}}}if(o.keepFieldsRef)for(let e of p.mount)Q(e,b(d,e));else r={}}a=t.shouldUnregister?o.keepDefaultValues?h(i):{}:h(d),M.array.next({values:{...d}}),M.state.next({values:{...d}})}p={mount:o.keepDirtyValues?p.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:``},l.mount=!A.isValid||!!o.keepIsValid||!!o.keepDirtyValues||!t.shouldUnregister&&!V(d),l.watch=!!t.shouldUnregister,l.keepIsValid=!!o.keepIsValid,l.action=!1,o.keepErrors||(n.errors={}),M.state.next({submitCount:o.keepSubmitCount?n.submitCount:0,isDirty:u?!1:o.keepDirty?n.isDirty:!!(o.keepDefaultValues&&!L(e,i)),isSubmitted:o.keepIsSubmitted?n.isSubmitted:!1,dirtyFields:u?{}:o.keepDirtyValues?o.keepDefaultValues&&a?W(i,a):n.dirtyFields:o.keepDefaultValues&&e?W(i,e):o.keepDirty?n.dirtyFields:{},touchedFields:o.keepTouched?n.touchedFields:{},errors:o.keepErrors?n.errors:{},isSubmitSuccessful:o.keepIsSubmitSuccessful?n.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:i})},Ze=(e,n)=>Xe(S(e)?e(a):e,{...t.resetOptions,...n}),Qe=(e,t={})=>{let n=b(r,e),i=n&&n._f;if(i){let e=i.refs?i.refs[0]:i.ref;e.focus&&setTimeout(()=>{e.focus(),t.shouldSelect&&S(e.select)&&e.select()})}},$e=e=>{n={...n,...e}},et={control:{register:Ge,unregister:Ue,getFieldState:Re,handleSubmit:Je,setError:$,_subscribe:Ve,_runSchema:U,_updateIsValidating:z,_focusError:Ke,_getWatch:q,_getDirty:K,_setValid:R,_setFieldArray:te,_setDisabledField:We,_setErrors:ce,_getFieldArray:J,_reset:Xe,_resetDefaultValues:()=>S(t.defaultValues)&&t.defaultValues().then(e=>{Ze(e,t.resetOptions),M.state.next({isLoading:!1})}),_removeUnmounted:ge,_disableForm:qe,_subjects:M,_proxyFormState:A,get _fields(){return r},get _formValues(){return a},get _state(){return l},set _state(e){l=e},get _defaultValues(){return i},get _names(){return p},set _names(e){p=e},get _formState(){return n},get _options(){return t},set _options(e){t={...t,...e}}},subscribe:He,trigger:Ie,register:Ge,handleSubmit:Je,watch:Be,setValue:Q,getValues:Le,reset:Ze,resetField:Ye,clearErrors:ze,unregister:Ue,setError:$,setFocus:Qe,getFieldState:Re};return{...et,formControl:et}}function Fe(e={}){let t=a.useRef(void 0),n=a.useRef(void 0),[r,i]=a.useState({isDirty:!1,isValidating:!1,isLoading:S(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:S(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:r},e.defaultValues&&!S(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{let{formControl:n,...i}=Pe(e);t.current={...i,formState:r}}let o=t.current.control;return o._options=e,M(()=>{let e=o._subscribe({formState:o._proxyFormState,callback:()=>i({...o._formState}),reRenderRoot:!0});return i(e=>({...e,isReady:!0})),o._formState.isReady=!0,e},[o]),a.useEffect(()=>o._disableForm(e.disabled),[o,e.disabled]),a.useEffect(()=>{e.mode&&(o._options.mode=e.mode),e.reValidateMode&&(o._options.reValidateMode=e.reValidateMode)},[o,e.mode,e.reValidateMode]),a.useEffect(()=>{e.errors&&(o._setErrors(e.errors),o._focusError())},[o,e.errors]),a.useEffect(()=>{e.shouldUnregister&&o._subjects.state.next({values:o._getWatch()})},[o,e.shouldUnregister]),a.useEffect(()=>{if(o._proxyFormState.isDirty){let e=o._getDirty();e!==r.isDirty&&o._subjects.state.next({isDirty:e})}},[o,r.isDirty]),a.useEffect(()=>{e.values&&!L(e.values,n.current)?(o._reset(e.values,{keepFieldsRef:!0,...o._options.resetOptions}),o._options.resetOptions?.keepIsValid||o._setValid(),n.current=e.values,i(e=>({...e}))):o._resetDefaultValues()},[o,e.values]),a.useEffect(()=>{o._state.mount||(o._setValid(),o._state.mount=!0),o._state.watch&&(o._state.watch=!1,o._subjects.state.next({...o._formState})),o._removeUnmounted()}),t.current.formState=a.useMemo(()=>j(r,o),[o,r]),t.current}var Ie=(e,t,n)=>{if(e&&`reportValidity`in e){let r=b(n,t);e.setCustomValidity(r&&r.message||``),e.reportValidity()}},Le=(e,t)=>{for(let n in t.fields){let r=t.fields[n];r&&r.ref&&`reportValidity`in r.ref?Ie(r.ref,n,e):r&&r.refs&&r.refs.forEach(t=>Ie(t,n,e))}},Re=(e,t)=>{t.shouldUseNativeValidation&&Le(e,t);let n={};for(let r in e){let i=b(t.fields,r),a=Object.assign(e[r]||{},{ref:i&&i.ref});if(ze(t.names||Object.keys(e),r)){let e=Object.assign({},b(n,r));C(e,`root`,a),C(n,r,e)}else C(n,r,a)}return n},ze=(e,t)=>{let n=$(t);return e.some(e=>$(e).match(`^${n}\\.\\d+`))};function $(e){return e.replace(/\]|\[/g,``)}function Be(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}function Ve(e,t){for(var n={};e.length;){var r=e[0],i=r.code,a=r.message,o=r.path.join(`.`);if(!n[o])if(`unionErrors`in r){var s=r.unionErrors[0].errors[0];n[o]={message:s.message,type:s.code}}else n[o]={message:a,type:i};if(`unionErrors`in r&&r.unionErrors.forEach(function(t){return t.errors.forEach(function(t){return e.push(t)})}),t){var c=n[o].types,l=c&&c[r.code];n[o]=ne(o,t,n,i,l?[].concat(l,r.message):r.message)}e.shift()}return n}function He(e,t){for(var n={};e.length;){var r=e[0],i=r.code,a=r.message,o=r.path.join(`.`);if(!n[o])if(r.code===`invalid_union`&&r.errors.length>0){var s=r.errors[0][0];n[o]={message:s.message,type:s.code}}else n[o]={message:a,type:i};if(r.code===`invalid_union`&&r.errors.forEach(function(t){return t.forEach(function(t){return e.push(t)})}),t){var c=n[o].types,l=c&&c[r.code];n[o]=ne(o,t,n,i,l?[].concat(l,r.message):r.message)}e.shift()}return n}function Ue(e,t,a){if(a===void 0&&(a={}),function(e){return`_def`in e&&typeof e._def==`object`&&`typeName`in e._def}(e))return function(n,r,i){try{return Promise.resolve(Be(function(){return Promise.resolve(e[a.mode===`sync`?`parse`:`parseAsync`](n,t)).then(function(e){return i.shouldUseNativeValidation&&Le({},i),{errors:{},values:a.raw?Object.assign({},n):e}})},function(e){if(function(e){return Array.isArray(e?.issues)}(e))return{values:{},errors:Re(Ve(e.errors,!i.shouldUseNativeValidation&&i.criteriaMode===`all`),i)};throw e}))}catch(e){return Promise.reject(e)}};if(function(e){return`_zod`in e&&typeof e._zod==`object`}(e))return function(o,s,c){try{return Promise.resolve(Be(function(){return Promise.resolve((a.mode===`sync`?n:r)(e,o,t)).then(function(e){return c.shouldUseNativeValidation&&Le({},c),{errors:{},values:a.raw?Object.assign({},o):e}})},function(e){if(function(e){return e instanceof i}(e))return{values:{},errors:Re(He(e.issues,!c.shouldUseNativeValidation&&c.criteriaMode===`all`),c)};throw e}))}catch(e){return Promise.reject(e)}};throw Error(`Invalid input: not a Zod schema`)}export{ee as n,Fe as r,Ue as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/index.html b/spinifex/services/spinifexui/frontend/dist/index.html index ffa7b8de0..158918fef 100644 --- a/spinifex/services/spinifexui/frontend/dist/index.html +++ b/spinifex/services/spinifexui/frontend/dist/index.html @@ -16,6 +16,7 @@ + @@ -42,11 +43,13 @@ + + - + diff --git a/spinifex/services/spinifexui/frontend/package.json b/spinifex/services/spinifexui/frontend/package.json index 90aae80cf..250393a8b 100644 --- a/spinifex/services/spinifexui/frontend/package.json +++ b/spinifex/services/spinifexui/frontend/package.json @@ -15,6 +15,7 @@ "dependencies": { "@aws-crypto/sha256-browser": "^5.2.0", "@aws-sdk/client-ec2": "^3.1029.0", + "@aws-sdk/client-elastic-load-balancing-v2": "^3.1029.0", "@aws-sdk/client-iam": "^3.1029.0", "@aws-sdk/client-s3": "^3.1029.0", "@aws-sdk/lib-storage": "^3.1029.0", diff --git a/spinifex/services/spinifexui/frontend/pnpm-lock.yaml b/spinifex/services/spinifexui/frontend/pnpm-lock.yaml index c9fd493c7..8fc25b6d3 100644 --- a/spinifex/services/spinifexui/frontend/pnpm-lock.yaml +++ b/spinifex/services/spinifexui/frontend/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: '@aws-sdk/client-ec2': specifier: ^3.1029.0 version: 3.1029.0 + '@aws-sdk/client-elastic-load-balancing-v2': + specifier: ^3.1029.0 + version: 3.1029.0 '@aws-sdk/client-iam': specifier: ^3.1029.0 version: 3.1029.0 @@ -193,6 +196,10 @@ packages: resolution: {integrity: sha512-JrxHF3368Tjt3fkcoajSEGeAnOLIcpOMlf9raSO88Q5+gUOsRtWwfBoJD5VsZFaY2aqc335INT6s2bAbv6kELA==} engines: {node: '>=20.0.0'} + '@aws-sdk/client-elastic-load-balancing-v2@3.1029.0': + resolution: {integrity: sha512-iGZZr0Vj+7+uGIKBbD0Xl8fvUgM2ZAKNQA9F4nu+dpRCRD17SuwtHoPUIUf2eWMxtFvzqZ2DWmaFbnREEOU3AA==} + engines: {node: '>=20.0.0'} + '@aws-sdk/client-iam@3.1029.0': resolution: {integrity: sha512-v/5wWvrX3fveCP5UQ4qTCvvD9KCQ3dpnY6uEOCGpkAigli+xzEixl8xNQDCRi9G3KyrhvGaeE2SEfuuoCHX+gw==} engines: {node: '>=20.0.0'} @@ -3101,6 +3108,51 @@ snapshots: transitivePeerDependencies: - aws-crt + '@aws-sdk/client-elastic-load-balancing-v2@3.1029.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.973.27 + '@aws-sdk/credential-provider-node': 3.972.30 + '@aws-sdk/middleware-host-header': 3.972.9 + '@aws-sdk/middleware-logger': 3.972.9 + '@aws-sdk/middleware-recursion-detection': 3.972.10 + '@aws-sdk/middleware-user-agent': 3.972.29 + '@aws-sdk/region-config-resolver': 3.972.11 + '@aws-sdk/types': 3.973.7 + '@aws-sdk/util-endpoints': 3.996.6 + '@aws-sdk/util-user-agent-browser': 3.972.9 + '@aws-sdk/util-user-agent-node': 3.973.15 + '@smithy/config-resolver': 4.4.14 + '@smithy/core': 3.23.14 + '@smithy/fetch-http-handler': 5.3.16 + '@smithy/hash-node': 4.2.13 + '@smithy/invalid-dependency': 4.2.13 + '@smithy/middleware-content-length': 4.2.13 + '@smithy/middleware-endpoint': 4.4.29 + '@smithy/middleware-retry': 4.5.1 + '@smithy/middleware-serde': 4.2.17 + '@smithy/middleware-stack': 4.2.13 + '@smithy/node-config-provider': 4.3.13 + '@smithy/node-http-handler': 4.5.2 + '@smithy/protocol-http': 5.3.13 + '@smithy/smithy-client': 4.12.9 + '@smithy/types': 4.14.0 + '@smithy/url-parser': 4.2.13 + '@smithy/util-base64': 4.3.2 + '@smithy/util-body-length-browser': 4.2.2 + '@smithy/util-body-length-node': 4.2.3 + '@smithy/util-defaults-mode-browser': 4.3.45 + '@smithy/util-defaults-mode-node': 4.2.49 + '@smithy/util-endpoints': 3.3.4 + '@smithy/util-middleware': 4.2.13 + '@smithy/util-retry': 4.3.1 + '@smithy/util-utf8': 4.2.2 + '@smithy/util-waiter': 4.2.15 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + '@aws-sdk/client-iam@3.1029.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 diff --git a/spinifex/services/spinifexui/frontend/src/components/elbv2/attributes-editor.test.tsx b/spinifex/services/spinifexui/frontend/src/components/elbv2/attributes-editor.test.tsx new file mode 100644 index 000000000..c28c033ac --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/components/elbv2/attributes-editor.test.tsx @@ -0,0 +1,169 @@ +import { render, screen } from "@testing-library/react" +import userEvent from "@testing-library/user-event" +import { describe, expect, it, vi } from "vitest" + +import { + albAttributeSpecs, + AttributesEditor, + type AttributeSpec, + targetGroupAttributeSpecs, +} from "./attributes-editor" + +const SIMPLE_SPECS: AttributeSpec[] = [ + { + key: "deletion_protection.enabled", + label: "Deletion protection", + type: "bool", + }, + { + key: "idle_timeout.timeout_seconds", + label: "Idle timeout (s)", + type: "int", + min: 1, + max: 4000, + }, + { key: "access_logs.s3.bucket", label: "Bucket", type: "text" }, + { + key: "routing.http.desync_mitigation_mode", + label: "Desync mitigation", + type: "select", + options: ["defensive", "strictest", "monitor"] as const, + }, +] + +const INITIAL = [ + { Key: "deletion_protection.enabled", Value: "false" }, + { Key: "idle_timeout.timeout_seconds", Value: "60" }, + { Key: "access_logs.s3.bucket", Value: "" }, + { Key: "routing.http.desync_mitigation_mode", Value: "defensive" }, +] + +describe("AttributesEditor", () => { + it("seeds fields from initial attributes and disables Save with no changes", () => { + render( + {}} + specs={SIMPLE_SPECS} + />, + ) + + expect(screen.getByLabelText("Deletion protection")).not.toBeChecked() + expect(screen.getByLabelText("Idle timeout (s)")).toHaveValue("60") + expect(screen.getByText("No changes")).toBeInTheDocument() + expect(screen.getByRole("button", { name: /save changes/i })).toBeDisabled() + }) + + it("submits only the keys the user changed", async () => { + const user = userEvent.setup() + const onSubmit = vi.fn() + render( + , + ) + + await user.click(screen.getByLabelText("Deletion protection")) + const idle = screen.getByLabelText("Idle timeout (s)") + await user.clear(idle) + await user.type(idle, "120") + + await user.click(screen.getByRole("button", { name: /save changes/i })) + + expect(onSubmit).toHaveBeenCalledWith([ + { key: "deletion_protection.enabled", value: "true" }, + { key: "idle_timeout.timeout_seconds", value: "120" }, + ]) + }) + + it("blocks submit when an int field is out of range", async () => { + const user = userEvent.setup() + const onSubmit = vi.fn() + render( + , + ) + + const idle = screen.getByLabelText("Idle timeout (s)") + await user.clear(idle) + await user.type(idle, "9999") + + const save = screen.getByRole("button", { name: /save changes/i }) + expect(save).toBeDisabled() + expect(screen.getByText(/at most 4000/i)).toBeInTheDocument() + expect(onSubmit).not.toHaveBeenCalled() + }) + + it("Reset reverts dirty values back to initial", async () => { + const user = userEvent.setup() + render( + {}} + specs={SIMPLE_SPECS} + />, + ) + + await user.click(screen.getByLabelText("Deletion protection")) + expect(screen.getByLabelText("Deletion protection")).toBeChecked() + + await user.click(screen.getByRole("button", { name: /reset/i })) + + expect(screen.getByLabelText("Deletion protection")).not.toBeChecked() + expect(screen.getByText("No changes")).toBeInTheDocument() + }) + + it("renders a Save button in pending state", () => { + render( + {}} + specs={SIMPLE_SPECS} + />, + ) + expect(screen.getByRole("button", { name: /saving/i })).toBeDisabled() + }) + + it("renders an error banner when the mutation fails", () => { + render( + {}} + specs={SIMPLE_SPECS} + />, + ) + expect(screen.getByRole("alert")).toHaveTextContent("boom") + }) + + it("exports spec sets covering every DefaultLoadBalancerAttributes/TG key required by plan", () => { + const lbKeys = albAttributeSpecs.map((s) => s.key) + expect(lbKeys).toContain("deletion_protection.enabled") + expect(lbKeys).toContain("load_balancing.cross_zone.enabled") + expect(lbKeys).toContain("idle_timeout.timeout_seconds") + expect(lbKeys).toContain("access_logs.s3.bucket") + expect(lbKeys).toContain("connection_logs.s3.prefix") + + const tgKeys = targetGroupAttributeSpecs.map((s) => s.key) + expect(tgKeys).toEqual([ + "deregistration_delay.timeout_seconds", + "stickiness.enabled", + "stickiness.type", + "stickiness.lb_cookie.duration_seconds", + "load_balancing.cross_zone.enabled", + "load_balancing.algorithm.type", + "slow_start.duration_seconds", + ]) + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/components/elbv2/attributes-editor.tsx b/spinifex/services/spinifexui/frontend/src/components/elbv2/attributes-editor.tsx new file mode 100644 index 000000000..d7d25a361 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/components/elbv2/attributes-editor.tsx @@ -0,0 +1,389 @@ +import { useMemo, useState } from "react" + +import { Button } from "@/components/ui/button" +import { Field, FieldError, FieldTitle } from "@/components/ui/field" +import { Input } from "@/components/ui/input" +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select" + +export type AttributeSpec = + | { + key: string + label: string + description?: string + type: "bool" + } + | { + key: string + label: string + description?: string + type: "int" + min?: number + max?: number + } + | { + key: string + label: string + description?: string + type: "text" + placeholder?: string + } + | { + key: string + label: string + description?: string + type: "select" + options: readonly string[] + } + +export interface AttributesEditorAttribute { + Key?: string + Value?: string +} + +interface AttributesEditorProps { + specs: AttributeSpec[] + attributes: AttributesEditorAttribute[] + onSubmit: (changed: { key: string; value: string }[]) => void + isPending: boolean + error?: Error | null + isSuccess?: boolean +} + +function buildInitial( + specs: AttributeSpec[], + attributes: AttributesEditorAttribute[], +): Record { + const byKey = new Map() + for (const attr of attributes) { + if (attr.Key !== undefined) { + byKey.set(attr.Key, attr.Value ?? "") + } + } + const out: Record = {} + for (const spec of specs) { + out[spec.key] = byKey.get(spec.key) ?? "" + } + return out +} + +function validate(spec: AttributeSpec, value: string): string | undefined { + if (spec.type === "int") { + if (value.trim() === "") { + return "Value is required" + } + if (!/^-?\d+$/.test(value)) { + return "Must be a whole number" + } + const n = Number(value) + if (spec.min !== undefined && n < spec.min) { + return `Must be at least ${spec.min}` + } + if (spec.max !== undefined && n > spec.max) { + return `Must be at most ${spec.max}` + } + } + return undefined +} + +export function AttributesEditor({ + specs, + attributes, + onSubmit, + isPending, + error, + isSuccess, +}: AttributesEditorProps) { + const initial = useMemo( + () => buildInitial(specs, attributes), + [specs, attributes], + ) + const [values, setValues] = useState(initial) + + const setValue = (key: string, value: string) => { + setValues((prev) => ({ ...prev, [key]: value })) + } + + const errors: Record = {} + for (const spec of specs) { + errors[spec.key] = validate(spec, values[spec.key] ?? "") + } + const hasError = Object.values(errors).some(Boolean) + + const changed = specs + .filter((s) => (values[s.key] ?? "") !== (initial[s.key] ?? "")) + .map((s) => ({ key: s.key, value: values[s.key] ?? "" })) + + const handleReset = () => { + setValues(initial) + } + + return ( +
{ + e.preventDefault() + if (hasError || changed.length === 0) { + return + } + onSubmit(changed) + }} + > + {error && ( +
+ {error.message || "Failed to save attributes"} +
+ )} + {isSuccess && changed.length === 0 && ( +
+ Attributes saved. +
+ )} +
+
+ {specs.map((spec) => { + const id = `attr-${spec.key}` + const value = values[spec.key] ?? "" + const fieldError = errors[spec.key] + return ( + + + + + {spec.type === "bool" && ( + + setValue(spec.key, e.target.checked ? "true" : "false") + } + type="checkbox" + /> + )} + {spec.type === "int" && ( + setValue(spec.key, e.target.value)} + value={value} + /> + )} + {spec.type === "text" && ( + setValue(spec.key, e.target.value)} + placeholder={spec.placeholder} + value={value} + /> + )} + {spec.type === "select" && ( + + )} + {spec.description && ( +

+ {spec.description} +

+ )} + +
+ ) + })} +
+
+ + {changed.length === 0 + ? "No changes" + : `${changed.length} change${changed.length === 1 ? "" : "s"} pending`} + + + +
+
+
+ ) +} + +// Spec: DefaultLoadBalancerAttributes ALB subset. Keys must match +// handlers/elbv2/types.go:DefaultLoadBalancerAttributes or handler returns +// ValidationError. +export const albAttributeSpecs: AttributeSpec[] = [ + { + key: "deletion_protection.enabled", + label: "Deletion protection", + type: "bool", + }, + { + key: "load_balancing.cross_zone.enabled", + label: "Cross-zone load balancing", + type: "bool", + }, + { + key: "idle_timeout.timeout_seconds", + label: "Idle timeout (s)", + type: "int", + min: 1, + max: 4000, + }, + { + key: "client_keep_alive.seconds", + label: "Client keep-alive (s)", + type: "int", + min: 60, + max: 604_800, + }, + { key: "routing.http2.enabled", label: "HTTP/2", type: "bool" }, + { + key: "routing.http.drop_invalid_header_fields.enabled", + label: "Drop invalid header fields", + type: "bool", + }, + { + key: "routing.http.preserve_host_header.enabled", + label: "Preserve host header", + type: "bool", + }, + { + key: "routing.http.xff_client_port.enabled", + label: "XFF client port", + type: "bool", + }, + { + key: "routing.http.xff_header_processing.mode", + label: "XFF header processing", + type: "select", + options: ["append", "preserve", "remove"] as const, + }, + { + key: "routing.http.desync_mitigation_mode", + label: "Desync mitigation mode", + type: "select", + options: ["defensive", "strictest", "monitor"] as const, + }, + { + key: "routing.http.x_amzn_tls_version_and_cipher_suite.enabled", + label: "Add TLS version & cipher headers", + type: "bool", + }, + { key: "waf.fail_open.enabled", label: "WAF fail open", type: "bool" }, + { + key: "zonal_shift.config.enabled", + label: "Zonal shift", + type: "bool", + }, + { + key: "access_logs.s3.enabled", + label: "Access logs: enabled", + type: "bool", + }, + { + key: "access_logs.s3.bucket", + label: "Access logs: S3 bucket", + type: "text", + }, + { + key: "access_logs.s3.prefix", + label: "Access logs: S3 prefix", + type: "text", + }, + { + key: "connection_logs.s3.enabled", + label: "Connection logs: enabled", + type: "bool", + }, + { + key: "connection_logs.s3.bucket", + label: "Connection logs: S3 bucket", + type: "text", + }, + { + key: "connection_logs.s3.prefix", + label: "Connection logs: S3 prefix", + type: "text", + }, +] + +// Spec: DefaultTargetGroupAttributes. Keys must match +// handlers/elbv2/types.go:DefaultTargetGroupAttributes. +export const targetGroupAttributeSpecs: AttributeSpec[] = [ + { + key: "deregistration_delay.timeout_seconds", + label: "Deregistration delay (s)", + type: "int", + min: 0, + max: 3600, + }, + { key: "stickiness.enabled", label: "Stickiness", type: "bool" }, + { + key: "stickiness.type", + label: "Stickiness type", + type: "select", + options: ["lb_cookie", "source_ip"] as const, + }, + { + key: "stickiness.lb_cookie.duration_seconds", + label: "Stickiness lb_cookie duration (s)", + type: "int", + min: 1, + max: 604_800, + }, + { + key: "load_balancing.cross_zone.enabled", + label: "Cross-zone load balancing", + type: "select", + options: ["true", "false", "use_load_balancer_configuration"] as const, + }, + { + key: "load_balancing.algorithm.type", + label: "Load balancing algorithm", + type: "select", + options: ["round_robin", "least_outstanding_requests"] as const, + }, + { + key: "slow_start.duration_seconds", + label: "Slow start duration (s)", + type: "int", + min: 0, + max: 900, + }, +] diff --git a/spinifex/services/spinifexui/frontend/src/components/elbv2/lb-image-missing-banner.tsx b/spinifex/services/spinifexui/frontend/src/components/elbv2/lb-image-missing-banner.tsx new file mode 100644 index 000000000..475286bc5 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/components/elbv2/lb-image-missing-banner.tsx @@ -0,0 +1,19 @@ +import { LB_IMAGE_NAME } from "@/lib/system-managed" + +export function LbImageMissingBanner() { + return ( +
+

+ Load balancer image not imported +

+

+ The load balancer system image has not been imported on this cluster. A + cluster administrator must run the following command before load + balancers can be created: +

+
+        spx admin images import --name {LB_IMAGE_NAME}
+      
+
+ ) +} diff --git a/spinifex/services/spinifexui/frontend/src/components/elbv2/listener-form.test.tsx b/spinifex/services/spinifexui/frontend/src/components/elbv2/listener-form.test.tsx new file mode 100644 index 000000000..ae396ca63 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/components/elbv2/listener-form.test.tsx @@ -0,0 +1,52 @@ +import type { TargetGroup } from "@aws-sdk/client-elastic-load-balancing-v2" +import { render, screen } from "@testing-library/react" +import { useForm } from "react-hook-form" +import { describe, expect, it } from "vitest" + +import type { CreateListenerFormData } from "@/types/elbv2" + +import { ListenerForm } from "./listener-form" + +const TGS: TargetGroup[] = [ + { + TargetGroupArn: "arn:tg/a", + TargetGroupName: "tg-a", + Protocol: "HTTP", + Port: 80, + VpcId: "vpc-aaa", + }, + { + TargetGroupArn: "arn:tg/b", + TargetGroupName: "tg-b", + Protocol: "HTTP", + Port: 8080, + VpcId: "vpc-aaa", + }, +] + +function Harness({ targetGroups }: { targetGroups: TargetGroup[] }) { + const form = useForm({ + defaultValues: { + protocol: "HTTP", + port: 80, + defaultTargetGroupArn: "", + }, + }) + return +} + +describe("ListenerForm", () => { + it("renders protocol, port, and target-group selectors", () => { + render() + expect(screen.getByLabelText("Protocol")).toBeInTheDocument() + expect(screen.getByLabelText("Port")).toBeInTheDocument() + expect(screen.getByLabelText("Default target group")).toBeInTheDocument() + }) + + it("shows empty-state message when no target groups available", () => { + render() + expect( + screen.getByText(/no target groups available in this vpc/i), + ).toBeInTheDocument() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/components/elbv2/listener-form.tsx b/spinifex/services/spinifexui/frontend/src/components/elbv2/listener-form.tsx new file mode 100644 index 000000000..7c50c42ce --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/components/elbv2/listener-form.tsx @@ -0,0 +1,103 @@ +import type { TargetGroup } from "@aws-sdk/client-elastic-load-balancing-v2" +import type { UseFormReturn } from "react-hook-form" +import { Controller } from "react-hook-form" + +import { Field, FieldError, FieldTitle } from "@/components/ui/field" +import { Input } from "@/components/ui/input" +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select" +import type { CreateListenerFormData } from "@/types/elbv2" + +interface ListenerFormProps { + form: UseFormReturn + targetGroups: TargetGroup[] +} + +export function ListenerForm({ form, targetGroups }: ListenerFormProps) { + const { + control, + register, + formState: { errors }, + } = form + + return ( + <> + + + + + ( + + )} + /> + + + + + + + + + + + + + + + ( + + )} + /> + + {targetGroups.length === 0 && ( +

+ No target groups available in this VPC. Create one first. +

+ )} +
+ + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/components/elbv2/listeners-tab.test.tsx b/spinifex/services/spinifexui/frontend/src/components/elbv2/listeners-tab.test.tsx new file mode 100644 index 000000000..d51ff5342 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/components/elbv2/listeners-tab.test.tsx @@ -0,0 +1,200 @@ +import { QueryClient, QueryClientProvider } from "@tanstack/react-query" +import { render, screen, waitFor } from "@testing-library/react" +import userEvent from "@testing-library/user-event" +import type { ReactNode } from "react" +import { afterEach, describe, expect, it, vi } from "vitest" + +const mockSend = vi.fn() + +vi.mock("@/lib/awsClient", () => ({ + getElbv2Client: () => ({ send: mockSend }), +})) + +import { ListenersTab } from "./listeners-tab" + +const LB_ARN = "arn:aws:elasticloadbalancing:lb/app/foo/abc" +const TG_ARN_A = "arn:aws:elasticloadbalancing:tg/app/a/aaa" +const TG_ARN_B = "arn:aws:elasticloadbalancing:tg/app/b/bbb" + +function createWrapper(queryClient: QueryClient) { + return function Wrapper({ children }: { children: ReactNode }) { + return ( + {children} + ) + } +} + +function seedClient(opts: { + listeners?: unknown + targetGroups?: unknown +}): QueryClient { + const queryClient = new QueryClient({ + defaultOptions: { + queries: { + retry: false, + staleTime: Number.POSITIVE_INFINITY, + refetchOnMount: false, + }, + mutations: { retry: false }, + }, + }) + queryClient.setQueryData( + ["elbv2", "listeners", LB_ARN], + opts.listeners ?? { Listeners: [] }, + ) + queryClient.setQueryData( + ["elbv2", "targetGroups"], + opts.targetGroups ?? { TargetGroups: [] }, + ) + return queryClient +} + +afterEach(() => { + mockSend.mockReset() +}) + +describe("ListenersTab", () => { + it("renders empty state and delete-note when no listeners", () => { + const queryClient = seedClient({}) + render(, { + wrapper: createWrapper(queryClient), + }) + expect( + screen.getByText( + /listeners cannot be edited\. delete and re-add to change/i, + ), + ).toBeInTheDocument() + expect(screen.getByText("No listeners configured.")).toBeInTheDocument() + expect( + screen.getByRole("button", { name: "Add listener" }), + ).toBeInTheDocument() + }) + + it("renders listener rows with resolved default target-group name", () => { + const queryClient = seedClient({ + listeners: { + Listeners: [ + { + ListenerArn: "arn:listener/1", + Protocol: "HTTP", + Port: 80, + DefaultActions: [{ Type: "forward", TargetGroupArn: TG_ARN_A }], + }, + ], + }, + targetGroups: { + TargetGroups: [ + { + TargetGroupArn: TG_ARN_A, + TargetGroupName: "my-tg", + Protocol: "HTTP", + Port: 80, + VpcId: "vpc-aaa", + }, + ], + }, + }) + render(, { + wrapper: createWrapper(queryClient), + }) + expect(screen.getByText("forward → my-tg")).toBeInTheDocument() + expect(screen.getByText("HTTP")).toBeInTheDocument() + expect(screen.getByText("80")).toBeInTheDocument() + }) + + it("opens delete confirm and calls DeleteListenerCommand", async () => { + const queryClient = seedClient({ + listeners: { + Listeners: [ + { + ListenerArn: "arn:listener/1", + Protocol: "HTTP", + Port: 80, + DefaultActions: [{ Type: "forward", TargetGroupArn: TG_ARN_A }], + }, + ], + }, + }) + mockSend.mockResolvedValue({}) + const user = userEvent.setup() + render(, { + wrapper: createWrapper(queryClient), + }) + await user.click(screen.getByLabelText("Delete listener HTTP:80")) + expect(screen.getByText(/delete listener http:80/i)).toBeInTheDocument() + const before = mockSend.mock.calls.length + await user.click(screen.getByRole("button", { name: "Delete" })) + await waitFor(() => + expect(mockSend.mock.calls.length).toBeGreaterThan(before), + ) + const call = mockSend.mock.calls[before]?.[0] + expect(call.input).toEqual({ ListenerArn: "arn:listener/1" }) + }) + + it("filters target groups by vpcId in the add-listener dialog", async () => { + const queryClient = seedClient({ + targetGroups: { + TargetGroups: [ + { + TargetGroupArn: TG_ARN_A, + TargetGroupName: "tg-in-vpc", + Protocol: "HTTP", + Port: 80, + VpcId: "vpc-aaa", + }, + { + TargetGroupArn: TG_ARN_B, + TargetGroupName: "tg-other-vpc", + Protocol: "HTTP", + Port: 80, + VpcId: "vpc-bbb", + }, + ], + }, + }) + const user = userEvent.setup() + render(, { + wrapper: createWrapper(queryClient), + }) + await user.click(screen.getByRole("button", { name: "Add listener" })) + await user.click(screen.getByLabelText("Default target group")) + expect(await screen.findByText(/tg-in-vpc/)).toBeInTheDocument() + expect(screen.queryByText(/tg-other-vpc/)).not.toBeInTheDocument() + }) + + it("submits add-listener form and calls CreateListenerCommand", async () => { + const queryClient = seedClient({ + targetGroups: { + TargetGroups: [ + { + TargetGroupArn: TG_ARN_A, + TargetGroupName: "tg-a", + Protocol: "HTTP", + Port: 80, + VpcId: "vpc-aaa", + }, + ], + }, + }) + mockSend.mockResolvedValue({}) + const user = userEvent.setup() + render(, { + wrapper: createWrapper(queryClient), + }) + await user.click(screen.getByRole("button", { name: "Add listener" })) + await user.click(screen.getByLabelText("Default target group")) + await user.click(await screen.findByText(/tg-a/)) + const before = mockSend.mock.calls.length + await user.click(screen.getByRole("button", { name: /^add listener$/i })) + await waitFor(() => + expect(mockSend.mock.calls.length).toBeGreaterThan(before), + ) + const call = mockSend.mock.calls[before]?.[0] + expect(call.input).toEqual({ + LoadBalancerArn: LB_ARN, + Protocol: "HTTP", + Port: 80, + DefaultActions: [{ Type: "forward", TargetGroupArn: TG_ARN_A }], + }) + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/components/elbv2/listeners-tab.tsx b/spinifex/services/spinifexui/frontend/src/components/elbv2/listeners-tab.tsx new file mode 100644 index 000000000..f187a9998 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/components/elbv2/listeners-tab.tsx @@ -0,0 +1,259 @@ +import type { Listener } from "@aws-sdk/client-elastic-load-balancing-v2" +import { zodResolver } from "@hookform/resolvers/zod" +import { useSuspenseQuery } from "@tanstack/react-query" +import { Trash2 } from "lucide-react" +import { useEffect, useState } from "react" +import { useForm } from "react-hook-form" + +import { DeleteConfirmationDialog } from "@/components/delete-confirmation-dialog" +import { ListenerForm } from "@/components/elbv2/listener-form" +import { ErrorBanner } from "@/components/error-banner" +import { + AlertDialog, + AlertDialogAction, + AlertDialogCancel, + AlertDialogContent, + AlertDialogDescription, + AlertDialogFooter, + AlertDialogHeader, + AlertDialogTitle, +} from "@/components/ui/alert-dialog" +import { Button } from "@/components/ui/button" +import { useCreateListener, useDeleteListener } from "@/mutations/elbv2" +import { + elbv2ListenersQueryOptions, + elbv2TargetGroupsQueryOptions, +} from "@/queries/elbv2" +import { + type CreateListenerFormData, + createListenerSchema, +} from "@/types/elbv2" + +interface ListenersTabProps { + loadBalancerArn: string + vpcId: string | undefined +} + +export function ListenersTab({ loadBalancerArn, vpcId }: ListenersTabProps) { + const { data: listenersData } = useSuspenseQuery( + elbv2ListenersQueryOptions(loadBalancerArn), + ) + const { data: tgsData } = useSuspenseQuery(elbv2TargetGroupsQueryOptions) + + const createMutation = useCreateListener() + const deleteMutation = useDeleteListener() + + const [addOpen, setAddOpen] = useState(false) + const [deleteTarget, setDeleteTarget] = useState() + + const listeners = listenersData.Listeners ?? [] + const allTgs = tgsData.TargetGroups ?? [] + const vpcTgs = allTgs.filter((tg) => tg.VpcId === vpcId) + + const tgNameByArn = new Map() + for (const tg of allTgs) { + if (tg.TargetGroupArn && tg.TargetGroupName) { + tgNameByArn.set(tg.TargetGroupArn, tg.TargetGroupName) + } + } + + const formatDefaultAction = (listener: Listener): string => { + const action = listener.DefaultActions?.[0] + if (!action) { + return "—" + } + if (action.Type === "forward" && action.TargetGroupArn) { + const name = tgNameByArn.get(action.TargetGroupArn) + return name ? `forward → ${name}` : `forward → ${action.TargetGroupArn}` + } + return action.Type ?? "—" + } + + const handleCreate = async (data: CreateListenerFormData) => { + try { + await createMutation.mutateAsync({ + loadBalancerArn, + protocol: data.protocol, + port: data.port, + defaultTargetGroupArn: data.defaultTargetGroupArn, + }) + setAddOpen(false) + } catch { + // surfaced via mutation.error + } + } + + const handleDelete = async () => { + if (!deleteTarget?.ListenerArn) { + return + } + try { + await deleteMutation.mutateAsync(deleteTarget.ListenerArn) + } finally { + setDeleteTarget(undefined) + } + } + + return ( +
+

+ Listeners cannot be edited. Delete and re-add to change. +

+ + {createMutation.error && ( + + )} + {deleteMutation.error && ( + + )} + +
+

+ {listeners.length} listener{listeners.length === 1 ? "" : "s"} +

+ +
+ + {listeners.length === 0 ? ( +

No listeners configured.

+ ) : ( +
+ + + + + + + + + + + {listeners.map((listener) => ( + + + + + + + + ))} + +
ProtocolPortDefault actionListener ARN +
{listener.Protocol}{listener.Port} + {formatDefaultAction(listener)} + + {listener.ListenerArn} + + +
+
+ )} + + + + !open && setDeleteTarget(undefined)} + open={deleteTarget !== undefined} + title="Delete listener" + /> +
+ ) +} + +interface AddListenerDialogProps { + open: boolean + onOpenChange: (open: boolean) => void + targetGroups: React.ComponentProps["targetGroups"] + isPending: boolean + onSubmit: (data: CreateListenerFormData) => void +} + +function AddListenerDialog({ + open, + onOpenChange, + targetGroups, + isPending, + onSubmit, +}: AddListenerDialogProps) { + const form = useForm({ + resolver: zodResolver(createListenerSchema), + defaultValues: { + protocol: "HTTP", + port: 80, + defaultTargetGroupArn: "", + }, + }) + + useEffect(() => { + if (!open) { + form.reset({ + protocol: "HTTP", + port: 80, + defaultTargetGroupArn: "", + }) + } + }, [open, form]) + + const handleConfirm = form.handleSubmit(onSubmit) + + return ( + + + + Add listener + + Listeners forward incoming traffic to a default target group. + + + +
{ + e.preventDefault() + handleConfirm() + }} + > + + + + + Cancel + + {isPending ? "Adding\u2026" : "Add listener"} + + +
+
+ ) +} diff --git a/spinifex/services/spinifexui/frontend/src/components/elbv2/register-targets-dialog.test.tsx b/spinifex/services/spinifexui/frontend/src/components/elbv2/register-targets-dialog.test.tsx new file mode 100644 index 000000000..9421ec051 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/components/elbv2/register-targets-dialog.test.tsx @@ -0,0 +1,92 @@ +import type { Instance } from "@aws-sdk/client-ec2" +import { render, screen } from "@testing-library/react" +import userEvent from "@testing-library/user-event" +import { describe, expect, it, vi } from "vitest" + +import { RegisterTargetsDialog } from "./register-targets-dialog" + +const INSTANCES: Instance[] = [ + { + InstanceId: "i-aaa", + State: { Name: "running" }, + Tags: [{ Key: "Name", Value: "web-1" }], + }, + { + InstanceId: "i-bbb", + State: { Name: "stopped" }, + Tags: [], + }, +] + +function defaultProps() { + return { + open: true, + onOpenChange: vi.fn(), + instances: INSTANCES, + defaultPort: 80, + isPending: false, + onConfirm: vi.fn(), + } +} + +describe("RegisterTargetsDialog", () => { + it("lists instance ids and name tags", () => { + render() + expect(screen.getByText("i-aaa")).toBeInTheDocument() + expect(screen.getByText("(web-1)")).toBeInTheDocument() + expect(screen.getByText("i-bbb")).toBeInTheDocument() + }) + + it("shows an empty message when there are no instances", () => { + render() + expect( + screen.getByText("No instances available in this VPC."), + ).toBeInTheDocument() + }) + + it("requires at least one selection before submitting", async () => { + const onConfirm = vi.fn() + const user = userEvent.setup() + render() + await user.click(screen.getByRole("button", { name: "Register" })) + expect(onConfirm).not.toHaveBeenCalled() + expect(screen.getByRole("alert")).toHaveTextContent( + "Select at least one instance.", + ) + }) + + it("submits selected targets with no port override", async () => { + const onConfirm = vi.fn() + const user = userEvent.setup() + render() + await user.click(screen.getByLabelText(/i-aaa/)) + await user.click(screen.getByRole("button", { name: "Register" })) + expect(onConfirm).toHaveBeenCalledWith([{ id: "i-aaa" }]) + }) + + it("passes a valid port override through", async () => { + const onConfirm = vi.fn() + const user = userEvent.setup() + render() + await user.click(screen.getByLabelText(/i-aaa/)) + await user.type(screen.getByLabelText("Port override for i-aaa"), "8080") + await user.click(screen.getByRole("button", { name: "Register" })) + expect(onConfirm).toHaveBeenCalledWith([{ id: "i-aaa", port: 8080 }]) + }) + + it("rejects an invalid port override", async () => { + const onConfirm = vi.fn() + const user = userEvent.setup() + render() + await user.click(screen.getByLabelText(/i-aaa/)) + await user.type(screen.getByLabelText("Port override for i-aaa"), "99999") + await user.click(screen.getByRole("button", { name: "Register" })) + expect(onConfirm).not.toHaveBeenCalled() + expect(screen.getByRole("alert")).toHaveTextContent("Port for i-aaa") + }) + + it("shows pending label while submitting", () => { + render() + expect(screen.getByText("Registering\u2026")).toBeInTheDocument() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/components/elbv2/register-targets-dialog.tsx b/spinifex/services/spinifexui/frontend/src/components/elbv2/register-targets-dialog.tsx new file mode 100644 index 000000000..800c660aa --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/components/elbv2/register-targets-dialog.tsx @@ -0,0 +1,184 @@ +import type { Instance } from "@aws-sdk/client-ec2" +import { useEffect, useState } from "react" + +import { + AlertDialog, + AlertDialogAction, + AlertDialogCancel, + AlertDialogContent, + AlertDialogDescription, + AlertDialogFooter, + AlertDialogHeader, + AlertDialogTitle, +} from "@/components/ui/alert-dialog" +import { Input } from "@/components/ui/input" +import { getNameTag } from "@/lib/utils" +import type { TargetInput } from "@/mutations/elbv2" + +interface SelectionState { + checked: boolean + port: string +} + +interface RegisterTargetsDialogProps { + open: boolean + onOpenChange: (open: boolean) => void + instances: Instance[] + defaultPort: number + isPending: boolean + onConfirm: (targets: TargetInput[]) => void +} + +function parsePort(raw: string): number | undefined { + const trimmed = raw.trim() + if (trimmed === "") { + return undefined + } + const n = Number(trimmed) + if (!Number.isInteger(n) || n < 1 || n > 65_535) { + return undefined + } + return n +} + +export function RegisterTargetsDialog({ + open, + onOpenChange, + instances, + defaultPort, + isPending, + onConfirm, +}: RegisterTargetsDialogProps) { + const [selections, setSelections] = useState>( + {}, + ) + const [error, setError] = useState() + + useEffect(() => { + if (!open) { + setSelections({}) + setError(undefined) + } + }, [open]) + + const toggle = (id: string) => { + setSelections((prev) => { + const existing = prev[id] + if (existing?.checked) { + return { ...prev, [id]: { ...existing, checked: false } } + } + return { + ...prev, + [id]: { checked: true, port: existing?.port ?? "" }, + } + }) + } + + const setPort = (id: string, port: string) => { + setSelections((prev) => ({ + ...prev, + [id]: { checked: prev[id]?.checked ?? true, port }, + })) + } + + const handleConfirm = () => { + const selected = Object.entries(selections).filter( + ([, v]) => v.checked && v !== undefined, + ) + if (selected.length === 0) { + setError("Select at least one instance.") + return + } + const targets: TargetInput[] = [] + for (const [id, v] of selected) { + if (v.port.trim() === "") { + targets.push({ id }) + continue + } + const parsed = parsePort(v.port) + if (parsed === undefined) { + setError(`Port for ${id} must be an integer between 1 and 65535.`) + return + } + targets.push({ id, port: parsed }) + } + setError(undefined) + onConfirm(targets) + } + + return ( + + + + Register targets + + Select instances to register. Leave port blank to use the target + group port ({defaultPort}). + + + + {instances.length === 0 ? ( +

+ No instances available in this VPC. +

+ ) : ( +
+ {instances.map((inst) => { + const id = inst.InstanceId ?? "" + const selection = selections[id] + const checked = selection?.checked ?? false + const name = getNameTag(inst.Tags) + return ( +
+ toggle(id)} + type="checkbox" + /> + + {checked && ( + setPort(id, e.target.value)} + placeholder={String(defaultPort)} + value={selection?.port ?? ""} + /> + )} +
+ ) + })} +
+ )} + + {error && ( +

+ {error} +

+ )} + + + Cancel + + {isPending ? "Registering\u2026" : "Register"} + + +
+
+ ) +} diff --git a/spinifex/services/spinifexui/frontend/src/components/elbv2/target-group-form.test.tsx b/spinifex/services/spinifexui/frontend/src/components/elbv2/target-group-form.test.tsx new file mode 100644 index 000000000..a0b4dced3 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/components/elbv2/target-group-form.test.tsx @@ -0,0 +1,65 @@ +import type { Vpc } from "@aws-sdk/client-ec2" +import { render, screen } from "@testing-library/react" +import userEvent from "@testing-library/user-event" +import { useForm } from "react-hook-form" +import { describe, expect, it } from "vitest" + +import type { CreateTargetGroupFormData } from "@/types/elbv2" + +import { TargetGroupForm } from "./target-group-form" + +const VPCS: Vpc[] = [ + { VpcId: "vpc-aaa", CidrBlock: "10.0.0.0/16", Tags: [] }, + { VpcId: "vpc-bbb", CidrBlock: "10.1.0.0/16", Tags: [] }, +] + +function Harness({ + onFormRef, +}: { + onFormRef?: ( + form: ReturnType>, + ) => void +}) { + const form = useForm({ + defaultValues: { + name: "", + protocol: "HTTP", + port: 80, + vpcId: "vpc-aaa", + healthCheck: { + protocol: "HTTP", + path: "/", + port: "traffic-port", + intervalSeconds: 30, + timeoutSeconds: 5, + healthyThresholdCount: 5, + unhealthyThresholdCount: 2, + matcher: "200", + }, + tags: [], + }, + }) + onFormRef?.(form) + return +} + +describe("TargetGroupForm", () => { + it("renders the visible field inputs", () => { + render() + expect(screen.getByLabelText("Name")).toBeInTheDocument() + expect(screen.getByLabelText("Port")).toBeInTheDocument() + expect(screen.getByText("Health check settings")).toBeInTheDocument() + expect(screen.getByText("Tags")).toBeInTheDocument() + }) + + it("adds tag rows via the add-tag button", async () => { + const user = userEvent.setup() + let form: ReturnType> | undefined + render( (form = f)} />) + + await user.click(screen.getByRole("button", { name: /add tag/i })) + expect(form?.getValues("tags")).toHaveLength(1) + await user.click(screen.getByRole("button", { name: /add tag/i })) + expect(form?.getValues("tags")).toHaveLength(2) + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/components/elbv2/target-group-form.tsx b/spinifex/services/spinifexui/frontend/src/components/elbv2/target-group-form.tsx new file mode 100644 index 000000000..19a47b93a --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/components/elbv2/target-group-form.tsx @@ -0,0 +1,280 @@ +import type { Vpc } from "@aws-sdk/client-ec2" +import { Plus, Trash2 } from "lucide-react" +import type { UseFormReturn } from "react-hook-form" +import { Controller } from "react-hook-form" + +import { Button } from "@/components/ui/button" +import { + Collapsible, + CollapsibleContent, + CollapsibleTrigger, +} from "@/components/ui/collapsible" +import { Field, FieldError, FieldTitle } from "@/components/ui/field" +import { Input } from "@/components/ui/input" +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select" +import { getNameTag } from "@/lib/utils" +import type { CreateTargetGroupFormData } from "@/types/elbv2" + +interface TargetGroupFormProps { + form: UseFormReturn + vpcs: Vpc[] +} + +export function TargetGroupForm({ form, vpcs }: TargetGroupFormProps) { + const { + control, + register, + watch, + setValue, + getValues, + formState: { errors }, + } = form + const tags = watch("tags") + + return ( + <> + + + + + + + + + + + + + ( + + )} + /> + + + + + + + + + + + + + + + ( + + )} + /> + + + + + } + > + Health check settings + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tags +
+ {tags.map((_, index) => ( + // oxlint-disable-next-line react/no-array-index-key -- form array with no stable id +
+ + + +
+ ))} + +
+
+ + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/components/elbv2/targets-tab.test.tsx b/spinifex/services/spinifexui/frontend/src/components/elbv2/targets-tab.test.tsx new file mode 100644 index 000000000..687e47787 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/components/elbv2/targets-tab.test.tsx @@ -0,0 +1,170 @@ +import { QueryClient, QueryClientProvider } from "@tanstack/react-query" +import { render, screen, waitFor } from "@testing-library/react" +import userEvent from "@testing-library/user-event" +import type { ReactNode } from "react" +import { afterEach, describe, expect, it, vi } from "vitest" + +const mockSend = vi.fn() + +vi.mock("@/lib/awsClient", () => ({ + getElbv2Client: () => ({ send: mockSend }), + getEc2Client: () => ({ send: mockSend }), +})) + +import { TargetsTab } from "./targets-tab" + +const TG_ARN = "arn:aws:elasticloadbalancing:tg/app/foo/abc" + +function createWrapper(queryClient: QueryClient) { + return function Wrapper({ children }: { children: ReactNode }) { + return ( + {children} + ) + } +} + +function seedClient(opts: { + instances?: unknown + health?: unknown +}): QueryClient { + const queryClient = new QueryClient({ + defaultOptions: { + queries: { + retry: false, + staleTime: Number.POSITIVE_INFINITY, + refetchOnMount: false, + }, + mutations: { retry: false }, + }, + }) + queryClient.setQueryData( + ["ec2", "instances"], + opts.instances ?? { Reservations: [] }, + ) + queryClient.setQueryData( + ["elbv2", "targetGroups", TG_ARN, "health"], + opts.health ?? { TargetHealthDescriptions: [] }, + ) + return queryClient +} + +afterEach(() => { + mockSend.mockReset() +}) + +describe("TargetsTab", () => { + it("renders empty state when no targets registered", () => { + const queryClient = seedClient({}) + render( + , + { wrapper: createWrapper(queryClient) }, + ) + expect(screen.getByText("No targets registered.")).toBeInTheDocument() + expect( + screen.getByRole("button", { name: "Register targets" }), + ).toBeInTheDocument() + }) + + it("renders a target health row with colored chip", () => { + const queryClient = seedClient({ + health: { + TargetHealthDescriptions: [ + { + Target: { Id: "i-aaa", Port: 80, AvailabilityZone: "az-1" }, + TargetHealth: { + State: "healthy", + Reason: "", + Description: "", + }, + }, + ], + }, + }) + render( + , + { wrapper: createWrapper(queryClient) }, + ) + expect(screen.getByText("i-aaa")).toBeInTheDocument() + expect(screen.getByText("healthy")).toBeInTheDocument() + expect(screen.getByText("az-1")).toBeInTheDocument() + }) + + it("opens deregister confirm dialog and calls DeregisterTargetsCommand", async () => { + const queryClient = seedClient({ + health: { + TargetHealthDescriptions: [ + { + Target: { Id: "i-aaa", Port: 80 }, + TargetHealth: { State: "healthy" }, + }, + ], + }, + }) + mockSend.mockResolvedValue({}) + const user = userEvent.setup() + render( + , + { wrapper: createWrapper(queryClient) }, + ) + await waitFor(() => + expect(screen.getByLabelText("Deregister i-aaa")).toBeInTheDocument(), + ) + await user.click(screen.getByLabelText("Deregister i-aaa")) + expect( + screen.getByText(/Deregister i-aaa:80 from this target group/), + ).toBeInTheDocument() + const deregCallsBefore = mockSend.mock.calls.length + await user.click(screen.getByRole("button", { name: "Delete" })) + await waitFor(() => + expect(mockSend.mock.calls.length).toBeGreaterThan(deregCallsBefore), + ) + const deregCall = mockSend.mock.calls[deregCallsBefore]?.[0] + expect(deregCall.input).toEqual({ + TargetGroupArn: TG_ARN, + Targets: [{ Id: "i-aaa", Port: 80 }], + }) + }) + + it("filters instances by vpcId in the register dialog", async () => { + const queryClient = seedClient({ + instances: { + Reservations: [ + { + Instances: [ + { InstanceId: "i-in-vpc", VpcId: "vpc-aaa", Tags: [] }, + { InstanceId: "i-other-vpc", VpcId: "vpc-bbb", Tags: [] }, + ], + }, + ], + }, + }) + const user = userEvent.setup() + render( + , + { wrapper: createWrapper(queryClient) }, + ) + await user.click(screen.getByRole("button", { name: "Register targets" })) + expect(screen.getByText("i-in-vpc")).toBeInTheDocument() + expect(screen.queryByText("i-other-vpc")).not.toBeInTheDocument() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/components/elbv2/targets-tab.tsx b/spinifex/services/spinifexui/frontend/src/components/elbv2/targets-tab.tsx new file mode 100644 index 000000000..ec94bb585 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/components/elbv2/targets-tab.tsx @@ -0,0 +1,231 @@ +import type { + TargetDescription, + TargetHealthDescription, +} from "@aws-sdk/client-elastic-load-balancing-v2" +import { useQuery, useSuspenseQuery } from "@tanstack/react-query" +import { Trash2 } from "lucide-react" +import { useState } from "react" + +import { DeleteConfirmationDialog } from "@/components/delete-confirmation-dialog" +import { RegisterTargetsDialog } from "@/components/elbv2/register-targets-dialog" +import { ErrorBanner } from "@/components/error-banner" +import { Button } from "@/components/ui/button" +import { cn } from "@/lib/utils" +import type { TargetInput } from "@/mutations/elbv2" +import { useDeregisterTargets, useRegisterTargets } from "@/mutations/elbv2" +import { ec2InstancesQueryOptions } from "@/queries/ec2" +import { elbv2TargetHealthQueryOptions } from "@/queries/elbv2" + +interface TargetsTabProps { + targetGroupArn: string + vpcId: string | undefined + defaultPort: number + isActive: boolean +} + +const HEALTH_POLL_MS = 5000 + +const HEALTHY_STATES = new Set(["healthy"]) +const UNHEALTHY_STATES = new Set(["unhealthy", "unavailable"]) +const NEUTRAL_STATES = new Set(["initial", "draining"]) + +function healthChipClass(state: string | undefined): string { + if (state && HEALTHY_STATES.has(state)) { + return "bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100" + } + if (state && UNHEALTHY_STATES.has(state)) { + return "bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-100" + } + if (state && NEUTRAL_STATES.has(state)) { + return "bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100" + } + return "bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-100" +} + +function targetKey(t: TargetDescription): string { + return `${t.Id ?? ""}:${t.Port ?? ""}` +} + +export function TargetsTab({ + targetGroupArn, + vpcId, + defaultPort, + isActive, +}: TargetsTabProps) { + const { data: instancesData } = useSuspenseQuery(ec2InstancesQueryOptions) + const { + data: healthData, + isLoading, + error: healthError, + } = useQuery({ + ...elbv2TargetHealthQueryOptions(targetGroupArn), + refetchInterval: isActive ? HEALTH_POLL_MS : false, + refetchIntervalInBackground: false, + }) + + const registerMutation = useRegisterTargets() + const deregisterMutation = useDeregisterTargets() + + const [registerOpen, setRegisterOpen] = useState(false) + const [deregisterTarget, setDeregisterTarget] = useState< + TargetDescription | undefined + >() + + const vpcInstances = ( + instancesData.Reservations?.flatMap((r) => r.Instances ?? []) ?? [] + ).filter((i) => i.VpcId === vpcId && i.State?.Name !== "terminated") + + const descriptions: TargetHealthDescription[] = + healthData?.TargetHealthDescriptions ?? [] + + const handleRegister = async (targets: TargetInput[]) => { + try { + await registerMutation.mutateAsync({ targetGroupArn, targets }) + setRegisterOpen(false) + } catch { + // error surfaced below via mutation state + } + } + + const handleDeregister = async () => { + if (!deregisterTarget?.Id) { + return + } + try { + await deregisterMutation.mutateAsync({ + targetGroupArn, + targets: [ + { + id: deregisterTarget.Id, + port: deregisterTarget.Port, + }, + ], + }) + } finally { + setDeregisterTarget(undefined) + } + } + + return ( +
+ {registerMutation.error && ( + + )} + {deregisterMutation.error && ( + + )} + {healthError && ( + + )} + +
+

+ {isLoading + ? "Loading target health\u2026" + : `${descriptions.length} target${ + descriptions.length === 1 ? "" : "s" + }`} +

+ +
+ + {descriptions.length === 0 ? ( +

No targets registered.

+ ) : ( +
+ + + + + + + + + + + + + {descriptions.map((desc) => { + const target: TargetDescription = desc.Target ?? { Id: "" } + const state = desc.TargetHealth?.State + return ( + + + + + + + + + + ) + })} + +
TargetPortAZHealthReasonDescription +
+ {target.Id ?? ""} + {target.Port ?? ""} + {target.AvailabilityZone ?? ""} + + + {state ?? "unknown"} + + + {desc.TargetHealth?.Reason ?? ""} + + {desc.TargetHealth?.Description ?? ""} + + +
+
+ )} + + + + !open && setDeregisterTarget(undefined)} + open={deregisterTarget !== undefined} + title="Deregister target" + /> +
+ ) +} diff --git a/spinifex/services/spinifexui/frontend/src/components/ui/tabs.tsx b/spinifex/services/spinifexui/frontend/src/components/ui/tabs.tsx new file mode 100644 index 000000000..267e88e69 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/components/ui/tabs.tsx @@ -0,0 +1,46 @@ +import { Tabs as TabsPrimitive } from "@base-ui/react/tabs" + +import { cn } from "@/lib/utils" + +export function Tabs({ className, ...props }: TabsPrimitive.Root.Props) { + return ( + + ) +} + +export function TabsList({ className, ...props }: TabsPrimitive.List.Props) { + return ( + + ) +} + +export function TabsTab({ className, ...props }: TabsPrimitive.Tab.Props) { + return ( + + ) +} + +export function TabsPanel({ className, ...props }: TabsPrimitive.Panel.Props) { + return ( + + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/layouts/sidebar-layout.tsx b/spinifex/services/spinifexui/frontend/src/layouts/sidebar-layout.tsx index 18ba32f08..4e3fa06a4 100644 --- a/spinifex/services/spinifexui/frontend/src/layouts/sidebar-layout.tsx +++ b/spinifex/services/spinifexui/frontend/src/layouts/sidebar-layout.tsx @@ -4,6 +4,7 @@ import { Activity, BookOpen, Camera, + Crosshair, HardDrive, Home, Image, @@ -16,6 +17,7 @@ import { Shield, ShieldCheck, Users, + Waypoints, } from "lucide-react" // import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar" @@ -191,6 +193,36 @@ export function SidebarLayout() { + + + + + + Load Balancers + + + + + + + + + Target Groups + + + diff --git a/spinifex/services/spinifexui/frontend/src/lib/awsClient.ts b/spinifex/services/spinifexui/frontend/src/lib/awsClient.ts index af009fd51..3a8c831ea 100644 --- a/spinifex/services/spinifexui/frontend/src/lib/awsClient.ts +++ b/spinifex/services/spinifexui/frontend/src/lib/awsClient.ts @@ -1,4 +1,5 @@ import { EC2Client } from "@aws-sdk/client-ec2" +import { ElasticLoadBalancingV2Client } from "@aws-sdk/client-elastic-load-balancing-v2" import { IAMClient } from "@aws-sdk/client-iam" import { S3Client } from "@aws-sdk/client-s3" import { HttpRequest } from "@smithy/protocol-http" @@ -15,6 +16,7 @@ const S3_SIGN_ENDPOINT = `${window.location.protocol}//localhost:8443` // Cached singleton clients let ec2Client: EC2Client | null = null +let elbv2Client: ElasticLoadBalancingV2Client | null = null let iamClient: IAMClient | null = null let s3Client: S3Client | null = null @@ -47,6 +49,35 @@ export function getEc2Client(): EC2Client { return ec2Client } +export function getElbv2Client(): ElasticLoadBalancingV2Client { + if (!elbv2Client) { + const credentials = getCredentials() + if (!credentials) { + throw new Error("AWS credentials not configured") + } + elbv2Client = new ElasticLoadBalancingV2Client({ + endpoint: AWSGW_SIGN_ENDPOINT, + region: AWS_REGION, + credentials: { + accessKeyId: credentials.accessKeyId, + secretAccessKey: credentials.secretAccessKey, + }, + }) + elbv2Client.middlewareStack.add( + (next) => (args) => { + if (HttpRequest.isInstance(args.request)) { + args.request.hostname = window.location.hostname + args.request.port = Number(window.location.port) || 443 + args.request.path = `/proxy/awsgw${args.request.path}` + } + return next(args) + }, + { step: "finalizeRequest", name: "proxyRewrite", override: true }, + ) + } + return elbv2Client +} + export function getIamClient(): IAMClient { if (!iamClient) { const credentials = getCredentials() @@ -125,6 +156,7 @@ export function getS3Client(): S3Client { // Call on logout to clear cached clients export function clearClients(): void { ec2Client = null + elbv2Client = null iamClient = null s3Client = null } diff --git a/spinifex/services/spinifexui/frontend/src/lib/system-managed.test.ts b/spinifex/services/spinifexui/frontend/src/lib/system-managed.test.ts new file mode 100644 index 000000000..695af3fd8 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/lib/system-managed.test.ts @@ -0,0 +1,78 @@ +import type { Image } from "@aws-sdk/client-ec2" +import { describe, expect, it } from "vitest" + +import { + LB_MANAGED_BY_VALUE, + SYSTEM_MANAGED_TAG_KEY, + hasLbImage, + isLbImage, + isSystemManagedImage, +} from "./system-managed" + +describe("isSystemManagedImage", () => { + it("returns true when image carries the managed-by tag", () => { + const image: Image = { + ImageId: "ami-1", + Tags: [{ Key: SYSTEM_MANAGED_TAG_KEY, Value: "elbv2" }], + } + expect(isSystemManagedImage(image)).toBe(true) + }) + + it("returns false for customer images with unrelated tags", () => { + const image: Image = { + ImageId: "ami-2", + Tags: [{ Key: "Name", Value: "my-ami" }], + } + expect(isSystemManagedImage(image)).toBe(false) + }) + + it("returns false for images with no tags", () => { + expect(isSystemManagedImage({ ImageId: "ami-3" })).toBe(false) + }) +}) + +describe("isLbImage", () => { + it("returns true when tag value matches elbv2", () => { + const image: Image = { + ImageId: "ami-lb", + Tags: [{ Key: SYSTEM_MANAGED_TAG_KEY, Value: LB_MANAGED_BY_VALUE }], + } + expect(isLbImage(image)).toBe(true) + }) + + it("returns false for system-managed images owned by other components", () => { + const image: Image = { + ImageId: "ami-other", + Tags: [{ Key: SYSTEM_MANAGED_TAG_KEY, Value: "other-service" }], + } + expect(isLbImage(image)).toBe(false) + }) + + it("returns false for customer images", () => { + expect(isLbImage({ ImageId: "ami-cust" })).toBe(false) + }) +}) + +describe("hasLbImage", () => { + it("returns true when any image in the list is the LB AMI", () => { + const images: Image[] = [ + { ImageId: "ami-cust", Tags: [{ Key: "Name", Value: "ubuntu" }] }, + { + ImageId: "ami-lb", + Tags: [{ Key: SYSTEM_MANAGED_TAG_KEY, Value: LB_MANAGED_BY_VALUE }], + }, + ] + expect(hasLbImage(images)).toBe(true) + }) + + it("returns false for an empty list", () => { + expect(hasLbImage([])).toBe(false) + }) + + it("returns false when no image carries the elbv2 tag", () => { + const images: Image[] = [ + { ImageId: "ami-cust", Tags: [{ Key: "Name", Value: "ubuntu" }] }, + ] + expect(hasLbImage(images)).toBe(false) + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/lib/system-managed.ts b/spinifex/services/spinifexui/frontend/src/lib/system-managed.ts new file mode 100644 index 000000000..39873825d --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/lib/system-managed.ts @@ -0,0 +1,30 @@ +import type { Image } from "@aws-sdk/client-ec2" + +// Tag key applied by Spinifex to platform-managed resources +// (HAProxy VMs, their ENIs, the LB AMI). The value identifies the +// owning component (e.g. "elbv2"). See spinifex/docs/TAG-CONVENTIONS.md. +export const SYSTEM_MANAGED_TAG_KEY = "spinifex:managed-by" + +// Value of SYSTEM_MANAGED_TAG_KEY carried by the LB system AMI and its VMs. +export const LB_MANAGED_BY_VALUE = "elbv2" + +// Canonical name of the LB system image in utils.AvailableImages. +// Kept in sync with spinifex/utils/images.go. +export const LB_IMAGE_NAME = "lb-alpine-3.21.6-x86_64" + +export function isSystemManagedImage(image: Image): boolean { + return image.Tags?.some((tag) => tag.Key === SYSTEM_MANAGED_TAG_KEY) ?? false +} + +export function isLbImage(image: Image): boolean { + return ( + image.Tags?.some( + (tag) => + tag.Key === SYSTEM_MANAGED_TAG_KEY && tag.Value === LB_MANAGED_BY_VALUE, + ) ?? false + ) +} + +export function hasLbImage(images: Image[]): boolean { + return images.some(isLbImage) +} diff --git a/spinifex/services/spinifexui/frontend/src/mutations/elbv2.test.tsx b/spinifex/services/spinifexui/frontend/src/mutations/elbv2.test.tsx new file mode 100644 index 000000000..bf0cfc572 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/mutations/elbv2.test.tsx @@ -0,0 +1,440 @@ +import { QueryClient, QueryClientProvider } from "@tanstack/react-query" +import { renderHook, waitFor } from "@testing-library/react" +import type { ReactNode } from "react" +import { afterEach, describe, expect, it, vi } from "vitest" + +const mockSend = vi.fn().mockResolvedValue({}) + +vi.mock("@/lib/awsClient", () => ({ + getElbv2Client: () => ({ send: mockSend }), +})) + +import type { CreateTargetGroupFormData } from "@/types/elbv2" + +import { + useCreateListener, + useCreateLoadBalancer, + useCreateLoadBalancerWizard, + useCreateTargetGroup, + useDeleteListener, + useDeleteLoadBalancer, + useDeleteTargetGroup, + useDeregisterTargets, + useModifyLoadBalancerAttributes, + useModifyTargetGroupAttributes, + useRegisterTargets, +} from "./elbv2" + +const TG_ARN = "arn:aws:elasticloadbalancing:tg/app/foo/abc" + +let queryClient: QueryClient + +function wrapper({ children }: { children: ReactNode }) { + return ( + {children} + ) +} + +afterEach(() => { + mockSend.mockClear() +}) + +function createQueryClient() { + queryClient = new QueryClient({ + defaultOptions: { + queries: { retry: false }, + mutations: { retry: false }, + }, + }) + return queryClient +} + +describe("useModifyLoadBalancerAttributes", () => { + it("sends ModifyLoadBalancerAttributesCommand with arn + changed attributes", async () => { + createQueryClient() + const { result } = renderHook(() => useModifyLoadBalancerAttributes(), { + wrapper, + }) + + result.current.mutate({ + loadBalancerArn: "arn:lb:1", + attributes: [ + { key: "deletion_protection.enabled", value: "true" }, + { key: "idle_timeout.timeout_seconds", value: "120" }, + ], + }) + + await waitFor(() => expect(result.current.isSuccess).toBe(true)) + expect(mockSend.mock.calls[0]?.[0].input).toEqual({ + LoadBalancerArn: "arn:lb:1", + Attributes: [ + { Key: "deletion_protection.enabled", Value: "true" }, + { Key: "idle_timeout.timeout_seconds", Value: "120" }, + ], + }) + }) +}) + +describe("useModifyTargetGroupAttributes", () => { + it("sends ModifyTargetGroupAttributesCommand with arn + changed attributes", async () => { + createQueryClient() + const { result } = renderHook(() => useModifyTargetGroupAttributes(), { + wrapper, + }) + + result.current.mutate({ + targetGroupArn: TG_ARN, + attributes: [{ key: "stickiness.enabled", value: "true" }], + }) + + await waitFor(() => expect(result.current.isSuccess).toBe(true)) + expect(mockSend.mock.calls[0]?.[0].input).toEqual({ + TargetGroupArn: TG_ARN, + Attributes: [{ Key: "stickiness.enabled", Value: "true" }], + }) + }) +}) + +describe("useDeleteLoadBalancer", () => { + it("sends DeleteLoadBalancerCommand with load balancer ARN", async () => { + createQueryClient() + const { result } = renderHook(() => useDeleteLoadBalancer(), { wrapper }) + + result.current.mutate("arn:aws:elasticloadbalancing:lb/app/foo/abc") + + await waitFor(() => expect(result.current.isSuccess).toBe(true)) + expect(mockSend.mock.calls[0]?.[0].input).toEqual({ + LoadBalancerArn: "arn:aws:elasticloadbalancing:lb/app/foo/abc", + }) + }) +}) + +describe("useDeleteTargetGroup", () => { + it("sends DeleteTargetGroupCommand with target group ARN", async () => { + createQueryClient() + const { result } = renderHook(() => useDeleteTargetGroup(), { wrapper }) + + result.current.mutate("arn:aws:elasticloadbalancing:tg/app/foo/abc") + + await waitFor(() => expect(result.current.isSuccess).toBe(true)) + expect(mockSend.mock.calls[0]?.[0].input).toEqual({ + TargetGroupArn: "arn:aws:elasticloadbalancing:tg/app/foo/abc", + }) + }) +}) + +describe("useCreateTargetGroup", () => { + const baseParams: CreateTargetGroupFormData = { + name: "my-tg", + protocol: "HTTP", + port: 80, + vpcId: "vpc-123", + healthCheck: { + protocol: "HTTP", + path: "/health", + port: "traffic-port", + intervalSeconds: 30, + timeoutSeconds: 5, + healthyThresholdCount: 5, + unhealthyThresholdCount: 2, + matcher: "200", + }, + tags: [], + } + + it("sends CreateTargetGroupCommand with form data and hardcoded instance target type", async () => { + createQueryClient() + const { result } = renderHook(() => useCreateTargetGroup(), { wrapper }) + + result.current.mutate(baseParams) + + await waitFor(() => expect(result.current.isSuccess).toBe(true)) + expect(mockSend.mock.calls[0]?.[0].input).toEqual({ + Name: "my-tg", + Protocol: "HTTP", + Port: 80, + VpcId: "vpc-123", + TargetType: "instance", + HealthCheckProtocol: "HTTP", + HealthCheckPath: "/health", + HealthCheckPort: "traffic-port", + HealthCheckIntervalSeconds: 30, + HealthCheckTimeoutSeconds: 5, + HealthyThresholdCount: 5, + UnhealthyThresholdCount: 2, + Matcher: { HttpCode: "200" }, + Tags: undefined, + }) + }) + + it("passes non-empty tags through and skips empty keys", async () => { + createQueryClient() + const { result } = renderHook(() => useCreateTargetGroup(), { wrapper }) + + result.current.mutate({ + ...baseParams, + tags: [ + { key: "env", value: "prod" }, + { key: "", value: "ignored" }, + ], + }) + + await waitFor(() => expect(result.current.isSuccess).toBe(true)) + expect(mockSend.mock.calls[0]?.[0].input.Tags).toEqual([ + { Key: "env", Value: "prod" }, + ]) + }) +}) + +describe("useCreateLoadBalancer", () => { + it("sends CreateLoadBalancerCommand with ALB defaults (Type=application, IpAddressType=ipv4)", async () => { + createQueryClient() + const { result } = renderHook(() => useCreateLoadBalancer(), { wrapper }) + + result.current.mutate({ + name: "my-alb", + scheme: "internet-facing", + subnetIds: ["subnet-a", "subnet-b"], + securityGroupIds: ["sg-1"], + tags: [{ key: "env", value: "prod" }], + }) + + await waitFor(() => expect(result.current.isSuccess).toBe(true)) + expect(mockSend.mock.calls[0]?.[0].input).toEqual({ + Name: "my-alb", + Scheme: "internet-facing", + Type: "application", + IpAddressType: "ipv4", + Subnets: ["subnet-a", "subnet-b"], + SecurityGroups: ["sg-1"], + Tags: [{ Key: "env", Value: "prod" }], + }) + }) + + it("omits SecurityGroups/Tags when empty", async () => { + createQueryClient() + const { result } = renderHook(() => useCreateLoadBalancer(), { wrapper }) + + result.current.mutate({ + name: "my-alb", + scheme: "internal", + subnetIds: ["subnet-a", "subnet-b"], + securityGroupIds: [], + tags: [], + }) + + await waitFor(() => expect(result.current.isSuccess).toBe(true)) + const input = mockSend.mock.calls[0]?.[0].input + expect(input.SecurityGroups).toBeUndefined() + expect(input.Tags).toBeUndefined() + }) +}) + +describe("useCreateListener", () => { + it("sends CreateListenerCommand with forward default action", async () => { + createQueryClient() + const { result } = renderHook(() => useCreateListener(), { wrapper }) + + result.current.mutate({ + loadBalancerArn: "arn:lb:1", + protocol: "HTTP", + port: 80, + defaultTargetGroupArn: "arn:tg:1", + }) + + await waitFor(() => expect(result.current.isSuccess).toBe(true)) + expect(mockSend.mock.calls[0]?.[0].input).toEqual({ + LoadBalancerArn: "arn:lb:1", + Protocol: "HTTP", + Port: 80, + DefaultActions: [{ Type: "forward", TargetGroupArn: "arn:tg:1" }], + }) + }) +}) + +describe("useRegisterTargets", () => { + it("sends RegisterTargetsCommand with id-only targets when port omitted", async () => { + createQueryClient() + const { result } = renderHook(() => useRegisterTargets(), { wrapper }) + + result.current.mutate({ + targetGroupArn: TG_ARN, + targets: [{ id: "i-aaa" }, { id: "i-bbb" }], + }) + + await waitFor(() => expect(result.current.isSuccess).toBe(true)) + expect(mockSend.mock.calls[0]?.[0].input).toEqual({ + TargetGroupArn: TG_ARN, + Targets: [ + { Id: "i-aaa", Port: undefined }, + { Id: "i-bbb", Port: undefined }, + ], + }) + }) + + it("passes per-target port override through", async () => { + createQueryClient() + const { result } = renderHook(() => useRegisterTargets(), { wrapper }) + + result.current.mutate({ + targetGroupArn: TG_ARN, + targets: [{ id: "i-aaa", port: 8080 }], + }) + + await waitFor(() => expect(result.current.isSuccess).toBe(true)) + expect(mockSend.mock.calls[0]?.[0].input.Targets).toEqual([ + { Id: "i-aaa", Port: 8080 }, + ]) + }) +}) + +describe("useDeregisterTargets", () => { + it("sends DeregisterTargetsCommand with target id and port", async () => { + createQueryClient() + const { result } = renderHook(() => useDeregisterTargets(), { wrapper }) + + result.current.mutate({ + targetGroupArn: TG_ARN, + targets: [{ id: "i-aaa", port: 80 }], + }) + + await waitFor(() => expect(result.current.isSuccess).toBe(true)) + expect(mockSend.mock.calls[0]?.[0].input).toEqual({ + TargetGroupArn: TG_ARN, + Targets: [{ Id: "i-aaa", Port: 80 }], + }) + }) +}) + +describe("useDeleteListener", () => { + it("sends DeleteListenerCommand with listener ARN", async () => { + createQueryClient() + const { result } = renderHook(() => useDeleteListener(), { wrapper }) + + result.current.mutate("arn:listener:1") + + await waitFor(() => expect(result.current.isSuccess).toBe(true)) + expect(mockSend.mock.calls[0]?.[0].input).toEqual({ + ListenerArn: "arn:listener:1", + }) + }) +}) + +describe("useCreateLoadBalancerWizard", () => { + const tgParams: CreateTargetGroupFormData = { + name: "my-tg", + protocol: "HTTP", + port: 80, + vpcId: "vpc-123", + healthCheck: { + protocol: "HTTP", + path: "/", + port: "traffic-port", + intervalSeconds: 30, + timeoutSeconds: 5, + healthyThresholdCount: 5, + unhealthyThresholdCount: 2, + matcher: "200", + }, + tags: [], + } + + const lbBase = { + name: "my-alb", + scheme: "internet-facing" as const, + vpcId: "vpc-123", + subnetIds: ["subnet-a", "subnet-b"], + securityGroupIds: ["sg-1"], + tags: [], + } + + it("creates TG → LB → Listener on happy path with new target group", async () => { + createQueryClient() + mockSend.mockReset() + mockSend + .mockResolvedValueOnce({ + TargetGroups: [{ TargetGroupArn: "arn:tg:new" }], + }) + .mockResolvedValueOnce({ + LoadBalancers: [{ LoadBalancerArn: "arn:lb:new" }], + }) + .mockResolvedValueOnce({}) + const { result } = renderHook(() => useCreateLoadBalancerWizard(), { + wrapper, + }) + + result.current.mutate({ + lb: lbBase, + listener: { + protocol: "HTTP", + port: 80, + targetGroupMode: "new", + newTargetGroup: tgParams, + }, + }) + + await waitFor(() => expect(result.current.isSuccess).toBe(true)) + expect(result.current.data?.error).toBeUndefined() + expect(result.current.data?.loadBalancerArn).toBe("arn:lb:new") + expect(result.current.data?.created).toHaveLength(3) + expect(mockSend).toHaveBeenCalledTimes(3) + }) + + it("skips TG creation when mode=existing", async () => { + createQueryClient() + mockSend.mockReset() + mockSend + .mockResolvedValueOnce({ + LoadBalancers: [{ LoadBalancerArn: "arn:lb:new" }], + }) + .mockResolvedValueOnce({}) + const { result } = renderHook(() => useCreateLoadBalancerWizard(), { + wrapper, + }) + + result.current.mutate({ + lb: lbBase, + listener: { + protocol: "HTTP", + port: 80, + targetGroupMode: "existing", + existingTargetGroupArn: "arn:tg:existing", + }, + }) + + await waitFor(() => expect(result.current.isSuccess).toBe(true)) + expect(mockSend).toHaveBeenCalledTimes(2) + expect(result.current.data?.created).toHaveLength(2) + }) + + it("surfaces partial creation when LB step fails", async () => { + createQueryClient() + mockSend.mockReset() + mockSend + .mockResolvedValueOnce({ + TargetGroups: [{ TargetGroupArn: "arn:tg:new" }], + }) + .mockRejectedValueOnce(new Error("lb boom")) + const { result } = renderHook(() => useCreateLoadBalancerWizard(), { + wrapper, + }) + + result.current.mutate({ + lb: lbBase, + listener: { + protocol: "HTTP", + port: 80, + targetGroupMode: "new", + newTargetGroup: tgParams, + }, + }) + + await waitFor(() => expect(result.current.isSuccess).toBe(true)) + expect(result.current.data?.error?.message).toBe("lb boom") + expect(result.current.data?.failedStep).toBe("creating load balancer") + expect(result.current.data?.created).toEqual([ + { type: "Target Group", id: "arn:tg:new" }, + ]) + expect(result.current.data?.loadBalancerArn).toBeUndefined() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/mutations/elbv2.ts b/spinifex/services/spinifexui/frontend/src/mutations/elbv2.ts new file mode 100644 index 000000000..49b9d7f7f --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/mutations/elbv2.ts @@ -0,0 +1,414 @@ +import { + type Action, + type Tag, + type TargetDescription, + CreateListenerCommand, + CreateLoadBalancerCommand, + CreateTargetGroupCommand, + DeleteListenerCommand, + DeleteLoadBalancerCommand, + DeleteTargetGroupCommand, + DeregisterTargetsCommand, + ModifyLoadBalancerAttributesCommand, + ModifyTargetGroupAttributesCommand, + RegisterTargetsCommand, +} from "@aws-sdk/client-elastic-load-balancing-v2" +import { useMutation, useQueryClient } from "@tanstack/react-query" + +import { getElbv2Client } from "@/lib/awsClient" +import type { + CreateLoadBalancerFormData, + CreateTargetGroupFormData, +} from "@/types/elbv2" + +export interface CreateLoadBalancerParams { + name: string + scheme: "internet-facing" | "internal" + subnetIds: string[] + securityGroupIds: string[] + tags: { key: string; value: string }[] +} + +export function useCreateLoadBalancer() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: (params: CreateLoadBalancerParams) => { + const tags: Tag[] = params.tags + .filter((t) => t.key.length > 0) + .map((t) => ({ Key: t.key, Value: t.value })) + const command = new CreateLoadBalancerCommand({ + Name: params.name, + Scheme: params.scheme, + Type: "application", + IpAddressType: "ipv4", + Subnets: params.subnetIds, + SecurityGroups: + params.securityGroupIds.length > 0 + ? params.securityGroupIds + : undefined, + Tags: tags.length > 0 ? tags : undefined, + }) + return getElbv2Client().send(command) + }, + onSuccess: () => { + queryClient.invalidateQueries({ queryKey: ["elbv2", "loadBalancers"] }) + }, + }) +} + +export function useDeleteLoadBalancer() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: (loadBalancerArn: string) => { + const command = new DeleteLoadBalancerCommand({ + LoadBalancerArn: loadBalancerArn, + }) + return getElbv2Client().send(command) + }, + onSuccess: () => { + queryClient.invalidateQueries({ queryKey: ["elbv2", "loadBalancers"] }) + }, + }) +} + +export interface ModifyLoadBalancerAttributesParams { + loadBalancerArn: string + attributes: { key: string; value: string }[] +} + +export function useModifyLoadBalancerAttributes() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: (params: ModifyLoadBalancerAttributesParams) => { + const command = new ModifyLoadBalancerAttributesCommand({ + LoadBalancerArn: params.loadBalancerArn, + Attributes: params.attributes.map((a) => ({ + Key: a.key, + Value: a.value, + })), + }) + return getElbv2Client().send(command) + }, + onSuccess: (_data, variables) => { + queryClient.invalidateQueries({ + queryKey: [ + "elbv2", + "loadBalancers", + variables.loadBalancerArn, + "attributes", + ], + }) + }, + }) +} + +export function useCreateTargetGroup() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: (params: CreateTargetGroupFormData) => { + const tags: Tag[] = params.tags + .filter((t) => t.key.length > 0) + .map((t) => ({ Key: t.key, Value: t.value })) + const command = new CreateTargetGroupCommand({ + Name: params.name, + Protocol: params.protocol, + Port: params.port, + VpcId: params.vpcId, + TargetType: "instance", + HealthCheckProtocol: params.healthCheck.protocol, + HealthCheckPath: params.healthCheck.path, + HealthCheckPort: params.healthCheck.port, + HealthCheckIntervalSeconds: params.healthCheck.intervalSeconds, + HealthCheckTimeoutSeconds: params.healthCheck.timeoutSeconds, + HealthyThresholdCount: params.healthCheck.healthyThresholdCount, + UnhealthyThresholdCount: params.healthCheck.unhealthyThresholdCount, + Matcher: { HttpCode: params.healthCheck.matcher }, + Tags: tags.length > 0 ? tags : undefined, + }) + return getElbv2Client().send(command) + }, + onSuccess: () => { + queryClient.invalidateQueries({ queryKey: ["elbv2", "targetGroups"] }) + }, + }) +} + +export function useDeleteTargetGroup() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: (targetGroupArn: string) => { + const command = new DeleteTargetGroupCommand({ + TargetGroupArn: targetGroupArn, + }) + return getElbv2Client().send(command) + }, + onSuccess: () => { + queryClient.invalidateQueries({ queryKey: ["elbv2", "targetGroups"] }) + }, + }) +} + +export interface ModifyTargetGroupAttributesParams { + targetGroupArn: string + attributes: { key: string; value: string }[] +} + +export function useModifyTargetGroupAttributes() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: (params: ModifyTargetGroupAttributesParams) => { + const command = new ModifyTargetGroupAttributesCommand({ + TargetGroupArn: params.targetGroupArn, + Attributes: params.attributes.map((a) => ({ + Key: a.key, + Value: a.value, + })), + }) + return getElbv2Client().send(command) + }, + onSuccess: (_data, variables) => { + queryClient.invalidateQueries({ + queryKey: [ + "elbv2", + "targetGroups", + variables.targetGroupArn, + "attributes", + ], + }) + }, + }) +} + +export interface CreateListenerParams { + loadBalancerArn: string + protocol: "HTTP" + port: number + defaultTargetGroupArn: string +} + +export function useCreateListener() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: (params: CreateListenerParams) => { + const defaultActions: Action[] = [ + { + Type: "forward", + TargetGroupArn: params.defaultTargetGroupArn, + }, + ] + const command = new CreateListenerCommand({ + LoadBalancerArn: params.loadBalancerArn, + Protocol: params.protocol, + Port: params.port, + DefaultActions: defaultActions, + }) + return getElbv2Client().send(command) + }, + onSuccess: (_data, variables) => { + queryClient.invalidateQueries({ + queryKey: ["elbv2", "listeners", variables.loadBalancerArn], + }) + }, + }) +} + +export function useDeleteListener() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: (listenerArn: string) => { + const command = new DeleteListenerCommand({ ListenerArn: listenerArn }) + return getElbv2Client().send(command) + }, + onSuccess: () => { + queryClient.invalidateQueries({ queryKey: ["elbv2", "listeners"] }) + }, + }) +} + +export interface LbWizardCreatedResource { + type: string + id: string | undefined +} + +export interface LbWizardResult { + loadBalancerArn: string | undefined + created: LbWizardCreatedResource[] + error?: Error + failedStep?: string +} + +export interface CreateLoadBalancerWizardParams { + lb: Omit + listener: { + protocol: "HTTP" + port: number + targetGroupMode: "new" | "existing" + existingTargetGroupArn?: string + newTargetGroup?: CreateTargetGroupFormData + } +} + +export function useCreateLoadBalancerWizard() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: async ( + params: CreateLoadBalancerWizardParams, + ): Promise => { + const client = getElbv2Client() + const created: LbWizardCreatedResource[] = [] + let currentStep = "" + + try { + // Step 1: create new TG if requested + let targetGroupArn = params.listener.existingTargetGroupArn + if (params.listener.targetGroupMode === "new") { + const tg = params.listener.newTargetGroup + if (!tg) { + throw new Error( + "internal error: new target group requested but no data supplied", + ) + } + currentStep = "creating target group" + const tgTags: Tag[] = tg.tags + .filter((t) => t.key.length > 0) + .map((t) => ({ Key: t.key, Value: t.value })) + const tgResult = await client.send( + new CreateTargetGroupCommand({ + Name: tg.name, + Protocol: tg.protocol, + Port: tg.port, + VpcId: tg.vpcId, + TargetType: "instance", + HealthCheckProtocol: tg.healthCheck.protocol, + HealthCheckPath: tg.healthCheck.path, + HealthCheckPort: tg.healthCheck.port, + HealthCheckIntervalSeconds: tg.healthCheck.intervalSeconds, + HealthCheckTimeoutSeconds: tg.healthCheck.timeoutSeconds, + HealthyThresholdCount: tg.healthCheck.healthyThresholdCount, + UnhealthyThresholdCount: tg.healthCheck.unhealthyThresholdCount, + Matcher: { HttpCode: tg.healthCheck.matcher }, + Tags: tgTags.length > 0 ? tgTags : undefined, + }), + ) + targetGroupArn = tgResult.TargetGroups?.[0]?.TargetGroupArn + if (!targetGroupArn) { + throw new Error( + "Target group was created but no ARN was returned by the API", + ) + } + created.push({ type: "Target Group", id: targetGroupArn }) + } + + if (!targetGroupArn) { + throw new Error("Target group selection is required") + } + + // Step 2: create LB + currentStep = "creating load balancer" + const lbTags: Tag[] = params.lb.tags + .filter((t) => t.key.length > 0) + .map((t) => ({ Key: t.key, Value: t.value })) + const lbResult = await client.send( + new CreateLoadBalancerCommand({ + Name: params.lb.name, + Scheme: params.lb.scheme, + Type: "application", + IpAddressType: "ipv4", + Subnets: params.lb.subnetIds, + SecurityGroups: + params.lb.securityGroupIds.length > 0 + ? params.lb.securityGroupIds + : undefined, + Tags: lbTags.length > 0 ? lbTags : undefined, + }), + ) + const loadBalancerArn = lbResult.LoadBalancers?.[0]?.LoadBalancerArn + if (!loadBalancerArn) { + throw new Error( + "Load balancer was created but no ARN was returned by the API", + ) + } + created.push({ type: "Load Balancer", id: loadBalancerArn }) + + // Step 3: create listener + currentStep = "creating listener" + await client.send( + new CreateListenerCommand({ + LoadBalancerArn: loadBalancerArn, + Protocol: params.listener.protocol, + Port: params.listener.port, + DefaultActions: [ + { Type: "forward", TargetGroupArn: targetGroupArn }, + ], + }), + ) + created.push({ type: "Listener", id: undefined }) + + return { loadBalancerArn, created } + } catch (error) { + return { + loadBalancerArn: undefined, + created, + error: error instanceof Error ? error : new Error(String(error)), + failedStep: currentStep, + } + } + }, + onSettled: () => { + queryClient.invalidateQueries({ queryKey: ["elbv2"] }) + }, + }) +} + +export interface TargetInput { + id: string + port?: number +} + +export interface RegisterTargetsParams { + targetGroupArn: string + targets: TargetInput[] +} + +function toTargetDescriptions(targets: TargetInput[]): TargetDescription[] { + return targets.map((t) => ({ + Id: t.id, + Port: t.port, + })) +} + +export function useRegisterTargets() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: (params: RegisterTargetsParams) => { + const command = new RegisterTargetsCommand({ + TargetGroupArn: params.targetGroupArn, + Targets: toTargetDescriptions(params.targets), + }) + return getElbv2Client().send(command) + }, + onSuccess: (_data, variables) => { + queryClient.invalidateQueries({ + queryKey: ["elbv2", "targetGroups", variables.targetGroupArn, "health"], + }) + }, + }) +} + +export function useDeregisterTargets() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: (params: RegisterTargetsParams) => { + const command = new DeregisterTargetsCommand({ + TargetGroupArn: params.targetGroupArn, + Targets: toTargetDescriptions(params.targets), + }) + return getElbv2Client().send(command) + }, + onSuccess: (_data, variables) => { + queryClient.invalidateQueries({ + queryKey: ["elbv2", "targetGroups", variables.targetGroupArn, "health"], + }) + }, + }) +} diff --git a/spinifex/services/spinifexui/frontend/src/queries/admin.ts b/spinifex/services/spinifexui/frontend/src/queries/admin.ts index 1befb7332..ed9870e5b 100644 --- a/spinifex/services/spinifexui/frontend/src/queries/admin.ts +++ b/spinifex/services/spinifexui/frontend/src/queries/admin.ts @@ -41,6 +41,7 @@ interface VMInfo { memory_gb: number node: string launch_time: number + managed_by?: string } interface GetVMsOutput { diff --git a/spinifex/services/spinifexui/frontend/src/queries/elbv2.test.ts b/spinifex/services/spinifexui/frontend/src/queries/elbv2.test.ts new file mode 100644 index 000000000..a7d013986 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/queries/elbv2.test.ts @@ -0,0 +1,206 @@ +import { afterEach, describe, expect, it, vi } from "vitest" + +const mockSend = vi.fn() + +vi.mock("@/lib/awsClient", () => ({ + getElbv2Client: () => ({ send: mockSend }), +})) + +import { + elbv2ListenersQueryOptions, + elbv2LoadBalancerAttributesQueryOptions, + elbv2LoadBalancerQueryOptions, + elbv2LoadBalancersQueryOptions, + elbv2TagsQueryOptions, + elbv2TargetGroupAttributesQueryOptions, + elbv2TargetGroupQueryOptions, + elbv2TargetGroupsQueryOptions, + elbv2TargetHealthQueryOptions, +} from "./elbv2" + +afterEach(() => { + mockSend.mockReset() +}) + +describe("elbv2 query keys", () => { + it("elbv2LoadBalancersQueryOptions has correct key", () => { + expect(elbv2LoadBalancersQueryOptions.queryKey).toEqual([ + "elbv2", + "loadBalancers", + ]) + }) + + it("elbv2LoadBalancerQueryOptions includes arn", () => { + expect(elbv2LoadBalancerQueryOptions("arn:lb").queryKey).toEqual([ + "elbv2", + "loadBalancers", + "arn:lb", + ]) + }) + + it("elbv2LoadBalancerAttributesQueryOptions includes arn + attributes", () => { + expect(elbv2LoadBalancerAttributesQueryOptions("arn:lb").queryKey).toEqual([ + "elbv2", + "loadBalancers", + "arn:lb", + "attributes", + ]) + }) + + it("elbv2TargetGroupsQueryOptions has correct key", () => { + expect(elbv2TargetGroupsQueryOptions.queryKey).toEqual([ + "elbv2", + "targetGroups", + ]) + }) + + it("elbv2TargetGroupQueryOptions includes arn", () => { + expect(elbv2TargetGroupQueryOptions("arn:tg").queryKey).toEqual([ + "elbv2", + "targetGroups", + "arn:tg", + ]) + }) + + it("elbv2TargetGroupAttributesQueryOptions includes arn + attributes", () => { + expect(elbv2TargetGroupAttributesQueryOptions("arn:tg").queryKey).toEqual([ + "elbv2", + "targetGroups", + "arn:tg", + "attributes", + ]) + }) + + it("elbv2ListenersQueryOptions includes lb arn", () => { + expect(elbv2ListenersQueryOptions("arn:lb").queryKey).toEqual([ + "elbv2", + "listeners", + "arn:lb", + ]) + }) + + it("elbv2TargetHealthQueryOptions includes tg arn + health", () => { + expect(elbv2TargetHealthQueryOptions("arn:tg").queryKey).toEqual([ + "elbv2", + "targetGroups", + "arn:tg", + "health", + ]) + }) + + it("elbv2TagsQueryOptions spreads resource arns into key", () => { + expect(elbv2TagsQueryOptions(["arn:lb", "arn:tg"]).queryKey).toEqual([ + "elbv2", + "tags", + "arn:lb", + "arn:tg", + ]) + }) +}) + +type QueryFnWithSignal = (ctx: { signal: AbortSignal }) => Promise + +function callQueryFn(queryFn: unknown): Promise { + return (queryFn as QueryFnWithSignal)({ + signal: new AbortController().signal, + }) +} + +describe("elbv2 implemented queries send the right command", () => { + it("loadBalancers list sends DescribeLoadBalancersCommand", async () => { + mockSend.mockResolvedValueOnce({ LoadBalancers: [] }) + await callQueryFn(elbv2LoadBalancersQueryOptions.queryFn) + expect(mockSend).toHaveBeenCalledOnce() + expect(mockSend.mock.calls[0]?.[0].input).toEqual({}) + }) + + it("loadBalancer detail filters by ARN", async () => { + mockSend.mockResolvedValueOnce({ LoadBalancers: [] }) + await callQueryFn(elbv2LoadBalancerQueryOptions("arn:lb").queryFn) + expect(mockSend.mock.calls[0]?.[0].input).toEqual({ + LoadBalancerArns: ["arn:lb"], + }) + }) + + it("loadBalancer attributes sends arn", async () => { + mockSend.mockResolvedValueOnce({ Attributes: [] }) + await callQueryFn(elbv2LoadBalancerAttributesQueryOptions("arn:lb").queryFn) + expect(mockSend.mock.calls[0]?.[0].input).toEqual({ + LoadBalancerArn: "arn:lb", + }) + }) + + it("listeners filters by load balancer arn", async () => { + mockSend.mockResolvedValueOnce({ Listeners: [] }) + await callQueryFn(elbv2ListenersQueryOptions("arn:lb").queryFn) + expect(mockSend.mock.calls[0]?.[0].input).toEqual({ + LoadBalancerArn: "arn:lb", + }) + }) + + it("tags sends resource arns", async () => { + mockSend.mockResolvedValueOnce({ TagDescriptions: [] }) + await callQueryFn(elbv2TagsQueryOptions(["arn:lb"]).queryFn) + expect(mockSend.mock.calls[0]?.[0].input).toEqual({ + ResourceArns: ["arn:lb"], + }) + }) + + it("targetGroups list sends DescribeTargetGroupsCommand", async () => { + mockSend.mockResolvedValueOnce({ TargetGroups: [] }) + await callQueryFn(elbv2TargetGroupsQueryOptions.queryFn) + expect(mockSend.mock.calls[0]?.[0].input).toEqual({}) + }) + + it("targetGroup detail filters by ARN", async () => { + mockSend.mockResolvedValueOnce({ TargetGroups: [] }) + await callQueryFn(elbv2TargetGroupQueryOptions("arn:tg").queryFn) + expect(mockSend.mock.calls[0]?.[0].input).toEqual({ + TargetGroupArns: ["arn:tg"], + }) + }) + + it("targetGroup attributes sends arn", async () => { + mockSend.mockResolvedValueOnce({ Attributes: [] }) + await callQueryFn(elbv2TargetGroupAttributesQueryOptions("arn:tg").queryFn) + expect(mockSend.mock.calls[0]?.[0].input).toEqual({ + TargetGroupArn: "arn:tg", + }) + }) + + it("targetHealth sends target group arn", async () => { + mockSend.mockResolvedValueOnce({ TargetHealthDescriptions: [] }) + await callQueryFn(elbv2TargetHealthQueryOptions("arn:tg").queryFn) + expect(mockSend.mock.calls[0]?.[0].input).toEqual({ + TargetGroupArn: "arn:tg", + }) + }) +}) + +describe("elbv2 load balancer list poll cadence", () => { + it("polls every 5s while any lb is provisioning", () => { + const refetch = elbv2LoadBalancersQueryOptions.refetchInterval + if (typeof refetch !== "function") { + throw new TypeError("expected refetchInterval to be a function") + } + const result = refetch({ + state: { + data: { LoadBalancers: [{ State: { Code: "provisioning" } }] }, + }, + } as never) + expect(result).toBe(5000) + }) + + it("does not poll once all lbs are active", () => { + const refetch = elbv2LoadBalancersQueryOptions.refetchInterval + if (typeof refetch !== "function") { + throw new TypeError("expected refetchInterval to be a function") + } + const result = refetch({ + state: { + data: { LoadBalancers: [{ State: { Code: "active" } }] }, + }, + } as never) + expect(result).toBe(false) + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/queries/elbv2.ts b/spinifex/services/spinifexui/frontend/src/queries/elbv2.ts new file mode 100644 index 000000000..3c81dda93 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/queries/elbv2.ts @@ -0,0 +1,119 @@ +import { + DescribeListenersCommand, + DescribeLoadBalancerAttributesCommand, + DescribeLoadBalancersCommand, + DescribeTagsCommand, + DescribeTargetGroupAttributesCommand, + DescribeTargetGroupsCommand, + DescribeTargetHealthCommand, +} from "@aws-sdk/client-elastic-load-balancing-v2" +import { queryOptions } from "@tanstack/react-query" + +import { getElbv2Client } from "@/lib/awsClient" + +const PROVISIONING_POLL_MS = 5000 + +export const elbv2LoadBalancersQueryOptions = queryOptions({ + queryKey: ["elbv2", "loadBalancers"], + queryFn: () => { + const command = new DescribeLoadBalancersCommand({}) + return getElbv2Client().send(command) + }, + refetchInterval: (query) => { + const lbs = query.state.data?.LoadBalancers ?? [] + const anyProvisioning = lbs.some((lb) => lb.State?.Code === "provisioning") + return anyProvisioning ? PROVISIONING_POLL_MS : false + }, +}) + +export const elbv2LoadBalancerQueryOptions = (arn: string) => + queryOptions({ + queryKey: ["elbv2", "loadBalancers", arn], + queryFn: () => { + const command = new DescribeLoadBalancersCommand({ + LoadBalancerArns: [arn], + }) + return getElbv2Client().send(command) + }, + refetchInterval: (query) => { + const lb = query.state.data?.LoadBalancers?.[0] + return lb?.State?.Code === "provisioning" ? PROVISIONING_POLL_MS : false + }, + }) + +export const elbv2LoadBalancerAttributesQueryOptions = (arn: string) => + queryOptions({ + queryKey: ["elbv2", "loadBalancers", arn, "attributes"], + queryFn: () => { + const command = new DescribeLoadBalancerAttributesCommand({ + LoadBalancerArn: arn, + }) + return getElbv2Client().send(command) + }, + }) + +export const elbv2TargetGroupsQueryOptions = queryOptions({ + queryKey: ["elbv2", "targetGroups"], + queryFn: () => { + const command = new DescribeTargetGroupsCommand({}) + return getElbv2Client().send(command) + }, +}) + +export const elbv2TargetGroupQueryOptions = (arn: string) => + queryOptions({ + queryKey: ["elbv2", "targetGroups", arn], + queryFn: () => { + const command = new DescribeTargetGroupsCommand({ + TargetGroupArns: [arn], + }) + return getElbv2Client().send(command) + }, + }) + +export const elbv2TargetGroupAttributesQueryOptions = (arn: string) => + queryOptions({ + queryKey: ["elbv2", "targetGroups", arn, "attributes"], + queryFn: () => { + const command = new DescribeTargetGroupAttributesCommand({ + TargetGroupArn: arn, + }) + return getElbv2Client().send(command) + }, + }) + +export const elbv2ListenersQueryOptions = (loadBalancerArn: string) => + queryOptions({ + queryKey: ["elbv2", "listeners", loadBalancerArn], + queryFn: () => { + const command = new DescribeListenersCommand({ + LoadBalancerArn: loadBalancerArn, + }) + return getElbv2Client().send(command) + }, + }) + +// Polling is opt-in by the caller (slice 5 enables 5s refetch while the Targets +// tab is visible). List page uses this as a one-shot for the health summary. +export const elbv2TargetHealthQueryOptions = (targetGroupArn: string) => + queryOptions({ + queryKey: ["elbv2", "targetGroups", targetGroupArn, "health"], + queryFn: () => { + const command = new DescribeTargetHealthCommand({ + TargetGroupArn: targetGroupArn, + }) + return getElbv2Client().send(command) + }, + }) + +export const elbv2TagsQueryOptions = (resourceArns: string[]) => + queryOptions({ + queryKey: ["elbv2", "tags", ...resourceArns], + queryFn: () => { + const command = new DescribeTagsCommand({ + ResourceArns: resourceArns, + }) + return getElbv2Client().send(command) + }, + enabled: resourceArns.length > 0, + }) diff --git a/spinifex/services/spinifexui/frontend/src/routeTree.gen.ts b/spinifex/services/spinifexui/frontend/src/routeTree.gen.ts index 0e3f88e4a..b472ed438 100644 --- a/spinifex/services/spinifexui/frontend/src/routeTree.gen.ts +++ b/spinifex/services/spinifexui/frontend/src/routeTree.gen.ts @@ -20,10 +20,12 @@ import { Route as AuthIamusersCreateUserRouteImport } from './routes/_auth/iam/( import { Route as AuthIampoliciesCreatePolicyRouteImport } from './routes/_auth/iam/(policies)/create-policy' import { Route as AuthEc2vpcCreateVpcRouteImport } from './routes/_auth/ec2/(vpc)/create-vpc' import { Route as AuthEc2volumesCreateVolumeRouteImport } from './routes/_auth/ec2/(volumes)/create-volume' +import { Route as AuthEc2targetGroupsCreateTargetGroupRouteImport } from './routes/_auth/ec2/(target-groups)/create-target-group' import { Route as AuthEc2subnetCreateSubnetRouteImport } from './routes/_auth/ec2/(subnet)/create-subnet' import { Route as AuthEc2snapshotsCreateSnapshotRouteImport } from './routes/_auth/ec2/(snapshots)/create-snapshot' import { Route as AuthEc2securityGroupsCreateSecurityGroupRouteImport } from './routes/_auth/ec2/(security-groups)/create-security-group' import { Route as AuthEc2placementGroupsCreatePlacementGroupRouteImport } from './routes/_auth/ec2/(placement-groups)/create-placement-group' +import { Route as AuthEc2loadBalancersCreateLoadBalancerRouteImport } from './routes/_auth/ec2/(load-balancers)/create-load-balancer' import { Route as AuthEc2keyImportKeyPairRouteImport } from './routes/_auth/ec2/(key)/import-key-pair' import { Route as AuthEc2keyCreateKeyPairRouteImport } from './routes/_auth/ec2/(key)/create-key-pair' import { Route as AuthEc2instancesRunInstancesRouteImport } from './routes/_auth/ec2/(instances)/run-instances' @@ -33,10 +35,12 @@ import { Route as AuthIamusersListUsersIndexRouteImport } from './routes/_auth/i import { Route as AuthIampoliciesListPoliciesIndexRouteImport } from './routes/_auth/iam/(policies)/list-policies/index' import { Route as AuthEc2vpcDescribeVpcsIndexRouteImport } from './routes/_auth/ec2/(vpc)/describe-vpcs/index' import { Route as AuthEc2volumesDescribeVolumesIndexRouteImport } from './routes/_auth/ec2/(volumes)/describe-volumes/index' +import { Route as AuthEc2targetGroupsDescribeTargetGroupsIndexRouteImport } from './routes/_auth/ec2/(target-groups)/describe-target-groups/index' import { Route as AuthEc2subnetDescribeSubnetsIndexRouteImport } from './routes/_auth/ec2/(subnet)/describe-subnets/index' import { Route as AuthEc2snapshotsDescribeSnapshotsIndexRouteImport } from './routes/_auth/ec2/(snapshots)/describe-snapshots/index' import { Route as AuthEc2securityGroupsDescribeSecurityGroupsIndexRouteImport } from './routes/_auth/ec2/(security-groups)/describe-security-groups/index' import { Route as AuthEc2placementGroupsDescribePlacementGroupsIndexRouteImport } from './routes/_auth/ec2/(placement-groups)/describe-placement-groups/index' +import { Route as AuthEc2loadBalancersDescribeLoadBalancersIndexRouteImport } from './routes/_auth/ec2/(load-balancers)/describe-load-balancers/index' import { Route as AuthEc2keyDescribeKeyPairsIndexRouteImport } from './routes/_auth/ec2/(key)/describe-key-pairs/index' import { Route as AuthEc2instancesDescribeInstancesIndexRouteImport } from './routes/_auth/ec2/(instances)/describe-instances/index' import { Route as AuthEc2imagesDescribeImagesIndexRouteImport } from './routes/_auth/ec2/(images)/describe-images/index' @@ -46,10 +50,12 @@ import { Route as AuthIampoliciesListPoliciesPolicyArnRouteImport } from './rout import { Route as AuthEc2vpcDescribeVpcsIdRouteImport } from './routes/_auth/ec2/(vpc)/describe-vpcs/$id' import { Route as AuthEc2volumesModifyVolumeIdRouteImport } from './routes/_auth/ec2/(volumes)/modify-volume/$id' import { Route as AuthEc2volumesDescribeVolumesIdRouteImport } from './routes/_auth/ec2/(volumes)/describe-volumes/$id' +import { Route as AuthEc2targetGroupsDescribeTargetGroupsIdRouteImport } from './routes/_auth/ec2/(target-groups)/describe-target-groups/$id' import { Route as AuthEc2subnetDescribeSubnetsIdRouteImport } from './routes/_auth/ec2/(subnet)/describe-subnets/$id' import { Route as AuthEc2snapshotsDescribeSnapshotsIdRouteImport } from './routes/_auth/ec2/(snapshots)/describe-snapshots/$id' import { Route as AuthEc2securityGroupsDescribeSecurityGroupsIdRouteImport } from './routes/_auth/ec2/(security-groups)/describe-security-groups/$id' import { Route as AuthEc2placementGroupsDescribePlacementGroupsIdRouteImport } from './routes/_auth/ec2/(placement-groups)/describe-placement-groups/$id' +import { Route as AuthEc2loadBalancersDescribeLoadBalancersIdRouteImport } from './routes/_auth/ec2/(load-balancers)/describe-load-balancers/$id' import { Route as AuthEc2keyDescribeKeyPairsIdRouteImport } from './routes/_auth/ec2/(key)/describe-key-pairs/$id' import { Route as AuthEc2instancesDescribeInstancesIdRouteImport } from './routes/_auth/ec2/(instances)/describe-instances/$id' import { Route as AuthEc2imagesDescribeImagesIdRouteImport } from './routes/_auth/ec2/(images)/describe-images/$id' @@ -111,6 +117,12 @@ const AuthEc2volumesCreateVolumeRoute = path: '/ec2/create-volume', getParentRoute: () => AuthRouteRoute, } as any) +const AuthEc2targetGroupsCreateTargetGroupRoute = + AuthEc2targetGroupsCreateTargetGroupRouteImport.update({ + id: '/ec2/(target-groups)/create-target-group', + path: '/ec2/create-target-group', + getParentRoute: () => AuthRouteRoute, + } as any) const AuthEc2subnetCreateSubnetRoute = AuthEc2subnetCreateSubnetRouteImport.update({ id: '/ec2/(subnet)/create-subnet', @@ -135,6 +147,12 @@ const AuthEc2placementGroupsCreatePlacementGroupRoute = path: '/ec2/create-placement-group', getParentRoute: () => AuthRouteRoute, } as any) +const AuthEc2loadBalancersCreateLoadBalancerRoute = + AuthEc2loadBalancersCreateLoadBalancerRouteImport.update({ + id: '/ec2/(load-balancers)/create-load-balancer', + path: '/ec2/create-load-balancer', + getParentRoute: () => AuthRouteRoute, + } as any) const AuthEc2keyImportKeyPairRoute = AuthEc2keyImportKeyPairRouteImport.update({ id: '/ec2/(key)/import-key-pair', path: '/ec2/import-key-pair', @@ -185,6 +203,12 @@ const AuthEc2volumesDescribeVolumesIndexRoute = path: '/ec2/describe-volumes/', getParentRoute: () => AuthRouteRoute, } as any) +const AuthEc2targetGroupsDescribeTargetGroupsIndexRoute = + AuthEc2targetGroupsDescribeTargetGroupsIndexRouteImport.update({ + id: '/ec2/(target-groups)/describe-target-groups/', + path: '/ec2/describe-target-groups/', + getParentRoute: () => AuthRouteRoute, + } as any) const AuthEc2subnetDescribeSubnetsIndexRoute = AuthEc2subnetDescribeSubnetsIndexRouteImport.update({ id: '/ec2/(subnet)/describe-subnets/', @@ -209,6 +233,12 @@ const AuthEc2placementGroupsDescribePlacementGroupsIndexRoute = path: '/ec2/describe-placement-groups/', getParentRoute: () => AuthRouteRoute, } as any) +const AuthEc2loadBalancersDescribeLoadBalancersIndexRoute = + AuthEc2loadBalancersDescribeLoadBalancersIndexRouteImport.update({ + id: '/ec2/(load-balancers)/describe-load-balancers/', + path: '/ec2/describe-load-balancers/', + getParentRoute: () => AuthRouteRoute, + } as any) const AuthEc2keyDescribeKeyPairsIndexRoute = AuthEc2keyDescribeKeyPairsIndexRouteImport.update({ id: '/ec2/(key)/describe-key-pairs/', @@ -262,6 +292,12 @@ const AuthEc2volumesDescribeVolumesIdRoute = path: '/ec2/describe-volumes/$id', getParentRoute: () => AuthRouteRoute, } as any) +const AuthEc2targetGroupsDescribeTargetGroupsIdRoute = + AuthEc2targetGroupsDescribeTargetGroupsIdRouteImport.update({ + id: '/ec2/(target-groups)/describe-target-groups/$id', + path: '/ec2/describe-target-groups/$id', + getParentRoute: () => AuthRouteRoute, + } as any) const AuthEc2subnetDescribeSubnetsIdRoute = AuthEc2subnetDescribeSubnetsIdRouteImport.update({ id: '/ec2/(subnet)/describe-subnets/$id', @@ -286,6 +322,12 @@ const AuthEc2placementGroupsDescribePlacementGroupsIdRoute = path: '/ec2/describe-placement-groups/$id', getParentRoute: () => AuthRouteRoute, } as any) +const AuthEc2loadBalancersDescribeLoadBalancersIdRoute = + AuthEc2loadBalancersDescribeLoadBalancersIdRouteImport.update({ + id: '/ec2/(load-balancers)/describe-load-balancers/$id', + path: '/ec2/describe-load-balancers/$id', + getParentRoute: () => AuthRouteRoute, + } as any) const AuthEc2keyDescribeKeyPairsIdRoute = AuthEc2keyDescribeKeyPairsIdRouteImport.update({ id: '/ec2/(key)/describe-key-pairs/$id', @@ -314,10 +356,12 @@ export interface FileRoutesByFullPath { '/ec2/run-instances': typeof AuthEc2instancesRunInstancesRoute '/ec2/create-key-pair': typeof AuthEc2keyCreateKeyPairRoute '/ec2/import-key-pair': typeof AuthEc2keyImportKeyPairRoute + '/ec2/create-load-balancer': typeof AuthEc2loadBalancersCreateLoadBalancerRoute '/ec2/create-placement-group': typeof AuthEc2placementGroupsCreatePlacementGroupRoute '/ec2/create-security-group': typeof AuthEc2securityGroupsCreateSecurityGroupRoute '/ec2/create-snapshot': typeof AuthEc2snapshotsCreateSnapshotRoute '/ec2/create-subnet': typeof AuthEc2subnetCreateSubnetRoute + '/ec2/create-target-group': typeof AuthEc2targetGroupsCreateTargetGroupRoute '/ec2/create-volume': typeof AuthEc2volumesCreateVolumeRoute '/ec2/create-vpc': typeof AuthEc2vpcCreateVpcRoute '/iam/create-policy': typeof AuthIampoliciesCreatePolicyRoute @@ -327,10 +371,12 @@ export interface FileRoutesByFullPath { '/ec2/describe-images/$id': typeof AuthEc2imagesDescribeImagesIdRoute '/ec2/describe-instances/$id': typeof AuthEc2instancesDescribeInstancesIdRoute '/ec2/describe-key-pairs/$id': typeof AuthEc2keyDescribeKeyPairsIdRoute + '/ec2/describe-load-balancers/$id': typeof AuthEc2loadBalancersDescribeLoadBalancersIdRoute '/ec2/describe-placement-groups/$id': typeof AuthEc2placementGroupsDescribePlacementGroupsIdRoute '/ec2/describe-security-groups/$id': typeof AuthEc2securityGroupsDescribeSecurityGroupsIdRoute '/ec2/describe-snapshots/$id': typeof AuthEc2snapshotsDescribeSnapshotsIdRoute '/ec2/describe-subnets/$id': typeof AuthEc2subnetDescribeSubnetsIdRoute + '/ec2/describe-target-groups/$id': typeof AuthEc2targetGroupsDescribeTargetGroupsIdRoute '/ec2/describe-volumes/$id': typeof AuthEc2volumesDescribeVolumesIdRoute '/ec2/modify-volume/$id': typeof AuthEc2volumesModifyVolumeIdRoute '/ec2/describe-vpcs/$id': typeof AuthEc2vpcDescribeVpcsIdRoute @@ -340,10 +386,12 @@ export interface FileRoutesByFullPath { '/ec2/describe-images/': typeof AuthEc2imagesDescribeImagesIndexRoute '/ec2/describe-instances/': typeof AuthEc2instancesDescribeInstancesIndexRoute '/ec2/describe-key-pairs/': typeof AuthEc2keyDescribeKeyPairsIndexRoute + '/ec2/describe-load-balancers/': typeof AuthEc2loadBalancersDescribeLoadBalancersIndexRoute '/ec2/describe-placement-groups/': typeof AuthEc2placementGroupsDescribePlacementGroupsIndexRoute '/ec2/describe-security-groups/': typeof AuthEc2securityGroupsDescribeSecurityGroupsIndexRoute '/ec2/describe-snapshots/': typeof AuthEc2snapshotsDescribeSnapshotsIndexRoute '/ec2/describe-subnets/': typeof AuthEc2subnetDescribeSubnetsIndexRoute + '/ec2/describe-target-groups/': typeof AuthEc2targetGroupsDescribeTargetGroupsIndexRoute '/ec2/describe-volumes/': typeof AuthEc2volumesDescribeVolumesIndexRoute '/ec2/describe-vpcs/': typeof AuthEc2vpcDescribeVpcsIndexRoute '/iam/list-policies/': typeof AuthIampoliciesListPoliciesIndexRoute @@ -358,10 +406,12 @@ export interface FileRoutesByTo { '/ec2/run-instances': typeof AuthEc2instancesRunInstancesRoute '/ec2/create-key-pair': typeof AuthEc2keyCreateKeyPairRoute '/ec2/import-key-pair': typeof AuthEc2keyImportKeyPairRoute + '/ec2/create-load-balancer': typeof AuthEc2loadBalancersCreateLoadBalancerRoute '/ec2/create-placement-group': typeof AuthEc2placementGroupsCreatePlacementGroupRoute '/ec2/create-security-group': typeof AuthEc2securityGroupsCreateSecurityGroupRoute '/ec2/create-snapshot': typeof AuthEc2snapshotsCreateSnapshotRoute '/ec2/create-subnet': typeof AuthEc2subnetCreateSubnetRoute + '/ec2/create-target-group': typeof AuthEc2targetGroupsCreateTargetGroupRoute '/ec2/create-volume': typeof AuthEc2volumesCreateVolumeRoute '/ec2/create-vpc': typeof AuthEc2vpcCreateVpcRoute '/iam/create-policy': typeof AuthIampoliciesCreatePolicyRoute @@ -371,10 +421,12 @@ export interface FileRoutesByTo { '/ec2/describe-images/$id': typeof AuthEc2imagesDescribeImagesIdRoute '/ec2/describe-instances/$id': typeof AuthEc2instancesDescribeInstancesIdRoute '/ec2/describe-key-pairs/$id': typeof AuthEc2keyDescribeKeyPairsIdRoute + '/ec2/describe-load-balancers/$id': typeof AuthEc2loadBalancersDescribeLoadBalancersIdRoute '/ec2/describe-placement-groups/$id': typeof AuthEc2placementGroupsDescribePlacementGroupsIdRoute '/ec2/describe-security-groups/$id': typeof AuthEc2securityGroupsDescribeSecurityGroupsIdRoute '/ec2/describe-snapshots/$id': typeof AuthEc2snapshotsDescribeSnapshotsIdRoute '/ec2/describe-subnets/$id': typeof AuthEc2subnetDescribeSubnetsIdRoute + '/ec2/describe-target-groups/$id': typeof AuthEc2targetGroupsDescribeTargetGroupsIdRoute '/ec2/describe-volumes/$id': typeof AuthEc2volumesDescribeVolumesIdRoute '/ec2/modify-volume/$id': typeof AuthEc2volumesModifyVolumeIdRoute '/ec2/describe-vpcs/$id': typeof AuthEc2vpcDescribeVpcsIdRoute @@ -384,10 +436,12 @@ export interface FileRoutesByTo { '/ec2/describe-images': typeof AuthEc2imagesDescribeImagesIndexRoute '/ec2/describe-instances': typeof AuthEc2instancesDescribeInstancesIndexRoute '/ec2/describe-key-pairs': typeof AuthEc2keyDescribeKeyPairsIndexRoute + '/ec2/describe-load-balancers': typeof AuthEc2loadBalancersDescribeLoadBalancersIndexRoute '/ec2/describe-placement-groups': typeof AuthEc2placementGroupsDescribePlacementGroupsIndexRoute '/ec2/describe-security-groups': typeof AuthEc2securityGroupsDescribeSecurityGroupsIndexRoute '/ec2/describe-snapshots': typeof AuthEc2snapshotsDescribeSnapshotsIndexRoute '/ec2/describe-subnets': typeof AuthEc2subnetDescribeSubnetsIndexRoute + '/ec2/describe-target-groups': typeof AuthEc2targetGroupsDescribeTargetGroupsIndexRoute '/ec2/describe-volumes': typeof AuthEc2volumesDescribeVolumesIndexRoute '/ec2/describe-vpcs': typeof AuthEc2vpcDescribeVpcsIndexRoute '/iam/list-policies': typeof AuthIampoliciesListPoliciesIndexRoute @@ -405,10 +459,12 @@ export interface FileRoutesById { '/_auth/ec2/(instances)/run-instances': typeof AuthEc2instancesRunInstancesRoute '/_auth/ec2/(key)/create-key-pair': typeof AuthEc2keyCreateKeyPairRoute '/_auth/ec2/(key)/import-key-pair': typeof AuthEc2keyImportKeyPairRoute + '/_auth/ec2/(load-balancers)/create-load-balancer': typeof AuthEc2loadBalancersCreateLoadBalancerRoute '/_auth/ec2/(placement-groups)/create-placement-group': typeof AuthEc2placementGroupsCreatePlacementGroupRoute '/_auth/ec2/(security-groups)/create-security-group': typeof AuthEc2securityGroupsCreateSecurityGroupRoute '/_auth/ec2/(snapshots)/create-snapshot': typeof AuthEc2snapshotsCreateSnapshotRoute '/_auth/ec2/(subnet)/create-subnet': typeof AuthEc2subnetCreateSubnetRoute + '/_auth/ec2/(target-groups)/create-target-group': typeof AuthEc2targetGroupsCreateTargetGroupRoute '/_auth/ec2/(volumes)/create-volume': typeof AuthEc2volumesCreateVolumeRoute '/_auth/ec2/(vpc)/create-vpc': typeof AuthEc2vpcCreateVpcRoute '/_auth/iam/(policies)/create-policy': typeof AuthIampoliciesCreatePolicyRoute @@ -418,10 +474,12 @@ export interface FileRoutesById { '/_auth/ec2/(images)/describe-images/$id': typeof AuthEc2imagesDescribeImagesIdRoute '/_auth/ec2/(instances)/describe-instances/$id': typeof AuthEc2instancesDescribeInstancesIdRoute '/_auth/ec2/(key)/describe-key-pairs/$id': typeof AuthEc2keyDescribeKeyPairsIdRoute + '/_auth/ec2/(load-balancers)/describe-load-balancers/$id': typeof AuthEc2loadBalancersDescribeLoadBalancersIdRoute '/_auth/ec2/(placement-groups)/describe-placement-groups/$id': typeof AuthEc2placementGroupsDescribePlacementGroupsIdRoute '/_auth/ec2/(security-groups)/describe-security-groups/$id': typeof AuthEc2securityGroupsDescribeSecurityGroupsIdRoute '/_auth/ec2/(snapshots)/describe-snapshots/$id': typeof AuthEc2snapshotsDescribeSnapshotsIdRoute '/_auth/ec2/(subnet)/describe-subnets/$id': typeof AuthEc2subnetDescribeSubnetsIdRoute + '/_auth/ec2/(target-groups)/describe-target-groups/$id': typeof AuthEc2targetGroupsDescribeTargetGroupsIdRoute '/_auth/ec2/(volumes)/describe-volumes/$id': typeof AuthEc2volumesDescribeVolumesIdRoute '/_auth/ec2/(volumes)/modify-volume/$id': typeof AuthEc2volumesModifyVolumeIdRoute '/_auth/ec2/(vpc)/describe-vpcs/$id': typeof AuthEc2vpcDescribeVpcsIdRoute @@ -431,10 +489,12 @@ export interface FileRoutesById { '/_auth/ec2/(images)/describe-images/': typeof AuthEc2imagesDescribeImagesIndexRoute '/_auth/ec2/(instances)/describe-instances/': typeof AuthEc2instancesDescribeInstancesIndexRoute '/_auth/ec2/(key)/describe-key-pairs/': typeof AuthEc2keyDescribeKeyPairsIndexRoute + '/_auth/ec2/(load-balancers)/describe-load-balancers/': typeof AuthEc2loadBalancersDescribeLoadBalancersIndexRoute '/_auth/ec2/(placement-groups)/describe-placement-groups/': typeof AuthEc2placementGroupsDescribePlacementGroupsIndexRoute '/_auth/ec2/(security-groups)/describe-security-groups/': typeof AuthEc2securityGroupsDescribeSecurityGroupsIndexRoute '/_auth/ec2/(snapshots)/describe-snapshots/': typeof AuthEc2snapshotsDescribeSnapshotsIndexRoute '/_auth/ec2/(subnet)/describe-subnets/': typeof AuthEc2subnetDescribeSubnetsIndexRoute + '/_auth/ec2/(target-groups)/describe-target-groups/': typeof AuthEc2targetGroupsDescribeTargetGroupsIndexRoute '/_auth/ec2/(volumes)/describe-volumes/': typeof AuthEc2volumesDescribeVolumesIndexRoute '/_auth/ec2/(vpc)/describe-vpcs/': typeof AuthEc2vpcDescribeVpcsIndexRoute '/_auth/iam/(policies)/list-policies/': typeof AuthIampoliciesListPoliciesIndexRoute @@ -452,10 +512,12 @@ export interface FileRouteTypes { | '/ec2/run-instances' | '/ec2/create-key-pair' | '/ec2/import-key-pair' + | '/ec2/create-load-balancer' | '/ec2/create-placement-group' | '/ec2/create-security-group' | '/ec2/create-snapshot' | '/ec2/create-subnet' + | '/ec2/create-target-group' | '/ec2/create-volume' | '/ec2/create-vpc' | '/iam/create-policy' @@ -465,10 +527,12 @@ export interface FileRouteTypes { | '/ec2/describe-images/$id' | '/ec2/describe-instances/$id' | '/ec2/describe-key-pairs/$id' + | '/ec2/describe-load-balancers/$id' | '/ec2/describe-placement-groups/$id' | '/ec2/describe-security-groups/$id' | '/ec2/describe-snapshots/$id' | '/ec2/describe-subnets/$id' + | '/ec2/describe-target-groups/$id' | '/ec2/describe-volumes/$id' | '/ec2/modify-volume/$id' | '/ec2/describe-vpcs/$id' @@ -478,10 +542,12 @@ export interface FileRouteTypes { | '/ec2/describe-images/' | '/ec2/describe-instances/' | '/ec2/describe-key-pairs/' + | '/ec2/describe-load-balancers/' | '/ec2/describe-placement-groups/' | '/ec2/describe-security-groups/' | '/ec2/describe-snapshots/' | '/ec2/describe-subnets/' + | '/ec2/describe-target-groups/' | '/ec2/describe-volumes/' | '/ec2/describe-vpcs/' | '/iam/list-policies/' @@ -496,10 +562,12 @@ export interface FileRouteTypes { | '/ec2/run-instances' | '/ec2/create-key-pair' | '/ec2/import-key-pair' + | '/ec2/create-load-balancer' | '/ec2/create-placement-group' | '/ec2/create-security-group' | '/ec2/create-snapshot' | '/ec2/create-subnet' + | '/ec2/create-target-group' | '/ec2/create-volume' | '/ec2/create-vpc' | '/iam/create-policy' @@ -509,10 +577,12 @@ export interface FileRouteTypes { | '/ec2/describe-images/$id' | '/ec2/describe-instances/$id' | '/ec2/describe-key-pairs/$id' + | '/ec2/describe-load-balancers/$id' | '/ec2/describe-placement-groups/$id' | '/ec2/describe-security-groups/$id' | '/ec2/describe-snapshots/$id' | '/ec2/describe-subnets/$id' + | '/ec2/describe-target-groups/$id' | '/ec2/describe-volumes/$id' | '/ec2/modify-volume/$id' | '/ec2/describe-vpcs/$id' @@ -522,10 +592,12 @@ export interface FileRouteTypes { | '/ec2/describe-images' | '/ec2/describe-instances' | '/ec2/describe-key-pairs' + | '/ec2/describe-load-balancers' | '/ec2/describe-placement-groups' | '/ec2/describe-security-groups' | '/ec2/describe-snapshots' | '/ec2/describe-subnets' + | '/ec2/describe-target-groups' | '/ec2/describe-volumes' | '/ec2/describe-vpcs' | '/iam/list-policies' @@ -542,10 +614,12 @@ export interface FileRouteTypes { | '/_auth/ec2/(instances)/run-instances' | '/_auth/ec2/(key)/create-key-pair' | '/_auth/ec2/(key)/import-key-pair' + | '/_auth/ec2/(load-balancers)/create-load-balancer' | '/_auth/ec2/(placement-groups)/create-placement-group' | '/_auth/ec2/(security-groups)/create-security-group' | '/_auth/ec2/(snapshots)/create-snapshot' | '/_auth/ec2/(subnet)/create-subnet' + | '/_auth/ec2/(target-groups)/create-target-group' | '/_auth/ec2/(volumes)/create-volume' | '/_auth/ec2/(vpc)/create-vpc' | '/_auth/iam/(policies)/create-policy' @@ -555,10 +629,12 @@ export interface FileRouteTypes { | '/_auth/ec2/(images)/describe-images/$id' | '/_auth/ec2/(instances)/describe-instances/$id' | '/_auth/ec2/(key)/describe-key-pairs/$id' + | '/_auth/ec2/(load-balancers)/describe-load-balancers/$id' | '/_auth/ec2/(placement-groups)/describe-placement-groups/$id' | '/_auth/ec2/(security-groups)/describe-security-groups/$id' | '/_auth/ec2/(snapshots)/describe-snapshots/$id' | '/_auth/ec2/(subnet)/describe-subnets/$id' + | '/_auth/ec2/(target-groups)/describe-target-groups/$id' | '/_auth/ec2/(volumes)/describe-volumes/$id' | '/_auth/ec2/(volumes)/modify-volume/$id' | '/_auth/ec2/(vpc)/describe-vpcs/$id' @@ -568,10 +644,12 @@ export interface FileRouteTypes { | '/_auth/ec2/(images)/describe-images/' | '/_auth/ec2/(instances)/describe-instances/' | '/_auth/ec2/(key)/describe-key-pairs/' + | '/_auth/ec2/(load-balancers)/describe-load-balancers/' | '/_auth/ec2/(placement-groups)/describe-placement-groups/' | '/_auth/ec2/(security-groups)/describe-security-groups/' | '/_auth/ec2/(snapshots)/describe-snapshots/' | '/_auth/ec2/(subnet)/describe-subnets/' + | '/_auth/ec2/(target-groups)/describe-target-groups/' | '/_auth/ec2/(volumes)/describe-volumes/' | '/_auth/ec2/(vpc)/describe-vpcs/' | '/_auth/iam/(policies)/list-policies/' @@ -663,6 +741,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AuthEc2volumesCreateVolumeRouteImport parentRoute: typeof AuthRouteRoute } + '/_auth/ec2/(target-groups)/create-target-group': { + id: '/_auth/ec2/(target-groups)/create-target-group' + path: '/ec2/create-target-group' + fullPath: '/ec2/create-target-group' + preLoaderRoute: typeof AuthEc2targetGroupsCreateTargetGroupRouteImport + parentRoute: typeof AuthRouteRoute + } '/_auth/ec2/(subnet)/create-subnet': { id: '/_auth/ec2/(subnet)/create-subnet' path: '/ec2/create-subnet' @@ -691,6 +776,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AuthEc2placementGroupsCreatePlacementGroupRouteImport parentRoute: typeof AuthRouteRoute } + '/_auth/ec2/(load-balancers)/create-load-balancer': { + id: '/_auth/ec2/(load-balancers)/create-load-balancer' + path: '/ec2/create-load-balancer' + fullPath: '/ec2/create-load-balancer' + preLoaderRoute: typeof AuthEc2loadBalancersCreateLoadBalancerRouteImport + parentRoute: typeof AuthRouteRoute + } '/_auth/ec2/(key)/import-key-pair': { id: '/_auth/ec2/(key)/import-key-pair' path: '/ec2/import-key-pair' @@ -754,6 +846,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AuthEc2volumesDescribeVolumesIndexRouteImport parentRoute: typeof AuthRouteRoute } + '/_auth/ec2/(target-groups)/describe-target-groups/': { + id: '/_auth/ec2/(target-groups)/describe-target-groups/' + path: '/ec2/describe-target-groups' + fullPath: '/ec2/describe-target-groups/' + preLoaderRoute: typeof AuthEc2targetGroupsDescribeTargetGroupsIndexRouteImport + parentRoute: typeof AuthRouteRoute + } '/_auth/ec2/(subnet)/describe-subnets/': { id: '/_auth/ec2/(subnet)/describe-subnets/' path: '/ec2/describe-subnets' @@ -782,6 +881,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AuthEc2placementGroupsDescribePlacementGroupsIndexRouteImport parentRoute: typeof AuthRouteRoute } + '/_auth/ec2/(load-balancers)/describe-load-balancers/': { + id: '/_auth/ec2/(load-balancers)/describe-load-balancers/' + path: '/ec2/describe-load-balancers' + fullPath: '/ec2/describe-load-balancers/' + preLoaderRoute: typeof AuthEc2loadBalancersDescribeLoadBalancersIndexRouteImport + parentRoute: typeof AuthRouteRoute + } '/_auth/ec2/(key)/describe-key-pairs/': { id: '/_auth/ec2/(key)/describe-key-pairs/' path: '/ec2/describe-key-pairs' @@ -845,6 +951,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AuthEc2volumesDescribeVolumesIdRouteImport parentRoute: typeof AuthRouteRoute } + '/_auth/ec2/(target-groups)/describe-target-groups/$id': { + id: '/_auth/ec2/(target-groups)/describe-target-groups/$id' + path: '/ec2/describe-target-groups/$id' + fullPath: '/ec2/describe-target-groups/$id' + preLoaderRoute: typeof AuthEc2targetGroupsDescribeTargetGroupsIdRouteImport + parentRoute: typeof AuthRouteRoute + } '/_auth/ec2/(subnet)/describe-subnets/$id': { id: '/_auth/ec2/(subnet)/describe-subnets/$id' path: '/ec2/describe-subnets/$id' @@ -873,6 +986,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AuthEc2placementGroupsDescribePlacementGroupsIdRouteImport parentRoute: typeof AuthRouteRoute } + '/_auth/ec2/(load-balancers)/describe-load-balancers/$id': { + id: '/_auth/ec2/(load-balancers)/describe-load-balancers/$id' + path: '/ec2/describe-load-balancers/$id' + fullPath: '/ec2/describe-load-balancers/$id' + preLoaderRoute: typeof AuthEc2loadBalancersDescribeLoadBalancersIdRouteImport + parentRoute: typeof AuthRouteRoute + } '/_auth/ec2/(key)/describe-key-pairs/$id': { id: '/_auth/ec2/(key)/describe-key-pairs/$id' path: '/ec2/describe-key-pairs/$id' @@ -918,10 +1038,12 @@ interface AuthRouteRouteChildren { AuthEc2instancesRunInstancesRoute: typeof AuthEc2instancesRunInstancesRoute AuthEc2keyCreateKeyPairRoute: typeof AuthEc2keyCreateKeyPairRoute AuthEc2keyImportKeyPairRoute: typeof AuthEc2keyImportKeyPairRoute + AuthEc2loadBalancersCreateLoadBalancerRoute: typeof AuthEc2loadBalancersCreateLoadBalancerRoute AuthEc2placementGroupsCreatePlacementGroupRoute: typeof AuthEc2placementGroupsCreatePlacementGroupRoute AuthEc2securityGroupsCreateSecurityGroupRoute: typeof AuthEc2securityGroupsCreateSecurityGroupRoute AuthEc2snapshotsCreateSnapshotRoute: typeof AuthEc2snapshotsCreateSnapshotRoute AuthEc2subnetCreateSubnetRoute: typeof AuthEc2subnetCreateSubnetRoute + AuthEc2targetGroupsCreateTargetGroupRoute: typeof AuthEc2targetGroupsCreateTargetGroupRoute AuthEc2volumesCreateVolumeRoute: typeof AuthEc2volumesCreateVolumeRoute AuthEc2vpcCreateVpcRoute: typeof AuthEc2vpcCreateVpcRoute AuthIampoliciesCreatePolicyRoute: typeof AuthIampoliciesCreatePolicyRoute @@ -931,10 +1053,12 @@ interface AuthRouteRouteChildren { AuthEc2imagesDescribeImagesIdRoute: typeof AuthEc2imagesDescribeImagesIdRoute AuthEc2instancesDescribeInstancesIdRoute: typeof AuthEc2instancesDescribeInstancesIdRoute AuthEc2keyDescribeKeyPairsIdRoute: typeof AuthEc2keyDescribeKeyPairsIdRoute + AuthEc2loadBalancersDescribeLoadBalancersIdRoute: typeof AuthEc2loadBalancersDescribeLoadBalancersIdRoute AuthEc2placementGroupsDescribePlacementGroupsIdRoute: typeof AuthEc2placementGroupsDescribePlacementGroupsIdRoute AuthEc2securityGroupsDescribeSecurityGroupsIdRoute: typeof AuthEc2securityGroupsDescribeSecurityGroupsIdRoute AuthEc2snapshotsDescribeSnapshotsIdRoute: typeof AuthEc2snapshotsDescribeSnapshotsIdRoute AuthEc2subnetDescribeSubnetsIdRoute: typeof AuthEc2subnetDescribeSubnetsIdRoute + AuthEc2targetGroupsDescribeTargetGroupsIdRoute: typeof AuthEc2targetGroupsDescribeTargetGroupsIdRoute AuthEc2volumesDescribeVolumesIdRoute: typeof AuthEc2volumesDescribeVolumesIdRoute AuthEc2volumesModifyVolumeIdRoute: typeof AuthEc2volumesModifyVolumeIdRoute AuthEc2vpcDescribeVpcsIdRoute: typeof AuthEc2vpcDescribeVpcsIdRoute @@ -943,10 +1067,12 @@ interface AuthRouteRouteChildren { AuthEc2imagesDescribeImagesIndexRoute: typeof AuthEc2imagesDescribeImagesIndexRoute AuthEc2instancesDescribeInstancesIndexRoute: typeof AuthEc2instancesDescribeInstancesIndexRoute AuthEc2keyDescribeKeyPairsIndexRoute: typeof AuthEc2keyDescribeKeyPairsIndexRoute + AuthEc2loadBalancersDescribeLoadBalancersIndexRoute: typeof AuthEc2loadBalancersDescribeLoadBalancersIndexRoute AuthEc2placementGroupsDescribePlacementGroupsIndexRoute: typeof AuthEc2placementGroupsDescribePlacementGroupsIndexRoute AuthEc2securityGroupsDescribeSecurityGroupsIndexRoute: typeof AuthEc2securityGroupsDescribeSecurityGroupsIndexRoute AuthEc2snapshotsDescribeSnapshotsIndexRoute: typeof AuthEc2snapshotsDescribeSnapshotsIndexRoute AuthEc2subnetDescribeSubnetsIndexRoute: typeof AuthEc2subnetDescribeSubnetsIndexRoute + AuthEc2targetGroupsDescribeTargetGroupsIndexRoute: typeof AuthEc2targetGroupsDescribeTargetGroupsIndexRoute AuthEc2volumesDescribeVolumesIndexRoute: typeof AuthEc2volumesDescribeVolumesIndexRoute AuthEc2vpcDescribeVpcsIndexRoute: typeof AuthEc2vpcDescribeVpcsIndexRoute AuthIampoliciesListPoliciesIndexRoute: typeof AuthIampoliciesListPoliciesIndexRoute @@ -961,12 +1087,16 @@ const AuthRouteRouteChildren: AuthRouteRouteChildren = { AuthEc2instancesRunInstancesRoute: AuthEc2instancesRunInstancesRoute, AuthEc2keyCreateKeyPairRoute: AuthEc2keyCreateKeyPairRoute, AuthEc2keyImportKeyPairRoute: AuthEc2keyImportKeyPairRoute, + AuthEc2loadBalancersCreateLoadBalancerRoute: + AuthEc2loadBalancersCreateLoadBalancerRoute, AuthEc2placementGroupsCreatePlacementGroupRoute: AuthEc2placementGroupsCreatePlacementGroupRoute, AuthEc2securityGroupsCreateSecurityGroupRoute: AuthEc2securityGroupsCreateSecurityGroupRoute, AuthEc2snapshotsCreateSnapshotRoute: AuthEc2snapshotsCreateSnapshotRoute, AuthEc2subnetCreateSubnetRoute: AuthEc2subnetCreateSubnetRoute, + AuthEc2targetGroupsCreateTargetGroupRoute: + AuthEc2targetGroupsCreateTargetGroupRoute, AuthEc2volumesCreateVolumeRoute: AuthEc2volumesCreateVolumeRoute, AuthEc2vpcCreateVpcRoute: AuthEc2vpcCreateVpcRoute, AuthIampoliciesCreatePolicyRoute: AuthIampoliciesCreatePolicyRoute, @@ -977,6 +1107,8 @@ const AuthRouteRouteChildren: AuthRouteRouteChildren = { AuthEc2instancesDescribeInstancesIdRoute: AuthEc2instancesDescribeInstancesIdRoute, AuthEc2keyDescribeKeyPairsIdRoute: AuthEc2keyDescribeKeyPairsIdRoute, + AuthEc2loadBalancersDescribeLoadBalancersIdRoute: + AuthEc2loadBalancersDescribeLoadBalancersIdRoute, AuthEc2placementGroupsDescribePlacementGroupsIdRoute: AuthEc2placementGroupsDescribePlacementGroupsIdRoute, AuthEc2securityGroupsDescribeSecurityGroupsIdRoute: @@ -984,6 +1116,8 @@ const AuthRouteRouteChildren: AuthRouteRouteChildren = { AuthEc2snapshotsDescribeSnapshotsIdRoute: AuthEc2snapshotsDescribeSnapshotsIdRoute, AuthEc2subnetDescribeSubnetsIdRoute: AuthEc2subnetDescribeSubnetsIdRoute, + AuthEc2targetGroupsDescribeTargetGroupsIdRoute: + AuthEc2targetGroupsDescribeTargetGroupsIdRoute, AuthEc2volumesDescribeVolumesIdRoute: AuthEc2volumesDescribeVolumesIdRoute, AuthEc2volumesModifyVolumeIdRoute: AuthEc2volumesModifyVolumeIdRoute, AuthEc2vpcDescribeVpcsIdRoute: AuthEc2vpcDescribeVpcsIdRoute, @@ -994,6 +1128,8 @@ const AuthRouteRouteChildren: AuthRouteRouteChildren = { AuthEc2instancesDescribeInstancesIndexRoute: AuthEc2instancesDescribeInstancesIndexRoute, AuthEc2keyDescribeKeyPairsIndexRoute: AuthEc2keyDescribeKeyPairsIndexRoute, + AuthEc2loadBalancersDescribeLoadBalancersIndexRoute: + AuthEc2loadBalancersDescribeLoadBalancersIndexRoute, AuthEc2placementGroupsDescribePlacementGroupsIndexRoute: AuthEc2placementGroupsDescribePlacementGroupsIndexRoute, AuthEc2securityGroupsDescribeSecurityGroupsIndexRoute: @@ -1002,6 +1138,8 @@ const AuthRouteRouteChildren: AuthRouteRouteChildren = { AuthEc2snapshotsDescribeSnapshotsIndexRoute, AuthEc2subnetDescribeSubnetsIndexRoute: AuthEc2subnetDescribeSubnetsIndexRoute, + AuthEc2targetGroupsDescribeTargetGroupsIndexRoute: + AuthEc2targetGroupsDescribeTargetGroupsIndexRoute, AuthEc2volumesDescribeVolumesIndexRoute: AuthEc2volumesDescribeVolumesIndexRoute, AuthEc2vpcDescribeVpcsIndexRoute: AuthEc2vpcDescribeVpcsIndexRoute, diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(images)/describe-images/$id.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(images)/describe-images/$id.tsx index c274a1f20..5ea69fb14 100644 --- a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(images)/describe-images/$id.tsx +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(images)/describe-images/$id.tsx @@ -4,6 +4,7 @@ import { createFileRoute } from "@tanstack/react-router" import { BackLink } from "@/components/back-link" import { PageHeading } from "@/components/page-heading" import { StateBadge } from "@/components/state-badge" +import { isSystemManagedImage } from "@/lib/system-managed" import { ec2ImageQueryOptions } from "@/queries/ec2" import { AmiDetails } from "../../-components/ami-details" @@ -30,7 +31,7 @@ function ImageDetail() { const { data } = useSuspenseQuery(ec2ImageQueryOptions(id)) const image = data?.Images?.[0] - if (!image?.ImageId) { + if (!image?.ImageId || isSystemManagedImage(image)) { return ( <> Back to images diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(images)/describe-images/index.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(images)/describe-images/index.tsx index e5687ec93..d6632c900 100644 --- a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(images)/describe-images/index.tsx +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(images)/describe-images/index.tsx @@ -5,6 +5,7 @@ import { createFileRoute } from "@tanstack/react-router" import { ListCard } from "@/components/list-card" import { PageHeading } from "@/components/page-heading" import { StateBadge } from "@/components/state-badge" +import { isSystemManagedImage } from "@/lib/system-managed" import { ec2ImagesQueryOptions } from "@/queries/ec2" export const Route = createFileRoute("/_auth/ec2/(images)/describe-images/")({ @@ -24,7 +25,9 @@ export const Route = createFileRoute("/_auth/ec2/(images)/describe-images/")({ function Images() { const { data } = useSuspenseQuery(ec2ImagesQueryOptions) - const images = data.Images ?? [] + const images = (data.Images ?? []).filter( + (image) => !isSystemManagedImage(image), + ) return ( <> diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/-components/create-load-balancer-page.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/-components/create-load-balancer-page.tsx new file mode 100644 index 000000000..7ef177cf5 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/-components/create-load-balancer-page.tsx @@ -0,0 +1,725 @@ +import type { Subnet, Vpc } from "@aws-sdk/client-ec2" +import { zodResolver } from "@hookform/resolvers/zod" +import { useSuspenseQuery } from "@tanstack/react-query" +import { useNavigate } from "@tanstack/react-router" +import { Plus, Trash2 } from "lucide-react" +import { useState } from "react" +import { Controller, useForm } from "react-hook-form" + +import { BackLink } from "@/components/back-link" +import { + CliCommandPanel, + type CliCommand, + type CommandPart, +} from "@/components/cli-command-panel" +import { LbImageMissingBanner } from "@/components/elbv2/lb-image-missing-banner" +import { TargetGroupForm } from "@/components/elbv2/target-group-form" +import { ErrorBanner } from "@/components/error-banner" +import { FormActions } from "@/components/form-actions" +import { PageHeading } from "@/components/page-heading" +import { Button } from "@/components/ui/button" +import { Field, FieldError, FieldTitle } from "@/components/ui/field" +import { Input } from "@/components/ui/input" +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select" +import { hasLbImage } from "@/lib/system-managed" +import { getNameTag } from "@/lib/utils" +import { + type LbWizardResult, + useCreateLoadBalancerWizard, +} from "@/mutations/elbv2" +import { + ec2ImagesQueryOptions, + ec2SecurityGroupsQueryOptions, + ec2SubnetsQueryOptions, + ec2VpcsQueryOptions, +} from "@/queries/ec2" +import { elbv2TargetGroupsQueryOptions } from "@/queries/elbv2" +import { + type CreateLoadBalancerFormData, + type CreateTargetGroupFormData, + createLoadBalancerSchema, + createTargetGroupSchema, +} from "@/types/elbv2" + +function vpcLabel(vpc: Vpc): string { + const name = getNameTag(vpc.Tags) + if (name) { + return `${vpc.VpcId} (${name})` + } + return `${vpc.VpcId} (${vpc.CidrBlock})` +} + +function subnetLabel(subnet: Subnet): string { + const name = getNameTag(subnet.Tags) + const suffix = name ? `${subnet.SubnetId} (${name})` : subnet.SubnetId + return `${suffix} · ${subnet.CidrBlock}` +} + +interface GroupedSubnets { + az: string + subnets: Subnet[] +} + +function groupSubnetsByAz(subnets: Subnet[]): GroupedSubnets[] { + const byAz = new Map() + for (const subnet of subnets) { + const az = subnet.AvailabilityZone ?? "unknown" + const list = byAz.get(az) ?? [] + list.push(subnet) + byAz.set(az, list) + } + return [...byAz.entries()] + .toSorted((a, b) => a[0].localeCompare(b[0])) + .map(([az, list]) => ({ az, subnets: list })) +} + +export function CreateLoadBalancerPage() { + const navigate = useNavigate() + const { data: vpcsData } = useSuspenseQuery(ec2VpcsQueryOptions) + const { data: subnetsData } = useSuspenseQuery(ec2SubnetsQueryOptions) + const { data: sgsData } = useSuspenseQuery(ec2SecurityGroupsQueryOptions) + const { data: tgsData } = useSuspenseQuery(elbv2TargetGroupsQueryOptions) + const { data: imagesData } = useSuspenseQuery(ec2ImagesQueryOptions) + const wizardMutation = useCreateLoadBalancerWizard() + + const lbImageImported = hasLbImage(imagesData.Images ?? []) + const [wizardResult, setWizardResult] = useState(null) + + const vpcs = vpcsData.Vpcs ?? [] + const allSubnets = subnetsData.Subnets ?? [] + const allSgs = sgsData.SecurityGroups ?? [] + const allTgs = tgsData.TargetGroups ?? [] + + const lbForm = useForm({ + resolver: zodResolver(createLoadBalancerSchema), + defaultValues: { + name: "", + scheme: "internet-facing", + vpcId: vpcs[0]?.VpcId ?? "", + subnetIds: [], + securityGroupIds: [], + tags: [], + listener: { + protocol: "HTTP", + port: 80, + targetGroupMode: "new", + existingTargetGroupArn: "", + }, + }, + }) + + const tgForm = useForm({ + resolver: zodResolver(createTargetGroupSchema), + defaultValues: { + name: "", + protocol: "HTTP", + port: 80, + vpcId: vpcs[0]?.VpcId ?? "", + healthCheck: { + protocol: "HTTP", + path: "/", + port: "traffic-port", + intervalSeconds: 30, + timeoutSeconds: 5, + healthyThresholdCount: 5, + unhealthyThresholdCount: 2, + matcher: "200", + }, + tags: [], + }, + }) + + const { + handleSubmit, + register, + watch, + control, + setValue, + getValues, + formState: { errors, isSubmitting }, + } = lbForm + + const selectedVpc = watch("vpcId") + const selectedSubnets = watch("subnetIds") + const selectedSgs = watch("securityGroupIds") + const tgMode = watch("listener.targetGroupMode") + const tags = watch("tags") + + const vpcSubnets = allSubnets.filter((s) => s.VpcId === selectedVpc) + const vpcSgs = allSgs.filter((g) => g.VpcId === selectedVpc) + const vpcTgs = allTgs.filter((tg) => tg.VpcId === selectedVpc) + + // When the VPC changes, any previously-selected subnets/SGs/TGs from the old + // VPC must be cleared — they would fail backend validation on submit. + const handleVpcChange = (newVpcId: string | null = "") => { + const next = newVpcId ?? "" + setValue("vpcId", next, { shouldValidate: true }) + setValue("subnetIds", [], { shouldValidate: true }) + setValue("securityGroupIds", []) + setValue("listener.existingTargetGroupArn", "") + tgForm.setValue("vpcId", next) + } + + const toggleSubnet = (subnetId: string) => { + const current = getValues("subnetIds") + const next = current.includes(subnetId) + ? current.filter((id) => id !== subnetId) + : [...current, subnetId] + setValue("subnetIds", next, { shouldValidate: true }) + } + + const toggleSg = (sgId: string) => { + const current = getValues("securityGroupIds") + const next = current.includes(sgId) + ? current.filter((id) => id !== sgId) + : [...current, sgId] + setValue("securityGroupIds", next) + } + + const onSubmit = async (data: CreateLoadBalancerFormData) => { + setWizardResult(null) + + let newTargetGroup: CreateTargetGroupFormData | undefined + if (data.listener.targetGroupMode === "new") { + const tgValid = await tgForm.trigger() + if (!tgValid) { + return + } + newTargetGroup = tgForm.getValues() + } + + const result = await wizardMutation.mutateAsync({ + lb: { + name: data.name, + scheme: data.scheme, + vpcId: data.vpcId, + subnetIds: data.subnetIds, + securityGroupIds: data.securityGroupIds, + tags: data.tags, + }, + listener: { + protocol: data.listener.protocol, + port: data.listener.port, + targetGroupMode: data.listener.targetGroupMode, + existingTargetGroupArn: data.listener.existingTargetGroupArn, + newTargetGroup, + }, + }) + setWizardResult(result) + + if (!result.error && result.loadBalancerArn) { + navigate({ + to: "/ec2/describe-load-balancers/$id", + params: { id: encodeURIComponent(result.loadBalancerArn) }, + }) + } + } + + const groupedSubnets = groupSubnetsByAz(vpcSubnets) + + if (!lbImageImported) { + return ( + <> + + Back to load balancers + + + + + ) + } + + return ( + <> + + Back to load balancers + + + + + {wizardMutation.error && ( + + )} + + {wizardResult?.error && ( +
+

+ Wizard failed: {wizardResult.failedStep} +

+

+ {wizardResult.error.message} +

+ {wizardResult.created.length > 0 && ( +
+

+ Successfully created resources (clean up manually if needed): +

+
    + {wizardResult.created.map((r, i) => ( + // oxlint-disable-next-line react/no-array-index-key -- error list with no stable id +
  • + {r.type}: {r.id ?? "(created)"} +
  • + ))} +
+
+ )} +
+ )} + +
+ + + + + + + + + + Scheme + ( +
+ + +
+ )} + /> +
+ + + + + + ( + + )} + /> + + + + + Subnets (select at least 2) + {groupedSubnets.length === 0 ? ( +

+ No subnets in the selected VPC. +

+ ) : ( +
+ {groupedSubnets.map((group) => ( +
+

+ {group.az} +

+
+ {group.subnets.map((subnet) => ( + + ))} +
+
+ ))} +
+ )} + +
+ + + Security groups + {vpcSgs.length === 0 ? ( +

+ No security groups in the selected VPC. +

+ ) : ( +
+ {vpcSgs.map((sg) => ( + + ))} +
+ )} +
+ + + Tags +
+ {tags.map((_, index) => ( + // oxlint-disable-next-line react/no-array-index-key -- form array with no stable id +
+ + + +
+ ))} + +
+
+ +
+

+ First listener & default target group +

+ + + + + + ( + + )} + /> + + + + + + + + + + + + Default target group + ( +
+ + +
+ )} + /> +
+ + {tgMode === "existing" && ( + + + + + ( + + )} + /> + + {vpcTgs.length === 0 && ( +

+ No target groups in this VPC. Choose “Create new” + instead. +

+ )} +
+ )} + + {tgMode === "new" && ( +
+ +
+ )} +
+ + + + navigate({ to: "/ec2/describe-load-balancers" })} + pendingLabel="Creating…" + submitLabel="Create load balancer" + /> + + + ) +} + +// oxlint-disable-next-line complexity -- CLI preview composition +function buildCreateLbCommands( + watch: (name?: string) => unknown, + tgWatch: (name?: string) => unknown, +): CliCommand[] { + const asString = (key: string): string => { + const raw = watch(key) + return typeof raw === "string" ? raw : "" + } + const asStringArray = (key: string): string[] => { + const raw = watch(key) + return Array.isArray(raw) + ? raw.filter((v): v is string => typeof v === "string") + : [] + } + const asNumber = (key: string): number | undefined => { + const raw = watch(key) + return typeof raw === "number" && Number.isFinite(raw) ? raw : undefined + } + + const name = asString("name") || "" + const scheme = asString("scheme") || "internet-facing" + const subnets = asStringArray("subnetIds") + const sgs = asStringArray("securityGroupIds") + const listenerProtocol = asString("listener.protocol") || "HTTP" + const listenerPort = asNumber("listener.port") ?? 80 + const tgMode = asString("listener.targetGroupMode") + const existingTgArn = asString("listener.existingTargetGroupArn") + + const commands: CliCommand[] = [] + const comment: CommandPart = { + type: "comment", + value: "# Create ALB with listener and default target group\n\n", + } + + const tgAsString = (key: string): string => { + const raw = tgWatch(key) + return typeof raw === "string" ? raw : "" + } + const tgAsNumber = (key: string): number | undefined => { + const raw = tgWatch(key) + return typeof raw === "number" && Number.isFinite(raw) ? raw : undefined + } + + // Either a create-target-group step (mode=new) or just a TG_ARN= assignment + if (tgMode === "new") { + const tgName = tgAsString("name") || "" + const tgPort = tgAsNumber("port") ?? 80 + const tgVpc = tgAsString("vpcId") + commands.push({ + label: "Create Target Group", + parts: [ + comment, + { type: "variable", value: "TG_ARN=" }, + { + type: "bin", + value: "$(AWS_PROFILE=spinifex aws elbv2 create-target-group", + }, + { type: "flag", value: " \\\n --name" }, + { type: "value", value: ` ${tgName}` }, + { type: "flag", value: " \\\n --protocol HTTP --port" }, + { type: "value", value: ` ${tgPort}` }, + { type: "flag", value: " \\\n --target-type instance --vpc-id" }, + { type: "value", value: ` ${tgVpc || ""}` }, + { type: "flag", value: " \\\n --query" }, + { type: "value", value: " 'TargetGroups[0].TargetGroupArn'" }, + { type: "flag", value: " --output" }, + { type: "value", value: " text)" }, + ], + }) + } else { + commands.push({ + label: "Use Existing Target Group", + parts: [ + comment, + { type: "variable", value: "TG_ARN=" }, + { type: "value", value: existingTgArn || "" }, + ], + }) + } + + // Create LB + const lbParts: CommandPart[] = [ + { type: "variable", value: "LB_ARN=" }, + { + type: "bin", + value: "$(AWS_PROFILE=spinifex aws elbv2 create-load-balancer", + }, + { type: "flag", value: " \\\n --name" }, + { type: "value", value: ` ${name}` }, + { type: "flag", value: " \\\n --scheme" }, + { type: "value", value: ` ${scheme}` }, + { type: "flag", value: " \\\n --type application" }, + ] + if (subnets.length > 0) { + lbParts.push( + { type: "flag", value: " \\\n --subnets" }, + { type: "value", value: ` ${subnets.join(" ")}` }, + ) + } + if (sgs.length > 0) { + lbParts.push( + { type: "flag", value: " \\\n --security-groups" }, + { type: "value", value: ` ${sgs.join(" ")}` }, + ) + } + lbParts.push( + { type: "flag", value: " \\\n --query" }, + { type: "value", value: " 'LoadBalancers[0].LoadBalancerArn'" }, + { type: "flag", value: " --output" }, + { type: "value", value: " text)" }, + ) + commands.push({ label: "Create Load Balancer", parts: lbParts }) + + // Create Listener + commands.push({ + label: "Create Listener", + parts: [ + { type: "bin", value: "AWS_PROFILE=spinifex aws elbv2 create-listener" }, + { type: "flag", value: " \\\n --load-balancer-arn" }, + { type: "variable", value: ' "$LB_ARN"' }, + { type: "flag", value: " \\\n --protocol" }, + { type: "value", value: ` ${listenerProtocol}` }, + { type: "flag", value: " \\\n --port" }, + { type: "value", value: ` ${listenerPort}` }, + { type: "flag", value: " \\\n --default-actions" }, + { type: "value", value: ' Type=forward,TargetGroupArn="$TG_ARN"' }, + ], + }) + + return commands +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/-components/describe-load-balancers-page.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/-components/describe-load-balancers-page.tsx new file mode 100644 index 000000000..578418da5 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/-components/describe-load-balancers-page.tsx @@ -0,0 +1,110 @@ +import type { LoadBalancer } from "@aws-sdk/client-elastic-load-balancing-v2" +import { useSuspenseQuery } from "@tanstack/react-query" +import { Link, useNavigate } from "@tanstack/react-router" + +import { LbImageMissingBanner } from "@/components/elbv2/lb-image-missing-banner" +import { PageHeading } from "@/components/page-heading" +import { StateBadge } from "@/components/state-badge" +import { Button } from "@/components/ui/button" +import { hasLbImage } from "@/lib/system-managed" +import { ec2ImagesQueryOptions } from "@/queries/ec2" +import { elbv2LoadBalancersQueryOptions } from "@/queries/elbv2" + +function formatCreatedAt(createdAt: Date | undefined): string { + if (!createdAt) { + return "" + } + return new Date(createdAt).toLocaleString() +} + +export function DescribeLoadBalancersPage() { + const navigate = useNavigate() + const { data } = useSuspenseQuery(elbv2LoadBalancersQueryOptions) + const { data: imagesData } = useSuspenseQuery(ec2ImagesQueryOptions) + + const loadBalancers = data.LoadBalancers ?? [] + const lbImageImported = hasLbImage(imagesData.Images ?? []) + + return ( + <> + navigate({ to: "/ec2/create-load-balancer" })} + > + Create load balancer + + } + title="Load balancers" + /> + + {!lbImageImported && } + + {loadBalancers.length > 0 ? ( +
+ + + + + + + + + + + + + + {loadBalancers.map((lb: LoadBalancer) => { + if (!lb.LoadBalancerArn) { + return null + } + const arn = lb.LoadBalancerArn + return ( + + navigate({ + to: "/ec2/describe-load-balancers/$id", + params: { id: encodeURIComponent(arn) }, + }) + } + > + + + + + + + + + ) + })} + +
NameDNS nameStateTypeSchemeVPCCreated
+ e.stopPropagation()} + params={{ id: encodeURIComponent(arn) }} + to="/ec2/describe-load-balancers/$id" + > + {lb.LoadBalancerName ?? arn} + + + {lb.DNSName ?? ""} + + + {lb.Type ?? ""}{lb.Scheme ?? ""} + {lb.VpcId ?? ""} + + {formatCreatedAt(lb.CreatedTime)} +
+
+ ) : ( +

No load balancers found.

+ )} + + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/-components/load-balancer-detail-page.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/-components/load-balancer-detail-page.tsx new file mode 100644 index 000000000..91f145310 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/-components/load-balancer-detail-page.tsx @@ -0,0 +1,235 @@ +import type { Subnet } from "@aws-sdk/client-ec2" +import type { Tag } from "@aws-sdk/client-elastic-load-balancing-v2" +import { useSuspenseQuery } from "@tanstack/react-query" +import { useNavigate } from "@tanstack/react-router" +import { Trash2 } from "lucide-react" +import { useState } from "react" + +import { BackLink } from "@/components/back-link" +import { DeleteConfirmationDialog } from "@/components/delete-confirmation-dialog" +import { DetailCard } from "@/components/detail-card" +import { DetailRow } from "@/components/detail-row" +import { + albAttributeSpecs, + AttributesEditor, +} from "@/components/elbv2/attributes-editor" +import { ListenersTab } from "@/components/elbv2/listeners-tab" +import { ErrorBanner } from "@/components/error-banner" +import { PageHeading } from "@/components/page-heading" +import { StateBadge } from "@/components/state-badge" +import { Button } from "@/components/ui/button" +import { Tabs, TabsList, TabsPanel, TabsTab } from "@/components/ui/tabs" +import { getNameTag } from "@/lib/utils" +import { + useDeleteLoadBalancer, + useModifyLoadBalancerAttributes, +} from "@/mutations/elbv2" +import { ec2SubnetsQueryOptions } from "@/queries/ec2" +import { + elbv2LoadBalancerAttributesQueryOptions, + elbv2LoadBalancerQueryOptions, + elbv2TagsQueryOptions, +} from "@/queries/elbv2" + +interface Props { + arn: string +} + +export function LoadBalancerDetailPage({ arn }: Props) { + const navigate = useNavigate() + const { data: lbData } = useSuspenseQuery(elbv2LoadBalancerQueryOptions(arn)) + const { data: attrsData } = useSuspenseQuery( + elbv2LoadBalancerAttributesQueryOptions(arn), + ) + const { data: tagsData } = useSuspenseQuery(elbv2TagsQueryOptions([arn])) + const { data: subnetsData } = useSuspenseQuery(ec2SubnetsQueryOptions) + + const deleteMutation = useDeleteLoadBalancer() + const modifyAttrsMutation = useModifyLoadBalancerAttributes() + const [showDeleteDialog, setShowDeleteDialog] = useState(false) + + const lb = lbData.LoadBalancers?.[0] + + if (!lb?.LoadBalancerArn) { + return ( + <> + + Back to load balancers + +

Load balancer not found.

+ + ) + } + + const handleDelete = async () => { + try { + await deleteMutation.mutateAsync(arn) + navigate({ to: "/ec2/describe-load-balancers" }) + } finally { + setShowDeleteDialog(false) + } + } + + const subnets = subnetsData.Subnets ?? [] + const subnetLabel = (subnetId: string): string => { + const subnet = subnets.find((s: Subnet) => s.SubnetId === subnetId) + if (!subnet) { + return subnetId + } + const name = getNameTag(subnet.Tags) + const cidr = subnet.CidrBlock ? ` (${subnet.CidrBlock})` : "" + return name ? `${subnetId} — ${name}${cidr}` : `${subnetId}${cidr}` + } + + const attributes = attrsData.Attributes ?? [] + const lbTags = + tagsData?.TagDescriptions?.find((td) => td.ResourceArn === arn)?.Tags ?? [] + + return ( + <> + + Back to load balancers + + + {deleteMutation.error && ( + + )} + +
+ + + +
+ } + subtitle="Load balancer details" + title={lb.LoadBalancerName ?? lb.LoadBalancerArn} + /> + + + + Overview + Listeners + Attributes + Tags + + + + + Load balancer + + + + + + + + + + + + + + Availability zones + + {(lb.AvailabilityZones ?? []).map((az) => ( + + ))} + + + + {(lb.SecurityGroups ?? []).length > 0 && ( + + Security groups + + {(lb.SecurityGroups ?? []).map((sg) => ( + + ))} + + + )} + + + + + + + + { + modifyAttrsMutation.mutate({ + loadBalancerArn: arn, + attributes: changed, + }) + }} + specs={albAttributeSpecs} + /> + + + + {lbTags.length > 0 ? ( + + Tags + + {lbTags.map((tag: Tag) => ( + + ))} + + + ) : ( +

No tags.

+ )} +
+
+ + + + + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/create-load-balancer.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/create-load-balancer.test.tsx new file mode 100644 index 000000000..dc681d520 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/create-load-balancer.test.tsx @@ -0,0 +1,291 @@ +import type { Image, SecurityGroup, Subnet, Vpc } from "@aws-sdk/client-ec2" +import type { TargetGroup } from "@aws-sdk/client-elastic-load-balancing-v2" +import { screen, waitFor } from "@testing-library/react" +import userEvent from "@testing-library/user-event" +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const { routerState, sdk } = vi.hoisted(() => { + interface Command { + readonly constructor: { name: string } + readonly input: unknown + } + const handlers = new Map unknown>() + const send = vi.fn((command: Command): Promise => { + const handler = handlers.get(command.constructor.name) + if (!handler) { + return Promise.reject( + new Error( + `No handler registered for SDK command ${command.constructor.name}`, + ), + ) + } + return Promise.resolve(handler(command.input)) + }) + return { + routerState: { + navigate: vi.fn(), + params: {} as Record, + }, + sdk: { + send, + setHandler: (name: string, handler: (input: unknown) => unknown) => { + handlers.set(name, handler) + }, + reset: () => { + handlers.clear() + send.mockClear() + }, + }, + } +}) + +vi.mock("@/lib/awsClient", () => ({ + getElbv2Client: () => ({ send: sdk.send }), + getEc2Client: () => ({ send: sdk.send }), +})) + +vi.mock("@tanstack/react-router", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + createFileRoute: () => (options: Record) => ({ + ...options, + useParams: () => routerState.params, + }), + useNavigate: () => routerState.navigate, + Link: ({ children, to }: { children: React.ReactNode; to?: string }) => ( + {children} + ), + } +}) + +import { CreateLoadBalancerPage } from "./-components/create-load-balancer-page" + +const VPC_ID = "vpc-aaa" +const VPCS: Vpc[] = [{ VpcId: VPC_ID, CidrBlock: "10.0.0.0/16", Tags: [] }] +const SUBNETS: Subnet[] = [ + { + SubnetId: "subnet-a", + VpcId: VPC_ID, + AvailabilityZone: "az-1", + CidrBlock: "10.0.1.0/24", + }, + { + SubnetId: "subnet-b", + VpcId: VPC_ID, + AvailabilityZone: "az-2", + CidrBlock: "10.0.2.0/24", + }, +] +const SGS: SecurityGroup[] = [ + { GroupId: "sg-1", GroupName: "web", VpcId: VPC_ID }, +] +const EXISTING_TG: TargetGroup = { + TargetGroupArn: "arn:tg:existing", + TargetGroupName: "existing-tg", + Protocol: "HTTP", + Port: 80, + VpcId: VPC_ID, +} +const LB_IMAGE: Image = { + ImageId: "ami-lb", + Name: "lb-alpine-3.21.6-x86_64", + Tags: [{ Key: "spinifex:managed-by", Value: "elbv2" }], +} + +function seedClient(options: { lbImageImported?: boolean } = {}) { + const { lbImageImported = true } = options + const qc = createTestQueryClient() + qc.setQueryData(["ec2", "vpcs"], { Vpcs: VPCS }) + qc.setQueryData(["ec2", "subnets"], { Subnets: SUBNETS }) + qc.setQueryData(["ec2", "securityGroups"], { SecurityGroups: SGS }) + qc.setQueryData(["elbv2", "targetGroups"], { TargetGroups: [EXISTING_TG] }) + qc.setQueryData(["ec2", "images"], { + Images: lbImageImported ? [LB_IMAGE] : [], + }) + return qc +} + +async function selectSubnets(user: ReturnType) { + const checkboxes = screen.getAllByRole("checkbox") + const [first, second] = checkboxes + if (!first || !second) { + throw new Error("expected at least two subnet checkboxes to be rendered") + } + await user.click(first) + await user.click(second) +} + +describe("create-load-balancer route", () => { + beforeEach(() => { + sdk.reset() + routerState.navigate.mockClear() + // Wizard's onSettled invalidates ["elbv2"] which triggers a refetch of + // Describe queries — stub them so those SDK calls don't reject. + sdk.setHandler("DescribeLoadBalancersCommand", () => ({ + LoadBalancers: [], + })) + sdk.setHandler("DescribeTargetGroupsCommand", () => ({ TargetGroups: [] })) + }) + afterEach(() => vi.clearAllMocks()) + + it("wizard happy path with a new target group creates TG → LB → listener and navigates", async () => { + const user = userEvent.setup() + sdk.setHandler("CreateTargetGroupCommand", () => ({ + TargetGroups: [{ TargetGroupArn: "arn:tg:new" }], + })) + sdk.setHandler("CreateLoadBalancerCommand", () => ({ + LoadBalancers: [{ LoadBalancerArn: "arn:lb:new" }], + })) + sdk.setHandler("CreateListenerCommand", () => ({ + Listeners: [{ ListenerArn: "arn:listener:new" }], + })) + + renderWithClient(, seedClient()) + + await user.type( + screen.getByLabelText("Name", { selector: "#lb-name" }), + "my-alb", + ) + await user.type( + screen.getByLabelText("Name", { selector: "#tg-name" }), + "my-tg", + ) + await selectSubnets(user) + + await user.click( + screen.getByRole("button", { name: "Create load balancer" }), + ) + + await waitFor(() => { + expect(routerState.navigate).toHaveBeenCalled() + }) + const createCommands = sdk.send.mock.calls + .map( + (call) => + (call[0] as { constructor: { name: string } }).constructor.name, + ) + .filter((name) => name.startsWith("Create")) + expect(createCommands).toEqual([ + "CreateTargetGroupCommand", + "CreateLoadBalancerCommand", + "CreateListenerCommand", + ]) + + await waitFor(() => { + expect(routerState.navigate).toHaveBeenCalledWith({ + to: "/ec2/describe-load-balancers/$id", + params: { id: encodeURIComponent("arn:lb:new") }, + }) + }) + }) + + it("wizard happy path with existing target group skips TG creation", async () => { + const user = userEvent.setup() + sdk.setHandler("CreateLoadBalancerCommand", () => ({ + LoadBalancers: [{ LoadBalancerArn: "arn:lb:new" }], + })) + sdk.setHandler("CreateListenerCommand", () => ({})) + + renderWithClient(, seedClient()) + + await user.type( + screen.getByLabelText("Name", { selector: "#lb-name" }), + "my-alb", + ) + await selectSubnets(user) + + // Switch to existing TG mode and select it + const existingRadio = screen.getByLabelText("Use existing") + await user.click(existingRadio) + // Base UI Select — click trigger to open, then the option + const tgTrigger = await screen.findByLabelText("Target group") + await user.click(tgTrigger) + const tgItem = await screen.findByText(/existing-tg · HTTP:80/) + await user.click(tgItem) + + await user.click( + screen.getByRole("button", { name: "Create load balancer" }), + ) + + await waitFor(() => { + expect(routerState.navigate).toHaveBeenCalled() + }) + const createCalls = sdk.send.mock.calls.filter((call) => + ( + call[0] as { constructor: { name: string } } + ).constructor.name.startsWith("Create"), + ) + const createNames = createCalls.map( + (call) => (call[0] as { constructor: { name: string } }).constructor.name, + ) + expect(createNames).toEqual([ + "CreateLoadBalancerCommand", + "CreateListenerCommand", + ]) + const listenerInput = createCalls[1]?.[0].input as { + DefaultActions: { Type: string; TargetGroupArn: string }[] + } + expect(listenerInput.DefaultActions).toEqual([ + { Type: "forward", TargetGroupArn: "arn:tg:existing" }, + ]) + }) + + it("surfaces wizard failure with partial cleanup guidance when LB step fails", async () => { + const user = userEvent.setup() + sdk.setHandler("CreateTargetGroupCommand", () => ({ + TargetGroups: [{ TargetGroupArn: "arn:tg:new" }], + })) + sdk.setHandler("CreateLoadBalancerCommand", () => { + throw new Error("subnets span must be ≥2 AZs") + }) + + renderWithClient(, seedClient()) + + await user.type( + screen.getByLabelText("Name", { selector: "#lb-name" }), + "my-alb", + ) + await user.type( + screen.getByLabelText("Name", { selector: "#tg-name" }), + "my-tg", + ) + await selectSubnets(user) + + await user.click( + screen.getByRole("button", { name: "Create load balancer" }), + ) + + expect( + await screen.findByText(/Wizard failed: creating load balancer/i), + ).toBeInTheDocument() + expect(screen.getByText(/subnets span must be ≥2 AZs/)).toBeInTheDocument() + // Partial-cleanup list should mention the orphaned TG + expect(screen.getByText(/Target Group:/)).toBeInTheDocument() + expect(screen.getByText(/arn:tg:new/)).toBeInTheDocument() + expect(routerState.navigate).not.toHaveBeenCalled() + }) + + it("blocks form render with import banner when LB AMI missing", () => { + renderWithClient( + , + seedClient({ lbImageImported: false }), + ) + + expect( + screen.getByText("Load balancer image not imported"), + ).toBeInTheDocument() + expect( + screen.getByText(/spx admin images import --name lb-alpine/), + ).toBeInTheDocument() + // Form inputs must not render + expect( + screen.queryByLabelText("Name", { selector: "#lb-name" }), + ).not.toBeInTheDocument() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/create-load-balancer.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/create-load-balancer.tsx new file mode 100644 index 000000000..138fc3da9 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/create-load-balancer.tsx @@ -0,0 +1,33 @@ +import { createFileRoute } from "@tanstack/react-router" + +import { + ec2ImagesQueryOptions, + ec2SecurityGroupsQueryOptions, + ec2SubnetsQueryOptions, + ec2VpcsQueryOptions, +} from "@/queries/ec2" +import { elbv2TargetGroupsQueryOptions } from "@/queries/elbv2" + +import { CreateLoadBalancerPage } from "./-components/create-load-balancer-page" + +export const Route = createFileRoute( + "/_auth/ec2/(load-balancers)/create-load-balancer", +)({ + loader: async ({ context }) => { + await Promise.all([ + context.queryClient.ensureQueryData(ec2VpcsQueryOptions), + context.queryClient.ensureQueryData(ec2SubnetsQueryOptions), + context.queryClient.ensureQueryData(ec2SecurityGroupsQueryOptions), + context.queryClient.ensureQueryData(elbv2TargetGroupsQueryOptions), + context.queryClient.ensureQueryData(ec2ImagesQueryOptions), + ]) + }, + head: () => ({ + meta: [ + { + title: "Create Load Balancer | EC2 | Mulga", + }, + ], + }), + component: CreateLoadBalancerPage, +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/describe-load-balancers/$id.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/describe-load-balancers/$id.test.tsx new file mode 100644 index 000000000..9814a76ca --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/describe-load-balancers/$id.test.tsx @@ -0,0 +1,136 @@ +import { screen } from "@testing-library/react" +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const { routerState, sdk } = vi.hoisted(() => { + interface Command { + readonly constructor: { name: string } + readonly input: unknown + } + const handlers = new Map unknown>() + const send = vi.fn((command: Command): Promise => { + const handler = handlers.get(command.constructor.name) + if (!handler) { + return Promise.reject( + new Error( + `No handler registered for SDK command ${command.constructor.name}`, + ), + ) + } + return Promise.resolve(handler(command.input)) + }) + return { + routerState: { navigate: vi.fn() }, + sdk: { + send, + setHandler: (name: string, handler: (input: unknown) => unknown) => { + handlers.set(name, handler) + }, + reset: () => { + handlers.clear() + send.mockClear() + }, + }, + } +}) + +vi.mock("@/lib/awsClient", () => ({ + getElbv2Client: () => ({ send: sdk.send }), + getEc2Client: () => ({ send: sdk.send }), +})) + +vi.mock("@tanstack/react-router", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + createFileRoute: () => (options: Record) => options, + useNavigate: () => routerState.navigate, + Link: ({ + children, + to, + className, + }: { + children: React.ReactNode + to?: string + className?: string + }) => ( + + {children} + + ), + } +}) + +import { LoadBalancerDetailPage } from "../-components/load-balancer-detail-page" + +const LB_ARN = "arn:lb:1" + +describe("load-balancer detail route", () => { + beforeEach(() => sdk.reset()) + afterEach(() => vi.clearAllMocks()) + + function seed() { + const qc = createTestQueryClient() + qc.setQueryData(["elbv2", "loadBalancers", LB_ARN], { + LoadBalancers: [ + { + LoadBalancerArn: LB_ARN, + LoadBalancerName: "my-alb", + DNSName: "my-alb.example", + Type: "application", + Scheme: "internet-facing", + IpAddressType: "ipv4", + VpcId: "vpc-aaa", + State: { Code: "active" }, + AvailabilityZones: [{ ZoneName: "az-1", SubnetId: "subnet-a" }], + SecurityGroups: ["sg-1"], + }, + ], + }) + qc.setQueryData(["elbv2", "loadBalancers", LB_ARN, "attributes"], { + Attributes: [{ Key: "deletion_protection.enabled", Value: "false" }], + }) + qc.setQueryData(["elbv2", "tags", LB_ARN], { + TagDescriptions: [ + { + ResourceArn: LB_ARN, + Tags: [{ Key: "env", Value: "prod" }], + }, + ], + }) + qc.setQueryData(["elbv2", "listeners", LB_ARN], { Listeners: [] }) + qc.setQueryData(["elbv2", "targetGroups"], { TargetGroups: [] }) + qc.setQueryData(["ec2", "subnets"], { + Subnets: [{ SubnetId: "subnet-a", CidrBlock: "10.0.1.0/24", Tags: [] }], + }) + return qc + } + + it("renders overview fields for the LB", () => { + renderWithClient(, seed()) + + expect(screen.getByText("my-alb")).toBeInTheDocument() + expect(screen.getByText("my-alb.example")).toBeInTheDocument() + expect(screen.getByText("application")).toBeInTheDocument() + expect(screen.getByText("internet-facing")).toBeInTheDocument() + expect(screen.getByText("sg-1")).toBeInTheDocument() + }) + + it("renders a not-found state when the LB ARN is unknown", () => { + const qc = createTestQueryClient() + qc.setQueryData(["elbv2", "loadBalancers", LB_ARN], { LoadBalancers: [] }) + qc.setQueryData(["elbv2", "loadBalancers", LB_ARN, "attributes"], { + Attributes: [], + }) + qc.setQueryData(["elbv2", "tags", LB_ARN], { TagDescriptions: [] }) + qc.setQueryData(["ec2", "subnets"], { Subnets: [] }) + + renderWithClient(, qc) + + expect(screen.getByText("Load balancer not found.")).toBeInTheDocument() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/describe-load-balancers/$id.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/describe-load-balancers/$id.tsx new file mode 100644 index 000000000..3b70d7c82 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/describe-load-balancers/$id.tsx @@ -0,0 +1,43 @@ +import { createFileRoute } from "@tanstack/react-router" + +import { ec2SubnetsQueryOptions } from "@/queries/ec2" +import { + elbv2ListenersQueryOptions, + elbv2LoadBalancerAttributesQueryOptions, + elbv2LoadBalancerQueryOptions, + elbv2TagsQueryOptions, + elbv2TargetGroupsQueryOptions, +} from "@/queries/elbv2" + +import { LoadBalancerDetailPage } from "../-components/load-balancer-detail-page" + +export const Route = createFileRoute( + "/_auth/ec2/(load-balancers)/describe-load-balancers/$id", +)({ + loader: async ({ context, params }) => { + const arn = decodeURIComponent(params.id) + await Promise.all([ + context.queryClient.ensureQueryData(elbv2LoadBalancerQueryOptions(arn)), + context.queryClient.ensureQueryData(elbv2ListenersQueryOptions(arn)), + context.queryClient.ensureQueryData( + elbv2LoadBalancerAttributesQueryOptions(arn), + ), + context.queryClient.ensureQueryData(elbv2TagsQueryOptions([arn])), + context.queryClient.ensureQueryData(elbv2TargetGroupsQueryOptions), + context.queryClient.ensureQueryData(ec2SubnetsQueryOptions), + ]) + }, + head: ({ params }) => ({ + meta: [ + { + title: `${decodeURIComponent(params.id)} | Load Balancer | Mulga`, + }, + ], + }), + component: RouteComponent, +}) + +function RouteComponent() { + const { id } = Route.useParams() + return +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/describe-load-balancers/index.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/describe-load-balancers/index.test.tsx new file mode 100644 index 000000000..310bb1f93 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/describe-load-balancers/index.test.tsx @@ -0,0 +1,159 @@ +import type { Image } from "@aws-sdk/client-ec2" +import type { LoadBalancer } from "@aws-sdk/client-elastic-load-balancing-v2" +import { screen } from "@testing-library/react" +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const { routerState, sdk } = vi.hoisted(() => { + interface Command { + readonly constructor: { name: string } + readonly input: unknown + } + const handlers = new Map unknown>() + const send = vi.fn((command: Command): Promise => { + const handler = handlers.get(command.constructor.name) + if (!handler) { + return Promise.reject( + new Error( + `No handler registered for SDK command ${command.constructor.name}`, + ), + ) + } + return Promise.resolve(handler(command.input)) + }) + return { + routerState: { navigate: vi.fn() }, + sdk: { + send, + setHandler: (name: string, handler: (input: unknown) => unknown) => { + handlers.set(name, handler) + }, + reset: () => { + handlers.clear() + send.mockClear() + }, + }, + } +}) + +vi.mock("@/lib/awsClient", () => ({ + getElbv2Client: () => ({ send: sdk.send }), + getEc2Client: () => ({ send: sdk.send }), +})) + +vi.mock("@tanstack/react-router", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + createFileRoute: () => (options: Record) => options, + useNavigate: () => routerState.navigate, + Link: ({ + children, + to, + className, + }: { + children: React.ReactNode + to?: string + className?: string + }) => ( + + {children} + + ), + } +}) + +import { DescribeLoadBalancersPage } from "../-components/describe-load-balancers-page" + +const LBS: LoadBalancer[] = [ + { + LoadBalancerArn: "arn:lb:1", + LoadBalancerName: "lb-one", + DNSName: "lb-one.example", + Type: "application", + Scheme: "internet-facing", + State: { Code: "active" }, + VpcId: "vpc-aaa", + }, +] + +const LB_IMAGE: Image = { + ImageId: "ami-lb", + Name: "lb-alpine-3.21.6-x86_64", + Tags: [{ Key: "spinifex:managed-by", Value: "elbv2" }], +} + +describe("describe-load-balancers list route", () => { + beforeEach(() => sdk.reset()) + afterEach(() => vi.clearAllMocks()) + + it("renders load-balancer rows with resolved fields", () => { + const qc = createTestQueryClient() + qc.setQueryData(["elbv2", "loadBalancers"], { LoadBalancers: LBS }) + qc.setQueryData(["ec2", "images"], { Images: [LB_IMAGE] }) + + renderWithClient(, qc) + + expect(screen.getByText("lb-one")).toBeInTheDocument() + expect(screen.getByText("lb-one.example")).toBeInTheDocument() + expect(screen.getByText("application")).toBeInTheDocument() + expect(screen.getByText("internet-facing")).toBeInTheDocument() + expect( + screen.queryByText("Load balancer image not imported"), + ).not.toBeInTheDocument() + expect( + screen.getByRole("button", { name: "Create load balancer" }), + ).not.toBeDisabled() + }) + + it("shows empty state when no load balancers", () => { + const qc = createTestQueryClient() + qc.setQueryData(["elbv2", "loadBalancers"], { LoadBalancers: [] }) + qc.setQueryData(["ec2", "images"], { Images: [LB_IMAGE] }) + + renderWithClient(, qc) + + expect(screen.getByText("No load balancers found.")).toBeInTheDocument() + }) + + it("shows import banner and disables Create button when LB AMI missing", () => { + const qc = createTestQueryClient() + qc.setQueryData(["elbv2", "loadBalancers"], { LoadBalancers: [] }) + qc.setQueryData(["ec2", "images"], { Images: [] }) + + renderWithClient(, qc) + + expect( + screen.getByText("Load balancer image not imported"), + ).toBeInTheDocument() + expect( + screen.getByText(/spx admin images import --name lb-alpine/), + ).toBeInTheDocument() + expect( + screen.getByRole("button", { name: "Create load balancer" }), + ).toBeDisabled() + }) + + it("treats non-LB system images as missing", () => { + const qc = createTestQueryClient() + qc.setQueryData(["elbv2", "loadBalancers"], { LoadBalancers: [] }) + qc.setQueryData(["ec2", "images"], { + Images: [ + { + ImageId: "ami-customer", + Tags: [{ Key: "Name", Value: "ubuntu" }], + }, + ], + }) + + renderWithClient(, qc) + + expect( + screen.getByText("Load balancer image not imported"), + ).toBeInTheDocument() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/describe-load-balancers/index.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/describe-load-balancers/index.tsx new file mode 100644 index 000000000..6d8f31413 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(load-balancers)/describe-load-balancers/index.tsx @@ -0,0 +1,25 @@ +import { createFileRoute } from "@tanstack/react-router" + +import { ec2ImagesQueryOptions } from "@/queries/ec2" +import { elbv2LoadBalancersQueryOptions } from "@/queries/elbv2" + +import { DescribeLoadBalancersPage } from "../-components/describe-load-balancers-page" + +export const Route = createFileRoute( + "/_auth/ec2/(load-balancers)/describe-load-balancers/", +)({ + loader: async ({ context }) => { + await Promise.all([ + context.queryClient.ensureQueryData(elbv2LoadBalancersQueryOptions), + context.queryClient.ensureQueryData(ec2ImagesQueryOptions), + ]) + }, + head: () => ({ + meta: [ + { + title: "Load Balancers | EC2 | Mulga", + }, + ], + }), + component: DescribeLoadBalancersPage, +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(placement-groups)/create-placement-group.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(placement-groups)/create-placement-group.tsx index 1ce4e033f..8a5dcae47 100644 --- a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(placement-groups)/create-placement-group.tsx +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(placement-groups)/create-placement-group.tsx @@ -128,7 +128,7 @@ function CreatePlacementGroup() { isPending={createMutation.isPending} isSubmitting={isSubmitting} onCancel={() => navigate({ to: "/ec2/describe-placement-groups" })} - pendingLabel="Creating\u2026" + pendingLabel="Creating…" submitLabel="Create Placement Group" /> diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(security-groups)/create-security-group.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(security-groups)/create-security-group.tsx index 6284f2d25..2a7d5e829 100644 --- a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(security-groups)/create-security-group.tsx +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(security-groups)/create-security-group.tsx @@ -164,7 +164,7 @@ function CreateSecurityGroup() { isPending={createMutation.isPending} isSubmitting={isSubmitting} onCancel={() => navigate({ to: "/ec2/describe-security-groups" })} - pendingLabel="Creating\u2026" + pendingLabel="Creating…" submitLabel="Create Security Group" /> diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(snapshots)/create-snapshot.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(snapshots)/create-snapshot.tsx index bcc7dcb41..e6df59058 100644 --- a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(snapshots)/create-snapshot.tsx +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(snapshots)/create-snapshot.tsx @@ -139,7 +139,7 @@ function CreateSnapshot() { isPending={createMutation.isPending} isSubmitting={isSubmitting} onCancel={() => navigate({ to: "/ec2/describe-snapshots" })} - pendingLabel="Creating\u2026" + pendingLabel="Creating…" submitLabel="Create Snapshot" /> diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(subnet)/create-subnet.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(subnet)/create-subnet.tsx index ac65fbbe1..d64148cf4 100644 --- a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(subnet)/create-subnet.tsx +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(subnet)/create-subnet.tsx @@ -181,7 +181,7 @@ function CreateSubnet() { isPending={createMutation.isPending} isSubmitting={isSubmitting} onCancel={() => navigate({ to: "/ec2/describe-subnets" })} - pendingLabel="Creating\u2026" + pendingLabel="Creating…" submitLabel="Create Subnet" /> diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/-components/create-target-group-page.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/-components/create-target-group-page.tsx new file mode 100644 index 000000000..85063222a --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/-components/create-target-group-page.tsx @@ -0,0 +1,170 @@ +import { zodResolver } from "@hookform/resolvers/zod" +import { useSuspenseQuery } from "@tanstack/react-query" +import { useNavigate } from "@tanstack/react-router" +import { useForm } from "react-hook-form" + +import { BackLink } from "@/components/back-link" +import { + CliCommandPanel, + type CliCommand, + type CommandPart, +} from "@/components/cli-command-panel" +import { TargetGroupForm } from "@/components/elbv2/target-group-form" +import { ErrorBanner } from "@/components/error-banner" +import { FormActions } from "@/components/form-actions" +import { PageHeading } from "@/components/page-heading" +import { useCreateTargetGroup } from "@/mutations/elbv2" +import { ec2VpcsQueryOptions } from "@/queries/ec2" +import { + type CreateTargetGroupFormData, + createTargetGroupSchema, +} from "@/types/elbv2" + +export function CreateTargetGroupPage() { + const navigate = useNavigate() + const { data: vpcsData } = useSuspenseQuery(ec2VpcsQueryOptions) + const createMutation = useCreateTargetGroup() + + const vpcs = vpcsData.Vpcs ?? [] + + const form = useForm({ + resolver: zodResolver(createTargetGroupSchema), + defaultValues: { + name: "", + protocol: "HTTP", + port: 80, + vpcId: vpcs[0]?.VpcId ?? "", + healthCheck: { + protocol: "HTTP", + path: "/", + port: "traffic-port", + intervalSeconds: 30, + timeoutSeconds: 5, + healthyThresholdCount: 5, + unhealthyThresholdCount: 2, + matcher: "200", + }, + tags: [], + }, + }) + + const { + handleSubmit, + watch, + formState: { isSubmitting }, + } = form + + const onSubmit = async (data: CreateTargetGroupFormData) => { + try { + const result = await createMutation.mutateAsync(data) + const arn = result.TargetGroups?.[0]?.TargetGroupArn + if (arn) { + navigate({ + to: "/ec2/describe-target-groups/$id", + params: { id: encodeURIComponent(arn) }, + }) + } else { + navigate({ to: "/ec2/describe-target-groups" }) + } + } catch { + // Error surfaced via createMutation.error in the ErrorBanner above. + } + } + + return ( + <> + + Back to target groups + + + + + {createMutation.error && ( + + )} + +
+ + + + + navigate({ to: "/ec2/describe-target-groups" })} + pendingLabel="Creating…" + submitLabel="Create target group" + /> + + + ) +} + +function buildCreateTargetGroupCommands( + watch: (name?: string) => unknown, +): CliCommand[] { + const asString = (key: string): string => { + const raw = watch(key) + return typeof raw === "string" ? raw : "" + } + const asNumber = (key: string): number | undefined => { + const raw = watch(key) + return typeof raw === "number" && Number.isFinite(raw) ? raw : undefined + } + + const name = asString("name") + const protocol = asString("protocol") || "HTTP" + const port = asNumber("port") + const vpcId = asString("vpcId") + const hcPath = asString("healthCheck.path") || "/" + const hcPort = asString("healthCheck.port") || "traffic-port" + const hcInterval = asNumber("healthCheck.intervalSeconds") + const hcTimeout = asNumber("healthCheck.timeoutSeconds") + const hcHealthy = asNumber("healthCheck.healthyThresholdCount") + const hcUnhealthy = asNumber("healthCheck.unhealthyThresholdCount") + const hcMatcher = asString("healthCheck.matcher") || "200" + + const parts: CommandPart[] = [ + { + type: "bin", + value: "AWS_PROFILE=spinifex aws elbv2 create-target-group", + }, + { type: "flag", value: " \\\n --name" }, + { type: "value", value: ` ${name || ""}` }, + { type: "flag", value: " \\\n --protocol" }, + { type: "value", value: ` ${protocol}` }, + { type: "flag", value: " \\\n --port" }, + { type: "value", value: ` ${port ?? 80}` }, + { type: "flag", value: " \\\n --target-type" }, + { type: "value", value: " instance" }, + ] + if (vpcId) { + parts.push( + { type: "flag", value: " \\\n --vpc-id" }, + { type: "value", value: ` ${vpcId}` }, + ) + } + parts.push( + { type: "flag", value: " \\\n --health-check-protocol" }, + { type: "value", value: " HTTP" }, + { type: "flag", value: " \\\n --health-check-path" }, + { type: "value", value: ` ${hcPath}` }, + { type: "flag", value: " \\\n --health-check-port" }, + { type: "value", value: ` ${hcPort}` }, + { type: "flag", value: " \\\n --health-check-interval-seconds" }, + { type: "value", value: ` ${hcInterval ?? 30}` }, + { type: "flag", value: " \\\n --health-check-timeout-seconds" }, + { type: "value", value: ` ${hcTimeout ?? 5}` }, + { type: "flag", value: " \\\n --healthy-threshold-count" }, + { type: "value", value: ` ${hcHealthy ?? 5}` }, + { type: "flag", value: " \\\n --unhealthy-threshold-count" }, + { type: "value", value: ` ${hcUnhealthy ?? 2}` }, + { type: "flag", value: " \\\n --matcher" }, + { type: "value", value: ` HttpCode=${hcMatcher}` }, + ) + + return [{ label: "Create Target Group", parts }] +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/-components/describe-target-groups-page.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/-components/describe-target-groups-page.tsx new file mode 100644 index 000000000..ec4b4491d --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/-components/describe-target-groups-page.tsx @@ -0,0 +1,116 @@ +import type { TargetGroup } from "@aws-sdk/client-elastic-load-balancing-v2" +import { useQuery, useSuspenseQuery } from "@tanstack/react-query" +import { Link, useNavigate } from "@tanstack/react-router" + +import { PageHeading } from "@/components/page-heading" +import { Button } from "@/components/ui/button" +import { + elbv2TargetGroupsQueryOptions, + elbv2TargetHealthQueryOptions, +} from "@/queries/elbv2" + +export function DescribeTargetGroupsPage() { + const navigate = useNavigate() + const { data } = useSuspenseQuery(elbv2TargetGroupsQueryOptions) + + const targetGroups = data.TargetGroups ?? [] + + return ( + <> + + + + } + title="Target groups" + /> + + {targetGroups.length > 0 ? ( +
+ + + + + + + + + + + + + + {targetGroups.map((tg: TargetGroup) => { + if (!tg.TargetGroupArn) { + return null + } + const arn = tg.TargetGroupArn + return ( + + navigate({ + to: "/ec2/describe-target-groups/$id", + params: { id: encodeURIComponent(arn) }, + }) + } + > + + + + + + + + ) + })} + +
NameProtocolPortVPCTarget typeTargetsHealth
+ e.stopPropagation()} + params={{ id: encodeURIComponent(arn) }} + to="/ec2/describe-target-groups/$id" + > + {tg.TargetGroupName ?? arn} + + {tg.Protocol ?? ""}{tg.Port ?? ""} + {tg.VpcId ?? ""} + {tg.TargetType ?? ""}
+
+ ) : ( +

No target groups found.

+ )} + + ) +} + +function TargetHealthSummaryCells({ arn }: { arn: string }) { + const { data, isLoading } = useQuery(elbv2TargetHealthQueryOptions(arn)) + if (isLoading) { + return ( + <> + … + … + + ) + } + const descriptions = data?.TargetHealthDescriptions ?? [] + const counts: Record = {} + for (const desc of descriptions) { + const state = desc.TargetHealth?.State ?? "unknown" + counts[state] = (counts[state] ?? 0) + 1 + } + const summary = + Object.entries(counts) + .map(([state, count]) => `${count} ${state}`) + .join(", ") || "—" + return ( + <> + {descriptions.length} + {summary} + + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/-components/target-group-detail-page.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/-components/target-group-detail-page.tsx new file mode 100644 index 000000000..c90fea727 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/-components/target-group-detail-page.tsx @@ -0,0 +1,230 @@ +import type { Tag } from "@aws-sdk/client-elastic-load-balancing-v2" +import { useSuspenseQuery } from "@tanstack/react-query" +import { useNavigate } from "@tanstack/react-router" +import { Trash2 } from "lucide-react" +import { useState } from "react" + +import { BackLink } from "@/components/back-link" +import { DeleteConfirmationDialog } from "@/components/delete-confirmation-dialog" +import { DetailCard } from "@/components/detail-card" +import { DetailRow } from "@/components/detail-row" +import { + AttributesEditor, + targetGroupAttributeSpecs, +} from "@/components/elbv2/attributes-editor" +import { TargetsTab } from "@/components/elbv2/targets-tab" +import { ErrorBanner } from "@/components/error-banner" +import { PageHeading } from "@/components/page-heading" +import { Button } from "@/components/ui/button" +import { Tabs, TabsList, TabsPanel, TabsTab } from "@/components/ui/tabs" +import { + useDeleteTargetGroup, + useModifyTargetGroupAttributes, +} from "@/mutations/elbv2" +import { + elbv2TagsQueryOptions, + elbv2TargetGroupAttributesQueryOptions, + elbv2TargetGroupQueryOptions, +} from "@/queries/elbv2" + +interface Props { + arn: string +} + +export function TargetGroupDetailPage({ arn }: Props) { + const navigate = useNavigate() + const { data: tgData } = useSuspenseQuery(elbv2TargetGroupQueryOptions(arn)) + const { data: attrsData } = useSuspenseQuery( + elbv2TargetGroupAttributesQueryOptions(arn), + ) + const { data: tagsData } = useSuspenseQuery(elbv2TagsQueryOptions([arn])) + + const deleteMutation = useDeleteTargetGroup() + const modifyAttrsMutation = useModifyTargetGroupAttributes() + const [showDeleteDialog, setShowDeleteDialog] = useState(false) + const [activeTab, setActiveTab] = useState("overview") + + const tg = tgData.TargetGroups?.[0] + + if (!tg?.TargetGroupArn) { + return ( + <> + + Back to target groups + +

Target group not found.

+ + ) + } + + const handleDelete = async () => { + try { + await deleteMutation.mutateAsync(arn) + navigate({ to: "/ec2/describe-target-groups" }) + } finally { + setShowDeleteDialog(false) + } + } + + const attributes = attrsData.Attributes ?? [] + const tgTags = + tagsData?.TagDescriptions?.find((td) => td.ResourceArn === arn)?.Tags ?? [] + + return ( + <> + + Back to target groups + + + {deleteMutation.error && ( + + )} + +
+ setShowDeleteDialog(true)} + size="sm" + variant="destructive" + > + + Delete + + } + subtitle="Target group details" + title={tg.TargetGroupName ?? tg.TargetGroupArn} + /> + + + + Overview + Targets + Health checks + Attributes + Tags + + + + + Target group + + + + + + + + + + + + + + + + + +

+ Health-check settings are set at creation time. Editing lands in a + future slice (mulga-948). +

+ + Health check + + + + + + + + + + + + +
+ + + { + modifyAttrsMutation.mutate({ + targetGroupArn: arn, + attributes: changed, + }) + }} + specs={targetGroupAttributeSpecs} + /> + + + + {tgTags.length > 0 ? ( + + Tags + + {tgTags.map((tag: Tag) => ( + + ))} + + + ) : ( +

No tags.

+ )} +
+
+
+ + + + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/create-target-group.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/create-target-group.test.tsx new file mode 100644 index 000000000..6ad4f20f1 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/create-target-group.test.tsx @@ -0,0 +1,150 @@ +import type { Vpc } from "@aws-sdk/client-ec2" +import { screen, waitFor } from "@testing-library/react" +import userEvent from "@testing-library/user-event" +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const { routerState, sdk } = vi.hoisted(() => { + interface Command { + readonly constructor: { name: string } + readonly input: unknown + } + const handlers = new Map unknown>() + const send = vi.fn((command: Command): Promise => { + const handler = handlers.get(command.constructor.name) + if (!handler) { + return Promise.reject( + new Error( + `No handler registered for SDK command ${command.constructor.name}`, + ), + ) + } + return Promise.resolve(handler(command.input)) + }) + return { + routerState: { + navigate: vi.fn(), + params: {} as Record, + }, + sdk: { + send, + setHandler: (name: string, handler: (input: unknown) => unknown) => { + handlers.set(name, handler) + }, + reset: () => { + handlers.clear() + send.mockClear() + }, + }, + } +}) + +vi.mock("@/lib/awsClient", () => ({ + getElbv2Client: () => ({ send: sdk.send }), + getEc2Client: () => ({ send: sdk.send }), +})) + +vi.mock("@tanstack/react-router", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + createFileRoute: () => (options: Record) => ({ + ...options, + useParams: () => routerState.params, + }), + useNavigate: () => routerState.navigate, + Link: ({ children, to }: { children: React.ReactNode; to?: string }) => ( + {children} + ), + } +}) + +import { CreateTargetGroupPage } from "./-components/create-target-group-page" + +const VPCS: Vpc[] = [{ VpcId: "vpc-aaa", CidrBlock: "10.0.0.0/16", Tags: [] }] + +describe("create-target-group route", () => { + beforeEach(() => { + sdk.reset() + routerState.navigate.mockClear() + }) + afterEach(() => vi.clearAllMocks()) + + function setup() { + const queryClient = createTestQueryClient() + queryClient.setQueryData(["ec2", "vpcs"], { Vpcs: VPCS }) + return renderWithClient(, queryClient) + } + + it("creates a target group and navigates to the detail page on submit", async () => { + const user = userEvent.setup() + sdk.setHandler("CreateTargetGroupCommand", () => ({ + TargetGroups: [{ TargetGroupArn: "arn:tg:new" }], + })) + + setup() + + expect(await screen.findByLabelText("Name")).toBeInTheDocument() + await user.type(screen.getByLabelText("Name"), "my-tg") + await user.click( + screen.getByRole("button", { name: "Create target group" }), + ) + + await waitFor(() => { + expect(sdk.send).toHaveBeenCalledTimes(1) + }) + const input = sdk.send.mock.calls[0]?.[0].input as { + Name: string + Protocol: string + VpcId: string + TargetType: string + } + expect(input.Name).toBe("my-tg") + expect(input.Protocol).toBe("HTTP") + expect(input.VpcId).toBe("vpc-aaa") + expect(input.TargetType).toBe("instance") + + await waitFor(() => { + expect(routerState.navigate).toHaveBeenCalledWith({ + to: "/ec2/describe-target-groups/$id", + params: { id: encodeURIComponent("arn:tg:new") }, + }) + }) + }) + + it("blocks submit and shows a validation error when the name is empty", async () => { + const user = userEvent.setup() + setup() + + await user.click( + screen.getByRole("button", { name: "Create target group" }), + ) + + expect(await screen.findByText("Name is required")).toBeInTheDocument() + expect(sdk.send).not.toHaveBeenCalled() + expect(routerState.navigate).not.toHaveBeenCalled() + }) + + it("surfaces an error banner when the CreateTargetGroup call fails", async () => { + const user = userEvent.setup() + sdk.setHandler("CreateTargetGroupCommand", () => { + throw new Error("name already in use") + }) + + setup() + + await user.type(screen.getByLabelText("Name"), "my-tg") + await user.click( + screen.getByRole("button", { name: "Create target group" }), + ) + + expect( + await screen.findByText(/Failed to create target group/i), + ).toBeInTheDocument() + expect(routerState.navigate).not.toHaveBeenCalled() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/create-target-group.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/create-target-group.tsx new file mode 100644 index 000000000..b8ecf8573 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/create-target-group.tsx @@ -0,0 +1,21 @@ +import { createFileRoute } from "@tanstack/react-router" + +import { ec2VpcsQueryOptions } from "@/queries/ec2" + +import { CreateTargetGroupPage } from "./-components/create-target-group-page" + +export const Route = createFileRoute( + "/_auth/ec2/(target-groups)/create-target-group", +)({ + loader: async ({ context }) => { + await context.queryClient.ensureQueryData(ec2VpcsQueryOptions) + }, + head: () => ({ + meta: [ + { + title: "Create Target Group | EC2 | Mulga", + }, + ], + }), + component: CreateTargetGroupPage, +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/describe-target-groups/$id.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/describe-target-groups/$id.test.tsx new file mode 100644 index 000000000..06b3b9c4a --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/describe-target-groups/$id.test.tsx @@ -0,0 +1,140 @@ +import { screen } from "@testing-library/react" +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const { routerState, sdk } = vi.hoisted(() => { + interface Command { + readonly constructor: { name: string } + readonly input: unknown + } + const handlers = new Map unknown>() + const send = vi.fn((command: Command): Promise => { + const handler = handlers.get(command.constructor.name) + if (!handler) { + return Promise.reject( + new Error( + `No handler registered for SDK command ${command.constructor.name}`, + ), + ) + } + return Promise.resolve(handler(command.input)) + }) + return { + routerState: { navigate: vi.fn() }, + sdk: { + send, + setHandler: (name: string, handler: (input: unknown) => unknown) => { + handlers.set(name, handler) + }, + reset: () => { + handlers.clear() + send.mockClear() + }, + }, + } +}) + +vi.mock("@/lib/awsClient", () => ({ + getElbv2Client: () => ({ send: sdk.send }), + getEc2Client: () => ({ send: sdk.send }), +})) + +vi.mock("@tanstack/react-router", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + createFileRoute: () => (options: Record) => options, + useNavigate: () => routerState.navigate, + Link: ({ + children, + to, + className, + }: { + children: React.ReactNode + to?: string + className?: string + }) => ( + + {children} + + ), + } +}) + +import { TargetGroupDetailPage } from "../-components/target-group-detail-page" + +const TG_ARN = "arn:tg:1" + +describe("target-group detail route", () => { + beforeEach(() => sdk.reset()) + afterEach(() => vi.clearAllMocks()) + + function seed() { + const qc = createTestQueryClient() + qc.setQueryData(["elbv2", "targetGroups", TG_ARN], { + TargetGroups: [ + { + TargetGroupArn: TG_ARN, + TargetGroupName: "my-tg", + Protocol: "HTTP", + Port: 80, + VpcId: "vpc-aaa", + TargetType: "instance", + HealthCheckEnabled: true, + HealthCheckProtocol: "HTTP", + HealthCheckPath: "/health", + HealthCheckPort: "traffic-port", + HealthCheckIntervalSeconds: 30, + HealthCheckTimeoutSeconds: 5, + HealthyThresholdCount: 5, + UnhealthyThresholdCount: 2, + Matcher: { HttpCode: "200" }, + }, + ], + }) + qc.setQueryData(["elbv2", "targetGroups", TG_ARN, "attributes"], { + Attributes: [ + { + Key: "deregistration_delay.timeout_seconds", + Value: "300", + }, + ], + }) + qc.setQueryData(["elbv2", "tags", TG_ARN], { + TagDescriptions: [ + { + ResourceArn: TG_ARN, + Tags: [{ Key: "env", Value: "prod" }], + }, + ], + }) + qc.setQueryData(["ec2", "instances"], { Reservations: [] }) + return qc + } + + it("renders the overview card with TG fields", () => { + renderWithClient(, seed()) + + expect(screen.getByText("my-tg")).toBeInTheDocument() + expect(screen.getByText("Target group details")).toBeInTheDocument() + expect(screen.getByText(TG_ARN)).toBeInTheDocument() + expect(screen.getByText("instance")).toBeInTheDocument() + }) + + it("renders a not-found state when the target group ARN is unknown", () => { + const qc = createTestQueryClient() + qc.setQueryData(["elbv2", "targetGroups", TG_ARN], { TargetGroups: [] }) + qc.setQueryData(["elbv2", "targetGroups", TG_ARN, "attributes"], { + Attributes: [], + }) + qc.setQueryData(["elbv2", "tags", TG_ARN], { TagDescriptions: [] }) + + renderWithClient(, qc) + + expect(screen.getByText("Target group not found.")).toBeInTheDocument() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/describe-target-groups/$id.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/describe-target-groups/$id.tsx new file mode 100644 index 000000000..b4a47b28e --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/describe-target-groups/$id.tsx @@ -0,0 +1,39 @@ +import { createFileRoute } from "@tanstack/react-router" + +import { ec2InstancesQueryOptions } from "@/queries/ec2" +import { + elbv2TagsQueryOptions, + elbv2TargetGroupAttributesQueryOptions, + elbv2TargetGroupQueryOptions, +} from "@/queries/elbv2" + +import { TargetGroupDetailPage } from "../-components/target-group-detail-page" + +export const Route = createFileRoute( + "/_auth/ec2/(target-groups)/describe-target-groups/$id", +)({ + loader: async ({ context, params }) => { + const arn = decodeURIComponent(params.id) + await Promise.all([ + context.queryClient.ensureQueryData(elbv2TargetGroupQueryOptions(arn)), + context.queryClient.ensureQueryData( + elbv2TargetGroupAttributesQueryOptions(arn), + ), + context.queryClient.ensureQueryData(elbv2TagsQueryOptions([arn])), + context.queryClient.ensureQueryData(ec2InstancesQueryOptions), + ]) + }, + head: ({ params }) => ({ + meta: [ + { + title: `${decodeURIComponent(params.id)} | Target Group | Mulga`, + }, + ], + }), + component: RouteComponent, +}) + +function RouteComponent() { + const { id } = Route.useParams() + return +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/describe-target-groups/index.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/describe-target-groups/index.test.tsx new file mode 100644 index 000000000..928201952 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/describe-target-groups/index.test.tsx @@ -0,0 +1,132 @@ +import type { TargetGroup } from "@aws-sdk/client-elastic-load-balancing-v2" +import { screen, waitFor } from "@testing-library/react" +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const { routerState, sdk } = vi.hoisted(() => { + interface Command { + readonly constructor: { name: string } + readonly input: unknown + } + const handlers = new Map unknown>() + const send = vi.fn((command: Command): Promise => { + const handler = handlers.get(command.constructor.name) + if (!handler) { + return Promise.reject( + new Error( + `No handler registered for SDK command ${command.constructor.name}`, + ), + ) + } + return Promise.resolve(handler(command.input)) + }) + return { + routerState: { navigate: vi.fn() }, + sdk: { + send, + setHandler: (name: string, handler: (input: unknown) => unknown) => { + handlers.set(name, handler) + }, + reset: () => { + handlers.clear() + send.mockClear() + }, + }, + } +}) + +vi.mock("@/lib/awsClient", () => ({ + getElbv2Client: () => ({ send: sdk.send }), + getEc2Client: () => ({ send: sdk.send }), +})) + +vi.mock("@tanstack/react-router", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + createFileRoute: () => (options: Record) => options, + useNavigate: () => routerState.navigate, + Link: ({ + children, + to, + className, + }: { + children: React.ReactNode + to?: string + className?: string + }) => ( + + {children} + + ), + } +}) + +import { DescribeTargetGroupsPage } from "../-components/describe-target-groups-page" + +const TGS: TargetGroup[] = [ + { + TargetGroupArn: "arn:tg:1", + TargetGroupName: "tg-one", + Protocol: "HTTP", + Port: 80, + VpcId: "vpc-aaa", + TargetType: "instance", + }, + { + TargetGroupArn: "arn:tg:2", + TargetGroupName: "tg-two", + Protocol: "HTTP", + Port: 8080, + VpcId: "vpc-aaa", + TargetType: "instance", + }, +] + +describe("describe-target-groups list route", () => { + beforeEach(() => sdk.reset()) + afterEach(() => vi.clearAllMocks()) + + it("renders target-group rows with health summaries from the mocked SDK", async () => { + sdk.setHandler("DescribeTargetHealthCommand", (input) => { + const arn = (input as { TargetGroupArn: string }).TargetGroupArn + if (arn === "arn:tg:1") { + return { + TargetHealthDescriptions: [ + { TargetHealth: { State: "healthy" } }, + { TargetHealth: { State: "unhealthy" } }, + ], + } + } + return { TargetHealthDescriptions: [] } + }) + + const qc = createTestQueryClient() + qc.setQueryData(["elbv2", "targetGroups"], { TargetGroups: TGS }) + + renderWithClient(, qc) + + expect(screen.getByText("tg-one")).toBeInTheDocument() + expect(screen.getByText("tg-two")).toBeInTheDocument() + expect( + screen.getByRole("button", { name: "Create target group" }), + ).toBeInTheDocument() + + await waitFor(() => { + expect(screen.getByText("1 healthy, 1 unhealthy")).toBeInTheDocument() + }) + }) + + it("shows empty state when there are no target groups", () => { + const qc = createTestQueryClient() + qc.setQueryData(["elbv2", "targetGroups"], { TargetGroups: [] }) + + renderWithClient(, qc) + + expect(screen.getByText("No target groups found.")).toBeInTheDocument() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/describe-target-groups/index.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/describe-target-groups/index.tsx new file mode 100644 index 000000000..38e910672 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(target-groups)/describe-target-groups/index.tsx @@ -0,0 +1,21 @@ +import { createFileRoute } from "@tanstack/react-router" + +import { elbv2TargetGroupsQueryOptions } from "@/queries/elbv2" + +import { DescribeTargetGroupsPage } from "../-components/describe-target-groups-page" + +export const Route = createFileRoute( + "/_auth/ec2/(target-groups)/describe-target-groups/", +)({ + loader: async ({ context }) => { + await context.queryClient.ensureQueryData(elbv2TargetGroupsQueryOptions) + }, + head: () => ({ + meta: [ + { + title: "Target Groups | EC2 | Mulga", + }, + ], + }), + component: DescribeTargetGroupsPage, +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(volumes)/create-volume.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(volumes)/create-volume.tsx index a7167bfb7..3dd4aeb93 100644 --- a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(volumes)/create-volume.tsx +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(volumes)/create-volume.tsx @@ -132,7 +132,7 @@ function CreateVolume() { isPending={createMutation.isPending} isSubmitting={isSubmitting} onCancel={() => navigate({ to: "/ec2/describe-volumes" })} - pendingLabel="Creating\u2026" + pendingLabel="Creating…" submitLabel="Create Volume" /> diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(vpc)/create-vpc.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(vpc)/create-vpc.tsx index 8d62d8e3b..c246d34be 100644 --- a/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(vpc)/create-vpc.tsx +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/ec2/(vpc)/create-vpc.tsx @@ -343,7 +343,7 @@ function CreateVpc() { isPending={isPending} isSubmitting={isSubmitting} onCancel={() => navigate({ to: "/ec2/describe-vpcs" })} - pendingLabel="Creating\u2026" + pendingLabel="Creating…" submitLabel="Create VPC" /> diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/nodes.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/nodes.tsx index fea3af13a..44d1c1c76 100644 --- a/spinifex/services/spinifexui/frontend/src/routes/_auth/nodes.tsx +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/nodes.tsx @@ -14,9 +14,6 @@ import { } from "@/queries/admin" export const Route = createFileRoute("/_auth/nodes")({ - beforeLoad: () => { - // Route exists but admin check is done in component - }, head: () => ({ meta: [{ title: "Nodes | Mulga" }], }), @@ -75,7 +72,7 @@ function NodesPage() { } const nodes = nodesData?.nodes ?? [] - const vms = vmsData?.vms ?? [] + const vms = (vmsData?.vms ?? []).filter((vm) => !vm.managed_by) // Aggregate instance type capacity across all nodes const typeMap = new Map< diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/s3/(buckets)/create-bucket.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/s3/(buckets)/create-bucket.tsx index 9548fd1cb..34af55854 100644 --- a/spinifex/services/spinifexui/frontend/src/routes/_auth/s3/(buckets)/create-bucket.tsx +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/s3/(buckets)/create-bucket.tsx @@ -78,7 +78,7 @@ function CreateBucket() { isPending={createMutation.isPending} isSubmitting={isSubmitting} onCancel={() => navigate({ to: "/s3/ls" })} - pendingLabel="Creating\u2026" + pendingLabel="Creating…" submitLabel="Create Bucket" /> diff --git a/spinifex/services/spinifexui/frontend/src/test/elbv2-e2e.test.tsx b/spinifex/services/spinifexui/frontend/src/test/elbv2-e2e.test.tsx new file mode 100644 index 000000000..6f5255b1e --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/test/elbv2-e2e.test.tsx @@ -0,0 +1,333 @@ +// Cross-slice ELBv2 flow against a mocked SDK. Exercises the end-to-end path +// a user walks through: create TG → create LB → create listener → register +// targets → observe target health — all via the same mocked dispatcher. +import { QueryClient, QueryClientProvider } from "@tanstack/react-query" +import { renderHook } from "@testing-library/react" +import type { ReactNode } from "react" +import { beforeEach, describe, expect, it, vi } from "vitest" + +const { sdk } = vi.hoisted(() => { + interface StoredLb { + arn: string + name: string + vpcId: string + subnets: string[] + } + interface StoredTg { + arn: string + name: string + vpcId: string + } + interface StoredListener { + arn: string + lbArn: string + port: number + protocol: string + defaultTg: string + } + interface TargetRecord { + id: string + port?: number + state: string + } + interface Command { + readonly constructor: { name: string } + readonly input: unknown + } + + const state = { + lbs: [] as StoredLb[], + tgs: [] as StoredTg[], + listeners: [] as StoredListener[], + targets: new Map(), + seq: 0, + } + + const nextSeq = () => { + state.seq += 1 + return state.seq + } + + const handlers = new Map unknown>([ + [ + "CreateTargetGroupCommand", + (input) => { + const i = input as { Name: string; VpcId: string } + const tg = { + arn: `arn:tg:${nextSeq()}`, + name: i.Name, + vpcId: i.VpcId, + } + state.tgs.push(tg) + state.targets.set(tg.arn, []) + return { TargetGroups: [{ TargetGroupArn: tg.arn }] } + }, + ], + [ + "CreateLoadBalancerCommand", + (input) => { + const i = input as { Name: string; Subnets: string[] } + const lb = { + arn: `arn:lb:${nextSeq()}`, + name: i.Name, + vpcId: "vpc-aaa", + subnets: i.Subnets, + } + state.lbs.push(lb) + return { LoadBalancers: [{ LoadBalancerArn: lb.arn }] } + }, + ], + [ + "CreateListenerCommand", + (input) => { + const i = input as { + LoadBalancerArn: string + Port: number + Protocol: string + DefaultActions: { TargetGroupArn: string }[] + } + const action = i.DefaultActions[0] + if (!action) { + throw new Error("CreateListenerCommand requires DefaultActions[0]") + } + const listener = { + arn: `arn:listener:${nextSeq()}`, + lbArn: i.LoadBalancerArn, + port: i.Port, + protocol: i.Protocol, + defaultTg: action.TargetGroupArn, + } + state.listeners.push(listener) + return { Listeners: [{ ListenerArn: listener.arn }] } + }, + ], + [ + "RegisterTargetsCommand", + (input) => { + const i = input as { + TargetGroupArn: string + Targets: { Id: string; Port?: number }[] + } + const existing = state.targets.get(i.TargetGroupArn) ?? [] + const next = [ + ...existing, + ...i.Targets.map((t) => ({ + id: t.Id, + port: t.Port, + state: "healthy", + })), + ] + state.targets.set(i.TargetGroupArn, next) + return {} + }, + ], + [ + "DescribeTargetHealthCommand", + (input) => { + const i = input as { TargetGroupArn: string } + const targets = state.targets.get(i.TargetGroupArn) ?? [] + return { + TargetHealthDescriptions: targets.map((t) => ({ + Target: { Id: t.id, Port: t.port }, + TargetHealth: { State: t.state }, + })), + } + }, + ], + [ + "DescribeLoadBalancersCommand", + () => ({ + LoadBalancers: state.lbs.map((lb) => ({ + LoadBalancerArn: lb.arn, + LoadBalancerName: lb.name, + VpcId: lb.vpcId, + State: { Code: "active" }, + })), + }), + ], + [ + "DescribeTargetGroupsCommand", + () => ({ + TargetGroups: state.tgs.map((tg) => ({ + TargetGroupArn: tg.arn, + TargetGroupName: tg.name, + VpcId: tg.vpcId, + Protocol: "HTTP", + Port: 80, + TargetType: "instance", + })), + }), + ], + [ + "DescribeListenersCommand", + (input) => { + const i = input as { LoadBalancerArn: string } + return { + Listeners: state.listeners + .filter((l) => l.lbArn === i.LoadBalancerArn) + .map((l) => ({ + ListenerArn: l.arn, + Port: l.port, + Protocol: l.protocol, + DefaultActions: [ + { Type: "forward", TargetGroupArn: l.defaultTg }, + ], + })), + } + }, + ], + ]) + + const send = vi.fn((command: Command): Promise => { + const handler = handlers.get(command.constructor.name) + if (!handler) { + return Promise.reject( + new Error(`No E2E handler for SDK command ${command.constructor.name}`), + ) + } + return Promise.resolve(handler(command.input)) + }) + + return { + sdk: { + send, + reset: () => { + state.lbs = [] + state.tgs = [] + state.listeners = [] + state.targets = new Map() + state.seq = 0 + send.mockClear() + }, + }, + } +}) + +vi.mock("@/lib/awsClient", () => ({ + getElbv2Client: () => ({ send: sdk.send }), + getEc2Client: () => ({ send: sdk.send }), +})) + +import { + useCreateListener, + useCreateLoadBalancer, + useCreateTargetGroup, + useRegisterTargets, +} from "@/mutations/elbv2" +import { + elbv2ListenersQueryOptions, + elbv2LoadBalancersQueryOptions, + elbv2TargetGroupsQueryOptions, + elbv2TargetHealthQueryOptions, +} from "@/queries/elbv2" + +function createQueryClient(): QueryClient { + return new QueryClient({ + defaultOptions: { + queries: { retry: false }, + mutations: { retry: false }, + }, + }) +} + +function mustString(value: string | undefined, label: string): string { + if (!value) { + throw new Error(`expected ${label} to be defined`) + } + return value +} + +beforeEach(() => { + sdk.reset() +}) + +describe("ELBv2 cross-slice flow (mocked SDK)", () => { + it("creates TG → LB → listener → registers targets → observes healthy state", async () => { + const qc = createQueryClient() + + function Harness() { + return { + createTg: useCreateTargetGroup(), + createLb: useCreateLoadBalancer(), + createListener: useCreateListener(), + registerTargets: useRegisterTargets(), + } + } + + const { result } = renderHook(Harness, { + wrapper: ({ children }: { children: ReactNode }) => ( + {children} + ), + }) + + // Step 1: create TG + const tgResult = await result.current.createTg.mutateAsync({ + name: "my-tg", + protocol: "HTTP", + port: 80, + vpcId: "vpc-aaa", + healthCheck: { + protocol: "HTTP", + path: "/", + port: "traffic-port", + intervalSeconds: 30, + timeoutSeconds: 5, + healthyThresholdCount: 5, + unhealthyThresholdCount: 2, + matcher: "200", + }, + tags: [], + }) + const tgArn = mustString( + tgResult.TargetGroups?.[0]?.TargetGroupArn, + "tgArn", + ) + + // Step 2: create LB + const lbResult = await result.current.createLb.mutateAsync({ + name: "my-alb", + scheme: "internet-facing", + subnetIds: ["subnet-a", "subnet-b"], + securityGroupIds: ["sg-1"], + tags: [], + }) + const lbArn = mustString( + lbResult.LoadBalancers?.[0]?.LoadBalancerArn, + "lbArn", + ) + + // Step 3: create listener + await result.current.createListener.mutateAsync({ + loadBalancerArn: lbArn, + protocol: "HTTP", + port: 80, + defaultTargetGroupArn: tgArn, + }) + + // Step 4: register two targets + await result.current.registerTargets.mutateAsync({ + targetGroupArn: tgArn, + targets: [{ id: "i-aaa" }, { id: "i-bbb" }], + }) + + // Step 5: describe queries should reflect all the writes + const lbs = await qc.fetchQuery(elbv2LoadBalancersQueryOptions) + expect(lbs.LoadBalancers).toHaveLength(1) + expect(lbs.LoadBalancers?.[0]?.LoadBalancerArn).toBe(lbArn) + + const tgs = await qc.fetchQuery(elbv2TargetGroupsQueryOptions) + expect(tgs.TargetGroups).toHaveLength(1) + + const listeners = await qc.fetchQuery(elbv2ListenersQueryOptions(lbArn)) + expect(listeners.Listeners).toHaveLength(1) + expect(listeners.Listeners?.[0]?.DefaultActions?.[0]?.TargetGroupArn).toBe( + tgArn, + ) + + const health = await qc.fetchQuery(elbv2TargetHealthQueryOptions(tgArn)) + expect(health.TargetHealthDescriptions).toHaveLength(2) + expect(health.TargetHealthDescriptions?.[0]?.TargetHealth?.State).toBe( + "healthy", + ) + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/test/elbv2-integration.tsx b/spinifex/services/spinifexui/frontend/src/test/elbv2-integration.tsx new file mode 100644 index 000000000..2e5aab385 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/test/elbv2-integration.tsx @@ -0,0 +1,30 @@ +// Shared helpers for ELBv2 route-level integration tests. +import { QueryClient, QueryClientProvider } from "@tanstack/react-query" +import { render, type RenderOptions } from "@testing-library/react" +import type { ReactElement, ReactNode } from "react" + +export function createTestQueryClient(): QueryClient { + return new QueryClient({ + defaultOptions: { + queries: { + retry: false, + staleTime: Number.POSITIVE_INFINITY, + refetchOnMount: false, + }, + mutations: { retry: false }, + }, + }) +} + +export function renderWithClient( + ui: ReactElement, + queryClient: QueryClient, + options?: Omit, +) { + function Wrapper({ children }: { children: ReactNode }) { + return ( + {children} + ) + } + return render(ui, { wrapper: Wrapper, ...options }) +} diff --git a/spinifex/services/spinifexui/frontend/src/types/elbv2.test.ts b/spinifex/services/spinifexui/frontend/src/types/elbv2.test.ts new file mode 100644 index 000000000..bd8753593 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/types/elbv2.test.ts @@ -0,0 +1,210 @@ +import { describe, expect, it } from "vitest" + +import { + createListenerSchema, + createLoadBalancerSchema, + createTargetGroupSchema, + healthCheckSchema, + registerTargetsSchema, +} from "./elbv2" + +const defaultHealthCheck = { + protocol: "HTTP" as const, + path: "/", + port: "traffic-port", + intervalSeconds: 30, + timeoutSeconds: 5, + healthyThresholdCount: 5, + unhealthyThresholdCount: 2, + matcher: "200", +} + +describe("createTargetGroupSchema", () => { + it("accepts a valid HTTP target group", () => { + const result = createTargetGroupSchema.safeParse({ + name: "my-tg", + protocol: "HTTP", + port: 80, + vpcId: "vpc-123", + healthCheck: defaultHealthCheck, + tags: [], + }) + expect(result.success).toBe(true) + }) + + it("rejects name with invalid characters", () => { + const result = createTargetGroupSchema.safeParse({ + name: "my_tg", + protocol: "HTTP", + port: 80, + vpcId: "vpc-123", + healthCheck: defaultHealthCheck, + tags: [], + }) + expect(result.success).toBe(false) + }) + + it("rejects name >32 chars", () => { + const result = createTargetGroupSchema.safeParse({ + name: "x".repeat(33), + protocol: "HTTP", + port: 80, + vpcId: "vpc-123", + healthCheck: defaultHealthCheck, + tags: [], + }) + expect(result.success).toBe(false) + }) + + it("rejects port out of range", () => { + const result = createTargetGroupSchema.safeParse({ + name: "my-tg", + protocol: "HTTP", + port: 70_000, + vpcId: "vpc-123", + healthCheck: defaultHealthCheck, + tags: [], + }) + expect(result.success).toBe(false) + }) +}) + +describe("createLoadBalancerSchema", () => { + const baseListener = { + protocol: "HTTP" as const, + port: 80, + targetGroupMode: "existing" as const, + existingTargetGroupArn: "arn:tg:1", + } + + it("accepts a valid ALB with 2+ subnets", () => { + const result = createLoadBalancerSchema.safeParse({ + name: "my-alb", + scheme: "internet-facing", + vpcId: "vpc-1", + subnetIds: ["subnet-a", "subnet-b"], + securityGroupIds: ["sg-1"], + tags: [], + listener: baseListener, + }) + expect(result.success).toBe(true) + }) + + it("rejects <2 subnets", () => { + const result = createLoadBalancerSchema.safeParse({ + name: "my-alb", + scheme: "internet-facing", + vpcId: "vpc-1", + subnetIds: ["subnet-a"], + securityGroupIds: [], + tags: [], + listener: baseListener, + }) + expect(result.success).toBe(false) + }) + + it("rejects names starting with 'internal-'", () => { + const result = createLoadBalancerSchema.safeParse({ + name: "internal-abc", + scheme: "internal", + vpcId: "vpc-1", + subnetIds: ["subnet-a", "subnet-b"], + securityGroupIds: [], + tags: [], + listener: baseListener, + }) + expect(result.success).toBe(false) + }) + + it("accepts listener with mode=new without existingTargetGroupArn", () => { + const result = createLoadBalancerSchema.safeParse({ + name: "my-alb", + scheme: "internet-facing", + vpcId: "vpc-1", + subnetIds: ["subnet-a", "subnet-b"], + securityGroupIds: [], + tags: [], + listener: { + protocol: "HTTP", + port: 80, + targetGroupMode: "new", + }, + }) + expect(result.success).toBe(true) + }) + + it("rejects listener with mode=existing but no existingTargetGroupArn", () => { + const result = createLoadBalancerSchema.safeParse({ + name: "my-alb", + scheme: "internet-facing", + vpcId: "vpc-1", + subnetIds: ["subnet-a", "subnet-b"], + securityGroupIds: [], + tags: [], + listener: { + protocol: "HTTP", + port: 80, + targetGroupMode: "existing", + }, + }) + expect(result.success).toBe(false) + }) +}) + +describe("createListenerSchema", () => { + it("accepts a valid listener", () => { + const result = createListenerSchema.safeParse({ + protocol: "HTTP", + port: 80, + defaultTargetGroupArn: "arn:tg:1", + }) + expect(result.success).toBe(true) + }) + + it("rejects listener missing default target group", () => { + const result = createListenerSchema.safeParse({ + protocol: "HTTP", + port: 80, + defaultTargetGroupArn: "", + }) + expect(result.success).toBe(false) + }) +}) + +describe("registerTargetsSchema", () => { + it("accepts one or more targets", () => { + const result = registerTargetsSchema.safeParse({ + targets: [{ instanceId: "i-123" }, { instanceId: "i-456", port: 8080 }], + }) + expect(result.success).toBe(true) + }) + + it("rejects empty target list", () => { + const result = registerTargetsSchema.safeParse({ targets: [] }) + expect(result.success).toBe(false) + }) +}) + +describe("healthCheckSchema", () => { + it("accepts the documented default values", () => { + expect(healthCheckSchema.parse(defaultHealthCheck)).toEqual( + defaultHealthCheck, + ) + }) + + it("rejects an out-of-range interval", () => { + const result = healthCheckSchema.safeParse({ + ...defaultHealthCheck, + intervalSeconds: 1, + }) + expect(result.success).toBe(false) + }) + + it("rejects a malformed matcher", () => { + const result = healthCheckSchema.safeParse({ + ...defaultHealthCheck, + matcher: "OK", + }) + expect(result.success).toBe(false) + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/types/elbv2.ts b/spinifex/services/spinifexui/frontend/src/types/elbv2.ts new file mode 100644 index 000000000..245e5ed75 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/types/elbv2.ts @@ -0,0 +1,130 @@ +import { z } from "zod" + +const LB_TG_NAME_REGEX = /^(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])$/ + +const lbNameField = z + .string() + .min(1, "Name is required") + .max(32, "Name must be 32 characters or less") + .regex( + LB_TG_NAME_REGEX, + "Name may contain only letters, digits, and hyphens; must start and end with alphanumeric", + ) + .refine( + (value) => !value.startsWith("internal-"), + "Name cannot start with 'internal-'", + ) + +const tgNameField = z + .string() + .min(1, "Name is required") + .max(32, "Name must be 32 characters or less") + .regex( + LB_TG_NAME_REGEX, + "Name may contain only letters, digits, and hyphens; must start and end with alphanumeric", + ) + +const portField = z + .number() + .int("Port must be a whole number") + .min(1, "Port must be at least 1") + .max(65_535, "Port must be at most 65535") + +export const tagSchema = z.object({ + key: z.string().min(1, "Tag key is required").max(128), + value: z.string().max(256), +}) + +export type TagFormData = z.infer + +// ALB health-check config. NLB variant lands with slice 9. +export const healthCheckSchema = z.object({ + protocol: z.enum(["HTTP"]), + path: z.string().min(1, "Path is required").max(1024), + port: z.string().min(1), + intervalSeconds: z.number().int().min(5).max(300), + timeoutSeconds: z.number().int().min(2).max(120), + healthyThresholdCount: z.number().int().min(2).max(10), + unhealthyThresholdCount: z.number().int().min(2).max(10), + matcher: z + .string() + .regex( + /^\d{3}(?:[-,]\d{3})*$/, + "Matcher must be HTTP codes like 200 or 200-299 or 200,201", + ), +}) + +export type HealthCheckFormData = z.infer + +export const createTargetGroupSchema = z.object({ + name: tgNameField, + protocol: z.enum(["HTTP"]), + port: portField, + vpcId: z.string().min(1, "VPC is required"), + healthCheck: healthCheckSchema, + tags: z.array(tagSchema), +}) + +export type CreateTargetGroupFormData = z.infer + +export const createListenerSchema = z.object({ + protocol: z.enum(["HTTP"]), + port: portField, + defaultTargetGroupArn: z.string().min(1, "Target group is required"), +}) + +export type CreateListenerFormData = z.infer + +// LB wizard form. The inline "new target group" option is driven by a separate +// `useForm` instance at the route level, so this +// schema only validates the existing-TG branch. See create-load-balancer.tsx. +export const createLoadBalancerSchema = z.object({ + name: lbNameField, + scheme: z.enum(["internet-facing", "internal"]), + vpcId: z.string().min(1, "VPC is required"), + subnetIds: z + .array(z.string()) + .min(2, "At least 2 subnets are required for an ALB"), + securityGroupIds: z.array(z.string()), + tags: z.array(tagSchema), + listener: z + .object({ + protocol: z.enum(["HTTP"]), + port: portField, + targetGroupMode: z.enum(["new", "existing"]), + existingTargetGroupArn: z.string().optional(), + }) + .refine( + (value) => + value.targetGroupMode === "existing" + ? !!value.existingTargetGroupArn + : true, + { + error: "Target group is required", + path: ["existingTargetGroupArn"], + }, + ), +}) + +export type CreateLoadBalancerFormData = z.infer< + typeof createLoadBalancerSchema +> + +export const registerTargetsSchema = z.object({ + targets: z + .array( + z.object({ + instanceId: z.string().min(1, "Instance is required"), + port: portField.optional(), + }), + ) + .min(1, "At least one target is required"), +}) + +export type RegisterTargetsFormData = z.infer + +// Attributes editor state — free-form key/value pairs. Slice 7 narrows keys to +// DefaultLoadBalancerAttributes / DefaultTargetGroupAttributes. +export const attributesSchema = z.record(z.string(), z.string()) + +export type AttributesFormData = z.infer diff --git a/spinifex/services/spinifexui/frontend/vite.config.ts b/spinifex/services/spinifexui/frontend/vite.config.ts index 6dab6b02e..57be3e816 100644 --- a/spinifex/services/spinifexui/frontend/vite.config.ts +++ b/spinifex/services/spinifexui/frontend/vite.config.ts @@ -26,6 +26,7 @@ export default defineConfig({ tanstackRouter({ target: "react", autoCodeSplitting: true, + routeFileIgnorePattern: "\\.test\\.(ts|tsx)$", }), react(), babel({ diff --git a/spinifex/tags/tags.go b/spinifex/tags/tags.go new file mode 100644 index 000000000..0fe7880ce --- /dev/null +++ b/spinifex/tags/tags.go @@ -0,0 +1,19 @@ +// Package tags defines tag keys and values used to mark +// Spinifex system-owned resources (ENIs, EC2 instances, AMIs). +// +// The UI filters resources carrying these tags out of customer-facing +// listings. Operators can append ?system=1 to the URL to surface them. +package tags + +const ( + // ManagedByKey marks a resource as managed by a Spinifex + // platform component. The value identifies the component. + ManagedByKey = "spinifex:managed-by" + + // ManagedByELBv2 identifies ELBv2/ALB-owned resources + // (HAProxy VMs, their ENIs, the LB AMI). + ManagedByELBv2 = "elbv2" + + // LBARNKey stores the parent LB ARN on ELBv2-managed ENIs. + LBARNKey = "spinifex:lb-arn" +) diff --git a/spinifex/types/node.go b/spinifex/types/node.go index 61322d16f..6136850fa 100644 --- a/spinifex/types/node.go +++ b/spinifex/types/node.go @@ -42,6 +42,10 @@ type VMInfo struct { VCPU int `json:"vcpu"` MemoryGB float64 `json:"memory_gb"` LaunchTime int64 `json:"launch_time"` + // ManagedBy is the Spinifex platform component that owns this VM + // (e.g. "elbv2"). Empty for customer VMs. The UI uses this to filter + // system-managed resources out of customer-facing listings. + ManagedBy string `json:"managed_by,omitempty"` } // NodeVMsResponse is returned by the spinifex.node.vms NATS topic (fan-out). diff --git a/spinifex/utils/images.go b/spinifex/utils/images.go index dabf99f19..6134ed3cc 100644 --- a/spinifex/utils/images.go +++ b/spinifex/utils/images.go @@ -31,6 +31,10 @@ type Images struct { ChecksumType string `json:"checksum_type"` BootMode string `json:"boot_mode"` Starred bool `json:"starred"` + // Tags are copied onto the imported AMI's AMIMetadata.Tags so the UI + // can filter/classify the image. Used to mark system-owned AMIs + // (e.g. the LB/HAProxy image) via spinifex:managed-by. + Tags map[string]string `json:"tags,omitempty"` } var AvailableImages = map[string]Images{ @@ -113,6 +117,11 @@ var AvailableImages = map[string]Images{ ChecksumType: "sha512", BootMode: "bios", Starred: false, + // Marked system-managed: the UI hides this AMI from the Images + // page so customers don't mistake it for a bootable OS image. + Tags: map[string]string{ + "spinifex:managed-by": "elbv2", + }, }, /* diff --git a/spinifex/vm/vm.go b/spinifex/vm/vm.go index cfab81b03..f0cf65fba 100644 --- a/spinifex/vm/vm.go +++ b/spinifex/vm/vm.go @@ -104,6 +104,11 @@ type VM struct { // via the QEMU user-mode dev NIC. Used by ALB VMs to expose HTTP ports. // Maps guest port → host port (host port filled in by StartInstance). ExtraHostfwd map[int]int `json:"extra_hostfwd,omitempty"` + + // ManagedBy identifies the Spinifex platform component that owns this + // VM (e.g. "elbv2"). Empty for customer-launched instances. The UI + // filters out tagged VMs from customer-facing listings. + ManagedBy string `json:"managed_by,omitempty"` } // ResetNodeLocalState zeroes out fields that are specific to the daemon node