diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_clusterName.js b/spinifex/services/spinifexui/frontend/dist/assets/_clusterName.js index 438704ef6..d686a574c 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_clusterName.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_clusterName.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_clusterName3.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useSuspenseQuery.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ecs.js","assets/ecs2.js","assets/useMutation.js","assets/module.js","assets/error-banner.js","assets/gpu-instance-type-select.js","assets/select.js","assets/check.js","assets/chevron-down.js","assets/useCompositeListItem.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js","assets/tabs.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{i as r,s as i,t as a}from"./ecs.js";var o=e(`/_auth/ecs/(clusters)/list-clusters/$clusterName`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(a(t.clusterName)),e.queryClient.ensureQueryData(r(t.clusterName)),e.queryClient.ensureQueryData(i(t.clusterName))])},head:({params:e})=>({meta:[{title:`${e.clusterName} | ECS | Mulga`}]}),component:t(()=>n(()=>import(`./_clusterName3.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])),`component`)});export{o as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_clusterName4.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useSuspenseQuery.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/circle-arrow-up.js","assets/cli-command-panel.js","assets/check.js","assets/chevron-down.js","assets/copy.js","assets/button.js","assets/dist.js","assets/use-copy-to-clipboard.js","assets/trash-2.js","assets/triangle-alert.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/eks.js","assets/useMutation.js","assets/commandBuilder.js","assets/subnet-calculator.js","assets/json.js","assets/eks2.js","assets/iam2.js","assets/commandBuilder3.js","assets/zod.js","assets/error-banner.js","assets/gpu-instance-type-select.js","assets/select.js","assets/useCompositeListItem.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/badge.js","assets/useRender.js","assets/tabs.js","assets/json-editor.js","assets/textarea.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{t as r}from"./createLucideIcon.js";import{s as i,t as a,u as o}from"./eks2.js";var s=r(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),c=e(`/_auth/eks/(clusters)/list-clusters/$clusterName`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(i(t.clusterName)),e.queryClient.ensureQueryData(o(t.clusterName)),e.queryClient.ensureQueryData(a(t.clusterName))])},head:({params:e})=>({meta:[{title:`${e.clusterName} | EKS | Mulga`}]}),component:t(()=>n(()=>import(`./_clusterName4.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,44,45,46,47,48,49,50,51,52,53,54,55])),`component`)});export{s as n,c as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_clusterName2.js b/spinifex/services/spinifexui/frontend/dist/assets/_clusterName2.js index 3e3a80f26..438704ef6 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_clusterName2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_clusterName2.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_clusterName4.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useSuspenseQuery.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/createLucideIcon.js","assets/back-link.js","assets/circle-arrow-up.js","assets/cli-command-panel.js","assets/check.js","assets/chevron-down.js","assets/copy.js","assets/button.js","assets/dist.js","assets/use-copy-to-clipboard.js","assets/trash-2.js","assets/triangle-alert.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/eks.js","assets/useMutation.js","assets/commandBuilder.js","assets/subnet-calculator.js","assets/json.js","assets/eks2.js","assets/iam2.js","assets/commandBuilder3.js","assets/zod.js","assets/error-banner.js","assets/gpu-instance-type-select.js","assets/select.js","assets/useCompositeListItem.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/badge.js","assets/useRender.js","assets/tabs.js","assets/json-editor.js","assets/textarea.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{s as r,t as i,u as a}from"./eks2.js";var o=e(`/_auth/eks/(clusters)/list-clusters/$clusterName`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(r(t.clusterName)),e.queryClient.ensureQueryData(a(t.clusterName)),e.queryClient.ensureQueryData(i(t.clusterName))])},head:({params:e})=>({meta:[{title:`${e.clusterName} | EKS | Mulga`}]}),component:t(()=>n(()=>import(`./_clusterName4.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,44,45,46,47,48,49,50,51,52,53,54,55])),`component`)});export{o as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_clusterName3.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useSuspenseQuery.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ecs.js","assets/ecs2.js","assets/useMutation.js","assets/module.js","assets/error-banner.js","assets/gpu-instance-type-select.js","assets/select.js","assets/check.js","assets/chevron-down.js","assets/useCompositeListItem.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js","assets/tabs.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{i as r,s as i,t as a}from"./ecs.js";var o=e(`/_auth/ecs/(clusters)/list-clusters/$clusterName`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(a(t.clusterName)),e.queryClient.ensureQueryData(r(t.clusterName)),e.queryClient.ensureQueryData(i(t.clusterName))])},head:({params:e})=>({meta:[{title:`${e.clusterName} | ECS | Mulga`}]}),component:t(()=>n(()=>import(`./_clusterName3.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])),`component`)});export{o as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_clusterName3.js b/spinifex/services/spinifexui/frontend/dist/assets/_clusterName3.js index 100e61cdf..a7a1350d4 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_clusterName3.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_clusterName3.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"./useQuery.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./link.js";import{t as s}from"./useNavigate.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{t as d}from"./input.js";import{a as f,t as p}from"./field.js";import{a as m,i as h,l as g,n as _,o as v,r as y,s as b,t as x}from"./alert-dialog.js";import{O as S,c as C,p as w,w as T}from"./ec2.js";import{i as E,r as D,s as O,t as ee}from"./ecs.js";import{i as k,l as A,o as j,r as M,u as N}from"./ecs2.js";import{t as te}from"./error-banner.js";import{t as P}from"./gpu-instance-type-select.js";import{t as F}from"./page-heading.js";import{t as I}from"./_clusterName.js";import{t as L}from"./delete-confirmation-dialog.js";import{n as R,t as z}from"./detail-row.js";import{t as B}from"./state-badge.js";import{i as V,n as ne,r as H,t as re}from"./tabs.js";var U=r(),W=e(n(),1),G=t(),K=`h-7 w-full rounded-md border border-input bg-input/20 px-2 text-sm`;function q({clusterName:e,open:t,onOpenChange:n}){let r=j(),{data:a}=i(S),{data:o}=i(T),{data:s}=i(w),{data:c}=i(C),l=a?.Subnets??[],u=o?.SecurityGroups??[],E=s?.KeyPairs??[],D=c?.InstanceTypes??[],[O,ee]=(0,W.useState)(`t3.small`),[k,A]=(0,W.useState)(1),[M,N]=(0,W.useState)(``),[F,I]=(0,W.useState)(``),[L,R]=(0,W.useState)(``);function z(e){e||(ee(`t3.small`),A(1),N(``),I(``),R(``),r.reset()),n(e)}async function B(){try{await r.mutateAsync({Cluster:e,InstanceType:O||void 0,Count:k,SubnetID:M,SecurityGroupID:F,KeyName:L||void 0}),z(!1)}catch{}}let V=r.isPending||M===``||F===``;return(0,G.jsx)(x,{onOpenChange:z,open:t,children:(0,G.jsxs)(h,{className:`max-h-[85vh] overflow-y-auto`,children:[(0,G.jsxs)(b,{children:[(0,G.jsx)(g,{children:`Provision EC2 capacity`}),(0,G.jsxs)(m,{children:[`Launch container instances into cluster “`,e,`”. They register automatically once booted.`]})]}),(0,G.jsxs)(`div`,{className:`space-y-4`,children:[(0,G.jsxs)(p,{children:[(0,G.jsx)(f,{children:(0,G.jsx)(`label`,{htmlFor:`provision-instance-type`,children:`Instance type`})}),(0,G.jsx)(P,{id:`provision-instance-type`,instanceTypes:D,onValueChange:ee,value:O})]}),(0,G.jsxs)(p,{children:[(0,G.jsx)(f,{children:(0,G.jsx)(`label`,{htmlFor:`provision-count`,children:`Count`})}),(0,G.jsx)(d,{id:`provision-count`,max:10,min:1,onChange:e=>A(Number(e.target.value)),type:`number`,value:k})]}),(0,G.jsxs)(p,{children:[(0,G.jsx)(f,{children:(0,G.jsx)(`label`,{htmlFor:`provision-subnet`,children:`Subnet`})}),(0,G.jsxs)(`select`,{className:K,id:`provision-subnet`,onChange:e=>N(e.target.value),value:M,children:[(0,G.jsx)(`option`,{value:``,children:`Select a subnet`}),l.map(e=>(0,G.jsxs)(`option`,{value:e.SubnetId??``,children:[e.SubnetId,` (`,e.CidrBlock,e.AvailabilityZone?`, ${e.AvailabilityZone}`:``,`)`]},e.SubnetId))]})]}),(0,G.jsxs)(p,{children:[(0,G.jsx)(f,{children:(0,G.jsx)(`label`,{htmlFor:`provision-sg`,children:`Security group`})}),(0,G.jsxs)(`select`,{className:K,id:`provision-sg`,onChange:e=>I(e.target.value),value:F,children:[(0,G.jsx)(`option`,{value:``,children:`Select a security group`}),u.map(e=>(0,G.jsxs)(`option`,{value:e.GroupId??``,children:[e.GroupId,` (`,e.GroupName,`)`]},e.GroupId))]})]}),(0,G.jsxs)(p,{children:[(0,G.jsx)(f,{children:(0,G.jsx)(`label`,{htmlFor:`provision-key`,children:`Key pair`})}),(0,G.jsxs)(`select`,{className:K,id:`provision-key`,onChange:e=>R(e.target.value),value:L,children:[(0,G.jsx)(`option`,{value:``,children:`None`}),E.map(e=>(0,G.jsx)(`option`,{value:e.KeyName??``,children:e.KeyName},e.KeyPairId))]})]})]}),r.error&&(0,G.jsx)(te,{error:r.error instanceof Error?r.error:void 0,msg:`Failed to provision capacity.`}),(0,G.jsxs)(v,{children:[(0,G.jsx)(y,{children:`Cancel`}),(0,G.jsx)(_,{disabled:V,onClick:e=>{e.preventDefault(),B()},children:r.isPending?`Provisioning…`:`Provision`})]})]})})}var J={drain:`Drain`,activate:`Activate`,deregister:`Deregister`},Y={drain:`Draining force-stops the service-owned tasks on this instance so it can be retired.`,activate:`This returns the instance to ACTIVE so the scheduler can place tasks on it again.`,deregister:`This force-removes the container instance record. Any tasks it still holds are stopped.`};function ie(e){let t=(0,U.c)(28),{clusterName:n}=e,r;t[0]===n?r=t[1]:(r=D(n),t[0]=n,t[1]=r);let{data:i}=a(r),o=N(),s=k(),[c,l]=(0,W.useState)(null),[d,f]=(0,W.useState)(!1),p;t[2]!==n||t[3]!==s||t[4]!==c||t[5]!==o?(p=function(){if(!c)return;let e=()=>l(null);if(c.action===`deregister`){s.mutate({cluster:n,containerInstance:c.arn},{onSuccess:e});return}o.mutate({cluster:n,containerInstance:c.arn,status:c.action===`drain`?`DRAINING`:`ACTIVE`},{onSuccess:e})},t[2]=n,t[3]=s,t[4]=c,t[5]=o,t[6]=p):p=t[6];let m=p,h=o.isError||s.isError,g=o.error??s.error,_=o.isPending||s.isPending,v;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,G.jsx)(`div`,{className:`mb-4 flex justify-end`,children:(0,G.jsx)(u,{onClick:()=>f(!0),size:`sm`,children:`Provision EC2 capacity`})}),t[7]=v):v=t[7];let y;t[8]!==g||t[9]!==h?(y=h&&(0,G.jsx)(te,{error:g instanceof Error?g:void 0,msg:`Container instance action failed.`}),t[8]=g,t[9]=h,t[10]=y):y=t[10];let b;t[11]===i?b=t[12]:(b=i.length===0?(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`No container instances found.`}):(0,G.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,G.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,G.jsx)(`thead`,{children:(0,G.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`EC2 Instance`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Running`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Pending`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,G.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,G.jsx)(`tbody`,{children:i.map(e=>{let t=e.containerInstanceArn??``,n=e.status===`DRAINING`;return(0,G.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,G.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.ec2InstanceId}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:(0,G.jsx)(B,{state:e.status})}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.runningTasksCount??0}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.pendingTasksCount??0}),(0,G.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,G.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,G.jsx)(u,{"aria-label":n?`Activate container instance`:`Drain container instance`,onClick:()=>l({arn:t,action:n?`activate`:`drain`}),size:`sm`,variant:`outline`,children:n?`Activate`:`Drain`}),(0,G.jsx)(u,{onClick:()=>l({arn:t,action:`deregister`}),size:`sm`,variant:`destructive`,children:`Deregister`})]})})]},t)})})]})}),t[11]=i,t[12]=b);let x;t[13]!==n||t[14]!==d?(x=(0,G.jsx)(q,{clusterName:n,onOpenChange:f,open:d}),t[13]=n,t[14]=d,t[15]=x):x=t[15];let S=c?J[c.action]:`Confirm`,C=c?Y[c.action]:``,w;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(w=e=>!e&&l(null),t[16]=w):w=t[16];let T=c!==null,E;t[17]!==m||t[18]!==_||t[19]!==T||t[20]!==S||t[21]!==C?(E=(0,G.jsx)(L,{confirmLabel:S,description:C,isPending:_,onConfirm:m,onOpenChange:w,open:T,title:`Container instance`}),t[17]=m,t[18]=_,t[19]=T,t[20]=S,t[21]=C,t[22]=E):E=t[22];let O;return t[23]!==E||t[24]!==y||t[25]!==b||t[26]!==x?(O=(0,G.jsxs)(G.Fragment,{children:[v,y,b,x,E]}),t[23]=E,t[24]=y,t[25]=b,t[26]=x,t[27]=O):O=t[27],O}function X(e){if(!e)return``;let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)}function ae(e){let t=(0,U.c)(13),{clusterName:n}=e,r;t[0]===n?r=t[1]:(r=E(n),t[0]=n,t[1]=r);let{data:i}=a(r),s;t[2]===n?s=t[3]:(s={cluster:n},t[2]=n,t[3]=s);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,G.jsx)(u,{size:`sm`,children:`Create service`}),t[4]=c):c=t[4];let l;t[5]===s?l=t[6]:(l=(0,G.jsx)(`div`,{className:`mb-4 flex justify-end`,children:(0,G.jsx)(o,{search:s,to:`/ecs/create-service`,children:c})}),t[5]=s,t[6]=l);let d;t[7]!==n||t[8]!==i?(d=i.length===0?(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`No services found.`}):(0,G.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,G.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,G.jsx)(`thead`,{children:(0,G.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Name`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Desired`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Running`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Pending`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Task Definition`})]})}),(0,G.jsx)(`tbody`,{children:i.map(e=>(0,G.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,G.jsx)(`td`,{className:`px-4 py-2 font-medium`,children:(0,G.jsx)(o,{className:`underline`,params:{clusterName:n,serviceName:e.serviceName??``},to:`/ecs/list-clusters/$clusterName/services/$serviceName`,children:e.serviceName})}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:(0,G.jsx)(B,{state:e.status})}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.desiredCount??0}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.runningCount??0}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.pendingCount??0}),(0,G.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:X(e.taskDefinition)})]},e.serviceArn??e.serviceName))})]})}),t[7]=n,t[8]=i,t[9]=d):d=t[9];let f;return t[10]!==l||t[11]!==d?(f=(0,G.jsxs)(G.Fragment,{children:[l,d]}),t[10]=l,t[11]=d,t[12]=f):f=t[12],f}function Z(e){if(!e)return``;let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)}function oe(e){let t=(0,U.c)(27),{clusterName:n}=e,r;t[0]===n?r=t[1]:(r=O(n),t[0]=n,t[1]=r);let{data:i}=a(r),s=A(),[c,l]=(0,W.useState)(null),d;t[2]!==n||t[3]!==c||t[4]!==s?(d=function(){c&&s.mutate({cluster:n,task:c},{onSuccess:()=>l(null)})},t[2]=n,t[3]=c,t[4]=s,t[5]=d):d=t[5];let f=d,p;t[6]===n?p=t[7]:(p={cluster:n},t[6]=n,t[7]=p);let m;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,G.jsx)(u,{size:`sm`,children:`Run task`}),t[8]=m):m=t[8];let h;t[9]===p?h=t[10]:(h=(0,G.jsx)(`div`,{className:`mb-4 flex justify-end`,children:(0,G.jsx)(o,{search:p,to:`/ecs/run-task`,children:m})}),t[9]=p,t[10]=h);let g;t[11]!==s.error||t[12]!==s.isError?(g=s.isError&&(0,G.jsx)(te,{error:s.error instanceof Error?s.error:void 0,msg:`Failed to stop task.`}),t[11]=s.error,t[12]=s.isError,t[13]=g):g=t[13];let _;t[14]!==n||t[15]!==i?(_=i.length===0?(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`No tasks found.`}):(0,G.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,G.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,G.jsx)(`thead`,{children:(0,G.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Task`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Last Status`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Desired Status`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Group`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,G.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,G.jsx)(`tbody`,{children:i.map(e=>{let t=Z(e.taskArn),r=e.lastStatus!==`STOPPED`;return(0,G.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,G.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:(0,G.jsx)(o,{className:`underline`,params:{clusterName:n,taskId:t},to:`/ecs/list-clusters/$clusterName/tasks/$taskId`,children:t})}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:(0,G.jsx)(B,{state:e.lastStatus})}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.desiredStatus}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.group}),(0,G.jsx)(`td`,{className:`px-4 py-2 text-right`,children:r&&(0,G.jsx)(u,{onClick:()=>l(e.taskArn??t),size:`sm`,variant:`destructive`,children:`Stop`})})]},t)})})]})}),t[14]=n,t[15]=i,t[16]=_):_=t[16];let v;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(v=e=>!e&&l(null),t[17]=v):v=t[17];let y=c!==null,b;t[18]!==f||t[19]!==s.isPending||t[20]!==y?(b=(0,G.jsx)(L,{confirmLabel:`Stop task`,description:`This stops the task and releases its ENI and reserved capacity.`,isPending:s.isPending,onConfirm:f,onOpenChange:v,open:y,pendingLabel:`Stopping…`,title:`Stop task`}),t[18]=f,t[19]=s.isPending,t[20]=y,t[21]=b):b=t[21];let x;return t[22]!==b||t[23]!==h||t[24]!==g||t[25]!==_?(x=(0,G.jsxs)(G.Fragment,{children:[h,g,_,b]}),t[22]=b,t[23]=h,t[24]=g,t[25]=_,t[26]=x):x=t[26],x}function Q(e){let t=(0,U.c)(70),{clusterName:n}=e,r=s(),[i,o]=(0,W.useState)(!1),d;t[0]===n?d=t[1]:(d=ee(n),t[0]=n,t[1]=d);let{data:f}=a(d),p=M(),m;t[2]!==n||t[3]!==p||t[4]!==r?(m=function(){p.mutate(n,{onSuccess:()=>{r({to:`/ecs/list-clusters`})}})},t[2]=n,t[3]=p,t[4]=r,t[5]=m):m=t[5];let h=m;if(!f){let e;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,G.jsx)(c,{to:`/ecs/list-clusters`,children:`Clusters`}),t[6]=e):e=t[6];let r;t[7]===n?r=t[8]:(r=(0,G.jsx)(F,{subtitle:`Cluster Details`,title:n}),t[7]=n,t[8]=r);let i;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`Cluster not found.`}),t[9]=i):i=t[9];let a;return t[10]===r?a=t[11]:(a=(0,G.jsxs)(G.Fragment,{children:[e,r,i]}),t[10]=r,t[11]=a),a}let g;t[12]===f.tags?g=t[13]:(g=f.tags??[],t[12]=f.tags,t[13]=g);let _=g,v;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,G.jsx)(c,{to:`/ecs/list-clusters`,children:`Clusters`}),t[14]=v):v=t[14];let y;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>o(!0),t[15]=y):y=t[15];let b;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,G.jsxs)(u,{onClick:y,size:`sm`,variant:`destructive`,children:[(0,G.jsx)(l,{className:`size-4`}),`Delete`]}),t[16]=b):b=t[16];let x;t[17]===f.status?x=t[18]:(x=(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[b,(0,G.jsx)(B,{state:f.status})]}),t[17]=f.status,t[18]=x);let S;t[19]!==n||t[20]!==x?(S=(0,G.jsx)(F,{actions:x,subtitle:`Cluster Details`,title:n}),t[19]=n,t[20]=x,t[21]=S):S=t[21];let C;t[22]!==p.error||t[23]!==p.isError?(C=p.isError&&(0,G.jsx)(te,{error:p.error instanceof Error?p.error:void 0,msg:`Failed to delete cluster.`}),t[22]=p.error,t[23]=p.isError,t[24]=C):C=t[24];let w;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,G.jsx)(R.Header,{children:`Overview`}),t[25]=w):w=t[25];let T;t[26]===f.clusterArn?T=t[27]:(T=(0,G.jsx)(z,{label:`ARN`,value:f.clusterArn}),t[26]=f.clusterArn,t[27]=T);let E;t[28]===f.status?E=t[29]:(E=(0,G.jsx)(z,{label:`Status`,value:f.status}),t[28]=f.status,t[29]=E);let D=String(f.activeServicesCount??0),O;t[30]===D?O=t[31]:(O=(0,G.jsx)(z,{label:`Active services`,value:D}),t[30]=D,t[31]=O);let k=String(f.runningTasksCount??0),A;t[32]===k?A=t[33]:(A=(0,G.jsx)(z,{label:`Running tasks`,value:k}),t[32]=k,t[33]=A);let j=String(f.pendingTasksCount??0),N;t[34]===j?N=t[35]:(N=(0,G.jsx)(z,{label:`Pending tasks`,value:j}),t[34]=j,t[35]=N);let P=String(f.registeredContainerInstancesCount??0),I;t[36]===P?I=t[37]:(I=(0,G.jsx)(z,{label:`Registered instances`,value:P}),t[36]=P,t[37]=I);let K;t[38]!==T||t[39]!==E||t[40]!==O||t[41]!==A||t[42]!==N||t[43]!==I?(K=(0,G.jsxs)(R,{children:[w,(0,G.jsxs)(R.Content,{children:[T,E,O,A,N,I]})]}),t[38]=T,t[39]=E,t[40]=O,t[41]=A,t[42]=N,t[43]=I,t[44]=K):K=t[44];let q;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,G.jsxs)(ne,{children:[(0,G.jsx)(V,{value:`services`,children:`Services`}),(0,G.jsx)(V,{value:`tasks`,children:`Tasks`}),(0,G.jsx)(V,{value:`infrastructure`,children:`Infrastructure`}),(0,G.jsx)(V,{value:`tags`,children:`Tags`})]}),t[45]=q):q=t[45];let J;t[46]===n?J=t[47]:(J=(0,G.jsx)(H,{value:`services`,children:(0,G.jsx)(ae,{clusterName:n})}),t[46]=n,t[47]=J);let Y;t[48]===n?Y=t[49]:(Y=(0,G.jsx)(H,{value:`tasks`,children:(0,G.jsx)(oe,{clusterName:n})}),t[48]=n,t[49]=Y);let X;t[50]===n?X=t[51]:(X=(0,G.jsx)(H,{value:`infrastructure`,children:(0,G.jsx)(ie,{clusterName:n})}),t[50]=n,t[51]=X);let Z;t[52]===_?Z=t[53]:(Z=(0,G.jsx)(H,{value:`tags`,children:_.length===0?(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`No tags.`}):(0,G.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,G.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,G.jsx)(`thead`,{children:(0,G.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Key`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Value`})]})}),(0,G.jsx)(`tbody`,{children:_.map(se)})]})})}),t[52]=_,t[53]=Z);let Q;t[54]!==J||t[55]!==Y||t[56]!==X||t[57]!==Z?(Q=(0,G.jsxs)(re,{className:`mt-6`,defaultValue:`services`,children:[q,J,Y,X,Z]}),t[54]=J,t[55]=Y,t[56]=X,t[57]=Z,t[58]=Q):Q=t[58];let ce=`This permanently deletes cluster "${n}" and force-stops every task it holds. This cannot be undone.`,$;t[59]!==p.isPending||t[60]!==h||t[61]!==i||t[62]!==ce?($=(0,G.jsx)(L,{description:ce,isPending:p.isPending,onConfirm:h,onOpenChange:o,open:i,title:`Delete cluster`}),t[59]=p.isPending,t[60]=h,t[61]=i,t[62]=ce,t[63]=$):$=t[63];let le;return t[64]!==K||t[65]!==Q||t[66]!==$||t[67]!==S||t[68]!==C?(le=(0,G.jsxs)(G.Fragment,{children:[v,S,C,K,Q,$]}),t[64]=K,t[65]=Q,t[66]=$,t[67]=S,t[68]=C,t[69]=le):le=t[69],le}function se(e){return(0,G.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,G.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.key}),(0,G.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.value})]},e.key)}function ce(){let e=(0,U.c)(2),{clusterName:t}=I.useParams(),n;return e[0]===t?n=e[1]:(n=(0,G.jsx)(Q,{clusterName:t}),e[0]=t,e[1]=n),n}export{ce 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"./useSuspenseQuery.js";import{t as o}from"./link.js";import{t as s}from"./useNavigate.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{t as d}from"./input.js";import{a as f,t as p}from"./field.js";import{a as m,i as h,l as g,n as _,o as v,r as y,s as b,t as x}from"./alert-dialog.js";import{O as S,c as C,p as w,w as T}from"./ec2.js";import{i as E,r as D,s as O,t as ee}from"./ecs.js";import{i as k,l as A,o as j,r as M,u as N}from"./ecs2.js";import{t as te}from"./error-banner.js";import{t as P}from"./gpu-instance-type-select.js";import{t as F}from"./page-heading.js";import{t as I}from"./_clusterName2.js";import{t as L}from"./delete-confirmation-dialog.js";import{n as R,t as z}from"./detail-row.js";import{t as B}from"./state-badge.js";import{i as V,n as ne,r as H,t as re}from"./tabs.js";var U=r(),W=e(n(),1),G=t(),K=`h-7 w-full rounded-md border border-input bg-input/20 px-2 text-sm`;function q({clusterName:e,open:t,onOpenChange:n}){let r=j(),{data:a}=i(S),{data:o}=i(T),{data:s}=i(w),{data:c}=i(C),l=a?.Subnets??[],u=o?.SecurityGroups??[],E=s?.KeyPairs??[],D=c?.InstanceTypes??[],[O,ee]=(0,W.useState)(`t3.small`),[k,A]=(0,W.useState)(1),[M,N]=(0,W.useState)(``),[F,I]=(0,W.useState)(``),[L,R]=(0,W.useState)(``);function z(e){e||(ee(`t3.small`),A(1),N(``),I(``),R(``),r.reset()),n(e)}async function B(){try{await r.mutateAsync({Cluster:e,InstanceType:O||void 0,Count:k,SubnetID:M,SecurityGroupID:F,KeyName:L||void 0}),z(!1)}catch{}}let V=r.isPending||M===``||F===``;return(0,G.jsx)(x,{onOpenChange:z,open:t,children:(0,G.jsxs)(h,{className:`max-h-[85vh] overflow-y-auto`,children:[(0,G.jsxs)(b,{children:[(0,G.jsx)(g,{children:`Provision EC2 capacity`}),(0,G.jsxs)(m,{children:[`Launch container instances into cluster “`,e,`”. They register automatically once booted.`]})]}),(0,G.jsxs)(`div`,{className:`space-y-4`,children:[(0,G.jsxs)(p,{children:[(0,G.jsx)(f,{children:(0,G.jsx)(`label`,{htmlFor:`provision-instance-type`,children:`Instance type`})}),(0,G.jsx)(P,{id:`provision-instance-type`,instanceTypes:D,onValueChange:ee,value:O})]}),(0,G.jsxs)(p,{children:[(0,G.jsx)(f,{children:(0,G.jsx)(`label`,{htmlFor:`provision-count`,children:`Count`})}),(0,G.jsx)(d,{id:`provision-count`,max:10,min:1,onChange:e=>A(Number(e.target.value)),type:`number`,value:k})]}),(0,G.jsxs)(p,{children:[(0,G.jsx)(f,{children:(0,G.jsx)(`label`,{htmlFor:`provision-subnet`,children:`Subnet`})}),(0,G.jsxs)(`select`,{className:K,id:`provision-subnet`,onChange:e=>N(e.target.value),value:M,children:[(0,G.jsx)(`option`,{value:``,children:`Select a subnet`}),l.map(e=>(0,G.jsxs)(`option`,{value:e.SubnetId??``,children:[e.SubnetId,` (`,e.CidrBlock,e.AvailabilityZone?`, ${e.AvailabilityZone}`:``,`)`]},e.SubnetId))]})]}),(0,G.jsxs)(p,{children:[(0,G.jsx)(f,{children:(0,G.jsx)(`label`,{htmlFor:`provision-sg`,children:`Security group`})}),(0,G.jsxs)(`select`,{className:K,id:`provision-sg`,onChange:e=>I(e.target.value),value:F,children:[(0,G.jsx)(`option`,{value:``,children:`Select a security group`}),u.map(e=>(0,G.jsxs)(`option`,{value:e.GroupId??``,children:[e.GroupId,` (`,e.GroupName,`)`]},e.GroupId))]})]}),(0,G.jsxs)(p,{children:[(0,G.jsx)(f,{children:(0,G.jsx)(`label`,{htmlFor:`provision-key`,children:`Key pair`})}),(0,G.jsxs)(`select`,{className:K,id:`provision-key`,onChange:e=>R(e.target.value),value:L,children:[(0,G.jsx)(`option`,{value:``,children:`None`}),E.map(e=>(0,G.jsx)(`option`,{value:e.KeyName??``,children:e.KeyName},e.KeyPairId))]})]})]}),r.error&&(0,G.jsx)(te,{error:r.error instanceof Error?r.error:void 0,msg:`Failed to provision capacity.`}),(0,G.jsxs)(v,{children:[(0,G.jsx)(y,{children:`Cancel`}),(0,G.jsx)(_,{disabled:V,onClick:e=>{e.preventDefault(),B()},children:r.isPending?`Provisioning…`:`Provision`})]})]})})}var J={drain:`Drain`,activate:`Activate`,deregister:`Deregister`},Y={drain:`Draining force-stops the service-owned tasks on this instance so it can be retired.`,activate:`This returns the instance to ACTIVE so the scheduler can place tasks on it again.`,deregister:`This force-removes the container instance record. Any tasks it still holds are stopped.`};function ie(e){let t=(0,U.c)(28),{clusterName:n}=e,r;t[0]===n?r=t[1]:(r=D(n),t[0]=n,t[1]=r);let{data:i}=a(r),o=N(),s=k(),[c,l]=(0,W.useState)(null),[d,f]=(0,W.useState)(!1),p;t[2]!==n||t[3]!==s||t[4]!==c||t[5]!==o?(p=function(){if(!c)return;let e=()=>l(null);if(c.action===`deregister`){s.mutate({cluster:n,containerInstance:c.arn},{onSuccess:e});return}o.mutate({cluster:n,containerInstance:c.arn,status:c.action===`drain`?`DRAINING`:`ACTIVE`},{onSuccess:e})},t[2]=n,t[3]=s,t[4]=c,t[5]=o,t[6]=p):p=t[6];let m=p,h=o.isError||s.isError,g=o.error??s.error,_=o.isPending||s.isPending,v;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,G.jsx)(`div`,{className:`mb-4 flex justify-end`,children:(0,G.jsx)(u,{onClick:()=>f(!0),size:`sm`,children:`Provision EC2 capacity`})}),t[7]=v):v=t[7];let y;t[8]!==g||t[9]!==h?(y=h&&(0,G.jsx)(te,{error:g instanceof Error?g:void 0,msg:`Container instance action failed.`}),t[8]=g,t[9]=h,t[10]=y):y=t[10];let b;t[11]===i?b=t[12]:(b=i.length===0?(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`No container instances found.`}):(0,G.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,G.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,G.jsx)(`thead`,{children:(0,G.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`EC2 Instance`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Running`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Pending`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,G.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,G.jsx)(`tbody`,{children:i.map(e=>{let t=e.containerInstanceArn??``,n=e.status===`DRAINING`;return(0,G.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,G.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.ec2InstanceId}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:(0,G.jsx)(B,{state:e.status})}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.runningTasksCount??0}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.pendingTasksCount??0}),(0,G.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,G.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,G.jsx)(u,{"aria-label":n?`Activate container instance`:`Drain container instance`,onClick:()=>l({arn:t,action:n?`activate`:`drain`}),size:`sm`,variant:`outline`,children:n?`Activate`:`Drain`}),(0,G.jsx)(u,{onClick:()=>l({arn:t,action:`deregister`}),size:`sm`,variant:`destructive`,children:`Deregister`})]})})]},t)})})]})}),t[11]=i,t[12]=b);let x;t[13]!==n||t[14]!==d?(x=(0,G.jsx)(q,{clusterName:n,onOpenChange:f,open:d}),t[13]=n,t[14]=d,t[15]=x):x=t[15];let S=c?J[c.action]:`Confirm`,C=c?Y[c.action]:``,w;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(w=e=>!e&&l(null),t[16]=w):w=t[16];let T=c!==null,E;t[17]!==m||t[18]!==_||t[19]!==T||t[20]!==S||t[21]!==C?(E=(0,G.jsx)(L,{confirmLabel:S,description:C,isPending:_,onConfirm:m,onOpenChange:w,open:T,title:`Container instance`}),t[17]=m,t[18]=_,t[19]=T,t[20]=S,t[21]=C,t[22]=E):E=t[22];let O;return t[23]!==E||t[24]!==y||t[25]!==b||t[26]!==x?(O=(0,G.jsxs)(G.Fragment,{children:[v,y,b,x,E]}),t[23]=E,t[24]=y,t[25]=b,t[26]=x,t[27]=O):O=t[27],O}function X(e){if(!e)return``;let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)}function ae(e){let t=(0,U.c)(13),{clusterName:n}=e,r;t[0]===n?r=t[1]:(r=E(n),t[0]=n,t[1]=r);let{data:i}=a(r),s;t[2]===n?s=t[3]:(s={cluster:n},t[2]=n,t[3]=s);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,G.jsx)(u,{size:`sm`,children:`Create service`}),t[4]=c):c=t[4];let l;t[5]===s?l=t[6]:(l=(0,G.jsx)(`div`,{className:`mb-4 flex justify-end`,children:(0,G.jsx)(o,{search:s,to:`/ecs/create-service`,children:c})}),t[5]=s,t[6]=l);let d;t[7]!==n||t[8]!==i?(d=i.length===0?(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`No services found.`}):(0,G.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,G.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,G.jsx)(`thead`,{children:(0,G.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Name`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Desired`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Running`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Pending`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Task Definition`})]})}),(0,G.jsx)(`tbody`,{children:i.map(e=>(0,G.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,G.jsx)(`td`,{className:`px-4 py-2 font-medium`,children:(0,G.jsx)(o,{className:`underline`,params:{clusterName:n,serviceName:e.serviceName??``},to:`/ecs/list-clusters/$clusterName/services/$serviceName`,children:e.serviceName})}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:(0,G.jsx)(B,{state:e.status})}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.desiredCount??0}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.runningCount??0}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.pendingCount??0}),(0,G.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:X(e.taskDefinition)})]},e.serviceArn??e.serviceName))})]})}),t[7]=n,t[8]=i,t[9]=d):d=t[9];let f;return t[10]!==l||t[11]!==d?(f=(0,G.jsxs)(G.Fragment,{children:[l,d]}),t[10]=l,t[11]=d,t[12]=f):f=t[12],f}function Z(e){if(!e)return``;let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)}function oe(e){let t=(0,U.c)(27),{clusterName:n}=e,r;t[0]===n?r=t[1]:(r=O(n),t[0]=n,t[1]=r);let{data:i}=a(r),s=A(),[c,l]=(0,W.useState)(null),d;t[2]!==n||t[3]!==c||t[4]!==s?(d=function(){c&&s.mutate({cluster:n,task:c},{onSuccess:()=>l(null)})},t[2]=n,t[3]=c,t[4]=s,t[5]=d):d=t[5];let f=d,p;t[6]===n?p=t[7]:(p={cluster:n},t[6]=n,t[7]=p);let m;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,G.jsx)(u,{size:`sm`,children:`Run task`}),t[8]=m):m=t[8];let h;t[9]===p?h=t[10]:(h=(0,G.jsx)(`div`,{className:`mb-4 flex justify-end`,children:(0,G.jsx)(o,{search:p,to:`/ecs/run-task`,children:m})}),t[9]=p,t[10]=h);let g;t[11]!==s.error||t[12]!==s.isError?(g=s.isError&&(0,G.jsx)(te,{error:s.error instanceof Error?s.error:void 0,msg:`Failed to stop task.`}),t[11]=s.error,t[12]=s.isError,t[13]=g):g=t[13];let _;t[14]!==n||t[15]!==i?(_=i.length===0?(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`No tasks found.`}):(0,G.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,G.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,G.jsx)(`thead`,{children:(0,G.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Task`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Last Status`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Desired Status`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Group`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,G.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,G.jsx)(`tbody`,{children:i.map(e=>{let t=Z(e.taskArn),r=e.lastStatus!==`STOPPED`;return(0,G.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,G.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:(0,G.jsx)(o,{className:`underline`,params:{clusterName:n,taskId:t},to:`/ecs/list-clusters/$clusterName/tasks/$taskId`,children:t})}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:(0,G.jsx)(B,{state:e.lastStatus})}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.desiredStatus}),(0,G.jsx)(`td`,{className:`px-4 py-2`,children:e.group}),(0,G.jsx)(`td`,{className:`px-4 py-2 text-right`,children:r&&(0,G.jsx)(u,{onClick:()=>l(e.taskArn??t),size:`sm`,variant:`destructive`,children:`Stop`})})]},t)})})]})}),t[14]=n,t[15]=i,t[16]=_):_=t[16];let v;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(v=e=>!e&&l(null),t[17]=v):v=t[17];let y=c!==null,b;t[18]!==f||t[19]!==s.isPending||t[20]!==y?(b=(0,G.jsx)(L,{confirmLabel:`Stop task`,description:`This stops the task and releases its ENI and reserved capacity.`,isPending:s.isPending,onConfirm:f,onOpenChange:v,open:y,pendingLabel:`Stopping…`,title:`Stop task`}),t[18]=f,t[19]=s.isPending,t[20]=y,t[21]=b):b=t[21];let x;return t[22]!==b||t[23]!==h||t[24]!==g||t[25]!==_?(x=(0,G.jsxs)(G.Fragment,{children:[h,g,_,b]}),t[22]=b,t[23]=h,t[24]=g,t[25]=_,t[26]=x):x=t[26],x}function Q(e){let t=(0,U.c)(70),{clusterName:n}=e,r=s(),[i,o]=(0,W.useState)(!1),d;t[0]===n?d=t[1]:(d=ee(n),t[0]=n,t[1]=d);let{data:f}=a(d),p=M(),m;t[2]!==n||t[3]!==p||t[4]!==r?(m=function(){p.mutate(n,{onSuccess:()=>{r({to:`/ecs/list-clusters`})}})},t[2]=n,t[3]=p,t[4]=r,t[5]=m):m=t[5];let h=m;if(!f){let e;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,G.jsx)(c,{to:`/ecs/list-clusters`,children:`Clusters`}),t[6]=e):e=t[6];let r;t[7]===n?r=t[8]:(r=(0,G.jsx)(F,{subtitle:`Cluster Details`,title:n}),t[7]=n,t[8]=r);let i;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`Cluster not found.`}),t[9]=i):i=t[9];let a;return t[10]===r?a=t[11]:(a=(0,G.jsxs)(G.Fragment,{children:[e,r,i]}),t[10]=r,t[11]=a),a}let g;t[12]===f.tags?g=t[13]:(g=f.tags??[],t[12]=f.tags,t[13]=g);let _=g,v;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,G.jsx)(c,{to:`/ecs/list-clusters`,children:`Clusters`}),t[14]=v):v=t[14];let y;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>o(!0),t[15]=y):y=t[15];let b;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,G.jsxs)(u,{onClick:y,size:`sm`,variant:`destructive`,children:[(0,G.jsx)(l,{className:`size-4`}),`Delete`]}),t[16]=b):b=t[16];let x;t[17]===f.status?x=t[18]:(x=(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[b,(0,G.jsx)(B,{state:f.status})]}),t[17]=f.status,t[18]=x);let S;t[19]!==n||t[20]!==x?(S=(0,G.jsx)(F,{actions:x,subtitle:`Cluster Details`,title:n}),t[19]=n,t[20]=x,t[21]=S):S=t[21];let C;t[22]!==p.error||t[23]!==p.isError?(C=p.isError&&(0,G.jsx)(te,{error:p.error instanceof Error?p.error:void 0,msg:`Failed to delete cluster.`}),t[22]=p.error,t[23]=p.isError,t[24]=C):C=t[24];let w;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,G.jsx)(R.Header,{children:`Overview`}),t[25]=w):w=t[25];let T;t[26]===f.clusterArn?T=t[27]:(T=(0,G.jsx)(z,{label:`ARN`,value:f.clusterArn}),t[26]=f.clusterArn,t[27]=T);let E;t[28]===f.status?E=t[29]:(E=(0,G.jsx)(z,{label:`Status`,value:f.status}),t[28]=f.status,t[29]=E);let D=String(f.activeServicesCount??0),O;t[30]===D?O=t[31]:(O=(0,G.jsx)(z,{label:`Active services`,value:D}),t[30]=D,t[31]=O);let k=String(f.runningTasksCount??0),A;t[32]===k?A=t[33]:(A=(0,G.jsx)(z,{label:`Running tasks`,value:k}),t[32]=k,t[33]=A);let j=String(f.pendingTasksCount??0),N;t[34]===j?N=t[35]:(N=(0,G.jsx)(z,{label:`Pending tasks`,value:j}),t[34]=j,t[35]=N);let P=String(f.registeredContainerInstancesCount??0),I;t[36]===P?I=t[37]:(I=(0,G.jsx)(z,{label:`Registered instances`,value:P}),t[36]=P,t[37]=I);let K;t[38]!==T||t[39]!==E||t[40]!==O||t[41]!==A||t[42]!==N||t[43]!==I?(K=(0,G.jsxs)(R,{children:[w,(0,G.jsxs)(R.Content,{children:[T,E,O,A,N,I]})]}),t[38]=T,t[39]=E,t[40]=O,t[41]=A,t[42]=N,t[43]=I,t[44]=K):K=t[44];let q;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,G.jsxs)(ne,{children:[(0,G.jsx)(V,{value:`services`,children:`Services`}),(0,G.jsx)(V,{value:`tasks`,children:`Tasks`}),(0,G.jsx)(V,{value:`infrastructure`,children:`Infrastructure`}),(0,G.jsx)(V,{value:`tags`,children:`Tags`})]}),t[45]=q):q=t[45];let J;t[46]===n?J=t[47]:(J=(0,G.jsx)(H,{value:`services`,children:(0,G.jsx)(ae,{clusterName:n})}),t[46]=n,t[47]=J);let Y;t[48]===n?Y=t[49]:(Y=(0,G.jsx)(H,{value:`tasks`,children:(0,G.jsx)(oe,{clusterName:n})}),t[48]=n,t[49]=Y);let X;t[50]===n?X=t[51]:(X=(0,G.jsx)(H,{value:`infrastructure`,children:(0,G.jsx)(ie,{clusterName:n})}),t[50]=n,t[51]=X);let Z;t[52]===_?Z=t[53]:(Z=(0,G.jsx)(H,{value:`tags`,children:_.length===0?(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`No tags.`}):(0,G.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,G.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,G.jsx)(`thead`,{children:(0,G.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Key`}),(0,G.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Value`})]})}),(0,G.jsx)(`tbody`,{children:_.map(se)})]})})}),t[52]=_,t[53]=Z);let Q;t[54]!==J||t[55]!==Y||t[56]!==X||t[57]!==Z?(Q=(0,G.jsxs)(re,{className:`mt-6`,defaultValue:`services`,children:[q,J,Y,X,Z]}),t[54]=J,t[55]=Y,t[56]=X,t[57]=Z,t[58]=Q):Q=t[58];let ce=`This permanently deletes cluster "${n}" and force-stops every task it holds. This cannot be undone.`,$;t[59]!==p.isPending||t[60]!==h||t[61]!==i||t[62]!==ce?($=(0,G.jsx)(L,{description:ce,isPending:p.isPending,onConfirm:h,onOpenChange:o,open:i,title:`Delete cluster`}),t[59]=p.isPending,t[60]=h,t[61]=i,t[62]=ce,t[63]=$):$=t[63];let le;return t[64]!==K||t[65]!==Q||t[66]!==$||t[67]!==S||t[68]!==C?(le=(0,G.jsxs)(G.Fragment,{children:[v,S,C,K,Q,$]}),t[64]=K,t[65]=Q,t[66]=$,t[67]=S,t[68]=C,t[69]=le):le=t[69],le}function se(e){return(0,G.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,G.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.key}),(0,G.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.value})]},e.key)}function ce(){let e=(0,U.c)(2),{clusterName:t}=I.useParams(),n;return e[0]===t?n=e[1]:(n=(0,G.jsx)(Q,{clusterName:t}),e[0]=t,e[1]=n),n}export{ce as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_clusterName4.js b/spinifex/services/spinifexui/frontend/dist/assets/_clusterName4.js index 573790fc5..347236b7f 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_clusterName4.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_clusterName4.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"./useQuery.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./link.js";import{t as s}from"./useNavigate.js";import{Qt as c,t as l}from"./cluster-config.js";import{t as u}from"./createLucideIcon.js";import{t as d}from"./back-link.js";import{t as f}from"./circle-arrow-up.js";import{t as p}from"./cli-command-panel.js";import{t as m}from"./trash-2.js";import{t as h}from"./triangle-alert.js";import{t as g}from"./button.js";import{t as _}from"./input.js";import{a as v,n as y,r as b,t as x}from"./field.js";import{i as S,l as C,n as w,o as T,r as E,s as D,t as O}from"./alert-dialog.js";import{O as k,c as A}from"./ec2.js";import{C as j,S as M,T as N,_ as P,b as F,c as I,f as L,h as R,i as z,l as B,m as V,n as H,p as U,r as W,s as ee,u as G,v as K,w as q,x as te,y as ne}from"./eks.js";import{a as J,i as Y,l as re,n as ie,o as ae,r as oe,s as se,t as ce,u as le}from"./eks2.js";import{y as ue}from"./iam2.js";import{a as de,i as fe,n as pe,t as me}from"./zod.js";import{t as he}from"./error-banner.js";import{n as ge,t as _e}from"./gpu-instance-type-select.js";import{t as ve}from"./page-heading.js";import{t as ye}from"./_clusterName2.js";import{t as be}from"./delete-confirmation-dialog.js";import{n as X,t as Z}from"./detail-row.js";import{t as xe}from"./badge.js";import{i as Se,n as Ce,r as we,t as Te}from"./tabs.js";import{t as Ee}from"./json-editor.js";var De=u(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),Oe=r(),Q=e(n(),1),$=t();function ke(e){return e?.split(`/`).pop()??e??``}function Ae(e){let t=(0,Oe.c)(55),{clusterName:n,principalArn:r,onDelete:a}=e,o;t[0]!==n||t[1]!==r?(o=ie(n,r),t[0]=n,t[1]=r,t[2]=o):o=t[2];let{data:s}=i(o),c;t[3]!==n||t[4]!==r?(c=ae(n,r),t[3]=n,t[4]=r,t[5]=c):c=t[5];let{data:l}=i(c),u=U(),d=M(),[f,p]=(0,Q.useState)(H[0].arn),h=s?.accessEntry,_;t[6]===l?.associatedAccessPolicies?_=t[7]:(_=l?.associatedAccessPolicies??[],t[6]=l?.associatedAccessPolicies,t[7]=_);let v=_,y;t[8]===r?y=t[9]:(y=(0,$.jsx)(`span`,{className:`truncate font-mono text-xs`,children:r}),t[8]=r,t[9]=y);let b;t[10]!==a||t[11]!==r?(b=()=>a(r),t[10]=a,t[11]=r,t[12]=b):b=t[12];let x;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(m,{className:`size-4`}),t[13]=x):x=t[13];let S;t[14]===b?S=t[15]:(S=(0,$.jsx)(g,{onClick:b,size:`icon`,variant:`ghost`,children:x}),t[14]=b,t[15]=S);let C;t[16]!==y||t[17]!==S?(C=(0,$.jsx)(X.Header,{children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[y,S]})}),t[16]=y,t[17]=S,t[18]=C):C=t[18];let w=h?.type,T;t[19]===w?T=t[20]:(T=(0,$.jsx)(Z,{label:`Type`,value:w}),t[19]=w,t[20]=T);let E;t[21]===h?E=t[22]:(E=h?.kubernetesGroups?.length?h.kubernetesGroups.join(`, `):`—`,t[21]=h,t[22]=E);let D;t[23]===E?D=t[24]:(D=(0,$.jsx)(Z,{label:`Kubernetes groups`,value:E}),t[23]=E,t[24]=D);let O;t[25]!==v||t[26]!==n||t[27]!==d||t[28]!==r?(O=v.length>0?(0,$.jsx)(`div`,{className:`space-y-1`,children:v.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{children:ke(e.policyArn)}),(0,$.jsx)(g,{onClick:()=>d.mutate({clusterName:n,principalArn:r,policyArn:e.policyArn??``}),size:`sm`,variant:`ghost`,children:`Remove`})]},e.policyArn))}):`—`,t[25]=v,t[26]=n,t[27]=d,t[28]=r,t[29]=O):O=t[29];let k;t[30]===O?k=t[31]:(k=(0,$.jsx)(Z,{label:`Access policies`,value:O}),t[30]=O,t[31]=k);let A;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(A=e=>p(e.target.value),t[32]=A):A=t[32];let j;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(j=H.map(je),t[33]=j):j=t[33];let N;t[34]===f?N=t[35]:(N=(0,$.jsx)(`select`,{"aria-label":`Access policy`,className:`h-7 flex-1 rounded-md border border-input bg-input/20 px-2 text-sm`,onChange:A,value:f,children:j}),t[34]=f,t[35]=N);let P;t[36]!==u||t[37]!==n||t[38]!==f||t[39]!==r?(P=()=>u.mutate({clusterName:n,principalArn:r,policyArn:f,accessScopeType:`cluster`}),t[36]=u,t[37]=n,t[38]=f,t[39]=r,t[40]=P):P=t[40];let F;t[41]!==u.isPending||t[42]!==P?(F=(0,$.jsx)(g,{disabled:u.isPending,onClick:P,size:`sm`,children:`Associate`}),t[41]=u.isPending,t[42]=P,t[43]=F):F=t[43];let I;t[44]!==N||t[45]!==F?(I=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 pt-2`,children:[N,F]}),t[44]=N,t[45]=F,t[46]=I):I=t[46];let L;t[47]!==T||t[48]!==D||t[49]!==k||t[50]!==I?(L=(0,$.jsxs)(X.Content,{children:[T,D,k,I]}),t[47]=T,t[48]=D,t[49]=k,t[50]=I,t[51]=L):L=t[51];let R;return t[52]!==L||t[53]!==C?(R=(0,$.jsxs)(X,{children:[C,L]}),t[52]=L,t[53]=C,t[54]=R):R=t[54],R}function je(e){return(0,$.jsx)(`option`,{value:e.arn,children:e.name},e.arn)}function Me(e){let t=(0,Oe.c)(41),{clusterName:n,open:r,onOpenChange:i}=e,a=V(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={resolver:me(B),defaultValues:{principalArn:``,kubernetesGroups:``}},t[0]=o):o=t[0];let{formState:s,handleSubmit:c,register:l,reset:u}=fe(o),{errors:d}=s,f;t[1]!==n||t[2]!==a||t[3]!==i||t[4]!==u?(f=async e=>{await a.mutateAsync({clusterName:n,principalArn:e.principalArn,kubernetesGroups:e.kubernetesGroups.split(`,`).map(Ne).filter(Boolean)}),u(),i(!1)},t[1]=n,t[2]=a,t[3]=i,t[4]=u,t[5]=f):f=t[5];let p=f,m;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(D,{children:(0,$.jsx)(C,{children:`Add access entry`})}),t[6]=m):m=t[6];let h;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`ae-principal`,children:`IAM principal ARN`})}),t[7]=h):h=t[7];let g=!!d.principalArn,y;t[8]===l?y=t[9]:(y=l(`principalArn`),t[8]=l,t[9]=y);let k;t[10]!==g||t[11]!==y?(k=(0,$.jsx)(_,{"aria-invalid":g,id:`ae-principal`,placeholder:`arn:aws:iam::000000000000:role/my-role`,...y}),t[10]=g,t[11]=y,t[12]=k):k=t[12];let A;t[13]===d.principalArn?A=t[14]:(A=(0,$.jsx)(b,{errors:[d.principalArn]}),t[13]=d.principalArn,t[14]=A);let j;t[15]!==k||t[16]!==A?(j=(0,$.jsxs)(x,{children:[h,k,A]}),t[15]=k,t[16]=A,t[17]=j):j=t[17];let M;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`ae-groups`,children:`Kubernetes groups`})}),t[18]=M):M=t[18];let N;t[19]===l?N=t[20]:(N=l(`kubernetesGroups`),t[19]=l,t[20]=N);let P;t[21]===N?P=t[22]:(P=(0,$.jsxs)(x,{children:[M,(0,$.jsx)(_,{id:`ae-groups`,placeholder:`system:masters`,...N})]}),t[21]=N,t[22]=P);let F;t[23]!==j||t[24]!==P?(F=(0,$.jsxs)(`form`,{className:`space-y-4`,id:`add-access-entry-form`,children:[j,P]}),t[23]=j,t[24]=P,t[25]=F):F=t[25];let I;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,$.jsx)(E,{children:`Cancel`}),t[26]=I):I=t[26];let L;t[27]!==c||t[28]!==p?(L=e=>{e.preventDefault(),c(p)()},t[27]=c,t[28]=p,t[29]=L):L=t[29];let R=a.isPending?`Creating…`:`Create`,z;t[30]!==a.isPending||t[31]!==L||t[32]!==R?(z=(0,$.jsxs)(T,{children:[I,(0,$.jsx)(w,{disabled:a.isPending,onClick:L,children:R})]}),t[30]=a.isPending,t[31]=L,t[32]=R,t[33]=z):z=t[33];let H;t[34]!==F||t[35]!==z?(H=(0,$.jsxs)(S,{children:[m,F,z]}),t[34]=F,t[35]=z,t[36]=H):H=t[36];let U;return t[37]!==i||t[38]!==r||t[39]!==H?(U=(0,$.jsx)(O,{onOpenChange:i,open:r,children:H}),t[37]=i,t[38]=r,t[39]=H,t[40]=U):U=t[40],U}function Ne(e){return e.trim()}function Pe(e){let t=(0,Oe.c)(25),{clusterName:n}=e,r;t[0]===n?r=t[1]:(r=ce(n),t[0]=n,t[1]=r);let{data:i}=a(r),o=K(),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(),d;t[2]===i.accessEntries?d=t[3]:(d=i.accessEntries??[],t[2]=i.accessEntries,t[3]=d);let f=d,p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(`div`,{className:`mb-4 flex justify-end`,children:(0,$.jsx)(g,{onClick:()=>c(!0),size:`sm`,children:`Add access entry`})}),t[4]=p):p=t[4];let m;t[5]!==n||t[6]!==f?(m=f.length>0?(0,$.jsx)(`div`,{className:`space-y-4`,children:f.map(e=>(0,$.jsx)(Ae,{clusterName:n,onDelete:u,principalArn:e},e))}):(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`No access entries.`}),t[5]=n,t[6]=f,t[7]=m):m=t[7];let h;t[8]!==n||t[9]!==s?(h=(0,$.jsx)(Me,{clusterName:n,onOpenChange:c,open:s}),t[8]=n,t[9]=s,t[10]=h):h=t[10];let _=`Delete access entry for "${l??``}"?`,v;t[11]!==n||t[12]!==o||t[13]!==l?(v=()=>{l&&o.mutate({clusterName:n,principalArn:l},{onSuccess:()=>u(void 0)})},t[11]=n,t[12]=o,t[13]=l,t[14]=v):v=t[14];let y;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(y=e=>!e&&u(void 0),t[15]=y):y=t[15];let b=l!==void 0,x;t[16]!==o.isPending||t[17]!==_||t[18]!==v||t[19]!==b?(x=(0,$.jsx)(be,{description:_,isPending:o.isPending,onConfirm:v,onOpenChange:y,open:b,title:`Delete access entry`}),t[16]=o.isPending,t[17]=_,t[18]=v,t[19]=b,t[20]=x):x=t[20];let S;return t[21]!==x||t[22]!==m||t[23]!==h?(S=(0,$.jsxs)($.Fragment,{children:[p,m,h,x]}),t[21]=x,t[22]=m,t[23]=h,t[24]=S):S=t[24],S}var Fe=new Set([`CREATING`,`UPDATING`,`DELETING`]),Ie=5e3,Le=`h-7 w-full rounded-md border border-input bg-input/20 px-2 text-sm`;function Re(e){let t=(0,Oe.c)(95),{clusterName:n,catalog:r,installed:i,open:a,onOpenChange:o}=e,s=R(),c;t[0]===i?c=t[1]:(c=e=>!i.includes(e.addonName??``),t[0]=i,t[1]=c);let l=r.filter(c),u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u={resolver:me(G),defaultValues:{addonName:``,addonVersion:``,serviceAccountRoleArn:``,configurationValues:``}},t[2]=u):u=t[2];let{control:d,formState:f,handleSubmit:p,register:m,reset:h,setValue:g}=fe(u),{errors:y}=f,k;t[3]===d?k=t[4]:(k={control:d,name:`addonName`},t[3]=d,t[4]=k);let A=de(k),j;t[5]===d?j=t[6]:(j={control:d,name:`addonVersion`},t[5]=d,t[6]=j);let M=de(j),N;t[7]===A?N=t[8]:(N=e=>e.addonName===A,t[7]=A,t[8]=N);let P=r.find(N)?.addonVersions??[],F;t[9]===M?F=t[10]:(F=e=>e.addonVersion===M,t[9]=M,t[10]=F);let I=P.find(F)?.requiresIamPermissions??!1,L;t[11]!==r||t[12]!==g?(L=e=>{let t=r.find(t=>t.addonName===e)?.addonVersions?.[0]?.addonVersion??``;g(`addonName`,e,{shouldValidate:!0}),g(`addonVersion`,t,{shouldValidate:!0})},t[11]=r,t[12]=g,t[13]=L):L=t[13];let z=L,B;t[14]!==n||t[15]!==s||t[16]!==o||t[17]!==h?(B=async e=>{await s.mutateAsync({clusterName:n,addonName:e.addonName,addonVersion:e.addonVersion||void 0,serviceAccountRoleArn:e.serviceAccountRoleArn.trim()||void 0,configurationValues:e.configurationValues.trim()||void 0}),h(),o(!1)},t[14]=n,t[15]=s,t[16]=o,t[17]=h,t[18]=B):B=t[18];let V=B,H=O,U=S,W;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,$.jsx)(D,{children:(0,$.jsx)(C,{children:`Add add-on`})}),t[19]=W):W=t[19];let ee;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`addon-name`,children:`Add-on`})}),t[20]=ee):ee=t[20];let K=!!y.addonName,q;t[21]===z?q=t[22]:(q=e=>z(e.target.value),t[21]=z,t[22]=q);let te;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,$.jsx)(`option`,{value:``,children:`Select add-on`}),t[23]=te):te=t[23];let ne=l.map(Be),J;t[24]!==A||t[25]!==K||t[26]!==q||t[27]!==ne?(J=(0,$.jsxs)(`select`,{"aria-invalid":K,className:Le,id:`addon-name`,onChange:q,value:A,children:[te,ne]}),t[24]=A,t[25]=K,t[26]=q,t[27]=ne,t[28]=J):J=t[28];let Y;t[29]===y.addonName?Y=t[30]:(Y=(0,$.jsx)(b,{errors:[y.addonName]}),t[29]=y.addonName,t[30]=Y);let re;t[31]!==J||t[32]!==Y?(re=(0,$.jsxs)(x,{children:[ee,J,Y]}),t[31]=J,t[32]=Y,t[33]=re):re=t[33];let ie=x,ae;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`addon-version`,children:`Version`})}),t[34]=ae):ae=t[34];let oe=!!y.addonVersion,se=Le,ce=P.length===0,le;t[35]===g?le=t[36]:(le=e=>g(`addonVersion`,e.target.value,{shouldValidate:!0}),t[35]=g,t[36]=le);let ue=P.map(ze),he;t[37]!==M||t[38]!==oe||t[39]!==se||t[40]!==ce||t[41]!==le||t[42]!==ue?(he=(0,$.jsx)(`select`,{"aria-invalid":oe,className:se,disabled:ce,id:`addon-version`,onChange:le,value:M,children:ue}),t[37]=M,t[38]=oe,t[39]=se,t[40]=ce,t[41]=le,t[42]=ue,t[43]=he):he=t[43];let ge;t[44]===y.addonVersion?ge=t[45]:(ge=(0,$.jsx)(b,{errors:[y.addonVersion]}),t[44]=y.addonVersion,t[45]=ge);let _e;t[46]!==ie||t[47]!==ae||t[48]!==he||t[49]!==ge?(_e=(0,$.jsxs)(ie,{children:[ae,he,ge]}),t[46]=ie,t[47]=ae,t[48]=he,t[49]=ge,t[50]=_e):_e=t[50];let ve;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(ve=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`addon-role`,children:`Service account IAM role ARN`})}),t[51]=ve):ve=t[51];let ye;t[52]===m?ye=t[53]:(ye=m(`serviceAccountRoleArn`),t[52]=m,t[53]=ye);let be;t[54]===ye?be=t[55]:(be=(0,$.jsx)(_,{id:`addon-role`,placeholder:`arn:aws:iam::…:role/…`,...ye}),t[54]=ye,t[55]=be);let X;t[56]===I?X=t[57]:(X=I&&(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`This add-on needs IAM permissions — provide an IRSA role ARN.`}),t[56]=I,t[57]=X);let Z;t[58]!==be||t[59]!==X?(Z=(0,$.jsxs)(x,{children:[ve,be,X]}),t[58]=be,t[59]=X,t[60]=Z):Z=t[60];let xe;t[61]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`addon-config`,children:`Configuration values (JSON)`})}),t[61]=xe):xe=t[61];let Se;t[62]===y.configurationValues?Se=t[63]:(Se=e=>{let{field:t}=e,{onBlur:n,onChange:r,ref:i,value:a}=t;return(0,$.jsx)(Ee,{error:!!y.configurationValues,id:`addon-config`,onBlur:n,onChange:r,placeholder:`{"replicaCount": 2}`,ref:i,rows:4,value:a})},t[62]=y.configurationValues,t[63]=Se);let Ce;t[64]!==d||t[65]!==Se?(Ce=(0,$.jsx)(pe,{control:d,name:`configurationValues`,render:Se}),t[64]=d,t[65]=Se,t[66]=Ce):Ce=t[66];let we;t[67]===y.configurationValues?we=t[68]:(we=(0,$.jsx)(b,{errors:[y.configurationValues]}),t[67]=y.configurationValues,t[68]=we);let Te;t[69]!==Ce||t[70]!==we?(Te=(0,$.jsxs)(x,{children:[xe,Ce,we]}),t[69]=Ce,t[70]=we,t[71]=Te):Te=t[71];let De;t[72]!==re||t[73]!==_e||t[74]!==Z||t[75]!==Te?(De=(0,$.jsxs)(`form`,{className:`space-y-4`,id:`add-addon-form`,children:[re,_e,Z,Te]}),t[72]=re,t[73]=_e,t[74]=Z,t[75]=Te,t[76]=De):De=t[76];let Q;t[77]===Symbol.for(`react.memo_cache_sentinel`)?(Q=(0,$.jsx)(E,{children:`Cancel`}),t[77]=Q):Q=t[77];let ke;t[78]!==p||t[79]!==V?(ke=e=>{e.preventDefault(),p(V)()},t[78]=p,t[79]=V,t[80]=ke):ke=t[80];let Ae=s.isPending?`Adding…`:`Add`,je;t[81]!==s.isPending||t[82]!==ke||t[83]!==Ae?(je=(0,$.jsxs)(T,{children:[Q,(0,$.jsx)(w,{disabled:s.isPending,onClick:ke,children:Ae})]}),t[81]=s.isPending,t[82]=ke,t[83]=Ae,t[84]=je):je=t[84];let Me;t[85]!==U||t[86]!==W||t[87]!==De||t[88]!==je?(Me=(0,$.jsxs)(U,{className:`max-h-[85vh] overflow-y-auto`,children:[W,De,je]}),t[85]=U,t[86]=W,t[87]=De,t[88]=je,t[89]=Me):Me=t[89];let Ne;return t[90]!==H||t[91]!==o||t[92]!==a||t[93]!==Me?(Ne=(0,$.jsx)(H,{onOpenChange:o,open:a,children:Me}),t[90]=H,t[91]=o,t[92]=a,t[93]=Me,t[94]=Ne):Ne=t[94],Ne}function ze(e,t){return(0,$.jsxs)(`option`,{value:e.addonVersion??``,children:[e.addonVersion,t===0?` (latest)`:``]},e.addonVersion)}function Be(e){return(0,$.jsx)(`option`,{value:e.addonName??``,children:e.addonName},e.addonName)}function Ve(e){let t=(0,Oe.c)(48),{clusterName:n,addonName:r,current:i,versions:a,open:o,onOpenChange:s}=e,c=q(),[l,u]=(0,Q.useState)(i.addonVersion??``),[d,f]=(0,Q.useState)(i.serviceAccountRoleArn??``),[p,m]=(0,Q.useState)(i.configurationValues??``),[h,g]=(0,Q.useState)(),[y,b]=(0,Q.useState)(o);o!==y&&(b(o),o&&(u(i.addonVersion??``),f(i.serviceAccountRoleArn??``),m(i.configurationValues??``),g(void 0)));let k;t[0]!==r||t[1]!==n||t[2]!==p||t[3]!==s||t[4]!==d||t[5]!==c||t[6]!==l?(k=()=>{let e=ee.safeParse(p);if(!e.success){g(e.error.issues[0]?.message??`Configuration must be valid JSON`);return}g(void 0),c.mutate({clusterName:n,addonName:r,addonVersion:l||void 0,serviceAccountRoleArn:d.trim()||void 0,configurationValues:p.trim()||void 0},{onSuccess:()=>s(!1)})},t[0]=r,t[1]=n,t[2]=p,t[3]=s,t[4]=d,t[5]=c,t[6]=l,t[7]=k):k=t[7];let A=k,j;t[8]===r?j=t[9]:(j=(0,$.jsx)(D,{children:(0,$.jsxs)(C,{children:[`Update `,r]})}),t[8]=r,t[9]=j);let M;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`update-addon-version`,children:`Version`})}),t[10]=M):M=t[10];let N=a.length===0,P;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(P=e=>u(e.target.value),t[11]=P):P=t[11];let F;t[12]===a?F=t[13]:(F=a.map(He),t[12]=a,t[13]=F);let I;t[14]!==N||t[15]!==F||t[16]!==l?(I=(0,$.jsxs)(x,{children:[M,(0,$.jsx)(`select`,{className:Le,disabled:N,id:`update-addon-version`,onChange:P,value:l,children:F})]}),t[14]=N,t[15]=F,t[16]=l,t[17]=I):I=t[17];let L;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`update-addon-role`,children:`Service account IAM role ARN`})}),t[18]=L):L=t[18];let R;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(R=e=>f(e.target.value),t[19]=R):R=t[19];let z;t[20]===d?z=t[21]:(z=(0,$.jsxs)(x,{children:[L,(0,$.jsx)(_,{id:`update-addon-role`,onChange:R,placeholder:`arn:aws:iam::…:role/…`,value:d})]}),t[20]=d,t[21]=z);let B;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`update-addon-config`,children:`Configuration values (JSON)`})}),t[22]=B):B=t[22];let V=!!h,H;t[23]!==p||t[24]!==V?(H=(0,$.jsxs)(x,{children:[B,(0,$.jsx)(Ee,{error:V,id:`update-addon-config`,onChange:m,rows:4,value:p})]}),t[23]=p,t[24]=V,t[25]=H):H=t[25];let U;t[26]!==z||t[27]!==H||t[28]!==I?(U=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[I,z,H]}),t[26]=z,t[27]=H,t[28]=I,t[29]=U):U=t[29];let W;t[30]===h?W=t[31]:(W=h&&(0,$.jsx)(`p`,{className:`mt-2 text-xs text-destructive`,children:h}),t[30]=h,t[31]=W);let G;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,$.jsx)(E,{children:`Cancel`}),t[32]=G):G=t[32];let K;t[33]===A?K=t[34]:(K=e=>{e.preventDefault(),A()},t[33]=A,t[34]=K);let te=c.isPending?`Updating…`:`Update`,ne;t[35]!==K||t[36]!==te||t[37]!==c.isPending?(ne=(0,$.jsxs)(T,{children:[G,(0,$.jsx)(w,{disabled:c.isPending,onClick:K,children:te})]}),t[35]=K,t[36]=te,t[37]=c.isPending,t[38]=ne):ne=t[38];let J;t[39]!==U||t[40]!==W||t[41]!==ne||t[42]!==j?(J=(0,$.jsxs)(S,{className:`max-h-[85vh] overflow-y-auto`,children:[j,U,W,ne]}),t[39]=U,t[40]=W,t[41]=ne,t[42]=j,t[43]=J):J=t[43];let Y;return t[44]!==s||t[45]!==o||t[46]!==J?(Y=(0,$.jsx)(O,{onOpenChange:s,open:o,children:J}),t[44]=s,t[45]=o,t[46]=J,t[47]=Y):Y=t[47],Y}function He(e){return(0,$.jsx)(`option`,{value:e,children:e},e)}function Ue(e){let t=(0,Oe.c)(53),{clusterName:n,addonName:r,catalog:a,onDelete:o}=e,s;t[0]!==r||t[1]!==n?(s=oe(n,r),t[0]=r,t[1]=n,t[2]=s):s=t[2];let c;t[3]===s?c=t[4]:(c={...s,refetchInterval:Ge},t[3]=s,t[4]=c);let{data:l}=i(c),[u,d]=(0,Q.useState)(!1),p=l?.addon,h=p?.health?.issues?.[0]?.message,_;t[5]!==r||t[6]!==a?(_=a.find(e=>e.addonName===r)?.addonVersions?.map(We).filter(Boolean)??[],t[5]=r,t[6]=a,t[7]=_):_=t[7];let v=_,y;t[8]===r?y=t[9]:(y=(0,$.jsx)(`span`,{children:r}),t[8]=r,t[9]=y);let b=p?.status,x;t[10]===b?x=t[11]:(x=I(b),t[10]=b,t[11]=x);let S=p?.status??`UNKNOWN`,C;t[12]!==x||t[13]!==S?(C=(0,$.jsx)(xe,{variant:x,children:S}),t[12]=x,t[13]=S,t[14]=C):C=t[14];let w;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>d(!0),t[15]=w):w=t[15];let T;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(g,{"aria-label":`Update add-on`,onClick:w,size:`icon`,variant:`ghost`,children:(0,$.jsx)(f,{className:`size-4`})}),t[16]=T):T=t[16];let E;t[17]!==r||t[18]!==o?(E=()=>o(r),t[17]=r,t[18]=o,t[19]=E):E=t[19];let D;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(m,{className:`size-4`}),t[20]=D):D=t[20];let O;t[21]===E?O=t[22]:(O=(0,$.jsx)(g,{"aria-label":`Remove add-on`,onClick:E,size:`icon`,variant:`ghost`,children:D}),t[21]=E,t[22]=O);let k;t[23]!==O||t[24]!==C?(k=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[C,T,O]}),t[23]=O,t[24]=C,t[25]=k):k=t[25];let A;t[26]!==k||t[27]!==y?(A=(0,$.jsx)(X.Header,{children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[y,k]})}),t[26]=k,t[27]=y,t[28]=A):A=t[28];let j=p?.addonVersion,M;t[29]===j?M=t[30]:(M=(0,$.jsx)(Z,{label:`Version`,value:j}),t[29]=j,t[30]=M);let N=p?.serviceAccountRoleArn,P;t[31]===N?P=t[32]:(P=(0,$.jsx)(Z,{label:`IRSA role`,value:N}),t[31]=N,t[32]=P);let F;t[33]===h?F=t[34]:(F=h&&(0,$.jsx)(Z,{label:`Issue`,value:(0,$.jsx)(`span`,{className:`text-destructive`,children:h})}),t[33]=h,t[34]=F);let L;t[35]!==M||t[36]!==P||t[37]!==F?(L=(0,$.jsxs)(X.Content,{children:[M,P,F]}),t[35]=M,t[36]=P,t[37]=F,t[38]=L):L=t[38];let R=p?.addonVersion,z=p?.serviceAccountRoleArn,B=p?.configurationValues,V;t[39]!==R||t[40]!==z||t[41]!==B?(V={addonVersion:R,serviceAccountRoleArn:z,configurationValues:B},t[39]=R,t[40]=z,t[41]=B,t[42]=V):V=t[42];let H;t[43]!==r||t[44]!==n||t[45]!==u||t[46]!==V||t[47]!==v?(H=(0,$.jsx)(Ve,{addonName:r,clusterName:n,current:V,onOpenChange:d,open:u,versions:v}),t[43]=r,t[44]=n,t[45]=u,t[46]=V,t[47]=v,t[48]=H):H=t[48];let U;return t[49]!==A||t[50]!==L||t[51]!==H?(U=(0,$.jsxs)(X,{children:[A,L,H]}),t[49]=A,t[50]=L,t[51]=H,t[52]=U):U=t[52],U}function We(e){return e.addonVersion??``}function Ge(e){return Fe.has(e.state.data?.addon?.status??``)?Ie:!1}function Ke(e){let t=(0,Oe.c)(31),{clusterName:n}=e,r;t[0]===n?r=t[1]:(r=J(n),t[0]=n,t[1]=r);let{data:o}=a(r),{data:s}=i(Y),c=ne(),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(),p;t[2]===o.addons?p=t[3]:(p=o.addons??[],t[2]=o.addons,t[3]=p);let m=p,h;t[4]===s?.addons?h=t[5]:(h=s?.addons??[],t[4]=s?.addons,t[5]=h);let _=h,v;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Add-on manifests are staged; activation completes when the cluster reports the workload ready.`}),t[6]=v):v=t[6];let y;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsxs)(`div`,{className:`mb-4 flex items-center justify-between gap-4`,children:[v,(0,$.jsx)(g,{onClick:()=>u(!0),size:`sm`,children:`Add add-on`})]}),t[7]=y):y=t[7];let b;t[8]!==m||t[9]!==_||t[10]!==n?(b=m.length>0?(0,$.jsx)(`div`,{className:`space-y-4`,children:m.map(e=>(0,$.jsx)(Ue,{addonName:e,catalog:_,clusterName:n,onDelete:f},e))}):(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`No add-ons installed.`}),t[8]=m,t[9]=_,t[10]=n,t[11]=b):b=t[11];let x;t[12]!==m||t[13]!==_||t[14]!==n||t[15]!==l?(x=(0,$.jsx)(Re,{catalog:_,clusterName:n,installed:m,onOpenChange:u,open:l}),t[12]=m,t[13]=_,t[14]=n,t[15]=l,t[16]=x):x=t[16];let S=`Remove add-on "${d??``}" from the cluster?`,C;t[17]!==n||t[18]!==c||t[19]!==d?(C=()=>{d&&c.mutate({clusterName:n,addonName:d},{onSuccess:()=>f(void 0)})},t[17]=n,t[18]=c,t[19]=d,t[20]=C):C=t[20];let w;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(w=e=>!e&&f(void 0),t[21]=w):w=t[21];let T=d!==void 0,E;t[22]!==c.isPending||t[23]!==T||t[24]!==S||t[25]!==C?(E=(0,$.jsx)(be,{confirmLabel:`Remove`,description:S,isPending:c.isPending,onConfirm:C,onOpenChange:w,open:T,pendingLabel:`Removing…`,title:`Remove add-on`}),t[22]=c.isPending,t[23]=T,t[24]=S,t[25]=C,t[26]=E):E=t[26];let D;return t[27]!==E||t[28]!==b||t[29]!==x?(D=(0,$.jsxs)($.Fragment,{children:[y,b,x,E]}),t[27]=E,t[28]=b,t[29]=x,t[30]=D):D=t[30],D}function qe(e){let t=(0,Oe.c)(6),{to:n,id:r}=e,i;t[0]===r?i=t[1]:(i={id:r},t[0]=r,t[1]=i);let a;return t[2]!==r||t[3]!==i||t[4]!==n?(a=(0,$.jsx)(o,{className:`font-mono text-primary underline-offset-2 hover:underline`,params:i,to:n,children:r}),t[2]=r,t[3]=i,t[4]=n,t[5]=a):a=t[5],a}function Je(e){let t=(0,Oe.c)(45),{cluster:n}=e,r=n?.resourcesVpcConfig,i;t[0]===r?.subnetIds?i=t[1]:(i=r?.subnetIds??[],t[0]=r?.subnetIds,t[1]=i);let a=i,o;t[2]===r?.securityGroupIds?o=t[3]:(o=r?.securityGroupIds??[],t[2]=r?.securityGroupIds,t[3]=o);let s=o,c;t[4]===r?.publicAccessCidrs?c=t[5]:(c=r?.publicAccessCidrs??[],t[4]=r?.publicAccessCidrs,t[5]=c);let l=c,u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(X.Header,{children:`VPC`}),t[6]=u):u=t[6];let d;t[7]===r?d=t[8]:(d=r?.vpcId?(0,$.jsx)(qe,{id:r.vpcId,to:`/ec2/describe-vpcs/$id`}):void 0,t[7]=r,t[8]=d);let f;t[9]===d?f=t[10]:(f=(0,$.jsx)(Z,{label:`VPC`,value:d}),t[9]=d,t[10]=f);let p=n?.endpoint,m;t[11]===p?m=t[12]:(m=(0,$.jsx)(Z,{label:`API server endpoint`,value:p}),t[11]=p,t[12]=m);let h=r?.endpointPublicAccess?`Enabled`:`Disabled`,g;t[13]===h?g=t[14]:(g=(0,$.jsx)(Z,{label:`Public access`,value:h}),t[13]=h,t[14]=g);let _=r?.endpointPrivateAccess?`Enabled`:`Disabled`,v;t[15]===_?v=t[16]:(v=(0,$.jsx)(Z,{label:`Private access`,value:_}),t[15]=_,t[16]=v);let y;t[17]!==l||t[18]!==r?.endpointPublicAccess?(y=r?.endpointPublicAccess&&(0,$.jsx)(Z,{label:`Public access CIDRs`,value:l.length>0?(0,$.jsx)(`div`,{className:`space-y-1 font-mono text-xs`,children:l.map(Ze)}):`Any (0.0.0.0/0)`}),t[17]=l,t[18]=r?.endpointPublicAccess,t[19]=y):y=t[19];let b;t[20]!==g||t[21]!==v||t[22]!==y||t[23]!==f||t[24]!==m?(b=(0,$.jsxs)(X,{children:[u,(0,$.jsxs)(X.Content,{children:[f,m,g,v,y]})]}),t[20]=g,t[21]=v,t[22]=y,t[23]=f,t[24]=m,t[25]=b):b=t[25];let x;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(X.Header,{children:`Subnets`}),t[26]=x):x=t[26];let S;t[27]===a?S=t[28]:(S=(0,$.jsxs)(X,{children:[x,(0,$.jsx)(X.Content,{children:a.length>0?(0,$.jsx)(`div`,{className:`space-y-1`,children:a.map(Xe)}):(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`No subnets.`})})]}),t[27]=a,t[28]=S);let C;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(X.Header,{children:`Security groups`}),t[29]=C):C=t[29];let w;t[30]===r?w=t[31]:(w=r?.clusterSecurityGroupId?(0,$.jsx)(qe,{id:r.clusterSecurityGroupId,to:`/ec2/describe-security-groups/$id`}):void 0,t[30]=r,t[31]=w);let T;t[32]===w?T=t[33]:(T=(0,$.jsx)(Z,{label:`Cluster security group`,value:w}),t[32]=w,t[33]=T);let E;t[34]===s?E=t[35]:(E=s.length>0?(0,$.jsx)(`div`,{className:`space-y-1`,children:s.map(Ye)}):`—`,t[34]=s,t[35]=E);let D;t[36]===E?D=t[37]:(D=(0,$.jsx)(Z,{label:`Additional security groups`,value:E}),t[36]=E,t[37]=D);let O;t[38]!==T||t[39]!==D?(O=(0,$.jsxs)(X,{children:[C,(0,$.jsxs)(X.Content,{children:[T,D]})]}),t[38]=T,t[39]=D,t[40]=O):O=t[40];let k;return t[41]!==b||t[42]!==S||t[43]!==O?(k=(0,$.jsxs)($.Fragment,{children:[b,S,O]}),t[41]=b,t[42]=S,t[43]=O,t[44]=k):k=t[44],k}function Ye(e){return(0,$.jsx)(qe,{id:e,to:`/ec2/describe-security-groups/$id`},e)}function Xe(e){return(0,$.jsx)(qe,{id:e,to:`/ec2/describe-subnets/$id`},e)}function Ze(e){return(0,$.jsx)(`div`,{children:e},e)}function Qe(e){return!!e&&(e.endsWith(`_GPU`)||e.endsWith(`_NVIDIA`))}function $e(e,t){let n=t.find(t=>t.InstanceType===e);return!!n&&ge(n)}function et(e){let t=(0,Oe.c)(44),{clusterName:n,nodegroupName:r,current:i,open:a,onOpenChange:o}=e,s=j(),[c,l]=(0,Q.useState)(i.minSize??0),[u,d]=(0,Q.useState)(i.desiredSize??0),[f,p]=(0,Q.useState)(i.maxSize??0),[m,h]=(0,Q.useState)(),[g,y]=(0,Q.useState)(a);a!==g&&(y(a),a&&(l(i.minSize??0),d(i.desiredSize??0),p(i.maxSize??0),h(void 0)));let b;t[0]!==n||t[1]!==u||t[2]!==f||t[3]!==c||t[4]!==r||t[5]!==o||t[6]!==s?(b=()=>{if(!(c<=u&&u<=f)){h(`Sizes must satisfy min ≤ desired ≤ max`);return}s.mutate({clusterName:n,nodegroupName:r,minSize:c,desiredSize:u,maxSize:f},{onSuccess:()=>o(!1)})},t[0]=n,t[1]=u,t[2]=f,t[3]=c,t[4]=r,t[5]=o,t[6]=s,t[7]=b):b=t[7];let k=b,A;t[8]===r?A=t[9]:(A=(0,$.jsx)(D,{children:(0,$.jsxs)(C,{children:[`Scale `,r]})}),t[8]=r,t[9]=A);let M;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`scale-min`,children:`Min`})}),t[10]=M):M=t[10];let N;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(N=e=>l(Number(e.target.value)),t[11]=N):N=t[11];let P;t[12]===c?P=t[13]:(P=(0,$.jsxs)(x,{children:[M,(0,$.jsx)(_,{id:`scale-min`,onChange:N,type:`number`,value:c})]}),t[12]=c,t[13]=P);let F;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`scale-desired`,children:`Desired`})}),t[14]=F):F=t[14];let I;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(I=e=>d(Number(e.target.value)),t[15]=I):I=t[15];let L;t[16]===u?L=t[17]:(L=(0,$.jsxs)(x,{children:[F,(0,$.jsx)(_,{id:`scale-desired`,onChange:I,type:`number`,value:u})]}),t[16]=u,t[17]=L);let R;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`scale-max`,children:`Max`})}),t[18]=R):R=t[18];let z;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(z=e=>p(Number(e.target.value)),t[19]=z):z=t[19];let B;t[20]===f?B=t[21]:(B=(0,$.jsxs)(x,{children:[R,(0,$.jsx)(_,{id:`scale-max`,onChange:z,type:`number`,value:f})]}),t[20]=f,t[21]=B);let V;t[22]!==B||t[23]!==P||t[24]!==L?(V=(0,$.jsxs)(`div`,{className:`grid grid-cols-3 gap-3`,children:[P,L,B]}),t[22]=B,t[23]=P,t[24]=L,t[25]=V):V=t[25];let H;t[26]===m?H=t[27]:(H=m&&(0,$.jsx)(`p`,{className:`mt-2 text-xs text-destructive`,children:m}),t[26]=m,t[27]=H);let U;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,$.jsx)(E,{children:`Cancel`}),t[28]=U):U=t[28];let W;t[29]===k?W=t[30]:(W=e=>{e.preventDefault(),k()},t[29]=k,t[30]=W);let ee=s.isPending?`Scaling…`:`Scale`,G;t[31]!==s.isPending||t[32]!==W||t[33]!==ee?(G=(0,$.jsxs)(T,{children:[U,(0,$.jsx)(w,{disabled:s.isPending,onClick:W,children:ee})]}),t[31]=s.isPending,t[32]=W,t[33]=ee,t[34]=G):G=t[34];let K;t[35]!==V||t[36]!==H||t[37]!==G||t[38]!==A?(K=(0,$.jsxs)(S,{children:[A,V,H,G]}),t[35]=V,t[36]=H,t[37]=G,t[38]=A,t[39]=K):K=t[39];let q;return t[40]!==o||t[41]!==a||t[42]!==K?(q=(0,$.jsx)(O,{onOpenChange:o,open:a,children:K}),t[40]=o,t[41]=a,t[42]=K,t[43]=q):q=t[43],q}function tt(e){let t=(0,Oe.c)(71),{clusterName:n,clusterVersion:r,nodegroupName:a,onDelete:o}=e,s;t[0]!==n||t[1]!==a?(s=re(n,a),t[0]=n,t[1]=a,t[2]=s):s=t[2];let{data:c}=i(s),l=N(),u=c?.nodegroup,d=u?.scalingConfig,[p,h]=(0,Q.useState)(!1),[_,v]=(0,Q.useState)(!1),y=!!r&&!!u?.version&&u.version!==r,b=u?.amiType,x;t[3]===b?x=t[4]:(x=Qe(b),t[3]=b,t[4]=x);let S=x,C;t[5]===a?C=t[6]:(C=(0,$.jsx)(`span`,{children:a}),t[5]=a,t[6]=C);let w;t[7]===S?w=t[8]:(w=S&&(0,$.jsx)(xe,{variant:`secondary`,children:`GPU`}),t[7]=S,t[8]=w);let T;t[9]!==C||t[10]!==w?(T=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[C,w]}),t[9]=C,t[10]=w,t[11]=T):T=t[11];let E;t[12]===y?E=t[13]:(E=y&&(0,$.jsx)(g,{"aria-label":`Update node group version`,onClick:()=>v(!0),size:`icon`,variant:`ghost`,children:(0,$.jsx)(f,{className:`size-4`})}),t[12]=y,t[13]=E);let D;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(D=()=>h(!0),t[14]=D):D=t[14];let O;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(g,{"aria-label":`Scale node group`,onClick:D,size:`icon`,variant:`ghost`,children:(0,$.jsx)(De,{className:`size-4`})}),t[15]=O):O=t[15];let k;t[16]!==a||t[17]!==o?(k=()=>o(a),t[16]=a,t[17]=o,t[18]=k):k=t[18];let A;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,$.jsx)(m,{className:`size-4`}),t[19]=A):A=t[19];let j;t[20]===k?j=t[21]:(j=(0,$.jsx)(g,{"aria-label":`Delete node group`,onClick:k,size:`icon`,variant:`ghost`,children:A}),t[20]=k,t[21]=j);let M;t[22]!==j||t[23]!==E?(M=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[E,O,j]}),t[22]=j,t[23]=E,t[24]=M):M=t[24];let P;t[25]!==M||t[26]!==T?(P=(0,$.jsx)(X.Header,{children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[T,M]})}),t[25]=M,t[26]=T,t[27]=P):P=t[27];let F=u?.status,I;t[28]===F?I=t[29]:(I=(0,$.jsx)(Z,{label:`Status`,value:F}),t[28]=F,t[29]=I);let L=y?`${u?.version} (cluster on ${r})`:u?.version,R;t[30]===L?R=t[31]:(R=(0,$.jsx)(Z,{label:`Kubernetes version`,value:L}),t[30]=L,t[31]=R);let z;t[32]===u?.instanceTypes?z=t[33]:(z=u?.instanceTypes?.join(`, `),t[32]=u?.instanceTypes,t[33]=z);let B;t[34]===z?B=t[35]:(B=(0,$.jsx)(Z,{label:`Instance types`,value:z}),t[34]=z,t[35]=B);let V=u?.amiType,H;t[36]===V?H=t[37]:(H=(0,$.jsx)(Z,{label:`AMI type`,value:V}),t[36]=V,t[37]=H);let U=u?.capacityType,W;t[38]===U?W=t[39]:(W=(0,$.jsx)(Z,{label:`Capacity type`,value:U}),t[38]=U,t[39]=W);let ee=d?`${d.minSize} / ${d.desiredSize} / ${d.maxSize}`:void 0,G;t[40]===ee?G=t[41]:(G=(0,$.jsx)(Z,{label:`Scaling (min / desired / max)`,value:ee}),t[40]=ee,t[41]=G);let K;t[42]!==I||t[43]!==R||t[44]!==B||t[45]!==H||t[46]!==W||t[47]!==G?(K=(0,$.jsxs)(X.Content,{children:[I,R,B,H,W,G]}),t[42]=I,t[43]=R,t[44]=B,t[45]=H,t[46]=W,t[47]=G,t[48]=K):K=t[48];let q;t[49]===d?q=t[50]:(q=d??{},t[49]=d,t[50]=q);let te;t[51]!==n||t[52]!==a||t[53]!==p||t[54]!==q?(te=(0,$.jsx)(et,{clusterName:n,current:q,nodegroupName:a,onOpenChange:h,open:p}),t[51]=n,t[52]=a,t[53]=p,t[54]=q,t[55]=te):te=t[55];let ne=`Update node group "${a}" from ${u?.version} to ${r}? Nodes are replaced in a rolling update.`,J;t[56]!==n||t[57]!==r||t[58]!==a||t[59]!==l?(J=()=>l.mutate({clusterName:n,nodegroupName:a,version:r},{onSuccess:()=>v(!1)}),t[56]=n,t[57]=r,t[58]=a,t[59]=l,t[60]=J):J=t[60];let Y;t[61]!==_||t[62]!==ne||t[63]!==J||t[64]!==l.isPending?(Y=(0,$.jsx)(be,{confirmLabel:`Update`,description:ne,isPending:l.isPending,onConfirm:J,onOpenChange:v,open:_,title:`Update node group version`}),t[61]=_,t[62]=ne,t[63]=J,t[64]=l.isPending,t[65]=Y):Y=t[65];let ie;return t[66]!==P||t[67]!==K||t[68]!==te||t[69]!==Y?(ie=(0,$.jsxs)(X,{children:[P,K,te,Y]}),t[66]=P,t[67]=K,t[68]=te,t[69]=Y,t[70]=ie):ie=t[70],ie}function nt(e){let t=(0,Oe.c)(141),{clusterName:n,vpcId:r,open:a,onOpenChange:o}=e,{data:s}=i(ue),{data:c}=i(k),{data:l}=i(A),u=P(),d;t[0]===s?.Roles?d=t[1]:(d=s?.Roles??[],t[0]=s?.Roles,t[1]=d);let f=d,p;t[2]===r?p=t[3]:(p=e=>e.VpcId===r,t[2]=r,t[3]=p);let m=(c?.Subnets??[]).filter(p),h;t[4]===l?.InstanceTypes?h=t[5]:(h=l?.InstanceTypes??[],t[4]=l?.InstanceTypes,t[5]=h);let g=h,j;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(j=me(L),t[6]=j):j=t[6];let M;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(M={resolver:j,defaultValues:{nodegroupName:``,nodeRole:``,subnetIds:[],instanceTypes:`t3.medium`,amiType:`AL2_x86_64`,capacityType:`ON_DEMAND`,diskSize:20,minSize:1,desiredSize:2,maxSize:3}},t[7]=M):M=t[7];let{control:N,formState:F,handleSubmit:I,register:R,reset:B,setValue:V}=fe(M),{errors:H}=F,U;t[8]===N?U=t[9]:(U={control:N,name:`subnetIds`},t[8]=N,t[9]=U);let ee=de(U),G;t[10]===N?G=t[11]:(G={control:N,name:`instanceTypes`},t[10]=N,t[11]=G);let K=de(G),q;t[12]!==g||t[13]!==K?(q=$e(K,g),t[12]=g,t[13]=K,t[14]=q):q=t[14];let te=q,ne;t[15]!==ee||t[16]!==V?(ne=e=>{let t=ee.includes(e)?ee.filter(t=>t!==e):[...ee,e];V(`subnetIds`,t,{shouldValidate:!0})},t[15]=ee,t[16]=V,t[17]=ne):ne=t[17];let J=ne,Y;t[18]!==n||t[19]!==u||t[20]!==o||t[21]!==B?(Y=async e=>{await u.mutateAsync({clusterName:n,nodegroupName:e.nodegroupName,nodeRole:e.nodeRole,subnetIds:e.subnetIds,instanceTypes:e.instanceTypes.split(`,`).map(ot).filter(Boolean),amiType:e.amiType,capacityType:e.capacityType,diskSize:e.diskSize,minSize:e.minSize,desiredSize:e.desiredSize,maxSize:e.maxSize}),B(),o(!1)},t[18]=n,t[19]=u,t[20]=o,t[21]=B,t[22]=Y):Y=t[22];let re=Y,ie=O,ae=S,oe;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,$.jsx)(D,{children:(0,$.jsx)(C,{children:`Add node group`})}),t[23]=oe):oe=t[23];let se;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`ng-name`,children:`Name`})}),t[24]=se):se=t[24];let ce=!!H.nodegroupName,le;t[25]===R?le=t[26]:(le=R(`nodegroupName`),t[25]=R,t[26]=le);let he;t[27]!==ce||t[28]!==le?(he=(0,$.jsx)(_,{"aria-invalid":ce,id:`ng-name`,placeholder:`my-nodegroup`,...le}),t[27]=ce,t[28]=le,t[29]=he):he=t[29];let ge;t[30]===H.nodegroupName?ge=t[31]:(ge=(0,$.jsx)(b,{errors:[H.nodegroupName]}),t[30]=H.nodegroupName,t[31]=ge);let ve;t[32]!==he||t[33]!==ge?(ve=(0,$.jsxs)(x,{children:[se,he,ge]}),t[32]=he,t[33]=ge,t[34]=ve):ve=t[34];let ye;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(ye=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`ng-role`,children:`Node IAM role`})}),t[35]=ye):ye=t[35];let be=!!H.nodeRole,X;t[36]===R?X=t[37]:(X=R(`nodeRole`),t[36]=R,t[37]=X);let Z;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(Z=(0,$.jsx)(`option`,{value:``,children:`Select role`}),t[38]=Z):Z=t[38];let xe;t[39]===f?xe=t[40]:(xe=f.map(at),t[39]=f,t[40]=xe);let Se;t[41]!==be||t[42]!==X||t[43]!==xe?(Se=(0,$.jsxs)(`select`,{"aria-invalid":be,className:`h-7 w-full rounded-md border border-input bg-input/20 px-2 text-sm`,id:`ng-role`,...X,children:[Z,xe]}),t[41]=be,t[42]=X,t[43]=xe,t[44]=Se):Se=t[44];let Ce;t[45]===H.nodeRole?Ce=t[46]:(Ce=(0,$.jsx)(b,{errors:[H.nodeRole]}),t[45]=H.nodeRole,t[46]=Ce);let we;t[47]!==Se||t[48]!==Ce?(we=(0,$.jsxs)(x,{children:[ye,Se,Ce]}),t[47]=Se,t[48]=Ce,t[49]=we):we=t[49];let Te=x,Ee;t[50]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,$.jsx)(v,{children:`Subnets`}),t[50]=Ee):Ee=t[50];let De=m.length===0?(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No subnets in the cluster VPC.`}):(0,$.jsx)(`div`,{className:`space-y-1`,children:m.map(e=>(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,$.jsx)(`input`,{"aria-label":`Subnet ${e.SubnetId}`,checked:ee.includes(e.SubnetId??``),onChange:()=>J(e.SubnetId??``),type:`checkbox`}),(0,$.jsxs)(`span`,{className:`font-mono`,children:[e.SubnetId,` · `,e.CidrBlock]})]},e.SubnetId))}),Q;t[51]===H.subnetIds?Q=t[52]:(Q=(0,$.jsx)(b,{errors:[H.subnetIds]}),t[51]=H.subnetIds,t[52]=Q);let ke;t[53]!==Te||t[54]!==Ee||t[55]!==De||t[56]!==Q?(ke=(0,$.jsxs)(Te,{children:[Ee,De,Q]}),t[53]=Te,t[54]=Ee,t[55]=De,t[56]=Q,t[57]=ke):ke=t[57];let Ae;t[58]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`ng-instance-type`,children:`Instance type`})}),t[58]=Ae):Ae=t[58];let je;t[59]!==H.instanceTypes||t[60]!==g?(je=e=>{let{field:t}=e;return(0,$.jsx)(_e,{"aria-invalid":!!H.instanceTypes,id:`ng-instance-type`,instanceTypes:g,onValueChange:t.onChange,value:t.value})},t[59]=H.instanceTypes,t[60]=g,t[61]=je):je=t[61];let Me;t[62]!==N||t[63]!==je?(Me=(0,$.jsx)(pe,{control:N,name:`instanceTypes`,render:je}),t[62]=N,t[63]=je,t[64]=Me):Me=t[64];let Ne;t[65]===te?Ne=t[66]:(Ne=te&&(0,$.jsxs)(y,{children:[`GPU node AMI is auto-selected for this instance type. This node group is tainted `,(0,$.jsx)(`code`,{children:`nvidia.com/gpu=present:NoSchedule`}),` `,`by default, so ordinary pods won't schedule onto GPU workers.`]}),t[65]=te,t[66]=Ne);let Pe;t[67]===H.instanceTypes?Pe=t[68]:(Pe=(0,$.jsx)(b,{errors:[H.instanceTypes]}),t[67]=H.instanceTypes,t[68]=Pe);let Fe;t[69]!==Me||t[70]!==Ne||t[71]!==Pe?(Fe=(0,$.jsxs)(x,{children:[Ae,Me,Ne,Pe]}),t[69]=Me,t[70]=Ne,t[71]=Pe,t[72]=Fe):Fe=t[72];let Ie;t[73]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`ng-ami`,children:`AMI type`})}),t[73]=Ie):Ie=t[73];let Le;t[74]===R?Le=t[75]:(Le=R(`amiType`),t[74]=R,t[75]=Le);let Re;t[76]===Symbol.for(`react.memo_cache_sentinel`)?(Re=W.map(it),t[76]=Re):Re=t[76];let ze;t[77]===Le?ze=t[78]:(ze=(0,$.jsxs)(x,{children:[Ie,(0,$.jsx)(`select`,{className:`h-7 w-full rounded-md border border-input bg-input/20 px-2 text-sm`,id:`ng-ami`,...Le,children:Re})]}),t[77]=Le,t[78]=ze);let Be;t[79]===Symbol.for(`react.memo_cache_sentinel`)?(Be=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`ng-capacity`,children:`Capacity type`})}),t[79]=Be):Be=t[79];let Ve;t[80]===R?Ve=t[81]:(Ve=R(`capacityType`),t[80]=R,t[81]=Ve);let He;t[82]===Symbol.for(`react.memo_cache_sentinel`)?(He=z.map(rt),t[82]=He):He=t[82];let Ue;t[83]===Ve?Ue=t[84]:(Ue=(0,$.jsxs)(x,{children:[Be,(0,$.jsx)(`select`,{className:`h-7 w-full rounded-md border border-input bg-input/20 px-2 text-sm`,id:`ng-capacity`,...Ve,children:He})]}),t[83]=Ve,t[84]=Ue);let We;t[85]!==ze||t[86]!==Ue?(We=(0,$.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[ze,Ue]}),t[85]=ze,t[86]=Ue,t[87]=We):We=t[87];let Ge;t[88]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`ng-disk`,children:`Disk (GB)`})}),t[88]=Ge):Ge=t[88];let Ke;t[89]===R?Ke=t[90]:(Ke=R(`diskSize`,{valueAsNumber:!0}),t[89]=R,t[90]=Ke);let qe;t[91]===Ke?qe=t[92]:(qe=(0,$.jsxs)(x,{children:[Ge,(0,$.jsx)(_,{id:`ng-disk`,type:`number`,...Ke})]}),t[91]=Ke,t[92]=qe);let Je;t[93]===Symbol.for(`react.memo_cache_sentinel`)?(Je=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`ng-min`,children:`Min`})}),t[93]=Je):Je=t[93];let Ye;t[94]===R?Ye=t[95]:(Ye=R(`minSize`,{valueAsNumber:!0}),t[94]=R,t[95]=Ye);let Xe;t[96]===Ye?Xe=t[97]:(Xe=(0,$.jsxs)(x,{children:[Je,(0,$.jsx)(_,{id:`ng-min`,type:`number`,...Ye})]}),t[96]=Ye,t[97]=Xe);let Ze;t[98]===Symbol.for(`react.memo_cache_sentinel`)?(Ze=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`ng-desired`,children:`Desired`})}),t[98]=Ze):Ze=t[98];let Qe;t[99]===R?Qe=t[100]:(Qe=R(`desiredSize`,{valueAsNumber:!0}),t[99]=R,t[100]=Qe);let et;t[101]===Qe?et=t[102]:(et=(0,$.jsxs)(x,{children:[Ze,(0,$.jsx)(_,{id:`ng-desired`,type:`number`,...Qe})]}),t[101]=Qe,t[102]=et);let tt;t[103]===Symbol.for(`react.memo_cache_sentinel`)?(tt=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`ng-max`,children:`Max`})}),t[103]=tt):tt=t[103];let nt;t[104]===R?nt=t[105]:(nt=R(`maxSize`,{valueAsNumber:!0}),t[104]=R,t[105]=nt);let st;t[106]===nt?st=t[107]:(st=(0,$.jsxs)(x,{children:[tt,(0,$.jsx)(_,{id:`ng-max`,type:`number`,...nt})]}),t[106]=nt,t[107]=st);let ct;t[108]!==qe||t[109]!==Xe||t[110]!==et||t[111]!==st?(ct=(0,$.jsxs)(`div`,{className:`grid grid-cols-4 gap-3`,children:[qe,Xe,et,st]}),t[108]=qe,t[109]=Xe,t[110]=et,t[111]=st,t[112]=ct):ct=t[112];let lt;t[113]===H.desiredSize?lt=t[114]:(lt=(0,$.jsx)(b,{errors:[H.desiredSize]}),t[113]=H.desiredSize,t[114]=lt);let ut;t[115]!==ve||t[116]!==we||t[117]!==ke||t[118]!==Fe||t[119]!==We||t[120]!==ct||t[121]!==lt?(ut=(0,$.jsxs)(`form`,{className:`space-y-4`,id:`add-nodegroup-form`,children:[ve,we,ke,Fe,We,ct,lt]}),t[115]=ve,t[116]=we,t[117]=ke,t[118]=Fe,t[119]=We,t[120]=ct,t[121]=lt,t[122]=ut):ut=t[122];let dt;t[123]===Symbol.for(`react.memo_cache_sentinel`)?(dt=(0,$.jsx)(E,{children:`Cancel`}),t[123]=dt):dt=t[123];let ft;t[124]!==I||t[125]!==re?(ft=e=>{e.preventDefault(),I(re)()},t[124]=I,t[125]=re,t[126]=ft):ft=t[126];let pt=u.isPending?`Creating…`:`Create`,mt;t[127]!==u.isPending||t[128]!==ft||t[129]!==pt?(mt=(0,$.jsxs)(T,{children:[dt,(0,$.jsx)(w,{disabled:u.isPending,onClick:ft,children:pt})]}),t[127]=u.isPending,t[128]=ft,t[129]=pt,t[130]=mt):mt=t[130];let ht;t[131]!==ae||t[132]!==oe||t[133]!==ut||t[134]!==mt?(ht=(0,$.jsxs)(ae,{className:`max-h-[85vh] overflow-y-auto`,children:[oe,ut,mt]}),t[131]=ae,t[132]=oe,t[133]=ut,t[134]=mt,t[135]=ht):ht=t[135];let gt;return t[136]!==ie||t[137]!==o||t[138]!==a||t[139]!==ht?(gt=(0,$.jsx)(ie,{onOpenChange:o,open:a,children:ht}),t[136]=ie,t[137]=o,t[138]=a,t[139]=ht,t[140]=gt):gt=t[140],gt}function rt(e){return(0,$.jsx)(`option`,{value:e,children:e},e)}function it(e){return(0,$.jsx)(`option`,{value:e,children:e},e)}function at(e){return(0,$.jsx)(`option`,{value:e.Arn??``,children:e.RoleName},e.Arn)}function ot(e){return e.trim()}function st(e){let t=(0,Oe.c)(27),{clusterName:n,clusterVersion:r,vpcId:i}=e,o;t[0]===n?o=t[1]:(o=le(n),t[0]=n,t[1]=o);let{data:s}=a(o),c=te(),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(),p;t[2]===s.nodegroups?p=t[3]:(p=s.nodegroups??[],t[2]=s.nodegroups,t[3]=p);let m=p,h;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(`div`,{className:`mb-4 flex justify-end`,children:(0,$.jsx)(g,{onClick:()=>u(!0),size:`sm`,children:`Add node group`})}),t[4]=h):h=t[4];let _;t[5]!==n||t[6]!==r||t[7]!==m?(_=m.length>0?(0,$.jsx)(`div`,{className:`space-y-4`,children:m.map(e=>(0,$.jsx)(tt,{clusterName:n,clusterVersion:r,nodegroupName:e,onDelete:f},e))}):(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`No node groups.`}),t[5]=n,t[6]=r,t[7]=m,t[8]=_):_=t[8];let v;t[9]!==n||t[10]!==l||t[11]!==i?(v=(0,$.jsx)(nt,{clusterName:n,onOpenChange:u,open:l,vpcId:i}),t[9]=n,t[10]=l,t[11]=i,t[12]=v):v=t[12];let y=`Delete node group "${d??``}"? This terminates its nodes.`,b;t[13]!==n||t[14]!==c||t[15]!==d?(b=()=>{d&&c.mutate({clusterName:n,nodegroupName:d},{onSuccess:()=>f(void 0)})},t[13]=n,t[14]=c,t[15]=d,t[16]=b):b=t[16];let x;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>!e&&f(void 0),t[17]=x):x=t[17];let S=d!==void 0,C;t[18]!==c.isPending||t[19]!==y||t[20]!==b||t[21]!==S?(C=(0,$.jsx)(be,{description:y,isPending:c.isPending,onConfirm:b,onOpenChange:x,open:S,title:`Delete node group`}),t[18]=c.isPending,t[19]=y,t[20]=b,t[21]=S,t[22]=C):C=t[22];let w;return t[23]!==C||t[24]!==_||t[25]!==v?(w=(0,$.jsxs)($.Fragment,{children:[h,_,v,C]}),t[23]=C,t[24]=_,t[25]=v,t[26]=w):w=t[26],w}function ct(e){switch(e??``){case`ACTIVE`:return`default`;case`FAILED`:return`destructive`;default:return`secondary`}}function lt(e){let t=(0,Oe.c)(134),{clusterName:n}=e,r=s(),[i,o]=(0,Q.useState)(!1),u;t[0]===n?u=t[1]:(u=se(n),t[0]=n,t[1]=u);let{data:f}=a(u),_=F(),v=f.cluster,y,b,x,S,C,w,T,E,D,O,k,A,j,M,N,P,I,L;if(t[2]!==v?.arn||t[3]!==v?.health?.issues||t[4]!==v?.status||t[5]!==n||t[6]!==_||t[7]!==r){let e=v?.health?.issues??[],i;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(i={type:`bin`,value:`aws eks update-kubeconfig`},t[26]=i):i=t[26];let a;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(a={type:`flag`,value:` --name `},t[27]=a):a=t[27];let s;t[28]===n?s=t[29]:(s={type:`value`,value:n},t[28]=n,t[29]=s);let c;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(c={type:`flag`,value:` --region `},t[30]=c):c=t[30];let u;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(u={type:`value`,value:l()},t[31]=u):u=t[31];let f;t[32]===s?f=t[33]:(f={label:`Configure kubectl`,parts:[i,a,s,c,u]},t[32]=s,t[33]=f);let p;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(p={label:`Verify access`,parts:[{type:`bin`,value:`kubectl get nodes`}]},t[34]=p):p=t[34];let F;t[35]===f?F=t[36]:(F=[f,p],t[35]=f,t[36]=F),T=F;let R;t[37]!==n||t[38]!==_||t[39]!==r?(R=function(){_.mutate(n,{onSuccess:()=>{r({to:`/eks/list-clusters`})}})},t[37]=n,t[38]=_,t[39]=r,t[40]=R):R=t[40],w=R,t[41]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(d,{to:`/eks/list-clusters`,children:`Clusters`}),t[41]=E):E=t[41];let z;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(z=()=>o(!0),t[42]=z):z=t[42];let B;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsxs)(g,{onClick:z,size:`sm`,variant:`destructive`,children:[(0,$.jsx)(m,{className:`size-4`}),`Delete`]}),t[43]=B):B=t[43];let V=v?.status,H;t[44]===V?H=t[45]:(H=ct(V),t[44]=V,t[45]=H);let U=v?.status??`UNKNOWN`,W;t[46]!==H||t[47]!==U?(W=(0,$.jsx)(xe,{variant:H,children:U}),t[46]=H,t[47]=U,t[48]=W):W=t[48];let ee=e.length>0&&(0,$.jsxs)(xe,{variant:`destructive`,children:[(0,$.jsx)(h,{className:`size-3`}),e.length===1?`1 health issue`:`${e.length} health issues`]}),G;t[49]!==W||t[50]!==ee?(G=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[B,W,ee]}),t[49]=W,t[50]=ee,t[51]=G):G=t[51],t[52]!==n||t[53]!==G?(D=(0,$.jsx)(ve,{actions:G,subtitle:`Cluster Details`,title:n}),t[52]=n,t[53]=G,t[54]=D):D=t[54],t[55]!==_.error||t[56]!==_.isError?(O=_.isError&&(0,$.jsx)(he,{error:_.error instanceof Error?_.error:void 0,msg:`Failed to delete cluster.`}),t[55]=_.error,t[56]=_.isError,t[57]=O):O=t[57],C=Te,I=`overview`,t[58]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsxs)(Ce,{children:[(0,$.jsx)(Se,{value:`overview`,children:`Overview`}),(0,$.jsx)(Se,{value:`compute`,children:`Compute`}),(0,$.jsx)(Se,{value:`addons`,children:`Add-ons`}),(0,$.jsx)(Se,{value:`access`,children:`Access`}),(0,$.jsx)(Se,{value:`networking`,children:`Networking`}),(0,$.jsx)(Se,{value:`connect`,children:`Connect`})]}),t[58]=L):L=t[58],S=we,P=`overview`,x=X,t[59]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsx)(X.Header,{children:`Cluster`}),t[59]=N):N=t[59],b=X.Content;let K=v?.arn;t[60]===K?j=t[61]:(j=(0,$.jsx)(Z,{label:`ARN`,value:K}),t[60]=K,t[61]=j);let q=v?.status;t[62]===q?M=t[63]:(M=(0,$.jsx)(Z,{label:`Status`,value:q}),t[62]=q,t[63]=M),y=Z,k=`Health`,A=e.length>0?e.map(ut).filter(Boolean).join(`; `):`OK`,t[2]=v?.arn,t[3]=v?.health?.issues,t[4]=v?.status,t[5]=n,t[6]=_,t[7]=r,t[8]=y,t[9]=b,t[10]=x,t[11]=S,t[12]=C,t[13]=w,t[14]=T,t[15]=E,t[16]=D,t[17]=O,t[18]=k,t[19]=A,t[20]=j,t[21]=M,t[22]=N,t[23]=P,t[24]=I,t[25]=L}else y=t[8],b=t[9],x=t[10],S=t[11],C=t[12],w=t[13],T=t[14],E=t[15],D=t[16],O=t[17],k=t[18],A=t[19],j=t[20],M=t[21],N=t[22],P=t[23],I=t[24],L=t[25];let R;t[64]!==y||t[65]!==k||t[66]!==A?(R=(0,$.jsx)(y,{label:k,value:A}),t[64]=y,t[65]=k,t[66]=A,t[67]=R):R=t[67];let z=v?.version,B;t[68]===z?B=t[69]:(B=(0,$.jsx)(Z,{label:`Kubernetes version`,value:z}),t[68]=z,t[69]=B);let V=v?.platformVersion,H;t[70]===V?H=t[71]:(H=(0,$.jsx)(Z,{label:`Platform version`,value:V}),t[70]=V,t[71]=H);let U=v?.endpoint,W;t[72]===U?W=t[73]:(W=(0,$.jsx)(Z,{label:`Endpoint`,value:U}),t[72]=U,t[73]=W);let ee=v?.identity?.oidc?.issuer,G;t[74]===ee?G=t[75]:(G=(0,$.jsx)(Z,{label:`OIDC issuer`,value:ee}),t[74]=ee,t[75]=G);let K=v?.resourcesVpcConfig?.vpcId,q;t[76]===K?q=t[77]:(q=(0,$.jsx)(Z,{label:`VPC`,value:K}),t[76]=K,t[77]=q);let te=v?.createdAt,ne;t[78]===te?ne=t[79]:(ne=c(te),t[78]=te,t[79]=ne);let J;t[80]===ne?J=t[81]:(J=(0,$.jsx)(Z,{label:`Created at`,value:ne}),t[80]=ne,t[81]=J);let Y;t[82]!==b||t[83]!==R||t[84]!==B||t[85]!==H||t[86]!==W||t[87]!==G||t[88]!==q||t[89]!==J||t[90]!==j||t[91]!==M?(Y=(0,$.jsxs)(b,{children:[j,M,R,B,H,W,G,q,J]}),t[82]=b,t[83]=R,t[84]=B,t[85]=H,t[86]=W,t[87]=G,t[88]=q,t[89]=J,t[90]=j,t[91]=M,t[92]=Y):Y=t[92];let re;t[93]!==x||t[94]!==Y||t[95]!==N?(re=(0,$.jsxs)(x,{children:[N,Y]}),t[93]=x,t[94]=Y,t[95]=N,t[96]=re):re=t[96];let ie;t[97]!==S||t[98]!==re||t[99]!==P?(ie=(0,$.jsx)(S,{value:P,children:re}),t[97]=S,t[98]=re,t[99]=P,t[100]=ie):ie=t[100];let ae=v?.version,oe=v?.resourcesVpcConfig?.vpcId,ce;t[101]!==n||t[102]!==ae||t[103]!==oe?(ce=(0,$.jsx)(we,{value:`compute`,children:(0,$.jsx)(st,{clusterName:n,clusterVersion:ae,vpcId:oe})}),t[101]=n,t[102]=ae,t[103]=oe,t[104]=ce):ce=t[104];let le;t[105]===n?le=t[106]:(le=(0,$.jsx)(we,{value:`addons`,children:(0,$.jsx)(Ke,{clusterName:n})}),t[105]=n,t[106]=le);let ue;t[107]===n?ue=t[108]:(ue=(0,$.jsx)(we,{value:`access`,children:(0,$.jsx)(Pe,{clusterName:n})}),t[107]=n,t[108]=ue);let de;t[109]===v?de=t[110]:(de=(0,$.jsx)(we,{value:`networking`,children:(0,$.jsx)(Je,{cluster:v})}),t[109]=v,t[110]=de);let fe;t[111]===T?fe=t[112]:(fe=(0,$.jsx)(we,{value:`connect`,children:(0,$.jsx)(p,{commands:T})}),t[111]=T,t[112]=fe);let pe;t[113]!==C||t[114]!==ie||t[115]!==ce||t[116]!==le||t[117]!==ue||t[118]!==de||t[119]!==fe||t[120]!==I||t[121]!==L?(pe=(0,$.jsxs)(C,{defaultValue:I,children:[L,ie,ce,le,ue,de,fe]}),t[113]=C,t[114]=ie,t[115]=ce,t[116]=le,t[117]=ue,t[118]=de,t[119]=fe,t[120]=I,t[121]=L,t[122]=pe):pe=t[122];let me=`This permanently deletes cluster "${n}" and its control plane. This cannot be undone.`,ge;t[123]!==_.isPending||t[124]!==w||t[125]!==i||t[126]!==me?(ge=(0,$.jsx)(be,{description:me,isPending:_.isPending,onConfirm:w,onOpenChange:o,open:i,title:`Delete cluster`}),t[123]=_.isPending,t[124]=w,t[125]=i,t[126]=me,t[127]=ge):ge=t[127];let _e;return t[128]!==E||t[129]!==D||t[130]!==O||t[131]!==pe||t[132]!==ge?(_e=(0,$.jsxs)($.Fragment,{children:[E,D,O,pe,ge]}),t[128]=E,t[129]=D,t[130]=O,t[131]=pe,t[132]=ge,t[133]=_e):_e=t[133],_e}function ut(e){return e.message}function dt(){let e=(0,Oe.c)(2),{clusterName:t}=ye.useParams(),n;return e[0]===t?n=e[1]:(n=(0,$.jsx)(lt,{clusterName:t}),e[0]=t,e[1]=n),n}export{dt 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"./useSuspenseQuery.js";import{t as o}from"./link.js";import{t as s}from"./useNavigate.js";import{Qt as c,t as l}from"./cluster-config.js";import{t as u}from"./back-link.js";import{t as d}from"./circle-arrow-up.js";import{n as f,t as p}from"./_clusterName.js";import{t as m}from"./cli-command-panel.js";import{t as h}from"./trash-2.js";import{t as g}from"./triangle-alert.js";import{t as _}from"./button.js";import{t as v}from"./input.js";import{a as y,n as b,r as x,t as S}from"./field.js";import{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{O as A,c as j}from"./ec2.js";import{C as M,S as N,T as P,_ as F,b as I,c as L,f as R,h as z,i as B,l as V,m as H,n as U,p as W,r as ee,s as G,u as K,v as q,w as te,x as J,y as ne}from"./eks.js";import{a as Y,i as re,l as ie,n as ae,o as oe,r as se,s as ce,t as le,u as ue}from"./eks2.js";import{y as de}from"./iam2.js";import{a as fe,i as pe,n as me,t as he}from"./zod.js";import{t as ge}from"./error-banner.js";import{n as _e,t as ve}from"./gpu-instance-type-select.js";import{t as ye}from"./page-heading.js";import{t as be}from"./delete-confirmation-dialog.js";import{n as X,t as Z}from"./detail-row.js";import{t as xe}from"./badge.js";import{i as Se,n as Ce,r as we,t as Te}from"./tabs.js";import{t as Ee}from"./json-editor.js";var De=r(),Q=e(n(),1),$=t();function Oe(e){return e?.split(`/`).pop()??e??``}function ke(e){let t=(0,De.c)(55),{clusterName:n,principalArn:r,onDelete:a}=e,o;t[0]!==n||t[1]!==r?(o=ae(n,r),t[0]=n,t[1]=r,t[2]=o):o=t[2];let{data:s}=i(o),c;t[3]!==n||t[4]!==r?(c=oe(n,r),t[3]=n,t[4]=r,t[5]=c):c=t[5];let{data:l}=i(c),u=W(),d=N(),[f,p]=(0,Q.useState)(U[0].arn),m=s?.accessEntry,g;t[6]===l?.associatedAccessPolicies?g=t[7]:(g=l?.associatedAccessPolicies??[],t[6]=l?.associatedAccessPolicies,t[7]=g);let v=g,y;t[8]===r?y=t[9]:(y=(0,$.jsx)(`span`,{className:`truncate font-mono text-xs`,children:r}),t[8]=r,t[9]=y);let b;t[10]!==a||t[11]!==r?(b=()=>a(r),t[10]=a,t[11]=r,t[12]=b):b=t[12];let x;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(h,{className:`size-4`}),t[13]=x):x=t[13];let S;t[14]===b?S=t[15]:(S=(0,$.jsx)(_,{onClick:b,size:`icon`,variant:`ghost`,children:x}),t[14]=b,t[15]=S);let C;t[16]!==y||t[17]!==S?(C=(0,$.jsx)(X.Header,{children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[y,S]})}),t[16]=y,t[17]=S,t[18]=C):C=t[18];let w=m?.type,T;t[19]===w?T=t[20]:(T=(0,$.jsx)(Z,{label:`Type`,value:w}),t[19]=w,t[20]=T);let E;t[21]===m?E=t[22]:(E=m?.kubernetesGroups?.length?m.kubernetesGroups.join(`, `):`—`,t[21]=m,t[22]=E);let D;t[23]===E?D=t[24]:(D=(0,$.jsx)(Z,{label:`Kubernetes groups`,value:E}),t[23]=E,t[24]=D);let O;t[25]!==v||t[26]!==n||t[27]!==d||t[28]!==r?(O=v.length>0?(0,$.jsx)(`div`,{className:`space-y-1`,children:v.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{children:Oe(e.policyArn)}),(0,$.jsx)(_,{onClick:()=>d.mutate({clusterName:n,principalArn:r,policyArn:e.policyArn??``}),size:`sm`,variant:`ghost`,children:`Remove`})]},e.policyArn))}):`—`,t[25]=v,t[26]=n,t[27]=d,t[28]=r,t[29]=O):O=t[29];let k;t[30]===O?k=t[31]:(k=(0,$.jsx)(Z,{label:`Access policies`,value:O}),t[30]=O,t[31]=k);let A;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(A=e=>p(e.target.value),t[32]=A):A=t[32];let j;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(j=U.map(Ae),t[33]=j):j=t[33];let M;t[34]===f?M=t[35]:(M=(0,$.jsx)(`select`,{"aria-label":`Access policy`,className:`h-7 flex-1 rounded-md border border-input bg-input/20 px-2 text-sm`,onChange:A,value:f,children:j}),t[34]=f,t[35]=M);let P;t[36]!==u||t[37]!==n||t[38]!==f||t[39]!==r?(P=()=>u.mutate({clusterName:n,principalArn:r,policyArn:f,accessScopeType:`cluster`}),t[36]=u,t[37]=n,t[38]=f,t[39]=r,t[40]=P):P=t[40];let F;t[41]!==u.isPending||t[42]!==P?(F=(0,$.jsx)(_,{disabled:u.isPending,onClick:P,size:`sm`,children:`Associate`}),t[41]=u.isPending,t[42]=P,t[43]=F):F=t[43];let I;t[44]!==M||t[45]!==F?(I=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 pt-2`,children:[M,F]}),t[44]=M,t[45]=F,t[46]=I):I=t[46];let L;t[47]!==T||t[48]!==D||t[49]!==k||t[50]!==I?(L=(0,$.jsxs)(X.Content,{children:[T,D,k,I]}),t[47]=T,t[48]=D,t[49]=k,t[50]=I,t[51]=L):L=t[51];let R;return t[52]!==L||t[53]!==C?(R=(0,$.jsxs)(X,{children:[C,L]}),t[52]=L,t[53]=C,t[54]=R):R=t[54],R}function Ae(e){return(0,$.jsx)(`option`,{value:e.arn,children:e.name},e.arn)}function je(e){let t=(0,De.c)(41),{clusterName:n,open:r,onOpenChange:i}=e,a=H(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={resolver:he(V),defaultValues:{principalArn:``,kubernetesGroups:``}},t[0]=o):o=t[0];let{formState:s,handleSubmit:c,register:l,reset:u}=pe(o),{errors:d}=s,f;t[1]!==n||t[2]!==a||t[3]!==i||t[4]!==u?(f=async e=>{await a.mutateAsync({clusterName:n,principalArn:e.principalArn,kubernetesGroups:e.kubernetesGroups.split(`,`).map(Me).filter(Boolean)}),u(),i(!1)},t[1]=n,t[2]=a,t[3]=i,t[4]=u,t[5]=f):f=t[5];let p=f,m;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(O,{children:(0,$.jsx)(w,{children:`Add access entry`})}),t[6]=m):m=t[6];let h;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ae-principal`,children:`IAM principal ARN`})}),t[7]=h):h=t[7];let g=!!d.principalArn,_;t[8]===l?_=t[9]:(_=l(`principalArn`),t[8]=l,t[9]=_);let b;t[10]!==g||t[11]!==_?(b=(0,$.jsx)(v,{"aria-invalid":g,id:`ae-principal`,placeholder:`arn:aws:iam::000000000000:role/my-role`,..._}),t[10]=g,t[11]=_,t[12]=b):b=t[12];let A;t[13]===d.principalArn?A=t[14]:(A=(0,$.jsx)(x,{errors:[d.principalArn]}),t[13]=d.principalArn,t[14]=A);let j;t[15]!==b||t[16]!==A?(j=(0,$.jsxs)(S,{children:[h,b,A]}),t[15]=b,t[16]=A,t[17]=j):j=t[17];let M;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ae-groups`,children:`Kubernetes groups`})}),t[18]=M):M=t[18];let N;t[19]===l?N=t[20]:(N=l(`kubernetesGroups`),t[19]=l,t[20]=N);let P;t[21]===N?P=t[22]:(P=(0,$.jsxs)(S,{children:[M,(0,$.jsx)(v,{id:`ae-groups`,placeholder:`system:masters`,...N})]}),t[21]=N,t[22]=P);let F;t[23]!==j||t[24]!==P?(F=(0,$.jsxs)(`form`,{className:`space-y-4`,id:`add-access-entry-form`,children:[j,P]}),t[23]=j,t[24]=P,t[25]=F):F=t[25];let I;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,$.jsx)(D,{children:`Cancel`}),t[26]=I):I=t[26];let L;t[27]!==c||t[28]!==p?(L=e=>{e.preventDefault(),c(p)()},t[27]=c,t[28]=p,t[29]=L):L=t[29];let R=a.isPending?`Creating…`:`Create`,z;t[30]!==a.isPending||t[31]!==L||t[32]!==R?(z=(0,$.jsxs)(E,{children:[I,(0,$.jsx)(T,{disabled:a.isPending,onClick:L,children:R})]}),t[30]=a.isPending,t[31]=L,t[32]=R,t[33]=z):z=t[33];let B;t[34]!==F||t[35]!==z?(B=(0,$.jsxs)(C,{children:[m,F,z]}),t[34]=F,t[35]=z,t[36]=B):B=t[36];let U;return t[37]!==i||t[38]!==r||t[39]!==B?(U=(0,$.jsx)(k,{onOpenChange:i,open:r,children:B}),t[37]=i,t[38]=r,t[39]=B,t[40]=U):U=t[40],U}function Me(e){return e.trim()}function Ne(e){let t=(0,De.c)(25),{clusterName:n}=e,r;t[0]===n?r=t[1]:(r=le(n),t[0]=n,t[1]=r);let{data:i}=a(r),o=q(),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(),d;t[2]===i.accessEntries?d=t[3]:(d=i.accessEntries??[],t[2]=i.accessEntries,t[3]=d);let f=d,p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(`div`,{className:`mb-4 flex justify-end`,children:(0,$.jsx)(_,{onClick:()=>c(!0),size:`sm`,children:`Add access entry`})}),t[4]=p):p=t[4];let m;t[5]!==n||t[6]!==f?(m=f.length>0?(0,$.jsx)(`div`,{className:`space-y-4`,children:f.map(e=>(0,$.jsx)(ke,{clusterName:n,onDelete:u,principalArn:e},e))}):(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`No access entries.`}),t[5]=n,t[6]=f,t[7]=m):m=t[7];let h;t[8]!==n||t[9]!==s?(h=(0,$.jsx)(je,{clusterName:n,onOpenChange:c,open:s}),t[8]=n,t[9]=s,t[10]=h):h=t[10];let g=`Delete access entry for "${l??``}"?`,v;t[11]!==n||t[12]!==o||t[13]!==l?(v=()=>{l&&o.mutate({clusterName:n,principalArn:l},{onSuccess:()=>u(void 0)})},t[11]=n,t[12]=o,t[13]=l,t[14]=v):v=t[14];let y;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(y=e=>!e&&u(void 0),t[15]=y):y=t[15];let b=l!==void 0,x;t[16]!==o.isPending||t[17]!==g||t[18]!==v||t[19]!==b?(x=(0,$.jsx)(be,{description:g,isPending:o.isPending,onConfirm:v,onOpenChange:y,open:b,title:`Delete access entry`}),t[16]=o.isPending,t[17]=g,t[18]=v,t[19]=b,t[20]=x):x=t[20];let S;return t[21]!==x||t[22]!==m||t[23]!==h?(S=(0,$.jsxs)($.Fragment,{children:[p,m,h,x]}),t[21]=x,t[22]=m,t[23]=h,t[24]=S):S=t[24],S}var Pe=new Set([`CREATING`,`UPDATING`,`DELETING`]),Fe=5e3,Ie=`h-7 w-full rounded-md border border-input bg-input/20 px-2 text-sm`;function Le(e){let t=(0,De.c)(95),{clusterName:n,catalog:r,installed:i,open:a,onOpenChange:o}=e,s=z(),c;t[0]===i?c=t[1]:(c=e=>!i.includes(e.addonName??``),t[0]=i,t[1]=c);let l=r.filter(c),u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u={resolver:he(K),defaultValues:{addonName:``,addonVersion:``,serviceAccountRoleArn:``,configurationValues:``}},t[2]=u):u=t[2];let{control:d,formState:f,handleSubmit:p,register:m,reset:h,setValue:g}=pe(u),{errors:_}=f,b;t[3]===d?b=t[4]:(b={control:d,name:`addonName`},t[3]=d,t[4]=b);let A=fe(b),j;t[5]===d?j=t[6]:(j={control:d,name:`addonVersion`},t[5]=d,t[6]=j);let M=fe(j),N;t[7]===A?N=t[8]:(N=e=>e.addonName===A,t[7]=A,t[8]=N);let P=r.find(N)?.addonVersions??[],F;t[9]===M?F=t[10]:(F=e=>e.addonVersion===M,t[9]=M,t[10]=F);let I=P.find(F)?.requiresIamPermissions??!1,L;t[11]!==r||t[12]!==g?(L=e=>{let t=r.find(t=>t.addonName===e)?.addonVersions?.[0]?.addonVersion??``;g(`addonName`,e,{shouldValidate:!0}),g(`addonVersion`,t,{shouldValidate:!0})},t[11]=r,t[12]=g,t[13]=L):L=t[13];let R=L,B;t[14]!==n||t[15]!==s||t[16]!==o||t[17]!==h?(B=async e=>{await s.mutateAsync({clusterName:n,addonName:e.addonName,addonVersion:e.addonVersion||void 0,serviceAccountRoleArn:e.serviceAccountRoleArn.trim()||void 0,configurationValues:e.configurationValues.trim()||void 0}),h(),o(!1)},t[14]=n,t[15]=s,t[16]=o,t[17]=h,t[18]=B):B=t[18];let V=B,H=k,U=C,W;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,$.jsx)(O,{children:(0,$.jsx)(w,{children:`Add add-on`})}),t[19]=W):W=t[19];let ee;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`addon-name`,children:`Add-on`})}),t[20]=ee):ee=t[20];let G=!!_.addonName,q;t[21]===R?q=t[22]:(q=e=>R(e.target.value),t[21]=R,t[22]=q);let te;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,$.jsx)(`option`,{value:``,children:`Select add-on`}),t[23]=te):te=t[23];let J=l.map(ze),ne;t[24]!==A||t[25]!==G||t[26]!==q||t[27]!==J?(ne=(0,$.jsxs)(`select`,{"aria-invalid":G,className:Ie,id:`addon-name`,onChange:q,value:A,children:[te,J]}),t[24]=A,t[25]=G,t[26]=q,t[27]=J,t[28]=ne):ne=t[28];let Y;t[29]===_.addonName?Y=t[30]:(Y=(0,$.jsx)(x,{errors:[_.addonName]}),t[29]=_.addonName,t[30]=Y);let re;t[31]!==ne||t[32]!==Y?(re=(0,$.jsxs)(S,{children:[ee,ne,Y]}),t[31]=ne,t[32]=Y,t[33]=re):re=t[33];let ie=S,ae;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`addon-version`,children:`Version`})}),t[34]=ae):ae=t[34];let oe=!!_.addonVersion,se=Ie,ce=P.length===0,le;t[35]===g?le=t[36]:(le=e=>g(`addonVersion`,e.target.value,{shouldValidate:!0}),t[35]=g,t[36]=le);let ue=P.map(Re),de;t[37]!==M||t[38]!==oe||t[39]!==se||t[40]!==ce||t[41]!==le||t[42]!==ue?(de=(0,$.jsx)(`select`,{"aria-invalid":oe,className:se,disabled:ce,id:`addon-version`,onChange:le,value:M,children:ue}),t[37]=M,t[38]=oe,t[39]=se,t[40]=ce,t[41]=le,t[42]=ue,t[43]=de):de=t[43];let ge;t[44]===_.addonVersion?ge=t[45]:(ge=(0,$.jsx)(x,{errors:[_.addonVersion]}),t[44]=_.addonVersion,t[45]=ge);let _e;t[46]!==ie||t[47]!==ae||t[48]!==de||t[49]!==ge?(_e=(0,$.jsxs)(ie,{children:[ae,de,ge]}),t[46]=ie,t[47]=ae,t[48]=de,t[49]=ge,t[50]=_e):_e=t[50];let ve;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(ve=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`addon-role`,children:`Service account IAM role ARN`})}),t[51]=ve):ve=t[51];let ye;t[52]===m?ye=t[53]:(ye=m(`serviceAccountRoleArn`),t[52]=m,t[53]=ye);let be;t[54]===ye?be=t[55]:(be=(0,$.jsx)(v,{id:`addon-role`,placeholder:`arn:aws:iam::…:role/…`,...ye}),t[54]=ye,t[55]=be);let X;t[56]===I?X=t[57]:(X=I&&(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`This add-on needs IAM permissions — provide an IRSA role ARN.`}),t[56]=I,t[57]=X);let Z;t[58]!==be||t[59]!==X?(Z=(0,$.jsxs)(S,{children:[ve,be,X]}),t[58]=be,t[59]=X,t[60]=Z):Z=t[60];let xe;t[61]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`addon-config`,children:`Configuration values (JSON)`})}),t[61]=xe):xe=t[61];let Se;t[62]===_.configurationValues?Se=t[63]:(Se=e=>{let{field:t}=e,{onBlur:n,onChange:r,ref:i,value:a}=t;return(0,$.jsx)(Ee,{error:!!_.configurationValues,id:`addon-config`,onBlur:n,onChange:r,placeholder:`{"replicaCount": 2}`,ref:i,rows:4,value:a})},t[62]=_.configurationValues,t[63]=Se);let Ce;t[64]!==d||t[65]!==Se?(Ce=(0,$.jsx)(me,{control:d,name:`configurationValues`,render:Se}),t[64]=d,t[65]=Se,t[66]=Ce):Ce=t[66];let we;t[67]===_.configurationValues?we=t[68]:(we=(0,$.jsx)(x,{errors:[_.configurationValues]}),t[67]=_.configurationValues,t[68]=we);let Te;t[69]!==Ce||t[70]!==we?(Te=(0,$.jsxs)(S,{children:[xe,Ce,we]}),t[69]=Ce,t[70]=we,t[71]=Te):Te=t[71];let Q;t[72]!==re||t[73]!==_e||t[74]!==Z||t[75]!==Te?(Q=(0,$.jsxs)(`form`,{className:`space-y-4`,id:`add-addon-form`,children:[re,_e,Z,Te]}),t[72]=re,t[73]=_e,t[74]=Z,t[75]=Te,t[76]=Q):Q=t[76];let Oe;t[77]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,$.jsx)(D,{children:`Cancel`}),t[77]=Oe):Oe=t[77];let ke;t[78]!==p||t[79]!==V?(ke=e=>{e.preventDefault(),p(V)()},t[78]=p,t[79]=V,t[80]=ke):ke=t[80];let Ae=s.isPending?`Adding…`:`Add`,je;t[81]!==s.isPending||t[82]!==ke||t[83]!==Ae?(je=(0,$.jsxs)(E,{children:[Oe,(0,$.jsx)(T,{disabled:s.isPending,onClick:ke,children:Ae})]}),t[81]=s.isPending,t[82]=ke,t[83]=Ae,t[84]=je):je=t[84];let Me;t[85]!==U||t[86]!==W||t[87]!==Q||t[88]!==je?(Me=(0,$.jsxs)(U,{className:`max-h-[85vh] overflow-y-auto`,children:[W,Q,je]}),t[85]=U,t[86]=W,t[87]=Q,t[88]=je,t[89]=Me):Me=t[89];let Ne;return t[90]!==H||t[91]!==o||t[92]!==a||t[93]!==Me?(Ne=(0,$.jsx)(H,{onOpenChange:o,open:a,children:Me}),t[90]=H,t[91]=o,t[92]=a,t[93]=Me,t[94]=Ne):Ne=t[94],Ne}function Re(e,t){return(0,$.jsxs)(`option`,{value:e.addonVersion??``,children:[e.addonVersion,t===0?` (latest)`:``]},e.addonVersion)}function ze(e){return(0,$.jsx)(`option`,{value:e.addonName??``,children:e.addonName},e.addonName)}function Be(e){let t=(0,De.c)(48),{clusterName:n,addonName:r,current:i,versions:a,open:o,onOpenChange:s}=e,c=te(),[l,u]=(0,Q.useState)(i.addonVersion??``),[d,f]=(0,Q.useState)(i.serviceAccountRoleArn??``),[p,m]=(0,Q.useState)(i.configurationValues??``),[h,g]=(0,Q.useState)(),[_,b]=(0,Q.useState)(o);o!==_&&(b(o),o&&(u(i.addonVersion??``),f(i.serviceAccountRoleArn??``),m(i.configurationValues??``),g(void 0)));let x;t[0]!==r||t[1]!==n||t[2]!==p||t[3]!==s||t[4]!==d||t[5]!==c||t[6]!==l?(x=()=>{let e=G.safeParse(p);if(!e.success){g(e.error.issues[0]?.message??`Configuration must be valid JSON`);return}g(void 0),c.mutate({clusterName:n,addonName:r,addonVersion:l||void 0,serviceAccountRoleArn:d.trim()||void 0,configurationValues:p.trim()||void 0},{onSuccess:()=>s(!1)})},t[0]=r,t[1]=n,t[2]=p,t[3]=s,t[4]=d,t[5]=c,t[6]=l,t[7]=x):x=t[7];let A=x,j;t[8]===r?j=t[9]:(j=(0,$.jsx)(O,{children:(0,$.jsxs)(w,{children:[`Update `,r]})}),t[8]=r,t[9]=j);let M;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`update-addon-version`,children:`Version`})}),t[10]=M):M=t[10];let N=a.length===0,P;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(P=e=>u(e.target.value),t[11]=P):P=t[11];let F;t[12]===a?F=t[13]:(F=a.map(Ve),t[12]=a,t[13]=F);let I;t[14]!==N||t[15]!==F||t[16]!==l?(I=(0,$.jsxs)(S,{children:[M,(0,$.jsx)(`select`,{className:Ie,disabled:N,id:`update-addon-version`,onChange:P,value:l,children:F})]}),t[14]=N,t[15]=F,t[16]=l,t[17]=I):I=t[17];let L;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`update-addon-role`,children:`Service account IAM role ARN`})}),t[18]=L):L=t[18];let R;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(R=e=>f(e.target.value),t[19]=R):R=t[19];let z;t[20]===d?z=t[21]:(z=(0,$.jsxs)(S,{children:[L,(0,$.jsx)(v,{id:`update-addon-role`,onChange:R,placeholder:`arn:aws:iam::…:role/…`,value:d})]}),t[20]=d,t[21]=z);let B;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`update-addon-config`,children:`Configuration values (JSON)`})}),t[22]=B):B=t[22];let V=!!h,H;t[23]!==p||t[24]!==V?(H=(0,$.jsxs)(S,{children:[B,(0,$.jsx)(Ee,{error:V,id:`update-addon-config`,onChange:m,rows:4,value:p})]}),t[23]=p,t[24]=V,t[25]=H):H=t[25];let U;t[26]!==z||t[27]!==H||t[28]!==I?(U=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[I,z,H]}),t[26]=z,t[27]=H,t[28]=I,t[29]=U):U=t[29];let W;t[30]===h?W=t[31]:(W=h&&(0,$.jsx)(`p`,{className:`mt-2 text-xs text-destructive`,children:h}),t[30]=h,t[31]=W);let ee;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsx)(D,{children:`Cancel`}),t[32]=ee):ee=t[32];let K;t[33]===A?K=t[34]:(K=e=>{e.preventDefault(),A()},t[33]=A,t[34]=K);let q=c.isPending?`Updating…`:`Update`,J;t[35]!==K||t[36]!==q||t[37]!==c.isPending?(J=(0,$.jsxs)(E,{children:[ee,(0,$.jsx)(T,{disabled:c.isPending,onClick:K,children:q})]}),t[35]=K,t[36]=q,t[37]=c.isPending,t[38]=J):J=t[38];let ne;t[39]!==U||t[40]!==W||t[41]!==J||t[42]!==j?(ne=(0,$.jsxs)(C,{className:`max-h-[85vh] overflow-y-auto`,children:[j,U,W,J]}),t[39]=U,t[40]=W,t[41]=J,t[42]=j,t[43]=ne):ne=t[43];let Y;return t[44]!==s||t[45]!==o||t[46]!==ne?(Y=(0,$.jsx)(k,{onOpenChange:s,open:o,children:ne}),t[44]=s,t[45]=o,t[46]=ne,t[47]=Y):Y=t[47],Y}function Ve(e){return(0,$.jsx)(`option`,{value:e,children:e},e)}function He(e){let t=(0,De.c)(53),{clusterName:n,addonName:r,catalog:a,onDelete:o}=e,s;t[0]!==r||t[1]!==n?(s=se(n,r),t[0]=r,t[1]=n,t[2]=s):s=t[2];let c;t[3]===s?c=t[4]:(c={...s,refetchInterval:We},t[3]=s,t[4]=c);let{data:l}=i(c),[u,f]=(0,Q.useState)(!1),p=l?.addon,m=p?.health?.issues?.[0]?.message,g;t[5]!==r||t[6]!==a?(g=a.find(e=>e.addonName===r)?.addonVersions?.map(Ue).filter(Boolean)??[],t[5]=r,t[6]=a,t[7]=g):g=t[7];let v=g,y;t[8]===r?y=t[9]:(y=(0,$.jsx)(`span`,{children:r}),t[8]=r,t[9]=y);let b=p?.status,x;t[10]===b?x=t[11]:(x=L(b),t[10]=b,t[11]=x);let S=p?.status??`UNKNOWN`,C;t[12]!==x||t[13]!==S?(C=(0,$.jsx)(xe,{variant:x,children:S}),t[12]=x,t[13]=S,t[14]=C):C=t[14];let w;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>f(!0),t[15]=w):w=t[15];let T;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(_,{"aria-label":`Update add-on`,onClick:w,size:`icon`,variant:`ghost`,children:(0,$.jsx)(d,{className:`size-4`})}),t[16]=T):T=t[16];let E;t[17]!==r||t[18]!==o?(E=()=>o(r),t[17]=r,t[18]=o,t[19]=E):E=t[19];let D;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(h,{className:`size-4`}),t[20]=D):D=t[20];let O;t[21]===E?O=t[22]:(O=(0,$.jsx)(_,{"aria-label":`Remove add-on`,onClick:E,size:`icon`,variant:`ghost`,children:D}),t[21]=E,t[22]=O);let k;t[23]!==O||t[24]!==C?(k=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[C,T,O]}),t[23]=O,t[24]=C,t[25]=k):k=t[25];let A;t[26]!==k||t[27]!==y?(A=(0,$.jsx)(X.Header,{children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[y,k]})}),t[26]=k,t[27]=y,t[28]=A):A=t[28];let j=p?.addonVersion,M;t[29]===j?M=t[30]:(M=(0,$.jsx)(Z,{label:`Version`,value:j}),t[29]=j,t[30]=M);let N=p?.serviceAccountRoleArn,P;t[31]===N?P=t[32]:(P=(0,$.jsx)(Z,{label:`IRSA role`,value:N}),t[31]=N,t[32]=P);let F;t[33]===m?F=t[34]:(F=m&&(0,$.jsx)(Z,{label:`Issue`,value:(0,$.jsx)(`span`,{className:`text-destructive`,children:m})}),t[33]=m,t[34]=F);let I;t[35]!==M||t[36]!==P||t[37]!==F?(I=(0,$.jsxs)(X.Content,{children:[M,P,F]}),t[35]=M,t[36]=P,t[37]=F,t[38]=I):I=t[38];let R=p?.addonVersion,z=p?.serviceAccountRoleArn,B=p?.configurationValues,V;t[39]!==R||t[40]!==z||t[41]!==B?(V={addonVersion:R,serviceAccountRoleArn:z,configurationValues:B},t[39]=R,t[40]=z,t[41]=B,t[42]=V):V=t[42];let H;t[43]!==r||t[44]!==n||t[45]!==u||t[46]!==V||t[47]!==v?(H=(0,$.jsx)(Be,{addonName:r,clusterName:n,current:V,onOpenChange:f,open:u,versions:v}),t[43]=r,t[44]=n,t[45]=u,t[46]=V,t[47]=v,t[48]=H):H=t[48];let U;return t[49]!==A||t[50]!==I||t[51]!==H?(U=(0,$.jsxs)(X,{children:[A,I,H]}),t[49]=A,t[50]=I,t[51]=H,t[52]=U):U=t[52],U}function Ue(e){return e.addonVersion??``}function We(e){return Pe.has(e.state.data?.addon?.status??``)?Fe:!1}function Ge(e){let t=(0,De.c)(31),{clusterName:n}=e,r;t[0]===n?r=t[1]:(r=Y(n),t[0]=n,t[1]=r);let{data:o}=a(r),{data:s}=i(re),c=ne(),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(),p;t[2]===o.addons?p=t[3]:(p=o.addons??[],t[2]=o.addons,t[3]=p);let m=p,h;t[4]===s?.addons?h=t[5]:(h=s?.addons??[],t[4]=s?.addons,t[5]=h);let g=h,v;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Add-on manifests are staged; activation completes when the cluster reports the workload ready.`}),t[6]=v):v=t[6];let y;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsxs)(`div`,{className:`mb-4 flex items-center justify-between gap-4`,children:[v,(0,$.jsx)(_,{onClick:()=>u(!0),size:`sm`,children:`Add add-on`})]}),t[7]=y):y=t[7];let b;t[8]!==m||t[9]!==g||t[10]!==n?(b=m.length>0?(0,$.jsx)(`div`,{className:`space-y-4`,children:m.map(e=>(0,$.jsx)(He,{addonName:e,catalog:g,clusterName:n,onDelete:f},e))}):(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`No add-ons installed.`}),t[8]=m,t[9]=g,t[10]=n,t[11]=b):b=t[11];let x;t[12]!==m||t[13]!==g||t[14]!==n||t[15]!==l?(x=(0,$.jsx)(Le,{catalog:g,clusterName:n,installed:m,onOpenChange:u,open:l}),t[12]=m,t[13]=g,t[14]=n,t[15]=l,t[16]=x):x=t[16];let S=`Remove add-on "${d??``}" from the cluster?`,C;t[17]!==n||t[18]!==c||t[19]!==d?(C=()=>{d&&c.mutate({clusterName:n,addonName:d},{onSuccess:()=>f(void 0)})},t[17]=n,t[18]=c,t[19]=d,t[20]=C):C=t[20];let w;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(w=e=>!e&&f(void 0),t[21]=w):w=t[21];let T=d!==void 0,E;t[22]!==c.isPending||t[23]!==T||t[24]!==S||t[25]!==C?(E=(0,$.jsx)(be,{confirmLabel:`Remove`,description:S,isPending:c.isPending,onConfirm:C,onOpenChange:w,open:T,pendingLabel:`Removing…`,title:`Remove add-on`}),t[22]=c.isPending,t[23]=T,t[24]=S,t[25]=C,t[26]=E):E=t[26];let D;return t[27]!==E||t[28]!==b||t[29]!==x?(D=(0,$.jsxs)($.Fragment,{children:[y,b,x,E]}),t[27]=E,t[28]=b,t[29]=x,t[30]=D):D=t[30],D}function Ke(e){let t=(0,De.c)(6),{to:n,id:r}=e,i;t[0]===r?i=t[1]:(i={id:r},t[0]=r,t[1]=i);let a;return t[2]!==r||t[3]!==i||t[4]!==n?(a=(0,$.jsx)(o,{className:`font-mono text-primary underline-offset-2 hover:underline`,params:i,to:n,children:r}),t[2]=r,t[3]=i,t[4]=n,t[5]=a):a=t[5],a}function qe(e){let t=(0,De.c)(45),{cluster:n}=e,r=n?.resourcesVpcConfig,i;t[0]===r?.subnetIds?i=t[1]:(i=r?.subnetIds??[],t[0]=r?.subnetIds,t[1]=i);let a=i,o;t[2]===r?.securityGroupIds?o=t[3]:(o=r?.securityGroupIds??[],t[2]=r?.securityGroupIds,t[3]=o);let s=o,c;t[4]===r?.publicAccessCidrs?c=t[5]:(c=r?.publicAccessCidrs??[],t[4]=r?.publicAccessCidrs,t[5]=c);let l=c,u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(X.Header,{children:`VPC`}),t[6]=u):u=t[6];let d;t[7]===r?d=t[8]:(d=r?.vpcId?(0,$.jsx)(Ke,{id:r.vpcId,to:`/ec2/describe-vpcs/$id`}):void 0,t[7]=r,t[8]=d);let f;t[9]===d?f=t[10]:(f=(0,$.jsx)(Z,{label:`VPC`,value:d}),t[9]=d,t[10]=f);let p=n?.endpoint,m;t[11]===p?m=t[12]:(m=(0,$.jsx)(Z,{label:`API server endpoint`,value:p}),t[11]=p,t[12]=m);let h=r?.endpointPublicAccess?`Enabled`:`Disabled`,g;t[13]===h?g=t[14]:(g=(0,$.jsx)(Z,{label:`Public access`,value:h}),t[13]=h,t[14]=g);let _=r?.endpointPrivateAccess?`Enabled`:`Disabled`,v;t[15]===_?v=t[16]:(v=(0,$.jsx)(Z,{label:`Private access`,value:_}),t[15]=_,t[16]=v);let y;t[17]!==l||t[18]!==r?.endpointPublicAccess?(y=r?.endpointPublicAccess&&(0,$.jsx)(Z,{label:`Public access CIDRs`,value:l.length>0?(0,$.jsx)(`div`,{className:`space-y-1 font-mono text-xs`,children:l.map(Xe)}):`Any (0.0.0.0/0)`}),t[17]=l,t[18]=r?.endpointPublicAccess,t[19]=y):y=t[19];let b;t[20]!==g||t[21]!==v||t[22]!==y||t[23]!==f||t[24]!==m?(b=(0,$.jsxs)(X,{children:[u,(0,$.jsxs)(X.Content,{children:[f,m,g,v,y]})]}),t[20]=g,t[21]=v,t[22]=y,t[23]=f,t[24]=m,t[25]=b):b=t[25];let x;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(X.Header,{children:`Subnets`}),t[26]=x):x=t[26];let S;t[27]===a?S=t[28]:(S=(0,$.jsxs)(X,{children:[x,(0,$.jsx)(X.Content,{children:a.length>0?(0,$.jsx)(`div`,{className:`space-y-1`,children:a.map(Ye)}):(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`No subnets.`})})]}),t[27]=a,t[28]=S);let C;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(X.Header,{children:`Security groups`}),t[29]=C):C=t[29];let w;t[30]===r?w=t[31]:(w=r?.clusterSecurityGroupId?(0,$.jsx)(Ke,{id:r.clusterSecurityGroupId,to:`/ec2/describe-security-groups/$id`}):void 0,t[30]=r,t[31]=w);let T;t[32]===w?T=t[33]:(T=(0,$.jsx)(Z,{label:`Cluster security group`,value:w}),t[32]=w,t[33]=T);let E;t[34]===s?E=t[35]:(E=s.length>0?(0,$.jsx)(`div`,{className:`space-y-1`,children:s.map(Je)}):`—`,t[34]=s,t[35]=E);let D;t[36]===E?D=t[37]:(D=(0,$.jsx)(Z,{label:`Additional security groups`,value:E}),t[36]=E,t[37]=D);let O;t[38]!==T||t[39]!==D?(O=(0,$.jsxs)(X,{children:[C,(0,$.jsxs)(X.Content,{children:[T,D]})]}),t[38]=T,t[39]=D,t[40]=O):O=t[40];let k;return t[41]!==b||t[42]!==S||t[43]!==O?(k=(0,$.jsxs)($.Fragment,{children:[b,S,O]}),t[41]=b,t[42]=S,t[43]=O,t[44]=k):k=t[44],k}function Je(e){return(0,$.jsx)(Ke,{id:e,to:`/ec2/describe-security-groups/$id`},e)}function Ye(e){return(0,$.jsx)(Ke,{id:e,to:`/ec2/describe-subnets/$id`},e)}function Xe(e){return(0,$.jsx)(`div`,{children:e},e)}function Ze(e){return!!e&&(e.endsWith(`_GPU`)||e.endsWith(`_NVIDIA`))}function Qe(e,t){let n=t.find(t=>t.InstanceType===e);return!!n&&_e(n)}function $e(e){let t=(0,De.c)(44),{clusterName:n,nodegroupName:r,current:i,open:a,onOpenChange:o}=e,s=M(),[c,l]=(0,Q.useState)(i.minSize??0),[u,d]=(0,Q.useState)(i.desiredSize??0),[f,p]=(0,Q.useState)(i.maxSize??0),[m,h]=(0,Q.useState)(),[g,_]=(0,Q.useState)(a);a!==g&&(_(a),a&&(l(i.minSize??0),d(i.desiredSize??0),p(i.maxSize??0),h(void 0)));let b;t[0]!==n||t[1]!==u||t[2]!==f||t[3]!==c||t[4]!==r||t[5]!==o||t[6]!==s?(b=()=>{if(!(c<=u&&u<=f)){h(`Sizes must satisfy min ≤ desired ≤ max`);return}s.mutate({clusterName:n,nodegroupName:r,minSize:c,desiredSize:u,maxSize:f},{onSuccess:()=>o(!1)})},t[0]=n,t[1]=u,t[2]=f,t[3]=c,t[4]=r,t[5]=o,t[6]=s,t[7]=b):b=t[7];let x=b,A;t[8]===r?A=t[9]:(A=(0,$.jsx)(O,{children:(0,$.jsxs)(w,{children:[`Scale `,r]})}),t[8]=r,t[9]=A);let j;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`scale-min`,children:`Min`})}),t[10]=j):j=t[10];let N;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(N=e=>l(Number(e.target.value)),t[11]=N):N=t[11];let P;t[12]===c?P=t[13]:(P=(0,$.jsxs)(S,{children:[j,(0,$.jsx)(v,{id:`scale-min`,onChange:N,type:`number`,value:c})]}),t[12]=c,t[13]=P);let F;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`scale-desired`,children:`Desired`})}),t[14]=F):F=t[14];let I;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(I=e=>d(Number(e.target.value)),t[15]=I):I=t[15];let L;t[16]===u?L=t[17]:(L=(0,$.jsxs)(S,{children:[F,(0,$.jsx)(v,{id:`scale-desired`,onChange:I,type:`number`,value:u})]}),t[16]=u,t[17]=L);let R;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`scale-max`,children:`Max`})}),t[18]=R):R=t[18];let z;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(z=e=>p(Number(e.target.value)),t[19]=z):z=t[19];let B;t[20]===f?B=t[21]:(B=(0,$.jsxs)(S,{children:[R,(0,$.jsx)(v,{id:`scale-max`,onChange:z,type:`number`,value:f})]}),t[20]=f,t[21]=B);let V;t[22]!==B||t[23]!==P||t[24]!==L?(V=(0,$.jsxs)(`div`,{className:`grid grid-cols-3 gap-3`,children:[P,L,B]}),t[22]=B,t[23]=P,t[24]=L,t[25]=V):V=t[25];let H;t[26]===m?H=t[27]:(H=m&&(0,$.jsx)(`p`,{className:`mt-2 text-xs text-destructive`,children:m}),t[26]=m,t[27]=H);let U;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,$.jsx)(D,{children:`Cancel`}),t[28]=U):U=t[28];let W;t[29]===x?W=t[30]:(W=e=>{e.preventDefault(),x()},t[29]=x,t[30]=W);let ee=s.isPending?`Scaling…`:`Scale`,G;t[31]!==s.isPending||t[32]!==W||t[33]!==ee?(G=(0,$.jsxs)(E,{children:[U,(0,$.jsx)(T,{disabled:s.isPending,onClick:W,children:ee})]}),t[31]=s.isPending,t[32]=W,t[33]=ee,t[34]=G):G=t[34];let K;t[35]!==V||t[36]!==H||t[37]!==G||t[38]!==A?(K=(0,$.jsxs)(C,{children:[A,V,H,G]}),t[35]=V,t[36]=H,t[37]=G,t[38]=A,t[39]=K):K=t[39];let q;return t[40]!==o||t[41]!==a||t[42]!==K?(q=(0,$.jsx)(k,{onOpenChange:o,open:a,children:K}),t[40]=o,t[41]=a,t[42]=K,t[43]=q):q=t[43],q}function et(e){let t=(0,De.c)(71),{clusterName:n,clusterVersion:r,nodegroupName:a,onDelete:o}=e,s;t[0]!==n||t[1]!==a?(s=ie(n,a),t[0]=n,t[1]=a,t[2]=s):s=t[2];let{data:c}=i(s),l=P(),u=c?.nodegroup,p=u?.scalingConfig,[m,g]=(0,Q.useState)(!1),[v,y]=(0,Q.useState)(!1),b=!!r&&!!u?.version&&u.version!==r,x=u?.amiType,S;t[3]===x?S=t[4]:(S=Ze(x),t[3]=x,t[4]=S);let C=S,w;t[5]===a?w=t[6]:(w=(0,$.jsx)(`span`,{children:a}),t[5]=a,t[6]=w);let T;t[7]===C?T=t[8]:(T=C&&(0,$.jsx)(xe,{variant:`secondary`,children:`GPU`}),t[7]=C,t[8]=T);let E;t[9]!==w||t[10]!==T?(E=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[w,T]}),t[9]=w,t[10]=T,t[11]=E):E=t[11];let D;t[12]===b?D=t[13]:(D=b&&(0,$.jsx)(_,{"aria-label":`Update node group version`,onClick:()=>y(!0),size:`icon`,variant:`ghost`,children:(0,$.jsx)(d,{className:`size-4`})}),t[12]=b,t[13]=D);let O;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(O=()=>g(!0),t[14]=O):O=t[14];let k;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(_,{"aria-label":`Scale node group`,onClick:O,size:`icon`,variant:`ghost`,children:(0,$.jsx)(f,{className:`size-4`})}),t[15]=k):k=t[15];let A;t[16]!==a||t[17]!==o?(A=()=>o(a),t[16]=a,t[17]=o,t[18]=A):A=t[18];let j;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(h,{className:`size-4`}),t[19]=j):j=t[19];let M;t[20]===A?M=t[21]:(M=(0,$.jsx)(_,{"aria-label":`Delete node group`,onClick:A,size:`icon`,variant:`ghost`,children:j}),t[20]=A,t[21]=M);let N;t[22]!==M||t[23]!==D?(N=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[D,k,M]}),t[22]=M,t[23]=D,t[24]=N):N=t[24];let F;t[25]!==N||t[26]!==E?(F=(0,$.jsx)(X.Header,{children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[E,N]})}),t[25]=N,t[26]=E,t[27]=F):F=t[27];let I=u?.status,L;t[28]===I?L=t[29]:(L=(0,$.jsx)(Z,{label:`Status`,value:I}),t[28]=I,t[29]=L);let R=b?`${u?.version} (cluster on ${r})`:u?.version,z;t[30]===R?z=t[31]:(z=(0,$.jsx)(Z,{label:`Kubernetes version`,value:R}),t[30]=R,t[31]=z);let B;t[32]===u?.instanceTypes?B=t[33]:(B=u?.instanceTypes?.join(`, `),t[32]=u?.instanceTypes,t[33]=B);let V;t[34]===B?V=t[35]:(V=(0,$.jsx)(Z,{label:`Instance types`,value:B}),t[34]=B,t[35]=V);let H=u?.amiType,U;t[36]===H?U=t[37]:(U=(0,$.jsx)(Z,{label:`AMI type`,value:H}),t[36]=H,t[37]=U);let W=u?.capacityType,ee;t[38]===W?ee=t[39]:(ee=(0,$.jsx)(Z,{label:`Capacity type`,value:W}),t[38]=W,t[39]=ee);let G=p?`${p.minSize} / ${p.desiredSize} / ${p.maxSize}`:void 0,K;t[40]===G?K=t[41]:(K=(0,$.jsx)(Z,{label:`Scaling (min / desired / max)`,value:G}),t[40]=G,t[41]=K);let q;t[42]!==L||t[43]!==z||t[44]!==V||t[45]!==U||t[46]!==ee||t[47]!==K?(q=(0,$.jsxs)(X.Content,{children:[L,z,V,U,ee,K]}),t[42]=L,t[43]=z,t[44]=V,t[45]=U,t[46]=ee,t[47]=K,t[48]=q):q=t[48];let te;t[49]===p?te=t[50]:(te=p??{},t[49]=p,t[50]=te);let J;t[51]!==n||t[52]!==a||t[53]!==m||t[54]!==te?(J=(0,$.jsx)($e,{clusterName:n,current:te,nodegroupName:a,onOpenChange:g,open:m}),t[51]=n,t[52]=a,t[53]=m,t[54]=te,t[55]=J):J=t[55];let ne=`Update node group "${a}" from ${u?.version} to ${r}? Nodes are replaced in a rolling update.`,Y;t[56]!==n||t[57]!==r||t[58]!==a||t[59]!==l?(Y=()=>l.mutate({clusterName:n,nodegroupName:a,version:r},{onSuccess:()=>y(!1)}),t[56]=n,t[57]=r,t[58]=a,t[59]=l,t[60]=Y):Y=t[60];let re;t[61]!==v||t[62]!==ne||t[63]!==Y||t[64]!==l.isPending?(re=(0,$.jsx)(be,{confirmLabel:`Update`,description:ne,isPending:l.isPending,onConfirm:Y,onOpenChange:y,open:v,title:`Update node group version`}),t[61]=v,t[62]=ne,t[63]=Y,t[64]=l.isPending,t[65]=re):re=t[65];let ae;return t[66]!==F||t[67]!==q||t[68]!==J||t[69]!==re?(ae=(0,$.jsxs)(X,{children:[F,q,J,re]}),t[66]=F,t[67]=q,t[68]=J,t[69]=re,t[70]=ae):ae=t[70],ae}function tt(e){let t=(0,De.c)(141),{clusterName:n,vpcId:r,open:a,onOpenChange:o}=e,{data:s}=i(de),{data:c}=i(A),{data:l}=i(j),u=F(),d;t[0]===s?.Roles?d=t[1]:(d=s?.Roles??[],t[0]=s?.Roles,t[1]=d);let f=d,p;t[2]===r?p=t[3]:(p=e=>e.VpcId===r,t[2]=r,t[3]=p);let m=(c?.Subnets??[]).filter(p),h;t[4]===l?.InstanceTypes?h=t[5]:(h=l?.InstanceTypes??[],t[4]=l?.InstanceTypes,t[5]=h);let g=h,_;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(_=he(R),t[6]=_):_=t[6];let M;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(M={resolver:_,defaultValues:{nodegroupName:``,nodeRole:``,subnetIds:[],instanceTypes:`t3.medium`,amiType:`AL2_x86_64`,capacityType:`ON_DEMAND`,diskSize:20,minSize:1,desiredSize:2,maxSize:3}},t[7]=M):M=t[7];let{control:N,formState:P,handleSubmit:I,register:L,reset:z,setValue:V}=pe(M),{errors:H}=P,U;t[8]===N?U=t[9]:(U={control:N,name:`subnetIds`},t[8]=N,t[9]=U);let W=fe(U),G;t[10]===N?G=t[11]:(G={control:N,name:`instanceTypes`},t[10]=N,t[11]=G);let K=fe(G),q;t[12]!==g||t[13]!==K?(q=Qe(K,g),t[12]=g,t[13]=K,t[14]=q):q=t[14];let te=q,J;t[15]!==W||t[16]!==V?(J=e=>{let t=W.includes(e)?W.filter(t=>t!==e):[...W,e];V(`subnetIds`,t,{shouldValidate:!0})},t[15]=W,t[16]=V,t[17]=J):J=t[17];let ne=J,Y;t[18]!==n||t[19]!==u||t[20]!==o||t[21]!==z?(Y=async e=>{await u.mutateAsync({clusterName:n,nodegroupName:e.nodegroupName,nodeRole:e.nodeRole,subnetIds:e.subnetIds,instanceTypes:e.instanceTypes.split(`,`).map(at).filter(Boolean),amiType:e.amiType,capacityType:e.capacityType,diskSize:e.diskSize,minSize:e.minSize,desiredSize:e.desiredSize,maxSize:e.maxSize}),z(),o(!1)},t[18]=n,t[19]=u,t[20]=o,t[21]=z,t[22]=Y):Y=t[22];let re=Y,ie=k,ae=C,oe;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,$.jsx)(O,{children:(0,$.jsx)(w,{children:`Add node group`})}),t[23]=oe):oe=t[23];let se;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ng-name`,children:`Name`})}),t[24]=se):se=t[24];let ce=!!H.nodegroupName,le;t[25]===L?le=t[26]:(le=L(`nodegroupName`),t[25]=L,t[26]=le);let ue;t[27]!==ce||t[28]!==le?(ue=(0,$.jsx)(v,{"aria-invalid":ce,id:`ng-name`,placeholder:`my-nodegroup`,...le}),t[27]=ce,t[28]=le,t[29]=ue):ue=t[29];let ge;t[30]===H.nodegroupName?ge=t[31]:(ge=(0,$.jsx)(x,{errors:[H.nodegroupName]}),t[30]=H.nodegroupName,t[31]=ge);let _e;t[32]!==ue||t[33]!==ge?(_e=(0,$.jsxs)(S,{children:[se,ue,ge]}),t[32]=ue,t[33]=ge,t[34]=_e):_e=t[34];let ye;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(ye=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ng-role`,children:`Node IAM role`})}),t[35]=ye):ye=t[35];let be=!!H.nodeRole,X;t[36]===L?X=t[37]:(X=L(`nodeRole`),t[36]=L,t[37]=X);let Z;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(Z=(0,$.jsx)(`option`,{value:``,children:`Select role`}),t[38]=Z):Z=t[38];let xe;t[39]===f?xe=t[40]:(xe=f.map(it),t[39]=f,t[40]=xe);let Se;t[41]!==be||t[42]!==X||t[43]!==xe?(Se=(0,$.jsxs)(`select`,{"aria-invalid":be,className:`h-7 w-full rounded-md border border-input bg-input/20 px-2 text-sm`,id:`ng-role`,...X,children:[Z,xe]}),t[41]=be,t[42]=X,t[43]=xe,t[44]=Se):Se=t[44];let Ce;t[45]===H.nodeRole?Ce=t[46]:(Ce=(0,$.jsx)(x,{errors:[H.nodeRole]}),t[45]=H.nodeRole,t[46]=Ce);let we;t[47]!==Se||t[48]!==Ce?(we=(0,$.jsxs)(S,{children:[ye,Se,Ce]}),t[47]=Se,t[48]=Ce,t[49]=we):we=t[49];let Te=S,Ee;t[50]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,$.jsx)(y,{children:`Subnets`}),t[50]=Ee):Ee=t[50];let Q=m.length===0?(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No subnets in the cluster VPC.`}):(0,$.jsx)(`div`,{className:`space-y-1`,children:m.map(e=>(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,$.jsx)(`input`,{"aria-label":`Subnet ${e.SubnetId}`,checked:W.includes(e.SubnetId??``),onChange:()=>ne(e.SubnetId??``),type:`checkbox`}),(0,$.jsxs)(`span`,{className:`font-mono`,children:[e.SubnetId,` · `,e.CidrBlock]})]},e.SubnetId))}),Oe;t[51]===H.subnetIds?Oe=t[52]:(Oe=(0,$.jsx)(x,{errors:[H.subnetIds]}),t[51]=H.subnetIds,t[52]=Oe);let ke;t[53]!==Te||t[54]!==Ee||t[55]!==Q||t[56]!==Oe?(ke=(0,$.jsxs)(Te,{children:[Ee,Q,Oe]}),t[53]=Te,t[54]=Ee,t[55]=Q,t[56]=Oe,t[57]=ke):ke=t[57];let Ae;t[58]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ng-instance-type`,children:`Instance type`})}),t[58]=Ae):Ae=t[58];let je;t[59]!==H.instanceTypes||t[60]!==g?(je=e=>{let{field:t}=e;return(0,$.jsx)(ve,{"aria-invalid":!!H.instanceTypes,id:`ng-instance-type`,instanceTypes:g,onValueChange:t.onChange,value:t.value})},t[59]=H.instanceTypes,t[60]=g,t[61]=je):je=t[61];let Me;t[62]!==N||t[63]!==je?(Me=(0,$.jsx)(me,{control:N,name:`instanceTypes`,render:je}),t[62]=N,t[63]=je,t[64]=Me):Me=t[64];let Ne;t[65]===te?Ne=t[66]:(Ne=te&&(0,$.jsxs)(b,{children:[`GPU node AMI is auto-selected for this instance type. This node group is tainted `,(0,$.jsx)(`code`,{children:`nvidia.com/gpu=present:NoSchedule`}),` `,`by default, so ordinary pods won't schedule onto GPU workers.`]}),t[65]=te,t[66]=Ne);let Pe;t[67]===H.instanceTypes?Pe=t[68]:(Pe=(0,$.jsx)(x,{errors:[H.instanceTypes]}),t[67]=H.instanceTypes,t[68]=Pe);let Fe;t[69]!==Me||t[70]!==Ne||t[71]!==Pe?(Fe=(0,$.jsxs)(S,{children:[Ae,Me,Ne,Pe]}),t[69]=Me,t[70]=Ne,t[71]=Pe,t[72]=Fe):Fe=t[72];let Ie;t[73]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ng-ami`,children:`AMI type`})}),t[73]=Ie):Ie=t[73];let Le;t[74]===L?Le=t[75]:(Le=L(`amiType`),t[74]=L,t[75]=Le);let Re;t[76]===Symbol.for(`react.memo_cache_sentinel`)?(Re=ee.map(rt),t[76]=Re):Re=t[76];let ze;t[77]===Le?ze=t[78]:(ze=(0,$.jsxs)(S,{children:[Ie,(0,$.jsx)(`select`,{className:`h-7 w-full rounded-md border border-input bg-input/20 px-2 text-sm`,id:`ng-ami`,...Le,children:Re})]}),t[77]=Le,t[78]=ze);let Be;t[79]===Symbol.for(`react.memo_cache_sentinel`)?(Be=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ng-capacity`,children:`Capacity type`})}),t[79]=Be):Be=t[79];let Ve;t[80]===L?Ve=t[81]:(Ve=L(`capacityType`),t[80]=L,t[81]=Ve);let He;t[82]===Symbol.for(`react.memo_cache_sentinel`)?(He=B.map(nt),t[82]=He):He=t[82];let Ue;t[83]===Ve?Ue=t[84]:(Ue=(0,$.jsxs)(S,{children:[Be,(0,$.jsx)(`select`,{className:`h-7 w-full rounded-md border border-input bg-input/20 px-2 text-sm`,id:`ng-capacity`,...Ve,children:He})]}),t[83]=Ve,t[84]=Ue);let We;t[85]!==ze||t[86]!==Ue?(We=(0,$.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[ze,Ue]}),t[85]=ze,t[86]=Ue,t[87]=We):We=t[87];let Ge;t[88]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ng-disk`,children:`Disk (GB)`})}),t[88]=Ge):Ge=t[88];let Ke;t[89]===L?Ke=t[90]:(Ke=L(`diskSize`,{valueAsNumber:!0}),t[89]=L,t[90]=Ke);let qe;t[91]===Ke?qe=t[92]:(qe=(0,$.jsxs)(S,{children:[Ge,(0,$.jsx)(v,{id:`ng-disk`,type:`number`,...Ke})]}),t[91]=Ke,t[92]=qe);let Je;t[93]===Symbol.for(`react.memo_cache_sentinel`)?(Je=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ng-min`,children:`Min`})}),t[93]=Je):Je=t[93];let Ye;t[94]===L?Ye=t[95]:(Ye=L(`minSize`,{valueAsNumber:!0}),t[94]=L,t[95]=Ye);let Xe;t[96]===Ye?Xe=t[97]:(Xe=(0,$.jsxs)(S,{children:[Je,(0,$.jsx)(v,{id:`ng-min`,type:`number`,...Ye})]}),t[96]=Ye,t[97]=Xe);let Ze;t[98]===Symbol.for(`react.memo_cache_sentinel`)?(Ze=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ng-desired`,children:`Desired`})}),t[98]=Ze):Ze=t[98];let $e;t[99]===L?$e=t[100]:($e=L(`desiredSize`,{valueAsNumber:!0}),t[99]=L,t[100]=$e);let et;t[101]===$e?et=t[102]:(et=(0,$.jsxs)(S,{children:[Ze,(0,$.jsx)(v,{id:`ng-desired`,type:`number`,...$e})]}),t[101]=$e,t[102]=et);let tt;t[103]===Symbol.for(`react.memo_cache_sentinel`)?(tt=(0,$.jsx)(y,{children:(0,$.jsx)(`label`,{htmlFor:`ng-max`,children:`Max`})}),t[103]=tt):tt=t[103];let ot;t[104]===L?ot=t[105]:(ot=L(`maxSize`,{valueAsNumber:!0}),t[104]=L,t[105]=ot);let st;t[106]===ot?st=t[107]:(st=(0,$.jsxs)(S,{children:[tt,(0,$.jsx)(v,{id:`ng-max`,type:`number`,...ot})]}),t[106]=ot,t[107]=st);let ct;t[108]!==qe||t[109]!==Xe||t[110]!==et||t[111]!==st?(ct=(0,$.jsxs)(`div`,{className:`grid grid-cols-4 gap-3`,children:[qe,Xe,et,st]}),t[108]=qe,t[109]=Xe,t[110]=et,t[111]=st,t[112]=ct):ct=t[112];let lt;t[113]===H.desiredSize?lt=t[114]:(lt=(0,$.jsx)(x,{errors:[H.desiredSize]}),t[113]=H.desiredSize,t[114]=lt);let ut;t[115]!==_e||t[116]!==we||t[117]!==ke||t[118]!==Fe||t[119]!==We||t[120]!==ct||t[121]!==lt?(ut=(0,$.jsxs)(`form`,{className:`space-y-4`,id:`add-nodegroup-form`,children:[_e,we,ke,Fe,We,ct,lt]}),t[115]=_e,t[116]=we,t[117]=ke,t[118]=Fe,t[119]=We,t[120]=ct,t[121]=lt,t[122]=ut):ut=t[122];let dt;t[123]===Symbol.for(`react.memo_cache_sentinel`)?(dt=(0,$.jsx)(D,{children:`Cancel`}),t[123]=dt):dt=t[123];let ft;t[124]!==I||t[125]!==re?(ft=e=>{e.preventDefault(),I(re)()},t[124]=I,t[125]=re,t[126]=ft):ft=t[126];let pt=u.isPending?`Creating…`:`Create`,mt;t[127]!==u.isPending||t[128]!==ft||t[129]!==pt?(mt=(0,$.jsxs)(E,{children:[dt,(0,$.jsx)(T,{disabled:u.isPending,onClick:ft,children:pt})]}),t[127]=u.isPending,t[128]=ft,t[129]=pt,t[130]=mt):mt=t[130];let ht;t[131]!==ae||t[132]!==oe||t[133]!==ut||t[134]!==mt?(ht=(0,$.jsxs)(ae,{className:`max-h-[85vh] overflow-y-auto`,children:[oe,ut,mt]}),t[131]=ae,t[132]=oe,t[133]=ut,t[134]=mt,t[135]=ht):ht=t[135];let gt;return t[136]!==ie||t[137]!==o||t[138]!==a||t[139]!==ht?(gt=(0,$.jsx)(ie,{onOpenChange:o,open:a,children:ht}),t[136]=ie,t[137]=o,t[138]=a,t[139]=ht,t[140]=gt):gt=t[140],gt}function nt(e){return(0,$.jsx)(`option`,{value:e,children:e},e)}function rt(e){return(0,$.jsx)(`option`,{value:e,children:e},e)}function it(e){return(0,$.jsx)(`option`,{value:e.Arn??``,children:e.RoleName},e.Arn)}function at(e){return e.trim()}function ot(e){let t=(0,De.c)(27),{clusterName:n,clusterVersion:r,vpcId:i}=e,o;t[0]===n?o=t[1]:(o=ue(n),t[0]=n,t[1]=o);let{data:s}=a(o),c=J(),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(),p;t[2]===s.nodegroups?p=t[3]:(p=s.nodegroups??[],t[2]=s.nodegroups,t[3]=p);let m=p,h;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(`div`,{className:`mb-4 flex justify-end`,children:(0,$.jsx)(_,{onClick:()=>u(!0),size:`sm`,children:`Add node group`})}),t[4]=h):h=t[4];let g;t[5]!==n||t[6]!==r||t[7]!==m?(g=m.length>0?(0,$.jsx)(`div`,{className:`space-y-4`,children:m.map(e=>(0,$.jsx)(et,{clusterName:n,clusterVersion:r,nodegroupName:e,onDelete:f},e))}):(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`No node groups.`}),t[5]=n,t[6]=r,t[7]=m,t[8]=g):g=t[8];let v;t[9]!==n||t[10]!==l||t[11]!==i?(v=(0,$.jsx)(tt,{clusterName:n,onOpenChange:u,open:l,vpcId:i}),t[9]=n,t[10]=l,t[11]=i,t[12]=v):v=t[12];let y=`Delete node group "${d??``}"? This terminates its nodes.`,b;t[13]!==n||t[14]!==c||t[15]!==d?(b=()=>{d&&c.mutate({clusterName:n,nodegroupName:d},{onSuccess:()=>f(void 0)})},t[13]=n,t[14]=c,t[15]=d,t[16]=b):b=t[16];let x;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>!e&&f(void 0),t[17]=x):x=t[17];let S=d!==void 0,C;t[18]!==c.isPending||t[19]!==y||t[20]!==b||t[21]!==S?(C=(0,$.jsx)(be,{description:y,isPending:c.isPending,onConfirm:b,onOpenChange:x,open:S,title:`Delete node group`}),t[18]=c.isPending,t[19]=y,t[20]=b,t[21]=S,t[22]=C):C=t[22];let w;return t[23]!==C||t[24]!==g||t[25]!==v?(w=(0,$.jsxs)($.Fragment,{children:[h,g,v,C]}),t[23]=C,t[24]=g,t[25]=v,t[26]=w):w=t[26],w}function st(e){switch(e??``){case`ACTIVE`:return`default`;case`FAILED`:return`destructive`;default:return`secondary`}}function ct(e){let t=(0,De.c)(134),{clusterName:n}=e,r=s(),[i,o]=(0,Q.useState)(!1),d;t[0]===n?d=t[1]:(d=ce(n),t[0]=n,t[1]=d);let{data:f}=a(d),p=I(),v=f.cluster,y,b,x,S,C,w,T,E,D,O,k,A,j,M,N,P,F,L;if(t[2]!==v?.arn||t[3]!==v?.health?.issues||t[4]!==v?.status||t[5]!==n||t[6]!==p||t[7]!==r){let e=v?.health?.issues??[],i;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(i={type:`bin`,value:`aws eks update-kubeconfig`},t[26]=i):i=t[26];let a;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(a={type:`flag`,value:` --name `},t[27]=a):a=t[27];let s;t[28]===n?s=t[29]:(s={type:`value`,value:n},t[28]=n,t[29]=s);let c;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(c={type:`flag`,value:` --region `},t[30]=c):c=t[30];let d;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(d={type:`value`,value:l()},t[31]=d):d=t[31];let f;t[32]===s?f=t[33]:(f={label:`Configure kubectl`,parts:[i,a,s,c,d]},t[32]=s,t[33]=f);let m;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(m={label:`Verify access`,parts:[{type:`bin`,value:`kubectl get nodes`}]},t[34]=m):m=t[34];let I;t[35]===f?I=t[36]:(I=[f,m],t[35]=f,t[36]=I),T=I;let R;t[37]!==n||t[38]!==p||t[39]!==r?(R=function(){p.mutate(n,{onSuccess:()=>{r({to:`/eks/list-clusters`})}})},t[37]=n,t[38]=p,t[39]=r,t[40]=R):R=t[40],w=R,t[41]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(u,{to:`/eks/list-clusters`,children:`Clusters`}),t[41]=E):E=t[41];let z;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(z=()=>o(!0),t[42]=z):z=t[42];let B;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsxs)(_,{onClick:z,size:`sm`,variant:`destructive`,children:[(0,$.jsx)(h,{className:`size-4`}),`Delete`]}),t[43]=B):B=t[43];let V=v?.status,H;t[44]===V?H=t[45]:(H=st(V),t[44]=V,t[45]=H);let U=v?.status??`UNKNOWN`,W;t[46]!==H||t[47]!==U?(W=(0,$.jsx)(xe,{variant:H,children:U}),t[46]=H,t[47]=U,t[48]=W):W=t[48];let ee=e.length>0&&(0,$.jsxs)(xe,{variant:`destructive`,children:[(0,$.jsx)(g,{className:`size-3`}),e.length===1?`1 health issue`:`${e.length} health issues`]}),G;t[49]!==W||t[50]!==ee?(G=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[B,W,ee]}),t[49]=W,t[50]=ee,t[51]=G):G=t[51],t[52]!==n||t[53]!==G?(D=(0,$.jsx)(ye,{actions:G,subtitle:`Cluster Details`,title:n}),t[52]=n,t[53]=G,t[54]=D):D=t[54],t[55]!==p.error||t[56]!==p.isError?(O=p.isError&&(0,$.jsx)(ge,{error:p.error instanceof Error?p.error:void 0,msg:`Failed to delete cluster.`}),t[55]=p.error,t[56]=p.isError,t[57]=O):O=t[57],C=Te,F=`overview`,t[58]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsxs)(Ce,{children:[(0,$.jsx)(Se,{value:`overview`,children:`Overview`}),(0,$.jsx)(Se,{value:`compute`,children:`Compute`}),(0,$.jsx)(Se,{value:`addons`,children:`Add-ons`}),(0,$.jsx)(Se,{value:`access`,children:`Access`}),(0,$.jsx)(Se,{value:`networking`,children:`Networking`}),(0,$.jsx)(Se,{value:`connect`,children:`Connect`})]}),t[58]=L):L=t[58],S=we,P=`overview`,x=X,t[59]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsx)(X.Header,{children:`Cluster`}),t[59]=N):N=t[59],b=X.Content;let K=v?.arn;t[60]===K?j=t[61]:(j=(0,$.jsx)(Z,{label:`ARN`,value:K}),t[60]=K,t[61]=j);let q=v?.status;t[62]===q?M=t[63]:(M=(0,$.jsx)(Z,{label:`Status`,value:q}),t[62]=q,t[63]=M),y=Z,k=`Health`,A=e.length>0?e.map(lt).filter(Boolean).join(`; `):`OK`,t[2]=v?.arn,t[3]=v?.health?.issues,t[4]=v?.status,t[5]=n,t[6]=p,t[7]=r,t[8]=y,t[9]=b,t[10]=x,t[11]=S,t[12]=C,t[13]=w,t[14]=T,t[15]=E,t[16]=D,t[17]=O,t[18]=k,t[19]=A,t[20]=j,t[21]=M,t[22]=N,t[23]=P,t[24]=F,t[25]=L}else y=t[8],b=t[9],x=t[10],S=t[11],C=t[12],w=t[13],T=t[14],E=t[15],D=t[16],O=t[17],k=t[18],A=t[19],j=t[20],M=t[21],N=t[22],P=t[23],F=t[24],L=t[25];let R;t[64]!==y||t[65]!==k||t[66]!==A?(R=(0,$.jsx)(y,{label:k,value:A}),t[64]=y,t[65]=k,t[66]=A,t[67]=R):R=t[67];let z=v?.version,B;t[68]===z?B=t[69]:(B=(0,$.jsx)(Z,{label:`Kubernetes version`,value:z}),t[68]=z,t[69]=B);let V=v?.platformVersion,H;t[70]===V?H=t[71]:(H=(0,$.jsx)(Z,{label:`Platform version`,value:V}),t[70]=V,t[71]=H);let U=v?.endpoint,W;t[72]===U?W=t[73]:(W=(0,$.jsx)(Z,{label:`Endpoint`,value:U}),t[72]=U,t[73]=W);let ee=v?.identity?.oidc?.issuer,G;t[74]===ee?G=t[75]:(G=(0,$.jsx)(Z,{label:`OIDC issuer`,value:ee}),t[74]=ee,t[75]=G);let K=v?.resourcesVpcConfig?.vpcId,q;t[76]===K?q=t[77]:(q=(0,$.jsx)(Z,{label:`VPC`,value:K}),t[76]=K,t[77]=q);let te=v?.createdAt,J;t[78]===te?J=t[79]:(J=c(te),t[78]=te,t[79]=J);let ne;t[80]===J?ne=t[81]:(ne=(0,$.jsx)(Z,{label:`Created at`,value:J}),t[80]=J,t[81]=ne);let Y;t[82]!==b||t[83]!==R||t[84]!==B||t[85]!==H||t[86]!==W||t[87]!==G||t[88]!==q||t[89]!==ne||t[90]!==j||t[91]!==M?(Y=(0,$.jsxs)(b,{children:[j,M,R,B,H,W,G,q,ne]}),t[82]=b,t[83]=R,t[84]=B,t[85]=H,t[86]=W,t[87]=G,t[88]=q,t[89]=ne,t[90]=j,t[91]=M,t[92]=Y):Y=t[92];let re;t[93]!==x||t[94]!==Y||t[95]!==N?(re=(0,$.jsxs)(x,{children:[N,Y]}),t[93]=x,t[94]=Y,t[95]=N,t[96]=re):re=t[96];let ie;t[97]!==S||t[98]!==re||t[99]!==P?(ie=(0,$.jsx)(S,{value:P,children:re}),t[97]=S,t[98]=re,t[99]=P,t[100]=ie):ie=t[100];let ae=v?.version,oe=v?.resourcesVpcConfig?.vpcId,se;t[101]!==n||t[102]!==ae||t[103]!==oe?(se=(0,$.jsx)(we,{value:`compute`,children:(0,$.jsx)(ot,{clusterName:n,clusterVersion:ae,vpcId:oe})}),t[101]=n,t[102]=ae,t[103]=oe,t[104]=se):se=t[104];let le;t[105]===n?le=t[106]:(le=(0,$.jsx)(we,{value:`addons`,children:(0,$.jsx)(Ge,{clusterName:n})}),t[105]=n,t[106]=le);let ue;t[107]===n?ue=t[108]:(ue=(0,$.jsx)(we,{value:`access`,children:(0,$.jsx)(Ne,{clusterName:n})}),t[107]=n,t[108]=ue);let de;t[109]===v?de=t[110]:(de=(0,$.jsx)(we,{value:`networking`,children:(0,$.jsx)(qe,{cluster:v})}),t[109]=v,t[110]=de);let fe;t[111]===T?fe=t[112]:(fe=(0,$.jsx)(we,{value:`connect`,children:(0,$.jsx)(m,{commands:T})}),t[111]=T,t[112]=fe);let pe;t[113]!==C||t[114]!==ie||t[115]!==se||t[116]!==le||t[117]!==ue||t[118]!==de||t[119]!==fe||t[120]!==F||t[121]!==L?(pe=(0,$.jsxs)(C,{defaultValue:F,children:[L,ie,se,le,ue,de,fe]}),t[113]=C,t[114]=ie,t[115]=se,t[116]=le,t[117]=ue,t[118]=de,t[119]=fe,t[120]=F,t[121]=L,t[122]=pe):pe=t[122];let me=`This permanently deletes cluster "${n}" and its control plane. This cannot be undone.`,he;t[123]!==p.isPending||t[124]!==w||t[125]!==i||t[126]!==me?(he=(0,$.jsx)(be,{description:me,isPending:p.isPending,onConfirm:w,onOpenChange:o,open:i,title:`Delete cluster`}),t[123]=p.isPending,t[124]=w,t[125]=i,t[126]=me,t[127]=he):he=t[127];let _e;return t[128]!==E||t[129]!==D||t[130]!==O||t[131]!==pe||t[132]!==he?(_e=(0,$.jsxs)($.Fragment,{children:[E,D,O,pe,he]}),t[128]=E,t[129]=D,t[130]=O,t[131]=pe,t[132]=he,t[133]=_e):_e=t[133],_e}function lt(e){return e.message}function ut(){let e=(0,De.c)(2),{clusterName:t}=p.useParams(),n;return e[0]===t?n=e[1]:(n=(0,$.jsx)(ct,{clusterName:t}),e[0]=t,e[1]=n),n}export{ut 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 b6cf63e10..a6f32ffbe 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/_id33.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/createLucideIcon.js","assets/back-link.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/input.js","assets/field.js","assets/alert-dialog.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{t as r}from"./createLucideIcon.js";import{k as i,l as a}from"./ec2.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(i(t.id)),e.queryClient.ensureQueryData(a)])},head:({params:e})=>({meta:[{title:`${e.id} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id33.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])),`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/_id33.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/copy.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js","assets/textarea.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{t as r}from"./createLucideIcon.js";import{T as i,b as a}from"./ec2.js";var o=r(`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`}]]),s=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(a)])},head:({params:e})=>({meta:[{title:`${e.id} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id33.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{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 d1a4c04b2..af3d0a4f7 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/_id25.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/createLucideIcon.js","assets/back-link.js","assets/link.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/input.js","assets/field.js","assets/alert-dialog.js","assets/acm.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/certificate-import-dialog.js","assets/useMutation.js","assets/error-banner.js","assets/textarea.js","assets/ec2.js","assets/elbv2.js","assets/commandBuilder2.js","assets/elbv22.js","assets/zod.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js","assets/elbv23.js","assets/tags-editor.js","assets/plus.js","assets/tabs.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{O as r}from"./ec2.js";import{i,n as a,r as o,s,u 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(i(n)),e.queryClient.ensureQueryData(a(n)),e.queryClient.ensureQueryData(o(n)),e.queryClient.ensureQueryData(s([n])),e.queryClient.ensureQueryData(c),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.id)} | Load Balancer | Mulga`}]}),component:t(()=>n(()=>import(`./_id25.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,44,45,46,47])),`component`)});export{l as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id29.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{g as r}from"./ec2.js";var i=e(`/_auth/ec2/(nat-gateways)/describe-nat-gateways/$id`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(r(t.id))},head:({params:e})=>({meta:[{title:`${e.id} | NAT Gateway | Mulga`}]}),component:t(()=>n(()=>import(`./_id29.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/_id11.js b/spinifex/services/spinifexui/frontend/dist/assets/_id11.js index 6ce03c946..4bd0af16a 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id11.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id11.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id26.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{g as r}from"./ec2.js";var i=e(`/_auth/ec2/(nat-gateways)/describe-nat-gateways/$id`)({loader:async({context:e,params:t})=>{await e.queryClient.ensureQueryData(r(t.id))},head:({params:e})=>({meta:[{title:`${e.id} | NAT Gateway | Mulga`}]}),component:t(()=>n(()=>import(`./_id26.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/_id30.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{l as r,v as i}from"./ec2.js";var a=e(`/_auth/ec2/(placement-groups)/describe-placement-groups/$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(`./_id30.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/_id12.js b/spinifex/services/spinifexui/frontend/dist/assets/_id12.js index e1e943612..4d99f427e 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id12.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id12.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id27.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{l as r,v as i}from"./ec2.js";var a=e(`/_auth/ec2/(placement-groups)/describe-placement-groups/$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(`./_id27.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 +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id31.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/input.js","assets/field.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/ec23.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/detail-row.js","assets/badge.js","assets/useRender.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{O as r,_ as i,d as a,x as o}from"./ec2.js";var s=e(`/_auth/ec2/(route-tables)/describe-route-tables/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(o(t.id)),e.queryClient.ensureQueryData(a),e.queryClient.ensureQueryData(i),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${e.id} | Route Table | Mulga`}]}),component:t(()=>n(()=>import(`./_id31.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/_id13.js b/spinifex/services/spinifexui/frontend/dist/assets/_id13.js index 2f2005244..db7588c35 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id13.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id13.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id28.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/input.js","assets/field.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/ec23.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/detail-row.js","assets/badge.js","assets/useRender.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{O as r,_ as i,d as a,x as o}from"./ec2.js";var s=e(`/_auth/ec2/(route-tables)/describe-route-tables/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(o(t.id)),e.queryClient.ensureQueryData(a),e.queryClient.ensureQueryData(i),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${e.id} | Route Table | Mulga`}]}),component:t(()=>n(()=>import(`./_id28.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 +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id34.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{D as r}from"./ec2.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(`./_id34.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/_id14.js b/spinifex/services/spinifexui/frontend/dist/assets/_id14.js index 2dc9c8b86..77b4fbaf3 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id14.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id14.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id31.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{D as r}from"./ec2.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(`./_id31.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/_id35.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useSuspenseQuery.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/elbv2.js","assets/useMutation.js","assets/commandBuilder2.js","assets/elbv22.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/attributes-editor.js","assets/select.js","assets/check.js","assets/chevron-down.js","assets/useCompositeListItem.js","assets/field.js","assets/tags-editor.js","assets/plus.js","assets/tabs.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{l as r}from"./ec2.js";import{c as i,l 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(a(n)),e.queryClient.ensureQueryData(i(n)),e.queryClient.ensureQueryData(o([n])),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.id)} | Target Group | Mulga`}]}),component:t(()=>n(()=>import(`./_id35.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{s as t}; \ 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 e8751b920..723b5db01 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id15.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id15.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id32.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useSuspenseQuery.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/elbv2.js","assets/useMutation.js","assets/commandBuilder2.js","assets/elbv22.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/tags-editor.js","assets/select.js","assets/check.js","assets/chevron-down.js","assets/useCompositeListItem.js","assets/plus.js","assets/field.js","assets/tabs.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{l as r}from"./ec2.js";import{c as i,l 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(a(n)),e.queryClient.ensureQueryData(i(n)),e.queryClient.ensureQueryData(o([n])),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.id)} | Target Group | Mulga`}]}),component:t(()=>n(()=>import(`./_id32.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])),`component`)});export{s as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id36.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/createLucideIcon.js","assets/back-link.js","assets/camera.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/input.js","assets/field.js","assets/alert-dialog.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{k as r,l as i}from"./ec2.js";var a=e(`/_auth/ec2/(volumes)/describe-volumes/$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(`./_id36.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{a as t}; \ 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 60b8d3707..afe2a38f4 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id16.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id16.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id34.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/input.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/ec23.js","assets/form-actions.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{k as r}from"./ec2.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(`./_id34.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/_id37.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/input.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/ec23.js","assets/form-actions.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{k as r}from"./ec2.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(`./_id37.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/_id17.js b/spinifex/services/spinifexui/frontend/dist/assets/_id17.js index b9cd41928..e8c421d08 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id17.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id17.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id35.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{O as r,j as i}from"./ec2.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(`./_id35.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 +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id38.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js","assets/state-badge.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{O as r,j as i}from"./ec2.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(`./_id38.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/_id18.js b/spinifex/services/spinifexui/frontend/dist/assets/_id18.js index a1bbbda3b..1437c1096 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id18.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id18.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id36.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/dist.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/ecr.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ecr2.js","assets/useMutation.js","assets/page-heading.js","assets/json.js","assets/badge.js","assets/useRender.js","assets/tabs.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/json-editor.js","assets/textarea.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{i as r,n as i,r as a}from"./ecr.js";var o=e(`/_auth/ecr/(repositories)/list-repositories/$id`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.id);await Promise.all([e.queryClient.ensureQueryData(i),e.queryClient.ensureQueryData(a(n)),e.queryClient.ensureQueryData(r(n))])},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.id)} | Repository | Mulga`}]}),component:t(()=>n(()=>import(`./_id36.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 +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id39.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/dist.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/ecr.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ecr2.js","assets/useMutation.js","assets/page-heading.js","assets/json.js","assets/badge.js","assets/useRender.js","assets/tabs.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/json-editor.js","assets/textarea.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{i as r,n as i,r as a}from"./ecr.js";var o=e(`/_auth/ecr/(repositories)/list-repositories/$id`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.id);await Promise.all([e.queryClient.ensureQueryData(i),e.queryClient.ensureQueryData(a(n)),e.queryClient.ensureQueryData(r(n))])},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.id)} | Repository | Mulga`}]}),component:t(()=>n(()=>import(`./_id39.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/_id19.js b/spinifex/services/spinifexui/frontend/dist/assets/_id19.js index 90ca97756..5e8a2e6b3 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id19.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id19.js @@ -1 +1,2 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./useNavigate.js";import{tn as a}from"./cluster-config.js";import{t as o}from"./back-link.js";import{c as s,i as c,n as l,s as u,t as d}from"./select.js";import{t as f}from"./trash-2.js";import{t as p}from"./button.js";import{l as m,t as h}from"./ec2.js";import{$ as g,U as _,r as v}from"./ec22.js";import{t as y}from"./error-banner.js";import{t as b}from"./page-heading.js";import{t as x}from"./_id4.js";import{t as S}from"./delete-confirmation-dialog.js";import{n as C,t as w}from"./detail-row.js";var T=e(n()),E=t();function D(){let{id:e}=x.useParams(),t=i(),{data:n}=r(h(e)),{data:D}=r(m),O=v(),k=_(),A=g(),[j,M]=(0,T.useState)(!1),[N,P]=(0,T.useState)(``),F=n.Addresses?.[0],I=D.Reservations?.flatMap(e=>e.Instances??[]).filter(e=>e.State?.Name===`running`||e.State?.Name===`stopped`)??[],L=async()=>{try{await A.mutateAsync(e),t({to:`/ec2/describe-addresses`})}finally{M(!1)}},R=async()=>{N&&await O.mutateAsync({allocationId:e,instanceId:N})},z=async()=>{F?.AssociationId&&await k.mutateAsync(F.AssociationId)};if(!F?.AllocationId)return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(o,{to:`/ec2/describe-addresses`,children:`Back to Elastic IPs`}),(0,E.jsx)(`p`,{className:`text-muted-foreground`,children:`Elastic IP not found.`})]});let B=!!F.AssociationId,V=a(F.Tags);return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(o,{to:`/ec2/describe-addresses`,children:`Back to Elastic IPs`}),(A.error??O.error??k.error)&&(0,E.jsx)(y,{error:A.error??O.error??k.error??void 0,msg:`Elastic IP action failed`}),(0,E.jsxs)(`div`,{className:`space-y-6`,children:[(0,E.jsx)(b,{actions:(0,E.jsxs)(p,{disabled:B||A.isPending,onClick:()=>M(!0),size:`sm`,variant:`destructive`,children:[(0,E.jsx)(f,{className:`size-4`}),`Release`]}),subtitle:`Elastic IP Details`,title:V?`${F.AllocationId} (${V})`:F.AllocationId}),(0,E.jsxs)(C,{children:[(0,E.jsx)(C.Header,{children:`Elastic IP Information`}),(0,E.jsxs)(C.Content,{children:[(0,E.jsx)(w,{label:`Allocation ID`,value:F.AllocationId}),(0,E.jsx)(w,{label:`Public IP`,value:F.PublicIp}),(0,E.jsx)(w,{label:`Domain`,value:F.Domain}),(0,E.jsx)(w,{label:`Association ID`,value:F.AssociationId??`—`}),(0,E.jsx)(w,{label:`Instance ID`,value:F.InstanceId??`—`}),(0,E.jsx)(w,{label:`Private IP`,value:F.PrivateIpAddress??`—`})]})]}),(0,E.jsxs)(C,{children:[(0,E.jsx)(C.Header,{children:`Association`}),(0,E.jsx)(C.Content,{children:B?(0,E.jsx)(p,{disabled:k.isPending,onClick:z,size:`sm`,variant:`outline`,children:`Disassociate`}):(0,E.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,E.jsx)(`div`,{className:`flex-1`,children:(0,E.jsxs)(d,{onValueChange:e=>P(e??``),value:N,children:[(0,E.jsx)(u,{className:`w-full`,children:(0,E.jsx)(s,{placeholder:`Select an instance`})}),(0,E.jsx)(l,{children:I.map(e=>{let t=a(e.Tags);return(0,E.jsx)(c,{value:e.InstanceId??``,children:t?`${e.InstanceId} (${t})`:e.InstanceId},e.InstanceId)})})]})}),(0,E.jsx)(p,{disabled:!N||O.isPending,onClick:R,size:`sm`,children:`Associate`})]})})]})]}),(0,E.jsx)(S,{description:`Are you sure you want to release the Elastic IP "${F.AllocationId}" (${F.PublicIp})? This action cannot be undone.`,isPending:A.isPending,onConfirm:L,onOpenChange:M,open:j,title:`Release Elastic IP`})]})}export{D as component}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id40.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useSuspenseQuery.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/camera.js","assets/pencil.js","assets/cli-command-panel.js","assets/check.js","assets/chevron-down.js","assets/copy.js","assets/button.js","assets/dist.js","assets/use-copy-to-clipboard.js","assets/trash-2.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/rds.js","assets/rds2.js","assets/useMutation.js","assets/rds3.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/form-actions.js","assets/detail-row.js","assets/state-badge.js","assets/tabs.js","assets/useCompositeListItem.js","assets/picker-notice.js","assets/security-group-checkboxes.js","assets/select.js","assets/create-db-snapshot-dialog.js","assets/tags-field-array.js","assets/plus.js","assets/delete-db-snapshot-dialog.js","assets/rds-delete-dialog.js","assets/delete-confirmation-dialog.js","assets/rds-events-panel.js","assets/rds-tags-tab.js","assets/tags-editor.js","assets/delete-db-instance-dialog.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{c as r,g as i,n as a,s as o,t as s}from"./rds3.js";var c=e(`/_auth/rds/(db-instances)/describe-db-instances/$id`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.id),[c]=await Promise.all([e.queryClient.ensureQueryData(a(n)),e.queryClient.ensureQueryData(o(n)),e.queryClient.ensureQueryData(r(n)),e.queryClient.ensureQueryData(s(n))]),l=c.DBInstances?.[0]?.DBInstanceArn??``;await e.queryClient.ensureQueryData(i(l))},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.id)} | RDS | Mulga`}]}),component:t(()=>n(()=>import(`./_id40.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,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59])),`component`)});export{c as t}; \ 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 10e7a91e7..8944daa17 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/_id30.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/copy.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js","assets/textarea.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{t as r}from"./createLucideIcon.js";import{T as i,b as a}from"./ec2.js";var o=r(`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`}]]),s=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(a)])},head:({params:e})=>({meta:[{title:`${e.id} | EC2 | Mulga`}]}),component:t(()=>n(()=>import(`./_id30.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{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/_id32.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/plus.js","assets/trash-2.js","assets/input.js","assets/field.js","assets/alert-dialog.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/ec23.js","assets/delete-confirmation-dialog.js","assets/detail-row.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{t as r}from"./createLucideIcon.js";import{C as i}from"./ec2.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(`./_id32.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 diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id20.js b/spinifex/services/spinifexui/frontend/dist/assets/_id20.js index ced58fbc9..594683d0e 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id20.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id20.js @@ -1 +1,2 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{n as i}from"./QueryClientProvider.js";import{t as a}from"./useMutation.js";import{t as o}from"./useSuspenseQuery.js";import{t as s}from"./useNavigate.js";import{a as c}from"./cluster-config.js";import{t as l}from"./back-link.js";import{t as u}from"./circle-arrow-up.js";import{t as d}from"./trash-2.js";import{t as f}from"./button.js";import{a as p,i as m,l as h,n as g,o as _,r as v,s as y,t as b}from"./alert-dialog.js";import{n as x,r as S}from"./admin-context.js";import{a as C}from"./ec2.js";import{B as w}from"./ec22.js";import{t as T}from"./error-banner.js";import{t as E}from"./page-heading.js";import{t as D}from"./_id5.js";import{t as O}from"./delete-confirmation-dialog.js";import{t as k}from"./state-badge.js";import{r as A}from"./system-managed.js";import{t as j}from"./ami-details.js";var M=e(n()),N=r();function P(){let e=(0,N.c)(2),t=i(),n;return e[0]===t?n=e[1]:(n={mutationFn:F,onSuccess:()=>{t.invalidateQueries({queryKey:[`ec2`,`images`]})}},e[0]=t,e[1]=n),a(n)}async function F(e){let t=c();if(!t)throw Error(`Not authenticated`);return await S({action:`PromoteImage`,credentials:t,params:{ImageId:e}})}var I=t(),L=`000000000000`;function R(){let{id:e}=D.useParams(),t=s(),{data:n}=o(C(e)),r=n?.Images?.[0],{isAdmin:i}=x(),a=w(),c=P(),[S,N]=(0,M.useState)(!1),[F,R]=(0,M.useState)(!1);if(!r?.ImageId||A(r))return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(l,{to:`/ec2/describe-images`,children:`Back to images`}),(0,I.jsx)(`p`,{className:`text-muted-foreground`,children:`Image not found.`})]});let z=r.OwnerId===L;async function B(){try{await a.mutateAsync(e),t({to:`/ec2/describe-images`})}finally{N(!1)}}async function V(){try{await c.mutateAsync(e),R(!1)}catch{}}return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(l,{to:`/ec2/describe-images`,children:`Back to images`}),a.error&&(0,I.jsx)(T,{error:a.error,msg:`Failed to deregister image`}),c.error&&(0,I.jsx)(T,{error:c.error,msg:`Failed to promote image`}),(0,I.jsxs)(`div`,{className:`space-y-6`,children:[(0,I.jsx)(E,{actions:(0,I.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i&&!z&&(0,I.jsxs)(f,{onClick:()=>R(!0),size:`sm`,variant:`outline`,children:[(0,I.jsx)(u,{className:`size-4`}),`Promote to System`]}),(0,I.jsxs)(f,{onClick:()=>N(!0),size:`sm`,variant:`destructive`,children:[(0,I.jsx)(d,{className:`size-4`}),`Deregister`]}),(0,I.jsx)(k,{state:r.State})]}),subtitle:`Image Details`,title:r.ImageId}),(0,I.jsx)(j,{image:r,showExtendedDetails:!0})]}),(0,I.jsx)(O,{description:`Are you sure you want to deregister "${r.ImageId}"? The backing snapshot will not be deleted.`,isPending:a.isPending,onConfirm:B,onOpenChange:N,open:S,title:`Deregister Image`}),(0,I.jsx)(b,{onOpenChange:R,open:F,children:(0,I.jsxs)(m,{children:[(0,I.jsxs)(y,{children:[(0,I.jsx)(h,{children:`Promote to System Image`}),(0,I.jsxs)(p,{children:[`This will make “`,r.ImageId,`” visible to all accounts as a system image. This cannot be undone via the UI.`]})]}),(0,I.jsxs)(_,{children:[(0,I.jsx)(v,{children:`Cancel`}),(0,I.jsx)(g,{disabled:c.isPending,onClick:V,children:c.isPending?`Promoting…`:`Promote`})]})]})})]})}export{R as component}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id41.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/rds.js","assets/awsClient.js","assets/index.browser.js","assets/rds3.js","assets/queryOptions.js","assets/page-heading.js","assets/detail-row.js","assets/state-badge.js","assets/tabs.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/delete-db-snapshot-dialog.js","assets/rds2.js","assets/useMutation.js","assets/rds-delete-dialog.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/rds-events-panel.js","assets/rds-tags-tab.js","assets/useQuery.js","assets/tags-editor.js","assets/plus.js","assets/input.js","assets/useRegisterFieldControl.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{g as r,i,p as a}from"./rds3.js";var o=e(`/_auth/rds/(snapshots)/describe-db-snapshots/$id`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.id),[o]=await Promise.all([e.queryClient.ensureQueryData(i(n)),e.queryClient.ensureQueryData(a(n))]),s=o.DBSnapshots?.[0]?.DBSnapshotArn??``;s!==``&&await e.queryClient.ensureQueryData(r(s))},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.id)} | RDS | Mulga`}]}),component:t(()=>n(()=>import(`./_id41.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{o as t}; \ 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 index 0a57eda6e..24a9c8733 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id21.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id21.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"./useQuery.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./link.js";import{Qt as s,en as c}from"./cluster-config.js";import{t as l}from"./createLucideIcon.js";import{t as u}from"./back-link.js";import{c as d,i as f,n as p,s as m,t as h}from"./select.js";import{t as g}from"./rotate-cw.js";import{t as _}from"./trash-2.js";import{t as v}from"./button.js";import{t as y}from"./input.js";import{a as b,t as x}from"./field.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{n as ee}from"./admin-context.js";import{a as A,c as te,i as j,s as ne}from"./ec2.js";import{J as re,K as M,W as N,Z as P,d as F,i as I,it as L,nt as R,rt as z}from"./ec22.js";import{f as B}from"./iam2.js";import{t as V}from"./error-banner.js";import{t as H}from"./gpu-instance-type-select.js";import{t as U}from"./page-heading.js";import{t as W}from"./_id6.js";import{t as G}from"./delete-confirmation-dialog.js";import{n as K,t as q}from"./detail-row.js";import{t as J}from"./state-badge.js";import{t as ie}from"./ami-details.js";import{r as ae}from"./admin.js";import{t as Y}from"./textarea.js";var oe=l(`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`}]]),X=l(`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`}]]),se=l(`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`}]]),ce=l(`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`}]]),le=l(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),Z=e(n(),1),Q=t();function ue({instanceId:e,open:t,onOpenChange:n}){let r=F(),[i,a]=(0,Z.useState)(``),[o,s]=(0,Z.useState)(``),[c,l]=(0,Z.useState)(null);function u(e){e||(a(``),s(``),l(null)),n(e)}async function d(){try{let t=await r.mutateAsync({instanceId:e,name:i,description:o||void 0});l(t.ImageId??null),a(``),s(``)}catch{}}return(0,Q.jsx)(k,{onOpenChange:u,open:t,children:(0,Q.jsxs)(C,{children:[(0,Q.jsxs)(O,{children:[(0,Q.jsx)(w,{children:c?`Image Created`:`Create Image (AMI)`}),(0,Q.jsx)(S,{children:c?`Image "${c}" was created successfully.`:`Create an AMI from instance "${e}".`})]}),!c&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(x,{children:[(0,Q.jsx)(b,{children:(0,Q.jsx)(`label`,{htmlFor:`imageName`,children:`Name`})}),(0,Q.jsx)(y,{id:`imageName`,onChange:e=>a(e.target.value),placeholder:`my-image`,value:i})]}),(0,Q.jsxs)(x,{children:[(0,Q.jsx)(b,{children:(0,Q.jsx)(`label`,{htmlFor:`imageDescription`,children:`Description`})}),(0,Q.jsx)(Y,{id:`imageDescription`,onChange:e=>s(e.target.value),placeholder:`Optional description`,rows:2,value:o})]})]}),(0,Q.jsxs)(E,{children:[(0,Q.jsx)(D,{children:c?`Close`:`Cancel`}),!c&&(0,Q.jsx)(T,{disabled:r.isPending||!i.trim(),onClick:d,children:r.isPending?`Creating…`:`Create Image`})]})]})})}var $=r();function de(e){let t=(0,$.c)(22),{gpu:n}=e;if(!n)return null;let r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Q.jsx)(K.Header,{children:`GPU`}),t[0]=r):r=t[0];let i;t[1]===n.model?i=t[2]:(i=(0,Q.jsx)(q,{label:`Model`,value:n.model}),t[1]=n.model,t[2]=i);let a;t[3]===n.vram_mib?a=t[4]:(a=c(n.vram_mib),t[3]=n.vram_mib,t[4]=a);let o;t[5]===a?o=t[6]:(o=(0,Q.jsx)(q,{label:`VRAM`,value:a}),t[5]=a,t[6]=o);let s=n.profile?`MIG slice`:`PCIe passthrough`,l;t[7]===s?l=t[8]:(l=(0,Q.jsx)(q,{label:`Attachment`,value:s}),t[7]=s,t[8]=l);let u;t[9]===n.profile?u=t[10]:(u=n.profile&&(0,Q.jsx)(q,{label:`Profile`,value:n.profile}),t[9]=n.profile,t[10]=u);let d;t[11]===n.mdev_path?d=t[12]:(d=n.mdev_path&&(0,Q.jsx)(q,{label:`Mdev path`,value:n.mdev_path}),t[11]=n.mdev_path,t[12]=d);let f;t[13]===n.pci_address?f=t[14]:(f=n.pci_address&&(0,Q.jsx)(q,{label:`PCI address`,value:n.pci_address}),t[13]=n.pci_address,t[14]=f);let p;return t[15]!==i||t[16]!==o||t[17]!==l||t[18]!==u||t[19]!==d||t[20]!==f?(p=(0,Q.jsxs)(K,{children:[r,(0,Q.jsxs)(K.Content,{children:[i,o,l,u,d,f]})]}),t[15]=i,t[16]=o,t[17]=l,t[18]=u,t[19]=d,t[20]=f,t[21]=p):p=t[21],p}function fe(e){let t=(0,$.c)(31),{instanceId:n}=e,r;t[0]===n?r=t[1]:(r=j(n),t[0]=n,t[1]=r);let{data:a}=i(r),{data:s}=i(B),c=I(),l=N(),[u,f]=(0,Z.useState)(``),g;t[2]===a?.IamInstanceProfileAssociations?g=t[3]:(g=a?.IamInstanceProfileAssociations?.find(me),t[2]=a?.IamInstanceProfileAssociations,t[3]=g);let _=g,y;t[4]===s?.InstanceProfiles?y=t[5]:(y=s?.InstanceProfiles??[],t[4]=s?.InstanceProfiles,t[5]=y);let b=y,x;t[6]!==c||t[7]!==n||t[8]!==u?(x=async()=>{u&&(await c.mutateAsync({instanceId:n,instanceProfileName:u}),f(``))},t[6]=c,t[7]=n,t[8]=u,t[9]=x):x=t[9];let S=x,C;t[10]!==_||t[11]!==l||t[12]!==n?(C=async()=>{_?.AssociationId&&await l.mutateAsync({associationId:_.AssociationId,instanceId:n})},t[10]=_,t[11]=l,t[12]=n,t[13]=C):C=t[13];let w=C,T;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,Q.jsx)(K.Header,{children:`IAM Role`}),t[14]=T):T=t[14];let E;t[15]===c.error?E=t[16]:(E=c.error&&(0,Q.jsx)(`div`,{className:`col-span-2`,children:(0,Q.jsx)(V,{error:c.error,msg:`Failed to associate instance profile`})}),t[15]=c.error,t[16]=E);let D;t[17]===l.error?D=t[18]:(D=l.error&&(0,Q.jsx)(`div`,{className:`col-span-2`,children:(0,Q.jsx)(V,{error:l.error,msg:`Failed to disassociate instance profile`})}),t[17]=l.error,t[18]=D);let O;t[19]!==c.isPending||t[20]!==_||t[21]!==l.isPending||t[22]!==S||t[23]!==w||t[24]!==b||t[25]!==u?(O=_?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(q,{label:`Instance Profile ARN`,value:_.IamInstanceProfile?.Arn}),(0,Q.jsx)(q,{label:`State`,value:(0,Q.jsx)(J,{state:_.State})}),(0,Q.jsx)(`div`,{className:`col-span-2 flex justify-end`,children:(0,Q.jsx)(v,{disabled:l.isPending,onClick:w,size:`sm`,variant:`destructive`,children:l.isPending?`Detaching…`:`Detach`})})]}):(0,Q.jsxs)(`div`,{className:`col-span-2 space-y-3`,children:[(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No instance profile is associated. Associate one to flow role credentials to this instance via IMDS.`}),b.length>0?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsxs)(h,{onValueChange:e=>f(e??``),value:u,children:[(0,Q.jsx)(m,{className:`w-full`,children:(0,Q.jsx)(d,{placeholder:`Select an instance profile`})}),(0,Q.jsx)(p,{children:b.map(pe)})]}),(0,Q.jsx)(v,{disabled:!u||c.isPending,onClick:S,size:`sm`,children:c.isPending?`Associating…`:`Associate`})]}):(0,Q.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`No instance profiles exist.`,` `,(0,Q.jsx)(o,{className:`text-primary hover:underline`,to:`/iam/create-instance-profile`,children:`Create one`}),` `,`first.`]})]}),t[19]=c.isPending,t[20]=_,t[21]=l.isPending,t[22]=S,t[23]=w,t[24]=b,t[25]=u,t[26]=O):O=t[26];let k;return t[27]!==E||t[28]!==D||t[29]!==O?(k=(0,Q.jsxs)(K,{children:[T,(0,Q.jsxs)(K.Content,{children:[E,D,O]})]}),t[27]=E,t[28]=D,t[29]=O,t[30]=k):k=t[30],k}function pe(e){return(0,Q.jsx)(f,{value:e.InstanceProfileName??``,children:e.InstanceProfileName},e.InstanceProfileName)}function me(e){return e.State===`associating`||e.State===`associated`}var he=new Set([`pending`,`stopping`,`shutting-down`,`terminated`]);function ge(e){let t=(0,$.c)(43),{instanceId:n,state:r}=e,i=R(),a=z(),o=P(),s=L(),[c,l]=(0,Z.useState)(!1),u=he.has(r??``),d;t[0]!==n||t[1]!==s?(d=()=>{s.mutate(n,{onSettled:()=>l(!1)})},t[0]=n,t[1]=s,t[2]=d):d=t[2];let f=d;if(u&&r!==`terminated`){let e;return t[3]===r?e=t[4]:(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[3]=r,t[4]=e),e}if(r===`terminated`){let e;return t[5]===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[5]=e):e=t[5],e}let p;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Q.jsx)(`h2`,{className:`mb-4 font-semibold`,children:`Instance Actions`}),t[6]=p):p=t[6];let m;t[7]===i.error?m=t[8]:(m=i.error&&(0,Q.jsx)(V,{error:i.error,msg:`Failed to start instance`}),t[7]=i.error,t[8]=m);let h;t[9]===a.error?h=t[10]:(h=a.error&&(0,Q.jsx)(V,{error:a.error,msg:`Failed to stop instance`}),t[9]=a.error,t[10]=h);let y;t[11]===o.error?y=t[12]:(y=o.error&&(0,Q.jsx)(V,{error:o.error,msg:`Failed to reboot instance`}),t[11]=o.error,t[12]=y);let b;t[13]===s.error?b=t[14]:(b=s.error&&(0,Q.jsx)(V,{error:s.error,msg:`Failed to terminate instance`}),t[13]=s.error,t[14]=b);let x;t[15]!==n||t[16]!==i||t[17]!==r?(x=r===`stopped`&&(0,Q.jsxs)(v,{disabled:i.isPending,onClick:()=>i.mutate(n),size:`sm`,variant:`default`,children:[(0,Q.jsx)(se,{className:`size-4`}),i.isPending?`Starting`:`Start`]}),t[15]=n,t[16]=i,t[17]=r,t[18]=x):x=t[18];let S;t[19]!==n||t[20]!==o||t[21]!==r||t[22]!==a?(S=r===`running`&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(v,{disabled:a.isPending,onClick:()=>a.mutate(n),size:`sm`,variant:`outline`,children:[(0,Q.jsx)(X,{className:`size-4`}),a.isPending?`Stopping`:`Stop`]}),(0,Q.jsxs)(v,{disabled:o.isPending,onClick:()=>o.mutate(n),size:`sm`,variant:`outline`,children:[(0,Q.jsx)(g,{className:`size-4`}),o.isPending?`Rebooting`:`Reboot`]})]}),t[19]=n,t[20]=o,t[21]=r,t[22]=a,t[23]=S):S=t[23];let C;t[24]!==r||t[25]!==s.isPending?(C=(r===`stopped`||r===`running`)&&(0,Q.jsxs)(v,{disabled:s.isPending,onClick:()=>l(!0),size:`sm`,variant:`destructive`,children:[(0,Q.jsx)(_,{className:`size-4`}),s.isPending?`Terminating`:`Terminate`]}),t[24]=r,t[25]=s.isPending,t[26]=C):C=t[26];let w;t[27]!==x||t[28]!==S||t[29]!==C?(w=(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[x,S,C]}),t[27]=x,t[28]=S,t[29]=C,t[30]=w):w=t[30];let T=`Are you sure you want to terminate the instance "${n}"? This action cannot be undone.`,E;t[31]!==f||t[32]!==c||t[33]!==T||t[34]!==s.isPending?(E=(0,Q.jsx)(G,{confirmLabel:`Terminate`,description:T,isPending:s.isPending,onConfirm:f,onOpenChange:l,open:c,pendingLabel:`Terminating…`,title:`Terminate Instance`}),t[31]=f,t[32]=c,t[33]=T,t[34]=s.isPending,t[35]=E):E=t[35];let D;return t[36]!==w||t[37]!==E||t[38]!==m||t[39]!==h||t[40]!==y||t[41]!==b?(D=(0,Q.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[p,m,h,y,b,w,E]}),t[36]=w,t[37]=E,t[38]=m,t[39]=h,t[40]=y,t[41]=b,t[42]=D):D=t[42],D}function _e(){let{id:e}=W.useParams(),{isAdmin:t}=ee(),{data:n}=a(ne(e)),r=n.Reservations?.[0]?.Instances?.[0],{data:c}=a(A(r?.ImageId)),l=c?.Images?.[0],{data:d}=a(te),{data:f}=i({...ae,enabled:t,refetchInterval:5e3}),p=f?.vms?.find(t=>t.instance_id===e),m=re(),h=M(),[g,_]=(0,Z.useState)(!1),[y,j]=(0,Z.useState)(``),[N,P]=(0,Z.useState)(!1),[F,I]=(0,Z.useState)(null),[L,R]=(0,Z.useState)(!1);if(!r?.InstanceId)return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(u,{to:`/ec2/describe-instances`,children:`Back to instances`}),(0,Q.jsx)(`p`,{className:`text-muted-foreground`,children:`Instance not found.`})]});let z=s(r.LaunchTime),B=r.State?.Name===`running`,G=r.State?.Name===`stopped`;async function Y(){try{await m.mutateAsync({instanceId:e,instanceType:y}),_(!1),j(``)}catch{}}async function X(){try{let t=await h.mutateAsync(e),n=t.Output?atob(t.Output):`(no output)`;I(n),P(!0)}catch{}}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(u,{to:`/ec2/describe-instances`,children:`Back to instances`}),m.error&&(0,Q.jsx)(V,{error:m.error,msg:`Failed to modify instance`}),h.error&&(0,Q.jsx)(V,{error:h.error,msg:`Failed to get console output`}),(0,Q.jsxs)(`div`,{className:`space-y-6`,children:[(0,Q.jsx)(U,{actions:(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[B&&(0,Q.jsxs)(v,{disabled:h.isPending,onClick:X,size:`sm`,variant:`outline`,children:[(0,Q.jsx)(le,{className:`size-4`}),h.isPending?`Fetching…`:`View Console`]}),(B||G)&&(0,Q.jsxs)(v,{onClick:()=>R(!0),size:`sm`,variant:`outline`,children:[(0,Q.jsx)(oe,{className:`size-4`}),`Create Image`]}),G&&(0,Q.jsxs)(v,{onClick:()=>{j(r.InstanceType??``),_(!0)},size:`sm`,variant:`outline`,children:[(0,Q.jsx)(ce,{className:`size-4`}),`Modify Instance`]}),(0,Q.jsx)(J,{state:r.State?.Name})]}),subtitle:`Instance Details`,title:r.InstanceId}),(0,Q.jsx)(ge,{instanceId:r.InstanceId,state:r.State?.Name}),N&&F!==null&&(0,Q.jsxs)(K,{children:[(0,Q.jsx)(K.Header,{children:(0,Q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[`Console Output`,(0,Q.jsx)(v,{onClick:()=>{P(!1),I(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:F})})]}),(0,Q.jsxs)(K,{children:[(0,Q.jsx)(K.Header,{children:`Instance Information`}),(0,Q.jsxs)(K.Content,{children:[(0,Q.jsx)(q,{label:`Instance ID`,value:r.InstanceId}),(0,Q.jsx)(q,{label:`Instance Type`,value:r.InstanceType}),(0,Q.jsx)(q,{label:`Instance State`,value:r.State?.Name}),(0,Q.jsx)(q,{label:`State Code`,value:r.State?.Code?.toString()}),(0,Q.jsx)(q,{label:`Launch Time`,value:z}),(0,Q.jsx)(q,{label:`Availability Zone`,value:r.Placement?.AvailabilityZone}),(0,Q.jsx)(q,{label:`Placement Group`,value:r.Placement?.GroupName?(0,Q.jsx)(o,{className:`text-primary hover:underline`,to:`/ec2/describe-placement-groups`,children:r.Placement.GroupName}):void 0})]})]}),(r.PrivateIpAddress||r.PublicIpAddress||r.VpcId||r.SubnetId||r.SecurityGroups&&r.SecurityGroups.length>0)&&(0,Q.jsxs)(K,{children:[(0,Q.jsx)(K.Header,{children:`Network & Security`}),(0,Q.jsxs)(K.Content,{children:[(0,Q.jsx)(q,{label:`Private IP Address`,value:r.PrivateIpAddress}),(0,Q.jsx)(q,{label:`Public IP Address`,value:r.PublicIpAddress}),(0,Q.jsx)(q,{label:`Private DNS`,value:r.PrivateDnsName}),(0,Q.jsx)(q,{label:`Public DNS`,value:r.PublicDnsName}),(0,Q.jsx)(q,{label:`VPC ID`,value:r.VpcId?(0,Q.jsx)(o,{className:`text-primary hover:underline`,params:{id:r.VpcId},to:`/ec2/describe-vpcs/$id`,children:r.VpcId}):void 0}),(0,Q.jsx)(q,{label:`Subnet ID`,value:r.SubnetId?(0,Q.jsx)(o,{className:`text-primary hover:underline`,params:{id:r.SubnetId},to:`/ec2/describe-subnets/$id`,children:r.SubnetId}):void 0}),(0,Q.jsx)(q,{label:`Key Name`,value:r.KeyName}),(0,Q.jsx)(q,{label:`Security Groups`,value:r.SecurityGroups?.map(e=>e.GroupName).join(`, `)})]})]}),(0,Q.jsx)(fe,{instanceId:r.InstanceId}),t&&(0,Q.jsx)(de,{gpu:p?.gpu}),r.BlockDeviceMappings&&r.BlockDeviceMappings.length>0&&(0,Q.jsxs)(K,{children:[(0,Q.jsx)(K.Header,{children:`Block Device Mappings`}),r.BlockDeviceMappings.map(e=>(0,Q.jsxs)(K.Content,{children:[(0,Q.jsx)(q,{label:`Device Name`,value:e.DeviceName}),(0,Q.jsx)(q,{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)(q,{label:`Status`,value:e.Ebs?.Status}),(0,Q.jsx)(q,{label:`Attach Time`,value:s(e.Ebs?.AttachTime)}),(0,Q.jsx)(q,{label:`Delete on Termination`,value:e.Ebs?.DeleteOnTermination?`Yes`:`No`})]},e.DeviceName))]}),l&&(0,Q.jsx)(ie,{image:l})]}),(0,Q.jsx)(k,{onOpenChange:e=>{e||(_(!1),j(``))},open:g,children:(0,Q.jsxs)(C,{children:[(0,Q.jsxs)(O,{children:[(0,Q.jsx)(w,{children:`Modify Instance`}),(0,Q.jsxs)(S,{children:[`Select a new instance type for "`,r.InstanceId,`". The instance must be stopped to modify its attributes.`]})]}),(0,Q.jsxs)(x,{children:[(0,Q.jsx)(b,{children:(0,Q.jsx)(`label`,{htmlFor:`instanceType`,children:`Instance Type`})}),(0,Q.jsx)(H,{className:`w-full`,id:`instanceType`,instanceTypes:d.InstanceTypes??[],onValueChange:j,value:y})]}),(0,Q.jsxs)(E,{children:[(0,Q.jsx)(D,{children:`Cancel`}),(0,Q.jsx)(T,{disabled:m.isPending||!y||y===r.InstanceType,onClick:Y,children:m.isPending?`Saving…`:`Save Changes`})]})]})}),(0,Q.jsx)(ue,{instanceId:r.InstanceId,onOpenChange:R,open:L})]})}export{_e as component}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id42.js","assets/compiler-runtime.js","assets/QueryClientProvider.js","assets/useQuery.js","assets/useBaseQuery.js","assets/useSuspenseQuery.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/cli-command-panel.js","assets/cluster-config.js","assets/hex-encoding.js","assets/check.js","assets/chevron-down.js","assets/copy.js","assets/button.js","assets/dist.js","assets/use-copy-to-clipboard.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/rds.js","assets/rds2.js","assets/useMutation.js","assets/rds3.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/form-actions.js","assets/detail-row.js","assets/system-managed.js","assets/system-image-required.js","assets/rotate-cw.js","assets/triangle-alert.js","assets/picker-notice.js","assets/security-group-checkboxes.js","assets/select.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/useCompositeListItem.js","assets/tags-field-array.js","assets/plus.js","assets/trash-2.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{o as r,w as i}from"./ec2.js";import{d as a,h as o,i as s,o as c}from"./rds3.js";var l=e(`/_auth/rds/(snapshots)/restore-db-instance-from-db-snapshot/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(s(decodeURIComponent(t.id))),e.queryClient.ensureQueryData(c),e.queryClient.ensureQueryData(o),e.queryClient.ensureQueryData(a),e.queryClient.ensureQueryData(i),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`Restore ${decodeURIComponent(e.id)} | RDS | Mulga`}]}),component:t(()=>n(()=>import(`./_id42.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,44,45,46,47,48,49,50])),`component`)});export{l as t}; \ 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 index a6621b565..3b61e11d1 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id22.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id22.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{tn as o}from"./cluster-config.js";import{t as s}from"./back-link.js";import{c,i as l,n as u,s as d,t as f}from"./select.js";import{t as p}from"./trash-2.js";import{t as m}from"./button.js";import{M as h,u as g}from"./ec2.js";import{D as _,V as v,o as y}from"./ec22.js";import{t as b}from"./error-banner.js";import{t as x}from"./page-heading.js";import{t as S}from"./_id7.js";import{t as C}from"./delete-confirmation-dialog.js";import{n as w,t as T}from"./detail-row.js";var E=e(n()),D=t();function O(){let{id:e}=S.useParams(),t=a(),{data:n}=r(g(e)),{data:O}=r(h),k=y(),A=v(),j=_(),[M,N]=(0,E.useState)(!1),[P,F]=(0,E.useState)(``),I=n.InternetGateways?.[0],L=O.Vpcs??[],R=async()=>{try{await j.mutateAsync(e),t({to:`/ec2/describe-internet-gateways`})}finally{N(!1)}},z=async()=>{P&&await k.mutateAsync({internetGatewayId:e,vpcId:P})},B=async t=>{await A.mutateAsync({internetGatewayId:e,vpcId:t})};if(!I?.InternetGatewayId)return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(s,{to:`/ec2/describe-internet-gateways`,children:`Back to Internet Gateways`}),(0,D.jsx)(`p`,{className:`text-muted-foreground`,children:`Internet Gateway not found.`})]});let V=I.Attachments?.[0],H=!!V?.VpcId,U=o(I.Tags);return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(s,{to:`/ec2/describe-internet-gateways`,children:`Back to Internet Gateways`}),(j.error??k.error??A.error)&&(0,D.jsx)(b,{error:j.error??k.error??A.error??void 0,msg:`Internet Gateway action failed`}),(0,D.jsxs)(`div`,{className:`space-y-6`,children:[(0,D.jsx)(x,{actions:(0,D.jsxs)(m,{disabled:H||j.isPending,onClick:()=>N(!0),size:`sm`,variant:`destructive`,children:[(0,D.jsx)(p,{className:`size-4`}),`Delete`]}),subtitle:`Internet Gateway Details`,title:U?`${I.InternetGatewayId} (${U})`:I.InternetGatewayId}),(0,D.jsxs)(w,{children:[(0,D.jsx)(w.Header,{children:`Internet Gateway Information`}),(0,D.jsxs)(w.Content,{children:[(0,D.jsx)(T,{label:`Internet Gateway ID`,value:I.InternetGatewayId}),(0,D.jsx)(T,{label:`Owner ID`,value:I.OwnerId??`—`}),(0,D.jsx)(T,{label:`State`,value:V?.State??`detached`})]})]}),(0,D.jsxs)(w,{children:[(0,D.jsx)(w.Header,{children:`VPC Attachment`}),(0,D.jsx)(w.Content,{children:H?(0,D.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,D.jsx)(i,{className:`text-primary hover:underline`,params:{id:V.VpcId??``},to:`/ec2/describe-vpcs/$id`,children:V.VpcId}),(0,D.jsx)(m,{disabled:A.isPending,onClick:async()=>await B(V.VpcId??``),size:`sm`,variant:`outline`,children:`Detach`})]}):(0,D.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,D.jsx)(`div`,{className:`flex-1`,children:(0,D.jsxs)(f,{onValueChange:e=>F(e??``),value:P,children:[(0,D.jsx)(d,{className:`w-full`,children:(0,D.jsx)(c,{placeholder:`Select a VPC`})}),(0,D.jsx)(u,{children:L.map(e=>{let t=o(e.Tags);return(0,D.jsx)(l,{value:e.VpcId??``,children:t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`},e.VpcId)})})]})}),(0,D.jsx)(m,{disabled:!P||k.isPending,onClick:z,size:`sm`,children:`Attach`})]})})]})]}),(0,D.jsx)(C,{description:`Are you sure you want to delete the Internet Gateway "${I.InternetGatewayId}"? This action cannot be undone.`,isPending:j.isPending,onConfirm:R,onOpenChange:N,open:M,title:`Delete Internet Gateway`})]})}export{O 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"./useSuspenseQuery.js";import{t as i}from"./useNavigate.js";import{tn as a}from"./cluster-config.js";import{t as o}from"./back-link.js";import{c as s,i as c,n as l,s as u,t as d}from"./select.js";import{t as f}from"./trash-2.js";import{t as p}from"./button.js";import{l as m,t as h}from"./ec2.js";import{$ as g,U as _,r as v}from"./ec22.js";import{t as y}from"./error-banner.js";import{t as b}from"./page-heading.js";import{t as x}from"./_id3.js";import{t as S}from"./delete-confirmation-dialog.js";import{n as C,t as w}from"./detail-row.js";var T=e(n()),E=t();function D(){let{id:e}=x.useParams(),t=i(),{data:n}=r(h(e)),{data:D}=r(m),O=v(),k=_(),A=g(),[j,M]=(0,T.useState)(!1),[N,P]=(0,T.useState)(``),F=n.Addresses?.[0],I=D.Reservations?.flatMap(e=>e.Instances??[]).filter(e=>e.State?.Name===`running`||e.State?.Name===`stopped`)??[],L=async()=>{try{await A.mutateAsync(e),t({to:`/ec2/describe-addresses`})}finally{M(!1)}},R=async()=>{N&&await O.mutateAsync({allocationId:e,instanceId:N})},z=async()=>{F?.AssociationId&&await k.mutateAsync(F.AssociationId)};if(!F?.AllocationId)return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(o,{to:`/ec2/describe-addresses`,children:`Back to Elastic IPs`}),(0,E.jsx)(`p`,{className:`text-muted-foreground`,children:`Elastic IP not found.`})]});let B=!!F.AssociationId,V=a(F.Tags);return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(o,{to:`/ec2/describe-addresses`,children:`Back to Elastic IPs`}),(A.error??O.error??k.error)&&(0,E.jsx)(y,{error:A.error??O.error??k.error??void 0,msg:`Elastic IP action failed`}),(0,E.jsxs)(`div`,{className:`space-y-6`,children:[(0,E.jsx)(b,{actions:(0,E.jsxs)(p,{disabled:B||A.isPending,onClick:()=>M(!0),size:`sm`,variant:`destructive`,children:[(0,E.jsx)(f,{className:`size-4`}),`Release`]}),subtitle:`Elastic IP Details`,title:V?`${F.AllocationId} (${V})`:F.AllocationId}),(0,E.jsxs)(C,{children:[(0,E.jsx)(C.Header,{children:`Elastic IP Information`}),(0,E.jsxs)(C.Content,{children:[(0,E.jsx)(w,{label:`Allocation ID`,value:F.AllocationId}),(0,E.jsx)(w,{label:`Public IP`,value:F.PublicIp}),(0,E.jsx)(w,{label:`Domain`,value:F.Domain}),(0,E.jsx)(w,{label:`Association ID`,value:F.AssociationId??`—`}),(0,E.jsx)(w,{label:`Instance ID`,value:F.InstanceId??`—`}),(0,E.jsx)(w,{label:`Private IP`,value:F.PrivateIpAddress??`—`})]})]}),(0,E.jsxs)(C,{children:[(0,E.jsx)(C.Header,{children:`Association`}),(0,E.jsx)(C.Content,{children:B?(0,E.jsx)(p,{disabled:k.isPending,onClick:z,size:`sm`,variant:`outline`,children:`Disassociate`}):(0,E.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,E.jsx)(`div`,{className:`flex-1`,children:(0,E.jsxs)(d,{onValueChange:e=>P(e??``),value:N,children:[(0,E.jsx)(u,{className:`w-full`,children:(0,E.jsx)(s,{placeholder:`Select an instance`})}),(0,E.jsx)(l,{children:I.map(e=>{let t=a(e.Tags);return(0,E.jsx)(c,{value:e.InstanceId??``,children:t?`${e.InstanceId} (${t})`:e.InstanceId},e.InstanceId)})})]})}),(0,E.jsx)(p,{disabled:!N||O.isPending,onClick:R,size:`sm`,children:`Associate`})]})})]})]}),(0,E.jsx)(S,{description:`Are you sure you want to release the Elastic IP "${F.AllocationId}" (${F.PublicIp})? This action cannot be undone.`,isPending:A.isPending,onConfirm:L,onOpenChange:M,open:j,title:`Release Elastic IP`})]})}export{D 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 index e92d8f834..93b8e8168 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id23.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id23.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./useNavigate.js";import{Qt as a}from"./cluster-config.js";import{t as o}from"./back-link.js";import{t as s}from"./trash-2.js";import{t as c}from"./button.js";import{f as l}from"./ec2.js";import{O as u}from"./ec22.js";import{t as d}from"./error-banner.js";import{t as f}from"./page-heading.js";import{t as p}from"./_id8.js";import{t as m}from"./delete-confirmation-dialog.js";import{n as h,t as g}from"./detail-row.js";var _=e(n()),v=t();function y(){let{id:e}=p.useParams(),t=i(),{data:n}=r(l(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)(o,{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=a(y.CreateTime);return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(o,{to:`/ec2/describe-key-pairs`,children:`Back to key pairs`}),b.error&&(0,v.jsx)(d,{error:b.error,msg:`Failed to delete key pair`}),(0,v.jsxs)(`div`,{className:`space-y-6`,children:[(0,v.jsx)(f,{actions:(0,v.jsxs)(c,{onClick:()=>S(!0),size:`sm`,variant:`destructive`,children:[(0,v.jsx)(s,{className:`size-4`}),`Delete`]}),subtitle:`Key Pair Details`,title:y.KeyName??``}),(0,v.jsxs)(h,{children:[(0,v.jsx)(h.Header,{children:`Key Pair Information`}),(0,v.jsxs)(h.Content,{children:[(0,v.jsx)(g,{label:`Key Pair ID`,value:y.KeyPairId}),(0,v.jsx)(g,{label:`Key Name`,value:y.KeyName}),(0,v.jsx)(g,{label:`Key Type`,value:y.KeyType}),(0,v.jsx)(g,{label:`Key Fingerprint`,value:y.KeyFingerprint}),(0,v.jsx)(g,{label:`Creation Date`,value:w})]})]}),y.Tags&&y.Tags.length>0&&(0,v.jsxs)(h,{children:[(0,v.jsx)(h.Header,{children:`Tags`}),(0,v.jsx)(h.Content,{children:y.Tags.map(e=>(0,v.jsx)(g,{label:e.Key??``,value:e.Value},e.Key))})]})]}),(0,v.jsx)(m,{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{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{n as i}from"./QueryClientProvider.js";import{t as a}from"./useMutation.js";import{t as o}from"./useSuspenseQuery.js";import{t as s}from"./useNavigate.js";import{a as c}from"./cluster-config.js";import{t as l}from"./back-link.js";import{t as u}from"./circle-arrow-up.js";import{t as d}from"./trash-2.js";import{t as f}from"./button.js";import{a as p,i as m,l as h,n as g,o as _,r as v,s as y,t as b}from"./alert-dialog.js";import{n as x,r as S}from"./admin-context.js";import{a as C}from"./ec2.js";import{B as w}from"./ec22.js";import{t as T}from"./error-banner.js";import{t as E}from"./page-heading.js";import{t as D}from"./_id4.js";import{t as O}from"./delete-confirmation-dialog.js";import{t as k}from"./state-badge.js";import{i as A}from"./system-managed.js";import{t as j}from"./ami-details.js";var M=e(n()),N=r();function P(){let e=(0,N.c)(2),t=i(),n;return e[0]===t?n=e[1]:(n={mutationFn:F,onSuccess:()=>{t.invalidateQueries({queryKey:[`ec2`,`images`]})}},e[0]=t,e[1]=n),a(n)}async function F(e){let t=c();if(!t)throw Error(`Not authenticated`);return await S({action:`PromoteImage`,credentials:t,params:{ImageId:e}})}var I=t(),L=`000000000000`;function R(){let{id:e}=D.useParams(),t=s(),{data:n}=o(C(e)),r=n?.Images?.[0],{isAdmin:i}=x(),a=w(),c=P(),[S,N]=(0,M.useState)(!1),[F,R]=(0,M.useState)(!1);if(!r?.ImageId||A(r))return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(l,{to:`/ec2/describe-images`,children:`Back to images`}),(0,I.jsx)(`p`,{className:`text-muted-foreground`,children:`Image not found.`})]});let z=r.OwnerId===L;async function B(){try{await a.mutateAsync(e),t({to:`/ec2/describe-images`})}finally{N(!1)}}async function V(){try{await c.mutateAsync(e),R(!1)}catch{}}return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(l,{to:`/ec2/describe-images`,children:`Back to images`}),a.error&&(0,I.jsx)(T,{error:a.error,msg:`Failed to deregister image`}),c.error&&(0,I.jsx)(T,{error:c.error,msg:`Failed to promote image`}),(0,I.jsxs)(`div`,{className:`space-y-6`,children:[(0,I.jsx)(E,{actions:(0,I.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i&&!z&&(0,I.jsxs)(f,{onClick:()=>R(!0),size:`sm`,variant:`outline`,children:[(0,I.jsx)(u,{className:`size-4`}),`Promote to System`]}),(0,I.jsxs)(f,{onClick:()=>N(!0),size:`sm`,variant:`destructive`,children:[(0,I.jsx)(d,{className:`size-4`}),`Deregister`]}),(0,I.jsx)(k,{state:r.State})]}),subtitle:`Image Details`,title:r.ImageId}),(0,I.jsx)(j,{image:r,showExtendedDetails:!0})]}),(0,I.jsx)(O,{description:`Are you sure you want to deregister "${r.ImageId}"? The backing snapshot will not be deleted.`,isPending:a.isPending,onConfirm:B,onOpenChange:N,open:S,title:`Deregister Image`}),(0,I.jsx)(b,{onOpenChange:R,open:F,children:(0,I.jsxs)(m,{children:[(0,I.jsxs)(y,{children:[(0,I.jsx)(h,{children:`Promote to System Image`}),(0,I.jsxs)(p,{children:[`This will make “`,r.ImageId,`” visible to all accounts as a system image. This cannot be undone via the UI.`]})]}),(0,I.jsxs)(_,{children:[(0,I.jsx)(v,{children:`Cancel`}),(0,I.jsx)(g,{disabled:c.isPending,onClick:V,children:c.isPending?`Promoting…`:`Promote`})]})]})})]})}export{R 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 index 29f429d06..f527e3928 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id24.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id24.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{Qt as o}from"./cluster-config.js";import{t as s}from"./createLucideIcon.js";import{t as c}from"./back-link.js";import{c as l,i as u,n as d,s 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{a as _,t as v}from"./field.js";import{h as y,m as b}from"./ec2.js";import{A as ee,Y as x,g as te,k as S}from"./ec22.js";import{i as C,t as w}from"./zod.js";import{t as T}from"./error-banner.js";import{t as E}from"./page-heading.js";import{c as D}from"./ec23.js";import{t as ne}from"./_id9.js";import{t as re}from"./delete-confirmation-dialog.js";import{n as O,t as k}from"./detail-row.js";import{t as A}from"./launch-template-data-fields.js";import{t as j}from"./badge.js";var M=s(`rocket`,[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`,key:`u4xsad`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`,key:`676m9`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`,key:`92ym6u`}]]),N=s(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),P=e(n()),F=t();function I(e){if(!e)return``;try{let t=atob(e),n=new Uint8Array(t.length);for(let e=0;et.LaunchTemplateId===e),G=(s.LaunchTemplateVersions??[]).toSorted((e,t)=>(t.VersionNumber??0)-(e.VersionNumber??0)),{control:K,handleSubmit:q,register:J,getValues:Y,reset:X,formState:{errors:ie,isSubmitting:Z}}=C({resolver:w(D),defaultValues:{versionDescription:``,...R}});if(!W?.LaunchTemplateId)return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(c,{to:`/ec2/describe-launch-templates`,children:`Back to launch templates`}),(0,F.jsx)(`p`,{className:`text-muted-foreground`,children:`Launch template not found.`})]});let Q=W.DefaultVersionNumber,ae=e=>{if(e===`none`){X({...Y(),sourceVersion:void 0,...R});return}let t=G.find(t=>String(t.VersionNumber)===e);X({...Y(),sourceVersion:e,...L(t?.LaunchTemplateData)})},oe=async t=>{await I.mutateAsync({launchTemplateId:e,defaultVersion:String(t)})},se=async t=>{await z.mutateAsync({launchTemplateId:e,versions:[String(t)]})},ce=async()=>{try{await B.mutateAsync(e),t({to:`/ec2/describe-launch-templates`})}finally{U(!1)}},le=async t=>{await V.mutateAsync({...t,launchTemplateId:e}),X({versionDescription:``,sourceVersion:void 0,...R})},$=I.error??z.error;return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(c,{to:`/ec2/describe-launch-templates`,children:`Back to launch templates`}),B.error&&(0,F.jsx)(T,{error:B.error,msg:`Failed to delete launch template`}),(0,F.jsxs)(`div`,{className:`space-y-6`,children:[(0,F.jsx)(E,{actions:(0,F.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,F.jsxs)(h,{disabled:B.isPending,onClick:()=>U(!0),size:`sm`,variant:`destructive`,children:[(0,F.jsx)(m,{className:`size-4`}),`Delete`]}),(0,F.jsxs)(j,{variant:`secondary`,children:[`default v`,Q]})]}),subtitle:`Launch Template Details`,title:W.LaunchTemplateName??W.LaunchTemplateId}),(0,F.jsxs)(O,{children:[(0,F.jsx)(O.Header,{children:`Launch Template Information`}),(0,F.jsxs)(O.Content,{children:[(0,F.jsx)(k,{label:`Launch Template ID`,value:W.LaunchTemplateId}),(0,F.jsx)(k,{label:`Name`,value:W.LaunchTemplateName}),(0,F.jsx)(k,{label:`Default Version`,value:String(W.DefaultVersionNumber)}),(0,F.jsx)(k,{label:`Latest Version`,value:String(W.LatestVersionNumber)}),(0,F.jsx)(k,{label:`Created`,value:o(W.CreateTime)})]})]}),(0,F.jsxs)(O,{children:[(0,F.jsx)(O.Header,{children:`Versions`}),(0,F.jsxs)(`div`,{className:`space-y-4 p-4`,children:[$&&(0,F.jsx)(T,{error:$,msg:`Failed to update version`}),(0,F.jsx)(`div`,{className:`overflow-x-auto rounded-md border`,children:(0,F.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,F.jsx)(`thead`,{className:`bg-muted/50 text-left text-muted-foreground`,children:(0,F.jsxs)(`tr`,{children:[(0,F.jsx)(`th`,{className:`p-2 font-medium`,children:`Version`}),(0,F.jsx)(`th`,{className:`p-2 font-medium`,children:`Description`}),(0,F.jsx)(`th`,{className:`p-2 font-medium`,children:`Default`}),(0,F.jsx)(`th`,{className:`p-2 font-medium`,children:`Created`}),(0,F.jsx)(`th`,{className:`p-2`,children:(0,F.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,F.jsx)(`tbody`,{children:G.map(t=>{let n=t.VersionNumber,r=n===Q;return(0,F.jsxs)(`tr`,{className:`border-t`,children:[(0,F.jsx)(`td`,{className:`p-2 font-mono`,children:n}),(0,F.jsx)(`td`,{className:`p-2`,children:t.VersionDescription??`—`}),(0,F.jsx)(`td`,{className:`p-2`,children:r?(0,F.jsx)(j,{variant:`secondary`,children:`Default`}):`—`}),(0,F.jsx)(`td`,{className:`p-2`,children:o(t.CreateTime)}),(0,F.jsx)(`td`,{className:`p-2`,children:(0,F.jsxs)(`div`,{className:`flex items-center justify-end gap-1`,children:[(0,F.jsx)(i,{search:{launchTemplateId:e,launchTemplateVersion:String(n)},to:`/ec2/run-instances`,children:(0,F.jsxs)(h,{size:`sm`,variant:`ghost`,children:[(0,F.jsx)(M,{className:`size-4`}),`Launch`]})}),!r&&n!==void 0&&(0,F.jsxs)(h,{disabled:I.isPending,onClick:async()=>await oe(n),size:`sm`,variant:`ghost`,children:[(0,F.jsx)(N,{className:`size-4`}),`Set default`]}),(0,F.jsx)(h,{disabled:r||z.isPending||n===void 0,onClick:async()=>{n!==void 0&&await se(n)},size:`sm`,variant:`ghost`,children:(0,F.jsx)(m,{className:`size-4`})})]})})]},n)})})]})})]})]}),(0,F.jsxs)(O,{children:[(0,F.jsx)(O.Header,{children:`Create Version`}),(0,F.jsxs)(`div`,{className:`p-4`,children:[V.error&&(0,F.jsx)(T,{error:V.error,msg:`Failed to create version`}),(0,F.jsxs)(`form`,{className:`space-y-6`,onSubmit:q(le),children:[(0,F.jsxs)(v,{children:[(0,F.jsx)(_,{children:(0,F.jsx)(`label`,{htmlFor:`sourceVersion`,children:`Clone from version`})}),(0,F.jsxs)(p,{onValueChange:e=>ae(e??`none`),value:Y(`sourceVersion`)??`none`,children:[(0,F.jsx)(f,{className:`w-full`,id:`sourceVersion`,children:(0,F.jsx)(l,{})}),(0,F.jsxs)(d,{children:[(0,F.jsx)(u,{value:`none`,children:`none (start blank)`}),G.map(e=>(0,F.jsxs)(u,{value:String(e.VersionNumber),children:[`v`,e.VersionNumber,e.VersionDescription?` — ${e.VersionDescription}`:``]},e.VersionNumber))]})]})]}),(0,F.jsxs)(v,{children:[(0,F.jsx)(_,{children:(0,F.jsx)(`label`,{htmlFor:`versionDescription`,children:`Version Description`})}),(0,F.jsx)(g,{id:`versionDescription`,placeholder:`What changed in this version`,...J(`versionDescription`)})]}),(0,F.jsx)(A,{control:K,errors:ie,register:J}),(0,F.jsx)(h,{disabled:Z||V.isPending,type:`submit`,children:Z||V.isPending?`Creating…`:`Create Version`})]})]})]})]}),(0,F.jsx)(re,{description:`Are you sure you want to delete the launch template "${W.LaunchTemplateName??W.LaunchTemplateId}"? All versions will be deleted. This action cannot be undone.`,isPending:B.isPending,onConfirm:ce,onOpenChange:U,open:H,title:`Delete Launch Template`})]})}export{z 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"./useSuspenseQuery.js";import{t as o}from"./link.js";import{Qt as s,en as c}from"./cluster-config.js";import{t as l}from"./createLucideIcon.js";import{t as u}from"./back-link.js";import{c as d,i as f,n as p,s as m,t as h}from"./select.js";import{t as g}from"./rotate-cw.js";import{t as _}from"./trash-2.js";import{t as v}from"./button.js";import{t as y}from"./input.js";import{a as b,t as x}from"./field.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{n as ee}from"./admin-context.js";import{a as A,c as te,i as j,s as ne}from"./ec2.js";import{J as re,K as M,W as N,Z as P,d as F,i as I,it as L,nt as R,rt as z}from"./ec22.js";import{f as B}from"./iam2.js";import{t as V}from"./error-banner.js";import{t as H}from"./gpu-instance-type-select.js";import{t as U}from"./page-heading.js";import{t as W}from"./_id5.js";import{t as G}from"./delete-confirmation-dialog.js";import{n as K,t as q}from"./detail-row.js";import{t as J}from"./state-badge.js";import{t as ie}from"./ami-details.js";import{r as ae}from"./admin.js";import{t as Y}from"./textarea.js";var oe=l(`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`}]]),X=l(`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`}]]),se=l(`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`}]]),ce=l(`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`}]]),le=l(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),Z=e(n(),1),Q=t();function ue({instanceId:e,open:t,onOpenChange:n}){let r=F(),[i,a]=(0,Z.useState)(``),[o,s]=(0,Z.useState)(``),[c,l]=(0,Z.useState)(null);function u(e){e||(a(``),s(``),l(null)),n(e)}async function d(){try{let t=await r.mutateAsync({instanceId:e,name:i,description:o||void 0});l(t.ImageId??null),a(``),s(``)}catch{}}return(0,Q.jsx)(k,{onOpenChange:u,open:t,children:(0,Q.jsxs)(C,{children:[(0,Q.jsxs)(O,{children:[(0,Q.jsx)(w,{children:c?`Image Created`:`Create Image (AMI)`}),(0,Q.jsx)(S,{children:c?`Image "${c}" was created successfully.`:`Create an AMI from instance "${e}".`})]}),!c&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(x,{children:[(0,Q.jsx)(b,{children:(0,Q.jsx)(`label`,{htmlFor:`imageName`,children:`Name`})}),(0,Q.jsx)(y,{id:`imageName`,onChange:e=>a(e.target.value),placeholder:`my-image`,value:i})]}),(0,Q.jsxs)(x,{children:[(0,Q.jsx)(b,{children:(0,Q.jsx)(`label`,{htmlFor:`imageDescription`,children:`Description`})}),(0,Q.jsx)(Y,{id:`imageDescription`,onChange:e=>s(e.target.value),placeholder:`Optional description`,rows:2,value:o})]})]}),(0,Q.jsxs)(E,{children:[(0,Q.jsx)(D,{children:c?`Close`:`Cancel`}),!c&&(0,Q.jsx)(T,{disabled:r.isPending||!i.trim(),onClick:d,children:r.isPending?`Creating…`:`Create Image`})]})]})})}var $=r();function de(e){let t=(0,$.c)(22),{gpu:n}=e;if(!n)return null;let r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Q.jsx)(K.Header,{children:`GPU`}),t[0]=r):r=t[0];let i;t[1]===n.model?i=t[2]:(i=(0,Q.jsx)(q,{label:`Model`,value:n.model}),t[1]=n.model,t[2]=i);let a;t[3]===n.vram_mib?a=t[4]:(a=c(n.vram_mib),t[3]=n.vram_mib,t[4]=a);let o;t[5]===a?o=t[6]:(o=(0,Q.jsx)(q,{label:`VRAM`,value:a}),t[5]=a,t[6]=o);let s=n.profile?`MIG slice`:`PCIe passthrough`,l;t[7]===s?l=t[8]:(l=(0,Q.jsx)(q,{label:`Attachment`,value:s}),t[7]=s,t[8]=l);let u;t[9]===n.profile?u=t[10]:(u=n.profile&&(0,Q.jsx)(q,{label:`Profile`,value:n.profile}),t[9]=n.profile,t[10]=u);let d;t[11]===n.mdev_path?d=t[12]:(d=n.mdev_path&&(0,Q.jsx)(q,{label:`Mdev path`,value:n.mdev_path}),t[11]=n.mdev_path,t[12]=d);let f;t[13]===n.pci_address?f=t[14]:(f=n.pci_address&&(0,Q.jsx)(q,{label:`PCI address`,value:n.pci_address}),t[13]=n.pci_address,t[14]=f);let p;return t[15]!==i||t[16]!==o||t[17]!==l||t[18]!==u||t[19]!==d||t[20]!==f?(p=(0,Q.jsxs)(K,{children:[r,(0,Q.jsxs)(K.Content,{children:[i,o,l,u,d,f]})]}),t[15]=i,t[16]=o,t[17]=l,t[18]=u,t[19]=d,t[20]=f,t[21]=p):p=t[21],p}function fe(e){let t=(0,$.c)(31),{instanceId:n}=e,r;t[0]===n?r=t[1]:(r=j(n),t[0]=n,t[1]=r);let{data:a}=i(r),{data:s}=i(B),c=I(),l=N(),[u,f]=(0,Z.useState)(``),g;t[2]===a?.IamInstanceProfileAssociations?g=t[3]:(g=a?.IamInstanceProfileAssociations?.find(me),t[2]=a?.IamInstanceProfileAssociations,t[3]=g);let _=g,y;t[4]===s?.InstanceProfiles?y=t[5]:(y=s?.InstanceProfiles??[],t[4]=s?.InstanceProfiles,t[5]=y);let b=y,x;t[6]!==c||t[7]!==n||t[8]!==u?(x=async()=>{u&&(await c.mutateAsync({instanceId:n,instanceProfileName:u}),f(``))},t[6]=c,t[7]=n,t[8]=u,t[9]=x):x=t[9];let S=x,C;t[10]!==_||t[11]!==l||t[12]!==n?(C=async()=>{_?.AssociationId&&await l.mutateAsync({associationId:_.AssociationId,instanceId:n})},t[10]=_,t[11]=l,t[12]=n,t[13]=C):C=t[13];let w=C,T;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,Q.jsx)(K.Header,{children:`IAM Role`}),t[14]=T):T=t[14];let E;t[15]===c.error?E=t[16]:(E=c.error&&(0,Q.jsx)(`div`,{className:`col-span-2`,children:(0,Q.jsx)(V,{error:c.error,msg:`Failed to associate instance profile`})}),t[15]=c.error,t[16]=E);let D;t[17]===l.error?D=t[18]:(D=l.error&&(0,Q.jsx)(`div`,{className:`col-span-2`,children:(0,Q.jsx)(V,{error:l.error,msg:`Failed to disassociate instance profile`})}),t[17]=l.error,t[18]=D);let O;t[19]!==c.isPending||t[20]!==_||t[21]!==l.isPending||t[22]!==S||t[23]!==w||t[24]!==b||t[25]!==u?(O=_?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(q,{label:`Instance Profile ARN`,value:_.IamInstanceProfile?.Arn}),(0,Q.jsx)(q,{label:`State`,value:(0,Q.jsx)(J,{state:_.State})}),(0,Q.jsx)(`div`,{className:`col-span-2 flex justify-end`,children:(0,Q.jsx)(v,{disabled:l.isPending,onClick:w,size:`sm`,variant:`destructive`,children:l.isPending?`Detaching…`:`Detach`})})]}):(0,Q.jsxs)(`div`,{className:`col-span-2 space-y-3`,children:[(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No instance profile is associated. Associate one to flow role credentials to this instance via IMDS.`}),b.length>0?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsxs)(h,{onValueChange:e=>f(e??``),value:u,children:[(0,Q.jsx)(m,{className:`w-full`,children:(0,Q.jsx)(d,{placeholder:`Select an instance profile`})}),(0,Q.jsx)(p,{children:b.map(pe)})]}),(0,Q.jsx)(v,{disabled:!u||c.isPending,onClick:S,size:`sm`,children:c.isPending?`Associating…`:`Associate`})]}):(0,Q.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`No instance profiles exist.`,` `,(0,Q.jsx)(o,{className:`text-primary hover:underline`,to:`/iam/create-instance-profile`,children:`Create one`}),` `,`first.`]})]}),t[19]=c.isPending,t[20]=_,t[21]=l.isPending,t[22]=S,t[23]=w,t[24]=b,t[25]=u,t[26]=O):O=t[26];let k;return t[27]!==E||t[28]!==D||t[29]!==O?(k=(0,Q.jsxs)(K,{children:[T,(0,Q.jsxs)(K.Content,{children:[E,D,O]})]}),t[27]=E,t[28]=D,t[29]=O,t[30]=k):k=t[30],k}function pe(e){return(0,Q.jsx)(f,{value:e.InstanceProfileName??``,children:e.InstanceProfileName},e.InstanceProfileName)}function me(e){return e.State===`associating`||e.State===`associated`}var he=new Set([`pending`,`stopping`,`shutting-down`,`terminated`]);function ge(e){let t=(0,$.c)(43),{instanceId:n,state:r}=e,i=R(),a=z(),o=P(),s=L(),[c,l]=(0,Z.useState)(!1),u=he.has(r??``),d;t[0]!==n||t[1]!==s?(d=()=>{s.mutate(n,{onSettled:()=>l(!1)})},t[0]=n,t[1]=s,t[2]=d):d=t[2];let f=d;if(u&&r!==`terminated`){let e;return t[3]===r?e=t[4]:(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[3]=r,t[4]=e),e}if(r===`terminated`){let e;return t[5]===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[5]=e):e=t[5],e}let p;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Q.jsx)(`h2`,{className:`mb-4 font-semibold`,children:`Instance Actions`}),t[6]=p):p=t[6];let m;t[7]===i.error?m=t[8]:(m=i.error&&(0,Q.jsx)(V,{error:i.error,msg:`Failed to start instance`}),t[7]=i.error,t[8]=m);let h;t[9]===a.error?h=t[10]:(h=a.error&&(0,Q.jsx)(V,{error:a.error,msg:`Failed to stop instance`}),t[9]=a.error,t[10]=h);let y;t[11]===o.error?y=t[12]:(y=o.error&&(0,Q.jsx)(V,{error:o.error,msg:`Failed to reboot instance`}),t[11]=o.error,t[12]=y);let b;t[13]===s.error?b=t[14]:(b=s.error&&(0,Q.jsx)(V,{error:s.error,msg:`Failed to terminate instance`}),t[13]=s.error,t[14]=b);let x;t[15]!==n||t[16]!==i||t[17]!==r?(x=r===`stopped`&&(0,Q.jsxs)(v,{disabled:i.isPending,onClick:()=>i.mutate(n),size:`sm`,variant:`default`,children:[(0,Q.jsx)(se,{className:`size-4`}),i.isPending?`Starting`:`Start`]}),t[15]=n,t[16]=i,t[17]=r,t[18]=x):x=t[18];let S;t[19]!==n||t[20]!==o||t[21]!==r||t[22]!==a?(S=r===`running`&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(v,{disabled:a.isPending,onClick:()=>a.mutate(n),size:`sm`,variant:`outline`,children:[(0,Q.jsx)(X,{className:`size-4`}),a.isPending?`Stopping`:`Stop`]}),(0,Q.jsxs)(v,{disabled:o.isPending,onClick:()=>o.mutate(n),size:`sm`,variant:`outline`,children:[(0,Q.jsx)(g,{className:`size-4`}),o.isPending?`Rebooting`:`Reboot`]})]}),t[19]=n,t[20]=o,t[21]=r,t[22]=a,t[23]=S):S=t[23];let C;t[24]!==r||t[25]!==s.isPending?(C=(r===`stopped`||r===`running`)&&(0,Q.jsxs)(v,{disabled:s.isPending,onClick:()=>l(!0),size:`sm`,variant:`destructive`,children:[(0,Q.jsx)(_,{className:`size-4`}),s.isPending?`Terminating`:`Terminate`]}),t[24]=r,t[25]=s.isPending,t[26]=C):C=t[26];let w;t[27]!==x||t[28]!==S||t[29]!==C?(w=(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[x,S,C]}),t[27]=x,t[28]=S,t[29]=C,t[30]=w):w=t[30];let T=`Are you sure you want to terminate the instance "${n}"? This action cannot be undone.`,E;t[31]!==f||t[32]!==c||t[33]!==T||t[34]!==s.isPending?(E=(0,Q.jsx)(G,{confirmLabel:`Terminate`,description:T,isPending:s.isPending,onConfirm:f,onOpenChange:l,open:c,pendingLabel:`Terminating…`,title:`Terminate Instance`}),t[31]=f,t[32]=c,t[33]=T,t[34]=s.isPending,t[35]=E):E=t[35];let D;return t[36]!==w||t[37]!==E||t[38]!==m||t[39]!==h||t[40]!==y||t[41]!==b?(D=(0,Q.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[p,m,h,y,b,w,E]}),t[36]=w,t[37]=E,t[38]=m,t[39]=h,t[40]=y,t[41]=b,t[42]=D):D=t[42],D}function _e(){let{id:e}=W.useParams(),{isAdmin:t}=ee(),{data:n}=a(ne(e)),r=n.Reservations?.[0]?.Instances?.[0],{data:c}=a(A(r?.ImageId)),l=c?.Images?.[0],{data:d}=a(te),{data:f}=i({...ae,enabled:t,refetchInterval:5e3}),p=f?.vms?.find(t=>t.instance_id===e),m=re(),h=M(),[g,_]=(0,Z.useState)(!1),[y,j]=(0,Z.useState)(``),[N,P]=(0,Z.useState)(!1),[F,I]=(0,Z.useState)(null),[L,R]=(0,Z.useState)(!1);if(!r?.InstanceId)return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(u,{to:`/ec2/describe-instances`,children:`Back to instances`}),(0,Q.jsx)(`p`,{className:`text-muted-foreground`,children:`Instance not found.`})]});let z=s(r.LaunchTime),B=r.State?.Name===`running`,G=r.State?.Name===`stopped`;async function Y(){try{await m.mutateAsync({instanceId:e,instanceType:y}),_(!1),j(``)}catch{}}async function X(){try{let t=await h.mutateAsync(e),n=t.Output?atob(t.Output):`(no output)`;I(n),P(!0)}catch{}}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(u,{to:`/ec2/describe-instances`,children:`Back to instances`}),m.error&&(0,Q.jsx)(V,{error:m.error,msg:`Failed to modify instance`}),h.error&&(0,Q.jsx)(V,{error:h.error,msg:`Failed to get console output`}),(0,Q.jsxs)(`div`,{className:`space-y-6`,children:[(0,Q.jsx)(U,{actions:(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[B&&(0,Q.jsxs)(v,{disabled:h.isPending,onClick:X,size:`sm`,variant:`outline`,children:[(0,Q.jsx)(le,{className:`size-4`}),h.isPending?`Fetching…`:`View Console`]}),(B||G)&&(0,Q.jsxs)(v,{onClick:()=>R(!0),size:`sm`,variant:`outline`,children:[(0,Q.jsx)(oe,{className:`size-4`}),`Create Image`]}),G&&(0,Q.jsxs)(v,{onClick:()=>{j(r.InstanceType??``),_(!0)},size:`sm`,variant:`outline`,children:[(0,Q.jsx)(ce,{className:`size-4`}),`Modify Instance`]}),(0,Q.jsx)(J,{state:r.State?.Name})]}),subtitle:`Instance Details`,title:r.InstanceId}),(0,Q.jsx)(ge,{instanceId:r.InstanceId,state:r.State?.Name}),N&&F!==null&&(0,Q.jsxs)(K,{children:[(0,Q.jsx)(K.Header,{children:(0,Q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[`Console Output`,(0,Q.jsx)(v,{onClick:()=>{P(!1),I(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:F})})]}),(0,Q.jsxs)(K,{children:[(0,Q.jsx)(K.Header,{children:`Instance Information`}),(0,Q.jsxs)(K.Content,{children:[(0,Q.jsx)(q,{label:`Instance ID`,value:r.InstanceId}),(0,Q.jsx)(q,{label:`Instance Type`,value:r.InstanceType}),(0,Q.jsx)(q,{label:`Instance State`,value:r.State?.Name}),(0,Q.jsx)(q,{label:`State Code`,value:r.State?.Code?.toString()}),(0,Q.jsx)(q,{label:`Launch Time`,value:z}),(0,Q.jsx)(q,{label:`Availability Zone`,value:r.Placement?.AvailabilityZone}),(0,Q.jsx)(q,{label:`Placement Group`,value:r.Placement?.GroupName?(0,Q.jsx)(o,{className:`text-primary hover:underline`,to:`/ec2/describe-placement-groups`,children:r.Placement.GroupName}):void 0})]})]}),(r.PrivateIpAddress||r.PublicIpAddress||r.VpcId||r.SubnetId||r.SecurityGroups&&r.SecurityGroups.length>0)&&(0,Q.jsxs)(K,{children:[(0,Q.jsx)(K.Header,{children:`Network & Security`}),(0,Q.jsxs)(K.Content,{children:[(0,Q.jsx)(q,{label:`Private IP Address`,value:r.PrivateIpAddress}),(0,Q.jsx)(q,{label:`Public IP Address`,value:r.PublicIpAddress}),(0,Q.jsx)(q,{label:`Private DNS`,value:r.PrivateDnsName}),(0,Q.jsx)(q,{label:`Public DNS`,value:r.PublicDnsName}),(0,Q.jsx)(q,{label:`VPC ID`,value:r.VpcId?(0,Q.jsx)(o,{className:`text-primary hover:underline`,params:{id:r.VpcId},to:`/ec2/describe-vpcs/$id`,children:r.VpcId}):void 0}),(0,Q.jsx)(q,{label:`Subnet ID`,value:r.SubnetId?(0,Q.jsx)(o,{className:`text-primary hover:underline`,params:{id:r.SubnetId},to:`/ec2/describe-subnets/$id`,children:r.SubnetId}):void 0}),(0,Q.jsx)(q,{label:`Key Name`,value:r.KeyName}),(0,Q.jsx)(q,{label:`Security Groups`,value:r.SecurityGroups?.map(e=>e.GroupName).join(`, `)})]})]}),(0,Q.jsx)(fe,{instanceId:r.InstanceId}),t&&(0,Q.jsx)(de,{gpu:p?.gpu}),r.BlockDeviceMappings&&r.BlockDeviceMappings.length>0&&(0,Q.jsxs)(K,{children:[(0,Q.jsx)(K.Header,{children:`Block Device Mappings`}),r.BlockDeviceMappings.map(e=>(0,Q.jsxs)(K.Content,{children:[(0,Q.jsx)(q,{label:`Device Name`,value:e.DeviceName}),(0,Q.jsx)(q,{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)(q,{label:`Status`,value:e.Ebs?.Status}),(0,Q.jsx)(q,{label:`Attach Time`,value:s(e.Ebs?.AttachTime)}),(0,Q.jsx)(q,{label:`Delete on Termination`,value:e.Ebs?.DeleteOnTermination?`Yes`:`No`})]},e.DeviceName))]}),l&&(0,Q.jsx)(ie,{image:l})]}),(0,Q.jsx)(k,{onOpenChange:e=>{e||(_(!1),j(``))},open:g,children:(0,Q.jsxs)(C,{children:[(0,Q.jsxs)(O,{children:[(0,Q.jsx)(w,{children:`Modify Instance`}),(0,Q.jsxs)(S,{children:[`Select a new instance type for "`,r.InstanceId,`". The instance must be stopped to modify its attributes.`]})]}),(0,Q.jsxs)(x,{children:[(0,Q.jsx)(b,{children:(0,Q.jsx)(`label`,{htmlFor:`instanceType`,children:`Instance Type`})}),(0,Q.jsx)(H,{className:`w-full`,id:`instanceType`,instanceTypes:d.InstanceTypes??[],onValueChange:j,value:y})]}),(0,Q.jsxs)(E,{children:[(0,Q.jsx)(D,{children:`Cancel`}),(0,Q.jsx)(T,{disabled:m.isPending||!y||y===r.InstanceType,onClick:Y,children:m.isPending?`Saving…`:`Save Changes`})]})]})}),(0,Q.jsx)(ue,{instanceId:r.InstanceId,onOpenChange:R,open:L})]})}export{_e as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id25.js b/spinifex/services/spinifexui/frontend/dist/assets/_id25.js index 260ce8914..55842424a 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id25.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id25.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"./useSuspenseQuery.js";import{t as a}from"./useNavigate.js";import{Qt as o,tn as s}from"./cluster-config.js";import{t as c}from"./createLucideIcon.js";import{t as l}from"./back-link.js";import{c as u,i as d,n as f,s 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,r as y,t as b}from"./field.js";import{a as x,i as S,l as C,n as w,o as T,r as E,s as D,t as O}from"./alert-dialog.js";import{t as k}from"./acm.js";import{t as A}from"./certificate-import-dialog.js";import{O as j,w as M}from"./ec2.js";import{_ as N,a as P,d as F,f as I,g as ee,h as te,o as L,r as R,s as z,t as B,u as V}from"./elbv2.js";import{i as H,n as U,o as W,r as G,s as K,t as q,u as J}from"./elbv22.js";import{a as ne,i as re,n as ie,r as ae,t as oe}from"./zod.js";import{t as Y}from"./error-banner.js";import{t as se}from"./page-heading.js";import{t as ce}from"./_id10.js";import{t as le}from"./delete-confirmation-dialog.js";import{n as X,t as Z}from"./detail-row.js";import{t as ue}from"./state-badge.js";import{c as de,i as fe,n as pe,o as me,s as he,t as ge}from"./elbv23.js";import{n as _e,r as ve,t as ye}from"./tags-editor.js";import{i as be,n as xe,r as Se,t as Ce}from"./tabs.js";var we=c(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),Te=r(),Q=e(n(),1),$=t(),Ee=80,De=443,Oe=[],ke=[];function Ae(e){let t=e.CertificateArn?.split(`/`).pop()??e.CertificateArn??``;return e.DomainName?`${e.DomainName} · ${t}`:t}function je(e){let t=(0,Te.c)(55),{form:n,protocols:r,targetGroups:i,certificates:a,sslPolicies:o}=e,s=a===void 0?Oe:a,c=o===void 0?ke:o,{control:l,register:d,getValues:h,setValue:x,formState:S}=n,{errors:C}=S,[w,T]=(0,Q.useState)(!1),E;t[0]===l?E=t[1]:(E={control:l,name:`protocol`},t[0]=l,t[1]=E);let D=ne(E),O=D===`HTTPS`,k;t[2]===D?k=t[3]:(k=he(D),t[2]=D,t[3]=k);let j=k,M;t[4]!==h||t[5]!==x?(M=e=>{if(!e)return;let t=h(`port`);he(e)?(t===Ee&&x(`port`,De),e===`HTTPS`?h(`sslPolicy`)||x(`sslPolicy`,ge):x(`sslPolicy`,void 0)):(t===De&&x(`port`,Ee),x(`certificateArn`,void 0),x(`sslPolicy`,void 0))},t[4]=h,t[5]=x,t[6]=M):M=t[6];let N=M,P;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`listener-protocol`,children:`Protocol`})}),t[7]=P):P=t[7];let F;t[8]!==N||t[9]!==r?(F=e=>{let{field:t}=e;return(0,$.jsxs)(m,{onValueChange:e=>{t.onChange(e),N(e)},value:t.value,children:[(0,$.jsx)(p,{className:`w-full`,id:`listener-protocol`,children:(0,$.jsx)(u,{})}),(0,$.jsx)(f,{children:r.map(Fe)})]})},t[8]=N,t[9]=r,t[10]=F):F=t[10];let I;t[11]!==l||t[12]!==F?(I=(0,$.jsxs)(b,{children:[P,(0,$.jsx)(ie,{control:l,name:`protocol`,render:F})]}),t[11]=l,t[12]=F,t[13]=I):I=t[13];let ee;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`listener-port`,children:`Port`})}),t[14]=ee):ee=t[14];let te=!!C.port,L=j?`443`:`80`,R;t[15]===d?R=t[16]:(R=d(`port`,{valueAsNumber:!0}),t[15]=d,t[16]=R);let z;t[17]!==te||t[18]!==L||t[19]!==R?(z=(0,$.jsx)(_,{"aria-invalid":te,id:`listener-port`,inputMode:`numeric`,placeholder:L,type:`number`,...R}),t[17]=te,t[18]=L,t[19]=R,t[20]=z):z=t[20];let B;t[21]===C.port?B=t[22]:(B=(0,$.jsx)(y,{errors:[C.port]}),t[21]=C.port,t[22]=B);let V;t[23]!==z||t[24]!==B?(V=(0,$.jsxs)(b,{children:[ee,z,B]}),t[23]=z,t[24]=B,t[25]=V):V=t[25];let H;t[26]!==s||t[27]!==l||t[28]!==C.certificateArn||t[29]!==w||t[30]!==O||t[31]!==j||t[32]!==x||t[33]!==c?(H=j&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(b,{children:[(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`listener-certificate`,children:`Certificate`})}),(0,$.jsx)(ie,{control:l,name:`certificateArn`,render:e=>{let{field:t}=e;return(0,$.jsxs)(m,{onValueChange:t.onChange,value:t.value??``,children:[(0,$.jsx)(p,{"aria-invalid":!!C.certificateArn,className:`w-full`,id:`listener-certificate`,children:(0,$.jsx)(u,{placeholder:`Select certificate`})}),(0,$.jsx)(f,{children:s.map(Pe)})]})}}),(0,$.jsx)(y,{errors:[C.certificateArn]}),(0,$.jsxs)(`div`,{className:`mt-1 flex items-center justify-between`,children:[s.length===0&&(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No certificates imported yet.`}),(0,$.jsx)(g,{className:`ml-auto`,onClick:()=>T(!0),size:`sm`,type:`button`,variant:`ghost`,children:`Import certificate…`})]})]}),O&&(0,$.jsxs)(b,{children:[(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`listener-ssl-policy`,children:`Security policy`})}),(0,$.jsx)(ie,{control:l,name:`sslPolicy`,render:e=>{let{field:t}=e;return(0,$.jsxs)(m,{onValueChange:t.onChange,value:t.value??`ELBSecurityPolicy-2016-08`,children:[(0,$.jsx)(p,{className:`w-full`,id:`listener-ssl-policy`,children:(0,$.jsx)(u,{})}),(0,$.jsx)(f,{children:c.map(Ne)})]})}})]}),(0,$.jsx)(A,{onImported:e=>x(`certificateArn`,e,{shouldValidate:!0}),onOpenChange:T,open:w})]}),t[26]=s,t[27]=l,t[28]=C.certificateArn,t[29]=w,t[30]=O,t[31]=j,t[32]=x,t[33]=c,t[34]=H):H=t[34];let U;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`listener-default-tg`,children:`Default target group`})}),t[35]=U):U=t[35];let W;t[36]!==C.defaultTargetGroupArn||t[37]!==i?(W=e=>{let{field:t}=e;return(0,$.jsxs)(m,{onValueChange:t.onChange,value:t.value??``,children:[(0,$.jsx)(p,{"aria-invalid":!!C.defaultTargetGroupArn,className:`w-full`,id:`listener-default-tg`,children:(0,$.jsx)(u,{placeholder:`Select target group`})}),(0,$.jsx)(f,{children:i.map(Me)})]})},t[36]=C.defaultTargetGroupArn,t[37]=i,t[38]=W):W=t[38];let G;t[39]!==l||t[40]!==W?(G=(0,$.jsx)(ie,{control:l,name:`defaultTargetGroupArn`,render:W}),t[39]=l,t[40]=W,t[41]=G):G=t[41];let K;t[42]===C.defaultTargetGroupArn?K=t[43]:(K=(0,$.jsx)(y,{errors:[C.defaultTargetGroupArn]}),t[42]=C.defaultTargetGroupArn,t[43]=K);let q;t[44]===i.length?q=t[45]:(q=i.length===0&&(0,$.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`No target groups available in this VPC. Create one first.`}),t[44]=i.length,t[45]=q);let J;t[46]!==G||t[47]!==K||t[48]!==q?(J=(0,$.jsxs)(b,{children:[U,G,K,q]}),t[46]=G,t[47]=K,t[48]=q,t[49]=J):J=t[49];let re;return t[50]!==V||t[51]!==H||t[52]!==J||t[53]!==I?(re=(0,$.jsxs)($.Fragment,{children:[I,V,H,J]}),t[50]=V,t[51]=H,t[52]=J,t[53]=I,t[54]=re):re=t[54],re}function Me(e){return(0,$.jsxs)(d,{value:e.TargetGroupArn??``,children:[e.TargetGroupName,` · `,e.Protocol,`:`,e.Port]},e.TargetGroupArn)}function Ne(e){return(0,$.jsx)(d,{value:e.Name??``,children:e.Name},e.Name)}function Pe(e){return(0,$.jsx)(d,{value:e.CertificateArn??``,children:Ae(e)},e.CertificateArn)}function Fe(e){return(0,$.jsx)(d,{value:e,children:e},e)}function Ie({listenerArn:e,targetGroups:t}){let{data:n}=i(q(e)),r=R(),a=I(),o=z(),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(),[d,f]=(0,Q.useState)(),p=n.Rules??[],m=new Map;for(let e of t)e.TargetGroupArn&&e.TargetGroupName&&m.set(e.TargetGroupArn,e.TargetGroupName);return(0,$.jsxs)(`div`,{className:`space-y-3`,children:[r.error&&(0,$.jsx)(Y,{error:r.error,msg:`Failed to create rule`}),a.error&&(0,$.jsx)(Y,{error:a.error,msg:`Failed to modify rule`}),o.error&&(0,$.jsx)(Y,{error:o.error,msg:`Failed to delete rule`}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[p.length,` rule`,p.length===1?``:`s`,` (including default)`]}),(0,$.jsx)(g,{onClick:()=>c(!0),size:`sm`,children:`Add rule`})]}),(0,$.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,$.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Priority`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Conditions`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Forward to`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,$.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,$.jsx)(`tbody`,{children:p.map(e=>(0,$.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,$.jsx)(`td`,{className:`px-4 py-2`,children:e.Priority}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:Le(e.Conditions,e.IsDefault===!0)}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:ze(e,m)}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-right`,children:e.IsDefault===!0?(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Edit via listener`}):(0,$.jsxs)(`div`,{className:`flex justify-end gap-1`,children:[(0,$.jsx)(g,{"aria-label":`Edit rule ${e.Priority}`,onClick:()=>u(e),size:`sm`,variant:`ghost`,children:(0,$.jsx)(we,{className:`size-4`})}),(0,$.jsx)(g,{"aria-label":`Delete rule ${e.Priority}`,onClick:()=>f(e),size:`sm`,variant:`ghost`,children:(0,$.jsx)(h,{className:`size-4`})})]})})]},e.RuleArn??e.Priority??`default`))})]})}),s&&(0,$.jsx)(We,{isPending:r.isPending,mode:`add`,onOpenChange:c,onSubmit:async t=>{try{await r.mutateAsync({listenerArn:e,priority:t.priority,conditions:t.conditions.map(Be),forwardTargetGroupArn:t.forwardTargetGroupArn}),c(!1)}catch{}},open:s,targetGroups:t}),(0,$.jsx)(We,{initialRule:l,isPending:a.isPending,mode:`edit`,onOpenChange:e=>!e&&u(void 0),onSubmit:async t=>{if(l?.RuleArn)try{await a.mutateAsync({ruleArn:l.RuleArn,listenerArn:e,conditions:t.conditions.map(Be),forwardTargetGroupArn:t.forwardTargetGroupArn}),u(void 0)}catch{}},open:l!==void 0,targetGroups:t}),(0,$.jsx)(le,{description:d?`Delete rule with priority ${d.Priority}? This cannot be undone.`:``,isPending:o.isPending,onConfirm:async()=>{if(d?.RuleArn)try{await o.mutateAsync({ruleArn:d.RuleArn,listenerArn:e})}finally{f(void 0)}},onOpenChange:e=>!e&&f(void 0),open:d!==void 0,title:`Delete rule`})]})}function Le(e,t){return t?`default`:!e||e.length===0?`—`:e.map(e=>{let t=Re(e);return`${e.Field}: ${t.join(`, `)}`}).join(` AND `)}function Re(e){if(e.Field===void 0)return e.Values??[];switch(e.Field){case`host-header`:return e.HostHeaderConfig?.Values??e.Values??[];case`path-pattern`:return e.PathPatternConfig?.Values??e.Values??[];case`http-header`:{let t=e.HttpHeaderConfig?.HttpHeaderName??`?`;return(e.HttpHeaderConfig?.Values??[]).map(e=>`${t}=${e}`)}case`http-request-method`:return e.HttpRequestMethodConfig?.Values??[];case`source-ip`:return e.SourceIpConfig?.Values??[];case`query-string`:return(e.QueryStringConfig?.Values??[]).map(e=>e.Key?`${e.Key}=${e.Value??``}`:e.Value??``);default:return e.Values??[]}}function ze(e,t){let n=e.Actions?.[0];return n?n.Type===`forward`&&n.TargetGroupArn?t.get(n.TargetGroupArn)??n.TargetGroupArn:n.Type??`—`:`—`}function Be(e){let t=e.rawValues.split(/[\n,]/).map(e=>e.trim()).filter(e=>e.length>0);return e.field===`query-string`?{field:e.field,values:[],queryStringPairs:t.map(e=>{let t=e.indexOf(`=`);return t===-1?{value:e}:{key:e.slice(0,t),value:e.slice(t+1)}})}:{field:e.field,values:t,httpHeaderName:e.httpHeaderName}}var Ve=1,He=[{field:`path-pattern`,rawValues:``}];function Ue(e){let t=Number(e.Priority??Ve),n=e.Conditions?.map(e=>Xe(e))??[];return{priority:Number.isFinite(t)?t:Ve,conditions:n.length>0?n:He,forwardTargetGroupArn:e.Actions?.[0]?.TargetGroupArn??``}}function We(e){let t=(0,Te.c)(84),{open:n,onOpenChange:r,onSubmit:i,isPending:a,targetGroups:o,mode:s,initialRule:c}=e,l,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=oe(fe),d={priority:Ve,conditions:He,forwardTargetGroupArn:``},t[0]=l,t[1]=d):(l=t[0],d=t[1]);let h;t[2]===c?h=t[3]:(h=c?Ue(c):void 0,t[2]=c,t[3]=h);let k;t[4]===h?k=t[5]:(k={resolver:l,defaultValues:d,values:h},t[4]=h,t[5]=k);let A=re(k),j;t[6]===A.control?j=t[7]:(j={control:A.control,name:`conditions`},t[6]=A.control,t[7]=j);let{fields:M,append:N,remove:P}=ae(j),F;t[8]!==A||t[9]!==i?(F=A.handleSubmit(i),t[8]=A,t[9]=i,t[10]=F):F=t[10];let I=F,ee;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(ee={maxWidth:`40rem`,width:`calc(100vw - 2rem)`},t[11]=ee):ee=t[11];let te=s===`add`?`Add rule`:`Edit rule`,L;t[12]===te?L=t[13]:(L=(0,$.jsx)(C,{children:te}),t[12]=te,t[13]=L);let R;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(x,{children:`Routing rules match incoming requests and forward them to a target group. Rules evaluate in priority order; the listener default applies when no rule matches.`}),t[14]=R):R=t[14];let z;t[15]===L?z=t[16]:(z=(0,$.jsxs)(D,{children:[L,R]}),t[15]=L,t[16]=z);let B;t[17]===I?B=t[18]:(B=e=>{e.preventDefault(),I()},t[17]=I,t[18]=B);let V;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`rule-priority`,children:`Priority`})}),t[19]=V):V=t[19];let H=!!A.formState.errors.priority,U;t[20]===A?U=t[21]:(U=A.register(`priority`,{valueAsNumber:!0}),t[20]=A,t[21]=U);let W;t[22]!==H||t[23]!==U?(W=(0,$.jsx)(_,{"aria-invalid":H,id:`rule-priority`,inputMode:`numeric`,type:`number`,...U}),t[22]=H,t[23]=U,t[24]=W):W=t[24];let G;t[25]===A.formState.errors.priority?G=t[26]:(G=(0,$.jsx)(y,{errors:[A.formState.errors.priority]}),t[25]=A.formState.errors.priority,t[26]=G);let K;t[27]!==W||t[28]!==G?(K=(0,$.jsxs)(b,{children:[V,W,G]}),t[27]=W,t[28]=G,t[29]=K):K=t[29];let q;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,$.jsx)(v,{children:`Conditions`}),t[30]=q):q=t[30];let J=M.length>=5,ne;t[31]===N?ne=t[32]:(ne=()=>N({field:`path-pattern`,rawValues:``}),t[31]=N,t[32]=ne);let Y;t[33]!==J||t[34]!==ne?(Y=(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[q,(0,$.jsx)(g,{disabled:J,onClick:ne,size:`sm`,type:`button`,variant:`outline`,children:`Add condition`})]}),t[33]=J,t[34]=ne,t[35]=Y):Y=t[35];let se;if(t[36]!==M||t[37]!==A||t[38]!==P){let e;t[40]!==M.length||t[41]!==A||t[42]!==P?(e=(e,t)=>(0,$.jsx)(Ke,{form:A,index:t,onRemove:M.length>1?()=>P(t):void 0},e.id),t[40]=M.length,t[41]=A,t[42]=P,t[43]=e):e=t[43],se=M.map(e),t[36]=M,t[37]=A,t[38]=P,t[39]=se}else se=t[39];let ce;t[44]!==Y||t[45]!==se?(ce=(0,$.jsxs)(`div`,{className:`space-y-3`,children:[Y,se]}),t[44]=Y,t[45]=se,t[46]=ce):ce=t[46];let le;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`rule-forward-tg`,children:`Forward to target group`})}),t[47]=le):le=t[47];let X;t[48]!==A.formState.errors.forwardTargetGroupArn||t[49]!==o?(X=e=>{let{field:t}=e;return(0,$.jsxs)(m,{onValueChange:t.onChange,value:t.value??``,children:[(0,$.jsx)(p,{"aria-invalid":!!A.formState.errors.forwardTargetGroupArn,className:`w-full`,id:`rule-forward-tg`,children:(0,$.jsx)(u,{placeholder:`Select target group`})}),(0,$.jsx)(f,{children:o.map(Ge)})]})},t[48]=A.formState.errors.forwardTargetGroupArn,t[49]=o,t[50]=X):X=t[50];let Z;t[51]!==A.control||t[52]!==X?(Z=(0,$.jsx)(ie,{control:A.control,name:`forwardTargetGroupArn`,render:X}),t[51]=A.control,t[52]=X,t[53]=Z):Z=t[53];let ue;t[54]===A.formState.errors.forwardTargetGroupArn?ue=t[55]:(ue=(0,$.jsx)(y,{errors:[A.formState.errors.forwardTargetGroupArn]}),t[54]=A.formState.errors.forwardTargetGroupArn,t[55]=ue);let de;t[56]!==Z||t[57]!==ue?(de=(0,$.jsxs)(b,{children:[le,Z,ue]}),t[56]=Z,t[57]=ue,t[58]=de):de=t[58];let pe;t[59]!==B||t[60]!==K||t[61]!==ce||t[62]!==de?(pe=(0,$.jsxs)(`form`,{className:`min-w-0 space-y-4`,onSubmit:B,children:[K,ce,de]}),t[59]=B,t[60]=K,t[61]=ce,t[62]=de,t[63]=pe):pe=t[63];let me;t[64]===a?me=t[65]:(me=(0,$.jsx)(E,{disabled:a,children:`Cancel`}),t[64]=a,t[65]=me);let he;t[66]!==a||t[67]!==s?(he=Ze(s,a),t[66]=a,t[67]=s,t[68]=he):he=t[68];let ge;t[69]!==I||t[70]!==a||t[71]!==he?(ge=(0,$.jsx)(w,{disabled:a,onClick:I,children:he}),t[69]=I,t[70]=a,t[71]=he,t[72]=ge):ge=t[72];let _e;t[73]!==me||t[74]!==ge?(_e=(0,$.jsxs)(T,{children:[me,ge]}),t[73]=me,t[74]=ge,t[75]=_e):_e=t[75];let ve;t[76]!==z||t[77]!==pe||t[78]!==_e?(ve=(0,$.jsxs)(S,{className:`grid-cols-[minmax(0,1fr)]`,style:ee,children:[z,pe,_e]}),t[76]=z,t[77]=pe,t[78]=_e,t[79]=ve):ve=t[79];let ye;return t[80]!==r||t[81]!==n||t[82]!==ve?(ye=(0,$.jsx)(O,{onOpenChange:r,open:n,children:ve}),t[80]=r,t[81]=n,t[82]=ve,t[83]=ye):ye=t[83],ye}function Ge(e){return(0,$.jsxs)(d,{value:e.TargetGroupArn??``,children:[e.TargetGroupName,` · `,e.Protocol,`:`,e.Port]},e.TargetGroupArn)}function Ke(e){let t=(0,Te.c)(54),{form:n,index:r,onRemove:i}=e,a,o,s,c,l,x,S,C,w,T;if(t[0]!==n||t[1]!==r||t[2]!==i){let e=n.watch(`conditions.${r}.field`);s=n.formState.errors.conditions?.[r],C=`space-y-2 rounded-md border p-3`;let E=`rule-cond-${r}-field`,D;t[13]===E?D=t[14]:(D=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:E,children:`Type`})}),t[13]=E,t[14]=D);let O=`conditions.${r}.field`,k;t[15]===r?k=t[16]:(k=e=>{let{field:t}=e;return(0,$.jsxs)(m,{onValueChange:t.onChange,value:t.value,children:[(0,$.jsx)(p,{className:`w-full`,id:`rule-cond-${r}-field`,children:(0,$.jsx)(u,{})}),(0,$.jsxs)(f,{children:[(0,$.jsx)(d,{value:`path-pattern`,children:`Path pattern`}),(0,$.jsx)(d,{value:`host-header`,children:`Host header`}),(0,$.jsx)(d,{value:`http-header`,children:`HTTP header`}),(0,$.jsx)(d,{value:`http-request-method`,children:`HTTP method`}),(0,$.jsx)(d,{value:`source-ip`,children:`Source IP CIDR`}),(0,$.jsx)(d,{value:`query-string`,children:`Query string`})]})]})},t[15]=r,t[16]=k);let A;t[17]!==n.control||t[18]!==O||t[19]!==k?(A=(0,$.jsx)(ie,{control:n.control,name:O,render:k}),t[17]=n.control,t[18]=O,t[19]=k,t[20]=A):A=t[20];let j;t[21]!==A||t[22]!==D?(j=(0,$.jsxs)(`div`,{className:`flex-1`,children:[D,A]}),t[21]=A,t[22]=D,t[23]=j):j=t[23];let M;t[24]!==r||t[25]!==i?(M=i&&(0,$.jsx)(g,{"aria-label":`Remove condition ${r+1}`,className:`self-end`,onClick:i,size:`sm`,type:`button`,variant:`ghost`,children:(0,$.jsx)(h,{className:`size-4`})}),t[24]=r,t[25]=i,t[26]=M):M=t[26],t[27]!==j||t[28]!==M?(w=(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[j,M]}),t[27]=j,t[28]=M,t[29]=w):w=t[29],T=e===`http-header`&&(0,$.jsxs)(b,{children:[(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`rule-cond-${r}-hdr-name`,children:`Header name`})}),(0,$.jsx)(_,{"aria-invalid":!!s?.httpHeaderName,id:`rule-cond-${r}-hdr-name`,placeholder:`X-Tenant`,...n.register(`conditions.${r}.httpHeaderName`)}),(0,$.jsx)(y,{errors:[s?.httpHeaderName]})]}),o=b;let N=`rule-cond-${r}-values`,P;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`(comma or newline separated, max 5)`}),t[30]=P):P=t[30],t[31]===N?S=t[32]:(S=(0,$.jsx)(v,{children:(0,$.jsxs)(`label`,{htmlFor:N,children:[`Values`,` `,P]})}),t[31]=N,t[32]=S),a=_,c=!!s?.rawValues,l=`rule-cond-${r}-values`,x=qe(e),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l,t[8]=x,t[9]=S,t[10]=C,t[11]=w,t[12]=T}else a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],x=t[8],S=t[9],C=t[10],w=t[11],T=t[12];let E;t[33]!==n||t[34]!==r?(E=n.register(`conditions.${r}.rawValues`),t[33]=n,t[34]=r,t[35]=E):E=t[35];let D;t[36]!==a||t[37]!==c||t[38]!==l||t[39]!==x||t[40]!==E?(D=(0,$.jsx)(a,{"aria-invalid":c,id:l,placeholder:x,...E}),t[36]=a,t[37]=c,t[38]=l,t[39]=x,t[40]=E,t[41]=D):D=t[41];let O=s?.rawValues,k;t[42]===O?k=t[43]:(k=(0,$.jsx)(y,{errors:[O]}),t[42]=O,t[43]=k);let A;t[44]!==o||t[45]!==k||t[46]!==S||t[47]!==D?(A=(0,$.jsxs)(o,{children:[S,D,k]}),t[44]=o,t[45]=k,t[46]=S,t[47]=D,t[48]=A):A=t[48];let j;return t[49]!==A||t[50]!==C||t[51]!==w||t[52]!==T?(j=(0,$.jsxs)(`div`,{className:C,children:[w,T,A]}),t[49]=A,t[50]=C,t[51]=w,t[52]=T,t[53]=j):j=t[53],j}function qe(e){switch(e){case`path-pattern`:return`/api/*`;case`host-header`:return`*.example.com`;case`http-header`:return`acme`;case`http-request-method`:return`GET, POST`;case`source-ip`:return`10.0.0.0/8`;case`query-string`:return`key=value`;default:return``}}var Je=new Set([`host-header`,`path-pattern`,`http-header`,`http-request-method`,`source-ip`,`query-string`]);function Ye(e){return e!==void 0&&Je.has(e)}function Xe(e){let t=Re(e);return{field:Ye(e.Field)?e.Field:`path-pattern`,httpHeaderName:e.HttpHeaderConfig?.HttpHeaderName,rawValues:t.join(`, `)}}function Ze(e,t){return t?e===`add`?`Adding…`:`Saving…`:e===`add`?`Add rule`:`Save changes`}function Qe(e){return{protocol:me(e),port:80,defaultTargetGroupArn:``}}function $e(e,t){let n=t.find(t=>t===e.Protocol)??t[0]??`HTTP`,r=he(n);return{protocol:n,port:e.Port??80,defaultTargetGroupArn:e.DefaultActions?.[0]?.TargetGroupArn??``,certificateArn:r?e.Certificates?.[0]?.CertificateArn:void 0,sslPolicy:n===`HTTPS`?e.SslPolicy:void 0}}function et(e){if(e.Protocol!==`HTTPS`)return`—`;let t=e.Certificates?.[0]?.CertificateArn?.split(`/`).pop(),n=e.SslPolicy;return t&&n?`${n} · ${t}`:n??t??`—`}function tt({loadBalancerArn:e,vpcId:t,lbType:n}){let r=de(n),{data:a}=i(U(e)),{data:o}=i(J),{data:s}=i(k),{data:c}=i(W),l=B(),u=P(),d=V(),[f,p]=(0,Q.useState)(!1),[m,_]=(0,Q.useState)(),[v,y]=(0,Q.useState)(),[b,x]=(0,Q.useState)(),S=a.Listeners??[],C=o.TargetGroups??[],w=C.filter(e=>e.VpcId===t),T=s.CertificateSummaryList??[],E=c.SslPolicies??[],D=new Map;for(let e of C)e.TargetGroupArn&&e.TargetGroupName&&D.set(e.TargetGroupArn,e.TargetGroupName);let O=e=>{let t=e.DefaultActions?.[0];if(!t)return`—`;if(t.Type===`forward`&&t.TargetGroupArn){let e=D.get(t.TargetGroupArn);return e?`forward → ${e}`:`forward → ${t.TargetGroupArn}`}return t.Type??`—`};return(0,$.jsxs)(`div`,{className:`space-y-3`,children:[l.error&&(0,$.jsx)(Y,{error:l.error,msg:`Failed to create listener`}),d.error&&(0,$.jsx)(Y,{error:d.error,msg:`Failed to modify listener`}),u.error&&(0,$.jsx)(Y,{error:u.error,msg:`Failed to delete listener`}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[S.length,` listener`,S.length===1?``:`s`]}),(0,$.jsx)(g,{onClick:()=>p(!0),size:`sm`,children:`Add listener`})]}),S.length===0?(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`No listeners configured.`}):(0,$.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,$.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Protocol`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Port`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`TLS`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Default action`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Listener ARN`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,$.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,$.jsx)(`tbody`,{children:S.map(e=>{let t=e.ListenerArn??``,n=b===t;return(0,$.jsxs)(Q.Fragment,{children:[(0,$.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,$.jsx)(`td`,{className:`px-4 py-2`,children:e.Protocol}),(0,$.jsx)(`td`,{className:`px-4 py-2`,children:e.Port}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:et(e)}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:O(e)}),(0,$.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:t}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,$.jsxs)(`div`,{className:`flex justify-end gap-1`,children:[(0,$.jsx)(g,{"aria-label":`${n?`Hide`:`Show`} rules for listener ${e.Protocol}:${e.Port}`,onClick:()=>x(n?void 0:t),size:`sm`,variant:`ghost`,children:n?`Hide rules`:`Rules`}),(0,$.jsx)(g,{"aria-label":`Edit listener ${e.Protocol}:${e.Port}`,onClick:()=>_(e),size:`sm`,variant:`ghost`,children:(0,$.jsx)(we,{className:`size-4`})}),(0,$.jsx)(g,{"aria-label":`Delete listener ${e.Protocol}:${e.Port}`,onClick:()=>y(e),size:`sm`,variant:`ghost`,children:(0,$.jsx)(h,{className:`size-4`})})]})})]}),n&&t&&(0,$.jsx)(`tr`,{className:`border-b bg-muted/30 last:border-0`,children:(0,$.jsx)(`td`,{className:`px-4 py-3`,colSpan:6,children:(0,$.jsx)(Ie,{listenerArn:t,targetGroups:w})})})]},t)})})]})}),f&&(0,$.jsx)(nt,{certificates:T,isPending:l.isPending,lbType:n,onOpenChange:p,onSubmit:async t=>{try{await l.mutateAsync({loadBalancerArn:e,protocol:t.protocol,port:t.port,defaultTargetGroupArn:t.defaultTargetGroupArn,certificateArn:t.certificateArn,sslPolicy:t.sslPolicy}),p(!1)}catch{}},open:f,protocols:r,sslPolicies:E,targetGroups:w}),(0,$.jsx)(rt,{certificates:T,isPending:d.isPending,listener:m,onOpenChange:e=>!e&&_(void 0),onSubmit:async t=>{if(m?.ListenerArn)try{await d.mutateAsync({listenerArn:m.ListenerArn,loadBalancerArn:e,protocol:t.protocol,port:t.port,defaultTargetGroupArn:t.defaultTargetGroupArn,certificateArn:t.certificateArn,sslPolicy:t.sslPolicy}),_(void 0)}catch{}},protocols:r,sslPolicies:E,targetGroups:w}),(0,$.jsx)(le,{description:v?`Delete listener ${v.Protocol}:${v.Port}? This cannot be undone.`:``,isPending:u.isPending,onConfirm:async()=>{if(v?.ListenerArn)try{await u.mutateAsync(v.ListenerArn)}finally{y(void 0)}},onOpenChange:e=>!e&&y(void 0),open:v!==void 0,title:`Delete listener`})]})}function nt(e){let t=(0,Te.c)(37),{open:n,onOpenChange:r,lbType:i,protocols:a,targetGroups:o,certificates:s,sslPolicies:c,isPending:l,onSubmit:u}=e,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=oe(pe),t[0]=d):d=t[0];let f;t[1]===i?f=t[2]:(f=Qe(i),t[1]=i,t[2]=f);let p;t[3]===f?p=t[4]:(p={resolver:d,defaultValues:f},t[3]=f,t[4]=p);let m=re(p),h;t[5]!==m||t[6]!==u?(h=m.handleSubmit(u),t[5]=m,t[6]=u,t[7]=h):h=t[7];let g=h,_;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(_={maxWidth:`32rem`,width:`calc(100vw - 2rem)`},t[8]=_):_=t[8];let v;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsxs)(D,{children:[(0,$.jsx)(C,{children:`Add listener`}),(0,$.jsx)(x,{children:`Listeners forward incoming traffic to a default target group.`})]}),t[9]=v):v=t[9];let y;t[10]===g?y=t[11]:(y=e=>{e.preventDefault(),g()},t[10]=g,t[11]=y);let b;t[12]!==s||t[13]!==m||t[14]!==a||t[15]!==c||t[16]!==o?(b=(0,$.jsx)(je,{certificates:s,form:m,protocols:a,sslPolicies:c,targetGroups:o}),t[12]=s,t[13]=m,t[14]=a,t[15]=c,t[16]=o,t[17]=b):b=t[17];let k;t[18]!==y||t[19]!==b?(k=(0,$.jsx)(`form`,{className:`min-w-0 space-y-4`,onSubmit:y,children:b}),t[18]=y,t[19]=b,t[20]=k):k=t[20];let A;t[21]===l?A=t[22]:(A=(0,$.jsx)(E,{disabled:l,children:`Cancel`}),t[21]=l,t[22]=A);let j=l?`Adding…`:`Add listener`,M;t[23]!==g||t[24]!==l||t[25]!==j?(M=(0,$.jsx)(w,{disabled:l,onClick:g,children:j}),t[23]=g,t[24]=l,t[25]=j,t[26]=M):M=t[26];let N;t[27]!==A||t[28]!==M?(N=(0,$.jsxs)(T,{children:[A,M]}),t[27]=A,t[28]=M,t[29]=N):N=t[29];let P;t[30]!==N||t[31]!==k?(P=(0,$.jsxs)(S,{className:`grid-cols-[minmax(0,1fr)]`,style:_,children:[v,k,N]}),t[30]=N,t[31]=k,t[32]=P):P=t[32];let F;return t[33]!==r||t[34]!==n||t[35]!==P?(F=(0,$.jsx)(O,{onOpenChange:r,open:n,children:P}),t[33]=r,t[34]=n,t[35]=P,t[36]=F):F=t[36],F}function rt(e){let t=(0,Te.c)(39),{listener:n,onOpenChange:r,protocols:i,targetGroups:a,certificates:o,sslPolicies:s,isPending:c,onSubmit:l}=e,u=n!==void 0,d,f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=oe(pe),f={protocol:`HTTP`,port:80,defaultTargetGroupArn:``},t[0]=d,t[1]=f):(d=t[0],f=t[1]);let p;t[2]!==n||t[3]!==i?(p=n?$e(n,i):void 0,t[2]=n,t[3]=i,t[4]=p):p=t[4];let m;t[5]===p?m=t[6]:(m={resolver:d,defaultValues:f,values:p},t[5]=p,t[6]=m);let h=re(m),g;t[7]!==h||t[8]!==l?(g=h.handleSubmit(l),t[7]=h,t[8]=l,t[9]=g):g=t[9];let _=g,v;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(v={maxWidth:`32rem`,width:`calc(100vw - 2rem)`},t[10]=v):v=t[10];let y;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsxs)(D,{children:[(0,$.jsx)(C,{children:`Edit listener`}),(0,$.jsx)(x,{children:`Update port, protocol, or default target group. Changes apply without dropping the listener.`})]}),t[11]=y):y=t[11];let b;t[12]===_?b=t[13]:(b=e=>{e.preventDefault(),_()},t[12]=_,t[13]=b);let k;t[14]!==o||t[15]!==h||t[16]!==i||t[17]!==s||t[18]!==a?(k=(0,$.jsx)(je,{certificates:o,form:h,protocols:i,sslPolicies:s,targetGroups:a}),t[14]=o,t[15]=h,t[16]=i,t[17]=s,t[18]=a,t[19]=k):k=t[19];let A;t[20]!==b||t[21]!==k?(A=(0,$.jsx)(`form`,{className:`min-w-0 space-y-4`,onSubmit:b,children:k}),t[20]=b,t[21]=k,t[22]=A):A=t[22];let j;t[23]===c?j=t[24]:(j=(0,$.jsx)(E,{disabled:c,children:`Cancel`}),t[23]=c,t[24]=j);let M=c?`Saving…`:`Save changes`,N;t[25]!==_||t[26]!==c||t[27]!==M?(N=(0,$.jsx)(w,{disabled:c,onClick:_,children:M}),t[25]=_,t[26]=c,t[27]=M,t[28]=N):N=t[28];let P;t[29]!==j||t[30]!==N?(P=(0,$.jsxs)(T,{children:[j,N]}),t[29]=j,t[30]=N,t[31]=P):P=t[31];let F;t[32]!==A||t[33]!==P?(F=(0,$.jsxs)(S,{className:`grid-cols-[minmax(0,1fr)]`,style:v,children:[y,A,P]}),t[32]=A,t[33]=P,t[34]=F):F=t[34];let I;return t[35]!==r||t[36]!==u||t[37]!==F?(I=(0,$.jsx)(O,{onOpenChange:r,open:u,children:F}),t[35]=r,t[36]=u,t[37]=F,t[38]=I):I=t[38],I}function it(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(e=>n.has(e))}function at(e){let t=(0,Te.c)(46),{available:n,current:r,onSubmit:i,isPending:a,error:o,isSuccess:s}=e,c;t[0]===r?c=t[1]:(c=[...r],t[0]=r,t[1]=c);let l=c,[u,d]=(0,Q.useState)(l),f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>{d(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},t[2]=f):f=t[2];let p=f,m;t[3]===l?m=t[4]:(m=()=>d(l),t[3]=l,t[4]=m);let h=m,_;t[5]!==l||t[6]!==u?(_=it(u,l),t[5]=l,t[6]=u,t[7]=_):_=t[7];let v=!_,y=u.length===0,b;t[8]!==v||t[9]!==y||t[10]!==i||t[11]!==u?(b=e=>{e.preventDefault(),!(!v||y)&&i(u)},t[8]=v,t[9]=y,t[10]=i,t[11]=u,t[12]=b):b=t[12];let x;t[13]===o?x=t[14]:(x=o&&(0,$.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 update security groups`}),t[13]=o,t[14]=x);let S;t[15]!==v||t[16]!==s?(S=s&&!v&&(0,$.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:`Security groups updated.`}),t[15]=v,t[16]=s,t[17]=S):S=t[17];let C;t[18]!==n||t[19]!==u?(C=n.length===0?(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No security groups in this VPC.`}):n.map(e=>(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,$.jsx)(`input`,{"aria-label":`Security group ${e.GroupId} (${e.GroupName})`,checked:u.includes(e.GroupId??``),onChange:()=>p(e.GroupId??``),type:`checkbox`}),(0,$.jsxs)(`span`,{className:`font-mono`,children:[e.GroupId,` (`,e.GroupName,`)`]})]},e.GroupId)),t[18]=n,t[19]=u,t[20]=C):C=t[20];let w;t[21]===y?w=t[22]:(w=y&&(0,$.jsx)(`p`,{className:`text-xs text-destructive`,children:`At least one security group is required.`}),t[21]=y,t[22]=w);let T;t[23]!==C||t[24]!==w?(T=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 p-4`,children:[C,w]}),t[23]=C,t[24]=w,t[25]=T):T=t[25];let E=v?`Unsaved changes`:`No changes`,D;t[26]===E?D=t[27]:(D=(0,$.jsx)(`span`,{className:`mr-auto text-xs text-muted-foreground`,children:E}),t[26]=E,t[27]=D);let O=a||!v,k;t[28]!==h||t[29]!==O?(k=(0,$.jsx)(g,{disabled:O,onClick:h,size:`sm`,type:`button`,variant:`secondary`,children:`Reset`}),t[28]=h,t[29]=O,t[30]=k):k=t[30];let A=a||!v||y,j=a?`Saving…`:`Save changes`,M;t[31]!==A||t[32]!==j?(M=(0,$.jsx)(g,{disabled:A,size:`sm`,type:`submit`,children:j}),t[31]=A,t[32]=j,t[33]=M):M=t[33];let N;t[34]!==D||t[35]!==k||t[36]!==M?(N=(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t p-4`,children:[D,k,M]}),t[34]=D,t[35]=k,t[36]=M,t[37]=N):N=t[37];let P;t[38]!==T||t[39]!==N?(P=(0,$.jsxs)(`div`,{className:`rounded-lg border bg-card`,children:[T,N]}),t[38]=T,t[39]=N,t[40]=P):P=t[40];let F;return t[41]!==P||t[42]!==b||t[43]!==x||t[44]!==S?(F=(0,$.jsxs)(`form`,{onSubmit:b,children:[x,S,P]}),t[41]=P,t[42]=b,t[43]=x,t[44]=S,t[45]=F):F=t[45],F}function ot(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(e=>n.has(e))}function st(e){let t=s(e.Tags),n=e.AvailabilityZone?` · ${e.AvailabilityZone}`:``,r=e.CidrBlock?` (${e.CidrBlock})`:``;return`${e.SubnetId}${t?` — ${t}`:``}${r}${n}`}function ct(e){let t=(0,Te.c)(47),{available:n,current:r,onSubmit:i,isPending:a,error:o,isSuccess:s}=e,c;t[0]===r?c=t[1]:(c=[...r],t[0]=r,t[1]=c);let l=c,[u,d]=(0,Q.useState)(l),f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>{d(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},t[2]=f):f=t[2];let p=f,m;t[3]===l?m=t[4]:(m=()=>d(l),t[3]=l,t[4]=m);let h=m,_;t[5]!==l||t[6]!==u?(_=ot(u,l),t[5]=l,t[6]=u,t[7]=_):_=t[7];let v=!_,y=u.length===0,b;t[8]!==v||t[9]!==y||t[10]!==i||t[11]!==u?(b=e=>{e.preventDefault(),!(!v||y)&&i(u)},t[8]=v,t[9]=y,t[10]=i,t[11]=u,t[12]=b):b=t[12];let x;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(`div`,{className:`mb-4 rounded-md border border-amber-500 bg-amber-500/10 p-3 text-sm text-amber-700 dark:text-amber-400`,role:`note`,children:`Applying a subnet change re-homes the load balancer by relaunching its underlying system VM. Expect a brief data-plane interruption while it restarts.`}),t[13]=x):x=t[13];let S;t[14]===o?S=t[15]:(S=o&&(0,$.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 update subnets`}),t[14]=o,t[15]=S);let C;t[16]!==v||t[17]!==s?(C=s&&!v&&(0,$.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:`Subnets updated.`}),t[16]=v,t[17]=s,t[18]=C):C=t[18];let w;t[19]!==n||t[20]!==u?(w=n.length===0?(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No subnets in this VPC.`}):n.map(e=>(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,$.jsx)(`input`,{"aria-label":`Subnet ${e.SubnetId}`,checked:u.includes(e.SubnetId??``),onChange:()=>p(e.SubnetId??``),type:`checkbox`}),(0,$.jsx)(`span`,{className:`font-mono`,children:st(e)})]},e.SubnetId)),t[19]=n,t[20]=u,t[21]=w):w=t[21];let T;t[22]===y?T=t[23]:(T=y&&(0,$.jsx)(`p`,{className:`text-xs text-destructive`,children:`At least one subnet is required.`}),t[22]=y,t[23]=T);let E;t[24]!==T||t[25]!==w?(E=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 p-4`,children:[w,T]}),t[24]=T,t[25]=w,t[26]=E):E=t[26];let D=v?`Unsaved changes`:`No changes`,O;t[27]===D?O=t[28]:(O=(0,$.jsx)(`span`,{className:`mr-auto text-xs text-muted-foreground`,children:D}),t[27]=D,t[28]=O);let k=a||!v,A;t[29]!==h||t[30]!==k?(A=(0,$.jsx)(g,{disabled:k,onClick:h,size:`sm`,type:`button`,variant:`secondary`,children:`Reset`}),t[29]=h,t[30]=k,t[31]=A):A=t[31];let j=a||!v||y,M=a?`Saving…`:`Save changes`,N;t[32]!==j||t[33]!==M?(N=(0,$.jsx)(g,{disabled:j,size:`sm`,type:`submit`,children:M}),t[32]=j,t[33]=M,t[34]=N):N=t[34];let P;t[35]!==O||t[36]!==A||t[37]!==N?(P=(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t p-4`,children:[O,A,N]}),t[35]=O,t[36]=A,t[37]=N,t[38]=P):P=t[38];let F;t[39]!==E||t[40]!==P?(F=(0,$.jsxs)(`div`,{className:`rounded-lg border bg-card`,children:[E,P]}),t[39]=E,t[40]=P,t[41]=F):F=t[41];let I;return t[42]!==F||t[43]!==b||t[44]!==S||t[45]!==C?(I=(0,$.jsxs)(`form`,{onSubmit:b,children:[x,S,C,F]}),t[42]=F,t[43]=b,t[44]=S,t[45]=C,t[46]=I):I=t[46],I}function lt({arn:e}){let t=a(),{data:n}=i(H(e)),{data:r}=i(G(e)),{data:c}=i(K([e])),{data:u}=i(j),{data:d}=i(M),f=L(),p=F(),m=N(),_=te(),v=ee(),[y,b]=(0,Q.useState)(!1),x=n.LoadBalancers?.[0];if(!x?.LoadBalancerArn)return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(l,{to:`/ec2/describe-load-balancers`,children:`Back to load balancers`}),(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`Load balancer not found.`})]});let S=async()=>{try{await f.mutateAsync(e),t({to:`/ec2/describe-load-balancers`})}finally{b(!1)}},C=u.Subnets??[],w=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}`},T=r.Attributes??[],E=c?.TagDescriptions?.find(t=>t.ResourceArn===e)?.Tags??[],D=(x.SecurityGroups??[]).filter(e=>e!==void 0),O=(d.SecurityGroups??[]).filter(e=>e.VpcId===x.VpcId),k=C.filter(e=>e.VpcId===x.VpcId),A=(x.AvailabilityZones??[]).map(e=>e.SubnetId).filter(e=>e!==void 0),P=x.Type===`network`;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(l,{to:`/ec2/describe-load-balancers`,children:`Back to load balancers`}),f.error&&(0,$.jsx)(Y,{error:f.error,msg:`Failed to delete load balancer`}),(0,$.jsxs)(`div`,{className:`space-y-6`,children:[(0,$.jsx)(se,{actions:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(g,{onClick:()=>b(!0),size:`sm`,variant:`destructive`,children:[(0,$.jsx)(h,{className:`size-4`}),`Delete`]}),(0,$.jsx)(ue,{state:x.State?.Code})]}),subtitle:`Load Balancer Details`,title:x.LoadBalancerName??x.LoadBalancerArn}),(0,$.jsxs)(Ce,{defaultValue:`overview`,children:[(0,$.jsxs)(xe,{children:[(0,$.jsx)(be,{value:`overview`,children:`Overview`}),(0,$.jsx)(be,{value:`listeners`,children:`Listeners`}),(0,$.jsx)(be,{value:`subnets`,children:`Subnets`}),!P&&(0,$.jsx)(be,{value:`security-groups`,children:`Security groups`}),(0,$.jsx)(be,{value:`attributes`,children:`Attributes`}),(0,$.jsx)(be,{value:`tags`,children:`Tags`})]}),(0,$.jsxs)(Se,{value:`overview`,children:[(0,$.jsxs)(X,{children:[(0,$.jsx)(X.Header,{children:`Load balancer`}),(0,$.jsxs)(X.Content,{children:[(0,$.jsx)(Z,{label:`ARN`,value:x.LoadBalancerArn}),(0,$.jsx)(Z,{label:`DNS name`,value:x.DNSName}),(0,$.jsx)(Z,{label:`State`,value:x.State?.Reason?`${x.State.Code} — ${x.State.Reason}`:x.State?.Code}),(0,$.jsx)(Z,{label:`Type`,value:x.Type}),(0,$.jsx)(Z,{label:`Scheme`,value:x.Scheme}),(0,$.jsx)(Z,{label:`IP address type`,value:x.IpAddressType}),(0,$.jsx)(Z,{label:`VPC`,value:x.VpcId}),(0,$.jsx)(Z,{label:`Created at`,value:o(x.CreatedTime)})]})]}),(0,$.jsxs)(X,{children:[(0,$.jsx)(X.Header,{children:`Availability zones`}),(0,$.jsx)(X.Content,{children:(x.AvailabilityZones??[]).map(e=>(0,$.jsx)(Z,{label:e.ZoneName??`—`,value:e.SubnetId?w(e.SubnetId):void 0},`${e.ZoneName}-${e.SubnetId}`))})]}),(x.SecurityGroups??[]).length>0&&(0,$.jsxs)(X,{children:[(0,$.jsx)(X.Header,{children:`Security groups`}),(0,$.jsx)(X.Content,{children:(x.SecurityGroups??[]).map(e=>(0,$.jsx)(Z,{label:`Security group`,value:e},e))})]})]}),(0,$.jsx)(Se,{value:`listeners`,children:(0,$.jsx)(tt,{lbType:P?`network`:`application`,loadBalancerArn:e,vpcId:x.VpcId})}),(0,$.jsx)(Se,{value:`subnets`,children:(0,$.jsx)(ct,{available:k,current:A,error:v.error,isPending:v.isPending,isSuccess:v.isSuccess,onSubmit:t=>v.mutate({loadBalancerArn:e,subnetIds:t})})}),!P&&(0,$.jsx)(Se,{value:`security-groups`,children:(0,$.jsx)(at,{available:O,current:D,error:_.error,isPending:_.isPending,isSuccess:_.isSuccess,onSubmit:t=>_.mutate({loadBalancerArn:e,securityGroupIds:t})})}),(0,$.jsx)(Se,{value:`attributes`,children:(0,$.jsx)(_e,{attributes:T,error:p.error,isPending:p.isPending,isSuccess:p.isSuccess,onSubmit:t=>{p.mutate({loadBalancerArn:e,attributes:t})},specs:ve})}),(0,$.jsx)(Se,{value:`tags`,children:(0,$.jsx)(ye,{error:m.error,isPending:m.isPending,isSuccess:m.isSuccess,onSubmit:t=>m.mutate({resourceArn:e,tags:t,initialKeys:E.map(e=>e.Key??``).filter(e=>e.length>0)}),tags:E})})]})]}),(0,$.jsx)(le,{description:`Are you sure you want to delete load balancer "${x.LoadBalancerName??x.LoadBalancerArn}"? This action cannot be undone.`,isPending:f.isPending,onConfirm:S,onOpenChange:b,open:y,title:`Delete load balancer`})]})}function ut(){let e=(0,Te.c)(2),{id:t}=ce.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,$.jsx)(lt,{arn:n}),e[0]=n,e[1]=r),r}export{ut 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"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{tn as o}from"./cluster-config.js";import{t as s}from"./back-link.js";import{c,i as l,n as u,s as d,t as f}from"./select.js";import{t as p}from"./trash-2.js";import{t as m}from"./button.js";import{M as h,u as g}from"./ec2.js";import{D as _,V as v,o as y}from"./ec22.js";import{t as b}from"./error-banner.js";import{t as x}from"./page-heading.js";import{t as S}from"./_id6.js";import{t as C}from"./delete-confirmation-dialog.js";import{n as w,t as T}from"./detail-row.js";var E=e(n()),D=t();function O(){let{id:e}=S.useParams(),t=a(),{data:n}=r(g(e)),{data:O}=r(h),k=y(),A=v(),j=_(),[M,N]=(0,E.useState)(!1),[P,F]=(0,E.useState)(``),I=n.InternetGateways?.[0],L=O.Vpcs??[],R=async()=>{try{await j.mutateAsync(e),t({to:`/ec2/describe-internet-gateways`})}finally{N(!1)}},z=async()=>{P&&await k.mutateAsync({internetGatewayId:e,vpcId:P})},B=async t=>{await A.mutateAsync({internetGatewayId:e,vpcId:t})};if(!I?.InternetGatewayId)return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(s,{to:`/ec2/describe-internet-gateways`,children:`Back to Internet Gateways`}),(0,D.jsx)(`p`,{className:`text-muted-foreground`,children:`Internet Gateway not found.`})]});let V=I.Attachments?.[0],H=!!V?.VpcId,U=o(I.Tags);return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(s,{to:`/ec2/describe-internet-gateways`,children:`Back to Internet Gateways`}),(j.error??k.error??A.error)&&(0,D.jsx)(b,{error:j.error??k.error??A.error??void 0,msg:`Internet Gateway action failed`}),(0,D.jsxs)(`div`,{className:`space-y-6`,children:[(0,D.jsx)(x,{actions:(0,D.jsxs)(m,{disabled:H||j.isPending,onClick:()=>N(!0),size:`sm`,variant:`destructive`,children:[(0,D.jsx)(p,{className:`size-4`}),`Delete`]}),subtitle:`Internet Gateway Details`,title:U?`${I.InternetGatewayId} (${U})`:I.InternetGatewayId}),(0,D.jsxs)(w,{children:[(0,D.jsx)(w.Header,{children:`Internet Gateway Information`}),(0,D.jsxs)(w.Content,{children:[(0,D.jsx)(T,{label:`Internet Gateway ID`,value:I.InternetGatewayId}),(0,D.jsx)(T,{label:`Owner ID`,value:I.OwnerId??`—`}),(0,D.jsx)(T,{label:`State`,value:V?.State??`detached`})]})]}),(0,D.jsxs)(w,{children:[(0,D.jsx)(w.Header,{children:`VPC Attachment`}),(0,D.jsx)(w.Content,{children:H?(0,D.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,D.jsx)(i,{className:`text-primary hover:underline`,params:{id:V.VpcId??``},to:`/ec2/describe-vpcs/$id`,children:V.VpcId}),(0,D.jsx)(m,{disabled:A.isPending,onClick:async()=>await B(V.VpcId??``),size:`sm`,variant:`outline`,children:`Detach`})]}):(0,D.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,D.jsx)(`div`,{className:`flex-1`,children:(0,D.jsxs)(f,{onValueChange:e=>F(e??``),value:P,children:[(0,D.jsx)(d,{className:`w-full`,children:(0,D.jsx)(c,{placeholder:`Select a VPC`})}),(0,D.jsx)(u,{children:L.map(e=>{let t=o(e.Tags);return(0,D.jsx)(l,{value:e.VpcId??``,children:t?`${e.VpcId} (${t})`:`${e.VpcId} (${e.CidrBlock})`},e.VpcId)})})]})}),(0,D.jsx)(m,{disabled:!P||k.isPending,onClick:z,size:`sm`,children:`Attach`})]})})]})]}),(0,D.jsx)(C,{description:`Are you sure you want to delete the Internet Gateway "${I.InternetGatewayId}"? This action cannot be undone.`,isPending:j.isPending,onConfirm:R,onOpenChange:N,open:M,title:`Delete Internet Gateway`})]})}export{O as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id26.js b/spinifex/services/spinifexui/frontend/dist/assets/_id26.js index 185457244..d2f05841a 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id26.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id26.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{tn as o}from"./cluster-config.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{j as d}from"./ec22.js";import{t as f}from"./error-banner.js";import{t as p}from"./page-heading.js";import{t as m}from"./_id11.js";import{t as h}from"./delete-confirmation-dialog.js";import{n as g,t as _}from"./detail-row.js";import{t as v}from"./state-badge.js";var y=e(n()),b=t();function x(){let{id:e}=m.useParams(),t=a(),{data:n}=r(u(e)),x=d(),[S,C]=(0,y.useState)(!1),w=n.NatGateways?.[0],T=async()=>{try{await x.mutateAsync(e),t({to:`/ec2/describe-nat-gateways`})}finally{C(!1)}};if(!w?.NatGatewayId)return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{to:`/ec2/describe-nat-gateways`,children:`Back to NAT Gateways`}),(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`NAT Gateway not found.`})]});let E=o(w.Tags),D=w.NatGatewayAddresses?.[0];return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{to:`/ec2/describe-nat-gateways`,children:`Back to NAT Gateways`}),x.error&&(0,b.jsx)(f,{error:x.error,msg:`Failed to delete NAT Gateway`}),(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(p,{actions:(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(l,{disabled:x.isPending,onClick:()=>C(!0),size:`sm`,variant:`destructive`,children:[(0,b.jsx)(c,{className:`size-4`}),`Delete`]}),(0,b.jsx)(v,{state:w.State})]}),subtitle:`NAT Gateway Details`,title:E?`${w.NatGatewayId} (${E})`:w.NatGatewayId}),(0,b.jsxs)(g,{children:[(0,b.jsx)(g.Header,{children:`NAT Gateway Information`}),(0,b.jsxs)(g.Content,{children:[(0,b.jsx)(_,{label:`NAT Gateway ID`,value:w.NatGatewayId}),(0,b.jsx)(_,{label:`State`,value:w.State}),(0,b.jsx)(_,{label:`Connectivity`,value:w.ConnectivityType}),(0,b.jsx)(_,{label:`Subnet ID`,value:w.SubnetId?(0,b.jsx)(i,{className:`text-primary hover:underline`,params:{id:w.SubnetId},to:`/ec2/describe-subnets/$id`,children:w.SubnetId}):`—`}),(0,b.jsx)(_,{label:`VPC ID`,value:w.VpcId?(0,b.jsx)(i,{className:`text-primary hover:underline`,params:{id:w.VpcId},to:`/ec2/describe-vpcs/$id`,children:w.VpcId}):`—`}),(0,b.jsx)(_,{label:`Public IP`,value:D?.PublicIp??`—`}),(0,b.jsx)(_,{label:`Allocation ID`,value:D?.AllocationId?(0,b.jsx)(i,{className:`text-primary hover:underline`,params:{id:D.AllocationId},to:`/ec2/describe-addresses/$id`,children:D.AllocationId}):`—`})]})]})]}),(0,b.jsx)(h,{description:`Are you sure you want to delete the NAT Gateway "${w.NatGatewayId}"? This action cannot be undone. The associated Elastic IP is not released.`,isPending:x.isPending,onConfirm:T,onOpenChange:C,open:S,title:`Delete NAT Gateway`})]})}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"./useSuspenseQuery.js";import{t as i}from"./useNavigate.js";import{Qt as a}from"./cluster-config.js";import{t as o}from"./back-link.js";import{t as s}from"./trash-2.js";import{t as c}from"./button.js";import{f as l}from"./ec2.js";import{O as u}from"./ec22.js";import{t as d}from"./error-banner.js";import{t as f}from"./page-heading.js";import{t as p}from"./_id7.js";import{t as m}from"./delete-confirmation-dialog.js";import{n as h,t as g}from"./detail-row.js";var _=e(n()),v=t();function y(){let{id:e}=p.useParams(),t=i(),{data:n}=r(l(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)(o,{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=a(y.CreateTime);return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(o,{to:`/ec2/describe-key-pairs`,children:`Back to key pairs`}),b.error&&(0,v.jsx)(d,{error:b.error,msg:`Failed to delete key pair`}),(0,v.jsxs)(`div`,{className:`space-y-6`,children:[(0,v.jsx)(f,{actions:(0,v.jsxs)(c,{onClick:()=>S(!0),size:`sm`,variant:`destructive`,children:[(0,v.jsx)(s,{className:`size-4`}),`Delete`]}),subtitle:`Key Pair Details`,title:y.KeyName??``}),(0,v.jsxs)(h,{children:[(0,v.jsx)(h.Header,{children:`Key Pair Information`}),(0,v.jsxs)(h.Content,{children:[(0,v.jsx)(g,{label:`Key Pair ID`,value:y.KeyPairId}),(0,v.jsx)(g,{label:`Key Name`,value:y.KeyName}),(0,v.jsx)(g,{label:`Key Type`,value:y.KeyType}),(0,v.jsx)(g,{label:`Key Fingerprint`,value:y.KeyFingerprint}),(0,v.jsx)(g,{label:`Creation Date`,value:w})]})]}),y.Tags&&y.Tags.length>0&&(0,v.jsxs)(h,{children:[(0,v.jsx)(h.Header,{children:`Tags`}),(0,v.jsx)(h.Content,{children:y.Tags.map(e=>(0,v.jsx)(g,{label:e.Key??``,value:e.Value},e.Key))})]})]}),(0,v.jsx)(m,{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/_id27.js b/spinifex/services/spinifexui/frontend/dist/assets/_id27.js index dff56cde2..870dffe72 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id27.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id27.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.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"./back-link.js";import{t as s}from"./trash-2.js";import{t as c}from"./button.js";import{l,v as u}from"./ec2.js";import{M as d}from"./ec22.js";import{t as f}from"./error-banner.js";import{t as p}from"./page-heading.js";import{t as m}from"./_id12.js";import{t as h}from"./delete-confirmation-dialog.js";import{n as g,t as _}from"./detail-row.js";import{t as v}from"./state-badge.js";var y=e(n()),b=t();function x(){let{id:e}=m.useParams(),t=a(),{data:n}=r(u(e)),{data:x}=r(l),S=d(),[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)(o,{to:`/ec2/describe-placement-groups`,children:`Back to placement groups`}),S.error&&(0,b.jsx)(f,{error:S.error,msg:`Failed to delete placement group`}),(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(p,{actions:(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(c,{onClick:()=>w(!0),size:`sm`,variant:`destructive`,children:[(0,b.jsx)(s,{className:`size-4`}),`Delete`]}),(0,b.jsx)(v,{state:T.State})]}),subtitle:`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)(i,{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)(h,{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)(o,{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}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{Qt as o}from"./cluster-config.js";import{t as s}from"./createLucideIcon.js";import{t as c}from"./back-link.js";import{c as l,i as u,n as d,s 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{a as _,t as v}from"./field.js";import{h as y,m as b}from"./ec2.js";import{A as ee,Y as x,g as te,k as S}from"./ec22.js";import{i as C,t as w}from"./zod.js";import{t as T}from"./error-banner.js";import{t as E}from"./page-heading.js";import{c as D}from"./ec23.js";import{t as ne}from"./_id8.js";import{t as re}from"./delete-confirmation-dialog.js";import{n as O,t as k}from"./detail-row.js";import{t as A}from"./launch-template-data-fields.js";import{t as j}from"./badge.js";var M=s(`rocket`,[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`,key:`u4xsad`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`,key:`676m9`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`,key:`92ym6u`}]]),N=s(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),P=e(n()),F=t();function I(e){if(!e)return``;try{let t=atob(e),n=new Uint8Array(t.length);for(let e=0;et.LaunchTemplateId===e),G=(s.LaunchTemplateVersions??[]).toSorted((e,t)=>(t.VersionNumber??0)-(e.VersionNumber??0)),{control:K,handleSubmit:q,register:J,getValues:Y,reset:X,formState:{errors:ie,isSubmitting:Z}}=C({resolver:w(D),defaultValues:{versionDescription:``,...R}});if(!W?.LaunchTemplateId)return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(c,{to:`/ec2/describe-launch-templates`,children:`Back to launch templates`}),(0,F.jsx)(`p`,{className:`text-muted-foreground`,children:`Launch template not found.`})]});let Q=W.DefaultVersionNumber,ae=e=>{if(e===`none`){X({...Y(),sourceVersion:void 0,...R});return}let t=G.find(t=>String(t.VersionNumber)===e);X({...Y(),sourceVersion:e,...L(t?.LaunchTemplateData)})},oe=async t=>{await I.mutateAsync({launchTemplateId:e,defaultVersion:String(t)})},se=async t=>{await z.mutateAsync({launchTemplateId:e,versions:[String(t)]})},ce=async()=>{try{await B.mutateAsync(e),t({to:`/ec2/describe-launch-templates`})}finally{U(!1)}},le=async t=>{await V.mutateAsync({...t,launchTemplateId:e}),X({versionDescription:``,sourceVersion:void 0,...R})},$=I.error??z.error;return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(c,{to:`/ec2/describe-launch-templates`,children:`Back to launch templates`}),B.error&&(0,F.jsx)(T,{error:B.error,msg:`Failed to delete launch template`}),(0,F.jsxs)(`div`,{className:`space-y-6`,children:[(0,F.jsx)(E,{actions:(0,F.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,F.jsxs)(h,{disabled:B.isPending,onClick:()=>U(!0),size:`sm`,variant:`destructive`,children:[(0,F.jsx)(m,{className:`size-4`}),`Delete`]}),(0,F.jsxs)(j,{variant:`secondary`,children:[`default v`,Q]})]}),subtitle:`Launch Template Details`,title:W.LaunchTemplateName??W.LaunchTemplateId}),(0,F.jsxs)(O,{children:[(0,F.jsx)(O.Header,{children:`Launch Template Information`}),(0,F.jsxs)(O.Content,{children:[(0,F.jsx)(k,{label:`Launch Template ID`,value:W.LaunchTemplateId}),(0,F.jsx)(k,{label:`Name`,value:W.LaunchTemplateName}),(0,F.jsx)(k,{label:`Default Version`,value:String(W.DefaultVersionNumber)}),(0,F.jsx)(k,{label:`Latest Version`,value:String(W.LatestVersionNumber)}),(0,F.jsx)(k,{label:`Created`,value:o(W.CreateTime)})]})]}),(0,F.jsxs)(O,{children:[(0,F.jsx)(O.Header,{children:`Versions`}),(0,F.jsxs)(`div`,{className:`space-y-4 p-4`,children:[$&&(0,F.jsx)(T,{error:$,msg:`Failed to update version`}),(0,F.jsx)(`div`,{className:`overflow-x-auto rounded-md border`,children:(0,F.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,F.jsx)(`thead`,{className:`bg-muted/50 text-left text-muted-foreground`,children:(0,F.jsxs)(`tr`,{children:[(0,F.jsx)(`th`,{className:`p-2 font-medium`,children:`Version`}),(0,F.jsx)(`th`,{className:`p-2 font-medium`,children:`Description`}),(0,F.jsx)(`th`,{className:`p-2 font-medium`,children:`Default`}),(0,F.jsx)(`th`,{className:`p-2 font-medium`,children:`Created`}),(0,F.jsx)(`th`,{className:`p-2`,children:(0,F.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,F.jsx)(`tbody`,{children:G.map(t=>{let n=t.VersionNumber,r=n===Q;return(0,F.jsxs)(`tr`,{className:`border-t`,children:[(0,F.jsx)(`td`,{className:`p-2 font-mono`,children:n}),(0,F.jsx)(`td`,{className:`p-2`,children:t.VersionDescription??`—`}),(0,F.jsx)(`td`,{className:`p-2`,children:r?(0,F.jsx)(j,{variant:`secondary`,children:`Default`}):`—`}),(0,F.jsx)(`td`,{className:`p-2`,children:o(t.CreateTime)}),(0,F.jsx)(`td`,{className:`p-2`,children:(0,F.jsxs)(`div`,{className:`flex items-center justify-end gap-1`,children:[(0,F.jsx)(i,{search:{launchTemplateId:e,launchTemplateVersion:String(n)},to:`/ec2/run-instances`,children:(0,F.jsxs)(h,{size:`sm`,variant:`ghost`,children:[(0,F.jsx)(M,{className:`size-4`}),`Launch`]})}),!r&&n!==void 0&&(0,F.jsxs)(h,{disabled:I.isPending,onClick:async()=>await oe(n),size:`sm`,variant:`ghost`,children:[(0,F.jsx)(N,{className:`size-4`}),`Set default`]}),(0,F.jsx)(h,{disabled:r||z.isPending||n===void 0,onClick:async()=>{n!==void 0&&await se(n)},size:`sm`,variant:`ghost`,children:(0,F.jsx)(m,{className:`size-4`})})]})})]},n)})})]})})]})]}),(0,F.jsxs)(O,{children:[(0,F.jsx)(O.Header,{children:`Create Version`}),(0,F.jsxs)(`div`,{className:`p-4`,children:[V.error&&(0,F.jsx)(T,{error:V.error,msg:`Failed to create version`}),(0,F.jsxs)(`form`,{className:`space-y-6`,onSubmit:q(le),children:[(0,F.jsxs)(v,{children:[(0,F.jsx)(_,{children:(0,F.jsx)(`label`,{htmlFor:`sourceVersion`,children:`Clone from version`})}),(0,F.jsxs)(p,{onValueChange:e=>ae(e??`none`),value:Y(`sourceVersion`)??`none`,children:[(0,F.jsx)(f,{className:`w-full`,id:`sourceVersion`,children:(0,F.jsx)(l,{})}),(0,F.jsxs)(d,{children:[(0,F.jsx)(u,{value:`none`,children:`none (start blank)`}),G.map(e=>(0,F.jsxs)(u,{value:String(e.VersionNumber),children:[`v`,e.VersionNumber,e.VersionDescription?` — ${e.VersionDescription}`:``]},e.VersionNumber))]})]})]}),(0,F.jsxs)(v,{children:[(0,F.jsx)(_,{children:(0,F.jsx)(`label`,{htmlFor:`versionDescription`,children:`Version Description`})}),(0,F.jsx)(g,{id:`versionDescription`,placeholder:`What changed in this version`,...J(`versionDescription`)})]}),(0,F.jsx)(A,{control:K,errors:ie,register:J}),(0,F.jsx)(h,{disabled:Z||V.isPending,type:`submit`,children:Z||V.isPending?`Creating…`:`Create Version`})]})]})]})]}),(0,F.jsx)(re,{description:`Are you sure you want to delete the launch template "${W.LaunchTemplateName??W.LaunchTemplateId}"? All versions will be deleted. This action cannot be undone.`,isPending:B.isPending,onConfirm:ce,onOpenChange:U,open:H,title:`Delete Launch Template`})]})}export{z as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id28.js b/spinifex/services/spinifexui/frontend/dist/assets/_id28.js index 96f22976b..c5bb24578 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id28.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id28.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as ee}from"./useNavigate.js";import{tn as a}from"./cluster-config.js";import{t as o}from"./back-link.js";import{c as s,i as c,n as l,s as u,t as d}from"./select.js";import{t as f}from"./trash-2.js";import{t as p}from"./button.js";import{t as m}from"./input.js";import{a as h,r as g,t as _}from"./field.js";import{O as v,_ as y,d as b,x}from"./ec2.js";import{G as S,N as C,P as w,a as te,y as ne}from"./ec22.js";import{a as re,i as T,n as E,t as D}from"./zod.js";import{t as O}from"./error-banner.js";import{t as k}from"./page-heading.js";import{d as ie,r as A}from"./ec23.js";import{t as ae}from"./_id13.js";import{t as oe}from"./delete-confirmation-dialog.js";import{n as j,t as M}from"./detail-row.js";import{t as se}from"./badge.js";var N=e(n()),P=t();function F(e){return e.GatewayId??e.NatGatewayId??e.NetworkInterfaceId??e.InstanceId??e.VpcPeeringConnectionId??`—`}function I(){let{id:e}=ae.useParams(),t=ee(),{data:n}=r(x(e)),{data:I}=r(b),{data:L}=r(y),{data:R}=r(v),z=w(),B=ne(),V=C(),H=te(),U=S(),[W,G]=(0,N.useState)(!1),K=n.RouteTables?.[0],q=T({resolver:D(ie),defaultValues:{destinationCidrBlock:`0.0.0.0/0`,targetType:`igw`,targetId:``}}),ce=re({control:q.control,name:`targetType`}),J=T({resolver:D(A),defaultValues:{subnetId:``}});if(!K?.RouteTableId)return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(o,{to:`/ec2/describe-route-tables`,children:`Back to Route Tables`}),(0,P.jsx)(`p`,{className:`text-muted-foreground`,children:`Route Table not found.`})]});let Y=K.RouteTableId,X=a(K.Tags),Z=K.Associations?.some(e=>e.Main)??!1,Q=K.Routes??[],$=(K.Associations??[]).filter(e=>e.SubnetId),le=(I.InternetGateways??[]).filter(e=>e.Attachments?.some(e=>e.VpcId===K.VpcId)),ue=(L.NatGateways??[]).filter(e=>e.VpcId===K.VpcId&&e.State===`available`),de=new Set($.map(e=>e.SubnetId)),fe=(R.Subnets??[]).filter(e=>e.VpcId===K.VpcId&&!de.has(e.SubnetId)),pe=async()=>{try{await z.mutateAsync(Y),t({to:`/ec2/describe-route-tables`})}finally{G(!1)}},me=async e=>{await B.mutateAsync({routeTableId:Y,destinationCidrBlock:e.destinationCidrBlock,gatewayId:e.targetType===`igw`?e.targetId:void 0,natGatewayId:e.targetType===`nat`?e.targetId:void 0}),q.reset({destinationCidrBlock:`0.0.0.0/0`,targetType:`igw`,targetId:``})},he=async e=>{await H.mutateAsync({routeTableId:Y,subnetId:e.subnetId}),J.reset({subnetId:``})};return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(o,{to:`/ec2/describe-route-tables`,children:`Back to Route Tables`}),z.error&&(0,P.jsx)(O,{error:z.error,msg:`Failed to delete Route Table`}),(0,P.jsxs)(`div`,{className:`space-y-6`,children:[(0,P.jsx)(k,{actions:(0,P.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,P.jsxs)(p,{disabled:Z||z.isPending,onClick:()=>G(!0),size:`sm`,variant:`destructive`,children:[(0,P.jsx)(f,{className:`size-4`}),`Delete`]}),Z&&(0,P.jsx)(se,{variant:`secondary`,children:`Main`})]}),subtitle:`Route Table Details`,title:X?`${K.RouteTableId} (${X})`:K.RouteTableId}),(0,P.jsxs)(j,{children:[(0,P.jsx)(j.Header,{children:`Route Table Information`}),(0,P.jsxs)(j.Content,{children:[(0,P.jsx)(M,{label:`Route Table ID`,value:K.RouteTableId}),(0,P.jsx)(M,{label:`Main`,value:Z?`Yes`:`No`}),(0,P.jsx)(M,{label:`VPC ID`,value:K.VpcId?(0,P.jsx)(i,{className:`text-primary hover:underline`,params:{id:K.VpcId},to:`/ec2/describe-vpcs/$id`,children:K.VpcId}):`—`}),(0,P.jsx)(M,{label:`Owner ID`,value:K.OwnerId??`—`})]})]}),(0,P.jsxs)(j,{children:[(0,P.jsx)(j.Header,{children:`Routes`}),(0,P.jsxs)(`div`,{className:`space-y-4 p-4`,children:[(0,P.jsx)(`div`,{className:`overflow-x-auto rounded-md border`,children:(0,P.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,P.jsx)(`thead`,{className:`bg-muted/50 text-left text-muted-foreground`,children:(0,P.jsxs)(`tr`,{children:[(0,P.jsx)(`th`,{className:`p-2 font-medium`,children:`Destination`}),(0,P.jsx)(`th`,{className:`p-2 font-medium`,children:`Target`}),(0,P.jsx)(`th`,{className:`p-2 font-medium`,children:`Status`}),(0,P.jsx)(`th`,{className:`p-2`,children:(0,P.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,P.jsx)(`tbody`,{children:Q.length>0?Q.map(e=>{let t=e.DestinationCidrBlock??e.DestinationPrefixListId??`—`,n=e.GatewayId===`local`,r=e.DestinationCidrBlock;return(0,P.jsxs)(`tr`,{className:`border-t`,children:[(0,P.jsx)(`td`,{className:`p-2 font-mono`,children:t}),(0,P.jsx)(`td`,{className:`p-2 font-mono`,children:F(e)}),(0,P.jsx)(`td`,{className:`p-2`,children:e.State??`—`}),(0,P.jsx)(`td`,{className:`p-2 text-right`,children:!n&&r&&(0,P.jsx)(p,{disabled:V.isPending,onClick:async()=>await V.mutateAsync({routeTableId:Y,destinationCidrBlock:r}),size:`sm`,variant:`ghost`,children:(0,P.jsx)(f,{className:`size-4`})})})]},t)}):(0,P.jsx)(`tr`,{children:(0,P.jsx)(`td`,{className:`p-2 text-muted-foreground`,colSpan:4,children:`No routes.`})})})]})}),(B.error??V.error)&&(0,P.jsx)(O,{error:B.error??V.error??void 0,msg:`Failed to update route`}),(0,P.jsxs)(`form`,{className:`grid items-end gap-3 sm:grid-cols-[1fr_1fr_1fr_auto]`,onSubmit:q.handleSubmit(me),children:[(0,P.jsxs)(_,{children:[(0,P.jsx)(h,{children:(0,P.jsx)(`label`,{htmlFor:`destinationCidrBlock`,children:`Destination`})}),(0,P.jsx)(m,{id:`destinationCidrBlock`,placeholder:`0.0.0.0/0`,...q.register(`destinationCidrBlock`)}),(0,P.jsx)(g,{errors:[q.formState.errors.destinationCidrBlock]})]}),(0,P.jsxs)(_,{children:[(0,P.jsx)(h,{children:(0,P.jsx)(`label`,{htmlFor:`targetType`,children:`Target type`})}),(0,P.jsx)(E,{control:q.control,name:`targetType`,render:({field:e})=>(0,P.jsxs)(d,{onValueChange:t=>{e.onChange(t),q.setValue(`targetId`,``)},value:e.value,children:[(0,P.jsx)(u,{className:`w-full`,id:`targetType`,children:(0,P.jsx)(s,{})}),(0,P.jsxs)(l,{children:[(0,P.jsx)(c,{value:`igw`,children:`Internet Gateway`}),(0,P.jsx)(c,{value:`nat`,children:`NAT Gateway`})]})]})})]}),(0,P.jsxs)(_,{children:[(0,P.jsx)(h,{children:(0,P.jsx)(`label`,{htmlFor:`targetId`,children:`Target`})}),(0,P.jsx)(E,{control:q.control,name:`targetId`,render:({field:e})=>(0,P.jsxs)(d,{onValueChange:t=>e.onChange(t),value:e.value??``,children:[(0,P.jsx)(u,{"aria-invalid":!!q.formState.errors.targetId,className:`w-full`,id:`targetId`,children:(0,P.jsx)(s,{placeholder:`Select target`})}),(0,P.jsx)(l,{children:ce===`igw`?le.map(e=>(0,P.jsx)(c,{value:e.InternetGatewayId??``,children:e.InternetGatewayId},e.InternetGatewayId)):ue.map(e=>(0,P.jsx)(c,{value:e.NatGatewayId??``,children:e.NatGatewayId},e.NatGatewayId))})]})}),(0,P.jsx)(g,{errors:[q.formState.errors.targetId]})]}),(0,P.jsx)(p,{disabled:B.isPending,size:`sm`,type:`submit`,children:`Add route`})]})]})]}),(0,P.jsxs)(j,{children:[(0,P.jsx)(j.Header,{children:`Subnet Associations`}),(0,P.jsxs)(`div`,{className:`space-y-4 p-4`,children:[$.length>0?(0,P.jsx)(`ul`,{className:`space-y-2`,children:$.map(e=>{let t=e.RouteTableAssociationId;return(0,P.jsxs)(`li`,{className:`flex items-center justify-between rounded-md border p-2 text-sm`,children:[(0,P.jsx)(i,{className:`font-mono text-primary hover:underline`,params:{id:e.SubnetId??``},to:`/ec2/describe-subnets/$id`,children:e.SubnetId}),(0,P.jsx)(p,{disabled:!t||U.isPending,onClick:async()=>{t&&await U.mutateAsync(t)},size:`sm`,variant:`ghost`,children:(0,P.jsx)(f,{className:`size-4`})})]},t)})}):(0,P.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No subnet associations.`}),(H.error??U.error)&&(0,P.jsx)(O,{error:H.error??U.error??void 0,msg:`Failed to update association`}),(0,P.jsxs)(`form`,{className:`grid items-end gap-3 sm:grid-cols-[1fr_auto]`,onSubmit:J.handleSubmit(he),children:[(0,P.jsxs)(_,{children:[(0,P.jsx)(h,{children:(0,P.jsx)(`label`,{htmlFor:`subnetId`,children:`Associate subnet`})}),(0,P.jsx)(E,{control:J.control,name:`subnetId`,render:({field:e})=>(0,P.jsxs)(d,{onValueChange:t=>e.onChange(t),value:e.value??``,children:[(0,P.jsx)(u,{"aria-invalid":!!J.formState.errors.subnetId,className:`w-full`,id:`subnetId`,children:(0,P.jsx)(s,{placeholder:`Select a subnet`})}),(0,P.jsx)(l,{children:fe.map(e=>{let t=a(e.Tags);return(0,P.jsx)(c,{value:e.SubnetId??``,children:t?`${e.SubnetId} (${t})`:`${e.SubnetId} (${e.CidrBlock})`},e.SubnetId)})})]})}),(0,P.jsx)(g,{errors:[J.formState.errors.subnetId]})]}),(0,P.jsx)(p,{disabled:H.isPending,size:`sm`,type:`submit`,children:`Associate`})]})]})]})]}),(0,P.jsx)(oe,{description:`Are you sure you want to delete the Route Table "${K.RouteTableId}"? This action cannot be undone.`,isPending:z.isPending,onConfirm:pe,onOpenChange:G,open:W,title:`Delete Route Table`})]})}export{I 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"./useSuspenseQuery.js";import{t as a}from"./useNavigate.js";import{Qt as o,tn as s}from"./cluster-config.js";import{t as c}from"./back-link.js";import{c as l,i as u,n as d,s as f,t as p}from"./select.js";import{t as m}from"./pencil.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,r as y,t as b}from"./field.js";import{a as x,i as S,l as C,n as w,o as T,r as E,s as D,t as O}from"./alert-dialog.js";import{t as k}from"./acm.js";import{t as A}from"./certificate-import-dialog.js";import{O as j,w as M}from"./ec2.js";import{_ as N,a as P,d as F,f as I,g as ee,h as te,o as L,r as R,s as z,t as B,u as V}from"./elbv2.js";import{i as H,n as U,o as W,r as G,s as K,t as q,u as J}from"./elbv22.js";import{a as ne,i as re,n as ie,r as ae,t as oe}from"./zod.js";import{t as Y}from"./error-banner.js";import{t as se}from"./page-heading.js";import{t as ce}from"./_id9.js";import{t as le}from"./delete-confirmation-dialog.js";import{n as X,t as Z}from"./detail-row.js";import{t as ue}from"./state-badge.js";import{c as de,i as fe,n as pe,o as me,s as he,t as ge}from"./elbv23.js";import{n as _e,t as ve}from"./attributes-editor.js";import{t as ye}from"./tags-editor.js";import{i as be,n as xe,r as Se,t as Ce}from"./tabs.js";var we=r(),Q=e(n(),1),$=t(),Te=80,Ee=443,De=[],Oe=[];function ke(e){let t=e.CertificateArn?.split(`/`).pop()??e.CertificateArn??``;return e.DomainName?`${e.DomainName} · ${t}`:t}function Ae(e){let t=(0,we.c)(55),{form:n,protocols:r,targetGroups:i,certificates:a,sslPolicies:o}=e,s=a===void 0?De:a,c=o===void 0?Oe:o,{control:u,register:m,getValues:h,setValue:x,formState:S}=n,{errors:C}=S,[w,T]=(0,Q.useState)(!1),E;t[0]===u?E=t[1]:(E={control:u,name:`protocol`},t[0]=u,t[1]=E);let D=ne(E),O=D===`HTTPS`,k;t[2]===D?k=t[3]:(k=he(D),t[2]=D,t[3]=k);let j=k,M;t[4]!==h||t[5]!==x?(M=e=>{if(!e)return;let t=h(`port`);he(e)?(t===Te&&x(`port`,Ee),e===`HTTPS`?h(`sslPolicy`)||x(`sslPolicy`,ge):x(`sslPolicy`,void 0)):(t===Ee&&x(`port`,Te),x(`certificateArn`,void 0),x(`sslPolicy`,void 0))},t[4]=h,t[5]=x,t[6]=M):M=t[6];let N=M,P;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`listener-protocol`,children:`Protocol`})}),t[7]=P):P=t[7];let F;t[8]!==N||t[9]!==r?(F=e=>{let{field:t}=e;return(0,$.jsxs)(p,{onValueChange:e=>{t.onChange(e),N(e)},value:t.value,children:[(0,$.jsx)(f,{className:`w-full`,id:`listener-protocol`,children:(0,$.jsx)(l,{})}),(0,$.jsx)(d,{children:r.map(Pe)})]})},t[8]=N,t[9]=r,t[10]=F):F=t[10];let I;t[11]!==u||t[12]!==F?(I=(0,$.jsxs)(b,{children:[P,(0,$.jsx)(ie,{control:u,name:`protocol`,render:F})]}),t[11]=u,t[12]=F,t[13]=I):I=t[13];let ee;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`listener-port`,children:`Port`})}),t[14]=ee):ee=t[14];let te=!!C.port,L=j?`443`:`80`,R;t[15]===m?R=t[16]:(R=m(`port`,{valueAsNumber:!0}),t[15]=m,t[16]=R);let z;t[17]!==te||t[18]!==L||t[19]!==R?(z=(0,$.jsx)(_,{"aria-invalid":te,id:`listener-port`,inputMode:`numeric`,placeholder:L,type:`number`,...R}),t[17]=te,t[18]=L,t[19]=R,t[20]=z):z=t[20];let B;t[21]===C.port?B=t[22]:(B=(0,$.jsx)(y,{errors:[C.port]}),t[21]=C.port,t[22]=B);let V;t[23]!==z||t[24]!==B?(V=(0,$.jsxs)(b,{children:[ee,z,B]}),t[23]=z,t[24]=B,t[25]=V):V=t[25];let H;t[26]!==s||t[27]!==u||t[28]!==C.certificateArn||t[29]!==w||t[30]!==O||t[31]!==j||t[32]!==x||t[33]!==c?(H=j&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(b,{children:[(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`listener-certificate`,children:`Certificate`})}),(0,$.jsx)(ie,{control:u,name:`certificateArn`,render:e=>{let{field:t}=e;return(0,$.jsxs)(p,{onValueChange:t.onChange,value:t.value??``,children:[(0,$.jsx)(f,{"aria-invalid":!!C.certificateArn,className:`w-full`,id:`listener-certificate`,children:(0,$.jsx)(l,{placeholder:`Select certificate`})}),(0,$.jsx)(d,{children:s.map(Ne)})]})}}),(0,$.jsx)(y,{errors:[C.certificateArn]}),(0,$.jsxs)(`div`,{className:`mt-1 flex items-center justify-between`,children:[s.length===0&&(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No certificates imported yet.`}),(0,$.jsx)(g,{className:`ml-auto`,onClick:()=>T(!0),size:`sm`,type:`button`,variant:`ghost`,children:`Import certificate…`})]})]}),O&&(0,$.jsxs)(b,{children:[(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`listener-ssl-policy`,children:`Security policy`})}),(0,$.jsx)(ie,{control:u,name:`sslPolicy`,render:e=>{let{field:t}=e;return(0,$.jsxs)(p,{onValueChange:t.onChange,value:t.value??`ELBSecurityPolicy-2016-08`,children:[(0,$.jsx)(f,{className:`w-full`,id:`listener-ssl-policy`,children:(0,$.jsx)(l,{})}),(0,$.jsx)(d,{children:c.map(Me)})]})}})]}),(0,$.jsx)(A,{onImported:e=>x(`certificateArn`,e,{shouldValidate:!0}),onOpenChange:T,open:w})]}),t[26]=s,t[27]=u,t[28]=C.certificateArn,t[29]=w,t[30]=O,t[31]=j,t[32]=x,t[33]=c,t[34]=H):H=t[34];let U;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`listener-default-tg`,children:`Default target group`})}),t[35]=U):U=t[35];let W;t[36]!==C.defaultTargetGroupArn||t[37]!==i?(W=e=>{let{field:t}=e;return(0,$.jsxs)(p,{onValueChange:t.onChange,value:t.value??``,children:[(0,$.jsx)(f,{"aria-invalid":!!C.defaultTargetGroupArn,className:`w-full`,id:`listener-default-tg`,children:(0,$.jsx)(l,{placeholder:`Select target group`})}),(0,$.jsx)(d,{children:i.map(je)})]})},t[36]=C.defaultTargetGroupArn,t[37]=i,t[38]=W):W=t[38];let G;t[39]!==u||t[40]!==W?(G=(0,$.jsx)(ie,{control:u,name:`defaultTargetGroupArn`,render:W}),t[39]=u,t[40]=W,t[41]=G):G=t[41];let K;t[42]===C.defaultTargetGroupArn?K=t[43]:(K=(0,$.jsx)(y,{errors:[C.defaultTargetGroupArn]}),t[42]=C.defaultTargetGroupArn,t[43]=K);let q;t[44]===i.length?q=t[45]:(q=i.length===0&&(0,$.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`No target groups available in this VPC. Create one first.`}),t[44]=i.length,t[45]=q);let J;t[46]!==G||t[47]!==K||t[48]!==q?(J=(0,$.jsxs)(b,{children:[U,G,K,q]}),t[46]=G,t[47]=K,t[48]=q,t[49]=J):J=t[49];let re;return t[50]!==V||t[51]!==H||t[52]!==J||t[53]!==I?(re=(0,$.jsxs)($.Fragment,{children:[I,V,H,J]}),t[50]=V,t[51]=H,t[52]=J,t[53]=I,t[54]=re):re=t[54],re}function je(e){return(0,$.jsxs)(u,{value:e.TargetGroupArn??``,children:[e.TargetGroupName,` · `,e.Protocol,`:`,e.Port]},e.TargetGroupArn)}function Me(e){return(0,$.jsx)(u,{value:e.Name??``,children:e.Name},e.Name)}function Ne(e){return(0,$.jsx)(u,{value:e.CertificateArn??``,children:ke(e)},e.CertificateArn)}function Pe(e){return(0,$.jsx)(u,{value:e,children:e},e)}function Fe({listenerArn:e,targetGroups:t}){let{data:n}=i(q(e)),r=R(),a=I(),o=z(),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(),[d,f]=(0,Q.useState)(),p=n.Rules??[],_=new Map;for(let e of t)e.TargetGroupArn&&e.TargetGroupName&&_.set(e.TargetGroupArn,e.TargetGroupName);return(0,$.jsxs)(`div`,{className:`space-y-3`,children:[r.error&&(0,$.jsx)(Y,{error:r.error,msg:`Failed to create rule`}),a.error&&(0,$.jsx)(Y,{error:a.error,msg:`Failed to modify rule`}),o.error&&(0,$.jsx)(Y,{error:o.error,msg:`Failed to delete rule`}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[p.length,` rule`,p.length===1?``:`s`,` (including default)`]}),(0,$.jsx)(g,{onClick:()=>c(!0),size:`sm`,children:`Add rule`})]}),(0,$.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,$.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Priority`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Conditions`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Forward to`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,$.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,$.jsx)(`tbody`,{children:p.map(e=>(0,$.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,$.jsx)(`td`,{className:`px-4 py-2`,children:e.Priority}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:Ie(e.Conditions,e.IsDefault===!0)}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:Re(e,_)}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-right`,children:e.IsDefault===!0?(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Edit via listener`}):(0,$.jsxs)(`div`,{className:`flex justify-end gap-1`,children:[(0,$.jsx)(g,{"aria-label":`Edit rule ${e.Priority}`,onClick:()=>u(e),size:`sm`,variant:`ghost`,children:(0,$.jsx)(m,{className:`size-4`})}),(0,$.jsx)(g,{"aria-label":`Delete rule ${e.Priority}`,onClick:()=>f(e),size:`sm`,variant:`ghost`,children:(0,$.jsx)(h,{className:`size-4`})})]})})]},e.RuleArn??e.Priority??`default`))})]})}),s&&(0,$.jsx)(Ue,{isPending:r.isPending,mode:`add`,onOpenChange:c,onSubmit:async t=>{try{await r.mutateAsync({listenerArn:e,priority:t.priority,conditions:t.conditions.map(ze),forwardTargetGroupArn:t.forwardTargetGroupArn}),c(!1)}catch{}},open:s,targetGroups:t}),(0,$.jsx)(Ue,{initialRule:l,isPending:a.isPending,mode:`edit`,onOpenChange:e=>!e&&u(void 0),onSubmit:async t=>{if(l?.RuleArn)try{await a.mutateAsync({ruleArn:l.RuleArn,listenerArn:e,conditions:t.conditions.map(ze),forwardTargetGroupArn:t.forwardTargetGroupArn}),u(void 0)}catch{}},open:l!==void 0,targetGroups:t}),(0,$.jsx)(le,{description:d?`Delete rule with priority ${d.Priority}? This cannot be undone.`:``,isPending:o.isPending,onConfirm:async()=>{if(d?.RuleArn)try{await o.mutateAsync({ruleArn:d.RuleArn,listenerArn:e})}finally{f(void 0)}},onOpenChange:e=>!e&&f(void 0),open:d!==void 0,title:`Delete rule`})]})}function Ie(e,t){return t?`default`:!e||e.length===0?`—`:e.map(e=>{let t=Le(e);return`${e.Field}: ${t.join(`, `)}`}).join(` AND `)}function Le(e){if(e.Field===void 0)return e.Values??[];switch(e.Field){case`host-header`:return e.HostHeaderConfig?.Values??e.Values??[];case`path-pattern`:return e.PathPatternConfig?.Values??e.Values??[];case`http-header`:{let t=e.HttpHeaderConfig?.HttpHeaderName??`?`;return(e.HttpHeaderConfig?.Values??[]).map(e=>`${t}=${e}`)}case`http-request-method`:return e.HttpRequestMethodConfig?.Values??[];case`source-ip`:return e.SourceIpConfig?.Values??[];case`query-string`:return(e.QueryStringConfig?.Values??[]).map(e=>e.Key?`${e.Key}=${e.Value??``}`:e.Value??``);default:return e.Values??[]}}function Re(e,t){let n=e.Actions?.[0];return n?n.Type===`forward`&&n.TargetGroupArn?t.get(n.TargetGroupArn)??n.TargetGroupArn:n.Type??`—`:`—`}function ze(e){let t=e.rawValues.split(/[\n,]/).map(e=>e.trim()).filter(e=>e.length>0);return e.field===`query-string`?{field:e.field,values:[],queryStringPairs:t.map(e=>{let t=e.indexOf(`=`);return t===-1?{value:e}:{key:e.slice(0,t),value:e.slice(t+1)}})}:{field:e.field,values:t,httpHeaderName:e.httpHeaderName}}var Be=1,Ve=[{field:`path-pattern`,rawValues:``}];function He(e){let t=Number(e.Priority??Be),n=e.Conditions?.map(e=>Ye(e))??[];return{priority:Number.isFinite(t)?t:Be,conditions:n.length>0?n:Ve,forwardTargetGroupArn:e.Actions?.[0]?.TargetGroupArn??``}}function Ue(e){let t=(0,we.c)(84),{open:n,onOpenChange:r,onSubmit:i,isPending:a,targetGroups:o,mode:s,initialRule:c}=e,u,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=oe(fe),m={priority:Be,conditions:Ve,forwardTargetGroupArn:``},t[0]=u,t[1]=m):(u=t[0],m=t[1]);let h;t[2]===c?h=t[3]:(h=c?He(c):void 0,t[2]=c,t[3]=h);let k;t[4]===h?k=t[5]:(k={resolver:u,defaultValues:m,values:h},t[4]=h,t[5]=k);let A=re(k),j;t[6]===A.control?j=t[7]:(j={control:A.control,name:`conditions`},t[6]=A.control,t[7]=j);let{fields:M,append:N,remove:P}=ae(j),F;t[8]!==A||t[9]!==i?(F=A.handleSubmit(i),t[8]=A,t[9]=i,t[10]=F):F=t[10];let I=F,ee;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(ee={maxWidth:`40rem`,width:`calc(100vw - 2rem)`},t[11]=ee):ee=t[11];let te=s===`add`?`Add rule`:`Edit rule`,L;t[12]===te?L=t[13]:(L=(0,$.jsx)(C,{children:te}),t[12]=te,t[13]=L);let R;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(x,{children:`Routing rules match incoming requests and forward them to a target group. Rules evaluate in priority order; the listener default applies when no rule matches.`}),t[14]=R):R=t[14];let z;t[15]===L?z=t[16]:(z=(0,$.jsxs)(D,{children:[L,R]}),t[15]=L,t[16]=z);let B;t[17]===I?B=t[18]:(B=e=>{e.preventDefault(),I()},t[17]=I,t[18]=B);let V;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`rule-priority`,children:`Priority`})}),t[19]=V):V=t[19];let H=!!A.formState.errors.priority,U;t[20]===A?U=t[21]:(U=A.register(`priority`,{valueAsNumber:!0}),t[20]=A,t[21]=U);let W;t[22]!==H||t[23]!==U?(W=(0,$.jsx)(_,{"aria-invalid":H,id:`rule-priority`,inputMode:`numeric`,type:`number`,...U}),t[22]=H,t[23]=U,t[24]=W):W=t[24];let G;t[25]===A.formState.errors.priority?G=t[26]:(G=(0,$.jsx)(y,{errors:[A.formState.errors.priority]}),t[25]=A.formState.errors.priority,t[26]=G);let K;t[27]!==W||t[28]!==G?(K=(0,$.jsxs)(b,{children:[V,W,G]}),t[27]=W,t[28]=G,t[29]=K):K=t[29];let q;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,$.jsx)(v,{children:`Conditions`}),t[30]=q):q=t[30];let J=M.length>=5,ne;t[31]===N?ne=t[32]:(ne=()=>N({field:`path-pattern`,rawValues:``}),t[31]=N,t[32]=ne);let Y;t[33]!==J||t[34]!==ne?(Y=(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[q,(0,$.jsx)(g,{disabled:J,onClick:ne,size:`sm`,type:`button`,variant:`outline`,children:`Add condition`})]}),t[33]=J,t[34]=ne,t[35]=Y):Y=t[35];let se;if(t[36]!==M||t[37]!==A||t[38]!==P){let e;t[40]!==M.length||t[41]!==A||t[42]!==P?(e=(e,t)=>(0,$.jsx)(Ge,{form:A,index:t,onRemove:M.length>1?()=>P(t):void 0},e.id),t[40]=M.length,t[41]=A,t[42]=P,t[43]=e):e=t[43],se=M.map(e),t[36]=M,t[37]=A,t[38]=P,t[39]=se}else se=t[39];let ce;t[44]!==Y||t[45]!==se?(ce=(0,$.jsxs)(`div`,{className:`space-y-3`,children:[Y,se]}),t[44]=Y,t[45]=se,t[46]=ce):ce=t[46];let le;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`rule-forward-tg`,children:`Forward to target group`})}),t[47]=le):le=t[47];let X;t[48]!==A.formState.errors.forwardTargetGroupArn||t[49]!==o?(X=e=>{let{field:t}=e;return(0,$.jsxs)(p,{onValueChange:t.onChange,value:t.value??``,children:[(0,$.jsx)(f,{"aria-invalid":!!A.formState.errors.forwardTargetGroupArn,className:`w-full`,id:`rule-forward-tg`,children:(0,$.jsx)(l,{placeholder:`Select target group`})}),(0,$.jsx)(d,{children:o.map(We)})]})},t[48]=A.formState.errors.forwardTargetGroupArn,t[49]=o,t[50]=X):X=t[50];let Z;t[51]!==A.control||t[52]!==X?(Z=(0,$.jsx)(ie,{control:A.control,name:`forwardTargetGroupArn`,render:X}),t[51]=A.control,t[52]=X,t[53]=Z):Z=t[53];let ue;t[54]===A.formState.errors.forwardTargetGroupArn?ue=t[55]:(ue=(0,$.jsx)(y,{errors:[A.formState.errors.forwardTargetGroupArn]}),t[54]=A.formState.errors.forwardTargetGroupArn,t[55]=ue);let de;t[56]!==Z||t[57]!==ue?(de=(0,$.jsxs)(b,{children:[le,Z,ue]}),t[56]=Z,t[57]=ue,t[58]=de):de=t[58];let pe;t[59]!==B||t[60]!==K||t[61]!==ce||t[62]!==de?(pe=(0,$.jsxs)(`form`,{className:`min-w-0 space-y-4`,onSubmit:B,children:[K,ce,de]}),t[59]=B,t[60]=K,t[61]=ce,t[62]=de,t[63]=pe):pe=t[63];let me;t[64]===a?me=t[65]:(me=(0,$.jsx)(E,{disabled:a,children:`Cancel`}),t[64]=a,t[65]=me);let he;t[66]!==a||t[67]!==s?(he=Xe(s,a),t[66]=a,t[67]=s,t[68]=he):he=t[68];let ge;t[69]!==I||t[70]!==a||t[71]!==he?(ge=(0,$.jsx)(w,{disabled:a,onClick:I,children:he}),t[69]=I,t[70]=a,t[71]=he,t[72]=ge):ge=t[72];let _e;t[73]!==me||t[74]!==ge?(_e=(0,$.jsxs)(T,{children:[me,ge]}),t[73]=me,t[74]=ge,t[75]=_e):_e=t[75];let ve;t[76]!==z||t[77]!==pe||t[78]!==_e?(ve=(0,$.jsxs)(S,{className:`grid-cols-[minmax(0,1fr)]`,style:ee,children:[z,pe,_e]}),t[76]=z,t[77]=pe,t[78]=_e,t[79]=ve):ve=t[79];let ye;return t[80]!==r||t[81]!==n||t[82]!==ve?(ye=(0,$.jsx)(O,{onOpenChange:r,open:n,children:ve}),t[80]=r,t[81]=n,t[82]=ve,t[83]=ye):ye=t[83],ye}function We(e){return(0,$.jsxs)(u,{value:e.TargetGroupArn??``,children:[e.TargetGroupName,` · `,e.Protocol,`:`,e.Port]},e.TargetGroupArn)}function Ge(e){let t=(0,we.c)(54),{form:n,index:r,onRemove:i}=e,a,o,s,c,m,x,S,C,w,T;if(t[0]!==n||t[1]!==r||t[2]!==i){let e=n.watch(`conditions.${r}.field`);s=n.formState.errors.conditions?.[r],C=`space-y-2 rounded-md border p-3`;let E=`rule-cond-${r}-field`,D;t[13]===E?D=t[14]:(D=(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:E,children:`Type`})}),t[13]=E,t[14]=D);let O=`conditions.${r}.field`,k;t[15]===r?k=t[16]:(k=e=>{let{field:t}=e;return(0,$.jsxs)(p,{onValueChange:t.onChange,value:t.value,children:[(0,$.jsx)(f,{className:`w-full`,id:`rule-cond-${r}-field`,children:(0,$.jsx)(l,{})}),(0,$.jsxs)(d,{children:[(0,$.jsx)(u,{value:`path-pattern`,children:`Path pattern`}),(0,$.jsx)(u,{value:`host-header`,children:`Host header`}),(0,$.jsx)(u,{value:`http-header`,children:`HTTP header`}),(0,$.jsx)(u,{value:`http-request-method`,children:`HTTP method`}),(0,$.jsx)(u,{value:`source-ip`,children:`Source IP CIDR`}),(0,$.jsx)(u,{value:`query-string`,children:`Query string`})]})]})},t[15]=r,t[16]=k);let A;t[17]!==n.control||t[18]!==O||t[19]!==k?(A=(0,$.jsx)(ie,{control:n.control,name:O,render:k}),t[17]=n.control,t[18]=O,t[19]=k,t[20]=A):A=t[20];let j;t[21]!==A||t[22]!==D?(j=(0,$.jsxs)(`div`,{className:`flex-1`,children:[D,A]}),t[21]=A,t[22]=D,t[23]=j):j=t[23];let M;t[24]!==r||t[25]!==i?(M=i&&(0,$.jsx)(g,{"aria-label":`Remove condition ${r+1}`,className:`self-end`,onClick:i,size:`sm`,type:`button`,variant:`ghost`,children:(0,$.jsx)(h,{className:`size-4`})}),t[24]=r,t[25]=i,t[26]=M):M=t[26],t[27]!==j||t[28]!==M?(w=(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[j,M]}),t[27]=j,t[28]=M,t[29]=w):w=t[29],T=e===`http-header`&&(0,$.jsxs)(b,{children:[(0,$.jsx)(v,{children:(0,$.jsx)(`label`,{htmlFor:`rule-cond-${r}-hdr-name`,children:`Header name`})}),(0,$.jsx)(_,{"aria-invalid":!!s?.httpHeaderName,id:`rule-cond-${r}-hdr-name`,placeholder:`X-Tenant`,...n.register(`conditions.${r}.httpHeaderName`)}),(0,$.jsx)(y,{errors:[s?.httpHeaderName]})]}),o=b;let N=`rule-cond-${r}-values`,P;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`(comma or newline separated, max 5)`}),t[30]=P):P=t[30],t[31]===N?S=t[32]:(S=(0,$.jsx)(v,{children:(0,$.jsxs)(`label`,{htmlFor:N,children:[`Values`,` `,P]})}),t[31]=N,t[32]=S),a=_,c=!!s?.rawValues,m=`rule-cond-${r}-values`,x=Ke(e),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=m,t[8]=x,t[9]=S,t[10]=C,t[11]=w,t[12]=T}else a=t[3],o=t[4],s=t[5],c=t[6],m=t[7],x=t[8],S=t[9],C=t[10],w=t[11],T=t[12];let E;t[33]!==n||t[34]!==r?(E=n.register(`conditions.${r}.rawValues`),t[33]=n,t[34]=r,t[35]=E):E=t[35];let D;t[36]!==a||t[37]!==c||t[38]!==m||t[39]!==x||t[40]!==E?(D=(0,$.jsx)(a,{"aria-invalid":c,id:m,placeholder:x,...E}),t[36]=a,t[37]=c,t[38]=m,t[39]=x,t[40]=E,t[41]=D):D=t[41];let O=s?.rawValues,k;t[42]===O?k=t[43]:(k=(0,$.jsx)(y,{errors:[O]}),t[42]=O,t[43]=k);let A;t[44]!==o||t[45]!==k||t[46]!==S||t[47]!==D?(A=(0,$.jsxs)(o,{children:[S,D,k]}),t[44]=o,t[45]=k,t[46]=S,t[47]=D,t[48]=A):A=t[48];let j;return t[49]!==A||t[50]!==C||t[51]!==w||t[52]!==T?(j=(0,$.jsxs)(`div`,{className:C,children:[w,T,A]}),t[49]=A,t[50]=C,t[51]=w,t[52]=T,t[53]=j):j=t[53],j}function Ke(e){switch(e){case`path-pattern`:return`/api/*`;case`host-header`:return`*.example.com`;case`http-header`:return`acme`;case`http-request-method`:return`GET, POST`;case`source-ip`:return`10.0.0.0/8`;case`query-string`:return`key=value`;default:return``}}var qe=new Set([`host-header`,`path-pattern`,`http-header`,`http-request-method`,`source-ip`,`query-string`]);function Je(e){return e!==void 0&&qe.has(e)}function Ye(e){let t=Le(e);return{field:Je(e.Field)?e.Field:`path-pattern`,httpHeaderName:e.HttpHeaderConfig?.HttpHeaderName,rawValues:t.join(`, `)}}function Xe(e,t){return t?e===`add`?`Adding…`:`Saving…`:e===`add`?`Add rule`:`Save changes`}function Ze(e){return{protocol:me(e),port:80,defaultTargetGroupArn:``}}function Qe(e,t){let n=t.find(t=>t===e.Protocol)??t[0]??`HTTP`,r=he(n);return{protocol:n,port:e.Port??80,defaultTargetGroupArn:e.DefaultActions?.[0]?.TargetGroupArn??``,certificateArn:r?e.Certificates?.[0]?.CertificateArn:void 0,sslPolicy:n===`HTTPS`?e.SslPolicy:void 0}}function $e(e){if(e.Protocol!==`HTTPS`)return`—`;let t=e.Certificates?.[0]?.CertificateArn?.split(`/`).pop(),n=e.SslPolicy;return t&&n?`${n} · ${t}`:n??t??`—`}function et({loadBalancerArn:e,vpcId:t,lbType:n}){let r=de(n),{data:a}=i(U(e)),{data:o}=i(J),{data:s}=i(k),{data:c}=i(W),l=B(),u=P(),d=V(),[f,p]=(0,Q.useState)(!1),[_,v]=(0,Q.useState)(),[y,b]=(0,Q.useState)(),[x,S]=(0,Q.useState)(),C=a.Listeners??[],w=o.TargetGroups??[],T=w.filter(e=>e.VpcId===t),E=s.CertificateSummaryList??[],D=c.SslPolicies??[],O=new Map;for(let e of w)e.TargetGroupArn&&e.TargetGroupName&&O.set(e.TargetGroupArn,e.TargetGroupName);let A=e=>{let t=e.DefaultActions?.[0];if(!t)return`—`;if(t.Type===`forward`&&t.TargetGroupArn){let e=O.get(t.TargetGroupArn);return e?`forward → ${e}`:`forward → ${t.TargetGroupArn}`}return t.Type??`—`};return(0,$.jsxs)(`div`,{className:`space-y-3`,children:[l.error&&(0,$.jsx)(Y,{error:l.error,msg:`Failed to create listener`}),d.error&&(0,$.jsx)(Y,{error:d.error,msg:`Failed to modify listener`}),u.error&&(0,$.jsx)(Y,{error:u.error,msg:`Failed to delete listener`}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[C.length,` listener`,C.length===1?``:`s`]}),(0,$.jsx)(g,{onClick:()=>p(!0),size:`sm`,children:`Add listener`})]}),C.length===0?(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`No listeners configured.`}):(0,$.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,$.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Protocol`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Port`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`TLS`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Default action`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Listener ARN`}),(0,$.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,$.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,$.jsx)(`tbody`,{children:C.map(e=>{let t=e.ListenerArn??``,n=x===t;return(0,$.jsxs)(Q.Fragment,{children:[(0,$.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,$.jsx)(`td`,{className:`px-4 py-2`,children:e.Protocol}),(0,$.jsx)(`td`,{className:`px-4 py-2`,children:e.Port}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:$e(e)}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:A(e)}),(0,$.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:t}),(0,$.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,$.jsxs)(`div`,{className:`flex justify-end gap-1`,children:[(0,$.jsx)(g,{"aria-label":`${n?`Hide`:`Show`} rules for listener ${e.Protocol}:${e.Port}`,onClick:()=>S(n?void 0:t),size:`sm`,variant:`ghost`,children:n?`Hide rules`:`Rules`}),(0,$.jsx)(g,{"aria-label":`Edit listener ${e.Protocol}:${e.Port}`,onClick:()=>v(e),size:`sm`,variant:`ghost`,children:(0,$.jsx)(m,{className:`size-4`})}),(0,$.jsx)(g,{"aria-label":`Delete listener ${e.Protocol}:${e.Port}`,onClick:()=>b(e),size:`sm`,variant:`ghost`,children:(0,$.jsx)(h,{className:`size-4`})})]})})]}),n&&t&&(0,$.jsx)(`tr`,{className:`border-b bg-muted/30 last:border-0`,children:(0,$.jsx)(`td`,{className:`px-4 py-3`,colSpan:6,children:(0,$.jsx)(Fe,{listenerArn:t,targetGroups:T})})})]},t)})})]})}),f&&(0,$.jsx)(tt,{certificates:E,isPending:l.isPending,lbType:n,onOpenChange:p,onSubmit:async t=>{try{await l.mutateAsync({loadBalancerArn:e,protocol:t.protocol,port:t.port,defaultTargetGroupArn:t.defaultTargetGroupArn,certificateArn:t.certificateArn,sslPolicy:t.sslPolicy}),p(!1)}catch{}},open:f,protocols:r,sslPolicies:D,targetGroups:T}),(0,$.jsx)(nt,{certificates:E,isPending:d.isPending,listener:_,onOpenChange:e=>!e&&v(void 0),onSubmit:async t=>{if(_?.ListenerArn)try{await d.mutateAsync({listenerArn:_.ListenerArn,loadBalancerArn:e,protocol:t.protocol,port:t.port,defaultTargetGroupArn:t.defaultTargetGroupArn,certificateArn:t.certificateArn,sslPolicy:t.sslPolicy}),v(void 0)}catch{}},protocols:r,sslPolicies:D,targetGroups:T}),(0,$.jsx)(le,{description:y?`Delete listener ${y.Protocol}:${y.Port}? This cannot be undone.`:``,isPending:u.isPending,onConfirm:async()=>{if(y?.ListenerArn)try{await u.mutateAsync(y.ListenerArn)}finally{b(void 0)}},onOpenChange:e=>!e&&b(void 0),open:y!==void 0,title:`Delete listener`})]})}function tt(e){let t=(0,we.c)(37),{open:n,onOpenChange:r,lbType:i,protocols:a,targetGroups:o,certificates:s,sslPolicies:c,isPending:l,onSubmit:u}=e,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=oe(pe),t[0]=d):d=t[0];let f;t[1]===i?f=t[2]:(f=Ze(i),t[1]=i,t[2]=f);let p;t[3]===f?p=t[4]:(p={resolver:d,defaultValues:f},t[3]=f,t[4]=p);let m=re(p),h;t[5]!==m||t[6]!==u?(h=m.handleSubmit(u),t[5]=m,t[6]=u,t[7]=h):h=t[7];let g=h,_;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(_={maxWidth:`32rem`,width:`calc(100vw - 2rem)`},t[8]=_):_=t[8];let v;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsxs)(D,{children:[(0,$.jsx)(C,{children:`Add listener`}),(0,$.jsx)(x,{children:`Listeners forward incoming traffic to a default target group.`})]}),t[9]=v):v=t[9];let y;t[10]===g?y=t[11]:(y=e=>{e.preventDefault(),g()},t[10]=g,t[11]=y);let b;t[12]!==s||t[13]!==m||t[14]!==a||t[15]!==c||t[16]!==o?(b=(0,$.jsx)(Ae,{certificates:s,form:m,protocols:a,sslPolicies:c,targetGroups:o}),t[12]=s,t[13]=m,t[14]=a,t[15]=c,t[16]=o,t[17]=b):b=t[17];let k;t[18]!==y||t[19]!==b?(k=(0,$.jsx)(`form`,{className:`min-w-0 space-y-4`,onSubmit:y,children:b}),t[18]=y,t[19]=b,t[20]=k):k=t[20];let A;t[21]===l?A=t[22]:(A=(0,$.jsx)(E,{disabled:l,children:`Cancel`}),t[21]=l,t[22]=A);let j=l?`Adding…`:`Add listener`,M;t[23]!==g||t[24]!==l||t[25]!==j?(M=(0,$.jsx)(w,{disabled:l,onClick:g,children:j}),t[23]=g,t[24]=l,t[25]=j,t[26]=M):M=t[26];let N;t[27]!==A||t[28]!==M?(N=(0,$.jsxs)(T,{children:[A,M]}),t[27]=A,t[28]=M,t[29]=N):N=t[29];let P;t[30]!==N||t[31]!==k?(P=(0,$.jsxs)(S,{className:`grid-cols-[minmax(0,1fr)]`,style:_,children:[v,k,N]}),t[30]=N,t[31]=k,t[32]=P):P=t[32];let F;return t[33]!==r||t[34]!==n||t[35]!==P?(F=(0,$.jsx)(O,{onOpenChange:r,open:n,children:P}),t[33]=r,t[34]=n,t[35]=P,t[36]=F):F=t[36],F}function nt(e){let t=(0,we.c)(39),{listener:n,onOpenChange:r,protocols:i,targetGroups:a,certificates:o,sslPolicies:s,isPending:c,onSubmit:l}=e,u=n!==void 0,d,f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=oe(pe),f={protocol:`HTTP`,port:80,defaultTargetGroupArn:``},t[0]=d,t[1]=f):(d=t[0],f=t[1]);let p;t[2]!==n||t[3]!==i?(p=n?Qe(n,i):void 0,t[2]=n,t[3]=i,t[4]=p):p=t[4];let m;t[5]===p?m=t[6]:(m={resolver:d,defaultValues:f,values:p},t[5]=p,t[6]=m);let h=re(m),g;t[7]!==h||t[8]!==l?(g=h.handleSubmit(l),t[7]=h,t[8]=l,t[9]=g):g=t[9];let _=g,v;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(v={maxWidth:`32rem`,width:`calc(100vw - 2rem)`},t[10]=v):v=t[10];let y;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsxs)(D,{children:[(0,$.jsx)(C,{children:`Edit listener`}),(0,$.jsx)(x,{children:`Update port, protocol, or default target group. Changes apply without dropping the listener.`})]}),t[11]=y):y=t[11];let b;t[12]===_?b=t[13]:(b=e=>{e.preventDefault(),_()},t[12]=_,t[13]=b);let k;t[14]!==o||t[15]!==h||t[16]!==i||t[17]!==s||t[18]!==a?(k=(0,$.jsx)(Ae,{certificates:o,form:h,protocols:i,sslPolicies:s,targetGroups:a}),t[14]=o,t[15]=h,t[16]=i,t[17]=s,t[18]=a,t[19]=k):k=t[19];let A;t[20]!==b||t[21]!==k?(A=(0,$.jsx)(`form`,{className:`min-w-0 space-y-4`,onSubmit:b,children:k}),t[20]=b,t[21]=k,t[22]=A):A=t[22];let j;t[23]===c?j=t[24]:(j=(0,$.jsx)(E,{disabled:c,children:`Cancel`}),t[23]=c,t[24]=j);let M=c?`Saving…`:`Save changes`,N;t[25]!==_||t[26]!==c||t[27]!==M?(N=(0,$.jsx)(w,{disabled:c,onClick:_,children:M}),t[25]=_,t[26]=c,t[27]=M,t[28]=N):N=t[28];let P;t[29]!==j||t[30]!==N?(P=(0,$.jsxs)(T,{children:[j,N]}),t[29]=j,t[30]=N,t[31]=P):P=t[31];let F;t[32]!==A||t[33]!==P?(F=(0,$.jsxs)(S,{className:`grid-cols-[minmax(0,1fr)]`,style:v,children:[y,A,P]}),t[32]=A,t[33]=P,t[34]=F):F=t[34];let I;return t[35]!==r||t[36]!==u||t[37]!==F?(I=(0,$.jsx)(O,{onOpenChange:r,open:u,children:F}),t[35]=r,t[36]=u,t[37]=F,t[38]=I):I=t[38],I}function rt(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(e=>n.has(e))}function it(e){let t=(0,we.c)(46),{available:n,current:r,onSubmit:i,isPending:a,error:o,isSuccess:s}=e,c;t[0]===r?c=t[1]:(c=[...r],t[0]=r,t[1]=c);let l=c,[u,d]=(0,Q.useState)(l),f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>{d(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},t[2]=f):f=t[2];let p=f,m;t[3]===l?m=t[4]:(m=()=>d(l),t[3]=l,t[4]=m);let h=m,_;t[5]!==l||t[6]!==u?(_=rt(u,l),t[5]=l,t[6]=u,t[7]=_):_=t[7];let v=!_,y=u.length===0,b;t[8]!==v||t[9]!==y||t[10]!==i||t[11]!==u?(b=e=>{e.preventDefault(),!(!v||y)&&i(u)},t[8]=v,t[9]=y,t[10]=i,t[11]=u,t[12]=b):b=t[12];let x;t[13]===o?x=t[14]:(x=o&&(0,$.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 update security groups`}),t[13]=o,t[14]=x);let S;t[15]!==v||t[16]!==s?(S=s&&!v&&(0,$.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:`Security groups updated.`}),t[15]=v,t[16]=s,t[17]=S):S=t[17];let C;t[18]!==n||t[19]!==u?(C=n.length===0?(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No security groups in this VPC.`}):n.map(e=>(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,$.jsx)(`input`,{"aria-label":`Security group ${e.GroupId} (${e.GroupName})`,checked:u.includes(e.GroupId??``),onChange:()=>p(e.GroupId??``),type:`checkbox`}),(0,$.jsxs)(`span`,{className:`font-mono`,children:[e.GroupId,` (`,e.GroupName,`)`]})]},e.GroupId)),t[18]=n,t[19]=u,t[20]=C):C=t[20];let w;t[21]===y?w=t[22]:(w=y&&(0,$.jsx)(`p`,{className:`text-xs text-destructive`,children:`At least one security group is required.`}),t[21]=y,t[22]=w);let T;t[23]!==C||t[24]!==w?(T=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 p-4`,children:[C,w]}),t[23]=C,t[24]=w,t[25]=T):T=t[25];let E=v?`Unsaved changes`:`No changes`,D;t[26]===E?D=t[27]:(D=(0,$.jsx)(`span`,{className:`mr-auto text-xs text-muted-foreground`,children:E}),t[26]=E,t[27]=D);let O=a||!v,k;t[28]!==h||t[29]!==O?(k=(0,$.jsx)(g,{disabled:O,onClick:h,size:`sm`,type:`button`,variant:`secondary`,children:`Reset`}),t[28]=h,t[29]=O,t[30]=k):k=t[30];let A=a||!v||y,j=a?`Saving…`:`Save changes`,M;t[31]!==A||t[32]!==j?(M=(0,$.jsx)(g,{disabled:A,size:`sm`,type:`submit`,children:j}),t[31]=A,t[32]=j,t[33]=M):M=t[33];let N;t[34]!==D||t[35]!==k||t[36]!==M?(N=(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t p-4`,children:[D,k,M]}),t[34]=D,t[35]=k,t[36]=M,t[37]=N):N=t[37];let P;t[38]!==T||t[39]!==N?(P=(0,$.jsxs)(`div`,{className:`rounded-lg border bg-card`,children:[T,N]}),t[38]=T,t[39]=N,t[40]=P):P=t[40];let F;return t[41]!==P||t[42]!==b||t[43]!==x||t[44]!==S?(F=(0,$.jsxs)(`form`,{onSubmit:b,children:[x,S,P]}),t[41]=P,t[42]=b,t[43]=x,t[44]=S,t[45]=F):F=t[45],F}function at(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(e=>n.has(e))}function ot(e){let t=s(e.Tags),n=e.AvailabilityZone?` · ${e.AvailabilityZone}`:``,r=e.CidrBlock?` (${e.CidrBlock})`:``;return`${e.SubnetId}${t?` — ${t}`:``}${r}${n}`}function st(e){let t=(0,we.c)(47),{available:n,current:r,onSubmit:i,isPending:a,error:o,isSuccess:s}=e,c;t[0]===r?c=t[1]:(c=[...r],t[0]=r,t[1]=c);let l=c,[u,d]=(0,Q.useState)(l),f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>{d(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},t[2]=f):f=t[2];let p=f,m;t[3]===l?m=t[4]:(m=()=>d(l),t[3]=l,t[4]=m);let h=m,_;t[5]!==l||t[6]!==u?(_=at(u,l),t[5]=l,t[6]=u,t[7]=_):_=t[7];let v=!_,y=u.length===0,b;t[8]!==v||t[9]!==y||t[10]!==i||t[11]!==u?(b=e=>{e.preventDefault(),!(!v||y)&&i(u)},t[8]=v,t[9]=y,t[10]=i,t[11]=u,t[12]=b):b=t[12];let x;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(`div`,{className:`mb-4 rounded-md border border-amber-500 bg-amber-500/10 p-3 text-sm text-amber-700 dark:text-amber-400`,role:`note`,children:`Applying a subnet change re-homes the load balancer by relaunching its underlying system VM. Expect a brief data-plane interruption while it restarts.`}),t[13]=x):x=t[13];let S;t[14]===o?S=t[15]:(S=o&&(0,$.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 update subnets`}),t[14]=o,t[15]=S);let C;t[16]!==v||t[17]!==s?(C=s&&!v&&(0,$.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:`Subnets updated.`}),t[16]=v,t[17]=s,t[18]=C):C=t[18];let w;t[19]!==n||t[20]!==u?(w=n.length===0?(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No subnets in this VPC.`}):n.map(e=>(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,$.jsx)(`input`,{"aria-label":`Subnet ${e.SubnetId}`,checked:u.includes(e.SubnetId??``),onChange:()=>p(e.SubnetId??``),type:`checkbox`}),(0,$.jsx)(`span`,{className:`font-mono`,children:ot(e)})]},e.SubnetId)),t[19]=n,t[20]=u,t[21]=w):w=t[21];let T;t[22]===y?T=t[23]:(T=y&&(0,$.jsx)(`p`,{className:`text-xs text-destructive`,children:`At least one subnet is required.`}),t[22]=y,t[23]=T);let E;t[24]!==T||t[25]!==w?(E=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 p-4`,children:[w,T]}),t[24]=T,t[25]=w,t[26]=E):E=t[26];let D=v?`Unsaved changes`:`No changes`,O;t[27]===D?O=t[28]:(O=(0,$.jsx)(`span`,{className:`mr-auto text-xs text-muted-foreground`,children:D}),t[27]=D,t[28]=O);let k=a||!v,A;t[29]!==h||t[30]!==k?(A=(0,$.jsx)(g,{disabled:k,onClick:h,size:`sm`,type:`button`,variant:`secondary`,children:`Reset`}),t[29]=h,t[30]=k,t[31]=A):A=t[31];let j=a||!v||y,M=a?`Saving…`:`Save changes`,N;t[32]!==j||t[33]!==M?(N=(0,$.jsx)(g,{disabled:j,size:`sm`,type:`submit`,children:M}),t[32]=j,t[33]=M,t[34]=N):N=t[34];let P;t[35]!==O||t[36]!==A||t[37]!==N?(P=(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t p-4`,children:[O,A,N]}),t[35]=O,t[36]=A,t[37]=N,t[38]=P):P=t[38];let F;t[39]!==E||t[40]!==P?(F=(0,$.jsxs)(`div`,{className:`rounded-lg border bg-card`,children:[E,P]}),t[39]=E,t[40]=P,t[41]=F):F=t[41];let I;return t[42]!==F||t[43]!==b||t[44]!==S||t[45]!==C?(I=(0,$.jsxs)(`form`,{onSubmit:b,children:[x,S,C,F]}),t[42]=F,t[43]=b,t[44]=S,t[45]=C,t[46]=I):I=t[46],I}function ct({arn:e}){let t=a(),{data:n}=i(H(e)),{data:r}=i(G(e)),{data:l}=i(K([e])),{data:u}=i(j),{data:d}=i(M),f=L(),p=F(),m=N(),_=te(),v=ee(),[y,b]=(0,Q.useState)(!1),x=n.LoadBalancers?.[0];if(!x?.LoadBalancerArn)return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(c,{to:`/ec2/describe-load-balancers`,children:`Back to load balancers`}),(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`Load balancer not found.`})]});let S=async()=>{try{await f.mutateAsync(e),t({to:`/ec2/describe-load-balancers`})}finally{b(!1)}},C=u.Subnets??[],w=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}`},T=r.Attributes??[],E=l?.TagDescriptions?.find(t=>t.ResourceArn===e)?.Tags??[],D=(x.SecurityGroups??[]).filter(e=>e!==void 0),O=(d.SecurityGroups??[]).filter(e=>e.VpcId===x.VpcId),k=C.filter(e=>e.VpcId===x.VpcId),A=(x.AvailabilityZones??[]).map(e=>e.SubnetId).filter(e=>e!==void 0),P=x.Type===`network`;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(c,{to:`/ec2/describe-load-balancers`,children:`Back to load balancers`}),f.error&&(0,$.jsx)(Y,{error:f.error,msg:`Failed to delete load balancer`}),(0,$.jsxs)(`div`,{className:`space-y-6`,children:[(0,$.jsx)(se,{actions:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(g,{onClick:()=>b(!0),size:`sm`,variant:`destructive`,children:[(0,$.jsx)(h,{className:`size-4`}),`Delete`]}),(0,$.jsx)(ue,{state:x.State?.Code})]}),subtitle:`Load Balancer Details`,title:x.LoadBalancerName??x.LoadBalancerArn}),(0,$.jsxs)(Ce,{defaultValue:`overview`,children:[(0,$.jsxs)(xe,{children:[(0,$.jsx)(be,{value:`overview`,children:`Overview`}),(0,$.jsx)(be,{value:`listeners`,children:`Listeners`}),(0,$.jsx)(be,{value:`subnets`,children:`Subnets`}),!P&&(0,$.jsx)(be,{value:`security-groups`,children:`Security groups`}),(0,$.jsx)(be,{value:`attributes`,children:`Attributes`}),(0,$.jsx)(be,{value:`tags`,children:`Tags`})]}),(0,$.jsxs)(Se,{value:`overview`,children:[(0,$.jsxs)(X,{children:[(0,$.jsx)(X.Header,{children:`Load balancer`}),(0,$.jsxs)(X.Content,{children:[(0,$.jsx)(Z,{label:`ARN`,value:x.LoadBalancerArn}),(0,$.jsx)(Z,{label:`DNS name`,value:x.DNSName}),(0,$.jsx)(Z,{label:`State`,value:x.State?.Reason?`${x.State.Code} — ${x.State.Reason}`:x.State?.Code}),(0,$.jsx)(Z,{label:`Type`,value:x.Type}),(0,$.jsx)(Z,{label:`Scheme`,value:x.Scheme}),(0,$.jsx)(Z,{label:`IP address type`,value:x.IpAddressType}),(0,$.jsx)(Z,{label:`VPC`,value:x.VpcId}),(0,$.jsx)(Z,{label:`Created at`,value:o(x.CreatedTime)})]})]}),(0,$.jsxs)(X,{children:[(0,$.jsx)(X.Header,{children:`Availability zones`}),(0,$.jsx)(X.Content,{children:(x.AvailabilityZones??[]).map(e=>(0,$.jsx)(Z,{label:e.ZoneName??`—`,value:e.SubnetId?w(e.SubnetId):void 0},`${e.ZoneName}-${e.SubnetId}`))})]}),(x.SecurityGroups??[]).length>0&&(0,$.jsxs)(X,{children:[(0,$.jsx)(X.Header,{children:`Security groups`}),(0,$.jsx)(X.Content,{children:(x.SecurityGroups??[]).map(e=>(0,$.jsx)(Z,{label:`Security group`,value:e},e))})]})]}),(0,$.jsx)(Se,{value:`listeners`,children:(0,$.jsx)(et,{lbType:P?`network`:`application`,loadBalancerArn:e,vpcId:x.VpcId})}),(0,$.jsx)(Se,{value:`subnets`,children:(0,$.jsx)(st,{available:k,current:A,error:v.error,isPending:v.isPending,isSuccess:v.isSuccess,onSubmit:t=>v.mutate({loadBalancerArn:e,subnetIds:t})})}),!P&&(0,$.jsx)(Se,{value:`security-groups`,children:(0,$.jsx)(it,{available:O,current:D,error:_.error,isPending:_.isPending,isSuccess:_.isSuccess,onSubmit:t=>_.mutate({loadBalancerArn:e,securityGroupIds:t})})}),(0,$.jsx)(Se,{value:`attributes`,children:(0,$.jsx)(ve,{attributes:T,error:p.error,isPending:p.isPending,isSuccess:p.isSuccess,onSubmit:t=>{p.mutate({loadBalancerArn:e,attributes:t})},specs:_e})}),(0,$.jsx)(Se,{value:`tags`,children:(0,$.jsx)(ye,{error:m.error,isPending:m.isPending,isSuccess:m.isSuccess,onSubmit:t=>m.mutate({resourceArn:e,tags:t,initialKeys:E.map(e=>e.Key??``).filter(e=>e.length>0)}),tags:E})})]})]}),(0,$.jsx)(le,{description:`Are you sure you want to delete load balancer "${x.LoadBalancerName??x.LoadBalancerArn}"? This action cannot be undone.`,isPending:f.isPending,onConfirm:S,onOpenChange:b,open:y,title:`Delete load balancer`})]})}function lt(){let e=(0,we.c)(2),{id:t}=ce.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,$.jsx)(ct,{arn:n}),e[0]=n,e[1]=r),r}export{lt as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id29.js b/spinifex/services/spinifexui/frontend/dist/assets/_id29.js index 6d7e98070..ccf1d0367 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id29.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id29.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"./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{c,i as l,n as u,s as d,t as f}from"./select.js";import{t as p}from"./plus.js";import{t as ee}from"./trash-2.js";import{n as m,t as h}from"./_id3.js";import{t as g}from"./button.js";import{t as _}from"./input.js";import{a as v,r as y,t as b}from"./field.js";import{i as te,l as ne,n as re,o as ie,r as ae,s as oe,t as se}from"./alert-dialog.js";import{C as x}from"./ec2.js";import{F as S,c as ce,et as C,l as le,tt as ue}from"./ec22.js";import{a as de,i as fe,n as pe,t as me}from"./zod.js";import{t as he}from"./error-banner.js";import{t as w}from"./page-heading.js";import{x as ge}from"./ec23.js";import{t as T}from"./delete-confirmation-dialog.js";import{n as E,t as D}from"./detail-row.js";var _e=r(),O=e(n()),k=t();function A(e){if(!e||e===`-1`)return`All traffic`;let t=e.toUpperCase();return t===`TCP`||t===`UDP`||t===`ICMP`?t:e}function j(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 M(e){let t=(0,_e.c)(87),{open:n,onOpenChange:r,direction:i,groupId:a}=e,o=le(),s=ce(),c=i===`ingress`?o:s,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l={resolver:me(ge),defaultValues:{ipProtocol:`tcp`,fromPort:0,toPort:0,cidrIp:`0.0.0.0/0`}},t[0]=l):l=t[0];let{control:u,handleSubmit:d,register:f,reset:p,formState:ee}=fe(l),{errors:m}=ee,h;t[1]===u?h=t[2]:(h={control:u,name:`ipProtocol`},t[1]=u,t[2]=h);let g=de(h),x=g===`-1`||g===`icmp`,S;t[3]!==a||t[4]!==c||t[5]!==r||t[6]!==x||t[7]!==p?(S=async e=>{let t={groupId:a,ipProtocol:e.ipProtocol,fromPort:x?-1:e.fromPort,toPort:x?-1:e.toPort,cidrIp:e.cidrIp};await c.mutateAsync(t),p(),r(!1)},t[3]=a,t[4]=c,t[5]=r,t[6]=x,t[7]=p,t[8]=S):S=t[8];let C=S,ue=i===`ingress`?`Inbound`:`Outbound`,w;t[9]===ue?w=t[10]:(w=(0,k.jsx)(oe,{children:(0,k.jsxs)(ne,{children:[`Add `,ue,` Rule`]})}),t[9]=ue,t[10]=w);let T;t[11]===c.error?T=t[12]:(T=c.error&&(0,k.jsx)(he,{error:c.error,msg:`Failed to add rule`}),t[11]=c.error,t[12]=T);let E;t[13]!==d||t[14]!==C?(E=d(C),t[13]=d,t[14]=C,t[15]=E):E=t[15];let D;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,k.jsx)(v,{children:(0,k.jsx)(`label`,{htmlFor:`ipProtocol`,children:`Protocol`})}),t[16]=D):D=t[16];let O;t[17]===u?O=t[18]:(O=(0,k.jsx)(pe,{control:u,name:`ipProtocol`,render:ve}),t[17]=u,t[18]=O);let A;t[19]===m.ipProtocol?A=t[20]:(A=(0,k.jsx)(y,{errors:[m.ipProtocol]}),t[19]=m.ipProtocol,t[20]=A);let j;t[21]!==O||t[22]!==A?(j=(0,k.jsxs)(b,{children:[D,O,A]}),t[21]=O,t[22]=A,t[23]=j):j=t[23];let M;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,k.jsx)(v,{children:(0,k.jsx)(`label`,{htmlFor:`fromPort`,children:`From Port`})}),t[24]=M):M=t[24];let N=!!m.fromPort,P;t[25]===f?P=t[26]:(P=f(`fromPort`,{valueAsNumber:!0}),t[25]=f,t[26]=P);let F;t[27]!==x||t[28]!==N||t[29]!==P?(F=(0,k.jsx)(_,{"aria-invalid":N,disabled:x,id:`fromPort`,type:`number`,...P}),t[27]=x,t[28]=N,t[29]=P,t[30]=F):F=t[30];let I;t[31]===m.fromPort?I=t[32]:(I=(0,k.jsx)(y,{errors:[m.fromPort]}),t[31]=m.fromPort,t[32]=I);let L;t[33]!==F||t[34]!==I?(L=(0,k.jsxs)(b,{children:[M,F,I]}),t[33]=F,t[34]=I,t[35]=L):L=t[35];let ye;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(ye=(0,k.jsx)(v,{children:(0,k.jsx)(`label`,{htmlFor:`toPort`,children:`To Port`})}),t[36]=ye):ye=t[36];let be=!!m.toPort,R;t[37]===f?R=t[38]:(R=f(`toPort`,{valueAsNumber:!0}),t[37]=f,t[38]=R);let z;t[39]!==x||t[40]!==be||t[41]!==R?(z=(0,k.jsx)(_,{"aria-invalid":be,disabled:x,id:`toPort`,type:`number`,...R}),t[39]=x,t[40]=be,t[41]=R,t[42]=z):z=t[42];let B;t[43]===m.toPort?B=t[44]:(B=(0,k.jsx)(y,{errors:[m.toPort]}),t[43]=m.toPort,t[44]=B);let V;t[45]!==z||t[46]!==B?(V=(0,k.jsxs)(b,{children:[ye,z,B]}),t[45]=z,t[46]=B,t[47]=V):V=t[47];let H;t[48]!==L||t[49]!==V?(H=(0,k.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[L,V]}),t[48]=L,t[49]=V,t[50]=H):H=t[50];let xe=i===`ingress`?`Source`:`Destination`,U;t[51]===xe?U=t[52]:(U=(0,k.jsx)(v,{children:(0,k.jsxs)(`label`,{htmlFor:`cidrIp`,children:[xe,` CIDR`]})}),t[51]=xe,t[52]=U);let Se=!!m.cidrIp,W;t[53]===f?W=t[54]:(W=f(`cidrIp`),t[53]=f,t[54]=W);let G;t[55]!==Se||t[56]!==W?(G=(0,k.jsx)(_,{"aria-invalid":Se,id:`cidrIp`,placeholder:`0.0.0.0/0`,...W}),t[55]=Se,t[56]=W,t[57]=G):G=t[57];let K;t[58]===m.cidrIp?K=t[59]:(K=(0,k.jsx)(y,{errors:[m.cidrIp]}),t[58]=m.cidrIp,t[59]=K);let q;t[60]!==U||t[61]!==G||t[62]!==K?(q=(0,k.jsxs)(b,{children:[U,G,K]}),t[60]=U,t[61]=G,t[62]=K,t[63]=q):q=t[63];let J;t[64]!==j||t[65]!==H||t[66]!==q||t[67]!==E?(J=(0,k.jsxs)(`form`,{className:`space-y-4`,id:`add-rule-form`,onSubmit:E,children:[j,H,q]}),t[64]=j,t[65]=H,t[66]=q,t[67]=E,t[68]=J):J=t[68];let Y;t[69]!==c||t[70]!==p?(Y=(0,k.jsx)(ae,{onClick:()=>{p(),c.reset()},children:`Cancel`}),t[69]=c,t[70]=p,t[71]=Y):Y=t[71];let Ce=c.isPending?`Adding…`:`Add Rule`,X;t[72]!==c.isPending||t[73]!==Ce?(X=(0,k.jsx)(re,{disabled:c.isPending,form:`add-rule-form`,type:`submit`,children:Ce}),t[72]=c.isPending,t[73]=Ce,t[74]=X):X=t[74];let Z;t[75]!==Y||t[76]!==X?(Z=(0,k.jsxs)(ie,{children:[Y,X]}),t[75]=Y,t[76]=X,t[77]=Z):Z=t[77];let Q;t[78]!==J||t[79]!==Z||t[80]!==w||t[81]!==T?(Q=(0,k.jsxs)(te,{children:[w,T,J,Z]}),t[78]=J,t[79]=Z,t[80]=w,t[81]=T,t[82]=Q):Q=t[82];let $;return t[83]!==r||t[84]!==n||t[85]!==Q?($=(0,k.jsx)(se,{onOpenChange:r,open:n,children:Q}),t[83]=r,t[84]=n,t[85]=Q,t[86]=$):$=t[86],$}function ve(e){let{field:t}=e;return(0,k.jsxs)(f,{onValueChange:e=>t.onChange(e),value:t.value,children:[(0,k.jsx)(d,{className:`w-full`,id:`ipProtocol`,children:(0,k.jsx)(c,{})}),(0,k.jsxs)(u,{children:[(0,k.jsx)(l,{value:`tcp`,children:`TCP`}),(0,k.jsx)(l,{value:`udp`,children:`UDP`}),(0,k.jsx)(l,{value:`icmp`,children:`ICMP`}),(0,k.jsx)(l,{value:`-1`,children:`All traffic (-1)`})]})]})}function N(e){return[...(e.IpRanges??[]).map(e=>({kind:`cidr`,value:e.CidrIp??``})),...(e.UserIdGroupPairs??[]).map(e=>({kind:`group`,value:e.GroupId??``}))]}function P({rule:e,source:t,groupId:n,direction:r}){let i=ue(),a=C(),o=r===`ingress`?i:a,s=async()=>{try{await o.mutateAsync({groupId:n,ipProtocol:e.IpProtocol??`-1`,fromPort:e.FromPort??-1,toPort:e.ToPort??-1,...t.kind===`group`?{sourceGroupId:t.value}:{cidrIp:t.value}})}catch{}},c=t.kind===`group`&&t.value===n?`${t.value} (this security group)`:t.value;return(0,k.jsxs)(`div`,{className:`space-y-0`,children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between border-b px-4 py-3 last:border-b-0`,children:[(0,k.jsxs)(`div`,{className:`grid flex-1 grid-cols-3 gap-4 text-sm`,children:[(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`span`,{className:`text-muted-foreground`,children:`Protocol: `}),A(e.IpProtocol)]}),(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`span`,{className:`text-muted-foreground`,children:`Port Range: `}),j(e.FromPort,e.ToPort,e.IpProtocol)]}),(0,k.jsxs)(`div`,{children:[(0,k.jsxs)(`span`,{className:`text-muted-foreground`,children:[r===`ingress`?`Source`:`Destination`,`:`,` `]}),c]})]}),(0,k.jsx)(g,{disabled:o.isPending,onClick:s,size:`icon-xs`,variant:`ghost`,children:(0,k.jsx)(m,{className:`size-3`})})]}),o.error&&(0,k.jsx)(`div`,{className:`px-4 pb-2`,children:(0,k.jsx)(he,{error:o.error,msg:`Failed to remove rule`})})]})}function F(){let{id:e}=h.useParams(),t=o(),{data:n}=i(x(e)),r=n.SecurityGroups?.[0],c=S(),[l,u]=(0,O.useState)(!1),[d,f]=(0,O.useState)(!1),[m,_]=(0,O.useState)(!1),v=async()=>{try{await c.mutateAsync(e),t({to:`/ec2/describe-security-groups`})}finally{u(!1)}};if(!r?.GroupId)return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(s,{to:`/ec2/describe-security-groups`,children:`Back to Security Groups`}),(0,k.jsx)(`p`,{className:`text-muted-foreground`,children:`Security group not found.`})]});let y=r.IpPermissions??[],b=r.IpPermissionsEgress??[];return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(s,{to:`/ec2/describe-security-groups`,children:`Back to Security Groups`}),c.error&&(0,k.jsx)(he,{error:c.error,msg:`Failed to delete security group`}),(0,k.jsxs)(`div`,{className:`space-y-6`,children:[(0,k.jsx)(w,{actions:(0,k.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,k.jsxs)(g,{onClick:()=>u(!0),size:`sm`,variant:`destructive`,children:[(0,k.jsx)(ee,{className:`size-4`}),`Delete`]})}),subtitle:`Security Group Details`,title:r.GroupName?`${r.GroupId} (${r.GroupName})`:r.GroupId}),(0,k.jsxs)(E,{children:[(0,k.jsx)(E.Header,{children:`Security Group Information`}),(0,k.jsxs)(E.Content,{children:[(0,k.jsx)(D,{label:`Group ID`,value:r.GroupId}),(0,k.jsx)(D,{label:`Group Name`,value:r.GroupName}),(0,k.jsx)(D,{label:`Description`,value:r.Description}),(0,k.jsx)(D,{label:`VPC ID`,value:r.VpcId?(0,k.jsx)(a,{className:`text-primary hover:underline`,params:{id:r.VpcId},to:`/ec2/describe-vpcs/$id`,children:r.VpcId}):`—`}),(0,k.jsx)(D,{label:`Owner ID`,value:r.OwnerId})]})]}),(0,k.jsxs)(E,{children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between border-b p-4`,children:[(0,k.jsxs)(`h2`,{className:`font-semibold`,children:[`Inbound Rules (`,y.length,`)`]}),(0,k.jsxs)(g,{onClick:()=>f(!0),size:`sm`,variant:`outline`,children:[(0,k.jsx)(p,{className:`size-4`}),`Add Rule`]})]}),y.length>0?(0,k.jsx)(`div`,{children:y.flatMap(e=>N(e).map(t=>(0,k.jsx)(P,{direction:`ingress`,groupId:r.GroupId??``,rule:e,source:t},`${e.IpProtocol}-${e.FromPort}-${e.ToPort}-${t.kind}-${t.value}`)))}):(0,k.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:`No inbound rules.`})]}),(0,k.jsxs)(E,{children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between border-b p-4`,children:[(0,k.jsxs)(`h2`,{className:`font-semibold`,children:[`Outbound Rules (`,b.length,`)`]}),(0,k.jsxs)(g,{onClick:()=>_(!0),size:`sm`,variant:`outline`,children:[(0,k.jsx)(p,{className:`size-4`}),`Add Rule`]})]}),b.length>0?(0,k.jsx)(`div`,{children:b.flatMap(e=>N(e).map(t=>(0,k.jsx)(P,{direction:`egress`,groupId:r.GroupId??``,rule:e,source:t},`${e.IpProtocol}-${e.FromPort}-${e.ToPort}-${t.kind}-${t.value}`)))}):(0,k.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:`No outbound rules.`})]})]}),(0,k.jsx)(T,{description:`Are you sure you want to delete the security group "${r.GroupId}"? This action cannot be undone.`,isPending:c.isPending,onConfirm:v,onOpenChange:u,open:l,title:`Delete Security Group`}),(0,k.jsx)(M,{direction:`ingress`,groupId:r.GroupId,onOpenChange:f,open:d}),(0,k.jsx)(M,{direction:`egress`,groupId:r.GroupId,onOpenChange:_,open:m})]})}export{F 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"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{tn as o}from"./cluster-config.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{j as d}from"./ec22.js";import{t as f}from"./error-banner.js";import{t as p}from"./page-heading.js";import{t as m}from"./_id10.js";import{t as h}from"./delete-confirmation-dialog.js";import{n as g,t as _}from"./detail-row.js";import{t as v}from"./state-badge.js";var y=e(n()),b=t();function x(){let{id:e}=m.useParams(),t=a(),{data:n}=r(u(e)),x=d(),[S,C]=(0,y.useState)(!1),w=n.NatGateways?.[0],T=async()=>{try{await x.mutateAsync(e),t({to:`/ec2/describe-nat-gateways`})}finally{C(!1)}};if(!w?.NatGatewayId)return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{to:`/ec2/describe-nat-gateways`,children:`Back to NAT Gateways`}),(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`NAT Gateway not found.`})]});let E=o(w.Tags),D=w.NatGatewayAddresses?.[0];return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{to:`/ec2/describe-nat-gateways`,children:`Back to NAT Gateways`}),x.error&&(0,b.jsx)(f,{error:x.error,msg:`Failed to delete NAT Gateway`}),(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(p,{actions:(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(l,{disabled:x.isPending,onClick:()=>C(!0),size:`sm`,variant:`destructive`,children:[(0,b.jsx)(c,{className:`size-4`}),`Delete`]}),(0,b.jsx)(v,{state:w.State})]}),subtitle:`NAT Gateway Details`,title:E?`${w.NatGatewayId} (${E})`:w.NatGatewayId}),(0,b.jsxs)(g,{children:[(0,b.jsx)(g.Header,{children:`NAT Gateway Information`}),(0,b.jsxs)(g.Content,{children:[(0,b.jsx)(_,{label:`NAT Gateway ID`,value:w.NatGatewayId}),(0,b.jsx)(_,{label:`State`,value:w.State}),(0,b.jsx)(_,{label:`Connectivity`,value:w.ConnectivityType}),(0,b.jsx)(_,{label:`Subnet ID`,value:w.SubnetId?(0,b.jsx)(i,{className:`text-primary hover:underline`,params:{id:w.SubnetId},to:`/ec2/describe-subnets/$id`,children:w.SubnetId}):`—`}),(0,b.jsx)(_,{label:`VPC ID`,value:w.VpcId?(0,b.jsx)(i,{className:`text-primary hover:underline`,params:{id:w.VpcId},to:`/ec2/describe-vpcs/$id`,children:w.VpcId}):`—`}),(0,b.jsx)(_,{label:`Public IP`,value:D?.PublicIp??`—`}),(0,b.jsx)(_,{label:`Allocation ID`,value:D?.AllocationId?(0,b.jsx)(i,{className:`text-primary hover:underline`,params:{id:D.AllocationId},to:`/ec2/describe-addresses/$id`,children:D.AllocationId}):`—`})]})]})]}),(0,b.jsx)(h,{description:`Are you sure you want to delete the NAT Gateway "${w.NatGatewayId}"? This action cannot be undone. The associated Elastic IP is not released.`,isPending:x.isPending,onConfirm:T,onOpenChange:C,open:S,title:`Delete NAT Gateway`})]})}export{x 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 062bd5ff3..e0767951f 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/_id29.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/plus.js","assets/trash-2.js","assets/input.js","assets/field.js","assets/alert-dialog.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/ec23.js","assets/delete-confirmation-dialog.js","assets/detail-row.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{t as r}from"./createLucideIcon.js";import{C as i}from"./ec2.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(`./_id29.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/_id22.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/detail-row.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{l as r,t as i}from"./ec2.js";var a=e(`/_auth/ec2/(elastic-ips)/describe-addresses/$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} | Elastic IP | 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])),`component`)});export{a as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id30.js b/spinifex/services/spinifexui/frontend/dist/assets/_id30.js index 9eab8f6c3..035097236 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id30.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id30.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as ee}from"./useNavigate.js";import{Qt as a,t as te}from"./cluster-config.js";import{t as o}from"./back-link.js";import{t as ne}from"./copy.js";import{n as re,t as s}from"./_id2.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{t as u}from"./input.js";import{a as d,t as f}from"./field.js";import{a as p,i as m,l as h,n as g,o as _,r as v,s as y,t as b}from"./alert-dialog.js";import{T as x,b as S}from"./ec2.js";import{I as C,Q as w,u as T}from"./ec22.js";import{t as E}from"./error-banner.js";import{t as D}from"./page-heading.js";import{t as O}from"./delete-confirmation-dialog.js";import{n as k,t as A}from"./detail-row.js";import{t as ie}from"./state-badge.js";import{t as ae}from"./textarea.js";var j=e(n()),M=t();function N(){let{id:e}=s.useParams(),t=ee(),{data:n}=r(x(e)),{data:N}=r(S),P=n.Snapshots?.[0],F=C(),I=T(),L=w(),[R,z]=(0,j.useState)(!1),[B,V]=(0,j.useState)(!1),[H,U]=(0,j.useState)(``),[W,G]=(0,j.useState)(!1),[K,q]=(0,j.useState)(``),[J,Y]=(0,j.useState)(``),[X,Z]=(0,j.useState)(null),oe=N.Regions?.[0]?.RegionName??te(),Q=P?.State===`completed`,se=P?.State===`completed`;function ce(e){e||(q(``),Y(``),Z(null)),G(e)}async function le(){try{let t=await L.mutateAsync({snapshotId:e,name:K,description:J||void 0});Z(t.ImageId??null),q(``),Y(``)}catch{}}let $=async()=>{try{await F.mutateAsync(e),t({to:`/ec2/describe-snapshots`})}finally{z(!1)}},ue=async()=>{try{await I.mutateAsync({sourceSnapshotId:e,sourceRegion:oe,description:H||void 0}),V(!1),U(``)}catch{}};if(!P?.SnapshotId)return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(o,{to:`/ec2/describe-snapshots`,children:`Back to snapshots`}),(0,M.jsx)(`p`,{className:`text-muted-foreground`,children:`Snapshot not found.`})]});let de=a(P.StartTime);return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(o,{to:`/ec2/describe-snapshots`,children:`Back to snapshots`}),F.error&&(0,M.jsx)(E,{error:F.error,msg:`Failed to delete snapshot`}),I.error&&(0,M.jsx)(E,{error:I.error,msg:`Failed to copy snapshot`}),L.error&&(0,M.jsx)(E,{error:L.error,msg:`Failed to register image`}),(0,M.jsxs)(`div`,{className:`space-y-6`,children:[(0,M.jsx)(D,{actions:(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxs)(l,{disabled:!Q,onClick:()=>z(!0),size:`sm`,variant:`destructive`,children:[(0,M.jsx)(c,{className:`size-4`}),`Delete`]}),(0,M.jsxs)(l,{disabled:!Q,onClick:()=>V(!0),size:`sm`,variant:`outline`,children:[(0,M.jsx)(ne,{className:`size-4`}),`Copy Snapshot`]}),(0,M.jsxs)(l,{disabled:!se,onClick:()=>G(!0),size:`sm`,variant:`outline`,children:[(0,M.jsx)(re,{className:`size-4`}),`Register as AMI`]}),(0,M.jsx)(ie,{state:P.State})]}),subtitle:`Snapshot Details`,title:P.SnapshotId}),(0,M.jsxs)(k,{children:[(0,M.jsx)(k.Header,{children:`Snapshot Information`}),(0,M.jsxs)(k.Content,{children:[(0,M.jsx)(A,{label:`Snapshot ID`,value:P.SnapshotId}),(0,M.jsx)(A,{label:`Volume ID`,value:P.VolumeId?(0,M.jsx)(i,{className:`text-primary hover:underline`,params:{id:P.VolumeId},to:`/ec2/describe-volumes/$id`,children:P.VolumeId}):void 0}),(0,M.jsx)(A,{label:`Volume Size`,value:`${P.VolumeSize} GiB`}),(0,M.jsx)(A,{label:`State`,value:P.State}),(0,M.jsx)(A,{label:`Description`,value:P.Description}),(0,M.jsx)(A,{label:`Progress`,value:P.Progress}),(0,M.jsx)(A,{label:`Start Time`,value:de}),(0,M.jsx)(A,{label:`Owner ID`,value:P.OwnerId}),(0,M.jsx)(A,{label:`Encrypted`,value:P.Encrypted?`Yes`:`No`})]})]})]}),(0,M.jsx)(O,{description:`Are you sure you want to delete the snapshot "${P.SnapshotId}"? This action cannot be undone.`,isPending:F.isPending,onConfirm:$,onOpenChange:z,open:R,title:`Delete Snapshot`}),(0,M.jsx)(b,{onOpenChange:V,open:B,children:(0,M.jsxs)(m,{children:[(0,M.jsxs)(y,{children:[(0,M.jsx)(h,{children:`Copy Snapshot`}),(0,M.jsx)(p,{children:`Create a copy of this snapshot in the current region.`})]}),(0,M.jsxs)(f,{children:[(0,M.jsx)(d,{children:(0,M.jsx)(`label`,{htmlFor:`copyDescription`,children:`Description (optional)`})}),(0,M.jsx)(u,{id:`copyDescription`,onChange:e=>U(e.target.value),placeholder:`Description for the snapshot copy`,value:H})]}),(0,M.jsxs)(_,{children:[(0,M.jsx)(v,{children:`Cancel`}),(0,M.jsx)(g,{disabled:I.isPending,onClick:ue,children:I.isPending?`Copying…`:`Copy Snapshot`})]})]})}),(0,M.jsx)(b,{onOpenChange:ce,open:W,children:(0,M.jsxs)(m,{children:[(0,M.jsxs)(y,{children:[(0,M.jsx)(h,{children:X?`Image Registered`:`Register as AMI`}),(0,M.jsx)(p,{children:X?(0,M.jsxs)(M.Fragment,{children:[`AMI`,` `,(0,M.jsx)(i,{className:`text-primary hover:underline`,params:{id:X},to:`/ec2/describe-images/$id`,children:X}),` `,`was registered successfully.`]}):`Create an AMI from snapshot "${e}".`})]}),!X&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(f,{children:[(0,M.jsx)(d,{children:(0,M.jsx)(`label`,{htmlFor:`registerName`,children:`Name`})}),(0,M.jsx)(u,{id:`registerName`,onChange:e=>q(e.target.value),placeholder:`my-image`,value:K})]}),(0,M.jsxs)(f,{children:[(0,M.jsx)(d,{children:(0,M.jsx)(`label`,{htmlFor:`registerDescription`,children:`Description (optional)`})}),(0,M.jsx)(ae,{id:`registerDescription`,onChange:e=>Y(e.target.value),placeholder:`Optional description`,rows:2,value:J})]})]}),(0,M.jsxs)(_,{children:[(0,M.jsx)(v,{children:X?`Close`:`Cancel`}),!X&&(0,M.jsx)(g,{disabled:L.isPending||!K.trim(),onClick:le,children:L.isPending?`Registering…`:`Register AMI`})]})]})})]})}export{N 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"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{t as o}from"./back-link.js";import{t as s}from"./trash-2.js";import{t as c}from"./button.js";import{l,v as u}from"./ec2.js";import{M as d}from"./ec22.js";import{t as f}from"./error-banner.js";import{t as p}from"./page-heading.js";import{t as m}from"./_id11.js";import{t as h}from"./delete-confirmation-dialog.js";import{n as g,t as _}from"./detail-row.js";import{t as v}from"./state-badge.js";var y=e(n()),b=t();function x(){let{id:e}=m.useParams(),t=a(),{data:n}=r(u(e)),{data:x}=r(l),S=d(),[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)(o,{to:`/ec2/describe-placement-groups`,children:`Back to placement groups`}),S.error&&(0,b.jsx)(f,{error:S.error,msg:`Failed to delete placement group`}),(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(p,{actions:(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(c,{onClick:()=>w(!0),size:`sm`,variant:`destructive`,children:[(0,b.jsx)(s,{className:`size-4`}),`Delete`]}),(0,b.jsx)(v,{state:T.State})]}),subtitle:`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)(i,{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)(h,{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)(o,{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/_id31.js b/spinifex/services/spinifexui/frontend/dist/assets/_id31.js index b9c9c3601..bd5df5558 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id31.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id31.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{tn as o}from"./cluster-config.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{D as u}from"./ec2.js";import{L as d}from"./ec22.js";import{t as f}from"./error-banner.js";import{t as p}from"./page-heading.js";import{t as m}from"./_id14.js";import{t as h}from"./delete-confirmation-dialog.js";import{n as g,t as _}from"./detail-row.js";import{t as v}from"./state-badge.js";var y=e(n()),b=t();function x(){let{id:e}=m.useParams(),t=a(),{data:n}=r(u(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)(s,{to:`/ec2/describe-subnets`,children:`Back to Subnets`}),(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`Subnet not found.`})]});let E=o(x.Tags);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{to:`/ec2/describe-subnets`,children:`Back to Subnets`}),S.error&&(0,b.jsx)(f,{error:S.error,msg:`Failed to delete subnet`}),(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(p,{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)(v,{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)(i,{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)(h,{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"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as ee}from"./useNavigate.js";import{tn as a}from"./cluster-config.js";import{t as o}from"./back-link.js";import{c as s,i as c,n as l,s as u,t as d}from"./select.js";import{t as f}from"./trash-2.js";import{t as p}from"./button.js";import{t as m}from"./input.js";import{a as h,r as g,t as _}from"./field.js";import{O as v,_ as y,d as b,x}from"./ec2.js";import{G as S,N as C,P as w,a as te,y as ne}from"./ec22.js";import{a as re,i as T,n as E,t as D}from"./zod.js";import{t as O}from"./error-banner.js";import{t as k}from"./page-heading.js";import{d as ie,r as A}from"./ec23.js";import{t as ae}from"./_id12.js";import{t as oe}from"./delete-confirmation-dialog.js";import{n as j,t as M}from"./detail-row.js";import{t as se}from"./badge.js";var N=e(n()),P=t();function F(e){return e.GatewayId??e.NatGatewayId??e.NetworkInterfaceId??e.InstanceId??e.VpcPeeringConnectionId??`—`}function I(){let{id:e}=ae.useParams(),t=ee(),{data:n}=r(x(e)),{data:I}=r(b),{data:L}=r(y),{data:R}=r(v),z=w(),B=ne(),V=C(),H=te(),U=S(),[W,G]=(0,N.useState)(!1),K=n.RouteTables?.[0],q=T({resolver:D(ie),defaultValues:{destinationCidrBlock:`0.0.0.0/0`,targetType:`igw`,targetId:``}}),ce=re({control:q.control,name:`targetType`}),J=T({resolver:D(A),defaultValues:{subnetId:``}});if(!K?.RouteTableId)return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(o,{to:`/ec2/describe-route-tables`,children:`Back to Route Tables`}),(0,P.jsx)(`p`,{className:`text-muted-foreground`,children:`Route Table not found.`})]});let Y=K.RouteTableId,X=a(K.Tags),Z=K.Associations?.some(e=>e.Main)??!1,Q=K.Routes??[],$=(K.Associations??[]).filter(e=>e.SubnetId),le=(I.InternetGateways??[]).filter(e=>e.Attachments?.some(e=>e.VpcId===K.VpcId)),ue=(L.NatGateways??[]).filter(e=>e.VpcId===K.VpcId&&e.State===`available`),de=new Set($.map(e=>e.SubnetId)),fe=(R.Subnets??[]).filter(e=>e.VpcId===K.VpcId&&!de.has(e.SubnetId)),pe=async()=>{try{await z.mutateAsync(Y),t({to:`/ec2/describe-route-tables`})}finally{G(!1)}},me=async e=>{await B.mutateAsync({routeTableId:Y,destinationCidrBlock:e.destinationCidrBlock,gatewayId:e.targetType===`igw`?e.targetId:void 0,natGatewayId:e.targetType===`nat`?e.targetId:void 0}),q.reset({destinationCidrBlock:`0.0.0.0/0`,targetType:`igw`,targetId:``})},he=async e=>{await H.mutateAsync({routeTableId:Y,subnetId:e.subnetId}),J.reset({subnetId:``})};return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(o,{to:`/ec2/describe-route-tables`,children:`Back to Route Tables`}),z.error&&(0,P.jsx)(O,{error:z.error,msg:`Failed to delete Route Table`}),(0,P.jsxs)(`div`,{className:`space-y-6`,children:[(0,P.jsx)(k,{actions:(0,P.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,P.jsxs)(p,{disabled:Z||z.isPending,onClick:()=>G(!0),size:`sm`,variant:`destructive`,children:[(0,P.jsx)(f,{className:`size-4`}),`Delete`]}),Z&&(0,P.jsx)(se,{variant:`secondary`,children:`Main`})]}),subtitle:`Route Table Details`,title:X?`${K.RouteTableId} (${X})`:K.RouteTableId}),(0,P.jsxs)(j,{children:[(0,P.jsx)(j.Header,{children:`Route Table Information`}),(0,P.jsxs)(j.Content,{children:[(0,P.jsx)(M,{label:`Route Table ID`,value:K.RouteTableId}),(0,P.jsx)(M,{label:`Main`,value:Z?`Yes`:`No`}),(0,P.jsx)(M,{label:`VPC ID`,value:K.VpcId?(0,P.jsx)(i,{className:`text-primary hover:underline`,params:{id:K.VpcId},to:`/ec2/describe-vpcs/$id`,children:K.VpcId}):`—`}),(0,P.jsx)(M,{label:`Owner ID`,value:K.OwnerId??`—`})]})]}),(0,P.jsxs)(j,{children:[(0,P.jsx)(j.Header,{children:`Routes`}),(0,P.jsxs)(`div`,{className:`space-y-4 p-4`,children:[(0,P.jsx)(`div`,{className:`overflow-x-auto rounded-md border`,children:(0,P.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,P.jsx)(`thead`,{className:`bg-muted/50 text-left text-muted-foreground`,children:(0,P.jsxs)(`tr`,{children:[(0,P.jsx)(`th`,{className:`p-2 font-medium`,children:`Destination`}),(0,P.jsx)(`th`,{className:`p-2 font-medium`,children:`Target`}),(0,P.jsx)(`th`,{className:`p-2 font-medium`,children:`Status`}),(0,P.jsx)(`th`,{className:`p-2`,children:(0,P.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,P.jsx)(`tbody`,{children:Q.length>0?Q.map(e=>{let t=e.DestinationCidrBlock??e.DestinationPrefixListId??`—`,n=e.GatewayId===`local`,r=e.DestinationCidrBlock;return(0,P.jsxs)(`tr`,{className:`border-t`,children:[(0,P.jsx)(`td`,{className:`p-2 font-mono`,children:t}),(0,P.jsx)(`td`,{className:`p-2 font-mono`,children:F(e)}),(0,P.jsx)(`td`,{className:`p-2`,children:e.State??`—`}),(0,P.jsx)(`td`,{className:`p-2 text-right`,children:!n&&r&&(0,P.jsx)(p,{disabled:V.isPending,onClick:async()=>await V.mutateAsync({routeTableId:Y,destinationCidrBlock:r}),size:`sm`,variant:`ghost`,children:(0,P.jsx)(f,{className:`size-4`})})})]},t)}):(0,P.jsx)(`tr`,{children:(0,P.jsx)(`td`,{className:`p-2 text-muted-foreground`,colSpan:4,children:`No routes.`})})})]})}),(B.error??V.error)&&(0,P.jsx)(O,{error:B.error??V.error??void 0,msg:`Failed to update route`}),(0,P.jsxs)(`form`,{className:`grid items-end gap-3 sm:grid-cols-[1fr_1fr_1fr_auto]`,onSubmit:q.handleSubmit(me),children:[(0,P.jsxs)(_,{children:[(0,P.jsx)(h,{children:(0,P.jsx)(`label`,{htmlFor:`destinationCidrBlock`,children:`Destination`})}),(0,P.jsx)(m,{id:`destinationCidrBlock`,placeholder:`0.0.0.0/0`,...q.register(`destinationCidrBlock`)}),(0,P.jsx)(g,{errors:[q.formState.errors.destinationCidrBlock]})]}),(0,P.jsxs)(_,{children:[(0,P.jsx)(h,{children:(0,P.jsx)(`label`,{htmlFor:`targetType`,children:`Target type`})}),(0,P.jsx)(E,{control:q.control,name:`targetType`,render:({field:e})=>(0,P.jsxs)(d,{onValueChange:t=>{e.onChange(t),q.setValue(`targetId`,``)},value:e.value,children:[(0,P.jsx)(u,{className:`w-full`,id:`targetType`,children:(0,P.jsx)(s,{})}),(0,P.jsxs)(l,{children:[(0,P.jsx)(c,{value:`igw`,children:`Internet Gateway`}),(0,P.jsx)(c,{value:`nat`,children:`NAT Gateway`})]})]})})]}),(0,P.jsxs)(_,{children:[(0,P.jsx)(h,{children:(0,P.jsx)(`label`,{htmlFor:`targetId`,children:`Target`})}),(0,P.jsx)(E,{control:q.control,name:`targetId`,render:({field:e})=>(0,P.jsxs)(d,{onValueChange:t=>e.onChange(t),value:e.value??``,children:[(0,P.jsx)(u,{"aria-invalid":!!q.formState.errors.targetId,className:`w-full`,id:`targetId`,children:(0,P.jsx)(s,{placeholder:`Select target`})}),(0,P.jsx)(l,{children:ce===`igw`?le.map(e=>(0,P.jsx)(c,{value:e.InternetGatewayId??``,children:e.InternetGatewayId},e.InternetGatewayId)):ue.map(e=>(0,P.jsx)(c,{value:e.NatGatewayId??``,children:e.NatGatewayId},e.NatGatewayId))})]})}),(0,P.jsx)(g,{errors:[q.formState.errors.targetId]})]}),(0,P.jsx)(p,{disabled:B.isPending,size:`sm`,type:`submit`,children:`Add route`})]})]})]}),(0,P.jsxs)(j,{children:[(0,P.jsx)(j.Header,{children:`Subnet Associations`}),(0,P.jsxs)(`div`,{className:`space-y-4 p-4`,children:[$.length>0?(0,P.jsx)(`ul`,{className:`space-y-2`,children:$.map(e=>{let t=e.RouteTableAssociationId;return(0,P.jsxs)(`li`,{className:`flex items-center justify-between rounded-md border p-2 text-sm`,children:[(0,P.jsx)(i,{className:`font-mono text-primary hover:underline`,params:{id:e.SubnetId??``},to:`/ec2/describe-subnets/$id`,children:e.SubnetId}),(0,P.jsx)(p,{disabled:!t||U.isPending,onClick:async()=>{t&&await U.mutateAsync(t)},size:`sm`,variant:`ghost`,children:(0,P.jsx)(f,{className:`size-4`})})]},t)})}):(0,P.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No subnet associations.`}),(H.error??U.error)&&(0,P.jsx)(O,{error:H.error??U.error??void 0,msg:`Failed to update association`}),(0,P.jsxs)(`form`,{className:`grid items-end gap-3 sm:grid-cols-[1fr_auto]`,onSubmit:J.handleSubmit(he),children:[(0,P.jsxs)(_,{children:[(0,P.jsx)(h,{children:(0,P.jsx)(`label`,{htmlFor:`subnetId`,children:`Associate subnet`})}),(0,P.jsx)(E,{control:J.control,name:`subnetId`,render:({field:e})=>(0,P.jsxs)(d,{onValueChange:t=>e.onChange(t),value:e.value??``,children:[(0,P.jsx)(u,{"aria-invalid":!!J.formState.errors.subnetId,className:`w-full`,id:`subnetId`,children:(0,P.jsx)(s,{placeholder:`Select a subnet`})}),(0,P.jsx)(l,{children:fe.map(e=>{let t=a(e.Tags);return(0,P.jsx)(c,{value:e.SubnetId??``,children:t?`${e.SubnetId} (${t})`:`${e.SubnetId} (${e.CidrBlock})`},e.SubnetId)})})]})}),(0,P.jsx)(g,{errors:[J.formState.errors.subnetId]})]}),(0,P.jsx)(p,{disabled:H.isPending,size:`sm`,type:`submit`,children:`Associate`})]})]})]})]}),(0,P.jsx)(oe,{description:`Are you sure you want to delete the Route Table "${K.RouteTableId}"? This action cannot be undone.`,isPending:z.isPending,onConfirm:pe,onOpenChange:G,open:W,title:`Delete Route Table`})]})}export{I as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id32.js b/spinifex/services/spinifexui/frontend/dist/assets/_id32.js index 20678bda4..8307f2c85 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id32.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id32.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"./useQuery.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./useNavigate.js";import{Yt as s,tn as c}from"./cluster-config.js";import{t as l}from"./back-link.js";import{t as u}from"./trash-2.js";import{t as d}from"./button.js";import{t as f}from"./input.js";import{a as p,i as m,l as h,n as g,o as _,r as v,s as y,t as b}from"./alert-dialog.js";import{l as x}from"./ec2.js";import{_ as S,c as C,l as w,m as T,p as E}from"./elbv2.js";import{c as D,d as O,l as k,s as A}from"./elbv22.js";import{t as j}from"./error-banner.js";import{t as M}from"./page-heading.js";import{t as N}from"./_id15.js";import{t as P}from"./delete-confirmation-dialog.js";import{n as F,t as I}from"./detail-row.js";import{i as L,n as R,t as z}from"./tags-editor.js";import{i as B,n as V,r as H,t as U}from"./tabs.js";var W=r(),G=e(n(),1),K=t();function q(e){let t=e.trim();if(t===``)return;let n=Number(t);if(!(!Number.isInteger(n)||n<1||n>65535))return n}function J(e){let t=(0,W.c)(33),{open:n,onOpenChange:r,instances:i,defaultPort:a,isPending:o,onConfirm:s}=e,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l={},t[0]=l):l=t[0];let[u,d]=(0,G.useState)(l),[x,S]=(0,G.useState)(),[C,w]=(0,G.useState)(n);n!==C&&(w(n),n||(d({}),S(void 0)));let T;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(T=e=>{d(t=>{let n=t[e];return n?.checked?{...t,[e]:{...n,checked:!1}}:{...t,[e]:{checked:!0,port:n?.port??``}}})},t[1]=T):T=t[1];let E=T,D;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(D=(e,t)=>{d(n=>({...n,[e]:{checked:n[e]?.checked??!0,port:t}}))},t[2]=D):D=t[2];let O=D,k;t[3]!==s||t[4]!==u?(k=()=>{let e=Object.entries(u).filter(Y);if(e.length===0){S(`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=q(r.port);if(e===void 0){S(`Port for ${n} must be an integer between 1 and 65535.`);return}t.push({id:n,port:e})}S(void 0),s(t)},t[3]=s,t[4]=u,t[5]=k):k=t[5];let A=k,j;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,K.jsx)(h,{children:`Register targets`}),t[6]=j):j=t[6];let M;t[7]===a?M=t[8]:(M=(0,K.jsxs)(y,{children:[j,(0,K.jsxs)(p,{children:[`Select instances to register. Leave port blank to use the target group port (`,a,`).`]})]}),t[7]=a,t[8]=M);let N;t[9]!==a||t[10]!==i||t[11]!==u?(N=i.length===0?(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No instances available in this VPC.`}):(0,K.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=c(e.Tags);return(0,K.jsxs)(`div`,{className:`flex items-center gap-2 rounded px-1 py-1 text-xs hover:bg-accent`,children:[(0,K.jsx)(`input`,{"aria-label":`Register target ${t}`,checked:r,id:`register-target-${t}`,onChange:()=>E(t),type:`checkbox`}),(0,K.jsxs)(`label`,{className:`flex flex-1 items-center gap-2`,htmlFor:`register-target-${t}`,children:[(0,K.jsx)(`span`,{className:`font-mono`,children:t}),i&&(0,K.jsxs)(`span`,{className:`text-muted-foreground`,children:[`(`,i,`)`]}),(0,K.jsx)(`span`,{className:`text-muted-foreground`,children:e.State?.Name??``})]}),r&&(0,K.jsx)(f,{"aria-label":`Port override for ${t}`,className:`w-24`,onChange:e=>O(t,e.target.value),placeholder:String(a),value:n?.port??``})]},t)})}),t[9]=a,t[10]=i,t[11]=u,t[12]=N):N=t[12];let P;t[13]===x?P=t[14]:(P=x&&(0,K.jsx)(`p`,{className:`text-xs text-destructive`,role:`alert`,children:x}),t[13]=x,t[14]=P);let F;t[15]===o?F=t[16]:(F=(0,K.jsx)(v,{disabled:o,children:`Cancel`}),t[15]=o,t[16]=F);let I=o?`Registering…`:`Register`,L;t[17]!==A||t[18]!==o||t[19]!==I?(L=(0,K.jsx)(g,{disabled:o,onClick:A,children:I}),t[17]=A,t[18]=o,t[19]=I,t[20]=L):L=t[20];let R;t[21]!==L||t[22]!==F?(R=(0,K.jsxs)(_,{children:[F,L]}),t[21]=L,t[22]=F,t[23]=R):R=t[23];let z;t[24]!==R||t[25]!==M||t[26]!==N||t[27]!==P?(z=(0,K.jsxs)(m,{className:`sm:max-w-lg`,children:[M,N,P,R]}),t[24]=R,t[25]=M,t[26]=N,t[27]=P,t[28]=z):z=t[28];let B;return t[29]!==r||t[30]!==n||t[31]!==z?(B=(0,K.jsx)(b,{onOpenChange:r,open:n,children:z}),t[29]=r,t[30]=n,t[31]=z,t[32]=B):B=t[32],B}function Y(e){let[,t]=e;return t.checked&&t!==void 0}var X=5e3,Z=new Set([`healthy`]),Q=new Set([`unhealthy`,`unavailable`]),$=new Set([`initial`,`draining`]);function ee(e){return e&&Z.has(e)?`bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100`:e&&Q.has(e)?`bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-100`:e&&$.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 te(e){return`${e.Id??``}:${e.Port??``}`}function ne({targetGroupArn:e,vpcId:t,defaultPort:n,isActive:r}){let{data:o}=a(x),{data:c,isLoading:l,error:f}=i({...O(e),refetchInterval:r?X:!1,refetchIntervalInBackground:!1}),p=T(),m=w(),[h,g]=(0,G.useState)(!1),[_,v]=(0,G.useState)(),y=(o.Reservations?.flatMap(e=>e.Instances??[])??[]).filter(e=>e.VpcId===t&&e.State?.Name!==`terminated`),b=c?.TargetHealthDescriptions??[];return(0,K.jsxs)(`div`,{className:`space-y-3`,children:[p.error&&(0,K.jsx)(j,{error:p.error,msg:`Failed to register targets`}),m.error&&(0,K.jsx)(j,{error:m.error,msg:`Failed to deregister target`}),f&&(0,K.jsx)(j,{error:f,msg:`Failed to load target health`}),(0,K.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:l?`Loading target health…`:`${b.length} target${b.length===1?``:`s`}`}),(0,K.jsx)(d,{onClick:()=>g(!0),size:`sm`,children:`Register targets`})]}),b.length===0?(0,K.jsx)(`p`,{className:`text-muted-foreground`,children:`No targets registered.`}):(0,K.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,K.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,K.jsx)(`thead`,{children:(0,K.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Target`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Port`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`AZ`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Health`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Reason`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Description`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,K.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,K.jsx)(`tbody`,{children:b.map(e=>{let t=e.Target??{Id:``},n=e.TargetHealth?.State;return(0,K.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,K.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:t.Id??``}),(0,K.jsx)(`td`,{className:`px-4 py-2`,children:t.Port??``}),(0,K.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:t.AvailabilityZone??``}),(0,K.jsx)(`td`,{className:`px-4 py-2`,children:(0,K.jsx)(`span`,{className:s(`rounded-full px-2 py-0.5 text-xs`,ee(n)),children:n??`unknown`})}),(0,K.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:e.TargetHealth?.Reason??``}),(0,K.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:e.TargetHealth?.Description??``}),(0,K.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,K.jsx)(d,{"aria-label":`Deregister ${t.Id}`,onClick:()=>v(t),size:`sm`,variant:`ghost`,children:(0,K.jsx)(u,{className:`size-4`})})})]},te(t))})})]})}),(0,K.jsx)(J,{defaultPort:n,instances:y,isPending:p.isPending,onConfirm:async t=>{try{await p.mutateAsync({targetGroupArn:e,targets:t}),g(!1)}catch{}},onOpenChange:g,open:h}),(0,K.jsx)(P,{description:_?`Deregister ${_.Id}${_.Port?`:${_.Port}`:``} from this target group?`:``,isPending:m.isPending,onConfirm:async()=>{if(_?.Id)try{await m.mutateAsync({targetGroupArn:e,targets:[{id:_.Id,port:_.Port}]})}finally{v(void 0)}},onOpenChange:e=>!e&&v(void 0),open:_!==void 0,title:`Deregister target`})]})}function re({arn:e}){let t=o(),{data:n}=a(k(e)),{data:r}=a(D(e)),{data:i}=a(A([e])),s=C(),c=E(),f=S(),[p,m]=(0,G.useState)(!1),[h,g]=(0,G.useState)(`overview`),_=n.TargetGroups?.[0];if(!_?.TargetGroupArn)return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(l,{to:`/ec2/describe-target-groups`,children:`Back to target groups`}),(0,K.jsx)(`p`,{className:`text-muted-foreground`,children:`Target group not found.`})]});let v=async()=>{try{await s.mutateAsync(e),t({to:`/ec2/describe-target-groups`})}finally{m(!1)}},y=r.Attributes??[],b=i?.TagDescriptions?.find(t=>t.ResourceArn===e)?.Tags??[];return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(l,{to:`/ec2/describe-target-groups`,children:`Back to target groups`}),s.error&&(0,K.jsx)(j,{error:s.error,msg:`Failed to delete target group`}),(0,K.jsxs)(`div`,{className:`space-y-6`,children:[(0,K.jsx)(M,{actions:(0,K.jsxs)(d,{onClick:()=>m(!0),size:`sm`,variant:`destructive`,children:[(0,K.jsx)(u,{className:`size-4`}),`Delete`]}),subtitle:`Target Group Details`,title:_.TargetGroupName??_.TargetGroupArn}),(0,K.jsxs)(U,{onValueChange:g,value:h,children:[(0,K.jsxs)(V,{children:[(0,K.jsx)(B,{value:`overview`,children:`Overview`}),(0,K.jsx)(B,{value:`targets`,children:`Targets`}),(0,K.jsx)(B,{value:`health-checks`,children:`Health checks`}),(0,K.jsx)(B,{value:`attributes`,children:`Attributes`}),(0,K.jsx)(B,{value:`tags`,children:`Tags`})]}),(0,K.jsx)(H,{value:`overview`,children:(0,K.jsxs)(F,{children:[(0,K.jsx)(F.Header,{children:`Target group`}),(0,K.jsxs)(F.Content,{children:[(0,K.jsx)(I,{label:`ARN`,value:_.TargetGroupArn}),(0,K.jsx)(I,{label:`Protocol`,value:_.Protocol}),(0,K.jsx)(I,{label:`Port`,value:_.Port?.toString()}),(0,K.jsx)(I,{label:`VPC`,value:_.VpcId}),(0,K.jsx)(I,{label:`Target type`,value:_.TargetType}),(0,K.jsx)(I,{label:`Protocol version`,value:_.ProtocolVersion}),(0,K.jsx)(I,{label:`IP address type`,value:_.IpAddressType})]})]})}),(0,K.jsx)(H,{value:`targets`,children:(0,K.jsx)(ne,{defaultPort:_.Port??80,isActive:h===`targets`,targetGroupArn:_.TargetGroupArn,vpcId:_.VpcId})}),(0,K.jsxs)(H,{value:`health-checks`,children:[(0,K.jsx)(`p`,{className:`mb-3 text-sm text-muted-foreground`,children:`Health-check settings are set at creation time. Editing lands in a future enhancement.`}),(0,K.jsxs)(F,{children:[(0,K.jsx)(F.Header,{children:`Health check`}),(0,K.jsxs)(F.Content,{children:[(0,K.jsx)(I,{label:`Enabled`,value:_.HealthCheckEnabled===void 0?void 0:String(_.HealthCheckEnabled)}),(0,K.jsx)(I,{label:`Protocol`,value:_.HealthCheckProtocol}),(0,K.jsx)(I,{label:`Path`,value:_.HealthCheckPath}),(0,K.jsx)(I,{label:`Port`,value:_.HealthCheckPort}),(0,K.jsx)(I,{label:`Interval (s)`,value:_.HealthCheckIntervalSeconds?.toString()}),(0,K.jsx)(I,{label:`Timeout (s)`,value:_.HealthCheckTimeoutSeconds?.toString()}),(0,K.jsx)(I,{label:`Healthy threshold`,value:_.HealthyThresholdCount?.toString()}),(0,K.jsx)(I,{label:`Unhealthy threshold`,value:_.UnhealthyThresholdCount?.toString()}),(0,K.jsx)(I,{label:`Matcher (HTTP codes)`,value:_.Matcher?.HttpCode??_.Matcher?.GrpcCode})]})]})]}),(0,K.jsx)(H,{value:`attributes`,children:(0,K.jsx)(R,{attributes:y,error:c.error,isPending:c.isPending,isSuccess:c.isSuccess,onSubmit:t=>{c.mutate({targetGroupArn:e,attributes:t})},specs:L})}),(0,K.jsx)(H,{value:`tags`,children:(0,K.jsx)(z,{error:f.error,isPending:f.isPending,isSuccess:f.isSuccess,onSubmit:t=>f.mutate({resourceArn:e,tags:t,initialKeys:b.map(e=>e.Key??``).filter(e=>e.length>0)}),tags:b})})]})]}),(0,K.jsx)(P,{description:`Are you sure you want to delete target group "${_.TargetGroupName??_.TargetGroupArn}"? This action cannot be undone.`,isPending:s.isPending,onConfirm:v,onOpenChange:m,open:p,title:`Delete Target Group`})]})}function ie(){let e=(0,W.c)(2),{id:t}=N.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,K.jsx)(re,{arn:n}),e[0]=n,e[1]=r),r}export{ie 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"./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{c,i as l,n as u,s as d,t as f}from"./select.js";import{t as p}from"./plus.js";import{t as ee}from"./trash-2.js";import{n as m,t as h}from"./_id2.js";import{t as g}from"./button.js";import{t as _}from"./input.js";import{a as v,r as y,t as b}from"./field.js";import{i as te,l as ne,n as re,o as ie,r as ae,s as oe,t as se}from"./alert-dialog.js";import{C as x}from"./ec2.js";import{F as S,c as ce,et as C,l as le,tt as ue}from"./ec22.js";import{a as de,i as fe,n as pe,t as me}from"./zod.js";import{t as he}from"./error-banner.js";import{t as w}from"./page-heading.js";import{x as ge}from"./ec23.js";import{t as T}from"./delete-confirmation-dialog.js";import{n as E,t as D}from"./detail-row.js";var _e=r(),O=e(n()),k=t();function A(e){if(!e||e===`-1`)return`All traffic`;let t=e.toUpperCase();return t===`TCP`||t===`UDP`||t===`ICMP`?t:e}function j(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 M(e){let t=(0,_e.c)(87),{open:n,onOpenChange:r,direction:i,groupId:a}=e,o=le(),s=ce(),c=i===`ingress`?o:s,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l={resolver:me(ge),defaultValues:{ipProtocol:`tcp`,fromPort:0,toPort:0,cidrIp:`0.0.0.0/0`}},t[0]=l):l=t[0];let{control:u,handleSubmit:d,register:f,reset:p,formState:ee}=fe(l),{errors:m}=ee,h;t[1]===u?h=t[2]:(h={control:u,name:`ipProtocol`},t[1]=u,t[2]=h);let g=de(h),x=g===`-1`||g===`icmp`,S;t[3]!==a||t[4]!==c||t[5]!==r||t[6]!==x||t[7]!==p?(S=async e=>{let t={groupId:a,ipProtocol:e.ipProtocol,fromPort:x?-1:e.fromPort,toPort:x?-1:e.toPort,cidrIp:e.cidrIp};await c.mutateAsync(t),p(),r(!1)},t[3]=a,t[4]=c,t[5]=r,t[6]=x,t[7]=p,t[8]=S):S=t[8];let C=S,ue=i===`ingress`?`Inbound`:`Outbound`,w;t[9]===ue?w=t[10]:(w=(0,k.jsx)(oe,{children:(0,k.jsxs)(ne,{children:[`Add `,ue,` Rule`]})}),t[9]=ue,t[10]=w);let T;t[11]===c.error?T=t[12]:(T=c.error&&(0,k.jsx)(he,{error:c.error,msg:`Failed to add rule`}),t[11]=c.error,t[12]=T);let E;t[13]!==d||t[14]!==C?(E=d(C),t[13]=d,t[14]=C,t[15]=E):E=t[15];let D;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,k.jsx)(v,{children:(0,k.jsx)(`label`,{htmlFor:`ipProtocol`,children:`Protocol`})}),t[16]=D):D=t[16];let O;t[17]===u?O=t[18]:(O=(0,k.jsx)(pe,{control:u,name:`ipProtocol`,render:ve}),t[17]=u,t[18]=O);let A;t[19]===m.ipProtocol?A=t[20]:(A=(0,k.jsx)(y,{errors:[m.ipProtocol]}),t[19]=m.ipProtocol,t[20]=A);let j;t[21]!==O||t[22]!==A?(j=(0,k.jsxs)(b,{children:[D,O,A]}),t[21]=O,t[22]=A,t[23]=j):j=t[23];let M;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,k.jsx)(v,{children:(0,k.jsx)(`label`,{htmlFor:`fromPort`,children:`From Port`})}),t[24]=M):M=t[24];let N=!!m.fromPort,P;t[25]===f?P=t[26]:(P=f(`fromPort`,{valueAsNumber:!0}),t[25]=f,t[26]=P);let F;t[27]!==x||t[28]!==N||t[29]!==P?(F=(0,k.jsx)(_,{"aria-invalid":N,disabled:x,id:`fromPort`,type:`number`,...P}),t[27]=x,t[28]=N,t[29]=P,t[30]=F):F=t[30];let I;t[31]===m.fromPort?I=t[32]:(I=(0,k.jsx)(y,{errors:[m.fromPort]}),t[31]=m.fromPort,t[32]=I);let L;t[33]!==F||t[34]!==I?(L=(0,k.jsxs)(b,{children:[M,F,I]}),t[33]=F,t[34]=I,t[35]=L):L=t[35];let ye;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(ye=(0,k.jsx)(v,{children:(0,k.jsx)(`label`,{htmlFor:`toPort`,children:`To Port`})}),t[36]=ye):ye=t[36];let be=!!m.toPort,R;t[37]===f?R=t[38]:(R=f(`toPort`,{valueAsNumber:!0}),t[37]=f,t[38]=R);let z;t[39]!==x||t[40]!==be||t[41]!==R?(z=(0,k.jsx)(_,{"aria-invalid":be,disabled:x,id:`toPort`,type:`number`,...R}),t[39]=x,t[40]=be,t[41]=R,t[42]=z):z=t[42];let B;t[43]===m.toPort?B=t[44]:(B=(0,k.jsx)(y,{errors:[m.toPort]}),t[43]=m.toPort,t[44]=B);let V;t[45]!==z||t[46]!==B?(V=(0,k.jsxs)(b,{children:[ye,z,B]}),t[45]=z,t[46]=B,t[47]=V):V=t[47];let H;t[48]!==L||t[49]!==V?(H=(0,k.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[L,V]}),t[48]=L,t[49]=V,t[50]=H):H=t[50];let xe=i===`ingress`?`Source`:`Destination`,U;t[51]===xe?U=t[52]:(U=(0,k.jsx)(v,{children:(0,k.jsxs)(`label`,{htmlFor:`cidrIp`,children:[xe,` CIDR`]})}),t[51]=xe,t[52]=U);let Se=!!m.cidrIp,W;t[53]===f?W=t[54]:(W=f(`cidrIp`),t[53]=f,t[54]=W);let G;t[55]!==Se||t[56]!==W?(G=(0,k.jsx)(_,{"aria-invalid":Se,id:`cidrIp`,placeholder:`0.0.0.0/0`,...W}),t[55]=Se,t[56]=W,t[57]=G):G=t[57];let K;t[58]===m.cidrIp?K=t[59]:(K=(0,k.jsx)(y,{errors:[m.cidrIp]}),t[58]=m.cidrIp,t[59]=K);let q;t[60]!==U||t[61]!==G||t[62]!==K?(q=(0,k.jsxs)(b,{children:[U,G,K]}),t[60]=U,t[61]=G,t[62]=K,t[63]=q):q=t[63];let J;t[64]!==j||t[65]!==H||t[66]!==q||t[67]!==E?(J=(0,k.jsxs)(`form`,{className:`space-y-4`,id:`add-rule-form`,onSubmit:E,children:[j,H,q]}),t[64]=j,t[65]=H,t[66]=q,t[67]=E,t[68]=J):J=t[68];let Y;t[69]!==c||t[70]!==p?(Y=(0,k.jsx)(ae,{onClick:()=>{p(),c.reset()},children:`Cancel`}),t[69]=c,t[70]=p,t[71]=Y):Y=t[71];let Ce=c.isPending?`Adding…`:`Add Rule`,X;t[72]!==c.isPending||t[73]!==Ce?(X=(0,k.jsx)(re,{disabled:c.isPending,form:`add-rule-form`,type:`submit`,children:Ce}),t[72]=c.isPending,t[73]=Ce,t[74]=X):X=t[74];let Z;t[75]!==Y||t[76]!==X?(Z=(0,k.jsxs)(ie,{children:[Y,X]}),t[75]=Y,t[76]=X,t[77]=Z):Z=t[77];let Q;t[78]!==J||t[79]!==Z||t[80]!==w||t[81]!==T?(Q=(0,k.jsxs)(te,{children:[w,T,J,Z]}),t[78]=J,t[79]=Z,t[80]=w,t[81]=T,t[82]=Q):Q=t[82];let $;return t[83]!==r||t[84]!==n||t[85]!==Q?($=(0,k.jsx)(se,{onOpenChange:r,open:n,children:Q}),t[83]=r,t[84]=n,t[85]=Q,t[86]=$):$=t[86],$}function ve(e){let{field:t}=e;return(0,k.jsxs)(f,{onValueChange:e=>t.onChange(e),value:t.value,children:[(0,k.jsx)(d,{className:`w-full`,id:`ipProtocol`,children:(0,k.jsx)(c,{})}),(0,k.jsxs)(u,{children:[(0,k.jsx)(l,{value:`tcp`,children:`TCP`}),(0,k.jsx)(l,{value:`udp`,children:`UDP`}),(0,k.jsx)(l,{value:`icmp`,children:`ICMP`}),(0,k.jsx)(l,{value:`-1`,children:`All traffic (-1)`})]})]})}function N(e){return[...(e.IpRanges??[]).map(e=>({kind:`cidr`,value:e.CidrIp??``})),...(e.UserIdGroupPairs??[]).map(e=>({kind:`group`,value:e.GroupId??``}))]}function P({rule:e,source:t,groupId:n,direction:r}){let i=ue(),a=C(),o=r===`ingress`?i:a,s=async()=>{try{await o.mutateAsync({groupId:n,ipProtocol:e.IpProtocol??`-1`,fromPort:e.FromPort??-1,toPort:e.ToPort??-1,...t.kind===`group`?{sourceGroupId:t.value}:{cidrIp:t.value}})}catch{}},c=t.kind===`group`&&t.value===n?`${t.value} (this security group)`:t.value;return(0,k.jsxs)(`div`,{className:`space-y-0`,children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between border-b px-4 py-3 last:border-b-0`,children:[(0,k.jsxs)(`div`,{className:`grid flex-1 grid-cols-3 gap-4 text-sm`,children:[(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`span`,{className:`text-muted-foreground`,children:`Protocol: `}),A(e.IpProtocol)]}),(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`span`,{className:`text-muted-foreground`,children:`Port Range: `}),j(e.FromPort,e.ToPort,e.IpProtocol)]}),(0,k.jsxs)(`div`,{children:[(0,k.jsxs)(`span`,{className:`text-muted-foreground`,children:[r===`ingress`?`Source`:`Destination`,`:`,` `]}),c]})]}),(0,k.jsx)(g,{disabled:o.isPending,onClick:s,size:`icon-xs`,variant:`ghost`,children:(0,k.jsx)(m,{className:`size-3`})})]}),o.error&&(0,k.jsx)(`div`,{className:`px-4 pb-2`,children:(0,k.jsx)(he,{error:o.error,msg:`Failed to remove rule`})})]})}function F(){let{id:e}=h.useParams(),t=o(),{data:n}=i(x(e)),r=n.SecurityGroups?.[0],c=S(),[l,u]=(0,O.useState)(!1),[d,f]=(0,O.useState)(!1),[m,_]=(0,O.useState)(!1),v=async()=>{try{await c.mutateAsync(e),t({to:`/ec2/describe-security-groups`})}finally{u(!1)}};if(!r?.GroupId)return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(s,{to:`/ec2/describe-security-groups`,children:`Back to Security Groups`}),(0,k.jsx)(`p`,{className:`text-muted-foreground`,children:`Security group not found.`})]});let y=r.IpPermissions??[],b=r.IpPermissionsEgress??[];return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(s,{to:`/ec2/describe-security-groups`,children:`Back to Security Groups`}),c.error&&(0,k.jsx)(he,{error:c.error,msg:`Failed to delete security group`}),(0,k.jsxs)(`div`,{className:`space-y-6`,children:[(0,k.jsx)(w,{actions:(0,k.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,k.jsxs)(g,{onClick:()=>u(!0),size:`sm`,variant:`destructive`,children:[(0,k.jsx)(ee,{className:`size-4`}),`Delete`]})}),subtitle:`Security Group Details`,title:r.GroupName?`${r.GroupId} (${r.GroupName})`:r.GroupId}),(0,k.jsxs)(E,{children:[(0,k.jsx)(E.Header,{children:`Security Group Information`}),(0,k.jsxs)(E.Content,{children:[(0,k.jsx)(D,{label:`Group ID`,value:r.GroupId}),(0,k.jsx)(D,{label:`Group Name`,value:r.GroupName}),(0,k.jsx)(D,{label:`Description`,value:r.Description}),(0,k.jsx)(D,{label:`VPC ID`,value:r.VpcId?(0,k.jsx)(a,{className:`text-primary hover:underline`,params:{id:r.VpcId},to:`/ec2/describe-vpcs/$id`,children:r.VpcId}):`—`}),(0,k.jsx)(D,{label:`Owner ID`,value:r.OwnerId})]})]}),(0,k.jsxs)(E,{children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between border-b p-4`,children:[(0,k.jsxs)(`h2`,{className:`font-semibold`,children:[`Inbound Rules (`,y.length,`)`]}),(0,k.jsxs)(g,{onClick:()=>f(!0),size:`sm`,variant:`outline`,children:[(0,k.jsx)(p,{className:`size-4`}),`Add Rule`]})]}),y.length>0?(0,k.jsx)(`div`,{children:y.flatMap(e=>N(e).map(t=>(0,k.jsx)(P,{direction:`ingress`,groupId:r.GroupId??``,rule:e,source:t},`${e.IpProtocol}-${e.FromPort}-${e.ToPort}-${t.kind}-${t.value}`)))}):(0,k.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:`No inbound rules.`})]}),(0,k.jsxs)(E,{children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between border-b p-4`,children:[(0,k.jsxs)(`h2`,{className:`font-semibold`,children:[`Outbound Rules (`,b.length,`)`]}),(0,k.jsxs)(g,{onClick:()=>_(!0),size:`sm`,variant:`outline`,children:[(0,k.jsx)(p,{className:`size-4`}),`Add Rule`]})]}),b.length>0?(0,k.jsx)(`div`,{children:b.flatMap(e=>N(e).map(t=>(0,k.jsx)(P,{direction:`egress`,groupId:r.GroupId??``,rule:e,source:t},`${e.IpProtocol}-${e.FromPort}-${e.ToPort}-${t.kind}-${t.value}`)))}):(0,k.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:`No outbound rules.`})]})]}),(0,k.jsx)(T,{description:`Are you sure you want to delete the security group "${r.GroupId}"? This action cannot be undone.`,isPending:c.isPending,onConfirm:v,onOpenChange:u,open:l,title:`Delete Security Group`}),(0,k.jsx)(M,{direction:`ingress`,groupId:r.GroupId,onOpenChange:f,open:d}),(0,k.jsx)(M,{direction:`egress`,groupId:r.GroupId,onOpenChange:_,open:m})]})}export{F as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id33.js b/spinifex/services/spinifexui/frontend/dist/assets/_id33.js index 5b655d0f2..6d0dcfc83 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id33.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id33.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{Qt as o,tn as ee}from"./cluster-config.js";import{t as s}from"./createLucideIcon.js";import{t as c}from"./back-link.js";import{n as te,t as l}from"./_id.js";import{c as u,i as d,n as f,s as p,t as m}from"./select.js";import{t as h}from"./trash-2.js";import{n as g,t as _}from"./button.js";import{t as ne}from"./input.js";import{a as v,t as y}from"./field.js";import{a as b,i as x,l as S,n as C,o as w,r as T,s as E,t as D}from"./alert-dialog.js";import{k as O,l as k}from"./ec2.js";import{H as A,R as j,s as re}from"./ec22.js";import{t as M}from"./error-banner.js";import{t as ie}from"./page-heading.js";import{t as ae}from"./delete-confirmation-dialog.js";import{n as N,t as P}from"./detail-row.js";import{t as F}from"./state-badge.js";var I=s(`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=s(`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}=l.useParams(),t=a(),{data:n}=r(O(e)),{data:s}=r(k),B=n.Volumes?.[0],V=j(),H=re(),U=A(),[W,G]=(0,R.useState)(null),[K,q]=(0,R.useState)(``),[J,Y]=(0,R.useState)(``),[X,Z]=(0,R.useState)(!1),oe=s.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)(c,{to:`/ec2/describe-volumes`,children:`Back to volumes`}),V.error&&(0,z.jsx)(M,{error:V.error,msg:`Failed to delete volume`}),H.error&&(0,z.jsx)(M,{error:H.error,msg:`Failed to attach volume`}),U.error&&(0,z.jsx)(M,{error:U.error,msg:`Failed to detach volume`}),(0,z.jsxs)(`div`,{className:`space-y-6`,children:[(0,z.jsx)(ie,{actions:(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsxs)(_,{disabled:!Q,onClick:()=>G(`delete`),size:`sm`,variant:`destructive`,children:[(0,z.jsx)(h,{className:`size-4`}),`Delete`]}),Q?(0,z.jsx)(i,{className:g({variant:`outline`}),params:{id:B.VolumeId},to:`/ec2/modify-volume/$id`,children:`Resize Volume`}):(0,z.jsx)(_,{disabled:!0,variant:`outline`,children:`Resize Volume`}),Q?(0,z.jsxs)(_,{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)(_,{onClick:()=>G(`detach`),size:`sm`,variant:`outline`,children:[(0,z.jsx)(I,{className:`size-4`}),`Detach`]}):null,(0,z.jsxs)(i,{className:g({variant:`outline`,size:`sm`}),search:{volumeId:B.VolumeId},to:`/ec2/create-snapshot`,children:[(0,z.jsx)(te,{className:`size-4`}),`Create Snapshot`]}),(0,z.jsx)(F,{state:B.State})]}),subtitle:`Volume Details`,title:B.VolumeId}),(0,z.jsxs)(N,{children:[(0,z.jsx)(N.Header,{children:`Volume Information`}),(0,z.jsxs)(N.Content,{children:[(0,z.jsx)(P,{label:`Volume ID`,value:B.VolumeId}),(0,z.jsx)(P,{label:`Size`,value:`${B.Size} GiB`}),(0,z.jsx)(P,{label:`Volume Type`,value:B.VolumeType}),(0,z.jsx)(P,{label:`State`,value:B.State}),(0,z.jsx)(P,{label:`Availability Zone`,value:B.AvailabilityZone}),(0,z.jsx)(P,{label:`Create Time`,value:o(B.CreateTime)}),(0,z.jsx)(P,{label:`Encrypted`,value:B.Encrypted?`Yes`:`No`}),(0,z.jsx)(P,{label:`KMS Key ID`,value:B.KmsKeyId})]})]}),B.Attachments&&B.Attachments.length>0&&(0,z.jsxs)(N,{children:[(0,z.jsx)(N.Header,{children:`Attachments`}),B.Attachments.map(e=>(0,z.jsxs)(N.Content,{children:[(0,z.jsx)(P,{label:`Instance ID`,value:e.InstanceId?(0,z.jsx)(i,{className:`text-primary hover:underline`,params:{id:e.InstanceId},to:`/ec2/describe-instances/$id`,children:e.InstanceId}):void 0}),(0,z.jsx)(P,{label:`Device`,value:e.Device}),(0,z.jsx)(P,{label:`Status`,value:e.State}),(0,z.jsx)(P,{label:`Attach Time`,value:o(e.AttachTime)}),(0,z.jsx)(P,{label:`Delete on Termination`,value:e.DeleteOnTermination?`Yes`:`No`})]},e.InstanceId))]})]}),(0,z.jsx)(ae,{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)(D,{onOpenChange:e=>{e||($(),q(``),Y(``))},open:W===`attach`,children:(0,z.jsxs)(x,{children:[(0,z.jsxs)(E,{children:[(0,z.jsx)(S,{children:`Attach Volume`}),(0,z.jsx)(b,{children:`Attach this volume to a running instance.`})]}),(0,z.jsxs)(y,{children:[(0,z.jsx)(v,{children:(0,z.jsx)(`label`,{htmlFor:`attachInstance`,children:`Instance`})}),(0,z.jsxs)(m,{onValueChange:e=>q(e??``),value:K,children:[(0,z.jsx)(p,{className:`w-full`,id:`attachInstance`,children:(0,z.jsx)(u,{placeholder:`Select an instance`})}),(0,z.jsx)(f,{children:oe.map(e=>{let t=ee(e.Tags);return(0,z.jsxs)(d,{value:e.InstanceId??``,children:[e.InstanceId,t?` (${t})`:``]},e.InstanceId)})})]})]}),(0,z.jsxs)(y,{children:[(0,z.jsx)(v,{children:(0,z.jsx)(`label`,{htmlFor:`attachDevice`,children:`Device (optional)`})}),(0,z.jsx)(ne,{id:`attachDevice`,onChange:e=>Y(e.target.value),placeholder:`/dev/sdf`,value:J})]}),(0,z.jsxs)(w,{children:[(0,z.jsx)(T,{children:`Cancel`}),(0,z.jsx)(C,{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)(D,{onOpenChange:e=>{e||($(),Z(!1))},open:W===`detach`,children:(0,z.jsxs)(x,{children:[(0,z.jsxs)(E,{children:[(0,z.jsx)(S,{children:`Detach Volume`}),(0,z.jsxs)(b,{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`,{"aria-label":`Force detach`,checked:X,onChange:e=>Z(e.target.checked),type:`checkbox`}),`Force detach`]}),(0,z.jsxs)(w,{children:[(0,z.jsx)(T,{children:`Cancel`}),(0,z.jsx)(C,{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)(c,{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"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as ee}from"./useNavigate.js";import{Qt as a,t as te}from"./cluster-config.js";import{t as o}from"./back-link.js";import{t as ne}from"./copy.js";import{n as re,t as s}from"./_id.js";import{t as c}from"./trash-2.js";import{t as l}from"./button.js";import{t as u}from"./input.js";import{a as d,t as f}from"./field.js";import{a as p,i as m,l as h,n as g,o as _,r as v,s as y,t as b}from"./alert-dialog.js";import{T as x,b as S}from"./ec2.js";import{I as C,Q as w,u as T}from"./ec22.js";import{t as E}from"./error-banner.js";import{t as D}from"./page-heading.js";import{t as O}from"./delete-confirmation-dialog.js";import{n as k,t as A}from"./detail-row.js";import{t as ie}from"./state-badge.js";import{t as ae}from"./textarea.js";var j=e(n()),M=t();function N(){let{id:e}=s.useParams(),t=ee(),{data:n}=r(x(e)),{data:N}=r(S),P=n.Snapshots?.[0],F=C(),I=T(),L=w(),[R,z]=(0,j.useState)(!1),[B,V]=(0,j.useState)(!1),[H,U]=(0,j.useState)(``),[W,G]=(0,j.useState)(!1),[K,q]=(0,j.useState)(``),[J,Y]=(0,j.useState)(``),[X,Z]=(0,j.useState)(null),oe=N.Regions?.[0]?.RegionName??te(),Q=P?.State===`completed`,se=P?.State===`completed`;function ce(e){e||(q(``),Y(``),Z(null)),G(e)}async function le(){try{let t=await L.mutateAsync({snapshotId:e,name:K,description:J||void 0});Z(t.ImageId??null),q(``),Y(``)}catch{}}let $=async()=>{try{await F.mutateAsync(e),t({to:`/ec2/describe-snapshots`})}finally{z(!1)}},ue=async()=>{try{await I.mutateAsync({sourceSnapshotId:e,sourceRegion:oe,description:H||void 0}),V(!1),U(``)}catch{}};if(!P?.SnapshotId)return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(o,{to:`/ec2/describe-snapshots`,children:`Back to snapshots`}),(0,M.jsx)(`p`,{className:`text-muted-foreground`,children:`Snapshot not found.`})]});let de=a(P.StartTime);return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(o,{to:`/ec2/describe-snapshots`,children:`Back to snapshots`}),F.error&&(0,M.jsx)(E,{error:F.error,msg:`Failed to delete snapshot`}),I.error&&(0,M.jsx)(E,{error:I.error,msg:`Failed to copy snapshot`}),L.error&&(0,M.jsx)(E,{error:L.error,msg:`Failed to register image`}),(0,M.jsxs)(`div`,{className:`space-y-6`,children:[(0,M.jsx)(D,{actions:(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxs)(l,{disabled:!Q,onClick:()=>z(!0),size:`sm`,variant:`destructive`,children:[(0,M.jsx)(c,{className:`size-4`}),`Delete`]}),(0,M.jsxs)(l,{disabled:!Q,onClick:()=>V(!0),size:`sm`,variant:`outline`,children:[(0,M.jsx)(ne,{className:`size-4`}),`Copy Snapshot`]}),(0,M.jsxs)(l,{disabled:!se,onClick:()=>G(!0),size:`sm`,variant:`outline`,children:[(0,M.jsx)(re,{className:`size-4`}),`Register as AMI`]}),(0,M.jsx)(ie,{state:P.State})]}),subtitle:`Snapshot Details`,title:P.SnapshotId}),(0,M.jsxs)(k,{children:[(0,M.jsx)(k.Header,{children:`Snapshot Information`}),(0,M.jsxs)(k.Content,{children:[(0,M.jsx)(A,{label:`Snapshot ID`,value:P.SnapshotId}),(0,M.jsx)(A,{label:`Volume ID`,value:P.VolumeId?(0,M.jsx)(i,{className:`text-primary hover:underline`,params:{id:P.VolumeId},to:`/ec2/describe-volumes/$id`,children:P.VolumeId}):void 0}),(0,M.jsx)(A,{label:`Volume Size`,value:`${P.VolumeSize} GiB`}),(0,M.jsx)(A,{label:`State`,value:P.State}),(0,M.jsx)(A,{label:`Description`,value:P.Description}),(0,M.jsx)(A,{label:`Progress`,value:P.Progress}),(0,M.jsx)(A,{label:`Start Time`,value:de}),(0,M.jsx)(A,{label:`Owner ID`,value:P.OwnerId}),(0,M.jsx)(A,{label:`Encrypted`,value:P.Encrypted?`Yes`:`No`})]})]})]}),(0,M.jsx)(O,{description:`Are you sure you want to delete the snapshot "${P.SnapshotId}"? This action cannot be undone.`,isPending:F.isPending,onConfirm:$,onOpenChange:z,open:R,title:`Delete Snapshot`}),(0,M.jsx)(b,{onOpenChange:V,open:B,children:(0,M.jsxs)(m,{children:[(0,M.jsxs)(y,{children:[(0,M.jsx)(h,{children:`Copy Snapshot`}),(0,M.jsx)(p,{children:`Create a copy of this snapshot in the current region.`})]}),(0,M.jsxs)(f,{children:[(0,M.jsx)(d,{children:(0,M.jsx)(`label`,{htmlFor:`copyDescription`,children:`Description (optional)`})}),(0,M.jsx)(u,{id:`copyDescription`,onChange:e=>U(e.target.value),placeholder:`Description for the snapshot copy`,value:H})]}),(0,M.jsxs)(_,{children:[(0,M.jsx)(v,{children:`Cancel`}),(0,M.jsx)(g,{disabled:I.isPending,onClick:ue,children:I.isPending?`Copying…`:`Copy Snapshot`})]})]})}),(0,M.jsx)(b,{onOpenChange:ce,open:W,children:(0,M.jsxs)(m,{children:[(0,M.jsxs)(y,{children:[(0,M.jsx)(h,{children:X?`Image Registered`:`Register as AMI`}),(0,M.jsx)(p,{children:X?(0,M.jsxs)(M.Fragment,{children:[`AMI`,` `,(0,M.jsx)(i,{className:`text-primary hover:underline`,params:{id:X},to:`/ec2/describe-images/$id`,children:X}),` `,`was registered successfully.`]}):`Create an AMI from snapshot "${e}".`})]}),!X&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(f,{children:[(0,M.jsx)(d,{children:(0,M.jsx)(`label`,{htmlFor:`registerName`,children:`Name`})}),(0,M.jsx)(u,{id:`registerName`,onChange:e=>q(e.target.value),placeholder:`my-image`,value:K})]}),(0,M.jsxs)(f,{children:[(0,M.jsx)(d,{children:(0,M.jsx)(`label`,{htmlFor:`registerDescription`,children:`Description (optional)`})}),(0,M.jsx)(ae,{id:`registerDescription`,onChange:e=>Y(e.target.value),placeholder:`Optional description`,rows:2,value:J})]})]}),(0,M.jsxs)(_,{children:[(0,M.jsx)(v,{children:X?`Close`:`Cancel`}),!X&&(0,M.jsx)(g,{disabled:L.isPending||!K.trim(),onClick:le,children:L.isPending?`Registering…`:`Register AMI`})]})]})})]})}export{N as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id34.js b/spinifex/services/spinifexui/frontend/dist/assets/_id34.js index a93025d24..4f1edc499 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id34.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id34.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.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"./input.js";import{a as o,r as s,t as c}from"./field.js";import{k as l}from"./ec2.js";import{X as u}from"./ec22.js";import{i as d,t as f}from"./zod.js";import{t as p}from"./error-banner.js";import{t as m}from"./page-heading.js";import{y as h}from"./ec23.js";import{t as g}from"./form-actions.js";import{t as _}from"./_id16.js";var v=t(),y=e();function b(){let e=(0,v.c)(53),{id:t}=_.useParams(),b=r(),x;e[0]===t?x=e[1]:(x=l(t),e[0]=t,e[1]=x);let{data:S}=n(x),C=S.Volumes?.[0],w=C?.VolumeId,T=u(),E=C?.Size??1,D;e[2]===E?D=e[3]:(D=f(h.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}=d(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)(i,{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)(i,{params:{id:w},to:`/ec2/describe-volumes/$id`,children:`Back to volume`}),R=(0,y.jsx)(m,{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)(p,{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)(o,{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)(a,{"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)(s,{errors:[N.size]}),e[31]=N.size,e[32]=q);let J;e[33]!==K||e[34]!==q?(J=(0,y.jsxs)(c,{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=async()=>await 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)(g,{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"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{tn as o}from"./cluster-config.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{D as u}from"./ec2.js";import{L as d}from"./ec22.js";import{t as f}from"./error-banner.js";import{t as p}from"./page-heading.js";import{t as m}from"./_id13.js";import{t as h}from"./delete-confirmation-dialog.js";import{n as g,t as _}from"./detail-row.js";import{t as v}from"./state-badge.js";var y=e(n()),b=t();function x(){let{id:e}=m.useParams(),t=a(),{data:n}=r(u(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)(s,{to:`/ec2/describe-subnets`,children:`Back to Subnets`}),(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`Subnet not found.`})]});let E=o(x.Tags);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{to:`/ec2/describe-subnets`,children:`Back to Subnets`}),S.error&&(0,b.jsx)(f,{error:S.error,msg:`Failed to delete subnet`}),(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(p,{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)(v,{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)(i,{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)(h,{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/_id35.js b/spinifex/services/spinifexui/frontend/dist/assets/_id35.js index d8461a86d..46fd09c70 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id35.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id35.js @@ -1 +1 @@ -import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{tn as o}from"./cluster-config.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{O as u,j as d}from"./ec2.js";import{z as f}from"./ec22.js";import{t as p}from"./error-banner.js";import{t as m}from"./page-heading.js";import{t as h}from"./_id17.js";import{t as g}from"./delete-confirmation-dialog.js";import{n as _,t as v}from"./detail-row.js";import{t as y}from"./state-badge.js";var b=e(n()),x=t();function S(){let{id:e}=h.useParams(),t=a(),{data:n}=r(d(e)),{data:S}=r(u),C=n.Vpcs?.[0],w=f(),[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)(s,{to:`/ec2/describe-vpcs`,children:`Back to VPCs`}),(0,x.jsx)(`p`,{className:`text-muted-foreground`,children:`VPC not found.`})]});let k=o(C.Tags);return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(s,{to:`/ec2/describe-vpcs`,children:`Back to VPCs`}),w.error&&(0,x.jsx)(p,{error:w.error,msg:`Failed to delete VPC`}),(0,x.jsxs)(`div`,{className:`space-y-6`,children:[(0,x.jsx)(m,{actions:(0,x.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,x.jsxs)(l,{onClick:()=>E(!0),size:`sm`,variant:`destructive`,children:[(0,x.jsx)(c,{className:`size-4`}),`Delete`]}),(0,x.jsx)(y,{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)(i,{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)(g,{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,t as r}from"./compiler-runtime.js";import{t as i}from"./useQuery.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./useNavigate.js";import{Yt as s,tn as c}from"./cluster-config.js";import{t as l}from"./back-link.js";import{t as u}from"./trash-2.js";import{t as d}from"./button.js";import{t as f}from"./input.js";import{a as p,i as m,l as h,n as g,o as _,r as v,s as y,t as b}from"./alert-dialog.js";import{l as x}from"./ec2.js";import{_ as S,c as C,l as w,m as T,p as E}from"./elbv2.js";import{c as D,d as O,l as k,s as A}from"./elbv22.js";import{t as j}from"./error-banner.js";import{t as M}from"./page-heading.js";import{t as N}from"./_id14.js";import{t as P}from"./delete-confirmation-dialog.js";import{n as F,t as I}from"./detail-row.js";import{r as L,t as R}from"./attributes-editor.js";import{t as z}from"./tags-editor.js";import{i as B,n as V,r as H,t as U}from"./tabs.js";var W=r(),G=e(n(),1),K=t();function q(e){let t=e.trim();if(t===``)return;let n=Number(t);if(!(!Number.isInteger(n)||n<1||n>65535))return n}function J(e){let t=(0,W.c)(33),{open:n,onOpenChange:r,instances:i,defaultPort:a,isPending:o,onConfirm:s}=e,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l={},t[0]=l):l=t[0];let[u,d]=(0,G.useState)(l),[x,S]=(0,G.useState)(),[C,w]=(0,G.useState)(n);n!==C&&(w(n),n||(d({}),S(void 0)));let T;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(T=e=>{d(t=>{let n=t[e];return n?.checked?{...t,[e]:{...n,checked:!1}}:{...t,[e]:{checked:!0,port:n?.port??``}}})},t[1]=T):T=t[1];let E=T,D;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(D=(e,t)=>{d(n=>({...n,[e]:{checked:n[e]?.checked??!0,port:t}}))},t[2]=D):D=t[2];let O=D,k;t[3]!==s||t[4]!==u?(k=()=>{let e=Object.entries(u).filter(Y);if(e.length===0){S(`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=q(r.port);if(e===void 0){S(`Port for ${n} must be an integer between 1 and 65535.`);return}t.push({id:n,port:e})}S(void 0),s(t)},t[3]=s,t[4]=u,t[5]=k):k=t[5];let A=k,j;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,K.jsx)(h,{children:`Register targets`}),t[6]=j):j=t[6];let M;t[7]===a?M=t[8]:(M=(0,K.jsxs)(y,{children:[j,(0,K.jsxs)(p,{children:[`Select instances to register. Leave port blank to use the target group port (`,a,`).`]})]}),t[7]=a,t[8]=M);let N;t[9]!==a||t[10]!==i||t[11]!==u?(N=i.length===0?(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No instances available in this VPC.`}):(0,K.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=c(e.Tags);return(0,K.jsxs)(`div`,{className:`flex items-center gap-2 rounded px-1 py-1 text-xs hover:bg-accent`,children:[(0,K.jsx)(`input`,{"aria-label":`Register target ${t}`,checked:r,id:`register-target-${t}`,onChange:()=>E(t),type:`checkbox`}),(0,K.jsxs)(`label`,{className:`flex flex-1 items-center gap-2`,htmlFor:`register-target-${t}`,children:[(0,K.jsx)(`span`,{className:`font-mono`,children:t}),i&&(0,K.jsxs)(`span`,{className:`text-muted-foreground`,children:[`(`,i,`)`]}),(0,K.jsx)(`span`,{className:`text-muted-foreground`,children:e.State?.Name??``})]}),r&&(0,K.jsx)(f,{"aria-label":`Port override for ${t}`,className:`w-24`,onChange:e=>O(t,e.target.value),placeholder:String(a),value:n?.port??``})]},t)})}),t[9]=a,t[10]=i,t[11]=u,t[12]=N):N=t[12];let P;t[13]===x?P=t[14]:(P=x&&(0,K.jsx)(`p`,{className:`text-xs text-destructive`,role:`alert`,children:x}),t[13]=x,t[14]=P);let F;t[15]===o?F=t[16]:(F=(0,K.jsx)(v,{disabled:o,children:`Cancel`}),t[15]=o,t[16]=F);let I=o?`Registering…`:`Register`,L;t[17]!==A||t[18]!==o||t[19]!==I?(L=(0,K.jsx)(g,{disabled:o,onClick:A,children:I}),t[17]=A,t[18]=o,t[19]=I,t[20]=L):L=t[20];let R;t[21]!==L||t[22]!==F?(R=(0,K.jsxs)(_,{children:[F,L]}),t[21]=L,t[22]=F,t[23]=R):R=t[23];let z;t[24]!==R||t[25]!==M||t[26]!==N||t[27]!==P?(z=(0,K.jsxs)(m,{className:`sm:max-w-lg`,children:[M,N,P,R]}),t[24]=R,t[25]=M,t[26]=N,t[27]=P,t[28]=z):z=t[28];let B;return t[29]!==r||t[30]!==n||t[31]!==z?(B=(0,K.jsx)(b,{onOpenChange:r,open:n,children:z}),t[29]=r,t[30]=n,t[31]=z,t[32]=B):B=t[32],B}function Y(e){let[,t]=e;return t.checked&&t!==void 0}var X=5e3,Z=new Set([`healthy`]),Q=new Set([`unhealthy`,`unavailable`]),$=new Set([`initial`,`draining`]);function ee(e){return e&&Z.has(e)?`bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100`:e&&Q.has(e)?`bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-100`:e&&$.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 te(e){return`${e.Id??``}:${e.Port??``}`}function ne({targetGroupArn:e,vpcId:t,defaultPort:n,isActive:r}){let{data:o}=a(x),{data:c,isLoading:l,error:f}=i({...O(e),refetchInterval:r?X:!1,refetchIntervalInBackground:!1}),p=T(),m=w(),[h,g]=(0,G.useState)(!1),[_,v]=(0,G.useState)(),y=(o.Reservations?.flatMap(e=>e.Instances??[])??[]).filter(e=>e.VpcId===t&&e.State?.Name!==`terminated`),b=c?.TargetHealthDescriptions??[];return(0,K.jsxs)(`div`,{className:`space-y-3`,children:[p.error&&(0,K.jsx)(j,{error:p.error,msg:`Failed to register targets`}),m.error&&(0,K.jsx)(j,{error:m.error,msg:`Failed to deregister target`}),f&&(0,K.jsx)(j,{error:f,msg:`Failed to load target health`}),(0,K.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:l?`Loading target health…`:`${b.length} target${b.length===1?``:`s`}`}),(0,K.jsx)(d,{onClick:()=>g(!0),size:`sm`,children:`Register targets`})]}),b.length===0?(0,K.jsx)(`p`,{className:`text-muted-foreground`,children:`No targets registered.`}):(0,K.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,K.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,K.jsx)(`thead`,{children:(0,K.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Target`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Port`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`AZ`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Health`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Reason`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Description`}),(0,K.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,K.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,K.jsx)(`tbody`,{children:b.map(e=>{let t=e.Target??{Id:``},n=e.TargetHealth?.State;return(0,K.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,K.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:t.Id??``}),(0,K.jsx)(`td`,{className:`px-4 py-2`,children:t.Port??``}),(0,K.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:t.AvailabilityZone??``}),(0,K.jsx)(`td`,{className:`px-4 py-2`,children:(0,K.jsx)(`span`,{className:s(`rounded-full px-2 py-0.5 text-xs`,ee(n)),children:n??`unknown`})}),(0,K.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:e.TargetHealth?.Reason??``}),(0,K.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:e.TargetHealth?.Description??``}),(0,K.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,K.jsx)(d,{"aria-label":`Deregister ${t.Id}`,onClick:()=>v(t),size:`sm`,variant:`ghost`,children:(0,K.jsx)(u,{className:`size-4`})})})]},te(t))})})]})}),(0,K.jsx)(J,{defaultPort:n,instances:y,isPending:p.isPending,onConfirm:async t=>{try{await p.mutateAsync({targetGroupArn:e,targets:t}),g(!1)}catch{}},onOpenChange:g,open:h}),(0,K.jsx)(P,{description:_?`Deregister ${_.Id}${_.Port?`:${_.Port}`:``} from this target group?`:``,isPending:m.isPending,onConfirm:async()=>{if(_?.Id)try{await m.mutateAsync({targetGroupArn:e,targets:[{id:_.Id,port:_.Port}]})}finally{v(void 0)}},onOpenChange:e=>!e&&v(void 0),open:_!==void 0,title:`Deregister target`})]})}function re({arn:e}){let t=o(),{data:n}=a(k(e)),{data:r}=a(D(e)),{data:i}=a(A([e])),s=C(),c=E(),f=S(),[p,m]=(0,G.useState)(!1),[h,g]=(0,G.useState)(`overview`),_=n.TargetGroups?.[0];if(!_?.TargetGroupArn)return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(l,{to:`/ec2/describe-target-groups`,children:`Back to target groups`}),(0,K.jsx)(`p`,{className:`text-muted-foreground`,children:`Target group not found.`})]});let v=async()=>{try{await s.mutateAsync(e),t({to:`/ec2/describe-target-groups`})}finally{m(!1)}},y=r.Attributes??[],b=i?.TagDescriptions?.find(t=>t.ResourceArn===e)?.Tags??[];return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(l,{to:`/ec2/describe-target-groups`,children:`Back to target groups`}),s.error&&(0,K.jsx)(j,{error:s.error,msg:`Failed to delete target group`}),(0,K.jsxs)(`div`,{className:`space-y-6`,children:[(0,K.jsx)(M,{actions:(0,K.jsxs)(d,{onClick:()=>m(!0),size:`sm`,variant:`destructive`,children:[(0,K.jsx)(u,{className:`size-4`}),`Delete`]}),subtitle:`Target Group Details`,title:_.TargetGroupName??_.TargetGroupArn}),(0,K.jsxs)(U,{onValueChange:g,value:h,children:[(0,K.jsxs)(V,{children:[(0,K.jsx)(B,{value:`overview`,children:`Overview`}),(0,K.jsx)(B,{value:`targets`,children:`Targets`}),(0,K.jsx)(B,{value:`health-checks`,children:`Health checks`}),(0,K.jsx)(B,{value:`attributes`,children:`Attributes`}),(0,K.jsx)(B,{value:`tags`,children:`Tags`})]}),(0,K.jsx)(H,{value:`overview`,children:(0,K.jsxs)(F,{children:[(0,K.jsx)(F.Header,{children:`Target group`}),(0,K.jsxs)(F.Content,{children:[(0,K.jsx)(I,{label:`ARN`,value:_.TargetGroupArn}),(0,K.jsx)(I,{label:`Protocol`,value:_.Protocol}),(0,K.jsx)(I,{label:`Port`,value:_.Port?.toString()}),(0,K.jsx)(I,{label:`VPC`,value:_.VpcId}),(0,K.jsx)(I,{label:`Target type`,value:_.TargetType}),(0,K.jsx)(I,{label:`Protocol version`,value:_.ProtocolVersion}),(0,K.jsx)(I,{label:`IP address type`,value:_.IpAddressType})]})]})}),(0,K.jsx)(H,{value:`targets`,children:(0,K.jsx)(ne,{defaultPort:_.Port??80,isActive:h===`targets`,targetGroupArn:_.TargetGroupArn,vpcId:_.VpcId})}),(0,K.jsxs)(H,{value:`health-checks`,children:[(0,K.jsx)(`p`,{className:`mb-3 text-sm text-muted-foreground`,children:`Health-check settings are set at creation time. Editing lands in a future enhancement.`}),(0,K.jsxs)(F,{children:[(0,K.jsx)(F.Header,{children:`Health check`}),(0,K.jsxs)(F.Content,{children:[(0,K.jsx)(I,{label:`Enabled`,value:_.HealthCheckEnabled===void 0?void 0:String(_.HealthCheckEnabled)}),(0,K.jsx)(I,{label:`Protocol`,value:_.HealthCheckProtocol}),(0,K.jsx)(I,{label:`Path`,value:_.HealthCheckPath}),(0,K.jsx)(I,{label:`Port`,value:_.HealthCheckPort}),(0,K.jsx)(I,{label:`Interval (s)`,value:_.HealthCheckIntervalSeconds?.toString()}),(0,K.jsx)(I,{label:`Timeout (s)`,value:_.HealthCheckTimeoutSeconds?.toString()}),(0,K.jsx)(I,{label:`Healthy threshold`,value:_.HealthyThresholdCount?.toString()}),(0,K.jsx)(I,{label:`Unhealthy threshold`,value:_.UnhealthyThresholdCount?.toString()}),(0,K.jsx)(I,{label:`Matcher (HTTP codes)`,value:_.Matcher?.HttpCode??_.Matcher?.GrpcCode})]})]})]}),(0,K.jsx)(H,{value:`attributes`,children:(0,K.jsx)(R,{attributes:y,error:c.error,isPending:c.isPending,isSuccess:c.isSuccess,onSubmit:t=>{c.mutate({targetGroupArn:e,attributes:t})},specs:L})}),(0,K.jsx)(H,{value:`tags`,children:(0,K.jsx)(z,{error:f.error,isPending:f.isPending,isSuccess:f.isSuccess,onSubmit:t=>f.mutate({resourceArn:e,tags:t,initialKeys:b.map(e=>e.Key??``).filter(e=>e.length>0)}),tags:b})})]})]}),(0,K.jsx)(P,{description:`Are you sure you want to delete target group "${_.TargetGroupName??_.TargetGroupArn}"? This action cannot be undone.`,isPending:s.isPending,onConfirm:v,onOpenChange:m,open:p,title:`Delete Target Group`})]})}function ie(){let e=(0,W.c)(2),{id:t}=N.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,K.jsx)(re,{arn:n}),e[0]=n,e[1]=r),r}export{ie as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id36.js b/spinifex/services/spinifexui/frontend/dist/assets/_id36.js index 4f6fe0e99..1aca04a3a 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/_id36.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id36.js @@ -1,17 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{$t as o,Qt as s,t as c}from"./cluster-config.js";import{t as l}from"./button.js";import{a as u,i as d,l as f,n as p,o as m,r as h,s as g,t as _}from"./alert-dialog.js";import{i as v,n as y,r as b,t as x}from"./ecr.js";import{a as S,c as C,l as w,o as T,r as E,s as D,t as O}from"./ecr2.js";import{t as k}from"./page-heading.js";import{r as A}from"./json.js";import{t as j}from"./_id18.js";import{t as M}from"./badge.js";import{i as N,n as P,r as F,t as I}from"./tabs.js";import{t as ee}from"./json-editor.js";var L=r(),R=e(n(),1),z=t(),B=`{ - "rules": [ - { - "rulePriority": 1, - "description": "Expire untagged images older than 14 days", - "selection": { - "tagStatus": "untagged", - "countType": "sinceImagePushed", - "countUnit": "days", - "countNumber": 14 - }, - "action": { "type": "expire" } - } - ] -}`;function te(e){let t=(0,L.c)(54),{repositoryName:n}=e,r;t[0]===n?r=t[1]:(r=x(n),t[0]=n,t[1]=r);let{data:a}=i(r),o=C(),s=E(),c=T(),[u,d]=(0,R.useState)(a??``),[f,p]=(0,R.useState)(a);a!==f&&(p(a),d(a??``));let m;t[2]!==u||t[3]!==o||t[4]!==n?(m=async function(){try{await o.mutateAsync({repositoryName:n,lifecyclePolicyText:u})}catch{}},t[2]=u,t[3]=o,t[4]=n,t[5]=m):m=t[5];let h=m,g;t[6]!==s||t[7]!==n?(g=async function(){try{await s.mutateAsync(n)}catch{}},t[6]=s,t[7]=n,t[8]=g):g=t[8];let _=g,v;t[9]!==c||t[10]!==n?(v=async function(){try{await c.mutateAsync(n)}catch{}},t[9]=c,t[10]=n,t[11]=v):v=t[11];let y=v,b;t[12]===u?b=t[13]:(b=u.trim(),t[12]=u,t[13]=b);let S=b,w;t[14]!==u||t[15]!==S.length?(w=S.length>0&&!A(u),t[14]=u,t[15]=S.length,t[16]=w):w=t[16];let D=w,O=o.error??s.error??c.error,k;t[17]===c.data?.previewResults?k=t[18]:(k=c.data?.previewResults??[],t[17]=c.data?.previewResults,t[18]=k);let j=k,M;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,z.jsx)(`h2`,{className:`text-sm font-medium`,children:`Lifecycle policy`}),t[19]=M):M=t[19];let N=s.isPending||!a,P=s.isPending?`Deleting…`:`Delete`,F;t[20]!==_||t[21]!==P||t[22]!==N?(F=(0,z.jsx)(l,{disabled:N,onClick:_,size:`sm`,variant:`destructive`,children:P}),t[20]=_,t[21]=P,t[22]=N,t[23]=F):F=t[23];let I=c.isPending||!a,te=c.isPending?`Previewing…`:`Preview`,V;t[24]!==y||t[25]!==I||t[26]!==te?(V=(0,z.jsx)(l,{disabled:I,onClick:y,size:`sm`,variant:`outline`,children:te}),t[24]=y,t[25]=I,t[26]=te,t[27]=V):V=t[27];let H=o.isPending||S.length===0||D,U=o.isPending?`Saving…`:`Save`,W;t[28]!==h||t[29]!==H||t[30]!==U?(W=(0,z.jsx)(l,{disabled:H,onClick:h,size:`sm`,children:U}),t[28]=h,t[29]=H,t[30]=U,t[31]=W):W=t[31];let G;t[32]!==F||t[33]!==V||t[34]!==W?(G=(0,z.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[M,(0,z.jsxs)(`div`,{className:`flex gap-2`,children:[F,V,W]})]}),t[32]=F,t[33]=V,t[34]=W,t[35]=G):G=t[35];let K;t[36]!==u||t[37]!==D?(K=(0,z.jsx)(ee,{className:`text-xs`,error:D,onChange:d,placeholder:B,rows:14,value:u}),t[36]=u,t[37]=D,t[38]=K):K=t[38];let q;t[39]===D?q=t[40]:(q=D&&(0,z.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:`Lifecycle policy must be valid JSON.`}),t[39]=D,t[40]=q);let J;t[41]===O?J=t[42]:(J=O&&(0,z.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:O.message}),t[41]=O,t[42]=J);let Y;t[43]!==G||t[44]!==K||t[45]!==q||t[46]!==J?(Y=(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[G,K,q,J]}),t[43]=G,t[44]=K,t[45]=q,t[46]=J,t[47]=Y):Y=t[47];let X;t[48]!==c.isSuccess||t[49]!==j?(X=c.isSuccess&&(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsxs)(`h3`,{className:`mb-2 text-sm font-medium`,children:[`Preview: `,j.length,` image`,j.length===1?``:`s`,` would expire`]}),j.length>0?(0,z.jsx)(`div`,{className:`overflow-x-auto rounded-lg border`,children:(0,z.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,z.jsx)(`thead`,{children:(0,z.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Tags`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Digest`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Pushed`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Rule`})]})}),(0,z.jsx)(`tbody`,{children:j.map(ne)})]})}):(0,z.jsx)(`p`,{className:`text-muted-foreground`,children:`No images match this policy.`})]}),t[48]=c.isSuccess,t[49]=j,t[50]=X):X=t[50];let Z;return t[51]!==Y||t[52]!==X?(Z=(0,z.jsxs)(`div`,{className:`space-y-4`,children:[Y,X]}),t[51]=Y,t[52]=X,t[53]=Z):Z=t[53],Z}function ne(e){return(0,z.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,z.jsx)(`td`,{className:`px-4 py-2`,children:e.imageTags&&e.imageTags.length>0?e.imageTags.join(`, `):``}),(0,z.jsxs)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:[e.imageDigest?.slice(0,19),`…`]}),(0,z.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:s(e.imagePushedAt)}),(0,z.jsx)(`td`,{className:`px-4 py-2`,children:e.appliedRulePriority})]},e.imageDigest)}function V(e){let t=(0,L.c)(38),{repositoryName:n}=e,r;t[0]===n?r=t[1]:(r=v(n),t[0]=n,t[1]=r);let{data:a}=i(r),o=w(),s=S(),[c,u]=(0,R.useState)(a??``),[d,f]=(0,R.useState)(a);a!==d&&(f(a),u(a??``));let p;t[2]!==c||t[3]!==n||t[4]!==o?(p=async function(){try{await o.mutateAsync({repositoryName:n,policyText:c})}catch{}},t[2]=c,t[3]=n,t[4]=o,t[5]=p):p=t[5];let m=p,h;t[6]!==s||t[7]!==n?(h=async function(){try{await s.mutateAsync(n)}catch{}},t[6]=s,t[7]=n,t[8]=h):h=t[8];let g=h,_;t[9]===c?_=t[10]:(_=c.trim(),t[9]=c,t[10]=_);let y=_,b;t[11]!==c||t[12]!==y.length?(b=y.length>0&&!A(c),t[11]=c,t[12]=y.length,t[13]=b):b=t[13];let x=b,C=o.error??s.error,T;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,z.jsx)(`h2`,{className:`text-sm font-medium`,children:`Repository policy`}),t[14]=T):T=t[14];let E=s.isPending||!a,D=s.isPending?`Deleting…`:`Delete`,O;t[15]!==g||t[16]!==E||t[17]!==D?(O=(0,z.jsx)(l,{disabled:E,onClick:g,size:`sm`,variant:`destructive`,children:D}),t[15]=g,t[16]=E,t[17]=D,t[18]=O):O=t[18];let k=o.isPending||y.length===0||x,j=o.isPending?`Saving…`:`Save`,M;t[19]!==m||t[20]!==k||t[21]!==j?(M=(0,z.jsx)(l,{disabled:k,onClick:m,size:`sm`,children:j}),t[19]=m,t[20]=k,t[21]=j,t[22]=M):M=t[22];let N;t[23]!==M||t[24]!==O?(N=(0,z.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[T,(0,z.jsxs)(`div`,{className:`flex gap-2`,children:[O,M]})]}),t[23]=M,t[24]=O,t[25]=N):N=t[25];let P;t[26]!==c||t[27]!==x?(P=(0,z.jsx)(ee,{className:`text-xs`,error:x,onChange:u,placeholder:`No policy attached. Paste an IAM policy document to set one.`,rows:10,value:c}),t[26]=c,t[27]=x,t[28]=P):P=t[28];let F;t[29]===x?F=t[30]:(F=x&&(0,z.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:`Policy must be valid JSON.`}),t[29]=x,t[30]=F);let I;t[31]===C?I=t[32]:(I=C&&(0,z.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:C.message}),t[31]=C,t[32]=I);let B;return t[33]!==N||t[34]!==P||t[35]!==F||t[36]!==I?(B=(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[N,P,F,I]}),t[33]=N,t[34]=P,t[35]=F,t[36]=I,t[37]=B):B=t[37],B}function H(e){if(!e)return``;let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function U(e){let t=(0,L.c)(19),{repositoryName:n,repositoryUri:r}=e,[i,a]=(0,R.useState)(!1),o;t[0]===r?o=t[1]:(o=H(r),t[0]=r,t[1]=o);let s=o,u=r??`${s}/${n}`,d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=c(),t[2]=d):d=t[2];let f=`aws ecr get-login-password --region ${d} | docker login --username AWS --password-stdin ${s}`,p=`docker build -t ${n} .`,m=`docker tag ${n}:latest ${u}:latest`,h=`docker push ${u}:latest`,g;t[3]!==f||t[4]!==p||t[5]!==m||t[6]!==h?(g=[f,p,m,h],t[3]=f,t[4]=p,t[5]=m,t[6]=h,t[7]=g):g=t[7];let _=g,v;t[8]===_?v=t[9]:(v=async function(){await navigator.clipboard.writeText(_.join(` -`)),a(!0),setTimeout(()=>a(!1),2e3)},t[8]=_,t[9]=v);let y=v,b;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,z.jsx)(`h2`,{className:`text-sm font-medium`,children:`Push commands`}),t[10]=b):b=t[10];let x=i?`Copied`:`Copy`,S;t[11]!==y||t[12]!==x?(S=(0,z.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[b,(0,z.jsx)(l,{onClick:y,size:`sm`,variant:`outline`,children:x})]}),t[11]=y,t[12]=x,t[13]=S):S=t[13];let C=_.join(` -`),w;t[14]===C?w=t[15]:(w=(0,z.jsx)(`pre`,{className:`overflow-x-auto rounded bg-muted p-3 font-mono text-xs`,children:C}),t[14]=C,t[15]=w);let T;return t[16]!==S||t[17]!==w?(T=(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[S,w]}),t[16]=S,t[17]=w,t[18]=T):T=t[18],T}function W(e){let t=(0,L.c)(31),{repositoryName:n,repositoryUri:r,imageTagMutability:i}=e,a=D(),o=i===`IMMUTABLE`,s=o?`MUTABLE`:`IMMUTABLE`,c=o?`Make mutable`:`Make immutable`,u;t[0]!==s||t[1]!==a||t[2]!==n?(u=async function(){try{await a.mutateAsync({repositoryName:n,imageTagMutability:s})}catch{}},t[0]=s,t[1]=a,t[2]=n,t[3]=u):u=t[3];let d=u,f;t[4]!==n||t[5]!==r?(f=(0,z.jsx)(U,{repositoryName:n,repositoryUri:r}),t[4]=n,t[5]=r,t[6]=f):f=t[6];let p;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,z.jsx)(`h2`,{className:`text-sm font-medium`,children:`Tag immutability`}),t[7]=p):p=t[7];let m=o?`Tags cannot be overwritten to point at a different image.`:`Tags can be overwritten by a new push.`,h;t[8]===m?h=t[9]:(h=(0,z.jsxs)(`div`,{children:[p,(0,z.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:m})]}),t[8]=m,t[9]=h);let g=o?`default`:`outline`,_=o?`Immutable`:`Mutable`,v;t[10]!==g||t[11]!==_?(v=(0,z.jsx)(M,{variant:g,children:_}),t[10]=g,t[11]=_,t[12]=v):v=t[12];let y;t[13]!==h||t[14]!==v?(y=(0,z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[h,v]}),t[13]=h,t[14]=v,t[15]=y):y=t[15];let b;t[16]===a.error?b=t[17]:(b=a.error&&(0,z.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:a.error.message}),t[16]=a.error,t[17]=b);let x;t[18]===d?x=t[19]:(x=()=>void d(),t[18]=d,t[19]=x);let S=a.isPending?`Saving…`:c,C;t[20]!==a.isPending||t[21]!==x||t[22]!==S?(C=(0,z.jsx)(l,{className:`mt-3`,disabled:a.isPending,onClick:x,size:`sm`,variant:`outline`,children:S}),t[20]=a.isPending,t[21]=x,t[22]=S,t[23]=C):C=t[23];let w;t[24]!==b||t[25]!==C||t[26]!==y?(w=(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[y,b,C]}),t[24]=b,t[25]=C,t[26]=y,t[27]=w):w=t[27];let T;return t[28]!==w||t[29]!==f?(T=(0,z.jsxs)(`div`,{className:`space-y-6`,children:[f,w]}),t[28]=w,t[29]=f,t[30]=T):T=t[30],T}function G(){let e=(0,L.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsx)(`h2`,{className:`mb-2 text-sm font-medium`,children:`Image scanning`}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Vulnerability scanning is not supported by this registry. Pushed images are stored and served without scan findings.`})]}),e[0]=t):t=e[0],t}function K(e){let t=(0,L.c)(57),{repositoryName:n}=e,{data:r}=i(y),c;t[0]===n?c=t[1]:(c=b(n),t[0]=n,t[1]=c);let{data:v}=i(c),x=O(),[S,C]=(0,R.useState)(null),w;t[2]===r.repositories?w=t[3]:(w=r.repositories??[],t[2]=r.repositories,t[3]=w);let T;if(t[4]!==n||t[5]!==w){let e;t[7]===n?e=t[8]:(e=e=>e.repositoryName===n,t[7]=n,t[8]=e),T=w.find(e),t[4]=n,t[5]=w,t[6]=T}else T=t[6];let E=T,D;t[9]===v.imageDetails?D=t[10]:(D=v.imageDetails??[],t[9]=v.imageDetails,t[10]=D);let A=D,j;t[11]!==x||t[12]!==S||t[13]!==n?(j=async function(){if(S)try{await x.mutateAsync({repositoryName:n,imageIds:[{imageDigest:S}]}),C(null)}catch{}},t[11]=x,t[12]=S,t[13]=n,t[14]=j):j=t[14];let M=j,ee=E?.repositoryUri,B;t[15]!==n||t[16]!==ee?(B=(0,z.jsx)(k,{subtitle:ee,title:n}),t[15]=n,t[16]=ee,t[17]=B):B=t[17];let ne;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,z.jsx)(`div`,{className:`mb-4`,children:(0,z.jsx)(a,{className:`text-sm text-primary hover:underline`,to:`/ecr/list-repositories`,children:`← Back to repositories`})}),t[18]=ne):ne=t[18];let H;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,z.jsxs)(P,{children:[(0,z.jsx)(N,{value:`summary`,children:`Summary`}),(0,z.jsx)(N,{value:`images`,children:`Images`}),(0,z.jsx)(N,{value:`lifecycle`,children:`Lifecycle`}),(0,z.jsx)(N,{value:`scan`,children:`Scan`}),(0,z.jsx)(N,{value:`permissions`,children:`Permissions`})]}),t[19]=H):H=t[19];let U=E?.imageTagMutability,K=E?.repositoryUri,q;t[20]!==n||t[21]!==U||t[22]!==K?(q=(0,z.jsx)(F,{value:`summary`,children:(0,z.jsx)(W,{imageTagMutability:U,repositoryName:n,repositoryUri:K})}),t[20]=n,t[21]=U,t[22]=K,t[23]=q):q=t[23];let J;t[24]===A?J=t[25]:(J=(0,z.jsx)(F,{value:`images`,children:A.length>0?(0,z.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,z.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,z.jsx)(`thead`,{children:(0,z.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Tags`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Digest`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Size`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Pushed`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,z.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,z.jsx)(`tbody`,{children:A.map(e=>{if(!e.imageDigest)return null;let t=e.imageDigest;return(0,z.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,z.jsx)(`td`,{className:`px-4 py-2`,children:e.imageTags&&e.imageTags.length>0?e.imageTags.join(`, `):``}),(0,z.jsxs)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:[t.slice(0,19),`…`]}),(0,z.jsx)(`td`,{className:`px-4 py-2`,children:o(e.imageSizeInBytes??0)}),(0,z.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:s(e.imagePushedAt)}),(0,z.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,z.jsx)(l,{onClick:()=>C(t),size:`sm`,variant:`destructive`,children:`Delete`})})]},t)})})]})}):(0,z.jsx)(`p`,{className:`text-muted-foreground`,children:`No images pushed yet.`})}),t[24]=A,t[25]=J);let Y;t[26]===n?Y=t[27]:(Y=(0,z.jsx)(F,{value:`lifecycle`,children:(0,z.jsx)(te,{repositoryName:n})}),t[26]=n,t[27]=Y);let X;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,z.jsx)(F,{value:`scan`,children:(0,z.jsx)(G,{})}),t[28]=X):X=t[28];let Z;t[29]===n?Z=t[30]:(Z=(0,z.jsx)(F,{value:`permissions`,children:(0,z.jsx)(V,{repositoryName:n})}),t[29]=n,t[30]=Z);let Q;t[31]!==q||t[32]!==J||t[33]!==Y||t[34]!==Z?(Q=(0,z.jsxs)(I,{defaultValue:`summary`,children:[H,q,J,Y,X,Z]}),t[31]=q,t[32]=J,t[33]=Y,t[34]=Z,t[35]=Q):Q=t[35];let re;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(re=e=>!e&&C(null),t[36]=re):re=t[36];let ie=S!==null,ae;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,z.jsxs)(g,{children:[(0,z.jsx)(f,{children:`Delete image?`}),(0,z.jsx)(u,{children:`This permanently deletes the image manifest and any tags pointing at it. This cannot be undone.`})]}),t[37]=ae):ae=t[37];let $;t[38]===x.error?$=t[39]:($=x.error&&(0,z.jsx)(`p`,{className:`text-sm text-destructive`,children:x.error.message}),t[38]=x.error,t[39]=$);let oe;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,z.jsx)(h,{children:`Cancel`}),t[40]=oe):oe=t[40];let se;t[41]===M?se=t[42]:(se=e=>{e.preventDefault(),M()},t[41]=M,t[42]=se);let ce=x.isPending?`Deleting…`:`Delete`,le;t[43]!==x.isPending||t[44]!==se||t[45]!==ce?(le=(0,z.jsxs)(m,{children:[oe,(0,z.jsx)(p,{disabled:x.isPending,onClick:se,children:ce})]}),t[43]=x.isPending,t[44]=se,t[45]=ce,t[46]=le):le=t[46];let ue;t[47]!==$||t[48]!==le?(ue=(0,z.jsxs)(d,{children:[ae,$,le]}),t[47]=$,t[48]=le,t[49]=ue):ue=t[49];let de;t[50]!==ie||t[51]!==ue?(de=(0,z.jsx)(_,{onOpenChange:re,open:ie,children:ue}),t[50]=ie,t[51]=ue,t[52]=de):de=t[52];let fe;return t[53]!==Q||t[54]!==de||t[55]!==B?(fe=(0,z.jsxs)(z.Fragment,{children:[B,ne,Q,de]}),t[53]=Q,t[54]=de,t[55]=B,t[56]=fe):fe=t[56],fe}function q(){let e=(0,L.c)(2),{id:t}=j.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,z.jsx)(K,{repositoryName:n}),e[0]=n,e[1]=r),r}export{q 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"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{Qt as o,tn as ee}from"./cluster-config.js";import{t as s}from"./createLucideIcon.js";import{t as c}from"./back-link.js";import{t as te}from"./camera.js";import{c as l,i as u,n as d,s as f,t as p}from"./select.js";import{t as m}from"./trash-2.js";import{n as h,t as g}from"./button.js";import{t as _}from"./input.js";import{a as v,t as y}from"./field.js";import{a as b,i as x,l as S,n as C,o as w,r as T,s as E,t as D}from"./alert-dialog.js";import{k as O,l as k}from"./ec2.js";import{H as A,R as j,s as ne}from"./ec22.js";import{t as M}from"./error-banner.js";import{t as re}from"./page-heading.js";import{t as ie}from"./_id15.js";import{t as ae}from"./delete-confirmation-dialog.js";import{n as N,t as P}from"./detail-row.js";import{t as F}from"./state-badge.js";var I=s(`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=s(`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}=ie.useParams(),t=a(),{data:n}=r(O(e)),{data:s}=r(k),B=n.Volumes?.[0],V=j(),H=ne(),U=A(),[W,G]=(0,R.useState)(null),[K,q]=(0,R.useState)(``),[J,Y]=(0,R.useState)(``),[X,Z]=(0,R.useState)(!1),oe=s.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)(c,{to:`/ec2/describe-volumes`,children:`Back to volumes`}),V.error&&(0,z.jsx)(M,{error:V.error,msg:`Failed to delete volume`}),H.error&&(0,z.jsx)(M,{error:H.error,msg:`Failed to attach volume`}),U.error&&(0,z.jsx)(M,{error:U.error,msg:`Failed to detach volume`}),(0,z.jsxs)(`div`,{className:`space-y-6`,children:[(0,z.jsx)(re,{actions:(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsxs)(g,{disabled:!Q,onClick:()=>G(`delete`),size:`sm`,variant:`destructive`,children:[(0,z.jsx)(m,{className:`size-4`}),`Delete`]}),Q?(0,z.jsx)(i,{className:h({variant:`outline`}),params:{id:B.VolumeId},to:`/ec2/modify-volume/$id`,children:`Resize Volume`}):(0,z.jsx)(g,{disabled:!0,variant:`outline`,children:`Resize Volume`}),Q?(0,z.jsxs)(g,{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)(g,{onClick:()=>G(`detach`),size:`sm`,variant:`outline`,children:[(0,z.jsx)(I,{className:`size-4`}),`Detach`]}):null,(0,z.jsxs)(i,{className:h({variant:`outline`,size:`sm`}),search:{volumeId:B.VolumeId},to:`/ec2/create-snapshot`,children:[(0,z.jsx)(te,{className:`size-4`}),`Create Snapshot`]}),(0,z.jsx)(F,{state:B.State})]}),subtitle:`Volume Details`,title:B.VolumeId}),(0,z.jsxs)(N,{children:[(0,z.jsx)(N.Header,{children:`Volume Information`}),(0,z.jsxs)(N.Content,{children:[(0,z.jsx)(P,{label:`Volume ID`,value:B.VolumeId}),(0,z.jsx)(P,{label:`Size`,value:`${B.Size} GiB`}),(0,z.jsx)(P,{label:`Volume Type`,value:B.VolumeType}),(0,z.jsx)(P,{label:`State`,value:B.State}),(0,z.jsx)(P,{label:`Availability Zone`,value:B.AvailabilityZone}),(0,z.jsx)(P,{label:`Create Time`,value:o(B.CreateTime)}),(0,z.jsx)(P,{label:`Encrypted`,value:B.Encrypted?`Yes`:`No`}),(0,z.jsx)(P,{label:`KMS Key ID`,value:B.KmsKeyId})]})]}),B.Attachments&&B.Attachments.length>0&&(0,z.jsxs)(N,{children:[(0,z.jsx)(N.Header,{children:`Attachments`}),B.Attachments.map(e=>(0,z.jsxs)(N.Content,{children:[(0,z.jsx)(P,{label:`Instance ID`,value:e.InstanceId?(0,z.jsx)(i,{className:`text-primary hover:underline`,params:{id:e.InstanceId},to:`/ec2/describe-instances/$id`,children:e.InstanceId}):void 0}),(0,z.jsx)(P,{label:`Device`,value:e.Device}),(0,z.jsx)(P,{label:`Status`,value:e.State}),(0,z.jsx)(P,{label:`Attach Time`,value:o(e.AttachTime)}),(0,z.jsx)(P,{label:`Delete on Termination`,value:e.DeleteOnTermination?`Yes`:`No`})]},e.InstanceId))]})]}),(0,z.jsx)(ae,{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)(D,{onOpenChange:e=>{e||($(),q(``),Y(``))},open:W===`attach`,children:(0,z.jsxs)(x,{children:[(0,z.jsxs)(E,{children:[(0,z.jsx)(S,{children:`Attach Volume`}),(0,z.jsx)(b,{children:`Attach this volume to a running instance.`})]}),(0,z.jsxs)(y,{children:[(0,z.jsx)(v,{children:(0,z.jsx)(`label`,{htmlFor:`attachInstance`,children:`Instance`})}),(0,z.jsxs)(p,{onValueChange:e=>q(e??``),value:K,children:[(0,z.jsx)(f,{className:`w-full`,id:`attachInstance`,children:(0,z.jsx)(l,{placeholder:`Select an instance`})}),(0,z.jsx)(d,{children:oe.map(e=>{let t=ee(e.Tags);return(0,z.jsxs)(u,{value:e.InstanceId??``,children:[e.InstanceId,t?` (${t})`:``]},e.InstanceId)})})]})]}),(0,z.jsxs)(y,{children:[(0,z.jsx)(v,{children:(0,z.jsx)(`label`,{htmlFor:`attachDevice`,children:`Device (optional)`})}),(0,z.jsx)(_,{id:`attachDevice`,onChange:e=>Y(e.target.value),placeholder:`/dev/sdf`,value:J})]}),(0,z.jsxs)(w,{children:[(0,z.jsx)(T,{children:`Cancel`}),(0,z.jsx)(C,{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)(D,{onOpenChange:e=>{e||($(),Z(!1))},open:W===`detach`,children:(0,z.jsxs)(x,{children:[(0,z.jsxs)(E,{children:[(0,z.jsx)(S,{children:`Detach Volume`}),(0,z.jsxs)(b,{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`,{"aria-label":`Force detach`,checked:X,onChange:e=>Z(e.target.checked),type:`checkbox`}),`Force detach`]}),(0,z.jsxs)(w,{children:[(0,z.jsx)(T,{children:`Cancel`}),(0,z.jsx)(C,{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)(c,{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/_id37.js b/spinifex/services/spinifexui/frontend/dist/assets/_id37.js new file mode 100644 index 000000000..a93025d24 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id37.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"./useNavigate.js";import{t as i}from"./back-link.js";import{t as a}from"./input.js";import{a as o,r as s,t as c}from"./field.js";import{k as l}from"./ec2.js";import{X as u}from"./ec22.js";import{i as d,t as f}from"./zod.js";import{t as p}from"./error-banner.js";import{t as m}from"./page-heading.js";import{y as h}from"./ec23.js";import{t as g}from"./form-actions.js";import{t as _}from"./_id16.js";var v=t(),y=e();function b(){let e=(0,v.c)(53),{id:t}=_.useParams(),b=r(),x;e[0]===t?x=e[1]:(x=l(t),e[0]=t,e[1]=x);let{data:S}=n(x),C=S.Volumes?.[0],w=C?.VolumeId,T=u(),E=C?.Size??1,D;e[2]===E?D=e[3]:(D=f(h.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}=d(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)(i,{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)(i,{params:{id:w},to:`/ec2/describe-volumes/$id`,children:`Back to volume`}),R=(0,y.jsx)(m,{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)(p,{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)(o,{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)(a,{"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)(s,{errors:[N.size]}),e[31]=N.size,e[32]=q);let J;e[33]!==K||e[34]!==q?(J=(0,y.jsxs)(c,{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=async()=>await 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)(g,{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/_id38.js b/spinifex/services/spinifexui/frontend/dist/assets/_id38.js new file mode 100644 index 000000000..d8461a86d --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id38.js @@ -0,0 +1 @@ +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./useSuspenseQuery.js";import{t as i}from"./link.js";import{t as a}from"./useNavigate.js";import{tn as o}from"./cluster-config.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{O as u,j as d}from"./ec2.js";import{z as f}from"./ec22.js";import{t as p}from"./error-banner.js";import{t as m}from"./page-heading.js";import{t as h}from"./_id17.js";import{t as g}from"./delete-confirmation-dialog.js";import{n as _,t as v}from"./detail-row.js";import{t as y}from"./state-badge.js";var b=e(n()),x=t();function S(){let{id:e}=h.useParams(),t=a(),{data:n}=r(d(e)),{data:S}=r(u),C=n.Vpcs?.[0],w=f(),[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)(s,{to:`/ec2/describe-vpcs`,children:`Back to VPCs`}),(0,x.jsx)(`p`,{className:`text-muted-foreground`,children:`VPC not found.`})]});let k=o(C.Tags);return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(s,{to:`/ec2/describe-vpcs`,children:`Back to VPCs`}),w.error&&(0,x.jsx)(p,{error:w.error,msg:`Failed to delete VPC`}),(0,x.jsxs)(`div`,{className:`space-y-6`,children:[(0,x.jsx)(m,{actions:(0,x.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,x.jsxs)(l,{onClick:()=>E(!0),size:`sm`,variant:`destructive`,children:[(0,x.jsx)(c,{className:`size-4`}),`Delete`]}),(0,x.jsx)(y,{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)(i,{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)(g,{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/_id39.js b/spinifex/services/spinifexui/frontend/dist/assets/_id39.js new file mode 100644 index 000000000..4f6fe0e99 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id39.js @@ -0,0 +1,17 @@ +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as i}from"./useSuspenseQuery.js";import{t as a}from"./link.js";import{$t as o,Qt as s,t as c}from"./cluster-config.js";import{t as l}from"./button.js";import{a as u,i as d,l as f,n as p,o as m,r as h,s as g,t as _}from"./alert-dialog.js";import{i as v,n as y,r as b,t as x}from"./ecr.js";import{a as S,c as C,l as w,o as T,r as E,s as D,t as O}from"./ecr2.js";import{t as k}from"./page-heading.js";import{r as A}from"./json.js";import{t as j}from"./_id18.js";import{t as M}from"./badge.js";import{i as N,n as P,r as F,t as I}from"./tabs.js";import{t as ee}from"./json-editor.js";var L=r(),R=e(n(),1),z=t(),B=`{ + "rules": [ + { + "rulePriority": 1, + "description": "Expire untagged images older than 14 days", + "selection": { + "tagStatus": "untagged", + "countType": "sinceImagePushed", + "countUnit": "days", + "countNumber": 14 + }, + "action": { "type": "expire" } + } + ] +}`;function te(e){let t=(0,L.c)(54),{repositoryName:n}=e,r;t[0]===n?r=t[1]:(r=x(n),t[0]=n,t[1]=r);let{data:a}=i(r),o=C(),s=E(),c=T(),[u,d]=(0,R.useState)(a??``),[f,p]=(0,R.useState)(a);a!==f&&(p(a),d(a??``));let m;t[2]!==u||t[3]!==o||t[4]!==n?(m=async function(){try{await o.mutateAsync({repositoryName:n,lifecyclePolicyText:u})}catch{}},t[2]=u,t[3]=o,t[4]=n,t[5]=m):m=t[5];let h=m,g;t[6]!==s||t[7]!==n?(g=async function(){try{await s.mutateAsync(n)}catch{}},t[6]=s,t[7]=n,t[8]=g):g=t[8];let _=g,v;t[9]!==c||t[10]!==n?(v=async function(){try{await c.mutateAsync(n)}catch{}},t[9]=c,t[10]=n,t[11]=v):v=t[11];let y=v,b;t[12]===u?b=t[13]:(b=u.trim(),t[12]=u,t[13]=b);let S=b,w;t[14]!==u||t[15]!==S.length?(w=S.length>0&&!A(u),t[14]=u,t[15]=S.length,t[16]=w):w=t[16];let D=w,O=o.error??s.error??c.error,k;t[17]===c.data?.previewResults?k=t[18]:(k=c.data?.previewResults??[],t[17]=c.data?.previewResults,t[18]=k);let j=k,M;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,z.jsx)(`h2`,{className:`text-sm font-medium`,children:`Lifecycle policy`}),t[19]=M):M=t[19];let N=s.isPending||!a,P=s.isPending?`Deleting…`:`Delete`,F;t[20]!==_||t[21]!==P||t[22]!==N?(F=(0,z.jsx)(l,{disabled:N,onClick:_,size:`sm`,variant:`destructive`,children:P}),t[20]=_,t[21]=P,t[22]=N,t[23]=F):F=t[23];let I=c.isPending||!a,te=c.isPending?`Previewing…`:`Preview`,V;t[24]!==y||t[25]!==I||t[26]!==te?(V=(0,z.jsx)(l,{disabled:I,onClick:y,size:`sm`,variant:`outline`,children:te}),t[24]=y,t[25]=I,t[26]=te,t[27]=V):V=t[27];let H=o.isPending||S.length===0||D,U=o.isPending?`Saving…`:`Save`,W;t[28]!==h||t[29]!==H||t[30]!==U?(W=(0,z.jsx)(l,{disabled:H,onClick:h,size:`sm`,children:U}),t[28]=h,t[29]=H,t[30]=U,t[31]=W):W=t[31];let G;t[32]!==F||t[33]!==V||t[34]!==W?(G=(0,z.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[M,(0,z.jsxs)(`div`,{className:`flex gap-2`,children:[F,V,W]})]}),t[32]=F,t[33]=V,t[34]=W,t[35]=G):G=t[35];let K;t[36]!==u||t[37]!==D?(K=(0,z.jsx)(ee,{className:`text-xs`,error:D,onChange:d,placeholder:B,rows:14,value:u}),t[36]=u,t[37]=D,t[38]=K):K=t[38];let q;t[39]===D?q=t[40]:(q=D&&(0,z.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:`Lifecycle policy must be valid JSON.`}),t[39]=D,t[40]=q);let J;t[41]===O?J=t[42]:(J=O&&(0,z.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:O.message}),t[41]=O,t[42]=J);let Y;t[43]!==G||t[44]!==K||t[45]!==q||t[46]!==J?(Y=(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[G,K,q,J]}),t[43]=G,t[44]=K,t[45]=q,t[46]=J,t[47]=Y):Y=t[47];let X;t[48]!==c.isSuccess||t[49]!==j?(X=c.isSuccess&&(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsxs)(`h3`,{className:`mb-2 text-sm font-medium`,children:[`Preview: `,j.length,` image`,j.length===1?``:`s`,` would expire`]}),j.length>0?(0,z.jsx)(`div`,{className:`overflow-x-auto rounded-lg border`,children:(0,z.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,z.jsx)(`thead`,{children:(0,z.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Tags`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Digest`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Pushed`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Rule`})]})}),(0,z.jsx)(`tbody`,{children:j.map(ne)})]})}):(0,z.jsx)(`p`,{className:`text-muted-foreground`,children:`No images match this policy.`})]}),t[48]=c.isSuccess,t[49]=j,t[50]=X):X=t[50];let Z;return t[51]!==Y||t[52]!==X?(Z=(0,z.jsxs)(`div`,{className:`space-y-4`,children:[Y,X]}),t[51]=Y,t[52]=X,t[53]=Z):Z=t[53],Z}function ne(e){return(0,z.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,z.jsx)(`td`,{className:`px-4 py-2`,children:e.imageTags&&e.imageTags.length>0?e.imageTags.join(`, `):``}),(0,z.jsxs)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:[e.imageDigest?.slice(0,19),`…`]}),(0,z.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:s(e.imagePushedAt)}),(0,z.jsx)(`td`,{className:`px-4 py-2`,children:e.appliedRulePriority})]},e.imageDigest)}function V(e){let t=(0,L.c)(38),{repositoryName:n}=e,r;t[0]===n?r=t[1]:(r=v(n),t[0]=n,t[1]=r);let{data:a}=i(r),o=w(),s=S(),[c,u]=(0,R.useState)(a??``),[d,f]=(0,R.useState)(a);a!==d&&(f(a),u(a??``));let p;t[2]!==c||t[3]!==n||t[4]!==o?(p=async function(){try{await o.mutateAsync({repositoryName:n,policyText:c})}catch{}},t[2]=c,t[3]=n,t[4]=o,t[5]=p):p=t[5];let m=p,h;t[6]!==s||t[7]!==n?(h=async function(){try{await s.mutateAsync(n)}catch{}},t[6]=s,t[7]=n,t[8]=h):h=t[8];let g=h,_;t[9]===c?_=t[10]:(_=c.trim(),t[9]=c,t[10]=_);let y=_,b;t[11]!==c||t[12]!==y.length?(b=y.length>0&&!A(c),t[11]=c,t[12]=y.length,t[13]=b):b=t[13];let x=b,C=o.error??s.error,T;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,z.jsx)(`h2`,{className:`text-sm font-medium`,children:`Repository policy`}),t[14]=T):T=t[14];let E=s.isPending||!a,D=s.isPending?`Deleting…`:`Delete`,O;t[15]!==g||t[16]!==E||t[17]!==D?(O=(0,z.jsx)(l,{disabled:E,onClick:g,size:`sm`,variant:`destructive`,children:D}),t[15]=g,t[16]=E,t[17]=D,t[18]=O):O=t[18];let k=o.isPending||y.length===0||x,j=o.isPending?`Saving…`:`Save`,M;t[19]!==m||t[20]!==k||t[21]!==j?(M=(0,z.jsx)(l,{disabled:k,onClick:m,size:`sm`,children:j}),t[19]=m,t[20]=k,t[21]=j,t[22]=M):M=t[22];let N;t[23]!==M||t[24]!==O?(N=(0,z.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[T,(0,z.jsxs)(`div`,{className:`flex gap-2`,children:[O,M]})]}),t[23]=M,t[24]=O,t[25]=N):N=t[25];let P;t[26]!==c||t[27]!==x?(P=(0,z.jsx)(ee,{className:`text-xs`,error:x,onChange:u,placeholder:`No policy attached. Paste an IAM policy document to set one.`,rows:10,value:c}),t[26]=c,t[27]=x,t[28]=P):P=t[28];let F;t[29]===x?F=t[30]:(F=x&&(0,z.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:`Policy must be valid JSON.`}),t[29]=x,t[30]=F);let I;t[31]===C?I=t[32]:(I=C&&(0,z.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:C.message}),t[31]=C,t[32]=I);let B;return t[33]!==N||t[34]!==P||t[35]!==F||t[36]!==I?(B=(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[N,P,F,I]}),t[33]=N,t[34]=P,t[35]=F,t[36]=I,t[37]=B):B=t[37],B}function H(e){if(!e)return``;let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function U(e){let t=(0,L.c)(19),{repositoryName:n,repositoryUri:r}=e,[i,a]=(0,R.useState)(!1),o;t[0]===r?o=t[1]:(o=H(r),t[0]=r,t[1]=o);let s=o,u=r??`${s}/${n}`,d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=c(),t[2]=d):d=t[2];let f=`aws ecr get-login-password --region ${d} | docker login --username AWS --password-stdin ${s}`,p=`docker build -t ${n} .`,m=`docker tag ${n}:latest ${u}:latest`,h=`docker push ${u}:latest`,g;t[3]!==f||t[4]!==p||t[5]!==m||t[6]!==h?(g=[f,p,m,h],t[3]=f,t[4]=p,t[5]=m,t[6]=h,t[7]=g):g=t[7];let _=g,v;t[8]===_?v=t[9]:(v=async function(){await navigator.clipboard.writeText(_.join(` +`)),a(!0),setTimeout(()=>a(!1),2e3)},t[8]=_,t[9]=v);let y=v,b;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,z.jsx)(`h2`,{className:`text-sm font-medium`,children:`Push commands`}),t[10]=b):b=t[10];let x=i?`Copied`:`Copy`,S;t[11]!==y||t[12]!==x?(S=(0,z.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[b,(0,z.jsx)(l,{onClick:y,size:`sm`,variant:`outline`,children:x})]}),t[11]=y,t[12]=x,t[13]=S):S=t[13];let C=_.join(` +`),w;t[14]===C?w=t[15]:(w=(0,z.jsx)(`pre`,{className:`overflow-x-auto rounded bg-muted p-3 font-mono text-xs`,children:C}),t[14]=C,t[15]=w);let T;return t[16]!==S||t[17]!==w?(T=(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[S,w]}),t[16]=S,t[17]=w,t[18]=T):T=t[18],T}function W(e){let t=(0,L.c)(31),{repositoryName:n,repositoryUri:r,imageTagMutability:i}=e,a=D(),o=i===`IMMUTABLE`,s=o?`MUTABLE`:`IMMUTABLE`,c=o?`Make mutable`:`Make immutable`,u;t[0]!==s||t[1]!==a||t[2]!==n?(u=async function(){try{await a.mutateAsync({repositoryName:n,imageTagMutability:s})}catch{}},t[0]=s,t[1]=a,t[2]=n,t[3]=u):u=t[3];let d=u,f;t[4]!==n||t[5]!==r?(f=(0,z.jsx)(U,{repositoryName:n,repositoryUri:r}),t[4]=n,t[5]=r,t[6]=f):f=t[6];let p;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,z.jsx)(`h2`,{className:`text-sm font-medium`,children:`Tag immutability`}),t[7]=p):p=t[7];let m=o?`Tags cannot be overwritten to point at a different image.`:`Tags can be overwritten by a new push.`,h;t[8]===m?h=t[9]:(h=(0,z.jsxs)(`div`,{children:[p,(0,z.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:m})]}),t[8]=m,t[9]=h);let g=o?`default`:`outline`,_=o?`Immutable`:`Mutable`,v;t[10]!==g||t[11]!==_?(v=(0,z.jsx)(M,{variant:g,children:_}),t[10]=g,t[11]=_,t[12]=v):v=t[12];let y;t[13]!==h||t[14]!==v?(y=(0,z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[h,v]}),t[13]=h,t[14]=v,t[15]=y):y=t[15];let b;t[16]===a.error?b=t[17]:(b=a.error&&(0,z.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:a.error.message}),t[16]=a.error,t[17]=b);let x;t[18]===d?x=t[19]:(x=()=>void d(),t[18]=d,t[19]=x);let S=a.isPending?`Saving…`:c,C;t[20]!==a.isPending||t[21]!==x||t[22]!==S?(C=(0,z.jsx)(l,{className:`mt-3`,disabled:a.isPending,onClick:x,size:`sm`,variant:`outline`,children:S}),t[20]=a.isPending,t[21]=x,t[22]=S,t[23]=C):C=t[23];let w;t[24]!==b||t[25]!==C||t[26]!==y?(w=(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[y,b,C]}),t[24]=b,t[25]=C,t[26]=y,t[27]=w):w=t[27];let T;return t[28]!==w||t[29]!==f?(T=(0,z.jsxs)(`div`,{className:`space-y-6`,children:[f,w]}),t[28]=w,t[29]=f,t[30]=T):T=t[30],T}function G(){let e=(0,L.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsx)(`h2`,{className:`mb-2 text-sm font-medium`,children:`Image scanning`}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Vulnerability scanning is not supported by this registry. Pushed images are stored and served without scan findings.`})]}),e[0]=t):t=e[0],t}function K(e){let t=(0,L.c)(57),{repositoryName:n}=e,{data:r}=i(y),c;t[0]===n?c=t[1]:(c=b(n),t[0]=n,t[1]=c);let{data:v}=i(c),x=O(),[S,C]=(0,R.useState)(null),w;t[2]===r.repositories?w=t[3]:(w=r.repositories??[],t[2]=r.repositories,t[3]=w);let T;if(t[4]!==n||t[5]!==w){let e;t[7]===n?e=t[8]:(e=e=>e.repositoryName===n,t[7]=n,t[8]=e),T=w.find(e),t[4]=n,t[5]=w,t[6]=T}else T=t[6];let E=T,D;t[9]===v.imageDetails?D=t[10]:(D=v.imageDetails??[],t[9]=v.imageDetails,t[10]=D);let A=D,j;t[11]!==x||t[12]!==S||t[13]!==n?(j=async function(){if(S)try{await x.mutateAsync({repositoryName:n,imageIds:[{imageDigest:S}]}),C(null)}catch{}},t[11]=x,t[12]=S,t[13]=n,t[14]=j):j=t[14];let M=j,ee=E?.repositoryUri,B;t[15]!==n||t[16]!==ee?(B=(0,z.jsx)(k,{subtitle:ee,title:n}),t[15]=n,t[16]=ee,t[17]=B):B=t[17];let ne;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,z.jsx)(`div`,{className:`mb-4`,children:(0,z.jsx)(a,{className:`text-sm text-primary hover:underline`,to:`/ecr/list-repositories`,children:`← Back to repositories`})}),t[18]=ne):ne=t[18];let H;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,z.jsxs)(P,{children:[(0,z.jsx)(N,{value:`summary`,children:`Summary`}),(0,z.jsx)(N,{value:`images`,children:`Images`}),(0,z.jsx)(N,{value:`lifecycle`,children:`Lifecycle`}),(0,z.jsx)(N,{value:`scan`,children:`Scan`}),(0,z.jsx)(N,{value:`permissions`,children:`Permissions`})]}),t[19]=H):H=t[19];let U=E?.imageTagMutability,K=E?.repositoryUri,q;t[20]!==n||t[21]!==U||t[22]!==K?(q=(0,z.jsx)(F,{value:`summary`,children:(0,z.jsx)(W,{imageTagMutability:U,repositoryName:n,repositoryUri:K})}),t[20]=n,t[21]=U,t[22]=K,t[23]=q):q=t[23];let J;t[24]===A?J=t[25]:(J=(0,z.jsx)(F,{value:`images`,children:A.length>0?(0,z.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,z.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,z.jsx)(`thead`,{children:(0,z.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Tags`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Digest`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Size`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Pushed`}),(0,z.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,z.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,z.jsx)(`tbody`,{children:A.map(e=>{if(!e.imageDigest)return null;let t=e.imageDigest;return(0,z.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,z.jsx)(`td`,{className:`px-4 py-2`,children:e.imageTags&&e.imageTags.length>0?e.imageTags.join(`, `):``}),(0,z.jsxs)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:[t.slice(0,19),`…`]}),(0,z.jsx)(`td`,{className:`px-4 py-2`,children:o(e.imageSizeInBytes??0)}),(0,z.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:s(e.imagePushedAt)}),(0,z.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,z.jsx)(l,{onClick:()=>C(t),size:`sm`,variant:`destructive`,children:`Delete`})})]},t)})})]})}):(0,z.jsx)(`p`,{className:`text-muted-foreground`,children:`No images pushed yet.`})}),t[24]=A,t[25]=J);let Y;t[26]===n?Y=t[27]:(Y=(0,z.jsx)(F,{value:`lifecycle`,children:(0,z.jsx)(te,{repositoryName:n})}),t[26]=n,t[27]=Y);let X;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,z.jsx)(F,{value:`scan`,children:(0,z.jsx)(G,{})}),t[28]=X):X=t[28];let Z;t[29]===n?Z=t[30]:(Z=(0,z.jsx)(F,{value:`permissions`,children:(0,z.jsx)(V,{repositoryName:n})}),t[29]=n,t[30]=Z);let Q;t[31]!==q||t[32]!==J||t[33]!==Y||t[34]!==Z?(Q=(0,z.jsxs)(I,{defaultValue:`summary`,children:[H,q,J,Y,X,Z]}),t[31]=q,t[32]=J,t[33]=Y,t[34]=Z,t[35]=Q):Q=t[35];let re;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(re=e=>!e&&C(null),t[36]=re):re=t[36];let ie=S!==null,ae;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,z.jsxs)(g,{children:[(0,z.jsx)(f,{children:`Delete image?`}),(0,z.jsx)(u,{children:`This permanently deletes the image manifest and any tags pointing at it. This cannot be undone.`})]}),t[37]=ae):ae=t[37];let $;t[38]===x.error?$=t[39]:($=x.error&&(0,z.jsx)(`p`,{className:`text-sm text-destructive`,children:x.error.message}),t[38]=x.error,t[39]=$);let oe;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,z.jsx)(h,{children:`Cancel`}),t[40]=oe):oe=t[40];let se;t[41]===M?se=t[42]:(se=e=>{e.preventDefault(),M()},t[41]=M,t[42]=se);let ce=x.isPending?`Deleting…`:`Delete`,le;t[43]!==x.isPending||t[44]!==se||t[45]!==ce?(le=(0,z.jsxs)(m,{children:[oe,(0,z.jsx)(p,{disabled:x.isPending,onClick:se,children:ce})]}),t[43]=x.isPending,t[44]=se,t[45]=ce,t[46]=le):le=t[46];let ue;t[47]!==$||t[48]!==le?(ue=(0,z.jsxs)(d,{children:[ae,$,le]}),t[47]=$,t[48]=le,t[49]=ue):ue=t[49];let de;t[50]!==ie||t[51]!==ue?(de=(0,z.jsx)(_,{onOpenChange:re,open:ie,children:ue}),t[50]=ie,t[51]=ue,t[52]=de):de=t[52];let fe;return t[53]!==Q||t[54]!==de||t[55]!==B?(fe=(0,z.jsxs)(z.Fragment,{children:[B,ne,Q,de]}),t[53]=Q,t[54]=de,t[55]=B,t[56]=fe):fe=t[56],fe}function q(){let e=(0,L.c)(2),{id:t}=j.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,z.jsx)(K,{repositoryName:n}),e[0]=n,e[1]=r),r}export{q as component}; \ 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 e95216ae5..87145ab5b 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/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/detail-row.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{l as r,t as i}from"./ec2.js";var a=e(`/_auth/ec2/(elastic-ips)/describe-addresses/$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} | Elastic IP | 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])),`component`)});export{a 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/QueryClientProvider.js","assets/useMutation.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/circle-arrow-up.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/admin-context.js","assets/sts.js","assets/module.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.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{rt as n}from"./cluster-config.js";import{a as r}from"./ec2.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(`./_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,31,32,33,34,35,36])),`component`)});export{i as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id40.js b/spinifex/services/spinifexui/frontend/dist/assets/_id40.js new file mode 100644 index 000000000..8757e2208 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id40.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"./useQuery.js";import{t as a}from"./useSuspenseQuery.js";import{t as o}from"./link.js";import{t as s}from"./useNavigate.js";import{Qt as c}from"./cluster-config.js";import{t as ee}from"./back-link.js";import{t as te}from"./camera.js";import{t as ne}from"./pencil.js";import{t as re}from"./cli-command-panel.js";import{t as ie}from"./trash-2.js";import{t as l}from"./button.js";import{t as ae}from"./input.js";import{a as u,n as oe,r as d,t as se}from"./field.js";import{a as ce,i as le,l as ue,s as de,t as fe}from"./alert-dialog.js";import{w as pe}from"./ec2.js";import{S as f,a as p,c as me,d as m,f as he,l as ge,m as _e,p as ve,u as ye}from"./rds.js";import{d as h,l as be,m as g,p as _}from"./rds2.js";import{c as xe,d as v,l as Se,n as Ce,o as y,s as b,t as we}from"./rds3.js";import{a as Te,i as Ee,n as De,t as x}from"./zod.js";import{t as Oe}from"./error-banner.js";import{t as S}from"./page-heading.js";import{t as C}from"./form-actions.js";import{t as w}from"./_id19.js";import{n as T,t as E}from"./detail-row.js";import{t as ke}from"./state-badge.js";import{i as Ae,n as je,r as Me,t as Ne}from"./tabs.js";import{n as Pe,t as Fe}from"./picker-notice.js";import{a as Ie,o as Le,s as Re,t as ze}from"./security-group-checkboxes.js";import{t as Be}from"./create-db-snapshot-dialog.js";import{t as Ve}from"./delete-db-snapshot-dialog.js";import{t as D}from"./rds-events-panel.js";import{t as He}from"./rds-tags-tab.js";import{t as Ue}from"./delete-db-instance-dialog.js";var O=e(n(),1),We=r(),k=t(),Ge=[{label:`Identifier`,note:`The identifier is the endpoint hostname and the certificate subject; renaming in place is not implemented.`},{label:`Engine version`,note:`There is no in-place engine-version upgrade.`},{label:`Port`,note:`The port is fixed at create; changing it would break every client and the serving certificate.`},{label:`DB subnet group`,note:`The endpoint ENI is placed at create; moving it would change the address clients resolve.`}];function Ke(e){let t=(0,We.c)(216),{open:n,onOpenChange:r,instance:a}=e,o=be(),s=i(v),c=i(pe),ee=i(y),te=a.Engine??``,ne;t[0]===te?ne=t[1]:(ne=Se(te),t[0]=te,t[1]=ne);let re=i(ne),ie=a.DBInstanceIdentifier??``,l=a.AllocatedStorage??0,p;t[2]===a.VpcSecurityGroups?p=t[3]:(p=a.VpcSecurityGroups?.map(Qe).filter(Boolean)??[],t[2]=a.VpcSecurityGroups,t[3]=p);let me=p,m;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(m=x(f),t[4]=m):m=t[4];let he=a.DBInstanceClass??``,ge=a.DBParameterGroups?.[0]?.DBParameterGroupName??``,_e=a.DeletionProtection??!1,ve=a.BackupRetentionPeriod??0,ye=a.PreferredBackupWindow??``,h=a.PreferredMaintenanceWindow??``,g;t[5]!==me||t[6]!==l||t[7]!==h||t[8]!==he||t[9]!==ge||t[10]!==_e||t[11]!==ve||t[12]!==ye?(g={resolver:m,defaultValues:{currentAllocatedStorage:l,dbInstanceClass:he,allocatedStorage:l,dbParameterGroupName:ge,vpcSecurityGroupIds:me,deletionProtection:_e,backupRetentionPeriod:ve,preferredBackupWindow:ye,preferredMaintenanceWindow:h,masterUserPassword:``,applyImmediately:!1}},t[5]=me,t[6]=l,t[7]=h,t[8]=he,t[9]=ge,t[10]=_e,t[11]=ve,t[12]=ye,t[13]=g):g=t[13];let{control:_,formState:xe,handleSubmit:Ce,register:b,setValue:we}=Ee(g),{errors:S,isSubmitting:w}=xe,T;t[14]===_?T=t[15]:(T={control:_},t[14]=_,t[15]=T);let E=Te(T),ke=E.dbInstanceClass??``,Ae=E.allocatedStorage??l,je;t[16]===E.vpcSecurityGroupIds?je=t[17]:(je=E.vpcSecurityGroupIds??[],t[16]=E.vpcSecurityGroupIds,t[17]=je);let Me=je,Ne;t[18]===re.data?.OrderableDBInstanceOptions?Ne=t[19]:(Ne=new Set((re.data?.OrderableDBInstanceOptions??[]).map(Ze).filter(Boolean)),t[18]=re.data?.OrderableDBInstanceOptions,t[19]=Ne);let Be;t[20]===Ne?Be=t[21]:(Be=[...Ne],t[20]=Ne,t[21]=Be);let Ve=Be,D,He,Ue,O,Ke,A,$e,et,j,tt,nt,rt,it,at,ot,st,ct,M,N,P;if(t[22]!==_||t[23]!==l||t[24]!==ee.data?.DBEngineVersions||t[25]!==S.allocatedStorage||t[26]!==Ce||t[27]!==ie||t[28]!==a.DBInstanceClass||t[29]!==a.DBSubnetGroup?.VpcId||t[30]!==a.Engine||t[31]!==Ve||t[32]!==o||t[33]!==r||t[34]!==n||t[35]!==re||t[36]!==s||t[37]!==b||t[38]!==c||t[39]!==ke||t[40]!==Ae||t[41]!==we){let e=Re(s.data?.DBParameterGroups??[],ee.data?.DBEngineVersions??[],a.Engine??``),i=a.DBSubnetGroup?.VpcId,te;t[62]===c.data?.SecurityGroups?te=t[63]:(te=c.data?.SecurityGroups??[],t[62]=c.data?.SecurityGroups,t[63]=te);let ne;if(t[64]!==i||t[65]!==te){let e;t[67]===i?e=t[68]:(e=e=>i===void 0||e.VpcId===i,t[67]=i,t[68]=e),ne=te.filter(e),t[64]=i,t[65]=te,t[66]=ne}else ne=t[66];Ke=ne;let pe=ke!==a.DBInstanceClass,f=Ae!==l,p=Ve.length===0,me=`No instance class this cluster's nodes can run is available for ${a.Engine}.`,m;t[69]!==re||t[70]!==p||t[71]!==me?(m=Pe(re,p,{loading:`Loading the instance classes…`,failed:`Could not read the instance classes`,empty:me}),t[69]=re,t[70]=p,t[71]=me,t[72]=m):m=t[72];let he=m,ge=e.length===0,_e;t[73]!==s||t[74]!==ge?(_e=Pe(s,ge,{loading:`Loading the parameter groups…`,failed:`Could not read the parameter groups`,empty:`No parameter group of this instance's engine family exists.`}),t[73]=s,t[74]=ge,t[75]=_e):_e=t[75];let ve=_e,ye=Ke.length===0,h;t[76]!==c||t[77]!==ye?(h=Pe(c,ye,{loading:`Loading the security groups…`,failed:`Could not read the security groups`,empty:`No security group in this instance's VPC is available.`}),t[76]=c,t[77]=ye,t[78]=h):h=t[78],O=h;let be;t[79]===we?be=t[80]:(be=e=>we(`vpcSecurityGroupIds`,e,{shouldValidate:!0}),t[79]=we,t[80]=be),A=be;let g;t[81]!==ie||t[82]!==o||t[83]!==r?(g=async e=>{await o.mutateAsync({...e,dbInstanceIdentifier:ie}),r(!1)},t[81]=ie,t[82]=o,t[83]=r,t[84]=g):g=t[84];let xe=g;Ue=fe,N=r,P=n,He=le,ct=`max-h-[85vh] overflow-y-auto`;let v;t[85]===ie?v=t[86]:(v=(0,k.jsxs)(ue,{children:[`Modify `,ie]}),t[85]=ie,t[86]=v);let Se;t[87]===Symbol.for(`react.memo_cache_sentinel`)?(Se=(0,k.jsx)(ce,{children:`Changes apply in the maintenance window unless you apply them immediately.`}),t[87]=Se):Se=t[87],t[88]===v?M=t[89]:(M=(0,k.jsxs)(de,{children:[v,Se]}),t[88]=v,t[89]=M),it=`space-y-4`,t[90]!==Ce||t[91]!==xe?(at=Ce(xe),t[90]=Ce,t[91]=xe,t[92]=at):at=t[92];let y;t[93]===Ve?y=t[94]:(y=Ve.map(Xe),t[93]=Ve,t[94]=y);let Te=pe&&`Changing the class replaces the VM. The database is unavailable while it does.`;t[95]!==he||t[96]!==_||t[97]!==y||t[98]!==Te?(ot=(0,k.jsx)(Le,{control:_,id:`modify-class`,label:`DB instance class`,name:`dbInstanceClass`,notice:he,options:y,placeholder:`Select an instance class`,warning:Te}),t[95]=he,t[96]=_,t[97]=y,t[98]=Te,t[99]=ot):ot=t[99];let Ee;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,k.jsx)(u,{children:(0,k.jsx)(`label`,{htmlFor:`modify-storage`,children:`Allocated storage (GiB)`})}),t[100]=Ee):Ee=t[100];let De=!!S.allocatedStorage,x;t[101]===b?x=t[102]:(x=b(`allocatedStorage`,{valueAsNumber:!0}),t[101]=b,t[102]=x);let Oe;t[103]!==l||t[104]!==De||t[105]!==x?(Oe=(0,k.jsx)(ae,{"aria-invalid":De,id:`modify-storage`,min:l,type:`number`,...x}),t[103]=l,t[104]=De,t[105]=x,t[106]=Oe):Oe=t[106];let C;t[107]===l?C=t[108]:(C=(0,k.jsxs)(oe,{children:[`Currently `,l,` GiB. Storage grows only.`]}),t[107]=l,t[108]=C);let w;t[109]===f?w=t[110]:(w=f&&(0,k.jsx)(`p`,{className:`text-xs text-tactical-amber`,children:`Growing storage stops and starts the instance to extend the filesystem.`}),t[109]=f,t[110]=w);let T;t[111]===S.allocatedStorage?T=t[112]:(T=(0,k.jsx)(d,{errors:[S.allocatedStorage]}),t[111]=S.allocatedStorage,t[112]=T),t[113]!==Oe||t[114]!==C||t[115]!==w||t[116]!==T?(st=(0,k.jsxs)(se,{children:[Ee,Oe,C,w,T]}),t[113]=Oe,t[114]=C,t[115]=w,t[116]=T,t[117]=st):st=t[117],D=Le,$e=_,et=`modify-parameter-group`,j=`DB parameter group`,tt=`dbParameterGroupName`,nt=ve,rt=e.map(Ye),t[22]=_,t[23]=l,t[24]=ee.data?.DBEngineVersions,t[25]=S.allocatedStorage,t[26]=Ce,t[27]=ie,t[28]=a.DBInstanceClass,t[29]=a.DBSubnetGroup?.VpcId,t[30]=a.Engine,t[31]=Ve,t[32]=o,t[33]=r,t[34]=n,t[35]=re,t[36]=s,t[37]=b,t[38]=c,t[39]=ke,t[40]=Ae,t[41]=we,t[42]=D,t[43]=He,t[44]=Ue,t[45]=O,t[46]=Ke,t[47]=A,t[48]=$e,t[49]=et,t[50]=j,t[51]=tt,t[52]=nt,t[53]=rt,t[54]=it,t[55]=at,t[56]=ot,t[57]=st,t[58]=ct,t[59]=M,t[60]=N,t[61]=P}else D=t[42],He=t[43],Ue=t[44],O=t[45],Ke=t[46],A=t[47],$e=t[48],et=t[49],j=t[50],tt=t[51],nt=t[52],rt=t[53],it=t[54],at=t[55],ot=t[56],st=t[57],ct=t[58],M=t[59],N=t[60],P=t[61];let F;t[118]!==D||t[119]!==$e||t[120]!==et||t[121]!==j||t[122]!==tt||t[123]!==nt||t[124]!==rt?(F=(0,k.jsx)(D,{control:$e,id:et,label:j,name:tt,notice:nt,options:rt,placeholder:`Engine default group`}),t[118]=D,t[119]=$e,t[120]=et,t[121]=j,t[122]=tt,t[123]=nt,t[124]=rt,t[125]=F):F=t[125];let lt;t[126]===Symbol.for(`react.memo_cache_sentinel`)?(lt=(0,k.jsx)(u,{children:`VPC security groups`}),t[126]=lt):lt=t[126];let ut;t[127]!==O||t[128]!==Ke||t[129]!==Me||t[130]!==A?(ut=(0,k.jsxs)(se,{children:[lt,O?(0,k.jsx)(Fe,{notice:O}):(0,k.jsx)(ze,{emptyText:`No security group in this instance's VPC is available.`,groups:Ke,onChange:A,selected:Me})]}),t[127]=O,t[128]=Ke,t[129]=Me,t[130]=A,t[131]=ut):ut=t[131];let dt;t[132]===Symbol.for(`react.memo_cache_sentinel`)?(dt=(0,k.jsx)(u,{children:(0,k.jsx)(`label`,{htmlFor:`modify-retention`,children:`Backup retention (days)`})}),t[132]=dt):dt=t[132];let ft=!!S.backupRetentionPeriod,I;t[133]===b?I=t[134]:(I=b(`backupRetentionPeriod`,{valueAsNumber:!0}),t[133]=b,t[134]=I);let L;t[135]!==ft||t[136]!==I?(L=(0,k.jsx)(ae,{"aria-invalid":ft,id:`modify-retention`,max:7,min:0,type:`number`,...I}),t[135]=ft,t[136]=I,t[137]=L):L=t[137];let R;t[138]===S.backupRetentionPeriod?R=t[139]:(R=(0,k.jsx)(d,{errors:[S.backupRetentionPeriod]}),t[138]=S.backupRetentionPeriod,t[139]=R);let z;t[140]!==L||t[141]!==R?(z=(0,k.jsxs)(se,{children:[dt,L,R]}),t[140]=L,t[141]=R,t[142]=z):z=t[142];let pt;t[143]===Symbol.for(`react.memo_cache_sentinel`)?(pt=(0,k.jsx)(u,{children:(0,k.jsx)(`label`,{htmlFor:`modify-backup-window`,children:`Preferred backup window`})}),t[143]=pt):pt=t[143];let B=!!S.preferredBackupWindow,V;t[144]===b?V=t[145]:(V=b(`preferredBackupWindow`),t[144]=b,t[145]=V);let H;t[146]!==B||t[147]!==V?(H=(0,k.jsx)(ae,{"aria-invalid":B,id:`modify-backup-window`,placeholder:`hh24:mi-hh24:mi in UTC`,...V}),t[146]=B,t[147]=V,t[148]=H):H=t[148];let U;t[149]===S.preferredBackupWindow?U=t[150]:(U=(0,k.jsx)(d,{errors:[S.preferredBackupWindow]}),t[149]=S.preferredBackupWindow,t[150]=U);let W;t[151]!==H||t[152]!==U?(W=(0,k.jsxs)(se,{children:[pt,H,U]}),t[151]=H,t[152]=U,t[153]=W):W=t[153];let G;t[154]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,k.jsx)(u,{children:(0,k.jsx)(`label`,{htmlFor:`modify-maintenance-window`,children:`Preferred maintenance window`})}),t[154]=G):G=t[154];let K=!!S.preferredMaintenanceWindow,q;t[155]===b?q=t[156]:(q=b(`preferredMaintenanceWindow`),t[155]=b,t[156]=q);let J;t[157]!==K||t[158]!==q?(J=(0,k.jsx)(ae,{"aria-invalid":K,id:`modify-maintenance-window`,placeholder:`ddd:hh24:mi-ddd:hh24:mi in UTC`,...q}),t[157]=K,t[158]=q,t[159]=J):J=t[159];let Y;t[160]===S.preferredMaintenanceWindow?Y=t[161]:(Y=(0,k.jsx)(d,{errors:[S.preferredMaintenanceWindow]}),t[160]=S.preferredMaintenanceWindow,t[161]=Y);let X;t[162]!==J||t[163]!==Y?(X=(0,k.jsxs)(se,{children:[G,J,Y]}),t[162]=J,t[163]=Y,t[164]=X):X=t[164];let mt;t[165]===Symbol.for(`react.memo_cache_sentinel`)?(mt=(0,k.jsx)(u,{children:(0,k.jsx)(`label`,{htmlFor:`modify-password`,children:`Reset master password`})}),t[165]=mt):mt=t[165];let Z=!!S.masterUserPassword,ht;t[166]===b?ht=t[167]:(ht=b(`masterUserPassword`),t[166]=b,t[167]=ht);let Q;t[168]!==Z||t[169]!==ht?(Q=(0,k.jsx)(ae,{"aria-invalid":Z,id:`modify-password`,type:`password`,...ht}),t[168]=Z,t[169]=ht,t[170]=Q):Q=t[170];let $;t[171]===Symbol.for(`react.memo_cache_sentinel`)?($=(0,k.jsx)(oe,{children:`Leave blank to keep the current password.`}),t[171]=$):$=t[171];let gt;t[172]===S.masterUserPassword?gt=t[173]:(gt=(0,k.jsx)(d,{errors:[S.masterUserPassword]}),t[172]=S.masterUserPassword,t[173]=gt);let _t;t[174]!==Q||t[175]!==gt?(_t=(0,k.jsxs)(se,{children:[mt,Q,$,gt]}),t[174]=Q,t[175]=gt,t[176]=_t):_t=t[176];let vt;t[177]===_?vt=t[178]:(vt=(0,k.jsx)(Ie,{control:_,name:`deletionProtection`}),t[177]=_,t[178]=vt);let yt;t[179]===Symbol.for(`react.memo_cache_sentinel`)?(yt=(0,k.jsx)(u,{children:`Apply immediately`}),t[179]=yt):yt=t[179];let bt;t[180]===_?bt=t[181]:(bt=(0,k.jsxs)(se,{children:[yt,(0,k.jsx)(De,{control:_,name:`applyImmediately`,render:Je})]}),t[180]=_,t[181]=bt);let xt;t[182]===Symbol.for(`react.memo_cache_sentinel`)?(xt=(0,k.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border p-3`,children:[(0,k.jsx)(`h3`,{className:`text-xs font-medium`,children:`Fixed at create`}),Ge.map(qe)]}),t[182]=xt):xt=t[182];let St;t[183]===o.error?St=t[184]:(St=o.error&&(0,k.jsx)(Oe,{error:o.error,msg:`Failed to modify the DB instance`}),t[183]=o.error,t[184]=St);let Ct;t[185]===r?Ct=t[186]:(Ct=()=>r(!1),t[185]=r,t[186]=Ct);let wt;t[187]!==w||t[188]!==o.isPending||t[189]!==Ct?(wt=(0,k.jsx)(`div`,{className:`flex justify-end`,children:(0,k.jsx)(C,{isPending:o.isPending,isSubmitting:w,onCancel:Ct,pendingLabel:`Saving…`,submitLabel:`Save Changes`})}),t[187]=w,t[188]=o.isPending,t[189]=Ct,t[190]=wt):wt=t[190];let Tt;t[191]!==it||t[192]!==at||t[193]!==ot||t[194]!==st||t[195]!==F||t[196]!==ut||t[197]!==z||t[198]!==W||t[199]!==X||t[200]!==_t||t[201]!==vt||t[202]!==bt||t[203]!==St||t[204]!==wt?(Tt=(0,k.jsxs)(`form`,{className:it,onSubmit:at,children:[ot,st,F,ut,z,W,X,_t,vt,bt,xt,St,wt]}),t[191]=it,t[192]=at,t[193]=ot,t[194]=st,t[195]=F,t[196]=ut,t[197]=z,t[198]=W,t[199]=X,t[200]=_t,t[201]=vt,t[202]=bt,t[203]=St,t[204]=wt,t[205]=Tt):Tt=t[205];let Et;t[206]!==He||t[207]!==ct||t[208]!==M||t[209]!==Tt?(Et=(0,k.jsxs)(He,{className:ct,children:[M,Tt]}),t[206]=He,t[207]=ct,t[208]=M,t[209]=Tt,t[210]=Et):Et=t[210];let Dt;return t[211]!==Ue||t[212]!==N||t[213]!==P||t[214]!==Et?(Dt=(0,k.jsx)(Ue,{onOpenChange:N,open:P,children:Et}),t[211]=Ue,t[212]=N,t[213]=P,t[214]=Et,t[215]=Dt):Dt=t[215],Dt}function qe(e){return(0,k.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[(0,k.jsx)(`span`,{className:`font-medium`,children:e.label}),` —`,` `,e.note]},e.label)}function Je(e){let{field:t}=e;return(0,k.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,k.jsx)(`input`,{"aria-label":`Apply immediately`,checked:t.value,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),(0,k.jsx)(`span`,{children:`Apply now instead of waiting for the maintenance window`})]})}function Ye(e){return{value:e.DBParameterGroupName??``,label:e.DBParameterGroupName??``}}function Xe(e){return{value:e,label:e}}function Ze(e){return e.DBInstanceClass??``}function Qe(e){return e.VpcSecurityGroupId??``}function A(e,t){return e.EventCategories?.includes(t)??!1}function $e(e,t){return e.filter(t).toSorted((e,t)=>(e.Date?.getTime()??0)-(t.Date?.getTime()??0)).at(-1)}function et(e){let t=e.Endpoint?.Address;if(!t)return[];let n=e.Endpoint?.Port??e.DbInstancePort,r=e.MasterUsername??``,i=e.DBName??r;return e.Engine===`postgres`?[{label:`Connect`,parts:[{type:`bin`,value:`psql`},{type:`value`,value:` "host=${t} port=${n} dbname=${i} user=${r} sslmode=require"`}]}]:[{label:`Connect`,parts:[{type:`bin`,value:`mariadb`},{type:`flag`,value:` --host`},{type:`value`,value:`=${t}`},{type:`flag`,value:` --port`},{type:`value`,value:`=${n}`},{type:`flag`,value:` --user`},{type:`value`,value:`=${r}`},{type:`flag`,value:` --ssl`},{type:`value`,value:` ${i}`}]}]}function j(e){let t=(0,We.c)(262),{dbInstanceIdentifier:n}=e,r=s(),i;t[0]===n?i=t[1]:(i=Ce(n),t[0]=n,t[1]=i);let{data:ae}=a(i),u=ae.DBInstances?.[0],oe=u?.DBInstanceArn??``,d;t[2]===n?d=t[3]:(d=b(n),t[2]=n,t[3]=d);let{data:se}=a(d),ce;t[4]===n?ce=t[5]:(ce=xe(n),t[4]=n,t[5]=ce);let{data:le}=a(ce),ue;t[6]===n?ue=t[7]:(ue=we(n),t[6]=n,t[7]=ue);let{data:de}=a(ue),fe=_(),pe=g(),f=h(),[p,be]=(0,O.useState)(!1),[v,Se]=(0,O.useState)(!1),[y,Te]=(0,O.useState)(!1),[Ee,De]=(0,O.useState)(null);if(!u?.DBInstanceIdentifier){let e;return t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(ee,{to:`/rds/describe-db-instances`,children:`Back to databases`}),(0,k.jsx)(`p`,{className:`text-muted-foreground`,children:`DB instance not found.`})]}),t[8]=e):e=t[8],e}let x=u.DBInstanceStatus,C,w,Pe,Fe,Ie,Le,Re,ze,Ge,qe,Je,Ye,Xe,Ze,Qe,A,j,ct,M,N,P,F,lt,ut,dt,ft,I;if(t[9]!==de.DBInstanceAutomatedBackups?.[0]||t[10]!==n||t[11]!==se.Events||t[12]!==u||t[13]!==f||t[14]!==le.DBSnapshots||t[15]!==fe||t[16]!==x||t[17]!==pe){Le=se.Events??[];let e=fe.error??pe.error??f.error,r=$e(Le,st),i=$e(Le,ot);Re=le.DBSnapshots??[];let a=Re.filter(at).toSorted(it).at(-1),o=de.DBInstanceAutomatedBackups?.[0],s=u.PendingModifiedValues,ae=s?.AllocatedStorage!==void 0||s?.DBInstanceClass!==void 0;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,k.jsx)(ee,{to:`/rds/describe-db-instances`,children:`Back to databases`}),t[45]=P):P=t[45],t[46]===e?F=t[47]:(F=e&&(0,k.jsx)(Oe,{error:e,msg:`Failed to change the DB instance state.`}),t[46]=e,t[47]=F),ct=`space-y-6`;let oe;t[48]!==fe.isPending||t[49]!==x?(oe=!ve(x)||fe.isPending,t[48]=fe.isPending,t[49]=x,t[50]=oe):oe=t[50];let d;t[51]!==n||t[52]!==fe?(d=()=>fe.mutate(n),t[51]=n,t[52]=fe,t[53]=d):d=t[53];let ce;t[54]!==oe||t[55]!==d?(ce=(0,k.jsx)(l,{disabled:oe,onClick:d,size:`sm`,variant:`outline`,children:`Start`}),t[54]=oe,t[55]=d,t[56]=ce):ce=t[56];let ue;t[57]!==x||t[58]!==pe.isPending?(ue=!_e(x)||pe.isPending,t[57]=x,t[58]=pe.isPending,t[59]=ue):ue=t[59];let p;t[60]!==n||t[61]!==pe?(p=()=>pe.mutate(n),t[60]=n,t[61]=pe,t[62]=p):p=t[62];let m;t[63]!==ue||t[64]!==p?(m=(0,k.jsx)(l,{disabled:ue,onClick:p,size:`sm`,variant:`outline`,children:`Stop`}),t[63]=ue,t[64]=p,t[65]=m):m=t[65];let ge;t[66]!==f.isPending||t[67]!==x?(ge=!ye(x)||f.isPending,t[66]=f.isPending,t[67]=x,t[68]=ge):ge=t[68];let h;t[69]!==n||t[70]!==f?(h=()=>f.mutate(n),t[69]=n,t[70]=f,t[71]=h):h=t[71];let g;t[72]!==ge||t[73]!==h?(g=(0,k.jsx)(l,{disabled:ge,onClick:h,size:`sm`,variant:`outline`,children:`Reboot`}),t[72]=ge,t[73]=h,t[74]=g):g=t[74];let _;t[75]===x?_=t[76]:(_=he(x),t[75]=x,t[76]=_);let xe=!_,v;t[77]===Symbol.for(`react.memo_cache_sentinel`)?(v=()=>Te(!0),t[77]=v):v=t[77];let Ce;t[78]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,k.jsx)(te,{className:`size-4`}),t[78]=Ce):Ce=t[78];let y;t[79]===xe?y=t[80]:(y=(0,k.jsxs)(l,{disabled:xe,onClick:v,size:`sm`,variant:`outline`,children:[Ce,`Take Snapshot`]}),t[79]=xe,t[80]=y);let b;t[81]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>Se(!0),t[81]=b):b=t[81];let we;t[82]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,k.jsxs)(l,{onClick:b,size:`sm`,variant:`outline`,children:[(0,k.jsx)(ne,{className:`size-4`}),`Modify`]}),t[82]=we):we=t[82];let Ee;t[83]===x?Ee=t[84]:(Ee=me(x),t[83]=x,t[84]=Ee);let De=!Ee,Be;t[85]===Symbol.for(`react.memo_cache_sentinel`)?(Be=()=>be(!0),t[85]=Be):Be=t[85];let Ve;t[86]===Symbol.for(`react.memo_cache_sentinel`)?(Ve=(0,k.jsx)(ie,{className:`size-4`}),t[86]=Ve):Ve=t[86];let D;t[87]===De?D=t[88]:(D=(0,k.jsxs)(l,{disabled:De,onClick:Be,size:`sm`,variant:`destructive`,children:[Ve,`Delete`]}),t[87]=De,t[88]=D);let He;t[89]!==ce||t[90]!==m||t[91]!==g||t[92]!==y||t[93]!==D?(He=(0,k.jsxs)(`div`,{className:`flex gap-2`,children:[ce,m,g,y,we,D]}),t[89]=ce,t[90]=m,t[91]=g,t[92]=y,t[93]=D,t[94]=He):He=t[94],t[95]!==n||t[96]!==He?(M=(0,k.jsx)(S,{actions:He,subtitle:`DB Instance`,title:n}),t[95]=n,t[96]=He,t[97]=M):M=t[97];let Ue;t[98]===x?Ue=t[99]:(Ue=(0,k.jsx)(ke,{state:x}),t[98]=x,t[99]=Ue);let O;t[100]===u.StatusInfos?O=t[101]:(O=u.StatusInfos?.map(rt),t[100]=u.StatusInfos,t[101]=O),t[102]!==Ue||t[103]!==O?(N=(0,k.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Ue,O]}),t[102]=Ue,t[103]=O,t[104]=N):N=t[104],Ie=Ne,Ze=`connectivity`,t[105]===Symbol.for(`react.memo_cache_sentinel`)?(Qe=(0,k.jsxs)(je,{children:[(0,k.jsx)(Ae,{value:`connectivity`,children:`Connectivity`}),(0,k.jsx)(Ae,{value:`configuration`,children:`Configuration`}),(0,k.jsx)(Ae,{value:`backups`,children:`Backups`}),(0,k.jsx)(Ae,{value:`tags`,children:`Tags`}),(0,k.jsx)(Ae,{value:`events`,children:`Events`})]}),t[105]=Qe):Qe=t[105];let We;t[106]===Symbol.for(`react.memo_cache_sentinel`)?(We=(0,k.jsx)(T.Header,{children:`Endpoint`}),t[106]=We):We=t[106];let Ke=u.Endpoint?.Address,L;t[107]===Ke?L=t[108]:(L=(0,k.jsx)(E,{label:`Address`,value:Ke}),t[107]=Ke,t[108]=L);let R;t[109]!==u.DbInstancePort||t[110]!==u.Endpoint?.Port?(R=(u.Endpoint?.Port??u.DbInstancePort)?.toString(),t[109]=u.DbInstancePort,t[110]=u.Endpoint?.Port,t[111]=R):R=t[111];let z;t[112]===R?z=t[113]:(z=(0,k.jsx)(E,{label:`Port`,value:R}),t[112]=R,t[113]=z);let pt=u.DBSubnetGroup?.VpcId,B;t[114]===pt?B=t[115]:(B=(0,k.jsx)(E,{label:`VPC`,value:pt}),t[114]=pt,t[115]=B);let V=u.DBSubnetGroup?.DBSubnetGroupName,H;t[116]===V?H=t[117]:(H=(0,k.jsx)(E,{label:`DB subnet group`,value:V}),t[116]=V,t[117]=H);let U;t[118]===u.VpcSecurityGroups?U=t[119]:(U=u.VpcSecurityGroups?.map(nt).join(`, `),t[118]=u.VpcSecurityGroups,t[119]=U);let W;t[120]===U?W=t[121]:(W=(0,k.jsx)(E,{label:`Security groups`,value:U}),t[120]=U,t[121]=W);let G;t[122]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,k.jsx)(E,{label:`Publicly accessible`,value:`No — private VPC address`}),t[122]=G):G=t[122];let K;t[123]!==L||t[124]!==z||t[125]!==B||t[126]!==H||t[127]!==W?(K=(0,k.jsxs)(T,{children:[We,(0,k.jsxs)(T.Content,{children:[L,z,B,H,W,G]})]}),t[123]=L,t[124]=z,t[125]=B,t[126]=H,t[127]=W,t[128]=K):K=t[128];let q;t[129]===u?q=t[130]:(q=et(u),t[129]=u,t[130]=q);let J;t[131]===q?J=t[132]:(J=(0,k.jsx)(re,{commands:q}),t[131]=q,t[132]=J),t[133]!==K||t[134]!==J?(A=(0,k.jsx)(Me,{value:`connectivity`,children:(0,k.jsxs)(`div`,{className:`space-y-4`,children:[K,J]})}),t[133]=K,t[134]=J,t[135]=A):A=t[135];let Y;t[136]===Symbol.for(`react.memo_cache_sentinel`)?(Y=(0,k.jsx)(T.Header,{children:`Configuration`}),t[136]=Y):Y=t[136];let X;t[137]===u.Engine?X=t[138]:(X=(0,k.jsx)(E,{label:`Engine`,value:u.Engine}),t[137]=u.Engine,t[138]=X);let mt;t[139]===u.EngineVersion?mt=t[140]:(mt=(0,k.jsx)(E,{label:`Version`,value:u.EngineVersion}),t[139]=u.EngineVersion,t[140]=mt);let Z;t[141]===u.DBInstanceClass?Z=t[142]:(Z=(0,k.jsx)(E,{label:`Instance class`,value:u.DBInstanceClass}),t[141]=u.DBInstanceClass,t[142]=Z);let ht=u.AllocatedStorage?`${u.AllocatedStorage} GiB`:void 0,Q;t[143]===ht?Q=t[144]:(Q=(0,k.jsx)(E,{label:`Allocated storage`,value:ht}),t[143]=ht,t[144]=Q);let $;t[145]===u.StorageType?$=t[146]:($=(0,k.jsx)(E,{label:`Storage type`,value:u.StorageType}),t[145]=u.StorageType,t[146]=$);let gt=u.StorageEncrypted?`Encrypted — always on`:`Not encrypted`,_t;t[147]===gt?_t=t[148]:(_t=(0,k.jsx)(E,{label:`Encryption`,value:gt}),t[147]=gt,t[148]=_t);let vt;t[149]===u.DBParameterGroups?vt=t[150]:(vt=u.DBParameterGroups?.map(tt).join(`, `),t[149]=u.DBParameterGroups,t[150]=vt);let yt;t[151]===vt?yt=t[152]:(yt=(0,k.jsx)(E,{label:`Parameter group`,value:vt}),t[151]=vt,t[152]=yt);let bt;t[153]===u.MasterUsername?bt=t[154]:(bt=(0,k.jsx)(E,{label:`Master username`,value:u.MasterUsername}),t[153]=u.MasterUsername,t[154]=bt);let xt;t[155]===u.DBName?xt=t[156]:(xt=(0,k.jsx)(E,{label:`Initial database`,value:u.DBName}),t[155]=u.DBName,t[156]=xt);let St=u.DeletionProtection?`On`:`Off`,Ct;t[157]===St?Ct=t[158]:(Ct=(0,k.jsx)(E,{label:`Deletion protection`,value:St}),t[157]=St,t[158]=Ct);let wt;t[159]===u.InstanceCreateTime?wt=t[160]:(wt=c(u.InstanceCreateTime),t[159]=u.InstanceCreateTime,t[160]=wt);let Tt;t[161]===wt?Tt=t[162]:(Tt=(0,k.jsx)(E,{label:`Created`,value:wt}),t[161]=wt,t[162]=Tt);let Et;t[163]!==X||t[164]!==mt||t[165]!==Z||t[166]!==Q||t[167]!==$||t[168]!==_t||t[169]!==yt||t[170]!==bt||t[171]!==xt||t[172]!==Ct||t[173]!==Tt?(Et=(0,k.jsxs)(T,{children:[Y,(0,k.jsxs)(T.Content,{children:[X,mt,Z,Q,$,_t,yt,bt,xt,Ct,Tt]})]}),t[163]=X,t[164]=mt,t[165]=Z,t[166]=Q,t[167]=$,t[168]=_t,t[169]=yt,t[170]=bt,t[171]=xt,t[172]=Ct,t[173]=Tt,t[174]=Et):Et=t[174];let Dt;t[175]!==ae||t[176]!==s?(Dt=ae&&(0,k.jsxs)(T,{children:[(0,k.jsx)(T.Header,{children:`Pending Changes`}),(0,k.jsxs)(T.Content,{children:[(0,k.jsx)(E,{label:`Instance class`,value:s?.DBInstanceClass}),(0,k.jsx)(E,{label:`Allocated storage`,value:s?.AllocatedStorage?`${s.AllocatedStorage} GiB`:void 0})]})]}),t[175]=ae,t[176]=s,t[177]=Dt):Dt=t[177],t[178]!==Et||t[179]!==Dt?(j=(0,k.jsx)(Me,{value:`configuration`,children:(0,k.jsxs)(`div`,{className:`space-y-4`,children:[Et,Dt]})}),t[178]=Et,t[179]=Dt,t[180]=j):j=t[180],Fe=Me,Xe=`backups`,qe=`space-y-4`,Je=r&&(0,k.jsxs)(`div`,{className:`rounded-md border border-tactical-amber/40 bg-tactical-amber/5 p-4 text-sm`,role:`alert`,children:[(0,k.jsx)(`p`,{className:`font-medium`,children:`An automated backup failed`}),(0,k.jsxs)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:[r.Message,` (`,c(r.Date),`)`]})]}),Ye=i&&(0,k.jsxs)(`div`,{className:`rounded-md border border-tactical-amber/40 bg-tactical-amber/5 p-4 text-sm`,role:`alert`,children:[(0,k.jsx)(`p`,{className:`font-medium`,children:`A backup raised a warning`}),(0,k.jsxs)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:[i.Message,` (`,c(i.Date),`)`]})]}),Pe=T,t[181]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,k.jsx)(T.Header,{children:`Automated Backups`}),t[181]=Ge):Ge=t[181],w=T.Content;let Ot=u.BackupRetentionPeriod===0?`Disabled`:`${u.BackupRetentionPeriod} days`;t[182]===Ot?dt=t[183]:(dt=(0,k.jsx)(E,{label:`Retention`,value:Ot}),t[182]=Ot,t[183]=dt);let kt=o?.Status??`None — automated backups are off`;t[184]===kt?ft=t[185]:(ft=(0,k.jsx)(E,{label:`Status`,value:kt}),t[184]=kt,t[185]=ft),t[186]===u.PreferredBackupWindow?I=t[187]:(I=(0,k.jsx)(E,{label:`Preferred backup window`,value:u.PreferredBackupWindow}),t[186]=u.PreferredBackupWindow,t[187]=I),t[188]===u.PreferredMaintenanceWindow?ze=t[189]:(ze=(0,k.jsx)(E,{label:`Preferred maintenance window`,value:u.PreferredMaintenanceWindow}),t[188]=u.PreferredMaintenanceWindow,t[189]=ze),C=E,lt=`Last backup`,ut=a?.SnapshotCreateTime&&c(a.SnapshotCreateTime),t[9]=de.DBInstanceAutomatedBackups?.[0],t[10]=n,t[11]=se.Events,t[12]=u,t[13]=f,t[14]=le.DBSnapshots,t[15]=fe,t[16]=x,t[17]=pe,t[18]=C,t[19]=w,t[20]=Pe,t[21]=Fe,t[22]=Ie,t[23]=Le,t[24]=Re,t[25]=ze,t[26]=Ge,t[27]=qe,t[28]=Je,t[29]=Ye,t[30]=Xe,t[31]=Ze,t[32]=Qe,t[33]=A,t[34]=j,t[35]=ct,t[36]=M,t[37]=N,t[38]=P,t[39]=F,t[40]=lt,t[41]=ut,t[42]=dt,t[43]=ft,t[44]=I}else C=t[18],w=t[19],Pe=t[20],Fe=t[21],Ie=t[22],Le=t[23],Re=t[24],ze=t[25],Ge=t[26],qe=t[27],Je=t[28],Ye=t[29],Xe=t[30],Ze=t[31],Qe=t[32],A=t[33],j=t[34],ct=t[35],M=t[36],N=t[37],P=t[38],F=t[39],lt=t[40],ut=t[41],dt=t[42],ft=t[43],I=t[44];let L;t[190]!==C||t[191]!==lt||t[192]!==ut?(L=(0,k.jsx)(C,{label:lt,value:ut}),t[190]=C,t[191]=lt,t[192]=ut,t[193]=L):L=t[193];let R;t[194]!==w||t[195]!==ze||t[196]!==L||t[197]!==dt||t[198]!==ft||t[199]!==I?(R=(0,k.jsxs)(w,{children:[dt,ft,I,ze,L]}),t[194]=w,t[195]=ze,t[196]=L,t[197]=dt,t[198]=ft,t[199]=I,t[200]=R):R=t[200];let z;t[201]!==Pe||t[202]!==Ge||t[203]!==R?(z=(0,k.jsxs)(Pe,{children:[Ge,R]}),t[201]=Pe,t[202]=Ge,t[203]=R,t[204]=z):z=t[204];let pt;t[205]===Symbol.for(`react.memo_cache_sentinel`)?(pt=(0,k.jsx)(`h3`,{className:`text-sm font-medium`,children:`Snapshots`}),t[205]=pt):pt=t[205];let B;t[206]!==r||t[207]!==Re?(B=(0,k.jsxs)(`div`,{className:`space-y-2`,children:[pt,Re.length>0?(0,k.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,k.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,k.jsx)(`thead`,{children:(0,k.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,k.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Identifier`}),(0,k.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Type`}),(0,k.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`}),(0,k.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Created`}),(0,k.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,k.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,k.jsx)(`tbody`,{children:Re.map(e=>{let t=e.DBSnapshotIdentifier;return t?(0,k.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,k.jsx)(`td`,{className:`px-4 py-2 font-medium`,children:(0,k.jsx)(o,{className:`text-primary hover:underline`,params:{id:t},to:`/rds/describe-db-snapshots/$id`,children:t})}),(0,k.jsx)(`td`,{className:`px-4 py-2`,children:e.SnapshotType}),(0,k.jsx)(`td`,{className:`px-4 py-2`,children:(0,k.jsx)(ke,{state:e.Status})}),(0,k.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:c(e.SnapshotCreateTime)}),(0,k.jsxs)(`td`,{className:`space-x-2 px-4 py-2 text-right`,children:[(0,k.jsx)(l,{disabled:!m(e.Status),onClick:async()=>await r({to:`/rds/restore-db-instance-from-db-snapshot/$id`,params:{id:t}}),size:`sm`,variant:`outline`,children:`Restore`}),(0,k.jsx)(l,{disabled:!ge(e.Status,e.SnapshotType),onClick:()=>De(t),size:`sm`,variant:`destructive`,children:`Delete`})]})]},t):null})})]})}):(0,k.jsx)(`p`,{className:`text-muted-foreground`,children:`No snapshots of this instance.`})]}),t[206]=r,t[207]=Re,t[208]=B):B=t[208];let V;t[209]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,k.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Automated backups are daily snapshots taken in the backup window, deleted by retention rather than by hand. There is no point-in-time restore.`}),t[209]=V):V=t[209];let H;t[210]!==qe||t[211]!==Je||t[212]!==Ye||t[213]!==z||t[214]!==B?(H=(0,k.jsxs)(`div`,{className:qe,children:[Je,Ye,z,B,V]}),t[210]=qe,t[211]=Je,t[212]=Ye,t[213]=z,t[214]=B,t[215]=H):H=t[215];let U;t[216]!==Fe||t[217]!==Xe||t[218]!==H?(U=(0,k.jsx)(Fe,{value:Xe,children:H}),t[216]=Fe,t[217]=Xe,t[218]=H,t[219]=U):U=t[219];let W;t[220]===oe?W=t[221]:(W=(0,k.jsx)(Me,{value:`tags`,children:(0,k.jsx)(He,{arn:oe})}),t[220]=oe,t[221]=W);let G;t[222]===Le?G=t[223]:(G=(0,k.jsx)(Me,{value:`events`,children:(0,k.jsx)(D,{events:Le})}),t[222]=Le,t[223]=G);let K;t[224]!==Ie||t[225]!==Ze||t[226]!==Qe||t[227]!==A||t[228]!==j||t[229]!==U||t[230]!==W||t[231]!==G?(K=(0,k.jsxs)(Ie,{defaultValue:Ze,children:[Qe,A,j,U,W,G]}),t[224]=Ie,t[225]=Ze,t[226]=Qe,t[227]=A,t[228]=j,t[229]=U,t[230]=W,t[231]=G,t[232]=K):K=t[232];let q;t[233]!==ct||t[234]!==M||t[235]!==N||t[236]!==K?(q=(0,k.jsxs)(`div`,{className:ct,children:[M,N,K]}),t[233]=ct,t[234]=M,t[235]=N,t[236]=K,t[237]=q):q=t[237];let J;t[238]!==u||t[239]!==v?(J=v&&(0,k.jsx)(Ke,{instance:u,onOpenChange:Se,open:!0}),t[238]=u,t[239]=v,t[240]=J):J=t[240];let Y;t[241]!==n||t[242]!==y?(Y=y&&(0,k.jsx)(Be,{dbInstanceIdentifier:n,onOpenChange:Te,open:!0}),t[241]=n,t[242]=y,t[243]=Y):Y=t[243];let X;t[244]===Ee?X=t[245]:(X=Ee&&(0,k.jsx)(Ve,{dbSnapshotIdentifier:Ee,onOpenChange:e=>!e&&De(null),open:!0}),t[244]=Ee,t[245]=X);let mt=u.DeletionProtection??!1,Z;t[246]===r?Z=t[247]:(Z=async()=>await r({to:`/rds/describe-db-instances`}),t[246]=r,t[247]=Z);let ht;t[248]===Symbol.for(`react.memo_cache_sentinel`)?(ht=()=>{be(!1),Se(!0)},t[248]=ht):ht=t[248];let Q;t[249]!==n||t[250]!==p||t[251]!==mt||t[252]!==Z?(Q=(0,k.jsx)(Ue,{dbInstanceIdentifier:n,deletionProtection:mt,onDeleted:Z,onModify:ht,onOpenChange:be,open:p}),t[249]=n,t[250]=p,t[251]=mt,t[252]=Z,t[253]=Q):Q=t[253];let $;return t[254]!==P||t[255]!==F||t[256]!==q||t[257]!==J||t[258]!==Y||t[259]!==X||t[260]!==Q?($=(0,k.jsxs)(k.Fragment,{children:[P,F,q,J,Y,X,Q]}),t[254]=P,t[255]=F,t[256]=q,t[257]=J,t[258]=Y,t[259]=X,t[260]=Q,t[261]=$):$=t[261],$}function tt(e){return`${e.DBParameterGroupName} (${e.ParameterApplyStatus})`}function nt(e){return e.VpcSecurityGroupId}function rt(e){return(0,k.jsxs)(`span`,{className:`text-xs text-tactical-amber`,children:[e.StatusType,`: `,e.Message??e.Status]},`${e.StatusType}-${e.Status}`)}function it(e,t){return(e.SnapshotCreateTime?.getTime()??0)-(t.SnapshotCreateTime?.getTime()??0)}function at(e){return e.SnapshotType===p}function ot(e){return A(e,`backup`)&&A(e,`notification`)}function st(e){return A(e,`backup`)&&A(e,`failure`)}function ct(){let e=(0,We.c)(2),{id:t}=w.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,k.jsx)(j,{dbInstanceIdentifier:n}),e[0]=n,e[1]=r),r}export{ct as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id41.js b/spinifex/services/spinifexui/frontend/dist/assets/_id41.js new file mode 100644 index 000000000..cdd37b051 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id41.js @@ -0,0 +1 @@ +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as ee}from"./useSuspenseQuery.js";import{t as te}from"./link.js";import{t as ne}from"./useNavigate.js";import{Qt as re}from"./cluster-config.js";import{t as ie}from"./back-link.js";import{t as ae}from"./trash-2.js";import{t as oe}from"./button.js";import{a as se,d as ce,l as le}from"./rds.js";import{i as ue,p as de}from"./rds3.js";import{t as fe}from"./page-heading.js";import{t as i}from"./_id20.js";import{n as a,t as o}from"./detail-row.js";import{t as pe}from"./state-badge.js";import{i as me,n as he,r as ge,t as _e}from"./tabs.js";import{t as ve}from"./delete-db-snapshot-dialog.js";import{t as ye}from"./rds-events-panel.js";import{t as be}from"./rds-tags-tab.js";var xe=r(),Se=e(n(),1),s=t();function Ce(e){let t=(0,xe.c)(114),{dbSnapshotIdentifier:n}=e,r=ne(),i;t[0]===n?i=t[1]:(i=ue(n),t[0]=n,t[1]=i);let{data:Ce}=ee(i),c=Ce.DBSnapshots?.[0],we=c?.DBSnapshotArn??``,l;t[2]===n?l=t[3]:(l=de(n),t[2]=n,t[3]=l);let{data:Te}=ee(l),[Ee,De]=(0,Se.useState)(!1);if(!c?.DBSnapshotIdentifier){let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(ie,{to:`/rds/describe-db-snapshots`,children:`Back to snapshots`}),(0,s.jsx)(`p`,{className:`text-muted-foreground`,children:`DB snapshot not found.`})]}),t[4]=e):e=t[4],e}let u=c.Status,d=c.SnapshotType,Oe=d===se,f=c.DBInstanceIdentifier??``,ke;t[5]===Te.Events?ke=t[6]:(ke=Te.Events??[],t[5]=Te.Events,t[6]=ke);let Ae=ke,je;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(je=(0,s.jsx)(ie,{to:`/rds/describe-db-snapshots`,children:`Back to snapshots`}),t[7]=je):je=t[7];let Me;t[8]===u?Me=t[9]:(Me=ce(u),t[8]=u,t[9]=Me);let Ne=!Me,p;t[10]!==n||t[11]!==r?(p=async()=>await r({to:`/rds/restore-db-instance-from-db-snapshot/$id`,params:{id:n}}),t[10]=n,t[11]=r,t[12]=p):p=t[12];let m;t[13]!==Ne||t[14]!==p?(m=(0,s.jsx)(oe,{disabled:Ne,onClick:p,size:`sm`,variant:`outline`,children:`Restore`}),t[13]=Ne,t[14]=p,t[15]=m):m=t[15];let h;t[16]!==d||t[17]!==u?(h=le(u,d),t[16]=d,t[17]=u,t[18]=h):h=t[18];let Pe=!h,g;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>De(!0),t[19]=g):g=t[19];let _;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,s.jsx)(ae,{className:`size-4`}),t[20]=_):_=t[20];let v;t[21]===Pe?v=t[22]:(v=(0,s.jsxs)(oe,{disabled:Pe,onClick:g,size:`sm`,variant:`destructive`,children:[_,`Delete`]}),t[21]=Pe,t[22]=v);let y;t[23]!==v||t[24]!==m?(y=(0,s.jsxs)(`div`,{className:`flex gap-2`,children:[m,v]}),t[23]=v,t[24]=m,t[25]=y):y=t[25];let b;t[26]!==n||t[27]!==y?(b=(0,s.jsx)(fe,{actions:y,subtitle:`DB Snapshot`,title:n}),t[26]=n,t[27]=y,t[28]=b):b=t[28];let x;t[29]===u?x=t[30]:(x=(0,s.jsx)(pe,{state:u}),t[29]=u,t[30]=x);let S;t[31]===Oe?S=t[32]:(S=Oe&&(0,s.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`An automated backup: it is deleted by the source instance's backup retention, not by hand.`}),t[31]=Oe,t[32]=S);let C;t[33]!==x||t[34]!==S?(C=(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[x,S]}),t[33]=x,t[34]=S,t[35]=C):C=t[35];let w;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,s.jsxs)(he,{children:[(0,s.jsx)(me,{value:`overview`,children:`Overview`}),(0,s.jsx)(me,{value:`tags`,children:`Tags`}),(0,s.jsx)(me,{value:`events`,children:`Events`})]}),t[36]=w):w=t[36];let T;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,s.jsx)(a.Header,{children:`Snapshot`}),t[37]=T):T=t[37];let E;t[38]===d?E=t[39]:(E=(0,s.jsx)(o,{label:`Type`,value:d}),t[38]=d,t[39]=E);let D;t[40]===u?D=t[41]:(D=(0,s.jsx)(o,{label:`Status`,value:u}),t[40]=u,t[41]=D);let O;t[42]===c.SnapshotCreateTime?O=t[43]:(O=re(c.SnapshotCreateTime),t[42]=c.SnapshotCreateTime,t[43]=O);let k;t[44]===O?k=t[45]:(k=(0,s.jsx)(o,{label:`Created`,value:O}),t[44]=O,t[45]=k);let Fe=c.PercentProgress===void 0?void 0:`${c.PercentProgress}%`,A;t[46]===Fe?A=t[47]:(A=(0,s.jsx)(o,{label:`Progress`,value:Fe}),t[46]=Fe,t[47]=A);let j;t[48]===c.DBSnapshotArn?j=t[49]:(j=(0,s.jsx)(o,{label:`ARN`,value:c.DBSnapshotArn}),t[48]=c.DBSnapshotArn,t[49]=j);let M;t[50]!==E||t[51]!==D||t[52]!==k||t[53]!==A||t[54]!==j?(M=(0,s.jsxs)(a,{children:[T,(0,s.jsxs)(a.Content,{children:[E,D,k,A,j]})]}),t[50]=E,t[51]=D,t[52]=k,t[53]=A,t[54]=j,t[55]=M):M=t[55];let N;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,s.jsx)(a.Header,{children:`Source`}),t[56]=N):N=t[56];let P;t[57]===f?P=t[58]:(P=f===``?void 0:(0,s.jsx)(te,{className:`text-primary hover:underline`,params:{id:f},to:`/rds/describe-db-instances/$id`,children:f}),t[57]=f,t[58]=P);let F;t[59]===P?F=t[60]:(F=(0,s.jsx)(o,{label:`DB instance`,value:P}),t[59]=P,t[60]=F);let I;t[61]===c.Engine?I=t[62]:(I=(0,s.jsx)(o,{label:`Engine`,value:c.Engine}),t[61]=c.Engine,t[62]=I);let L;t[63]===c.EngineVersion?L=t[64]:(L=(0,s.jsx)(o,{label:`Version`,value:c.EngineVersion}),t[63]=c.EngineVersion,t[64]=L);let Ie=c.AllocatedStorage?`${c.AllocatedStorage} GiB`:void 0,R;t[65]===Ie?R=t[66]:(R=(0,s.jsx)(o,{label:`Allocated storage`,value:Ie}),t[65]=Ie,t[66]=R);let z;t[67]===c.StorageType?z=t[68]:(z=(0,s.jsx)(o,{label:`Storage type`,value:c.StorageType}),t[67]=c.StorageType,t[68]=z);let Le=c.Encrypted?`Encrypted — always on`:`Not encrypted`,B;t[69]===Le?B=t[70]:(B=(0,s.jsx)(o,{label:`Encryption`,value:Le}),t[69]=Le,t[70]=B);let V;t[71]===c.MasterUsername?V=t[72]:(V=(0,s.jsx)(o,{label:`Master username`,value:c.MasterUsername}),t[71]=c.MasterUsername,t[72]=V);let H;t[73]===c.Port?H=t[74]:(H=c.Port?.toString(),t[73]=c.Port,t[74]=H);let U;t[75]===H?U=t[76]:(U=(0,s.jsx)(o,{label:`Port`,value:H}),t[75]=H,t[76]=U);let W;t[77]===c.VpcId?W=t[78]:(W=(0,s.jsx)(o,{label:`VPC`,value:c.VpcId}),t[77]=c.VpcId,t[78]=W);let G;t[79]!==F||t[80]!==I||t[81]!==L||t[82]!==R||t[83]!==z||t[84]!==B||t[85]!==V||t[86]!==U||t[87]!==W?(G=(0,s.jsxs)(a,{children:[N,(0,s.jsxs)(a.Content,{children:[F,I,L,R,z,B,V,U,W]})]}),t[79]=F,t[80]=I,t[81]=L,t[82]=R,t[83]=z,t[84]=B,t[85]=V,t[86]=U,t[87]=W,t[88]=G):G=t[88];let Re;t[89]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,s.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`A restore starts on this snapshot's datadir, so the engine, the master credentials and the initial database come with it and cannot be changed.`}),t[89]=Re):Re=t[89];let K;t[90]!==M||t[91]!==G?(K=(0,s.jsx)(ge,{value:`overview`,children:(0,s.jsxs)(`div`,{className:`space-y-4`,children:[M,G,Re]})}),t[90]=M,t[91]=G,t[92]=K):K=t[92];let q;t[93]===we?q=t[94]:(q=(0,s.jsx)(ge,{value:`tags`,children:(0,s.jsx)(be,{arn:we})}),t[93]=we,t[94]=q);let J;t[95]===Ae?J=t[96]:(J=(0,s.jsx)(ge,{value:`events`,children:(0,s.jsx)(ye,{events:Ae})}),t[95]=Ae,t[96]=J);let Y;t[97]!==K||t[98]!==q||t[99]!==J?(Y=(0,s.jsxs)(_e,{defaultValue:`overview`,children:[w,K,q,J]}),t[97]=K,t[98]=q,t[99]=J,t[100]=Y):Y=t[100];let X;t[101]!==b||t[102]!==C||t[103]!==Y?(X=(0,s.jsxs)(`div`,{className:`space-y-6`,children:[b,C,Y]}),t[101]=b,t[102]=C,t[103]=Y,t[104]=X):X=t[104];let Z;t[105]===r?Z=t[106]:(Z=async()=>await r({to:`/rds/describe-db-snapshots`}),t[105]=r,t[106]=Z);let Q;t[107]!==n||t[108]!==Ee||t[109]!==Z?(Q=(0,s.jsx)(ve,{dbSnapshotIdentifier:n,onDeleted:Z,onOpenChange:De,open:Ee}),t[107]=n,t[108]=Ee,t[109]=Z,t[110]=Q):Q=t[110];let $;return t[111]!==X||t[112]!==Q?($=(0,s.jsxs)(s.Fragment,{children:[je,X,Q]}),t[111]=X,t[112]=Q,t[113]=$):$=t[113],$}function c(){let e=(0,xe.c)(2),{id:t}=i.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,s.jsx)(Ce,{dbSnapshotIdentifier:n}),e[0]=n,e[1]=r),r}export{c as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_id42.js b/spinifex/services/spinifexui/frontend/dist/assets/_id42.js new file mode 100644 index 000000000..adaf2c0d5 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/_id42.js @@ -0,0 +1 @@ +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{n as ee}from"./QueryClientProvider.js";import{t as te}from"./useQuery.js";import{t as i}from"./useSuspenseQuery.js";import{t as ne}from"./useNavigate.js";import{t as a}from"./back-link.js";import{i as o,n as s,r as c,t as re}from"./cli-command-panel.js";import{t as l}from"./input.js";import{a as u,n as d,r as f,t as p}from"./field.js";import{o as m,w as h}from"./ec2.js";import{C as g,d as _,w as v}from"./rds.js";import{f as y}from"./rds2.js";import{d as ie,h as ae,i as oe,l as se,o as ce}from"./rds3.js";import{a as le,i as ue,t as de}from"./zod.js";import{t as fe}from"./error-banner.js";import{t as b}from"./page-heading.js";import{t as pe}from"./form-actions.js";import{t as x}from"./_id21.js";import{n as S,t as C}from"./detail-row.js";import{a as me,r as he}from"./system-managed.js";import{t as ge}from"./system-image-required.js";import{n as _e}from"./picker-notice.js";import{a as w,i as T,n as E,o as D,r as O,s as k,t as A}from"./security-group-checkboxes.js";import{t as j}from"./tags-field-array.js";var M=r(),N=e(n(),1),P=t(),F=[{label:`Engine and version`,note:`The datadir is written in one engine's on-disk format; restoring it as another is refused.`},{label:`Master username and password`,note:`The datadir already holds the master role and its password hash, so no bootstrap runs.`},{label:`Initial database`,note:`A restore cannot create a database the snapshot does not hold.`},{label:`Backup retention and windows`,note:`The restored instance takes the platform defaults; change them with a modify afterwards.`}];function I({dbSnapshotIdentifier:e}){let t=ne(),n=ee(),r=y(),[o,s]=(0,N.useState)(!1),{data:c}=i(oe(e)),{data:x}=i(ce),{data:M}=i(ae),{data:I}=i(ie),{data:L}=i(h),{data:ye}=i(m),R=c.DBSnapshots?.[0],z=R?.Engine??``,B=R?.AllocatedStorage??0,V=te(se(z)),{clearErrors:be,control:H,formState:{errors:U,isSubmitting:xe},handleSubmit:Se,register:W,setError:Ce,setValue:G}=ue({resolver:de(g),defaultValues:{snapshotAllocatedStorage:B,dbInstanceIdentifier:v(R?.DBInstanceIdentifier??``,`restored`),dbInstanceClass:``,allocatedStorage:B,port:R?.Port?String(R.Port):``,dbSubnetGroupName:``,vpcSecurityGroupIds:[],dbParameterGroupName:``,deletionProtection:!1,tags:[]}}),K=le({control:H}),q=K.dbSubnetGroupName??``,J=K.vpcSecurityGroupIds??[],we=async()=>{s(!0);try{await n.invalidateQueries({queryKey:m.queryKey})}finally{s(!1)}},Y=e=>{be(`vpcSecurityGroupIds`),G(`vpcSecurityGroupIds`,e,{shouldValidate:!0})},Te=e=>{let t=e===null?``:e,n=Z.find(e=>e.DBSubnetGroupName===t)?.VpcId??R?.VpcId,r=O($,n,J);if(t!==``&&n!==R?.VpcId&&r.length===0){let e=E($,n);r=e?[e]:[]}G(`dbSubnetGroupName`,t,{shouldValidate:!0}),Y(r)},Ee=async n=>{if(n.dbSubnetGroupName!==``&&Q!==R?.VpcId&&n.vpcSecurityGroupIds.length===0){Ce(`vpcSecurityGroupIds`,{message:`Select a security group in the new placement VPC`});return}try{await r.mutateAsync({...n,dbSnapshotIdentifier:e})}catch{return}await t({to:`/rds/describe-db-instances/$id`,params:{id:n.dbInstanceIdentifier}})};if(!R?.DBSnapshotIdentifier)return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(a,{to:`/rds/describe-db-snapshots`,children:`Back to snapshots`}),(0,P.jsx)(`p`,{className:`text-muted-foreground`,children:`DB snapshot not found.`})]});if(!_(R.Status))return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(a,{to:`/rds/describe-db-snapshots`,children:`Back to snapshots`}),(0,P.jsx)(b,{subtitle:e,title:`Restore Snapshot`}),(0,P.jsxs)(`p`,{className:`text-muted-foreground`,children:[e,` is `,R.Status,`. A snapshot can only be restored once it is available.`]})]});if(!(ye.Images??[]).some(e=>he(e,z,R.EngineVersion??``)))return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(a,{to:`/rds/describe-db-snapshots`,children:`Back to snapshots`}),(0,P.jsx)(b,{subtitle:e,title:`Restore Snapshot`}),(0,P.jsx)(ge,{description:`This snapshot holds ${z} data and can only be restored onto a ${z} instance, but no ${z} image is imported on this cluster.`,importCommand:me(z),isRechecking:o,onRecheck:we,title:`${z} image not found`})]});let De=V.data?.OrderableDBInstanceOptions??[],X=[...new Set(De.map(e=>e.DBInstanceClass??``).filter(Boolean))],Oe=_e(V,X.length===0,{loading:`Loading the instance classes…`,failed:`Could not read the instance classes`,empty:`No instance class this cluster's nodes can run is available for ${z}.`}),Z=M.DBSubnetGroups??[],ke=k(I.DBParameterGroups??[],x.DBEngineVersions??[],z),Q=Z.find(e=>e.DBSubnetGroupName===q)?.VpcId??R.VpcId,$=L.SecurityGroups??[],Ae=T($,Q);return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(a,{to:`/rds/describe-db-snapshots`,children:`Back to snapshots`}),(0,P.jsx)(b,{subtitle:e,title:`Restore Snapshot`}),r.error&&(0,P.jsx)(fe,{error:r.error,msg:`Failed to restore the DB snapshot`}),(0,P.jsxs)(`div`,{className:`max-w-4xl space-y-6`,children:[(0,P.jsxs)(S,{children:[(0,P.jsx)(S.Header,{children:`Restoring From`}),(0,P.jsxs)(S.Content,{children:[(0,P.jsx)(C,{label:`Snapshot`,value:e}),(0,P.jsx)(C,{label:`Source DB instance`,value:R.DBInstanceIdentifier}),(0,P.jsx)(C,{label:`Engine`,value:[z,R.EngineVersion].filter(Boolean).join(` `)}),(0,P.jsx)(C,{label:`Master username`,value:R.MasterUsername}),(0,P.jsx)(C,{label:`Snapshot storage`,value:B?`${B} GiB`:void 0})]})]}),(0,P.jsxs)(`form`,{className:`space-y-6`,onSubmit:Se(Ee),children:[(0,P.jsxs)(p,{children:[(0,P.jsx)(u,{children:(0,P.jsx)(`label`,{htmlFor:`restore-identifier`,children:`New DB instance identifier`})}),(0,P.jsx)(l,{"aria-invalid":!!U.dbInstanceIdentifier,id:`restore-identifier`,...W(`dbInstanceIdentifier`)}),(0,P.jsx)(d,{children:`A restore always creates a new instance; it never writes back over the one the snapshot came from.`}),(0,P.jsx)(f,{errors:[U.dbInstanceIdentifier]})]}),(0,P.jsx)(D,{control:H,id:`restore-class`,label:`DB instance class`,name:`dbInstanceClass`,notice:Oe,options:X.map(e=>({value:e,label:e})),placeholder:`Select an instance class`}),(0,P.jsxs)(p,{children:[(0,P.jsx)(u,{children:(0,P.jsx)(`label`,{htmlFor:`restore-storage`,children:`Allocated storage (GiB)`})}),(0,P.jsx)(l,{"aria-invalid":!!U.allocatedStorage,id:`restore-storage`,min:B,type:`number`,...W(`allocatedStorage`,{valueAsNumber:!0})}),(0,P.jsxs)(d,{children:[`The snapshot holds `,B,` GiB. A restore may grow the volume but never shrink it.`]}),(0,P.jsx)(f,{errors:[U.allocatedStorage]})]}),(0,P.jsxs)(p,{children:[(0,P.jsx)(u,{children:(0,P.jsx)(`label`,{htmlFor:`restore-port`,children:`Port`})}),(0,P.jsx)(l,{"aria-invalid":!!U.port,id:`restore-port`,placeholder:`Snapshot's port`,...W(`port`)}),(0,P.jsx)(d,{children:`Leave blank to keep the port the snapshot was taken on. The port is fixed once the instance exists.`}),(0,P.jsx)(f,{errors:[U.port]})]}),(0,P.jsx)(D,{control:H,description:`Leave unset to place the restored endpoint in the group the snapshot recorded.`,id:`restore-subnet-group`,label:`DB subnet group`,name:`dbSubnetGroupName`,onValueChange:Te,options:Z.map(e=>({value:e.DBSubnetGroupName??``,label:`${e.DBSubnetGroupName} (${e.VpcId})`})),placeholder:`The snapshot's subnet group`}),(0,P.jsxs)(p,{children:[(0,P.jsx)(u,{children:`VPC security groups`}),(0,P.jsx)(A,{emptyText:Q?`No security groups available in ${Q}.`:`The snapshot does not identify a placement VPC.`,groups:Ae,onChange:Y,selected:J}),(0,P.jsx)(d,{children:`Leave every box clear to inherit the groups the snapshot recorded.`}),(0,P.jsx)(f,{errors:[U.vpcSecurityGroupIds]})]}),(0,P.jsx)(D,{control:H,id:`restore-parameter-group`,label:`DB parameter group`,name:`dbParameterGroupName`,options:ke.map(e=>({value:e.DBParameterGroupName??``,label:e.DBParameterGroupName??``})),placeholder:`The snapshot's parameter group`}),(0,P.jsx)(w,{control:H,name:`deletionProtection`}),(0,P.jsx)(j,{control:H,name:`tags`}),(0,P.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border p-4`,children:[(0,P.jsx)(`h3`,{className:`text-xs font-medium`,children:`Inherited from the snapshot`}),F.map(e=>(0,P.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[(0,P.jsx)(`span`,{className:`font-medium`,children:e.label}),` —`,` `,e.note]},e.label))]}),(0,P.jsx)(re,{commands:ve(e,{dbInstanceIdentifier:K.dbInstanceIdentifier??``,dbInstanceClass:K.dbInstanceClass??``,allocatedStorage:K.allocatedStorage??B,port:K.port??``,dbSubnetGroupName:q,vpcSecurityGroupIds:J,dbParameterGroupName:K.dbParameterGroupName??``,deletionProtection:K.deletionProtection??!1})}),(0,P.jsx)(pe,{isPending:r.isPending,isSubmitting:xe,onCancel:async()=>await t({to:`/rds/describe-db-snapshots`}),pendingLabel:`Restoring…`,submitLabel:`Restore Snapshot`})]})]})]})}function ve(e,t){return[{label:`Restore DB Instance`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws rds restore-db-instance-from-db-snapshot`},...c(`--db-snapshot-identifier`,e),...c(`--db-instance-identifier`,s(t.dbInstanceIdentifier,`DBInstanceIdentifier`)),...c(`--db-instance-class`,s(t.dbInstanceClass,`DBInstanceClass`)),...c(`--allocated-storage`,t.allocatedStorage),...o(`--port`,t.port),...o(`--db-subnet-group-name`,t.dbSubnetGroupName),...o(`--vpc-security-group-ids`,t.vpcSecurityGroupIds.join(` `)),...o(`--db-parameter-group-name`,t.dbParameterGroupName),...o(`--deletion-protection`,t.deletionProtection)]}]}function L(){let e=(0,M.c)(2),{id:t}=x.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,P.jsx)(I,{dbSnapshotIdentifier:n}),e[0]=n,e[1]=r),r}export{L as component}; \ 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 dc4f0563f..8a67241fc 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/_id20.js","assets/compiler-runtime.js","assets/QueryClientProvider.js","assets/useMutation.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/circle-arrow-up.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/admin-context.js","assets/sts.js","assets/module.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.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{rt as n}from"./cluster-config.js";import{a as r}from"./ec2.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(`./_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,33,34,35,36])),`component`)});export{i 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/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useSuspenseQuery.js","assets/link.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/createLucideIcon.js","assets/back-link.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/rotate-cw.js","assets/trash-2.js","assets/input.js","assets/field.js","assets/alert-dialog.js","assets/admin-context.js","assets/sts.js","assets/module.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/iam2.js","assets/commandBuilder3.js","assets/json.js","assets/error-banner.js","assets/gpu-instance-type-select.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js","assets/ami-details.js","assets/admin.js","assets/textarea.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{a as r,c as i,s as a}from"./ec2.js";var o=e(`/_auth/ec2/(instances)/describe-instances/$id`)({loader:async({context:e,params:t})=>{let[n]=await Promise.all([e.queryClient.ensureQueryData(a(t.id)),e.queryClient.ensureQueryData(i)]),o=n.Reservations?.[0]?.Instances?.[0]?.ImageId;return await e.queryClient.ensureQueryData(r(o)),n},head:({loaderData:e})=>({meta:[{title:`${e?.Reservations?.[0]?.Instances?.[0]?.InstanceId??`Instance`} | EC2 | 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,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49])),`component`)});export{o 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 59f0917a9..1dc4d6a8f 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/_id21.js","assets/compiler-runtime.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useSuspenseQuery.js","assets/link.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/createLucideIcon.js","assets/back-link.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/rotate-cw.js","assets/trash-2.js","assets/input.js","assets/field.js","assets/alert-dialog.js","assets/admin-context.js","assets/sts.js","assets/module.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/iam2.js","assets/commandBuilder3.js","assets/json.js","assets/error-banner.js","assets/gpu-instance-type-select.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js","assets/ami-details.js","assets/admin.js","assets/textarea.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{a as r,c as i,s as a}from"./ec2.js";var o=e(`/_auth/ec2/(instances)/describe-instances/$id`)({loader:async({context:e,params:t})=>{let[n]=await Promise.all([e.queryClient.ensureQueryData(a(t.id)),e.queryClient.ensureQueryData(i)]),o=n.Reservations?.[0]?.Instances?.[0]?.ImageId;return await e.queryClient.ensureQueryData(r(o)),n},head:({loaderData:e})=>({meta:[{title:`${e?.Reservations?.[0]?.Instances?.[0]?.InstanceId??`Instance`} | EC2 | 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,42,43,44,45,46,47,48,49])),`component`)});export{o as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id25.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/detail-row.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{M as r,u as i}from"./ec2.js";var a=e(`/_auth/ec2/(internet-gateways)/describe-internet-gateways/$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} | Internet Gateway | Mulga`}]}),component:t(()=>n(()=>import(`./_id25.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])),`component`)});export{a 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 cf02de993..6562f15ae 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/_id22.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/detail-row.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{M as r,u as i}from"./ec2.js";var a=e(`/_auth/ec2/(internet-gateways)/describe-internet-gateways/$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} | Internet Gateway | 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])),`component`)});export{a as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id26.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{f as r}from"./ec2.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(`./_id26.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{i 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 10087ebfd..752803f19 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/_id23.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/error-banner.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/detail-row.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{f as r}from"./ec2.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(`./_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])),`component`)});export{i as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id27.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/createLucideIcon.js","assets/back-link.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/input.js","assets/field.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/ec23.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/detail-row.js","assets/launch-template-data-fields.js","assets/collapsible.js","assets/textarea.js","assets/badge.js","assets/useRender.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{O as r,c as i,h as a,m as o,o as s,p as c,w as l}from"./ec2.js";var u=e(`/_auth/ec2/(launch-templates)/describe-launch-templates/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(a),e.queryClient.ensureQueryData(o(t.id)),e.queryClient.ensureQueryData(s),e.queryClient.ensureQueryData(i),e.queryClient.ensureQueryData(c),e.queryClient.ensureQueryData(r),e.queryClient.ensureQueryData(l)])},head:({params:e})=>({meta:[{title:`${e.id} | Launch Template | Mulga`}]}),component:t(()=>n(()=>import(`./_id27.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,44])),`component`)});export{u 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 0bdf3907a..2c40716a3 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/_id24.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/cluster-config.js","assets/hex-encoding.js","assets/createLucideIcon.js","assets/back-link.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/input.js","assets/field.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/page-heading.js","assets/ec23.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js","assets/detail-row.js","assets/launch-template-data-fields.js","assets/collapsible.js","assets/textarea.js","assets/badge.js","assets/useRender.js"])))=>i.map(i=>d[i]); -import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{O as r,c as i,h as a,m as o,o as s,p as c,w as l}from"./ec2.js";var u=e(`/_auth/ec2/(launch-templates)/describe-launch-templates/$id`)({loader:async({context:e,params:t})=>{await Promise.all([e.queryClient.ensureQueryData(a),e.queryClient.ensureQueryData(o(t.id)),e.queryClient.ensureQueryData(s),e.queryClient.ensureQueryData(i),e.queryClient.ensureQueryData(c),e.queryClient.ensureQueryData(r),e.queryClient.ensureQueryData(l)])},head:({params:e})=>({meta:[{title:`${e.id} | Launch Template | 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,33,34,35,36,37,38,39,40,41,42,43,44])),`component`)});export{u as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_id28.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useNavigate.js","assets/useStore.js","assets/cluster-config.js","assets/hex-encoding.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/pencil.js","assets/trash-2.js","assets/input.js","assets/field.js","assets/alert-dialog.js","assets/acm.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/certificate-import-dialog.js","assets/useMutation.js","assets/error-banner.js","assets/textarea.js","assets/ec2.js","assets/elbv2.js","assets/commandBuilder2.js","assets/elbv22.js","assets/zod.js","assets/page-heading.js","assets/delete-confirmation-dialog.js","assets/detail-row.js","assets/state-badge.js","assets/elbv23.js","assets/attributes-editor.js","assets/tags-editor.js","assets/plus.js","assets/tabs.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{O as r}from"./ec2.js";import{i,n as a,r as o,s,u 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(i(n)),e.queryClient.ensureQueryData(a(n)),e.queryClient.ensureQueryData(o(n)),e.queryClient.ensureQueryData(s([n])),e.queryClient.ensureQueryData(c),e.queryClient.ensureQueryData(r)])},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.id)} | Load Balancer | Mulga`}]}),component:t(()=>n(()=>import(`./_id28.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,44,45,46,47,48,49])),`component`)});export{l as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_name.js b/spinifex/services/spinifexui/frontend/dist/assets/_name.js new file mode 100644 index 000000000..3bd2d693e --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/_name.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_name3.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/useNavigate.js","assets/useStore.js","assets/back-link.js","assets/link.js","assets/createLucideIcon.js","assets/select.js","assets/useValueAsRef.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/button.js","assets/check.js","assets/chevron-down.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/trash-2.js","assets/input.js","assets/rds.js","assets/awsClient.js","assets/index.browser.js","assets/rds2.js","assets/useMutation.js","assets/rds3.js","assets/queryOptions.js","assets/page-heading.js","assets/detail-row.js","assets/tabs.js","assets/rds-tags-tab.js","assets/useQuery.js","assets/tags-editor.js","assets/plus.js","assets/delete-db-parameter-group-dialog.js","assets/rds-delete-dialog.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{b as r}from"./rds.js";import{f as i,g as a,u as o}from"./rds3.js";var s=e(`/_auth/rds/(parameter-groups)/describe-db-parameter-groups/$name`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.name),[s]=await Promise.all([e.queryClient.ensureQueryData(o(n)),e.queryClient.ensureQueryData(i(n))]),c=r(n)?``:s.DBParameterGroups?.[0]?.DBParameterGroupArn??``;c!==``&&await e.queryClient.ensureQueryData(a(c))},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.name)} | RDS | Mulga`}]}),component:t(()=>n(()=>import(`./_name3.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])),`component`)});export{s as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_name2.js b/spinifex/services/spinifexui/frontend/dist/assets/_name2.js new file mode 100644 index 000000000..526c0f32e --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/_name2.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_name4.js","assets/compiler-runtime.js","assets/useSuspenseQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/useStore.js","assets/useNavigate.js","assets/back-link.js","assets/createLucideIcon.js","assets/trash-2.js","assets/button.js","assets/dist.js","assets/cluster-config.js","assets/hex-encoding.js","assets/rds3.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/rds.js","assets/page-heading.js","assets/detail-row.js","assets/state-badge.js","assets/tabs.js","assets/useValueAsRef.js","assets/createBaseUIEventDetails.js","assets/useScrollLock.js","assets/useControlled.js","assets/useCompositeListItem.js","assets/rds-tags-tab.js","assets/useQuery.js","assets/rds2.js","assets/useMutation.js","assets/tags-editor.js","assets/plus.js","assets/input.js","assets/useRegisterFieldControl.js","assets/delete-db-subnet-group-dialog.js","assets/rds-delete-dialog.js","assets/delete-confirmation-dialog.js","assets/alert-dialog.js"])))=>i.map(i=>d[i]); +import{n as e,t}from"./lazyRouteComponent.js";import{rt as n}from"./cluster-config.js";import{g as r,m as i}from"./rds3.js";var a=e(`/_auth/rds/(subnet-groups)/describe-db-subnet-groups/$name`)({loader:async({context:e,params:t})=>{let n=decodeURIComponent(t.name),a=(await e.queryClient.ensureQueryData(i(n))).DBSubnetGroups?.[0]?.DBSubnetGroupArn??``;a!==``&&await e.queryClient.ensureQueryData(r(a))},head:({params:e})=>({meta:[{title:`${decodeURIComponent(e.name)} | RDS | Mulga`}]}),component:t(()=>n(()=>import(`./_name4.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 t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_name3.js b/spinifex/services/spinifexui/frontend/dist/assets/_name3.js new file mode 100644 index 000000000..62e3385c6 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/_name3.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"./useSuspenseQuery.js";import{t as a}from"./useNavigate.js";import{t as o}from"./back-link.js";import{c as s,i as c,n as l,s as u,t as d}from"./select.js";import{t as f}from"./trash-2.js";import{t as p}from"./button.js";import{t as m}from"./input.js";import{b as h,s as g,t as _}from"./rds.js";import{u as v}from"./rds2.js";import{f as y,u as ee}from"./rds3.js";import{t as te}from"./page-heading.js";import{t as b}from"./_name.js";import{n as x,t as S}from"./detail-row.js";import{i as ne,n as re,r as ie,t as ae}from"./tabs.js";import{t as oe}from"./rds-tags-tab.js";import{t as se}from"./delete-db-parameter-group-dialog.js";var ce=r(),le=e(n(),1),C=t();function w(e){let t=e.AllowedValues??``;if(e.DataType!==`boolean`&&e.DataType!==`enum`)return null;let n=t.split(`,`).filter(e=>e.length>0);return n.length===0?null:n.includes(e.ParameterValue??``)?n:null}function T(e){return e.DataType===`integer`||e.DataType===`real`}function E(e){return e.ApplyType===`static`?_:e.ApplyMethod??`pending-reboot`}function D(e){let t=(0,ce.c)(23),{parameter:n,value:r,options:i,editable:a,onChange:o}=e,c=n.ParameterName??``;if(!a){let e;return t[0]===r?e=t[1]:(e=(0,C.jsx)(`span`,{className:`font-mono text-xs`,children:r}),t[0]=r,t[1]=e),e}if(i){let e;t[2]===o?e=t[3]:(e=e=>o(e??``),t[2]=o,t[3]=e);let n=`Value of ${c}`,a;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,C.jsx)(s,{}),t[4]=a):a=t[4];let f;t[5]===n?f=t[6]:(f=(0,C.jsx)(u,{"aria-label":n,className:`w-40`,children:a}),t[5]=n,t[6]=f);let p;t[7]===i?p=t[8]:(p=i.map(O),t[7]=i,t[8]=p);let m;t[9]===p?m=t[10]:(m=(0,C.jsx)(l,{children:p}),t[9]=p,t[10]=m);let h;return t[11]!==e||t[12]!==f||t[13]!==m||t[14]!==r?(h=(0,C.jsxs)(d,{onValueChange:e,value:r,children:[f,m]}),t[11]=e,t[12]=f,t[13]=m,t[14]=r,t[15]=h):h=t[15],h}let f=`Value of ${c}`,p;t[16]===o?p=t[17]:(p=e=>o(e.target.value),t[16]=o,t[17]=p);let h=T(n)?`number`:`text`,g;return t[18]!==f||t[19]!==p||t[20]!==h||t[21]!==r?(g=(0,C.jsx)(m,{"aria-label":f,className:`w-40`,onChange:p,type:h,value:r}),t[18]=f,t[19]=p,t[20]=h,t[21]=r,t[22]=g):g=t[22],g}function O(e){return(0,C.jsx)(c,{value:e,children:e},e)}function ue({dbParameterGroupName:e,parameters:t,readOnly:n}){let r=v(),[i,a]=(0,le.useState)({}),[o,f]=(0,le.useState)(``),[h,_]=(0,le.useState)(`all`),y=Object.keys(i),ee=y.length>20,te=y.some(e=>(i[e]?.value??``).trim()===``),b=(e,t)=>{let n=e.ParameterName??``;a(r=>({...r,[n]:{value:e.ParameterValue??``,applyMethod:E(e),...r[n],...t}}))},x=e=>{a(t=>{let{[e]:n,...r}=t;return r})},S=async()=>{try{await r.mutateAsync({dbParameterGroupName:e,parameters:y.map(e=>({name:e,value:i[e]?.value??``,applyMethod:i[e]?.applyMethod??`pending-reboot`}))}),a({})}catch{}},ne=o.trim().toLowerCase(),re=t.filter(e=>{let t=e.Source??``;return h===`user`&&t!==`user`||h===`engine-default`&&t===`user`?!1:(e.ParameterName??``).toLowerCase().includes(ne)});return(0,C.jsxs)(`div`,{className:`space-y-4`,children:[(0,C.jsxs)(`div`,{className:`flex flex-wrap items-end gap-3`,children:[(0,C.jsxs)(`div`,{className:`grow`,children:[(0,C.jsx)(`label`,{className:`sr-only`,htmlFor:`parameter-filter`,children:`Filter parameters`}),(0,C.jsx)(m,{id:`parameter-filter`,onChange:e=>f(e.target.value),placeholder:`Filter by parameter name`,value:o})]}),(0,C.jsxs)(d,{onValueChange:e=>_(e??`all`),value:h,children:[(0,C.jsx)(u,{"aria-label":`Filter by source`,className:`w-56`,children:(0,C.jsx)(s,{})}),(0,C.jsxs)(l,{children:[(0,C.jsx)(c,{value:`all`,children:`All parameters`}),(0,C.jsx)(c,{value:`user`,children:`Modified (user)`}),(0,C.jsx)(c,{value:`engine-default`,children:`Engine default`})]})]})]}),!n&&y.length>0&&(0,C.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3 rounded-md border p-3`,children:[(0,C.jsxs)(`p`,{className:`text-sm`,children:[y.length,` parameter`,y.length===1?``:`s`,` edited`]}),(0,C.jsx)(p,{disabled:ee||te||r.isPending,onClick:()=>void S(),size:`sm`,children:r.isPending?`Saving…`:`Save Changes`}),(0,C.jsx)(p,{onClick:()=>a({}),size:`sm`,variant:`outline`,children:`Discard`}),ee&&(0,C.jsxs)(`p`,{className:`text-xs text-destructive`,children:[`At most `,20,` parameters can be saved at once. Each save is applied as a whole, so a larger edit is split by you rather than half-applied by us.`]}),te&&(0,C.jsx)(`p`,{className:`text-xs text-destructive`,children:`An edited parameter cannot be left blank.`})]}),r.error&&(0,C.jsx)(`p`,{className:`text-sm text-destructive`,children:r.error.message}),re.length>0?(0,C.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,C.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,C.jsx)(`thead`,{children:(0,C.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,C.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Name`}),(0,C.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Value`}),(0,C.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Allowed`}),(0,C.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Source`}),(0,C.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Apply`}),(0,C.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,C.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,C.jsx)(`tbody`,{children:re.map(e=>{let t=e.ParameterName??``,r=i[t],a=w(e),o=!n&&e.IsModifiable,f=r?.value??e.ParameterValue??``,m=r?.applyMethod??E(e),h=g(e.ApplyType);return(0,C.jsxs)(`tr`,{className:`border-b align-top last:border-0`,children:[(0,C.jsxs)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:[t,(0,C.jsx)(`span`,{className:`mt-0.5 block font-sans text-muted-foreground`,children:e.Description})]}),(0,C.jsx)(`td`,{className:`px-4 py-2`,children:(0,C.jsx)(D,{editable:o??!1,onChange:t=>b(e,{value:t}),options:a,parameter:e,value:f})}),(0,C.jsxs)(`td`,{className:`px-4 py-2 font-mono text-xs text-muted-foreground`,children:[e.AllowedValues??`—`,(0,C.jsxs)(`span`,{className:`mt-0.5 block font-sans`,children:[e.DataType,!e.IsModifiable&&` · fixed by the platform`]})]}),(0,C.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:e.Source}),(0,C.jsx)(`td`,{className:`px-4 py-2`,children:o&&r&&h.length>1?(0,C.jsxs)(d,{onValueChange:t=>b(e,{applyMethod:t??`pending-reboot`}),value:m,children:[(0,C.jsx)(u,{"aria-label":`Apply method of ${t}`,className:`w-44`,children:(0,C.jsx)(s,{})}),(0,C.jsx)(l,{children:h.map(e=>(0,C.jsx)(c,{value:e,children:e},e))})]}):(0,C.jsxs)(`span`,{className:`text-xs`,children:[m,e.ApplyType===`static`&&(0,C.jsx)(`span`,{className:`mt-0.5 block text-muted-foreground`,children:`static — adopted at the next reboot`})]})}),(0,C.jsx)(`td`,{className:`px-4 py-2 text-right`,children:r&&(0,C.jsx)(p,{onClick:()=>x(t),size:`sm`,variant:`ghost`,children:`Reset`})})]},t)})})]})}):(0,C.jsx)(`p`,{className:`text-muted-foreground`,children:`No parameter matches this filter.`})]})}function k(e){let t=(0,ce.c)(106),{dbParameterGroupName:n}=e,r=a(),s;t[0]===n?s=t[1]:(s=ee(n),t[0]=n,t[1]=s);let{data:c}=i(s),l=c.DBParameterGroups?.[0],u;t[2]===n?u=t[3]:(u=h(n),t[2]=n,t[3]=u);let d=u,m=d?``:l?.DBParameterGroupArn??``,g;t[4]===n?g=t[5]:(g=y(n),t[4]=n,t[5]=g);let{data:_}=i(g),[v,b]=(0,le.useState)(!1);if(!l?.DBParameterGroupName){let e;return t[6]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(o,{to:`/rds/describe-db-parameter-groups`,children:`Back to parameter groups`}),(0,C.jsx)(`p`,{className:`text-muted-foreground`,children:`DB parameter group not found.`})]}),t[6]=e):e=t[6],e}let w,T,E,D,O,k,A,j,M,N,P,F,I,L,R,z,B,V,H,U;if(t[7]!==n||t[8]!==l.DBParameterGroupFamily||t[9]!==l.Description||t[10]!==d||t[11]!==_.Parameters){let e=_.Parameters??[],r=e.filter(de).length;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,C.jsx)(o,{to:`/rds/describe-db-parameter-groups`,children:`Back to parameter groups`}),t[32]=L):L=t[32],P=`space-y-6`;let i;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>b(!0),t[33]=i):i=t[33];let a;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,C.jsx)(f,{className:`size-4`}),t[34]=a):a=t[34];let s;t[35]===d?s=t[36]:(s=(0,C.jsxs)(p,{disabled:d,onClick:i,size:`sm`,variant:`destructive`,children:[a,`Delete`]}),t[35]=d,t[36]=s),t[37]!==n||t[38]!==s?(F=(0,C.jsx)(te,{actions:s,subtitle:`DB Parameter Group`,title:n}),t[37]=n,t[38]=s,t[39]=F):F=t[39],t[40]===d?I=t[41]:(I=d&&(0,C.jsxs)(`div`,{className:`rounded-md border border-tactical-amber/40 bg-tactical-amber/5 p-4 text-sm`,role:`note`,children:[(0,C.jsx)(`p`,{className:`font-medium`,children:`This is a default parameter group`}),(0,C.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`The service owns it. It can be read and attached to an instance, but it cannot be modified, deleted or tagged. Create your own group of the same family to change a value.`})]}),t[40]=d,t[41]=I),O=ae,j=`parameters`;let c,u;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,C.jsx)(ne,{value:`parameters`,children:`Parameters`}),u=(0,C.jsx)(ne,{value:`details`,children:`Details`}),t[42]=c,t[43]=u):(c=t[42],u=t[43]);let m;t[44]===d?m=t[45]:(m=!d&&(0,C.jsx)(ne,{value:`tags`,children:`Tags`}),t[44]=d,t[45]=m),t[46]===m?M=t[47]:(M=(0,C.jsxs)(re,{children:[c,u,m]}),t[46]=m,t[47]=M),N=(0,C.jsx)(ie,{value:`parameters`,children:(0,C.jsx)(ue,{dbParameterGroupName:n,parameters:e,readOnly:d})}),D=ie,A=`details`,E=x,t[48]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,C.jsx)(x.Header,{children:`Details`}),t[48]=k):k=t[48],T=x.Content,t[49]===l.DBParameterGroupFamily?B=t[50]:(B=(0,C.jsx)(S,{label:`Family`,value:l.DBParameterGroupFamily}),t[49]=l.DBParameterGroupFamily,t[50]=B),t[51]===l.Description?V=t[52]:(V=(0,C.jsx)(S,{label:`Description`,value:l.Description}),t[51]=l.Description,t[52]=V);let h=d?`Default`:`Customer`;t[53]===h?H=t[54]:(H=(0,C.jsx)(S,{label:`Type`,value:h}),t[53]=h,t[54]=H);let g;t[55]===e?g=t[56]:(g=e.length.toString(),t[55]=e,t[56]=g),t[57]===g?U=t[58]:(U=(0,C.jsx)(S,{label:`Parameters`,value:g}),t[57]=g,t[58]=U),w=S,R=`Overridden`,z=r.toString(),t[7]=n,t[8]=l.DBParameterGroupFamily,t[9]=l.Description,t[10]=d,t[11]=_.Parameters,t[12]=w,t[13]=T,t[14]=E,t[15]=D,t[16]=O,t[17]=k,t[18]=A,t[19]=j,t[20]=M,t[21]=N,t[22]=P,t[23]=F,t[24]=I,t[25]=L,t[26]=R,t[27]=z,t[28]=B,t[29]=V,t[30]=H,t[31]=U}else w=t[12],T=t[13],E=t[14],D=t[15],O=t[16],k=t[17],A=t[18],j=t[19],M=t[20],N=t[21],P=t[22],F=t[23],I=t[24],L=t[25],R=t[26],z=t[27],B=t[28],V=t[29],H=t[30],U=t[31];let W;t[59]!==w||t[60]!==R||t[61]!==z?(W=(0,C.jsx)(w,{label:R,value:z}),t[59]=w,t[60]=R,t[61]=z,t[62]=W):W=t[62];let G;t[63]===l.DBParameterGroupArn?G=t[64]:(G=(0,C.jsx)(S,{label:`ARN`,value:l.DBParameterGroupArn}),t[63]=l.DBParameterGroupArn,t[64]=G);let K;t[65]!==T||t[66]!==W||t[67]!==G||t[68]!==B||t[69]!==V||t[70]!==H||t[71]!==U?(K=(0,C.jsxs)(T,{children:[B,V,H,U,W,G]}),t[65]=T,t[66]=W,t[67]=G,t[68]=B,t[69]=V,t[70]=H,t[71]=U,t[72]=K):K=t[72];let q;t[73]!==E||t[74]!==k||t[75]!==K?(q=(0,C.jsxs)(E,{children:[k,K]}),t[73]=E,t[74]=k,t[75]=K,t[76]=q):q=t[76];let J;t[77]!==D||t[78]!==A||t[79]!==q?(J=(0,C.jsx)(D,{value:A,children:q}),t[77]=D,t[78]=A,t[79]=q,t[80]=J):J=t[80];let Y;t[81]!==m||t[82]!==d?(Y=!d&&(0,C.jsx)(ie,{value:`tags`,children:(0,C.jsx)(oe,{arn:m})}),t[81]=m,t[82]=d,t[83]=Y):Y=t[83];let X;t[84]!==O||t[85]!==j||t[86]!==M||t[87]!==N||t[88]!==J||t[89]!==Y?(X=(0,C.jsxs)(O,{defaultValue:j,children:[M,N,J,Y]}),t[84]=O,t[85]=j,t[86]=M,t[87]=N,t[88]=J,t[89]=Y,t[90]=X):X=t[90];let Z;t[91]!==P||t[92]!==F||t[93]!==I||t[94]!==X?(Z=(0,C.jsxs)(`div`,{className:P,children:[F,I,X]}),t[91]=P,t[92]=F,t[93]=I,t[94]=X,t[95]=Z):Z=t[95];let Q;t[96]===r?Q=t[97]:(Q=async()=>await r({to:`/rds/describe-db-parameter-groups`}),t[96]=r,t[97]=Q);let $;t[98]!==n||t[99]!==v||t[100]!==Q?($=(0,C.jsx)(se,{dbParameterGroupName:n,onDeleted:Q,onOpenChange:b,open:v}),t[98]=n,t[99]=v,t[100]=Q,t[101]=$):$=t[101];let fe;return t[102]!==L||t[103]!==Z||t[104]!==$?(fe=(0,C.jsxs)(C.Fragment,{children:[L,Z,$]}),t[102]=L,t[103]=Z,t[104]=$,t[105]=fe):fe=t[105],fe}function de(e){return e.Source===`user`}function A(){let e=(0,ce.c)(2),{name:t}=b.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,C.jsx)(k,{dbParameterGroupName:n}),e[0]=n,e[1]=r),r}export{A as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/_name4.js b/spinifex/services/spinifexui/frontend/dist/assets/_name4.js new file mode 100644 index 000000000..c10b927c9 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/_name4.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"./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{m as u}from"./rds3.js";import{t as d}from"./page-heading.js";import{t as f}from"./_name2.js";import{n as p,t as m}from"./detail-row.js";import{t as h}from"./state-badge.js";import{i as g,n as _,r as v,t as y}from"./tabs.js";import{t as b}from"./rds-tags-tab.js";import{t as x}from"./delete-db-subnet-group-dialog.js";var S=r(),C=e(n(),1),w=t();function T(e){let t=(0,S.c)(53),{dbSubnetGroupName:n}=e,r=o(),a;t[0]===n?a=t[1]:(a=u(n),t[0]=n,t[1]=a);let{data:f}=i(a),T=f.DBSubnetGroups?.[0],D=T?.DBSubnetGroupArn??``,[O,k]=(0,C.useState)(!1);if(!T?.DBSubnetGroupName){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(s,{to:`/rds/describe-db-subnet-groups`,children:`Back to subnet groups`}),(0,w.jsx)(`p`,{className:`text-muted-foreground`,children:`DB subnet group not found.`})]}),t[2]=e):e=t[2],e}let A;t[3]===T.Subnets?A=t[4]:(A=T.Subnets??[],t[3]=T.Subnets,t[4]=A);let j=A,M;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,w.jsx)(s,{to:`/rds/describe-db-subnet-groups`,children:`Back to subnet groups`}),t[5]=M):M=t[5];let N;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(N=()=>k(!0),t[6]=N):N=t[6];let P;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,w.jsxs)(l,{onClick:N,size:`sm`,variant:`destructive`,children:[(0,w.jsx)(c,{className:`size-4`}),`Delete`]}),t[7]=P):P=t[7];let F;t[8]===n?F=t[9]:(F=(0,w.jsx)(d,{actions:P,subtitle:`DB Subnet Group`,title:n}),t[8]=n,t[9]=F);let I;t[10]===T.SubnetGroupStatus?I=t[11]:(I=(0,w.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,w.jsx)(h,{state:T.SubnetGroupStatus})}),t[10]=T.SubnetGroupStatus,t[11]=I);let L;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,w.jsxs)(_,{children:[(0,w.jsx)(g,{value:`subnets`,children:`Subnets`}),(0,w.jsx)(g,{value:`tags`,children:`Tags`})]}),t[12]=L):L=t[12];let R;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,w.jsx)(p.Header,{children:`Details`}),t[13]=R):R=t[13];let z;t[14]===T.DBSubnetGroupDescription?z=t[15]:(z=(0,w.jsx)(m,{label:`Description`,value:T.DBSubnetGroupDescription}),t[14]=T.DBSubnetGroupDescription,t[15]=z);let B;t[16]===T.VpcId?B=t[17]:(B=(0,w.jsx)(m,{label:`VPC`,value:T.VpcId}),t[16]=T.VpcId,t[17]=B);let V;t[18]===j.length?V=t[19]:(V=j.length.toString(),t[18]=j.length,t[19]=V);let H;t[20]===V?H=t[21]:(H=(0,w.jsx)(m,{label:`Subnets`,value:V}),t[20]=V,t[21]=H);let U;t[22]===T.DBSubnetGroupArn?U=t[23]:(U=(0,w.jsx)(m,{label:`ARN`,value:T.DBSubnetGroupArn}),t[22]=T.DBSubnetGroupArn,t[23]=U);let W;t[24]!==z||t[25]!==B||t[26]!==H||t[27]!==U?(W=(0,w.jsxs)(p,{children:[R,(0,w.jsxs)(p.Content,{children:[z,B,H,U]})]}),t[24]=z,t[25]=B,t[26]=H,t[27]=U,t[28]=W):W=t[28];let G;t[29]===j?G=t[30]:(G=j.length>0?(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:`Subnet`}),(0,w.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Availability zone`}),(0,w.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`})]})}),(0,w.jsx)(`tbody`,{children:j.map(E)})]})}):(0,w.jsx)(`p`,{className:`text-muted-foreground`,children:`This group holds no subnets.`}),t[29]=j,t[30]=G);let K;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,w.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`This group records which subnets RDS may place an endpoint in; each subnet's own CIDR, addresses and routing live on its EC2 page. Membership is fixed at create — ModifyDBSubnetGroup is not implemented. Changing it means creating a new group, which a DB instance can only adopt by being recreated.`}),t[31]=K):K=t[31];let q;t[32]!==W||t[33]!==G?(q=(0,w.jsx)(v,{value:`subnets`,children:(0,w.jsxs)(`div`,{className:`space-y-4`,children:[W,G,K]})}),t[32]=W,t[33]=G,t[34]=q):q=t[34];let J;t[35]===D?J=t[36]:(J=(0,w.jsx)(v,{value:`tags`,children:(0,w.jsx)(b,{arn:D})}),t[35]=D,t[36]=J);let Y;t[37]!==q||t[38]!==J?(Y=(0,w.jsxs)(y,{defaultValue:`subnets`,children:[L,q,J]}),t[37]=q,t[38]=J,t[39]=Y):Y=t[39];let X;t[40]!==Y||t[41]!==F||t[42]!==I?(X=(0,w.jsxs)(`div`,{className:`space-y-6`,children:[F,I,Y]}),t[40]=Y,t[41]=F,t[42]=I,t[43]=X):X=t[43];let Z;t[44]===r?Z=t[45]:(Z=async()=>await r({to:`/rds/describe-db-subnet-groups`}),t[44]=r,t[45]=Z);let Q;t[46]!==n||t[47]!==O||t[48]!==Z?(Q=(0,w.jsx)(x,{dbSubnetGroupName:n,onDeleted:Z,onOpenChange:k,open:O}),t[46]=n,t[47]=O,t[48]=Z,t[49]=Q):Q=t[49];let $;return t[50]!==X||t[51]!==Q?($=(0,w.jsxs)(w.Fragment,{children:[M,X,Q]}),t[50]=X,t[51]=Q,t[52]=$):$=t[52],$}function E(e){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:(0,w.jsx)(a,{className:`text-primary hover:underline`,params:{id:e.SubnetIdentifier??``},to:`/ec2/describe-subnets/$id`,children:e.SubnetIdentifier})}),(0,w.jsx)(`td`,{className:`px-4 py-2`,children:e.SubnetAvailabilityZone?.Name??`—`}),(0,w.jsx)(`td`,{className:`px-4 py-2`,children:e.SubnetStatus})]},e.SubnetIdentifier)}function D(){let e=(0,S.c)(2),{name:t}=f.useParams(),n=decodeURIComponent(t),r;return e[0]===n?r=e[1]:(r=(0,w.jsx)(T,{dbSubnetGroupName:n}),e[0]=n,e[1]=r),r}export{D as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/acm.js b/spinifex/services/spinifexui/frontend/dist/assets/acm.js index 7aba78045..b2eb134cd 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/acm.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/acm.js @@ -1 +1 @@ -import{t as e}from"./queryOptions.js";import{At as t,dt as n}from"./cluster-config.js";import{Bi as r,n as i,zi as a}from"./awsClient.js";var o=t(r,`CertificateManager`,`ACMClient`,n),s={ServiceType:{type:`staticContextParams`,value:`ACM`}},c=(e,t,n,r)=>[],l=class extends o(s,c,`ListCertificates`,a){},u=e({queryKey:[`acm`,`certificates`],queryFn:async()=>{let e=new l({});return await i().send(e)}});export{o as i,s as n,c as r,u as t}; \ No newline at end of file +import{t as e}from"./queryOptions.js";import{At as t,dt as n}from"./cluster-config.js";import{ma as r,n as i,pa as a}from"./awsClient.js";var o=t(r,`CertificateManager`,`ACMClient`,n),s={ServiceType:{type:`staticContextParams`,value:`ACM`}},c=(e,t,n,r)=>[],l=class extends o(s,c,`ListCertificates`,a){},u=e({queryKey:[`acm`,`certificates`],queryFn:async()=>{let e=new l({});return await i().send(e)}});export{o as i,s as n,c as r,u as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/attributes-editor.js b/spinifex/services/spinifexui/frontend/dist/assets/attributes-editor.js new file mode 100644 index 000000000..b6fae8c8c --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/attributes-editor.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,i as a,n as o,s,t as c}from"./select.js";import{t as l}from"./button.js";import{t as u}from"./input.js";import{a as d,r as f,t as p}from"./field.js";var m=r(),h=e(n(),1),g=t();function _(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 v(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 y(e){let t=(0,m.c)(56),{specs:n,attributes:r,onSubmit:a,isPending:y,error:x,isSuccess:S}=e,C;t[0]!==r||t[1]!==n?(C=_(n,r),t[0]=r,t[1]=n,t[2]=C):C=t[2];let w=C,[T,E]=(0,h.useState)(w),D;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(D=(e,t)=>{E(n=>({...n,[e]:t}))},t[3]=D):D=t[3];let O=D,k;if(t[4]!==n||t[5]!==T){k={};for(let e of n)k[e.key]=v(e,T[e.key]??``);t[4]=n,t[5]=T,t[6]=k}else k=t[6];let A=Object.values(k).some(Boolean),j;if(t[7]!==w||t[8]!==n||t[9]!==T){let e;t[11]!==w||t[12]!==T?(e=e=>(T[e.key]??``)!==(w[e.key]??``),t[11]=w,t[12]=T,t[13]=e):e=t[13];let r;t[14]===T?r=t[15]:(r=e=>({key:e.key,value:T[e.key]??``}),t[14]=T,t[15]=r),j=n.filter(e).map(r),t[7]=w,t[8]=n,t[9]=T,t[10]=j}else j=t[10];let M=j,N;t[16]===w?N=t[17]:(N=()=>{E(w)},t[16]=w,t[17]=N);let P=N,F;t[18]!==M||t[19]!==A||t[20]!==a?(F=e=>{e.preventDefault(),!(A||M.length===0)&&a(M)},t[18]=M,t[19]=A,t[20]=a,t[21]=F):F=t[21];let I;t[22]===x?I=t[23]:(I=x&&(0,g.jsx)(`div`,{className:`mb-4 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive`,role:`alert`,children:x.message||`Failed to save attributes`}),t[22]=x,t[23]=I);let L;t[24]!==M.length||t[25]!==S?(L=S&&M.length===0&&(0,g.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]=M.length,t[25]=S,t[26]=L):L=t[26];let R;if(t[27]!==k||t[28]!==n||t[29]!==T){let e;t[31]!==k||t[32]!==T?(e=e=>{let t=`attr-${e.key}`,n=T[e.key]??``,r=k[e.key];return(0,g.jsxs)(p,{children:[(0,g.jsx)(d,{children:(0,g.jsx)(`label`,{htmlFor:t,children:e.label})}),e.type===`bool`&&(0,g.jsx)(`input`,{"aria-label":e.label,checked:n===`true`,id:t,onChange:t=>O(e.key,t.target.checked?`true`:`false`),type:`checkbox`}),e.type===`int`&&(0,g.jsx)(u,{"aria-invalid":!!r,id:t,inputMode:`numeric`,onChange:t=>O(e.key,t.target.value),value:n}),e.type===`text`&&(0,g.jsx)(u,{id:t,onChange:t=>O(e.key,t.target.value),placeholder:e.placeholder,value:n}),e.type===`select`&&(0,g.jsxs)(c,{onValueChange:t=>O(e.key,t??``),value:n,children:[(0,g.jsx)(s,{className:`w-full`,id:t,children:(0,g.jsx)(i,{})}),(0,g.jsx)(o,{children:e.options.map(b)})]}),e.description&&(0,g.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.description}),(0,g.jsx)(f,{errors:[r?{message:r}:void 0]})]},e.key)},t[31]=k,t[32]=T,t[33]=e):e=t[33],R=n.map(e),t[27]=k,t[28]=n,t[29]=T,t[30]=R}else R=t[30];let z;t[34]===R?z=t[35]:(z=(0,g.jsx)(`div`,{className:`grid gap-4 p-4 sm:grid-cols-2`,children:R}),t[34]=R,t[35]=z);let B=M.length===0?`No changes`:`${M.length} change${M.length===1?``:`s`} pending`,V;t[36]===B?V=t[37]:(V=(0,g.jsx)(`span`,{className:`mr-auto text-xs text-muted-foreground`,children:B}),t[36]=B,t[37]=V);let H=y||M.length===0,U;t[38]!==P||t[39]!==H?(U=(0,g.jsx)(l,{disabled:H,onClick:P,size:`sm`,type:`button`,variant:`secondary`,children:`Reset`}),t[38]=P,t[39]=H,t[40]=U):U=t[40];let W=y||A||M.length===0,G=y?`Saving…`:`Save changes`,K;t[41]!==W||t[42]!==G?(K=(0,g.jsx)(l,{disabled:W,size:`sm`,type:`submit`,children:G}),t[41]=W,t[42]=G,t[43]=K):K=t[43];let q;t[44]!==V||t[45]!==U||t[46]!==K?(q=(0,g.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t p-4`,children:[V,U,K]}),t[44]=V,t[45]=U,t[46]=K,t[47]=q):q=t[47];let J;t[48]!==q||t[49]!==z?(J=(0,g.jsxs)(`div`,{className:`rounded-lg border bg-card`,children:[z,q]}),t[48]=q,t[49]=z,t[50]=J):J=t[50];let Y;return t[51]!==J||t[52]!==F||t[53]!==I||t[54]!==L?(Y=(0,g.jsxs)(`form`,{onSubmit:F,children:[I,L,J]}),t[51]=J,t[52]=F,t[53]=I,t[54]=L,t[55]=Y):Y=t[55],Y}function b(e){return(0,g.jsx)(a,{value:e,children:e},e)}var x=[{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`}],S=[{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}];export{x as n,S as r,y 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 98b1e2c59..4bad0d568 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/awsClient.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/awsClient.js @@ -1,5 +1,5 @@ -import{$ as e,A as t,At as n,B as r,Bt as i,C as a,Ct as o,D as s,Dt as c,E as l,Et as ee,F as u,Ft as te,G as d,Gt as ne,H as re,I as ie,It as ae,J as oe,K as se,Kt as ce,L as le,Lt as eee,M as ue,Mt as de,N as fe,Nt as pe,O as me,Ot as he,P as ge,Pt as _e,Q as ve,R as ye,Rt as be,S as xe,St as tee,Tt as nee,U as Se,Ut as Ce,V as we,Vt as Te,W as Ee,Wt as De,X as Oe,Z as ke,_ as ree,_t as iee,a as Ae,at as je,b as Me,bt as Ne,ct as Pe,dt as aee,et as Fe,ft as Ie,g as Le,gt as Re,h as ze,ht as Be,it as Ve,j as He,jt as Ue,k as We,kt as Ge,lt as Ke,mt as qe,nt as oee,ot as Je,pt as Ye,q as Xe,qt as Ze,st as Qe,t as $e,tt as see,v as et,vt as cee,w as tt,wt as nt,x as rt,xt as it,y as lee,yt as at,z as uee,zt as dee}from"./cluster-config.js";import{a as ot,i as st,n as fee,r as ct}from"./hex-encoding.js";import{g as pee,r as mee}from"./index.browser.js";function lt(e){return(e.includes(`,`)||e.includes(`"`))&&(e=`"${e.replace(/"/g,`\\"`)}"`),e}function ut(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{if(!Ke(n))throw Error(`@smithy/util-stream: unsupported source type ${n?.constructor?.name??n} in ChecksumStream.`);let a=i??he;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=await t.digest(),o=a(i);if(e!==o){let t=Error(`Checksum mismatch: expected "${e}" but received "${o}" in response header "${r}".`);n.error(t)}else n.terminate()}});n.pipeThrough(o);let s=o.readable;return Object.setPrototypeOf(s,ft.prototype),s},gee=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:ee}=await r.read(),u=l;if(ee){if(s!==-1){let t=pt(o,s);mt(t)>0&&e.enqueue(t)}e.close()}else{let r=bee(u,!1);if(s!==r&&(s>=0&&e.enqueue(pt(o,s)),s=r),s===-1){e.enqueue(u);return}let l=mt(u);a+=l;let ee=mt(o[s]);if(l>=t&&ee===0)e.enqueue(u);else{let r=yee(o,s,u);!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(pt(o,s)):await c(e)}}};return new ReadableStream({pull:c})}var vee=_ee;function yee(e,t,n){switch(t){case 0:return e[0]+=n,mt(e[0]);case 1:case 2:return e[t].push(n),mt(e[t])}}function pt(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 mt(e){return e?.byteLength??e?.length??0}function bee(e,t=!0){return t&&typeof Buffer<`u`&&e instanceof Buffer?2:e instanceof Uint8Array?1:typeof e==`string`?0:-1}var xee=(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 +import{$ as e,A as t,At as n,B as r,Bt as i,C as a,Ct as o,D as s,Dt as c,E as l,Et as ee,F as te,Ft as ne,G as re,Gt as ie,H as ae,I as oe,It as se,J as ce,K as le,Kt as ue,L as de,Lt as eee,M as fe,Mt as pe,N as me,Nt as he,O as ge,Ot as _e,P as ve,Pt as ye,Q as be,R as xe,Rt as Se,S as Ce,St as tee,Tt as nee,U as we,Ut as Te,V as Ee,Vt as De,W as Oe,Wt as ke,X as Ae,Z as je,_ as ree,_t as iee,a as Me,at as Ne,b as Pe,bt as Fe,ct as Ie,dt as aee,et as Le,ft as Re,g as ze,gt as Be,h as Ve,ht as He,it as Ue,j as We,jt as Ge,k as Ke,kt as qe,lt as Je,mt as Ye,nt as oee,ot as Xe,pt as Ze,q as Qe,qt as $e,st as et,t as tt,tt as see,v as nt,vt as cee,w as rt,wt as it,x as at,xt as ot,y as lee,yt as st,z as uee,zt as dee}from"./cluster-config.js";import{a as ct,i as lt,n as fee,r as ut}from"./hex-encoding.js";import{g as pee,r as mee}from"./index.browser.js";function dt(e){return(e.includes(`,`)||e.includes(`"`))&&(e=`"${e.replace(/"/g,`\\"`)}"`),e}function ft(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{if(!Je(n))throw Error(`@smithy/util-stream: unsupported source type ${n?.constructor?.name??n} in ChecksumStream.`);let a=i??_e;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=await t.digest(),o=a(i);if(e!==o){let t=Error(`Checksum mismatch: expected "${e}" but received "${o}" in response header "${r}".`);n.error(t)}else n.terminate()}});n.pipeThrough(o);let s=o.readable;return Object.setPrototypeOf(s,mt.prototype),s},gee=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:ee}=await r.read(),te=l;if(ee){if(s!==-1){let t=ht(o,s);gt(t)>0&&e.enqueue(t)}e.close()}else{let r=bee(te,!1);if(s!==r&&(s>=0&&e.enqueue(ht(o,s)),s=r),s===-1){e.enqueue(te);return}let l=gt(te);a+=l;let ee=gt(o[s]);if(l>=t&&ee===0)e.enqueue(te);else{let r=yee(o,s,te);!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(ht(o,s)):await c(e)}}};return new ReadableStream({pull:c})}var vee=_ee;function yee(e,t,n){switch(t){case 0:return e[0]+=n,gt(e[0]);case 1:case 2:return e[t].push(n),gt(e[t])}}function ht(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 gt(e){return e?.byteLength??e?.length??0}function bee(e,t=!0){return t&&typeof Buffer<`u`&&e instanceof Buffer?2:e instanceof Uint8Array?1:typeof e==`string`?0:-1}var xee=(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`)}})},ht=`The stream has already been transformed.`,gt=e=>{if(!_t(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(ht);return t=!0,await Pe(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 he(t);if(e===`hex`)return fee(t);if(e===void 0||e===`utf8`||e===`utf-8`)return ct(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(ht);if(t=!0,_t(e))return r(e);if(Ke(e))return e;throw Error(`Cannot transform payload to web stream, got ${e}`)}})},_t=e=>typeof Blob==`function`&&e instanceof Blob,vt=class extends oee{async serializeRequest(e,t,n){let r=t&&typeof t==`object`?t:{},i=this.serializer,a={},o={},s=await n.endpoint(),c=ae.of(e?.input),l=[],ee=[],u=!1,te,d=new ce({protocol:``,hostname:``,port:void 0,path:``,fragment:void 0,query:a,headers:o,body:void 0});if(s){this.updateServiceEndpoint(d,s),this.setHostPrefix(d,e,r);let t=eee(e.traits);if(t.http){d.method=t.http[0];let[e,n]=t.http[1].split(`?`);d.path==`/`?d.path=e:d.path+=e;let r=new URLSearchParams(n??``);for(let[e,t]of r)a[e]=t}}for(let[e,t]of c.structIterator()){let n=t.getMergedTraits()??{},s=r[e];if(s==null&&!t.isIdempotencyToken()){if(n.httpLabel&&(d.path.includes(`{${e}+}`)||d.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:c})):te=s:(i.write(t,s),te=i.flush());else if(n.httpLabel){i.write(t,s);let n=i.flush();d.path.includes(`{${e}+}`)?d.path=d.path.replace(`{${e}+}`,n.split(`/`).map(je).join(`/`)):d.path.includes(`{${e}}`)&&(d.path=d.path.replace(`{${e}}`,je(n)))}else if(n.httpHeader)i.write(t,s),o[n.httpHeader.toLowerCase()]=String(i.flush());else if(typeof n.httpPrefixHeaders==`string`)for(let e in s){let r=s[e],a=n.httpPrefixHeaders+e;i.write([t.getValueSchema(),{httpHeader:a}],r),o[a.toLowerCase()]=i.flush()}else n.httpQuery||n.httpQueryParams?this.serializeQuery(t,s,a):(u=!0,l.push(e),ee.push(t))}if(u&&r){let[e,t]=(c.getName(!0)??`#Unknown`).split(`#`),n=c.getSchema()[6],a=[3,e,t,c.getMergedTraits(),l,ee,void 0];n?a[6]=n:a.pop(),i.write(a,r),te=i.flush()}return d.headers=o,d.query=a,d.body=te,d}serializeQuery(e,t,n){let r=this.serializer,i=e.getMergedTraits();if(i.httpQueryParams){for(let r in t)if(!(r in n)){let a=t[r],o=e.getValueSchema();Object.assign(o.getMergedTraits(),{...i,httpQuery:r,httpQueryParams:void 0}),this.serializeQuery(o,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=ae.of(e.output),a={};if(n.statusCode>=300){let i=await Je(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 Je(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 Je(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=ae.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]=gt(n.body);else if(n.body){let i=await Je(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?ut(o,`,`,2):tee(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 in n.headers)if(t.startsWith(i.httpPrefixHeaders)){let o=n.headers[t],c=r.getValueSchema();c.getMergedTraits().httpHeader=t,a[e][t.slice(i.httpPrefixHeaders.length)]=await s.read(c,o)}}else i.httpResponseCode?a[e]=n.statusCode:l.push(e)}return l.discardResponseBody=o,l}},yt=class extends Ve{codecDeserializer;stringDeserializer;constructor(t,n){super(),this.codecDeserializer=t,this.stringDeserializer=new e(n)}setSerdeContext(e){this.stringDeserializer.setSerdeContext(e),this.codecDeserializer.setSerdeContext(e),this.serdeContext=e}read(e,t){let n=ae.of(e),r=n.getMergedTraits(),i=this.serdeContext?.utf8Encoder??ct;if(r.httpHeader||r.httpResponseCode)return this.stringDeserializer.read(n,i(t));if(r.httpPayload){if(n.isBlobSchema()){let e=this.serdeContext?.utf8Decoder??st;return typeof t==`string`?e(t):t}if(n.isStringSchema())return`byteLength`in t?i(t):t}return this.codecDeserializer.read(n,t)}},See=class extends Ve{settings;stringBuffer=``;constructor(e){super(),this.settings=e}write(e,t){let n=ae.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(Fe(n,this.settings)){case 5:this.stringBuffer=t.toISOString().replace(`.000Z`,`Z`);break;case 6:this.stringBuffer=nt(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??he)(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:lt(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=o.from(r)),n.getMergedTraits().httpHeader)){this.stringBuffer=(this.serdeContext?.base64Encoder??he)(r.toString());return}this.stringBuffer=t;break;default:this.stringBuffer=n.isIdempotencyToken()?Qe():String(t)}}flush(){let e=this.stringBuffer;return this.stringBuffer=``,e}},bt=class{codecSerializer;stringSerializer;buffer;constructor(e,t,n=new See(t)){this.codecSerializer=e,this.stringSerializer=n}setSerdeContext(e){this.codecSerializer.setSerdeContext(e),this.stringSerializer.setSerdeContext(e)}write(e,t){let n=ae.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()}},xt;function St(){if(xt===void 0)try{if(typeof Buffer!=`function`)xt=!1;else{let e=JSON.parse(Buffer.from([123,125]));xt=typeof e==`object`&&!!e}}catch{xt=!1}return xt}function Ct(e,t,n){if(n?.source){let e=n.source;if(typeof t==`number`)return t<=2**53-1&&t>=-(2**53-1)?wee(e,t)?t:new it(e,`bigDecimal`):Cee(e)?new it(e,`bigDecimal`):/[eE]/.test(e)?Tee(e):BigInt(e)}return t}function Cee(e){let t=e.indexOf(`.`);if(t===-1)return!1;let n=e.search(/[eE]/);if(n===-1)return!0;let r=n-t-1;return parseInt(e.slice(n+1),10)=o.length?o+`0`.repeat(c-o.length):o.slice(0,c)+`.`+o.slice(c)}return i.includes(`.`)&&(i=i.replace(/(\.\d*?)0+$/,`$1`).replace(/\.$/,``)),(t?`-`:``)+i}function Tee(e){let t=e.search(/[eE]/),n=parseInt(e.slice(t+1),10),r=e.startsWith(`-`),i=e.slice(+!!r,t),a=i.indexOf(`.`),o,s;a===-1?(o=i,s=n):(o=i.slice(0,a)+i.slice(a+1),s=n-(i.length-a-1)),o=o.replace(/0+$/,``)||`0`;let c=BigInt(o)*10n**BigInt(s+(i.replace(`.`,``).length-o.length));return r?-c:c}var Tt=Symbol.for(`@aws-sdk/reviver`);function Et(e){let t=ae.of(e),n=t.getSchema();if(Array.isArray(n)&&t.isStructSchema()){if(Tt in n)return n[Tt];let e=Dt(t,new Set);return n[Tt]=e,e}return Dt(t,new Set)}function Dt(e,t){let n=e.getSchema();if(t.has(n))return!1;if(t.add(n),e.isBigIntegerSchema()||e.isBigDecimalSchema())return!0;if(e.isStructSchema()){for(let[,n]of e.structIterator())if(Dt(n,t))return!0}else if(e.isListSchema()||e.isMapSchema()){if(Dt(e.getValueSchema(),t))return!0}else if(e.isDocumentSchema())return!0;return!1}var Ot=(e,t)=>Je(e,t).then(e=>(t?.utf8Encoder??ct)(e));async function kt(e,t,n){let r;if(St()&&typeof e?.[Symbol.asyncIterator]==`function`){let n=await Je(e,t);typeof Buffer==`function`&&(r=Buffer.isBuffer(n)?n:Buffer.from(n.buffer,n.byteOffset,n.byteLength))}if(r||=await Ot(e,t),r.length===0)return{};let i=n&&Et(n)?Ct:void 0;try{return JSON.parse(r,i)}catch(e){throw e?.name===`SyntaxError`&&Object.defineProperty(e,"$responseBodyText",{value:typeof r==`string`?r:r.toString(`utf8`)}),e}}var At=(e,t)=>Object.keys(e).find(e=>e.toLowerCase()===t.toLowerCase()),jt=e=>{let t=e;return typeof t==`number`&&(t=t.toString()),t.indexOf(`,`)>=0&&(t=t.split(`,`)[0]),t.indexOf(`:`)>=0&&(t=t.split(`:`)[0]),t.indexOf(`#`)>=0&&(t=t.split(`#`)[1]),t},Mt=(e,t)=>Pt(e,t,[`header`,`code`,`type`]),Nt=(e,t,n=!1)=>Pt(e,t,n?[`code`,`header`,`type`]:[`type`,`code`,`header`]),Pt=({headers:e},t,n)=>{for(;n.length>0;)switch(n.shift()){case`header`:let n=At(e??{},`x-amzn-errortype`);if(n!==void 0)return jt(e[n]);break;case`code`:let r=At(t??{},`code`);if(r&&t[r]!==void 0)return jt(t[r]);break;case`type`:if(t?.__type!==void 0)return jt(t.__type)}},Ft=class extends Me{settings;constructor(e){super(),this.settings=e}async read(e,t){let n=Et(e)?Ct:void 0,r;if(typeof t==`string`){if(t.length===0)return{};r=JSON.parse(t,n)}else if(t instanceof Uint8Array&&St()){if(t.byteLength===0)return{};let e=Buffer.isBuffer(t)?t:Buffer.from(t.buffer,t.byteOffset,t.byteLength);r=JSON.parse(e,n)}else r=await kt(t,this.serdeContext,e);return this._read(e,r)}readObject(e,t){return this._read(e,t)}_read(e,t){let n=typeof t==`object`&&!!t,r=ae.of(e);if(n){if(r.isStructSchema())return this._readStruct(r,t);if(Array.isArray(t)&&r.isListSchema()){let e=r.getValueSchema();if(this.needsTransform(e))for(let n=0;nLt+6e4&&(console.warn(`@aws-sdk/core/protocols - WARN - JsonCodec2: you have called a string method on a Uint8Array request body. It has been automatically converted to string. In a future version this will throw an error.`),Lt=e),this.string=ct(this)}return this.string}},Lt=0,Rt=new TextEncoder,zt=123,Bt=125,Eee=91,Dee=93,Vt=34,Ht=58,Ut=44,Wt=92,Oee=new Uint8Array([116,114,117,101]),kee=new Uint8Array([102,97,108,115,101]),Aee=new Uint8Array([110,117,108,108]),Gt=Array(128).fill(null);Gt[8]=`b`,Gt[9]=`t`,Gt[10]=`n`,Gt[12]=`f`,Gt[13]=`r`,Gt[34]=`"`,Gt[92]=`\\`;for(let e=0;e<32;e++)Gt[e]===null&&(Gt[e]=`u00`+e.toString(16).padStart(2,`0`));var Kt=2048;function qt(e){return It.allocUnsafe(e)}var jee=class e extends Me{settings;json;i=0;rootSchema;rawValue;passthrough=!1;constructor(e){super(),this.settings=e,this.json=qt(Kt)}write(e,t){this.i=0,this.rawValue=t,this.rootSchema=ae.of(e),this.passthrough=this.rootSchema.isBlobSchema()||this.rootSchema.isStringSchema(),this.passthrough||this.writeValue(this.rootSchema,t,void 0)}writeDiscriminatedDocument(e,t){this.i=0,this.rootSchema=ae.of(e);let n=this.rootSchema;if(n.isStructSchema()&&typeof t==`object`&&t){this.writeValue(n,t,void 0);let e=`"__type":"${n.getName(!0)??`Unknown`}",`,r=e.length;this.ensure(r),this.json.copyWithin(1+r,1,this.i),Rt.encodeInto(e,this.json.subarray(1)),this.i+=r}else this.writeValue(n,t,void 0)}flush(){this.rootSchema=void 0;let e=this.i;this.i=0;let t=this.rawValue;if(this.rawValue=void 0,e===0)return t;let n=this.json.subarray(0,e);return this.json=qt(Kt),n}ensure(e){let{i:t,json:n}=this;if(t+e>n.length){let r=n.length*2;for(;r34&&r<92)this.json[this.i++]=r;else if(r<128){let e=Gt[r];if(e!==null){this.ensure(e.length+1),this.json[this.i++]=Wt;for(let t=0;t=55296&&r<=56319){let i=n+1=56320&&i<=57343){this.ensure(4);let{written:t}=Rt.encodeInto(e.substring(n,n+2),this.json.subarray(this.i));this.i+=t,++n}else this.ensure(6),this.writeUnicodeEscape(r)}else if(r>=56320&&r<=57343)this.ensure(6),this.writeUnicodeEscape(r);else{let{i:e,json:t}=this;r<2048?(t[e++]=192|r>>6,t[e++]=128|r&63):(t[e++]=224|r>>12,t[e++]=128|r>>6&63,t[e++]=128|r&63),this.i=e}}this.json[this.i++]=Vt}writeUnicodeEscape(e){let{json:t,i:n}=this;t[n++]=Wt,t[n++]=117;let r=e.toString(16).padStart(4,`0`);for(let e=0;e<4;++e)t[n++]=r.charCodeAt(e);this.i=n}static B64=(()=>{let e=new Uint8Array(64);for(let t=0;t<64;++t)e[t]=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.charCodeAt(t);return e})();writeBase64(t){let n=Math.ceil(t.length/3)*4;this.ensure(n+2);let r=this.json,i=e.B64,a=this.i;r[a++]=Vt;let o=t.length,s=o%3,c=o-s;for(let e=0;e>2],r[a++]=i[(n&3)<<4|o>>4],r[a++]=i[(o&15)<<2|s>>6],r[a++]=i[s&63]}if(s===2){let e=t[c],n=t[c+1];r[a++]=i[e>>2],r[a++]=i[(e&3)<<4|n>>4],r[a++]=i[(n&15)<<2],r[a++]=61}else if(s===1){let e=t[c];r[a++]=i[e>>2],r[a++]=i[(e&3)<<4],r[a++]=61,r[a++]=61}r[a++]=Vt,this.i=a}writeValue(e,t,n){if(t==null){if(n?.isStructSchema()){if(t===void 0&&ae.of(e).isIdempotencyToken()){this.writeAsciiQuoted(Qe());return}return}this.ensure(4),this.json.set(Aee,this.i),this.i+=4;return}let r=ae.of(e),i=typeof t==`object`;if(r.isStringSchema()){let e=r.getMergedTraits().mediaType;if(e&&(e===`application/json`||e.endsWith(`+json`))){this.writeJsonString(o.from(t).toString());return}}if(i){if(r.isStructSchema()){this.writeStruct(r,t);return}if(Array.isArray(t)&&(r.isListSchema()||r.isDocumentSchema())){this.writeList(r,t,r.isDocumentSchema());return}if(r.isMapSchema()){this.writeMap(r,t,!1);return}if(t instanceof Uint8Array&&(r.isBlobSchema()||r.isDocumentSchema())){this.writeBase64(t);return}if(t instanceof Date&&(r.isTimestampSchema()||r.isDocumentSchema())){this.writeTimestamp(r,t);return}if(t instanceof it){this.writeAscii(t.string);return}if(r.isDocumentSchema()){Array.isArray(t)?this.writeList(r,t,!0):this.writeMap(r,t,!0);return}let e=JSON.stringify(t);this.writeAscii(e);return}if(typeof t==`string`){if(r.isBlobSchema()){let e=(this.serdeContext?.base64Encoder??he)(t);this.writeAsciiQuoted(e);return}this.writeJsonString(t);return}if(typeof t==`number`){if(Math.abs(t)===1/0||Number.isNaN(t)){this.writeAsciiQuoted(String(t));return}let e=String(t);this.writeAscii(e);return}if(typeof t==`boolean`){this.ensure(5);let{i:e,json:n}=this;t?(n.set(Oee,e),e+=4):(n.set(kee,e),e+=5),this.i=e;return}if(typeof t==`bigint`){this.writeAscii(t.toString());return}this.writeAscii(String(t))}writeStruct(e,t){this.ensure(2),this.json[this.i++]=zt;let n=!1,r=typeof t.__type==`string`,i;r&&(i=new Set);for(let[r,a]of e.structIterator()){let o=t[r];if(o==null&&!a.isIdempotencyToken())continue;n&&(this.ensure(1),this.json[this.i++]=Ut),n=!0;let s=this.settings.jsonName?a.getMergedTraits().jsonName??r:r;i&&(i.add(r),i.add(s)),this.writeAsciiQuoted(s),this.json[this.i++]=Ht,this.writeValue(a,o,e)}if(!n&&e.isUnionSchema()){let{$unknown:n}=t;if(Array.isArray(n)){let[t,r]=n;this.writeAsciiQuoted(t),this.ensure(1),this.json[this.i++]=Ht,this.writeValue(15,r,e)}}else if(r)for(let e in t){if(i.has(e))continue;i.add(e);let r=t[e];n&&(this.ensure(1),this.json[this.i++]=Ut),n=!0,this.writeAsciiQuoted(e),this.ensure(1),this.json[this.i++]=Ht,this.writeValue(15,r,void 0)}this.ensure(1),this.json[this.i++]=Bt}writeList(e,t,n){let r=!!e.getMergedTraits().sparse,i=e.getValueSchema();if(!n&&(i.isStringSchema()||i.isNumericSchema()||i.isBooleanSchema())){let e=!1;for(let n=0;n"]/g,Fee={"&":`&`,"<":`<`,">":`>`,'"':`"`};function Iee(e){return e.replace(Pee,e=>Fee[e])}var Lee=/[&"'<>\r\n\u0085\u2028]/g,Ree={"&":`&`,'"':`"`,"'":`'`,"<":`<`,">":`>`,"\r":` `,"\n":` `,"…":`…`,"\u2028":`
`};function zee(e){return e.replace(Lee,e=>Ree[e])}var Xt=class{value;constructor(e){this.value=e}toString(){return zee(``+this.value)}},Zt=class e{name;children;attributes={};static of(t,n,r){let i=new e(t);return n!==void 0&&i.addChildNode(new Xt(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}="${Iee(``+r)}"`)}return t+=e?`>${this.children.map(e=>e.toString()).join(``)}`:`/>`}},Bee=class extends Le{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}},Vee=(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`},Hee=class extends Me{settings;stringBuffer;byteBuffer;buffer;constructor(e){super(),this.settings=e}write(e,t){let n=ae.of(e);if(n.isStringSchema()&&typeof t==`string`)this.stringBuffer=t;else if(n.isBlobSchema())this.byteBuffer=`byteLength`in t?t:(this.serdeContext?.base64Decoder??Ge)(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=Zt.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=Zt.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=Zt.of(e);if(typeof n!=`string`){if(t instanceof Zt||t instanceof Xt)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,ee]=this.getXmlnsAttribute(e,r),u=(t,n)=>{if(a.isListSchema())this.writeList(a,Array.isArray(n)?n:[n],t,ee);else if(a.isMapSchema())this.writeMap(a,n,t,ee);else if(a.isStructSchema()){let r=this.writeStruct(a,n,ee);t.addChildNode(r.withName(c?i.xmlName??e.getMemberName():o.xmlName??`member`))}else{let r=Zt.of(c?i.xmlName??e.getMemberName():o.xmlName??`member`);this.writeSimpleInto(a,n,r,ee),t.addChildNode(r)}};if(c)for(let e of t)(s||e!=null)&&u(n,e);else{let r=Zt.of(i.xmlName??e.getMemberName());ee&&r.addAttribute(l,ee);for(let e of t)(s||e!=null)&&u(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(),ee=l.xmlName??`value`,u=!!l.sparse,te=!!a.xmlFlattened,[d,ne]=this.getXmlnsAttribute(e,r),re=(e,t,n)=>{let r=Zt.of(s,t),[i,a]=this.getXmlnsAttribute(o,ne);a&&r.addAttribute(i,a),e.addChildNode(r);let l=Zt.of(ee);c.isListSchema()?this.writeList(c,n,l,ne):c.isMapSchema()?this.writeMap(c,n,l,ne,!0):c.isStructSchema()?l=this.writeStruct(c,n,ne):this.writeSimpleInto(c,n,l,ne),e.addChildNode(l)};if(te)for(let r in t){let i=t[r];if(u||i!=null){let t=Zt.of(a.xmlName??e.getMemberName());re(t,r,i),n.addChildNode(t)}}else{let r;i||(r=Zt.of(a.xmlName??e.getMemberName()),ne&&r.addAttribute(d,ne),n.addChildNode(r));for(let e in t){let a=t[e];if(u||a!=null){let t=Zt.of(`entry`);re(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=ae.of(e),r=null;if(t&&typeof t==`object`){if(n.isBlobSchema())r=(this.serdeContext?.base64Encoder??he)(t);else if(n.isTimestampSchema()&&t instanceof Date)switch(Fe(n,this.settings)){case 5:r=t.toISOString().replace(`.000Z`,`Z`);break;case 6:r=nt(t);break;case 7:r=String(t.getTime()/1e3);break;default:console.warn(`Missing timestamp format, using http date`,t),r=nt(t)}else if(n.isBigDecimalSchema()&&t)return t instanceof it?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()?Qe():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=ae.of(e),o=new Xt(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]}},Uee=class extends Me{settings;constructor(e){super(),this.settings=e}createSerializer(){let e=new Hee(this.settings);return e.setSerdeContext(this.serdeContext),e}createDeserializer(){let e=new ree(this.settings);return e.setSerdeContext(this.serdeContext),e}},Wee=class extends vt{codec;serializer;deserializer;mixin=new rt;constructor(e){super(e);let t={timestampFormat:{useTrait:!0,default:5},httpBindings:!0,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace};this.codec=new Uee(t),this.serializer=new bt(this.codec.createSerializer(),t),this.deserializer=new yt(this.codec.createDeserializer(),t)}getPayloadCodec(){return this.codec}getShapeId(){return`aws.protocols#restXml`}async serializeRequest(e,t,n){let r=await super.serializeRequest(e,t,n),i=ae.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=Vee(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=ae.of(o),l=r.Error?.message??r.Error?.Message??r.message??r.Message??`UnknownError`,ee=new((this.compositeErrorRegistry.getErrorCtor(o))??Error)({});await this.deserializeHttpMessage(o,t,n,r);let u={},te=this.codec.createDeserializer();for(let[e,t]of c.structIterator()){let n=t.getMergedTraits().xmlName??e,i=r.Error?.[n]??r[n];u[e]=te.readSchema(t,i)}throw this.mixin.decorateServiceException(Object.assign(ee,s,{$fault:c.getMergedTraits().error,message:l},u),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}};async function Gee(e,t,n=1048576){let r=e.size,i=0;for(;i{n.update(e)}),n.digest()},qee=class{digestLength=16;state=Uint32Array.from(Qt);writeBuffer=new DataView(new ArrayBuffer(64));bufferLength=0;bytesHashed=0;update(e){let t=at(e),n=0,r=t.byteLength;for(this.bytesHashed+=r;r>0;)this.writeBuffer.setUint8(this.bufferLength++,t[n++]),--r,this.bufferLength===64&&(en(this.state,this.writeBuffer),this.bufferLength=0)}async digest(){let e=Uint32Array.from(this.state),t=new DataView(this.writeBuffer.buffer.slice(0)),n=this.bufferLength,r=this.bytesHashed*8;if(t.setUint8(n++,128),this.bufferLength%64>=56){for(let e=n;e<64;++e)t.setUint8(e,0);en(e,t),n=0}for(let e=n;e<56;++e)t.setUint8(e,0);t.setUint32(56,r>>>0,!0),t.setUint32(60,Math.floor(r/2**32),!0),en(e,t);let i=new Uint8Array(16),a=new DataView(i.buffer);for(let t=0;t<4;++t)a.setUint32(t*4,e[t],!0);return i}reset(){this.state.set(Qt),this.writeBuffer=new DataView(new ArrayBuffer(64)),this.bufferLength=0,this.bytesHashed=0}},Qt=[1732584193,4023233417,2562383102,271733878],$t=4294967295,Jee=Uint8Array.of(7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21),Yee=Array.from({length:64},(e,t)=>Math.abs(Math.sin(t+1))*2**32>>>0);function en(e,t){let n=e[0],r=e[1],i=e[2],a=e[3];for(let e=0;e<64;++e){let o,s;e<16?(o=r&i|~r&a,s=e):e<32?(o=a&r|i&~a,s=(5*e+1)%16):e<48?(o=r^i^a,s=(3*e+5)%16):(o=i^(r|~a),s=7*e%16);let c=t.getUint32(s*4,!0),l=a;a=i,i=r;let ee=Jee[(e>>4)*4+(e&3)],u=(n+o&$t)+(c+Yee[e]&$t)&$t;r=r+((u<>>32-ee)>>>0)&$t,n=l}e[0]=e[0]+n&$t,e[1]=e[1]+r&$t,e[2]=e[2]+i&$t,e[3]=e[3]+a&$t}var Xee=async(e,t,n)=>({operation:Ze(t).operation,region:await De(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function Zee(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`acm`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var Qee=e=>{let t=[];return e.operation,t.push(Zee(e)),t},$ee=e=>{let t=tt(e);return Object.assign(t,{authSchemePreference:De(e.authSchemePreference??[])})},ete=e=>Object.assign(e,{useFipsEndpoint:e.useFipsEndpoint??!1,useDualstackEndpoint:e.useDualstackEndpoint??!1,defaultSigningName:`acm`,clientContextParams:e.clientContextParams??{}}),tte={ServiceType:{type:`clientContextParams`,name:`serviceType`},UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},nte={name:`@aws-sdk/client-acm`,version:`3.1109.0`,description:`AWS SDK for JavaScript Acm Client for Node.js, Browser and React Native`,homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-acm`,license:`Apache-2.0`,author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/sdk-for-javascript/`},repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-acm`},files:[`dist-*/**`],sideEffects:!1,main:`./dist-cjs/index.js`,module:`./dist-es/index.js`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},types:`./dist-types/index.d.ts`,typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline`,"build:es":`premove dist-es && tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`premove dist-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`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service`,"test:e2e":`yarn g:vitest run -c vitest.config.e2e.mts`,"test:e2e:watch":`yarn g:vitest watch -c vitest.config.e2e.mts`,"test:index":`tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs`},dependencies:{"@aws-sdk/core":`^3.977.7`,"@aws-sdk/credential-provider-node":`^3.972.79`,"@aws-sdk/types":`^3.974.3`,"@smithy/core":`^3.31.1`,"@smithy/fetch-http-handler":`^5.6.13`,"@smithy/node-http-handler":`^4.9.13`,"@smithy/types":`^4.16.1`,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:`~6.0.3`},engines:{node:`>=20.0.0`}},tn=`PartitionResult`,nn=`stringEquals`,rn=`booleanEquals`,an={fn:`getAttr`,argv:[{ref:tn},`name`]},on={},sn={conditions:[[`isSet`,[{ref:`Endpoint`}]],[`aws.partition`,[{ref:`Region`}],tn],[nn,[{ref:`ServiceType`},`ACM-ACME`]],[nn,[an,`aws`]],[rn,[{ref:`UseFIPS`},!0]],[rn,[{ref:`UseDualStack`},!0]],[nn,[an,`aws-us-gov`]]],results:[[-1],[`{Endpoint}`,on],[-1,`FIPS endpoints are not available for ACME operations`],[`https://acm-acme.{Region}.{PartitionResult#dualStackDnsSuffix}`,on],[-1,`ACME operations are only available in commercial AWS partitions`],[`https://acm-fips.{Region}.{PartitionResult#dualStackDnsSuffix}`,on],[`https://acm.{Region}.amazonaws.com`,on],[`https://acm-fips.{Region}.{PartitionResult#dnsSuffix}`,on],[`https://acm.{Region}.{PartitionResult#dualStackDnsSuffix}`,on],[`https://acm.{Region}.{PartitionResult#dnsSuffix}`,on],[-1,`Region must be set to resolve an endpoint.`]]},rte=2,ite=new Int32Array([-1,1,-1,0,100000001,3,1,4,100000010,2,9,5,4,7,6,5,100000008,100000009,5,100000005,8,6,100000006,100000007,3,10,100000004,4,100000002,100000003]),ate=Re.from(ite,rte,sn.conditions,sn.results),ote=new Be({size:50,params:[`Endpoint`,`Region`,`ServiceType`,`UseDualStack`,`UseFIPS`]}),ste=(e,t={})=>ote.get(e,()=>Ye(ate,{endpointParams:e,logger:t.logger}));qe.aws=fe;var cn=class e extends te{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},cte=class e extends cn{name=`AccessDeniedException`;$fault=`client`;Message;constructor(t){super({name:`AccessDeniedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},lte=class e extends cn{name=`InvalidArnException`;$fault=`client`;constructor(t){super({name:`InvalidArnException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},ute=class e extends cn{name=`InvalidParameterException`;$fault=`client`;constructor(t){super({name:`InvalidParameterException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},dte=class e extends cn{name=`InvalidTagException`;$fault=`client`;constructor(t){super({name:`InvalidTagException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},fte=class e extends cn{name=`ResourceNotFoundException`;$fault=`client`;constructor(t){super({name:`ResourceNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},pte=class e extends cn{name=`TagPolicyException`;$fault=`client`;constructor(t){super({name:`TagPolicyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},mte=class e extends cn{name=`ThrottlingException`;$fault=`client`;throttlingReasons;constructor(t){super({name:`ThrottlingException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.throttlingReasons=t.throttlingReasons}},hte=class e extends cn{name=`TooManyTagsException`;$fault=`client`;constructor(t){super({name:`TooManyTagsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},gte=class e extends cn{name=`ValidationException`;$fault=`client`;constructor(t){super({name:`ValidationException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},_te=class e extends cn{name=`ConflictException`;$fault=`client`;constructor(t){super({name:`ConflictException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},vte=class e extends cn{name=`InternalServerException`;$fault=`server`;$retryable={};constructor(t){super({name:`InternalServerException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype)}},yte=class e extends cn{name=`ServiceQuotaExceededException`;$fault=`client`;constructor(t){super({name:`ServiceQuotaExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},bte=class e extends cn{name=`ResourceInUseException`;$fault=`client`;constructor(t){super({name:`ResourceInUseException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},xte=class e extends cn{name=`RequestInProgressException`;$fault=`client`;constructor(t){super({name:`RequestInProgressException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Ste=class e extends cn{name=`LimitExceededException`;$fault=`client`;constructor(t){super({name:`LimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Cte=class e extends cn{name=`InvalidArgsException`;$fault=`client`;constructor(t){super({name:`InvalidArgsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},wte=class e extends cn{name=`InvalidDomainValidationOptionsException`;$fault=`client`;constructor(t){super({name:`InvalidDomainValidationOptionsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Tte=class e extends cn{name=`InvalidStateException`;$fault=`client`;constructor(t){super({name:`InvalidStateException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Ete=`AccessDeniedException`,Dte=`CreatedAt`,ln=`CertificateArn`,Ote=`CertificateChain`,kte=`ConflictException`,Ate=`CertificateKeyPairOrigin`,jte=`CertificateKeyPairOrigins`,Mte=`CertificateSummary`,un=`CertificateSummaryList`,Nte=`CertificateStatuses`,Pte=`Certificate`,dn=`DomainName`,fn=`Exported`,pn=`ExtendedKeyUsages`,mn=`ExportOption`,hn=`Filters`,gn=`HasAdditionalSubjectAlternativeNames`,_n=`ImportedAt`,vn=`InvalidArgsException`,yn=`InvalidArnException`,bn=`IssuedAt`,xn=`ImportCertificate`,Sn=`ImportCertificateRequest`,Cn=`ImportCertificateResponse`,wn=`InvalidDomainValidationOptionsException`,Tn=`InvalidParameterException`,En=`InternalServerException`,Dn=`InvalidStateException`,On=`InvalidTagException`,kn=`InUse`,An=`Includes`,jn=`Key`,Mn=`KeyAlgorithm`,Nn=`KeyUsages`,Pn=`ListCertificates`,Fn=`ListCertificatesRequest`,In=`ListCertificatesResponse`,Ln=`LimitExceededException`,Rn=`Message`,zn=`ManagedBy`,Bn=`MaxItems`,Vn=`NotAfter`,Hn=`NotBefore`,Un=`NextToken`,Wn=`PrivateKey`,Gn=`PrivateKeyBlob`,Kn=`RevokedAt`,qn=`RenewalEligibility`,Jn=`RequestInProgressException`,Yn=`ResourceInUseException`,Xn=`ResourceNotFoundException`,Zn=`Status`,Qn=`SubjectAlternativeNameSummaries`,$n=`SortBy`,er=`SortOrder`,tr=`ServiceQuotaExceededException`,nr=`Type`,rr=`ThrottlingException`,ir=`TagList`,ar=`TooManyTagsException`,or=`TagPolicyException`,sr=`ThrottlingReason`,cr=`ThrottlingReasonList`,lr=`Tags`,ur=`Tag`,dr=`Value`,fr=`ValidationException`,pr=`awsQueryError`,mr=`client`,hr=`error`,gr=`extendedKeyUsage`,_r=`exportOption`,vr=`httpError`,yr=`keyTypes`,br=`keyUsage`,xr=`message`,Sr=`managedBy`,Cr=`reason`,wr=`resource`,Tr=`smithy.ts.sdk.synthetic.com.amazonaws.acm`,Er=`server`,Dr=`throttlingReasons`,f=`com.amazonaws.acm`,Or=ot.for(Tr),kr=[-3,Tr,`ACMServiceException`,0,[],[]];Or.registerError(kr,cn);var Ar=ot.for(f),jr=[-3,f,Ete,{[pr]:[`AccessDenied`,403],[hr]:mr,[vr]:403},[Rn],[0]];Ar.registerError(jr,cte);var Mr=[-3,f,kte,{[hr]:mr},[xr],[0]];Ar.registerError(Mr,_te);var Nr=[-3,f,En,{[hr]:Er},[xr],[0]];Ar.registerError(Nr,vte);var Pr=[-3,f,vn,{[hr]:mr},[xr],[0]];Ar.registerError(Pr,Cte);var Fr=[-3,f,yn,{[hr]:mr},[xr],[0]];Ar.registerError(Fr,lte);var Ir=[-3,f,wn,{[hr]:mr},[xr],[0]];Ar.registerError(Ir,wte);var Lr=[-3,f,Tn,{[hr]:mr},[xr],[0]];Ar.registerError(Lr,ute);var Fte=[-3,f,Dn,{[hr]:mr},[xr],[0]];Ar.registerError(Fte,Tte);var Ite=[-3,f,On,{[hr]:mr},[xr],[0]];Ar.registerError(Ite,dte);var Lte=[-3,f,Ln,{[hr]:mr},[xr],[0]];Ar.registerError(Lte,Ste);var Rte=[-3,f,Jn,{[hr]:mr},[xr],[0]];Ar.registerError(Rte,xte);var zte=[-3,f,Yn,{[hr]:mr},[xr],[0]];Ar.registerError(zte,bte);var Bte=[-3,f,Xn,{[hr]:mr},[xr],[0]];Ar.registerError(Bte,fte);var Vte=[-3,f,tr,{[hr]:mr},[xr],[0]];Ar.registerError(Vte,yte);var Hte=[-3,f,or,{[hr]:mr},[xr],[0]];Ar.registerError(Hte,pte);var Ute=[-3,f,rr,{[pr]:[`Throttling`,400],[hr]:mr,[vr]:400},[xr,Dr],[0,()=>ine]];Ar.registerError(Ute,mte);var Wte=[-3,f,ar,{[hr]:mr},[xr],[0]];Ar.registerError(Wte,hte);var Gte=[-3,f,fr,{[pr]:[`ValidationError`,400],[hr]:mr,[vr]:400},[xr],[0]];Ar.registerError(Gte,gte);var Kte=[Or,Ar],qte=[0,f,Gn,8,21],Jte=[3,f,Mte,0,[ln,dn,Qn,gn,Zn,nr,Mn,Nn,pn,mn,kn,fn,qn,Hn,Vn,Dte,bn,_n,Kn,zn,Ate],[0,0,64,2,0,0,0,64,64,0,2,2,0,4,4,4,4,4,4,0,0]],Yte=[3,f,hn,0,[gr,br,yr,_r,Sr],[64,64,64,0,0]],Xte=[3,f,Sn,0,[Pte,Wn,ln,Ote,lr],[21,[()=>qte,0],0,21,()=>rne],2],Zte=[3,f,Cn,0,[ln],[0]],Qte=[3,f,Fn,0,[Nte,jte,An,Un,Bn,$n,er],[64,64,()=>Yte,0,1,0,0]],$te=[3,f,In,0,[Un,un],[0,()=>nne]],ene=[3,f,ur,0,[jn,dr],[0,0],1],tne=[3,f,sr,0,[Cr,wr],[0,0]],nne=[1,f,un,0,()=>Jte],rne=[1,f,ir,0,()=>ene],ine=[1,f,cr,0,()=>tne],ane=[9,f,xn,0,()=>Xte,()=>Zte],one=[9,f,Pn,0,()=>Qte,()=>$te],sne=e=>({apiVersion:`2015-12-08`,base64Decoder:e?.base64Decoder??Ge,base64Encoder:e?.base64Encoder??he,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??ste,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??Qee,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new me}],logger:e?.logger??new Ue,protocol:e?.protocol??Yt,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.acm`,errorTypeRegistries:Kte,version:`2015-12-08`,serviceTarget:`CertificateManager`},serviceId:e?.serviceId??`ACM`,sha256:e?.sha256??ze,urlParser:e?.urlParser??Ce,utf8Decoder:e?.utf8Decoder??st,utf8Encoder:e?.utf8Encoder??ct}),cne=e=>{let t=He(e),n=()=>t().then(_e),r=sne(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Ne,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??ge({serviceId:r.serviceId,clientVersion:nte.version}),maxAttempts:e?.maxAttempts??3,region:e?.region??Te(`Region is missing`),requestHandler:xe.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||oe),streamCollector:e?.streamCollector??Pe,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},lne=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}}},une=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),dne=(e,n)=>{let r=Object.assign(We(e),de(e),ke(e),lne(e));return n.forEach(e=>e.configure(r)),Object.assign(e,t(r),pe(r),ve(r),une(r))},fne=class extends i{config;constructor(...[e]){let t=cne(e||{});super(t),this.initConfig=t;let n=ete(t),i=ie(n),a=Xe(i),o=ue(a),s=Ee(o),c=dne($ee(Ie(s)),e?.extensions||[]);this.config=c,this.middlewareStack.use(be(this.config)),this.middlewareStack.use(u(this.config)),this.middlewareStack.use(se(this.config)),this.middlewareStack.use(Oe(this.config)),this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(re(this.config)),this.middlewareStack.use(we(this.config)),this.middlewareStack.use(r(this.config,{httpAuthSchemeParametersProvider:Xee,identityProviderConfigProvider:async e=>new le({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(ye(this.config))}destroy(){super.destroy()}},pne=async(e,t,n)=>({operation:Ze(t).operation,region:await De(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function mne(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`ec2`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var hne=e=>{let t=[];return e.operation,t.push(mne(e)),t},gne=e=>{let t=tt(e);return Object.assign(t,{authSchemePreference:De(e.authSchemePreference??[])})},_ne=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:`ec2`}),vne={UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},yne={name:`@aws-sdk/client-ec2`,version:`3.1109.0`,description:`AWS SDK for JavaScript Ec2 Client for Node.js, Browser and React Native`,homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-ec2`,license:`Apache-2.0`,author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/sdk-for-javascript/`},repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-ec2`},files:[`dist-*/**`],sideEffects:!1,main:`./dist-cjs/index.js`,module:`./dist-es/index.js`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},types:`./dist-types/index.d.ts`,typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline`,"build:es":`premove dist-es && tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`premove dist-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`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service`,test:`yarn g:vitest run --passWithNoTests`,"test:watch":`yarn g:vitest watch --passWithNoTests`,"test:integration":`yarn g:vitest run --passWithNoTests -c vitest.config.integ.mts`,"test:integration:watch":`yarn g:vitest watch --passWithNoTests -c vitest.config.integ.mts`,"test:e2e":`yarn g:vitest run -c vitest.config.e2e.mts`,"test:e2e:watch":`yarn g:vitest watch -c vitest.config.e2e.mts`,"test:index":`tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs`},dependencies:{"@aws-sdk/core":`^3.977.7`,"@aws-sdk/credential-provider-node":`^3.972.79`,"@aws-sdk/middleware-sdk-ec2":`^3.972.56`,"@aws-sdk/types":`^3.974.3`,"@smithy/core":`^3.31.1`,"@smithy/fetch-http-handler":`^5.6.13`,"@smithy/node-http-handler":`^4.9.13`,"@smithy/types":`^4.16.1`,tslib:`^2.6.2`},devDependencies:{"@smithy/snapshot-testing":`^2.2.16`,"@tsconfig/node20":`20.1.8`,"@types/node":`^20.14.8`,concurrently:`7.0.0`,"downlevel-dts":`0.10.1`,premove:`4.0.0`,typescript:`~6.0.3`,vitest:`^4.0.17`},engines:{node:`>=20.0.0`}},Rr=`ref`,zr=-1,Br=!0,Vr=`isSet`,Hr=`PartitionResult`,Ur=`booleanEquals`,Wr=`getAttr`,Gr={[Rr]:`Endpoint`},Kr={[Rr]:Hr},qr={},Jr=[{[Rr]:`Region`}],Yr={conditions:[[Vr,[Gr]],[Vr,Jr],[`aws.partition`,Jr,Hr],[Ur,[{[Rr]:`UseFIPS`},Br]],[Ur,[{[Rr]:`UseDualStack`},Br]],[Ur,[{fn:Wr,argv:[Kr,`supportsDualStack`]},Br]],[Ur,[{fn:Wr,argv:[Kr,`supportsFIPS`]},Br]],[`stringEquals`,[{fn:Wr,argv:[Kr,`name`]},`aws-us-gov`]]],results:[[zr],[zr,`Invalid Configuration: FIPS and custom endpoint are not supported`],[zr,`Invalid Configuration: Dualstack and custom endpoint are not supported`],[Gr,qr],[`https://ec2-fips.{Region}.{PartitionResult#dualStackDnsSuffix}`,qr],[zr,`FIPS and DualStack are enabled, but this partition does not support one or both`],[`https://ec2.{Region}.amazonaws.com`,qr],[`https://ec2-fips.{Region}.{PartitionResult#dnsSuffix}`,qr],[zr,`FIPS is enabled but this partition does not support FIPS`],[`https://ec2.{Region}.{PartitionResult#dualStackDnsSuffix}`,qr],[zr,`DualStack is enabled but this partition does not support DualStack`],[`https://ec2.{Region}.{PartitionResult#dnsSuffix}`,qr],[zr,`Invalid Configuration: Missing Region`]]},bne=2,xne=new Int32Array([-1,1,-1,0,13,3,1,4,100000012,2,5,100000012,3,8,6,4,7,100000011,5,100000009,100000010,4,11,9,6,10,100000008,7,100000006,100000007,5,12,100000005,6,100000004,100000005,3,100000001,14,4,100000002,100000003]),Sne=Re.from(xne,bne,Yr.conditions,Yr.results),Cne=new Be({size:50,params:[`Endpoint`,`Region`,`UseDualStack`,`UseFIPS`]}),wne=(e,t={})=>Cne.get(e,()=>Ye(Sne,{endpointParams:e,logger:t.logger}));qe.aws=fe;var Tne=class e extends te{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},Xr=`Address`,Ene=`AllocateAddressRequest`,Dne=`AllocateAddressResult`,One=`AssociateAddressRequest`,kne=`AssociateAddressResult`,Ane=`AllAvailabilityZones`,jne=`AllocateAddress`,Mne=`ApplianceArn`,Nne=`AssociateAddress`,Pne=`AttachedAppliances`,Fne=`AttributeBooleanValue`,Zr=`AcceleratorCount`,Qr=`AssociateCarrierIpAddress`,Ine=`AcceleratorCountRequest`,Lne=`AdditionalFlexibleNetworkInterfaces`,Rne=`AvailableIpAddressCount`,$r=`AssignIpv6AddressOnCreation`,zne=`AttachInternetGateway`,Bne=`AttachInternetGatewayRequest`,Vne=`AssociateIamInstanceProfile`,Hne=`AssociateIamInstanceProfileRequest`,Une=`AssociateIamInstanceProfileResult`,Wne=`AllocationIdList`,Gne=`AssociationIdList`,ei=`AllowedInstanceTypes`,Kne=`AllowedInstanceTypeSet`,qne=`AllowedInstanceType`,ti=`AdditionalInfo`,ni=`AllocationId`,ri=`AllocationIds`,ii=`AssociationId`,Jne=`AssociationIds`,ai=`AttachmentId`,Yne=`AmiLaunchIndex`,Xne=`AttachmentLimitType`,Zne=`AddressList`,Qne=`AcceleratorManufacturerSet`,oi=`AcceleratorManufacturers`,$ne=`AcceleratorManufacturer`,si=`AvailabilityMode`,ere=`AcceleratorNameSet`,ci=`AcceleratorNames`,tre=`AcceleratorName`,li=`AssociatePublicIpAddress`,nre=`AmazonProvidedIpv6CidrBlock`,rre=`AutoProvisionZones`,ire=`AutoRecoverySupported`,are=`AssociateRouteTableRequest`,ore=`AssociateRouteTableResult`,sre=`AssociateRouteTable`,cre=`AllowReassociation`,lre=`AllRegions`,ui=`AssociatedResource`,di=`AutoRecovery`,ure=`AuthorizeSecurityGroupEgress`,dre=`AuthorizeSecurityGroupEgressRequest`,fre=`AuthorizeSecurityGroupEgressResult`,pre=`AuthorizeSecurityGroupIngressRequest`,mre=`AuthorizeSecurityGroupIngressResult`,hre=`AuthorizeSecurityGroupIngress`,gre=`AutoScalingIps`,fi=`AmdSevSnp`,pi=`AssociationState`,_re=`AttachmentState`,vre=`ArchitectureTypeList`,mi=`AcceleratorTotalMemoryMiB`,yre=`AcceleratorTotalMemoryMiBRequest`,bre=`AcceleratorTypeSet`,hi=`AcceleratorTypes`,xre=`AcceleratorType`,gi=`AttachTime`,Sre=`AttachVolumeRequest`,Cre=`AttributeValue`,wre=`AttachVolume`,_i=`AvailabilityZone`,vi=`AvailabilityZoneAddress`,yi=`AvailabilityZoneAddresses`,Tre=`AvailabilityZoneGeography`,Ere=`AvailabilityZoneGeographyList`,bi=`AvailabilityZoneId`,Dre=`AvailabilityZoneList`,Ore=`AvailabilityZoneMessage`,kre=`AvailabilityZoneMessageList`,Are=`AvailabilityZoneSubGeography`,jre=`AvailabilityZoneSubGeographyList`,Mre=`AvailabilityZones`,xi=`Accelerators`,Nre=`Addresses`,Si=`Affinity`,Ci=`Arn`,wi=`Architecture`,Pre=`Associations`,Ti=`Association`,Fre=`Attribute`,Ei=`Attachment`,Di=`Attachments`,Ire=`BlobAttributeValue`,Lre=`BaselineBandwidthInGbps`,Oi=`BaselineBandwidthInMbps`,ki=`BlockDeviceMapping`,Rre=`BlockDeviceMappingList`,zre=`BlockDeviceMappingRequestList`,Ai=`BlockDeviceMappings`,ji=`BlockDurationMinutes`,Mi=`BaselineEbsBandwidthMbps`,Bre=`BaselineEbsBandwidthMbpsRequest`,Ni=`BaselineIops`,Pi=`BootMode`,Vre=`BootModeTypeList`,Fi=`BareMetal`,Ii=`BurstablePerformance`,Li=`BlockPublicAccessStates`,Ri=`BaselinePerformanceFactors`,Hre=`BaselinePerformanceFactorsRequest`,Ure=`BillingProductList`,Wre=`BurstablePerformanceSupported`,Gre=`BillingProducts`,Kre=`BillingProduct`,zi=`BaselineThroughputInMBps`,Bi=`BandwidthWeighting`,qre=`BandwidthWeightingTypeList`,Jre=`BandwidthWeightings`,Vi=`CidrBlock`,Yre=`CidrBlockAssociationSet`,Xre=`CapacityBlockId`,Zre=`CidrBlockState`,Hi=`CreatedBy`,Qre=`CoreCountList`,Ui=`CoreCount`,Wi=`CpuCredits`,Gi=`CompletionDurationMinutes`,$re=`CreationDate`,Ki=`CarrierGatewayId`,eie=`CurrentGeneration`,qi=`CarrierIp`,tie=`CurrentInstanceBootMode`,nie=`CreateInternetGateway`,rie=`CreateInternetGatewayRequest`,iie=`CreateInternetGatewayResult`,aie=`CreateImageRequest`,oie=`CreateImageResult`,Ji=`CidrIp`,Yi=`CidrIpv6`,Xi=`CidrIpv4`,sie=`CoreInfo`,cie=`CreateImage`,lie=`CreateKeyPair`,uie=`CreateKeyPairRequest`,die=`CreateLaunchTemplate`,fie=`CreateLaunchTemplateRequest`,pie=`CreateLaunchTemplateResult`,mie=`CreateLaunchTemplateVersion`,hie=`CreateLaunchTemplateVersionRequest`,gie=`CreateLaunchTemplateVersionResult`,Zi=`CpuManufacturers`,_ie=`CpuManufacturerSet`,vie=`CpuManufacturer`,Qi=`CoreNetworkArn`,yie=`CreateNatGateway`,bie=`CreateNatGatewayRequest`,xie=`CreateNatGatewayResult`,$i=`CpuOptions`,ea=`CustomerOwnedIp`,ta=`CustomerOwnedIpv4Pool`,Sie=`CpuOptionsRequest`,Cie=`CpuPerformanceFactor`,wie=`CpuPerformanceFactorRequest`,Tie=`CreatePlacementGroup`,Eie=`CreatePlacementGroupRequest`,Die=`CreatePlacementGroupResult`,na=`CapacityReservationId`,ra=`CapacityReservationPreference`,Oie=`CreateRouteRequest`,ia=`CapacityReservationResourceGroupArn`,kie=`CreateRouteResult`,Aie=`CapacityReservationSpecificationResponse`,aa=`CapacityReservationSpecification`,oa=`CapacityReservationTarget`,jie=`CapacityReservationTargetResponse`,Mie=`CreateRouteTableRequest`,Nie=`CreateRouteTableResult`,Pie=`CreateRouteTable`,Fie=`CreateRoute`,Iie=`CreateSecurityGroup`,Lie=`CreateSecurityGroupRequest`,Rie=`CreateSecurityGroupResult`,zie=`CopySnapshotRequest`,Bie=`CopySnapshotRequestPSU`,Vie=`CopySnapshotResult`,Hie=`CreateSnapshotRequest`,Uie=`CreateSubnetRequest`,Wie=`CreateSubnetResult`,Gie=`CreditSpecificationRequest`,Kie=`CopySnapshot`,sa=`CreditSpecification`,qie=`CreateSnapshot`,Jie=`CreateSubnet`,Yie=`CurrentState`,ca=`ClientToken`,la=`ConnectionTrackingConfiguration`,ua=`ConnectionTrackingSpecification`,Xie=`ConnectionTrackingSpecificationRequest`,Zie=`ConnectionTrackingSpecificationResponse`,Qie=`CompletionTime`,da=`ConnectivityType`,fa=`CreateTime`,$ie=`CreateVolumeRequest`,eae=`CreateVpcRequest`,tae=`CreateVpcResult`,nae=`CreateVolume`,rae=`CreateVpc`,pa=`Code`,ma=`Configured`,ha=`Count`,ga=`Cpu`,iae=`DescribeAddressesRequest`,aae=`DescribeAddressesResult`,oae=`DisassociateAddressRequest`,sae=`DeleteAssociatedSnapshots`,_a=`DisableApiStop`,va=`DisableApiTermination`,ya=`DestinationAvailabilityZone`,ba=`DescribeAvailabilityZonesRequest`,xa=`DescribeAvailabilityZonesResult`,Sa=`DescribeAvailabilityZones`,Ca=`DescribeAddresses`,wa=`DisassociateAddress`,Ta=`DestinationCidrBlock`,Ea=`DefaultConnectionTrackingConfiguration`,Da=`DefaultCores`,Oa=`DataEncryptionKeyId`,ka=`DefaultEnaQueueCountPerInterface`,Aa=`DefaultForAz`,ja=`DedicatedHostsSupported`,Ma=`DeviceIndex`,Na=`DestinationIpv6CidrBlock`,Pa=`DeleteInternetGateway`,Fa=`DeleteInternetGatewayRequest`,Ia=`DescribeInternetGatewaysRequest`,La=`DescribeInternetGatewaysResult`,Ra=`DetachInternetGatewayRequest`,za=`DescribeInternetGateways`,Ba=`DetachInternetGateway`,Va=`DisassociateIamInstanceProfile`,Ha=`DescribeIamInstanceProfileAssociations`,Ua=`DescribeIamInstanceProfileAssociationsRequest`,Wa=`DescribeIamInstanceProfileAssociationsResult`,Ga=`DisassociateIamInstanceProfileRequest`,Ka=`DisassociateIamInstanceProfileResult`,qa=`DiskInfoList`,Ja=`DeregisterImageRequest`,Ya=`DeregisterImageResult`,Xa=`DescribeImagesRequest`,Za=`DescribeImagesResult`,Qa=`DescribeInstancesRequest`,$a=`DescribeInstancesResult`,eo=`DescribeInstanceTypesRequest`,to=`DescribeInstanceTypesResult`,no=`DescribeInstanceTypes`,ro=`DeregisterImage`,io=`DescribeImages`,ao=`DescribeInstances`,oo=`DiskInfo`,so=`DeleteKeyPair`,co=`DeleteKeyPairRequest`,lo=`DeleteKeyPairResult`,uo=`DescribeKeyPairsRequest`,fo=`DescribeKeyPairsResult`,po=`DescribeKeyPairs`,mo=`DisableLniAtDeviceIndex`,ho=`DeleteLaunchTemplate`,go=`DeleteLaunchTemplateRequest`,_o=`DeleteLaunchTemplateResult`,vo=`DescribeLaunchTemplatesRequest`,yo=`DescribeLaunchTemplatesResult`,bo=`DeleteLaunchTemplateVersions`,xo=`DeleteLaunchTemplateVersionsRequest`,So=`DeleteLaunchTemplateVersionsResponseErrorItem`,Co=`DeleteLaunchTemplateVersionsResponseErrorSet`,wo=`DeleteLaunchTemplateVersionsResponseSuccessItem`,To=`DeleteLaunchTemplateVersionsResponseSuccessSet`,Eo=`DeleteLaunchTemplateVersionsResult`,Do=`DescribeLaunchTemplateVersionsRequest`,Oo=`DescribeLaunchTemplateVersionsResult`,ko=`DescribeLaunchTemplateVersions`,Ao=`DescribeLaunchTemplates`,jo=`DeviceName`,Mo=`DefaultNetworkCardIndex`,No=`DeleteNatGateway`,Po=`DeleteNatGatewayRequest`,Fo=`DeleteNatGatewayResult`,Io=`DescribeNatGatewaysRequest`,Lo=`DescribeNatGatewaysResult`,Ro=`DescribeNatGateways`,zo=`DestinationOutpostArn`,Bo=`DhcpOptionsId`,Vo=`DeleteOnTermination`,Ho=`DeletePlacementGroup`,Uo=`DeletePlacementGroupRequest`,Wo=`DescribePlacementGroupsRequest`,Go=`DescribePlacementGroupsResult`,Ko=`DescribePlacementGroups`,qo=`DestinationPrefixListId`,Jo=`DeregistrationProtection`,p=`DryRun`,Yo=`DeleteRouteRequest`,Xo=`DescribeRegionsRequest`,Zo=`DescribeRegionsResult`,Qo=`DeleteRouteTable`,$o=`DeleteRouteTableRequest`,es=`DescribeRouteTablesRequest`,ts=`DescribeRouteTablesResult`,ns=`DisassociateRouteTableRequest`,rs=`DescribeRouteTables`,is=`DisassociateRouteTable`,as=`DestinationRegion`,os=`DeleteRoute`,ss=`DescribeRegions`,cs=`DeleteSecurityGroup`,ls=`DeleteSecurityGroupRequest`,us=`DeleteSecurityGroupResult`,ds=`DescribeSecurityGroupsRequest`,fs=`DescribeSecurityGroupsResult`,ps=`DescribeSecurityGroups`,ms=`DeleteSnapshotRequest`,hs=`DeleteSnapshotReturnCode`,gs=`DeleteSnapshotResultSet`,_s=`DeleteSubnetRequest`,vs=`DeleteSnapshotResults`,ys=`DescribeSnapshotsRequest`,bs=`DescribeSnapshotsResult`,xs=`DescribeSubnetsRequest`,Ss=`DescribeSubnetsResult`,Cs=`DeleteSnapshot`,ws=`DeleteSubnet`,Ts=`DescribeSnapshots`,Es=`DescribeSubnets`,Ds=`DefaultTcpEstablishedTimeout`,Os=`DefaultThreadsPerCore`,ks=`DeprecationTime`,As=`DeleteTime`,js=`DefaultUdpStreamTimeout`,Ms=`DefaultUdpTimeout`,Ns=`DefaultVCpus`,Ps=`DefaultVersionNumber`,Fs=`DeleteVolumeRequest`,Is=`DeleteVpcRequest`,Ls=`DescribeVolumesRequest`,Rs=`DescribeVolumesResult`,zs=`DescribeVpcsRequest`,Bs=`DescribeVpcsResult`,Vs=`DetachVolumeRequest`,Hs=`DefaultVersion`,Us=`DeleteVolume`,Ws=`DeleteVpc`,Gs=`DescribeVolumes`,Ks=`DescribeVpcs`,qs=`DetachVolume`,Js=`Description`,Ys=`Device`,Xs=`Disks`,Zs=`Domain`,Qs=`EbsBlockDevice`,$s=`ExecutableByStringList`,ec=`ExecutableBy`,tc=`EbsCardIndex`,nc=`EbsCardInfoList`,rc=`EbsCardInfo`,ic=`EbsCards`,ac=`EncryptionControl`,oc=`EnableDns64`,sc=`ElasticFileSystem`,cc=`ElasticFileSystemExclusion`,lc=`ElasticGpuAssociation`,uc=`ElasticGpuAssociationId`,dc=`ElasticGpuAssociationList`,fc=`ElasticGpuAssociationState`,pc=`ElasticGpuAssociationTime`,mc=`ElasticGpuAssociations`,hc=`ElasticGpuId`,gc=`ElasticGpuSpecificationList`,_c=`ElasticGpuSpecificationResponse`,vc=`ElasticGpuSpecificationResponseList`,yc=`ElasticGpuSpecification`,bc=`ElasticGpuSpecifications`,xc=`ElasticInferenceAccelerator`,Sc=`ElasticInferenceAcceleratorAssociation`,Cc=`ElasticInferenceAcceleratorAssociationId`,wc=`ElasticInferenceAcceleratorAssociationList`,Tc=`ElasticInferenceAcceleratorAssociationState`,Ec=`ElasticInferenceAcceleratorAssociationTime`,Dc=`ElasticInferenceAcceleratorArn`,Oc=`ElasticInferenceAcceleratorAssociations`,kc=`ElasticInferenceAccelerators`,Ac=`EbsInstanceBlockDevice`,jc=`EbsInstanceBlockDeviceSpecification`,Mc=`EncryptionInTransitSupported`,Nc=`ExcludedInstanceTypeSet`,Pc=`ExcludedInstanceTypes`,Fc=`ExcludedInstanceType`,Ic=`EbsInfo`,Lc=`EfaInfo`,Rc=`EnableLniAtDeviceIndex`,zc=`EbsOptimized`,Bc=`EbsOptimizedInfo`,Vc=`EgressOnlyInternetGateway`,Hc=`EgressOnlyInternetGatewayExclusion`,Uc=`EgressOnlyInternetGatewayId`,Wc=`EnclaveOptionsRequest`,Gc=`EbsOptimizedSupport`,Kc=`EnclaveOptions`,qc=`EnablePrimaryIpv6`,Jc=`EnaQueueCount`,Yc=`EnableResourceNameDnsAAAARecord`,Xc=`EnableResourceNameDnsAAAARecordOnLaunch`,Zc=`EnableResourceNameDnsARecord`,Qc=`EnableResourceNameDnsARecordOnLaunch`,$c=`EnaSrdEnabled`,el=`EnaSrdSpecification`,tl=`EnaSrdSpecificationRequest`,nl=`EnaSrdSupported`,rl=`EnaSrdUdpEnabled`,il=`EnaSrdUdpSpecification`,al=`EnaSrdUdpSpecificationRequest`,ol=`EfaSupported`,sl=`EncryptionSupport`,cl=`EnaSupport`,ll=`ErrorSet`,ul=`EndTime`,dl=`ExecutableUsers`,fl=`Ebs`,pl=`Enabled`,ml=`Encrypted`,hl=`Endpoint`,gl=`Errors`,_l=`Force`,vl=`FailureCode`,yl=`FpgaDeviceInfo`,bl=`FpgaDeviceInfoList`,xl=`FpgaDeviceMemoryInfo`,Sl=`FlexibleEnaQueuesSupport`,Cl=`FpgaInfo`,wl=`FilterList`,Tl=`FailureMessage`,El=`FromPort`,Dl=`FastRestored`,Ol=`FullSnapshotSizeInBytes`,kl=`FreeTierEligible`,Al=`Filters`,jl=`Filter`,Ml=`Fpgas`,Nl=`Groups`,Pl=`GroupArn`,Fl=`GetConsoleOutput`,Il=`GetConsoleOutputRequest`,Ll=`GetConsoleOutputResult`,Rl=`GroupDescription`,zl=`GpuDeviceInfo`,Bl=`GpuDeviceInfoList`,Vl=`GpuDeviceMemoryInfo`,Hl=`GatewayId`,Ul=`GroupIdentifierList`,Wl=`GroupIdStringList`,Gl=`GpuInfo`,Kl=`GroupId`,ql=`GroupIds`,Jl=`GroupIdentifier`,Yl=`GroupLongName`,Xl=`GroupName`,Zl=`GroupNameStringList`,Ql=`GroupNames`,$l=`GroupOwnerId`,eu=`GpuPartitionSize`,tu=`Geography`,nu=`Gpus`,ru=`HiddenByDefault`,iu=`HttpEndpoint`,au=`HostId`,ou=`HibernationOptions`,su=`HibernationOptionsRequest`,cu=`HttpProtocolIpv6`,lu=`HttpPutResponseHopLimit`,uu=`HostResourceGroupArn`,du=`HibernationSupported`,fu=`HttpTokens`,pu=`HostnameType`,mu=`Hibernate`,hu=`Hypervisor`,gu=`Id`,_u=`Ipv6Addresses`,vu=`Ipv6AddressAttribute`,yu=`Ipv6AddressCount`,bu=`InstanceAttachmentEnaSrdSpecification`,xu=`InstanceAttachmentEnaSrdUdpSpecification`,Su=`InferenceAcceleratorInfo`,Cu=`Ipv4AddressesPerInterface`,wu=`Ipv6AddressesPerInterface`,Tu=`Ipv4AddressesPerSecondaryInterface`,Eu=`ImageAllowed`,Du=`IpAddress`,Ou=`Ipv6Address`,ku=`InstanceBlockDeviceMapping`,Au=`InstanceBlockDeviceMappingList`,ju=`InstanceBlockDeviceMappingSpecification`,Mu=`InstanceBlockDeviceMappingSpecificationList`,Nu=`Ipv6CidrBlock`,Pu=`Ipv6CidrBlockAssociationSet`,Fu=`Ipv6CidrBlockNetworkBorderGroup`,Iu=`Ipv6CidrBlockState`,Lu=`IncludeDeprecated`,Ru=`InferenceDeviceInfo`,zu=`InferenceDeviceInfoList`,Bu=`InferenceDeviceMemoryInfo`,Vu=`IncludeDisabled`,Hu=`IsDefault`,Uu=`IsEgress`,Wu=`InstanceFamily`,Gu=`InternetGateway`,Ku=`InternetGatewayAttachment`,qu=`InternetGatewayAttachmentList`,Ju=`InternetGatewayBlockMode`,Yu=`InternetGatewayExclusion`,Xu=`InternetGatewayId`,Zu=`InternetGatewayIdList`,Qu=`InternetGatewayIds`,$u=`InternetGatewayList`,ed=`InstanceGenerationSet`,td=`InternetGateways`,nd=`InstanceGenerations`,rd=`InstanceGeneration`,id=`InstanceId`,ad=`InstanceIpv6Address`,od=`InstanceIpv6AddressList`,sd=`InstanceIpv6AddressListRequest`,cd=`InstanceIpv6AddressRequest`,ld=`InstanceInterruptionBehavior`,ud=`IamInstanceProfile`,dd=`IamInstanceProfileAssociation`,fd=`IamInstanceProfileAssociationSet`,pd=`IamInstanceProfileAssociations`,md=`Ipv6IpamPoolId`,hd=`Ipv4IpamPoolId`,cae=`InstanceIpv4PrefixList`,lae=`InstanceIpv6PrefixList`,uae=`IamInstanceProfileSpecification`,dae=`InstanceIpv4Prefix`,fae=`InstanceIpv6Prefix`,gd=`InstanceInitiatedShutdownBehavior`,pae=`ImageIdStringList`,mae=`InstanceIdStringList`,_d=`ImageId`,hae=`ImageIds`,vd=`InstanceIds`,gae=`ImportKeyPair`,_ae=`ImportKeyPairRequest`,vae=`ImportKeyPairResult`,yd=`ImageLocation`,yae=`ImageList`,bae=`InstanceLifecycle`,xae=`InstanceList`,Sae=`IpList`,Cae=`InstanceMaintenanceOptions`,wae=`InstanceMaintenanceOptionsRequest`,Tae=`InstanceMarketOptionsRequest`,Eae=`InstanceMetadataOptionsRequest`,Dae=`InstanceMetadataOptionsResponse`,bd=`InstanceMarketOptions`,xd=`IncludeManagedResources`,Sd=`InstanceMetadataTags`,Cd=`Ipv6Native`,Oae=`InstanceNetworkInterface`,kae=`InstanceNetworkInterfaceAssociation`,Aae=`InstanceNetworkInterfaceAttachment`,jae=`InstanceNetworkInterfaceList`,wd=`InstanceNetworkInterfaceSpecification`,Mae=`InstanceNetworkInterfaceSpecificationList`,Td=`Ipv6NetmaskLength`,Ed=`Ipv4NetmaskLength`,Nae=`InstanceNetworkPerformanceOptions`,Pae=`InstanceNetworkPerformanceOptionsRequest`,Fae=`ImageOwnerAlias`,Iae=`IpOwnerId`,Lae=`InstanceOwnerId`,Rae=`InstanceOwningService`,Dd=`Ipv6PrefixCount`,Od=`Ipv4PrefixCount`,zae=`IpPermissionsEgress`,Bae=`IpamPoolId`,Vae=`InstancePrivateIpAddress`,Hae=`InstancePrivateIpAddressList`,Uae=`IsPrimaryIpv6`,Wae=`IncludePublicKey`,Gae=`Ipv4PrefixListResponse`,Kae=`Ipv6PrefixListResponse`,qae=`IpPermissionList`,Jae=`Ipv4PrefixList`,Yae=`Ipv6PrefixList`,Xae=`Ipv4PrefixSpecificationRequest`,Zae=`Ipv4PrefixSpecificationResponse`,Qae=`Ipv6PrefixSpecificationRequest`,$ae=`Ipv6PrefixSpecificationResponse`,kd=`Ipv6Prefixes`,Ad=`IpPermissions`,eoe=`IpPermission`,jd=`IpProtocol`,Md=`Ipv6Prefix`,Nd=`Ipv6Pool`,Pd=`Ipv4Prefixes`,Fd=`Ipv4Prefix`,toe=`IsPrimary`,noe=`IpRangeList`,roe=`Ipv6RangeList`,ioe=`InstanceRequirementsRequest`,Id=`InstanceRequirements`,aoe=`IpRanges`,ooe=`IpRange`,soe=`Ipv6Ranges`,coe=`Ipv6Range`,loe=`InstanceStateChange`,uoe=`InstanceStateChangeList`,doe=`InstanceSecondaryInterfaceAttachment`,foe=`InstanceSecondaryInterfaceList`,poe=`InstanceSecondaryInterfacePrivateIpAddress`,moe=`InstanceSecondaryInterfacePrivateIpAddressList`,hoe=`InstanceSecondaryInterfacePrivateIpAddressListRequest`,goe=`InstanceSecondaryInterfacePrivateIpAddressRequest`,_oe=`InstanceSecondaryInterfaceSpecification`,voe=`InstanceSecondaryInterfaceSpecificationListRequest`,yoe=`InstanceSecondaryInterfaceSpecificationRequest`,boe=`InstanceSecondaryInterface`,Ld=`InstanceStorageInfo`,xoe=`InstanceStorageSupported`,Rd=`ImdsSupport`,Soe=`InstanceState`,zd=`IpSource`,Coe=`Ipv6Supported`,Bd=`InstanceType`,woe=`InstanceTypeInfoList`,Toe=`InstanceTypeInfo`,Eoe=`ImageType`,Vd=`InstanceTenancy`,Hd=`InstanceTypes`,Ud=`InterfaceType`,Doe=`IncludeUnsupportedInRegion`,Ooe=`ImageWatermarks`,koe=`ImageWatermarkList`,Aoe=`ImageWatermark`,joe=`Images`,Moe=`Image`,Noe=`Instance`,Poe=`Instances`,Wd=`Iops`,Foe=`Key`,Ioe=`KeyFormat`,Gd=`KeyFingerprint`,Kd=`KernelId`,qd=`KmsKeyId`,Loe=`KeyMaterial`,Jd=`KeyName`,Roe=`KeyNameStringList`,zoe=`KeyNames`,Boe=`KeyPairs`,Yd=`KeyPairId`,Voe=`KeyPairIdStringList`,Hoe=`KeyPairIds`,Uoe=`KeyPairInfo`,Woe=`KeyPairList`,Goe=`KeyPair`,Xd=`KeyType`,Koe=`Kernel`,qoe=`Lambda`,Zd=`LicenseConfigurationArn`,Joe=`LicenseConfigurationRequest`,Yoe=`LicenseConfiguration`,Xoe=`LambdaExclusion`,Zoe=`LogicalGpuCount`,Qd=`LocalGatewayId`,$d=`LinkedGroupId`,Qoe=`LicenseList`,$oe=`LastLaunchedTime`,ef=`LicenseSpecifications`,ese=`LicenseSpecificationListRequest`,tf=`LocalStorageTypes`,tse=`LocalStorageTypeSet`,nse=`LocalStorageType`,nf=`LicenseSpecification`,rf=`LocalStorage`,af=`LaunchTemplate`,rse=`LaunchTemplateBlockDeviceMapping`,ise=`LaunchTemplateBlockDeviceMappingList`,ase=`LaunchTemplateBlockDeviceMappingRequest`,ose=`LaunchTemplateBlockDeviceMappingRequestList`,sse=`LaunchTemplateCpuOptions`,cse=`LaunchTemplateCpuOptionsRequest`,lse=`LaunchTemplateCapacityReservationSpecificationRequest`,use=`LaunchTemplateCapacityReservationSpecificationResponse`,of=`LaunchTemplateData`,dse=`LaunchTemplateEbsBlockDevice`,fse=`LaunchTemplateEbsBlockDeviceRequest`,pse=`LaunchTemplateElasticInferenceAccelerator`,mse=`LaunchTemplateElasticInferenceAcceleratorList`,hse=`LaunchTemplateElasticInferenceAcceleratorResponse`,gse=`LaunchTemplateElasticInferenceAcceleratorResponseList`,_se=`LaunchTemplateEnclaveOptions`,vse=`LaunchTemplateEnclaveOptionsRequest`,yse=`LaunchTemplateEnaSrdSpecification`,bse=`LaunchTemplateEnaSrdUdpSpecification`,xse=`LaunchTemplateHibernationOptions`,Sse=`LaunchTemplateHibernationOptionsRequest`,sf=`LaunchTemplateId`,Cse=`LaunchTemplateIamInstanceProfileSpecification`,wse=`LaunchTemplateIamInstanceProfileSpecificationRequest`,Tse=`LaunchTemplateInstanceMaintenanceOptions`,Ese=`LaunchTemplateInstanceMaintenanceOptionsRequest`,Dse=`LaunchTemplateInstanceMarketOptionsRequest`,Ose=`LaunchTemplateInstanceMetadataOptionsRequest`,kse=`LaunchTemplateInstanceMarketOptions`,Ase=`LaunchTemplateInstanceMetadataOptions`,jse=`LaunchTemplateInstanceNetworkInterfaceSpecification`,Mse=`LaunchTemplateInstanceNetworkInterfaceSpecificationList`,Nse=`LaunchTemplateInstanceNetworkInterfaceSpecificationRequest`,Pse=`LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList`,Fse=`LaunchTemplateInstanceSecondaryInterfaceSpecification`,Ise=`LaunchTemplateInstanceSecondaryInterfaceSpecificationList`,Lse=`LaunchTemplateInstanceSecondaryInterfaceSpecificationRequest`,Rse=`LaunchTemplateInstanceSecondaryInterfaceSpecificationRequestList`,zse=`LaunchTemplateIdStringList`,Bse=`LaunchTemplateIds`,Vse=`LaunchTemplateLicenseConfiguration`,Hse=`LaunchTemplateLicenseConfigurationRequest`,Use=`LaunchTemplateLicenseList`,Wse=`LaunchTemplateLicenseSpecificationListRequest`,Gse=`LaunchTemplatesMonitoring`,Kse=`LaunchTemplatesMonitoringRequest`,cf=`LaunchTemplateName`,qse=`LaunchTemplateNetworkPerformanceOptions`,Jse=`LaunchTemplateNetworkPerformanceOptionsRequest`,Yse=`LaunchTemplateNameStringList`,Xse=`LaunchTemplateNames`,Zse=`LaunchTemplatePlacement`,Qse=`LaunchTemplatePrivateDnsNameOptions`,$se=`LaunchTemplatePrivateDnsNameOptionsRequest`,ece=`LaunchTemplatePlacementRequest`,tce=`LaunchTemplateSpecification`,nce=`LaunchTemplateSpotMarketOptions`,rce=`LaunchTemplateSpotMarketOptionsRequest`,ice=`LaunchTemplateSet`,ace=`LaunchTemplateTagSpecification`,oce=`LaunchTemplateTagSpecificationList`,lf=`LaunchTemplateTagSpecificationRequest`,sce=`LaunchTemplateTagSpecificationRequestList`,uf=`LaunchTemplateVersion`,cce=`LaunchTemplateVersionSet`,lce=`LaunchTemplateVersions`,uce=`LaunchTemplates`,dce=`LaunchTime`,fce=`LatestVersionNumber`,pce=`Latest`,mce=`Licenses`,hce=`Location`,df=`Min`,ff=`MultiAttachEnabled`,pf=`MediaAcceleratorInfo`,mf=`MacAddress`,hf=`MaximumBandwidthInMbps`,gf=`MapCustomerOwnedIpOnLaunch`,gce=`MaxCount`,_ce=`MinCount`,vce=`MediaDeviceInfo`,yce=`MediaDeviceInfoList`,bce=`MediaDeviceMemoryInfo`,xce=`MaximumEbsAttachments`,Sce=`MaximumEbsCards`,Cce=`MaximumEfaInterfaces`,wce=`MaximumEnaQueueCount`,Tce=`MaximumEnaQueueCountPerInterface`,_f=`MemoryGiBPerVCpu`,Ece=`MemoryGiBPerVCpuRequest`,vf=`MaximumIops`,Dce=`ModifyInstanceAttributeRequest`,Oce=`ModifyInstanceAttributeValue`,kce=`ModifyInstanceAttribute`,yf=`MemoryInfo`,Ace=`ModifyLaunchTemplate`,jce=`ModifyLaunchTemplateRequest`,Mce=`ModifyLaunchTemplateResult`,bf=`MemoryMiB`,Nce=`MemoryMiBRequest`,Pce=`MaximumNetworkCards`,xf=`MaximumNetworkInterfaces`,Sf=`MetadataOptions`,Cf=`MaintenanceOptions`,wf=`MapPublicIpOnLaunch`,Tf=`MaxPrice`,Ef=`MaxResults`,Fce=`ModifySubnetAttributeRequest`,Ice=`ModifySubnetAttribute`,Lce=`MaximumSecondaryNetworkInterfaces`,Df=`MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`,Of=`ModificationState`,kf=`MaximumThroughputInMBps`,Af=`MarketType`,Rce=`MinVersion`,zce=`ModifyVolumeRequest`,Bce=`ModifyVolumeResult`,Vce=`MaxVersion`,Hce=`ModifyVolume`,jf=`Max`,Uce=`Main`,Mf=`Manufacturer`,Wce=`Managed`,Nf=`Message`,Gce=`Messages`,Pf=`Mode`,Ff=`Monitoring`,If=`Name`,Lf=`NetworkBorderGroup`,Kce=`NetworkBandwidthGbpsRequest`,Rf=`NetworkBandwidthGbps`,qce=`NetworkCards`,zf=`NetworkCardIndex`,Jce=`NetworkCardInfoList`,Yce=`NetworkCardInfo`,Bf=`NoDevice`,Xce=`NeuronDeviceCoreInfo`,Zce=`NeuronDeviceInfo`,Qce=`NeuronDeviceInfoList`,$ce=`NeuronDeviceMemoryInfo`,ele=`NeuronDevices`,tle=`NitroEnclavesSupport`,Vf=`NatGateway`,nle=`NatGatewayAddresses`,rle=`NatGatewayAttachedAppliance`,ile=`NatGatewayAttachedApplianceList`,ale=`NatGatewayAddressList`,ole=`NatGatewayAddress`,sle=`NatGatewayExclusion`,Hf=`NatGatewayId`,cle=`NatGatewayIdStringList`,lle=`NatGatewayIds`,ule=`NatGatewayList`,dle=`NatGateways`,Uf=`NetworkInterfaceCount`,fle=`NetworkInterfaceCountRequest`,Wf=`NetworkInterfaceId`,ple=`NetworkInterfaceOwnerId`,mle=`NetworkInterface`,Gf=`NetworkInterfaces`,Kf=`NetworkInfo`,qf=`NeuronInfo`,Jf=`NetworkPerformanceOptions`,Yf=`NetworkPerformance`,hle=`NoReboot`,Xf=`NvmeSupport`,Zf=`NitroTpmInfo`,gle=`NitroTpmSupport`,_le=`NitroTpmSupportedVersionsList`,Qf=`NextToken`,$f=`NestedVirtualization`,vle=`Origin`,ep=`OutpostArn`,yle=`OwnerAlias`,tp=`OnDemandMaxPricePercentageOverLowestPrice`,np=`OwnerId`,rp=`OptInStatus`,ble=`OriginalIops`,xle=`OwnerIds`,Sle=`OriginalMultiAttachEnabled`,ip=`OdbNetworkArn`,Cle=`OperatorRequest`,wle=`OperatorResponse`,Tle=`OwnerStringList`,Ele=`OriginalSize`,Dle=`OriginalThroughput`,Ole=`OriginalVolumeType`,ap=`Operator`,kle=`Output`,Ale=`Owners`,op=`Owner`,sp=`Principal`,cp=`ProvisionedBandwidth`,jle=`PeakBandwidthInGbps`,Mle=`ProductCodeId`,Nle=`ProductCodeList`,Ple=`ProductCodeType`,lp=`PartitionCount`,Fle=`ProductCode`,up=`ProductCodes`,Ile=`PrivateDnsHostnameTypeOnLaunch`,dp=`PrivateDnsName`,fp=`PrivateDnsNameOptions`,pp=`PrivateDnsNameOptionsOnLaunch`,Lle=`PrivateDnsNameOptionsRequest`,Rle=`PrivateDnsNameOptionsResponse`,mp=`PublicDnsName`,hp=`PlatformDetails`,zle=`PerformanceFactorReference`,Ble=`PerformanceFactorReferenceRequest`,Vle=`PerformanceFactorReferenceSet`,Hle=`PerformanceFactorReferenceSetRequest`,gp=`PlacementGroup`,_p=`ParentGroupId`,Ule=`PlacementGroupIdStringList`,vp=`PlacementGroupInfo`,Wle=`PlacementGroupList`,Gle=`PlacementGroupStrategyList`,Kle=`PlacementGroups`,yp=`PublicIp`,bp=`PrivateIpAddressCount`,qle=`PrivateIpAddressSpecification`,Jle=`PrivateIpAddressSpecificationList`,xp=`PrivateIpAddress`,Sp=`PrivateIpAddresses`,Yle=`PublicIpAddress`,Cp=`PublicIpv4Pool`,Xle=`PublicIpStringList`,wp=`PrimaryIpv6`,Zle=`PrivateIp`,Tp=`ProcessorInfo`,Qle=`PublicIps`,$le=`PublicKey`,eue=`PublicKeyMaterial`,Ep=`PrefixListId`,tue=`PrefixListIdList`,nue=`PrefixListIds`,Dp=`PartitionNumber`,rue=`PublicSsmParameterName`,Op=`PeeringStatus`,iue=`PhcSupport`,aue=`PreviousState`,oue=`ProvisionTime`,sue=`PresignedUrl`,cue=`PropagatingVgw`,lue=`PropagatingVgwList`,uue=`PropagatingVgws`,due=`ParentZoneId`,fue=`ParentZoneName`,kp=`Platform`,Ap=`Placement`,jp=`Primary`,Mp=`Progress`,pue=`Provisioned`,mue=`Public`,Np=`Return`,hue=`ReleaseAddressRequest`,gue=`ReleaseAddress`,Pp=`ResolveAlias`,_ue=`RestorableByUserIds`,vue=`RestorableBy`,yue=`ReturnCode`,Fp=`RamDiskId`,Ip=`RootDeviceName`,Lp=`RootDeviceType`,bue=`RootDeviceTypeList`,Rp=`RequireEncryptionInTransit`,xue=`RestoreExpiryTime`,zp=`ResponseError`,Sue=`ResourceExclusions`,Cue=`RegionGeography`,wue=`ReferencedGroupId`,Tue=`ReferencedGroupInfo`,Eue=`RegionGeographyList`,Bp=`RequireHibernateSupport`,Due=`RunInstancesMonitoringEnabled`,Oue=`RebootInstancesRequest`,kue=`RegisterImageRequest`,Aue=`RegisterImageResult`,jue=`RunInstancesRequest`,Mue=`RunInstancesUserData`,Vp=`RamdiskId`,Nue=`ReservationId`,Pue=`RebootInstances`,Fue=`RegisterImage`,Iue=`RequesterId`,Lue=`RunInstances`,Rue=`RegionList`,zue=`RequestLaunchTemplateData`,Bue=`ResponseLaunchTemplateData`,Vue=`ReservationList`,Hue=`RouteList`,Uue=`RebootMigrationSupport`,Wue=`RebootMigration`,Hp=`RegionName`,Gue=`RegionNameStringList`,Kue=`RegionNames`,que=`ReferencedSecurityGroup`,Jue=`RevokeSecurityGroupEgress`,Yue=`RevokeSecurityGroupEgressRequest`,Xue=`RevokeSecurityGroupEgressResult`,Zue=`RevokeSecurityGroupIngressRequest`,Que=`RevokeSecurityGroupIngressResult`,$ue=`RevokeSecurityGroupIngress`,ede=`RevokedSecurityGroupRule`,tde=`RevokedSecurityGroupRuleList`,Up=`RevokedSecurityGroupRules`,nde=`RouteTableAssociation`,rde=`RouteTableAssociationId`,ide=`RouteTableAssociationList`,ade=`RouteTableAssociationState`,Wp=`RouteTableId`,ode=`RouteTableIdStringList`,sde=`RouteTableIds`,cde=`RouteTableList`,Gp=`ResourceType`,lde=`RequestTime`,Kp=`RouteTable`,ude=`RouteTables`,dde=`Ramdisk`,qp=`References`,fde=`Reference`,pde=`Regions`,mde=`Region`,hde=`Requested`,gde=`Reservations`,_de=`Reservation`,vde=`Route`,yde=`Routes`,bde=`SecondaryAllocationIds`,xde=`SecondaryAllocationId`,Sde=`SupportedAdditionalProcessorFeatureList`,Cde=`SubnetArn`,wde=`SupportedArchitectures`,Tde=`SupportedBootModes`,Ede=`SubnetCidrBlockState`,Dde=`SustainedClockSpeedInGhz`,Jp=`SourceDestCheck`,Ode=`SuccessfullyDeletedLaunchTemplateVersions`,kde=`SetDefaultVersion`,Yp=`SpreadDomain`,Ade=`SupportedFeatures`,jde=`SubGeography`,Xp=`SecurityGroupArn`,Zp=`SecurityGroupId`,Mde=`SecurityGroupIdStringList`,Qp=`SecurityGroupIds`,Nde=`SecurityGroupList`,$p=`SecurityGroupRules`,Pde=`SecurityGroupRuleArn`,em=`SecurityGroupRuleIds`,Fde=`SecurityGroupRuleIdList`,tm=`SecurityGroupRuleId`,Ide=`SecurityGroupRuleList`,Lde=`SecurityGroupRule`,Rde=`SecurityGroupStringList`,nm=`SecurityGroups`,rm=`SecurityGroup`,zde=`SubnetIds`,Bde=`SubnetIpv6CidrBlockAssociation`,Vde=`SubnetIpv6CidrBlockAssociationSet`,Hde=`SourceImageCreationTime`,Ude=`SizeInGB`,im=`SourceImageId`,Wde=`SecondaryInterfaceId`,Gde=`SourceInstanceId`,am=`SizeInMiB`,om=`SecondaryInterfacePrivateIpAddressSpecification`,Kde=`SecondaryInterfacePrivateIpAddressSpecificationList`,qde=`SecondaryInterfacePrivateIpAddressSpecificationListRequest`,Jde=`SecondaryInterfacePrivateIpAddressSpecificationRequest`,Yde=`SpotInstanceRequestId`,sm=`SourceImageRegion`,Xde=`StartInstancesRequest`,Zde=`StartInstancesResult`,Qde=`StopInstancesRequest`,$de=`StopInstancesResult`,efe=`SupportedInRegion`,tfe=`SnapshotIdStringList`,nfe=`SubnetIdStringList`,cm=`SpotInstanceType`,lm=`SecondaryInterfaces`,um=`SecondaryInterface`,dm=`SnapshotId`,rfe=`SnapshotIds`,ife=`StartingInstances`,afe=`StartInstances`,ofe=`StoppingInstances`,sfe=`StopInstances`,fm=`SubnetId`,cfe=`SnapshotLocation`,lfe=`SnapshotList`,pm=`SpreadLevel`,ufe=`SubnetList`,dfe=`ServiceManaged`,ffe=`SpotMarketOptions`,mm=`SpotMaxPricePercentageOverLowestPrice`,hm=`StatusMessage`,gm=`StateMessage`,pfe=`SecondaryNetworkId`,_m=`SriovNetSupport`,mfe=`SecondaryNetworkSupported`,vm=`SpotOptions`,ym=`SkipOsShutdown`,hfe=`SecondaryPrivateIpAddresses`,bm=`SecondaryPrivateIpAddressCount`,gfe=`SecondaryPrivateIpAddress`,_fe=`SupportedRootDeviceTypes`,vfe=`SourceRegion`,xm=`StateReason`,Sm=`SourceSecurityGroupName`,Cm=`SourceSecurityGroupOwnerId`,yfe=`SourceSnapshotId`,wm=`SecondarySubnetId`,bfe=`SupportedStrategies`,xfe=`StateTransitionReason`,Tm=`SseType`,Em=`StartTime`,Sfe=`StorageTier`,Cfe=`SupportedUsageClasses`,wfe=`SensitiveUserData`,Tfe=`SourceVersion`,Efe=`SourceVolumeId`,Dfe=`SupportedVirtualizationTypes`,Ofe=`SupportedVersions`,Dm=`Size`,kfe=`Snapshots`,Afe=`Snapshot`,Om=`State`,km=`Status`,Am=`Strategy`,jm=`Subnet`,jfe=`Subnets`,Mm=`Tags`,Nm=`TcpEstablishedTimeout`,Mfe=`TotalFpgaMemoryInMiB`,Pm=`TransitGatewayId`,Nfe=`TotalGpuMemoryInMiB`,Pfe=`TerminateInstances`,Ffe=`TotalInferenceMemoryInMiB`,Ife=`TerminateInstancesRequest`,Lfe=`TerminateInstancesResult`,Rfe=`TargetIops`,zfe=`TerminatingInstances`,Bfe=`TagList`,Fm=`TotalLocalStorageGB`,Vfe=`TotalLocalStorageGBRequest`,Hfe=`TargetMultiAttachEnabled`,Ufe=`TotalMediaMemoryInMiB`,Wfe=`TotalNeuronDeviceMemoryInMiB`,Im=`ToPort`,Lm=`ThreadsPerCore`,Gfe=`ThreadsPerCoreList`,Rm=`TagSpecifications`,Kfe=`TotalSizeInGB`,qfe=`TagSpecificationList`,zm=`TagSpecification`,Jfe=`TargetSize`,Bm=`TpmSupport`,Yfe=`TargetThroughput`,Xfe=`TransferType`,Zfe=`TargetVolumeType`,Vm=`Tag`,Hm=`Tenancy`,Um=`Throughput`,Wm=`Timestamp`,Gm=`Type`,Qfe=`UsageClassTypeList`,$fe=`UefiData`,epe=`UnsuccessfullyDeletedLaunchTemplateVersions`,Km=`UserData`,qm=`UserId`,tpe=`UserIdGroupPairs`,npe=`UserIdGroupPairList`,rpe=`UserIdGroupPair`,Jm=`UnknownIpPermissions`,Ym=`UsageOperation`,ipe=`UsageOperationUpdateTime`,Xm=`UdpStreamTimeout`,Zm=`UdpTimeout`,Qm=`Value`,ape=`VolumeAttachmentList`,ope=`VolumeAttachment`,spe=`VpcCidrBlockAssociation`,cpe=`VpcCidrBlockAssociationSet`,lpe=`VpcCidrBlockState`,$m=`VCpuCount`,upe=`VCpuCountRange`,dpe=`VCpuCountRangeRequest`,eh=`VCpuInfo`,fpe=`ValidCores`,th=`VersionDescription`,nh=`VpcEncryptionControl`,ppe=`VpcEncryptionControlConfiguration`,mpe=`VpcEncryptionControlExclusion`,hpe=`VpcEncryptionControlExclusions`,gpe=`VpcEncryptionControlId`,rh=`VpcEndpointId`,_pe=`ValidationError`,ih=`VpcId`,vpe=`VpcIpv6CidrBlockAssociation`,ype=`VpcIpv6CidrBlockAssociationSet`,ah=`VolumeInitializationRate`,bpe=`VolumeIdStringList`,xpe=`VpcIdStringList`,oh=`VolumeId`,Spe=`VolumeIds`,Cpe=`VpcIds`,wpe=`VpcLattice`,Tpe=`VpcLatticeExclusion`,Epe=`VolumeList`,Dpe=`VpcList`,sh=`VolumeModification`,ch=`VirtualName`,lh=`VersionNumber`,Ope=`VolumeOwnerId`,kpe=`VpcPeering`,uh=`VpcPeeringConnectionId`,Ape=`VpcPeeringExclusion`,jpe=`VirtualPrivateGateway`,Mpe=`VirtualPrivateGatewayExclusion`,Npe=`ValueStringList`,Ppe=`VersionStringList`,dh=`VolumeSize`,fh=`VolumeType`,Fpe=`VirtualizationTypeList`,Ipe=`ValidThreadsPerCore`,ph=`VirtualizationType`,mh=`ValidUntil`,Lpe=`ValidationWarning`,Rpe=`Values`,hh=`Versions`,gh=`Version`,zpe=`Volumes`,Bpe=`Volume`,_h=`Vpc`,Vpe=`Vpcs`,vh=`Warning`,Hpe=`WatermarkCreationTime`,Upe=`WatermarkKey`,Wpe=`WorkloadsList`,Gpe=`Workloads`,yh=`ZoneId`,Kpe=`ZoneIdStringList`,qpe=`ZoneIds`,bh=`ZoneName`,Jpe=`ZoneNameStringList`,Ype=`ZoneNames`,Xpe=`ZoneType`,Zpe=`attachedApplianceSet`,Qpe=`applianceArn`,$pe=`associateCarrierIpAddress`,eme=`acceleratorCount`,tme=`additionalFlexibleNetworkInterfaces`,xh=`allocationId`,nme=`availableIpAddressCount`,rme=`assignIpv6AddressOnCreation`,ime=`allowedInstanceTypeSet`,Sh=`additionalInfo`,Ch=`associationId`,wh=`attachmentId`,ame=`amiLaunchIndex`,ome=`attachmentLimitType`,sme=`availabilityMode`,cme=`acceleratorManufacturerSet`,lme=`acceleratorNameSet`,Th=`associatePublicIpAddress`,ume=`amazonProvidedIpv6CidrBlock`,dme=`autoProvisionZones`,fme=`autoRecoverySupported`,pme=`allowReassociation`,Eh=`associatedResource`,Dh=`autoRecovery`,Oh=`associationState`,mme=`autoScalingIps`,kh=`amdSevSnp`,hme=`addressesSet`,gme=`associationSet`,Ah=`attachmentSet`,_me=`attachmentState`,vme=`acceleratorTotalMemoryMiB`,yme=`acceleratorTypeSet`,jh=`attachTime`,Mh=`availabilityZone`,Nh=`availabilityZoneId`,bme=`availabilityZoneInfo`,Ph=`accelerators`,Fh=`affinity`,Ih=`arn`,Lh=`architecture`,Rh=`association`,zh=`attachment`,xme=`attribute`,Sme=`baselineBandwidthInGbps`,Bh=`baselineBandwidthInMbps`,Vh=`blockDeviceMapping`,Cme=`blockDeviceMappingSet`,wme=`blockDurationMinutes`,Tme=`baselineEbsBandwidthMbps`,Hh=`baselineIops`,Uh=`bootMode`,Wh=`bareMetal`,Eme=`burstablePerformance`,Gh=`blockPublicAccessStates`,Dme=`baselinePerformanceFactors`,Ome=`burstablePerformanceSupported`,Kh=`baselineThroughputInMBps`,qh=`bandwidthWeighting`,kme=`bandwidthWeightings`,Jh=`cidrBlock`,Ame=`cidrBlockAssociationSet`,jme=`capacityBlockId`,Mme=`cidrBlockState`,Yh=`createdBy`,Xh=`coreCount`,Nme=`cpuCredits`,Pme=`completionDurationMinutes`,Fme=`creationDate`,Ime=`carrierGatewayId`,Lme=`currentGeneration`,Zh=`carrierIp`,Rme=`currentInstanceBootMode`,Qh=`cidrIp`,$h=`cidrIpv6`,eg=`cidrIpv4`,zme=`coreInfo`,Bme=`cpuManufacturerSet`,Vme=`coreNetworkArn`,tg=`cpuOptions`,ng=`customerOwnedIp`,rg=`customerOwnedIpv4Pool`,ig=`capacityReservationId`,ag=`capacityReservationPreference`,Hme=`capacityReservationResourceGroupArn`,og=`capacityReservationSpecification`,sg=`capacityReservationTarget`,Ume=`creditSpecification`,Wme=`currentState`,cg=`clientToken`,lg=`connectionTrackingConfiguration`,Gme=`connectionTrackingSpecification`,Kme=`completionTime`,qme=`connectivityType`,ug=`createTime`,dg=`code`,fg=`configured`,pg=`count`,Jme=`cpu`,Yme=`disableApiStop`,mg=`disableApiTermination`,hg=`destinationCidrBlock`,Xme=`defaultCores`,Zme=`dataEncryptionKeyId`,Qme=`defaultEnaQueueCountPerInterface`,$me=`defaultForAz`,ehe=`dedicatedHostsSupported`,gg=`deviceIndex`,_g=`destinationIpv6CidrBlock`,vg=`deviceName`,the=`defaultNetworkCardIndex`,nhe=`dnsName`,rhe=`dhcpOptionsId`,yg=`deleteOnTermination`,ihe=`destinationPrefixListId`,ahe=`deregistrationProtection`,m=`dryRun`,ohe=`destinationRegion`,she=`deleteSnapshotResultSet`,che=`defaultTcpEstablishedTimeout`,lhe=`defaultThreadsPerCore`,uhe=`deprecationTime`,dhe=`deleteTime`,fhe=`defaultUdpStreamTimeout`,phe=`defaultUdpTimeout`,mhe=`defaultVCpus`,hhe=`defaultVersionNumber`,ghe=`defaultVersion`,bg=`description`,_he=`device`,vhe=`disks`,xg=`domain`,Sg=`ebsCardIndex`,yhe=`ebsCardSet`,bhe=`encryptionControl`,xhe=`enableDns64`,She=`elasticFileSystem`,Che=`elasticGpuAssociationId`,whe=`elasticGpuAssociationState`,The=`elasticGpuAssociationSet`,Ehe=`elasticGpuAssociationTime`,Dhe=`elasticGpuId`,Ohe=`elasticGpuSpecificationSet`,khe=`elasticInferenceAcceleratorArn`,Ahe=`elasticInferenceAcceleratorAssociationId`,jhe=`elasticInferenceAcceleratorAssociationState`,Mhe=`elasticInferenceAcceleratorAssociationSet`,Nhe=`elasticInferenceAcceleratorAssociationTime`,Cg=`elasticInferenceAcceleratorSet`,wg=`encryptionInTransitSupported`,Tg=`excludedInstanceTypeSet`,Eg=`ebsInfo`,Dg=`efaInfo`,Og=`enableLniAtDeviceIndex`,kg=`ebsOptimized`,Ag=`ebsOptimizedInfo`,jg=`egressOnlyInternetGateway`,Mg=`egressOnlyInternetGatewayId`,Ng=`ebsOptimizedSupport`,Pg=`enclaveOptions`,Fg=`enaQueueCount`,h=`ec2QueryName`,Ig=`enableResourceNameDnsAAAARecord`,Lg=`enableResourceNameDnsARecord`,Rg=`enaSrdEnabled`,zg=`enaSrdSpecification`,Bg=`enaSrdSupported`,Vg=`enaSrdUdpEnabled`,Hg=`enaSrdUdpSpecification`,Ug=`efaSupported`,Wg=`encryptionSupport`,Gg=`enaSupport`,Kg=`errorSet`,qg=`endTime`,Jg=`ebs`,Yg=`enabled`,Xg=`encrypted`,Zg=`failureCode`,Qg=`flexibleEnaQueuesSupport`,$g=`fpgaInfo`,e_=`failureMessage`,t_=`fromPort`,n_=`fastRestored`,r_=`fullSnapshotSizeInBytes`,i_=`freeTierEligible`,a_=`force`,o_=`fpgas`,s_=`groupArn`,c_=`groupDescription`,l_=`gatewayId`,u_=`gpuInfo`,d_=`groupId`,f_=`groupLongName`,p_=`groupName`,m_=`groupOwnerId`,h_=`gpuPartitionSize`,g_=`geographySet`,__=`groupSet`,v_=`gpus`,y_=`groups`,b_=`hypervisor`,x_=`hiddenByDefault`,S_=`httpEndpoint`,C_=`hostId`,w_=`hibernationOptions`,T_=`httpProtocolIpv6`,E_=`httpPutResponseHopLimit`,D_=`hostResourceGroupArn`,O_=`hibernationSupported`,k_=`httpTokens`,A_=`hostnameType`,j_=`id`,M_=`ipv6AddressAttribute`,N_=`ipv6AddressCount`,P_=`inferenceAcceleratorInfo`,F_=`ipv4AddressesPerInterface`,I_=`ipv6AddressesPerInterface`,L_=`ipv4AddressesPerSecondaryInterface`,R_=`ipv6AddressesSet`,z_=`imageAllowed`,B_=`ipAddress`,V_=`ipv6Address`,H_=`ipv6CidrBlock`,U_=`ipv6CidrBlockAssociationSet`,W_=`ipv6CidrBlockState`,G_=`isDefault`,K_=`isEgress`,q_=`instanceFamily`,J_=`internetGateway`,Y_=`internetGatewayBlockMode`,X_=`internetGatewayId`,Z_=`internetGatewaySet`,Q_=`instanceGenerationSet`,$_=`instanceId`,ev=`instanceInterruptionBehavior`,tv=`iamInstanceProfile`,nv=`iamInstanceProfileAssociation`,rv=`iamInstanceProfileAssociationSet`,iv=`instanceInitiatedShutdownBehavior`,av=`imageId`,ov=`imageLocation`,sv=`instanceLifecycle`,cv=`instanceMarketOptions`,lv=`instanceMetadataTags`,uv=`ipv6Native`,dv=`imageOwnerAlias`,fv=`imageOwnerId`,pv=`instanceOwnerId`,mv=`ipOwnerId`,hv=`instanceOwningService`,gv=`ipv4PrefixCount`,_v=`ipv6PrefixCount`,vv=`ipPermissionsEgress`,yv=`isPrimaryIpv6`,bv=`ipv4PrefixSet`,xv=`ipv6PrefixSet`,Sv=`ipProtocol`,Cv=`ipPermissions`,wv=`ipv4Prefix`,Tv=`ipv6Pool`,Ev=`ipv6Prefix`,Dv=`isPublic`,Ov=`isPrimary`,kv=`instanceRequirements`,Av=`ipRanges`,jv=`ipv6Ranges`,Mv=`instanceStorageInfo`,Nv=`instanceStorageSupported`,Pv=`imagesSet`,Fv=`imageState`,Iv=`imdsSupport`,Lv=`instancesSet`,Rv=`instanceState`,zv=`ipSource`,Bv=`ipv6Supported`,Vv=`instanceType`,Hv=`instanceTypeSet`,Uv=`idempotencyToken`,Wv=`imageType`,Gv=`instanceTenancy`,Kv=`interfaceType`,qv=`imageWatermarkSet`,Jv=`iops`,g=`item`,Yv=`key`,Xv=`keyFingerprint`,Zv=`kernelId`,Qv=`kmsKeyId`,$v=`keyMaterial`,ey=`keyName`,ty=`keyPairId`,ny=`keySet`,ry=`keyType`,iy=`kernel`,ay=`lambda`,oy=`licenseConfigurationArn`,sy=`logicalGpuCount`,cy=`localGatewayId`,ly=`linkedGroupId`,uy=`lastLaunchedTime`,dy=`localStorageTypeSet`,fy=`licenseSet`,py=`localStorage`,my=`launchTemplate`,hy=`launchTemplateData`,gy=`launchTemplateId`,_y=`launchTemplateName`,vy=`launchTemplateVersion`,yy=`launchTemplateVersionSet`,by=`launchTemplates`,xy=`launchTime`,Sy=`latestVersionNumber`,Cy=`min`,wy=`multiAttachEnabled`,Ty=`mediaAcceleratorInfo`,Ey=`macAddress`,Dy=`maximumBandwidthInMbps`,Oy=`mapCustomerOwnedIpOnLaunch`,ky=`maximumEbsAttachments`,Ay=`maximumEbsCards`,jy=`maximumEfaInterfaces`,My=`maximumEnaQueueCount`,Ny=`maximumEnaQueueCountPerInterface`,Py=`memoryGiBPerVCpu`,Fy=`maximumIops`,Iy=`memoryInfo`,Ly=`memoryMiB`,Ry=`maximumNetworkCards`,zy=`maximumNetworkInterfaces`,By=`metadataOptions`,Vy=`maintenanceOptions`,Hy=`maxPrice`,Uy=`mapPublicIpOnLaunch`,Wy=`maxResults`,Gy=`messageSet`,Ky=`maximumSecondaryNetworkInterfaces`,qy=`maxSpotPriceAsPercentageOfOptimalOnDemandPrice`,Jy=`modificationState`,Yy=`maximumThroughputInMBps`,Xy=`marketType`,Zy=`max`,Qy=`main`,$y=`manufacturer`,eb=`managed`,tb=`message`,nb=`mode`,rb=`monitoring`,ib=`name`,ab=`networkBorderGroup`,ob=`networkBandwidthGbps`,sb=`networkCards`,cb=`networkCardIndex`,lb=`noDevice`,ub=`neuronDevices`,db=`nitroEnclavesSupport`,fb=`natGateway`,pb=`natGatewayAddressSet`,mb=`natGatewayId`,hb=`natGatewaySet`,gb=`networkInterfaceCount`,_b=`networkInterfaceId`,vb=`networkInterfaceOwnerId`,yb=`networkInterfaceSet`,bb=`networkInterface`,xb=`networkInfo`,Sb=`neuronInfo`,Cb=`networkPerformanceOptions`,wb=`networkPerformance`,Tb=`noReboot`,Eb=`nvmeSupport`,Db=`nitroTpmInfo`,Ob=`nitroTpmSupport`,kb=`nextToken`,Ab=`nestedVirtualization`,jb=`origin`,Mb=`outpostArn`,Nb=`ownerAlias`,Pb=`onDemandMaxPricePercentageOverLowestPrice`,Fb=`ownerId`,Ib=`optInStatus`,Lb=`originalIops`,Rb=`originalMultiAttachEnabled`,zb=`odbNetworkArn`,Bb=`originalSize`,Vb=`originalThroughput`,Hb=`originalVolumeType`,Ub=`operator`,Wb=`output`,Gb=`principal`,Kb=`provisionedBandwidth`,qb=`peakBandwidthInGbps`,Jb=`productCodes`,Yb=`partitionCount`,Xb=`productCode`,Zb=`privateDnsNameOptions`,Qb=`privateDnsNameOptionsOnLaunch`,$b=`privateDnsName`,ex=`publicDnsName`,tx=`platformDetails`,nx=`placementGroup`,rx=`placementGroupInfo`,ix=`parentGroupId`,ax=`placementGroupSet`,ox=`publicIp`,sx=`privateIpAddressCount`,cx=`privateIpAddressesSet`,lx=`privateIpAddressSet`,ux=`privateIpAddress`,dx=`publicIpv4Pool`,fx=`processorInfo`,px=`primaryIpv6`,mx=`privateIp`,hx=`publicKey`,gx=`publicKeyMaterial`,_x=`prefixListId`,vx=`prefixListIds`,yx=`partitionNumber`,bx=`publicSsmParameterName`,xx=`peeringStatus`,Sx=`phcSupport`,Cx=`previousState`,wx=`provisionTime`,Tx=`presignedUrl`,Ex=`propagatingVgwSet`,Dx=`parentZoneId`,Ox=`parentZoneName`,kx=`platform`,Ax=`placement`,jx=`primary`,Mx=`progress`,Nx=`provisioned`,Px=`return`,Fx=`returnCode`,Ix=`ramDiskId`,Lx=`rootDeviceName`,Rx=`rootDeviceType`,zx=`responseError`,Bx=`requireEncryptionInTransit`,Vx=`restoreExpiryTime`,Hx=`regionEndpoint`,Ux=`resourceExclusions`,Wx=`referencedGroupId`,Gx=`referencedGroupInfo`,Kx=`requireHibernateSupport`,qx=`reservationId`,Jx=`ramdiskId`,Yx=`regionInfo`,Xx=`requesterId`,Zx=`rebootMigrationSupport`,Qx=`rebootMigration`,$x=`regionName`,eS=`revokedSecurityGroupRuleSet`,tS=`referenceSet`,nS=`reservationSet`,rS=`routeSet`,iS=`routeTableAssociationId`,aS=`routeTableId`,oS=`routeTableSet`,sS=`resourceType`,cS=`requestTime`,lS=`routeTable`,uS=`ramdisk`,dS=`reason`,fS=`requested`,pS=`smithy.ts.sdk.synthetic.com.amazonaws.ec2`,mS=`supportedArchitectures`,hS=`subnetArn`,gS=`supportedBootModes`,_S=`sustainedClockSpeedInGhz`,vS=`sourceDestCheck`,yS=`successfullyDeletedLaunchTemplateVersionSet`,bS=`spreadDomain`,xS=`supportedFeatures`,SS=`securityGroupArn`,CS=`securityGroupIdSet`,wS=`securityGroupInfo`,TS=`securityGroupRuleArn`,ES=`securityGroupRuleId`,DS=`securityGroupRuleSet`,OS=`subGeographySet`,kS=`securityGroupSet`,AS=`sourceImageCreationTime`,jS=`sizeInGB`,MS=`sourceInstanceId`,NS=`secondaryInterfaceId`,PS=`sourceImageId`,FS=`sizeInMiB`,IS=`sourceImageRegion`,LS=`spotInstanceRequestId`,RS=`supportedInRegion`,zS=`secondaryInterfaceSet`,BS=`spotInstanceType`,VS=`snapshotId`,HS=`subnetId`,US=`spreadLevel`,WS=`serviceManaged`,GS=`spotMaxPricePercentageOverLowestPrice`,KS=`statusMessage`,qS=`stateMessage`,JS=`secondaryNetworkId`,YS=`secondaryNetworkSupported`,XS=`sriovNetSupport`,ZS=`spotOptions`,QS=`secondaryPrivateIpAddressCount`,$S=`supportedRootDeviceTypes`,eC=`stateReason`,tC=`sourceSecurityGroupName`,nC=`sourceSecurityGroupOwnerId`,rC=`secondarySubnetId`,iC=`snapshotSet`,aC=`subnetSet`,oC=`supportedStrategies`,sC=`sseType`,cC=`startTime`,lC=`storageTier`,uC=`supportedUsageClasses`,dC=`sourceVolumeId`,fC=`supportedVirtualizationTypes`,pC=`supportedVersions`,mC=`size`,hC=`state`,gC=`status`,_C=`strategy`,vC=`subnet`,yC=`tcpEstablishedTimeout`,bC=`totalFpgaMemoryInMiB`,xC=`transitGatewayId`,SC=`totalGpuMemoryInMiB`,CC=`totalInferenceMemoryInMiB`,wC=`targetIops`,TC=`totalLocalStorageGB`,EC=`targetMultiAttachEnabled`,DC=`totalMediaMemoryInMiB`,OC=`totalNeuronDeviceMemoryInMiB`,kC=`toPort`,AC=`threadsPerCore`,jC=`tagSet`,MC=`totalSizeInGB`,NC=`tagSpecificationSet`,PC=`targetSize`,FC=`tpmSupport`,IC=`targetThroughput`,LC=`transferType`,RC=`targetVolumeType`,zC=`tenancy`,BC=`throughput`,VC=`timestamp`,HC=`type`,UC=`unsuccessfullyDeletedLaunchTemplateVersionSet`,WC=`userData`,GC=`userId`,KC=`unknownIpPermissionSet`,qC=`usageOperation`,JC=`usageOperationUpdateTime`,YC=`udpStreamTimeout`,XC=`udpTimeout`,ZC=`value`,QC=`vCpuCount`,$C=`vCpuInfo`,ew=`validCores`,tw=`versionDescription`,nw=`vpcEncryptionControlId`,rw=`vpcEndpointId`,iw=`vpcId`,aw=`volumeInitializationRate`,ow=`volumeId`,sw=`vpcLattice`,cw=`volumeModification`,lw=`virtualName`,uw=`versionNumber`,dw=`volumeOwnerId`,fw=`vpcPeering`,pw=`vpcPeeringConnectionId`,mw=`virtualPrivateGateway`,hw=`volumeSet`,gw=`volumeSize`,_w=`vpcSet`,vw=`volumeType`,yw=`validThreadsPerCore`,bw=`virtualizationType`,xw=`validUntil`,Sw=`version`,Cw=`vpc`,ww=`warning`,Tw=`watermarkCreationTime`,Ew=`watermarkKey`,Dw=`workloadSet`,_=`xmlName`,Ow=`zoneId`,kw=`zoneName`,Aw=`zoneState`,jw=`zoneType`,v=`com.amazonaws.ec2`,Mw=ot.for(pS),Nw=[-3,pS,`EC2ServiceException`,0,[],[]];Mw.registerError(Nw,Tne);var Pw=[Mw],Fw=[0,v,Bie,8,0],Iw=[0,v,Oce,8,0],Lw=[0,v,Mue,8,0],Rw=[0,v,wfe,8,0],zw=[3,v,Zr,0,[df,jf],[[1,{[h]:`Min`,[_]:Cy}],[1,{[h]:`Max`,[_]:Zy}]]],Bw=[3,v,Ine,0,[df,jf],[1,1]],Vw=[3,v,mi,0,[df,jf],[[1,{[h]:`Min`,[_]:Cy}],[1,{[h]:`Max`,[_]:Zy}]]],Hw=[3,v,yre,0,[df,jf],[1,1]],Uw=[3,v,Xr,0,[ni,ii,Zs,Wf,ple,xp,Mm,Cp,Lf,ea,ta,qi,fm,dfe,id,yp],[[0,{[h]:`AllocationId`,[_]:xh}],[0,{[h]:`AssociationId`,[_]:Ch}],[0,{[h]:`Domain`,[_]:xg}],[0,{[h]:`NetworkInterfaceId`,[_]:_b}],[0,{[h]:`NetworkInterfaceOwnerId`,[_]:vb}],[0,{[h]:`PrivateIpAddress`,[_]:ux}],[()=>fP,{[h]:`TagSet`,[_]:jC}],[0,{[h]:`PublicIpv4Pool`,[_]:dx}],[0,{[h]:`NetworkBorderGroup`,[_]:ab}],[0,{[h]:`CustomerOwnedIp`,[_]:ng}],[0,{[h]:`CustomerOwnedIpv4Pool`,[_]:rg}],[0,{[h]:`CarrierIp`,[_]:Zh}],[0,{[h]:`SubnetId`,[_]:HS}],[0,{[h]:`ServiceManaged`,[_]:WS}],[0,{[h]:`InstanceId`,[_]:$_}],[0,{[h]:`PublicIp`,[_]:ox}]]],Ww=[3,v,Ene,0,[Zs,Xr,Cp,Lf,ta,Rm,Bae,p],[0,0,0,0,0,[()=>pP,{[_]:zm}],0,[2,{[h]:`DryRun`,[_]:m}]]],Gw=[3,v,Dne,0,[ni,Cp,Lf,Zs,ea,ta,qi,yp],[[0,{[h]:`AllocationId`,[_]:xh}],[0,{[h]:`PublicIpv4Pool`,[_]:dx}],[0,{[h]:`NetworkBorderGroup`,[_]:ab}],[0,{[h]:`Domain`,[_]:xg}],[0,{[h]:`CustomerOwnedIp`,[_]:ng}],[0,{[h]:`CustomerOwnedIpv4Pool`,[_]:rg}],[0,{[h]:`CarrierIp`,[_]:Zh}],[0,{[h]:`PublicIp`,[_]:ox}]]],Kw=[3,v,One,0,[ni,id,yp,p,Wf,xp,cre],[0,0,0,[2,{[h]:`DryRun`,[_]:m}],[0,{[h]:`NetworkInterfaceId`,[_]:_b}],[0,{[h]:`PrivateIpAddress`,[_]:ux}],[2,{[h]:`AllowReassociation`,[_]:pme}]]],qw=[3,v,kne,0,[ii],[[0,{[h]:`AssociationId`,[_]:Ch}]]],Jw=[3,v,Hne,0,[ud,id],[[()=>YD,0],0],2],Yw=[3,v,Une,0,[dd],[[()=>JD,{[h]:`IamInstanceProfileAssociation`,[_]:nv}]]],Xw=[3,v,are,0,[Wp,Hl,Cp,p,fm],[[0,{[h]:`RouteTableId`,[_]:aS}],0,0,[2,{[h]:`DryRun`,[_]:m}],[0,{[h]:`SubnetId`,[_]:HS}]],1],Zw=[3,v,ore,0,[ii,pi],[[0,{[h]:`AssociationId`,[_]:Ch}],[()=>YA,{[h]:`AssociationState`,[_]:Oh}]]],Qw=[3,v,Bne,0,[Xu,ih,p],[[0,{[h]:`InternetGatewayId`,[_]:X_}],[0,{[h]:`VpcId`,[_]:iw}],[2,{[h]:`DryRun`,[_]:m}]],2],$w=[3,v,Sre,0,[Ys,id,oh,tc,p],[0,0,0,1,[2,{[h]:`DryRun`,[_]:m}]],3],eT=[3,v,Fne,0,[Qm],[[2,{[h]:`Value`,[_]:ZC}]]],tT=[3,v,Cre,0,[Qm],[[0,{[h]:`Value`,[_]:ZC}]]],nT=[3,v,dre,0,[Kl,Rm,p,Sm,Cm,jd,El,Im,Ji,Ad],[[0,{[h]:`GroupId`,[_]:d_}],[()=>pP,{[_]:zm}],[2,{[h]:`DryRun`,[_]:m}],[0,{[h]:`SourceSecurityGroupName`,[_]:tC}],[0,{[h]:`SourceSecurityGroupOwnerId`,[_]:nC}],[0,{[h]:`IpProtocol`,[_]:Sv}],[1,{[h]:`FromPort`,[_]:t_}],[1,{[h]:`ToPort`,[_]:kC}],[0,{[h]:`CidrIp`,[_]:Qh}],[()=>YM,{[h]:`IpPermissions`,[_]:Cv}]],1],rT=[3,v,fre,0,[Np,$p],[[2,{[h]:`Return`,[_]:Px}],[()=>iP,{[h]:`SecurityGroupRuleSet`,[_]:DS}]]],iT=[3,v,pre,0,[Ji,El,Kl,Xl,Ad,jd,Sm,Cm,Im,Rm,p],[0,1,0,0,[()=>YM,0],0,0,0,1,[()=>pP,{[_]:zm}],[2,{[h]:`DryRun`,[_]:m}]]],aT=[3,v,mre,0,[Np,$p],[[2,{[h]:`Return`,[_]:Px}],[()=>iP,{[h]:`SecurityGroupRuleSet`,[_]:DS}]]],oT=[3,v,_i,0,[rp,Gce,Hp,bh,yh,Xl,Lf,Xpe,fue,due,Yl,tu,jde,Om],[[0,{[h]:`OptInStatus`,[_]:Ib}],[()=>qj,{[h]:`MessageSet`,[_]:Gy}],[0,{[h]:`RegionName`,[_]:$x}],[0,{[h]:`ZoneName`,[_]:kw}],[0,{[h]:`ZoneId`,[_]:Ow}],[0,{[h]:`GroupName`,[_]:p_}],[0,{[h]:`NetworkBorderGroup`,[_]:ab}],[0,{[h]:`ZoneType`,[_]:jw}],[0,{[h]:`ParentZoneName`,[_]:Ox}],[0,{[h]:`ParentZoneId`,[_]:Dx}],[0,{[h]:`GroupLongName`,[_]:f_}],[()=>Gj,{[h]:`GeographySet`,[_]:g_}],[()=>Jj,{[h]:`SubGeographySet`,[_]:OS}],[0,{[h]:`ZoneState`,[_]:Aw}]]],sT=[3,v,vi,0,[_i,bi,ri],[0,0,[()=>Bj,{[_]:ni}]]],cT=[3,v,Tre,0,[If],[[0,{[h]:`Name`,[_]:ib}]]],lT=[3,v,Ore,0,[Nf],[[0,{[h]:`Message`,[_]:tb}]]],uT=[3,v,Are,0,[If],[[0,{[h]:`Name`,[_]:ib}]]],dT=[3,v,Mi,0,[df,jf],[[1,{[h]:`Min`,[_]:Cy}],[1,{[h]:`Max`,[_]:Zy}]]],fT=[3,v,Bre,0,[df,jf],[1,1]],pT=[3,v,Ri,0,[ga],[[()=>kT,{[h]:`Cpu`,[_]:Jme}]]],mT=[3,v,Hre,0,[ga],[[()=>AT,0]]],hT=[3,v,Ire,0,[Qm],[[21,{[h]:`Value`,[_]:ZC}]]],gT=[3,v,ki,0,[fl,Bf,jo,ch],[[()=>yD,{[h]:`Ebs`,[_]:Jg}],[0,{[h]:`NoDevice`,[_]:lb}],[0,{[h]:`DeviceName`,[_]:vg}],[0,{[h]:`VirtualName`,[_]:lw}]]],_T=[3,v,Li,0,[Ju],[[0,{[h]:`InternetGatewayBlockMode`,[_]:Y_}]]],vT=[3,v,aa,0,[ra,oa],[0,()=>bT]],yT=[3,v,Aie,0,[ra,oa],[[0,{[h]:`CapacityReservationPreference`,[_]:ag}],[()=>xT,{[h]:`CapacityReservationTarget`,[_]:sg}]]],bT=[3,v,oa,0,[na,ia],[0,0]],xT=[3,v,jie,0,[na,ia],[[0,{[h]:`CapacityReservationId`,[_]:ig}],[0,{[h]:`CapacityReservationResourceGroupArn`,[_]:Hme}]]],ST=[3,v,ua,0,[Nm,Zm,Xm],[[1,{[h]:`TcpEstablishedTimeout`,[_]:yC}],[1,{[h]:`UdpTimeout`,[_]:XC}],[1,{[h]:`UdpStreamTimeout`,[_]:YC}]]],CT=[3,v,Xie,0,[Nm,Xm,Zm],[1,1,1]],wT=[3,v,Zie,0,[Nm,Xm,Zm],[[1,{[h]:`TcpEstablishedTimeout`,[_]:yC}],[1,{[h]:`UdpStreamTimeout`,[_]:YC}],[1,{[h]:`UdpTimeout`,[_]:XC}]]],TT=[3,v,zie,0,[vfe,yfe,Js,zo,as,ml,qd,sue,Rm,Gi,ya,p],[0,0,0,0,[0,{[h]:`DestinationRegion`,[_]:ohe}],[2,{[h]:`Encrypted`,[_]:Xg}],[0,{[h]:`KmsKeyId`,[_]:Qv}],[()=>Fw,{[h]:`PresignedUrl`,[_]:Tx}],[()=>pP,{[_]:zm}],1,0,[2,{[h]:`DryRun`,[_]:m}]],2],ET=[3,v,Vie,0,[Mm,dm],[[()=>fP,{[h]:`TagSet`,[_]:jC}],[0,{[h]:`SnapshotId`,[_]:VS}]]],DT=[3,v,$i,0,[Ui,Lm,fi,$f],[[1,{[h]:`CoreCount`,[_]:Xh}],[1,{[h]:`ThreadsPerCore`,[_]:AC}],[0,{[h]:`AmdSevSnp`,[_]:kh}],[0,{[h]:`NestedVirtualization`,[_]:Ab}]]],OT=[3,v,Sie,0,[Ui,Lm,fi,$f],[1,1,0,0]],kT=[3,v,Cie,0,[qp],[[()=>NN,{[h]:`ReferenceSet`,[_]:tS}]]],AT=[3,v,wie,0,[qp],[[()=>PN,{[_]:fde}]]],jT=[3,v,aie,0,[id,If,Rm,cfe,p,Js,hle,Ai],[[0,{[h]:`InstanceId`,[_]:$_}],[0,{[h]:`Name`,[_]:ib}],[()=>pP,{[_]:zm}],0,[2,{[h]:`DryRun`,[_]:m}],[0,{[h]:`Description`,[_]:bg}],[2,{[h]:`NoReboot`,[_]:Tb}],[()=>Qj,{[h]:`BlockDeviceMapping`,[_]:Vh}]],2],MT=[3,v,oie,0,[_d],[[0,{[h]:`ImageId`,[_]:av}]]],NT=[3,v,rie,0,[Rm,p],[[()=>pP,{[_]:zm}],[2,{[h]:`DryRun`,[_]:m}]]],PT=[3,v,iie,0,[Gu],[[()=>FO,{[h]:`InternetGateway`,[_]:J_}]]],FT=[3,v,uie,0,[Jd,Xd,Rm,Ioe,p],[0,0,[()=>pP,{[_]:zm}],0,[2,{[h]:`DryRun`,[_]:m}]],1],IT=[3,v,fie,0,[cf,of,p,ca,th,ap,Rm],[0,[()=>LA,0],2,[0,4],0,()=>mA,[()=>pP,{[_]:zm}]],2],LT=[3,v,pie,0,[af,vh],[[()=>KO,{[h]:`LaunchTemplate`,[_]:my}],[()=>bj,{[h]:`Warning`,[_]:ww}]]],RT=[3,v,hie,0,[of,p,ca,sf,cf,Tfe,th,Pp],[[()=>LA,0],2,[0,4],0,0,0,0,2],1],zT=[3,v,gie,0,[uf,vh],[[()=>Ik,{[h]:`LaunchTemplateVersion`,[_]:vy}],[()=>bj,{[h]:`Warning`,[_]:ww}]]],BT=[3,v,bie,0,[si,ni,ca,p,fm,ih,yi,Rm,da,xp,bde,hfe,bm],[0,0,[0,4],2,0,0,[()=>Wj,{[_]:vi}],[()=>pP,{[_]:zm}],0,0,[()=>Bj,{[_]:xde}],[()=>JM,{[_]:gfe}],1]],VT=[3,v,xie,0,[ca,Vf],[[0,{[h]:`ClientToken`,[_]:cg}],[()=>eA,{[h]:`NatGateway`,[_]:fb}]]],HT=[3,v,Eie,0,[lp,Rm,pm,$d,ap,_p,p,Xl,Am],[1,[()=>pP,{[_]:zm}],0,0,()=>mA,0,[2,{[h]:`DryRun`,[_]:m}],[0,{[h]:`GroupName`,[_]:p_}],[0,{[h]:`Strategy`,[_]:_C}]]],UT=[3,v,Die,0,[gp],[[()=>yA,{[h]:`PlacementGroup`,[_]:nx}]]],WT=[3,v,Oie,0,[Wp,qo,rh,Pm,Qd,Ki,Qi,ip,p,Ta,Hl,Na,Uc,id,Wf,uh,Hf],[[0,{[h]:`RouteTableId`,[_]:aS}],0,0,0,0,0,0,0,[2,{[h]:`DryRun`,[_]:m}],[0,{[h]:`DestinationCidrBlock`,[_]:hg}],[0,{[h]:`GatewayId`,[_]:l_}],[0,{[h]:`DestinationIpv6CidrBlock`,[_]:_g}],[0,{[h]:`EgressOnlyInternetGatewayId`,[_]:Mg}],[0,{[h]:`InstanceId`,[_]:$_}],[0,{[h]:`NetworkInterfaceId`,[_]:_b}],[0,{[h]:`VpcPeeringConnectionId`,[_]:pw}],[0,{[h]:`NatGatewayId`,[_]:mb}]],1],GT=[3,v,kie,0,[Np],[[2,{[h]:`Return`,[_]:Px}]]],KT=[3,v,Mie,0,[ih,Rm,ca,p],[[0,{[h]:`VpcId`,[_]:iw}],[()=>pP,{[_]:zm}],[0,4],[2,{[h]:`DryRun`,[_]:m}]],1],qT=[3,v,Nie,0,[Kp,ca],[[()=>qA,{[h]:`RouteTable`,[_]:lS}],[0,{[h]:`ClientToken`,[_]:cg}]]],JT=[3,v,Lie,0,[Js,Xl,ih,Rm,p],[[0,{[_]:Rl}],0,0,[()=>pP,{[_]:zm}],[2,{[h]:`DryRun`,[_]:m}]],2],YT=[3,v,Rie,0,[Kl,Mm,Xp],[[0,{[h]:`GroupId`,[_]:d_}],[()=>fP,{[h]:`TagSet`,[_]:jC}],[0,{[h]:`SecurityGroupArn`,[_]:SS}]]],XT=[3,v,Hie,0,[oh,Js,ep,Rm,hce,p],[0,0,0,[()=>pP,{[_]:zm}],0,[2,{[h]:`DryRun`,[_]:m}]],1],ZT=[3,v,Uie,0,[ih,Rm,_i,bi,Vi,Nu,ep,Cd,hd,Ed,md,Td,p],[0,[()=>pP,{[_]:zm}],0,0,0,0,0,2,0,1,0,1,[2,{[h]:`DryRun`,[_]:m}]],1],QT=[3,v,Wie,0,[jm],[[()=>lj,{[h]:`Subnet`,[_]:vC}]]],$T=[3,v,$ie,0,[_i,bi,ml,Wd,qd,ep,Dm,dm,fh,Rm,ff,Um,ca,ah,ap,p],[0,0,[2,{[h]:`Encrypted`,[_]:Xg}],1,0,0,1,0,0,[()=>pP,{[_]:zm}],2,1,[0,4],1,()=>mA,[2,{[h]:`DryRun`,[_]:m}]]],eE=[3,v,eae,0,[Vi,Nd,Nu,hd,Ed,md,Td,Fu,nh,Rm,p,Vd,nre],[0,0,0,0,1,0,1,0,()=>jj,[()=>pP,{[_]:zm}],[2,{[h]:`DryRun`,[_]:m}],[0,{[h]:`InstanceTenancy`,[_]:Gv}],[2,{[h]:`AmazonProvidedIpv6CidrBlock`,[_]:ume}]]],tE=[3,v,tae,0,[_h],[[()=>Dj,{[h]:`Vpc`,[_]:Cw}]]],nE=[3,v,sa,0,[Wi],[[0,{[h]:`CpuCredits`,[_]:Nme}]]],rE=[3,v,Gie,0,[Wi],[0],1],iE=[3,v,Ea,0,[Ds,Ms,js],[[1,{[h]:`DefaultTcpEstablishedTimeout`,[_]:che}],[1,{[h]:`DefaultUdpTimeout`,[_]:phe}],[1,{[h]:`DefaultUdpStreamTimeout`,[_]:fhe}]]],aE=[3,v,Fa,0,[Xu,p],[[0,{[h]:`InternetGatewayId`,[_]:X_}],[2,{[h]:`DryRun`,[_]:m}]],1],oE=[3,v,co,0,[Jd,Yd,p],[0,0,[2,{[h]:`DryRun`,[_]:m}]]],sE=[3,v,lo,0,[Np,Yd],[[2,{[h]:`Return`,[_]:Px}],[0,{[h]:`KeyPairId`,[_]:ty}]]],cE=[3,v,go,0,[p,sf,cf],[2,0,0]],lE=[3,v,_o,0,[af],[[()=>KO,{[h]:`LaunchTemplate`,[_]:my}]]],uE=[3,v,xo,0,[hh,p,sf,cf],[[()=>vP,{[_]:uf}],2,0,0],1],dE=[3,v,So,0,[sf,cf,lh,zp],[[0,{[h]:`LaunchTemplateId`,[_]:gy}],[0,{[h]:`LaunchTemplateName`,[_]:_y}],[1,{[h]:`VersionNumber`,[_]:uw}],[()=>zA,{[h]:`ResponseError`,[_]:zx}]]],fE=[3,v,wo,0,[sf,cf,lh],[[0,{[h]:`LaunchTemplateId`,[_]:gy}],[0,{[h]:`LaunchTemplateName`,[_]:_y}],[1,{[h]:`VersionNumber`,[_]:uw}]]],pE=[3,v,Eo,0,[Ode,epe],[[()=>rM,{[h]:`SuccessfullyDeletedLaunchTemplateVersionSet`,[_]:yS}],[()=>nM,{[h]:`UnsuccessfullyDeletedLaunchTemplateVersionSet`,[_]:UC}]]],mE=[3,v,Po,0,[Hf,p],[[0,{[_]:Hf}],2],1],hE=[3,v,Fo,0,[Hf],[[0,{[h]:`NatGatewayId`,[_]:mb}]]],gE=[3,v,Uo,0,[Xl,p],[[0,{[h]:`GroupName`,[_]:p_}],[2,{[h]:`DryRun`,[_]:m}]],1],_E=[3,v,Yo,0,[Wp,qo,p,Ta,Na],[[0,{[h]:`RouteTableId`,[_]:aS}],0,[2,{[h]:`DryRun`,[_]:m}],[0,{[h]:`DestinationCidrBlock`,[_]:hg}],[0,{[h]:`DestinationIpv6CidrBlock`,[_]:_g}]],1],vE=[3,v,$o,0,[Wp,p],[[0,{[h]:`RouteTableId`,[_]:aS}],[2,{[h]:`DryRun`,[_]:m}]],1],yE=[3,v,ls,0,[Kl,Xl,p],[0,0,[2,{[h]:`DryRun`,[_]:m}]]],bE=[3,v,us,0,[Np,Kl],[[2,{[h]:`Return`,[_]:Px}],[0,{[h]:`GroupId`,[_]:d_}]]],xE=[3,v,ms,0,[dm,p],[0,[2,{[h]:`DryRun`,[_]:m}]],1],SE=[3,v,hs,0,[dm,yue],[[0,{[h]:`SnapshotId`,[_]:VS}],[0,{[h]:`ReturnCode`,[_]:Fx}]]],CE=[3,v,_s,0,[fm,p],[0,[2,{[h]:`DryRun`,[_]:m}]],1],wE=[3,v,Fs,0,[oh,p],[0,[2,{[h]:`DryRun`,[_]:m}]],1],TE=[3,v,Is,0,[ih,p],[0,[2,{[h]:`DryRun`,[_]:m}]],1],EE=[3,v,Ja,0,[_d,sae,p],[0,2,[2,{[h]:`DryRun`,[_]:m}]],1],DE=[3,v,Ya,0,[Np,vs],[[2,{[h]:`Return`,[_]:Px}],[()=>iM,{[h]:`DeleteSnapshotResultSet`,[_]:she}]]],OE=[3,v,iae,0,[Qle,p,Al,ri],[[()=>HN,{[_]:yp}],[2,{[h]:`DryRun`,[_]:m}],[()=>gM,{[_]:jl}],[()=>Bj,{[_]:ni}]]],kE=[3,v,aae,0,[Nre],[[()=>zj,{[h]:`AddressesSet`,[_]:hme}]]],AE=[3,v,ba,0,[Ype,qpe,Ane,p,Al],[[()=>kP,{[_]:bh}],[()=>OP,{[_]:yh}],2,[2,{[h]:`DryRun`,[_]:m}],[()=>gM,{[_]:jl}]]],jE=[3,v,xa,0,[Mre],[[()=>Kj,{[h]:`AvailabilityZoneInfo`,[_]:bme}]]],ME=[3,v,Ua,0,[Jne,Al,Ef,Qf],[[()=>Uj,{[_]:ii}],[()=>gM,{[_]:jl}],1,0]],NE=[3,v,Wa,0,[pd,Qf],[[()=>SM,{[h]:`IamInstanceProfileAssociationSet`,[_]:rv}],[0,{[h]:`NextToken`,[_]:kb}]]],PE=[3,v,Xa,0,[dl,hae,Ale,Lu,Vu,Ef,Qf,p,Al],[[()=>hM,{[_]:ec}],[()=>CM,{[_]:_d}],[()=>MN,{[_]:op}],2,2,1,0,[2,{[h]:`DryRun`,[_]:m}],[()=>gM,{[_]:jl}]]],FE=[3,v,Za,0,[Qf,joe],[[0,{[h]:`NextToken`,[_]:kb}],[()=>wM,{[h]:`ImagesSet`,[_]:Pv}]]],IE=[3,v,Qa,0,[vd,xd,p,Al,Qf,Ef],[[()=>AM,{[_]:id}],2,[2,{[h]:`DryRun`,[_]:m}],[()=>gM,{[_]:jl}],[0,{[h]:`NextToken`,[_]:kb}],[1,{[h]:`MaxResults`,[_]:Wy}]]],LE=[3,v,$a,0,[Qf,gde],[[0,{[h]:`NextToken`,[_]:kb}],[()=>KN,{[h]:`ReservationSet`,[_]:nS}]]],RE=[3,v,eo,0,[p,Hd,Al,Ef,Qf,Doe],[2,[64,{[_]:Bd}],[()=>gM,{[_]:jl}],1,0,2]],zE=[3,v,to,0,[Hd,Qf],[[()=>WM,{[h]:`InstanceTypeSet`,[_]:Hv}],[0,{[h]:`NextToken`,[_]:kb}]]],BE=[3,v,Ia,0,[Qf,Ef,p,Qu,Al],[0,1,[2,{[h]:`DryRun`,[_]:m}],[()=>KM,{[h]:`InternetGatewayId`,[_]:X_}],[()=>gM,{[_]:jl}]]],VE=[3,v,La,0,[td,Qf],[[()=>qM,{[h]:`InternetGatewaySet`,[_]:Z_}],[0,{[h]:`NextToken`,[_]:kb}]]],HE=[3,v,uo,0,[zoe,Hoe,Wae,p,Al],[[()=>nN,{[_]:Jd}],[()=>rN,{[_]:Yd}],2,[2,{[h]:`DryRun`,[_]:m}],[()=>gM,{[_]:jl}]]],UE=[3,v,fo,0,[Boe],[[()=>iN,{[h]:`KeySet`,[_]:ny}]]],WE=[3,v,vo,0,[p,Bse,Xse,Al,Qf,Ef,xd],[2,[()=>lN,{[_]:sf}],[()=>gN,{[_]:cf}],[()=>gM,{[_]:jl}],0,1,2]],GE=[3,v,yo,0,[uce,Qf],[[()=>_N,{[h]:`LaunchTemplates`,[_]:by}],[0,{[h]:`NextToken`,[_]:kb}]]],KE=[3,v,Do,0,[p,sf,cf,hh,Rce,Vce,Qf,Ef,Al,Pp,xd],[2,0,0,[()=>vP,{[_]:uf}],0,0,0,1,[()=>gM,{[_]:jl}],2,2]],qE=[3,v,Oo,0,[lce,Qf],[[()=>bN,{[h]:`LaunchTemplateVersionSet`,[_]:yy}],[0,{[h]:`NextToken`,[_]:kb}]]],JE=[3,v,Io,0,[p,jl,Ef,lle,Qf],[2,[()=>gM,0],1,[()=>DN,{[_]:Hf}],0]],YE=[3,v,Lo,0,[dle,Qf],[[()=>ON,{[h]:`NatGatewaySet`,[_]:hb}],[0,{[h]:`NextToken`,[_]:kb}]]],XE=[3,v,Wo,0,[ql,p,Ql,Al],[[()=>FN,{[_]:Kl}],[2,{[h]:`DryRun`,[_]:m}],[64,{[h]:`GroupName`,[_]:p_}],[()=>gM,{[_]:jl}]]],ZE=[3,v,Go,0,[Kle],[[()=>IN,{[h]:`PlacementGroupSet`,[_]:ax}]]],QE=[3,v,Xo,0,[Kue,lre,p,Al],[[()=>GN,{[_]:Hp}],2,[2,{[h]:`DryRun`,[_]:m}],[()=>gM,{[_]:jl}]]],$E=[3,v,Zo,0,[pde],[[()=>WN,{[h]:`RegionInfo`,[_]:Yx}]]],eD=[3,v,es,0,[Qf,Ef,p,sde,Al],[0,1,[2,{[h]:`DryRun`,[_]:m}],[()=>ZN,{[_]:Wp}],[()=>gM,{[_]:jl}]]],tD=[3,v,ts,0,[ude,Qf],[[()=>QN,{[h]:`RouteTableSet`,[_]:oS}],[0,{[h]:`NextToken`,[_]:kb}]]],nD=[3,v,ds,0,[ql,Ql,Qf,Ef,p,Al],[[()=>bM,{[_]:Kl}],[()=>xM,{[_]:Xl}],0,1,[2,{[h]:`DryRun`,[_]:m}],[()=>gM,{[_]:jl}]]],rD=[3,v,fs,0,[Qf,nm],[[0,{[h]:`NextToken`,[_]:kb}],[()=>nP,{[h]:`SecurityGroupInfo`,[_]:wS}]]],iD=[3,v,ys,0,[Ef,Qf,xle,_ue,rfe,p,Al],[1,0,[()=>MN,{[_]:op}],[64,{[_]:vue}],[()=>oP,{[_]:dm}],[2,{[h]:`DryRun`,[_]:m}],[()=>gM,{[_]:jl}]]],aD=[3,v,bs,0,[Qf,kfe],[[0,{[h]:`NextToken`,[_]:kb}],[()=>sP,{[h]:`SnapshotSet`,[_]:iC}]]],oD=[3,v,xs,0,[Al,zde,Qf,Ef,p],[[()=>gM,{[_]:jl}],[()=>cP,{[_]:fm}],0,1,[2,{[h]:`DryRun`,[_]:m}]]],sD=[3,v,Ss,0,[Qf,jfe],[[0,{[h]:`NextToken`,[_]:kb}],[()=>uP,{[h]:`SubnetSet`,[_]:aC}]]],cD=[3,v,Ls,0,[Spe,xd,p,Al,Qf,Ef],[[()=>xP,{[_]:oh}],2,[2,{[h]:`DryRun`,[_]:m}],[()=>gM,{[_]:jl}],[0,{[h]:`NextToken`,[_]:kb}],[1,{[h]:`MaxResults`,[_]:Wy}]]],lD=[3,v,Rs,0,[Qf,zpe],[[0,{[h]:`NextToken`,[_]:kb}],[()=>SP,{[h]:`VolumeSet`,[_]:hw}]]],uD=[3,v,zs,0,[Al,Cpe,Qf,Ef,p],[[()=>gM,{[_]:jl}],[()=>wP,{[_]:ih}],0,1,[2,{[h]:`DryRun`,[_]:m}]]],dD=[3,v,Bs,0,[Qf,Vpe],[[0,{[h]:`NextToken`,[_]:kb}],[()=>EP,{[h]:`VpcSet`,[_]:_w}]]],fD=[3,v,Ra,0,[Xu,ih,p],[[0,{[h]:`InternetGatewayId`,[_]:X_}],[0,{[h]:`VpcId`,[_]:iw}],[2,{[h]:`DryRun`,[_]:m}]],2],pD=[3,v,Vs,0,[oh,Ys,_l,id,p],[0,0,2,0,[2,{[h]:`DryRun`,[_]:m}]],1],mD=[3,v,oae,0,[ii,yp,p],[0,0,[2,{[h]:`DryRun`,[_]:m}]]],hD=[3,v,Ga,0,[ii],[0],1],gD=[3,v,Ka,0,[dd],[[()=>JD,{[h]:`IamInstanceProfileAssociation`,[_]:nv}]]],_D=[3,v,ns,0,[ii,p],[[0,{[h]:`AssociationId`,[_]:Ch}],[2,{[h]:`DryRun`,[_]:m}]],1],vD=[3,v,oo,0,[Ude,ha,Gm],[[1,{[h]:`SizeInGB`,[_]:jS}],[1,{[h]:`Count`,[_]:pg}],[0,{[h]:`Type`,[_]:HC}]]],yD=[3,v,Qs,0,[Vo,Wd,dm,dh,fh,qd,Um,ep,_i,ml,ah,bi,tc],[[2,{[h]:`DeleteOnTermination`,[_]:yg}],[1,{[h]:`Iops`,[_]:Jv}],[0,{[h]:`SnapshotId`,[_]:VS}],[1,{[h]:`VolumeSize`,[_]:gw}],[0,{[h]:`VolumeType`,[_]:vw}],[0,{[h]:`KmsKeyId`,[_]:Qv}],[1,{[h]:`Throughput`,[_]:BC}],[0,{[h]:`OutpostArn`,[_]:Mb}],[0,{[h]:`AvailabilityZone`,[_]:Mh}],[2,{[h]:`Encrypted`,[_]:Xg}],1,0,1]],bD=[3,v,rc,0,[tc,Oi,zi,Ni,hf,kf,vf],[[1,{[h]:`EbsCardIndex`,[_]:Sg}],[1,{[h]:`BaselineBandwidthInMbps`,[_]:Bh}],[1,{[h]:`BaselineThroughputInMBps`,[_]:Kh}],[1,{[h]:`BaselineIops`,[_]:Hh}],[1,{[h]:`MaximumBandwidthInMbps`,[_]:Dy}],[1,{[h]:`MaximumThroughputInMBps`,[_]:Yy}],[1,{[h]:`MaximumIops`,[_]:Fy}]]],xD=[3,v,Ic,0,[Gc,sl,Bc,Xf,xce,Xne,Sce,ic],[[0,{[h]:`EbsOptimizedSupport`,[_]:Ng}],[0,{[h]:`EncryptionSupport`,[_]:Wg}],[()=>wD,{[h]:`EbsOptimizedInfo`,[_]:Ag}],[0,{[h]:`NvmeSupport`,[_]:Eb}],[1,{[h]:`MaximumEbsAttachments`,[_]:ky}],[0,{[h]:`AttachmentLimitType`,[_]:ome}],[1,{[h]:`MaximumEbsCards`,[_]:Ay}],[()=>oM,{[h]:`EbsCardSet`,[_]:yhe}]]],SD=[3,v,Ac,0,[gi,Vo,km,oh,ui,Ope,ap,tc],[[4,{[h]:`AttachTime`,[_]:jh}],[2,{[h]:`DeleteOnTermination`,[_]:yg}],[0,{[h]:`Status`,[_]:gC}],[0,{[h]:`VolumeId`,[_]:ow}],[0,{[h]:`AssociatedResource`,[_]:Eh}],[0,{[h]:`VolumeOwnerId`,[_]:dw}],[()=>hA,{[h]:`Operator`,[_]:Ub}],[1,{[h]:`EbsCardIndex`,[_]:Sg}]]],CD=[3,v,jc,0,[oh,Vo],[[0,{[h]:`VolumeId`,[_]:ow}],[2,{[h]:`DeleteOnTermination`,[_]:yg}]]],wD=[3,v,Bc,0,[Oi,zi,Ni,hf,kf,vf],[[1,{[h]:`BaselineBandwidthInMbps`,[_]:Bh}],[1,{[h]:`BaselineThroughputInMBps`,[_]:Kh}],[1,{[h]:`BaselineIops`,[_]:Hh}],[1,{[h]:`MaximumBandwidthInMbps`,[_]:Dy}],[1,{[h]:`MaximumThroughputInMBps`,[_]:Yy}],[1,{[h]:`MaximumIops`,[_]:Fy}]]],TD=[3,v,Lc,0,[Cce],[[1,{[h]:`MaximumEfaInterfaces`,[_]:jy}]]],ED=[3,v,lc,0,[hc,uc,fc,pc],[[0,{[h]:`ElasticGpuId`,[_]:Dhe}],[0,{[h]:`ElasticGpuAssociationId`,[_]:Che}],[0,{[h]:`ElasticGpuAssociationState`,[_]:whe}],[0,{[h]:`ElasticGpuAssociationTime`,[_]:Ehe}]]],DD=[3,v,yc,0,[Gm],[0],1],OD=[3,v,_c,0,[Gm],[[0,{[h]:`Type`,[_]:HC}]]],kD=[3,v,xc,0,[Gm,ha],[0,1],1],AD=[3,v,Sc,0,[Dc,Cc,Tc,Ec],[[0,{[h]:`ElasticInferenceAcceleratorArn`,[_]:khe}],[0,{[h]:`ElasticInferenceAcceleratorAssociationId`,[_]:Ahe}],[0,{[h]:`ElasticInferenceAcceleratorAssociationState`,[_]:jhe}],[4,{[h]:`ElasticInferenceAcceleratorAssociationTime`,[_]:Nhe}]]],jD=[3,v,tl,0,[$c,il],[2,()=>MD]],MD=[3,v,al,0,[rl],[2]],ND=[3,v,Kc,0,[pl],[[2,{[h]:`Enabled`,[_]:Yg}]]],PD=[3,v,Wc,0,[pl],[2]],FD=[3,v,jl,0,[If,Rpe],[0,[()=>_P,{[_]:Qm}]]],ID=[3,v,yl,0,[If,Mf,ha,yf],[[0,{[h]:`Name`,[_]:ib}],[0,{[h]:`Manufacturer`,[_]:$y}],[1,{[h]:`Count`,[_]:pg}],[()=>LD,{[h]:`MemoryInfo`,[_]:Iy}]]],LD=[3,v,xl,0,[am],[[1,{[h]:`SizeInMiB`,[_]:FS}]]],RD=[3,v,Cl,0,[Ml,Mfe],[[()=>_M,{[h]:`Fpgas`,[_]:o_}],[1,{[h]:`TotalFpgaMemoryInMiB`,[_]:bC}]]],zD=[3,v,Il,0,[id,pce,p],[0,2,[2,{[h]:`DryRun`,[_]:m}]],1],BD=[3,v,Ll,0,[id,Wm,kle],[[0,{[h]:`InstanceId`,[_]:$_}],[4,{[h]:`Timestamp`,[_]:VC}],[0,{[h]:`Output`,[_]:Wb}]]],VD=[3,v,zl,0,[If,Mf,ha,Zoe,eu,Gpe,yf],[[0,{[h]:`Name`,[_]:ib}],[0,{[h]:`Manufacturer`,[_]:$y}],[1,{[h]:`Count`,[_]:pg}],[1,{[h]:`LogicalGpuCount`,[_]:sy}],[1,{[h]:`GpuPartitionSize`,[_]:h_}],[()=>DP,{[h]:`WorkloadSet`,[_]:Dw}],[()=>HD,{[h]:`MemoryInfo`,[_]:Iy}]]],HD=[3,v,Vl,0,[am],[[1,{[h]:`SizeInMiB`,[_]:FS}]]],UD=[3,v,Gl,0,[nu,Nfe],[[()=>vM,{[h]:`Gpus`,[_]:v_}],[1,{[h]:`TotalGpuMemoryInMiB`,[_]:SC}]]],WD=[3,v,Jl,0,[Kl,Xl],[[0,{[h]:`GroupId`,[_]:d_}],[0,{[h]:`GroupName`,[_]:p_}]]],GD=[3,v,ou,0,[ma],[[2,{[h]:`Configured`,[_]:fg}]]],KD=[3,v,su,0,[ma],[2]],qD=[3,v,ud,0,[Ci,gu],[[0,{[h]:`Arn`,[_]:Ih}],[0,{[h]:`Id`,[_]:j_}]]],JD=[3,v,dd,0,[ii,id,ud,Om,Wm],[[0,{[h]:`AssociationId`,[_]:Ch}],[0,{[h]:`InstanceId`,[_]:$_}],[()=>qD,{[h]:`IamInstanceProfile`,[_]:tv}],[0,{[h]:`State`,[_]:hC}],[4,{[h]:`Timestamp`,[_]:VC}]]],YD=[3,v,uae,0,[Ci,If],[[0,{[h]:`Arn`,[_]:Ih}],[0,{[h]:`Name`,[_]:ib}]]],XD=[3,v,Moe,0,[hp,Ym,Ai,Js,cl,hu,Fae,If,Ip,Lp,_m,xm,Mm,ph,Pi,Bm,ks,Rd,Gde,Jo,$oe,Eu,im,sm,kl,rue,Ooe,_d,yd,Om,np,$re,mue,up,wi,Eoe,Kd,Vp,kp],[[0,{[h]:`PlatformDetails`,[_]:tx}],[0,{[h]:`UsageOperation`,[_]:qC}],[()=>Zj,{[h]:`BlockDeviceMapping`,[_]:Vh}],[0,{[h]:`Description`,[_]:bg}],[2,{[h]:`EnaSupport`,[_]:Gg}],[0,{[h]:`Hypervisor`,[_]:b_}],[0,{[h]:`ImageOwnerAlias`,[_]:dv}],[0,{[h]:`Name`,[_]:ib}],[0,{[h]:`RootDeviceName`,[_]:Lx}],[0,{[h]:`RootDeviceType`,[_]:Rx}],[0,{[h]:`SriovNetSupport`,[_]:XS}],[()=>oj,{[h]:`StateReason`,[_]:eC}],[()=>fP,{[h]:`TagSet`,[_]:jC}],[0,{[h]:`VirtualizationType`,[_]:bw}],[0,{[h]:`BootMode`,[_]:Uh}],[0,{[h]:`TpmSupport`,[_]:FC}],[0,{[h]:`DeprecationTime`,[_]:uhe}],[0,{[h]:`ImdsSupport`,[_]:Iv}],[0,{[h]:`SourceInstanceId`,[_]:MS}],[0,{[h]:`DeregistrationProtection`,[_]:ahe}],[0,{[h]:`LastLaunchedTime`,[_]:uy}],[2,{[h]:`ImageAllowed`,[_]:z_}],[0,{[h]:`SourceImageId`,[_]:PS}],[0,{[h]:`SourceImageRegion`,[_]:IS}],[2,{[h]:`FreeTierEligible`,[_]:i_}],[0,{[h]:`PublicSsmParameterName`,[_]:bx}],[()=>TM,{[h]:`ImageWatermarkSet`,[_]:qv}],[0,{[h]:`ImageId`,[_]:av}],[0,{[h]:`ImageLocation`,[_]:ov}],[0,{[h]:`ImageState`,[_]:Fv}],[0,{[h]:`ImageOwnerId`,[_]:fv}],[0,{[h]:`CreationDate`,[_]:Fme}],[2,{[h]:`IsPublic`,[_]:Dv}],[()=>BN,{[h]:`ProductCodes`,[_]:Jb}],[0,{[h]:`Architecture`,[_]:Lh}],[0,{[h]:`ImageType`,[_]:Wv}],[0,{[h]:`KernelId`,[_]:Zv}],[0,{[h]:`RamdiskId`,[_]:Jx}],[0,{[h]:`Platform`,[_]:kx}]]],ZD=[3,v,Aoe,0,[Upe,sm,im,Hde,Hpe],[[0,{[h]:`WatermarkKey`,[_]:Ew}],[0,{[h]:`SourceImageRegion`,[_]:IS}],[0,{[h]:`SourceImageId`,[_]:PS}],[4,{[h]:`SourceImageCreationTime`,[_]:AS}],[4,{[h]:`WatermarkCreationTime`,[_]:Tw}]]],QD=[3,v,_ae,0,[Jd,eue,Rm,p],[[0,{[h]:`KeyName`,[_]:ey}],[21,{[h]:`PublicKeyMaterial`,[_]:gx}],[()=>pP,{[_]:zm}],[2,{[h]:`DryRun`,[_]:m}]],2],$D=[3,v,vae,0,[Gd,Jd,Yd,Mm],[[0,{[h]:`KeyFingerprint`,[_]:Xv}],[0,{[h]:`KeyName`,[_]:ey}],[0,{[h]:`KeyPairId`,[_]:ty}],[()=>fP,{[h]:`TagSet`,[_]:jC}]]],eO=[3,v,Su,0,[xi,Ffe],[[()=>EM,{[h]:`Accelerators`,[_]:Ph}],[1,{[h]:`TotalInferenceMemoryInMiB`,[_]:CC}]]],tO=[3,v,Ru,0,[ha,If,Mf,yf],[[1,{[h]:`Count`,[_]:pg}],[0,{[h]:`Name`,[_]:ib}],[0,{[h]:`Manufacturer`,[_]:$y}],[()=>nO,{[h]:`MemoryInfo`,[_]:Iy}]]],nO=[3,v,Bu,0,[am],[[1,{[h]:`SizeInMiB`,[_]:FS}]]],rO=[3,v,Noe,0,[wi,Ai,ca,zc,cl,hu,ud,bae,mc,Oc,Gf,ep,Ip,Lp,nm,Jp,Yde,_m,xm,Mm,ph,$i,Xre,na,aa,ou,mce,Sf,Kc,Pi,hp,Ym,ipe,fp,Ou,Bm,Cf,tie,Jf,ap,lm,id,_d,Om,dp,mp,xfe,Jd,Yne,up,Bd,dce,Ap,Kd,Vp,kp,Ff,fm,ih,xp,Yle],[[0,{[h]:`Architecture`,[_]:Lh}],[()=>DM,{[h]:`BlockDeviceMapping`,[_]:Vh}],[0,{[h]:`ClientToken`,[_]:cg}],[2,{[h]:`EbsOptimized`,[_]:kg}],[2,{[h]:`EnaSupport`,[_]:Gg}],[0,{[h]:`Hypervisor`,[_]:b_}],[()=>qD,{[h]:`IamInstanceProfile`,[_]:tv}],[0,{[h]:`InstanceLifecycle`,[_]:sv}],[()=>sM,{[h]:`ElasticGpuAssociationSet`,[_]:The}],[()=>dM,{[h]:`ElasticInferenceAcceleratorAssociationSet`,[_]:Mhe}],[()=>IM,{[h]:`NetworkInterfaceSet`,[_]:yb}],[0,{[h]:`OutpostArn`,[_]:Mb}],[0,{[h]:`RootDeviceName`,[_]:Lx}],[0,{[h]:`RootDeviceType`,[_]:Rx}],[()=>yM,{[h]:`GroupSet`,[_]:__}],[2,{[h]:`SourceDestCheck`,[_]:vS}],[0,{[h]:`SpotInstanceRequestId`,[_]:LS}],[0,{[h]:`SriovNetSupport`,[_]:XS}],[()=>oj,{[h]:`StateReason`,[_]:eC}],[()=>fP,{[h]:`TagSet`,[_]:jC}],[0,{[h]:`VirtualizationType`,[_]:bw}],[()=>DT,{[h]:`CpuOptions`,[_]:tg}],[0,{[h]:`CapacityBlockId`,[_]:jme}],[0,{[h]:`CapacityReservationId`,[_]:ig}],[()=>yT,{[h]:`CapacityReservationSpecification`,[_]:og}],[()=>GD,{[h]:`HibernationOptions`,[_]:w_}],[()=>xN,{[h]:`LicenseSet`,[_]:fy}],[()=>gO,{[h]:`MetadataOptions`,[_]:By}],[()=>ND,{[h]:`EnclaveOptions`,[_]:Pg}],[0,{[h]:`BootMode`,[_]:Uh}],[0,{[h]:`PlatformDetails`,[_]:tx}],[0,{[h]:`UsageOperation`,[_]:qC}],[4,{[h]:`UsageOperationUpdateTime`,[_]:JC}],[()=>wA,{[h]:`PrivateDnsNameOptions`,[_]:Zb}],[0,{[h]:`Ipv6Address`,[_]:V_}],[0,{[h]:`TpmSupport`,[_]:FC}],[()=>fO,{[h]:`MaintenanceOptions`,[_]:Vy}],[0,{[h]:`CurrentInstanceBootMode`,[_]:Rme}],[()=>xO,{[h]:`NetworkPerformanceOptions`,[_]:Cb}],[()=>hA,{[h]:`Operator`,[_]:Ub}],[()=>zM,{[h]:`SecondaryInterfaceSet`,[_]:zS}],[0,{[h]:`InstanceId`,[_]:$_}],[0,{[h]:`ImageId`,[_]:av}],[()=>jO,{[h]:`InstanceState`,[_]:Rv}],[0,{[h]:`PrivateDnsName`,[_]:$b}],[0,{[h]:`DnsName`,[_]:nhe}],[0,{[h]:`Reason`,[_]:dS}],[0,{[h]:`KeyName`,[_]:ey}],[1,{[h]:`AmiLaunchIndex`,[_]:ame}],[()=>BN,{[h]:`ProductCodes`,[_]:Jb}],[0,{[h]:`InstanceType`,[_]:Vv}],[4,{[h]:`LaunchTime`,[_]:xy}],[()=>vA,{[h]:`Placement`,[_]:Ax}],[0,{[h]:`KernelId`,[_]:Zv}],[0,{[h]:`RamdiskId`,[_]:Jx}],[0,{[h]:`Platform`,[_]:kx}],[()=>$k,{[h]:`Monitoring`,[_]:rb}],[0,{[h]:`SubnetId`,[_]:HS}],[0,{[h]:`VpcId`,[_]:iw}],[0,{[h]:`PrivateIpAddress`,[_]:ux}],[0,{[h]:`IpAddress`,[_]:B_}]]],iO=[3,v,bu,0,[$c,il],[[2,{[h]:`EnaSrdEnabled`,[_]:Rg}],[()=>aO,{[h]:`EnaSrdUdpSpecification`,[_]:Hg}]]],aO=[3,v,xu,0,[rl],[[2,{[h]:`EnaSrdUdpEnabled`,[_]:Vg}]]],oO=[3,v,ku,0,[jo,fl],[[0,{[h]:`DeviceName`,[_]:vg}],[()=>SD,{[h]:`Ebs`,[_]:Jg}]]],sO=[3,v,ju,0,[jo,fl,ch,Bf],[[0,{[h]:`DeviceName`,[_]:vg}],[()=>CD,{[h]:`Ebs`,[_]:Jg}],[0,{[h]:`VirtualName`,[_]:lw}],[0,{[h]:`NoDevice`,[_]:lb}]]],cO=[3,v,dae,0,[Fd],[[0,{[h]:`Ipv4Prefix`,[_]:wv}]]],lO=[3,v,ad,0,[Ou,Uae],[[0,{[h]:`Ipv6Address`,[_]:V_}],[2,{[h]:`IsPrimaryIpv6`,[_]:yv}]]],uO=[3,v,cd,0,[Ou],[0]],dO=[3,v,fae,0,[Md],[[0,{[h]:`Ipv6Prefix`,[_]:Ev}]]],fO=[3,v,Cae,0,[di,Wue],[[0,{[h]:`AutoRecovery`,[_]:Dh}],[0,{[h]:`RebootMigration`,[_]:Qx}]]],pO=[3,v,wae,0,[di],[0]],mO=[3,v,Tae,0,[Af,vm],[0,()=>rj]],hO=[3,v,Eae,0,[fu,lu,iu,cu,Sd],[0,1,0,0,0]],gO=[3,v,Dae,0,[Om,fu,lu,iu,cu,Sd],[[0,{[h]:`State`,[_]:hC}],[0,{[h]:`HttpTokens`,[_]:k_}],[1,{[h]:`HttpPutResponseHopLimit`,[_]:E_}],[0,{[h]:`HttpEndpoint`,[_]:S_}],[0,{[h]:`HttpProtocolIpv6`,[_]:T_}],[0,{[h]:`InstanceMetadataTags`,[_]:lv}]]],_O=[3,v,Oae,0,[Ti,Ei,Js,Nl,_u,mf,Wf,np,dp,xp,Sp,Jp,km,fm,ih,Ud,Pd,kd,la,ap],[[()=>vO,{[h]:`Association`,[_]:Rh}],[()=>yO,{[h]:`Attachment`,[_]:zh}],[0,{[h]:`Description`,[_]:bg}],[()=>yM,{[h]:`GroupSet`,[_]:__}],[()=>MM,{[h]:`Ipv6AddressesSet`,[_]:R_}],[0,{[h]:`MacAddress`,[_]:Ey}],[0,{[h]:`NetworkInterfaceId`,[_]:_b}],[0,{[h]:`OwnerId`,[_]:Fb}],[0,{[h]:`PrivateDnsName`,[_]:$b}],[0,{[h]:`PrivateIpAddress`,[_]:ux}],[()=>RM,{[h]:`PrivateIpAddressesSet`,[_]:cx}],[2,{[h]:`SourceDestCheck`,[_]:vS}],[0,{[h]:`Status`,[_]:gC}],[0,{[h]:`SubnetId`,[_]:HS}],[0,{[h]:`VpcId`,[_]:iw}],[0,{[h]:`InterfaceType`,[_]:Kv}],[()=>jM,{[h]:`Ipv4PrefixSet`,[_]:bv}],[()=>PM,{[h]:`Ipv6PrefixSet`,[_]:xv}],[()=>wT,{[h]:`ConnectionTrackingConfiguration`,[_]:lg}],[()=>hA,{[h]:`Operator`,[_]:Ub}]]],vO=[3,v,kae,0,[qi,ea,Iae,mp,yp],[[0,{[h]:`CarrierIp`,[_]:Zh}],[0,{[h]:`CustomerOwnedIp`,[_]:ng}],[0,{[h]:`IpOwnerId`,[_]:mv}],[0,{[h]:`PublicDnsName`,[_]:ex}],[0,{[h]:`PublicIp`,[_]:ox}]]],yO=[3,v,Aae,0,[gi,ai,Vo,Ma,km,zf,el,Jc],[[4,{[h]:`AttachTime`,[_]:jh}],[0,{[h]:`AttachmentId`,[_]:wh}],[2,{[h]:`DeleteOnTermination`,[_]:yg}],[1,{[h]:`DeviceIndex`,[_]:gg}],[0,{[h]:`Status`,[_]:gC}],[1,{[h]:`NetworkCardIndex`,[_]:cb}],[()=>iO,{[h]:`EnaSrdSpecification`,[_]:zg}],[1,{[h]:`EnaQueueCount`,[_]:Fg}]]],bO=[3,v,wd,0,[li,Vo,Js,Ma,Nl,yu,_u,Wf,xp,Sp,bm,fm,Qr,Ud,zf,Pd,Od,kd,Dd,wp,el,ua,Jc],[[2,{[h]:`AssociatePublicIpAddress`,[_]:Th}],[2,{[h]:`DeleteOnTermination`,[_]:yg}],[0,{[h]:`Description`,[_]:bg}],[1,{[h]:`DeviceIndex`,[_]:gg}],[()=>tP,{[_]:Zp}],[1,{[h]:`Ipv6AddressCount`,[_]:N_}],[()=>MM,{[h]:`Ipv6Addresses`,[_]:R_}],[0,{[h]:`NetworkInterfaceId`,[_]:_b}],[0,{[h]:`PrivateIpAddress`,[_]:ux}],[()=>zN,{[h]:`PrivateIpAddresses`,[_]:cx}],[1,{[h]:`SecondaryPrivateIpAddressCount`,[_]:QS}],[0,{[h]:`SubnetId`,[_]:HS}],2,0,1,[()=>ZM,{[_]:Fd}],1,[()=>$M,{[_]:Md}],1,2,()=>jD,()=>CT,1]],xO=[3,v,Nae,0,[Bi],[[0,{[h]:`BandwidthWeighting`,[_]:qh}]]],SO=[3,v,Pae,0,[Bi],[0]],CO=[3,v,Vae,0,[Ti,jp,dp,xp],[[()=>vO,{[h]:`Association`,[_]:Rh}],[2,{[h]:`Primary`,[_]:jx}],[0,{[h]:`PrivateDnsName`,[_]:$b}],[0,{[h]:`PrivateIpAddress`,[_]:ux}]]],wO=[3,v,Id,0,[$m,bf,Zi,_f,Pc,nd,mm,tp,Fi,Ii,Bp,Uf,rf,tf,Fm,Mi,hi,Zr,oi,ci,mi,Rf,ei,Df,Ri,Rp],[[()=>xj,{[h]:`VCpuCount`,[_]:QC}],[()=>Gk,{[h]:`MemoryMiB`,[_]:Ly}],[()=>tM,{[h]:`CpuManufacturerSet`,[_]:Bme}],[()=>Hk,{[h]:`MemoryGiBPerVCpu`,[_]:Py}],[()=>mM,{[h]:`ExcludedInstanceTypeSet`,[_]:Tg}],[()=>kM,{[h]:`InstanceGenerationSet`,[_]:Q_}],[1,{[h]:`SpotMaxPricePercentageOverLowestPrice`,[_]:GS}],[1,{[h]:`OnDemandMaxPricePercentageOverLowestPrice`,[_]:Pb}],[0,{[h]:`BareMetal`,[_]:Wh}],[0,{[h]:`BurstablePerformance`,[_]:Eme}],[2,{[h]:`RequireHibernateSupport`,[_]:Kx}],[()=>sA,{[h]:`NetworkInterfaceCount`,[_]:gb}],[0,{[h]:`LocalStorage`,[_]:py}],[()=>CN,{[h]:`LocalStorageTypeSet`,[_]:dy}],[()=>gj,{[h]:`TotalLocalStorageGB`,[_]:TC}],[()=>dT,{[h]:`BaselineEbsBandwidthMbps`,[_]:Tme}],[()=>Rj,{[h]:`AcceleratorTypeSet`,[_]:yme}],[()=>zw,{[h]:`AcceleratorCount`,[_]:eme}],[()=>Ij,{[h]:`AcceleratorManufacturerSet`,[_]:cme}],[()=>Lj,{[h]:`AcceleratorNameSet`,[_]:lme}],[()=>Vw,{[h]:`AcceleratorTotalMemoryMiB`,[_]:vme}],[()=>rA,{[h]:`NetworkBandwidthGbps`,[_]:ob}],[()=>Vj,{[h]:`AllowedInstanceTypeSet`,[_]:ime}],[1,{[h]:`MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`,[_]:qy}],[()=>pT,{[h]:`BaselinePerformanceFactors`,[_]:Dme}],[2,{[h]:`RequireEncryptionInTransit`,[_]:Bx}]]],TO=[3,v,ioe,0,[$m,bf,Zi,_f,Pc,nd,mm,tp,Fi,Ii,Bp,Uf,rf,tf,Fm,Mi,hi,Zr,oi,ci,mi,Rf,ei,Df,Ri,Rp],[()=>Sj,()=>Kk,[()=>tM,{[_]:vie}],()=>Uk,[()=>mM,{[_]:Fc}],[()=>kM,{[_]:rd}],1,1,0,0,2,()=>cA,0,[()=>CN,{[_]:nse}],()=>_j,()=>fT,[()=>Rj,{[_]:xre}],()=>Bw,[()=>Ij,{[_]:$ne}],[()=>Lj,{[_]:tre}],()=>Hw,()=>iA,[()=>Vj,{[_]:qne}],1,[()=>mT,0],2],2],EO=[3,v,boe,0,[Ei,mf,Wde,np,Sp,Jp,km,wm,pfe,Ud],[[()=>DO,{[h]:`Attachment`,[_]:zh}],[0,{[h]:`MacAddress`,[_]:Ey}],[0,{[h]:`SecondaryInterfaceId`,[_]:NS}],[0,{[h]:`OwnerId`,[_]:Fb}],[()=>BM,{[h]:`PrivateIpAddressSet`,[_]:lx}],[2,{[h]:`SourceDestCheck`,[_]:vS}],[0,{[h]:`Status`,[_]:gC}],[0,{[h]:`SecondarySubnetId`,[_]:rC}],[0,{[h]:`SecondaryNetworkId`,[_]:JS}],[0,{[h]:`InterfaceType`,[_]:Kv}]]],DO=[3,v,doe,0,[gi,ai,Vo,Ma,km,zf],[[4,{[h]:`AttachTime`,[_]:jh}],[0,{[h]:`AttachmentId`,[_]:wh}],[2,{[h]:`DeleteOnTermination`,[_]:yg}],[1,{[h]:`DeviceIndex`,[_]:gg}],[0,{[h]:`Status`,[_]:gC}],[1,{[h]:`NetworkCardIndex`,[_]:cb}]]],OO=[3,v,poe,0,[xp],[[0,{[h]:`PrivateIpAddress`,[_]:ux}]]],kO=[3,v,goe,0,[xp],[0],1],AO=[3,v,yoe,0,[Vo,Ma,Sp,bp,wm,Ud,zf],[2,1,[()=>VM,{[_]:xp}],1,0,0,1]],jO=[3,v,Soe,0,[pa,If],[[1,{[h]:`Code`,[_]:dg}],[0,{[h]:`Name`,[_]:ib}]]],MO=[3,v,loe,0,[id,Yie,aue],[[0,{[h]:`InstanceId`,[_]:$_}],[()=>jO,{[h]:`CurrentState`,[_]:Wme}],[()=>jO,{[h]:`PreviousState`,[_]:Cx}]]],NO=[3,v,Ld,0,[Kfe,Xs,Xf,sl],[[1,{[h]:`TotalSizeInGB`,[_]:MC}],[()=>aM,{[h]:`Disks`,[_]:vhe}],[0,{[h]:`NvmeSupport`,[_]:Eb}],[0,{[h]:`EncryptionSupport`,[_]:Wg}]]],PO=[3,v,Toe,0,[Bd,eie,kl,Cfe,_fe,Dfe,Fi,hu,Tp,eh,yf,xoe,Ld,Ic,Kf,Gl,Cl,vp,Su,du,Wre,ja,ire,Tde,tle,gle,Zf,pf,qf,iue,Uue,efe],[[0,{[h]:`InstanceType`,[_]:Vv}],[2,{[h]:`CurrentGeneration`,[_]:Lme}],[2,{[h]:`FreeTierEligible`,[_]:i_}],[()=>hP,{[h]:`SupportedUsageClasses`,[_]:uC}],[()=>JN,{[h]:`SupportedRootDeviceTypes`,[_]:$S}],[()=>yP,{[h]:`SupportedVirtualizationTypes`,[_]:fC}],[2,{[h]:`BareMetal`,[_]:Wh}],[0,{[h]:`Hypervisor`,[_]:b_}],[()=>EA,{[h]:`ProcessorInfo`,[_]:fx}],[()=>Cj,{[h]:`VCpuInfo`,[_]:$C}],[()=>Wk,{[h]:`MemoryInfo`,[_]:Iy}],[2,{[h]:`InstanceStorageSupported`,[_]:Nv}],[()=>NO,{[h]:`InstanceStorageInfo`,[_]:Mv}],[()=>xD,{[h]:`EbsInfo`,[_]:Eg}],[()=>oA,{[h]:`NetworkInfo`,[_]:xb}],[()=>UD,{[h]:`GpuInfo`,[_]:u_}],[()=>RD,{[h]:`FpgaInfo`,[_]:$g}],[()=>bA,{[h]:`PlacementGroupInfo`,[_]:rx}],[()=>eO,{[h]:`InferenceAcceleratorInfo`,[_]:P_}],[2,{[h]:`HibernationSupported`,[_]:O_}],[2,{[h]:`BurstablePerformanceSupported`,[_]:Ome}],[2,{[h]:`DedicatedHostsSupported`,[_]:ehe}],[2,{[h]:`AutoRecoverySupported`,[_]:fme}],[()=>$j,{[h]:`SupportedBootModes`,[_]:gS}],[0,{[h]:`NitroEnclavesSupport`,[_]:db}],[0,{[h]:`NitroTpmSupport`,[_]:Ob}],[()=>pA,{[h]:`NitroTpmInfo`,[_]:Db}],[()=>zk,{[h]:`MediaAcceleratorInfo`,[_]:Ty}],[()=>fA,{[h]:`NeuronInfo`,[_]:Sb}],[0,{[h]:`PhcSupport`,[_]:Sx}],[0,{[h]:`RebootMigrationSupport`,[_]:Zx}],[2,{[h]:`SupportedInRegion`,[_]:RS}]]],FO=[3,v,Gu,0,[Di,Xu,np,Mm],[[()=>GM,{[h]:`AttachmentSet`,[_]:Ah}],[0,{[h]:`InternetGatewayId`,[_]:X_}],[0,{[h]:`OwnerId`,[_]:Fb}],[()=>fP,{[h]:`TagSet`,[_]:jC}]]],IO=[3,v,Ku,0,[Om,ih],[[0,{[h]:`State`,[_]:hC}],[0,{[h]:`VpcId`,[_]:iw}]]],LO=[3,v,eoe,0,[jd,El,Im,tpe,aoe,soe,nue],[[0,{[h]:`IpProtocol`,[_]:Sv}],[1,{[h]:`FromPort`,[_]:t_}],[1,{[h]:`ToPort`,[_]:kC}],[()=>gP,{[h]:`Groups`,[_]:y_}],[()=>XM,{[h]:`IpRanges`,[_]:Av}],[()=>tN,{[h]:`Ipv6Ranges`,[_]:jv}],[()=>RN,{[h]:`PrefixListIds`,[_]:vx}]]],RO=[3,v,ooe,0,[Js,Ji],[[0,{[h]:`Description`,[_]:bg}],[0,{[h]:`CidrIp`,[_]:Qh}]]],zO=[3,v,Xae,0,[Fd],[0]],BO=[3,v,Zae,0,[Fd],[[0,{[h]:`Ipv4Prefix`,[_]:wv}]]],VO=[3,v,Qae,0,[Md],[0]],HO=[3,v,$ae,0,[Md],[[0,{[h]:`Ipv6Prefix`,[_]:Ev}]]],UO=[3,v,coe,0,[Js,Yi],[[0,{[h]:`Description`,[_]:bg}],[0,{[h]:`CidrIpv6`,[_]:$h}]]],WO=[3,v,Goe,0,[Yd,Mm,Jd,Gd,Loe],[[0,{[h]:`KeyPairId`,[_]:ty}],[()=>fP,{[h]:`TagSet`,[_]:jC}],[0,{[h]:`KeyName`,[_]:ey}],[0,{[h]:`KeyFingerprint`,[_]:Xv}],[()=>Rw,{[h]:`KeyMaterial`,[_]:$v}]]],GO=[3,v,Uoe,0,[Yd,Xd,Mm,$le,fa,Jd,Gd],[[0,{[h]:`KeyPairId`,[_]:ty}],[0,{[h]:`KeyType`,[_]:ry}],[()=>fP,{[h]:`TagSet`,[_]:jC}],[0,{[h]:`PublicKey`,[_]:hx}],[4,{[h]:`CreateTime`,[_]:ug}],[0,{[h]:`KeyName`,[_]:ey}],[0,{[h]:`KeyFingerprint`,[_]:Xv}]]],KO=[3,v,af,0,[sf,cf,fa,Hi,Ps,fce,Mm,ap],[[0,{[h]:`LaunchTemplateId`,[_]:gy}],[0,{[h]:`LaunchTemplateName`,[_]:_y}],[4,{[h]:`CreateTime`,[_]:ug}],[0,{[h]:`CreatedBy`,[_]:Yh}],[1,{[h]:`DefaultVersionNumber`,[_]:hhe}],[1,{[h]:`LatestVersionNumber`,[_]:Sy}],[()=>fP,{[h]:`TagSet`,[_]:jC}],[()=>hA,{[h]:`Operator`,[_]:Ub}]]],qO=[3,v,rse,0,[jo,ch,fl,Bf],[[0,{[h]:`DeviceName`,[_]:vg}],[0,{[h]:`VirtualName`,[_]:lw}],[()=>$O,{[h]:`Ebs`,[_]:Jg}],[0,{[h]:`NoDevice`,[_]:lb}]]],JO=[3,v,ase,0,[jo,ch,fl,Bf],[0,0,()=>ek,0]],YO=[3,v,lse,0,[ra,oa],[0,()=>bT]],XO=[3,v,use,0,[ra,oa],[[0,{[h]:`CapacityReservationPreference`,[_]:ag}],[()=>xT,{[h]:`CapacityReservationTarget`,[_]:sg}]]],ZO=[3,v,sse,0,[Ui,Lm,fi,$f],[[1,{[h]:`CoreCount`,[_]:Xh}],[1,{[h]:`ThreadsPerCore`,[_]:AC}],[0,{[h]:`AmdSevSnp`,[_]:kh}],[0,{[h]:`NestedVirtualization`,[_]:Ab}]]],QO=[3,v,cse,0,[Ui,Lm,fi,$f],[1,1,0,0]],$O=[3,v,dse,0,[ml,Vo,Wd,qd,dm,dh,fh,Um,ah,tc],[[2,{[h]:`Encrypted`,[_]:Xg}],[2,{[h]:`DeleteOnTermination`,[_]:yg}],[1,{[h]:`Iops`,[_]:Jv}],[0,{[h]:`KmsKeyId`,[_]:Qv}],[0,{[h]:`SnapshotId`,[_]:VS}],[1,{[h]:`VolumeSize`,[_]:gw}],[0,{[h]:`VolumeType`,[_]:vw}],[1,{[h]:`Throughput`,[_]:BC}],[1,{[h]:`VolumeInitializationRate`,[_]:aw}],[1,{[h]:`EbsCardIndex`,[_]:Sg}]]],ek=[3,v,fse,0,[ml,Vo,Wd,qd,dm,dh,fh,Um,ah,tc],[2,2,1,0,0,1,0,1,1,1]],tk=[3,v,pse,0,[Gm,ha],[0,1],1],nk=[3,v,hse,0,[Gm,ha],[[0,{[h]:`Type`,[_]:HC}],[1,{[h]:`Count`,[_]:pg}]]],rk=[3,v,yse,0,[$c,il],[[2,{[h]:`EnaSrdEnabled`,[_]:Rg}],[()=>ik,{[h]:`EnaSrdUdpSpecification`,[_]:Hg}]]],ik=[3,v,bse,0,[rl],[[2,{[h]:`EnaSrdUdpEnabled`,[_]:Vg}]]],ak=[3,v,_se,0,[pl],[[2,{[h]:`Enabled`,[_]:Yg}]]],ok=[3,v,vse,0,[pl],[2]],sk=[3,v,xse,0,[ma],[[2,{[h]:`Configured`,[_]:fg}]]],ck=[3,v,Sse,0,[ma],[2]],lk=[3,v,Cse,0,[Ci,If],[[0,{[h]:`Arn`,[_]:Ih}],[0,{[h]:`Name`,[_]:ib}]]],uk=[3,v,wse,0,[Ci,If],[0,0]],dk=[3,v,Tse,0,[di],[[0,{[h]:`AutoRecovery`,[_]:Dh}]]],fk=[3,v,Ese,0,[di],[0]],pk=[3,v,kse,0,[Af,vm],[[0,{[h]:`MarketType`,[_]:Xy}],[()=>Mk,{[h]:`SpotOptions`,[_]:ZS}]]],mk=[3,v,Dse,0,[Af,vm],[0,()=>Nk]],hk=[3,v,Ase,0,[Om,fu,lu,iu,cu,Sd],[[0,{[h]:`State`,[_]:hC}],[0,{[h]:`HttpTokens`,[_]:k_}],[1,{[h]:`HttpPutResponseHopLimit`,[_]:E_}],[0,{[h]:`HttpEndpoint`,[_]:S_}],[0,{[h]:`HttpProtocolIpv6`,[_]:T_}],[0,{[h]:`InstanceMetadataTags`,[_]:lv}]]],gk=[3,v,Ose,0,[fu,lu,iu,cu,Sd],[0,1,0,0,0]],_k=[3,v,jse,0,[Qr,li,Vo,Js,Ma,Nl,Ud,yu,_u,Wf,xp,Sp,bm,fm,zf,Pd,Od,kd,Dd,wp,el,ua,Jc],[[2,{[h]:`AssociateCarrierIpAddress`,[_]:$pe}],[2,{[h]:`AssociatePublicIpAddress`,[_]:Th}],[2,{[h]:`DeleteOnTermination`,[_]:yg}],[0,{[h]:`Description`,[_]:bg}],[1,{[h]:`DeviceIndex`,[_]:gg}],[()=>bM,{[h]:`GroupSet`,[_]:__}],[0,{[h]:`InterfaceType`,[_]:Kv}],[1,{[h]:`Ipv6AddressCount`,[_]:N_}],[()=>MM,{[h]:`Ipv6AddressesSet`,[_]:R_}],[0,{[h]:`NetworkInterfaceId`,[_]:_b}],[0,{[h]:`PrivateIpAddress`,[_]:ux}],[()=>zN,{[h]:`PrivateIpAddressesSet`,[_]:cx}],[1,{[h]:`SecondaryPrivateIpAddressCount`,[_]:QS}],[0,{[h]:`SubnetId`,[_]:HS}],[1,{[h]:`NetworkCardIndex`,[_]:cb}],[()=>QM,{[h]:`Ipv4PrefixSet`,[_]:bv}],[1,{[h]:`Ipv4PrefixCount`,[_]:gv}],[()=>eN,{[h]:`Ipv6PrefixSet`,[_]:xv}],[1,{[h]:`Ipv6PrefixCount`,[_]:_v}],[2,{[h]:`PrimaryIpv6`,[_]:px}],[()=>rk,{[h]:`EnaSrdSpecification`,[_]:zg}],[()=>ST,{[h]:`ConnectionTrackingSpecification`,[_]:Gme}],[1,{[h]:`EnaQueueCount`,[_]:Fg}]]],vk=[3,v,Nse,0,[Qr,li,Vo,Js,Ma,Nl,Ud,yu,_u,Wf,xp,Sp,bm,fm,zf,Pd,Od,kd,Dd,wp,el,ua,Jc],[2,2,2,0,1,[()=>tP,{[_]:Zp}],0,1,[()=>NM,0],0,0,[()=>zN,0],1,0,1,[()=>ZM,{[_]:Fd}],1,[()=>$M,{[_]:Md}],1,2,()=>jD,()=>CT,1]],yk=[3,v,Fse,0,[Vo,Ma,Sp,bp,wm,Ud,zf],[[2,{[h]:`DeleteOnTermination`,[_]:yg}],[1,{[h]:`DeviceIndex`,[_]:gg}],[()=>$N,{[h]:`PrivateIpAddressesSet`,[_]:cx}],[1,{[h]:`PrivateIpAddressCount`,[_]:sx}],[0,{[h]:`SecondarySubnetId`,[_]:rC}],[0,{[h]:`InterfaceType`,[_]:Kv}],[1,{[h]:`NetworkCardIndex`,[_]:cb}]]],bk=[3,v,Lse,0,[Vo,Ma,Sp,bp,wm,Ud,zf],[2,1,[()=>eP,{[_]:xp}],1,0,0,1]],xk=[3,v,Vse,0,[Zd],[[0,{[h]:`LicenseConfigurationArn`,[_]:oy}]]],Sk=[3,v,Hse,0,[Zd],[0]],Ck=[3,v,qse,0,[Bi],[[0,{[h]:`BandwidthWeighting`,[_]:qh}]]],wk=[3,v,Jse,0,[Bi],[0]],Tk=[3,v,Zse,0,[_i,bi,Si,Xl,au,Hm,Yp,uu,Dp,Kl],[[0,{[h]:`AvailabilityZone`,[_]:Mh}],[0,{[h]:`AvailabilityZoneId`,[_]:Nh}],[0,{[h]:`Affinity`,[_]:Fh}],[0,{[h]:`GroupName`,[_]:p_}],[0,{[h]:`HostId`,[_]:C_}],[0,{[h]:`Tenancy`,[_]:zC}],[0,{[h]:`SpreadDomain`,[_]:bS}],[0,{[h]:`HostResourceGroupArn`,[_]:D_}],[1,{[h]:`PartitionNumber`,[_]:yx}],[0,{[h]:`GroupId`,[_]:d_}]]],Ek=[3,v,ece,0,[_i,bi,Si,Xl,au,Hm,Yp,uu,Dp,Kl],[0,0,0,0,0,0,0,0,1,0]],Dk=[3,v,Qse,0,[pu,Zc,Yc],[[0,{[h]:`HostnameType`,[_]:A_}],[2,{[h]:`EnableResourceNameDnsARecord`,[_]:Lg}],[2,{[h]:`EnableResourceNameDnsAAAARecord`,[_]:Ig}]]],Ok=[3,v,$se,0,[pu,Zc,Yc],[0,2,2]],kk=[3,v,Gse,0,[pl],[[2,{[h]:`Enabled`,[_]:Yg}]]],Ak=[3,v,Kse,0,[pl],[2]],jk=[3,v,tce,0,[sf,cf,gh],[0,0,0]],Mk=[3,v,nce,0,[Tf,cm,ji,mh,ld],[[0,{[h]:`MaxPrice`,[_]:Hy}],[0,{[h]:`SpotInstanceType`,[_]:BS}],[1,{[h]:`BlockDurationMinutes`,[_]:wme}],[4,{[h]:`ValidUntil`,[_]:xw}],[0,{[h]:`InstanceInterruptionBehavior`,[_]:ev}]]],Nk=[3,v,rce,0,[Tf,cm,ji,mh,ld],[0,0,1,4,0]],Pk=[3,v,ace,0,[Gp,Mm],[[0,{[h]:`ResourceType`,[_]:sS}],[()=>fP,{[h]:`TagSet`,[_]:jC}]]],Fk=[3,v,lf,0,[Gp,Mm],[0,[()=>fP,{[_]:Vm}]]],Ik=[3,v,uf,0,[sf,cf,lh,th,fa,Hi,Hs,of,ap],[[0,{[h]:`LaunchTemplateId`,[_]:gy}],[0,{[h]:`LaunchTemplateName`,[_]:_y}],[1,{[h]:`VersionNumber`,[_]:uw}],[0,{[h]:`VersionDescription`,[_]:tw}],[4,{[h]:`CreateTime`,[_]:ug}],[0,{[h]:`CreatedBy`,[_]:Yh}],[2,{[h]:`DefaultVersion`,[_]:ghe}],[()=>BA,{[h]:`LaunchTemplateData`,[_]:hy}],[()=>hA,{[h]:`Operator`,[_]:Ub}]]],Lk=[3,v,Yoe,0,[Zd],[[0,{[h]:`LicenseConfigurationArn`,[_]:oy}]]],Rk=[3,v,Joe,0,[Zd],[0]],zk=[3,v,pf,0,[xi,Ufe],[[()=>wN,{[h]:`Accelerators`,[_]:Ph}],[1,{[h]:`TotalMediaMemoryInMiB`,[_]:DC}]]],Bk=[3,v,vce,0,[ha,If,Mf,yf],[[1,{[h]:`Count`,[_]:pg}],[0,{[h]:`Name`,[_]:ib}],[0,{[h]:`Manufacturer`,[_]:$y}],[()=>Vk,{[h]:`MemoryInfo`,[_]:Iy}]]],Vk=[3,v,bce,0,[am],[[1,{[h]:`SizeInMiB`,[_]:FS}]]],Hk=[3,v,_f,0,[df,jf],[[1,{[h]:`Min`,[_]:Cy}],[1,{[h]:`Max`,[_]:Zy}]]],Uk=[3,v,Ece,0,[df,jf],[1,1]],Wk=[3,v,yf,0,[am],[[1,{[h]:`SizeInMiB`,[_]:FS}]]],Gk=[3,v,bf,0,[df,jf],[[1,{[h]:`Min`,[_]:Cy}],[1,{[h]:`Max`,[_]:Zy}]]],Kk=[3,v,Nce,0,[df,jf],[1,1],1],qk=[3,v,Dce,0,[id,Jp,Kc,_a,p,Fre,Qm,Ai,va,Bd,Koe,dde,Km,gd,Nl,zc,_m,cl],[[0,{[h]:`InstanceId`,[_]:$_}],[()=>eT,0],()=>PD,[()=>eT,0],[2,{[h]:`DryRun`,[_]:m}],[0,{[h]:`Attribute`,[_]:xme}],[()=>Iw,{[h]:`Value`,[_]:ZC}],[()=>OM,{[h]:`BlockDeviceMapping`,[_]:Vh}],[()=>eT,{[h]:`DisableApiTermination`,[_]:mg}],[()=>tT,{[h]:`InstanceType`,[_]:Vv}],[()=>tT,{[h]:`Kernel`,[_]:iy}],[()=>tT,{[h]:`Ramdisk`,[_]:uS}],[()=>hT,{[h]:`UserData`,[_]:WC}],[()=>tT,{[h]:`InstanceInitiatedShutdownBehavior`,[_]:iv}],[()=>bM,{[_]:Kl}],[()=>eT,{[h]:`EbsOptimized`,[_]:kg}],[()=>tT,{[h]:`SriovNetSupport`,[_]:XS}],[()=>eT,{[h]:`EnaSupport`,[_]:Gg}]],1],Jk=[3,v,jce,0,[p,ca,sf,cf,Hs],[2,[0,4],0,0,[0,{[_]:kde}]]],Yk=[3,v,Mce,0,[af],[[()=>KO,{[h]:`LaunchTemplate`,[_]:my}]]],Xk=[3,v,Fce,0,[fm,$r,wf,gf,ta,oc,Ile,Qc,Xc,Rc,mo],[[0,{[h]:`SubnetId`,[_]:HS}],[()=>eT,0],[()=>eT,0],[()=>eT,0],0,[()=>eT,0],0,[()=>eT,0],[()=>eT,0],1,[()=>eT,0]],1],Zk=[3,v,zce,0,[oh,p,Dm,fh,Wd,Um,ff],[0,2,1,0,1,1,2],1],Qk=[3,v,Bce,0,[sh],[[()=>Ej,{[h]:`VolumeModification`,[_]:cw}]]],$k=[3,v,Ff,0,[Om],[[0,{[h]:`State`,[_]:hC}]]],eA=[3,v,Vf,0,[fa,As,vl,Tl,nle,Hf,cp,Om,fm,ih,Mm,da,si,gre,rre,Pne,Wp],[[4,{[h]:`CreateTime`,[_]:ug}],[4,{[h]:`DeleteTime`,[_]:dhe}],[0,{[h]:`FailureCode`,[_]:Zg}],[0,{[h]:`FailureMessage`,[_]:e_}],[()=>TN,{[h]:`NatGatewayAddressSet`,[_]:pb}],[0,{[h]:`NatGatewayId`,[_]:mb}],[()=>kA,{[h]:`ProvisionedBandwidth`,[_]:Kb}],[0,{[h]:`State`,[_]:hC}],[0,{[h]:`SubnetId`,[_]:HS}],[0,{[h]:`VpcId`,[_]:iw}],[()=>fP,{[h]:`TagSet`,[_]:jC}],[0,{[h]:`ConnectivityType`,[_]:qme}],[0,{[h]:`AvailabilityMode`,[_]:sme}],[0,{[h]:`AutoScalingIps`,[_]:mme}],[0,{[h]:`AutoProvisionZones`,[_]:dme}],[()=>EN,{[h]:`AttachedApplianceSet`,[_]:Zpe}],[0,{[h]:`RouteTableId`,[_]:aS}]]],tA=[3,v,ole,0,[ni,Wf,Zle,yp,ii,toe,Tl,km,_i,bi],[[0,{[h]:`AllocationId`,[_]:xh}],[0,{[h]:`NetworkInterfaceId`,[_]:_b}],[0,{[h]:`PrivateIp`,[_]:mx}],[0,{[h]:`PublicIp`,[_]:ox}],[0,{[h]:`AssociationId`,[_]:Ch}],[2,{[h]:`IsPrimary`,[_]:Ov}],[0,{[h]:`FailureMessage`,[_]:e_}],[0,{[h]:`Status`,[_]:gC}],[0,{[h]:`AvailabilityZone`,[_]:Mh}],[0,{[h]:`AvailabilityZoneId`,[_]:Nh}]]],nA=[3,v,rle,0,[Gm,Mne,rh,_re,Of,vl,Tl],[[0,{[h]:`Type`,[_]:HC}],[0,{[h]:`ApplianceArn`,[_]:Qpe}],[0,{[h]:`VpcEndpointId`,[_]:rw}],[0,{[h]:`AttachmentState`,[_]:_me}],[0,{[h]:`ModificationState`,[_]:Jy}],[0,{[h]:`FailureCode`,[_]:Zg}],[0,{[h]:`FailureMessage`,[_]:e_}]]],rA=[3,v,Rf,0,[df,jf],[[1,{[h]:`Min`,[_]:Cy}],[1,{[h]:`Max`,[_]:Zy}]]],iA=[3,v,Kce,0,[df,jf],[1,1]],aA=[3,v,Yce,0,[zf,Yf,xf,Lne,Lre,jle,ka,wce,Tce],[[1,{[h]:`NetworkCardIndex`,[_]:cb}],[0,{[h]:`NetworkPerformance`,[_]:wb}],[1,{[h]:`MaximumNetworkInterfaces`,[_]:zy}],[1,{[h]:`AdditionalFlexibleNetworkInterfaces`,[_]:tme}],[1,{[h]:`BaselineBandwidthInGbps`,[_]:Sme}],[1,{[h]:`PeakBandwidthInGbps`,[_]:qb}],[1,{[h]:`DefaultEnaQueueCountPerInterface`,[_]:Qme}],[1,{[h]:`MaximumEnaQueueCount`,[_]:My}],[1,{[h]:`MaximumEnaQueueCountPerInterface`,[_]:Ny}]]],oA=[3,v,Kf,0,[Yf,xf,Pce,Mo,qce,Cu,wu,Coe,cl,ol,Lc,Mc,nl,Jre,Sl,la,mfe,Lce,Tu],[[0,{[h]:`NetworkPerformance`,[_]:wb}],[1,{[h]:`MaximumNetworkInterfaces`,[_]:zy}],[1,{[h]:`MaximumNetworkCards`,[_]:Ry}],[1,{[h]:`DefaultNetworkCardIndex`,[_]:the}],[()=>kN,{[h]:`NetworkCards`,[_]:sb}],[1,{[h]:`Ipv4AddressesPerInterface`,[_]:F_}],[1,{[h]:`Ipv6AddressesPerInterface`,[_]:I_}],[2,{[h]:`Ipv6Supported`,[_]:Bv}],[0,{[h]:`EnaSupport`,[_]:Gg}],[2,{[h]:`EfaSupported`,[_]:Ug}],[()=>TD,{[h]:`EfaInfo`,[_]:Dg}],[2,{[h]:`EncryptionInTransitSupported`,[_]:wg}],[2,{[h]:`EnaSrdSupported`,[_]:Bg}],[()=>Yj,{[h]:`BandwidthWeightings`,[_]:kme}],[0,{[h]:`FlexibleEnaQueuesSupport`,[_]:Qg}],[()=>iE,{[h]:`ConnectionTrackingConfiguration`,[_]:lg}],[2,{[h]:`SecondaryNetworkSupported`,[_]:YS}],[1,{[h]:`MaximumSecondaryNetworkInterfaces`,[_]:Ky}],[1,{[h]:`Ipv4AddressesPerSecondaryInterface`,[_]:L_}]]],sA=[3,v,Uf,0,[df,jf],[[1,{[h]:`Min`,[_]:Cy}],[1,{[h]:`Max`,[_]:Zy}]]],cA=[3,v,fle,0,[df,jf],[1,1]],lA=[3,v,Xce,0,[ha,gh],[[1,{[h]:`Count`,[_]:pg}],[1,{[h]:`Version`,[_]:Sw}]]],uA=[3,v,Zce,0,[ha,If,sie,yf],[[1,{[h]:`Count`,[_]:pg}],[0,{[h]:`Name`,[_]:ib}],[()=>lA,{[h]:`CoreInfo`,[_]:zme}],[()=>dA,{[h]:`MemoryInfo`,[_]:Iy}]]],dA=[3,v,$ce,0,[am],[[1,{[h]:`SizeInMiB`,[_]:FS}]]],fA=[3,v,qf,0,[ele,Wfe],[[()=>AN,{[h]:`NeuronDevices`,[_]:ub}],[1,{[h]:`TotalNeuronDeviceMemoryInMiB`,[_]:OC}]]],pA=[3,v,Zf,0,[Ofe],[[()=>jN,{[h]:`SupportedVersions`,[_]:pC}]]],mA=[3,v,Cle,0,[sp],[0]],hA=[3,v,wle,0,[Wce,sp,ru],[[2,{[h]:`Managed`,[_]:eb}],[0,{[h]:`Principal`,[_]:Gb}],[2,{[h]:`HiddenByDefault`,[_]:x_}]]],gA=[3,v,zle,0,[Wu],[[0,{[h]:`InstanceFamily`,[_]:q_}]]],_A=[3,v,Ble,0,[Wu],[0]],vA=[3,v,Ap,0,[bi,Si,Xl,Dp,au,Hm,Yp,uu,Kl,_i],[[0,{[h]:`AvailabilityZoneId`,[_]:Nh}],[0,{[h]:`Affinity`,[_]:Fh}],[0,{[h]:`GroupName`,[_]:p_}],[1,{[h]:`PartitionNumber`,[_]:yx}],[0,{[h]:`HostId`,[_]:C_}],[0,{[h]:`Tenancy`,[_]:zC}],[0,{[h]:`SpreadDomain`,[_]:bS}],[0,{[h]:`HostResourceGroupArn`,[_]:D_}],[0,{[h]:`GroupId`,[_]:d_}],[0,{[h]:`AvailabilityZone`,[_]:Mh}]]],yA=[3,v,gp,0,[Xl,Om,Am,lp,Kl,Mm,Pl,pm,$d,ap,_p],[[0,{[h]:`GroupName`,[_]:p_}],[0,{[h]:`State`,[_]:hC}],[0,{[h]:`Strategy`,[_]:_C}],[1,{[h]:`PartitionCount`,[_]:Yb}],[0,{[h]:`GroupId`,[_]:d_}],[()=>fP,{[h]:`TagSet`,[_]:jC}],[0,{[h]:`GroupArn`,[_]:s_}],[0,{[h]:`SpreadLevel`,[_]:US}],[0,{[h]:`LinkedGroupId`,[_]:ly}],[()=>hA,{[h]:`Operator`,[_]:Ub}],[0,{[h]:`ParentGroupId`,[_]:ix}]]],bA=[3,v,vp,0,[bfe],[[()=>LN,{[h]:`SupportedStrategies`,[_]:oC}]]],xA=[3,v,Ep,0,[Js,Ep],[[0,{[h]:`Description`,[_]:bg}],[0,{[h]:`PrefixListId`,[_]:_x}]]],SA=[3,v,pp,0,[pu,Zc,Yc],[[0,{[h]:`HostnameType`,[_]:A_}],[2,{[h]:`EnableResourceNameDnsARecord`,[_]:Lg}],[2,{[h]:`EnableResourceNameDnsAAAARecord`,[_]:Ig}]]],CA=[3,v,Lle,0,[pu,Zc,Yc],[0,2,2]],wA=[3,v,Rle,0,[pu,Zc,Yc],[[0,{[h]:`HostnameType`,[_]:A_}],[2,{[h]:`EnableResourceNameDnsARecord`,[_]:Lg}],[2,{[h]:`EnableResourceNameDnsAAAARecord`,[_]:Ig}]]],TA=[3,v,qle,0,[jp,xp],[[2,{[h]:`Primary`,[_]:jx}],[0,{[h]:`PrivateIpAddress`,[_]:ux}]]],EA=[3,v,Tp,0,[wde,Dde,Ade,Mf],[[()=>Hj,{[h]:`SupportedArchitectures`,[_]:mS}],[1,{[h]:`SustainedClockSpeedInGhz`,[_]:_S}],[()=>dP,{[h]:`SupportedFeatures`,[_]:xS}],[0,{[h]:`Manufacturer`,[_]:$y}]]],DA=[3,v,Fle,0,[Mle,Ple],[[0,{[h]:`ProductCode`,[_]:Xb}],[0,{[h]:`Type`,[_]:HC}]]],OA=[3,v,cue,0,[Hl],[[0,{[h]:`GatewayId`,[_]:l_}]]],kA=[3,v,cp,0,[oue,pue,lde,hde,km],[[4,{[h]:`ProvisionTime`,[_]:wx}],[0,{[h]:`Provisioned`,[_]:Nx}],[4,{[h]:`RequestTime`,[_]:cS}],[0,{[h]:`Requested`,[_]:fS}],[0,{[h]:`Status`,[_]:gC}]]],AA=[3,v,Oue,0,[vd,p],[[()=>AM,{[_]:id}],[2,{[h]:`DryRun`,[_]:m}]],1],jA=[3,v,que,0,[Kl,Op,qm,ih,uh],[[0,{[h]:`GroupId`,[_]:d_}],[0,{[h]:`PeeringStatus`,[_]:xx}],[0,{[h]:`UserId`,[_]:GC}],[0,{[h]:`VpcId`,[_]:iw}],[0,{[h]:`VpcPeeringConnectionId`,[_]:pw}]]],MA=[3,v,mde,0,[rp,tu,Hp,hl],[[0,{[h]:`OptInStatus`,[_]:Ib}],[()=>UN,{[h]:`GeographySet`,[_]:g_}],[0,{[h]:`RegionName`,[_]:$x}],[0,{[h]:`RegionEndpoint`,[_]:Hx}]]],NA=[3,v,Cue,0,[If],[[0,{[h]:`Name`,[_]:ib}]]],PA=[3,v,kue,0,[If,yd,Gre,Pi,Bm,$fe,Rd,Rm,p,Js,wi,Kd,Vp,Ip,Ai,ph,_m,cl],[[0,{[h]:`Name`,[_]:ib}],0,[()=>Xj,{[_]:Kre}],0,0,0,0,[()=>pP,{[_]:zm}],[2,{[h]:`DryRun`,[_]:m}],[0,{[h]:`Description`,[_]:bg}],[0,{[h]:`Architecture`,[_]:Lh}],[0,{[h]:`KernelId`,[_]:Zv}],[0,{[h]:`RamdiskId`,[_]:Jx}],[0,{[h]:`RootDeviceName`,[_]:Lx}],[()=>Qj,{[_]:ki}],[0,{[h]:`VirtualizationType`,[_]:bw}],[0,{[h]:`SriovNetSupport`,[_]:XS}],[2,{[h]:`EnaSupport`,[_]:Gg}]],1],FA=[3,v,Aue,0,[_d],[[0,{[h]:`ImageId`,[_]:av}]]],IA=[3,v,hue,0,[ni,yp,Lf,p],[0,0,0,[2,{[h]:`DryRun`,[_]:m}]]],LA=[3,v,zue,0,[Kd,zc,ud,Ai,Gf,_d,Bd,Jd,Ff,Ap,Fp,va,gd,Km,Rm,bc,kc,Qp,nm,bd,sa,$i,aa,ef,ou,Sf,Kc,Id,fp,Cf,_a,ap,Jf,lm],[0,2,()=>uk,[()=>oN,{[_]:ki}],[()=>dN,{[_]:mle}],0,0,0,()=>Ak,()=>Ek,0,2,0,[()=>Rw,0],[()=>yN,{[_]:zm}],[()=>cM,{[_]:yc}],[()=>sN,{[_]:xc}],[()=>tP,{[_]:Zp}],[()=>aP,{[_]:rm}],()=>mk,()=>rE,()=>QO,()=>YO,[()=>hN,{[_]:nf}],()=>ck,()=>gk,()=>ok,[()=>TO,0],()=>Ok,()=>fk,2,()=>mA,()=>wk,[()=>pN,{[_]:um}]]],RA=[3,v,_de,0,[Nue,np,Iue,Nl,Poe],[[0,{[h]:`ReservationId`,[_]:qx}],[0,{[h]:`OwnerId`,[_]:Fb}],[0,{[h]:`RequesterId`,[_]:Xx}],[()=>yM,{[h]:`GroupSet`,[_]:__}],[()=>FM,{[h]:`InstancesSet`,[_]:Lv}]]],zA=[3,v,zp,0,[pa,Nf],[[0,{[h]:`Code`,[_]:dg}],[0,{[h]:`Message`,[_]:tb}]]],BA=[3,v,Bue,0,[Kd,zc,ud,Ai,Gf,_d,Bd,Jd,Ff,Ap,Fp,va,gd,Km,Rm,bc,kc,Qp,nm,bd,sa,$i,aa,ef,ou,Sf,Kc,Id,fp,Cf,_a,ap,Jf,lm],[[0,{[h]:`KernelId`,[_]:Zv}],[2,{[h]:`EbsOptimized`,[_]:kg}],[()=>lk,{[h]:`IamInstanceProfile`,[_]:tv}],[()=>aN,{[h]:`BlockDeviceMappingSet`,[_]:Cme}],[()=>uN,{[h]:`NetworkInterfaceSet`,[_]:yb}],[0,{[h]:`ImageId`,[_]:av}],[0,{[h]:`InstanceType`,[_]:Vv}],[0,{[h]:`KeyName`,[_]:ey}],[()=>kk,{[h]:`Monitoring`,[_]:rb}],[()=>Tk,{[h]:`Placement`,[_]:Ax}],[0,{[h]:`RamDiskId`,[_]:Ix}],[2,{[h]:`DisableApiTermination`,[_]:mg}],[0,{[h]:`InstanceInitiatedShutdownBehavior`,[_]:iv}],[()=>Rw,{[h]:`UserData`,[_]:WC}],[()=>vN,{[h]:`TagSpecificationSet`,[_]:NC}],[()=>lM,{[h]:`ElasticGpuSpecificationSet`,[_]:Ohe}],[()=>cN,{[h]:`ElasticInferenceAcceleratorSet`,[_]:Cg}],[()=>_P,{[h]:`SecurityGroupIdSet`,[_]:CS}],[()=>_P,{[h]:`SecurityGroupSet`,[_]:kS}],[()=>pk,{[h]:`InstanceMarketOptions`,[_]:cv}],[()=>nE,{[h]:`CreditSpecification`,[_]:Ume}],[()=>ZO,{[h]:`CpuOptions`,[_]:tg}],[()=>XO,{[h]:`CapacityReservationSpecification`,[_]:og}],[()=>mN,{[h]:`LicenseSet`,[_]:fy}],[()=>sk,{[h]:`HibernationOptions`,[_]:w_}],[()=>hk,{[h]:`MetadataOptions`,[_]:By}],[()=>ak,{[h]:`EnclaveOptions`,[_]:Pg}],[()=>wO,{[h]:`InstanceRequirements`,[_]:kv}],[()=>Dk,{[h]:`PrivateDnsNameOptions`,[_]:Zb}],[()=>dk,{[h]:`MaintenanceOptions`,[_]:Vy}],[2,{[h]:`DisableApiStop`,[_]:Yme}],[()=>hA,{[h]:`Operator`,[_]:Ub}],[()=>Ck,{[h]:`NetworkPerformanceOptions`,[_]:Cb}],[()=>fN,{[h]:`SecondaryInterfaceSet`,[_]:zS}]]],VA=[3,v,ede,0,[tm,Kl,Uu,jd,El,Im,Xi,Yi,Ep,wue,Js],[[0,{[h]:`SecurityGroupRuleId`,[_]:ES}],[0,{[h]:`GroupId`,[_]:d_}],[2,{[h]:`IsEgress`,[_]:K_}],[0,{[h]:`IpProtocol`,[_]:Sv}],[1,{[h]:`FromPort`,[_]:t_}],[1,{[h]:`ToPort`,[_]:kC}],[0,{[h]:`CidrIpv4`,[_]:eg}],[0,{[h]:`CidrIpv6`,[_]:$h}],[0,{[h]:`PrefixListId`,[_]:_x}],[0,{[h]:`ReferencedGroupId`,[_]:Wx}],[0,{[h]:`Description`,[_]:bg}]]],HA=[3,v,Yue,0,[Kl,em,p,Sm,Cm,jd,El,Im,Ji,Ad],[[0,{[h]:`GroupId`,[_]:d_}],[()=>rP,{[_]:tm}],[2,{[h]:`DryRun`,[_]:m}],[0,{[h]:`SourceSecurityGroupName`,[_]:tC}],[0,{[h]:`SourceSecurityGroupOwnerId`,[_]:nC}],[0,{[h]:`IpProtocol`,[_]:Sv}],[1,{[h]:`FromPort`,[_]:t_}],[1,{[h]:`ToPort`,[_]:kC}],[0,{[h]:`CidrIp`,[_]:Qh}],[()=>YM,{[h]:`IpPermissions`,[_]:Cv}]],1],UA=[3,v,Xue,0,[Np,Jm,Up],[[2,{[h]:`Return`,[_]:Px}],[()=>YM,{[h]:`UnknownIpPermissionSet`,[_]:KC}],[()=>qN,{[h]:`RevokedSecurityGroupRuleSet`,[_]:eS}]]],WA=[3,v,Zue,0,[Ji,El,Kl,Xl,Ad,jd,Sm,Cm,Im,em,p],[0,1,0,0,[()=>YM,0],0,0,0,1,[()=>rP,{[_]:tm}],[2,{[h]:`DryRun`,[_]:m}]]],GA=[3,v,Que,0,[Np,Jm,Up],[[2,{[h]:`Return`,[_]:Px}],[()=>YM,{[h]:`UnknownIpPermissionSet`,[_]:KC}],[()=>qN,{[h]:`RevokedSecurityGroupRuleSet`,[_]:eS}]]],KA=[3,v,vde,0,[Ta,Na,qo,Uc,Hl,id,Lae,Hf,Pm,Qd,Ki,Wf,vle,Om,uh,Qi,ip,Du],[[0,{[h]:`DestinationCidrBlock`,[_]:hg}],[0,{[h]:`DestinationIpv6CidrBlock`,[_]:_g}],[0,{[h]:`DestinationPrefixListId`,[_]:ihe}],[0,{[h]:`EgressOnlyInternetGatewayId`,[_]:Mg}],[0,{[h]:`GatewayId`,[_]:l_}],[0,{[h]:`InstanceId`,[_]:$_}],[0,{[h]:`InstanceOwnerId`,[_]:pv}],[0,{[h]:`NatGatewayId`,[_]:mb}],[0,{[h]:`TransitGatewayId`,[_]:xC}],[0,{[h]:`LocalGatewayId`,[_]:cy}],[0,{[h]:`CarrierGatewayId`,[_]:Ime}],[0,{[h]:`NetworkInterfaceId`,[_]:_b}],[0,{[h]:`Origin`,[_]:jb}],[0,{[h]:`State`,[_]:hC}],[0,{[h]:`VpcPeeringConnectionId`,[_]:pw}],[0,{[h]:`CoreNetworkArn`,[_]:Vme}],[0,{[h]:`OdbNetworkArn`,[_]:zb}],[0,{[h]:`IpAddress`,[_]:B_}]]],qA=[3,v,Kp,0,[Pre,uue,Wp,yde,Mm,ih,np],[[()=>XN,{[h]:`AssociationSet`,[_]:gme}],[()=>VN,{[h]:`PropagatingVgwSet`,[_]:Ex}],[0,{[h]:`RouteTableId`,[_]:aS}],[()=>YN,{[h]:`RouteSet`,[_]:rS}],[()=>fP,{[h]:`TagSet`,[_]:jC}],[0,{[h]:`VpcId`,[_]:iw}],[0,{[h]:`OwnerId`,[_]:Fb}]]],JA=[3,v,nde,0,[Uce,rde,Wp,fm,Hl,Cp,pi],[[2,{[h]:`Main`,[_]:Qy}],[0,{[h]:`RouteTableAssociationId`,[_]:iS}],[0,{[h]:`RouteTableId`,[_]:aS}],[0,{[h]:`SubnetId`,[_]:HS}],[0,{[h]:`GatewayId`,[_]:l_}],[0,{[h]:`PublicIpv4Pool`,[_]:dx}],[()=>YA,{[h]:`AssociationState`,[_]:Oh}]]],YA=[3,v,ade,0,[Om,hm],[[0,{[h]:`State`,[_]:hC}],[0,{[h]:`StatusMessage`,[_]:KS}]]],XA=[3,v,Due,0,[pl],[[2,{[h]:`Enabled`,[_]:Yg}]],1],ZA=[3,v,jue,0,[gce,_ce,Ai,_d,Bd,yu,_u,Kd,Jd,Ff,Ap,Vp,Qp,nm,fm,Km,yc,kc,Rm,af,bd,sa,$i,aa,ou,ef,Sf,Kc,fp,Cf,_a,qc,Jf,ap,lm,p,va,gd,xp,ca,ti,Gf,ud,zc],[1,1,[()=>Qj,{[_]:ki}],0,0,1,[()=>MM,{[_]:Ou}],0,0,[()=>XA,0],[()=>vA,0],0,[()=>tP,{[_]:Zp}],[()=>aP,{[_]:rm}],0,[()=>Lw,0],[()=>uM,0],[()=>fM,{[_]:xc}],[()=>pP,{[_]:zm}],()=>jk,()=>mO,()=>rE,()=>OT,()=>vT,()=>KD,[()=>SN,{[_]:nf}],()=>hO,()=>PD,()=>CA,()=>pO,2,2,()=>SO,()=>mA,[()=>HM,{[_]:um}],[2,{[h]:`DryRun`,[_]:m}],[2,{[h]:`DisableApiTermination`,[_]:mg}],[0,{[h]:`InstanceInitiatedShutdownBehavior`,[_]:iv}],[0,{[h]:`PrivateIpAddress`,[_]:ux}],[0,{[h]:`ClientToken`,[Uv]:1,[_]:cg}],[0,{[h]:`AdditionalInfo`,[_]:Sh}],[()=>LM,{[h]:`NetworkInterface`,[_]:bb}],[()=>YD,{[h]:`IamInstanceProfile`,[_]:tv}],[2,{[h]:`EbsOptimized`,[_]:kg}]],2],QA=[3,v,om,0,[xp],[[0,{[h]:`PrivateIpAddress`,[_]:ux}]]],$A=[3,v,Jde,0,[xp],[0]],ej=[3,v,rm,0,[Kl,zae,Mm,ih,Xp,np,Xl,Js,Ad],[[0,{[h]:`GroupId`,[_]:d_}],[()=>YM,{[h]:`IpPermissionsEgress`,[_]:vv}],[()=>fP,{[h]:`TagSet`,[_]:jC}],[0,{[h]:`VpcId`,[_]:iw}],[0,{[h]:`SecurityGroupArn`,[_]:SS}],[0,{[h]:`OwnerId`,[_]:Fb}],[0,{[h]:`GroupName`,[_]:p_}],[0,{[h]:`GroupDescription`,[_]:c_}],[()=>YM,{[h]:`IpPermissions`,[_]:Cv}]]],tj=[3,v,Lde,0,[tm,Kl,$l,Uu,jd,El,Im,Xi,Yi,Ep,Tue,Js,Mm,Pde],[[0,{[h]:`SecurityGroupRuleId`,[_]:ES}],[0,{[h]:`GroupId`,[_]:d_}],[0,{[h]:`GroupOwnerId`,[_]:m_}],[2,{[h]:`IsEgress`,[_]:K_}],[0,{[h]:`IpProtocol`,[_]:Sv}],[1,{[h]:`FromPort`,[_]:t_}],[1,{[h]:`ToPort`,[_]:kC}],[0,{[h]:`CidrIpv4`,[_]:eg}],[0,{[h]:`CidrIpv6`,[_]:$h}],[0,{[h]:`PrefixListId`,[_]:_x}],[()=>jA,{[h]:`ReferencedGroupInfo`,[_]:Gx}],[0,{[h]:`Description`,[_]:bg}],[()=>fP,{[h]:`TagSet`,[_]:jC}],[0,{[h]:`SecurityGroupRuleArn`,[_]:TS}]]],nj=[3,v,Afe,0,[yle,ep,Mm,Sfe,xue,Tm,_i,Xfe,Gi,Qie,Ol,dm,oh,Om,gm,Em,Mp,np,Js,dh,ml,qd,Oa],[[0,{[h]:`OwnerAlias`,[_]:Nb}],[0,{[h]:`OutpostArn`,[_]:Mb}],[()=>fP,{[h]:`TagSet`,[_]:jC}],[0,{[h]:`StorageTier`,[_]:lC}],[4,{[h]:`RestoreExpiryTime`,[_]:Vx}],[0,{[h]:`SseType`,[_]:sC}],[0,{[h]:`AvailabilityZone`,[_]:Mh}],[0,{[h]:`TransferType`,[_]:LC}],[1,{[h]:`CompletionDurationMinutes`,[_]:Pme}],[4,{[h]:`CompletionTime`,[_]:Kme}],[1,{[h]:`FullSnapshotSizeInBytes`,[_]:r_}],[0,{[h]:`SnapshotId`,[_]:VS}],[0,{[h]:`VolumeId`,[_]:ow}],[0,{[h]:`Status`,[_]:gC}],[0,{[h]:`StatusMessage`,[_]:KS}],[4,{[h]:`StartTime`,[_]:cC}],[0,{[h]:`Progress`,[_]:Mx}],[0,{[h]:`OwnerId`,[_]:Fb}],[0,{[h]:`Description`,[_]:bg}],[1,{[h]:`VolumeSize`,[_]:gw}],[2,{[h]:`Encrypted`,[_]:Xg}],[0,{[h]:`KmsKeyId`,[_]:Qv}],[0,{[h]:`DataEncryptionKeyId`,[_]:Zme}]]],rj=[3,v,ffe,0,[Tf,cm,ji,mh,ld],[0,0,1,4,0]],ij=[3,v,Xde,0,[vd,ti,p],[[()=>AM,{[_]:id}],[0,{[h]:`AdditionalInfo`,[_]:Sh}],[2,{[h]:`DryRun`,[_]:m}]],1],aj=[3,v,Zde,0,[ife],[[()=>UM,{[h]:`InstancesSet`,[_]:Lv}]]],oj=[3,v,xm,0,[pa,Nf],[[0,{[h]:`Code`,[_]:dg}],[0,{[h]:`Message`,[_]:tb}]]],sj=[3,v,Qde,0,[vd,mu,ym,p,_l],[[()=>AM,{[_]:id}],2,2,[2,{[h]:`DryRun`,[_]:m}],[2,{[h]:`Force`,[_]:a_}]],1],cj=[3,v,$de,0,[ofe],[[()=>UM,{[h]:`InstancesSet`,[_]:Lv}]]],lj=[3,v,jm,0,[bi,Rc,gf,ta,np,$r,Pu,Mm,Cde,ep,oc,Cd,pp,Li,Gm,fm,Om,ih,Vi,Rne,_i,Aa,wf],[[0,{[h]:`AvailabilityZoneId`,[_]:Nh}],[1,{[h]:`EnableLniAtDeviceIndex`,[_]:Og}],[2,{[h]:`MapCustomerOwnedIpOnLaunch`,[_]:Oy}],[0,{[h]:`CustomerOwnedIpv4Pool`,[_]:rg}],[0,{[h]:`OwnerId`,[_]:Fb}],[2,{[h]:`AssignIpv6AddressOnCreation`,[_]:rme}],[()=>lP,{[h]:`Ipv6CidrBlockAssociationSet`,[_]:U_}],[()=>fP,{[h]:`TagSet`,[_]:jC}],[0,{[h]:`SubnetArn`,[_]:hS}],[0,{[h]:`OutpostArn`,[_]:Mb}],[2,{[h]:`EnableDns64`,[_]:xhe}],[2,{[h]:`Ipv6Native`,[_]:uv}],[()=>SA,{[h]:`PrivateDnsNameOptionsOnLaunch`,[_]:Qb}],[()=>_T,{[h]:`BlockPublicAccessStates`,[_]:Gh}],[0,{[h]:`Type`,[_]:HC}],[0,{[h]:`SubnetId`,[_]:HS}],[0,{[h]:`State`,[_]:hC}],[0,{[h]:`VpcId`,[_]:iw}],[0,{[h]:`CidrBlock`,[_]:Jh}],[1,{[h]:`AvailableIpAddressCount`,[_]:nme}],[0,{[h]:`AvailabilityZone`,[_]:Mh}],[2,{[h]:`DefaultForAz`,[_]:$me}],[2,{[h]:`MapPublicIpOnLaunch`,[_]:Uy}]]],uj=[3,v,Ede,0,[Om,hm],[[0,{[h]:`State`,[_]:hC}],[0,{[h]:`StatusMessage`,[_]:KS}]]],dj=[3,v,Bde,0,[ii,Nu,Iu,vu,zd],[[0,{[h]:`AssociationId`,[_]:Ch}],[0,{[h]:`Ipv6CidrBlock`,[_]:H_}],[()=>uj,{[h]:`Ipv6CidrBlockState`,[_]:W_}],[0,{[h]:`Ipv6AddressAttribute`,[_]:M_}],[0,{[h]:`IpSource`,[_]:zv}]]],fj=[3,v,Vm,0,[Foe,Qm],[[0,{[h]:`Key`,[_]:Yv}],[0,{[h]:`Value`,[_]:ZC}]]],pj=[3,v,zm,0,[Gp,Mm],[[0,{[h]:`ResourceType`,[_]:sS}],[()=>fP,{[_]:Vm}]]],mj=[3,v,Ife,0,[vd,_l,ym,p],[[()=>AM,{[_]:id}],2,2,[2,{[h]:`DryRun`,[_]:m}]],1],hj=[3,v,Lfe,0,[zfe],[[()=>UM,{[h]:`InstancesSet`,[_]:Lv}]]],gj=[3,v,Fm,0,[df,jf],[[1,{[h]:`Min`,[_]:Cy}],[1,{[h]:`Max`,[_]:Zy}]]],_j=[3,v,Vfe,0,[df,jf],[1,1]],vj=[3,v,rpe,0,[Js,qm,Xl,Kl,ih,uh,Op],[[0,{[h]:`Description`,[_]:bg}],[0,{[h]:`UserId`,[_]:GC}],[0,{[h]:`GroupName`,[_]:p_}],[0,{[h]:`GroupId`,[_]:d_}],[0,{[h]:`VpcId`,[_]:iw}],[0,{[h]:`VpcPeeringConnectionId`,[_]:pw}],[0,{[h]:`PeeringStatus`,[_]:xx}]]],yj=[3,v,_pe,0,[pa,Nf],[[0,{[h]:`Code`,[_]:dg}],[0,{[h]:`Message`,[_]:tb}]]],bj=[3,v,Lpe,0,[gl],[[()=>pM,{[h]:`ErrorSet`,[_]:Kg}]]],xj=[3,v,upe,0,[df,jf],[[1,{[h]:`Min`,[_]:Cy}],[1,{[h]:`Max`,[_]:Zy}]]],Sj=[3,v,dpe,0,[df,jf],[1,1],1],Cj=[3,v,eh,0,[Ns,Da,Os,fpe,Ipe],[[1,{[h]:`DefaultVCpus`,[_]:mhe}],[1,{[h]:`DefaultCores`,[_]:Xme}],[1,{[h]:`DefaultThreadsPerCore`,[_]:lhe}],[()=>eM,{[h]:`ValidCores`,[_]:ew}],[()=>mP,{[h]:`ValidThreadsPerCore`,[_]:yw}]]],wj=[3,v,Bpe,0,[bi,ep,Efe,Wd,Mm,fh,Dl,ff,Um,Tm,ap,ah,oh,Dm,dm,_i,Om,fa,Di,ml,qd],[[0,{[h]:`AvailabilityZoneId`,[_]:Nh}],[0,{[h]:`OutpostArn`,[_]:Mb}],[0,{[h]:`SourceVolumeId`,[_]:dC}],[1,{[h]:`Iops`,[_]:Jv}],[()=>fP,{[h]:`TagSet`,[_]:jC}],[0,{[h]:`VolumeType`,[_]:vw}],[2,{[h]:`FastRestored`,[_]:n_}],[2,{[h]:`MultiAttachEnabled`,[_]:wy}],[1,{[h]:`Throughput`,[_]:BC}],[0,{[h]:`SseType`,[_]:sC}],[()=>hA,{[h]:`Operator`,[_]:Ub}],[1,{[h]:`VolumeInitializationRate`,[_]:aw}],[0,{[h]:`VolumeId`,[_]:ow}],[1,{[h]:`Size`,[_]:mC}],[0,{[h]:`SnapshotId`,[_]:VS}],[0,{[h]:`AvailabilityZone`,[_]:Mh}],[0,{[h]:`Status`,[_]:gC}],[4,{[h]:`CreateTime`,[_]:ug}],[()=>bP,{[h]:`AttachmentSet`,[_]:Ah}],[2,{[h]:`Encrypted`,[_]:Xg}],[0,{[h]:`KmsKeyId`,[_]:Qv}]]],Tj=[3,v,ope,0,[Vo,ui,Rae,tc,oh,id,Ys,Om,gi],[[2,{[h]:`DeleteOnTermination`,[_]:yg}],[0,{[h]:`AssociatedResource`,[_]:Eh}],[0,{[h]:`InstanceOwningService`,[_]:hv}],[1,{[h]:`EbsCardIndex`,[_]:Sg}],[0,{[h]:`VolumeId`,[_]:ow}],[0,{[h]:`InstanceId`,[_]:$_}],[0,{[h]:`Device`,[_]:_he}],[0,{[h]:`Status`,[_]:gC}],[4,{[h]:`AttachTime`,[_]:jh}]]],Ej=[3,v,sh,0,[oh,Of,hm,Jfe,Rfe,Zfe,Yfe,Hfe,Ele,ble,Ole,Dle,Sle,Mp,Em,ul,ap],[[0,{[h]:`VolumeId`,[_]:ow}],[0,{[h]:`ModificationState`,[_]:Jy}],[0,{[h]:`StatusMessage`,[_]:KS}],[1,{[h]:`TargetSize`,[_]:PC}],[1,{[h]:`TargetIops`,[_]:wC}],[0,{[h]:`TargetVolumeType`,[_]:RC}],[1,{[h]:`TargetThroughput`,[_]:IC}],[2,{[h]:`TargetMultiAttachEnabled`,[_]:EC}],[1,{[h]:`OriginalSize`,[_]:Bb}],[1,{[h]:`OriginalIops`,[_]:Lb}],[0,{[h]:`OriginalVolumeType`,[_]:Hb}],[1,{[h]:`OriginalThroughput`,[_]:Vb}],[2,{[h]:`OriginalMultiAttachEnabled`,[_]:Rb}],[1,{[h]:`Progress`,[_]:Mx}],[4,{[h]:`StartTime`,[_]:cC}],[4,{[h]:`EndTime`,[_]:qg}],[()=>hA,{[h]:`Operator`,[_]:Ub}]]],Dj=[3,v,_h,0,[np,Vd,Pu,Yre,Hu,ac,Mm,Li,ih,Om,Vi,Bo],[[0,{[h]:`OwnerId`,[_]:Fb}],[0,{[h]:`InstanceTenancy`,[_]:Gv}],[()=>TP,{[h]:`Ipv6CidrBlockAssociationSet`,[_]:U_}],[()=>CP,{[h]:`CidrBlockAssociationSet`,[_]:Ame}],[2,{[h]:`IsDefault`,[_]:G_}],[()=>Aj,{[h]:`EncryptionControl`,[_]:bhe}],[()=>fP,{[h]:`TagSet`,[_]:jC}],[()=>_T,{[h]:`BlockPublicAccessStates`,[_]:Gh}],[0,{[h]:`VpcId`,[_]:iw}],[0,{[h]:`State`,[_]:hC}],[0,{[h]:`CidrBlock`,[_]:Jh}],[0,{[h]:`DhcpOptionsId`,[_]:rhe}]]],Oj=[3,v,spe,0,[ii,Vi,Zre],[[0,{[h]:`AssociationId`,[_]:Ch}],[0,{[h]:`CidrBlock`,[_]:Jh}],[()=>kj,{[h]:`CidrBlockState`,[_]:Mme}]]],kj=[3,v,lpe,0,[Om,hm],[[0,{[h]:`State`,[_]:hC}],[0,{[h]:`StatusMessage`,[_]:KS}]]],Aj=[3,v,nh,0,[ih,gpe,Pf,Om,gm,Sue,Mm],[[0,{[h]:`VpcId`,[_]:iw}],[0,{[h]:`VpcEncryptionControlId`,[_]:nw}],[0,{[h]:`Mode`,[_]:nb}],[0,{[h]:`State`,[_]:hC}],[0,{[h]:`StateMessage`,[_]:qS}],[()=>Nj,{[h]:`ResourceExclusions`,[_]:Ux}],[()=>fP,{[h]:`TagSet`,[_]:jC}]]],jj=[3,v,ppe,0,[Pf,Yu,Hc,sle,Mpe,Ape,Xoe,Tpe,cc],[0,0,0,0,0,0,0,0,0],1],Mj=[3,v,mpe,0,[Om,gm],[[0,{[h]:`State`,[_]:hC}],[0,{[h]:`StateMessage`,[_]:qS}]]],Nj=[3,v,hpe,0,[Gu,Vc,Vf,jpe,kpe,qoe,wpe,sc],[[()=>Mj,{[h]:`InternetGateway`,[_]:J_}],[()=>Mj,{[h]:`EgressOnlyInternetGateway`,[_]:jg}],[()=>Mj,{[h]:`NatGateway`,[_]:fb}],[()=>Mj,{[h]:`VirtualPrivateGateway`,[_]:mw}],[()=>Mj,{[h]:`VpcPeering`,[_]:fw}],[()=>Mj,{[h]:`Lambda`,[_]:ay}],[()=>Mj,{[h]:`VpcLattice`,[_]:sw}],[()=>Mj,{[h]:`ElasticFileSystem`,[_]:She}]]],Pj=[3,v,vpe,0,[ii,Nu,Iu,Lf,Nd,vu,zd],[[0,{[h]:`AssociationId`,[_]:Ch}],[0,{[h]:`Ipv6CidrBlock`,[_]:H_}],[()=>kj,{[h]:`Ipv6CidrBlockState`,[_]:W_}],[0,{[h]:`NetworkBorderGroup`,[_]:ab}],[0,{[h]:`Ipv6Pool`,[_]:Tv}],[0,{[h]:`Ipv6AddressAttribute`,[_]:M_}],[0,{[h]:`IpSource`,[_]:zv}]]],Fj=`unit`,Ij=[1,v,Qne,0,[0,{[_]:g}]],Lj=[1,v,ere,0,[0,{[_]:g}]],Rj=[1,v,bre,0,[0,{[_]:g}]],zj=[1,v,Zne,0,[()=>Uw,{[_]:g}]],Bj=[1,v,Wne,0,[0,{[_]:ni}]],Vj=[1,v,Kne,0,[0,{[_]:g}]],Hj=[1,v,vre,0,[0,{[_]:g}]],Uj=[1,v,Gne,0,[0,{[_]:ii}]],Wj=[1,v,yi,0,[()=>sT,{[_]:vi}]],Gj=[1,v,Ere,0,[()=>cT,{[_]:g}]],Kj=[1,v,Dre,0,[()=>oT,{[_]:g}]],qj=[1,v,kre,0,[()=>lT,{[_]:g}]],Jj=[1,v,jre,0,[()=>uT,{[_]:g}]],Yj=[1,v,qre,0,[0,{[_]:g}]],Xj=[1,v,Ure,0,[0,{[_]:g}]],Zj=[1,v,Rre,0,[()=>gT,{[_]:g}]],Qj=[1,v,zre,0,[()=>gT,{[_]:ki}]],$j=[1,v,Vre,0,[0,{[_]:g}]],eM=[1,v,Qre,0,[1,{[_]:g}]],tM=[1,v,_ie,0,[0,{[_]:g}]],nM=[1,v,Co,0,[()=>dE,{[_]:g}]],rM=[1,v,To,0,[()=>fE,{[_]:g}]],iM=[1,v,gs,0,[()=>SE,{[_]:g}]],aM=[1,v,qa,0,[()=>vD,{[_]:g}]],oM=[1,v,nc,0,[()=>bD,{[_]:g}]],sM=[1,v,dc,0,[()=>ED,{[_]:g}]],cM=[1,v,gc,0,[()=>DD,{[_]:yc}]],lM=[1,v,vc,0,[()=>OD,{[_]:g}]],uM=[1,v,bc,0,[()=>DD,{[_]:g}]],dM=[1,v,wc,0,[()=>AD,{[_]:g}]],fM=[1,v,kc,0,[()=>kD,{[_]:g}]],pM=[1,v,ll,0,[()=>yj,{[_]:g}]],mM=[1,v,Nc,0,[0,{[_]:g}]],hM=[1,v,$s,0,[0,{[_]:ec}]],gM=[1,v,wl,0,[()=>FD,{[_]:jl}]],_M=[1,v,bl,0,[()=>ID,{[_]:g}]],vM=[1,v,Bl,0,[()=>VD,{[_]:g}]],yM=[1,v,Ul,0,[()=>WD,{[_]:g}]],bM=[1,v,Wl,0,[0,{[_]:d_}]],xM=[1,v,Zl,0,[0,{[_]:Xl}]],SM=[1,v,fd,0,[()=>JD,{[_]:g}]],CM=[1,v,pae,0,[0,{[_]:_d}]],wM=[1,v,yae,0,[()=>XD,{[_]:g}]],TM=[1,v,koe,0,[()=>ZD,{[_]:g}]],EM=[1,v,zu,0,[()=>tO,0]],DM=[1,v,Au,0,[()=>oO,{[_]:g}]],OM=[1,v,Mu,0,[()=>sO,{[_]:g}]],kM=[1,v,ed,0,[0,{[_]:g}]],AM=[1,v,mae,0,[0,{[_]:id}]],jM=[1,v,cae,0,[()=>cO,{[_]:g}]],MM=[1,v,od,0,[()=>lO,{[_]:g}]],NM=[1,v,sd,0,[()=>uO,{[_]:ad}]],PM=[1,v,lae,0,[()=>dO,{[_]:g}]],FM=[1,v,xae,0,[()=>rO,{[_]:g}]],IM=[1,v,jae,0,[()=>_O,{[_]:g}]],LM=[1,v,Mae,0,[()=>bO,{[_]:g}]],RM=[1,v,Hae,0,[()=>CO,{[_]:g}]],zM=[1,v,foe,0,[()=>EO,{[_]:g}]],BM=[1,v,moe,0,[()=>OO,{[_]:g}]],VM=[1,v,hoe,0,[()=>kO,{[_]:g}]],HM=[1,v,voe,0,[()=>AO,{[_]:g}]],UM=[1,v,uoe,0,[()=>MO,{[_]:g}]],WM=[1,v,woe,0,[()=>PO,{[_]:g}]],GM=[1,v,qu,0,[()=>IO,{[_]:g}]],KM=[1,v,Zu,0,[0,{[_]:g}]],qM=[1,v,$u,0,[()=>FO,{[_]:g}]],JM=[1,v,Sae,0,[0,{[_]:g}]],YM=[1,v,qae,0,[()=>LO,{[_]:g}]],XM=[1,v,noe,0,[()=>RO,{[_]:g}]],ZM=[1,v,Jae,0,[()=>zO,{[_]:g}]],QM=[1,v,Gae,0,[()=>BO,{[_]:g}]],$M=[1,v,Yae,0,[()=>VO,{[_]:g}]],eN=[1,v,Kae,0,[()=>HO,{[_]:g}]],tN=[1,v,roe,0,[()=>UO,{[_]:g}]],nN=[1,v,Roe,0,[0,{[_]:Jd}]],rN=[1,v,Voe,0,[0,{[_]:Yd}]],iN=[1,v,Woe,0,[()=>GO,{[_]:g}]],aN=[1,v,ise,0,[()=>qO,{[_]:g}]],oN=[1,v,ose,0,[()=>JO,{[_]:ki}]],sN=[1,v,mse,0,[()=>tk,{[_]:g}]],cN=[1,v,gse,0,[()=>nk,{[_]:g}]],lN=[1,v,zse,0,[0,{[_]:g}]],uN=[1,v,Mse,0,[()=>_k,{[_]:g}]],dN=[1,v,Pse,0,[()=>vk,{[_]:wd}]],fN=[1,v,Ise,0,[()=>yk,{[_]:g}]],pN=[1,v,Rse,0,[()=>bk,{[_]:_oe}]],mN=[1,v,Use,0,[()=>xk,{[_]:g}]],hN=[1,v,Wse,0,[()=>Sk,{[_]:g}]],gN=[1,v,Yse,0,[0,{[_]:g}]],_N=[1,v,ice,0,[()=>KO,{[_]:g}]],vN=[1,v,oce,0,[()=>Pk,{[_]:g}]],yN=[1,v,sce,0,[()=>Fk,{[_]:lf}]],bN=[1,v,cce,0,[()=>Ik,{[_]:g}]],xN=[1,v,Qoe,0,[()=>Lk,{[_]:g}]],SN=[1,v,ese,0,[()=>Rk,{[_]:g}]],CN=[1,v,tse,0,[0,{[_]:g}]],wN=[1,v,yce,0,[()=>Bk,{[_]:g}]],TN=[1,v,ale,0,[()=>tA,{[_]:g}]],EN=[1,v,ile,0,[()=>nA,{[_]:g}]],DN=[1,v,cle,0,[0,{[_]:g}]],ON=[1,v,ule,0,[()=>eA,{[_]:g}]],kN=[1,v,Jce,0,[()=>aA,{[_]:g}]],AN=[1,v,Qce,0,[()=>uA,{[_]:g}]],jN=[1,v,_le,0,[0,{[_]:g}]],MN=[1,v,Tle,0,[0,{[_]:op}]],NN=[1,v,Vle,0,[()=>gA,{[_]:g}]],PN=[1,v,Hle,0,[()=>_A,{[_]:g}]],FN=[1,v,Ule,0,[0,{[_]:Kl}]],IN=[1,v,Wle,0,[()=>yA,{[_]:g}]],LN=[1,v,Gle,0,[0,{[_]:g}]],RN=[1,v,tue,0,[()=>xA,{[_]:g}]],zN=[1,v,Jle,0,[()=>TA,{[_]:g}]],BN=[1,v,Nle,0,[()=>DA,{[_]:g}]],VN=[1,v,lue,0,[()=>OA,{[_]:g}]],HN=[1,v,Xle,0,[0,{[_]:yp}]],UN=[1,v,Eue,0,[()=>NA,{[_]:g}]],WN=[1,v,Rue,0,[()=>MA,{[_]:g}]],GN=[1,v,Gue,0,[0,{[_]:Hp}]],KN=[1,v,Vue,0,[()=>RA,{[_]:g}]],qN=[1,v,tde,0,[()=>VA,{[_]:g}]],JN=[1,v,bue,0,[0,{[_]:g}]],YN=[1,v,Hue,0,[()=>KA,{[_]:g}]],XN=[1,v,ide,0,[()=>JA,{[_]:g}]],ZN=[1,v,ode,0,[0,{[_]:g}]],QN=[1,v,cde,0,[()=>qA,{[_]:g}]],$N=[1,v,Kde,0,[()=>QA,{[_]:g}]],eP=[1,v,qde,0,[()=>$A,{[_]:om}]],tP=[1,v,Mde,0,[0,{[_]:Zp}]],nP=[1,v,Nde,0,[()=>ej,{[_]:g}]],rP=[1,v,Fde,0,[0,{[_]:g}]],iP=[1,v,Ide,0,[()=>tj,{[_]:g}]],aP=[1,v,Rde,0,[0,{[_]:rm}]],oP=[1,v,tfe,0,[0,{[_]:dm}]],sP=[1,v,lfe,0,[()=>nj,{[_]:g}]],cP=[1,v,nfe,0,[0,{[_]:fm}]],lP=[1,v,Vde,0,[()=>dj,{[_]:g}]],uP=[1,v,ufe,0,[()=>lj,{[_]:g}]],dP=[1,v,Sde,0,[0,{[_]:g}]],fP=[1,v,Bfe,0,[()=>fj,{[_]:g}]],pP=[1,v,qfe,0,[()=>pj,{[_]:g}]],mP=[1,v,Gfe,0,[1,{[_]:g}]],hP=[1,v,Qfe,0,[0,{[_]:g}]],gP=[1,v,npe,0,[()=>vj,{[_]:g}]],_P=[1,v,Npe,0,[0,{[_]:g}]],vP=[1,v,Ppe,0,[0,{[_]:g}]],yP=[1,v,Fpe,0,[0,{[_]:g}]],bP=[1,v,ape,0,[()=>Tj,{[_]:g}]],xP=[1,v,bpe,0,[0,{[_]:oh}]],SP=[1,v,Epe,0,[()=>wj,{[_]:g}]],CP=[1,v,cpe,0,[()=>Oj,{[_]:g}]],wP=[1,v,xpe,0,[0,{[_]:ih}]],TP=[1,v,ype,0,[()=>Pj,{[_]:g}]],EP=[1,v,Dpe,0,[()=>Dj,{[_]:g}]],DP=[1,v,Wpe,0,[0,{[_]:g}]],OP=[1,v,Kpe,0,[0,{[_]:yh}]],kP=[1,v,Jpe,0,[0,{[_]:bh}]],AP=[9,v,jne,0,()=>Ww,()=>Gw],jP=[9,v,Nne,0,()=>Kw,()=>qw],MP=[9,v,Vne,0,()=>Jw,()=>Yw],NP=[9,v,sre,0,()=>Xw,()=>Zw],PP=[9,v,zne,0,()=>Qw,()=>Fj],FP=[9,v,wre,0,()=>$w,()=>Tj],IP=[9,v,ure,0,()=>nT,()=>rT],LP=[9,v,hre,0,()=>iT,()=>aT],RP=[9,v,Kie,0,()=>TT,()=>ET],zP=[9,v,cie,0,()=>jT,()=>MT],BP=[9,v,nie,0,()=>NT,()=>PT],VP=[9,v,lie,0,()=>FT,()=>WO],HP=[9,v,die,0,()=>IT,()=>LT],UP=[9,v,mie,0,()=>RT,()=>zT],WP=[9,v,yie,0,()=>BT,()=>VT],GP=[9,v,Tie,0,()=>HT,()=>UT],KP=[9,v,Fie,0,()=>WT,()=>GT],qP=[9,v,Pie,0,()=>KT,()=>qT],JP=[9,v,Iie,0,()=>JT,()=>YT],YP=[9,v,qie,0,()=>XT,()=>nj],XP=[9,v,Jie,0,()=>ZT,()=>QT],ZP=[9,v,nae,0,()=>$T,()=>wj],QP=[9,v,rae,0,()=>eE,()=>tE],$P=[9,v,Pa,0,()=>aE,()=>Fj],eF=[9,v,so,0,()=>oE,()=>sE],tF=[9,v,ho,0,()=>cE,()=>lE],nF=[9,v,bo,0,()=>uE,()=>pE],rF=[9,v,No,0,()=>mE,()=>hE],iF=[9,v,Ho,0,()=>gE,()=>Fj],aF=[9,v,os,0,()=>_E,()=>Fj],oF=[9,v,Qo,0,()=>vE,()=>Fj],sF=[9,v,cs,0,()=>yE,()=>bE],cF=[9,v,Cs,0,()=>xE,()=>Fj],lF=[9,v,ws,0,()=>CE,()=>Fj],uF=[9,v,Us,0,()=>wE,()=>Fj],dF=[9,v,Ws,0,()=>TE,()=>Fj],fF=[9,v,ro,0,()=>EE,()=>DE],pF=[9,v,Ca,0,()=>OE,()=>kE],mF=[9,v,Sa,0,()=>AE,()=>jE],hF=[9,v,Ha,0,()=>ME,()=>NE],gF=[9,v,io,0,()=>PE,()=>FE],_F=[9,v,ao,0,()=>IE,()=>LE],vF=[9,v,no,0,()=>RE,()=>zE],yF=[9,v,za,0,()=>BE,()=>VE],bF=[9,v,po,0,()=>HE,()=>UE],xF=[9,v,Ao,0,()=>WE,()=>GE],SF=[9,v,ko,0,()=>KE,()=>qE],CF=[9,v,Ro,0,()=>JE,()=>YE],wF=[9,v,Ko,0,()=>XE,()=>ZE],TF=[9,v,ss,0,()=>QE,()=>$E],EF=[9,v,rs,0,()=>eD,()=>tD],DF=[9,v,ps,0,()=>nD,()=>rD],OF=[9,v,Ts,0,()=>iD,()=>aD],kF=[9,v,Es,0,()=>oD,()=>sD],AF=[9,v,Gs,0,()=>cD,()=>lD],jF=[9,v,Ks,0,()=>uD,()=>dD],MF=[9,v,Ba,0,()=>fD,()=>Fj],NF=[9,v,qs,0,()=>pD,()=>Tj],PF=[9,v,wa,0,()=>mD,()=>Fj],FF=[9,v,Va,0,()=>hD,()=>gD],IF=[9,v,is,0,()=>_D,()=>Fj],LF=[9,v,Fl,0,()=>zD,()=>BD],RF=[9,v,gae,0,()=>QD,()=>$D],zF=[9,v,kce,0,()=>qk,()=>Fj],BF=[9,v,Ace,0,()=>Jk,()=>Yk],VF=[9,v,Ice,0,()=>Xk,()=>Fj],HF=[9,v,Hce,0,()=>Zk,()=>Qk],UF=[9,v,Pue,0,()=>AA,()=>Fj],WF=[9,v,Fue,0,()=>PA,()=>FA],GF=[9,v,gue,0,()=>IA,()=>Fj],KF=[9,v,Jue,0,()=>HA,()=>UA],qF=[9,v,$ue,0,()=>WA,()=>GA],JF=[9,v,Lue,0,()=>ZA,()=>RA],YF=[9,v,afe,0,()=>ij,()=>aj],XF=[9,v,sfe,0,()=>sj,()=>cj],ZF=[9,v,Pfe,0,()=>mj,()=>hj],QF=e=>({apiVersion:`2016-11-15`,base64Decoder:e?.base64Decoder??Ge,base64Encoder:e?.base64Encoder??he,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??wne,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??hne,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new me}],logger:e?.logger??new Ue,protocol:e?.protocol??Bee,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.ec2`,errorTypeRegistries:Pw,xmlNamespace:`http://ec2.amazonaws.com/doc/2016-11-15`,version:`2016-11-15`,serviceTarget:`AmazonEC2`},serviceId:e?.serviceId??`EC2`,sha256:e?.sha256??ze,urlParser:e?.urlParser??Ce,utf8Decoder:e?.utf8Decoder??st,utf8Encoder:e?.utf8Encoder??ct}),$F=e=>{let t=He(e),n=()=>t().then(_e),r=QF(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Ne,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??ge({serviceId:r.serviceId,clientVersion:yne.version}),maxAttempts:e?.maxAttempts??3,region:e?.region??Te(`Region is missing`),requestHandler:xe.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||oe),streamCollector:e?.streamCollector??Pe,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},eI=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}}},tI=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),nI=(e,n)=>{let r=Object.assign(We(e),de(e),ke(e),eI(e));return n.forEach(e=>e.configure(r)),Object.assign(e,t(r),pe(r),ve(r),tI(r))},rI=class extends i{config;constructor(...[e]){let t=$F(e||{});super(t),this.initConfig=t;let n=_ne(t),i=ie(n),a=Xe(i),o=ue(a),s=Ee(o),c=nI(gne(Ie(s)),e?.extensions||[]);this.config=c,this.middlewareStack.use(be(this.config)),this.middlewareStack.use(u(this.config)),this.middlewareStack.use(se(this.config)),this.middlewareStack.use(Oe(this.config)),this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(re(this.config)),this.middlewareStack.use(we(this.config)),this.middlewareStack.use(r(this.config,{httpAuthSchemeParametersProvider:pne,identityProviderConfigProvider:async e=>new le({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(ye(this.config))}destroy(){super.destroy()}},iI=e=>typeof e==`string`&&e.indexOf(`arn:`)===0&&e.split(`:`).length>=6,aI=async(e,t,n)=>({operation:Ze(t).operation,region:await De(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function oI(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`ecr`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var sI=e=>{let t=[];return e.operation,t.push(oI(e)),t},cI=e=>{let t=tt(e);return Object.assign(t,{authSchemePreference:De(e.authSchemePreference??[])})},lI=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:`ecr`}),uI={UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},dI={name:`@aws-sdk/client-ecr`,version:`3.1109.0`,description:`AWS SDK for JavaScript Ecr Client for Node.js, Browser and React Native`,homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-ecr`,license:`Apache-2.0`,author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/sdk-for-javascript/`},repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-ecr`},files:[`dist-*/**`],sideEffects:!1,main:`./dist-cjs/index.js`,module:`./dist-es/index.js`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},types:`./dist-types/index.d.ts`,typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline`,"build:es":`premove dist-es && tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`premove dist-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`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service`,"test:e2e":`yarn g:vitest run -c vitest.config.e2e.mts`,"test:e2e:watch":`yarn g:vitest watch -c vitest.config.e2e.mts`,"test:index":`tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs`},dependencies:{"@aws-sdk/core":`^3.977.7`,"@aws-sdk/credential-provider-node":`^3.972.79`,"@aws-sdk/types":`^3.974.3`,"@smithy/core":`^3.31.1`,"@smithy/fetch-http-handler":`^5.6.13`,"@smithy/node-http-handler":`^4.9.13`,"@smithy/types":`^4.16.1`,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:`~6.0.3`},engines:{node:`>=20.0.0`}},fI=`ref`,pI=-1,mI=!0,hI=`isSet`,gI=`PartitionResult`,_I=`stringEquals`,vI=`booleanEquals`,yI=`getAttr`,bI={[fI]:`Endpoint`},xI={fn:yI,argv:[{[fI]:gI},`name`]},SI={[fI]:gI},CI={},wI=[{[fI]:`Region`}],TI={conditions:[[hI,[bI]],[hI,wI],[`aws.partition`,wI,gI],[_I,[xI,`aws-eusc`]],[_I,[xI,`aws-iso-f`]],[_I,[xI,`aws-iso-e`]],[_I,[xI,`aws-iso-b`]],[_I,[xI,`aws-iso`]],[_I,[xI,`aws-cn`]],[_I,[xI,`aws-us-gov`]],[_I,[xI,`aws`]],[vI,[{[fI]:`UseFIPS`},mI]],[vI,[{fn:yI,argv:[SI,`supportsFIPS`]},mI]],[vI,[{[fI]:`UseDualStack`},mI]],[vI,[{fn:yI,argv:[SI,`supportsDualStack`]},mI]]],results:[[pI],[pI,`Invalid Configuration: FIPS and custom endpoint are not supported`],[pI,`Invalid Configuration: Dualstack and custom endpoint are not supported`],[bI,CI],[`https://api.ecr.{Region}.{PartitionResult#dnsSuffix}`,CI],[`https://ecr.{Region}.{PartitionResult#dualStackDnsSuffix}`,CI],[`https://api.ecr-fips.{Region}.{PartitionResult#dnsSuffix}`,CI],[`https://ecr-fips.{Region}.{PartitionResult#dualStackDnsSuffix}`,CI],[`https://api.ecr-fips.{Region}.{PartitionResult#dualStackDnsSuffix}`,CI],[pI,`FIPS and DualStack are enabled, but this partition does not support one or both`],[pI,`FIPS is enabled but this partition does not support FIPS`],[`https://api.ecr.{Region}.{PartitionResult#dualStackDnsSuffix}`,CI],[pI,`DualStack is enabled but this partition does not support DualStack`],[pI,`Invalid Configuration: Missing Region`]]},EI=2,DI=new Int32Array([-1,1,-1,0,23,3,1,4,100000013,2,5,100000013,3,20,6,4,20,7,5,20,8,6,20,9,7,20,10,8,20,11,9,20,12,10,20,13,11,16,14,13,15,100000004,14,100000011,100000012,12,18,17,13,100000009,100000010,13,19,100000006,14,100000008,100000009,11,22,21,13,100000005,100000004,13,100000007,100000006,11,100000001,24,13,100000002,100000003]),OI=Re.from(DI,EI,TI.conditions,TI.results),kI=new Be({size:50,params:[`Endpoint`,`Region`,`UseDualStack`,`UseFIPS`]}),AI=(e,t={})=>kI.get(e,()=>Ye(OI,{endpointParams:e,logger:t.logger}));qe.aws=fe;var y=class e extends te{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},jI=class e extends y{name=`InvalidParameterException`;$fault=`client`;constructor(t){super({name:`InvalidParameterException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},MI=class e extends y{name=`RepositoryNotFoundException`;$fault=`client`;constructor(t){super({name:`RepositoryNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},NI=class e extends y{name=`ServerException`;$fault=`server`;constructor(t){super({name:`ServerException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype)}},PI=class e extends y{name=`LimitExceededException`;$fault=`client`;constructor(t){super({name:`LimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},FI=class e extends y{name=`UnableToGetUpstreamImageException`;$fault=`client`;constructor(t){super({name:`UnableToGetUpstreamImageException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},II=class e extends y{name=`ValidationException`;$fault=`client`;constructor(t){super({name:`ValidationException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},LI=class e extends y{name=`EmptyUploadException`;$fault=`client`;constructor(t){super({name:`EmptyUploadException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},RI=class e extends y{name=`InvalidLayerException`;$fault=`client`;constructor(t){super({name:`InvalidLayerException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},zI=class e extends y{name=`KmsException`;$fault=`client`;kmsError;constructor(t){super({name:`KmsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.kmsError=t.kmsError}},BI=class e extends y{name=`LayerAlreadyExistsException`;$fault=`client`;constructor(t){super({name:`LayerAlreadyExistsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},VI=class e extends y{name=`LayerPartTooSmallException`;$fault=`client`;constructor(t){super({name:`LayerPartTooSmallException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},HI=class e extends y{name=`UploadNotFoundException`;$fault=`client`;constructor(t){super({name:`UploadNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},UI=class e extends y{name=`PullThroughCacheRuleAlreadyExistsException`;$fault=`client`;constructor(t){super({name:`PullThroughCacheRuleAlreadyExistsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},WI=class e extends y{name=`SecretNotFoundException`;$fault=`client`;constructor(t){super({name:`SecretNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},GI=class e extends y{name=`UnableToAccessSecretException`;$fault=`client`;constructor(t){super({name:`UnableToAccessSecretException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},KI=class e extends y{name=`UnableToDecryptSecretValueException`;$fault=`client`;constructor(t){super({name:`UnableToDecryptSecretValueException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},qI=class e extends y{name=`UnsupportedUpstreamRegistryException`;$fault=`client`;constructor(t){super({name:`UnsupportedUpstreamRegistryException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},JI=class e extends y{name=`InvalidTagParameterException`;$fault=`client`;constructor(t){super({name:`InvalidTagParameterException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},YI=class e extends y{name=`RepositoryAlreadyExistsException`;$fault=`client`;constructor(t){super({name:`RepositoryAlreadyExistsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},XI=class e extends y{name=`TooManyTagsException`;$fault=`client`;constructor(t){super({name:`TooManyTagsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},ZI=class e extends y{name=`TemplateAlreadyExistsException`;$fault=`client`;constructor(t){super({name:`TemplateAlreadyExistsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},QI=class e extends y{name=`LifecyclePolicyNotFoundException`;$fault=`client`;constructor(t){super({name:`LifecyclePolicyNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},$I=class e extends y{name=`PullThroughCacheRuleNotFoundException`;$fault=`client`;constructor(t){super({name:`PullThroughCacheRuleNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},eL=class e extends y{name=`RegistryPolicyNotFoundException`;$fault=`client`;constructor(t){super({name:`RegistryPolicyNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},tL=class e extends y{name=`RepositoryNotEmptyException`;$fault=`client`;constructor(t){super({name:`RepositoryNotEmptyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},nL=class e extends y{name=`TemplateNotFoundException`;$fault=`client`;constructor(t){super({name:`TemplateNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},rL=class e extends y{name=`RepositoryPolicyNotFoundException`;$fault=`client`;constructor(t){super({name:`RepositoryPolicyNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},iL=class e extends y{name=`SigningConfigurationNotFoundException`;$fault=`client`;constructor(t){super({name:`SigningConfigurationNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},aL=class e extends y{name=`ExclusionNotFoundException`;$fault=`client`;constructor(t){super({name:`ExclusionNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},oL=class e extends y{name=`ImageNotFoundException`;$fault=`client`;constructor(t){super({name:`ImageNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},sL=class e extends y{name=`ScanNotFoundException`;$fault=`client`;constructor(t){super({name:`ScanNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},cL=class e extends y{name=`LayerInaccessibleException`;$fault=`client`;constructor(t){super({name:`LayerInaccessibleException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},lL=class e extends y{name=`LayersNotFoundException`;$fault=`client`;constructor(t){super({name:`LayersNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},uL=class e extends y{name=`UnableToGetUpstreamLayerException`;$fault=`client`;constructor(t){super({name:`UnableToGetUpstreamLayerException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},dL=class e extends y{name=`LifecyclePolicyPreviewNotFoundException`;$fault=`client`;constructor(t){super({name:`LifecyclePolicyPreviewNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},fL=class e extends y{name=`UnableToListUpstreamImageReferrersException`;$fault=`client`;constructor(t){super({name:`UnableToListUpstreamImageReferrersException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},pL=class e extends y{name=`ImageAlreadyExistsException`;$fault=`client`;constructor(t){super({name:`ImageAlreadyExistsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},mL=class e extends y{name=`ImageDigestDoesNotMatchException`;$fault=`client`;constructor(t){super({name:`ImageDigestDoesNotMatchException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},hL=class e extends y{name=`ImageTagAlreadyExistsException`;$fault=`client`;constructor(t){super({name:`ImageTagAlreadyExistsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},gL=class e extends y{name=`ReferencedImagesNotFoundException`;$fault=`client`;constructor(t){super({name:`ReferencedImagesNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},_L=class e extends y{name=`BlockedByOrganizationPolicyException`;$fault=`client`;constructor(t){super({name:`BlockedByOrganizationPolicyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},vL=class e extends y{name=`ExclusionAlreadyExistsException`;$fault=`client`;constructor(t){super({name:`ExclusionAlreadyExistsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},yL=class e extends y{name=`ImageArchivedException`;$fault=`client`;constructor(t){super({name:`ImageArchivedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},bL=class e extends y{name=`UnsupportedImageTypeException`;$fault=`client`;constructor(t){super({name:`UnsupportedImageTypeException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},xL=class e extends y{name=`LifecyclePolicyPreviewInProgressException`;$fault=`client`;constructor(t){super({name:`LifecyclePolicyPreviewInProgressException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},SL=class e extends y{name=`ImageStorageClassUpdateNotSupportedException`;$fault=`client`;constructor(t){super({name:`ImageStorageClassUpdateNotSupportedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},CL=class e extends y{name=`InvalidLayerPartException`;$fault=`client`;registryId;repositoryName;uploadId;lastValidByteReceived;constructor(t){super({name:`InvalidLayerPartException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.registryId=t.registryId,this.repositoryName=t.repositoryName,this.uploadId=t.uploadId,this.lastValidByteReceived=t.lastValidByteReceived}},wL=`BlockedByOrganizationPolicyException`,TL=`BatchDeleteImage`,EL=`BatchDeleteImageRequest`,DL=`BatchDeleteImageResponse`,OL=`CreateRepository`,kL=`CreateRepositoryRequest`,AL=`CreateRepositoryResponse`,jL=`DescribeImages`,ML=`DescribeImagesFilter`,NL=`DescribeImagesRequest`,PL=`DescribeImagesResponse`,FL=`DeleteLifecyclePolicy`,IL=`DeleteLifecyclePolicyRequest`,LL=`DeleteLifecyclePolicyResponse`,RL=`DeleteRepository`,zL=`DeleteRepositoryPolicyRequest`,BL=`DeleteRepositoryPolicyResponse`,VL=`DeleteRepositoryPolicy`,HL=`DeleteRepositoryRequest`,UL=`DeleteRepositoryResponse`,WL=`DescribeRepositoriesRequest`,GL=`DescribeRepositoriesResponse`,KL=`DescribeRepositories`,qL=`ExclusionAlreadyExistsException`,JL=`EncryptionConfiguration`,YL=`ExclusionNotFoundException`,XL=`EmptyUploadException`,ZL=`GetLifecyclePolicy`,QL=`GetLifecyclePolicyPreview`,$L=`GetLifecyclePolicyPreviewRequest`,eR=`GetLifecyclePolicyPreviewResponse`,tR=`GetLifecyclePolicyRequest`,nR=`GetLifecyclePolicyResponse`,rR=`GetRepositoryPolicyRequest`,iR=`GetRepositoryPolicyResponse`,aR=`GetRepositoryPolicy`,oR=`ImageArchivedException`,sR=`ImageAlreadyExistsException`,cR=`ImageDetail`,lR=`ImageDigestDoesNotMatchException`,uR=`ImageDetailList`,dR=`ImageFailure`,fR=`ImageFailureList`,pR=`ImageIdentifier`,mR=`ImageIdentifierList`,hR=`InvalidLayerException`,gR=`InvalidLayerPartException`,_R=`ImageNotFoundException`,vR=`InvalidParameterException`,yR=`ImageScanningConfiguration`,bR=`ImageStorageClassUpdateNotSupportedException`,xR=`ImageScanFindingsSummary`,SR=`ImageScanStatus`,CR=`ImageTagAlreadyExistsException`,wR=`ImageTagMutabilityExclusionFilter`,TR=`ImageTagMutabilityExclusionFilters`,ER=`InvalidTagParameterException`,DR=`Key`,OR=`KmsException`,kR=`LayerAlreadyExistsException`,AR=`LimitExceededException`,jR=`LayerInaccessibleException`,MR=`LayersNotFoundException`,NR=`LifecyclePolicyNotFoundException`,PR=`LifecyclePolicyPreviewFilter`,FR=`LifecyclePolicyPreviewInProgressException`,IR=`LifecyclePolicyPreviewNotFoundException`,LR=`LifecyclePolicyPreviewResult`,RR=`LifecyclePolicyPreviewResultList`,zR=`LifecyclePolicyPreviewSummary`,BR=`LifecyclePolicyRuleAction`,VR=`LayerPartTooSmallException`,HR=`PutImageTagMutability`,UR=`PutImageTagMutabilityRequest`,WR=`PutImageTagMutabilityResponse`,GR=`PutLifecyclePolicy`,KR=`PutLifecyclePolicyRequest`,qR=`PutLifecyclePolicyResponse`,JR=`PullThroughCacheRuleAlreadyExistsException`,YR=`PullThroughCacheRuleNotFoundException`,XR=`RepositoryAlreadyExistsException`,ZR=`ReferencedImagesNotFoundException`,QR=`RepositoryList`,$R=`RepositoryNotEmptyException`,ez=`RepositoryNotFoundException`,tz=`RegistryPolicyNotFoundException`,nz=`RepositoryPolicyNotFoundException`,rz=`Repository`,iz=`SigningConfigurationNotFoundException`,az=`ServerException`,oz=`ScanNotFoundException`,sz=`SecretNotFoundException`,cz=`SetRepositoryPolicy`,lz=`SetRepositoryPolicyRequest`,uz=`SetRepositoryPolicyResponse`,dz=`Tag`,fz=`TemplateAlreadyExistsException`,pz=`TransitioningImageTotalCount`,mz=`TransitioningImageTotalCounts`,hz=`TagList`,gz=`TooManyTagsException`,_z=`TemplateNotFoundException`,vz=`UnsupportedImageTypeException`,yz=`UploadNotFoundException`,bz=`UnableToAccessSecretException`,xz=`UnableToDecryptSecretValueException`,Sz=`UnableToGetUpstreamImageException`,Cz=`UnableToGetUpstreamLayerException`,wz=`UnableToListUpstreamImageReferrersException`,Tz=`UnsupportedUpstreamRegistryException`,Ez=`Value`,Dz=`ValidationException`,Oz=`artifactMediaType`,kz=`appliedRulePriority`,Az=`action`,b=`client`,jz=`createdAt`,Mz=`description`,x=`error`,Nz=`encryptionConfiguration`,Pz=`expiringImageTotalCount`,Fz=`encryptionType`,Iz=`failures`,Lz=`failureCode`,Rz=`failureReason`,zz=`findingSeverityCounts`,Bz=`filterType`,Vz=`filter`,Hz=`force`,Uz=`httpError`,Wz=`imageDetails`,Gz=`imageDigest`,Kz=`imageIds`,qz=`imageId`,Jz=`imageManifestMediaType`,Yz=`imagePushedAt`,Xz=`imageStatus`,Zz=`imageScanningConfiguration`,Qz=`imageScanCompletedAt`,$z=`imageScanFindingsSummary`,eB=`imageSizeInBytes`,tB=`imageScanStatus`,nB=`imageTags`,rB=`imageTotalCount`,iB=`imageTagMutability`,aB=`imageTagMutabilityExclusionFilters`,oB=`imageTag`,sB=`kmsError`,cB=`kmsKey`,lB=`lastArchivedAt`,uB=`lastActivatedAt`,dB=`lastEvaluatedAt`,fB=`lifecyclePolicyText`,pB=`lastRecordedPullTime`,mB=`lastValidByteReceived`,S=`message`,hB=`maxResults`,gB=`nextToken`,_B=`previewResults`,vB=`policyText`,yB=`repositoryArn`,bB=`registryId`,xB=`repositoryName`,SB=`repositoryNames`,CB=`repositoryUri`,wB=`repository`,TB=`repositories`,EB=`smithy.ts.sdk.synthetic.com.amazonaws.ecr`,DB=`storageClass`,OB=`subjectManifestDigest`,kB=`scanOnPush`,AB=`server`,jB=`status`,MB=`summary`,NB=`tags`,PB=`transitioningImageTotalCounts`,FB=`tagStatus`,IB=`targetStorageClass`,LB=`type`,RB=`uploadId`,zB=`vulnerabilitySourceUpdatedAt`,C=`com.amazonaws.ecr`,BB=ot.for(EB),VB=[-3,EB,`ECRServiceException`,0,[],[]];BB.registerError(VB,y);var w=ot.for(C),HB=[-3,C,wL,{[x]:b},[S],[0]];w.registerError(HB,_L);var UB=[-3,C,XL,{[x]:b},[S],[0]];w.registerError(UB,LI);var WB=[-3,C,qL,{[x]:b},[S],[0]];w.registerError(WB,vL);var GB=[-3,C,YL,{[x]:b},[S],[0]];w.registerError(GB,aL);var KB=[-3,C,sR,{[x]:b},[S],[0]];w.registerError(KB,pL);var qB=[-3,C,oR,{[x]:b},[S],[0]];w.registerError(qB,yL);var JB=[-3,C,lR,{[x]:b},[S],[0]];w.registerError(JB,mL);var YB=[-3,C,_R,{[x]:b},[S],[0]];w.registerError(YB,oL);var XB=[-3,C,bR,{[x]:b},[S],[0]];w.registerError(XB,SL);var ZB=[-3,C,CR,{[x]:b},[S],[0]];w.registerError(ZB,hL);var QB=[-3,C,hR,{[x]:b},[S],[0]];w.registerError(QB,RI);var $B=[-3,C,gR,{[x]:b},[bB,xB,RB,mB,S],[0,0,0,1,0]];w.registerError($B,CL);var eV=[-3,C,vR,{[x]:b},[S],[0]];w.registerError(eV,jI);var tV=[-3,C,ER,{[x]:b},[S],[0]];w.registerError(tV,JI);var nV=[-3,C,OR,{[x]:b},[S,sB],[0,0]];w.registerError(nV,zI);var rV=[-3,C,kR,{[x]:b},[S],[0]];w.registerError(rV,BI);var iV=[-3,C,jR,{[x]:b},[S],[0]];w.registerError(iV,cL);var aV=[-3,C,VR,{[x]:b},[S],[0]];w.registerError(aV,VI);var oV=[-3,C,MR,{[x]:b},[S],[0]];w.registerError(oV,lL);var sV=[-3,C,NR,{[x]:b},[S],[0]];w.registerError(sV,QI);var cV=[-3,C,FR,{[x]:b},[S],[0]];w.registerError(cV,xL);var lV=[-3,C,IR,{[x]:b},[S],[0]];w.registerError(lV,dL);var uV=[-3,C,AR,{[x]:b},[S],[0]];w.registerError(uV,PI);var dV=[-3,C,JR,{[x]:b},[S],[0]];w.registerError(dV,UI);var fV=[-3,C,YR,{[x]:b},[S],[0]];w.registerError(fV,$I);var pV=[-3,C,ZR,{[x]:b},[S],[0]];w.registerError(pV,gL);var mV=[-3,C,tz,{[x]:b},[S],[0]];w.registerError(mV,eL);var hV=[-3,C,XR,{[x]:b},[S],[0]];w.registerError(hV,YI);var gV=[-3,C,$R,{[x]:b},[S],[0]];w.registerError(gV,tL);var _V=[-3,C,ez,{[x]:b},[S],[0]];w.registerError(_V,MI);var vV=[-3,C,nz,{[x]:b},[S],[0]];w.registerError(vV,rL);var yV=[-3,C,oz,{[x]:b},[S],[0]];w.registerError(yV,sL);var bV=[-3,C,sz,{[x]:b},[S],[0]];w.registerError(bV,WI);var xV=[-3,C,az,{[x]:AB},[S],[0]];w.registerError(xV,NI);var SV=[-3,C,iz,{[x]:b},[S],[0]];w.registerError(SV,iL);var CV=[-3,C,fz,{[x]:b},[S],[0]];w.registerError(CV,ZI);var wV=[-3,C,_z,{[x]:b},[S],[0]];w.registerError(wV,nL);var TV=[-3,C,gz,{[x]:b},[S],[0]];w.registerError(TV,XI);var EV=[-3,C,bz,{[x]:b},[S],[0]];w.registerError(EV,GI);var DV=[-3,C,xz,{[x]:b},[S],[0]];w.registerError(DV,KI);var OV=[-3,C,Sz,{[x]:b},[S],[0]];w.registerError(OV,FI);var kV=[-3,C,Cz,{[x]:b},[S],[0]];w.registerError(kV,uL);var AV=[-3,C,wz,{[x]:b},[S],[0]];w.registerError(AV,fL);var jV=[-3,C,vz,{[x]:b},[S],[0]];w.registerError(jV,bL);var MV=[-3,C,Tz,{[x]:b},[S],[0]];w.registerError(MV,qI);var NV=[-3,C,yz,{[x]:b},[S],[0]];w.registerError(NV,HI);var PV=[-3,C,Dz,{[x]:b,[Uz]:400},[S],[0]];w.registerError(PV,II);var FV=[BB,w],IV=[3,C,EL,0,[xB,Kz,bB],[0,()=>EH,0],2],LV=[3,C,DL,0,[Kz,Iz],[()=>EH,()=>TH]],RV=[3,C,kL,0,[xB,bB,NB,iB,aB,Zz,Nz],[0,0,()=>AH,0,()=>DH,()=>cH,()=>ZV],1],zV=[3,C,AL,0,[wB],[()=>yH]],BV=[3,C,IL,0,[xB,bB],[0,0],1],VV=[3,C,LL,0,[bB,xB,fB,dB],[0,0,0,4]],HV=[3,C,zL,0,[xB,bB],[0,0],1],UV=[3,C,BL,0,[bB,xB,vB],[0,0,0]],WV=[3,C,HL,0,[xB,bB,Hz],[0,0,2],1],GV=[3,C,UL,0,[wB],[()=>yH]],KV=[3,C,ML,0,[FB,Xz],[0,0]],qV=[3,C,NL,0,[xB,bB,Kz,gB,hB,Vz],[0,0,()=>EH,0,1,()=>KV],1],JV=[3,C,PL,0,[Wz,gB],[()=>wH,0]],YV=[3,C,WL,0,[bB,SB,gB,hB],[0,64,0,1]],XV=[3,C,GL,0,[TB,gB],[()=>kH,0]],ZV=[3,C,JL,0,[Fz,cB],[0,0],1],QV=[3,C,$L,0,[xB,bB,Kz,gB,hB,Vz],[0,0,()=>EH,0,1,()=>dH],1],$V=[3,C,eR,0,[bB,xB,fB,jB,gB,_B,MB],[0,0,0,0,0,()=>OH,()=>pH]],eH=[3,C,tR,0,[xB,bB],[0,0],1],tH=[3,C,nR,0,[bB,xB,fB,dB],[0,0,0,4]],nH=[3,C,rR,0,[xB,bB],[0,0],1],rH=[3,C,iR,0,[bB,xB,vB],[0,0,0]],iH=[3,C,cR,0,[bB,xB,Gz,nB,eB,Yz,tB,$z,Jz,Oz,pB,OB,Xz,lB,uB],[0,0,0,64,1,4,()=>lH,()=>sH,0,0,4,0,0,4,4]],aH=[3,C,dR,0,[qz,Lz,Rz],[()=>oH,0,0]],oH=[3,C,pR,0,[Gz,oB],[0,0]],sH=[3,C,xR,0,[Qz,zB,zz],[4,4,129]],cH=[3,C,yR,0,[kB],[2]],lH=[3,C,SR,0,[jB,Mz],[0,0]],uH=[3,C,wR,0,[Bz,Vz],[0,0],2],dH=[3,C,PR,0,[FB],[0]],fH=[3,C,LR,0,[nB,Gz,Yz,Az,kz,DB],[64,0,4,()=>mH,1,0]],pH=[3,C,zR,0,[Pz,PB],[1,()=>jH]],mH=[3,C,BR,0,[LB,IB],[0,0]],hH=[3,C,UR,0,[xB,iB,bB,aB],[0,0,0,()=>DH],2],gH=[3,C,WR,0,[bB,xB,iB,aB],[0,0,0,()=>DH]],_H=[3,C,KR,0,[xB,fB,bB],[0,0,0],2],vH=[3,C,qR,0,[bB,xB,fB],[0,0,0]],yH=[3,C,rz,0,[yB,bB,xB,CB,jz,iB,aB,Zz,Nz],[0,0,0,0,4,0,()=>DH,()=>cH,()=>ZV]],bH=[3,C,lz,0,[xB,vB,bB,Hz],[0,0,0,2],2],xH=[3,C,uz,0,[bB,xB,vB],[0,0,0]],SH=[3,C,dz,0,[DR,Ez],[0,0],2],CH=[3,C,pz,0,[IB,rB],[0,1]],wH=[1,C,uR,0,()=>iH],TH=[1,C,fR,0,()=>aH],EH=[1,C,mR,0,()=>oH],DH=[1,C,TR,0,()=>uH],OH=[1,C,RR,0,()=>fH],kH=[1,C,QR,0,()=>yH],AH=[1,C,hz,0,()=>SH],jH=[1,C,mz,0,()=>CH],MH=[9,C,TL,0,()=>IV,()=>LV],NH=[9,C,OL,0,()=>RV,()=>zV],PH=[9,C,FL,0,()=>BV,()=>VV],FH=[9,C,RL,0,()=>WV,()=>GV],IH=[9,C,VL,0,()=>HV,()=>UV],LH=[9,C,jL,0,()=>qV,()=>JV],RH=[9,C,KL,0,()=>YV,()=>XV],zH=[9,C,ZL,0,()=>eH,()=>tH],BH=[9,C,QL,0,()=>QV,()=>$V],VH=[9,C,aR,0,()=>nH,()=>rH],HH=[9,C,HR,0,()=>hH,()=>gH],UH=[9,C,GR,0,()=>_H,()=>vH],WH=[9,C,cz,0,()=>bH,()=>xH],GH=e=>({apiVersion:`2015-09-21`,base64Decoder:e?.base64Decoder??Ge,base64Encoder:e?.base64Encoder??he,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??AI,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??sI,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new me}],logger:e?.logger??new Ue,protocol:e?.protocol??Yt,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.ecr`,errorTypeRegistries:FV,xmlNamespace:`http://ecr.amazonaws.com/doc/2015-09-21/`,version:`2015-09-21`,serviceTarget:`AmazonEC2ContainerRegistry_V20150921`},serviceId:e?.serviceId??`ECR`,sha256:e?.sha256??ze,urlParser:e?.urlParser??Ce,utf8Decoder:e?.utf8Decoder??st,utf8Encoder:e?.utf8Encoder??ct}),KH=e=>{let t=He(e),n=()=>t().then(_e),r=GH(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Ne,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??ge({serviceId:r.serviceId,clientVersion:dI.version}),maxAttempts:e?.maxAttempts??3,region:e?.region??Te(`Region is missing`),requestHandler:xe.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||oe),streamCollector:e?.streamCollector??Pe,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},qH=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}}},JH=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),YH=(e,n)=>{let r=Object.assign(We(e),de(e),ke(e),qH(e));return n.forEach(e=>e.configure(r)),Object.assign(e,t(r),pe(r),ve(r),JH(r))},XH=class extends i{config;constructor(...[e]){let t=KH(e||{});super(t),this.initConfig=t;let n=lI(t),i=ie(n),a=Xe(i),o=ue(a),s=Ee(o),c=YH(cI(Ie(s)),e?.extensions||[]);this.config=c,this.middlewareStack.use(be(this.config)),this.middlewareStack.use(u(this.config)),this.middlewareStack.use(se(this.config)),this.middlewareStack.use(Oe(this.config)),this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(re(this.config)),this.middlewareStack.use(we(this.config)),this.middlewareStack.use(r(this.config,{httpAuthSchemeParametersProvider:aI,identityProviderConfigProvider:async e=>new le({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(ye(this.config))}destroy(){super.destroy()}},ZH=async(e,t,n)=>({operation:Ze(t).operation,region:await De(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function QH(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`ecs`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var $H=e=>{let t=[];return e.operation,t.push(QH(e)),t},eU=e=>{let t=tt(e);return Object.assign(t,{authSchemePreference:De(e.authSchemePreference??[])})},tU=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:`ecs`}),nU={UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},rU={name:`@aws-sdk/client-ecs`,version:`3.1109.0`,description:`AWS SDK for JavaScript Ecs Client for Node.js, Browser and React Native`,homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-ecs`,license:`Apache-2.0`,author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/sdk-for-javascript/`},repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-ecs`},files:[`dist-*/**`],sideEffects:!1,main:`./dist-cjs/index.js`,module:`./dist-es/index.js`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},types:`./dist-types/index.d.ts`,typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline`,"build:es":`premove dist-es && tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`premove dist-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`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service`,"test:e2e":`yarn g:vitest run -c vitest.config.e2e.mts`,"test:e2e:watch":`yarn g:vitest watch -c vitest.config.e2e.mts`,"test:index":`tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs`},dependencies:{"@aws-sdk/core":`^3.977.7`,"@aws-sdk/credential-provider-node":`^3.972.79`,"@aws-sdk/types":`^3.974.3`,"@smithy/core":`^3.31.1`,"@smithy/fetch-http-handler":`^5.6.13`,"@smithy/node-http-handler":`^4.9.13`,"@smithy/types":`^4.16.1`,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:`~6.0.3`},engines:{node:`>=20.0.0`}},iU=`ref`,aU=-1,oU=!0,sU=`isSet`,cU=`PartitionResult`,lU=`booleanEquals`,uU=`getAttr`,dU={[iU]:`Endpoint`},fU={[iU]:cU},pU={},mU=[{[iU]:`Region`}],hU={conditions:[[sU,[dU]],[sU,mU],[`aws.partition`,mU,cU],[lU,[{[iU]:`UseFIPS`},oU]],[lU,[{[iU]:`UseDualStack`},oU]],[lU,[{fn:uU,argv:[fU,`supportsDualStack`]},oU]],[lU,[{fn:uU,argv:[fU,`supportsFIPS`]},oU]]],results:[[aU],[aU,`Invalid Configuration: FIPS and custom endpoint are not supported`],[aU,`Invalid Configuration: Dualstack and custom endpoint are not supported`],[dU,pU],[`https://ecs-fips.{Region}.{PartitionResult#dualStackDnsSuffix}`,pU],[aU,`FIPS and DualStack are enabled, but this partition does not support one or both`],[`https://ecs-fips.{Region}.{PartitionResult#dnsSuffix}`,pU],[aU,`FIPS is enabled but this partition does not support FIPS`],[`https://ecs.{Region}.{PartitionResult#dualStackDnsSuffix}`,pU],[aU,`DualStack is enabled but this partition does not support DualStack`],[`https://ecs.{Region}.{PartitionResult#dnsSuffix}`,pU],[aU,`Invalid Configuration: Missing Region`]]},gU=2,_U=new Int32Array([-1,1,-1,0,12,3,1,4,100000011,2,5,100000011,3,8,6,4,7,100000010,5,100000008,100000009,4,10,9,6,100000006,100000007,5,11,100000005,6,100000004,100000005,3,100000001,13,4,100000002,100000003]),vU=Re.from(_U,gU,hU.conditions,hU.results),yU=new Be({size:50,params:[`Endpoint`,`Region`,`UseDualStack`,`UseFIPS`]}),bU=(e,t={})=>yU.get(e,()=>Ye(vU,{endpointParams:e,logger:t.logger}));qe.aws=fe;var T=class e extends te{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},xU=class e extends T{name=`AccessDeniedException`;$fault=`client`;constructor(t){super({name:`AccessDeniedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},SU=class e extends T{name=`ClientException`;$fault=`client`;constructor(t){super({name:`ClientException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},CU=class e extends T{name=`ClusterNotFoundException`;$fault=`client`;constructor(t){super({name:`ClusterNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},wU=class e extends T{name=`InvalidParameterException`;$fault=`client`;constructor(t){super({name:`InvalidParameterException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},TU=class e extends T{name=`LimitExceededException`;$fault=`client`;constructor(t){super({name:`LimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},EU=class e extends T{name=`ServerException`;$fault=`server`;constructor(t){super({name:`ServerException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype)}},DU=class e extends T{name=`UnsupportedFeatureException`;$fault=`client`;constructor(t){super({name:`UnsupportedFeatureException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},OU=class e extends T{name=`UpdateInProgressException`;$fault=`client`;constructor(t){super({name:`UpdateInProgressException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},kU=class e extends T{name=`NamespaceNotFoundException`;$fault=`client`;constructor(t){super({name:`NamespaceNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},AU=class e extends T{name=`ClusterContainsCapacityProviderException`;$fault=`client`;constructor(t){super({name:`ClusterContainsCapacityProviderException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},jU=class e extends T{name=`ClusterContainsContainerInstancesException`;$fault=`client`;constructor(t){super({name:`ClusterContainsContainerInstancesException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},MU=class e extends T{name=`ClusterContainsServicesException`;$fault=`client`;constructor(t){super({name:`ClusterContainsServicesException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},NU=class e extends T{name=`ClusterContainsTasksException`;$fault=`client`;constructor(t){super({name:`ClusterContainsTasksException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},PU=class e extends T{name=`TargetNotConnectedException`;$fault=`client`;constructor(t){super({name:`TargetNotConnectedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},FU=class e extends T{name=`ResourceInUseException`;$fault=`client`;constructor(t){super({name:`ResourceInUseException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},IU=class e extends T{name=`TargetNotFoundException`;$fault=`client`;constructor(t){super({name:`TargetNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},LU=class e extends T{name=`ServiceNotFoundException`;$fault=`client`;constructor(t){super({name:`ServiceNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},RU=class e extends T{name=`AttributeLimitExceededException`;$fault=`client`;constructor(t){super({name:`AttributeLimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},zU=class e extends T{name=`MissingVersionException`;$fault=`client`;constructor(t){super({name:`MissingVersionException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},BU=class e extends T{name=`NoUpdateAvailableException`;$fault=`client`;constructor(t){super({name:`NoUpdateAvailableException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},VU=class e extends T{name=`ServiceDeploymentNotFoundException`;$fault=`client`;constructor(t){super({name:`ServiceDeploymentNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},HU=class e extends T{name=`PlatformUnknownException`;$fault=`client`;constructor(t){super({name:`PlatformUnknownException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},UU=class e extends T{name=`DaemonNotActiveException`;$fault=`client`;constructor(t){super({name:`DaemonNotActiveException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},WU=class e extends T{name=`DaemonNotFoundException`;$fault=`client`;constructor(t){super({name:`DaemonNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},GU=class e extends T{name=`PlatformTaskDefinitionIncompatibilityException`;$fault=`client`;constructor(t){super({name:`PlatformTaskDefinitionIncompatibilityException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},KU=class e extends T{name=`ServiceNotActiveException`;$fault=`client`;constructor(t){super({name:`ServiceNotActiveException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},qU=class e extends T{name=`ResourceNotFoundException`;$fault=`client`;constructor(t){super({name:`ResourceNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},JU=class e extends T{name=`ConflictException`;$fault=`client`;resourceIds;constructor(t){super({name:`ConflictException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.resourceIds=t.resourceIds}},YU=class e extends T{name=`TaskSetNotFoundException`;$fault=`client`;constructor(t){super({name:`TaskSetNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},XU=class e extends T{name=`BlockedException`;$fault=`client`;constructor(t){super({name:`BlockedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},ZU=`Attachment`,QU=`AdvancedConfiguration`,$U=`AttachmentDetails`,eW=`AccessDeniedException`,tW=`AttributeLimitExceededException`,nW=`AwsVpcConfiguration`,rW=`Attribute`,iW=`Attachments`,aW=`Attributes`,oW=`BlockedException`,sW=`Cluster`,cW=`CanaryConfiguration`,lW=`ClusterContainsContainerInstancesException`,uW=`ClusterContainsCapacityProviderException`,dW=`CreateClusterRequest`,fW=`CreateClusterResponse`,pW=`ClusterContainsServicesException`,mW=`ClusterContainsTasksException`,hW=`ClusterConfiguration`,gW=`CreateCluster`,_W=`ContainerDefinition`,vW=`ContainerDependency`,yW=`ContainerDefinitions`,bW=`ContainerDependencies`,xW=`ClientException`,SW=`ConflictException`,CW=`ContainerInstanceHealthStatus`,wW=`ContainerInstance`,TW=`ContainerInstances`,EW=`ClusterNotFoundException`,DW=`ContainerOverride`,OW=`ContainerOverrides`,kW=`CapacityProviderStrategy`,AW=`CapacityProviderStrategyItem`,jW=`ContainerRestartPolicy`,MW=`ClusterSetting`,NW=`ClusterServiceConnectDefaults`,PW=`ClusterServiceConnectDefaultsRequest`,FW=`CreateServiceRequest`,IW=`CreateServiceResponse`,LW=`ClusterSettings`,RW=`CreateService`,zW=`Clusters`,BW=`Container`,VW=`Containers`,HW=`Deployment`,UW=`DeploymentAlarms`,WW=`DeploymentConfiguration`,GW=`DeploymentCircuitBreaker`,KW=`DeregisterContainerInstanceRequest`,qW=`DeregisterContainerInstanceResponse`,JW=`DescribeContainerInstancesRequest`,YW=`DescribeContainerInstancesResponse`,XW=`DeregisterContainerInstance`,ZW=`DescribeContainerInstances`,QW=`DeleteClusterRequest`,$W=`DeleteClusterResponse`,eG=`DescribeClustersRequest`,tG=`DescribeClustersResponse`,nG=`DeploymentController`,rG=`DeleteCluster`,iG=`DescribeClusters`,aG=`DeploymentEphemeralStorage`,oG=`DevicesList`,sG=`DeploymentLifecycleHook`,cG=`DeploymentLifecycleHookList`,lG=`DeploymentLifecycleHookTimeoutConfiguration`,uG=`DaemonNotActiveException`,dG=`DaemonNotFoundException`,fG=`DescribeServicesRequest`,pG=`DescribeServicesResponse`,mG=`DescribeServices`,hG=`DescribeTasks`,gG=`DeregisterTaskDefinitionRequest`,_G=`DeregisterTaskDefinitionResponse`,vG=`DescribeTaskDefinitionRequest`,yG=`DescribeTaskDefinitionResponse`,bG=`DeregisterTaskDefinition`,xG=`DescribeTaskDefinition`,SG=`DescribeTasksRequest`,CG=`DescribeTasksResponse`,wG=`DockerVolumeConfiguration`,TG=`Device`,EG=`Deployments`,DG=`EBSTagSpecification`,OG=`EBSTagSpecifications`,kG=`ExecuteCommandConfiguration`,AG=`ExecuteCommandLogConfiguration`,jG=`EnvironmentFile`,MG=`EFSAuthorizationConfig`,NG=`EFSVolumeConfiguration`,PG=`EnvironmentFiles`,FG=`EphemeralStorage`,IG=`EnvironmentVariables`,LG=`Failure`,RG=`FirelensConfiguration`,zG=`FSxWindowsFileServerAuthorizationConfig`,BG=`FSxWindowsFileServerVolumeConfiguration`,VG=`Failures`,HG=`HealthCheck`,UG=`HostEntry`,WG=`HostEntryList`,GG=`HostVolumeProperties`,KG=`InferenceAccelerator`,qG=`InferenceAcceleratorOverride`,JG=`InferenceAcceleratorOverrides`,YG=`InferenceAccelerators`,XG=`InstanceHealthCheckResult`,ZG=`InstanceHealthCheckResultList`,QG=`InvalidParameterException`,$G=`KernelCapabilities`,eK=`KeyValuePair`,tK=`LoadBalancer`,nK=`LoadBalancers`,rK=`LinearConfiguration`,iK=`ListContainerInstances`,aK=`ListContainerInstancesRequest`,oK=`ListContainerInstancesResponse`,sK=`ListClustersRequest`,cK=`ListClustersResponse`,lK=`ListClusters`,uK=`LogConfiguration`,dK=`LimitExceededException`,fK=`LinuxParameters`,pK=`ListServices`,mK=`ListServicesRequest`,hK=`ListServicesResponse`,gK=`ListTasks`,_K=`ListTaskDefinitions`,vK=`ListTaskDefinitionsRequest`,yK=`ListTaskDefinitionsResponse`,bK=`ListTasksRequest`,xK=`ListTasksResponse`,SK=`ManagedAgent`,CK=`ManagedAgents`,wK=`MetricConfigurationList`,TK=`MetricConfiguration`,EK=`MonitoringConfiguration`,DK=`MountPoint`,OK=`MountPointList`,kK=`ManagedStorageConfiguration`,AK=`MissingVersionException`,jK=`NetworkBinding`,MK=`NetworkBindings`,NK=`NetworkConfiguration`,PK=`NetworkInterface`,FK=`NetworkInterfaces`,IK=`NamespaceNotFoundException`,LK=`NoUpdateAvailableException`,RK=`PlacementConstraint`,zK=`ProxyConfigurationProperties`,BK=`PlacementConstraints`,VK=`ProxyConfiguration`,HK=`PortMapping`,UK=`PortMappingList`,WK=`PlacementStrategy`,GK=`PlacementStrategies`,KK=`PlatformTaskDefinitionIncompatibilityException`,qK=`PlatformUnknownException`,JK=`Resource`,YK=`RequiresAttributes`,XK=`RepositoryCredentials`,ZK=`ResourceInUseException`,QK=`ResourceNotFoundException`,$K=`RuntimePlatform`,eq=`ResourceRequirement`,tq=`ResourceRequirements`,nq=`RunTask`,rq=`RegisterTaskDefinition`,iq=`RegisterTaskDefinitionRequest`,aq=`RegisterTaskDefinitionResponse`,oq=`RunTaskRequest`,sq=`RunTaskResponse`,cq=`Resources`,lq=`Scale`,uq=`SystemControl`,dq=`ServiceConnectAccessLogConfiguration`,fq=`ServiceConnectConfiguration`,pq=`ServiceConnectClientAlias`,mq=`ServiceConnectClientAliasList`,hq=`ServiceCurrentRevisionSummary`,gq=`ServiceCurrentRevisionSummaryList`,_q=`ServiceConnectService`,vq=`ServiceConnectServiceList`,yq=`ServiceConnectServiceResource`,bq=`ServiceConnectServiceResourceList`,xq=`ServiceConnectTlsConfiguration`,Sq=`ServiceConnectTlsCertificateAuthority`,Cq=`ServiceConnectTestTrafficHeaderMatchRules`,wq=`ServiceConnectTestTrafficHeaderRules`,Tq=`ServiceConnectTestTrafficRules`,Eq=`SystemControls`,Dq=`ServiceDeploymentNotFoundException`,Oq=`ServerException`,kq=`ServiceEvent`,Aq=`ServiceEvents`,jq=`S3FilesVolumeConfiguration`,Mq=`SecretList`,Nq=`ServiceManagedEBSVolumeConfiguration`,Pq=`ServiceNotActiveException`,Fq=`ServiceNotFoundException`,Iq=`ServiceRegistry`,Lq=`ServiceRegistries`,Rq=`StopTaskRequest`,zq=`StopTaskResponse`,Bq=`StopTask`,Vq=`ServiceVolumeConfiguration`,Hq=`ServiceVolumeConfigurations`,Uq=`Secret`,Wq=`Service`,Gq=`Services`,Kq=`Statistics`,qq=`Tag`,Jq=`ThresholdConfiguration`,Yq=`TimeoutConfiguration`,Xq=`TaskDefinition`,Zq=`TaskDefinitionPlacementConstraint`,Qq=`TaskDefinitionPlacementConstraints`,$q=`TaskEphemeralStorage`,eJ=`TmpfsList`,tJ=`TaskManagedEBSVolumeConfiguration`,nJ=`TaskManagedEBSVolumeTerminationPolicy`,rJ=`TargetNotConnectedException`,iJ=`TargetNotFoundException`,aJ=`TaskOverride`,oJ=`TaskSet`,sJ=`TaskSetNotFoundException`,cJ=`TaskSets`,lJ=`TaskVolumeConfiguration`,uJ=`TaskVolumeConfigurations`,dJ=`Task`,fJ=`Tags`,pJ=`Tasks`,mJ=`Tmpfs`,hJ=`Ulimit`,gJ=`UpdateContainerInstancesState`,_J=`UpdateContainerInstancesStateRequest`,vJ=`UpdateContainerInstancesStateResponse`,yJ=`UnsupportedFeatureException`,bJ=`UpdateInProgressException`,xJ=`UlimitList`,SJ=`Volume`,CJ=`VolumeFrom`,wJ=`VolumeFromList`,TJ=`VersionInfo`,EJ=`VolumeList`,DJ=`VpcLatticeConfiguration`,OJ=`VpcLatticeConfigurations`,kJ=`attachments`,AJ=`agentConnected`,jJ=`advancedConfiguration`,MJ=`authorizationConfig`,NJ=`awsvpcConfiguration`,PJ=`agentHash`,FJ=`attachmentId`,IJ=`accessLogConfiguration`,LJ=`alarmNames`,RJ=`appProtocol`,zJ=`accessPointArn`,BJ=`awsPcaAuthorityArn`,VJ=`assignPublicIp`,HJ=`accessPointId`,UJ=`activeServicesCount`,WJ=`attachmentsStatus`,GJ=`alternateTargetGroupArn`,KJ=`agentUpdateStatus`,qJ=`agentVersion`,JJ=`availabilityZone`,YJ=`availabilityZoneRebalancing`,Phe=`action`,Fhe=`add`,Ihe=`alarms`,XJ=`arn`,ZJ=`attributes`,Lhe=`autoprovision`,Rhe=`base`,zhe=`bindIP`,Bhe=`bakeTimeInMinutes`,QJ=`client`,$J=`clusterArn`,Vhe=`configuredAtLaunch`,Hhe=`clusterArns`,Uhe=`clientAliases`,Whe=`containerArn`,Ghe=`connectivityAt`,Khe=`cpuArchitecture`,eY=`createdAt`,qhe=`canaryBakeTimeInMinutes`,Jhe=`createdBy`,Yhe=`canaryConfiguration`,tY=`containerDefinitions`,Xhe=`computedDesiredCount`,nY=`containerInstanceArn`,Zhe=`containerInstanceArns`,rY=`containerInstance`,iY=`containerInstances`,aY=`clusterName`,oY=`containerName`,Qhe=`containerOverrides`,$he=`canaryPercent`,sY=`capacityProviderName`,cY=`containerPortRange`,lY=`capacityProviderStrategy`,ege=`capacityProvider`,uY=`capacityProviders`,dY=`containerPath`,fY=`containerPort`,pY=`credentialsParameter`,tge=`credentialSpecs`,nge=`currentServiceDeployment`,rge=`currentServiceRevisions`,mY=`clientToken`,ige=`cloudWatchEncryptionEnabled`,age=`cloudWatchLogGroupName`,oge=`capabilities`,hY=`cluster`,gY=`clusters`,_Y=`configuration`,vY=`command`,sge=`compatibilities`,cge=`condition`,lge=`connectivity`,uge=`containers`,dge=`count`,yY=`cpu`,bY=`details`,fge=`deregisteredAt`,pge=`discoveryArn`,xY=`deploymentConfiguration`,mge=`deploymentCircuitBreaker`,SY=`defaultCapacityProviderStrategy`,CY=`desiredCount`,wY=`deploymentController`,hge=`dockerLabels`,gge=`disableNetworking`,_ge=`daemonName`,TY=`deviceName`,EY=`discoveryName`,vge=`dnsName`,yge=`dependsOn`,bge=`deleteOnTermination`,xge=`driverOpts`,Sge=`deleteRequestedAt`,Cge=`dnsServers`,wge=`dnsSearchDomains`,Tge=`dockerSecurityOptions`,DY=`desiredStatus`,OY=`deviceType`,Ege=`doubleValue`,Dge=`dockerVolumeConfiguration`,Oge=`dockerVersion`,kge=`devices`,Age=`deployments`,jge=`detail`,Mge=`domain`,Nge=`driver`,Pge=`drop`,E=`error`,Fge=`exitCode`,Ige=`executeCommandConfiguration`,kY=`enableExecuteCommand`,AY=`enableECSManagedTags`,jY=`environmentFiles`,MY=`enableFaultInjection`,Lge=`extraHosts`,Rge=`externalId`,zge=`ec2InstanceId`,Bge=`entryPoint`,NY=`executionRoleArn`,Vge=`executionStoppedAt`,PY=`ephemeralStorage`,Hge=`efsVolumeConfiguration`,FY=`environment`,IY=`enabled`,LY=`enable`,RY=`encrypted`,Uge=`essential`,Wge=`events`,zY=`expression`,Gge=`exact`,BY=`family`,Kge=`firelensConfiguration`,VY=`fargateEphemeralStorage`,qge=`fargateEphemeralStorageKmsKeyId`,Jge=`familyPrefix`,Yge=`fileSystemArn`,HY=`fileSystemId`,Xge=`failedTasks`,UY=`filesystemType`,Zge=`fsxWindowsFileServerVolumeConfiguration`,WY=`failures`,Qge=`filter`,$ge=`field`,e_e=`force`,t_e=`format`,GY=`group`,n_e=`gpuIds`,KY=`hostname`,r_e=`healthCheck`,qY=`healthCheckGracePeriodSeconds`,i_e=`hookDetails`,a_e=`httpError`,o_e=`hardLimit`,s_e=`hostPath`,c_e=`hostPortRange`,JY=`hostPort`,YY=`healthStatus`,l_e=`hookTargetArn`,u_e=`header`,d_e=`host`,XY=`id`,f_e=`ipAddress`,p_e=`inferenceAcceleratorOverrides`,ZY=`inferenceAccelerators`,m_e=`ipv6Address`,h_e=`issuerCertificateAuthority`,g_e=`imageDigest`,__e=`ignoredExitCodes`,QY=`ipcMode`,v_e=`initProcessEnabled`,y_e=`ingressPortOverride`,b_e=`includeQueryParameters`,x_e=`idleTimeoutSeconds`,S_e=`integerValue`,C_e=`iam`,$Y=`image`,w_e=`interactive`,eX=`include`,T_e=`interval`,tX=`iops`,E_e=`key`,D_e=`kmsKey`,nX=`kmsKeyId`,O_e=`links`,rX=`loadBalancers`,k_e=`loadBalancerName`,iX=`logConfiguration`,A_e=`linearConfiguration`,j_e=`logDriver`,M_e=`lifecycleHooks`,N_e=`linuxParameters`,aX=`lastStatus`,P_e=`lastStartedAt`,F_e=`lastStatusChange`,I_e=`lifecycleStages`,oX=`launchType`,L_e=`lastUpdated`,R_e=`longValue`,z_e=`labels`,B_e=`logging`,D=`message`,V_e=`managedAgents`,H_e=`metricConfigurations`,sX=`managedEBSVolume`,U_e=`minimumHealthyPercent`,W_e=`metricNames`,G_e=`mountOptions`,K_e=`mountPoints`,q_e=`maximumPercent`,cX=`memoryReservation`,lX=`maxResults`,J_e=`managedStorageConfiguration`,Y_e=`maxSwap`,uX=`memory`,X_e=`monitoring`,dX=`name`,Z_e=`networkBindings`,fX=`networkConfiguration`,Q_e=`neuronDeviceIds`,$_e=`networkInterfaces`,pX=`networkMode`,mX=`nextToken`,hX=`namespace`,gX=`options`,eve=`overallStatus`,tve=`operatingSystemFamily`,_X=`overrides`,nve=`privileged`,vX=`pendingCount`,yX=`placementConstraints`,bX=`proxyConfiguration`,xX=`platformFamily`,rve=`privateIpv4Address`,ive=`productionListenerRule`,ave=`portMappings`,SX=`pidMode`,CX=`portName`,ove=`perRequestTimeoutSeconds`,wX=`placementStrategy`,sve=`pullStartedAt`,cve=`pullStoppedAt`,lve=`pseudoTerminal`,TX=`pendingTasksCount`,uve=`pendingTaskCount`,EX=`propagateTags`,DX=`platformVersion`,dve=`permissions`,OX=`port`,kX=`protocol`,fve=`properties`,AX=`reason`,jX=`roleArn`,pve=`restartAttemptPeriod`,MX=`registeredAt`,mve=`registryArn`,hve=`requiresAttributes`,gve=`registeredBy`,_ve=`repositoryCredentials`,vve=`registeredContainerInstancesCount`,NX=`requiresCompatibilities`,PX=`runningCount`,FX=`rootDirectory`,yve=`resourceIds`,bve=`referenceId`,xve=`runtimeId`,IX=`resourceManagementType`,LX=`readOnly`,Sve=`resetOnHealthyTask`,Cve=`restartPolicy`,RX=`runtimePlatform`,zX=`resourceRequirements`,wve=`readonlyRootFilesystem`,Tve=`remainingResources`,Eve=`registeredResources`,Dve=`rolloutState`,Ove=`rolloutStateReason`,kve=`resolutionSeconds`,Ave=`resourceType`,BX=`runningTasksCount`,jve=`requestedTaskCount`,Mve=`runningTaskCount`,Nve=`revision`,Pve=`retries`,Fve=`role`,VX=`rollback`,HX=`smithy.ts.sdk.synthetic.com.amazonaws.ecs`,Ive=`startedAt`,UX=`serviceArn`,Lve=`serviceArns`,Rve=`stoppedAt`,zve=`stoppingAt`,WX=`startedBy`,Bve=`s3BucketName`,Vve=`stepBakeTimeInMinutes`,Hve=`systemControls`,GX=`serviceConnectConfiguration`,KX=`serviceConnectDefaults`,Uve=`serviceConnectResources`,Wve=`sourceContainer`,Gve=`stopCode`,Kve=`s3EncryptionEnabled`,qve=`securityGroups`,qX=`sizeInGiB`,JX=`snapshotId`,Jve=`s3KeyPrefix`,Yve=`softLimit`,Xve=`sharedMemorySize`,YX=`serviceName`,Zve=`secretOptions`,Qve=`startPeriod`,$ve=`sourcePath`,eye=`stepPercent`,XX=`statusReason`,ZX=`serviceRegistries`,tye=`stoppedReason`,QX=`schedulingStrategy`,nye=`stabilityStatusAt`,rye=`stringSetValue`,iye=`stabilityStatus`,aye=`startTimeout`,oye=`stopTimeout`,sye=`sourceVolume`,cye=`s3filesVolumeConfiguration`,lye=`scale`,uye=`scope`,dye=`server`,fye=`secrets`,pye=`service`,$X=`services`,eZ=`settings`,mye=`size`,hye=`sort`,tZ=`status`,gye=`statistics`,_ye=`strategy`,vye=`subnets`,yye=`swappiness`,nZ=`type`,rZ=`taskArn`,bye=`taskArns`,xye=`thresholdConfiguration`,Sye=`timeoutConfiguration`,iZ=`taskDefinition`,aZ=`taskDefinitionArn`,Cye=`taskDefinitionArns`,oZ=`transitEncryptionPort`,wye=`transitEncryption`,sZ=`targetGroupArn`,Tye=`targetId`,Eye=`timeoutInMinutes`,Dye=`testListenerRule`,Oye=`terminationPolicy`,cZ=`taskRoleArn`,kye=`taskSetArn`,Aye=`taskSets`,lZ=`tagSpecifications`,uZ=`targetType`,jye=`testTrafficRules`,dZ=`tags`,fZ=`tasks`,pZ=`task`,mZ=`throughput`,hZ=`timeout`,Mye=`tls`,Nye=`tmpfs`,Pye=`user`,gZ=`updatedAt`,Fye=`ulimits`,Iye=`unit`,_Z=`value`,Lye=`versionConsistency`,vZ=`volumeConfigurations`,Rye=`volumesFrom`,zye=`valueFrom`,Bye=`versionInfo`,yZ=`volumeInitializationRate`,bZ=`vpcLatticeConfigurations`,xZ=`volumeType`,SZ=`version`,CZ=`volumes`,Vye=`weight`,Hye=`workingDirectory`,O=`com.amazonaws.ecs`,wZ=ot.for(HX),Uye=[-3,HX,`ECSServiceException`,0,[],[]];wZ.registerError(Uye,T);var k=ot.for(O),Wye=[-3,O,eW,{[E]:QJ,[a_e]:403},[D],[0]];k.registerError(Wye,xU);var Gye=[-3,O,tW,{[E]:QJ},[D],[0]];k.registerError(Gye,RU);var Kye=[-3,O,oW,{[E]:QJ},[D],[0]];k.registerError(Kye,XU);var qye=[-3,O,xW,{[E]:QJ},[D],[0]];k.registerError(qye,SU);var Jye=[-3,O,uW,{[E]:QJ},[D],[0]];k.registerError(Jye,AU);var Yye=[-3,O,lW,{[E]:QJ},[D],[0]];k.registerError(Yye,jU);var Xye=[-3,O,pW,{[E]:QJ},[D],[0]];k.registerError(Xye,MU);var Zye=[-3,O,mW,{[E]:QJ},[D],[0]];k.registerError(Zye,NU);var Qye=[-3,O,EW,{[E]:QJ},[D],[0]];k.registerError(Qye,CU);var $ye=[-3,O,SW,{[E]:QJ},[yve,D],[64,0]];k.registerError($ye,JU);var ebe=[-3,O,uG,{[E]:QJ},[D],[0]];k.registerError(ebe,UU);var tbe=[-3,O,dG,{[E]:QJ},[D],[0]];k.registerError(tbe,WU);var nbe=[-3,O,QG,{[E]:QJ},[D],[0]];k.registerError(nbe,wU);var rbe=[-3,O,dK,{[E]:QJ},[D],[0]];k.registerError(rbe,TU);var ibe=[-3,O,AK,{[E]:QJ},[D],[0]];k.registerError(ibe,zU);var abe=[-3,O,IK,{[E]:QJ},[D],[0]];k.registerError(abe,kU);var obe=[-3,O,LK,{[E]:QJ},[D],[0]];k.registerError(obe,BU);var sbe=[-3,O,KK,{[E]:QJ},[D],[0]];k.registerError(sbe,GU);var cbe=[-3,O,qK,{[E]:QJ},[D],[0]];k.registerError(cbe,HU);var lbe=[-3,O,ZK,{[E]:QJ},[D],[0]];k.registerError(lbe,FU);var ube=[-3,O,QK,{[E]:QJ},[D],[0]];k.registerError(ube,qU);var dbe=[-3,O,Oq,{[E]:dye},[D],[0]];k.registerError(dbe,EU);var fbe=[-3,O,Dq,{[E]:QJ},[D],[0]];k.registerError(fbe,VU);var pbe=[-3,O,Pq,{[E]:QJ},[D],[0]];k.registerError(pbe,KU);var mbe=[-3,O,Fq,{[E]:QJ},[D],[0]];k.registerError(mbe,LU);var hbe=[-3,O,rJ,{[E]:QJ},[D],[0]];k.registerError(hbe,PU);var gbe=[-3,O,iJ,{[E]:QJ},[D],[0]];k.registerError(gbe,IU);var _be=[-3,O,sJ,{[E]:QJ},[D],[0]];k.registerError(_be,YU);var vbe=[-3,O,yJ,{[E]:QJ},[D],[0]];k.registerError(vbe,DU);var ybe=[-3,O,bJ,{[E]:QJ},[D],[0]];k.registerError(ybe,OU);var bbe=[wZ,k],xbe=[3,O,QU,0,[GJ,ive,Dye,jX],[0,0,0,0]],Sbe=[3,O,ZU,0,[XY,nZ,tZ,bY],[0,0,0,()=>RSe]],TZ=[3,O,rW,0,[dX,_Z,uZ,Tye],[0,0,0,0],1],Cbe=[3,O,nW,0,[vye,qve,VJ],[64,64,0],1],wbe=[3,O,cW,0,[$he,qhe],[1,1]],Tbe=[3,O,AW,0,[ege,Vye,Rhe],[0,1,1],1],EZ=[3,O,sW,0,[$J,aY,_Y,tZ,vve,BX,TX,UJ,gye,dZ,eZ,uY,SY,kJ,WJ,KX],[0,0,()=>DZ,0,1,1,1,1,()=>lCe,()=>cQ,()=>KZ,64,()=>GZ,()=>UZ,0,()=>Ebe]],DZ=[3,O,hW,0,[Ige,J_e],[()=>fxe,()=>zxe]],Ebe=[3,O,NW,0,[hX],[0]],Dbe=[3,O,PW,0,[hX],[0],1],Obe=[3,O,MW,0,[dX,_Z],[0,0]],kbe=[3,O,BW,0,[Whe,rZ,dX,$Y,g_e,xve,aX,Fge,AX,Z_e,$_e,YY,V_e,yY,uX,cX,n_e,Q_e],[0,0,0,0,0,0,0,1,0,()=>QSe,()=>$Se,0,()=>YSe,0,0,0,64,64]],Abe=[3,O,_W,0,[dX,$Y,_ve,yY,uX,cX,O_e,ave,Uge,Cve,Bge,vY,FY,jY,K_e,Rye,N_e,fye,yge,aye,oye,Lye,KY,Pye,Hye,gge,nve,wve,Cge,wge,Lge,Tge,w_e,lve,hge,Fye,iX,r_e,Hve,zX,Kge,tge],[0,0,[()=>Xxe,0],1,1,1,64,()=>eCe,2,()=>Pbe,64,64,[()=>ZZ,0],()=>XZ,()=>ZSe,()=>hCe,()=>Exe,()=>aQ,()=>BSe,1,1,0,0,0,0,2,2,2,64,64,()=>KSe,64,2,2,128,()=>mCe,()=>PZ,()=>vxe,()=>uCe,()=>rQ,()=>hxe,64]],jbe=[3,O,vW,0,[oY,cge],[0,0],2],OZ=[3,O,wW,0,[nY,zge,sY,SZ,Bye,Tve,Eve,tZ,XX,AJ,BX,TX,KJ,ZJ,MX,kJ,dZ,YY],[0,0,0,1,()=>PSe,()=>iQ,()=>iQ,0,0,2,1,1,0,()=>WZ,4,()=>UZ,()=>cQ,()=>Mbe]],Mbe=[3,O,CW,0,[eve,bY],[0,()=>JSe]],Nbe=[3,O,DW,0,[dX,vY,FY,jY,yY,uX,cX,zX],[0,64,[()=>ZZ,0],()=>XZ,1,1,1,()=>rQ]],Pbe=[3,O,jW,0,[IY,__e,pve],[2,65,1],1],Fbe=[3,O,dW,0,[aY,dZ,eZ,_Y,uY,SY,KX],[0,()=>cQ,()=>KZ,()=>DZ,64,()=>GZ,()=>Dbe]],Ibe=[3,O,fW,0,[hY],[()=>EZ]],Lbe=[3,O,FW,0,[YX,hY,iZ,YJ,rX,ZX,CY,mY,oX,lY,DX,Fve,xY,yX,wX,fX,qY,QX,wY,dZ,AY,EX,kY,GX,vZ,bZ,X_e],[0,0,0,0,()=>eQ,()=>oQ,1,0,0,()=>GZ,0,0,()=>kZ,()=>tQ,()=>nQ,()=>FZ,1,0,()=>AZ,()=>cQ,2,0,2,()=>zZ,()=>sQ,()=>fQ,()=>Vxe],1],Rbe=[3,O,IW,0,[pye],[()=>RZ]],zbe=[3,O,QW,0,[hY],[0],1],Bbe=[3,O,$W,0,[hY],[()=>EZ]],Vbe=[3,O,HW,0,[XY,tZ,iZ,CY,vX,PX,Xge,eY,gZ,lY,oX,DX,xX,fX,Dve,Ove,GX,Uve,vZ,VY,bZ],[0,0,0,1,1,1,1,4,4,()=>GZ,0,0,0,()=>FZ,0,0,()=>zZ,()=>aCe,()=>sQ,()=>jZ,()=>fQ]],Hbe=[3,O,UW,0,[LJ,VX,LY],[64,2,2],3],Ube=[3,O,GW,0,[LY,VX,Sve,xye],[2,2,2,()=>OSe],2],kZ=[3,O,WW,0,[mge,q_e,U_e,Ihe,_ye,Bhe,M_e,A_e,Yhe],[()=>Ube,1,1,()=>Hbe,0,1,()=>USe,()=>Txe,()=>wbe]],AZ=[3,O,nG,0,[nZ],[0],1],jZ=[3,O,aG,0,[nX],[0]],Wbe=[3,O,sG,0,[uZ,l_e,jX,I_e,i_e,Sye],[0,0,0,64,15,()=>Gbe]],Gbe=[3,O,lG,0,[Eye,Phe],[1,0]],Kbe=[3,O,KW,0,[rY,hY,e_e],[0,0,2],1],qbe=[3,O,qW,0,[rY],[()=>OZ]],Jbe=[3,O,gG,0,[iZ],[0],1],Ybe=[3,O,_G,0,[iZ],[[()=>VZ,0]]],Xbe=[3,O,eG,0,[gY,eX],[64,64]],Zbe=[3,O,tG,0,[gY,WY],[()=>zSe,()=>QZ]],Qbe=[3,O,JW,0,[iY,hY,eX],[64,0,64],1],$be=[3,O,YW,0,[iY,WY],[()=>JZ,()=>QZ]],exe=[3,O,fG,0,[$X,hY,eX],[64,0,64],1],txe=[3,O,pG,0,[$X,WY],[()=>cCe,()=>QZ]],nxe=[3,O,vG,0,[iZ,eX],[0,64],1],rxe=[3,O,yG,0,[iZ,dZ],[[()=>VZ,0],()=>cQ]],ixe=[3,O,SG,0,[fZ,hY,eX],[64,0,64],1],axe=[3,O,CG,0,[fZ,WY],[[()=>uQ,0],()=>QZ]],oxe=[3,O,TG,0,[s_e,dY,dve],[0,0,64],1],sxe=[3,O,wG,0,[uye,Lhe,Nge,xge,z_e],[0,2,0,128,128]],cxe=[3,O,DG,0,[Ave,dZ,EX],[0,()=>cQ,0],1],lxe=[3,O,MG,0,[HJ,C_e],[0,0]],uxe=[3,O,NG,0,[HY,FX,wye,oZ,MJ],[0,0,0,1,()=>lxe],1],dxe=[3,O,jG,0,[_Z,nZ],[0,0],2],MZ=[3,O,FG,0,[qX],[1],1],fxe=[3,O,kG,0,[nX,B_e,iX],[0,0,()=>pxe]],pxe=[3,O,AG,0,[age,ige,Bve,Kve,Jve],[0,2,0,2,0]],mxe=[3,O,LG,0,[XJ,AX,jge],[0,0,0]],hxe=[3,O,RG,0,[nZ,gX],[0,128],1],gxe=[3,O,zG,0,[pY,Mge],[0,0],2],_xe=[3,O,BG,0,[HY,FX,MJ],[0,0,()=>gxe],3],vxe=[3,O,HG,0,[vY,T_e,hZ,Pve,Qve],[64,1,1,1,1],1],yxe=[3,O,UG,0,[KY,f_e],[0,0],2],bxe=[3,O,GG,0,[$ve],[0]],xxe=[3,O,KG,0,[TY,OY],[0,0],2],Sxe=[3,O,qG,0,[TY,OY],[0,0]],Cxe=[3,O,XG,0,[nZ,tZ,XX,L_e,F_e],[0,0,0,4,4]],wxe=[3,O,$G,0,[Fhe,Pge],[64,64]],NZ=[3,O,eK,0,[dX,_Z],[0,0]],Txe=[3,O,rK,0,[eye,Vve],[1,1]],Exe=[3,O,fK,0,[oge,kge,v_e,Xve,Nye,Y_e,yye],[()=>wxe,()=>GSe,2,1,()=>pCe,1,1]],Dxe=[3,O,sK,0,[mX,lX],[0,1]],Oxe=[3,O,cK,0,[Hhe,mX],[64,0]],kxe=[3,O,aK,0,[hY,Qge,mX,lX,tZ],[0,0,0,1,0]],Axe=[3,O,oK,0,[Zhe,mX],[64,0]],jxe=[3,O,mK,0,[hY,mX,lX,oX,QX,IX],[0,0,1,0,0,0]],Mxe=[3,O,hK,0,[Lve,mX],[64,0]],Nxe=[3,O,vK,0,[Jge,tZ,hye,mX,lX],[0,0,0,0,1]],Pxe=[3,O,yK,0,[Cye,mX],[64,0]],Fxe=[3,O,bK,0,[hY,rY,BY,mX,lX,WX,YX,DY,oX,_ge],[0,0,0,0,1,0,0,0,0,0]],Ixe=[3,O,xK,0,[bye,mX],[64,0]],Lxe=[3,O,tK,0,[sZ,k_e,oY,fY,jJ],[0,0,0,1,()=>xbe]],PZ=[3,O,uK,0,[j_e,gX,Zve],[0,128,()=>aQ],1],Rxe=[3,O,SK,0,[P_e,dX,AX,aX],[4,0,0,0]],zxe=[3,O,kK,0,[nX,qge],[0,0]],Bxe=[3,O,TK,0,[W_e,kve],[64,1],2],Vxe=[3,O,EK,0,[H_e],[()=>XSe]],Hxe=[3,O,DK,0,[sye,dY,LX],[0,0,2]],Uxe=[3,O,jK,0,[zhe,fY,JY,kX,cY,c_e],[0,1,1,0,0,0]],FZ=[3,O,NK,0,[NJ],[()=>Cbe]],Wxe=[3,O,PK,0,[FJ,rve,m_e],[0,0,0]],Gxe=[3,O,RK,0,[nZ,zY],[0,0]],Kxe=[3,O,WK,0,[nZ,$ge],[0,0]],qxe=[3,O,HK,0,[fY,JY,kX,dX,RJ,cY],[1,1,0,0,0,0]],IZ=[3,O,VK,0,[oY,nZ,fve],[0,0,()=>tCe],1],Jxe=[3,O,iq,0,[BY,tY,cZ,NY,pX,CZ,yX,NX,yY,uX,dZ,SX,QY,bX,ZY,PY,RX,MY],[0,[()=>qZ,0],0,0,0,()=>dQ,()=>lQ,64,0,0,()=>cQ,0,0,()=>IZ,()=>$Z,()=>MZ,()=>LZ,2],2],Yxe=[3,O,aq,0,[iZ,dZ],[[()=>VZ,0],()=>cQ]],Xxe=[3,O,XK,8,[pY],[0],1],Zxe=[3,O,JK,0,[dX,nZ,Ege,R_e,S_e,rye],[0,0,1,1,1,64]],Qxe=[3,O,eq,0,[_Z,nZ],[0,0],2],$xe=[3,O,oq,0,[iZ,lY,hY,dge,AY,kY,GY,oX,fX,_X,yX,wX,DX,EX,bve,WX,dZ,mY,vZ],[0,()=>GZ,0,1,2,2,0,0,()=>FZ,[()=>HZ,0],()=>tQ,()=>nQ,0,0,0,0,()=>cQ,[0,4],()=>fCe],1],eSe=[3,O,sq,0,[fZ,WY],[[()=>uQ,0],()=>QZ]],LZ=[3,O,$K,0,[Khe,tve],[0,0]],tSe=[3,O,jq,0,[Yge,FX,oZ,zJ],[0,0,1,0],1],nSe=[3,O,lq,0,[_Z,Iye],[1,0]],rSe=[3,O,Uq,0,[dX,zye],[0,0],2],RZ=[3,O,Wq,0,[UX,YX,$J,rX,ZX,tZ,CY,PX,vX,oX,lY,DX,xX,iZ,xY,Aye,Age,jX,Wge,eY,nge,rge,yX,wX,fX,qY,QX,wY,dZ,Jhe,AY,EX,kY,YJ,IX],[0,0,0,()=>eQ,()=>oQ,0,1,1,1,0,()=>GZ,0,0,0,()=>kZ,()=>dCe,()=>WSe,0,()=>sCe,4,0,()=>oCe,()=>tQ,()=>nQ,()=>FZ,1,0,()=>AZ,()=>cQ,0,2,0,2,0,0]],iSe=[3,O,dq,0,[t_e,b_e],[0,0],1],aSe=[3,O,pq,0,[OX,vge,jye],[1,0,()=>uSe],1],zZ=[3,O,fq,0,[IY,hX,$X,iX,IJ],[2,0,()=>iCe,()=>PZ,()=>iSe],1],oSe=[3,O,_q,0,[CX,EY,Uhe,y_e,hZ,Mye],[0,0,()=>rCe,1,()=>kSe,()=>fSe],1],sSe=[3,O,yq,0,[EY,pge],[0,0]],cSe=[3,O,Cq,0,[Gge],[0],1],lSe=[3,O,wq,0,[dX,_Z],[0,()=>cSe],1],uSe=[3,O,Tq,0,[u_e],[()=>lSe],1],dSe=[3,O,Sq,0,[BJ],[0]],fSe=[3,O,xq,0,[h_e,D_e,jX],[()=>dSe,0,0],1],pSe=[3,O,hq,0,[XJ,jve,Mve,uve],[0,1,1,1]],mSe=[3,O,kq,0,[XY,eY,D],[0,4,0]],hSe=[3,O,Nq,0,[jX,RY,nX,xZ,qX,JX,yZ,tX,mZ,lZ,UY],[0,2,0,0,1,0,1,1,1,()=>YZ,0],1],gSe=[3,O,Iq,0,[mve,OX,oY,fY],[0,1,0,1]],_Se=[3,O,Vq,0,[dX,sX],[0,()=>hSe],1],vSe=[3,O,Rq,0,[pZ,hY,AX],[0,0,0],1],ySe=[3,O,zq,0,[pZ],[[()=>BZ,0]]],bSe=[3,O,uq,0,[hX,_Z],[0,0]],xSe=[3,O,qq,0,[E_e,_Z],[0,0]],BZ=[3,O,dJ,0,[kJ,ZJ,JJ,sY,$J,lge,Ghe,nY,uge,yY,eY,DY,kY,Vge,GY,YY,ZY,aX,oX,uX,_X,DX,xX,sve,cve,Ive,WX,Gve,Rve,tye,zve,dZ,rZ,aZ,SZ,PY,VY],[()=>UZ,()=>WZ,0,0,0,0,4,0,()=>HSe,0,4,0,2,4,0,0,()=>$Z,0,0,0,[()=>HZ,0],0,0,4,4,4,0,0,4,0,4,()=>cQ,0,0,1,()=>MZ,()=>CSe]],VZ=[3,O,Xq,0,[aZ,tY,BY,cZ,NY,pX,Nve,CZ,tZ,hve,yX,sge,RX,NX,yY,uX,ZY,SX,QY,bX,MX,fge,Sge,gve,PY,MY],[0,[()=>qZ,0],0,0,0,0,1,()=>dQ,0,()=>nCe,()=>lQ,64,()=>LZ,64,0,0,()=>$Z,0,0,()=>IZ,4,4,4,0,()=>MZ,2]],SSe=[3,O,Zq,0,[nZ,zY],[0,0]],CSe=[3,O,$q,0,[qX,nX],[1,0]],wSe=[3,O,tJ,0,[jX,RY,nX,xZ,qX,JX,yZ,tX,mZ,lZ,Oye,UY],[0,2,0,0,1,0,1,1,1,()=>YZ,()=>TSe,0],1],TSe=[3,O,nJ,0,[bge],[2],1],HZ=[3,O,aJ,0,[Qhe,yY,p_e,NY,uX,cZ,PY],[[()=>VSe,0],0,()=>qSe,0,0,0,()=>MZ]],ESe=[3,O,oJ,0,[XY,kye,UX,$J,WX,Rge,tZ,iZ,Xhe,vX,PX,eY,gZ,oX,lY,DX,xX,fX,rX,ZX,lye,iye,nye,dZ,VY],[0,0,0,0,0,0,0,0,1,1,1,4,4,0,()=>GZ,0,0,()=>FZ,()=>eQ,()=>oQ,()=>nSe,0,4,()=>cQ,()=>jZ]],DSe=[3,O,lJ,0,[dX,sX],[0,()=>wSe],1],OSe=[3,O,Jq,0,[nZ,_Z],[0,1],2],kSe=[3,O,Yq,0,[x_e,ove],[1,1]],ASe=[3,O,mJ,0,[dY,mye,G_e],[0,1,64],2],jSe=[3,O,hJ,0,[dX,Yve,o_e],[0,1,1],3],MSe=[3,O,_J,0,[iY,tZ,hY],[64,0,0],2],NSe=[3,O,vJ,0,[iY,WY],[()=>JZ,()=>QZ]],PSe=[3,O,TJ,0,[qJ,PJ,Oge],[0,0,0]],FSe=[3,O,SJ,0,[dX,d_e,Dge,Hge,cye,Zge,Vhe],[0,()=>bxe,()=>sxe,()=>uxe,()=>tSe,()=>_xe,2]],ISe=[3,O,CJ,0,[Wve,LX],[0,2]],LSe=[3,O,DJ,0,[jX,sZ,CX],[0,0,0],3],RSe=[1,O,$U,0,()=>NZ],UZ=[1,O,iW,0,()=>Sbe],WZ=[1,O,aW,0,()=>TZ],GZ=[1,O,kW,0,()=>Tbe],zSe=[1,O,zW,0,()=>EZ],KZ=[1,O,LW,0,()=>Obe],qZ=[1,O,yW,0,[()=>Abe,0]],BSe=[1,O,bW,0,()=>jbe],JZ=[1,O,TW,0,()=>OZ],VSe=[1,O,OW,0,[()=>Nbe,0]],HSe=[1,O,VW,0,()=>kbe],USe=[1,O,cG,0,()=>Wbe],WSe=[1,O,EG,0,()=>Vbe],GSe=[1,O,oG,0,()=>oxe],YZ=[1,O,OG,0,()=>cxe],XZ=[1,O,PG,0,()=>dxe],ZZ=[1,O,IG,8,()=>NZ],QZ=[1,O,VG,0,()=>mxe],KSe=[1,O,WG,0,()=>yxe],qSe=[1,O,JG,0,()=>Sxe],$Z=[1,O,YG,0,()=>xxe],JSe=[1,O,ZG,0,()=>Cxe],eQ=[1,O,nK,0,()=>Lxe],YSe=[1,O,CK,0,()=>Rxe],XSe=[1,O,wK,0,()=>Bxe],ZSe=[1,O,OK,0,()=>Hxe],QSe=[1,O,MK,0,()=>Uxe],$Se=[1,O,FK,0,()=>Wxe],tQ=[1,O,BK,0,()=>Gxe],nQ=[1,O,GK,0,()=>Kxe],eCe=[1,O,UK,0,()=>qxe],tCe=[1,O,zK,0,()=>NZ],nCe=[1,O,YK,0,()=>TZ],rQ=[1,O,tq,0,()=>Qxe],iQ=[1,O,cq,0,()=>Zxe],aQ=[1,O,Mq,0,()=>rSe],rCe=[1,O,mq,0,()=>aSe],iCe=[1,O,vq,0,()=>oSe],aCe=[1,O,bq,0,()=>sSe],oCe=[1,O,gq,0,()=>pSe],sCe=[1,O,Aq,0,()=>mSe],oQ=[1,O,Lq,0,()=>gSe],cCe=[1,O,Gq,0,()=>RZ],sQ=[1,O,Hq,0,()=>_Se],lCe=[1,O,Kq,0,()=>NZ],uCe=[1,O,Eq,0,()=>bSe],cQ=[1,O,fJ,0,()=>xSe],lQ=[1,O,Qq,0,()=>SSe],uQ=[1,O,pJ,0,[()=>BZ,0]],dCe=[1,O,cJ,0,()=>ESe],fCe=[1,O,uJ,0,()=>DSe],pCe=[1,O,eJ,0,()=>ASe],mCe=[1,O,xJ,0,()=>jSe],hCe=[1,O,wJ,0,()=>ISe],dQ=[1,O,EJ,0,()=>FSe],fQ=[1,O,OJ,0,()=>LSe],gCe=[9,O,gW,0,()=>Fbe,()=>Ibe],_Ce=[9,O,RW,0,()=>Lbe,()=>Rbe],vCe=[9,O,rG,2,()=>zbe,()=>Bbe],yCe=[9,O,XW,0,()=>Kbe,()=>qbe],bCe=[9,O,bG,0,()=>Jbe,()=>Ybe],xCe=[9,O,iG,0,()=>Xbe,()=>Zbe],SCe=[9,O,ZW,0,()=>Qbe,()=>$be],CCe=[9,O,mG,0,()=>exe,()=>txe],wCe=[9,O,xG,0,()=>nxe,()=>rxe],TCe=[9,O,hG,0,()=>ixe,()=>axe],ECe=[9,O,lK,0,()=>Dxe,()=>Oxe],DCe=[9,O,iK,0,()=>kxe,()=>Axe],OCe=[9,O,pK,0,()=>jxe,()=>Mxe],kCe=[9,O,_K,0,()=>Nxe,()=>Pxe],ACe=[9,O,gK,0,()=>Fxe,()=>Ixe],jCe=[9,O,rq,0,()=>Jxe,()=>Yxe],MCe=[9,O,nq,0,()=>$xe,()=>eSe],NCe=[9,O,Bq,0,()=>vSe,()=>ySe],PCe=[9,O,gJ,0,()=>MSe,()=>NSe],FCe=e=>({apiVersion:`2014-11-13`,base64Decoder:e?.base64Decoder??Ge,base64Encoder:e?.base64Encoder??he,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??bU,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??$H,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new me}],logger:e?.logger??new Ue,protocol:e?.protocol??Yt,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.ecs`,errorTypeRegistries:bbe,xmlNamespace:`http://ecs.amazonaws.com/doc/2014-11-13/`,version:`2014-11-13`,serviceTarget:`AmazonEC2ContainerServiceV20141113`},serviceId:e?.serviceId??`ECS`,sha256:e?.sha256??ze,urlParser:e?.urlParser??Ce,utf8Decoder:e?.utf8Decoder??st,utf8Encoder:e?.utf8Encoder??ct}),ICe=e=>{let t=He(e),n=()=>t().then(_e),r=FCe(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Ne,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??ge({serviceId:r.serviceId,clientVersion:rU.version}),maxAttempts:e?.maxAttempts??3,region:e?.region??Te(`Region is missing`),requestHandler:xe.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||oe),streamCollector:e?.streamCollector??Pe,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},LCe=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}}},RCe=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),zCe=(e,n)=>{let r=Object.assign(We(e),de(e),ke(e),LCe(e));return n.forEach(e=>e.configure(r)),Object.assign(e,t(r),pe(r),ve(r),RCe(r))},BCe=class extends i{config;constructor(...[e]){let t=ICe(e||{});super(t),this.initConfig=t;let n=tU(t),i=ie(n),a=Xe(i),o=ue(a),s=Ee(o),c=zCe(eU(Ie(s)),e?.extensions||[]);this.config=c,this.middlewareStack.use(be(this.config)),this.middlewareStack.use(u(this.config)),this.middlewareStack.use(se(this.config)),this.middlewareStack.use(Oe(this.config)),this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(re(this.config)),this.middlewareStack.use(we(this.config)),this.middlewareStack.use(r(this.config,{httpAuthSchemeParametersProvider:ZH,identityProviderConfigProvider:async e=>new le({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(ye(this.config))}destroy(){super.destroy()}},VCe=async(e,t,n)=>({operation:Ze(t).operation,region:await De(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function HCe(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`eks`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var UCe=e=>{let t=[];return e.operation,t.push(HCe(e)),t},WCe=e=>{let t=tt(e);return Object.assign(t,{authSchemePreference:De(e.authSchemePreference??[])})},GCe=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:`eks`}),KCe={UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},qCe={name:`@aws-sdk/client-eks`,version:`3.1109.0`,description:`AWS SDK for JavaScript Eks Client for Node.js, Browser and React Native`,homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-eks`,license:`Apache-2.0`,author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/sdk-for-javascript/`},repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-eks`},files:[`dist-*/**`],sideEffects:!1,main:`./dist-cjs/index.js`,module:`./dist-es/index.js`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},types:`./dist-types/index.d.ts`,typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline`,"build:es":`premove dist-es && tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`premove dist-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`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service`,"test:index":`tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs`},dependencies:{"@aws-sdk/core":`^3.977.7`,"@aws-sdk/credential-provider-node":`^3.972.79`,"@aws-sdk/types":`^3.974.3`,"@smithy/core":`^3.31.1`,"@smithy/fetch-http-handler":`^5.6.13`,"@smithy/node-http-handler":`^4.9.13`,"@smithy/types":`^4.16.1`,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:`~6.0.3`},engines:{node:`>=20.0.0`}},pQ=`ref`,mQ=-1,hQ=!0,gQ=`isSet`,_Q=`PartitionResult`,vQ=`booleanEquals`,yQ=`getAttr`,bQ=`stringEquals`,xQ={[pQ]:`Endpoint`},SQ={[pQ]:_Q},CQ={fn:yQ,argv:[SQ,`name`]},wQ={},TQ=[{[pQ]:`Region`}],EQ={conditions:[[gQ,[xQ]],[gQ,TQ],[`aws.partition`,TQ,_Q],[vQ,[{[pQ]:`UseFIPS`},hQ]],[vQ,[{[pQ]:`UseDualStack`},hQ]],[vQ,[{fn:yQ,argv:[SQ,`supportsDualStack`]},hQ]],[vQ,[{fn:yQ,argv:[SQ,`supportsFIPS`]},hQ]],[bQ,[CQ,`aws`]],[bQ,[CQ,`aws-us-gov`]]],results:[[mQ],[mQ,`Invalid Configuration: FIPS and custom endpoint are not supported`],[mQ,`Invalid Configuration: Dualstack and custom endpoint are not supported`],[xQ,wQ],[`https://eks-fips.{Region}.{PartitionResult#dualStackDnsSuffix}`,wQ],[mQ,`FIPS and DualStack are enabled, but this partition does not support one or both`],[`https://fips.eks.{Region}.amazonaws.com`,wQ],[`https://eks.{Region}.amazonaws.com`,wQ],[`https://eks-fips.{Region}.{PartitionResult#dnsSuffix}`,wQ],[mQ,`FIPS is enabled but this partition does not support FIPS`],[`https://eks.{Region}.{PartitionResult#dualStackDnsSuffix}`,wQ],[mQ,`DualStack is enabled but this partition does not support DualStack`],[`https://eks.{Region}.{PartitionResult#dnsSuffix}`,wQ],[mQ,`Invalid Configuration: Missing Region`]]},JCe=2,YCe=new Int32Array([-1,1,-1,0,14,3,1,4,100000013,2,5,100000013,3,8,6,4,7,100000012,5,100000010,100000011,4,12,9,6,10,100000009,7,100000006,11,8,100000007,100000008,5,13,100000005,6,100000004,100000005,3,100000001,15,4,100000002,100000003]),XCe=Re.from(YCe,JCe,EQ.conditions,EQ.results),ZCe=new Be({size:50,params:[`Endpoint`,`Region`,`UseDualStack`,`UseFIPS`]}),QCe=(e,t={})=>ZCe.get(e,()=>Ye(XCe,{endpointParams:e,logger:t.logger}));qe.aws=fe;var DQ=class e extends te{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},$Ce=class e extends DQ{name=`AccessDeniedException`;$fault=`client`;constructor(t){super({name:`AccessDeniedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},ewe=class e extends DQ{name=`InvalidParameterException`;$fault=`client`;clusterName;nodegroupName;fargateProfileName;addonName;subscriptionId;constructor(t){super({name:`InvalidParameterException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.clusterName=t.clusterName,this.nodegroupName=t.nodegroupName,this.fargateProfileName=t.fargateProfileName,this.addonName=t.addonName,this.subscriptionId=t.subscriptionId}},twe=class e extends DQ{name=`InvalidRequestException`;$fault=`client`;clusterName;nodegroupName;addonName;subscriptionId;constructor(t){super({name:`InvalidRequestException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.clusterName=t.clusterName,this.nodegroupName=t.nodegroupName,this.addonName=t.addonName,this.subscriptionId=t.subscriptionId}},nwe=class e extends DQ{name=`ResourceNotFoundException`;$fault=`client`;clusterName;nodegroupName;fargateProfileName;addonName;subscriptionId;constructor(t){super({name:`ResourceNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.clusterName=t.clusterName,this.nodegroupName=t.nodegroupName,this.fargateProfileName=t.fargateProfileName,this.addonName=t.addonName,this.subscriptionId=t.subscriptionId}},rwe=class e extends DQ{name=`ServerException`;$fault=`server`;clusterName;nodegroupName;addonName;subscriptionId;constructor(t){super({name:`ServerException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype),this.clusterName=t.clusterName,this.nodegroupName=t.nodegroupName,this.addonName=t.addonName,this.subscriptionId=t.subscriptionId}},iwe=class e extends DQ{name=`ClientException`;$fault=`client`;clusterName;nodegroupName;addonName;subscriptionId;constructor(t){super({name:`ClientException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.clusterName=t.clusterName,this.nodegroupName=t.nodegroupName,this.addonName=t.addonName,this.subscriptionId=t.subscriptionId}},awe=class e extends DQ{name=`ResourceInUseException`;$fault=`client`;clusterName;nodegroupName;addonName;constructor(t){super({name:`ResourceInUseException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.clusterName=t.clusterName,this.nodegroupName=t.nodegroupName,this.addonName=t.addonName}},owe=class e extends DQ{name=`ThrottlingException`;$fault=`client`;clusterName;constructor(t){super({name:`ThrottlingException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.clusterName=t.clusterName}},swe=class e extends DQ{name=`InvalidStateException`;$fault=`client`;clusterName;constructor(t){super({name:`InvalidStateException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.clusterName=t.clusterName}},cwe=class e extends DQ{name=`ResourceLimitExceededException`;$fault=`client`;clusterName;nodegroupName;subscriptionId;constructor(t){super({name:`ResourceLimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.clusterName=t.clusterName,this.nodegroupName=t.nodegroupName,this.subscriptionId=t.subscriptionId}},lwe=class e extends DQ{name=`ServiceUnavailableException`;$fault=`server`;constructor(t){super({name:`ServiceUnavailableException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype)}},uwe=class e extends DQ{name=`UnsupportedAvailabilityZoneException`;$fault=`client`;clusterName;nodegroupName;validZones;constructor(t){super({name:`UnsupportedAvailabilityZoneException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.clusterName=t.clusterName,this.nodegroupName=t.nodegroupName,this.validZones=t.validZones}},dwe=class e extends DQ{name=`BadRequestException`;$fault=`client`;constructor(t){super({name:`BadRequestException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},fwe=class e extends DQ{name=`NotFoundException`;$fault=`client`;constructor(t){super({name:`NotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},pwe=class e extends DQ{name=`ResourcePropagationDelayException`;$fault=`client`;constructor(t){super({name:`ResourcePropagationDelayException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},mwe=`Addon`,hwe=`AssociatedAccessPolicy`,gwe=`AssociatedAccessPoliciesList`,_we=`AssociateAccessPolicyRequest`,vwe=`AssociateAccessPolicyResponse`,ywe=`AssociateAccessPolicy`,bwe=`AccessConfigResponse`,xwe=`AccessDeniedException`,Swe=`AccessEntry`,Cwe=`AddonHealth`,wwe=`AddonInfo`,Twe=`AddonIssueList`,Ewe=`AddonIssue`,Dwe=`AddonNamespaceConfigRequest`,Owe=`AddonNamespaceConfigResponse`,kwe=`AccessPolicy`,Awe=`AddonPodIdentityAssociations`,jwe=`AddonPodIdentityAssociationsList`,Mwe=`AccessPoliciesList`,Nwe=`AccessScope`,Pwe=`AutoScalingGroup`,Fwe=`AutoScalingGroupList`,Iwe=`AddonVersionInfo`,Lwe=`AddonVersionInfoList`,Rwe=`Addons`,zwe=`BadRequestException`,Bwe=`BlockStorage`,Vwe=`Cancellation`,Hwe=`CreateAddon`,Uwe=`CreateAccessConfigRequest`,Wwe=`CreateAccessEntry`,Gwe=`CreateAccessEntryRequest`,Kwe=`CreateAccessEntryResponse`,qwe=`CreateAddonRequest`,Jwe=`CreateAddonResponse`,Ywe=`ComputeConfigRequest`,Xwe=`ComputeConfigResponse`,Zwe=`ConnectorConfigResponse`,Qwe=`CreateClusterRequest`,$we=`CreateClusterResponse`,eTe=`CreateCluster`,tTe=`ClientException`,nTe=`ClusterHealth`,rTe=`ClusterIssueList`,iTe=`ClusterIssue`,aTe=`CreateNodegroup`,oTe=`CreateNodegroupRequest`,sTe=`CreateNodegroupResponse`,cTe=`ControlPlanePlacementRequest`,lTe=`ControlPlanePlacementResponse`,uTe=`ControlPlaneScalingConfig`,dTe=`Certificate`,fTe=`Cluster`,pTe=`Compatibility`,mTe=`Compatibilities`,hTe=`DeleteAddon`,gTe=`DeleteAccessEntry`,_Te=`DeleteAccessEntryRequest`,vTe=`DeleteAccessEntryResponse`,yTe=`DescribeAccessEntryRequest`,bTe=`DescribeAccessEntryResponse`,xTe=`DescribeAccessEntry`,STe=`DisassociateAccessPolicy`,CTe=`DisassociateAccessPolicyRequest`,wTe=`DisassociateAccessPolicyResponse`,TTe=`DeleteAddonRequest`,ETe=`DeleteAddonResponse`,DTe=`DescribeAddonRequest`,OTe=`DescribeAddonResponse`,kTe=`DescribeAddonVersions`,ATe=`DescribeAddonVersionsRequest`,jTe=`DescribeAddonVersionsResponse`,MTe=`DescribeAddon`,NTe=`DeleteClusterRequest`,PTe=`DeleteClusterResponse`,FTe=`DescribeClusterRequest`,ITe=`DescribeClusterResponse`,LTe=`DeleteCluster`,RTe=`DescribeCluster`,zTe=`DeleteNodegroup`,BTe=`DeleteNodegroupRequest`,VTe=`DeleteNodegroupResponse`,HTe=`DescribeNodegroupRequest`,UTe=`DescribeNodegroupResponse`,WTe=`DescribeNodegroup`,GTe=`EncryptionConfig`,KTe=`EncryptionConfigList`,qTe=`ErrorDetail`,JTe=`ErrorDetails`,YTe=`ElasticLoadBalancing`,XTe=`EtcdPlacementRequest`,ZTe=`EtcdPlacementResponse`,QTe=`HorizontalPodAutoscalerControllerConfigRequest`,$Te=`HorizontalPodAutoscalerControllerConfigResponse`,eEe=`Identity`,tEe=`IssueList`,nEe=`InvalidParameterException`,rEe=`InvalidRequestException`,iEe=`InvalidStateException`,aEe=`Issue`,oEe=`KubeApiServerConfigRequest`,sEe=`KubeApiServerConfigResponse`,cEe=`KubeControllerManagerConfigRequest`,lEe=`KubeControllerManagerConfigResponse`,uEe=`KubernetesNetworkConfigRequest`,dEe=`KubernetesNetworkConfigResponse`,fEe=`KubeSchedulerConfigRequest`,pEe=`KubeSchedulerConfigResponse`,mEe=`ListAddons`,hEe=`ListAssociatedAccessPolicies`,gEe=`ListAssociatedAccessPoliciesRequest`,_Ee=`ListAssociatedAccessPoliciesResponse`,vEe=`ListAccessEntries`,yEe=`ListAccessEntriesRequest`,bEe=`ListAccessEntriesResponse`,xEe=`ListAccessPolicies`,SEe=`ListAccessPoliciesRequest`,CEe=`ListAccessPoliciesResponse`,wEe=`ListAddonsRequest`,TEe=`ListAddonsResponse`,EEe=`ListClustersRequest`,DEe=`ListClustersResponse`,OEe=`ListClusters`,kEe=`ListNodegroups`,AEe=`ListNodegroupsRequest`,jEe=`ListNodegroupsResponse`,MEe=`LogSetup`,NEe=`LogSetups`,PEe=`LaunchTemplateSpecification`,FEe=`Logging`,IEe=`MarketplaceInformation`,LEe=`Nodegroup`,REe=`NotFoundException`,zEe=`NodegroupHealth`,BEe=`NodegroupResources`,VEe=`NodeRepairConfig`,HEe=`NodeRepairConfigOverrides`,UEe=`NodeRepairConfigOverridesList`,WEe=`NodeResourcesFitConfig`,GEe=`NodegroupScalingConfig`,KEe=`NodegroupUpdateConfig`,qEe=`OutpostConfigRequest`,JEe=`OutpostConfigResponse`,YEe=`OIDC`,XEe=`Provider`,ZEe=`RemoteAccessConfig`,QEe=`ResourceInUseException`,$Ee=`ResourceLimitExceededException`,eDe=`RemoteNetworkConfigRequest`,tDe=`RemoteNetworkConfigResponse`,nDe=`ResourceNotFoundException`,rDe=`RemoteNodeNetwork`,iDe=`RemoteNodeNetworkList`,aDe=`ResourcePropagationDelayException`,oDe=`RemotePodNetwork`,sDe=`RemotePodNetworkList`,cDe=`ResourceWeight`,lDe=`ResourceWeightList`,uDe=`StorageConfigRequest`,dDe=`StorageConfigResponse`,fDe=`ServerException`,pDe=`ServiceNodePortRange`,mDe=`ScoringStrategy`,hDe=`ServiceUnavailableException`,gDe=`Taint`,_De=`ThrottlingException`,vDe=`Update`,yDe=`UpdateAddon`,bDe=`UpdateAddonRequest`,xDe=`UpdateAddonResponse`,SDe=`UnsupportedAvailabilityZoneException`,CDe=`UpdateLabelsPayload`,wDe=`UpdateNodegroupConfig`,TDe=`UpdateNodegroupConfigRequest`,EDe=`UpdateNodegroupConfigResponse`,DDe=`UpdateNodegroupVersion`,ODe=`UpdateNodegroupVersionRequest`,kDe=`UpdateNodegroupVersionResponse`,ADe=`UpdateParam`,jDe=`UpgradePolicyRequest`,MDe=`UpgradePolicyResponse`,NDe=`UpdateParams`,PDe=`UpdateTaintsPayload`,FDe=`VpcConfigRequest`,IDe=`VpcConfigResponse`,LDe=`WarmPoolConfig`,RDe=`ZonalShiftConfigRequest`,zDe=`ZonalShiftConfigResponse`,OQ=`arn`,BDe=`addonArn`,VDe=`associatedAccessPolicy`,HDe=`associatedAccessPolicies`,UDe=`associatedAt`,kQ=`accessConfig`,WDe=`activationCode`,GDe=`activationExpiry`,KDe=`accessEntryArn`,AQ=`accessEntry`,qDe=`accessEntries`,JDe=`activationId`,jQ=`authenticationMode`,MQ=`addonName`,YDe=`addOrUpdateLabels`,XDe=`addOrUpdateTaints`,ZDe=`accessPolicies`,NQ=`associatedPolicyArn`,PQ=`accessScope`,QDe=`autoScalingGroups`,FQ=`amiType`,IQ=`addonVersion`,$De=`addonVersions`,LQ=`addon`,RQ=`addons`,eOe=`architecture`,zQ=`bootstrapClusterCreatorAdminPermissions`,BQ=`blockStorage`,tOe=`bootstrapSelfManagedAddons`,VQ=`client`,HQ=`createdAt`,nOe=`certificateAuthority`,rOe=`connectorConfig`,UQ=`computeConfig`,iOe=`clusterLogging`,A=`clusterName`,WQ=`controlPlaneEgressMode`,GQ=`controlPlaneInstanceType`,KQ=`controlPlanePlacement`,qQ=`controlPlaneScalingConfig`,JQ=`clientRequestToken`,aOe=`clusterSecurityGroupId`,oOe=`computeTypes`,YQ=`capacityType`,XQ=`configurationValues`,sOe=`clusterVersion`,cOe=`cancellation`,ZQ=`cidrs`,QQ=`cluster`,lOe=`clusters`,$Q=`code`,uOe=`compatibilities`,dOe=`data`,fOe=`defaultNamespace`,e$=`deletionProtection`,t$=`diskSize`,pOe=`desiredSize`,mOe=`defaultVersion`,n$=`error`,r$=`encryptionConfig`,hOe=`errorCode`,i$=`etcdInstanceType`,a$=`elasticLoadBalancing`,gOe=`errorMessage`,o$=`etcdPlacement`,s$=`endpointPublicAccess`,c$=`endpointPrivateAccess`,_Oe=`ec2SshKey`,l$=`eventTtl`,vOe=`effect`,u$=`enabled`,yOe=`endpoint`,bOe=`errors`,d$=`fargateProfileName`,xOe=`force`,f$=`groupName`,p$=`health`,m$=`httpError`,h$=`horizontalPodAutoscalerControllerConfig`,g$=`horizontalPodAutoscalerSyncPeriod`,_$=`httpQuery`,v$=`http`,y$=`issues`,b$=`ipFamily`,x$=`instanceTypes`,S$=`id`,SOe=`identity`,C$=`include`,COe=`issuer`,wOe=`key`,TOe=`keyArn`,w$=`kubeApiServerConfig`,T$=`kubeControllerManagerConfig`,E$=`kubernetesGroups`,D$=`kubernetesNetworkConfig`,O$=`kubeSchedulerConfig`,k$=`kubernetesVersion`,A$=`logging`,j$=`launchTemplate`,M$=`labels`,N$=`message`,P$=`modifiedAt`,EOe=`maxGroupPreparedCapacity`,F$=`marketplaceInformation`,DOe=`minPort`,OOe=`maxParallelNodesRepairedCount`,kOe=`maxParallelNodesRepairedPercentage`,AOe=`maxPort`,I$=`maxResults`,jOe=`minRepairWaitTimeMins`,L$=`minSize`,MOe=`maxSize`,NOe=`maxUnavailable`,POe=`maxUnhealthyNodeThresholdCount`,FOe=`maxUnhealthyNodeThresholdPercentage`,IOe=`maxUnavailablePercentage`,R$=`name`,LOe=`nodegroupArn`,z$=`namespaceConfig`,ROe=`nodeMonitoringCondition`,B$=`nodegroupName`,V$=`nodePools`,H$=`nodeRole`,U$=`nodeRoleArn`,W$=`nodeRepairConfig`,zOe=`nodeRepairConfigOverrides`,G$=`nodeResourcesFit`,K$=`nextToken`,BOe=`nodeUnhealthyReason`,VOe=`namespaces`,q$=`namespace`,J$=`nodegroup`,HOe=`nodegroups`,Y$=`owner`,X$=`outpostArns`,Z$=`outpostConfig`,UOe=`oidc`,Q$=`owners`,$$=`publisher`,e1=`principalArn`,t1=`publicAccessCidrs`,n1=`policyArn`,WOe=`productId`,r1=`podIdentityAssociations`,GOe=`poolState`,KOe=`productUrl`,qOe=`platformVersion`,JOe=`platformVersions`,YOe=`params`,i1=`provider`,a1=`preserve`,o1=`publishers`,s1=`roleArn`,XOe=`remoteAccessSecurityGroup`,c1=`remoteAccess`,ZOe=`repairAction`,QOe=`requiresConfiguration`,l1=`resolveConflicts`,u1=`resourceIds`,$Oe=`requiresIamPermissions`,eke=`removeLabels`,d1=`remoteNetworkConfig`,f1=`remoteNodeNetworks`,tke=`reuseOnScaleIn`,p1=`remotePodNetworks`,nke=`removeTaints`,m1=`releaseVersion`,h1=`resourcesVpcConfig`,rke=`reason`,g1=`resources`,_1=`smithy.ts.sdk.synthetic.com.amazonaws.eks`,ike=`serviceAccount`,v1=`serviceAccountRoleArn`,y1=`storageConfig`,b1=`scalingConfig`,x1=`securityGroupIds`,S1=`subscriptionId`,C1=`serviceIpv4Cidr`,ake=`serviceIpv6Cidr`,w1=`subnetIds`,T1=`spreadLevel`,E1=`serviceNodePortRange`,oke=`scoringStrategy`,ske=`sourceSecurityGroups`,D1=`supportType`,O1=`server`,k1=`status`,A1=`subnets`,j1=`tags`,cke=`taintsList`,M1=`taints`,lke=`tier`,N1=`type`,P1=`types`,F1=`username`,I1=`updateConfig`,L1=`upgradePolicy`,uke=`updateStrategy`,R1=`update`,z1=`version`,dke=`vpcId`,fke=`validZones`,B1=`value`,pke=`weight`,V1=`warmPoolConfig`,H1=`zonalShiftConfig`,j=`com.amazonaws.eks`,U1=ot.for(_1),mke=[-3,_1,`EKSServiceException`,0,[],[]];U1.registerError(mke,DQ);var W1=ot.for(j),hke=[-3,j,xwe,{[n$]:VQ,[m$]:403},[N$],[0]];W1.registerError(hke,$Ce);var gke=[-3,j,zwe,{[n$]:VQ,[m$]:400},[N$],[0]];W1.registerError(gke,dwe);var _ke=[-3,j,tTe,{[n$]:VQ,[m$]:400},[A,B$,MQ,S1,N$],[0,0,0,0,0]];W1.registerError(_ke,iwe);var vke=[-3,j,nEe,{[n$]:VQ,[m$]:400},[A,B$,d$,MQ,S1,N$],[0,0,0,0,0,0]];W1.registerError(vke,ewe);var yke=[-3,j,rEe,{[n$]:VQ,[m$]:400},[A,B$,MQ,S1,N$],[0,0,0,0,0]];W1.registerError(yke,twe);var bke=[-3,j,iEe,{[n$]:VQ,[m$]:400},[A,N$],[0,0]];W1.registerError(bke,swe);var xke=[-3,j,REe,{[n$]:VQ,[m$]:404},[N$],[0]];W1.registerError(xke,fwe);var Ske=[-3,j,QEe,{[n$]:VQ,[m$]:409},[A,B$,MQ,N$],[0,0,0,0]];W1.registerError(Ske,awe);var Cke=[-3,j,$Ee,{[n$]:VQ,[m$]:400},[A,B$,S1,N$],[0,0,0,0]];W1.registerError(Cke,cwe);var wke=[-3,j,nDe,{[n$]:VQ,[m$]:404},[A,B$,d$,MQ,S1,N$],[0,0,0,0,0,0]];W1.registerError(wke,nwe);var Tke=[-3,j,aDe,{[n$]:VQ,[m$]:428},[N$],[0]];W1.registerError(Tke,pwe);var Eke=[-3,j,fDe,{[n$]:O1,[m$]:500},[A,B$,MQ,S1,N$],[0,0,0,0,0]];W1.registerError(Eke,rwe);var Dke=[-3,j,hDe,{[n$]:O1,[m$]:503},[N$],[0]];W1.registerError(Dke,lwe);var Oke=[-3,j,_De,{[n$]:VQ,[m$]:429},[A,N$],[0,0]];W1.registerError(Oke,owe);var kke=[-3,j,SDe,{[n$]:VQ,[m$]:400},[N$,A,B$,fke],[0,0,0,64]];W1.registerError(kke,uwe);var Ake=[U1,W1],jke=[3,j,bwe,0,[zQ,jQ],[2,0]],G1=[3,j,Swe,0,[A,e1,E$,KDe,HQ,P$,j1,F1,N1],[0,0,64,0,4,4,128,0,0]],Mke=[3,j,kwe,0,[R$,OQ],[0,0]],K1=[3,j,Nwe,0,[N1,VOe],[0,64]],q1=[3,j,mwe,0,[MQ,A,k1,IQ,p$,BDe,HQ,P$,v1,j1,$$,Y$,F$,XQ,r1,z$],[0,0,0,0,()=>Nke,0,4,4,0,128,0,0,()=>t0,0,64,()=>Lke]],Nke=[3,j,Cwe,0,[y$],[()=>Fje]],Pke=[3,j,wwe,0,[MQ,N1,$De,$$,Y$,F$,fOe],[0,0,()=>Lje,0,0,()=>t0,0]],Fke=[3,j,Ewe,0,[$Q,N$,u1],[0,0,64]],Ike=[3,j,Dwe,0,[q$],[0]],Lke=[3,j,Owe,0,[q$],[0]],Rke=[3,j,Awe,0,[ike,s1],[0,0],2],zke=[3,j,Iwe,0,[IQ,eOe,oOe,uOe,QOe,$Oe],[0,64,64,()=>Vje,2,2]],Bke=[3,j,_we,0,[A,e1,n1,PQ],[[0,1],[0,1],0,()=>K1],4],Vke=[3,j,vwe,0,[A,e1,VDe],[0,0,()=>J1]],J1=[3,j,hwe,0,[n1,PQ,UDe,P$],[0,()=>K1,4,4]],Hke=[3,j,Pwe,0,[R$],[0]],Y1=[3,j,Bwe,0,[u$],[2]],Uke=[3,j,Vwe,0,[k1,rke],[0,0]],Wke=[3,j,dTe,0,[dOe],[0]],X1=[3,j,fTe,0,[R$,OQ,HQ,z1,yOe,s1,h1,D$,A$,SOe,k1,nOe,JQ,qOe,j1,r$,rOe,S$,p$,Z$,kQ,L1,H1,d1,UQ,y1,e$,qQ,w$,O$,T$],[0,0,4,0,0,0,()=>jje,()=>VAe,()=>e0,()=>PAe,0,()=>Wke,0,0,128,()=>f0,()=>Xke,0,()=>Gke,()=>cje,()=>jke,()=>kje,()=>Nje,()=>dje,()=>Yke,()=>_je,2,()=>Z1,()=>LAe,()=>UAe,()=>zAe]],Gke=[3,j,nTe,0,[y$],[()=>Bje]],Kke=[3,j,iTe,0,[$Q,N$,u1],[0,0,64]],qke=[3,j,pTe,0,[sOe,JOe,mOe],[0,64,2]],Jke=[3,j,Ywe,0,[u$,V$,U$],[2,64,0]],Yke=[3,j,Xwe,0,[u$,V$,U$],[2,64,0]],Xke=[3,j,Zwe,0,[JDe,WDe,GDe,i1,s1],[0,0,4,0,0]],Zke=[3,j,cTe,0,[f$,T1],[0,0]],Qke=[3,j,lTe,0,[f$,T1],[0,0]],Z1=[3,j,uTe,0,[lke],[0]],$ke=[3,j,Uwe,0,[zQ,jQ],[2,0]],eAe=[3,j,Gwe,0,[A,e1,E$,j1,JQ,F1,N1],[[0,1],0,64,128,[0,4],0,0],2],tAe=[3,j,Kwe,0,[AQ],[()=>G1]],nAe=[3,j,qwe,0,[A,MQ,IQ,v1,l1,JQ,j1,XQ,r1,z$],[[0,1],0,0,0,0,[0,4],128,0,()=>d0,()=>Ike],2],rAe=[3,j,Jwe,0,[LQ],[()=>q1]],iAe=[3,j,Qwe,0,[R$,s1,h1,z1,D$,A$,JQ,j1,r$,Z$,kQ,tOe,L1,H1,d1,UQ,y1,e$,qQ,w$,O$,T$],[0,0,()=>Aje,0,()=>BAe,()=>e0,[0,4],128,()=>f0,()=>sje,()=>$ke,2,()=>Oje,()=>Mje,()=>uje,()=>Jke,()=>gje,2,()=>Z1,()=>IAe,()=>HAe,()=>RAe],3],aAe=[3,j,$we,0,[QQ],[()=>X1]],oAe=[3,j,oTe,0,[A,B$,A1,H$,b1,t$,x$,FQ,c1,M$,M1,j1,JQ,j$,I1,W$,YQ,z1,m1,V1],[[0,1],0,64,0,()=>r0,1,64,0,()=>s0,128,()=>h0,128,[0,4],()=>$1,()=>i0,()=>a0,0,0,0,()=>u0],4],sAe=[3,j,sTe,0,[J$],[()=>n0]],cAe=[3,j,_Te,0,[A,e1],[[0,1],[0,1]],2],lAe=[3,j,vTe,0,[],[]],uAe=[3,j,TTe,0,[A,MQ,a1],[[0,1],[0,1],[2,{[_$]:a1}]],2],dAe=[3,j,ETe,0,[LQ],[()=>q1]],fAe=[3,j,NTe,0,[R$],[[0,1]],1],pAe=[3,j,PTe,0,[QQ],[()=>X1]],mAe=[3,j,BTe,0,[A,B$],[[0,1],[0,1]],2],hAe=[3,j,VTe,0,[J$],[()=>n0]],gAe=[3,j,yTe,0,[A,e1],[[0,1],[0,1]],2],_Ae=[3,j,bTe,0,[AQ],[()=>G1]],vAe=[3,j,DTe,0,[A,MQ],[[0,1],[0,1]],2],yAe=[3,j,OTe,0,[LQ],[()=>q1]],bAe=[3,j,ATe,0,[k$,I$,K$,MQ,P1,o1,Q$],[[0,{[_$]:k$}],[1,{[_$]:I$}],[0,{[_$]:K$}],[0,{[_$]:MQ}],[64,{[_$]:P1}],[64,{[_$]:o1}],[64,{[_$]:Q$}]]],xAe=[3,j,jTe,0,[RQ,K$],[()=>Ije,0]],SAe=[3,j,FTe,0,[R$],[[0,1]],1],CAe=[3,j,ITe,0,[QQ],[()=>X1]],wAe=[3,j,HTe,0,[A,B$],[[0,1],[0,1]],2],TAe=[3,j,UTe,0,[J$],[()=>n0]],EAe=[3,j,CTe,0,[A,e1,n1],[[0,1],[0,1],[0,1]],3],DAe=[3,j,wTe,0,[],[]],Q1=[3,j,YTe,0,[u$],[2]],OAe=[3,j,GTe,0,[g1,i1],[64,()=>lje]],kAe=[3,j,qTe,0,[hOe,gOe,u1],[0,0,64]],AAe=[3,j,XTe,0,[T1],[0]],jAe=[3,j,ZTe,0,[T1],[0]],MAe=[3,j,QTe,0,[g$],[0]],NAe=[3,j,$Te,0,[g$],[0]],PAe=[3,j,eEe,0,[UOe],[()=>oje]],FAe=[3,j,aEe,0,[$Q,N$,u1],[0,0,64]],IAe=[3,j,oEe,0,[l$,E1],[0,()=>c0]],LAe=[3,j,sEe,0,[l$,E1],[0,()=>c0]],RAe=[3,j,cEe,0,[h$],[()=>MAe]],zAe=[3,j,lEe,0,[h$],[()=>NAe]],BAe=[3,j,uEe,0,[C1,b$,a$],[0,0,()=>Q1]],VAe=[3,j,dEe,0,[C1,ake,b$,a$],[0,0,0,()=>Q1]],HAe=[3,j,fEe,0,[G$],[()=>o0]],UAe=[3,j,pEe,0,[G$],[()=>o0]],$1=[3,j,PEe,0,[R$,z1,S$],[0,0,0]],WAe=[3,j,yEe,0,[A,NQ,I$,K$],[[0,1],[0,{[_$]:NQ}],[1,{[_$]:I$}],[0,{[_$]:K$}]],1],GAe=[3,j,bEe,0,[qDe,K$],[64,0]],KAe=[3,j,SEe,0,[I$,K$],[[1,{[_$]:I$}],[0,{[_$]:K$}]]],qAe=[3,j,CEe,0,[ZDe,K$],[()=>Pje,0]],JAe=[3,j,wEe,0,[A,I$,K$],[[0,1],[1,{[_$]:I$}],[0,{[_$]:K$}]],1],YAe=[3,j,TEe,0,[RQ,K$],[64,0]],XAe=[3,j,gEe,0,[A,e1,I$,K$],[[0,1],[0,1],[1,{[_$]:I$}],[0,{[_$]:K$}]],2],ZAe=[3,j,_Ee,0,[A,e1,K$,HDe],[0,0,0,()=>Rje]],QAe=[3,j,EEe,0,[I$,K$,C$],[[1,{[_$]:I$}],[0,{[_$]:K$}],[64,{[_$]:C$}]]],$Ae=[3,j,DEe,0,[lOe,K$],[64,0]],eje=[3,j,AEe,0,[A,I$,K$],[[0,1],[1,{[_$]:I$}],[0,{[_$]:K$}]],1],tje=[3,j,jEe,0,[HOe,K$],[64,0]],e0=[3,j,FEe,0,[iOe],[()=>Wje]],nje=[3,j,MEe,0,[P1,u$],[64,2]],t0=[3,j,IEe,0,[WOe,KOe],[0,0]],n0=[3,j,LEe,0,[B$,LOe,A,z1,m1,HQ,P$,k1,YQ,b1,x$,A1,c1,FQ,H$,M$,M1,g1,t$,p$,I1,W$,j$,j1,V1],[0,0,0,0,0,4,4,0,0,()=>r0,64,64,()=>s0,0,0,128,()=>h0,()=>ije,1,()=>rje,()=>i0,()=>a0,()=>$1,128,()=>u0]],rje=[3,j,zEe,0,[y$],[()=>Uje]],ije=[3,j,BEe,0,[QDe,XOe],[()=>zje,0]],r0=[3,j,GEe,0,[L$,MOe,pOe],[1,1,1]],i0=[3,j,KEe,0,[NOe,IOe,uke],[1,1,0]],a0=[3,j,VEe,0,[u$,POe,FOe,OOe,kOe,zOe],[2,1,1,1,1,()=>Gje]],aje=[3,j,HEe,0,[ROe,BOe,jOe,ZOe],[0,0,1,0]],o0=[3,j,WEe,0,[oke],[()=>hje]],oje=[3,j,YEe,0,[COe],[0]],sje=[3,j,qEe,0,[X$,GQ,KQ,i$,o$],[64,0,()=>Zke,0,()=>AAe],2],cje=[3,j,JEe,0,[X$,GQ,KQ,i$,o$],[64,0,()=>Qke,0,()=>jAe],2],lje=[3,j,XEe,0,[TOe],[0]],s0=[3,j,ZEe,0,[_Oe,ske],[0,64]],uje=[3,j,eDe,0,[f1,p1],[()=>p0,()=>m0]],dje=[3,j,tDe,0,[f1,p1],[()=>p0,()=>m0]],fje=[3,j,rDe,0,[ZQ],[64]],pje=[3,j,oDe,0,[ZQ],[64]],mje=[3,j,cDe,0,[R$,pke],[0,1]],hje=[3,j,mDe,0,[N1,g1],[0,()=>Kje]],c0=[3,j,pDe,0,[DOe,AOe],[1,1]],gje=[3,j,uDe,0,[BQ],[()=>Y1]],_je=[3,j,dDe,0,[BQ],[()=>Y1]],vje=[3,j,gDe,0,[wOe,B1,vOe],[0,0,0]],l0=[3,j,vDe,0,[S$,k1,N1,YOe,HQ,bOe,cOe],[0,0,0,()=>qje,4,()=>Hje,()=>Uke]],yje=[3,j,bDe,0,[A,MQ,IQ,v1,l1,JQ,XQ,r1],[[0,1],[0,1],0,0,0,[0,4],0,()=>d0],2],bje=[3,j,xDe,0,[R1],[()=>l0]],xje=[3,j,CDe,0,[YDe,eke],[128,64]],Sje=[3,j,TDe,0,[A,B$,M$,M1,b1,I1,W$,V1,JQ],[[0,1],[0,1],()=>xje,()=>Dje,()=>r0,()=>i0,()=>a0,()=>u0,[0,4]],2],Cje=[3,j,EDe,0,[R1],[()=>l0]],wje=[3,j,ODe,0,[A,B$,z1,m1,j$,xOe,JQ],[[0,1],[0,1],0,0,()=>$1,2,[0,4]],2],Tje=[3,j,kDe,0,[R1],[()=>l0]],Eje=[3,j,ADe,0,[N1,B1],[0,0]],Dje=[3,j,PDe,0,[XDe,nke],[()=>h0,()=>h0]],Oje=[3,j,jDe,0,[D1],[0]],kje=[3,j,MDe,0,[D1],[0]],Aje=[3,j,FDe,0,[w1,x1,s$,c$,t1,WQ],[64,64,2,2,64,0]],jje=[3,j,IDe,0,[w1,x1,aOe,dke,s$,c$,t1,WQ],[64,64,0,0,2,2,64,0]],u0=[3,j,LDe,0,[u$,L$,EOe,GOe,tke],[2,1,1,0,2]],Mje=[3,j,RDe,0,[u$],[2]],Nje=[3,j,zDe,0,[u$],[2]],Pje=[1,j,Mwe,0,()=>Mke],Fje=[1,j,Twe,0,()=>Fke],d0=[1,j,jwe,0,()=>Rke],Ije=[1,j,Rwe,0,()=>Pke],Lje=[1,j,Lwe,0,()=>zke],Rje=[1,j,gwe,0,()=>J1],zje=[1,j,Fwe,0,()=>Hke],Bje=[1,j,rTe,0,()=>Kke],Vje=[1,j,mTe,0,()=>qke],f0=[1,j,KTe,0,()=>OAe],Hje=[1,j,JTe,0,()=>kAe],Uje=[1,j,tEe,0,()=>FAe],Wje=[1,j,NEe,0,()=>nje],Gje=[1,j,UEe,0,()=>aje],p0=[1,j,iDe,0,()=>fje],m0=[1,j,sDe,0,()=>pje],Kje=[1,j,lDe,0,()=>mje],h0=[1,j,cke,0,()=>vje],qje=[1,j,NDe,0,()=>Eje],Jje=[9,j,ywe,{[v$]:[`POST`,`/clusters/{clusterName}/access-entries/{principalArn}/access-policies`,200]},()=>Bke,()=>Vke],Yje=[9,j,Wwe,{[v$]:[`POST`,`/clusters/{clusterName}/access-entries`,200]},()=>eAe,()=>tAe],Xje=[9,j,Hwe,{[v$]:[`POST`,`/clusters/{clusterName}/addons`,200]},()=>nAe,()=>rAe],Zje=[9,j,eTe,{[v$]:[`POST`,`/clusters`,200]},()=>iAe,()=>aAe],Qje=[9,j,aTe,{[v$]:[`POST`,`/clusters/{clusterName}/node-groups`,200]},()=>oAe,()=>sAe],$je=[9,j,gTe,{[v$]:[`DELETE`,`/clusters/{clusterName}/access-entries/{principalArn}`,200]},()=>cAe,()=>lAe],eMe=[9,j,hTe,{[v$]:[`DELETE`,`/clusters/{clusterName}/addons/{addonName}`,200]},()=>uAe,()=>dAe],tMe=[9,j,LTe,{[v$]:[`DELETE`,`/clusters/{name}`,200]},()=>fAe,()=>pAe],nMe=[9,j,zTe,{[v$]:[`DELETE`,`/clusters/{clusterName}/node-groups/{nodegroupName}`,200]},()=>mAe,()=>hAe],rMe=[9,j,xTe,{[v$]:[`GET`,`/clusters/{clusterName}/access-entries/{principalArn}`,200]},()=>gAe,()=>_Ae],iMe=[9,j,MTe,{[v$]:[`GET`,`/clusters/{clusterName}/addons/{addonName}`,200]},()=>vAe,()=>yAe],aMe=[9,j,kTe,{[v$]:[`GET`,`/addons/supported-versions`,200]},()=>bAe,()=>xAe],oMe=[9,j,RTe,{[v$]:[`GET`,`/clusters/{name}`,200]},()=>SAe,()=>CAe],sMe=[9,j,WTe,{[v$]:[`GET`,`/clusters/{clusterName}/node-groups/{nodegroupName}`,200]},()=>wAe,()=>TAe],cMe=[9,j,STe,{[v$]:[`DELETE`,`/clusters/{clusterName}/access-entries/{principalArn}/access-policies/{policyArn}`,200]},()=>EAe,()=>DAe],lMe=[9,j,vEe,{[v$]:[`GET`,`/clusters/{clusterName}/access-entries`,200]},()=>WAe,()=>GAe],uMe=[9,j,xEe,{[v$]:[`GET`,`/access-policies`,200]},()=>KAe,()=>qAe],dMe=[9,j,mEe,{[v$]:[`GET`,`/clusters/{clusterName}/addons`,200]},()=>JAe,()=>YAe],fMe=[9,j,hEe,{[v$]:[`GET`,`/clusters/{clusterName}/access-entries/{principalArn}/access-policies`,200]},()=>XAe,()=>ZAe],pMe=[9,j,OEe,{[v$]:[`GET`,`/clusters`,200]},()=>QAe,()=>$Ae],mMe=[9,j,kEe,{[v$]:[`GET`,`/clusters/{clusterName}/node-groups`,200]},()=>eje,()=>tje],hMe=[9,j,yDe,{[v$]:[`POST`,`/clusters/{clusterName}/addons/{addonName}/update`,200]},()=>yje,()=>bje],gMe=[9,j,wDe,{[v$]:[`POST`,`/clusters/{clusterName}/node-groups/{nodegroupName}/update-config`,200]},()=>Sje,()=>Cje],_Me=[9,j,DDe,{[v$]:[`POST`,`/clusters/{clusterName}/node-groups/{nodegroupName}/update-version`,200]},()=>wje,()=>Tje],vMe=e=>({apiVersion:`2017-11-01`,base64Decoder:e?.base64Decoder??Ge,base64Encoder:e?.base64Encoder??he,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??QCe,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??UCe,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new me}],logger:e?.logger??new Ue,protocol:e?.protocol??Nee,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.eks`,errorTypeRegistries:Ake,version:`2017-11-01`,serviceTarget:`AWSWesleyFrontend`},serviceId:e?.serviceId??`EKS`,sha256:e?.sha256??ze,urlParser:e?.urlParser??Ce,utf8Decoder:e?.utf8Decoder??st,utf8Encoder:e?.utf8Encoder??ct}),yMe=e=>{let t=He(e),n=()=>t().then(_e),r=vMe(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Ne,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??ge({serviceId:r.serviceId,clientVersion:qCe.version}),maxAttempts:e?.maxAttempts??3,region:e?.region??Te(`Region is missing`),requestHandler:xe.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||oe),streamCollector:e?.streamCollector??Pe,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},bMe=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}}},xMe=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),SMe=(e,n)=>{let r=Object.assign(We(e),de(e),ke(e),bMe(e));return n.forEach(e=>e.configure(r)),Object.assign(e,t(r),pe(r),ve(r),xMe(r))},CMe=class extends i{config;constructor(...[e]){let t=yMe(e||{});super(t),this.initConfig=t;let n=GCe(t),i=ie(n),a=Xe(i),o=ue(a),s=Ee(o),c=SMe(WCe(Ie(s)),e?.extensions||[]);this.config=c,this.middlewareStack.use(be(this.config)),this.middlewareStack.use(u(this.config)),this.middlewareStack.use(se(this.config)),this.middlewareStack.use(Oe(this.config)),this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(re(this.config)),this.middlewareStack.use(we(this.config)),this.middlewareStack.use(r(this.config,{httpAuthSchemeParametersProvider:VCe,identityProviderConfigProvider:async e=>new le({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(ye(this.config))}destroy(){super.destroy()}},wMe=async(e,t,n)=>({operation:Ze(t).operation,region:await De(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function TMe(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`elasticloadbalancing`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var EMe=e=>{let t=[];return e.operation,t.push(TMe(e)),t},DMe=e=>{let t=tt(e);return Object.assign(t,{authSchemePreference:De(e.authSchemePreference??[])})},OMe=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:`elasticloadbalancing`}),kMe={UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},AMe={name:`@aws-sdk/client-elastic-load-balancing-v2`,version:`3.1109.0`,description:`AWS SDK for JavaScript Elastic Load Balancing V2 Client for Node.js, Browser and React Native`,homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-elastic-load-balancing-v2`,license:`Apache-2.0`,author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/sdk-for-javascript/`},repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-elastic-load-balancing-v2`},files:[`dist-*/**`],sideEffects:!1,main:`./dist-cjs/index.js`,module:`./dist-es/index.js`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},types:`./dist-types/index.d.ts`,typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline`,"build:es":`premove dist-es && tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`premove dist-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`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service`,"test:e2e":`yarn g:vitest run -c vitest.config.e2e.mts`,"test:e2e:watch":`yarn g:vitest watch -c vitest.config.e2e.mts`,"test:index":`tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs`},dependencies:{"@aws-sdk/core":`^3.977.7`,"@aws-sdk/credential-provider-node":`^3.972.79`,"@aws-sdk/types":`^3.974.3`,"@smithy/core":`^3.31.1`,"@smithy/fetch-http-handler":`^5.6.13`,"@smithy/node-http-handler":`^4.9.13`,"@smithy/types":`^4.16.1`,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:`~6.0.3`},engines:{node:`>=20.0.0`}},g0=`ref`,_0=-1,v0=!0,y0=`isSet`,b0=`PartitionResult`,x0=`booleanEquals`,S0=`getAttr`,C0={[g0]:`Endpoint`},w0={[g0]:b0},T0={},E0=[{[g0]:`Region`}],D0={conditions:[[y0,[C0]],[y0,E0],[`aws.partition`,E0,b0],[x0,[{[g0]:`UseFIPS`},v0]],[x0,[{[g0]:`UseDualStack`},v0]],[x0,[{fn:S0,argv:[w0,`supportsDualStack`]},v0]],[x0,[{fn:S0,argv:[w0,`supportsFIPS`]},v0]],[`stringEquals`,[{fn:S0,argv:[w0,`name`]},`aws-us-gov`]]],results:[[_0],[_0,`Invalid Configuration: FIPS and custom endpoint are not supported`],[_0,`Invalid Configuration: Dualstack and custom endpoint are not supported`],[C0,T0],[`https://elasticloadbalancing-fips.{Region}.{PartitionResult#dualStackDnsSuffix}`,T0],[_0,`FIPS and DualStack are enabled, but this partition does not support one or both`],[`https://elasticloadbalancing.{Region}.amazonaws.com`,T0],[`https://elasticloadbalancing-fips.{Region}.{PartitionResult#dnsSuffix}`,T0],[_0,`FIPS is enabled but this partition does not support FIPS`],[`https://elasticloadbalancing.{Region}.{PartitionResult#dualStackDnsSuffix}`,T0],[_0,`DualStack is enabled but this partition does not support DualStack`],[`https://elasticloadbalancing.{Region}.{PartitionResult#dnsSuffix}`,T0],[_0,`Invalid Configuration: Missing Region`]]},jMe=2,MMe=new Int32Array([-1,1,-1,0,13,3,1,4,100000012,2,5,100000012,3,8,6,4,7,100000011,5,100000009,100000010,4,11,9,6,10,100000008,7,100000006,100000007,5,12,100000005,6,100000004,100000005,3,100000001,14,4,100000002,100000003]),NMe=Re.from(MMe,jMe,D0.conditions,D0.results),PMe=new Be({size:50,params:[`Endpoint`,`Region`,`UseDualStack`,`UseFIPS`]}),FMe=(e,t={})=>PMe.get(e,()=>Ye(NMe,{endpointParams:e,logger:t.logger}));qe.aws=fe;var M=class e extends te{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},IMe=class e extends M{name=`CertificateNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`CertificateNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},LMe=class e extends M{name=`ListenerNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`ListenerNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},RMe=class e extends M{name=`TooManyCertificatesException`;$fault=`client`;Message;constructor(t){super({name:`TooManyCertificatesException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},zMe=class e extends M{name=`DuplicateTagKeysException`;$fault=`client`;Message;constructor(t){super({name:`DuplicateTagKeysException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},BMe=class e extends M{name=`LoadBalancerNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`LoadBalancerNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},VMe=class e extends M{name=`RuleNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`RuleNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},HMe=class e extends M{name=`TargetGroupNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`TargetGroupNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},UMe=class e extends M{name=`TooManyTagsException`;$fault=`client`;Message;constructor(t){super({name:`TooManyTagsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},WMe=class e extends M{name=`TrustStoreNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`TrustStoreNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},GMe=class e extends M{name=`InvalidRevocationContentException`;$fault=`client`;Message;constructor(t){super({name:`InvalidRevocationContentException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},KMe=class e extends M{name=`RevocationContentNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`RevocationContentNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},qMe=class e extends M{name=`TooManyTrustStoreRevocationEntriesException`;$fault=`client`;Message;constructor(t){super({name:`TooManyTrustStoreRevocationEntriesException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},JMe=class e extends M{name=`AllocationIdNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`AllocationIdNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},YMe=class e extends M{name=`ALPNPolicyNotSupportedException`;$fault=`client`;Message;constructor(t){super({name:`ALPNPolicyNotSupportedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},XMe=class e extends M{name=`AvailabilityZoneNotSupportedException`;$fault=`client`;Message;constructor(t){super({name:`AvailabilityZoneNotSupportedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},ZMe=class e extends M{name=`CaCertificatesBundleNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`CaCertificatesBundleNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},QMe=class e extends M{name=`CapacityDecreaseRequestsLimitExceededException`;$fault=`client`;Message;constructor(t){super({name:`CapacityDecreaseRequestsLimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},$Me=class e extends M{name=`CapacityReservationPendingException`;$fault=`client`;Message;constructor(t){super({name:`CapacityReservationPendingException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},eNe=class e extends M{name=`CapacityUnitsLimitExceededException`;$fault=`client`;Message;constructor(t){super({name:`CapacityUnitsLimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},tNe=class e extends M{name=`DuplicateListenerException`;$fault=`client`;Message;constructor(t){super({name:`DuplicateListenerException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},nNe=class e extends M{name=`IncompatibleProtocolsException`;$fault=`client`;Message;constructor(t){super({name:`IncompatibleProtocolsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},rNe=class e extends M{name=`InvalidConfigurationRequestException`;$fault=`client`;Message;constructor(t){super({name:`InvalidConfigurationRequestException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},iNe=class e extends M{name=`InvalidLoadBalancerActionException`;$fault=`client`;Message;constructor(t){super({name:`InvalidLoadBalancerActionException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},aNe=class e extends M{name=`SSLPolicyNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`SSLPolicyNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},oNe=class e extends M{name=`TargetGroupAssociationLimitException`;$fault=`client`;Message;constructor(t){super({name:`TargetGroupAssociationLimitException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},sNe=class e extends M{name=`TooManyActionsException`;$fault=`client`;Message;constructor(t){super({name:`TooManyActionsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},cNe=class e extends M{name=`TooManyListenersException`;$fault=`client`;Message;constructor(t){super({name:`TooManyListenersException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},lNe=class e extends M{name=`TooManyRegistrationsForTargetIdException`;$fault=`client`;Message;constructor(t){super({name:`TooManyRegistrationsForTargetIdException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},uNe=class e extends M{name=`TooManyTargetsException`;$fault=`client`;Message;constructor(t){super({name:`TooManyTargetsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},dNe=class e extends M{name=`TooManyUniqueTargetGroupsPerLoadBalancerException`;$fault=`client`;Message;constructor(t){super({name:`TooManyUniqueTargetGroupsPerLoadBalancerException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},fNe=class e extends M{name=`TrustStoreNotReadyException`;$fault=`client`;Message;constructor(t){super({name:`TrustStoreNotReadyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},pNe=class e extends M{name=`UnsupportedProtocolException`;$fault=`client`;Message;constructor(t){super({name:`UnsupportedProtocolException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},mNe=class e extends M{name=`DuplicateLoadBalancerNameException`;$fault=`client`;Message;constructor(t){super({name:`DuplicateLoadBalancerNameException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},hNe=class e extends M{name=`InvalidSchemeException`;$fault=`client`;Message;constructor(t){super({name:`InvalidSchemeException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},gNe=class e extends M{name=`InvalidSecurityGroupException`;$fault=`client`;Message;constructor(t){super({name:`InvalidSecurityGroupException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},_Ne=class e extends M{name=`InvalidSubnetException`;$fault=`client`;Message;constructor(t){super({name:`InvalidSubnetException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},vNe=class e extends M{name=`OperationNotPermittedException`;$fault=`client`;Message;constructor(t){super({name:`OperationNotPermittedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},yNe=class e extends M{name=`ResourceInUseException`;$fault=`client`;Message;constructor(t){super({name:`ResourceInUseException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},bNe=class e extends M{name=`SubnetNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`SubnetNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},xNe=class e extends M{name=`TooManyLoadBalancersException`;$fault=`client`;Message;constructor(t){super({name:`TooManyLoadBalancersException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},SNe=class e extends M{name=`PriorityInUseException`;$fault=`client`;Message;constructor(t){super({name:`PriorityInUseException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},CNe=class e extends M{name=`TooManyRulesException`;$fault=`client`;Message;constructor(t){super({name:`TooManyRulesException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},wNe=class e extends M{name=`TooManyTargetGroupsException`;$fault=`client`;Message;constructor(t){super({name:`TooManyTargetGroupsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},TNe=class e extends M{name=`DuplicateTargetGroupNameException`;$fault=`client`;Message;constructor(t){super({name:`DuplicateTargetGroupNameException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},ENe=class e extends M{name=`DuplicateTrustStoreNameException`;$fault=`client`;Message;constructor(t){super({name:`DuplicateTrustStoreNameException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},DNe=class e extends M{name=`InvalidCaCertificatesBundleException`;$fault=`client`;Message;constructor(t){super({name:`InvalidCaCertificatesBundleException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},ONe=class e extends M{name=`TooManyTrustStoresException`;$fault=`client`;Message;constructor(t){super({name:`TooManyTrustStoresException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},kNe=class e extends M{name=`DeleteAssociationSameAccountException`;$fault=`client`;Message;constructor(t){super({name:`DeleteAssociationSameAccountException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},ANe=class e extends M{name=`TrustStoreAssociationNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`TrustStoreAssociationNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},jNe=class e extends M{name=`TrustStoreInUseException`;$fault=`client`;Message;constructor(t){super({name:`TrustStoreInUseException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},MNe=class e extends M{name=`InvalidTargetException`;$fault=`client`;Message;constructor(t){super({name:`InvalidTargetException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},NNe=class e extends M{name=`HealthUnavailableException`;$fault=`server`;Message;constructor(t){super({name:`HealthUnavailableException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},PNe=class e extends M{name=`RevocationIdNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`RevocationIdNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},FNe=class e extends M{name=`ResourceNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`ResourceNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},INe=class e extends M{name=`InsufficientCapacityException`;$fault=`server`;Message;constructor(t){super({name:`InsufficientCapacityException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},LNe=class e extends M{name=`PriorRequestNotCompleteException`;$fault=`client`;Message;constructor(t){super({name:`PriorRequestNotCompleteException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},RNe=`Action`,zNe=`AdditionalClaims`,BNe=`AuthenticateCognitoActionConfig`,VNe=`AuthenticateCognitoConfig`,O0=`AnomalyDetection`,HNe=`AuthorizationEndpoint`,k0=`AllocationId`,UNe=`AllocationIdNotFoundException`,WNe=`ALPNPolicyNotSupportedException`,A0=`AdministrativeOverride`,GNe=`AuthenticateOidcActionConfig`,KNe=`AuthenticateOidcConfig`,j0=`AlpnPolicy`,M0=`AuthenticationRequestExtraParams`,qNe=`AddTags`,JNe=`AddTagsInput`,YNe=`AddTagsOutput`,XNe=`AdvertiseTrustStoreCaNames`,N0=`AvailabilityZone`,ZNe=`AvailabilityZoneNotSupportedException`,P0=`AvailabilityZones`,F0=`Actions`,I0=`Attributes`,L0=`Certificates`,QNe=`CertificateArn`,$Ne=`CaCertificatesBundleNotFoundException`,ePe=`CapacityDecreaseRequestsLimitExceededException`,tPe=`CanonicalHostedZoneId`,nPe=`ClientId`,rPe=`CertificateList`,iPe=`CreateLoadBalancer`,aPe=`CreateLoadBalancerInput`,oPe=`CreateLoadBalancerOutput`,sPe=`CreateListenerInput`,cPe=`CreateListenerOutput`,lPe=`CreateListener`,uPe=`CertificateNotFoundException`,R0=`CustomerOwnedIpv4Pool`,dPe=`CreateRule`,fPe=`CreateRuleInput`,pPe=`CreateRuleOutput`,mPe=`CapacityReservationPendingException`,hPe=`ClientSecret`,gPe=`ContentType`,_Pe=`CreateTargetGroup`,vPe=`CreateTargetGroupInput`,yPe=`CreateTargetGroupOutput`,bPe=`CreatedTime`,xPe=`CapacityUnitsLimitExceededException`,SPe=`Certificate`,CPe=`Cipher`,z0=`Ciphers`,wPe=`Code`,B0=`Conditions`,V0=`Description`,H0=`DefaultActions`,TPe=`DeleteAssociationSameAccountException`,EPe=`DeleteListener`,DPe=`DeleteLoadBalancer`,OPe=`DescribeLoadBalancerAttributes`,kPe=`DescribeLoadBalancerAttributesInput`,APe=`DescribeLoadBalancerAttributesOutput`,jPe=`DeleteLoadBalancerInput`,MPe=`DescribeLoadBalancersInput`,NPe=`DuplicateLoadBalancerNameException`,PPe=`DeleteLoadBalancerOutput`,FPe=`DescribeLoadBalancersOutput`,IPe=`DescribeLoadBalancers`,LPe=`DuplicateListenerException`,RPe=`DeleteListenerInput`,zPe=`DescribeListenersInput`,BPe=`DeleteListenerOutput`,VPe=`DescribeListenersOutput`,HPe=`DescribeListeners`,UPe=`DNSName`,WPe=`DeleteRule`,GPe=`DeleteRuleInput`,KPe=`DescribeRulesInput`,qPe=`DeleteRuleOutput`,JPe=`DescribeRulesOutput`,YPe=`DescribeRules`,XPe=`DurationSeconds`,ZPe=`DescribeSSLPolicies`,QPe=`DescribeSSLPoliciesInput`,$Pe=`DescribeSSLPoliciesOutput`,eFe=`DeregisterTargets`,tFe=`DeleteTargetGroup`,nFe=`DescribeTargetGroupAttributes`,rFe=`DescribeTargetGroupAttributesInput`,iFe=`DescribeTargetGroupAttributesOutput`,aFe=`DeleteTargetGroupInput`,oFe=`DescribeTargetGroupsInput`,sFe=`DuplicateTargetGroupNameException`,cFe=`DeleteTargetGroupOutput`,lFe=`DescribeTargetGroupsOutput`,uFe=`DescribeTargetGroups`,dFe=`DescribeTargetHealth`,fFe=`DescribeTargetHealthInput`,pFe=`DescribeTargetHealthOutput`,mFe=`DeregisterTargetsInput`,hFe=`DescribeTagsInput`,gFe=`DuplicateTagKeysException`,_Fe=`DeregisterTargetsOutput`,vFe=`DescribeTagsOutput`,yFe=`DuplicateTrustStoreNameException`,bFe=`DescribeTags`,xFe=`Enabled`,U0=`EnablePrefixForIpv6SourceNat`,W0=`EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic`,SFe=`Format`,CFe=`ForwardActionConfig`,wFe=`ForwardConfig`,TFe=`FixedResponseActionConfig`,EFe=`FixedResponseConfig`,DFe=`Field`,OFe=`GrpcCode`,kFe=`Host`,AFe=`HttpCode`,G0=`HealthCheckEnabled`,K0=`HealthCheckIntervalSeconds`,q0=`HealthCheckProtocol`,J0=`HealthCheckPort`,Y0=`HealthCheckPath`,X0=`HealthCheckTimeoutSeconds`,jFe=`HostHeaderConfig`,MFe=`HostHeaderConditionConfig`,NFe=`HttpHeaderConditionConfig`,PFe=`HttpHeaderConfig`,FFe=`HttpHeaderName`,Z0=`HostHeaderRewriteConfig`,IFe=`HttpRequestMethodConfig`,LFe=`HttpRequestMethodConditionConfig`,Q0=`HealthyThresholdCount`,RFe=`HealthUnavailableException`,$0=`Issuer`,zFe=`IpAddress`,e2=`IpAddressType`,BFe=`InvalidCaCertificatesBundleException`,VFe=`IgnoreClientCertificateExpiry`,HFe=`InsufficientCapacityException`,UFe=`InvalidConfigurationRequestException`,t2=`IsDefault`,WFe=`Ipv4IpamPoolId`,GFe=`InvalidLoadBalancerActionException`,n2=`IpamPools`,r2=`IPv6Address`,KFe=`IncompatibleProtocolsException`,qFe=`InvalidRevocationContentException`,JFe=`InvalidSchemeException`,YFe=`InvalidSubnetException`,XFe=`InvalidSecurityGroupException`,ZFe=`InvalidTargetException`,QFe=`Id`,$Fe=`Include`,eIe=`JwksEndpoint`,tIe=`JwtValidationActionAdditionalClaim`,nIe=`JwtValidationActionAdditionalClaims`,rIe=`JwtValidationActionConfig`,iIe=`JwtValidationConfig`,i2=`Key`,a2=`Listeners`,o2=`ListenerArn`,aIe=`ListenerArns`,s2=`LoadBalancers`,c2=`LoadBalancerAddresses`,l2=`LoadBalancerArn`,u2=`LoadBalancerArns`,oIe=`LoadBalancerAddress`,sIe=`LoadBalancerAttribute`,cIe=`LoadBalancerAttributes`,lIe=`LoadBalancerName`,uIe=`LoadBalancerNotFoundException`,dIe=`LoadBalancerState`,fIe=`LoadBalancerType`,pIe=`LoadBalancer`,mIe=`ListenerNotFoundException`,hIe=`Listener`,N=`Message`,d2=`MutualAuthentication`,gIe=`MutualAuthenticationAttributes`,_Ie=`MessageBody`,vIe=`MitigationInEffect`,yIe=`ModifyListener`,bIe=`ModifyLoadBalancerAttributes`,xIe=`ModifyLoadBalancerAttributesInput`,SIe=`ModifyLoadBalancerAttributesOutput`,CIe=`ModifyListenerInput`,wIe=`ModifyListenerOutput`,TIe=`ModifyRule`,EIe=`ModifyRuleInput`,DIe=`ModifyRuleOutput`,OIe=`ModifyTargetGroupAttributes`,kIe=`ModifyTargetGroupAttributesInput`,AIe=`ModifyTargetGroupAttributesOutput`,f2=`Matcher`,p2=`Marker`,jIe=`Mode`,m2=`Name`,h2=`NextMarker`,g2=`Names`,MIe=`Order`,NIe=`OutpostId`,PIe=`OperationNotPermittedException`,_2=`OnUnauthenticatedRequest`,v2=`Priority`,y2=`PrivateIPv4Address`,FIe=`PriorityInUseException`,IIe=`PathPatternConfig`,LIe=`PathPatternConditionConfig`,RIe=`PriorRequestNotCompleteException`,b2=`PageSize`,x2=`ProtocolVersion`,zIe=`Path`,S2=`Port`,C2=`Protocol`,BIe=`Query`,VIe=`QueryStringConfig`,HIe=`QueryStringConditionConfig`,UIe=`QuicServerId`,WIe=`QueryStringKeyValuePair`,GIe=`QueryStringKeyValuePairList`,w2=`Reason`,T2=`ResourceArns`,KIe=`RedirectActionConfig`,qIe=`ResourceArn`,E2=`RuleArn`,JIe=`RuleArns`,YIe=`RedirectConfig`,XIe=`RewriteConfigList`,ZIe=`RuleConditionList`,QIe=`RevocationContentNotFoundException`,$Ie=`RewriteConfig`,eLe=`RuleCondition`,tLe=`RevocationIdNotFoundException`,nLe=`ResourceInUseException`,rLe=`ResourceNotFoundException`,iLe=`RuleNotFoundException`,aLe=`RegisterTargetsInput`,oLe=`RemoveTagsInput`,sLe=`RuleTransformList`,cLe=`RegisterTargetsOutput`,lLe=`RemoveTagsOutput`,uLe=`ResetTransforms`,dLe=`RegisterTargets`,fLe=`RemoveTags`,pLe=`RuleTransform`,D2=`RegexValues`,mLe=`Result`,hLe=`Regex`,gLe=`Replace`,O2=`Rewrites`,k2=`Rules`,_Le=`Rule`,A2=`State`,j2=`StatusCode`,M2=`SessionCookieName`,N2=`SecurityGroups`,vLe=`SecurityGroupIds`,P2=`SubnetId`,yLe=`SourceIpConfig`,bLe=`SourceIpConditionConfig`,xLe=`SupportedLoadBalancerTypes`,F2=`SubnetMappings`,SLe=`SubnetMapping`,CLe=`SubnetNotFoundException`,wLe=`SourceNatIpv6Prefixes`,TLe=`SourceNatIpv6Prefix`,I2=`SslPolicy`,L2=`SslPolicies`,ELe=`SslProtocols`,DLe=`SetSubnets`,OLe=`SetSecurityGroups`,kLe=`SetSecurityGroupsInput`,ALe=`SetSecurityGroupsOutput`,jLe=`SetSubnetsInput`,MLe=`SSLPolicyNotFoundException`,NLe=`SetSubnetsOutput`,R2=`SessionTimeout`,z2=`Scope`,B2=`Scheme`,V2=`Subnets`,H2=`Type`,U2=`TargetControlPort`,W2=`TagDescriptions`,PLe=`TagDescription`,FLe=`TargetDescription`,ILe=`TargetDescriptions`,LLe=`TokenEndpoint`,G2=`TargetGroups`,K2=`TargetGroupArn`,RLe=`TargetGroupAssociationLimitException`,zLe=`TargetGroupArns`,BLe=`TargetGroupAttribute`,VLe=`TargetGroupAttributes`,HLe=`TargetGroupList`,ULe=`TargetGroupName`,WLe=`TargetGroupNotFoundException`,q2=`TargetGroupStickinessConfig`,GLe=`TargetGroupTuple`,KLe=`TargetGroup`,J2=`TargetHealth`,Y2=`TargetHealthDescriptions`,qLe=`TargetHealthDescription`,JLe=`TagKeys`,YLe=`TagList`,XLe=`TooManyActionsException`,ZLe=`TooManyCertificatesException`,QLe=`TooManyLoadBalancersException`,$Le=`TooManyListenersException`,eRe=`TooManyRulesException`,tRe=`TooManyRegistrationsForTargetIdException`,nRe=`TooManyTagsException`,rRe=`TooManyTargetsException`,iRe=`TooManyTargetGroupsException`,aRe=`TooManyTrustStoresException`,oRe=`TooManyTrustStoreRevocationEntriesException`,sRe=`TooManyUniqueTargetGroupsPerLoadBalancerException`,cRe=`TrustStoreArn`,lRe=`TrustStoreAssociationNotFoundException`,uRe=`TrustStoreAssociationStatus`,dRe=`TrustStoreInUseException`,fRe=`TrustStoreNotFoundException`,pRe=`TrustStoreNotReadyException`,X2=`TargetType`,Z2=`Tags`,mRe=`Tag`,Q2=`Targets`,hRe=`Target`,$2=`Transforms`,gRe=`UseExistingClientSecret`,_Re=`UserInfoEndpoint`,vRe=`UserPoolArn`,yRe=`UserPoolClientId`,bRe=`UserPoolDomain`,xRe=`UnsupportedProtocolException`,e4=`UrlRewriteConfig`,t4=`UnhealthyThresholdCount`,n4=`Values`,r4=`VpcId`,i4=`Value`,SRe=`Weight`,CRe=`ZoneName`,P=`awsQueryError`,F=`client`,I=`error`,L=`httpError`,a4=`smithy.ts.sdk.synthetic.com.amazonaws.elasticloadbalancingv2`,o4=`server`,R=`com.amazonaws.elasticloadbalancingv2`,s4=ot.for(a4),wRe=[-3,a4,`ElasticLoadBalancingV2ServiceException`,0,[],[]];s4.registerError(wRe,M);var z=ot.for(R),TRe=[-3,R,UNe,{[P]:[`AllocationIdNotFound`,400],[I]:F,[L]:400},[N],[0]];z.registerError(TRe,JMe);var ERe=[-3,R,WNe,{[P]:[`ALPNPolicyNotFound`,400],[I]:F,[L]:400},[N],[0]];z.registerError(ERe,YMe);var DRe=[-3,R,ZNe,{[P]:[`AvailabilityZoneNotSupported`,400],[I]:F,[L]:400},[N],[0]];z.registerError(DRe,XMe);var ORe=[-3,R,$Ne,{[P]:[`CaCertificatesBundleNotFound`,400],[I]:F,[L]:400},[N],[0]];z.registerError(ORe,ZMe);var kRe=[-3,R,ePe,{[P]:[`CapacityDecreaseRequestLimitExceeded`,400],[I]:F,[L]:400},[N],[0]];z.registerError(kRe,QMe);var ARe=[-3,R,mPe,{[P]:[`CapacityReservationPending`,400],[I]:F,[L]:400},[N],[0]];z.registerError(ARe,$Me);var jRe=[-3,R,xPe,{[P]:[`CapacityUnitsLimitExceeded`,400],[I]:F,[L]:400},[N],[0]];z.registerError(jRe,eNe);var MRe=[-3,R,uPe,{[P]:[`CertificateNotFound`,400],[I]:F,[L]:400},[N],[0]];z.registerError(MRe,IMe);var NRe=[-3,R,TPe,{[P]:[`DeleteAssociationSameAccount`,400],[I]:F,[L]:400},[N],[0]];z.registerError(NRe,kNe);var PRe=[-3,R,LPe,{[P]:[`DuplicateListener`,400],[I]:F,[L]:400},[N],[0]];z.registerError(PRe,tNe);var FRe=[-3,R,NPe,{[P]:[`DuplicateLoadBalancerName`,400],[I]:F,[L]:400},[N],[0]];z.registerError(FRe,mNe);var IRe=[-3,R,gFe,{[P]:[`DuplicateTagKeys`,400],[I]:F,[L]:400},[N],[0]];z.registerError(IRe,zMe);var LRe=[-3,R,sFe,{[P]:[`DuplicateTargetGroupName`,400],[I]:F,[L]:400},[N],[0]];z.registerError(LRe,TNe);var RRe=[-3,R,yFe,{[P]:[`DuplicateTrustStoreName`,400],[I]:F,[L]:400},[N],[0]];z.registerError(RRe,ENe);var zRe=[-3,R,RFe,{[P]:[`HealthUnavailable`,500],[I]:o4,[L]:500},[N],[0]];z.registerError(zRe,NNe);var BRe=[-3,R,KFe,{[P]:[`IncompatibleProtocols`,400],[I]:F,[L]:400},[N],[0]];z.registerError(BRe,nNe);var VRe=[-3,R,HFe,{[P]:[`InsufficientCapacity`,500],[I]:o4,[L]:500},[N],[0]];z.registerError(VRe,INe);var HRe=[-3,R,BFe,{[P]:[`InvalidCaCertificatesBundle`,400],[I]:F,[L]:400},[N],[0]];z.registerError(HRe,DNe);var URe=[-3,R,UFe,{[P]:[`InvalidConfigurationRequest`,400],[I]:F,[L]:400},[N],[0]];z.registerError(URe,rNe);var WRe=[-3,R,GFe,{[P]:[`InvalidLoadBalancerAction`,400],[I]:F,[L]:400},[N],[0]];z.registerError(WRe,iNe);var GRe=[-3,R,qFe,{[P]:[`InvalidRevocationContent`,400],[I]:F,[L]:400},[N],[0]];z.registerError(GRe,GMe);var KRe=[-3,R,JFe,{[P]:[`InvalidScheme`,400],[I]:F,[L]:400},[N],[0]];z.registerError(KRe,hNe);var qRe=[-3,R,XFe,{[P]:[`InvalidSecurityGroup`,400],[I]:F,[L]:400},[N],[0]];z.registerError(qRe,gNe);var JRe=[-3,R,YFe,{[P]:[`InvalidSubnet`,400],[I]:F,[L]:400},[N],[0]];z.registerError(JRe,_Ne);var YRe=[-3,R,ZFe,{[P]:[`InvalidTarget`,400],[I]:F,[L]:400},[N],[0]];z.registerError(YRe,MNe);var XRe=[-3,R,mIe,{[P]:[`ListenerNotFound`,400],[I]:F,[L]:400},[N],[0]];z.registerError(XRe,LMe);var ZRe=[-3,R,uIe,{[P]:[`LoadBalancerNotFound`,400],[I]:F,[L]:400},[N],[0]];z.registerError(ZRe,BMe);var QRe=[-3,R,PIe,{[P]:[`OperationNotPermitted`,400],[I]:F,[L]:400},[N],[0]];z.registerError(QRe,vNe);var $Re=[-3,R,FIe,{[P]:[`PriorityInUse`,400],[I]:F,[L]:400},[N],[0]];z.registerError($Re,SNe);var eze=[-3,R,RIe,{[P]:[`PriorRequestNotComplete`,429],[I]:F,[L]:429},[N],[0]];z.registerError(eze,LNe);var tze=[-3,R,nLe,{[P]:[`ResourceInUse`,400],[I]:F,[L]:400},[N],[0]];z.registerError(tze,yNe);var nze=[-3,R,rLe,{[P]:[`ResourceNotFound`,400],[I]:F,[L]:400},[N],[0]];z.registerError(nze,FNe);var rze=[-3,R,QIe,{[P]:[`RevocationContentNotFound`,400],[I]:F,[L]:400},[N],[0]];z.registerError(rze,KMe);var ize=[-3,R,tLe,{[P]:[`RevocationIdNotFound`,400],[I]:F,[L]:400},[N],[0]];z.registerError(ize,PNe);var aze=[-3,R,iLe,{[P]:[`RuleNotFound`,400],[I]:F,[L]:400},[N],[0]];z.registerError(aze,VMe);var oze=[-3,R,MLe,{[P]:[`SSLPolicyNotFound`,400],[I]:F,[L]:400},[N],[0]];z.registerError(oze,aNe);var sze=[-3,R,CLe,{[P]:[`SubnetNotFound`,400],[I]:F,[L]:400},[N],[0]];z.registerError(sze,bNe);var cze=[-3,R,RLe,{[P]:[`TargetGroupAssociationLimit`,400],[I]:F,[L]:400},[N],[0]];z.registerError(cze,oNe);var lze=[-3,R,WLe,{[P]:[`TargetGroupNotFound`,400],[I]:F,[L]:400},[N],[0]];z.registerError(lze,HMe);var uze=[-3,R,XLe,{[P]:[`TooManyActions`,400],[I]:F,[L]:400},[N],[0]];z.registerError(uze,sNe);var dze=[-3,R,ZLe,{[P]:[`TooManyCertificates`,400],[I]:F,[L]:400},[N],[0]];z.registerError(dze,RMe);var fze=[-3,R,$Le,{[P]:[`TooManyListeners`,400],[I]:F,[L]:400},[N],[0]];z.registerError(fze,cNe);var pze=[-3,R,QLe,{[P]:[`TooManyLoadBalancers`,400],[I]:F,[L]:400},[N],[0]];z.registerError(pze,xNe);var mze=[-3,R,tRe,{[P]:[`TooManyRegistrationsForTargetId`,400],[I]:F,[L]:400},[N],[0]];z.registerError(mze,lNe);var hze=[-3,R,eRe,{[P]:[`TooManyRules`,400],[I]:F,[L]:400},[N],[0]];z.registerError(hze,CNe);var gze=[-3,R,nRe,{[P]:[`TooManyTags`,400],[I]:F,[L]:400},[N],[0]];z.registerError(gze,UMe);var _ze=[-3,R,iRe,{[P]:[`TooManyTargetGroups`,400],[I]:F,[L]:400},[N],[0]];z.registerError(_ze,wNe);var vze=[-3,R,rRe,{[P]:[`TooManyTargets`,400],[I]:F,[L]:400},[N],[0]];z.registerError(vze,uNe);var yze=[-3,R,oRe,{[P]:[`TooManyTrustStoreRevocationEntries`,400],[I]:F,[L]:400},[N],[0]];z.registerError(yze,qMe);var bze=[-3,R,aRe,{[P]:[`TooManyTrustStores`,400],[I]:F,[L]:400},[N],[0]];z.registerError(bze,ONe);var xze=[-3,R,sRe,{[P]:[`TooManyUniqueTargetGroupsPerLoadBalancer`,400],[I]:F,[L]:400},[N],[0]];z.registerError(xze,dNe);var Sze=[-3,R,lRe,{[P]:[`AssociationNotFound`,400],[I]:F,[L]:400},[N],[0]];z.registerError(Sze,ANe);var Cze=[-3,R,dRe,{[P]:[`TrustStoreInUse`,400],[I]:F,[L]:400},[N],[0]];z.registerError(Cze,jNe);var wze=[-3,R,fRe,{[P]:[`TrustStoreNotFound`,400],[I]:F,[L]:400},[N],[0]];z.registerError(wze,WMe);var Tze=[-3,R,pRe,{[P]:[`TrustStoreNotReady`,400],[I]:F,[L]:400},[N],[0]];z.registerError(Tze,fNe);var Eze=[-3,R,xRe,{[P]:[`UnsupportedProtocol`,400],[I]:F,[L]:400},[N],[0]];z.registerError(Eze,pNe);var Dze=[s4,z],Oze=[3,R,RNe,0,[H2,K2,KNe,VNe,MIe,YIe,EFe,wFe,iIe],[0,0,()=>Pze,()=>Nze,1,()=>WBe,()=>bBe,()=>xBe,()=>DBe],1],kze=[3,R,JNe,0,[T2,Z2],[64,()=>C4],2],Aze=[3,R,YNe,0,[],[]],jze=[3,R,A0,0,[A2,w2,V0],[0,0,0]],Mze=[3,R,O0,0,[mLe,vIe],[0,0]],Nze=[3,R,BNe,0,[vRe,yRe,bRe,M2,z2,R2,M0,_2],[0,0,0,0,0,1,128,0],3],Pze=[3,R,GNe,0,[$0,HNe,LLe,_Re,nPe,hPe,M2,z2,R2,M0,_2,gRe],[0,0,0,0,0,0,0,0,1,128,0,2],5],Fze=[3,R,N0,0,[CRe,P2,NIe,c2,wLe],[0,0,0,()=>_Ve,64]],Ize=[3,R,SPe,0,[QNe,t2],[0,2]],Lze=[3,R,CPe,0,[m2,v2],[0,1]],Rze=[3,R,sPe,0,[l2,H0,C2,S2,I2,L0,j0,Z2,d2],[0,()=>f4,0,1,0,()=>m4,64,()=>C4,()=>u4],2],zze=[3,R,cPe,0,[a2],[()=>h4]],Bze=[3,R,aPe,0,[m2,V2,F2,N2,B2,Z2,H2,e2,R0,U0,n2],[0,64,()=>S4,64,0,()=>C4,0,0,0,0,()=>c4],1],Vze=[3,R,oPe,0,[s2],[()=>_4]],Hze=[3,R,fPe,0,[o2,B0,v2,F0,Z2,$2],[0,()=>y4,1,()=>f4,()=>C4,()=>x4],4],Uze=[3,R,pPe,0,[k2],[()=>b4]],Wze=[3,R,vPe,0,[m2,C2,x2,S2,r4,q0,J0,G0,Y0,K0,X0,Q0,t4,f2,X2,Z2,e2,U2],[0,0,0,1,0,0,0,2,0,1,1,1,1,()=>l4,0,()=>C4,0,1],1],Gze=[3,R,yPe,0,[G2],[()=>E4]],Kze=[3,R,RPe,0,[o2],[0],1],qze=[3,R,BPe,0,[],[]],Jze=[3,R,jPe,0,[l2],[0],1],Yze=[3,R,PPe,0,[],[]],Xze=[3,R,GPe,0,[E2],[0],1],Zze=[3,R,qPe,0,[],[]],Qze=[3,R,aFe,0,[K2],[0],1],$ze=[3,R,cFe,0,[],[]],eBe=[3,R,mFe,0,[K2,Q2],[0,()=>w4],2],tBe=[3,R,_Fe,0,[],[]],nBe=[3,R,zPe,0,[l2,aIe,p2,b2],[0,64,0,1]],rBe=[3,R,VPe,0,[a2,h2],[()=>h4,0]],iBe=[3,R,kPe,0,[l2],[0],1],aBe=[3,R,APe,0,[I0],[()=>g4]],oBe=[3,R,MPe,0,[u2,g2,p2,b2],[64,64,0,1]],sBe=[3,R,FPe,0,[s2,h2],[()=>_4,0]],cBe=[3,R,KPe,0,[o2,JIe,p2,b2],[0,64,0,1]],lBe=[3,R,JPe,0,[k2,h2],[()=>b4,0]],uBe=[3,R,QPe,0,[g2,p2,b2,fIe],[64,0,1,0]],dBe=[3,R,$Pe,0,[L2,h2],[()=>yVe,0]],fBe=[3,R,hFe,0,[T2],[64],1],pBe=[3,R,vFe,0,[W2],[()=>bVe]],mBe=[3,R,rFe,0,[K2],[0],1],hBe=[3,R,iFe,0,[I0],[()=>T4]],gBe=[3,R,oFe,0,[l2,zLe,g2,p2,b2],[0,64,64,0,1]],_Be=[3,R,lFe,0,[G2,h2],[()=>E4,0]],vBe=[3,R,fFe,0,[K2,Q2,$Fe],[0,()=>w4,64],1],yBe=[3,R,pFe,0,[Y2],[()=>SVe]],bBe=[3,R,TFe,0,[j2,_Ie,gPe],[0,0,0],1],xBe=[3,R,CFe,0,[G2,q2],[()=>xVe,()=>uVe]],SBe=[3,R,MFe,0,[n4,D2],[64,64]],CBe=[3,R,Z0,0,[O2],[()=>v4]],wBe=[3,R,NFe,0,[FFe,n4,D2],[0,64,64]],TBe=[3,R,LFe,0,[n4],[64]],c4=[3,R,n2,0,[WFe],[0]],EBe=[3,R,tIe,0,[SFe,m2,n4],[0,0,64],3],DBe=[3,R,rIe,0,[eIe,$0,zNe],[0,0,()=>gVe],2],OBe=[3,R,hIe,0,[o2,l2,S2,C2,L0,I2,H0,j0,d2],[0,0,1,0,()=>m4,0,()=>f4,64,()=>u4]],kBe=[3,R,pIe,0,[l2,UPe,tPe,bPe,lIe,B2,r4,A2,H2,P0,N2,e2,R0,W0,U0,n2],[0,0,0,4,0,0,0,()=>MBe,0,()=>p4,64,0,0,0,0,()=>c4]],ABe=[3,R,oIe,0,[zFe,k0,y2,r2],[0,0,0,0]],jBe=[3,R,sIe,0,[i2,i4],[0,0]],MBe=[3,R,dIe,0,[wPe,w2],[0,0]],l4=[3,R,f2,0,[AFe,OFe],[0,0]],NBe=[3,R,CIe,0,[o2,S2,C2,I2,L0,H0,j0,d2],[0,1,0,0,()=>m4,()=>f4,64,()=>u4],1],PBe=[3,R,wIe,0,[a2],[()=>h4]],FBe=[3,R,xIe,0,[l2,I0],[0,()=>g4],2],IBe=[3,R,SIe,0,[I0],[()=>g4]],LBe=[3,R,EIe,0,[E2,B0,F0,$2,uLe],[0,()=>y4,()=>f4,()=>x4,2],1],RBe=[3,R,DIe,0,[k2],[()=>b4]],zBe=[3,R,kIe,0,[K2,I0],[0,()=>T4],2],BBe=[3,R,AIe,0,[I0],[()=>T4]],u4=[3,R,gIe,0,[jIe,cRe,VFe,uRe,XNe],[0,0,2,0,0]],VBe=[3,R,LIe,0,[n4,D2],[64,64]],HBe=[3,R,HIe,0,[n4],[()=>vVe]],UBe=[3,R,WIe,0,[i2,i4],[0,0]],WBe=[3,R,KIe,0,[j2,C2,S2,kFe,zIe,BIe],[0,0,0,0,0,0],1],GBe=[3,R,aLe,0,[K2,Q2],[0,()=>w4],2],KBe=[3,R,cLe,0,[],[]],qBe=[3,R,oLe,0,[T2,JLe],[64,64],2],JBe=[3,R,lLe,0,[],[]],YBe=[3,R,$Ie,0,[hLe,gLe],[0,0],2],XBe=[3,R,_Le,0,[E2,v2,B0,F0,t2,$2],[0,0,()=>y4,()=>f4,2,()=>x4]],ZBe=[3,R,eLe,0,[DFe,n4,jFe,IIe,PFe,VIe,IFe,yLe,D2],[0,64,()=>SBe,()=>VBe,()=>wBe,()=>HBe,()=>TBe,()=>rVe,64]],QBe=[3,R,pLe,0,[H2,Z0,e4],[0,()=>CBe,()=>mVe],1],$Be=[3,R,kLe,0,[l2,N2,W0],[0,64,0],2],eVe=[3,R,ALe,0,[vLe,W0],[64,0]],tVe=[3,R,jLe,0,[l2,V2,F2,e2,U0],[0,64,()=>S4,0,0],1],nVe=[3,R,NLe,0,[P0,e2,U0],[()=>p4,0,0]],rVe=[3,R,bLe,0,[n4,e2],[64,0]],iVe=[3,R,I2,0,[ELe,z0,m2,xLe],[64,()=>hVe,0,64]],aVe=[3,R,SLe,0,[P2,k0,y2,r2,TLe],[0,0,0,0,0]],oVe=[3,R,mRe,0,[i2,i4],[0,0],1],sVe=[3,R,PLe,0,[qIe,Z2],[0,()=>C4]],d4=[3,R,FLe,0,[QFe,S2,N0,UIe],[0,1,0,0],1],cVe=[3,R,KLe,0,[K2,ULe,C2,S2,r4,q0,J0,G0,K0,X0,Q0,t4,Y0,f2,u2,X2,x2,e2,U2],[0,0,0,1,0,0,0,2,1,1,1,1,0,()=>l4,64,0,0,0,1]],lVe=[3,R,BLe,0,[i2,i4],[0,0]],uVe=[3,R,q2,0,[xFe,XPe],[2,1]],dVe=[3,R,GLe,0,[K2,SRe],[0,1]],fVe=[3,R,J2,0,[A2,w2,V0],[0,0,0]],pVe=[3,R,qLe,0,[hRe,J0,J2,O0,A0],[()=>d4,0,()=>fVe,()=>Mze,()=>jze]],mVe=[3,R,e4,0,[O2],[()=>v4]],f4=[1,R,F0,0,()=>Oze],p4=[1,R,P0,0,()=>Fze],m4=[1,R,rPe,0,()=>Ize],hVe=[1,R,z0,0,()=>Lze],gVe=[1,R,nIe,0,()=>EBe],h4=[1,R,a2,0,()=>OBe],_Ve=[1,R,c2,0,()=>ABe],g4=[1,R,cIe,0,()=>jBe],_4=[1,R,s2,0,()=>kBe],vVe=[1,R,GIe,0,()=>UBe],v4=[1,R,XIe,0,()=>YBe],y4=[1,R,ZIe,0,()=>ZBe],b4=[1,R,k2,0,()=>XBe],x4=[1,R,sLe,0,()=>QBe],yVe=[1,R,L2,0,()=>iVe],S4=[1,R,F2,0,()=>aVe],bVe=[1,R,W2,0,()=>sVe],C4=[1,R,YLe,0,()=>oVe],w4=[1,R,ILe,0,()=>d4],T4=[1,R,VLe,0,()=>lVe],xVe=[1,R,HLe,0,()=>dVe],E4=[1,R,G2,0,()=>cVe],SVe=[1,R,Y2,0,()=>pVe],CVe=[9,R,qNe,0,()=>kze,()=>Aze],wVe=[9,R,lPe,0,()=>Rze,()=>zze],TVe=[9,R,iPe,0,()=>Bze,()=>Vze],EVe=[9,R,dPe,0,()=>Hze,()=>Uze],DVe=[9,R,_Pe,0,()=>Wze,()=>Gze],OVe=[9,R,EPe,0,()=>Kze,()=>qze],kVe=[9,R,DPe,0,()=>Jze,()=>Yze],AVe=[9,R,WPe,0,()=>Xze,()=>Zze],jVe=[9,R,tFe,0,()=>Qze,()=>$ze],MVe=[9,R,eFe,0,()=>eBe,()=>tBe],NVe=[9,R,HPe,0,()=>nBe,()=>rBe],PVe=[9,R,OPe,0,()=>iBe,()=>aBe],FVe=[9,R,IPe,0,()=>oBe,()=>sBe],IVe=[9,R,YPe,0,()=>cBe,()=>lBe],LVe=[9,R,ZPe,0,()=>uBe,()=>dBe],RVe=[9,R,bFe,0,()=>fBe,()=>pBe],zVe=[9,R,nFe,0,()=>mBe,()=>hBe],BVe=[9,R,uFe,0,()=>gBe,()=>_Be],VVe=[9,R,dFe,0,()=>vBe,()=>yBe],HVe=[9,R,yIe,0,()=>NBe,()=>PBe],UVe=[9,R,bIe,0,()=>FBe,()=>IBe],WVe=[9,R,TIe,0,()=>LBe,()=>RBe],GVe=[9,R,OIe,0,()=>zBe,()=>BBe],KVe=[9,R,dLe,0,()=>GBe,()=>KBe],qVe=[9,R,fLe,0,()=>qBe,()=>JBe],JVe=[9,R,OLe,0,()=>$Be,()=>eVe],YVe=[9,R,DLe,0,()=>tVe,()=>nVe],XVe=e=>({apiVersion:`2015-12-01`,base64Decoder:e?.base64Decoder??Ge,base64Encoder:e?.base64Encoder??he,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??FMe,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??EMe,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new me}],logger:e?.logger??new Ue,protocol:e?.protocol??Le,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.elasticloadbalancingv2`,errorTypeRegistries:Dze,xmlNamespace:`http://elasticloadbalancing.amazonaws.com/doc/2015-12-01/`,version:`2015-12-01`,serviceTarget:`ElasticLoadBalancing_v10`},serviceId:e?.serviceId??`Elastic Load Balancing v2`,sha256:e?.sha256??ze,urlParser:e?.urlParser??Ce,utf8Decoder:e?.utf8Decoder??st,utf8Encoder:e?.utf8Encoder??ct}),ZVe=e=>{let t=He(e),n=()=>t().then(_e),r=XVe(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Ne,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??ge({serviceId:r.serviceId,clientVersion:AMe.version}),maxAttempts:e?.maxAttempts??3,region:e?.region??Te(`Region is missing`),requestHandler:xe.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||oe),streamCollector:e?.streamCollector??Pe,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},QVe=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}}},$Ve=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),eHe=(e,n)=>{let r=Object.assign(We(e),de(e),ke(e),QVe(e));return n.forEach(e=>e.configure(r)),Object.assign(e,t(r),pe(r),ve(r),$Ve(r))},tHe=class extends i{config;constructor(...[e]){let t=ZVe(e||{});super(t),this.initConfig=t;let n=OMe(t),i=ie(n),a=Xe(i),o=ue(a),s=Ee(o),c=eHe(DMe(Ie(s)),e?.extensions||[]);this.config=c,this.middlewareStack.use(be(this.config)),this.middlewareStack.use(u(this.config)),this.middlewareStack.use(se(this.config)),this.middlewareStack.use(Oe(this.config)),this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(re(this.config)),this.middlewareStack.use(we(this.config)),this.middlewareStack.use(r(this.config,{httpAuthSchemeParametersProvider:wMe,identityProviderConfigProvider:async e=>new le({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(ye(this.config))}destroy(){super.destroy()}},nHe=async(e,t,n)=>({operation:Ze(t).operation,region:await De(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function rHe(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`iam`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var iHe=e=>{let t=[];return e.operation,t.push(rHe(e)),t},aHe=e=>{let t=tt(e);return Object.assign(t,{authSchemePreference:De(e.authSchemePreference??[])})},oHe=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:`iam`}),sHe={UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},cHe={name:`@aws-sdk/client-iam`,version:`3.1109.0`,description:`AWS SDK for JavaScript Iam Client for Node.js, Browser and React Native`,homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-iam`,license:`Apache-2.0`,author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/sdk-for-javascript/`},repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-iam`},files:[`dist-*/**`],sideEffects:!1,main:`./dist-cjs/index.js`,module:`./dist-es/index.js`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},types:`./dist-types/index.d.ts`,typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline`,"build:es":`premove dist-es && tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`premove dist-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`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service`,test:`yarn g:vitest run --passWithNoTests`,"test:watch":`yarn g:vitest watch --passWithNoTests`,"test:integration":`yarn g:vitest run --passWithNoTests -c vitest.config.integ.mts`,"test:integration:watch":`yarn g:vitest watch --passWithNoTests -c vitest.config.integ.mts`,"test:e2e":`yarn g:vitest run -c vitest.config.e2e.mts`,"test:e2e:watch":`yarn g:vitest watch -c vitest.config.e2e.mts`,"test:index":`tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs`},dependencies:{"@aws-sdk/core":`^3.977.7`,"@aws-sdk/credential-provider-node":`^3.972.79`,"@aws-sdk/types":`^3.974.3`,"@smithy/core":`^3.31.1`,"@smithy/fetch-http-handler":`^5.6.13`,"@smithy/node-http-handler":`^4.9.13`,"@smithy/types":`^4.16.1`,tslib:`^2.6.2`},devDependencies:{"@smithy/snapshot-testing":`^2.2.16`,"@tsconfig/node20":`20.1.8`,"@types/node":`^20.14.8`,concurrently:`7.0.0`,"downlevel-dts":`0.10.1`,premove:`4.0.0`,typescript:`~6.0.3`,vitest:`^4.0.17`},engines:{node:`>=20.0.0`}},D4=`ref`,O4=`authSchemes`,k4=`name`,A4=`signingRegion`,j4=-1,M4=!0,N4=`isSet`,P4=`PartitionResult`,F4=`stringEquals`,I4=`booleanEquals`,L4=`getAttr`,R4={[D4]:`Endpoint`},z4={fn:L4,argv:[{[D4]:P4},`name`]},B4={[D4]:P4},V4={[O4]:[{[k4]:`sigv4`,[A4]:`us-east-1`}]},H4={[O4]:[{[k4]:`sigv4`,[A4]:`cn-north-1`}]},U4={[O4]:[{[k4]:`sigv4`,[A4]:`us-gov-west-1`}]},W4={[O4]:[{[k4]:`sigv4`,[A4]:`us-iso-east-1`}]},G4={[O4]:[{[k4]:`sigv4`,[A4]:`us-isob-east-1`}]},K4={[O4]:[{[k4]:`sigv4`,[A4]:`eu-isoe-west-1`}]},q4={[O4]:[{[k4]:`sigv4`,[A4]:`us-isof-south-1`}]},J4={[O4]:[{[k4]:`sigv4`,[A4]:`eusc-de-east-1`}]},Y4={[O4]:[{[k4]:`sigv4`,[A4]:`{PartitionResult#implicitGlobalRegion}`}]},X4=[{[D4]:`Region`}],Z4={conditions:[[N4,[R4]],[N4,X4],[`aws.partition`,X4,P4],[F4,[z4,`aws`]],[F4,[z4,`aws-cn`]],[F4,[z4,`aws-us-gov`]],[F4,[z4,`aws-iso`]],[I4,[{[D4]:`UseFIPS`},M4]],[I4,[{[D4]:`UseDualStack`},M4]],[F4,[z4,`aws-iso-b`]],[F4,[z4,`aws-iso-e`]],[F4,[z4,`aws-iso-f`]],[F4,[z4,`aws-eusc`]],[I4,[{fn:L4,argv:[B4,`supportsDualStack`]},M4]],[I4,[{fn:L4,argv:[B4,`supportsFIPS`]},M4]]],results:[[j4],[j4,`Invalid Configuration: FIPS and custom endpoint are not supported`],[j4,`Invalid Configuration: Dualstack and custom endpoint are not supported`],[R4,{}],[`https://iam.amazonaws.com`,V4],[`https://iam-fips.amazonaws.com`,V4],[`https://iam.global.api.aws`,V4],[`https://iam-fips.global.api.aws`,V4],[`https://iam.global.api.amazonwebservices.com.cn`,H4],[`https://iam-fips.api.amazonwebservices.com.cn`,H4],[`https://iam.cn-north-1.amazonaws.com.cn`,H4],[`https://iam-fips.amazonaws.com.cn`,H4],[`https://iam.us-gov.api.aws`,U4],[`https://iam.us-gov.amazonaws.com`,U4],[`https://iam.us-iso-east-1.c2s.ic.gov`,W4],[`https://iam-fips.us-iso-east-1.c2s.ic.gov`,W4],[`https://iam.api.aws.ic.gov`,W4],[`https://iam-fips.api.aws.ic.gov`,W4],[`https://iam.us-isob-east-1.sc2s.sgov.gov`,G4],[`https://iam-fips.us-isob-east-1.sc2s.sgov.gov`,G4],[`https://iam.api.aws.scloud`,G4],[`https://iam-fips.api.aws.scloud`,G4],[`https://iam.eu-isoe-west-1.cloud.adc-e.uk`,K4],[`https://iam-fips.cloud.adc-e.uk`,K4],[`https://iam.api.cloud-aws.adc-e.uk`,K4],[`https://iam-fips.api.cloud-aws.adc-e.uk`,K4],[`https://iam.us-isof-south-1.csp.hci.ic.gov`,q4],[`https://iam-fips.csp.hci.ic.gov`,q4],[`https://iam.api.aws.hci.ic.gov`,q4],[`https://iam-fips.api.aws.hci.ic.gov`,q4],[`https://iam.eusc-de-east-1.amazonaws.eu`,J4],[`https://iam-fips.amazonaws.eu`,J4],[`https://iam.global.api.amazonwebservices.eu`,J4],[`https://iam-fips.api.amazonwebservices.eu`,J4],[`https://iam-fips.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dualStackDnsSuffix}`,Y4],[j4,`FIPS and DualStack are enabled, but this partition does not support one or both`],[`https://iam-fips.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dnsSuffix}`,Y4],[j4,`FIPS is enabled but this partition does not support FIPS`],[`https://iam.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dualStackDnsSuffix}`,Y4],[j4,`DualStack is enabled but this partition does not support DualStack`],[`https://iam.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dnsSuffix}`,Y4],[j4,`Invalid Configuration: Missing Region`]]},lHe=2,uHe=new Int32Array([-1,1,-1,0,42,3,1,4,100000041,2,5,100000041,3,39,6,4,36,7,5,35,8,6,32,9,7,20,10,8,15,11,9,100000018,12,10,100000022,13,11,100000026,14,12,100000030,100000040,9,100000020,16,10,100000024,17,11,100000028,18,12,100000032,19,13,100000038,100000039,8,26,21,9,100000019,22,10,100000023,23,11,100000027,24,12,100000031,25,14,100000036,100000037,9,100000021,27,10,100000025,28,11,100000029,29,12,100000033,30,13,31,100000035,14,100000034,100000035,7,34,33,8,100000016,100000014,8,100000017,100000015,8,100000012,100000013,7,38,37,8,100000008,100000010,8,100000009,100000011,7,41,40,8,100000006,100000004,8,100000007,100000005,7,100000001,43,8,100000002,100000003]),dHe=Re.from(uHe,lHe,Z4.conditions,Z4.results),fHe=new Be({size:50,params:[`Endpoint`,`Region`,`UseDualStack`,`UseFIPS`]}),pHe=(e,t={})=>fHe.get(e,()=>Ye(dHe,{endpointParams:e,logger:t.logger}));qe.aws=fe;var B=class e extends te{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},mHe=class e extends B{name=`ConcurrentModificationException`;$fault=`client`;constructor(t){super({name:`ConcurrentModificationException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},hHe=class e extends B{name=`NoSuchEntityException`;$fault=`client`;constructor(t){super({name:`NoSuchEntityException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},gHe=class e extends B{name=`ServiceFailureException`;$fault=`server`;constructor(t){super({name:`ServiceFailureException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype)}},_He=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}},vHe=class e extends B{name=`EntityAlreadyExistsException`;$fault=`client`;constructor(t){super({name:`EntityAlreadyExistsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},yHe=class e extends B{name=`InvalidInputException`;$fault=`client`;constructor(t){super({name:`InvalidInputException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},bHe=class e extends B{name=`LimitExceededException`;$fault=`client`;constructor(t){super({name:`LimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},xHe=class e extends B{name=`MalformedPolicyDocumentException`;$fault=`client`;constructor(t){super({name:`MalformedPolicyDocumentException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},SHe=class e extends B{name=`NameConflictException`;$fault=`client`;constructor(t){super({name:`NameConflictException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},CHe=class e extends B{name=`RoleModifiedException`;$fault=`client`;constructor(t){super({name:`RoleModifiedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},wHe=class e extends B{name=`RoleTemplateDisabledException`;$fault=`client`;constructor(t){super({name:`RoleTemplateDisabledException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},THe=class e extends B{name=`UnmodifiableEntityException`;$fault=`client`;constructor(t){super({name:`UnmodifiableEntityException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},EHe=class e extends B{name=`PolicyNotAttachableException`;$fault=`client`;constructor(t){super({name:`PolicyNotAttachableException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},DHe=class e extends B{name=`EntityTemporarilyUnmodifiableException`;$fault=`client`;constructor(t){super({name:`EntityTemporarilyUnmodifiableException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},OHe=class e extends B{name=`InvalidUserTypeException`;$fault=`client`;constructor(t){super({name:`InvalidUserTypeException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},kHe=class e extends B{name=`PasswordPolicyViolationException`;$fault=`client`;constructor(t){super({name:`PasswordPolicyViolationException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},AHe=class e extends B{name=`OpenIdIdpCommunicationErrorException`;$fault=`client`;constructor(t){super({name:`OpenIdIdpCommunicationErrorException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},jHe=class e extends B{name=`ServiceNotSupportedException`;$fault=`client`;constructor(t){super({name:`ServiceNotSupportedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},MHe=class e extends B{name=`DeleteConflictException`;$fault=`client`;constructor(t){super({name:`DeleteConflictException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},NHe=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}},PHe=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}},FHe=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}},IHe=class e extends B{name=`FeatureDisabledException`;$fault=`client`;constructor(t){super({name:`FeatureDisabledException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},LHe=class e extends B{name=`InvalidAuthenticationCodeException`;$fault=`client`;constructor(t){super({name:`InvalidAuthenticationCodeException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},RHe=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}},zHe=class e extends B{name=`FeatureEnabledException`;$fault=`client`;constructor(t){super({name:`FeatureEnabledException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},BHe=class e extends B{name=`ReportGenerationLimitExceededException`;$fault=`client`;constructor(t){super({name:`ReportGenerationLimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},VHe=class e extends B{name=`CredentialReportExpiredException`;$fault=`client`;constructor(t){super({name:`CredentialReportExpiredException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},HHe=class e extends B{name=`CredentialReportNotPresentException`;$fault=`client`;constructor(t){super({name:`CredentialReportNotPresentException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},UHe=class e extends B{name=`CredentialReportNotReadyException`;$fault=`client`;constructor(t){super({name:`CredentialReportNotReadyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},WHe=class e extends B{name=`UnrecognizedPublicKeyEncodingException`;$fault=`client`;constructor(t){super({name:`UnrecognizedPublicKeyEncodingException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},GHe=class e extends B{name=`PolicyEvaluationException`;$fault=`server`;constructor(t){super({name:`PolicyEvaluationException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype)}},KHe=class e extends B{name=`KeyPairMismatchException`;$fault=`client`;constructor(t){super({name:`KeyPairMismatchException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},qHe=class e extends B{name=`MalformedCertificateException`;$fault=`client`;constructor(t){super({name:`MalformedCertificateException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},JHe=class e extends B{name=`DuplicateCertificateException`;$fault=`client`;constructor(t){super({name:`DuplicateCertificateException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},YHe=class e extends B{name=`InvalidCertificateException`;$fault=`client`;constructor(t){super({name:`InvalidCertificateException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},XHe=class e extends B{name=`DuplicateSSHPublicKeyException`;$fault=`client`;constructor(t){super({name:`DuplicateSSHPublicKeyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},ZHe=class e extends B{name=`InvalidPublicKeyException`;$fault=`client`;constructor(t){super({name:`InvalidPublicKeyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Q4=`Arn`,QHe=`AttachmentCount`,$He=`AttachGroupPolicy`,eUe=`AttachGroupPolicyRequest`,$4=`AccessKey`,e3=`AccessKeyId`,t3=`AccessKeyMetadata`,tUe=`AccountNotManagementOrDelegatedAdministratorException`,nUe=`AttachedPolicy`,rUe=`AttachedPermissionsBoundary`,n3=`AttachedPolicies`,iUe=`AttachRolePolicy`,r3=`AssumeRolePolicyDocument`,aUe=`AttachRolePolicyRequest`,oUe=`AddRoleToInstanceProfile`,sUe=`AddRoleToInstanceProfileRequest`,cUe=`AttachUserPolicy`,lUe=`AttachUserPolicyRequest`,uUe=`AddUserToGroup`,dUe=`AddUserToGroupRequest`,fUe=`CreateAccessKey`,pUe=`CreateAccessKeyRequest`,mUe=`CreateAccessKeyResponse`,i3=`CreateDate`,hUe=`CreateGroup`,gUe=`CreateGroupRequest`,_Ue=`CreateGroupResponse`,vUe=`CallerIsNotManagementAccountException`,yUe=`CreateInstanceProfile`,bUe=`CreateInstanceProfileRequest`,xUe=`CreateInstanceProfileResponse`,SUe=`ConcurrentModificationException`,CUe=`CreatePolicyRequest`,wUe=`CreatePolicyResponse`,TUe=`CreatePolicy`,EUe=`CreateRole`,DUe=`CredentialReportExpiredException`,OUe=`CredentialReportNotPresentException`,kUe=`CredentialReportNotReadyException`,AUe=`CreateRoleRequest`,jUe=`CreateRoleResponse`,MUe=`CreateUser`,NUe=`CreateUserRequest`,PUe=`CreateUserResponse`,a3=`Description`,FUe=`DeleteAccessKey`,IUe=`DeleteAccessKeyRequest`,LUe=`DeleteConflictException`,RUe=`DuplicateCertificateException`,zUe=`DeleteGroup`,BUe=`DeleteGroupPolicy`,VUe=`DeleteGroupPolicyRequest`,HUe=`DetachGroupPolicyRequest`,UUe=`DetachGroupPolicy`,WUe=`DeleteGroupRequest`,GUe=`DeleteInstanceProfile`,KUe=`DeleteInstanceProfileRequest`,qUe=`DeletePolicyRequest`,JUe=`DeletePolicy`,YUe=`DeleteRolePolicy`,XUe=`DeleteRolePolicyRequest`,ZUe=`DetachRolePolicyRequest`,QUe=`DetachRolePolicy`,$Ue=`DeleteRoleRequest`,eWe=`DeleteRole`,tWe=`DuplicateSSHPublicKeyException`,nWe=`DeleteUser`,rWe=`DeleteUserPolicy`,iWe=`DeleteUserPolicyRequest`,aWe=`DetachUserPolicyRequest`,oWe=`DetachUserPolicy`,sWe=`DeleteUserRequest`,cWe=`DefaultVersionId`,lWe=`Document`,uWe=`EntityAlreadyExistsException`,dWe=`EntityTemporarilyUnmodifiableException`,fWe=`FeatureDisabledException`,pWe=`FeatureEnabledException`,o3=`Group`,mWe=`GetGroup`,hWe=`GetGroupPolicy`,gWe=`GetGroupPolicyRequest`,_We=`GetGroupPolicyResponse`,vWe=`GetGroupRequest`,yWe=`GetGroupResponse`,bWe=`GroupId`,xWe=`GetInstanceProfile`,SWe=`GetInstanceProfileRequest`,CWe=`GetInstanceProfileResponse`,s3=`GroupName`,wWe=`GetPolicy`,TWe=`GetPolicyRequest`,EWe=`GetPolicyResponse`,DWe=`GetPolicyVersion`,OWe=`GetPolicyVersionRequest`,kWe=`GetPolicyVersionResponse`,AWe=`GetRole`,jWe=`GetRolePolicy`,MWe=`GetRolePolicyRequest`,NWe=`GetRolePolicyResponse`,PWe=`GetRoleRequest`,FWe=`GetRoleResponse`,IWe=`GetUser`,LWe=`GetUserPolicy`,RWe=`GetUserPolicyRequest`,zWe=`GetUserPolicyResponse`,BWe=`GetUserRequest`,VWe=`GetUserResponse`,c3=`Groups`,HWe=`IsAttachable`,UWe=`InvalidAuthenticationCodeException`,WWe=`InvalidCertificateException`,GWe=`IsDefaultVersion`,KWe=`InvalidInputException`,l3=`InstanceProfile`,qWe=`InstanceProfileId`,JWe=`InvalidPublicKeyException`,u3=`InstanceProfileName`,d3=`InstanceProfiles`,f3=`IsTruncated`,YWe=`InvalidUserTypeException`,XWe=`Key`,ZWe=`KeyPairMismatchException`,QWe=`ListAttachedGroupPolicies`,$We=`ListAttachedGroupPoliciesRequest`,eGe=`ListAttachedGroupPoliciesResponse`,tGe=`ListAccessKeys`,nGe=`ListAccessKeysRequest`,rGe=`ListAccessKeysResponse`,iGe=`ListAttachedRolePolicies`,aGe=`ListAttachedRolePoliciesRequest`,oGe=`ListAttachedRolePoliciesResponse`,sGe=`ListAttachedUserPolicies`,cGe=`ListAttachedUserPoliciesRequest`,lGe=`ListAttachedUserPoliciesResponse`,uGe=`LimitExceededException`,dGe=`ListGroups`,fGe=`ListGroupsForUser`,pGe=`ListGroupsForUserRequest`,mGe=`ListGroupsForUserResponse`,hGe=`ListGroupPolicies`,gGe=`ListGroupPoliciesRequest`,_Ge=`ListGroupPoliciesResponse`,vGe=`ListGroupsRequest`,yGe=`ListGroupsResponse`,bGe=`ListInstanceProfiles`,xGe=`ListInstanceProfilesForRole`,SGe=`ListInstanceProfilesForRoleRequest`,CGe=`ListInstanceProfilesForRoleResponse`,wGe=`ListInstanceProfilesRequest`,TGe=`ListInstanceProfilesResponse`,EGe=`ListPoliciesRequest`,DGe=`ListPoliciesResponse`,OGe=`ListPolicies`,kGe=`ListRoles`,AGe=`ListRolePolicies`,jGe=`ListRolePoliciesRequest`,MGe=`ListRolePoliciesResponse`,NGe=`ListRolesRequest`,PGe=`ListRolesResponse`,FGe=`ListUsers`,IGe=`LastUsedDate`,LGe=`ListUserPolicies`,RGe=`ListUserPoliciesRequest`,zGe=`ListUserPoliciesResponse`,BGe=`ListUsersRequest`,VGe=`ListUsersResponse`,p3=`Message`,HGe=`MalformedCertificateException`,m3=`MaxItems`,UGe=`MalformedPolicyDocumentException`,h3=`MaxSessionDuration`,V=`Marker`,WGe=`NameConflictException`,GGe=`NoSuchEntityException`,KGe=`OnlyAttached`,qGe=`OpenIdIdpCommunicationErrorException`,JGe=`OrganizationNotFoundException`,YGe=`OrganizationNotInAllFeaturesModeException`,g3=`PolicyArn`,_3=`PermissionsBoundary`,XGe=`PermissionsBoundaryArn`,ZGe=`PermissionsBoundaryType`,QGe=`PermissionsBoundaryUsageCount`,v3=`PolicyDocument`,$Ge=`PolicyEvaluationException`,eKe=`PutGroupPolicy`,tKe=`PutGroupPolicyRequest`,nKe=`PolicyId`,rKe=`PasswordLastUsed`,y3=`PolicyName`,iKe=`PolicyNotAttachableException`,b3=`PolicyNames`,aKe=`PasswordPolicyViolationException`,x3=`PathPrefix`,oKe=`PutRolePolicyRequest`,sKe=`PutRolePolicy`,cKe=`PolicyUsageFilter`,lKe=`PutUserPolicy`,uKe=`PutUserPolicyRequest`,S3=`PolicyVersion`,C3=`Path`,w3=`Policy`,dKe=`Policies`,fKe=`Region`,pKe=`ReportGenerationLimitExceededException`,mKe=`RoleId`,T3=`RoleLastUsed`,hKe=`RoleModifiedException`,E3=`RoleName`,gKe=`RemoveRoleFromInstanceProfile`,_Ke=`RemoveRoleFromInstanceProfileRequest`,vKe=`RoleTemplateDisabledException`,yKe=`RemoveUserFromGroup`,bKe=`RemoveUserFromGroupRequest`,D3=`Role`,O3=`Roles`,k3=`Status`,xKe=`SecretAccessKey`,SKe=`ServiceAccessNotEnabledException`,CKe=`ServiceFailureException`,wKe=`ServiceNotSupportedException`,A3=`SourceRoleTemplate`,TKe=`Scope`,j3=`Tags`,EKe=`TemplateArn`,DKe=`TemplateMinorVersion`,OKe=`Tag`,kKe=`UpdateAccessKey`,AKe=`UpdateAccessKeyRequest`,jKe=`UpdateDate`,MKe=`UnmodifiableEntityException`,NKe=`UserId`,M3=`UserName`,PKe=`UnrecognizedPublicKeyEncodingException`,N3=`User`,P3=`Users`,F3=`VersionId`,FKe=`Value`,IKe=`accessKeyMetadataListType`,LKe=`accessKeySecretType`,RKe=`attachedPoliciesListType`,H=`awsQueryError`,U=`client`,W=`error`,zKe=`groupListType`,G=`httpError`,BKe=`instanceProfileListType`,K=`message`,VKe=`policyListType`,HKe=`roleListType`,I3=`smithy.ts.sdk.synthetic.com.amazonaws.iam`,L3=`server`,UKe=`tagListType`,WKe=`userListType`,q=`com.amazonaws.iam`,R3=ot.for(I3),GKe=[-3,I3,`IAMServiceException`,0,[],[]];R3.registerError(GKe,B);var J=ot.for(q),KKe=[-3,q,tUe,{[W]:U,[G]:400},[p3],[0]];J.registerError(KKe,_He);var qKe=[-3,q,vUe,{[W]:U,[G]:400},[p3],[0]];J.registerError(qKe,RHe);var JKe=[-3,q,SUe,{[H]:[`ConcurrentModification`,409],[W]:U,[G]:409},[K],[0]];J.registerError(JKe,mHe);var YKe=[-3,q,DUe,{[H]:[`ReportExpired`,410],[W]:U,[G]:410},[K],[0]];J.registerError(YKe,VHe);var XKe=[-3,q,OUe,{[H]:[`ReportNotPresent`,410],[W]:U,[G]:410},[K],[0]];J.registerError(XKe,HHe);var ZKe=[-3,q,kUe,{[H]:[`ReportInProgress`,404],[W]:U,[G]:404},[K],[0]];J.registerError(ZKe,UHe);var QKe=[-3,q,LUe,{[H]:[`DeleteConflict`,409],[W]:U,[G]:409},[K],[0]];J.registerError(QKe,MHe);var $Ke=[-3,q,RUe,{[H]:[`DuplicateCertificate`,409],[W]:U,[G]:409},[K],[0]];J.registerError($Ke,JHe);var eqe=[-3,q,tWe,{[H]:[`DuplicateSSHPublicKey`,400],[W]:U,[G]:400},[K],[0]];J.registerError(eqe,XHe);var tqe=[-3,q,uWe,{[H]:[`EntityAlreadyExists`,409],[W]:U,[G]:409},[K],[0]];J.registerError(tqe,vHe);var nqe=[-3,q,dWe,{[H]:[`EntityTemporarilyUnmodifiable`,409],[W]:U,[G]:409},[K],[0]];J.registerError(nqe,DHe);var rqe=[-3,q,fWe,{[H]:[`FeatureDisabled`,404],[W]:U,[G]:404},[K],[0]];J.registerError(rqe,IHe);var iqe=[-3,q,pWe,{[H]:[`FeatureEnabled`,409],[W]:U,[G]:409},[K],[0]];J.registerError(iqe,zHe);var aqe=[-3,q,UWe,{[H]:[`InvalidAuthenticationCode`,403],[W]:U,[G]:403},[K],[0]];J.registerError(aqe,LHe);var oqe=[-3,q,WWe,{[H]:[`InvalidCertificate`,400],[W]:U,[G]:400},[K],[0]];J.registerError(oqe,YHe);var sqe=[-3,q,KWe,{[H]:[`InvalidInput`,400],[W]:U,[G]:400},[K],[0]];J.registerError(sqe,yHe);var cqe=[-3,q,JWe,{[H]:[`InvalidPublicKey`,400],[W]:U,[G]:400},[K],[0]];J.registerError(cqe,ZHe);var lqe=[-3,q,YWe,{[H]:[`InvalidUserType`,400],[W]:U,[G]:400},[K],[0]];J.registerError(lqe,OHe);var uqe=[-3,q,ZWe,{[H]:[`KeyPairMismatch`,400],[W]:U,[G]:400},[K],[0]];J.registerError(uqe,KHe);var dqe=[-3,q,uGe,{[H]:[`LimitExceeded`,409],[W]:U,[G]:409},[K],[0]];J.registerError(dqe,bHe);var fqe=[-3,q,HGe,{[H]:[`MalformedCertificate`,400],[W]:U,[G]:400},[K],[0]];J.registerError(fqe,qHe);var pqe=[-3,q,UGe,{[H]:[`MalformedPolicyDocument`,400],[W]:U,[G]:400},[K],[0]];J.registerError(pqe,xHe);var mqe=[-3,q,WGe,{[H]:[`NameConflict`,409],[W]:U,[G]:409},[K],[0]];J.registerError(mqe,SHe);var hqe=[-3,q,GGe,{[H]:[`NoSuchEntity`,404],[W]:U,[G]:404},[K],[0]];J.registerError(hqe,hHe);var gqe=[-3,q,qGe,{[H]:[`OpenIdIdpCommunicationError`,400],[W]:U,[G]:400},[K],[0]];J.registerError(gqe,AHe);var _qe=[-3,q,JGe,{[W]:U,[G]:400},[p3],[0]];J.registerError(_qe,NHe);var vqe=[-3,q,YGe,{[W]:U,[G]:400},[p3],[0]];J.registerError(vqe,PHe);var yqe=[-3,q,aKe,{[H]:[`PasswordPolicyViolation`,400],[W]:U,[G]:400},[K],[0]];J.registerError(yqe,kHe);var bqe=[-3,q,$Ge,{[H]:[`PolicyEvaluation`,500],[W]:L3,[G]:500},[K],[0]];J.registerError(bqe,GHe);var xqe=[-3,q,iKe,{[H]:[`PolicyNotAttachable`,400],[W]:U,[G]:400},[K],[0]];J.registerError(xqe,EHe);var Sqe=[-3,q,pKe,{[H]:[`ReportGenerationLimitExceeded`,409],[W]:U,[G]:409},[K],[0]];J.registerError(Sqe,BHe);var Cqe=[-3,q,hKe,{[H]:[`RoleModified`,409],[W]:U,[G]:409},[K],[0]];J.registerError(Cqe,CHe);var wqe=[-3,q,vKe,{[H]:[`RoleTemplateDisabled`,400],[W]:U,[G]:400},[K],[0]];J.registerError(wqe,wHe);var Tqe=[-3,q,SKe,{[W]:U,[G]:400},[p3],[0]];J.registerError(Tqe,FHe);var Eqe=[-3,q,CKe,{[H]:[`ServiceFailure`,500],[W]:L3,[G]:500},[K],[0]];J.registerError(Eqe,gHe);var Dqe=[-3,q,wKe,{[H]:[`NotSupportedService`,404],[W]:U,[G]:404},[K],[0]];J.registerError(Dqe,jHe);var Oqe=[-3,q,MKe,{[H]:[`UnmodifiableEntity`,400],[W]:U,[G]:400},[K],[0]];J.registerError(Oqe,THe);var kqe=[-3,q,PKe,{[H]:[`UnrecognizedPublicKeyEncoding`,400],[W]:U,[G]:400},[K],[0]];J.registerError(kqe,WHe);var Aqe=[R3,J],jqe=[0,q,LKe,8,0],Mqe=[3,q,$4,0,[M3,e3,k3,xKe,i3],[0,0,0,[()=>jqe,0],4],4],Nqe=[3,q,t3,0,[M3,e3,k3,i3],[0,0,0,4]],Pqe=[3,q,sUe,0,[u3,E3],[0,0],2],Fqe=[3,q,dUe,0,[s3,M3],[0,0],2],z3=[3,q,rUe,0,[ZGe,XGe],[0,0]],Iqe=[3,q,nUe,0,[y3,g3],[0,0]],Lqe=[3,q,eUe,0,[s3,g3],[0,0],2],Rqe=[3,q,aUe,0,[E3,g3],[0,0],2],zqe=[3,q,lUe,0,[M3,g3],[0,0],2],Bqe=[3,q,pUe,0,[M3],[0]],Vqe=[3,q,mUe,0,[$4],[[()=>Mqe,0]],1],Hqe=[3,q,gUe,0,[s3,C3],[0,0],1],Uqe=[3,q,_Ue,0,[o3],[()=>B3],1],Wqe=[3,q,bUe,0,[u3,C3,j3],[0,0,()=>X3],1],Gqe=[3,q,xUe,0,[l3],[()=>V3],1],Kqe=[3,q,CUe,0,[y3,v3,C3,a3,j3],[0,0,0,0,()=>X3],2],qqe=[3,q,wUe,0,[w3],[()=>H3]],Jqe=[3,q,AUe,0,[E3,r3,C3,a3,h3,_3,j3],[0,0,0,0,1,0,()=>X3],2],Yqe=[3,q,jUe,0,[D3],[()=>U3],1],Xqe=[3,q,NUe,0,[M3,C3,_3,j3],[0,0,0,()=>X3],1],Zqe=[3,q,PUe,0,[N3],[()=>W3]],Qqe=[3,q,IUe,0,[e3,M3],[0,0],1],$qe=[3,q,VUe,0,[s3,y3],[0,0],2],eJe=[3,q,WUe,0,[s3],[0],1],tJe=[3,q,KUe,0,[u3],[0],1],nJe=[3,q,qUe,0,[g3],[0],1],rJe=[3,q,XUe,0,[E3,y3],[0,0],2],iJe=[3,q,$Ue,0,[E3],[0],1],aJe=[3,q,iWe,0,[M3,y3],[0,0],2],oJe=[3,q,sWe,0,[M3],[0],1],sJe=[3,q,HUe,0,[s3,g3],[0,0],2],cJe=[3,q,ZUe,0,[E3,g3],[0,0],2],lJe=[3,q,aWe,0,[M3,g3],[0,0],2],uJe=[3,q,gWe,0,[s3,y3],[0,0],2],dJe=[3,q,_We,0,[s3,y3,v3],[0,0,0],3],fJe=[3,q,vWe,0,[s3,V,m3],[0,0,1],1],pJe=[3,q,yWe,0,[o3,P3,f3,V],[()=>B3,()=>Z3,2,0],2],mJe=[3,q,SWe,0,[u3],[0],1],hJe=[3,q,CWe,0,[l3],[()=>V3],1],gJe=[3,q,TWe,0,[g3],[0],1],_Je=[3,q,EWe,0,[w3],[()=>H3]],vJe=[3,q,OWe,0,[g3,F3],[0,0],2],yJe=[3,q,kWe,0,[S3],[()=>nYe]],bJe=[3,q,MWe,0,[E3,y3],[0,0],2],xJe=[3,q,NWe,0,[E3,y3,v3],[0,0,0],3],SJe=[3,q,PWe,0,[E3],[0],1],CJe=[3,q,FWe,0,[D3],[()=>U3],1],wJe=[3,q,RWe,0,[M3,y3],[0,0],2],TJe=[3,q,zWe,0,[M3,y3,v3],[0,0,0],3],EJe=[3,q,BWe,0,[M3],[0]],DJe=[3,q,VWe,0,[N3],[()=>W3],1],B3=[3,q,o3,0,[C3,s3,bWe,Q4,i3],[0,0,0,0,4],5],V3=[3,q,l3,0,[C3,u3,qWe,Q4,i3,O3,j3],[0,0,0,0,4,()=>Y3,()=>X3],6],OJe=[3,q,nGe,0,[M3,V,m3],[0,0,1]],kJe=[3,q,rGe,0,[t3,f3,V],[()=>fYe,2,0],1],AJe=[3,q,$We,0,[s3,x3,V,m3],[0,0,0,1],1],jJe=[3,q,eGe,0,[n3,f3,V],[()=>K3,2,0]],MJe=[3,q,aGe,0,[E3,x3,V,m3],[0,0,0,1],1],NJe=[3,q,oGe,0,[n3,f3,V],[()=>K3,2,0]],PJe=[3,q,cGe,0,[M3,x3,V,m3],[0,0,0,1],1],FJe=[3,q,lGe,0,[n3,f3,V],[()=>K3,2,0]],IJe=[3,q,gGe,0,[s3,V,m3],[0,0,1],1],LJe=[3,q,_Ge,0,[b3,f3,V],[64,2,0],1],RJe=[3,q,pGe,0,[M3,V,m3],[0,0,1],1],zJe=[3,q,mGe,0,[c3,f3,V],[()=>q3,2,0],1],BJe=[3,q,vGe,0,[x3,V,m3],[0,0,1]],VJe=[3,q,yGe,0,[c3,f3,V],[()=>q3,2,0],1],HJe=[3,q,SGe,0,[E3,V,m3],[0,0,1],1],UJe=[3,q,CGe,0,[d3,f3,V],[()=>J3,2,0],1],WJe=[3,q,wGe,0,[x3,V,m3],[0,0,1]],GJe=[3,q,TGe,0,[d3,f3,V],[()=>J3,2,0],1],KJe=[3,q,EGe,0,[TKe,KGe,x3,cKe,V,m3],[0,2,0,0,0,1]],qJe=[3,q,DGe,0,[dKe,f3,V],[()=>pYe,2,0]],JJe=[3,q,jGe,0,[E3,V,m3],[0,0,1],1],YJe=[3,q,MGe,0,[b3,f3,V],[64,2,0],1],XJe=[3,q,NGe,0,[x3,V,m3],[0,0,1]],ZJe=[3,q,PGe,0,[O3,f3,V],[()=>Y3,2,0],1],QJe=[3,q,RGe,0,[M3,V,m3],[0,0,1],1],$Je=[3,q,zGe,0,[b3,f3,V],[64,2,0],1],eYe=[3,q,BGe,0,[x3,V,m3],[0,0,1]],tYe=[3,q,VGe,0,[P3,f3,V],[()=>Z3,2,0],1],H3=[3,q,w3,0,[y3,nKe,Q4,C3,cWe,QHe,QGe,HWe,a3,i3,jKe,j3],[0,0,0,0,0,1,1,2,0,4,4,()=>X3]],nYe=[3,q,S3,0,[lWe,F3,GWe,i3],[0,0,2,4]],rYe=[3,q,tKe,0,[s3,y3,v3],[0,0,0],3],iYe=[3,q,oKe,0,[E3,y3,v3],[0,0,0],3],aYe=[3,q,uKe,0,[M3,y3,v3],[0,0,0],3],oYe=[3,q,_Ke,0,[u3,E3],[0,0],2],sYe=[3,q,bKe,0,[s3,M3],[0,0],2],U3=[3,q,D3,0,[C3,E3,mKe,Q4,i3,r3,a3,h3,_3,j3,T3,A3],[0,0,0,0,4,0,0,1,()=>z3,()=>X3,()=>cYe,()=>lYe],5],cYe=[3,q,T3,0,[IGe,fKe],[4,0]],lYe=[3,q,A3,0,[EKe,DKe],[0,1],2],uYe=[3,q,OKe,0,[XWe,FKe],[0,0],2],dYe=[3,q,AKe,0,[e3,k3,M3],[0,0,0],2],W3=[3,q,N3,0,[C3,M3,NKe,Q4,i3,rKe,_3,j3],[0,0,0,0,4,4,()=>z3,()=>X3],5],G3=`unit`,fYe=[1,q,IKe,0,()=>Nqe],K3=[1,q,RKe,0,()=>Iqe],q3=[1,q,zKe,0,()=>B3],J3=[1,q,BKe,0,()=>V3],pYe=[1,q,VKe,0,()=>H3],Y3=[1,q,HKe,0,()=>U3],X3=[1,q,UKe,0,()=>uYe],Z3=[1,q,WKe,0,()=>W3],mYe=[9,q,oUe,0,()=>Pqe,()=>G3],hYe=[9,q,uUe,0,()=>Fqe,()=>G3],gYe=[9,q,$He,0,()=>Lqe,()=>G3],_Ye=[9,q,iUe,0,()=>Rqe,()=>G3],vYe=[9,q,cUe,0,()=>zqe,()=>G3],yYe=[9,q,fUe,0,()=>Bqe,()=>Vqe],bYe=[9,q,hUe,0,()=>Hqe,()=>Uqe],xYe=[9,q,yUe,0,()=>Wqe,()=>Gqe],SYe=[9,q,TUe,0,()=>Kqe,()=>qqe],CYe=[9,q,EUe,0,()=>Jqe,()=>Yqe],wYe=[9,q,MUe,0,()=>Xqe,()=>Zqe],TYe=[9,q,FUe,0,()=>Qqe,()=>G3],EYe=[9,q,zUe,0,()=>eJe,()=>G3],DYe=[9,q,BUe,0,()=>$qe,()=>G3],OYe=[9,q,GUe,0,()=>tJe,()=>G3],kYe=[9,q,JUe,0,()=>nJe,()=>G3],AYe=[9,q,eWe,0,()=>iJe,()=>G3],jYe=[9,q,YUe,0,()=>rJe,()=>G3],MYe=[9,q,nWe,0,()=>oJe,()=>G3],NYe=[9,q,rWe,0,()=>aJe,()=>G3],PYe=[9,q,UUe,0,()=>sJe,()=>G3],FYe=[9,q,QUe,0,()=>cJe,()=>G3],IYe=[9,q,oWe,0,()=>lJe,()=>G3],LYe=[9,q,mWe,0,()=>fJe,()=>pJe],RYe=[9,q,hWe,0,()=>uJe,()=>dJe],zYe=[9,q,xWe,0,()=>mJe,()=>hJe],BYe=[9,q,wWe,0,()=>gJe,()=>_Je],VYe=[9,q,DWe,0,()=>vJe,()=>yJe],HYe=[9,q,AWe,0,()=>SJe,()=>CJe],UYe=[9,q,jWe,0,()=>bJe,()=>xJe],WYe=[9,q,IWe,0,()=>EJe,()=>DJe],GYe=[9,q,LWe,0,()=>wJe,()=>TJe],KYe=[9,q,tGe,0,()=>OJe,()=>kJe],qYe=[9,q,QWe,0,()=>AJe,()=>jJe],JYe=[9,q,iGe,0,()=>MJe,()=>NJe],YYe=[9,q,sGe,0,()=>PJe,()=>FJe],XYe=[9,q,hGe,0,()=>IJe,()=>LJe],ZYe=[9,q,dGe,0,()=>BJe,()=>VJe],QYe=[9,q,fGe,0,()=>RJe,()=>zJe],$Ye=[9,q,bGe,0,()=>WJe,()=>GJe],eXe=[9,q,xGe,0,()=>HJe,()=>UJe],tXe=[9,q,OGe,0,()=>KJe,()=>qJe],nXe=[9,q,AGe,0,()=>JJe,()=>YJe],rXe=[9,q,kGe,0,()=>XJe,()=>ZJe],iXe=[9,q,LGe,0,()=>QJe,()=>$Je],aXe=[9,q,FGe,0,()=>eYe,()=>tYe],oXe=[9,q,eKe,0,()=>rYe,()=>G3],sXe=[9,q,sKe,0,()=>iYe,()=>G3],cXe=[9,q,lKe,0,()=>aYe,()=>G3],lXe=[9,q,gKe,0,()=>oYe,()=>G3],uXe=[9,q,yKe,0,()=>sYe,()=>G3],dXe=[9,q,kKe,0,()=>dYe,()=>G3],fXe=e=>({apiVersion:`2010-05-08`,base64Decoder:e?.base64Decoder??Ge,base64Encoder:e?.base64Encoder??he,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??pHe,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??iHe,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new me}],logger:e?.logger??new Ue,protocol:e?.protocol??Le,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.iam`,errorTypeRegistries:Aqe,xmlNamespace:`https://iam.amazonaws.com/doc/2010-05-08/`,version:`2010-05-08`,serviceTarget:`AWSIdentityManagementV20100508`},serviceId:e?.serviceId??`IAM`,sha256:e?.sha256??ze,urlParser:e?.urlParser??Ce,utf8Decoder:e?.utf8Decoder??st,utf8Encoder:e?.utf8Encoder??ct}),pXe=e=>{let t=He(e),n=()=>t().then(_e),r=fXe(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Ne,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??ge({serviceId:r.serviceId,clientVersion:cHe.version}),maxAttempts:e?.maxAttempts??3,region:e?.region??Te(`Region is missing`),requestHandler:xe.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||oe),streamCollector:e?.streamCollector??Pe,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},mXe=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}}},hXe=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),gXe=(e,n)=>{let r=Object.assign(We(e),de(e),ke(e),mXe(e));return n.forEach(e=>e.configure(r)),Object.assign(e,t(r),pe(r),ve(r),hXe(r))},_Xe=class extends i{config;constructor(...[e]){let t=pXe(e||{});super(t),this.initConfig=t;let n=oHe(t),i=ie(n),a=Xe(i),o=ue(a),s=Ee(o),c=gXe(aHe(Ie(s)),e?.extensions||[]);this.config=c,this.middlewareStack.use(be(this.config)),this.middlewareStack.use(u(this.config)),this.middlewareStack.use(se(this.config)),this.middlewareStack.use(Oe(this.config)),this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(re(this.config)),this.middlewareStack.use(we(this.config)),this.middlewareStack.use(r(this.config,{httpAuthSchemeParametersProvider:nHe,identityProviderConfigProvider:async e=>new le({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(ye(this.config))}destroy(){super.destroy()}},Q3={WHEN_SUPPORTED:`WHEN_SUPPORTED`,WHEN_REQUIRED:`WHEN_REQUIRED`},vXe=Q3.WHEN_SUPPORTED,$3={WHEN_SUPPORTED:`WHEN_SUPPORTED`,WHEN_REQUIRED:`WHEN_REQUIRED`},yXe=Q3.WHEN_SUPPORTED,e6;(function(e){e.MD5=`MD5`,e.CRC32=`CRC32`,e.CRC32C=`CRC32C`,e.CRC64NVME=`CRC64NVME`,e.SHA1=`SHA1`,e.SHA256=`SHA256`})(e6||={});var bXe;(function(e){e.HEADER=`header`,e.TRAILER=`trailer`})(bXe||={});var t6=e6.CRC32,xXe=(e,{requestChecksumRequired:t,requestAlgorithmMember:n,requestChecksumCalculation:r})=>{if(!n)return r===Q3.WHEN_SUPPORTED||t?t6:void 0;if(e[n])return e[n]},n6=e=>e===e6.MD5?`content-md5`:`x-amz-checksum-${e.toLowerCase()}`,SXe=(e,t)=>{let n=e.toLowerCase();for(let e of Object.keys(t))if(n===e.toLowerCase())return!0;return!1},CXe=(e,t)=>{let n=e.toLowerCase();for(let e of Object.keys(t))if(e.toLowerCase().startsWith(n))return!0;return!1},r6=e=>e!==void 0&&typeof e!=`string`&&!ArrayBuffer.isView(e)&&!cee(e),i6=new Uint32Array(256);for(let e=0;e<256;++e){let t=e;for(let e=0;e<8;++e)t=t&1?2197175160^t>>>1:t>>>1;i6[e]=t>>>0}var wXe=class{digestLength=4;crc=4294967295;update(e){let t=this.crc;for(let n=0;n>>8^i6[(t^e[n])&255];this.crc=t}async digest(){let e=(this.crc^4294967295)>>>0,t=new Uint8Array(4);return t[0]=e>>>24,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=e&255,t}reset(){this.crc=4294967295}},TXe=()=>{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},a6,o6,s6,c6,l6,u6,d6,f6,p6,EXe=()=>{a6||(a6=TXe(),[o6,s6,c6,l6,u6,d6,f6,p6]=a6)},DXe=class{c1=0;c2=0;constructor(){EXe(),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,ee=((r>>>16^e[n++])&255)<<1,u=((r>>>24^e[n++])&255)<<1;r=p6[t]^f6[a]^d6[o]^u6[s]^l6[c]^c6[l]^s6[ee]^o6[u],i=p6[t+1]^f6[a+1]^d6[o+1]^u6[s+1]^l6[c+1]^c6[l+1]^s6[ee+1]^o6[u+1]}for(;n>>8|(r&255)<<24)>>>0,r=r>>>8^o6[t],i^=o6[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}},OXe=[e6.CRC32,e6.CRC32C,e6.CRC64NVME,e6.SHA1,e6.SHA256],m6=[e6.SHA256,e6.SHA1,e6.CRC32,e6.CRC32C,e6.CRC64NVME],h6=(e,t)=>{let{checksumAlgorithms:n={}}=t;switch(e){case e6.MD5:return n?.MD5??t.md5;case e6.CRC32:return n?.CRC32??pee;case e6.CRC32C:return n?.CRC32C??wXe;case e6.CRC64NVME:return n?.CRC64NVME??DXe;case e6.SHA1:return n?.SHA1??t.sha1;case e6.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 ${OXe}, or provide an implementation to the client constructor checksums field.`)}},g6=(e,t)=>{let n=new e;return n.update(at(t||``)),n.digest()},kXe={name:`flexibleChecksumsMiddleware`,step:`build`,tags:[`BODY_CHECKSUM`],override:!0},AXe=(e,t)=>(n,r)=>async i=>{if(!ce.isInstance(i.request)||CXe(`x-amz-checksum-`,i.request.headers))return n(i);let{request:a,input:o}=i,{body:s,headers:c}=a,{base64Encoder:l,streamHasher:ee}=e,{requestChecksumRequired:u,requestAlgorithmMember:te}=t,ne=await e.requestChecksumCalculation(),re=te?.name,ie=te?.httpHeader;re&&!o[re]&&(ne===Q3.WHEN_SUPPORTED||u)&&(o[re]=t6,ie&&(c[ie]=t6));let ae=xXe(o,{requestChecksumRequired:u,requestAlgorithmMember:te?.name,requestChecksumCalculation:ne}),oe=s,se=c;if(ae){switch(ae){case e6.CRC32:d(r,`FLEXIBLE_CHECKSUMS_REQ_CRC32`,`U`);break;case e6.CRC32C:d(r,`FLEXIBLE_CHECKSUMS_REQ_CRC32C`,`V`);break;case e6.CRC64NVME:d(r,`FLEXIBLE_CHECKSUMS_REQ_CRC64`,`W`);break;case e6.SHA1:d(r,`FLEXIBLE_CHECKSUMS_REQ_SHA1`,`X`);break;case e6.SHA256:d(r,`FLEXIBLE_CHECKSUMS_REQ_SHA256`,`Y`)}let t=n6(ae),n=h6(ae,e);if(r6(s)){let{getAwsChunkedEncodingStream:i,bodyLengthChecker:a}=e;oe=i(typeof e.requestStreamBufferSize==`number`&&e.requestStreamBufferSize>=8192?vee(s,e.requestStreamBufferSize,r.logger):s,{base64Encoder:l,bodyLengthChecker:a,checksumLocationName:t,checksumAlgorithmFn:n,streamHasher:ee}),se={...c,"content-encoding":c[`content-encoding`]?`${c[`content-encoding`]},aws-chunked`:`aws-chunked`,"transfer-encoding":`chunked`,"x-amz-decoded-content-length":c[`content-length`],"x-amz-content-sha256":`STREAMING-UNSIGNED-PAYLOAD-TRAILER`,"x-amz-trailer":t},delete se[`content-length`]}else if(!SXe(t,c)){let e=await g6(n,s);se={...c,[t]:l(e)}}}try{return await n({...i,request:{...a,headers:se,body:oe}})}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}},jXe={name:`flexibleChecksumsInputMiddleware`,toMiddleware:`serializerMiddleware`,relation:`before`,tags:[`BODY_CHECKSUM`],override:!0},MXe=(e,t)=>(n,r)=>async i=>{let a=i.input,{requestValidationModeMember:o}=t,s=await e.requestChecksumCalculation(),c=await e.responseChecksumValidation();switch(s){case Q3.WHEN_REQUIRED:d(r,`FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED`,`a`);break;case Q3.WHEN_SUPPORTED:d(r,`FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED`,`Z`)}switch(c){case $3.WHEN_REQUIRED:d(r,`FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED`,`c`);break;case $3.WHEN_SUPPORTED:d(r,`FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED`,`b`)}return o&&!a[o]&&c===$3.WHEN_SUPPORTED&&(a[o]=`ENABLED`),n(i)},_6=(e=[])=>{let t=[],n=m6.length;for(let r of e){let e=m6.indexOf(r);e===-1?t[n++]=r:t[e]=r}return t.filter(Boolean)},NXe=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},PXe=async(e,{checksumAlgorithmFn:t,base64Encoder:n})=>n(await g6(t,e)),FXe=async(e,{config:t,responseAlgorithms:n,logger:r})=>{let i=_6(n),{body:a,headers:o}=e;for(let n of i){let i=n6(n),s=o[i];if(s){let o;try{o=h6(n,t)}catch(e){if(n===e6.CRC64NVME){r?.warn(`Skipping ${e6.CRC64NVME} checksum validation: ${e.message}`);continue}throw e}let{base64Encoder:c}=t;if(r6(a)){e.body=hee({expectedChecksum:s,checksumSourceLocation:i,checksum:new o,source:a,base64Encoder:c});return}let l=await PXe(a,{checksumAlgorithmFn:o,base64Encoder:c});if(l===s)break;throw Error(`Checksum mismatch: expected "${l}" but received "${s}" in response header "${i}".`)}}},IXe={name:`flexibleChecksumsResponseMiddleware`,toMiddleware:`deserializerMiddleware`,relation:`after`,tags:[`BODY_CHECKSUM`],override:!0},LXe=(e,t)=>(n,r)=>async i=>{if(!ce.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=n6(e);return s.headers[t]!==void 0}),a=_6([...l??[],...i]);if(t===`S3Client`&&n===`GetObjectCommand`&&a.every(e=>{let t=n6(e),n=s.headers[t];return!n||NXe(n)}))return o;await FXe(s,{config:e,responseAlgorithms:a,logger:r.logger})}return o},v6=(e,t)=>({applyToStack:n=>{n.add(AXe(e,t),kXe),n.addRelativeTo(MXe(e,t),jXe),n.addRelativeTo(LXe(e,t),IXe)}}),RXe=e=>{let{requestChecksumCalculation:t,responseChecksumValidation:n,requestStreamBufferSize:r}=e;return Object.assign(e,{requestChecksumCalculation:De(t??vXe),responseChecksumValidation:De(n??yXe),requestStreamBufferSize:Number(r??0),checksumAlgorithms:e.checksumAlgorithms??{}})},zXe=`content-length`,BXe=`x-amz-decoded-content-length`;function VXe(){return(e,t)=>async n=>{let{request:r}=n;if(ce.isInstance(r)&&!(zXe in r.headers)&&!(BXe 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 Ue)?t.logger.warn(e):console.warn(e)}return e({...n})}}var HXe={step:`finalizeRequest`,tags:[`CHECK_CONTENT_LENGTH_HEADER`],name:`getCheckContentLengthHeaderPlugin`,override:!0},UXe=e=>({applyToStack:e=>{e.add(VXe(),HXe)}}),WXe=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}},GXe={tags:[`REGION_REDIRECT`,`S3`],name:`regionRedirectEndpointMiddleware`,override:!0,relation:`before`,toMiddleware:`endpointV2Middleware`};function KXe(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 qXe={step:`initialize`,tags:[`REGION_REDIRECT`,`S3`],name:`regionRedirectMiddleware`,override:!0},JXe=e=>({applyToStack:t=>{t.add(KXe(e),qXe),t.addRelativeTo(WXe(e),GXe)}}),YXe=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 y6(Promise.resolve(e)))})),t)):i.set(r,new y6(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}}},ZXe=(e,{session:t})=>{let[n,r]=t,{forcePathStyle:i,useAccelerateEndpoint:a,disableMultiregionAccessPoints:o,followRegionRedirects:s,s3ExpressIdentityProvider:c,bucketEndpoint:l,expectContinueHeader:ee}=e;return Object.assign(e,{forcePathStyle:i??!1,useAccelerateEndpoint:a??!1,disableMultiregionAccessPoints:o??!1,followRegionRedirects:s??!1,s3ExpressIdentityProvider:c??new XXe(async e=>n().send(new r({Bucket:e}))),bucketEndpoint:l??!1,expectContinueHeader:ee??2097152})},QXe=e=>(e,t)=>async n=>{let r=await e(n),{response:i}=r;if(ne.isInstance(i)&&i.headers.expires){i.headers.expiresstring=i.headers.expires;try{c(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},$Xe={tags:[`S3`],name:`s3ExpiresMiddleware`,override:!0,relation:`after`,toMiddleware:`deserializerMiddleware`},eZe=e=>({applyToStack:t=>{t.addRelativeTo(QXe(e),$Xe)}}),tZe=`sigv4-s3express`,nZe=`x-amz-s3session-token`,rZe=e=>(t,n)=>async r=>{if(n.endpointV2){let t=n.endpointV2,i=t.properties?.authSchemes?.[0]?.name===tZe;if((t.properties?.backend===`S3Express`||t.properties?.bucketType===`Directory`)&&(d(n,`S3_EXPRESS_BUCKET`,`J`),n.isS3ExpressBucket=!0),i){let t=r.input.Bucket;if(t){let i=await e.s3ExpressIdentityProvider.getS3ExpressIdentity(await e.credentials(),{Bucket:t});n.s3ExpressIdentity=i,ce.isInstance(r.request)&&i.sessionToken&&(r.request.headers[nZe]=i.sessionToken)}}}return t(r)},iZe={name:`s3ExpressMiddleware`,step:`build`,tags:[`S3`,`S3_EXPRESS`],override:!0},aZe=e=>({applyToStack:t=>{t.add(rZe(e),iZe)}}),oZe=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},sZe=e=>e=>{throw e},cZe=(e,t)=>{},lZe=e=>(t,n)=>async r=>{if(!ce.isInstance(r.request))return t(r);let i=Ze(n).selectedHttpAuthScheme;if(!i)throw Error(`No HttpAuthScheme was selected: unable to sign request`);let{httpAuthOption:{signingProperties:a={}},identity:o,signer:s}=i,c;c=n.s3ExpressIdentity?await oZe(n.s3ExpressIdentity,a,r.request,await e.signer()):await s.sign(r.request,o,a);let l=await t({...r,request:c}).catch((s.errorHandler||sZe)(a));return(s.successHandler||cZe)(l.response,a),l},uZe=e=>({applyToStack:t=>{t.addRelativeTo(lZe(e),uee)}});function dZe(e){return new ReadableStream({start(t){t.enqueue(e),t.close()}})}var fZe={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},pZe=e=>(t,n)=>async r=>{let i=await t(r),{response:a}=i;if(!ne.isInstance(a))return i;let{statusCode:o,body:s}=a;if(o<200||o>=300)return i;let c=await mZe(s,e);if(a.body=dZe(c),c.length===0&&fZe[n.commandName]){let e=Error(`S3 aborted request`);throw e.$metadata={httpStatusCode:503},e.name=`InternalError`,e}let l=e.utf8Encoder(c.subarray(c.length-16));return l&&l.endsWith(``)&&(a.statusCode=503),i},mZe=(e=new Uint8Array,t)=>e instanceof Uint8Array?Promise.resolve(e):t.streamCollector(e)||Promise.resolve(new Uint8Array),hZe={relation:`after`,toMiddleware:`deserializerMiddleware`,tags:[`THROW_200_EXCEPTIONS`,`S3`],name:`throw200ExceptionsMiddleware`,override:!0},b6=e=>({applyToStack:t=>{t.addRelativeTo(pZe(e),hZe)}});function gZe(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 _Ze={name:`bucketEndpointMiddleware`,override:!0,relation:`after`,toMiddleware:`endpointV2Middleware`};function vZe({bucketEndpoint:e}){return t=>async n=>{let{input:{Bucket:r}}=n;if(!e&&typeof r==`string`&&!iI(r)&&r.indexOf(`/`)>=0){let e=Error(`Bucket name shouldn't contain '/', received '${r}'`);throw e.name=`InvalidBucketName`,e}return t({...n})}}var yZe={step:`initialize`,tags:[`VALIDATE_BUCKET_NAME`],name:`validateBucketNameMiddleware`,override:!0},bZe=e=>({applyToStack:t=>{t.add(vZe(e),yZe),t.addRelativeTo(gZe(e),_Ze)}}),xZe=class extends Wee{async serializeRequest(e,t,n){let r=await super.serializeRequest(e,t,n),i=ae.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}};function SZe(e){return t=>async n=>{let{request:r}=n;if(e.expectContinueHeader!==!1&&ce.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 CZe={step:`build`,tags:[`SET_EXPECT_HEADER`,`EXPECT_HEADER`],name:`addExpectContinueMiddleware`,override:!0},wZe=e=>({applyToStack:t=>{t.add(SZe(e),CZe)}});function TZe(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 EZe={step:`initialize`,tags:[`LOCATION_CONSTRAINT`,`CREATE_BUCKET_CONFIGURATION`],name:`locationConstraintMiddleware`,override:!0},DZe=e=>({applyToStack:t=>{t.add(TZe(e),EZe)}});function OZe(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`?AZe(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 kZe={name:`ssecMiddleware`,step:`initialize`,tags:[`SSE`],override:!0},x6=e=>({applyToStack:t=>{t.add(OZe(e),kZe)}});function AZe(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 S6=e=>Object.assign(e,{eventStreamMarshaller:e.eventStreamSerdeProvider(e)}),C6=`ref`,Y=`argv`,w6=`backend`,T6=`authSchemes`,E6=`disableDoubleEncoding`,D6=`signingName`,O6=`signingRegion`,k6=`signingRegionSet`,X=-1,A6=!0,j6=!1,M6=`isSet`,N6=`booleanEquals`,Z=`stringEquals`,P6=`coalesce`,F6=`substring`,I6=``,L6=`aws.partition`,R6=`partitionResult`,z6=`accessPointSuffix`,B6=`regionPrefix`,V6=e=>`outpostId_ssa_`+e+I6,H6=`hardwareType`,U6=`ite`,W6=`isValidHostLabel`,G6=`sigv4`,K6=`aws.isVirtualHostableS3Bucket`,q6=`url`,J6=`getAttr`,Y6=`bucketArn`,X6=`--`,Z6=`arnType`,Q6=`accesspoint`,$6=e=>`accessPointName_ssa_`+e+I6,e8=`s3-object-lambda`,t8=`s3-outposts`,n8=`bucketPartition`,r8=`us-east-1`,i8=`outpostType`,a8=`name`,o8=`s3`,s8=`{url#scheme}://{Bucket}.{url#authority}{url#path}`,c8=`{url#scheme}://{url#authority}{url#path}`,l8=`{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}`,u8=`https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}`,d8=`https://{Bucket}.s3.{partitionResult#dnsSuffix}`,f8=e=>`{url#scheme}://{accessPointName_ssa_`+e+`}-{bucketArn#accountId}.{url#authority}{url#path}`,p8=e=>"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName_ssa_"+e+"}`",m8=`sigv4a`,h8=`{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}`,g8=`https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,_8=`https://s3.{partitionResult#dnsSuffix}`,v8={[C6]:`UseFIPS`},y8={[C6]:`UseDualStack`},b8={[C6]:`Bucket`},x8={fn:J6,[Y]:[{[C6]:R6},a8]},S8={[C6]:q6},C8={[C6]:`Region`},w8={[C6]:Y6},T8={[C6]:Z6},E8={[C6]:`accessPointName_ssa_1`},D8={fn:J6,[Y]:[w8,`region`]},O8={[C6]:H6},k8={fn:J6,[Y]:[w8,`service`]},A8={fn:J6,[Y]:[w8,`accountId`]},j8={[w6]:`S3Express`,[T6]:[{[E6]:!0,[a8]:`{_s3e_auth}`,[D6]:`s3express`,[O6]:`{Region}`}]},M8={[w6]:`S3Express`,[T6]:[{[E6]:!0,[a8]:G6,[D6]:`s3express`,[O6]:`{Region}`}]},N8={[T6]:[{[E6]:!0,[a8]:m8,[D6]:t8,[k6]:[`*`]},{[E6]:!0,[a8]:G6,[D6]:t8,[O6]:`{Region}`}]},P8={[T6]:[{[E6]:!0,[a8]:G6,[D6]:o8,[O6]:r8}]},F8={[T6]:[{[E6]:!0,[a8]:G6,[D6]:o8,[O6]:`{Region}`}]},I8={[T6]:[{[E6]:!0,[a8]:G6,[D6]:e8,[O6]:`{bucketArn#region}`}]},L8={[T6]:[{[E6]:!0,[a8]:G6,[D6]:o8,[O6]:`{bucketArn#region}`}]},R8={[T6]:[{[E6]:!0,[a8]:m8,[D6]:t8,[k6]:[`*`]},{[E6]:!0,[a8]:G6,[D6]:t8,[O6]:`{bucketArn#region}`}]},z8={[T6]:[{[E6]:!0,[a8]:G6,[D6]:e8,[O6]:`{Region}`}]},B8=[C8],V8=[{[C6]:`Endpoint`}],H8=[b8],U8=[b8,0,7,!0],W8=[w8,`resourceId[1]`],jZe=[`*`],G8={conditions:[[M6,B8],[N6,[{[C6]:`Accelerate`},A6]],[N6,[v8,A6]],[N6,[y8,A6]],[M6,V8],[M6,H8],[Z,[{fn:P6,[Y]:[{fn:F6,[Y]:[b8,0,6,A6]},I6]},`--x-s3`]],[Z,[{fn:P6,[Y]:[{fn:F6,[Y]:U8},I6]},`--xa-s3`]],[L6,B8,R6],[F6,U8,z6],[Z,[{[C6]:z6},`--op-s3`]],[F6,[b8,8,12,A6],B6],[F6,[b8,32,49,A6],V6(2)],[F6,[b8,49,50,A6],H6],[N6,[{[C6]:`ForcePathStyle`},A6]],[Z,[x8,`aws-cn`]],[U6,[y8,`.dualstack`,I6],`_s3e_ds`],[W6,[{[C6]:V6(2)},j6]],[U6,[v8,`-fips`,I6],`_s3e_fips`],[U6,[{fn:P6,[Y]:[{[C6]:`DisableS3ExpressSessionAuth`},j6]},G6,`sigv4-s3express`],`_s3e_auth`],[K6,[b8,j6]],[`parseURL`,V8,q6],[N6,[{fn:P6,[Y]:[{[C6]:`UseS3ExpressControlEndpoint`},j6]},A6]],[K6,[b8,A6]],[Z,[{fn:J6,[Y]:[S8,`scheme`]},`http`]],[W6,[C8,j6]],[`aws.parseArn`,H8,Y6],[J6,[{fn:`split`,[Y]:[b8,X6,0]},`[-2]`],`s3expressAvailabilityZoneId`],[Z,[{fn:P6,[Y]:[{fn:F6,[Y]:[b8,0,4,j6]},I6]},`arn:`]],[Z,[{fn:P6,[Y]:[{fn:F6,[Y]:[b8,16,18,A6]},I6]},X6]],[N6,[{fn:J6,[Y]:[S8,`isIp`]},A6]],[Z,[{fn:P6,[Y]:[{fn:F6,[Y]:[b8,21,23,A6]},I6]},X6]],[Z,[{fn:P6,[Y]:[{fn:F6,[Y]:[b8,27,29,A6]},I6]},X6]],[Z,[{[C6]:B6},`beta`]],[`uriEncode`,H8,`uri_encoded_bucket`],[W6,[C8,A6]],[N6,[{fn:P6,[Y]:[{[C6]:`UseObjectLambdaEndpoint`},j6]},A6]],[J6,[w8,`resourceId[0]`],Z6],[Z,[T8,I6]],[Z,[T8,Q6]],[J6,W8,$6(1)],[Z,[E8,I6]],[Z,[D8,I6]],[Z,[{fn:P6,[Y]:[{fn:F6,[Y]:[b8,14,16,A6]},I6]},X6]],[Z,[O8,`e`]],[Z,[O8,`o`]],[Z,[C8,`aws-global`]],[Z,[{fn:P6,[Y]:[{fn:F6,[Y]:[b8,19,21,A6]},I6]},X6]],[Z,[k8,e8]],[N6,[{fn:P6,[Y]:[{[C6]:`DisableAccessPoints`},j6]},A6]],[Z,[k8,t8]],[L6,[D8],n8],[W6,[E8,A6]],[Z,[{fn:P6,[Y]:[{fn:F6,[Y]:[b8,26,28,A6]},I6]},X6]],[Z,[{fn:P6,[Y]:[{fn:F6,[Y]:[b8,15,17,A6]},I6]},X6]],[J6,[w8,`resourceId[4]`]],[Z,[{fn:P6,[Y]:[{fn:F6,[Y]:[b8,20,22,A6]},I6]},X6]],[N6,[{[C6]:`UseGlobalEndpoint`},A6]],[Z,[C8,r8]],[J6,W8,V6(1)],[N6,[{fn:P6,[Y]:[{[C6]:`UseArnRegion`},A6]},A6]],[W6,[{[C6]:V6(1)},j6]],[J6,[w8,`resourceId[2]`],i8],[Z,[C8,D8]],[Z,[{fn:J6,[Y]:[{[C6]:n8},a8]},x8]],[N6,[{[C6]:`DisableMultiRegionAccessPoints`},A6]],[W6,[D8,A6]],[Z,[{fn:J6,[Y]:[w8,`partition`]},x8]],[Z,[A8,I6]],[Z,[k8,o8]],[W6,[A8,j6]],[J6,[w8,`resourceId[3]`],$6(2)],[W6,[E8,j6]],[Z,[{[C6]:i8},Q6]],[W6,[{[C6]:$6(2)},j6]]],results:[[X],[X,`Accelerate cannot be used with FIPS`],[X,`Cannot set dual-stack in combination with a custom endpoint.`],[X,`A custom endpoint cannot be combined with FIPS`],[X,`A custom endpoint cannot be combined with S3 Accelerate`],[X,`Partition does not support FIPS`],[X,`S3Express does not support S3 Accelerate.`],[`{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}`,j8],[s8,j8],[X,`S3Express bucket name is not a valid virtual hostable name.`],[`https://s3express-control{_s3e_fips}{_s3e_ds}.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,M8],[`https://{Bucket}.s3express{_s3e_fips}-{s3expressAvailabilityZoneId}{_s3e_ds}.{Region}.{partitionResult#dnsSuffix}`,j8],[X,`Unrecognized S3Express bucket name format.`],[c8,j8],[`https://s3express-control{_s3e_fips}{_s3e_ds}.{Region}.{partitionResult#dnsSuffix}`,M8],[X,`Expected a endpoint to be specified but no endpoint was found`],[`https://{Bucket}.ec2.{url#authority}`,N8],[`https://{Bucket}.ec2.s3-outposts.{Region}.{partitionResult#dnsSuffix}`,N8],[`https://{Bucket}.op-{outpostId_ssa_2}.{url#authority}`,N8],[`https://{Bucket}.op-{outpostId_ssa_2}.s3-outposts.{Region}.{partitionResult#dnsSuffix}`,N8],[X,`Unrecognized hardware type: "Expected hardware type o or e but got {hardwareType}"`],[X,`Invalid Outposts Bucket alias - it must be a valid bucket name.`],[X,"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`."],[X,"Custom endpoint `{Endpoint}` was not a valid URI"],[X,`S3 Accelerate cannot be used in this region`],[`https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}`,P8],[`https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}`,F8],[`https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}`,P8],[`https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}`,F8],[`https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}`,P8],[`https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}`,F8],[`https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}`,P8],[`https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}`,F8],[l8,P8],[s8,P8],[l8,F8],[s8,F8],[u8,P8],[u8,F8],[d8,P8],[d8,F8],[`https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}`,F8],[X,`Invalid region: region was not a valid DNS name.`],[X,`S3 Object Lambda does not support Dual-stack`],[X,`S3 Object Lambda does not support S3 Accelerate`],[X,`Access points are not supported for this operation`],[X,"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`"],[X,`Invalid ARN: Missing account id`],[f8(1),I8],[`https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}`,I8],[`https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}`,I8],[X,p8(1)],[X,"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`"],[X,"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)"],[X,"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`"],[X,"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`."],[X,`Invalid ARN: bucket ARN is missing a region`],[X,"Invalid ARN: Expected a resource of the format `accesspoint:` but no name was provided"],[X,"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`"],[X,`Access Points do not support S3 Accelerate`],[`https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}`,L8],[`https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}`,L8],[`https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}`,L8],[f8(1),L8],[`https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}`,L8],[X,`Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}`],[X,`S3 MRAP does not support dual-stack`],[X,`S3 MRAP does not support FIPS`],[X,`S3 MRAP does not support S3 Accelerate`],[X,`Invalid configuration: Multi-Region Access Point ARNs are disabled.`],[`https://{accessPointName_ssa_1}.accesspoint.s3-global.{partitionResult#dnsSuffix}`,{[T6]:[{[E6]:A6,name:m8,[D6]:o8,[k6]:jZe}]}],[X,"Client was configured for partition `{partitionResult#name}` but bucket referred to partition `{bucketArn#partition}`"],[X,`Invalid Access Point Name`],[X,`S3 Outposts does not support Dual-stack`],[X,`S3 Outposts does not support FIPS`],[X,`S3 Outposts does not support S3 Accelerate`],[X,`Invalid Arn: Outpost Access Point ARN contains sub resources`],[`https://{accessPointName_ssa_2}-{bucketArn#accountId}.{outpostId_ssa_1}.{url#authority}`,R8],[`https://{accessPointName_ssa_2}-{bucketArn#accountId}.{outpostId_ssa_1}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}`,R8],[X,p8(2)],[X,"Expected an outpost type `accesspoint`, found {outpostType}"],[X,`Invalid ARN: expected an access point name`],[X,`Invalid ARN: Expected a 4-component resource`],[X,"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId_ssa_1}`"],[X,`Invalid ARN: The Outpost Id was not set`],[X,`Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})`],[X,`Invalid ARN: No ARN type specified`],[X,"Invalid ARN: `{Bucket}` was not a valid ARN"],[X,`Path-style addressing cannot be used with ARN buckets`],[`https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,P8],[`https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,F8],[`https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,P8],[`https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,F8],[`https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,P8],[`https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,F8],[h8,P8],[h8,F8],[g8,P8],[g8,F8],[`https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,F8],[X,`Path-style addressing cannot be used with S3 Accelerate`],[c8,z8],[`https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}`,z8],[`https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}`,z8],[`https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}`,P8],[`https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}`,F8],[`https://s3-fips.us-east-1.{partitionResult#dnsSuffix}`,P8],[`https://s3-fips.{Region}.{partitionResult#dnsSuffix}`,F8],[`https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}`,P8],[`https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}`,F8],[c8,P8],[c8,F8],[_8,P8],[_8,F8],[`https://s3.{Region}.{partitionResult#dnsSuffix}`,F8],[X,`A region must be set when sending requests to S3.`]]},MZe=2,NZe=new Int32Array([-1,1,-1,0,3,100000115,1,424,4,2,272,5,3,233,6,4,85,7,5,15,8,8,9,100000115,16,10,13,18,11,13,19,12,13,22,100000014,13,35,14,100000042,36,100000103,435,6,271,16,7,270,17,8,19,18,14,501,106,9,20,24,10,21,24,11,22,24,12,23,24,13,547,24,14,77,25,20,73,26,26,27,78,37,28,100000086,38,100000086,29,39,47,30,48,100000058,31,50,32,100000085,51,33,136,55,100000076,34,59,35,100000084,60,39,36,61,37,100000083,62,38,146,63,41,100000046,61,40,100000083,62,41,150,64,42,100000054,66,43,100000053,70,44,100000052,71,45,100000081,73,46,100000080,74,100000078,100000079,40,48,100000057,41,100000057,49,42,185,50,48,62,51,49,100000045,52,51,53,526,60,56,54,62,100000055,55,63,57,100000046,62,100000055,57,64,58,100000054,66,59,100000053,69,60,100000065,70,61,100000052,72,100000064,100000051,49,100000045,63,51,64,526,60,67,65,62,100000055,66,63,68,100000046,62,100000055,68,64,69,100000054,66,70,100000053,68,100000047,71,70,72,100000052,72,100000050,100000051,25,74,100000042,46,100000039,75,57,76,100000041,58,100000040,100000041,26,100000088,78,28,100000087,79,34,82,80,35,81,545,36,100000103,100000115,46,100000097,83,57,84,100000099,58,100000098,100000099,5,101,86,8,87,100000115,16,88,89,18,91,89,19,90,92,21,97,95,19,93,92,21,98,95,21,97,94,22,100000014,95,35,96,100000042,36,100000103,100000042,22,100000013,98,35,99,100000042,36,100000101,100,46,100000110,100000111,6,214,102,7,208,103,8,119,104,14,118,105,21,106,100000023,26,107,502,37,108,100000086,38,100000086,109,39,112,110,48,100000058,111,50,136,100000085,40,113,100000057,41,100000057,114,42,115,500,48,100000056,116,52,117,100000072,65,100000069,100000072,21,501,100000023,9,120,124,10,121,124,11,122,124,12,123,124,13,202,124,14,195,125,20,190,126,21,127,100000023,23,128,129,24,189,129,26,130,197,37,131,100000086,38,100000086,132,39,159,133,48,100000058,134,50,135,100000085,51,141,136,55,100000076,137,59,138,100000084,60,100000083,139,61,140,100000083,63,100000083,100000046,55,100000076,142,59,143,100000084,60,148,144,61,145,100000083,62,147,146,63,150,100000046,63,153,100000046,61,149,100000083,62,153,150,64,151,100000054,66,152,100000053,70,100000082,100000052,64,154,100000054,66,155,100000053,70,156,100000052,71,157,100000081,73,158,100000080,74,100000077,100000079,40,160,100000057,41,100000057,161,42,185,162,48,174,163,49,100000045,164,51,165,526,60,168,166,62,100000055,167,63,169,100000046,62,100000055,169,64,170,100000054,66,171,100000053,69,172,100000065,70,173,100000052,72,100000063,100000051,49,100000045,175,51,176,526,60,179,177,62,100000055,178,63,180,100000046,62,100000055,180,64,181,100000054,66,182,100000053,68,100000047,183,70,184,100000052,72,100000048,100000051,48,100000056,186,52,187,100000072,65,100000069,188,67,100000070,100000071,25,100000036,100000042,21,191,100000023,25,192,100000042,30,194,193,46,100000034,100000036,46,100000033,100000035,21,196,100000023,26,100000088,197,28,100000087,198,34,201,199,35,200,545,36,100000101,100000115,46,100000095,100000096,17,203,100000022,20,204,100000021,21,205,550,33,206,550,44,100000016,207,45,100000018,100000020,8,209,215,16,210,220,18,211,220,19,212,224,20,213,227,21,231,401,8,218,215,19,216,100000009,20,217,227,21,231,100000009,16,219,220,18,223,220,19,221,224,20,222,227,21,231,100000012,19,226,224,20,225,100000009,21,100000009,100000012,20,230,227,21,228,100000009,30,229,100000009,34,100000007,100000009,21,231,415,30,232,100000008,34,100000007,100000008,4,100000002,234,5,235,480,6,271,236,7,270,237,8,238,491,9,239,243,10,240,243,11,241,243,12,242,243,13,547,243,14,266,244,20,264,245,26,246,267,37,247,100000086,38,100000086,248,39,249,518,40,250,100000057,41,100000057,251,42,538,252,48,100000043,253,49,100000045,254,51,255,526,60,258,256,62,100000055,257,63,259,100000046,62,100000055,259,64,260,100000054,66,261,100000053,69,262,100000065,70,263,100000052,72,100000062,100000051,25,265,100000042,46,100000031,100000032,26,100000088,267,28,100000087,268,34,269,544,46,100000093,100000094,8,397,100000009,8,407,100000009,3,346,273,4,100000003,274,5,284,275,8,276,100000115,15,100000005,277,16,278,281,18,279,281,19,280,281,22,100000014,281,35,282,100000042,36,100000102,283,46,100000106,100000107,6,405,285,7,395,286,8,295,287,14,501,288,26,289,502,37,290,100000086,38,100000086,291,39,292,307,40,293,100000057,41,100000057,294,42,335,500,9,296,300,10,297,300,11,298,300,12,299,300,13,394,300,14,339,301,15,100000005,302,20,337,303,26,304,341,37,305,100000086,38,100000086,306,39,309,307,48,100000058,308,50,100000074,100000085,40,310,100000057,41,100000057,311,42,335,312,48,324,313,49,100000045,314,51,315,526,60,318,316,62,100000055,317,63,319,100000046,62,100000055,319,64,320,100000054,66,321,100000053,69,322,100000065,70,323,100000052,72,100000061,100000051,49,100000045,325,51,326,526,60,329,327,62,100000055,328,63,330,100000046,62,100000055,330,64,331,100000054,66,332,100000053,68,100000047,333,70,334,100000052,72,100000049,100000051,48,100000056,336,52,100000067,100000072,25,338,100000042,46,100000027,100000028,15,100000005,340,26,100000088,341,28,100000087,342,34,345,343,35,344,545,36,100000102,100000115,46,100000091,100000092,4,100000002,347,5,357,348,8,349,100000115,15,100000005,350,16,351,354,18,352,354,19,353,354,22,100000014,354,35,355,100000042,36,100000043,356,46,100000104,100000105,6,405,358,7,395,359,8,360,491,9,361,365,10,362,365,11,363,365,12,364,365,13,394,365,14,389,366,15,100000005,367,20,387,368,26,369,391,37,370,100000086,38,100000086,371,39,372,518,40,373,100000057,41,100000057,374,42,538,375,48,100000043,376,49,100000045,377,51,378,526,60,381,379,62,100000055,380,63,382,100000046,62,100000055,382,64,383,100000054,66,384,100000053,69,385,100000065,70,386,100000052,72,100000060,100000051,25,388,100000042,46,100000025,100000026,15,100000005,390,26,100000088,391,28,100000087,392,34,393,544,46,100000089,100000090,15,100000005,547,8,396,100000009,15,100000005,397,16,398,410,18,399,410,19,400,410,20,401,100000009,27,402,100000012,29,100000011,403,31,100000011,404,32,100000011,422,8,406,100000009,15,100000005,407,16,408,410,18,409,410,19,411,410,20,100000012,100000009,20,414,412,22,413,100000009,34,100000010,100000009,22,416,415,27,419,100000012,27,418,417,34,100000010,100000012,34,100000010,419,43,100000011,420,47,100000011,421,53,100000011,422,54,100000011,423,56,100000011,100000012,2,100000001,425,3,478,426,4,100000004,427,5,438,428,8,429,100000115,16,430,433,18,431,433,19,432,433,22,100000014,433,35,434,100000042,36,100000044,435,46,100000112,436,57,437,100000114,58,100000113,100000114,6,100000006,439,7,100000006,440,8,450,441,14,501,442,26,443,502,37,444,100000086,38,100000086,445,39,446,465,40,447,100000057,41,100000057,448,42,471,449,48,100000044,500,9,451,455,10,452,455,11,453,455,12,454,455,13,547,455,14,473,456,15,460,457,20,458,461,25,459,100000042,46,100000037,100000038,20,540,461,26,462,474,37,463,100000086,38,100000086,464,39,467,465,48,100000058,466,50,100000075,100000085,40,468,100000057,41,100000057,469,42,471,470,48,100000044,524,48,100000044,472,52,100000068,100000072,26,100000088,474,28,100000087,475,34,100000100,476,35,477,545,36,100000044,100000115,4,100000002,479,5,488,480,8,481,100000115,16,482,485,18,483,485,19,484,485,22,100000014,485,35,486,100000042,36,100000043,487,46,100000108,100000109,6,100000006,489,7,100000006,490,8,503,491,14,501,492,26,493,502,37,494,100000086,38,100000086,495,39,496,518,40,497,100000057,41,100000057,498,42,538,499,48,100000043,500,49,100000045,526,26,100000088,502,28,100000087,100000115,9,504,508,10,505,508,11,506,508,12,507,508,13,547,508,14,541,509,15,513,510,20,511,514,25,512,100000042,46,100000029,100000030,20,540,514,26,515,542,37,516,100000086,38,100000086,517,39,520,518,48,100000058,519,50,100000073,100000085,40,521,100000057,41,100000057,522,42,538,523,48,100000043,524,49,100000045,525,51,529,526,60,100000055,527,62,100000055,528,63,100000055,100000046,60,532,530,62,100000055,531,63,533,100000046,62,100000055,533,64,534,100000054,66,535,100000053,69,536,100000065,70,537,100000052,72,100000059,100000051,48,100000043,539,52,100000066,100000072,25,100000024,100000042,26,100000088,542,28,100000087,543,34,100000100,544,35,546,545,36,100000042,100000115,36,100000043,100000115,17,548,100000022,20,549,100000021,33,552,550,44,100000017,551,45,100000019,100000020,44,100000015,553,45,100000015,100000020]),PZe=Re.from(NZe,MZe,G8.conditions,G8.results),FZe=new Be({size:50,params:[`Accelerate`,`Bucket`,`DisableAccessPoints`,`DisableMultiRegionAccessPoints`,`DisableS3ExpressSessionAuth`,`Endpoint`,`ForcePathStyle`,`Region`,`UseArnRegion`,`UseDualStack`,`UseFIPS`,`UseGlobalEndpoint`,`UseObjectLambdaEndpoint`,`UseS3ExpressControlEndpoint`]}),K8=(e,t={})=>FZe.get(e,()=>Ye(PZe,{endpointParams:e,logger:t.logger}));qe.aws=fe;var IZe=(e=>async(t,n,r)=>{if(!r)throw Error("Could not find `input` for `defaultEndpointRuleSetHttpAuthSchemeParametersProvider`");let i=await e(t,n,r),a=Ze(n)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!a)throw Error(`getEndpointParameterInstructions() is not defined on '${n.commandName}'`);let o=await iee(r,{getEndpointParameterInstructions:a},t);return Object.assign(i,o)})(async(e,t,n)=>({operation:Ze(t).operation,region:await De(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()}));function q8(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`s3`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}function J8(e){return{schemeId:`aws.auth#sigv4a`,signingProperties:{name:`s3`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var LZe=((e,t,n)=>r=>{let i=e(r).properties?.authSchemes;if(!i)return t(r);let o=[];for(let e of i){let{name:t,properties:s={},...c}=e,l=t.toLowerCase();t!==l&&console.warn(`HttpAuthScheme has been normalized with lowercasing: '${t}' to '${l}'`);let ee;if(l===`sigv4a`){ee=`aws.auth#sigv4a`;let e=i.find(e=>{let t=e.name.toLowerCase();return t!==`sigv4a`&&t.startsWith(`sigv4`)});if(a.sigv4aDependency()===`none`&&e)continue}else if(l.startsWith(`sigv4`))ee=`aws.auth#sigv4`;else throw Error(`Unknown HttpAuthScheme found in '@smithy.rules#endpointRuleSet': '${l}'`);let u=n[ee];if(!u)throw Error(`Could not find HttpAuthOption create function for '${ee}'`);let te=u(r);te.schemeId=ee,te.signingProperties={...te.signingProperties||{},...c,...s},o.push(te)}return o})(K8,e=>{let t=[];return e.operation,t.push(q8(e)),t.push(J8(e)),t},{"aws.auth#sigv4":q8,"aws.auth#sigv4a":J8}),RZe=e=>{let t=tt(e),n=l(t);return Object.assign(n,{authSchemePreference:De(e.authSchemePreference??[])})},zZe=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??{}}),Y8=n({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`}},`AmazonS3`,`S3Client`,aee),BZe={Bucket:{type:`contextParams`,name:`Bucket`},Key:{type:`contextParams`,name:`Key`}},VZe={UseS3ExpressControlEndpoint:{type:`staticContextParams`,value:!0},DisableAccessPoints:{type:`staticContextParams`,value:!0},Bucket:{type:`contextParams`,name:`Bucket`}},HZe={DisableS3ExpressSessionAuth:{type:`staticContextParams`,value:!0},Bucket:{type:`contextParams`,name:`Bucket`}},UZe={Bucket:{type:`contextParams`,name:`Bucket`}},WZe={},GZe={Bucket:{type:`contextParams`,name:`Bucket`},Prefix:{type:`contextParams`,name:`Prefix`}},X8=(e,t,n,r)=>[b6(n)],KZe=(e,t,n,r)=>[b6(n),x6(n)],qZe=(e,t,n,r)=>[b6(n),DZe(n)],JZe=(e,t,n,r)=>[v6(n,{requestAlgorithmMember:{httpHeader:`x-amz-sdk-checksum-algorithm`,name:`ChecksumAlgorithm`},requestChecksumRequired:!0}),b6(n)],YZe=(e,t,n,r)=>[v6(n,{requestChecksumRequired:!1,requestValidationModeMember:`ChecksumMode`,responseAlgorithms:[`CRC64NVME`,`CRC32`,`CRC32C`,`SHA256`,`SHA1`,`SHA512`,`MD5`,`XXHASH64`,`XXHASH3`,`XXHASH128`]}),x6(n),eZe(n)],XZe=(e,t,n,r)=>[v6(n,{requestAlgorithmMember:{httpHeader:`x-amz-sdk-checksum-algorithm`,name:`ChecksumAlgorithm`},requestChecksumRequired:!1}),UXe(n),b6(n),x6(n)],ZZe=(e,t,n,r)=>[v6(n,{requestAlgorithmMember:{httpHeader:`x-amz-sdk-checksum-algorithm`,name:`ChecksumAlgorithm`},requestChecksumRequired:!1}),b6(n),x6(n)],Z8=class e extends te{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},QZe=class e extends Z8{name=`NoSuchUpload`;$fault=`client`;constructor(t){super({name:`NoSuchUpload`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},$Ze=class e extends Z8{name=`AccessDenied`;$fault=`client`;constructor(t){super({name:`AccessDenied`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},eQe=class e extends Z8{name=`ObjectNotInActiveTierError`;$fault=`client`;constructor(t){super({name:`ObjectNotInActiveTierError`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},tQe=class e extends Z8{name=`BucketAlreadyExists`;$fault=`client`;constructor(t){super({name:`BucketAlreadyExists`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},nQe=class e extends Z8{name=`BucketAlreadyOwnedByYou`;$fault=`client`;constructor(t){super({name:`BucketAlreadyOwnedByYou`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},rQe=class e extends Z8{name=`NoSuchBucket`;$fault=`client`;constructor(t){super({name:`NoSuchBucket`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},iQe=class e extends Z8{name=`NoSuchKey`;$fault=`client`;constructor(t){super({name:`NoSuchKey`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},aQe=class e extends Z8{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}},oQe=class e extends Z8{name=`NoSuchAnnotation`;$fault=`client`;constructor(t){super({name:`NoSuchAnnotation`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},sQe=class e extends Z8{name=`NotFound`;$fault=`client`;constructor(t){super({name:`NotFound`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},cQe=class e extends Z8{name=`InvalidPrefix`;$fault=`client`;constructor(t){super({name:`InvalidPrefix`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},lQe=class e extends Z8{name=`EncryptionTypeMismatch`;$fault=`client`;constructor(t){super({name:`EncryptionTypeMismatch`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},uQe=class e extends Z8{name=`InvalidRequest`;$fault=`client`;constructor(t){super({name:`InvalidRequest`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},dQe=class e extends Z8{name=`InvalidWriteOffset`;$fault=`client`;constructor(t){super({name:`InvalidWriteOffset`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},fQe=class e extends Z8{name=`TooManyParts`;$fault=`client`;constructor(t){super({name:`TooManyParts`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},pQe=class e extends Z8{name=`AnnotationLimitExceeded`;$fault=`client`;constructor(t){super({name:`AnnotationLimitExceeded`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},mQe=class e extends Z8{name=`AnnotationNameTooLong`;$fault=`client`;constructor(t){super({name:`AnnotationNameTooLong`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},hQe=class e extends Z8{name=`InvalidAnnotationName`;$fault=`client`;constructor(t){super({name:`InvalidAnnotationName`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},gQe=class e extends Z8{name=`UnsupportedMediaType`;$fault=`client`;constructor(t){super({name:`UnsupportedMediaType`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},_Qe=class e extends Z8{name=`IdempotencyParameterMismatch`;$fault=`client`;constructor(t){super({name:`IdempotencyParameterMismatch`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},vQe=class e extends Z8{name=`ObjectAlreadyInActiveTierError`;$fault=`client`;constructor(t){super({name:`ObjectAlreadyInActiveTierError`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Q8=`ACL`,yQe=`AccessDenied`,bQe=`AbortDate`,$8=`AccessKeyId`,xQe=`AnnotationLimitExceeded`,SQe=`AbortMultipartUpload`,CQe=`AbortMultipartUploadOutput`,wQe=`AbortMultipartUploadRequest`,TQe=`AnnotationNameTooLong`,EQe=`AcceptRanges`,DQe=`AbortRuleId`,OQe=`AccessTier`,e5=`Bucket`,t5=`BucketArn`,kQe=`BucketAlreadyExists`,AQe=`BucketAlreadyOwnedByYou`,jQe=`BypassGovernanceRetention`,MQe=`BucketInfo`,n5=`BucketKeyEnabled`,NQe=`BucketNamespace`,r5=`BucketRegion`,i5=`Body`,a5=`Buckets`,o5=`ChecksumAlgorithm`,PQe=`CreateBucket`,s5=`CreateBucketConfiguration`,FQe=`CreateBucketOutput`,IQe=`CreateBucketRequest`,c5=`CacheControl`,l5=`ChecksumCRC32`,u5=`ChecksumCRC32C`,d5=`ChecksumCRC64NVME`,f5=`Cache-Control`,LQe=`CreationDate`,p5=`Content-Disposition`,m5=`ContentDisposition`,h5=`Content-Encoding`,g5=`ContentEncoding`,_5=`ContentLanguage`,v5=`Content-Language`,y5=`Content-Length`,b5=`ContentLength`,x5=`Content-MD5`,S5=`ChecksumMD5`,C5=`ContentMD5`,RQe=`CompletedMultipartUpload`,zQe=`CompleteMultipartUploadOutput`,BQe=`CreateMultipartUploadOutput`,VQe=`CompleteMultipartUploadResult`,HQe=`CompleteMultipartUploadRequest`,UQe=`CreateMultipartUploadRequest`,w5=`CompleteMultipartUpload`,WQe=`CreateMultipartUpload`,GQe=`ChecksumMode`,KQe=`CommonPrefix`,qQe=`CommonPrefixList`,JQe=`CompletedPartList`,YQe=`CompletedPart`,XQe=`CommonPrefixes`,ZQe=`ContentRange`,QQe=`Content-Range`,T5=`ChecksumSHA1`,E5=`ChecksumSHA256`,D5=`ChecksumSHA512`,O5=`CreateSessionOutput`,$Qe=`CreateSessionResult`,e$e=`CreateSessionRequest`,t$e=`CreateSession`,k5=`ChecksumType`,A5=`Content-Type`,j5=`ContentType`,M5=`ContinuationToken`,N5=`ChecksumXXHASH64`,P5=`ChecksumXXHASH3`,F5=`ChecksumXXHASH128`,n$e=`Contents`,I5=`Credentials`,L5=`DeleteMarker`,r$e=`DisplayName`,i$e=`DeleteObjectOutput`,a$e=`DeleteObjectRequest`,o$e=`DeleteObject`,s$e=`DataRedundancy`,R5=`Delimiter`,z5=`ExpectedBucketOwner`,B5=`ExpiresString`,V5=`ETag`,c$e=`EncryptionTypeMismatch`,H5=`EncodingType`,U5=`Expiration`,W5=`Expires`,l$e=`FetchOwner`,G5=`GrantFullControl`,u$e=`GetObject`,d$e=`GetObjectOutput`,f$e=`GetObjectRequest`,K5=`GrantRead`,q5=`GrantReadACP`,p$e=`GrantWrite`,J5=`GrantWriteACP`,m$e=`InvalidAnnotationName`,h$e=`ID`,Y5=`IfMatch`,g$e=`IfMatchInitiatedTime`,_$e=`IfMatchLastModifiedTime`,v$e=`IfMatchSize`,y$e=`If-Modified-Since`,b$e=`IfModifiedSince`,x$e=`InitiateMultipartUploadResult`,X5=`If-Match`,Z5=`IfNoneMatch`,Q5=`If-None-Match`,S$e=`InvalidObjectState`,C$e=`InvalidPrefix`,w$e=`IdempotencyParameterMismatch`,T$e=`InvalidRequest`,E$e=`IsRestoreInProgress`,D$e=`IsTruncated`,O$e=`IfUnmodifiedSince`,k$e=`If-Unmodified-Since`,A$e=`InvalidWriteOffset`,$5=`Key`,j$e=`KeyCount`,e7=`Location`,M$e=`ListAllMyBucketsResult`,N$e=`ListBuckets`,P$e=`ListBucketsOutput`,F$e=`ListBucketsRequest`,I$e=`ListBucketResult`,L$e=`LocationConstraint`,R$e=`LocationInfo`,t7=`LastModified`,z$e=`Last-Modified`,B$e=`ListObjectsV2`,V$e=`ListObjectsV2Output`,H$e=`ListObjectsV2Request`,n7=`Metadata`,U$e=`MaxBuckets`,W$e=`MFA`,r7=`MaxKeys`,G$e=`MissingMeta`,K$e=`MpuObjectSize`,q$e=`MultipartUpload`,i7=`Name`,J$e=`NextContinuationToken`,Y$e=`NotFound`,X$e=`NoSuchAnnotation`,Z$e=`NoSuchBucket`,Q$e=`NoSuchKey`,$$e=`NoSuchUpload`,a7=`Owner`,e1e=`ObjectAlreadyInActiveTierError`,t1e=`ObjectLockEnabledForBucket`,o7=`ObjectLockLegalHoldStatus`,s7=`ObjectLockMode`,c7=`ObjectLockRetainUntilDate`,n1e=`ObjectList`,r1e=`ObjectNotInActiveTierError`,i1e=`ObjectOwnership`,a1e=`OptionalObjectAttributes`,o1e=`Object`,l7=`Prefix`,s1e=`PartsCount`,u7=`PartNumber`,c1e=`PutObject`,l1e=`PutObjectOutput`,u1e=`PutObjectRequest`,d1e=`PutObjectTagging`,f1e=`PutObjectTaggingOutput`,p1e=`PutObjectTaggingRequest`,m1e=`Parts`,h1e=`Part`,d7=`RequestCharged`,g1e=`ResponseCacheControl`,_1e=`ResponseContentDisposition`,v1e=`ResponseContentEncoding`,y1e=`ResponseContentLanguage`,b1e=`ResponseContentType`,x1e=`ResponseExpires`,S1e=`RestoreExpiryDate`,f7=`RequestPayer`,C1e=`ReplicationStatus`,p7=`RestoreStatus`,m7=`Range`,w1e=`Restore`,h7=`StartAfter`,g7=`SecretAccessKey`,T1e=`StreamingBlob`,_7=`StorageClass`,E1e=`SessionCredentialValue`,D1e=`SessionCredentials`,O1e=`SessionMode`,v7=`ServerSideEncryption`,y7=`SSECustomerAlgorithm`,b7=`SSECustomerKey`,x7=`SSECustomerKeyMD5`,S7=`SSEKMSEncryptionContext`,C7=`SSEKMSKeyId`,w7=`SessionToken`,T7=`Size`,k1e=`Tags`,A1e=`TagCount`,j1e=`TooManyParts`,E7=`TagSet`,D7=`Tag`,O7=`Tagging`,k7=`Type`,A7=`UploadId`,M1e=`UnsupportedMediaType`,N1e=`UploadPart`,P1e=`UploadPartOutput`,F1e=`UploadPartRequest`,I1e=`Value`,j7=`VersionId`,L1e=`WriteOffsetBytes`,M7=`WebsiteRedirectLocation`,R1e=`accept-ranges`,z1e=`bucket-region`,N7=`client`,P7=`continuation-token`,B1e=`delimiter`,F7=`error`,V1e=`encoding-type`,H1e=`fetch-owner`,I7=`http`,L7=`httpChecksum`,R7=`httpError`,Q=`httpHeader`,z7=`httpPayload`,B7=`httpPrefixHeaders`,V7=`httpQuery`,U1e=`max-buckets`,W1e=`max-keys`,H7=`prefix`,U7=`partNumber`,G1e=`response-cache-control`,K1e=`response-content-disposition`,q1e=`response-content-encoding`,J1e=`response-content-language`,Y1e=`response-content-type`,X1e=`response-expires`,W7=`smithy.ts.sdk.synthetic.com.amazonaws.s3`,Z1e=`start-after`,Q1e=`streaming`,G7=`uploadId`,K7=`versionId`,q7=`xmlFlattened`,J7=`xmlName`,Y7=`x-amz-acl`,$1e=`x-amz-abort-date`,e0e=`x-amz-abort-rule-id`,t0e=`x-amz-bucket-arn`,n0e=`x-amz-bypass-governance-retention`,r0e=`x-amz-bucket-namespace`,i0e=`x-amz-bucket-object-lock-enabled`,X7=`x-amz-checksum-algorithm`,Z7=`x-amz-checksum-crc32`,Q7=`x-amz-checksum-crc32c`,$7=`x-amz-checksum-crc64nvme`,e9=`x-amz-checksum-md5`,a0e=`x-amz-checksum-mode`,t9=`x-amz-checksum-sha1`,n9=`x-amz-checksum-sha256`,r9=`x-amz-checksum-sha512`,o0e=`x-amz-create-session-mode`,i9=`x-amz-checksum-type`,a9=`x-amz-checksum-xxhash64`,o9=`x-amz-checksum-xxhash3`,s9=`x-amz-checksum-xxhash128`,c9=`x-amz-delete-marker`,l9=`x-amz-expiration`,u9=`x-amz-expected-bucket-owner`,d9=`x-amz-grant-full-control`,f9=`x-amz-grant-read`,p9=`x-amz-grant-read-acp`,s0e=`x-amz-grant-write`,m9=`x-amz-grant-write-acp`,c0e=`x-amz-if-match-initiated-time`,l0e=`x-amz-if-match-last-modified-time`,u0e=`x-amz-if-match-size`,h9=`x-amz-meta-`,d0e=`x-amz-mfa`,f0e=`x-amz-missing-meta`,p0e=`x-amz-mp-object-size`,m0e=`x-amz-mp-parts-count`,g9=`x-amz-object-lock-legal-hold`,_9=`x-amz-object-lock-mode`,v9=`x-amz-object-lock-retain-until-date`,h0e=`x-amz-object-ownership`,g0e=`x-amz-optional-object-attributes`,_0e=`x-amz-object-size`,v0e=`x-amz-restore`,y9=`x-amz-request-charged`,b9=`x-amz-request-payer`,y0e=`x-amz-replication-status`,x9=`x-amz-storage-class`,S9=`x-amz-sdk-checksum-algorithm`,C9=`x-amz-server-side-encryption`,w9=`x-amz-server-side-encryption-aws-kms-key-id`,T9=`x-amz-server-side-encryption-bucket-key-enabled`,E9=`x-amz-server-side-encryption-context`,D9=`x-amz-server-side-encryption-customer-algorithm`,O9=`x-amz-server-side-encryption-customer-key`,k9=`x-amz-server-side-encryption-customer-key-MD5`,A9=`x-amz-tagging`,b0e=`x-amz-tagging-count`,j9=`x-amz-version-id`,x0e=`x-amz-write-offset-bytes`,M9=`x-amz-website-redirect-location`,$=`com.amazonaws.s3`,N9=ot.for(W7),S0e=[-3,W7,`S3ServiceException`,0,[],[]];N9.registerError(S0e,Z8);var P9=ot.for($),C0e=[-3,$,yQe,{[F7]:N7,[R7]:403},[],[]];P9.registerError(C0e,$Ze);var w0e=[-3,$,xQe,{[F7]:N7,[R7]:400},[],[]];P9.registerError(w0e,pQe);var T0e=[-3,$,TQe,{[F7]:N7,[R7]:400},[],[]];P9.registerError(T0e,mQe);var E0e=[-3,$,kQe,{[F7]:N7,[R7]:409},[],[]];P9.registerError(E0e,tQe);var D0e=[-3,$,AQe,{[F7]:N7,[R7]:409},[],[]];P9.registerError(D0e,nQe);var O0e=[-3,$,c$e,{[F7]:N7,[R7]:400},[],[]];P9.registerError(O0e,lQe);var k0e=[-3,$,w$e,{[F7]:N7,[R7]:400},[],[]];P9.registerError(k0e,_Qe);var A0e=[-3,$,m$e,{[F7]:N7,[R7]:400},[],[]];P9.registerError(A0e,hQe);var j0e=[-3,$,S$e,{[F7]:N7,[R7]:403},[_7,OQe],[0,0]];P9.registerError(j0e,aQe);var M0e=[-3,$,C$e,{[F7]:N7,[R7]:400},[],[]];P9.registerError(M0e,cQe);var N0e=[-3,$,T$e,{[F7]:N7,[R7]:400},[],[]];P9.registerError(N0e,uQe);var P0e=[-3,$,A$e,{[F7]:N7,[R7]:400},[],[]];P9.registerError(P0e,dQe);var F0e=[-3,$,X$e,{[F7]:N7,[R7]:404},[],[]];P9.registerError(F0e,oQe);var I0e=[-3,$,Z$e,{[F7]:N7,[R7]:404},[],[]];P9.registerError(I0e,rQe);var L0e=[-3,$,Q$e,{[F7]:N7,[R7]:404},[],[]];P9.registerError(L0e,iQe);var R0e=[-3,$,$$e,{[F7]:N7,[R7]:404},[],[]];P9.registerError(R0e,QZe);var z0e=[-3,$,Y$e,{[F7]:N7},[],[]];P9.registerError(z0e,sQe);var B0e=[-3,$,e1e,{[F7]:N7,[R7]:403},[],[]];P9.registerError(B0e,vQe);var V0e=[-3,$,r1e,{[F7]:N7,[R7]:403},[],[]];P9.registerError(V0e,eQe);var H0e=[-3,$,j1e,{[F7]:N7,[R7]:400},[],[]];P9.registerError(H0e,fQe);var U0e=[-3,$,M1e,{[F7]:N7,[R7]:415},[],[]];P9.registerError(U0e,gQe);var W0e=[N9,P9],F9=[0,$,E1e,8,0],I9=[0,$,b7,8,0],L9=[0,$,S7,8,0],R9=[0,$,C7,8,0],z9=[0,$,T1e,{[Q1e]:1},42],G0e=[3,$,CQe,0,[d7],[[0,{[Q]:y9}]]],K0e=[3,$,wQe,0,[e5,$5,A7,f7,z5,g$e],[[0,1],[0,1],[0,{[V7]:G7}],[0,{[Q]:b9}],[0,{[Q]:u9}],[6,{[Q]:c0e}]],3],q0e=[3,$,e5,0,[i7,LQe,r5,t5],[0,4,0,0]],J0e=[3,$,MQe,0,[s$e,k7],[0,0]],Y0e=[3,$,KQe,0,[l7],[0]],X0e=[3,$,RQe,0,[m1e],[[()=>k2e,{[q7]:1,[J7]:h1e}]]],Z0e=[3,$,YQe,0,[V5,l5,u5,d5,T5,E5,D5,S5,N5,P5,F5,u7],[0,0,0,0,0,0,0,0,0,0,0,1]],Q0e=[3,$,zQe,{[J7]:VQe},[e7,e5,$5,U5,V5,l5,u5,d5,T5,E5,D5,S5,N5,P5,F5,k5,v7,j7,C7,n5,d7],[0,0,0,[0,{[Q]:l9}],0,0,0,0,0,0,0,0,0,0,0,0,[0,{[Q]:C9}],[0,{[Q]:j9}],[()=>R9,{[Q]:w9}],[2,{[Q]:T9}],[0,{[Q]:y9}]]],$0e=[3,$,HQe,0,[e5,$5,A7,q$e,l5,u5,d5,T5,E5,D5,S5,N5,P5,F5,k5,K$e,f7,z5,Y5,Z5,y7,b7,x7],[[0,1],[0,1],[0,{[V7]:G7}],[()=>X0e,{[z7]:1,[J7]:w5}],[0,{[Q]:Z7}],[0,{[Q]:Q7}],[0,{[Q]:$7}],[0,{[Q]:t9}],[0,{[Q]:n9}],[0,{[Q]:r9}],[0,{[Q]:e9}],[0,{[Q]:a9}],[0,{[Q]:o9}],[0,{[Q]:s9}],[0,{[Q]:i9}],[1,{[Q]:p0e}],[0,{[Q]:b9}],[0,{[Q]:u9}],[0,{[Q]:X5}],[0,{[Q]:Q5}],[0,{[Q]:D9}],[()=>I9,{[Q]:O9}],[0,{[Q]:k9}]],3],e2e=[3,$,s5,0,[L$e,e7,e5,k1e],[0,()=>h2e,()=>J0e,[()=>V9,0]]],t2e=[3,$,FQe,0,[e7,t5],[[0,{[Q]:e7}],[0,{[Q]:t0e}]]],n2e=[3,$,IQe,0,[e5,Q8,s5,G5,K5,q5,p$e,J5,t1e,i1e,NQe],[[0,1],[0,{[Q]:Y7}],[()=>e2e,{[z7]:1,[J7]:s5}],[0,{[Q]:d9}],[0,{[Q]:f9}],[0,{[Q]:p9}],[0,{[Q]:s0e}],[0,{[Q]:m9}],[2,{[Q]:i0e}],[0,{[Q]:h0e}],[0,{[Q]:r0e}]],1],r2e=[3,$,BQe,{[J7]:x$e},[bQe,DQe,e5,$5,A7,v7,y7,x7,C7,S7,n5,d7,o5,k5],[[4,{[Q]:$1e}],[0,{[Q]:e0e}],[0,{[J7]:e5}],0,0,[0,{[Q]:C9}],[0,{[Q]:D9}],[0,{[Q]:k9}],[()=>R9,{[Q]:w9}],[()=>L9,{[Q]:E9}],[2,{[Q]:T9}],[0,{[Q]:y9}],[0,{[Q]:X7}],[0,{[Q]:i9}]]],i2e=[3,$,UQe,0,[e5,$5,Q8,c5,m5,g5,_5,j5,W5,G5,K5,q5,J5,n7,v7,_7,M7,y7,b7,x7,C7,S7,n5,f7,O7,s7,c7,o7,z5,o5,k5],[[0,1],[0,1],[0,{[Q]:Y7}],[0,{[Q]:f5}],[0,{[Q]:p5}],[0,{[Q]:h5}],[0,{[Q]:v5}],[0,{[Q]:A5}],[4,{[Q]:W5}],[0,{[Q]:d9}],[0,{[Q]:f9}],[0,{[Q]:p9}],[0,{[Q]:m9}],[128,{[B7]:h9}],[0,{[Q]:C9}],[0,{[Q]:x9}],[0,{[Q]:M9}],[0,{[Q]:D9}],[()=>I9,{[Q]:O9}],[0,{[Q]:k9}],[()=>R9,{[Q]:w9}],[()=>L9,{[Q]:E9}],[2,{[Q]:T9}],[0,{[Q]:b9}],[0,{[Q]:A9}],[0,{[Q]:_9}],[5,{[Q]:v9}],[0,{[Q]:g9}],[0,{[Q]:u9}],[0,{[Q]:X7}],[0,{[Q]:i9}]],2],a2e=[3,$,O5,{[J7]:$Qe},[I5,v7,C7,S7,n5],[[()=>S2e,{[J7]:I5}],[0,{[Q]:C9}],[()=>R9,{[Q]:w9}],[()=>L9,{[Q]:E9}],[2,{[Q]:T9}]],1],o2e=[3,$,e$e,0,[e5,O1e,v7,C7,S7,n5],[[0,1],[0,{[Q]:o0e}],[0,{[Q]:C9}],[()=>R9,{[Q]:w9}],[()=>L9,{[Q]:E9}],[2,{[Q]:T9}]],1],s2e=[3,$,i$e,0,[L5,j7,d7],[[2,{[Q]:c9}],[0,{[Q]:j9}],[0,{[Q]:y9}]]],c2e=[3,$,a$e,0,[e5,$5,W$e,j7,f7,jQe,z5,Y5,_$e,v$e],[[0,1],[0,1],[0,{[Q]:d0e}],[0,{[V7]:K7}],[0,{[Q]:b9}],[2,{[Q]:n0e}],[0,{[Q]:u9}],[0,{[Q]:X5}],[6,{[Q]:l0e}],[1,{[Q]:u0e}]],2],l2e=[3,$,d$e,0,[i5,L5,EQe,U5,w1e,t7,b5,V5,l5,u5,d5,T5,E5,D5,S5,N5,P5,F5,k5,G$e,j7,c5,m5,g5,_5,ZQe,j5,W5,B5,M7,v7,n7,y7,x7,C7,n5,_7,d7,C1e,s1e,A1e,s7,c7,o7],[[()=>z9,16],[2,{[Q]:c9}],[0,{[Q]:R1e}],[0,{[Q]:l9}],[0,{[Q]:v0e}],[4,{[Q]:z$e}],[1,{[Q]:y5}],[0,{[Q]:V5}],[0,{[Q]:Z7}],[0,{[Q]:Q7}],[0,{[Q]:$7}],[0,{[Q]:t9}],[0,{[Q]:n9}],[0,{[Q]:r9}],[0,{[Q]:e9}],[0,{[Q]:a9}],[0,{[Q]:o9}],[0,{[Q]:s9}],[0,{[Q]:i9}],[1,{[Q]:f0e}],[0,{[Q]:j9}],[0,{[Q]:f5}],[0,{[Q]:p5}],[0,{[Q]:h5}],[0,{[Q]:v5}],[0,{[Q]:QQe}],[0,{[Q]:A5}],[4,{[Q]:W5}],[0,{[Q]:B5}],[0,{[Q]:M9}],[0,{[Q]:C9}],[128,{[B7]:h9}],[0,{[Q]:D9}],[0,{[Q]:k9}],[()=>R9,{[Q]:w9}],[2,{[Q]:T9}],[0,{[Q]:x9}],[0,{[Q]:y9}],[0,{[Q]:y0e}],[1,{[Q]:m0e}],[1,{[Q]:b0e}],[0,{[Q]:_9}],[5,{[Q]:v9}],[0,{[Q]:g9}]]],u2e=[3,$,f$e,0,[e5,$5,Y5,b$e,Z5,O$e,m7,g1e,_1e,v1e,y1e,b1e,x1e,j7,y7,b7,x7,f7,u7,z5,GQe],[[0,1],[0,1],[0,{[Q]:X5}],[4,{[Q]:y$e}],[0,{[Q]:Q5}],[4,{[Q]:k$e}],[0,{[Q]:m7}],[0,{[V7]:G1e}],[0,{[V7]:K1e}],[0,{[V7]:q1e}],[0,{[V7]:J1e}],[0,{[V7]:Y1e}],[6,{[V7]:X1e}],[0,{[V7]:K7}],[0,{[Q]:D9}],[()=>I9,{[Q]:O9}],[0,{[Q]:k9}],[0,{[Q]:b9}],[1,{[V7]:U7}],[0,{[Q]:u9}],[0,{[Q]:a0e}]],2],d2e=[3,$,P$e,{[J7]:M$e},[a5,a7,M5,l7],[[()=>D2e,0],()=>B9,0,0]],f2e=[3,$,F$e,0,[U$e,M5,l7,r5],[[1,{[V7]:U1e}],[0,{[V7]:P7}],[0,{[V7]:H7}],[0,{[V7]:z1e}]]],p2e=[3,$,V$e,{[J7]:I$e},[D$e,n$e,i7,l7,R5,r7,XQe,H5,j$e,M5,J$e,h7,d7],[2,[()=>A2e,{[q7]:1}],0,0,0,1,[()=>O2e,{[q7]:1}],0,1,0,0,0,[0,{[Q]:y9}]]],m2e=[3,$,H$e,0,[e5,R5,H5,r7,l7,M5,l$e,h7,f7,z5,a1e],[[0,1],[0,{[V7]:B1e}],[0,{[V7]:V1e}],[1,{[V7]:W1e}],[0,{[V7]:H7}],[0,{[V7]:P7}],[2,{[V7]:H1e}],[0,{[V7]:Z1e}],[0,{[Q]:b9}],[0,{[Q]:u9}],[64,{[Q]:g0e}]],1],h2e=[3,$,R$e,0,[k7,i7],[0,0]],g2e=[3,$,o1e,0,[$5,t7,V5,o5,k5,T7,_7,a7,p7],[0,4,0,[64,{[q7]:1}],0,1,0,()=>B9,()=>x2e]],B9=[3,$,a7,0,[r$e,h$e],[0,0]],_2e=[3,$,l1e,0,[U5,V5,l5,u5,d5,T5,E5,D5,S5,N5,P5,F5,k5,v7,j7,y7,x7,C7,S7,n5,T7,d7],[[0,{[Q]:l9}],[0,{[Q]:V5}],[0,{[Q]:Z7}],[0,{[Q]:Q7}],[0,{[Q]:$7}],[0,{[Q]:t9}],[0,{[Q]:n9}],[0,{[Q]:r9}],[0,{[Q]:e9}],[0,{[Q]:a9}],[0,{[Q]:o9}],[0,{[Q]:s9}],[0,{[Q]:i9}],[0,{[Q]:C9}],[0,{[Q]:j9}],[0,{[Q]:D9}],[0,{[Q]:k9}],[()=>R9,{[Q]:w9}],[()=>L9,{[Q]:E9}],[2,{[Q]:T9}],[1,{[Q]:_0e}],[0,{[Q]:y9}]]],v2e=[3,$,u1e,0,[e5,$5,Q8,i5,c5,m5,g5,_5,b5,C5,j5,o5,l5,u5,d5,T5,E5,D5,S5,N5,P5,F5,W5,Y5,Z5,G5,K5,q5,J5,L1e,n7,v7,_7,M7,y7,b7,x7,C7,S7,n5,f7,O7,s7,c7,o7,z5],[[0,1],[0,1],[0,{[Q]:Y7}],[()=>z9,16],[0,{[Q]:f5}],[0,{[Q]:p5}],[0,{[Q]:h5}],[0,{[Q]:v5}],[1,{[Q]:y5}],[0,{[Q]:x5}],[0,{[Q]:A5}],[0,{[Q]:S9}],[0,{[Q]:Z7}],[0,{[Q]:Q7}],[0,{[Q]:$7}],[0,{[Q]:t9}],[0,{[Q]:n9}],[0,{[Q]:r9}],[0,{[Q]:e9}],[0,{[Q]:a9}],[0,{[Q]:o9}],[0,{[Q]:s9}],[4,{[Q]:W5}],[0,{[Q]:X5}],[0,{[Q]:Q5}],[0,{[Q]:d9}],[0,{[Q]:f9}],[0,{[Q]:p9}],[0,{[Q]:m9}],[1,{[Q]:x0e}],[128,{[B7]:h9}],[0,{[Q]:C9}],[0,{[Q]:x9}],[0,{[Q]:M9}],[0,{[Q]:D9}],[()=>I9,{[Q]:O9}],[0,{[Q]:k9}],[()=>R9,{[Q]:w9}],[()=>L9,{[Q]:E9}],[2,{[Q]:T9}],[0,{[Q]:b9}],[0,{[Q]:A9}],[0,{[Q]:_9}],[5,{[Q]:v9}],[0,{[Q]:g9}],[0,{[Q]:u9}]],2],y2e=[3,$,f1e,0,[j7],[[0,{[Q]:j9}]]],b2e=[3,$,p1e,0,[e5,$5,O7,j7,C5,o5,z5,f7],[[0,1],[0,1],[()=>w2e,{[z7]:1,[J7]:O7}],[0,{[V7]:K7}],[0,{[Q]:x5}],[0,{[Q]:S9}],[0,{[Q]:u9}],[0,{[Q]:b9}]],3],x2e=[3,$,p7,0,[E$e,S1e],[2,4]],S2e=[3,$,D1e,0,[$8,g7,w7,U5],[[0,{[J7]:$8}],[()=>F9,{[J7]:g7}],[()=>F9,{[J7]:w7}],[4,{[J7]:U5}]],4],C2e=[3,$,D7,0,[$5,I1e],[0,0],2],w2e=[3,$,O7,0,[E7],[[()=>V9,0]],1],T2e=[3,$,P1e,0,[v7,V5,l5,u5,d5,T5,E5,D5,S5,N5,P5,F5,y7,x7,C7,n5,d7],[[0,{[Q]:C9}],[0,{[Q]:V5}],[0,{[Q]:Z7}],[0,{[Q]:Q7}],[0,{[Q]:$7}],[0,{[Q]:t9}],[0,{[Q]:n9}],[0,{[Q]:r9}],[0,{[Q]:e9}],[0,{[Q]:a9}],[0,{[Q]:o9}],[0,{[Q]:s9}],[0,{[Q]:D9}],[0,{[Q]:k9}],[()=>R9,{[Q]:w9}],[2,{[Q]:T9}],[0,{[Q]:y9}]]],E2e=[3,$,F1e,0,[e5,$5,u7,A7,i5,b5,C5,o5,l5,u5,d5,T5,E5,D5,S5,N5,P5,F5,y7,b7,x7,f7,z5],[[0,1],[0,1],[1,{[V7]:U7}],[0,{[V7]:G7}],[()=>z9,16],[1,{[Q]:y5}],[0,{[Q]:x5}],[0,{[Q]:S9}],[0,{[Q]:Z7}],[0,{[Q]:Q7}],[0,{[Q]:$7}],[0,{[Q]:t9}],[0,{[Q]:n9}],[0,{[Q]:r9}],[0,{[Q]:e9}],[0,{[Q]:a9}],[0,{[Q]:o9}],[0,{[Q]:s9}],[0,{[Q]:D9}],[()=>I9,{[Q]:O9}],[0,{[Q]:k9}],[0,{[Q]:b9}],[0,{[Q]:u9}]],4],D2e=[1,$,a5,0,[()=>q0e,{[J7]:e5}]],O2e=[1,$,qQe,0,()=>Y0e],k2e=[1,$,JQe,0,()=>Z0e],A2e=[1,$,n1e,0,[()=>g2e,0]],V9=[1,$,E7,0,[()=>C2e,{[J7]:D7}]],j2e=[9,$,SQe,{[I7]:[`DELETE`,`/{Key+}?x-id=AbortMultipartUpload`,204]},()=>K0e,()=>G0e],M2e=[9,$,w5,{[I7]:[`POST`,`/{Key+}`,200]},()=>$0e,()=>Q0e],N2e=[9,$,PQe,{[I7]:[`PUT`,`/`,200]},()=>n2e,()=>t2e],P2e=[9,$,WQe,{[I7]:[`POST`,`/{Key+}?uploads`,200]},()=>i2e,()=>r2e],F2e=[9,$,t$e,{[I7]:[`GET`,`/?session`,200]},()=>o2e,()=>a2e],I2e=[9,$,o$e,{[I7]:[`DELETE`,`/{Key+}?x-id=DeleteObject`,204]},()=>c2e,()=>s2e],L2e=[9,$,u$e,{[L7]:`-`,[I7]:[`GET`,`/{Key+}?x-id=GetObject`,200]},()=>u2e,()=>l2e],R2e=[9,$,N$e,{[I7]:[`GET`,`/?x-id=ListBuckets`,200]},()=>f2e,()=>d2e],z2e=[9,$,B$e,{[I7]:[`GET`,`/?list-type=2`,200]},()=>m2e,()=>p2e],B2e=[9,$,c1e,{[L7]:`-`,[I7]:[`PUT`,`/{Key+}?x-id=PutObject`,200]},()=>v2e,()=>_2e],V2e=[9,$,d1e,{[L7]:`-`,[I7]:[`PUT`,`/{Key+}?tagging`,200]},()=>b2e,()=>y2e],H2e=[9,$,N1e,{[L7]:`-`,[I7]:[`PUT`,`/{Key+}?x-id=UploadPart`,200]},()=>E2e,()=>T2e],U2e=class extends Y8(HZe,X8,`CreateSession`,F2e){},W2e={name:`@aws-sdk/client-s3`,version:`3.1109.0`,description:`AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native`,homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3`,license:`Apache-2.0`,author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/sdk-for-javascript/`},repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-s3`},files:[`dist-*/**`],sideEffects:!1,main:`./dist-cjs/index.js`,module:`./dist-es/index.js`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},types:`./dist-types/index.d.ts`,typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline`,"build:es":`premove dist-es && tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`premove dist-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`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service`,test:`yarn g:vitest run --passWithNoTests`,"test:watch":`yarn g:vitest watch --passWithNoTests`,"test:integration":`yarn g:vitest run --passWithNoTests -c vitest.config.integ.mts`,"test:integration:watch":`yarn g:vitest watch --passWithNoTests -c vitest.config.integ.mts`,"test:e2e":`yarn g:vitest run -c vitest.config.e2e.mts`,"test:e2e:watch":`yarn g:vitest watch -c vitest.config.e2e.mts`,"test:browser":`yarn g:vitest run -c vitest.config.browser.mts`,"test:browser:watch":`yarn g:vitest watch -c vitest.config.browser.mts`,"test:index":`tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs`},dependencies:{"@aws-sdk/checksums":`^3.1000.27`,"@aws-sdk/core":`^3.977.7`,"@aws-sdk/credential-provider-node":`^3.972.79`,"@aws-sdk/middleware-sdk-s3":`^3.972.73`,"@aws-sdk/signature-v4-multi-region":`^3.996.44`,"@aws-sdk/types":`^3.974.3`,"@smithy/core":`^3.31.1`,"@smithy/fetch-http-handler":`^5.6.13`,"@smithy/node-http-handler":`^4.9.13`,"@smithy/types":`^4.16.1`,tslib:`^2.6.2`},devDependencies:{"@aws-sdk/signature-v4-crt":`3.1109.0`,"@smithy/snapshot-testing":`^2.2.16`,"@tsconfig/node20":`20.1.8`,"@types/node":`^20.14.8`,concurrently:`7.0.0`,"downlevel-dts":`0.10.1`,premove:`4.0.0`,typescript:`~6.0.3`,vitest:`^4.0.17`},engines:{node:`>=20.0.0`}},H9=64,U9=20,W9=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),G2e=new Int32Array([1518500249,1859775393,2400959708,3395469782]),K2e=class e{digestLength=U9;state=Int32Array.from(W9);w;buffer=new Uint8Array(H9);bufferLength=0;bytesHashed=0;finished=!1;inner;outer;constructor(t){if(t){let n=e.normalizeKey(t);this.inner=new e,this.outer=new e;let r=new Uint8Array(128);for(let e=0;e0){for(;n>0&&this.bufferLength=H9;)this.hashBuffer(e,t),t+=H9,n-=H9;for(;n>0;)this.buffer[this.bufferLength++]=e[t++],--n}async digest(){if(this.inner&&this.outer){if(this.finished)throw Error(`Attempted to digest an already finished HMAC.`);this.finished=!0;let e=this.inner.digestSync();return this.outer.update(e),this.outer.digestSync()}return this.digestSync()}reset(){this.state=Int32Array.from(W9),this.buffer=new Uint8Array(H9),this.bufferLength=0,this.bytesHashed=0}digestSync(){let e=this.state.slice(),t=this.buffer.slice(),n=this.bufferLength,r=this.bytesHashed/536870912|0,i=this.bytesHashed<<3;if(t[n++]=128,n>56){for(let e=n;e>>24&255,o[1]=e[0]>>>16&255,o[2]=e[0]>>>8&255,o[3]=e[0]&255,o[4]=e[1]>>>24&255,o[5]=e[1]>>>16&255,o[6]=e[1]>>>8&255,o[7]=e[1]&255,o[8]=e[2]>>>24&255,o[9]=e[2]>>>16&255,o[10]=e[2]>>>8&255,o[11]=e[2]&255,o[12]=e[3]>>>24&255,o[13]=e[3]>>>16&255,o[14]=e[3]>>>8&255,o[15]=e[3]&255,o[16]=e[4]>>>24&255,o[17]=e[4]>>>16&255,o[18]=e[4]>>>8&255,o[19]=e[4]&255,o}static normalizeKey(t){let n=at(t);if(n.byteLength>H9){let t=new e;t.update(n);let r=t.digestSync(),i=new Uint8Array(H9);return i.set(r),i}let r=new Uint8Array(H9);return r.set(n),r}hashBuffer(e,t){this.hashBufferWith(this.state,e,t)}hashBufferWith(e,t,n){let r=this.w??=new Int32Array(80),i=e[0],a=e[1],o=e[2],s=e[3],c=e[4];for(let e=0;e<16;++e)r[e]=(t[n+e*4]&255)<<24|(t[n+e*4+1]&255)<<16|(t[n+e*4+2]&255)<<8|t[n+e*4+3]&255;for(let e=16;e<80;++e){let t=r[e-3]^r[e-8]^r[e-14]^r[e-16];r[e]=t<<1|t>>>31}for(let e=0;e<80;++e){let t=e<20?0:e<40?1:e<60?2:3,n=((i<<5|i>>>27)+(t===0?a&o^~a&s:t===2?a&o^a&s^o&s:a^o^s)|0)+(c+(G2e[t]+r[e]|0)|0)|0;c=s,s=o,o=a<<30|a>>>2,a=i,i=n}e[0]=e[0]+i|0,e[1]=e[1]+a|0,e[2]=e[2]+o|0,e[3]=e[3]+s|0,e[4]=e[4]+c|0}},q2e=e=>({apiVersion:`2006-03-01`,base64Decoder:e?.base64Decoder??Ge,base64Encoder:e?.base64Encoder??he,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??K8,extensions:e?.extensions??[],getAwsChunkedEncodingStream:e?.getAwsChunkedEncodingStream??xee,httpAuthSchemeProvider:e?.httpAuthSchemeProvider??LZe,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new me},{schemeId:`aws.auth#sigv4a`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4a`),signer:new s}],logger:e?.logger??new Ue,md5:e?.md5??qee,protocol:e?.protocol??xZe,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.s3`,errorTypeRegistries:W0e,xmlNamespace:`http://s3.amazonaws.com/doc/2006-03-01/`,version:`2006-03-01`,serviceTarget:`AmazonS3`},sdkStreamMixin:e?.sdkStreamMixin??gt,serviceId:e?.serviceId??`S3`,sha1:e?.sha1??K2e,sha256:e?.sha256??ze,signerConstructor:e?.signerConstructor??a,signingEscapePath:e?.signingEscapePath??!1,urlParser:e?.urlParser??Ce,useArnRegion:e?.useArnRegion??void 0,utf8Decoder:e?.utf8Decoder??st,utf8Encoder:e?.utf8Encoder??ct}),J2e=e=>{let t=He(e),n=()=>t().then(_e),r=q2e(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Ne,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??ge({serviceId:r.serviceId,clientVersion:W2e.version}),eventStreamSerdeProvider:e?.eventStreamSerdeProvider??mee,maxAttempts:e?.maxAttempts??3,region:e?.region??Te(`Region is missing`),requestHandler:xe.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||oe),streamCollector:e?.streamCollector??Pe,streamHasher:e?.streamHasher??Kee,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},Y2e=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}}},X2e=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),Z2e=(e,n)=>{let r=Object.assign(We(e),de(e),ke(e),Y2e(e));return n.forEach(e=>e.configure(r)),Object.assign(e,t(r),pe(r),ve(r),X2e(r))},Q2e=class extends i{config;constructor(...[e]){let t=J2e(e||{});super(t),this.initConfig=t;let n=zZe(t),i=RXe(ie(n)),a=Xe(i),o=ue(a),s=Ee(o),c=Z2e(ZXe(RZe(S6(Ie(s))),{session:[()=>this,U2e]}),e?.extensions||[]);this.config=c,this.middlewareStack.use(be(this.config)),this.middlewareStack.use(u(this.config)),this.middlewareStack.use(se(this.config)),this.middlewareStack.use(Oe(this.config)),this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(re(this.config)),this.middlewareStack.use(we(this.config)),this.middlewareStack.use(r(this.config,{httpAuthSchemeParametersProvider:IZe,identityProviderConfigProvider:async e=>new le({"aws.auth#sigv4":e.credentials,"aws.auth#sigv4a":e.credentials})})),this.middlewareStack.use(ye(this.config)),this.middlewareStack.use(bZe(this.config)),this.middlewareStack.use(wZe(this.config)),this.middlewareStack.use(JXe(this.config)),this.middlewareStack.use(aZe(this.config)),this.middlewareStack.use(uZe(this.config))}destroy(){super.destroy()}},G9=`${window.location.protocol}//localhost:9999`,$2e=`${window.location.protocol}//localhost:8443`,K9=null,q9=null,J9=null,Y9=null,X9=null,Z9=null,Q9=null,$9=null;function e4e(){if(!K9){let e=Ae();if(!e)throw Error(`AWS credentials not configured`);K9=new rI({endpoint:G9,region:$e(),credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken}}),K9.middlewareStack.add(e=>async t=>(ce.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}`),await e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return K9}function t4e(){if(!q9){let e=Ae();if(!e)throw Error(`AWS credentials not configured`);q9=new CMe({endpoint:G9,region:$e(),credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken}}),q9.middlewareStack.add(e=>async t=>(ce.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}`),await e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return q9}function n4e(){if(!J9){let e=Ae();if(!e)throw Error(`AWS credentials not configured`);J9=new tHe({endpoint:G9,region:$e(),credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken}}),J9.middlewareStack.add(e=>async t=>(ce.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}`),await e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return J9}function r4e(){if(!Y9){let e=Ae();if(!e)throw Error(`AWS credentials not configured`);Y9=new fne({endpoint:G9,region:$e(),credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken}}),Y9.middlewareStack.add(e=>async t=>(ce.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}`),await e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return Y9}function i4e(){if(!X9){let e=Ae();if(!e)throw Error(`AWS credentials not configured`);X9=new _Xe({endpoint:G9,region:$e(),credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken}}),X9.middlewareStack.add(e=>async t=>(ce.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}`),await e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return X9}function a4e(){if(!Q9){let e=Ae();if(!e)throw Error(`AWS credentials not configured`);Q9=new XH({endpoint:G9,region:$e(),credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken}}),Q9.middlewareStack.add(e=>async t=>(ce.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}`),await e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return Q9}function o4e(){if(!$9){let e=Ae();if(!e)throw Error(`AWS credentials not configured`);$9=new BCe({endpoint:G9,region:$e(),credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken}}),$9.middlewareStack.add(e=>async t=>(ce.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}`),await e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return $9}function s4e(){if(!Z9){let e=Ae();if(!e)throw Error(`AWS credentials not configured`);Z9=new Q2e({endpoint:$2e,region:$e(),credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken},forcePathStyle:!0}),Z9.middlewareStack.add(e=>async t=>(ce.isInstance(t.request)&&t.request.path.endsWith(`/`)&&t.request.path!==`/`&&(t.request.path=t.request.path.slice(0,-1)),await e(t)),{step:`build`,name:`removeTrailingSlash`}),Z9.middlewareStack.add(e=>async t=>(ce.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}`),await e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return Z9}function c4e(){K9=null,q9=null,J9=null,Y9=null,X9=null,Z9=null,Q9=null,$9=null}export{MYe as $,MH as $n,mF as $r,HVe as $t,qZe as A,GF as Ai,gMe as An,GP as Ar,lXe as At,yYe as B,tte as Bi,CCe as Bn,tF as Br,kVe as Bt,UZe as C,RF as Ci,lMe as Cn,RP as Cr,nXe as Ct,KZe as D,HF as Di,pMe as Dn,HP as Dr,oXe as Dt,X8 as E,VF as Ei,fMe as En,VP as Er,aXe as Et,mYe as F,XF as Fi,vCe as Fn,XP as Fr,wVe as Ft,wYe as G,OCe as Gn,oF as Gr,PVe as Gt,xYe as H,TCe as Hn,rF as Hr,jVe as Ht,hYe as I,ZF as Ii,yCe as In,ZP as Ir,TVe as It,DYe as J,jCe as Jn,lF as Jr,LVe as Jt,TYe as K,kCe as Kn,sF as Kr,FVe as Kt,gYe as L,vne as Li,bCe as Ln,QP as Lr,EVe as Lt,YZe as M,qF as Mi,KCe as Mn,qP as Mr,dXe as Mt,Y8 as N,JF as Ni,gCe as Nn,JP as Nr,sHe as Nt,XZe as O,UF as Oi,mMe as On,UP as Or,sXe as Ot,S6 as P,YF as Pi,_Ce as Pn,YP as Pr,CVe as Pt,jYe as Q,nU as Qn,pF as Qr,VVe as Qt,_Ye as R,ane as Ri,xCe as Rn,$P as Rr,DVe as Rt,VZe as S,LF as Si,cMe as Sn,LP as Sr,tXe as St,GZe as T,BF as Ti,dMe as Tn,BP as Tr,iXe as Tt,SYe as U,ECe as Un,iF as Ur,MVe as Ut,bYe as V,wCe as Vn,nF as Vr,AVe as Vt,CYe as W,DCe as Wn,aF as Wr,NVe as Wt,kYe as X,NCe as Xn,dF as Xr,zVe as Xt,OYe as Y,MCe as Yn,uF as Yr,RVe as Yt,AYe as Z,PCe as Zn,fF as Zr,BVe as Zt,z2e as _,MF as _i,rMe as _n,MP as _r,XYe as _t,o4e as a,bF as ai,JVe as an,RH as ar,RYe as at,H2e as b,FF as bi,oMe as bn,FP as br,$Ye as bt,i4e as c,CF as ci,Jje as cn,VH as cr,VYe as ct,M2e as d,EF as di,Zje as dn,WH as dr,WYe as dt,hF as ei,UVe as en,NH as er,NYe as et,N2e as f,DF as fi,Qje as fn,QI as fr,GYe as ft,R2e as g,jF as gi,nMe as gn,jP as gr,YYe as gt,L2e as h,AF as hi,tMe as hn,AP as hr,JYe as ht,a4e as i,yF as ii,qVe as in,LH as ir,LYe as it,JZe as j,KF as ji,_Me as jn,KP as jr,uXe as jt,ZZe as k,WF as ki,hMe as kn,WP as kr,cXe as kt,s4e as l,wF as li,Yje as ln,HH as lr,HYe as lt,I2e as m,kF as mi,eMe as mn,uI as mr,qYe as mt,r4e as n,vF as ni,GVe as nn,FH as nr,FYe as nt,t4e as o,SF as oi,YVe as on,zH as or,zYe as ot,P2e as p,OF as pi,$je as pn,rL as pr,KYe as pt,EYe as q,ACe as qn,cF as qr,IVe as qt,e4e as r,_F as ri,KVe as rn,IH as rr,IYe as rt,n4e as s,xF as si,kMe as sn,BH as sr,BYe as st,c4e as t,gF as ti,WVe as tn,PH as tr,PYe as tt,j2e as u,TF as ui,Xje as un,UH as ur,UYe as ut,B2e as v,NF as vi,iMe as vn,NP as vr,ZYe as vt,WZe as w,zF as wi,uMe as wn,zP as wr,rXe as wt,BZe as x,IF as xi,sMe as xn,IP as xr,eXe as xt,V2e as y,PF as yi,aMe as yn,PP as yr,QYe as yt,vYe as z,one as zi,SCe as zn,eF as zr,OVe as zt}; \ No newline at end of file +`)}e.close()}else e.enqueue(`${(r(t)||0).toString(16)}\r\n${t}\r\n`)}})},_t=`The stream has already been transformed.`,vt=e=>{if(!yt(e)&&!Je(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(_t);return t=!0,await Ie(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 _e(t);if(e===`hex`)return fee(t);if(e===void 0||e===`utf8`||e===`utf-8`)return ut(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(_t);if(t=!0,yt(e))return r(e);if(Je(e))return e;throw Error(`Cannot transform payload to web stream, got ${e}`)}})},yt=e=>typeof Blob==`function`&&e instanceof Blob,bt=class extends oee{async serializeRequest(e,t,n){let r=t&&typeof t==`object`?t:{},i=this.serializer,a={},o={},s=await n.endpoint(),c=se.of(e?.input),l=[],ee=[],te=!1,ne,re=new ue({protocol:``,hostname:``,port:void 0,path:``,fragment:void 0,query:a,headers:o,body:void 0});if(s){this.updateServiceEndpoint(re,s),this.setHostPrefix(re,e,r);let t=eee(e.traits);if(t.http){re.method=t.http[0];let[e,n]=t.http[1].split(`?`);re.path==`/`?re.path=e:re.path+=e;let r=new URLSearchParams(n??``);for(let[e,t]of r)a[e]=t}}for(let[e,t]of c.structIterator()){let n=t.getMergedTraits()??{},s=r[e];if(s==null&&!t.isIdempotencyToken()){if(n.httpLabel&&(re.path.includes(`{${e}+}`)||re.path.includes(`{${e}}`)))throw Error(`No value provided for input HTTP label: ${e}.`);continue}if(n.httpPayload)t.isStreaming()?t.isStructSchema()?r[e]&&(ne=await this.serializeEventStream({eventStream:r[e],requestSchema:c})):ne=s:(i.write(t,s),ne=i.flush());else if(n.httpLabel){i.write(t,s);let n=i.flush();re.path.includes(`{${e}+}`)?re.path=re.path.replace(`{${e}+}`,n.split(`/`).map(Ne).join(`/`)):re.path.includes(`{${e}}`)&&(re.path=re.path.replace(`{${e}}`,Ne(n)))}else if(n.httpHeader)i.write(t,s),o[n.httpHeader.toLowerCase()]=String(i.flush());else if(typeof n.httpPrefixHeaders==`string`)for(let e in s){let r=s[e],a=n.httpPrefixHeaders+e;i.write([t.getValueSchema(),{httpHeader:a}],r),o[a.toLowerCase()]=i.flush()}else n.httpQuery||n.httpQueryParams?this.serializeQuery(t,s,a):(te=!0,l.push(e),ee.push(t))}if(te&&r){let[e,t]=(c.getName(!0)??`#Unknown`).split(`#`),n=c.getSchema()[6],a=[3,e,t,c.getMergedTraits(),l,ee,void 0];n?a[6]=n:a.pop(),i.write(a,r),ne=i.flush()}return re.headers=o,re.query=a,re.body=ne,re}serializeQuery(e,t,n){let r=this.serializer,i=e.getMergedTraits();if(i.httpQueryParams){for(let r in t)if(!(r in n)){let a=t[r],o=e.getValueSchema();Object.assign(o.getMergedTraits(),{...i,httpQuery:r,httpQueryParams:void 0}),this.serializeQuery(o,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=se.of(e.output),a={};if(n.statusCode>=300){let i=await Xe(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 Xe(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 Xe(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=se.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]=vt(n.body);else if(n.body){let i=await Xe(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?ft(o,`,`,2):tee(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 in n.headers)if(t.startsWith(i.httpPrefixHeaders)){let o=n.headers[t],c=r.getValueSchema();c.getMergedTraits().httpHeader=t,a[e][t.slice(i.httpPrefixHeaders.length)]=await s.read(c,o)}}else i.httpResponseCode?a[e]=n.statusCode:l.push(e)}return l.discardResponseBody=o,l}},xt=class extends Ue{codecDeserializer;stringDeserializer;constructor(t,n){super(),this.codecDeserializer=t,this.stringDeserializer=new e(n)}setSerdeContext(e){this.stringDeserializer.setSerdeContext(e),this.codecDeserializer.setSerdeContext(e),this.serdeContext=e}read(e,t){let n=se.of(e),r=n.getMergedTraits(),i=this.serdeContext?.utf8Encoder??ut;if(r.httpHeader||r.httpResponseCode)return this.stringDeserializer.read(n,i(t));if(r.httpPayload){if(n.isBlobSchema()){let e=this.serdeContext?.utf8Decoder??lt;return typeof t==`string`?e(t):t}if(n.isStringSchema())return`byteLength`in t?i(t):t}return this.codecDeserializer.read(n,t)}},See=class extends Ue{settings;stringBuffer=``;constructor(e){super(),this.settings=e}write(e,t){let n=se.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(Le(n,this.settings)){case 5:this.stringBuffer=t.toISOString().replace(`.000Z`,`Z`);break;case 6:this.stringBuffer=it(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??_e)(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:dt(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=o.from(r)),n.getMergedTraits().httpHeader)){this.stringBuffer=(this.serdeContext?.base64Encoder??_e)(r.toString());return}this.stringBuffer=t;break;default:this.stringBuffer=n.isIdempotencyToken()?et():String(t)}}flush(){let e=this.stringBuffer;return this.stringBuffer=``,e}},St=class{codecSerializer;stringSerializer;buffer;constructor(e,t,n=new See(t)){this.codecSerializer=e,this.stringSerializer=n}setSerdeContext(e){this.codecSerializer.setSerdeContext(e),this.stringSerializer.setSerdeContext(e)}write(e,t){let n=se.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()}},Ct;function wt(){if(Ct===void 0)try{if(typeof Buffer!=`function`)Ct=!1;else{let e=JSON.parse(Buffer.from([123,125]));Ct=typeof e==`object`&&!!e}}catch{Ct=!1}return Ct}function Tt(e,t,n){if(n?.source){let e=n.source;if(typeof t==`number`)return t<=2**53-1&&t>=-(2**53-1)?wee(e,t)?t:new ot(e,`bigDecimal`):Cee(e)?new ot(e,`bigDecimal`):/[eE]/.test(e)?Tee(e):BigInt(e)}return t}function Cee(e){let t=e.indexOf(`.`);if(t===-1)return!1;let n=e.search(/[eE]/);if(n===-1)return!0;let r=n-t-1;return parseInt(e.slice(n+1),10)=o.length?o+`0`.repeat(c-o.length):o.slice(0,c)+`.`+o.slice(c)}return i.includes(`.`)&&(i=i.replace(/(\.\d*?)0+$/,`$1`).replace(/\.$/,``)),(t?`-`:``)+i}function Tee(e){let t=e.search(/[eE]/),n=parseInt(e.slice(t+1),10),r=e.startsWith(`-`),i=e.slice(+!!r,t),a=i.indexOf(`.`),o,s;a===-1?(o=i,s=n):(o=i.slice(0,a)+i.slice(a+1),s=n-(i.length-a-1)),o=o.replace(/0+$/,``)||`0`;let c=BigInt(o)*10n**BigInt(s+(i.replace(`.`,``).length-o.length));return r?-c:c}var Dt=Symbol.for(`@aws-sdk/reviver`);function Ot(e){let t=se.of(e),n=t.getSchema();if(Array.isArray(n)&&t.isStructSchema()){if(Dt in n)return n[Dt];let e=kt(t,new Set);return n[Dt]=e,e}return kt(t,new Set)}function kt(e,t){let n=e.getSchema();if(t.has(n))return!1;if(t.add(n),e.isBigIntegerSchema()||e.isBigDecimalSchema())return!0;if(e.isStructSchema()){for(let[,n]of e.structIterator())if(kt(n,t))return!0}else if(e.isListSchema()||e.isMapSchema()){if(kt(e.getValueSchema(),t))return!0}else if(e.isDocumentSchema())return!0;return!1}var At=(e,t)=>Xe(e,t).then(e=>(t?.utf8Encoder??ut)(e));async function jt(e,t,n){let r;if(wt()&&typeof e?.[Symbol.asyncIterator]==`function`){let n=await Xe(e,t);typeof Buffer==`function`&&(r=Buffer.isBuffer(n)?n:Buffer.from(n.buffer,n.byteOffset,n.byteLength))}if(r||=await At(e,t),r.length===0)return{};let i=n&&Ot(n)?Tt:void 0;try{return JSON.parse(r,i)}catch(e){throw e?.name===`SyntaxError`&&Object.defineProperty(e,"$responseBodyText",{value:typeof r==`string`?r:r.toString(`utf8`)}),e}}var Mt=(e,t)=>Object.keys(e).find(e=>e.toLowerCase()===t.toLowerCase()),Nt=e=>{let t=e;return typeof t==`number`&&(t=t.toString()),t.indexOf(`,`)>=0&&(t=t.split(`,`)[0]),t.indexOf(`:`)>=0&&(t=t.split(`:`)[0]),t.indexOf(`#`)>=0&&(t=t.split(`#`)[1]),t},Pt=(e,t)=>It(e,t,[`header`,`code`,`type`]),Ft=(e,t,n=!1)=>It(e,t,n?[`code`,`header`,`type`]:[`type`,`code`,`header`]),It=({headers:e},t,n)=>{for(;n.length>0;)switch(n.shift()){case`header`:let n=Mt(e??{},`x-amzn-errortype`);if(n!==void 0)return Nt(e[n]);break;case`code`:let r=Mt(t??{},`code`);if(r&&t[r]!==void 0)return Nt(t[r]);break;case`type`:if(t?.__type!==void 0)return Nt(t.__type)}},Lt=class extends Pe{settings;constructor(e){super(),this.settings=e}async read(e,t){let n=Ot(e)?Tt:void 0,r;if(typeof t==`string`){if(t.length===0)return{};r=JSON.parse(t,n)}else if(t instanceof Uint8Array&&wt()){if(t.byteLength===0)return{};let e=Buffer.isBuffer(t)?t:Buffer.from(t.buffer,t.byteOffset,t.byteLength);r=JSON.parse(e,n)}else r=await jt(t,this.serdeContext,e);return this._read(e,r)}readObject(e,t){return this._read(e,t)}_read(e,t){let n=typeof t==`object`&&!!t,r=se.of(e);if(n){if(r.isStructSchema())return this._readStruct(r,t);if(Array.isArray(t)&&r.isListSchema()){let e=r.getValueSchema();if(this.needsTransform(e))for(let n=0;nzt+6e4&&(console.warn(`@aws-sdk/core/protocols - WARN - JsonCodec2: you have called a string method on a Uint8Array request body. It has been automatically converted to string. In a future version this will throw an error.`),zt=e),this.string=ut(this)}return this.string}},zt=0,Bt=new TextEncoder,Vt=123,Ht=125,Eee=91,Dee=93,Ut=34,Wt=58,Gt=44,Kt=92,Oee=new Uint8Array([116,114,117,101]),kee=new Uint8Array([102,97,108,115,101]),Aee=new Uint8Array([110,117,108,108]),qt=Array(128).fill(null);qt[8]=`b`,qt[9]=`t`,qt[10]=`n`,qt[12]=`f`,qt[13]=`r`,qt[34]=`"`,qt[92]=`\\`;for(let e=0;e<32;e++)qt[e]===null&&(qt[e]=`u00`+e.toString(16).padStart(2,`0`));var Jt=2048;function Yt(e){return Rt.allocUnsafe(e)}var jee=class e extends Pe{settings;json;i=0;rootSchema;rawValue;passthrough=!1;constructor(e){super(),this.settings=e,this.json=Yt(Jt)}write(e,t){this.i=0,this.rawValue=t,this.rootSchema=se.of(e),this.passthrough=this.rootSchema.isBlobSchema()||this.rootSchema.isStringSchema(),this.passthrough||this.writeValue(this.rootSchema,t,void 0)}writeDiscriminatedDocument(e,t){this.i=0,this.rootSchema=se.of(e);let n=this.rootSchema;if(n.isStructSchema()&&typeof t==`object`&&t){this.writeValue(n,t,void 0);let e=`"__type":"${n.getName(!0)??`Unknown`}",`,r=e.length;this.ensure(r),this.json.copyWithin(1+r,1,this.i),Bt.encodeInto(e,this.json.subarray(1)),this.i+=r}else this.writeValue(n,t,void 0)}flush(){this.rootSchema=void 0;let e=this.i;this.i=0;let t=this.rawValue;if(this.rawValue=void 0,e===0)return t;let n=this.json.subarray(0,e);return this.json=Yt(Jt),n}ensure(e){let{i:t,json:n}=this;if(t+e>n.length){let r=n.length*2;for(;r34&&r<92)this.json[this.i++]=r;else if(r<128){let e=qt[r];if(e!==null){this.ensure(e.length+1),this.json[this.i++]=Kt;for(let t=0;t=55296&&r<=56319){let i=n+1=56320&&i<=57343){this.ensure(4);let{written:t}=Bt.encodeInto(e.substring(n,n+2),this.json.subarray(this.i));this.i+=t,++n}else this.ensure(6),this.writeUnicodeEscape(r)}else if(r>=56320&&r<=57343)this.ensure(6),this.writeUnicodeEscape(r);else{let{i:e,json:t}=this;r<2048?(t[e++]=192|r>>6,t[e++]=128|r&63):(t[e++]=224|r>>12,t[e++]=128|r>>6&63,t[e++]=128|r&63),this.i=e}}this.json[this.i++]=Ut}writeUnicodeEscape(e){let{json:t,i:n}=this;t[n++]=Kt,t[n++]=117;let r=e.toString(16).padStart(4,`0`);for(let e=0;e<4;++e)t[n++]=r.charCodeAt(e);this.i=n}static B64=(()=>{let e=new Uint8Array(64);for(let t=0;t<64;++t)e[t]=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.charCodeAt(t);return e})();writeBase64(t){let n=Math.ceil(t.length/3)*4;this.ensure(n+2);let r=this.json,i=e.B64,a=this.i;r[a++]=Ut;let o=t.length,s=o%3,c=o-s;for(let e=0;e>2],r[a++]=i[(n&3)<<4|o>>4],r[a++]=i[(o&15)<<2|s>>6],r[a++]=i[s&63]}if(s===2){let e=t[c],n=t[c+1];r[a++]=i[e>>2],r[a++]=i[(e&3)<<4|n>>4],r[a++]=i[(n&15)<<2],r[a++]=61}else if(s===1){let e=t[c];r[a++]=i[e>>2],r[a++]=i[(e&3)<<4],r[a++]=61,r[a++]=61}r[a++]=Ut,this.i=a}writeValue(e,t,n){if(t==null){if(n?.isStructSchema()){if(t===void 0&&se.of(e).isIdempotencyToken()){this.writeAsciiQuoted(et());return}return}this.ensure(4),this.json.set(Aee,this.i),this.i+=4;return}let r=se.of(e),i=typeof t==`object`;if(r.isStringSchema()){let e=r.getMergedTraits().mediaType;if(e&&(e===`application/json`||e.endsWith(`+json`))){this.writeJsonString(o.from(t).toString());return}}if(i){if(r.isStructSchema()){this.writeStruct(r,t);return}if(Array.isArray(t)&&(r.isListSchema()||r.isDocumentSchema())){this.writeList(r,t,r.isDocumentSchema());return}if(r.isMapSchema()){this.writeMap(r,t,!1);return}if(t instanceof Uint8Array&&(r.isBlobSchema()||r.isDocumentSchema())){this.writeBase64(t);return}if(t instanceof Date&&(r.isTimestampSchema()||r.isDocumentSchema())){this.writeTimestamp(r,t);return}if(t instanceof ot){this.writeAscii(t.string);return}if(r.isDocumentSchema()){Array.isArray(t)?this.writeList(r,t,!0):this.writeMap(r,t,!0);return}let e=JSON.stringify(t);this.writeAscii(e);return}if(typeof t==`string`){if(r.isBlobSchema()){let e=(this.serdeContext?.base64Encoder??_e)(t);this.writeAsciiQuoted(e);return}this.writeJsonString(t);return}if(typeof t==`number`){if(Math.abs(t)===1/0||Number.isNaN(t)){this.writeAsciiQuoted(String(t));return}let e=String(t);this.writeAscii(e);return}if(typeof t==`boolean`){this.ensure(5);let{i:e,json:n}=this;t?(n.set(Oee,e),e+=4):(n.set(kee,e),e+=5),this.i=e;return}if(typeof t==`bigint`){this.writeAscii(t.toString());return}this.writeAscii(String(t))}writeStruct(e,t){this.ensure(2),this.json[this.i++]=Vt;let n=!1,r=typeof t.__type==`string`,i;r&&(i=new Set);for(let[r,a]of e.structIterator()){let o=t[r];if(o==null&&!a.isIdempotencyToken())continue;n&&(this.ensure(1),this.json[this.i++]=Gt),n=!0;let s=this.settings.jsonName?a.getMergedTraits().jsonName??r:r;i&&(i.add(r),i.add(s)),this.writeAsciiQuoted(s),this.json[this.i++]=Wt,this.writeValue(a,o,e)}if(!n&&e.isUnionSchema()){let{$unknown:n}=t;if(Array.isArray(n)){let[t,r]=n;this.writeAsciiQuoted(t),this.ensure(1),this.json[this.i++]=Wt,this.writeValue(15,r,e)}}else if(r)for(let e in t){if(i.has(e))continue;i.add(e);let r=t[e];n&&(this.ensure(1),this.json[this.i++]=Gt),n=!0,this.writeAsciiQuoted(e),this.ensure(1),this.json[this.i++]=Wt,this.writeValue(15,r,void 0)}this.ensure(1),this.json[this.i++]=Ht}writeList(e,t,n){let r=!!e.getMergedTraits().sparse,i=e.getValueSchema();if(!n&&(i.isStringSchema()||i.isNumericSchema()||i.isBooleanSchema())){let e=!1;for(let n=0;n"]/g,Fee={"&":`&`,"<":`<`,">":`>`,'"':`"`};function Iee(e){return e.replace(Pee,e=>Fee[e])}var Lee=/[&"'<>\r\n\u0085\u2028]/g,Ree={"&":`&`,'"':`"`,"'":`'`,"<":`<`,">":`>`,"\r":` `,"\n":` `,"…":`…`,"\u2028":`
`};function zee(e){return e.replace(Lee,e=>Ree[e])}var Qt=class{value;constructor(e){this.value=e}toString(){return zee(``+this.value)}},$t=class e{name;children;attributes={};static of(t,n,r){let i=new e(t);return n!==void 0&&i.addChildNode(new Qt(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}="${Iee(``+r)}"`)}return t+=e?`>${this.children.map(e=>e.toString()).join(``)}`:`/>`}},Bee=class extends ze{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}},Vee=(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`},Hee=class extends Pe{settings;stringBuffer;byteBuffer;buffer;constructor(e){super(),this.settings=e}write(e,t){let n=se.of(e);if(n.isStringSchema()&&typeof t==`string`)this.stringBuffer=t;else if(n.isBlobSchema())this.byteBuffer=`byteLength`in t?t:(this.serdeContext?.base64Decoder??qe)(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=$t.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=$t.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=$t.of(e);if(typeof n!=`string`){if(t instanceof $t||t instanceof Qt)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,ee]=this.getXmlnsAttribute(e,r),te=(t,n)=>{if(a.isListSchema())this.writeList(a,Array.isArray(n)?n:[n],t,ee);else if(a.isMapSchema())this.writeMap(a,n,t,ee);else if(a.isStructSchema()){let r=this.writeStruct(a,n,ee);t.addChildNode(r.withName(c?i.xmlName??e.getMemberName():o.xmlName??`member`))}else{let r=$t.of(c?i.xmlName??e.getMemberName():o.xmlName??`member`);this.writeSimpleInto(a,n,r,ee),t.addChildNode(r)}};if(c)for(let e of t)(s||e!=null)&&te(n,e);else{let r=$t.of(i.xmlName??e.getMemberName());ee&&r.addAttribute(l,ee);for(let e of t)(s||e!=null)&&te(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(),ee=l.xmlName??`value`,te=!!l.sparse,ne=!!a.xmlFlattened,[re,ie]=this.getXmlnsAttribute(e,r),ae=(e,t,n)=>{let r=$t.of(s,t),[i,a]=this.getXmlnsAttribute(o,ie);a&&r.addAttribute(i,a),e.addChildNode(r);let l=$t.of(ee);c.isListSchema()?this.writeList(c,n,l,ie):c.isMapSchema()?this.writeMap(c,n,l,ie,!0):c.isStructSchema()?l=this.writeStruct(c,n,ie):this.writeSimpleInto(c,n,l,ie),e.addChildNode(l)};if(ne)for(let r in t){let i=t[r];if(te||i!=null){let t=$t.of(a.xmlName??e.getMemberName());ae(t,r,i),n.addChildNode(t)}}else{let r;i||(r=$t.of(a.xmlName??e.getMemberName()),ie&&r.addAttribute(re,ie),n.addChildNode(r));for(let e in t){let a=t[e];if(te||a!=null){let t=$t.of(`entry`);ae(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=se.of(e),r=null;if(t&&typeof t==`object`){if(n.isBlobSchema())r=(this.serdeContext?.base64Encoder??_e)(t);else if(n.isTimestampSchema()&&t instanceof Date)switch(Le(n,this.settings)){case 5:r=t.toISOString().replace(`.000Z`,`Z`);break;case 6:r=it(t);break;case 7:r=String(t.getTime()/1e3);break;default:console.warn(`Missing timestamp format, using http date`,t),r=it(t)}else if(n.isBigDecimalSchema()&&t)return t instanceof ot?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()?et():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=se.of(e),o=new Qt(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]}},Uee=class extends Pe{settings;constructor(e){super(),this.settings=e}createSerializer(){let e=new Hee(this.settings);return e.setSerdeContext(this.serdeContext),e}createDeserializer(){let e=new ree(this.settings);return e.setSerdeContext(this.serdeContext),e}},Wee=class extends bt{codec;serializer;deserializer;mixin=new at;constructor(e){super(e);let t={timestampFormat:{useTrait:!0,default:5},httpBindings:!0,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace};this.codec=new Uee(t),this.serializer=new St(this.codec.createSerializer(),t),this.deserializer=new xt(this.codec.createDeserializer(),t)}getPayloadCodec(){return this.codec}getShapeId(){return`aws.protocols#restXml`}async serializeRequest(e,t,n){let r=await super.serializeRequest(e,t,n),i=se.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=Vee(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=se.of(o),l=r.Error?.message??r.Error?.Message??r.message??r.Message??`UnknownError`,ee=new((this.compositeErrorRegistry.getErrorCtor(o))??Error)({});await this.deserializeHttpMessage(o,t,n,r);let te={},ne=this.codec.createDeserializer();for(let[e,t]of c.structIterator()){let n=t.getMergedTraits().xmlName??e,i=r.Error?.[n]??r[n];te[e]=ne.readSchema(t,i)}throw this.mixin.decorateServiceException(Object.assign(ee,s,{$fault:c.getMergedTraits().error,message:l},te),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}};async function Gee(e,t,n=1048576){let r=e.size,i=0;for(;i{n.update(e)}),n.digest()},qee=class{digestLength=16;state=Uint32Array.from(en);writeBuffer=new DataView(new ArrayBuffer(64));bufferLength=0;bytesHashed=0;update(e){let t=st(e),n=0,r=t.byteLength;for(this.bytesHashed+=r;r>0;)this.writeBuffer.setUint8(this.bufferLength++,t[n++]),--r,this.bufferLength===64&&(nn(this.state,this.writeBuffer),this.bufferLength=0)}async digest(){let e=Uint32Array.from(this.state),t=new DataView(this.writeBuffer.buffer.slice(0)),n=this.bufferLength,r=this.bytesHashed*8;if(t.setUint8(n++,128),this.bufferLength%64>=56){for(let e=n;e<64;++e)t.setUint8(e,0);nn(e,t),n=0}for(let e=n;e<56;++e)t.setUint8(e,0);t.setUint32(56,r>>>0,!0),t.setUint32(60,Math.floor(r/2**32),!0),nn(e,t);let i=new Uint8Array(16),a=new DataView(i.buffer);for(let t=0;t<4;++t)a.setUint32(t*4,e[t],!0);return i}reset(){this.state.set(en),this.writeBuffer=new DataView(new ArrayBuffer(64)),this.bufferLength=0,this.bytesHashed=0}},en=[1732584193,4023233417,2562383102,271733878],tn=4294967295,Jee=Uint8Array.of(7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21),Yee=Array.from({length:64},(e,t)=>Math.abs(Math.sin(t+1))*2**32>>>0);function nn(e,t){let n=e[0],r=e[1],i=e[2],a=e[3];for(let e=0;e<64;++e){let o,s;e<16?(o=r&i|~r&a,s=e):e<32?(o=a&r|i&~a,s=(5*e+1)%16):e<48?(o=r^i^a,s=(3*e+5)%16):(o=i^(r|~a),s=7*e%16);let c=t.getUint32(s*4,!0),l=a;a=i,i=r;let ee=Jee[(e>>4)*4+(e&3)],te=(n+o&tn)+(c+Yee[e]&tn)&tn;r=r+((te<>>32-ee)>>>0)&tn,n=l}e[0]=e[0]+n&tn,e[1]=e[1]+r&tn,e[2]=e[2]+i&tn,e[3]=e[3]+a&tn}var Xee=async(e,t,n)=>({operation:$e(t).operation,region:await ke(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function Zee(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`acm`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var Qee=e=>{let t=[];return e.operation,t.push(Zee(e)),t},$ee=e=>{let t=rt(e);return Object.assign(t,{authSchemePreference:ke(e.authSchemePreference??[])})},ete=e=>Object.assign(e,{useFipsEndpoint:e.useFipsEndpoint??!1,useDualstackEndpoint:e.useDualstackEndpoint??!1,defaultSigningName:`acm`,clientContextParams:e.clientContextParams??{}}),tte={ServiceType:{type:`clientContextParams`,name:`serviceType`},UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},nte={name:`@aws-sdk/client-acm`,version:`3.1109.0`,description:`AWS SDK for JavaScript Acm Client for Node.js, Browser and React Native`,homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-acm`,license:`Apache-2.0`,author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/sdk-for-javascript/`},repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-acm`},files:[`dist-*/**`],sideEffects:!1,main:`./dist-cjs/index.js`,module:`./dist-es/index.js`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},types:`./dist-types/index.d.ts`,typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline`,"build:es":`premove dist-es && tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`premove dist-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`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service`,"test:e2e":`yarn g:vitest run -c vitest.config.e2e.mts`,"test:e2e:watch":`yarn g:vitest watch -c vitest.config.e2e.mts`,"test:index":`tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs`},dependencies:{"@aws-sdk/core":`^3.977.7`,"@aws-sdk/credential-provider-node":`^3.972.79`,"@aws-sdk/types":`^3.974.3`,"@smithy/core":`^3.31.1`,"@smithy/fetch-http-handler":`^5.6.13`,"@smithy/node-http-handler":`^4.9.13`,"@smithy/types":`^4.16.1`,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:`~6.0.3`},engines:{node:`>=20.0.0`}},rn=`PartitionResult`,an=`stringEquals`,on=`booleanEquals`,sn={fn:`getAttr`,argv:[{ref:rn},`name`]},cn={},ln={conditions:[[`isSet`,[{ref:`Endpoint`}]],[`aws.partition`,[{ref:`Region`}],rn],[an,[{ref:`ServiceType`},`ACM-ACME`]],[an,[sn,`aws`]],[on,[{ref:`UseFIPS`},!0]],[on,[{ref:`UseDualStack`},!0]],[an,[sn,`aws-us-gov`]]],results:[[-1],[`{Endpoint}`,cn],[-1,`FIPS endpoints are not available for ACME operations`],[`https://acm-acme.{Region}.{PartitionResult#dualStackDnsSuffix}`,cn],[-1,`ACME operations are only available in commercial AWS partitions`],[`https://acm-fips.{Region}.{PartitionResult#dualStackDnsSuffix}`,cn],[`https://acm.{Region}.amazonaws.com`,cn],[`https://acm-fips.{Region}.{PartitionResult#dnsSuffix}`,cn],[`https://acm.{Region}.{PartitionResult#dualStackDnsSuffix}`,cn],[`https://acm.{Region}.{PartitionResult#dnsSuffix}`,cn],[-1,`Region must be set to resolve an endpoint.`]]},rte=2,ite=new Int32Array([-1,1,-1,0,100000001,3,1,4,100000010,2,9,5,4,7,6,5,100000008,100000009,5,100000005,8,6,100000006,100000007,3,10,100000004,4,100000002,100000003]),ate=Be.from(ite,rte,ln.conditions,ln.results),ote=new He({size:50,params:[`Endpoint`,`Region`,`ServiceType`,`UseDualStack`,`UseFIPS`]}),ste=(e,t={})=>ote.get(e,()=>Ze(ate,{endpointParams:e,logger:t.logger}));Ye.aws=me;var un=class e extends ne{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},cte=class e extends un{name=`AccessDeniedException`;$fault=`client`;Message;constructor(t){super({name:`AccessDeniedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},lte=class e extends un{name=`InvalidArnException`;$fault=`client`;constructor(t){super({name:`InvalidArnException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},ute=class e extends un{name=`InvalidParameterException`;$fault=`client`;constructor(t){super({name:`InvalidParameterException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},dte=class e extends un{name=`InvalidTagException`;$fault=`client`;constructor(t){super({name:`InvalidTagException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},fte=class e extends un{name=`ResourceNotFoundException`;$fault=`client`;constructor(t){super({name:`ResourceNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},pte=class e extends un{name=`TagPolicyException`;$fault=`client`;constructor(t){super({name:`TagPolicyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},mte=class e extends un{name=`ThrottlingException`;$fault=`client`;throttlingReasons;constructor(t){super({name:`ThrottlingException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.throttlingReasons=t.throttlingReasons}},hte=class e extends un{name=`TooManyTagsException`;$fault=`client`;constructor(t){super({name:`TooManyTagsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},gte=class e extends un{name=`ValidationException`;$fault=`client`;constructor(t){super({name:`ValidationException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},_te=class e extends un{name=`ConflictException`;$fault=`client`;constructor(t){super({name:`ConflictException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},vte=class e extends un{name=`InternalServerException`;$fault=`server`;$retryable={};constructor(t){super({name:`InternalServerException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype)}},yte=class e extends un{name=`ServiceQuotaExceededException`;$fault=`client`;constructor(t){super({name:`ServiceQuotaExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},bte=class e extends un{name=`ResourceInUseException`;$fault=`client`;constructor(t){super({name:`ResourceInUseException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},xte=class e extends un{name=`RequestInProgressException`;$fault=`client`;constructor(t){super({name:`RequestInProgressException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Ste=class e extends un{name=`LimitExceededException`;$fault=`client`;constructor(t){super({name:`LimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Cte=class e extends un{name=`InvalidArgsException`;$fault=`client`;constructor(t){super({name:`InvalidArgsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},wte=class e extends un{name=`InvalidDomainValidationOptionsException`;$fault=`client`;constructor(t){super({name:`InvalidDomainValidationOptionsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Tte=class e extends un{name=`InvalidStateException`;$fault=`client`;constructor(t){super({name:`InvalidStateException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Ete=`AccessDeniedException`,Dte=`CreatedAt`,dn=`CertificateArn`,Ote=`CertificateChain`,kte=`ConflictException`,Ate=`CertificateKeyPairOrigin`,jte=`CertificateKeyPairOrigins`,Mte=`CertificateSummary`,fn=`CertificateSummaryList`,Nte=`CertificateStatuses`,Pte=`Certificate`,Fte=`DomainName`,Ite=`Exported`,Lte=`ExtendedKeyUsages`,Rte=`ExportOption`,zte=`Filters`,Bte=`HasAdditionalSubjectAlternativeNames`,Vte=`ImportedAt`,pn=`InvalidArgsException`,mn=`InvalidArnException`,hn=`IssuedAt`,gn=`ImportCertificate`,_n=`ImportCertificateRequest`,vn=`ImportCertificateResponse`,yn=`InvalidDomainValidationOptionsException`,bn=`InvalidParameterException`,xn=`InternalServerException`,Sn=`InvalidStateException`,Cn=`InvalidTagException`,wn=`InUse`,Tn=`Includes`,En=`Key`,Dn=`KeyAlgorithm`,On=`KeyUsages`,kn=`ListCertificates`,An=`ListCertificatesRequest`,jn=`ListCertificatesResponse`,Mn=`LimitExceededException`,Nn=`Message`,Pn=`ManagedBy`,Fn=`MaxItems`,In=`NotAfter`,Ln=`NotBefore`,Rn=`NextToken`,zn=`PrivateKey`,Bn=`PrivateKeyBlob`,Vn=`RevokedAt`,Hn=`RenewalEligibility`,Un=`RequestInProgressException`,Wn=`ResourceInUseException`,Gn=`ResourceNotFoundException`,Kn=`Status`,qn=`SubjectAlternativeNameSummaries`,Jn=`SortBy`,Yn=`SortOrder`,Xn=`ServiceQuotaExceededException`,Zn=`Type`,Qn=`ThrottlingException`,$n=`TagList`,er=`TooManyTagsException`,tr=`TagPolicyException`,nr=`ThrottlingReason`,rr=`ThrottlingReasonList`,ir=`Tags`,ar=`Tag`,or=`Value`,sr=`ValidationException`,cr=`awsQueryError`,lr=`client`,ur=`error`,dr=`extendedKeyUsage`,fr=`exportOption`,pr=`httpError`,mr=`keyTypes`,hr=`keyUsage`,gr=`message`,_r=`managedBy`,vr=`reason`,yr=`resource`,br=`smithy.ts.sdk.synthetic.com.amazonaws.acm`,xr=`server`,Sr=`throttlingReasons`,u=`com.amazonaws.acm`,Cr=ct.for(br),wr=[-3,br,`ACMServiceException`,0,[],[]];Cr.registerError(wr,un);var Tr=ct.for(u),Er=[-3,u,Ete,{[cr]:[`AccessDenied`,403],[ur]:lr,[pr]:403},[Nn],[0]];Tr.registerError(Er,cte);var Dr=[-3,u,kte,{[ur]:lr},[gr],[0]];Tr.registerError(Dr,_te);var Or=[-3,u,xn,{[ur]:xr},[gr],[0]];Tr.registerError(Or,vte);var kr=[-3,u,pn,{[ur]:lr},[gr],[0]];Tr.registerError(kr,Cte);var Ar=[-3,u,mn,{[ur]:lr},[gr],[0]];Tr.registerError(Ar,lte);var jr=[-3,u,yn,{[ur]:lr},[gr],[0]];Tr.registerError(jr,wte);var Mr=[-3,u,bn,{[ur]:lr},[gr],[0]];Tr.registerError(Mr,ute);var Hte=[-3,u,Sn,{[ur]:lr},[gr],[0]];Tr.registerError(Hte,Tte);var Ute=[-3,u,Cn,{[ur]:lr},[gr],[0]];Tr.registerError(Ute,dte);var Wte=[-3,u,Mn,{[ur]:lr},[gr],[0]];Tr.registerError(Wte,Ste);var Gte=[-3,u,Un,{[ur]:lr},[gr],[0]];Tr.registerError(Gte,xte);var Kte=[-3,u,Wn,{[ur]:lr},[gr],[0]];Tr.registerError(Kte,bte);var qte=[-3,u,Gn,{[ur]:lr},[gr],[0]];Tr.registerError(qte,fte);var Jte=[-3,u,Xn,{[ur]:lr},[gr],[0]];Tr.registerError(Jte,yte);var Yte=[-3,u,tr,{[ur]:lr},[gr],[0]];Tr.registerError(Yte,pte);var Xte=[-3,u,Qn,{[cr]:[`Throttling`,400],[ur]:lr,[pr]:400},[gr,Sr],[0,()=>dne]];Tr.registerError(Xte,mte);var Zte=[-3,u,er,{[ur]:lr},[gr],[0]];Tr.registerError(Zte,hte);var Qte=[-3,u,sr,{[cr]:[`ValidationError`,400],[ur]:lr,[pr]:400},[gr],[0]];Tr.registerError(Qte,gte);var $te=[Cr,Tr],ene=[0,u,Bn,8,21],tne=[3,u,Mte,0,[dn,Fte,qn,Bte,Kn,Zn,Dn,On,Lte,Rte,wn,Ite,Hn,Ln,In,Dte,hn,Vte,Vn,Pn,Ate],[0,0,64,2,0,0,0,64,64,0,2,2,0,4,4,4,4,4,4,0,0]],nne=[3,u,zte,0,[dr,hr,mr,fr,_r],[64,64,64,0,0]],rne=[3,u,_n,0,[Pte,zn,dn,Ote,ir],[21,[()=>ene,0],0,21,()=>une],2],ine=[3,u,vn,0,[dn],[0]],ane=[3,u,An,0,[Nte,jte,Tn,Rn,Fn,Jn,Yn],[64,64,()=>nne,0,1,0,0]],one=[3,u,jn,0,[Rn,fn],[0,()=>lne]],sne=[3,u,ar,0,[En,or],[0,0],1],cne=[3,u,nr,0,[vr,yr],[0,0]],lne=[1,u,fn,0,()=>tne],une=[1,u,$n,0,()=>sne],dne=[1,u,rr,0,()=>cne],fne=[9,u,gn,0,()=>rne,()=>ine],pne=[9,u,kn,0,()=>ane,()=>one],mne=e=>({apiVersion:`2015-12-08`,base64Decoder:e?.base64Decoder??qe,base64Encoder:e?.base64Encoder??_e,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??ste,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??Qee,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new ge}],logger:e?.logger??new Ge,protocol:e?.protocol??Zt,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.acm`,errorTypeRegistries:$te,version:`2015-12-08`,serviceTarget:`CertificateManager`},serviceId:e?.serviceId??`ACM`,sha256:e?.sha256??Ve,urlParser:e?.urlParser??Te,utf8Decoder:e?.utf8Decoder??lt,utf8Encoder:e?.utf8Encoder??ut}),hne=e=>{let t=We(e),n=()=>t().then(ye),r=mne(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Fe,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??ve({serviceId:r.serviceId,clientVersion:nte.version}),maxAttempts:e?.maxAttempts??3,region:e?.region??De(`Region is missing`),requestHandler:Ce.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||ce),streamCollector:e?.streamCollector??Ie,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},gne=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}}},_ne=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),vne=(e,n)=>{let r=Object.assign(Ke(e),pe(e),je(e),gne(e));return n.forEach(e=>e.configure(r)),Object.assign(e,t(r),he(r),be(r),_ne(r))},yne=class extends i{config;constructor(...[e]){let t=hne(e||{});super(t),this.initConfig=t;let n=ete(t),i=oe(n),a=Qe(i),o=fe(a),s=Oe(o),c=vne($ee(Re(s)),e?.extensions||[]);this.config=c,this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(te(this.config)),this.middlewareStack.use(le(this.config)),this.middlewareStack.use(Ae(this.config)),this.middlewareStack.use(we(this.config)),this.middlewareStack.use(ae(this.config)),this.middlewareStack.use(Ee(this.config)),this.middlewareStack.use(r(this.config,{httpAuthSchemeParametersProvider:Xee,identityProviderConfigProvider:async e=>new de({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(xe(this.config))}destroy(){super.destroy()}},bne=async(e,t,n)=>({operation:$e(t).operation,region:await ke(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function xne(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`ec2`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var Sne=e=>{let t=[];return e.operation,t.push(xne(e)),t},Cne=e=>{let t=rt(e);return Object.assign(t,{authSchemePreference:ke(e.authSchemePreference??[])})},wne=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:`ec2`}),Tne={UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},Ene={name:`@aws-sdk/client-ec2`,version:`3.1109.0`,description:`AWS SDK for JavaScript Ec2 Client for Node.js, Browser and React Native`,homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-ec2`,license:`Apache-2.0`,author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/sdk-for-javascript/`},repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-ec2`},files:[`dist-*/**`],sideEffects:!1,main:`./dist-cjs/index.js`,module:`./dist-es/index.js`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},types:`./dist-types/index.d.ts`,typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline`,"build:es":`premove dist-es && tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`premove dist-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`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service`,test:`yarn g:vitest run --passWithNoTests`,"test:watch":`yarn g:vitest watch --passWithNoTests`,"test:integration":`yarn g:vitest run --passWithNoTests -c vitest.config.integ.mts`,"test:integration:watch":`yarn g:vitest watch --passWithNoTests -c vitest.config.integ.mts`,"test:e2e":`yarn g:vitest run -c vitest.config.e2e.mts`,"test:e2e:watch":`yarn g:vitest watch -c vitest.config.e2e.mts`,"test:index":`tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs`},dependencies:{"@aws-sdk/core":`^3.977.7`,"@aws-sdk/credential-provider-node":`^3.972.79`,"@aws-sdk/middleware-sdk-ec2":`^3.972.56`,"@aws-sdk/types":`^3.974.3`,"@smithy/core":`^3.31.1`,"@smithy/fetch-http-handler":`^5.6.13`,"@smithy/node-http-handler":`^4.9.13`,"@smithy/types":`^4.16.1`,tslib:`^2.6.2`},devDependencies:{"@smithy/snapshot-testing":`^2.2.16`,"@tsconfig/node20":`20.1.8`,"@types/node":`^20.14.8`,concurrently:`7.0.0`,"downlevel-dts":`0.10.1`,premove:`4.0.0`,typescript:`~6.0.3`,vitest:`^4.0.17`},engines:{node:`>=20.0.0`}},Nr=`ref`,Pr=-1,Fr=!0,Ir=`isSet`,Lr=`PartitionResult`,Rr=`booleanEquals`,zr=`getAttr`,Br={[Nr]:`Endpoint`},Vr={[Nr]:Lr},Hr={},Ur=[{[Nr]:`Region`}],Wr={conditions:[[Ir,[Br]],[Ir,Ur],[`aws.partition`,Ur,Lr],[Rr,[{[Nr]:`UseFIPS`},Fr]],[Rr,[{[Nr]:`UseDualStack`},Fr]],[Rr,[{fn:zr,argv:[Vr,`supportsDualStack`]},Fr]],[Rr,[{fn:zr,argv:[Vr,`supportsFIPS`]},Fr]],[`stringEquals`,[{fn:zr,argv:[Vr,`name`]},`aws-us-gov`]]],results:[[Pr],[Pr,`Invalid Configuration: FIPS and custom endpoint are not supported`],[Pr,`Invalid Configuration: Dualstack and custom endpoint are not supported`],[Br,Hr],[`https://ec2-fips.{Region}.{PartitionResult#dualStackDnsSuffix}`,Hr],[Pr,`FIPS and DualStack are enabled, but this partition does not support one or both`],[`https://ec2.{Region}.amazonaws.com`,Hr],[`https://ec2-fips.{Region}.{PartitionResult#dnsSuffix}`,Hr],[Pr,`FIPS is enabled but this partition does not support FIPS`],[`https://ec2.{Region}.{PartitionResult#dualStackDnsSuffix}`,Hr],[Pr,`DualStack is enabled but this partition does not support DualStack`],[`https://ec2.{Region}.{PartitionResult#dnsSuffix}`,Hr],[Pr,`Invalid Configuration: Missing Region`]]},Dne=2,One=new Int32Array([-1,1,-1,0,13,3,1,4,100000012,2,5,100000012,3,8,6,4,7,100000011,5,100000009,100000010,4,11,9,6,10,100000008,7,100000006,100000007,5,12,100000005,6,100000004,100000005,3,100000001,14,4,100000002,100000003]),kne=Be.from(One,Dne,Wr.conditions,Wr.results),Ane=new He({size:50,params:[`Endpoint`,`Region`,`UseDualStack`,`UseFIPS`]}),jne=(e,t={})=>Ane.get(e,()=>Ze(kne,{endpointParams:e,logger:t.logger}));Ye.aws=me;var Mne=class e extends ne{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},Gr=`Address`,Nne=`AllocateAddressRequest`,Pne=`AllocateAddressResult`,Fne=`AssociateAddressRequest`,Ine=`AssociateAddressResult`,Lne=`AllAvailabilityZones`,Rne=`AllocateAddress`,zne=`ApplianceArn`,Bne=`AssociateAddress`,Vne=`AttachedAppliances`,Hne=`AttributeBooleanValue`,Kr=`AcceleratorCount`,qr=`AssociateCarrierIpAddress`,Une=`AcceleratorCountRequest`,Wne=`AdditionalFlexibleNetworkInterfaces`,Gne=`AvailableIpAddressCount`,Jr=`AssignIpv6AddressOnCreation`,Kne=`AttachInternetGateway`,qne=`AttachInternetGatewayRequest`,Jne=`AssociateIamInstanceProfile`,Yne=`AssociateIamInstanceProfileRequest`,Xne=`AssociateIamInstanceProfileResult`,Zne=`AllocationIdList`,Qne=`AssociationIdList`,Yr=`AllowedInstanceTypes`,$ne=`AllowedInstanceTypeSet`,ere=`AllowedInstanceType`,Xr=`AdditionalInfo`,Zr=`AllocationId`,Qr=`AllocationIds`,$r=`AssociationId`,tre=`AssociationIds`,ei=`AttachmentId`,nre=`AmiLaunchIndex`,rre=`AttachmentLimitType`,ire=`AddressList`,are=`AcceleratorManufacturerSet`,ti=`AcceleratorManufacturers`,ore=`AcceleratorManufacturer`,ni=`AvailabilityMode`,sre=`AcceleratorNameSet`,ri=`AcceleratorNames`,cre=`AcceleratorName`,ii=`AssociatePublicIpAddress`,lre=`AmazonProvidedIpv6CidrBlock`,ure=`AutoProvisionZones`,dre=`AutoRecoverySupported`,fre=`AssociateRouteTableRequest`,pre=`AssociateRouteTableResult`,mre=`AssociateRouteTable`,hre=`AllowReassociation`,gre=`AllRegions`,ai=`AssociatedResource`,oi=`AutoRecovery`,_re=`AuthorizeSecurityGroupEgress`,vre=`AuthorizeSecurityGroupEgressRequest`,yre=`AuthorizeSecurityGroupEgressResult`,bre=`AuthorizeSecurityGroupIngressRequest`,xre=`AuthorizeSecurityGroupIngressResult`,Sre=`AuthorizeSecurityGroupIngress`,Cre=`AutoScalingIps`,si=`AmdSevSnp`,ci=`AssociationState`,wre=`AttachmentState`,Tre=`ArchitectureTypeList`,li=`AcceleratorTotalMemoryMiB`,Ere=`AcceleratorTotalMemoryMiBRequest`,Dre=`AcceleratorTypeSet`,ui=`AcceleratorTypes`,Ore=`AcceleratorType`,di=`AttachTime`,kre=`AttachVolumeRequest`,Are=`AttributeValue`,jre=`AttachVolume`,fi=`AvailabilityZone`,pi=`AvailabilityZoneAddress`,mi=`AvailabilityZoneAddresses`,Mre=`AvailabilityZoneGeography`,Nre=`AvailabilityZoneGeographyList`,hi=`AvailabilityZoneId`,Pre=`AvailabilityZoneList`,Fre=`AvailabilityZoneMessage`,Ire=`AvailabilityZoneMessageList`,Lre=`AvailabilityZoneSubGeography`,Rre=`AvailabilityZoneSubGeographyList`,zre=`AvailabilityZones`,gi=`Accelerators`,Bre=`Addresses`,_i=`Affinity`,vi=`Arn`,yi=`Architecture`,Vre=`Associations`,bi=`Association`,Hre=`Attribute`,xi=`Attachment`,Si=`Attachments`,Ure=`BlobAttributeValue`,Wre=`BaselineBandwidthInGbps`,Ci=`BaselineBandwidthInMbps`,wi=`BlockDeviceMapping`,Gre=`BlockDeviceMappingList`,Kre=`BlockDeviceMappingRequestList`,Ti=`BlockDeviceMappings`,Ei=`BlockDurationMinutes`,Di=`BaselineEbsBandwidthMbps`,qre=`BaselineEbsBandwidthMbpsRequest`,Oi=`BaselineIops`,ki=`BootMode`,Jre=`BootModeTypeList`,Ai=`BareMetal`,ji=`BurstablePerformance`,Mi=`BlockPublicAccessStates`,Ni=`BaselinePerformanceFactors`,Yre=`BaselinePerformanceFactorsRequest`,Xre=`BillingProductList`,Zre=`BurstablePerformanceSupported`,Qre=`BillingProducts`,$re=`BillingProduct`,Pi=`BaselineThroughputInMBps`,Fi=`BandwidthWeighting`,eie=`BandwidthWeightingTypeList`,tie=`BandwidthWeightings`,Ii=`CidrBlock`,nie=`CidrBlockAssociationSet`,rie=`CapacityBlockId`,iie=`CidrBlockState`,Li=`CreatedBy`,aie=`CoreCountList`,Ri=`CoreCount`,zi=`CpuCredits`,Bi=`CompletionDurationMinutes`,oie=`CreationDate`,Vi=`CarrierGatewayId`,sie=`CurrentGeneration`,Hi=`CarrierIp`,cie=`CurrentInstanceBootMode`,lie=`CreateInternetGateway`,uie=`CreateInternetGatewayRequest`,die=`CreateInternetGatewayResult`,fie=`CreateImageRequest`,pie=`CreateImageResult`,Ui=`CidrIp`,Wi=`CidrIpv6`,Gi=`CidrIpv4`,mie=`CoreInfo`,hie=`CreateImage`,gie=`CreateKeyPair`,_ie=`CreateKeyPairRequest`,vie=`CreateLaunchTemplate`,yie=`CreateLaunchTemplateRequest`,bie=`CreateLaunchTemplateResult`,xie=`CreateLaunchTemplateVersion`,Sie=`CreateLaunchTemplateVersionRequest`,Cie=`CreateLaunchTemplateVersionResult`,Ki=`CpuManufacturers`,wie=`CpuManufacturerSet`,Tie=`CpuManufacturer`,qi=`CoreNetworkArn`,Eie=`CreateNatGateway`,Die=`CreateNatGatewayRequest`,Oie=`CreateNatGatewayResult`,Ji=`CpuOptions`,Yi=`CustomerOwnedIp`,Xi=`CustomerOwnedIpv4Pool`,kie=`CpuOptionsRequest`,Aie=`CpuPerformanceFactor`,jie=`CpuPerformanceFactorRequest`,Mie=`CreatePlacementGroup`,Nie=`CreatePlacementGroupRequest`,Pie=`CreatePlacementGroupResult`,Zi=`CapacityReservationId`,Qi=`CapacityReservationPreference`,Fie=`CreateRouteRequest`,$i=`CapacityReservationResourceGroupArn`,Iie=`CreateRouteResult`,Lie=`CapacityReservationSpecificationResponse`,ea=`CapacityReservationSpecification`,ta=`CapacityReservationTarget`,Rie=`CapacityReservationTargetResponse`,zie=`CreateRouteTableRequest`,Bie=`CreateRouteTableResult`,Vie=`CreateRouteTable`,Hie=`CreateRoute`,Uie=`CreateSecurityGroup`,Wie=`CreateSecurityGroupRequest`,Gie=`CreateSecurityGroupResult`,Kie=`CopySnapshotRequest`,qie=`CopySnapshotRequestPSU`,Jie=`CopySnapshotResult`,Yie=`CreateSnapshotRequest`,Xie=`CreateSubnetRequest`,Zie=`CreateSubnetResult`,Qie=`CreditSpecificationRequest`,$ie=`CopySnapshot`,na=`CreditSpecification`,eae=`CreateSnapshot`,tae=`CreateSubnet`,nae=`CurrentState`,ra=`ClientToken`,ia=`ConnectionTrackingConfiguration`,aa=`ConnectionTrackingSpecification`,rae=`ConnectionTrackingSpecificationRequest`,iae=`ConnectionTrackingSpecificationResponse`,aae=`CompletionTime`,oa=`ConnectivityType`,sa=`CreateTime`,oae=`CreateVolumeRequest`,sae=`CreateVpcRequest`,cae=`CreateVpcResult`,lae=`CreateVolume`,uae=`CreateVpc`,ca=`Code`,la=`Configured`,ua=`Count`,da=`Cpu`,dae=`DescribeAddressesRequest`,fae=`DescribeAddressesResult`,pae=`DisassociateAddressRequest`,mae=`DeleteAssociatedSnapshots`,fa=`DisableApiStop`,pa=`DisableApiTermination`,hae=`DestinationAvailabilityZone`,gae=`DescribeAvailabilityZonesRequest`,_ae=`DescribeAvailabilityZonesResult`,vae=`DescribeAvailabilityZones`,yae=`DescribeAddresses`,bae=`DisassociateAddress`,ma=`DestinationCidrBlock`,xae=`DefaultConnectionTrackingConfiguration`,Sae=`DefaultCores`,Cae=`DataEncryptionKeyId`,wae=`DefaultEnaQueueCountPerInterface`,Tae=`DefaultForAz`,Eae=`DedicatedHostsSupported`,ha=`DeviceIndex`,ga=`DestinationIpv6CidrBlock`,Dae=`DeleteInternetGateway`,Oae=`DeleteInternetGatewayRequest`,kae=`DescribeInternetGatewaysRequest`,Aae=`DescribeInternetGatewaysResult`,jae=`DetachInternetGatewayRequest`,Mae=`DescribeInternetGateways`,Nae=`DetachInternetGateway`,Pae=`DisassociateIamInstanceProfile`,Fae=`DescribeIamInstanceProfileAssociations`,Iae=`DescribeIamInstanceProfileAssociationsRequest`,Lae=`DescribeIamInstanceProfileAssociationsResult`,Rae=`DisassociateIamInstanceProfileRequest`,zae=`DisassociateIamInstanceProfileResult`,Bae=`DiskInfoList`,Vae=`DeregisterImageRequest`,Hae=`DeregisterImageResult`,Uae=`DescribeImagesRequest`,Wae=`DescribeImagesResult`,Gae=`DescribeInstancesRequest`,Kae=`DescribeInstancesResult`,qae=`DescribeInstanceTypesRequest`,Jae=`DescribeInstanceTypesResult`,Yae=`DescribeInstanceTypes`,Xae=`DeregisterImage`,Zae=`DescribeImages`,Qae=`DescribeInstances`,$ae=`DiskInfo`,eoe=`DeleteKeyPair`,toe=`DeleteKeyPairRequest`,noe=`DeleteKeyPairResult`,roe=`DescribeKeyPairsRequest`,ioe=`DescribeKeyPairsResult`,aoe=`DescribeKeyPairs`,ooe=`DisableLniAtDeviceIndex`,soe=`DeleteLaunchTemplate`,coe=`DeleteLaunchTemplateRequest`,loe=`DeleteLaunchTemplateResult`,uoe=`DescribeLaunchTemplatesRequest`,doe=`DescribeLaunchTemplatesResult`,foe=`DeleteLaunchTemplateVersions`,poe=`DeleteLaunchTemplateVersionsRequest`,moe=`DeleteLaunchTemplateVersionsResponseErrorItem`,hoe=`DeleteLaunchTemplateVersionsResponseErrorSet`,goe=`DeleteLaunchTemplateVersionsResponseSuccessItem`,_oe=`DeleteLaunchTemplateVersionsResponseSuccessSet`,voe=`DeleteLaunchTemplateVersionsResult`,yoe=`DescribeLaunchTemplateVersionsRequest`,boe=`DescribeLaunchTemplateVersionsResult`,xoe=`DescribeLaunchTemplateVersions`,Soe=`DescribeLaunchTemplates`,_a=`DeviceName`,Coe=`DefaultNetworkCardIndex`,woe=`DeleteNatGateway`,Toe=`DeleteNatGatewayRequest`,Eoe=`DeleteNatGatewayResult`,Doe=`DescribeNatGatewaysRequest`,Ooe=`DescribeNatGatewaysResult`,koe=`DescribeNatGateways`,Aoe=`DestinationOutpostArn`,joe=`DhcpOptionsId`,va=`DeleteOnTermination`,Moe=`DeletePlacementGroup`,Noe=`DeletePlacementGroupRequest`,Poe=`DescribePlacementGroupsRequest`,Foe=`DescribePlacementGroupsResult`,Ioe=`DescribePlacementGroups`,ya=`DestinationPrefixListId`,Loe=`DeregistrationProtection`,d=`DryRun`,Roe=`DeleteRouteRequest`,zoe=`DescribeRegionsRequest`,Boe=`DescribeRegionsResult`,Voe=`DeleteRouteTable`,Hoe=`DeleteRouteTableRequest`,Uoe=`DescribeRouteTablesRequest`,Woe=`DescribeRouteTablesResult`,Goe=`DisassociateRouteTableRequest`,ba=`DescribeRouteTables`,xa=`DisassociateRouteTable`,Sa=`DestinationRegion`,Ca=`DeleteRoute`,wa=`DescribeRegions`,Ta=`DeleteSecurityGroup`,Ea=`DeleteSecurityGroupRequest`,Da=`DeleteSecurityGroupResult`,Oa=`DescribeSecurityGroupsRequest`,ka=`DescribeSecurityGroupsResult`,Aa=`DescribeSecurityGroups`,ja=`DeleteSnapshotRequest`,Ma=`DeleteSnapshotReturnCode`,Na=`DeleteSnapshotResultSet`,Pa=`DeleteSubnetRequest`,Fa=`DeleteSnapshotResults`,Ia=`DescribeSnapshotsRequest`,La=`DescribeSnapshotsResult`,Ra=`DescribeSubnetsRequest`,za=`DescribeSubnetsResult`,Ba=`DeleteSnapshot`,Va=`DeleteSubnet`,Ha=`DescribeSnapshots`,Ua=`DescribeSubnets`,Wa=`DefaultTcpEstablishedTimeout`,Ga=`DefaultThreadsPerCore`,Ka=`DeprecationTime`,qa=`DeleteTime`,Ja=`DefaultUdpStreamTimeout`,Ya=`DefaultUdpTimeout`,Xa=`DefaultVCpus`,Za=`DefaultVersionNumber`,Qa=`DeleteVolumeRequest`,$a=`DeleteVpcRequest`,eo=`DescribeVolumesRequest`,to=`DescribeVolumesResult`,no=`DescribeVpcsRequest`,ro=`DescribeVpcsResult`,io=`DetachVolumeRequest`,ao=`DefaultVersion`,oo=`DeleteVolume`,so=`DeleteVpc`,co=`DescribeVolumes`,lo=`DescribeVpcs`,uo=`DetachVolume`,fo=`Description`,po=`Device`,mo=`Disks`,ho=`Domain`,go=`EbsBlockDevice`,_o=`ExecutableByStringList`,vo=`ExecutableBy`,yo=`EbsCardIndex`,bo=`EbsCardInfoList`,xo=`EbsCardInfo`,So=`EbsCards`,Co=`EncryptionControl`,wo=`EnableDns64`,To=`ElasticFileSystem`,Eo=`ElasticFileSystemExclusion`,Do=`ElasticGpuAssociation`,Oo=`ElasticGpuAssociationId`,ko=`ElasticGpuAssociationList`,Ao=`ElasticGpuAssociationState`,jo=`ElasticGpuAssociationTime`,Mo=`ElasticGpuAssociations`,No=`ElasticGpuId`,Po=`ElasticGpuSpecificationList`,Fo=`ElasticGpuSpecificationResponse`,Io=`ElasticGpuSpecificationResponseList`,Lo=`ElasticGpuSpecification`,Ro=`ElasticGpuSpecifications`,zo=`ElasticInferenceAccelerator`,Bo=`ElasticInferenceAcceleratorAssociation`,Vo=`ElasticInferenceAcceleratorAssociationId`,Ho=`ElasticInferenceAcceleratorAssociationList`,Uo=`ElasticInferenceAcceleratorAssociationState`,Wo=`ElasticInferenceAcceleratorAssociationTime`,Go=`ElasticInferenceAcceleratorArn`,Ko=`ElasticInferenceAcceleratorAssociations`,qo=`ElasticInferenceAccelerators`,Jo=`EbsInstanceBlockDevice`,Yo=`EbsInstanceBlockDeviceSpecification`,Xo=`EncryptionInTransitSupported`,Zo=`ExcludedInstanceTypeSet`,Qo=`ExcludedInstanceTypes`,$o=`ExcludedInstanceType`,es=`EbsInfo`,ts=`EfaInfo`,ns=`EnableLniAtDeviceIndex`,rs=`EbsOptimized`,is=`EbsOptimizedInfo`,as=`EgressOnlyInternetGateway`,os=`EgressOnlyInternetGatewayExclusion`,ss=`EgressOnlyInternetGatewayId`,cs=`EnclaveOptionsRequest`,ls=`EbsOptimizedSupport`,us=`EnclaveOptions`,ds=`EnablePrimaryIpv6`,fs=`EnaQueueCount`,ps=`EnableResourceNameDnsAAAARecord`,ms=`EnableResourceNameDnsAAAARecordOnLaunch`,hs=`EnableResourceNameDnsARecord`,gs=`EnableResourceNameDnsARecordOnLaunch`,_s=`EnaSrdEnabled`,vs=`EnaSrdSpecification`,ys=`EnaSrdSpecificationRequest`,bs=`EnaSrdSupported`,xs=`EnaSrdUdpEnabled`,Ss=`EnaSrdUdpSpecification`,Cs=`EnaSrdUdpSpecificationRequest`,ws=`EfaSupported`,Ts=`EncryptionSupport`,Es=`EnaSupport`,Ds=`ErrorSet`,Os=`EndTime`,ks=`ExecutableUsers`,As=`Ebs`,js=`Enabled`,Ms=`Encrypted`,Ns=`Endpoint`,Ps=`Errors`,Fs=`Force`,Is=`FailureCode`,Ls=`FpgaDeviceInfo`,Rs=`FpgaDeviceInfoList`,zs=`FpgaDeviceMemoryInfo`,Bs=`FlexibleEnaQueuesSupport`,Vs=`FpgaInfo`,Hs=`FilterList`,Us=`FailureMessage`,Ws=`FromPort`,Gs=`FastRestored`,Ks=`FullSnapshotSizeInBytes`,qs=`FreeTierEligible`,Js=`Filters`,Ys=`Filter`,Xs=`Fpgas`,Zs=`Groups`,Qs=`GroupArn`,$s=`GetConsoleOutput`,ec=`GetConsoleOutputRequest`,tc=`GetConsoleOutputResult`,nc=`GroupDescription`,rc=`GpuDeviceInfo`,ic=`GpuDeviceInfoList`,ac=`GpuDeviceMemoryInfo`,oc=`GatewayId`,sc=`GroupIdentifierList`,cc=`GroupIdStringList`,lc=`GpuInfo`,uc=`GroupId`,dc=`GroupIds`,fc=`GroupIdentifier`,pc=`GroupLongName`,mc=`GroupName`,hc=`GroupNameStringList`,gc=`GroupNames`,_c=`GroupOwnerId`,vc=`GpuPartitionSize`,yc=`Geography`,bc=`Gpus`,xc=`HiddenByDefault`,Sc=`HttpEndpoint`,Cc=`HostId`,wc=`HibernationOptions`,Tc=`HibernationOptionsRequest`,Ec=`HttpProtocolIpv6`,Dc=`HttpPutResponseHopLimit`,Oc=`HostResourceGroupArn`,kc=`HibernationSupported`,Ac=`HttpTokens`,jc=`HostnameType`,Mc=`Hibernate`,Nc=`Hypervisor`,Pc=`Id`,Fc=`Ipv6Addresses`,Ic=`Ipv6AddressAttribute`,Lc=`Ipv6AddressCount`,Rc=`InstanceAttachmentEnaSrdSpecification`,zc=`InstanceAttachmentEnaSrdUdpSpecification`,Bc=`InferenceAcceleratorInfo`,Vc=`Ipv4AddressesPerInterface`,Hc=`Ipv6AddressesPerInterface`,Uc=`Ipv4AddressesPerSecondaryInterface`,Wc=`ImageAllowed`,Gc=`IpAddress`,Kc=`Ipv6Address`,qc=`InstanceBlockDeviceMapping`,Jc=`InstanceBlockDeviceMappingList`,Yc=`InstanceBlockDeviceMappingSpecification`,Xc=`InstanceBlockDeviceMappingSpecificationList`,Zc=`Ipv6CidrBlock`,Qc=`Ipv6CidrBlockAssociationSet`,$c=`Ipv6CidrBlockNetworkBorderGroup`,el=`Ipv6CidrBlockState`,tl=`IncludeDeprecated`,nl=`InferenceDeviceInfo`,rl=`InferenceDeviceInfoList`,il=`InferenceDeviceMemoryInfo`,al=`IncludeDisabled`,ol=`IsDefault`,sl=`IsEgress`,cl=`InstanceFamily`,ll=`InternetGateway`,ul=`InternetGatewayAttachment`,dl=`InternetGatewayAttachmentList`,fl=`InternetGatewayBlockMode`,pl=`InternetGatewayExclusion`,ml=`InternetGatewayId`,hl=`InternetGatewayIdList`,gl=`InternetGatewayIds`,_l=`InternetGatewayList`,vl=`InstanceGenerationSet`,yl=`InternetGateways`,bl=`InstanceGenerations`,xl=`InstanceGeneration`,Sl=`InstanceId`,Cl=`InstanceIpv6Address`,wl=`InstanceIpv6AddressList`,Tl=`InstanceIpv6AddressListRequest`,El=`InstanceIpv6AddressRequest`,Dl=`InstanceInterruptionBehavior`,Ol=`IamInstanceProfile`,kl=`IamInstanceProfileAssociation`,Al=`IamInstanceProfileAssociationSet`,jl=`IamInstanceProfileAssociations`,Ml=`Ipv6IpamPoolId`,Nl=`Ipv4IpamPoolId`,Koe=`InstanceIpv4PrefixList`,qoe=`InstanceIpv6PrefixList`,Joe=`IamInstanceProfileSpecification`,Yoe=`InstanceIpv4Prefix`,Xoe=`InstanceIpv6Prefix`,Pl=`InstanceInitiatedShutdownBehavior`,Zoe=`ImageIdStringList`,Qoe=`InstanceIdStringList`,Fl=`ImageId`,$oe=`ImageIds`,Il=`InstanceIds`,ese=`ImportKeyPair`,tse=`ImportKeyPairRequest`,nse=`ImportKeyPairResult`,Ll=`ImageLocation`,rse=`ImageList`,ise=`InstanceLifecycle`,ase=`InstanceList`,ose=`IpList`,sse=`InstanceMaintenanceOptions`,cse=`InstanceMaintenanceOptionsRequest`,lse=`InstanceMarketOptionsRequest`,use=`InstanceMetadataOptionsRequest`,dse=`InstanceMetadataOptionsResponse`,Rl=`InstanceMarketOptions`,zl=`IncludeManagedResources`,Bl=`InstanceMetadataTags`,Vl=`Ipv6Native`,fse=`InstanceNetworkInterface`,pse=`InstanceNetworkInterfaceAssociation`,mse=`InstanceNetworkInterfaceAttachment`,hse=`InstanceNetworkInterfaceList`,Hl=`InstanceNetworkInterfaceSpecification`,gse=`InstanceNetworkInterfaceSpecificationList`,Ul=`Ipv6NetmaskLength`,Wl=`Ipv4NetmaskLength`,_se=`InstanceNetworkPerformanceOptions`,vse=`InstanceNetworkPerformanceOptionsRequest`,yse=`ImageOwnerAlias`,bse=`IpOwnerId`,xse=`InstanceOwnerId`,Sse=`InstanceOwningService`,Gl=`Ipv6PrefixCount`,Kl=`Ipv4PrefixCount`,Cse=`IpPermissionsEgress`,wse=`IpamPoolId`,Tse=`InstancePrivateIpAddress`,Ese=`InstancePrivateIpAddressList`,Dse=`IsPrimaryIpv6`,Ose=`IncludePublicKey`,kse=`Ipv4PrefixListResponse`,Ase=`Ipv6PrefixListResponse`,jse=`IpPermissionList`,Mse=`Ipv4PrefixList`,Nse=`Ipv6PrefixList`,Pse=`Ipv4PrefixSpecificationRequest`,Fse=`Ipv4PrefixSpecificationResponse`,Ise=`Ipv6PrefixSpecificationRequest`,Lse=`Ipv6PrefixSpecificationResponse`,ql=`Ipv6Prefixes`,Jl=`IpPermissions`,Rse=`IpPermission`,Yl=`IpProtocol`,Xl=`Ipv6Prefix`,Zl=`Ipv6Pool`,Ql=`Ipv4Prefixes`,$l=`Ipv4Prefix`,zse=`IsPrimary`,Bse=`IpRangeList`,Vse=`Ipv6RangeList`,Hse=`InstanceRequirementsRequest`,eu=`InstanceRequirements`,Use=`IpRanges`,Wse=`IpRange`,Gse=`Ipv6Ranges`,Kse=`Ipv6Range`,qse=`InstanceStateChange`,Jse=`InstanceStateChangeList`,Yse=`InstanceSecondaryInterfaceAttachment`,Xse=`InstanceSecondaryInterfaceList`,Zse=`InstanceSecondaryInterfacePrivateIpAddress`,Qse=`InstanceSecondaryInterfacePrivateIpAddressList`,$se=`InstanceSecondaryInterfacePrivateIpAddressListRequest`,ece=`InstanceSecondaryInterfacePrivateIpAddressRequest`,tce=`InstanceSecondaryInterfaceSpecification`,nce=`InstanceSecondaryInterfaceSpecificationListRequest`,rce=`InstanceSecondaryInterfaceSpecificationRequest`,ice=`InstanceSecondaryInterface`,tu=`InstanceStorageInfo`,ace=`InstanceStorageSupported`,nu=`ImdsSupport`,oce=`InstanceState`,ru=`IpSource`,sce=`Ipv6Supported`,iu=`InstanceType`,cce=`InstanceTypeInfoList`,lce=`InstanceTypeInfo`,uce=`ImageType`,au=`InstanceTenancy`,ou=`InstanceTypes`,su=`InterfaceType`,dce=`IncludeUnsupportedInRegion`,fce=`ImageWatermarks`,pce=`ImageWatermarkList`,mce=`ImageWatermark`,hce=`Images`,gce=`Image`,_ce=`Instance`,vce=`Instances`,cu=`Iops`,yce=`Key`,bce=`KeyFormat`,lu=`KeyFingerprint`,uu=`KernelId`,du=`KmsKeyId`,xce=`KeyMaterial`,fu=`KeyName`,Sce=`KeyNameStringList`,Cce=`KeyNames`,wce=`KeyPairs`,pu=`KeyPairId`,Tce=`KeyPairIdStringList`,Ece=`KeyPairIds`,Dce=`KeyPairInfo`,Oce=`KeyPairList`,kce=`KeyPair`,mu=`KeyType`,Ace=`Kernel`,jce=`Lambda`,hu=`LicenseConfigurationArn`,Mce=`LicenseConfigurationRequest`,Nce=`LicenseConfiguration`,Pce=`LambdaExclusion`,Fce=`LogicalGpuCount`,gu=`LocalGatewayId`,_u=`LinkedGroupId`,Ice=`LicenseList`,Lce=`LastLaunchedTime`,vu=`LicenseSpecifications`,Rce=`LicenseSpecificationListRequest`,yu=`LocalStorageTypes`,zce=`LocalStorageTypeSet`,Bce=`LocalStorageType`,bu=`LicenseSpecification`,xu=`LocalStorage`,Su=`LaunchTemplate`,Vce=`LaunchTemplateBlockDeviceMapping`,Hce=`LaunchTemplateBlockDeviceMappingList`,Uce=`LaunchTemplateBlockDeviceMappingRequest`,Wce=`LaunchTemplateBlockDeviceMappingRequestList`,Gce=`LaunchTemplateCpuOptions`,Kce=`LaunchTemplateCpuOptionsRequest`,qce=`LaunchTemplateCapacityReservationSpecificationRequest`,Jce=`LaunchTemplateCapacityReservationSpecificationResponse`,Cu=`LaunchTemplateData`,Yce=`LaunchTemplateEbsBlockDevice`,Xce=`LaunchTemplateEbsBlockDeviceRequest`,Zce=`LaunchTemplateElasticInferenceAccelerator`,Qce=`LaunchTemplateElasticInferenceAcceleratorList`,$ce=`LaunchTemplateElasticInferenceAcceleratorResponse`,ele=`LaunchTemplateElasticInferenceAcceleratorResponseList`,tle=`LaunchTemplateEnclaveOptions`,nle=`LaunchTemplateEnclaveOptionsRequest`,rle=`LaunchTemplateEnaSrdSpecification`,ile=`LaunchTemplateEnaSrdUdpSpecification`,ale=`LaunchTemplateHibernationOptions`,ole=`LaunchTemplateHibernationOptionsRequest`,wu=`LaunchTemplateId`,sle=`LaunchTemplateIamInstanceProfileSpecification`,cle=`LaunchTemplateIamInstanceProfileSpecificationRequest`,lle=`LaunchTemplateInstanceMaintenanceOptions`,ule=`LaunchTemplateInstanceMaintenanceOptionsRequest`,dle=`LaunchTemplateInstanceMarketOptionsRequest`,fle=`LaunchTemplateInstanceMetadataOptionsRequest`,ple=`LaunchTemplateInstanceMarketOptions`,mle=`LaunchTemplateInstanceMetadataOptions`,hle=`LaunchTemplateInstanceNetworkInterfaceSpecification`,gle=`LaunchTemplateInstanceNetworkInterfaceSpecificationList`,_le=`LaunchTemplateInstanceNetworkInterfaceSpecificationRequest`,vle=`LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList`,yle=`LaunchTemplateInstanceSecondaryInterfaceSpecification`,ble=`LaunchTemplateInstanceSecondaryInterfaceSpecificationList`,xle=`LaunchTemplateInstanceSecondaryInterfaceSpecificationRequest`,Sle=`LaunchTemplateInstanceSecondaryInterfaceSpecificationRequestList`,Cle=`LaunchTemplateIdStringList`,wle=`LaunchTemplateIds`,Tle=`LaunchTemplateLicenseConfiguration`,Ele=`LaunchTemplateLicenseConfigurationRequest`,Dle=`LaunchTemplateLicenseList`,Ole=`LaunchTemplateLicenseSpecificationListRequest`,kle=`LaunchTemplatesMonitoring`,Ale=`LaunchTemplatesMonitoringRequest`,Tu=`LaunchTemplateName`,jle=`LaunchTemplateNetworkPerformanceOptions`,Mle=`LaunchTemplateNetworkPerformanceOptionsRequest`,Nle=`LaunchTemplateNameStringList`,Ple=`LaunchTemplateNames`,Fle=`LaunchTemplatePlacement`,Ile=`LaunchTemplatePrivateDnsNameOptions`,Lle=`LaunchTemplatePrivateDnsNameOptionsRequest`,Rle=`LaunchTemplatePlacementRequest`,zle=`LaunchTemplateSpecification`,Ble=`LaunchTemplateSpotMarketOptions`,Vle=`LaunchTemplateSpotMarketOptionsRequest`,Hle=`LaunchTemplateSet`,Ule=`LaunchTemplateTagSpecification`,Wle=`LaunchTemplateTagSpecificationList`,Eu=`LaunchTemplateTagSpecificationRequest`,Gle=`LaunchTemplateTagSpecificationRequestList`,Du=`LaunchTemplateVersion`,Kle=`LaunchTemplateVersionSet`,qle=`LaunchTemplateVersions`,Jle=`LaunchTemplates`,Yle=`LaunchTime`,Xle=`LatestVersionNumber`,Zle=`Latest`,Qle=`Licenses`,$le=`Location`,Ou=`Min`,ku=`MultiAttachEnabled`,Au=`MediaAcceleratorInfo`,ju=`MacAddress`,Mu=`MaximumBandwidthInMbps`,Nu=`MapCustomerOwnedIpOnLaunch`,eue=`MaxCount`,tue=`MinCount`,nue=`MediaDeviceInfo`,rue=`MediaDeviceInfoList`,iue=`MediaDeviceMemoryInfo`,aue=`MaximumEbsAttachments`,oue=`MaximumEbsCards`,sue=`MaximumEfaInterfaces`,cue=`MaximumEnaQueueCount`,lue=`MaximumEnaQueueCountPerInterface`,Pu=`MemoryGiBPerVCpu`,uue=`MemoryGiBPerVCpuRequest`,Fu=`MaximumIops`,due=`ModifyInstanceAttributeRequest`,fue=`ModifyInstanceAttributeValue`,pue=`ModifyInstanceAttribute`,Iu=`MemoryInfo`,mue=`ModifyLaunchTemplate`,hue=`ModifyLaunchTemplateRequest`,gue=`ModifyLaunchTemplateResult`,Lu=`MemoryMiB`,_ue=`MemoryMiBRequest`,vue=`MaximumNetworkCards`,Ru=`MaximumNetworkInterfaces`,zu=`MetadataOptions`,Bu=`MaintenanceOptions`,Vu=`MapPublicIpOnLaunch`,Hu=`MaxPrice`,Uu=`MaxResults`,yue=`ModifySubnetAttributeRequest`,bue=`ModifySubnetAttribute`,xue=`MaximumSecondaryNetworkInterfaces`,Wu=`MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`,Gu=`ModificationState`,Ku=`MaximumThroughputInMBps`,qu=`MarketType`,Sue=`MinVersion`,Cue=`ModifyVolumeRequest`,wue=`ModifyVolumeResult`,Tue=`MaxVersion`,Eue=`ModifyVolume`,Ju=`Max`,Due=`Main`,Yu=`Manufacturer`,Oue=`Managed`,Xu=`Message`,kue=`Messages`,Zu=`Mode`,Qu=`Monitoring`,$u=`Name`,ed=`NetworkBorderGroup`,Aue=`NetworkBandwidthGbpsRequest`,td=`NetworkBandwidthGbps`,jue=`NetworkCards`,nd=`NetworkCardIndex`,Mue=`NetworkCardInfoList`,Nue=`NetworkCardInfo`,rd=`NoDevice`,Pue=`NeuronDeviceCoreInfo`,Fue=`NeuronDeviceInfo`,Iue=`NeuronDeviceInfoList`,Lue=`NeuronDeviceMemoryInfo`,Rue=`NeuronDevices`,zue=`NitroEnclavesSupport`,id=`NatGateway`,Bue=`NatGatewayAddresses`,Vue=`NatGatewayAttachedAppliance`,Hue=`NatGatewayAttachedApplianceList`,Uue=`NatGatewayAddressList`,Wue=`NatGatewayAddress`,Gue=`NatGatewayExclusion`,ad=`NatGatewayId`,Kue=`NatGatewayIdStringList`,que=`NatGatewayIds`,Jue=`NatGatewayList`,Yue=`NatGateways`,od=`NetworkInterfaceCount`,Xue=`NetworkInterfaceCountRequest`,sd=`NetworkInterfaceId`,Zue=`NetworkInterfaceOwnerId`,Que=`NetworkInterface`,cd=`NetworkInterfaces`,ld=`NetworkInfo`,ud=`NeuronInfo`,dd=`NetworkPerformanceOptions`,fd=`NetworkPerformance`,$ue=`NoReboot`,pd=`NvmeSupport`,md=`NitroTpmInfo`,ede=`NitroTpmSupport`,tde=`NitroTpmSupportedVersionsList`,hd=`NextToken`,gd=`NestedVirtualization`,nde=`Origin`,_d=`OutpostArn`,rde=`OwnerAlias`,vd=`OnDemandMaxPricePercentageOverLowestPrice`,yd=`OwnerId`,bd=`OptInStatus`,ide=`OriginalIops`,ade=`OwnerIds`,ode=`OriginalMultiAttachEnabled`,xd=`OdbNetworkArn`,sde=`OperatorRequest`,cde=`OperatorResponse`,lde=`OwnerStringList`,ude=`OriginalSize`,dde=`OriginalThroughput`,fde=`OriginalVolumeType`,Sd=`Operator`,pde=`Output`,mde=`Owners`,Cd=`Owner`,wd=`Principal`,Td=`ProvisionedBandwidth`,hde=`PeakBandwidthInGbps`,gde=`ProductCodeId`,_de=`ProductCodeList`,vde=`ProductCodeType`,Ed=`PartitionCount`,yde=`ProductCode`,Dd=`ProductCodes`,bde=`PrivateDnsHostnameTypeOnLaunch`,Od=`PrivateDnsName`,kd=`PrivateDnsNameOptions`,Ad=`PrivateDnsNameOptionsOnLaunch`,xde=`PrivateDnsNameOptionsRequest`,Sde=`PrivateDnsNameOptionsResponse`,jd=`PublicDnsName`,Md=`PlatformDetails`,Cde=`PerformanceFactorReference`,wde=`PerformanceFactorReferenceRequest`,Tde=`PerformanceFactorReferenceSet`,Ede=`PerformanceFactorReferenceSetRequest`,Nd=`PlacementGroup`,Pd=`ParentGroupId`,Dde=`PlacementGroupIdStringList`,Fd=`PlacementGroupInfo`,Ode=`PlacementGroupList`,kde=`PlacementGroupStrategyList`,Ade=`PlacementGroups`,Id=`PublicIp`,Ld=`PrivateIpAddressCount`,jde=`PrivateIpAddressSpecification`,Mde=`PrivateIpAddressSpecificationList`,Rd=`PrivateIpAddress`,zd=`PrivateIpAddresses`,Nde=`PublicIpAddress`,Bd=`PublicIpv4Pool`,Pde=`PublicIpStringList`,Vd=`PrimaryIpv6`,Fde=`PrivateIp`,Hd=`ProcessorInfo`,Ide=`PublicIps`,Lde=`PublicKey`,Rde=`PublicKeyMaterial`,Ud=`PrefixListId`,zde=`PrefixListIdList`,Bde=`PrefixListIds`,Wd=`PartitionNumber`,Vde=`PublicSsmParameterName`,Gd=`PeeringStatus`,Hde=`PhcSupport`,Ude=`PreviousState`,Wde=`ProvisionTime`,Gde=`PresignedUrl`,Kde=`PropagatingVgw`,qde=`PropagatingVgwList`,Jde=`PropagatingVgws`,Yde=`ParentZoneId`,Xde=`ParentZoneName`,Kd=`Platform`,qd=`Placement`,Jd=`Primary`,Yd=`Progress`,Zde=`Provisioned`,Qde=`Public`,Xd=`Return`,$de=`ReleaseAddressRequest`,efe=`ReleaseAddress`,Zd=`ResolveAlias`,tfe=`RestorableByUserIds`,nfe=`RestorableBy`,rfe=`ReturnCode`,Qd=`RamDiskId`,$d=`RootDeviceName`,ef=`RootDeviceType`,ife=`RootDeviceTypeList`,tf=`RequireEncryptionInTransit`,afe=`RestoreExpiryTime`,nf=`ResponseError`,ofe=`ResourceExclusions`,sfe=`RegionGeography`,cfe=`ReferencedGroupId`,lfe=`ReferencedGroupInfo`,ufe=`RegionGeographyList`,rf=`RequireHibernateSupport`,dfe=`RunInstancesMonitoringEnabled`,ffe=`RebootInstancesRequest`,pfe=`RegisterImageRequest`,mfe=`RegisterImageResult`,hfe=`RunInstancesRequest`,gfe=`RunInstancesUserData`,af=`RamdiskId`,_fe=`ReservationId`,vfe=`RebootInstances`,yfe=`RegisterImage`,bfe=`RequesterId`,xfe=`RunInstances`,Sfe=`RegionList`,Cfe=`RequestLaunchTemplateData`,wfe=`ResponseLaunchTemplateData`,Tfe=`ReservationList`,Efe=`RouteList`,Dfe=`RebootMigrationSupport`,Ofe=`RebootMigration`,of=`RegionName`,kfe=`RegionNameStringList`,Afe=`RegionNames`,jfe=`ReferencedSecurityGroup`,Mfe=`RevokeSecurityGroupEgress`,Nfe=`RevokeSecurityGroupEgressRequest`,Pfe=`RevokeSecurityGroupEgressResult`,Ffe=`RevokeSecurityGroupIngressRequest`,Ife=`RevokeSecurityGroupIngressResult`,Lfe=`RevokeSecurityGroupIngress`,Rfe=`RevokedSecurityGroupRule`,zfe=`RevokedSecurityGroupRuleList`,sf=`RevokedSecurityGroupRules`,Bfe=`RouteTableAssociation`,Vfe=`RouteTableAssociationId`,Hfe=`RouteTableAssociationList`,Ufe=`RouteTableAssociationState`,cf=`RouteTableId`,Wfe=`RouteTableIdStringList`,Gfe=`RouteTableIds`,Kfe=`RouteTableList`,lf=`ResourceType`,qfe=`RequestTime`,uf=`RouteTable`,Jfe=`RouteTables`,Yfe=`Ramdisk`,df=`References`,Xfe=`Reference`,Zfe=`Regions`,Qfe=`Region`,$fe=`Requested`,epe=`Reservations`,tpe=`Reservation`,npe=`Route`,rpe=`Routes`,ipe=`SecondaryAllocationIds`,ape=`SecondaryAllocationId`,ope=`SupportedAdditionalProcessorFeatureList`,spe=`SubnetArn`,cpe=`SupportedArchitectures`,lpe=`SupportedBootModes`,upe=`SubnetCidrBlockState`,dpe=`SustainedClockSpeedInGhz`,ff=`SourceDestCheck`,fpe=`SuccessfullyDeletedLaunchTemplateVersions`,ppe=`SetDefaultVersion`,pf=`SpreadDomain`,mpe=`SupportedFeatures`,hpe=`SubGeography`,mf=`SecurityGroupArn`,hf=`SecurityGroupId`,gpe=`SecurityGroupIdStringList`,gf=`SecurityGroupIds`,_pe=`SecurityGroupList`,_f=`SecurityGroupRules`,vpe=`SecurityGroupRuleArn`,vf=`SecurityGroupRuleIds`,ype=`SecurityGroupRuleIdList`,yf=`SecurityGroupRuleId`,bpe=`SecurityGroupRuleList`,xpe=`SecurityGroupRule`,Spe=`SecurityGroupStringList`,bf=`SecurityGroups`,xf=`SecurityGroup`,Cpe=`SubnetIds`,wpe=`SubnetIpv6CidrBlockAssociation`,Tpe=`SubnetIpv6CidrBlockAssociationSet`,Epe=`SourceImageCreationTime`,Dpe=`SizeInGB`,Sf=`SourceImageId`,Ope=`SecondaryInterfaceId`,kpe=`SourceInstanceId`,Cf=`SizeInMiB`,wf=`SecondaryInterfacePrivateIpAddressSpecification`,Ape=`SecondaryInterfacePrivateIpAddressSpecificationList`,jpe=`SecondaryInterfacePrivateIpAddressSpecificationListRequest`,Mpe=`SecondaryInterfacePrivateIpAddressSpecificationRequest`,Npe=`SpotInstanceRequestId`,Tf=`SourceImageRegion`,Ppe=`StartInstancesRequest`,Fpe=`StartInstancesResult`,Ipe=`StopInstancesRequest`,Lpe=`StopInstancesResult`,Rpe=`SupportedInRegion`,zpe=`SnapshotIdStringList`,Bpe=`SubnetIdStringList`,Ef=`SpotInstanceType`,Df=`SecondaryInterfaces`,Of=`SecondaryInterface`,kf=`SnapshotId`,Vpe=`SnapshotIds`,Hpe=`StartingInstances`,Upe=`StartInstances`,Wpe=`StoppingInstances`,Gpe=`StopInstances`,Af=`SubnetId`,Kpe=`SnapshotLocation`,qpe=`SnapshotList`,jf=`SpreadLevel`,Jpe=`SubnetList`,Ype=`ServiceManaged`,Xpe=`SpotMarketOptions`,Mf=`SpotMaxPricePercentageOverLowestPrice`,Nf=`StatusMessage`,Pf=`StateMessage`,Zpe=`SecondaryNetworkId`,Ff=`SriovNetSupport`,Qpe=`SecondaryNetworkSupported`,If=`SpotOptions`,Lf=`SkipOsShutdown`,$pe=`SecondaryPrivateIpAddresses`,Rf=`SecondaryPrivateIpAddressCount`,eme=`SecondaryPrivateIpAddress`,tme=`SupportedRootDeviceTypes`,nme=`SourceRegion`,zf=`StateReason`,Bf=`SourceSecurityGroupName`,Vf=`SourceSecurityGroupOwnerId`,rme=`SourceSnapshotId`,Hf=`SecondarySubnetId`,ime=`SupportedStrategies`,ame=`StateTransitionReason`,Uf=`SseType`,Wf=`StartTime`,ome=`StorageTier`,sme=`SupportedUsageClasses`,cme=`SensitiveUserData`,lme=`SourceVersion`,ume=`SourceVolumeId`,dme=`SupportedVirtualizationTypes`,fme=`SupportedVersions`,Gf=`Size`,pme=`Snapshots`,mme=`Snapshot`,Kf=`State`,qf=`Status`,Jf=`Strategy`,Yf=`Subnet`,hme=`Subnets`,Xf=`Tags`,Zf=`TcpEstablishedTimeout`,gme=`TotalFpgaMemoryInMiB`,Qf=`TransitGatewayId`,_me=`TotalGpuMemoryInMiB`,vme=`TerminateInstances`,yme=`TotalInferenceMemoryInMiB`,bme=`TerminateInstancesRequest`,xme=`TerminateInstancesResult`,Sme=`TargetIops`,Cme=`TerminatingInstances`,wme=`TagList`,$f=`TotalLocalStorageGB`,Tme=`TotalLocalStorageGBRequest`,Eme=`TargetMultiAttachEnabled`,Dme=`TotalMediaMemoryInMiB`,Ome=`TotalNeuronDeviceMemoryInMiB`,ep=`ToPort`,tp=`ThreadsPerCore`,kme=`ThreadsPerCoreList`,np=`TagSpecifications`,Ame=`TotalSizeInGB`,jme=`TagSpecificationList`,rp=`TagSpecification`,Mme=`TargetSize`,ip=`TpmSupport`,Nme=`TargetThroughput`,Pme=`TransferType`,Fme=`TargetVolumeType`,ap=`Tag`,op=`Tenancy`,sp=`Throughput`,cp=`Timestamp`,lp=`Type`,Ime=`UsageClassTypeList`,Lme=`UefiData`,Rme=`UnsuccessfullyDeletedLaunchTemplateVersions`,up=`UserData`,dp=`UserId`,zme=`UserIdGroupPairs`,Bme=`UserIdGroupPairList`,Vme=`UserIdGroupPair`,fp=`UnknownIpPermissions`,pp=`UsageOperation`,Hme=`UsageOperationUpdateTime`,mp=`UdpStreamTimeout`,hp=`UdpTimeout`,gp=`Value`,Ume=`VolumeAttachmentList`,Wme=`VolumeAttachment`,Gme=`VpcCidrBlockAssociation`,Kme=`VpcCidrBlockAssociationSet`,qme=`VpcCidrBlockState`,_p=`VCpuCount`,Jme=`VCpuCountRange`,Yme=`VCpuCountRangeRequest`,vp=`VCpuInfo`,Xme=`ValidCores`,yp=`VersionDescription`,bp=`VpcEncryptionControl`,Zme=`VpcEncryptionControlConfiguration`,Qme=`VpcEncryptionControlExclusion`,$me=`VpcEncryptionControlExclusions`,ehe=`VpcEncryptionControlId`,xp=`VpcEndpointId`,the=`ValidationError`,Sp=`VpcId`,nhe=`VpcIpv6CidrBlockAssociation`,rhe=`VpcIpv6CidrBlockAssociationSet`,Cp=`VolumeInitializationRate`,ihe=`VolumeIdStringList`,ahe=`VpcIdStringList`,wp=`VolumeId`,ohe=`VolumeIds`,she=`VpcIds`,che=`VpcLattice`,lhe=`VpcLatticeExclusion`,uhe=`VolumeList`,dhe=`VpcList`,Tp=`VolumeModification`,Ep=`VirtualName`,Dp=`VersionNumber`,fhe=`VolumeOwnerId`,phe=`VpcPeering`,Op=`VpcPeeringConnectionId`,mhe=`VpcPeeringExclusion`,hhe=`VirtualPrivateGateway`,ghe=`VirtualPrivateGatewayExclusion`,_he=`ValueStringList`,vhe=`VersionStringList`,kp=`VolumeSize`,Ap=`VolumeType`,yhe=`VirtualizationTypeList`,bhe=`ValidThreadsPerCore`,jp=`VirtualizationType`,Mp=`ValidUntil`,xhe=`ValidationWarning`,She=`Values`,Np=`Versions`,Pp=`Version`,Che=`Volumes`,whe=`Volume`,Fp=`Vpc`,The=`Vpcs`,Ip=`Warning`,Ehe=`WatermarkCreationTime`,Dhe=`WatermarkKey`,Ohe=`WorkloadsList`,khe=`Workloads`,Lp=`ZoneId`,Ahe=`ZoneIdStringList`,jhe=`ZoneIds`,Rp=`ZoneName`,Mhe=`ZoneNameStringList`,Nhe=`ZoneNames`,Phe=`ZoneType`,Fhe=`attachedApplianceSet`,Ihe=`applianceArn`,Lhe=`associateCarrierIpAddress`,Rhe=`acceleratorCount`,zhe=`additionalFlexibleNetworkInterfaces`,zp=`allocationId`,Bhe=`availableIpAddressCount`,Vhe=`assignIpv6AddressOnCreation`,Hhe=`allowedInstanceTypeSet`,Bp=`additionalInfo`,Vp=`associationId`,Hp=`attachmentId`,Uhe=`amiLaunchIndex`,Whe=`attachmentLimitType`,Ghe=`availabilityMode`,Khe=`acceleratorManufacturerSet`,qhe=`acceleratorNameSet`,Up=`associatePublicIpAddress`,Jhe=`amazonProvidedIpv6CidrBlock`,Yhe=`autoProvisionZones`,Xhe=`autoRecoverySupported`,Zhe=`allowReassociation`,Wp=`associatedResource`,Gp=`autoRecovery`,Kp=`associationState`,Qhe=`autoScalingIps`,qp=`amdSevSnp`,$he=`addressesSet`,ege=`associationSet`,Jp=`attachmentSet`,tge=`attachmentState`,nge=`acceleratorTotalMemoryMiB`,rge=`acceleratorTypeSet`,Yp=`attachTime`,Xp=`availabilityZone`,Zp=`availabilityZoneId`,ige=`availabilityZoneInfo`,Qp=`accelerators`,$p=`affinity`,em=`arn`,tm=`architecture`,nm=`association`,rm=`attachment`,age=`attribute`,oge=`baselineBandwidthInGbps`,im=`baselineBandwidthInMbps`,am=`blockDeviceMapping`,sge=`blockDeviceMappingSet`,cge=`blockDurationMinutes`,lge=`baselineEbsBandwidthMbps`,om=`baselineIops`,sm=`bootMode`,cm=`bareMetal`,uge=`burstablePerformance`,lm=`blockPublicAccessStates`,dge=`baselinePerformanceFactors`,fge=`burstablePerformanceSupported`,um=`baselineThroughputInMBps`,dm=`bandwidthWeighting`,pge=`bandwidthWeightings`,fm=`cidrBlock`,mge=`cidrBlockAssociationSet`,hge=`capacityBlockId`,gge=`cidrBlockState`,pm=`createdBy`,mm=`coreCount`,_ge=`cpuCredits`,vge=`completionDurationMinutes`,yge=`creationDate`,bge=`carrierGatewayId`,xge=`currentGeneration`,hm=`carrierIp`,Sge=`currentInstanceBootMode`,gm=`cidrIp`,_m=`cidrIpv6`,vm=`cidrIpv4`,Cge=`coreInfo`,wge=`cpuManufacturerSet`,Tge=`coreNetworkArn`,ym=`cpuOptions`,bm=`customerOwnedIp`,xm=`customerOwnedIpv4Pool`,Sm=`capacityReservationId`,Cm=`capacityReservationPreference`,Ege=`capacityReservationResourceGroupArn`,wm=`capacityReservationSpecification`,Tm=`capacityReservationTarget`,Dge=`creditSpecification`,Oge=`currentState`,Em=`clientToken`,Dm=`connectionTrackingConfiguration`,kge=`connectionTrackingSpecification`,Age=`completionTime`,jge=`connectivityType`,Om=`createTime`,km=`code`,Am=`configured`,jm=`count`,Mge=`cpu`,Nge=`disableApiStop`,Mm=`disableApiTermination`,Nm=`destinationCidrBlock`,Pge=`defaultCores`,Fge=`dataEncryptionKeyId`,Ige=`defaultEnaQueueCountPerInterface`,Lge=`defaultForAz`,Rge=`dedicatedHostsSupported`,Pm=`deviceIndex`,Fm=`destinationIpv6CidrBlock`,Im=`deviceName`,zge=`defaultNetworkCardIndex`,Bge=`dnsName`,Vge=`dhcpOptionsId`,Lm=`deleteOnTermination`,Hge=`destinationPrefixListId`,Uge=`deregistrationProtection`,f=`dryRun`,Wge=`destinationRegion`,Gge=`deleteSnapshotResultSet`,Kge=`defaultTcpEstablishedTimeout`,qge=`defaultThreadsPerCore`,Jge=`deprecationTime`,Yge=`deleteTime`,Xge=`defaultUdpStreamTimeout`,Zge=`defaultUdpTimeout`,Qge=`defaultVCpus`,$ge=`defaultVersionNumber`,e_e=`defaultVersion`,Rm=`description`,t_e=`device`,n_e=`disks`,zm=`domain`,Bm=`ebsCardIndex`,r_e=`ebsCardSet`,i_e=`encryptionControl`,a_e=`enableDns64`,o_e=`elasticFileSystem`,s_e=`elasticGpuAssociationId`,c_e=`elasticGpuAssociationState`,l_e=`elasticGpuAssociationSet`,u_e=`elasticGpuAssociationTime`,d_e=`elasticGpuId`,f_e=`elasticGpuSpecificationSet`,p_e=`elasticInferenceAcceleratorArn`,m_e=`elasticInferenceAcceleratorAssociationId`,h_e=`elasticInferenceAcceleratorAssociationState`,g_e=`elasticInferenceAcceleratorAssociationSet`,__e=`elasticInferenceAcceleratorAssociationTime`,v_e=`elasticInferenceAcceleratorSet`,y_e=`encryptionInTransitSupported`,b_e=`excludedInstanceTypeSet`,x_e=`ebsInfo`,S_e=`efaInfo`,C_e=`enableLniAtDeviceIndex`,Vm=`ebsOptimized`,w_e=`ebsOptimizedInfo`,T_e=`egressOnlyInternetGateway`,Hm=`egressOnlyInternetGatewayId`,E_e=`ebsOptimizedSupport`,Um=`enclaveOptions`,Wm=`enaQueueCount`,p=`ec2QueryName`,Gm=`enableResourceNameDnsAAAARecord`,Km=`enableResourceNameDnsARecord`,qm=`enaSrdEnabled`,Jm=`enaSrdSpecification`,D_e=`enaSrdSupported`,Ym=`enaSrdUdpEnabled`,Xm=`enaSrdUdpSpecification`,O_e=`efaSupported`,Zm=`encryptionSupport`,Qm=`enaSupport`,k_e=`errorSet`,A_e=`endTime`,$m=`ebs`,eh=`enabled`,th=`encrypted`,nh=`failureCode`,j_e=`flexibleEnaQueuesSupport`,M_e=`fpgaInfo`,rh=`failureMessage`,ih=`fromPort`,N_e=`fastRestored`,P_e=`fullSnapshotSizeInBytes`,ah=`freeTierEligible`,F_e=`force`,I_e=`fpgas`,L_e=`groupArn`,R_e=`groupDescription`,oh=`gatewayId`,z_e=`gpuInfo`,sh=`groupId`,B_e=`groupLongName`,ch=`groupName`,V_e=`groupOwnerId`,H_e=`gpuPartitionSize`,lh=`geographySet`,uh=`groupSet`,U_e=`gpus`,W_e=`groups`,dh=`hypervisor`,G_e=`hiddenByDefault`,fh=`httpEndpoint`,ph=`hostId`,mh=`hibernationOptions`,hh=`httpProtocolIpv6`,gh=`httpPutResponseHopLimit`,_h=`hostResourceGroupArn`,K_e=`hibernationSupported`,vh=`httpTokens`,yh=`hostnameType`,q_e=`id`,bh=`ipv6AddressAttribute`,xh=`ipv6AddressCount`,J_e=`inferenceAcceleratorInfo`,Y_e=`ipv4AddressesPerInterface`,X_e=`ipv6AddressesPerInterface`,Z_e=`ipv4AddressesPerSecondaryInterface`,Sh=`ipv6AddressesSet`,Q_e=`imageAllowed`,Ch=`ipAddress`,wh=`ipv6Address`,Th=`ipv6CidrBlock`,Eh=`ipv6CidrBlockAssociationSet`,Dh=`ipv6CidrBlockState`,$_e=`isDefault`,Oh=`isEgress`,eve=`instanceFamily`,kh=`internetGateway`,tve=`internetGatewayBlockMode`,Ah=`internetGatewayId`,nve=`internetGatewaySet`,rve=`instanceGenerationSet`,jh=`instanceId`,ive=`instanceInterruptionBehavior`,Mh=`iamInstanceProfile`,Nh=`iamInstanceProfileAssociation`,ave=`iamInstanceProfileAssociationSet`,Ph=`instanceInitiatedShutdownBehavior`,Fh=`imageId`,ove=`imageLocation`,sve=`instanceLifecycle`,cve=`instanceMarketOptions`,Ih=`instanceMetadataTags`,lve=`ipv6Native`,uve=`imageOwnerAlias`,dve=`imageOwnerId`,fve=`instanceOwnerId`,pve=`ipOwnerId`,mve=`instanceOwningService`,hve=`ipv4PrefixCount`,gve=`ipv6PrefixCount`,_ve=`ipPermissionsEgress`,vve=`isPrimaryIpv6`,Lh=`ipv4PrefixSet`,Rh=`ipv6PrefixSet`,zh=`ipProtocol`,Bh=`ipPermissions`,Vh=`ipv4Prefix`,yve=`ipv6Pool`,Hh=`ipv6Prefix`,bve=`isPublic`,xve=`isPrimary`,Sve=`instanceRequirements`,Cve=`ipRanges`,wve=`ipv6Ranges`,Tve=`instanceStorageInfo`,Eve=`instanceStorageSupported`,Dve=`imagesSet`,Ove=`imageState`,kve=`imdsSupport`,Uh=`instancesSet`,Ave=`instanceState`,Wh=`ipSource`,jve=`ipv6Supported`,Gh=`instanceType`,Mve=`instanceTypeSet`,Nve=`idempotencyToken`,Pve=`imageType`,Kh=`instanceTenancy`,qh=`interfaceType`,Fve=`imageWatermarkSet`,Jh=`iops`,m=`item`,Ive=`key`,Yh=`keyFingerprint`,Xh=`kernelId`,Zh=`kmsKeyId`,Lve=`keyMaterial`,Qh=`keyName`,$h=`keyPairId`,Rve=`keySet`,zve=`keyType`,Bve=`kernel`,Vve=`lambda`,eg=`licenseConfigurationArn`,Hve=`logicalGpuCount`,Uve=`localGatewayId`,Wve=`linkedGroupId`,Gve=`lastLaunchedTime`,Kve=`localStorageTypeSet`,tg=`licenseSet`,qve=`localStorage`,ng=`launchTemplate`,Jve=`launchTemplateData`,rg=`launchTemplateId`,ig=`launchTemplateName`,Yve=`launchTemplateVersion`,Xve=`launchTemplateVersionSet`,Zve=`launchTemplates`,Qve=`launchTime`,$ve=`latestVersionNumber`,ag=`min`,eye=`multiAttachEnabled`,tye=`mediaAcceleratorInfo`,og=`macAddress`,sg=`maximumBandwidthInMbps`,nye=`mapCustomerOwnedIpOnLaunch`,rye=`maximumEbsAttachments`,iye=`maximumEbsCards`,aye=`maximumEfaInterfaces`,oye=`maximumEnaQueueCount`,sye=`maximumEnaQueueCountPerInterface`,cye=`memoryGiBPerVCpu`,cg=`maximumIops`,lg=`memoryInfo`,lye=`memoryMiB`,uye=`maximumNetworkCards`,ug=`maximumNetworkInterfaces`,dg=`metadataOptions`,fg=`maintenanceOptions`,dye=`maxPrice`,fye=`mapPublicIpOnLaunch`,pg=`maxResults`,pye=`messageSet`,mye=`maximumSecondaryNetworkInterfaces`,hye=`maxSpotPriceAsPercentageOfOptimalOnDemandPrice`,mg=`modificationState`,hg=`maximumThroughputInMBps`,gye=`marketType`,gg=`max`,_ye=`main`,_g=`manufacturer`,vye=`managed`,vg=`message`,yye=`mode`,yg=`monitoring`,bg=`name`,xg=`networkBorderGroup`,bye=`networkBandwidthGbps`,xye=`networkCards`,Sg=`networkCardIndex`,Cg=`noDevice`,wg=`neuronDevices`,Tg=`nitroEnclavesSupport`,Eg=`natGateway`,Dg=`natGatewayAddressSet`,Og=`natGatewayId`,kg=`natGatewaySet`,Ag=`networkInterfaceCount`,jg=`networkInterfaceId`,Mg=`networkInterfaceOwnerId`,Ng=`networkInterfaceSet`,Pg=`networkInterface`,Fg=`networkInfo`,Ig=`neuronInfo`,Lg=`networkPerformanceOptions`,Rg=`networkPerformance`,zg=`noReboot`,Bg=`nvmeSupport`,Vg=`nitroTpmInfo`,Hg=`nitroTpmSupport`,Ug=`nextToken`,Wg=`nestedVirtualization`,Gg=`origin`,Kg=`outpostArn`,qg=`ownerAlias`,Jg=`onDemandMaxPricePercentageOverLowestPrice`,Yg=`ownerId`,Xg=`optInStatus`,Zg=`originalIops`,Qg=`originalMultiAttachEnabled`,$g=`odbNetworkArn`,e_=`originalSize`,t_=`originalThroughput`,n_=`originalVolumeType`,r_=`operator`,i_=`output`,a_=`principal`,o_=`provisionedBandwidth`,s_=`peakBandwidthInGbps`,c_=`productCodes`,l_=`partitionCount`,u_=`productCode`,d_=`privateDnsNameOptions`,f_=`privateDnsNameOptionsOnLaunch`,p_=`privateDnsName`,m_=`publicDnsName`,h_=`platformDetails`,g_=`placementGroup`,__=`placementGroupInfo`,v_=`parentGroupId`,y_=`placementGroupSet`,b_=`publicIp`,x_=`privateIpAddressCount`,S_=`privateIpAddressesSet`,C_=`privateIpAddressSet`,w_=`privateIpAddress`,T_=`publicIpv4Pool`,E_=`processorInfo`,D_=`primaryIpv6`,O_=`privateIp`,k_=`publicKey`,A_=`publicKeyMaterial`,j_=`prefixListId`,M_=`prefixListIds`,N_=`partitionNumber`,P_=`publicSsmParameterName`,F_=`peeringStatus`,I_=`phcSupport`,L_=`previousState`,R_=`provisionTime`,z_=`presignedUrl`,B_=`propagatingVgwSet`,V_=`parentZoneId`,H_=`parentZoneName`,U_=`platform`,W_=`placement`,G_=`primary`,K_=`progress`,q_=`provisioned`,J_=`return`,Y_=`returnCode`,X_=`ramDiskId`,Z_=`rootDeviceName`,Q_=`rootDeviceType`,$_=`responseError`,ev=`requireEncryptionInTransit`,tv=`restoreExpiryTime`,nv=`regionEndpoint`,rv=`resourceExclusions`,iv=`referencedGroupId`,av=`referencedGroupInfo`,ov=`requireHibernateSupport`,sv=`reservationId`,cv=`ramdiskId`,lv=`regionInfo`,uv=`requesterId`,dv=`rebootMigrationSupport`,fv=`rebootMigration`,pv=`regionName`,mv=`revokedSecurityGroupRuleSet`,hv=`referenceSet`,gv=`reservationSet`,_v=`routeSet`,vv=`routeTableAssociationId`,yv=`routeTableId`,bv=`routeTableSet`,xv=`resourceType`,Sv=`requestTime`,Cv=`routeTable`,wv=`ramdisk`,Tv=`reason`,Ev=`requested`,Dv=`smithy.ts.sdk.synthetic.com.amazonaws.ec2`,Ov=`supportedArchitectures`,kv=`subnetArn`,Av=`supportedBootModes`,jv=`sustainedClockSpeedInGhz`,Mv=`sourceDestCheck`,Nv=`successfullyDeletedLaunchTemplateVersionSet`,Pv=`spreadDomain`,Fv=`supportedFeatures`,Iv=`securityGroupArn`,Lv=`securityGroupIdSet`,Rv=`securityGroupInfo`,zv=`securityGroupRuleArn`,Bv=`securityGroupRuleId`,Vv=`securityGroupRuleSet`,Hv=`subGeographySet`,Uv=`securityGroupSet`,Wv=`sourceImageCreationTime`,Gv=`sizeInGB`,Kv=`sourceInstanceId`,qv=`secondaryInterfaceId`,Jv=`sourceImageId`,Yv=`sizeInMiB`,Xv=`sourceImageRegion`,Zv=`spotInstanceRequestId`,Qv=`supportedInRegion`,$v=`secondaryInterfaceSet`,ey=`spotInstanceType`,ty=`snapshotId`,ny=`subnetId`,ry=`spreadLevel`,iy=`serviceManaged`,ay=`spotMaxPricePercentageOverLowestPrice`,oy=`statusMessage`,sy=`stateMessage`,cy=`secondaryNetworkId`,ly=`secondaryNetworkSupported`,uy=`sriovNetSupport`,dy=`spotOptions`,fy=`secondaryPrivateIpAddressCount`,py=`supportedRootDeviceTypes`,my=`stateReason`,hy=`sourceSecurityGroupName`,gy=`sourceSecurityGroupOwnerId`,_y=`secondarySubnetId`,vy=`snapshotSet`,yy=`subnetSet`,by=`supportedStrategies`,xy=`sseType`,Sy=`startTime`,Cy=`storageTier`,wy=`supportedUsageClasses`,Ty=`sourceVolumeId`,Ey=`supportedVirtualizationTypes`,Dy=`supportedVersions`,Oy=`size`,ky=`state`,Ay=`status`,jy=`strategy`,My=`subnet`,Ny=`tcpEstablishedTimeout`,Py=`totalFpgaMemoryInMiB`,Fy=`transitGatewayId`,Iy=`totalGpuMemoryInMiB`,Ly=`totalInferenceMemoryInMiB`,Ry=`targetIops`,zy=`totalLocalStorageGB`,By=`targetMultiAttachEnabled`,Vy=`totalMediaMemoryInMiB`,Hy=`totalNeuronDeviceMemoryInMiB`,Uy=`toPort`,Wy=`threadsPerCore`,Gy=`tagSet`,Ky=`totalSizeInGB`,qy=`tagSpecificationSet`,Jy=`targetSize`,Yy=`tpmSupport`,Xy=`targetThroughput`,Zy=`transferType`,Qy=`targetVolumeType`,$y=`tenancy`,eb=`throughput`,tb=`timestamp`,nb=`type`,rb=`unsuccessfullyDeletedLaunchTemplateVersionSet`,ib=`userData`,ab=`userId`,ob=`unknownIpPermissionSet`,sb=`usageOperation`,cb=`usageOperationUpdateTime`,lb=`udpStreamTimeout`,ub=`udpTimeout`,db=`value`,fb=`vCpuCount`,pb=`vCpuInfo`,mb=`validCores`,hb=`versionDescription`,gb=`vpcEncryptionControlId`,_b=`vpcEndpointId`,vb=`vpcId`,yb=`volumeInitializationRate`,bb=`volumeId`,xb=`vpcLattice`,Sb=`volumeModification`,Cb=`virtualName`,wb=`versionNumber`,Tb=`volumeOwnerId`,Eb=`vpcPeering`,Db=`vpcPeeringConnectionId`,Ob=`virtualPrivateGateway`,kb=`volumeSet`,Ab=`volumeSize`,jb=`vpcSet`,Mb=`volumeType`,Nb=`validThreadsPerCore`,Pb=`virtualizationType`,Fb=`validUntil`,Ib=`version`,Lb=`vpc`,Rb=`warning`,zb=`watermarkCreationTime`,Bb=`watermarkKey`,Vb=`workloadSet`,h=`xmlName`,Hb=`zoneId`,Ub=`zoneName`,Wb=`zoneState`,Gb=`zoneType`,g=`com.amazonaws.ec2`,Kb=ct.for(Dv),qb=[-3,Dv,`EC2ServiceException`,0,[],[]];Kb.registerError(qb,Mne);var Jb=[Kb],Yb=[0,g,qie,8,0],Xb=[0,g,fue,8,0],Zb=[0,g,gfe,8,0],Qb=[0,g,cme,8,0],$b=[3,g,Kr,0,[Ou,Ju],[[1,{[p]:`Min`,[h]:ag}],[1,{[p]:`Max`,[h]:gg}]]],ex=[3,g,Une,0,[Ou,Ju],[1,1]],tx=[3,g,li,0,[Ou,Ju],[[1,{[p]:`Min`,[h]:ag}],[1,{[p]:`Max`,[h]:gg}]]],nx=[3,g,Ere,0,[Ou,Ju],[1,1]],rx=[3,g,Gr,0,[Zr,$r,ho,sd,Zue,Rd,Xf,Bd,ed,Yi,Xi,Hi,Af,Ype,Sl,Id],[[0,{[p]:`AllocationId`,[h]:zp}],[0,{[p]:`AssociationId`,[h]:Vp}],[0,{[p]:`Domain`,[h]:zm}],[0,{[p]:`NetworkInterfaceId`,[h]:jg}],[0,{[p]:`NetworkInterfaceOwnerId`,[h]:Mg}],[0,{[p]:`PrivateIpAddress`,[h]:w_}],[()=>EA,{[p]:`TagSet`,[h]:Gy}],[0,{[p]:`PublicIpv4Pool`,[h]:T_}],[0,{[p]:`NetworkBorderGroup`,[h]:xg}],[0,{[p]:`CustomerOwnedIp`,[h]:bm}],[0,{[p]:`CustomerOwnedIpv4Pool`,[h]:xm}],[0,{[p]:`CarrierIp`,[h]:hm}],[0,{[p]:`SubnetId`,[h]:ny}],[0,{[p]:`ServiceManaged`,[h]:iy}],[0,{[p]:`InstanceId`,[h]:jh}],[0,{[p]:`PublicIp`,[h]:b_}]]],ix=[3,g,Nne,0,[ho,Gr,Bd,ed,Xi,np,wse,d],[0,0,0,0,0,[()=>DA,{[h]:rp}],0,[2,{[p]:`DryRun`,[h]:f}]]],ax=[3,g,Pne,0,[Zr,Bd,ed,ho,Yi,Xi,Hi,Id],[[0,{[p]:`AllocationId`,[h]:zp}],[0,{[p]:`PublicIpv4Pool`,[h]:T_}],[0,{[p]:`NetworkBorderGroup`,[h]:xg}],[0,{[p]:`Domain`,[h]:zm}],[0,{[p]:`CustomerOwnedIp`,[h]:bm}],[0,{[p]:`CustomerOwnedIpv4Pool`,[h]:xm}],[0,{[p]:`CarrierIp`,[h]:hm}],[0,{[p]:`PublicIp`,[h]:b_}]]],ox=[3,g,Fne,0,[Zr,Sl,Id,d,sd,Rd,hre],[0,0,0,[2,{[p]:`DryRun`,[h]:f}],[0,{[p]:`NetworkInterfaceId`,[h]:jg}],[0,{[p]:`PrivateIpAddress`,[h]:w_}],[2,{[p]:`AllowReassociation`,[h]:Zhe}]]],sx=[3,g,Ine,0,[$r],[[0,{[p]:`AssociationId`,[h]:Vp}]]],cx=[3,g,Yne,0,[Ol,Sl],[[()=>lw,0],0],2],lx=[3,g,Xne,0,[kl],[[()=>cw,{[p]:`IamInstanceProfileAssociation`,[h]:Nh}]]],ux=[3,g,fre,0,[cf,oc,Bd,d,Af],[[0,{[p]:`RouteTableId`,[h]:yv}],0,0,[2,{[p]:`DryRun`,[h]:f}],[0,{[p]:`SubnetId`,[h]:ny}]],1],dx=[3,g,pre,0,[$r,ci],[[0,{[p]:`AssociationId`,[h]:Vp}],[()=>lD,{[p]:`AssociationState`,[h]:Kp}]]],fx=[3,g,qne,0,[ml,Sp,d],[[0,{[p]:`InternetGatewayId`,[h]:Ah}],[0,{[p]:`VpcId`,[h]:vb}],[2,{[p]:`DryRun`,[h]:f}]],2],px=[3,g,kre,0,[po,Sl,wp,yo,d],[0,0,0,1,[2,{[p]:`DryRun`,[h]:f}]],3],mx=[3,g,Hne,0,[gp],[[2,{[p]:`Value`,[h]:db}]]],hx=[3,g,Are,0,[gp],[[0,{[p]:`Value`,[h]:db}]]],gx=[3,g,vre,0,[uc,np,d,Bf,Vf,Yl,Ws,ep,Ui,Jl],[[0,{[p]:`GroupId`,[h]:sh}],[()=>DA,{[h]:rp}],[2,{[p]:`DryRun`,[h]:f}],[0,{[p]:`SourceSecurityGroupName`,[h]:hy}],[0,{[p]:`SourceSecurityGroupOwnerId`,[h]:gy}],[0,{[p]:`IpProtocol`,[h]:zh}],[1,{[p]:`FromPort`,[h]:ih}],[1,{[p]:`ToPort`,[h]:Uy}],[0,{[p]:`CidrIp`,[h]:gm}],[()=>lk,{[p]:`IpPermissions`,[h]:Bh}]],1],_x=[3,g,yre,0,[Xd,_f],[[2,{[p]:`Return`,[h]:J_}],[()=>vA,{[p]:`SecurityGroupRuleSet`,[h]:Vv}]]],vx=[3,g,bre,0,[Ui,Ws,uc,mc,Jl,Yl,Bf,Vf,ep,np,d],[0,1,0,0,[()=>lk,0],0,0,0,1,[()=>DA,{[h]:rp}],[2,{[p]:`DryRun`,[h]:f}]]],yx=[3,g,xre,0,[Xd,_f],[[2,{[p]:`Return`,[h]:J_}],[()=>vA,{[p]:`SecurityGroupRuleSet`,[h]:Vv}]]],bx=[3,g,fi,0,[bd,kue,of,Rp,Lp,mc,ed,Phe,Xde,Yde,pc,yc,hpe,Kf],[[0,{[p]:`OptInStatus`,[h]:Xg}],[()=>sO,{[p]:`MessageSet`,[h]:pye}],[0,{[p]:`RegionName`,[h]:pv}],[0,{[p]:`ZoneName`,[h]:Ub}],[0,{[p]:`ZoneId`,[h]:Hb}],[0,{[p]:`GroupName`,[h]:ch}],[0,{[p]:`NetworkBorderGroup`,[h]:xg}],[0,{[p]:`ZoneType`,[h]:Gb}],[0,{[p]:`ParentZoneName`,[h]:H_}],[0,{[p]:`ParentZoneId`,[h]:V_}],[0,{[p]:`GroupLongName`,[h]:B_e}],[()=>aO,{[p]:`GeographySet`,[h]:lh}],[()=>cO,{[p]:`SubGeographySet`,[h]:Hv}],[0,{[p]:`ZoneState`,[h]:Wb}]]],xx=[3,g,pi,0,[fi,hi,Qr],[0,0,[()=>eO,{[h]:Zr}]]],Sx=[3,g,Mre,0,[$u],[[0,{[p]:`Name`,[h]:bg}]]],Cx=[3,g,Fre,0,[Xu],[[0,{[p]:`Message`,[h]:vg}]]],wx=[3,g,Lre,0,[$u],[[0,{[p]:`Name`,[h]:bg}]]],Tx=[3,g,Di,0,[Ou,Ju],[[1,{[p]:`Min`,[h]:ag}],[1,{[p]:`Max`,[h]:gg}]]],Ex=[3,g,qre,0,[Ou,Ju],[1,1]],Dx=[3,g,Ni,0,[da],[[()=>Ux,{[p]:`Cpu`,[h]:Mge}]]],Ox=[3,g,Yre,0,[da],[[()=>Wx,0]]],kx=[3,g,Ure,0,[gp],[[21,{[p]:`Value`,[h]:db}]]],Ax=[3,g,wi,0,[As,rd,_a,Ep],[[()=>NC,{[p]:`Ebs`,[h]:$m}],[0,{[p]:`NoDevice`,[h]:Cg}],[0,{[p]:`DeviceName`,[h]:Im}],[0,{[p]:`VirtualName`,[h]:Cb}]]],jx=[3,g,Mi,0,[fl],[[0,{[p]:`InternetGatewayBlockMode`,[h]:tve}]]],Mx=[3,g,ea,0,[Qi,ta],[0,()=>Px]],Nx=[3,g,Lie,0,[Qi,ta],[[0,{[p]:`CapacityReservationPreference`,[h]:Cm}],[()=>Fx,{[p]:`CapacityReservationTarget`,[h]:Tm}]]],Px=[3,g,ta,0,[Zi,$i],[0,0]],Fx=[3,g,Rie,0,[Zi,$i],[[0,{[p]:`CapacityReservationId`,[h]:Sm}],[0,{[p]:`CapacityReservationResourceGroupArn`,[h]:Ege}]]],Ix=[3,g,aa,0,[Zf,hp,mp],[[1,{[p]:`TcpEstablishedTimeout`,[h]:Ny}],[1,{[p]:`UdpTimeout`,[h]:ub}],[1,{[p]:`UdpStreamTimeout`,[h]:lb}]]],Lx=[3,g,rae,0,[Zf,mp,hp],[1,1,1]],Rx=[3,g,iae,0,[Zf,mp,hp],[[1,{[p]:`TcpEstablishedTimeout`,[h]:Ny}],[1,{[p]:`UdpStreamTimeout`,[h]:lb}],[1,{[p]:`UdpTimeout`,[h]:ub}]]],zx=[3,g,Kie,0,[nme,rme,fo,Aoe,Sa,Ms,du,Gde,np,Bi,hae,d],[0,0,0,0,[0,{[p]:`DestinationRegion`,[h]:Wge}],[2,{[p]:`Encrypted`,[h]:th}],[0,{[p]:`KmsKeyId`,[h]:Zh}],[()=>Yb,{[p]:`PresignedUrl`,[h]:z_}],[()=>DA,{[h]:rp}],1,0,[2,{[p]:`DryRun`,[h]:f}]],2],Bx=[3,g,Jie,0,[Xf,kf],[[()=>EA,{[p]:`TagSet`,[h]:Gy}],[0,{[p]:`SnapshotId`,[h]:ty}]]],Vx=[3,g,Ji,0,[Ri,tp,si,gd],[[1,{[p]:`CoreCount`,[h]:mm}],[1,{[p]:`ThreadsPerCore`,[h]:Wy}],[0,{[p]:`AmdSevSnp`,[h]:qp}],[0,{[p]:`NestedVirtualization`,[h]:Wg}]]],Hx=[3,g,kie,0,[Ri,tp,si,gd],[1,1,0,0]],Ux=[3,g,Aie,0,[df],[[()=>qk,{[p]:`ReferenceSet`,[h]:hv}]]],Wx=[3,g,jie,0,[df],[[()=>Jk,{[h]:Xfe}]]],Gx=[3,g,fie,0,[Sl,$u,np,Kpe,d,fo,$ue,Ti],[[0,{[p]:`InstanceId`,[h]:jh}],[0,{[p]:`Name`,[h]:bg}],[()=>DA,{[h]:rp}],0,[2,{[p]:`DryRun`,[h]:f}],[0,{[p]:`Description`,[h]:Rm}],[2,{[p]:`NoReboot`,[h]:zg}],[()=>fO,{[p]:`BlockDeviceMapping`,[h]:am}]],2],Kx=[3,g,pie,0,[Fl],[[0,{[p]:`ImageId`,[h]:Fh}]]],qx=[3,g,uie,0,[np,d],[[()=>DA,{[h]:rp}],[2,{[p]:`DryRun`,[h]:f}]]],Jx=[3,g,die,0,[ll],[[()=>Yw,{[p]:`InternetGateway`,[h]:kh}]]],Yx=[3,g,_ie,0,[fu,mu,np,bce,d],[0,0,[()=>DA,{[h]:rp}],0,[2,{[p]:`DryRun`,[h]:f}]],1],Xx=[3,g,yie,0,[Tu,Cu,d,ra,yp,Sd,np],[0,[()=>ZE,0],2,[0,4],0,()=>OE,[()=>DA,{[h]:rp}]],2],Zx=[3,g,bie,0,[Su,Ip],[[()=>oT,{[p]:`LaunchTemplate`,[h]:ng}],[()=>PD,{[p]:`Warning`,[h]:Rb}]]],Qx=[3,g,Sie,0,[Cu,d,ra,wu,Tu,lme,yp,Zd],[[()=>ZE,0],2,[0,4],0,0,0,0,2],1],$x=[3,g,Cie,0,[Du,Ip],[[()=>XT,{[p]:`LaunchTemplateVersion`,[h]:Yve}],[()=>PD,{[p]:`Warning`,[h]:Rb}]]],eS=[3,g,Die,0,[ni,Zr,ra,d,Af,Sp,mi,np,oa,Rd,ipe,$pe,Rf],[0,0,[0,4],2,0,0,[()=>iO,{[h]:pi}],[()=>DA,{[h]:rp}],0,0,[()=>eO,{[h]:ape}],[()=>ck,{[h]:eme}],1]],tS=[3,g,Oie,0,[ra,id],[[0,{[p]:`ClientToken`,[h]:Em}],[()=>mE,{[p]:`NatGateway`,[h]:Eg}]]],nS=[3,g,Nie,0,[Ed,np,jf,_u,Sd,Pd,d,mc,Jf],[1,[()=>DA,{[h]:rp}],0,0,()=>OE,0,[2,{[p]:`DryRun`,[h]:f}],[0,{[p]:`GroupName`,[h]:ch}],[0,{[p]:`Strategy`,[h]:jy}]]],rS=[3,g,Pie,0,[Nd],[[()=>NE,{[p]:`PlacementGroup`,[h]:g_}]]],iS=[3,g,Fie,0,[cf,ya,xp,Qf,gu,Vi,qi,xd,d,ma,oc,ga,ss,Sl,sd,Op,ad],[[0,{[p]:`RouteTableId`,[h]:yv}],0,0,0,0,0,0,0,[2,{[p]:`DryRun`,[h]:f}],[0,{[p]:`DestinationCidrBlock`,[h]:Nm}],[0,{[p]:`GatewayId`,[h]:oh}],[0,{[p]:`DestinationIpv6CidrBlock`,[h]:Fm}],[0,{[p]:`EgressOnlyInternetGatewayId`,[h]:Hm}],[0,{[p]:`InstanceId`,[h]:jh}],[0,{[p]:`NetworkInterfaceId`,[h]:jg}],[0,{[p]:`VpcPeeringConnectionId`,[h]:Db}],[0,{[p]:`NatGatewayId`,[h]:Og}]],1],aS=[3,g,Iie,0,[Xd],[[2,{[p]:`Return`,[h]:J_}]]],oS=[3,g,zie,0,[Sp,np,ra,d],[[0,{[p]:`VpcId`,[h]:vb}],[()=>DA,{[h]:rp}],[0,4],[2,{[p]:`DryRun`,[h]:f}]],1],sS=[3,g,Bie,0,[uf,ra],[[()=>sD,{[p]:`RouteTable`,[h]:Cv}],[0,{[p]:`ClientToken`,[h]:Em}]]],cS=[3,g,Wie,0,[fo,mc,Sp,np,d],[[0,{[h]:nc}],0,0,[()=>DA,{[h]:rp}],[2,{[p]:`DryRun`,[h]:f}]],2],lS=[3,g,Gie,0,[uc,Xf,mf],[[0,{[p]:`GroupId`,[h]:sh}],[()=>EA,{[p]:`TagSet`,[h]:Gy}],[0,{[p]:`SecurityGroupArn`,[h]:Iv}]]],uS=[3,g,Yie,0,[wp,fo,_d,np,$le,d],[0,0,0,[()=>DA,{[h]:rp}],0,[2,{[p]:`DryRun`,[h]:f}]],1],dS=[3,g,Xie,0,[Sp,np,fi,hi,Ii,Zc,_d,Vl,Nl,Wl,Ml,Ul,d],[0,[()=>DA,{[h]:rp}],0,0,0,0,0,2,0,1,0,1,[2,{[p]:`DryRun`,[h]:f}]],1],fS=[3,g,Zie,0,[Yf],[[()=>CD,{[p]:`Subnet`,[h]:My}]]],pS=[3,g,oae,0,[fi,hi,Ms,cu,du,_d,Gf,kf,Ap,np,ku,sp,ra,Cp,Sd,d],[0,0,[2,{[p]:`Encrypted`,[h]:th}],1,0,0,1,0,0,[()=>DA,{[h]:rp}],2,1,[0,4],1,()=>OE,[2,{[p]:`DryRun`,[h]:f}]]],mS=[3,g,sae,0,[Ii,Zl,Zc,Nl,Wl,Ml,Ul,$c,bp,np,d,au,lre],[0,0,0,0,1,0,1,0,()=>GD,[()=>DA,{[h]:rp}],[2,{[p]:`DryRun`,[h]:f}],[0,{[p]:`InstanceTenancy`,[h]:Kh}],[2,{[p]:`AmazonProvidedIpv6CidrBlock`,[h]:Jhe}]]],hS=[3,g,cae,0,[Fp],[[()=>VD,{[p]:`Vpc`,[h]:Lb}]]],gS=[3,g,na,0,[zi],[[0,{[p]:`CpuCredits`,[h]:_ge}]]],_S=[3,g,Qie,0,[zi],[0],1],vS=[3,g,xae,0,[Wa,Ya,Ja],[[1,{[p]:`DefaultTcpEstablishedTimeout`,[h]:Kge}],[1,{[p]:`DefaultUdpTimeout`,[h]:Zge}],[1,{[p]:`DefaultUdpStreamTimeout`,[h]:Xge}]]],yS=[3,g,Oae,0,[ml,d],[[0,{[p]:`InternetGatewayId`,[h]:Ah}],[2,{[p]:`DryRun`,[h]:f}]],1],bS=[3,g,toe,0,[fu,pu,d],[0,0,[2,{[p]:`DryRun`,[h]:f}]]],xS=[3,g,noe,0,[Xd,pu],[[2,{[p]:`Return`,[h]:J_}],[0,{[p]:`KeyPairId`,[h]:$h}]]],SS=[3,g,coe,0,[d,wu,Tu],[2,0,0]],CS=[3,g,loe,0,[Su],[[()=>oT,{[p]:`LaunchTemplate`,[h]:ng}]]],wS=[3,g,poe,0,[Np,d,wu,Tu],[[()=>MA,{[h]:Du}],2,0,0],1],TS=[3,g,moe,0,[wu,Tu,Dp,nf],[[0,{[p]:`LaunchTemplateId`,[h]:rg}],[0,{[p]:`LaunchTemplateName`,[h]:ig}],[1,{[p]:`VersionNumber`,[h]:wb}],[()=>$E,{[p]:`ResponseError`,[h]:$_}]]],ES=[3,g,goe,0,[wu,Tu,Dp],[[0,{[p]:`LaunchTemplateId`,[h]:rg}],[0,{[p]:`LaunchTemplateName`,[h]:ig}],[1,{[p]:`VersionNumber`,[h]:wb}]]],DS=[3,g,voe,0,[fpe,Rme],[[()=>_O,{[p]:`SuccessfullyDeletedLaunchTemplateVersionSet`,[h]:Nv}],[()=>gO,{[p]:`UnsuccessfullyDeletedLaunchTemplateVersionSet`,[h]:rb}]]],OS=[3,g,Toe,0,[ad,d],[[0,{[h]:ad}],2],1],kS=[3,g,Eoe,0,[ad],[[0,{[p]:`NatGatewayId`,[h]:Og}]]],AS=[3,g,Noe,0,[mc,d],[[0,{[p]:`GroupName`,[h]:ch}],[2,{[p]:`DryRun`,[h]:f}]],1],jS=[3,g,Roe,0,[cf,ya,d,ma,ga],[[0,{[p]:`RouteTableId`,[h]:yv}],0,[2,{[p]:`DryRun`,[h]:f}],[0,{[p]:`DestinationCidrBlock`,[h]:Nm}],[0,{[p]:`DestinationIpv6CidrBlock`,[h]:Fm}]],1],MS=[3,g,Hoe,0,[cf,d],[[0,{[p]:`RouteTableId`,[h]:yv}],[2,{[p]:`DryRun`,[h]:f}]],1],NS=[3,g,Ea,0,[uc,mc,d],[0,0,[2,{[p]:`DryRun`,[h]:f}]]],PS=[3,g,Da,0,[Xd,uc],[[2,{[p]:`Return`,[h]:J_}],[0,{[p]:`GroupId`,[h]:sh}]]],FS=[3,g,ja,0,[kf,d],[0,[2,{[p]:`DryRun`,[h]:f}]],1],IS=[3,g,Ma,0,[kf,rfe],[[0,{[p]:`SnapshotId`,[h]:ty}],[0,{[p]:`ReturnCode`,[h]:Y_}]]],LS=[3,g,Pa,0,[Af,d],[0,[2,{[p]:`DryRun`,[h]:f}]],1],RS=[3,g,Qa,0,[wp,d],[0,[2,{[p]:`DryRun`,[h]:f}]],1],zS=[3,g,$a,0,[Sp,d],[0,[2,{[p]:`DryRun`,[h]:f}]],1],BS=[3,g,Vae,0,[Fl,mae,d],[0,2,[2,{[p]:`DryRun`,[h]:f}]],1],VS=[3,g,Hae,0,[Xd,Fa],[[2,{[p]:`Return`,[h]:J_}],[()=>vO,{[p]:`DeleteSnapshotResultSet`,[h]:Gge}]]],HS=[3,g,dae,0,[Ide,d,Js,Qr],[[()=>nA,{[h]:Id}],[2,{[p]:`DryRun`,[h]:f}],[()=>AO,{[h]:Ys}],[()=>eO,{[h]:Zr}]]],US=[3,g,fae,0,[Bre],[[()=>$D,{[p]:`AddressesSet`,[h]:$he}]]],WS=[3,g,gae,0,[Nhe,jhe,Lne,d,Js],[[()=>UA,{[h]:Rp}],[()=>HA,{[h]:Lp}],2,[2,{[p]:`DryRun`,[h]:f}],[()=>AO,{[h]:Ys}]]],GS=[3,g,_ae,0,[zre],[[()=>oO,{[p]:`AvailabilityZoneInfo`,[h]:ige}]]],KS=[3,g,Iae,0,[tre,Js,Uu,hd],[[()=>rO,{[h]:$r}],[()=>AO,{[h]:Ys}],1,0]],qS=[3,g,Lae,0,[jl,hd],[[()=>IO,{[p]:`IamInstanceProfileAssociationSet`,[h]:ave}],[0,{[p]:`NextToken`,[h]:Ug}]]],JS=[3,g,Uae,0,[ks,$oe,mde,tl,al,Uu,hd,d,Js],[[()=>kO,{[h]:vo}],[()=>LO,{[h]:Fl}],[()=>Kk,{[h]:Cd}],2,2,1,0,[2,{[p]:`DryRun`,[h]:f}],[()=>AO,{[h]:Ys}]]],YS=[3,g,Wae,0,[hd,hce],[[0,{[p]:`NextToken`,[h]:Ug}],[()=>RO,{[p]:`ImagesSet`,[h]:Dve}]]],XS=[3,g,Gae,0,[Il,zl,d,Js,hd,Uu],[[()=>WO,{[h]:Sl}],2,[2,{[p]:`DryRun`,[h]:f}],[()=>AO,{[h]:Ys}],[0,{[p]:`NextToken`,[h]:Ug}],[1,{[p]:`MaxResults`,[h]:pg}]]],ZS=[3,g,Kae,0,[hd,epe],[[0,{[p]:`NextToken`,[h]:Ug}],[()=>oA,{[p]:`ReservationSet`,[h]:gv}]]],QS=[3,g,qae,0,[d,ou,Js,Uu,hd,dce],[2,[64,{[h]:iu}],[()=>AO,{[h]:Ys}],1,0,2]],$S=[3,g,Jae,0,[ou,hd],[[()=>ik,{[p]:`InstanceTypeSet`,[h]:Mve}],[0,{[p]:`NextToken`,[h]:Ug}]]],eC=[3,g,kae,0,[hd,Uu,d,gl,Js],[0,1,[2,{[p]:`DryRun`,[h]:f}],[()=>ok,{[p]:`InternetGatewayId`,[h]:Ah}],[()=>AO,{[h]:Ys}]]],tC=[3,g,Aae,0,[yl,hd],[[()=>sk,{[p]:`InternetGatewaySet`,[h]:nve}],[0,{[p]:`NextToken`,[h]:Ug}]]],nC=[3,g,roe,0,[Cce,Ece,Ose,d,Js],[[()=>gk,{[h]:fu}],[()=>_k,{[h]:pu}],2,[2,{[p]:`DryRun`,[h]:f}],[()=>AO,{[h]:Ys}]]],rC=[3,g,ioe,0,[wce],[[()=>vk,{[p]:`KeySet`,[h]:Rve}]]],iC=[3,g,uoe,0,[d,wle,Ple,Js,hd,Uu,zl],[2,[()=>Ck,{[h]:wu}],[()=>Ak,{[h]:Tu}],[()=>AO,{[h]:Ys}],0,1,2]],aC=[3,g,doe,0,[Jle,hd],[[()=>jk,{[p]:`LaunchTemplates`,[h]:Zve}],[0,{[p]:`NextToken`,[h]:Ug}]]],oC=[3,g,yoe,0,[d,wu,Tu,Np,Sue,Tue,hd,Uu,Js,Zd,zl],[2,0,0,[()=>MA,{[h]:Du}],0,0,0,1,[()=>AO,{[h]:Ys}],2,2]],sC=[3,g,boe,0,[qle,hd],[[()=>Pk,{[p]:`LaunchTemplateVersionSet`,[h]:Xve}],[0,{[p]:`NextToken`,[h]:Ug}]]],cC=[3,g,Doe,0,[d,Ys,Uu,que,hd],[2,[()=>AO,0],1,[()=>Vk,{[h]:ad}],0]],lC=[3,g,Ooe,0,[Yue,hd],[[()=>Hk,{[p]:`NatGatewaySet`,[h]:kg}],[0,{[p]:`NextToken`,[h]:Ug}]]],uC=[3,g,Poe,0,[dc,d,gc,Js],[[()=>Yk,{[h]:uc}],[2,{[p]:`DryRun`,[h]:f}],[64,{[p]:`GroupName`,[h]:ch}],[()=>AO,{[h]:Ys}]]],dC=[3,g,Foe,0,[Ade],[[()=>Xk,{[p]:`PlacementGroupSet`,[h]:y_}]]],fC=[3,g,zoe,0,[Afe,gre,d,Js],[[()=>aA,{[h]:of}],2,[2,{[p]:`DryRun`,[h]:f}],[()=>AO,{[h]:Ys}]]],pC=[3,g,Boe,0,[Zfe],[[()=>iA,{[p]:`RegionInfo`,[h]:lv}]]],mC=[3,g,Uoe,0,[hd,Uu,d,Gfe,Js],[0,1,[2,{[p]:`DryRun`,[h]:f}],[()=>dA,{[h]:cf}],[()=>AO,{[h]:Ys}]]],hC=[3,g,Woe,0,[Jfe,hd],[[()=>fA,{[p]:`RouteTableSet`,[h]:bv}],[0,{[p]:`NextToken`,[h]:Ug}]]],gC=[3,g,Oa,0,[dc,gc,hd,Uu,d,Js],[[()=>PO,{[h]:uc}],[()=>FO,{[h]:mc}],0,1,[2,{[p]:`DryRun`,[h]:f}],[()=>AO,{[h]:Ys}]]],_C=[3,g,ka,0,[hd,bf],[[0,{[p]:`NextToken`,[h]:Ug}],[()=>gA,{[p]:`SecurityGroupInfo`,[h]:Rv}]]],vC=[3,g,Ia,0,[Uu,hd,ade,tfe,Vpe,d,Js],[1,0,[()=>Kk,{[h]:Cd}],[64,{[h]:nfe}],[()=>bA,{[h]:kf}],[2,{[p]:`DryRun`,[h]:f}],[()=>AO,{[h]:Ys}]]],yC=[3,g,La,0,[hd,pme],[[0,{[p]:`NextToken`,[h]:Ug}],[()=>xA,{[p]:`SnapshotSet`,[h]:vy}]]],bC=[3,g,Ra,0,[Js,Cpe,hd,Uu,d],[[()=>AO,{[h]:Ys}],[()=>SA,{[h]:Af}],0,1,[2,{[p]:`DryRun`,[h]:f}]]],xC=[3,g,za,0,[hd,hme],[[0,{[p]:`NextToken`,[h]:Ug}],[()=>wA,{[p]:`SubnetSet`,[h]:yy}]]],SC=[3,g,eo,0,[ohe,zl,d,Js,hd,Uu],[[()=>FA,{[h]:wp}],2,[2,{[p]:`DryRun`,[h]:f}],[()=>AO,{[h]:Ys}],[0,{[p]:`NextToken`,[h]:Ug}],[1,{[p]:`MaxResults`,[h]:pg}]]],CC=[3,g,to,0,[hd,Che],[[0,{[p]:`NextToken`,[h]:Ug}],[()=>IA,{[p]:`VolumeSet`,[h]:kb}]]],wC=[3,g,no,0,[Js,she,hd,Uu,d],[[()=>AO,{[h]:Ys}],[()=>RA,{[h]:Sp}],0,1,[2,{[p]:`DryRun`,[h]:f}]]],TC=[3,g,ro,0,[hd,The],[[0,{[p]:`NextToken`,[h]:Ug}],[()=>BA,{[p]:`VpcSet`,[h]:jb}]]],EC=[3,g,jae,0,[ml,Sp,d],[[0,{[p]:`InternetGatewayId`,[h]:Ah}],[0,{[p]:`VpcId`,[h]:vb}],[2,{[p]:`DryRun`,[h]:f}]],2],DC=[3,g,io,0,[wp,po,Fs,Sl,d],[0,0,2,0,[2,{[p]:`DryRun`,[h]:f}]],1],OC=[3,g,pae,0,[$r,Id,d],[0,0,[2,{[p]:`DryRun`,[h]:f}]]],kC=[3,g,Rae,0,[$r],[0],1],AC=[3,g,zae,0,[kl],[[()=>cw,{[p]:`IamInstanceProfileAssociation`,[h]:Nh}]]],jC=[3,g,Goe,0,[$r,d],[[0,{[p]:`AssociationId`,[h]:Vp}],[2,{[p]:`DryRun`,[h]:f}]],1],MC=[3,g,$ae,0,[Dpe,ua,lp],[[1,{[p]:`SizeInGB`,[h]:Gv}],[1,{[p]:`Count`,[h]:jm}],[0,{[p]:`Type`,[h]:nb}]]],NC=[3,g,go,0,[va,cu,kf,kp,Ap,du,sp,_d,fi,Ms,Cp,hi,yo],[[2,{[p]:`DeleteOnTermination`,[h]:Lm}],[1,{[p]:`Iops`,[h]:Jh}],[0,{[p]:`SnapshotId`,[h]:ty}],[1,{[p]:`VolumeSize`,[h]:Ab}],[0,{[p]:`VolumeType`,[h]:Mb}],[0,{[p]:`KmsKeyId`,[h]:Zh}],[1,{[p]:`Throughput`,[h]:eb}],[0,{[p]:`OutpostArn`,[h]:Kg}],[0,{[p]:`AvailabilityZone`,[h]:Xp}],[2,{[p]:`Encrypted`,[h]:th}],1,0,1]],PC=[3,g,xo,0,[yo,Ci,Pi,Oi,Mu,Ku,Fu],[[1,{[p]:`EbsCardIndex`,[h]:Bm}],[1,{[p]:`BaselineBandwidthInMbps`,[h]:im}],[1,{[p]:`BaselineThroughputInMBps`,[h]:um}],[1,{[p]:`BaselineIops`,[h]:om}],[1,{[p]:`MaximumBandwidthInMbps`,[h]:sg}],[1,{[p]:`MaximumThroughputInMBps`,[h]:hg}],[1,{[p]:`MaximumIops`,[h]:cg}]]],FC=[3,g,es,0,[ls,Ts,is,pd,aue,rre,oue,So],[[0,{[p]:`EbsOptimizedSupport`,[h]:E_e}],[0,{[p]:`EncryptionSupport`,[h]:Zm}],[()=>RC,{[p]:`EbsOptimizedInfo`,[h]:w_e}],[0,{[p]:`NvmeSupport`,[h]:Bg}],[1,{[p]:`MaximumEbsAttachments`,[h]:rye}],[0,{[p]:`AttachmentLimitType`,[h]:Whe}],[1,{[p]:`MaximumEbsCards`,[h]:iye}],[()=>bO,{[p]:`EbsCardSet`,[h]:r_e}]]],IC=[3,g,Jo,0,[di,va,qf,wp,ai,fhe,Sd,yo],[[4,{[p]:`AttachTime`,[h]:Yp}],[2,{[p]:`DeleteOnTermination`,[h]:Lm}],[0,{[p]:`Status`,[h]:Ay}],[0,{[p]:`VolumeId`,[h]:bb}],[0,{[p]:`AssociatedResource`,[h]:Wp}],[0,{[p]:`VolumeOwnerId`,[h]:Tb}],[()=>kE,{[p]:`Operator`,[h]:r_}],[1,{[p]:`EbsCardIndex`,[h]:Bm}]]],LC=[3,g,Yo,0,[wp,va],[[0,{[p]:`VolumeId`,[h]:bb}],[2,{[p]:`DeleteOnTermination`,[h]:Lm}]]],RC=[3,g,is,0,[Ci,Pi,Oi,Mu,Ku,Fu],[[1,{[p]:`BaselineBandwidthInMbps`,[h]:im}],[1,{[p]:`BaselineThroughputInMBps`,[h]:um}],[1,{[p]:`BaselineIops`,[h]:om}],[1,{[p]:`MaximumBandwidthInMbps`,[h]:sg}],[1,{[p]:`MaximumThroughputInMBps`,[h]:hg}],[1,{[p]:`MaximumIops`,[h]:cg}]]],zC=[3,g,ts,0,[sue],[[1,{[p]:`MaximumEfaInterfaces`,[h]:aye}]]],BC=[3,g,Do,0,[No,Oo,Ao,jo],[[0,{[p]:`ElasticGpuId`,[h]:d_e}],[0,{[p]:`ElasticGpuAssociationId`,[h]:s_e}],[0,{[p]:`ElasticGpuAssociationState`,[h]:c_e}],[0,{[p]:`ElasticGpuAssociationTime`,[h]:u_e}]]],VC=[3,g,Lo,0,[lp],[0],1],HC=[3,g,Fo,0,[lp],[[0,{[p]:`Type`,[h]:nb}]]],UC=[3,g,zo,0,[lp,ua],[0,1],1],WC=[3,g,Bo,0,[Go,Vo,Uo,Wo],[[0,{[p]:`ElasticInferenceAcceleratorArn`,[h]:p_e}],[0,{[p]:`ElasticInferenceAcceleratorAssociationId`,[h]:m_e}],[0,{[p]:`ElasticInferenceAcceleratorAssociationState`,[h]:h_e}],[4,{[p]:`ElasticInferenceAcceleratorAssociationTime`,[h]:__e}]]],GC=[3,g,ys,0,[_s,Ss],[2,()=>KC]],KC=[3,g,Cs,0,[xs],[2]],qC=[3,g,us,0,[js],[[2,{[p]:`Enabled`,[h]:eh}]]],JC=[3,g,cs,0,[js],[2]],YC=[3,g,Ys,0,[$u,She],[0,[()=>jA,{[h]:gp}]]],XC=[3,g,Ls,0,[$u,Yu,ua,Iu],[[0,{[p]:`Name`,[h]:bg}],[0,{[p]:`Manufacturer`,[h]:_g}],[1,{[p]:`Count`,[h]:jm}],[()=>ZC,{[p]:`MemoryInfo`,[h]:lg}]]],ZC=[3,g,zs,0,[Cf],[[1,{[p]:`SizeInMiB`,[h]:Yv}]]],QC=[3,g,Vs,0,[Xs,gme],[[()=>jO,{[p]:`Fpgas`,[h]:I_e}],[1,{[p]:`TotalFpgaMemoryInMiB`,[h]:Py}]]],$C=[3,g,ec,0,[Sl,Zle,d],[0,2,[2,{[p]:`DryRun`,[h]:f}]],1],ew=[3,g,tc,0,[Sl,cp,pde],[[0,{[p]:`InstanceId`,[h]:jh}],[4,{[p]:`Timestamp`,[h]:tb}],[0,{[p]:`Output`,[h]:i_}]]],tw=[3,g,rc,0,[$u,Yu,ua,Fce,vc,khe,Iu],[[0,{[p]:`Name`,[h]:bg}],[0,{[p]:`Manufacturer`,[h]:_g}],[1,{[p]:`Count`,[h]:jm}],[1,{[p]:`LogicalGpuCount`,[h]:Hve}],[1,{[p]:`GpuPartitionSize`,[h]:H_e}],[()=>VA,{[p]:`WorkloadSet`,[h]:Vb}],[()=>nw,{[p]:`MemoryInfo`,[h]:lg}]]],nw=[3,g,ac,0,[Cf],[[1,{[p]:`SizeInMiB`,[h]:Yv}]]],rw=[3,g,lc,0,[bc,_me],[[()=>MO,{[p]:`Gpus`,[h]:U_e}],[1,{[p]:`TotalGpuMemoryInMiB`,[h]:Iy}]]],iw=[3,g,fc,0,[uc,mc],[[0,{[p]:`GroupId`,[h]:sh}],[0,{[p]:`GroupName`,[h]:ch}]]],aw=[3,g,wc,0,[la],[[2,{[p]:`Configured`,[h]:Am}]]],ow=[3,g,Tc,0,[la],[2]],sw=[3,g,Ol,0,[vi,Pc],[[0,{[p]:`Arn`,[h]:em}],[0,{[p]:`Id`,[h]:q_e}]]],cw=[3,g,kl,0,[$r,Sl,Ol,Kf,cp],[[0,{[p]:`AssociationId`,[h]:Vp}],[0,{[p]:`InstanceId`,[h]:jh}],[()=>sw,{[p]:`IamInstanceProfile`,[h]:Mh}],[0,{[p]:`State`,[h]:ky}],[4,{[p]:`Timestamp`,[h]:tb}]]],lw=[3,g,Joe,0,[vi,$u],[[0,{[p]:`Arn`,[h]:em}],[0,{[p]:`Name`,[h]:bg}]]],uw=[3,g,gce,0,[Md,pp,Ti,fo,Es,Nc,yse,$u,$d,ef,Ff,zf,Xf,jp,ki,ip,Ka,nu,kpe,Loe,Lce,Wc,Sf,Tf,qs,Vde,fce,Fl,Ll,Kf,yd,oie,Qde,Dd,yi,uce,uu,af,Kd],[[0,{[p]:`PlatformDetails`,[h]:h_}],[0,{[p]:`UsageOperation`,[h]:sb}],[()=>dO,{[p]:`BlockDeviceMapping`,[h]:am}],[0,{[p]:`Description`,[h]:Rm}],[2,{[p]:`EnaSupport`,[h]:Qm}],[0,{[p]:`Hypervisor`,[h]:dh}],[0,{[p]:`ImageOwnerAlias`,[h]:uve}],[0,{[p]:`Name`,[h]:bg}],[0,{[p]:`RootDeviceName`,[h]:Z_}],[0,{[p]:`RootDeviceType`,[h]:Q_}],[0,{[p]:`SriovNetSupport`,[h]:uy}],[()=>bD,{[p]:`StateReason`,[h]:my}],[()=>EA,{[p]:`TagSet`,[h]:Gy}],[0,{[p]:`VirtualizationType`,[h]:Pb}],[0,{[p]:`BootMode`,[h]:sm}],[0,{[p]:`TpmSupport`,[h]:Yy}],[0,{[p]:`DeprecationTime`,[h]:Jge}],[0,{[p]:`ImdsSupport`,[h]:kve}],[0,{[p]:`SourceInstanceId`,[h]:Kv}],[0,{[p]:`DeregistrationProtection`,[h]:Uge}],[0,{[p]:`LastLaunchedTime`,[h]:Gve}],[2,{[p]:`ImageAllowed`,[h]:Q_e}],[0,{[p]:`SourceImageId`,[h]:Jv}],[0,{[p]:`SourceImageRegion`,[h]:Xv}],[2,{[p]:`FreeTierEligible`,[h]:ah}],[0,{[p]:`PublicSsmParameterName`,[h]:P_}],[()=>zO,{[p]:`ImageWatermarkSet`,[h]:Fve}],[0,{[p]:`ImageId`,[h]:Fh}],[0,{[p]:`ImageLocation`,[h]:ove}],[0,{[p]:`ImageState`,[h]:Ove}],[0,{[p]:`ImageOwnerId`,[h]:dve}],[0,{[p]:`CreationDate`,[h]:yge}],[2,{[p]:`IsPublic`,[h]:bve}],[()=>eA,{[p]:`ProductCodes`,[h]:c_}],[0,{[p]:`Architecture`,[h]:tm}],[0,{[p]:`ImageType`,[h]:Pve}],[0,{[p]:`KernelId`,[h]:Xh}],[0,{[p]:`RamdiskId`,[h]:cv}],[0,{[p]:`Platform`,[h]:U_}]]],dw=[3,g,mce,0,[Dhe,Tf,Sf,Epe,Ehe],[[0,{[p]:`WatermarkKey`,[h]:Bb}],[0,{[p]:`SourceImageRegion`,[h]:Xv}],[0,{[p]:`SourceImageId`,[h]:Jv}],[4,{[p]:`SourceImageCreationTime`,[h]:Wv}],[4,{[p]:`WatermarkCreationTime`,[h]:zb}]]],fw=[3,g,tse,0,[fu,Rde,np,d],[[0,{[p]:`KeyName`,[h]:Qh}],[21,{[p]:`PublicKeyMaterial`,[h]:A_}],[()=>DA,{[h]:rp}],[2,{[p]:`DryRun`,[h]:f}]],2],pw=[3,g,nse,0,[lu,fu,pu,Xf],[[0,{[p]:`KeyFingerprint`,[h]:Yh}],[0,{[p]:`KeyName`,[h]:Qh}],[0,{[p]:`KeyPairId`,[h]:$h}],[()=>EA,{[p]:`TagSet`,[h]:Gy}]]],mw=[3,g,Bc,0,[gi,yme],[[()=>BO,{[p]:`Accelerators`,[h]:Qp}],[1,{[p]:`TotalInferenceMemoryInMiB`,[h]:Ly}]]],hw=[3,g,nl,0,[ua,$u,Yu,Iu],[[1,{[p]:`Count`,[h]:jm}],[0,{[p]:`Name`,[h]:bg}],[0,{[p]:`Manufacturer`,[h]:_g}],[()=>gw,{[p]:`MemoryInfo`,[h]:lg}]]],gw=[3,g,il,0,[Cf],[[1,{[p]:`SizeInMiB`,[h]:Yv}]]],_w=[3,g,_ce,0,[yi,Ti,ra,rs,Es,Nc,Ol,ise,Mo,Ko,cd,_d,$d,ef,bf,ff,Npe,Ff,zf,Xf,jp,Ji,rie,Zi,ea,wc,Qle,zu,us,ki,Md,pp,Hme,kd,Kc,ip,Bu,cie,dd,Sd,Df,Sl,Fl,Kf,Od,jd,ame,fu,nre,Dd,iu,Yle,qd,uu,af,Kd,Qu,Af,Sp,Rd,Nde],[[0,{[p]:`Architecture`,[h]:tm}],[()=>VO,{[p]:`BlockDeviceMapping`,[h]:am}],[0,{[p]:`ClientToken`,[h]:Em}],[2,{[p]:`EbsOptimized`,[h]:Vm}],[2,{[p]:`EnaSupport`,[h]:Qm}],[0,{[p]:`Hypervisor`,[h]:dh}],[()=>sw,{[p]:`IamInstanceProfile`,[h]:Mh}],[0,{[p]:`InstanceLifecycle`,[h]:sve}],[()=>xO,{[p]:`ElasticGpuAssociationSet`,[h]:l_e}],[()=>TO,{[p]:`ElasticInferenceAcceleratorAssociationSet`,[h]:g_e}],[()=>XO,{[p]:`NetworkInterfaceSet`,[h]:Ng}],[0,{[p]:`OutpostArn`,[h]:Kg}],[0,{[p]:`RootDeviceName`,[h]:Z_}],[0,{[p]:`RootDeviceType`,[h]:Q_}],[()=>NO,{[p]:`GroupSet`,[h]:uh}],[2,{[p]:`SourceDestCheck`,[h]:Mv}],[0,{[p]:`SpotInstanceRequestId`,[h]:Zv}],[0,{[p]:`SriovNetSupport`,[h]:uy}],[()=>bD,{[p]:`StateReason`,[h]:my}],[()=>EA,{[p]:`TagSet`,[h]:Gy}],[0,{[p]:`VirtualizationType`,[h]:Pb}],[()=>Vx,{[p]:`CpuOptions`,[h]:ym}],[0,{[p]:`CapacityBlockId`,[h]:hge}],[0,{[p]:`CapacityReservationId`,[h]:Sm}],[()=>Nx,{[p]:`CapacityReservationSpecification`,[h]:wm}],[()=>aw,{[p]:`HibernationOptions`,[h]:mh}],[()=>Fk,{[p]:`LicenseSet`,[h]:tg}],[()=>Aw,{[p]:`MetadataOptions`,[h]:dg}],[()=>qC,{[p]:`EnclaveOptions`,[h]:Um}],[0,{[p]:`BootMode`,[h]:sm}],[0,{[p]:`PlatformDetails`,[h]:h_}],[0,{[p]:`UsageOperation`,[h]:sb}],[4,{[p]:`UsageOperationUpdateTime`,[h]:cb}],[()=>RE,{[p]:`PrivateDnsNameOptions`,[h]:d_}],[0,{[p]:`Ipv6Address`,[h]:wh}],[0,{[p]:`TpmSupport`,[h]:Yy}],[()=>Ew,{[p]:`MaintenanceOptions`,[h]:fg}],[0,{[p]:`CurrentInstanceBootMode`,[h]:Sge}],[()=>Fw,{[p]:`NetworkPerformanceOptions`,[h]:Lg}],[()=>kE,{[p]:`Operator`,[h]:r_}],[()=>$O,{[p]:`SecondaryInterfaceSet`,[h]:$v}],[0,{[p]:`InstanceId`,[h]:jh}],[0,{[p]:`ImageId`,[h]:Fh}],[()=>Gw,{[p]:`InstanceState`,[h]:Ave}],[0,{[p]:`PrivateDnsName`,[h]:p_}],[0,{[p]:`DnsName`,[h]:Bge}],[0,{[p]:`Reason`,[h]:Tv}],[0,{[p]:`KeyName`,[h]:Qh}],[1,{[p]:`AmiLaunchIndex`,[h]:Uhe}],[()=>eA,{[p]:`ProductCodes`,[h]:c_}],[0,{[p]:`InstanceType`,[h]:Gh}],[4,{[p]:`LaunchTime`,[h]:Qve}],[()=>ME,{[p]:`Placement`,[h]:W_}],[0,{[p]:`KernelId`,[h]:Xh}],[0,{[p]:`RamdiskId`,[h]:cv}],[0,{[p]:`Platform`,[h]:U_}],[()=>pE,{[p]:`Monitoring`,[h]:yg}],[0,{[p]:`SubnetId`,[h]:ny}],[0,{[p]:`VpcId`,[h]:vb}],[0,{[p]:`PrivateIpAddress`,[h]:w_}],[0,{[p]:`IpAddress`,[h]:Ch}]]],vw=[3,g,Rc,0,[_s,Ss],[[2,{[p]:`EnaSrdEnabled`,[h]:qm}],[()=>yw,{[p]:`EnaSrdUdpSpecification`,[h]:Xm}]]],yw=[3,g,zc,0,[xs],[[2,{[p]:`EnaSrdUdpEnabled`,[h]:Ym}]]],bw=[3,g,qc,0,[_a,As],[[0,{[p]:`DeviceName`,[h]:Im}],[()=>IC,{[p]:`Ebs`,[h]:$m}]]],xw=[3,g,Yc,0,[_a,As,Ep,rd],[[0,{[p]:`DeviceName`,[h]:Im}],[()=>LC,{[p]:`Ebs`,[h]:$m}],[0,{[p]:`VirtualName`,[h]:Cb}],[0,{[p]:`NoDevice`,[h]:Cg}]]],Sw=[3,g,Yoe,0,[$l],[[0,{[p]:`Ipv4Prefix`,[h]:Vh}]]],Cw=[3,g,Cl,0,[Kc,Dse],[[0,{[p]:`Ipv6Address`,[h]:wh}],[2,{[p]:`IsPrimaryIpv6`,[h]:vve}]]],ww=[3,g,El,0,[Kc],[0]],Tw=[3,g,Xoe,0,[Xl],[[0,{[p]:`Ipv6Prefix`,[h]:Hh}]]],Ew=[3,g,sse,0,[oi,Ofe],[[0,{[p]:`AutoRecovery`,[h]:Gp}],[0,{[p]:`RebootMigration`,[h]:fv}]]],Dw=[3,g,cse,0,[oi],[0]],Ow=[3,g,lse,0,[qu,If],[0,()=>_D]],kw=[3,g,use,0,[Ac,Dc,Sc,Ec,Bl],[0,1,0,0,0]],Aw=[3,g,dse,0,[Kf,Ac,Dc,Sc,Ec,Bl],[[0,{[p]:`State`,[h]:ky}],[0,{[p]:`HttpTokens`,[h]:vh}],[1,{[p]:`HttpPutResponseHopLimit`,[h]:gh}],[0,{[p]:`HttpEndpoint`,[h]:fh}],[0,{[p]:`HttpProtocolIpv6`,[h]:hh}],[0,{[p]:`InstanceMetadataTags`,[h]:Ih}]]],jw=[3,g,fse,0,[bi,xi,fo,Zs,Fc,ju,sd,yd,Od,Rd,zd,ff,qf,Af,Sp,su,Ql,ql,ia,Sd],[[()=>Mw,{[p]:`Association`,[h]:nm}],[()=>Nw,{[p]:`Attachment`,[h]:rm}],[0,{[p]:`Description`,[h]:Rm}],[()=>NO,{[p]:`GroupSet`,[h]:uh}],[()=>KO,{[p]:`Ipv6AddressesSet`,[h]:Sh}],[0,{[p]:`MacAddress`,[h]:og}],[0,{[p]:`NetworkInterfaceId`,[h]:jg}],[0,{[p]:`OwnerId`,[h]:Yg}],[0,{[p]:`PrivateDnsName`,[h]:p_}],[0,{[p]:`PrivateIpAddress`,[h]:w_}],[()=>QO,{[p]:`PrivateIpAddressesSet`,[h]:S_}],[2,{[p]:`SourceDestCheck`,[h]:Mv}],[0,{[p]:`Status`,[h]:Ay}],[0,{[p]:`SubnetId`,[h]:ny}],[0,{[p]:`VpcId`,[h]:vb}],[0,{[p]:`InterfaceType`,[h]:qh}],[()=>GO,{[p]:`Ipv4PrefixSet`,[h]:Lh}],[()=>JO,{[p]:`Ipv6PrefixSet`,[h]:Rh}],[()=>Rx,{[p]:`ConnectionTrackingConfiguration`,[h]:Dm}],[()=>kE,{[p]:`Operator`,[h]:r_}]]],Mw=[3,g,pse,0,[Hi,Yi,bse,jd,Id],[[0,{[p]:`CarrierIp`,[h]:hm}],[0,{[p]:`CustomerOwnedIp`,[h]:bm}],[0,{[p]:`IpOwnerId`,[h]:pve}],[0,{[p]:`PublicDnsName`,[h]:m_}],[0,{[p]:`PublicIp`,[h]:b_}]]],Nw=[3,g,mse,0,[di,ei,va,ha,qf,nd,vs,fs],[[4,{[p]:`AttachTime`,[h]:Yp}],[0,{[p]:`AttachmentId`,[h]:Hp}],[2,{[p]:`DeleteOnTermination`,[h]:Lm}],[1,{[p]:`DeviceIndex`,[h]:Pm}],[0,{[p]:`Status`,[h]:Ay}],[1,{[p]:`NetworkCardIndex`,[h]:Sg}],[()=>vw,{[p]:`EnaSrdSpecification`,[h]:Jm}],[1,{[p]:`EnaQueueCount`,[h]:Wm}]]],Pw=[3,g,Hl,0,[ii,va,fo,ha,Zs,Lc,Fc,sd,Rd,zd,Rf,Af,qr,su,nd,Ql,Kl,ql,Gl,Vd,vs,aa,fs],[[2,{[p]:`AssociatePublicIpAddress`,[h]:Up}],[2,{[p]:`DeleteOnTermination`,[h]:Lm}],[0,{[p]:`Description`,[h]:Rm}],[1,{[p]:`DeviceIndex`,[h]:Pm}],[()=>hA,{[h]:hf}],[1,{[p]:`Ipv6AddressCount`,[h]:xh}],[()=>KO,{[p]:`Ipv6Addresses`,[h]:Sh}],[0,{[p]:`NetworkInterfaceId`,[h]:jg}],[0,{[p]:`PrivateIpAddress`,[h]:w_}],[()=>$k,{[p]:`PrivateIpAddresses`,[h]:S_}],[1,{[p]:`SecondaryPrivateIpAddressCount`,[h]:fy}],[0,{[p]:`SubnetId`,[h]:ny}],2,0,1,[()=>dk,{[h]:$l}],1,[()=>pk,{[h]:Xl}],1,2,()=>GC,()=>Lx,1]],Fw=[3,g,_se,0,[Fi],[[0,{[p]:`BandwidthWeighting`,[h]:dm}]]],Iw=[3,g,vse,0,[Fi],[0]],Lw=[3,g,Tse,0,[bi,Jd,Od,Rd],[[()=>Mw,{[p]:`Association`,[h]:nm}],[2,{[p]:`Primary`,[h]:G_}],[0,{[p]:`PrivateDnsName`,[h]:p_}],[0,{[p]:`PrivateIpAddress`,[h]:w_}]]],Rw=[3,g,eu,0,[_p,Lu,Ki,Pu,Qo,bl,Mf,vd,Ai,ji,rf,od,xu,yu,$f,Di,ui,Kr,ti,ri,li,td,Yr,Wu,Ni,tf],[[()=>FD,{[p]:`VCpuCount`,[h]:fb}],[()=>aE,{[p]:`MemoryMiB`,[h]:lye}],[()=>hO,{[p]:`CpuManufacturerSet`,[h]:wge}],[()=>nE,{[p]:`MemoryGiBPerVCpu`,[h]:cye}],[()=>OO,{[p]:`ExcludedInstanceTypeSet`,[h]:b_e}],[()=>UO,{[p]:`InstanceGenerationSet`,[h]:rve}],[1,{[p]:`SpotMaxPricePercentageOverLowestPrice`,[h]:ay}],[1,{[p]:`OnDemandMaxPricePercentageOverLowestPrice`,[h]:Jg}],[0,{[p]:`BareMetal`,[h]:cm}],[0,{[p]:`BurstablePerformance`,[h]:uge}],[2,{[p]:`RequireHibernateSupport`,[h]:ov}],[()=>xE,{[p]:`NetworkInterfaceCount`,[h]:Ag}],[0,{[p]:`LocalStorage`,[h]:qve}],[()=>Lk,{[p]:`LocalStorageTypeSet`,[h]:Kve}],[()=>AD,{[p]:`TotalLocalStorageGB`,[h]:zy}],[()=>Tx,{[p]:`BaselineEbsBandwidthMbps`,[h]:lge}],[()=>QD,{[p]:`AcceleratorTypeSet`,[h]:rge}],[()=>$b,{[p]:`AcceleratorCount`,[h]:Rhe}],[()=>XD,{[p]:`AcceleratorManufacturerSet`,[h]:Khe}],[()=>ZD,{[p]:`AcceleratorNameSet`,[h]:qhe}],[()=>tx,{[p]:`AcceleratorTotalMemoryMiB`,[h]:nge}],[()=>_E,{[p]:`NetworkBandwidthGbps`,[h]:bye}],[()=>tO,{[p]:`AllowedInstanceTypeSet`,[h]:Hhe}],[1,{[p]:`MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`,[h]:hye}],[()=>Dx,{[p]:`BaselinePerformanceFactors`,[h]:dge}],[2,{[p]:`RequireEncryptionInTransit`,[h]:ev}]]],zw=[3,g,Hse,0,[_p,Lu,Ki,Pu,Qo,bl,Mf,vd,Ai,ji,rf,od,xu,yu,$f,Di,ui,Kr,ti,ri,li,td,Yr,Wu,Ni,tf],[()=>ID,()=>oE,[()=>hO,{[h]:Tie}],()=>rE,[()=>OO,{[h]:$o}],[()=>UO,{[h]:xl}],1,1,0,0,2,()=>SE,0,[()=>Lk,{[h]:Bce}],()=>jD,()=>Ex,[()=>QD,{[h]:Ore}],()=>ex,[()=>XD,{[h]:ore}],[()=>ZD,{[h]:cre}],()=>nx,()=>vE,[()=>tO,{[h]:ere}],1,[()=>Ox,0],2],2],Bw=[3,g,ice,0,[xi,ju,Ope,yd,zd,ff,qf,Hf,Zpe,su],[[()=>Vw,{[p]:`Attachment`,[h]:rm}],[0,{[p]:`MacAddress`,[h]:og}],[0,{[p]:`SecondaryInterfaceId`,[h]:qv}],[0,{[p]:`OwnerId`,[h]:Yg}],[()=>ek,{[p]:`PrivateIpAddressSet`,[h]:C_}],[2,{[p]:`SourceDestCheck`,[h]:Mv}],[0,{[p]:`Status`,[h]:Ay}],[0,{[p]:`SecondarySubnetId`,[h]:_y}],[0,{[p]:`SecondaryNetworkId`,[h]:cy}],[0,{[p]:`InterfaceType`,[h]:qh}]]],Vw=[3,g,Yse,0,[di,ei,va,ha,qf,nd],[[4,{[p]:`AttachTime`,[h]:Yp}],[0,{[p]:`AttachmentId`,[h]:Hp}],[2,{[p]:`DeleteOnTermination`,[h]:Lm}],[1,{[p]:`DeviceIndex`,[h]:Pm}],[0,{[p]:`Status`,[h]:Ay}],[1,{[p]:`NetworkCardIndex`,[h]:Sg}]]],Hw=[3,g,Zse,0,[Rd],[[0,{[p]:`PrivateIpAddress`,[h]:w_}]]],Uw=[3,g,ece,0,[Rd],[0],1],Ww=[3,g,rce,0,[va,ha,zd,Ld,Hf,su,nd],[2,1,[()=>tk,{[h]:Rd}],1,0,0,1]],Gw=[3,g,oce,0,[ca,$u],[[1,{[p]:`Code`,[h]:km}],[0,{[p]:`Name`,[h]:bg}]]],Kw=[3,g,qse,0,[Sl,nae,Ude],[[0,{[p]:`InstanceId`,[h]:jh}],[()=>Gw,{[p]:`CurrentState`,[h]:Oge}],[()=>Gw,{[p]:`PreviousState`,[h]:L_}]]],qw=[3,g,tu,0,[Ame,mo,pd,Ts],[[1,{[p]:`TotalSizeInGB`,[h]:Ky}],[()=>yO,{[p]:`Disks`,[h]:n_e}],[0,{[p]:`NvmeSupport`,[h]:Bg}],[0,{[p]:`EncryptionSupport`,[h]:Zm}]]],Jw=[3,g,lce,0,[iu,sie,qs,sme,tme,dme,Ai,Nc,Hd,vp,Iu,ace,tu,es,ld,lc,Vs,Fd,Bc,kc,Zre,Eae,dre,lpe,zue,ede,md,Au,ud,Hde,Dfe,Rpe],[[0,{[p]:`InstanceType`,[h]:Gh}],[2,{[p]:`CurrentGeneration`,[h]:xge}],[2,{[p]:`FreeTierEligible`,[h]:ah}],[()=>kA,{[p]:`SupportedUsageClasses`,[h]:wy}],[()=>cA,{[p]:`SupportedRootDeviceTypes`,[h]:py}],[()=>NA,{[p]:`SupportedVirtualizationTypes`,[h]:Ey}],[2,{[p]:`BareMetal`,[h]:cm}],[0,{[p]:`Hypervisor`,[h]:dh}],[()=>BE,{[p]:`ProcessorInfo`,[h]:E_}],[()=>LD,{[p]:`VCpuInfo`,[h]:pb}],[()=>iE,{[p]:`MemoryInfo`,[h]:lg}],[2,{[p]:`InstanceStorageSupported`,[h]:Eve}],[()=>qw,{[p]:`InstanceStorageInfo`,[h]:Tve}],[()=>FC,{[p]:`EbsInfo`,[h]:x_e}],[()=>bE,{[p]:`NetworkInfo`,[h]:Fg}],[()=>rw,{[p]:`GpuInfo`,[h]:z_e}],[()=>QC,{[p]:`FpgaInfo`,[h]:M_e}],[()=>PE,{[p]:`PlacementGroupInfo`,[h]:__}],[()=>mw,{[p]:`InferenceAcceleratorInfo`,[h]:J_e}],[2,{[p]:`HibernationSupported`,[h]:K_e}],[2,{[p]:`BurstablePerformanceSupported`,[h]:fge}],[2,{[p]:`DedicatedHostsSupported`,[h]:Rge}],[2,{[p]:`AutoRecoverySupported`,[h]:Xhe}],[()=>pO,{[p]:`SupportedBootModes`,[h]:Av}],[0,{[p]:`NitroEnclavesSupport`,[h]:Tg}],[0,{[p]:`NitroTpmSupport`,[h]:Hg}],[()=>DE,{[p]:`NitroTpmInfo`,[h]:Vg}],[()=>$T,{[p]:`MediaAcceleratorInfo`,[h]:tye}],[()=>EE,{[p]:`NeuronInfo`,[h]:Ig}],[0,{[p]:`PhcSupport`,[h]:I_}],[0,{[p]:`RebootMigrationSupport`,[h]:dv}],[2,{[p]:`SupportedInRegion`,[h]:Qv}]]],Yw=[3,g,ll,0,[Si,ml,yd,Xf],[[()=>ak,{[p]:`AttachmentSet`,[h]:Jp}],[0,{[p]:`InternetGatewayId`,[h]:Ah}],[0,{[p]:`OwnerId`,[h]:Yg}],[()=>EA,{[p]:`TagSet`,[h]:Gy}]]],Xw=[3,g,ul,0,[Kf,Sp],[[0,{[p]:`State`,[h]:ky}],[0,{[p]:`VpcId`,[h]:vb}]]],Zw=[3,g,Rse,0,[Yl,Ws,ep,zme,Use,Gse,Bde],[[0,{[p]:`IpProtocol`,[h]:zh}],[1,{[p]:`FromPort`,[h]:ih}],[1,{[p]:`ToPort`,[h]:Uy}],[()=>AA,{[p]:`Groups`,[h]:W_e}],[()=>uk,{[p]:`IpRanges`,[h]:Cve}],[()=>hk,{[p]:`Ipv6Ranges`,[h]:wve}],[()=>Qk,{[p]:`PrefixListIds`,[h]:M_}]]],Qw=[3,g,Wse,0,[fo,Ui],[[0,{[p]:`Description`,[h]:Rm}],[0,{[p]:`CidrIp`,[h]:gm}]]],$w=[3,g,Pse,0,[$l],[0]],eT=[3,g,Fse,0,[$l],[[0,{[p]:`Ipv4Prefix`,[h]:Vh}]]],tT=[3,g,Ise,0,[Xl],[0]],nT=[3,g,Lse,0,[Xl],[[0,{[p]:`Ipv6Prefix`,[h]:Hh}]]],rT=[3,g,Kse,0,[fo,Wi],[[0,{[p]:`Description`,[h]:Rm}],[0,{[p]:`CidrIpv6`,[h]:_m}]]],iT=[3,g,kce,0,[pu,Xf,fu,lu,xce],[[0,{[p]:`KeyPairId`,[h]:$h}],[()=>EA,{[p]:`TagSet`,[h]:Gy}],[0,{[p]:`KeyName`,[h]:Qh}],[0,{[p]:`KeyFingerprint`,[h]:Yh}],[()=>Qb,{[p]:`KeyMaterial`,[h]:Lve}]]],aT=[3,g,Dce,0,[pu,mu,Xf,Lde,sa,fu,lu],[[0,{[p]:`KeyPairId`,[h]:$h}],[0,{[p]:`KeyType`,[h]:zve}],[()=>EA,{[p]:`TagSet`,[h]:Gy}],[0,{[p]:`PublicKey`,[h]:k_}],[4,{[p]:`CreateTime`,[h]:Om}],[0,{[p]:`KeyName`,[h]:Qh}],[0,{[p]:`KeyFingerprint`,[h]:Yh}]]],oT=[3,g,Su,0,[wu,Tu,sa,Li,Za,Xle,Xf,Sd],[[0,{[p]:`LaunchTemplateId`,[h]:rg}],[0,{[p]:`LaunchTemplateName`,[h]:ig}],[4,{[p]:`CreateTime`,[h]:Om}],[0,{[p]:`CreatedBy`,[h]:pm}],[1,{[p]:`DefaultVersionNumber`,[h]:$ge}],[1,{[p]:`LatestVersionNumber`,[h]:$ve}],[()=>EA,{[p]:`TagSet`,[h]:Gy}],[()=>kE,{[p]:`Operator`,[h]:r_}]]],sT=[3,g,Vce,0,[_a,Ep,As,rd],[[0,{[p]:`DeviceName`,[h]:Im}],[0,{[p]:`VirtualName`,[h]:Cb}],[()=>pT,{[p]:`Ebs`,[h]:$m}],[0,{[p]:`NoDevice`,[h]:Cg}]]],cT=[3,g,Uce,0,[_a,Ep,As,rd],[0,0,()=>mT,0]],lT=[3,g,qce,0,[Qi,ta],[0,()=>Px]],uT=[3,g,Jce,0,[Qi,ta],[[0,{[p]:`CapacityReservationPreference`,[h]:Cm}],[()=>Fx,{[p]:`CapacityReservationTarget`,[h]:Tm}]]],dT=[3,g,Gce,0,[Ri,tp,si,gd],[[1,{[p]:`CoreCount`,[h]:mm}],[1,{[p]:`ThreadsPerCore`,[h]:Wy}],[0,{[p]:`AmdSevSnp`,[h]:qp}],[0,{[p]:`NestedVirtualization`,[h]:Wg}]]],fT=[3,g,Kce,0,[Ri,tp,si,gd],[1,1,0,0]],pT=[3,g,Yce,0,[Ms,va,cu,du,kf,kp,Ap,sp,Cp,yo],[[2,{[p]:`Encrypted`,[h]:th}],[2,{[p]:`DeleteOnTermination`,[h]:Lm}],[1,{[p]:`Iops`,[h]:Jh}],[0,{[p]:`KmsKeyId`,[h]:Zh}],[0,{[p]:`SnapshotId`,[h]:ty}],[1,{[p]:`VolumeSize`,[h]:Ab}],[0,{[p]:`VolumeType`,[h]:Mb}],[1,{[p]:`Throughput`,[h]:eb}],[1,{[p]:`VolumeInitializationRate`,[h]:yb}],[1,{[p]:`EbsCardIndex`,[h]:Bm}]]],mT=[3,g,Xce,0,[Ms,va,cu,du,kf,kp,Ap,sp,Cp,yo],[2,2,1,0,0,1,0,1,1,1]],hT=[3,g,Zce,0,[lp,ua],[0,1],1],gT=[3,g,$ce,0,[lp,ua],[[0,{[p]:`Type`,[h]:nb}],[1,{[p]:`Count`,[h]:jm}]]],_T=[3,g,rle,0,[_s,Ss],[[2,{[p]:`EnaSrdEnabled`,[h]:qm}],[()=>vT,{[p]:`EnaSrdUdpSpecification`,[h]:Xm}]]],vT=[3,g,ile,0,[xs],[[2,{[p]:`EnaSrdUdpEnabled`,[h]:Ym}]]],yT=[3,g,tle,0,[js],[[2,{[p]:`Enabled`,[h]:eh}]]],bT=[3,g,nle,0,[js],[2]],xT=[3,g,ale,0,[la],[[2,{[p]:`Configured`,[h]:Am}]]],ST=[3,g,ole,0,[la],[2]],CT=[3,g,sle,0,[vi,$u],[[0,{[p]:`Arn`,[h]:em}],[0,{[p]:`Name`,[h]:bg}]]],wT=[3,g,cle,0,[vi,$u],[0,0]],TT=[3,g,lle,0,[oi],[[0,{[p]:`AutoRecovery`,[h]:Gp}]]],ET=[3,g,ule,0,[oi],[0]],DT=[3,g,ple,0,[qu,If],[[0,{[p]:`MarketType`,[h]:gye}],[()=>KT,{[p]:`SpotOptions`,[h]:dy}]]],OT=[3,g,dle,0,[qu,If],[0,()=>qT]],kT=[3,g,mle,0,[Kf,Ac,Dc,Sc,Ec,Bl],[[0,{[p]:`State`,[h]:ky}],[0,{[p]:`HttpTokens`,[h]:vh}],[1,{[p]:`HttpPutResponseHopLimit`,[h]:gh}],[0,{[p]:`HttpEndpoint`,[h]:fh}],[0,{[p]:`HttpProtocolIpv6`,[h]:hh}],[0,{[p]:`InstanceMetadataTags`,[h]:Ih}]]],AT=[3,g,fle,0,[Ac,Dc,Sc,Ec,Bl],[0,1,0,0,0]],jT=[3,g,hle,0,[qr,ii,va,fo,ha,Zs,su,Lc,Fc,sd,Rd,zd,Rf,Af,nd,Ql,Kl,ql,Gl,Vd,vs,aa,fs],[[2,{[p]:`AssociateCarrierIpAddress`,[h]:Lhe}],[2,{[p]:`AssociatePublicIpAddress`,[h]:Up}],[2,{[p]:`DeleteOnTermination`,[h]:Lm}],[0,{[p]:`Description`,[h]:Rm}],[1,{[p]:`DeviceIndex`,[h]:Pm}],[()=>PO,{[p]:`GroupSet`,[h]:uh}],[0,{[p]:`InterfaceType`,[h]:qh}],[1,{[p]:`Ipv6AddressCount`,[h]:xh}],[()=>KO,{[p]:`Ipv6AddressesSet`,[h]:Sh}],[0,{[p]:`NetworkInterfaceId`,[h]:jg}],[0,{[p]:`PrivateIpAddress`,[h]:w_}],[()=>$k,{[p]:`PrivateIpAddressesSet`,[h]:S_}],[1,{[p]:`SecondaryPrivateIpAddressCount`,[h]:fy}],[0,{[p]:`SubnetId`,[h]:ny}],[1,{[p]:`NetworkCardIndex`,[h]:Sg}],[()=>fk,{[p]:`Ipv4PrefixSet`,[h]:Lh}],[1,{[p]:`Ipv4PrefixCount`,[h]:hve}],[()=>mk,{[p]:`Ipv6PrefixSet`,[h]:Rh}],[1,{[p]:`Ipv6PrefixCount`,[h]:gve}],[2,{[p]:`PrimaryIpv6`,[h]:D_}],[()=>_T,{[p]:`EnaSrdSpecification`,[h]:Jm}],[()=>Ix,{[p]:`ConnectionTrackingSpecification`,[h]:kge}],[1,{[p]:`EnaQueueCount`,[h]:Wm}]]],MT=[3,g,_le,0,[qr,ii,va,fo,ha,Zs,su,Lc,Fc,sd,Rd,zd,Rf,Af,nd,Ql,Kl,ql,Gl,Vd,vs,aa,fs],[2,2,2,0,1,[()=>hA,{[h]:hf}],0,1,[()=>qO,0],0,0,[()=>$k,0],1,0,1,[()=>dk,{[h]:$l}],1,[()=>pk,{[h]:Xl}],1,2,()=>GC,()=>Lx,1]],NT=[3,g,yle,0,[va,ha,zd,Ld,Hf,su,nd],[[2,{[p]:`DeleteOnTermination`,[h]:Lm}],[1,{[p]:`DeviceIndex`,[h]:Pm}],[()=>pA,{[p]:`PrivateIpAddressesSet`,[h]:S_}],[1,{[p]:`PrivateIpAddressCount`,[h]:x_}],[0,{[p]:`SecondarySubnetId`,[h]:_y}],[0,{[p]:`InterfaceType`,[h]:qh}],[1,{[p]:`NetworkCardIndex`,[h]:Sg}]]],PT=[3,g,xle,0,[va,ha,zd,Ld,Hf,su,nd],[2,1,[()=>mA,{[h]:Rd}],1,0,0,1]],FT=[3,g,Tle,0,[hu],[[0,{[p]:`LicenseConfigurationArn`,[h]:eg}]]],IT=[3,g,Ele,0,[hu],[0]],LT=[3,g,jle,0,[Fi],[[0,{[p]:`BandwidthWeighting`,[h]:dm}]]],RT=[3,g,Mle,0,[Fi],[0]],zT=[3,g,Fle,0,[fi,hi,_i,mc,Cc,op,pf,Oc,Wd,uc],[[0,{[p]:`AvailabilityZone`,[h]:Xp}],[0,{[p]:`AvailabilityZoneId`,[h]:Zp}],[0,{[p]:`Affinity`,[h]:$p}],[0,{[p]:`GroupName`,[h]:ch}],[0,{[p]:`HostId`,[h]:ph}],[0,{[p]:`Tenancy`,[h]:$y}],[0,{[p]:`SpreadDomain`,[h]:Pv}],[0,{[p]:`HostResourceGroupArn`,[h]:_h}],[1,{[p]:`PartitionNumber`,[h]:N_}],[0,{[p]:`GroupId`,[h]:sh}]]],BT=[3,g,Rle,0,[fi,hi,_i,mc,Cc,op,pf,Oc,Wd,uc],[0,0,0,0,0,0,0,0,1,0]],VT=[3,g,Ile,0,[jc,hs,ps],[[0,{[p]:`HostnameType`,[h]:yh}],[2,{[p]:`EnableResourceNameDnsARecord`,[h]:Km}],[2,{[p]:`EnableResourceNameDnsAAAARecord`,[h]:Gm}]]],HT=[3,g,Lle,0,[jc,hs,ps],[0,2,2]],UT=[3,g,kle,0,[js],[[2,{[p]:`Enabled`,[h]:eh}]]],WT=[3,g,Ale,0,[js],[2]],GT=[3,g,zle,0,[wu,Tu,Pp],[0,0,0]],KT=[3,g,Ble,0,[Hu,Ef,Ei,Mp,Dl],[[0,{[p]:`MaxPrice`,[h]:dye}],[0,{[p]:`SpotInstanceType`,[h]:ey}],[1,{[p]:`BlockDurationMinutes`,[h]:cge}],[4,{[p]:`ValidUntil`,[h]:Fb}],[0,{[p]:`InstanceInterruptionBehavior`,[h]:ive}]]],qT=[3,g,Vle,0,[Hu,Ef,Ei,Mp,Dl],[0,0,1,4,0]],JT=[3,g,Ule,0,[lf,Xf],[[0,{[p]:`ResourceType`,[h]:xv}],[()=>EA,{[p]:`TagSet`,[h]:Gy}]]],YT=[3,g,Eu,0,[lf,Xf],[0,[()=>EA,{[h]:ap}]]],XT=[3,g,Du,0,[wu,Tu,Dp,yp,sa,Li,ao,Cu,Sd],[[0,{[p]:`LaunchTemplateId`,[h]:rg}],[0,{[p]:`LaunchTemplateName`,[h]:ig}],[1,{[p]:`VersionNumber`,[h]:wb}],[0,{[p]:`VersionDescription`,[h]:hb}],[4,{[p]:`CreateTime`,[h]:Om}],[0,{[p]:`CreatedBy`,[h]:pm}],[2,{[p]:`DefaultVersion`,[h]:e_e}],[()=>eD,{[p]:`LaunchTemplateData`,[h]:Jve}],[()=>kE,{[p]:`Operator`,[h]:r_}]]],ZT=[3,g,Nce,0,[hu],[[0,{[p]:`LicenseConfigurationArn`,[h]:eg}]]],QT=[3,g,Mce,0,[hu],[0]],$T=[3,g,Au,0,[gi,Dme],[[()=>Rk,{[p]:`Accelerators`,[h]:Qp}],[1,{[p]:`TotalMediaMemoryInMiB`,[h]:Vy}]]],eE=[3,g,nue,0,[ua,$u,Yu,Iu],[[1,{[p]:`Count`,[h]:jm}],[0,{[p]:`Name`,[h]:bg}],[0,{[p]:`Manufacturer`,[h]:_g}],[()=>tE,{[p]:`MemoryInfo`,[h]:lg}]]],tE=[3,g,iue,0,[Cf],[[1,{[p]:`SizeInMiB`,[h]:Yv}]]],nE=[3,g,Pu,0,[Ou,Ju],[[1,{[p]:`Min`,[h]:ag}],[1,{[p]:`Max`,[h]:gg}]]],rE=[3,g,uue,0,[Ou,Ju],[1,1]],iE=[3,g,Iu,0,[Cf],[[1,{[p]:`SizeInMiB`,[h]:Yv}]]],aE=[3,g,Lu,0,[Ou,Ju],[[1,{[p]:`Min`,[h]:ag}],[1,{[p]:`Max`,[h]:gg}]]],oE=[3,g,_ue,0,[Ou,Ju],[1,1],1],sE=[3,g,due,0,[Sl,ff,us,fa,d,Hre,gp,Ti,pa,iu,Ace,Yfe,up,Pl,Zs,rs,Ff,Es],[[0,{[p]:`InstanceId`,[h]:jh}],[()=>mx,0],()=>JC,[()=>mx,0],[2,{[p]:`DryRun`,[h]:f}],[0,{[p]:`Attribute`,[h]:age}],[()=>Xb,{[p]:`Value`,[h]:db}],[()=>HO,{[p]:`BlockDeviceMapping`,[h]:am}],[()=>mx,{[p]:`DisableApiTermination`,[h]:Mm}],[()=>hx,{[p]:`InstanceType`,[h]:Gh}],[()=>hx,{[p]:`Kernel`,[h]:Bve}],[()=>hx,{[p]:`Ramdisk`,[h]:wv}],[()=>kx,{[p]:`UserData`,[h]:ib}],[()=>hx,{[p]:`InstanceInitiatedShutdownBehavior`,[h]:Ph}],[()=>PO,{[h]:uc}],[()=>mx,{[p]:`EbsOptimized`,[h]:Vm}],[()=>hx,{[p]:`SriovNetSupport`,[h]:uy}],[()=>mx,{[p]:`EnaSupport`,[h]:Qm}]],1],cE=[3,g,hue,0,[d,ra,wu,Tu,ao],[2,[0,4],0,0,[0,{[h]:ppe}]]],lE=[3,g,gue,0,[Su],[[()=>oT,{[p]:`LaunchTemplate`,[h]:ng}]]],uE=[3,g,yue,0,[Af,Jr,Vu,Nu,Xi,wo,bde,gs,ms,ns,ooe],[[0,{[p]:`SubnetId`,[h]:ny}],[()=>mx,0],[()=>mx,0],[()=>mx,0],0,[()=>mx,0],0,[()=>mx,0],[()=>mx,0],1,[()=>mx,0]],1],dE=[3,g,Cue,0,[wp,d,Gf,Ap,cu,sp,ku],[0,2,1,0,1,1,2],1],fE=[3,g,wue,0,[Tp],[[()=>BD,{[p]:`VolumeModification`,[h]:Sb}]]],pE=[3,g,Qu,0,[Kf],[[0,{[p]:`State`,[h]:ky}]]],mE=[3,g,id,0,[sa,qa,Is,Us,Bue,ad,Td,Kf,Af,Sp,Xf,oa,ni,Cre,ure,Vne,cf],[[4,{[p]:`CreateTime`,[h]:Om}],[4,{[p]:`DeleteTime`,[h]:Yge}],[0,{[p]:`FailureCode`,[h]:nh}],[0,{[p]:`FailureMessage`,[h]:rh}],[()=>zk,{[p]:`NatGatewayAddressSet`,[h]:Dg}],[0,{[p]:`NatGatewayId`,[h]:Og}],[()=>UE,{[p]:`ProvisionedBandwidth`,[h]:o_}],[0,{[p]:`State`,[h]:ky}],[0,{[p]:`SubnetId`,[h]:ny}],[0,{[p]:`VpcId`,[h]:vb}],[()=>EA,{[p]:`TagSet`,[h]:Gy}],[0,{[p]:`ConnectivityType`,[h]:jge}],[0,{[p]:`AvailabilityMode`,[h]:Ghe}],[0,{[p]:`AutoScalingIps`,[h]:Qhe}],[0,{[p]:`AutoProvisionZones`,[h]:Yhe}],[()=>Bk,{[p]:`AttachedApplianceSet`,[h]:Fhe}],[0,{[p]:`RouteTableId`,[h]:yv}]]],hE=[3,g,Wue,0,[Zr,sd,Fde,Id,$r,zse,Us,qf,fi,hi],[[0,{[p]:`AllocationId`,[h]:zp}],[0,{[p]:`NetworkInterfaceId`,[h]:jg}],[0,{[p]:`PrivateIp`,[h]:O_}],[0,{[p]:`PublicIp`,[h]:b_}],[0,{[p]:`AssociationId`,[h]:Vp}],[2,{[p]:`IsPrimary`,[h]:xve}],[0,{[p]:`FailureMessage`,[h]:rh}],[0,{[p]:`Status`,[h]:Ay}],[0,{[p]:`AvailabilityZone`,[h]:Xp}],[0,{[p]:`AvailabilityZoneId`,[h]:Zp}]]],gE=[3,g,Vue,0,[lp,zne,xp,wre,Gu,Is,Us],[[0,{[p]:`Type`,[h]:nb}],[0,{[p]:`ApplianceArn`,[h]:Ihe}],[0,{[p]:`VpcEndpointId`,[h]:_b}],[0,{[p]:`AttachmentState`,[h]:tge}],[0,{[p]:`ModificationState`,[h]:mg}],[0,{[p]:`FailureCode`,[h]:nh}],[0,{[p]:`FailureMessage`,[h]:rh}]]],_E=[3,g,td,0,[Ou,Ju],[[1,{[p]:`Min`,[h]:ag}],[1,{[p]:`Max`,[h]:gg}]]],vE=[3,g,Aue,0,[Ou,Ju],[1,1]],yE=[3,g,Nue,0,[nd,fd,Ru,Wne,Wre,hde,wae,cue,lue],[[1,{[p]:`NetworkCardIndex`,[h]:Sg}],[0,{[p]:`NetworkPerformance`,[h]:Rg}],[1,{[p]:`MaximumNetworkInterfaces`,[h]:ug}],[1,{[p]:`AdditionalFlexibleNetworkInterfaces`,[h]:zhe}],[1,{[p]:`BaselineBandwidthInGbps`,[h]:oge}],[1,{[p]:`PeakBandwidthInGbps`,[h]:s_}],[1,{[p]:`DefaultEnaQueueCountPerInterface`,[h]:Ige}],[1,{[p]:`MaximumEnaQueueCount`,[h]:oye}],[1,{[p]:`MaximumEnaQueueCountPerInterface`,[h]:sye}]]],bE=[3,g,ld,0,[fd,Ru,vue,Coe,jue,Vc,Hc,sce,Es,ws,ts,Xo,bs,tie,Bs,ia,Qpe,xue,Uc],[[0,{[p]:`NetworkPerformance`,[h]:Rg}],[1,{[p]:`MaximumNetworkInterfaces`,[h]:ug}],[1,{[p]:`MaximumNetworkCards`,[h]:uye}],[1,{[p]:`DefaultNetworkCardIndex`,[h]:zge}],[()=>Uk,{[p]:`NetworkCards`,[h]:xye}],[1,{[p]:`Ipv4AddressesPerInterface`,[h]:Y_e}],[1,{[p]:`Ipv6AddressesPerInterface`,[h]:X_e}],[2,{[p]:`Ipv6Supported`,[h]:jve}],[0,{[p]:`EnaSupport`,[h]:Qm}],[2,{[p]:`EfaSupported`,[h]:O_e}],[()=>zC,{[p]:`EfaInfo`,[h]:S_e}],[2,{[p]:`EncryptionInTransitSupported`,[h]:y_e}],[2,{[p]:`EnaSrdSupported`,[h]:D_e}],[()=>lO,{[p]:`BandwidthWeightings`,[h]:pge}],[0,{[p]:`FlexibleEnaQueuesSupport`,[h]:j_e}],[()=>vS,{[p]:`ConnectionTrackingConfiguration`,[h]:Dm}],[2,{[p]:`SecondaryNetworkSupported`,[h]:ly}],[1,{[p]:`MaximumSecondaryNetworkInterfaces`,[h]:mye}],[1,{[p]:`Ipv4AddressesPerSecondaryInterface`,[h]:Z_e}]]],xE=[3,g,od,0,[Ou,Ju],[[1,{[p]:`Min`,[h]:ag}],[1,{[p]:`Max`,[h]:gg}]]],SE=[3,g,Xue,0,[Ou,Ju],[1,1]],CE=[3,g,Pue,0,[ua,Pp],[[1,{[p]:`Count`,[h]:jm}],[1,{[p]:`Version`,[h]:Ib}]]],wE=[3,g,Fue,0,[ua,$u,mie,Iu],[[1,{[p]:`Count`,[h]:jm}],[0,{[p]:`Name`,[h]:bg}],[()=>CE,{[p]:`CoreInfo`,[h]:Cge}],[()=>TE,{[p]:`MemoryInfo`,[h]:lg}]]],TE=[3,g,Lue,0,[Cf],[[1,{[p]:`SizeInMiB`,[h]:Yv}]]],EE=[3,g,ud,0,[Rue,Ome],[[()=>Wk,{[p]:`NeuronDevices`,[h]:wg}],[1,{[p]:`TotalNeuronDeviceMemoryInMiB`,[h]:Hy}]]],DE=[3,g,md,0,[fme],[[()=>Gk,{[p]:`SupportedVersions`,[h]:Dy}]]],OE=[3,g,sde,0,[wd],[0]],kE=[3,g,cde,0,[Oue,wd,xc],[[2,{[p]:`Managed`,[h]:vye}],[0,{[p]:`Principal`,[h]:a_}],[2,{[p]:`HiddenByDefault`,[h]:G_e}]]],AE=[3,g,Cde,0,[cl],[[0,{[p]:`InstanceFamily`,[h]:eve}]]],jE=[3,g,wde,0,[cl],[0]],ME=[3,g,qd,0,[hi,_i,mc,Wd,Cc,op,pf,Oc,uc,fi],[[0,{[p]:`AvailabilityZoneId`,[h]:Zp}],[0,{[p]:`Affinity`,[h]:$p}],[0,{[p]:`GroupName`,[h]:ch}],[1,{[p]:`PartitionNumber`,[h]:N_}],[0,{[p]:`HostId`,[h]:ph}],[0,{[p]:`Tenancy`,[h]:$y}],[0,{[p]:`SpreadDomain`,[h]:Pv}],[0,{[p]:`HostResourceGroupArn`,[h]:_h}],[0,{[p]:`GroupId`,[h]:sh}],[0,{[p]:`AvailabilityZone`,[h]:Xp}]]],NE=[3,g,Nd,0,[mc,Kf,Jf,Ed,uc,Xf,Qs,jf,_u,Sd,Pd],[[0,{[p]:`GroupName`,[h]:ch}],[0,{[p]:`State`,[h]:ky}],[0,{[p]:`Strategy`,[h]:jy}],[1,{[p]:`PartitionCount`,[h]:l_}],[0,{[p]:`GroupId`,[h]:sh}],[()=>EA,{[p]:`TagSet`,[h]:Gy}],[0,{[p]:`GroupArn`,[h]:L_e}],[0,{[p]:`SpreadLevel`,[h]:ry}],[0,{[p]:`LinkedGroupId`,[h]:Wve}],[()=>kE,{[p]:`Operator`,[h]:r_}],[0,{[p]:`ParentGroupId`,[h]:v_}]]],PE=[3,g,Fd,0,[ime],[[()=>Zk,{[p]:`SupportedStrategies`,[h]:by}]]],FE=[3,g,Ud,0,[fo,Ud],[[0,{[p]:`Description`,[h]:Rm}],[0,{[p]:`PrefixListId`,[h]:j_}]]],IE=[3,g,Ad,0,[jc,hs,ps],[[0,{[p]:`HostnameType`,[h]:yh}],[2,{[p]:`EnableResourceNameDnsARecord`,[h]:Km}],[2,{[p]:`EnableResourceNameDnsAAAARecord`,[h]:Gm}]]],LE=[3,g,xde,0,[jc,hs,ps],[0,2,2]],RE=[3,g,Sde,0,[jc,hs,ps],[[0,{[p]:`HostnameType`,[h]:yh}],[2,{[p]:`EnableResourceNameDnsARecord`,[h]:Km}],[2,{[p]:`EnableResourceNameDnsAAAARecord`,[h]:Gm}]]],zE=[3,g,jde,0,[Jd,Rd],[[2,{[p]:`Primary`,[h]:G_}],[0,{[p]:`PrivateIpAddress`,[h]:w_}]]],BE=[3,g,Hd,0,[cpe,dpe,mpe,Yu],[[()=>nO,{[p]:`SupportedArchitectures`,[h]:Ov}],[1,{[p]:`SustainedClockSpeedInGhz`,[h]:jv}],[()=>TA,{[p]:`SupportedFeatures`,[h]:Fv}],[0,{[p]:`Manufacturer`,[h]:_g}]]],VE=[3,g,yde,0,[gde,vde],[[0,{[p]:`ProductCode`,[h]:u_}],[0,{[p]:`Type`,[h]:nb}]]],HE=[3,g,Kde,0,[oc],[[0,{[p]:`GatewayId`,[h]:oh}]]],UE=[3,g,Td,0,[Wde,Zde,qfe,$fe,qf],[[4,{[p]:`ProvisionTime`,[h]:R_}],[0,{[p]:`Provisioned`,[h]:q_}],[4,{[p]:`RequestTime`,[h]:Sv}],[0,{[p]:`Requested`,[h]:Ev}],[0,{[p]:`Status`,[h]:Ay}]]],WE=[3,g,ffe,0,[Il,d],[[()=>WO,{[h]:Sl}],[2,{[p]:`DryRun`,[h]:f}]],1],GE=[3,g,jfe,0,[uc,Gd,dp,Sp,Op],[[0,{[p]:`GroupId`,[h]:sh}],[0,{[p]:`PeeringStatus`,[h]:F_}],[0,{[p]:`UserId`,[h]:ab}],[0,{[p]:`VpcId`,[h]:vb}],[0,{[p]:`VpcPeeringConnectionId`,[h]:Db}]]],KE=[3,g,Qfe,0,[bd,yc,of,Ns],[[0,{[p]:`OptInStatus`,[h]:Xg}],[()=>rA,{[p]:`GeographySet`,[h]:lh}],[0,{[p]:`RegionName`,[h]:pv}],[0,{[p]:`RegionEndpoint`,[h]:nv}]]],qE=[3,g,sfe,0,[$u],[[0,{[p]:`Name`,[h]:bg}]]],JE=[3,g,pfe,0,[$u,Ll,Qre,ki,ip,Lme,nu,np,d,fo,yi,uu,af,$d,Ti,jp,Ff,Es],[[0,{[p]:`Name`,[h]:bg}],0,[()=>uO,{[h]:$re}],0,0,0,0,[()=>DA,{[h]:rp}],[2,{[p]:`DryRun`,[h]:f}],[0,{[p]:`Description`,[h]:Rm}],[0,{[p]:`Architecture`,[h]:tm}],[0,{[p]:`KernelId`,[h]:Xh}],[0,{[p]:`RamdiskId`,[h]:cv}],[0,{[p]:`RootDeviceName`,[h]:Z_}],[()=>fO,{[h]:wi}],[0,{[p]:`VirtualizationType`,[h]:Pb}],[0,{[p]:`SriovNetSupport`,[h]:uy}],[2,{[p]:`EnaSupport`,[h]:Qm}]],1],YE=[3,g,mfe,0,[Fl],[[0,{[p]:`ImageId`,[h]:Fh}]]],XE=[3,g,$de,0,[Zr,Id,ed,d],[0,0,0,[2,{[p]:`DryRun`,[h]:f}]]],ZE=[3,g,Cfe,0,[uu,rs,Ol,Ti,cd,Fl,iu,fu,Qu,qd,Qd,pa,Pl,up,np,Ro,qo,gf,bf,Rl,na,Ji,ea,vu,wc,zu,us,eu,kd,Bu,fa,Sd,dd,Df],[0,2,()=>wT,[()=>bk,{[h]:wi}],[()=>Tk,{[h]:Que}],0,0,0,()=>WT,()=>BT,0,2,0,[()=>Qb,0],[()=>Nk,{[h]:rp}],[()=>SO,{[h]:Lo}],[()=>xk,{[h]:zo}],[()=>hA,{[h]:hf}],[()=>yA,{[h]:xf}],()=>OT,()=>_S,()=>fT,()=>lT,[()=>kk,{[h]:bu}],()=>ST,()=>AT,()=>bT,[()=>zw,0],()=>HT,()=>ET,2,()=>OE,()=>RT,[()=>Dk,{[h]:Of}]]],QE=[3,g,tpe,0,[_fe,yd,bfe,Zs,vce],[[0,{[p]:`ReservationId`,[h]:sv}],[0,{[p]:`OwnerId`,[h]:Yg}],[0,{[p]:`RequesterId`,[h]:uv}],[()=>NO,{[p]:`GroupSet`,[h]:uh}],[()=>YO,{[p]:`InstancesSet`,[h]:Uh}]]],$E=[3,g,nf,0,[ca,Xu],[[0,{[p]:`Code`,[h]:km}],[0,{[p]:`Message`,[h]:vg}]]],eD=[3,g,wfe,0,[uu,rs,Ol,Ti,cd,Fl,iu,fu,Qu,qd,Qd,pa,Pl,up,np,Ro,qo,gf,bf,Rl,na,Ji,ea,vu,wc,zu,us,eu,kd,Bu,fa,Sd,dd,Df],[[0,{[p]:`KernelId`,[h]:Xh}],[2,{[p]:`EbsOptimized`,[h]:Vm}],[()=>CT,{[p]:`IamInstanceProfile`,[h]:Mh}],[()=>yk,{[p]:`BlockDeviceMappingSet`,[h]:sge}],[()=>wk,{[p]:`NetworkInterfaceSet`,[h]:Ng}],[0,{[p]:`ImageId`,[h]:Fh}],[0,{[p]:`InstanceType`,[h]:Gh}],[0,{[p]:`KeyName`,[h]:Qh}],[()=>UT,{[p]:`Monitoring`,[h]:yg}],[()=>zT,{[p]:`Placement`,[h]:W_}],[0,{[p]:`RamDiskId`,[h]:X_}],[2,{[p]:`DisableApiTermination`,[h]:Mm}],[0,{[p]:`InstanceInitiatedShutdownBehavior`,[h]:Ph}],[()=>Qb,{[p]:`UserData`,[h]:ib}],[()=>Mk,{[p]:`TagSpecificationSet`,[h]:qy}],[()=>CO,{[p]:`ElasticGpuSpecificationSet`,[h]:f_e}],[()=>Sk,{[p]:`ElasticInferenceAcceleratorSet`,[h]:v_e}],[()=>jA,{[p]:`SecurityGroupIdSet`,[h]:Lv}],[()=>jA,{[p]:`SecurityGroupSet`,[h]:Uv}],[()=>DT,{[p]:`InstanceMarketOptions`,[h]:cve}],[()=>gS,{[p]:`CreditSpecification`,[h]:Dge}],[()=>dT,{[p]:`CpuOptions`,[h]:ym}],[()=>uT,{[p]:`CapacityReservationSpecification`,[h]:wm}],[()=>Ok,{[p]:`LicenseSet`,[h]:tg}],[()=>xT,{[p]:`HibernationOptions`,[h]:mh}],[()=>kT,{[p]:`MetadataOptions`,[h]:dg}],[()=>yT,{[p]:`EnclaveOptions`,[h]:Um}],[()=>Rw,{[p]:`InstanceRequirements`,[h]:Sve}],[()=>VT,{[p]:`PrivateDnsNameOptions`,[h]:d_}],[()=>TT,{[p]:`MaintenanceOptions`,[h]:fg}],[2,{[p]:`DisableApiStop`,[h]:Nge}],[()=>kE,{[p]:`Operator`,[h]:r_}],[()=>LT,{[p]:`NetworkPerformanceOptions`,[h]:Lg}],[()=>Ek,{[p]:`SecondaryInterfaceSet`,[h]:$v}]]],tD=[3,g,Rfe,0,[yf,uc,sl,Yl,Ws,ep,Gi,Wi,Ud,cfe,fo],[[0,{[p]:`SecurityGroupRuleId`,[h]:Bv}],[0,{[p]:`GroupId`,[h]:sh}],[2,{[p]:`IsEgress`,[h]:Oh}],[0,{[p]:`IpProtocol`,[h]:zh}],[1,{[p]:`FromPort`,[h]:ih}],[1,{[p]:`ToPort`,[h]:Uy}],[0,{[p]:`CidrIpv4`,[h]:vm}],[0,{[p]:`CidrIpv6`,[h]:_m}],[0,{[p]:`PrefixListId`,[h]:j_}],[0,{[p]:`ReferencedGroupId`,[h]:iv}],[0,{[p]:`Description`,[h]:Rm}]]],nD=[3,g,Nfe,0,[uc,vf,d,Bf,Vf,Yl,Ws,ep,Ui,Jl],[[0,{[p]:`GroupId`,[h]:sh}],[()=>_A,{[h]:yf}],[2,{[p]:`DryRun`,[h]:f}],[0,{[p]:`SourceSecurityGroupName`,[h]:hy}],[0,{[p]:`SourceSecurityGroupOwnerId`,[h]:gy}],[0,{[p]:`IpProtocol`,[h]:zh}],[1,{[p]:`FromPort`,[h]:ih}],[1,{[p]:`ToPort`,[h]:Uy}],[0,{[p]:`CidrIp`,[h]:gm}],[()=>lk,{[p]:`IpPermissions`,[h]:Bh}]],1],rD=[3,g,Pfe,0,[Xd,fp,sf],[[2,{[p]:`Return`,[h]:J_}],[()=>lk,{[p]:`UnknownIpPermissionSet`,[h]:ob}],[()=>sA,{[p]:`RevokedSecurityGroupRuleSet`,[h]:mv}]]],iD=[3,g,Ffe,0,[Ui,Ws,uc,mc,Jl,Yl,Bf,Vf,ep,vf,d],[0,1,0,0,[()=>lk,0],0,0,0,1,[()=>_A,{[h]:yf}],[2,{[p]:`DryRun`,[h]:f}]]],aD=[3,g,Ife,0,[Xd,fp,sf],[[2,{[p]:`Return`,[h]:J_}],[()=>lk,{[p]:`UnknownIpPermissionSet`,[h]:ob}],[()=>sA,{[p]:`RevokedSecurityGroupRuleSet`,[h]:mv}]]],oD=[3,g,npe,0,[ma,ga,ya,ss,oc,Sl,xse,ad,Qf,gu,Vi,sd,nde,Kf,Op,qi,xd,Gc],[[0,{[p]:`DestinationCidrBlock`,[h]:Nm}],[0,{[p]:`DestinationIpv6CidrBlock`,[h]:Fm}],[0,{[p]:`DestinationPrefixListId`,[h]:Hge}],[0,{[p]:`EgressOnlyInternetGatewayId`,[h]:Hm}],[0,{[p]:`GatewayId`,[h]:oh}],[0,{[p]:`InstanceId`,[h]:jh}],[0,{[p]:`InstanceOwnerId`,[h]:fve}],[0,{[p]:`NatGatewayId`,[h]:Og}],[0,{[p]:`TransitGatewayId`,[h]:Fy}],[0,{[p]:`LocalGatewayId`,[h]:Uve}],[0,{[p]:`CarrierGatewayId`,[h]:bge}],[0,{[p]:`NetworkInterfaceId`,[h]:jg}],[0,{[p]:`Origin`,[h]:Gg}],[0,{[p]:`State`,[h]:ky}],[0,{[p]:`VpcPeeringConnectionId`,[h]:Db}],[0,{[p]:`CoreNetworkArn`,[h]:Tge}],[0,{[p]:`OdbNetworkArn`,[h]:$g}],[0,{[p]:`IpAddress`,[h]:Ch}]]],sD=[3,g,uf,0,[Vre,Jde,cf,rpe,Xf,Sp,yd],[[()=>uA,{[p]:`AssociationSet`,[h]:ege}],[()=>tA,{[p]:`PropagatingVgwSet`,[h]:B_}],[0,{[p]:`RouteTableId`,[h]:yv}],[()=>lA,{[p]:`RouteSet`,[h]:_v}],[()=>EA,{[p]:`TagSet`,[h]:Gy}],[0,{[p]:`VpcId`,[h]:vb}],[0,{[p]:`OwnerId`,[h]:Yg}]]],cD=[3,g,Bfe,0,[Due,Vfe,cf,Af,oc,Bd,ci],[[2,{[p]:`Main`,[h]:_ye}],[0,{[p]:`RouteTableAssociationId`,[h]:vv}],[0,{[p]:`RouteTableId`,[h]:yv}],[0,{[p]:`SubnetId`,[h]:ny}],[0,{[p]:`GatewayId`,[h]:oh}],[0,{[p]:`PublicIpv4Pool`,[h]:T_}],[()=>lD,{[p]:`AssociationState`,[h]:Kp}]]],lD=[3,g,Ufe,0,[Kf,Nf],[[0,{[p]:`State`,[h]:ky}],[0,{[p]:`StatusMessage`,[h]:oy}]]],uD=[3,g,dfe,0,[js],[[2,{[p]:`Enabled`,[h]:eh}]],1],dD=[3,g,hfe,0,[eue,tue,Ti,Fl,iu,Lc,Fc,uu,fu,Qu,qd,af,gf,bf,Af,up,Lo,qo,np,Su,Rl,na,Ji,ea,wc,vu,zu,us,kd,Bu,fa,ds,dd,Sd,Df,d,pa,Pl,Rd,ra,Xr,cd,Ol,rs],[1,1,[()=>fO,{[h]:wi}],0,0,1,[()=>KO,{[h]:Kc}],0,0,[()=>uD,0],[()=>ME,0],0,[()=>hA,{[h]:hf}],[()=>yA,{[h]:xf}],0,[()=>Zb,0],[()=>wO,0],[()=>EO,{[h]:zo}],[()=>DA,{[h]:rp}],()=>GT,()=>Ow,()=>_S,()=>Hx,()=>Mx,()=>ow,[()=>Ik,{[h]:bu}],()=>kw,()=>JC,()=>LE,()=>Dw,2,2,()=>Iw,()=>OE,[()=>nk,{[h]:Of}],[2,{[p]:`DryRun`,[h]:f}],[2,{[p]:`DisableApiTermination`,[h]:Mm}],[0,{[p]:`InstanceInitiatedShutdownBehavior`,[h]:Ph}],[0,{[p]:`PrivateIpAddress`,[h]:w_}],[0,{[p]:`ClientToken`,[Nve]:1,[h]:Em}],[0,{[p]:`AdditionalInfo`,[h]:Bp}],[()=>ZO,{[p]:`NetworkInterface`,[h]:Pg}],[()=>lw,{[p]:`IamInstanceProfile`,[h]:Mh}],[2,{[p]:`EbsOptimized`,[h]:Vm}]],2],fD=[3,g,wf,0,[Rd],[[0,{[p]:`PrivateIpAddress`,[h]:w_}]]],pD=[3,g,Mpe,0,[Rd],[0]],mD=[3,g,xf,0,[uc,Cse,Xf,Sp,mf,yd,mc,fo,Jl],[[0,{[p]:`GroupId`,[h]:sh}],[()=>lk,{[p]:`IpPermissionsEgress`,[h]:_ve}],[()=>EA,{[p]:`TagSet`,[h]:Gy}],[0,{[p]:`VpcId`,[h]:vb}],[0,{[p]:`SecurityGroupArn`,[h]:Iv}],[0,{[p]:`OwnerId`,[h]:Yg}],[0,{[p]:`GroupName`,[h]:ch}],[0,{[p]:`GroupDescription`,[h]:R_e}],[()=>lk,{[p]:`IpPermissions`,[h]:Bh}]]],hD=[3,g,xpe,0,[yf,uc,_c,sl,Yl,Ws,ep,Gi,Wi,Ud,lfe,fo,Xf,vpe],[[0,{[p]:`SecurityGroupRuleId`,[h]:Bv}],[0,{[p]:`GroupId`,[h]:sh}],[0,{[p]:`GroupOwnerId`,[h]:V_e}],[2,{[p]:`IsEgress`,[h]:Oh}],[0,{[p]:`IpProtocol`,[h]:zh}],[1,{[p]:`FromPort`,[h]:ih}],[1,{[p]:`ToPort`,[h]:Uy}],[0,{[p]:`CidrIpv4`,[h]:vm}],[0,{[p]:`CidrIpv6`,[h]:_m}],[0,{[p]:`PrefixListId`,[h]:j_}],[()=>GE,{[p]:`ReferencedGroupInfo`,[h]:av}],[0,{[p]:`Description`,[h]:Rm}],[()=>EA,{[p]:`TagSet`,[h]:Gy}],[0,{[p]:`SecurityGroupRuleArn`,[h]:zv}]]],gD=[3,g,mme,0,[rde,_d,Xf,ome,afe,Uf,fi,Pme,Bi,aae,Ks,kf,wp,Kf,Pf,Wf,Yd,yd,fo,kp,Ms,du,Cae],[[0,{[p]:`OwnerAlias`,[h]:qg}],[0,{[p]:`OutpostArn`,[h]:Kg}],[()=>EA,{[p]:`TagSet`,[h]:Gy}],[0,{[p]:`StorageTier`,[h]:Cy}],[4,{[p]:`RestoreExpiryTime`,[h]:tv}],[0,{[p]:`SseType`,[h]:xy}],[0,{[p]:`AvailabilityZone`,[h]:Xp}],[0,{[p]:`TransferType`,[h]:Zy}],[1,{[p]:`CompletionDurationMinutes`,[h]:vge}],[4,{[p]:`CompletionTime`,[h]:Age}],[1,{[p]:`FullSnapshotSizeInBytes`,[h]:P_e}],[0,{[p]:`SnapshotId`,[h]:ty}],[0,{[p]:`VolumeId`,[h]:bb}],[0,{[p]:`Status`,[h]:Ay}],[0,{[p]:`StatusMessage`,[h]:oy}],[4,{[p]:`StartTime`,[h]:Sy}],[0,{[p]:`Progress`,[h]:K_}],[0,{[p]:`OwnerId`,[h]:Yg}],[0,{[p]:`Description`,[h]:Rm}],[1,{[p]:`VolumeSize`,[h]:Ab}],[2,{[p]:`Encrypted`,[h]:th}],[0,{[p]:`KmsKeyId`,[h]:Zh}],[0,{[p]:`DataEncryptionKeyId`,[h]:Fge}]]],_D=[3,g,Xpe,0,[Hu,Ef,Ei,Mp,Dl],[0,0,1,4,0]],vD=[3,g,Ppe,0,[Il,Xr,d],[[()=>WO,{[h]:Sl}],[0,{[p]:`AdditionalInfo`,[h]:Bp}],[2,{[p]:`DryRun`,[h]:f}]],1],yD=[3,g,Fpe,0,[Hpe],[[()=>rk,{[p]:`InstancesSet`,[h]:Uh}]]],bD=[3,g,zf,0,[ca,Xu],[[0,{[p]:`Code`,[h]:km}],[0,{[p]:`Message`,[h]:vg}]]],xD=[3,g,Ipe,0,[Il,Mc,Lf,d,Fs],[[()=>WO,{[h]:Sl}],2,2,[2,{[p]:`DryRun`,[h]:f}],[2,{[p]:`Force`,[h]:F_e}]],1],SD=[3,g,Lpe,0,[Wpe],[[()=>rk,{[p]:`InstancesSet`,[h]:Uh}]]],CD=[3,g,Yf,0,[hi,ns,Nu,Xi,yd,Jr,Qc,Xf,spe,_d,wo,Vl,Ad,Mi,lp,Af,Kf,Sp,Ii,Gne,fi,Tae,Vu],[[0,{[p]:`AvailabilityZoneId`,[h]:Zp}],[1,{[p]:`EnableLniAtDeviceIndex`,[h]:C_e}],[2,{[p]:`MapCustomerOwnedIpOnLaunch`,[h]:nye}],[0,{[p]:`CustomerOwnedIpv4Pool`,[h]:xm}],[0,{[p]:`OwnerId`,[h]:Yg}],[2,{[p]:`AssignIpv6AddressOnCreation`,[h]:Vhe}],[()=>CA,{[p]:`Ipv6CidrBlockAssociationSet`,[h]:Eh}],[()=>EA,{[p]:`TagSet`,[h]:Gy}],[0,{[p]:`SubnetArn`,[h]:kv}],[0,{[p]:`OutpostArn`,[h]:Kg}],[2,{[p]:`EnableDns64`,[h]:a_e}],[2,{[p]:`Ipv6Native`,[h]:lve}],[()=>IE,{[p]:`PrivateDnsNameOptionsOnLaunch`,[h]:f_}],[()=>jx,{[p]:`BlockPublicAccessStates`,[h]:lm}],[0,{[p]:`Type`,[h]:nb}],[0,{[p]:`SubnetId`,[h]:ny}],[0,{[p]:`State`,[h]:ky}],[0,{[p]:`VpcId`,[h]:vb}],[0,{[p]:`CidrBlock`,[h]:fm}],[1,{[p]:`AvailableIpAddressCount`,[h]:Bhe}],[0,{[p]:`AvailabilityZone`,[h]:Xp}],[2,{[p]:`DefaultForAz`,[h]:Lge}],[2,{[p]:`MapPublicIpOnLaunch`,[h]:fye}]]],wD=[3,g,upe,0,[Kf,Nf],[[0,{[p]:`State`,[h]:ky}],[0,{[p]:`StatusMessage`,[h]:oy}]]],TD=[3,g,wpe,0,[$r,Zc,el,Ic,ru],[[0,{[p]:`AssociationId`,[h]:Vp}],[0,{[p]:`Ipv6CidrBlock`,[h]:Th}],[()=>wD,{[p]:`Ipv6CidrBlockState`,[h]:Dh}],[0,{[p]:`Ipv6AddressAttribute`,[h]:bh}],[0,{[p]:`IpSource`,[h]:Wh}]]],ED=[3,g,ap,0,[yce,gp],[[0,{[p]:`Key`,[h]:Ive}],[0,{[p]:`Value`,[h]:db}]]],DD=[3,g,rp,0,[lf,Xf],[[0,{[p]:`ResourceType`,[h]:xv}],[()=>EA,{[h]:ap}]]],OD=[3,g,bme,0,[Il,Fs,Lf,d],[[()=>WO,{[h]:Sl}],2,2,[2,{[p]:`DryRun`,[h]:f}]],1],kD=[3,g,xme,0,[Cme],[[()=>rk,{[p]:`InstancesSet`,[h]:Uh}]]],AD=[3,g,$f,0,[Ou,Ju],[[1,{[p]:`Min`,[h]:ag}],[1,{[p]:`Max`,[h]:gg}]]],jD=[3,g,Tme,0,[Ou,Ju],[1,1]],MD=[3,g,Vme,0,[fo,dp,mc,uc,Sp,Op,Gd],[[0,{[p]:`Description`,[h]:Rm}],[0,{[p]:`UserId`,[h]:ab}],[0,{[p]:`GroupName`,[h]:ch}],[0,{[p]:`GroupId`,[h]:sh}],[0,{[p]:`VpcId`,[h]:vb}],[0,{[p]:`VpcPeeringConnectionId`,[h]:Db}],[0,{[p]:`PeeringStatus`,[h]:F_}]]],ND=[3,g,the,0,[ca,Xu],[[0,{[p]:`Code`,[h]:km}],[0,{[p]:`Message`,[h]:vg}]]],PD=[3,g,xhe,0,[Ps],[[()=>DO,{[p]:`ErrorSet`,[h]:k_e}]]],FD=[3,g,Jme,0,[Ou,Ju],[[1,{[p]:`Min`,[h]:ag}],[1,{[p]:`Max`,[h]:gg}]]],ID=[3,g,Yme,0,[Ou,Ju],[1,1],1],LD=[3,g,vp,0,[Xa,Sae,Ga,Xme,bhe],[[1,{[p]:`DefaultVCpus`,[h]:Qge}],[1,{[p]:`DefaultCores`,[h]:Pge}],[1,{[p]:`DefaultThreadsPerCore`,[h]:qge}],[()=>mO,{[p]:`ValidCores`,[h]:mb}],[()=>OA,{[p]:`ValidThreadsPerCore`,[h]:Nb}]]],RD=[3,g,whe,0,[hi,_d,ume,cu,Xf,Ap,Gs,ku,sp,Uf,Sd,Cp,wp,Gf,kf,fi,Kf,sa,Si,Ms,du],[[0,{[p]:`AvailabilityZoneId`,[h]:Zp}],[0,{[p]:`OutpostArn`,[h]:Kg}],[0,{[p]:`SourceVolumeId`,[h]:Ty}],[1,{[p]:`Iops`,[h]:Jh}],[()=>EA,{[p]:`TagSet`,[h]:Gy}],[0,{[p]:`VolumeType`,[h]:Mb}],[2,{[p]:`FastRestored`,[h]:N_e}],[2,{[p]:`MultiAttachEnabled`,[h]:eye}],[1,{[p]:`Throughput`,[h]:eb}],[0,{[p]:`SseType`,[h]:xy}],[()=>kE,{[p]:`Operator`,[h]:r_}],[1,{[p]:`VolumeInitializationRate`,[h]:yb}],[0,{[p]:`VolumeId`,[h]:bb}],[1,{[p]:`Size`,[h]:Oy}],[0,{[p]:`SnapshotId`,[h]:ty}],[0,{[p]:`AvailabilityZone`,[h]:Xp}],[0,{[p]:`Status`,[h]:Ay}],[4,{[p]:`CreateTime`,[h]:Om}],[()=>PA,{[p]:`AttachmentSet`,[h]:Jp}],[2,{[p]:`Encrypted`,[h]:th}],[0,{[p]:`KmsKeyId`,[h]:Zh}]]],zD=[3,g,Wme,0,[va,ai,Sse,yo,wp,Sl,po,Kf,di],[[2,{[p]:`DeleteOnTermination`,[h]:Lm}],[0,{[p]:`AssociatedResource`,[h]:Wp}],[0,{[p]:`InstanceOwningService`,[h]:mve}],[1,{[p]:`EbsCardIndex`,[h]:Bm}],[0,{[p]:`VolumeId`,[h]:bb}],[0,{[p]:`InstanceId`,[h]:jh}],[0,{[p]:`Device`,[h]:t_e}],[0,{[p]:`Status`,[h]:Ay}],[4,{[p]:`AttachTime`,[h]:Yp}]]],BD=[3,g,Tp,0,[wp,Gu,Nf,Mme,Sme,Fme,Nme,Eme,ude,ide,fde,dde,ode,Yd,Wf,Os,Sd],[[0,{[p]:`VolumeId`,[h]:bb}],[0,{[p]:`ModificationState`,[h]:mg}],[0,{[p]:`StatusMessage`,[h]:oy}],[1,{[p]:`TargetSize`,[h]:Jy}],[1,{[p]:`TargetIops`,[h]:Ry}],[0,{[p]:`TargetVolumeType`,[h]:Qy}],[1,{[p]:`TargetThroughput`,[h]:Xy}],[2,{[p]:`TargetMultiAttachEnabled`,[h]:By}],[1,{[p]:`OriginalSize`,[h]:e_}],[1,{[p]:`OriginalIops`,[h]:Zg}],[0,{[p]:`OriginalVolumeType`,[h]:n_}],[1,{[p]:`OriginalThroughput`,[h]:t_}],[2,{[p]:`OriginalMultiAttachEnabled`,[h]:Qg}],[1,{[p]:`Progress`,[h]:K_}],[4,{[p]:`StartTime`,[h]:Sy}],[4,{[p]:`EndTime`,[h]:A_e}],[()=>kE,{[p]:`Operator`,[h]:r_}]]],VD=[3,g,Fp,0,[yd,au,Qc,nie,ol,Co,Xf,Mi,Sp,Kf,Ii,joe],[[0,{[p]:`OwnerId`,[h]:Yg}],[0,{[p]:`InstanceTenancy`,[h]:Kh}],[()=>zA,{[p]:`Ipv6CidrBlockAssociationSet`,[h]:Eh}],[()=>LA,{[p]:`CidrBlockAssociationSet`,[h]:mge}],[2,{[p]:`IsDefault`,[h]:$_e}],[()=>WD,{[p]:`EncryptionControl`,[h]:i_e}],[()=>EA,{[p]:`TagSet`,[h]:Gy}],[()=>jx,{[p]:`BlockPublicAccessStates`,[h]:lm}],[0,{[p]:`VpcId`,[h]:vb}],[0,{[p]:`State`,[h]:ky}],[0,{[p]:`CidrBlock`,[h]:fm}],[0,{[p]:`DhcpOptionsId`,[h]:Vge}]]],HD=[3,g,Gme,0,[$r,Ii,iie],[[0,{[p]:`AssociationId`,[h]:Vp}],[0,{[p]:`CidrBlock`,[h]:fm}],[()=>UD,{[p]:`CidrBlockState`,[h]:gge}]]],UD=[3,g,qme,0,[Kf,Nf],[[0,{[p]:`State`,[h]:ky}],[0,{[p]:`StatusMessage`,[h]:oy}]]],WD=[3,g,bp,0,[Sp,ehe,Zu,Kf,Pf,ofe,Xf],[[0,{[p]:`VpcId`,[h]:vb}],[0,{[p]:`VpcEncryptionControlId`,[h]:gb}],[0,{[p]:`Mode`,[h]:yye}],[0,{[p]:`State`,[h]:ky}],[0,{[p]:`StateMessage`,[h]:sy}],[()=>qD,{[p]:`ResourceExclusions`,[h]:rv}],[()=>EA,{[p]:`TagSet`,[h]:Gy}]]],GD=[3,g,Zme,0,[Zu,pl,os,Gue,ghe,mhe,Pce,lhe,Eo],[0,0,0,0,0,0,0,0,0],1],KD=[3,g,Qme,0,[Kf,Pf],[[0,{[p]:`State`,[h]:ky}],[0,{[p]:`StateMessage`,[h]:sy}]]],qD=[3,g,$me,0,[ll,as,id,hhe,phe,jce,che,To],[[()=>KD,{[p]:`InternetGateway`,[h]:kh}],[()=>KD,{[p]:`EgressOnlyInternetGateway`,[h]:T_e}],[()=>KD,{[p]:`NatGateway`,[h]:Eg}],[()=>KD,{[p]:`VirtualPrivateGateway`,[h]:Ob}],[()=>KD,{[p]:`VpcPeering`,[h]:Eb}],[()=>KD,{[p]:`Lambda`,[h]:Vve}],[()=>KD,{[p]:`VpcLattice`,[h]:xb}],[()=>KD,{[p]:`ElasticFileSystem`,[h]:o_e}]]],JD=[3,g,nhe,0,[$r,Zc,el,ed,Zl,Ic,ru],[[0,{[p]:`AssociationId`,[h]:Vp}],[0,{[p]:`Ipv6CidrBlock`,[h]:Th}],[()=>UD,{[p]:`Ipv6CidrBlockState`,[h]:Dh}],[0,{[p]:`NetworkBorderGroup`,[h]:xg}],[0,{[p]:`Ipv6Pool`,[h]:yve}],[0,{[p]:`Ipv6AddressAttribute`,[h]:bh}],[0,{[p]:`IpSource`,[h]:Wh}]]],YD=`unit`,XD=[1,g,are,0,[0,{[h]:m}]],ZD=[1,g,sre,0,[0,{[h]:m}]],QD=[1,g,Dre,0,[0,{[h]:m}]],$D=[1,g,ire,0,[()=>rx,{[h]:m}]],eO=[1,g,Zne,0,[0,{[h]:Zr}]],tO=[1,g,$ne,0,[0,{[h]:m}]],nO=[1,g,Tre,0,[0,{[h]:m}]],rO=[1,g,Qne,0,[0,{[h]:$r}]],iO=[1,g,mi,0,[()=>xx,{[h]:pi}]],aO=[1,g,Nre,0,[()=>Sx,{[h]:m}]],oO=[1,g,Pre,0,[()=>bx,{[h]:m}]],sO=[1,g,Ire,0,[()=>Cx,{[h]:m}]],cO=[1,g,Rre,0,[()=>wx,{[h]:m}]],lO=[1,g,eie,0,[0,{[h]:m}]],uO=[1,g,Xre,0,[0,{[h]:m}]],dO=[1,g,Gre,0,[()=>Ax,{[h]:m}]],fO=[1,g,Kre,0,[()=>Ax,{[h]:wi}]],pO=[1,g,Jre,0,[0,{[h]:m}]],mO=[1,g,aie,0,[1,{[h]:m}]],hO=[1,g,wie,0,[0,{[h]:m}]],gO=[1,g,hoe,0,[()=>TS,{[h]:m}]],_O=[1,g,_oe,0,[()=>ES,{[h]:m}]],vO=[1,g,Na,0,[()=>IS,{[h]:m}]],yO=[1,g,Bae,0,[()=>MC,{[h]:m}]],bO=[1,g,bo,0,[()=>PC,{[h]:m}]],xO=[1,g,ko,0,[()=>BC,{[h]:m}]],SO=[1,g,Po,0,[()=>VC,{[h]:Lo}]],CO=[1,g,Io,0,[()=>HC,{[h]:m}]],wO=[1,g,Ro,0,[()=>VC,{[h]:m}]],TO=[1,g,Ho,0,[()=>WC,{[h]:m}]],EO=[1,g,qo,0,[()=>UC,{[h]:m}]],DO=[1,g,Ds,0,[()=>ND,{[h]:m}]],OO=[1,g,Zo,0,[0,{[h]:m}]],kO=[1,g,_o,0,[0,{[h]:vo}]],AO=[1,g,Hs,0,[()=>YC,{[h]:Ys}]],jO=[1,g,Rs,0,[()=>XC,{[h]:m}]],MO=[1,g,ic,0,[()=>tw,{[h]:m}]],NO=[1,g,sc,0,[()=>iw,{[h]:m}]],PO=[1,g,cc,0,[0,{[h]:sh}]],FO=[1,g,hc,0,[0,{[h]:mc}]],IO=[1,g,Al,0,[()=>cw,{[h]:m}]],LO=[1,g,Zoe,0,[0,{[h]:Fl}]],RO=[1,g,rse,0,[()=>uw,{[h]:m}]],zO=[1,g,pce,0,[()=>dw,{[h]:m}]],BO=[1,g,rl,0,[()=>hw,0]],VO=[1,g,Jc,0,[()=>bw,{[h]:m}]],HO=[1,g,Xc,0,[()=>xw,{[h]:m}]],UO=[1,g,vl,0,[0,{[h]:m}]],WO=[1,g,Qoe,0,[0,{[h]:Sl}]],GO=[1,g,Koe,0,[()=>Sw,{[h]:m}]],KO=[1,g,wl,0,[()=>Cw,{[h]:m}]],qO=[1,g,Tl,0,[()=>ww,{[h]:Cl}]],JO=[1,g,qoe,0,[()=>Tw,{[h]:m}]],YO=[1,g,ase,0,[()=>_w,{[h]:m}]],XO=[1,g,hse,0,[()=>jw,{[h]:m}]],ZO=[1,g,gse,0,[()=>Pw,{[h]:m}]],QO=[1,g,Ese,0,[()=>Lw,{[h]:m}]],$O=[1,g,Xse,0,[()=>Bw,{[h]:m}]],ek=[1,g,Qse,0,[()=>Hw,{[h]:m}]],tk=[1,g,$se,0,[()=>Uw,{[h]:m}]],nk=[1,g,nce,0,[()=>Ww,{[h]:m}]],rk=[1,g,Jse,0,[()=>Kw,{[h]:m}]],ik=[1,g,cce,0,[()=>Jw,{[h]:m}]],ak=[1,g,dl,0,[()=>Xw,{[h]:m}]],ok=[1,g,hl,0,[0,{[h]:m}]],sk=[1,g,_l,0,[()=>Yw,{[h]:m}]],ck=[1,g,ose,0,[0,{[h]:m}]],lk=[1,g,jse,0,[()=>Zw,{[h]:m}]],uk=[1,g,Bse,0,[()=>Qw,{[h]:m}]],dk=[1,g,Mse,0,[()=>$w,{[h]:m}]],fk=[1,g,kse,0,[()=>eT,{[h]:m}]],pk=[1,g,Nse,0,[()=>tT,{[h]:m}]],mk=[1,g,Ase,0,[()=>nT,{[h]:m}]],hk=[1,g,Vse,0,[()=>rT,{[h]:m}]],gk=[1,g,Sce,0,[0,{[h]:fu}]],_k=[1,g,Tce,0,[0,{[h]:pu}]],vk=[1,g,Oce,0,[()=>aT,{[h]:m}]],yk=[1,g,Hce,0,[()=>sT,{[h]:m}]],bk=[1,g,Wce,0,[()=>cT,{[h]:wi}]],xk=[1,g,Qce,0,[()=>hT,{[h]:m}]],Sk=[1,g,ele,0,[()=>gT,{[h]:m}]],Ck=[1,g,Cle,0,[0,{[h]:m}]],wk=[1,g,gle,0,[()=>jT,{[h]:m}]],Tk=[1,g,vle,0,[()=>MT,{[h]:Hl}]],Ek=[1,g,ble,0,[()=>NT,{[h]:m}]],Dk=[1,g,Sle,0,[()=>PT,{[h]:tce}]],Ok=[1,g,Dle,0,[()=>FT,{[h]:m}]],kk=[1,g,Ole,0,[()=>IT,{[h]:m}]],Ak=[1,g,Nle,0,[0,{[h]:m}]],jk=[1,g,Hle,0,[()=>oT,{[h]:m}]],Mk=[1,g,Wle,0,[()=>JT,{[h]:m}]],Nk=[1,g,Gle,0,[()=>YT,{[h]:Eu}]],Pk=[1,g,Kle,0,[()=>XT,{[h]:m}]],Fk=[1,g,Ice,0,[()=>ZT,{[h]:m}]],Ik=[1,g,Rce,0,[()=>QT,{[h]:m}]],Lk=[1,g,zce,0,[0,{[h]:m}]],Rk=[1,g,rue,0,[()=>eE,{[h]:m}]],zk=[1,g,Uue,0,[()=>hE,{[h]:m}]],Bk=[1,g,Hue,0,[()=>gE,{[h]:m}]],Vk=[1,g,Kue,0,[0,{[h]:m}]],Hk=[1,g,Jue,0,[()=>mE,{[h]:m}]],Uk=[1,g,Mue,0,[()=>yE,{[h]:m}]],Wk=[1,g,Iue,0,[()=>wE,{[h]:m}]],Gk=[1,g,tde,0,[0,{[h]:m}]],Kk=[1,g,lde,0,[0,{[h]:Cd}]],qk=[1,g,Tde,0,[()=>AE,{[h]:m}]],Jk=[1,g,Ede,0,[()=>jE,{[h]:m}]],Yk=[1,g,Dde,0,[0,{[h]:uc}]],Xk=[1,g,Ode,0,[()=>NE,{[h]:m}]],Zk=[1,g,kde,0,[0,{[h]:m}]],Qk=[1,g,zde,0,[()=>FE,{[h]:m}]],$k=[1,g,Mde,0,[()=>zE,{[h]:m}]],eA=[1,g,_de,0,[()=>VE,{[h]:m}]],tA=[1,g,qde,0,[()=>HE,{[h]:m}]],nA=[1,g,Pde,0,[0,{[h]:Id}]],rA=[1,g,ufe,0,[()=>qE,{[h]:m}]],iA=[1,g,Sfe,0,[()=>KE,{[h]:m}]],aA=[1,g,kfe,0,[0,{[h]:of}]],oA=[1,g,Tfe,0,[()=>QE,{[h]:m}]],sA=[1,g,zfe,0,[()=>tD,{[h]:m}]],cA=[1,g,ife,0,[0,{[h]:m}]],lA=[1,g,Efe,0,[()=>oD,{[h]:m}]],uA=[1,g,Hfe,0,[()=>cD,{[h]:m}]],dA=[1,g,Wfe,0,[0,{[h]:m}]],fA=[1,g,Kfe,0,[()=>sD,{[h]:m}]],pA=[1,g,Ape,0,[()=>fD,{[h]:m}]],mA=[1,g,jpe,0,[()=>pD,{[h]:wf}]],hA=[1,g,gpe,0,[0,{[h]:hf}]],gA=[1,g,_pe,0,[()=>mD,{[h]:m}]],_A=[1,g,ype,0,[0,{[h]:m}]],vA=[1,g,bpe,0,[()=>hD,{[h]:m}]],yA=[1,g,Spe,0,[0,{[h]:xf}]],bA=[1,g,zpe,0,[0,{[h]:kf}]],xA=[1,g,qpe,0,[()=>gD,{[h]:m}]],SA=[1,g,Bpe,0,[0,{[h]:Af}]],CA=[1,g,Tpe,0,[()=>TD,{[h]:m}]],wA=[1,g,Jpe,0,[()=>CD,{[h]:m}]],TA=[1,g,ope,0,[0,{[h]:m}]],EA=[1,g,wme,0,[()=>ED,{[h]:m}]],DA=[1,g,jme,0,[()=>DD,{[h]:m}]],OA=[1,g,kme,0,[1,{[h]:m}]],kA=[1,g,Ime,0,[0,{[h]:m}]],AA=[1,g,Bme,0,[()=>MD,{[h]:m}]],jA=[1,g,_he,0,[0,{[h]:m}]],MA=[1,g,vhe,0,[0,{[h]:m}]],NA=[1,g,yhe,0,[0,{[h]:m}]],PA=[1,g,Ume,0,[()=>zD,{[h]:m}]],FA=[1,g,ihe,0,[0,{[h]:wp}]],IA=[1,g,uhe,0,[()=>RD,{[h]:m}]],LA=[1,g,Kme,0,[()=>HD,{[h]:m}]],RA=[1,g,ahe,0,[0,{[h]:Sp}]],zA=[1,g,rhe,0,[()=>JD,{[h]:m}]],BA=[1,g,dhe,0,[()=>VD,{[h]:m}]],VA=[1,g,Ohe,0,[0,{[h]:m}]],HA=[1,g,Ahe,0,[0,{[h]:Lp}]],UA=[1,g,Mhe,0,[0,{[h]:Rp}]],WA=[9,g,Rne,0,()=>ix,()=>ax],GA=[9,g,Bne,0,()=>ox,()=>sx],KA=[9,g,Jne,0,()=>cx,()=>lx],qA=[9,g,mre,0,()=>ux,()=>dx],JA=[9,g,Kne,0,()=>fx,()=>YD],YA=[9,g,jre,0,()=>px,()=>zD],XA=[9,g,_re,0,()=>gx,()=>_x],ZA=[9,g,Sre,0,()=>vx,()=>yx],QA=[9,g,$ie,0,()=>zx,()=>Bx],$A=[9,g,hie,0,()=>Gx,()=>Kx],ej=[9,g,lie,0,()=>qx,()=>Jx],tj=[9,g,gie,0,()=>Yx,()=>iT],nj=[9,g,vie,0,()=>Xx,()=>Zx],rj=[9,g,xie,0,()=>Qx,()=>$x],ij=[9,g,Eie,0,()=>eS,()=>tS],aj=[9,g,Mie,0,()=>nS,()=>rS],oj=[9,g,Hie,0,()=>iS,()=>aS],sj=[9,g,Vie,0,()=>oS,()=>sS],cj=[9,g,Uie,0,()=>cS,()=>lS],lj=[9,g,eae,0,()=>uS,()=>gD],uj=[9,g,tae,0,()=>dS,()=>fS],dj=[9,g,lae,0,()=>pS,()=>RD],fj=[9,g,uae,0,()=>mS,()=>hS],pj=[9,g,Dae,0,()=>yS,()=>YD],mj=[9,g,eoe,0,()=>bS,()=>xS],hj=[9,g,soe,0,()=>SS,()=>CS],gj=[9,g,foe,0,()=>wS,()=>DS],_j=[9,g,woe,0,()=>OS,()=>kS],vj=[9,g,Moe,0,()=>AS,()=>YD],yj=[9,g,Ca,0,()=>jS,()=>YD],bj=[9,g,Voe,0,()=>MS,()=>YD],xj=[9,g,Ta,0,()=>NS,()=>PS],Sj=[9,g,Ba,0,()=>FS,()=>YD],Cj=[9,g,Va,0,()=>LS,()=>YD],wj=[9,g,oo,0,()=>RS,()=>YD],Tj=[9,g,so,0,()=>zS,()=>YD],Ej=[9,g,Xae,0,()=>BS,()=>VS],Dj=[9,g,yae,0,()=>HS,()=>US],Oj=[9,g,vae,0,()=>WS,()=>GS],kj=[9,g,Fae,0,()=>KS,()=>qS],Aj=[9,g,Zae,0,()=>JS,()=>YS],jj=[9,g,Qae,0,()=>XS,()=>ZS],Mj=[9,g,Yae,0,()=>QS,()=>$S],Nj=[9,g,Mae,0,()=>eC,()=>tC],Pj=[9,g,aoe,0,()=>nC,()=>rC],Fj=[9,g,Soe,0,()=>iC,()=>aC],Ij=[9,g,xoe,0,()=>oC,()=>sC],Lj=[9,g,koe,0,()=>cC,()=>lC],Rj=[9,g,Ioe,0,()=>uC,()=>dC],zj=[9,g,wa,0,()=>fC,()=>pC],Bj=[9,g,ba,0,()=>mC,()=>hC],Vj=[9,g,Aa,0,()=>gC,()=>_C],Hj=[9,g,Ha,0,()=>vC,()=>yC],Uj=[9,g,Ua,0,()=>bC,()=>xC],Wj=[9,g,co,0,()=>SC,()=>CC],Gj=[9,g,lo,0,()=>wC,()=>TC],Kj=[9,g,Nae,0,()=>EC,()=>YD],qj=[9,g,uo,0,()=>DC,()=>zD],Jj=[9,g,bae,0,()=>OC,()=>YD],Yj=[9,g,Pae,0,()=>kC,()=>AC],Xj=[9,g,xa,0,()=>jC,()=>YD],Zj=[9,g,$s,0,()=>$C,()=>ew],Qj=[9,g,ese,0,()=>fw,()=>pw],$j=[9,g,pue,0,()=>sE,()=>YD],eM=[9,g,mue,0,()=>cE,()=>lE],tM=[9,g,bue,0,()=>uE,()=>YD],nM=[9,g,Eue,0,()=>dE,()=>fE],rM=[9,g,vfe,0,()=>WE,()=>YD],iM=[9,g,yfe,0,()=>JE,()=>YE],aM=[9,g,efe,0,()=>XE,()=>YD],oM=[9,g,Mfe,0,()=>nD,()=>rD],sM=[9,g,Lfe,0,()=>iD,()=>aD],cM=[9,g,xfe,0,()=>dD,()=>QE],lM=[9,g,Upe,0,()=>vD,()=>yD],uM=[9,g,Gpe,0,()=>xD,()=>SD],dM=[9,g,vme,0,()=>OD,()=>kD],fM=e=>({apiVersion:`2016-11-15`,base64Decoder:e?.base64Decoder??qe,base64Encoder:e?.base64Encoder??_e,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??jne,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??Sne,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new ge}],logger:e?.logger??new Ge,protocol:e?.protocol??Bee,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.ec2`,errorTypeRegistries:Jb,xmlNamespace:`http://ec2.amazonaws.com/doc/2016-11-15`,version:`2016-11-15`,serviceTarget:`AmazonEC2`},serviceId:e?.serviceId??`EC2`,sha256:e?.sha256??Ve,urlParser:e?.urlParser??Te,utf8Decoder:e?.utf8Decoder??lt,utf8Encoder:e?.utf8Encoder??ut}),pM=e=>{let t=We(e),n=()=>t().then(ye),r=fM(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Fe,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??ve({serviceId:r.serviceId,clientVersion:Ene.version}),maxAttempts:e?.maxAttempts??3,region:e?.region??De(`Region is missing`),requestHandler:Ce.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||ce),streamCollector:e?.streamCollector??Ie,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},mM=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}}},hM=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),gM=(e,n)=>{let r=Object.assign(Ke(e),pe(e),je(e),mM(e));return n.forEach(e=>e.configure(r)),Object.assign(e,t(r),he(r),be(r),hM(r))},_M=class extends i{config;constructor(...[e]){let t=pM(e||{});super(t),this.initConfig=t;let n=wne(t),i=oe(n),a=Qe(i),o=fe(a),s=Oe(o),c=gM(Cne(Re(s)),e?.extensions||[]);this.config=c,this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(te(this.config)),this.middlewareStack.use(le(this.config)),this.middlewareStack.use(Ae(this.config)),this.middlewareStack.use(we(this.config)),this.middlewareStack.use(ae(this.config)),this.middlewareStack.use(Ee(this.config)),this.middlewareStack.use(r(this.config,{httpAuthSchemeParametersProvider:bne,identityProviderConfigProvider:async e=>new de({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(xe(this.config))}destroy(){super.destroy()}},vM=e=>typeof e==`string`&&e.indexOf(`arn:`)===0&&e.split(`:`).length>=6,yM=async(e,t,n)=>({operation:$e(t).operation,region:await ke(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function bM(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`ecr`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var xM=e=>{let t=[];return e.operation,t.push(bM(e)),t},SM=e=>{let t=rt(e);return Object.assign(t,{authSchemePreference:ke(e.authSchemePreference??[])})},CM=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:`ecr`}),wM={UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},TM={name:`@aws-sdk/client-ecr`,version:`3.1109.0`,description:`AWS SDK for JavaScript Ecr Client for Node.js, Browser and React Native`,homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-ecr`,license:`Apache-2.0`,author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/sdk-for-javascript/`},repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-ecr`},files:[`dist-*/**`],sideEffects:!1,main:`./dist-cjs/index.js`,module:`./dist-es/index.js`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},types:`./dist-types/index.d.ts`,typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline`,"build:es":`premove dist-es && tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`premove dist-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`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service`,"test:e2e":`yarn g:vitest run -c vitest.config.e2e.mts`,"test:e2e:watch":`yarn g:vitest watch -c vitest.config.e2e.mts`,"test:index":`tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs`},dependencies:{"@aws-sdk/core":`^3.977.7`,"@aws-sdk/credential-provider-node":`^3.972.79`,"@aws-sdk/types":`^3.974.3`,"@smithy/core":`^3.31.1`,"@smithy/fetch-http-handler":`^5.6.13`,"@smithy/node-http-handler":`^4.9.13`,"@smithy/types":`^4.16.1`,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:`~6.0.3`},engines:{node:`>=20.0.0`}},EM=`ref`,DM=-1,OM=!0,kM=`isSet`,AM=`PartitionResult`,jM=`stringEquals`,MM=`booleanEquals`,NM=`getAttr`,PM={[EM]:`Endpoint`},FM={fn:NM,argv:[{[EM]:AM},`name`]},IM={[EM]:AM},LM={},RM=[{[EM]:`Region`}],zM={conditions:[[kM,[PM]],[kM,RM],[`aws.partition`,RM,AM],[jM,[FM,`aws-eusc`]],[jM,[FM,`aws-iso-f`]],[jM,[FM,`aws-iso-e`]],[jM,[FM,`aws-iso-b`]],[jM,[FM,`aws-iso`]],[jM,[FM,`aws-cn`]],[jM,[FM,`aws-us-gov`]],[jM,[FM,`aws`]],[MM,[{[EM]:`UseFIPS`},OM]],[MM,[{fn:NM,argv:[IM,`supportsFIPS`]},OM]],[MM,[{[EM]:`UseDualStack`},OM]],[MM,[{fn:NM,argv:[IM,`supportsDualStack`]},OM]]],results:[[DM],[DM,`Invalid Configuration: FIPS and custom endpoint are not supported`],[DM,`Invalid Configuration: Dualstack and custom endpoint are not supported`],[PM,LM],[`https://api.ecr.{Region}.{PartitionResult#dnsSuffix}`,LM],[`https://ecr.{Region}.{PartitionResult#dualStackDnsSuffix}`,LM],[`https://api.ecr-fips.{Region}.{PartitionResult#dnsSuffix}`,LM],[`https://ecr-fips.{Region}.{PartitionResult#dualStackDnsSuffix}`,LM],[`https://api.ecr-fips.{Region}.{PartitionResult#dualStackDnsSuffix}`,LM],[DM,`FIPS and DualStack are enabled, but this partition does not support one or both`],[DM,`FIPS is enabled but this partition does not support FIPS`],[`https://api.ecr.{Region}.{PartitionResult#dualStackDnsSuffix}`,LM],[DM,`DualStack is enabled but this partition does not support DualStack`],[DM,`Invalid Configuration: Missing Region`]]},BM=2,VM=new Int32Array([-1,1,-1,0,23,3,1,4,100000013,2,5,100000013,3,20,6,4,20,7,5,20,8,6,20,9,7,20,10,8,20,11,9,20,12,10,20,13,11,16,14,13,15,100000004,14,100000011,100000012,12,18,17,13,100000009,100000010,13,19,100000006,14,100000008,100000009,11,22,21,13,100000005,100000004,13,100000007,100000006,11,100000001,24,13,100000002,100000003]),HM=Be.from(VM,BM,zM.conditions,zM.results),UM=new He({size:50,params:[`Endpoint`,`Region`,`UseDualStack`,`UseFIPS`]}),WM=(e,t={})=>UM.get(e,()=>Ze(HM,{endpointParams:e,logger:t.logger}));Ye.aws=me;var _=class e extends ne{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},GM=class e extends _{name=`InvalidParameterException`;$fault=`client`;constructor(t){super({name:`InvalidParameterException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},KM=class e extends _{name=`RepositoryNotFoundException`;$fault=`client`;constructor(t){super({name:`RepositoryNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},qM=class e extends _{name=`ServerException`;$fault=`server`;constructor(t){super({name:`ServerException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype)}},JM=class e extends _{name=`LimitExceededException`;$fault=`client`;constructor(t){super({name:`LimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},YM=class e extends _{name=`UnableToGetUpstreamImageException`;$fault=`client`;constructor(t){super({name:`UnableToGetUpstreamImageException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},XM=class e extends _{name=`ValidationException`;$fault=`client`;constructor(t){super({name:`ValidationException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},ZM=class e extends _{name=`EmptyUploadException`;$fault=`client`;constructor(t){super({name:`EmptyUploadException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},QM=class e extends _{name=`InvalidLayerException`;$fault=`client`;constructor(t){super({name:`InvalidLayerException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},$M=class e extends _{name=`KmsException`;$fault=`client`;kmsError;constructor(t){super({name:`KmsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.kmsError=t.kmsError}},eN=class e extends _{name=`LayerAlreadyExistsException`;$fault=`client`;constructor(t){super({name:`LayerAlreadyExistsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},tN=class e extends _{name=`LayerPartTooSmallException`;$fault=`client`;constructor(t){super({name:`LayerPartTooSmallException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},nN=class e extends _{name=`UploadNotFoundException`;$fault=`client`;constructor(t){super({name:`UploadNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},rN=class e extends _{name=`PullThroughCacheRuleAlreadyExistsException`;$fault=`client`;constructor(t){super({name:`PullThroughCacheRuleAlreadyExistsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},iN=class e extends _{name=`SecretNotFoundException`;$fault=`client`;constructor(t){super({name:`SecretNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},aN=class e extends _{name=`UnableToAccessSecretException`;$fault=`client`;constructor(t){super({name:`UnableToAccessSecretException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},oN=class e extends _{name=`UnableToDecryptSecretValueException`;$fault=`client`;constructor(t){super({name:`UnableToDecryptSecretValueException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},sN=class e extends _{name=`UnsupportedUpstreamRegistryException`;$fault=`client`;constructor(t){super({name:`UnsupportedUpstreamRegistryException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},cN=class e extends _{name=`InvalidTagParameterException`;$fault=`client`;constructor(t){super({name:`InvalidTagParameterException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},lN=class e extends _{name=`RepositoryAlreadyExistsException`;$fault=`client`;constructor(t){super({name:`RepositoryAlreadyExistsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},uN=class e extends _{name=`TooManyTagsException`;$fault=`client`;constructor(t){super({name:`TooManyTagsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},dN=class e extends _{name=`TemplateAlreadyExistsException`;$fault=`client`;constructor(t){super({name:`TemplateAlreadyExistsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},fN=class e extends _{name=`LifecyclePolicyNotFoundException`;$fault=`client`;constructor(t){super({name:`LifecyclePolicyNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},pN=class e extends _{name=`PullThroughCacheRuleNotFoundException`;$fault=`client`;constructor(t){super({name:`PullThroughCacheRuleNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},mN=class e extends _{name=`RegistryPolicyNotFoundException`;$fault=`client`;constructor(t){super({name:`RegistryPolicyNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},hN=class e extends _{name=`RepositoryNotEmptyException`;$fault=`client`;constructor(t){super({name:`RepositoryNotEmptyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},gN=class e extends _{name=`TemplateNotFoundException`;$fault=`client`;constructor(t){super({name:`TemplateNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},_N=class e extends _{name=`RepositoryPolicyNotFoundException`;$fault=`client`;constructor(t){super({name:`RepositoryPolicyNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},vN=class e extends _{name=`SigningConfigurationNotFoundException`;$fault=`client`;constructor(t){super({name:`SigningConfigurationNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},yN=class e extends _{name=`ExclusionNotFoundException`;$fault=`client`;constructor(t){super({name:`ExclusionNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},bN=class e extends _{name=`ImageNotFoundException`;$fault=`client`;constructor(t){super({name:`ImageNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},xN=class e extends _{name=`ScanNotFoundException`;$fault=`client`;constructor(t){super({name:`ScanNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},SN=class e extends _{name=`LayerInaccessibleException`;$fault=`client`;constructor(t){super({name:`LayerInaccessibleException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},CN=class e extends _{name=`LayersNotFoundException`;$fault=`client`;constructor(t){super({name:`LayersNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},wN=class e extends _{name=`UnableToGetUpstreamLayerException`;$fault=`client`;constructor(t){super({name:`UnableToGetUpstreamLayerException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},TN=class e extends _{name=`LifecyclePolicyPreviewNotFoundException`;$fault=`client`;constructor(t){super({name:`LifecyclePolicyPreviewNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},EN=class e extends _{name=`UnableToListUpstreamImageReferrersException`;$fault=`client`;constructor(t){super({name:`UnableToListUpstreamImageReferrersException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},DN=class e extends _{name=`ImageAlreadyExistsException`;$fault=`client`;constructor(t){super({name:`ImageAlreadyExistsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},ON=class e extends _{name=`ImageDigestDoesNotMatchException`;$fault=`client`;constructor(t){super({name:`ImageDigestDoesNotMatchException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},kN=class e extends _{name=`ImageTagAlreadyExistsException`;$fault=`client`;constructor(t){super({name:`ImageTagAlreadyExistsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},AN=class e extends _{name=`ReferencedImagesNotFoundException`;$fault=`client`;constructor(t){super({name:`ReferencedImagesNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},jN=class e extends _{name=`BlockedByOrganizationPolicyException`;$fault=`client`;constructor(t){super({name:`BlockedByOrganizationPolicyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},MN=class e extends _{name=`ExclusionAlreadyExistsException`;$fault=`client`;constructor(t){super({name:`ExclusionAlreadyExistsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},NN=class e extends _{name=`ImageArchivedException`;$fault=`client`;constructor(t){super({name:`ImageArchivedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},PN=class e extends _{name=`UnsupportedImageTypeException`;$fault=`client`;constructor(t){super({name:`UnsupportedImageTypeException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},FN=class e extends _{name=`LifecyclePolicyPreviewInProgressException`;$fault=`client`;constructor(t){super({name:`LifecyclePolicyPreviewInProgressException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},IN=class e extends _{name=`ImageStorageClassUpdateNotSupportedException`;$fault=`client`;constructor(t){super({name:`ImageStorageClassUpdateNotSupportedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},LN=class e extends _{name=`InvalidLayerPartException`;$fault=`client`;registryId;repositoryName;uploadId;lastValidByteReceived;constructor(t){super({name:`InvalidLayerPartException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.registryId=t.registryId,this.repositoryName=t.repositoryName,this.uploadId=t.uploadId,this.lastValidByteReceived=t.lastValidByteReceived}},RN=`BlockedByOrganizationPolicyException`,zN=`BatchDeleteImage`,BN=`BatchDeleteImageRequest`,VN=`BatchDeleteImageResponse`,HN=`CreateRepository`,UN=`CreateRepositoryRequest`,WN=`CreateRepositoryResponse`,GN=`DescribeImages`,KN=`DescribeImagesFilter`,qN=`DescribeImagesRequest`,JN=`DescribeImagesResponse`,YN=`DeleteLifecyclePolicy`,XN=`DeleteLifecyclePolicyRequest`,ZN=`DeleteLifecyclePolicyResponse`,QN=`DeleteRepository`,$N=`DeleteRepositoryPolicyRequest`,eP=`DeleteRepositoryPolicyResponse`,tP=`DeleteRepositoryPolicy`,nP=`DeleteRepositoryRequest`,rP=`DeleteRepositoryResponse`,iP=`DescribeRepositoriesRequest`,aP=`DescribeRepositoriesResponse`,oP=`DescribeRepositories`,sP=`ExclusionAlreadyExistsException`,cP=`EncryptionConfiguration`,lP=`ExclusionNotFoundException`,uP=`EmptyUploadException`,dP=`GetLifecyclePolicy`,fP=`GetLifecyclePolicyPreview`,pP=`GetLifecyclePolicyPreviewRequest`,mP=`GetLifecyclePolicyPreviewResponse`,hP=`GetLifecyclePolicyRequest`,gP=`GetLifecyclePolicyResponse`,_P=`GetRepositoryPolicyRequest`,vP=`GetRepositoryPolicyResponse`,yP=`GetRepositoryPolicy`,bP=`ImageArchivedException`,xP=`ImageAlreadyExistsException`,SP=`ImageDetail`,CP=`ImageDigestDoesNotMatchException`,wP=`ImageDetailList`,TP=`ImageFailure`,EP=`ImageFailureList`,DP=`ImageIdentifier`,OP=`ImageIdentifierList`,kP=`InvalidLayerException`,AP=`InvalidLayerPartException`,jP=`ImageNotFoundException`,MP=`InvalidParameterException`,NP=`ImageScanningConfiguration`,PP=`ImageStorageClassUpdateNotSupportedException`,FP=`ImageScanFindingsSummary`,IP=`ImageScanStatus`,LP=`ImageTagAlreadyExistsException`,RP=`ImageTagMutabilityExclusionFilter`,zP=`ImageTagMutabilityExclusionFilters`,BP=`InvalidTagParameterException`,VP=`Key`,HP=`KmsException`,UP=`LayerAlreadyExistsException`,WP=`LimitExceededException`,GP=`LayerInaccessibleException`,KP=`LayersNotFoundException`,qP=`LifecyclePolicyNotFoundException`,JP=`LifecyclePolicyPreviewFilter`,YP=`LifecyclePolicyPreviewInProgressException`,XP=`LifecyclePolicyPreviewNotFoundException`,ZP=`LifecyclePolicyPreviewResult`,QP=`LifecyclePolicyPreviewResultList`,$P=`LifecyclePolicyPreviewSummary`,eF=`LifecyclePolicyRuleAction`,tF=`LayerPartTooSmallException`,nF=`PutImageTagMutability`,rF=`PutImageTagMutabilityRequest`,iF=`PutImageTagMutabilityResponse`,aF=`PutLifecyclePolicy`,oF=`PutLifecyclePolicyRequest`,sF=`PutLifecyclePolicyResponse`,cF=`PullThroughCacheRuleAlreadyExistsException`,lF=`PullThroughCacheRuleNotFoundException`,uF=`RepositoryAlreadyExistsException`,dF=`ReferencedImagesNotFoundException`,fF=`RepositoryList`,pF=`RepositoryNotEmptyException`,mF=`RepositoryNotFoundException`,hF=`RegistryPolicyNotFoundException`,gF=`RepositoryPolicyNotFoundException`,_F=`Repository`,vF=`SigningConfigurationNotFoundException`,yF=`ServerException`,bF=`ScanNotFoundException`,xF=`SecretNotFoundException`,SF=`SetRepositoryPolicy`,CF=`SetRepositoryPolicyRequest`,wF=`SetRepositoryPolicyResponse`,TF=`Tag`,EF=`TemplateAlreadyExistsException`,DF=`TransitioningImageTotalCount`,OF=`TransitioningImageTotalCounts`,kF=`TagList`,AF=`TooManyTagsException`,jF=`TemplateNotFoundException`,MF=`UnsupportedImageTypeException`,NF=`UploadNotFoundException`,PF=`UnableToAccessSecretException`,FF=`UnableToDecryptSecretValueException`,IF=`UnableToGetUpstreamImageException`,LF=`UnableToGetUpstreamLayerException`,RF=`UnableToListUpstreamImageReferrersException`,zF=`UnsupportedUpstreamRegistryException`,BF=`Value`,VF=`ValidationException`,HF=`artifactMediaType`,UF=`appliedRulePriority`,WF=`action`,v=`client`,GF=`createdAt`,KF=`description`,y=`error`,qF=`encryptionConfiguration`,JF=`expiringImageTotalCount`,YF=`encryptionType`,XF=`failures`,ZF=`failureCode`,QF=`failureReason`,$F=`findingSeverityCounts`,eI=`filterType`,tI=`filter`,nI=`force`,rI=`httpError`,iI=`imageDetails`,aI=`imageDigest`,oI=`imageIds`,sI=`imageId`,cI=`imageManifestMediaType`,lI=`imagePushedAt`,uI=`imageStatus`,dI=`imageScanningConfiguration`,fI=`imageScanCompletedAt`,pI=`imageScanFindingsSummary`,mI=`imageSizeInBytes`,hI=`imageScanStatus`,gI=`imageTags`,_I=`imageTotalCount`,vI=`imageTagMutability`,yI=`imageTagMutabilityExclusionFilters`,bI=`imageTag`,xI=`kmsError`,SI=`kmsKey`,CI=`lastArchivedAt`,wI=`lastActivatedAt`,TI=`lastEvaluatedAt`,EI=`lifecyclePolicyText`,DI=`lastRecordedPullTime`,OI=`lastValidByteReceived`,b=`message`,kI=`maxResults`,AI=`nextToken`,jI=`previewResults`,MI=`policyText`,NI=`repositoryArn`,PI=`registryId`,FI=`repositoryName`,II=`repositoryNames`,LI=`repositoryUri`,RI=`repository`,zI=`repositories`,BI=`smithy.ts.sdk.synthetic.com.amazonaws.ecr`,VI=`storageClass`,HI=`subjectManifestDigest`,UI=`scanOnPush`,WI=`server`,GI=`status`,KI=`summary`,qI=`tags`,JI=`transitioningImageTotalCounts`,YI=`tagStatus`,XI=`targetStorageClass`,ZI=`type`,QI=`uploadId`,$I=`vulnerabilitySourceUpdatedAt`,x=`com.amazonaws.ecr`,eL=ct.for(BI),tL=[-3,BI,`ECRServiceException`,0,[],[]];eL.registerError(tL,_);var S=ct.for(x),nL=[-3,x,RN,{[y]:v},[b],[0]];S.registerError(nL,jN);var rL=[-3,x,uP,{[y]:v},[b],[0]];S.registerError(rL,ZM);var iL=[-3,x,sP,{[y]:v},[b],[0]];S.registerError(iL,MN);var aL=[-3,x,lP,{[y]:v},[b],[0]];S.registerError(aL,yN);var oL=[-3,x,xP,{[y]:v},[b],[0]];S.registerError(oL,DN);var sL=[-3,x,bP,{[y]:v},[b],[0]];S.registerError(sL,NN);var cL=[-3,x,CP,{[y]:v},[b],[0]];S.registerError(cL,ON);var lL=[-3,x,jP,{[y]:v},[b],[0]];S.registerError(lL,bN);var uL=[-3,x,PP,{[y]:v},[b],[0]];S.registerError(uL,IN);var dL=[-3,x,LP,{[y]:v},[b],[0]];S.registerError(dL,kN);var fL=[-3,x,kP,{[y]:v},[b],[0]];S.registerError(fL,QM);var pL=[-3,x,AP,{[y]:v},[PI,FI,QI,OI,b],[0,0,0,1,0]];S.registerError(pL,LN);var mL=[-3,x,MP,{[y]:v},[b],[0]];S.registerError(mL,GM);var hL=[-3,x,BP,{[y]:v},[b],[0]];S.registerError(hL,cN);var gL=[-3,x,HP,{[y]:v},[b,xI],[0,0]];S.registerError(gL,$M);var _L=[-3,x,UP,{[y]:v},[b],[0]];S.registerError(_L,eN);var vL=[-3,x,GP,{[y]:v},[b],[0]];S.registerError(vL,SN);var yL=[-3,x,tF,{[y]:v},[b],[0]];S.registerError(yL,tN);var bL=[-3,x,KP,{[y]:v},[b],[0]];S.registerError(bL,CN);var xL=[-3,x,qP,{[y]:v},[b],[0]];S.registerError(xL,fN);var SL=[-3,x,YP,{[y]:v},[b],[0]];S.registerError(SL,FN);var CL=[-3,x,XP,{[y]:v},[b],[0]];S.registerError(CL,TN);var wL=[-3,x,WP,{[y]:v},[b],[0]];S.registerError(wL,JM);var TL=[-3,x,cF,{[y]:v},[b],[0]];S.registerError(TL,rN);var EL=[-3,x,lF,{[y]:v},[b],[0]];S.registerError(EL,pN);var DL=[-3,x,dF,{[y]:v},[b],[0]];S.registerError(DL,AN);var OL=[-3,x,hF,{[y]:v},[b],[0]];S.registerError(OL,mN);var kL=[-3,x,uF,{[y]:v},[b],[0]];S.registerError(kL,lN);var AL=[-3,x,pF,{[y]:v},[b],[0]];S.registerError(AL,hN);var jL=[-3,x,mF,{[y]:v},[b],[0]];S.registerError(jL,KM);var ML=[-3,x,gF,{[y]:v},[b],[0]];S.registerError(ML,_N);var NL=[-3,x,bF,{[y]:v},[b],[0]];S.registerError(NL,xN);var PL=[-3,x,xF,{[y]:v},[b],[0]];S.registerError(PL,iN);var FL=[-3,x,yF,{[y]:WI},[b],[0]];S.registerError(FL,qM);var IL=[-3,x,vF,{[y]:v},[b],[0]];S.registerError(IL,vN);var LL=[-3,x,EF,{[y]:v},[b],[0]];S.registerError(LL,dN);var RL=[-3,x,jF,{[y]:v},[b],[0]];S.registerError(RL,gN);var zL=[-3,x,AF,{[y]:v},[b],[0]];S.registerError(zL,uN);var BL=[-3,x,PF,{[y]:v},[b],[0]];S.registerError(BL,aN);var VL=[-3,x,FF,{[y]:v},[b],[0]];S.registerError(VL,oN);var HL=[-3,x,IF,{[y]:v},[b],[0]];S.registerError(HL,YM);var UL=[-3,x,LF,{[y]:v},[b],[0]];S.registerError(UL,wN);var WL=[-3,x,RF,{[y]:v},[b],[0]];S.registerError(WL,EN);var GL=[-3,x,MF,{[y]:v},[b],[0]];S.registerError(GL,PN);var KL=[-3,x,zF,{[y]:v},[b],[0]];S.registerError(KL,sN);var qL=[-3,x,NF,{[y]:v},[b],[0]];S.registerError(qL,nN);var JL=[-3,x,VF,{[y]:v,[rI]:400},[b],[0]];S.registerError(JL,XM);var YL=[eL,S],XL=[3,x,BN,0,[FI,oI,PI],[0,()=>BR,0],2],ZL=[3,x,VN,0,[oI,XF],[()=>BR,()=>zR]],QL=[3,x,UN,0,[FI,PI,qI,vI,yI,dI,qF],[0,0,()=>WR,0,()=>VR,()=>SR,()=>dR],1],$L=[3,x,WN,0,[RI],[()=>NR]],eR=[3,x,XN,0,[FI,PI],[0,0],1],tR=[3,x,ZN,0,[PI,FI,EI,TI],[0,0,0,4]],nR=[3,x,$N,0,[FI,PI],[0,0],1],rR=[3,x,eP,0,[PI,FI,MI],[0,0,0]],iR=[3,x,nP,0,[FI,PI,nI],[0,0,2],1],aR=[3,x,rP,0,[RI],[()=>NR]],oR=[3,x,KN,0,[YI,uI],[0,0]],sR=[3,x,qN,0,[FI,PI,oI,AI,kI,tI],[0,0,()=>BR,0,1,()=>oR],1],cR=[3,x,JN,0,[iI,AI],[()=>RR,0]],lR=[3,x,iP,0,[PI,II,AI,kI],[0,64,0,1]],uR=[3,x,aP,0,[zI,AI],[()=>UR,0]],dR=[3,x,cP,0,[YF,SI],[0,0],1],fR=[3,x,pP,0,[FI,PI,oI,AI,kI,tI],[0,0,()=>BR,0,1,()=>TR],1],pR=[3,x,mP,0,[PI,FI,EI,GI,AI,jI,KI],[0,0,0,0,0,()=>HR,()=>DR]],mR=[3,x,hP,0,[FI,PI],[0,0],1],hR=[3,x,gP,0,[PI,FI,EI,TI],[0,0,0,4]],gR=[3,x,_P,0,[FI,PI],[0,0],1],_R=[3,x,vP,0,[PI,FI,MI],[0,0,0]],vR=[3,x,SP,0,[PI,FI,aI,gI,mI,lI,hI,pI,cI,HF,DI,HI,uI,CI,wI],[0,0,0,64,1,4,()=>CR,()=>xR,0,0,4,0,0,4,4]],yR=[3,x,TP,0,[sI,ZF,QF],[()=>bR,0,0]],bR=[3,x,DP,0,[aI,bI],[0,0]],xR=[3,x,FP,0,[fI,$I,$F],[4,4,129]],SR=[3,x,NP,0,[UI],[2]],CR=[3,x,IP,0,[GI,KF],[0,0]],wR=[3,x,RP,0,[eI,tI],[0,0],2],TR=[3,x,JP,0,[YI],[0]],ER=[3,x,ZP,0,[gI,aI,lI,WF,UF,VI],[64,0,4,()=>OR,1,0]],DR=[3,x,$P,0,[JF,JI],[1,()=>GR]],OR=[3,x,eF,0,[ZI,XI],[0,0]],kR=[3,x,rF,0,[FI,vI,PI,yI],[0,0,0,()=>VR],2],AR=[3,x,iF,0,[PI,FI,vI,yI],[0,0,0,()=>VR]],jR=[3,x,oF,0,[FI,EI,PI],[0,0,0],2],MR=[3,x,sF,0,[PI,FI,EI],[0,0,0]],NR=[3,x,_F,0,[NI,PI,FI,LI,GF,vI,yI,dI,qF],[0,0,0,0,4,0,()=>VR,()=>SR,()=>dR]],PR=[3,x,CF,0,[FI,MI,PI,nI],[0,0,0,2],2],FR=[3,x,wF,0,[PI,FI,MI],[0,0,0]],IR=[3,x,TF,0,[VP,BF],[0,0],2],LR=[3,x,DF,0,[XI,_I],[0,1]],RR=[1,x,wP,0,()=>vR],zR=[1,x,EP,0,()=>yR],BR=[1,x,OP,0,()=>bR],VR=[1,x,zP,0,()=>wR],HR=[1,x,QP,0,()=>ER],UR=[1,x,fF,0,()=>NR],WR=[1,x,kF,0,()=>IR],GR=[1,x,OF,0,()=>LR],KR=[9,x,zN,0,()=>XL,()=>ZL],qR=[9,x,HN,0,()=>QL,()=>$L],JR=[9,x,YN,0,()=>eR,()=>tR],YR=[9,x,QN,0,()=>iR,()=>aR],XR=[9,x,tP,0,()=>nR,()=>rR],ZR=[9,x,GN,0,()=>sR,()=>cR],QR=[9,x,oP,0,()=>lR,()=>uR],$R=[9,x,dP,0,()=>mR,()=>hR],ez=[9,x,fP,0,()=>fR,()=>pR],tz=[9,x,yP,0,()=>gR,()=>_R],nz=[9,x,nF,0,()=>kR,()=>AR],rz=[9,x,aF,0,()=>jR,()=>MR],iz=[9,x,SF,0,()=>PR,()=>FR],az=e=>({apiVersion:`2015-09-21`,base64Decoder:e?.base64Decoder??qe,base64Encoder:e?.base64Encoder??_e,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??WM,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??xM,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new ge}],logger:e?.logger??new Ge,protocol:e?.protocol??Zt,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.ecr`,errorTypeRegistries:YL,xmlNamespace:`http://ecr.amazonaws.com/doc/2015-09-21/`,version:`2015-09-21`,serviceTarget:`AmazonEC2ContainerRegistry_V20150921`},serviceId:e?.serviceId??`ECR`,sha256:e?.sha256??Ve,urlParser:e?.urlParser??Te,utf8Decoder:e?.utf8Decoder??lt,utf8Encoder:e?.utf8Encoder??ut}),oz=e=>{let t=We(e),n=()=>t().then(ye),r=az(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Fe,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??ve({serviceId:r.serviceId,clientVersion:TM.version}),maxAttempts:e?.maxAttempts??3,region:e?.region??De(`Region is missing`),requestHandler:Ce.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||ce),streamCollector:e?.streamCollector??Ie,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},sz=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}}},cz=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),lz=(e,n)=>{let r=Object.assign(Ke(e),pe(e),je(e),sz(e));return n.forEach(e=>e.configure(r)),Object.assign(e,t(r),he(r),be(r),cz(r))},uz=class extends i{config;constructor(...[e]){let t=oz(e||{});super(t),this.initConfig=t;let n=CM(t),i=oe(n),a=Qe(i),o=fe(a),s=Oe(o),c=lz(SM(Re(s)),e?.extensions||[]);this.config=c,this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(te(this.config)),this.middlewareStack.use(le(this.config)),this.middlewareStack.use(Ae(this.config)),this.middlewareStack.use(we(this.config)),this.middlewareStack.use(ae(this.config)),this.middlewareStack.use(Ee(this.config)),this.middlewareStack.use(r(this.config,{httpAuthSchemeParametersProvider:yM,identityProviderConfigProvider:async e=>new de({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(xe(this.config))}destroy(){super.destroy()}},dz=async(e,t,n)=>({operation:$e(t).operation,region:await ke(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function fz(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`ecs`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var pz=e=>{let t=[];return e.operation,t.push(fz(e)),t},mz=e=>{let t=rt(e);return Object.assign(t,{authSchemePreference:ke(e.authSchemePreference??[])})},hz=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:`ecs`}),gz={UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},_z={name:`@aws-sdk/client-ecs`,version:`3.1109.0`,description:`AWS SDK for JavaScript Ecs Client for Node.js, Browser and React Native`,homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-ecs`,license:`Apache-2.0`,author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/sdk-for-javascript/`},repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-ecs`},files:[`dist-*/**`],sideEffects:!1,main:`./dist-cjs/index.js`,module:`./dist-es/index.js`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},types:`./dist-types/index.d.ts`,typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline`,"build:es":`premove dist-es && tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`premove dist-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`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service`,"test:e2e":`yarn g:vitest run -c vitest.config.e2e.mts`,"test:e2e:watch":`yarn g:vitest watch -c vitest.config.e2e.mts`,"test:index":`tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs`},dependencies:{"@aws-sdk/core":`^3.977.7`,"@aws-sdk/credential-provider-node":`^3.972.79`,"@aws-sdk/types":`^3.974.3`,"@smithy/core":`^3.31.1`,"@smithy/fetch-http-handler":`^5.6.13`,"@smithy/node-http-handler":`^4.9.13`,"@smithy/types":`^4.16.1`,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:`~6.0.3`},engines:{node:`>=20.0.0`}},vz=`ref`,yz=-1,bz=!0,xz=`isSet`,Sz=`PartitionResult`,Cz=`booleanEquals`,wz=`getAttr`,Tz={[vz]:`Endpoint`},Ez={[vz]:Sz},Dz={},Oz=[{[vz]:`Region`}],kz={conditions:[[xz,[Tz]],[xz,Oz],[`aws.partition`,Oz,Sz],[Cz,[{[vz]:`UseFIPS`},bz]],[Cz,[{[vz]:`UseDualStack`},bz]],[Cz,[{fn:wz,argv:[Ez,`supportsDualStack`]},bz]],[Cz,[{fn:wz,argv:[Ez,`supportsFIPS`]},bz]]],results:[[yz],[yz,`Invalid Configuration: FIPS and custom endpoint are not supported`],[yz,`Invalid Configuration: Dualstack and custom endpoint are not supported`],[Tz,Dz],[`https://ecs-fips.{Region}.{PartitionResult#dualStackDnsSuffix}`,Dz],[yz,`FIPS and DualStack are enabled, but this partition does not support one or both`],[`https://ecs-fips.{Region}.{PartitionResult#dnsSuffix}`,Dz],[yz,`FIPS is enabled but this partition does not support FIPS`],[`https://ecs.{Region}.{PartitionResult#dualStackDnsSuffix}`,Dz],[yz,`DualStack is enabled but this partition does not support DualStack`],[`https://ecs.{Region}.{PartitionResult#dnsSuffix}`,Dz],[yz,`Invalid Configuration: Missing Region`]]},Az=2,jz=new Int32Array([-1,1,-1,0,12,3,1,4,100000011,2,5,100000011,3,8,6,4,7,100000010,5,100000008,100000009,4,10,9,6,100000006,100000007,5,11,100000005,6,100000004,100000005,3,100000001,13,4,100000002,100000003]),Mz=Be.from(jz,Az,kz.conditions,kz.results),Nz=new He({size:50,params:[`Endpoint`,`Region`,`UseDualStack`,`UseFIPS`]}),Pz=(e,t={})=>Nz.get(e,()=>Ze(Mz,{endpointParams:e,logger:t.logger}));Ye.aws=me;var Fz=class e extends ne{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},Iz=class e extends Fz{name=`AccessDeniedException`;$fault=`client`;constructor(t){super({name:`AccessDeniedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Lz=class e extends Fz{name=`ClientException`;$fault=`client`;constructor(t){super({name:`ClientException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Rz=class e extends Fz{name=`ClusterNotFoundException`;$fault=`client`;constructor(t){super({name:`ClusterNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},zz=class e extends Fz{name=`InvalidParameterException`;$fault=`client`;constructor(t){super({name:`InvalidParameterException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Bz=class e extends Fz{name=`LimitExceededException`;$fault=`client`;constructor(t){super({name:`LimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Vz=class e extends Fz{name=`ServerException`;$fault=`server`;constructor(t){super({name:`ServerException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype)}},Hz=class e extends Fz{name=`UnsupportedFeatureException`;$fault=`client`;constructor(t){super({name:`UnsupportedFeatureException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Uz=class e extends Fz{name=`UpdateInProgressException`;$fault=`client`;constructor(t){super({name:`UpdateInProgressException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Wz=class e extends Fz{name=`NamespaceNotFoundException`;$fault=`client`;constructor(t){super({name:`NamespaceNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Gz=class e extends Fz{name=`ClusterContainsCapacityProviderException`;$fault=`client`;constructor(t){super({name:`ClusterContainsCapacityProviderException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Kz=class e extends Fz{name=`ClusterContainsContainerInstancesException`;$fault=`client`;constructor(t){super({name:`ClusterContainsContainerInstancesException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},qz=class e extends Fz{name=`ClusterContainsServicesException`;$fault=`client`;constructor(t){super({name:`ClusterContainsServicesException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Jz=class e extends Fz{name=`ClusterContainsTasksException`;$fault=`client`;constructor(t){super({name:`ClusterContainsTasksException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Yz=class e extends Fz{name=`TargetNotConnectedException`;$fault=`client`;constructor(t){super({name:`TargetNotConnectedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Xz=class e extends Fz{name=`ResourceInUseException`;$fault=`client`;constructor(t){super({name:`ResourceInUseException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Zz=class e extends Fz{name=`TargetNotFoundException`;$fault=`client`;constructor(t){super({name:`TargetNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Qz=class e extends Fz{name=`ServiceNotFoundException`;$fault=`client`;constructor(t){super({name:`ServiceNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},$z=class e extends Fz{name=`AttributeLimitExceededException`;$fault=`client`;constructor(t){super({name:`AttributeLimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},eB=class e extends Fz{name=`MissingVersionException`;$fault=`client`;constructor(t){super({name:`MissingVersionException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},tB=class e extends Fz{name=`NoUpdateAvailableException`;$fault=`client`;constructor(t){super({name:`NoUpdateAvailableException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},nB=class e extends Fz{name=`ServiceDeploymentNotFoundException`;$fault=`client`;constructor(t){super({name:`ServiceDeploymentNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},rB=class e extends Fz{name=`PlatformUnknownException`;$fault=`client`;constructor(t){super({name:`PlatformUnknownException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},iB=class e extends Fz{name=`DaemonNotActiveException`;$fault=`client`;constructor(t){super({name:`DaemonNotActiveException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},aB=class e extends Fz{name=`DaemonNotFoundException`;$fault=`client`;constructor(t){super({name:`DaemonNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},oB=class e extends Fz{name=`PlatformTaskDefinitionIncompatibilityException`;$fault=`client`;constructor(t){super({name:`PlatformTaskDefinitionIncompatibilityException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},sB=class e extends Fz{name=`ServiceNotActiveException`;$fault=`client`;constructor(t){super({name:`ServiceNotActiveException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},cB=class e extends Fz{name=`ResourceNotFoundException`;$fault=`client`;constructor(t){super({name:`ResourceNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},lB=class e extends Fz{name=`ConflictException`;$fault=`client`;resourceIds;constructor(t){super({name:`ConflictException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.resourceIds=t.resourceIds}},uB=class e extends Fz{name=`TaskSetNotFoundException`;$fault=`client`;constructor(t){super({name:`TaskSetNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},dB=class e extends Fz{name=`BlockedException`;$fault=`client`;constructor(t){super({name:`BlockedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},fB=`Attachment`,pB=`AdvancedConfiguration`,mB=`AttachmentDetails`,hB=`AccessDeniedException`,gB=`AttributeLimitExceededException`,_B=`AwsVpcConfiguration`,vB=`Attribute`,yB=`Attachments`,bB=`Attributes`,xB=`BlockedException`,SB=`Cluster`,CB=`CanaryConfiguration`,wB=`ClusterContainsContainerInstancesException`,TB=`ClusterContainsCapacityProviderException`,EB=`CreateClusterRequest`,DB=`CreateClusterResponse`,OB=`ClusterContainsServicesException`,kB=`ClusterContainsTasksException`,AB=`ClusterConfiguration`,jB=`CreateCluster`,MB=`ContainerDefinition`,NB=`ContainerDependency`,PB=`ContainerDefinitions`,FB=`ContainerDependencies`,IB=`ClientException`,LB=`ConflictException`,RB=`ContainerInstanceHealthStatus`,zB=`ContainerInstance`,BB=`ContainerInstances`,VB=`ClusterNotFoundException`,HB=`ContainerOverride`,UB=`ContainerOverrides`,WB=`CapacityProviderStrategy`,GB=`CapacityProviderStrategyItem`,KB=`ContainerRestartPolicy`,qB=`ClusterSetting`,JB=`ClusterServiceConnectDefaults`,YB=`ClusterServiceConnectDefaultsRequest`,XB=`CreateServiceRequest`,ZB=`CreateServiceResponse`,QB=`ClusterSettings`,$B=`CreateService`,eV=`Clusters`,tV=`Container`,nV=`Containers`,rV=`Deployment`,iV=`DeploymentAlarms`,aV=`DeploymentConfiguration`,oV=`DeploymentCircuitBreaker`,sV=`DeregisterContainerInstanceRequest`,cV=`DeregisterContainerInstanceResponse`,lV=`DescribeContainerInstancesRequest`,uV=`DescribeContainerInstancesResponse`,dV=`DeregisterContainerInstance`,fV=`DescribeContainerInstances`,pV=`DeleteClusterRequest`,mV=`DeleteClusterResponse`,hV=`DescribeClustersRequest`,gV=`DescribeClustersResponse`,_V=`DeploymentController`,vV=`DeleteCluster`,yV=`DescribeClusters`,bV=`DeploymentEphemeralStorage`,xV=`DevicesList`,SV=`DeploymentLifecycleHook`,CV=`DeploymentLifecycleHookList`,wV=`DeploymentLifecycleHookTimeoutConfiguration`,TV=`DaemonNotActiveException`,EV=`DaemonNotFoundException`,DV=`DescribeServicesRequest`,OV=`DescribeServicesResponse`,kV=`DescribeServices`,AV=`DescribeTasks`,jV=`DeregisterTaskDefinitionRequest`,MV=`DeregisterTaskDefinitionResponse`,NV=`DescribeTaskDefinitionRequest`,PV=`DescribeTaskDefinitionResponse`,FV=`DeregisterTaskDefinition`,IV=`DescribeTaskDefinition`,LV=`DescribeTasksRequest`,RV=`DescribeTasksResponse`,zV=`DockerVolumeConfiguration`,BV=`Device`,VV=`Deployments`,HV=`EBSTagSpecification`,UV=`EBSTagSpecifications`,WV=`ExecuteCommandConfiguration`,GV=`ExecuteCommandLogConfiguration`,KV=`EnvironmentFile`,qV=`EFSAuthorizationConfig`,JV=`EFSVolumeConfiguration`,YV=`EnvironmentFiles`,XV=`EphemeralStorage`,ZV=`EnvironmentVariables`,QV=`Failure`,$V=`FirelensConfiguration`,eH=`FSxWindowsFileServerAuthorizationConfig`,tH=`FSxWindowsFileServerVolumeConfiguration`,nH=`Failures`,rH=`HealthCheck`,iH=`HostEntry`,aH=`HostEntryList`,oH=`HostVolumeProperties`,sH=`InferenceAccelerator`,cH=`InferenceAcceleratorOverride`,lH=`InferenceAcceleratorOverrides`,uH=`InferenceAccelerators`,dH=`InstanceHealthCheckResult`,fH=`InstanceHealthCheckResultList`,pH=`InvalidParameterException`,mH=`KernelCapabilities`,hH=`KeyValuePair`,gH=`LoadBalancer`,_H=`LoadBalancers`,vH=`LinearConfiguration`,yH=`ListContainerInstances`,bH=`ListContainerInstancesRequest`,xH=`ListContainerInstancesResponse`,SH=`ListClustersRequest`,CH=`ListClustersResponse`,wH=`ListClusters`,TH=`LogConfiguration`,EH=`LimitExceededException`,DH=`LinuxParameters`,OH=`ListServices`,kH=`ListServicesRequest`,AH=`ListServicesResponse`,jH=`ListTasks`,MH=`ListTaskDefinitions`,NH=`ListTaskDefinitionsRequest`,PH=`ListTaskDefinitionsResponse`,FH=`ListTasksRequest`,IH=`ListTasksResponse`,LH=`ManagedAgent`,RH=`ManagedAgents`,zH=`MetricConfigurationList`,BH=`MetricConfiguration`,VH=`MonitoringConfiguration`,HH=`MountPoint`,UH=`MountPointList`,WH=`ManagedStorageConfiguration`,GH=`MissingVersionException`,KH=`NetworkBinding`,qH=`NetworkBindings`,JH=`NetworkConfiguration`,YH=`NetworkInterface`,XH=`NetworkInterfaces`,ZH=`NamespaceNotFoundException`,QH=`NoUpdateAvailableException`,$H=`PlacementConstraint`,eU=`ProxyConfigurationProperties`,tU=`PlacementConstraints`,nU=`ProxyConfiguration`,rU=`PortMapping`,iU=`PortMappingList`,aU=`PlacementStrategy`,oU=`PlacementStrategies`,sU=`PlatformTaskDefinitionIncompatibilityException`,cU=`PlatformUnknownException`,lU=`Resource`,uU=`RequiresAttributes`,dU=`RepositoryCredentials`,fU=`ResourceInUseException`,pU=`ResourceNotFoundException`,mU=`RuntimePlatform`,hU=`ResourceRequirement`,gU=`ResourceRequirements`,_U=`RunTask`,vU=`RegisterTaskDefinition`,yU=`RegisterTaskDefinitionRequest`,bU=`RegisterTaskDefinitionResponse`,xU=`RunTaskRequest`,SU=`RunTaskResponse`,CU=`Resources`,wU=`Scale`,TU=`SystemControl`,EU=`ServiceConnectAccessLogConfiguration`,DU=`ServiceConnectConfiguration`,OU=`ServiceConnectClientAlias`,kU=`ServiceConnectClientAliasList`,AU=`ServiceCurrentRevisionSummary`,jU=`ServiceCurrentRevisionSummaryList`,MU=`ServiceConnectService`,NU=`ServiceConnectServiceList`,PU=`ServiceConnectServiceResource`,FU=`ServiceConnectServiceResourceList`,IU=`ServiceConnectTlsConfiguration`,LU=`ServiceConnectTlsCertificateAuthority`,RU=`ServiceConnectTestTrafficHeaderMatchRules`,zU=`ServiceConnectTestTrafficHeaderRules`,BU=`ServiceConnectTestTrafficRules`,VU=`SystemControls`,HU=`ServiceDeploymentNotFoundException`,UU=`ServerException`,WU=`ServiceEvent`,GU=`ServiceEvents`,KU=`S3FilesVolumeConfiguration`,qU=`SecretList`,JU=`ServiceManagedEBSVolumeConfiguration`,YU=`ServiceNotActiveException`,XU=`ServiceNotFoundException`,ZU=`ServiceRegistry`,QU=`ServiceRegistries`,$U=`StopTaskRequest`,eW=`StopTaskResponse`,tW=`StopTask`,nW=`ServiceVolumeConfiguration`,rW=`ServiceVolumeConfigurations`,iW=`Secret`,aW=`Service`,oW=`Services`,sW=`Statistics`,cW=`Tag`,lW=`ThresholdConfiguration`,uW=`TimeoutConfiguration`,dW=`TaskDefinition`,fW=`TaskDefinitionPlacementConstraint`,pW=`TaskDefinitionPlacementConstraints`,mW=`TaskEphemeralStorage`,hW=`TmpfsList`,gW=`TaskManagedEBSVolumeConfiguration`,_W=`TaskManagedEBSVolumeTerminationPolicy`,vW=`TargetNotConnectedException`,yW=`TargetNotFoundException`,bW=`TaskOverride`,xW=`TaskSet`,SW=`TaskSetNotFoundException`,CW=`TaskSets`,wW=`TaskVolumeConfiguration`,TW=`TaskVolumeConfigurations`,EW=`Task`,DW=`Tags`,OW=`Tasks`,kW=`Tmpfs`,AW=`Ulimit`,jW=`UpdateContainerInstancesState`,MW=`UpdateContainerInstancesStateRequest`,NW=`UpdateContainerInstancesStateResponse`,PW=`UnsupportedFeatureException`,FW=`UpdateInProgressException`,IW=`UlimitList`,LW=`Volume`,RW=`VolumeFrom`,zW=`VolumeFromList`,BW=`VersionInfo`,VW=`VolumeList`,HW=`VpcLatticeConfiguration`,UW=`VpcLatticeConfigurations`,WW=`attachments`,GW=`agentConnected`,KW=`advancedConfiguration`,qW=`authorizationConfig`,JW=`awsvpcConfiguration`,YW=`agentHash`,XW=`attachmentId`,ZW=`accessLogConfiguration`,QW=`alarmNames`,$W=`appProtocol`,eG=`accessPointArn`,tG=`awsPcaAuthorityArn`,nG=`assignPublicIp`,rG=`accessPointId`,iG=`activeServicesCount`,aG=`attachmentsStatus`,oG=`alternateTargetGroupArn`,sG=`agentUpdateStatus`,cG=`agentVersion`,lG=`availabilityZone`,uG=`availabilityZoneRebalancing`,Sye=`action`,Cye=`add`,wye=`alarms`,dG=`arn`,fG=`attributes`,Tye=`autoprovision`,Eye=`base`,Dye=`bindIP`,Oye=`bakeTimeInMinutes`,pG=`client`,mG=`clusterArn`,kye=`configuredAtLaunch`,Aye=`clusterArns`,jye=`clientAliases`,Mye=`containerArn`,Nye=`connectivityAt`,Pye=`cpuArchitecture`,hG=`createdAt`,Fye=`canaryBakeTimeInMinutes`,Iye=`createdBy`,Lye=`canaryConfiguration`,gG=`containerDefinitions`,Rye=`computedDesiredCount`,_G=`containerInstanceArn`,zye=`containerInstanceArns`,vG=`containerInstance`,yG=`containerInstances`,bG=`clusterName`,xG=`containerName`,Bye=`containerOverrides`,Vye=`canaryPercent`,SG=`capacityProviderName`,CG=`containerPortRange`,wG=`capacityProviderStrategy`,Hye=`capacityProvider`,TG=`capacityProviders`,EG=`containerPath`,DG=`containerPort`,OG=`credentialsParameter`,Uye=`credentialSpecs`,Wye=`currentServiceDeployment`,Gye=`currentServiceRevisions`,kG=`clientToken`,Kye=`cloudWatchEncryptionEnabled`,qye=`cloudWatchLogGroupName`,Jye=`capabilities`,AG=`cluster`,jG=`clusters`,MG=`configuration`,NG=`command`,Yye=`compatibilities`,Xye=`condition`,Zye=`connectivity`,Qye=`containers`,$ye=`count`,PG=`cpu`,FG=`details`,ebe=`deregisteredAt`,tbe=`discoveryArn`,IG=`deploymentConfiguration`,nbe=`deploymentCircuitBreaker`,LG=`defaultCapacityProviderStrategy`,RG=`desiredCount`,zG=`deploymentController`,rbe=`dockerLabels`,ibe=`disableNetworking`,abe=`daemonName`,BG=`deviceName`,VG=`discoveryName`,obe=`dnsName`,sbe=`dependsOn`,cbe=`deleteOnTermination`,lbe=`driverOpts`,ube=`deleteRequestedAt`,dbe=`dnsServers`,fbe=`dnsSearchDomains`,pbe=`dockerSecurityOptions`,HG=`desiredStatus`,UG=`deviceType`,mbe=`doubleValue`,hbe=`dockerVolumeConfiguration`,gbe=`dockerVersion`,_be=`devices`,vbe=`deployments`,ybe=`detail`,bbe=`domain`,xbe=`driver`,Sbe=`drop`,WG=`error`,Cbe=`exitCode`,wbe=`executeCommandConfiguration`,GG=`enableExecuteCommand`,KG=`enableECSManagedTags`,qG=`environmentFiles`,JG=`enableFaultInjection`,Tbe=`extraHosts`,Ebe=`externalId`,Dbe=`ec2InstanceId`,Obe=`entryPoint`,YG=`executionRoleArn`,kbe=`executionStoppedAt`,XG=`ephemeralStorage`,Abe=`efsVolumeConfiguration`,ZG=`environment`,QG=`enabled`,$G=`enable`,eK=`encrypted`,jbe=`essential`,Mbe=`events`,tK=`expression`,Nbe=`exact`,nK=`family`,Pbe=`firelensConfiguration`,rK=`fargateEphemeralStorage`,Fbe=`fargateEphemeralStorageKmsKeyId`,Ibe=`familyPrefix`,Lbe=`fileSystemArn`,iK=`fileSystemId`,Rbe=`failedTasks`,aK=`filesystemType`,zbe=`fsxWindowsFileServerVolumeConfiguration`,oK=`failures`,Bbe=`filter`,Vbe=`field`,Hbe=`force`,Ube=`format`,sK=`group`,Wbe=`gpuIds`,cK=`hostname`,Gbe=`healthCheck`,lK=`healthCheckGracePeriodSeconds`,Kbe=`hookDetails`,qbe=`httpError`,Jbe=`hardLimit`,Ybe=`hostPath`,Xbe=`hostPortRange`,uK=`hostPort`,dK=`healthStatus`,Zbe=`hookTargetArn`,Qbe=`header`,$be=`host`,fK=`id`,exe=`ipAddress`,txe=`inferenceAcceleratorOverrides`,pK=`inferenceAccelerators`,nxe=`ipv6Address`,rxe=`issuerCertificateAuthority`,ixe=`imageDigest`,axe=`ignoredExitCodes`,mK=`ipcMode`,oxe=`initProcessEnabled`,sxe=`ingressPortOverride`,cxe=`includeQueryParameters`,lxe=`idleTimeoutSeconds`,uxe=`integerValue`,dxe=`iam`,hK=`image`,fxe=`interactive`,gK=`include`,pxe=`interval`,_K=`iops`,mxe=`key`,hxe=`kmsKey`,vK=`kmsKeyId`,gxe=`links`,yK=`loadBalancers`,_xe=`loadBalancerName`,bK=`logConfiguration`,vxe=`linearConfiguration`,yxe=`logDriver`,bxe=`lifecycleHooks`,xxe=`linuxParameters`,xK=`lastStatus`,Sxe=`lastStartedAt`,Cxe=`lastStatusChange`,wxe=`lifecycleStages`,SK=`launchType`,Txe=`lastUpdated`,Exe=`longValue`,Dxe=`labels`,Oxe=`logging`,CK=`message`,kxe=`managedAgents`,Axe=`metricConfigurations`,wK=`managedEBSVolume`,jxe=`minimumHealthyPercent`,Mxe=`metricNames`,Nxe=`mountOptions`,Pxe=`mountPoints`,Fxe=`maximumPercent`,TK=`memoryReservation`,EK=`maxResults`,Ixe=`managedStorageConfiguration`,Lxe=`maxSwap`,DK=`memory`,Rxe=`monitoring`,OK=`name`,zxe=`networkBindings`,kK=`networkConfiguration`,Bxe=`neuronDeviceIds`,Vxe=`networkInterfaces`,AK=`networkMode`,jK=`nextToken`,MK=`namespace`,NK=`options`,Hxe=`overallStatus`,Uxe=`operatingSystemFamily`,PK=`overrides`,Wxe=`privileged`,FK=`pendingCount`,IK=`placementConstraints`,LK=`proxyConfiguration`,RK=`platformFamily`,Gxe=`privateIpv4Address`,Kxe=`productionListenerRule`,qxe=`portMappings`,zK=`pidMode`,BK=`portName`,Jxe=`perRequestTimeoutSeconds`,VK=`placementStrategy`,Yxe=`pullStartedAt`,Xxe=`pullStoppedAt`,Zxe=`pseudoTerminal`,HK=`pendingTasksCount`,Qxe=`pendingTaskCount`,UK=`propagateTags`,WK=`platformVersion`,$xe=`permissions`,GK=`port`,KK=`protocol`,eSe=`properties`,qK=`reason`,JK=`roleArn`,tSe=`restartAttemptPeriod`,YK=`registeredAt`,nSe=`registryArn`,rSe=`requiresAttributes`,iSe=`registeredBy`,aSe=`repositoryCredentials`,oSe=`registeredContainerInstancesCount`,XK=`requiresCompatibilities`,ZK=`runningCount`,QK=`rootDirectory`,sSe=`resourceIds`,cSe=`referenceId`,lSe=`runtimeId`,$K=`resourceManagementType`,eq=`readOnly`,uSe=`resetOnHealthyTask`,dSe=`restartPolicy`,tq=`runtimePlatform`,nq=`resourceRequirements`,fSe=`readonlyRootFilesystem`,pSe=`remainingResources`,mSe=`registeredResources`,hSe=`rolloutState`,gSe=`rolloutStateReason`,_Se=`resolutionSeconds`,vSe=`resourceType`,rq=`runningTasksCount`,ySe=`requestedTaskCount`,bSe=`runningTaskCount`,xSe=`revision`,SSe=`retries`,CSe=`role`,iq=`rollback`,aq=`smithy.ts.sdk.synthetic.com.amazonaws.ecs`,wSe=`startedAt`,oq=`serviceArn`,TSe=`serviceArns`,ESe=`stoppedAt`,DSe=`stoppingAt`,sq=`startedBy`,OSe=`s3BucketName`,kSe=`stepBakeTimeInMinutes`,ASe=`systemControls`,cq=`serviceConnectConfiguration`,lq=`serviceConnectDefaults`,jSe=`serviceConnectResources`,MSe=`sourceContainer`,NSe=`stopCode`,PSe=`s3EncryptionEnabled`,FSe=`securityGroups`,uq=`sizeInGiB`,dq=`snapshotId`,ISe=`s3KeyPrefix`,LSe=`softLimit`,RSe=`sharedMemorySize`,fq=`serviceName`,zSe=`secretOptions`,BSe=`startPeriod`,VSe=`sourcePath`,HSe=`stepPercent`,pq=`statusReason`,mq=`serviceRegistries`,USe=`stoppedReason`,hq=`schedulingStrategy`,WSe=`stabilityStatusAt`,GSe=`stringSetValue`,KSe=`stabilityStatus`,qSe=`startTimeout`,JSe=`stopTimeout`,YSe=`sourceVolume`,XSe=`s3filesVolumeConfiguration`,ZSe=`scale`,QSe=`scope`,$Se=`server`,eCe=`secrets`,tCe=`service`,gq=`services`,_q=`settings`,nCe=`size`,rCe=`sort`,vq=`status`,iCe=`statistics`,aCe=`strategy`,oCe=`subnets`,sCe=`swappiness`,yq=`type`,bq=`taskArn`,cCe=`taskArns`,lCe=`thresholdConfiguration`,uCe=`timeoutConfiguration`,xq=`taskDefinition`,Sq=`taskDefinitionArn`,dCe=`taskDefinitionArns`,Cq=`transitEncryptionPort`,fCe=`transitEncryption`,wq=`targetGroupArn`,pCe=`targetId`,mCe=`timeoutInMinutes`,hCe=`testListenerRule`,gCe=`terminationPolicy`,Tq=`taskRoleArn`,_Ce=`taskSetArn`,vCe=`taskSets`,Eq=`tagSpecifications`,Dq=`targetType`,yCe=`testTrafficRules`,Oq=`tags`,kq=`tasks`,Aq=`task`,jq=`throughput`,Mq=`timeout`,bCe=`tls`,xCe=`tmpfs`,SCe=`user`,Nq=`updatedAt`,CCe=`ulimits`,wCe=`unit`,Pq=`value`,TCe=`versionConsistency`,Fq=`volumeConfigurations`,ECe=`volumesFrom`,DCe=`valueFrom`,OCe=`versionInfo`,Iq=`volumeInitializationRate`,Lq=`vpcLatticeConfigurations`,Rq=`volumeType`,zq=`version`,Bq=`volumes`,kCe=`weight`,ACe=`workingDirectory`,C=`com.amazonaws.ecs`,Vq=ct.for(aq),jCe=[-3,aq,`ECSServiceException`,0,[],[]];Vq.registerError(jCe,Fz);var Hq=ct.for(C),MCe=[-3,C,hB,{[WG]:pG,[qbe]:403},[CK],[0]];Hq.registerError(MCe,Iz);var NCe=[-3,C,gB,{[WG]:pG},[CK],[0]];Hq.registerError(NCe,$z);var PCe=[-3,C,xB,{[WG]:pG},[CK],[0]];Hq.registerError(PCe,dB);var FCe=[-3,C,IB,{[WG]:pG},[CK],[0]];Hq.registerError(FCe,Lz);var ICe=[-3,C,TB,{[WG]:pG},[CK],[0]];Hq.registerError(ICe,Gz);var LCe=[-3,C,wB,{[WG]:pG},[CK],[0]];Hq.registerError(LCe,Kz);var RCe=[-3,C,OB,{[WG]:pG},[CK],[0]];Hq.registerError(RCe,qz);var zCe=[-3,C,kB,{[WG]:pG},[CK],[0]];Hq.registerError(zCe,Jz);var BCe=[-3,C,VB,{[WG]:pG},[CK],[0]];Hq.registerError(BCe,Rz);var VCe=[-3,C,LB,{[WG]:pG},[sSe,CK],[64,0]];Hq.registerError(VCe,lB);var HCe=[-3,C,TV,{[WG]:pG},[CK],[0]];Hq.registerError(HCe,iB);var UCe=[-3,C,EV,{[WG]:pG},[CK],[0]];Hq.registerError(UCe,aB);var WCe=[-3,C,pH,{[WG]:pG},[CK],[0]];Hq.registerError(WCe,zz);var GCe=[-3,C,EH,{[WG]:pG},[CK],[0]];Hq.registerError(GCe,Bz);var KCe=[-3,C,GH,{[WG]:pG},[CK],[0]];Hq.registerError(KCe,eB);var qCe=[-3,C,ZH,{[WG]:pG},[CK],[0]];Hq.registerError(qCe,Wz);var JCe=[-3,C,QH,{[WG]:pG},[CK],[0]];Hq.registerError(JCe,tB);var YCe=[-3,C,sU,{[WG]:pG},[CK],[0]];Hq.registerError(YCe,oB);var XCe=[-3,C,cU,{[WG]:pG},[CK],[0]];Hq.registerError(XCe,rB);var ZCe=[-3,C,fU,{[WG]:pG},[CK],[0]];Hq.registerError(ZCe,Xz);var QCe=[-3,C,pU,{[WG]:pG},[CK],[0]];Hq.registerError(QCe,cB);var $Ce=[-3,C,UU,{[WG]:$Se},[CK],[0]];Hq.registerError($Ce,Vz);var ewe=[-3,C,HU,{[WG]:pG},[CK],[0]];Hq.registerError(ewe,nB);var twe=[-3,C,YU,{[WG]:pG},[CK],[0]];Hq.registerError(twe,sB);var nwe=[-3,C,XU,{[WG]:pG},[CK],[0]];Hq.registerError(nwe,Qz);var rwe=[-3,C,vW,{[WG]:pG},[CK],[0]];Hq.registerError(rwe,Yz);var iwe=[-3,C,yW,{[WG]:pG},[CK],[0]];Hq.registerError(iwe,Zz);var awe=[-3,C,SW,{[WG]:pG},[CK],[0]];Hq.registerError(awe,uB);var owe=[-3,C,PW,{[WG]:pG},[CK],[0]];Hq.registerError(owe,Hz);var swe=[-3,C,FW,{[WG]:pG},[CK],[0]];Hq.registerError(swe,Uz);var cwe=[Vq,Hq],lwe=[3,C,pB,0,[oG,Kxe,hCe,JK],[0,0,0,0]],uwe=[3,C,fB,0,[fK,yq,vq,FG],[0,0,0,()=>EEe]],Uq=[3,C,vB,0,[OK,Pq,Dq,pCe],[0,0,0,0],1],dwe=[3,C,_B,0,[oCe,FSe,nG],[64,64,0],1],fwe=[3,C,CB,0,[Vye,Fye],[1,1]],pwe=[3,C,GB,0,[Hye,kCe,Eye],[0,1,1],1],Wq=[3,C,SB,0,[mG,bG,MG,vq,oSe,rq,HK,iG,iCe,Oq,_q,TG,LG,WW,aG,lq],[0,0,()=>Gq,0,1,1,1,1,()=>ZEe,()=>EJ,()=>uJ,64,()=>lJ,()=>sJ,0,()=>mwe]],Gq=[3,C,AB,0,[wbe,Ixe],[()=>eTe,()=>DTe]],mwe=[3,C,JB,0,[MK],[0]],hwe=[3,C,YB,0,[MK],[0],1],gwe=[3,C,qB,0,[OK,Pq],[0,0]],_we=[3,C,tV,0,[Mye,bq,OK,hK,ixe,lSe,xK,Cbe,qK,zxe,Vxe,dK,kxe,PG,DK,TK,Wbe,Bxe],[0,0,0,0,0,0,0,1,0,()=>BEe,()=>VEe,0,()=>LEe,0,0,0,64,64]],vwe=[3,C,MB,0,[OK,hK,aSe,PG,DK,TK,gxe,qxe,jbe,dSe,Obe,NG,ZG,qG,Pxe,ECe,xxe,eCe,sbe,qSe,JSe,TCe,cK,SCe,ACe,ibe,Wxe,fSe,dbe,fbe,Tbe,pbe,fxe,Zxe,rbe,CCe,bK,Gbe,ASe,nq,Pbe,Uye],[0,0,[()=>RTe,0],1,1,1,64,()=>HEe,2,()=>Swe,64,64,[()=>hJ,0],()=>mJ,()=>zEe,()=>rDe,()=>mTe,()=>CJ,()=>OEe,1,1,0,0,0,0,2,2,2,64,64,()=>PEe,64,2,2,128,()=>nDe,()=>Qq,()=>oTe,()=>QEe,()=>xJ,()=>rTe,64]],ywe=[3,C,NB,0,[xG,Xye],[0,0],2],Kq=[3,C,zB,0,[_G,Dbe,SG,zq,OCe,pSe,mSe,vq,pq,GW,rq,HK,sG,fG,YK,WW,Oq,dK],[0,0,0,1,()=>SEe,()=>SJ,()=>SJ,0,0,2,1,1,0,()=>cJ,4,()=>sJ,()=>EJ,()=>bwe]],bwe=[3,C,RB,0,[Hxe,FG],[0,()=>IEe]],xwe=[3,C,HB,0,[OK,NG,ZG,qG,PG,DK,TK,nq],[0,64,[()=>hJ,0],()=>mJ,1,1,1,()=>xJ]],Swe=[3,C,KB,0,[QG,axe,tSe],[2,65,1],1],Cwe=[3,C,EB,0,[bG,Oq,_q,MG,TG,LG,lq],[0,()=>EJ,()=>uJ,()=>Gq,64,()=>lJ,()=>hwe]],wwe=[3,C,DB,0,[AG],[()=>Wq]],Twe=[3,C,XB,0,[fq,AG,xq,uG,yK,mq,RG,kG,SK,wG,WK,CSe,IG,IK,VK,kK,lK,hq,zG,Oq,KG,UK,GG,cq,Fq,Lq,Rxe],[0,0,0,0,()=>vJ,()=>wJ,1,0,0,()=>lJ,0,0,()=>qq,()=>yJ,()=>bJ,()=>$q,1,0,()=>Jq,()=>EJ,2,0,2,()=>rJ,()=>TJ,()=>AJ,()=>kTe],1],Ewe=[3,C,ZB,0,[tCe],[()=>nJ]],Dwe=[3,C,pV,0,[AG],[0],1],Owe=[3,C,mV,0,[AG],[()=>Wq]],kwe=[3,C,rV,0,[fK,vq,xq,RG,FK,ZK,Rbe,hG,Nq,wG,SK,WK,RK,kK,hSe,gSe,cq,jSe,Fq,rK,Lq],[0,0,0,1,1,1,1,4,4,()=>lJ,0,0,0,()=>$q,0,0,()=>rJ,()=>qEe,()=>TJ,()=>Yq,()=>AJ]],Awe=[3,C,iV,0,[QW,iq,$G],[64,2,2],3],jwe=[3,C,oV,0,[$G,iq,uSe,lCe],[2,2,2,()=>gEe],2],qq=[3,C,aV,0,[nbe,Fxe,jxe,wye,aCe,Oye,bxe,vxe,Lye],[()=>jwe,1,1,()=>Awe,0,1,()=>jEe,()=>pTe,()=>fwe]],Jq=[3,C,_V,0,[yq],[0],1],Yq=[3,C,bV,0,[vK],[0]],Mwe=[3,C,SV,0,[Dq,Zbe,JK,wxe,Kbe,uCe],[0,0,0,64,15,()=>Nwe]],Nwe=[3,C,wV,0,[mCe,Sye],[1,0]],Pwe=[3,C,sV,0,[vG,AG,Hbe],[0,0,2],1],Fwe=[3,C,cV,0,[vG],[()=>Kq]],Iwe=[3,C,jV,0,[xq],[0],1],Lwe=[3,C,MV,0,[xq],[[()=>aJ,0]]],Rwe=[3,C,hV,0,[jG,gK],[64,64]],zwe=[3,C,gV,0,[jG,oK],[()=>DEe,()=>gJ]],Bwe=[3,C,lV,0,[yG,AG,gK],[64,0,64],1],Vwe=[3,C,uV,0,[yG,oK],[()=>fJ,()=>gJ]],Hwe=[3,C,DV,0,[gq,AG,gK],[64,0,64],1],Uwe=[3,C,OV,0,[gq,oK],[()=>XEe,()=>gJ]],Wwe=[3,C,NV,0,[xq,gK],[0,64],1],Gwe=[3,C,PV,0,[xq,Oq],[[()=>aJ,0],()=>EJ]],Kwe=[3,C,LV,0,[kq,AG,gK],[64,0,64],1],qwe=[3,C,RV,0,[kq,oK],[[()=>OJ,0],()=>gJ]],Jwe=[3,C,BV,0,[Ybe,EG,$xe],[0,0,64],1],Ywe=[3,C,zV,0,[QSe,Tye,xbe,lbe,Dxe],[0,2,0,128,128]],Xwe=[3,C,HV,0,[vSe,Oq,UK],[0,()=>EJ,0],1],Zwe=[3,C,qV,0,[rG,dxe],[0,0]],Qwe=[3,C,JV,0,[iK,QK,fCe,Cq,qW],[0,0,0,1,()=>Zwe],1],$we=[3,C,KV,0,[Pq,yq],[0,0],2],Xq=[3,C,XV,0,[uq],[1],1],eTe=[3,C,WV,0,[vK,Oxe,bK],[0,0,()=>tTe]],tTe=[3,C,GV,0,[qye,Kye,OSe,PSe,ISe],[0,2,0,2,0]],nTe=[3,C,QV,0,[dG,qK,ybe],[0,0,0]],rTe=[3,C,$V,0,[yq,NK],[0,128],1],iTe=[3,C,eH,0,[OG,bbe],[0,0],2],aTe=[3,C,tH,0,[iK,QK,qW],[0,0,()=>iTe],3],oTe=[3,C,rH,0,[NG,pxe,Mq,SSe,BSe],[64,1,1,1,1],1],sTe=[3,C,iH,0,[cK,exe],[0,0],2],cTe=[3,C,oH,0,[VSe],[0]],lTe=[3,C,sH,0,[BG,UG],[0,0],2],uTe=[3,C,cH,0,[BG,UG],[0,0]],dTe=[3,C,dH,0,[yq,vq,pq,Txe,Cxe],[0,0,0,4,4]],fTe=[3,C,mH,0,[Cye,Sbe],[64,64]],Zq=[3,C,hH,0,[OK,Pq],[0,0]],pTe=[3,C,vH,0,[HSe,kSe],[1,1]],mTe=[3,C,DH,0,[Jye,_be,oxe,RSe,xCe,Lxe,sCe],[()=>fTe,()=>NEe,2,1,()=>tDe,1,1]],hTe=[3,C,SH,0,[jK,EK],[0,1]],gTe=[3,C,CH,0,[Aye,jK],[64,0]],_Te=[3,C,bH,0,[AG,Bbe,jK,EK,vq],[0,0,0,1,0]],vTe=[3,C,xH,0,[zye,jK],[64,0]],yTe=[3,C,kH,0,[AG,jK,EK,SK,hq,$K],[0,0,1,0,0,0]],bTe=[3,C,AH,0,[TSe,jK],[64,0]],xTe=[3,C,NH,0,[Ibe,vq,rCe,jK,EK],[0,0,0,0,1]],STe=[3,C,PH,0,[dCe,jK],[64,0]],CTe=[3,C,FH,0,[AG,vG,nK,jK,EK,sq,fq,HG,SK,abe],[0,0,0,0,1,0,0,0,0,0]],wTe=[3,C,IH,0,[cCe,jK],[64,0]],TTe=[3,C,gH,0,[wq,_xe,xG,DG,KW],[0,0,0,1,()=>lwe]],Qq=[3,C,TH,0,[yxe,NK,zSe],[0,128,()=>CJ],1],ETe=[3,C,LH,0,[Sxe,OK,qK,xK],[4,0,0,0]],DTe=[3,C,WH,0,[vK,Fbe],[0,0]],OTe=[3,C,BH,0,[Mxe,_Se],[64,1],2],kTe=[3,C,VH,0,[Axe],[()=>REe]],ATe=[3,C,HH,0,[YSe,EG,eq],[0,0,2]],jTe=[3,C,KH,0,[Dye,DG,uK,KK,CG,Xbe],[0,1,1,0,0,0]],$q=[3,C,JH,0,[JW],[()=>dwe]],MTe=[3,C,YH,0,[XW,Gxe,nxe],[0,0,0]],NTe=[3,C,$H,0,[yq,tK],[0,0]],PTe=[3,C,aU,0,[yq,Vbe],[0,0]],FTe=[3,C,rU,0,[DG,uK,KK,OK,$W,CG],[1,1,0,0,0,0]],eJ=[3,C,nU,0,[xG,yq,eSe],[0,0,()=>UEe],1],ITe=[3,C,yU,0,[nK,gG,Tq,YG,AK,Bq,IK,XK,PG,DK,Oq,zK,mK,LK,pK,XG,tq,JG],[0,[()=>dJ,0],0,0,0,()=>kJ,()=>DJ,64,0,0,()=>EJ,0,0,()=>eJ,()=>_J,()=>Xq,()=>tJ,2],2],LTe=[3,C,bU,0,[xq,Oq],[[()=>aJ,0],()=>EJ]],RTe=[3,C,dU,8,[OG],[0],1],zTe=[3,C,lU,0,[OK,yq,mbe,Exe,uxe,GSe],[0,0,1,1,1,64]],BTe=[3,C,hU,0,[Pq,yq],[0,0],2],VTe=[3,C,xU,0,[xq,wG,AG,$ye,KG,GG,sK,SK,kK,PK,IK,VK,WK,UK,cSe,sq,Oq,kG,Fq],[0,()=>lJ,0,1,2,2,0,0,()=>$q,[()=>oJ,0],()=>yJ,()=>bJ,0,0,0,0,()=>EJ,[0,4],()=>eDe],1],HTe=[3,C,SU,0,[kq,oK],[[()=>OJ,0],()=>gJ]],tJ=[3,C,mU,0,[Pye,Uxe],[0,0]],UTe=[3,C,KU,0,[Lbe,QK,Cq,eG],[0,0,1,0],1],WTe=[3,C,wU,0,[Pq,wCe],[1,0]],GTe=[3,C,iW,0,[OK,DCe],[0,0],2],nJ=[3,C,aW,0,[oq,fq,mG,yK,mq,vq,RG,ZK,FK,SK,wG,WK,RK,xq,IG,vCe,vbe,JK,Mbe,hG,Wye,Gye,IK,VK,kK,lK,hq,zG,Oq,Iye,KG,UK,GG,uG,$K],[0,0,0,()=>vJ,()=>wJ,0,1,1,1,0,()=>lJ,0,0,0,()=>qq,()=>$Ee,()=>MEe,0,()=>YEe,4,0,()=>JEe,()=>yJ,()=>bJ,()=>$q,1,0,()=>Jq,()=>EJ,0,2,0,2,0,0]],KTe=[3,C,EU,0,[Ube,cxe],[0,0],1],qTe=[3,C,OU,0,[GK,obe,yCe],[1,0,()=>QTe],1],rJ=[3,C,DU,0,[QG,MK,gq,bK,ZW],[2,0,()=>KEe,()=>Qq,()=>KTe],1],JTe=[3,C,MU,0,[BK,VG,jye,sxe,Mq,bCe],[0,0,()=>GEe,1,()=>_Ee,()=>eEe],1],YTe=[3,C,PU,0,[VG,tbe],[0,0]],XTe=[3,C,RU,0,[Nbe],[0],1],ZTe=[3,C,zU,0,[OK,Pq],[0,()=>XTe],1],QTe=[3,C,BU,0,[Qbe],[()=>ZTe],1],$Te=[3,C,LU,0,[tG],[0]],eEe=[3,C,IU,0,[rxe,hxe,JK],[()=>$Te,0,0],1],tEe=[3,C,AU,0,[dG,ySe,bSe,Qxe],[0,1,1,1]],nEe=[3,C,WU,0,[fK,hG,CK],[0,4,0]],rEe=[3,C,JU,0,[JK,eK,vK,Rq,uq,dq,Iq,_K,jq,Eq,aK],[0,2,0,0,1,0,1,1,1,()=>pJ,0],1],iEe=[3,C,ZU,0,[nSe,GK,xG,DG],[0,1,0,1]],aEe=[3,C,nW,0,[OK,wK],[0,()=>rEe],1],oEe=[3,C,$U,0,[Aq,AG,qK],[0,0,0],1],sEe=[3,C,eW,0,[Aq],[[()=>iJ,0]]],cEe=[3,C,TU,0,[MK,Pq],[0,0]],lEe=[3,C,cW,0,[mxe,Pq],[0,0]],iJ=[3,C,EW,0,[WW,fG,lG,SG,mG,Zye,Nye,_G,Qye,PG,hG,HG,GG,kbe,sK,dK,pK,xK,SK,DK,PK,WK,RK,Yxe,Xxe,wSe,sq,NSe,ESe,USe,DSe,Oq,bq,Sq,zq,XG,rK],[()=>sJ,()=>cJ,0,0,0,0,4,0,()=>AEe,0,4,0,2,4,0,0,()=>_J,0,0,0,[()=>oJ,0],0,0,4,4,4,0,0,4,0,4,()=>EJ,0,0,1,()=>Xq,()=>dEe]],aJ=[3,C,dW,0,[Sq,gG,nK,Tq,YG,AK,xSe,Bq,vq,rSe,IK,Yye,tq,XK,PG,DK,pK,zK,mK,LK,YK,ebe,ube,iSe,XG,JG],[0,[()=>dJ,0],0,0,0,0,1,()=>kJ,0,()=>WEe,()=>DJ,64,()=>tJ,64,0,0,()=>_J,0,0,()=>eJ,4,4,4,0,()=>Xq,2]],uEe=[3,C,fW,0,[yq,tK],[0,0]],dEe=[3,C,mW,0,[uq,vK],[1,0]],fEe=[3,C,gW,0,[JK,eK,vK,Rq,uq,dq,Iq,_K,jq,Eq,gCe,aK],[0,2,0,0,1,0,1,1,1,()=>pJ,()=>pEe,0],1],pEe=[3,C,_W,0,[cbe],[2],1],oJ=[3,C,bW,0,[Bye,PG,txe,YG,DK,Tq,XG],[[()=>kEe,0],0,()=>FEe,0,0,0,()=>Xq]],mEe=[3,C,xW,0,[fK,_Ce,oq,mG,sq,Ebe,vq,xq,Rye,FK,ZK,hG,Nq,SK,wG,WK,RK,kK,yK,mq,ZSe,KSe,WSe,Oq,rK],[0,0,0,0,0,0,0,0,1,1,1,4,4,0,()=>lJ,0,0,()=>$q,()=>vJ,()=>wJ,()=>WTe,0,4,()=>EJ,()=>Yq]],hEe=[3,C,wW,0,[OK,wK],[0,()=>fEe],1],gEe=[3,C,lW,0,[yq,Pq],[0,1],2],_Ee=[3,C,uW,0,[lxe,Jxe],[1,1]],vEe=[3,C,kW,0,[EG,nCe,Nxe],[0,1,64],2],yEe=[3,C,AW,0,[OK,LSe,Jbe],[0,1,1],3],bEe=[3,C,MW,0,[yG,vq,AG],[64,0,0],2],xEe=[3,C,NW,0,[yG,oK],[()=>fJ,()=>gJ]],SEe=[3,C,BW,0,[cG,YW,gbe],[0,0,0]],CEe=[3,C,LW,0,[OK,$be,hbe,Abe,XSe,zbe,kye],[0,()=>cTe,()=>Ywe,()=>Qwe,()=>UTe,()=>aTe,2]],wEe=[3,C,RW,0,[MSe,eq],[0,2]],TEe=[3,C,HW,0,[JK,wq,BK],[0,0,0],3],EEe=[1,C,mB,0,()=>Zq],sJ=[1,C,yB,0,()=>uwe],cJ=[1,C,bB,0,()=>Uq],lJ=[1,C,WB,0,()=>pwe],DEe=[1,C,eV,0,()=>Wq],uJ=[1,C,QB,0,()=>gwe],dJ=[1,C,PB,0,[()=>vwe,0]],OEe=[1,C,FB,0,()=>ywe],fJ=[1,C,BB,0,()=>Kq],kEe=[1,C,UB,0,[()=>xwe,0]],AEe=[1,C,nV,0,()=>_we],jEe=[1,C,CV,0,()=>Mwe],MEe=[1,C,VV,0,()=>kwe],NEe=[1,C,xV,0,()=>Jwe],pJ=[1,C,UV,0,()=>Xwe],mJ=[1,C,YV,0,()=>$we],hJ=[1,C,ZV,8,()=>Zq],gJ=[1,C,nH,0,()=>nTe],PEe=[1,C,aH,0,()=>sTe],FEe=[1,C,lH,0,()=>uTe],_J=[1,C,uH,0,()=>lTe],IEe=[1,C,fH,0,()=>dTe],vJ=[1,C,_H,0,()=>TTe],LEe=[1,C,RH,0,()=>ETe],REe=[1,C,zH,0,()=>OTe],zEe=[1,C,UH,0,()=>ATe],BEe=[1,C,qH,0,()=>jTe],VEe=[1,C,XH,0,()=>MTe],yJ=[1,C,tU,0,()=>NTe],bJ=[1,C,oU,0,()=>PTe],HEe=[1,C,iU,0,()=>FTe],UEe=[1,C,eU,0,()=>Zq],WEe=[1,C,uU,0,()=>Uq],xJ=[1,C,gU,0,()=>BTe],SJ=[1,C,CU,0,()=>zTe],CJ=[1,C,qU,0,()=>GTe],GEe=[1,C,kU,0,()=>qTe],KEe=[1,C,NU,0,()=>JTe],qEe=[1,C,FU,0,()=>YTe],JEe=[1,C,jU,0,()=>tEe],YEe=[1,C,GU,0,()=>nEe],wJ=[1,C,QU,0,()=>iEe],XEe=[1,C,oW,0,()=>nJ],TJ=[1,C,rW,0,()=>aEe],ZEe=[1,C,sW,0,()=>Zq],QEe=[1,C,VU,0,()=>cEe],EJ=[1,C,DW,0,()=>lEe],DJ=[1,C,pW,0,()=>uEe],OJ=[1,C,OW,0,[()=>iJ,0]],$Ee=[1,C,CW,0,()=>mEe],eDe=[1,C,TW,0,()=>hEe],tDe=[1,C,hW,0,()=>vEe],nDe=[1,C,IW,0,()=>yEe],rDe=[1,C,zW,0,()=>wEe],kJ=[1,C,VW,0,()=>CEe],AJ=[1,C,UW,0,()=>TEe],iDe=[9,C,jB,0,()=>Cwe,()=>wwe],aDe=[9,C,$B,0,()=>Twe,()=>Ewe],oDe=[9,C,vV,2,()=>Dwe,()=>Owe],sDe=[9,C,dV,0,()=>Pwe,()=>Fwe],cDe=[9,C,FV,0,()=>Iwe,()=>Lwe],lDe=[9,C,yV,0,()=>Rwe,()=>zwe],uDe=[9,C,fV,0,()=>Bwe,()=>Vwe],dDe=[9,C,kV,0,()=>Hwe,()=>Uwe],fDe=[9,C,IV,0,()=>Wwe,()=>Gwe],pDe=[9,C,AV,0,()=>Kwe,()=>qwe],mDe=[9,C,wH,0,()=>hTe,()=>gTe],hDe=[9,C,yH,0,()=>_Te,()=>vTe],gDe=[9,C,OH,0,()=>yTe,()=>bTe],_De=[9,C,MH,0,()=>xTe,()=>STe],vDe=[9,C,jH,0,()=>CTe,()=>wTe],yDe=[9,C,vU,0,()=>ITe,()=>LTe],bDe=[9,C,_U,0,()=>VTe,()=>HTe],xDe=[9,C,tW,0,()=>oEe,()=>sEe],SDe=[9,C,jW,0,()=>bEe,()=>xEe],CDe=e=>({apiVersion:`2014-11-13`,base64Decoder:e?.base64Decoder??qe,base64Encoder:e?.base64Encoder??_e,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??Pz,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??pz,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new ge}],logger:e?.logger??new Ge,protocol:e?.protocol??Zt,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.ecs`,errorTypeRegistries:cwe,xmlNamespace:`http://ecs.amazonaws.com/doc/2014-11-13/`,version:`2014-11-13`,serviceTarget:`AmazonEC2ContainerServiceV20141113`},serviceId:e?.serviceId??`ECS`,sha256:e?.sha256??Ve,urlParser:e?.urlParser??Te,utf8Decoder:e?.utf8Decoder??lt,utf8Encoder:e?.utf8Encoder??ut}),wDe=e=>{let t=We(e),n=()=>t().then(ye),r=CDe(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Fe,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??ve({serviceId:r.serviceId,clientVersion:_z.version}),maxAttempts:e?.maxAttempts??3,region:e?.region??De(`Region is missing`),requestHandler:Ce.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||ce),streamCollector:e?.streamCollector??Ie,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},TDe=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}}},EDe=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),DDe=(e,n)=>{let r=Object.assign(Ke(e),pe(e),je(e),TDe(e));return n.forEach(e=>e.configure(r)),Object.assign(e,t(r),he(r),be(r),EDe(r))},ODe=class extends i{config;constructor(...[e]){let t=wDe(e||{});super(t),this.initConfig=t;let n=hz(t),i=oe(n),a=Qe(i),o=fe(a),s=Oe(o),c=DDe(mz(Re(s)),e?.extensions||[]);this.config=c,this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(te(this.config)),this.middlewareStack.use(le(this.config)),this.middlewareStack.use(Ae(this.config)),this.middlewareStack.use(we(this.config)),this.middlewareStack.use(ae(this.config)),this.middlewareStack.use(Ee(this.config)),this.middlewareStack.use(r(this.config,{httpAuthSchemeParametersProvider:dz,identityProviderConfigProvider:async e=>new de({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(xe(this.config))}destroy(){super.destroy()}},kDe=async(e,t,n)=>({operation:$e(t).operation,region:await ke(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function ADe(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`eks`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var jDe=e=>{let t=[];return e.operation,t.push(ADe(e)),t},MDe=e=>{let t=rt(e);return Object.assign(t,{authSchemePreference:ke(e.authSchemePreference??[])})},NDe=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:`eks`}),PDe={UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},FDe={name:`@aws-sdk/client-eks`,version:`3.1109.0`,description:`AWS SDK for JavaScript Eks Client for Node.js, Browser and React Native`,homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-eks`,license:`Apache-2.0`,author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/sdk-for-javascript/`},repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-eks`},files:[`dist-*/**`],sideEffects:!1,main:`./dist-cjs/index.js`,module:`./dist-es/index.js`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},types:`./dist-types/index.d.ts`,typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline`,"build:es":`premove dist-es && tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`premove dist-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`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service`,"test:index":`tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs`},dependencies:{"@aws-sdk/core":`^3.977.7`,"@aws-sdk/credential-provider-node":`^3.972.79`,"@aws-sdk/types":`^3.974.3`,"@smithy/core":`^3.31.1`,"@smithy/fetch-http-handler":`^5.6.13`,"@smithy/node-http-handler":`^4.9.13`,"@smithy/types":`^4.16.1`,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:`~6.0.3`},engines:{node:`>=20.0.0`}},jJ=`ref`,MJ=-1,NJ=!0,PJ=`isSet`,FJ=`PartitionResult`,IJ=`booleanEquals`,LJ=`getAttr`,RJ=`stringEquals`,zJ={[jJ]:`Endpoint`},BJ={[jJ]:FJ},VJ={fn:LJ,argv:[BJ,`name`]},HJ={},UJ=[{[jJ]:`Region`}],WJ={conditions:[[PJ,[zJ]],[PJ,UJ],[`aws.partition`,UJ,FJ],[IJ,[{[jJ]:`UseFIPS`},NJ]],[IJ,[{[jJ]:`UseDualStack`},NJ]],[IJ,[{fn:LJ,argv:[BJ,`supportsDualStack`]},NJ]],[IJ,[{fn:LJ,argv:[BJ,`supportsFIPS`]},NJ]],[RJ,[VJ,`aws`]],[RJ,[VJ,`aws-us-gov`]]],results:[[MJ],[MJ,`Invalid Configuration: FIPS and custom endpoint are not supported`],[MJ,`Invalid Configuration: Dualstack and custom endpoint are not supported`],[zJ,HJ],[`https://eks-fips.{Region}.{PartitionResult#dualStackDnsSuffix}`,HJ],[MJ,`FIPS and DualStack are enabled, but this partition does not support one or both`],[`https://fips.eks.{Region}.amazonaws.com`,HJ],[`https://eks.{Region}.amazonaws.com`,HJ],[`https://eks-fips.{Region}.{PartitionResult#dnsSuffix}`,HJ],[MJ,`FIPS is enabled but this partition does not support FIPS`],[`https://eks.{Region}.{PartitionResult#dualStackDnsSuffix}`,HJ],[MJ,`DualStack is enabled but this partition does not support DualStack`],[`https://eks.{Region}.{PartitionResult#dnsSuffix}`,HJ],[MJ,`Invalid Configuration: Missing Region`]]},IDe=2,LDe=new Int32Array([-1,1,-1,0,14,3,1,4,100000013,2,5,100000013,3,8,6,4,7,100000012,5,100000010,100000011,4,12,9,6,10,100000009,7,100000006,11,8,100000007,100000008,5,13,100000005,6,100000004,100000005,3,100000001,15,4,100000002,100000003]),RDe=Be.from(LDe,IDe,WJ.conditions,WJ.results),zDe=new He({size:50,params:[`Endpoint`,`Region`,`UseDualStack`,`UseFIPS`]}),BDe=(e,t={})=>zDe.get(e,()=>Ze(RDe,{endpointParams:e,logger:t.logger}));Ye.aws=me;var GJ=class e extends ne{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},VDe=class e extends GJ{name=`AccessDeniedException`;$fault=`client`;constructor(t){super({name:`AccessDeniedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},HDe=class e extends GJ{name=`InvalidParameterException`;$fault=`client`;clusterName;nodegroupName;fargateProfileName;addonName;subscriptionId;constructor(t){super({name:`InvalidParameterException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.clusterName=t.clusterName,this.nodegroupName=t.nodegroupName,this.fargateProfileName=t.fargateProfileName,this.addonName=t.addonName,this.subscriptionId=t.subscriptionId}},UDe=class e extends GJ{name=`InvalidRequestException`;$fault=`client`;clusterName;nodegroupName;addonName;subscriptionId;constructor(t){super({name:`InvalidRequestException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.clusterName=t.clusterName,this.nodegroupName=t.nodegroupName,this.addonName=t.addonName,this.subscriptionId=t.subscriptionId}},WDe=class e extends GJ{name=`ResourceNotFoundException`;$fault=`client`;clusterName;nodegroupName;fargateProfileName;addonName;subscriptionId;constructor(t){super({name:`ResourceNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.clusterName=t.clusterName,this.nodegroupName=t.nodegroupName,this.fargateProfileName=t.fargateProfileName,this.addonName=t.addonName,this.subscriptionId=t.subscriptionId}},GDe=class e extends GJ{name=`ServerException`;$fault=`server`;clusterName;nodegroupName;addonName;subscriptionId;constructor(t){super({name:`ServerException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype),this.clusterName=t.clusterName,this.nodegroupName=t.nodegroupName,this.addonName=t.addonName,this.subscriptionId=t.subscriptionId}},KDe=class e extends GJ{name=`ClientException`;$fault=`client`;clusterName;nodegroupName;addonName;subscriptionId;constructor(t){super({name:`ClientException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.clusterName=t.clusterName,this.nodegroupName=t.nodegroupName,this.addonName=t.addonName,this.subscriptionId=t.subscriptionId}},qDe=class e extends GJ{name=`ResourceInUseException`;$fault=`client`;clusterName;nodegroupName;addonName;constructor(t){super({name:`ResourceInUseException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.clusterName=t.clusterName,this.nodegroupName=t.nodegroupName,this.addonName=t.addonName}},JDe=class e extends GJ{name=`ThrottlingException`;$fault=`client`;clusterName;constructor(t){super({name:`ThrottlingException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.clusterName=t.clusterName}},YDe=class e extends GJ{name=`InvalidStateException`;$fault=`client`;clusterName;constructor(t){super({name:`InvalidStateException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.clusterName=t.clusterName}},XDe=class e extends GJ{name=`ResourceLimitExceededException`;$fault=`client`;clusterName;nodegroupName;subscriptionId;constructor(t){super({name:`ResourceLimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.clusterName=t.clusterName,this.nodegroupName=t.nodegroupName,this.subscriptionId=t.subscriptionId}},ZDe=class e extends GJ{name=`ServiceUnavailableException`;$fault=`server`;constructor(t){super({name:`ServiceUnavailableException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype)}},QDe=class e extends GJ{name=`UnsupportedAvailabilityZoneException`;$fault=`client`;clusterName;nodegroupName;validZones;constructor(t){super({name:`UnsupportedAvailabilityZoneException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.clusterName=t.clusterName,this.nodegroupName=t.nodegroupName,this.validZones=t.validZones}},$De=class e extends GJ{name=`BadRequestException`;$fault=`client`;constructor(t){super({name:`BadRequestException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},eOe=class e extends GJ{name=`NotFoundException`;$fault=`client`;constructor(t){super({name:`NotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},tOe=class e extends GJ{name=`ResourcePropagationDelayException`;$fault=`client`;constructor(t){super({name:`ResourcePropagationDelayException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},nOe=`Addon`,rOe=`AssociatedAccessPolicy`,iOe=`AssociatedAccessPoliciesList`,aOe=`AssociateAccessPolicyRequest`,oOe=`AssociateAccessPolicyResponse`,sOe=`AssociateAccessPolicy`,cOe=`AccessConfigResponse`,lOe=`AccessDeniedException`,uOe=`AccessEntry`,dOe=`AddonHealth`,fOe=`AddonInfo`,pOe=`AddonIssueList`,mOe=`AddonIssue`,hOe=`AddonNamespaceConfigRequest`,gOe=`AddonNamespaceConfigResponse`,_Oe=`AccessPolicy`,vOe=`AddonPodIdentityAssociations`,yOe=`AddonPodIdentityAssociationsList`,bOe=`AccessPoliciesList`,xOe=`AccessScope`,SOe=`AutoScalingGroup`,COe=`AutoScalingGroupList`,wOe=`AddonVersionInfo`,TOe=`AddonVersionInfoList`,EOe=`Addons`,DOe=`BadRequestException`,OOe=`BlockStorage`,kOe=`Cancellation`,AOe=`CreateAddon`,jOe=`CreateAccessConfigRequest`,MOe=`CreateAccessEntry`,NOe=`CreateAccessEntryRequest`,POe=`CreateAccessEntryResponse`,FOe=`CreateAddonRequest`,IOe=`CreateAddonResponse`,LOe=`ComputeConfigRequest`,ROe=`ComputeConfigResponse`,zOe=`ConnectorConfigResponse`,BOe=`CreateClusterRequest`,VOe=`CreateClusterResponse`,HOe=`CreateCluster`,UOe=`ClientException`,WOe=`ClusterHealth`,GOe=`ClusterIssueList`,KOe=`ClusterIssue`,qOe=`CreateNodegroup`,JOe=`CreateNodegroupRequest`,YOe=`CreateNodegroupResponse`,XOe=`ControlPlanePlacementRequest`,ZOe=`ControlPlanePlacementResponse`,QOe=`ControlPlaneScalingConfig`,$Oe=`Certificate`,eke=`Cluster`,tke=`Compatibility`,nke=`Compatibilities`,rke=`DeleteAddon`,ike=`DeleteAccessEntry`,ake=`DeleteAccessEntryRequest`,oke=`DeleteAccessEntryResponse`,ske=`DescribeAccessEntryRequest`,cke=`DescribeAccessEntryResponse`,lke=`DescribeAccessEntry`,uke=`DisassociateAccessPolicy`,dke=`DisassociateAccessPolicyRequest`,fke=`DisassociateAccessPolicyResponse`,pke=`DeleteAddonRequest`,mke=`DeleteAddonResponse`,hke=`DescribeAddonRequest`,gke=`DescribeAddonResponse`,_ke=`DescribeAddonVersions`,vke=`DescribeAddonVersionsRequest`,yke=`DescribeAddonVersionsResponse`,bke=`DescribeAddon`,xke=`DeleteClusterRequest`,Ske=`DeleteClusterResponse`,Cke=`DescribeClusterRequest`,wke=`DescribeClusterResponse`,Tke=`DeleteCluster`,Eke=`DescribeCluster`,Dke=`DeleteNodegroup`,Oke=`DeleteNodegroupRequest`,kke=`DeleteNodegroupResponse`,Ake=`DescribeNodegroupRequest`,jke=`DescribeNodegroupResponse`,Mke=`DescribeNodegroup`,Nke=`EncryptionConfig`,Pke=`EncryptionConfigList`,Fke=`ErrorDetail`,Ike=`ErrorDetails`,Lke=`ElasticLoadBalancing`,Rke=`EtcdPlacementRequest`,zke=`EtcdPlacementResponse`,Bke=`HorizontalPodAutoscalerControllerConfigRequest`,Vke=`HorizontalPodAutoscalerControllerConfigResponse`,Hke=`Identity`,Uke=`IssueList`,Wke=`InvalidParameterException`,Gke=`InvalidRequestException`,Kke=`InvalidStateException`,qke=`Issue`,Jke=`KubeApiServerConfigRequest`,Yke=`KubeApiServerConfigResponse`,Xke=`KubeControllerManagerConfigRequest`,Zke=`KubeControllerManagerConfigResponse`,Qke=`KubernetesNetworkConfigRequest`,$ke=`KubernetesNetworkConfigResponse`,eAe=`KubeSchedulerConfigRequest`,tAe=`KubeSchedulerConfigResponse`,nAe=`ListAddons`,rAe=`ListAssociatedAccessPolicies`,iAe=`ListAssociatedAccessPoliciesRequest`,aAe=`ListAssociatedAccessPoliciesResponse`,oAe=`ListAccessEntries`,sAe=`ListAccessEntriesRequest`,cAe=`ListAccessEntriesResponse`,lAe=`ListAccessPolicies`,uAe=`ListAccessPoliciesRequest`,dAe=`ListAccessPoliciesResponse`,fAe=`ListAddonsRequest`,pAe=`ListAddonsResponse`,mAe=`ListClustersRequest`,hAe=`ListClustersResponse`,gAe=`ListClusters`,_Ae=`ListNodegroups`,vAe=`ListNodegroupsRequest`,yAe=`ListNodegroupsResponse`,bAe=`LogSetup`,xAe=`LogSetups`,SAe=`LaunchTemplateSpecification`,CAe=`Logging`,wAe=`MarketplaceInformation`,TAe=`Nodegroup`,EAe=`NotFoundException`,DAe=`NodegroupHealth`,OAe=`NodegroupResources`,kAe=`NodeRepairConfig`,AAe=`NodeRepairConfigOverrides`,jAe=`NodeRepairConfigOverridesList`,MAe=`NodeResourcesFitConfig`,NAe=`NodegroupScalingConfig`,PAe=`NodegroupUpdateConfig`,FAe=`OutpostConfigRequest`,IAe=`OutpostConfigResponse`,LAe=`OIDC`,RAe=`Provider`,zAe=`RemoteAccessConfig`,BAe=`ResourceInUseException`,VAe=`ResourceLimitExceededException`,HAe=`RemoteNetworkConfigRequest`,UAe=`RemoteNetworkConfigResponse`,WAe=`ResourceNotFoundException`,GAe=`RemoteNodeNetwork`,KAe=`RemoteNodeNetworkList`,qAe=`ResourcePropagationDelayException`,JAe=`RemotePodNetwork`,YAe=`RemotePodNetworkList`,XAe=`ResourceWeight`,ZAe=`ResourceWeightList`,QAe=`StorageConfigRequest`,$Ae=`StorageConfigResponse`,eje=`ServerException`,tje=`ServiceNodePortRange`,nje=`ScoringStrategy`,rje=`ServiceUnavailableException`,ije=`Taint`,aje=`ThrottlingException`,oje=`Update`,sje=`UpdateAddon`,cje=`UpdateAddonRequest`,lje=`UpdateAddonResponse`,uje=`UnsupportedAvailabilityZoneException`,dje=`UpdateLabelsPayload`,fje=`UpdateNodegroupConfig`,pje=`UpdateNodegroupConfigRequest`,mje=`UpdateNodegroupConfigResponse`,hje=`UpdateNodegroupVersion`,gje=`UpdateNodegroupVersionRequest`,_je=`UpdateNodegroupVersionResponse`,vje=`UpdateParam`,yje=`UpgradePolicyRequest`,bje=`UpgradePolicyResponse`,xje=`UpdateParams`,Sje=`UpdateTaintsPayload`,Cje=`VpcConfigRequest`,wje=`VpcConfigResponse`,Tje=`WarmPoolConfig`,Eje=`ZonalShiftConfigRequest`,Dje=`ZonalShiftConfigResponse`,KJ=`arn`,Oje=`addonArn`,kje=`associatedAccessPolicy`,Aje=`associatedAccessPolicies`,jje=`associatedAt`,qJ=`accessConfig`,Mje=`activationCode`,Nje=`activationExpiry`,Pje=`accessEntryArn`,JJ=`accessEntry`,Fje=`accessEntries`,Ije=`activationId`,YJ=`authenticationMode`,XJ=`addonName`,Lje=`addOrUpdateLabels`,Rje=`addOrUpdateTaints`,zje=`accessPolicies`,ZJ=`associatedPolicyArn`,QJ=`accessScope`,Bje=`autoScalingGroups`,$J=`amiType`,eY=`addonVersion`,Vje=`addonVersions`,tY=`addon`,nY=`addons`,Hje=`architecture`,rY=`bootstrapClusterCreatorAdminPermissions`,iY=`blockStorage`,Uje=`bootstrapSelfManagedAddons`,aY=`client`,oY=`createdAt`,Wje=`certificateAuthority`,Gje=`connectorConfig`,sY=`computeConfig`,Kje=`clusterLogging`,cY=`clusterName`,lY=`controlPlaneEgressMode`,uY=`controlPlaneInstanceType`,dY=`controlPlanePlacement`,fY=`controlPlaneScalingConfig`,pY=`clientRequestToken`,qje=`clusterSecurityGroupId`,Jje=`computeTypes`,mY=`capacityType`,hY=`configurationValues`,Yje=`clusterVersion`,Xje=`cancellation`,gY=`cidrs`,_Y=`cluster`,Zje=`clusters`,vY=`code`,Qje=`compatibilities`,$je=`data`,eMe=`defaultNamespace`,yY=`deletionProtection`,bY=`diskSize`,tMe=`desiredSize`,nMe=`defaultVersion`,xY=`error`,SY=`encryptionConfig`,rMe=`errorCode`,CY=`etcdInstanceType`,wY=`elasticLoadBalancing`,iMe=`errorMessage`,TY=`etcdPlacement`,EY=`endpointPublicAccess`,DY=`endpointPrivateAccess`,aMe=`ec2SshKey`,OY=`eventTtl`,oMe=`effect`,kY=`enabled`,sMe=`endpoint`,cMe=`errors`,AY=`fargateProfileName`,lMe=`force`,jY=`groupName`,MY=`health`,NY=`httpError`,PY=`horizontalPodAutoscalerControllerConfig`,FY=`horizontalPodAutoscalerSyncPeriod`,IY=`httpQuery`,LY=`http`,RY=`issues`,zY=`ipFamily`,BY=`instanceTypes`,VY=`id`,uMe=`identity`,HY=`include`,dMe=`issuer`,fMe=`key`,pMe=`keyArn`,UY=`kubeApiServerConfig`,WY=`kubeControllerManagerConfig`,GY=`kubernetesGroups`,KY=`kubernetesNetworkConfig`,qY=`kubeSchedulerConfig`,JY=`kubernetesVersion`,YY=`logging`,XY=`launchTemplate`,ZY=`labels`,QY=`message`,$Y=`modifiedAt`,mMe=`maxGroupPreparedCapacity`,eX=`marketplaceInformation`,hMe=`minPort`,gMe=`maxParallelNodesRepairedCount`,_Me=`maxParallelNodesRepairedPercentage`,vMe=`maxPort`,tX=`maxResults`,yMe=`minRepairWaitTimeMins`,nX=`minSize`,bMe=`maxSize`,xMe=`maxUnavailable`,SMe=`maxUnhealthyNodeThresholdCount`,CMe=`maxUnhealthyNodeThresholdPercentage`,wMe=`maxUnavailablePercentage`,rX=`name`,TMe=`nodegroupArn`,iX=`namespaceConfig`,EMe=`nodeMonitoringCondition`,aX=`nodegroupName`,oX=`nodePools`,sX=`nodeRole`,cX=`nodeRoleArn`,lX=`nodeRepairConfig`,DMe=`nodeRepairConfigOverrides`,uX=`nodeResourcesFit`,dX=`nextToken`,OMe=`nodeUnhealthyReason`,kMe=`namespaces`,fX=`namespace`,pX=`nodegroup`,AMe=`nodegroups`,mX=`owner`,hX=`outpostArns`,gX=`outpostConfig`,jMe=`oidc`,_X=`owners`,vX=`publisher`,yX=`principalArn`,bX=`publicAccessCidrs`,xX=`policyArn`,MMe=`productId`,SX=`podIdentityAssociations`,NMe=`poolState`,PMe=`productUrl`,FMe=`platformVersion`,IMe=`platformVersions`,LMe=`params`,CX=`provider`,wX=`preserve`,TX=`publishers`,EX=`roleArn`,RMe=`remoteAccessSecurityGroup`,DX=`remoteAccess`,zMe=`repairAction`,BMe=`requiresConfiguration`,OX=`resolveConflicts`,kX=`resourceIds`,VMe=`requiresIamPermissions`,HMe=`removeLabels`,AX=`remoteNetworkConfig`,jX=`remoteNodeNetworks`,UMe=`reuseOnScaleIn`,MX=`remotePodNetworks`,WMe=`removeTaints`,NX=`releaseVersion`,PX=`resourcesVpcConfig`,GMe=`reason`,FX=`resources`,IX=`smithy.ts.sdk.synthetic.com.amazonaws.eks`,KMe=`serviceAccount`,LX=`serviceAccountRoleArn`,RX=`storageConfig`,zX=`scalingConfig`,BX=`securityGroupIds`,VX=`subscriptionId`,HX=`serviceIpv4Cidr`,qMe=`serviceIpv6Cidr`,UX=`subnetIds`,WX=`spreadLevel`,GX=`serviceNodePortRange`,JMe=`scoringStrategy`,YMe=`sourceSecurityGroups`,KX=`supportType`,qX=`server`,JX=`status`,YX=`subnets`,XX=`tags`,XMe=`taintsList`,ZX=`taints`,ZMe=`tier`,QX=`type`,$X=`types`,eZ=`username`,tZ=`updateConfig`,nZ=`upgradePolicy`,QMe=`updateStrategy`,rZ=`update`,iZ=`version`,$Me=`vpcId`,eNe=`validZones`,aZ=`value`,tNe=`weight`,oZ=`warmPoolConfig`,sZ=`zonalShiftConfig`,w=`com.amazonaws.eks`,cZ=ct.for(IX),nNe=[-3,IX,`EKSServiceException`,0,[],[]];cZ.registerError(nNe,GJ);var lZ=ct.for(w),rNe=[-3,w,lOe,{[xY]:aY,[NY]:403},[QY],[0]];lZ.registerError(rNe,VDe);var iNe=[-3,w,DOe,{[xY]:aY,[NY]:400},[QY],[0]];lZ.registerError(iNe,$De);var aNe=[-3,w,UOe,{[xY]:aY,[NY]:400},[cY,aX,XJ,VX,QY],[0,0,0,0,0]];lZ.registerError(aNe,KDe);var oNe=[-3,w,Wke,{[xY]:aY,[NY]:400},[cY,aX,AY,XJ,VX,QY],[0,0,0,0,0,0]];lZ.registerError(oNe,HDe);var sNe=[-3,w,Gke,{[xY]:aY,[NY]:400},[cY,aX,XJ,VX,QY],[0,0,0,0,0]];lZ.registerError(sNe,UDe);var cNe=[-3,w,Kke,{[xY]:aY,[NY]:400},[cY,QY],[0,0]];lZ.registerError(cNe,YDe);var lNe=[-3,w,EAe,{[xY]:aY,[NY]:404},[QY],[0]];lZ.registerError(lNe,eOe);var uNe=[-3,w,BAe,{[xY]:aY,[NY]:409},[cY,aX,XJ,QY],[0,0,0,0]];lZ.registerError(uNe,qDe);var dNe=[-3,w,VAe,{[xY]:aY,[NY]:400},[cY,aX,VX,QY],[0,0,0,0]];lZ.registerError(dNe,XDe);var fNe=[-3,w,WAe,{[xY]:aY,[NY]:404},[cY,aX,AY,XJ,VX,QY],[0,0,0,0,0,0]];lZ.registerError(fNe,WDe);var pNe=[-3,w,qAe,{[xY]:aY,[NY]:428},[QY],[0]];lZ.registerError(pNe,tOe);var mNe=[-3,w,eje,{[xY]:qX,[NY]:500},[cY,aX,XJ,VX,QY],[0,0,0,0,0]];lZ.registerError(mNe,GDe);var hNe=[-3,w,rje,{[xY]:qX,[NY]:503},[QY],[0]];lZ.registerError(hNe,ZDe);var gNe=[-3,w,aje,{[xY]:aY,[NY]:429},[cY,QY],[0,0]];lZ.registerError(gNe,JDe);var _Ne=[-3,w,uje,{[xY]:aY,[NY]:400},[QY,cY,aX,eNe],[0,0,0,64]];lZ.registerError(_Ne,QDe);var vNe=[cZ,lZ],yNe=[3,w,cOe,0,[rY,YJ],[2,0]],uZ=[3,w,uOe,0,[cY,yX,GY,Pje,oY,$Y,XX,eZ,QX],[0,0,64,0,4,4,128,0,0]],bNe=[3,w,_Oe,0,[rX,KJ],[0,0]],dZ=[3,w,xOe,0,[QX,kMe],[0,64]],fZ=[3,w,nOe,0,[XJ,cY,JX,eY,MY,Oje,oY,$Y,LX,XX,vX,mX,eX,hY,SX,iX],[0,0,0,0,()=>xNe,0,4,4,0,128,0,0,()=>bZ,0,64,()=>TNe]],xNe=[3,w,dOe,0,[RY],[()=>CFe]],SNe=[3,w,fOe,0,[XJ,QX,Vje,vX,mX,eX,eMe],[0,0,()=>TFe,0,0,()=>bZ,0]],CNe=[3,w,mOe,0,[vY,QY,kX],[0,0,64]],wNe=[3,w,hOe,0,[fX],[0]],TNe=[3,w,gOe,0,[fX],[0]],ENe=[3,w,vOe,0,[KMe,EX],[0,0],2],DNe=[3,w,wOe,0,[eY,Hje,Jje,Qje,BMe,VMe],[0,64,64,()=>kFe,2,2]],ONe=[3,w,aOe,0,[cY,yX,xX,QJ],[[0,1],[0,1],0,()=>dZ],4],kNe=[3,w,oOe,0,[cY,yX,kje],[0,0,()=>pZ]],pZ=[3,w,rOe,0,[xX,QJ,jje,$Y],[0,()=>dZ,4,4]],ANe=[3,w,SOe,0,[rX],[0]],mZ=[3,w,OOe,0,[kY],[2]],jNe=[3,w,kOe,0,[JX,GMe],[0,0]],MNe=[3,w,$Oe,0,[$je],[0]],hZ=[3,w,eke,0,[rX,KJ,oY,iZ,sMe,EX,PX,KY,YY,uMe,JX,Wje,pY,FMe,XX,SY,Gje,VY,MY,gX,qJ,nZ,sZ,AX,sY,RX,yY,fY,UY,qY,WY],[0,0,4,0,0,0,()=>yFe,()=>kPe,()=>yZ,()=>SPe,0,()=>MNe,0,0,128,()=>jZ,()=>RNe,0,()=>NNe,()=>XPe,()=>yNe,()=>_Fe,()=>xFe,()=>$Pe,()=>LNe,()=>aFe,2,()=>gZ,()=>TPe,()=>jPe,()=>DPe]],NNe=[3,w,WOe,0,[RY],[()=>OFe]],PNe=[3,w,KOe,0,[vY,QY,kX],[0,0,64]],FNe=[3,w,tke,0,[Yje,IMe,nMe],[0,64,2]],INe=[3,w,LOe,0,[kY,oX,cX],[2,64,0]],LNe=[3,w,ROe,0,[kY,oX,cX],[2,64,0]],RNe=[3,w,zOe,0,[Ije,Mje,Nje,CX,EX],[0,0,4,0,0]],zNe=[3,w,XOe,0,[jY,WX],[0,0]],BNe=[3,w,ZOe,0,[jY,WX],[0,0]],gZ=[3,w,QOe,0,[ZMe],[0]],VNe=[3,w,jOe,0,[rY,YJ],[2,0]],HNe=[3,w,NOe,0,[cY,yX,GY,XX,pY,eZ,QX],[[0,1],0,64,128,[0,4],0,0],2],UNe=[3,w,POe,0,[JJ],[()=>uZ]],WNe=[3,w,FOe,0,[cY,XJ,eY,LX,OX,pY,XX,hY,SX,iX],[[0,1],0,0,0,0,[0,4],128,0,()=>AZ,()=>wNe],2],GNe=[3,w,IOe,0,[tY],[()=>fZ]],KNe=[3,w,BOe,0,[rX,EX,PX,iZ,KY,YY,pY,XX,SY,gX,qJ,Uje,nZ,sZ,AX,sY,RX,yY,fY,UY,qY,WY],[0,0,()=>vFe,0,()=>OPe,()=>yZ,[0,4],128,()=>jZ,()=>YPe,()=>VNe,2,()=>gFe,()=>bFe,()=>QPe,()=>INe,()=>iFe,2,()=>gZ,()=>wPe,()=>APe,()=>EPe],3],qNe=[3,w,VOe,0,[_Y],[()=>hZ]],JNe=[3,w,JOe,0,[cY,aX,YX,sX,zX,bY,BY,$J,DX,ZY,ZX,XX,pY,XY,tZ,lX,mY,iZ,NX,oZ],[[0,1],0,64,0,()=>SZ,1,64,0,()=>EZ,128,()=>PZ,128,[0,4],()=>vZ,()=>CZ,()=>wZ,0,0,0,()=>kZ],4],YNe=[3,w,YOe,0,[pX],[()=>xZ]],XNe=[3,w,ake,0,[cY,yX],[[0,1],[0,1]],2],ZNe=[3,w,oke,0,[],[]],QNe=[3,w,pke,0,[cY,XJ,wX],[[0,1],[0,1],[2,{[IY]:wX}]],2],$Ne=[3,w,mke,0,[tY],[()=>fZ]],ePe=[3,w,xke,0,[rX],[[0,1]],1],tPe=[3,w,Ske,0,[_Y],[()=>hZ]],nPe=[3,w,Oke,0,[cY,aX],[[0,1],[0,1]],2],rPe=[3,w,kke,0,[pX],[()=>xZ]],iPe=[3,w,ske,0,[cY,yX],[[0,1],[0,1]],2],aPe=[3,w,cke,0,[JJ],[()=>uZ]],oPe=[3,w,hke,0,[cY,XJ],[[0,1],[0,1]],2],sPe=[3,w,gke,0,[tY],[()=>fZ]],cPe=[3,w,vke,0,[JY,tX,dX,XJ,$X,TX,_X],[[0,{[IY]:JY}],[1,{[IY]:tX}],[0,{[IY]:dX}],[0,{[IY]:XJ}],[64,{[IY]:$X}],[64,{[IY]:TX}],[64,{[IY]:_X}]]],lPe=[3,w,yke,0,[nY,dX],[()=>wFe,0]],uPe=[3,w,Cke,0,[rX],[[0,1]],1],dPe=[3,w,wke,0,[_Y],[()=>hZ]],fPe=[3,w,Ake,0,[cY,aX],[[0,1],[0,1]],2],pPe=[3,w,jke,0,[pX],[()=>xZ]],mPe=[3,w,dke,0,[cY,yX,xX],[[0,1],[0,1],[0,1]],3],hPe=[3,w,fke,0,[],[]],_Z=[3,w,Lke,0,[kY],[2]],gPe=[3,w,Nke,0,[FX,CX],[64,()=>ZPe]],_Pe=[3,w,Fke,0,[rMe,iMe,kX],[0,0,64]],vPe=[3,w,Rke,0,[WX],[0]],yPe=[3,w,zke,0,[WX],[0]],bPe=[3,w,Bke,0,[FY],[0]],xPe=[3,w,Vke,0,[FY],[0]],SPe=[3,w,Hke,0,[jMe],[()=>JPe]],CPe=[3,w,qke,0,[vY,QY,kX],[0,0,64]],wPe=[3,w,Jke,0,[OY,GX],[0,()=>DZ]],TPe=[3,w,Yke,0,[OY,GX],[0,()=>DZ]],EPe=[3,w,Xke,0,[PY],[()=>bPe]],DPe=[3,w,Zke,0,[PY],[()=>xPe]],OPe=[3,w,Qke,0,[HX,zY,wY],[0,0,()=>_Z]],kPe=[3,w,$ke,0,[HX,qMe,zY,wY],[0,0,0,()=>_Z]],APe=[3,w,eAe,0,[uX],[()=>TZ]],jPe=[3,w,tAe,0,[uX],[()=>TZ]],vZ=[3,w,SAe,0,[rX,iZ,VY],[0,0,0]],MPe=[3,w,sAe,0,[cY,ZJ,tX,dX],[[0,1],[0,{[IY]:ZJ}],[1,{[IY]:tX}],[0,{[IY]:dX}]],1],NPe=[3,w,cAe,0,[Fje,dX],[64,0]],PPe=[3,w,uAe,0,[tX,dX],[[1,{[IY]:tX}],[0,{[IY]:dX}]]],FPe=[3,w,dAe,0,[zje,dX],[()=>SFe,0]],IPe=[3,w,fAe,0,[cY,tX,dX],[[0,1],[1,{[IY]:tX}],[0,{[IY]:dX}]],1],LPe=[3,w,pAe,0,[nY,dX],[64,0]],RPe=[3,w,iAe,0,[cY,yX,tX,dX],[[0,1],[0,1],[1,{[IY]:tX}],[0,{[IY]:dX}]],2],zPe=[3,w,aAe,0,[cY,yX,dX,Aje],[0,0,0,()=>EFe]],BPe=[3,w,mAe,0,[tX,dX,HY],[[1,{[IY]:tX}],[0,{[IY]:dX}],[64,{[IY]:HY}]]],VPe=[3,w,hAe,0,[Zje,dX],[64,0]],HPe=[3,w,vAe,0,[cY,tX,dX],[[0,1],[1,{[IY]:tX}],[0,{[IY]:dX}]],1],UPe=[3,w,yAe,0,[AMe,dX],[64,0]],yZ=[3,w,CAe,0,[Kje],[()=>MFe]],WPe=[3,w,bAe,0,[$X,kY],[64,2]],bZ=[3,w,wAe,0,[MMe,PMe],[0,0]],xZ=[3,w,TAe,0,[aX,TMe,cY,iZ,NX,oY,$Y,JX,mY,zX,BY,YX,DX,$J,sX,ZY,ZX,FX,bY,MY,tZ,lX,XY,XX,oZ],[0,0,0,0,0,4,4,0,0,()=>SZ,64,64,()=>EZ,0,0,128,()=>PZ,()=>KPe,1,()=>GPe,()=>CZ,()=>wZ,()=>vZ,128,()=>kZ]],GPe=[3,w,DAe,0,[RY],[()=>jFe]],KPe=[3,w,OAe,0,[Bje,RMe],[()=>DFe,0]],SZ=[3,w,NAe,0,[nX,bMe,tMe],[1,1,1]],CZ=[3,w,PAe,0,[xMe,wMe,QMe],[1,1,0]],wZ=[3,w,kAe,0,[kY,SMe,CMe,gMe,_Me,DMe],[2,1,1,1,1,()=>NFe]],qPe=[3,w,AAe,0,[EMe,OMe,yMe,zMe],[0,0,1,0]],TZ=[3,w,MAe,0,[JMe],[()=>rFe]],JPe=[3,w,LAe,0,[dMe],[0]],YPe=[3,w,FAe,0,[hX,uY,dY,CY,TY],[64,0,()=>zNe,0,()=>vPe],2],XPe=[3,w,IAe,0,[hX,uY,dY,CY,TY],[64,0,()=>BNe,0,()=>yPe],2],ZPe=[3,w,RAe,0,[pMe],[0]],EZ=[3,w,zAe,0,[aMe,YMe],[0,64]],QPe=[3,w,HAe,0,[jX,MX],[()=>MZ,()=>NZ]],$Pe=[3,w,UAe,0,[jX,MX],[()=>MZ,()=>NZ]],eFe=[3,w,GAe,0,[gY],[64]],tFe=[3,w,JAe,0,[gY],[64]],nFe=[3,w,XAe,0,[rX,tNe],[0,1]],rFe=[3,w,nje,0,[QX,FX],[0,()=>PFe]],DZ=[3,w,tje,0,[hMe,vMe],[1,1]],iFe=[3,w,QAe,0,[iY],[()=>mZ]],aFe=[3,w,$Ae,0,[iY],[()=>mZ]],oFe=[3,w,ije,0,[fMe,aZ,oMe],[0,0,0]],OZ=[3,w,oje,0,[VY,JX,QX,LMe,oY,cMe,Xje],[0,0,0,()=>FFe,4,()=>AFe,()=>jNe]],sFe=[3,w,cje,0,[cY,XJ,eY,LX,OX,pY,hY,SX],[[0,1],[0,1],0,0,0,[0,4],0,()=>AZ],2],cFe=[3,w,lje,0,[rZ],[()=>OZ]],lFe=[3,w,dje,0,[Lje,HMe],[128,64]],uFe=[3,w,pje,0,[cY,aX,ZY,ZX,zX,tZ,lX,oZ,pY],[[0,1],[0,1],()=>lFe,()=>hFe,()=>SZ,()=>CZ,()=>wZ,()=>kZ,[0,4]],2],dFe=[3,w,mje,0,[rZ],[()=>OZ]],fFe=[3,w,gje,0,[cY,aX,iZ,NX,XY,lMe,pY],[[0,1],[0,1],0,0,()=>vZ,2,[0,4]],2],pFe=[3,w,_je,0,[rZ],[()=>OZ]],mFe=[3,w,vje,0,[QX,aZ],[0,0]],hFe=[3,w,Sje,0,[Rje,WMe],[()=>PZ,()=>PZ]],gFe=[3,w,yje,0,[KX],[0]],_Fe=[3,w,bje,0,[KX],[0]],vFe=[3,w,Cje,0,[UX,BX,EY,DY,bX,lY],[64,64,2,2,64,0]],yFe=[3,w,wje,0,[UX,BX,qje,$Me,EY,DY,bX,lY],[64,64,0,0,2,2,64,0]],kZ=[3,w,Tje,0,[kY,nX,mMe,NMe,UMe],[2,1,1,0,2]],bFe=[3,w,Eje,0,[kY],[2]],xFe=[3,w,Dje,0,[kY],[2]],SFe=[1,w,bOe,0,()=>bNe],CFe=[1,w,pOe,0,()=>CNe],AZ=[1,w,yOe,0,()=>ENe],wFe=[1,w,EOe,0,()=>SNe],TFe=[1,w,TOe,0,()=>DNe],EFe=[1,w,iOe,0,()=>pZ],DFe=[1,w,COe,0,()=>ANe],OFe=[1,w,GOe,0,()=>PNe],kFe=[1,w,nke,0,()=>FNe],jZ=[1,w,Pke,0,()=>gPe],AFe=[1,w,Ike,0,()=>_Pe],jFe=[1,w,Uke,0,()=>CPe],MFe=[1,w,xAe,0,()=>WPe],NFe=[1,w,jAe,0,()=>qPe],MZ=[1,w,KAe,0,()=>eFe],NZ=[1,w,YAe,0,()=>tFe],PFe=[1,w,ZAe,0,()=>nFe],PZ=[1,w,XMe,0,()=>oFe],FFe=[1,w,xje,0,()=>mFe],IFe=[9,w,sOe,{[LY]:[`POST`,`/clusters/{clusterName}/access-entries/{principalArn}/access-policies`,200]},()=>ONe,()=>kNe],LFe=[9,w,MOe,{[LY]:[`POST`,`/clusters/{clusterName}/access-entries`,200]},()=>HNe,()=>UNe],RFe=[9,w,AOe,{[LY]:[`POST`,`/clusters/{clusterName}/addons`,200]},()=>WNe,()=>GNe],zFe=[9,w,HOe,{[LY]:[`POST`,`/clusters`,200]},()=>KNe,()=>qNe],BFe=[9,w,qOe,{[LY]:[`POST`,`/clusters/{clusterName}/node-groups`,200]},()=>JNe,()=>YNe],VFe=[9,w,ike,{[LY]:[`DELETE`,`/clusters/{clusterName}/access-entries/{principalArn}`,200]},()=>XNe,()=>ZNe],HFe=[9,w,rke,{[LY]:[`DELETE`,`/clusters/{clusterName}/addons/{addonName}`,200]},()=>QNe,()=>$Ne],UFe=[9,w,Tke,{[LY]:[`DELETE`,`/clusters/{name}`,200]},()=>ePe,()=>tPe],WFe=[9,w,Dke,{[LY]:[`DELETE`,`/clusters/{clusterName}/node-groups/{nodegroupName}`,200]},()=>nPe,()=>rPe],GFe=[9,w,lke,{[LY]:[`GET`,`/clusters/{clusterName}/access-entries/{principalArn}`,200]},()=>iPe,()=>aPe],KFe=[9,w,bke,{[LY]:[`GET`,`/clusters/{clusterName}/addons/{addonName}`,200]},()=>oPe,()=>sPe],qFe=[9,w,_ke,{[LY]:[`GET`,`/addons/supported-versions`,200]},()=>cPe,()=>lPe],JFe=[9,w,Eke,{[LY]:[`GET`,`/clusters/{name}`,200]},()=>uPe,()=>dPe],YFe=[9,w,Mke,{[LY]:[`GET`,`/clusters/{clusterName}/node-groups/{nodegroupName}`,200]},()=>fPe,()=>pPe],XFe=[9,w,uke,{[LY]:[`DELETE`,`/clusters/{clusterName}/access-entries/{principalArn}/access-policies/{policyArn}`,200]},()=>mPe,()=>hPe],ZFe=[9,w,oAe,{[LY]:[`GET`,`/clusters/{clusterName}/access-entries`,200]},()=>MPe,()=>NPe],QFe=[9,w,lAe,{[LY]:[`GET`,`/access-policies`,200]},()=>PPe,()=>FPe],$Fe=[9,w,nAe,{[LY]:[`GET`,`/clusters/{clusterName}/addons`,200]},()=>IPe,()=>LPe],eIe=[9,w,rAe,{[LY]:[`GET`,`/clusters/{clusterName}/access-entries/{principalArn}/access-policies`,200]},()=>RPe,()=>zPe],tIe=[9,w,gAe,{[LY]:[`GET`,`/clusters`,200]},()=>BPe,()=>VPe],nIe=[9,w,_Ae,{[LY]:[`GET`,`/clusters/{clusterName}/node-groups`,200]},()=>HPe,()=>UPe],rIe=[9,w,sje,{[LY]:[`POST`,`/clusters/{clusterName}/addons/{addonName}/update`,200]},()=>sFe,()=>cFe],iIe=[9,w,fje,{[LY]:[`POST`,`/clusters/{clusterName}/node-groups/{nodegroupName}/update-config`,200]},()=>uFe,()=>dFe],aIe=[9,w,hje,{[LY]:[`POST`,`/clusters/{clusterName}/node-groups/{nodegroupName}/update-version`,200]},()=>fFe,()=>pFe],oIe=e=>({apiVersion:`2017-11-01`,base64Decoder:e?.base64Decoder??qe,base64Encoder:e?.base64Encoder??_e,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??BDe,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??jDe,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new ge}],logger:e?.logger??new Ge,protocol:e?.protocol??Nee,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.eks`,errorTypeRegistries:vNe,version:`2017-11-01`,serviceTarget:`AWSWesleyFrontend`},serviceId:e?.serviceId??`EKS`,sha256:e?.sha256??Ve,urlParser:e?.urlParser??Te,utf8Decoder:e?.utf8Decoder??lt,utf8Encoder:e?.utf8Encoder??ut}),sIe=e=>{let t=We(e),n=()=>t().then(ye),r=oIe(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Fe,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??ve({serviceId:r.serviceId,clientVersion:FDe.version}),maxAttempts:e?.maxAttempts??3,region:e?.region??De(`Region is missing`),requestHandler:Ce.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||ce),streamCollector:e?.streamCollector??Ie,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},cIe=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}}},lIe=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),uIe=(e,n)=>{let r=Object.assign(Ke(e),pe(e),je(e),cIe(e));return n.forEach(e=>e.configure(r)),Object.assign(e,t(r),he(r),be(r),lIe(r))},dIe=class extends i{config;constructor(...[e]){let t=sIe(e||{});super(t),this.initConfig=t;let n=NDe(t),i=oe(n),a=Qe(i),o=fe(a),s=Oe(o),c=uIe(MDe(Re(s)),e?.extensions||[]);this.config=c,this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(te(this.config)),this.middlewareStack.use(le(this.config)),this.middlewareStack.use(Ae(this.config)),this.middlewareStack.use(we(this.config)),this.middlewareStack.use(ae(this.config)),this.middlewareStack.use(Ee(this.config)),this.middlewareStack.use(r(this.config,{httpAuthSchemeParametersProvider:kDe,identityProviderConfigProvider:async e=>new de({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(xe(this.config))}destroy(){super.destroy()}},fIe=async(e,t,n)=>({operation:$e(t).operation,region:await ke(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function pIe(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`elasticloadbalancing`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var mIe=e=>{let t=[];return e.operation,t.push(pIe(e)),t},hIe=e=>{let t=rt(e);return Object.assign(t,{authSchemePreference:ke(e.authSchemePreference??[])})},gIe=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:`elasticloadbalancing`}),_Ie={UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},vIe={name:`@aws-sdk/client-elastic-load-balancing-v2`,version:`3.1109.0`,description:`AWS SDK for JavaScript Elastic Load Balancing V2 Client for Node.js, Browser and React Native`,homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-elastic-load-balancing-v2`,license:`Apache-2.0`,author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/sdk-for-javascript/`},repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-elastic-load-balancing-v2`},files:[`dist-*/**`],sideEffects:!1,main:`./dist-cjs/index.js`,module:`./dist-es/index.js`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},types:`./dist-types/index.d.ts`,typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline`,"build:es":`premove dist-es && tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`premove dist-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`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service`,"test:e2e":`yarn g:vitest run -c vitest.config.e2e.mts`,"test:e2e:watch":`yarn g:vitest watch -c vitest.config.e2e.mts`,"test:index":`tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs`},dependencies:{"@aws-sdk/core":`^3.977.7`,"@aws-sdk/credential-provider-node":`^3.972.79`,"@aws-sdk/types":`^3.974.3`,"@smithy/core":`^3.31.1`,"@smithy/fetch-http-handler":`^5.6.13`,"@smithy/node-http-handler":`^4.9.13`,"@smithy/types":`^4.16.1`,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:`~6.0.3`},engines:{node:`>=20.0.0`}},FZ=`ref`,IZ=-1,LZ=!0,RZ=`isSet`,zZ=`PartitionResult`,BZ=`booleanEquals`,VZ=`getAttr`,HZ={[FZ]:`Endpoint`},UZ={[FZ]:zZ},WZ={},GZ=[{[FZ]:`Region`}],KZ={conditions:[[RZ,[HZ]],[RZ,GZ],[`aws.partition`,GZ,zZ],[BZ,[{[FZ]:`UseFIPS`},LZ]],[BZ,[{[FZ]:`UseDualStack`},LZ]],[BZ,[{fn:VZ,argv:[UZ,`supportsDualStack`]},LZ]],[BZ,[{fn:VZ,argv:[UZ,`supportsFIPS`]},LZ]],[`stringEquals`,[{fn:VZ,argv:[UZ,`name`]},`aws-us-gov`]]],results:[[IZ],[IZ,`Invalid Configuration: FIPS and custom endpoint are not supported`],[IZ,`Invalid Configuration: Dualstack and custom endpoint are not supported`],[HZ,WZ],[`https://elasticloadbalancing-fips.{Region}.{PartitionResult#dualStackDnsSuffix}`,WZ],[IZ,`FIPS and DualStack are enabled, but this partition does not support one or both`],[`https://elasticloadbalancing.{Region}.amazonaws.com`,WZ],[`https://elasticloadbalancing-fips.{Region}.{PartitionResult#dnsSuffix}`,WZ],[IZ,`FIPS is enabled but this partition does not support FIPS`],[`https://elasticloadbalancing.{Region}.{PartitionResult#dualStackDnsSuffix}`,WZ],[IZ,`DualStack is enabled but this partition does not support DualStack`],[`https://elasticloadbalancing.{Region}.{PartitionResult#dnsSuffix}`,WZ],[IZ,`Invalid Configuration: Missing Region`]]},yIe=2,bIe=new Int32Array([-1,1,-1,0,13,3,1,4,100000012,2,5,100000012,3,8,6,4,7,100000011,5,100000009,100000010,4,11,9,6,10,100000008,7,100000006,100000007,5,12,100000005,6,100000004,100000005,3,100000001,14,4,100000002,100000003]),xIe=Be.from(bIe,yIe,KZ.conditions,KZ.results),SIe=new He({size:50,params:[`Endpoint`,`Region`,`UseDualStack`,`UseFIPS`]}),CIe=(e,t={})=>SIe.get(e,()=>Ze(xIe,{endpointParams:e,logger:t.logger}));Ye.aws=me;var T=class e extends ne{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},wIe=class e extends T{name=`CertificateNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`CertificateNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},TIe=class e extends T{name=`ListenerNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`ListenerNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},EIe=class e extends T{name=`TooManyCertificatesException`;$fault=`client`;Message;constructor(t){super({name:`TooManyCertificatesException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},DIe=class e extends T{name=`DuplicateTagKeysException`;$fault=`client`;Message;constructor(t){super({name:`DuplicateTagKeysException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},OIe=class e extends T{name=`LoadBalancerNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`LoadBalancerNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},kIe=class e extends T{name=`RuleNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`RuleNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},AIe=class e extends T{name=`TargetGroupNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`TargetGroupNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},jIe=class e extends T{name=`TooManyTagsException`;$fault=`client`;Message;constructor(t){super({name:`TooManyTagsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},MIe=class e extends T{name=`TrustStoreNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`TrustStoreNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},NIe=class e extends T{name=`InvalidRevocationContentException`;$fault=`client`;Message;constructor(t){super({name:`InvalidRevocationContentException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},PIe=class e extends T{name=`RevocationContentNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`RevocationContentNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},FIe=class e extends T{name=`TooManyTrustStoreRevocationEntriesException`;$fault=`client`;Message;constructor(t){super({name:`TooManyTrustStoreRevocationEntriesException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},IIe=class e extends T{name=`AllocationIdNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`AllocationIdNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},LIe=class e extends T{name=`ALPNPolicyNotSupportedException`;$fault=`client`;Message;constructor(t){super({name:`ALPNPolicyNotSupportedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},RIe=class e extends T{name=`AvailabilityZoneNotSupportedException`;$fault=`client`;Message;constructor(t){super({name:`AvailabilityZoneNotSupportedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},zIe=class e extends T{name=`CaCertificatesBundleNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`CaCertificatesBundleNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},BIe=class e extends T{name=`CapacityDecreaseRequestsLimitExceededException`;$fault=`client`;Message;constructor(t){super({name:`CapacityDecreaseRequestsLimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},VIe=class e extends T{name=`CapacityReservationPendingException`;$fault=`client`;Message;constructor(t){super({name:`CapacityReservationPendingException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},HIe=class e extends T{name=`CapacityUnitsLimitExceededException`;$fault=`client`;Message;constructor(t){super({name:`CapacityUnitsLimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},UIe=class e extends T{name=`DuplicateListenerException`;$fault=`client`;Message;constructor(t){super({name:`DuplicateListenerException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},WIe=class e extends T{name=`IncompatibleProtocolsException`;$fault=`client`;Message;constructor(t){super({name:`IncompatibleProtocolsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},GIe=class e extends T{name=`InvalidConfigurationRequestException`;$fault=`client`;Message;constructor(t){super({name:`InvalidConfigurationRequestException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},KIe=class e extends T{name=`InvalidLoadBalancerActionException`;$fault=`client`;Message;constructor(t){super({name:`InvalidLoadBalancerActionException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},qIe=class e extends T{name=`SSLPolicyNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`SSLPolicyNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},JIe=class e extends T{name=`TargetGroupAssociationLimitException`;$fault=`client`;Message;constructor(t){super({name:`TargetGroupAssociationLimitException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},YIe=class e extends T{name=`TooManyActionsException`;$fault=`client`;Message;constructor(t){super({name:`TooManyActionsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},XIe=class e extends T{name=`TooManyListenersException`;$fault=`client`;Message;constructor(t){super({name:`TooManyListenersException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},ZIe=class e extends T{name=`TooManyRegistrationsForTargetIdException`;$fault=`client`;Message;constructor(t){super({name:`TooManyRegistrationsForTargetIdException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},QIe=class e extends T{name=`TooManyTargetsException`;$fault=`client`;Message;constructor(t){super({name:`TooManyTargetsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},$Ie=class e extends T{name=`TooManyUniqueTargetGroupsPerLoadBalancerException`;$fault=`client`;Message;constructor(t){super({name:`TooManyUniqueTargetGroupsPerLoadBalancerException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},eLe=class e extends T{name=`TrustStoreNotReadyException`;$fault=`client`;Message;constructor(t){super({name:`TrustStoreNotReadyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},tLe=class e extends T{name=`UnsupportedProtocolException`;$fault=`client`;Message;constructor(t){super({name:`UnsupportedProtocolException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},nLe=class e extends T{name=`DuplicateLoadBalancerNameException`;$fault=`client`;Message;constructor(t){super({name:`DuplicateLoadBalancerNameException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},rLe=class e extends T{name=`InvalidSchemeException`;$fault=`client`;Message;constructor(t){super({name:`InvalidSchemeException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},iLe=class e extends T{name=`InvalidSecurityGroupException`;$fault=`client`;Message;constructor(t){super({name:`InvalidSecurityGroupException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},aLe=class e extends T{name=`InvalidSubnetException`;$fault=`client`;Message;constructor(t){super({name:`InvalidSubnetException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},oLe=class e extends T{name=`OperationNotPermittedException`;$fault=`client`;Message;constructor(t){super({name:`OperationNotPermittedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},sLe=class e extends T{name=`ResourceInUseException`;$fault=`client`;Message;constructor(t){super({name:`ResourceInUseException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},cLe=class e extends T{name=`SubnetNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`SubnetNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},lLe=class e extends T{name=`TooManyLoadBalancersException`;$fault=`client`;Message;constructor(t){super({name:`TooManyLoadBalancersException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},uLe=class e extends T{name=`PriorityInUseException`;$fault=`client`;Message;constructor(t){super({name:`PriorityInUseException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},dLe=class e extends T{name=`TooManyRulesException`;$fault=`client`;Message;constructor(t){super({name:`TooManyRulesException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},fLe=class e extends T{name=`TooManyTargetGroupsException`;$fault=`client`;Message;constructor(t){super({name:`TooManyTargetGroupsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},pLe=class e extends T{name=`DuplicateTargetGroupNameException`;$fault=`client`;Message;constructor(t){super({name:`DuplicateTargetGroupNameException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},mLe=class e extends T{name=`DuplicateTrustStoreNameException`;$fault=`client`;Message;constructor(t){super({name:`DuplicateTrustStoreNameException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},hLe=class e extends T{name=`InvalidCaCertificatesBundleException`;$fault=`client`;Message;constructor(t){super({name:`InvalidCaCertificatesBundleException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},gLe=class e extends T{name=`TooManyTrustStoresException`;$fault=`client`;Message;constructor(t){super({name:`TooManyTrustStoresException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},_Le=class e extends T{name=`DeleteAssociationSameAccountException`;$fault=`client`;Message;constructor(t){super({name:`DeleteAssociationSameAccountException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},vLe=class e extends T{name=`TrustStoreAssociationNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`TrustStoreAssociationNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},yLe=class e extends T{name=`TrustStoreInUseException`;$fault=`client`;Message;constructor(t){super({name:`TrustStoreInUseException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},bLe=class e extends T{name=`InvalidTargetException`;$fault=`client`;Message;constructor(t){super({name:`InvalidTargetException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},xLe=class e extends T{name=`HealthUnavailableException`;$fault=`server`;Message;constructor(t){super({name:`HealthUnavailableException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},SLe=class e extends T{name=`RevocationIdNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`RevocationIdNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},CLe=class e extends T{name=`ResourceNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`ResourceNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},wLe=class e extends T{name=`InsufficientCapacityException`;$fault=`server`;Message;constructor(t){super({name:`InsufficientCapacityException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},TLe=class e extends T{name=`PriorRequestNotCompleteException`;$fault=`client`;Message;constructor(t){super({name:`PriorRequestNotCompleteException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},ELe=`Action`,DLe=`AdditionalClaims`,OLe=`AuthenticateCognitoActionConfig`,kLe=`AuthenticateCognitoConfig`,qZ=`AnomalyDetection`,ALe=`AuthorizationEndpoint`,JZ=`AllocationId`,jLe=`AllocationIdNotFoundException`,MLe=`ALPNPolicyNotSupportedException`,YZ=`AdministrativeOverride`,NLe=`AuthenticateOidcActionConfig`,PLe=`AuthenticateOidcConfig`,XZ=`AlpnPolicy`,ZZ=`AuthenticationRequestExtraParams`,FLe=`AddTags`,ILe=`AddTagsInput`,LLe=`AddTagsOutput`,RLe=`AdvertiseTrustStoreCaNames`,QZ=`AvailabilityZone`,zLe=`AvailabilityZoneNotSupportedException`,$Z=`AvailabilityZones`,eQ=`Actions`,tQ=`Attributes`,nQ=`Certificates`,BLe=`CertificateArn`,VLe=`CaCertificatesBundleNotFoundException`,HLe=`CapacityDecreaseRequestsLimitExceededException`,ULe=`CanonicalHostedZoneId`,WLe=`ClientId`,GLe=`CertificateList`,KLe=`CreateLoadBalancer`,qLe=`CreateLoadBalancerInput`,JLe=`CreateLoadBalancerOutput`,YLe=`CreateListenerInput`,XLe=`CreateListenerOutput`,ZLe=`CreateListener`,QLe=`CertificateNotFoundException`,rQ=`CustomerOwnedIpv4Pool`,$Le=`CreateRule`,eRe=`CreateRuleInput`,tRe=`CreateRuleOutput`,nRe=`CapacityReservationPendingException`,rRe=`ClientSecret`,iRe=`ContentType`,aRe=`CreateTargetGroup`,oRe=`CreateTargetGroupInput`,sRe=`CreateTargetGroupOutput`,cRe=`CreatedTime`,lRe=`CapacityUnitsLimitExceededException`,uRe=`Certificate`,dRe=`Cipher`,iQ=`Ciphers`,fRe=`Code`,aQ=`Conditions`,oQ=`Description`,sQ=`DefaultActions`,pRe=`DeleteAssociationSameAccountException`,mRe=`DeleteListener`,hRe=`DeleteLoadBalancer`,gRe=`DescribeLoadBalancerAttributes`,_Re=`DescribeLoadBalancerAttributesInput`,vRe=`DescribeLoadBalancerAttributesOutput`,yRe=`DeleteLoadBalancerInput`,bRe=`DescribeLoadBalancersInput`,xRe=`DuplicateLoadBalancerNameException`,SRe=`DeleteLoadBalancerOutput`,CRe=`DescribeLoadBalancersOutput`,wRe=`DescribeLoadBalancers`,TRe=`DuplicateListenerException`,ERe=`DeleteListenerInput`,DRe=`DescribeListenersInput`,ORe=`DeleteListenerOutput`,kRe=`DescribeListenersOutput`,ARe=`DescribeListeners`,jRe=`DNSName`,MRe=`DeleteRule`,NRe=`DeleteRuleInput`,PRe=`DescribeRulesInput`,FRe=`DeleteRuleOutput`,IRe=`DescribeRulesOutput`,LRe=`DescribeRules`,RRe=`DurationSeconds`,zRe=`DescribeSSLPolicies`,BRe=`DescribeSSLPoliciesInput`,VRe=`DescribeSSLPoliciesOutput`,HRe=`DeregisterTargets`,URe=`DeleteTargetGroup`,WRe=`DescribeTargetGroupAttributes`,GRe=`DescribeTargetGroupAttributesInput`,KRe=`DescribeTargetGroupAttributesOutput`,qRe=`DeleteTargetGroupInput`,JRe=`DescribeTargetGroupsInput`,YRe=`DuplicateTargetGroupNameException`,XRe=`DeleteTargetGroupOutput`,ZRe=`DescribeTargetGroupsOutput`,QRe=`DescribeTargetGroups`,$Re=`DescribeTargetHealth`,eze=`DescribeTargetHealthInput`,tze=`DescribeTargetHealthOutput`,nze=`DeregisterTargetsInput`,rze=`DescribeTagsInput`,ize=`DuplicateTagKeysException`,aze=`DeregisterTargetsOutput`,oze=`DescribeTagsOutput`,sze=`DuplicateTrustStoreNameException`,cze=`DescribeTags`,lze=`Enabled`,cQ=`EnablePrefixForIpv6SourceNat`,lQ=`EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic`,uze=`Format`,dze=`ForwardActionConfig`,fze=`ForwardConfig`,pze=`FixedResponseActionConfig`,mze=`FixedResponseConfig`,hze=`Field`,gze=`GrpcCode`,_ze=`Host`,vze=`HttpCode`,uQ=`HealthCheckEnabled`,dQ=`HealthCheckIntervalSeconds`,fQ=`HealthCheckProtocol`,pQ=`HealthCheckPort`,mQ=`HealthCheckPath`,hQ=`HealthCheckTimeoutSeconds`,yze=`HostHeaderConfig`,bze=`HostHeaderConditionConfig`,xze=`HttpHeaderConditionConfig`,Sze=`HttpHeaderConfig`,Cze=`HttpHeaderName`,gQ=`HostHeaderRewriteConfig`,wze=`HttpRequestMethodConfig`,Tze=`HttpRequestMethodConditionConfig`,_Q=`HealthyThresholdCount`,Eze=`HealthUnavailableException`,vQ=`Issuer`,Dze=`IpAddress`,yQ=`IpAddressType`,Oze=`InvalidCaCertificatesBundleException`,kze=`IgnoreClientCertificateExpiry`,Aze=`InsufficientCapacityException`,jze=`InvalidConfigurationRequestException`,bQ=`IsDefault`,Mze=`Ipv4IpamPoolId`,Nze=`InvalidLoadBalancerActionException`,xQ=`IpamPools`,SQ=`IPv6Address`,Pze=`IncompatibleProtocolsException`,Fze=`InvalidRevocationContentException`,Ize=`InvalidSchemeException`,Lze=`InvalidSubnetException`,Rze=`InvalidSecurityGroupException`,zze=`InvalidTargetException`,Bze=`Id`,Vze=`Include`,Hze=`JwksEndpoint`,Uze=`JwtValidationActionAdditionalClaim`,Wze=`JwtValidationActionAdditionalClaims`,Gze=`JwtValidationActionConfig`,Kze=`JwtValidationConfig`,CQ=`Key`,wQ=`Listeners`,TQ=`ListenerArn`,qze=`ListenerArns`,EQ=`LoadBalancers`,DQ=`LoadBalancerAddresses`,OQ=`LoadBalancerArn`,kQ=`LoadBalancerArns`,Jze=`LoadBalancerAddress`,Yze=`LoadBalancerAttribute`,Xze=`LoadBalancerAttributes`,Zze=`LoadBalancerName`,Qze=`LoadBalancerNotFoundException`,$ze=`LoadBalancerState`,eBe=`LoadBalancerType`,tBe=`LoadBalancer`,nBe=`ListenerNotFoundException`,rBe=`Listener`,E=`Message`,AQ=`MutualAuthentication`,iBe=`MutualAuthenticationAttributes`,aBe=`MessageBody`,oBe=`MitigationInEffect`,sBe=`ModifyListener`,cBe=`ModifyLoadBalancerAttributes`,lBe=`ModifyLoadBalancerAttributesInput`,uBe=`ModifyLoadBalancerAttributesOutput`,dBe=`ModifyListenerInput`,fBe=`ModifyListenerOutput`,pBe=`ModifyRule`,mBe=`ModifyRuleInput`,hBe=`ModifyRuleOutput`,gBe=`ModifyTargetGroupAttributes`,_Be=`ModifyTargetGroupAttributesInput`,vBe=`ModifyTargetGroupAttributesOutput`,jQ=`Matcher`,MQ=`Marker`,yBe=`Mode`,NQ=`Name`,PQ=`NextMarker`,FQ=`Names`,bBe=`Order`,xBe=`OutpostId`,SBe=`OperationNotPermittedException`,IQ=`OnUnauthenticatedRequest`,LQ=`Priority`,RQ=`PrivateIPv4Address`,CBe=`PriorityInUseException`,wBe=`PathPatternConfig`,TBe=`PathPatternConditionConfig`,EBe=`PriorRequestNotCompleteException`,zQ=`PageSize`,BQ=`ProtocolVersion`,DBe=`Path`,VQ=`Port`,HQ=`Protocol`,OBe=`Query`,kBe=`QueryStringConfig`,ABe=`QueryStringConditionConfig`,jBe=`QuicServerId`,MBe=`QueryStringKeyValuePair`,NBe=`QueryStringKeyValuePairList`,UQ=`Reason`,WQ=`ResourceArns`,PBe=`RedirectActionConfig`,FBe=`ResourceArn`,GQ=`RuleArn`,IBe=`RuleArns`,LBe=`RedirectConfig`,RBe=`RewriteConfigList`,zBe=`RuleConditionList`,BBe=`RevocationContentNotFoundException`,VBe=`RewriteConfig`,HBe=`RuleCondition`,UBe=`RevocationIdNotFoundException`,WBe=`ResourceInUseException`,GBe=`ResourceNotFoundException`,KBe=`RuleNotFoundException`,qBe=`RegisterTargetsInput`,JBe=`RemoveTagsInput`,YBe=`RuleTransformList`,XBe=`RegisterTargetsOutput`,ZBe=`RemoveTagsOutput`,QBe=`ResetTransforms`,$Be=`RegisterTargets`,eVe=`RemoveTags`,tVe=`RuleTransform`,KQ=`RegexValues`,nVe=`Result`,rVe=`Regex`,iVe=`Replace`,qQ=`Rewrites`,JQ=`Rules`,aVe=`Rule`,YQ=`State`,XQ=`StatusCode`,ZQ=`SessionCookieName`,QQ=`SecurityGroups`,oVe=`SecurityGroupIds`,$Q=`SubnetId`,sVe=`SourceIpConfig`,cVe=`SourceIpConditionConfig`,lVe=`SupportedLoadBalancerTypes`,e$=`SubnetMappings`,uVe=`SubnetMapping`,dVe=`SubnetNotFoundException`,fVe=`SourceNatIpv6Prefixes`,pVe=`SourceNatIpv6Prefix`,t$=`SslPolicy`,n$=`SslPolicies`,mVe=`SslProtocols`,hVe=`SetSubnets`,gVe=`SetSecurityGroups`,_Ve=`SetSecurityGroupsInput`,vVe=`SetSecurityGroupsOutput`,yVe=`SetSubnetsInput`,bVe=`SSLPolicyNotFoundException`,xVe=`SetSubnetsOutput`,r$=`SessionTimeout`,i$=`Scope`,a$=`Scheme`,o$=`Subnets`,s$=`Type`,c$=`TargetControlPort`,l$=`TagDescriptions`,SVe=`TagDescription`,CVe=`TargetDescription`,wVe=`TargetDescriptions`,TVe=`TokenEndpoint`,u$=`TargetGroups`,d$=`TargetGroupArn`,EVe=`TargetGroupAssociationLimitException`,DVe=`TargetGroupArns`,OVe=`TargetGroupAttribute`,kVe=`TargetGroupAttributes`,AVe=`TargetGroupList`,jVe=`TargetGroupName`,MVe=`TargetGroupNotFoundException`,f$=`TargetGroupStickinessConfig`,NVe=`TargetGroupTuple`,PVe=`TargetGroup`,p$=`TargetHealth`,m$=`TargetHealthDescriptions`,FVe=`TargetHealthDescription`,IVe=`TagKeys`,LVe=`TagList`,RVe=`TooManyActionsException`,zVe=`TooManyCertificatesException`,BVe=`TooManyLoadBalancersException`,VVe=`TooManyListenersException`,HVe=`TooManyRulesException`,UVe=`TooManyRegistrationsForTargetIdException`,WVe=`TooManyTagsException`,GVe=`TooManyTargetsException`,KVe=`TooManyTargetGroupsException`,qVe=`TooManyTrustStoresException`,JVe=`TooManyTrustStoreRevocationEntriesException`,YVe=`TooManyUniqueTargetGroupsPerLoadBalancerException`,XVe=`TrustStoreArn`,ZVe=`TrustStoreAssociationNotFoundException`,QVe=`TrustStoreAssociationStatus`,$Ve=`TrustStoreInUseException`,eHe=`TrustStoreNotFoundException`,tHe=`TrustStoreNotReadyException`,h$=`TargetType`,g$=`Tags`,nHe=`Tag`,_$=`Targets`,rHe=`Target`,v$=`Transforms`,iHe=`UseExistingClientSecret`,aHe=`UserInfoEndpoint`,oHe=`UserPoolArn`,sHe=`UserPoolClientId`,cHe=`UserPoolDomain`,lHe=`UnsupportedProtocolException`,y$=`UrlRewriteConfig`,b$=`UnhealthyThresholdCount`,x$=`Values`,S$=`VpcId`,C$=`Value`,uHe=`Weight`,dHe=`ZoneName`,D=`awsQueryError`,O=`client`,k=`error`,A=`httpError`,w$=`smithy.ts.sdk.synthetic.com.amazonaws.elasticloadbalancingv2`,T$=`server`,j=`com.amazonaws.elasticloadbalancingv2`,E$=ct.for(w$),fHe=[-3,w$,`ElasticLoadBalancingV2ServiceException`,0,[],[]];E$.registerError(fHe,T);var M=ct.for(j),pHe=[-3,j,jLe,{[D]:[`AllocationIdNotFound`,400],[k]:O,[A]:400},[E],[0]];M.registerError(pHe,IIe);var mHe=[-3,j,MLe,{[D]:[`ALPNPolicyNotFound`,400],[k]:O,[A]:400},[E],[0]];M.registerError(mHe,LIe);var hHe=[-3,j,zLe,{[D]:[`AvailabilityZoneNotSupported`,400],[k]:O,[A]:400},[E],[0]];M.registerError(hHe,RIe);var gHe=[-3,j,VLe,{[D]:[`CaCertificatesBundleNotFound`,400],[k]:O,[A]:400},[E],[0]];M.registerError(gHe,zIe);var _He=[-3,j,HLe,{[D]:[`CapacityDecreaseRequestLimitExceeded`,400],[k]:O,[A]:400},[E],[0]];M.registerError(_He,BIe);var vHe=[-3,j,nRe,{[D]:[`CapacityReservationPending`,400],[k]:O,[A]:400},[E],[0]];M.registerError(vHe,VIe);var yHe=[-3,j,lRe,{[D]:[`CapacityUnitsLimitExceeded`,400],[k]:O,[A]:400},[E],[0]];M.registerError(yHe,HIe);var bHe=[-3,j,QLe,{[D]:[`CertificateNotFound`,400],[k]:O,[A]:400},[E],[0]];M.registerError(bHe,wIe);var xHe=[-3,j,pRe,{[D]:[`DeleteAssociationSameAccount`,400],[k]:O,[A]:400},[E],[0]];M.registerError(xHe,_Le);var SHe=[-3,j,TRe,{[D]:[`DuplicateListener`,400],[k]:O,[A]:400},[E],[0]];M.registerError(SHe,UIe);var CHe=[-3,j,xRe,{[D]:[`DuplicateLoadBalancerName`,400],[k]:O,[A]:400},[E],[0]];M.registerError(CHe,nLe);var wHe=[-3,j,ize,{[D]:[`DuplicateTagKeys`,400],[k]:O,[A]:400},[E],[0]];M.registerError(wHe,DIe);var THe=[-3,j,YRe,{[D]:[`DuplicateTargetGroupName`,400],[k]:O,[A]:400},[E],[0]];M.registerError(THe,pLe);var EHe=[-3,j,sze,{[D]:[`DuplicateTrustStoreName`,400],[k]:O,[A]:400},[E],[0]];M.registerError(EHe,mLe);var DHe=[-3,j,Eze,{[D]:[`HealthUnavailable`,500],[k]:T$,[A]:500},[E],[0]];M.registerError(DHe,xLe);var OHe=[-3,j,Pze,{[D]:[`IncompatibleProtocols`,400],[k]:O,[A]:400},[E],[0]];M.registerError(OHe,WIe);var kHe=[-3,j,Aze,{[D]:[`InsufficientCapacity`,500],[k]:T$,[A]:500},[E],[0]];M.registerError(kHe,wLe);var AHe=[-3,j,Oze,{[D]:[`InvalidCaCertificatesBundle`,400],[k]:O,[A]:400},[E],[0]];M.registerError(AHe,hLe);var jHe=[-3,j,jze,{[D]:[`InvalidConfigurationRequest`,400],[k]:O,[A]:400},[E],[0]];M.registerError(jHe,GIe);var MHe=[-3,j,Nze,{[D]:[`InvalidLoadBalancerAction`,400],[k]:O,[A]:400},[E],[0]];M.registerError(MHe,KIe);var NHe=[-3,j,Fze,{[D]:[`InvalidRevocationContent`,400],[k]:O,[A]:400},[E],[0]];M.registerError(NHe,NIe);var PHe=[-3,j,Ize,{[D]:[`InvalidScheme`,400],[k]:O,[A]:400},[E],[0]];M.registerError(PHe,rLe);var FHe=[-3,j,Rze,{[D]:[`InvalidSecurityGroup`,400],[k]:O,[A]:400},[E],[0]];M.registerError(FHe,iLe);var IHe=[-3,j,Lze,{[D]:[`InvalidSubnet`,400],[k]:O,[A]:400},[E],[0]];M.registerError(IHe,aLe);var LHe=[-3,j,zze,{[D]:[`InvalidTarget`,400],[k]:O,[A]:400},[E],[0]];M.registerError(LHe,bLe);var RHe=[-3,j,nBe,{[D]:[`ListenerNotFound`,400],[k]:O,[A]:400},[E],[0]];M.registerError(RHe,TIe);var zHe=[-3,j,Qze,{[D]:[`LoadBalancerNotFound`,400],[k]:O,[A]:400},[E],[0]];M.registerError(zHe,OIe);var BHe=[-3,j,SBe,{[D]:[`OperationNotPermitted`,400],[k]:O,[A]:400},[E],[0]];M.registerError(BHe,oLe);var VHe=[-3,j,CBe,{[D]:[`PriorityInUse`,400],[k]:O,[A]:400},[E],[0]];M.registerError(VHe,uLe);var HHe=[-3,j,EBe,{[D]:[`PriorRequestNotComplete`,429],[k]:O,[A]:429},[E],[0]];M.registerError(HHe,TLe);var UHe=[-3,j,WBe,{[D]:[`ResourceInUse`,400],[k]:O,[A]:400},[E],[0]];M.registerError(UHe,sLe);var WHe=[-3,j,GBe,{[D]:[`ResourceNotFound`,400],[k]:O,[A]:400},[E],[0]];M.registerError(WHe,CLe);var GHe=[-3,j,BBe,{[D]:[`RevocationContentNotFound`,400],[k]:O,[A]:400},[E],[0]];M.registerError(GHe,PIe);var KHe=[-3,j,UBe,{[D]:[`RevocationIdNotFound`,400],[k]:O,[A]:400},[E],[0]];M.registerError(KHe,SLe);var qHe=[-3,j,KBe,{[D]:[`RuleNotFound`,400],[k]:O,[A]:400},[E],[0]];M.registerError(qHe,kIe);var JHe=[-3,j,bVe,{[D]:[`SSLPolicyNotFound`,400],[k]:O,[A]:400},[E],[0]];M.registerError(JHe,qIe);var YHe=[-3,j,dVe,{[D]:[`SubnetNotFound`,400],[k]:O,[A]:400},[E],[0]];M.registerError(YHe,cLe);var XHe=[-3,j,EVe,{[D]:[`TargetGroupAssociationLimit`,400],[k]:O,[A]:400},[E],[0]];M.registerError(XHe,JIe);var ZHe=[-3,j,MVe,{[D]:[`TargetGroupNotFound`,400],[k]:O,[A]:400},[E],[0]];M.registerError(ZHe,AIe);var QHe=[-3,j,RVe,{[D]:[`TooManyActions`,400],[k]:O,[A]:400},[E],[0]];M.registerError(QHe,YIe);var $He=[-3,j,zVe,{[D]:[`TooManyCertificates`,400],[k]:O,[A]:400},[E],[0]];M.registerError($He,EIe);var eUe=[-3,j,VVe,{[D]:[`TooManyListeners`,400],[k]:O,[A]:400},[E],[0]];M.registerError(eUe,XIe);var tUe=[-3,j,BVe,{[D]:[`TooManyLoadBalancers`,400],[k]:O,[A]:400},[E],[0]];M.registerError(tUe,lLe);var nUe=[-3,j,UVe,{[D]:[`TooManyRegistrationsForTargetId`,400],[k]:O,[A]:400},[E],[0]];M.registerError(nUe,ZIe);var rUe=[-3,j,HVe,{[D]:[`TooManyRules`,400],[k]:O,[A]:400},[E],[0]];M.registerError(rUe,dLe);var iUe=[-3,j,WVe,{[D]:[`TooManyTags`,400],[k]:O,[A]:400},[E],[0]];M.registerError(iUe,jIe);var aUe=[-3,j,KVe,{[D]:[`TooManyTargetGroups`,400],[k]:O,[A]:400},[E],[0]];M.registerError(aUe,fLe);var oUe=[-3,j,GVe,{[D]:[`TooManyTargets`,400],[k]:O,[A]:400},[E],[0]];M.registerError(oUe,QIe);var sUe=[-3,j,JVe,{[D]:[`TooManyTrustStoreRevocationEntries`,400],[k]:O,[A]:400},[E],[0]];M.registerError(sUe,FIe);var cUe=[-3,j,qVe,{[D]:[`TooManyTrustStores`,400],[k]:O,[A]:400},[E],[0]];M.registerError(cUe,gLe);var lUe=[-3,j,YVe,{[D]:[`TooManyUniqueTargetGroupsPerLoadBalancer`,400],[k]:O,[A]:400},[E],[0]];M.registerError(lUe,$Ie);var uUe=[-3,j,ZVe,{[D]:[`AssociationNotFound`,400],[k]:O,[A]:400},[E],[0]];M.registerError(uUe,vLe);var dUe=[-3,j,$Ve,{[D]:[`TrustStoreInUse`,400],[k]:O,[A]:400},[E],[0]];M.registerError(dUe,yLe);var fUe=[-3,j,eHe,{[D]:[`TrustStoreNotFound`,400],[k]:O,[A]:400},[E],[0]];M.registerError(fUe,MIe);var pUe=[-3,j,tHe,{[D]:[`TrustStoreNotReady`,400],[k]:O,[A]:400},[E],[0]];M.registerError(pUe,eLe);var mUe=[-3,j,lHe,{[D]:[`UnsupportedProtocol`,400],[k]:O,[A]:400},[E],[0]];M.registerError(mUe,tLe);var hUe=[E$,M],gUe=[3,j,ELe,0,[s$,d$,PLe,kLe,bBe,LBe,mze,fze,Kze],[0,0,()=>SUe,()=>xUe,1,()=>MWe,()=>cWe,()=>lWe,()=>hWe],1],_Ue=[3,j,ILe,0,[WQ,g$],[64,()=>H$],2],vUe=[3,j,LLe,0,[],[]],yUe=[3,j,YZ,0,[YQ,UQ,oQ],[0,0,0]],bUe=[3,j,qZ,0,[nVe,oBe],[0,0]],xUe=[3,j,OLe,0,[oHe,sHe,cHe,ZQ,i$,r$,ZZ,IQ],[0,0,0,0,0,1,128,0],3],SUe=[3,j,NLe,0,[vQ,ALe,TVe,aHe,WLe,rRe,ZQ,i$,r$,ZZ,IQ,iHe],[0,0,0,0,0,0,0,0,1,128,0,2],5],CUe=[3,j,QZ,0,[dHe,$Q,xBe,DQ,fVe],[0,0,0,()=>aGe,64]],wUe=[3,j,uRe,0,[BLe,bQ],[0,2]],TUe=[3,j,dRe,0,[NQ,LQ],[0,1]],EUe=[3,j,YLe,0,[OQ,sQ,HQ,VQ,t$,nQ,XZ,g$,AQ],[0,()=>j$,0,1,0,()=>N$,64,()=>H$,()=>k$],2],DUe=[3,j,XLe,0,[wQ],[()=>P$]],OUe=[3,j,qLe,0,[NQ,o$,e$,QQ,a$,g$,s$,yQ,rQ,cQ,xQ],[0,64,()=>V$,64,0,()=>H$,0,0,0,0,()=>D$],1],kUe=[3,j,JLe,0,[EQ],[()=>I$]],AUe=[3,j,eRe,0,[TQ,aQ,LQ,eQ,g$,v$],[0,()=>R$,1,()=>j$,()=>H$,()=>B$],4],jUe=[3,j,tRe,0,[JQ],[()=>z$]],MUe=[3,j,oRe,0,[NQ,HQ,BQ,VQ,S$,fQ,pQ,uQ,mQ,dQ,hQ,_Q,b$,jQ,h$,g$,yQ,c$],[0,0,0,1,0,0,0,2,0,1,1,1,1,()=>O$,0,()=>H$,0,1],1],NUe=[3,j,sRe,0,[u$],[()=>G$]],PUe=[3,j,ERe,0,[TQ],[0],1],FUe=[3,j,ORe,0,[],[]],IUe=[3,j,yRe,0,[OQ],[0],1],LUe=[3,j,SRe,0,[],[]],RUe=[3,j,NRe,0,[GQ],[0],1],zUe=[3,j,FRe,0,[],[]],BUe=[3,j,qRe,0,[d$],[0],1],VUe=[3,j,XRe,0,[],[]],HUe=[3,j,nze,0,[d$,_$],[0,()=>U$],2],UUe=[3,j,aze,0,[],[]],WUe=[3,j,DRe,0,[OQ,qze,MQ,zQ],[0,64,0,1]],GUe=[3,j,kRe,0,[wQ,PQ],[()=>P$,0]],KUe=[3,j,_Re,0,[OQ],[0],1],qUe=[3,j,vRe,0,[tQ],[()=>F$]],JUe=[3,j,bRe,0,[kQ,FQ,MQ,zQ],[64,64,0,1]],YUe=[3,j,CRe,0,[EQ,PQ],[()=>I$,0]],XUe=[3,j,PRe,0,[TQ,IBe,MQ,zQ],[0,64,0,1]],ZUe=[3,j,IRe,0,[JQ,PQ],[()=>z$,0]],QUe=[3,j,BRe,0,[FQ,MQ,zQ,eBe],[64,0,1,0]],$Ue=[3,j,VRe,0,[n$,PQ],[()=>sGe,0]],eWe=[3,j,rze,0,[WQ],[64],1],tWe=[3,j,oze,0,[l$],[()=>cGe]],nWe=[3,j,GRe,0,[d$],[0],1],rWe=[3,j,KRe,0,[tQ],[()=>W$]],iWe=[3,j,JRe,0,[OQ,DVe,FQ,MQ,zQ],[0,64,64,0,1]],aWe=[3,j,ZRe,0,[u$,PQ],[()=>G$,0]],oWe=[3,j,eze,0,[d$,_$,Vze],[0,()=>U$,64],1],sWe=[3,j,tze,0,[m$],[()=>uGe]],cWe=[3,j,pze,0,[XQ,aBe,iRe],[0,0,0],1],lWe=[3,j,dze,0,[u$,f$],[()=>lGe,()=>QWe]],uWe=[3,j,bze,0,[x$,KQ],[64,64]],dWe=[3,j,gQ,0,[qQ],[()=>L$]],fWe=[3,j,xze,0,[Cze,x$,KQ],[0,64,64]],pWe=[3,j,Tze,0,[x$],[64]],D$=[3,j,xQ,0,[Mze],[0]],mWe=[3,j,Uze,0,[uze,NQ,x$],[0,0,64],3],hWe=[3,j,Gze,0,[Hze,vQ,DLe],[0,0,()=>iGe],2],gWe=[3,j,rBe,0,[TQ,OQ,VQ,HQ,nQ,t$,sQ,XZ,AQ],[0,0,1,0,()=>N$,0,()=>j$,64,()=>k$]],_We=[3,j,tBe,0,[OQ,jRe,ULe,cRe,Zze,a$,S$,YQ,s$,$Z,QQ,yQ,rQ,lQ,cQ,xQ],[0,0,0,4,0,0,0,()=>bWe,0,()=>M$,64,0,0,0,0,()=>D$]],vWe=[3,j,Jze,0,[Dze,JZ,RQ,SQ],[0,0,0,0]],yWe=[3,j,Yze,0,[CQ,C$],[0,0]],bWe=[3,j,$ze,0,[fRe,UQ],[0,0]],O$=[3,j,jQ,0,[vze,gze],[0,0]],xWe=[3,j,dBe,0,[TQ,VQ,HQ,t$,nQ,sQ,XZ,AQ],[0,1,0,0,()=>N$,()=>j$,64,()=>k$],1],SWe=[3,j,fBe,0,[wQ],[()=>P$]],CWe=[3,j,lBe,0,[OQ,tQ],[0,()=>F$],2],wWe=[3,j,uBe,0,[tQ],[()=>F$]],TWe=[3,j,mBe,0,[GQ,aQ,eQ,v$,QBe],[0,()=>R$,()=>j$,()=>B$,2],1],EWe=[3,j,hBe,0,[JQ],[()=>z$]],DWe=[3,j,_Be,0,[d$,tQ],[0,()=>W$],2],OWe=[3,j,vBe,0,[tQ],[()=>W$]],k$=[3,j,iBe,0,[yBe,XVe,kze,QVe,RLe],[0,0,2,0,0]],kWe=[3,j,TBe,0,[x$,KQ],[64,64]],AWe=[3,j,ABe,0,[x$],[()=>oGe]],jWe=[3,j,MBe,0,[CQ,C$],[0,0]],MWe=[3,j,PBe,0,[XQ,HQ,VQ,_ze,DBe,OBe],[0,0,0,0,0,0],1],NWe=[3,j,qBe,0,[d$,_$],[0,()=>U$],2],PWe=[3,j,XBe,0,[],[]],FWe=[3,j,JBe,0,[WQ,IVe],[64,64],2],IWe=[3,j,ZBe,0,[],[]],LWe=[3,j,VBe,0,[rVe,iVe],[0,0],2],RWe=[3,j,aVe,0,[GQ,LQ,aQ,eQ,bQ,v$],[0,0,()=>R$,()=>j$,2,()=>B$]],zWe=[3,j,HBe,0,[hze,x$,yze,wBe,Sze,kBe,wze,sVe,KQ],[0,64,()=>uWe,()=>kWe,()=>fWe,()=>AWe,()=>pWe,()=>GWe,64]],BWe=[3,j,tVe,0,[s$,gQ,y$],[0,()=>dWe,()=>nGe],1],VWe=[3,j,_Ve,0,[OQ,QQ,lQ],[0,64,0],2],HWe=[3,j,vVe,0,[oVe,lQ],[64,0]],UWe=[3,j,yVe,0,[OQ,o$,e$,yQ,cQ],[0,64,()=>V$,0,0],1],WWe=[3,j,xVe,0,[$Z,yQ,cQ],[()=>M$,0,0]],GWe=[3,j,cVe,0,[x$,yQ],[64,0]],KWe=[3,j,t$,0,[mVe,iQ,NQ,lVe],[64,()=>rGe,0,64]],qWe=[3,j,uVe,0,[$Q,JZ,RQ,SQ,pVe],[0,0,0,0,0]],JWe=[3,j,nHe,0,[CQ,C$],[0,0],1],YWe=[3,j,SVe,0,[FBe,g$],[0,()=>H$]],A$=[3,j,CVe,0,[Bze,VQ,QZ,jBe],[0,1,0,0],1],XWe=[3,j,PVe,0,[d$,jVe,HQ,VQ,S$,fQ,pQ,uQ,dQ,hQ,_Q,b$,mQ,jQ,kQ,h$,BQ,yQ,c$],[0,0,0,1,0,0,0,2,1,1,1,1,0,()=>O$,64,0,0,0,1]],ZWe=[3,j,OVe,0,[CQ,C$],[0,0]],QWe=[3,j,f$,0,[lze,RRe],[2,1]],$We=[3,j,NVe,0,[d$,uHe],[0,1]],eGe=[3,j,p$,0,[YQ,UQ,oQ],[0,0,0]],tGe=[3,j,FVe,0,[rHe,pQ,p$,qZ,YZ],[()=>A$,0,()=>eGe,()=>bUe,()=>yUe]],nGe=[3,j,y$,0,[qQ],[()=>L$]],j$=[1,j,eQ,0,()=>gUe],M$=[1,j,$Z,0,()=>CUe],N$=[1,j,GLe,0,()=>wUe],rGe=[1,j,iQ,0,()=>TUe],iGe=[1,j,Wze,0,()=>mWe],P$=[1,j,wQ,0,()=>gWe],aGe=[1,j,DQ,0,()=>vWe],F$=[1,j,Xze,0,()=>yWe],I$=[1,j,EQ,0,()=>_We],oGe=[1,j,NBe,0,()=>jWe],L$=[1,j,RBe,0,()=>LWe],R$=[1,j,zBe,0,()=>zWe],z$=[1,j,JQ,0,()=>RWe],B$=[1,j,YBe,0,()=>BWe],sGe=[1,j,n$,0,()=>KWe],V$=[1,j,e$,0,()=>qWe],cGe=[1,j,l$,0,()=>YWe],H$=[1,j,LVe,0,()=>JWe],U$=[1,j,wVe,0,()=>A$],W$=[1,j,kVe,0,()=>ZWe],lGe=[1,j,AVe,0,()=>$We],G$=[1,j,u$,0,()=>XWe],uGe=[1,j,m$,0,()=>tGe],dGe=[9,j,FLe,0,()=>_Ue,()=>vUe],fGe=[9,j,ZLe,0,()=>EUe,()=>DUe],pGe=[9,j,KLe,0,()=>OUe,()=>kUe],mGe=[9,j,$Le,0,()=>AUe,()=>jUe],hGe=[9,j,aRe,0,()=>MUe,()=>NUe],gGe=[9,j,mRe,0,()=>PUe,()=>FUe],_Ge=[9,j,hRe,0,()=>IUe,()=>LUe],vGe=[9,j,MRe,0,()=>RUe,()=>zUe],yGe=[9,j,URe,0,()=>BUe,()=>VUe],bGe=[9,j,HRe,0,()=>HUe,()=>UUe],xGe=[9,j,ARe,0,()=>WUe,()=>GUe],SGe=[9,j,gRe,0,()=>KUe,()=>qUe],CGe=[9,j,wRe,0,()=>JUe,()=>YUe],wGe=[9,j,LRe,0,()=>XUe,()=>ZUe],TGe=[9,j,zRe,0,()=>QUe,()=>$Ue],EGe=[9,j,cze,0,()=>eWe,()=>tWe],DGe=[9,j,WRe,0,()=>nWe,()=>rWe],OGe=[9,j,QRe,0,()=>iWe,()=>aWe],kGe=[9,j,$Re,0,()=>oWe,()=>sWe],AGe=[9,j,sBe,0,()=>xWe,()=>SWe],jGe=[9,j,cBe,0,()=>CWe,()=>wWe],MGe=[9,j,pBe,0,()=>TWe,()=>EWe],NGe=[9,j,gBe,0,()=>DWe,()=>OWe],PGe=[9,j,$Be,0,()=>NWe,()=>PWe],FGe=[9,j,eVe,0,()=>FWe,()=>IWe],IGe=[9,j,gVe,0,()=>VWe,()=>HWe],LGe=[9,j,hVe,0,()=>UWe,()=>WWe],RGe=e=>({apiVersion:`2015-12-01`,base64Decoder:e?.base64Decoder??qe,base64Encoder:e?.base64Encoder??_e,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??CIe,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??mIe,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new ge}],logger:e?.logger??new Ge,protocol:e?.protocol??ze,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.elasticloadbalancingv2`,errorTypeRegistries:hUe,xmlNamespace:`http://elasticloadbalancing.amazonaws.com/doc/2015-12-01/`,version:`2015-12-01`,serviceTarget:`ElasticLoadBalancing_v10`},serviceId:e?.serviceId??`Elastic Load Balancing v2`,sha256:e?.sha256??Ve,urlParser:e?.urlParser??Te,utf8Decoder:e?.utf8Decoder??lt,utf8Encoder:e?.utf8Encoder??ut}),zGe=e=>{let t=We(e),n=()=>t().then(ye),r=RGe(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Fe,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??ve({serviceId:r.serviceId,clientVersion:vIe.version}),maxAttempts:e?.maxAttempts??3,region:e?.region??De(`Region is missing`),requestHandler:Ce.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||ce),streamCollector:e?.streamCollector??Ie,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},BGe=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}}},VGe=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),HGe=(e,n)=>{let r=Object.assign(Ke(e),pe(e),je(e),BGe(e));return n.forEach(e=>e.configure(r)),Object.assign(e,t(r),he(r),be(r),VGe(r))},UGe=class extends i{config;constructor(...[e]){let t=zGe(e||{});super(t),this.initConfig=t;let n=gIe(t),i=oe(n),a=Qe(i),o=fe(a),s=Oe(o),c=HGe(hIe(Re(s)),e?.extensions||[]);this.config=c,this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(te(this.config)),this.middlewareStack.use(le(this.config)),this.middlewareStack.use(Ae(this.config)),this.middlewareStack.use(we(this.config)),this.middlewareStack.use(ae(this.config)),this.middlewareStack.use(Ee(this.config)),this.middlewareStack.use(r(this.config,{httpAuthSchemeParametersProvider:fIe,identityProviderConfigProvider:async e=>new de({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(xe(this.config))}destroy(){super.destroy()}},WGe=async(e,t,n)=>({operation:$e(t).operation,region:await ke(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function GGe(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`iam`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var KGe=e=>{let t=[];return e.operation,t.push(GGe(e)),t},qGe=e=>{let t=rt(e);return Object.assign(t,{authSchemePreference:ke(e.authSchemePreference??[])})},JGe=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:`iam`}),YGe={UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},XGe={name:`@aws-sdk/client-iam`,version:`3.1109.0`,description:`AWS SDK for JavaScript Iam Client for Node.js, Browser and React Native`,homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-iam`,license:`Apache-2.0`,author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/sdk-for-javascript/`},repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-iam`},files:[`dist-*/**`],sideEffects:!1,main:`./dist-cjs/index.js`,module:`./dist-es/index.js`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},types:`./dist-types/index.d.ts`,typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline`,"build:es":`premove dist-es && tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`premove dist-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`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service`,test:`yarn g:vitest run --passWithNoTests`,"test:watch":`yarn g:vitest watch --passWithNoTests`,"test:integration":`yarn g:vitest run --passWithNoTests -c vitest.config.integ.mts`,"test:integration:watch":`yarn g:vitest watch --passWithNoTests -c vitest.config.integ.mts`,"test:e2e":`yarn g:vitest run -c vitest.config.e2e.mts`,"test:e2e:watch":`yarn g:vitest watch -c vitest.config.e2e.mts`,"test:index":`tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs`},dependencies:{"@aws-sdk/core":`^3.977.7`,"@aws-sdk/credential-provider-node":`^3.972.79`,"@aws-sdk/types":`^3.974.3`,"@smithy/core":`^3.31.1`,"@smithy/fetch-http-handler":`^5.6.13`,"@smithy/node-http-handler":`^4.9.13`,"@smithy/types":`^4.16.1`,tslib:`^2.6.2`},devDependencies:{"@smithy/snapshot-testing":`^2.2.16`,"@tsconfig/node20":`20.1.8`,"@types/node":`^20.14.8`,concurrently:`7.0.0`,"downlevel-dts":`0.10.1`,premove:`4.0.0`,typescript:`~6.0.3`,vitest:`^4.0.17`},engines:{node:`>=20.0.0`}},K$=`ref`,q$=`authSchemes`,J$=`name`,Y$=`signingRegion`,X$=-1,Z$=!0,Q$=`isSet`,$$=`PartitionResult`,e1=`stringEquals`,t1=`booleanEquals`,n1=`getAttr`,r1={[K$]:`Endpoint`},i1={fn:n1,argv:[{[K$]:$$},`name`]},a1={[K$]:$$},o1={[q$]:[{[J$]:`sigv4`,[Y$]:`us-east-1`}]},s1={[q$]:[{[J$]:`sigv4`,[Y$]:`cn-north-1`}]},c1={[q$]:[{[J$]:`sigv4`,[Y$]:`us-gov-west-1`}]},l1={[q$]:[{[J$]:`sigv4`,[Y$]:`us-iso-east-1`}]},u1={[q$]:[{[J$]:`sigv4`,[Y$]:`us-isob-east-1`}]},d1={[q$]:[{[J$]:`sigv4`,[Y$]:`eu-isoe-west-1`}]},f1={[q$]:[{[J$]:`sigv4`,[Y$]:`us-isof-south-1`}]},p1={[q$]:[{[J$]:`sigv4`,[Y$]:`eusc-de-east-1`}]},m1={[q$]:[{[J$]:`sigv4`,[Y$]:`{PartitionResult#implicitGlobalRegion}`}]},h1=[{[K$]:`Region`}],g1={conditions:[[Q$,[r1]],[Q$,h1],[`aws.partition`,h1,$$],[e1,[i1,`aws`]],[e1,[i1,`aws-cn`]],[e1,[i1,`aws-us-gov`]],[e1,[i1,`aws-iso`]],[t1,[{[K$]:`UseFIPS`},Z$]],[t1,[{[K$]:`UseDualStack`},Z$]],[e1,[i1,`aws-iso-b`]],[e1,[i1,`aws-iso-e`]],[e1,[i1,`aws-iso-f`]],[e1,[i1,`aws-eusc`]],[t1,[{fn:n1,argv:[a1,`supportsDualStack`]},Z$]],[t1,[{fn:n1,argv:[a1,`supportsFIPS`]},Z$]]],results:[[X$],[X$,`Invalid Configuration: FIPS and custom endpoint are not supported`],[X$,`Invalid Configuration: Dualstack and custom endpoint are not supported`],[r1,{}],[`https://iam.amazonaws.com`,o1],[`https://iam-fips.amazonaws.com`,o1],[`https://iam.global.api.aws`,o1],[`https://iam-fips.global.api.aws`,o1],[`https://iam.global.api.amazonwebservices.com.cn`,s1],[`https://iam-fips.api.amazonwebservices.com.cn`,s1],[`https://iam.cn-north-1.amazonaws.com.cn`,s1],[`https://iam-fips.amazonaws.com.cn`,s1],[`https://iam.us-gov.api.aws`,c1],[`https://iam.us-gov.amazonaws.com`,c1],[`https://iam.us-iso-east-1.c2s.ic.gov`,l1],[`https://iam-fips.us-iso-east-1.c2s.ic.gov`,l1],[`https://iam.api.aws.ic.gov`,l1],[`https://iam-fips.api.aws.ic.gov`,l1],[`https://iam.us-isob-east-1.sc2s.sgov.gov`,u1],[`https://iam-fips.us-isob-east-1.sc2s.sgov.gov`,u1],[`https://iam.api.aws.scloud`,u1],[`https://iam-fips.api.aws.scloud`,u1],[`https://iam.eu-isoe-west-1.cloud.adc-e.uk`,d1],[`https://iam-fips.cloud.adc-e.uk`,d1],[`https://iam.api.cloud-aws.adc-e.uk`,d1],[`https://iam-fips.api.cloud-aws.adc-e.uk`,d1],[`https://iam.us-isof-south-1.csp.hci.ic.gov`,f1],[`https://iam-fips.csp.hci.ic.gov`,f1],[`https://iam.api.aws.hci.ic.gov`,f1],[`https://iam-fips.api.aws.hci.ic.gov`,f1],[`https://iam.eusc-de-east-1.amazonaws.eu`,p1],[`https://iam-fips.amazonaws.eu`,p1],[`https://iam.global.api.amazonwebservices.eu`,p1],[`https://iam-fips.api.amazonwebservices.eu`,p1],[`https://iam-fips.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dualStackDnsSuffix}`,m1],[X$,`FIPS and DualStack are enabled, but this partition does not support one or both`],[`https://iam-fips.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dnsSuffix}`,m1],[X$,`FIPS is enabled but this partition does not support FIPS`],[`https://iam.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dualStackDnsSuffix}`,m1],[X$,`DualStack is enabled but this partition does not support DualStack`],[`https://iam.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dnsSuffix}`,m1],[X$,`Invalid Configuration: Missing Region`]]},ZGe=2,QGe=new Int32Array([-1,1,-1,0,42,3,1,4,100000041,2,5,100000041,3,39,6,4,36,7,5,35,8,6,32,9,7,20,10,8,15,11,9,100000018,12,10,100000022,13,11,100000026,14,12,100000030,100000040,9,100000020,16,10,100000024,17,11,100000028,18,12,100000032,19,13,100000038,100000039,8,26,21,9,100000019,22,10,100000023,23,11,100000027,24,12,100000031,25,14,100000036,100000037,9,100000021,27,10,100000025,28,11,100000029,29,12,100000033,30,13,31,100000035,14,100000034,100000035,7,34,33,8,100000016,100000014,8,100000017,100000015,8,100000012,100000013,7,38,37,8,100000008,100000010,8,100000009,100000011,7,41,40,8,100000006,100000004,8,100000007,100000005,7,100000001,43,8,100000002,100000003]),$Ge=Be.from(QGe,ZGe,g1.conditions,g1.results),eKe=new He({size:50,params:[`Endpoint`,`Region`,`UseDualStack`,`UseFIPS`]}),tKe=(e,t={})=>eKe.get(e,()=>Ze($Ge,{endpointParams:e,logger:t.logger}));Ye.aws=me;var N=class e extends ne{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},nKe=class e extends N{name=`ConcurrentModificationException`;$fault=`client`;constructor(t){super({name:`ConcurrentModificationException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},rKe=class e extends N{name=`NoSuchEntityException`;$fault=`client`;constructor(t){super({name:`NoSuchEntityException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},iKe=class e extends N{name=`ServiceFailureException`;$fault=`server`;constructor(t){super({name:`ServiceFailureException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype)}},aKe=class e extends N{name=`AccountNotManagementOrDelegatedAdministratorException`;$fault=`client`;Message;constructor(t){super({name:`AccountNotManagementOrDelegatedAdministratorException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},oKe=class e extends N{name=`EntityAlreadyExistsException`;$fault=`client`;constructor(t){super({name:`EntityAlreadyExistsException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},sKe=class e extends N{name=`InvalidInputException`;$fault=`client`;constructor(t){super({name:`InvalidInputException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},cKe=class e extends N{name=`LimitExceededException`;$fault=`client`;constructor(t){super({name:`LimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},lKe=class e extends N{name=`MalformedPolicyDocumentException`;$fault=`client`;constructor(t){super({name:`MalformedPolicyDocumentException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},uKe=class e extends N{name=`NameConflictException`;$fault=`client`;constructor(t){super({name:`NameConflictException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},dKe=class e extends N{name=`RoleModifiedException`;$fault=`client`;constructor(t){super({name:`RoleModifiedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},fKe=class e extends N{name=`RoleTemplateDisabledException`;$fault=`client`;constructor(t){super({name:`RoleTemplateDisabledException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},pKe=class e extends N{name=`UnmodifiableEntityException`;$fault=`client`;constructor(t){super({name:`UnmodifiableEntityException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},mKe=class e extends N{name=`PolicyNotAttachableException`;$fault=`client`;constructor(t){super({name:`PolicyNotAttachableException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},hKe=class e extends N{name=`EntityTemporarilyUnmodifiableException`;$fault=`client`;constructor(t){super({name:`EntityTemporarilyUnmodifiableException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},gKe=class e extends N{name=`InvalidUserTypeException`;$fault=`client`;constructor(t){super({name:`InvalidUserTypeException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},_Ke=class e extends N{name=`PasswordPolicyViolationException`;$fault=`client`;constructor(t){super({name:`PasswordPolicyViolationException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},vKe=class e extends N{name=`OpenIdIdpCommunicationErrorException`;$fault=`client`;constructor(t){super({name:`OpenIdIdpCommunicationErrorException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},yKe=class e extends N{name=`ServiceNotSupportedException`;$fault=`client`;constructor(t){super({name:`ServiceNotSupportedException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},bKe=class e extends N{name=`DeleteConflictException`;$fault=`client`;constructor(t){super({name:`DeleteConflictException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},xKe=class e extends N{name=`OrganizationNotFoundException`;$fault=`client`;Message;constructor(t){super({name:`OrganizationNotFoundException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},SKe=class e extends N{name=`OrganizationNotInAllFeaturesModeException`;$fault=`client`;Message;constructor(t){super({name:`OrganizationNotInAllFeaturesModeException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},CKe=class e extends N{name=`ServiceAccessNotEnabledException`;$fault=`client`;Message;constructor(t){super({name:`ServiceAccessNotEnabledException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},wKe=class e extends N{name=`FeatureDisabledException`;$fault=`client`;constructor(t){super({name:`FeatureDisabledException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},TKe=class e extends N{name=`InvalidAuthenticationCodeException`;$fault=`client`;constructor(t){super({name:`InvalidAuthenticationCodeException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},EKe=class e extends N{name=`CallerIsNotManagementAccountException`;$fault=`client`;Message;constructor(t){super({name:`CallerIsNotManagementAccountException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype),this.Message=t.Message}},DKe=class e extends N{name=`FeatureEnabledException`;$fault=`client`;constructor(t){super({name:`FeatureEnabledException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},OKe=class e extends N{name=`ReportGenerationLimitExceededException`;$fault=`client`;constructor(t){super({name:`ReportGenerationLimitExceededException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},kKe=class e extends N{name=`CredentialReportExpiredException`;$fault=`client`;constructor(t){super({name:`CredentialReportExpiredException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},AKe=class e extends N{name=`CredentialReportNotPresentException`;$fault=`client`;constructor(t){super({name:`CredentialReportNotPresentException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},jKe=class e extends N{name=`CredentialReportNotReadyException`;$fault=`client`;constructor(t){super({name:`CredentialReportNotReadyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},MKe=class e extends N{name=`UnrecognizedPublicKeyEncodingException`;$fault=`client`;constructor(t){super({name:`UnrecognizedPublicKeyEncodingException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},NKe=class e extends N{name=`PolicyEvaluationException`;$fault=`server`;constructor(t){super({name:`PolicyEvaluationException`,$fault:`server`,...t}),Object.setPrototypeOf(this,e.prototype)}},PKe=class e extends N{name=`KeyPairMismatchException`;$fault=`client`;constructor(t){super({name:`KeyPairMismatchException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},FKe=class e extends N{name=`MalformedCertificateException`;$fault=`client`;constructor(t){super({name:`MalformedCertificateException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},IKe=class e extends N{name=`DuplicateCertificateException`;$fault=`client`;constructor(t){super({name:`DuplicateCertificateException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},LKe=class e extends N{name=`InvalidCertificateException`;$fault=`client`;constructor(t){super({name:`InvalidCertificateException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},RKe=class e extends N{name=`DuplicateSSHPublicKeyException`;$fault=`client`;constructor(t){super({name:`DuplicateSSHPublicKeyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},zKe=class e extends N{name=`InvalidPublicKeyException`;$fault=`client`;constructor(t){super({name:`InvalidPublicKeyException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},_1=`Arn`,BKe=`AttachmentCount`,VKe=`AttachGroupPolicy`,HKe=`AttachGroupPolicyRequest`,v1=`AccessKey`,y1=`AccessKeyId`,b1=`AccessKeyMetadata`,UKe=`AccountNotManagementOrDelegatedAdministratorException`,WKe=`AttachedPolicy`,GKe=`AttachedPermissionsBoundary`,x1=`AttachedPolicies`,KKe=`AttachRolePolicy`,S1=`AssumeRolePolicyDocument`,qKe=`AttachRolePolicyRequest`,JKe=`AddRoleToInstanceProfile`,YKe=`AddRoleToInstanceProfileRequest`,XKe=`AttachUserPolicy`,ZKe=`AttachUserPolicyRequest`,QKe=`AddUserToGroup`,$Ke=`AddUserToGroupRequest`,eqe=`CreateAccessKey`,tqe=`CreateAccessKeyRequest`,nqe=`CreateAccessKeyResponse`,C1=`CreateDate`,rqe=`CreateGroup`,iqe=`CreateGroupRequest`,aqe=`CreateGroupResponse`,oqe=`CallerIsNotManagementAccountException`,sqe=`CreateInstanceProfile`,cqe=`CreateInstanceProfileRequest`,lqe=`CreateInstanceProfileResponse`,uqe=`ConcurrentModificationException`,dqe=`CreatePolicyRequest`,fqe=`CreatePolicyResponse`,pqe=`CreatePolicy`,mqe=`CreateRole`,hqe=`CredentialReportExpiredException`,gqe=`CredentialReportNotPresentException`,_qe=`CredentialReportNotReadyException`,vqe=`CreateRoleRequest`,yqe=`CreateRoleResponse`,bqe=`CreateUser`,xqe=`CreateUserRequest`,Sqe=`CreateUserResponse`,w1=`Description`,Cqe=`DeleteAccessKey`,wqe=`DeleteAccessKeyRequest`,Tqe=`DeleteConflictException`,Eqe=`DuplicateCertificateException`,Dqe=`DeleteGroup`,Oqe=`DeleteGroupPolicy`,kqe=`DeleteGroupPolicyRequest`,Aqe=`DetachGroupPolicyRequest`,jqe=`DetachGroupPolicy`,Mqe=`DeleteGroupRequest`,Nqe=`DeleteInstanceProfile`,Pqe=`DeleteInstanceProfileRequest`,Fqe=`DeletePolicyRequest`,Iqe=`DeletePolicy`,Lqe=`DeleteRolePolicy`,Rqe=`DeleteRolePolicyRequest`,zqe=`DetachRolePolicyRequest`,Bqe=`DetachRolePolicy`,Vqe=`DeleteRoleRequest`,Hqe=`DeleteRole`,Uqe=`DuplicateSSHPublicKeyException`,Wqe=`DeleteUser`,Gqe=`DeleteUserPolicy`,Kqe=`DeleteUserPolicyRequest`,qqe=`DetachUserPolicyRequest`,Jqe=`DetachUserPolicy`,Yqe=`DeleteUserRequest`,Xqe=`DefaultVersionId`,Zqe=`Document`,Qqe=`EntityAlreadyExistsException`,$qe=`EntityTemporarilyUnmodifiableException`,eJe=`FeatureDisabledException`,tJe=`FeatureEnabledException`,T1=`Group`,nJe=`GetGroup`,rJe=`GetGroupPolicy`,iJe=`GetGroupPolicyRequest`,aJe=`GetGroupPolicyResponse`,oJe=`GetGroupRequest`,sJe=`GetGroupResponse`,cJe=`GroupId`,lJe=`GetInstanceProfile`,uJe=`GetInstanceProfileRequest`,dJe=`GetInstanceProfileResponse`,E1=`GroupName`,fJe=`GetPolicy`,pJe=`GetPolicyRequest`,mJe=`GetPolicyResponse`,hJe=`GetPolicyVersion`,gJe=`GetPolicyVersionRequest`,_Je=`GetPolicyVersionResponse`,vJe=`GetRole`,yJe=`GetRolePolicy`,bJe=`GetRolePolicyRequest`,xJe=`GetRolePolicyResponse`,SJe=`GetRoleRequest`,CJe=`GetRoleResponse`,wJe=`GetUser`,TJe=`GetUserPolicy`,EJe=`GetUserPolicyRequest`,DJe=`GetUserPolicyResponse`,OJe=`GetUserRequest`,kJe=`GetUserResponse`,D1=`Groups`,AJe=`IsAttachable`,jJe=`InvalidAuthenticationCodeException`,MJe=`InvalidCertificateException`,NJe=`IsDefaultVersion`,PJe=`InvalidInputException`,O1=`InstanceProfile`,FJe=`InstanceProfileId`,IJe=`InvalidPublicKeyException`,k1=`InstanceProfileName`,A1=`InstanceProfiles`,j1=`IsTruncated`,LJe=`InvalidUserTypeException`,RJe=`Key`,zJe=`KeyPairMismatchException`,BJe=`ListAttachedGroupPolicies`,VJe=`ListAttachedGroupPoliciesRequest`,HJe=`ListAttachedGroupPoliciesResponse`,UJe=`ListAccessKeys`,WJe=`ListAccessKeysRequest`,GJe=`ListAccessKeysResponse`,KJe=`ListAttachedRolePolicies`,qJe=`ListAttachedRolePoliciesRequest`,JJe=`ListAttachedRolePoliciesResponse`,YJe=`ListAttachedUserPolicies`,XJe=`ListAttachedUserPoliciesRequest`,ZJe=`ListAttachedUserPoliciesResponse`,QJe=`LimitExceededException`,$Je=`ListGroups`,eYe=`ListGroupsForUser`,tYe=`ListGroupsForUserRequest`,nYe=`ListGroupsForUserResponse`,rYe=`ListGroupPolicies`,iYe=`ListGroupPoliciesRequest`,aYe=`ListGroupPoliciesResponse`,oYe=`ListGroupsRequest`,sYe=`ListGroupsResponse`,cYe=`ListInstanceProfiles`,lYe=`ListInstanceProfilesForRole`,uYe=`ListInstanceProfilesForRoleRequest`,dYe=`ListInstanceProfilesForRoleResponse`,fYe=`ListInstanceProfilesRequest`,pYe=`ListInstanceProfilesResponse`,mYe=`ListPoliciesRequest`,hYe=`ListPoliciesResponse`,gYe=`ListPolicies`,_Ye=`ListRoles`,vYe=`ListRolePolicies`,yYe=`ListRolePoliciesRequest`,bYe=`ListRolePoliciesResponse`,xYe=`ListRolesRequest`,SYe=`ListRolesResponse`,CYe=`ListUsers`,wYe=`LastUsedDate`,TYe=`ListUserPolicies`,EYe=`ListUserPoliciesRequest`,DYe=`ListUserPoliciesResponse`,OYe=`ListUsersRequest`,kYe=`ListUsersResponse`,M1=`Message`,AYe=`MalformedCertificateException`,N1=`MaxItems`,jYe=`MalformedPolicyDocumentException`,P1=`MaxSessionDuration`,F1=`Marker`,MYe=`NameConflictException`,NYe=`NoSuchEntityException`,PYe=`OnlyAttached`,FYe=`OpenIdIdpCommunicationErrorException`,IYe=`OrganizationNotFoundException`,LYe=`OrganizationNotInAllFeaturesModeException`,I1=`PolicyArn`,L1=`PermissionsBoundary`,RYe=`PermissionsBoundaryArn`,zYe=`PermissionsBoundaryType`,BYe=`PermissionsBoundaryUsageCount`,R1=`PolicyDocument`,VYe=`PolicyEvaluationException`,HYe=`PutGroupPolicy`,UYe=`PutGroupPolicyRequest`,WYe=`PolicyId`,GYe=`PasswordLastUsed`,z1=`PolicyName`,KYe=`PolicyNotAttachableException`,B1=`PolicyNames`,qYe=`PasswordPolicyViolationException`,V1=`PathPrefix`,JYe=`PutRolePolicyRequest`,YYe=`PutRolePolicy`,XYe=`PolicyUsageFilter`,ZYe=`PutUserPolicy`,QYe=`PutUserPolicyRequest`,H1=`PolicyVersion`,U1=`Path`,W1=`Policy`,$Ye=`Policies`,eXe=`Region`,tXe=`ReportGenerationLimitExceededException`,nXe=`RoleId`,G1=`RoleLastUsed`,rXe=`RoleModifiedException`,K1=`RoleName`,iXe=`RemoveRoleFromInstanceProfile`,aXe=`RemoveRoleFromInstanceProfileRequest`,oXe=`RoleTemplateDisabledException`,sXe=`RemoveUserFromGroup`,cXe=`RemoveUserFromGroupRequest`,q1=`Role`,J1=`Roles`,Y1=`Status`,lXe=`SecretAccessKey`,uXe=`ServiceAccessNotEnabledException`,dXe=`ServiceFailureException`,fXe=`ServiceNotSupportedException`,X1=`SourceRoleTemplate`,pXe=`Scope`,Z1=`Tags`,mXe=`TemplateArn`,hXe=`TemplateMinorVersion`,gXe=`Tag`,_Xe=`UpdateAccessKey`,vXe=`UpdateAccessKeyRequest`,yXe=`UpdateDate`,bXe=`UnmodifiableEntityException`,xXe=`UserId`,Q1=`UserName`,SXe=`UnrecognizedPublicKeyEncodingException`,$1=`User`,e0=`Users`,t0=`VersionId`,CXe=`Value`,wXe=`accessKeyMetadataListType`,TXe=`accessKeySecretType`,EXe=`attachedPoliciesListType`,P=`awsQueryError`,F=`client`,I=`error`,DXe=`groupListType`,L=`httpError`,OXe=`instanceProfileListType`,R=`message`,kXe=`policyListType`,AXe=`roleListType`,n0=`smithy.ts.sdk.synthetic.com.amazonaws.iam`,r0=`server`,jXe=`tagListType`,MXe=`userListType`,z=`com.amazonaws.iam`,i0=ct.for(n0),NXe=[-3,n0,`IAMServiceException`,0,[],[]];i0.registerError(NXe,N);var B=ct.for(z),PXe=[-3,z,UKe,{[I]:F,[L]:400},[M1],[0]];B.registerError(PXe,aKe);var FXe=[-3,z,oqe,{[I]:F,[L]:400},[M1],[0]];B.registerError(FXe,EKe);var IXe=[-3,z,uqe,{[P]:[`ConcurrentModification`,409],[I]:F,[L]:409},[R],[0]];B.registerError(IXe,nKe);var LXe=[-3,z,hqe,{[P]:[`ReportExpired`,410],[I]:F,[L]:410},[R],[0]];B.registerError(LXe,kKe);var RXe=[-3,z,gqe,{[P]:[`ReportNotPresent`,410],[I]:F,[L]:410},[R],[0]];B.registerError(RXe,AKe);var zXe=[-3,z,_qe,{[P]:[`ReportInProgress`,404],[I]:F,[L]:404},[R],[0]];B.registerError(zXe,jKe);var BXe=[-3,z,Tqe,{[P]:[`DeleteConflict`,409],[I]:F,[L]:409},[R],[0]];B.registerError(BXe,bKe);var VXe=[-3,z,Eqe,{[P]:[`DuplicateCertificate`,409],[I]:F,[L]:409},[R],[0]];B.registerError(VXe,IKe);var HXe=[-3,z,Uqe,{[P]:[`DuplicateSSHPublicKey`,400],[I]:F,[L]:400},[R],[0]];B.registerError(HXe,RKe);var UXe=[-3,z,Qqe,{[P]:[`EntityAlreadyExists`,409],[I]:F,[L]:409},[R],[0]];B.registerError(UXe,oKe);var WXe=[-3,z,$qe,{[P]:[`EntityTemporarilyUnmodifiable`,409],[I]:F,[L]:409},[R],[0]];B.registerError(WXe,hKe);var GXe=[-3,z,eJe,{[P]:[`FeatureDisabled`,404],[I]:F,[L]:404},[R],[0]];B.registerError(GXe,wKe);var KXe=[-3,z,tJe,{[P]:[`FeatureEnabled`,409],[I]:F,[L]:409},[R],[0]];B.registerError(KXe,DKe);var qXe=[-3,z,jJe,{[P]:[`InvalidAuthenticationCode`,403],[I]:F,[L]:403},[R],[0]];B.registerError(qXe,TKe);var JXe=[-3,z,MJe,{[P]:[`InvalidCertificate`,400],[I]:F,[L]:400},[R],[0]];B.registerError(JXe,LKe);var YXe=[-3,z,PJe,{[P]:[`InvalidInput`,400],[I]:F,[L]:400},[R],[0]];B.registerError(YXe,sKe);var XXe=[-3,z,IJe,{[P]:[`InvalidPublicKey`,400],[I]:F,[L]:400},[R],[0]];B.registerError(XXe,zKe);var ZXe=[-3,z,LJe,{[P]:[`InvalidUserType`,400],[I]:F,[L]:400},[R],[0]];B.registerError(ZXe,gKe);var QXe=[-3,z,zJe,{[P]:[`KeyPairMismatch`,400],[I]:F,[L]:400},[R],[0]];B.registerError(QXe,PKe);var $Xe=[-3,z,QJe,{[P]:[`LimitExceeded`,409],[I]:F,[L]:409},[R],[0]];B.registerError($Xe,cKe);var eZe=[-3,z,AYe,{[P]:[`MalformedCertificate`,400],[I]:F,[L]:400},[R],[0]];B.registerError(eZe,FKe);var tZe=[-3,z,jYe,{[P]:[`MalformedPolicyDocument`,400],[I]:F,[L]:400},[R],[0]];B.registerError(tZe,lKe);var nZe=[-3,z,MYe,{[P]:[`NameConflict`,409],[I]:F,[L]:409},[R],[0]];B.registerError(nZe,uKe);var rZe=[-3,z,NYe,{[P]:[`NoSuchEntity`,404],[I]:F,[L]:404},[R],[0]];B.registerError(rZe,rKe);var iZe=[-3,z,FYe,{[P]:[`OpenIdIdpCommunicationError`,400],[I]:F,[L]:400},[R],[0]];B.registerError(iZe,vKe);var aZe=[-3,z,IYe,{[I]:F,[L]:400},[M1],[0]];B.registerError(aZe,xKe);var oZe=[-3,z,LYe,{[I]:F,[L]:400},[M1],[0]];B.registerError(oZe,SKe);var sZe=[-3,z,qYe,{[P]:[`PasswordPolicyViolation`,400],[I]:F,[L]:400},[R],[0]];B.registerError(sZe,_Ke);var cZe=[-3,z,VYe,{[P]:[`PolicyEvaluation`,500],[I]:r0,[L]:500},[R],[0]];B.registerError(cZe,NKe);var lZe=[-3,z,KYe,{[P]:[`PolicyNotAttachable`,400],[I]:F,[L]:400},[R],[0]];B.registerError(lZe,mKe);var uZe=[-3,z,tXe,{[P]:[`ReportGenerationLimitExceeded`,409],[I]:F,[L]:409},[R],[0]];B.registerError(uZe,OKe);var dZe=[-3,z,rXe,{[P]:[`RoleModified`,409],[I]:F,[L]:409},[R],[0]];B.registerError(dZe,dKe);var fZe=[-3,z,oXe,{[P]:[`RoleTemplateDisabled`,400],[I]:F,[L]:400},[R],[0]];B.registerError(fZe,fKe);var pZe=[-3,z,uXe,{[I]:F,[L]:400},[M1],[0]];B.registerError(pZe,CKe);var mZe=[-3,z,dXe,{[P]:[`ServiceFailure`,500],[I]:r0,[L]:500},[R],[0]];B.registerError(mZe,iKe);var hZe=[-3,z,fXe,{[P]:[`NotSupportedService`,404],[I]:F,[L]:404},[R],[0]];B.registerError(hZe,yKe);var gZe=[-3,z,bXe,{[P]:[`UnmodifiableEntity`,400],[I]:F,[L]:400},[R],[0]];B.registerError(gZe,pKe);var _Ze=[-3,z,SXe,{[P]:[`UnrecognizedPublicKeyEncoding`,400],[I]:F,[L]:400},[R],[0]];B.registerError(_Ze,MKe);var vZe=[i0,B],yZe=[0,z,TXe,8,0],bZe=[3,z,v1,0,[Q1,y1,Y1,lXe,C1],[0,0,0,[()=>yZe,0],4],4],xZe=[3,z,b1,0,[Q1,y1,Y1,C1],[0,0,0,4]],SZe=[3,z,YKe,0,[k1,K1],[0,0],2],CZe=[3,z,$Ke,0,[E1,Q1],[0,0],2],a0=[3,z,GKe,0,[zYe,RYe],[0,0]],wZe=[3,z,WKe,0,[z1,I1],[0,0]],TZe=[3,z,HKe,0,[E1,I1],[0,0],2],EZe=[3,z,qKe,0,[K1,I1],[0,0],2],DZe=[3,z,ZKe,0,[Q1,I1],[0,0],2],OZe=[3,z,tqe,0,[Q1],[0]],kZe=[3,z,nqe,0,[v1],[[()=>bZe,0]],1],AZe=[3,z,iqe,0,[E1,U1],[0,0],1],jZe=[3,z,aqe,0,[T1],[()=>o0],1],MZe=[3,z,cqe,0,[k1,U1,Z1],[0,0,()=>g0],1],NZe=[3,z,lqe,0,[O1],[()=>s0],1],PZe=[3,z,dqe,0,[z1,R1,U1,w1,Z1],[0,0,0,0,()=>g0],2],FZe=[3,z,fqe,0,[W1],[()=>c0]],IZe=[3,z,vqe,0,[K1,S1,U1,w1,P1,L1,Z1],[0,0,0,0,1,0,()=>g0],2],LZe=[3,z,yqe,0,[q1],[()=>l0],1],RZe=[3,z,xqe,0,[Q1,U1,L1,Z1],[0,0,0,()=>g0],1],zZe=[3,z,Sqe,0,[$1],[()=>u0]],BZe=[3,z,wqe,0,[y1,Q1],[0,0],1],VZe=[3,z,kqe,0,[E1,z1],[0,0],2],HZe=[3,z,Mqe,0,[E1],[0],1],UZe=[3,z,Pqe,0,[k1],[0],1],WZe=[3,z,Fqe,0,[I1],[0],1],GZe=[3,z,Rqe,0,[K1,z1],[0,0],2],KZe=[3,z,Vqe,0,[K1],[0],1],qZe=[3,z,Kqe,0,[Q1,z1],[0,0],2],JZe=[3,z,Yqe,0,[Q1],[0],1],YZe=[3,z,Aqe,0,[E1,I1],[0,0],2],XZe=[3,z,zqe,0,[K1,I1],[0,0],2],ZZe=[3,z,qqe,0,[Q1,I1],[0,0],2],QZe=[3,z,iJe,0,[E1,z1],[0,0],2],$Ze=[3,z,aJe,0,[E1,z1,R1],[0,0,0],3],eQe=[3,z,oJe,0,[E1,F1,N1],[0,0,1],1],tQe=[3,z,sJe,0,[T1,e0,j1,F1],[()=>o0,()=>_0,2,0],2],nQe=[3,z,uJe,0,[k1],[0],1],rQe=[3,z,dJe,0,[O1],[()=>s0],1],iQe=[3,z,pJe,0,[I1],[0],1],aQe=[3,z,mJe,0,[W1],[()=>c0]],oQe=[3,z,gJe,0,[I1,t0],[0,0],2],sQe=[3,z,_Je,0,[H1],[()=>WQe]],cQe=[3,z,bJe,0,[K1,z1],[0,0],2],lQe=[3,z,xJe,0,[K1,z1,R1],[0,0,0],3],uQe=[3,z,SJe,0,[K1],[0],1],dQe=[3,z,CJe,0,[q1],[()=>l0],1],fQe=[3,z,EJe,0,[Q1,z1],[0,0],2],pQe=[3,z,DJe,0,[Q1,z1,R1],[0,0,0],3],mQe=[3,z,OJe,0,[Q1],[0]],hQe=[3,z,kJe,0,[$1],[()=>u0],1],o0=[3,z,T1,0,[U1,E1,cJe,_1,C1],[0,0,0,0,4],5],s0=[3,z,O1,0,[U1,k1,FJe,_1,C1,J1,Z1],[0,0,0,0,4,()=>h0,()=>g0],6],gQe=[3,z,WJe,0,[Q1,F1,N1],[0,0,1]],_Qe=[3,z,GJe,0,[b1,j1,F1],[()=>e$e,2,0],1],vQe=[3,z,VJe,0,[E1,V1,F1,N1],[0,0,0,1],1],yQe=[3,z,HJe,0,[x1,j1,F1],[()=>f0,2,0]],bQe=[3,z,qJe,0,[K1,V1,F1,N1],[0,0,0,1],1],xQe=[3,z,JJe,0,[x1,j1,F1],[()=>f0,2,0]],SQe=[3,z,XJe,0,[Q1,V1,F1,N1],[0,0,0,1],1],CQe=[3,z,ZJe,0,[x1,j1,F1],[()=>f0,2,0]],wQe=[3,z,iYe,0,[E1,F1,N1],[0,0,1],1],TQe=[3,z,aYe,0,[B1,j1,F1],[64,2,0],1],EQe=[3,z,tYe,0,[Q1,F1,N1],[0,0,1],1],DQe=[3,z,nYe,0,[D1,j1,F1],[()=>p0,2,0],1],OQe=[3,z,oYe,0,[V1,F1,N1],[0,0,1]],kQe=[3,z,sYe,0,[D1,j1,F1],[()=>p0,2,0],1],AQe=[3,z,uYe,0,[K1,F1,N1],[0,0,1],1],jQe=[3,z,dYe,0,[A1,j1,F1],[()=>m0,2,0],1],MQe=[3,z,fYe,0,[V1,F1,N1],[0,0,1]],NQe=[3,z,pYe,0,[A1,j1,F1],[()=>m0,2,0],1],PQe=[3,z,mYe,0,[pXe,PYe,V1,XYe,F1,N1],[0,2,0,0,0,1]],FQe=[3,z,hYe,0,[$Ye,j1,F1],[()=>t$e,2,0]],IQe=[3,z,yYe,0,[K1,F1,N1],[0,0,1],1],LQe=[3,z,bYe,0,[B1,j1,F1],[64,2,0],1],RQe=[3,z,xYe,0,[V1,F1,N1],[0,0,1]],zQe=[3,z,SYe,0,[J1,j1,F1],[()=>h0,2,0],1],BQe=[3,z,EYe,0,[Q1,F1,N1],[0,0,1],1],VQe=[3,z,DYe,0,[B1,j1,F1],[64,2,0],1],HQe=[3,z,OYe,0,[V1,F1,N1],[0,0,1]],UQe=[3,z,kYe,0,[e0,j1,F1],[()=>_0,2,0],1],c0=[3,z,W1,0,[z1,WYe,_1,U1,Xqe,BKe,BYe,AJe,w1,C1,yXe,Z1],[0,0,0,0,0,1,1,2,0,4,4,()=>g0]],WQe=[3,z,H1,0,[Zqe,t0,NJe,C1],[0,0,2,4]],GQe=[3,z,UYe,0,[E1,z1,R1],[0,0,0],3],KQe=[3,z,JYe,0,[K1,z1,R1],[0,0,0],3],qQe=[3,z,QYe,0,[Q1,z1,R1],[0,0,0],3],JQe=[3,z,aXe,0,[k1,K1],[0,0],2],YQe=[3,z,cXe,0,[E1,Q1],[0,0],2],l0=[3,z,q1,0,[U1,K1,nXe,_1,C1,S1,w1,P1,L1,Z1,G1,X1],[0,0,0,0,4,0,0,1,()=>a0,()=>g0,()=>XQe,()=>ZQe],5],XQe=[3,z,G1,0,[wYe,eXe],[4,0]],ZQe=[3,z,X1,0,[mXe,hXe],[0,1],2],QQe=[3,z,gXe,0,[RJe,CXe],[0,0],2],$Qe=[3,z,vXe,0,[y1,Y1,Q1],[0,0,0],2],u0=[3,z,$1,0,[U1,Q1,xXe,_1,C1,GYe,L1,Z1],[0,0,0,0,4,4,()=>a0,()=>g0],5],d0=`unit`,e$e=[1,z,wXe,0,()=>xZe],f0=[1,z,EXe,0,()=>wZe],p0=[1,z,DXe,0,()=>o0],m0=[1,z,OXe,0,()=>s0],t$e=[1,z,kXe,0,()=>c0],h0=[1,z,AXe,0,()=>l0],g0=[1,z,jXe,0,()=>QQe],_0=[1,z,MXe,0,()=>u0],n$e=[9,z,JKe,0,()=>SZe,()=>d0],r$e=[9,z,QKe,0,()=>CZe,()=>d0],i$e=[9,z,VKe,0,()=>TZe,()=>d0],a$e=[9,z,KKe,0,()=>EZe,()=>d0],o$e=[9,z,XKe,0,()=>DZe,()=>d0],s$e=[9,z,eqe,0,()=>OZe,()=>kZe],c$e=[9,z,rqe,0,()=>AZe,()=>jZe],l$e=[9,z,sqe,0,()=>MZe,()=>NZe],u$e=[9,z,pqe,0,()=>PZe,()=>FZe],d$e=[9,z,mqe,0,()=>IZe,()=>LZe],f$e=[9,z,bqe,0,()=>RZe,()=>zZe],p$e=[9,z,Cqe,0,()=>BZe,()=>d0],m$e=[9,z,Dqe,0,()=>HZe,()=>d0],h$e=[9,z,Oqe,0,()=>VZe,()=>d0],g$e=[9,z,Nqe,0,()=>UZe,()=>d0],_$e=[9,z,Iqe,0,()=>WZe,()=>d0],v$e=[9,z,Hqe,0,()=>KZe,()=>d0],y$e=[9,z,Lqe,0,()=>GZe,()=>d0],b$e=[9,z,Wqe,0,()=>JZe,()=>d0],x$e=[9,z,Gqe,0,()=>qZe,()=>d0],S$e=[9,z,jqe,0,()=>YZe,()=>d0],C$e=[9,z,Bqe,0,()=>XZe,()=>d0],w$e=[9,z,Jqe,0,()=>ZZe,()=>d0],T$e=[9,z,nJe,0,()=>eQe,()=>tQe],E$e=[9,z,rJe,0,()=>QZe,()=>$Ze],D$e=[9,z,lJe,0,()=>nQe,()=>rQe],O$e=[9,z,fJe,0,()=>iQe,()=>aQe],k$e=[9,z,hJe,0,()=>oQe,()=>sQe],A$e=[9,z,vJe,0,()=>uQe,()=>dQe],j$e=[9,z,yJe,0,()=>cQe,()=>lQe],M$e=[9,z,wJe,0,()=>mQe,()=>hQe],N$e=[9,z,TJe,0,()=>fQe,()=>pQe],P$e=[9,z,UJe,0,()=>gQe,()=>_Qe],F$e=[9,z,BJe,0,()=>vQe,()=>yQe],I$e=[9,z,KJe,0,()=>bQe,()=>xQe],L$e=[9,z,YJe,0,()=>SQe,()=>CQe],R$e=[9,z,rYe,0,()=>wQe,()=>TQe],z$e=[9,z,$Je,0,()=>OQe,()=>kQe],B$e=[9,z,eYe,0,()=>EQe,()=>DQe],V$e=[9,z,cYe,0,()=>MQe,()=>NQe],H$e=[9,z,lYe,0,()=>AQe,()=>jQe],U$e=[9,z,gYe,0,()=>PQe,()=>FQe],W$e=[9,z,vYe,0,()=>IQe,()=>LQe],G$e=[9,z,_Ye,0,()=>RQe,()=>zQe],K$e=[9,z,TYe,0,()=>BQe,()=>VQe],q$e=[9,z,CYe,0,()=>HQe,()=>UQe],J$e=[9,z,HYe,0,()=>GQe,()=>d0],Y$e=[9,z,YYe,0,()=>KQe,()=>d0],X$e=[9,z,ZYe,0,()=>qQe,()=>d0],Z$e=[9,z,iXe,0,()=>JQe,()=>d0],Q$e=[9,z,sXe,0,()=>YQe,()=>d0],$$e=[9,z,_Xe,0,()=>$Qe,()=>d0],e1e=e=>({apiVersion:`2010-05-08`,base64Decoder:e?.base64Decoder??qe,base64Encoder:e?.base64Encoder??_e,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??tKe,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??KGe,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new ge}],logger:e?.logger??new Ge,protocol:e?.protocol??ze,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.iam`,errorTypeRegistries:vZe,xmlNamespace:`https://iam.amazonaws.com/doc/2010-05-08/`,version:`2010-05-08`,serviceTarget:`AWSIdentityManagementV20100508`},serviceId:e?.serviceId??`IAM`,sha256:e?.sha256??Ve,urlParser:e?.urlParser??Te,utf8Decoder:e?.utf8Decoder??lt,utf8Encoder:e?.utf8Encoder??ut}),t1e=e=>{let t=We(e),n=()=>t().then(ye),r=e1e(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Fe,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??ve({serviceId:r.serviceId,clientVersion:XGe.version}),maxAttempts:e?.maxAttempts??3,region:e?.region??De(`Region is missing`),requestHandler:Ce.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||ce),streamCollector:e?.streamCollector??Ie,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},n1e=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}}},r1e=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),i1e=(e,n)=>{let r=Object.assign(Ke(e),pe(e),je(e),n1e(e));return n.forEach(e=>e.configure(r)),Object.assign(e,t(r),he(r),be(r),r1e(r))},a1e=class extends i{config;constructor(...[e]){let t=t1e(e||{});super(t),this.initConfig=t;let n=JGe(t),i=oe(n),a=Qe(i),o=fe(a),s=Oe(o),c=i1e(qGe(Re(s)),e?.extensions||[]);this.config=c,this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(te(this.config)),this.middlewareStack.use(le(this.config)),this.middlewareStack.use(Ae(this.config)),this.middlewareStack.use(we(this.config)),this.middlewareStack.use(ae(this.config)),this.middlewareStack.use(Ee(this.config)),this.middlewareStack.use(r(this.config,{httpAuthSchemeParametersProvider:WGe,identityProviderConfigProvider:async e=>new de({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(xe(this.config))}destroy(){super.destroy()}},o1e=async(e,t,n)=>({operation:$e(t).operation,region:await ke(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function s1e(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`rds`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var c1e=e=>{let t=[];return e.operation,t.push(s1e(e)),t},l1e=e=>{let t=rt(e);return Object.assign(t,{authSchemePreference:ke(e.authSchemePreference??[])})},u1e=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:`rds`}),d1e={UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}},f1e={name:`@aws-sdk/client-rds`,version:`3.1110.0`,description:`AWS SDK for JavaScript Rds Client for Node.js, Browser and React Native`,homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-rds`,license:`Apache-2.0`,author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/sdk-for-javascript/`},repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-rds`},files:[`dist-*/**`],sideEffects:!1,main:`./dist-cjs/index.js`,module:`./dist-es/index.js`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},types:`./dist-types/index.d.ts`,typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline`,"build:es":`premove dist-es && tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`premove dist-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`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service`,test:`yarn g:vitest run --passWithNoTests`,"test:watch":`yarn g:vitest watch --passWithNoTests`,"test:integration":`yarn g:vitest run --passWithNoTests -c vitest.config.integ.mts`,"test:integration:watch":`yarn g:vitest watch --passWithNoTests -c vitest.config.integ.mts`,"test:e2e":`yarn g:vitest run -c vitest.config.e2e.mts`,"test:e2e:watch":`yarn g:vitest watch -c vitest.config.e2e.mts`,"test:index":`tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs`},dependencies:{"@aws-sdk/core":`^3.977.7`,"@aws-sdk/credential-provider-node":`^3.972.79`,"@aws-sdk/middleware-sdk-rds":`^3.972.56`,"@aws-sdk/types":`^3.974.3`,"@smithy/core":`^3.31.1`,"@smithy/fetch-http-handler":`^5.6.13`,"@smithy/node-http-handler":`^4.9.13`,"@smithy/types":`^4.16.1`,tslib:`^2.6.2`},devDependencies:{"@smithy/snapshot-testing":`^2.2.16`,"@tsconfig/node20":`20.1.8`,"@types/node":`^20.14.8`,concurrently:`7.0.0`,"downlevel-dts":`0.10.1`,premove:`4.0.0`,typescript:`~6.0.3`,vitest:`^4.0.17`},engines:{node:`>=20.0.0`}},v0=`ref`,y0=-1,b0=!0,x0=`isSet`,S0=`PartitionResult`,C0=`booleanEquals`,w0=`getAttr`,T0={[v0]:`Endpoint`},E0={[v0]:S0},D0={},O0=[{[v0]:`Region`}],k0={conditions:[[x0,[T0]],[x0,O0],[`aws.partition`,O0,S0],[C0,[{[v0]:`UseFIPS`},b0]],[C0,[{[v0]:`UseDualStack`},b0]],[C0,[{fn:w0,argv:[E0,`supportsDualStack`]},b0]],[C0,[{fn:w0,argv:[E0,`supportsFIPS`]},b0]],[`stringEquals`,[{fn:w0,argv:[E0,`name`]},`aws-us-gov`]]],results:[[y0],[y0,`Invalid Configuration: FIPS and custom endpoint are not supported`],[y0,`Invalid Configuration: Dualstack and custom endpoint are not supported`],[T0,D0],[`https://rds-fips.{Region}.{PartitionResult#dualStackDnsSuffix}`,D0],[y0,`FIPS and DualStack are enabled, but this partition does not support one or both`],[`https://rds.{Region}.amazonaws.com`,D0],[`https://rds-fips.{Region}.{PartitionResult#dnsSuffix}`,D0],[y0,`FIPS is enabled but this partition does not support FIPS`],[`https://rds.{Region}.{PartitionResult#dualStackDnsSuffix}`,D0],[y0,`DualStack is enabled but this partition does not support DualStack`],[`https://rds.{Region}.{PartitionResult#dnsSuffix}`,D0],[y0,`Invalid Configuration: Missing Region`]]},p1e=2,m1e=new Int32Array([-1,1,-1,0,13,3,1,4,100000012,2,5,100000012,3,8,6,4,7,100000011,5,100000009,100000010,4,11,9,6,10,100000008,7,100000006,100000007,5,12,100000005,6,100000004,100000005,3,100000001,14,4,100000002,100000003]),h1e=Be.from(m1e,p1e,k0.conditions,k0.results),g1e=new He({size:50,params:[`Endpoint`,`Region`,`UseDualStack`,`UseFIPS`]}),_1e=(e,t={})=>g1e.get(e,()=>Ze(h1e,{endpointParams:e,logger:t.logger}));Ye.aws=me;var V=class e extends ne{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},v1e=class e extends V{name=`DBClusterNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBClusterNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},y1e=class e extends V{name=`DBClusterRoleAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`DBClusterRoleAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},b1e=class e extends V{name=`DBClusterRoleQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`DBClusterRoleQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},x1e=class e extends V{name=`InvalidDBClusterStateFault`;$fault=`client`;constructor(t){super({name:`InvalidDBClusterStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},S1e=class e extends V{name=`DBInstanceNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBInstanceNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},C1e=class e extends V{name=`DBInstanceRoleAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`DBInstanceRoleAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},w1e=class e extends V{name=`DBInstanceRoleQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`DBInstanceRoleQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},T1e=class e extends V{name=`InvalidDBInstanceStateFault`;$fault=`client`;constructor(t){super({name:`InvalidDBInstanceStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},E1e=class e extends V{name=`SourceNotFoundFault`;$fault=`client`;constructor(t){super({name:`SourceNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},D1e=class e extends V{name=`SubscriptionNotFoundFault`;$fault=`client`;constructor(t){super({name:`SubscriptionNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},O1e=class e extends V{name=`BlueGreenDeploymentNotFoundFault`;$fault=`client`;constructor(t){super({name:`BlueGreenDeploymentNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},k1e=class e extends V{name=`DBProxyEndpointNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBProxyEndpointNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},A1e=class e extends V{name=`DBProxyNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBProxyNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},j1e=class e extends V{name=`DBProxyTargetGroupNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBProxyTargetGroupNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},M1e=class e extends V{name=`DBShardGroupNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBShardGroupNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},N1e=class e extends V{name=`DBSnapshotNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBSnapshotNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},P1e=class e extends V{name=`DBSnapshotTenantDatabaseNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBSnapshotTenantDatabaseNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},F1e=class e extends V{name=`IntegrationNotFoundFault`;$fault=`client`;constructor(t){super({name:`IntegrationNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},I1e=class e extends V{name=`InvalidDBClusterEndpointStateFault`;$fault=`client`;constructor(t){super({name:`InvalidDBClusterEndpointStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},L1e=class e extends V{name=`TenantDatabaseNotFoundFault`;$fault=`client`;constructor(t){super({name:`TenantDatabaseNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},R1e=class e extends V{name=`ResourceNotFoundFault`;$fault=`client`;constructor(t){super({name:`ResourceNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},z1e=class e extends V{name=`AuthorizationAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`AuthorizationAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},B1e=class e extends V{name=`AuthorizationQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`AuthorizationQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},V1e=class e extends V{name=`DBSecurityGroupNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBSecurityGroupNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},H1e=class e extends V{name=`InvalidDBSecurityGroupStateFault`;$fault=`client`;constructor(t){super({name:`InvalidDBSecurityGroupStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},U1e=class e extends V{name=`ExportTaskNotFoundFault`;$fault=`client`;constructor(t){super({name:`ExportTaskNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},W1e=class e extends V{name=`InvalidExportTaskStateFault`;$fault=`client`;constructor(t){super({name:`InvalidExportTaskStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},G1e=class e extends V{name=`DBParameterGroupAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`DBParameterGroupAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},K1e=class e extends V{name=`DBParameterGroupNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBParameterGroupNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},q1e=class e extends V{name=`DBParameterGroupQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`DBParameterGroupQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},J1e=class e extends V{name=`DBClusterSnapshotAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`DBClusterSnapshotAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Y1e=class e extends V{name=`DBClusterSnapshotNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBClusterSnapshotNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},X1e=class e extends V{name=`InvalidDBClusterSnapshotStateFault`;$fault=`client`;constructor(t){super({name:`InvalidDBClusterSnapshotStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Z1e=class e extends V{name=`KMSKeyNotAccessibleFault`;$fault=`client`;constructor(t){super({name:`KMSKeyNotAccessibleFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Q1e=class e extends V{name=`SnapshotQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`SnapshotQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},$1e=class e extends V{name=`CustomAvailabilityZoneNotFoundFault`;$fault=`client`;constructor(t){super({name:`CustomAvailabilityZoneNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},e0e=class e extends V{name=`DBSnapshotAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`DBSnapshotAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},t0e=class e extends V{name=`InvalidDBSnapshotStateFault`;$fault=`client`;constructor(t){super({name:`InvalidDBSnapshotStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},n0e=class e extends V{name=`OptionGroupAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`OptionGroupAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},r0e=class e extends V{name=`OptionGroupNotFoundFault`;$fault=`client`;constructor(t){super({name:`OptionGroupNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},i0e=class e extends V{name=`OptionGroupQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`OptionGroupQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},a0e=class e extends V{name=`BlueGreenDeploymentAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`BlueGreenDeploymentAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},o0e=class e extends V{name=`DBClusterParameterGroupNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBClusterParameterGroupNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},s0e=class e extends V{name=`DBClusterQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`DBClusterQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},c0e=class e extends V{name=`InstanceQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`InstanceQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},l0e=class e extends V{name=`SourceClusterNotSupportedFault`;$fault=`client`;constructor(t){super({name:`SourceClusterNotSupportedFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},u0e=class e extends V{name=`SourceDatabaseNotSupportedFault`;$fault=`client`;constructor(t){super({name:`SourceDatabaseNotSupportedFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},d0e=class e extends V{name=`StorageQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`StorageQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},f0e=class e extends V{name=`CreateCustomDBEngineVersionFault`;$fault=`client`;constructor(t){super({name:`CreateCustomDBEngineVersionFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},p0e=class e extends V{name=`CustomDBEngineVersionAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`CustomDBEngineVersionAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},m0e=class e extends V{name=`CustomDBEngineVersionNotFoundFault`;$fault=`client`;constructor(t){super({name:`CustomDBEngineVersionNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},h0e=class e extends V{name=`CustomDBEngineVersionQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`CustomDBEngineVersionQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},g0e=class e extends V{name=`Ec2ImagePropertiesNotSupportedFault`;$fault=`client`;constructor(t){super({name:`Ec2ImagePropertiesNotSupportedFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},_0e=class e extends V{name=`InvalidCustomDBEngineVersionStateFault`;$fault=`client`;constructor(t){super({name:`InvalidCustomDBEngineVersionStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},v0e=class e extends V{name=`DBClusterAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`DBClusterAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},y0e=class e extends V{name=`DBSubnetGroupDoesNotCoverEnoughAZs`;$fault=`client`;constructor(t){super({name:`DBSubnetGroupDoesNotCoverEnoughAZs`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},b0e=class e extends V{name=`DBSubnetGroupNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBSubnetGroupNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},x0e=class e extends V{name=`DomainNotFoundFault`;$fault=`client`;constructor(t){super({name:`DomainNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},S0e=class e extends V{name=`GlobalClusterNotFoundFault`;$fault=`client`;constructor(t){super({name:`GlobalClusterNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},C0e=class e extends V{name=`InsufficientDBInstanceCapacityFault`;$fault=`client`;constructor(t){super({name:`InsufficientDBInstanceCapacityFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},w0e=class e extends V{name=`InsufficientStorageClusterCapacityFault`;$fault=`client`;constructor(t){super({name:`InsufficientStorageClusterCapacityFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},T0e=class e extends V{name=`InvalidDBSubnetGroupFault`;$fault=`client`;constructor(t){super({name:`InvalidDBSubnetGroupFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},E0e=class e extends V{name=`InvalidDBSubnetGroupStateFault`;$fault=`client`;constructor(t){super({name:`InvalidDBSubnetGroupStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},D0e=class e extends V{name=`InvalidGlobalClusterStateFault`;$fault=`client`;constructor(t){super({name:`InvalidGlobalClusterStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},O0e=class e extends V{name=`InvalidSubnet`;$fault=`client`;constructor(t){super({name:`InvalidSubnet`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},k0e=class e extends V{name=`InvalidVPCNetworkStateFault`;$fault=`client`;constructor(t){super({name:`InvalidVPCNetworkStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},A0e=class e extends V{name=`NetworkTypeNotSupported`;$fault=`client`;constructor(t){super({name:`NetworkTypeNotSupported`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},j0e=class e extends V{name=`StorageTypeNotSupportedFault`;$fault=`client`;constructor(t){super({name:`StorageTypeNotSupportedFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},M0e=class e extends V{name=`VpcEncryptionControlViolationException`;$fault=`client`;constructor(t){super({name:`VpcEncryptionControlViolationException`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},N0e=class e extends V{name=`DBClusterEndpointAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`DBClusterEndpointAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},P0e=class e extends V{name=`DBClusterEndpointQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`DBClusterEndpointQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},F0e=class e extends V{name=`AuthorizationNotFoundFault`;$fault=`client`;constructor(t){super({name:`AuthorizationNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},I0e=class e extends V{name=`BackupPolicyNotFoundFault`;$fault=`client`;constructor(t){super({name:`BackupPolicyNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},L0e=class e extends V{name=`CertificateNotFoundFault`;$fault=`client`;constructor(t){super({name:`CertificateNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},R0e=class e extends V{name=`DBInstanceAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`DBInstanceAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},z0e=class e extends V{name=`ProvisionedIopsNotAvailableInAZFault`;$fault=`client`;constructor(t){super({name:`ProvisionedIopsNotAvailableInAZFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},B0e=class e extends V{name=`TenantDatabaseQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`TenantDatabaseQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},V0e=class e extends V{name=`DBSubnetGroupNotAllowedFault`;$fault=`client`;constructor(t){super({name:`DBSubnetGroupNotAllowedFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},H0e=class e extends V{name=`DBProxyAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`DBProxyAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},U0e=class e extends V{name=`DBProxyQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`DBProxyQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},W0e=class e extends V{name=`DBProxyEndpointAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`DBProxyEndpointAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},G0e=class e extends V{name=`DBProxyEndpointQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`DBProxyEndpointQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},K0e=class e extends V{name=`InvalidDBProxyStateFault`;$fault=`client`;constructor(t){super({name:`InvalidDBProxyStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},q0e=class e extends V{name=`DBSecurityGroupAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`DBSecurityGroupAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},J0e=class e extends V{name=`DBSecurityGroupNotSupportedFault`;$fault=`client`;constructor(t){super({name:`DBSecurityGroupNotSupportedFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Y0e=class e extends V{name=`DBSecurityGroupQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`DBSecurityGroupQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},X0e=class e extends V{name=`DBShardGroupAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`DBShardGroupAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Z0e=class e extends V{name=`MaxDBShardGroupLimitReached`;$fault=`client`;constructor(t){super({name:`MaxDBShardGroupLimitReached`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Q0e=class e extends V{name=`UnsupportedDBEngineVersionFault`;$fault=`client`;constructor(t){super({name:`UnsupportedDBEngineVersionFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},$0e=class e extends V{name=`DBSubnetGroupAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`DBSubnetGroupAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},e2e=class e extends V{name=`DBSubnetGroupQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`DBSubnetGroupQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},t2e=class e extends V{name=`DBSubnetQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`DBSubnetQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},n2e=class e extends V{name=`EventSubscriptionQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`EventSubscriptionQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},r2e=class e extends V{name=`SNSInvalidTopicFault`;$fault=`client`;constructor(t){super({name:`SNSInvalidTopicFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},i2e=class e extends V{name=`SNSNoAuthorizationFault`;$fault=`client`;constructor(t){super({name:`SNSNoAuthorizationFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},a2e=class e extends V{name=`SNSTopicArnNotFoundFault`;$fault=`client`;constructor(t){super({name:`SNSTopicArnNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},o2e=class e extends V{name=`SubscriptionAlreadyExistFault`;$fault=`client`;constructor(t){super({name:`SubscriptionAlreadyExistFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},s2e=class e extends V{name=`SubscriptionCategoryNotFoundFault`;$fault=`client`;constructor(t){super({name:`SubscriptionCategoryNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},c2e=class e extends V{name=`GlobalClusterAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`GlobalClusterAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},l2e=class e extends V{name=`GlobalClusterQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`GlobalClusterQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},u2e=class e extends V{name=`InvalidDBShardGroupStateFault`;$fault=`client`;constructor(t){super({name:`InvalidDBShardGroupStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},d2e=class e extends V{name=`IntegrationAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`IntegrationAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},f2e=class e extends V{name=`IntegrationConflictOperationFault`;$fault=`client`;constructor(t){super({name:`IntegrationConflictOperationFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},p2e=class e extends V{name=`IntegrationQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`IntegrationQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},m2e=class e extends V{name=`TenantDatabaseAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`TenantDatabaseAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},h2e=class e extends V{name=`InvalidBlueGreenDeploymentStateFault`;$fault=`client`;constructor(t){super({name:`InvalidBlueGreenDeploymentStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},g2e=class e extends V{name=`DBClusterAutomatedBackupQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`DBClusterAutomatedBackupQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},_2e=class e extends V{name=`DBClusterAutomatedBackupNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBClusterAutomatedBackupNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},v2e=class e extends V{name=`InvalidDBClusterAutomatedBackupStateFault`;$fault=`client`;constructor(t){super({name:`InvalidDBClusterAutomatedBackupStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},y2e=class e extends V{name=`DBClusterEndpointNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBClusterEndpointNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},b2e=class e extends V{name=`InvalidDBParameterGroupStateFault`;$fault=`client`;constructor(t){super({name:`InvalidDBParameterGroupStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},x2e=class e extends V{name=`DBInstanceAutomatedBackupQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`DBInstanceAutomatedBackupQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},S2e=class e extends V{name=`DBInstanceAutomatedBackupNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBInstanceAutomatedBackupNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},C2e=class e extends V{name=`InvalidDBInstanceAutomatedBackupStateFault`;$fault=`client`;constructor(t){super({name:`InvalidDBInstanceAutomatedBackupStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},w2e=class e extends V{name=`InvalidDBProxyEndpointStateFault`;$fault=`client`;constructor(t){super({name:`InvalidDBProxyEndpointStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},T2e=class e extends V{name=`InvalidDBSubnetStateFault`;$fault=`client`;constructor(t){super({name:`InvalidDBSubnetStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},E2e=class e extends V{name=`InvalidEventSubscriptionStateFault`;$fault=`client`;constructor(t){super({name:`InvalidEventSubscriptionStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},D2e=class e extends V{name=`InvalidIntegrationStateFault`;$fault=`client`;constructor(t){super({name:`InvalidIntegrationStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},O2e=class e extends V{name=`InvalidOptionGroupStateFault`;$fault=`client`;constructor(t){super({name:`InvalidOptionGroupStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},k2e=class e extends V{name=`DBProxyTargetNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBProxyTargetNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},A2e=class e extends V{name=`DBClusterBacktrackNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBClusterBacktrackNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},j2e=class e extends V{name=`DBInstanceNotReadyFault`;$fault=`client`;constructor(t){super({name:`DBInstanceNotReadyFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},M2e=class e extends V{name=`ReservedDBInstanceNotFoundFault`;$fault=`client`;constructor(t){super({name:`ReservedDBInstanceNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},N2e=class e extends V{name=`ReservedDBInstancesOfferingNotFoundFault`;$fault=`client`;constructor(t){super({name:`ReservedDBInstancesOfferingNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},P2e=class e extends V{name=`InvalidResourceStateFault`;$fault=`client`;constructor(t){super({name:`InvalidResourceStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},F2e=class e extends V{name=`DBLogFileNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBLogFileNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},I2e=class e extends V{name=`InvalidDBClusterCapacityFault`;$fault=`client`;constructor(t){super({name:`InvalidDBClusterCapacityFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},L2e=class e extends V{name=`StorageTypeNotAvailableFault`;$fault=`client`;constructor(t){super({name:`StorageTypeNotAvailableFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},R2e=class e extends V{name=`SharedSnapshotQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`SharedSnapshotQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},z2e=class e extends V{name=`DBUpgradeDependencyFailureFault`;$fault=`client`;constructor(t){super({name:`DBUpgradeDependencyFailureFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},B2e=class e extends V{name=`SubnetAlreadyInUse`;$fault=`client`;constructor(t){super({name:`SubnetAlreadyInUse`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},V2e=class e extends V{name=`ReservedDBInstanceAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`ReservedDBInstanceAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},H2e=class e extends V{name=`ReservedDBInstanceQuotaExceededFault`;$fault=`client`;constructor(t){super({name:`ReservedDBInstanceQuotaExceededFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},U2e=class e extends V{name=`DBProxyTargetAlreadyRegisteredFault`;$fault=`client`;constructor(t){super({name:`DBProxyTargetAlreadyRegisteredFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},W2e=class e extends V{name=`InsufficientAvailableIPsInSubnetFault`;$fault=`client`;constructor(t){super({name:`InsufficientAvailableIPsInSubnetFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},G2e=class e extends V{name=`DBClusterRoleNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBClusterRoleNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},K2e=class e extends V{name=`DBInstanceRoleNotFoundFault`;$fault=`client`;constructor(t){super({name:`DBInstanceRoleNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},q2e=class e extends V{name=`InvalidS3BucketFault`;$fault=`client`;constructor(t){super({name:`InvalidS3BucketFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},J2e=class e extends V{name=`InsufficientDBClusterCapacityFault`;$fault=`client`;constructor(t){super({name:`InsufficientDBClusterCapacityFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Y2e=class e extends V{name=`InvalidRestoreFault`;$fault=`client`;constructor(t){super({name:`InvalidRestoreFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},X2e=class e extends V{name=`PointInTimeRestoreNotEnabledFault`;$fault=`client`;constructor(t){super({name:`PointInTimeRestoreNotEnabledFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Z2e=class e extends V{name=`ExportTaskAlreadyExistsFault`;$fault=`client`;constructor(t){super({name:`ExportTaskAlreadyExistsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Q2e=class e extends V{name=`IamRoleMissingPermissionsFault`;$fault=`client`;constructor(t){super({name:`IamRoleMissingPermissionsFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},$2e=class e extends V{name=`IamRoleNotFoundFault`;$fault=`client`;constructor(t){super({name:`IamRoleNotFoundFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},e4e=class e extends V{name=`InvalidExportOnlyFault`;$fault=`client`;constructor(t){super({name:`InvalidExportOnlyFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},t4e=class e extends V{name=`InvalidExportSourceStateFault`;$fault=`client`;constructor(t){super({name:`InvalidExportSourceStateFault`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},n4e=`AuthorizationAlreadyExistsFault`,A0=`AvailableAdditionalStorageVolumesOption`,r4e=`AvailableAdditionalStorageVolumesOptionList`,i4e=`AvailableAdditionalStorageVolumesOptions`,j0=`AwsBackupRecoveryPointArn`,a4e=`ApplyImmediately`,M0=`AutomationMode`,N0=`AutoMinorVersionUpgrade`,o4e=`AllowMajorVersionUpgrade`,s4e=`ApplyMethod`,c4e=`AuthorizationNotFoundFault`,P0=`AvailableProcessorFeature`,l4e=`AvailableProcessorFeatureList`,u4e=`AvailableProcessorFeatures`,d4e=`AuthorizationQuotaExceededFault`,f4e=`AssociatedRoles`,p4e=`AutomaticRestartTime`,F0=`AllocatedStorage`,m4e=`AuthSecretArn`,h4e=`ActivityStreamEngineNativeAuditFieldsIncluded`,g4e=`ActivityStreamKmsKeyId`,_4e=`ActivityStreamKinesisStreamName`,v4e=`ActivityStreamMode`,y4e=`ActivityStreamPolicyStatus`,b4e=`ActivityStreamStatus`,x4e=`AdditionalStorageVolume`,S4e=`AdditionalStorageVolumesList`,C4e=`AdditionalStorageVolumeOutput`,w4e=`AdditionalStorageVolumesOutputList`,I0=`AdditionalStorageVolumes`,T4e=`ApplyType`,E4e=`AddTagsToResource`,D4e=`AddTagsToResourceMessage`,O4e=`AutoUpgrade`,L0=`AllowedValues`,R0=`AvailabilityZone`,z0=`AvailabilityZoneGroup`,k4e=`AvailabilityZoneList`,A4e=`AvailabilityZones`,j4e=`Address`,M4e=`Arn`,N4e=`BlueGreenDeploymentAlreadyExistsFault`,P4e=`BlueGreenDeploymentNotFoundFault`,F4e=`BackupPolicyNotFoundFault`,B0=`BackupRetentionPeriod`,V0=`BackupTarget`,H0=`CACertificateIdentifier`,I4e=`CAIdentifier`,L4e=`CustomAvailabilityZoneNotFoundFault`,R4e=`CreateCustomDBEngineVersionFault`,U0=`CertificateDetails`,z4e=`CustomDBEngineVersionAlreadyExistsFault`,B4e=`CustomDBEngineVersionAMI`,V4e=`CustomDBEngineVersionManifest`,H4e=`CustomDBEngineVersionNotFoundFault`,U4e=`CustomDBEngineVersionQuotaExceededFault`,W4e=`CreateDBInstance`,G4e=`CreateDBInstanceMessage`,K4e=`CreateDBInstanceResult`,q4e=`CreateDBParameterGroupMessage`,J4e=`CreateDBParameterGroupResult`,Y4e=`CreateDBParameterGroup`,X4e=`CreateDBSubnetGroupMessage`,Z4e=`CreateDBSubnetGroupResult`,Q4e=`CreateDBSubnetGroup`,$4e=`CreateDBSnapshotMessage`,e3e=`CreateDBSnapshotResult`,t3e=`CreateDBSnapshot`,W0=`CustomIamInstanceProfile`,G0=`CloudwatchLogsExportConfiguration`,n3e=`CertificateNotFoundFault`,r3e=`CustomerOwnedIpEnabled`,i3e=`CertificateRotationRestart`,K0=`CharacterSet`,a3e=`CharacterSetDescription`,q0=`CharacterSetName`,o3e=`CreateTime`,J0=`CopyTagsToSnapshot`,Y0=`Description`,s3e=`DeleteAutomatedBackups`,X0=`DomainAuthSecretArn`,c3e=`DBClusterAutomatedBackupNotFoundFault`,l3e=`DBClusterAutomatedBackupQuotaExceededFault`,u3e=`DBClusterAlreadyExistsFault`,d3e=`DBClusterBacktrackNotFoundFault`,f3e=`DBClusterEndpointAlreadyExistsFault`,p3e=`DBClusterEndpointNotFoundFault`,m3e=`DBClusterEndpointQuotaExceededFault`,Z0=`DBClusterIdentifier`,h3e=`DBClusterNotFoundFault`,g3e=`DBClusterParameterGroupNotFoundFault`,_3e=`DBClusterQuotaExceededFault`,v3e=`DBClusterRoleAlreadyExistsFault`,y3e=`DBClusterRoleNotFoundFault`,b3e=`DBClusterRoleQuotaExceededFault`,x3e=`DBClusterSnapshotAlreadyExistsFault`,S3e=`DBClusterSnapshotIdentifier`,C3e=`DBClusterSnapshotNotFoundFault`,w3e=`DBEngineDescription`,T3e=`DBEngineMediaType`,Q0=`DBEngineVersion`,E3e=`DBEngineVersionArn`,D3e=`DBEngineVersionDescription`,O3e=`DBEngineVersionList`,k3e=`DBEngineVersionMessage`,A3e=`DBEngineVersions`,$0=`DBInstance`,e2=`DBInstanceArn`,t2=`DBInstanceAutomatedBackup`,n2=`DBInstanceAutomatedBackupsArn`,j3e=`DBInstanceAutomatedBackupList`,M3e=`DBInstanceAutomatedBackupMessage`,N3e=`DBInstanceAutomatedBackupNotFoundFault`,P3e=`DBInstanceAutomatedBackupQuotaExceededFault`,r2=`DBInstanceAutomatedBackupsReplications`,F3e=`DBInstanceAutomatedBackupsReplicationList`,i2=`DBInstanceAutomatedBackupsReplication`,I3e=`DBInstanceAutomatedBackups`,L3e=`DBInstanceAlreadyExistsFault`,a2=`DBInstanceClass`,o2=`DBInstanceIdentifier`,R3e=`DBInstanceList`,z3e=`DBInstanceMessage`,B3e=`DBInstanceNotFoundFault`,V3e=`DBInstanceNotReadyFault`,s2=`DBInstanceRole`,H3e=`DBInstanceRoleAlreadyExistsFault`,U3e=`DBInstanceRoleNotFoundFault`,W3e=`DBInstanceRoleQuotaExceededFault`,G3e=`DBInstanceRoles`,K3e=`DBInstanceStatus`,c2=`DBInstanceStatusInfo`,q3e=`DBInstanceStatusInfoList`,J3e=`DBInstances`,Y3e=`DBLogFileNotFoundFault`,l2=`DBName`,X3e=`DBProxyAlreadyExistsFault`,Z3e=`DBProxyEndpointAlreadyExistsFault`,Q3e=`DBProxyEndpointNotFoundFault`,$3e=`DBProxyEndpointQuotaExceededFault`,u2=`DBParameterGroup`,e6e=`DBParameterGroupArn`,t6e=`DBParameterGroupAlreadyExistsFault`,n6e=`DBParameterGroupDetails`,d2=`DBParameterGroupFamily`,r6e=`DBParameterGroupList`,i6e=`DBParameterGroupsMessage`,f2=`DBParameterGroupName`,a6e=`DBParameterGroupNotFoundFault`,o6e=`DBParameterGroupNameMessage`,s6e=`DBParameterGroupQuotaExceededFault`,c6e=`DBParameterGroupStatus`,l6e=`DBParameterGroupStatusList`,p2=`DBParameterGroups`,u6e=`DBProxyNotFoundFault`,d6e=`DBPortNumber`,f6e=`DBProxyQuotaExceededFault`,p6e=`DBProxyTargetAlreadyRegisteredFault`,m6e=`DBProxyTargetGroupNotFoundFault`,h6e=`DBProxyTargetNotFoundFault`,m2=`DBSnapshot`,g6e=`DBSnapshotArn`,_6e=`DBSnapshotAlreadyExistsFault`,v6e=`DBSecurityGroup`,y6e=`DBSecurityGroupAlreadyExistsFault`,b6e=`DBShardGroupAlreadyExistsFault`,x6e=`DBSubnetGroupAlreadyExistsFault`,S6e=`DBSubnetGroupArn`,C6e=`DBSubnetGroupDoesNotCoverEnoughAZs`,h2=`DBSubnetGroupDescription`,w6e=`DBSecurityGroupMembership`,T6e=`DBSecurityGroupMembershipList`,E6e=`DBSubnetGroupMessage`,g2=`DBSecurityGroupName`,D6e=`DBSubnetGroupNotAllowedFault`,O6e=`DBSecurityGroupNotFoundFault`,k6e=`DBShardGroupNotFoundFault`,A6e=`DBSubnetGroupNotFoundFault`,j6e=`DBSecurityGroupNameList`,M6e=`DBSecurityGroupNotSupportedFault`,_2=`DBSubnetGroupName`,N6e=`DBSecurityGroupQuotaExceededFault`,P6e=`DBSubnetGroupQuotaExceededFault`,v2=`DBSecurityGroups`,y2=`DBSubnetGroup`,b2=`DBSubnetGroups`,x2=`DBSystemId`,S2=`DBSnapshotIdentifier`,F6e=`DBSnapshotList`,I6e=`DBSnapshotMessage`,L6e=`DBSnapshotNotFoundFault`,R6e=`DBSubnetQuotaExceededFault`,z6e=`DBSnapshotTenantDatabaseNotFoundFault`,B6e=`DBSnapshots`,V6e=`DBUpgradeDependencyFailureFault`,H6e=`DefaultCharacterSet`,U6e=`DisableDomain`,W6e=`DescribeDBEngineVersions`,G6e=`DescribeDBEngineVersionsMessage`,K6e=`DeleteDBInstance`,q6e=`DescribeDBInstanceAutomatedBackupsMessage`,J6e=`DescribeDBInstanceAutomatedBackups`,Y6e=`DeleteDBInstanceMessage`,X6e=`DescribeDBInstancesMessage`,Z6e=`DeleteDBInstanceResult`,Q6e=`DescribeDBInstances`,$6e=`DeleteDBParameterGroup`,e8e=`DeleteDBParameterGroupMessage`,t8e=`DescribeDBParameterGroupsMessage`,n8e=`DescribeDBParameterGroups`,r8e=`DescribeDBParametersMessage`,i8e=`DescribeDBParameters`,a8e=`DeleteDBSnapshot`,o8e=`DeleteDBSubnetGroupMessage`,s8e=`DescribeDBSubnetGroupsMessage`,c8e=`DeleteDBSubnetGroup`,l8e=`DescribeDBSubnetGroups`,u8e=`DeleteDBSnapshotMessage`,d8e=`DescribeDBSnapshotsMessage`,f8e=`DeleteDBSnapshotResult`,p8e=`DescribeDBSnapshots`,C2=`DomainDnsIps`,m8e=`DescribeEvents`,h8e=`DescribeEventsMessage`,w2=`DomainFqdn`,g8e=`DnsIps`,T2=`DomainIAMRoleName`,_8e=`DatabaseInstallationFiles`,v8e=`DatabaseInstallationFilesS3BucketName`,y8e=`DatabaseInstallationFilesS3Prefix`,E2=`DatabaseInsightsMode`,b8e=`DbInstancePort`,x8e=`DisableLogTypes`,D2=`DedicatedLogVolume`,S8e=`DomainMemberships`,C8e=`DomainMembershipList`,O2=`DomainMembership`,w8e=`DomainNotFoundFault`,k2=`DomainOu`,T8e=`DescribeOrderableDBInstanceOptions`,E8e=`DescribeOrderableDBInstanceOptionsMessage`,D8e=`DefaultOnly`,A2=`DeletionProtection`,j2=`DbiResourceId`,O8e=`DataType`,k8e=`DefaultValue`,A8e=`Date`,M2=`Domain`,j8e=`Duration`,N2=`Engine`,P2=`EventCategories`,M8e=`EventCategoriesList`,F2=`EnableCloudwatchLogsExports`,N8e=`EnabledCloudwatchLogsExports`,I2=`EnableCustomerOwnedIp`,P8e=`EventCategory`,L2=`EnableIAMDatabaseAuthentication`,F8e=`Ec2ImagePropertiesNotSupportedFault`,I8e=`EventList`,R2=`EngineLifecycleSupport`,L8e=`EnableLogTypes`,R8e=`ExportableLogTypes`,z8e=`EnhancedMonitoringResourceArn`,B8e=`EventsMessage`,z2=`EnablePerformanceInsights`,V8e=`EventSubscriptionQuotaExceededFault`,H8e=`ExportTaskAlreadyExistsFault`,U8e=`ExportTaskNotFoundFault`,W8e=`EarliestTime`,G8e=`EndTime`,B2=`EngineVersion`,V2=`Encrypted`,H2=`Endpoint`,U2=`Event`,K8e=`Events`,q8e=`FinalDBSnapshotIdentifier`,J8e=`ForceFailover`,Y8e=`FilterList`,X8e=`FeatureName`,Z8e=`FQDN`,Q8e=`FailureReason`,$8e=`FilterValueList`,W2=`Filters`,G2=`Filter`,e5e=`GlobalClusterAlreadyExistsFault`,t5e=`GlobalClusterNotFoundFault`,n5e=`GlobalClusterQuotaExceededFault`,r5e=`HostedZoneId`,K2=`Iops`,i5e=`IncludeAll`,a5e=`IntegrationAlreadyExistsFault`,o5e=`InsufficientAvailableIPsInSubnetFault`,q2=`IAMDatabaseAuthenticationEnabled`,s5e=`IAMRoleName`,c5e=`InvalidBlueGreenDeploymentStateFault`,l5e=`InvalidCustomDBEngineVersionStateFault`,u5e=`IntegrationConflictOperationFault`,J2=`InstanceCreateTime`,d5e=`InvalidDBClusterAutomatedBackupStateFault`,f5e=`InsufficientDBClusterCapacityFault`,p5e=`InvalidDBClusterCapacityFault`,m5e=`InvalidDBClusterEndpointStateFault`,h5e=`InvalidDBClusterStateFault`,g5e=`InvalidDBClusterSnapshotStateFault`,_5e=`InvalidDBInstanceAutomatedBackupStateFault`,v5e=`InsufficientDBInstanceCapacityFault`,y5e=`InvalidDBInstanceStateFault`,b5e=`InvalidDBProxyEndpointStateFault`,x5e=`InvalidDBParameterGroupStateFault`,S5e=`InvalidDBProxyStateFault`,C5e=`InvalidDBSubnetGroupFault`,w5e=`InvalidDBSecurityGroupStateFault`,T5e=`InvalidDBShardGroupStateFault`,E5e=`InvalidDBSubnetGroupStateFault`,D5e=`InvalidDBSnapshotStateFault`,O5e=`InvalidDBSubnetStateFault`,k5e=`InvalidExportOnlyFault`,A5e=`InvalidEventSubscriptionStateFault`,j5e=`InvalidExportSourceStateFault`,M5e=`InvalidExportTaskStateFault`,N5e=`InvalidGlobalClusterStateFault`,P5e=`ImageId`,F5e=`InvalidIntegrationStateFault`,I5e=`IsModifiable`,L5e=`IsMajorVersionUpgrade`,R5e=`IntegrationNotFoundFault`,z5e=`InvalidOptionGroupStateFault`,Y2=`IOPS`,B5e=`IncludePublic`,V5e=`InstanceQuotaExceededFault`,H5e=`IntegrationQuotaExceededFault`,U5e=`InvalidRestoreFault`,W5e=`IamRoleMissingPermissionsFault`,G5e=`IamRoleNotFoundFault`,K5e=`InvalidResourceStateFault`,q5e=`InvalidSubnet`,J5e=`InvalidS3BucketFault`,Y5e=`InsufficientStorageClusterCapacityFault`,X5e=`IsStorageConfigUpgradeAvailable`,Z5e=`IncludeShared`,Q5e=`InvalidVPCNetworkStateFault`,$5e=`Image`,e7e=`Key`,X2=`KmsKeyId`,t7e=`KMSKeyId`,n7e=`KMSKeyNotAccessibleFault`,r7e=`ListenerEndpoint`,Z2=`LicenseModel`,i7e=`LatestRestorableTime`,a7e=`ListSupportedCharacterSets`,o7e=`ListSupportedTimezones`,s7e=`LatestTime`,c7e=`ListTagsForResource`,l7e=`ListTagsForResourceMessage`,u7e=`LogTypesToDisable`,d7e=`LogTypesToEnable`,Q2=`MaxAllocatedStorage`,f7e=`ModifyAdditionalStorageVolume`,p7e=`ModifyAdditionalStorageVolumesList`,$2=`MultiAZ`,m7e=`MultiAZCapable`,h7e=`MinCapacity`,g7e=`MaxCapacity`,_7e=`ModifyDBInstance`,v7e=`ModifyDBInstanceMessage`,y7e=`ModifyDBInstanceResult`,b7e=`ModifyDBParameterGroup`,x7e=`ModifyDBParameterGroupMessage`,S7e=`MaxDBShardGroupLimitReached`,C7e=`MajorEngineVersion`,w7e=`MinimumEngineVersion`,T7e=`MinIops`,E7e=`MinIopsPerDbInstance`,D7e=`MaxIopsPerDbInstance`,e4=`MinIopsPerGib`,t4=`MaxIopsPerGib`,O7e=`MaxIops`,n4=`MonitoringInterval`,r4=`ManageMasterUserPassword`,i4=`MaxRecords`,a4=`MonitoringRoleArn`,o4=`MinStorageSize`,s4=`MaxStorageSize`,k7e=`MinStorageThroughput`,A7e=`MinStorageThroughputPerDbInstance`,j7e=`MaxStorageThroughputPerDbInstance`,M7e=`MinStorageThroughputPerIops`,N7e=`MaxStorageThroughputPerIops`,P7e=`MaxStorageThroughput`,c4=`MultiTenant`,l4=`MasterUsername`,u4=`MasterUserAuthenticationType`,d4=`MasterUserPassword`,f4=`MasterUserSecret`,p4=`MasterUserSecretKmsKeyId`,m4=`Marker`,h4=`Message`,g4=`Name`,_4=`NcharCharacterSetName`,F7e=`NewDBInstanceIdentifier`,v4=`NetworkType`,I7e=`NetworkTypeNotSupported`,L7e=`Normal`,R7e=`OutpostCapable`,y4=`OrderableDBInstanceOption`,z7e=`OrderableDBInstanceOptionsList`,B7e=`OrderableDBInstanceOptionsMessage`,V7e=`OrderableDBInstanceOptions`,H7e=`OptionGroupAlreadyExistsFault`,U7e=`OptionGroupMemberships`,W7e=`OptionGroupMembershipList`,b4=`OptionGroupMembership`,x4=`OptionGroupName`,G7e=`OptionGroupNotFoundFault`,K7e=`OptionGroupQuotaExceededFault`,q7e=`OriginalSnapshotCreateTime`,J7e=`OU`,Y7e=`Outpost`,S4=`Port`,C4=`PubliclyAccessible`,X7e=`ParameterApplyStatus`,w4=`PreferredBackupWindow`,T4=`PendingCloudwatchLogsExports`,E4=`ProcessorFeatures`,Z7e=`ProcessorFeatureList`,D4=`ProcessorFeature`,Q7e=`PerformanceInsightsEnabled`,O4=`PerformanceInsightsKMSKeyId`,$7e=`ProvisionedIopsNotAvailableInAZFault`,k4=`PerformanceInsightsRetentionPeriod`,e9e=`PointInTimeRestoreNotEnabledFault`,t9e=`ParametersList`,A4=`PendingModifiedValues`,j4=`PreferredMaintenanceWindow`,n9e=`ParameterName`,M4=`PercentProgress`,N4=`PromotionTier`,r9e=`ParameterValue`,P4=`Parameters`,F4=`Parameter`,i9e=`Region`,a9e=`RoleArn`,o9e=`ReservedDBInstanceAlreadyExistsFault`,s9e=`RestoreDBInstanceFromDBSnapshot`,c9e=`RestoreDBInstanceFromDBSnapshotMessage`,l9e=`RestoreDBInstanceFromDBSnapshotResult`,u9e=`RebootDBInstanceMessage`,d9e=`ReservedDBInstanceNotFoundFault`,f9e=`ReservedDBInstancesOfferingNotFoundFault`,p9e=`ReservedDBInstanceQuotaExceededFault`,m9e=`RebootDBInstanceResult`,h9e=`RebootDBInstance`,g9e=`ResumeFullAutomationModeMinutes`,I4=`ResumeFullAutomationModeTime`,L4=`ReplicaMode`,_9e=`RotateMasterUserPassword`,R4=`ResourceName`,v9e=`ResourceNotFoundFault`,y9e=`ReadReplicaCapable`,b9e=`ReadReplicaDBClusterIdentifiers`,x9e=`ReadReplicaDBClusterIdentifierList`,S9e=`ReadReplicaDBClusterIdentifier`,C9e=`ReadReplicaDBInstanceIdentifiers`,w9e=`ReadReplicaDBInstanceIdentifierList`,T9e=`ReadReplicaDBInstanceIdentifier`,E9e=`ReadReplicaSourceDBClusterIdentifier`,D9e=`ReadReplicaSourceDBInstanceIdentifier`,O9e=`RemoveTagsFromResource`,k9e=`RemoveTagsFromResourceMessage`,A9e=`ResourceType`,z4=`RestoreWindow`,B4=`Source`,j9e=`SourceArn`,M9e=`SubscriptionAlreadyExistFault`,N9e=`SubnetAlreadyInUse`,P9e=`SupportedActivityStreamModes`,F9e=`SupportsAdditionalStorageVolumes`,I9e=`SnapshotAvailabilityZone`,L9e=`SecondaryAvailabilityZone`,R9e=`SubnetAvailabilityZone`,z9e=`SecretArn`,V4=`SupportsBabelfish`,B9e=`SupportedCACertificateIdentifiers`,V9e=`SubscriptionCategoryNotFoundFault`,H9e=`SourceClusterNotSupportedFault`,U9e=`SupportsCertificateRotationWithoutRestart`,W9e=`SupportedCharacterSets`,G9e=`SupportedCharacterSetsList`,K9e=`SnapshotCreateTime`,q9e=`SupportsClusters`,J9e=`StartDBInstance`,Y9e=`StartDBInstanceMessage`,X9e=`StopDBInstanceMessage`,Z9e=`StartDBInstanceResult`,Q9e=`StopDBInstanceResult`,$9e=`StopDBInstance`,eet=`SourceDBSnapshotIdentifier`,tet=`SupportsDedicatedLogVolume`,net=`SourceDatabaseNotSupportedFault`,ret=`SnapshotDatabaseTime`,H4=`StorageEncrypted`,U4=`SupportedEngineModes`,iet=`SupportsEnhancedMonitoring`,W4=`StorageEncryptionType`,aet=`SetForDelete`,oet=`SupportedFeatureNames`,set=`SkipFinalSnapshot`,G4=`SupportsGlobalDatabases`,cet=`SubnetGroupStatus`,uet=`SupportsHttpEndpoint`,K4=`SourceIdentifier`,det=`SupportsIAMDatabaseAuthentication`,fet=`SubnetIdentifierList`,pet=`StatusInfos`,q4=`SupportsIops`,met=`SubnetIds`,J4=`SubnetIdentifier`,Y4=`SupportsIntegrations`,het=`SupportsKerberosAuthentication`,get=`SubnetList`,X4=`SupportsLimitlessDatabase`,_et=`SupportsLogExportsToCloudwatchLogs`,Z4=`SupportsLocalWriteForwarding`,vet=`SupportedNcharCharacterSets`,yet=`SourceNotFoundFault`,bet=`SubscriptionNotFoundFault`,xet=`SNSInvalidTopicFault`,Cet=`SNSNoAuthorizationFault`,wet=`SNSTopicArnNotFoundFault`,Q4=`SupportedNetworkTypes`,Tet=`SubnetOutpost`,$4=`StorageOperationPercentProgress`,e3=`StorageOperationStatus`,Eet=`SupportsPerformanceInsights`,t3=`SupportsParallelQuery`,Det=`SnapshotQuotaExceededFault`,Oet=`StorageQuotaExceededFault`,ket=`SourceRegion`,Aet=`SupportsReadReplica`,jet=`SensitiveString`,n3=`SupportsStorageAutoscaling`,Met=`SupportsStorageEncryption`,Net=`SharedSnapshotQuotaExceededFault`,r3=`SupportsStorageThroughput`,Pet=`SecretStatus`,Fet=`SubnetStatus`,i3=`StorageThroughput`,Iet=`SupportedTimezonesList`,Let=`StorageTypeNotAvailableFault`,Ret=`StorageTypeNotSupportedFault`,zet=`SnapshotTarget`,a3=`SnapshotType`,o3=`SourceType`,s3=`StorageType`,Bet=`StatusType`,Vet=`StartTime`,Het=`SupportedTimezones`,c3=`ServerlessV2FeaturesSupport`,l3=`StorageVolumeStatus`,u3=`Status`,Uet=`Subnets`,d3=`Subnet`,f3=`Tags`,p3=`TdeCredentialArn`,m3=`TdeCredentialPassword`,Wet=`TenantDatabaseAlreadyExistsFault`,Get=`TenantDatabaseNotFoundFault`,Ket=`TenantDatabaseQuotaExceededFault`,qet=`TagKeys`,h3=`TagList`,Jet=`TagListMessage`,Yet=`TimezoneName`,g3=`TagSpecifications`,Xet=`TagSpecificationList`,Zet=`TagSpecification`,_3=`Tag`,v3=`Timezone`,Qet=`UnsupportedDBEngineVersionFault`,y3=`UseDefaultProcessorFeatures`,$et=`UpgradeRolloutOrder`,b3=`UpgradeTarget`,x3=`Value`,ett=`VpcEncryptionControlViolationException`,S3=`VpcId`,C3=`VolumeName`,ttt=`VpcSecurityGroups`,w3=`VpcSecurityGroupIds`,ntt=`VpcSecurityGroupIdList`,T3=`VpcSecurityGroupId`,rtt=`VpcSecurityGroupMembershipList`,E3=`VpcSecurityGroupMembership`,itt=`ValidTill`,att=`ValidUpgradeTarget`,ott=`ValidUpgradeTargetList`,stt=`Values`,D3=`Vpc`,H=`awsQueryError`,U=`client`,W=`error`,G=`httpError`,ctt=`item`,K=`message`,O3=`smithy.ts.sdk.synthetic.com.amazonaws.rds`,q=`xmlName`,J=`com.amazonaws.rds`,k3=ct.for(O3),ltt=[-3,O3,`RDSServiceException`,0,[],[]];k3.registerError(ltt,V);var Y=ct.for(J),utt=[-3,J,n4e,{[H]:[`AuthorizationAlreadyExists`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(utt,z1e);var dtt=[-3,J,c4e,{[H]:[`AuthorizationNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(dtt,F0e);var ftt=[-3,J,d4e,{[H]:[`AuthorizationQuotaExceeded`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(ftt,B1e);var ptt=[-3,J,F4e,{[H]:[`BackupPolicyNotFoundFault`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(ptt,I0e);var mtt=[-3,J,N4e,{[H]:[`BlueGreenDeploymentAlreadyExistsFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(mtt,a0e);var htt=[-3,J,P4e,{[H]:[`BlueGreenDeploymentNotFoundFault`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(htt,O1e);var gtt=[-3,J,n3e,{[H]:[`CertificateNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(gtt,L0e);var _tt=[-3,J,R4e,{[H]:[`CreateCustomDBEngineVersionFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(_tt,f0e);var vtt=[-3,J,L4e,{[H]:[`CustomAvailabilityZoneNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(vtt,$1e);var ytt=[-3,J,z4e,{[H]:[`CustomDBEngineVersionAlreadyExistsFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(ytt,p0e);var btt=[-3,J,H4e,{[H]:[`CustomDBEngineVersionNotFoundFault`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(btt,m0e);var xtt=[-3,J,U4e,{[H]:[`CustomDBEngineVersionQuotaExceededFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(xtt,h0e);var Stt=[-3,J,u3e,{[H]:[`DBClusterAlreadyExistsFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Stt,v0e);var Ctt=[-3,J,c3e,{[H]:[`DBClusterAutomatedBackupNotFoundFault`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(Ctt,_2e);var wtt=[-3,J,l3e,{[H]:[`DBClusterAutomatedBackupQuotaExceededFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(wtt,g2e);var Ttt=[-3,J,d3e,{[H]:[`DBClusterBacktrackNotFoundFault`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(Ttt,A2e);var Ett=[-3,J,f3e,{[H]:[`DBClusterEndpointAlreadyExistsFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Ett,N0e);var Dtt=[-3,J,p3e,{[H]:[`DBClusterEndpointNotFoundFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Dtt,y2e);var Ott=[-3,J,m3e,{[H]:[`DBClusterEndpointQuotaExceededFault`,403],[W]:U,[G]:403},[K],[0]];Y.registerError(Ott,P0e);var ktt=[-3,J,h3e,{[H]:[`DBClusterNotFoundFault`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(ktt,v1e);var Att=[-3,J,g3e,{[H]:[`DBClusterParameterGroupNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(Att,o0e);var jtt=[-3,J,_3e,{[H]:[`DBClusterQuotaExceededFault`,403],[W]:U,[G]:403},[K],[0]];Y.registerError(jtt,s0e);var Mtt=[-3,J,v3e,{[H]:[`DBClusterRoleAlreadyExists`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Mtt,y1e);var Ntt=[-3,J,y3e,{[H]:[`DBClusterRoleNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(Ntt,G2e);var Ptt=[-3,J,b3e,{[H]:[`DBClusterRoleQuotaExceeded`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Ptt,b1e);var Ftt=[-3,J,x3e,{[H]:[`DBClusterSnapshotAlreadyExistsFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Ftt,J1e);var Itt=[-3,J,C3e,{[H]:[`DBClusterSnapshotNotFoundFault`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(Itt,Y1e);var Ltt=[-3,J,L3e,{[H]:[`DBInstanceAlreadyExists`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Ltt,R0e);var Rtt=[-3,J,N3e,{[H]:[`DBInstanceAutomatedBackupNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(Rtt,S2e);var ztt=[-3,J,P3e,{[H]:[`DBInstanceAutomatedBackupQuotaExceeded`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(ztt,x2e);var Btt=[-3,J,B3e,{[H]:[`DBInstanceNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(Btt,S1e);var Vtt=[-3,J,V3e,{[H]:[`DBInstanceNotReady`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Vtt,j2e);var Htt=[-3,J,H3e,{[H]:[`DBInstanceRoleAlreadyExists`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Htt,C1e);var Utt=[-3,J,U3e,{[H]:[`DBInstanceRoleNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(Utt,K2e);var Wtt=[-3,J,W3e,{[H]:[`DBInstanceRoleQuotaExceeded`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Wtt,w1e);var Gtt=[-3,J,Y3e,{[H]:[`DBLogFileNotFoundFault`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(Gtt,F2e);var Ktt=[-3,J,t6e,{[H]:[`DBParameterGroupAlreadyExists`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Ktt,G1e);var qtt=[-3,J,a6e,{[H]:[`DBParameterGroupNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(qtt,K1e);var Jtt=[-3,J,s6e,{[H]:[`DBParameterGroupQuotaExceeded`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Jtt,q1e);var Ytt=[-3,J,X3e,{[H]:[`DBProxyAlreadyExistsFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Ytt,H0e);var Xtt=[-3,J,Z3e,{[H]:[`DBProxyEndpointAlreadyExistsFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Xtt,W0e);var Ztt=[-3,J,Q3e,{[H]:[`DBProxyEndpointNotFoundFault`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(Ztt,k1e);var Qtt=[-3,J,$3e,{[H]:[`DBProxyEndpointQuotaExceededFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Qtt,G0e);var $tt=[-3,J,u6e,{[H]:[`DBProxyNotFoundFault`,404],[W]:U,[G]:404},[K],[0]];Y.registerError($tt,A1e);var ent=[-3,J,f6e,{[H]:[`DBProxyQuotaExceededFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(ent,U0e);var tnt=[-3,J,p6e,{[H]:[`DBProxyTargetAlreadyRegisteredFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(tnt,U2e);var nnt=[-3,J,m6e,{[H]:[`DBProxyTargetGroupNotFoundFault`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(nnt,j1e);var rnt=[-3,J,h6e,{[H]:[`DBProxyTargetNotFoundFault`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(rnt,k2e);var int=[-3,J,y6e,{[H]:[`DBSecurityGroupAlreadyExists`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(int,q0e);var ant=[-3,J,O6e,{[H]:[`DBSecurityGroupNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(ant,V1e);var ont=[-3,J,M6e,{[H]:[`DBSecurityGroupNotSupported`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(ont,J0e);var snt=[-3,J,N6e,{[H]:[`QuotaExceeded.DBSecurityGroup`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(snt,Y0e);var cnt=[-3,J,b6e,{[H]:[`DBShardGroupAlreadyExists`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(cnt,X0e);var lnt=[-3,J,k6e,{[H]:[`DBShardGroupNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(lnt,M1e);var unt=[-3,J,_6e,{[H]:[`DBSnapshotAlreadyExists`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(unt,e0e);var dnt=[-3,J,L6e,{[H]:[`DBSnapshotNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(dnt,N1e);var fnt=[-3,J,z6e,{[H]:[`DBSnapshotTenantDatabaseNotFoundFault`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(fnt,P1e);var pnt=[-3,J,x6e,{[H]:[`DBSubnetGroupAlreadyExists`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(pnt,$0e);var mnt=[-3,J,C6e,{[H]:[`DBSubnetGroupDoesNotCoverEnoughAZs`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(mnt,y0e);var hnt=[-3,J,D6e,{[H]:[`DBSubnetGroupNotAllowedFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(hnt,V0e);var gnt=[-3,J,A6e,{[H]:[`DBSubnetGroupNotFoundFault`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(gnt,b0e);var _nt=[-3,J,P6e,{[H]:[`DBSubnetGroupQuotaExceeded`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(_nt,e2e);var vnt=[-3,J,R6e,{[H]:[`DBSubnetQuotaExceededFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(vnt,t2e);var ynt=[-3,J,V6e,{[H]:[`DBUpgradeDependencyFailure`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(ynt,z2e);var bnt=[-3,J,w8e,{[H]:[`DomainNotFoundFault`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(bnt,x0e);var xnt=[-3,J,F8e,{[H]:[`Ec2ImagePropertiesNotSupportedFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(xnt,g0e);var Snt=[-3,J,V8e,{[H]:[`EventSubscriptionQuotaExceeded`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Snt,n2e);var Cnt=[-3,J,H8e,{[H]:[`ExportTaskAlreadyExists`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Cnt,Z2e);var wnt=[-3,J,U8e,{[H]:[`ExportTaskNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(wnt,U1e);var Tnt=[-3,J,e5e,{[H]:[`GlobalClusterAlreadyExistsFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Tnt,c2e);var Ent=[-3,J,t5e,{[H]:[`GlobalClusterNotFoundFault`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(Ent,S0e);var Dnt=[-3,J,n5e,{[H]:[`GlobalClusterQuotaExceededFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Dnt,l2e);var Ont=[-3,J,W5e,{[H]:[`IamRoleMissingPermissions`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Ont,Q2e);var knt=[-3,J,G5e,{[H]:[`IamRoleNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(knt,$2e);var Ant=[-3,J,V5e,{[H]:[`InstanceQuotaExceeded`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Ant,c0e);var jnt=[-3,J,o5e,{[H]:[`InsufficientAvailableIPsInSubnetFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(jnt,W2e);var Mnt=[-3,J,f5e,{[H]:[`InsufficientDBClusterCapacityFault`,403],[W]:U,[G]:403},[K],[0]];Y.registerError(Mnt,J2e);var Nnt=[-3,J,v5e,{[H]:[`InsufficientDBInstanceCapacity`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Nnt,C0e);var Pnt=[-3,J,Y5e,{[H]:[`InsufficientStorageClusterCapacity`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Pnt,w0e);var Fnt=[-3,J,a5e,{[H]:[`IntegrationAlreadyExistsFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Fnt,d2e);var Int=[-3,J,u5e,{[H]:[`IntegrationConflictOperationFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Int,f2e);var Lnt=[-3,J,R5e,{[H]:[`IntegrationNotFoundFault`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(Lnt,F1e);var Rnt=[-3,J,H5e,{[H]:[`IntegrationQuotaExceededFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Rnt,p2e);var znt=[-3,J,c5e,{[H]:[`InvalidBlueGreenDeploymentStateFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(znt,h2e);var Bnt=[-3,J,l5e,{[H]:[`InvalidCustomDBEngineVersionStateFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Bnt,_0e);var Vnt=[-3,J,d5e,{[H]:[`InvalidDBClusterAutomatedBackupStateFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Vnt,v2e);var Hnt=[-3,J,p5e,{[H]:[`InvalidDBClusterCapacityFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Hnt,I2e);var Unt=[-3,J,m5e,{[H]:[`InvalidDBClusterEndpointStateFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Unt,I1e);var Wnt=[-3,J,g5e,{[H]:[`InvalidDBClusterSnapshotStateFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Wnt,X1e);var Gnt=[-3,J,h5e,{[H]:[`InvalidDBClusterStateFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Gnt,x1e);var Knt=[-3,J,_5e,{[H]:[`InvalidDBInstanceAutomatedBackupState`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Knt,C2e);var qnt=[-3,J,y5e,{[H]:[`InvalidDBInstanceState`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(qnt,T1e);var Jnt=[-3,J,x5e,{[H]:[`InvalidDBParameterGroupState`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Jnt,b2e);var Ynt=[-3,J,b5e,{[H]:[`InvalidDBProxyEndpointStateFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Ynt,w2e);var Xnt=[-3,J,S5e,{[H]:[`InvalidDBProxyStateFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Xnt,K0e);var Znt=[-3,J,w5e,{[H]:[`InvalidDBSecurityGroupState`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Znt,H1e);var Qnt=[-3,J,T5e,{[H]:[`InvalidDBShardGroupState`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Qnt,u2e);var $nt=[-3,J,D5e,{[H]:[`InvalidDBSnapshotState`,400],[W]:U,[G]:400},[K],[0]];Y.registerError($nt,t0e);var ert=[-3,J,C5e,{[H]:[`InvalidDBSubnetGroupFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(ert,T0e);var trt=[-3,J,E5e,{[H]:[`InvalidDBSubnetGroupStateFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(trt,E0e);var nrt=[-3,J,O5e,{[H]:[`InvalidDBSubnetStateFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(nrt,T2e);var rrt=[-3,J,A5e,{[H]:[`InvalidEventSubscriptionState`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(rrt,E2e);var irt=[-3,J,k5e,{[H]:[`InvalidExportOnly`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(irt,e4e);var art=[-3,J,j5e,{[H]:[`InvalidExportSourceState`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(art,t4e);var ort=[-3,J,M5e,{[H]:[`InvalidExportTaskStateFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(ort,W1e);var srt=[-3,J,N5e,{[H]:[`InvalidGlobalClusterStateFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(srt,D0e);var crt=[-3,J,F5e,{[H]:[`InvalidIntegrationStateFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(crt,D2e);var lrt=[-3,J,z5e,{[H]:[`InvalidOptionGroupStateFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(lrt,O2e);var urt=[-3,J,K5e,{[H]:[`InvalidResourceStateFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(urt,P2e);var drt=[-3,J,U5e,{[H]:[`InvalidRestoreFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(drt,Y2e);var frt=[-3,J,J5e,{[H]:[`InvalidS3BucketFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(frt,q2e);var prt=[-3,J,q5e,{[H]:[`InvalidSubnet`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(prt,O0e);var mrt=[-3,J,Q5e,{[H]:[`InvalidVPCNetworkStateFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(mrt,k0e);var hrt=[-3,J,n7e,{[H]:[`KMSKeyNotAccessibleFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(hrt,Z1e);var grt=[-3,J,S7e,{[H]:[`MaxDBShardGroupLimitReached`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(grt,Z0e);var _rt=[-3,J,I7e,{[H]:[`NetworkTypeNotSupported`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(_rt,A0e);var vrt=[-3,J,H7e,{[H]:[`OptionGroupAlreadyExistsFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(vrt,n0e);var yrt=[-3,J,G7e,{[H]:[`OptionGroupNotFoundFault`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(yrt,r0e);var brt=[-3,J,K7e,{[H]:[`OptionGroupQuotaExceededFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(brt,i0e);var xrt=[-3,J,e9e,{[H]:[`PointInTimeRestoreNotEnabled`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(xrt,X2e);var Srt=[-3,J,$7e,{[H]:[`ProvisionedIopsNotAvailableInAZFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Srt,z0e);var Crt=[-3,J,o9e,{[H]:[`ReservedDBInstanceAlreadyExists`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(Crt,V2e);var wrt=[-3,J,d9e,{[H]:[`ReservedDBInstanceNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(wrt,M2e);var Trt=[-3,J,p9e,{[H]:[`ReservedDBInstanceQuotaExceeded`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Trt,H2e);var Ert=[-3,J,f9e,{[H]:[`ReservedDBInstancesOfferingNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(Ert,N2e);var Drt=[-3,J,v9e,{[H]:[`ResourceNotFoundFault`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(Drt,R1e);var Ort=[-3,J,Net,{[H]:[`SharedSnapshotQuotaExceeded`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Ort,R2e);var krt=[-3,J,Det,{[H]:[`SnapshotQuotaExceeded`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(krt,Q1e);var Art=[-3,J,xet,{[H]:[`SNSInvalidTopic`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Art,r2e);var jrt=[-3,J,Cet,{[H]:[`SNSNoAuthorization`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(jrt,i2e);var Mrt=[-3,J,wet,{[H]:[`SNSTopicArnNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(Mrt,a2e);var Nrt=[-3,J,H9e,{[H]:[`SourceClusterNotSupportedFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Nrt,l0e);var Prt=[-3,J,net,{[H]:[`SourceDatabaseNotSupportedFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Prt,u0e);var Frt=[-3,J,yet,{[H]:[`SourceNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(Frt,E1e);var Irt=[-3,J,Oet,{[H]:[`StorageQuotaExceeded`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Irt,d0e);var Lrt=[-3,J,Let,{[H]:[`StorageTypeNotAvailableFault`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Lrt,L2e);var Rrt=[-3,J,Ret,{[H]:[`StorageTypeNotSupported`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Rrt,j0e);var zrt=[-3,J,N9e,{[H]:[`SubnetAlreadyInUse`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(zrt,B2e);var Brt=[-3,J,M9e,{[H]:[`SubscriptionAlreadyExist`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Brt,o2e);var Vrt=[-3,J,V9e,{[H]:[`SubscriptionCategoryNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(Vrt,s2e);var Hrt=[-3,J,bet,{[H]:[`SubscriptionNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(Hrt,D1e);var Urt=[-3,J,Wet,{[H]:[`TenantDatabaseAlreadyExists`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Urt,m2e);var Wrt=[-3,J,Get,{[H]:[`TenantDatabaseNotFound`,404],[W]:U,[G]:404},[K],[0]];Y.registerError(Wrt,L1e);var Grt=[-3,J,Ket,{[H]:[`TenantDatabaseQuotaExceeded`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Grt,B0e);var Krt=[-3,J,Qet,{[H]:[`UnsupportedDBEngineVersion`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(Krt,Q0e);var qrt=[-3,J,ett,{[H]:[`VpcEncryptionControlViolationException`,400],[W]:U,[G]:400},[K],[0]];Y.registerError(qrt,M0e);var Jrt=[k3,Y],A3=[0,J,jet,8,0],Yrt=[3,J,x4e,0,[C3,F0,Y2,Q2,i3,s3],[0,1,1,1,1,0],1],Xrt=[3,J,C4e,0,[C3,l3,e3,$4,F0,Y2,Q2,i3,s3],[0,0,0,1,1,1,1,1,0]],Zrt=[3,J,D4e,0,[R4,f3],[0,[()=>q3,0]],2],j3=[3,J,R0,0,[g4],[0]],Qrt=[3,J,A0,0,[n3,r3,q4,s3,o4,s4,T7e,O7e,e4,t4,k7e,P7e],[2,2,2,0,1,1,1,1,1,1,1,1]],$rt=[3,J,P0,0,[g4,k8e,L0],[0,0,0]],eit=[3,J,U0,0,[I4e,itt],[0,4]],M3=[3,J,K0,0,[q0,a3e],[0,0]],tit=[3,J,G0,0,[L8e,x8e],[64,64]],nit=[3,J,G4e,0,[o2,a2,N2,l2,F0,l4,d4,v2,w3,R0,_2,j4,f2,B0,w4,S4,$2,B2,N0,Z2,K2,i3,x4,q0,_4,C4,f3,Z0,s3,p3,m3,H4,X2,M2,w2,k2,X0,C2,J0,n4,a4,T2,N4,v3,L2,E2,z2,O4,k4,F2,E4,A2,Q2,I2,v4,V0,W0,x2,H0,r4,p4,c4,D2,R2,I0,g3,u4],[0,0,0,0,1,0,[()=>A3,0],[()=>V3,0],[()=>Y3,0],0,0,0,0,1,0,1,2,0,2,0,1,1,0,0,0,2,[()=>q3,0],0,0,0,[()=>A3,0],2,0,0,0,0,0,64,2,1,0,0,1,0,2,0,2,0,1,64,[()=>G3,0],2,1,2,0,0,0,0,0,2,0,2,2,0,()=>z3,[()=>J3,0],0],3],rit=[3,J,K4e,0,[$0],[[()=>N3,0]]],iit=[3,J,q4e,0,[f2,d2,Y0,f3],[0,0,0,[()=>q3,0]],3],ait=[3,J,J4e,0,[u2],[()=>P3]],oit=[3,J,$4e,0,[S2,o2,f3],[0,0,[()=>q3,0]],2],sit=[3,J,e3e,0,[m2],[[()=>F3,0]]],cit=[3,J,X4e,0,[_2,h2,met,f3],[0,0,[()=>Gat,0],[()=>q3,0]],3],lit=[3,J,Z4e,0,[y2],[[()=>I3,0]]],uit=[3,J,B4e,0,[P5e,u3],[0,0]],dit=[3,J,Q0,0,[N2,C7e,B2,v8e,y8e,_8e,V4e,d2,w3e,E3e,D3e,H6e,Q8e,$5e,T3e,t7e,o3e,W9e,vet,att,Het,R8e,_et,Aet,U4,oet,u3,t3,G4,h3,V4,X4,U9e,B9e,Z4,Y4,c3],[0,0,0,0,0,64,0,0,0,0,0,()=>M3,0,()=>uit,0,0,4,[()=>K3,0],[()=>K3,0],[()=>Jat,0],[()=>qat,0],64,2,2,64,64,0,2,2,[()=>q3,0],2,2,2,64,2,2,()=>dat]],fit=[3,J,k3e,0,[m4,A3e],[0,[()=>Dat,0]]],N3=[3,J,$0,0,[o2,a2,N2,K3e,l4,l2,H2,F0,J2,w4,B0,v2,ttt,p2,R0,y2,j4,$et,A4,i7e,$2,B2,N0,D9e,C9e,b9e,L4,Z2,K2,i3,U7e,q0,_4,L9e,C4,pet,s3,W4,p3,b8e,Z0,H4,X2,j2,H0,S8e,J0,n4,z8e,a4,N4,e2,v3,q2,E2,Q7e,O4,k4,N8e,E4,A2,f4e,r7e,Q2,h3,M0,I4,r3e,v4,b4e,g4e,_4e,v4e,h4e,j0,r2,V0,p4e,W0,y4e,U0,x2,f4,E9e,M4,c4,D2,X5e,R2,I0,l3,e3,$4],[0,0,0,0,0,0,()=>L3,1,4,0,1,[()=>Pat,0],[()=>Yat,0],[()=>Nat,0],0,[()=>I3,0],0,0,[()=>rat,0],4,2,0,2,0,[()=>Wat,0],[()=>Uat,0],0,0,1,1,[()=>Vat,0],0,0,0,2,[()=>jat,0],0,0,0,1,0,2,0,0,0,[()=>Lat,0],2,1,0,0,1,0,0,2,0,2,0,1,64,[()=>G3,0],2,[()=>Aat,0],()=>L3,1,[()=>q3,0],0,4,2,0,0,0,0,0,2,0,[()=>B3,0],0,4,0,0,()=>eit,0,()=>Kit,0,0,2,2,2,0,()=>Cat,0,0,1]],pit=[3,J,t2,0,[e2,j2,i9e,o2,z4,F0,u3,S4,R0,S3,J2,l4,N2,B2,Z2,K2,i3,x4,p3,V2,W4,s3,X2,v3,q2,B0,w4,n2,r2,V0,c4,j0,h3,D2,I0],[0,0,0,0,()=>uat,1,0,1,0,0,4,0,0,0,0,1,1,0,0,2,0,0,0,0,2,1,0,0,[()=>B3,0],0,2,0,[()=>q3,0],2,()=>z3]],mit=[3,J,M3e,0,[m4,I3e],[0,[()=>Oat,0]]],hit=[3,J,i2,0,[n2],[0]],git=[3,J,z3e,0,[m4,J3e],[0,[()=>kat,0]]],_it=[3,J,s2,0,[a9e,X8e,u3],[0,0,0]],vit=[3,J,c2,0,[Bet,L7e,u3,h4],[0,2,0,0]],P3=[3,J,u2,0,[f2,d2,Y0,e6e],[0,0,0,0]],yit=[3,J,n6e,0,[P4,m4],[[()=>W3,0],0]],bit=[3,J,o6e,0,[f2],[0]],xit=[3,J,i6e,0,[m4,p2],[0,[()=>Mat,0]]],Sit=[3,J,c6e,0,[f2,X7e],[0,0]],Cit=[3,J,w6e,0,[g2,u3],[0,0]],F3=[3,J,m2,0,[S2,o2,K9e,N2,F0,u3,S4,R0,S3,J2,l4,B2,Z2,a3,K2,i3,x4,M4,ket,eet,s3,p3,V2,W4,B0,w4,X2,g6e,v3,q2,E4,j2,h3,zet,q7e,ret,x2,c4,D2,I0,I9e],[0,0,4,0,1,0,1,0,0,4,0,0,0,0,1,1,0,1,0,0,0,0,2,0,1,0,0,0,0,2,[()=>G3,0],0,[()=>q3,0],0,4,4,0,2,2,()=>z3,0]],wit=[3,J,I6e,0,[m4,B6e],[0,[()=>Fat,0]]],I3=[3,J,y2,0,[_2,h2,S3,cet,Uet,S6e,Q4],[0,0,0,0,[()=>Kat,0],0,64]],Tit=[3,J,E6e,0,[m4,b2],[0,[()=>Iat,0]]],Eit=[3,J,Y6e,0,[o2,set,q8e,s3e],[0,2,0,2],1],Dit=[3,J,Z6e,0,[$0],[[()=>N3,0]]],Oit=[3,J,e8e,0,[f2],[0],1],kit=[3,J,u8e,0,[S2],[0],1],Ait=[3,J,f8e,0,[m2],[[()=>F3,0]]],jit=[3,J,o8e,0,[_2],[0],1],Mit=[3,J,G6e,0,[N2,B2,d2,W2,i4,m4,D8e,a7e,o7e,i5e],[0,0,0,[()=>U3,0],1,0,2,2,2,2]],Nit=[3,J,q6e,0,[j2,o2,W2,i4,m4,n2],[0,0,[()=>U3,0],1,0,0]],Pit=[3,J,X6e,0,[o2,W2,i4,m4],[0,[()=>U3,0],1,0]],Fit=[3,J,t8e,0,[f2,W2,i4,m4],[0,[()=>U3,0],1,0]],Iit=[3,J,r8e,0,[f2,B4,W2,i4,m4],[0,0,[()=>U3,0],1,0],1],Lit=[3,J,d8e,0,[o2,S2,a3,W2,i4,m4,Z5e,B5e,j2],[0,0,0,[()=>U3,0],1,0,2,2,0]],Rit=[3,J,s8e,0,[_2,W2,i4,m4],[0,[()=>U3,0],1,0]],zit=[3,J,h8e,0,[K4,o3,Vet,G8e,j8e,P2,W2,i4,m4],[0,0,4,4,1,[()=>H3,0],[()=>U3,0],1,0]],Bit=[3,J,E8e,0,[N2,B2,a2,Z2,z0,D3,W2,i4,m4],[0,0,0,0,0,2,[()=>U3,0],1,0],1],Vit=[3,J,O2,0,[M2,u3,Z8e,s5e,J7e,m4e,g8e],[0,0,0,0,0,0,64]],L3=[3,J,H2,0,[j4e,S4,r5e],[0,1,0]],Hit=[3,J,U2,0,[K4,o3,h4,P2,A8e,j9e],[0,0,0,[()=>H3,0],4,0]],Uit=[3,J,B8e,0,[m4,K8e],[0,[()=>Rat,0]]],Wit=[3,J,G2,0,[g4,stt],[0,[()=>zat,0]],2],Git=[3,J,l7e,0,[R4,W2],[0,[()=>U3,0]],1],Kit=[3,J,f4,0,[z9e,Pet,X2],[0,0,0]],qit=[3,J,f7e,0,[C3,F0,Y2,Q2,i3,s3,aet],[0,1,1,1,1,0,2],1],Jit=[3,J,v7e,0,[o2,F0,a2,_2,v2,w3,a4e,d4,f2,B0,w4,j4,$2,B2,o4e,N0,Z2,K2,i3,x4,F7e,s3,p3,m3,H0,M2,w2,k2,X0,C2,U6e,J0,n4,d6e,C4,a4,T2,N4,L2,E2,z2,O4,k4,G0,E4,y3,A2,Q2,i3e,L4,M0,g9e,I2,v4,j0,r4,_9e,p4,c4,D2,N2,I0,g3,u4,R2],[0,1,0,0,[()=>V3,0],[()=>Y3,0],2,[()=>A3,0],0,1,0,0,2,0,2,2,0,1,1,0,0,0,0,[()=>A3,0],0,0,0,0,0,64,2,2,1,1,2,0,0,1,2,0,2,0,1,()=>tit,[()=>G3,0],2,2,1,2,0,0,1,2,0,0,2,2,0,2,2,0,()=>Bat,[()=>J3,0],0,0],1],Yit=[3,J,y7e,0,[$0],[[()=>N3,0]]],Xit=[3,J,x7e,0,[f2,P4],[0,[()=>W3,0]],2],Zit=[3,J,b4,0,[x4,u3],[0,0]],Qit=[3,J,y4,0,[N2,B2,a2,Z2,z0,A4e,m7e,y9e,D3,Met,s3,q4,r3,iet,det,Eet,o4,s4,E7e,D7e,e4,t4,A7e,j7e,M7e,N7e,u4e,U4,n3,het,R7e,P9e,G4,Q4,q9e,tet,F9e,uet,i4e],[0,0,0,0,0,[()=>wat,0],2,2,2,2,0,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,[()=>Eat,0],64,2,2,2,64,2,64,2,2,2,2,[()=>Tat,0]]],$it=[3,J,B7e,0,[V7e,m4],[[()=>Hat,0],0]],eat=[3,J,Y7e,0,[M4e],[0]],tat=[3,J,F4,0,[n9e,r9e,Y0,B4,T4e,O8e,L0,I5e,w7e,s4e,U4],[0,0,0,0,0,0,0,2,0,0,64]],nat=[3,J,T4,0,[d7e,u7e],[64,64]],rat=[3,J,A4,0,[a2,F0,d4,S4,B0,$2,B2,Z2,K2,i3,o2,s3,H0,_2,T4,E4,M0,I4,c4,q2,D2,N2,I0],[0,1,[()=>A3,0],1,1,2,0,0,1,1,0,0,0,0,()=>nat,[()=>G3,0],0,4,2,2,2,0,()=>z3]],iat=[3,J,D4,0,[g4,x3],[0,0]],aat=[3,J,u9e,0,[o2,J8e],[0,2],1],oat=[3,J,m9e,0,[$0],[[()=>N3,0]]],sat=[3,J,k9e,0,[R4,qet],[0,64],2],cat=[3,J,c9e,0,[o2,S2,a2,S4,R0,_2,$2,C4,N0,Z2,l2,N2,K2,i3,x4,f3,s3,p3,m3,w3,M2,w2,k2,X0,C2,J0,T2,L2,F2,E4,y3,f2,A2,I2,v4,V0,W0,F0,S3e,B0,w4,D2,H0,R2,I0,g3,r4,p4],[0,0,0,1,0,0,2,2,2,0,0,0,1,1,0,[()=>q3,0],0,0,[()=>A3,0],[()=>Y3,0],0,0,0,0,64,2,0,2,64,[()=>G3,0],2,0,2,2,0,0,0,1,0,1,0,2,0,0,()=>z3,[()=>J3,0],2,0],1],lat=[3,J,l9e,0,[$0],[[()=>N3,0]]],uat=[3,J,z4,0,[W8e,s7e],[4,4]],dat=[3,J,c3,0,[h7e,g7e],[1,1]],fat=[3,J,Y9e,0,[o2],[0],1],pat=[3,J,Z9e,0,[$0],[[()=>N3,0]]],mat=[3,J,X9e,0,[o2,S2],[0,0],1],hat=[3,J,Q9e,0,[$0],[[()=>N3,0]]],gat=[3,J,d3,0,[J4,R9e,Tet,Fet],[0,()=>j3,()=>eat,0]],_at=[3,J,_3,0,[e7e,x3],[0,0]],vat=[3,J,Jet,0,[h3],[[()=>q3,0]]],yat=[3,J,Zet,0,[A9e,f3],[0,[()=>q3,0]]],bat=[3,J,v3,0,[Yet],[0]],xat=[3,J,b3,0,[N2,B2,Y0,O4e,L5e,U4,t3,G4,V4,X4,Z4,Y4],[0,0,0,2,2,64,2,2,2,2,2,2]],Sat=[3,J,E3,0,[T3,u3],[0,0]],R3=`unit`,z3=[1,J,S4e,0,()=>Yrt],Cat=[1,J,w4e,0,()=>Xrt],wat=[1,J,k4e,0,[()=>j3,{[q]:R0}]],Tat=[1,J,r4e,0,[()=>Qrt,{[q]:A0}]],Eat=[1,J,l4e,0,[()=>$rt,{[q]:P0}]],Dat=[1,J,O3e,0,[()=>dit,{[q]:Q0}]],Oat=[1,J,j3e,0,[()=>pit,{[q]:t2}]],B3=[1,J,F3e,0,[()=>hit,{[q]:i2}]],kat=[1,J,R3e,0,[()=>N3,{[q]:$0}]],Aat=[1,J,G3e,0,[()=>_it,{[q]:s2}]],jat=[1,J,q3e,0,[()=>vit,{[q]:c2}]],Mat=[1,J,r6e,0,[()=>P3,{[q]:u2}]],Nat=[1,J,l6e,0,[()=>Sit,{[q]:u2}]],Pat=[1,J,T6e,0,[()=>Cit,{[q]:v6e}]],V3=[1,J,j6e,0,[0,{[q]:g2}]],Fat=[1,J,F6e,0,[()=>F3,{[q]:m2}]],Iat=[1,J,b2,0,[()=>I3,{[q]:y2}]],Lat=[1,J,C8e,0,[()=>Vit,{[q]:O2}]],H3=[1,J,M8e,0,[0,{[q]:P8e}]],Rat=[1,J,I8e,0,[()=>Hit,{[q]:U2}]],U3=[1,J,Y8e,0,[()=>Wit,{[q]:G2}]],zat=[1,J,$8e,0,[0,{[q]:x3}]],Bat=[1,J,p7e,0,()=>qit],Vat=[1,J,W7e,0,[()=>Zit,{[q]:b4}]],Hat=[1,J,z7e,0,[()=>Qit,{[q]:y4}]],W3=[1,J,t9e,0,[()=>tat,{[q]:F4}]],G3=[1,J,Z7e,0,[()=>iat,{[q]:D4}]],Uat=[1,J,x9e,0,[0,{[q]:S9e}]],Wat=[1,J,w9e,0,[0,{[q]:T9e}]],Gat=[1,J,fet,0,[0,{[q]:J4}]],Kat=[1,J,get,0,[()=>gat,{[q]:d3}]],K3=[1,J,G9e,0,[()=>M3,{[q]:K0}]],qat=[1,J,Iet,0,[()=>bat,{[q]:v3}]],q3=[1,J,h3,0,[()=>_at,{[q]:_3}]],J3=[1,J,Xet,0,[()=>yat,{[q]:ctt}]],Jat=[1,J,ott,0,[()=>xat,{[q]:b3}]],Y3=[1,J,ntt,0,[0,{[q]:T3}]],Yat=[1,J,rtt,0,[()=>Sat,{[q]:E3}]],Xat=[9,J,E4e,0,()=>Zrt,()=>R3],Zat=[9,J,W4e,0,()=>nit,()=>rit],Qat=[9,J,Y4e,0,()=>iit,()=>ait],$at=[9,J,t3e,0,()=>oit,()=>sit],eot=[9,J,Q4e,0,()=>cit,()=>lit],tot=[9,J,K6e,0,()=>Eit,()=>Dit],not=[9,J,$6e,0,()=>Oit,()=>R3],rot=[9,J,a8e,0,()=>kit,()=>Ait],iot=[9,J,c8e,0,()=>jit,()=>R3],aot=[9,J,W6e,0,()=>Mit,()=>fit],oot=[9,J,J6e,0,()=>Nit,()=>mit],sot=[9,J,Q6e,0,()=>Pit,()=>git],cot=[9,J,n8e,0,()=>Fit,()=>xit],lot=[9,J,i8e,0,()=>Iit,()=>yit],uot=[9,J,p8e,0,()=>Lit,()=>wit],dot=[9,J,l8e,0,()=>Rit,()=>Tit],fot=[9,J,m8e,0,()=>zit,()=>Uit],pot=[9,J,T8e,0,()=>Bit,()=>$it],mot=[9,J,c7e,0,()=>Git,()=>vat],hot=[9,J,_7e,0,()=>Jit,()=>Yit],got=[9,J,b7e,0,()=>Xit,()=>bit],_ot=[9,J,h9e,0,()=>aat,()=>oat],vot=[9,J,O9e,0,()=>sat,()=>R3],yot=[9,J,s9e,0,()=>cat,()=>lat],bot=[9,J,J9e,0,()=>fat,()=>pat],xot=[9,J,$9e,0,()=>mat,()=>hat],Sot=e=>({apiVersion:`2014-10-31`,base64Decoder:e?.base64Decoder??qe,base64Encoder:e?.base64Encoder??_e,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??_1e,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??c1e,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new ge}],logger:e?.logger??new Ge,protocol:e?.protocol??ze,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.rds`,errorTypeRegistries:Jrt,xmlNamespace:`http://rds.amazonaws.com/doc/2014-10-31/`,version:`2014-10-31`,serviceTarget:`AmazonRDSv19`},serviceId:e?.serviceId??`RDS`,sha256:e?.sha256??Ve,urlParser:e?.urlParser??Te,utf8Decoder:e?.utf8Decoder??lt,utf8Encoder:e?.utf8Encoder??ut}),Cot=e=>{let t=We(e),n=()=>t().then(ye),r=Sot(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Fe,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??ve({serviceId:r.serviceId,clientVersion:f1e.version}),maxAttempts:e?.maxAttempts??3,region:e?.region??De(`Region is missing`),requestHandler:Ce.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||ce),streamCollector:e?.streamCollector??Ie,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},wot=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}}},Tot=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),Eot=(e,n)=>{let r=Object.assign(Ke(e),pe(e),je(e),wot(e));return n.forEach(e=>e.configure(r)),Object.assign(e,t(r),he(r),be(r),Tot(r))},Dot=class extends i{config;constructor(...[e]){let t=Cot(e||{});super(t),this.initConfig=t;let n=u1e(t),i=oe(n),a=Qe(i),o=fe(a),s=Oe(o),c=Eot(l1e(Re(s)),e?.extensions||[]);this.config=c,this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(te(this.config)),this.middlewareStack.use(le(this.config)),this.middlewareStack.use(Ae(this.config)),this.middlewareStack.use(we(this.config)),this.middlewareStack.use(ae(this.config)),this.middlewareStack.use(Ee(this.config)),this.middlewareStack.use(r(this.config,{httpAuthSchemeParametersProvider:o1e,identityProviderConfigProvider:async e=>new de({"aws.auth#sigv4":e.credentials})})),this.middlewareStack.use(xe(this.config))}destroy(){super.destroy()}},X3={WHEN_SUPPORTED:`WHEN_SUPPORTED`,WHEN_REQUIRED:`WHEN_REQUIRED`},Oot=X3.WHEN_SUPPORTED,Z3={WHEN_SUPPORTED:`WHEN_SUPPORTED`,WHEN_REQUIRED:`WHEN_REQUIRED`},kot=X3.WHEN_SUPPORTED,Q3;(function(e){e.MD5=`MD5`,e.CRC32=`CRC32`,e.CRC32C=`CRC32C`,e.CRC64NVME=`CRC64NVME`,e.SHA1=`SHA1`,e.SHA256=`SHA256`})(Q3||={});var Aot;(function(e){e.HEADER=`header`,e.TRAILER=`trailer`})(Aot||={});var $3=Q3.CRC32,jot=(e,{requestChecksumRequired:t,requestAlgorithmMember:n,requestChecksumCalculation:r})=>{if(!n)return r===X3.WHEN_SUPPORTED||t?$3:void 0;if(e[n])return e[n]},e6=e=>e===Q3.MD5?`content-md5`:`x-amz-checksum-${e.toLowerCase()}`,Mot=(e,t)=>{let n=e.toLowerCase();for(let e of Object.keys(t))if(n===e.toLowerCase())return!0;return!1},Not=(e,t)=>{let n=e.toLowerCase();for(let e of Object.keys(t))if(e.toLowerCase().startsWith(n))return!0;return!1},t6=e=>e!==void 0&&typeof e!=`string`&&!ArrayBuffer.isView(e)&&!cee(e),n6=new Uint32Array(256);for(let e=0;e<256;++e){let t=e;for(let e=0;e<8;++e)t=t&1?2197175160^t>>>1:t>>>1;n6[e]=t>>>0}var Pot=class{digestLength=4;crc=4294967295;update(e){let t=this.crc;for(let n=0;n>>8^n6[(t^e[n])&255];this.crc=t}async digest(){let e=(this.crc^4294967295)>>>0,t=new Uint8Array(4);return t[0]=e>>>24,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=e&255,t}reset(){this.crc=4294967295}},Fot=()=>{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},r6,i6,a6,o6,s6,c6,l6,u6,d6,Iot=()=>{r6||(r6=Fot(),[i6,a6,o6,s6,c6,l6,u6,d6]=r6)},Lot=class{c1=0;c2=0;constructor(){Iot(),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,ee=((r>>>16^e[n++])&255)<<1,te=((r>>>24^e[n++])&255)<<1;r=d6[t]^u6[a]^l6[o]^c6[s]^s6[c]^o6[l]^a6[ee]^i6[te],i=d6[t+1]^u6[a+1]^l6[o+1]^c6[s+1]^s6[c+1]^o6[l+1]^a6[ee+1]^i6[te+1]}for(;n>>8|(r&255)<<24)>>>0,r=r>>>8^i6[t],i^=i6[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}},Rot=[Q3.CRC32,Q3.CRC32C,Q3.CRC64NVME,Q3.SHA1,Q3.SHA256],f6=[Q3.SHA256,Q3.SHA1,Q3.CRC32,Q3.CRC32C,Q3.CRC64NVME],p6=(e,t)=>{let{checksumAlgorithms:n={}}=t;switch(e){case Q3.MD5:return n?.MD5??t.md5;case Q3.CRC32:return n?.CRC32??pee;case Q3.CRC32C:return n?.CRC32C??Pot;case Q3.CRC64NVME:return n?.CRC64NVME??Lot;case Q3.SHA1:return n?.SHA1??t.sha1;case Q3.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 ${Rot}, or provide an implementation to the client constructor checksums field.`)}},m6=(e,t)=>{let n=new e;return n.update(st(t||``)),n.digest()},zot={name:`flexibleChecksumsMiddleware`,step:`build`,tags:[`BODY_CHECKSUM`],override:!0},Bot=(e,t)=>(n,r)=>async i=>{if(!ue.isInstance(i.request)||Not(`x-amz-checksum-`,i.request.headers))return n(i);let{request:a,input:o}=i,{body:s,headers:c}=a,{base64Encoder:l,streamHasher:ee}=e,{requestChecksumRequired:te,requestAlgorithmMember:ne}=t,ie=await e.requestChecksumCalculation(),ae=ne?.name,oe=ne?.httpHeader;ae&&!o[ae]&&(ie===X3.WHEN_SUPPORTED||te)&&(o[ae]=$3,oe&&(c[oe]=$3));let se=jot(o,{requestChecksumRequired:te,requestAlgorithmMember:ne?.name,requestChecksumCalculation:ie}),ce=s,le=c;if(se){switch(se){case Q3.CRC32:re(r,`FLEXIBLE_CHECKSUMS_REQ_CRC32`,`U`);break;case Q3.CRC32C:re(r,`FLEXIBLE_CHECKSUMS_REQ_CRC32C`,`V`);break;case Q3.CRC64NVME:re(r,`FLEXIBLE_CHECKSUMS_REQ_CRC64`,`W`);break;case Q3.SHA1:re(r,`FLEXIBLE_CHECKSUMS_REQ_SHA1`,`X`);break;case Q3.SHA256:re(r,`FLEXIBLE_CHECKSUMS_REQ_SHA256`,`Y`)}let t=e6(se),n=p6(se,e);if(t6(s)){let{getAwsChunkedEncodingStream:i,bodyLengthChecker:a}=e;ce=i(typeof e.requestStreamBufferSize==`number`&&e.requestStreamBufferSize>=8192?vee(s,e.requestStreamBufferSize,r.logger):s,{base64Encoder:l,bodyLengthChecker:a,checksumLocationName:t,checksumAlgorithmFn:n,streamHasher:ee}),le={...c,"content-encoding":c[`content-encoding`]?`${c[`content-encoding`]},aws-chunked`:`aws-chunked`,"transfer-encoding":`chunked`,"x-amz-decoded-content-length":c[`content-length`],"x-amz-content-sha256":`STREAMING-UNSIGNED-PAYLOAD-TRAILER`,"x-amz-trailer":t},delete le[`content-length`]}else if(!Mot(t,c)){let e=await m6(n,s);le={...c,[t]:l(e)}}}try{return await n({...i,request:{...a,headers:le,body:ce}})}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}},Vot={name:`flexibleChecksumsInputMiddleware`,toMiddleware:`serializerMiddleware`,relation:`before`,tags:[`BODY_CHECKSUM`],override:!0},Hot=(e,t)=>(n,r)=>async i=>{let a=i.input,{requestValidationModeMember:o}=t,s=await e.requestChecksumCalculation(),c=await e.responseChecksumValidation();switch(s){case X3.WHEN_REQUIRED:re(r,`FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED`,`a`);break;case X3.WHEN_SUPPORTED:re(r,`FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED`,`Z`)}switch(c){case Z3.WHEN_REQUIRED:re(r,`FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED`,`c`);break;case Z3.WHEN_SUPPORTED:re(r,`FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED`,`b`)}return o&&!a[o]&&c===Z3.WHEN_SUPPORTED&&(a[o]=`ENABLED`),n(i)},h6=(e=[])=>{let t=[],n=f6.length;for(let r of e){let e=f6.indexOf(r);e===-1?t[n++]=r:t[e]=r}return t.filter(Boolean)},Uot=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},Wot=async(e,{checksumAlgorithmFn:t,base64Encoder:n})=>n(await m6(t,e)),Got=async(e,{config:t,responseAlgorithms:n,logger:r})=>{let i=h6(n),{body:a,headers:o}=e;for(let n of i){let i=e6(n),s=o[i];if(s){let o;try{o=p6(n,t)}catch(e){if(n===Q3.CRC64NVME){r?.warn(`Skipping ${Q3.CRC64NVME} checksum validation: ${e.message}`);continue}throw e}let{base64Encoder:c}=t;if(t6(a)){e.body=hee({expectedChecksum:s,checksumSourceLocation:i,checksum:new o,source:a,base64Encoder:c});return}let l=await Wot(a,{checksumAlgorithmFn:o,base64Encoder:c});if(l===s)break;throw Error(`Checksum mismatch: expected "${l}" but received "${s}" in response header "${i}".`)}}},Kot={name:`flexibleChecksumsResponseMiddleware`,toMiddleware:`deserializerMiddleware`,relation:`after`,tags:[`BODY_CHECKSUM`],override:!0},qot=(e,t)=>(n,r)=>async i=>{if(!ue.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=e6(e);return s.headers[t]!==void 0}),a=h6([...l??[],...i]);if(t===`S3Client`&&n===`GetObjectCommand`&&a.every(e=>{let t=e6(e),n=s.headers[t];return!n||Uot(n)}))return o;await Got(s,{config:e,responseAlgorithms:a,logger:r.logger})}return o},g6=(e,t)=>({applyToStack:n=>{n.add(Bot(e,t),zot),n.addRelativeTo(Hot(e,t),Vot),n.addRelativeTo(qot(e,t),Kot)}}),Jot=e=>{let{requestChecksumCalculation:t,responseChecksumValidation:n,requestStreamBufferSize:r}=e;return Object.assign(e,{requestChecksumCalculation:ke(t??Oot),responseChecksumValidation:ke(n??kot),requestStreamBufferSize:Number(r??0),checksumAlgorithms:e.checksumAlgorithms??{}})},Yot=`content-length`,Xot=`x-amz-decoded-content-length`;function Zot(){return(e,t)=>async n=>{let{request:r}=n;if(ue.isInstance(r)&&!(Yot in r.headers)&&!(Xot 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 Ge)?t.logger.warn(e):console.warn(e)}return e({...n})}}var Qot={step:`finalizeRequest`,tags:[`CHECK_CONTENT_LENGTH_HEADER`],name:`getCheckContentLengthHeaderPlugin`,override:!0},$ot=e=>({applyToStack:e=>{e.add(Zot(),Qot)}}),est=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}},tst={tags:[`REGION_REDIRECT`,`S3`],name:`regionRedirectEndpointMiddleware`,override:!0,relation:`before`,toMiddleware:`endpointV2Middleware`};function nst(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 rst={step:`initialize`,tags:[`REGION_REDIRECT`,`S3`],name:`regionRedirectMiddleware`,override:!0},ist=e=>({applyToStack:t=>{t.add(nst(e),rst),t.addRelativeTo(est(e),tst)}}),ast=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 _6(Promise.resolve(e)))})),t)):i.set(r,new _6(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}}},sst=(e,{session:t})=>{let[n,r]=t,{forcePathStyle:i,useAccelerateEndpoint:a,disableMultiregionAccessPoints:o,followRegionRedirects:s,s3ExpressIdentityProvider:c,bucketEndpoint:l,expectContinueHeader:ee}=e;return Object.assign(e,{forcePathStyle:i??!1,useAccelerateEndpoint:a??!1,disableMultiregionAccessPoints:o??!1,followRegionRedirects:s??!1,s3ExpressIdentityProvider:c??new ost(async e=>n().send(new r({Bucket:e}))),bucketEndpoint:l??!1,expectContinueHeader:ee??2097152})},cst=e=>(e,t)=>async n=>{let r=await e(n),{response:i}=r;if(ie.isInstance(i)&&i.headers.expires){i.headers.expiresstring=i.headers.expires;try{c(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},lst={tags:[`S3`],name:`s3ExpiresMiddleware`,override:!0,relation:`after`,toMiddleware:`deserializerMiddleware`},ust=e=>({applyToStack:t=>{t.addRelativeTo(cst(e),lst)}}),dst=`sigv4-s3express`,fst=`x-amz-s3session-token`,pst=e=>(t,n)=>async r=>{if(n.endpointV2){let t=n.endpointV2,i=t.properties?.authSchemes?.[0]?.name===dst;if((t.properties?.backend===`S3Express`||t.properties?.bucketType===`Directory`)&&(re(n,`S3_EXPRESS_BUCKET`,`J`),n.isS3ExpressBucket=!0),i){let t=r.input.Bucket;if(t){let i=await e.s3ExpressIdentityProvider.getS3ExpressIdentity(await e.credentials(),{Bucket:t});n.s3ExpressIdentity=i,ue.isInstance(r.request)&&i.sessionToken&&(r.request.headers[fst]=i.sessionToken)}}}return t(r)},mst={name:`s3ExpressMiddleware`,step:`build`,tags:[`S3`,`S3_EXPRESS`],override:!0},hst=e=>({applyToStack:t=>{t.add(pst(e),mst)}}),gst=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},_st=e=>e=>{throw e},vst=(e,t)=>{},yst=e=>(t,n)=>async r=>{if(!ue.isInstance(r.request))return t(r);let i=$e(n).selectedHttpAuthScheme;if(!i)throw Error(`No HttpAuthScheme was selected: unable to sign request`);let{httpAuthOption:{signingProperties:a={}},identity:o,signer:s}=i,c;c=n.s3ExpressIdentity?await gst(n.s3ExpressIdentity,a,r.request,await e.signer()):await s.sign(r.request,o,a);let l=await t({...r,request:c}).catch((s.errorHandler||_st)(a));return(s.successHandler||vst)(l.response,a),l},bst=e=>({applyToStack:t=>{t.addRelativeTo(yst(e),uee)}});function xst(e){return new ReadableStream({start(t){t.enqueue(e),t.close()}})}var Sst={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},Cst=e=>(t,n)=>async r=>{let i=await t(r),{response:a}=i;if(!ie.isInstance(a))return i;let{statusCode:o,body:s}=a;if(o<200||o>=300)return i;let c=await wst(s,e);if(a.body=xst(c),c.length===0&&Sst[n.commandName]){let e=Error(`S3 aborted request`);throw e.$metadata={httpStatusCode:503},e.name=`InternalError`,e}let l=e.utf8Encoder(c.subarray(c.length-16));return l&&l.endsWith(``)&&(a.statusCode=503),i},wst=(e=new Uint8Array,t)=>e instanceof Uint8Array?Promise.resolve(e):t.streamCollector(e)||Promise.resolve(new Uint8Array),Tst={relation:`after`,toMiddleware:`deserializerMiddleware`,tags:[`THROW_200_EXCEPTIONS`,`S3`],name:`throw200ExceptionsMiddleware`,override:!0},v6=e=>({applyToStack:t=>{t.addRelativeTo(Cst(e),Tst)}});function Est(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 Dst={name:`bucketEndpointMiddleware`,override:!0,relation:`after`,toMiddleware:`endpointV2Middleware`};function Ost({bucketEndpoint:e}){return t=>async n=>{let{input:{Bucket:r}}=n;if(!e&&typeof r==`string`&&!vM(r)&&r.indexOf(`/`)>=0){let e=Error(`Bucket name shouldn't contain '/', received '${r}'`);throw e.name=`InvalidBucketName`,e}return t({...n})}}var kst={step:`initialize`,tags:[`VALIDATE_BUCKET_NAME`],name:`validateBucketNameMiddleware`,override:!0},Ast=e=>({applyToStack:t=>{t.add(Ost(e),kst),t.addRelativeTo(Est(e),Dst)}}),jst=class extends Wee{async serializeRequest(e,t,n){let r=await super.serializeRequest(e,t,n),i=se.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}};function Mst(e){return t=>async n=>{let{request:r}=n;if(e.expectContinueHeader!==!1&&ue.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 Nst={step:`build`,tags:[`SET_EXPECT_HEADER`,`EXPECT_HEADER`],name:`addExpectContinueMiddleware`,override:!0},Pst=e=>({applyToStack:t=>{t.add(Mst(e),Nst)}});function Fst(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 Ist={step:`initialize`,tags:[`LOCATION_CONSTRAINT`,`CREATE_BUCKET_CONFIGURATION`],name:`locationConstraintMiddleware`,override:!0},Lst=e=>({applyToStack:t=>{t.add(Fst(e),Ist)}});function Rst(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`?Bst(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 zst={name:`ssecMiddleware`,step:`initialize`,tags:[`SSE`],override:!0},y6=e=>({applyToStack:t=>{t.add(Rst(e),zst)}});function Bst(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 b6=e=>Object.assign(e,{eventStreamMarshaller:e.eventStreamSerdeProvider(e)}),x6=`ref`,X=`argv`,S6=`backend`,C6=`authSchemes`,w6=`disableDoubleEncoding`,T6=`signingName`,E6=`signingRegion`,D6=`signingRegionSet`,Z=-1,O6=!0,k6=!1,A6=`isSet`,j6=`booleanEquals`,M6=`stringEquals`,N6=`coalesce`,P6=`substring`,F6=``,I6=`aws.partition`,L6=`partitionResult`,R6=`accessPointSuffix`,z6=`regionPrefix`,B6=e=>`outpostId_ssa_`+e+F6,V6=`hardwareType`,H6=`ite`,U6=`isValidHostLabel`,W6=`sigv4`,G6=`aws.isVirtualHostableS3Bucket`,K6=`url`,q6=`getAttr`,J6=`bucketArn`,Y6=`--`,X6=`arnType`,Z6=`accesspoint`,Q6=e=>`accessPointName_ssa_`+e+F6,$6=`s3-object-lambda`,e8=`s3-outposts`,t8=`bucketPartition`,n8=`us-east-1`,r8=`outpostType`,i8=`name`,a8=`s3`,o8=`{url#scheme}://{Bucket}.{url#authority}{url#path}`,s8=`{url#scheme}://{url#authority}{url#path}`,c8=`{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}`,l8=`https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}`,u8=`https://{Bucket}.s3.{partitionResult#dnsSuffix}`,d8=e=>`{url#scheme}://{accessPointName_ssa_`+e+`}-{bucketArn#accountId}.{url#authority}{url#path}`,f8=e=>"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName_ssa_"+e+"}`",p8=`sigv4a`,m8=`{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}`,h8=`https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,g8=`https://s3.{partitionResult#dnsSuffix}`,_8={[x6]:`UseFIPS`},v8={[x6]:`UseDualStack`},y8={[x6]:`Bucket`},b8={fn:q6,[X]:[{[x6]:L6},i8]},x8={[x6]:K6},S8={[x6]:`Region`},C8={[x6]:J6},w8={[x6]:X6},T8={[x6]:`accessPointName_ssa_1`},E8={fn:q6,[X]:[C8,`region`]},D8={[x6]:V6},O8={fn:q6,[X]:[C8,`service`]},k8={fn:q6,[X]:[C8,`accountId`]},A8={[S6]:`S3Express`,[C6]:[{[w6]:!0,[i8]:`{_s3e_auth}`,[T6]:`s3express`,[E6]:`{Region}`}]},j8={[S6]:`S3Express`,[C6]:[{[w6]:!0,[i8]:W6,[T6]:`s3express`,[E6]:`{Region}`}]},M8={[C6]:[{[w6]:!0,[i8]:p8,[T6]:e8,[D6]:[`*`]},{[w6]:!0,[i8]:W6,[T6]:e8,[E6]:`{Region}`}]},N8={[C6]:[{[w6]:!0,[i8]:W6,[T6]:a8,[E6]:n8}]},P8={[C6]:[{[w6]:!0,[i8]:W6,[T6]:a8,[E6]:`{Region}`}]},F8={[C6]:[{[w6]:!0,[i8]:W6,[T6]:$6,[E6]:`{bucketArn#region}`}]},I8={[C6]:[{[w6]:!0,[i8]:W6,[T6]:a8,[E6]:`{bucketArn#region}`}]},L8={[C6]:[{[w6]:!0,[i8]:p8,[T6]:e8,[D6]:[`*`]},{[w6]:!0,[i8]:W6,[T6]:e8,[E6]:`{bucketArn#region}`}]},R8={[C6]:[{[w6]:!0,[i8]:W6,[T6]:$6,[E6]:`{Region}`}]},z8=[S8],B8=[{[x6]:`Endpoint`}],V8=[y8],H8=[y8,0,7,!0],U8=[C8,`resourceId[1]`],Vst=[`*`],W8={conditions:[[A6,z8],[j6,[{[x6]:`Accelerate`},O6]],[j6,[_8,O6]],[j6,[v8,O6]],[A6,B8],[A6,V8],[M6,[{fn:N6,[X]:[{fn:P6,[X]:[y8,0,6,O6]},F6]},`--x-s3`]],[M6,[{fn:N6,[X]:[{fn:P6,[X]:H8},F6]},`--xa-s3`]],[I6,z8,L6],[P6,H8,R6],[M6,[{[x6]:R6},`--op-s3`]],[P6,[y8,8,12,O6],z6],[P6,[y8,32,49,O6],B6(2)],[P6,[y8,49,50,O6],V6],[j6,[{[x6]:`ForcePathStyle`},O6]],[M6,[b8,`aws-cn`]],[H6,[v8,`.dualstack`,F6],`_s3e_ds`],[U6,[{[x6]:B6(2)},k6]],[H6,[_8,`-fips`,F6],`_s3e_fips`],[H6,[{fn:N6,[X]:[{[x6]:`DisableS3ExpressSessionAuth`},k6]},W6,`sigv4-s3express`],`_s3e_auth`],[G6,[y8,k6]],[`parseURL`,B8,K6],[j6,[{fn:N6,[X]:[{[x6]:`UseS3ExpressControlEndpoint`},k6]},O6]],[G6,[y8,O6]],[M6,[{fn:q6,[X]:[x8,`scheme`]},`http`]],[U6,[S8,k6]],[`aws.parseArn`,V8,J6],[q6,[{fn:`split`,[X]:[y8,Y6,0]},`[-2]`],`s3expressAvailabilityZoneId`],[M6,[{fn:N6,[X]:[{fn:P6,[X]:[y8,0,4,k6]},F6]},`arn:`]],[M6,[{fn:N6,[X]:[{fn:P6,[X]:[y8,16,18,O6]},F6]},Y6]],[j6,[{fn:q6,[X]:[x8,`isIp`]},O6]],[M6,[{fn:N6,[X]:[{fn:P6,[X]:[y8,21,23,O6]},F6]},Y6]],[M6,[{fn:N6,[X]:[{fn:P6,[X]:[y8,27,29,O6]},F6]},Y6]],[M6,[{[x6]:z6},`beta`]],[`uriEncode`,V8,`uri_encoded_bucket`],[U6,[S8,O6]],[j6,[{fn:N6,[X]:[{[x6]:`UseObjectLambdaEndpoint`},k6]},O6]],[q6,[C8,`resourceId[0]`],X6],[M6,[w8,F6]],[M6,[w8,Z6]],[q6,U8,Q6(1)],[M6,[T8,F6]],[M6,[E8,F6]],[M6,[{fn:N6,[X]:[{fn:P6,[X]:[y8,14,16,O6]},F6]},Y6]],[M6,[D8,`e`]],[M6,[D8,`o`]],[M6,[S8,`aws-global`]],[M6,[{fn:N6,[X]:[{fn:P6,[X]:[y8,19,21,O6]},F6]},Y6]],[M6,[O8,$6]],[j6,[{fn:N6,[X]:[{[x6]:`DisableAccessPoints`},k6]},O6]],[M6,[O8,e8]],[I6,[E8],t8],[U6,[T8,O6]],[M6,[{fn:N6,[X]:[{fn:P6,[X]:[y8,26,28,O6]},F6]},Y6]],[M6,[{fn:N6,[X]:[{fn:P6,[X]:[y8,15,17,O6]},F6]},Y6]],[q6,[C8,`resourceId[4]`]],[M6,[{fn:N6,[X]:[{fn:P6,[X]:[y8,20,22,O6]},F6]},Y6]],[j6,[{[x6]:`UseGlobalEndpoint`},O6]],[M6,[S8,n8]],[q6,U8,B6(1)],[j6,[{fn:N6,[X]:[{[x6]:`UseArnRegion`},O6]},O6]],[U6,[{[x6]:B6(1)},k6]],[q6,[C8,`resourceId[2]`],r8],[M6,[S8,E8]],[M6,[{fn:q6,[X]:[{[x6]:t8},i8]},b8]],[j6,[{[x6]:`DisableMultiRegionAccessPoints`},O6]],[U6,[E8,O6]],[M6,[{fn:q6,[X]:[C8,`partition`]},b8]],[M6,[k8,F6]],[M6,[O8,a8]],[U6,[k8,k6]],[q6,[C8,`resourceId[3]`],Q6(2)],[U6,[T8,k6]],[M6,[{[x6]:r8},Z6]],[U6,[{[x6]:Q6(2)},k6]]],results:[[Z],[Z,`Accelerate cannot be used with FIPS`],[Z,`Cannot set dual-stack in combination with a custom endpoint.`],[Z,`A custom endpoint cannot be combined with FIPS`],[Z,`A custom endpoint cannot be combined with S3 Accelerate`],[Z,`Partition does not support FIPS`],[Z,`S3Express does not support S3 Accelerate.`],[`{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}`,A8],[o8,A8],[Z,`S3Express bucket name is not a valid virtual hostable name.`],[`https://s3express-control{_s3e_fips}{_s3e_ds}.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,j8],[`https://{Bucket}.s3express{_s3e_fips}-{s3expressAvailabilityZoneId}{_s3e_ds}.{Region}.{partitionResult#dnsSuffix}`,A8],[Z,`Unrecognized S3Express bucket name format.`],[s8,A8],[`https://s3express-control{_s3e_fips}{_s3e_ds}.{Region}.{partitionResult#dnsSuffix}`,j8],[Z,`Expected a endpoint to be specified but no endpoint was found`],[`https://{Bucket}.ec2.{url#authority}`,M8],[`https://{Bucket}.ec2.s3-outposts.{Region}.{partitionResult#dnsSuffix}`,M8],[`https://{Bucket}.op-{outpostId_ssa_2}.{url#authority}`,M8],[`https://{Bucket}.op-{outpostId_ssa_2}.s3-outposts.{Region}.{partitionResult#dnsSuffix}`,M8],[Z,`Unrecognized hardware type: "Expected hardware type o or e but got {hardwareType}"`],[Z,`Invalid Outposts Bucket alias - it must be a valid bucket name.`],[Z,"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`."],[Z,"Custom endpoint `{Endpoint}` was not a valid URI"],[Z,`S3 Accelerate cannot be used in this region`],[`https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}`,N8],[`https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}`,P8],[`https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}`,N8],[`https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}`,P8],[`https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}`,N8],[`https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}`,P8],[`https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}`,N8],[`https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}`,P8],[c8,N8],[o8,N8],[c8,P8],[o8,P8],[l8,N8],[l8,P8],[u8,N8],[u8,P8],[`https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}`,P8],[Z,`Invalid region: region was not a valid DNS name.`],[Z,`S3 Object Lambda does not support Dual-stack`],[Z,`S3 Object Lambda does not support S3 Accelerate`],[Z,`Access points are not supported for this operation`],[Z,"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`"],[Z,`Invalid ARN: Missing account id`],[d8(1),F8],[`https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}`,F8],[`https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}`,F8],[Z,f8(1)],[Z,"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`"],[Z,"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)"],[Z,"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`"],[Z,"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`."],[Z,`Invalid ARN: bucket ARN is missing a region`],[Z,"Invalid ARN: Expected a resource of the format `accesspoint:` but no name was provided"],[Z,"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`"],[Z,`Access Points do not support S3 Accelerate`],[`https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}`,I8],[`https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}`,I8],[`https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}`,I8],[d8(1),I8],[`https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}`,I8],[Z,`Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}`],[Z,`S3 MRAP does not support dual-stack`],[Z,`S3 MRAP does not support FIPS`],[Z,`S3 MRAP does not support S3 Accelerate`],[Z,`Invalid configuration: Multi-Region Access Point ARNs are disabled.`],[`https://{accessPointName_ssa_1}.accesspoint.s3-global.{partitionResult#dnsSuffix}`,{[C6]:[{[w6]:O6,name:p8,[T6]:a8,[D6]:Vst}]}],[Z,"Client was configured for partition `{partitionResult#name}` but bucket referred to partition `{bucketArn#partition}`"],[Z,`Invalid Access Point Name`],[Z,`S3 Outposts does not support Dual-stack`],[Z,`S3 Outposts does not support FIPS`],[Z,`S3 Outposts does not support S3 Accelerate`],[Z,`Invalid Arn: Outpost Access Point ARN contains sub resources`],[`https://{accessPointName_ssa_2}-{bucketArn#accountId}.{outpostId_ssa_1}.{url#authority}`,L8],[`https://{accessPointName_ssa_2}-{bucketArn#accountId}.{outpostId_ssa_1}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}`,L8],[Z,f8(2)],[Z,"Expected an outpost type `accesspoint`, found {outpostType}"],[Z,`Invalid ARN: expected an access point name`],[Z,`Invalid ARN: Expected a 4-component resource`],[Z,"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId_ssa_1}`"],[Z,`Invalid ARN: The Outpost Id was not set`],[Z,`Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})`],[Z,`Invalid ARN: No ARN type specified`],[Z,"Invalid ARN: `{Bucket}` was not a valid ARN"],[Z,`Path-style addressing cannot be used with ARN buckets`],[`https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,N8],[`https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,P8],[`https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,N8],[`https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,P8],[`https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,N8],[`https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,P8],[m8,N8],[m8,P8],[h8,N8],[h8,P8],[`https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}`,P8],[Z,`Path-style addressing cannot be used with S3 Accelerate`],[s8,R8],[`https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}`,R8],[`https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}`,R8],[`https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}`,N8],[`https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}`,P8],[`https://s3-fips.us-east-1.{partitionResult#dnsSuffix}`,N8],[`https://s3-fips.{Region}.{partitionResult#dnsSuffix}`,P8],[`https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}`,N8],[`https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}`,P8],[s8,N8],[s8,P8],[g8,N8],[g8,P8],[`https://s3.{Region}.{partitionResult#dnsSuffix}`,P8],[Z,`A region must be set when sending requests to S3.`]]},Hst=2,Ust=new Int32Array([-1,1,-1,0,3,100000115,1,424,4,2,272,5,3,233,6,4,85,7,5,15,8,8,9,100000115,16,10,13,18,11,13,19,12,13,22,100000014,13,35,14,100000042,36,100000103,435,6,271,16,7,270,17,8,19,18,14,501,106,9,20,24,10,21,24,11,22,24,12,23,24,13,547,24,14,77,25,20,73,26,26,27,78,37,28,100000086,38,100000086,29,39,47,30,48,100000058,31,50,32,100000085,51,33,136,55,100000076,34,59,35,100000084,60,39,36,61,37,100000083,62,38,146,63,41,100000046,61,40,100000083,62,41,150,64,42,100000054,66,43,100000053,70,44,100000052,71,45,100000081,73,46,100000080,74,100000078,100000079,40,48,100000057,41,100000057,49,42,185,50,48,62,51,49,100000045,52,51,53,526,60,56,54,62,100000055,55,63,57,100000046,62,100000055,57,64,58,100000054,66,59,100000053,69,60,100000065,70,61,100000052,72,100000064,100000051,49,100000045,63,51,64,526,60,67,65,62,100000055,66,63,68,100000046,62,100000055,68,64,69,100000054,66,70,100000053,68,100000047,71,70,72,100000052,72,100000050,100000051,25,74,100000042,46,100000039,75,57,76,100000041,58,100000040,100000041,26,100000088,78,28,100000087,79,34,82,80,35,81,545,36,100000103,100000115,46,100000097,83,57,84,100000099,58,100000098,100000099,5,101,86,8,87,100000115,16,88,89,18,91,89,19,90,92,21,97,95,19,93,92,21,98,95,21,97,94,22,100000014,95,35,96,100000042,36,100000103,100000042,22,100000013,98,35,99,100000042,36,100000101,100,46,100000110,100000111,6,214,102,7,208,103,8,119,104,14,118,105,21,106,100000023,26,107,502,37,108,100000086,38,100000086,109,39,112,110,48,100000058,111,50,136,100000085,40,113,100000057,41,100000057,114,42,115,500,48,100000056,116,52,117,100000072,65,100000069,100000072,21,501,100000023,9,120,124,10,121,124,11,122,124,12,123,124,13,202,124,14,195,125,20,190,126,21,127,100000023,23,128,129,24,189,129,26,130,197,37,131,100000086,38,100000086,132,39,159,133,48,100000058,134,50,135,100000085,51,141,136,55,100000076,137,59,138,100000084,60,100000083,139,61,140,100000083,63,100000083,100000046,55,100000076,142,59,143,100000084,60,148,144,61,145,100000083,62,147,146,63,150,100000046,63,153,100000046,61,149,100000083,62,153,150,64,151,100000054,66,152,100000053,70,100000082,100000052,64,154,100000054,66,155,100000053,70,156,100000052,71,157,100000081,73,158,100000080,74,100000077,100000079,40,160,100000057,41,100000057,161,42,185,162,48,174,163,49,100000045,164,51,165,526,60,168,166,62,100000055,167,63,169,100000046,62,100000055,169,64,170,100000054,66,171,100000053,69,172,100000065,70,173,100000052,72,100000063,100000051,49,100000045,175,51,176,526,60,179,177,62,100000055,178,63,180,100000046,62,100000055,180,64,181,100000054,66,182,100000053,68,100000047,183,70,184,100000052,72,100000048,100000051,48,100000056,186,52,187,100000072,65,100000069,188,67,100000070,100000071,25,100000036,100000042,21,191,100000023,25,192,100000042,30,194,193,46,100000034,100000036,46,100000033,100000035,21,196,100000023,26,100000088,197,28,100000087,198,34,201,199,35,200,545,36,100000101,100000115,46,100000095,100000096,17,203,100000022,20,204,100000021,21,205,550,33,206,550,44,100000016,207,45,100000018,100000020,8,209,215,16,210,220,18,211,220,19,212,224,20,213,227,21,231,401,8,218,215,19,216,100000009,20,217,227,21,231,100000009,16,219,220,18,223,220,19,221,224,20,222,227,21,231,100000012,19,226,224,20,225,100000009,21,100000009,100000012,20,230,227,21,228,100000009,30,229,100000009,34,100000007,100000009,21,231,415,30,232,100000008,34,100000007,100000008,4,100000002,234,5,235,480,6,271,236,7,270,237,8,238,491,9,239,243,10,240,243,11,241,243,12,242,243,13,547,243,14,266,244,20,264,245,26,246,267,37,247,100000086,38,100000086,248,39,249,518,40,250,100000057,41,100000057,251,42,538,252,48,100000043,253,49,100000045,254,51,255,526,60,258,256,62,100000055,257,63,259,100000046,62,100000055,259,64,260,100000054,66,261,100000053,69,262,100000065,70,263,100000052,72,100000062,100000051,25,265,100000042,46,100000031,100000032,26,100000088,267,28,100000087,268,34,269,544,46,100000093,100000094,8,397,100000009,8,407,100000009,3,346,273,4,100000003,274,5,284,275,8,276,100000115,15,100000005,277,16,278,281,18,279,281,19,280,281,22,100000014,281,35,282,100000042,36,100000102,283,46,100000106,100000107,6,405,285,7,395,286,8,295,287,14,501,288,26,289,502,37,290,100000086,38,100000086,291,39,292,307,40,293,100000057,41,100000057,294,42,335,500,9,296,300,10,297,300,11,298,300,12,299,300,13,394,300,14,339,301,15,100000005,302,20,337,303,26,304,341,37,305,100000086,38,100000086,306,39,309,307,48,100000058,308,50,100000074,100000085,40,310,100000057,41,100000057,311,42,335,312,48,324,313,49,100000045,314,51,315,526,60,318,316,62,100000055,317,63,319,100000046,62,100000055,319,64,320,100000054,66,321,100000053,69,322,100000065,70,323,100000052,72,100000061,100000051,49,100000045,325,51,326,526,60,329,327,62,100000055,328,63,330,100000046,62,100000055,330,64,331,100000054,66,332,100000053,68,100000047,333,70,334,100000052,72,100000049,100000051,48,100000056,336,52,100000067,100000072,25,338,100000042,46,100000027,100000028,15,100000005,340,26,100000088,341,28,100000087,342,34,345,343,35,344,545,36,100000102,100000115,46,100000091,100000092,4,100000002,347,5,357,348,8,349,100000115,15,100000005,350,16,351,354,18,352,354,19,353,354,22,100000014,354,35,355,100000042,36,100000043,356,46,100000104,100000105,6,405,358,7,395,359,8,360,491,9,361,365,10,362,365,11,363,365,12,364,365,13,394,365,14,389,366,15,100000005,367,20,387,368,26,369,391,37,370,100000086,38,100000086,371,39,372,518,40,373,100000057,41,100000057,374,42,538,375,48,100000043,376,49,100000045,377,51,378,526,60,381,379,62,100000055,380,63,382,100000046,62,100000055,382,64,383,100000054,66,384,100000053,69,385,100000065,70,386,100000052,72,100000060,100000051,25,388,100000042,46,100000025,100000026,15,100000005,390,26,100000088,391,28,100000087,392,34,393,544,46,100000089,100000090,15,100000005,547,8,396,100000009,15,100000005,397,16,398,410,18,399,410,19,400,410,20,401,100000009,27,402,100000012,29,100000011,403,31,100000011,404,32,100000011,422,8,406,100000009,15,100000005,407,16,408,410,18,409,410,19,411,410,20,100000012,100000009,20,414,412,22,413,100000009,34,100000010,100000009,22,416,415,27,419,100000012,27,418,417,34,100000010,100000012,34,100000010,419,43,100000011,420,47,100000011,421,53,100000011,422,54,100000011,423,56,100000011,100000012,2,100000001,425,3,478,426,4,100000004,427,5,438,428,8,429,100000115,16,430,433,18,431,433,19,432,433,22,100000014,433,35,434,100000042,36,100000044,435,46,100000112,436,57,437,100000114,58,100000113,100000114,6,100000006,439,7,100000006,440,8,450,441,14,501,442,26,443,502,37,444,100000086,38,100000086,445,39,446,465,40,447,100000057,41,100000057,448,42,471,449,48,100000044,500,9,451,455,10,452,455,11,453,455,12,454,455,13,547,455,14,473,456,15,460,457,20,458,461,25,459,100000042,46,100000037,100000038,20,540,461,26,462,474,37,463,100000086,38,100000086,464,39,467,465,48,100000058,466,50,100000075,100000085,40,468,100000057,41,100000057,469,42,471,470,48,100000044,524,48,100000044,472,52,100000068,100000072,26,100000088,474,28,100000087,475,34,100000100,476,35,477,545,36,100000044,100000115,4,100000002,479,5,488,480,8,481,100000115,16,482,485,18,483,485,19,484,485,22,100000014,485,35,486,100000042,36,100000043,487,46,100000108,100000109,6,100000006,489,7,100000006,490,8,503,491,14,501,492,26,493,502,37,494,100000086,38,100000086,495,39,496,518,40,497,100000057,41,100000057,498,42,538,499,48,100000043,500,49,100000045,526,26,100000088,502,28,100000087,100000115,9,504,508,10,505,508,11,506,508,12,507,508,13,547,508,14,541,509,15,513,510,20,511,514,25,512,100000042,46,100000029,100000030,20,540,514,26,515,542,37,516,100000086,38,100000086,517,39,520,518,48,100000058,519,50,100000073,100000085,40,521,100000057,41,100000057,522,42,538,523,48,100000043,524,49,100000045,525,51,529,526,60,100000055,527,62,100000055,528,63,100000055,100000046,60,532,530,62,100000055,531,63,533,100000046,62,100000055,533,64,534,100000054,66,535,100000053,69,536,100000065,70,537,100000052,72,100000059,100000051,48,100000043,539,52,100000066,100000072,25,100000024,100000042,26,100000088,542,28,100000087,543,34,100000100,544,35,546,545,36,100000042,100000115,36,100000043,100000115,17,548,100000022,20,549,100000021,33,552,550,44,100000017,551,45,100000019,100000020,44,100000015,553,45,100000015,100000020]),Wst=Be.from(Ust,Hst,W8.conditions,W8.results),Gst=new He({size:50,params:[`Accelerate`,`Bucket`,`DisableAccessPoints`,`DisableMultiRegionAccessPoints`,`DisableS3ExpressSessionAuth`,`Endpoint`,`ForcePathStyle`,`Region`,`UseArnRegion`,`UseDualStack`,`UseFIPS`,`UseGlobalEndpoint`,`UseObjectLambdaEndpoint`,`UseS3ExpressControlEndpoint`]}),G8=(e,t={})=>Gst.get(e,()=>Ze(Wst,{endpointParams:e,logger:t.logger}));Ye.aws=me;var Kst=(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 iee(r,{getEndpointParameterInstructions:a},t);return Object.assign(i,o)})(async(e,t,n)=>({operation:$e(t).operation,region:await ke(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()}));function K8(e){return{schemeId:`aws.auth#sigv4`,signingProperties:{name:`s3`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}function q8(e){return{schemeId:`aws.auth#sigv4a`,signingProperties:{name:`s3`,region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}var qst=((e,t,n)=>r=>{let i=e(r).properties?.authSchemes;if(!i)return t(r);let o=[];for(let e of i){let{name:t,properties:s={},...c}=e,l=t.toLowerCase();t!==l&&console.warn(`HttpAuthScheme has been normalized with lowercasing: '${t}' to '${l}'`);let ee;if(l===`sigv4a`){ee=`aws.auth#sigv4a`;let e=i.find(e=>{let t=e.name.toLowerCase();return t!==`sigv4a`&&t.startsWith(`sigv4`)});if(a.sigv4aDependency()===`none`&&e)continue}else if(l.startsWith(`sigv4`))ee=`aws.auth#sigv4`;else throw Error(`Unknown HttpAuthScheme found in '@smithy.rules#endpointRuleSet': '${l}'`);let te=n[ee];if(!te)throw Error(`Could not find HttpAuthOption create function for '${ee}'`);let ne=te(r);ne.schemeId=ee,ne.signingProperties={...ne.signingProperties||{},...c,...s},o.push(ne)}return o})(G8,e=>{let t=[];return e.operation,t.push(K8(e)),t.push(q8(e)),t},{"aws.auth#sigv4":K8,"aws.auth#sigv4a":q8}),Jst=e=>{let t=rt(e),n=l(t);return Object.assign(n,{authSchemePreference:ke(e.authSchemePreference??[])})},Yst=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??{}}),J8=n({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`}},`AmazonS3`,`S3Client`,aee),Xst={Bucket:{type:`contextParams`,name:`Bucket`},Key:{type:`contextParams`,name:`Key`}},Zst={UseS3ExpressControlEndpoint:{type:`staticContextParams`,value:!0},DisableAccessPoints:{type:`staticContextParams`,value:!0},Bucket:{type:`contextParams`,name:`Bucket`}},Qst={DisableS3ExpressSessionAuth:{type:`staticContextParams`,value:!0},Bucket:{type:`contextParams`,name:`Bucket`}},$st={Bucket:{type:`contextParams`,name:`Bucket`}},ect={},tct={Bucket:{type:`contextParams`,name:`Bucket`},Prefix:{type:`contextParams`,name:`Prefix`}},Y8=(e,t,n,r)=>[v6(n)],nct=(e,t,n,r)=>[v6(n),y6(n)],rct=(e,t,n,r)=>[v6(n),Lst(n)],ict=(e,t,n,r)=>[g6(n,{requestAlgorithmMember:{httpHeader:`x-amz-sdk-checksum-algorithm`,name:`ChecksumAlgorithm`},requestChecksumRequired:!0}),v6(n)],act=(e,t,n,r)=>[g6(n,{requestChecksumRequired:!1,requestValidationModeMember:`ChecksumMode`,responseAlgorithms:[`CRC64NVME`,`CRC32`,`CRC32C`,`SHA256`,`SHA1`,`SHA512`,`MD5`,`XXHASH64`,`XXHASH3`,`XXHASH128`]}),y6(n),ust(n)],oct=(e,t,n,r)=>[g6(n,{requestAlgorithmMember:{httpHeader:`x-amz-sdk-checksum-algorithm`,name:`ChecksumAlgorithm`},requestChecksumRequired:!1}),$ot(n),v6(n),y6(n)],sct=(e,t,n,r)=>[g6(n,{requestAlgorithmMember:{httpHeader:`x-amz-sdk-checksum-algorithm`,name:`ChecksumAlgorithm`},requestChecksumRequired:!1}),v6(n),y6(n)],X8=class e extends ne{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},cct=class e extends X8{name=`NoSuchUpload`;$fault=`client`;constructor(t){super({name:`NoSuchUpload`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},lct=class e extends X8{name=`AccessDenied`;$fault=`client`;constructor(t){super({name:`AccessDenied`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},uct=class e extends X8{name=`ObjectNotInActiveTierError`;$fault=`client`;constructor(t){super({name:`ObjectNotInActiveTierError`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},dct=class e extends X8{name=`BucketAlreadyExists`;$fault=`client`;constructor(t){super({name:`BucketAlreadyExists`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},fct=class e extends X8{name=`BucketAlreadyOwnedByYou`;$fault=`client`;constructor(t){super({name:`BucketAlreadyOwnedByYou`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},pct=class e extends X8{name=`NoSuchBucket`;$fault=`client`;constructor(t){super({name:`NoSuchBucket`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},mct=class e extends X8{name=`NoSuchKey`;$fault=`client`;constructor(t){super({name:`NoSuchKey`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},hct=class e extends X8{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}},gct=class e extends X8{name=`NoSuchAnnotation`;$fault=`client`;constructor(t){super({name:`NoSuchAnnotation`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},_ct=class e extends X8{name=`NotFound`;$fault=`client`;constructor(t){super({name:`NotFound`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},vct=class e extends X8{name=`InvalidPrefix`;$fault=`client`;constructor(t){super({name:`InvalidPrefix`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},yct=class e extends X8{name=`EncryptionTypeMismatch`;$fault=`client`;constructor(t){super({name:`EncryptionTypeMismatch`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},bct=class e extends X8{name=`InvalidRequest`;$fault=`client`;constructor(t){super({name:`InvalidRequest`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},xct=class e extends X8{name=`InvalidWriteOffset`;$fault=`client`;constructor(t){super({name:`InvalidWriteOffset`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Sct=class e extends X8{name=`TooManyParts`;$fault=`client`;constructor(t){super({name:`TooManyParts`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Cct=class e extends X8{name=`AnnotationLimitExceeded`;$fault=`client`;constructor(t){super({name:`AnnotationLimitExceeded`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},wct=class e extends X8{name=`AnnotationNameTooLong`;$fault=`client`;constructor(t){super({name:`AnnotationNameTooLong`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Tct=class e extends X8{name=`InvalidAnnotationName`;$fault=`client`;constructor(t){super({name:`InvalidAnnotationName`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Ect=class e extends X8{name=`UnsupportedMediaType`;$fault=`client`;constructor(t){super({name:`UnsupportedMediaType`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Dct=class e extends X8{name=`IdempotencyParameterMismatch`;$fault=`client`;constructor(t){super({name:`IdempotencyParameterMismatch`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Oct=class e extends X8{name=`ObjectAlreadyInActiveTierError`;$fault=`client`;constructor(t){super({name:`ObjectAlreadyInActiveTierError`,$fault:`client`,...t}),Object.setPrototypeOf(this,e.prototype)}},Z8=`ACL`,kct=`AccessDenied`,Act=`AbortDate`,Q8=`AccessKeyId`,jct=`AnnotationLimitExceeded`,Mct=`AbortMultipartUpload`,Nct=`AbortMultipartUploadOutput`,Pct=`AbortMultipartUploadRequest`,Fct=`AnnotationNameTooLong`,Ict=`AcceptRanges`,Lct=`AbortRuleId`,Rct=`AccessTier`,$8=`Bucket`,e5=`BucketArn`,zct=`BucketAlreadyExists`,Bct=`BucketAlreadyOwnedByYou`,Vct=`BypassGovernanceRetention`,Hct=`BucketInfo`,t5=`BucketKeyEnabled`,Uct=`BucketNamespace`,n5=`BucketRegion`,r5=`Body`,i5=`Buckets`,a5=`ChecksumAlgorithm`,Wct=`CreateBucket`,o5=`CreateBucketConfiguration`,Gct=`CreateBucketOutput`,Kct=`CreateBucketRequest`,s5=`CacheControl`,c5=`ChecksumCRC32`,l5=`ChecksumCRC32C`,u5=`ChecksumCRC64NVME`,d5=`Cache-Control`,qct=`CreationDate`,f5=`Content-Disposition`,p5=`ContentDisposition`,m5=`Content-Encoding`,h5=`ContentEncoding`,g5=`ContentLanguage`,_5=`Content-Language`,v5=`Content-Length`,y5=`ContentLength`,b5=`Content-MD5`,x5=`ChecksumMD5`,S5=`ContentMD5`,Jct=`CompletedMultipartUpload`,Yct=`CompleteMultipartUploadOutput`,Xct=`CreateMultipartUploadOutput`,Zct=`CompleteMultipartUploadResult`,Qct=`CompleteMultipartUploadRequest`,$ct=`CreateMultipartUploadRequest`,C5=`CompleteMultipartUpload`,elt=`CreateMultipartUpload`,tlt=`ChecksumMode`,w5=`CommonPrefix`,nlt=`CommonPrefixList`,rlt=`CompletedPartList`,ilt=`CompletedPart`,alt=`CommonPrefixes`,olt=`ContentRange`,slt=`Content-Range`,T5=`ChecksumSHA1`,E5=`ChecksumSHA256`,D5=`ChecksumSHA512`,clt=`CreateSessionOutput`,llt=`CreateSessionResult`,ult=`CreateSessionRequest`,dlt=`CreateSession`,O5=`ChecksumType`,k5=`Content-Type`,A5=`ContentType`,j5=`ContinuationToken`,M5=`ChecksumXXHASH64`,N5=`ChecksumXXHASH3`,P5=`ChecksumXXHASH128`,flt=`Contents`,F5=`Credentials`,I5=`DeleteMarker`,plt=`DisplayName`,mlt=`DeleteObjectOutput`,hlt=`DeleteObjectRequest`,glt=`DeleteObject`,_lt=`DataRedundancy`,L5=`Delimiter`,R5=`ExpectedBucketOwner`,z5=`ExpiresString`,B5=`ETag`,vlt=`EncryptionTypeMismatch`,V5=`EncodingType`,H5=`Expiration`,U5=`Expires`,ylt=`FetchOwner`,W5=`GrantFullControl`,blt=`GetObject`,xlt=`GetObjectOutput`,Slt=`GetObjectRequest`,G5=`GrantRead`,K5=`GrantReadACP`,Clt=`GrantWrite`,q5=`GrantWriteACP`,wlt=`InvalidAnnotationName`,Tlt=`ID`,J5=`IfMatch`,Elt=`IfMatchInitiatedTime`,Dlt=`IfMatchLastModifiedTime`,Olt=`IfMatchSize`,klt=`If-Modified-Since`,Alt=`IfModifiedSince`,jlt=`InitiateMultipartUploadResult`,Y5=`If-Match`,X5=`IfNoneMatch`,Z5=`If-None-Match`,Mlt=`InvalidObjectState`,Nlt=`InvalidPrefix`,Plt=`IdempotencyParameterMismatch`,Flt=`InvalidRequest`,Ilt=`IsRestoreInProgress`,Llt=`IsTruncated`,Rlt=`IfUnmodifiedSince`,zlt=`If-Unmodified-Since`,Blt=`InvalidWriteOffset`,Q5=`Key`,Vlt=`KeyCount`,$5=`Location`,Hlt=`ListAllMyBucketsResult`,Ult=`ListBuckets`,Wlt=`ListBucketsOutput`,Glt=`ListBucketsRequest`,Klt=`ListBucketResult`,qlt=`LocationConstraint`,Jlt=`LocationInfo`,e7=`LastModified`,Ylt=`Last-Modified`,Xlt=`ListObjectsV2`,Zlt=`ListObjectsV2Output`,Qlt=`ListObjectsV2Request`,t7=`Metadata`,$lt=`MaxBuckets`,eut=`MFA`,n7=`MaxKeys`,tut=`MissingMeta`,nut=`MpuObjectSize`,rut=`MultipartUpload`,r7=`Name`,iut=`NextContinuationToken`,aut=`NotFound`,out=`NoSuchAnnotation`,sut=`NoSuchBucket`,cut=`NoSuchKey`,lut=`NoSuchUpload`,i7=`Owner`,uut=`ObjectAlreadyInActiveTierError`,dut=`ObjectLockEnabledForBucket`,a7=`ObjectLockLegalHoldStatus`,o7=`ObjectLockMode`,s7=`ObjectLockRetainUntilDate`,fut=`ObjectList`,put=`ObjectNotInActiveTierError`,mut=`ObjectOwnership`,hut=`OptionalObjectAttributes`,gut=`Object`,c7=`Prefix`,_ut=`PartsCount`,l7=`PartNumber`,vut=`PutObject`,yut=`PutObjectOutput`,but=`PutObjectRequest`,xut=`PutObjectTagging`,Sut=`PutObjectTaggingOutput`,Cut=`PutObjectTaggingRequest`,wut=`Parts`,Tut=`Part`,u7=`RequestCharged`,Eut=`ResponseCacheControl`,Dut=`ResponseContentDisposition`,Out=`ResponseContentEncoding`,kut=`ResponseContentLanguage`,Aut=`ResponseContentType`,jut=`ResponseExpires`,Mut=`RestoreExpiryDate`,d7=`RequestPayer`,Nut=`ReplicationStatus`,f7=`RestoreStatus`,p7=`Range`,Put=`Restore`,m7=`StartAfter`,h7=`SecretAccessKey`,Fut=`StreamingBlob`,g7=`StorageClass`,Iut=`SessionCredentialValue`,Lut=`SessionCredentials`,Rut=`SessionMode`,_7=`ServerSideEncryption`,v7=`SSECustomerAlgorithm`,y7=`SSECustomerKey`,b7=`SSECustomerKeyMD5`,x7=`SSEKMSEncryptionContext`,S7=`SSEKMSKeyId`,C7=`SessionToken`,w7=`Size`,zut=`Tags`,But=`TagCount`,Vut=`TooManyParts`,T7=`TagSet`,E7=`Tag`,D7=`Tagging`,O7=`Type`,k7=`UploadId`,Hut=`UnsupportedMediaType`,Uut=`UploadPart`,Wut=`UploadPartOutput`,Gut=`UploadPartRequest`,Kut=`Value`,A7=`VersionId`,qut=`WriteOffsetBytes`,j7=`WebsiteRedirectLocation`,Jut=`accept-ranges`,Yut=`bucket-region`,M7=`client`,N7=`continuation-token`,Xut=`delimiter`,P7=`error`,Zut=`encoding-type`,Qut=`fetch-owner`,F7=`http`,I7=`httpChecksum`,L7=`httpError`,Q=`httpHeader`,R7=`httpPayload`,z7=`httpPrefixHeaders`,B7=`httpQuery`,$ut=`max-buckets`,edt=`max-keys`,V7=`prefix`,H7=`partNumber`,tdt=`response-cache-control`,ndt=`response-content-disposition`,rdt=`response-content-encoding`,idt=`response-content-language`,adt=`response-content-type`,odt=`response-expires`,U7=`smithy.ts.sdk.synthetic.com.amazonaws.s3`,sdt=`start-after`,cdt=`streaming`,W7=`uploadId`,G7=`versionId`,K7=`xmlFlattened`,q7=`xmlName`,J7=`x-amz-acl`,ldt=`x-amz-abort-date`,udt=`x-amz-abort-rule-id`,ddt=`x-amz-bucket-arn`,fdt=`x-amz-bypass-governance-retention`,pdt=`x-amz-bucket-namespace`,mdt=`x-amz-bucket-object-lock-enabled`,Y7=`x-amz-checksum-algorithm`,X7=`x-amz-checksum-crc32`,Z7=`x-amz-checksum-crc32c`,Q7=`x-amz-checksum-crc64nvme`,$7=`x-amz-checksum-md5`,hdt=`x-amz-checksum-mode`,e9=`x-amz-checksum-sha1`,t9=`x-amz-checksum-sha256`,n9=`x-amz-checksum-sha512`,gdt=`x-amz-create-session-mode`,r9=`x-amz-checksum-type`,i9=`x-amz-checksum-xxhash64`,a9=`x-amz-checksum-xxhash3`,o9=`x-amz-checksum-xxhash128`,s9=`x-amz-delete-marker`,c9=`x-amz-expiration`,l9=`x-amz-expected-bucket-owner`,u9=`x-amz-grant-full-control`,d9=`x-amz-grant-read`,f9=`x-amz-grant-read-acp`,_dt=`x-amz-grant-write`,p9=`x-amz-grant-write-acp`,vdt=`x-amz-if-match-initiated-time`,ydt=`x-amz-if-match-last-modified-time`,bdt=`x-amz-if-match-size`,m9=`x-amz-meta-`,xdt=`x-amz-mfa`,Sdt=`x-amz-missing-meta`,Cdt=`x-amz-mp-object-size`,wdt=`x-amz-mp-parts-count`,h9=`x-amz-object-lock-legal-hold`,g9=`x-amz-object-lock-mode`,_9=`x-amz-object-lock-retain-until-date`,Tdt=`x-amz-object-ownership`,Edt=`x-amz-optional-object-attributes`,Ddt=`x-amz-object-size`,Odt=`x-amz-restore`,v9=`x-amz-request-charged`,y9=`x-amz-request-payer`,kdt=`x-amz-replication-status`,b9=`x-amz-storage-class`,x9=`x-amz-sdk-checksum-algorithm`,S9=`x-amz-server-side-encryption`,C9=`x-amz-server-side-encryption-aws-kms-key-id`,w9=`x-amz-server-side-encryption-bucket-key-enabled`,T9=`x-amz-server-side-encryption-context`,E9=`x-amz-server-side-encryption-customer-algorithm`,D9=`x-amz-server-side-encryption-customer-key`,O9=`x-amz-server-side-encryption-customer-key-MD5`,k9=`x-amz-tagging`,Adt=`x-amz-tagging-count`,A9=`x-amz-version-id`,jdt=`x-amz-write-offset-bytes`,j9=`x-amz-website-redirect-location`,$=`com.amazonaws.s3`,M9=ct.for(U7),Mdt=[-3,U7,`S3ServiceException`,0,[],[]];M9.registerError(Mdt,X8);var N9=ct.for($),Ndt=[-3,$,kct,{[P7]:M7,[L7]:403},[],[]];N9.registerError(Ndt,lct);var Pdt=[-3,$,jct,{[P7]:M7,[L7]:400},[],[]];N9.registerError(Pdt,Cct);var Fdt=[-3,$,Fct,{[P7]:M7,[L7]:400},[],[]];N9.registerError(Fdt,wct);var Idt=[-3,$,zct,{[P7]:M7,[L7]:409},[],[]];N9.registerError(Idt,dct);var Ldt=[-3,$,Bct,{[P7]:M7,[L7]:409},[],[]];N9.registerError(Ldt,fct);var Rdt=[-3,$,vlt,{[P7]:M7,[L7]:400},[],[]];N9.registerError(Rdt,yct);var zdt=[-3,$,Plt,{[P7]:M7,[L7]:400},[],[]];N9.registerError(zdt,Dct);var Bdt=[-3,$,wlt,{[P7]:M7,[L7]:400},[],[]];N9.registerError(Bdt,Tct);var Vdt=[-3,$,Mlt,{[P7]:M7,[L7]:403},[g7,Rct],[0,0]];N9.registerError(Vdt,hct);var Hdt=[-3,$,Nlt,{[P7]:M7,[L7]:400},[],[]];N9.registerError(Hdt,vct);var Udt=[-3,$,Flt,{[P7]:M7,[L7]:400},[],[]];N9.registerError(Udt,bct);var Wdt=[-3,$,Blt,{[P7]:M7,[L7]:400},[],[]];N9.registerError(Wdt,xct);var Gdt=[-3,$,out,{[P7]:M7,[L7]:404},[],[]];N9.registerError(Gdt,gct);var Kdt=[-3,$,sut,{[P7]:M7,[L7]:404},[],[]];N9.registerError(Kdt,pct);var qdt=[-3,$,cut,{[P7]:M7,[L7]:404},[],[]];N9.registerError(qdt,mct);var Jdt=[-3,$,lut,{[P7]:M7,[L7]:404},[],[]];N9.registerError(Jdt,cct);var Ydt=[-3,$,aut,{[P7]:M7},[],[]];N9.registerError(Ydt,_ct);var Xdt=[-3,$,uut,{[P7]:M7,[L7]:403},[],[]];N9.registerError(Xdt,Oct);var Zdt=[-3,$,put,{[P7]:M7,[L7]:403},[],[]];N9.registerError(Zdt,uct);var Qdt=[-3,$,Vut,{[P7]:M7,[L7]:400},[],[]];N9.registerError(Qdt,Sct);var $dt=[-3,$,Hut,{[P7]:M7,[L7]:415},[],[]];N9.registerError($dt,Ect);var eft=[M9,N9],P9=[0,$,Iut,8,0],F9=[0,$,y7,8,0],I9=[0,$,x7,8,0],L9=[0,$,S7,8,0],R9=[0,$,Fut,{[cdt]:1},42],tft=[3,$,Nct,0,[u7],[[0,{[Q]:v9}]]],nft=[3,$,Pct,0,[$8,Q5,k7,d7,R5,Elt],[[0,1],[0,1],[0,{[B7]:W7}],[0,{[Q]:y9}],[0,{[Q]:l9}],[6,{[Q]:vdt}]],3],rft=[3,$,$8,0,[r7,qct,n5,e5],[0,4,0,0]],ift=[3,$,Hct,0,[_lt,O7],[0,0]],aft=[3,$,w5,0,[c7],[0]],oft=[3,$,Jct,0,[wut],[[()=>zft,{[K7]:1,[q7]:Tut}]]],sft=[3,$,ilt,0,[B5,c5,l5,u5,T5,E5,D5,x5,M5,N5,P5,l7],[0,0,0,0,0,0,0,0,0,0,0,1]],cft=[3,$,Yct,{[q7]:Zct},[$5,$8,Q5,H5,B5,c5,l5,u5,T5,E5,D5,x5,M5,N5,P5,O5,_7,A7,S7,t5,u7],[0,0,0,[0,{[Q]:c9}],0,0,0,0,0,0,0,0,0,0,0,0,[0,{[Q]:S9}],[0,{[Q]:A9}],[()=>L9,{[Q]:C9}],[2,{[Q]:w9}],[0,{[Q]:v9}]]],lft=[3,$,Qct,0,[$8,Q5,k7,rut,c5,l5,u5,T5,E5,D5,x5,M5,N5,P5,O5,nut,d7,R5,J5,X5,v7,y7,b7],[[0,1],[0,1],[0,{[B7]:W7}],[()=>oft,{[R7]:1,[q7]:C5}],[0,{[Q]:X7}],[0,{[Q]:Z7}],[0,{[Q]:Q7}],[0,{[Q]:e9}],[0,{[Q]:t9}],[0,{[Q]:n9}],[0,{[Q]:$7}],[0,{[Q]:i9}],[0,{[Q]:a9}],[0,{[Q]:o9}],[0,{[Q]:r9}],[1,{[Q]:Cdt}],[0,{[Q]:y9}],[0,{[Q]:l9}],[0,{[Q]:Y5}],[0,{[Q]:Z5}],[0,{[Q]:E9}],[()=>F9,{[Q]:D9}],[0,{[Q]:O9}]],3],uft=[3,$,o5,0,[qlt,$5,$8,zut],[0,()=>Tft,()=>ift,[()=>B9,0]]],dft=[3,$,Gct,0,[$5,e5],[[0,{[Q]:$5}],[0,{[Q]:ddt}]]],fft=[3,$,Kct,0,[$8,Z8,o5,W5,G5,K5,Clt,q5,dut,mut,Uct],[[0,1],[0,{[Q]:J7}],[()=>uft,{[R7]:1,[q7]:o5}],[0,{[Q]:u9}],[0,{[Q]:d9}],[0,{[Q]:f9}],[0,{[Q]:_dt}],[0,{[Q]:p9}],[2,{[Q]:mdt}],[0,{[Q]:Tdt}],[0,{[Q]:pdt}]],1],pft=[3,$,Xct,{[q7]:jlt},[Act,Lct,$8,Q5,k7,_7,v7,b7,S7,x7,t5,u7,a5,O5],[[4,{[Q]:ldt}],[0,{[Q]:udt}],[0,{[q7]:$8}],0,0,[0,{[Q]:S9}],[0,{[Q]:E9}],[0,{[Q]:O9}],[()=>L9,{[Q]:C9}],[()=>I9,{[Q]:T9}],[2,{[Q]:w9}],[0,{[Q]:v9}],[0,{[Q]:Y7}],[0,{[Q]:r9}]]],mft=[3,$,$ct,0,[$8,Q5,Z8,s5,p5,h5,g5,A5,U5,W5,G5,K5,q5,t7,_7,g7,j7,v7,y7,b7,S7,x7,t5,d7,D7,o7,s7,a7,R5,a5,O5],[[0,1],[0,1],[0,{[Q]:J7}],[0,{[Q]:d5}],[0,{[Q]:f5}],[0,{[Q]:m5}],[0,{[Q]:_5}],[0,{[Q]:k5}],[4,{[Q]:U5}],[0,{[Q]:u9}],[0,{[Q]:d9}],[0,{[Q]:f9}],[0,{[Q]:p9}],[128,{[z7]:m9}],[0,{[Q]:S9}],[0,{[Q]:b9}],[0,{[Q]:j9}],[0,{[Q]:E9}],[()=>F9,{[Q]:D9}],[0,{[Q]:O9}],[()=>L9,{[Q]:C9}],[()=>I9,{[Q]:T9}],[2,{[Q]:w9}],[0,{[Q]:y9}],[0,{[Q]:k9}],[0,{[Q]:g9}],[5,{[Q]:_9}],[0,{[Q]:h9}],[0,{[Q]:l9}],[0,{[Q]:Y7}],[0,{[Q]:r9}]],2],hft=[3,$,clt,{[q7]:llt},[F5,_7,S7,x7,t5],[[()=>Mft,{[q7]:F5}],[0,{[Q]:S9}],[()=>L9,{[Q]:C9}],[()=>I9,{[Q]:T9}],[2,{[Q]:w9}]],1],gft=[3,$,ult,0,[$8,Rut,_7,S7,x7,t5],[[0,1],[0,{[Q]:gdt}],[0,{[Q]:S9}],[()=>L9,{[Q]:C9}],[()=>I9,{[Q]:T9}],[2,{[Q]:w9}]],1],_ft=[3,$,mlt,0,[I5,A7,u7],[[2,{[Q]:s9}],[0,{[Q]:A9}],[0,{[Q]:v9}]]],vft=[3,$,hlt,0,[$8,Q5,eut,A7,d7,Vct,R5,J5,Dlt,Olt],[[0,1],[0,1],[0,{[Q]:xdt}],[0,{[B7]:G7}],[0,{[Q]:y9}],[2,{[Q]:fdt}],[0,{[Q]:l9}],[0,{[Q]:Y5}],[6,{[Q]:ydt}],[1,{[Q]:bdt}]],2],yft=[3,$,xlt,0,[r5,I5,Ict,H5,Put,e7,y5,B5,c5,l5,u5,T5,E5,D5,x5,M5,N5,P5,O5,tut,A7,s5,p5,h5,g5,olt,A5,U5,z5,j7,_7,t7,v7,b7,S7,t5,g7,u7,Nut,_ut,But,o7,s7,a7],[[()=>R9,16],[2,{[Q]:s9}],[0,{[Q]:Jut}],[0,{[Q]:c9}],[0,{[Q]:Odt}],[4,{[Q]:Ylt}],[1,{[Q]:v5}],[0,{[Q]:B5}],[0,{[Q]:X7}],[0,{[Q]:Z7}],[0,{[Q]:Q7}],[0,{[Q]:e9}],[0,{[Q]:t9}],[0,{[Q]:n9}],[0,{[Q]:$7}],[0,{[Q]:i9}],[0,{[Q]:a9}],[0,{[Q]:o9}],[0,{[Q]:r9}],[1,{[Q]:Sdt}],[0,{[Q]:A9}],[0,{[Q]:d5}],[0,{[Q]:f5}],[0,{[Q]:m5}],[0,{[Q]:_5}],[0,{[Q]:slt}],[0,{[Q]:k5}],[4,{[Q]:U5}],[0,{[Q]:z5}],[0,{[Q]:j9}],[0,{[Q]:S9}],[128,{[z7]:m9}],[0,{[Q]:E9}],[0,{[Q]:O9}],[()=>L9,{[Q]:C9}],[2,{[Q]:w9}],[0,{[Q]:b9}],[0,{[Q]:v9}],[0,{[Q]:kdt}],[1,{[Q]:wdt}],[1,{[Q]:Adt}],[0,{[Q]:g9}],[5,{[Q]:_9}],[0,{[Q]:h9}]]],bft=[3,$,Slt,0,[$8,Q5,J5,Alt,X5,Rlt,p7,Eut,Dut,Out,kut,Aut,jut,A7,v7,y7,b7,d7,l7,R5,tlt],[[0,1],[0,1],[0,{[Q]:Y5}],[4,{[Q]:klt}],[0,{[Q]:Z5}],[4,{[Q]:zlt}],[0,{[Q]:p7}],[0,{[B7]:tdt}],[0,{[B7]:ndt}],[0,{[B7]:rdt}],[0,{[B7]:idt}],[0,{[B7]:adt}],[6,{[B7]:odt}],[0,{[B7]:G7}],[0,{[Q]:E9}],[()=>F9,{[Q]:D9}],[0,{[Q]:O9}],[0,{[Q]:y9}],[1,{[B7]:H7}],[0,{[Q]:l9}],[0,{[Q]:hdt}]],2],xft=[3,$,Wlt,{[q7]:Hlt},[i5,i7,j5,c7],[[()=>Lft,0],()=>z9,0,0]],Sft=[3,$,Glt,0,[$lt,j5,c7,n5],[[1,{[B7]:$ut}],[0,{[B7]:N7}],[0,{[B7]:V7}],[0,{[B7]:Yut}]]],Cft=[3,$,Zlt,{[q7]:Klt},[Llt,flt,r7,c7,L5,n7,alt,V5,Vlt,j5,iut,m7,u7],[2,[()=>Bft,{[K7]:1}],0,0,0,1,[()=>Rft,{[K7]:1}],0,1,0,0,0,[0,{[Q]:v9}]]],wft=[3,$,Qlt,0,[$8,L5,V5,n7,c7,j5,ylt,m7,d7,R5,hut],[[0,1],[0,{[B7]:Xut}],[0,{[B7]:Zut}],[1,{[B7]:edt}],[0,{[B7]:V7}],[0,{[B7]:N7}],[2,{[B7]:Qut}],[0,{[B7]:sdt}],[0,{[Q]:y9}],[0,{[Q]:l9}],[64,{[Q]:Edt}]],1],Tft=[3,$,Jlt,0,[O7,r7],[0,0]],Eft=[3,$,gut,0,[Q5,e7,B5,a5,O5,w7,g7,i7,f7],[0,4,0,[64,{[K7]:1}],0,1,0,()=>z9,()=>jft]],z9=[3,$,i7,0,[plt,Tlt],[0,0]],Dft=[3,$,yut,0,[H5,B5,c5,l5,u5,T5,E5,D5,x5,M5,N5,P5,O5,_7,A7,v7,b7,S7,x7,t5,w7,u7],[[0,{[Q]:c9}],[0,{[Q]:B5}],[0,{[Q]:X7}],[0,{[Q]:Z7}],[0,{[Q]:Q7}],[0,{[Q]:e9}],[0,{[Q]:t9}],[0,{[Q]:n9}],[0,{[Q]:$7}],[0,{[Q]:i9}],[0,{[Q]:a9}],[0,{[Q]:o9}],[0,{[Q]:r9}],[0,{[Q]:S9}],[0,{[Q]:A9}],[0,{[Q]:E9}],[0,{[Q]:O9}],[()=>L9,{[Q]:C9}],[()=>I9,{[Q]:T9}],[2,{[Q]:w9}],[1,{[Q]:Ddt}],[0,{[Q]:v9}]]],Oft=[3,$,but,0,[$8,Q5,Z8,r5,s5,p5,h5,g5,y5,S5,A5,a5,c5,l5,u5,T5,E5,D5,x5,M5,N5,P5,U5,J5,X5,W5,G5,K5,q5,qut,t7,_7,g7,j7,v7,y7,b7,S7,x7,t5,d7,D7,o7,s7,a7,R5],[[0,1],[0,1],[0,{[Q]:J7}],[()=>R9,16],[0,{[Q]:d5}],[0,{[Q]:f5}],[0,{[Q]:m5}],[0,{[Q]:_5}],[1,{[Q]:v5}],[0,{[Q]:b5}],[0,{[Q]:k5}],[0,{[Q]:x9}],[0,{[Q]:X7}],[0,{[Q]:Z7}],[0,{[Q]:Q7}],[0,{[Q]:e9}],[0,{[Q]:t9}],[0,{[Q]:n9}],[0,{[Q]:$7}],[0,{[Q]:i9}],[0,{[Q]:a9}],[0,{[Q]:o9}],[4,{[Q]:U5}],[0,{[Q]:Y5}],[0,{[Q]:Z5}],[0,{[Q]:u9}],[0,{[Q]:d9}],[0,{[Q]:f9}],[0,{[Q]:p9}],[1,{[Q]:jdt}],[128,{[z7]:m9}],[0,{[Q]:S9}],[0,{[Q]:b9}],[0,{[Q]:j9}],[0,{[Q]:E9}],[()=>F9,{[Q]:D9}],[0,{[Q]:O9}],[()=>L9,{[Q]:C9}],[()=>I9,{[Q]:T9}],[2,{[Q]:w9}],[0,{[Q]:y9}],[0,{[Q]:k9}],[0,{[Q]:g9}],[5,{[Q]:_9}],[0,{[Q]:h9}],[0,{[Q]:l9}]],2],kft=[3,$,Sut,0,[A7],[[0,{[Q]:A9}]]],Aft=[3,$,Cut,0,[$8,Q5,D7,A7,S5,a5,R5,d7],[[0,1],[0,1],[()=>Pft,{[R7]:1,[q7]:D7}],[0,{[B7]:G7}],[0,{[Q]:b5}],[0,{[Q]:x9}],[0,{[Q]:l9}],[0,{[Q]:y9}]],3],jft=[3,$,f7,0,[Ilt,Mut],[2,4]],Mft=[3,$,Lut,0,[Q8,h7,C7,H5],[[0,{[q7]:Q8}],[()=>P9,{[q7]:h7}],[()=>P9,{[q7]:C7}],[4,{[q7]:H5}]],4],Nft=[3,$,E7,0,[Q5,Kut],[0,0],2],Pft=[3,$,D7,0,[T7],[[()=>B9,0]],1],Fft=[3,$,Wut,0,[_7,B5,c5,l5,u5,T5,E5,D5,x5,M5,N5,P5,v7,b7,S7,t5,u7],[[0,{[Q]:S9}],[0,{[Q]:B5}],[0,{[Q]:X7}],[0,{[Q]:Z7}],[0,{[Q]:Q7}],[0,{[Q]:e9}],[0,{[Q]:t9}],[0,{[Q]:n9}],[0,{[Q]:$7}],[0,{[Q]:i9}],[0,{[Q]:a9}],[0,{[Q]:o9}],[0,{[Q]:E9}],[0,{[Q]:O9}],[()=>L9,{[Q]:C9}],[2,{[Q]:w9}],[0,{[Q]:v9}]]],Ift=[3,$,Gut,0,[$8,Q5,l7,k7,r5,y5,S5,a5,c5,l5,u5,T5,E5,D5,x5,M5,N5,P5,v7,y7,b7,d7,R5],[[0,1],[0,1],[1,{[B7]:H7}],[0,{[B7]:W7}],[()=>R9,16],[1,{[Q]:v5}],[0,{[Q]:b5}],[0,{[Q]:x9}],[0,{[Q]:X7}],[0,{[Q]:Z7}],[0,{[Q]:Q7}],[0,{[Q]:e9}],[0,{[Q]:t9}],[0,{[Q]:n9}],[0,{[Q]:$7}],[0,{[Q]:i9}],[0,{[Q]:a9}],[0,{[Q]:o9}],[0,{[Q]:E9}],[()=>F9,{[Q]:D9}],[0,{[Q]:O9}],[0,{[Q]:y9}],[0,{[Q]:l9}]],4],Lft=[1,$,i5,0,[()=>rft,{[q7]:$8}]],Rft=[1,$,nlt,0,()=>aft],zft=[1,$,rlt,0,()=>sft],Bft=[1,$,fut,0,[()=>Eft,0]],B9=[1,$,T7,0,[()=>Nft,{[q7]:E7}]],Vft=[9,$,Mct,{[F7]:[`DELETE`,`/{Key+}?x-id=AbortMultipartUpload`,204]},()=>nft,()=>tft],Hft=[9,$,C5,{[F7]:[`POST`,`/{Key+}`,200]},()=>lft,()=>cft],Uft=[9,$,Wct,{[F7]:[`PUT`,`/`,200]},()=>fft,()=>dft],Wft=[9,$,elt,{[F7]:[`POST`,`/{Key+}?uploads`,200]},()=>mft,()=>pft],Gft=[9,$,dlt,{[F7]:[`GET`,`/?session`,200]},()=>gft,()=>hft],Kft=[9,$,glt,{[F7]:[`DELETE`,`/{Key+}?x-id=DeleteObject`,204]},()=>vft,()=>_ft],qft=[9,$,blt,{[I7]:`-`,[F7]:[`GET`,`/{Key+}?x-id=GetObject`,200]},()=>bft,()=>yft],Jft=[9,$,Ult,{[F7]:[`GET`,`/?x-id=ListBuckets`,200]},()=>Sft,()=>xft],Yft=[9,$,Xlt,{[F7]:[`GET`,`/?list-type=2`,200]},()=>wft,()=>Cft],Xft=[9,$,vut,{[I7]:`-`,[F7]:[`PUT`,`/{Key+}?x-id=PutObject`,200]},()=>Oft,()=>Dft],Zft=[9,$,xut,{[I7]:`-`,[F7]:[`PUT`,`/{Key+}?tagging`,200]},()=>Aft,()=>kft],Qft=[9,$,Uut,{[I7]:`-`,[F7]:[`PUT`,`/{Key+}?x-id=UploadPart`,200]},()=>Ift,()=>Fft],$ft=class extends J8(Qst,Y8,`CreateSession`,Gft){},ept={name:`@aws-sdk/client-s3`,version:`3.1109.0`,description:`AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native`,homepage:`https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3`,license:`Apache-2.0`,author:{name:`AWS SDK for JavaScript Team`,url:`https://aws.amazon.com/sdk-for-javascript/`},repository:{type:`git`,url:`https://github.com/aws/aws-sdk-js-v3.git`,directory:`clients/client-s3`},files:[`dist-*/**`],sideEffects:!1,main:`./dist-cjs/index.js`,module:`./dist-es/index.js`,browser:{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.browser`},types:`./dist-types/index.d.ts`,typesVersions:{"<4.5":{"dist-types/*":[`dist-types/ts3.4/*`]}},"react-native":{"./dist-es/runtimeConfig":`./dist-es/runtimeConfig.native`},scripts:{build:`concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs`,"build:cjs":`node ../../scripts/compilation/inline`,"build:es":`premove dist-es && tsc -p tsconfig.es.json`,"build:include:deps":`yarn g:turbo run build -F="$npm_package_name"`,"build:types":`premove dist-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`,"extract:docs":`api-extractor run --local`,"generate:client":`node ../../scripts/generate-clients/single-service`,test:`yarn g:vitest run --passWithNoTests`,"test:watch":`yarn g:vitest watch --passWithNoTests`,"test:integration":`yarn g:vitest run --passWithNoTests -c vitest.config.integ.mts`,"test:integration:watch":`yarn g:vitest watch --passWithNoTests -c vitest.config.integ.mts`,"test:e2e":`yarn g:vitest run -c vitest.config.e2e.mts`,"test:e2e:watch":`yarn g:vitest watch -c vitest.config.e2e.mts`,"test:browser":`yarn g:vitest run -c vitest.config.browser.mts`,"test:browser:watch":`yarn g:vitest watch -c vitest.config.browser.mts`,"test:index":`tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs`},dependencies:{"@aws-sdk/checksums":`^3.1000.27`,"@aws-sdk/core":`^3.977.7`,"@aws-sdk/credential-provider-node":`^3.972.79`,"@aws-sdk/middleware-sdk-s3":`^3.972.73`,"@aws-sdk/signature-v4-multi-region":`^3.996.44`,"@aws-sdk/types":`^3.974.3`,"@smithy/core":`^3.31.1`,"@smithy/fetch-http-handler":`^5.6.13`,"@smithy/node-http-handler":`^4.9.13`,"@smithy/types":`^4.16.1`,tslib:`^2.6.2`},devDependencies:{"@aws-sdk/signature-v4-crt":`3.1109.0`,"@smithy/snapshot-testing":`^2.2.16`,"@tsconfig/node20":`20.1.8`,"@types/node":`^20.14.8`,concurrently:`7.0.0`,"downlevel-dts":`0.10.1`,premove:`4.0.0`,typescript:`~6.0.3`,vitest:`^4.0.17`},engines:{node:`>=20.0.0`}},V9=64,H9=20,U9=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),tpt=new Int32Array([1518500249,1859775393,2400959708,3395469782]),npt=class e{digestLength=H9;state=Int32Array.from(U9);w;buffer=new Uint8Array(V9);bufferLength=0;bytesHashed=0;finished=!1;inner;outer;constructor(t){if(t){let n=e.normalizeKey(t);this.inner=new e,this.outer=new e;let r=new Uint8Array(128);for(let e=0;e0){for(;n>0&&this.bufferLength=V9;)this.hashBuffer(e,t),t+=V9,n-=V9;for(;n>0;)this.buffer[this.bufferLength++]=e[t++],--n}async digest(){if(this.inner&&this.outer){if(this.finished)throw Error(`Attempted to digest an already finished HMAC.`);this.finished=!0;let e=this.inner.digestSync();return this.outer.update(e),this.outer.digestSync()}return this.digestSync()}reset(){this.state=Int32Array.from(U9),this.buffer=new Uint8Array(V9),this.bufferLength=0,this.bytesHashed=0}digestSync(){let e=this.state.slice(),t=this.buffer.slice(),n=this.bufferLength,r=this.bytesHashed/536870912|0,i=this.bytesHashed<<3;if(t[n++]=128,n>56){for(let e=n;e>>24&255,o[1]=e[0]>>>16&255,o[2]=e[0]>>>8&255,o[3]=e[0]&255,o[4]=e[1]>>>24&255,o[5]=e[1]>>>16&255,o[6]=e[1]>>>8&255,o[7]=e[1]&255,o[8]=e[2]>>>24&255,o[9]=e[2]>>>16&255,o[10]=e[2]>>>8&255,o[11]=e[2]&255,o[12]=e[3]>>>24&255,o[13]=e[3]>>>16&255,o[14]=e[3]>>>8&255,o[15]=e[3]&255,o[16]=e[4]>>>24&255,o[17]=e[4]>>>16&255,o[18]=e[4]>>>8&255,o[19]=e[4]&255,o}static normalizeKey(t){let n=st(t);if(n.byteLength>V9){let t=new e;t.update(n);let r=t.digestSync(),i=new Uint8Array(V9);return i.set(r),i}let r=new Uint8Array(V9);return r.set(n),r}hashBuffer(e,t){this.hashBufferWith(this.state,e,t)}hashBufferWith(e,t,n){let r=this.w??=new Int32Array(80),i=e[0],a=e[1],o=e[2],s=e[3],c=e[4];for(let e=0;e<16;++e)r[e]=(t[n+e*4]&255)<<24|(t[n+e*4+1]&255)<<16|(t[n+e*4+2]&255)<<8|t[n+e*4+3]&255;for(let e=16;e<80;++e){let t=r[e-3]^r[e-8]^r[e-14]^r[e-16];r[e]=t<<1|t>>>31}for(let e=0;e<80;++e){let t=e<20?0:e<40?1:e<60?2:3,n=((i<<5|i>>>27)+(t===0?a&o^~a&s:t===2?a&o^a&s^o&s:a^o^s)|0)+(c+(tpt[t]+r[e]|0)|0)|0;c=s,s=o,o=a<<30|a>>>2,a=i,i=n}e[0]=e[0]+i|0,e[1]=e[1]+a|0,e[2]=e[2]+o|0,e[3]=e[3]+s|0,e[4]=e[4]+c|0}},rpt=e=>({apiVersion:`2006-03-01`,base64Decoder:e?.base64Decoder??qe,base64Encoder:e?.base64Encoder??_e,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??G8,extensions:e?.extensions??[],getAwsChunkedEncodingStream:e?.getAwsChunkedEncodingStream??xee,httpAuthSchemeProvider:e?.httpAuthSchemeProvider??qst,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:`aws.auth#sigv4`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4`),signer:new ge},{schemeId:`aws.auth#sigv4a`,identityProvider:e=>e.getIdentityProvider(`aws.auth#sigv4a`),signer:new s}],logger:e?.logger??new Ge,md5:e?.md5??qee,protocol:e?.protocol??jst,protocolSettings:e?.protocolSettings??{defaultNamespace:`com.amazonaws.s3`,errorTypeRegistries:eft,xmlNamespace:`http://s3.amazonaws.com/doc/2006-03-01/`,version:`2006-03-01`,serviceTarget:`AmazonS3`},sdkStreamMixin:e?.sdkStreamMixin??vt,serviceId:e?.serviceId??`S3`,sha1:e?.sha1??npt,sha256:e?.sha256??Ve,signerConstructor:e?.signerConstructor??a,signingEscapePath:e?.signingEscapePath??!1,urlParser:e?.urlParser??Te,useArnRegion:e?.useArnRegion??void 0,utf8Decoder:e?.utf8Decoder??lt,utf8Encoder:e?.utf8Encoder??ut}),ipt=e=>{let t=We(e),n=()=>t().then(ye),r=rpt(e);return{...r,...e,runtime:`browser`,defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Fe,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(Error(`Credential is missing`))),defaultUserAgentProvider:e?.defaultUserAgentProvider??ve({serviceId:r.serviceId,clientVersion:ept.version}),eventStreamSerdeProvider:e?.eventStreamSerdeProvider??mee,maxAttempts:e?.maxAttempts??3,region:e?.region??De(`Region is missing`),requestHandler:Ce.create(e?.requestHandler??n),retryMode:e?.retryMode??(async()=>(await n()).retryMode||ce),streamCollector:e?.streamCollector??Ie,streamHasher:e?.streamHasher??Kee,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}},apt=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}}},opt=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),spt=(e,n)=>{let r=Object.assign(Ke(e),pe(e),je(e),apt(e));return n.forEach(e=>e.configure(r)),Object.assign(e,t(r),he(r),be(r),opt(r))},cpt=class extends i{config;constructor(...[e]){let t=ipt(e||{});super(t),this.initConfig=t;let n=Yst(t),i=Jot(oe(n)),a=Qe(i),o=fe(a),s=Oe(o),c=spt(sst(Jst(b6(Re(s))),{session:[()=>this,$ft]}),e?.extensions||[]);this.config=c,this.middlewareStack.use(Se(this.config)),this.middlewareStack.use(te(this.config)),this.middlewareStack.use(le(this.config)),this.middlewareStack.use(Ae(this.config)),this.middlewareStack.use(we(this.config)),this.middlewareStack.use(ae(this.config)),this.middlewareStack.use(Ee(this.config)),this.middlewareStack.use(r(this.config,{httpAuthSchemeParametersProvider:Kst,identityProviderConfigProvider:async e=>new de({"aws.auth#sigv4":e.credentials,"aws.auth#sigv4a":e.credentials})})),this.middlewareStack.use(xe(this.config)),this.middlewareStack.use(Ast(this.config)),this.middlewareStack.use(Pst(this.config)),this.middlewareStack.use(ist(this.config)),this.middlewareStack.use(hst(this.config)),this.middlewareStack.use(bst(this.config))}destroy(){super.destroy()}},W9=`${window.location.protocol}//localhost:9999`,lpt=`${window.location.protocol}//localhost:8443`,G9=null,K9=null,q9=null,J9=null,Y9=null,X9=null,Z9=null,Q9=null,$9=null;function upt(){if(!G9){let e=Me();if(!e)throw Error(`AWS credentials not configured`);G9=new _M({endpoint:W9,region:tt(),credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken}}),G9.middlewareStack.add(e=>async t=>(ue.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}`),await e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return G9}function dpt(){if(!K9){let e=Me();if(!e)throw Error(`AWS credentials not configured`);K9=new dIe({endpoint:W9,region:tt(),credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken}}),K9.middlewareStack.add(e=>async t=>(ue.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}`),await e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return K9}function fpt(){if(!q9){let e=Me();if(!e)throw Error(`AWS credentials not configured`);q9=new UGe({endpoint:W9,region:tt(),credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken}}),q9.middlewareStack.add(e=>async t=>(ue.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}`),await e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return q9}function ppt(){if(!J9){let e=Me();if(!e)throw Error(`AWS credentials not configured`);J9=new yne({endpoint:W9,region:tt(),credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken}}),J9.middlewareStack.add(e=>async t=>(ue.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}`),await e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return J9}function mpt(){if(!Y9){let e=Me();if(!e)throw Error(`AWS credentials not configured`);Y9=new a1e({endpoint:W9,region:tt(),credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken}}),Y9.middlewareStack.add(e=>async t=>(ue.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}`),await e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return Y9}function hpt(){if(!Z9){let e=Me();if(!e)throw Error(`AWS credentials not configured`);Z9=new uz({endpoint:W9,region:tt(),credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken}}),Z9.middlewareStack.add(e=>async t=>(ue.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}`),await e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return Z9}function gpt(){if(!Q9){let e=Me();if(!e)throw Error(`AWS credentials not configured`);Q9=new ODe({endpoint:W9,region:tt(),credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken}}),Q9.middlewareStack.add(e=>async t=>(ue.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}`),await e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return Q9}function _pt(){if(!$9){let e=Me();if(!e)throw Error(`AWS credentials not configured`);$9=new Dot({endpoint:W9,region:tt(),credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken}}),$9.middlewareStack.add(e=>async t=>(ue.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}`),await e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return $9}function vpt(){if(!X9){let e=Me();if(!e)throw Error(`AWS credentials not configured`);X9=new cpt({endpoint:lpt,region:tt(),credentials:{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken},forcePathStyle:!0}),X9.middlewareStack.add(e=>async t=>(ue.isInstance(t.request)&&t.request.path.endsWith(`/`)&&t.request.path!==`/`&&(t.request.path=t.request.path.slice(0,-1)),await e(t)),{step:`build`,name:`removeTrailingSlash`}),X9.middlewareStack.add(e=>async t=>(ue.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}`),await e(t)),{step:`finalizeRequest`,name:`proxyRewrite`,override:!0})}return X9}function ypt(){G9=null,K9=null,q9=null,J9=null,Y9=null,X9=null,Z9=null,Q9=null,$9=null}export{pot as $,eM as $i,$Fe as $n,ej as $r,K$e as $t,sct as A,Mj as Ai,NGe as An,YR as Ar,C$e as At,eot as B,Vj as Bi,BFe as Bn,fN as Br,N$e as Bt,Zst as C,wj as Ci,EGe as Cn,bDe as Cr,g$e as Ct,Y8 as D,Oj as Di,AGe as Dn,KR as Dr,b$e as Dt,tct as E,Dj as Ei,kGe as En,gz as Er,y$e as Et,b6 as F,Fj as Fi,_Ie as Fn,ez as Fr,O$e as Ft,aot as G,Kj as Gi,GFe as Gn,KA as Gr,R$e as Gt,not as H,Uj as Hi,HFe as Hn,wM as Hr,F$e as Ht,Xat as I,Lj as Ii,IFe as In,tz as Ir,k$e as It,cot as J,Yj as Ji,JFe as Jn,YA as Jr,V$e as Jt,oot as K,qj as Ki,KFe as Kn,qA as Kr,z$e as Kt,Zat as L,Rj as Li,LFe as Ln,nz as Lr,A$e as Lt,ict as M,Nj as Mi,FGe as Mn,ZR as Mr,T$e as Mt,act as N,Pj as Ni,IGe as Nn,QR as Nr,E$e as Nt,nct as O,kj as Oi,jGe as On,qR as Or,x$e as Ot,J8 as P,Ij as Pi,LGe as Pn,$R as Pr,D$e as Pt,fot as Q,$j as Qi,QFe as Qn,$A as Qr,G$e as Qt,Qat as R,zj as Ri,RFe as Rn,rz as Rr,j$e as Rt,Xst as S,Cj as Si,TGe as Sn,yDe as Sr,h$e as St,ect as T,Ej as Ti,OGe as Tn,SDe as Tr,v$e as Tt,rot as U,Wj as Ui,UFe as Un,WA as Ur,I$e as Ut,tot as V,Hj as Vi,VFe as Vn,_N as Vr,P$e as Vt,iot as W,Gj as Wi,WFe as Wn,GA as Wr,L$e as Wt,uot as X,Zj as Xi,XFe as Xn,ZA as Xr,U$e as Xt,lot as Y,Xj as Yi,YFe as Yn,XA as Yr,H$e as Yt,dot as Z,Qj as Zi,ZFe as Zn,QA as Zr,W$e as Zt,Jft as _,vj as _i,bGe as _n,mDe as _r,u$e as _t,gpt as a,oM as aa,oj as ai,Q$e as an,aIe as ar,yot as at,Zft as b,xj as bi,CGe as bn,_De as br,p$e as bt,mpt as c,lM as ca,lj as ci,dGe as cn,aDe as cr,d1e as ct,Vft as d,Tne as da,fj as di,mGe as dn,cDe as dr,i$e as dt,tM as ea,tj as ei,q$e as en,eIe as er,mot as et,Hft as f,fne as fa,pj as fi,hGe as fn,lDe as fr,a$e as ft,qft as g,_j as gi,yGe as gn,pDe as gr,l$e as gt,Kft as h,gj as hi,vGe as hn,fDe as hr,c$e as ht,hpt as i,aM as ia,aj as ii,Z$e as in,iIe as ir,vot as it,rct as j,jj as ji,PGe as jn,XR as jr,w$e as jt,oct as k,Aj as ki,MGe as kn,JR as kr,S$e as kt,_pt as l,uM as la,uj as li,fGe as ln,oDe as lr,n$e as lt,Wft as m,tte as ma,hj as mi,_Ge as mn,dDe as mr,s$e as mt,ppt as n,rM as na,rj as ni,Y$e as nn,nIe as nr,got as nt,dpt as o,sM as oa,sj as oi,$$e as on,PDe as or,bot as ot,Uft as p,pne as pa,mj as pi,gGe as pn,uDe as pr,o$e as pt,sot as q,Jj as qi,qFe as qn,JA as qr,B$e as qt,upt as r,iM as ra,ij as ri,X$e as rn,rIe as rr,_ot as rt,fpt as s,cM as sa,cj as si,YGe as sn,iDe as sr,xot as st,ypt as t,nM as ta,nj as ti,J$e as tn,tIe as tr,hot as tt,vpt as u,dM as ua,dj as ui,pGe as un,sDe as ur,r$e as ut,Yft as v,yj as vi,xGe as vn,hDe as vr,d$e as vt,$st as w,Tj as wi,DGe as wn,xDe as wr,_$e as wt,Qft as x,Sj as xi,wGe as xn,vDe as xr,m$e as xt,Xft as y,bj as yi,SGe as yn,gDe as yr,f$e as yt,$at as z,Bj as zi,zFe as zn,iz as zr,M$e as zt}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/camera.js b/spinifex/services/spinifexui/frontend/dist/assets/camera.js new file mode 100644 index 000000000..4e0474cc8 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/camera.js @@ -0,0 +1 @@ +import{t as e}from"./createLucideIcon.js";var t=e(`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`}]]);export{t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/certificate-import-dialog.js b/spinifex/services/spinifexui/frontend/dist/assets/certificate-import-dialog.js index aff207914..944e9ca28 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/certificate-import-dialog.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/certificate-import-dialog.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"./QueryClientProvider.js";import{t as a}from"./useMutation.js";import{a as o,t as s}from"./field.js";import{a as c,i as l,l as ee,n as u,o as d,r as f,s as p,t as te}from"./alert-dialog.js";import{Ri as m,n as h}from"./awsClient.js";import{i as g,n as _,r as v}from"./acm.js";import{t as y}from"./error-banner.js";import{t as b}from"./textarea.js";var x=class extends g(_,v,`ImportCertificate`,m){},S=e(n(),1),C=r(),w=new TextEncoder;function T(){let e=(0,C.c)(2),t=i(),n;return e[0]===t?n=e[1]:(n={mutationFn:E,onSuccess:()=>{t.invalidateQueries({queryKey:[`acm`,`certificates`]})}},e[0]=t,e[1]=n),a(n)}async function E(e){let t=new x({Certificate:w.encode(e.certificate),PrivateKey:w.encode(e.privateKey),CertificateChain:e.certificateChain&&e.certificateChain.length>0?w.encode(e.certificateChain):void 0});return await h().send(t)}var D=t();function O(e){let t=(0,C.c)(54),{open:n,onOpenChange:r,onImported:i}=e,[a,m]=(0,S.useState)(``),[h,g]=(0,S.useState)(``),[_,v]=(0,S.useState)(``),x=T(),w;t[0]===x?w=t[1]:(w=()=>{m(``),g(``),v(``),x.reset()},t[0]=x,t[1]=w);let E=w,O;t[2]!==r||t[3]!==E?(O=e=>{e||E(),r(e)},t[2]=r,t[3]=E,t[4]=O):O=t[4];let k=O,A;t[5]!==a||t[6]!==h?(A=a.trim().length>0&&h.trim().length>0,t[5]=a,t[6]=h,t[7]=A):A=t[7];let j=A,M;t[8]!==j||t[9]!==a||t[10]!==_||t[11]!==x||t[12]!==i||t[13]!==r||t[14]!==h||t[15]!==E?(M=async()=>{if(j)try{let e=await x.mutateAsync({certificate:a,privateKey:h,certificateChain:_});e.CertificateArn&&i(e.CertificateArn),E(),r(!1)}catch{}},t[8]=j,t[9]=a,t[10]=_,t[11]=x,t[12]=i,t[13]=r,t[14]=h,t[15]=E,t[16]=M):M=t[16];let N=M,P;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(P={maxWidth:`36rem`,width:`calc(100vw - 2rem)`},t[17]=P):P=t[17];let F;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,D.jsxs)(p,{children:[(0,D.jsx)(ee,{children:`Import certificate`}),(0,D.jsx)(c,{children:`Paste a PEM-encoded certificate and its private key. The optional chain is appended for intermediate CAs.`})]}),t[18]=F):F=t[18];let I;t[19]===x.error?I=t[20]:(I=x.error&&(0,D.jsx)(y,{error:x.error,msg:`Failed to import certificate`}),t[19]=x.error,t[20]=I);let L;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,D.jsx)(o,{children:(0,D.jsx)(`label`,{htmlFor:`cert-body`,children:`Certificate body`})}),t[21]=L):L=t[21];let R;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(R=e=>m(e.target.value),t[22]=R):R=t[22];let z;t[23]===a?z=t[24]:(z=(0,D.jsxs)(s,{children:[L,(0,D.jsx)(b,{className:`font-mono text-xs`,id:`cert-body`,onChange:R,placeholder:`-----BEGIN CERTIFICATE-----`,rows:5,value:a})]}),t[23]=a,t[24]=z);let B;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,D.jsx)(o,{children:(0,D.jsx)(`label`,{htmlFor:`cert-key`,children:`Private key`})}),t[25]=B):B=t[25];let V;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(V=e=>g(e.target.value),t[26]=V):V=t[26];let H;t[27]===h?H=t[28]:(H=(0,D.jsxs)(s,{children:[B,(0,D.jsx)(b,{className:`font-mono text-xs`,id:`cert-key`,onChange:V,placeholder:`-----BEGIN PRIVATE KEY-----`,rows:5,value:h})]}),t[27]=h,t[28]=H);let U;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,D.jsx)(o,{children:(0,D.jsx)(`label`,{htmlFor:`cert-chain`,children:`Certificate chain (optional)`})}),t[29]=U):U=t[29];let W;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(W=e=>v(e.target.value),t[30]=W):W=t[30];let G;t[31]===_?G=t[32]:(G=(0,D.jsxs)(s,{children:[U,(0,D.jsx)(b,{className:`font-mono text-xs`,id:`cert-chain`,onChange:W,placeholder:`-----BEGIN CERTIFICATE-----`,rows:4,value:_})]}),t[31]=_,t[32]=G);let K;t[33]!==z||t[34]!==H||t[35]!==G?(K=(0,D.jsxs)(`div`,{className:`min-w-0 space-y-4`,children:[z,H,G]}),t[33]=z,t[34]=H,t[35]=G,t[36]=K):K=t[36];let q;t[37]===x.isPending?q=t[38]:(q=(0,D.jsx)(f,{disabled:x.isPending,children:`Cancel`}),t[37]=x.isPending,t[38]=q);let J=!j||x.isPending,Y=x.isPending?`Importing…`:`Import`,X;t[39]!==N||t[40]!==J||t[41]!==Y?(X=(0,D.jsx)(u,{disabled:J,onClick:N,children:Y}),t[39]=N,t[40]=J,t[41]=Y,t[42]=X):X=t[42];let Z;t[43]!==q||t[44]!==X?(Z=(0,D.jsxs)(d,{children:[q,X]}),t[43]=q,t[44]=X,t[45]=Z):Z=t[45];let Q;t[46]!==K||t[47]!==Z||t[48]!==I?(Q=(0,D.jsxs)(l,{className:`grid-cols-[minmax(0,1fr)]`,style:P,children:[F,I,K,Z]}),t[46]=K,t[47]=Z,t[48]=I,t[49]=Q):Q=t[49];let $;return t[50]!==k||t[51]!==n||t[52]!==Q?($=(0,D.jsx)(te,{onOpenChange:k,open:n,children:Q}),t[50]=k,t[51]=n,t[52]=Q,t[53]=$):$=t[53],$}export{O 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"./QueryClientProvider.js";import{t as a}from"./useMutation.js";import{a as o,t as s}from"./field.js";import{a as c,i as l,l as ee,n as u,o as d,r as f,s as p,t as te}from"./alert-dialog.js";import{fa as m,n as h}from"./awsClient.js";import{i as g,n as _,r as v}from"./acm.js";import{t as y}from"./error-banner.js";import{t as b}from"./textarea.js";var x=class extends g(_,v,`ImportCertificate`,m){},S=e(n(),1),C=r(),w=new TextEncoder;function T(){let e=(0,C.c)(2),t=i(),n;return e[0]===t?n=e[1]:(n={mutationFn:E,onSuccess:()=>{t.invalidateQueries({queryKey:[`acm`,`certificates`]})}},e[0]=t,e[1]=n),a(n)}async function E(e){let t=new x({Certificate:w.encode(e.certificate),PrivateKey:w.encode(e.privateKey),CertificateChain:e.certificateChain&&e.certificateChain.length>0?w.encode(e.certificateChain):void 0});return await h().send(t)}var D=t();function O(e){let t=(0,C.c)(54),{open:n,onOpenChange:r,onImported:i}=e,[a,m]=(0,S.useState)(``),[h,g]=(0,S.useState)(``),[_,v]=(0,S.useState)(``),x=T(),w;t[0]===x?w=t[1]:(w=()=>{m(``),g(``),v(``),x.reset()},t[0]=x,t[1]=w);let E=w,O;t[2]!==r||t[3]!==E?(O=e=>{e||E(),r(e)},t[2]=r,t[3]=E,t[4]=O):O=t[4];let k=O,A;t[5]!==a||t[6]!==h?(A=a.trim().length>0&&h.trim().length>0,t[5]=a,t[6]=h,t[7]=A):A=t[7];let j=A,M;t[8]!==j||t[9]!==a||t[10]!==_||t[11]!==x||t[12]!==i||t[13]!==r||t[14]!==h||t[15]!==E?(M=async()=>{if(j)try{let e=await x.mutateAsync({certificate:a,privateKey:h,certificateChain:_});e.CertificateArn&&i(e.CertificateArn),E(),r(!1)}catch{}},t[8]=j,t[9]=a,t[10]=_,t[11]=x,t[12]=i,t[13]=r,t[14]=h,t[15]=E,t[16]=M):M=t[16];let N=M,P;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(P={maxWidth:`36rem`,width:`calc(100vw - 2rem)`},t[17]=P):P=t[17];let F;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,D.jsxs)(p,{children:[(0,D.jsx)(ee,{children:`Import certificate`}),(0,D.jsx)(c,{children:`Paste a PEM-encoded certificate and its private key. The optional chain is appended for intermediate CAs.`})]}),t[18]=F):F=t[18];let I;t[19]===x.error?I=t[20]:(I=x.error&&(0,D.jsx)(y,{error:x.error,msg:`Failed to import certificate`}),t[19]=x.error,t[20]=I);let L;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,D.jsx)(o,{children:(0,D.jsx)(`label`,{htmlFor:`cert-body`,children:`Certificate body`})}),t[21]=L):L=t[21];let R;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(R=e=>m(e.target.value),t[22]=R):R=t[22];let z;t[23]===a?z=t[24]:(z=(0,D.jsxs)(s,{children:[L,(0,D.jsx)(b,{className:`font-mono text-xs`,id:`cert-body`,onChange:R,placeholder:`-----BEGIN CERTIFICATE-----`,rows:5,value:a})]}),t[23]=a,t[24]=z);let B;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,D.jsx)(o,{children:(0,D.jsx)(`label`,{htmlFor:`cert-key`,children:`Private key`})}),t[25]=B):B=t[25];let V;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(V=e=>g(e.target.value),t[26]=V):V=t[26];let H;t[27]===h?H=t[28]:(H=(0,D.jsxs)(s,{children:[B,(0,D.jsx)(b,{className:`font-mono text-xs`,id:`cert-key`,onChange:V,placeholder:`-----BEGIN PRIVATE KEY-----`,rows:5,value:h})]}),t[27]=h,t[28]=H);let U;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,D.jsx)(o,{children:(0,D.jsx)(`label`,{htmlFor:`cert-chain`,children:`Certificate chain (optional)`})}),t[29]=U):U=t[29];let W;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(W=e=>v(e.target.value),t[30]=W):W=t[30];let G;t[31]===_?G=t[32]:(G=(0,D.jsxs)(s,{children:[U,(0,D.jsx)(b,{className:`font-mono text-xs`,id:`cert-chain`,onChange:W,placeholder:`-----BEGIN CERTIFICATE-----`,rows:4,value:_})]}),t[31]=_,t[32]=G);let K;t[33]!==z||t[34]!==H||t[35]!==G?(K=(0,D.jsxs)(`div`,{className:`min-w-0 space-y-4`,children:[z,H,G]}),t[33]=z,t[34]=H,t[35]=G,t[36]=K):K=t[36];let q;t[37]===x.isPending?q=t[38]:(q=(0,D.jsx)(f,{disabled:x.isPending,children:`Cancel`}),t[37]=x.isPending,t[38]=q);let J=!j||x.isPending,Y=x.isPending?`Importing…`:`Import`,X;t[39]!==N||t[40]!==J||t[41]!==Y?(X=(0,D.jsx)(u,{disabled:J,onClick:N,children:Y}),t[39]=N,t[40]=J,t[41]=Y,t[42]=X):X=t[42];let Z;t[43]!==q||t[44]!==X?(Z=(0,D.jsxs)(d,{children:[q,X]}),t[43]=q,t[44]=X,t[45]=Z):Z=t[45];let Q;t[46]!==K||t[47]!==Z||t[48]!==I?(Q=(0,D.jsxs)(l,{className:`grid-cols-[minmax(0,1fr)]`,style:P,children:[F,I,K,Z]}),t[46]=K,t[47]=Z,t[48]=I,t[49]=Q):Q=t[49];let $;return t[50]!==k||t[51]!==n||t[52]!==Q?($=(0,D.jsx)(te,{onOpenChange:k,open:n,children:Q}),t[50]=k,t[51]=n,t[52]=Q,t[53]=$):$=t[53],$}export{O 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 ea93db1ac..51fa9054b 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{Yt as i}from"./cluster-config.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{Yt as i}from"./cluster-config.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,t){return e.length>0?e:`<${t}>`}function _(e,t){return[{type:`flag`,value:` ${e}`},{type:`value`,value:` ${t}`}]}function v(e,t){return t===void 0||t===``||t===!1?[]:t===!0?[{type:`flag`,value:` ${e}`}]:_(e,t)}function y(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:async()=>await _(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)})}),ta(S),t[0]=_):_=t[0];let v,b;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,m.jsx)(d,{className:`size-3.5`}),b=(0,m.jsx)(`span`,{children:`AWS CLI`}),t[1]=v,t[2]=b):(v=t[1],b=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:_,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:[v,b,T]}),t[7]=r,t[8]=T,t[9]=E):E=t[9];let D;t[10]!==n||t[11]!==h||t[12]!==g||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:async()=>await g(y(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(x)})}),ti.map(i=>d[i]); -import"./compiler-runtime.js";import{a as e,i as t,n,r,t as i}from"./hex-encoding.js";function a(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t{let n=Array(e.length+t.length);for(let t=0;t({classGroupId:e,validator:t}),l=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),u=`-`,d=[],f=`arbitrary..`,p=e=>{let t=g(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return h(e);let n=e.split(u);return m(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?s(i,t):t:i||d}return n[e]||d}}},m=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=m(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(u):e.slice(t).join(u),s=a.length;for(let e=0;ee.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?f+r:void 0})(),g=e=>{let{theme:t,classGroups:n}=e;return ee(n,t)},ee=(e,t)=>{let n=l();for(let r in e){let i=e[r];te(i,n,r,t)}return n},te=(e,t,n,r)=>{let i=e.length;for(let a=0;a{if(typeof e==`string`){re(e,t,n);return}if(typeof e==`function`){ie(e,t,n,r);return}ae(e,t,n,r)},re=(e,t,n)=>{let r=e===``?t:oe(t,e);r.classGroupId=n},ie=(e,t,n,r)=>{if(_(e)){te(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(c(n,e))},ae=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e{let n=e,r=t.split(u),i=r.length;for(let e=0;e`isThemeGetter`in e&&e.isThemeGetter===!0,v=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},se=`!`,ce=`:`,le=[],ue=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),de=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;si?a-i:void 0;return ue(t,l,c,u)};if(t){let e=t+ce,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):ue(le,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},fe=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},y=e=>({cache:v(e.cacheSize),parseClassName:de(e),sortModifiers:fe(e),postfixLookupClassGroupIds:pe(e),...p(e)}),pe=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(me),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let ee=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),te=f?ee+se:ee,ne=te+g;if(s.indexOf(ne)>-1)continue;s.push(ne);let re=i(g,h);for(let e=0;e0?` `+l:l)}return l},b=(...e)=>{let t=0,n,r,i=``;for(;t{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r{let n,r,i,a,o=o=>(n=y(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=he(e,n);return i(e,a),a};return a=o,(...e)=>a(b(...e))},ve=[],x=e=>{let t=t=>t[e]||ve;return t.isThemeGetter=!0,t},ye=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,S=/^\((?:(\w[\w-]*):)?(.+)\)$/i,C=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,be=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,xe=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,w=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Se=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ce=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,we=e=>C.test(e),T=e=>!!e&&!Number.isNaN(Number(e)),E=e=>!!e&&Number.isInteger(Number(e)),Te=e=>e.endsWith(`%`)&&T(e.slice(0,-1)),D=e=>be.test(e),Ee=()=>!0,De=e=>xe.test(e)&&!w.test(e),Oe=()=>!1,ke=e=>Se.test(e),Ae=e=>Ce.test(e),je=e=>!O(e)&&!k(e),Me=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),Ne=e=>Je(e,Qe,Oe),O=e=>ye.test(e),Pe=e=>Je(e,$e,De),Fe=e=>Je(e,et,T),Ie=e=>Je(e,nt,Ee),Le=e=>Je(e,tt,Oe),Re=e=>Je(e,Xe,Oe),ze=e=>Je(e,Ze,Ae),Be=e=>Je(e,rt,ke),k=e=>S.test(e),Ve=e=>Ye(e,$e),He=e=>Ye(e,tt),Ue=e=>Ye(e,Xe),We=e=>Ye(e,Qe),Ge=e=>Ye(e,Ze),Ke=e=>Ye(e,rt,!0),qe=e=>Ye(e,nt,!0),Je=(e,t,n)=>{let r=ye.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Ye=(e,t,n=!1)=>{let r=S.exec(e);return r?r[1]?t(r[1]):n:!1},Xe=e=>e===`position`||e===`percentage`,Ze=e=>e===`image`||e===`url`,Qe=e=>e===`length`||e===`size`||e===`bg-size`,$e=e=>e===`length`,et=e=>e===`number`,tt=e=>e===`family-name`,nt=e=>e===`number`||e===`weight`,rt=e=>e===`shadow`,it=_e(()=>{let e=x(`color`),t=x(`font`),n=x(`text`),r=x(`font-weight`),i=x(`tracking`),a=x(`leading`),o=x(`breakpoint`),s=x(`container`),c=x(`spacing`),l=x(`radius`),u=x(`shadow`),d=x(`inset-shadow`),f=x(`text-shadow`),p=x(`drop-shadow`),m=x(`blur`),h=x(`perspective`),g=x(`aspect`),ee=x(`ease`),te=x(`animate`),ne=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],re=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],ie=()=>[...re(),k,O],ae=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],oe=()=>[`auto`,`contain`,`none`],_=()=>[k,O,c],v=()=>[we,`full`,`auto`,..._()],se=()=>[E,`none`,`subgrid`,k,O],ce=()=>[`auto`,{span:[`full`,E,k,O]},E,k,O],le=()=>[E,`auto`,k,O],ue=()=>[`auto`,`min`,`max`,`fr`,k,O],de=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],fe=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],y=()=>[`auto`,..._()],pe=()=>[we,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,..._()],me=()=>[we,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,..._()],he=()=>[we,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,..._()],b=()=>[e,k,O],ge=()=>[...re(),Ue,Re,{position:[k,O]}],_e=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ve=()=>[`auto`,`cover`,`contain`,We,Ne,{size:[k,O]}],ye=()=>[Te,Ve,Pe],S=()=>[``,`none`,`full`,l,k,O],C=()=>[``,T,Ve,Pe],be=()=>[`solid`,`dashed`,`dotted`,`double`],xe=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],w=()=>[T,Te,Ue,Re],Se=()=>[``,`none`,m,k,O],Ce=()=>[`none`,T,k,O],De=()=>[`none`,T,k,O],Oe=()=>[T,k,O],ke=()=>[we,`full`,..._()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[D],breakpoint:[D],color:[Ee],container:[D],"drop-shadow":[D],ease:[`in`,`out`,`in-out`],font:[je],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[D],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[D],shadow:[D],spacing:[`px`,T],text:[D],"text-shadow":[D],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,we,O,k,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,k,O]}],"container-named":[Me],columns:[{columns:[T,O,k,s]}],"break-after":[{"break-after":ne()}],"break-before":[{"break-before":ne()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:ie()}],overflow:[{overflow:ae()}],"overflow-x":[{"overflow-x":ae()}],"overflow-y":[{"overflow-y":ae()}],overscroll:[{overscroll:oe()}],"overscroll-x":[{"overscroll-x":oe()}],"overscroll-y":[{"overscroll-y":oe()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:v()}],"inset-x":[{"inset-x":v()}],"inset-y":[{"inset-y":v()}],start:[{"inset-s":v(),start:v()}],end:[{"inset-e":v(),end:v()}],"inset-bs":[{"inset-bs":v()}],"inset-be":[{"inset-be":v()}],top:[{top:v()}],right:[{right:v()}],bottom:[{bottom:v()}],left:[{left:v()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[E,`auto`,k,O]}],basis:[{basis:[we,`full`,`auto`,s,..._()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[T,we,`auto`,`initial`,`none`,O]}],grow:[{grow:[``,T,k,O]}],shrink:[{shrink:[``,T,k,O]}],order:[{order:[E,`first`,`last`,`none`,k,O]}],"grid-cols":[{"grid-cols":se()}],"col-start-end":[{col:ce()}],"col-start":[{"col-start":le()}],"col-end":[{"col-end":le()}],"grid-rows":[{"grid-rows":se()}],"row-start-end":[{row:ce()}],"row-start":[{"row-start":le()}],"row-end":[{"row-end":le()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":ue()}],"auto-rows":[{"auto-rows":ue()}],gap:[{gap:_()}],"gap-x":[{"gap-x":_()}],"gap-y":[{"gap-y":_()}],"justify-content":[{justify:[...de(),`normal`]}],"justify-items":[{"justify-items":[...fe(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...fe()]}],"align-content":[{content:[`normal`,...de()]}],"align-items":[{items:[...fe(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...fe(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":de()}],"place-items":[{"place-items":[...fe(),`baseline`]}],"place-self":[{"place-self":[`auto`,...fe()]}],p:[{p:_()}],px:[{px:_()}],py:[{py:_()}],ps:[{ps:_()}],pe:[{pe:_()}],pbs:[{pbs:_()}],pbe:[{pbe:_()}],pt:[{pt:_()}],pr:[{pr:_()}],pb:[{pb:_()}],pl:[{pl:_()}],m:[{m:y()}],mx:[{mx:y()}],my:[{my:y()}],ms:[{ms:y()}],me:[{me:y()}],mbs:[{mbs:y()}],mbe:[{mbe:y()}],mt:[{mt:y()}],mr:[{mr:y()}],mb:[{mb:y()}],ml:[{ml:y()}],"space-x":[{"space-x":_()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":_()}],"space-y-reverse":[`space-y-reverse`],size:[{size:pe()}],"inline-size":[{inline:[`auto`,...me()]}],"min-inline-size":[{"min-inline":[`auto`,...me()]}],"max-inline-size":[{"max-inline":[`none`,...me()]}],"block-size":[{block:[`auto`,...he()]}],"min-block-size":[{"min-block":[`auto`,...he()]}],"max-block-size":[{"max-block":[`none`,...he()]}],w:[{w:[s,`screen`,...pe()]}],"min-w":[{"min-w":[s,`screen`,`none`,...pe()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...pe()]}],h:[{h:[`screen`,`lh`,...pe()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...pe()]}],"max-h":[{"max-h":[`screen`,`lh`,...pe()]}],"font-size":[{text:[`base`,n,Ve,Pe]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,qe,Ie]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Te,O]}],"font-family":[{font:[He,Le,t]}],"font-features":[{"font-features":[O]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,k,O]}],"line-clamp":[{"line-clamp":[T,`none`,k,Fe]}],leading:[{leading:[a,..._()]}],"list-image":[{"list-image":[`none`,k,O]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,k,O]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:b()}],"text-color":[{text:b()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...be(),`wavy`]}],"text-decoration-thickness":[{decoration:[T,`from-font`,`auto`,k,Pe]}],"text-decoration-color":[{decoration:b()}],"underline-offset":[{"underline-offset":[T,`auto`,k,O]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:_()}],"tab-size":[{tab:[E,k,O]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,k,O]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,k,O]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:ge()}],"bg-repeat":[{bg:_e()}],"bg-size":[{bg:ve()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},E,k,O],radial:[``,k,O],conic:[E,k,O]},Ge,ze]}],"bg-color":[{bg:b()}],"gradient-from-pos":[{from:ye()}],"gradient-via-pos":[{via:ye()}],"gradient-to-pos":[{to:ye()}],"gradient-from":[{from:b()}],"gradient-via":[{via:b()}],"gradient-to":[{to:b()}],rounded:[{rounded:S()}],"rounded-s":[{"rounded-s":S()}],"rounded-e":[{"rounded-e":S()}],"rounded-t":[{"rounded-t":S()}],"rounded-r":[{"rounded-r":S()}],"rounded-b":[{"rounded-b":S()}],"rounded-l":[{"rounded-l":S()}],"rounded-ss":[{"rounded-ss":S()}],"rounded-se":[{"rounded-se":S()}],"rounded-ee":[{"rounded-ee":S()}],"rounded-es":[{"rounded-es":S()}],"rounded-tl":[{"rounded-tl":S()}],"rounded-tr":[{"rounded-tr":S()}],"rounded-br":[{"rounded-br":S()}],"rounded-bl":[{"rounded-bl":S()}],"border-w":[{border:C()}],"border-w-x":[{"border-x":C()}],"border-w-y":[{"border-y":C()}],"border-w-s":[{"border-s":C()}],"border-w-e":[{"border-e":C()}],"border-w-bs":[{"border-bs":C()}],"border-w-be":[{"border-be":C()}],"border-w-t":[{"border-t":C()}],"border-w-r":[{"border-r":C()}],"border-w-b":[{"border-b":C()}],"border-w-l":[{"border-l":C()}],"divide-x":[{"divide-x":C()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":C()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...be(),`hidden`,`none`]}],"divide-style":[{divide:[...be(),`hidden`,`none`]}],"border-color":[{border:b()}],"border-color-x":[{"border-x":b()}],"border-color-y":[{"border-y":b()}],"border-color-s":[{"border-s":b()}],"border-color-e":[{"border-e":b()}],"border-color-bs":[{"border-bs":b()}],"border-color-be":[{"border-be":b()}],"border-color-t":[{"border-t":b()}],"border-color-r":[{"border-r":b()}],"border-color-b":[{"border-b":b()}],"border-color-l":[{"border-l":b()}],"divide-color":[{divide:b()}],"outline-style":[{outline:[...be(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[T,k,O]}],"outline-w":[{outline:[``,T,Ve,Pe]}],"outline-color":[{outline:b()}],shadow:[{shadow:[``,`none`,u,Ke,Be]}],"shadow-color":[{shadow:b()}],"inset-shadow":[{"inset-shadow":[`none`,d,Ke,Be]}],"inset-shadow-color":[{"inset-shadow":b()}],"ring-w":[{ring:C()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:b()}],"ring-offset-w":[{"ring-offset":[T,Pe]}],"ring-offset-color":[{"ring-offset":b()}],"inset-ring-w":[{"inset-ring":C()}],"inset-ring-color":[{"inset-ring":b()}],"text-shadow":[{"text-shadow":[`none`,f,Ke,Be]}],"text-shadow-color":[{"text-shadow":b()}],opacity:[{opacity:[T,k,O]}],"mix-blend":[{"mix-blend":[...xe(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":xe()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[T]}],"mask-image-linear-from-pos":[{"mask-linear-from":w()}],"mask-image-linear-to-pos":[{"mask-linear-to":w()}],"mask-image-linear-from-color":[{"mask-linear-from":b()}],"mask-image-linear-to-color":[{"mask-linear-to":b()}],"mask-image-t-from-pos":[{"mask-t-from":w()}],"mask-image-t-to-pos":[{"mask-t-to":w()}],"mask-image-t-from-color":[{"mask-t-from":b()}],"mask-image-t-to-color":[{"mask-t-to":b()}],"mask-image-r-from-pos":[{"mask-r-from":w()}],"mask-image-r-to-pos":[{"mask-r-to":w()}],"mask-image-r-from-color":[{"mask-r-from":b()}],"mask-image-r-to-color":[{"mask-r-to":b()}],"mask-image-b-from-pos":[{"mask-b-from":w()}],"mask-image-b-to-pos":[{"mask-b-to":w()}],"mask-image-b-from-color":[{"mask-b-from":b()}],"mask-image-b-to-color":[{"mask-b-to":b()}],"mask-image-l-from-pos":[{"mask-l-from":w()}],"mask-image-l-to-pos":[{"mask-l-to":w()}],"mask-image-l-from-color":[{"mask-l-from":b()}],"mask-image-l-to-color":[{"mask-l-to":b()}],"mask-image-x-from-pos":[{"mask-x-from":w()}],"mask-image-x-to-pos":[{"mask-x-to":w()}],"mask-image-x-from-color":[{"mask-x-from":b()}],"mask-image-x-to-color":[{"mask-x-to":b()}],"mask-image-y-from-pos":[{"mask-y-from":w()}],"mask-image-y-to-pos":[{"mask-y-to":w()}],"mask-image-y-from-color":[{"mask-y-from":b()}],"mask-image-y-to-color":[{"mask-y-to":b()}],"mask-image-radial":[{"mask-radial":[k,O]}],"mask-image-radial-from-pos":[{"mask-radial-from":w()}],"mask-image-radial-to-pos":[{"mask-radial-to":w()}],"mask-image-radial-from-color":[{"mask-radial-from":b()}],"mask-image-radial-to-color":[{"mask-radial-to":b()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":re()}],"mask-image-conic-pos":[{"mask-conic":[T]}],"mask-image-conic-from-pos":[{"mask-conic-from":w()}],"mask-image-conic-to-pos":[{"mask-conic-to":w()}],"mask-image-conic-from-color":[{"mask-conic-from":b()}],"mask-image-conic-to-color":[{"mask-conic-to":b()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:ge()}],"mask-repeat":[{mask:_e()}],"mask-size":[{mask:ve()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,k,O]}],filter:[{filter:[``,`none`,k,O]}],blur:[{blur:Se()}],brightness:[{brightness:[T,k,O]}],contrast:[{contrast:[T,k,O]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Ke,Be]}],"drop-shadow-color":[{"drop-shadow":b()}],grayscale:[{grayscale:[``,T,k,O]}],"hue-rotate":[{"hue-rotate":[T,k,O]}],invert:[{invert:[``,T,k,O]}],saturate:[{saturate:[T,k,O]}],sepia:[{sepia:[``,T,k,O]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,k,O]}],"backdrop-blur":[{"backdrop-blur":Se()}],"backdrop-brightness":[{"backdrop-brightness":[T,k,O]}],"backdrop-contrast":[{"backdrop-contrast":[T,k,O]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,T,k,O]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[T,k,O]}],"backdrop-invert":[{"backdrop-invert":[``,T,k,O]}],"backdrop-opacity":[{"backdrop-opacity":[T,k,O]}],"backdrop-saturate":[{"backdrop-saturate":[T,k,O]}],"backdrop-sepia":[{"backdrop-sepia":[``,T,k,O]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":_()}],"border-spacing-x":[{"border-spacing-x":_()}],"border-spacing-y":[{"border-spacing-y":_()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,k,O]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[T,`initial`,k,O]}],ease:[{ease:[`linear`,`initial`,ee,k,O]}],delay:[{delay:[T,k,O]}],animate:[{animate:[`none`,te,k,O]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,k,O]}],"perspective-origin":[{"perspective-origin":ie()}],rotate:[{rotate:Ce()}],"rotate-x":[{"rotate-x":Ce()}],"rotate-y":[{"rotate-y":Ce()}],"rotate-z":[{"rotate-z":Ce()}],scale:[{scale:De()}],"scale-x":[{"scale-x":De()}],"scale-y":[{"scale-y":De()}],"scale-z":[{"scale-z":De()}],"scale-3d":[`scale-3d`],skew:[{skew:Oe()}],"skew-x":[{"skew-x":Oe()}],"skew-y":[{"skew-y":Oe()}],transform:[{transform:[k,O,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:ie()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:ke()}],"translate-x":[{"translate-x":ke()}],"translate-y":[{"translate-y":ke()}],"translate-z":[{"translate-z":ke()}],"translate-none":[`translate-none`],zoom:[{zoom:[E,k,O]}],accent:[{accent:b()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:b()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,k,O]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":b()}],"scrollbar-track-color":[{"scrollbar-track":b()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":_()}],"scroll-mx":[{"scroll-mx":_()}],"scroll-my":[{"scroll-my":_()}],"scroll-ms":[{"scroll-ms":_()}],"scroll-me":[{"scroll-me":_()}],"scroll-mbs":[{"scroll-mbs":_()}],"scroll-mbe":[{"scroll-mbe":_()}],"scroll-mt":[{"scroll-mt":_()}],"scroll-mr":[{"scroll-mr":_()}],"scroll-mb":[{"scroll-mb":_()}],"scroll-ml":[{"scroll-ml":_()}],"scroll-p":[{"scroll-p":_()}],"scroll-px":[{"scroll-px":_()}],"scroll-py":[{"scroll-py":_()}],"scroll-ps":[{"scroll-ps":_()}],"scroll-pe":[{"scroll-pe":_()}],"scroll-pbs":[{"scroll-pbs":_()}],"scroll-pbe":[{"scroll-pbe":_()}],"scroll-pt":[{"scroll-pt":_()}],"scroll-pr":[{"scroll-pr":_()}],"scroll-pb":[{"scroll-pb":_()}],"scroll-pl":[{"scroll-pl":_()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,k,O]}],fill:[{fill:[`none`,...b()]}],"stroke-w":[{stroke:[T,Ve,Pe,Fe]}],stroke:[{stroke:[`none`,...b()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function at(...e){return it(o(e))}var ot=new Intl.DateTimeFormat(void 0,{year:`numeric`,month:`long`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`});function st(e){return e?ot.format(new Date(e)):`Unknown`}function ct(e){return`${Math.round(e/1024)} GiB`}var lt=[`B`,`KB`,`MB`,`GB`,`TB`];function ut(e){if(e===0)return`0 B`;let t=Math.floor(Math.log(e)/Math.log(1024));return`${(e/1024**t).toFixed(2)} ${lt[t]}`}function dt(e){return e?.find(e=>e.Key===`Name`)?.Value}var ft=/\/$/;function pt(e){return e.replace(ft,``)}function mt(e){return e&&(e.endsWith(`/`)?e:`${e}/`)}function ht(e,t){return e.startsWith(t)?e:`${t}${e}`}function gt(e,t){return e.startsWith(t)?e.slice(t.length):e}function _t(e,t,n){return e.$source||={},e.$source[t]=n,e}var vt=e=>e?.body instanceof ReadableStream,yt=(e,t)=>{let n=[];if(e&&n.push(e),t)for(let e of t)n.push(e);return n},bt=(e,t)=>`${e||`anonymous`}${t&&t.length>0?` (a.k.a. ${t.join(`,`)})`:``}`,xt=()=>{let e=[],t=[],n=!1,r=new Set,i=e=>e.sort((e,t)=>St[t.step]-St[e.step]||Ct[t.priority||`normal`]-Ct[e.priority||`normal`]),a=n=>{let i=!1,a=e=>{let t=yt(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 yt(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 yt(t.name,t.aliases))o[e]=t;r.push(t)}),t.forEach(e=>{let t={...e,before:[],after:[]};for(let e of yt(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 ${bt(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=yt(i,o);if(c.length>0){if(c.some(e=>r.has(e))){if(!a)throw Error(`Duplicate middleware name '${bt(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(`"${bt(r.name,r.aliases)}" middleware with ${r.priority} priority in ${r.step} step cannot be overridden by "${bt(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=yt(i,o);if(c.length>0){if(c.some(e=>r.has(e))){if(!a)throw Error(`Duplicate middleware name '${bt(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(`"${bt(r.name,r.aliases)}" middleware ${r.relation} "${r.toMiddleware}" middleware cannot be overridden by "${bt(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(xt()),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=yt(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(xt());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 bt(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},St={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},Ct={high:3,normal:2,low:1},wt;(function(e){e.HTTP=`http`,e.HTTPS=`https`})(wt||={});var Tt;(function(e){e.MD5=`md5`,e.CRC32=`crc32`,e.CRC32C=`crc32c`,e.SHA1=`sha1`,e.SHA256=`sha256`})(Tt||={});var Et=`__smithy_context`,Dt=e=>e.__smithy_context||={},A=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&&=Ot(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 Ot(e){return Object.keys(e).reduce((t,n)=>{let r=e[n];return{...t,[n]:Array.isArray(r)?[...r]:r}},{})}var j=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`}},kt=RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`),At=(e,t=!1)=>{if(!t)return kt.test(e);let n=e.split(`.`);for(let e of n)if(!At(e))return!1;return!0};function jt(e){return/^[a-z0-9][a-z0-9.-]*[a-z0-9]$/.test(e)}var Mt=e=>{if(typeof e==`function`)return e;let t=Promise.resolve(e);return()=>t};function Nt(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 Pt=e=>{if(typeof e==`string`)return Pt(new URL(e));let{hostname:t,pathname:n,port:r,protocol:i,search:a}=e,o;return a&&(o=Nt(a)),{hostname:t,port:r?parseInt(r):void 0,protocol:i,path:n,query:o}},Ft=e=>{if(typeof e==`object`){if(`url`in e){let t=Pt(e.url);if(e.headers){t.headers={};for(let n in e.headers)t.headers[n.toLowerCase()]=e.headers[n].join(`, `)}return t}return e}return Pt(e)},It=e=>()=>Promise.reject(e),Lt=class{config;middlewareStack=xt();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}},Rt=e=>typeof e==`function`?e():e,zt=(e,t,n,r,i)=>({name:t,namespace:e,traits:n,input:r,output:i}),Bt=e=>(t,n)=>async r=>{let{response:i}=await t(r),{operationSchema:a}=Dt(n),[,o,s,c,l,u]=a??[];try{return{response:i,output:await e.protocol.deserializeResponse(zt(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+=` - Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`}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(j.isInstance(i)){let{headers:t={},statusCode:n}=i,r=Object.entries(t);e.$metadata={httpStatusCode:n,requestId:Vt(/^x-[\w-]+-request-?id$/,r),extendedRequestId:Vt(/^x-[\w-]+-id-2$/,r),cfId:Vt(/^x-[\w-]+-cf-id$/,r)}}}catch{}}throw e}},Vt=(e,t)=>(t.find(([t])=>t.match(e))||[void 0,void 0])[1],Ht=e=>(t,n)=>async r=>{let{operationSchema:i}=Dt(n),[,a,o,s,c,l]=i??[],u=n.endpointV2?async()=>Ft(n.endpointV2):e.endpoint,d=await e.protocol.serializeRequest(zt(a,o,s,c,l),r.input,{...e,...n,endpoint:u});return t({...r,request:d})},Ut={name:`deserializerMiddleware`,step:`deserialize`,tags:[`DESERIALIZER`],override:!0},Wt={name:`serializerMiddleware`,step:`serialize`,tags:[`SERIALIZER`],override:!0};function Gt(e){return{applyToStack:t=>{t.add(Ht(e),Wt),t.add(Bt(e),Ut),e.protocol.setSerdeContext(e)}}}var Kt=[];function qt(e){if(typeof e==`object`)return e;if(e|=0,Kt[e])return Kt[e];let t={},n=0;for(let r of[`httpLabel`,`idempotent`,`idempotencyToken`,`sensitive`,`httpPayload`,`httpResponseCode`,`httpQueryParams`])(e>>n++&1)==1&&(t[r]=1);return Kt[e]=t}var Jt={it:Symbol.for(`@smithy/nor-struct-it`),ns:Symbol.for(`@smithy/ns`)},Yt=[],Xt={},M=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;Qt(i);)r.push(i[1]),i=i[0],a=Rt(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,qt(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=Rt(a),$t(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(Yt[t])return Yt[t]}else if(typeof t==`string`){if(Xt[t])return Xt[t]}else if(n&&t[Jt.ns])return t[Jt.ns];let r=Rt(t);if(r instanceof e)return r;if(Qt(r)){let[n,i]=r;if(n instanceof e)return Object.assign(n.getMergedTraits(),qt(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[Jt.ns]=i:typeof r==`string`?Xt[r]=i:typeof r==`number`?Yt[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}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 qt(this.memberTraits)}getOwnTraits(){return qt(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 Zt([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 Zt([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 Zt(Qt(r)?r:[r,0],e)}if(this.isDocumentSchema())return Zt([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[Jt.it];if(n&&t===n.length){yield*n;return}n=Array(t);for(let r=0;rArray.isArray(e)&&e.length===2,$t=e=>Array.isArray(e)&&e.length>=5,en=`***SensitiveInformation***`;function tn(e,t){if(t==null)return t;let n=M.of(e);if(n.getMergedTraits().sensitive)return en;if(n.isListSchema()){if(n.getValueSchema().getMergedTraits().sensitive)return en}else if(n.isMapSchema()){if(n.getKeySchema().getMergedTraits().sensitive||n.getValueSchema().getMergedTraits().sensitive)return en}else if(n.isStructSchema()&&typeof t==`object`){let e=t,r={};for(let[t,i]of n.structIterator())e[t]!=null&&(r[t]=tn(i,e[t]));return r}return t}var nn=class{middlewareStack=xt();schema;static classBuilder(){return new rn}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:f}=t,p={logger:f,clientName:i,commandName:a,inputFilterSensitiveLog:o,outputFilterSensitiveLog:s,[Et]:{commandInstance:this,...c},...l},{requestHandler:m}=t,h=n??{};return c.eventStream&&(h={isEventStream:!0,...h}),d.resolve(e=>m.handle(e.request,h),p)}},rn=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 nn{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?tn.bind(null,o):e=>e),outputFilterSensitiveLog:e._outputFilterSensitiveLog??(a?tn.bind(null,s):e=>e),smithyContext:e._smithyContext,additionalContext:e._additionalContext})}serialize=e._serializer;deserialize=e._deserializer}}},an=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}},on=(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),sn=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{}}},cn=Object.values(Tt),ln=e=>{let t=[];for(let n in Tt){let r=Tt[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();cn.includes(r)?e.checksumAlgorithms[r.toUpperCase()]=i:e.checksumAlgorithms[r]=i,t.push(n)},checksumAlgorithms(){return t}}},un=e=>{let t={};return e.checksumAlgorithms().forEach(e=>{let n=e.algorithmId();cn.includes(n)&&(t[n]=e.checksumConstructor())}),t},dn=e=>({setRetryStrategy(t){e.retryStrategy=t},retryStrategy(){return e.retryStrategy}}),fn=e=>{let t={};return t.retryStrategy=e.retryStrategy(),t},pn=e=>Object.assign(ln(e),dn(e)),mn=e=>Object.assign(un(e),fn(e)),hn=e=>{let t=`#text`;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&e[n][t]!==void 0?e[n]=e[n][t]:typeof e[n]==`object`&&e[n]!==null&&(e[n]=hn(e[n]));return e},gn=class{trace(){}debug(){}info(){}warn(){}error(){}};function _n(e,t,n,r){return function(i,a,o,s,c={}){let l=Object.assign({},e,i);return nn.classBuilder().ep(l).m(function(e,t,n,i){let o=a.call(this,e,t,n,i);return o.unshift(r(n,e.getEndpointParameterInstructions())),o}).s(t,o,c).n(n,o.charAt(0).toUpperCase()+o.slice(1)+`Command`).sc(s).build()}}var vn=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,yn=Object.entries(vn).reduce((e,[t,n])=>(e[n]=Number(t),e),{}),bn=vn.split(``),xn=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 Sn(e){let n;n=typeof e==`string`?t(e):e;let r=typeof n==`object`&&typeof n.length==`number`,i=typeof n==`object`&&typeof n.byteOffset==`number`&&typeof n.byteLength==`number`;if(!r&&!i)throw Error(`@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.`);let a=``;for(let e=0;e>n]}a+=`==`.slice(0,4-i)}return a}function Cn(e,t,n,r){return class i extends Uint8Array{static fromString(e,n=`utf-8`){if(typeof e==`string`)return n===`base64`?i.mutate(r(e)):i.mutate(t(e));throw Error(`Unsupported conversion from ${typeof e} to Uint8ArrayBlobAdapter.`)}static mutate(e){return Object.setPrototypeOf(e,i.prototype),e}transformToString(t=`utf-8`){return t===`base64`?n(this):e(this)}}}var N=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function wn(e){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?()=>crypto.randomUUID():()=>{let t=new Uint8Array(16);return e(t),t[6]=t[6]&15|64,t[8]=t[8]&63|128,N[t[0]]+N[t[1]]+N[t[2]]+N[t[3]]+`-`+N[t[4]]+N[t[5]]+`-`+N[t[6]]+N[t[7]]+`-`+N[t[8]]+N[t[9]]+`-`+N[t[10]]+N[t[11]]+N[t[12]]+N[t[13]]+N[t[14]]+N[t[15]]}}var Tn=e=>{if(e!=null){if(typeof e==`string`){let t=parseFloat(e);if(!Number.isNaN(t))return String(t)!==String(e)&&Bn.warn(zn(`Expected number but observed string: ${e}`)),t}if(typeof e==`number`)return e;throw TypeError(`Expected number, got ${typeof e}: ${e}`)}},En=Math.ceil(2**127*(2-2**-23)),Dn=e=>{let t=Tn(e);if(t!==void 0&&!Number.isNaN(t)&&t!==1/0&&t!==-1/0&&Math.abs(t)>En)throw TypeError(`Expected 32-bit float, got ${e}`);return t},On=e=>{if(e!=null){if(Number.isInteger(e)&&!Number.isNaN(e))return e;throw TypeError(`Expected integer, got ${typeof e}: ${e}`)}},kn=e=>jn(e,16),An=e=>jn(e,8),jn=(e,t)=>{let n=On(e);if(n!==void 0&&Mn(n,t)!==n)throw TypeError(`Expected ${t}-bit integer, got ${e}`);return n},Mn=(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]}},Nn=e=>Tn(typeof e==`string`?In(e):e),Pn=e=>Dn(typeof e==`string`?In(e):e),Fn=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g,In=e=>{let t=e.match(Fn);if(t===null||t[0].length!==e.length)throw TypeError(`Expected real number, got implicit NaN`);return parseFloat(e)},Ln=e=>kn(typeof e==`string`?In(e):e),Rn=e=>An(typeof e==`string`?In(e):e),zn=e=>String(TypeError(e).stack||e).split(` +import"./compiler-runtime.js";import{a as e,i as t,n,r,t as i}from"./hex-encoding.js";function a(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t{let n=Array(e.length+t.length);for(let t=0;t({classGroupId:e,validator:t}),l=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),u=`-`,d=[],f=`arbitrary..`,p=e=>{let t=g(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return h(e);let n=e.split(u);return m(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?s(i,t):t:i||d}return n[e]||d}}},m=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=m(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(u):e.slice(t).join(u),s=a.length;for(let e=0;ee.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?f+r:void 0})(),g=e=>{let{theme:t,classGroups:n}=e;return ee(n,t)},ee=(e,t)=>{let n=l();for(let r in e){let i=e[r];te(i,n,r,t)}return n},te=(e,t,n,r)=>{let i=e.length;for(let a=0;a{if(typeof e==`string`){re(e,t,n);return}if(typeof e==`function`){ie(e,t,n,r);return}ae(e,t,n,r)},re=(e,t,n)=>{let r=e===``?t:oe(t,e);r.classGroupId=n},ie=(e,t,n,r)=>{if(_(e)){te(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(c(n,e))},ae=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e{let n=e,r=t.split(u),i=r.length;for(let e=0;e`isThemeGetter`in e&&e.isThemeGetter===!0,v=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},se=`!`,ce=`:`,le=[],ue=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),de=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;si?a-i:void 0;return ue(t,l,c,u)};if(t){let e=t+ce,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):ue(le,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},fe=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},y=e=>({cache:v(e.cacheSize),parseClassName:de(e),sortModifiers:fe(e),postfixLookupClassGroupIds:pe(e),...p(e)}),pe=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(me),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let ee=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),te=f?ee+se:ee,ne=te+g;if(s.indexOf(ne)>-1)continue;s.push(ne);let re=i(g,h);for(let e=0;e0?` `+l:l)}return l},b=(...e)=>{let t=0,n,r,i=``;for(;t{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r{let n,r,i,a,o=o=>(n=y(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=he(e,n);return i(e,a),a};return a=o,(...e)=>a(b(...e))},ve=[],x=e=>{let t=t=>t[e]||ve;return t.isThemeGetter=!0,t},ye=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,S=/^\((?:(\w[\w-]*):)?(.+)\)$/i,C=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,be=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,xe=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,w=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Se=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ce=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,we=e=>C.test(e),T=e=>!!e&&!Number.isNaN(Number(e)),E=e=>!!e&&Number.isInteger(Number(e)),Te=e=>e.endsWith(`%`)&&T(e.slice(0,-1)),D=e=>be.test(e),Ee=()=>!0,De=e=>xe.test(e)&&!w.test(e),Oe=()=>!1,ke=e=>Se.test(e),Ae=e=>Ce.test(e),je=e=>!O(e)&&!k(e),Me=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),Ne=e=>Je(e,Qe,Oe),O=e=>ye.test(e),Pe=e=>Je(e,$e,De),Fe=e=>Je(e,et,T),Ie=e=>Je(e,nt,Ee),Le=e=>Je(e,tt,Oe),Re=e=>Je(e,Xe,Oe),ze=e=>Je(e,Ze,Ae),Be=e=>Je(e,rt,ke),k=e=>S.test(e),Ve=e=>Ye(e,$e),He=e=>Ye(e,tt),Ue=e=>Ye(e,Xe),We=e=>Ye(e,Qe),Ge=e=>Ye(e,Ze),Ke=e=>Ye(e,rt,!0),qe=e=>Ye(e,nt,!0),Je=(e,t,n)=>{let r=ye.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Ye=(e,t,n=!1)=>{let r=S.exec(e);return r?r[1]?t(r[1]):n:!1},Xe=e=>e===`position`||e===`percentage`,Ze=e=>e===`image`||e===`url`,Qe=e=>e===`length`||e===`size`||e===`bg-size`,$e=e=>e===`length`,et=e=>e===`number`,tt=e=>e===`family-name`,nt=e=>e===`number`||e===`weight`,rt=e=>e===`shadow`,it=_e(()=>{let e=x(`color`),t=x(`font`),n=x(`text`),r=x(`font-weight`),i=x(`tracking`),a=x(`leading`),o=x(`breakpoint`),s=x(`container`),c=x(`spacing`),l=x(`radius`),u=x(`shadow`),d=x(`inset-shadow`),f=x(`text-shadow`),p=x(`drop-shadow`),m=x(`blur`),h=x(`perspective`),g=x(`aspect`),ee=x(`ease`),te=x(`animate`),ne=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],re=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],ie=()=>[...re(),k,O],ae=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],oe=()=>[`auto`,`contain`,`none`],_=()=>[k,O,c],v=()=>[we,`full`,`auto`,..._()],se=()=>[E,`none`,`subgrid`,k,O],ce=()=>[`auto`,{span:[`full`,E,k,O]},E,k,O],le=()=>[E,`auto`,k,O],ue=()=>[`auto`,`min`,`max`,`fr`,k,O],de=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],fe=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],y=()=>[`auto`,..._()],pe=()=>[we,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,..._()],me=()=>[we,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,..._()],he=()=>[we,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,..._()],b=()=>[e,k,O],ge=()=>[...re(),Ue,Re,{position:[k,O]}],_e=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ve=()=>[`auto`,`cover`,`contain`,We,Ne,{size:[k,O]}],ye=()=>[Te,Ve,Pe],S=()=>[``,`none`,`full`,l,k,O],C=()=>[``,T,Ve,Pe],be=()=>[`solid`,`dashed`,`dotted`,`double`],xe=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],w=()=>[T,Te,Ue,Re],Se=()=>[``,`none`,m,k,O],Ce=()=>[`none`,T,k,O],De=()=>[`none`,T,k,O],Oe=()=>[T,k,O],ke=()=>[we,`full`,..._()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[D],breakpoint:[D],color:[Ee],container:[D],"drop-shadow":[D],ease:[`in`,`out`,`in-out`],font:[je],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[D],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[D],shadow:[D],spacing:[`px`,T],text:[D],"text-shadow":[D],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,we,O,k,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,k,O]}],"container-named":[Me],columns:[{columns:[T,O,k,s]}],"break-after":[{"break-after":ne()}],"break-before":[{"break-before":ne()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:ie()}],overflow:[{overflow:ae()}],"overflow-x":[{"overflow-x":ae()}],"overflow-y":[{"overflow-y":ae()}],overscroll:[{overscroll:oe()}],"overscroll-x":[{"overscroll-x":oe()}],"overscroll-y":[{"overscroll-y":oe()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:v()}],"inset-x":[{"inset-x":v()}],"inset-y":[{"inset-y":v()}],start:[{"inset-s":v(),start:v()}],end:[{"inset-e":v(),end:v()}],"inset-bs":[{"inset-bs":v()}],"inset-be":[{"inset-be":v()}],top:[{top:v()}],right:[{right:v()}],bottom:[{bottom:v()}],left:[{left:v()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[E,`auto`,k,O]}],basis:[{basis:[we,`full`,`auto`,s,..._()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[T,we,`auto`,`initial`,`none`,O]}],grow:[{grow:[``,T,k,O]}],shrink:[{shrink:[``,T,k,O]}],order:[{order:[E,`first`,`last`,`none`,k,O]}],"grid-cols":[{"grid-cols":se()}],"col-start-end":[{col:ce()}],"col-start":[{"col-start":le()}],"col-end":[{"col-end":le()}],"grid-rows":[{"grid-rows":se()}],"row-start-end":[{row:ce()}],"row-start":[{"row-start":le()}],"row-end":[{"row-end":le()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":ue()}],"auto-rows":[{"auto-rows":ue()}],gap:[{gap:_()}],"gap-x":[{"gap-x":_()}],"gap-y":[{"gap-y":_()}],"justify-content":[{justify:[...de(),`normal`]}],"justify-items":[{"justify-items":[...fe(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...fe()]}],"align-content":[{content:[`normal`,...de()]}],"align-items":[{items:[...fe(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...fe(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":de()}],"place-items":[{"place-items":[...fe(),`baseline`]}],"place-self":[{"place-self":[`auto`,...fe()]}],p:[{p:_()}],px:[{px:_()}],py:[{py:_()}],ps:[{ps:_()}],pe:[{pe:_()}],pbs:[{pbs:_()}],pbe:[{pbe:_()}],pt:[{pt:_()}],pr:[{pr:_()}],pb:[{pb:_()}],pl:[{pl:_()}],m:[{m:y()}],mx:[{mx:y()}],my:[{my:y()}],ms:[{ms:y()}],me:[{me:y()}],mbs:[{mbs:y()}],mbe:[{mbe:y()}],mt:[{mt:y()}],mr:[{mr:y()}],mb:[{mb:y()}],ml:[{ml:y()}],"space-x":[{"space-x":_()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":_()}],"space-y-reverse":[`space-y-reverse`],size:[{size:pe()}],"inline-size":[{inline:[`auto`,...me()]}],"min-inline-size":[{"min-inline":[`auto`,...me()]}],"max-inline-size":[{"max-inline":[`none`,...me()]}],"block-size":[{block:[`auto`,...he()]}],"min-block-size":[{"min-block":[`auto`,...he()]}],"max-block-size":[{"max-block":[`none`,...he()]}],w:[{w:[s,`screen`,...pe()]}],"min-w":[{"min-w":[s,`screen`,`none`,...pe()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...pe()]}],h:[{h:[`screen`,`lh`,...pe()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...pe()]}],"max-h":[{"max-h":[`screen`,`lh`,...pe()]}],"font-size":[{text:[`base`,n,Ve,Pe]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,qe,Ie]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Te,O]}],"font-family":[{font:[He,Le,t]}],"font-features":[{"font-features":[O]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,k,O]}],"line-clamp":[{"line-clamp":[T,`none`,k,Fe]}],leading:[{leading:[a,..._()]}],"list-image":[{"list-image":[`none`,k,O]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,k,O]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:b()}],"text-color":[{text:b()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...be(),`wavy`]}],"text-decoration-thickness":[{decoration:[T,`from-font`,`auto`,k,Pe]}],"text-decoration-color":[{decoration:b()}],"underline-offset":[{"underline-offset":[T,`auto`,k,O]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:_()}],"tab-size":[{tab:[E,k,O]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,k,O]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,k,O]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:ge()}],"bg-repeat":[{bg:_e()}],"bg-size":[{bg:ve()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},E,k,O],radial:[``,k,O],conic:[E,k,O]},Ge,ze]}],"bg-color":[{bg:b()}],"gradient-from-pos":[{from:ye()}],"gradient-via-pos":[{via:ye()}],"gradient-to-pos":[{to:ye()}],"gradient-from":[{from:b()}],"gradient-via":[{via:b()}],"gradient-to":[{to:b()}],rounded:[{rounded:S()}],"rounded-s":[{"rounded-s":S()}],"rounded-e":[{"rounded-e":S()}],"rounded-t":[{"rounded-t":S()}],"rounded-r":[{"rounded-r":S()}],"rounded-b":[{"rounded-b":S()}],"rounded-l":[{"rounded-l":S()}],"rounded-ss":[{"rounded-ss":S()}],"rounded-se":[{"rounded-se":S()}],"rounded-ee":[{"rounded-ee":S()}],"rounded-es":[{"rounded-es":S()}],"rounded-tl":[{"rounded-tl":S()}],"rounded-tr":[{"rounded-tr":S()}],"rounded-br":[{"rounded-br":S()}],"rounded-bl":[{"rounded-bl":S()}],"border-w":[{border:C()}],"border-w-x":[{"border-x":C()}],"border-w-y":[{"border-y":C()}],"border-w-s":[{"border-s":C()}],"border-w-e":[{"border-e":C()}],"border-w-bs":[{"border-bs":C()}],"border-w-be":[{"border-be":C()}],"border-w-t":[{"border-t":C()}],"border-w-r":[{"border-r":C()}],"border-w-b":[{"border-b":C()}],"border-w-l":[{"border-l":C()}],"divide-x":[{"divide-x":C()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":C()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...be(),`hidden`,`none`]}],"divide-style":[{divide:[...be(),`hidden`,`none`]}],"border-color":[{border:b()}],"border-color-x":[{"border-x":b()}],"border-color-y":[{"border-y":b()}],"border-color-s":[{"border-s":b()}],"border-color-e":[{"border-e":b()}],"border-color-bs":[{"border-bs":b()}],"border-color-be":[{"border-be":b()}],"border-color-t":[{"border-t":b()}],"border-color-r":[{"border-r":b()}],"border-color-b":[{"border-b":b()}],"border-color-l":[{"border-l":b()}],"divide-color":[{divide:b()}],"outline-style":[{outline:[...be(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[T,k,O]}],"outline-w":[{outline:[``,T,Ve,Pe]}],"outline-color":[{outline:b()}],shadow:[{shadow:[``,`none`,u,Ke,Be]}],"shadow-color":[{shadow:b()}],"inset-shadow":[{"inset-shadow":[`none`,d,Ke,Be]}],"inset-shadow-color":[{"inset-shadow":b()}],"ring-w":[{ring:C()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:b()}],"ring-offset-w":[{"ring-offset":[T,Pe]}],"ring-offset-color":[{"ring-offset":b()}],"inset-ring-w":[{"inset-ring":C()}],"inset-ring-color":[{"inset-ring":b()}],"text-shadow":[{"text-shadow":[`none`,f,Ke,Be]}],"text-shadow-color":[{"text-shadow":b()}],opacity:[{opacity:[T,k,O]}],"mix-blend":[{"mix-blend":[...xe(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":xe()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[T]}],"mask-image-linear-from-pos":[{"mask-linear-from":w()}],"mask-image-linear-to-pos":[{"mask-linear-to":w()}],"mask-image-linear-from-color":[{"mask-linear-from":b()}],"mask-image-linear-to-color":[{"mask-linear-to":b()}],"mask-image-t-from-pos":[{"mask-t-from":w()}],"mask-image-t-to-pos":[{"mask-t-to":w()}],"mask-image-t-from-color":[{"mask-t-from":b()}],"mask-image-t-to-color":[{"mask-t-to":b()}],"mask-image-r-from-pos":[{"mask-r-from":w()}],"mask-image-r-to-pos":[{"mask-r-to":w()}],"mask-image-r-from-color":[{"mask-r-from":b()}],"mask-image-r-to-color":[{"mask-r-to":b()}],"mask-image-b-from-pos":[{"mask-b-from":w()}],"mask-image-b-to-pos":[{"mask-b-to":w()}],"mask-image-b-from-color":[{"mask-b-from":b()}],"mask-image-b-to-color":[{"mask-b-to":b()}],"mask-image-l-from-pos":[{"mask-l-from":w()}],"mask-image-l-to-pos":[{"mask-l-to":w()}],"mask-image-l-from-color":[{"mask-l-from":b()}],"mask-image-l-to-color":[{"mask-l-to":b()}],"mask-image-x-from-pos":[{"mask-x-from":w()}],"mask-image-x-to-pos":[{"mask-x-to":w()}],"mask-image-x-from-color":[{"mask-x-from":b()}],"mask-image-x-to-color":[{"mask-x-to":b()}],"mask-image-y-from-pos":[{"mask-y-from":w()}],"mask-image-y-to-pos":[{"mask-y-to":w()}],"mask-image-y-from-color":[{"mask-y-from":b()}],"mask-image-y-to-color":[{"mask-y-to":b()}],"mask-image-radial":[{"mask-radial":[k,O]}],"mask-image-radial-from-pos":[{"mask-radial-from":w()}],"mask-image-radial-to-pos":[{"mask-radial-to":w()}],"mask-image-radial-from-color":[{"mask-radial-from":b()}],"mask-image-radial-to-color":[{"mask-radial-to":b()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":re()}],"mask-image-conic-pos":[{"mask-conic":[T]}],"mask-image-conic-from-pos":[{"mask-conic-from":w()}],"mask-image-conic-to-pos":[{"mask-conic-to":w()}],"mask-image-conic-from-color":[{"mask-conic-from":b()}],"mask-image-conic-to-color":[{"mask-conic-to":b()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:ge()}],"mask-repeat":[{mask:_e()}],"mask-size":[{mask:ve()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,k,O]}],filter:[{filter:[``,`none`,k,O]}],blur:[{blur:Se()}],brightness:[{brightness:[T,k,O]}],contrast:[{contrast:[T,k,O]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Ke,Be]}],"drop-shadow-color":[{"drop-shadow":b()}],grayscale:[{grayscale:[``,T,k,O]}],"hue-rotate":[{"hue-rotate":[T,k,O]}],invert:[{invert:[``,T,k,O]}],saturate:[{saturate:[T,k,O]}],sepia:[{sepia:[``,T,k,O]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,k,O]}],"backdrop-blur":[{"backdrop-blur":Se()}],"backdrop-brightness":[{"backdrop-brightness":[T,k,O]}],"backdrop-contrast":[{"backdrop-contrast":[T,k,O]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,T,k,O]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[T,k,O]}],"backdrop-invert":[{"backdrop-invert":[``,T,k,O]}],"backdrop-opacity":[{"backdrop-opacity":[T,k,O]}],"backdrop-saturate":[{"backdrop-saturate":[T,k,O]}],"backdrop-sepia":[{"backdrop-sepia":[``,T,k,O]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":_()}],"border-spacing-x":[{"border-spacing-x":_()}],"border-spacing-y":[{"border-spacing-y":_()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,k,O]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[T,`initial`,k,O]}],ease:[{ease:[`linear`,`initial`,ee,k,O]}],delay:[{delay:[T,k,O]}],animate:[{animate:[`none`,te,k,O]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,k,O]}],"perspective-origin":[{"perspective-origin":ie()}],rotate:[{rotate:Ce()}],"rotate-x":[{"rotate-x":Ce()}],"rotate-y":[{"rotate-y":Ce()}],"rotate-z":[{"rotate-z":Ce()}],scale:[{scale:De()}],"scale-x":[{"scale-x":De()}],"scale-y":[{"scale-y":De()}],"scale-z":[{"scale-z":De()}],"scale-3d":[`scale-3d`],skew:[{skew:Oe()}],"skew-x":[{"skew-x":Oe()}],"skew-y":[{"skew-y":Oe()}],transform:[{transform:[k,O,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:ie()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:ke()}],"translate-x":[{"translate-x":ke()}],"translate-y":[{"translate-y":ke()}],"translate-z":[{"translate-z":ke()}],"translate-none":[`translate-none`],zoom:[{zoom:[E,k,O]}],accent:[{accent:b()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:b()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,k,O]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":b()}],"scrollbar-track-color":[{"scrollbar-track":b()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":_()}],"scroll-mx":[{"scroll-mx":_()}],"scroll-my":[{"scroll-my":_()}],"scroll-ms":[{"scroll-ms":_()}],"scroll-me":[{"scroll-me":_()}],"scroll-mbs":[{"scroll-mbs":_()}],"scroll-mbe":[{"scroll-mbe":_()}],"scroll-mt":[{"scroll-mt":_()}],"scroll-mr":[{"scroll-mr":_()}],"scroll-mb":[{"scroll-mb":_()}],"scroll-ml":[{"scroll-ml":_()}],"scroll-p":[{"scroll-p":_()}],"scroll-px":[{"scroll-px":_()}],"scroll-py":[{"scroll-py":_()}],"scroll-ps":[{"scroll-ps":_()}],"scroll-pe":[{"scroll-pe":_()}],"scroll-pbs":[{"scroll-pbs":_()}],"scroll-pbe":[{"scroll-pbe":_()}],"scroll-pt":[{"scroll-pt":_()}],"scroll-pr":[{"scroll-pr":_()}],"scroll-pb":[{"scroll-pb":_()}],"scroll-pl":[{"scroll-pl":_()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,k,O]}],fill:[{fill:[`none`,...b()]}],"stroke-w":[{stroke:[T,Ve,Pe,Fe]}],stroke:[{stroke:[`none`,...b()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function at(...e){return it(o(e))}var ot=new Intl.DateTimeFormat(void 0,{year:`numeric`,month:`long`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`});function st(e){return e?ot.format(new Date(e)):`Unknown`}function ct(e){return`${Math.round(e/1024)} GiB`}var lt=[`B`,`KB`,`MB`,`GB`,`TB`];function ut(e){if(e===0)return`0 B`;let t=Math.floor(Math.log(e)/Math.log(1024));return`${(e/1024**t).toFixed(2)} ${lt[t]}`}function dt(e){return e?.find(e=>e.Key===`Name`)?.Value}function ft(e){let t=e.GroupId??``;return e.GroupName?`${t} (${e.GroupName})`:t}var pt=/\/$/;function mt(e){return e.replace(pt,``)}function ht(e){return e&&(e.endsWith(`/`)?e:`${e}/`)}function gt(e,t){return e.startsWith(t)?e:`${t}${e}`}function _t(e,t){return e.startsWith(t)?e.slice(t.length):e}function vt(e,t,n){return e.$source||={},e.$source[t]=n,e}var yt=e=>e?.body instanceof ReadableStream,bt=(e,t)=>{let n=[];if(e&&n.push(e),t)for(let e of t)n.push(e);return n},xt=(e,t)=>`${e||`anonymous`}${t&&t.length>0?` (a.k.a. ${t.join(`,`)})`:``}`,St=()=>{let e=[],t=[],n=!1,r=new Set,i=e=>e.sort((e,t)=>Ct[t.step]-Ct[e.step]||wt[t.priority||`normal`]-wt[e.priority||`normal`]),a=n=>{let i=!1,a=e=>{let t=bt(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 bt(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 bt(t.name,t.aliases))o[e]=t;r.push(t)}),t.forEach(e=>{let t={...e,before:[],after:[]};for(let e of bt(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 ${xt(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=bt(i,o);if(c.length>0){if(c.some(e=>r.has(e))){if(!a)throw Error(`Duplicate middleware name '${xt(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(`"${xt(r.name,r.aliases)}" middleware with ${r.priority} priority in ${r.step} step cannot be overridden by "${xt(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=bt(i,o);if(c.length>0){if(c.some(e=>r.has(e))){if(!a)throw Error(`Duplicate middleware name '${xt(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(`"${xt(r.name,r.aliases)}" middleware ${r.relation} "${r.toMiddleware}" middleware cannot be overridden by "${xt(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(St()),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=bt(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(St());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 xt(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},Ct={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},wt={high:3,normal:2,low:1},Tt;(function(e){e.HTTP=`http`,e.HTTPS=`https`})(Tt||={});var Et;(function(e){e.MD5=`md5`,e.CRC32=`crc32`,e.CRC32C=`crc32c`,e.SHA1=`sha1`,e.SHA256=`sha256`})(Et||={});var Dt=`__smithy_context`,Ot=e=>e.__smithy_context||={},A=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&&=kt(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 kt(e){return Object.keys(e).reduce((t,n)=>{let r=e[n];return{...t,[n]:Array.isArray(r)?[...r]:r}},{})}var j=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`}},At=RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`),jt=(e,t=!1)=>{if(!t)return At.test(e);let n=e.split(`.`);for(let e of n)if(!jt(e))return!1;return!0};function Mt(e){return/^[a-z0-9][a-z0-9.-]*[a-z0-9]$/.test(e)}var Nt=e=>{if(typeof e==`function`)return e;let t=Promise.resolve(e);return()=>t};function Pt(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 Ft=e=>{if(typeof e==`string`)return Ft(new URL(e));let{hostname:t,pathname:n,port:r,protocol:i,search:a}=e,o;return a&&(o=Pt(a)),{hostname:t,port:r?parseInt(r):void 0,protocol:i,path:n,query:o}},It=e=>{if(typeof e==`object`){if(`url`in e){let t=Ft(e.url);if(e.headers){t.headers={};for(let n in e.headers)t.headers[n.toLowerCase()]=e.headers[n].join(`, `)}return t}return e}return Ft(e)},Lt=e=>()=>Promise.reject(e),Rt=class{config;middlewareStack=St();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}},zt=e=>typeof e==`function`?e():e,Bt=(e,t,n,r,i)=>({name:t,namespace:e,traits:n,input:r,output:i}),Vt=e=>(t,n)=>async r=>{let{response:i}=await t(r),{operationSchema:a}=Ot(n),[,o,s,c,l,u]=a??[];try{return{response:i,output:await e.protocol.deserializeResponse(Bt(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+=` + Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`}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(j.isInstance(i)){let{headers:t={},statusCode:n}=i,r=Object.entries(t);e.$metadata={httpStatusCode:n,requestId:Ht(/^x-[\w-]+-request-?id$/,r),extendedRequestId:Ht(/^x-[\w-]+-id-2$/,r),cfId:Ht(/^x-[\w-]+-cf-id$/,r)}}}catch{}}throw e}},Ht=(e,t)=>(t.find(([t])=>t.match(e))||[void 0,void 0])[1],Ut=e=>(t,n)=>async r=>{let{operationSchema:i}=Ot(n),[,a,o,s,c,l]=i??[],u=n.endpointV2?async()=>It(n.endpointV2):e.endpoint,d=await e.protocol.serializeRequest(Bt(a,o,s,c,l),r.input,{...e,...n,endpoint:u});return t({...r,request:d})},Wt={name:`deserializerMiddleware`,step:`deserialize`,tags:[`DESERIALIZER`],override:!0},Gt={name:`serializerMiddleware`,step:`serialize`,tags:[`SERIALIZER`],override:!0};function Kt(e){return{applyToStack:t=>{t.add(Ut(e),Gt),t.add(Vt(e),Wt),e.protocol.setSerdeContext(e)}}}var qt=[];function Jt(e){if(typeof e==`object`)return e;if(e|=0,qt[e])return qt[e];let t={},n=0;for(let r of[`httpLabel`,`idempotent`,`idempotencyToken`,`sensitive`,`httpPayload`,`httpResponseCode`,`httpQueryParams`])(e>>n++&1)==1&&(t[r]=1);return qt[e]=t}var Yt={it:Symbol.for(`@smithy/nor-struct-it`),ns:Symbol.for(`@smithy/ns`)},Xt=[],Zt={},M=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;$t(i);)r.push(i[1]),i=i[0],a=zt(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,Jt(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=zt(a),en(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(Xt[t])return Xt[t]}else if(typeof t==`string`){if(Zt[t])return Zt[t]}else if(n&&t[Yt.ns])return t[Yt.ns];let r=zt(t);if(r instanceof e)return r;if($t(r)){let[n,i]=r;if(n instanceof e)return Object.assign(n.getMergedTraits(),Jt(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[Yt.ns]=i:typeof r==`string`?Zt[r]=i:typeof r==`number`?Xt[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}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 Jt(this.memberTraits)}getOwnTraits(){return Jt(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 Qt([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 Qt([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 Qt($t(r)?r:[r,0],e)}if(this.isDocumentSchema())return Qt([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[Yt.it];if(n&&t===n.length){yield*n;return}n=Array(t);for(let r=0;rArray.isArray(e)&&e.length===2,en=e=>Array.isArray(e)&&e.length>=5,tn=`***SensitiveInformation***`;function nn(e,t){if(t==null)return t;let n=M.of(e);if(n.getMergedTraits().sensitive)return tn;if(n.isListSchema()){if(n.getValueSchema().getMergedTraits().sensitive)return tn}else if(n.isMapSchema()){if(n.getKeySchema().getMergedTraits().sensitive||n.getValueSchema().getMergedTraits().sensitive)return tn}else if(n.isStructSchema()&&typeof t==`object`){let e=t,r={};for(let[t,i]of n.structIterator())e[t]!=null&&(r[t]=nn(i,e[t]));return r}return t}var rn=class{middlewareStack=St();schema;static classBuilder(){return new an}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:f}=t,p={logger:f,clientName:i,commandName:a,inputFilterSensitiveLog:o,outputFilterSensitiveLog:s,[Dt]:{commandInstance:this,...c},...l},{requestHandler:m}=t,h=n??{};return c.eventStream&&(h={isEventStream:!0,...h}),d.resolve(e=>m.handle(e.request,h),p)}},an=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 rn{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?nn.bind(null,o):e=>e),outputFilterSensitiveLog:e._outputFilterSensitiveLog??(a?nn.bind(null,s):e=>e),smithyContext:e._smithyContext,additionalContext:e._additionalContext})}serialize=e._serializer;deserialize=e._deserializer}}},on=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}},sn=(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),cn=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{}}},ln=Object.values(Et),un=e=>{let t=[];for(let n in Et){let r=Et[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();ln.includes(r)?e.checksumAlgorithms[r.toUpperCase()]=i:e.checksumAlgorithms[r]=i,t.push(n)},checksumAlgorithms(){return t}}},dn=e=>{let t={};return e.checksumAlgorithms().forEach(e=>{let n=e.algorithmId();ln.includes(n)&&(t[n]=e.checksumConstructor())}),t},fn=e=>({setRetryStrategy(t){e.retryStrategy=t},retryStrategy(){return e.retryStrategy}}),pn=e=>{let t={};return t.retryStrategy=e.retryStrategy(),t},mn=e=>Object.assign(un(e),fn(e)),hn=e=>Object.assign(dn(e),pn(e)),gn=e=>{let t=`#text`;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&e[n][t]!==void 0?e[n]=e[n][t]:typeof e[n]==`object`&&e[n]!==null&&(e[n]=gn(e[n]));return e},_n=class{trace(){}debug(){}info(){}warn(){}error(){}};function vn(e,t,n,r){return function(i,a,o,s,c={}){let l=Object.assign({},e,i);return rn.classBuilder().ep(l).m(function(e,t,n,i){let o=a.call(this,e,t,n,i);return o.unshift(r(n,e.getEndpointParameterInstructions())),o}).s(t,o,c).n(n,o.charAt(0).toUpperCase()+o.slice(1)+`Command`).sc(s).build()}}var yn=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,bn=Object.entries(yn).reduce((e,[t,n])=>(e[n]=Number(t),e),{}),xn=yn.split(``),Sn=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 Cn(e){let n;n=typeof e==`string`?t(e):e;let r=typeof n==`object`&&typeof n.length==`number`,i=typeof n==`object`&&typeof n.byteOffset==`number`&&typeof n.byteLength==`number`;if(!r&&!i)throw Error(`@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.`);let a=``;for(let e=0;e>n]}a+=`==`.slice(0,4-i)}return a}function wn(e,t,n,r){return class i extends Uint8Array{static fromString(e,n=`utf-8`){if(typeof e==`string`)return n===`base64`?i.mutate(r(e)):i.mutate(t(e));throw Error(`Unsupported conversion from ${typeof e} to Uint8ArrayBlobAdapter.`)}static mutate(e){return Object.setPrototypeOf(e,i.prototype),e}transformToString(t=`utf-8`){return t===`base64`?n(this):e(this)}}}var N=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function Tn(e){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?()=>crypto.randomUUID():()=>{let t=new Uint8Array(16);return e(t),t[6]=t[6]&15|64,t[8]=t[8]&63|128,N[t[0]]+N[t[1]]+N[t[2]]+N[t[3]]+`-`+N[t[4]]+N[t[5]]+`-`+N[t[6]]+N[t[7]]+`-`+N[t[8]]+N[t[9]]+`-`+N[t[10]]+N[t[11]]+N[t[12]]+N[t[13]]+N[t[14]]+N[t[15]]}}var En=e=>{if(e!=null){if(typeof e==`string`){let t=parseFloat(e);if(!Number.isNaN(t))return String(t)!==String(e)&&Vn.warn(Bn(`Expected number but observed string: ${e}`)),t}if(typeof e==`number`)return e;throw TypeError(`Expected number, got ${typeof e}: ${e}`)}},Dn=Math.ceil(2**127*(2-2**-23)),On=e=>{let t=En(e);if(t!==void 0&&!Number.isNaN(t)&&t!==1/0&&t!==-1/0&&Math.abs(t)>Dn)throw TypeError(`Expected 32-bit float, got ${e}`);return t},kn=e=>{if(e!=null){if(Number.isInteger(e)&&!Number.isNaN(e))return e;throw TypeError(`Expected integer, got ${typeof e}: ${e}`)}},An=e=>Mn(e,16),jn=e=>Mn(e,8),Mn=(e,t)=>{let n=kn(e);if(n!==void 0&&Nn(n,t)!==n)throw TypeError(`Expected ${t}-bit integer, got ${e}`);return n},Nn=(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]}},Pn=e=>En(typeof e==`string`?Ln(e):e),Fn=e=>On(typeof e==`string`?Ln(e):e),In=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g,Ln=e=>{let t=e.match(In);if(t===null||t[0].length!==e.length)throw TypeError(`Expected real number, got implicit NaN`);return parseFloat(e)},Rn=e=>An(typeof e==`string`?Ln(e):e),zn=e=>jn(typeof e==`string`?Ln(e):e),Bn=e=>String(TypeError(e).stack||e).split(` `).slice(0,5).filter(e=>!e.includes(`stackTraceWarning`)).join(` -`),Bn={warn:console.warn},Vn=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],Hn=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function Un(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`${Vn[r]}, ${c} ${Hn[n]} ${t} ${l}:${u}:${d} GMT`}var Wn=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}:\d{2})|[zZ])$/),Gn=e=>{if(e==null)return;if(typeof e!=`string`)throw TypeError(`RFC-3339 date-times must be expressed as strings`);let t=Wn.exec(e);if(!t)throw TypeError(`Invalid RFC-3339 date-time value`);let[n,r,i,a,o,s,c,l,u]=t,d=Zn(Ln(cr(r)),ar(i,`month`,1,12),ar(a,`day`,1,31),{hours:o,minutes:s,seconds:c,fractionalMilliseconds:l});return u.toUpperCase()!=`Z`&&d.setTime(d.getTime()-sr(u)),d},Kn=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$/),qn=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$/),Jn=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})$/),Yn=e=>{if(e==null)return;if(typeof e!=`string`)throw TypeError(`RFC-7231 date-times must be expressed as strings`);let t=Kn.exec(e);if(t){let[e,n,r,i,a,o,s,c]=t;return Zn(Ln(cr(i)),tr(r),ar(n,`day`,1,31),{hours:a,minutes:o,seconds:s,fractionalMilliseconds:c})}if(t=qn.exec(e),t){let[e,n,r,i,a,o,s,c]=t;return er(Zn(Qn(i),tr(r),ar(n,`day`,1,31),{hours:a,minutes:o,seconds:s,fractionalMilliseconds:c}))}if(t=Jn.exec(e),t){let[e,n,r,i,a,o,s,c]=t;return Zn(Ln(cr(c)),tr(n),ar(r.trimLeft(),`day`,1,31),{hours:i,minutes:a,seconds:o,fractionalMilliseconds:s})}throw TypeError(`Invalid RFC-7231 date-time value`)},Xn=e=>{if(e==null)return;let t;if(typeof e==`number`)t=e;else if(typeof e==`string`)t=Nn(e);else if(typeof e==`object`&&e.tag===1)t=e.value;else throw TypeError(`Epoch timestamps must be expressed as floating point numbers or their string representation`);if(Number.isNaN(t)||t===1/0||t===-1/0)throw TypeError(`Epoch timestamps must be valid, non-Infinite, non-NaN numerics`);return new Date(Math.round(t*1e3))},Zn=(e,t,n,r)=>{let i=t-1;return rr(e,i,n),new Date(Date.UTC(e,i,n,ar(r.hours,`hour`,0,23),ar(r.minutes,`minute`,0,59),ar(r.seconds,`seconds`,0,60),or(r.fractionalMilliseconds)))},Qn=e=>{let t=new Date().getUTCFullYear(),n=Math.floor(t/100)*100+Ln(cr(e));return ne.getTime()-new Date().getTime()>$n?new Date(Date.UTC(e.getUTCFullYear()-100,e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())):e,tr=e=>{let t=Hn.indexOf(e);if(t<0)throw TypeError(`Invalid month: ${e}`);return t+1},nr=[31,28,31,30,31,30,31,31,30,31,30,31],rr=(e,t,n)=>{let r=nr[t];if(t===1&&ir(e)&&(r=29),n>r)throw TypeError(`Invalid day for ${Hn[t]} in ${e}: ${n}`)},ir=e=>e%4==0&&(e%100!=0||e%400==0),ar=(e,t,n,r)=>{let i=Rn(cr(e));if(ir)throw TypeError(`${t} must be between ${n} and ${r}, inclusive`);return i},or=e=>e==null?0:Pn(`0.`+e)*1e3,sr=e=>{let t=e[0],n=1;if(t==`+`)n=1;else if(t==`-`)n=-1;else throw TypeError(`Offset direction, ${t}, must be "+" or "-"`);let r=Number(e.substring(1,3)),i=Number(e.substring(4,6));return n*(r*60+i)*60*1e3},cr=e=>{let t=0;for(;te&&typeof e==`object`&&(e instanceof lr||`deserializeJSON`in e)?e:typeof e==`string`||Object.getPrototypeOf(e)===String.prototype?lr(String(e)):lr(JSON.stringify(e)),lr.fromObject=lr.from;var ur=`(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?`,dr=`(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)`,fr=`(\\d?\\d):(\\d{2}):(\\d{2})(?:\\.(\\d+))?`,pr=`(\\d?\\d)`,mr=`(\\d{4})`,hr=new RegExp(/^(\d{4})-(\d\d)-(\d\d)[tT](\d\d):(\d\d):(\d\d)(\.(\d+))?(([-+]\d\d:\d\d)|[zZ])$/),gr=RegExp(`^${ur}, ${pr} ${dr} ${mr} ${fr} GMT$`),_r=RegExp(`^${ur}, ${pr}-${dr}-(\\d\\d) ${fr} GMT$`),vr=RegExp(`^${ur} ${dr} ( [1-9]|\\d\\d) ${fr} ${mr}$`),yr=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],br=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))},xr=e=>{if(e==null)return;if(typeof e!=`string`)throw TypeError(`RFC3339 timestamps must be strings`);let t=hr.exec(e);if(!t)throw TypeError(`Invalid RFC3339 timestamp format ${e}`);let[,n,r,i,a,o,s,,c,l]=t;P(r,1,12),P(i,1,31),P(a,0,23),P(o,0,59),P(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},Sr=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=gr.exec(e))?[,t,n,r,i,a,o,s]=c:(c=_r.exec(e))?([,t,n,r,i,a,o,s]=c,r=(Number(r)+1900).toString()):(c=vr.exec(e))&&([,n,t,i,a,o,s,r]=c),r&&o){let e=Date.UTC(Number(r),yr.indexOf(n),Number(t),Number(i),Number(a),Number(o),s?Math.round(parseFloat(`0.${s}`)*1e3):0);P(t,1,31),P(i,0,23),P(a,0,59),P(o,0,60);let c=new Date(e);return c.setUTCFullYear(Number(r)),c}throw TypeError(`Invalid RFC7231 date-time value ${e}.`)};function P(e,t,n){let r=Number(e);if(rn)throw Error(`Value ${r} out of range [${t}, ${n}]`)}var Cr=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,`"`))})},wr=/^-?((0|[1-9]\d*)(\.\d+)?|\.\d+)([eE][+-]?\d+)?$/,Tr=class e{string;type;constructor(e,t){if(this.string=e,this.type=t,!wr.test(e))throw Error(`@smithy/core/serde - NumericValue string must conform to the Smithy bigDecimal format. Received: "${e}"`)}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`&&wr.test(n.string)}},Er=typeof TextEncoder==`function`?new TextEncoder:null,Dr=e=>{if(typeof e==`string`){if(Er)return Er.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}if(typeof e.byteLength==`number`)return e.byteLength;if(typeof e.size==`number`)return e.size;throw Error(`Body Length computation failed for ${e}`)},F=e=>e instanceof Uint8Array?e:typeof e==`string`?t(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e);function Or(e,t){if(t===void 0){t=0;for(let n of e)t+=n.byteLength}let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.byteLength;return n}var kr=e=>typeof ArrayBuffer==`function`&&e instanceof ArrayBuffer||Object.prototype.toString.call(e)===`[object ArrayBuffer]`,Ar=async e=>void 0,jr=async e=>{let t=e?.Bucket||``;if(typeof e.Bucket==`string`&&(e.Bucket=t.replace(/#/g,`%23`).replace(/\?/g,`%3F`)),Ir(t)){if(e.ForcePathStyle===!0)throw Error(`Path-style addressing cannot be used with ARN buckets`)}else(!Fr(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},Mr=/^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$/,Nr=/(\d+\.){3}\d+/,Pr=/\.\./,Fr=e=>Mr.test(e)&&!Nr.test(e)&&!Pr.test(e),Ir=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},Lr=(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};function Rr(e){return async(t,n,r,i)=>{if(!r.isCustomEndpoint&&!r.ignoreConfiguredEndpointUrls){let t;t=r.serviceConfiguredEndpoint?await r.serviceConfiguredEndpoint():await e(r.serviceId),t&&(r.endpoint=()=>Promise.resolve(Ft(t)),r.isCustomEndpoint=!0,i?.logger?.debug?.(`@smithy/core/endpoints - resolved endpoint from config: ${t}`))}let a=await zr(t,n,r);if(typeof r.endpointProvider!=`function`)throw Error(`config.endpointProvider is not set.`);let o=r.endpointProvider(a,i);if(r.isCustomEndpoint&&r.endpoint){let e=await r.endpoint();if(e?.headers){o.headers??={};for(let[t,n]of Object.entries(e.headers))o.headers[t]=Array.isArray(n)?n:[n]}}return o}}var zr=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 Lr(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 jr(r),r};function Br(e,t,n){e.__smithy_context?e.__smithy_context.features||(e.__smithy_context.features={}):e.__smithy_context={features:{}},e.__smithy_context.features[t]=n}function Vr(e){let t=Rr(e);return({config:e,instructions:n})=>(r,i)=>async a=>{e.isCustomEndpoint&&Br(i,`ENDPOINT_OVERRIDE`,`N`);let o=await t(a.input,{getEndpointParameterInstructions(){return n}},{...e},i);i.endpointV2=o,i.authSchemes=o.properties?.authSchemes;let s=i.authSchemes?.[0];if(s){i.signing_region=s.signingRegion,i.signing_service=s.signingName;let e=Dt(i)?.selectedHttpAuthScheme?.httpAuthOption;e&&(e.signingProperties=Object.assign(e.signingProperties||{},{signing_region:s.signingRegion,signingRegion:s.signingRegion,signing_service:s.signingName,signingName:s.signingName,signingRegionSet:s.signingRegionSet},s.properties))}return r({...a})}}var Hr={step:`serialize`,tags:[`ENDPOINT_PARAMETERS`,`ENDPOINT_V2`,`ENDPOINT`],name:`endpointV2Middleware`,override:!0,relation:`before`,toMiddleware:{name:`serializerMiddleware`,step:`serialize`,tags:[`SERIALIZER`],override:!0}.name};function Ur(e){let t=Vr(e);return(e,n)=>({applyToStack:r=>{r.addRelativeTo(t({config:e,instructions:n}),Hr)}})}function Wr(e){return t=>{let n=t.tls??!0,{endpoint:r,useDualstackEndpoint:i,useFipsEndpoint:a}=t,o=Object.assign(t,{endpoint:r==null?void 0:async()=>Ft(await Mt(r)()),tls:n,isCustomEndpoint:!!r,useDualstackEndpoint:Mt(i??!1),useFipsEndpoint:Mt(a??!1),ignoreConfiguredEndpointUrls:!!t.ignoreConfiguredEndpointUrls}),s;return o.serviceConfiguredEndpoint=async()=>(t.serviceId&&!s&&(s=e(t.serviceId)),s),o}}var Gr=class e{nodes;root;conditions;results;constructor(e,t,n,r){this.nodes=e,this.root=t,this.conditions=n,this.results=r}static from(t,n,r,i){return new e(t,n,r,i)}},Kr=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}},I=class extends Error{constructor(e){super(e),this.name=`EndpointError`}},qr=`endpoints`;function Jr(e){return typeof e!=`object`||!e?e:`ref`in e?`$${Jr(e.ref)}`:`fn`in e?`${e.fn}(${(e.argv||[]).map(Jr).join(`, `)})`:JSON.stringify(e,null,2)}var Yr={},Xr=(e,t)=>e===t;function Zr(...e){for(let t of e)if(t!=null)return t}var Qr=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 I(`Path: '${e}' does not end with ']'`);let i=r.slice(t+1,-1);if(Number.isNaN(parseInt(i)))throw new I(`Invalid array index: '${i}' in path: '${e}'`);t!==0&&n.push(r.slice(0,t)),n.push(i)}else n.push(r)}return n},$r=(e,t)=>Qr(t).reduce((n,r)=>{if(typeof n!=`object`)throw new I(`Index '${r}' in '${t}' not found in '${JSON.stringify(e)}'`);if(Array.isArray(n)){let e=parseInt(r);return n[e<0?n.length+e:e]}return n[r]},e),ei=e=>e!=null;function ti(e,t,n){return e?t:n}var ni=e=>!e,ri=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}$`),ii=e=>ri.test(e)||e.startsWith(`[`)&&e.endsWith(`]`),ai={[wt.HTTP]:80,[wt.HTTPS]:443},oi=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(wt).includes(c))return null;let l=ii(i);return{scheme:c,authority:`${r}${n.includes(`${r}:${ai[c]}`)||typeof e==`string`&&e.includes(`${r}:${ai[c]}`)?`:${ai[c]}`:``}`,path:a,normalizedPath:a.endsWith(`/`)?a:`${a}/`,isIp:l}};function si(e,t,n){if(n===1)return[e];if(e===``)return[``];let r=e.split(t);return n===0?r:r.slice(0,n-1).concat(r.slice(1).join(t))}var ci={booleanEquals:Xr,coalesce:Zr,getAttr:$r,isSet:ei,isValidHostLabel:At,ite:ti,not:ni,parseURL:oi,split:si,stringEquals:(e,t)=>e===t,substring:(e,t,n,r)=>e==null||t>=n||e.lengthencodeURIComponent(e).replace(/[!*'()]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)},li=(e,t)=>{let n=[],{referenceRecord:r,endpointParams:i}=t,a=0;for(;at.referenceRecord[e]??t.endpointParams[e],di=(e,t,n)=>{if(typeof e==`string`)return li(e,n);if(e.fn)return pi.callFunction(e,n);if(e.ref)return ui(e,n);throw new I(`'${t}': ${String(e)} is not a string, function or reference.`)},fi=({fn:e,argv:t},n)=>{let r=Array(t.length);for(let e=0;e{let{assign:n}=e;if(n&&n in t.referenceRecord)throw new I(`'${n}' is already defined in Reference Record.`);let r=fi(e,t);t.logger?.debug?.(`${qr} evaluateCondition: ${Jr(e)} = ${Jr(r)}`);let i=r===``||!!r;return n==null?{result:i}:{result:i,toAssign:{name:n,value:r}}},hi=(e,t)=>Object.entries(e??{}).reduce((e,[n,r])=>(e[n]=r.map(e=>{let r=di(e,`Header value entry`,t);if(typeof r!=`string`)throw new I(`Header '${n}' value '${r}' is not a string`);return r}),e),{}),gi=(e,t)=>Object.entries(e).reduce((e,[n,r])=>(e[n]=vi.getEndpointProperty(r,t),e),{}),_i=(e,t)=>{if(Array.isArray(e))return e.map(e=>_i(e,t));switch(typeof e){case`string`:return li(e,t);case`object`:if(e===null)throw new I(`Unexpected endpoint property: ${e}`);return vi.getEndpointProperties(e,t);case`boolean`:return e;default:throw new I(`Unexpected endpoint property type: ${typeof e}`)}},vi={getEndpointProperty:_i,getEndpointProperties:gi},yi=(e,t)=>{let n=di(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 I(`Endpoint URL must be a string, got ${typeof n}`)},bi=1e8,xi=(e,t)=>{let{nodes:n,root:r,results:i,conditions:a}=e,o=r,s={},c={referenceRecord:s,endpointParams:t.endpointParams,logger:t.logger};for(;o!==1&&o!==-1&&o=0===f.result?r:i}if(o>=bi){let e=i[o-bi];if(e[0]===-1){let[,t]=e;throw new I(di(t,`Error`,c))}let[t,n,r]=e;return{url:yi(t,c),properties:gi(n,c),headers:hi(r??{},c)}}throw new I(`No matching endpoint.`)},Si=Rr(Ar),Ci=Wr(Ar);Vr(Ar);var wi=Ur(Ar),Ti=e=>typeof ReadableStream==`function`&&(e?.constructor?.name===ReadableStream.name||e instanceof ReadableStream),Ei=e=>typeof Blob==`function`&&(e?.constructor?.name===Blob.name||e instanceof Blob),Di=async e=>Ei(e)?Oi(e):ki(e);async function Oi(e){return e.arrayBuffer().then(e=>new Uint8Array(e))}async function ki(e){let t=[],n=e.getReader(),r=0;for(;;){let{done:e,value:i}=await n.read();if(i&&(t.push(i),r+=i.length),e)break}return Or(t,r)}var Ai=class extends Cn(r,t,Sn,xn){},ji=wn(e=>crypto.getRandomValues(e)),Mi=ji,Ni=async(e=new Uint8Array,t)=>{if(e instanceof Uint8Array)return Ai.mutate(e);if(!e)return Ai.mutate(new Uint8Array);let n=t.streamCollector(e);return Ai.mutate(await n)};function Pi(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return`%`+e.charCodeAt(0).toString(16).toUpperCase()})}var Fi=class{serdeContext;setSerdeContext(e){this.serdeContext=e}},Ii=`modulepreload`,Li=function(e){return`/`+e},Ri={},zi=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}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=Li(t,n),t=s(t),t in Ri)return;Ri[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Ii,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.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)})},Bi=class extends Fi{options;compositeErrorRegistry;constructor(t){super(),this.options=t,this.compositeErrorRegistry=e.for(t.defaultNamespace);for(let e of t.errorTypeRegistries??[])this.compositeErrorRegistry.copyFrom(e)}getRequestType(){return A}getResponseType(){return j}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 in t.headers)e.headers[n]=t.headers[n].join(`, `);return e}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 in t.headers)e.headers[n]=t.headers[n];return e}setHostPrefix(e,t,n){if(this.serdeContext?.disableHostPrefix)return;let r=M.of(t.input),i=qt(t.traits??{});if(i.endpoint){let t=i.endpoint?.[0];if(typeof t==`string`){for(let[e,i]of r.structIterator()){if(!i.getMergedTraits().hostLabel)continue;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)}if(e.hostname=t+e.hostname,!jt(e.hostname))throw Error(`[${e.hostname}] is not a valid 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,eventStreamSerdeProvider:t}=await zi(async()=>{let{EventStreamSerde:e,eventStreamSerdeProvider:t}=await import(`./index2.browser.js`);return{EventStreamSerde:e,eventStreamSerdeProvider:t}},__vite__mapDeps([0,1,2,3]));return new e({marshaller:this.resolveEventStreamMarshaller(t),serializer:this.serializer,deserializer:this.deserializer,serdeContext:this.serdeContext,defaultContentType:this.getDefaultContentType(),compositeErrorRegistry:this.compositeErrorRegistry})}resolveEventStreamMarshaller(e){let t=this.serdeContext;return t.eventStreamMarshaller?t.eventStreamMarshaller:e(this.serdeContext)}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}},Vi=class extends Bi{async serializeRequest(e,t,n){let r=this.serializer,i={},a={},o=await n.endpoint(),s=M.of(e?.input),c=s.getSchema(),l,u=t&&typeof t==`object`?t:{},d=new A({protocol:``,hostname:``,port:void 0,path:`/`,fragment:void 0,query:i,headers:a,body:void 0});if(o&&(this.updateServiceEndpoint(d,o),this.setHostPrefix(d,e,u)),u){let e=s.getEventStreamMember();if(e){if(u[e]){let t={};for(let[n,i]of s.structIterator())n!==e&&u[n]&&(r.write(i,u[n]),t[n]=r.flush());l=await this.serializeEventStream({eventStream:u[e],requestSchema:s,initialRequest:t})}}else r.write(c,u),l=r.flush()}return d.headers=Object.assign(d.headers,a),d.query=i,d.body=l,d.method=`POST`,d}async deserializeResponse(e,t,n){let r=this.deserializer,i=M.of(e.output),a={};if(n.statusCode>=300){let i=await Ni(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 Ni(n.body,t);e.byteLength>0&&Object.assign(a,await r.read(i,e))}return a.$metadata=this.deserializeMetadata(n),a}};function Hi(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 Ui=class extends Fi{settings;constructor(e){super(),this.settings=e}read(e,t){let n=M.of(e);if(n.isListSchema())return Cr(t).map(e=>this.read(n.getValueSchema(),e));if(n.isBlobSchema())return(this.serdeContext?.base64Decoder??xn)(t);if(n.isTimestampSchema())switch(Hi(n,this.settings)){case 5:return xr(t);case 6:return Sr(t);case 7:return br(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=lr.from(r)),r}return n.isNumericSchema()?Number(t):n.isBigIntegerSchema()?BigInt(t):n.isBigDecimalSchema()?new Tr(t,`bigDecimal`):n.isBooleanSchema()?String(t).toLowerCase()===`true`:t}base64ToUtf8(e){return(this.serdeContext?.utf8Encoder??r)((this.serdeContext?.base64Decoder??xn)(e))}},Wi=e=>({setHttpHandler(t){e.httpHandler=t},httpHandler(){return e.httpHandler},updateHttpClientConfig(t,n){e.httpHandler?.updateHttpClientConfig(t,n)},httpHandlerConfigs(){return e.httpHandler.httpHandlerConfigs()}}),Gi=e=>({httpHandler:e.httpHandler()}),Ki=`content-length`;function qi(e){return t=>async n=>{let r=n.request;if(A.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},Yi=e=>({applyToStack:t=>{t.add(qi(e.bodyLengthChecker),Ji)}}),Xi=e=>encodeURIComponent(e).replace(/[!'()*]/g,Zi),Zi=e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`;function Qi(e){let t=[];for(let n of Object.keys(e).sort()){let r=e[n];if(n=Xi(n),Array.isArray(r))for(let e=0,i=r.length;ee?.$retryable!==void 0,aa=e=>e.$metadata?.clockSkewCorrected,oa=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},sa=e=>e.$metadata?.httpStatusCode===429||$i.includes(e.name)||e.$retryable?.throttling==1,ca=(e,t=0)=>ia(e)||aa(e)||e.name===`InvalidSignatureException`&&e.message?.includes(`Signature expired`)||ea.includes(e.name)||na.includes(e?.code||``)||ra.includes(e?.code||``)||ta.includes(e.$metadata?.httpStatusCode||0)||oa(e)||ua(e)||e.cause!==void 0&&t<=10&&ca(e.cause,t+1),la=e=>{if(e.$metadata?.httpStatusCode!==void 0){let t=e.$metadata.httpStatusCode;return 500<=t&&t<=599&&!ca(e)}return!1};function ua(e){return e.code===`ERR_HTTP2_STREAM_ERROR`&&e.message.includes(`NGHTTP2_REFUSED_STREAM`)}var da=2e4,fa=`amz-sdk-invocation-id`,pa=`amz-sdk-request`;function ma(e,t){if(j.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=(Yn(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)}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 ha=e=>e instanceof Error?e:e instanceof Object?Object.assign(Error(),e):Error(typeof e==`string`?e:`AWS SDK error wrapper for ${e}`);function ga(e){return t=>(n,r)=>async i=>{let a=await t.retryStrategy(),o=await t.maxAttempts();if(va(a)){a=a;let s=await a.acquireInitialRetryToken((r.partition_id??``)+(r.__retryLongPoll?`:longpoll`:``)),c=Error(),l=0,u=0,{request:d}=i,f=A.isInstance(d);for(f&&(d.headers[fa]=ji());;)try{f&&(d.headers[pa]=`attempt=${l+1}; max=${o}`);let{response:e,output:t}=await n(i);return a.recordSuccess(s),t.$metadata.attempts=l+1,t.$metadata.totalRetryDelay=u,{response:e,output:t}}catch(n){let i=ya(n,t.logger);if(c=ha(n),f&&e(d))throw(r.logger instanceof gn?console:r.logger)?.warn(`An error was encountered in a non-retryable streaming request.`),c;try{s=await a.refreshRetryTokenForRetry(s,i)}catch{throw c.$metadata||(c.$metadata={}),c.$metadata.attempts=l+1,c.$metadata.totalRetryDelay=u,c}l=s.getRetryCount();let o=s.getRetryDelay();u+=(s?.$retryLog?.acquisitionDelay??0)+o,o>0&&await _a(o)}}else return a=a,a?.mode&&(r.userAgent=[...r.userAgent||[],[`cfg/retry-mode`,a.mode]]),a.retry(n,i)}}var _a=e=>new Promise(t=>setTimeout(t,e)),va=e=>e.acquireInitialRetryToken!==void 0&&e.refreshRetryTokenForRetry!==void 0&&e.recordSuccess!==void 0,ya=(e,t)=>{let n={error:e,errorType:ba(e)},r=ma(e.$response,t);return r&&(n.retryAfterHint=r),n},ba=e=>sa(e)?`THROTTLING`:ca(e)?`TRANSIENT`:la(e)?`SERVER_ERROR`:`CLIENT_ERROR`,xa={name:`retryMiddleware`,tags:[`RETRY`],step:`finalizeRequest`,priority:`high`,override:!0};function Sa(e){let t=ga(e);return e=>({applyToStack:n=>{n.add(t(e),xa)}})}var Ca=class e{static setTimeoutFn=(e,t)=>setTimeout(e,t);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`||sa(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){for(this.refillTokenBucket();t>this.availableTokens;){let n=(t-this.availableTokens)/this.fillRate*1e3;await new Promise(t=>e.setTimeoutFn(t,n)),this.refillTokenBucket()}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))}},L=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`}},wa=class{x=L.delay();computeNextBackoffDelay(e){let t=Math.random()*Math.min(this.x*2**e,da);return Math.floor(t)}setDelayBase(e){this.x=e}},Ta=class{delay;count;cost;longPoll;$retryLog={acquisitionDelay:0};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(da,this.delay)}getRetryCost(){return this.cost}isLongPoll(){return this.longPoll}},Ea;(function(e){e.STANDARD=`standard`,e.ADAPTIVE=`adaptive`})(Ea||={});var Da=Ea.STANDARD,Oa={incompatible:1,attempts:2,capacity:3},ka=class{mode=Ea.STANDARD;retryBackoffStrategy;capacity=500;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??=L.delay(),this.retryBackoffStrategy??=new wa}async acquireInitialRetryToken(e){return new Ta(L.delay(),0,void 0,L.v2026&&e.includes(`:longpoll`))}async refreshRetryTokenForRetry(e,t){let n=await this.getMaxAttempts(),r=this.retryCode(e,t,n),i=r===0,a=e.isLongPoll?.();if(i||a){let n=t.errorType;this.retryBackoffStrategy.setDelayBase(n===`THROTTLING`?L.throttlingDelay():this.baseDelay);let o=this.retryBackoffStrategy.computeNextBackoffDelay(e.getRetryCount()),s=o;if(t.retryAfterHint instanceof Date&&(s=Math.max(o,Math.min(t.retryAfterHint.getTime()-Date.now(),o+5e3))),i){let t=this.getCapacityCost(n);this.capacity-=t;let r=new Ta(0,e.getRetryCount()+1,t,e.isLongPoll?.()??!1);return await new Promise(e=>setTimeout(e,s)),r.$retryLog.acquisitionDelay=s,r}{let e=L.v2026&&r===Oa.capacity&&a?s:0;e>0&&await new Promise(t=>setTimeout(t,e))}}throw Error(`No retry token available`)}recordSuccess(e){this.capacity=Math.min(500,this.capacity+(e.getRetryCost()??1))}getCapacity(){return this.capacity}async maxAttempts(){return this.maxAttemptsProvider()}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch{return console.warn(`Max attempts provider could not resolve. Using default of 3`),3}}retryCode(e,t,n){let r=e.getRetryCount()+1,i=this.isRetryableError(t.errorType)?0:Oa.incompatible,a=r=this.getCapacityCost(t.errorType)?0:Oa.capacity;return i||a||o}getCapacityCost(e){return e===L.modifiedCostType()?L.throttlingCost():L.cost()}isRetryableError(e){return e===`THROTTLING`||e===`TRANSIENT`}},Aa=class{mode=Ea.ADAPTIVE;rateLimiter;standardRetryStrategy;constructor(e,t){let{rateLimiter:n}=t??{};this.rateLimiter=n??new Ca,this.standardRetryStrategy=t?new ka({maxAttempts:typeof e==`number`?e:3,...t}):new ka(e)}async acquireInitialRetryToken(e){let t=await this.standardRetryStrategy.acquireInitialRetryToken(e);return await this.rateLimiter.getSendToken(),t}async refreshRetryTokenForRetry(e,t){this.rateLimiter.updateClientSendingRate(t);let n=await this.standardRetryStrategy.refreshRetryTokenForRetry(e,t);return await this.rateLimiter.getSendToken(),n}recordSuccess(e){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(e)}async maxAttemptsProvider(){return this.standardRetryStrategy.maxAttempts()}},ja=(e,t)=>{let{retryStrategy:n,retryMode:r}=e,{defaultMaxAttempts:i=3,defaultBaseDelay:a=L.delay()}=t??{},o=Mt(e.maxAttempts??i),s=n?Promise.resolve(n):void 0,c=async()=>{let e=await o();return await Mt(r)()===Ea.ADAPTIVE?new Aa(o,{maxAttempts:e,baseDelay:a}):new ka({maxAttempts:e,baseDelay:a})};return Object.assign(e,{maxAttempts:o,retryStrategy:()=>s??=c()})},Ma=Sa(vt);L.v2026||=typeof process==`object`&&{}.AWS_NEW_RETRIES_2026===`true`;function R(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}function Na(e){return e}var Pa=e=>t=>async n=>{if(!A.isInstance(n.request))return t(n);let{request:r}=n,{handlerProtocol:i=``}=e.requestHandler.metadata||{};if(i.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)},Fa={name:`hostHeaderMiddleware`,step:`build`,priority:`low`,tags:[`HOST`],override:!0},Ia=e=>({applyToStack:t=>{t.add(Pa(e),Fa)}}),La=()=>(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:f,...p}=r.output;return o?.info?.({clientName:i,commandName:a,input:u(n.input),output:d(p),metadata:f}),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}},Ra={name:`loggerMiddleware`,tags:[`LOGGER`],step:`initialize`,override:!0},za=e=>({applyToStack:e=>{e.add(La(),Ra)}}),Ba=e=>({applyToStack:e=>{}}),Va=(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 Ha(e){let t=new Map;for(let n of e)t.set(n.schemeId,n);return t}var Ua=(e,t)=>(n,r)=>async i=>{let a=Va(e.httpAuthSchemeProvider(await t.httpAuthSchemeParametersProvider(e,r,i.input)),e.authSchemePreference?await e.authSchemePreference():[]),o=Ha(e.httpAuthSchemes),s=Dt(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)},Wa={step:`serialize`,tags:[`HTTP_AUTH_SCHEME`],name:`httpAuthSchemeMiddleware`,override:!0,relation:`before`,toMiddleware:`endpointV2Middleware`},Ga=(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:n})=>({applyToStack:r=>{r.addRelativeTo(Ua(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:n}),Wa)}}),Ka=e=>e=>{throw e},qa=(e,t)=>{},Ja=e=>(e,t)=>async n=>{if(!A.isInstance(n.request))return e(n);let r=Dt(t).selectedHttpAuthScheme;if(!r)throw Error(`No HttpAuthScheme was selected: unable to sign request`);let{httpAuthOption:{signingProperties:i={}},identity:a,signer:o}=r,s=await e({...n,request:await o.sign(n.request,a,i)}).catch((o.errorHandler||Ka)(i));return(o.successHandler||qa)(s.response,i),s},Ya={step:`finalizeRequest`,tags:[`HTTP_SIGNING`],name:`httpSigningMiddleware`,aliases:[`apiKeyMiddleware`,`tokenMiddleware`,`awsAuthMiddleware`],override:!0,relation:`after`,toMiddleware:`retryMiddleware`},Xa=e=>({applyToStack:t=>{t.addRelativeTo(Ja(e),Ya)}}),Za=e=>{if(typeof e==`function`)return e;let t=Promise.resolve(e);return()=>t},Qa=class{authSchemes=new Map;constructor(e){for(let t in e){let n=e[t];n!==void 0&&this.authSchemes.set(t,n)}}getIdentityProvider(e){return this.authSchemes.get(e)}},$a=(e=>function(t){return eo(t)&&t.expiration.getTime()-Date.now()e.expiration!==void 0,to=(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 no(e){return e===void 0||typeof e==`string`&&e.length<=50}function ro(e){let t=Za(e.userAgentAppId??void 0),{customUserAgent:n}=e;return Object.assign(e,{customUserAgent:typeof n==`string`?[[n]]:n,userAgentAppId:async()=>{let n=await t();if(!no(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 io={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`},ao=``,oo=e=>{let{partitions:t}=io;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}},so=()=>ao,co=/\d{12}\.ddb/;async function lo(e,t,n){if(n.request?.headers?.[`smithy-protocol`]===`rpc-v2-cbor`&&R(e,`PROTOCOL_RPC_V2_CBOR`,`M`),typeof t.retryStrategy==`function`){let n=await t.retryStrategy();if(typeof n.mode==`string`)switch(n.mode){case Ea.ADAPTIVE:R(e,`RETRY_MODE_ADAPTIVE`,`F`);break;case Ea.STANDARD:R(e,`RETRY_MODE_STANDARD`,`E`)}}if(typeof t.accountIdEndpointMode==`function`){let n=e.endpointV2;switch(String(n?.url?.hostname).match(co)&&R(e,`ACCOUNT_ID_ENDPOINT`,`O`),await t.accountIdEndpointMode?.()){case`disabled`:R(e,`ACCOUNT_ID_MODE_DISABLED`,`Q`);break;case`preferred`:R(e,`ACCOUNT_ID_MODE_PREFERRED`,`P`);break;case`required`:R(e,`ACCOUNT_ID_MODE_REQUIRED`,`R`)}}let r=e.__smithy_context?.selectedHttpAuthScheme?.identity;if(r?.$source){let t=r;t.accountId&&R(e,`RESOLVED_ACCOUNT_ID`,`T`);for(let[n,r]of Object.entries(t.$source??{}))R(e,n,r)}}var uo=`user-agent`,fo=`x-amz-user-agent`,po=/[^!$%&'*+\-.^_`|~\w]/g,mo=/[^!$%&'*+\-.^_`|~\w#]/g,ho=1024;function go(e){let t=``;for(let n in e){let r=e[n];if(t.length+r.length+1<=ho){t.length?t+=`,`+r:t+=r;continue}break}return t}var _o=e=>(t,n)=>async r=>{let{request:i}=r;if(!A.isInstance(i))return t(r);let{headers:a}=i,o=n?.userAgent?.map(vo)||[],s=(await e.defaultUserAgentProvider()).map(vo);await lo(n,e,r);let c=n;s.push(`m/${go(Object.assign({},n.__smithy_context?.features,c.__aws_sdk_context?.features))}`);let l=e?.customUserAgent?.map(vo)||[],u=await e.userAgentAppId();u&&s.push(vo([`app`,`${u}`]));let d=so(),f=(d?[d]:[]).concat([...s,...o,...l]).join(` `),p=[...s.filter(e=>e.startsWith(`aws-sdk-`)),...l].join(` `);return e.runtime===`browser`?a[fo]=f:(p&&(a[fo]=a[`x-amz-user-agent`]?`${a[uo]} ${p}`:p),a[uo]=f),t({...r,request:i})},vo=e=>{let t=e[0].split(`/`).map(e=>e.replace(po,`-`)).join(`/`),n=e[1]?.replace(mo,`-`),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}`}},``)},yo={name:`getUserAgentMiddleware`,step:`build`,priority:`low`,tags:[`SET_USER_AGENT`,`USER_AGENT`],override:!0},bo=e=>({applyToStack:t=>{t.add(_o(e),yo)}}),xo=({serviceId:e,clientVersion:t})=>async n=>{let r=typeof window<`u`?window.navigator:void 0,i=r?.userAgent??``,a=r?.userAgentData?.platform??So.os(i)??`other`,o=r?.userAgentData?.brands??[],s=o[o.length-1],c=s?.brand??So.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},So={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`}},Co=(e,t=!1)=>{if(t){for(let t of e.split(`.`))if(!Co(t))return!1;return!0}return!(!At(e)||e.length<3||e.length>63||e!==e.toLowerCase()||ii(e))},wo=`:`,To=`/`,Eo={isVirtualHostableS3Bucket:Co,parseArn:e=>{let t=e.split(wo);if(t.length<6)return null;let[n,r,i,a,o,...s]=t;return n!==`arn`||r===``||i===``||s.join(wo)===``?null:{partition:r,service:i,region:a,accountId:o,resourceId:s.map(e=>e.split(To)).flat()}},partition:oo};Yr.aws=Eo;var Do=(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))},Oo=new Set,ko=(e,t=At)=>{if(!Oo.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 Oo.add(e)},Ao=e=>typeof e==`string`&&(e.startsWith(`fips-`)||e.endsWith(`-fips`)),jo=e=>Ao(e)?[`fips-aws-global`,`aws-fips`].includes(e)?`us-east-1`:e.replace(/fips-(dkr-|prod-)?|-fips/,``):e,Mo=e=>{let{region:t,useFipsEndpoint:n}=e;if(!t)throw Error(`Region is missing`);return Object.assign(e,{region:async()=>{let e=jo(typeof t==`function`?await t():t);return ko(e),e},useFipsEndpoint:async()=>Ao(typeof t==`string`?t:await t())?!0:typeof n==`function`?n():Promise.resolve(!!n)})},No=[`in-region`,`cross-region`,`mobile`,`standard`,`legacy`],Po=({defaultsMode:e}={})=>Do(async()=>{let t=typeof e==`function`?await e():e;switch(t?.toLowerCase()){case`auto`:return Promise.resolve(Fo()?`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 ${No.join(`, `)}, got ${t}`)}}),Fo=()=>{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},Io=e=>({setRegion(t){e.region=t},region(){return e.region}}),Lo=e=>({region:e.region()}),Ro=e=>j.isInstance(e)?e.headers?.date??e.headers?.Date:void 0,zo=e=>j.isInstance(e)?e.headers?.age??e.headers?.Age:void 0,Bo=e=>new Date(Date.now()+e),Vo=(e,t,n,r)=>{if(r!==void 0)return t;let i=Date.parse(e),a=Date.now();return n!==void 0&&a-n>9e5?t:n===void 0?i-a:i-(n+a)/2},Ho=(e,t)=>{if(!t)throw Error(`Property \`${e}\` is not resolved for AWS SDK SigV4Auth`);return t},Uo=async e=>{let t=Ho(`context`,e.context),n=Ho(`config`,e.config),r=t.endpointV2?.properties?.authSchemes?.[0];return{config:n,signer:await Ho(`signer`,n.signer)(r),signingRegion:e?.signingRegion,signingRegionSet:e?.signingRegionSet,signingName:e?.signingName}},Wo=class{async sign(e,t,n){if(!A.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let r=await Uo(n),{config:i,signer:a}=r,{signingRegion:o,signingName:s}=r,c=n.context;if(c?.authSchemes?.length??!1){let[e,t]=c.authSchemes;e?.name===`sigv4a`&&t?.name===`sigv4`&&(o=t?.signingRegion??o,s=t?.signingName??s)}let l=await i.disableClockSkewCorrection?.()===!0;return n._disableClockSkewCorrection=l,l||(n._preRequestSystemClockOffset=i.systemClockOffset,n._requestSentAt=Date.now()),await a.sign(e,{signingDate:l?new Date:Bo(i.systemClockOffset),signingRegion:o,signingService:s})}errorHandler(e){return t=>{let n=t;if(!e._disableClockSkewCorrection){let t=n.ServerTime??Ro(n.$response);if(t){let r=Ho(`config`,e.config),i=e._preRequestSystemClockOffset,a=e._requestSentAt,o=zo(n.$response),s=Vo(t,r.systemClockOffset,a,o);r.systemClockOffset=s,Math.abs(s)>=24e4&&(s!==i||i!==void 0&&i!==s)&&n.$metadata&&(n.$metadata.clockSkewCorrected=!0)}}throw t}}successHandler(e,t){if(t._disableClockSkewCorrection)return;let n=Ro(e);if(n){let r=Ho(`config`,t.config),i=t._requestSentAt,a=zo(e);r.systemClockOffset=Vo(n,r.systemClockOffset,i,a)}}},Go=class extends Wo{async sign(e,t,n){if(!A.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let{config:r,signer:i,signingRegion:a,signingRegionSet:o,signingName:s}=await Uo(n),c=(await r.sigv4aSigningRegionSet?.()??o??[a]).join(`,`),l=await r.disableClockSkewCorrection?.()===!0;return n._disableClockSkewCorrection=l,l||(n._preRequestSystemClockOffset=r.systemClockOffset,n._requestSentAt=Date.now()),await i.sign(e,{signingDate:l?new Date:Bo(r.systemClockOffset),signingRegion:c,signingService:s})}},Ko=e=>(e.sigv4aSigningRegionSet=Za(e.sigv4aSigningRegionSet),e),qo=class{format(e){let n=[];for(let r of Object.keys(e)){let i=t(r);n.push(Uint8Array.from([i.byteLength]),i,this.formatHeaderValue(e[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(e){switch(e.type){case`boolean`:return Uint8Array.from([e.value?z.boolTrue:z.boolFalse]);case`byte`:return Uint8Array.from([z.byte,e.value]);case`short`:let n=new DataView(new ArrayBuffer(3));return n.setUint8(0,z.short),n.setInt16(1,e.value,!1),new Uint8Array(n.buffer);case`integer`:let r=new DataView(new ArrayBuffer(5));return r.setUint8(0,z.integer),r.setInt32(1,e.value,!1),new Uint8Array(r.buffer);case`long`:let a=new Uint8Array(9);return a[0]=z.long,a.set(e.value.bytes,1),a;case`binary`:let o=new DataView(new ArrayBuffer(3+e.value.byteLength));o.setUint8(0,z.byteArray),o.setUint16(1,e.value.byteLength,!1);let s=new Uint8Array(o.buffer);return s.set(e.value,3),s;case`string`:let c=t(e.value),l=new DataView(new ArrayBuffer(3+c.byteLength));l.setUint8(0,z.string),l.setUint16(1,c.byteLength,!1);let u=new Uint8Array(l.buffer);return u.set(c,3),u;case`timestamp`:let d=new Uint8Array(9);return d[0]=z.timestamp,d.set(Yo.fromNumber(e.value.valueOf()).bytes,1),d;case`uuid`:if(!Jo.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let f=new Uint8Array(17);return f[0]=z.uuid,f.set(i(e.value.replace(/-/g,``)),1),f}}},z;(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`})(z||={});var Jo=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/,Yo=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&&Xo(n),new e(n)}valueOf(){let e=this.bytes.slice(0),t=e[0]&128;return t&&Xo(e),parseInt(n(e),16)*(t?-1:1)}toString(){return String(this.valueOf())}};function Xo(e){for(let t=0;t<8;t++)e[t]^=255;for(let t=7;t>-1&&(e[t]++,e[t]===0);t--);}var Zo=`X-Amz-Algorithm`,Qo=`X-Amz-Credential`,$o=`X-Amz-Date`,es=`X-Amz-SignedHeaders`,ts=`X-Amz-Expires`,ns=`X-Amz-Signature`,rs=`X-Amz-Security-Token`,is=`authorization`,as=$o.toLowerCase(),os=[is,as,`date`];ns.toLowerCase();var ss=`x-amz-content-sha256`,cs=rs.toLowerCase(),ls={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},us=/^proxy-/,ds=/^sec-/,fs=`AWS4-HMAC-SHA256`,ps=`AWS4-HMAC-SHA256-PAYLOAD`,ms=`UNSIGNED-PAYLOAD`,hs=`aws4_request`,gs=({query:e={}})=>{let t=[],n={};for(let r of Object.keys(e)){if(r.toLowerCase()===`x-amz-signature`)continue;let i=Xi(r);t.push(i);let a=e[r];typeof a==`string`?n[i]=`${i}=${Xi(a)}`:Array.isArray(a)&&(n[i]=a.slice(0).reduce((e,t)=>e.concat([`${i}=${Xi(t)}`]),[]).sort().join(`&`))}return t.sort().map(e=>n[e]).filter(e=>e).join(`&`)},_s=e=>vs(e).toISOString().replace(/\.\d{3}Z$/,`Z`),vs=e=>typeof e==`number`?new Date(e*1e3):typeof e==`string`?Number(e)?new Date(Number(e)*1e3):new Date(e):e,ys=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,this.regionProvider=Mt(n),this.credentialProvider=Mt(t)}createCanonicalRequest(e,t,n){let r=Object.keys(t).sort();return`${e.method} +`),Vn={warn:console.warn},Hn=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],Un=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function Wn(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`${Hn[r]}, ${c} ${Un[n]} ${t} ${l}:${u}:${d} GMT`}var Gn=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}:\d{2})|[zZ])$/),Kn=e=>{if(e==null)return;if(typeof e!=`string`)throw TypeError(`RFC-3339 date-times must be expressed as strings`);let t=Gn.exec(e);if(!t)throw TypeError(`Invalid RFC-3339 date-time value`);let[n,r,i,a,o,s,c,l,u]=t,d=Qn(Rn(lr(r)),or(i,`month`,1,12),or(a,`day`,1,31),{hours:o,minutes:s,seconds:c,fractionalMilliseconds:l});return u.toUpperCase()!=`Z`&&d.setTime(d.getTime()-cr(u)),d},qn=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$/),Jn=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$/),Yn=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})$/),Xn=e=>{if(e==null)return;if(typeof e!=`string`)throw TypeError(`RFC-7231 date-times must be expressed as strings`);let t=qn.exec(e);if(t){let[e,n,r,i,a,o,s,c]=t;return Qn(Rn(lr(i)),nr(r),or(n,`day`,1,31),{hours:a,minutes:o,seconds:s,fractionalMilliseconds:c})}if(t=Jn.exec(e),t){let[e,n,r,i,a,o,s,c]=t;return tr(Qn($n(i),nr(r),or(n,`day`,1,31),{hours:a,minutes:o,seconds:s,fractionalMilliseconds:c}))}if(t=Yn.exec(e),t){let[e,n,r,i,a,o,s,c]=t;return Qn(Rn(lr(c)),nr(n),or(r.trimLeft(),`day`,1,31),{hours:i,minutes:a,seconds:o,fractionalMilliseconds:s})}throw TypeError(`Invalid RFC-7231 date-time value`)},Zn=e=>{if(e==null)return;let t;if(typeof e==`number`)t=e;else if(typeof e==`string`)t=Pn(e);else if(typeof e==`object`&&e.tag===1)t=e.value;else throw TypeError(`Epoch timestamps must be expressed as floating point numbers or their string representation`);if(Number.isNaN(t)||t===1/0||t===-1/0)throw TypeError(`Epoch timestamps must be valid, non-Infinite, non-NaN numerics`);return new Date(Math.round(t*1e3))},Qn=(e,t,n,r)=>{let i=t-1;return ir(e,i,n),new Date(Date.UTC(e,i,n,or(r.hours,`hour`,0,23),or(r.minutes,`minute`,0,59),or(r.seconds,`seconds`,0,60),sr(r.fractionalMilliseconds)))},$n=e=>{let t=new Date().getUTCFullYear(),n=Math.floor(t/100)*100+Rn(lr(e));return ne.getTime()-new Date().getTime()>er?new Date(Date.UTC(e.getUTCFullYear()-100,e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())):e,nr=e=>{let t=Un.indexOf(e);if(t<0)throw TypeError(`Invalid month: ${e}`);return t+1},rr=[31,28,31,30,31,30,31,31,30,31,30,31],ir=(e,t,n)=>{let r=rr[t];if(t===1&&ar(e)&&(r=29),n>r)throw TypeError(`Invalid day for ${Un[t]} in ${e}: ${n}`)},ar=e=>e%4==0&&(e%100!=0||e%400==0),or=(e,t,n,r)=>{let i=zn(lr(e));if(ir)throw TypeError(`${t} must be between ${n} and ${r}, inclusive`);return i},sr=e=>e==null?0:Fn(`0.`+e)*1e3,cr=e=>{let t=e[0],n=1;if(t==`+`)n=1;else if(t==`-`)n=-1;else throw TypeError(`Offset direction, ${t}, must be "+" or "-"`);let r=Number(e.substring(1,3)),i=Number(e.substring(4,6));return n*(r*60+i)*60*1e3},lr=e=>{let t=0;for(;te&&typeof e==`object`&&(e instanceof ur||`deserializeJSON`in e)?e:typeof e==`string`||Object.getPrototypeOf(e)===String.prototype?ur(String(e)):ur(JSON.stringify(e)),ur.fromObject=ur.from;var dr=`(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?`,fr=`(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)`,pr=`(\\d?\\d):(\\d{2}):(\\d{2})(?:\\.(\\d+))?`,mr=`(\\d?\\d)`,hr=`(\\d{4})`,gr=new RegExp(/^(\d{4})-(\d\d)-(\d\d)[tT](\d\d):(\d\d):(\d\d)(\.(\d+))?(([-+]\d\d:\d\d)|[zZ])$/),_r=RegExp(`^${dr}, ${mr} ${fr} ${hr} ${pr} GMT$`),vr=RegExp(`^${dr}, ${mr}-${fr}-(\\d\\d) ${pr} GMT$`),yr=RegExp(`^${dr} ${fr} ( [1-9]|\\d\\d) ${pr} ${hr}$`),br=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],xr=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))},Sr=e=>{if(e==null)return;if(typeof e!=`string`)throw TypeError(`RFC3339 timestamps must be strings`);let t=gr.exec(e);if(!t)throw TypeError(`Invalid RFC3339 timestamp format ${e}`);let[,n,r,i,a,o,s,,c,l]=t;P(r,1,12),P(i,1,31),P(a,0,23),P(o,0,59),P(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},Cr=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=_r.exec(e))?[,t,n,r,i,a,o,s]=c:(c=vr.exec(e))?([,t,n,r,i,a,o,s]=c,r=(Number(r)+1900).toString()):(c=yr.exec(e))&&([,n,t,i,a,o,s,r]=c),r&&o){let e=Date.UTC(Number(r),br.indexOf(n),Number(t),Number(i),Number(a),Number(o),s?Math.round(parseFloat(`0.${s}`)*1e3):0);P(t,1,31),P(i,0,23),P(a,0,59),P(o,0,60);let c=new Date(e);return c.setUTCFullYear(Number(r)),c}throw TypeError(`Invalid RFC7231 date-time value ${e}.`)};function P(e,t,n){let r=Number(e);if(rn)throw Error(`Value ${r} out of range [${t}, ${n}]`)}var wr=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,`"`))})},Tr=/^-?((0|[1-9]\d*)(\.\d+)?|\.\d+)([eE][+-]?\d+)?$/,Er=class e{string;type;constructor(e,t){if(this.string=e,this.type=t,!Tr.test(e))throw Error(`@smithy/core/serde - NumericValue string must conform to the Smithy bigDecimal format. Received: "${e}"`)}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`&&Tr.test(n.string)}},Dr=typeof TextEncoder==`function`?new TextEncoder:null,Or=e=>{if(typeof e==`string`){if(Dr)return Dr.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}if(typeof e.byteLength==`number`)return e.byteLength;if(typeof e.size==`number`)return e.size;throw Error(`Body Length computation failed for ${e}`)},F=e=>e instanceof Uint8Array?e:typeof e==`string`?t(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e);function kr(e,t){if(t===void 0){t=0;for(let n of e)t+=n.byteLength}let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.byteLength;return n}var Ar=e=>typeof ArrayBuffer==`function`&&e instanceof ArrayBuffer||Object.prototype.toString.call(e)===`[object ArrayBuffer]`,jr=async e=>void 0,Mr=async e=>{let t=e?.Bucket||``;if(typeof e.Bucket==`string`&&(e.Bucket=t.replace(/#/g,`%23`).replace(/\?/g,`%3F`)),Lr(t)){if(e.ForcePathStyle===!0)throw Error(`Path-style addressing cannot be used with ARN buckets`)}else(!Ir(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},Nr=/^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$/,Pr=/(\d+\.){3}\d+/,Fr=/\.\./,Ir=e=>Nr.test(e)&&!Pr.test(e)&&!Fr.test(e),Lr=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},Rr=(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};function zr(e){return async(t,n,r,i)=>{if(!r.isCustomEndpoint&&!r.ignoreConfiguredEndpointUrls){let t;t=r.serviceConfiguredEndpoint?await r.serviceConfiguredEndpoint():await e(r.serviceId),t&&(r.endpoint=()=>Promise.resolve(It(t)),r.isCustomEndpoint=!0,i?.logger?.debug?.(`@smithy/core/endpoints - resolved endpoint from config: ${t}`))}let a=await Br(t,n,r);if(typeof r.endpointProvider!=`function`)throw Error(`config.endpointProvider is not set.`);let o=r.endpointProvider(a,i);if(r.isCustomEndpoint&&r.endpoint){let e=await r.endpoint();if(e?.headers){o.headers??={};for(let[t,n]of Object.entries(e.headers))o.headers[t]=Array.isArray(n)?n:[n]}}return o}}var Br=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 Rr(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 Mr(r),r};function Vr(e,t,n){e.__smithy_context?e.__smithy_context.features||(e.__smithy_context.features={}):e.__smithy_context={features:{}},e.__smithy_context.features[t]=n}function Hr(e){let t=zr(e);return({config:e,instructions:n})=>(r,i)=>async a=>{e.isCustomEndpoint&&Vr(i,`ENDPOINT_OVERRIDE`,`N`);let o=await t(a.input,{getEndpointParameterInstructions(){return n}},{...e},i);i.endpointV2=o,i.authSchemes=o.properties?.authSchemes;let s=i.authSchemes?.[0];if(s){i.signing_region=s.signingRegion,i.signing_service=s.signingName;let e=Ot(i)?.selectedHttpAuthScheme?.httpAuthOption;e&&(e.signingProperties=Object.assign(e.signingProperties||{},{signing_region:s.signingRegion,signingRegion:s.signingRegion,signing_service:s.signingName,signingName:s.signingName,signingRegionSet:s.signingRegionSet},s.properties))}return r({...a})}}var Ur={step:`serialize`,tags:[`ENDPOINT_PARAMETERS`,`ENDPOINT_V2`,`ENDPOINT`],name:`endpointV2Middleware`,override:!0,relation:`before`,toMiddleware:{name:`serializerMiddleware`,step:`serialize`,tags:[`SERIALIZER`],override:!0}.name};function Wr(e){let t=Hr(e);return(e,n)=>({applyToStack:r=>{r.addRelativeTo(t({config:e,instructions:n}),Ur)}})}function Gr(e){return t=>{let n=t.tls??!0,{endpoint:r,useDualstackEndpoint:i,useFipsEndpoint:a}=t,o=Object.assign(t,{endpoint:r==null?void 0:async()=>It(await Nt(r)()),tls:n,isCustomEndpoint:!!r,useDualstackEndpoint:Nt(i??!1),useFipsEndpoint:Nt(a??!1),ignoreConfiguredEndpointUrls:!!t.ignoreConfiguredEndpointUrls}),s;return o.serviceConfiguredEndpoint=async()=>(t.serviceId&&!s&&(s=e(t.serviceId)),s),o}}var Kr=class e{nodes;root;conditions;results;constructor(e,t,n,r){this.nodes=e,this.root=t,this.conditions=n,this.results=r}static from(t,n,r,i){return new e(t,n,r,i)}},qr=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}},I=class extends Error{constructor(e){super(e),this.name=`EndpointError`}},Jr=`endpoints`;function Yr(e){return typeof e!=`object`||!e?e:`ref`in e?`$${Yr(e.ref)}`:`fn`in e?`${e.fn}(${(e.argv||[]).map(Yr).join(`, `)})`:JSON.stringify(e,null,2)}var Xr={},Zr=(e,t)=>e===t;function Qr(...e){for(let t of e)if(t!=null)return t}var $r=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 I(`Path: '${e}' does not end with ']'`);let i=r.slice(t+1,-1);if(Number.isNaN(parseInt(i)))throw new I(`Invalid array index: '${i}' in path: '${e}'`);t!==0&&n.push(r.slice(0,t)),n.push(i)}else n.push(r)}return n},ei=(e,t)=>$r(t).reduce((n,r)=>{if(typeof n!=`object`)throw new I(`Index '${r}' in '${t}' not found in '${JSON.stringify(e)}'`);if(Array.isArray(n)){let e=parseInt(r);return n[e<0?n.length+e:e]}return n[r]},e),ti=e=>e!=null;function ni(e,t,n){return e?t:n}var ri=e=>!e,ii=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}$`),ai=e=>ii.test(e)||e.startsWith(`[`)&&e.endsWith(`]`),oi={[Tt.HTTP]:80,[Tt.HTTPS]:443},si=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(Tt).includes(c))return null;let l=ai(i);return{scheme:c,authority:`${r}${n.includes(`${r}:${oi[c]}`)||typeof e==`string`&&e.includes(`${r}:${oi[c]}`)?`:${oi[c]}`:``}`,path:a,normalizedPath:a.endsWith(`/`)?a:`${a}/`,isIp:l}};function ci(e,t,n){if(n===1)return[e];if(e===``)return[``];let r=e.split(t);return n===0?r:r.slice(0,n-1).concat(r.slice(1).join(t))}var li={booleanEquals:Zr,coalesce:Qr,getAttr:ei,isSet:ti,isValidHostLabel:jt,ite:ni,not:ri,parseURL:si,split:ci,stringEquals:(e,t)=>e===t,substring:(e,t,n,r)=>e==null||t>=n||e.lengthencodeURIComponent(e).replace(/[!*'()]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)},ui=(e,t)=>{let n=[],{referenceRecord:r,endpointParams:i}=t,a=0;for(;at.referenceRecord[e]??t.endpointParams[e],fi=(e,t,n)=>{if(typeof e==`string`)return ui(e,n);if(e.fn)return mi.callFunction(e,n);if(e.ref)return di(e,n);throw new I(`'${t}': ${String(e)} is not a string, function or reference.`)},pi=({fn:e,argv:t},n)=>{let r=Array(t.length);for(let e=0;e{let{assign:n}=e;if(n&&n in t.referenceRecord)throw new I(`'${n}' is already defined in Reference Record.`);let r=pi(e,t);t.logger?.debug?.(`${Jr} evaluateCondition: ${Yr(e)} = ${Yr(r)}`);let i=r===``||!!r;return n==null?{result:i}:{result:i,toAssign:{name:n,value:r}}},gi=(e,t)=>Object.entries(e??{}).reduce((e,[n,r])=>(e[n]=r.map(e=>{let r=fi(e,`Header value entry`,t);if(typeof r!=`string`)throw new I(`Header '${n}' value '${r}' is not a string`);return r}),e),{}),_i=(e,t)=>Object.entries(e).reduce((e,[n,r])=>(e[n]=yi.getEndpointProperty(r,t),e),{}),vi=(e,t)=>{if(Array.isArray(e))return e.map(e=>vi(e,t));switch(typeof e){case`string`:return ui(e,t);case`object`:if(e===null)throw new I(`Unexpected endpoint property: ${e}`);return yi.getEndpointProperties(e,t);case`boolean`:return e;default:throw new I(`Unexpected endpoint property type: ${typeof e}`)}},yi={getEndpointProperty:vi,getEndpointProperties:_i},bi=(e,t)=>{let n=fi(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 I(`Endpoint URL must be a string, got ${typeof n}`)},xi=1e8,Si=(e,t)=>{let{nodes:n,root:r,results:i,conditions:a}=e,o=r,s={},c={referenceRecord:s,endpointParams:t.endpointParams,logger:t.logger};for(;o!==1&&o!==-1&&o=0===f.result?r:i}if(o>=xi){let e=i[o-xi];if(e[0]===-1){let[,t]=e;throw new I(fi(t,`Error`,c))}let[t,n,r]=e;return{url:bi(t,c),properties:_i(n,c),headers:gi(r??{},c)}}throw new I(`No matching endpoint.`)},Ci=zr(jr),wi=Gr(jr);Hr(jr);var Ti=Wr(jr),Ei=e=>typeof ReadableStream==`function`&&(e?.constructor?.name===ReadableStream.name||e instanceof ReadableStream),Di=e=>typeof Blob==`function`&&(e?.constructor?.name===Blob.name||e instanceof Blob),Oi=async e=>Di(e)?ki(e):Ai(e);async function ki(e){return e.arrayBuffer().then(e=>new Uint8Array(e))}async function Ai(e){let t=[],n=e.getReader(),r=0;for(;;){let{done:e,value:i}=await n.read();if(i&&(t.push(i),r+=i.length),e)break}return kr(t,r)}var ji=class extends wn(r,t,Cn,Sn){},Mi=Tn(e=>crypto.getRandomValues(e)),Ni=Mi,Pi=async(e=new Uint8Array,t)=>{if(e instanceof Uint8Array)return ji.mutate(e);if(!e)return ji.mutate(new Uint8Array);let n=t.streamCollector(e);return ji.mutate(await n)};function Fi(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return`%`+e.charCodeAt(0).toString(16).toUpperCase()})}var Ii=class{serdeContext;setSerdeContext(e){this.serdeContext=e}},Li=`modulepreload`,Ri=function(e){return`/`+e},zi={},Bi=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}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=Ri(t,n),t=s(t),t in zi)return;zi[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Li,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.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)})},Vi=class extends Ii{options;compositeErrorRegistry;constructor(t){super(),this.options=t,this.compositeErrorRegistry=e.for(t.defaultNamespace);for(let e of t.errorTypeRegistries??[])this.compositeErrorRegistry.copyFrom(e)}getRequestType(){return A}getResponseType(){return j}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 in t.headers)e.headers[n]=t.headers[n].join(`, `);return e}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 in t.headers)e.headers[n]=t.headers[n];return e}setHostPrefix(e,t,n){if(this.serdeContext?.disableHostPrefix)return;let r=M.of(t.input),i=Jt(t.traits??{});if(i.endpoint){let t=i.endpoint?.[0];if(typeof t==`string`){for(let[e,i]of r.structIterator()){if(!i.getMergedTraits().hostLabel)continue;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)}if(e.hostname=t+e.hostname,!Mt(e.hostname))throw Error(`[${e.hostname}] is not a valid 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,eventStreamSerdeProvider:t}=await Bi(async()=>{let{EventStreamSerde:e,eventStreamSerdeProvider:t}=await import(`./index2.browser.js`);return{EventStreamSerde:e,eventStreamSerdeProvider:t}},__vite__mapDeps([0,1,2,3]));return new e({marshaller:this.resolveEventStreamMarshaller(t),serializer:this.serializer,deserializer:this.deserializer,serdeContext:this.serdeContext,defaultContentType:this.getDefaultContentType(),compositeErrorRegistry:this.compositeErrorRegistry})}resolveEventStreamMarshaller(e){let t=this.serdeContext;return t.eventStreamMarshaller?t.eventStreamMarshaller:e(this.serdeContext)}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}},Hi=class extends Vi{async serializeRequest(e,t,n){let r=this.serializer,i={},a={},o=await n.endpoint(),s=M.of(e?.input),c=s.getSchema(),l,u=t&&typeof t==`object`?t:{},d=new A({protocol:``,hostname:``,port:void 0,path:`/`,fragment:void 0,query:i,headers:a,body:void 0});if(o&&(this.updateServiceEndpoint(d,o),this.setHostPrefix(d,e,u)),u){let e=s.getEventStreamMember();if(e){if(u[e]){let t={};for(let[n,i]of s.structIterator())n!==e&&u[n]&&(r.write(i,u[n]),t[n]=r.flush());l=await this.serializeEventStream({eventStream:u[e],requestSchema:s,initialRequest:t})}}else r.write(c,u),l=r.flush()}return d.headers=Object.assign(d.headers,a),d.query=i,d.body=l,d.method=`POST`,d}async deserializeResponse(e,t,n){let r=this.deserializer,i=M.of(e.output),a={};if(n.statusCode>=300){let i=await Pi(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 Pi(n.body,t);e.byteLength>0&&Object.assign(a,await r.read(i,e))}return a.$metadata=this.deserializeMetadata(n),a}};function Ui(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 Wi=class extends Ii{settings;constructor(e){super(),this.settings=e}read(e,t){let n=M.of(e);if(n.isListSchema())return wr(t).map(e=>this.read(n.getValueSchema(),e));if(n.isBlobSchema())return(this.serdeContext?.base64Decoder??Sn)(t);if(n.isTimestampSchema())switch(Ui(n,this.settings)){case 5:return Sr(t);case 6:return Cr(t);case 7:return xr(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=ur.from(r)),r}return n.isNumericSchema()?Number(t):n.isBigIntegerSchema()?BigInt(t):n.isBigDecimalSchema()?new Er(t,`bigDecimal`):n.isBooleanSchema()?String(t).toLowerCase()===`true`:t}base64ToUtf8(e){return(this.serdeContext?.utf8Encoder??r)((this.serdeContext?.base64Decoder??Sn)(e))}},Gi=e=>({setHttpHandler(t){e.httpHandler=t},httpHandler(){return e.httpHandler},updateHttpClientConfig(t,n){e.httpHandler?.updateHttpClientConfig(t,n)},httpHandlerConfigs(){return e.httpHandler.httpHandlerConfigs()}}),Ki=e=>({httpHandler:e.httpHandler()}),qi=`content-length`;function Ji(e){return t=>async n=>{let r=n.request;if(A.isInstance(r)){let{body:t,headers:n}=r;if(t&&Object.keys(n).map(e=>e.toLowerCase()).indexOf(qi)===-1)try{let n=e(t);r.headers={...r.headers,[qi]:String(n)}}catch{}}return t({...n,request:r})}}var Yi={step:`build`,tags:[`SET_CONTENT_LENGTH`,`CONTENT_LENGTH`],name:`contentLengthMiddleware`,override:!0},Xi=e=>({applyToStack:t=>{t.add(Ji(e.bodyLengthChecker),Yi)}}),Zi=e=>encodeURIComponent(e).replace(/[!'()*]/g,Qi),Qi=e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`;function $i(e){let t=[];for(let n of Object.keys(e).sort()){let r=e[n];if(n=Zi(n),Array.isArray(r))for(let e=0,i=r.length;ee?.$retryable!==void 0,oa=e=>e.$metadata?.clockSkewCorrected,sa=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},ca=e=>e.$metadata?.httpStatusCode===429||ea.includes(e.name)||e.$retryable?.throttling==1,la=(e,t=0)=>aa(e)||oa(e)||e.name===`InvalidSignatureException`&&e.message?.includes(`Signature expired`)||ta.includes(e.name)||ra.includes(e?.code||``)||ia.includes(e?.code||``)||na.includes(e.$metadata?.httpStatusCode||0)||sa(e)||da(e)||e.cause!==void 0&&t<=10&&la(e.cause,t+1),ua=e=>{if(e.$metadata?.httpStatusCode!==void 0){let t=e.$metadata.httpStatusCode;return 500<=t&&t<=599&&!la(e)}return!1};function da(e){return e.code===`ERR_HTTP2_STREAM_ERROR`&&e.message.includes(`NGHTTP2_REFUSED_STREAM`)}var fa=2e4,pa=`amz-sdk-invocation-id`,ma=`amz-sdk-request`;function ha(e,t){if(j.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=(Xn(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)}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 ga=e=>e instanceof Error?e:e instanceof Object?Object.assign(Error(),e):Error(typeof e==`string`?e:`AWS SDK error wrapper for ${e}`);function _a(e){return t=>(n,r)=>async i=>{let a=await t.retryStrategy(),o=await t.maxAttempts();if(ya(a)){a=a;let s=await a.acquireInitialRetryToken((r.partition_id??``)+(r.__retryLongPoll?`:longpoll`:``)),c=Error(),l=0,u=0,{request:d}=i,f=A.isInstance(d);for(f&&(d.headers[pa]=Mi());;)try{f&&(d.headers[ma]=`attempt=${l+1}; max=${o}`);let{response:e,output:t}=await n(i);return a.recordSuccess(s),t.$metadata.attempts=l+1,t.$metadata.totalRetryDelay=u,{response:e,output:t}}catch(n){let i=ba(n,t.logger);if(c=ga(n),f&&e(d))throw(r.logger instanceof _n?console:r.logger)?.warn(`An error was encountered in a non-retryable streaming request.`),c;try{s=await a.refreshRetryTokenForRetry(s,i)}catch{throw c.$metadata||(c.$metadata={}),c.$metadata.attempts=l+1,c.$metadata.totalRetryDelay=u,c}l=s.getRetryCount();let o=s.getRetryDelay();u+=(s?.$retryLog?.acquisitionDelay??0)+o,o>0&&await va(o)}}else return a=a,a?.mode&&(r.userAgent=[...r.userAgent||[],[`cfg/retry-mode`,a.mode]]),a.retry(n,i)}}var va=e=>new Promise(t=>setTimeout(t,e)),ya=e=>e.acquireInitialRetryToken!==void 0&&e.refreshRetryTokenForRetry!==void 0&&e.recordSuccess!==void 0,ba=(e,t)=>{let n={error:e,errorType:xa(e)},r=ha(e.$response,t);return r&&(n.retryAfterHint=r),n},xa=e=>ca(e)?`THROTTLING`:la(e)?`TRANSIENT`:ua(e)?`SERVER_ERROR`:`CLIENT_ERROR`,Sa={name:`retryMiddleware`,tags:[`RETRY`],step:`finalizeRequest`,priority:`high`,override:!0};function Ca(e){let t=_a(e);return e=>({applyToStack:n=>{n.add(t(e),Sa)}})}var wa=class e{static setTimeoutFn=(e,t)=>setTimeout(e,t);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`||ca(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){for(this.refillTokenBucket();t>this.availableTokens;){let n=(t-this.availableTokens)/this.fillRate*1e3;await new Promise(t=>e.setTimeoutFn(t,n)),this.refillTokenBucket()}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))}},L=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`}},Ta=class{x=L.delay();computeNextBackoffDelay(e){let t=Math.random()*Math.min(this.x*2**e,fa);return Math.floor(t)}setDelayBase(e){this.x=e}},Ea=class{delay;count;cost;longPoll;$retryLog={acquisitionDelay:0};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(fa,this.delay)}getRetryCost(){return this.cost}isLongPoll(){return this.longPoll}},Da;(function(e){e.STANDARD=`standard`,e.ADAPTIVE=`adaptive`})(Da||={});var Oa=Da.STANDARD,ka={incompatible:1,attempts:2,capacity:3},Aa=class{mode=Da.STANDARD;retryBackoffStrategy;capacity=500;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??=L.delay(),this.retryBackoffStrategy??=new Ta}async acquireInitialRetryToken(e){return new Ea(L.delay(),0,void 0,L.v2026&&e.includes(`:longpoll`))}async refreshRetryTokenForRetry(e,t){let n=await this.getMaxAttempts(),r=this.retryCode(e,t,n),i=r===0,a=e.isLongPoll?.();if(i||a){let n=t.errorType;this.retryBackoffStrategy.setDelayBase(n===`THROTTLING`?L.throttlingDelay():this.baseDelay);let o=this.retryBackoffStrategy.computeNextBackoffDelay(e.getRetryCount()),s=o;if(t.retryAfterHint instanceof Date&&(s=Math.max(o,Math.min(t.retryAfterHint.getTime()-Date.now(),o+5e3))),i){let t=this.getCapacityCost(n);this.capacity-=t;let r=new Ea(0,e.getRetryCount()+1,t,e.isLongPoll?.()??!1);return await new Promise(e=>setTimeout(e,s)),r.$retryLog.acquisitionDelay=s,r}{let e=L.v2026&&r===ka.capacity&&a?s:0;e>0&&await new Promise(t=>setTimeout(t,e))}}throw Error(`No retry token available`)}recordSuccess(e){this.capacity=Math.min(500,this.capacity+(e.getRetryCost()??1))}getCapacity(){return this.capacity}async maxAttempts(){return this.maxAttemptsProvider()}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch{return console.warn(`Max attempts provider could not resolve. Using default of 3`),3}}retryCode(e,t,n){let r=e.getRetryCount()+1,i=this.isRetryableError(t.errorType)?0:ka.incompatible,a=r=this.getCapacityCost(t.errorType)?0:ka.capacity;return i||a||o}getCapacityCost(e){return e===L.modifiedCostType()?L.throttlingCost():L.cost()}isRetryableError(e){return e===`THROTTLING`||e===`TRANSIENT`}},ja=class{mode=Da.ADAPTIVE;rateLimiter;standardRetryStrategy;constructor(e,t){let{rateLimiter:n}=t??{};this.rateLimiter=n??new wa,this.standardRetryStrategy=t?new Aa({maxAttempts:typeof e==`number`?e:3,...t}):new Aa(e)}async acquireInitialRetryToken(e){let t=await this.standardRetryStrategy.acquireInitialRetryToken(e);return await this.rateLimiter.getSendToken(),t}async refreshRetryTokenForRetry(e,t){this.rateLimiter.updateClientSendingRate(t);let n=await this.standardRetryStrategy.refreshRetryTokenForRetry(e,t);return await this.rateLimiter.getSendToken(),n}recordSuccess(e){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(e)}async maxAttemptsProvider(){return this.standardRetryStrategy.maxAttempts()}},Ma=(e,t)=>{let{retryStrategy:n,retryMode:r}=e,{defaultMaxAttempts:i=3,defaultBaseDelay:a=L.delay()}=t??{},o=Nt(e.maxAttempts??i),s=n?Promise.resolve(n):void 0,c=async()=>{let e=await o();return await Nt(r)()===Da.ADAPTIVE?new ja(o,{maxAttempts:e,baseDelay:a}):new Aa({maxAttempts:e,baseDelay:a})};return Object.assign(e,{maxAttempts:o,retryStrategy:()=>s??=c()})},Na=Ca(yt);L.v2026||=typeof process==`object`&&{}.AWS_NEW_RETRIES_2026===`true`;function R(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}function Pa(e){return e}var Fa=e=>t=>async n=>{if(!A.isInstance(n.request))return t(n);let{request:r}=n,{handlerProtocol:i=``}=e.requestHandler.metadata||{};if(i.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)},Ia={name:`hostHeaderMiddleware`,step:`build`,priority:`low`,tags:[`HOST`],override:!0},La=e=>({applyToStack:t=>{t.add(Fa(e),Ia)}}),Ra=()=>(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:f,...p}=r.output;return o?.info?.({clientName:i,commandName:a,input:u(n.input),output:d(p),metadata:f}),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}},za={name:`loggerMiddleware`,tags:[`LOGGER`],step:`initialize`,override:!0},Ba=e=>({applyToStack:e=>{e.add(Ra(),za)}}),Va=e=>({applyToStack:e=>{}}),Ha=(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 Ua(e){let t=new Map;for(let n of e)t.set(n.schemeId,n);return t}var Wa=(e,t)=>(n,r)=>async i=>{let a=Ha(e.httpAuthSchemeProvider(await t.httpAuthSchemeParametersProvider(e,r,i.input)),e.authSchemePreference?await e.authSchemePreference():[]),o=Ua(e.httpAuthSchemes),s=Ot(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)},Ga={step:`serialize`,tags:[`HTTP_AUTH_SCHEME`],name:`httpAuthSchemeMiddleware`,override:!0,relation:`before`,toMiddleware:`endpointV2Middleware`},Ka=(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:n})=>({applyToStack:r=>{r.addRelativeTo(Wa(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:n}),Ga)}}),qa=e=>e=>{throw e},Ja=(e,t)=>{},Ya=e=>(e,t)=>async n=>{if(!A.isInstance(n.request))return e(n);let r=Ot(t).selectedHttpAuthScheme;if(!r)throw Error(`No HttpAuthScheme was selected: unable to sign request`);let{httpAuthOption:{signingProperties:i={}},identity:a,signer:o}=r,s=await e({...n,request:await o.sign(n.request,a,i)}).catch((o.errorHandler||qa)(i));return(o.successHandler||Ja)(s.response,i),s},Xa={step:`finalizeRequest`,tags:[`HTTP_SIGNING`],name:`httpSigningMiddleware`,aliases:[`apiKeyMiddleware`,`tokenMiddleware`,`awsAuthMiddleware`],override:!0,relation:`after`,toMiddleware:`retryMiddleware`},Za=e=>({applyToStack:t=>{t.addRelativeTo(Ya(e),Xa)}}),Qa=e=>{if(typeof e==`function`)return e;let t=Promise.resolve(e);return()=>t},$a=class{authSchemes=new Map;constructor(e){for(let t in e){let n=e[t];n!==void 0&&this.authSchemes.set(t,n)}}getIdentityProvider(e){return this.authSchemes.get(e)}},eo=(e=>function(t){return to(t)&&t.expiration.getTime()-Date.now()e.expiration!==void 0,no=(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 ro(e){return e===void 0||typeof e==`string`&&e.length<=50}function io(e){let t=Qa(e.userAgentAppId??void 0),{customUserAgent:n}=e;return Object.assign(e,{customUserAgent:typeof n==`string`?[[n]]:n,userAgentAppId:async()=>{let n=await t();if(!ro(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 ao={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`},oo=``,so=e=>{let{partitions:t}=ao;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}},co=()=>oo,lo=/\d{12}\.ddb/;async function uo(e,t,n){if(n.request?.headers?.[`smithy-protocol`]===`rpc-v2-cbor`&&R(e,`PROTOCOL_RPC_V2_CBOR`,`M`),typeof t.retryStrategy==`function`){let n=await t.retryStrategy();if(typeof n.mode==`string`)switch(n.mode){case Da.ADAPTIVE:R(e,`RETRY_MODE_ADAPTIVE`,`F`);break;case Da.STANDARD:R(e,`RETRY_MODE_STANDARD`,`E`)}}if(typeof t.accountIdEndpointMode==`function`){let n=e.endpointV2;switch(String(n?.url?.hostname).match(lo)&&R(e,`ACCOUNT_ID_ENDPOINT`,`O`),await t.accountIdEndpointMode?.()){case`disabled`:R(e,`ACCOUNT_ID_MODE_DISABLED`,`Q`);break;case`preferred`:R(e,`ACCOUNT_ID_MODE_PREFERRED`,`P`);break;case`required`:R(e,`ACCOUNT_ID_MODE_REQUIRED`,`R`)}}let r=e.__smithy_context?.selectedHttpAuthScheme?.identity;if(r?.$source){let t=r;t.accountId&&R(e,`RESOLVED_ACCOUNT_ID`,`T`);for(let[n,r]of Object.entries(t.$source??{}))R(e,n,r)}}var fo=`user-agent`,po=`x-amz-user-agent`,mo=/[^!$%&'*+\-.^_`|~\w]/g,ho=/[^!$%&'*+\-.^_`|~\w#]/g,go=1024;function _o(e){let t=``;for(let n in e){let r=e[n];if(t.length+r.length+1<=go){t.length?t+=`,`+r:t+=r;continue}break}return t}var vo=e=>(t,n)=>async r=>{let{request:i}=r;if(!A.isInstance(i))return t(r);let{headers:a}=i,o=n?.userAgent?.map(yo)||[],s=(await e.defaultUserAgentProvider()).map(yo);await uo(n,e,r);let c=n;s.push(`m/${_o(Object.assign({},n.__smithy_context?.features,c.__aws_sdk_context?.features))}`);let l=e?.customUserAgent?.map(yo)||[],u=await e.userAgentAppId();u&&s.push(yo([`app`,`${u}`]));let d=co(),f=(d?[d]:[]).concat([...s,...o,...l]).join(` `),p=[...s.filter(e=>e.startsWith(`aws-sdk-`)),...l].join(` `);return e.runtime===`browser`?a[po]=f:(p&&(a[po]=a[`x-amz-user-agent`]?`${a[fo]} ${p}`:p),a[fo]=f),t({...r,request:i})},yo=e=>{let t=e[0].split(`/`).map(e=>e.replace(mo,`-`)).join(`/`),n=e[1]?.replace(ho,`-`),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}`}},``)},bo={name:`getUserAgentMiddleware`,step:`build`,priority:`low`,tags:[`SET_USER_AGENT`,`USER_AGENT`],override:!0},xo=e=>({applyToStack:t=>{t.add(vo(e),bo)}}),So=({serviceId:e,clientVersion:t})=>async n=>{let r=typeof window<`u`?window.navigator:void 0,i=r?.userAgent??``,a=r?.userAgentData?.platform??Co.os(i)??`other`,o=r?.userAgentData?.brands??[],s=o[o.length-1],c=s?.brand??Co.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},Co={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`}},wo=(e,t=!1)=>{if(t){for(let t of e.split(`.`))if(!wo(t))return!1;return!0}return!(!jt(e)||e.length<3||e.length>63||e!==e.toLowerCase()||ai(e))},To=`:`,Eo=`/`,Do={isVirtualHostableS3Bucket:wo,parseArn:e=>{let t=e.split(To);if(t.length<6)return null;let[n,r,i,a,o,...s]=t;return n!==`arn`||r===``||i===``||s.join(To)===``?null:{partition:r,service:i,region:a,accountId:o,resourceId:s.map(e=>e.split(Eo)).flat()}},partition:so};Xr.aws=Do;var Oo=(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))},ko=new Set,Ao=(e,t=jt)=>{if(!ko.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 ko.add(e)},jo=e=>typeof e==`string`&&(e.startsWith(`fips-`)||e.endsWith(`-fips`)),Mo=e=>jo(e)?[`fips-aws-global`,`aws-fips`].includes(e)?`us-east-1`:e.replace(/fips-(dkr-|prod-)?|-fips/,``):e,No=e=>{let{region:t,useFipsEndpoint:n}=e;if(!t)throw Error(`Region is missing`);return Object.assign(e,{region:async()=>{let e=Mo(typeof t==`function`?await t():t);return Ao(e),e},useFipsEndpoint:async()=>jo(typeof t==`string`?t:await t())?!0:typeof n==`function`?n():Promise.resolve(!!n)})},Po=[`in-region`,`cross-region`,`mobile`,`standard`,`legacy`],Fo=({defaultsMode:e}={})=>Oo(async()=>{let t=typeof e==`function`?await e():e;switch(t?.toLowerCase()){case`auto`:return Promise.resolve(Io()?`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 ${Po.join(`, `)}, got ${t}`)}}),Io=()=>{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},Lo=e=>({setRegion(t){e.region=t},region(){return e.region}}),Ro=e=>({region:e.region()}),zo=e=>j.isInstance(e)?e.headers?.date??e.headers?.Date:void 0,Bo=e=>j.isInstance(e)?e.headers?.age??e.headers?.Age:void 0,Vo=e=>new Date(Date.now()+e),Ho=(e,t,n,r)=>{if(r!==void 0)return t;let i=Date.parse(e),a=Date.now();return n!==void 0&&a-n>9e5?t:n===void 0?i-a:i-(n+a)/2},Uo=(e,t)=>{if(!t)throw Error(`Property \`${e}\` is not resolved for AWS SDK SigV4Auth`);return t},Wo=async e=>{let t=Uo(`context`,e.context),n=Uo(`config`,e.config),r=t.endpointV2?.properties?.authSchemes?.[0];return{config:n,signer:await Uo(`signer`,n.signer)(r),signingRegion:e?.signingRegion,signingRegionSet:e?.signingRegionSet,signingName:e?.signingName}},Go=class{async sign(e,t,n){if(!A.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let r=await Wo(n),{config:i,signer:a}=r,{signingRegion:o,signingName:s}=r,c=n.context;if(c?.authSchemes?.length??!1){let[e,t]=c.authSchemes;e?.name===`sigv4a`&&t?.name===`sigv4`&&(o=t?.signingRegion??o,s=t?.signingName??s)}let l=await i.disableClockSkewCorrection?.()===!0;return n._disableClockSkewCorrection=l,l||(n._preRequestSystemClockOffset=i.systemClockOffset,n._requestSentAt=Date.now()),await a.sign(e,{signingDate:l?new Date:Vo(i.systemClockOffset),signingRegion:o,signingService:s})}errorHandler(e){return t=>{let n=t;if(!e._disableClockSkewCorrection){let t=n.ServerTime??zo(n.$response);if(t){let r=Uo(`config`,e.config),i=e._preRequestSystemClockOffset,a=e._requestSentAt,o=Bo(n.$response),s=Ho(t,r.systemClockOffset,a,o);r.systemClockOffset=s,Math.abs(s)>=24e4&&(s!==i||i!==void 0&&i!==s)&&n.$metadata&&(n.$metadata.clockSkewCorrected=!0)}}throw t}}successHandler(e,t){if(t._disableClockSkewCorrection)return;let n=zo(e);if(n){let r=Uo(`config`,t.config),i=t._requestSentAt,a=Bo(e);r.systemClockOffset=Ho(n,r.systemClockOffset,i,a)}}},Ko=class extends Go{async sign(e,t,n){if(!A.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let{config:r,signer:i,signingRegion:a,signingRegionSet:o,signingName:s}=await Wo(n),c=(await r.sigv4aSigningRegionSet?.()??o??[a]).join(`,`),l=await r.disableClockSkewCorrection?.()===!0;return n._disableClockSkewCorrection=l,l||(n._preRequestSystemClockOffset=r.systemClockOffset,n._requestSentAt=Date.now()),await i.sign(e,{signingDate:l?new Date:Vo(r.systemClockOffset),signingRegion:c,signingService:s})}},qo=e=>(e.sigv4aSigningRegionSet=Qa(e.sigv4aSigningRegionSet),e),Jo=class{format(e){let n=[];for(let r of Object.keys(e)){let i=t(r);n.push(Uint8Array.from([i.byteLength]),i,this.formatHeaderValue(e[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(e){switch(e.type){case`boolean`:return Uint8Array.from([e.value?z.boolTrue:z.boolFalse]);case`byte`:return Uint8Array.from([z.byte,e.value]);case`short`:let n=new DataView(new ArrayBuffer(3));return n.setUint8(0,z.short),n.setInt16(1,e.value,!1),new Uint8Array(n.buffer);case`integer`:let r=new DataView(new ArrayBuffer(5));return r.setUint8(0,z.integer),r.setInt32(1,e.value,!1),new Uint8Array(r.buffer);case`long`:let a=new Uint8Array(9);return a[0]=z.long,a.set(e.value.bytes,1),a;case`binary`:let o=new DataView(new ArrayBuffer(3+e.value.byteLength));o.setUint8(0,z.byteArray),o.setUint16(1,e.value.byteLength,!1);let s=new Uint8Array(o.buffer);return s.set(e.value,3),s;case`string`:let c=t(e.value),l=new DataView(new ArrayBuffer(3+c.byteLength));l.setUint8(0,z.string),l.setUint16(1,c.byteLength,!1);let u=new Uint8Array(l.buffer);return u.set(c,3),u;case`timestamp`:let d=new Uint8Array(9);return d[0]=z.timestamp,d.set(Xo.fromNumber(e.value.valueOf()).bytes,1),d;case`uuid`:if(!Yo.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let f=new Uint8Array(17);return f[0]=z.uuid,f.set(i(e.value.replace(/-/g,``)),1),f}}},z;(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`})(z||={});var Yo=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/,Xo=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&&Zo(n),new e(n)}valueOf(){let e=this.bytes.slice(0),t=e[0]&128;return t&&Zo(e),parseInt(n(e),16)*(t?-1:1)}toString(){return String(this.valueOf())}};function Zo(e){for(let t=0;t<8;t++)e[t]^=255;for(let t=7;t>-1&&(e[t]++,e[t]===0);t--);}var Qo=`X-Amz-Algorithm`,$o=`X-Amz-Credential`,es=`X-Amz-Date`,ts=`X-Amz-SignedHeaders`,ns=`X-Amz-Expires`,rs=`X-Amz-Signature`,is=`X-Amz-Security-Token`,as=`authorization`,os=es.toLowerCase(),ss=[as,os,`date`];rs.toLowerCase();var cs=`x-amz-content-sha256`,ls=is.toLowerCase(),us={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},ds=/^proxy-/,fs=/^sec-/,ps=`AWS4-HMAC-SHA256`,ms=`AWS4-HMAC-SHA256-PAYLOAD`,hs=`UNSIGNED-PAYLOAD`,gs=`aws4_request`,_s=({query:e={}})=>{let t=[],n={};for(let r of Object.keys(e)){if(r.toLowerCase()===`x-amz-signature`)continue;let i=Zi(r);t.push(i);let a=e[r];typeof a==`string`?n[i]=`${i}=${Zi(a)}`:Array.isArray(a)&&(n[i]=a.slice(0).reduce((e,t)=>e.concat([`${i}=${Zi(t)}`]),[]).sort().join(`&`))}return t.sort().map(e=>n[e]).filter(e=>e).join(`&`)},vs=e=>ys(e).toISOString().replace(/\.\d{3}Z$/,`Z`),ys=e=>typeof e==`number`?new Date(e*1e3):typeof e==`string`?Number(e)?new Date(Number(e)*1e3):new Date(e):e,bs=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,this.regionProvider=Nt(n),this.credentialProvider=Nt(t)}createCanonicalRequest(e,t,n){let r=Object.keys(t).sort();return`${e.method} ${this.getCanonicalPath(e)} -${gs(e)} +${_s(e)} ${r.map(e=>`${e}:${t[e]}`).join(` `)} @@ -13,10 +13,10 @@ ${r.join(`;`)} ${n}`}async createStringToSign(e,t,r,i){let a=new this.sha256;a.update(F(r));let o=await a.digest();return`${i} ${e} ${t} -${n(o)}`}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 Xi(`${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=_s(e).replace(/[-:]/g,``);return{longDate:t,shortDate:t.slice(0,8)}}getCanonicalHeaderList(e){return Object.keys(e).sort().join(`;`)}},bs={},xs=[],Ss=(e,t,n)=>`${e}/${t}/${n}/${hs}`,Cs=async(e,t,r,i,a)=>{let o=await ws(e,t.secretAccessKey,t.accessKeyId),s=`${r}:${i}:${a}:${n(o)}:${t.sessionToken}`;if(s in bs)return bs[s];for(xs.push(s);xs.length>50;)delete bs[xs.shift()];let c=`AWS4${t.secretAccessKey}`;for(let t of[r,i,a,hs])c=await ws(e,c,t);return bs[s]=c},ws=(e,t,n)=>{let r=new e(t);return r.update(F(n)),r.digest()},Ts=({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 ls||t?.has(a)||us.test(a)||ds.test(a))&&(!n||n&&!n.has(a))||(r[a]=e[i].trim().replace(/\s+/g,` `))}return r},Es=async({headers:e,body:t},r)=>{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)||kr(t)){let e=new r;return e.update(F(t)),n(await e.digest())}return ms},Ds=(e,t)=>{e=e.toLowerCase();for(let n of Object.keys(t))if(e===n.toLowerCase())return!0;return!1},Os=(e,t={})=>{let{headers:n,query:r={}}=A.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}},ks=e=>{e=A.clone(e);for(let t of Object.keys(e.headers))os.indexOf(t.toLowerCase())>-1&&delete e.headers[t];return e},As=class extends ys{headerFormatter=new qo;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=Ss(p,d,l??this.service),h=Os(ks(e),{unhoistableHeaders:a,hoistableHeaders:s});u.sessionToken&&(h.query[rs]=u.sessionToken),h.query[Zo]=fs,h.query[Qo]=`${u.accessKeyId}/${m}`,h.query[$o]=f,h.query[ts]=r.toString(10);let g=Ts(h,i,o);return h.query[es]=this.getCanonicalHeaderList(g),h.query[ns]=await this.getSignature(f,m,this.getSigningKey(u,d,p,l),this.createCanonicalRequest(h,g,await Es(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:r=new Date,priorSignature:i,signingRegion:a,signingService:o,eventStreamCredentials:s}){let c=a??await this.regionProvider(),{shortDate:l,longDate:u}=this.formatDate(r),d=Ss(l,c,o??this.service),f=await Es({headers:{},body:t},this.sha256),p=new this.sha256;p.update(e);let m=[ps,u,d,i,n(await p.digest()),f].join(` -`);return this.signString(m,{signingDate:r,signingRegion:c,signingService:o,eventStreamCredentials:s})}async signMessage(e,{signingDate:t=new Date,signingRegion:n,signingService:r,eventStreamCredentials:i}){return this.signEvent({headers:this.headerFormatter.format(e.message.headers),payload:e.message.body},{signingDate:t,signingRegion:n,signingService:r,priorSignature:e.priorSignature,eventStreamCredentials:i}).then(t=>({message:e.message,signature:t}))}async signString(e,{signingDate:t=new Date,signingRegion:r,signingService:i,eventStreamCredentials:a}={}){let o=a??await this.credentialProvider();this.validateResolvedCredentials(o);let s=r??await this.regionProvider(),{shortDate:c}=this.formatDate(t),l=new this.sha256(await this.getSigningKey(o,s,c,i));return l.update(F(e)),n(await l.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=ks(e),{longDate:l,shortDate:u}=this.formatDate(t),d=Ss(u,s,a??this.service);c.headers[as]=l,o.sessionToken&&(c.headers[cs]=o.sessionToken);let f=await Es(c,this.sha256);!Ds(`x-amz-content-sha256`,c.headers)&&this.applyChecksum&&(c.headers[ss]=f);let p=Ts(c,r,n),m=await this.getSignature(l,d,this.getSigningKey(o,s,u,a),this.createCanonicalRequest(c,p,f));return c.headers[is]=`${fs} Credential=${o.accessKeyId}/${d}, SignedHeaders=${this.getCanonicalHeaderList(p)}, Signature=${m}`,c}async getSignature(e,t,r,i){let a=await this.createStringToSign(e,t,i,fs),o=new this.sha256(await r);return o.update(F(a)),n(await o.digest())}getSigningKey(e,t,n,r){return Cs(this.sha256,e,n,t,r||this.service)}},js={SignatureV4a:null},Ms=e=>t=>{let n=t.credentials,r=!!t.credentials,i;Object.defineProperty(t,"credentials",{set(e){e&&e!==n&&e!==i&&(r=!0),n=e;let a=Ps(t,Ns(t,{credentials:n,credentialDefaultProvider:t.credentialDefaultProvider}));if(r&&!a.attributed){let e=typeof n==`object`&&!!n;i=async t=>{let n=await a(t);return e&&(!n.$source||Object.keys(n.$source).length===0)?_t(n,`CREDENTIALS_CODE`,`e`):n},i.memoized=a.memoized,i.configBound=a.configBound,i.attributed=!0}else i=a},get(){return i},enumerable:!0,configurable:!0}),t.credentials=n;let{signingEscapePath:a=!0,systemClockOffset:o=t.systemClockOffset||0,sha256:s}=t,c;return c=t.signer?Za(t.signer):t.regionInfoProvider?()=>Za(t.region)().then(async e=>[await t.regionInfoProvider(e,{useFipsEndpoint:await t.useFipsEndpoint(),useDualstackEndpoint:await t.useDualstackEndpoint()})||{},e]).then(([e,n])=>{let{signingRegion:r,signingService:i}=e;t.signingRegion=t.signingRegion||r||n,t.signingName=t.signingName||i||t.serviceId;let o={...t,credentials:t.credentials,region:t.signingRegion,service:t.signingName,sha256:s,uriEscapePath:a};return new(t.signerConstructor||As)(o)}):async e=>{e=Object.assign({},{name:`sigv4`,signingName:t.signingName||t.defaultSigningName,signingRegion:await Za(t.region)(),properties:{}},e);let n=e.signingRegion,r=e.signingName;t.signingRegion=t.signingRegion||n,t.signingName=t.signingName||r||t.serviceId;let i={...t,credentials:t.credentials,region:t.signingRegion,service:t.signingName,sha256:s,uriEscapePath:a};return new(t.signerConstructor||As)(i)},Object.assign(t,{systemClockOffset:o,signingEscapePath:a,signer:c,disableClockSkewCorrection:Za(t.disableClockSkewCorrection??e)})};function Ns(e,{credentials:t,credentialDefaultProvider:n}){let r;return r=t?t?.memoized?t:to(t,$a,eo):n?Za(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 Ps(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 Fs=Ms(!1),Is={CrtSignerV4:null},Ls=`X-Amz-S3session-Token`,Rs=Ls.toLowerCase(),zs=class extends As{async signWithCredentials(e,t,n){let r=Bs(t);e.headers[Rs]=t.sessionToken;let i=this;return Vs(i,r),i.signRequest(e,n??{})}async presignWithCredentials(e,t,n){let r=Bs(t);return delete e.headers[Rs],e.headers[Ls]=t.sessionToken,e.query=e.query??{},e.query[Ls]=t.sessionToken,Vs(this,r),this.presign(e,n)}};function Bs(e){return{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,expiration:e.expiration}}function Vs(e,t){let n=e.credentialProvider;e.credentialProvider=()=>(e.credentialProvider=n,Promise.resolve(t))}var Hs=class{sigv4aSigner;sigv4Signer;signerOptions;static sigv4aDependency(){return typeof Is.CrtSignerV4==`function`?`crt`:typeof js.SignatureV4a==`function`?`js`:`none`}constructor(e){this.sigv4Signer=new zs(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=Is.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=Is.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=Is.CrtSignerV4,t=js.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}};function Us(e,t){return new Request(e,t)}function Ws(e=0){return new Promise((t,n)=>{e&&setTimeout(()=>{let t=Error(`Request did not complete within ${e} ms`);t.name=`TimeoutError`,n(t)},e)})}var Gs={supported:void 0},Ks=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)),Gs.supported===void 0&&(Gs.supported=typeof Request<`u`&&`keepalive`in Us(`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=qs(t);return Promise.reject(e)}let o=e.path,s=Qi(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}`,f=u===`GET`||u===`HEAD`?void 0:e.body,p={body:f,headers:new Headers(e.headers),method:u,credentials:a};this.config?.cache&&(p.cache=this.config.cache),f&&(p.duplex=`half`),typeof AbortController<`u`&&(p.signal=t),Gs.supported&&(p.keepalive=i),typeof this.config.requestInit==`function`&&Object.assign(p,this.config.requestInit(e));let m=()=>{},h=Us(d,p),g=[fetch(h).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 j({headers:n,reason:e.statusText,statusCode:e.status,body:t})})):{response:new j({headers:n,reason:e.statusText,statusCode:e.status,body:e.body})}}),Ws(r)];return t&&g.push(new Promise((e,n)=>{let r=()=>{n(qs(t))};if(typeof t.addEventListener==`function`){let e=t;e.addEventListener(`abort`,r,{once:!0}),m=()=>e.removeEventListener(`abort`,r)}else t.onabort=r})),Promise.race(g).finally(m)}updateHttpClientConfig(e,t){this.config=void 0,this.configProvider=this.configProvider.then(n=>(n[e]=t,n))}httpHandlerConfigs(){return this.config??{}}};function qs(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 Js=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(t,n,r){let i=r;n.includes(`#`)&&([i]=n.split(`#`));let a=e.for(i),o=e.for(`smithy.ts.sdk.synthetic.`+r);t.copyFrom(a),t.copyFrom(o),this.errorRegistry=t}decorateServiceException(e,t={}){if(this.queryCompat){let n=e.Message??t.Message,r=on(e,t);n&&(r.message=n);let i=r.Error??{};i.Type=r.Error?.Type,i.Code=r.Error?.Code,i.Message=r.Error?.message??r.Error?.Message??n,r.Error=i;let a=r.$metadata.requestId;return a&&(r.RequestId=a),r}return on(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.keys(e),a={Code:t,Type:r};e.Code=t,e.Type=r;for(let t=0;tM.of(e).getMergedTraits().awsQueryError?.[0]===t)}}},Ys=class{serdeContext;setSerdeContext(e){this.serdeContext=e}},Xs=class{from;to;keys;constructor(e,t){this.from=e,this.to=t;let n=Object.keys(this.from),r=new Set(n);r.delete(`__type`),this.keys=r}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]}}};function Zs(e){Object.defineProperty(e,"__proto__",{value:void 0,writable:!0,enumerable:!0,configurable:!0})}var Qs;function $s(e){Qs||=new DOMParser;let t=Qs.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;t in r?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 ec=class extends Ys{settings;stringDeserializer;constructor(e){super(),this.settings=e,this.stringDeserializer=new Ui(e)}setSerdeContext(e){this.serdeContext=e,this.stringDeserializer.setSerdeContext(e)}read(e,t,n){let i=M.of(e),a=i.getMemberSchemas();if(i.isStructSchema()&&i.isMemberSchema()&&Object.values(a).find(e=>!!e.getMemberTraits().eventPayload)){let e={},n=Object.keys(a)[0];return e[n]=a[n].isBlobSchema()?t:this.read(a[n],t),e}let o=(this.serdeContext?.utf8Encoder??r)(t),s=this.parseXml(o);return this.readSchema(e,n?s[n]:s)}readSchema(e,t){let n=M.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];t===`__proto__`&&Zs(i),i[t]=this.readSchema(a,n)}return i}if(n.isStructSchema()){let e=n.isUnionSchema(),r;e&&(r=new Xs(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=$s(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]),hn(i)}return{}}},tc=class extends Ys{settings;buffer;constructor(e){super(),this.settings=e}write(e,t,n=``){this.buffer===void 0&&(this.buffer=``);let r=M.of(e);if(n&&!n.endsWith(`.`)&&(n+=`.`),r.isBlobSchema())(typeof t==`string`||t instanceof Uint8Array)&&(this.writeKey(n),this.writeValue((this.serdeContext?.base64Encoder??Sn)(t)));else if(r.isBooleanSchema()||r.isNumericSchema()||r.isStringSchema())t==null?r.isIdempotencyToken()&&(this.writeKey(n),this.writeValue(Mi())):(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 Tr?t.string:String(t)));else if(r.isTimestampSchema()){if(t instanceof Date)switch(this.writeKey(n),Hi(r,this.settings)){case 5:this.writeValue(t.toISOString().replace(`.000Z`,`Z`));break;case 6:this.writeValue(Un(t));break;case 7:this.writeValue(String(t.getTime()/1e3))}}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 in t){let s=t[r];if(s==null)continue;let c=e.getMergedTraits(),l=this.getKey(`key`,c.xmlName,c.ec2QueryName),u=a?`${n}${o}.${l}`:`${n}entry.${o}.${l}`,d=i.getMergedTraits(),f=this.getKey(`value`,d.xmlName,d.ec2QueryName),p=a?`${n}${o}.${f}`:`${n}entry.${o}.${f}`;this.write(e,r,u),this.write(i,s,p),++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+=`&${Pi(e)}=`}writeValue(e){this.buffer+=Pi(e)}},nc=class extends Vi{options;serializer;deserializer;mixin=new Js;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 tc(t),this.deserializer=new ec(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+=`/`),r.headers[`content-type`]=`application/x-www-form-urlencoded`,(Rt(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=M.of(e.output),a={};if(n.statusCode>=300){let i=await Ni(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 Ni(n.body,t);return c.byteLength>0&&Object.assign(a,await r.read(i,c,s)),a.$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=M.of(c),d=new((this.compositeErrorRegistry.getErrorCtor(c))??Error)({}),f={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];f[e]=this.deserializer.readSchema(t,i)}throw this.mixin.decorateServiceException(Object.assign(d,l,{$fault:u.getMergedTraits().error,message:s},f),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`}},B=64,rc=32,ic=2**53-1,ac=class e{digestLength=rc;state=Int32Array.from(oc);w;buffer=new Uint8Array(64);bufferLength=0;bytesHashed=0;finished=!1;inner;outer;constructor(t){if(t){let n=e.normalizeKey(t);this.inner=new e,this.outer=new e;let{inner:r,outer:i}=this,a=new Uint8Array(128);for(let e=0;eic)throw Error(`Cannot hash more than 2^53 - 1 bits`);for(;r>0;)this.buffer[this.bufferLength++]=t[n++],r--,this.bufferLength===B&&(this.hashBuffer(),this.bufferLength=0)}async digest(){let{inner:e,outer:t}=this;if(e&&t){if(this.finished)throw Error(`Attempted to digest an already finished HMAC.`);this.finished=!0;let n=e.digestSync();return t.update(n),t.digestSync()}return this.digestSync()}reset(){this.state=Int32Array.from(oc),this.buffer=new Uint8Array(64),this.bufferLength=0,this.bytesHashed=0}digestSync(){let e=this.state.slice(),t=this.buffer.slice(),n=this.bufferLength,r=this.bytesHashed*8,i=new DataView(t.buffer,t.byteOffset,t.byteLength);if(i.setUint8(n++,128),(n-1)%B>=56){for(let e=n;e>>24&255,a[t*4+1]=e[t]>>>16&255,a[t*4+2]=e[t]>>>8&255,a[t*4+3]=e[t]>>>0&255;return a}static normalizeKey(t){let n=F(t);if(n.byteLength>B){let t=new e;t.update(n);let r=t.digestSync(),i=new Uint8Array(B);return i.set(r),i}if(n.byteLength>>17|t<<15)^(t>>>19|t<<13)^t>>>10;t=n[e-15];let i=(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3;n[e]=(r+n[e-7]|0)+(i+n[e-16]|0)}let d=(((s>>>6|s<<26)^(s>>>11|s<<21)^(s>>>25|s<<7))+(s&c^~s&l)|0)+(u+(sc[e]+n[e]|0)|0)|0,f=((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+d|0,o=a,a=i,i=r,r=d+f|0}e[0]+=r,e[1]+=i,e[2]+=a,e[3]+=o,e[4]+=s,e[5]+=c,e[6]+=l,e[7]+=u}},oc=new Int32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),sc=new Int32Array([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]),{digest:cc,sign:lc,importKey:uc}=globalThis?.crypto?.subtle??{},dc=typeof cc==`function`&&typeof lc==`function`&&typeof uc==`function`?globalThis.crypto.subtle:void 0,fc=8388608,pc=class{digestLength=32;secret;pending=[];pendingBytes=0;fallback;finished=!1;constructor(e){e&&(this.secret=F(e))}update(e){if(this.finished)throw Error(`Attempted to update an already finished HMAC.`);if(this.fallback){this.fallback.update(e);return}this.pending.push(e.slice()),this.pendingBytes+=e.byteLength,this.pendingBytes>=fc&&this.switchToFallback()}async digest(){if(this.fallback)return this.fallback.digest();if(this.secret&&this.finished)throw Error(`Attempted to digest an already finished HMAC.`);let e=Or(this.pending);if(dc){if(this.secret){this.finished=!0;let t=await dc.importKey(`raw`,this.secret,{name:`HMAC`,hash:`SHA-256`},!1,[`sign`]),n=await dc.sign(`HMAC`,t,e);return new Uint8Array(n)}let t=await dc.digest(`SHA-256`,e);return new Uint8Array(t)}let t=new ac(this.secret);return t.update(e),t.digest()}reset(){this.pending=[],this.pendingBytes=0,this.fallback=void 0,this.finished=!1}switchToFallback(){let e=new ac(this.secret);for(let t of this.pending)e.update(t);this.fallback=e,this.pending=[],this.pendingBytes=0}},mc;function V(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;en?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}var hc=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},gc=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(mc=globalThis).__zod_globalConfig??(mc.__zod_globalConfig={});var _c=globalThis.__zod_globalConfig;function H(e){return e&&Object.assign(_c,e),_c}function vc(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function yc(e,t){return typeof t==`bigint`?t.toString():t}function bc(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function xc(e){return e==null}function Sc(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function Cc(e,t){let n=e/t,r=Math.round(n),i=2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r){};function Ac(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var jc=bc(()=>{if(_c.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function Mc(e){if(Ac(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return Ac(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function Nc(e){return Mc(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var Pc=new Set([`string`,`number`,`symbol`]);function Fc(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function Ic(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function W(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function Lc(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}var Rc={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function zc(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return Ic(e,Ec(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return Tc(this,`shape`,e),e},checks:[]}))}function Bc(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return Ic(e,Ec(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return Tc(this,`shape`,r),r},checks:[]}))}function Vc(e,t){if(!Mc(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return Ic(e,Ec(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Tc(this,`shape`,n),n}}))}function Hc(e,t){if(!Mc(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return Ic(e,Ec(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Tc(this,`shape`,n),n}}))}function Uc(e,t){if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);return Ic(e,Ec(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return Tc(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function Wc(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return Ic(t,Ec(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return Tc(this,`shape`,i),i},checks:[]}))}function Gc(e,t,n){return Ic(t,Ec(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return Tc(this,`shape`,i),i}}))}function Kc(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Yc(e){return typeof e==`string`?e:e?.message}function G(e,t,n){let r=e.message?e.message:Yc(e.inst?._zod.def?.error?.(e))??Yc(t?.error?.(e))??Yc(n.customError?.(e))??Yc(n.localeError?.(e))??`Invalid input`,{inst:i,continue:a,input:o,...s}=e;return s.path??=[],s.message=r,t?.reportInput&&(s.input=o),s}function Xc(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function Zc(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}var Qc=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,yc,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},$c=V(`$ZodError`,Qc),el=V(`$ZodError`,Qc,{Parent:Error});function tl(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function nl(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i(t,n,r,i)=>{let a=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new hc;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>G(e,a,H())));throw kc(t,i?.callee),t}return o.value},il=e=>async(t,n,r,i)=>{let a=r?{...r,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>G(e,a,H())));throw kc(t,i?.callee),t}return o.value},al=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new hc;return a.issues.length?{success:!1,error:new(e??$c)(a.issues.map(e=>G(e,i,H())))}:{success:!0,data:a.value}},ol=al(el),sl=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>G(e,i,H())))}:{success:!0,data:a.value}},cl=sl(el),ll=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return rl(e)(t,n,i)},ul=e=>(t,n,r)=>rl(e)(t,n,r),dl=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return il(e)(t,n,i)},fl=e=>async(t,n,r)=>il(e)(t,n,r),pl=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return al(e)(t,n,i)},ml=e=>(t,n,r)=>al(e)(t,n,r),hl=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return sl(e)(t,n,i)},gl=e=>async(t,n,r)=>sl(e)(t,n,r),_l=/^[cC][0-9a-z]{6,}$/,vl=/^[0-9a-z]+$/,yl=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,bl=/^[0-9a-vA-V]{20}$/,xl=/^[A-Za-z0-9]{27}$/,Sl=/^[a-zA-Z0-9_-]{21}$/,Cl=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,wl=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Tl=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,El=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Dl=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;function Ol(){return new RegExp(Dl,`u`)}var kl=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Al=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,jl=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Ml=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Nl=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Pl=/^[A-Za-z0-9_-]*$/,Fl=/^https?$/,Il=/^\+[1-9]\d{6,14}$/,Ll=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`,Rl=RegExp(`^${Ll}$`);function zl(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Bl(e){return RegExp(`^${zl(e)}$`)}function Vl(e){let t=zl({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${Ll}T(?:${r})$`)}var Hl=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},Ul=/^-?\d+$/,Wl=/^-?\d+(?:\.\d+)?$/,Gl=/^(?:true|false)$/i,Kl=/^[^A-Z]*$/,ql=/^[^a-z]*$/,K=V(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Jl={number:`number`,bigint:`bigint`,object:`date`},Yl=V(`$ZodCheckLessThan`,(e,t)=>{K.init(e,t);let n=Jl[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value{(t.inclusive?r.value<=t.value:r.value{K.init(e,t);let n=Jl[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Zl=V(`$ZodCheckMultipleOf`,(e,t)=>{K.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):Cc(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Ql=V(`$ZodCheckNumberFormat`,(e,t)=>{K.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=Rc[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=Ul)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}sa&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),$l=V(`$ZodCheckMaxLength`,(e,t)=>{var n;K.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!xc(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum{let r=n.value;if(r.length<=t.maximum)return;let i=Xc(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),eu=V(`$ZodCheckMinLength`,(e,t)=>{var n;K.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!xc(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=Xc(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),tu=V(`$ZodCheckLengthEquals`,(e,t)=>{var n;K.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!xc(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=Xc(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),nu=V(`$ZodCheckStringFormat`,(e,t)=>{var n,r;K.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),ru=V(`$ZodCheckRegex`,(e,t)=>{nu.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),iu=V(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Kl,nu.init(e,t)}),au=V(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=ql,nu.init(e,t)}),ou=V(`$ZodCheckIncludes`,(e,t)=>{K.init(e,t);let n=Fc(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),su=V(`$ZodCheckStartsWith`,(e,t)=>{K.init(e,t);let n=RegExp(`^${Fc(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),cu=V(`$ZodCheckEndsWith`,(e,t)=>{K.init(e,t);let n=RegExp(`.*${Fc(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),lu=V(`$ZodCheckOverwrite`,(e,t)=>{K.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),uu=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(` +${n(o)}`}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 Zi(`${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=vs(e).replace(/[-:]/g,``);return{longDate:t,shortDate:t.slice(0,8)}}getCanonicalHeaderList(e){return Object.keys(e).sort().join(`;`)}},xs={},Ss=[],Cs=(e,t,n)=>`${e}/${t}/${n}/${gs}`,ws=async(e,t,r,i,a)=>{let o=await Ts(e,t.secretAccessKey,t.accessKeyId),s=`${r}:${i}:${a}:${n(o)}:${t.sessionToken}`;if(s in xs)return xs[s];for(Ss.push(s);Ss.length>50;)delete xs[Ss.shift()];let c=`AWS4${t.secretAccessKey}`;for(let t of[r,i,a,gs])c=await Ts(e,c,t);return xs[s]=c},Ts=(e,t,n)=>{let r=new e(t);return r.update(F(n)),r.digest()},Es=({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 us||t?.has(a)||ds.test(a)||fs.test(a))&&(!n||n&&!n.has(a))||(r[a]=e[i].trim().replace(/\s+/g,` `))}return r},Ds=async({headers:e,body:t},r)=>{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)||Ar(t)){let e=new r;return e.update(F(t)),n(await e.digest())}return hs},Os=(e,t)=>{e=e.toLowerCase();for(let n of Object.keys(t))if(e===n.toLowerCase())return!0;return!1},ks=(e,t={})=>{let{headers:n,query:r={}}=A.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}},As=e=>{e=A.clone(e);for(let t of Object.keys(e.headers))ss.indexOf(t.toLowerCase())>-1&&delete e.headers[t];return e},js=class extends bs{headerFormatter=new Jo;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=Cs(p,d,l??this.service),h=ks(As(e),{unhoistableHeaders:a,hoistableHeaders:s});u.sessionToken&&(h.query[is]=u.sessionToken),h.query[Qo]=ps,h.query[$o]=`${u.accessKeyId}/${m}`,h.query[es]=f,h.query[ns]=r.toString(10);let g=Es(h,i,o);return h.query[ts]=this.getCanonicalHeaderList(g),h.query[rs]=await this.getSignature(f,m,this.getSigningKey(u,d,p,l),this.createCanonicalRequest(h,g,await Ds(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:r=new Date,priorSignature:i,signingRegion:a,signingService:o,eventStreamCredentials:s}){let c=a??await this.regionProvider(),{shortDate:l,longDate:u}=this.formatDate(r),d=Cs(l,c,o??this.service),f=await Ds({headers:{},body:t},this.sha256),p=new this.sha256;p.update(e);let m=[ms,u,d,i,n(await p.digest()),f].join(` +`);return this.signString(m,{signingDate:r,signingRegion:c,signingService:o,eventStreamCredentials:s})}async signMessage(e,{signingDate:t=new Date,signingRegion:n,signingService:r,eventStreamCredentials:i}){return this.signEvent({headers:this.headerFormatter.format(e.message.headers),payload:e.message.body},{signingDate:t,signingRegion:n,signingService:r,priorSignature:e.priorSignature,eventStreamCredentials:i}).then(t=>({message:e.message,signature:t}))}async signString(e,{signingDate:t=new Date,signingRegion:r,signingService:i,eventStreamCredentials:a}={}){let o=a??await this.credentialProvider();this.validateResolvedCredentials(o);let s=r??await this.regionProvider(),{shortDate:c}=this.formatDate(t),l=new this.sha256(await this.getSigningKey(o,s,c,i));return l.update(F(e)),n(await l.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=As(e),{longDate:l,shortDate:u}=this.formatDate(t),d=Cs(u,s,a??this.service);c.headers[os]=l,o.sessionToken&&(c.headers[ls]=o.sessionToken);let f=await Ds(c,this.sha256);!Os(`x-amz-content-sha256`,c.headers)&&this.applyChecksum&&(c.headers[cs]=f);let p=Es(c,r,n),m=await this.getSignature(l,d,this.getSigningKey(o,s,u,a),this.createCanonicalRequest(c,p,f));return c.headers[as]=`${ps} Credential=${o.accessKeyId}/${d}, SignedHeaders=${this.getCanonicalHeaderList(p)}, Signature=${m}`,c}async getSignature(e,t,r,i){let a=await this.createStringToSign(e,t,i,ps),o=new this.sha256(await r);return o.update(F(a)),n(await o.digest())}getSigningKey(e,t,n,r){return ws(this.sha256,e,n,t,r||this.service)}},Ms={SignatureV4a:null},Ns=e=>t=>{let n=t.credentials,r=!!t.credentials,i;Object.defineProperty(t,"credentials",{set(e){e&&e!==n&&e!==i&&(r=!0),n=e;let a=Fs(t,Ps(t,{credentials:n,credentialDefaultProvider:t.credentialDefaultProvider}));if(r&&!a.attributed){let e=typeof n==`object`&&!!n;i=async t=>{let n=await a(t);return e&&(!n.$source||Object.keys(n.$source).length===0)?vt(n,`CREDENTIALS_CODE`,`e`):n},i.memoized=a.memoized,i.configBound=a.configBound,i.attributed=!0}else i=a},get(){return i},enumerable:!0,configurable:!0}),t.credentials=n;let{signingEscapePath:a=!0,systemClockOffset:o=t.systemClockOffset||0,sha256:s}=t,c;return c=t.signer?Qa(t.signer):t.regionInfoProvider?()=>Qa(t.region)().then(async e=>[await t.regionInfoProvider(e,{useFipsEndpoint:await t.useFipsEndpoint(),useDualstackEndpoint:await t.useDualstackEndpoint()})||{},e]).then(([e,n])=>{let{signingRegion:r,signingService:i}=e;t.signingRegion=t.signingRegion||r||n,t.signingName=t.signingName||i||t.serviceId;let o={...t,credentials:t.credentials,region:t.signingRegion,service:t.signingName,sha256:s,uriEscapePath:a};return new(t.signerConstructor||js)(o)}):async e=>{e=Object.assign({},{name:`sigv4`,signingName:t.signingName||t.defaultSigningName,signingRegion:await Qa(t.region)(),properties:{}},e);let n=e.signingRegion,r=e.signingName;t.signingRegion=t.signingRegion||n,t.signingName=t.signingName||r||t.serviceId;let i={...t,credentials:t.credentials,region:t.signingRegion,service:t.signingName,sha256:s,uriEscapePath:a};return new(t.signerConstructor||js)(i)},Object.assign(t,{systemClockOffset:o,signingEscapePath:a,signer:c,disableClockSkewCorrection:Qa(t.disableClockSkewCorrection??e)})};function Ps(e,{credentials:t,credentialDefaultProvider:n}){let r;return r=t?t?.memoized?t:no(t,eo,to):n?Qa(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 Fs(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 Is=Ns(!1),Ls={CrtSignerV4:null},Rs=`X-Amz-S3session-Token`,zs=Rs.toLowerCase(),Bs=class extends js{async signWithCredentials(e,t,n){let r=Vs(t);e.headers[zs]=t.sessionToken;let i=this;return Hs(i,r),i.signRequest(e,n??{})}async presignWithCredentials(e,t,n){let r=Vs(t);return delete e.headers[zs],e.headers[Rs]=t.sessionToken,e.query=e.query??{},e.query[Rs]=t.sessionToken,Hs(this,r),this.presign(e,n)}};function Vs(e){return{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,expiration:e.expiration}}function Hs(e,t){let n=e.credentialProvider;e.credentialProvider=()=>(e.credentialProvider=n,Promise.resolve(t))}var Us=class{sigv4aSigner;sigv4Signer;signerOptions;static sigv4aDependency(){return typeof Ls.CrtSignerV4==`function`?`crt`:typeof Ms.SignatureV4a==`function`?`js`:`none`}constructor(e){this.sigv4Signer=new Bs(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=Ls.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=Ls.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=Ls.CrtSignerV4,t=Ms.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}};function Ws(e,t){return new Request(e,t)}function Gs(e=0){return new Promise((t,n)=>{e&&setTimeout(()=>{let t=Error(`Request did not complete within ${e} ms`);t.name=`TimeoutError`,n(t)},e)})}var Ks={supported:void 0},qs=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)),Ks.supported===void 0&&(Ks.supported=typeof Request<`u`&&`keepalive`in Ws(`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=Js(t);return Promise.reject(e)}let o=e.path,s=$i(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}`,f=u===`GET`||u===`HEAD`?void 0:e.body,p={body:f,headers:new Headers(e.headers),method:u,credentials:a};this.config?.cache&&(p.cache=this.config.cache),f&&(p.duplex=`half`),typeof AbortController<`u`&&(p.signal=t),Ks.supported&&(p.keepalive=i),typeof this.config.requestInit==`function`&&Object.assign(p,this.config.requestInit(e));let m=()=>{},h=Ws(d,p),g=[fetch(h).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 j({headers:n,reason:e.statusText,statusCode:e.status,body:t})})):{response:new j({headers:n,reason:e.statusText,statusCode:e.status,body:e.body})}}),Gs(r)];return t&&g.push(new Promise((e,n)=>{let r=()=>{n(Js(t))};if(typeof t.addEventListener==`function`){let e=t;e.addEventListener(`abort`,r,{once:!0}),m=()=>e.removeEventListener(`abort`,r)}else t.onabort=r})),Promise.race(g).finally(m)}updateHttpClientConfig(e,t){this.config=void 0,this.configProvider=this.configProvider.then(n=>(n[e]=t,n))}httpHandlerConfigs(){return this.config??{}}};function Js(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 Ys=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(t,n,r){let i=r;n.includes(`#`)&&([i]=n.split(`#`));let a=e.for(i),o=e.for(`smithy.ts.sdk.synthetic.`+r);t.copyFrom(a),t.copyFrom(o),this.errorRegistry=t}decorateServiceException(e,t={}){if(this.queryCompat){let n=e.Message??t.Message,r=sn(e,t);n&&(r.message=n);let i=r.Error??{};i.Type=r.Error?.Type,i.Code=r.Error?.Code,i.Message=r.Error?.message??r.Error?.Message??n,r.Error=i;let a=r.$metadata.requestId;return a&&(r.RequestId=a),r}return sn(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.keys(e),a={Code:t,Type:r};e.Code=t,e.Type=r;for(let t=0;tM.of(e).getMergedTraits().awsQueryError?.[0]===t)}}},Xs=class{serdeContext;setSerdeContext(e){this.serdeContext=e}},Zs=class{from;to;keys;constructor(e,t){this.from=e,this.to=t;let n=Object.keys(this.from),r=new Set(n);r.delete(`__type`),this.keys=r}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]}}};function Qs(e){Object.defineProperty(e,"__proto__",{value:void 0,writable:!0,enumerable:!0,configurable:!0})}var $s;function ec(e){$s||=new DOMParser;let t=$s.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;t in r?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 tc=class extends Xs{settings;stringDeserializer;constructor(e){super(),this.settings=e,this.stringDeserializer=new Wi(e)}setSerdeContext(e){this.serdeContext=e,this.stringDeserializer.setSerdeContext(e)}read(e,t,n){let i=M.of(e),a=i.getMemberSchemas();if(i.isStructSchema()&&i.isMemberSchema()&&Object.values(a).find(e=>!!e.getMemberTraits().eventPayload)){let e={},n=Object.keys(a)[0];return e[n]=a[n].isBlobSchema()?t:this.read(a[n],t),e}let o=(this.serdeContext?.utf8Encoder??r)(t),s=this.parseXml(o);return this.readSchema(e,n?s[n]:s)}readSchema(e,t){let n=M.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];t===`__proto__`&&Qs(i),i[t]=this.readSchema(a,n)}return i}if(n.isStructSchema()){let e=n.isUnionSchema(),r;e&&(r=new Zs(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=ec(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]),gn(i)}return{}}},nc=class extends Xs{settings;buffer;constructor(e){super(),this.settings=e}write(e,t,n=``){this.buffer===void 0&&(this.buffer=``);let r=M.of(e);if(n&&!n.endsWith(`.`)&&(n+=`.`),r.isBlobSchema())(typeof t==`string`||t instanceof Uint8Array)&&(this.writeKey(n),this.writeValue((this.serdeContext?.base64Encoder??Cn)(t)));else if(r.isBooleanSchema()||r.isNumericSchema()||r.isStringSchema())t==null?r.isIdempotencyToken()&&(this.writeKey(n),this.writeValue(Ni())):(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 Er?t.string:String(t)));else if(r.isTimestampSchema()){if(t instanceof Date)switch(this.writeKey(n),Ui(r,this.settings)){case 5:this.writeValue(t.toISOString().replace(`.000Z`,`Z`));break;case 6:this.writeValue(Wn(t));break;case 7:this.writeValue(String(t.getTime()/1e3))}}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 in t){let s=t[r];if(s==null)continue;let c=e.getMergedTraits(),l=this.getKey(`key`,c.xmlName,c.ec2QueryName),u=a?`${n}${o}.${l}`:`${n}entry.${o}.${l}`,d=i.getMergedTraits(),f=this.getKey(`value`,d.xmlName,d.ec2QueryName),p=a?`${n}${o}.${f}`:`${n}entry.${o}.${f}`;this.write(e,r,u),this.write(i,s,p),++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+=`&${Fi(e)}=`}writeValue(e){this.buffer+=Fi(e)}},rc=class extends Hi{options;serializer;deserializer;mixin=new Ys;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 nc(t),this.deserializer=new tc(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+=`/`),r.headers[`content-type`]=`application/x-www-form-urlencoded`,(zt(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=M.of(e.output),a={};if(n.statusCode>=300){let i=await Pi(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 Pi(n.body,t);return c.byteLength>0&&Object.assign(a,await r.read(i,c,s)),a.$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=M.of(c),d=new((this.compositeErrorRegistry.getErrorCtor(c))??Error)({}),f={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];f[e]=this.deserializer.readSchema(t,i)}throw this.mixin.decorateServiceException(Object.assign(d,l,{$fault:u.getMergedTraits().error,message:s},f),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`}},B=64,ic=32,ac=2**53-1,oc=class e{digestLength=ic;state=Int32Array.from(sc);w;buffer=new Uint8Array(64);bufferLength=0;bytesHashed=0;finished=!1;inner;outer;constructor(t){if(t){let n=e.normalizeKey(t);this.inner=new e,this.outer=new e;let{inner:r,outer:i}=this,a=new Uint8Array(128);for(let e=0;eac)throw Error(`Cannot hash more than 2^53 - 1 bits`);for(;r>0;)this.buffer[this.bufferLength++]=t[n++],r--,this.bufferLength===B&&(this.hashBuffer(),this.bufferLength=0)}async digest(){let{inner:e,outer:t}=this;if(e&&t){if(this.finished)throw Error(`Attempted to digest an already finished HMAC.`);this.finished=!0;let n=e.digestSync();return t.update(n),t.digestSync()}return this.digestSync()}reset(){this.state=Int32Array.from(sc),this.buffer=new Uint8Array(64),this.bufferLength=0,this.bytesHashed=0}digestSync(){let e=this.state.slice(),t=this.buffer.slice(),n=this.bufferLength,r=this.bytesHashed*8,i=new DataView(t.buffer,t.byteOffset,t.byteLength);if(i.setUint8(n++,128),(n-1)%B>=56){for(let e=n;e>>24&255,a[t*4+1]=e[t]>>>16&255,a[t*4+2]=e[t]>>>8&255,a[t*4+3]=e[t]>>>0&255;return a}static normalizeKey(t){let n=F(t);if(n.byteLength>B){let t=new e;t.update(n);let r=t.digestSync(),i=new Uint8Array(B);return i.set(r),i}if(n.byteLength>>17|t<<15)^(t>>>19|t<<13)^t>>>10;t=n[e-15];let i=(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3;n[e]=(r+n[e-7]|0)+(i+n[e-16]|0)}let d=(((s>>>6|s<<26)^(s>>>11|s<<21)^(s>>>25|s<<7))+(s&c^~s&l)|0)+(u+(cc[e]+n[e]|0)|0)|0,f=((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+d|0,o=a,a=i,i=r,r=d+f|0}e[0]+=r,e[1]+=i,e[2]+=a,e[3]+=o,e[4]+=s,e[5]+=c,e[6]+=l,e[7]+=u}},sc=new Int32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),cc=new Int32Array([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]),{digest:lc,sign:uc,importKey:dc}=globalThis?.crypto?.subtle??{},fc=typeof lc==`function`&&typeof uc==`function`&&typeof dc==`function`?globalThis.crypto.subtle:void 0,pc=8388608,mc=class{digestLength=32;secret;pending=[];pendingBytes=0;fallback;finished=!1;constructor(e){e&&(this.secret=F(e))}update(e){if(this.finished)throw Error(`Attempted to update an already finished HMAC.`);if(this.fallback){this.fallback.update(e);return}this.pending.push(e.slice()),this.pendingBytes+=e.byteLength,this.pendingBytes>=pc&&this.switchToFallback()}async digest(){if(this.fallback)return this.fallback.digest();if(this.secret&&this.finished)throw Error(`Attempted to digest an already finished HMAC.`);let e=kr(this.pending);if(fc){if(this.secret){this.finished=!0;let t=await fc.importKey(`raw`,this.secret,{name:`HMAC`,hash:`SHA-256`},!1,[`sign`]),n=await fc.sign(`HMAC`,t,e);return new Uint8Array(n)}let t=await fc.digest(`SHA-256`,e);return new Uint8Array(t)}let t=new oc(this.secret);return t.update(e),t.digest()}reset(){this.pending=[],this.pendingBytes=0,this.fallback=void 0,this.finished=!1}switchToFallback(){let e=new oc(this.secret);for(let t of this.pending)e.update(t);this.fallback=e,this.pending=[],this.pendingBytes=0}},hc;function V(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;en?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}var gc=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},_c=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(hc=globalThis).__zod_globalConfig??(hc.__zod_globalConfig={});var vc=globalThis.__zod_globalConfig;function H(e){return e&&Object.assign(vc,e),vc}function yc(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function bc(e,t){return typeof t==`bigint`?t.toString():t}function xc(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Sc(e){return e==null}function Cc(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function wc(e,t){let n=e/t,r=Math.round(n),i=2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r){};function jc(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var Mc=xc(()=>{if(vc.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function Nc(e){if(jc(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return jc(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function Pc(e){return Nc(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var Fc=new Set([`string`,`number`,`symbol`]);function Ic(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function Lc(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function W(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function Rc(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}var zc={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Bc(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return Lc(e,Dc(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return Ec(this,`shape`,e),e},checks:[]}))}function Vc(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return Lc(e,Dc(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return Ec(this,`shape`,r),r},checks:[]}))}function Hc(e,t){if(!Nc(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return Lc(e,Dc(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Ec(this,`shape`,n),n}}))}function Uc(e,t){if(!Nc(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return Lc(e,Dc(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Ec(this,`shape`,n),n}}))}function Wc(e,t){if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);return Lc(e,Dc(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return Ec(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function Gc(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return Lc(t,Dc(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return Ec(this,`shape`,i),i},checks:[]}))}function Kc(e,t,n){return Lc(t,Dc(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return Ec(this,`shape`,i),i}}))}function qc(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Xc(e){return typeof e==`string`?e:e?.message}function G(e,t,n){let r=e.message?e.message:Xc(e.inst?._zod.def?.error?.(e))??Xc(t?.error?.(e))??Xc(n.customError?.(e))??Xc(n.localeError?.(e))??`Invalid input`,{inst:i,continue:a,input:o,...s}=e;return s.path??=[],s.message=r,t?.reportInput&&(s.input=o),s}function Zc(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function Qc(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}var $c=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,bc,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},el=V(`$ZodError`,$c),tl=V(`$ZodError`,$c,{Parent:Error});function nl(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function rl(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i(t,n,r,i)=>{let a=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new gc;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>G(e,a,H())));throw Ac(t,i?.callee),t}return o.value},al=e=>async(t,n,r,i)=>{let a=r?{...r,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>G(e,a,H())));throw Ac(t,i?.callee),t}return o.value},ol=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new gc;return a.issues.length?{success:!1,error:new(e??el)(a.issues.map(e=>G(e,i,H())))}:{success:!0,data:a.value}},sl=ol(tl),cl=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>G(e,i,H())))}:{success:!0,data:a.value}},ll=cl(tl),ul=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return il(e)(t,n,i)},dl=e=>(t,n,r)=>il(e)(t,n,r),fl=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return al(e)(t,n,i)},pl=e=>async(t,n,r)=>al(e)(t,n,r),ml=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return ol(e)(t,n,i)},hl=e=>(t,n,r)=>ol(e)(t,n,r),gl=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return cl(e)(t,n,i)},_l=e=>async(t,n,r)=>cl(e)(t,n,r),vl=/^[cC][0-9a-z]{6,}$/,yl=/^[0-9a-z]+$/,bl=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,xl=/^[0-9a-vA-V]{20}$/,Sl=/^[A-Za-z0-9]{27}$/,Cl=/^[a-zA-Z0-9_-]{21}$/,wl=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Tl=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,El=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Dl=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Ol=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;function kl(){return new RegExp(Ol,`u`)}var Al=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,jl=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Ml=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Nl=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Pl=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Fl=/^[A-Za-z0-9_-]*$/,Il=/^https?$/,Ll=/^\+[1-9]\d{6,14}$/,Rl=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`,zl=RegExp(`^${Rl}$`);function Bl(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Vl(e){return RegExp(`^${Bl(e)}$`)}function Hl(e){let t=Bl({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${Rl}T(?:${r})$`)}var Ul=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},Wl=/^-?\d+$/,Gl=/^-?\d+(?:\.\d+)?$/,Kl=/^(?:true|false)$/i,ql=/^[^A-Z]*$/,Jl=/^[^a-z]*$/,K=V(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Yl={number:`number`,bigint:`bigint`,object:`date`},Xl=V(`$ZodCheckLessThan`,(e,t)=>{K.init(e,t);let n=Yl[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value{(t.inclusive?r.value<=t.value:r.value{K.init(e,t);let n=Yl[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ql=V(`$ZodCheckMultipleOf`,(e,t)=>{K.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):wc(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),$l=V(`$ZodCheckNumberFormat`,(e,t)=>{K.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=zc[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=Wl)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}sa&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),eu=V(`$ZodCheckMaxLength`,(e,t)=>{var n;K.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!Sc(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum{let r=n.value;if(r.length<=t.maximum)return;let i=Zc(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),tu=V(`$ZodCheckMinLength`,(e,t)=>{var n;K.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!Sc(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=Zc(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),nu=V(`$ZodCheckLengthEquals`,(e,t)=>{var n;K.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!Sc(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=Zc(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),ru=V(`$ZodCheckStringFormat`,(e,t)=>{var n,r;K.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),iu=V(`$ZodCheckRegex`,(e,t)=>{ru.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),au=V(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=ql,ru.init(e,t)}),ou=V(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Jl,ru.init(e,t)}),su=V(`$ZodCheckIncludes`,(e,t)=>{K.init(e,t);let n=Ic(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),cu=V(`$ZodCheckStartsWith`,(e,t)=>{K.init(e,t);let n=RegExp(`^${Ic(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),lu=V(`$ZodCheckEndsWith`,(e,t)=>{K.init(e,t);let n=RegExp(`.*${Ic(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),uu=V(`$ZodCheckOverwrite`,(e,t)=>{K.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),du=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(` `).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.args,n=[...(this?.content??[``]).map(e=>` ${e}`)];return new e(...t,n.join(` -`))}},du={major:4,minor:4,patch:3},q=V(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=du;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=Kc(e),i;for(let a of t){if(a._zod.def.when){if(qc(e)||!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new hc;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=Kc(e,t))});else{if(e.issues.length===t)continue;r||=Kc(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(Kc(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new hc;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new hc;return o.then(e=>t(e,r,a))}return t(o,r,a)}}U(e,`~standard`,()=>({validate:t=>{try{let n=ol(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return cl(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),fu=V(`$ZodString`,(e,t)=>{q.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Hl(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),J=V(`$ZodStringFormat`,(e,t)=>{nu.init(e,t),fu.init(e,t)}),pu=V(`$ZodGUID`,(e,t)=>{t.pattern??=wl,J.init(e,t)}),mu=V(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=Tl(e)}else t.pattern??=Tl();J.init(e,t)}),hu=V(`$ZodEmail`,(e,t)=>{t.pattern??=El,J.init(e,t)}),gu=V(`$ZodURL`,(e,t)=>{J.init(e,t),e._zod.check=n=>{try{let r=n.value.trim();if(!t.normalize&&t.protocol?.source===Fl.source&&!/^https?:\/\//i.test(r)){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}let i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(`:`)?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),n.value=t.normalize?i.href:r;return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),_u=V(`$ZodEmoji`,(e,t)=>{t.pattern??=Ol(),J.init(e,t)}),vu=V(`$ZodNanoID`,(e,t)=>{t.pattern??=Sl,J.init(e,t)}),yu=V(`$ZodCUID`,(e,t)=>{t.pattern??=_l,J.init(e,t)}),bu=V(`$ZodCUID2`,(e,t)=>{t.pattern??=vl,J.init(e,t)}),xu=V(`$ZodULID`,(e,t)=>{t.pattern??=yl,J.init(e,t)}),Su=V(`$ZodXID`,(e,t)=>{t.pattern??=bl,J.init(e,t)}),Cu=V(`$ZodKSUID`,(e,t)=>{t.pattern??=xl,J.init(e,t)}),wu=V(`$ZodISODateTime`,(e,t)=>{t.pattern??=Vl(t),J.init(e,t)}),Tu=V(`$ZodISODate`,(e,t)=>{t.pattern??=Rl,J.init(e,t)}),Eu=V(`$ZodISOTime`,(e,t)=>{t.pattern??=Bl(t),J.init(e,t)}),Du=V(`$ZodISODuration`,(e,t)=>{t.pattern??=Cl,J.init(e,t)}),Ou=V(`$ZodIPv4`,(e,t)=>{t.pattern??=kl,J.init(e,t),e._zod.bag.format=`ipv4`}),ku=V(`$ZodIPv6`,(e,t)=>{t.pattern??=Al,J.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}}),Au=V(`$ZodCIDRv4`,(e,t)=>{t.pattern??=jl,J.init(e,t)}),ju=V(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Ml,J.init(e,t),e._zod.check=n=>{let r=n.value.split(`/`);try{if(r.length!==2)throw Error();let[e,t]=r;if(!t)throw Error();let n=Number(t);if(`${n}`!==t||n<0||n>128)throw Error();new URL(`http://[${e}]`)}catch{n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}}});function Mu(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var Nu=V(`$ZodBase64`,(e,t)=>{t.pattern??=Nl,J.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{Mu(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function Pu(e){if(!Pl.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return Mu(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var Fu=V(`$ZodBase64URL`,(e,t)=>{t.pattern??=Pl,J.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{Pu(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),Iu=V(`$ZodE164`,(e,t)=>{t.pattern??=Il,J.init(e,t)});function Lu(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var Ru=V(`$ZodJWT`,(e,t)=>{J.init(e,t),e._zod.check=n=>{Lu(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),zu=V(`$ZodNumber`,(e,t)=>{q.init(e,t),e._zod.pattern=e._zod.bag.pattern??Wl,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),Bu=V(`$ZodNumberFormat`,(e,t)=>{Ql.init(e,t),zu.init(e,t)}),Vu=V(`$ZodBoolean`,(e,t)=>{q.init(e,t),e._zod.pattern=Gl,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),Hu=V(`$ZodUnknown`,(e,t)=>{q.init(e,t),e._zod.parse=e=>e}),Uu=V(`$ZodNever`,(e,t)=>{q.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function Wu(e,t,n){e.issues.length&&t.issues.push(...Jc(n,e.issues)),t.value[n]=e.value}var Gu=V(`$ZodArray`,(e,t)=>{q.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;eWu(t,n,e))):Wu(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function Ku(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...Jc(n,e.issues))}if(!o&&!i){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}function qu(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let n=Lc(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Ju(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin===`optional`,d=c.optout===`optional`;for(let i in t){if(i===`__proto__`||s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>Ku(e,n,i,t,u,d))):Ku(a,n,i,t,u,d)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}var Yu=V(`$ZodObject`,(e,t)=>{if(q.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,"shape",{get:()=>{let n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}let n=bc(()=>qu(t));U(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=Ac,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optin===`optional`,i=n._zod.optout===`optional`,a=n._zod.run({value:s[e],issues:[]},o);a instanceof Promise?c.push(a.then(n=>Ku(n,t,e,s,r,i))):Ku(a,t,e,s,r,i)}return i?Ju(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),Xu=V(`$ZodObjectJIT`,(e,t)=>{Yu.init(e,t);let n=e._zod.parse,r=bc(()=>qu(t)),i=e=>{let t=new uu([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=Dc(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write(`const input = payload.value;`);let a=Object.create(null),o=0;for(let e of n.keys)a[e]=`key_${o++}`;t.write(`const newResult = {};`);for(let r of n.keys){let n=a[r],o=Dc(r),s=e[r],c=s?._zod?.optin===`optional`,l=s?._zod?.optout===`optional`;t.write(`const ${n} = ${i(r)};`),c&&l?t.write(` +`))}},fu={major:4,minor:4,patch:3},q=V(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=fu;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=qc(e),i;for(let a of t){if(a._zod.def.when){if(Jc(e)||!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new gc;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=qc(e,t))});else{if(e.issues.length===t)continue;r||=qc(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(qc(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new gc;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new gc;return o.then(e=>t(e,r,a))}return t(o,r,a)}}U(e,`~standard`,()=>({validate:t=>{try{let n=sl(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return ll(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),pu=V(`$ZodString`,(e,t)=>{q.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Ul(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),J=V(`$ZodStringFormat`,(e,t)=>{ru.init(e,t),pu.init(e,t)}),mu=V(`$ZodGUID`,(e,t)=>{t.pattern??=Tl,J.init(e,t)}),hu=V(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=El(e)}else t.pattern??=El();J.init(e,t)}),gu=V(`$ZodEmail`,(e,t)=>{t.pattern??=Dl,J.init(e,t)}),_u=V(`$ZodURL`,(e,t)=>{J.init(e,t),e._zod.check=n=>{try{let r=n.value.trim();if(!t.normalize&&t.protocol?.source===Il.source&&!/^https?:\/\//i.test(r)){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}let i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(`:`)?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),n.value=t.normalize?i.href:r;return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),vu=V(`$ZodEmoji`,(e,t)=>{t.pattern??=kl(),J.init(e,t)}),yu=V(`$ZodNanoID`,(e,t)=>{t.pattern??=Cl,J.init(e,t)}),bu=V(`$ZodCUID`,(e,t)=>{t.pattern??=vl,J.init(e,t)}),xu=V(`$ZodCUID2`,(e,t)=>{t.pattern??=yl,J.init(e,t)}),Su=V(`$ZodULID`,(e,t)=>{t.pattern??=bl,J.init(e,t)}),Cu=V(`$ZodXID`,(e,t)=>{t.pattern??=xl,J.init(e,t)}),wu=V(`$ZodKSUID`,(e,t)=>{t.pattern??=Sl,J.init(e,t)}),Tu=V(`$ZodISODateTime`,(e,t)=>{t.pattern??=Hl(t),J.init(e,t)}),Eu=V(`$ZodISODate`,(e,t)=>{t.pattern??=zl,J.init(e,t)}),Du=V(`$ZodISOTime`,(e,t)=>{t.pattern??=Vl(t),J.init(e,t)}),Ou=V(`$ZodISODuration`,(e,t)=>{t.pattern??=wl,J.init(e,t)}),ku=V(`$ZodIPv4`,(e,t)=>{t.pattern??=Al,J.init(e,t),e._zod.bag.format=`ipv4`}),Au=V(`$ZodIPv6`,(e,t)=>{t.pattern??=jl,J.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}}),ju=V(`$ZodCIDRv4`,(e,t)=>{t.pattern??=Ml,J.init(e,t)}),Mu=V(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Nl,J.init(e,t),e._zod.check=n=>{let r=n.value.split(`/`);try{if(r.length!==2)throw Error();let[e,t]=r;if(!t)throw Error();let n=Number(t);if(`${n}`!==t||n<0||n>128)throw Error();new URL(`http://[${e}]`)}catch{n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}}});function Nu(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var Pu=V(`$ZodBase64`,(e,t)=>{t.pattern??=Pl,J.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{Nu(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function Fu(e){if(!Fl.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return Nu(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var Iu=V(`$ZodBase64URL`,(e,t)=>{t.pattern??=Fl,J.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{Fu(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),Lu=V(`$ZodE164`,(e,t)=>{t.pattern??=Ll,J.init(e,t)});function Ru(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var zu=V(`$ZodJWT`,(e,t)=>{J.init(e,t),e._zod.check=n=>{Ru(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),Bu=V(`$ZodNumber`,(e,t)=>{q.init(e,t),e._zod.pattern=e._zod.bag.pattern??Gl,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),Vu=V(`$ZodNumberFormat`,(e,t)=>{$l.init(e,t),Bu.init(e,t)}),Hu=V(`$ZodBoolean`,(e,t)=>{q.init(e,t),e._zod.pattern=Kl,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),Uu=V(`$ZodUnknown`,(e,t)=>{q.init(e,t),e._zod.parse=e=>e}),Wu=V(`$ZodNever`,(e,t)=>{q.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function Gu(e,t,n){e.issues.length&&t.issues.push(...Yc(n,e.issues)),t.value[n]=e.value}var Ku=V(`$ZodArray`,(e,t)=>{q.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;eGu(t,n,e))):Gu(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function qu(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...Yc(n,e.issues))}if(!o&&!i){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}function Ju(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let n=Rc(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Yu(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin===`optional`,d=c.optout===`optional`;for(let i in t){if(i===`__proto__`||s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>qu(e,n,i,t,u,d))):qu(a,n,i,t,u,d)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}var Xu=V(`$ZodObject`,(e,t)=>{if(q.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,"shape",{get:()=>{let n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}let n=xc(()=>Ju(t));U(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=jc,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optin===`optional`,i=n._zod.optout===`optional`,a=n._zod.run({value:s[e],issues:[]},o);a instanceof Promise?c.push(a.then(n=>qu(n,t,e,s,r,i))):qu(a,t,e,s,r,i)}return i?Yu(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),Zu=V(`$ZodObjectJIT`,(e,t)=>{Xu.init(e,t);let n=e._zod.parse,r=xc(()=>Ju(t)),i=e=>{let t=new du([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=Oc(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write(`const input = payload.value;`);let a=Object.create(null),o=0;for(let e of n.keys)a[e]=`key_${o++}`;t.write(`const newResult = {};`);for(let r of n.keys){let n=a[r],o=Oc(r),s=e[r],c=s?._zod?.optin===`optional`,l=s?._zod?.optout===`optional`;t.write(`const ${n} = ${i(r)};`),c&&l?t.write(` if (${n}.issues.length) { if (${o} in input) { payload.issues = payload.issues.concat(${n}.issues.map(iss => ({ @@ -75,6 +75,6 @@ ${n(o)}`}getCanonicalPath({path:e}){if(this.uriEscapePath){let t=[];for(let n of } } - `)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=Ac,s=!_c.jitless,c=s&&jc.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?Ju([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function Zu(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=>!Kc(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=>G(e,r,H())))}),t)}var Qu=V(`$ZodUnion`,(e,t)=>{q.init(e,t),U(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),U(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),U(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),U(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=>Sc(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>Zu(t,r,e,i)):Zu(o,r,e,i)}}),$u=V(`$ZodIntersection`,(e,t)=>{q.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])=>td(e,t,n)):td(e,i,a)}});function ed(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Mc(e)&&Mc(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=ed(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}),Kc(e))return e;let o=ed(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var nd=V(`$ZodRecord`,(e,t)=>{q.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Mc(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 c of o)if(typeof c==`string`||typeof c==`number`||typeof c==`symbol`){s.add(typeof c==`number`?c.toString():c);let o=t.keyType._zod.run({value:c,issues:[]},r);if(o instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(o.issues.length){n.issues.push({code:`invalid_key`,origin:`record`,issues:o.issues.map(e=>G(e,r,H())),input:c,path:[c],inst:e});continue}let l=o.value,u=t.valueType._zod.run({value:i[c],issues:[]},r);u instanceof Promise?a.push(u.then(e=>{e.issues.length&&n.issues.push(...Jc(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...Jc(c,u.issues)),n.value[l]=u.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__`||!Object.prototype.propertyIsEnumerable.call(i,o))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`&&Wl.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=>G(e,r,H())),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(...Jc(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...Jc(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),rd=V(`$ZodEnum`,(e,t)=>{q.init(e,t);let n=vc(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>Pc.has(typeof e)).map(e=>typeof e==`string`?Fc(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}}),id=V(`$ZodTransform`,(e,t)=>{q.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new gc(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.fallback=!0,n));if(i instanceof Promise)throw new hc;return n.value=i,n.fallback=!0,n}});function ad(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var od=V(`$ZodOptional`,(e,t)=>{q.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,U(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),U(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${Sc(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=e.value,i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(e=>ad(e,r)):ad(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),sd=V(`$ZodExactOptional`,(e,t)=>{od.init(e,t),U(e._zod,`values`,()=>t.innerType._zod.values),U(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),cd=V(`$ZodNullable`,(e,t)=>{q.init(e,t),U(e._zod,`optin`,()=>t.innerType._zod.optin),U(e._zod,`optout`,()=>t.innerType._zod.optout),U(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${Sc(e.source)}|null)$`):void 0}),U(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)}),ld=V(`$ZodDefault`,(e,t)=>{q.init(e,t),e._zod.optin=`optional`,U(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=>ud(e,t)):ud(r,t)}});function ud(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var dd=V(`$ZodPrefault`,(e,t)=>{q.init(e,t),e._zod.optin=`optional`,U(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))}),fd=V(`$ZodNonOptional`,(e,t)=>{q.init(e,t),U(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=>pd(t,e)):pd(i,e)}});function pd(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 md=V(`$ZodCatch`,(e,t)=>{q.init(e,t),e._zod.optin=`optional`,U(e._zod,`optout`,()=>t.innerType._zod.optout),U(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=>G(e,n,H()))},input:e.value}),e.issues=[],e.fallback=!0),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>G(e,n,H()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),hd=V(`$ZodPipe`,(e,t)=>{q.init(e,t),U(e._zod,`values`,()=>t.in._zod.values),U(e._zod,`optin`,()=>t.in._zod.optin),U(e._zod,`optout`,()=>t.out._zod.optout),U(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=>gd(e,t.in,n)):gd(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>gd(e,t.out,n)):gd(r,t.out,n)}});function gd(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}var _d=V(`$ZodReadonly`,(e,t)=>{q.init(e,t),U(e._zod,`propValues`,()=>t.innerType._zod.propValues),U(e._zod,`values`,()=>t.innerType._zod.values),U(e._zod,`optin`,()=>t.innerType?._zod?.optin),U(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(vd):vd(r)}});function vd(e){return e.value=Object.freeze(e.value),e}var yd=V(`$ZodCustom`,(e,t)=>{K.init(e,t),q.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=>bd(t,n,r,e));bd(i,n,r,e)}});function bd(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(Zc(e))}}var xd,Sd=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 Cd(){return new Sd}(xd=globalThis).__zod_globalRegistry??(xd.__zod_globalRegistry=Cd());var wd=globalThis.__zod_globalRegistry;function Td(e,t){return new e({type:`string`,...W(t)})}function Ed(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...W(t)})}function Dd(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...W(t)})}function Od(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...W(t)})}function kd(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...W(t)})}function Ad(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...W(t)})}function jd(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...W(t)})}function Md(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...W(t)})}function Nd(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...W(t)})}function Pd(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...W(t)})}function Fd(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...W(t)})}function Id(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...W(t)})}function Ld(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...W(t)})}function Rd(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...W(t)})}function zd(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...W(t)})}function Bd(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...W(t)})}function Vd(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...W(t)})}function Hd(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...W(t)})}function Ud(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...W(t)})}function Wd(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...W(t)})}function Gd(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...W(t)})}function Kd(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...W(t)})}function qd(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...W(t)})}function Jd(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...W(t)})}function Yd(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...W(t)})}function Xd(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...W(t)})}function Zd(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...W(t)})}function Qd(e,t){return new e({type:`number`,checks:[],...W(t)})}function $d(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...W(t)})}function ef(e,t){return new e({type:`boolean`,...W(t)})}function tf(e){return new e({type:`unknown`})}function nf(e,t){return new e({type:`never`,...W(t)})}function rf(e,t){return new Yl({check:`less_than`,...W(t),value:e,inclusive:!1})}function af(e,t){return new Yl({check:`less_than`,...W(t),value:e,inclusive:!0})}function of(e,t){return new Xl({check:`greater_than`,...W(t),value:e,inclusive:!1})}function sf(e,t){return new Xl({check:`greater_than`,...W(t),value:e,inclusive:!0})}function cf(e,t){return new Zl({check:`multiple_of`,...W(t),value:e})}function lf(e,t){return new $l({check:`max_length`,...W(t),maximum:e})}function uf(e,t){return new eu({check:`min_length`,...W(t),minimum:e})}function df(e,t){return new tu({check:`length_equals`,...W(t),length:e})}function ff(e,t){return new ru({check:`string_format`,format:`regex`,...W(t),pattern:e})}function pf(e){return new iu({check:`string_format`,format:`lowercase`,...W(e)})}function mf(e){return new au({check:`string_format`,format:`uppercase`,...W(e)})}function hf(e,t){return new ou({check:`string_format`,format:`includes`,...W(t),includes:e})}function gf(e,t){return new su({check:`string_format`,format:`starts_with`,...W(t),prefix:e})}function _f(e,t){return new cu({check:`string_format`,format:`ends_with`,...W(t),suffix:e})}function vf(e){return new lu({check:`overwrite`,tx:e})}function yf(e){return vf(t=>t.normalize(e))}function bf(){return vf(e=>e.trim())}function xf(){return vf(e=>e.toLowerCase())}function Sf(){return vf(e=>e.toUpperCase())}function Cf(){return vf(e=>Oc(e))}function wf(e,t,n){return new e({type:`array`,element:t,...W(n)})}function Tf(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...W(n)})}function Ef(e,t){let n=Df(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(Zc(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=t.value,r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(Zc(r))}},e(t.value,t)),t);return n}function Df(e,t){let n=new K({check:`custom`,...W(t)});return n._zod.check=e,n}function Of(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??wd,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 Y(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,Y(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`&&X(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function kf(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=jc,s=!vc.jitless,c=s&&Mc.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?Yu([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function Qu(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=>!qc(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=>G(e,r,H())))}),t)}var $u=V(`$ZodUnion`,(e,t)=>{q.init(e,t),U(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),U(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),U(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),U(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=>Cc(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>Qu(t,r,e,i)):Qu(o,r,e,i)}}),ed=V(`$ZodIntersection`,(e,t)=>{q.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])=>nd(e,t,n)):nd(e,i,a)}});function td(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Nc(e)&&Nc(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=td(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}),qc(e))return e;let o=td(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var rd=V(`$ZodRecord`,(e,t)=>{q.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Nc(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 c of o)if(typeof c==`string`||typeof c==`number`||typeof c==`symbol`){s.add(typeof c==`number`?c.toString():c);let o=t.keyType._zod.run({value:c,issues:[]},r);if(o instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(o.issues.length){n.issues.push({code:`invalid_key`,origin:`record`,issues:o.issues.map(e=>G(e,r,H())),input:c,path:[c],inst:e});continue}let l=o.value,u=t.valueType._zod.run({value:i[c],issues:[]},r);u instanceof Promise?a.push(u.then(e=>{e.issues.length&&n.issues.push(...Yc(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...Yc(c,u.issues)),n.value[l]=u.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__`||!Object.prototype.propertyIsEnumerable.call(i,o))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`&&Gl.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=>G(e,r,H())),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(...Yc(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...Yc(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),id=V(`$ZodEnum`,(e,t)=>{q.init(e,t);let n=yc(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>Fc.has(typeof e)).map(e=>typeof e==`string`?Ic(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}}),ad=V(`$ZodTransform`,(e,t)=>{q.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new _c(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.fallback=!0,n));if(i instanceof Promise)throw new gc;return n.value=i,n.fallback=!0,n}});function od(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var sd=V(`$ZodOptional`,(e,t)=>{q.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,U(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),U(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${Cc(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=e.value,i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(e=>od(e,r)):od(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),cd=V(`$ZodExactOptional`,(e,t)=>{sd.init(e,t),U(e._zod,`values`,()=>t.innerType._zod.values),U(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),ld=V(`$ZodNullable`,(e,t)=>{q.init(e,t),U(e._zod,`optin`,()=>t.innerType._zod.optin),U(e._zod,`optout`,()=>t.innerType._zod.optout),U(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${Cc(e.source)}|null)$`):void 0}),U(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)}),ud=V(`$ZodDefault`,(e,t)=>{q.init(e,t),e._zod.optin=`optional`,U(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=>dd(e,t)):dd(r,t)}});function dd(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var fd=V(`$ZodPrefault`,(e,t)=>{q.init(e,t),e._zod.optin=`optional`,U(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))}),pd=V(`$ZodNonOptional`,(e,t)=>{q.init(e,t),U(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=>md(t,e)):md(i,e)}});function md(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 hd=V(`$ZodCatch`,(e,t)=>{q.init(e,t),e._zod.optin=`optional`,U(e._zod,`optout`,()=>t.innerType._zod.optout),U(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=>G(e,n,H()))},input:e.value}),e.issues=[],e.fallback=!0),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>G(e,n,H()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),gd=V(`$ZodPipe`,(e,t)=>{q.init(e,t),U(e._zod,`values`,()=>t.in._zod.values),U(e._zod,`optin`,()=>t.in._zod.optin),U(e._zod,`optout`,()=>t.out._zod.optout),U(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=>_d(e,t.in,n)):_d(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>_d(e,t.out,n)):_d(r,t.out,n)}});function _d(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}var vd=V(`$ZodReadonly`,(e,t)=>{q.init(e,t),U(e._zod,`propValues`,()=>t.innerType._zod.propValues),U(e._zod,`values`,()=>t.innerType._zod.values),U(e._zod,`optin`,()=>t.innerType?._zod?.optin),U(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(yd):yd(r)}});function yd(e){return e.value=Object.freeze(e.value),e}var bd=V(`$ZodCustom`,(e,t)=>{K.init(e,t),q.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=>xd(t,n,r,e));xd(i,n,r,e)}});function xd(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(Qc(e))}}var Sd,Cd=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 wd(){return new Cd}(Sd=globalThis).__zod_globalRegistry??(Sd.__zod_globalRegistry=wd());var Td=globalThis.__zod_globalRegistry;function Ed(e,t){return new e({type:`string`,...W(t)})}function Dd(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...W(t)})}function Od(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...W(t)})}function kd(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...W(t)})}function Ad(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...W(t)})}function jd(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...W(t)})}function Md(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...W(t)})}function Nd(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...W(t)})}function Pd(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...W(t)})}function Fd(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...W(t)})}function Id(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...W(t)})}function Ld(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...W(t)})}function Rd(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...W(t)})}function zd(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...W(t)})}function Bd(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...W(t)})}function Vd(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...W(t)})}function Hd(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...W(t)})}function Ud(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...W(t)})}function Wd(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...W(t)})}function Gd(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...W(t)})}function Kd(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...W(t)})}function qd(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...W(t)})}function Jd(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...W(t)})}function Yd(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...W(t)})}function Xd(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...W(t)})}function Zd(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...W(t)})}function Qd(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...W(t)})}function $d(e,t){return new e({type:`number`,checks:[],...W(t)})}function ef(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...W(t)})}function tf(e,t){return new e({type:`boolean`,...W(t)})}function nf(e){return new e({type:`unknown`})}function rf(e,t){return new e({type:`never`,...W(t)})}function af(e,t){return new Xl({check:`less_than`,...W(t),value:e,inclusive:!1})}function of(e,t){return new Xl({check:`less_than`,...W(t),value:e,inclusive:!0})}function sf(e,t){return new Zl({check:`greater_than`,...W(t),value:e,inclusive:!1})}function cf(e,t){return new Zl({check:`greater_than`,...W(t),value:e,inclusive:!0})}function lf(e,t){return new Ql({check:`multiple_of`,...W(t),value:e})}function uf(e,t){return new eu({check:`max_length`,...W(t),maximum:e})}function df(e,t){return new tu({check:`min_length`,...W(t),minimum:e})}function ff(e,t){return new nu({check:`length_equals`,...W(t),length:e})}function pf(e,t){return new iu({check:`string_format`,format:`regex`,...W(t),pattern:e})}function mf(e){return new au({check:`string_format`,format:`lowercase`,...W(e)})}function hf(e){return new ou({check:`string_format`,format:`uppercase`,...W(e)})}function gf(e,t){return new su({check:`string_format`,format:`includes`,...W(t),includes:e})}function _f(e,t){return new cu({check:`string_format`,format:`starts_with`,...W(t),prefix:e})}function vf(e,t){return new lu({check:`string_format`,format:`ends_with`,...W(t),suffix:e})}function yf(e){return new uu({check:`overwrite`,tx:e})}function bf(e){return yf(t=>t.normalize(e))}function xf(){return yf(e=>e.trim())}function Sf(){return yf(e=>e.toLowerCase())}function Cf(){return yf(e=>e.toUpperCase())}function wf(){return yf(e=>kc(e))}function Tf(e,t,n){return new e({type:`array`,element:t,...W(n)})}function Ef(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...W(n)})}function Df(e,t){let n=Of(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(Qc(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=t.value,r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(Qc(r))}},e(t.value,t)),t);return n}function Of(e,t){let n=new K({check:`custom`,...W(t)});return n._zod.check=e,n}function kf(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??Td,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 Y(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,Y(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`&&X(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function Af(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 Af(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.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,o[e.defId]=e.def)}e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:Mf(t,`input`,e.processors),output:Mf(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function X(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 X(r.element,n);if(r.type===`set`)return X(r.valueType,n);if(r.type===`lazy`)return X(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 X(r.innerType,n);if(r.type===`intersection`)return X(r.left,n)||X(r.right,n);if(r.type===`record`||r.type===`map`)return X(r.keyType,n)||X(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:X(r.in,n)||X(r.out,n);if(r.type===`object`){for(let e in r.shape)if(X(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(X(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(X(e,n))return!0;return!!(r.rest&&X(r.rest,n))}return!1}var jf=(e,t={})=>n=>{let r=Of({...n,processors:t});return Y(e,r),kf(r,e),Af(r,e)},Mf=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Of({...i??{},target:a,io:t,processors:n});return Y(e,o),kf(o,e),Af(o,e)},Nf={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Pf=(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=Nf[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}))])}},Ff=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;i.type=typeof s==`string`&&s.includes(`int`)?`integer`:`number`;let d=typeof u==`number`&&u>=(a??-1/0),f=typeof l==`number`&&l<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;d?p?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l:typeof o==`number`&&(i.maximum=o),typeof c==`number`&&(i.multipleOf=c)},If=(e,t,n,r)=>{n.type=`boolean`},Lf=(e,t,n,r)=>{n.not={}},Rf=(e,t,n,r)=>{let i=e._zod.def,a=vc(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},zf=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},Bf=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Vf=(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=Y(a.element,t,{...r,path:[...r.path,`items`]})},Hf=(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]=Y(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=Y(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Uf=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>Y(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Wf=(e,t,n,r)=>{let i=e._zod.def,a=Y(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=Y(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]]},Gf=(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=Y(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=Y(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=Y(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)}},Kf=(e,t,n,r)=>{let i=e._zod.def,a=Y(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`}]},qf=(e,t,n,r)=>{let i=e._zod.def;Y(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Jf=(e,t,n,r)=>{let i=e._zod.def;Y(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Yf=(e,t,n,r)=>{let i=e._zod.def;Y(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)))},Xf=(e,t,n,r)=>{let i=e._zod.def;Y(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},Zf=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;Y(o,t,r);let s=t.seen.get(e);s.ref=o},Qf=(e,t,n,r)=>{let i=e._zod.def;Y(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},$f=(e,t,n,r)=>{let i=e._zod.def;Y(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},ep=V(`ZodISODateTime`,(e,t)=>{wu.init(e,t),$.init(e,t)});function tp(e){return Jd(ep,e)}var np=V(`ZodISODate`,(e,t)=>{Tu.init(e,t),$.init(e,t)});function rp(e){return Yd(np,e)}var ip=V(`ZodISOTime`,(e,t)=>{Eu.init(e,t),$.init(e,t)});function ap(e){return Xd(ip,e)}var op=V(`ZodISODuration`,(e,t)=>{Du.init(e,t),$.init(e,t)});function sp(e){return Zd(op,e)}var Z=V(`ZodError`,(e,t)=>{$c.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>nl(e,t)},flatten:{value:t=>tl(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,yc,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,yc,2)}},isEmpty:{get(){return e.issues.length===0}}})},{Parent:Error}),cp=rl(Z),lp=il(Z),up=al(Z),dp=sl(Z),fp=ll(Z),pp=ul(Z),mp=dl(Z),hp=fl(Z),gp=pl(Z),_p=ml(Z),vp=hl(Z),yp=gl(Z),bp=new WeakMap;function xp(e,t,n){let r=Object.getPrototypeOf(e),i=bp.get(r);if(i||(i=new Set,bp.set(r,i)),!i.has(t)){i.add(t);for(let e in n){let t=n[e];Object.defineProperty(r,e,{configurable:!0,enumerable:!1,get(){let n=t.bind(this);return Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:n}),n},set(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:t})}})}}}var Q=V(`ZodType`,(e,t)=>(q.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:Mf(e,`input`),output:Mf(e,`output`)}}),e.toJSONSchema=jf(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>cp(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>up(e,t,n),e.parseAsync=async(t,n)=>lp(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>dp(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>fp(e,t,n),e.decode=(t,n)=>pp(e,t,n),e.encodeAsync=async(t,n)=>mp(e,t,n),e.decodeAsync=async(t,n)=>hp(e,t,n),e.safeEncode=(t,n)=>gp(e,t,n),e.safeDecode=(t,n)=>_p(e,t,n),e.safeEncodeAsync=async(t,n)=>vp(e,t,n),e.safeDecodeAsync=async(t,n)=>yp(e,t,n),xp(e,`ZodType`,{check(...e){let t=this.def;return this.clone(Ec(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return Ic(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(Nm(e,t))},superRefine(e,t){return this.check(Pm(e,t))},overwrite(e){return this.check(vf(e))},optional(){return hm(this)},exactOptional(){return _m(this)},nullable(){return ym(this)},nullish(){return hm(ym(this))},nonoptional(e){return Tm(this,e)},array(){return tm(this)},or(e){return am([this,e])},and(e){return sm(this,e)},transform(e){return km(this,pm(e))},default(e){return xm(this,e)},prefault(e){return Cm(this,e)},catch(e){return Dm(this,e)},pipe(e){return km(this,e)},readonly(){return jm(this)},describe(e){let t=this.clone();return wd.add(t,{description:e}),t},meta(...e){if(e.length===0)return wd.get(this);let t=this.clone();return wd.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e){return e(this)}}),Object.defineProperty(e,"description",{get(){return wd.get(e)?.description},configurable:!0}),e)),Sp=V(`_ZodString`,(e,t)=>{fu.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pf(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,xp(e,`_ZodString`,{regex(...e){return this.check(ff(...e))},includes(...e){return this.check(hf(...e))},startsWith(...e){return this.check(gf(...e))},endsWith(...e){return this.check(_f(...e))},min(...e){return this.check(uf(...e))},max(...e){return this.check(lf(...e))},length(...e){return this.check(df(...e))},nonempty(...e){return this.check(uf(1,...e))},lowercase(e){return this.check(pf(e))},uppercase(e){return this.check(mf(e))},trim(){return this.check(bf())},normalize(...e){return this.check(yf(...e))},toLowerCase(){return this.check(xf())},toUpperCase(){return this.check(Sf())},slugify(){return this.check(Cf())}})}),Cp=V(`ZodString`,(e,t)=>{fu.init(e,t),Sp.init(e,t),e.email=t=>e.check(Ed(Tp,t)),e.url=t=>e.check(Md(Op,t)),e.jwt=t=>e.check(qd(Up,t)),e.emoji=t=>e.check(Nd(kp,t)),e.guid=t=>e.check(Dd(Ep,t)),e.uuid=t=>e.check(Od(Dp,t)),e.uuidv4=t=>e.check(kd(Dp,t)),e.uuidv6=t=>e.check(Ad(Dp,t)),e.uuidv7=t=>e.check(jd(Dp,t)),e.nanoid=t=>e.check(Pd(Ap,t)),e.guid=t=>e.check(Dd(Ep,t)),e.cuid=t=>e.check(Fd(jp,t)),e.cuid2=t=>e.check(Id(Mp,t)),e.ulid=t=>e.check(Ld(Np,t)),e.base64=t=>e.check(Wd(Bp,t)),e.base64url=t=>e.check(Gd(Vp,t)),e.xid=t=>e.check(Rd(Pp,t)),e.ksuid=t=>e.check(zd(Fp,t)),e.ipv4=t=>e.check(Bd(Ip,t)),e.ipv6=t=>e.check(Vd(Lp,t)),e.cidrv4=t=>e.check(Hd(Rp,t)),e.cidrv6=t=>e.check(Ud(zp,t)),e.e164=t=>e.check(Kd(Hp,t)),e.datetime=t=>e.check(tp(t)),e.date=t=>e.check(rp(t)),e.time=t=>e.check(ap(t)),e.duration=t=>e.check(sp(t))});function wp(e){return Td(Cp,e)}var $=V(`ZodStringFormat`,(e,t)=>{J.init(e,t),Sp.init(e,t)}),Tp=V(`ZodEmail`,(e,t)=>{hu.init(e,t),$.init(e,t)}),Ep=V(`ZodGUID`,(e,t)=>{pu.init(e,t),$.init(e,t)}),Dp=V(`ZodUUID`,(e,t)=>{mu.init(e,t),$.init(e,t)}),Op=V(`ZodURL`,(e,t)=>{gu.init(e,t),$.init(e,t)}),kp=V(`ZodEmoji`,(e,t)=>{_u.init(e,t),$.init(e,t)}),Ap=V(`ZodNanoID`,(e,t)=>{vu.init(e,t),$.init(e,t)}),jp=V(`ZodCUID`,(e,t)=>{yu.init(e,t),$.init(e,t)}),Mp=V(`ZodCUID2`,(e,t)=>{bu.init(e,t),$.init(e,t)}),Np=V(`ZodULID`,(e,t)=>{xu.init(e,t),$.init(e,t)}),Pp=V(`ZodXID`,(e,t)=>{Su.init(e,t),$.init(e,t)}),Fp=V(`ZodKSUID`,(e,t)=>{Cu.init(e,t),$.init(e,t)}),Ip=V(`ZodIPv4`,(e,t)=>{Ou.init(e,t),$.init(e,t)}),Lp=V(`ZodIPv6`,(e,t)=>{ku.init(e,t),$.init(e,t)}),Rp=V(`ZodCIDRv4`,(e,t)=>{Au.init(e,t),$.init(e,t)}),zp=V(`ZodCIDRv6`,(e,t)=>{ju.init(e,t),$.init(e,t)}),Bp=V(`ZodBase64`,(e,t)=>{Nu.init(e,t),$.init(e,t)}),Vp=V(`ZodBase64URL`,(e,t)=>{Fu.init(e,t),$.init(e,t)}),Hp=V(`ZodE164`,(e,t)=>{Iu.init(e,t),$.init(e,t)}),Up=V(`ZodJWT`,(e,t)=>{Ru.init(e,t),$.init(e,t)}),Wp=V(`ZodNumber`,(e,t)=>{zu.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ff(e,t,n,r),xp(e,`ZodNumber`,{gt(e,t){return this.check(of(e,t))},gte(e,t){return this.check(sf(e,t))},min(e,t){return this.check(sf(e,t))},lt(e,t){return this.check(rf(e,t))},lte(e,t){return this.check(af(e,t))},max(e,t){return this.check(af(e,t))},int(e){return this.check(qp(e))},safe(e){return this.check(qp(e))},positive(e){return this.check(of(0,e))},nonnegative(e){return this.check(sf(0,e))},negative(e){return this.check(rf(0,e))},nonpositive(e){return this.check(af(0,e))},multipleOf(e,t){return this.check(cf(e,t))},step(e,t){return this.check(cf(e,t))},finite(){return this}});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 Gp(e){return Qd(Wp,e)}var Kp=V(`ZodNumberFormat`,(e,t)=>{Bu.init(e,t),Wp.init(e,t)});function qp(e){return $d(Kp,e)}var Jp=V(`ZodBoolean`,(e,t)=>{Vu.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>If(e,t,n,r)});function Yp(e){return ef(Jp,e)}var Xp=V(`ZodUnknown`,(e,t)=>{Hu.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Zp(){return tf(Xp)}var Qp=V(`ZodNever`,(e,t)=>{Uu.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Lf(e,t,n,r)});function $p(e){return nf(Qp,e)}var em=V(`ZodArray`,(e,t)=>{Gu.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vf(e,t,n,r),e.element=t.element,xp(e,`ZodArray`,{min(e,t){return this.check(uf(e,t))},nonempty(e){return this.check(uf(1,e))},max(e,t){return this.check(lf(e,t))},length(e,t){return this.check(df(e,t))},unwrap(){return this.element}})});function tm(e,t){return wf(em,e,t)}var nm=V(`ZodObject`,(e,t)=>{Xu.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hf(e,t,n,r),U(e,`shape`,()=>t.shape),xp(e,`ZodObject`,{keyof(){return dm(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:Zp()})},loose(){return this.clone({...this._zod.def,catchall:Zp()})},strict(){return this.clone({...this._zod.def,catchall:$p()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return Vc(this,e)},safeExtend(e){return Hc(this,e)},merge(e){return Uc(this,e)},pick(e){return zc(this,e)},omit(e){return Bc(this,e)},partial(...e){return Wc(mm,this,e[0])},required(...e){return Gc(wm,this,e[0])}})});function rm(e,t){return new nm({type:`object`,shape:e??{},...W(t)})}var im=V(`ZodUnion`,(e,t)=>{Qu.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Uf(e,t,n,r),e.options=t.options});function am(e,t){return new im({type:`union`,options:e,...W(t)})}var om=V(`ZodIntersection`,(e,t)=>{$u.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Wf(e,t,n,r)});function sm(e,t){return new om({type:`intersection`,left:e,right:t})}var cm=V(`ZodRecord`,(e,t)=>{nd.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Gf(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function lm(e,t,n){return!t||!t._zod?new cm({type:`record`,keyType:wp(),valueType:e,...W(t)}):new cm({type:`record`,keyType:e,valueType:t,...W(n)})}var um=V(`ZodEnum`,(e,t)=>{rd.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Rf(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 um({...t,checks:[],...W(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 um({...t,checks:[],...W(r),entries:i})}});function dm(e,t){return new um({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...W(t)})}var fm=V(`ZodTransform`,(e,t)=>{id.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Bf(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new gc(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Zc(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(Zc(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n.fallback=!0,n)):(n.value=i,n.fallback=!0,n)}});function pm(e){return new fm({type:`transform`,transform:e})}var mm=V(`ZodOptional`,(e,t)=>{od.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>$f(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function hm(e){return new mm({type:`optional`,innerType:e})}var gm=V(`ZodExactOptional`,(e,t)=>{sd.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>$f(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function _m(e){return new gm({type:`optional`,innerType:e})}var vm=V(`ZodNullable`,(e,t)=>{cd.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Kf(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ym(e){return new vm({type:`nullable`,innerType:e})}var bm=V(`ZodDefault`,(e,t)=>{ld.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Jf(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function xm(e,t){return new bm({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():Nc(t)}})}var Sm=V(`ZodPrefault`,(e,t)=>{dd.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Yf(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Cm(e,t){return new Sm({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():Nc(t)}})}var wm=V(`ZodNonOptional`,(e,t)=>{fd.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qf(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Tm(e,t){return new wm({type:`nonoptional`,innerType:e,...W(t)})}var Em=V(`ZodCatch`,(e,t)=>{md.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xf(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Dm(e,t){return new Em({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var Om=V(`ZodPipe`,(e,t)=>{hd.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Zf(e,t,n,r),e.in=t.in,e.out=t.out});function km(e,t){return new Om({type:`pipe`,in:e,out:t})}var Am=V(`ZodReadonly`,(e,t)=>{_d.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Qf(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function jm(e){return new Am({type:`readonly`,innerType:e})}var Mm=V(`ZodCustom`,(e,t)=>{yd.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>zf(e,t,n,r)});function Nm(e,t={}){return Tf(Mm,e,t)}function Pm(e,t){return Ef(e,t)}var Fm=`spinifex:v2:aws-session`,Im=rm({accessKeyId:wp().min(16,`Access Key ID must be at least 16 characters`),secretAccessKey:wp().min(1,`Secret Access Key is required`)}),Lm=rm({accessKeyId:wp().min(1),secretAccessKey:wp().min(1),sessionToken:wp().min(1),expiration:wp().min(1)}),Rm;function zm(e){let t=Date.parse(e);return Number.isNaN(t)||t<=Date.now()}function Bm(){try{let e=localStorage.getItem(Fm);if(!e)return null;let t=JSON.parse(e),n=Lm.safeParse(t);return n.success?n.data:null}catch{return null}}function Vm(){return Rm===void 0&&(Rm=Bm()),Rm&&zm(Rm.expiration)?(Um(),null):Rm}function Hm(e){try{localStorage.setItem(Fm,JSON.stringify(e)),Rm=e}catch{Rm=e}}function Um(){try{localStorage.removeItem(Fm)}catch{}Rm=null}var Wm=null;function Gm(e){if(typeof e!=`object`||!e)throw TypeError(`cluster config was not an object`);if(!(`region`in e))throw TypeError(`cluster config did not include a region`);let{region:t}=e;if(typeof t!=`string`||t===``)throw TypeError(`cluster config did not include a region`);return t}async function Km(){let e=await fetch(`/api/config`,{cache:`no-store`});if(!e.ok)throw Error(`could not load cluster config: HTTP ${e.status}`);Wm={region:Gm(await e.json())}}function qm(){if(!Wm)throw Error(`cluster config has not been loaded`);return Wm.region}export{Ui as $,ut as $t,Lo as A,_n as At,Ga as B,Lt as Bt,Hs as C,lr as Ct,Go as D,Yn as Dt,Ko as E,Gn as Et,bo as F,an as Ft,R as G,j as Gt,za as H,Ft as Ht,ro as I,M as It,Da as J,ht as Jt,Ma as K,A as Kt,Qa as L,qt as Lt,Mo as M,pn as Mt,Eo as N,mn as Nt,Wo as O,Sn as Ot,xo as P,sn as Pt,Gi as Q,st as Qt,Xa as R,Gt as Rt,Ks as S,Cr as St,As as T,Xn as Tt,Ia as U,Pt as Ut,Ba as V,It as Vt,Na as W,Mt as Wt,Yi as X,mt as Xt,Qi as Y,at as Yt,Wi as Z,gt as Zt,ec as _,zr as _t,Vm as a,Pi as at,Ys as b,Dr as bt,tm as c,Di as ct,Gp as d,wi as dt,ct as en,Hi as et,rm as f,Ci as ft,nc as g,Gr as gt,pc as h,Kr as ht,Um as i,Fi as it,Po as j,gn as jt,Io as k,xn as kt,Yp as l,Ti as lt,wp as m,Yr as mt,Km as n,pt as nn,Bi as nt,Hm as o,Ni as ot,lm as p,xi as pt,ja as q,Dt as qt,Im as r,o as rn,zi as rt,dm as s,Mi as st,qm as t,dt as tn,Vi as tt,qp as u,Si as ut,Zs as v,kr as vt,Fs as w,Un as wt,Js as x,Tr as xt,Xs as y,F as yt,Ya as z,Rt as zt}; \ No newline at end of file +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 jf(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.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,o[e.defId]=e.def)}e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:Nf(t,`input`,e.processors),output:Nf(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function X(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 X(r.element,n);if(r.type===`set`)return X(r.valueType,n);if(r.type===`lazy`)return X(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 X(r.innerType,n);if(r.type===`intersection`)return X(r.left,n)||X(r.right,n);if(r.type===`record`||r.type===`map`)return X(r.keyType,n)||X(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:X(r.in,n)||X(r.out,n);if(r.type===`object`){for(let e in r.shape)if(X(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(X(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(X(e,n))return!0;return!!(r.rest&&X(r.rest,n))}return!1}var Mf=(e,t={})=>n=>{let r=kf({...n,processors:t});return Y(e,r),Af(r,e),jf(r,e)},Nf=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=kf({...i??{},target:a,io:t,processors:n});return Y(e,o),Af(o,e),jf(o,e)},Pf={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Ff=(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=Pf[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}))])}},If=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;i.type=typeof s==`string`&&s.includes(`int`)?`integer`:`number`;let d=typeof u==`number`&&u>=(a??-1/0),f=typeof l==`number`&&l<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;d?p?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l:typeof o==`number`&&(i.maximum=o),typeof c==`number`&&(i.multipleOf=c)},Lf=(e,t,n,r)=>{n.type=`boolean`},Rf=(e,t,n,r)=>{n.not={}},zf=(e,t,n,r)=>{let i=e._zod.def,a=yc(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Bf=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},Vf=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Hf=(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=Y(a.element,t,{...r,path:[...r.path,`items`]})},Uf=(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]=Y(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=Y(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Wf=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>Y(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Gf=(e,t,n,r)=>{let i=e._zod.def,a=Y(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=Y(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]]},Kf=(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=Y(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=Y(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=Y(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)}},qf=(e,t,n,r)=>{let i=e._zod.def,a=Y(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`}]},Jf=(e,t,n,r)=>{let i=e._zod.def;Y(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Yf=(e,t,n,r)=>{let i=e._zod.def;Y(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Xf=(e,t,n,r)=>{let i=e._zod.def;Y(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)))},Zf=(e,t,n,r)=>{let i=e._zod.def;Y(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},Qf=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;Y(o,t,r);let s=t.seen.get(e);s.ref=o},$f=(e,t,n,r)=>{let i=e._zod.def;Y(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},ep=(e,t,n,r)=>{let i=e._zod.def;Y(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},tp=V(`ZodISODateTime`,(e,t)=>{Tu.init(e,t),$.init(e,t)});function np(e){return Yd(tp,e)}var rp=V(`ZodISODate`,(e,t)=>{Eu.init(e,t),$.init(e,t)});function ip(e){return Xd(rp,e)}var ap=V(`ZodISOTime`,(e,t)=>{Du.init(e,t),$.init(e,t)});function op(e){return Zd(ap,e)}var sp=V(`ZodISODuration`,(e,t)=>{Ou.init(e,t),$.init(e,t)});function cp(e){return Qd(sp,e)}var Z=V(`ZodError`,(e,t)=>{el.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>rl(e,t)},flatten:{value:t=>nl(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,bc,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,bc,2)}},isEmpty:{get(){return e.issues.length===0}}})},{Parent:Error}),lp=il(Z),up=al(Z),dp=ol(Z),fp=cl(Z),pp=ul(Z),mp=dl(Z),hp=fl(Z),gp=pl(Z),_p=ml(Z),vp=hl(Z),yp=gl(Z),bp=_l(Z),xp=new WeakMap;function Sp(e,t,n){let r=Object.getPrototypeOf(e),i=xp.get(r);if(i||(i=new Set,xp.set(r,i)),!i.has(t)){i.add(t);for(let e in n){let t=n[e];Object.defineProperty(r,e,{configurable:!0,enumerable:!1,get(){let n=t.bind(this);return Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:n}),n},set(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:t})}})}}}var Q=V(`ZodType`,(e,t)=>(q.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:Nf(e,`input`),output:Nf(e,`output`)}}),e.toJSONSchema=Mf(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>lp(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>dp(e,t,n),e.parseAsync=async(t,n)=>up(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>fp(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>pp(e,t,n),e.decode=(t,n)=>mp(e,t,n),e.encodeAsync=async(t,n)=>hp(e,t,n),e.decodeAsync=async(t,n)=>gp(e,t,n),e.safeEncode=(t,n)=>_p(e,t,n),e.safeDecode=(t,n)=>vp(e,t,n),e.safeEncodeAsync=async(t,n)=>yp(e,t,n),e.safeDecodeAsync=async(t,n)=>bp(e,t,n),Sp(e,`ZodType`,{check(...e){let t=this.def;return this.clone(Dc(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return Lc(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(Pm(e,t))},superRefine(e,t){return this.check(Fm(e,t))},overwrite(e){return this.check(yf(e))},optional(){return gm(this)},exactOptional(){return vm(this)},nullable(){return bm(this)},nullish(){return gm(bm(this))},nonoptional(e){return Em(this,e)},array(){return nm(this)},or(e){return om([this,e])},and(e){return cm(this,e)},transform(e){return Am(this,mm(e))},default(e){return Sm(this,e)},prefault(e){return wm(this,e)},catch(e){return Om(this,e)},pipe(e){return Am(this,e)},readonly(){return Mm(this)},describe(e){let t=this.clone();return Td.add(t,{description:e}),t},meta(...e){if(e.length===0)return Td.get(this);let t=this.clone();return Td.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e){return e(this)}}),Object.defineProperty(e,"description",{get(){return Td.get(e)?.description},configurable:!0}),e)),Cp=V(`_ZodString`,(e,t)=>{pu.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ff(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,Sp(e,`_ZodString`,{regex(...e){return this.check(pf(...e))},includes(...e){return this.check(gf(...e))},startsWith(...e){return this.check(_f(...e))},endsWith(...e){return this.check(vf(...e))},min(...e){return this.check(df(...e))},max(...e){return this.check(uf(...e))},length(...e){return this.check(ff(...e))},nonempty(...e){return this.check(df(1,...e))},lowercase(e){return this.check(mf(e))},uppercase(e){return this.check(hf(e))},trim(){return this.check(xf())},normalize(...e){return this.check(bf(...e))},toLowerCase(){return this.check(Sf())},toUpperCase(){return this.check(Cf())},slugify(){return this.check(wf())}})}),wp=V(`ZodString`,(e,t)=>{pu.init(e,t),Cp.init(e,t),e.email=t=>e.check(Dd(Ep,t)),e.url=t=>e.check(Nd(kp,t)),e.jwt=t=>e.check(Jd(Wp,t)),e.emoji=t=>e.check(Pd(Ap,t)),e.guid=t=>e.check(Od(Dp,t)),e.uuid=t=>e.check(kd(Op,t)),e.uuidv4=t=>e.check(Ad(Op,t)),e.uuidv6=t=>e.check(jd(Op,t)),e.uuidv7=t=>e.check(Md(Op,t)),e.nanoid=t=>e.check(Fd(jp,t)),e.guid=t=>e.check(Od(Dp,t)),e.cuid=t=>e.check(Id(Mp,t)),e.cuid2=t=>e.check(Ld(Np,t)),e.ulid=t=>e.check(Rd(Pp,t)),e.base64=t=>e.check(Gd(Vp,t)),e.base64url=t=>e.check(Kd(Hp,t)),e.xid=t=>e.check(zd(Fp,t)),e.ksuid=t=>e.check(Bd(Ip,t)),e.ipv4=t=>e.check(Vd(Lp,t)),e.ipv6=t=>e.check(Hd(Rp,t)),e.cidrv4=t=>e.check(Ud(zp,t)),e.cidrv6=t=>e.check(Wd(Bp,t)),e.e164=t=>e.check(qd(Up,t)),e.datetime=t=>e.check(np(t)),e.date=t=>e.check(ip(t)),e.time=t=>e.check(op(t)),e.duration=t=>e.check(cp(t))});function Tp(e){return Ed(wp,e)}var $=V(`ZodStringFormat`,(e,t)=>{J.init(e,t),Cp.init(e,t)}),Ep=V(`ZodEmail`,(e,t)=>{gu.init(e,t),$.init(e,t)}),Dp=V(`ZodGUID`,(e,t)=>{mu.init(e,t),$.init(e,t)}),Op=V(`ZodUUID`,(e,t)=>{hu.init(e,t),$.init(e,t)}),kp=V(`ZodURL`,(e,t)=>{_u.init(e,t),$.init(e,t)}),Ap=V(`ZodEmoji`,(e,t)=>{vu.init(e,t),$.init(e,t)}),jp=V(`ZodNanoID`,(e,t)=>{yu.init(e,t),$.init(e,t)}),Mp=V(`ZodCUID`,(e,t)=>{bu.init(e,t),$.init(e,t)}),Np=V(`ZodCUID2`,(e,t)=>{xu.init(e,t),$.init(e,t)}),Pp=V(`ZodULID`,(e,t)=>{Su.init(e,t),$.init(e,t)}),Fp=V(`ZodXID`,(e,t)=>{Cu.init(e,t),$.init(e,t)}),Ip=V(`ZodKSUID`,(e,t)=>{wu.init(e,t),$.init(e,t)}),Lp=V(`ZodIPv4`,(e,t)=>{ku.init(e,t),$.init(e,t)}),Rp=V(`ZodIPv6`,(e,t)=>{Au.init(e,t),$.init(e,t)}),zp=V(`ZodCIDRv4`,(e,t)=>{ju.init(e,t),$.init(e,t)}),Bp=V(`ZodCIDRv6`,(e,t)=>{Mu.init(e,t),$.init(e,t)}),Vp=V(`ZodBase64`,(e,t)=>{Pu.init(e,t),$.init(e,t)}),Hp=V(`ZodBase64URL`,(e,t)=>{Iu.init(e,t),$.init(e,t)}),Up=V(`ZodE164`,(e,t)=>{Lu.init(e,t),$.init(e,t)}),Wp=V(`ZodJWT`,(e,t)=>{zu.init(e,t),$.init(e,t)}),Gp=V(`ZodNumber`,(e,t)=>{Bu.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>If(e,t,n,r),Sp(e,`ZodNumber`,{gt(e,t){return this.check(sf(e,t))},gte(e,t){return this.check(cf(e,t))},min(e,t){return this.check(cf(e,t))},lt(e,t){return this.check(af(e,t))},lte(e,t){return this.check(of(e,t))},max(e,t){return this.check(of(e,t))},int(e){return this.check(Jp(e))},safe(e){return this.check(Jp(e))},positive(e){return this.check(sf(0,e))},nonnegative(e){return this.check(cf(0,e))},negative(e){return this.check(af(0,e))},nonpositive(e){return this.check(of(0,e))},multipleOf(e,t){return this.check(lf(e,t))},step(e,t){return this.check(lf(e,t))},finite(){return this}});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 Kp(e){return $d(Gp,e)}var qp=V(`ZodNumberFormat`,(e,t)=>{Vu.init(e,t),Gp.init(e,t)});function Jp(e){return ef(qp,e)}var Yp=V(`ZodBoolean`,(e,t)=>{Hu.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Lf(e,t,n,r)});function Xp(e){return tf(Yp,e)}var Zp=V(`ZodUnknown`,(e,t)=>{Uu.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Qp(){return nf(Zp)}var $p=V(`ZodNever`,(e,t)=>{Wu.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Rf(e,t,n,r)});function em(e){return rf($p,e)}var tm=V(`ZodArray`,(e,t)=>{Ku.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hf(e,t,n,r),e.element=t.element,Sp(e,`ZodArray`,{min(e,t){return this.check(df(e,t))},nonempty(e){return this.check(df(1,e))},max(e,t){return this.check(uf(e,t))},length(e,t){return this.check(ff(e,t))},unwrap(){return this.element}})});function nm(e,t){return Tf(tm,e,t)}var rm=V(`ZodObject`,(e,t)=>{Zu.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Uf(e,t,n,r),U(e,`shape`,()=>t.shape),Sp(e,`ZodObject`,{keyof(){return fm(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:Qp()})},loose(){return this.clone({...this._zod.def,catchall:Qp()})},strict(){return this.clone({...this._zod.def,catchall:em()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return Hc(this,e)},safeExtend(e){return Uc(this,e)},merge(e){return Wc(this,e)},pick(e){return Bc(this,e)},omit(e){return Vc(this,e)},partial(...e){return Gc(hm,this,e[0])},required(...e){return Kc(Tm,this,e[0])}})});function im(e,t){return new rm({type:`object`,shape:e??{},...W(t)})}var am=V(`ZodUnion`,(e,t)=>{$u.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Wf(e,t,n,r),e.options=t.options});function om(e,t){return new am({type:`union`,options:e,...W(t)})}var sm=V(`ZodIntersection`,(e,t)=>{ed.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Gf(e,t,n,r)});function cm(e,t){return new sm({type:`intersection`,left:e,right:t})}var lm=V(`ZodRecord`,(e,t)=>{rd.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Kf(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function um(e,t,n){return!t||!t._zod?new lm({type:`record`,keyType:Tp(),valueType:e,...W(t)}):new lm({type:`record`,keyType:e,valueType:t,...W(n)})}var dm=V(`ZodEnum`,(e,t)=>{id.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>zf(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 dm({...t,checks:[],...W(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 dm({...t,checks:[],...W(r),entries:i})}});function fm(e,t){return new dm({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...W(t)})}var pm=V(`ZodTransform`,(e,t)=>{ad.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vf(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new _c(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Qc(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(Qc(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n.fallback=!0,n)):(n.value=i,n.fallback=!0,n)}});function mm(e){return new pm({type:`transform`,transform:e})}var hm=V(`ZodOptional`,(e,t)=>{sd.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ep(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function gm(e){return new hm({type:`optional`,innerType:e})}var _m=V(`ZodExactOptional`,(e,t)=>{cd.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ep(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function vm(e){return new _m({type:`optional`,innerType:e})}var ym=V(`ZodNullable`,(e,t)=>{ld.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qf(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function bm(e){return new ym({type:`nullable`,innerType:e})}var xm=V(`ZodDefault`,(e,t)=>{ud.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Yf(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Sm(e,t){return new xm({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():Pc(t)}})}var Cm=V(`ZodPrefault`,(e,t)=>{fd.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xf(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function wm(e,t){return new Cm({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():Pc(t)}})}var Tm=V(`ZodNonOptional`,(e,t)=>{pd.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Jf(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Em(e,t){return new Tm({type:`nonoptional`,innerType:e,...W(t)})}var Dm=V(`ZodCatch`,(e,t)=>{hd.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Zf(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Om(e,t){return new Dm({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var km=V(`ZodPipe`,(e,t)=>{gd.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Qf(e,t,n,r),e.in=t.in,e.out=t.out});function Am(e,t){return new km({type:`pipe`,in:e,out:t})}var jm=V(`ZodReadonly`,(e,t)=>{vd.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>$f(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Mm(e){return new jm({type:`readonly`,innerType:e})}var Nm=V(`ZodCustom`,(e,t)=>{bd.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Bf(e,t,n,r)});function Pm(e,t={}){return Ef(Nm,e,t)}function Fm(e,t){return Df(e,t)}var Im=`spinifex:v2:aws-session`,Lm=im({accessKeyId:Tp().min(16,`Access Key ID must be at least 16 characters`),secretAccessKey:Tp().min(1,`Secret Access Key is required`)}),Rm=im({accessKeyId:Tp().min(1),secretAccessKey:Tp().min(1),sessionToken:Tp().min(1),expiration:Tp().min(1)}),zm;function Bm(e){let t=Date.parse(e);return Number.isNaN(t)||t<=Date.now()}function Vm(){try{let e=localStorage.getItem(Im);if(!e)return null;let t=JSON.parse(e),n=Rm.safeParse(t);return n.success?n.data:null}catch{return null}}function Hm(){return zm===void 0&&(zm=Vm()),zm&&Bm(zm.expiration)?(Wm(),null):zm}function Um(e){try{localStorage.setItem(Im,JSON.stringify(e)),zm=e}catch{zm=e}}function Wm(){try{localStorage.removeItem(Im)}catch{}zm=null}var Gm=null;function Km(e){if(typeof e!=`object`||!e)throw TypeError(`cluster config was not an object`);if(!(`region`in e))throw TypeError(`cluster config did not include a region`);let{region:t}=e;if(typeof t!=`string`||t===``)throw TypeError(`cluster config did not include a region`);return t}async function qm(){let e=await fetch(`/api/config`,{cache:`no-store`});if(!e.ok)throw Error(`could not load cluster config: HTTP ${e.status}`);Gm={region:Km(await e.json())}}function Jm(){if(!Gm)throw Error(`cluster config has not been loaded`);return Gm.region}export{Wi as $,ut as $t,Ro as A,vn as At,Ka as B,Rt as Bt,Us as C,ur as Ct,Ko as D,Xn as Dt,qo as E,Kn as Et,xo as F,on as Ft,R as G,j as Gt,Ba as H,It as Ht,io as I,M as It,Oa as J,gt as Jt,Na as K,A as Kt,$a as L,Jt as Lt,No as M,mn as Mt,Do as N,hn as Nt,Go as O,Cn as Ot,So as P,cn as Pt,Ki as Q,st as Qt,Za as R,Kt as Rt,qs as S,wr as St,js as T,Zn as Tt,La as U,Ft as Ut,Va as V,Lt as Vt,Pa as W,Nt as Wt,Xi as X,ht as Xt,$i as Y,at as Yt,Gi as Z,_t as Zt,tc as _,Br as _t,Hm as a,Fi as at,Xs as b,Or as bt,nm as c,Oi as ct,Kp as d,Ti as dt,ct as en,Ui as et,im as f,wi as ft,rc as g,Kr as gt,mc as h,qr as ht,Wm as i,o as in,Ii as it,Fo as j,_n as jt,Lo as k,Sn as kt,Xp as l,Ei as lt,Tp as m,Xr as mt,qm as n,mt as nn,Vi as nt,Um as o,Pi as ot,um as p,Si as pt,Ma as q,Ot as qt,Lm as r,ft as rn,Bi as rt,fm as s,Ni as st,Jm as t,dt as tn,Hi as tt,Jp as u,Ci as ut,Qs as v,Ar as vt,Is as w,Wn as wt,Ys as x,Er as xt,Zs as y,F as yt,Xa as z,zt}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/commandBuilder.js b/spinifex/services/spinifexui/frontend/dist/assets/commandBuilder.js index 495699c93..307b00759 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/commandBuilder.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/commandBuilder.js @@ -1 +1 @@ -import{At as e,dt as t}from"./cluster-config.js";import{Mn as n}from"./awsClient.js";var r=e(n,`AWSWesleyFrontend`,`EKSClient`,t),i={},a=(e,t,n,r)=>[];export{a as n,r,i as t}; \ No newline at end of file +import{At as e,dt as t}from"./cluster-config.js";import{or as n}from"./awsClient.js";var r=e(n,`AWSWesleyFrontend`,`EKSClient`,t),i={},a=(e,t,n,r)=>[];export{a as n,r,i as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/commandBuilder2.js b/spinifex/services/spinifexui/frontend/dist/assets/commandBuilder2.js index cf66775a9..edcad7587 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/commandBuilder2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/commandBuilder2.js @@ -1 +1 @@ -import{At as e,dt as t}from"./cluster-config.js";import{sn as n}from"./awsClient.js";var r=e(n,`ElasticLoadBalancing_v10`,`ElasticLoadBalancingV2Client`,t),i={},a=(e,t,n,r)=>[];export{a as n,r,i as t}; \ No newline at end of file +import{At as e,dt as t}from"./cluster-config.js";import{Fn as n}from"./awsClient.js";var r=e(n,`ElasticLoadBalancing_v10`,`ElasticLoadBalancingV2Client`,t),i={},a=(e,t,n,r)=>[];export{a as n,r,i as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/commandBuilder3.js b/spinifex/services/spinifexui/frontend/dist/assets/commandBuilder3.js index 47f957900..88f04e32d 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/commandBuilder3.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/commandBuilder3.js @@ -1 +1 @@ -import{At as e,dt as t}from"./cluster-config.js";import{Nt as n}from"./awsClient.js";var r=e(n,`AWSIdentityManagementV20100508`,`IAMClient`,t),i={},a=(e,t,n,r)=>[];export{a as n,r,i as t}; \ No newline at end of file +import{At as e,dt as t}from"./cluster-config.js";import{sn as n}from"./awsClient.js";var r=e(n,`AWSIdentityManagementV20100508`,`IAMClient`,t),i={},a=(e,t,n,r)=>[];export{a as n,r,i as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-db-instance.js b/spinifex/services/spinifexui/frontend/dist/assets/create-db-instance.js new file mode 100644 index 000000000..29da8c927 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-db-instance.js @@ -0,0 +1 @@ +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{n as ee}from"./QueryClientProvider.js";import{t as te}from"./useQuery.js";import{t as r}from"./useSuspenseQuery.js";import{t as ne}from"./useNavigate.js";import{t as i}from"./back-link.js";import{c as a,i as o,n as s,s as c,t as l}from"./select.js";import{i as u,n as d,r as f,t as re}from"./cli-command-panel.js";import{t as p}from"./input.js";import{a as m,n as h,r as g,t as _}from"./field.js";import{M as v,o as y,w as ie}from"./ec2.js";import{h as ae}from"./rds.js";import{t as oe}from"./rds2.js";import{d as se,h as ce,l as le,o as ue}from"./rds3.js";import{a as de,i as fe,n as b,t as pe}from"./zod.js";import{t as me}from"./error-banner.js";import{t as x}from"./page-heading.js";import{t as he}from"./form-actions.js";import{a as S,r as ge}from"./system-managed.js";import{t as C}from"./system-image-required.js";import{n as _e}from"./picker-notice.js";import{a as ve,i as ye,o as w,r as be,s as xe,t as Se}from"./security-group-checkboxes.js";import{t as Ce}from"./tags-field-array.js";var we=e(n(),1),T=t(),E=7,Te=[{id:`multi-az`,label:`Multi-AZ deployment`,note:`Not available on Spinifex — the platform is single-AZ, so a standby would not exist.`},{id:`publicly-accessible`,label:`Public access`,note:`Not available on Spinifex — the endpoint is a private VPC address.`},{id:`storage-autoscaling`,label:`Storage autoscaling`,note:`Not available on Spinifex — allocated storage grows only when you ask it to.`}];function D(){let e=ne(),t=ee(),n=oe(),[u,d]=(0,we.useState)(!1),{data:f}=r(ue),{data:D}=r(ce),{data:O}=r(se),{data:De}=r(ie),{data:Oe}=r(v),{data:ke}=r(y),Ae=ke.Images??[],k=f.DBEngineVersions??[],A=[...new Set(k.map(e=>e.Engine??``).filter(Boolean))],j=(e,t)=>Ae.some(n=>ge(n,e,t)),M=e=>k.find(t=>t.Engine===e&&j(e,t.EngineVersion??``))?.EngineVersion??``,N=e=>M(e).length>0,P=A.filter(N),F=P[0]??``,I=async()=>{d(!0);try{await t.invalidateQueries({queryKey:y.queryKey})}finally{d(!1)}},{control:L,formState:{errors:R,isSubmitting:je},handleSubmit:Me,register:z,setValue:B}=fe({resolver:pe(ae),defaultValues:{dbInstanceIdentifier:``,engine:F,engineVersion:M(F),dbInstanceClass:``,allocatedStorage:20,masterUsername:``,masterUserPassword:``,confirmPassword:``,dbName:``,port:``,dbSubnetGroupName:``,vpcSecurityGroupIds:[],dbParameterGroupName:``,deletionProtection:!1,backupRetentionPeriod:E,preferredBackupWindow:``,preferredMaintenanceWindow:``,tags:[]}}),V=de({control:L}),H=V.engine??``,U=V.dbSubnetGroupName??``,W=V.vpcSecurityGroupIds??[],G=te(le(H)),Ne=k.filter(e=>e.Engine===H),K=G.data?.OrderableDBInstanceOptions??[],q=[...new Set(K.map(e=>e.DBInstanceClass??``).filter(Boolean))],J=K[0],Y=D.DBSubnetGroups??[],Pe=xe(O.DBParameterGroups??[],k,H),Fe=Y.find(e=>e.DBSubnetGroupName===U)?.VpcId,X=Oe.Vpcs?.find(e=>e.IsDefault)?.VpcId,Z=Fe??X,Q=De.SecurityGroups??[],Ie=ye(Q,Z),Le=e=>{let t=e===null?``:e;B(`engine`,t,{shouldValidate:!0}),B(`engineVersion`,M(t)),B(`dbInstanceClass`,``),B(`dbParameterGroupName`,``)},$=e=>B(`vpcSecurityGroupIds`,e,{shouldValidate:!0}),Re=e=>{let t=e===null?``:e,n=Y.find(e=>e.DBSubnetGroupName===t)?.VpcId??X;B(`dbSubnetGroupName`,t,{shouldValidate:!0}),$(be(Q,n,W))},ze=async t=>{await n.mutateAsync(t),await e({to:`/rds/describe-db-instances`})};if(A.length>0&&P.length===0)return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(i,{to:`/rds/describe-db-instances`,children:`Back to databases`}),(0,T.jsx)(x,{title:`Create Database`}),(0,T.jsx)(C,{description:`RDS boots a Spinifex-managed engine image that is not shipped with the platform. Import one before creating a database. Engines offered: ${A.join(`, `)}.`,importCommand:S(A[0]??``),isRechecking:u,onRecheck:I,title:`RDS system image not found`})]});let Be=A.filter(e=>!N(e)),Ve=H===``?{tone:`muted`,text:`Select an engine to see the instance classes this cluster can run.`}:_e(G,q.length===0,{loading:`Loading the instance classes…`,failed:`Could not read the instance classes`,empty:`No instance class this cluster's nodes can run is available for ${H}.`});return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(i,{to:`/rds/describe-db-instances`,children:`Back to databases`}),(0,T.jsx)(x,{title:`Create Database`}),n.error&&(0,T.jsx)(me,{error:n.error,msg:`Failed to create the DB instance`}),(0,T.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:Me(ze),children:[(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-identifier`,children:`DB instance identifier`})}),(0,T.jsx)(p,{"aria-invalid":!!R.dbInstanceIdentifier,id:`db-identifier`,placeholder:`orders-db`,...z(`dbInstanceIdentifier`)}),(0,T.jsx)(h,{children:`Lowercase letters, digits and hyphens. This is also the endpoint hostname, so it cannot be changed later.`}),(0,T.jsx)(g,{errors:[R.dbInstanceIdentifier]})]}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-engine`,children:`Engine`})}),(0,T.jsx)(b,{control:L,name:`engine`,render:({field:e})=>(0,T.jsxs)(l,{onValueChange:Le,value:e.value,children:[(0,T.jsx)(c,{"aria-invalid":!!R.engine,className:`w-full`,id:`db-engine`,children:(0,T.jsx)(a,{placeholder:`Select an engine`})}),(0,T.jsx)(s,{children:A.map(e=>(0,T.jsx)(o,{disabled:!N(e),value:e,children:N(e)?e:`${e} — image not imported`},e))})]})}),(0,T.jsx)(g,{errors:[R.engine]})]}),Be.map(e=>(0,T.jsx)(C,{description:`No ${e} image is imported on this cluster, so a ${e} database cannot launch. The other engines are unaffected.`,importCommand:S(e),isRechecking:u,onRecheck:I,title:`${e} image not found`},e)),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-engine-version`,children:`Engine version`})}),(0,T.jsx)(b,{control:L,name:`engineVersion`,render:({field:e})=>(0,T.jsxs)(l,{onValueChange:e.onChange,value:e.value,children:[(0,T.jsx)(c,{className:`w-full`,id:`db-engine-version`,children:(0,T.jsx)(a,{placeholder:`Engine default`})}),(0,T.jsx)(s,{children:Ne.map(e=>(0,T.jsx)(o,{disabled:!j(H,e.EngineVersion??``),value:e.EngineVersion??``,children:e.DBEngineVersionDescription??e.EngineVersion},e.EngineVersion))})]})}),(0,T.jsx)(h,{children:`There is no in-place version upgrade, so this cannot be changed after the database is created.`}),(0,T.jsx)(g,{errors:[R.engineVersion]})]}),(0,T.jsx)(w,{control:L,id:`db-instance-class`,label:`DB instance class`,name:`dbInstanceClass`,notice:Ve,options:q.map(e=>({value:e,label:e})),placeholder:`Select an instance class`}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-storage`,children:`Allocated storage (GiB)`})}),(0,T.jsx)(p,{"aria-invalid":!!R.allocatedStorage,id:`db-storage`,max:J?.MaxStorageSize,min:J?.MinStorageSize,type:`number`,...z(`allocatedStorage`,{valueAsNumber:!0})}),(0,T.jsxs)(h,{children:[`gp3, encrypted. Storage grows only — it can never be shrunk.`,J?.MinStorageSize!==void 0&&` This engine accepts ${J.MinStorageSize}–${J.MaxStorageSize} GiB.`]}),(0,T.jsx)(g,{errors:[R.allocatedStorage]})]}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:`Storage encryption`}),(0,T.jsx)(`p`,{className:`text-sm`,children:`Encrypted — always on.`}),(0,T.jsx)(h,{children:`Storage is encrypted with the cluster key. Unencrypted storage is not offered and a customer-managed key is not selectable.`})]}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-master-username`,children:`Master username`})}),(0,T.jsx)(p,{"aria-invalid":!!R.masterUsername,id:`db-master-username`,placeholder:`dbadmin`,...z(`masterUsername`)}),(0,T.jsx)(g,{errors:[R.masterUsername]})]}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-master-password`,children:`Master password`})}),(0,T.jsx)(p,{"aria-invalid":!!R.masterUserPassword,id:`db-master-password`,type:`password`,...z(`masterUserPassword`)}),(0,T.jsx)(h,{children:`8–128 printable ASCII characters, excluding '/', '"', '@' and spaces.`}),(0,T.jsx)(g,{errors:[R.masterUserPassword]})]}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-confirm-password`,children:`Confirm master password`})}),(0,T.jsx)(p,{"aria-invalid":!!R.confirmPassword,id:`db-confirm-password`,type:`password`,...z(`confirmPassword`)}),(0,T.jsx)(g,{errors:[R.confirmPassword]})]}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-name`,children:`Initial database name`})}),(0,T.jsx)(p,{"aria-invalid":!!R.dbName,id:`db-name`,placeholder:`Optional`,...z(`dbName`)}),(0,T.jsx)(h,{children:`Leave blank to create no database. Letters, digits and underscores, starting with a letter.`}),(0,T.jsx)(g,{errors:[R.dbName]})]}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-port`,children:`Port`})}),(0,T.jsx)(p,{"aria-invalid":!!R.port,id:`db-port`,placeholder:`Engine default`,...z(`port`)}),(0,T.jsx)(h,{children:`Leave blank to use the engine's own port. The port is fixed at create and cannot be changed later.`}),(0,T.jsx)(g,{errors:[R.port]})]}),(0,T.jsx)(w,{control:L,description:`Leave unset to place the endpoint in the account's default VPC subnet. The subnet group cannot be changed after create.`,id:`db-subnet-group`,label:`DB subnet group`,name:`dbSubnetGroupName`,onValueChange:Re,options:Y.map(e=>({value:e.DBSubnetGroupName??``,label:`${e.DBSubnetGroupName} (${e.VpcId})`})),placeholder:`Default VPC subnet`}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:`VPC security groups`}),(0,T.jsx)(Se,{emptyText:Z?`No security groups available in ${Z}.`:`No default VPC is available for security groups.`,groups:Ie,onChange:$,selected:W}),(0,T.jsx)(g,{errors:[R.vpcSecurityGroupIds]})]}),(0,T.jsx)(w,{control:L,id:`db-parameter-group`,label:`DB parameter group`,name:`dbParameterGroupName`,options:Pe.map(e=>({value:e.DBParameterGroupName??``,label:e.DBParameterGroupName??``})),placeholder:`Engine default group`}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-backup-retention`,children:`Backup retention (days)`})}),(0,T.jsx)(p,{"aria-invalid":!!R.backupRetentionPeriod,id:`db-backup-retention`,max:7,min:0,type:`number`,...z(`backupRetentionPeriod`,{valueAsNumber:!0})}),(0,T.jsx)(h,{children:`0 disables automated backups. There is no point-in-time restore; backups are daily snapshots taken in the window below.`}),(0,T.jsx)(g,{errors:[R.backupRetentionPeriod]})]}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-backup-window`,children:`Preferred backup window`})}),(0,T.jsx)(p,{"aria-invalid":!!R.preferredBackupWindow,id:`db-backup-window`,placeholder:`hh24:mi-hh24:mi in UTC`,...z(`preferredBackupWindow`)}),(0,T.jsx)(h,{children:`Leave blank to have one assigned. Minimum 30 minutes.`}),(0,T.jsx)(g,{errors:[R.preferredBackupWindow]})]}),(0,T.jsxs)(_,{children:[(0,T.jsx)(m,{children:(0,T.jsx)(`label`,{htmlFor:`db-maintenance-window`,children:`Preferred maintenance window`})}),(0,T.jsx)(p,{"aria-invalid":!!R.preferredMaintenanceWindow,id:`db-maintenance-window`,placeholder:`ddd:hh24:mi-ddd:hh24:mi in UTC`,...z(`preferredMaintenanceWindow`)}),(0,T.jsx)(h,{children:`Leave blank to have one assigned clear of the backup window.`}),(0,T.jsx)(g,{errors:[R.preferredMaintenanceWindow]})]}),(0,T.jsx)(ve,{control:L,name:`deletionProtection`}),(0,T.jsx)(Ce,{control:L,name:`tags`}),(0,T.jsxs)(`fieldset`,{className:`space-y-3 rounded-md border border-border p-4`,children:[(0,T.jsx)(`legend`,{className:`px-1 text-sm font-medium`,children:`Not available on Spinifex`}),Te.map(e=>(0,T.jsxs)(`label`,{className:`flex items-start gap-2 text-xs text-muted-foreground`,children:[(0,T.jsx)(`input`,{checked:!1,disabled:!0,readOnly:!0,type:`checkbox`}),(0,T.jsxs)(`span`,{children:[e.label,(0,T.jsx)(`span`,{className:`mt-0.5 block`,children:e.note})]})]},e.id))]}),(0,T.jsx)(re,{commands:Ee({dbInstanceIdentifier:V.dbInstanceIdentifier??``,engine:H,engineVersion:V.engineVersion??``,dbInstanceClass:V.dbInstanceClass??``,allocatedStorage:V.allocatedStorage??20,masterUsername:V.masterUsername??``,dbName:V.dbName??``,port:V.port??``,dbSubnetGroupName:U,vpcSecurityGroupIds:W,dbParameterGroupName:V.dbParameterGroupName??``,deletionProtection:V.deletionProtection??!1,backupRetentionPeriod:V.backupRetentionPeriod??E,preferredBackupWindow:V.preferredBackupWindow??``,preferredMaintenanceWindow:V.preferredMaintenanceWindow??``})}),(0,T.jsx)(he,{isPending:n.isPending,isSubmitting:je,onCancel:async()=>await e({to:`/rds/describe-db-instances`}),pendingLabel:`Creating…`,submitLabel:`Create Database`})]})]})}function Ee(e){return[{label:`Create DB Instance`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws rds create-db-instance`},...f(`--db-instance-identifier`,d(e.dbInstanceIdentifier,`DBInstanceIdentifier`)),...f(`--engine`,d(e.engine,`Engine`)),...f(`--db-instance-class`,d(e.dbInstanceClass,`DBInstanceClass`)),...f(`--allocated-storage`,e.allocatedStorage),...f(`--master-username`,d(e.masterUsername,`MasterUsername`)),{type:`flag`,value:` --master-user-password`},{type:`variable`,value:` $DB_PASSWORD`},...u(`--engine-version`,e.engineVersion),...u(`--db-name`,e.dbName),...u(`--port`,e.port),...u(`--db-subnet-group-name`,e.dbSubnetGroupName),...u(`--vpc-security-group-ids`,e.vpcSecurityGroupIds.join(` `)),...u(`--db-parameter-group-name`,e.dbParameterGroupName),...u(`--deletion-protection`,e.deletionProtection),...f(`--backup-retention-period`,e.backupRetentionPeriod),...u(`--preferred-backup-window`,e.preferredBackupWindow),...u(`--preferred-maintenance-window`,e.preferredMaintenanceWindow)]}]}var O=D;export{O as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-db-parameter-group.js b/spinifex/services/spinifexui/frontend/dist/assets/create-db-parameter-group.js new file mode 100644 index 000000000..0f4312585 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-db-parameter-group.js @@ -0,0 +1 @@ +import{n as e,t}from"./compiler-runtime.js";import{t as ee}from"./useSuspenseQuery.js";import{t as te}from"./useNavigate.js";import{t as ne}from"./back-link.js";import{c as re,i as n,n as ie,s as ae,t as oe}from"./select.js";import{n as r,r as i,t as se}from"./cli-command-panel.js";import{t as ce}from"./input.js";import{a,n as le,r as o,t as s}from"./field.js";import{g as ue}from"./rds.js";import{n as de}from"./rds2.js";import{o as fe}from"./rds3.js";import{a as pe,i as me,n as he,t as ge}from"./zod.js";import{t as _e}from"./error-banner.js";import{t as ve}from"./page-heading.js";import{t as ye}from"./form-actions.js";import{t as be}from"./tags-field-array.js";var xe=t(),c=e();function l(){let e=(0,xe.c)(82),t=te(),n=de(),{data:r}=ee(fe),i;e[0]===r.DBEngineVersions?i=e[1]:(i=new Map((r.DBEngineVersions??[]).filter(we).map(Ce)),e[0]=r.DBEngineVersions,e[1]=i);let l;e[2]===i?l=e[3]:(l=[...i],e[2]=i,e[3]=l);let u=l,d;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=ge(ue),e[4]=d):d=e[4];let f=u[0]?.[0]??``,p;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=[],e[5]=p):p=e[5];let m;e[6]===f?m=e[7]:(m={resolver:d,defaultValues:{dbParameterGroupName:``,dbParameterGroupFamily:f,description:``,tags:p}},e[6]=f,e[7]=m);let{control:h,formState:Ee,handleSubmit:g,register:_}=me(m),{errors:v,isSubmitting:y}=Ee,b;e[8]===h?b=e[9]:(b={control:h},e[8]=h,e[9]=b);let x=pe(b),S;e[10]!==n||e[11]!==t?(S=async e=>{await n.mutateAsync(e),await t({to:`/rds/describe-db-parameter-groups/$name`,params:{name:e.dbParameterGroupName}})},e[10]=n,e[11]=t,e[12]=S):S=e[12];let C=S,w,T;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,c.jsx)(ne,{to:`/rds/describe-db-parameter-groups`,children:`Back to parameter groups`}),w=(0,c.jsx)(ve,{title:`Create DB Parameter Group`}),e[13]=w,e[14]=T):(w=e[13],T=e[14]);let E;e[15]===n.error?E=e[16]:(E=n.error&&(0,c.jsx)(_e,{error:n.error,msg:`Failed to create the DB parameter group`}),e[15]=n.error,e[16]=E);let D;e[17]!==g||e[18]!==C?(D=g(C),e[17]=g,e[18]=C,e[19]=D):D=e[19];let O;e[20]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,c.jsx)(a,{children:(0,c.jsx)(`label`,{htmlFor:`parameter-group-name`,children:`Name`})}),e[20]=O):O=e[20];let k=!!v.dbParameterGroupName,A;e[21]===_?A=e[22]:(A=_(`dbParameterGroupName`),e[21]=_,e[22]=A);let j;e[23]!==k||e[24]!==A?(j=(0,c.jsx)(ce,{"aria-invalid":k,id:`parameter-group-name`,placeholder:`orders-postgres18`,...A}),e[23]=k,e[24]=A,e[25]=j):j=e[25];let M;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,c.jsx)(le,{children:`Letters, digits and hyphens, starting with a letter. The service reserves the name "default" and the "default." prefix.`}),e[26]=M):M=e[26];let N;e[27]===v.dbParameterGroupName?N=e[28]:(N=(0,c.jsx)(o,{errors:[v.dbParameterGroupName]}),e[27]=v.dbParameterGroupName,e[28]=N);let P;e[29]!==j||e[30]!==N?(P=(0,c.jsxs)(s,{children:[O,j,M,N]}),e[29]=j,e[30]=N,e[31]=P):P=e[31];let F;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,c.jsx)(a,{children:(0,c.jsx)(`label`,{htmlFor:`parameter-group-family`,children:`Family`})}),e[32]=F):F=e[32];let I;e[33]!==v.dbParameterGroupFamily||e[34]!==u?(I=e=>{let{field:t}=e;return(0,c.jsxs)(oe,{onValueChange:t.onChange,value:t.value,children:[(0,c.jsx)(ae,{"aria-invalid":!!v.dbParameterGroupFamily,className:`w-full`,id:`parameter-group-family`,children:(0,c.jsx)(re,{placeholder:`Select a family`})}),(0,c.jsx)(ie,{children:u.map(Se)})]})},e[33]=v.dbParameterGroupFamily,e[34]=u,e[35]=I):I=e[35];let L;e[36]!==h||e[37]!==I?(L=(0,c.jsx)(he,{control:h,name:`dbParameterGroupFamily`,render:I}),e[36]=h,e[37]=I,e[38]=L):L=e[38];let R;e[39]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,c.jsx)(le,{children:`The family fixes which engine can attach the group, and it cannot be changed afterwards. A group of one family is refused by an instance of the other engine.`}),e[39]=R):R=e[39];let z;e[40]===v.dbParameterGroupFamily?z=e[41]:(z=(0,c.jsx)(o,{errors:[v.dbParameterGroupFamily]}),e[40]=v.dbParameterGroupFamily,e[41]=z);let B;e[42]!==L||e[43]!==z?(B=(0,c.jsxs)(s,{children:[F,L,R,z]}),e[42]=L,e[43]=z,e[44]=B):B=e[44];let V;e[45]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,c.jsx)(a,{children:(0,c.jsx)(`label`,{htmlFor:`parameter-group-description`,children:`Description`})}),e[45]=V):V=e[45];let De=!!v.description,H;e[46]===_?H=e[47]:(H=_(`description`),e[46]=_,e[47]=H);let U;e[48]!==De||e[49]!==H?(U=(0,c.jsx)(ce,{"aria-invalid":De,id:`parameter-group-description`,placeholder:`Tuned settings for the orders database`,...H}),e[48]=De,e[49]=H,e[50]=U):U=e[50];let W;e[51]===v.description?W=e[52]:(W=(0,c.jsx)(o,{errors:[v.description]}),e[51]=v.description,e[52]=W);let G;e[53]!==U||e[54]!==W?(G=(0,c.jsxs)(s,{children:[V,U,W]}),e[53]=U,e[54]=W,e[55]=G):G=e[55];let K;e[56]===h?K=e[57]:(K=(0,c.jsx)(be,{control:h,name:`tags`}),e[56]=h,e[57]=K);let q;e[58]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,c.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`A new group starts empty: every value is the engine default until you override one, so a fresh group and the default group behave identically.`}),e[58]=q):q=e[58];let Oe=x.dbParameterGroupName??``,ke=x.dbParameterGroupFamily??``,Ae=x.description??``,J;e[59]!==Oe||e[60]!==ke||e[61]!==Ae?(J=Te({dbParameterGroupName:Oe,dbParameterGroupFamily:ke,description:Ae}),e[59]=Oe,e[60]=ke,e[61]=Ae,e[62]=J):J=e[62];let Y;e[63]===J?Y=e[64]:(Y=(0,c.jsx)(se,{commands:J}),e[63]=J,e[64]=Y);let X;e[65]===t?X=e[66]:(X=async()=>await t({to:`/rds/describe-db-parameter-groups`}),e[65]=t,e[66]=X);let Z;e[67]!==n.isPending||e[68]!==y||e[69]!==X?(Z=(0,c.jsx)(ye,{isPending:n.isPending,isSubmitting:y,onCancel:X,pendingLabel:`Creating…`,submitLabel:`Create Parameter Group`}),e[67]=n.isPending,e[68]=y,e[69]=X,e[70]=Z):Z=e[70];let Q;e[71]!==D||e[72]!==P||e[73]!==B||e[74]!==G||e[75]!==K||e[76]!==Y||e[77]!==Z?(Q=(0,c.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:D,children:[P,B,G,K,q,Y,Z]}),e[71]=D,e[72]=P,e[73]=B,e[74]=G,e[75]=K,e[76]=Y,e[77]=Z,e[78]=Q):Q=e[78];let $;return e[79]!==E||e[80]!==Q?($=(0,c.jsxs)(c.Fragment,{children:[T,w,E,Q]}),e[79]=E,e[80]=Q,e[81]=$):$=e[81],$}function Se(e){let[t,ee]=e;return(0,c.jsxs)(n,{value:t,children:[t,` — `,ee]},t)}function Ce(e){return[e.DBParameterGroupFamily??``,e.DBEngineVersionDescription??e.Engine??``]}function we(e){return e.DBParameterGroupFamily}function Te(e){return[{label:`Create DB Parameter Group`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws rds create-db-parameter-group`},...i(`--db-parameter-group-name`,r(e.dbParameterGroupName,`DBParameterGroupName`)),...i(`--db-parameter-group-family`,r(e.dbParameterGroupFamily,`DBParameterGroupFamily`)),...i(`--description`,`"${r(e.description,`Description`)}"`)]}]}var u=l;export{u as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-db-snapshot-dialog.js b/spinifex/services/spinifexui/frontend/dist/assets/create-db-snapshot-dialog.js new file mode 100644 index 000000000..072534f45 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-db-snapshot-dialog.js @@ -0,0 +1 @@ +import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{t as ee}from"./useQuery.js";import{c as te,i,n as ne,s as re,t as ie}from"./select.js";import{t as a}from"./button.js";import{t as ae}from"./input.js";import{a as o,n as oe,r as se,t as s}from"./field.js";import{a as ce,i as le,l as ue,s as de,t as fe}from"./alert-dialog.js";import{_ as pe,f as c,w as me}from"./rds.js";import{r as he}from"./rds2.js";import{r as ge}from"./rds3.js";import{i as _e,t as ve}from"./zod.js";import{n as ye,t as be}from"./picker-notice.js";import{t as xe}from"./tags-field-array.js";var Se=r(),Ce=e(n(),1),l=t();function u(e){let t=(0,Se.c)(63),{open:n,onOpenChange:r,dbInstanceIdentifier:i,onCreated:c}=e,u=he(),d=i===void 0,f;t[0]===d?f=t[1]:(f={...ge,enabled:d},t[0]=d,t[1]=f);let p=ee(f),[m,Ee]=(0,Ce.useState)(i??``),h=(p.data?.DBInstances??[]).filter(Te),g=h.length===0,_;t[2]!==p||t[3]!==g?(_=ye(p,g,{loading:`Loading the DB instances…`,failed:`Could not read the DB instances`,empty:`No DB instance is available or stopped, which is what a snapshot is taken from.`}),t[2]=p,t[3]=g,t[4]=_):_=t[4];let v=_,y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(y=ve(pe),t[5]=y):y=t[5];let b;t[6]===i?b=t[7]:(b=i?me(i,`snapshot`):``,t[6]=i,t[7]=b);let x;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(x=[],t[8]=x):x=t[8];let S;t[9]===b?S=t[10]:(S={resolver:y,defaultValues:{dbSnapshotIdentifier:b,tags:x}},t[9]=b,t[10]=S);let{control:C,formState:De,handleSubmit:w,register:T,setValue:E}=_e(S),{errors:D,isSubmitting:Oe}=De,O;t[11]===E?O=t[12]:(O=function(e){Ee(e??``),e&&E(`dbSnapshotIdentifier`,me(e,`snapshot`),{shouldValidate:!0})},t[11]=E,t[12]=O);let ke=O,k;t[13]!==u||t[14]!==c||t[15]!==r||t[16]!==m?(k=async e=>{try{await u.mutateAsync({...e,dbInstanceIdentifier:m})}catch{return}r(!1),c?.()},t[13]=u,t[14]=c,t[15]=r,t[16]=m,t[17]=k):k=t[17];let A=k,j=fe,M=le,N;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,l.jsxs)(de,{children:[(0,l.jsx)(ue,{children:`Take DB Snapshot`}),(0,l.jsx)(ce,{children:`The engine is held at a checkpoint while the snapshot is taken, so the instance reads as backing-up until it finishes.`})]}),t[18]=N):N=t[18];let P;t[19]!==w||t[20]!==A?(P=w(A),t[19]=w,t[20]=A,t[21]=P):P=t[21];let F=i?(0,l.jsxs)(s,{children:[(0,l.jsx)(o,{children:`DB instance`}),(0,l.jsx)(`p`,{className:`font-mono text-sm`,children:i})]}):(0,l.jsxs)(s,{children:[(0,l.jsx)(o,{children:(0,l.jsx)(`label`,{htmlFor:`snapshot-instance`,children:`DB instance`})}),v?(0,l.jsx)(be,{notice:v}):(0,l.jsxs)(ie,{onValueChange:ke,value:m,children:[(0,l.jsx)(re,{className:`w-full`,id:`snapshot-instance`,children:(0,l.jsx)(te,{placeholder:`Select a DB instance`})}),(0,l.jsx)(ne,{children:h.map(we)})]})]}),I;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,l.jsx)(o,{children:(0,l.jsx)(`label`,{htmlFor:`snapshot-identifier`,children:`Snapshot identifier`})}),t[22]=I):I=t[22];let L=!!D.dbSnapshotIdentifier,R;t[23]===T?R=t[24]:(R=T(`dbSnapshotIdentifier`),t[23]=T,t[24]=R);let z;t[25]!==L||t[26]!==R?(z=(0,l.jsx)(ae,{"aria-invalid":L,id:`snapshot-identifier`,...R}),t[25]=L,t[26]=R,t[27]=z):z=t[27];let B;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,l.jsx)(oe,{children:`Lowercase letters, digits and hyphens. The rds: namespace belongs to automated backups and cannot be used here.`}),t[28]=B):B=t[28];let V;t[29]===D.dbSnapshotIdentifier?V=t[30]:(V=(0,l.jsx)(se,{errors:[D.dbSnapshotIdentifier]}),t[29]=D.dbSnapshotIdentifier,t[30]=V);let H;t[31]!==z||t[32]!==V?(H=(0,l.jsxs)(s,{children:[I,z,B,V]}),t[31]=z,t[32]=V,t[33]=H):H=t[33];let U;t[34]===C?U=t[35]:(U=(0,l.jsx)(xe,{control:C,name:`tags`}),t[34]=C,t[35]=U);let W;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,l.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`A snapshot the engine could not be quiesced for is still taken and reported as crash consistent on the source instance's Backups tab. The snapshot's own events never carry it.`}),t[36]=W):W=t[36];let G;t[37]===u.error?G=t[38]:(G=u.error&&(0,l.jsx)(`p`,{className:`text-sm text-destructive`,children:u.error.message}),t[37]=u.error,t[38]=G);let K;t[39]===r?K=t[40]:(K=(0,l.jsx)(a,{onClick:()=>r(!1),type:`button`,variant:`outline`,children:`Cancel`}),t[39]=r,t[40]=K);let q=Oe||u.isPending||m===``,J=u.isPending?`Taking Snapshot…`:`Take Snapshot`,Y;t[41]!==q||t[42]!==J?(Y=(0,l.jsx)(a,{disabled:q,type:`submit`,children:J}),t[41]=q,t[42]=J,t[43]=Y):Y=t[43];let X;t[44]!==K||t[45]!==Y?(X=(0,l.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[K,Y]}),t[44]=K,t[45]=Y,t[46]=X):X=t[46];let Z;t[47]!==P||t[48]!==F||t[49]!==H||t[50]!==U||t[51]!==G||t[52]!==X?(Z=(0,l.jsxs)(`form`,{className:`space-y-4`,onSubmit:P,children:[F,H,U,W,G,X]}),t[47]=P,t[48]=F,t[49]=H,t[50]=U,t[51]=G,t[52]=X,t[53]=Z):Z=t[53];let Q;t[54]!==M||t[55]!==N||t[56]!==Z?(Q=(0,l.jsxs)(M,{className:`max-h-[85vh] overflow-y-auto`,children:[N,Z]}),t[54]=M,t[55]=N,t[56]=Z,t[57]=Q):Q=t[57];let $;return t[58]!==j||t[59]!==r||t[60]!==n||t[61]!==Q?($=(0,l.jsx)(j,{onOpenChange:r,open:n,children:Q}),t[58]=j,t[59]=r,t[60]=n,t[61]=Q,t[62]=$):$=t[62],$}function we(e){return(0,l.jsxs)(i,{value:e.DBInstanceIdentifier??``,children:[e.DBInstanceIdentifier,` (`,e.DBInstanceStatus,`)`]},e.DBInstanceIdentifier)}function Te(e){return c(e.DBInstanceStatus)}export{u as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/create-db-subnet-group.js b/spinifex/services/spinifexui/frontend/dist/assets/create-db-subnet-group.js new file mode 100644 index 000000000..c45994e95 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/create-db-subnet-group.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"./useNavigate.js";import{tn as i}from"./cluster-config.js";import{t as a}from"./back-link.js";import{n as o,r as s,t as ee}from"./cli-command-panel.js";import{t as c}from"./input.js";import{a as l,n as u,r as d,t as f}from"./field.js";import{M as p,O as m}from"./ec2.js";import{v as h}from"./rds.js";import{i as g}from"./rds2.js";import{a as _,i as v,t as y}from"./zod.js";import{t as te}from"./error-banner.js";import{t as ne}from"./page-heading.js";import{t as b}from"./form-actions.js";import{t as re}from"./tags-field-array.js";var x=t(),S=e();function C(e){let t=i(e.Tags),n=[e.CidrBlock,e.AvailabilityZone,t].filter(Boolean);return`${e.SubnetId} (${n.join(`, `)})`}function w(){let e=(0,x.c)(94),t=r(),o=g(),{data:s}=n(m),{data:w}=n(p),T;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(T=y(h),e[0]=T):T=e[0];let E;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(E={resolver:T,defaultValues:{dbSubnetGroupName:``,dbSubnetGroupDescription:``,subnetIds:[],tags:[]}},e[1]=E):E=e[1];let{control:D,formState:O,handleSubmit:k,register:A,setValue:j}=v(E),{errors:M,isSubmitting:N}=O,P;e[2]===D?P=e[3]:(P={control:D},e[2]=D,e[3]=P);let F=_(P),I,L,R,z,B,V,H,U,W,G,K;if(e[4]!==D||e[5]!==o||e[6]!==M.dbSubnetGroupDescription||e[7]!==M.dbSubnetGroupName||e[8]!==M.subnetIds||e[9]!==k||e[10]!==t||e[11]!==A||e[12]!==j||e[13]!==s.Subnets||e[14]!==F.dbSubnetGroupDescription||e[15]!==F.dbSubnetGroupName||e[16]!==F.subnetIds||e[17]!==w.Vpcs){let n=F.subnetIds??[],r=s.Subnets??[],p=w.Vpcs??[],m=r.find(e=>e.SubnetId===n[0])?.VpcId,h=[...new Set(r.map(ie).filter(Boolean))],g=e=>{let t=n.includes(e)?n.filter(t=>t!==e):[...n,e];j(`subnetIds`,t,{shouldValidate:!0})},_;e[29]!==o||e[30]!==t?(_=async e=>{await o.mutateAsync(e),await t({to:`/rds/describe-db-subnet-groups`})},e[29]=o,e[30]=t,e[31]=_):_=e[31];let v=_;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,S.jsx)(a,{to:`/rds/describe-db-subnet-groups`,children:`Back to subnet groups`}),z=(0,S.jsx)(ne,{title:`Create DB Subnet Group`}),e[32]=R,e[33]=z):(R=e[32],z=e[33]),e[34]===o.error?B=e[35]:(B=o.error&&(0,S.jsx)(te,{error:o.error,msg:`Failed to create the DB subnet group`}),e[34]=o.error,e[35]=B),H=`max-w-4xl space-y-6`,e[36]!==k||e[37]!==v?(U=k(v),e[36]=k,e[37]=v,e[38]=U):U=e[38];let y;e[39]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,S.jsx)(l,{children:(0,S.jsx)(`label`,{htmlFor:`subnet-group-name`,children:`Name`})}),e[39]=y):y=e[39];let b=!!M.dbSubnetGroupName,x;e[40]===A?x=e[41]:(x=A(`dbSubnetGroupName`),e[40]=A,e[41]=x);let T;e[42]!==b||e[43]!==x?(T=(0,S.jsx)(c,{"aria-invalid":b,id:`subnet-group-name`,placeholder:`orders-db-subnets`,...x}),e[42]=b,e[43]=x,e[44]=T):T=e[44];let E;e[45]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,S.jsx)(u,{children:`Letters, digits and hyphens, starting with a letter. The name cannot be changed later, and there is no ModifyDBSubnetGroup — editing a group means deleting and recreating it.`}),e[45]=E):E=e[45];let O;e[46]===M.dbSubnetGroupName?O=e[47]:(O=(0,S.jsx)(d,{errors:[M.dbSubnetGroupName]}),e[46]=M.dbSubnetGroupName,e[47]=O),e[48]!==T||e[49]!==O?(W=(0,S.jsxs)(f,{children:[y,T,E,O]}),e[48]=T,e[49]=O,e[50]=W):W=e[50];let N;e[51]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,S.jsx)(l,{children:(0,S.jsx)(`label`,{htmlFor:`subnet-group-description`,children:`Description`})}),e[51]=N):N=e[51];let P=!!M.dbSubnetGroupDescription,q;e[52]===A?q=e[53]:(q=A(`dbSubnetGroupDescription`),e[52]=A,e[53]=q);let J;e[54]!==P||e[55]!==q?(J=(0,S.jsx)(c,{"aria-invalid":P,id:`subnet-group-description`,placeholder:`Private subnets for the orders database`,...q}),e[54]=P,e[55]=q,e[56]=J):J=e[56];let Y;e[57]===M.dbSubnetGroupDescription?Y=e[58]:(Y=(0,S.jsx)(d,{errors:[M.dbSubnetGroupDescription]}),e[57]=M.dbSubnetGroupDescription,e[58]=Y),e[59]!==J||e[60]!==Y?(G=(0,S.jsxs)(f,{children:[N,J,Y]}),e[59]=J,e[60]=Y,e[61]=G):G=e[61];let X;e[62]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,S.jsx)(l,{children:`Subnets`}),e[62]=X):X=e[62];let Z=r.length===0?(0,S.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No subnets in this account. Create one before creating a subnet group.`}):(0,S.jsx)(`div`,{className:`space-y-4`,children:h.map(e=>{let t=i(p.find(t=>t.VpcId===e)?.Tags),a=m!==void 0&&m!==e;return(0,S.jsxs)(`div`,{children:[(0,S.jsxs)(`p`,{className:`mb-1 font-mono text-xs text-muted-foreground`,children:[e,t&&` (${t})`,a&&` — a subnet group must span one VPC, so this one is out of reach`]}),(0,S.jsx)(`div`,{className:`space-y-1 pl-3`,children:r.filter(t=>t.VpcId===e).map(e=>(0,S.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,S.jsx)(`input`,{"aria-label":`Subnet ${C(e)}`,checked:n.includes(e.SubnetId??``),disabled:a,onChange:()=>g(e.SubnetId??``),type:`checkbox`}),(0,S.jsx)(`span`,{className:`font-mono`,children:C(e)})]},e.SubnetId))})]},e)})}),Q;e[63]===Symbol.for(`react.memo_cache_sentinel`)?(Q=(0,S.jsxs)(u,{children:[`At most `,20,` subnets, all in one VPC. This platform is single-AZ, so the two-AZ rule AWS enforces does not apply here.`]}),e[63]=Q):Q=e[63];let $;e[64]===M.subnetIds?$=e[65]:($=(0,S.jsx)(d,{errors:[M.subnetIds]}),e[64]=M.subnetIds,e[65]=$),e[66]!==Z||e[67]!==$?(K=(0,S.jsxs)(f,{children:[X,Z,Q,$]}),e[66]=Z,e[67]=$,e[68]=K):K=e[68],e[69]===D?L=e[70]:(L=(0,S.jsx)(re,{control:D,name:`tags`}),e[69]=D,e[70]=L),I=ee,V=ae({dbSubnetGroupName:F.dbSubnetGroupName??``,dbSubnetGroupDescription:F.dbSubnetGroupDescription??``,subnetIds:n}),e[4]=D,e[5]=o,e[6]=M.dbSubnetGroupDescription,e[7]=M.dbSubnetGroupName,e[8]=M.subnetIds,e[9]=k,e[10]=t,e[11]=A,e[12]=j,e[13]=s.Subnets,e[14]=F.dbSubnetGroupDescription,e[15]=F.dbSubnetGroupName,e[16]=F.subnetIds,e[17]=w.Vpcs,e[18]=I,e[19]=L,e[20]=R,e[21]=z,e[22]=B,e[23]=V,e[24]=H,e[25]=U,e[26]=W,e[27]=G,e[28]=K}else I=e[18],L=e[19],R=e[20],z=e[21],B=e[22],V=e[23],H=e[24],U=e[25],W=e[26],G=e[27],K=e[28];let q;e[71]!==I||e[72]!==V?(q=(0,S.jsx)(I,{commands:V}),e[71]=I,e[72]=V,e[73]=q):q=e[73];let J;e[74]===t?J=e[75]:(J=async()=>await t({to:`/rds/describe-db-subnet-groups`}),e[74]=t,e[75]=J);let Y;e[76]!==o.isPending||e[77]!==N||e[78]!==J?(Y=(0,S.jsx)(b,{isPending:o.isPending,isSubmitting:N,onCancel:J,pendingLabel:`Creating…`,submitLabel:`Create Subnet Group`}),e[76]=o.isPending,e[77]=N,e[78]=J,e[79]=Y):Y=e[79];let X;e[80]!==L||e[81]!==q||e[82]!==Y||e[83]!==H||e[84]!==U||e[85]!==W||e[86]!==G||e[87]!==K?(X=(0,S.jsxs)(`form`,{className:H,onSubmit:U,children:[W,G,K,L,q,Y]}),e[80]=L,e[81]=q,e[82]=Y,e[83]=H,e[84]=U,e[85]=W,e[86]=G,e[87]=K,e[88]=X):X=e[88];let Z;return e[89]!==R||e[90]!==z||e[91]!==B||e[92]!==X?(Z=(0,S.jsxs)(S.Fragment,{children:[R,z,B,X]}),e[89]=R,e[90]=z,e[91]=B,e[92]=X,e[93]=Z):Z=e[93],Z}function ie(e){return e.VpcId??``}function ae(e){return[{label:`Create DB Subnet Group`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws rds create-db-subnet-group`},...s(`--db-subnet-group-name`,o(e.dbSubnetGroupName,`DBSubnetGroupName`)),...s(`--db-subnet-group-description`,`"${o(e.dbSubnetGroupDescription,`DBSubnetGroupDescription`)}"`),...s(`--subnet-ids`,o(e.subnetIds.join(` `),`SubnetIds`))]}]}var T=w;export{T as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/delete-db-instance-dialog.js b/spinifex/services/spinifexui/frontend/dist/assets/delete-db-instance-dialog.js new file mode 100644 index 000000000..f41201ae4 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/delete-db-instance-dialog.js @@ -0,0 +1 @@ +import{a as e,n as t,r as n}from"./compiler-runtime.js";import{t as r}from"./link.js";import{t as i}from"./button.js";import{t as a}from"./input.js";import{a as o,n as s,t as c}from"./field.js";import{a as l,i as u,l as d,n as f,o as p,r as m,s as h,t as g}from"./alert-dialog.js";import{w as _,y as v}from"./rds.js";import{a as y}from"./rds2.js";var b=e(n(),1),x=t();function S(e,t=new Date){return _(e,`final`,t)}function C({open:e,onOpenChange:t,dbInstanceIdentifier:n,deletionProtection:_,onDeleted:C,onModify:w}){let T=y(),[E,D]=(0,b.useState)(!1),[O,k]=(0,b.useState)(()=>S(n)),[A,j]=(0,b.useState)(``);function M(e){e||(D(!1),k(S(n)),j(``),T.reset()),t(e)}let N=E?void 0:v.safeParse(O).error?.issues[0]?.message,P=!(E&&A!==n)&&!N;async function F(){try{await T.mutateAsync({dbInstanceIdentifier:n,skipFinalSnapshot:E,finalSnapshotIdentifier:O}),M(!1),C?.()}catch{}}return(0,x.jsx)(g,{onOpenChange:M,open:e,children:(0,x.jsxs)(u,{children:[(0,x.jsxs)(h,{children:[(0,x.jsx)(d,{children:`Delete DB Instance`}),(0,x.jsx)(l,{children:_?`"${n}" has deletion protection enabled and cannot be deleted while it is on.`:`This tears down "${n}". It cannot be undone.`})]}),_?(0,x.jsxs)(`div`,{className:`space-y-3`,children:[(0,x.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Turn deletion protection off first, then delete the instance.`}),w?(0,x.jsx)(i,{onClick:w,size:`sm`,variant:`outline`,children:`Modify Instance`}):(0,x.jsxs)(r,{className:`text-sm text-primary hover:underline`,params:{id:n},to:`/rds/describe-db-instances/$id`,children:[`Open `,n,` to modify it`]})]}):(0,x.jsxs)(`div`,{className:`space-y-4`,children:[(0,x.jsxs)(`label`,{className:`flex items-start gap-2 text-sm`,children:[(0,x.jsx)(`input`,{checked:!E,onChange:e=>D(!e.target.checked),type:`checkbox`}),(0,x.jsxs)(`span`,{children:[`Take a final snapshot before deleting`,(0,x.jsx)(`span`,{className:`mt-1 block text-xs text-muted-foreground`,children:`A final snapshot retains the underlying data volume until that snapshot is itself deleted.`})]})]}),E?(0,x.jsxs)(c,{children:[(0,x.jsx)(o,{children:(0,x.jsxs)(`label`,{htmlFor:`confirmIdentifier`,children:[`Type `,n,` to confirm`]})}),(0,x.jsx)(a,{id:`confirmIdentifier`,onChange:e=>j(e.target.value),placeholder:n,value:A}),(0,x.jsx)(s,{children:`Deleting without a final snapshot destroys the data volume. There is no way back.`})]}):(0,x.jsxs)(c,{children:[(0,x.jsx)(o,{children:(0,x.jsx)(`label`,{htmlFor:`finalSnapshotIdentifier`,children:`Final snapshot name`})}),(0,x.jsx)(a,{"aria-invalid":!!N,id:`finalSnapshotIdentifier`,onChange:e=>k(e.target.value),value:O}),N&&(0,x.jsx)(`p`,{className:`text-xs text-destructive`,children:N})]})]}),T.error&&(0,x.jsx)(`p`,{className:`text-sm text-destructive`,children:T.error.message}),(0,x.jsxs)(p,{children:[(0,x.jsx)(m,{children:`Cancel`}),!_&&(0,x.jsx)(f,{disabled:T.isPending||!P,onClick:e=>{e.preventDefault(),F()},children:T.isPending?`Deleting…`:`Delete`})]})]})})}export{C as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/delete-db-parameter-group-dialog.js b/spinifex/services/spinifexui/frontend/dist/assets/delete-db-parameter-group-dialog.js new file mode 100644 index 000000000..d0228a4b4 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/delete-db-parameter-group-dialog.js @@ -0,0 +1 @@ +import{n as e,t}from"./compiler-runtime.js";import{o as n}from"./rds2.js";import{t as r}from"./rds-delete-dialog.js";var i=t(),a=e();function o(e){let t=(0,i.c)(9),{open:o,onOpenChange:s,dbParameterGroupName:c,onDeleted:l}=e,u;t[0]===c?u=t[1]:(u=(0,a.jsxs)(a.Fragment,{children:[`This deletes the DB parameter group "`,c,`" and every value stored on it. It is refused while any DB instance references the group, including one whose pending changes name it.`]}),t[0]=c,t[1]=u);let d=n(),f;return t[2]!==c||t[3]!==l||t[4]!==s||t[5]!==o||t[6]!==u||t[7]!==d?(f=(0,a.jsx)(r,{description:u,identifier:c,mutation:d,onDeleted:l,onOpenChange:s,open:o,title:`Delete DB Parameter Group`}),t[2]=c,t[3]=l,t[4]=s,t[5]=o,t[6]=u,t[7]=d,t[8]=f):f=t[8],f}export{o as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/delete-db-snapshot-dialog.js b/spinifex/services/spinifexui/frontend/dist/assets/delete-db-snapshot-dialog.js new file mode 100644 index 000000000..b318f8e37 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/delete-db-snapshot-dialog.js @@ -0,0 +1 @@ +import{n as e,t}from"./compiler-runtime.js";import{s as n}from"./rds2.js";import{t as r}from"./rds-delete-dialog.js";var i=t(),a=e();function o(e){let t=(0,i.c)(9),{open:o,onOpenChange:s,dbSnapshotIdentifier:c,onDeleted:l}=e,u;t[0]===c?u=t[1]:(u=(0,a.jsxs)(a.Fragment,{children:[`This deletes the DB snapshot "`,c,`" and the data behind it. It is refused while an instance restored from it still exists. If this was a final snapshot, deleting it also releases the data volume its instance left behind.`]}),t[0]=c,t[1]=u);let d=n(),f;return t[2]!==c||t[3]!==l||t[4]!==s||t[5]!==o||t[6]!==u||t[7]!==d?(f=(0,a.jsx)(r,{description:u,identifier:c,mutation:d,onDeleted:l,onOpenChange:s,open:o,title:`Delete DB Snapshot`}),t[2]=c,t[3]=l,t[4]=s,t[5]=o,t[6]=u,t[7]=d,t[8]=f):f=t[8],f}export{o as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/delete-db-subnet-group-dialog.js b/spinifex/services/spinifexui/frontend/dist/assets/delete-db-subnet-group-dialog.js new file mode 100644 index 000000000..856092f61 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/delete-db-subnet-group-dialog.js @@ -0,0 +1 @@ +import{n as e,t}from"./compiler-runtime.js";import{c as n}from"./rds2.js";import{t as r}from"./rds-delete-dialog.js";var i=t(),a=e();function o(e){let t=(0,i.c)(9),{open:o,onOpenChange:s,dbSubnetGroupName:c,onDeleted:l}=e,u;t[0]===c?u=t[1]:(u=(0,a.jsxs)(a.Fragment,{children:[`This deletes the DB subnet group "`,c,`". It is refused while any DB instance still references it, including one that is only deleting.`]}),t[0]=c,t[1]=u);let d=n(),f;return t[2]!==c||t[3]!==l||t[4]!==s||t[5]!==o||t[6]!==u||t[7]!==d?(f=(0,a.jsx)(r,{description:u,identifier:c,mutation:d,onDeleted:l,onOpenChange:s,open:o,title:`Delete DB Subnet Group`}),t[2]=c,t[3]=l,t[4]=s,t[5]=o,t[6]=u,t[7]=d,t[8]=f):f=t[8],f}export{o as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/describe-db-instances.js b/spinifex/services/spinifexui/frontend/dist/assets/describe-db-instances.js new file mode 100644 index 000000000..12294b787 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/describe-db-instances.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"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{t as s}from"./button.js";import{c,m as l,p as u,u as d}from"./rds.js";import{d as f,m as p,p as m}from"./rds2.js";import{r as h}from"./rds3.js";import{t as g}from"./error-banner.js";import{t as _}from"./page-heading.js";import{t as v}from"./state-badge.js";import{t as y}from"./delete-db-instance-dialog.js";var b=r(),x=e(n(),1),S=t();function C(e){return[e.Engine,e.EngineVersion].filter(Boolean).join(` `)}function w(){let e=(0,b.c)(19),t=o(),{data:n}=i(h),r=m(),w=p(),E=f(),[D,O]=(0,x.useState)(null),k;e[0]===n.DBInstances?k=e[1]:(k=n.DBInstances??[],e[0]=n.DBInstances,e[1]=k);let A=k,j=r.error??w.error??E.error,M;e[2]===t?M=e[3]:(M=(0,S.jsx)(_,{actions:(0,S.jsx)(s,{onClick:async()=>await t({to:`/rds/create-db-instance`}),children:`Create Database`}),title:`Databases`}),e[2]=t,e[3]=M);let N;e[4]===j?N=e[5]:(N=j&&(0,S.jsx)(g,{error:j,msg:`Failed to change the DB instance state.`}),e[4]=j,e[5]=N);let P;e[6]!==A||e[7]!==t||e[8]!==E||e[9]!==r||e[10]!==w?(P=A.length>0?(0,S.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,S.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,S.jsx)(`thead`,{children:(0,S.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,S.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Identifier`}),(0,S.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Engine`}),(0,S.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Class`}),(0,S.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`}),(0,S.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Endpoint`}),(0,S.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Storage`}),(0,S.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,S.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,S.jsx)(`tbody`,{children:A.map(e=>{let n=e.DBInstanceIdentifier;if(!n)return null;let i=e.DBInstanceStatus;return(0,S.jsxs)(`tr`,{className:`cursor-pointer border-b transition-colors last:border-0 hover:bg-accent`,onClick:async()=>await t({to:`/rds/describe-db-instances/$id`,params:{id:n}}),children:[(0,S.jsx)(`td`,{className:`px-4 py-2 font-medium`,children:(0,S.jsx)(a,{className:`text-primary hover:underline`,onClick:T,params:{id:n},to:`/rds/describe-db-instances/$id`,children:n})}),(0,S.jsx)(`td`,{className:`px-4 py-2`,children:C(e)}),(0,S.jsx)(`td`,{className:`px-4 py-2`,children:e.DBInstanceClass}),(0,S.jsx)(`td`,{className:`px-4 py-2`,children:(0,S.jsx)(v,{state:i})}),(0,S.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.Endpoint?.Address??`—`}),(0,S.jsx)(`td`,{className:`px-4 py-2`,children:e.AllocatedStorage?`${e.AllocatedStorage} GiB`:`—`}),(0,S.jsxs)(`td`,{className:`space-x-2 px-4 py-2 text-right`,children:[(0,S.jsx)(s,{disabled:!u(i)||r.isPending,onClick:e=>{e.stopPropagation(),r.mutate(n)},size:`sm`,variant:`outline`,children:`Start`}),(0,S.jsx)(s,{disabled:!l(i)||w.isPending,onClick:e=>{e.stopPropagation(),w.mutate(n)},size:`sm`,variant:`outline`,children:`Stop`}),(0,S.jsx)(s,{disabled:!d(i)||E.isPending,onClick:e=>{e.stopPropagation(),E.mutate(n)},size:`sm`,variant:`outline`,children:`Reboot`}),(0,S.jsx)(s,{disabled:!c(i),onClick:t=>{t.stopPropagation(),O({identifier:n,deletionProtection:e.DeletionProtection??!1})},size:`sm`,variant:`destructive`,children:`Delete`})]})]},n)})})]})}):(0,S.jsx)(`p`,{className:`text-muted-foreground`,children:`No DB instances found.`}),e[6]=A,e[7]=t,e[8]=E,e[9]=r,e[10]=w,e[11]=P):P=e[11];let F;e[12]===D?F=e[13]:(F=D&&(0,S.jsx)(y,{dbInstanceIdentifier:D.identifier,deletionProtection:D.deletionProtection,onOpenChange:e=>!e&&O(null),open:!0}),e[12]=D,e[13]=F);let I;return e[14]!==M||e[15]!==N||e[16]!==P||e[17]!==F?(I=(0,S.jsxs)(S.Fragment,{children:[M,N,P,F]}),e[14]=M,e[15]=N,e[16]=P,e[17]=F,e[18]=I):I=e[18],I}function T(e){return e.stopPropagation()}var E=w;export{E as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/describe-db-parameter-groups.js b/spinifex/services/spinifexui/frontend/dist/assets/describe-db-parameter-groups.js new file mode 100644 index 000000000..34209a9fc --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/describe-db-parameter-groups.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"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{t as s}from"./button.js";import{b as c}from"./rds.js";import{d as l}from"./rds3.js";import{t as u}from"./page-heading.js";import{t as d}from"./delete-db-parameter-group-dialog.js";var f=r(),p=e(n(),1),m=t();function h(){let e=(0,f.c)(14),t=o(),{data:n}=i(l),[r,h]=(0,p.useState)(null),_;e[0]===n.DBParameterGroups?_=e[1]:(_=n.DBParameterGroups??[],e[0]=n.DBParameterGroups,e[1]=_);let v=_,y;e[2]===t?y=e[3]:(y=(0,m.jsx)(u,{actions:(0,m.jsx)(s,{onClick:async()=>await t({to:`/rds/create-db-parameter-group`}),children:`Create Parameter Group`}),title:`DB Parameter Groups`}),e[2]=t,e[3]=y);let b;e[4]!==v||e[5]!==t?(b=v.length>0?(0,m.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,m.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,m.jsx)(`thead`,{children:(0,m.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,m.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Name`}),(0,m.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Family`}),(0,m.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Type`}),(0,m.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Description`}),(0,m.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,m.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,m.jsx)(`tbody`,{children:v.map(e=>{let n=e.DBParameterGroupName;if(!n)return null;let r=c(n);return(0,m.jsxs)(`tr`,{className:`cursor-pointer border-b transition-colors last:border-0 hover:bg-accent`,onClick:async()=>await t({to:`/rds/describe-db-parameter-groups/$name`,params:{name:n}}),children:[(0,m.jsx)(`td`,{className:`px-4 py-2 font-medium`,children:(0,m.jsx)(a,{className:`text-primary hover:underline`,onClick:g,params:{name:n},to:`/rds/describe-db-parameter-groups/$name`,children:n})}),(0,m.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.DBParameterGroupFamily}),(0,m.jsx)(`td`,{className:`px-4 py-2 text-muted-foreground`,children:r?`Default`:`Customer`}),(0,m.jsx)(`td`,{className:`px-4 py-2 text-muted-foreground`,children:e.Description}),(0,m.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,m.jsx)(s,{disabled:r,onClick:e=>{e.stopPropagation(),h(n)},size:`sm`,variant:`destructive`,children:`Delete`})})]},n)})})]})}):(0,m.jsx)(`p`,{className:`text-muted-foreground`,children:`No DB parameter groups found.`}),e[4]=v,e[5]=t,e[6]=b):b=e[6];let x;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,m.jsx)(`p`,{className:`mt-4 text-xs text-muted-foreground`,children:`A default group is owned by the service. It is readable and attachable but cannot be modified, deleted or tagged — create your own group to change a value.`}),e[7]=x):x=e[7];let S;e[8]===r?S=e[9]:(S=r&&(0,m.jsx)(d,{dbParameterGroupName:r,onOpenChange:e=>!e&&h(null),open:!0}),e[8]=r,e[9]=S);let C;return e[10]!==y||e[11]!==b||e[12]!==S?(C=(0,m.jsxs)(m.Fragment,{children:[y,b,x,S]}),e[10]=y,e[11]=b,e[12]=S,e[13]=C):C=e[13],C}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-db-snapshots.js b/spinifex/services/spinifexui/frontend/dist/assets/describe-db-snapshots.js new file mode 100644 index 000000000..b0c216c9c --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/describe-db-snapshots.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"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{Qt as s}from"./cluster-config.js";import{t as c}from"./button.js";import{a as l,d as u,l as d,o as f}from"./rds.js";import{a as p}from"./rds3.js";import{t as m}from"./page-heading.js";import{t as h}from"./state-badge.js";import{t as g}from"./create-db-snapshot-dialog.js";import{t as _}from"./delete-db-snapshot-dialog.js";var v=r(),y=e(n(),1),b=t(),x=[{value:``,label:`All types`},{value:f,label:`Manual`},{value:l,label:`Automated`}];function S(){let e=(0,v.c)(24),t=o(),{data:n}=i(p),[r,l]=(0,y.useState)(``),[f,S]=(0,y.useState)(!1),[C,w]=(0,y.useState)(null),T,E,D;if(e[0]!==n.DBSnapshots||e[1]!==t||e[2]!==r){let i;e[6]===r?i=e[7]:(i=e=>r===``||e.SnapshotType===r,e[6]=r,e[7]=i);let o=(n.DBSnapshots??[]).filter(i);e[8]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,b.jsx)(m,{actions:(0,b.jsx)(c,{onClick:()=>S(!0),children:`Take Snapshot`}),title:`Snapshots`}),e[8]=T):T=e[8];let f;e[9]===r?f=e[10]:(f=x.map(e=>(0,b.jsx)(c,{onClick:()=>l(e.value),size:`sm`,variant:r===e.value?`default`:`outline`,children:e.label},e.value)),e[9]=r,e[10]=f),e[11]===f?E=e[12]:(E=(0,b.jsx)(`div`,{className:`mb-4 flex items-center gap-2`,children:f}),e[11]=f,e[12]=E),D=o.length>0?(0,b.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,b.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,b.jsx)(`thead`,{children:(0,b.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,b.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Identifier`}),(0,b.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`DB instance`}),(0,b.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Type`}),(0,b.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Engine`}),(0,b.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Storage`}),(0,b.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`}),(0,b.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Created`}),(0,b.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,b.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,b.jsx)(`tbody`,{children:o.map(e=>{let n=e.DBSnapshotIdentifier;if(!n)return null;let r=e.DBInstanceIdentifier??``;return(0,b.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,b.jsx)(`td`,{className:`px-4 py-2 font-medium`,children:(0,b.jsx)(a,{className:`text-primary hover:underline`,params:{id:n},to:`/rds/describe-db-snapshots/$id`,children:n})}),(0,b.jsx)(`td`,{className:`px-4 py-2`,children:r===``?`—`:(0,b.jsx)(a,{className:`text-primary hover:underline`,params:{id:r},to:`/rds/describe-db-instances/$id`,children:r})}),(0,b.jsx)(`td`,{className:`px-4 py-2`,children:e.SnapshotType}),(0,b.jsx)(`td`,{className:`px-4 py-2`,children:[e.Engine,e.EngineVersion].filter(Boolean).join(` `)}),(0,b.jsx)(`td`,{className:`px-4 py-2`,children:e.AllocatedStorage?`${e.AllocatedStorage} GiB`:`—`}),(0,b.jsx)(`td`,{className:`px-4 py-2`,children:(0,b.jsx)(h,{state:e.Status})}),(0,b.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:s(e.SnapshotCreateTime)}),(0,b.jsxs)(`td`,{className:`space-x-2 px-4 py-2 text-right`,children:[(0,b.jsx)(c,{disabled:!u(e.Status),onClick:async()=>await t({to:`/rds/restore-db-instance-from-db-snapshot/$id`,params:{id:n}}),size:`sm`,variant:`outline`,children:`Restore`}),(0,b.jsx)(c,{disabled:!d(e.Status,e.SnapshotType),onClick:()=>w(n),size:`sm`,variant:`destructive`,children:`Delete`})]})]},n)})})]})}):(0,b.jsx)(`p`,{className:`text-muted-foreground`,children:`No DB snapshots found.`}),e[0]=n.DBSnapshots,e[1]=t,e[2]=r,e[3]=T,e[4]=E,e[5]=D}else T=e[3],E=e[4],D=e[5];let O;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,b.jsx)(`p`,{className:`mt-4 text-xs text-muted-foreground`,children:`Automated backups live in the reserved rds: namespace and cannot be deleted by hand — the instance's backup retention is what removes them.`}),e[13]=O):O=e[13];let k;e[14]===f?k=e[15]:(k=f&&(0,b.jsx)(g,{onOpenChange:S,open:!0}),e[14]=f,e[15]=k);let A;e[16]===C?A=e[17]:(A=C&&(0,b.jsx)(_,{dbSnapshotIdentifier:C,onOpenChange:e=>!e&&w(null),open:!0}),e[16]=C,e[17]=A);let j;return e[18]!==T||e[19]!==E||e[20]!==D||e[21]!==k||e[22]!==A?(j=(0,b.jsxs)(b.Fragment,{children:[T,E,D,O,k,A]}),e[18]=T,e[19]=E,e[20]=D,e[21]=k,e[22]=A,e[23]=j):j=e[23],j}var C=S;export{C as component}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/describe-db-subnet-groups.js b/spinifex/services/spinifexui/frontend/dist/assets/describe-db-subnet-groups.js new file mode 100644 index 000000000..d7b2a524e --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/describe-db-subnet-groups.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"./useSuspenseQuery.js";import{t as a}from"./link.js";import{t as o}from"./useNavigate.js";import{t as s}from"./button.js";import{h as c}from"./rds3.js";import{t as l}from"./page-heading.js";import{t as u}from"./state-badge.js";import{t as d}from"./delete-db-subnet-group-dialog.js";var f=r(),p=e(n(),1),m=t();function h(){let e=(0,f.c)(13),t=o(),{data:n}=i(c),[r,h]=(0,p.useState)(null),_;e[0]===n.DBSubnetGroups?_=e[1]:(_=n.DBSubnetGroups??[],e[0]=n.DBSubnetGroups,e[1]=_);let v=_,y;e[2]===t?y=e[3]:(y=(0,m.jsx)(l,{actions:(0,m.jsx)(s,{onClick:async()=>await t({to:`/rds/create-db-subnet-group`}),children:`Create Subnet Group`}),title:`DB Subnet Groups`}),e[2]=t,e[3]=y);let b;e[4]!==v||e[5]!==t?(b=v.length>0?(0,m.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,m.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,m.jsx)(`thead`,{children:(0,m.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,m.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Name`}),(0,m.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`VPC`}),(0,m.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Subnets`}),(0,m.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Status`}),(0,m.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Description`}),(0,m.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:(0,m.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,m.jsx)(`tbody`,{children:v.map(e=>{let n=e.DBSubnetGroupName;return n?(0,m.jsxs)(`tr`,{className:`cursor-pointer border-b transition-colors last:border-0 hover:bg-accent`,onClick:async()=>await t({to:`/rds/describe-db-subnet-groups/$name`,params:{name:n}}),children:[(0,m.jsx)(`td`,{className:`px-4 py-2 font-medium`,children:(0,m.jsx)(a,{className:`text-primary hover:underline`,onClick:g,params:{name:n},to:`/rds/describe-db-subnet-groups/$name`,children:n})}),(0,m.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:e.VpcId??`—`}),(0,m.jsx)(`td`,{className:`px-4 py-2`,children:e.Subnets?.length??0}),(0,m.jsx)(`td`,{className:`px-4 py-2`,children:(0,m.jsx)(u,{state:e.SubnetGroupStatus})}),(0,m.jsx)(`td`,{className:`px-4 py-2 text-muted-foreground`,children:e.DBSubnetGroupDescription}),(0,m.jsx)(`td`,{className:`px-4 py-2 text-right`,children:(0,m.jsx)(s,{onClick:e=>{e.stopPropagation(),h(n)},size:`sm`,variant:`destructive`,children:`Delete`})})]},n):null})})]})}):(0,m.jsx)(`p`,{className:`text-muted-foreground`,children:`No DB subnet groups found. Without one, a database is placed in the account's default VPC subnet.`}),e[4]=v,e[5]=t,e[6]=b):b=e[6];let x;e[7]===r?x=e[8]:(x=r&&(0,m.jsx)(d,{dbSubnetGroupName:r,onOpenChange:e=>!e&&h(null),open:!0}),e[7]=r,e[8]=x);let S;return e[9]!==y||e[10]!==b||e[11]!==x?(S=(0,m.jsxs)(m.Fragment,{children:[y,b,x]}),e[9]=y,e[10]=b,e[11]=x,e[12]=S):S=e[12],S}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-images.js b/spinifex/services/spinifexui/frontend/dist/assets/describe-images.js index b1f861d04..70633bec5 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{o as r}from"./ec2.js";import{t as i}from"./page-heading.js";import{t as a}from"./list-card.js";import{t as o}from"./state-badge.js";import{r as s}from"./system-managed.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:`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)(a,{badge:(0,l.jsx)(o,{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!s(e)}export{u 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{o as r}from"./ec2.js";import{t as i}from"./page-heading.js";import{t as a}from"./list-card.js";import{t as o}from"./state-badge.js";import{i as s}from"./system-managed.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:`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)(a,{badge:(0,l.jsx)(o,{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!s(e)}export{u 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 6f0fe3ede..77f8c47e5 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{rn as n}from"./cluster-config.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,i){if(!n&&!r&&!i&&!e)return s(t);let a=s(e);return t&&(a=c(a,t)),n&&(a=c(a,n)),r&&(a=c(a,r)),i&&(a=c(a,i)),a}function o(e){if(e.length===0)return i;if(e.length===1)return s(e[0]);let t=s(e[0]);for(let n=1;n=65&&i<=90&&(typeof t==`function`||t===void 0)}function f(e){return typeof e==`function`}function p(e,t){return f(e)?e(t):e??i}function m(e,t){return t?e?(...n)=>{let r=n[0];if(v(r)){let i=r;g(i);let a=t(...n);return i.baseUIHandlerPrevented||e?.(...n),a}let i=t(...n);return e?.(...n),i}:h(t):e}function h(e){return e&&((...t)=>{let n=t[0];return v(n)&&g(n),e(...t)})}function g(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function _(e,t){return t?e?t+` `+e:t:e}function v(e){return typeof e==`object`&&!!e&&`nativeEvent`in e}function y(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 b=y(`https://base-ui.com/production-error`,`Base UI`),x=e(t(),1),S={};function C(e,t){let n=x.useRef(S);return n.current===S&&(n.current=e(t)),n}function w(e,t,n,r){let i=C(E).current;return D(i,e,t,n,r)&&k(i,[e,t,n,r]),i.callback}function T(e){let t=C(E).current;return O(t,e)&&k(t,e),t.callback}function E(){return{callback:null,cleanup:null,refs:[]}}function D(e,t,n,r,i){return e.refs[0]!==t||e.refs[1]!==n||e.refs[2]!==r||e.refs[3]!==i}function O(e,t){return e.refs.length!==t.length||e.refs.some((e,n)=>e!==t[n])}function k(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 M(e){if(!x.isValidElement(e))return null;let t=e,n=t.props;return(j(19)?n?.ref:t.ref)??null}function N(){}var P=Object.freeze([]),F=Object.freeze({});function I(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 L(e,t){return typeof e==`function`?e(t):e}function R(e,t){return typeof e==`function`?e(t):e}function z(e,t,n={}){let r=t.render,i=B(t,n);return n.enabled===!1?null:U(e,r,i,n.state??F)}function B(e,t={}){let{className:n,style:i,render:a}=e,{state:o=F,ref:s,props:c,stateAttributesMapping:l,enabled:u=!0}=t,d=u?L(n,o):void 0,f=u?R(i,o):void 0,p=u?I(o,l):F,m=u&&c?V(c):void 0,h=u?r(p,m)??{}:F;return typeof document<`u`&&(u?h.ref=Array.isArray(s)?T([h.ref,M(a),...s]):w(h.ref,M(a),s):w(null,null)),u?(d!==void 0&&(h.className=_(h.className,d)),f!==void 0&&(h.style=r(h.style,f)),h):F}function V(e){return Array.isArray(e)?o(e):a(void 0,e)}var H=Symbol.for(`react.lazy`);function U(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===H&&(i=x.Children.toArray(t)[0]),x.cloneElement(i,e)}if(e&&typeof e==`string`)return W(e,n);throw Error(b(8))}function W(e,t){return e===`button`?(0,x.createElement)(`button`,{type:`button`,...t,key:t.key}):e===`img`?(0,x.createElement)(`img`,{alt:``,...t,key:t.key}):x.createElement(e,t)}var G=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,K=n,q=(e,t)=>n=>{if(t?.variants==null)return K(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=G(t)||G(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 K(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{F as a,w as c,g as d,a as f,P as i,C as l,z as n,N as o,R as r,j as s,q as t,b as u}; \ No newline at end of file +import{a as e,r as t}from"./compiler-runtime.js";import{in as n}from"./cluster-config.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,i){if(!n&&!r&&!i&&!e)return s(t);let a=s(e);return t&&(a=c(a,t)),n&&(a=c(a,n)),r&&(a=c(a,r)),i&&(a=c(a,i)),a}function o(e){if(e.length===0)return i;if(e.length===1)return s(e[0]);let t=s(e[0]);for(let n=1;n=65&&i<=90&&(typeof t==`function`||t===void 0)}function f(e){return typeof e==`function`}function p(e,t){return f(e)?e(t):e??i}function m(e,t){return t?e?(...n)=>{let r=n[0];if(v(r)){let i=r;g(i);let a=t(...n);return i.baseUIHandlerPrevented||e?.(...n),a}let i=t(...n);return e?.(...n),i}:h(t):e}function h(e){return e&&((...t)=>{let n=t[0];return v(n)&&g(n),e(...t)})}function g(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function _(e,t){return t?e?t+` `+e:t:e}function v(e){return typeof e==`object`&&!!e&&`nativeEvent`in e}function y(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 b=y(`https://base-ui.com/production-error`,`Base UI`),x=e(t(),1),S={};function C(e,t){let n=x.useRef(S);return n.current===S&&(n.current=e(t)),n}function w(e,t,n,r){let i=C(E).current;return D(i,e,t,n,r)&&k(i,[e,t,n,r]),i.callback}function T(e){let t=C(E).current;return O(t,e)&&k(t,e),t.callback}function E(){return{callback:null,cleanup:null,refs:[]}}function D(e,t,n,r,i){return e.refs[0]!==t||e.refs[1]!==n||e.refs[2]!==r||e.refs[3]!==i}function O(e,t){return e.refs.length!==t.length||e.refs.some((e,n)=>e!==t[n])}function k(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 M(e){if(!x.isValidElement(e))return null;let t=e,n=t.props;return(j(19)?n?.ref:t.ref)??null}function N(){}var P=Object.freeze([]),F=Object.freeze({});function I(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 L(e,t){return typeof e==`function`?e(t):e}function R(e,t){return typeof e==`function`?e(t):e}function z(e,t,n={}){let r=t.render,i=B(t,n);return n.enabled===!1?null:U(e,r,i,n.state??F)}function B(e,t={}){let{className:n,style:i,render:a}=e,{state:o=F,ref:s,props:c,stateAttributesMapping:l,enabled:u=!0}=t,d=u?L(n,o):void 0,f=u?R(i,o):void 0,p=u?I(o,l):F,m=u&&c?V(c):void 0,h=u?r(p,m)??{}:F;return typeof document<`u`&&(u?h.ref=Array.isArray(s)?T([h.ref,M(a),...s]):w(h.ref,M(a),s):w(null,null)),u?(d!==void 0&&(h.className=_(h.className,d)),f!==void 0&&(h.style=r(h.style,f)),h):F}function V(e){return Array.isArray(e)?o(e):a(void 0,e)}var H=Symbol.for(`react.lazy`);function U(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===H&&(i=x.Children.toArray(t)[0]),x.cloneElement(i,e)}if(e&&typeof e==`string`)return W(e,n);throw Error(b(8))}function W(e,t){return e===`button`?(0,x.createElement)(`button`,{type:`button`,...t,key:t.key}):e===`img`?(0,x.createElement)(`img`,{alt:``,...t,key:t.key}):x.createElement(e,t)}var G=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,K=n,q=(e,t)=>n=>{if(t?.variants==null)return K(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=G(t)||G(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 K(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{F as a,w as c,g as d,a as f,P as i,C as l,z as n,N as o,R as r,j as s,q as t,b 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 150602bca..dcaeacebf 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"./queryOptions.js";import{At as t,Ht as n,Kt as r,T as i,Y as a,at as o,dt as s,ut as c}from"./cluster-config.js";import{$r as l,Li as u,Qr as d,ai as f,ci as p,di as m,ei as h,fi as g,gi as _,hi as v,ii as y,li as b,mi as x,ni as S,oi as C,pi as w,r as T,ri as E,si as ee,ti as te,ui as ne}from"./awsClient.js";function re(e){let{port:t,query:n}=e,{protocol:r,path:i,hostname:o}=e;r&&r.slice(-1)!==`:`&&(r+=`:`),t&&(o+=`:${t}`),i&&i.charAt(0)!==`/`&&(i=`/${i}`);let s=n?a(n):``;s&&s[0]!==`?`&&(s=`?${s}`);let c=``;(e.username!=null||e.password!=null)&&(c=`${e.username??``}:${e.password??``}@`);let l=``;return e.fragment&&(l=`#${e.fragment}`),`${r}//${c}${o}${i}${s}${l}`}var ie=`2016-11-15`;function D(e){return(t,a)=>async a=>{let{input:s}=a;if(!s.PresignedUrl){let t=await e.region(),l=await c(s,{getEndpointParameterInstructions(){return{UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}}}},{...e,region:s.SourceRegion}),u=typeof e.endpoint==`function`?await e.endpoint():n(l),d=new r({...u,protocol:`https`,headers:{host:u.hostname},query:{...Object.entries(s).reduce((e,[t,n])=>(e[t]=String(n??``),e),{}),Action:`CopySnapshot`,Version:ie,DestinationRegion:t}}),f=await new i({credentials:e.credentials,region:s.SourceRegion,service:`ec2`,sha256:e.sha256,uriEscapePath:e.signingEscapePath}).presign(d,{expiresIn:3600});if(a={...a,input:{...a.input,DestinationRegion:t,PresignedUrl:re(f)}},r.isInstance(a.request)){let{request:e}=a;(e.body??``).includes(`DestinationRegion=`)||(e.body+=`&DestinationRegion=${t}`),(e.body??``).includes(`PresignedUrl=`)||(e.body+=`&PresignedUrl=${o(a.input.PresignedUrl)}`)}}return t(a)}}var O={step:`serialize`,tags:[`CROSS_REGION_PRESIGNED_URL`],name:`crossRegionPresignedUrlMiddleware`,override:!0,relation:`after`,toMiddleware:`endpointV2Middleware`},k=e=>({applyToStack:t=>{t.add(D(e),O)}}),A=t(u,`AmazonEC2`,`EC2Client`,s),j={},M=(e,t,n,r)=>[],N=(e,t,n,r)=>[k(n)],P=class extends A(j,M,`DescribeAddresses`,d){},F=class extends A(j,M,`DescribeAvailabilityZones`,l){},I=class extends A(j,M,`DescribeIamInstanceProfileAssociations`,h){},L=class extends A(j,M,`DescribeImages`,te){},R=class extends A(j,M,`DescribeInstances`,E){},z=class extends A(j,M,`DescribeInstanceTypes`,S){},B=class extends A(j,M,`DescribeInternetGateways`,y){},V=class extends A(j,M,`DescribeKeyPairs`,f){},H=class extends A(j,M,`DescribeLaunchTemplates`,ee){},U=class extends A(j,M,`DescribeLaunchTemplateVersions`,C){},W=class extends A(j,M,`DescribeNatGateways`,p){},G=class extends A(j,M,`DescribePlacementGroups`,b){},K=class extends A(j,M,`DescribeRegions`,ne){},q=class extends A(j,M,`DescribeRouteTables`,m){},J=class extends A(j,M,`DescribeSecurityGroups`,g){},Y=class extends A(j,M,`DescribeSnapshots`,w){},X=class extends A(j,M,`DescribeSubnets`,x){},Z=class extends A(j,M,`DescribeVolumes`,v){},Q=class extends A(j,M,`DescribeVpcs`,_){},ae=e({queryKey:[`ec2`,`availabilityZones`],queryFn:async()=>{let e=new F({});return await T().send(e)},staleTime:3e5}),oe=e({queryKey:[`ec2`,`instances`],queryFn:async()=>{let e=new R({});return await T().send(e)},refetchInterval:5e3}),se=t=>e({queryKey:[`ec2`,`instances`,t],queryFn:async()=>{let e=new R({InstanceIds:[t]});return await T().send(e)},refetchInterval:5e3}),ce=t=>e({queryKey:[`ec2`,`iam-instance-profile-associations`,t],queryFn:async()=>{let e=new I({Filters:[{Name:`instance-id`,Values:[t]}]});return await T().send(e)},refetchInterval:5e3}),le=e({queryKey:[`ec2`,`instances`,`types`],queryFn:async()=>{let e=new z({Filters:[{Name:`capacity`,Values:[`true`]}]});return await T().send(e)},refetchInterval:5e3}),ue=e({queryKey:[`ec2`,`images`],queryFn:async()=>{let e=new L({});return await T().send(e)}}),de=t=>e({queryKey:[`ec2`,`images`,t??`none`],queryFn:async()=>{if(!t)return{Images:[],$metadata:{}};let e=new L({ImageIds:[t]});return await T().send(e)}}),fe=e({queryKey:[`ec2`,`keypairs`],queryFn:async()=>{let e=new V({});return await T().send(e)}}),pe=t=>e({queryKey:[`ec2`,`keypairs`,t],queryFn:async()=>{let e=new V({KeyPairIds:[t]});return await T().send(e)}}),me=e({queryKey:[`ec2`,`regions`],queryFn:async()=>{let e=new K({});return await T().send(e)},staleTime:3e5}),he=e({queryKey:[`ec2`,`subnets`],queryFn:async()=>{let e=new X({});return await T().send(e)}}),ge=t=>e({queryKey:[`ec2`,`subnets`,t],queryFn:async()=>{let e=new X({SubnetIds:[t]});return await T().send(e)}}),_e=e({queryKey:[`ec2`,`snapshots`],queryFn:async()=>{let e=new Y({});return await T().send(e)},refetchInterval:5e3}),ve=t=>e({queryKey:[`ec2`,`snapshots`,t],queryFn:async()=>{let e=new Y({SnapshotIds:[t]});return await T().send(e)},refetchInterval:5e3}),ye=e({queryKey:[`ec2`,`internetGateways`],queryFn:async()=>{let e=new B({});return await T().send(e)},refetchInterval:5e3}),be=t=>e({queryKey:[`ec2`,`internetGateways`,t],queryFn:async()=>{let e=new B({InternetGatewayIds:[t]});return await T().send(e)},refetchInterval:5e3}),xe=e({queryKey:[`ec2`,`routeTables`],queryFn:async()=>{let e=new q({});return await T().send(e)},refetchInterval:5e3}),Se=t=>e({queryKey:[`ec2`,`routeTables`,t],queryFn:async()=>{let e=new q({RouteTableIds:[t]});return await T().send(e)},refetchInterval:5e3}),Ce=e({queryKey:[`ec2`,`vpcs`],queryFn:async()=>{let e=new Q({});return await T().send(e)}}),we=t=>e({queryKey:[`ec2`,`vpcs`,t],queryFn:async()=>{let e=new Q({VpcIds:[t]});return await T().send(e)}}),Te=e({queryKey:[`ec2`,`placementGroups`],queryFn:async()=>{let e=new G({});return await T().send(e)}}),Ee=t=>e({queryKey:[`ec2`,`placementGroups`,t],queryFn:async()=>{let e=new G({GroupIds:[t]});return await T().send(e)}}),De=e({queryKey:[`ec2`,`securityGroups`],queryFn:async()=>{let e=new J({});return await T().send(e)}}),$=t=>e({queryKey:[`ec2`,`securityGroups`,t],queryFn:async()=>{let e=new J({GroupIds:[t]});return await T().send(e)}}),Oe=e({queryKey:[`ec2`,`addresses`],queryFn:async()=>{let e=new P({});return await T().send(e)},refetchInterval:5e3}),ke=t=>e({queryKey:[`ec2`,`addresses`,t],queryFn:async()=>{let e=new P({AllocationIds:[t]});return await T().send(e)},refetchInterval:5e3}),Ae=e({queryKey:[`ec2`,`natGateways`],queryFn:async()=>{let e=new W({});return await T().send(e)},refetchInterval:5e3}),je=t=>e({queryKey:[`ec2`,`natGateways`,t],queryFn:async()=>{let e=new W({NatGatewayIds:[t]});return await T().send(e)},refetchInterval:5e3}),Me=e({queryKey:[`ec2`,`launchTemplates`],queryFn:async()=>{let e=new H({});return await T().send(e)},refetchInterval:5e3}),Ne=t=>e({queryKey:[`ec2`,`launchTemplates`,t,`versions`],queryFn:async()=>{let e=new U({LaunchTemplateId:t});return await T().send(e)},refetchInterval:5e3}),Pe=e({queryKey:[`ec2`,`volumes`],queryFn:async()=>{let e=new Z({});return await T().send(e)},refetchInterval:5e3}),Fe=t=>e({queryKey:[`ec2`,`volumes`,t],queryFn:async()=>{let e=new Z({VolumeIds:[t]});return await T().send(e)},refetchInterval:5e3});export{Pe as A,$ as C,ge as D,_e as E,N as F,A as I,Ce as M,j as N,he as O,M as P,xe as S,ve as T,Ae as _,de as a,me as b,le as c,ye as d,pe as f,je as g,Me as h,ce as i,we as j,Fe as k,oe as l,Ne as m,Oe as n,ue as o,fe as p,ae as r,se as s,ke as t,be as u,Ee as v,De as w,Se as x,Te as y}; \ No newline at end of file +import{t as e}from"./queryOptions.js";import{At as t,Ht as n,Kt as r,T as i,Y as a,at as o,dt as s,ut as c}from"./cluster-config.js";import{Ai as l,Bi as u,Di as d,Ei as f,Fi as ee,Hi as p,Ii as m,Li as h,Mi as g,Ni as _,Oi as v,Pi as y,Ri as b,Ui as x,Vi as S,Wi as C,da as w,ji as T,ki as te,r as E,zi as ne}from"./awsClient.js";function re(e){let{port:t,query:n}=e,{protocol:r,path:i,hostname:o}=e;r&&r.slice(-1)!==`:`&&(r+=`:`),t&&(o+=`:${t}`),i&&i.charAt(0)!==`/`&&(i=`/${i}`);let s=n?a(n):``;s&&s[0]!==`?`&&(s=`?${s}`);let c=``;(e.username!=null||e.password!=null)&&(c=`${e.username??``}:${e.password??``}@`);let l=``;return e.fragment&&(l=`#${e.fragment}`),`${r}//${c}${o}${i}${s}${l}`}var ie=`2016-11-15`;function D(e){return(t,a)=>async a=>{let{input:s}=a;if(!s.PresignedUrl){let t=await e.region(),l=await c(s,{getEndpointParameterInstructions(){return{UseFIPS:{type:`builtInParams`,name:`useFipsEndpoint`},Endpoint:{type:`builtInParams`,name:`endpoint`},Region:{type:`builtInParams`,name:`region`},UseDualStack:{type:`builtInParams`,name:`useDualstackEndpoint`}}}},{...e,region:s.SourceRegion}),u=typeof e.endpoint==`function`?await e.endpoint():n(l),d=new r({...u,protocol:`https`,headers:{host:u.hostname},query:{...Object.entries(s).reduce((e,[t,n])=>(e[t]=String(n??``),e),{}),Action:`CopySnapshot`,Version:ie,DestinationRegion:t}}),f=await new i({credentials:e.credentials,region:s.SourceRegion,service:`ec2`,sha256:e.sha256,uriEscapePath:e.signingEscapePath}).presign(d,{expiresIn:3600});if(a={...a,input:{...a.input,DestinationRegion:t,PresignedUrl:re(f)}},r.isInstance(a.request)){let{request:e}=a;(e.body??``).includes(`DestinationRegion=`)||(e.body+=`&DestinationRegion=${t}`),(e.body??``).includes(`PresignedUrl=`)||(e.body+=`&PresignedUrl=${o(a.input.PresignedUrl)}`)}}return t(a)}}var O={step:`serialize`,tags:[`CROSS_REGION_PRESIGNED_URL`],name:`crossRegionPresignedUrlMiddleware`,override:!0,relation:`after`,toMiddleware:`endpointV2Middleware`},k=e=>({applyToStack:t=>{t.add(D(e),O)}}),A=t(w,`AmazonEC2`,`EC2Client`,s),j={},M=(e,t,n,r)=>[],N=(e,t,n,r)=>[k(n)],P=class extends A(j,M,`DescribeAddresses`,f){},F=class extends A(j,M,`DescribeAvailabilityZones`,d){},I=class extends A(j,M,`DescribeIamInstanceProfileAssociations`,v){},L=class extends A(j,M,`DescribeImages`,te){},R=class extends A(j,M,`DescribeInstances`,T){},z=class extends A(j,M,`DescribeInstanceTypes`,l){},B=class extends A(j,M,`DescribeInternetGateways`,g){},V=class extends A(j,M,`DescribeKeyPairs`,_){},H=class extends A(j,M,`DescribeLaunchTemplates`,ee){},U=class extends A(j,M,`DescribeLaunchTemplateVersions`,y){},W=class extends A(j,M,`DescribeNatGateways`,m){},G=class extends A(j,M,`DescribePlacementGroups`,h){},K=class extends A(j,M,`DescribeRegions`,b){},q=class extends A(j,M,`DescribeRouteTables`,ne){},J=class extends A(j,M,`DescribeSecurityGroups`,u){},Y=class extends A(j,M,`DescribeSnapshots`,S){},X=class extends A(j,M,`DescribeSubnets`,p){},Z=class extends A(j,M,`DescribeVolumes`,x){},Q=class extends A(j,M,`DescribeVpcs`,C){},ae=e({queryKey:[`ec2`,`availabilityZones`],queryFn:async()=>{let e=new F({});return await E().send(e)},staleTime:3e5}),oe=e({queryKey:[`ec2`,`instances`],queryFn:async()=>{let e=new R({});return await E().send(e)},refetchInterval:5e3}),se=t=>e({queryKey:[`ec2`,`instances`,t],queryFn:async()=>{let e=new R({InstanceIds:[t]});return await E().send(e)},refetchInterval:5e3}),ce=t=>e({queryKey:[`ec2`,`iam-instance-profile-associations`,t],queryFn:async()=>{let e=new I({Filters:[{Name:`instance-id`,Values:[t]}]});return await E().send(e)},refetchInterval:5e3}),le=e({queryKey:[`ec2`,`instances`,`types`],queryFn:async()=>{let e=new z({Filters:[{Name:`capacity`,Values:[`true`]}]});return await E().send(e)},refetchInterval:5e3}),ue=e({queryKey:[`ec2`,`images`],queryFn:async()=>{let e=new L({});return await E().send(e)}}),de=t=>e({queryKey:[`ec2`,`images`,t??`none`],queryFn:async()=>{if(!t)return{Images:[],$metadata:{}};let e=new L({ImageIds:[t]});return await E().send(e)}}),fe=e({queryKey:[`ec2`,`keypairs`],queryFn:async()=>{let e=new V({});return await E().send(e)}}),pe=t=>e({queryKey:[`ec2`,`keypairs`,t],queryFn:async()=>{let e=new V({KeyPairIds:[t]});return await E().send(e)}}),me=e({queryKey:[`ec2`,`regions`],queryFn:async()=>{let e=new K({});return await E().send(e)},staleTime:3e5}),he=e({queryKey:[`ec2`,`subnets`],queryFn:async()=>{let e=new X({});return await E().send(e)}}),ge=t=>e({queryKey:[`ec2`,`subnets`,t],queryFn:async()=>{let e=new X({SubnetIds:[t]});return await E().send(e)}}),_e=e({queryKey:[`ec2`,`snapshots`],queryFn:async()=>{let e=new Y({});return await E().send(e)},refetchInterval:5e3}),ve=t=>e({queryKey:[`ec2`,`snapshots`,t],queryFn:async()=>{let e=new Y({SnapshotIds:[t]});return await E().send(e)},refetchInterval:5e3}),ye=e({queryKey:[`ec2`,`internetGateways`],queryFn:async()=>{let e=new B({});return await E().send(e)},refetchInterval:5e3}),be=t=>e({queryKey:[`ec2`,`internetGateways`,t],queryFn:async()=>{let e=new B({InternetGatewayIds:[t]});return await E().send(e)},refetchInterval:5e3}),xe=e({queryKey:[`ec2`,`routeTables`],queryFn:async()=>{let e=new q({});return await E().send(e)},refetchInterval:5e3}),Se=t=>e({queryKey:[`ec2`,`routeTables`,t],queryFn:async()=>{let e=new q({RouteTableIds:[t]});return await E().send(e)},refetchInterval:5e3}),Ce=e({queryKey:[`ec2`,`vpcs`],queryFn:async()=>{let e=new Q({});return await E().send(e)}}),we=t=>e({queryKey:[`ec2`,`vpcs`,t],queryFn:async()=>{let e=new Q({VpcIds:[t]});return await E().send(e)}}),Te=e({queryKey:[`ec2`,`placementGroups`],queryFn:async()=>{let e=new G({});return await E().send(e)}}),Ee=t=>e({queryKey:[`ec2`,`placementGroups`,t],queryFn:async()=>{let e=new G({GroupIds:[t]});return await E().send(e)}}),De=e({queryKey:[`ec2`,`securityGroups`],queryFn:async()=>{let e=new J({});return await E().send(e)}}),$=t=>e({queryKey:[`ec2`,`securityGroups`,t],queryFn:async()=>{let e=new J({GroupIds:[t]});return await E().send(e)}}),Oe=e({queryKey:[`ec2`,`addresses`],queryFn:async()=>{let e=new P({});return await E().send(e)},refetchInterval:5e3}),ke=t=>e({queryKey:[`ec2`,`addresses`,t],queryFn:async()=>{let e=new P({AllocationIds:[t]});return await E().send(e)},refetchInterval:5e3}),Ae=e({queryKey:[`ec2`,`natGateways`],queryFn:async()=>{let e=new W({});return await E().send(e)},refetchInterval:5e3}),je=t=>e({queryKey:[`ec2`,`natGateways`,t],queryFn:async()=>{let e=new W({NatGatewayIds:[t]});return await E().send(e)},refetchInterval:5e3}),Me=e({queryKey:[`ec2`,`launchTemplates`],queryFn:async()=>{let e=new H({});return await E().send(e)},refetchInterval:5e3}),Ne=t=>e({queryKey:[`ec2`,`launchTemplates`,t,`versions`],queryFn:async()=>{let e=new U({LaunchTemplateId:t});return await E().send(e)},refetchInterval:5e3}),Pe=e({queryKey:[`ec2`,`volumes`],queryFn:async()=>{let e=new Z({});return await E().send(e)},refetchInterval:5e3}),Fe=t=>e({queryKey:[`ec2`,`volumes`,t],queryFn:async()=>{let e=new Z({VolumeIds:[t]});return await E().send(e)},refetchInterval:5e3});export{Pe as A,$ as C,ge as D,_e as E,N as F,A as I,Ce as M,j as N,he as O,M as P,xe as S,ve as T,Ae as _,de as a,me as b,le as c,ye as d,pe as f,je as g,Me as h,ce as i,we as j,Fe as k,oe as l,Ne as m,Oe as n,ue as o,fe as p,ae as r,se as s,ke as t,be as u,Ee as v,De as w,Se as x,Te 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 466cc5945..1e142032f 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"./compiler-runtime.js";import{n as t}from"./QueryClientProvider.js";import{t as n}from"./useMutation.js";import{Ai as r,Ar as i,Br as a,Ci as o,Cr as s,Di as c,Dr as l,Ei as u,Er as d,Fi as f,Fr as p,Gr as m,Hr as ee,Ii as te,Ir as ne,Jr as re,Kr as ie,Lr as ae,Mi as oe,Mr as se,Ni as ce,Nr as le,Oi as ue,Or as de,Pi as fe,Pr as pe,Rr as me,Si as he,Sr as ge,Ti as _e,Tr as ve,Ur as ye,Vr as be,Wr as xe,Xr as Se,Yr as h,Zr as g,_i as _,_r as v,bi as y,br as b,gr as x,hr as S,ji as C,jr as w,ki as T,kr as E,qr as D,r as O,vi as k,vr as A,wi as j,wr as Ce,xi as we,xr as Te,yi as Ee,yr as De,zr as Oe}from"./awsClient.js";import{F as ke,I as M,N,P,p as F}from"./ec2.js";import{t as Ae}from"./subnet-calculator.js";var I=class extends M(N,P,`AllocateAddress`,S){},je=class extends M(N,P,`AssociateAddress`,x){},Me=class extends M(N,P,`AssociateIamInstanceProfile`,v){},L=class extends M(N,P,`AssociateRouteTable`,A){},R=class extends M(N,P,`AttachInternetGateway`,De){},Ne=class extends M(N,P,`AttachVolume`,b){},Pe=class extends M(N,P,`AuthorizeSecurityGroupEgress`,Te){},z=class extends M(N,P,`AuthorizeSecurityGroupIngress`,ge){},Fe=class extends M(N,ke,`CopySnapshot`,s){},Ie=class extends M(N,P,`CreateImage`,Ce){},B=class extends M(N,P,`CreateInternetGateway`,ve){},Le=class extends M(N,P,`CreateKeyPair`,d){},Re=class extends M(N,P,`CreateLaunchTemplate`,l){},ze=class extends M(N,P,`CreateLaunchTemplateVersion`,de){},V=class extends M(N,P,`CreateNatGateway`,E){},Be=class extends M(N,P,`CreatePlacementGroup`,i){},H=class extends M(N,P,`CreateRoute`,w){},U=class extends M(N,P,`CreateRouteTable`,se){},W=class extends M(N,P,`CreateSecurityGroup`,le){},Ve=class extends M(N,P,`CreateSnapshot`,pe){},G=class extends M(N,P,`CreateSubnet`,p){},He=class extends M(N,P,`CreateVolume`,ne){},K=class extends M(N,P,`CreateVpc`,ae){},Ue=class extends M(N,P,`DeleteInternetGateway`,me){},We=class extends M(N,P,`DeleteKeyPair`,Oe){},Ge=class extends M(N,P,`DeleteLaunchTemplate`,a){},Ke=class extends M(N,P,`DeleteLaunchTemplateVersions`,be){},qe=class extends M(N,P,`DeleteNatGateway`,ee){},Je=class extends M(N,P,`DeletePlacementGroup`,ye){},Ye=class extends M(N,P,`DeleteRoute`,xe){},Xe=class extends M(N,P,`DeleteRouteTable`,m){},Ze=class extends M(N,P,`DeleteSecurityGroup`,ie){},Qe=class extends M(N,P,`DeleteSnapshot`,D){},$e=class extends M(N,P,`DeleteSubnet`,re){},et=class extends M(N,P,`DeleteVolume`,h){},tt=class extends M(N,P,`DeleteVpc`,Se){},nt=class extends M(N,P,`DeregisterImage`,g){},rt=class extends M(N,P,`DetachInternetGateway`,_){},it=class extends M(N,P,`DetachVolume`,k){},at=class extends M(N,P,`DisassociateAddress`,Ee){},ot=class extends M(N,P,`DisassociateIamInstanceProfile`,y){},st=class extends M(N,P,`DisassociateRouteTable`,we){},ct=class extends M(N,P,`GetConsoleOutput`,he){},lt=class extends M(N,P,`ImportKeyPair`,o){},ut=class extends M(N,P,`ModifyInstanceAttribute`,j){},dt=class extends M(N,P,`ModifyLaunchTemplate`,_e){},q=class extends M(N,P,`ModifySubnetAttribute`,u){},ft=class extends M(N,P,`ModifyVolume`,c){},pt=class extends M(N,P,`RebootInstances`,ue){},mt=class extends M(N,P,`RegisterImage`,T){},ht=class extends M(N,P,`ReleaseAddress`,r){},gt=class extends M(N,P,`RevokeSecurityGroupEgress`,C){},_t=class extends M(N,P,`RevokeSecurityGroupIngress`,oe){},vt=class extends M(N,P,`RunInstances`,ce){},yt=class extends M(N,P,`StartInstances`,fe){},bt=class extends M(N,P,`StopInstances`,f){},xt=class extends M(N,P,`TerminateInstances`,te){},J={application_status_check:`application-status-check`,capacity_block:`capacity-block`,capacity_manager_data_export:`capacity-manager-data-export`,capacity_reservation:`capacity-reservation`,capacity_reservation_cancellation_quote:`capacity-reservation-cancellation-quote`,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_internet_registry_association:`ipam-internet-registry-association`,ipam_policy:`ipam-policy`,ipam_pool:`ipam-pool`,ipam_pool_allocation:`ipam-pool-allocation`,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`},Y=e(),St=/\s+/;function Ct(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:wt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}async function wt(e){let t=new yt({InstanceIds:[e]});return await O().send(t)}function Tt(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Et,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}async function Et(e){let t=new bt({InstanceIds:[e]});return await O().send(t)}function Dt(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ot,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}async function Ot(e){let t=new xt({InstanceIds:[e]});return await O().send(t)}function kt(){let e=(0,Y.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)}async function At(e){let t=new pt({InstanceIds:[e]});return await O().send(t)}function jt(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Mt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]}),r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]})}},e[0]=r,e[1]=i),n(i)}async function Mt(e){let t=O(),n=await Nt(t,e),r=new vt({ImageId:e.imageId||void 0,InstanceType:e.instanceType?e.instanceType:void 0,KeyName:e.keyName||void 0,MinCount:e.count,MaxCount:e.count,SubnetId:e.subnetId||void 0,SecurityGroupIds:n.length>0?n:void 0,Placement:e.placementGroupName?{GroupName:e.placementGroupName}:void 0,BlockDeviceMappings:Pt(e),LaunchTemplate:e.launchTemplateId?{LaunchTemplateId:e.launchTemplateId,Version:e.launchTemplateVersion||`$Default`}:void 0});return await t.send(r)}async function Nt(e,t){if(t.securityGroupMode!==`create`)return t.securityGroupIds??[];let n=(await e.send(new W({GroupName:t.newSgName,Description:t.newSgDescription||`Created by launch wizard`,VpcId:t.resolvedVpcId}))).GroupId;if(!n)throw Error(`Security group was created but no ID was returned`);let r=[...t.allowSsh?[22]:[],...t.allowHttp?[80]:[],...t.allowHttps?[443]:[]];if(r.length>0){let i=t.ruleSource===`custom`&&t.customCidr?t.customCidr:`0.0.0.0/0`;await e.send(new z({GroupId:n,IpPermissions:r.map(e=>({IpProtocol:`tcp`,FromPort:e,ToPort:e,IpRanges:[{CidrIp:i}]}))}))}return[n]}function Pt(e){let{rootDeviceName:t,rootVolumeSize:n,rootVolumeType:r,rootDeleteOnTermination:i}=e;return n!==void 0||r!==void 0||i!==void 0?[{DeviceName:t,Ebs:{...n!==void 0&&{VolumeSize:n},...r!==void 0&&{VolumeType:r},...i!==void 0&&{DeleteOnTermination:i}}}]:void 0}var Ft=`/dev/sda1`;function It(e){let t=new TextEncoder().encode(e),n=``;for(let e of t)n+=String.fromCodePoint(e);return btoa(n)}function X(e){let t={};e.imageId&&(t.ImageId=e.imageId),e.instanceType&&(t.InstanceType=e.instanceType),e.keyName&&(t.KeyName=e.keyName);let n=e.securityGroupIds??[];return e.subnetId?t.NetworkInterfaces=[{DeviceIndex:0,SubnetId:e.subnetId,Groups:n.length>0?n:void 0}]:n.length>0&&(t.SecurityGroupIds=n),(e.rootVolumeSize!==void 0||e.rootVolumeType!==void 0)&&(t.BlockDeviceMappings=[{DeviceName:Ft,Ebs:{...e.rootVolumeSize!==void 0&&{VolumeSize:e.rootVolumeSize},...e.rootVolumeType!==void 0&&{VolumeType:e.rootVolumeType}}}]),e.userData&&(t.UserData=It(e.userData)),t}function Lt(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Rt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`launchTemplates`]})}},e[0]=r,e[1]=i),n(i)}async function Rt(e){let t=new Re({LaunchTemplateName:e.launchTemplateName,VersionDescription:e.versionDescription||void 0,LaunchTemplateData:X(e)});return await O().send(t)}function zt(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Bt,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`launchTemplates`]}),r.invalidateQueries({queryKey:[`ec2`,`launchTemplates`,t.launchTemplateId,`versions`]})}},e[0]=r,e[1]=i),n(i)}async function Bt(e){let t=new ze({LaunchTemplateId:e.launchTemplateId,SourceVersion:e.sourceVersion||void 0,VersionDescription:e.versionDescription||void 0,LaunchTemplateData:X(e)});return await O().send(t)}function Vt(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ht,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`launchTemplates`]}),r.invalidateQueries({queryKey:[`ec2`,`launchTemplates`,t.launchTemplateId,`versions`]})}},e[0]=r,e[1]=i),n(i)}async function Ht(e){let t=new dt({LaunchTemplateId:e.launchTemplateId,DefaultVersion:e.defaultVersion});return await O().send(t)}function Ut(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Wt,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`launchTemplates`]}),r.invalidateQueries({queryKey:[`ec2`,`launchTemplates`,t.launchTemplateId,`versions`]})}},e[0]=r,e[1]=i),n(i)}async function Wt(e){let t=new Ke({LaunchTemplateId:e.launchTemplateId,Versions:e.versions});return await O().send(t)}function Gt(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Kt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`launchTemplates`]})}},e[0]=r,e[1]=i),n(i)}async function Kt(e){let t=new Ge({LaunchTemplateId:e});return await O().send(t)}function qt(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Jt,onSuccess:()=>{r.invalidateQueries(F)}},e[0]=r,e[1]=i),n(i)}async function Jt(e){let t=new Le({KeyName:e.keyName,KeyType:e.keyType}),n=await O().send(t);if(!n.KeyMaterial)throw Error(`Key pair was created but the API returned no private key. The key cannot be recovered — delete it and try again.`);return n}function Yt(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Xt,onSuccess:()=>{r.invalidateQueries(F)}},e[0]=r,e[1]=i),n(i)}async function Xt(e){let t=e.publicKeyMaterial.trim().split(St).slice(0,2).join(` `),n=new lt({KeyName:e.keyName,PublicKeyMaterial:new TextEncoder().encode(t)});return await O().send(n)}function Zt(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Qt,onSuccess:()=>{r.invalidateQueries(F)}},e[0]=r,e[1]=i),n(i)}async function Qt(e){let t=new We({KeyPairId:e});return await O().send(t)}function $t(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:en,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`volumes`]})}},e[0]=r,e[1]=i),n(i)}async function en(e){let t=new He({Size:e.size,AvailabilityZone:e.availabilityZone,VolumeType:`gp3`});return await O().send(t)}function tn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:nn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`volumes`]})}},e[0]=r,e[1]=i),n(i)}async function nn(e){let t=new ft({VolumeId:e.volumeId,Size:e.size});return await O().send(t)}function rn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:an,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`volumes`]})}},e[0]=r,e[1]=i),n(i)}async function an(e){let t=new et({VolumeId:e});return await O().send(t)}function on(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:sn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`snapshots`]})}},e[0]=r,e[1]=i),n(i)}async function sn(e){let t=new Ve({VolumeId:e.volumeId,Description:e.description||void 0});return await O().send(t)}function cn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ln,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`snapshots`]})}},e[0]=r,e[1]=i),n(i)}async function ln(e){let t=new Qe({SnapshotId:e});return await O().send(t)}function un(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:dn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`snapshots`]})}},e[0]=r,e[1]=i),n(i)}async function dn(e){let t=new Fe({SourceSnapshotId:e.sourceSnapshotId,SourceRegion:e.sourceRegion,Description:e.description||void 0});return await O().send(t)}function fn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:pn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`volumes`]}),r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}async function pn(e){let t=new Ne({VolumeId:e.volumeId,InstanceId:e.instanceId,Device:e.device||void 0});return await O().send(t)}function mn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:hn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`volumes`]}),r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}async function hn(e){let t=new it({VolumeId:e.volumeId,InstanceId:e.instanceId||void 0,Force:e.force});return await O().send(t)}function gn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:_n,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}async function _n(e){let{instanceId:t,...n}=e,r=new ut({InstanceId:t,InstanceType:{Value:n.instanceType}});return await O().send(r)}function vn(){let e=(0,Y.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={mutationFn:yn},e[0]=t):t=e[0],n(t)}async function yn(e){let t=new ct({InstanceId:e});return await O().send(t)}function bn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:xn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`images`]})}},e[0]=r,e[1]=i),n(i)}async function xn(e){let t=new Ie({InstanceId:e.instanceId,Name:e.name,Description:e.description||void 0});return await O().send(t)}function Sn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Cn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`images`]})}},e[0]=r,e[1]=i),n(i)}async function Cn(e){let t=new mt({Name:e.name,Description:e.description||void 0,BlockDeviceMappings:[{DeviceName:`/dev/sda1`,Ebs:{SnapshotId:e.snapshotId}}]});return await O().send(t)}function wn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Tn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`images`]})}},e[0]=r,e[1]=i),n(i)}async function Tn(e){let t=new nt({ImageId:e});return await O().send(t)}function En(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Dn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`vpcs`]})}},e[0]=r,e[1]=i),n(i)}async function Dn(e){let t=new K({CidrBlock:e.cidrBlock,TagSpecifications:e.name?[{ResourceType:`vpc`,Tags:[{Key:`Name`,Value:e.name}]}]:void 0});return await O().send(t)}function On(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:kn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`vpcs`]})}},e[0]=r,e[1]=i),n(i)}async function kn(e){let t=new tt({VpcId:e});return await O().send(t)}function An(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:jn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`subnets`]})}},e[0]=r,e[1]=i),n(i)}async function jn(e){let t=O(),n=await t.send(new G({VpcId:e.vpcId,CidrBlock:e.cidrBlock,AvailabilityZone:e.availabilityZone||void 0})),r=n.Subnet?.SubnetId;return e.mapPublicIpOnLaunch&&r&&await t.send(new q({SubnetId:r,MapPublicIpOnLaunch:{Value:!0}})),n}function Mn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Nn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`subnets`]})}},e[0]=r,e[1]=i),n(i)}async function Nn(e){let t=new $e({SubnetId:e});return await O().send(t)}function Pn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Fn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`placementGroups`]})}},e[0]=r,e[1]=i),n(i)}async function Fn(e){let t=new Be({GroupName:e.groupName,Strategy:e.strategy});return await O().send(t)}function In(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ln,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`placementGroups`]})}},e[0]=r,e[1]=i),n(i)}async function Ln(e){let t=new Je({GroupName:e});return await O().send(t)}function Rn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:zn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]})}},e[0]=r,e[1]=i),n(i)}async function zn(e){let t=new W({GroupName:e.groupName,Description:e.description,VpcId:e.vpcId});return await O().send(t)}function Bn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Vn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]})}},e[0]=r,e[1]=i),n(i)}async function Vn(e){let t=new Ze({GroupId:e});return await O().send(t)}function Hn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Un,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]}),r.invalidateQueries({queryKey:[`ec2`,`securityGroups`,t.groupId]})}},e[0]=r,e[1]=i),n(i)}async function Un(e){let t=new z({GroupId:e.groupId,IpPermissions:[{IpProtocol:e.ipProtocol,FromPort:e.fromPort,ToPort:e.toPort,IpRanges:[{CidrIp:e.cidrIp}]}]});return await O().send(t)}function Wn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Gn,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]}),r.invalidateQueries({queryKey:[`ec2`,`securityGroups`,t.groupId]})}},e[0]=r,e[1]=i),n(i)}async function Gn(e){let t=new Pe({GroupId:e.groupId,IpPermissions:[{IpProtocol:e.ipProtocol,FromPort:e.fromPort,ToPort:e.toPort,IpRanges:[{CidrIp:e.cidrIp}]}]});return await O().send(t)}function Z(e){return{IpProtocol:e.ipProtocol,FromPort:e.fromPort,ToPort:e.toPort,...e.sourceGroupId?{UserIdGroupPairs:[{GroupId:e.sourceGroupId}]}:{IpRanges:[{CidrIp:e.cidrIp??``}]}}}function Kn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:qn,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]}),r.invalidateQueries({queryKey:[`ec2`,`securityGroups`,t.groupId]})}},e[0]=r,e[1]=i),n(i)}async function qn(e){let t=new _t({GroupId:e.groupId,IpPermissions:[Z(e)]});return await O().send(t)}function Jn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Yn,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]}),r.invalidateQueries({queryKey:[`ec2`,`securityGroups`,t.groupId]})}},e[0]=r,e[1]=i),n(i)}async function Yn(e){let t=new gt({GroupId:e.groupId,IpPermissions:[Z(e)]});return await O().send(t)}function Xn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Zn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`internetGateways`]})}},e[0]=r,e[1]=i),n(i)}async function Zn(e){let t=new B({TagSpecifications:$(J.internet_gateway,e?.name,[])});return await O().send(t)}function Qn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:$n,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`internetGateways`]})}},e[0]=r,e[1]=i),n(i)}async function $n(e){let t=new Ue({InternetGatewayId:e});return await O().send(t)}function er(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:tr,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`internetGateways`]})}},e[0]=r,e[1]=i),n(i)}async function tr(e){let t=new R({InternetGatewayId:e.internetGatewayId,VpcId:e.vpcId});return await O().send(t)}function nr(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:rr,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`internetGateways`]})}},e[0]=r,e[1]=i),n(i)}async function rr(e){let t=new rt({InternetGatewayId:e.internetGatewayId,VpcId:e.vpcId});return await O().send(t)}function ir(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ar,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`addresses`]})}},e[0]=r,e[1]=i),n(i)}async function ar(e){let t=new I({Domain:`vpc`,TagSpecifications:$(J.elastic_ip,e?.name,[])});return await O().send(t)}function or(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:sr,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`addresses`]})}},e[0]=r,e[1]=i),n(i)}async function sr(e){let t=new ht({AllocationId:e});return await O().send(t)}function cr(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:lr,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`addresses`]}),r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}async function lr(e){let t=new je({AllocationId:e.allocationId,InstanceId:e.instanceId,NetworkInterfaceId:e.networkInterfaceId});return await O().send(t)}function ur(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:dr,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`addresses`]}),r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}async function dr(e){let t=new at({AssociationId:e});return await O().send(t)}function fr(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:pr,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`iam-instance-profile-associations`,t.instanceId]}),r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}async function pr(e){let t=new Me({InstanceId:e.instanceId,IamInstanceProfile:{Name:e.instanceProfileName}});return await O().send(t)}function mr(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:hr,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`iam-instance-profile-associations`,t.instanceId]}),r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}async function hr(e){let t=new ot({AssociationId:e.associationId});return await O().send(t)}function Q(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:gr,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`natGateways`]}),r.invalidateQueries({queryKey:[`ec2`,`addresses`]})}},e[0]=r,e[1]=i),n(i)}async function gr(e){let t=new V({SubnetId:e.subnetId,AllocationId:e.allocationId,TagSpecifications:$(J.natgateway,e.name,[])});return await O().send(t)}function _r(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:vr,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`natGateways`]})}},e[0]=r,e[1]=i),n(i)}async function vr(e){let t=new qe({NatGatewayId:e});return await O().send(t)}function yr(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:br,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`routeTables`]})}},e[0]=r,e[1]=i),n(i)}async function br(e){let t=new U({VpcId:e.vpcId,TagSpecifications:$(J.route_table,e.name,[])});return await O().send(t)}function xr(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Sr,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`routeTables`]})}},e[0]=r,e[1]=i),n(i)}async function Sr(e){let t=new Xe({RouteTableId:e});return await O().send(t)}function Cr(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:wr,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`routeTables`]})}},e[0]=r,e[1]=i),n(i)}async function wr(e){let t=new H({RouteTableId:e.routeTableId,DestinationCidrBlock:e.destinationCidrBlock,GatewayId:e.gatewayId,NatGatewayId:e.natGatewayId});return await O().send(t)}function Tr(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Er,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`routeTables`]})}},e[0]=r,e[1]=i),n(i)}async function Er(e){let t=new Ye({RouteTableId:e.routeTableId,DestinationCidrBlock:e.destinationCidrBlock});return await O().send(t)}function Dr(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Or,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`routeTables`]})}},e[0]=r,e[1]=i),n(i)}async function Or(e){let t=new L({RouteTableId:e.routeTableId,SubnetId:e.subnetId});return await O().send(t)}function kr(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ar,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`routeTables`]})}},e[0]=r,e[1]=i),n(i)}async function Ar(e){let t=new st({AssociationId:e});return await O().send(t)}function jr(e,t){let n=[];return e&&n.push({Key:`Name`,Value:e}),n.push(...t),n}function $(e,t,n){let r=jr(t,n);if(r.length!==0)return[{ResourceType:e,Tags:r}]}function Mr(){let e=t();return n({mutationFn:async e=>{let t=O(),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 K({CidrBlock:e.cidrBlock,InstanceTenancy:s,TagSpecifications:$(J.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=Ae(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=await Promise.all(Array.from({length:e.publicSubnetCount},async(e,a)=>{let o=r?`${r}-subnet-public-${a+1}`:void 0,s=(await t.send(new G({VpcId:c,CidrBlock:u[a],TagSpecifications:$(J.subnet,o,i)}))).Subnet?.SubnetId;if(!s)throw Error(`Public subnet ${a+1} was created but no subnet ID was returned`);return n.push({type:`Public Subnet`,id:s}),await t.send(new q({SubnetId:s,MapPublicIpOnLaunch:{Value:!0}})),s}));a=`creating private subnets`;let p=await Promise.all(Array.from({length:e.privateSubnetCount},async(e,a)=>{let o=r?`${r}-subnet-private-${a+1}`:void 0,s=(await t.send(new G({VpcId:c,CidrBlock:d[a],TagSpecifications:$(J.subnet,o,i)}))).Subnet?.SubnetId;if(!s)throw Error(`Private subnet ${a+1} was created but no subnet ID was returned`);return n.push({type:`Private Subnet`,id:s}),s}));if(e.publicSubnetCount>0){a=`creating internet gateway`;let e=r?`${r}-igw`:void 0,o=(await t.send(new B({TagSpecifications:$(J.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 R({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:$(J.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 H({RouteTableId:l,DestinationCidrBlock:`0.0.0.0/0`,GatewayId:o})),a=`associating public subnets with route table`,await Promise.all(f.map(async e=>await t.send(new L({RouteTableId:l,SubnetId:e}))))}if(e.privateSubnetCount>0){a=`creating private route table`;let o=r?`${r}-rtb-private`:void 0,s=(await t.send(new U({VpcId:c,TagSpecifications:$(J.route_table,o,i)}))).RouteTable?.RouteTableId;if(!s)throw Error(`Private route table was created but no ID was returned`);if(n.push({type:`Private Route Table`,id:s}),a=`associating private subnets with route table`,await Promise.all(p.map(async e=>await t.send(new L({RouteTableId:s,SubnetId:e})))),e.natGateway===`single`&&f[0]){a=`allocating Elastic IP for NAT gateway`;let e=(await t.send(new I({Domain:`vpc`,TagSpecifications:$(J.elastic_ip,r?`${r}-eip-nat`:void 0,i)}))).AllocationId;if(!e)throw Error(`Elastic IP was allocated but no allocation ID was returned`);n.push({type:`Elastic IP`,id:e}),a=`creating NAT gateway`;let o=(await t.send(new V({SubnetId:f[0],AllocationId:e,TagSpecifications:$(J.natgateway,r?`${r}-nat`:void 0,i)}))).NatGateway?.NatGatewayId;if(!o)throw Error(`NAT gateway was created but no ID was returned`);n.push({type:`NAT Gateway`,id:o}),a=`creating default route to NAT gateway`,await t.send(new H({RouteTableId:s,DestinationCidrBlock:`0.0.0.0/0`,NatGatewayId:o}))}}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`]}),e.invalidateQueries({queryKey:[`ec2`,`natGateways`]}),e.invalidateQueries({queryKey:[`ec2`,`addresses`]})}})}export{or as $,Ut as A,wn as B,An as C,Qn as D,Mr as E,Bn as F,kr as G,mn as H,cn as I,gn as J,vn as K,Mn as L,In as M,Tr as N,Zt as O,xr as P,Sn as Q,rn as R,on as S,En as T,ur as U,nr as V,mr as W,tn as X,Vt as Y,kt as Z,Q as _,Dr as a,yr as b,Wn as c,bn as d,Jn as et,jt as f,zt as g,Lt as h,fr as i,Dt as it,_r as j,Gt as k,Hn as l,qt as m,ir as n,Ct as nt,er as o,Xn as p,Yt as q,cr as r,Tt as rt,fn as s,X as t,Kn as tt,un as u,Pn as v,$t as w,Rn as x,Cr as y,On as z}; \ No newline at end of file +import{t as e}from"./compiler-runtime.js";import{n as t}from"./QueryClientProvider.js";import{t as n}from"./useMutation.js";import{$i as r,$r as i,Ci as a,Gi as o,Gr as s,Ji as c,Jr as l,Ki as u,Kr as d,Qi as f,Qr as p,Si as m,Ti as ee,Ur as te,Wr as ne,Xi as re,Xr as ie,Yi as ae,Yr as oe,Zi as se,Zr as ce,_i as le,aa as ue,ai as de,bi as fe,ca as pe,ci as me,di as he,ea as ge,ei as _e,fi as ve,gi as ye,hi as be,ia as xe,ii as Se,la as h,li as g,mi as _,na as v,ni as y,oa as b,oi as x,pi as S,qi as C,qr as w,r as T,ra as E,ri as D,sa as O,si as k,ta as A,ti as j,ua as Ce,ui as we,vi as Te,wi as Ee,xi as De,yi as Oe}from"./awsClient.js";import{F as ke,I as M,N,P,p as F}from"./ec2.js";import{t as Ae}from"./subnet-calculator.js";var I=class extends M(N,P,`AllocateAddress`,te){},je=class extends M(N,P,`AssociateAddress`,ne){},Me=class extends M(N,P,`AssociateIamInstanceProfile`,s){},L=class extends M(N,P,`AssociateRouteTable`,d){},R=class extends M(N,P,`AttachInternetGateway`,w){},Ne=class extends M(N,P,`AttachVolume`,l){},Pe=class extends M(N,P,`AuthorizeSecurityGroupEgress`,oe){},z=class extends M(N,P,`AuthorizeSecurityGroupIngress`,ie){},Fe=class extends M(N,ke,`CopySnapshot`,ce){},Ie=class extends M(N,P,`CreateImage`,p){},B=class extends M(N,P,`CreateInternetGateway`,i){},Le=class extends M(N,P,`CreateKeyPair`,_e){},Re=class extends M(N,P,`CreateLaunchTemplate`,j){},ze=class extends M(N,P,`CreateLaunchTemplateVersion`,y){},V=class extends M(N,P,`CreateNatGateway`,D){},Be=class extends M(N,P,`CreatePlacementGroup`,Se){},H=class extends M(N,P,`CreateRoute`,de){},U=class extends M(N,P,`CreateRouteTable`,x){},W=class extends M(N,P,`CreateSecurityGroup`,k){},Ve=class extends M(N,P,`CreateSnapshot`,me){},G=class extends M(N,P,`CreateSubnet`,g){},He=class extends M(N,P,`CreateVolume`,we){},K=class extends M(N,P,`CreateVpc`,he){},Ue=class extends M(N,P,`DeleteInternetGateway`,ve){},We=class extends M(N,P,`DeleteKeyPair`,S){},Ge=class extends M(N,P,`DeleteLaunchTemplate`,_){},Ke=class extends M(N,P,`DeleteLaunchTemplateVersions`,be){},qe=class extends M(N,P,`DeleteNatGateway`,ye){},Je=class extends M(N,P,`DeletePlacementGroup`,le){},Ye=class extends M(N,P,`DeleteRoute`,Te){},Xe=class extends M(N,P,`DeleteRouteTable`,Oe){},Ze=class extends M(N,P,`DeleteSecurityGroup`,fe){},Qe=class extends M(N,P,`DeleteSnapshot`,De){},$e=class extends M(N,P,`DeleteSubnet`,m){},et=class extends M(N,P,`DeleteVolume`,a){},tt=class extends M(N,P,`DeleteVpc`,Ee){},nt=class extends M(N,P,`DeregisterImage`,ee){},rt=class extends M(N,P,`DetachInternetGateway`,o){},it=class extends M(N,P,`DetachVolume`,u){},at=class extends M(N,P,`DisassociateAddress`,C){},ot=class extends M(N,P,`DisassociateIamInstanceProfile`,c){},st=class extends M(N,P,`DisassociateRouteTable`,ae){},ct=class extends M(N,P,`GetConsoleOutput`,re){},lt=class extends M(N,P,`ImportKeyPair`,se){},ut=class extends M(N,P,`ModifyInstanceAttribute`,f){},dt=class extends M(N,P,`ModifyLaunchTemplate`,r){},q=class extends M(N,P,`ModifySubnetAttribute`,ge){},ft=class extends M(N,P,`ModifyVolume`,A){},pt=class extends M(N,P,`RebootInstances`,v){},mt=class extends M(N,P,`RegisterImage`,E){},ht=class extends M(N,P,`ReleaseAddress`,xe){},gt=class extends M(N,P,`RevokeSecurityGroupEgress`,ue){},_t=class extends M(N,P,`RevokeSecurityGroupIngress`,b){},vt=class extends M(N,P,`RunInstances`,O){},yt=class extends M(N,P,`StartInstances`,pe){},bt=class extends M(N,P,`StopInstances`,h){},xt=class extends M(N,P,`TerminateInstances`,Ce){},J={application_status_check:`application-status-check`,capacity_block:`capacity-block`,capacity_manager_data_export:`capacity-manager-data-export`,capacity_reservation:`capacity-reservation`,capacity_reservation_cancellation_quote:`capacity-reservation-cancellation-quote`,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_internet_registry_association:`ipam-internet-registry-association`,ipam_policy:`ipam-policy`,ipam_pool:`ipam-pool`,ipam_pool_allocation:`ipam-pool-allocation`,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`},Y=e(),St=/\s+/;function Ct(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:wt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}async function wt(e){let t=new yt({InstanceIds:[e]});return await T().send(t)}function Tt(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Et,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}async function Et(e){let t=new bt({InstanceIds:[e]});return await T().send(t)}function Dt(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ot,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}async function Ot(e){let t=new xt({InstanceIds:[e]});return await T().send(t)}function kt(){let e=(0,Y.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)}async function At(e){let t=new pt({InstanceIds:[e]});return await T().send(t)}function jt(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Mt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]}),r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]})}},e[0]=r,e[1]=i),n(i)}async function Mt(e){let t=T(),n=await Nt(t,e),r=new vt({ImageId:e.imageId||void 0,InstanceType:e.instanceType?e.instanceType:void 0,KeyName:e.keyName||void 0,MinCount:e.count,MaxCount:e.count,SubnetId:e.subnetId||void 0,SecurityGroupIds:n.length>0?n:void 0,Placement:e.placementGroupName?{GroupName:e.placementGroupName}:void 0,BlockDeviceMappings:Pt(e),LaunchTemplate:e.launchTemplateId?{LaunchTemplateId:e.launchTemplateId,Version:e.launchTemplateVersion||`$Default`}:void 0});return await t.send(r)}async function Nt(e,t){if(t.securityGroupMode!==`create`)return t.securityGroupIds??[];let n=(await e.send(new W({GroupName:t.newSgName,Description:t.newSgDescription||`Created by launch wizard`,VpcId:t.resolvedVpcId}))).GroupId;if(!n)throw Error(`Security group was created but no ID was returned`);let r=[...t.allowSsh?[22]:[],...t.allowHttp?[80]:[],...t.allowHttps?[443]:[]];if(r.length>0){let i=t.ruleSource===`custom`&&t.customCidr?t.customCidr:`0.0.0.0/0`;await e.send(new z({GroupId:n,IpPermissions:r.map(e=>({IpProtocol:`tcp`,FromPort:e,ToPort:e,IpRanges:[{CidrIp:i}]}))}))}return[n]}function Pt(e){let{rootDeviceName:t,rootVolumeSize:n,rootVolumeType:r,rootDeleteOnTermination:i}=e;return n!==void 0||r!==void 0||i!==void 0?[{DeviceName:t,Ebs:{...n!==void 0&&{VolumeSize:n},...r!==void 0&&{VolumeType:r},...i!==void 0&&{DeleteOnTermination:i}}}]:void 0}var Ft=`/dev/sda1`;function It(e){let t=new TextEncoder().encode(e),n=``;for(let e of t)n+=String.fromCodePoint(e);return btoa(n)}function X(e){let t={};e.imageId&&(t.ImageId=e.imageId),e.instanceType&&(t.InstanceType=e.instanceType),e.keyName&&(t.KeyName=e.keyName);let n=e.securityGroupIds??[];return e.subnetId?t.NetworkInterfaces=[{DeviceIndex:0,SubnetId:e.subnetId,Groups:n.length>0?n:void 0}]:n.length>0&&(t.SecurityGroupIds=n),(e.rootVolumeSize!==void 0||e.rootVolumeType!==void 0)&&(t.BlockDeviceMappings=[{DeviceName:Ft,Ebs:{...e.rootVolumeSize!==void 0&&{VolumeSize:e.rootVolumeSize},...e.rootVolumeType!==void 0&&{VolumeType:e.rootVolumeType}}}]),e.userData&&(t.UserData=It(e.userData)),t}function Lt(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Rt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`launchTemplates`]})}},e[0]=r,e[1]=i),n(i)}async function Rt(e){let t=new Re({LaunchTemplateName:e.launchTemplateName,VersionDescription:e.versionDescription||void 0,LaunchTemplateData:X(e)});return await T().send(t)}function zt(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Bt,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`launchTemplates`]}),r.invalidateQueries({queryKey:[`ec2`,`launchTemplates`,t.launchTemplateId,`versions`]})}},e[0]=r,e[1]=i),n(i)}async function Bt(e){let t=new ze({LaunchTemplateId:e.launchTemplateId,SourceVersion:e.sourceVersion||void 0,VersionDescription:e.versionDescription||void 0,LaunchTemplateData:X(e)});return await T().send(t)}function Vt(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ht,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`launchTemplates`]}),r.invalidateQueries({queryKey:[`ec2`,`launchTemplates`,t.launchTemplateId,`versions`]})}},e[0]=r,e[1]=i),n(i)}async function Ht(e){let t=new dt({LaunchTemplateId:e.launchTemplateId,DefaultVersion:e.defaultVersion});return await T().send(t)}function Ut(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Wt,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`launchTemplates`]}),r.invalidateQueries({queryKey:[`ec2`,`launchTemplates`,t.launchTemplateId,`versions`]})}},e[0]=r,e[1]=i),n(i)}async function Wt(e){let t=new Ke({LaunchTemplateId:e.launchTemplateId,Versions:e.versions});return await T().send(t)}function Gt(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Kt,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`launchTemplates`]})}},e[0]=r,e[1]=i),n(i)}async function Kt(e){let t=new Ge({LaunchTemplateId:e});return await T().send(t)}function qt(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Jt,onSuccess:()=>{r.invalidateQueries(F)}},e[0]=r,e[1]=i),n(i)}async function Jt(e){let t=new Le({KeyName:e.keyName,KeyType:e.keyType}),n=await T().send(t);if(!n.KeyMaterial)throw Error(`Key pair was created but the API returned no private key. The key cannot be recovered — delete it and try again.`);return n}function Yt(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Xt,onSuccess:()=>{r.invalidateQueries(F)}},e[0]=r,e[1]=i),n(i)}async function Xt(e){let t=e.publicKeyMaterial.trim().split(St).slice(0,2).join(` `),n=new lt({KeyName:e.keyName,PublicKeyMaterial:new TextEncoder().encode(t)});return await T().send(n)}function Zt(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Qt,onSuccess:()=>{r.invalidateQueries(F)}},e[0]=r,e[1]=i),n(i)}async function Qt(e){let t=new We({KeyPairId:e});return await T().send(t)}function $t(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:en,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`volumes`]})}},e[0]=r,e[1]=i),n(i)}async function en(e){let t=new He({Size:e.size,AvailabilityZone:e.availabilityZone,VolumeType:`gp3`});return await T().send(t)}function tn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:nn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`volumes`]})}},e[0]=r,e[1]=i),n(i)}async function nn(e){let t=new ft({VolumeId:e.volumeId,Size:e.size});return await T().send(t)}function rn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:an,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`volumes`]})}},e[0]=r,e[1]=i),n(i)}async function an(e){let t=new et({VolumeId:e});return await T().send(t)}function on(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:sn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`snapshots`]})}},e[0]=r,e[1]=i),n(i)}async function sn(e){let t=new Ve({VolumeId:e.volumeId,Description:e.description||void 0});return await T().send(t)}function cn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ln,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`snapshots`]})}},e[0]=r,e[1]=i),n(i)}async function ln(e){let t=new Qe({SnapshotId:e});return await T().send(t)}function un(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:dn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`snapshots`]})}},e[0]=r,e[1]=i),n(i)}async function dn(e){let t=new Fe({SourceSnapshotId:e.sourceSnapshotId,SourceRegion:e.sourceRegion,Description:e.description||void 0});return await T().send(t)}function fn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:pn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`volumes`]}),r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}async function pn(e){let t=new Ne({VolumeId:e.volumeId,InstanceId:e.instanceId,Device:e.device||void 0});return await T().send(t)}function mn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:hn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`volumes`]}),r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}async function hn(e){let t=new it({VolumeId:e.volumeId,InstanceId:e.instanceId||void 0,Force:e.force});return await T().send(t)}function gn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:_n,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}async function _n(e){let{instanceId:t,...n}=e,r=new ut({InstanceId:t,InstanceType:{Value:n.instanceType}});return await T().send(r)}function vn(){let e=(0,Y.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={mutationFn:yn},e[0]=t):t=e[0],n(t)}async function yn(e){let t=new ct({InstanceId:e});return await T().send(t)}function bn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:xn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`images`]})}},e[0]=r,e[1]=i),n(i)}async function xn(e){let t=new Ie({InstanceId:e.instanceId,Name:e.name,Description:e.description||void 0});return await T().send(t)}function Sn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Cn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`images`]})}},e[0]=r,e[1]=i),n(i)}async function Cn(e){let t=new mt({Name:e.name,Description:e.description||void 0,BlockDeviceMappings:[{DeviceName:`/dev/sda1`,Ebs:{SnapshotId:e.snapshotId}}]});return await T().send(t)}function wn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Tn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`images`]})}},e[0]=r,e[1]=i),n(i)}async function Tn(e){let t=new nt({ImageId:e});return await T().send(t)}function En(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Dn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`vpcs`]})}},e[0]=r,e[1]=i),n(i)}async function Dn(e){let t=new K({CidrBlock:e.cidrBlock,TagSpecifications:e.name?[{ResourceType:`vpc`,Tags:[{Key:`Name`,Value:e.name}]}]:void 0});return await T().send(t)}function On(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:kn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`vpcs`]})}},e[0]=r,e[1]=i),n(i)}async function kn(e){let t=new tt({VpcId:e});return await T().send(t)}function An(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:jn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`subnets`]})}},e[0]=r,e[1]=i),n(i)}async function jn(e){let t=T(),n=await t.send(new G({VpcId:e.vpcId,CidrBlock:e.cidrBlock,AvailabilityZone:e.availabilityZone||void 0})),r=n.Subnet?.SubnetId;return e.mapPublicIpOnLaunch&&r&&await t.send(new q({SubnetId:r,MapPublicIpOnLaunch:{Value:!0}})),n}function Mn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Nn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`subnets`]})}},e[0]=r,e[1]=i),n(i)}async function Nn(e){let t=new $e({SubnetId:e});return await T().send(t)}function Pn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Fn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`placementGroups`]})}},e[0]=r,e[1]=i),n(i)}async function Fn(e){let t=new Be({GroupName:e.groupName,Strategy:e.strategy});return await T().send(t)}function In(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ln,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`placementGroups`]})}},e[0]=r,e[1]=i),n(i)}async function Ln(e){let t=new Je({GroupName:e});return await T().send(t)}function Rn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:zn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]})}},e[0]=r,e[1]=i),n(i)}async function zn(e){let t=new W({GroupName:e.groupName,Description:e.description,VpcId:e.vpcId});return await T().send(t)}function Bn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Vn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]})}},e[0]=r,e[1]=i),n(i)}async function Vn(e){let t=new Ze({GroupId:e});return await T().send(t)}function Hn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Un,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]}),r.invalidateQueries({queryKey:[`ec2`,`securityGroups`,t.groupId]})}},e[0]=r,e[1]=i),n(i)}async function Un(e){let t=new z({GroupId:e.groupId,IpPermissions:[{IpProtocol:e.ipProtocol,FromPort:e.fromPort,ToPort:e.toPort,IpRanges:[{CidrIp:e.cidrIp}]}]});return await T().send(t)}function Wn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Gn,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]}),r.invalidateQueries({queryKey:[`ec2`,`securityGroups`,t.groupId]})}},e[0]=r,e[1]=i),n(i)}async function Gn(e){let t=new Pe({GroupId:e.groupId,IpPermissions:[{IpProtocol:e.ipProtocol,FromPort:e.fromPort,ToPort:e.toPort,IpRanges:[{CidrIp:e.cidrIp}]}]});return await T().send(t)}function Z(e){return{IpProtocol:e.ipProtocol,FromPort:e.fromPort,ToPort:e.toPort,...e.sourceGroupId?{UserIdGroupPairs:[{GroupId:e.sourceGroupId}]}:{IpRanges:[{CidrIp:e.cidrIp??``}]}}}function Kn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:qn,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]}),r.invalidateQueries({queryKey:[`ec2`,`securityGroups`,t.groupId]})}},e[0]=r,e[1]=i),n(i)}async function qn(e){let t=new _t({GroupId:e.groupId,IpPermissions:[Z(e)]});return await T().send(t)}function Jn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Yn,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`securityGroups`]}),r.invalidateQueries({queryKey:[`ec2`,`securityGroups`,t.groupId]})}},e[0]=r,e[1]=i),n(i)}async function Yn(e){let t=new gt({GroupId:e.groupId,IpPermissions:[Z(e)]});return await T().send(t)}function Xn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Zn,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`internetGateways`]})}},e[0]=r,e[1]=i),n(i)}async function Zn(e){let t=new B({TagSpecifications:$(J.internet_gateway,e?.name,[])});return await T().send(t)}function Qn(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:$n,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`internetGateways`]})}},e[0]=r,e[1]=i),n(i)}async function $n(e){let t=new Ue({InternetGatewayId:e});return await T().send(t)}function er(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:tr,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`internetGateways`]})}},e[0]=r,e[1]=i),n(i)}async function tr(e){let t=new R({InternetGatewayId:e.internetGatewayId,VpcId:e.vpcId});return await T().send(t)}function nr(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:rr,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`internetGateways`]})}},e[0]=r,e[1]=i),n(i)}async function rr(e){let t=new rt({InternetGatewayId:e.internetGatewayId,VpcId:e.vpcId});return await T().send(t)}function ir(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ar,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`addresses`]})}},e[0]=r,e[1]=i),n(i)}async function ar(e){let t=new I({Domain:`vpc`,TagSpecifications:$(J.elastic_ip,e?.name,[])});return await T().send(t)}function or(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:sr,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`addresses`]})}},e[0]=r,e[1]=i),n(i)}async function sr(e){let t=new ht({AllocationId:e});return await T().send(t)}function cr(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:lr,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`addresses`]}),r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}async function lr(e){let t=new je({AllocationId:e.allocationId,InstanceId:e.instanceId,NetworkInterfaceId:e.networkInterfaceId});return await T().send(t)}function ur(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:dr,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`addresses`]}),r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}async function dr(e){let t=new at({AssociationId:e});return await T().send(t)}function fr(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:pr,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`iam-instance-profile-associations`,t.instanceId]}),r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}async function pr(e){let t=new Me({InstanceId:e.instanceId,IamInstanceProfile:{Name:e.instanceProfileName}});return await T().send(t)}function mr(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:hr,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ec2`,`iam-instance-profile-associations`,t.instanceId]}),r.invalidateQueries({queryKey:[`ec2`,`instances`]})}},e[0]=r,e[1]=i),n(i)}async function hr(e){let t=new ot({AssociationId:e.associationId});return await T().send(t)}function Q(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:gr,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`natGateways`]}),r.invalidateQueries({queryKey:[`ec2`,`addresses`]})}},e[0]=r,e[1]=i),n(i)}async function gr(e){let t=new V({SubnetId:e.subnetId,AllocationId:e.allocationId,TagSpecifications:$(J.natgateway,e.name,[])});return await T().send(t)}function _r(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:vr,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`natGateways`]})}},e[0]=r,e[1]=i),n(i)}async function vr(e){let t=new qe({NatGatewayId:e});return await T().send(t)}function yr(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:br,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`routeTables`]})}},e[0]=r,e[1]=i),n(i)}async function br(e){let t=new U({VpcId:e.vpcId,TagSpecifications:$(J.route_table,e.name,[])});return await T().send(t)}function xr(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Sr,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`routeTables`]})}},e[0]=r,e[1]=i),n(i)}async function Sr(e){let t=new Xe({RouteTableId:e});return await T().send(t)}function Cr(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:wr,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`routeTables`]})}},e[0]=r,e[1]=i),n(i)}async function wr(e){let t=new H({RouteTableId:e.routeTableId,DestinationCidrBlock:e.destinationCidrBlock,GatewayId:e.gatewayId,NatGatewayId:e.natGatewayId});return await T().send(t)}function Tr(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Er,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`routeTables`]})}},e[0]=r,e[1]=i),n(i)}async function Er(e){let t=new Ye({RouteTableId:e.routeTableId,DestinationCidrBlock:e.destinationCidrBlock});return await T().send(t)}function Dr(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Or,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`routeTables`]})}},e[0]=r,e[1]=i),n(i)}async function Or(e){let t=new L({RouteTableId:e.routeTableId,SubnetId:e.subnetId});return await T().send(t)}function kr(){let e=(0,Y.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ar,onSuccess:()=>{r.invalidateQueries({queryKey:[`ec2`,`routeTables`]})}},e[0]=r,e[1]=i),n(i)}async function Ar(e){let t=new st({AssociationId:e});return await T().send(t)}function jr(e,t){let n=[];return e&&n.push({Key:`Name`,Value:e}),n.push(...t),n}function $(e,t,n){let r=jr(t,n);if(r.length!==0)return[{ResourceType:e,Tags:r}]}function Mr(){let e=t();return n({mutationFn:async e=>{let t=T(),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 K({CidrBlock:e.cidrBlock,InstanceTenancy:s,TagSpecifications:$(J.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=Ae(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=await Promise.all(Array.from({length:e.publicSubnetCount},async(e,a)=>{let o=r?`${r}-subnet-public-${a+1}`:void 0,s=(await t.send(new G({VpcId:c,CidrBlock:u[a],TagSpecifications:$(J.subnet,o,i)}))).Subnet?.SubnetId;if(!s)throw Error(`Public subnet ${a+1} was created but no subnet ID was returned`);return n.push({type:`Public Subnet`,id:s}),await t.send(new q({SubnetId:s,MapPublicIpOnLaunch:{Value:!0}})),s}));a=`creating private subnets`;let p=await Promise.all(Array.from({length:e.privateSubnetCount},async(e,a)=>{let o=r?`${r}-subnet-private-${a+1}`:void 0,s=(await t.send(new G({VpcId:c,CidrBlock:d[a],TagSpecifications:$(J.subnet,o,i)}))).Subnet?.SubnetId;if(!s)throw Error(`Private subnet ${a+1} was created but no subnet ID was returned`);return n.push({type:`Private Subnet`,id:s}),s}));if(e.publicSubnetCount>0){a=`creating internet gateway`;let e=r?`${r}-igw`:void 0,o=(await t.send(new B({TagSpecifications:$(J.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 R({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:$(J.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 H({RouteTableId:l,DestinationCidrBlock:`0.0.0.0/0`,GatewayId:o})),a=`associating public subnets with route table`,await Promise.all(f.map(async e=>await t.send(new L({RouteTableId:l,SubnetId:e}))))}if(e.privateSubnetCount>0){a=`creating private route table`;let o=r?`${r}-rtb-private`:void 0,s=(await t.send(new U({VpcId:c,TagSpecifications:$(J.route_table,o,i)}))).RouteTable?.RouteTableId;if(!s)throw Error(`Private route table was created but no ID was returned`);if(n.push({type:`Private Route Table`,id:s}),a=`associating private subnets with route table`,await Promise.all(p.map(async e=>await t.send(new L({RouteTableId:s,SubnetId:e})))),e.natGateway===`single`&&f[0]){a=`allocating Elastic IP for NAT gateway`;let e=(await t.send(new I({Domain:`vpc`,TagSpecifications:$(J.elastic_ip,r?`${r}-eip-nat`:void 0,i)}))).AllocationId;if(!e)throw Error(`Elastic IP was allocated but no allocation ID was returned`);n.push({type:`Elastic IP`,id:e}),a=`creating NAT gateway`;let o=(await t.send(new V({SubnetId:f[0],AllocationId:e,TagSpecifications:$(J.natgateway,r?`${r}-nat`:void 0,i)}))).NatGateway?.NatGatewayId;if(!o)throw Error(`NAT gateway was created but no ID was returned`);n.push({type:`NAT Gateway`,id:o}),a=`creating default route to NAT gateway`,await t.send(new H({RouteTableId:s,DestinationCidrBlock:`0.0.0.0/0`,NatGatewayId:o}))}}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`]}),e.invalidateQueries({queryKey:[`ec2`,`natGateways`]}),e.invalidateQueries({queryKey:[`ec2`,`addresses`]})}})}export{or as $,Ut as A,wn as B,An as C,Qn as D,Mr as E,Bn as F,kr as G,mn as H,cn as I,gn as J,vn as K,Mn as L,In as M,Tr as N,Zt as O,xr as P,Sn as Q,rn as R,on as S,En as T,ur as U,nr as V,mr as W,tn as X,Vt as Y,kt as Z,Q as _,Dr as a,yr as b,Wn as c,bn as d,Jn as et,jt as f,zt as g,Lt as h,fr as i,Dt as it,_r as j,Gt as k,Hn as l,qt as m,ir as n,Ct as nt,er as o,Xn as p,Yt as q,cr as r,Tt as rt,fn as s,X as t,Kn as tt,un as u,Pn as v,$t as w,Rn as x,Cr as y,On as z}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/ecr.js b/spinifex/services/spinifexui/frontend/dist/assets/ecr.js index 6108ce376..50a21923a 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/ecr.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/ecr.js @@ -1 +1 @@ -import{t as e}from"./queryOptions.js";import{At as t,dt as n}from"./cluster-config.js";import{ar as r,cr as i,fr as a,i as o,ir as s,mr as c,or as l,pr as u}from"./awsClient.js";var d=t(c,`AmazonEC2ContainerRegistry_V20150921`,`ECRClient`,n),f={},p=(e,t,n,r)=>[],m=class extends d(f,p,`DescribeImages`,s){},h=class extends d(f,p,`DescribeRepositories`,r){},g=class extends d(f,p,`GetLifecyclePolicy`,l){},_=class extends d(f,p,`GetRepositoryPolicy`,i){},v=e({queryKey:[`ecr`,`repositories`],queryFn:async()=>{let e=new h({});return await o().send(e)}}),y=t=>e({queryKey:[`ecr`,`repositories`,t,`images`],queryFn:async()=>{let e=new m({repositoryName:t});return await o().send(e)}}),b=t=>e({queryKey:[`ecr`,`repositories`,t,`policy`],queryFn:async()=>{try{let e=new _({repositoryName:t});return(await o().send(e)).policyText??null}catch(e){if(e instanceof u)return null;throw e}}}),x=t=>e({queryKey:[`ecr`,`repositories`,t,`lifecycle`],queryFn:async()=>{try{let e=new g({repositoryName:t});return(await o().send(e)).lifecyclePolicyText??null}catch(e){if(e instanceof a)return null;throw e}}});export{f as a,b as i,v as n,p as o,y as r,d as s,x as t}; \ No newline at end of file +import{t as e}from"./queryOptions.js";import{At as t,dt as n}from"./cluster-config.js";import{Br as r,Hr as i,Ir as a,Mr as o,Nr as s,Pr as c,Vr as l,i as u}from"./awsClient.js";var d=t(i,`AmazonEC2ContainerRegistry_V20150921`,`ECRClient`,n),f={},p=(e,t,n,r)=>[],m=class extends d(f,p,`DescribeImages`,o){},h=class extends d(f,p,`DescribeRepositories`,s){},g=class extends d(f,p,`GetLifecyclePolicy`,c){},_=class extends d(f,p,`GetRepositoryPolicy`,a){},v=e({queryKey:[`ecr`,`repositories`],queryFn:async()=>{let e=new h({});return await u().send(e)}}),y=t=>e({queryKey:[`ecr`,`repositories`,t,`images`],queryFn:async()=>{let e=new m({repositoryName:t});return await u().send(e)}}),b=t=>e({queryKey:[`ecr`,`repositories`,t,`policy`],queryFn:async()=>{try{let e=new _({repositoryName:t});return(await u().send(e)).policyText??null}catch(e){if(e instanceof l)return null;throw e}}}),x=t=>e({queryKey:[`ecr`,`repositories`,t,`lifecycle`],queryFn:async()=>{try{let e=new g({repositoryName:t});return(await u().send(e)).lifecyclePolicyText??null}catch(e){if(e instanceof r)return null;throw e}}});export{f as a,b as i,v as n,p as o,y as r,d as s,x as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/ecr2.js b/spinifex/services/spinifexui/frontend/dist/assets/ecr2.js index 6cd1cd3a9..e782de845 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/ecr2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/ecr2.js @@ -1 +1 @@ -import{t as e}from"./compiler-runtime.js";import{n as t}from"./QueryClientProvider.js";import{t as n}from"./useMutation.js";import{$n as r,dr as i,er as a,i as o,lr as s,nr as c,rr as l,sr as u,tr as d,ur as f}from"./awsClient.js";import{a as p,o as m,s as h}from"./ecr.js";var g=class extends h(p,m,`BatchDeleteImage`,r){},_=class extends h(p,m,`CreateRepository`,a){},v=class extends h(p,m,`DeleteLifecyclePolicy`,d){},y=class extends h(p,m,`DeleteRepository`,c){},b=class extends h(p,m,`DeleteRepositoryPolicy`,l){},x=class extends h(p,m,`GetLifecyclePolicyPreview`,u){},S=class extends h(p,m,`PutImageTagMutability`,s){},C=class extends h(p,m,`PutLifecyclePolicy`,f){},w=class extends h(p,m,`SetRepositoryPolicy`,i){},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:[`ecr`,`repositories`]})}},e[0]=r,e[1]=i),n(i)}async function D(e){let t=new _({repositoryName:e});return await o().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:[`ecr`,`repositories`]})}},e[0]=r,e[1]=i),n(i)}async function k(e){let t=new y({repositoryName:e,force:!0});return await o().send(t)}function A(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:j,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ecr`,`repositories`,t.repositoryName,`images`]})}},e[0]=r,e[1]=i),n(i)}async function j(e){let t=new g({repositoryName:e.repositoryName,imageIds:e.imageIds});return await o().send(t)}function M(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:N,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ecr`,`repositories`,t.repositoryName,`policy`]})}},e[0]=r,e[1]=i),n(i)}async function N(e){let t=new w({repositoryName:e.repositoryName,policyText:e.policyText});return await o().send(t)}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:[`ecr`,`repositories`]})}},e[0]=r,e[1]=i),n(i)}async function F(e){let t=new S({repositoryName:e.repositoryName,imageTagMutability:e.imageTagMutability});return await o().send(t)}function I(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:L,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ecr`,`repositories`,t,`policy`]})}},e[0]=r,e[1]=i),n(i)}async function L(e){let t=new b({repositoryName:e});return await o().send(t)}function R(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:z,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ecr`,`repositories`,t.repositoryName,`lifecycle`]})}},e[0]=r,e[1]=i),n(i)}async function z(e){let t=new C({repositoryName:e.repositoryName,lifecyclePolicyText:e.lifecyclePolicyText});return await o().send(t)}function B(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:V,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ecr`,`repositories`,t,`lifecycle`]})}},e[0]=r,e[1]=i),n(i)}async function V(e){let t=new v({repositoryName:e});return await o().send(t)}function H(){let e=(0,T.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={mutationFn:U},e[0]=t):t=e[0],n(t)}async function U(e){let t=new x({repositoryName:e});return await o().send(t)}export{I as a,R as c,O as i,M as l,E as n,H as o,B as r,P as s,A as t}; \ No newline at end of file +import{t as e}from"./compiler-runtime.js";import{n as t}from"./QueryClientProvider.js";import{t as n}from"./useMutation.js";import{Ar as r,Dr as i,Fr as a,Lr as o,Or as s,Rr as c,i as l,jr as u,kr as d,zr as f}from"./awsClient.js";import{a as p,o as m,s as h}from"./ecr.js";var g=class extends h(p,m,`BatchDeleteImage`,i){},_=class extends h(p,m,`CreateRepository`,s){},v=class extends h(p,m,`DeleteLifecyclePolicy`,d){},y=class extends h(p,m,`DeleteRepository`,r){},b=class extends h(p,m,`DeleteRepositoryPolicy`,u){},x=class extends h(p,m,`GetLifecyclePolicyPreview`,a){},S=class extends h(p,m,`PutImageTagMutability`,o){},C=class extends h(p,m,`PutLifecyclePolicy`,c){},w=class extends h(p,m,`SetRepositoryPolicy`,f){},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:[`ecr`,`repositories`]})}},e[0]=r,e[1]=i),n(i)}async function D(e){let t=new _({repositoryName:e});return await 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:[`ecr`,`repositories`]})}},e[0]=r,e[1]=i),n(i)}async function k(e){let t=new y({repositoryName:e,force:!0});return await 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:(e,t)=>{r.invalidateQueries({queryKey:[`ecr`,`repositories`,t.repositoryName,`images`]})}},e[0]=r,e[1]=i),n(i)}async function j(e){let t=new g({repositoryName:e.repositoryName,imageIds:e.imageIds});return await 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:(e,t)=>{r.invalidateQueries({queryKey:[`ecr`,`repositories`,t.repositoryName,`policy`]})}},e[0]=r,e[1]=i),n(i)}async function N(e){let t=new w({repositoryName:e.repositoryName,policyText:e.policyText});return await l().send(t)}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:[`ecr`,`repositories`]})}},e[0]=r,e[1]=i),n(i)}async function F(e){let t=new S({repositoryName:e.repositoryName,imageTagMutability:e.imageTagMutability});return await l().send(t)}function I(){let e=(0,T.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:L,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ecr`,`repositories`,t,`policy`]})}},e[0]=r,e[1]=i),n(i)}async function L(e){let t=new b({repositoryName:e});return await 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:(e,t)=>{r.invalidateQueries({queryKey:[`ecr`,`repositories`,t.repositoryName,`lifecycle`]})}},e[0]=r,e[1]=i),n(i)}async function z(e){let t=new C({repositoryName:e.repositoryName,lifecyclePolicyText:e.lifecyclePolicyText});return await 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:(e,t)=>{r.invalidateQueries({queryKey:[`ecr`,`repositories`,t,`lifecycle`]})}},e[0]=r,e[1]=i),n(i)}async function V(e){let t=new v({repositoryName:e});return await l().send(t)}function H(){let e=(0,T.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={mutationFn:U},e[0]=t):t=e[0],n(t)}async function U(e){let t=new x({repositoryName:e});return await l().send(t)}export{I as a,R as c,O as i,M as l,E as n,H as o,B as r,P as s,A as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/ecs.js b/spinifex/services/spinifexui/frontend/dist/assets/ecs.js index abfaefa47..19ac510a7 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/ecs.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/ecs.js @@ -1 +1 @@ -import{t as e}from"./queryOptions.js";import{At as t,dt as n}from"./cluster-config.js";import{Bn as r,Gn as i,Hn as a,Kn as o,Qn as s,Rn as c,Un as l,Vn as u,Wn as d,a as f,qn as p,zn as m}from"./awsClient.js";var h=t(s,`AmazonEC2ContainerServiceV20141113`,`ECSClient`,n),g={},_=(e,t,n,r)=>[],v=class extends h(g,_,`DescribeClusters`,c){},y=class extends h(g,_,`DescribeContainerInstances`,m){},b=class extends h(g,_,`DescribeServices`,r){},x=class extends h(g,_,`DescribeTaskDefinition`,u){},S=class extends h(g,_,`DescribeTasks`,a){},C=class extends h(g,_,`ListClusters`,l){},w=class extends h(g,_,`ListContainerInstances`,d){},T=class extends h(g,_,`ListServices`,i){},E=class extends h(g,_,`ListTaskDefinitions`,o){},D=class extends h(g,_,`ListTasks`,p){},O=3e4,k=15e3,A=e({queryKey:[`ecs`,`clusters`],queryFn:async()=>{let e=f(),t=(await e.send(new C({}))).clusterArns??[];return t.length===0?[]:(await e.send(new v({clusters:t}))).clusters??[]},staleTime:O}),j=t=>e({queryKey:[`ecs`,`clusters`,t],queryFn:async()=>(await f().send(new v({clusters:[t]}))).clusters?.[0]??null,staleTime:O}),M=t=>e({queryKey:[`ecs`,`clusters`,t,`services`],queryFn:async()=>{let e=f(),n=(await e.send(new T({cluster:t}))).serviceArns??[];return n.length===0?[]:(await e.send(new b({cluster:t,services:n}))).services??[]},staleTime:O}),N=t=>e({queryKey:[`ecs`,`clusters`,t,`tasks`],queryFn:async()=>{let e=f(),n=(await e.send(new D({cluster:t}))).taskArns??[];return n.length===0?[]:(await e.send(new S({cluster:t,tasks:n}))).tasks??[]},staleTime:k}),P=t=>e({queryKey:[`ecs`,`clusters`,t,`container-instances`],queryFn:async()=>{let e=f(),n=(await e.send(new w({cluster:t}))).containerInstanceArns??[];return n.length===0?[]:(await e.send(new y({cluster:t,containerInstances:n}))).containerInstances??[]},staleTime:O}),F=e({queryKey:[`ecs`,`task-definitions`],queryFn:async()=>(await f().send(new E({}))).taskDefinitionArns??[],staleTime:O}),I=t=>e({queryKey:[`ecs`,`task-definitions`,t],queryFn:async()=>(await f().send(new x({taskDefinition:t}))).taskDefinition,enabled:t!==``,staleTime:O});export{I as a,g as c,M as i,_ as l,A as n,F as o,P as r,N as s,j as t,h as u}; \ No newline at end of file +import{t as e}from"./queryOptions.js";import{At as t,dt as n}from"./cluster-config.js";import{Er as r,_r as i,a,br as o,fr as s,gr as c,hr as l,mr as u,pr as d,vr as f,xr as p,yr as m}from"./awsClient.js";var h=t(r,`AmazonEC2ContainerServiceV20141113`,`ECSClient`,n),g={},_=(e,t,n,r)=>[],v=class extends h(g,_,`DescribeClusters`,s){},y=class extends h(g,_,`DescribeContainerInstances`,d){},b=class extends h(g,_,`DescribeServices`,u){},x=class extends h(g,_,`DescribeTaskDefinition`,l){},S=class extends h(g,_,`DescribeTasks`,c){},C=class extends h(g,_,`ListClusters`,i){},w=class extends h(g,_,`ListContainerInstances`,f){},T=class extends h(g,_,`ListServices`,m){},E=class extends h(g,_,`ListTaskDefinitions`,o){},D=class extends h(g,_,`ListTasks`,p){},O=3e4,k=15e3,A=e({queryKey:[`ecs`,`clusters`],queryFn:async()=>{let e=a(),t=(await e.send(new C({}))).clusterArns??[];return t.length===0?[]:(await e.send(new v({clusters:t}))).clusters??[]},staleTime:O}),j=t=>e({queryKey:[`ecs`,`clusters`,t],queryFn:async()=>(await a().send(new v({clusters:[t]}))).clusters?.[0]??null,staleTime:O}),M=t=>e({queryKey:[`ecs`,`clusters`,t,`services`],queryFn:async()=>{let e=a(),n=(await e.send(new T({cluster:t}))).serviceArns??[];return n.length===0?[]:(await e.send(new b({cluster:t,services:n}))).services??[]},staleTime:O}),N=t=>e({queryKey:[`ecs`,`clusters`,t,`tasks`],queryFn:async()=>{let e=a(),n=(await e.send(new D({cluster:t}))).taskArns??[];return n.length===0?[]:(await e.send(new S({cluster:t,tasks:n}))).tasks??[]},staleTime:k}),P=t=>e({queryKey:[`ecs`,`clusters`,t,`container-instances`],queryFn:async()=>{let e=a(),n=(await e.send(new w({cluster:t}))).containerInstanceArns??[];return n.length===0?[]:(await e.send(new y({cluster:t,containerInstances:n}))).containerInstances??[]},staleTime:O}),F=e({queryKey:[`ecs`,`task-definitions`],queryFn:async()=>(await a().send(new E({}))).taskDefinitionArns??[],staleTime:O}),I=t=>e({queryKey:[`ecs`,`task-definitions`,t],queryFn:async()=>(await a().send(new x({taskDefinition:t}))).taskDefinition,enabled:t!==``,staleTime:O});export{I as a,g as c,M as i,_ as l,A as n,F as o,P as r,N as s,j as t,h as u}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/ecs2.js b/spinifex/services/spinifexui/frontend/dist/assets/ecs2.js index d6227adca..a0674cde9 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/ecs2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/ecs2.js @@ -1 +1 @@ -import{t as e}from"./compiler-runtime.js";import{n as t}from"./QueryClientProvider.js";import{t as n}from"./useMutation.js";import{Kt as r,T as i,a,t as o}from"./cluster-config.js";import{Fn as s,In as c,Jn as l,Ln as u,Nn as d,Pn as f,Xn as p,Yn as m,Zn as h,a as g}from"./awsClient.js";import{t as _}from"./module.js";import{c as v,l as y,r as b,u as x}from"./ecs.js";var S=class extends x(v,y,`CreateCluster`,d){},C=class extends x(v,y,`CreateService`,f){},w=class extends x(v,y,`DeleteCluster`,s){},T=class extends x(v,y,`DeregisterContainerInstance`,c){},E=class extends x(v,y,`DeregisterTaskDefinition`,u){},D=class extends x(v,y,`RegisterTaskDefinition`,l){},O=class extends x(v,y,`RunTask`,m){},k=class extends x(v,y,`StopTask`,p){},A=class extends x(v,y,`UpdateContainerInstancesState`,h){},j=e(),M=9999,N=`AmazonEC2ContainerServiceV20141113.ProvisionCapacity`;function ee(e){try{let t=JSON.parse(e);if(t&&typeof t==`object`){if(`message`in t&&typeof t.message==`string`)return t.message;if(`Message`in t&&typeof t.Message==`string`)return t.Message}}catch{}return null}async function P(e){let t=a();if(!t)throw Error(`Not authenticated`);let n=window.location.protocol.replace(`:`,``),s=JSON.stringify(e),c=new r({method:`POST`,protocol:n,hostname:`localhost`,port:M,path:`/`,headers:{host:`localhost:${M}`,"content-type":`application/x-amz-json-1.1`,"x-amz-target":N},body:s}),l=await new i({credentials:{accessKeyId:t.accessKeyId,secretAccessKey:t.secretAccessKey,sessionToken:t.sessionToken},region:o(),service:`ecs`,sha256:_}).sign(c),u={};for(let[e,t]of Object.entries(l.headers))typeof t==`string`&&(u[e]=t);let d=`${window.location.protocol}//${window.location.host}/proxy/awsgw/`,f=await fetch(d,{method:`POST`,headers:u,body:s});if(!f.ok){let e=await f.text().catch(()=>``),t=ee(e)??e;throw Error(`ProvisionCapacity failed: ${f.status}${t?` - ${t}`:``}`)}return await f.json()}function F(){let e=(0,j.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:I,onSuccess:()=>{r.invalidateQueries({queryKey:[`ecs`,`clusters`]})}},e[0]=r,e[1]=i),n(i)}async function I(e){let t=new S({clusterName:e});return await g().send(t)}function L(){let e=(0,j.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:R,onSuccess:()=>{r.invalidateQueries({queryKey:[`ecs`,`clusters`]})}},e[0]=r,e[1]=i),n(i)}async function R(e){let t=new w({cluster:e});return await g().send(t)}function z(){let e=(0,j.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:B,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ecs`,`clusters`,t.cluster,`tasks`]})}},e[0]=r,e[1]=i),n(i)}async function B(e){let t=new k({cluster:e.cluster,task:e.task});return await g().send(t)}function V(){let e=(0,j.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:H,onSuccess:()=>{r.invalidateQueries({queryKey:[`ecs`,`task-definitions`]})}},e[0]=r,e[1]=i),n(i)}async function H(e){let t=new E({taskDefinition:e});return await g().send(t)}function U(){let e=(0,j.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:W,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ecs`,`clusters`,t.cluster,`container-instances`]})}},e[0]=r,e[1]=i),n(i)}async function W(e){let t=new A({cluster:e.cluster,containerInstances:[e.containerInstance],status:e.status});return await g().send(t)}function G(){let e=(0,j.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:K,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ecs`,`clusters`,t.cluster,`container-instances`]})}},e[0]=r,e[1]=i),n(i)}async function K(e){let t=new T({cluster:e.cluster,containerInstance:e.containerInstance,force:!0});return await g().send(t)}function q(){let e=(0,j.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:J,onSuccess:()=>{r.invalidateQueries({queryKey:[`ecs`,`task-definitions`]})}},e[0]=r,e[1]=i),n(i)}async function J(e){let t={name:e.containerName,image:e.image,essential:e.essential,cpu:e.containerCpu?Number(e.containerCpu):void 0,memory:e.containerMemory?Number(e.containerMemory):void 0,portMappings:e.portMappings.length>0?e.portMappings.map(Y):void 0,resourceRequirements:e.containerGpuCount>0?[{type:`GPU`,value:String(e.containerGpuCount)}]:void 0},n=new D({family:e.family,networkMode:e.networkMode,cpu:e.cpu||void 0,memory:e.memory||void 0,containerDefinitions:[t]});return await g().send(n)}function Y(e){return{containerPort:e.containerPort,hostPort:e.containerPort,protocol:e.protocol}}function X(){let e=(0,j.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Z,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:b(t.Cluster).queryKey})}},e[0]=r,e[1]=i),n(i)}async function Z(e){return await P(e)}function Q(){let e=(0,j.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:$,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ecs`,`clusters`,t.cluster,`tasks`]})}},e[0]=r,e[1]=i),n(i)}async function $(e){let t=new O({cluster:e.cluster,taskDefinition:e.taskDefinition,count:e.count,networkConfiguration:e.awsvpc?{awsvpcConfiguration:{subnets:e.subnets,securityGroups:e.securityGroups.length>0?e.securityGroups:void 0,assignPublicIp:e.assignPublicIp?`ENABLED`:`DISABLED`}}:void 0}),n=await g().send(t);if((n.tasks?.length??0)===0&&n.failures?.length){let e=n.failures[0];throw Error(`Task not placed: ${e?.reason??`unknown`}${e?.detail?` (${e.detail})`:``}`)}return n}function te(){let e=(0,j.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ne,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ecs`,`clusters`,t.cluster,`services`]})}},e[0]=r,e[1]=i),n(i)}async function ne(e){let t=new C({cluster:e.cluster,serviceName:e.serviceName,taskDefinition:e.taskDefinition,desiredCount:e.desiredCount,networkConfiguration:e.awsvpc?{awsvpcConfiguration:{subnets:e.subnets,securityGroups:e.securityGroups.length>0?e.securityGroups:void 0,assignPublicIp:e.assignPublicIp?`ENABLED`:`DISABLED`}}:void 0,loadBalancers:e.targetGroupArn?[{targetGroupArn:e.targetGroupArn,containerName:e.loadBalancerContainerName||void 0,containerPort:e.loadBalancerContainerPort?Number(e.loadBalancerContainerPort):void 0}]:void 0});return await g().send(t)}export{V as a,Q as c,G as i,z as l,te as n,X as o,L as r,q as s,F as t,U as u}; \ No newline at end of file +import{t as e}from"./compiler-runtime.js";import{n as t}from"./QueryClientProvider.js";import{t as n}from"./useMutation.js";import{Kt as r,T as i,a,t as o}from"./cluster-config.js";import{Cr as s,Sr as c,Tr as l,a as u,cr as d,dr as f,lr as p,sr as m,ur as h,wr as g}from"./awsClient.js";import{t as _}from"./module.js";import{c as v,l as y,r as b,u as x}from"./ecs.js";var S=class extends x(v,y,`CreateCluster`,m){},C=class extends x(v,y,`CreateService`,d){},w=class extends x(v,y,`DeleteCluster`,p){},T=class extends x(v,y,`DeregisterContainerInstance`,h){},E=class extends x(v,y,`DeregisterTaskDefinition`,f){},D=class extends x(v,y,`RegisterTaskDefinition`,c){},O=class extends x(v,y,`RunTask`,s){},k=class extends x(v,y,`StopTask`,g){},A=class extends x(v,y,`UpdateContainerInstancesState`,l){},j=e(),M=9999,N=`AmazonEC2ContainerServiceV20141113.ProvisionCapacity`;function P(e){try{let t=JSON.parse(e);if(t&&typeof t==`object`){if(`message`in t&&typeof t.message==`string`)return t.message;if(`Message`in t&&typeof t.Message==`string`)return t.Message}}catch{}return null}async function F(e){let t=a();if(!t)throw Error(`Not authenticated`);let n=window.location.protocol.replace(`:`,``),s=JSON.stringify(e),c=new r({method:`POST`,protocol:n,hostname:`localhost`,port:M,path:`/`,headers:{host:`localhost:${M}`,"content-type":`application/x-amz-json-1.1`,"x-amz-target":N},body:s}),l=await new i({credentials:{accessKeyId:t.accessKeyId,secretAccessKey:t.secretAccessKey,sessionToken:t.sessionToken},region:o(),service:`ecs`,sha256:_}).sign(c),u={};for(let[e,t]of Object.entries(l.headers))typeof t==`string`&&(u[e]=t);let d=`${window.location.protocol}//${window.location.host}/proxy/awsgw/`,f=await fetch(d,{method:`POST`,headers:u,body:s});if(!f.ok){let e=await f.text().catch(()=>``),t=P(e)??e;throw Error(`ProvisionCapacity failed: ${f.status}${t?` - ${t}`:``}`)}return await f.json()}function I(){let e=(0,j.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ee,onSuccess:()=>{r.invalidateQueries({queryKey:[`ecs`,`clusters`]})}},e[0]=r,e[1]=i),n(i)}async function ee(e){let t=new S({clusterName:e});return await u().send(t)}function L(){let e=(0,j.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:R,onSuccess:()=>{r.invalidateQueries({queryKey:[`ecs`,`clusters`]})}},e[0]=r,e[1]=i),n(i)}async function R(e){let t=new w({cluster:e});return await u().send(t)}function z(){let e=(0,j.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:B,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ecs`,`clusters`,t.cluster,`tasks`]})}},e[0]=r,e[1]=i),n(i)}async function B(e){let t=new k({cluster:e.cluster,task:e.task});return await u().send(t)}function V(){let e=(0,j.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:H,onSuccess:()=>{r.invalidateQueries({queryKey:[`ecs`,`task-definitions`]})}},e[0]=r,e[1]=i),n(i)}async function H(e){let t=new E({taskDefinition:e});return await u().send(t)}function U(){let e=(0,j.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:W,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ecs`,`clusters`,t.cluster,`container-instances`]})}},e[0]=r,e[1]=i),n(i)}async function W(e){let t=new A({cluster:e.cluster,containerInstances:[e.containerInstance],status:e.status});return await u().send(t)}function G(){let e=(0,j.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:K,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ecs`,`clusters`,t.cluster,`container-instances`]})}},e[0]=r,e[1]=i),n(i)}async function K(e){let t=new T({cluster:e.cluster,containerInstance:e.containerInstance,force:!0});return await u().send(t)}function q(){let e=(0,j.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:J,onSuccess:()=>{r.invalidateQueries({queryKey:[`ecs`,`task-definitions`]})}},e[0]=r,e[1]=i),n(i)}async function J(e){let t={name:e.containerName,image:e.image,essential:e.essential,cpu:e.containerCpu?Number(e.containerCpu):void 0,memory:e.containerMemory?Number(e.containerMemory):void 0,portMappings:e.portMappings.length>0?e.portMappings.map(Y):void 0,resourceRequirements:e.containerGpuCount>0?[{type:`GPU`,value:String(e.containerGpuCount)}]:void 0},n=new D({family:e.family,networkMode:e.networkMode,cpu:e.cpu||void 0,memory:e.memory||void 0,containerDefinitions:[t]});return await u().send(n)}function Y(e){return{containerPort:e.containerPort,hostPort:e.containerPort,protocol:e.protocol}}function X(){let e=(0,j.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Z,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:b(t.Cluster).queryKey})}},e[0]=r,e[1]=i),n(i)}async function Z(e){return await F(e)}function Q(){let e=(0,j.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:$,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ecs`,`clusters`,t.cluster,`tasks`]})}},e[0]=r,e[1]=i),n(i)}async function $(e){let t=new O({cluster:e.cluster,taskDefinition:e.taskDefinition,count:e.count,networkConfiguration:e.awsvpc?{awsvpcConfiguration:{subnets:e.subnets,securityGroups:e.securityGroups.length>0?e.securityGroups:void 0,assignPublicIp:e.assignPublicIp?`ENABLED`:`DISABLED`}}:void 0}),n=await u().send(t);if((n.tasks?.length??0)===0&&n.failures?.length){let e=n.failures[0];throw Error(`Task not placed: ${e?.reason??`unknown`}${e?.detail?` (${e.detail})`:``}`)}return n}function te(){let e=(0,j.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ne,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`ecs`,`clusters`,t.cluster,`services`]})}},e[0]=r,e[1]=i),n(i)}async function ne(e){let t=new C({cluster:e.cluster,serviceName:e.serviceName,taskDefinition:e.taskDefinition,desiredCount:e.desiredCount,networkConfiguration:e.awsvpc?{awsvpcConfiguration:{subnets:e.subnets,securityGroups:e.securityGroups.length>0?e.securityGroups:void 0,assignPublicIp:e.assignPublicIp?`ENABLED`:`DISABLED`}}:void 0,loadBalancers:e.targetGroupArn?[{targetGroupArn:e.targetGroupArn,containerName:e.loadBalancerContainerName||void 0,containerPort:e.loadBalancerContainerPort?Number(e.loadBalancerContainerPort):void 0}]:void 0});return await u().send(t)}export{V as a,Q as c,G as i,z as l,te as n,X as o,L as r,q as s,I as t,U as u}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/eks.js b/spinifex/services/spinifexui/frontend/dist/assets/eks.js index ea22222ef..a0c1ed558 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/eks.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/eks.js @@ -1 +1 @@ -import{t as e}from"./compiler-runtime.js";import{n as t}from"./QueryClientProvider.js";import{t as n}from"./useMutation.js";import{c as r,d as i,f as a,l as o,m as s,s as c}from"./cluster-config.js";import{An as l,Sn as u,cn as d,dn as f,fn as ee,gn as p,hn as m,jn as h,kn as te,ln as ne,mn as re,o as g,pn as _,un as v}from"./awsClient.js";import{n as y,r as b,t as x}from"./commandBuilder.js";import{i as S}from"./subnet-calculator.js";import{i as C}from"./json.js";var w=class extends b(x,y,`AssociateAccessPolicy`,d){},T=class extends b(x,y,`CreateAccessEntry`,ne){},E=class extends b(x,y,`CreateAddon`,v){},D=class extends b(x,y,`CreateCluster`,f){},O=class extends b(x,y,`CreateNodegroup`,ee){},k=class extends b(x,y,`DeleteAccessEntry`,_){},A=class extends b(x,y,`DeleteAddon`,re){},j=class extends b(x,y,`DeleteCluster`,m){},M=class extends b(x,y,`DeleteNodegroup`,p){},N=class extends b(x,y,`DisassociateAccessPolicy`,u){},P=class extends b(x,y,`UpdateAddon`,te){},F=class extends b(x,y,`UpdateNodegroupConfig`,l){},I=class extends b(x,y,`UpdateNodegroupVersion`,h){},L=e();function R(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:z,onSuccess:()=>{r.invalidateQueries({queryKey:[`eks`,`clusters`]})}},e[0]=r,e[1]=i),n(i)}async function z(e){let t=new D({name:e.name,version:e.version,roleArn:e.roleArn,resourcesVpcConfig:{subnetIds:e.subnetIds,endpointPublicAccess:e.endpointPublicAccess,endpointPrivateAccess:e.endpointPrivateAccess,publicAccessCidrs:e.endpointPublicAccess?e.publicAccessCidrs:void 0},accessConfig:{authenticationMode:`API`,bootstrapClusterCreatorAdminPermissions:e.bootstrapClusterCreatorAdminPermissions}});return await g().send(t)}function B(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:V,onSuccess:()=>{r.invalidateQueries({queryKey:[`eks`,`clusters`]})}},e[0]=r,e[1]=i),n(i)}async function V(e){let t=new j({name:e});return await g().send(t)}function H(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ie,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`nodegroups`]})}},e[0]=r,e[1]=i),n(i)}async function ie(e){let t=new O({clusterName:e.clusterName,nodegroupName:e.nodegroupName,nodeRole:e.nodeRole,subnets:e.subnetIds,instanceTypes:e.instanceTypes,amiType:e.amiType,capacityType:e.capacityType,diskSize:e.diskSize,scalingConfig:{minSize:e.minSize,maxSize:e.maxSize,desiredSize:e.desiredSize}});return await g().send(t)}function U(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:W,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`nodegroups`]})}},e[0]=r,e[1]=i),n(i)}async function W(e){let t=new F({clusterName:e.clusterName,nodegroupName:e.nodegroupName,scalingConfig:{minSize:e.minSize,maxSize:e.maxSize,desiredSize:e.desiredSize}});return await g().send(t)}function G(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:K,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`nodegroups`]})}},e[0]=r,e[1]=i),n(i)}async function K(e){let t=new I({clusterName:e.clusterName,nodegroupName:e.nodegroupName,version:e.version});return await g().send(t)}function q(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:J,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`nodegroups`]})}},e[0]=r,e[1]=i),n(i)}async function J(e){let t=new M({clusterName:e.clusterName,nodegroupName:e.nodegroupName});return await g().send(t)}function Y(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ae,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`addons`]})}},e[0]=r,e[1]=i),n(i)}async function ae(e){let t=new E({clusterName:e.clusterName,addonName:e.addonName,addonVersion:e.addonVersion,serviceAccountRoleArn:e.serviceAccountRoleArn,configurationValues:e.configurationValues});return await g().send(t)}function oe(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:se,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`addons`]})}},e[0]=r,e[1]=i),n(i)}async function se(e){let t=new P({clusterName:e.clusterName,addonName:e.addonName,addonVersion:e.addonVersion,serviceAccountRoleArn:e.serviceAccountRoleArn,configurationValues:e.configurationValues});return await g().send(t)}function ce(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:le,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`addons`]})}},e[0]=r,e[1]=i),n(i)}async function le(e){let t=new A({clusterName:e.clusterName,addonName:e.addonName});return await g().send(t)}function ue(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:de,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`access-entries`]})}},e[0]=r,e[1]=i),n(i)}async function de(e){let t=new T({clusterName:e.clusterName,principalArn:e.principalArn,kubernetesGroups:e.kubernetesGroups,type:e.type});return await g().send(t)}function fe(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:pe,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`access-entries`]})}},e[0]=r,e[1]=i),n(i)}async function pe(e){let t=new k({clusterName:e.clusterName,principalArn:e.principalArn});return await g().send(t)}function me(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:he,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`access-entries`,t.principalArn,`policies`]})}},e[0]=r,e[1]=i),n(i)}async function he(e){let t=new w({clusterName:e.clusterName,principalArn:e.principalArn,policyArn:e.policyArn,accessScope:{type:e.accessScopeType,namespaces:e.namespaces}});return await g().send(t)}function ge(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:_e,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`access-entries`,t.principalArn,`policies`]})}},e[0]=r,e[1]=i),n(i)}async function _e(e){let t=new N({clusterName:e.clusterName,principalArn:e.principalArn,policyArn:e.policyArn});return await g().send(t)}var ve=[`1.32`,`1.31`,`1.30`],ye=[{arn:`arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy`,name:`AmazonEKSClusterAdminPolicy`},{arn:`arn:aws:eks::aws:cluster-access-policy/AmazonEKSAdminPolicy`,name:`AmazonEKSAdminPolicy`},{arn:`arn:aws:eks::aws:cluster-access-policy/AmazonEKSEditPolicy`,name:`AmazonEKSEditPolicy`},{arn:`arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy`,name:`AmazonEKSViewPolicy`}],X=[`AL2_x86_64`,`AL2_ARM_64`],Z=[`ON_DEMAND`,`SPOT`],be=JSON.stringify({Version:`2012-10-17`,Statement:[{Effect:`Allow`,Principal:{Service:`eks.amazonaws.com`},Action:`sts:AssumeRole`}]},null,2),xe=`arn:aws:iam::aws:policy/AmazonEKSClusterPolicy`,Q=s().min(1,`Name is required`).max(100,`Name must be 100 characters or fewer`).regex(/^[0-9A-Za-z][A-Za-z0-9\-_]*$/,`Must start with a letter or digit and contain only letters, digits, hyphens, or underscores`),Se=a({name:Q,version:s().min(1,`Version is required`),roleArn:s().min(1,`Cluster IAM role is required`),vpcId:s().min(1,`VPC is required`),subnetIds:r(s()).min(1,`At least 1 subnet is required`),bootstrapClusterCreatorAdminPermissions:o(),endpointPublicAccess:o(),endpointPrivateAccess:o(),publicAccessCidrs:r(s())}).refine(e=>e.endpointPublicAccess||e.endpointPrivateAccess,{message:`Enable public access, private access, or both`,path:[`endpointPublicAccess`]}).refine(e=>!e.endpointPublicAccess||e.publicAccessCidrs.every(e=>S(e,0,32)),{message:`Each public access CIDR must be valid (e.g. 203.0.113.0/24)`,path:[`publicAccessCidrs`]}),Ce=a({nodegroupName:Q,nodeRole:s().min(1,`Node IAM role is required`),subnetIds:r(s()).min(1,`At least 1 subnet is required`),instanceTypes:s().min(1,`At least 1 instance type is required`),amiType:c(X),capacityType:c(Z),diskSize:i().int().min(1),minSize:i().int().min(0),desiredSize:i().int().min(0),maxSize:i().int().min(1)}).refine(e=>e.minSize<=e.desiredSize&&e.desiredSize<=e.maxSize,{message:`Sizes must satisfy min ≤ desired ≤ max`,path:[`desiredSize`]}),$=C({label:`Configuration`,allowEmpty:!0}),we=a({addonName:s().min(1,`Add-on is required`),addonVersion:s().min(1,`Version is required`),serviceAccountRoleArn:s(),configurationValues:$});function Te(e){switch(e??``){case`ACTIVE`:return`default`;case`CREATE_FAILED`:case`DELETE_FAILED`:case`UPDATE_FAILED`:case`DEGRADED`:return`destructive`;default:return`secondary`}}var Ee=a({principalArn:s().min(1,`Principal ARN is required`),kubernetesGroups:s()});export{U as C,ge as S,G as T,H as _,be as a,B as b,Te as c,Se as d,Ce as f,R as g,Y as h,Z as i,Ee as l,ue as m,ye as n,ve as o,me as p,X as r,$ as s,xe as t,we as u,fe as v,oe as w,q as x,ce as y}; \ No newline at end of file +import{t as e}from"./compiler-runtime.js";import{n as t}from"./QueryClientProvider.js";import{t as n}from"./useMutation.js";import{c as r,d as i,f as a,l as o,m as s,s as c}from"./cluster-config.js";import{Bn as l,Hn as u,In as d,Ln as f,Rn as ee,Un as p,Vn as m,Wn as h,Xn as te,ar as ne,ir as re,o as g,rr as _,zn as v}from"./awsClient.js";import{n as y,r as b,t as x}from"./commandBuilder.js";import{i as S}from"./subnet-calculator.js";import{i as C}from"./json.js";var w=class extends b(x,y,`AssociateAccessPolicy`,d){},T=class extends b(x,y,`CreateAccessEntry`,f){},E=class extends b(x,y,`CreateAddon`,ee){},D=class extends b(x,y,`CreateCluster`,v){},O=class extends b(x,y,`CreateNodegroup`,l){},k=class extends b(x,y,`DeleteAccessEntry`,m){},A=class extends b(x,y,`DeleteAddon`,u){},j=class extends b(x,y,`DeleteCluster`,p){},M=class extends b(x,y,`DeleteNodegroup`,h){},N=class extends b(x,y,`DisassociateAccessPolicy`,te){},P=class extends b(x,y,`UpdateAddon`,_){},F=class extends b(x,y,`UpdateNodegroupConfig`,re){},I=class extends b(x,y,`UpdateNodegroupVersion`,ne){},L=e();function R(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:z,onSuccess:()=>{r.invalidateQueries({queryKey:[`eks`,`clusters`]})}},e[0]=r,e[1]=i),n(i)}async function z(e){let t=new D({name:e.name,version:e.version,roleArn:e.roleArn,resourcesVpcConfig:{subnetIds:e.subnetIds,endpointPublicAccess:e.endpointPublicAccess,endpointPrivateAccess:e.endpointPrivateAccess,publicAccessCidrs:e.endpointPublicAccess?e.publicAccessCidrs:void 0},accessConfig:{authenticationMode:`API`,bootstrapClusterCreatorAdminPermissions:e.bootstrapClusterCreatorAdminPermissions}});return await g().send(t)}function B(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:V,onSuccess:()=>{r.invalidateQueries({queryKey:[`eks`,`clusters`]})}},e[0]=r,e[1]=i),n(i)}async function V(e){let t=new j({name:e});return await g().send(t)}function H(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ie,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`nodegroups`]})}},e[0]=r,e[1]=i),n(i)}async function ie(e){let t=new O({clusterName:e.clusterName,nodegroupName:e.nodegroupName,nodeRole:e.nodeRole,subnets:e.subnetIds,instanceTypes:e.instanceTypes,amiType:e.amiType,capacityType:e.capacityType,diskSize:e.diskSize,scalingConfig:{minSize:e.minSize,maxSize:e.maxSize,desiredSize:e.desiredSize}});return await g().send(t)}function U(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:W,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`nodegroups`]})}},e[0]=r,e[1]=i),n(i)}async function W(e){let t=new F({clusterName:e.clusterName,nodegroupName:e.nodegroupName,scalingConfig:{minSize:e.minSize,maxSize:e.maxSize,desiredSize:e.desiredSize}});return await g().send(t)}function G(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:K,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`nodegroups`]})}},e[0]=r,e[1]=i),n(i)}async function K(e){let t=new I({clusterName:e.clusterName,nodegroupName:e.nodegroupName,version:e.version});return await g().send(t)}function q(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:J,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`nodegroups`]})}},e[0]=r,e[1]=i),n(i)}async function J(e){let t=new M({clusterName:e.clusterName,nodegroupName:e.nodegroupName});return await g().send(t)}function Y(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ae,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`addons`]})}},e[0]=r,e[1]=i),n(i)}async function ae(e){let t=new E({clusterName:e.clusterName,addonName:e.addonName,addonVersion:e.addonVersion,serviceAccountRoleArn:e.serviceAccountRoleArn,configurationValues:e.configurationValues});return await g().send(t)}function oe(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:se,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`addons`]})}},e[0]=r,e[1]=i),n(i)}async function se(e){let t=new P({clusterName:e.clusterName,addonName:e.addonName,addonVersion:e.addonVersion,serviceAccountRoleArn:e.serviceAccountRoleArn,configurationValues:e.configurationValues});return await g().send(t)}function ce(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:le,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`addons`]})}},e[0]=r,e[1]=i),n(i)}async function le(e){let t=new A({clusterName:e.clusterName,addonName:e.addonName});return await g().send(t)}function ue(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:de,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`access-entries`]})}},e[0]=r,e[1]=i),n(i)}async function de(e){let t=new T({clusterName:e.clusterName,principalArn:e.principalArn,kubernetesGroups:e.kubernetesGroups,type:e.type});return await g().send(t)}function fe(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:pe,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`access-entries`]})}},e[0]=r,e[1]=i),n(i)}async function pe(e){let t=new k({clusterName:e.clusterName,principalArn:e.principalArn});return await g().send(t)}function me(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:he,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`access-entries`,t.principalArn,`policies`]})}},e[0]=r,e[1]=i),n(i)}async function he(e){let t=new w({clusterName:e.clusterName,principalArn:e.principalArn,policyArn:e.policyArn,accessScope:{type:e.accessScopeType,namespaces:e.namespaces}});return await g().send(t)}function ge(){let e=(0,L.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:_e,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`eks`,`clusters`,t.clusterName,`access-entries`,t.principalArn,`policies`]})}},e[0]=r,e[1]=i),n(i)}async function _e(e){let t=new N({clusterName:e.clusterName,principalArn:e.principalArn,policyArn:e.policyArn});return await g().send(t)}var ve=[`1.32`,`1.31`,`1.30`],ye=[{arn:`arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy`,name:`AmazonEKSClusterAdminPolicy`},{arn:`arn:aws:eks::aws:cluster-access-policy/AmazonEKSAdminPolicy`,name:`AmazonEKSAdminPolicy`},{arn:`arn:aws:eks::aws:cluster-access-policy/AmazonEKSEditPolicy`,name:`AmazonEKSEditPolicy`},{arn:`arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy`,name:`AmazonEKSViewPolicy`}],X=[`AL2_x86_64`,`AL2_ARM_64`],Z=[`ON_DEMAND`,`SPOT`],be=JSON.stringify({Version:`2012-10-17`,Statement:[{Effect:`Allow`,Principal:{Service:`eks.amazonaws.com`},Action:`sts:AssumeRole`}]},null,2),xe=`arn:aws:iam::aws:policy/AmazonEKSClusterPolicy`,Q=s().min(1,`Name is required`).max(100,`Name must be 100 characters or fewer`).regex(/^[0-9A-Za-z][A-Za-z0-9\-_]*$/,`Must start with a letter or digit and contain only letters, digits, hyphens, or underscores`),Se=a({name:Q,version:s().min(1,`Version is required`),roleArn:s().min(1,`Cluster IAM role is required`),vpcId:s().min(1,`VPC is required`),subnetIds:r(s()).min(1,`At least 1 subnet is required`),bootstrapClusterCreatorAdminPermissions:o(),endpointPublicAccess:o(),endpointPrivateAccess:o(),publicAccessCidrs:r(s())}).refine(e=>e.endpointPublicAccess||e.endpointPrivateAccess,{message:`Enable public access, private access, or both`,path:[`endpointPublicAccess`]}).refine(e=>!e.endpointPublicAccess||e.publicAccessCidrs.every(e=>S(e,0,32)),{message:`Each public access CIDR must be valid (e.g. 203.0.113.0/24)`,path:[`publicAccessCidrs`]}),Ce=a({nodegroupName:Q,nodeRole:s().min(1,`Node IAM role is required`),subnetIds:r(s()).min(1,`At least 1 subnet is required`),instanceTypes:s().min(1,`At least 1 instance type is required`),amiType:c(X),capacityType:c(Z),diskSize:i().int().min(1),minSize:i().int().min(0),desiredSize:i().int().min(0),maxSize:i().int().min(1)}).refine(e=>e.minSize<=e.desiredSize&&e.desiredSize<=e.maxSize,{message:`Sizes must satisfy min ≤ desired ≤ max`,path:[`desiredSize`]}),$=C({label:`Configuration`,allowEmpty:!0}),we=a({addonName:s().min(1,`Add-on is required`),addonVersion:s().min(1,`Version is required`),serviceAccountRoleArn:s(),configurationValues:$});function Te(e){switch(e??``){case`ACTIVE`:return`default`;case`CREATE_FAILED`:case`DELETE_FAILED`:case`UPDATE_FAILED`:case`DEGRADED`:return`destructive`;default:return`secondary`}}var Ee=a({principalArn:s().min(1,`Principal ARN is required`),kubernetesGroups:s()});export{U as C,ge as S,G as T,H as _,be as a,B as b,Te as c,Se as d,Ce as f,R as g,Y as h,Z as i,Ee as l,ue as m,ye as n,ve as o,me as p,X as r,$ as s,xe as t,we as u,fe as v,oe as w,q as x,ce as y}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/eks2.js b/spinifex/services/spinifexui/frontend/dist/assets/eks2.js index ef0ffdd27..5ed031816 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/eks2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/eks2.js @@ -1 +1 @@ -import{t as e}from"./queryOptions.js";import{Cn as t,Dn as n,En as r,On as i,Tn as a,_n as o,bn as s,o as c,vn as l,wn as u,xn as d,yn as f}from"./awsClient.js";import{n as p,r as m,t as h}from"./commandBuilder.js";var g=class extends m(h,p,`DescribeAccessEntry`,o){},_=class extends m(h,p,`DescribeAddon`,l){},v=class extends m(h,p,`DescribeAddonVersions`,f){},y=class extends m(h,p,`DescribeCluster`,s){},b=class extends m(h,p,`DescribeNodegroup`,d){},x=class extends m(h,p,`ListAccessEntries`,t){},S=class extends m(h,p,`ListAccessPolicies`,u){},C=class extends m(h,p,`ListAddons`,a){},w=class extends m(h,p,`ListAssociatedAccessPolicies`,r){},T=class extends m(h,p,`ListClusters`,n){},E=class extends m(h,p,`ListNodegroups`,i){},D=3e4,O=3e5,k=e({queryKey:[`eks`,`clusters`],queryFn:async()=>{let e=new T({});return await c().send(e)},staleTime:D}),A=t=>e({queryKey:[`eks`,`clusters`,t],queryFn:async()=>{let e=new y({name:t});return await c().send(e)},staleTime:D}),j=t=>e({queryKey:[`eks`,`clusters`,t,`nodegroups`],queryFn:async()=>{let e=new E({clusterName:t});return await c().send(e)},staleTime:D}),M=(t,n)=>e({queryKey:[`eks`,`clusters`,t,`nodegroups`,n],queryFn:async()=>{let e=new b({clusterName:t,nodegroupName:n});return await c().send(e)},staleTime:D}),N=t=>e({queryKey:[`eks`,`clusters`,t,`access-entries`],queryFn:async()=>{let e=new x({clusterName:t});return await c().send(e)},staleTime:D}),P=(t,n)=>e({queryKey:[`eks`,`clusters`,t,`access-entries`,n],queryFn:async()=>{let e=new g({clusterName:t,principalArn:n});return await c().send(e)},staleTime:D}),F=(t,n)=>e({queryKey:[`eks`,`clusters`,t,`access-entries`,n,`policies`],queryFn:async()=>{let e=new w({clusterName:t,principalArn:n});return await c().send(e)},staleTime:D});e({queryKey:[`eks`,`access-policies`],queryFn:async()=>{let e=new S({});return await c().send(e)},staleTime:O});var I=e({queryKey:[`eks`,`addon-versions`],queryFn:async()=>{let e=new v({});return await c().send(e)},staleTime:O}),L=t=>e({queryKey:[`eks`,`clusters`,t,`addons`],queryFn:async()=>{let e=new C({clusterName:t});return await c().send(e)},staleTime:D}),R=(t,n)=>e({queryKey:[`eks`,`clusters`,t,`addons`,n],queryFn:async()=>{let e=new _({clusterName:t,addonName:n});return await c().send(e)},staleTime:D});export{L as a,k as c,I as i,M as l,P as n,F as o,R as r,A as s,N as t,j as u}; \ No newline at end of file +import{t as e}from"./queryOptions.js";import{$n as t,Gn as n,Jn as r,Kn as i,Qn as a,Yn as o,Zn as s,er as c,nr as l,o as u,qn as d,tr as f}from"./awsClient.js";import{n as p,r as m,t as h}from"./commandBuilder.js";var g=class extends m(h,p,`DescribeAccessEntry`,n){},_=class extends m(h,p,`DescribeAddon`,i){},v=class extends m(h,p,`DescribeAddonVersions`,d){},y=class extends m(h,p,`DescribeCluster`,r){},b=class extends m(h,p,`DescribeNodegroup`,o){},x=class extends m(h,p,`ListAccessEntries`,s){},S=class extends m(h,p,`ListAccessPolicies`,a){},C=class extends m(h,p,`ListAddons`,t){},w=class extends m(h,p,`ListAssociatedAccessPolicies`,c){},T=class extends m(h,p,`ListClusters`,f){},E=class extends m(h,p,`ListNodegroups`,l){},D=3e4,O=3e5,k=e({queryKey:[`eks`,`clusters`],queryFn:async()=>{let e=new T({});return await u().send(e)},staleTime:D}),A=t=>e({queryKey:[`eks`,`clusters`,t],queryFn:async()=>{let e=new y({name:t});return await u().send(e)},staleTime:D}),j=t=>e({queryKey:[`eks`,`clusters`,t,`nodegroups`],queryFn:async()=>{let e=new E({clusterName:t});return await u().send(e)},staleTime:D}),M=(t,n)=>e({queryKey:[`eks`,`clusters`,t,`nodegroups`,n],queryFn:async()=>{let e=new b({clusterName:t,nodegroupName:n});return await u().send(e)},staleTime:D}),N=t=>e({queryKey:[`eks`,`clusters`,t,`access-entries`],queryFn:async()=>{let e=new x({clusterName:t});return await u().send(e)},staleTime:D}),P=(t,n)=>e({queryKey:[`eks`,`clusters`,t,`access-entries`,n],queryFn:async()=>{let e=new g({clusterName:t,principalArn:n});return await u().send(e)},staleTime:D}),F=(t,n)=>e({queryKey:[`eks`,`clusters`,t,`access-entries`,n,`policies`],queryFn:async()=>{let e=new w({clusterName:t,principalArn:n});return await u().send(e)},staleTime:D});e({queryKey:[`eks`,`access-policies`],queryFn:async()=>{let e=new S({});return await u().send(e)},staleTime:O});var I=e({queryKey:[`eks`,`addon-versions`],queryFn:async()=>{let e=new v({});return await u().send(e)},staleTime:O}),L=t=>e({queryKey:[`eks`,`clusters`,t,`addons`],queryFn:async()=>{let e=new C({clusterName:t});return await u().send(e)},staleTime:D}),R=(t,n)=>e({queryKey:[`eks`,`clusters`,t,`addons`,n],queryFn:async()=>{let e=new _({clusterName:t,addonName:n});return await u().send(e)},staleTime:D});export{L as a,k as c,I as i,M as l,P as n,F as o,R as r,A as s,N as t,j as u}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/elbv2.js b/spinifex/services/spinifexui/frontend/dist/assets/elbv2.js index 92256c9c2..14bbef8ba 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/elbv2.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/elbv2.js @@ -1 +1 @@ -import{t as e}from"./compiler-runtime.js";import{n as t}from"./QueryClientProvider.js";import{t as n}from"./useMutation.js";import{$t as r,Bt as i,Ft as a,Ht as o,It as s,Lt as ee,Pt as c,Rt as l,Ut as u,Vt as d,an as f,en as p,in as te,nn as ne,on as re,rn as ie,s as m,tn as h,zt as g}from"./awsClient.js";import{n as _,r as v,t as y}from"./commandBuilder2.js";var b=class extends v(y,_,`AddTags`,c){},x=class extends v(y,_,`CreateListener`,a){},S=class extends v(y,_,`CreateLoadBalancer`,s){},C=class extends v(y,_,`CreateRule`,ee){},w=class extends v(y,_,`CreateTargetGroup`,l){},T=class extends v(y,_,`DeleteListener`,g){},E=class extends v(y,_,`DeleteLoadBalancer`,i){},D=class extends v(y,_,`DeleteRule`,d){},O=class extends v(y,_,`DeleteTargetGroup`,o){},k=class extends v(y,_,`DeregisterTargets`,u){},A=class extends v(y,_,`ModifyListener`,r){},j=class extends v(y,_,`ModifyLoadBalancerAttributes`,p){},M=class extends v(y,_,`ModifyRule`,h){},N=class extends v(y,_,`ModifyTargetGroupAttributes`,ne){},P=class extends v(y,_,`RegisterTargets`,ie){},F=class extends v(y,_,`RemoveTags`,te){},I=class extends v(y,_,`SetSecurityGroups`,f){},L=class extends v(y,_,`SetSubnets`,re){},R=e();function z(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:B,onSuccess:()=>{r.invalidateQueries({queryKey:[`elbv2`,`loadBalancers`]})}},e[0]=r,e[1]=i),n(i)}async function B(e){let t=new E({LoadBalancerArn:e});return await m().send(t)}function V(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:H,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`loadBalancers`,t.loadBalancerArn,`attributes`]})}},e[0]=r,e[1]=i),n(i)}async function H(e){let t=new j({LoadBalancerArn:e.loadBalancerArn,Attributes:e.attributes.map(U)});return await m().send(t)}function U(e){return{Key:e.key,Value:e.value}}function W(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:G,onSuccess:()=>{r.invalidateQueries({queryKey:[`elbv2`,`tags`]})}},e[0]=r,e[1]=i),n(i)}async function G(e){let t=new Set(e.tags.map(q)),n=e.initialKeys.filter(e=>!t.has(e)),r=m();e.tags.length>0&&await r.send(new b({ResourceArns:[e.resourceArn],Tags:e.tags.map(K)})),n.length>0&&await r.send(new F({ResourceArns:[e.resourceArn],TagKeys:n}))}function K(e){return{Key:e.key,Value:e.value}}function q(e){return e.key}function J(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Y,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`loadBalancers`,t.loadBalancerArn]})}},e[0]=r,e[1]=i),n(i)}async function Y(e){let t=new I({LoadBalancerArn:e.loadBalancerArn,SecurityGroups:e.securityGroupIds});return await m().send(t)}function ae(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:oe,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`loadBalancers`,t.loadBalancerArn]})}},e[0]=r,e[1]=i),n(i)}async function oe(e){let t=new L({LoadBalancerArn:e.loadBalancerArn,Subnets:e.subnetIds});return await m().send(t)}function se(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ce,onSuccess:()=>{r.invalidateQueries({queryKey:[`elbv2`,`targetGroups`]})}},e[0]=r,e[1]=i),n(i)}async function ce(e){let t=e.tags.filter(ue).map(le),n=e.healthCheck.protocol===`HTTP`,r=new w({Name:e.name,Protocol:e.protocol,Port:e.port,VpcId:e.vpcId,TargetType:`instance`,HealthCheckProtocol:e.healthCheck.protocol,HealthCheckPath:n?e.healthCheck.path:void 0,HealthCheckPort:e.healthCheck.port,HealthCheckIntervalSeconds:e.healthCheck.intervalSeconds,HealthCheckTimeoutSeconds:e.healthCheck.timeoutSeconds,HealthyThresholdCount:e.healthCheck.healthyThresholdCount,UnhealthyThresholdCount:e.healthCheck.unhealthyThresholdCount,Matcher:n?{HttpCode:e.healthCheck.matcher}:void 0,Tags:t.length>0?t:void 0});return await m().send(r)}function le(e){return{Key:e.key,Value:e.value}}function ue(e){return e.key.length>0}function de(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:fe,onSuccess:()=>{r.invalidateQueries({queryKey:[`elbv2`,`targetGroups`]})}},e[0]=r,e[1]=i),n(i)}async function fe(e){let t=new O({TargetGroupArn:e});return await m().send(t)}function pe(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:me,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`targetGroups`,t.targetGroupArn,`attributes`]})}},e[0]=r,e[1]=i),n(i)}async function me(e){let t=new N({TargetGroupArn:e.targetGroupArn,Attributes:e.attributes.map(he)});return await m().send(t)}function he(e){return{Key:e.key,Value:e.value}}function X(e,t,n){return e!==`HTTPS`&&e!==`TLS`||!t?{}:{Certificates:[{CertificateArn:t}],SslPolicy:e===`HTTPS`?n:void 0}}function ge(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:_e,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`listeners`,t.loadBalancerArn]})}},e[0]=r,e[1]=i),n(i)}async function _e(e){let t=[{Type:`forward`,TargetGroupArn:e.defaultTargetGroupArn}],n=new x({LoadBalancerArn:e.loadBalancerArn,Protocol:e.protocol,Port:e.port,DefaultActions:t,...X(e.protocol,e.certificateArn,e.sslPolicy)});return await m().send(n)}function ve(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ye,onSuccess:()=>{r.invalidateQueries({queryKey:[`elbv2`,`listeners`]})}},e[0]=r,e[1]=i),n(i)}async function ye(e){let t=new T({ListenerArn:e});return await m().send(t)}function be(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:xe,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`listeners`,t.loadBalancerArn]})}},e[0]=r,e[1]=i),n(i)}async function xe(e){let t=[{Type:`forward`,TargetGroupArn:e.defaultTargetGroupArn}],n=new A({ListenerArn:e.listenerArn,Protocol:e.protocol,Port:e.port,DefaultActions:t,...X(e.protocol,e.certificateArn,e.sslPolicy)});return await m().send(n)}function Se(){let e=t();return n({mutationFn:async e=>{let t=m(),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})),s=a.healthCheck.protocol===`HTTP`;if(i=(await t.send(new w({Name:a.name,Protocol:a.protocol,Port:a.port,VpcId:a.vpcId,TargetType:`instance`,HealthCheckProtocol:a.healthCheck.protocol,HealthCheckPath:s?a.healthCheck.path:void 0,HealthCheckPort:a.healthCheck.port,HealthCheckIntervalSeconds:a.healthCheck.intervalSeconds,HealthCheckTimeoutSeconds:a.healthCheck.timeoutSeconds,HealthyThresholdCount:a.healthCheck.healthyThresholdCount,UnhealthyThresholdCount:a.healthCheck.unhealthyThresholdCount,Matcher:s?{HttpCode:a.healthCheck.matcher}:void 0,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 S({Name:e.lb.name,Scheme:e.lb.scheme,Type:e.lb.type,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 x({LoadBalancerArn:o,Protocol:e.listener.protocol,Port:e.listener.port,DefaultActions:[{Type:`forward`,TargetGroupArn:i}],...X(e.listener.protocol,e.listener.certificateArn,e.listener.sslPolicy)})),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 Z(e){return e.map(e=>({Id:e.id,Port:e.port}))}function Ce(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:we,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`targetGroups`,t.targetGroupArn,`health`]})}},e[0]=r,e[1]=i),n(i)}async function we(e){let t=new P({TargetGroupArn:e.targetGroupArn,Targets:Z(e.targets)});return await m().send(t)}function Q(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Te,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`targetGroups`,t.targetGroupArn,`health`]})}},e[0]=r,e[1]=i),n(i)}async function Te(e){let t=new k({TargetGroupArn:e.targetGroupArn,Targets:Z(e.targets)});return await m().send(t)}function $(e){return e.map(e=>{switch(e.field){case`host-header`:return{Field:e.field,HostHeaderConfig:{Values:e.values}};case`path-pattern`:return{Field:e.field,PathPatternConfig:{Values:e.values}};case`http-header`:return{Field:e.field,HttpHeaderConfig:{HttpHeaderName:e.httpHeaderName??``,Values:e.values}};case`http-request-method`:return{Field:e.field,HttpRequestMethodConfig:{Values:e.values}};case`source-ip`:return{Field:e.field,SourceIpConfig:{Values:e.values}};case`query-string`:return{Field:e.field,QueryStringConfig:{Values:(e.queryStringPairs??[]).map(e=>({Key:e.key&&e.key.length>0?e.key:void 0,Value:e.value}))}};default:return{Field:e.field,Values:e.values}}})}function Ee(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:De,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`listeners`,t.listenerArn,`rules`]})}},e[0]=r,e[1]=i),n(i)}async function De(e){let t=[{Type:`forward`,TargetGroupArn:e.forwardTargetGroupArn}],n=new C({ListenerArn:e.listenerArn,Priority:e.priority,Conditions:$(e.conditions),Actions:t});return await m().send(n)}function Oe(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ke,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`listeners`,t.listenerArn,`rules`]})}},e[0]=r,e[1]=i),n(i)}async function ke(e){let t=new M({RuleArn:e.ruleArn,Conditions:e.conditions?$(e.conditions):void 0,Actions:e.forwardTargetGroupArn?[{Type:`forward`,TargetGroupArn:e.forwardTargetGroupArn}]:void 0});return await m().send(t)}function Ae(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:je,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`listeners`,t.listenerArn,`rules`]})}},e[0]=r,e[1]=i),n(i)}async function je(e){let t=new D({RuleArn:e.ruleArn});return await m().send(t)}export{W as _,ve as a,de as c,V as d,Oe as f,ae as g,J as h,se as i,Q as l,Ce as m,Se as n,z as o,pe as p,Ee as r,Ae as s,ge as t,be as u}; \ No newline at end of file +import{t as e}from"./compiler-runtime.js";import{n as t}from"./QueryClientProvider.js";import{t as n}from"./useMutation.js";import{An as r,Dn as i,Mn as a,Nn as o,On as s,Pn as c,_n as l,cn as u,dn as d,fn as f,gn as p,hn as m,jn as ee,kn as te,ln as ne,mn as re,pn as ie,s as h,un as g}from"./awsClient.js";import{n as _,r as v,t as y}from"./commandBuilder2.js";var b=class extends v(y,_,`AddTags`,u){},x=class extends v(y,_,`CreateListener`,ne){},S=class extends v(y,_,`CreateLoadBalancer`,g){},C=class extends v(y,_,`CreateRule`,d){},w=class extends v(y,_,`CreateTargetGroup`,f){},T=class extends v(y,_,`DeleteListener`,ie){},E=class extends v(y,_,`DeleteLoadBalancer`,re){},D=class extends v(y,_,`DeleteRule`,m){},O=class extends v(y,_,`DeleteTargetGroup`,p){},k=class extends v(y,_,`DeregisterTargets`,l){},A=class extends v(y,_,`ModifyListener`,i){},j=class extends v(y,_,`ModifyLoadBalancerAttributes`,s){},M=class extends v(y,_,`ModifyRule`,te){},N=class extends v(y,_,`ModifyTargetGroupAttributes`,r){},P=class extends v(y,_,`RegisterTargets`,ee){},F=class extends v(y,_,`RemoveTags`,a){},I=class extends v(y,_,`SetSecurityGroups`,o){},L=class extends v(y,_,`SetSubnets`,c){},R=e();function z(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:B,onSuccess:()=>{r.invalidateQueries({queryKey:[`elbv2`,`loadBalancers`]})}},e[0]=r,e[1]=i),n(i)}async function B(e){let t=new E({LoadBalancerArn:e});return await h().send(t)}function V(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:H,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`loadBalancers`,t.loadBalancerArn,`attributes`]})}},e[0]=r,e[1]=i),n(i)}async function H(e){let t=new j({LoadBalancerArn:e.loadBalancerArn,Attributes:e.attributes.map(U)});return await h().send(t)}function U(e){return{Key:e.key,Value:e.value}}function W(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:G,onSuccess:()=>{r.invalidateQueries({queryKey:[`elbv2`,`tags`]})}},e[0]=r,e[1]=i),n(i)}async function G(e){let t=new Set(e.tags.map(q)),n=e.initialKeys.filter(e=>!t.has(e)),r=h();e.tags.length>0&&await r.send(new b({ResourceArns:[e.resourceArn],Tags:e.tags.map(K)})),n.length>0&&await r.send(new F({ResourceArns:[e.resourceArn],TagKeys:n}))}function K(e){return{Key:e.key,Value:e.value}}function q(e){return e.key}function J(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Y,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`loadBalancers`,t.loadBalancerArn]})}},e[0]=r,e[1]=i),n(i)}async function Y(e){let t=new I({LoadBalancerArn:e.loadBalancerArn,SecurityGroups:e.securityGroupIds});return await h().send(t)}function ae(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:oe,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`loadBalancers`,t.loadBalancerArn]})}},e[0]=r,e[1]=i),n(i)}async function oe(e){let t=new L({LoadBalancerArn:e.loadBalancerArn,Subnets:e.subnetIds});return await h().send(t)}function se(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ce,onSuccess:()=>{r.invalidateQueries({queryKey:[`elbv2`,`targetGroups`]})}},e[0]=r,e[1]=i),n(i)}async function ce(e){let t=e.tags.filter(ue).map(le),n=e.healthCheck.protocol===`HTTP`,r=new w({Name:e.name,Protocol:e.protocol,Port:e.port,VpcId:e.vpcId,TargetType:`instance`,HealthCheckProtocol:e.healthCheck.protocol,HealthCheckPath:n?e.healthCheck.path:void 0,HealthCheckPort:e.healthCheck.port,HealthCheckIntervalSeconds:e.healthCheck.intervalSeconds,HealthCheckTimeoutSeconds:e.healthCheck.timeoutSeconds,HealthyThresholdCount:e.healthCheck.healthyThresholdCount,UnhealthyThresholdCount:e.healthCheck.unhealthyThresholdCount,Matcher:n?{HttpCode:e.healthCheck.matcher}:void 0,Tags:t.length>0?t:void 0});return await h().send(r)}function le(e){return{Key:e.key,Value:e.value}}function ue(e){return e.key.length>0}function de(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:fe,onSuccess:()=>{r.invalidateQueries({queryKey:[`elbv2`,`targetGroups`]})}},e[0]=r,e[1]=i),n(i)}async function fe(e){let t=new O({TargetGroupArn:e});return await h().send(t)}function pe(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:me,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`targetGroups`,t.targetGroupArn,`attributes`]})}},e[0]=r,e[1]=i),n(i)}async function me(e){let t=new N({TargetGroupArn:e.targetGroupArn,Attributes:e.attributes.map(he)});return await h().send(t)}function he(e){return{Key:e.key,Value:e.value}}function X(e,t,n){return e!==`HTTPS`&&e!==`TLS`||!t?{}:{Certificates:[{CertificateArn:t}],SslPolicy:e===`HTTPS`?n:void 0}}function ge(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:_e,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`listeners`,t.loadBalancerArn]})}},e[0]=r,e[1]=i),n(i)}async function _e(e){let t=[{Type:`forward`,TargetGroupArn:e.defaultTargetGroupArn}],n=new x({LoadBalancerArn:e.loadBalancerArn,Protocol:e.protocol,Port:e.port,DefaultActions:t,...X(e.protocol,e.certificateArn,e.sslPolicy)});return await h().send(n)}function ve(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ye,onSuccess:()=>{r.invalidateQueries({queryKey:[`elbv2`,`listeners`]})}},e[0]=r,e[1]=i),n(i)}async function ye(e){let t=new T({ListenerArn:e});return await h().send(t)}function be(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:xe,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`listeners`,t.loadBalancerArn]})}},e[0]=r,e[1]=i),n(i)}async function xe(e){let t=[{Type:`forward`,TargetGroupArn:e.defaultTargetGroupArn}],n=new A({ListenerArn:e.listenerArn,Protocol:e.protocol,Port:e.port,DefaultActions:t,...X(e.protocol,e.certificateArn,e.sslPolicy)});return await h().send(n)}function Se(){let e=t();return n({mutationFn:async e=>{let t=h(),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})),s=a.healthCheck.protocol===`HTTP`;if(i=(await t.send(new w({Name:a.name,Protocol:a.protocol,Port:a.port,VpcId:a.vpcId,TargetType:`instance`,HealthCheckProtocol:a.healthCheck.protocol,HealthCheckPath:s?a.healthCheck.path:void 0,HealthCheckPort:a.healthCheck.port,HealthCheckIntervalSeconds:a.healthCheck.intervalSeconds,HealthCheckTimeoutSeconds:a.healthCheck.timeoutSeconds,HealthyThresholdCount:a.healthCheck.healthyThresholdCount,UnhealthyThresholdCount:a.healthCheck.unhealthyThresholdCount,Matcher:s?{HttpCode:a.healthCheck.matcher}:void 0,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 S({Name:e.lb.name,Scheme:e.lb.scheme,Type:e.lb.type,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 x({LoadBalancerArn:o,Protocol:e.listener.protocol,Port:e.listener.port,DefaultActions:[{Type:`forward`,TargetGroupArn:i}],...X(e.listener.protocol,e.listener.certificateArn,e.listener.sslPolicy)})),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 Z(e){return e.map(e=>({Id:e.id,Port:e.port}))}function Ce(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:we,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`targetGroups`,t.targetGroupArn,`health`]})}},e[0]=r,e[1]=i),n(i)}async function we(e){let t=new P({TargetGroupArn:e.targetGroupArn,Targets:Z(e.targets)});return await h().send(t)}function Q(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Te,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`targetGroups`,t.targetGroupArn,`health`]})}},e[0]=r,e[1]=i),n(i)}async function Te(e){let t=new k({TargetGroupArn:e.targetGroupArn,Targets:Z(e.targets)});return await h().send(t)}function $(e){return e.map(e=>{switch(e.field){case`host-header`:return{Field:e.field,HostHeaderConfig:{Values:e.values}};case`path-pattern`:return{Field:e.field,PathPatternConfig:{Values:e.values}};case`http-header`:return{Field:e.field,HttpHeaderConfig:{HttpHeaderName:e.httpHeaderName??``,Values:e.values}};case`http-request-method`:return{Field:e.field,HttpRequestMethodConfig:{Values:e.values}};case`source-ip`:return{Field:e.field,SourceIpConfig:{Values:e.values}};case`query-string`:return{Field:e.field,QueryStringConfig:{Values:(e.queryStringPairs??[]).map(e=>({Key:e.key&&e.key.length>0?e.key:void 0,Value:e.value}))}};default:return{Field:e.field,Values:e.values}}})}function Ee(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:De,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`listeners`,t.listenerArn,`rules`]})}},e[0]=r,e[1]=i),n(i)}async function De(e){let t=[{Type:`forward`,TargetGroupArn:e.forwardTargetGroupArn}],n=new C({ListenerArn:e.listenerArn,Priority:e.priority,Conditions:$(e.conditions),Actions:t});return await h().send(n)}function Oe(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ke,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`listeners`,t.listenerArn,`rules`]})}},e[0]=r,e[1]=i),n(i)}async function ke(e){let t=new M({RuleArn:e.ruleArn,Conditions:e.conditions?$(e.conditions):void 0,Actions:e.forwardTargetGroupArn?[{Type:`forward`,TargetGroupArn:e.forwardTargetGroupArn}]:void 0});return await h().send(t)}function Ae(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:je,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`elbv2`,`listeners`,t.listenerArn,`rules`]})}},e[0]=r,e[1]=i),n(i)}async function je(e){let t=new D({RuleArn:e.ruleArn});return await h().send(t)}export{W as _,ve as a,de as c,V as d,Oe as f,ae as g,J as h,se as i,Q as l,Ce as m,Se as n,z as o,pe as p,Ee as r,Ae as s,ge as t,be 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 index c38c5f1f8..788ec5b3a 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/elbv22.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/elbv22.js @@ -1 +1 @@ -import{t as e}from"./queryOptions.js";import{Gt as t,Jt as n,Kt as r,Qt as i,Wt as a,Xt as o,Yt as s,Zt as c,qt as l,s as u}from"./awsClient.js";import{n as d,r as f,t as p}from"./commandBuilder2.js";var m=class extends f(p,d,`DescribeListeners`,a){},h=class extends f(p,d,`DescribeLoadBalancerAttributes`,t){},g=class extends f(p,d,`DescribeLoadBalancers`,r){},_=class extends f(p,d,`DescribeRules`,l){},v=class extends f(p,d,`DescribeSSLPolicies`,n){},y=class extends f(p,d,`DescribeTags`,s){},b=class extends f(p,d,`DescribeTargetGroupAttributes`,o){},x=class extends f(p,d,`DescribeTargetGroups`,c){},S=class extends f(p,d,`DescribeTargetHealth`,i){},C=5e3,w=e({queryKey:[`elbv2`,`loadBalancers`],queryFn:async()=>{let e=new g({});return await u().send(e)},refetchInterval:e=>(e.state.data?.LoadBalancers??[]).some(e=>e.State?.Code===`provisioning`)?C:!1}),T=t=>e({queryKey:[`elbv2`,`loadBalancers`,t],queryFn:async()=>{let e=new g({LoadBalancerArns:[t]});return await u().send(e)},refetchInterval:e=>(e.state.data?.LoadBalancers?.[0])?.State?.Code===`provisioning`&&C}),E=t=>e({queryKey:[`elbv2`,`loadBalancers`,t,`attributes`],queryFn:async()=>{let e=new h({LoadBalancerArn:t});return await u().send(e)}}),D=e({queryKey:[`elbv2`,`targetGroups`],queryFn:async()=>{let e=new x({});return await u().send(e)}}),O=t=>e({queryKey:[`elbv2`,`targetGroups`,t],queryFn:async()=>{let e=new x({TargetGroupArns:[t]});return await u().send(e)}}),k=t=>e({queryKey:[`elbv2`,`targetGroups`,t,`attributes`],queryFn:async()=>{let e=new b({TargetGroupArn:t});return await u().send(e)}}),A=t=>e({queryKey:[`elbv2`,`listeners`,t],queryFn:async()=>{let e=new m({LoadBalancerArn:t});return await u().send(e)}}),j=t=>e({queryKey:[`elbv2`,`listeners`,t,`rules`],queryFn:async()=>{let e=new _({ListenerArn:t});return await u().send(e)}}),M=t=>e({queryKey:[`elbv2`,`targetGroups`,t,`health`],queryFn:async()=>{let e=new S({TargetGroupArn:t});return await u().send(e)}}),N=e({queryKey:[`elbv2`,`sslPolicies`],queryFn:async()=>{let e=new v({});return await u().send(e)},staleTime:1/0}),P=t=>e({queryKey:[`elbv2`,`tags`,...t],queryFn:async()=>{let e=new y({ResourceArns:t});return await u().send(e)},enabled:t.length>0});export{w as a,k as c,M as d,T as i,O as l,A as n,N as o,E as r,P as s,j as t,D as u}; \ No newline at end of file +import{t as e}from"./queryOptions.js";import{Cn as t,En as n,Sn as r,Tn as i,bn as a,s as o,vn as s,wn as c,xn as l,yn as u}from"./awsClient.js";import{n as d,r as f,t as p}from"./commandBuilder2.js";var m=class extends f(p,d,`DescribeListeners`,s){},h=class extends f(p,d,`DescribeLoadBalancerAttributes`,u){},g=class extends f(p,d,`DescribeLoadBalancers`,a){},_=class extends f(p,d,`DescribeRules`,l){},v=class extends f(p,d,`DescribeSSLPolicies`,r){},y=class extends f(p,d,`DescribeTags`,t){},b=class extends f(p,d,`DescribeTargetGroupAttributes`,c){},x=class extends f(p,d,`DescribeTargetGroups`,i){},S=class extends f(p,d,`DescribeTargetHealth`,n){},C=5e3,w=e({queryKey:[`elbv2`,`loadBalancers`],queryFn:async()=>{let e=new g({});return await o().send(e)},refetchInterval:e=>(e.state.data?.LoadBalancers??[]).some(e=>e.State?.Code===`provisioning`)?C:!1}),T=t=>e({queryKey:[`elbv2`,`loadBalancers`,t],queryFn:async()=>{let e=new g({LoadBalancerArns:[t]});return await o().send(e)},refetchInterval:e=>(e.state.data?.LoadBalancers?.[0])?.State?.Code===`provisioning`&&C}),E=t=>e({queryKey:[`elbv2`,`loadBalancers`,t,`attributes`],queryFn:async()=>{let e=new h({LoadBalancerArn:t});return await o().send(e)}}),D=e({queryKey:[`elbv2`,`targetGroups`],queryFn:async()=>{let e=new x({});return await o().send(e)}}),O=t=>e({queryKey:[`elbv2`,`targetGroups`,t],queryFn:async()=>{let e=new x({TargetGroupArns:[t]});return await o().send(e)}}),k=t=>e({queryKey:[`elbv2`,`targetGroups`,t,`attributes`],queryFn:async()=>{let e=new b({TargetGroupArn:t});return await o().send(e)}}),A=t=>e({queryKey:[`elbv2`,`listeners`,t],queryFn:async()=>{let e=new m({LoadBalancerArn:t});return await o().send(e)}}),j=t=>e({queryKey:[`elbv2`,`listeners`,t,`rules`],queryFn:async()=>{let e=new _({ListenerArn:t});return await o().send(e)}}),M=t=>e({queryKey:[`elbv2`,`targetGroups`,t,`health`],queryFn:async()=>{let e=new S({TargetGroupArn:t});return await o().send(e)}}),N=e({queryKey:[`elbv2`,`sslPolicies`],queryFn:async()=>{let e=new v({});return await o().send(e)},staleTime:1/0}),P=t=>e({queryKey:[`elbv2`,`tags`,...t],queryFn:async()=>{let e=new y({ResourceArns:t});return await o().send(e)},enabled:t.length>0});export{w as a,k as c,M as d,T as i,O as l,A as n,N as o,E as r,P as s,j as t,D as u}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/error-banner.js b/spinifex/services/spinifexui/frontend/dist/assets/error-banner.js index 52ec208aa..79bd37f7a 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/error-banner.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/error-banner.js @@ -1 +1 @@ -import{n as e,t}from"./compiler-runtime.js";var n=t(),r=e();function i(e){let t=(0,n.c)(7),{msg:i,error:a}=e,o;a&&(o=a.name===`Error`?a.message:a.name);let s;t[0]===i?s=t[1]:(s=i&&(0,r.jsx)(`h2`,{className:`text-sm text-destructive`,children:i}),t[0]=i,t[1]=s);let c;t[2]===o?c=t[3]:(c=o&&(0,r.jsx)(`p`,{className:`text-sm text-destructive`,children:o}),t[2]=o,t[3]=c);let l;return t[4]!==s||t[5]!==c?(l=(0,r.jsxs)(`div`,{className:`mb-6 max-w-4xl rounded-md border border-destructive bg-destructive/10 p-4`,children:[s,c]}),t[4]=s,t[5]=c,t[6]=l):l=t[6],l}export{i as t}; \ No newline at end of file +import{n as e,t}from"./compiler-runtime.js";var n=t(),r=e();function i(e){let t=(0,n.c)(7),{msg:i,error:a}=e,o;a&&(o=a.name===`Error`?a.message:a.message===``?a.name:`${a.name}: ${a.message}`);let s;t[0]===i?s=t[1]:(s=i&&(0,r.jsx)(`h2`,{className:`text-sm text-destructive`,children:i}),t[0]=i,t[1]=s);let c;t[2]===o?c=t[3]:(c=o&&(0,r.jsx)(`p`,{className:`text-sm text-destructive`,children:o}),t[2]=o,t[3]=c);let l;return t[4]!==s||t[5]!==c?(l=(0,r.jsxs)(`div`,{className:`mb-6 max-w-4xl rounded-md border border-destructive bg-destructive/10 p-4`,children:[s,c]}),t[4]=s,t[5]=c,t[6]=l):l=t[6],l}export{i 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 f4fe56150..8fffb85e0 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{t as n}from"./useMutation.js";import{$ as r,At as i,B as a,Dt as o,F as s,G as c,H as ee,I as te,J as ne,K as l,L as u,Mt as d,Ot as f,Q as p,R as m,U as h,V as g,W as _,X as v,Y as y,Z as b,c as x,et as S,jt as C,kt as w,nt as T,q as E,rt as D,tt as O,z as k}from"./awsClient.js";import{n as A,r as j,t as M}from"./commandBuilder3.js";var N=class extends j(M,A,`AddRoleToInstanceProfile`,s){},P=class extends j(M,A,`AddUserToGroup`,te){},F=class extends j(M,A,`AttachGroupPolicy`,u){},I=class extends j(M,A,`AttachRolePolicy`,m){},L=class extends j(M,A,`AttachUserPolicy`,k){},R=class extends j(M,A,`CreateAccessKey`,a){},z=class extends j(M,A,`CreateGroup`,g){},B=class extends j(M,A,`CreateInstanceProfile`,ee){},V=class extends j(M,A,`CreatePolicy`,h){},H=class extends j(M,A,`CreateRole`,_){},U=class extends j(M,A,`CreateUser`,c){},W=class extends j(M,A,`DeleteAccessKey`,l){},G=class extends j(M,A,`DeleteGroup`,E){},K=class extends j(M,A,`DeleteGroupPolicy`,ne){},q=class extends j(M,A,`DeleteInstanceProfile`,y){},J=class extends j(M,A,`DeletePolicy`,v){},Y=class extends j(M,A,`DeleteRole`,b){},X=class extends j(M,A,`DeleteRolePolicy`,p){},Z=class extends j(M,A,`DeleteUser`,r){},re=class extends j(M,A,`DeleteUserPolicy`,S){},ie=class extends j(M,A,`DetachGroupPolicy`,O){},ae=class extends j(M,A,`DetachRolePolicy`,T){},oe=class extends j(M,A,`DetachUserPolicy`,D){},se=class extends j(M,A,`PutGroupPolicy`,o){},ce=class extends j(M,A,`PutRolePolicy`,f){},le=class extends j(M,A,`PutUserPolicy`,w){},ue=class extends j(M,A,`RemoveRoleFromInstanceProfile`,i){},de=class extends j(M,A,`RemoveUserFromGroup`,C){},fe=class extends j(M,A,`UpdateAccessKey`,d){},Q=e();function pe(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:me,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`users`]})}},e[0]=r,e[1]=i),n(i)}async function me(e){let t=new U({UserName:e.userName,Path:e.path||void 0});return await x().send(t)}function he(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ge,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`users`]})}},e[0]=r,e[1]=i),n(i)}async function ge(e){let t=new Z({UserName:e});return await x().send(t)}function _e(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ve,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`access-keys`]})}},e[0]=r,e[1]=i),n(i)}async function ve(e){let t=new R({UserName:e});return await x().send(t)}function ye(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:be,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`access-keys`]})}},e[0]=r,e[1]=i),n(i)}async function be(e){let{userName:t,accessKeyId:n}=e,r=new W({UserName:t,AccessKeyId:n});return await x().send(r)}function xe(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Se,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`access-keys`]})}},e[0]=r,e[1]=i),n(i)}async function Se(e){let{userName:t,accessKeyId:n,status:r}=e,i=new fe({UserName:t,AccessKeyId:n,Status:r});return await x().send(i)}function Ce(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:we,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`policies`]})}},e[0]=r,e[1]=i),n(i)}async function we(e){let t=new V({PolicyName:e.policyName,Description:e.description||void 0,PolicyDocument:e.policyDocument});return await x().send(t)}function Te(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ee,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`policies`]})}},e[0]=r,e[1]=i),n(i)}async function Ee(e){let t=new J({PolicyArn:e});return await x().send(t)}function De(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Oe,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`attached-user-policies`]})}},e[0]=r,e[1]=i),n(i)}async function Oe(e){let{userName:t,policyArn:n}=e,r=new L({UserName:t,PolicyArn:n});return await x().send(r)}function ke(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ae,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`attached-user-policies`]})}},e[0]=r,e[1]=i),n(i)}async function Ae(e){let{userName:t,policyArn:n}=e,r=new oe({UserName:t,PolicyArn:n});return await x().send(r)}function je(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Me,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`iam`,`user-inline-policies`,t.name]})}},e[0]=r,e[1]=i),n(i)}async function Me(e){let{name:t,policyName:n,policyDocument:r}=e,i=new le({UserName:t,PolicyName:n,PolicyDocument:r});return await x().send(i)}function Ne(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Pe,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`iam`,`user-inline-policies`,t.name]})}},e[0]=r,e[1]=i),n(i)}async function Pe(e){let{name:t,policyName:n}=e,r=new re({UserName:t,PolicyName:n});return await x().send(r)}function Fe(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ie,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`roles`]})}},e[0]=r,e[1]=i),n(i)}async function Ie(e){let t=new H({RoleName:e.roleName,Path:e.path||void 0,Description:e.description||void 0,AssumeRolePolicyDocument:e.assumeRolePolicyDocument});return await x().send(t)}function Le(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Re,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`roles`]})}},e[0]=r,e[1]=i),n(i)}async function Re(e){let t=new Y({RoleName:e});return await x().send(t)}function ze(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Be,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`attached-role-policies`]})}},e[0]=r,e[1]=i),n(i)}async function Be(e){let{roleName:t,policyArn:n}=e,r=new I({RoleName:t,PolicyArn:n});return await x().send(r)}function Ve(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:He,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`attached-role-policies`]})}},e[0]=r,e[1]=i),n(i)}async function He(e){let{roleName:t,policyArn:n}=e,r=new ae({RoleName:t,PolicyArn:n});return await x().send(r)}function Ue(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:We,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`iam`,`role-inline-policies`,t.name]})}},e[0]=r,e[1]=i),n(i)}async function We(e){let{name:t,policyName:n,policyDocument:r}=e,i=new ce({RoleName:t,PolicyName:n,PolicyDocument:r});return await x().send(i)}function Ge(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ke,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`iam`,`role-inline-policies`,t.name]})}},e[0]=r,e[1]=i),n(i)}async function Ke(e){let{name:t,policyName:n}=e,r=new X({RoleName:t,PolicyName:n});return await x().send(r)}function qe(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Je,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`instance-profiles`]})}},e[0]=r,e[1]=i),n(i)}async function Je(e){let t=new B({InstanceProfileName:e.instanceProfileName,Path:e.path||void 0});return await x().send(t)}function Ye(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Xe,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`instance-profiles`]})}},e[0]=r,e[1]=i),n(i)}async function Xe(e){let t=new q({InstanceProfileName:e});return await x().send(t)}function Ze(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Qe,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`instance-profiles`]})}},e[0]=r,e[1]=i),n(i)}async function Qe(e){let{instanceProfileName:t,roleName:n}=e,r=new N({InstanceProfileName:t,RoleName:n});return await x().send(r)}function $e(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:et,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`instance-profiles`]})}},e[0]=r,e[1]=i),n(i)}async function et(e){let{instanceProfileName:t,roleName:n}=e,r=new ue({InstanceProfileName:t,RoleName:n});return await x().send(r)}function tt(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:$,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`groups`]})}},e[0]=r,e[1]=i),n(i)}async function $(e){let t=new z({GroupName:e.groupName,Path:e.path||void 0});return await 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:[`iam`,`groups`]})}},e[0]=r,e[1]=i),n(i)}async function rt(e){let t=new G({GroupName:e});return await 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:[`iam`,`attached-group-policies`]})}},e[0]=r,e[1]=i),n(i)}async function at(e){let{groupName:t,policyArn:n}=e,r=new F({GroupName:t,PolicyArn:n});return await x().send(r)}function ot(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:st,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`attached-group-policies`]})}},e[0]=r,e[1]=i),n(i)}async function st(e){let{groupName:t,policyArn:n}=e,r=new ie({GroupName:t,PolicyArn:n});return await x().send(r)}function ct(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:lt,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`iam`,`group-inline-policies`,t.name]})}},e[0]=r,e[1]=i),n(i)}async function lt(e){let{name:t,policyName:n,policyDocument:r}=e,i=new se({GroupName:t,PolicyName:n,PolicyDocument:r});return await x().send(i)}function ut(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:dt,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`iam`,`group-inline-policies`,t.name]})}},e[0]=r,e[1]=i),n(i)}async function dt(e){let{name:t,policyName:n}=e,r=new K({GroupName:t,PolicyName:n});return await x().send(r)}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:[`iam`,`groups`]}),r.invalidateQueries({queryKey:[`iam`,`groups-for-user`]})}},e[0]=r,e[1]=i),n(i)}async function pt(e){let{groupName:t,userName:n}=e,r=new P({GroupName:t,UserName:n});return await x().send(r)}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:[`iam`,`groups`]}),r.invalidateQueries({queryKey:[`iam`,`groups-for-user`]})}},e[0]=r,e[1]=i),n(i)}async function ht(e){let{groupName:t,userName:n}=e,r=new de({GroupName:t,UserName:n});return await x().send(r)}export{ke as C,$e as D,je as E,mt as O,Ve as S,Ue as T,Le as _,De as a,Ne as b,qe as c,pe as d,ye as f,Te as g,Ye as h,ze as i,xe as k,Ce as l,ut as m,ft as n,_e as o,nt as p,it as r,tt as s,Ze as t,Fe as u,Ge as v,ct as w,ot as x,he as y}; \ No newline at end of file +import{t as e}from"./compiler-runtime.js";import{n as t}from"./QueryClientProvider.js";import{t as n}from"./useMutation.js";import{At as r,Ct as i,Dt as a,Et as o,Ot as s,St as c,Tt as ee,_t as te,an as ne,bt as l,c as u,dt as d,ft as f,gt as p,ht as m,in as h,jt as g,kt as _,lt as v,mt as y,nn as b,on as x,pt as S,rn as C,tn as w,ut as T,vt as E,wt as D,xt as O,yt as k}from"./awsClient.js";import{n as A,r as j,t as M}from"./commandBuilder3.js";var N=class extends j(M,A,`AddRoleToInstanceProfile`,v){},P=class extends j(M,A,`AddUserToGroup`,T){},F=class extends j(M,A,`AttachGroupPolicy`,d){},I=class extends j(M,A,`AttachRolePolicy`,f){},L=class extends j(M,A,`AttachUserPolicy`,S){},R=class extends j(M,A,`CreateAccessKey`,y){},z=class extends j(M,A,`CreateGroup`,m){},B=class extends j(M,A,`CreateInstanceProfile`,p){},V=class extends j(M,A,`CreatePolicy`,te){},H=class extends j(M,A,`CreateRole`,E){},U=class extends j(M,A,`CreateUser`,k){},W=class extends j(M,A,`DeleteAccessKey`,l){},G=class extends j(M,A,`DeleteGroup`,O){},K=class extends j(M,A,`DeleteGroupPolicy`,c){},q=class extends j(M,A,`DeleteInstanceProfile`,i){},J=class extends j(M,A,`DeletePolicy`,D){},Y=class extends j(M,A,`DeleteRole`,ee){},X=class extends j(M,A,`DeleteRolePolicy`,o){},Z=class extends j(M,A,`DeleteUser`,a){},re=class extends j(M,A,`DeleteUserPolicy`,s){},ie=class extends j(M,A,`DetachGroupPolicy`,_){},ae=class extends j(M,A,`DetachRolePolicy`,r){},oe=class extends j(M,A,`DetachUserPolicy`,g){},se=class extends j(M,A,`PutGroupPolicy`,w){},ce=class extends j(M,A,`PutRolePolicy`,b){},le=class extends j(M,A,`PutUserPolicy`,C){},ue=class extends j(M,A,`RemoveRoleFromInstanceProfile`,h){},de=class extends j(M,A,`RemoveUserFromGroup`,ne){},fe=class extends j(M,A,`UpdateAccessKey`,x){},Q=e();function pe(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:me,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`users`]})}},e[0]=r,e[1]=i),n(i)}async function me(e){let t=new U({UserName:e.userName,Path:e.path||void 0});return await u().send(t)}function he(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ge,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`users`]})}},e[0]=r,e[1]=i),n(i)}async function ge(e){let t=new Z({UserName:e});return await u().send(t)}function _e(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ve,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`access-keys`]})}},e[0]=r,e[1]=i),n(i)}async function ve(e){let t=new R({UserName:e});return await u().send(t)}function ye(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:be,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`access-keys`]})}},e[0]=r,e[1]=i),n(i)}async function be(e){let{userName:t,accessKeyId:n}=e,r=new W({UserName:t,AccessKeyId:n});return await u().send(r)}function xe(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Se,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`access-keys`]})}},e[0]=r,e[1]=i),n(i)}async function Se(e){let{userName:t,accessKeyId:n,status:r}=e,i=new fe({UserName:t,AccessKeyId:n,Status:r});return await u().send(i)}function Ce(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:we,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`policies`]})}},e[0]=r,e[1]=i),n(i)}async function we(e){let t=new V({PolicyName:e.policyName,Description:e.description||void 0,PolicyDocument:e.policyDocument});return await u().send(t)}function Te(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ee,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`policies`]})}},e[0]=r,e[1]=i),n(i)}async function Ee(e){let t=new J({PolicyArn:e});return await u().send(t)}function De(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Oe,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`attached-user-policies`]})}},e[0]=r,e[1]=i),n(i)}async function Oe(e){let{userName:t,policyArn:n}=e,r=new L({UserName:t,PolicyArn:n});return await u().send(r)}function ke(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ae,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`attached-user-policies`]})}},e[0]=r,e[1]=i),n(i)}async function Ae(e){let{userName:t,policyArn:n}=e,r=new oe({UserName:t,PolicyArn:n});return await u().send(r)}function je(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Me,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`iam`,`user-inline-policies`,t.name]})}},e[0]=r,e[1]=i),n(i)}async function Me(e){let{name:t,policyName:n,policyDocument:r}=e,i=new le({UserName:t,PolicyName:n,PolicyDocument:r});return await u().send(i)}function Ne(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Pe,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`iam`,`user-inline-policies`,t.name]})}},e[0]=r,e[1]=i),n(i)}async function Pe(e){let{name:t,policyName:n}=e,r=new re({UserName:t,PolicyName:n});return await u().send(r)}function Fe(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ie,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`roles`]})}},e[0]=r,e[1]=i),n(i)}async function Ie(e){let t=new H({RoleName:e.roleName,Path:e.path||void 0,Description:e.description||void 0,AssumeRolePolicyDocument:e.assumeRolePolicyDocument});return await u().send(t)}function Le(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Re,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`roles`]})}},e[0]=r,e[1]=i),n(i)}async function Re(e){let t=new Y({RoleName:e});return await u().send(t)}function ze(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Be,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`attached-role-policies`]})}},e[0]=r,e[1]=i),n(i)}async function Be(e){let{roleName:t,policyArn:n}=e,r=new I({RoleName:t,PolicyArn:n});return await u().send(r)}function Ve(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:He,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`attached-role-policies`]})}},e[0]=r,e[1]=i),n(i)}async function He(e){let{roleName:t,policyArn:n}=e,r=new ae({RoleName:t,PolicyArn:n});return await u().send(r)}function Ue(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:We,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`iam`,`role-inline-policies`,t.name]})}},e[0]=r,e[1]=i),n(i)}async function We(e){let{name:t,policyName:n,policyDocument:r}=e,i=new ce({RoleName:t,PolicyName:n,PolicyDocument:r});return await u().send(i)}function Ge(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Ke,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`iam`,`role-inline-policies`,t.name]})}},e[0]=r,e[1]=i),n(i)}async function Ke(e){let{name:t,policyName:n}=e,r=new X({RoleName:t,PolicyName:n});return await u().send(r)}function qe(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Je,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`instance-profiles`]})}},e[0]=r,e[1]=i),n(i)}async function Je(e){let t=new B({InstanceProfileName:e.instanceProfileName,Path:e.path||void 0});return await u().send(t)}function Ye(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Xe,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`instance-profiles`]})}},e[0]=r,e[1]=i),n(i)}async function Xe(e){let t=new q({InstanceProfileName:e});return await u().send(t)}function Ze(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Qe,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`instance-profiles`]})}},e[0]=r,e[1]=i),n(i)}async function Qe(e){let{instanceProfileName:t,roleName:n}=e,r=new N({InstanceProfileName:t,RoleName:n});return await u().send(r)}function $e(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:et,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`instance-profiles`]})}},e[0]=r,e[1]=i),n(i)}async function et(e){let{instanceProfileName:t,roleName:n}=e,r=new ue({InstanceProfileName:t,RoleName:n});return await u().send(r)}function tt(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:$,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`groups`]})}},e[0]=r,e[1]=i),n(i)}async function $(e){let t=new z({GroupName:e.groupName,Path:e.path||void 0});return await u().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:[`iam`,`groups`]})}},e[0]=r,e[1]=i),n(i)}async function rt(e){let t=new G({GroupName:e});return await u().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:[`iam`,`attached-group-policies`]})}},e[0]=r,e[1]=i),n(i)}async function at(e){let{groupName:t,policyArn:n}=e,r=new F({GroupName:t,PolicyArn:n});return await u().send(r)}function ot(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:st,onSuccess:()=>{r.invalidateQueries({queryKey:[`iam`,`attached-group-policies`]})}},e[0]=r,e[1]=i),n(i)}async function st(e){let{groupName:t,policyArn:n}=e,r=new ie({GroupName:t,PolicyArn:n});return await u().send(r)}function ct(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:lt,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`iam`,`group-inline-policies`,t.name]})}},e[0]=r,e[1]=i),n(i)}async function lt(e){let{name:t,policyName:n,policyDocument:r}=e,i=new se({GroupName:t,PolicyName:n,PolicyDocument:r});return await u().send(i)}function ut(){let e=(0,Q.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:dt,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`iam`,`group-inline-policies`,t.name]})}},e[0]=r,e[1]=i),n(i)}async function dt(e){let{name:t,policyName:n}=e,r=new K({GroupName:t,PolicyName:n});return await u().send(r)}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:[`iam`,`groups`]}),r.invalidateQueries({queryKey:[`iam`,`groups-for-user`]})}},e[0]=r,e[1]=i),n(i)}async function pt(e){let{groupName:t,userName:n}=e,r=new P({GroupName:t,UserName:n});return await u().send(r)}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:[`iam`,`groups`]}),r.invalidateQueries({queryKey:[`iam`,`groups-for-user`]})}},e[0]=r,e[1]=i),n(i)}async function ht(e){let{groupName:t,userName:n}=e,r=new de({GroupName:t,UserName:n});return await u().send(r)}export{ke as C,$e as D,je as E,mt as O,Ve as S,Ue as T,Le as _,De as a,Ne as b,qe as c,pe as d,ye as f,Te as g,Ye as h,ze as i,xe as k,Ce as l,ut as m,ft as n,_e as o,nt as p,it as r,tt as s,Ze as t,Fe as u,Ge as v,ct as w,ot as x,he as y}; \ 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 1dc0d3f9e..92b708c09 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{Ct as t,Et as n,St as r,Tt as i,_t as a,at as o,bt as s,c,ct as l,dt as u,ft as d,gt as f,ht as p,it as m,lt as h,mt as g,ot as _,pt as v,st as y,ut as b,vt as x,wt as S,xt as C,yt as w}from"./awsClient.js";import{n as T,r as E,t as D}from"./commandBuilder3.js";import{t as O}from"./json.js";var k=class extends E(D,T,`GetGroup`,m){},A=class extends E(D,T,`GetGroupPolicy`,o){},j=class extends E(D,T,`GetInstanceProfile`,_){},M=class extends E(D,T,`GetPolicy`,y){},N=class extends E(D,T,`GetPolicyVersion`,l){},P=class extends E(D,T,`GetRole`,h){},F=class extends E(D,T,`GetRolePolicy`,b){},I=class extends E(D,T,`GetUser`,u){},L=class extends E(D,T,`GetUserPolicy`,d){},R=class extends E(D,T,`ListAccessKeys`,v){},z=class extends E(D,T,`ListAttachedGroupPolicies`,g){},B=class extends E(D,T,`ListAttachedRolePolicies`,p){},V=class extends E(D,T,`ListAttachedUserPolicies`,f){},H=class extends E(D,T,`ListGroupPolicies`,a){},U=class extends E(D,T,`ListGroups`,x){},W=class extends E(D,T,`ListGroupsForUser`,w){},G=class extends E(D,T,`ListInstanceProfiles`,s){},ee=class extends E(D,T,`ListInstanceProfilesForRole`,C){},K=class extends E(D,T,`ListPolicies`,r){},q=class extends E(D,T,`ListRolePolicies`,t){},J=class extends E(D,T,`ListRoles`,S){},Y=class extends E(D,T,`ListUserPolicies`,i){},X=class extends E(D,T,`ListUsers`,n){},Z=e({queryKey:[`iam`,`users`],queryFn:async()=>{let e=new X({});return await c().send(e)},staleTime:3e5}),Q=t=>e({queryKey:[`iam`,`users`,t],queryFn:async()=>{let e=new I({UserName:t});return await c().send(e)},staleTime:3e5}),$=t=>e({queryKey:[`iam`,`access-keys`,t],queryFn:async()=>{let e=new R({UserName:t});return await c().send(e)},staleTime:3e5}),te=e({queryKey:[`iam`,`policies`],queryFn:async()=>{let e=new K({Scope:`Local`});return await c().send(e)},staleTime:3e5}),ne=t=>e({queryKey:[`iam`,`policies`,t],queryFn:async()=>{let e=new M({PolicyArn:t});return await c().send(e)},staleTime:3e5}),re=(t,n)=>e({queryKey:[`iam`,`policy-versions`,t,n],queryFn:async()=>{let e=new N({PolicyArn:t,VersionId:n});return await c().send(e)},staleTime:3e5}),ie=t=>e({queryKey:[`iam`,`attached-user-policies`,t],queryFn:async()=>{let e=new V({UserName:t});return await c().send(e)},staleTime:3e5}),ae=t=>e({queryKey:[`iam`,`user-inline-policies`,t],queryFn:async()=>{let e=new Y({UserName:t});return await c().send(e)},staleTime:3e5}),oe=(t,n)=>e({queryKey:[`iam`,`user-inline-policies`,t,n],queryFn:async()=>{let e=new L({UserName:t,PolicyName:n}),r=await c().send(e);return r.PolicyDocument?O(r.PolicyDocument,!0):``},staleTime:3e5}),se=e({queryKey:[`iam`,`roles`],queryFn:async()=>{let e=new J({});return await c().send(e)},staleTime:3e5}),ce=t=>e({queryKey:[`iam`,`roles`,t],queryFn:async()=>{let e=new P({RoleName:t});return await c().send(e)},staleTime:3e5}),le=t=>e({queryKey:[`iam`,`attached-role-policies`,t],queryFn:async()=>{let e=new B({RoleName:t});return await c().send(e)},staleTime:3e5}),ue=t=>e({queryKey:[`iam`,`role-inline-policies`,t],queryFn:async()=>{let e=new q({RoleName:t});return await c().send(e)},staleTime:3e5}),de=(t,n)=>e({queryKey:[`iam`,`role-inline-policies`,t,n],queryFn:async()=>{let e=new F({RoleName:t,PolicyName:n}),r=await c().send(e);return r.PolicyDocument?O(r.PolicyDocument,!1):``},staleTime:3e5}),fe=e({queryKey:[`iam`,`instance-profiles`],queryFn:async()=>{let e=new G({});return await c().send(e)},staleTime:3e5}),pe=t=>e({queryKey:[`iam`,`instance-profiles`,t],queryFn:async()=>{let e=new j({InstanceProfileName:t});return await c().send(e)},staleTime:3e5}),me=t=>e({queryKey:[`iam`,`instance-profiles-for-role`,t],queryFn:async()=>{let e=new ee({RoleName:t});return await c().send(e)},staleTime:3e5}),he=e({queryKey:[`iam`,`groups`],queryFn:async()=>{let e=new U({});return await c().send(e)},staleTime:3e5}),ge=t=>e({queryKey:[`iam`,`groups`,t],queryFn:async()=>{let e=new k({GroupName:t});return await c().send(e)},staleTime:3e5}),_e=t=>e({queryKey:[`iam`,`attached-group-policies`,t],queryFn:async()=>{let e=new z({GroupName:t});return await c().send(e)},staleTime:3e5}),ve=t=>e({queryKey:[`iam`,`group-inline-policies`,t],queryFn:async()=>{let e=new H({GroupName:t});return await c().send(e)},staleTime:3e5}),ye=(t,n)=>e({queryKey:[`iam`,`group-inline-policies`,t,n],queryFn:async()=>{let e=new A({GroupName:t,PolicyName:n}),r=await c().send(e);return r.PolicyDocument?O(r.PolicyDocument,!0):``},staleTime:3e5}),be=t=>e({queryKey:[`iam`,`groups-for-user`,t],queryFn:async()=>{let e=new W({UserName:t});return await c().send(e)},staleTime:3e5});export{Z as C,Q as S,de as _,ve as a,ae as b,be as c,me as d,fe as f,ue as g,re as h,ie as i,he as l,ne as m,_e as n,ye as o,te as p,le as r,ge as s,$ as t,pe as u,ce as v,oe as x,se as y}; \ No newline at end of file +import{t as e}from"./queryOptions.js";import{$t as t,Bt as n,Ft as r,Gt as i,Ht as a,It as o,Jt as s,Kt as c,Lt as l,Mt as u,Nt as d,Pt as f,Qt as p,Rt as m,Ut as h,Vt as g,Wt as _,Xt as v,Yt as y,Zt as b,c as x,en as S,qt as C,zt as w}from"./awsClient.js";import{n as T,r as E,t as D}from"./commandBuilder3.js";import{t as O}from"./json.js";var k=class extends E(D,T,`GetGroup`,u){},A=class extends E(D,T,`GetGroupPolicy`,d){},j=class extends E(D,T,`GetInstanceProfile`,f){},M=class extends E(D,T,`GetPolicy`,r){},N=class extends E(D,T,`GetPolicyVersion`,o){},P=class extends E(D,T,`GetRole`,l){},F=class extends E(D,T,`GetRolePolicy`,m){},I=class extends E(D,T,`GetUser`,w){},L=class extends E(D,T,`GetUserPolicy`,n){},R=class extends E(D,T,`ListAccessKeys`,g){},z=class extends E(D,T,`ListAttachedGroupPolicies`,a){},B=class extends E(D,T,`ListAttachedRolePolicies`,h){},V=class extends E(D,T,`ListAttachedUserPolicies`,_){},H=class extends E(D,T,`ListGroupPolicies`,i){},U=class extends E(D,T,`ListGroups`,c){},W=class extends E(D,T,`ListGroupsForUser`,C){},G=class extends E(D,T,`ListInstanceProfiles`,s){},ee=class extends E(D,T,`ListInstanceProfilesForRole`,y){},K=class extends E(D,T,`ListPolicies`,v){},q=class extends E(D,T,`ListRolePolicies`,b){},J=class extends E(D,T,`ListRoles`,p){},Y=class extends E(D,T,`ListUserPolicies`,t){},X=class extends E(D,T,`ListUsers`,S){},Z=e({queryKey:[`iam`,`users`],queryFn:async()=>{let e=new X({});return await x().send(e)},staleTime:3e5}),Q=t=>e({queryKey:[`iam`,`users`,t],queryFn:async()=>{let e=new I({UserName:t});return await x().send(e)},staleTime:3e5}),$=t=>e({queryKey:[`iam`,`access-keys`,t],queryFn:async()=>{let e=new R({UserName:t});return await x().send(e)},staleTime:3e5}),te=e({queryKey:[`iam`,`policies`],queryFn:async()=>{let e=new K({Scope:`Local`});return await x().send(e)},staleTime:3e5}),ne=t=>e({queryKey:[`iam`,`policies`,t],queryFn:async()=>{let e=new M({PolicyArn:t});return await x().send(e)},staleTime:3e5}),re=(t,n)=>e({queryKey:[`iam`,`policy-versions`,t,n],queryFn:async()=>{let e=new N({PolicyArn:t,VersionId:n});return await x().send(e)},staleTime:3e5}),ie=t=>e({queryKey:[`iam`,`attached-user-policies`,t],queryFn:async()=>{let e=new V({UserName:t});return await x().send(e)},staleTime:3e5}),ae=t=>e({queryKey:[`iam`,`user-inline-policies`,t],queryFn:async()=>{let e=new Y({UserName:t});return await x().send(e)},staleTime:3e5}),oe=(t,n)=>e({queryKey:[`iam`,`user-inline-policies`,t,n],queryFn:async()=>{let e=new L({UserName:t,PolicyName:n}),r=await x().send(e);return r.PolicyDocument?O(r.PolicyDocument,!0):``},staleTime:3e5}),se=e({queryKey:[`iam`,`roles`],queryFn:async()=>{let e=new J({});return await x().send(e)},staleTime:3e5}),ce=t=>e({queryKey:[`iam`,`roles`,t],queryFn:async()=>{let e=new P({RoleName:t});return await x().send(e)},staleTime:3e5}),le=t=>e({queryKey:[`iam`,`attached-role-policies`,t],queryFn:async()=>{let e=new B({RoleName:t});return await x().send(e)},staleTime:3e5}),ue=t=>e({queryKey:[`iam`,`role-inline-policies`,t],queryFn:async()=>{let e=new q({RoleName:t});return await x().send(e)},staleTime:3e5}),de=(t,n)=>e({queryKey:[`iam`,`role-inline-policies`,t,n],queryFn:async()=>{let e=new F({RoleName:t,PolicyName:n}),r=await x().send(e);return r.PolicyDocument?O(r.PolicyDocument,!1):``},staleTime:3e5}),fe=e({queryKey:[`iam`,`instance-profiles`],queryFn:async()=>{let e=new G({});return await x().send(e)},staleTime:3e5}),pe=t=>e({queryKey:[`iam`,`instance-profiles`,t],queryFn:async()=>{let e=new j({InstanceProfileName:t});return await x().send(e)},staleTime:3e5}),me=t=>e({queryKey:[`iam`,`instance-profiles-for-role`,t],queryFn:async()=>{let e=new ee({RoleName:t});return await x().send(e)},staleTime:3e5}),he=e({queryKey:[`iam`,`groups`],queryFn:async()=>{let e=new U({});return await x().send(e)},staleTime:3e5}),ge=t=>e({queryKey:[`iam`,`groups`,t],queryFn:async()=>{let e=new k({GroupName:t});return await x().send(e)},staleTime:3e5}),_e=t=>e({queryKey:[`iam`,`attached-group-policies`,t],queryFn:async()=>{let e=new z({GroupName:t});return await x().send(e)},staleTime:3e5}),ve=t=>e({queryKey:[`iam`,`group-inline-policies`,t],queryFn:async()=>{let e=new H({GroupName:t});return await x().send(e)},staleTime:3e5}),ye=(t,n)=>e({queryKey:[`iam`,`group-inline-policies`,t,n],queryFn:async()=>{let e=new A({GroupName:t,PolicyName:n}),r=await x().send(e);return r.PolicyDocument?O(r.PolicyDocument,!0):``},staleTime:3e5}),be=t=>e({queryKey:[`iam`,`groups-for-user`,t],queryFn:async()=>{let e=new W({UserName:t});return await x().send(e)},staleTime:3e5});export{Z as C,Q as S,de as _,ve as a,ae as b,be as c,me as d,fe as f,ue as g,re as h,ie as i,he as l,ne as m,_e as n,ye as o,te as p,le as r,ge as s,$ as t,pe as u,ce as v,oe as x,se as y}; \ 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 0bd29c2aa..50182a30e 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.3.3 | 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:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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-400:#fcbb00;--color-amber-500:#f99c00;--color-amber-700:#b75000;--color-yellow-100:#fef9c2;--color-yellow-800:#874b00;--color-yellow-900:#733e0a;--color-green-100:#dcfce7;--color-green-600:#00a544;--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-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-spin:spin 1s linear infinite;--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);--color-foreground:var(--foreground)}@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-400:lab(80.1641% 16.6016 99.2089);--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-amber-700:lab(47.2709% 42.9082 69.2966);--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-600:lab(59.0978% -58.6621 41.2579);--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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}*{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}html,body{overscroll-behavior:none}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}.\@container{container-type: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:0}.inset-y-0{inset-block:0}.top-0{top: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:0}.right-1{right:var(--spacing)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:0}.left-0{left: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: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:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.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-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-auto{margin-right:auto}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:var(--spacing)}.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:var(--spacing)}.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-\[85vh\]{max-height:85vh}.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:0}.min-h-7{min-height:calc(var(--spacing) * 7)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-32{min-height:calc(var(--spacing) * 32)}.min-h-svh{min-height:100svh}.w-\(--anchor-width\){width:var(--anchor-width)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.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-lg{max-width:var(--container-lg)}.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: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-\[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)}.animate-spin{animation:var(--animate-spin)}.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:var(--spacing)}.scroll-py-1{scroll-padding-block:var(--spacing)}.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-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[minmax\(0\,1fr\)\]{grid-template-columns: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-end{align-items:flex-end}.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:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.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:0}: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(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * 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-end{align-self:flex-end}.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:2147483647px}.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{border-color:var(--color-amber-500)}.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{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-primary{border-color:var(--primary)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-tactical-amber\/40{border-color:var(--tactical-amber)}@supports (color:color-mix(in lab, red, red)){.border-tactical-amber\/40{border-color:color-mix(in oklab, var(--tactical-amber) 40%, transparent)}}.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,.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-tactical-amber\/5{background-color:var(--tactical-amber)}@supports (color:color-mix(in lab, red, red)){.bg-tactical-amber\/5{background-color:color-mix(in oklab, var(--tactical-amber) 5%, transparent)}}.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:0}.p-1{padding:var(--spacing)}.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:0}.px-1{padding-inline:var(--spacing)}.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:var(--spacing)}.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: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:0}.pb-1{padding-bottom:var(--spacing)}.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)}.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-amber-700{color:var(--color-amber-700)}.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-600{color:var(--color-green-600)}.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-2{text-underline-offset:2px}.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: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:0}.group-data-\[collapsible\=offExamples\]\:translate-x-0:is(:where(.group)[data-collapsible=offExamples] *){--tw-translate-x:0px;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-\[panel-open\]\:rotate-180:is(:where(.group)[data-panel-open] *){rotate:180deg}.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: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:var(--spacing)}.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:0}.after\:inset-y-0:after{content:var(--tw-content);inset-block: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:2147483647px}.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: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}.autofill\:\[-webkit-text-fill-color\:var\(--color-foreground\)\]:autofill{-webkit-text-fill-color:var(--color-foreground)}.autofill\:\[transition\:background-color_9999s_ease-in-out_0s\]:autofill{transition:background-color 9999s ease-in-out}.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\/40:hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-input\/40:hover{background-color:color-mix(in oklab, var(--input) 40%, 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:var(--spacing)}.has-data-\[slot\=combobox-chip-remove\]\:pr-0:has([data-slot=combobox-chip-remove]){padding-right: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: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: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: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:0}.data-\[side\=bottom\]\:top-1[data-side=bottom]{top:var(--spacing)}.data-\[side\=bottom\]\:bottom-0[data-side=bottom]{bottom: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: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: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:0}.data-\[side\=right\]\:top-1\/2\![data-side=right]{top:50%!important}.data-\[side\=right\]\:right-0[data-side=right]{right: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:0}.data-\[side\=top\]\:top-0[data-side=top]{top: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:var(--spacing)}:is(.\*\:data-\[slot\=input-group\]\:mb-0>*)[data-slot=input-group]{margin-bottom: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:var(--spacing)}: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-\[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\:grid-cols-\[1fr_1fr_1fr_auto\]{grid-template-columns:1fr 1fr 1fr auto}.sm\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.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: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}}.dark\:scale-0:where(.dark,.dark *){--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.dark\:scale-100:where(.dark,.dark *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.dark\:-rotate-90:where(.dark,.dark *){rotate:-90deg}.dark\:rotate-0:where(.dark,.dark *){rotate:0deg}.dark\:bg-destructive\/20:where(.dark,.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:where(.dark,.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-gray-800:where(.dark,.dark *){background-color:var(--color-gray-800)}.dark\:bg-green-900:where(.dark,.dark *){background-color:var(--color-green-900)}.dark\:bg-input\/30:where(.dark,.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:where(.dark,.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:bg-muted\/30:where(.dark,.dark *){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-muted\/30:where(.dark,.dark *){background-color:color-mix(in oklab, var(--muted) 30%, transparent)}}.dark\:bg-popover:where(.dark,.dark *){background-color:var(--popover)}.dark\:bg-red-900:where(.dark,.dark *){background-color:var(--color-red-900)}.dark\:bg-transparent:where(.dark,.dark *){background-color:#0000}.dark\:bg-yellow-900:where(.dark,.dark *){background-color:var(--color-yellow-900)}.dark\:bg-zinc-800:where(.dark,.dark *){background-color:var(--color-zinc-800)}.dark\:text-amber-400:where(.dark,.dark *){color:var(--color-amber-400)}.dark\:text-emerald-400:where(.dark,.dark *){color:var(--color-emerald-400)}.dark\:text-gray-100:where(.dark,.dark *){color:var(--color-gray-100)}.dark\:text-green-100:where(.dark,.dark *){color:var(--color-green-100)}.dark\:text-red-100:where(.dark,.dark *){color:var(--color-red-100)}.dark\:text-yellow-100:where(.dark,.dark *){color:var(--color-yellow-100)}.dark\:text-zinc-400:where(.dark,.dark *){color:var(--color-zinc-400)}.dark\:invert:where(.dark,.dark *){--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:where(.dark,.dark *):after{content:var(--tw-content);mix-blend-mode:lighten}@media (hover:hover){.dark\:hover\:bg-destructive\/30:where(.dark,.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/50:where(.dark,.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:bg-muted\/50:where(.dark,.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.dark\:focus-visible\:ring-destructive\/40:where(.dark,.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:where(.dark,.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:has-aria-invalid\:border-destructive\/50:where(.dark,.dark *):has([aria-invalid=true]){border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-aria-invalid\:border-destructive\/50:where(.dark,.dark *):has([aria-invalid=true]){border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:has-aria-invalid\:ring-destructive\/40:where(.dark,.dark *):has([aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-aria-invalid\:ring-destructive\/40:where(.dark,.dark *):has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:has-data-checked\:bg-primary\/10:where(.dark,.dark *):has([data-checked]){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.dark\:has-data-checked\:bg-primary\/10:where(.dark,.dark *):has([data-checked]){background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:where(.dark,.dark *):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:where(.dark,.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:border-destructive\/50:where(.dark,.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:where(.dark,.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:where(.dark,.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:where(.dark,.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:where(.dark,.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:where(.dark,.dark *)[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-ext-wght-normal.woff2)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: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-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: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 spin{to{transform:rotate(360deg)}}@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:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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-400:#fcbb00;--color-amber-500:#f99c00;--color-amber-700:#b75000;--color-yellow-100:#fef9c2;--color-yellow-800:#874b00;--color-yellow-900:#733e0a;--color-green-100:#dcfce7;--color-green-600:#00a544;--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-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-spin:spin 1s linear infinite;--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);--color-foreground:var(--foreground)}@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-400:lab(80.1641% 16.6016 99.2089);--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-amber-700:lab(47.2709% 42.9082 69.2966);--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-600:lab(59.0978% -58.6621 41.2579);--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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}*{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}html,body{overscroll-behavior:none}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}.\@container{container-type: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:0}.inset-y-0{inset-block:0}.top-0{top: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:0}.right-1{right:var(--spacing)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:0}.left-0{left: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: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:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.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-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-auto{margin-right:auto}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:var(--spacing)}.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:var(--spacing)}.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-\[85vh\]{max-height:85vh}.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:0}.min-h-7{min-height:calc(var(--spacing) * 7)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-32{min-height:calc(var(--spacing) * 32)}.min-h-svh{min-height:100svh}.w-\(--anchor-width\){width:var(--anchor-width)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-40{width:calc(var(--spacing) * 40)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-56{width:calc(var(--spacing) * 56)}.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-lg{max-width:var(--container-lg)}.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: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-\[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)}.animate-spin{animation:var(--animate-spin)}.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:var(--spacing)}.scroll-py-1{scroll-padding-block:var(--spacing)}.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-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[minmax\(0\,1fr\)\]{grid-template-columns: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-end{align-items:flex-end}.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:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.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:0}: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(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * 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-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-end{align-self:flex-end}.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:2147483647px}.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{border-color:var(--color-amber-500)}.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{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-primary{border-color:var(--primary)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-tactical-amber\/40{border-color:var(--tactical-amber)}@supports (color:color-mix(in lab, red, red)){.border-tactical-amber\/40{border-color:color-mix(in oklab, var(--tactical-amber) 40%, transparent)}}.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,.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-tactical-amber\/5{background-color:var(--tactical-amber)}@supports (color:color-mix(in lab, red, red)){.bg-tactical-amber\/5{background-color:color-mix(in oklab, var(--tactical-amber) 5%, transparent)}}.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:0}.p-1{padding:var(--spacing)}.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:0}.px-1{padding-inline:var(--spacing)}.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:var(--spacing)}.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: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:0}.pb-1{padding-bottom:var(--spacing)}.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-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.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)}.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-amber-700{color:var(--color-amber-700)}.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-600{color:var(--color-green-600)}.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-2{text-underline-offset:2px}.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{--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-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: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:0}.group-data-\[collapsible\=offExamples\]\:translate-x-0:is(:where(.group)[data-collapsible=offExamples] *){--tw-translate-x:0px;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-\[panel-open\]\:rotate-180:is(:where(.group)[data-panel-open] *){rotate:180deg}.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: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:var(--spacing)}.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:0}.after\:inset-y-0:after{content:var(--tw-content);inset-block: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:2147483647px}.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: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}.autofill\:\[-webkit-text-fill-color\:var\(--color-foreground\)\]:autofill{-webkit-text-fill-color:var(--color-foreground)}.autofill\:\[transition\:background-color_9999s_ease-in-out_0s\]:autofill{transition:background-color 9999s ease-in-out}.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\/40:hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-input\/40:hover{background-color:color-mix(in oklab, var(--input) 40%, 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:var(--spacing)}.has-data-\[slot\=combobox-chip-remove\]\:pr-0:has([data-slot=combobox-chip-remove]){padding-right: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: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: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: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:0}.data-\[side\=bottom\]\:top-1[data-side=bottom]{top:var(--spacing)}.data-\[side\=bottom\]\:bottom-0[data-side=bottom]{bottom: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: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: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:0}.data-\[side\=right\]\:top-1\/2\![data-side=right]{top:50%!important}.data-\[side\=right\]\:right-0[data-side=right]{right: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:0}.data-\[side\=top\]\:top-0[data-side=top]{top: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:var(--spacing)}:is(.\*\:data-\[slot\=input-group\]\:mb-0>*)[data-slot=input-group]{margin-bottom: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:var(--spacing)}: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-\[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\:grid-cols-\[1fr_1fr_1fr_auto\]{grid-template-columns:1fr 1fr 1fr auto}.sm\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.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: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}}.dark\:scale-0:where(.dark,.dark *){--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.dark\:scale-100:where(.dark,.dark *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.dark\:-rotate-90:where(.dark,.dark *){rotate:-90deg}.dark\:rotate-0:where(.dark,.dark *){rotate:0deg}.dark\:bg-destructive\/20:where(.dark,.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:where(.dark,.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-gray-800:where(.dark,.dark *){background-color:var(--color-gray-800)}.dark\:bg-green-900:where(.dark,.dark *){background-color:var(--color-green-900)}.dark\:bg-input\/30:where(.dark,.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:where(.dark,.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:bg-muted\/30:where(.dark,.dark *){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-muted\/30:where(.dark,.dark *){background-color:color-mix(in oklab, var(--muted) 30%, transparent)}}.dark\:bg-popover:where(.dark,.dark *){background-color:var(--popover)}.dark\:bg-red-900:where(.dark,.dark *){background-color:var(--color-red-900)}.dark\:bg-transparent:where(.dark,.dark *){background-color:#0000}.dark\:bg-yellow-900:where(.dark,.dark *){background-color:var(--color-yellow-900)}.dark\:bg-zinc-800:where(.dark,.dark *){background-color:var(--color-zinc-800)}.dark\:text-amber-400:where(.dark,.dark *){color:var(--color-amber-400)}.dark\:text-emerald-400:where(.dark,.dark *){color:var(--color-emerald-400)}.dark\:text-gray-100:where(.dark,.dark *){color:var(--color-gray-100)}.dark\:text-green-100:where(.dark,.dark *){color:var(--color-green-100)}.dark\:text-red-100:where(.dark,.dark *){color:var(--color-red-100)}.dark\:text-yellow-100:where(.dark,.dark *){color:var(--color-yellow-100)}.dark\:text-zinc-400:where(.dark,.dark *){color:var(--color-zinc-400)}.dark\:invert:where(.dark,.dark *){--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:where(.dark,.dark *):after{content:var(--tw-content);mix-blend-mode:lighten}@media (hover:hover){.dark\:hover\:bg-destructive\/30:where(.dark,.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/50:where(.dark,.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:bg-muted\/50:where(.dark,.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.dark\:focus-visible\:ring-destructive\/40:where(.dark,.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:where(.dark,.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:has-aria-invalid\:border-destructive\/50:where(.dark,.dark *):has([aria-invalid=true]){border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-aria-invalid\:border-destructive\/50:where(.dark,.dark *):has([aria-invalid=true]){border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:has-aria-invalid\:ring-destructive\/40:where(.dark,.dark *):has([aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-aria-invalid\:ring-destructive\/40:where(.dark,.dark *):has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:has-data-checked\:bg-primary\/10:where(.dark,.dark *):has([data-checked]){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.dark\:has-data-checked\:bg-primary\/10:where(.dark,.dark *):has([data-checked]){background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:where(.dark,.dark *):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:where(.dark,.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:border-destructive\/50:where(.dark,.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:where(.dark,.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:where(.dark,.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:where(.dark,.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:where(.dark,.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:where(.dark,.dark *)[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-ext-wght-normal.woff2)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: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-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: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 spin{to{transform:rotate(360deg)}}@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 8096e610c..3d0ca4163 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/index.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/index.js @@ -1,13 +1,13 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/route.js","assets/compiler-runtime.js","assets/Match.js","assets/matchContext.js","assets/useStore.js","assets/_auth.js","assets/useQuery.js","assets/useBaseQuery.js","assets/QueryClientProvider.js","assets/link.js","assets/cluster-config.js","assets/hex-encoding.js","assets/createLucideIcon.js","assets/chevron-down.js","assets/chevron-right.js","assets/waypoints.js","assets/admin-context.js","assets/sts.js","assets/module.js","assets/ec2.js","assets/queryOptions.js","assets/awsClient.js","assets/index.browser.js","assets/s32.js","assets/page-heading.js","assets/state-badge.js","assets/admin.js","assets/badge.js","assets/dist.js","assets/useRender.js","assets/card.js","assets/nodes.js","assets/redirect.js","assets/service-metrics.js","assets/allocate-address.js","assets/useNavigate.js","assets/back-link.js","assets/cli-command-panel.js","assets/check.js","assets/copy.js","assets/button.js","assets/use-copy-to-clipboard.js","assets/input.js","assets/createBaseUIEventDetails.js","assets/useRegisterFieldControl.js","assets/useControlled.js","assets/field.js","assets/ec22.js","assets/useMutation.js","assets/subnet-calculator.js","assets/zod.js","assets/error-banner.js","assets/ec23.js","assets/form-actions.js","assets/create-internet-gateway.js","assets/import-key-pair.js","assets/textarea.js","assets/create-launch-template.js","assets/launch-template-data-fields.js","assets/useSuspenseQuery.js","assets/select.js","assets/useValueAsRef.js","assets/useScrollLock.js","assets/useCompositeListItem.js","assets/collapsible.js","assets/create-load-balancer.js","assets/plus.js","assets/trash-2.js","assets/acm.js","assets/certificate-import-dialog.js","assets/alert-dialog.js","assets/elbv2.js","assets/commandBuilder2.js","assets/elbv22.js","assets/target-group-form.js","assets/elbv23.js","assets/create-nat-gateway.js","assets/create-placement-group.js","assets/create-route-table.js","assets/create-security-group.js","assets/create-subnet.js","assets/create-target-group.js","assets/create-volume.js","assets/create-vpc.js","assets/task-definitions.js","assets/ecs.js","assets/ecs2.js","assets/delete-confirmation-dialog.js","assets/ecs-section-nav.js","assets/create-cluster.js","assets/eks.js","assets/commandBuilder.js","assets/json.js","assets/iam.js","assets/commandBuilder3.js","assets/iam2.js","assets/system-managed.js","assets/system-image-required.js","assets/rotate-cw.js","assets/triangle-alert.js","assets/policy-document-viewer.js","assets/create-group.js","assets/iam3.js","assets/create-instance-profile.js","assets/create-policy.js","assets/json-editor.js","assets/create-role.js","assets/create-user.js","assets/create-bucket.js","assets/s3.js","assets/ls.js","assets/list-card.js","assets/route2.js","assets/describe-addresses.js","assets/describe-images.js","assets/describe-instances.js","assets/describe-internet-gateways.js","assets/describe-key-pairs.js","assets/describe-launch-templates.js","assets/describe-load-balancers.js","assets/describe-nat-gateways.js","assets/describe-placement-groups.js","assets/describe-route-tables.js","assets/describe-security-groups.js","assets/describe-snapshots.js","assets/describe-subnets.js","assets/describe-target-groups.js","assets/describe-volumes.js","assets/describe-vpcs.js","assets/list-repositories.js","assets/ecr.js","assets/ecr2.js","assets/list-clusters.js","assets/list-clusters2.js","assets/eks2.js","assets/list-groups.js","assets/list-instance-profiles.js","assets/list-policies.js","assets/list-roles.js","assets/list-users.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,g as f,h as p,j as m,n as h,s as g,t as _,x as v,y}from"./QueryClientProvider.js";import{i as b}from"./useBaseQuery.js";import{n as x}from"./useMutation.js";import{t as S}from"./useQuery.js";import{t as C}from"./useSuspenseQuery.js";import{A as w,C as T,E,M as D,O,S as k,T as A,a as ee,b as te,d as ne,f as j,g as M,h as N,i as re,k as P,l as F,m as ie,n as I,o as ae,p as L,r as oe,s as se,t as R,u as ce,v as le,w as ue,x as de,y as fe}from"./link.js";import{a as pe,i as me,n as he,o as ge,r as _e,t as ve}from"./Match.js";import{n as ye,r as be}from"./matchContext.js";import{n as xe,t as Se}from"./redirect.js";import{a as Ce,i as we,n as z,r as Te,t as B}from"./lazyRouteComponent.js";import{a as Ee,i as De,r as Oe,s as ke,t as Ae}from"./useStore.js";import{t as je}from"./useNavigate.js";import{d as Me,f as Ne,n as Pe,o as Fe,t as Ie}from"./useValueAsRef.js";import{a as Le,f as Re,l as ze,n as Be,o as Ve,t as He,u as Ue}from"./dist.js";import{t as We}from"./useRender.js";import{Yt as V,a as Ge,en as Ke,i as qe,n as Je,rt as H}from"./cluster-config.js";import{t as Ye}from"./createLucideIcon.js";import{t as Xe}from"./back-link.js";import{n as Ze,t as Qe}from"./_id.js";import{t as $e}from"./check.js";import{t as et}from"./chevron-down.js";import{c as tt,d as nt,i as rt,l as it,n as at,s as ot,t as st,u as ct}from"./select.js";import{t as lt}from"./download.js";import{a as ut,c as dt,i as ft,n as pt,o as mt,r as ht,s as gt,t as _t}from"./waypoints.js";import{n as vt,t as yt}from"./_id2.js";import{t as bt}from"./cli-command-panel.js";import{t as xt}from"./triangle-alert.js";import{n as St,t as Ct}from"./_id3.js";import{_ as wt,b as Tt,n as Et,o as Dt,s as Ot,t as kt,y as At}from"./button.js";import{C as jt,b as Mt,f as Nt,g as Pt,h as Ft,i as It,m as Lt,s as Rt,t as zt,v as Bt,x as Vt,y as Ht}from"./createBaseUIEventDetails.js";import{A as Ut,B as Wt,E as Gt,F as Kt,G as qt,J as Jt,M as Yt,N as Xt,O as Zt,R as Qt,S as $t,U as en,W as tn,Y as nn,b as rn,bt as an,ct as on,dt as sn,ft as cn,g as ln,h as un,k as dn,lt as fn,m as pn,nt as mn,ot as hn,p as gn,q as _n,vt as vn,w as yn,x as bn,y as xn}from"./useScrollLock.js";import{t as Sn}from"./input.js";import{a as Cn,n as wn,o as Tn,r as En,t as Dn}from"./field.js";import{_ as On,a as kn,c as An,d as jn,f as Mn,g as Nn,h as Pn,i as Fn,l as In,m as Ln,o as Rn,p as zn,r as Bn,s as Vn,t as Hn,u as Un,v as Wn,y as Gn}from"./alert-dialog.js";import{t as Kn}from"./awsClient.js";import{n as qn,t as Jn}from"./admin-context.js";import{t as Yn}from"./acm.js";import{A as Xn,E as Zn,M as Qn,O as $n,S as er,_ as tr,c as nr,d as rr,h as ir,l as ar,m as or,n as sr,o as cr,p as lr,r as ur,w as dr,y as fr}from"./ec2.js";import{f as pr,m as mr}from"./ec22.js";import{n as hr}from"./ecr.js";import{n as gr,o as _r}from"./ecs.js";import{c as vr}from"./eks2.js";import{a as yr,o as br,u as xr}from"./elbv22.js";import{C as Sr,f as Cr,l as wr,p as Tr,y as Er}from"./iam2.js";import{n as Dr}from"./s32.js";import{t as Or}from"./login.js";import{a as kr,i as Ar,n as jr,t as Mr}from"./zod.js";import{t as Nr}from"./use-copy-to-clipboard.js";import{t as Pr}from"./error-banner.js";import{t as Fr}from"./gpu-instance-type-select.js";import{t as Ir}from"./page-heading.js";import{n as Lr,r as Rr,t as zr}from"./collapsible.js";import{b as Br,i as Vr,o as Hr,t as Ur}from"./ec23.js";import{t as Wr}from"./form-actions.js";import{t as Gr}from"./create-snapshot.js";import{t as Kr}from"./create-service.js";import{t as qr}from"./register-task-definition.js";import{t as Jr}from"./run-task.js";import{t as Yr}from"./_id4.js";import{t as Xr}from"./_id5.js";import{t as Zr}from"./_id6.js";import{t as Qr}from"./_id7.js";import{t as $r}from"./_id8.js";import{t as ei}from"./_id9.js";import{t as ti}from"./_id10.js";import{t as ni}from"./_id11.js";import{t as ri}from"./_id12.js";import{t as ii}from"./_id13.js";import{t as ai}from"./_id14.js";import{t as oi}from"./_id15.js";import{t as si}from"./_id16.js";import{t as ci}from"./_id17.js";import{t as li}from"./_id18.js";import{t as ui}from"./_clusterName.js";import{t as di}from"./_clusterName2.js";import{t as fi}from"./_groupName.js";import{t as pi}from"./_instanceProfileName.js";import{t as mi}from"./_policyArn.js";import{t as hi}from"./_roleName.js";import{t as gi}from"./_userName.js";import{t as _i}from"./_bucket.js";import{t as vi}from"./_.js";import{t as yi}from"./_serviceName.js";import{t as bi}from"./_taskId.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),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var xi=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 x({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=Si(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=Si(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=Si(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}return!0}runNext(e){let t=Si(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=>y(t,e))}findAll(e={}){return this.getAll().filter(t=>y(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(v))))}};function Si(e){return e.options.scope?.id}var Ci=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 b({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()})})}},wi=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new Ci,this.#t=e.mutationCache||new xi,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=m.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=g.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=p(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(v).catch(v)}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(v)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(v)}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(v).catch(v)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(v).catch(v)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return g.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(f(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(f(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 Ti(){try{return sessionStorage}catch{return}}var Ei=`tsr-scroll-restoration-v1_3`,Di=Ti();function Oi(){try{return JSON.parse(Di?.getItem(`tsr-scroll-restoration-v1_3`)||`{}`)}catch{return{}}}function ki(){try{Di?.setItem(Ei,JSON.stringify(U))}catch{}}var U=Oi(),Ai=`data-scroll-restoration-id`,ji=e=>e.state.__TSR_key||e.href;function Mi(e){let t=e.getAttribute(Ai);if(t)return`[${Ai}="${t}"]`;let n=``,r=e,i;for(;i=r.parentNode;){let e=1,t=r;for(;t=t.previousElementSibling;)e++;let a=`${r.localName}:nth-child(${e})`;n=n?`${a} > ${n}`:a,r=i}return n}var Ni=!1,Pi=`window`;function Fi(e){try{return typeof e==`function`?e():document.querySelector(e)}catch{}}function Ii(e){let t=new Set;for(let n of e){if(n===Pi)continue;let e=Fi(n);e&&t.add(e)}return t}function Li(e,t){let n=t??e.options.scrollRestoration,r=e._scroll;n&&(r.restoring=!0);let i=e.options.getScrollRestorationKey||ji,a=new Set,o=e=>{let t=U[e]||={};for(let e of a)e===document?t[Pi]={scrollX,scrollY}:e.isConnected&&(t[Mi(e)]={scrollX:e.scrollLeft,scrollY:e.scrollTop})};n&&!r.restoration&&(r.restoration=!0,Ni=!1,history.scrollRestoration=`manual`,document.addEventListener(`scroll`,e=>{Ni||a.add(e.target)},!0),e.subscribe(`onBeforeLoad`,e=>{e.fromLocation&&o(i(e.fromLocation)),a.clear()}),addEventListener(`pagehide`,()=>{o(i(e.stores.resolvedLocation.get()??e.stores.location.get())),ki()})),!r.reset&&(r.reset=!0,e.subscribe(`onRendered`,t=>{let n=e.options.scrollRestorationBehavior,o=e.options.scrollToTopSelectors,s=r.next,c=r.hash,l;if(a.clear(),r.next=!0,r.hash=!1,typeof e.options.scrollRestoration==`function`&&!e.options.scrollRestoration({location:e.latestLocation}))return;let u=i(t.toLocation),d=t.fromLocation&&i(t.fromLocation);if(r.restoring&&d&&d!==u){let e=U[d];if(e){let t=U[u];for(let n in e){if(n===Pi){if(s)continue}else{let e=Fi(n);if(!e||s&&o&&(l??=Ii(o),l.has(e)))continue}t||=U[u]={},t[n]??=e[n]}}}Ni=!0;try{let e=t.toLocation.hash,i=t.toLocation.state.__hashScrollIntoViewOptions??!0,a=!1;if(s){!e&&o&&(l??=Ii(o));let t=e&&i&&c,s=r.restoring?U[u]:void 0;if(s)for(let e in s){let{scrollX:r,scrollY:i}=s[e];if(e===Pi){if(t)continue;scrollTo({top:i,left:r,behavior:n}),a=!0}else{let t=Fi(e);t&&(t.scrollLeft=r,t.scrollTop=i,l?.delete(t))}}if(!e){let e={top:0,left:0,behavior:n};if(a||scrollTo(e),l)for(let t of l)t.scrollTo(e)}}!a&&e&&i&&document.getElementById(e)?.scrollIntoView(i)}finally{Ni=!1}}))}function Ri(e,t=String){let n=new URLSearchParams;for(let r in e){let i=e[r];i!==void 0&&n.set(r,t(i))}return n.toString()}function zi(e){return e?e===`false`?!1:e===`true`?!0:e*0==0&&+e+``===e?+e:e:``}function Bi(e){let t=new URLSearchParams(e),n=Object.create(null);for(let[e,r]of t.entries()){let t=n[e];t==null?n[e]=zi(r):Array.isArray(t)?t.push(zi(r)):n[e]=[t,zi(r)]}return n}var Vi=/^(?:\s|["[{\d-]|fa|nu|tr)/,Hi=Wi(JSON.parse),Ui=Gi(JSON.stringify,JSON.parse);function Wi(e){return t=>{t[0]===`?`&&(t=t.substring(1));let n=Bi(t);for(let t in n){let r=n[t];if(typeof r==`string`)try{n[t]=e(r)}catch{}}return n}}function Gi(e,t){let n=t===JSON.parse;function r(r){if(r&&typeof r==`object`)try{return e(r)}catch{}else if(t&&typeof r==`string`){if(n&&!Vi.test(r))return r;try{return t(r),e(r)}catch{}}return r}return e=>{let t=Ri(e,r);return t?`?${t}`:``}}function Ki(e){return{input:({url:t})=>{for(let n of e)t=Ji(n,t);return t},output:({url:t})=>{for(let n=e.length-1;n>=0;n--)t=Yi(e[n],t);return t}}}function qi(e){let t=se(e.basepath),n=`/${t}`,r=e.caseSensitive?n:n.toLowerCase(),i=`${r}/`;return{input:({url:t})=>{let a=e.caseSensitive?t.pathname:t.pathname.toLowerCase();return a===r?t.pathname=`/`:a.startsWith(i)&&(t.pathname=t.pathname.slice(n.length)),t},output:({url:e})=>(e.pathname=ee([`/`,t,e.pathname]),e)}}function Ji(e,t){let n=e?.input?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function Yi(e,t){let n=e?.output?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function Xi(e,t){let{createMutableStore:n,createReadonlyStore:r,batch:i}=t,a=new Map,o=n(`idle`),s=n(e),c=n(void 0),l=n([]),u=r(()=>l.get().map(e=>a.get(e).get())),d=r(()=>({status:o.get(),isLoading:o.get()===`pending`,matches:u.get(),location:s.get(),resolvedLocation:c.get()}));function f(e){let t=a.get(e);return t||(t=n(void 0),a.set(e,t)),t}let p={status:o,location:s,resolvedLocation:c,ids:l,matches:u,byRoute:a,__store:d,getMatchStore:f,setMatches:m};function m(e){let t=l.get(),n=e.map(e=>e.routeId);i(()=>{fe(t,n)||l.set(n);for(let e of t)n.includes(e)||a.get(e).set(()=>void 0);for(let t of e){let e=f(t.routeId);e.get()!==t&&e.set(t)}})}return p}var Zi=`__TSR_index`,Qi=`popstate`,$i=`beforeunload`;function ea(e){let t=e.getLocation(),n=new Set,r=r=>{t=e.getLocation(),n.forEach(e=>e({location:t,action:r}))},i=n=>{e.notifyOnIndexChange??!0?r(n):t=e.getLocation()},a=async({task:n,navigateOpts:r,...i})=>{if(r?.ignoreBlocker??!1){n();return}let a=e.getBlockers?.()??[],o=i.type===`PUSH`||i.type===`REPLACE`;if(typeof document<`u`&&a.length&&o)for(let n of a){let r=ia(i.path,i.state);if(await n.blockerFn({currentLocation:t,nextLocation:r,action:i.type})){e.onBlocked?.();return}}n()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:e=>(n.add(e),()=>{n.delete(e)}),push:(n,i,o)=>{let s=t.state[Zi];i=ta(s+1,i),a({task:()=>{e.pushState(n,i),r({type:`PUSH`})},navigateOpts:o,type:`PUSH`,path:n,state:i})},replace:(n,i,o)=>{let s=t.state[Zi];i=ta(s,i),a({task:()=>{e.replaceState(n,i),r({type:`REPLACE`})},navigateOpts:o,type:`REPLACE`,path:n,state:i})},go:(t,n)=>{a({task:()=>{e.go(t),i({type:`GO`,index:t})},navigateOpts:n,type:`GO`})},back:t=>{a({task:()=>{e.back(t?.ignoreBlocker??!1),i({type:`BACK`})},navigateOpts:t,type:`BACK`})},forward:t=>{a({task:()=>{e.forward(t?.ignoreBlocker??!1),i({type:`FORWARD`})},navigateOpts:t,type:`FORWARD`})},canGoBack:()=>t.state[Zi]!==0,createHref:t=>e.createHref(t),block:t=>{if(!e.setBlockers)return()=>{};let n=e.getBlockers?.()??[];return e.setBlockers([...n,t]),()=>{let n=e.getBlockers?.()??[];e.setBlockers?.(n.filter(e=>e!==t))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r}}function ta(e,t){t||={};let n=aa();return{...t,key:n,__TSR_key:n,[Zi]:e}}function na(e){let t=e?.window??(typeof document<`u`?window:void 0),n=t.history.pushState,r=t.history.replaceState,i=[],a=()=>i,o=e=>i=e,s=e?.createHref??(e=>e),c=e?.parseLocation??(()=>ia(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){let e=aa();t.history.replaceState({[Zi]:0,key:e,__TSR_key:e},``)}let l=c(),u,d=!1,f=!1,p=!1,m=!1,h=()=>l,g,_=()=>{g&&(S._ignoreSubscribers=!0,(g[2]?t.history.pushState:t.history.replaceState)(g[1],``,g[0]),S._ignoreSubscribers=!1,g=void 0,u=void 0)},v=(e,t,n)=>{let r=s(t),i=!!g;i||(u=l),l=ia(t,n),g=[r,n,g?.[2]||e],i||queueMicrotask(()=>_())},y=e=>{l=c(),S.notify({type:e})},b=async()=>{if(f){f=!1;return}let e=c(),n=e.state[Zi]-l.state[Zi],r=n===1,i=n===-1,o=!r&&!i||d;d=!1;let s=o?`GO`:i?`BACK`:`FORWARD`,u=o?{type:`GO`,index:n}:{type:i?`BACK`:`FORWARD`};if(p)p=!1;else{let n=a();if(typeof document<`u`&&n.length){for(let r of n)if(await r.blockerFn({currentLocation:l,nextLocation:e,action:s})){f=!0,t.history.go(1),S.notify(u);return}}}l=c(),S.notify(u)},x=e=>{if(m){m=!1;return}let t=!1,n=a();if(typeof document<`u`&&n.length)for(let e of n){let n=e.enableBeforeUnload??!0;if(n===!0){t=!0;break}if(typeof n==`function`&&n()===!0){t=!0;break}}if(t)return e.preventDefault(),e.returnValue=``},S=ea({getLocation:h,getLength:()=>t.history.length,pushState:(e,t)=>v(!0,e,t),replaceState:(e,t)=>v(!1,e,t),back:e=>(e&&(p=!0),m=!0,t.history.back()),forward:e=>{e&&(p=!0),m=!0,t.history.forward()},go:e=>{d=!0,t.history.go(e)},createHref:e=>s(e),flush:_,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener($i,x,{capture:!0}),t.removeEventListener(Qi,b)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:a,setBlockers:o,notifyOnIndexChange:!1});return t.addEventListener($i,x,{capture:!0}),t.addEventListener(Qi,b),t.history.pushState=function(...e){let r=n.apply(t.history,e);return S._ignoreSubscribers||y(`PUSH`),r},t.history.replaceState=function(...e){let n=r.apply(t.history,e);return S._ignoreSubscribers||y(`REPLACE`),n},S}function ra(e){let t=e.replace(/[\x00-\x1f\x7f]/g,``);return t.startsWith(`//`)&&(t=`/`+t.replace(/^\/+/,``)),t}function ia(e,t){let n=ra(e),r=n.indexOf(`#`),i=n.indexOf(`?`),a=aa();return{href:n,pathname:n.substring(0,r>0?i>0?Math.min(r,i):r:i>0?i:n.length),hash:r>-1?n.substring(r):``,search:i>-1?n.slice(i,r===-1?void 0:r):``,state:t||{[Zi]:0,key:a,__TSR_key:a}}}function aa(){return(Math.random()+1).toString(36).substring(7)}function oa(e){return e.options.loader||e.options.beforeLoad||e.lazyFn||e.options.component?.preload||e.options.pendingComponent?.preload}function sa(e,t){return{fromLocation:t,toLocation:e,pathChanged:t?.pathname!==e.pathname,hrefChanged:t?.href!==e.href,hashChanged:t?.hash!==e.hash}}function ca({key:e,__TSR_key:t,__TSR_index:n,__hashScrollIntoViewOptions:r,...i}){return i}function la(e,t,n,r){for(let i of t){if(r?.()===!1)return;n.some(e=>e.routeId===i.routeId)||e.routesById[i.routeId].options.onLeave?.(i)}for(let i of n){if(r?.()===!1)return;e.routesById[i.routeId].options[t.some(e=>e.routeId===i.routeId)?`onStay`:`onEnter`]?.(i)}}var ua=class{constructor(e,t){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this._scroll={next:!0},this.subscribers=new Set,this._cache=new Map,this._committed=[],this.routeBranchCache=new WeakMap,this.lightweightCache=new WeakMap,this.startTransition=async e=>(e(),!1),this.update=e=>{let t=this.options,n=this.basepath??t?.basepath??`/`,r=this.basepath===void 0,i=t?.rewrite;if(this.options={...t,...e},this.isServer=this.options.isServer??!1??typeof document>`u`,this.protocolAllowlist=new Set(this.options.protocolAllowlist),this.options.pathParamsAllowedCharacters&&(this.pathParamsDecoder=oe(this.options.pathParamsAllowedCharacters)),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.history=this.options.history?this.options.history:na()),this.origin=this.options.origin,this.origin||=window?.origin&&window.origin!==`null`?window.origin:`http://localhost`,this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let e;this.resolvePathCache=M(1e3),e=this.buildRouteTree(),this.setRoutes(e)}if(!this.stores&&this.latestLocation){let e=this.getStoreConfig(this);this.batch=e.batch,this.stores=Xi(this.latestLocation,e),Li(this)}let a=this.options.basepath??`/`,o=this.options.rewrite;if(r||n!==a||i!==o){this.basepath=a;let e=[],t=se(a);t&&t!==`/`&&e.push(qi({basepath:a})),o&&e.push(o),this.rewrite=e.length===0?void 0:e.length===1?e[0]:Ki(e),this.history&&this.updateLatestLocation(),this.stores&&this.stores.location.set(this.latestLocation)}},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{let e=N(this.routeTree,this.options.caseSensitive,(e,t)=>{e.init({originalIndex:t})});return this.options.routeMasks&&ie(this.options.routeMasks,e.processedTree),e},this.subscribe=(e,t)=>{let n={eventType:e,fn:t};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=e=>{for(let t of this.subscribers)if(t.eventType===e.type)try{t.fn(e)}catch(e){console.error(e)}},this.parseLocation=(e,t)=>{let n=({pathname:e,search:n,hash:r,href:i,state:a})=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(e)){let i=this.options.parseSearch(n),o=this.options.stringifySearch(i);return{href:e+o+r,publicHref:e+o+r,pathname:te(e).path,external:!1,searchStr:o,search:P(t?.search,i),hash:te(r.slice(1)).path,state:w(t?.state,a)}}let o=new URL(i,this.origin),s=Ji(this.rewrite,o),c=this.options.parseSearch(s.search),l=this.options.stringifySearch(c);return s.search=l,{href:s.href.replace(s.origin,``),publicHref:i,pathname:te(s.pathname).path,external:!!this.rewrite&&s.origin!==this.origin,searchStr:l,search:P(t?.search,c),hash:te(s.hash.slice(1)).path,state:w(t?.state,a)}},r=n(e),{__tempLocation:i,__tempKey:a}=r.state;if(i&&(!a||a===this.tempLocationKey)){let e=n(i);return e.state.key=r.state.key,e.state.__TSR_key=r.state.__TSR_key,delete e.state.__tempLocation,{...e,maskedLocation:r}}return r},this.resolvePathWithBase=(e,t)=>ae({base:e,to:t.includes(`//`)?I(t):t,trailingSlash:this.options.trailingSlash,cache:this.resolvePathCache}),this.matchRoutes=(e,t,n)=>typeof e==`string`?this.matchRoutesInternal({pathname:e,search:t},n):this.matchRoutesInternal(e,t),this.getMatchedRoutes=e=>{let t=Object.create(null),n=j(F(e),this.processedTree,!0);return n&&Object.assign(t,n.rawParams),[n?.branch||[this.routesById.__root__],t,n?.route]},this.buildLocation=e=>{let t=(t={})=>{let n=t._fromLocation||this._pendingLocation||this.latestLocation,r=this.matchRoutesLightweight(n);t.from;let i=t.unsafeRelative===`path`?n.pathname:t.from??r[1],a=t.to?`${t.to}`:void 0,o=r[2],s=Object.assign(Object.create(null),r[3]),c=a?.charCodeAt(0)===47?`/`:this.resolvePathWithBase(i,`.`),l=a?this.resolvePathWithBase(c,a):c,u=ga(t.params,s),d=this.routesByPath[F(l)],f;if(d)f=this.getRouteBranch(d);else if(l.includes(`$`))f=[];else{let[e,t,n]=this.getMatchedRoutes(l);f=e,this.options.notFoundRoute&&(!n||n.path!==`/`&&t[`**`])&&(f=[...f,this.options.notFoundRoute])}if(f.length&&A(u))for(let e of f){let t=e.options.params?.stringify??e.options.stringifyParams;if(t)try{Object.assign(u,t(u))}catch{}}let p=e.leaveParams?l:te(re({path:l,params:u,decoder:this.pathParamsDecoder,server:this.isServer}).interpolatedPath).path,m=o;if(e._includeValidateSearch&&this.options.search?.strict){let e={};f.forEach(t=>{if(t.options.validateSearch)try{Object.assign(e,pa(t.options.validateSearch,{...e,...m}))}catch{}}),m=e}m=ma(m,t,f,e._includeValidateSearch),m=P(o,m);let h=this.options.stringifySearch(m),g=t.hash===!0?n.hash:t.hash?ue(t.hash,n.hash):void 0,_=g?`#${g}`:``,v=t.state===!0?n.state:t.state?ue(t.state,n.state):{};v=w(n.state,v);let y=`${p}${h}${_}`,b,x,S=!1;if(this.rewrite){let e=new URL(y,this.origin),t=Yi(this.rewrite,e);b=e.href.replace(e.origin,``),t.origin===this.origin?x=t.pathname+t.search+t.hash:(x=t.href,S=!0)}else b=k(y),x=b;return{publicHref:x,href:b,pathname:p,search:m,searchStr:h,state:v,hash:g??``,external:S,unmaskOnReload:t.unmaskOnReload}},n=(n={},r)=>{let i=t(n),a=r?t(r):void 0;if(!a){let n=Object.create(null);if(this.options.routeMasks){let o=ne(i.pathname,this.processedTree);if(o){Object.assign(n,o.rawParams);let{from:i,params:s,...c}=o.route,l=ga(s,n);r={from:e.from,...c,params:l},a=t(r)}}}return a&&(i.maskedLocation=a),i};return e.mask?n(e,{from:e.from,...e.mask}):n(e)},this.commitLocation=async({viewTransition:e,ignoreBlocker:t,...n})=>{let r,i=F(this.latestLocation.href)===F(n.href)&&de(ca(n.state),ca(this.latestLocation.state)),a=this._commitPromise,o,s=new Promise(e=>{o=e});if(s.resolve=()=>{o(),a?.resolve()},this._commitPromise=s,i)this.load();else{let{maskedLocation:i,hashScrollIntoView:a,...o}=n;i&&(o={...i,state:{...i.state,__tempKey:void 0,__tempLocation:{...o,search:o.searchStr,state:{...o.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(o.unmaskOnReload??this.options.unmaskOnReload??!1)&&(o.state.__tempKey=this.tempLocationKey)),o.state.__hashScrollIntoViewOptions=a??this.options.defaultHashScrollIntoView??!0,this.shouldViewTransition=e,r=n.replace?`REPLACE`:`PUSH`,this.history[r===`REPLACE`?`replace`:`push`](o.publicHref,o.state,{ignoreBlocker:t}),this.history.subscribers.size||this.load({action:{type:r}})}return this._scroll.next=n.resetScroll??!0,this._commitPromise},this.buildAndCommitLocation=({replace:e,resetScroll:t,hashScrollIntoView:n,viewTransition:r,ignoreBlocker:i,_redirects:a,href:o,...s}={})=>{if(o){let t=this.history.location.state.__TSR_index,n=ia(o,{__TSR_index:e?t:t+1}),r=new URL(n.pathname,this.origin);s.to=Ji(this.rewrite,r).pathname,s.search=this.options.parseSearch(n.search),s.hash=n.hash.slice(1)}let c=this.buildLocation({...s,_includeValidateSearch:!0});a&&(c._redirects=a),this._pendingLocation=c;let l=this.commitLocation({...c,viewTransition:r,replace:e,resetScroll:t,hashScrollIntoView:n,ignoreBlocker:i});return queueMicrotask(()=>{this._pendingLocation===c&&(this._pendingLocation=void 0)}),l},this.navigate=async({to:e,reloadDocument:t,href:n,publicHref:r,...i})=>{let a=!1;if(n)try{new URL(`${n}`),a=!0}catch{}if(a&&!t&&(t=!0),t){if(e!==void 0||!n){let t=this.buildLocation({to:e,...i});n??=t.publicHref,r??=t.publicHref}let t=!a&&r?r:n;if(E(t,this.protocolAllowlist))return;if(!i.ignoreBlocker){let e=this.history.getBlockers?.()??[];for(let t of e)if(t?.blockerFn&&await t.blockerFn({currentLocation:this.latestLocation,nextLocation:this.latestLocation,action:`PUSH`}))return}i.replace?window.location.replace(t):window.location.href=t;return}return this.buildAndCommitLocation({...i,href:n,to:e,_isNavigate:!0})},this.load=async e=>{this.updateLatestLocation(),e?.action&&(this._scroll.hash=e.action.type===`PUSH`||e.action.type===`REPLACE`),await co(this,e)},this.startViewTransition=e=>{let t=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,t&&typeof document.startViewTransition==`function`){let n;if(typeof t==`object`&&window.CSS?.supports?.(`selector(:active-view-transition-type(a))`)){let r=this.latestLocation,i=this.stores.resolvedLocation.get(),a=typeof t.types==`function`?t.types(sa(r,i)):t.types;if(a===!1)return e();n={update:e,types:a}}else n=e;return document.startViewTransition(n).updateCallbackDone}return e()},this.invalidate=e=>{let t=this._committed,n=e?.filter,r=this._preloads,i=new Set([...t,...this._cache.values(),...[...r?.values()??[]].flat(),...this._tx?.[3]??[]].filter(e=>!n||n(e)).map(e=>e.id)),a=[];for(let[e,t]of r??[])t.some(e=>i.has(e.id))&&(r.delete(e),a.push(e));let o=t=>{if(i.has(t.id)){let n=this.routesById[t.routeId],r={...t,invalid:!0,...(e?.forcePending||t.status===`error`||t.status===`notFound`)&&oa(n)?{status:`pending`,error:void 0}:void 0};return t._flight=void 0,r}return t};this._committed=t.map(o);for(let[t,n]of this._cache)i.has(t)&&(n.invalid=!0,e?.forcePending&&(n.status=`pending`));for(let e of i)this._flights?.delete(e);for(let e of a)e.abort();return this.shouldViewTransition=!1,this.load({sync:e?.sync})},this.resolveRedirect=e=>{let t=e.headers.get(`Location`);if(!e.options.href||e.options._builtLocation){let t=(e.options._builtLocation??this.buildLocation(e.options)).publicHref||`/`;e.options.href=t,e.headers.set(`Location`,t)}else if(t)try{let n=new URL(t);if(this.origin&&n.origin===this.origin){let t=n.pathname+n.search+n.hash;e.options.href=t,e.headers.set(`Location`,t)}}catch{}if(e.options.href&&!e.options._builtLocation&&E(e.options.href,this.protocolAllowlist))throw Error(`Redirect blocked: unsafe protocol`);return e.headers.get(`Location`)||e.headers.set(`Location`,e.options.href),e},this.clearCache=e=>{let t=this._cache,n=this._preloads,r=e?.filter,i=[],a=[];for(let[e,n]of t)(!r||r(n))&&(a.push(e),i.push(n));let o=[];for(let[e,t]of n??[])(!r||t.some(r))&&(o.push(e),i.push(...t));for(let e of a)t.delete(e);for(let e of o)n.delete(e);for(let e of i){let t=e._flight;e._flight=void 0,t&&!--t[2]&&(this._flights?.get(e.id)===t&&this._flights.delete(e.id),o.push(t[1]))}for(let e of o)e.abort()},this.loadRouteChunk=ba,this.preloadRoute=e=>lo(this,e),this.matchRoute=(e,t)=>{let n={...e,to:e.to?this.resolvePathWithBase(e.from||``,e.to):void 0,params:e.params||{},leaveParams:!0},r=this.buildLocation(n),i=this.stores.status.get()===`pending`;if(t?.pending&&!i)return!1;let a=t?.pending??!i?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),o=L(r.pathname,t?.caseSensitive??!1,t?.fuzzy??!1,a.pathname,this.processedTree);return!o||e.params&&!de(o.rawParams,e.params,{partial:!0})?!1:t?.includeSearch??!0?de(a.search,r.search,{partial:!0})?o.rawParams:!1:o.rawParams},this.getStoreConfig=t,this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...e,caseSensitive:e.caseSensitive??!1,notFoundMode:e.notFoundMode??`fuzzy`,stringifySearch:e.stringifySearch??Ui,parseSearch:e.parseSearch??Hi,protocolAllowlist:e.protocolAllowlist??le}),self.__TSR_ROUTER__=this}isShell(){return!!this.options.isShell}get state(){return this.stores.__store.get()}setRoutes({routesById:e,routesByPath:t,processedTree:n}){this.routesById=e,this.routesByPath=t,this.processedTree=n;let r=this.options.notFoundRoute;r&&(r.init({originalIndex:99999999999}),this.routesById[r.id]=r)}getRouteBranch(e){let t=this.routeBranchCache.get(e);return t||(t=ce(e),this.routeBranchCache.set(e,t)),t}matchRoutesInternal(e,t){let[n,r,i]=this.getMatchedRoutes(e.pathname),a=n,o=!1;(i?i.path!==`/`&&r[`**`]:F(e.pathname))&&(this.options.notFoundRoute?a=[...a,this.options.notFoundRoute]:o=!0);let s=o?ha(this.options.notFoundMode,a):void 0,c=Array(a.length),l=this._committed,u=(e,t)=>{let n=l[t];return n?.routeId===e.id?n:e===this.options.notFoundRoute?l.find(t=>t.routeId===e.id):void 0},d;for(let n=0;n{let r=n(t.preSearchFilters?t.preSearchFilters.reduce((e,t)=>t(e),e):e);return t.postSearchFilters?t.postSearchFilters.reduce((e,t)=>t(e),r):r});let n=t.validateSearch;n&&i.push(({search:e,next:t,meta:i})=>{let a=t(e);if(r)try{let e=pa(n,a);if(i&&e)for(let t in e)t in a||(i.defaulted||=new Map).set(t,e[t]);return{...a,...e}}catch{}return a})}let a=(e,n,r)=>{if(e>=i.length){if(!t.search)return{};if(t.search===!0)return n;let e=ue(t.search,n);return r&&(r.explicit=e),e}return i[e]({search:n,next:(t,n)=>{if(n){let n=r||{};return{search:a(e+1,t,n),meta:n}}return a(e+1,t,r)},meta:r})};return a(0,e)}function ha(e,t){if(e!==`root`){let e;for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.options.notFoundComponent)return r.id;e||=r.children&&r.id}if(e)return e}return be}function ga(e,t){return e===!1||e===null?Object.create(null):(e??!0)===!0?t:Object.assign(t,ue(e,t))}function _a(e,t){let n=e.options.params?.parse??e.options.parseParams;n&&Object.assign(t,n(t))}function va(e,t){return e.options[t]?.preload?.()}function ya(e,t){let n=va(e,`component`),r=va(e,`pendingComponent`),i=t&&r?r.then(t):r;return t&&!r&&t(),n&&i?Promise.all([n,i]).then(()=>{}):n??i}function ba(e,t,n){let r=()=>t===!1?void 0:t?va(e,t):ya(e,n),i=e._lazy;if(i)return i===!0?r():i.then(r);if(!e.lazyFn)return r();let a=e.lazyFn().then(t=>{{let{id:n,...r}=t.options;Object.assign(e.options,r),e._lazy=!0}},t=>{throw e._lazy=void 0,t});return e._lazy=a,a.then(r)}function xa(e){let t=e.findIndex(e=>e.status!==`success`||e._notFound)+1;return t&&t{let i=()=>r(t);t.addEventListener(`abort`,i,{once:!0}),Promise.resolve(e).then(n,r).finally(()=>t.removeEventListener(`abort`,i))})}function Aa(e,t){return e.routesById[t.routeId]}function ja(e,t,n){return Se(e)?[Ea,e]:ge(e)?(e.routeId||=n,[Ta,e]):(t&&typeof e?.then==`function`&&(e=Error(`A Promise was thrown`,{cause:e})),t?[wa,e]:[Ca,e])}function Ma(e,t){let n=ja(t,!0,e.id);if(n[0]!==wa)return n;try{e.options.onError?.(n[1])}catch(t){n=ja(t,!0,e.id)}return n}function Na(e,t,n){return n[0].signal.aborted||!n[2]()?(n[0].abort(),[Da]):Ma(e,t)}function Pa(e,t){return n=>e.navigate({...n,_fromLocation:t})}async function Fa(e,t,n,r,i,a){let[o,s]=t,c=n[0].signal,l=!!n[4];for(let t=n[7]??0;t=a&&(r.status=`pending`),n[8]?.();try{Ba(e,r,`beforeLoad`,n[0]);let a=await ka(m(h),c);if(!n[2]())return n[0].abort(),[t,[Da]];let o=ja(a,!1,i.id);if(o[0]!==Ca)return La(e,r),[t,o];r.context={...f,...a}}catch(a){return La(e,r),[t,Na(i,a,n)]}finally{g===`success`&&r.status===`pending`&&(r.status=`success`),Ba(e,r,!1,n[0])}}i()}function Ia(e,t,n){if(!(!n||--n[2])){if(e._flights?.get(t.id)===n){let n=e._tx;if(n&&!n[0].signal.aborted&&!n[3].includes(t)&&n[3].some(e=>e.id===t.id)&&n[3].some(e=>e.isFetching===`beforeLoad`))return;e._flights.delete(t.id)}return n[1]}}function La(e,t){let n=t._flight;t._flight=void 0,Ia(e,t,n)?.abort()}function Ra(e,t,n,r){let i=[];for(let a of t)if(!n?.includes(a)){let t=a._flight;if(a._flight=void 0,r&&t?.[2]===1&&e._flights?.get(a.id)===t&&n?.some(e=>e.id===a.id))t[2]=0;else{let n=Ia(e,a,t);n&&i.push(n)}}for(let e of i)e.abort()}function za(e){for(let t of e){let e=t._flight;e&&e[2]++}}function Ba(e,t,n,r){if(t.isFetching=n,r&&e._tx?.[0]!==r)return;let i=e.stores.byRoute.get(t.routeId),a=i?.get();a?.id===t.id&&i.set({...a,isFetching:n})}function Va(e,t,n,r,i,a,o){let s=t[0];return{params:n.params,location:s,navigate:Pa(e,s),cause:o?`preload`:n.cause,abortController:i,preload:o,deps:n.loaderDeps,parentMatchPromise:a,context:n.context,route:r,...e.options.additionalContext}}async function Ha(e,t,n,r,i,a,o,s){let c=s.signal;if(c.aborted)return[Da];if(!i)return[Ca,void 0];let l=n._flight;Ba(e,n,`loader`,s);try{if(!l){let s=new AbortController;l=[Promise.resolve().then(()=>i(Va(e,t,n,r,s,a,o))).then(e=>ja(e,!1,r.id),e=>ja(e,!0,r.id)).then(t=>(t[0]!==Ca&&e._flights?.get(n.id)===l&&(e._flights.delete(n.id),l[2]||s.abort()),t[0]===wa&&l[2]?Ma(r,t[1]):t)),s,1],(e._flights??=new Map).set(n.id,l)}return n._flight=l,n.abortController=l[1],await ka(l[0],c)}catch(t){if(t!==c)throw t;return La(e,n),[Da]}finally{Ba(e,n,!1,s)}}function Ua(e,t,n){t[0]===Ca?(e.loaderData=t[1],e.error=void 0,e.status=`success`,e.invalid=!1,e.updatedAt=Date.now(),e.preload=n):t[0]!==Ea&&(e.status=`success`,e.error=void 0,e.invalid=!0)}function Wa(e,t,n){let r=e._cache.get(t.id);if(r!==n||e._committed.some(e=>e.id===t.id&&e._flight===t._flight))return;let i={...t,_notFound:void 0,context:{}};i._flight&&i._flight[2]++,e._cache.set(t.id,i),r&&La(e,r)}function Ga(e,t){return t[0]===wa||t[0]===Ta?{...e,status:t[0]===wa?`error`:`notFound`,error:t[1],_flight:void 0}:e}function Ka(e,t,n,r,i,a,o){let s=t[1][n],c=Aa(e,s),l=!!a[4],u=e._cache.get(s.id),d,f=!1,p;try{if(s.status===`success`&&(d=c.options.shouldReload,typeof d==`function`&&(d=d(Va(e,t,s,c,a[0],i,l))),a[2]()||(a[0].abort(),p=[Da])),!p){if(s.status!==`success`)f=!0;else{let t=a[4]||s.preload?c.options.preloadStaleTime??e.options.defaultPreloadStaleTime??3e4:c.options.staleTime??e.options.defaultStaleTime??0;f=!!(s.invalid||d||d===void 0&&Date.now()-s.updatedAt>=t&&(a[6]||s.cause===`enter`||a[3].some(e=>e.routeId===s.routeId&&e.id!==s.id)))}}}catch(t){s.invalid=!0,La(e,s),p=Na(c,t,a)}let m=c.options.loader,h=typeof m==`function`?m:m?.handler,g=(!l||c.options.preload!==!1)&&m?e._flights?.get(s.id):void 0;g===s._flight||p?g=void 0:g&&!f&&!l&&d===void 0?f=!0:f||(g=void 0);let _=!!(m&&f&&s.status===`success`&&!l&&!a[5]&&((typeof m==`function`?void 0:m?.staleReloadMode)??e.options.defaultStaleReloadMode)!==`blocking`),v=f&&(!l||c.options.preload!==!1),y=v&&!_&&(s.status!==`success`||!!m),b=c.lazyFn&&c._lazy!==!0?a[8]:void 0;if(v&&!m&&(s.invalid=!1,s.updatedAt=Date.now()),g&&g[2]++,y){let t=s._flight;s._flight=g,Ia(e,s,t)?.abort(),s.status===`success`&&n>=o&&(s.status=`pending`),a[8]?.()}v||(s.isFetching=!1);let x=(p?Promise.resolve(p):y?Ha(e,t,s,c,h,i,l,a[0]):Promise.resolve([Ca,s.loaderData])).then(t=>(y&&(Ua(s,t,l),t[0]===Ca&&(m&&!a[0].signal.aborted&&Wa(e,s,u),s.status=`pending`)),t)),S=ka(Promise.resolve().then(()=>ba(c,void 0,b)),a[0].signal).then(()=>void 0,e=>[n,Na(c,e,a)]).then(e=>x.then(t=>(y&&!e&&t[0]===Ca&&s.status===`pending`&&a[2]()&&(s.status=`success`,a[8]?.()),e)));if(r.push([n,x,S]),!_)return x.then(e=>Ga(s,e));let C={...s,status:`pending`,preload:!1,_flight:g};s.invalid=!1,s.isFetching=`loader`;let w=Ha(e,t,C,c,h,i,!1,a[0]).then(e=>(s.isFetching=!1,Ua(C,e,!1),e));return(t[2]??=[]).push([n,w,S,C]),w.then(e=>Ga(C,e))}async function qa(e,t,n,r,i=0){let a=n?.[1][1],o=a?.routeId?t.findIndex(e=>e.routeId===a.routeId):n?.[0]??t.length-1;o<0&&(o=0);for(let n=o;n>=0;n--){let i=Aa(e,t[n]),a=ba(i,!1);if(a)try{await ka(a,r)}catch(e){if(e===r)throw e}if(i.options.notFoundComponent)return n}return a?.routeId?o:i}function Ja(e,t){t[2]&&=(Ra(e,t[2].map(e=>e[3])),void 0)}async function Ya(e,t,n,r){let i;try{await Promise.all(e.map(e=>e[1].then(async t=>{let a=e[0];if(!(r&&a>=await r)){if(t[0]>=Ea)throw[a,t];!i&&t[0]!==Ca&&(i=[a,t],await Promise.all((n??[]).map(e=>{if(!(e[0]<=a))return e[1].then(t=>{if(t[0]===Ea)throw[e[0],t]})})))}})))}catch(e){return e}return t??i}async function Xa(e,t,n,r,i,a,o){let s=t[1],c=await a,l=!1,u=s.findIndex(e=>e._notFound),d=t=>t[1][0]===Ta?qa(e,s,t,r.signal):t[0],f=u<0?s.length:u;if((c?.[1][0]??0)>=Ea)f=0;else if(c){f=c[2]??=await d(c);for(let e of n){if(e[0]>=f)break;let t=await e[1];if(t[0]!==Ca&&t[0]=f)break;let t=await e[2];if(t){c=t;break}}if((c?.[1][0]??0)>=Ea){let n=c[1];if(n[0]!==Ea||n[1].options.reloadDocument||i<20)return Ja(e,t),n;l=!0,c=[0,[wa,Error(`Too many redirects`)]]}let p=c?c[2]??await d(c):u;if(p>=0){let i=c?.[1],a=i?.[0],u=s[p],d=i?.[1],f=()=>{i&&(u._notFound=void 0,a===wa?u.status=`error`:(d.routeId=u.routeId,u.routeId===e.routeTree.id?(u.status=`success`,u._notFound=!0):u.status=`notFound`),u.error=d,u.isFetching=!1)};f();let m=Aa(e,u);try{await ka(i?Promise.resolve().then(()=>ba(m,a===wa?`errorComponent`:`notFoundComponent`)):Promise.all([ba(m),ba(m,`notFoundComponent`)]),r.signal)}catch(n){if(n===r.signal)return Ja(e,t),[Da]}i?l&&(r.abort(),await Promise.all([...n.map(e=>e[1]),...n.map(e=>e[2]),...(t[2]??[]).map(e=>e[1])]),Ja(e,t),Ra(e,s),f()):(u.status=`success`,o?.())}return t}async function Za(e,t,n,r=0,i=t[1].length){let a=t[1];for(let t=r;te._notFound);if(e.options.notFoundMode!==`root`&&o>=0){let t=await qa(e,i[1],void 0,r[0].signal,o);t!==o&&(n[o]._notFound=void 0,n[t]._notFound=!0),o=t}let s=o<0?n.length:o+1,c=0;for(;c{for(let t=u;t=Ea&&(s=0),f()),r[2]()&&!r[4]){let t=[];for(let[n,r]of e._flights??[])r[2]||(e._flights.delete(n),t.push(r[1]));for(let e of t)e.abort()}let m;try{let t=Xa(e,i,l,r[0],r[1],Ya(l,p,i[2]),r[8]);i[2]?.length&&(i[3]=Ya(i[2],void 0,void 0,t.then(e=>Oa(e)?0:xa(e[1]).length,()=>0))),m=await t}catch(t){throw Ja(e,i),t}return Oa(m)?m:Za(e,m,r[0].signal,r[7]===m[1].length?r[7]:0)}function $a(e,t){if(e._tx!==t)return;let n=e._pending,r=!1,i=n?.[0][3][n[1]]?.id;n?.[0]!==t&&(n&&t[3][n[1]]?.id===i?(n[0]=t,r=!0):(clearTimeout(n?.[3]),e._pending=n=void 0));let a=t[3],o=e.stores.matches.get(),s=-1,c,l,u,d=!1;for(let t=0;t0){n[3]=setTimeout(()=>$a(e,t),r);return}n[2]=0}let p=a.map(e=>({...e,_flight:void 0}));p[s].status=`pending`;let m=e.startTransition(()=>e.stores.setMatches(p),p).then(t=>(t&&e._pending===n&&n[4]===m&&!n[2]&&(n[2]=Date.now()+l),t));n[4]=m}function eo(e,t){let n=e._pending;n?.[0]===t&&(clearTimeout(n[3]),e._pending=void 0)}function to(e,t){e._committed=t,e.stores.setMatches(t)}function no(e,t){Ra(e,t[1]),Ja(e,t)}function ro(e,t,n,r){let i=e._committed,a=e._cache;for(let e of n)e.preload=!1,r&&(e._assetEnd=void 0);let o=xa(n).length,s=new Map,c=Date.now();for(let t of[...i,...a.values()]){if(t.status!==`success`||n.some((e,n)=>e.id===t.id&&(n=(t.preload?r.options.preloadGcTime??e.options.defaultPreloadGcTime??3e5:r.options.gcTime??e.options.defaultGcTime??3e5)||s.set(t.id,a.get(t.id)===t?t:{...t,_flight:void 0,isFetching:!1,context:{}})}t[3]=[],e._cache=s,to(e,n),Ra(e,[...a.values(),...i],[...n,...s.values()]),la(e,i,n,()=>e._tx===t)}async function io(e,t){let n=e._tx;for(;n&&n!==t;){if(await n[5],e._tx===n)return;n=e._tx}}async function ao(e,t,n){await e.navigate({...n.options,replace:!0,ignoreBlocker:!0,_redirects:t[1]+1})}function oo(e,t){eo(e,t),t[0].abort(),Ra(e,t[3]),t[3]=[],e._tx===t&&(e.batch(()=>{e.stores.status.set(`idle`),e.stores.setMatches(e._committed)}),e._tx===t&&(e._commitPromise?.resolve(),e._commitPromise=void 0))}async function so(e,t,n,r,i){let a=n.map(e=>({...e}));za(a);for(let t of r)La(e,a[t[0]]),a[t[0]]=t[3];let o=[t[2],a],s;try{s=await Xa(e,o,r,t[0],t[1],i)}catch(t){throw Ra(e,a),t}if(Oa(s)){Ra(e,a),s[0]===Ea&&e._tx===t&&e._committed===n&&await ao(e,t,s[1]);return}let c=await Za(e,s,t[0].signal);if(e._tx!==t||e._committed!==n){Ra(e,c[1]);return}for(let t of c[1]){let n=e._cache.get(t.id);n?._flight&&n._flight===t._flight&&(e._cache.delete(t.id),La(e,n))}to(e,c[1]),Ra(e,n,c[1])}async function W(e,t,n,r,i,a){let o=[t[0],t[1],()=>e._tx===t&&!!t[3].length,e._committed,void 0,i,n,a,r],s=await Qa(e,t[2],t[3],o);if(Oa(s)){s[0]===Ea&&e._tx===t?(eo(e,t),Ra(e,t[3]),t[3]=[],e._tx===t&&await ao(e,t,s[1])):oo(e,t);return}let c=e._pending;if(c?.[0]===t&&(clearTimeout(c[3]),c[4])){let n=t[0].signal,r=!1;try{r=await ka(c[4],n)}catch(e){if(e!==n)throw e}if(r&&e._pending===c&&c[0]===t){let e=c[2]-Date.now();if(e>0){try{await ka(new Promise(t=>{c[3]=setTimeout(t,e)}),n)}catch{}clearTimeout(c[3])}}}if(e._tx!==t){eo(e,t),no(e,s);return}let l=t[2],u=sa(l,e.stores.resolvedLocation.get()),d=s[2];await e.startViewTransition(async()=>{if(e._tx!==t){no(e,s);return}let n=await e.startTransition(()=>{eo(e,t),ro(e,t,s[1],a),e._tx===t&&(e.emit({type:`onLoad`,...u}),e._tx===t&&e.emit({type:`onBeforeRouteMount`,...u}))},s[1]);if(e._tx!==t){Ja(e,s);return}d?.length&&so(e,t,s[1],d,s[3]).catch(console.error),e.batch(()=>{e.stores.resolvedLocation.set(l),e.stores.status.set(`idle`),e._tx===t&&e.emit({type:`onResolved`,...u}),n&&e._tx===t&&e.emit({type:`onRendered`,...u})}),e._tx===t&&(e._commitPromise?.resolve(),e._commitPromise=void 0)})}async function co(e,t){let n=e._tx,r=e.stores.resolvedLocation.get(),i=r??e.stores.location.get(),a=e.latestLocation,o=e._pendingLocation,s=o?.href===a.href?o._redirects??0:0,c=e._handoff,l=c?.[0](),u=new AbortController,d=e._preflight;if(e._preflight=u,l||c?.[1](),d?.abort(),u.signal.aborted){await io(e,n);return}let f=sa(a,r);if(e.emit({type:`onBeforeNavigate`,...f}),u.signal.aborted||e.emit({type:`onBeforeLoad`,...f}),u.signal.aborted){await io(e,n);return}let p=i.href===a.href,m,h=u;try{m=e.matchRoutes(a,{_controller:u}),za(m)}catch(t){if(u.abort(),!Se(t)){await io(e),e._commitPromise?.resolve(),e._commitPromise=void 0;return}await e.navigate({...t.options,replace:!0,ignoreBlocker:!0}),await io(e,n);return}let g=l?c[1](m):void 0;if(g?h=l:l?.abort(),u.signal.aborted){Ra(e,m),await io(e,n);return}e._preflight=void 0;let _=[h,s,a,m,Date.now(),Promise.resolve().then(()=>W(e,_,p,()=>$a(e,_),t?.sync,g)).catch(()=>{e._tx===_&&oo(e,_)})];if(e._tx=_,n){for(let t of e.stores.matches.get()){if(e._tx!==_)break;t.isFetching&&Ba(e,t,!1)}n[0].abort(),Ra(e,n[3],_[3],!0)}if(e._tx!==_){Ra(e,_[3]),_[3]=[],await io(e,_);return}e.batch(()=>{e.stores.status.set(`pending`),e.stores.location.set(a)}),!r&&!m.some(e=>e._notFound)&&$a(e,_);try{await _[5]}finally{await io(e,_)}}async function lo(e,t,n=0){if(n>20)return;let r=t._builtLocation??e.buildLocation(t),i=e._committed,a=new AbortController,o;try{o=e.matchRoutes(r,{_controller:a}),za(o)}catch(e){a.abort(),ge(e)||console.error(e);return}(e._preloads??=new Map).set(a,o);let s;try{let t;try{t=await Qa(e,r,o,[a,n,()=>!0,i,!0])}finally{s=e._preloads.delete(a),Ra(e,o),a.abort()}if(!Oa(t))return t[1];if(s&&t[0]===Ea&&!t[1].options.reloadDocument)return lo(e,{...t[1].options,_fromLocation:r},n+1)}catch(e){ge(e)||console.error(e)}}function uo(e,t){if(e)return typeof e==`string`?e:e[t]}function fo(e){return e?.scriptFormat??`module`}function po(e,t,n){let r=mo(t),i=uo(n,`script`)??r.crossOrigin;return{...fo(e)===`iife`?{rel:`preload`,as:`script`}:{rel:`modulepreload`},href:r.href,...i?{crossOrigin:i}:{}}}function mo(e){return typeof e==`string`?{href:e,crossOrigin:void 0}:e}function ho(e,t){if(t.length===0)return;if(t.length===1){e.push(t[0]);return}let n=new Set;for(let r of t){let t=JSON.stringify(r);n.has(t)||(n.add(t),e.push(r))}}function go(e){return typeof e==`string`?{href:e,crossOrigin:void 0}:e}var _o=(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))(_o||{});function vo({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 yo(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 bo=[],xo=0,{link:So,unlink:Co,propagate:wo,checkDirty:To,shallowPropagate:Eo}=vo({update(e){return e._update()},notify(e){bo[Oo++]=e,e.flags&=~_o.Watching},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=_o.Mutable|_o.Dirty,Mo(e))}}),Do=0,Oo=0,ko,Ao=0;function jo(e){try{++Ao,e()}finally{--Ao||No()}}function Mo(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=Co(n,e)}function No(){if(!(Ao>0)){for(;Do{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=ko,o=t?.compare??Object.is;if(n)ko=i,++xo,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=_o.Mutable|_o.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{ko=a,n&&(i.flags&=~_o.RecursedCheck),Mo(i)}}};return n?(i.flags=_o.Mutable|_o.Dirty,i.get=function(){let e=i.flags;if(e&_o.Dirty||e&_o.Pending&&To(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&Eo(e)}}else e&_o.Pending&&(i.flags=e&~_o.Pending);return ko!==void 0&&So(i,ko,xo),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(wo(e),Eo(e),No())}},i}function Fo(e){let t=()=>{let t=ko;ko=n,++xo,n.depsTail=void 0,n.flags=_o.Watching|_o.RecursedCheck;try{return e()}finally{ko=t,n.flags&=~_o.RecursedCheck,Mo(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:_o.Watching|_o.RecursedCheck,notify(){let e=this.flags;e&_o.Dirty||e&_o.Pending&&To(this.deps,this)?t():this.flags=_o.Watching},stop(){this.flags=_o.None,this.depsTail=void 0,Mo(this)}};return t(),n}var G=e(r(),1);function Io(e,t){let n=e[1];e.length=0,n?.(t)}function Lo({t:e}){let t=De(),n=t._rendered??=[];return t.startTransition=(r,i)=>new Promise((a,o)=>{Io(n,!1),n.push(i,a),e(t),G.startTransition(()=>{try{r()}catch(e){n[1]===a&&(n.length=0),o(e)}})}),D(()=>{let e=t.history.subscribe(t.load);t.updateLatestLocation();let r=t.latestLocation,i=t.buildLocation({to:r.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});if(F(r.publicHref)!==F(i.publicHref))return t.commitLocation({...i,replace:!0,ignoreBlocker:!0}),e;let a=t.stores.resolvedLocation.get();return a?.href===r.href&&a.state.__TSR_key===r.state.__TSR_key?n.push(t.stores.matches.get(),e=>{e&&t.emit({type:`onRendered`,...sa(a,a)})}):t._tx||t.load().catch(console.error),e},[t,t.history]),null}var K=n();function Ro(){let e=De(),t=e.routesById[be],n=_e(e,t),r=e.ssr?me:G.Suspense,i=(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(Lo,{t:G.useState()[1]}),(0,K.jsx)(r,{fallback:n,children:(0,K.jsx)(zo,{})})]});return e.options.InnerWrap?(0,K.jsx)(e.options.InnerWrap,{children:i}):i}function zo(){let e=De(),t=e._rendered,n=Ae(e.stores.matches,e=>t[0]??e),r=n[0],i=r?.routeId;D(()=>{t[0]===n&&Io(t,!0)},[t,n]);let a=i?(0,K.jsx)(ve,{routeId:i}):null;return(0,K.jsx)(ye.Provider,{value:i,children:e.options.disableGlobalCatchBoundary?a:(0,K.jsx)(pe,{getResetKey:()=>r,onCatch:void 0,children:a})})}var Bo=e=>({createMutableStore:Po,createReadonlyStore:Po,batch:jo}),Vo=e=>new Ho(e),Ho=class extends ua{constructor(e){super(e,Bo)}};function Uo({router:e,children:t,...n}){A(n)&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});let r=(0,K.jsx)(Ee.Provider,{value:e,children:t});return e.options.Wrap?(0,K.jsx)(e.options.Wrap,{children:r}):r}function Wo({router:e,...t}){return(0,K.jsx)(Uo,{router:e,...t,children:(0,K.jsx)(Ro,{})})}function Go(e){let t=De();return Ae(t.stores.location,Ce(e,t))}function Ko(e,t){if(t)for(let[n,r]of Object.entries(t))n!==`suppressHydrationWarning`&&r!==void 0&&r!==!1&&e.setAttribute(n,typeof r==`boolean`?``:String(r))}function qo(e){let{attrs:t,children:n,nonce:r,preventScriptHoist:i}=e;switch(e.tag){case`title`:return(0,K.jsx)(`title`,{...t,suppressHydrationWarning:!0,children:n});case`meta`:return(0,K.jsx)(`meta`,{...t,suppressHydrationWarning:!0});case`link`:return(0,K.jsx)(`link`,{...t,precedence:t?.precedence??(t?.rel===`stylesheet`?`default`:void 0),nonce:r,suppressHydrationWarning:!0});case`style`:return e.inlineCss,(0,K.jsx)(`style`,{...t,dangerouslySetInnerHTML:{__html:n},nonce:r});case`script`:return(0,K.jsx)(Jo,{attrs:t,preventScriptHoist:i,children:n});default:return null}}function Jo({attrs:e,children:t,preventScriptHoist:n}){De();let r=ke(),i=typeof e?.type==`string`&&e.type!==``&&e.type!==`text/javascript`&&e.type!==`module`;if(G.useEffect(()=>{if(!i){if(e?.src){let t=(()=>{try{let t=document.baseURI||window.location.href;return new URL(e.src,t).href}catch{return e.src}})();for(let e of document.querySelectorAll(`script[src]`))if(e.src===t)return;let n=document.createElement(`script`);return Ko(n,e),document.head.appendChild(n),()=>n.remove()}if(typeof t==`string`){let n=typeof e?.type==`string`?e.type:`text/javascript`,r=typeof e?.nonce==`string`?e.nonce:void 0;for(let e of document.querySelectorAll(`script:not([src])`)){if(!(e instanceof HTMLScriptElement))continue;let i=e.getAttribute(`type`)??`text/javascript`,a=e.getAttribute(`nonce`)??void 0;if(e.textContent===t&&i===n&&a===r)return}let i=document.createElement(`script`);return i.textContent=t,Ko(i,e),document.head.appendChild(i),()=>i.remove()}}},[e,t,i]),i&&typeof t==`string`)return(0,K.jsx)(`script`,{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:t}});if(!r){if(e?.src)return(0,K.jsx)(`script`,{...e,suppressHydrationWarning:!0});if(typeof t==`string`)return(0,K.jsx)(`script`,{...e,dangerouslySetInnerHTML:{__html:t},suppressHydrationWarning:!0})}return null}function Yo(e,t,n,r){n=Sa(n);let i=n.map(e=>e.meta).filter(e=>e!==void 0),a=[],o={},s;for(let e=i.length-1;e>=0;e--){let n=i[e];for(let e=n.length-1;e>=0;e--){let r=n[e];if(r){if(r.title)s||={tag:`title`,children:r.title};else if(`script:ld+json`in r)try{let e=JSON.stringify(r[`script:ld+json`]);a.push({tag:`script`,attrs:{type:`application/ld+json`},children:T(e)})}catch{}else{let e=r.name??r.property;if(e){if(o[e])continue;o[e]=!0}a.push({tag:`meta`,attrs:{...r,nonce:t}})}}}}s&&a.push(s),t&&a.push({tag:`meta`,attrs:{property:`csp-nonce`,content:t}}),a.reverse();let c=n.flatMap(e=>e.links??[]).filter(e=>e!==void 0).map(e=>({tag:`link`,attrs:{...e,nonce:t}})),l=e.ssr?.manifest,u=[];l&&(n.forEach(e=>{(l.routes[e.routeId]?.css)?.forEach(e=>{let n=go(e);u.push({tag:`link`,attrs:{rel:`stylesheet`,...n,crossOrigin:uo(r,`stylesheet`)??n.crossOrigin,suppressHydrationWarning:!0,nonce:t}})})}),l.inlineStyle&&u.push({tag:`style`,attrs:{...l.inlineStyle.attrs,nonce:t},children:l.inlineStyle.children,inlineCss:!0}));let d=[];l&&n.forEach(e=>{l.routes[e.routeId]?.preloads?.forEach(e=>{d.push({tag:`link`,attrs:{...po(l,e,r),nonce:t}})})});let f=n.flatMap(e=>e.styles??[]).filter(e=>e!==void 0).map(({children:e,...n})=>({tag:`style`,attrs:{...n,nonce:t},children:e})),p=n.flatMap(e=>e.headScripts??[]).filter(e=>e!==void 0).map(({children:e,...n})=>({tag:`script`,attrs:{...n,nonce:t},children:e})),m=[];return ho(m,a),m.push(...d),ho(m,c),m.push(...u),ho(m,f),ho(m,p),m}var Xo=e=>{let t=De(),n=t.options.ssr?.nonce,r=G.useCallback(r=>Yo(t,n,r,e),[e,n,t]);return Ae(t.stores.matches,r,de)};function Zo(e){let t=Xo(e.assetCrossOrigin),n=De().options.ssr?.nonce;return(0,K.jsx)(K.Fragment,{children:t.map(e=>(0,G.createElement)(qo,{...e,key:`tsr-meta-${JSON.stringify(e)}`,nonce:n}))})}var Qo=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,O());else{var t=n(l);t!==null&&ee(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&&ee(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function ee(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,ee(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),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}}}})),$o=t(((e,t)=>{t.exports=Qo()})),es=t((e=>{var t=$o(),n=r(),i=Ne();function a(e){var t=`https://react.dev/errors/`+e;if(1P||(e.current=re[P],re[P]=null,P--)}function I(e,t){P++,re[P]=e.current,e.current=t}var ae=F(null),L=F(null),oe=F(null),se=F(null);function R(e,t){switch(I(oe,t),I(L,e),I(ae,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}}ie(ae),I(ae,e)}function ce(){ie(ae),ie(L),ie(oe)}function le(e){e.memoizedState!==null&&I(se,e);var t=ae.current,n=Hd(t,e.type);t!==n&&(I(L,e),I(ae,n))}function ue(e){L.current===e&&(ie(ae),ie(L)),se.current===e&&(ie(se),Qf._currentValue=N)}var de,fe;function pe(e){if(de===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);de=t&&t[1]||``,fe=-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,g as f,h as p,j as m,n as h,s as g,t as _,x as v,y}from"./QueryClientProvider.js";import{i as b}from"./useBaseQuery.js";import{n as x}from"./useMutation.js";import{t as S}from"./useQuery.js";import{t as C}from"./useSuspenseQuery.js";import{A as w,C as T,E,M as D,O,S as k,T as A,a as ee,b as te,d as ne,f as j,g as M,h as N,i as re,k as P,l as F,m as ie,n as I,o as ae,p as L,r as oe,s as se,t as R,u as ce,v as le,w as ue,x as de,y as fe}from"./link.js";import{a as pe,i as me,n as he,o as ge,r as _e,t as ve}from"./Match.js";import{n as ye,r as be}from"./matchContext.js";import{n as xe,t as Se}from"./redirect.js";import{a as Ce,i as we,n as z,r as Te,t as B}from"./lazyRouteComponent.js";import{a as Ee,i as De,r as Oe,s as ke,t as Ae}from"./useStore.js";import{t as je}from"./useNavigate.js";import{d as Me,f as Ne,n as Pe,o as Fe,t as Ie}from"./useValueAsRef.js";import{a as Le,f as Re,l as ze,n as Be,o as Ve,t as He,u as Ue}from"./dist.js";import{t as We}from"./useRender.js";import{Yt as V,a as Ge,en as Ke,i as qe,n as Je,rt as H}from"./cluster-config.js";import{t as Ye}from"./createLucideIcon.js";import{t as Xe}from"./back-link.js";import{t as Ze}from"./camera.js";import{t as Qe}from"./check.js";import{t as $e}from"./chevron-down.js";import{c as et,d as tt,i as nt,l as rt,n as it,s as at,t as ot,u as st}from"./select.js";import{t as ct}from"./download.js";import{a as lt,c as ut,i as dt,n as ft,o as pt,r as mt,s as ht,t as gt}from"./waypoints.js";import{n as _t,t as vt}from"./_id.js";import{n as yt,t as bt}from"./_clusterName.js";import{t as xt}from"./cli-command-panel.js";import{t as St}from"./triangle-alert.js";import{n as Ct,t as wt}from"./_id2.js";import{_ as Tt,b as Et,n as Dt,o as Ot,s as kt,t as At,y as jt}from"./button.js";import{C as Mt,b as Nt,f as Pt,g as Ft,h as It,i as Lt,m as Rt,s as zt,t as Bt,v as Vt,x as Ht,y as Ut}from"./createBaseUIEventDetails.js";import{A as Wt,B as Gt,E as Kt,F as qt,G as Jt,J as Yt,M as Xt,N as Zt,O as Qt,R as $t,S as en,U as tn,W as nn,Y as rn,b as an,bt as on,ct as sn,dt as cn,ft as ln,g as un,h as dn,k as fn,lt as pn,m as mn,nt as hn,ot as gn,p as _n,q as vn,vt as yn,w as bn,x as xn,y as Sn}from"./useScrollLock.js";import{t as Cn}from"./input.js";import{a as wn,n as Tn,o as En,r as Dn,t as On}from"./field.js";import{_ as kn,a as An,c as jn,d as Mn,f as Nn,g as Pn,h as Fn,i as In,l as Ln,m as Rn,o as zn,p as Bn,r as Vn,s as Hn,t as Un,u as Wn,v as Gn,y as Kn}from"./alert-dialog.js";import{t as qn}from"./awsClient.js";import{n as Jn,t as Yn}from"./admin-context.js";import{t as Xn}from"./acm.js";import{A as Zn,E as Qn,M as $n,O as er,S as tr,_ as nr,c as rr,d as ir,h as ar,l as or,m as sr,n as cr,o as lr,p as ur,r as dr,w as fr,y as pr}from"./ec2.js";import{f as mr,m as hr}from"./ec22.js";import{n as gr}from"./ecr.js";import{n as _r,o as vr}from"./ecs.js";import{c as yr}from"./eks2.js";import{a as br,o as xr,u as Sr}from"./elbv22.js";import{C as Cr,f as wr,l as Tr,p as Er,y as Dr}from"./iam2.js";import{a as Or,d as kr,h as Ar,o as jr,r as Mr}from"./rds3.js";import{n as Nr}from"./s32.js";import{t as Pr}from"./login.js";import{a as Fr,i as Ir,n as Lr,t as Rr}from"./zod.js";import{t as zr}from"./use-copy-to-clipboard.js";import{t as Br}from"./error-banner.js";import{t as Vr}from"./gpu-instance-type-select.js";import{t as Hr}from"./page-heading.js";import{n as Ur,r as Wr,t as Gr}from"./collapsible.js";import{b as Kr,i as qr,o as Jr,t as Yr}from"./ec23.js";import{t as Xr}from"./form-actions.js";import{t as Zr}from"./create-snapshot.js";import{t as Qr}from"./create-service.js";import{t as $r}from"./register-task-definition.js";import{t as ei}from"./run-task.js";import{t as ti}from"./_id3.js";import{t as ni}from"./_id4.js";import{t as ri}from"./_id5.js";import{t as ii}from"./_id6.js";import{t as ai}from"./_id7.js";import{t as oi}from"./_id8.js";import{t as si}from"./_id9.js";import{t as ci}from"./_id10.js";import{t as li}from"./_id11.js";import{t as ui}from"./_id12.js";import{t as di}from"./_id13.js";import{t as fi}from"./_id14.js";import{t as pi}from"./_id15.js";import{t as mi}from"./_id16.js";import{t as hi}from"./_id17.js";import{t as gi}from"./_id18.js";import{t as _i}from"./_clusterName2.js";import{t as vi}from"./_groupName.js";import{t as yi}from"./_instanceProfileName.js";import{t as bi}from"./_policyArn.js";import{t as xi}from"./_roleName.js";import{t as Si}from"./_userName.js";import{t as Ci}from"./_id19.js";import{t as wi}from"./_name.js";import{t as Ti}from"./_id20.js";import{t as Ei}from"./_id21.js";import{t as Di}from"./_name2.js";import{t as Oi}from"./_bucket.js";import{t as ki}from"./_.js";import{t as U}from"./_serviceName.js";import{t as Ai}from"./_taskId.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),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var ji=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 x({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=Mi(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=Mi(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=Mi(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}return!0}runNext(e){let t=Mi(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=>y(t,e))}findAll(e={}){return this.getAll().filter(t=>y(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(v))))}};function Mi(e){return e.options.scope?.id}var Ni=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 b({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()})})}},Pi=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new Ni,this.#t=e.mutationCache||new ji,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=m.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=g.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=p(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(v).catch(v)}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(v)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(v)}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(v).catch(v)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(v).catch(v)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return g.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(f(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(f(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 Fi(){try{return sessionStorage}catch{return}}var Ii=`tsr-scroll-restoration-v1_3`,Li=Fi();function Ri(){try{return JSON.parse(Li?.getItem(`tsr-scroll-restoration-v1_3`)||`{}`)}catch{return{}}}function zi(){try{Li?.setItem(Ii,JSON.stringify(Bi))}catch{}}var Bi=Ri(),Vi=`data-scroll-restoration-id`,Hi=e=>e.state.__TSR_key||e.href;function Ui(e){let t=e.getAttribute(Vi);if(t)return`[${Vi}="${t}"]`;let n=``,r=e,i;for(;i=r.parentNode;){let e=1,t=r;for(;t=t.previousElementSibling;)e++;let a=`${r.localName}:nth-child(${e})`;n=n?`${a} > ${n}`:a,r=i}return n}var Wi=!1,Gi=`window`;function Ki(e){try{return typeof e==`function`?e():document.querySelector(e)}catch{}}function qi(e){let t=new Set;for(let n of e){if(n===Gi)continue;let e=Ki(n);e&&t.add(e)}return t}function Ji(e,t){let n=t??e.options.scrollRestoration,r=e._scroll;n&&(r.restoring=!0);let i=e.options.getScrollRestorationKey||Hi,a=new Set,o=e=>{let t=Bi[e]||={};for(let e of a)e===document?t[Gi]={scrollX,scrollY}:e.isConnected&&(t[Ui(e)]={scrollX:e.scrollLeft,scrollY:e.scrollTop})};n&&!r.restoration&&(r.restoration=!0,Wi=!1,history.scrollRestoration=`manual`,document.addEventListener(`scroll`,e=>{Wi||a.add(e.target)},!0),e.subscribe(`onBeforeLoad`,e=>{e.fromLocation&&o(i(e.fromLocation)),a.clear()}),addEventListener(`pagehide`,()=>{o(i(e.stores.resolvedLocation.get()??e.stores.location.get())),zi()})),!r.reset&&(r.reset=!0,e.subscribe(`onRendered`,t=>{let n=e.options.scrollRestorationBehavior,o=e.options.scrollToTopSelectors,s=r.next,c=r.hash,l;if(a.clear(),r.next=!0,r.hash=!1,typeof e.options.scrollRestoration==`function`&&!e.options.scrollRestoration({location:e.latestLocation}))return;let u=i(t.toLocation),d=t.fromLocation&&i(t.fromLocation);if(r.restoring&&d&&d!==u){let e=Bi[d];if(e){let t=Bi[u];for(let n in e){if(n===Gi){if(s)continue}else{let e=Ki(n);if(!e||s&&o&&(l??=qi(o),l.has(e)))continue}t||=Bi[u]={},t[n]??=e[n]}}}Wi=!0;try{let e=t.toLocation.hash,i=t.toLocation.state.__hashScrollIntoViewOptions??!0,a=!1;if(s){!e&&o&&(l??=qi(o));let t=e&&i&&c,s=r.restoring?Bi[u]:void 0;if(s)for(let e in s){let{scrollX:r,scrollY:i}=s[e];if(e===Gi){if(t)continue;scrollTo({top:i,left:r,behavior:n}),a=!0}else{let t=Ki(e);t&&(t.scrollLeft=r,t.scrollTop=i,l?.delete(t))}}if(!e){let e={top:0,left:0,behavior:n};if(a||scrollTo(e),l)for(let t of l)t.scrollTo(e)}}!a&&e&&i&&document.getElementById(e)?.scrollIntoView(i)}finally{Wi=!1}}))}function Yi(e,t=String){let n=new URLSearchParams;for(let r in e){let i=e[r];i!==void 0&&n.set(r,t(i))}return n.toString()}function Xi(e){return e?e===`false`?!1:e===`true`?!0:e*0==0&&+e+``===e?+e:e:``}function Zi(e){let t=new URLSearchParams(e),n=Object.create(null);for(let[e,r]of t.entries()){let t=n[e];t==null?n[e]=Xi(r):Array.isArray(t)?t.push(Xi(r)):n[e]=[t,Xi(r)]}return n}var Qi=/^(?:\s|["[{\d-]|fa|nu|tr)/,$i=ta(JSON.parse),ea=na(JSON.stringify,JSON.parse);function ta(e){return t=>{t[0]===`?`&&(t=t.substring(1));let n=Zi(t);for(let t in n){let r=n[t];if(typeof r==`string`)try{n[t]=e(r)}catch{}}return n}}function na(e,t){let n=t===JSON.parse;function r(r){if(r&&typeof r==`object`)try{return e(r)}catch{}else if(t&&typeof r==`string`){if(n&&!Qi.test(r))return r;try{return t(r),e(r)}catch{}}return r}return e=>{let t=Yi(e,r);return t?`?${t}`:``}}function ra(e){return{input:({url:t})=>{for(let n of e)t=aa(n,t);return t},output:({url:t})=>{for(let n=e.length-1;n>=0;n--)t=oa(e[n],t);return t}}}function ia(e){let t=se(e.basepath),n=`/${t}`,r=e.caseSensitive?n:n.toLowerCase(),i=`${r}/`;return{input:({url:t})=>{let a=e.caseSensitive?t.pathname:t.pathname.toLowerCase();return a===r?t.pathname=`/`:a.startsWith(i)&&(t.pathname=t.pathname.slice(n.length)),t},output:({url:e})=>(e.pathname=ee([`/`,t,e.pathname]),e)}}function aa(e,t){let n=e?.input?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function oa(e,t){let n=e?.output?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function sa(e,t){let{createMutableStore:n,createReadonlyStore:r,batch:i}=t,a=new Map,o=n(`idle`),s=n(e),c=n(void 0),l=n([]),u=r(()=>l.get().map(e=>a.get(e).get())),d=r(()=>({status:o.get(),isLoading:o.get()===`pending`,matches:u.get(),location:s.get(),resolvedLocation:c.get()}));function f(e){let t=a.get(e);return t||(t=n(void 0),a.set(e,t)),t}let p={status:o,location:s,resolvedLocation:c,ids:l,matches:u,byRoute:a,__store:d,getMatchStore:f,setMatches:m};function m(e){let t=l.get(),n=e.map(e=>e.routeId);i(()=>{fe(t,n)||l.set(n);for(let e of t)n.includes(e)||a.get(e).set(()=>void 0);for(let t of e){let e=f(t.routeId);e.get()!==t&&e.set(t)}})}return p}var ca=`__TSR_index`,la=`popstate`,ua=`beforeunload`;function da(e){let t=e.getLocation(),n=new Set,r=r=>{t=e.getLocation(),n.forEach(e=>e({location:t,action:r}))},i=n=>{e.notifyOnIndexChange??!0?r(n):t=e.getLocation()},a=async({task:n,navigateOpts:r,...i})=>{if(r?.ignoreBlocker??!1){n();return}let a=e.getBlockers?.()??[],o=i.type===`PUSH`||i.type===`REPLACE`;if(typeof document<`u`&&a.length&&o)for(let n of a){let r=ha(i.path,i.state);if(await n.blockerFn({currentLocation:t,nextLocation:r,action:i.type})){e.onBlocked?.();return}}n()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:e=>(n.add(e),()=>{n.delete(e)}),push:(n,i,o)=>{let s=t.state[ca];i=fa(s+1,i),a({task:()=>{e.pushState(n,i),r({type:`PUSH`})},navigateOpts:o,type:`PUSH`,path:n,state:i})},replace:(n,i,o)=>{let s=t.state[ca];i=fa(s,i),a({task:()=>{e.replaceState(n,i),r({type:`REPLACE`})},navigateOpts:o,type:`REPLACE`,path:n,state:i})},go:(t,n)=>{a({task:()=>{e.go(t),i({type:`GO`,index:t})},navigateOpts:n,type:`GO`})},back:t=>{a({task:()=>{e.back(t?.ignoreBlocker??!1),i({type:`BACK`})},navigateOpts:t,type:`BACK`})},forward:t=>{a({task:()=>{e.forward(t?.ignoreBlocker??!1),i({type:`FORWARD`})},navigateOpts:t,type:`FORWARD`})},canGoBack:()=>t.state[ca]!==0,createHref:t=>e.createHref(t),block:t=>{if(!e.setBlockers)return()=>{};let n=e.getBlockers?.()??[];return e.setBlockers([...n,t]),()=>{let n=e.getBlockers?.()??[];e.setBlockers?.(n.filter(e=>e!==t))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r}}function fa(e,t){t||={};let n=ga();return{...t,key:n,__TSR_key:n,[ca]:e}}function pa(e){let t=e?.window??(typeof document<`u`?window:void 0),n=t.history.pushState,r=t.history.replaceState,i=[],a=()=>i,o=e=>i=e,s=e?.createHref??(e=>e),c=e?.parseLocation??(()=>ha(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){let e=ga();t.history.replaceState({[ca]:0,key:e,__TSR_key:e},``)}let l=c(),u,d=!1,f=!1,p=!1,m=!1,h=()=>l,g,_=()=>{g&&(S._ignoreSubscribers=!0,(g[2]?t.history.pushState:t.history.replaceState)(g[1],``,g[0]),S._ignoreSubscribers=!1,g=void 0,u=void 0)},v=(e,t,n)=>{let r=s(t),i=!!g;i||(u=l),l=ha(t,n),g=[r,n,g?.[2]||e],i||queueMicrotask(()=>_())},y=e=>{l=c(),S.notify({type:e})},b=async()=>{if(f){f=!1;return}let e=c(),n=e.state[ca]-l.state[ca],r=n===1,i=n===-1,o=!r&&!i||d;d=!1;let s=o?`GO`:i?`BACK`:`FORWARD`,u=o?{type:`GO`,index:n}:{type:i?`BACK`:`FORWARD`};if(p)p=!1;else{let n=a();if(typeof document<`u`&&n.length){for(let r of n)if(await r.blockerFn({currentLocation:l,nextLocation:e,action:s})){f=!0,t.history.go(1),S.notify(u);return}}}l=c(),S.notify(u)},x=e=>{if(m){m=!1;return}let t=!1,n=a();if(typeof document<`u`&&n.length)for(let e of n){let n=e.enableBeforeUnload??!0;if(n===!0){t=!0;break}if(typeof n==`function`&&n()===!0){t=!0;break}}if(t)return e.preventDefault(),e.returnValue=``},S=da({getLocation:h,getLength:()=>t.history.length,pushState:(e,t)=>v(!0,e,t),replaceState:(e,t)=>v(!1,e,t),back:e=>(e&&(p=!0),m=!0,t.history.back()),forward:e=>{e&&(p=!0),m=!0,t.history.forward()},go:e=>{d=!0,t.history.go(e)},createHref:e=>s(e),flush:_,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(ua,x,{capture:!0}),t.removeEventListener(la,b)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:a,setBlockers:o,notifyOnIndexChange:!1});return t.addEventListener(ua,x,{capture:!0}),t.addEventListener(la,b),t.history.pushState=function(...e){let r=n.apply(t.history,e);return S._ignoreSubscribers||y(`PUSH`),r},t.history.replaceState=function(...e){let n=r.apply(t.history,e);return S._ignoreSubscribers||y(`REPLACE`),n},S}function ma(e){let t=e.replace(/[\x00-\x1f\x7f]/g,``);return t.startsWith(`//`)&&(t=`/`+t.replace(/^\/+/,``)),t}function ha(e,t){let n=ma(e),r=n.indexOf(`#`),i=n.indexOf(`?`),a=ga();return{href:n,pathname:n.substring(0,r>0?i>0?Math.min(r,i):r:i>0?i:n.length),hash:r>-1?n.substring(r):``,search:i>-1?n.slice(i,r===-1?void 0:r):``,state:t||{[ca]:0,key:a,__TSR_key:a}}}function ga(){return(Math.random()+1).toString(36).substring(7)}function _a(e){return e.options.loader||e.options.beforeLoad||e.lazyFn||e.options.component?.preload||e.options.pendingComponent?.preload}function va(e,t){return{fromLocation:t,toLocation:e,pathChanged:t?.pathname!==e.pathname,hrefChanged:t?.href!==e.href,hashChanged:t?.hash!==e.hash}}function ya({key:e,__TSR_key:t,__TSR_index:n,__hashScrollIntoViewOptions:r,...i}){return i}function ba(e,t,n,r){for(let i of t){if(r?.()===!1)return;n.some(e=>e.routeId===i.routeId)||e.routesById[i.routeId].options.onLeave?.(i)}for(let i of n){if(r?.()===!1)return;e.routesById[i.routeId].options[t.some(e=>e.routeId===i.routeId)?`onStay`:`onEnter`]?.(i)}}var xa=class{constructor(e,t){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this._scroll={next:!0},this.subscribers=new Set,this._cache=new Map,this._committed=[],this.routeBranchCache=new WeakMap,this.lightweightCache=new WeakMap,this.startTransition=async e=>(e(),!1),this.update=e=>{let t=this.options,n=this.basepath??t?.basepath??`/`,r=this.basepath===void 0,i=t?.rewrite;if(this.options={...t,...e},this.isServer=this.options.isServer??!1??typeof document>`u`,this.protocolAllowlist=new Set(this.options.protocolAllowlist),this.options.pathParamsAllowedCharacters&&(this.pathParamsDecoder=oe(this.options.pathParamsAllowedCharacters)),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.history=this.options.history?this.options.history:pa()),this.origin=this.options.origin,this.origin||=window?.origin&&window.origin!==`null`?window.origin:`http://localhost`,this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let e;this.resolvePathCache=M(1e3),e=this.buildRouteTree(),this.setRoutes(e)}if(!this.stores&&this.latestLocation){let e=this.getStoreConfig(this);this.batch=e.batch,this.stores=sa(this.latestLocation,e),Ji(this)}let a=this.options.basepath??`/`,o=this.options.rewrite;if(r||n!==a||i!==o){this.basepath=a;let e=[],t=se(a);t&&t!==`/`&&e.push(ia({basepath:a})),o&&e.push(o),this.rewrite=e.length===0?void 0:e.length===1?e[0]:ra(e),this.history&&this.updateLatestLocation(),this.stores&&this.stores.location.set(this.latestLocation)}},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{let e=N(this.routeTree,this.options.caseSensitive,(e,t)=>{e.init({originalIndex:t})});return this.options.routeMasks&&ie(this.options.routeMasks,e.processedTree),e},this.subscribe=(e,t)=>{let n={eventType:e,fn:t};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=e=>{for(let t of this.subscribers)if(t.eventType===e.type)try{t.fn(e)}catch(e){console.error(e)}},this.parseLocation=(e,t)=>{let n=({pathname:e,search:n,hash:r,href:i,state:a})=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(e)){let i=this.options.parseSearch(n),o=this.options.stringifySearch(i);return{href:e+o+r,publicHref:e+o+r,pathname:te(e).path,external:!1,searchStr:o,search:P(t?.search,i),hash:te(r.slice(1)).path,state:w(t?.state,a)}}let o=new URL(i,this.origin),s=aa(this.rewrite,o),c=this.options.parseSearch(s.search),l=this.options.stringifySearch(c);return s.search=l,{href:s.href.replace(s.origin,``),publicHref:i,pathname:te(s.pathname).path,external:!!this.rewrite&&s.origin!==this.origin,searchStr:l,search:P(t?.search,c),hash:te(s.hash.slice(1)).path,state:w(t?.state,a)}},r=n(e),{__tempLocation:i,__tempKey:a}=r.state;if(i&&(!a||a===this.tempLocationKey)){let e=n(i);return e.state.key=r.state.key,e.state.__TSR_key=r.state.__TSR_key,delete e.state.__tempLocation,{...e,maskedLocation:r}}return r},this.resolvePathWithBase=(e,t)=>ae({base:e,to:t.includes(`//`)?I(t):t,trailingSlash:this.options.trailingSlash,cache:this.resolvePathCache}),this.matchRoutes=(e,t,n)=>typeof e==`string`?this.matchRoutesInternal({pathname:e,search:t},n):this.matchRoutesInternal(e,t),this.getMatchedRoutes=e=>{let t=Object.create(null),n=j(F(e),this.processedTree,!0);return n&&Object.assign(t,n.rawParams),[n?.branch||[this.routesById.__root__],t,n?.route]},this.buildLocation=e=>{let t=(t={})=>{let n=t._fromLocation||this._pendingLocation||this.latestLocation,r=this.matchRoutesLightweight(n);t.from;let i=t.unsafeRelative===`path`?n.pathname:t.from??r[1],a=t.to?`${t.to}`:void 0,o=r[2],s=Object.assign(Object.create(null),r[3]),c=a?.charCodeAt(0)===47?`/`:this.resolvePathWithBase(i,`.`),l=a?this.resolvePathWithBase(c,a):c,u=Da(t.params,s),d=this.routesByPath[F(l)],f;if(d)f=this.getRouteBranch(d);else if(l.includes(`$`))f=[];else{let[e,t,n]=this.getMatchedRoutes(l);f=e,this.options.notFoundRoute&&(!n||n.path!==`/`&&t[`**`])&&(f=[...f,this.options.notFoundRoute])}if(f.length&&A(u))for(let e of f){let t=e.options.params?.stringify??e.options.stringifyParams;if(t)try{Object.assign(u,t(u))}catch{}}let p=e.leaveParams?l:te(re({path:l,params:u,decoder:this.pathParamsDecoder,server:this.isServer}).interpolatedPath).path,m=o;if(e._includeValidateSearch&&this.options.search?.strict){let e={};f.forEach(t=>{if(t.options.validateSearch)try{Object.assign(e,wa(t.options.validateSearch,{...e,...m}))}catch{}}),m=e}m=Ta(m,t,f,e._includeValidateSearch),m=P(o,m);let h=this.options.stringifySearch(m),g=t.hash===!0?n.hash:t.hash?ue(t.hash,n.hash):void 0,_=g?`#${g}`:``,v=t.state===!0?n.state:t.state?ue(t.state,n.state):{};v=w(n.state,v);let y=`${p}${h}${_}`,b,x,S=!1;if(this.rewrite){let e=new URL(y,this.origin),t=oa(this.rewrite,e);b=e.href.replace(e.origin,``),t.origin===this.origin?x=t.pathname+t.search+t.hash:(x=t.href,S=!0)}else b=k(y),x=b;return{publicHref:x,href:b,pathname:p,search:m,searchStr:h,state:v,hash:g??``,external:S,unmaskOnReload:t.unmaskOnReload}},n=(n={},r)=>{let i=t(n),a=r?t(r):void 0;if(!a){let n=Object.create(null);if(this.options.routeMasks){let o=ne(i.pathname,this.processedTree);if(o){Object.assign(n,o.rawParams);let{from:i,params:s,...c}=o.route,l=Da(s,n);r={from:e.from,...c,params:l},a=t(r)}}}return a&&(i.maskedLocation=a),i};return e.mask?n(e,{from:e.from,...e.mask}):n(e)},this.commitLocation=async({viewTransition:e,ignoreBlocker:t,...n})=>{let r,i=F(this.latestLocation.href)===F(n.href)&&de(ya(n.state),ya(this.latestLocation.state)),a=this._commitPromise,o,s=new Promise(e=>{o=e});if(s.resolve=()=>{o(),a?.resolve()},this._commitPromise=s,i)this.load();else{let{maskedLocation:i,hashScrollIntoView:a,...o}=n;i&&(o={...i,state:{...i.state,__tempKey:void 0,__tempLocation:{...o,search:o.searchStr,state:{...o.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(o.unmaskOnReload??this.options.unmaskOnReload??!1)&&(o.state.__tempKey=this.tempLocationKey)),o.state.__hashScrollIntoViewOptions=a??this.options.defaultHashScrollIntoView??!0,this.shouldViewTransition=e,r=n.replace?`REPLACE`:`PUSH`,this.history[r===`REPLACE`?`replace`:`push`](o.publicHref,o.state,{ignoreBlocker:t}),this.history.subscribers.size||this.load({action:{type:r}})}return this._scroll.next=n.resetScroll??!0,this._commitPromise},this.buildAndCommitLocation=({replace:e,resetScroll:t,hashScrollIntoView:n,viewTransition:r,ignoreBlocker:i,_redirects:a,href:o,...s}={})=>{if(o){let t=this.history.location.state.__TSR_index,n=ha(o,{__TSR_index:e?t:t+1}),r=new URL(n.pathname,this.origin);s.to=aa(this.rewrite,r).pathname,s.search=this.options.parseSearch(n.search),s.hash=n.hash.slice(1)}let c=this.buildLocation({...s,_includeValidateSearch:!0});a&&(c._redirects=a),this._pendingLocation=c;let l=this.commitLocation({...c,viewTransition:r,replace:e,resetScroll:t,hashScrollIntoView:n,ignoreBlocker:i});return queueMicrotask(()=>{this._pendingLocation===c&&(this._pendingLocation=void 0)}),l},this.navigate=async({to:e,reloadDocument:t,href:n,publicHref:r,...i})=>{let a=!1;if(n)try{new URL(`${n}`),a=!0}catch{}if(a&&!t&&(t=!0),t){if(e!==void 0||!n){let t=this.buildLocation({to:e,...i});n??=t.publicHref,r??=t.publicHref}let t=!a&&r?r:n;if(E(t,this.protocolAllowlist))return;if(!i.ignoreBlocker){let e=this.history.getBlockers?.()??[];for(let t of e)if(t?.blockerFn&&await t.blockerFn({currentLocation:this.latestLocation,nextLocation:this.latestLocation,action:`PUSH`}))return}i.replace?window.location.replace(t):window.location.href=t;return}return this.buildAndCommitLocation({...i,href:n,to:e,_isNavigate:!0})},this.load=async e=>{this.updateLatestLocation(),e?.action&&(this._scroll.hash=e.action.type===`PUSH`||e.action.type===`REPLACE`),await bo(this,e)},this.startViewTransition=e=>{let t=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,t&&typeof document.startViewTransition==`function`){let n;if(typeof t==`object`&&window.CSS?.supports?.(`selector(:active-view-transition-type(a))`)){let r=this.latestLocation,i=this.stores.resolvedLocation.get(),a=typeof t.types==`function`?t.types(va(r,i)):t.types;if(a===!1)return e();n={update:e,types:a}}else n=e;return document.startViewTransition(n).updateCallbackDone}return e()},this.invalidate=e=>{let t=this._committed,n=e?.filter,r=this._preloads,i=new Set([...t,...this._cache.values(),...[...r?.values()??[]].flat(),...this._tx?.[3]??[]].filter(e=>!n||n(e)).map(e=>e.id)),a=[];for(let[e,t]of r??[])t.some(e=>i.has(e.id))&&(r.delete(e),a.push(e));let o=t=>{if(i.has(t.id)){let n=this.routesById[t.routeId],r={...t,invalid:!0,...(e?.forcePending||t.status===`error`||t.status===`notFound`)&&_a(n)?{status:`pending`,error:void 0}:void 0};return t._flight=void 0,r}return t};this._committed=t.map(o);for(let[t,n]of this._cache)i.has(t)&&(n.invalid=!0,e?.forcePending&&(n.status=`pending`));for(let e of i)this._flights?.delete(e);for(let e of a)e.abort();return this.shouldViewTransition=!1,this.load({sync:e?.sync})},this.resolveRedirect=e=>{let t=e.headers.get(`Location`);if(!e.options.href||e.options._builtLocation){let t=(e.options._builtLocation??this.buildLocation(e.options)).publicHref||`/`;e.options.href=t,e.headers.set(`Location`,t)}else if(t)try{let n=new URL(t);if(this.origin&&n.origin===this.origin){let t=n.pathname+n.search+n.hash;e.options.href=t,e.headers.set(`Location`,t)}}catch{}if(e.options.href&&!e.options._builtLocation&&E(e.options.href,this.protocolAllowlist))throw Error(`Redirect blocked: unsafe protocol`);return e.headers.get(`Location`)||e.headers.set(`Location`,e.options.href),e},this.clearCache=e=>{let t=this._cache,n=this._preloads,r=e?.filter,i=[],a=[];for(let[e,n]of t)(!r||r(n))&&(a.push(e),i.push(n));let o=[];for(let[e,t]of n??[])(!r||t.some(r))&&(o.push(e),i.push(...t));for(let e of a)t.delete(e);for(let e of o)n.delete(e);for(let e of i){let t=e._flight;e._flight=void 0,t&&!--t[2]&&(this._flights?.get(e.id)===t&&this._flights.delete(e.id),o.push(t[1]))}for(let e of o)e.abort()},this.loadRouteChunk=ja,this.preloadRoute=e=>xo(this,e),this.matchRoute=(e,t)=>{let n={...e,to:e.to?this.resolvePathWithBase(e.from||``,e.to):void 0,params:e.params||{},leaveParams:!0},r=this.buildLocation(n),i=this.stores.status.get()===`pending`;if(t?.pending&&!i)return!1;let a=t?.pending??!i?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),o=L(r.pathname,t?.caseSensitive??!1,t?.fuzzy??!1,a.pathname,this.processedTree);return!o||e.params&&!de(o.rawParams,e.params,{partial:!0})?!1:t?.includeSearch??!0?de(a.search,r.search,{partial:!0})?o.rawParams:!1:o.rawParams},this.getStoreConfig=t,this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...e,caseSensitive:e.caseSensitive??!1,notFoundMode:e.notFoundMode??`fuzzy`,stringifySearch:e.stringifySearch??ea,parseSearch:e.parseSearch??$i,protocolAllowlist:e.protocolAllowlist??le}),self.__TSR_ROUTER__=this}isShell(){return!!this.options.isShell}get state(){return this.stores.__store.get()}setRoutes({routesById:e,routesByPath:t,processedTree:n}){this.routesById=e,this.routesByPath=t,this.processedTree=n;let r=this.options.notFoundRoute;r&&(r.init({originalIndex:99999999999}),this.routesById[r.id]=r)}getRouteBranch(e){let t=this.routeBranchCache.get(e);return t||(t=ce(e),this.routeBranchCache.set(e,t)),t}matchRoutesInternal(e,t){let[n,r,i]=this.getMatchedRoutes(e.pathname),a=n,o=!1;(i?i.path!==`/`&&r[`**`]:F(e.pathname))&&(this.options.notFoundRoute?a=[...a,this.options.notFoundRoute]:o=!0);let s=o?Ea(this.options.notFoundMode,a):void 0,c=Array(a.length),l=this._committed,u=(e,t)=>{let n=l[t];return n?.routeId===e.id?n:e===this.options.notFoundRoute?l.find(t=>t.routeId===e.id):void 0},d;for(let n=0;n{let r=n(t.preSearchFilters?t.preSearchFilters.reduce((e,t)=>t(e),e):e);return t.postSearchFilters?t.postSearchFilters.reduce((e,t)=>t(e),r):r});let n=t.validateSearch;n&&i.push(({search:e,next:t,meta:i})=>{let a=t(e);if(r)try{let e=wa(n,a);if(i&&e)for(let t in e)t in a||(i.defaulted||=new Map).set(t,e[t]);return{...a,...e}}catch{}return a})}let a=(e,n,r)=>{if(e>=i.length){if(!t.search)return{};if(t.search===!0)return n;let e=ue(t.search,n);return r&&(r.explicit=e),e}return i[e]({search:n,next:(t,n)=>{if(n){let n=r||{};return{search:a(e+1,t,n),meta:n}}return a(e+1,t,r)},meta:r})};return a(0,e)}function Ea(e,t){if(e!==`root`){let e;for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.options.notFoundComponent)return r.id;e||=r.children&&r.id}if(e)return e}return be}function Da(e,t){return e===!1||e===null?Object.create(null):(e??!0)===!0?t:Object.assign(t,ue(e,t))}function Oa(e,t){let n=e.options.params?.parse??e.options.parseParams;n&&Object.assign(t,n(t))}function ka(e,t){return e.options[t]?.preload?.()}function Aa(e,t){let n=ka(e,`component`),r=ka(e,`pendingComponent`),i=t&&r?r.then(t):r;return t&&!r&&t(),n&&i?Promise.all([n,i]).then(()=>{}):n??i}function ja(e,t,n){let r=()=>t===!1?void 0:t?ka(e,t):Aa(e,n),i=e._lazy;if(i)return i===!0?r():i.then(r);if(!e.lazyFn)return r();let a=e.lazyFn().then(t=>{{let{id:n,...r}=t.options;Object.assign(e.options,r),e._lazy=!0}},t=>{throw e._lazy=void 0,t});return e._lazy=a,a.then(r)}function Ma(e){let t=e.findIndex(e=>e.status!==`success`||e._notFound)+1;return t&&t{let i=()=>r(t);t.addEventListener(`abort`,i,{once:!0}),Promise.resolve(e).then(n,r).finally(()=>t.removeEventListener(`abort`,i))})}function Va(e,t){return e.routesById[t.routeId]}function Ha(e,t,n){return Se(e)?[La,e]:ge(e)?(e.routeId||=n,[Ia,e]):(t&&typeof e?.then==`function`&&(e=Error(`A Promise was thrown`,{cause:e})),t?[Fa,e]:[Pa,e])}function Ua(e,t){let n=Ha(t,!0,e.id);if(n[0]!==Fa)return n;try{e.options.onError?.(n[1])}catch(t){n=Ha(t,!0,e.id)}return n}function Wa(e,t,n){return n[0].signal.aborted||!n[2]()?(n[0].abort(),[Ra]):Ua(e,t)}function Ga(e,t){return n=>e.navigate({...n,_fromLocation:t})}async function Ka(e,t,n,r,i,a){let[o,s]=t,c=n[0].signal,l=!!n[4];for(let t=n[7]??0;t=a&&(r.status=`pending`),n[8]?.();try{Za(e,r,`beforeLoad`,n[0]);let a=await Ba(m(h),c);if(!n[2]())return n[0].abort(),[t,[Ra]];let o=Ha(a,!1,i.id);if(o[0]!==Pa)return Ja(e,r),[t,o];r.context={...f,...a}}catch(a){return Ja(e,r),[t,Wa(i,a,n)]}finally{g===`success`&&r.status===`pending`&&(r.status=`success`),Za(e,r,!1,n[0])}}i()}function qa(e,t,n){if(!(!n||--n[2])){if(e._flights?.get(t.id)===n){let n=e._tx;if(n&&!n[0].signal.aborted&&!n[3].includes(t)&&n[3].some(e=>e.id===t.id)&&n[3].some(e=>e.isFetching===`beforeLoad`))return;e._flights.delete(t.id)}return n[1]}}function Ja(e,t){let n=t._flight;t._flight=void 0,qa(e,t,n)?.abort()}function Ya(e,t,n,r){let i=[];for(let a of t)if(!n?.includes(a)){let t=a._flight;if(a._flight=void 0,r&&t?.[2]===1&&e._flights?.get(a.id)===t&&n?.some(e=>e.id===a.id))t[2]=0;else{let n=qa(e,a,t);n&&i.push(n)}}for(let e of i)e.abort()}function Xa(e){for(let t of e){let e=t._flight;e&&e[2]++}}function Za(e,t,n,r){if(t.isFetching=n,r&&e._tx?.[0]!==r)return;let i=e.stores.byRoute.get(t.routeId),a=i?.get();a?.id===t.id&&i.set({...a,isFetching:n})}function Qa(e,t,n,r,i,a,o){let s=t[0];return{params:n.params,location:s,navigate:Ga(e,s),cause:o?`preload`:n.cause,abortController:i,preload:o,deps:n.loaderDeps,parentMatchPromise:a,context:n.context,route:r,...e.options.additionalContext}}async function $a(e,t,n,r,i,a,o,s){let c=s.signal;if(c.aborted)return[Ra];if(!i)return[Pa,void 0];let l=n._flight;Za(e,n,`loader`,s);try{if(!l){let s=new AbortController;l=[Promise.resolve().then(()=>i(Qa(e,t,n,r,s,a,o))).then(e=>Ha(e,!1,r.id),e=>Ha(e,!0,r.id)).then(t=>(t[0]!==Pa&&e._flights?.get(n.id)===l&&(e._flights.delete(n.id),l[2]||s.abort()),t[0]===Fa&&l[2]?Ua(r,t[1]):t)),s,1],(e._flights??=new Map).set(n.id,l)}return n._flight=l,n.abortController=l[1],await Ba(l[0],c)}catch(t){if(t!==c)throw t;return Ja(e,n),[Ra]}finally{Za(e,n,!1,s)}}function eo(e,t,n){t[0]===Pa?(e.loaderData=t[1],e.error=void 0,e.status=`success`,e.invalid=!1,e.updatedAt=Date.now(),e.preload=n):t[0]!==La&&(e.status=`success`,e.error=void 0,e.invalid=!0)}function to(e,t,n){let r=e._cache.get(t.id);if(r!==n||e._committed.some(e=>e.id===t.id&&e._flight===t._flight))return;let i={...t,_notFound:void 0,context:{}};i._flight&&i._flight[2]++,e._cache.set(t.id,i),r&&Ja(e,r)}function no(e,t){return t[0]===Fa||t[0]===Ia?{...e,status:t[0]===Fa?`error`:`notFound`,error:t[1],_flight:void 0}:e}function ro(e,t,n,r,i,a,o){let s=t[1][n],c=Va(e,s),l=!!a[4],u=e._cache.get(s.id),d,f=!1,p;try{if(s.status===`success`&&(d=c.options.shouldReload,typeof d==`function`&&(d=d(Qa(e,t,s,c,a[0],i,l))),a[2]()||(a[0].abort(),p=[Ra])),!p){if(s.status!==`success`)f=!0;else{let t=a[4]||s.preload?c.options.preloadStaleTime??e.options.defaultPreloadStaleTime??3e4:c.options.staleTime??e.options.defaultStaleTime??0;f=!!(s.invalid||d||d===void 0&&Date.now()-s.updatedAt>=t&&(a[6]||s.cause===`enter`||a[3].some(e=>e.routeId===s.routeId&&e.id!==s.id)))}}}catch(t){s.invalid=!0,Ja(e,s),p=Wa(c,t,a)}let m=c.options.loader,h=typeof m==`function`?m:m?.handler,g=(!l||c.options.preload!==!1)&&m?e._flights?.get(s.id):void 0;g===s._flight||p?g=void 0:g&&!f&&!l&&d===void 0?f=!0:f||(g=void 0);let _=!!(m&&f&&s.status===`success`&&!l&&!a[5]&&((typeof m==`function`?void 0:m?.staleReloadMode)??e.options.defaultStaleReloadMode)!==`blocking`),v=f&&(!l||c.options.preload!==!1),y=v&&!_&&(s.status!==`success`||!!m),b=c.lazyFn&&c._lazy!==!0?a[8]:void 0;if(v&&!m&&(s.invalid=!1,s.updatedAt=Date.now()),g&&g[2]++,y){let t=s._flight;s._flight=g,qa(e,s,t)?.abort(),s.status===`success`&&n>=o&&(s.status=`pending`),a[8]?.()}v||(s.isFetching=!1);let x=(p?Promise.resolve(p):y?$a(e,t,s,c,h,i,l,a[0]):Promise.resolve([Pa,s.loaderData])).then(t=>(y&&(eo(s,t,l),t[0]===Pa&&(m&&!a[0].signal.aborted&&to(e,s,u),s.status=`pending`)),t)),S=Ba(Promise.resolve().then(()=>ja(c,void 0,b)),a[0].signal).then(()=>void 0,e=>[n,Wa(c,e,a)]).then(e=>x.then(t=>(y&&!e&&t[0]===Pa&&s.status===`pending`&&a[2]()&&(s.status=`success`,a[8]?.()),e)));if(r.push([n,x,S]),!_)return x.then(e=>no(s,e));let C={...s,status:`pending`,preload:!1,_flight:g};s.invalid=!1,s.isFetching=`loader`;let w=$a(e,t,C,c,h,i,!1,a[0]).then(e=>(s.isFetching=!1,eo(C,e,!1),e));return(t[2]??=[]).push([n,w,S,C]),w.then(e=>no(C,e))}async function io(e,t,n,r,i=0){let a=n?.[1][1],o=a?.routeId?t.findIndex(e=>e.routeId===a.routeId):n?.[0]??t.length-1;o<0&&(o=0);for(let n=o;n>=0;n--){let i=Va(e,t[n]),a=ja(i,!1);if(a)try{await Ba(a,r)}catch(e){if(e===r)throw e}if(i.options.notFoundComponent)return n}return a?.routeId?o:i}function ao(e,t){t[2]&&=(Ya(e,t[2].map(e=>e[3])),void 0)}async function oo(e,t,n,r){let i;try{await Promise.all(e.map(e=>e[1].then(async t=>{let a=e[0];if(!(r&&a>=await r)){if(t[0]>=La)throw[a,t];!i&&t[0]!==Pa&&(i=[a,t],await Promise.all((n??[]).map(e=>{if(!(e[0]<=a))return e[1].then(t=>{if(t[0]===La)throw[e[0],t]})})))}})))}catch(e){return e}return t??i}async function so(e,t,n,r,i,a,o){let s=t[1],c=await a,l=!1,u=s.findIndex(e=>e._notFound),d=t=>t[1][0]===Ia?io(e,s,t,r.signal):t[0],f=u<0?s.length:u;if((c?.[1][0]??0)>=La)f=0;else if(c){f=c[2]??=await d(c);for(let e of n){if(e[0]>=f)break;let t=await e[1];if(t[0]!==Pa&&t[0]=f)break;let t=await e[2];if(t){c=t;break}}if((c?.[1][0]??0)>=La){let n=c[1];if(n[0]!==La||n[1].options.reloadDocument||i<20)return ao(e,t),n;l=!0,c=[0,[Fa,Error(`Too many redirects`)]]}let p=c?c[2]??await d(c):u;if(p>=0){let i=c?.[1],a=i?.[0],u=s[p],d=i?.[1],f=()=>{i&&(u._notFound=void 0,a===Fa?u.status=`error`:(d.routeId=u.routeId,u.routeId===e.routeTree.id?(u.status=`success`,u._notFound=!0):u.status=`notFound`),u.error=d,u.isFetching=!1)};f();let m=Va(e,u);try{await Ba(i?Promise.resolve().then(()=>ja(m,a===Fa?`errorComponent`:`notFoundComponent`)):Promise.all([ja(m),ja(m,`notFoundComponent`)]),r.signal)}catch(n){if(n===r.signal)return ao(e,t),[Ra]}i?l&&(r.abort(),await Promise.all([...n.map(e=>e[1]),...n.map(e=>e[2]),...(t[2]??[]).map(e=>e[1])]),ao(e,t),Ya(e,s),f()):(u.status=`success`,o?.())}return t}async function W(e,t,n,r=0,i=t[1].length){let a=t[1];for(let t=r;te._notFound);if(e.options.notFoundMode!==`root`&&o>=0){let t=await io(e,i[1],void 0,r[0].signal,o);t!==o&&(n[o]._notFound=void 0,n[t]._notFound=!0),o=t}let s=o<0?n.length:o+1,c=0;for(;c{for(let t=u;t=La&&(s=0),f()),r[2]()&&!r[4]){let t=[];for(let[n,r]of e._flights??[])r[2]||(e._flights.delete(n),t.push(r[1]));for(let e of t)e.abort()}let m;try{let t=so(e,i,l,r[0],r[1],oo(l,p,i[2]),r[8]);i[2]?.length&&(i[3]=oo(i[2],void 0,void 0,t.then(e=>za(e)?0:Ma(e[1]).length,()=>0))),m=await t}catch(t){throw ao(e,i),t}return za(m)?m:W(e,m,r[0].signal,r[7]===m[1].length?r[7]:0)}function lo(e,t){if(e._tx!==t)return;let n=e._pending,r=!1,i=n?.[0][3][n[1]]?.id;n?.[0]!==t&&(n&&t[3][n[1]]?.id===i?(n[0]=t,r=!0):(clearTimeout(n?.[3]),e._pending=n=void 0));let a=t[3],o=e.stores.matches.get(),s=-1,c,l,u,d=!1;for(let t=0;t0){n[3]=setTimeout(()=>lo(e,t),r);return}n[2]=0}let p=a.map(e=>({...e,_flight:void 0}));p[s].status=`pending`;let m=e.startTransition(()=>e.stores.setMatches(p),p).then(t=>(t&&e._pending===n&&n[4]===m&&!n[2]&&(n[2]=Date.now()+l),t));n[4]=m}function uo(e,t){let n=e._pending;n?.[0]===t&&(clearTimeout(n[3]),e._pending=void 0)}function fo(e,t){e._committed=t,e.stores.setMatches(t)}function po(e,t){Ya(e,t[1]),ao(e,t)}function mo(e,t,n,r){let i=e._committed,a=e._cache;for(let e of n)e.preload=!1,r&&(e._assetEnd=void 0);let o=Ma(n).length,s=new Map,c=Date.now();for(let t of[...i,...a.values()]){if(t.status!==`success`||n.some((e,n)=>e.id===t.id&&(n=(t.preload?r.options.preloadGcTime??e.options.defaultPreloadGcTime??3e5:r.options.gcTime??e.options.defaultGcTime??3e5)||s.set(t.id,a.get(t.id)===t?t:{...t,_flight:void 0,isFetching:!1,context:{}})}t[3]=[],e._cache=s,fo(e,n),Ya(e,[...a.values(),...i],[...n,...s.values()]),ba(e,i,n,()=>e._tx===t)}async function ho(e,t){let n=e._tx;for(;n&&n!==t;){if(await n[5],e._tx===n)return;n=e._tx}}async function go(e,t,n){await e.navigate({...n.options,replace:!0,ignoreBlocker:!0,_redirects:t[1]+1})}function _o(e,t){uo(e,t),t[0].abort(),Ya(e,t[3]),t[3]=[],e._tx===t&&(e.batch(()=>{e.stores.status.set(`idle`),e.stores.setMatches(e._committed)}),e._tx===t&&(e._commitPromise?.resolve(),e._commitPromise=void 0))}async function vo(e,t,n,r,i){let a=n.map(e=>({...e}));Xa(a);for(let t of r)Ja(e,a[t[0]]),a[t[0]]=t[3];let o=[t[2],a],s;try{s=await so(e,o,r,t[0],t[1],i)}catch(t){throw Ya(e,a),t}if(za(s)){Ya(e,a),s[0]===La&&e._tx===t&&e._committed===n&&await go(e,t,s[1]);return}let c=await W(e,s,t[0].signal);if(e._tx!==t||e._committed!==n){Ya(e,c[1]);return}for(let t of c[1]){let n=e._cache.get(t.id);n?._flight&&n._flight===t._flight&&(e._cache.delete(t.id),Ja(e,n))}fo(e,c[1]),Ya(e,n,c[1])}async function yo(e,t,n,r,i,a){let o=[t[0],t[1],()=>e._tx===t&&!!t[3].length,e._committed,void 0,i,n,a,r],s=await co(e,t[2],t[3],o);if(za(s)){s[0]===La&&e._tx===t?(uo(e,t),Ya(e,t[3]),t[3]=[],e._tx===t&&await go(e,t,s[1])):_o(e,t);return}let c=e._pending;if(c?.[0]===t&&(clearTimeout(c[3]),c[4])){let n=t[0].signal,r=!1;try{r=await Ba(c[4],n)}catch(e){if(e!==n)throw e}if(r&&e._pending===c&&c[0]===t){let e=c[2]-Date.now();if(e>0){try{await Ba(new Promise(t=>{c[3]=setTimeout(t,e)}),n)}catch{}clearTimeout(c[3])}}}if(e._tx!==t){uo(e,t),po(e,s);return}let l=t[2],u=va(l,e.stores.resolvedLocation.get()),d=s[2];await e.startViewTransition(async()=>{if(e._tx!==t){po(e,s);return}let n=await e.startTransition(()=>{uo(e,t),mo(e,t,s[1],a),e._tx===t&&(e.emit({type:`onLoad`,...u}),e._tx===t&&e.emit({type:`onBeforeRouteMount`,...u}))},s[1]);if(e._tx!==t){ao(e,s);return}d?.length&&vo(e,t,s[1],d,s[3]).catch(console.error),e.batch(()=>{e.stores.resolvedLocation.set(l),e.stores.status.set(`idle`),e._tx===t&&e.emit({type:`onResolved`,...u}),n&&e._tx===t&&e.emit({type:`onRendered`,...u})}),e._tx===t&&(e._commitPromise?.resolve(),e._commitPromise=void 0)})}async function bo(e,t){let n=e._tx,r=e.stores.resolvedLocation.get(),i=r??e.stores.location.get(),a=e.latestLocation,o=e._pendingLocation,s=o?.href===a.href?o._redirects??0:0,c=e._handoff,l=c?.[0](),u=new AbortController,d=e._preflight;if(e._preflight=u,l||c?.[1](),d?.abort(),u.signal.aborted){await ho(e,n);return}let f=va(a,r);if(e.emit({type:`onBeforeNavigate`,...f}),u.signal.aborted||e.emit({type:`onBeforeLoad`,...f}),u.signal.aborted){await ho(e,n);return}let p=i.href===a.href,m,h=u;try{m=e.matchRoutes(a,{_controller:u}),Xa(m)}catch(t){if(u.abort(),!Se(t)){await ho(e),e._commitPromise?.resolve(),e._commitPromise=void 0;return}await e.navigate({...t.options,replace:!0,ignoreBlocker:!0}),await ho(e,n);return}let g=l?c[1](m):void 0;if(g?h=l:l?.abort(),u.signal.aborted){Ya(e,m),await ho(e,n);return}e._preflight=void 0;let _=[h,s,a,m,Date.now(),Promise.resolve().then(()=>yo(e,_,p,()=>lo(e,_),t?.sync,g)).catch(()=>{e._tx===_&&_o(e,_)})];if(e._tx=_,n){for(let t of e.stores.matches.get()){if(e._tx!==_)break;t.isFetching&&Za(e,t,!1)}n[0].abort(),Ya(e,n[3],_[3],!0)}if(e._tx!==_){Ya(e,_[3]),_[3]=[],await ho(e,_);return}e.batch(()=>{e.stores.status.set(`pending`),e.stores.location.set(a)}),!r&&!m.some(e=>e._notFound)&&lo(e,_);try{await _[5]}finally{await ho(e,_)}}async function xo(e,t,n=0){if(n>20)return;let r=t._builtLocation??e.buildLocation(t),i=e._committed,a=new AbortController,o;try{o=e.matchRoutes(r,{_controller:a}),Xa(o)}catch(e){a.abort(),ge(e)||console.error(e);return}(e._preloads??=new Map).set(a,o);let s;try{let t;try{t=await co(e,r,o,[a,n,()=>!0,i,!0])}finally{s=e._preloads.delete(a),Ya(e,o),a.abort()}if(!za(t))return t[1];if(s&&t[0]===La&&!t[1].options.reloadDocument)return xo(e,{...t[1].options,_fromLocation:r},n+1)}catch(e){ge(e)||console.error(e)}}function So(e,t){if(e)return typeof e==`string`?e:e[t]}function Co(e){return e?.scriptFormat??`module`}function wo(e,t,n){let r=To(t),i=So(n,`script`)??r.crossOrigin;return{...Co(e)===`iife`?{rel:`preload`,as:`script`}:{rel:`modulepreload`},href:r.href,...i?{crossOrigin:i}:{}}}function To(e){return typeof e==`string`?{href:e,crossOrigin:void 0}:e}function Eo(e,t){if(t.length===0)return;if(t.length===1){e.push(t[0]);return}let n=new Set;for(let r of t){let t=JSON.stringify(r);n.has(t)||(n.add(t),e.push(r))}}function Do(e){return typeof e==`string`?{href:e,crossOrigin:void 0}:e}var G=(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))(G||{});function Oo({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 ko(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 Ao=[],jo=0,{link:Mo,unlink:No,propagate:Po,checkDirty:Fo,shallowPropagate:Io}=Oo({update(e){return e._update()},notify(e){Ao[Ro++]=e,e.flags&=~G.Watching},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=G.Mutable|G.Dirty,Ho(e))}}),Lo=0,Ro=0,zo,Bo=0;function Vo(e){try{++Bo,e()}finally{--Bo||Uo()}}function Ho(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=No(n,e)}function Uo(){if(!(Bo>0)){for(;Lo{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=zo,o=t?.compare??Object.is;if(n)zo=i,++jo,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=G.Mutable|G.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{zo=a,n&&(i.flags&=~G.RecursedCheck),Ho(i)}}};return n?(i.flags=G.Mutable|G.Dirty,i.get=function(){let e=i.flags;if(e&G.Dirty||e&G.Pending&&Fo(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&Io(e)}}else e&G.Pending&&(i.flags=e&~G.Pending);return zo!==void 0&&Mo(i,zo,jo),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(Po(e),Io(e),Uo())}},i}function Go(e){let t=()=>{let t=zo;zo=n,++jo,n.depsTail=void 0,n.flags=G.Watching|G.RecursedCheck;try{return e()}finally{zo=t,n.flags&=~G.RecursedCheck,Ho(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:G.Watching|G.RecursedCheck,notify(){let e=this.flags;e&G.Dirty||e&G.Pending&&Fo(this.deps,this)?t():this.flags=G.Watching},stop(){this.flags=G.None,this.depsTail=void 0,Ho(this)}};return t(),n}var K=e(r(),1);function Ko(e,t){let n=e[1];e.length=0,n?.(t)}function qo({t:e}){let t=De(),n=t._rendered??=[];return t.startTransition=(r,i)=>new Promise((a,o)=>{Ko(n,!1),n.push(i,a),e(t),K.startTransition(()=>{try{r()}catch(e){n[1]===a&&(n.length=0),o(e)}})}),D(()=>{let e=t.history.subscribe(t.load);t.updateLatestLocation();let r=t.latestLocation,i=t.buildLocation({to:r.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});if(F(r.publicHref)!==F(i.publicHref))return t.commitLocation({...i,replace:!0,ignoreBlocker:!0}),e;let a=t.stores.resolvedLocation.get();return a?.href===r.href&&a.state.__TSR_key===r.state.__TSR_key?n.push(t.stores.matches.get(),e=>{e&&t.emit({type:`onRendered`,...va(a,a)})}):t._tx||t.load().catch(console.error),e},[t,t.history]),null}var q=n();function Jo(){let e=De(),t=e.routesById[be],n=_e(e,t),r=e.ssr?me:K.Suspense,i=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(qo,{t:K.useState()[1]}),(0,q.jsx)(r,{fallback:n,children:(0,q.jsx)(Yo,{})})]});return e.options.InnerWrap?(0,q.jsx)(e.options.InnerWrap,{children:i}):i}function Yo(){let e=De(),t=e._rendered,n=Ae(e.stores.matches,e=>t[0]??e),r=n[0],i=r?.routeId;D(()=>{t[0]===n&&Ko(t,!0)},[t,n]);let a=i?(0,q.jsx)(ve,{routeId:i}):null;return(0,q.jsx)(ye.Provider,{value:i,children:e.options.disableGlobalCatchBoundary?a:(0,q.jsx)(pe,{getResetKey:()=>r,onCatch:void 0,children:a})})}var Xo=e=>({createMutableStore:Wo,createReadonlyStore:Wo,batch:Vo}),Zo=e=>new Qo(e),Qo=class extends xa{constructor(e){super(e,Xo)}};function $o({router:e,children:t,...n}){A(n)&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});let r=(0,q.jsx)(Ee.Provider,{value:e,children:t});return e.options.Wrap?(0,q.jsx)(e.options.Wrap,{children:r}):r}function es({router:e,...t}){return(0,q.jsx)($o,{router:e,...t,children:(0,q.jsx)(Jo,{})})}function ts(e){let t=De();return Ae(t.stores.location,Ce(e,t))}function ns(e,t){if(t)for(let[n,r]of Object.entries(t))n!==`suppressHydrationWarning`&&r!==void 0&&r!==!1&&e.setAttribute(n,typeof r==`boolean`?``:String(r))}function rs(e){let{attrs:t,children:n,nonce:r,preventScriptHoist:i}=e;switch(e.tag){case`title`:return(0,q.jsx)(`title`,{...t,suppressHydrationWarning:!0,children:n});case`meta`:return(0,q.jsx)(`meta`,{...t,suppressHydrationWarning:!0});case`link`:return(0,q.jsx)(`link`,{...t,precedence:t?.precedence??(t?.rel===`stylesheet`?`default`:void 0),nonce:r,suppressHydrationWarning:!0});case`style`:return e.inlineCss,(0,q.jsx)(`style`,{...t,dangerouslySetInnerHTML:{__html:n},nonce:r});case`script`:return(0,q.jsx)(is,{attrs:t,preventScriptHoist:i,children:n});default:return null}}function is({attrs:e,children:t,preventScriptHoist:n}){De();let r=ke(),i=typeof e?.type==`string`&&e.type!==``&&e.type!==`text/javascript`&&e.type!==`module`;if(K.useEffect(()=>{if(!i){if(e?.src){let t=(()=>{try{let t=document.baseURI||window.location.href;return new URL(e.src,t).href}catch{return e.src}})();for(let e of document.querySelectorAll(`script[src]`))if(e.src===t)return;let n=document.createElement(`script`);return ns(n,e),document.head.appendChild(n),()=>n.remove()}if(typeof t==`string`){let n=typeof e?.type==`string`?e.type:`text/javascript`,r=typeof e?.nonce==`string`?e.nonce:void 0;for(let e of document.querySelectorAll(`script:not([src])`)){if(!(e instanceof HTMLScriptElement))continue;let i=e.getAttribute(`type`)??`text/javascript`,a=e.getAttribute(`nonce`)??void 0;if(e.textContent===t&&i===n&&a===r)return}let i=document.createElement(`script`);return i.textContent=t,ns(i,e),document.head.appendChild(i),()=>i.remove()}}},[e,t,i]),i&&typeof t==`string`)return(0,q.jsx)(`script`,{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:t}});if(!r){if(e?.src)return(0,q.jsx)(`script`,{...e,suppressHydrationWarning:!0});if(typeof t==`string`)return(0,q.jsx)(`script`,{...e,dangerouslySetInnerHTML:{__html:t},suppressHydrationWarning:!0})}return null}function as(e,t,n,r){n=Na(n);let i=n.map(e=>e.meta).filter(e=>e!==void 0),a=[],o={},s;for(let e=i.length-1;e>=0;e--){let n=i[e];for(let e=n.length-1;e>=0;e--){let r=n[e];if(r){if(r.title)s||={tag:`title`,children:r.title};else if(`script:ld+json`in r)try{let e=JSON.stringify(r[`script:ld+json`]);a.push({tag:`script`,attrs:{type:`application/ld+json`},children:T(e)})}catch{}else{let e=r.name??r.property;if(e){if(o[e])continue;o[e]=!0}a.push({tag:`meta`,attrs:{...r,nonce:t}})}}}}s&&a.push(s),t&&a.push({tag:`meta`,attrs:{property:`csp-nonce`,content:t}}),a.reverse();let c=n.flatMap(e=>e.links??[]).filter(e=>e!==void 0).map(e=>({tag:`link`,attrs:{...e,nonce:t}})),l=e.ssr?.manifest,u=[];l&&(n.forEach(e=>{(l.routes[e.routeId]?.css)?.forEach(e=>{let n=Do(e);u.push({tag:`link`,attrs:{rel:`stylesheet`,...n,crossOrigin:So(r,`stylesheet`)??n.crossOrigin,suppressHydrationWarning:!0,nonce:t}})})}),l.inlineStyle&&u.push({tag:`style`,attrs:{...l.inlineStyle.attrs,nonce:t},children:l.inlineStyle.children,inlineCss:!0}));let d=[];l&&n.forEach(e=>{l.routes[e.routeId]?.preloads?.forEach(e=>{d.push({tag:`link`,attrs:{...wo(l,e,r),nonce:t}})})});let f=n.flatMap(e=>e.styles??[]).filter(e=>e!==void 0).map(({children:e,...n})=>({tag:`style`,attrs:{...n,nonce:t},children:e})),p=n.flatMap(e=>e.headScripts??[]).filter(e=>e!==void 0).map(({children:e,...n})=>({tag:`script`,attrs:{...n,nonce:t},children:e})),m=[];return Eo(m,a),m.push(...d),Eo(m,c),m.push(...u),Eo(m,f),Eo(m,p),m}var os=e=>{let t=De(),n=t.options.ssr?.nonce,r=K.useCallback(r=>as(t,n,r,e),[e,n,t]);return Ae(t.stores.matches,r,de)};function ss(e){let t=os(e.assetCrossOrigin),n=De().options.ssr?.nonce;return(0,q.jsx)(q.Fragment,{children:t.map(e=>(0,K.createElement)(rs,{...e,key:`tsr-meta-${JSON.stringify(e)}`,nonce:n}))})}var cs=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,O());else{var t=n(l);t!==null&&ee(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&&ee(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function ee(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,ee(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),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}}}})),ls=t(((e,t)=>{t.exports=cs()})),us=t((e=>{var t=ls(),n=r(),i=Ne();function a(e){var t=`https://react.dev/errors/`+e;if(1P||(e.current=re[P],re[P]=null,P--)}function I(e,t){P++,re[P]=e.current,e.current=t}var ae=F(null),L=F(null),oe=F(null),se=F(null);function R(e,t){switch(I(oe,t),I(L,e),I(ae,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}}ie(ae),I(ae,e)}function ce(){ie(ae),ie(L),ie(oe)}function le(e){e.memoizedState!==null&&I(se,e);var t=ae.current,n=Hd(t,e.type);t!==n&&(I(L,e),I(ae,n))}function ue(e){L.current===e&&(ie(ae),ie(L)),se.current===e&&(ie(se),Qf._currentValue=N)}var de,fe;function pe(e){if(de===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);de=t&&t[1]||``,fe=-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{me=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?pe(n):``}function ge(e,t){switch(e.tag){case 26:case 27:case 5:return pe(e.type);case 16:return pe(`Lazy`);case 13:return e.child!==t&&t!==null?pe(`Suspense Fallback`):pe(`Suspense`);case 19:return pe(`SuspenseList`);case 0:case 15:return he(e.type,!1);case 11:return he(e.type.render,!1);case 1:return he(e.type,!0);case 31:return pe(`Activity`);default:return``}}function _e(e){try{var t=``,n=null;do t+=ge(e,n),n=e,e=e.return;while(e);return t}catch(e){return` Error generating stack: `+e.message+` -`+e.stack}}var ve=Object.prototype.hasOwnProperty,ye=t.unstable_scheduleCallback,be=t.unstable_cancelCallback,xe=t.unstable_shouldYield,Se=t.unstable_requestPaint,Ce=t.unstable_now,we=t.unstable_getCurrentPriorityLevel,z=t.unstable_ImmediatePriority,Te=t.unstable_UserBlockingPriority,B=t.unstable_NormalPriority,Ee=t.unstable_LowPriority,De=t.unstable_IdlePriority,Oe=t.log,ke=t.unstable_setDisableYieldValue,Ae=null,je=null;function Me(e){if(typeof Oe==`function`&&ke(e),je&&typeof je.setStrictMode==`function`)try{je.setStrictMode(Ae,e)}catch{}}var Pe=Math.clz32?Math.clz32:Le,Fe=Math.log,Ie=Math.LN2;function Le(e){return e>>>=0,e===0?32:31-(Fe(e)/Ie|0)|0}var Re=256,ze=262144,Be=4194304;function Ve(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 He(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=Ve(n))):i=Ve(o):i=Ve(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Ve(n))):i=Ve(o)):i=Ve(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 Ue(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function We(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 V(){var e=Be;return Be<<=1,!(Be&62914560)&&(Be=4194304),e}function Ge(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ke(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function qe(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),an=!1;if(rn)try{var on={};Object.defineProperty(on,"passive",{get:function(){an=!0}}),window.addEventListener(`test`,on,on),window.removeEventListener(`test`,on,on)}catch{an=!1}var sn=null,cn=null,ln=null;function un(){if(ln)return ln;var e,t=cn,n=t.length,r,i=`value`in sn?sn.value:sn.textContent,a=i.length;for(e=0;e=Hn),Gn=` `,Kn=!1;function qn(e,t){switch(e){case`keyup`:return Bn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Jn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Yn=!1;function Xn(e,t){switch(e){case`compositionend`:return Jn(t);case`keypress`:return t.which===32?(Kn=!0,Gn):null;case`textInput`:return e=t.data,e===Gn&&Kn?null:e;default:return null}}function Zn(e,t){if(Yn)return e===`compositionend`||!Vn&&qn(e,t)?(e=un(),ln=cn=sn=null,Yn=!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=yr(n)}}function xr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?xr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Sr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=jt(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=jt(e.document)}return t}function Cr(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 wr=rn&&`documentMode`in document&&11>=document.documentMode,Tr=null,Er=null,Dr=null,Or=!1;function kr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Or||Tr==null||Tr!==jt(r)||(r=Tr,`selectionStart`in r&&Cr(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}),Dr&&vr(Dr,r)||(Dr=r,r=Td(Er,`onSelect`),0>=o,i-=o,xi=1<<32-Pe(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),U&&Ci(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),U&&Ci(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 U&&Ci(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)}),U&&Ci(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&&Ca(l)===r.type){n(e,r.sibling),c=i(r,o.props),Aa(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===_?(c=ci(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=si(o.type,o.key,o.props,null,e.mode,c),Aa(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}n(e,r);break}t(e,r),r=r.sibling}c=di(o,e.mode,c),c.return=e,e=c}return s(e);case E:return o=Ca(o),b(e,r,o,c)}if(ne(o))return v(e,r,o,c);if(A(o)){if(l=A(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,ka(o),c);if(o.$$typeof===x)return b(e,r,Zi(e,o),c);ja(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=li(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Oa=0;var i=b(e,t,n,r);return Da=null,i}catch(t){if(t===_a||t===ya)throw t;var a=ri(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Na=Ma(!0),Pa=Ma(!1),Fa=!1;function Ia(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function La(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 Ra(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function za(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Fl&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=ei(e),$r(e,null,n),t}return Xr(e,r,t,n),ei(e)}function Ba(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,H(e,n)}}function Va(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 Ha=!1;function Ua(){if(Ha){var e=ca;if(e!==null)throw e}}function Wa(e,t,n,r){Ha=!1;var i=e.updateQueue;Fa=!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?(Z&f)===f:(r&f)===f){f!==0&&f===sa&&(Ha=!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:Fa=!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),Wl|=o,e.lanes=o,e.memoizedState=d}}function Ga(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function Ka(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=j.T,s={};j.T=s,As(e,!1,t,n);try{var c=i(),l=j.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?ks(e,t,da(c,r),fu(e)):ks(e,t,r,fu(e))}catch(n){ks(e,t,{then:function(){},status:`rejected`,reason:n},fu())}finally{M.p=a,o!==null&&s.types!==null&&(o.types=s.types),j.T=o}}function ys(){}function bs(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=xs(e).queue;vs(e,i,t,N,n===null?ys:function(){return Ss(e),n(r)})}function xs(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:N,baseState:N,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:No,lastRenderedState:N},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 Ss(e){var t=xs(e);t.next===null&&(t=e.alternate.memoizedState),ks(e,t.next.queue,{},fu())}function Cs(){return Xi(Qf)}function ws(){return Oo().memoizedState}function Ts(){return Oo().memoizedState}function Es(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=fu();e=Ra(n);var r=za(t,e,n);r!==null&&(mu(r,t,n),Ba(r,t,n)),t={cache:ra()},e.payload=t;return}t=t.return}}function Ds(e,t,n){var r=fu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},js(e)?Ms(t,n):(n=Zr(e,t,n,r),n!==null&&(mu(n,e,r),Ns(n,t,r)))}function Os(e,t,n){ks(e,t,n,fu())}function ks(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(js(e))Ms(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 Xr(e,t,i,0),Il===null&&Yr(),!1}catch{}if(n=Zr(e,t,i,r),n!==null)return mu(n,e,r),Ns(n,t,r),!0}return!1}function As(e,t,n,r){if(r={lane:2,revertLane:ud(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},js(e)){if(t)throw Error(a(479))}else t=Zr(e,n,r,2),t!==null&&mu(t,e,2)}function js(e){var t=e.alternate;return e===W||t!==null&&t===W}function Ms(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 Ns(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,H(e,n)}}var Ps={readContext:Xi,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};Ps.useEffectEvent=vo;var Fs={readContext:Xi,use:jo,useCallback:function(e,t){return Do().memoizedState=[e,t===void 0?null:t],e},useContext:Xi,useEffect:as,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),rs(4194308,4,ds.bind(null,t,e),n)},useLayoutEffect:function(e,t){return rs(4194308,4,e,t)},useInsertionEffect:function(e,t){rs(4,2,e,t)},useMemo:function(e,t){var n=Do();t=t===void 0?null:t;var r=e();if(po){Me(!0);try{e()}finally{Me(!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){Me(!0);try{n(t)}finally{Me(!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=Ds.bind(null,W,e),[r.memoizedState,e]},useRef:function(e){var t=Do();return e={current:e},t.memoizedState=e},useState:function(e){e=Vo(e);var t=e.queue,n=Os.bind(null,W,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:ps,useDeferredValue:function(e,t){return gs(Do(),e,t)},useTransition:function(){var e=Vo(!1);return e=vs.bind(null,W,e.queue,!0,!1),Do().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=W,i=Do();if(U){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),Il===null)throw Error(a(349));Z&127||Lo(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,as(Ro.bind(null,r,o,e),[e]),r.flags|=2048,q(9,{destroy:void 0},K.bind(null,r,o,n,t),null),n},useId:function(){var e=Do(),t=Il.identifierPrefix;if(U){var n=Si,r=xi;n=(r&~(1<<32-Pe(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[tt]=t,o[nt]=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&&kc(t)}}return Pc(t),Ac(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&kc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=oe.current,Ii(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=Oi,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[tt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||jd(e.nodeValue,n)),e||Ni(t,!0)}else e=Bd(e).createTextNode(r),e[tt]=t,t.stateNode=e}return Pc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Ii(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[tt]=t}else Li(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Pc(t),e=!1}else n=Ri(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(io(t),t):(io(t),null);if(t.flags&128)throw Error(a(558))}return Pc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Ii(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[tt]=t}else Li(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Pc(t),i=!1}else i=Ri(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(io(t),t):(io(t),null)}return io(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),Mc(t,t.updateQueue),Pc(t),null);case 4:return ce(),e===null&&xd(t.stateNode.containerInfo),Pc(t),null;case 10:return Wi(t.type),Pc(t),null;case 19:if(ie(ao),r=t.memoizedState,r===null)return Pc(t),null;if(i=!!(t.flags&128),o=r.rendering,o===null){if(i)Nc(r,!1);else{if(Ul!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=oo(e),o!==null){for(t.flags|=128,Nc(r,!1),e=o.updateQueue,t.updateQueue=e,Mc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)oi(n,e),n=n.sibling;return I(ao,ao.current&1|2),U&&Ci(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Ce()>eu&&(t.flags|=128,i=!0,Nc(r,!1),t.lanes=4194304)}}else{if(!i){if(e=oo(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Mc(t,e),Nc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!U)return Pc(t),null}else 2*Ce()-r.renderingStartTime>eu&&n!==536870912&&(t.flags|=128,i=!0,Nc(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?(Pc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Ce(),e.sibling=null,n=ao.current,I(ao,i?n&1|2:n&1),U&&Ci(t,r.treeForkCount),e);case 22:case 23:return io(t),Za(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Pc(t),t.subtreeFlags&6&&(t.flags|=8192)):Pc(t),n=t.updateQueue,n!==null&&Mc(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&&ie(pa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Wi(na),Pc(t),null;case 25:return null;case 30:return null}throw Error(a(156,t.tag))}function Ic(e,t){switch(Ei(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Wi(na),ce(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ue(t),null;case 31:if(t.memoizedState!==null){if(io(t),t.alternate===null)throw Error(a(340));Li()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(io(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));Li()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ie(ao),null;case 4:return ce(),null;case 10:return Wi(t.type),null;case 22:case 23:return io(t),Za(),e!==null&&ie(pa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Wi(na),null;case 25:return null;default:return null}}function Lc(e,t){switch(Ei(t),t.tag){case 3:Wi(na),ce();break;case 26:case 27:case 5:ue(t);break;case 4:ce();break;case 31:t.memoizedState!==null&&io(t);break;case 13:io(t);break;case 19:ie(ao);break;case 10:Wi(t.type);break;case 22:case 23:io(t),Za(),e!==null&&ie(pa);break;case 24:Wi(na)}}function Rc(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){Wu(t,t.return,e)}}function zc(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){Wu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Wu(t,t.return,e)}}function Bc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Ka(t,n)}catch(t){Wu(e,e.return,t)}}}function Vc(e,t,n){n.props=Hs(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Wu(e,t,n)}}function Hc(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){Wu(e,t,n)}}function Uc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){Wu(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){Wu(e,t,n)}else n.current=null}}function Wc(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){Wu(e,e.return,t)}}function Gc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[nt]=t}catch(t){Wu(e,e.return,t)}}function Kc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function qc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Kc(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 Jc(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=Jt));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Jc(e,t,n),e=e.sibling;e!==null;)Jc(e,t,n),e=e.sibling}function Yc(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(Yc(e,t,n),e=e.sibling;e!==null;)Yc(e,t,n),e=e.sibling}function Xc(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[tt]=e,t[nt]=n}catch(t){Wu(e,e.return,t)}}var Zc=!1,Qc=!1,$c=!1,el=typeof WeakSet==`function`?WeakSet:Set,tl=null;function nl(e,t){if(e=e.containerInfo,Rd=sp,e=Sr(e),Cr(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,tl=t;tl!==null;)if(t=tl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,tl=e;else for(;tl!==null;){switch(t=tl,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[tt]=e,mt(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 _=br(s,h),v=br(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,j.T=null,n=cu,cu=null;var o=iu,s=ou;if(ru=0,au=iu=null,ou=0,Fl&6)throw Error(a(331));var c=Fl;if(Fl|=4,Al(o.current),Sl(o,o.current,s,n),Fl=c,rd(0,!1),je&&typeof je.onPostCommitFiberRoot==`function`)try{je.onPostCommitFiberRoot(Ae,o)}catch{}return!0}finally{M.p=i,j.T=r,Bu(e,t)}}function Uu(e,t,n){t=pi(n,t),t=Js(e.stateNode,t,2),e=za(e,t,2),e!==null&&(Ke(e,2),nd(e))}function Wu(e,t,n){if(e.tag===3)Uu(e,e,n);else for(;t!==null;){if(t.tag===3){Uu(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(nu===null||!nu.has(r))){e=pi(n,e),n=Ys(2),r=za(t,n,2),r!==null&&(Xs(n,r,t,e),Ke(r,2),nd(r));break}}t=t.return}}function Gu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Pl;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)||(Vl=!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,Il===e&&(Z&n)===n&&(Ul===4||Ul===3&&(Z&62914560)===Z&&300>Ce()-Ql?!(Fl&2)&&xu(e,0):Kl|=n,Jl===Z&&(Jl=0)),nd(e)}function qu(e,t){t===0&&(t=V()),e=Qr(e,t),e!==null&&(Ke(e,t),nd(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 ye(e,t)}var Zu=null,Q=null,Qu=!1,$u=!1,ed=!1,td=0;function nd(e){e!==Q&&e.next===null&&(Q===null?Zu=Q=e:Q=Q.next=e),$u=!0,Qu||(Qu=!0,ld())}function rd(e,t){if(!ed&&$u){ed=!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-Pe(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,cd(r,a))}else a=Z,a=He(r,r===Il?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||Ue(r,a)||(n=!0,cd(r,a))}r=r.next}while(n);ed=!1}}function id(){ad()}function ad(){$u=Qu=!1;var e=0;td!==0&&Gd()&&(e=td);for(var t=Ce(),n=null,r=Zu;r!==null;){var i=r.next,a=od(r,t);a===0?(r.next=null,n===null?Zu=i:n.next=i,i===null&&(Q=n)):(n=r,(e!==0||a&3)&&($u=!0)),r=i}ru!==0&&ru!==5||rd(e,!1),td!==0&&(td=0)}function od(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=Nt(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),mt(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="`+Nt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Nt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Nt(n.imageSizes)+`"]`)):i+=`[href="`+Nt(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),mt(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="`+Nt(r)+`"][href="`+Nt(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),mt(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=pt(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`);mt(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=pt(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`),mt(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=pt(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`),mt(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=oe.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=pt(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=pt(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=pt(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="`+Nt(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),mt(t),e.head.appendChild(t))}function Pf(e){return`[src="`+Nt(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~="`+Nt(n.href)+`"]`);if(r)return t.instance=r,mt(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`),mt(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,mt(o),o;r=Mf(n),(i=mf.get(i))&&Rf(r,i),o=(e.ownerDocument||e).createElement(`link`),mt(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,mt(i),i):(r=n,(i=mf.get(o))&&(r=p({},n),zf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),mt(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,mt(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),mt(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=es()}))(),1),q=i(),ns=(0,G.createContext)(void 0);function rs(e,t){try{let t=localStorage.getItem(e);if(t===`light`||t===`dark`||t===`system`)return t}catch{}return t}function is(e){let t=(0,q.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=()=>rs(o,a),t[0]=a,t[1]=o,t[2]=s):s=t[2];let[c,l]=(0,G.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,G.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,K.jsx)(ns.Provider,{value:m,children:n}),t[11]=n,t[12]=m,t[13]=h):h=t[13],h}function as(){let e=(0,G.useContext)(ns);if(e===void 0)throw Error(`useTheme must be used within a ThemeProvider`);return e}var os=Ye(`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`}]]),ss=Ye(`book-open`,[[`path`,{d:`M12 5v16`,key:`1f6ucr`}],[`path`,{d:`M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z`,key:`1fyvmf`}]]),cs=Ye(`boxes`,[[`path`,{d:`M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z`,key:`lc1i9w`}],[`path`,{d:`m7 16.5-4.74-2.85`,key:`1o9zyk`}],[`path`,{d:`m7 16.5 5-3`,key:`va8pkn`}],[`path`,{d:`M7 16.5v5.17`,key:`jnp8gn`}],[`path`,{d:`M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z`,key:`8zsnat`}],[`path`,{d:`m17 16.5-5-3`,key:`8arw3v`}],[`path`,{d:`m17 16.5 4.74-2.85`,key:`8rfmw`}],[`path`,{d:`M17 16.5v5.17`,key:`k6z78m`}],[`path`,{d:`M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z`,key:`1xygjf`}],[`path`,{d:`M12 8 7.26 5.15`,key:`1vbdud`}],[`path`,{d:`m12 8 4.74-2.85`,key:`3rx089`}],[`path`,{d:`M12 13.5V8`,key:`1io7kd`}]]),ls=Ye(`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`}]]),us=Ye(`container`,[[`path`,{d:`M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z`,key:`1t2lqe`}],[`path`,{d:`M10 21.9V14L2.1 9.1`,key:`o7czzq`}],[`path`,{d:`m10 14 11.9-6.9`,key:`zm5e20`}],[`path`,{d:`M14 19.8v-8.1`,key:`159ecu`}],[`path`,{d:`M18 17.5V9.4`,key:`11uown`}]]),ds=Ye(`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`}]]),fs=Ye(`file-stack`,[[`path`,{d:`M11 21a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1`,key:`likhh7`}],[`path`,{d:`M16 16a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1`,key:`17ky3x`}],[`path`,{d:`M21 6a2 2 0 0 0-.586-1.414l-2-2A2 2 0 0 0 17 2h-3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1z`,key:`1hyeo0`}]]),ps=Ye(`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`}]]),ms=Ye(`id-card`,[[`path`,{d:`M16 10h2`,key:`8sgtl7`}],[`path`,{d:`M16 14h2`,key:`epxaof`}],[`path`,{d:`M6.17 15a3 3 0 0 1 5.66 0`,key:`n6f512`}],[`circle`,{cx:`9`,cy:`11`,r:`2`,key:`yxgjnd`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`,key:`qneu4z`}]]),hs=Ye(`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`}]]),gs=Ye(`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`}]]),_s=Ye(`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`}]]),vs=Ye(`map-pin`,[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`,key:`1r0f0z`}],[`circle`,{cx:`12`,cy:`10`,r:`3`,key:`ilqhr7`}]]),ys=Ye(`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`}]]),bs=Ye(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 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.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]),xs=Ye(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),Ss=Ye(`route`,[[`circle`,{cx:`6`,cy:`19`,r:`3`,key:`1kj8tv`}],[`path`,{d:`M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15`,key:`1d8sl`}],[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}]]),Cs=Ye(`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`}]]),ws=Ye(`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`}]]),Ts=Ye(`user-cog`,[[`path`,{d:`M10 15H6a4 4 0 0 0-4 4v2`,key:`1nfge6`}],[`path`,{d:`m14.305 16.53.923-.382`,key:`1itpsq`}],[`path`,{d:`m15.228 13.852-.923-.383`,key:`eplpkm`}],[`path`,{d:`m16.852 12.228-.383-.923`,key:`13v3q0`}],[`path`,{d:`m16.852 17.772-.383.924`,key:`1i8mnm`}],[`path`,{d:`m19.148 12.228.383-.923`,key:`1q8j1v`}],[`path`,{d:`m19.53 18.696-.382-.924`,key:`vk1qj3`}],[`path`,{d:`m20.772 13.852.924-.383`,key:`n880s0`}],[`path`,{d:`m20.772 16.148.924.383`,key:`1g6xey`}],[`circle`,{cx:`18`,cy:`15`,r:`3`,key:`gjjjvw`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),Es=Ye(`users-round`,[[`path`,{d:`M18 21a8 8 0 0 0-16 0`,key:`3ypg7q`}],[`circle`,{cx:`10`,cy:`8`,r:`5`,key:`o932ke`}],[`path`,{d:`M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3`,key:`10s06x`}]]),Ds=Ye(`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 Os(e,t){return t!=null&&!mn(t)?0:typeof e==`function`?e():e}function ks(e,t,n){let r=Os(e,n);return typeof r==`number`?r:r?.[t]}function As(e){return typeof e==`function`?e():e}function js(e,t){return t||e===`click`||e===`mousedown`}function Ms(e){return e?.includes(`mouse`)&&e!==`mousedown`}var Ns=G.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new Jt,currentIdRef:{current:null},currentContextRef:{current:null}});function Ps(e,t){e.current=t.current}function Fs(e){let{children:t,delay:n,timeoutMs:r=0}=e,i=G.useRef(n),a=G.useRef(n),o=G.useRef(null),s=G.useRef(null),c=nn();return Dt(()=>{if(a.current=n,!o.current){i.current=n;return}i.current={open:ks(i.current,`open`),close:ks(n,`close`)}},[n,o,i,a]),(0,K.jsx)(Ns.Provider,{value:G.useMemo(()=>({hasProvider:!0,delayRef:i,initialDelayRef:a,currentIdRef:o,timeoutMs:r,currentContextRef:s,timeout:c}),[r,c]),children:t})}function Is(e,t={open:!1}){let{open:n}=t,r=`rootStore`in e?e.rootStore:e,i=r.useState(`floatingId`),{currentIdRef:a,delayRef:o,timeoutMs:s,initialDelayRef:c,currentContextRef:l,hasProvider:u,timeout:d}=G.useContext(Ns),[f,p]=G.useState(!1),m=G.useRef(n);return Dt(()=>{m.current=n},[n]),Dt(()=>{function e(){l.current?.setIsInstantPhase(!1),a.current=null,l.current=null,o.current=c.current,d.clear()}if(a.current&&!n&&a.current===i){if(p(!1),s){let t=i;return d.start(s,()=>{r.select(`open`)||a.current&&a.current!==t||e()}),()=>{(m.current||a.current!==t)&&d.clear()}}e()}},[n,i,a,o,s,c,l,d,r]),Dt(()=>{if(!n)return;let e=l.current,t=a.current;d.clear(),l.current={onOpenChange:r.setOpen,setIsInstantPhase:p},a.current=i,o.current={open:0,close:ks(c.current,`close`)},t!==null&&t!==i?(p(!0),e?.setIsInstantPhase(!0),e?.onOpenChange(!1,zt(Nt))):(p(!1),e?.setIsInstantPhase(!1))},[n,i,r,a,o,c,l,d]),Dt(()=>()=>{if(a.current===i){if(l.current=null,!m.current)return;a.current=null,Ps(o,c),d.clear()}},[l,a,o,i,c,d]),G.useMemo(()=>({hasProvider:u,delayRef:o,isInstantPhase:f}),[u,o,f])}function Ls(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 Rs(e){return e!=null&&e.clientX!=null}function zs(e,t={}){let{enabled:n=!0,axis:r=`both`}=t,i=`rootStore`in e?e.rootStore:e,a=i.useState(`open`),o=i.useState(`floatingElement`),s=i.useState(`domReferenceElement`),c=i.context.dataRef,l=G.useRef(!1),u=G.useRef(null),[d,f]=G.useState(),[p,m]=G.useState([]),h=Ot(e=>{i.set(`positionReference`,e)}),g=Ot((e,t,n)=>{l.current||c.current.openEvent&&!Rs(c.current.openEvent)||i.set(`positionReference`,Ls(n??s,{x:e,y:t,axis:r,dataRef:c,pointerType:d}))}),_=Ot(e=>{a?u.current||(g(e.clientX,e.clientY,e.currentTarget),m([])):g(e.clientX,e.clientY,e.currentTarget)}),v=mn(d)?o:a;G.useEffect(()=>{if(!n){h(s);return}if(!v)return;function e(){u.current?.(),u.current=null}let t=wt(o);function r(t){let n=Mt(t);Ht(o,n)?e():g(t.clientX,t.clientY)}return!c.current.openEvent||Rs(c.current.openEvent)?u.current=Pe(t,`mousemove`,r):h(s),e},[v,n,o,c,s,i,g,h,p]),G.useEffect(()=>()=>{i.set(`positionReference`,null)},[i]),G.useEffect(()=>{n&&!o&&(l.current=!1)},[n,o]),G.useEffect(()=>{!n&&a&&(l.current=!0)},[n,a]);let y=G.useMemo(()=>{function e(e){f(e.pointerType)}return{onPointerDown:e,onPointerEnter:e,onMouseMove:_,onMouseEnter:_}},[_]);return G.useMemo(()=>n?{reference:y,trigger:y}:{},[n,y])}var Bs=Oe();function Vs(e){let t=G.useCallback(t=>e===void 0?Ve:e.subscribeStore(t),[e]),n=G.useCallback(()=>e===void 0?void 0:e.store,[e]);return(0,Bs.useSyncExternalStore)(t,n,()=>e?.serverStore)}var Hs=an&&vn;function Us(e,t={}){let{enabled:n=!0,delay:r}=t,i=`rootStore`in e?e.rootStore:e,{events:a,dataRef:o}=i.context,s=G.useRef(!1),c=G.useRef(null),l=G.useRef(!0),u=nn();G.useEffect(()=>{let e=i.select(`domReferenceElement`);if(!n)return;let t=wt(e);function r(){let e=i.select(`domReferenceElement`);!i.select(`open`)&&Tt(e)&&e===Bt(jt(e))&&(s.current=!0)}function a(){l.current=!0}function o(){l.current=!1}return en(Pe(t,`blur`,r),Hs&&Pe(t,`keydown`,a,!0),Hs&&Pe(t,`pointerdown`,o,!0))},[i,n]),G.useEffect(()=>{if(!n)return;function e(e){if(e.reason===`trigger-press`||e.reason===`escape-key`){let e=i.select(`domReferenceElement`);At(e)&&(c.current=e,s.current=!0)}}return a.on(`openchange`,e),()=>{a.off(`openchange`,e)}},[a,n,i]);let d=G.useMemo(()=>{function e(){s.current=!1,c.current=null}return{onMouseLeave(){e()},onFocus(t){let n=t.currentTarget;if(s.current){if(c.current===n)return;e()}let a=Mt(t.nativeEvent);if(At(a)){if(Hs&&!t.relatedTarget){if(!l.current&&!sn(a))return}else if(!cn(a))return}let o=fn(t.relatedTarget,i.context.triggerElements),{nativeEvent:d,currentTarget:f}=t,p=typeof r==`function`?r():r;if(i.select(`open`)&&o||p===0||p===void 0){i.setOpen(!0,zt(Lt,d,f));return}u.start(p,()=>{s.current||i.setOpen(!0,zt(Lt,d,f))})},onBlur(t){e();let n=t.relatedTarget,r=t.nativeEvent,a=At(n)&&n.hasAttribute(Wt(`focus-guard`))&&n.getAttribute(`data-type`)===`outside`;u.start(0,()=>{let e=i.select(`domReferenceElement`),t=Bt(jt(e));!n&&t===e||Ht(o.current.floatingContext?.refs.floating.current,t)||Ht(e,t)||a||fn(n??t,i.context.triggerElements)||i.setOpen(!1,zt(Lt,r))})}}},[o,r,i,u]);return G.useMemo(()=>n?{reference:d,trigger:d}:{},[n,d])}var Ws=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 Jt,this.restTimeout=new Jt,this.handleCloseOptions=void 0}static create(){return new e}dispose=()=>{this.openChangeTimeout.clear(),this.restTimeout.clear()};disposeEffect=()=>this.dispose},Gs=new WeakMap;function Ks(e){if(!e.performedPointerEventsMutation)return;let t=e.pointerEventsScopeElement;t&&Gs.get(t)===e&&(e.pointerEventsScopeElement?.style.removeProperty(`pointer-events`),e.pointerEventsReferenceElement?.style.removeProperty(`pointer-events`),e.pointerEventsFloatingElement?.style.removeProperty(`pointer-events`),Gs.delete(t)),e.performedPointerEventsMutation=!1,e.pointerEventsScopeElement=null,e.pointerEventsReferenceElement=null,e.pointerEventsFloatingElement=null}function qs(e,t){let{scopeElement:n,referenceElement:r,floatingElement:i}=t,a=Gs.get(n);a&&a!==e&&Ks(a),Ks(e),e.performedPointerEventsMutation=!0,e.pointerEventsScopeElement=n,e.pointerEventsReferenceElement=r,e.pointerEventsFloatingElement=i,Gs.set(n,e),n.style.pointerEvents=`none`,r.style.pointerEvents=`auto`,i.style.pointerEvents=`auto`}function Js(e){let t=e.context.dataRef.current,n=ze(()=>t.hoverInteractionState??Ws.create()).current;return t.hoverInteractionState||=n,Me(t.hoverInteractionState.disposeEffect),t.hoverInteractionState}function Ys(e,t={}){let{enabled:n=!0,closeDelay:r=0,nodeId:i}=t,a=`rootStore`in e?e.rootStore:e,o=a.useState(`open`),s=a.useState(`floatingElement`),c=a.useState(`domReferenceElement`),{dataRef:l}=a.context,u=Xt(),d=Yt(),f=Js(a),p=nn(),m=Ot(()=>js(l.current.openEvent?.type,f.interactedInside)),h=Ot(()=>Ms(l.current.openEvent?.type)),g=Ot(()=>{Ks(f)});Dt(()=>{o||(f.pointerType=void 0,f.restTimeoutPending=!1,f.interactedInside=!1,g())},[o,f,g]),G.useEffect(()=>g,[g]),Dt(()=>{if(n&&o&&f.handleCloseOptions?.blockPointerEvents&&h()&&At(c)&&s){let e=c,t=s,n=jt(s),r=u?.nodesRef.current.find(e=>e.id===d)?.context?.elements.floating;r&&(r.style.pointerEvents=``);let i=f.pointerEventsScopeElement===t?null:f.pointerEventsScopeElement,a=r===t?null:r,o=f.handleCloseOptions?.getScope?.()??i??a??e.closest(`[data-rootownerid]`)??n.body;return qs(f,{scopeElement:o,referenceElement:e,floatingElement:t}),()=>{g()}}},[n,o,c,s,f,h,u,d,g]),G.useEffect(()=>{if(!n)return;function e(){return!!(u&&d&&hn(u.nodesRef.current,d).length>0)}function t(e){let t=ks(r,`close`,f.pointerType),n=()=>{a.setOpen(!1,zt(Ft,e)),u?.events.emit(`floating.closed`,e)};t?f.openChangeTimeout.start(t,n):(f.openChangeTimeout.clear(),n())}function o(e){let t=Mt(e);if(!on(t)){f.interactedInside=!1;return}f.interactedInside=t?.closest(`[aria-haspopup]`)!=null}function c(){f.openChangeTimeout.clear(),p.clear(),u?.events.off(`floating.closed`,v),g()}function _(n){if(e()&&u){u.events.on(`floating.closed`,v);return}if(fn(n.relatedTarget,a.context.triggerElements))return;let r=l.current.floatingContext?.nodeId??i,o=n.relatedTarget;if(!(u&&r&&At(o)&&hn(u.nodesRef.current,r,!1).some(e=>Ht(e.context?.elements.floating,o)))){if(f.handler){f.handler(n);return}g(),h()&&!m()&&t(n)}}function v(t){!u||!d||e()||p.start(0,()=>{u.events.off(`floating.closed`,v),a.setOpen(!1,zt(Ft,t)),u.events.emit(`floating.closed`,t)})}let y=s;return en(y&&Pe(y,`mouseenter`,c),y&&Pe(y,`mouseleave`,_),y&&Pe(y,`pointerdown`,o,!0),()=>{u?.events.off(`floating.closed`,v)})},[n,s,a,l,r,i,h,m,g,f,u,d,p])}var Xs=e(Ne(),1),Zs={current:null};function Qs(e,t={}){let{enabled:n=!0,delay:r=0,handleClose:i=null,mouseOnly:a=!1,restMs:o=0,move:s=!0,triggerElementRef:c=Zs,externalTree:l,isActiveTrigger:u=!0,getHandleCloseContext:d,isClosing:f,shouldOpen:p,guardStaleOpen:m=!1}=t,h=`rootStore`in e?e.rootStore:e,{dataRef:g,events:_}=h.context,v=Xt(l),y=Js(h),b=G.useRef(!1),x=Ie(i),S=Ie(r),C=Ie(o),w=Ie(n),T=Ie(p),E=Ie(f),D=Ot(()=>js(g.current.openEvent?.type,y.interactedInside)),O=Ot(()=>T.current?.()!==!1),k=Ot((e,t,n)=>{let r=h.context.triggerElements;if(r.hasElement(t))return!e||!Ht(e,t);if(!At(n))return!1;let i=n;return r.hasMatchingElement(e=>Ht(e,i))&&(!e||!Ht(e,i))}),A=Ot(()=>{y.handler&&=(jt(h.select(`domReferenceElement`)).removeEventListener(`mousemove`,y.handler),void 0)}),ee=Ot(()=>{Ks(y)});return u&&(y.handleCloseOptions=x.current?.__options),G.useEffect(()=>A,[A]),G.useEffect(()=>{if(!n)return;function e(e){e.open?b.current=!1:(b.current=e.reason===Ft,A(),y.openChangeTimeout.clear(),y.restTimeout.clear(),y.blockMouseMove=!0,y.restTimeoutPending=!1)}return _.on(`openchange`,e),()=>{_.off(`openchange`,e)}},[n,_,y,A]),G.useEffect(()=>{if(!n)return;function e(e,t=!0){let n=ks(S.current,`close`,y.pointerType);n?y.openChangeTimeout.start(n,()=>{h.setOpen(!1,zt(Ft,e)),v?.events.emit(`floating.closed`,e)}):t&&(y.openChangeTimeout.clear(),h.setOpen(!1,zt(Ft,e)),v?.events.emit(`floating.closed`,e))}let t=c.current??(u?h.select(`domReferenceElement`):null);if(!At(t))return;function r(e){if(y.openChangeTimeout.clear(),y.blockMouseMove=!1,a&&!mn(y.pointerType))return;let t=As(C.current),n=ks(S.current,`open`,y.pointerType),r=Mt(e),i=e.currentTarget??null,o=h.select(`domReferenceElement`),s=i;if(At(r)&&!h.context.triggerElements.hasElement(r)){for(let e of h.context.triggerElements.elements())if(Ht(e,r)){s=e;break}}At(i)&&At(o)&&!h.context.triggerElements.hasElement(i)&&Ht(i,o)&&(s=o);let c=s!=null&&k(o,s,r),l=h.select(`open`),u=E.current?.()??h.select(`transitionStatus`)===`ending`,d=!l&&u&&b.current,f=!c&&At(s)&&At(o)&&Ht(o,s)&&d,p=t>0&&!n,m=c&&(l||d)||f,g=!l||c;if(m){O()&&h.setOpen(!0,zt(Ft,e,s));return}p||(n?y.openChangeTimeout.start(n,()=>{g&&O()&&h.setOpen(!0,zt(Ft,e,s))}):g&&O()&&h.setOpen(!0,zt(Ft,e,s)))}function i(t){if(D()){ee();return}A();let n=h.select(`domReferenceElement`),r=jt(n);y.restTimeout.clear(),y.restTimeoutPending=!1;let i=g.current.floatingContext??d?.();if(!fn(t.relatedTarget,h.context.triggerElements)){if(x.current&&i){h.select(`open`)||y.openChangeTimeout.clear();let n=c.current;y.handler=x.current({...i,tree:v,x:t.clientX,y:t.clientY,onClose(){ee(),A(),w.current&&!D()&&n===h.select(`domReferenceElement`)&&e(t,!0)}}),r.addEventListener(`mousemove`,y.handler),y.handler(t);return}(y.pointerType!==`touch`||!Ht(h.select(`floatingElement`),t.relatedTarget))&&e(t)}}function o(e){Ht(t,e.relatedTarget)||(y.openChangeTimeout.clear(),y.restTimeout.clear(),y.restTimeoutPending=!1)}let l=m?Pe(t,`mouseout`,o):void 0;return s?en(Pe(t,`mousemove`,r,{once:!0}),Pe(t,`mouseenter`,r),Pe(t,`mouseleave`,i),l):en(Pe(t,`mouseenter`,r),Pe(t,`mouseleave`,i),l)},[A,ee,g,S,h,n,x,y,u,k,D,a,s,C,c,v,w,d,E,O,m]),G.useMemo(()=>{if(!n)return;function e(e){y.pointerType=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){let{nativeEvent:t}=e,n=e.currentTarget,r=h.select(`domReferenceElement`),i=h.select(`open`),o=k(r,n,e.target);if(a&&!mn(y.pointerType))return;if(i&&o&&y.handleCloseOptions?.blockPointerEvents){let e=h.select(`floatingElement`);if(e){let t=y.handleCloseOptions?.getScope?.()??n.ownerDocument.body;qs(y,{scopeElement:t,referenceElement:n,floatingElement:e})}}let s=As(C.current);if(i&&!o||s===0||!o&&y.restTimeoutPending&&e.movementX**2+e.movementY**2<2)return;y.restTimeout.clear();function c(){if(y.restTimeoutPending=!1,D())return;let e=h.select(`open`);!y.blockMouseMove&&(!e||o)&&O()&&h.setOpen(!0,zt(Ft,t,n))}y.pointerType===`touch`?Xs.flushSync(()=>{c()}):o&&i?c():(y.restTimeoutPending=!0,y.restTimeout.start(s,c))}}},[n,y,D,k,a,h,C,O])}var $s=.1,ec=$s*$s,tc=.5;function nc(e,t,n,r,i,a){return r>=t!=a>=t&&e<=(i-n)*(t-r)/(a-r)+n}function rc(e,t,n,r,i,a,o,s,c,l){let u=!1;return nc(e,t,n,r,i,a)&&(u=!u),nc(e,t,i,a,o,s)&&(u=!u),nc(e,t,o,s,c,l)&&(u=!u),nc(e,t,c,l,n,r)&&(u=!u),u}function ic(e,t,n){return e>=n.x&&e<=n.x+n.width&&t>=n.y&&t<=n.y+n.height}function ac(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 oc(e={}){let{blockPointerEvents:t=!1}=e,n=new Jt,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*ec;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,D=(T?x:S).left,O=(T?x:S).right,k=(E?x:S).top,A=(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 ee=!1;switch(c){case`top`:ee=ac(d,f,D,x.top+1,O,S.bottom-1);break;case`bottom`:ee=ac(d,f,D,S.top+1,O,x.bottom-1);break;case`left`:ee=ac(d,f,S.right-1,A,x.left+1,k);break;case`right`:ee=ac(d,f,x.right-1,A,S.left+1,k)}if(ee)return;if(l&&!ic(d,f,x)){b();return}if(!g&&p(d,f)){b();return}let te=!1;switch(c){case`top`:{let n=T?tc/2:tc*4,r=T||C?e+n:e-n,i=T?e-n:C?e+n:e-n,a=t+tc+1,o=C||T?S.bottom-tc:S.top,s=C?T?S.bottom-tc:S.top:S.bottom-tc;te=rc(d,f,r,a,i,a,S.left,o,S.right,s);break}case`bottom`:{let n=T?tc/2:tc*4,r=T||C?e+n:e-n,i=T?e-n:C?e+n:e-n,a=t-tc,o=C||T?S.top+tc:S.bottom,s=C?T?S.top+tc:S.bottom:S.top+tc;te=rc(d,f,r,a,i,a,S.left,o,S.right,s);break}case`left`:{let n=E?tc/2:tc*4,r=E||w?t+n:t-n,i=E?t-n:w?t+n:t-n,a=e+tc+1,o=w||E?S.right-tc:S.left,s=w?E?S.right-tc:S.left:S.right-tc;te=rc(d,f,o,S.top,s,S.bottom,a,r,a,i);break}case`right`:{let n=E?tc/2:tc*4,r=E||w?t+n:t-n,i=E?t-n:w?t+n:t-n,a=e-tc,o=w||E?S.left+tc:S.right,s=w?E?S.left+tc:S.right:S.left+tc;te=rc(d,f,a,r,a,i,o,S.top,s,S.bottom);break}}te?l||n.start(40,b):b()}};return r.__options={...e,blockPointerEvents:t},r}function sc(e){return jn(`dialog`,e)}function cc(e){let t=(0,q.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,K.jsx)(sc,{"data-slot":`sheet`,...n}),t[2]=n,t[3]=r),r}function lc(e){let t=(0,q.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,K.jsx)(Mn,{"data-slot":`sheet-portal`,...n}),t[2]=n,t[3]=r),r}function uc(e){let t=(0,q.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=V(`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,K.jsx)(Gn,{className:i,"data-slot":`sheet-overlay`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function dc(e){let t=(0,q.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||o,l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,K.jsx)(uc,{}),t[6]=l):l=t[6];let u;t[7]===r?u=t[8]:(u=V(`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,K.jsxs)(Wn,{"data-slot":`sheet-close`,render:(0,K.jsx)(kt,{className:`absolute top-4 right-4`,size:`icon-sm`,variant:`ghost`}),children:[(0,K.jsx)(St,{}),(0,K.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,K.jsxs)(lc,{children:[l,(0,K.jsxs)(zn,{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 fc(e){let t=(0,q.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=V(`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,K.jsx)(`div`,{className:i,"data-slot":`sheet-header`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function pc(e){let t=(0,q.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=V(`text-sm font-medium text-foreground`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,K.jsx)(Un,{className:i,"data-slot":`sheet-title`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function mc(e){let t=(0,q.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=V(`text-xs/relaxed text-muted-foreground`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,K.jsx)(On,{className:i,"data-slot":`sheet-description`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var hc=G.createContext(void 0);function gc(e){let t=G.useContext(hc);if(t===void 0&&!e)throw Error(Ue(72));return t}var _c={...Nn,disabled:e=>e.disabled,instantType:e=>e.instantType,isInstantPhase:e=>e.isInstantPhase,trackCursorAxis:e=>e.trackCursorAxis,disableHoverablePopup:e=>e.disableHoverablePopup,lastOpenChangeReason:e=>e.openChangeReason,closeOnClick:e=>e.closeOnClick,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin},vc=class extends Gt{constructor(e,t,n){let r=new gn;super(yc(e,r,t,n),bc(r),_c)}setOpen=(e,t)=>{ln(this,e,t,{extraState:{openChangeReason:t.reason}})};cancelPendingOpen(e){this.state.floatingRootContext.dispatchOpenChange(!1,zt(Pt,e))}};function yc(e,t,n,r=!1){let i={...Ln(),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:`none`,disableHoverablePopup:!1,openChangeReason:null,closeOnClick:!0,closeDelay:0,adaptiveOrigin:void 0,...e};return i.floatingRootContext=Pn(t,n,r),i}function bc(e){return{popupRef:G.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:e}}var xc=Zt(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=$t((e,t)=>new vc({open:n,openProp:r,activeTriggerId:d,triggerIdProp:u},e,t));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(`mounted`),v=p.useState(`payload`);p.useSyncedValues({trackCursorAxis:a,disableHoverablePopup:i,disabled:t}),xn(p,{closeOnActiveTriggerUnmount:!0});let{forceUnmount:y,transitionStatus:b}=rn(h,p),x=p.useState(`isInstantPhase`),S=p.useState(`instantType`),C=p.useState(`lastOpenChangeReason`),w=G.useRef(null);Dt(()=>{m&&t&&p.setOpen(!1,zt(It))},[m,t,p]),Dt(()=>{b===`ending`&&C===`none`||b!==`ending`&&x?(S!==`delay`&&(w.current=S),p.set(`instantType`,`delay`)):w.current!==null&&(p.set(`instantType`,w.current),w.current=null)},[b,x,C,S,p]),Dt(()=>{h&&(g??p.set(`payload`,void 0))},[p,g,h]),G.useImperativeHandle(o,()=>({unmount:y,close:()=>p.setOpen(!1,zt(Rt))}),[y,p]);let T=h||_||!t&&a!==`none`;return(0,K.jsxs)(hc.Provider,{value:p,children:[l&&(0,K.jsx)(un,{handle:l,store:p}),T&&(0,K.jsx)(Sc,{store:p,disabled:t,trackCursorAxis:a}),typeof f==`function`?f({payload:v}):f]})});function Sc({store:e,disabled:t,trackCursorAxis:n}){let r=e.useState(`floatingRootContext`),i=Ut(r,{enabled:!t,referencePress:()=>e.select(`closeOnClick`)}),a=zs(r,{enabled:!t&&n!==`none`,axis:n===`none`?void 0:n}),o=G.useMemo(()=>Re(a.reference,i.reference),[a.reference,i.reference]);return bn(e,{activeTriggerProps:o,inactiveTriggerProps:o,popupProps:i.floating??Le}),null}var Cc=G.createContext(void 0);function wc(){return G.useContext(Cc)}var Tc=`data-base-ui-tooltip-trigger`;function Ec(e){if(`composedPath`in e){let t=e.composedPath();for(let e=0;em.select(`transitionStatus`)===`ending`,shouldOpen(){return!j.current}}),I=Us(v,{enabled:!A}).reference,ae=e=>{let t=j.current,n=Ec(e),r=F(n),i=y.current,a=i&&n&&Ht(i,n);if(r&&m.select(`open`)&&m.select(`lastOpenChangeReason`)===`trigger-hover`){m.setOpen(!1,zt(Ft,e));return}if(t&&!r&&a&&!ee.current&&!m.select(`open`)&&i&&mn(N.current)){let t=()=>{!j.current&&!ee.current&&!m.select(`open`)&&m.setOpen(!0,zt(Ft,e,i))},n=re();n===0?(M.clear(),t()):M.start(n,t)}},L=m.useState(`triggerProps`,C);return Be(`button`,e,{state:{open:_},ref:[t,S,y],props:[ie,I,C||te!==`none`?L:void 0,{onMouseOver(e){ae(e.nativeEvent)},onFocus(e){P(Ec(e.nativeEvent))&&e.preventBaseUIHandler()},onMouseLeave(){j.current=!1,M.clear(),N.current=void 0},onPointerEnter(e){N.current=e.pointerType},onPointerDown(e){N.current=e.pointerType,m.set(`closeOnClick`,l),l&&!m.select(`open`)&&m.cancelPendingOpen(e.nativeEvent)},onClick(e){l&&!m.select(`open`)&&m.cancelPendingOpen(e.nativeEvent)},id:h,"data-trigger-disabled":A?``:void 0,[Tc]:A?void 0:``},f],stateAttributesMapping:_n})}),kc=G.createContext(void 0);function Ac(){let e=G.useContext(kc);if(e===void 0)throw Error(Ue(70));return e}var jc=G.forwardRef(function(e,t){let{children:n,container:r,className:i,render:a,style:o,...s}=e,{node:c,subtree:l}=Kt({container:r,ref:t,componentProps:e,elementProps:s});return!l&&!c?null:(0,K.jsxs)(G.Fragment,{children:[l,c&&Xs.createPortal(n,c)]})}),Mc=G.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e;return gc().useState(`mounted`)||n?(0,K.jsx)(kc.Provider,{value:n,children:(0,K.jsx)(jc,{ref:t,...r})}):null}),Nc=G.createContext(void 0);function Pc(){let e=G.useContext(Nc);if(e===void 0)throw Error(Ue(71));return e}var Fc=G.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=Qt,style:g,..._}=e,v=gc(),y=Ac(),b=v.useState(`open`),x=v.useState(`mounted`),S=v.useState(`trackCursorAxis`),C=v.useState(`disableHoverablePopup`),w=v.useState(`floatingRootContext`),T=v.useState(`instantType`),E=v.useState(`transitionStatus`),D=v.useState(`adaptiveOrigin`),O=nt({anchor:i,positionMethod:a,floatingRootContext:w,mounted:x,side:o,sideOffset:c,align:s,alignOffset:l,collisionBoundary:u,collisionPadding:d,sticky:p,arrowPadding:f,disableAnchorTracking:m,keepMounted:y,collisionAvoidance:h,adaptiveOrigin:D}),k=G.useMemo(()=>({open:b,side:O.side,align:O.align,anchorHidden:O.anchorHidden,instant:S===`none`?T:`tracking-cursor`}),[b,O.side,O.align,O.anchorHidden,S,T]),A=it(e,k,{styles:O.positionerStyles,transitionStatus:E,props:_,refs:[t,v.useStateSetter(`positionerElement`)],hidden:!x,inert:!b||S===`both`||C});return(0,K.jsx)(Nc.Provider,{value:O,children:A})}),Ic=G.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,o=gc(),{side:s,align:c}=Pc(),l=o.useState(`open`),u=o.useState(`instantType`),d=o.useState(`transitionStatus`),f=o.useState(`popupProps`),p=o.useState(`floatingRootContext`),m=o.useState(`disabled`),h=o.useState(`closeDelay`);Fe({open:l,ref:o.context.popupRef,onComplete(){l&&o.context.onOpenChangeComplete?.(!0)}}),Ys(p,{enabled:!m,closeDelay:h});let g=o.useStateSetter(`popupElement`);return Be(`div`,e,{state:{open:l,side:s,align:c,instant:u,transitionStatus:d},ref:[t,o.context.popupRef,g],props:[pn,f,ct(d),a],stateAttributesMapping:qt})}),Lc=G.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,o=gc(),{arrowRef:s,side:c,align:l,arrowUncentered:u,arrowStyles:d}=Pc(),f={open:o.useState(`open`),side:c,align:l,uncentered:u,instant:o.useState(`instantType`)};return Be(`div`,e,{state:f,ref:[t,s],props:[{style:d,"aria-hidden":!0},a],stateAttributesMapping:tn})}),Rc=function(e){let{delay:t,closeDelay:n,timeout:r=400}=e,i=G.useMemo(()=>({open:t,close:n}),[t,n]);return(0,K.jsx)(Cc.Provider,{value:t,children:(0,K.jsx)(Fs,{delay:i,timeoutMs:r,children:e.children})})};function zc(e){let t=(0,q.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,K.jsx)(Rc,{"data-slot":`tooltip-provider`,delay:i,...n}),t[3]=i,t[4]=n,t[5]=a):a=t[5],a}function Bc(e){let t=(0,q.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,K.jsx)(zc,{children:(0,K.jsx)(xc,{"data-slot":`tooltip`,...n})}),t[2]=n,t[3]=r),r}function Vc(e){let t=(0,q.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,K.jsx)(Oc,{"data-slot":`tooltip-trigger`,...n}),t[2]=n,t[3]=r),r}function Hc(e){let t=(0,q.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=V(`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,K.jsx)(Lc,{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,K.jsxs)(Ic,{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,K.jsx)(Mc,{children:(0,K.jsx)(Fc,{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 Uc=window.matchMedia(`(max-width: 767px)`);function Wc(e){return Uc.addEventListener(`change`,e),()=>Uc.removeEventListener(`change`,e)}function Gc(){return Uc.matches}function Kc(){return(0,G.useSyncExternalStore)(Wc,Gc)}var qc=`sidebar_state`,Jc=604800,Yc=`12rem`,Xc=`16rem`,Zc=`3rem`,Qc=`b`,$c=G.createContext(null);function el(){let e=G.useContext($c);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function tl(e){let t=(0,q.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||c,u=Kc(),[d,f]=G.useState(!1),[p,m]=G.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=`${qc}=${t}; path=/; max-age=${Jc}`},t[8]=h,t[9]=o,t[10]=g):g=t[10];let _=g,v;t[11]!==u||t[12]!==_?(v=()=>u?f(rl):_(nl),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===Qc&&(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),G.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=V(`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":Yc,"--sidebar-width-icon":Zc,...s},t[26]=s,t[27]=E);let D=E,O;t[28]!==n||t[29]!==a||t[30]!==T||t[31]!==D?(O=(0,K.jsx)(`div`,{className:T,"data-slot":`sidebar-wrapper`,style:D,...a,children:n}),t[28]=n,t[29]=a,t[30]=T,t[31]=D,t[32]=O):O=t[32];let k;return t[33]!==w||t[34]!==O?(k=(0,K.jsx)($c.Provider,{value:w,children:O}),t[33]=w,t[34]=O,t[35]=k):k=t[35],k}function nl(e){return!e}function rl(e){return!e}function il(e){let t=(0,q.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}=el();if(u===`none`){let e;t[7]===r?e=t[8]:(e=V(`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,K.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":Xc},t[13]=e):e=t[13];let r=e,a;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,K.jsxs)(fc,{className:`sr-only`,children:[(0,K.jsx)(pc,{children:`Sidebar`}),(0,K.jsx)(mc,{children:`Displays the mobile sidebar.`})]}),t[14]=a):a=t[14];let o;t[15]===n?o=t[16]:(o=(0,K.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,K.jsxs)(dc,{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,K.jsx)(cc,{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]:(_=V(`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,K.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=V(`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,K.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,K.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,K.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 al(e){let t=(0,q.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}=el(),o;t[4]===n?o=t[5]:(o=V(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,K.jsx)(xs,{}),l=(0,K.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,K.jsxs)(kt,{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 ol(e){let t=(0,q.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}=el(),a;t[3]===n?a=t[4]:(a=V(`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,K.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 sl(e){let t=(0,q.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=V(`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,K.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 cl(e){let t=(0,q.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=V(`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,K.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 ll(e){let t=(0,q.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=V(`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,K.jsx)(Tn,{className:i,"data-sidebar":`separator`,"data-slot":`sidebar-separator`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function ul(e){let t=(0,q.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=V(`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,K.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 dl(e){let t=(0,q.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=V(`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,K.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 fl(e){let t=(0,q.c)(10),n,r,i,a;if(t[0]!==e){let{className:o,render:s,...c}=e;n=s,a=We,r=`div`,i=Re({className:V(`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 pl(e){let t=(0,q.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=V(`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,K.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 J(e){let t=(0,q.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=V(`group/menu-item relative`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,K.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 ml=He(`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 Y(e){let t=(0,q.c)(15),{render:n,isActive:r,variant:i,size:a,tooltip:o,className:s,...c}=e,l=r!==void 0&&r,u=i===void 0?`default`:i,d=a===void 0?`default`:a,{isMobile:f,state:p}=el(),m=Re({className:V(ml({variant:u,size:d}),s)},c),h=o?Vc: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,K.jsx)(Hc,{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,K.jsxs)(Bc,{children:[v,S]}),t[12]=v,t[13]=S,t[14]=C):C=t[14],C}var hl=new Set([`InvalidClientTokenId`,`SignatureDoesNotMatch`,`AuthFailure`,`MissingAuthenticationToken`,`IncompleteSignature`,`UnrecognizedClientException`,`ExpiredToken`,`ExpiredTokenException`,`InvalidAccessKeyId`]);function gl(e){if(typeof e!=`object`||!e||!(`name`in e))return!1;let{name:t}=e;return typeof t==`string`&&hl.has(t)}var _l=!1;function vl(e,t){_l||!gl(e)||(_l=!0,qe(),Kn(),t.clear(),window.location.pathname!==`/login`&&(window.location.href=`/login?reason=expired`))}function yl(){let e=new wi({queryCache:new Ci({onError:t=>vl(t,e)}),mutationCache:new xi({onError:t=>vl(t,e)}),defaultOptions:{queries:{staleTime:5e3,refetchIntervalInBackground:!1}}});return e}function bl(){let e=(0,q.c)(8),{theme:t,setTheme:n}=as(),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,K.jsx)(ws,{className:`size-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90`}),o=(0,K.jsx)(ys,{className:`absolute size-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0`}),s=(0,K.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,K.jsxs)(kt,{className:`rounded-full`,onClick:i,size:`icon-sm`,variant:`ghost`,children:[a,o,s]}),e[6]=i,e[7]=c),c}function xl(){let e=(0,q.c)(7),{isAdmin:t,license:n}=qn(),r=t&&n===`open-source`,i,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=V(`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,K.jsx)(al,{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,K.jsx)(`a`,{href:`https://mulgadc.com/purchase`,target:`_blank`,rel:`noopener noreferrer`,className:V(Et({variant:`outline`,size:`sm`})),children:`Upgrade`}),e[2]=r,e[3]=o);let s;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,K.jsx)(bl,{}),e[4]=s):s=e[4];let c;return e[5]===o?c=e[6]:(c=(0,K.jsxs)(`header`,{className:i,children:[a,(0,K.jsxs)(`div`,{className:`flex w-full items-center justify-end gap-2`,children:[o,s]})]}),e[5]=o,e[6]=c),c}function Sl(){let e=(0,q.c)(3),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,K.jsx)(`h1`,{className:`text-4xl font-bold`,children:`404`}),n=(0,K.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,K.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4`,children:[t,n,(0,K.jsx)(R,{to:`/`,children:(0,K.jsx)(kt,{variant:`outline`,children:`Go back home`})})]}),e[2]=r):r=e[2],r}function Cl(){let e=(0,q.c)(224),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={select:wl},e[0]=t):t=e[0];let n=Go(t),r=je(),i=h(),{isAdmin:a}=qn(),o;e[1]!==r||e[2]!==i?(o=function(){qe(),Kn(),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,K.jsxs)(sl,{className:`flex flex-row items-center gap-2 px-4 py-3`,children:[(0,K.jsx)(`img`,{src:`/mulga-logo.svg`,alt:`Mulga`,className:`size-6 shrink-0 dark:invert`}),(0,K.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,K.jsx)(fl,{children:`General`}),e[5]=l):l=e[5];let u=n===`/`,d,f;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,K.jsx)(ps,{className:`size-4`}),f=(0,K.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,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/`,children:(0,K.jsxs)(Y,{isActive:u,tooltip:`Dashboard`,children:[d,f]})})}),e[8]=u,e[9]=p);let m;e[10]!==a||e[11]!==n?(m=a&&(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/nodes`,children:(0,K.jsxs)(Y,{isActive:n.startsWith(`/nodes`),tooltip:`Nodes`,children:[(0,K.jsx)(ht,{className:`size-4`}),(0,K.jsx)(`span`,{children:`Nodes`})]})})}),e[10]=a,e[11]=n,e[12]=m):m=e[12];let g;e[13]!==p||e[14]!==m?(g=(0,K.jsxs)(dl,{children:[l,(0,K.jsxs)(pl,{children:[p,m]})]}),e[13]=p,e[14]=m,e[15]=g):g=e[15];let _;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,K.jsx)(fl,{children:`EC2`}),e[16]=_):_=e[16];let v;e[17]===n?v=e[18]:(v=n.startsWith(`/ec2/describe-instances`)||n.startsWith(`/ec2/run-instances`),e[17]=n,e[18]=v);let y,b;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,K.jsx)(ht,{className:`size-4`}),b=(0,K.jsx)(`span`,{children:`Instances`}),e[19]=y,e[20]=b):(y=e[19],b=e[20]);let x;e[21]===v?x=e[22]:(x=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/ec2/describe-instances`,children:(0,K.jsxs)(Y,{isActive:v,tooltip:`Instances`,children:[y,b]})})}),e[21]=v,e[22]=x);let S;e[23]===n?S=e[24]:(S=n.startsWith(`/ec2/describe-launch-templates`)||n.startsWith(`/ec2/create-launch-template`),e[23]=n,e[24]=S);let C,w;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,K.jsx)(fs,{className:`size-4`}),w=(0,K.jsx)(`span`,{children:`Launch Templates`}),e[25]=C,e[26]=w):(C=e[25],w=e[26]);let T;e[27]===S?T=e[28]:(T=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/ec2/describe-launch-templates`,children:(0,K.jsxs)(Y,{isActive:S,tooltip:`Launch Templates`,children:[C,w]})})}),e[27]=S,e[28]=T);let E;e[29]===n?E=e[30]:(E=n.startsWith(`/ec2/describe-images`),e[29]=n,e[30]=E);let D,O;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,K.jsx)(vt,{className:`size-4`}),O=(0,K.jsx)(`span`,{children:`Images`}),e[31]=D,e[32]=O):(D=e[31],O=e[32]);let k;e[33]===E?k=e[34]:(k=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/ec2/describe-images`,children:(0,K.jsxs)(Y,{isActive:E,tooltip:`Images`,children:[D,O]})})}),e[33]=E,e[34]=k);let A;e[35]===n?A=e[36]:(A=n.startsWith(`/ec2/describe-key-pairs`),e[35]=n,e[36]=A);let ee,te;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,K.jsx)(mt,{className:`size-4`}),te=(0,K.jsx)(`span`,{children:`Key Pairs`}),e[37]=ee,e[38]=te):(ee=e[37],te=e[38]);let ne;e[39]===A?ne=e[40]:(ne=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/ec2/describe-key-pairs`,children:(0,K.jsxs)(Y,{isActive:A,tooltip:`Key Pairs`,children:[ee,te]})})}),e[39]=A,e[40]=ne);let j;e[41]===n?j=e[42]:(j=n.startsWith(`/ec2/describe-addresses`)||n.startsWith(`/ec2/allocate-address`),e[41]=n,e[42]=j);let M,N;e[43]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,K.jsx)(vs,{className:`size-4`}),N=(0,K.jsx)(`span`,{children:`Elastic IPs`}),e[43]=M,e[44]=N):(M=e[43],N=e[44]);let re;e[45]===j?re=e[46]:(re=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/ec2/describe-addresses`,children:(0,K.jsxs)(Y,{isActive:j,tooltip:`Elastic IPs`,children:[M,N]})})}),e[45]=j,e[46]=re);let P;e[47]===n?P=e[48]:(P=n.startsWith(`/ec2/describe-volumes`)||n.startsWith(`/ec2/create-volume`)||n.startsWith(`/ec2/modify-volume`),e[47]=n,e[48]=P);let F,ie;e[49]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,K.jsx)(gt,{className:`size-4`}),ie=(0,K.jsx)(`span`,{children:`Volumes`}),e[49]=F,e[50]=ie):(F=e[49],ie=e[50]);let I;e[51]===P?I=e[52]:(I=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/ec2/describe-volumes`,children:(0,K.jsxs)(Y,{isActive:P,tooltip:`Volumes`,children:[F,ie]})})}),e[51]=P,e[52]=I);let ae;e[53]===n?ae=e[54]:(ae=n.startsWith(`/ec2/describe-snapshots`)||n.startsWith(`/ec2/create-snapshot`),e[53]=n,e[54]=ae);let L,oe;e[55]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,K.jsx)(Ze,{className:`size-4`}),oe=(0,K.jsx)(`span`,{children:`Snapshots`}),e[55]=L,e[56]=oe):(L=e[55],oe=e[56]);let se;e[57]===ae?se=e[58]:(se=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/ec2/describe-snapshots`,children:(0,K.jsxs)(Y,{isActive:ae,tooltip:`Snapshots`,children:[L,oe]})})}),e[57]=ae,e[58]=se);let ce;e[59]===n?ce=e[60]:(ce=n.startsWith(`/ec2/describe-placement-groups`)||n.startsWith(`/ec2/create-placement-group`),e[59]=n,e[60]=ce);let le,ue;e[61]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,K.jsx)(hs,{className:`size-4`}),ue=(0,K.jsx)(`span`,{children:`Placement Groups`}),e[61]=le,e[62]=ue):(le=e[61],ue=e[62]);let de;e[63]===ce?de=e[64]:(de=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/ec2/describe-placement-groups`,children:(0,K.jsxs)(Y,{isActive:ce,tooltip:`Placement Groups`,children:[le,ue]})})}),e[63]=ce,e[64]=de);let fe;e[65]===n?fe=e[66]:(fe=n.startsWith(`/ec2/describe-load-balancers`)||n.startsWith(`/ec2/create-load-balancer`),e[65]=n,e[66]=fe);let pe,me;e[67]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,K.jsx)(_t,{className:`size-4`}),me=(0,K.jsx)(`span`,{children:`Load Balancers`}),e[67]=pe,e[68]=me):(pe=e[67],me=e[68]);let he;e[69]===fe?he=e[70]:(he=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/ec2/describe-load-balancers`,children:(0,K.jsxs)(Y,{isActive:fe,tooltip:`Load Balancers`,children:[pe,me]})})}),e[69]=fe,e[70]=he);let ge;e[71]===n?ge=e[72]:(ge=n.startsWith(`/ec2/describe-target-groups`)||n.startsWith(`/ec2/create-target-group`),e[71]=n,e[72]=ge);let _e,ve;e[73]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,K.jsx)(ds,{className:`size-4`}),ve=(0,K.jsx)(`span`,{children:`Target Groups`}),e[73]=_e,e[74]=ve):(_e=e[73],ve=e[74]);let ye;e[75]===ge?ye=e[76]:(ye=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/ec2/describe-target-groups`,children:(0,K.jsxs)(Y,{isActive:ge,tooltip:`Target Groups`,children:[_e,ve]})})}),e[75]=ge,e[76]=ye);let be;e[77]!==x||e[78]!==T||e[79]!==k||e[80]!==ne||e[81]!==re||e[82]!==I||e[83]!==se||e[84]!==de||e[85]!==he||e[86]!==ye?(be=(0,K.jsxs)(dl,{children:[_,(0,K.jsxs)(pl,{children:[x,T,k,ne,re,I,se,de,he,ye]})]}),e[77]=x,e[78]=T,e[79]=k,e[80]=ne,e[81]=re,e[82]=I,e[83]=se,e[84]=de,e[85]=he,e[86]=ye,e[87]=be):be=e[87];let xe;e[88]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,K.jsx)(fl,{children:`Networking`}),e[88]=xe):xe=e[88];let Se;e[89]===n?Se=e[90]:(Se=n.startsWith(`/ec2/describe-vpcs`)||n.startsWith(`/ec2/create-vpc`),e[89]=n,e[90]=Se);let Ce,we;e[91]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,K.jsx)(ut,{className:`size-4`}),we=(0,K.jsx)(`span`,{children:`VPCs`}),e[91]=Ce,e[92]=we):(Ce=e[91],we=e[92]);let z;e[93]===Se?z=e[94]:(z=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/ec2/describe-vpcs`,children:(0,K.jsxs)(Y,{isActive:Se,tooltip:`VPCs`,children:[Ce,we]})})}),e[93]=Se,e[94]=z);let Te;e[95]===n?Te=e[96]:(Te=n.startsWith(`/ec2/describe-subnets`)||n.startsWith(`/ec2/create-subnet`),e[95]=n,e[96]=Te);let B,Ee;e[97]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,K.jsx)(gs,{className:`size-4`}),Ee=(0,K.jsx)(`span`,{children:`Subnets`}),e[97]=B,e[98]=Ee):(B=e[97],Ee=e[98]);let De;e[99]===Te?De=e[100]:(De=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/ec2/describe-subnets`,children:(0,K.jsxs)(Y,{isActive:Te,tooltip:`Subnets`,children:[B,Ee]})})}),e[99]=Te,e[100]=De);let Oe;e[101]===n?Oe=e[102]:(Oe=n.startsWith(`/ec2/describe-security-groups`)||n.startsWith(`/ec2/create-security-group`),e[101]=n,e[102]=Oe);let ke,Ae;e[103]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,K.jsx)(Cs,{className:`size-4`}),Ae=(0,K.jsx)(`span`,{children:`Security Groups`}),e[103]=ke,e[104]=Ae):(ke=e[103],Ae=e[104]);let Me;e[105]===Oe?Me=e[106]:(Me=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/ec2/describe-security-groups`,children:(0,K.jsxs)(Y,{isActive:Oe,tooltip:`Security Groups`,children:[ke,Ae]})})}),e[105]=Oe,e[106]=Me);let Ne;e[107]===n?Ne=e[108]:(Ne=n.startsWith(`/ec2/describe-route-tables`)||n.startsWith(`/ec2/create-route-table`),e[107]=n,e[108]=Ne);let Pe,Fe;e[109]===Symbol.for(`react.memo_cache_sentinel`)?(Pe=(0,K.jsx)(Ss,{className:`size-4`}),Fe=(0,K.jsx)(`span`,{children:`Route Tables`}),e[109]=Pe,e[110]=Fe):(Pe=e[109],Fe=e[110]);let Ie;e[111]===Ne?Ie=e[112]:(Ie=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/ec2/describe-route-tables`,children:(0,K.jsxs)(Y,{isActive:Ne,tooltip:`Route Tables`,children:[Pe,Fe]})})}),e[111]=Ne,e[112]=Ie);let Le;e[113]===n?Le=e[114]:(Le=n.startsWith(`/ec2/describe-internet-gateways`),e[113]=n,e[114]=Le);let Re,ze;e[115]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,K.jsx)(dt,{className:`size-4`}),ze=(0,K.jsx)(`span`,{children:`Internet Gateways`}),e[115]=Re,e[116]=ze):(Re=e[115],ze=e[116]);let Be;e[117]===Le?Be=e[118]:(Be=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/ec2/describe-internet-gateways`,children:(0,K.jsxs)(Y,{isActive:Le,tooltip:`Internet Gateways`,children:[Re,ze]})})}),e[117]=Le,e[118]=Be);let Ve;e[119]===n?Ve=e[120]:(Ve=n.startsWith(`/ec2/describe-nat-gateways`)||n.startsWith(`/ec2/create-nat-gateway`),e[119]=n,e[120]=Ve);let He,Ue;e[121]===Symbol.for(`react.memo_cache_sentinel`)?(He=(0,K.jsx)(ft,{className:`size-4`}),Ue=(0,K.jsx)(`span`,{children:`NAT Gateways`}),e[121]=He,e[122]=Ue):(He=e[121],Ue=e[122]);let We;e[123]===Ve?We=e[124]:(We=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/ec2/describe-nat-gateways`,children:(0,K.jsxs)(Y,{isActive:Ve,tooltip:`NAT Gateways`,children:[He,Ue]})})}),e[123]=Ve,e[124]=We);let V;e[125]!==z||e[126]!==De||e[127]!==Me||e[128]!==Ie||e[129]!==Be||e[130]!==We?(V=(0,K.jsxs)(dl,{children:[xe,(0,K.jsxs)(pl,{children:[z,De,Me,Ie,Be,We]})]}),e[125]=z,e[126]=De,e[127]=Me,e[128]=Ie,e[129]=Be,e[130]=We,e[131]=V):V=e[131];let Ge;e[132]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,K.jsx)(fl,{children:`Containers`}),e[132]=Ge):Ge=e[132];let Ke;e[133]===n?Ke=e[134]:(Ke=n.startsWith(`/eks/list-clusters`)||n.startsWith(`/eks/create-cluster`),e[133]=n,e[134]=Ke);let Je,H;e[135]===Symbol.for(`react.memo_cache_sentinel`)?(Je=(0,K.jsx)(cs,{className:`size-4`}),H=(0,K.jsx)(`span`,{children:`EKS`}),e[135]=Je,e[136]=H):(Je=e[135],H=e[136]);let Ye;e[137]===Ke?Ye=e[138]:(Ye=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/eks/list-clusters`,children:(0,K.jsxs)(Y,{isActive:Ke,tooltip:`EKS clusters`,children:[Je,H]})})}),e[137]=Ke,e[138]=Ye);let Xe;e[139]===n?Xe=e[140]:(Xe=n.startsWith(`/ecr/list-repositories`),e[139]=n,e[140]=Xe);let Qe,$e;e[141]===Symbol.for(`react.memo_cache_sentinel`)?(Qe=(0,K.jsx)(bs,{className:`size-4`}),$e=(0,K.jsx)(`span`,{children:`ECR`}),e[141]=Qe,e[142]=$e):(Qe=e[141],$e=e[142]);let et;e[143]===Xe?et=e[144]:(et=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/ecr/list-repositories`,children:(0,K.jsxs)(Y,{isActive:Xe,tooltip:`ECR repositories`,children:[Qe,$e]})})}),e[143]=Xe,e[144]=et);let tt;e[145]===n?tt=e[146]:(tt=n.startsWith(`/ecs/`),e[145]=n,e[146]=tt);let nt,rt;e[147]===Symbol.for(`react.memo_cache_sentinel`)?(nt=(0,K.jsx)(us,{className:`size-4`}),rt=(0,K.jsx)(`span`,{children:`ECS`}),e[147]=nt,e[148]=rt):(nt=e[147],rt=e[148]);let it;e[149]===tt?it=e[150]:(it=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/ecs/list-clusters`,children:(0,K.jsxs)(Y,{isActive:tt,tooltip:`ECS clusters`,children:[nt,rt]})})}),e[149]=tt,e[150]=it);let at;e[151]!==Ye||e[152]!==et||e[153]!==it?(at=(0,K.jsxs)(dl,{children:[Ge,(0,K.jsxs)(pl,{children:[Ye,et,it]})]}),e[151]=Ye,e[152]=et,e[153]=it,e[154]=at):at=e[154];let ot;e[155]===Symbol.for(`react.memo_cache_sentinel`)?(ot=(0,K.jsx)(fl,{children:`IAM`}),e[155]=ot):ot=e[155];let st;e[156]===n?st=e[157]:(st=n.startsWith(`/iam/list-users`)||n.startsWith(`/iam/create-user`),e[156]=n,e[157]=st);let ct,lt;e[158]===Symbol.for(`react.memo_cache_sentinel`)?(ct=(0,K.jsx)(Ds,{className:`size-4`}),lt=(0,K.jsx)(`span`,{children:`Users`}),e[158]=ct,e[159]=lt):(ct=e[158],lt=e[159]);let yt;e[160]===st?yt=e[161]:(yt=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/iam/list-users`,children:(0,K.jsxs)(Y,{isActive:st,tooltip:`Users`,children:[ct,lt]})})}),e[160]=st,e[161]=yt);let bt;e[162]===n?bt=e[163]:(bt=n.startsWith(`/iam/list-groups`)||n.startsWith(`/iam/create-group`),e[162]=n,e[163]=bt);let xt,St;e[164]===Symbol.for(`react.memo_cache_sentinel`)?(xt=(0,K.jsx)(Es,{className:`size-4`}),St=(0,K.jsx)(`span`,{children:`Groups`}),e[164]=xt,e[165]=St):(xt=e[164],St=e[165]);let Ct;e[166]===bt?Ct=e[167]:(Ct=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/iam/list-groups`,children:(0,K.jsxs)(Y,{isActive:bt,tooltip:`Groups`,children:[xt,St]})})}),e[166]=bt,e[167]=Ct);let wt;e[168]===n?wt=e[169]:(wt=n.startsWith(`/iam/list-policies`)||n.startsWith(`/iam/create-policy`),e[168]=n,e[169]=wt);let Tt,Et;e[170]===Symbol.for(`react.memo_cache_sentinel`)?(Tt=(0,K.jsx)(pt,{className:`size-4`}),Et=(0,K.jsx)(`span`,{children:`Policies`}),e[170]=Tt,e[171]=Et):(Tt=e[170],Et=e[171]);let Dt;e[172]===wt?Dt=e[173]:(Dt=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/iam/list-policies`,children:(0,K.jsxs)(Y,{isActive:wt,tooltip:`Policies`,children:[Tt,Et]})})}),e[172]=wt,e[173]=Dt);let Ot;e[174]===n?Ot=e[175]:(Ot=n.startsWith(`/iam/list-roles`)||n.startsWith(`/iam/create-role`),e[174]=n,e[175]=Ot);let kt,At;e[176]===Symbol.for(`react.memo_cache_sentinel`)?(kt=(0,K.jsx)(Ts,{className:`size-4`}),At=(0,K.jsx)(`span`,{children:`Roles`}),e[176]=kt,e[177]=At):(kt=e[176],At=e[177]);let jt;e[178]===Ot?jt=e[179]:(jt=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/iam/list-roles`,children:(0,K.jsxs)(Y,{isActive:Ot,tooltip:`Roles`,children:[kt,At]})})}),e[178]=Ot,e[179]=jt);let Mt;e[180]===n?Mt=e[181]:(Mt=n.startsWith(`/iam/list-instance-profiles`)||n.startsWith(`/iam/create-instance-profile`),e[180]=n,e[181]=Mt);let Nt,Pt;e[182]===Symbol.for(`react.memo_cache_sentinel`)?(Nt=(0,K.jsx)(ms,{className:`size-4`}),Pt=(0,K.jsx)(`span`,{children:`Instance Profiles`}),e[182]=Nt,e[183]=Pt):(Nt=e[182],Pt=e[183]);let Ft;e[184]===Mt?Ft=e[185]:(Ft=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/iam/list-instance-profiles`,children:(0,K.jsxs)(Y,{isActive:Mt,tooltip:`Instance Profiles`,children:[Nt,Pt]})})}),e[184]=Mt,e[185]=Ft);let It;e[186]!==Ct||e[187]!==Dt||e[188]!==jt||e[189]!==Ft||e[190]!==yt?(It=(0,K.jsxs)(dl,{children:[ot,(0,K.jsxs)(pl,{children:[yt,Ct,Dt,jt,Ft]})]}),e[186]=Ct,e[187]=Dt,e[188]=jt,e[189]=Ft,e[190]=yt,e[191]=It):It=e[191];let Lt;e[192]===Symbol.for(`react.memo_cache_sentinel`)?(Lt=(0,K.jsx)(fl,{children:`S3`}),e[192]=Lt):Lt=e[192];let Rt;e[193]===n?Rt=e[194]:(Rt=n.startsWith(`/s3/ls`),e[193]=n,e[194]=Rt);let zt,Bt;e[195]===Symbol.for(`react.memo_cache_sentinel`)?(zt=(0,K.jsx)(ht,{className:`size-4`}),Bt=(0,K.jsx)(`span`,{children:`Buckets`}),e[195]=zt,e[196]=Bt):(zt=e[195],Bt=e[196]);let Vt;e[197]===Rt?Vt=e[198]:(Vt=(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/s3/ls`,children:(0,K.jsxs)(Y,{isActive:Rt,tooltip:`Buckets`,children:[zt,Bt]})})}),e[197]=Rt,e[198]=Vt);let Ht;e[199]!==a||e[200]!==n?(Ht=a&&(0,K.jsx)(J,{children:(0,K.jsx)(R,{to:`/s3/service-metrics`,children:(0,K.jsxs)(Y,{isActive:n.startsWith(`/s3/service-metrics`),tooltip:`Service Metrics`,children:[(0,K.jsx)(os,{className:`size-4`}),(0,K.jsx)(`span`,{children:`Service Metrics`})]})})}),e[199]=a,e[200]=n,e[201]=Ht):Ht=e[201];let Ut;e[202]!==Vt||e[203]!==Ht?(Ut=(0,K.jsxs)(dl,{children:[Lt,(0,K.jsxs)(pl,{children:[Vt,Ht]})]}),e[202]=Vt,e[203]=Ht,e[204]=Ut):Ut=e[204];let Wt;e[205]===a?Wt=e[206]:(Wt=a&&(0,K.jsxs)(dl,{children:[(0,K.jsx)(fl,{children:`Documentation`}),(0,K.jsx)(pl,{children:(0,K.jsx)(J,{children:(0,K.jsx)(`a`,{href:`https://docs.mulgadc.com`,target:`_blank`,rel:`noopener noreferrer`,children:(0,K.jsxs)(Y,{tooltip:`Documentation`,children:[(0,K.jsx)(ss,{className:`size-4`}),(0,K.jsx)(`span`,{children:`Docs`})]})})})})]}),e[205]=a,e[206]=Wt);let Gt;e[207]!==It||e[208]!==Ut||e[209]!==Wt||e[210]!==be||e[211]!==V||e[212]!==g||e[213]!==at?(Gt=(0,K.jsxs)(ul,{children:[g,be,V,at,It,Ut,Wt]}),e[207]=It,e[208]=Ut,e[209]=Wt,e[210]=be,e[211]=V,e[212]=g,e[213]=at,e[214]=Gt):Gt=e[214];let Kt;e[215]===Symbol.for(`react.memo_cache_sentinel`)?(Kt=(0,K.jsx)(ll,{className:`mx-0 w-full`}),e[215]=Kt):Kt=e[215];let qt,Jt;e[216]===Symbol.for(`react.memo_cache_sentinel`)?(qt=(0,K.jsx)(_s,{className:`size-4`}),Jt=(0,K.jsx)(`span`,{children:`Sign out`}),e[216]=qt,e[217]=Jt):(qt=e[216],Jt=e[217]);let Yt;e[218]===s?Yt=e[219]:(Yt=(0,K.jsxs)(cl,{children:[Kt,(0,K.jsx)(pl,{children:(0,K.jsx)(J,{children:(0,K.jsxs)(Y,{onClick:s,tooltip:`Sign out`,children:[qt,Jt]})})})]}),e[218]=s,e[219]=Yt);let Xt;e[220]===Symbol.for(`react.memo_cache_sentinel`)?(Xt=(0,K.jsx)(ol,{}),e[220]=Xt):Xt=e[220];let Zt;return e[221]!==Gt||e[222]!==Yt?(Zt=(0,K.jsxs)(il,{collapsible:`icon`,children:[c,Gt,Yt,Xt]}),e[221]=Gt,e[222]=Yt,e[223]=Zt):Zt=e[223],Zt}function wl(e){return e.pathname}function Tl(e){let t=(0,q.c)(18),{error:n,reset:r}=e,i=De(),a=h(),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,K.jsx)(Cl,{}),t[4]=c):c=t[4];let l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,K.jsx)(xl,{}),t[5]=l):l=t[5];let u,d;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,K.jsx)(`div`,{className:`flex justify-center`,children:(0,K.jsx)(ls,{className:`size-12 text-destructive`})}),d=(0,K.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,K.jsx)(`p`,{className:`text-muted-foreground`,children:f}),t[8]=f,t[9]=p);let m;t[10]===s?m=t[11]:(m=(0,K.jsx)(kt,{onClick:s,variant:`default`,children:`Try Again`}),t[10]=s,t[11]=m);let g;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,K.jsx)(R,{to:`/`,children:(0,K.jsx)(kt,{variant:`outline`,children:`Go Home`})}),t[12]=g):g=t[12];let _;t[13]===m?_=t[14]:(_=(0,K.jsxs)(`div`,{className:`flex justify-center gap-2`,children:[m,g]}),t[13]=m,t[14]=_);let v;return t[15]!==_||t[16]!==p?(v=(0,K.jsxs)(K.Fragment,{children:[c,(0,K.jsxs)(`main`,{className:`flex flex-1 flex-col`,children:[l,(0,K.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-6 pt-0`,children:(0,K.jsxs)(`div`,{className:`max-w-md space-y-4 text-center`,children:[u,d,p,_]})})]})]}),t[15]=_,t[16]=p,t[17]=v):v=t[17],v}var El=Te()({head:()=>({meta:[{title:`Mulga`}]}),component:()=>(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(Zo,{}),(0,K.jsx)(Cl,{}),(0,K.jsxs)(`main`,{className:`flex flex-1 flex-col`,children:[(0,K.jsx)(xl,{}),(0,K.jsx)(`div`,{className:`flex flex-1 flex-col p-8`,children:(0,K.jsx)(he,{})})]})]}),errorComponent:Tl,notFoundComponent:Sl}),Dl=z(`/_auth`)({beforeLoad:()=>{if(!Ge())throw xe({to:`/login`})},component:B(()=>H(()=>import(`./route.js`),__vite__mapDeps([0,1,2,3,4])),`component`)}),Ol=z(`/_auth/`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(ar),e.queryClient.ensureQueryData(Xn),e.queryClient.ensureQueryData(Qn),e.queryClient.ensureQueryData(lr),e.queryClient.ensureQueryData(Dr),e.queryClient.ensureQueryData(dr),e.queryClient.ensureQueryData(tr),e.queryClient.ensureQueryData(sr),e.queryClient.ensureQueryData(rr)])},head:()=>({meta:[{title:`Dashboard | Mulga`}]}),component:B(()=>H(()=>import(`./_auth.js`),__vite__mapDeps([5,1,6,7,8,9,4,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])),`component`)}),kl=z(`/_auth/nodes`)({head:()=>({meta:[{title:`Nodes | Mulga`}]}),component:B(()=>H(()=>import(`./nodes.js`),__vite__mapDeps([31,1,6,7,8,9,4,32,10,11,13,12,14,16,17,18,24,26,20,27,28,29,30])),`component`)}),Al=z(`/_auth/s3/service-metrics`)({head:()=>({meta:[{title:`Service Metrics | S3 | Mulga`}]}),component:B(()=>H(()=>import(`./service-metrics.js`),__vite__mapDeps([33,1,6,7,8,32,16,10,11,17,18,24,26,20,27,28,29,30])),`component`)}),jl=z(`/_auth/ec2/(elastic-ips)/allocate-address`)({head:()=>({meta:[{title:`Allocate Elastic IP | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./allocate-address.js`),__vite__mapDeps([34,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,47,8,48,21,22,19,20,49,50,51,24,52,53])),`component`)}),Ml=`/dev/sda1`,Nl=`gp3`,Pl=1,Fl=16384,Il=z(`/_auth/ec2/(instances)/run-instances`)({validateSearch:e=>({launchTemplateId:typeof e.launchTemplateId==`string`?e.launchTemplateId:void 0,launchTemplateVersion:typeof e.launchTemplateVersion==`string`?e.launchTemplateVersion:void 0}),loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(cr),e.queryClient.ensureQueryData(lr),e.queryClient.ensureQueryData(nr),e.queryClient.ensureQueryData($n),e.queryClient.ensureQueryData(fr),e.queryClient.ensureQueryData(Qn),e.queryClient.ensureQueryData(dr),e.queryClient.ensureQueryData(ir)])},head:()=>({meta:[{title:`Run Instances | EC2 | Mulga`}]}),component:X});function X(){let e=(0,q.c)(136),t=je(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={from:Il.id},e[0]=n):n=e[0];let r=we(n),{data:i}=C(cr),{data:a}=C(lr),{data:o}=C(nr),{data:s}=C($n),{data:c}=C(fr),{data:l}=C(Qn),{data:u}=C(dr),{data:d}=C(ir),f=pr(),p=i.Images??[],m=a.KeyPairs??[],h;e[1]===s.Subnets?h=e[2]:(h=s.Subnets??[],e[1]=s.Subnets,e[2]=h);let g=h,_;e[3]===c.PlacementGroups?_=e[4]:(_=c.PlacementGroups??[],e[3]=c.PlacementGroups,e[4]=_);let v=_,y;e[5]===l.Vpcs?y=e[6]:(y=l.Vpcs??[],e[5]=l.Vpcs,e[6]=y);let b=y,x=u.SecurityGroups??[],w;e[7]===d.LaunchTemplates?w=e[8]:(w=d.LaunchTemplates??[],e[7]=d.LaunchTemplates,e[8]=w);let T=w,E;e[9]===b?E=e[10]:(E=(b.find(Ql)??b[0])?.VpcId,e[9]=b,e[10]=E);let D=E,O=Br(x.map(Zl)),k;if(e[11]!==o.InstanceTypes){k={};for(let e of o.InstanceTypes??[]){let t=e.InstanceType;t&&(k[t]=(k[t]??0)+1)}e[11]=o.InstanceTypes,e[12]=k}else k=e[12];let A=Object.keys(k).toSorted(),ee=p[0]?.ImageId,te=m[0]?.KeyName,ne=A.find(Xl)??A[0],j=$l(p.find(e=>e.ImageId===ee)),M;e[13]===k?M=e[14]:(M=e=>!e.instanceType||e.count<=(k[e.instanceType]??1),e[13]=k,e[14]=M);let{control:N,handleSubmit:re,register:P,setValue:F,getValues:ie,watch:I,formState:ae}=Ar({resolver:Mr(Vr.refine(M,{message:`Cannot exceed available capacity`,path:[`count`]}).superRefine((e,t)=>{let n=$l(p.find(t=>t.ImageId===e.imageId)).snapshotSize;e.rootVolumeSize!==void 0&&n!==void 0&&e.rootVolumeSizee.InstanceType===R))?.GpuInfo?.Gpus?.[0],ue=le?.Name?.startsWith(`MIG `)?le.Name.slice(4):void 0,de;e[17]===N?de=e[18]:(de={control:N,name:`imageId`},e[17]=N,e[18]=de);let fe=kr(de),pe;e[19]===fe?pe=e[20]:(pe=e=>e.ImageId===fe,e[19]=fe,e[20]=pe);let me=$l(p.find(pe)),he;e[21]===N?he=e[22]:(he={control:N,name:`subnetId`},e[21]=N,e[22]=he);let ge=kr(he),_e;e[23]===N?_e=e[24]:(_e={control:N,name:`securityGroupMode`},e[23]=N,e[24]=_e);let ve=kr(_e),ye;e[25]===N?ye=e[26]:(ye={control:N,name:`ruleSource`},e[25]=N,e[26]=ye);let be=kr(ye),xe=kr({control:N,name:`securityGroupIds`})??[],Se;e[27]===N?Se=e[28]:(Se={control:N,name:`launchTemplateId`},e[27]=N,e[28]=Se);let Ce=kr(Se),z;e[29]===N?z=e[30]:(z={control:N,name:`launchTemplateVersion`},e[29]=N,e[30]=z);let Te=kr(z),B=Ce??``,Ee;e[31]===B?Ee=e[32]:(Ee=or(B),e[31]=B,e[32]=Ee);let De=!!Ce,Oe;e[33]!==Ee||e[34]!==De?(Oe={...Ee,enabled:De},e[33]=Ee,e[34]=De,e[35]=Oe):Oe=e[35];let ke=S(Oe),Ae;e[36]===ke.data?.LaunchTemplateVersions?Ae=e[37]:(Ae=ke.data?.LaunchTemplateVersions??[],e[36]=ke.data?.LaunchTemplateVersions,e[37]=Ae);let Me=Ae,Ne;e[38]!==Te||e[39]!==Me?(Ne=eu(Me,Te)?.LaunchTemplateData,e[38]=Te,e[39]=Me,e[40]=Ne):Ne=e[40];let Pe=Ne,Fe;e[41]!==D||e[42]!==ge||e[43]!==g?(Fe=g.find(e=>e.SubnetId===ge)?.VpcId??D,e[41]=D,e[42]=ge,e[43]=g,e[44]=Fe):Fe=e[44];let Ie=Fe,Le;e[45]!==Ie||e[46]!==x?(Le=Ie?x.filter(e=>e.VpcId===Ie):x,e[45]=Ie,e[46]=x,e[47]=Le):Le=e[47];let Re=Le,ze;e[48]!==ie||e[49]!==F?(ze=e=>{let t=ie(`securityGroupIds`)??[],n=t.includes(e)?t.filter(t=>t!==e):[...t,e];F(`securityGroupIds`,n,{shouldValidate:!0})},e[48]=ie,e[49]=F,e[50]=ze):ze=e[50];let Be=ze,Ve;e[51]!==me.deviceName||e[52]!==F?(Ve=()=>{F(`rootDeviceName`,me.deviceName)},e[51]=me.deviceName,e[52]=F,e[53]=Ve):Ve=e[53];let He;e[54]!==fe||e[55]!==me.deviceName||e[56]!==F?(He=[fe,me.deviceName,F],e[54]=fe,e[55]=me.deviceName,e[56]=F,e[57]=He):He=e[57],(0,G.useEffect)(Ve,He);let Ue;e[58]!==f||e[59]!==Ie||e[60]!==t?(Ue=async e=>{let n=e.launchTemplateId?{count:e.count,launchTemplateId:e.launchTemplateId,launchTemplateVersion:e.launchTemplateVersion,resolvedVpcId:Ie}:{...e,resolvedVpcId:Ie};await f.mutateAsync(n),t({to:`/ec2/describe-instances`})},e[58]=f,e[59]=Ie,e[60]=t,e[61]=Ue):Ue=e[61];let We=Ue,V,Ge;e[62]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,K.jsx)(Xe,{to:`/ec2/describe-instances`,children:`Back to instances`}),Ge=(0,K.jsx)(Ir,{title:`Run Instances`}),e[62]=V,e[63]=Ge):(V=e[62],Ge=e[63]);let qe;e[64]!==Ce||e[65]!==A?(qe=A.length===0&&!Ce&&(0,K.jsx)(Pr,{msg:`No compute available. No new instances can be created until compute is available.`}),e[64]=Ce,e[65]=A,e[66]=qe):qe=e[66];let Je;e[67]===f.error?Je=e[68]:(Je=f.error&&(0,K.jsx)(Pr,{error:f.error,msg:`Failed to create instance`}),e[67]=f.error,e[68]=Je);let H;e[69]!==re||e[70]!==We?(H=re(We),e[69]=re,e[70]=We,e[71]=H):H=e[71];let Ye;e[72]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=(0,K.jsx)(Cn,{children:(0,K.jsx)(`label`,{htmlFor:`launchTemplateId`,children:`Launch Template`})}),e[72]=Ye):Ye=e[72];let Ze;e[73]===T?Ze=e[74]:(Ze=e=>{let{field:t}=e;return(0,K.jsxs)(st,{onValueChange:e=>t.onChange(e===`none`?void 0:e),value:t.value??`none`,children:[(0,K.jsx)(ot,{className:`w-full`,id:`launchTemplateId`,children:(0,K.jsx)(tt,{})}),(0,K.jsxs)(at,{children:[(0,K.jsx)(rt,{value:`none`,children:`none`}),T.map(Yl)]})]})},e[73]=T,e[74]=Ze);let Qe;e[75]!==N||e[76]!==Ze?(Qe=(0,K.jsxs)(Dn,{children:[Ye,(0,K.jsx)(jr,{control:N,name:`launchTemplateId`,render:Ze})]}),e[75]=N,e[76]=Ze,e[77]=Qe):Qe=e[77];let $e;e[78]!==N||e[79]!==Pe||e[80]!==Ce||e[81]!==Me?($e=Ce&&(0,K.jsxs)(Dn,{children:[(0,K.jsx)(Cn,{children:(0,K.jsx)(`label`,{htmlFor:`launchTemplateVersion`,children:`Version`})}),(0,K.jsx)(jr,{control:N,name:`launchTemplateVersion`,render:e=>{let{field:t}=e;return(0,K.jsxs)(st,{onValueChange:e=>t.onChange(e),value:t.value??`$Default`,children:[(0,K.jsx)(ot,{className:`w-full`,id:`launchTemplateVersion`,children:(0,K.jsx)(tt,{})}),(0,K.jsxs)(at,{children:[(0,K.jsx)(rt,{value:`$Default`,children:`$Default`}),(0,K.jsx)(rt,{value:`$Latest`,children:`$Latest`}),Me.map(Jl)]})]})}}),Pe&&(0,K.jsxs)(`div`,{className:`mt-3 space-y-1 rounded-md border border-border p-3 text-xs`,children:[(0,K.jsx)(`p`,{className:`text-muted-foreground`,children:`Configuration from this version:`}),(0,K.jsxs)(`p`,{children:[`Image:`,` `,(0,K.jsx)(`span`,{className:`font-mono`,children:Pe.ImageId??`—`})]}),(0,K.jsxs)(`p`,{children:[`Instance type:`,` `,(0,K.jsx)(`span`,{className:`font-mono`,children:Pe.InstanceType??`—`})]}),(0,K.jsxs)(`p`,{children:[`Key pair:`,` `,(0,K.jsx)(`span`,{className:`font-mono`,children:Pe.KeyName??`—`})]})]})]}),e[78]=N,e[79]=Pe,e[80]=Ce,e[81]=Me,e[82]=$e):$e=e[82];let nt=!Ce&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(Dn,{children:[(0,K.jsx)(Cn,{children:(0,K.jsx)(`label`,{htmlFor:`imageId`,children:`Image`})}),(0,K.jsx)(jr,{control:N,name:`imageId`,render:e=>{let{field:t}=e,n=p.find(e=>e.ImageId===t.value);return(0,K.jsxs)(st,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,K.jsx)(ot,{"aria-invalid":!!L.imageId,className:`w-full`,id:`imageId`,children:(0,K.jsx)(tt,{children:n?`${n.Name??`Unnamed`} (${n.Architecture})`:``})}),(0,K.jsx)(at,{children:p.map(ql)})]})}}),(0,K.jsx)(En,{errors:[L.imageId]})]}),(0,K.jsxs)(Dn,{children:[(0,K.jsx)(Cn,{children:(0,K.jsx)(`label`,{htmlFor:`instanceType`,children:`Instance Type`})}),(0,K.jsx)(jr,{control:N,name:`instanceType`,render:e=>{let{field:t}=e;return(0,K.jsx)(Fr,{"aria-invalid":!!L.instanceType,availabilityByType:k,className:`w-full`,id:`instanceType`,instanceTypes:o.InstanceTypes??[],onValueChange:t.onChange,value:t.value??``})}}),le&&(0,K.jsxs)(wn,{children:[`GPU: `,le.Name,le.MemoryInfo?.SizeInMiB!==void 0&&` · ${Ke(le.MemoryInfo.SizeInMiB)} VRAM`,ue&&` · MIG ${ue} slice`]}),(0,K.jsx)(En,{errors:[L.instanceType]})]}),(0,K.jsxs)(Dn,{children:[(0,K.jsx)(Cn,{children:(0,K.jsx)(`label`,{htmlFor:`keyName`,children:`Key Pair`})}),(0,K.jsx)(jr,{control:N,name:`keyName`,render:e=>{let{field:t}=e;return(0,K.jsxs)(st,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,K.jsx)(ot,{"aria-invalid":!!L.keyName,className:`w-full`,id:`keyName`,children:(0,K.jsx)(tt,{})}),(0,K.jsx)(at,{children:m.map(Kl)})]})}}),(0,K.jsx)(En,{errors:[L.keyName]})]}),(0,K.jsxs)(Dn,{children:[(0,K.jsx)(Cn,{children:(0,K.jsx)(`label`,{htmlFor:`subnetId`,children:`Subnet`})}),(0,K.jsx)(jr,{control:N,name:`subnetId`,render:e=>{let{field:t}=e;return(0,K.jsxs)(st,{onValueChange:e=>t.onChange(e===`none`?void 0:e),value:t.value??`none`,children:[(0,K.jsx)(ot,{className:`w-full`,id:`subnetId`,children:(0,K.jsx)(tt,{})}),(0,K.jsxs)(at,{children:[(0,K.jsx)(rt,{value:`none`,children:`none`}),g.map(Gl)]})]})}})]}),(0,K.jsxs)(Dn,{children:[(0,K.jsx)(Cn,{children:`Security Group`}),(0,K.jsx)(wn,{children:Ie?`Applies to VPC ${Ie}`:`No VPC resolved — select a subnet`}),(0,K.jsx)(jr,{control:N,name:`securityGroupMode`,render:Wl}),ve===`create`?(0,K.jsxs)(`div`,{className:`mt-3 space-y-4 rounded-md border border-border p-4`,children:[(0,K.jsxs)(Dn,{children:[(0,K.jsx)(Cn,{children:(0,K.jsx)(`label`,{htmlFor:`newSgName`,children:`Name`})}),(0,K.jsx)(Sn,{"aria-invalid":!!L.newSgName,id:`newSgName`,type:`text`,...P(`newSgName`)}),(0,K.jsx)(En,{errors:[L.newSgName]})]}),(0,K.jsxs)(Dn,{children:[(0,K.jsx)(Cn,{children:(0,K.jsx)(`label`,{htmlFor:`newSgDescription`,children:`Description`})}),(0,K.jsx)(Sn,{id:`newSgDescription`,type:`text`,...P(`newSgDescription`)})]}),(0,K.jsxs)(Dn,{children:[(0,K.jsx)(Cn,{children:`Inbound rules`}),(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(jr,{control:N,name:`allowSsh`,render:Ul}),(0,K.jsx)(jr,{control:N,name:`allowHttp`,render:Hl}),(0,K.jsx)(jr,{control:N,name:`allowHttps`,render:Vl})]})]}),(0,K.jsxs)(Dn,{children:[(0,K.jsx)(Cn,{children:`Source`}),(0,K.jsx)(jr,{control:N,name:`ruleSource`,render:Bl}),be===`custom`&&(0,K.jsxs)(`div`,{className:`mt-2`,children:[(0,K.jsx)(Sn,{"aria-invalid":!!L.customCidr,placeholder:`203.0.113.0/24`,type:`text`,...P(`customCidr`)}),(0,K.jsx)(En,{errors:[L.customCidr]})]})]})]}):(0,K.jsxs)(`div`,{className:`mt-3`,children:[Re.length===0?(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No security groups in the resolved VPC.`}):(0,K.jsx)(`div`,{className:`space-y-1`,children:Re.map(e=>(0,K.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,K.jsx)(`input`,{"aria-label":`Security group ${e.GroupId} (${e.GroupName})`,checked:xe.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.jsx)(En,{errors:[L.securityGroupIds]})]})]}),(0,K.jsxs)(Dn,{children:[(0,K.jsx)(Cn,{children:(0,K.jsx)(`label`,{htmlFor:`placementGroupName`,children:`Placement Group`})}),(0,K.jsx)(jr,{control:N,name:`placementGroupName`,render:e=>{let{field:t}=e;return(0,K.jsxs)(st,{onValueChange:e=>t.onChange(e===`none`?void 0:e),value:t.value??`none`,children:[(0,K.jsx)(ot,{className:`w-full`,id:`placementGroupName`,children:(0,K.jsx)(tt,{})}),(0,K.jsxs)(at,{children:[(0,K.jsx)(rt,{value:`none`,children:`none`}),v.map(zl)]})]})}})]})]}),it;e[83]===Symbol.for(`react.memo_cache_sentinel`)?(it=(0,K.jsx)(Cn,{children:(0,K.jsx)(`label`,{htmlFor:`count`,children:`Number of Instances`})}),e[83]=it):it=e[83];let ct=!!L.count,lt;e[84]===P?lt=e[85]:(lt=P(`count`,{valueAsNumber:!0}),e[84]=P,e[85]=lt);let ut;e[86]!==ct||e[87]!==lt?(ut=(0,K.jsx)(Sn,{"aria-describedby":`count-description`,"aria-invalid":ct,id:`count`,type:`number`,...lt}),e[86]=ct,e[87]=lt,e[88]=ut):ut=e[88];let dt=R&&`Available capacity for ${R}: ${ce}`,ft;e[89]===dt?ft=e[90]:(ft=(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,id:`count-description`,children:dt}),e[89]=dt,e[90]=ft);let pt;e[91]===L.count?pt=e[92]:(pt=(0,K.jsx)(En,{errors:[L.count]}),e[91]=L.count,e[92]=pt);let mt;e[93]!==ut||e[94]!==ft||e[95]!==pt?(mt=(0,K.jsxs)(Dn,{children:[it,ut,ft,pt]}),e[93]=ut,e[94]=ft,e[95]=pt,e[96]=mt):mt=e[96];let ht;e[97]!==N||e[98]!==L.rootDeviceName||e[99]!==L.rootVolumeSize||e[100]!==L.rootVolumeType||e[101]!==P||e[102]!==me.snapshotSize||e[103]!==Ce?(ht=!Ce&&(0,K.jsx)(K.Fragment,{children:(0,K.jsxs)(zr,{children:[(0,K.jsxs)(Rr,{className:`group flex h-7 w-full items-center justify-between rounded-md border border-input bg-input/20 px-2 py-0.5 text-sm transition-colors outline-none hover:bg-input/40 focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 md:text-xs/relaxed dark:bg-input/30 dark:hover:bg-input/50`,render:(0,K.jsx)(`button`,{"aria-label":`Block Device Mappings (root volume)`,type:`button`}),children:[(0,K.jsx)(`span`,{children:`Block Device Mappings (root volume)`}),(0,K.jsx)(et,{className:`size-3.5 text-muted-foreground transition-transform group-data-[panel-open]:rotate-180`})]}),(0,K.jsxs)(Lr,{className:`mt-3 space-y-4 rounded-md border border-border p-4`,children:[(0,K.jsxs)(Dn,{children:[(0,K.jsx)(Cn,{children:(0,K.jsx)(`label`,{htmlFor:`rootDeviceName`,children:`Device Name`})}),(0,K.jsx)(Sn,{"aria-invalid":!!L.rootDeviceName,id:`rootDeviceName`,type:`text`,...P(`rootDeviceName`)}),(0,K.jsx)(En,{errors:[L.rootDeviceName]})]}),(0,K.jsxs)(Dn,{children:[(0,K.jsx)(Cn,{children:(0,K.jsx)(`label`,{htmlFor:`rootVolumeSize`,children:`Volume Size (GiB)`})}),(0,K.jsx)(Sn,{"aria-invalid":!!L.rootVolumeSize,id:`rootVolumeSize`,max:Fl,min:me.snapshotSize??Pl,placeholder:me.snapshotSize?`${me.snapshotSize} (AMI default)`:`use AMI / backend default`,type:`number`,...P(`rootVolumeSize`,{setValueAs:Rl})}),me.snapshotSize!==void 0&&(0,K.jsxs)(wn,{children:[`AMI snapshot size: `,me.snapshotSize,` GiB`]}),(0,K.jsx)(En,{errors:[L.rootVolumeSize]})]}),(0,K.jsxs)(Dn,{children:[(0,K.jsx)(Cn,{children:(0,K.jsx)(`label`,{htmlFor:`rootVolumeType`,children:`Volume Type`})}),(0,K.jsx)(jr,{control:N,name:`rootVolumeType`,render:e=>{let{field:t}=e;return(0,K.jsxs)(st,{onValueChange:e=>t.onChange(e),value:t.value??Nl,children:[(0,K.jsx)(ot,{"aria-invalid":!!L.rootVolumeType,className:`w-full`,id:`rootVolumeType`,children:(0,K.jsx)(tt,{})}),(0,K.jsx)(at,{children:Ur.map(Ll)})]})}}),(0,K.jsx)(En,{errors:[L.rootVolumeType]})]}),(0,K.jsx)(Dn,{children:(0,K.jsx)(jr,{control:N,name:`rootDeleteOnTermination`,render:Z})})]})]})}),e[97]=N,e[98]=L.rootDeviceName,e[99]=L.rootVolumeSize,e[100]=L.rootVolumeType,e[101]=P,e[102]=me.snapshotSize,e[103]=Ce,e[104]=ht):ht=e[104];let gt;e[105]!==Ie||e[106]!==I?(gt=tu(I,Ie),e[105]=Ie,e[106]=I,e[107]=gt):gt=e[107];let _t;e[108]===gt?_t=e[109]:(_t=(0,K.jsx)(bt,{commands:gt}),e[108]=gt,e[109]=_t);let vt=oe||f.isPending,yt;e[110]===t?yt=e[111]:(yt=async()=>await t({to:`/ec2/describe-instances`}),e[110]=t,e[111]=yt);let xt;e[112]!==vt||e[113]!==yt?(xt=(0,K.jsx)(kt,{disabled:vt,onClick:yt,type:`button`,variant:`outline`,children:`Cancel`}),e[112]=vt,e[113]=yt,e[114]=xt):xt=e[114];let St=oe||f.isPending||!Ce&&A.length===0,Ct=oe||f.isPending?`Creating…`:`Create Instance`,wt;e[115]!==St||e[116]!==Ct?(wt=(0,K.jsx)(kt,{disabled:St,type:`submit`,children:Ct}),e[115]=St,e[116]=Ct,e[117]=wt):wt=e[117];let Tt;e[118]!==xt||e[119]!==wt?(Tt=(0,K.jsxs)(`div`,{className:`flex gap-2`,children:[xt,wt]}),e[118]=xt,e[119]=wt,e[120]=Tt):Tt=e[120];let Et;e[121]!==H||e[122]!==Qe||e[123]!==$e||e[124]!==nt||e[125]!==mt||e[126]!==ht||e[127]!==_t||e[128]!==Tt?(Et=(0,K.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:H,children:[Qe,$e,nt,mt,ht,_t,Tt]}),e[121]=H,e[122]=Qe,e[123]=$e,e[124]=nt,e[125]=mt,e[126]=ht,e[127]=_t,e[128]=Tt,e[129]=Et):Et=e[129];let Dt;return e[130]!==V||e[131]!==Ge||e[132]!==qe||e[133]!==Je||e[134]!==Et?(Dt=(0,K.jsxs)(K.Fragment,{children:[V,Ge,qe,Je,Et]}),e[130]=V,e[131]=Ge,e[132]=qe,e[133]=Je,e[134]=Et,e[135]=Dt):Dt=e[135],Dt}function Z(e){let{field:t}=e;return(0,K.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,K.jsx)(`input`,{"aria-label":`Delete on termination`,checked:t.value??!0,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),`Delete on termination`]})}function Ll(e){return(0,K.jsx)(rt,{value:e,children:e},e)}function Rl(e){return e===``||e==null?void 0:Number(e)}function zl(e){return(0,K.jsxs)(rt,{value:e.GroupName??``,children:[e.GroupName,` (`,e.Strategy,`)`]},e.GroupId)}function Bl(e){let{field:t}=e;return(0,K.jsxs)(`div`,{className:`flex gap-4 text-sm`,children:[(0,K.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`input`,{"aria-label":`Source anywhere`,checked:t.value===`anywhere`,onChange:()=>t.onChange(`anywhere`),type:`radio`}),`Anywhere (0.0.0.0/0)`]}),(0,K.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`input`,{"aria-label":`Source custom CIDR`,checked:t.value===`custom`,onChange:()=>t.onChange(`custom`),type:`radio`}),`Custom CIDR`]})]})}function Vl(e){let{field:t}=e;return(0,K.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,K.jsx)(`input`,{"aria-label":`Allow HTTPS`,checked:t.value,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),`Allow HTTPS (tcp/443)`]})}function Hl(e){let{field:t}=e;return(0,K.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,K.jsx)(`input`,{"aria-label":`Allow HTTP`,checked:t.value,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),`Allow HTTP (tcp/80)`]})}function Ul(e){let{field:t}=e;return(0,K.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,K.jsx)(`input`,{"aria-label":`Allow SSH`,checked:t.value,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),`Allow SSH (tcp/22)`]})}function Wl(e){let{field:t}=e;return(0,K.jsxs)(`div`,{className:`flex gap-4 text-sm`,children:[(0,K.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`input`,{"aria-label":`Create new security group`,checked:t.value===`create`,onChange:()=>t.onChange(`create`),type:`radio`}),`Create new`]}),(0,K.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`input`,{"aria-label":`Select existing security group`,checked:t.value===`existing`,onChange:()=>t.onChange(`existing`),type:`radio`}),`Select existing`]})]})}function Gl(e){return(0,K.jsx)(rt,{value:e.SubnetId??``,children:e.SubnetId},e.SubnetId)}function Kl(e){return(0,K.jsx)(rt,{value:e.KeyName??``,children:e.KeyName},e.KeyPairId)}function ql(e){return(0,K.jsxs)(rt,{value:e.ImageId??``,children:[e.Name??`Unnamed`,` (`,e.Architecture,`)`]},e.ImageId)}function Jl(e){return(0,K.jsxs)(rt,{value:String(e.VersionNumber),children:[`v`,e.VersionNumber]},e.VersionNumber)}function Yl(e){return(0,K.jsx)(rt,{value:e.LaunchTemplateId??``,children:e.LaunchTemplateName??e.LaunchTemplateId},e.LaunchTemplateId)}function Xl(e){return e.endsWith(`.nano`)}function Zl(e){return e.GroupName??``}function Ql(e){return e.IsDefault}function $l(e){let t=e?.RootDeviceName??Ml,n=e?.BlockDeviceMappings??[];return{deviceName:t,snapshotSize:(n.find(e=>e.DeviceName===t)??n[0])?.Ebs?.VolumeSize}}function eu(e,t){if(e.length===0)return;if(!t||t===`$Default`)return e.find(e=>e.DefaultVersion)??e[0];if(t===`$Latest`)return e.toSorted((e,t)=>(t.VersionNumber??0)-(e.VersionNumber??0))[0];let n=Number(t);return e.find(e=>e.VersionNumber===n)}function tu(e,t){let n=e(`launchTemplateId`),r=typeof n==`string`?n:``;if(r){let t=e(`launchTemplateVersion`),n=typeof t==`string`&&t?t:`$Default`,i=e(`count`),a=typeof i==`number`?i:0;return[{label:`Run Instances`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 run-instances`},{type:`flag`,value:` \\ +`+e.stack}}var ve=Object.prototype.hasOwnProperty,ye=t.unstable_scheduleCallback,be=t.unstable_cancelCallback,xe=t.unstable_shouldYield,Se=t.unstable_requestPaint,Ce=t.unstable_now,we=t.unstable_getCurrentPriorityLevel,z=t.unstable_ImmediatePriority,Te=t.unstable_UserBlockingPriority,B=t.unstable_NormalPriority,Ee=t.unstable_LowPriority,De=t.unstable_IdlePriority,Oe=t.log,ke=t.unstable_setDisableYieldValue,Ae=null,je=null;function Me(e){if(typeof Oe==`function`&&ke(e),je&&typeof je.setStrictMode==`function`)try{je.setStrictMode(Ae,e)}catch{}}var Pe=Math.clz32?Math.clz32:Le,Fe=Math.log,Ie=Math.LN2;function Le(e){return e>>>=0,e===0?32:31-(Fe(e)/Ie|0)|0}var Re=256,ze=262144,Be=4194304;function Ve(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 He(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=Ve(n))):i=Ve(o):i=Ve(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Ve(n))):i=Ve(o)):i=Ve(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 Ue(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function We(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 V(){var e=Be;return Be<<=1,!(Be&62914560)&&(Be=4194304),e}function Ge(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ke(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function qe(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),an=!1;if(rn)try{var on={};Object.defineProperty(on,"passive",{get:function(){an=!0}}),window.addEventListener(`test`,on,on),window.removeEventListener(`test`,on,on)}catch{an=!1}var sn=null,cn=null,ln=null;function un(){if(ln)return ln;var e,t=cn,n=t.length,r,i=`value`in sn?sn.value:sn.textContent,a=i.length;for(e=0;e=Hn),Gn=` `,Kn=!1;function qn(e,t){switch(e){case`keyup`:return Bn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Jn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Yn=!1;function Xn(e,t){switch(e){case`compositionend`:return Jn(t);case`keypress`:return t.which===32?(Kn=!0,Gn):null;case`textInput`:return e=t.data,e===Gn&&Kn?null:e;default:return null}}function Zn(e,t){if(Yn)return e===`compositionend`||!Vn&&qn(e,t)?(e=un(),ln=cn=sn=null,Yn=!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=yr(n)}}function xr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?xr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Sr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=jt(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=jt(e.document)}return t}function Cr(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 wr=rn&&`documentMode`in document&&11>=document.documentMode,Tr=null,Er=null,Dr=null,Or=!1;function kr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Or||Tr==null||Tr!==jt(r)||(r=Tr,`selectionStart`in r&&Cr(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}),Dr&&vr(Dr,r)||(Dr=r,r=Td(Er,`onSelect`),0>=o,i-=o,xi=1<<32-Pe(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),U&&Ci(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),U&&Ci(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 U&&Ci(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)}),U&&Ci(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&&Ca(l)===r.type){n(e,r.sibling),c=i(r,o.props),Aa(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===_?(c=ci(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=si(o.type,o.key,o.props,null,e.mode,c),Aa(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}n(e,r);break}t(e,r),r=r.sibling}c=di(o,e.mode,c),c.return=e,e=c}return s(e);case E:return o=Ca(o),b(e,r,o,c)}if(ne(o))return v(e,r,o,c);if(A(o)){if(l=A(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,ka(o),c);if(o.$$typeof===x)return b(e,r,Zi(e,o),c);ja(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=li(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Oa=0;var i=b(e,t,n,r);return Da=null,i}catch(t){if(t===_a||t===ya)throw t;var a=ri(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Na=Ma(!0),Pa=Ma(!1),Fa=!1;function Ia(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function La(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 Ra(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function za(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Fl&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=ei(e),$r(e,null,n),t}return Xr(e,r,t,n),ei(e)}function Ba(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,H(e,n)}}function Va(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 Ha=!1;function Ua(){if(Ha){var e=ca;if(e!==null)throw e}}function Wa(e,t,n,r){Ha=!1;var i=e.updateQueue;Fa=!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?(Z&f)===f:(r&f)===f){f!==0&&f===sa&&(Ha=!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:Fa=!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),Wl|=o,e.lanes=o,e.memoizedState=d}}function Ga(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function Ka(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=j.T,s={};j.T=s,As(e,!1,t,n);try{var c=i(),l=j.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?ks(e,t,da(c,r),fu(e)):ks(e,t,r,fu(e))}catch(n){ks(e,t,{then:function(){},status:`rejected`,reason:n},fu())}finally{M.p=a,o!==null&&s.types!==null&&(o.types=s.types),j.T=o}}function ys(){}function bs(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=xs(e).queue;vs(e,i,t,N,n===null?ys:function(){return Ss(e),n(r)})}function xs(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:N,baseState:N,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Mo,lastRenderedState:N},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Mo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Ss(e){var t=xs(e);t.next===null&&(t=e.alternate.memoizedState),ks(e,t.next.queue,{},fu())}function Cs(){return Xi(Qf)}function ws(){return G().memoizedState}function Ts(){return G().memoizedState}function Es(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=fu();e=Ra(n);var r=za(t,e,n);r!==null&&(mu(r,t,n),Ba(r,t,n)),t={cache:ra()},e.payload=t;return}t=t.return}}function Ds(e,t,n){var r=fu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},js(e)?Ms(t,n):(n=Zr(e,t,n,r),n!==null&&(mu(n,e,r),Ns(n,t,r)))}function Os(e,t,n){ks(e,t,n,fu())}function ks(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(js(e))Ms(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 Xr(e,t,i,0),Il===null&&Yr(),!1}catch{}if(n=Zr(e,t,i,r),n!==null)return mu(n,e,r),Ns(n,t,r),!0}return!1}function As(e,t,n,r){if(r={lane:2,revertLane:dd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},js(e)){if(t)throw Error(a(479))}else t=Zr(e,n,r,2),t!==null&&mu(t,e,2)}function js(e){var t=e.alternate;return e===W||t!==null&&t===W}function Ms(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 Ns(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,H(e,n)}}var Ps={readContext:Xi,use:Ao,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};Ps.useEffectEvent=vo;var Fs={readContext:Xi,use:Ao,useCallback:function(e,t){return Do().memoizedState=[e,t===void 0?null:t],e},useContext:Xi,useEffect:is,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),ns(4194308,4,ds.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ns(4194308,4,e,t)},useInsertionEffect:function(e,t){ns(4,2,e,t)},useMemo:function(e,t){var n=Do();t=t===void 0?null:t;var r=e();if(po){Me(!0);try{e()}finally{Me(!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){Me(!0);try{n(t)}finally{Me(!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=Ds.bind(null,W,e),[r.memoizedState,e]},useRef:function(e){var t=Do();return e={current:e},t.memoizedState=e},useState:function(e){e=Ho(e);var t=e.queue,n=Os.bind(null,W,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:ps,useDeferredValue:function(e,t){return gs(Do(),e,t)},useTransition:function(){var e=Ho(!1);return e=vs.bind(null,W,e.queue,!0,!1),Do().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=W,i=Do();if(U){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),Il===null)throw Error(a(349));Z&127||Lo(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,is(zo.bind(null,r,o,e),[e]),r.flags|=2048,es(9,{destroy:void 0},Ro.bind(null,r,o,n,t),null),n},useId:function(){var e=Do(),t=Il.identifierPrefix;if(U){var n=Si,r=xi;n=(r&~(1<<32-Pe(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[tt]=t,o[nt]=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&&kc(t)}}return Pc(t),Ac(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&kc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=oe.current,Ii(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=Oi,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[tt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||jd(e.nodeValue,n)),e||Ni(t,!0)}else e=Bd(e).createTextNode(r),e[tt]=t,t.stateNode=e}return Pc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Ii(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[tt]=t}else Li(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Pc(t),e=!1}else n=Ri(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(io(t),t):(io(t),null);if(t.flags&128)throw Error(a(558))}return Pc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Ii(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[tt]=t}else Li(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Pc(t),i=!1}else i=Ri(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(io(t),t):(io(t),null)}return io(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),Mc(t,t.updateQueue),Pc(t),null);case 4:return ce(),e===null&&xd(t.stateNode.containerInfo),Pc(t),null;case 10:return Wi(t.type),Pc(t),null;case 19:if(ie(ao),r=t.memoizedState,r===null)return Pc(t),null;if(i=!!(t.flags&128),o=r.rendering,o===null){if(i)Nc(r,!1);else{if(Ul!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=oo(e),o!==null){for(t.flags|=128,Nc(r,!1),e=o.updateQueue,t.updateQueue=e,Mc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)oi(n,e),n=n.sibling;return I(ao,ao.current&1|2),U&&Ci(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Ce()>eu&&(t.flags|=128,i=!0,Nc(r,!1),t.lanes=4194304)}}else{if(!i){if(e=oo(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Mc(t,e),Nc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!U)return Pc(t),null}else 2*Ce()-r.renderingStartTime>eu&&n!==536870912&&(t.flags|=128,i=!0,Nc(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?(Pc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Ce(),e.sibling=null,n=ao.current,I(ao,i?n&1|2:n&1),U&&Ci(t,r.treeForkCount),e);case 22:case 23:return io(t),Za(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Pc(t),t.subtreeFlags&6&&(t.flags|=8192)):Pc(t),n=t.updateQueue,n!==null&&Mc(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&&ie(pa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Wi(na),Pc(t),null;case 25:return null;case 30:return null}throw Error(a(156,t.tag))}function Ic(e,t){switch(Ei(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Wi(na),ce(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ue(t),null;case 31:if(t.memoizedState!==null){if(io(t),t.alternate===null)throw Error(a(340));Li()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(io(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));Li()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ie(ao),null;case 4:return ce(),null;case 10:return Wi(t.type),null;case 22:case 23:return io(t),Za(),e!==null&&ie(pa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Wi(na),null;case 25:return null;default:return null}}function Lc(e,t){switch(Ei(t),t.tag){case 3:Wi(na),ce();break;case 26:case 27:case 5:ue(t);break;case 4:ce();break;case 31:t.memoizedState!==null&&io(t);break;case 13:io(t);break;case 19:ie(ao);break;case 10:Wi(t.type);break;case 22:case 23:io(t),Za(),e!==null&&ie(pa);break;case 24:Wi(na)}}function Rc(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){Wu(t,t.return,e)}}function zc(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){Wu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Wu(t,t.return,e)}}function Bc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Ka(t,n)}catch(t){Wu(e,e.return,t)}}}function Vc(e,t,n){n.props=Hs(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Wu(e,t,n)}}function Hc(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){Wu(e,t,n)}}function Uc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){Wu(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){Wu(e,t,n)}else n.current=null}}function Wc(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){Wu(e,e.return,t)}}function Gc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[nt]=t}catch(t){Wu(e,e.return,t)}}function Kc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function qc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Kc(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 Jc(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=Jt));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Jc(e,t,n),e=e.sibling;e!==null;)Jc(e,t,n),e=e.sibling}function Yc(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(Yc(e,t,n),e=e.sibling;e!==null;)Yc(e,t,n),e=e.sibling}function Xc(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[tt]=e,t[nt]=n}catch(t){Wu(e,e.return,t)}}var Zc=!1,Qc=!1,$c=!1,el=typeof WeakSet==`function`?WeakSet:Set,tl=null;function nl(e,t){if(e=e.containerInfo,Rd=sp,e=Sr(e),Cr(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,tl=t;tl!==null;)if(t=tl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,tl=e;else for(;tl!==null;){switch(t=tl,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[tt]=e,mt(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 _=br(s,h),v=br(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,j.T=null,n=cu,cu=null;var o=iu,s=ou;if(ru=0,au=iu=null,ou=0,Fl&6)throw Error(a(331));var c=Fl;if(Fl|=4,Al(o.current),wl(o,o.current,s,n),Fl=c,id(0,!1),je&&typeof je.onPostCommitFiberRoot==`function`)try{je.onPostCommitFiberRoot(Ae,o)}catch{}return!0}finally{M.p=i,j.T=r,Bu(e,t)}}function Uu(e,t,n){t=pi(n,t),t=Js(e.stateNode,t,2),e=za(e,t,2),e!==null&&(Ke(e,2),rd(e))}function Wu(e,t,n){if(e.tag===3)Uu(e,e,n);else for(;t!==null;){if(t.tag===3){Uu(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(nu===null||!nu.has(r))){e=pi(n,e),n=Ys(2),r=za(t,n,2),r!==null&&(Xs(n,r,t,e),Ke(r,2),rd(r));break}}t=t.return}}function Gu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Pl;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)||(Vl=!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,Il===e&&(Z&n)===n&&(Ul===4||Ul===3&&(Z&62914560)===Z&&300>Ce()-Ql?!(Fl&2)&&xu(e,0):Kl|=n,Jl===Z&&(Jl=0)),rd(e)}function qu(e,t){t===0&&(t=V()),e=Qr(e,t),e!==null&&(Ke(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 ye(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-Pe(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=Z,a=He(r,r===Il?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||Ue(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=Ce(),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}ru!==0&&ru!==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=Nt(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),mt(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="`+Nt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Nt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Nt(n.imageSizes)+`"]`)):i+=`[href="`+Nt(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),mt(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="`+Nt(r)+`"][href="`+Nt(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),mt(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=pt(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`);mt(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=pt(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`),mt(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=pt(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`),mt(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=oe.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=pt(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=pt(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=pt(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="`+Nt(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),mt(t),e.head.appendChild(t))}function Pf(e){return`[src="`+Nt(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~="`+Nt(n.href)+`"]`);if(r)return t.instance=r,mt(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`),mt(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,mt(o),o;r=Mf(n),(i=mf.get(i))&&Rf(r,i),o=(e.ownerDocument||e).createElement(`link`),mt(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,mt(i),i):(r=n,(i=mf.get(o))&&(r=p({},n),zf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),mt(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,mt(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),mt(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=us()}))(),1),fs=i(),ps=(0,K.createContext)(void 0);function ms(e,t){try{let t=localStorage.getItem(e);if(t===`light`||t===`dark`||t===`system`)return t}catch{}return t}function hs(e){let t=(0,fs.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=()=>ms(o,a),t[0]=a,t[1]=o,t[2]=s):s=t[2];let[c,l]=(0,K.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,K.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,q.jsx)(ps.Provider,{value:m,children:n}),t[11]=n,t[12]=m,t[13]=h):h=t[13],h}function gs(){let e=(0,K.useContext)(ps);if(e===void 0)throw Error(`useTheme must be used within a ThemeProvider`);return e}var _s=Ye(`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`}]]),vs=Ye(`book-open`,[[`path`,{d:`M12 5v16`,key:`1f6ucr`}],[`path`,{d:`M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z`,key:`1fyvmf`}]]),ys=Ye(`boxes`,[[`path`,{d:`M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z`,key:`lc1i9w`}],[`path`,{d:`m7 16.5-4.74-2.85`,key:`1o9zyk`}],[`path`,{d:`m7 16.5 5-3`,key:`va8pkn`}],[`path`,{d:`M7 16.5v5.17`,key:`jnp8gn`}],[`path`,{d:`M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z`,key:`8zsnat`}],[`path`,{d:`m17 16.5-5-3`,key:`8arw3v`}],[`path`,{d:`m17 16.5 4.74-2.85`,key:`8rfmw`}],[`path`,{d:`M17 16.5v5.17`,key:`k6z78m`}],[`path`,{d:`M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z`,key:`1xygjf`}],[`path`,{d:`M12 8 7.26 5.15`,key:`1vbdud`}],[`path`,{d:`m12 8 4.74-2.85`,key:`3rx089`}],[`path`,{d:`M12 13.5V8`,key:`1io7kd`}]]),bs=Ye(`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`}]]),xs=Ye(`container`,[[`path`,{d:`M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z`,key:`1t2lqe`}],[`path`,{d:`M10 21.9V14L2.1 9.1`,key:`o7czzq`}],[`path`,{d:`m10 14 11.9-6.9`,key:`zm5e20`}],[`path`,{d:`M14 19.8v-8.1`,key:`159ecu`}],[`path`,{d:`M18 17.5V9.4`,key:`11uown`}]]),Ss=Ye(`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`}]]),Cs=Ye(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),ws=Ye(`file-stack`,[[`path`,{d:`M11 21a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1`,key:`likhh7`}],[`path`,{d:`M16 16a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1`,key:`17ky3x`}],[`path`,{d:`M21 6a2 2 0 0 0-.586-1.414l-2-2A2 2 0 0 0 17 2h-3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1z`,key:`1hyeo0`}]]),Ts=Ye(`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`}]]),Es=Ye(`id-card`,[[`path`,{d:`M16 10h2`,key:`8sgtl7`}],[`path`,{d:`M16 14h2`,key:`epxaof`}],[`path`,{d:`M6.17 15a3 3 0 0 1 5.66 0`,key:`n6f512`}],[`circle`,{cx:`9`,cy:`11`,r:`2`,key:`yxgjnd`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`,key:`qneu4z`}]]),Ds=Ye(`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`}]]),Os=Ye(`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`}]]),ks=Ye(`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`}]]),As=Ye(`map-pin`,[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`,key:`1r0f0z`}],[`circle`,{cx:`12`,cy:`10`,r:`3`,key:`ilqhr7`}]]),js=Ye(`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`}]]),Ms=Ye(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 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.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]),Ns=Ye(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),Ps=Ye(`route`,[[`circle`,{cx:`6`,cy:`19`,r:`3`,key:`1kj8tv`}],[`path`,{d:`M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15`,key:`1d8sl`}],[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}]]),Fs=Ye(`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`}]]),Is=Ye(`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`}]]),Ls=Ye(`user-cog`,[[`path`,{d:`M10 15H6a4 4 0 0 0-4 4v2`,key:`1nfge6`}],[`path`,{d:`m14.305 16.53.923-.382`,key:`1itpsq`}],[`path`,{d:`m15.228 13.852-.923-.383`,key:`eplpkm`}],[`path`,{d:`m16.852 12.228-.383-.923`,key:`13v3q0`}],[`path`,{d:`m16.852 17.772-.383.924`,key:`1i8mnm`}],[`path`,{d:`m19.148 12.228.383-.923`,key:`1q8j1v`}],[`path`,{d:`m19.53 18.696-.382-.924`,key:`vk1qj3`}],[`path`,{d:`m20.772 13.852.924-.383`,key:`n880s0`}],[`path`,{d:`m20.772 16.148.924.383`,key:`1g6xey`}],[`circle`,{cx:`18`,cy:`15`,r:`3`,key:`gjjjvw`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),Rs=Ye(`users-round`,[[`path`,{d:`M18 21a8 8 0 0 0-16 0`,key:`3ypg7q`}],[`circle`,{cx:`10`,cy:`8`,r:`5`,key:`o932ke`}],[`path`,{d:`M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3`,key:`10s06x`}]]),zs=Ye(`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 Bs(e,t){return t!=null&&!hn(t)?0:typeof e==`function`?e():e}function Vs(e,t,n){let r=Bs(e,n);return typeof r==`number`?r:r?.[t]}function Hs(e){return typeof e==`function`?e():e}function Us(e,t){return t||e===`click`||e===`mousedown`}function Ws(e){return e?.includes(`mouse`)&&e!==`mousedown`}var Gs=K.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new Yt,currentIdRef:{current:null},currentContextRef:{current:null}});function Ks(e,t){e.current=t.current}function qs(e){let{children:t,delay:n,timeoutMs:r=0}=e,i=K.useRef(n),a=K.useRef(n),o=K.useRef(null),s=K.useRef(null),c=rn();return Ot(()=>{if(a.current=n,!o.current){i.current=n;return}i.current={open:Vs(i.current,`open`),close:Vs(n,`close`)}},[n,o,i,a]),(0,q.jsx)(Gs.Provider,{value:K.useMemo(()=>({hasProvider:!0,delayRef:i,initialDelayRef:a,currentIdRef:o,timeoutMs:r,currentContextRef:s,timeout:c}),[r,c]),children:t})}function Js(e,t={open:!1}){let{open:n}=t,r=`rootStore`in e?e.rootStore:e,i=r.useState(`floatingId`),{currentIdRef:a,delayRef:o,timeoutMs:s,initialDelayRef:c,currentContextRef:l,hasProvider:u,timeout:d}=K.useContext(Gs),[f,p]=K.useState(!1),m=K.useRef(n);return Ot(()=>{m.current=n},[n]),Ot(()=>{function e(){l.current?.setIsInstantPhase(!1),a.current=null,l.current=null,o.current=c.current,d.clear()}if(a.current&&!n&&a.current===i){if(p(!1),s){let t=i;return d.start(s,()=>{r.select(`open`)||a.current&&a.current!==t||e()}),()=>{(m.current||a.current!==t)&&d.clear()}}e()}},[n,i,a,o,s,c,l,d,r]),Ot(()=>{if(!n)return;let e=l.current,t=a.current;d.clear(),l.current={onOpenChange:r.setOpen,setIsInstantPhase:p},a.current=i,o.current={open:0,close:Vs(c.current,`close`)},t!==null&&t!==i?(p(!0),e?.setIsInstantPhase(!0),e?.onOpenChange(!1,Bt(Pt))):(p(!1),e?.setIsInstantPhase(!1))},[n,i,r,a,o,c,l,d]),Ot(()=>()=>{if(a.current===i){if(l.current=null,!m.current)return;a.current=null,Ks(o,c),d.clear()}},[l,a,o,i,c,d]),K.useMemo(()=>({hasProvider:u,delayRef:o,isInstantPhase:f}),[u,o,f])}function Ys(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 Xs(e){return e!=null&&e.clientX!=null}function Zs(e,t={}){let{enabled:n=!0,axis:r=`both`}=t,i=`rootStore`in e?e.rootStore:e,a=i.useState(`open`),o=i.useState(`floatingElement`),s=i.useState(`domReferenceElement`),c=i.context.dataRef,l=K.useRef(!1),u=K.useRef(null),[d,f]=K.useState(),[p,m]=K.useState([]),h=kt(e=>{i.set(`positionReference`,e)}),g=kt((e,t,n)=>{l.current||c.current.openEvent&&!Xs(c.current.openEvent)||i.set(`positionReference`,Ys(n??s,{x:e,y:t,axis:r,dataRef:c,pointerType:d}))}),_=kt(e=>{a?u.current||(g(e.clientX,e.clientY,e.currentTarget),m([])):g(e.clientX,e.clientY,e.currentTarget)}),v=hn(d)?o:a;K.useEffect(()=>{if(!n){h(s);return}if(!v)return;function e(){u.current?.(),u.current=null}let t=Tt(o);function r(t){let n=Nt(t);Ut(o,n)?e():g(t.clientX,t.clientY)}return!c.current.openEvent||Xs(c.current.openEvent)?u.current=Pe(t,`mousemove`,r):h(s),e},[v,n,o,c,s,i,g,h,p]),K.useEffect(()=>()=>{i.set(`positionReference`,null)},[i]),K.useEffect(()=>{n&&!o&&(l.current=!1)},[n,o]),K.useEffect(()=>{!n&&a&&(l.current=!0)},[n,a]);let y=K.useMemo(()=>{function e(e){f(e.pointerType)}return{onPointerDown:e,onPointerEnter:e,onMouseMove:_,onMouseEnter:_}},[_]);return K.useMemo(()=>n?{reference:y,trigger:y}:{},[n,y])}var Qs=Oe();function $s(e){let t=K.useCallback(t=>e===void 0?Ve:e.subscribeStore(t),[e]),n=K.useCallback(()=>e===void 0?void 0:e.store,[e]);return(0,Qs.useSyncExternalStore)(t,n,()=>e?.serverStore)}var ec=on&&yn;function tc(e,t={}){let{enabled:n=!0,delay:r}=t,i=`rootStore`in e?e.rootStore:e,{events:a,dataRef:o}=i.context,s=K.useRef(!1),c=K.useRef(null),l=K.useRef(!0),u=rn();K.useEffect(()=>{let e=i.select(`domReferenceElement`);if(!n)return;let t=Tt(e);function r(){let e=i.select(`domReferenceElement`);!i.select(`open`)&&Et(e)&&e===Vt(Mt(e))&&(s.current=!0)}function a(){l.current=!0}function o(){l.current=!1}return tn(Pe(t,`blur`,r),ec&&Pe(t,`keydown`,a,!0),ec&&Pe(t,`pointerdown`,o,!0))},[i,n]),K.useEffect(()=>{if(!n)return;function e(e){if(e.reason===`trigger-press`||e.reason===`escape-key`){let e=i.select(`domReferenceElement`);jt(e)&&(c.current=e,s.current=!0)}}return a.on(`openchange`,e),()=>{a.off(`openchange`,e)}},[a,n,i]);let d=K.useMemo(()=>{function e(){s.current=!1,c.current=null}return{onMouseLeave(){e()},onFocus(t){let n=t.currentTarget;if(s.current){if(c.current===n)return;e()}let a=Nt(t.nativeEvent);if(jt(a)){if(ec&&!t.relatedTarget){if(!l.current&&!cn(a))return}else if(!ln(a))return}let o=pn(t.relatedTarget,i.context.triggerElements),{nativeEvent:d,currentTarget:f}=t,p=typeof r==`function`?r():r;if(i.select(`open`)&&o||p===0||p===void 0){i.setOpen(!0,Bt(Rt,d,f));return}u.start(p,()=>{s.current||i.setOpen(!0,Bt(Rt,d,f))})},onBlur(t){e();let n=t.relatedTarget,r=t.nativeEvent,a=jt(n)&&n.hasAttribute(Gt(`focus-guard`))&&n.getAttribute(`data-type`)===`outside`;u.start(0,()=>{let e=i.select(`domReferenceElement`),t=Vt(Mt(e));!n&&t===e||Ut(o.current.floatingContext?.refs.floating.current,t)||Ut(e,t)||a||pn(n??t,i.context.triggerElements)||i.setOpen(!1,Bt(Rt,r))})}}},[o,r,i,u]);return K.useMemo(()=>n?{reference:d,trigger:d}:{},[n,d])}var nc=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 Yt,this.restTimeout=new Yt,this.handleCloseOptions=void 0}static create(){return new e}dispose=()=>{this.openChangeTimeout.clear(),this.restTimeout.clear()};disposeEffect=()=>this.dispose},rc=new WeakMap;function ic(e){if(!e.performedPointerEventsMutation)return;let t=e.pointerEventsScopeElement;t&&rc.get(t)===e&&(e.pointerEventsScopeElement?.style.removeProperty(`pointer-events`),e.pointerEventsReferenceElement?.style.removeProperty(`pointer-events`),e.pointerEventsFloatingElement?.style.removeProperty(`pointer-events`),rc.delete(t)),e.performedPointerEventsMutation=!1,e.pointerEventsScopeElement=null,e.pointerEventsReferenceElement=null,e.pointerEventsFloatingElement=null}function ac(e,t){let{scopeElement:n,referenceElement:r,floatingElement:i}=t,a=rc.get(n);a&&a!==e&&ic(a),ic(e),e.performedPointerEventsMutation=!0,e.pointerEventsScopeElement=n,e.pointerEventsReferenceElement=r,e.pointerEventsFloatingElement=i,rc.set(n,e),n.style.pointerEvents=`none`,r.style.pointerEvents=`auto`,i.style.pointerEvents=`auto`}function oc(e){let t=e.context.dataRef.current,n=ze(()=>t.hoverInteractionState??nc.create()).current;return t.hoverInteractionState||=n,Me(t.hoverInteractionState.disposeEffect),t.hoverInteractionState}function sc(e,t={}){let{enabled:n=!0,closeDelay:r=0,nodeId:i}=t,a=`rootStore`in e?e.rootStore:e,o=a.useState(`open`),s=a.useState(`floatingElement`),c=a.useState(`domReferenceElement`),{dataRef:l}=a.context,u=Zt(),d=Xt(),f=oc(a),p=rn(),m=kt(()=>Us(l.current.openEvent?.type,f.interactedInside)),h=kt(()=>Ws(l.current.openEvent?.type)),g=kt(()=>{ic(f)});Ot(()=>{o||(f.pointerType=void 0,f.restTimeoutPending=!1,f.interactedInside=!1,g())},[o,f,g]),K.useEffect(()=>g,[g]),Ot(()=>{if(n&&o&&f.handleCloseOptions?.blockPointerEvents&&h()&&jt(c)&&s){let e=c,t=s,n=Mt(s),r=u?.nodesRef.current.find(e=>e.id===d)?.context?.elements.floating;r&&(r.style.pointerEvents=``);let i=f.pointerEventsScopeElement===t?null:f.pointerEventsScopeElement,a=r===t?null:r,o=f.handleCloseOptions?.getScope?.()??i??a??e.closest(`[data-rootownerid]`)??n.body;return ac(f,{scopeElement:o,referenceElement:e,floatingElement:t}),()=>{g()}}},[n,o,c,s,f,h,u,d,g]),K.useEffect(()=>{if(!n)return;function e(){return!!(u&&d&&gn(u.nodesRef.current,d).length>0)}function t(e){let t=Vs(r,`close`,f.pointerType),n=()=>{a.setOpen(!1,Bt(It,e)),u?.events.emit(`floating.closed`,e)};t?f.openChangeTimeout.start(t,n):(f.openChangeTimeout.clear(),n())}function o(e){let t=Nt(e);if(!sn(t)){f.interactedInside=!1;return}f.interactedInside=t?.closest(`[aria-haspopup]`)!=null}function c(){f.openChangeTimeout.clear(),p.clear(),u?.events.off(`floating.closed`,v),g()}function _(n){if(e()&&u){u.events.on(`floating.closed`,v);return}if(pn(n.relatedTarget,a.context.triggerElements))return;let r=l.current.floatingContext?.nodeId??i,o=n.relatedTarget;if(!(u&&r&&jt(o)&&gn(u.nodesRef.current,r,!1).some(e=>Ut(e.context?.elements.floating,o)))){if(f.handler){f.handler(n);return}g(),h()&&!m()&&t(n)}}function v(t){!u||!d||e()||p.start(0,()=>{u.events.off(`floating.closed`,v),a.setOpen(!1,Bt(It,t)),u.events.emit(`floating.closed`,t)})}let y=s;return tn(y&&Pe(y,`mouseenter`,c),y&&Pe(y,`mouseleave`,_),y&&Pe(y,`pointerdown`,o,!0),()=>{u?.events.off(`floating.closed`,v)})},[n,s,a,l,r,i,h,m,g,f,u,d,p])}var cc=e(Ne(),1),lc={current:null};function uc(e,t={}){let{enabled:n=!0,delay:r=0,handleClose:i=null,mouseOnly:a=!1,restMs:o=0,move:s=!0,triggerElementRef:c=lc,externalTree:l,isActiveTrigger:u=!0,getHandleCloseContext:d,isClosing:f,shouldOpen:p,guardStaleOpen:m=!1}=t,h=`rootStore`in e?e.rootStore:e,{dataRef:g,events:_}=h.context,v=Zt(l),y=oc(h),b=K.useRef(!1),x=Ie(i),S=Ie(r),C=Ie(o),w=Ie(n),T=Ie(p),E=Ie(f),D=kt(()=>Us(g.current.openEvent?.type,y.interactedInside)),O=kt(()=>T.current?.()!==!1),k=kt((e,t,n)=>{let r=h.context.triggerElements;if(r.hasElement(t))return!e||!Ut(e,t);if(!jt(n))return!1;let i=n;return r.hasMatchingElement(e=>Ut(e,i))&&(!e||!Ut(e,i))}),A=kt(()=>{y.handler&&=(Mt(h.select(`domReferenceElement`)).removeEventListener(`mousemove`,y.handler),void 0)}),ee=kt(()=>{ic(y)});return u&&(y.handleCloseOptions=x.current?.__options),K.useEffect(()=>A,[A]),K.useEffect(()=>{if(!n)return;function e(e){e.open?b.current=!1:(b.current=e.reason===It,A(),y.openChangeTimeout.clear(),y.restTimeout.clear(),y.blockMouseMove=!0,y.restTimeoutPending=!1)}return _.on(`openchange`,e),()=>{_.off(`openchange`,e)}},[n,_,y,A]),K.useEffect(()=>{if(!n)return;function e(e,t=!0){let n=Vs(S.current,`close`,y.pointerType);n?y.openChangeTimeout.start(n,()=>{h.setOpen(!1,Bt(It,e)),v?.events.emit(`floating.closed`,e)}):t&&(y.openChangeTimeout.clear(),h.setOpen(!1,Bt(It,e)),v?.events.emit(`floating.closed`,e))}let t=c.current??(u?h.select(`domReferenceElement`):null);if(!jt(t))return;function r(e){if(y.openChangeTimeout.clear(),y.blockMouseMove=!1,a&&!hn(y.pointerType))return;let t=Hs(C.current),n=Vs(S.current,`open`,y.pointerType),r=Nt(e),i=e.currentTarget??null,o=h.select(`domReferenceElement`),s=i;if(jt(r)&&!h.context.triggerElements.hasElement(r)){for(let e of h.context.triggerElements.elements())if(Ut(e,r)){s=e;break}}jt(i)&&jt(o)&&!h.context.triggerElements.hasElement(i)&&Ut(i,o)&&(s=o);let c=s!=null&&k(o,s,r),l=h.select(`open`),u=E.current?.()??h.select(`transitionStatus`)===`ending`,d=!l&&u&&b.current,f=!c&&jt(s)&&jt(o)&&Ut(o,s)&&d,p=t>0&&!n,m=c&&(l||d)||f,g=!l||c;if(m){O()&&h.setOpen(!0,Bt(It,e,s));return}p||(n?y.openChangeTimeout.start(n,()=>{g&&O()&&h.setOpen(!0,Bt(It,e,s))}):g&&O()&&h.setOpen(!0,Bt(It,e,s)))}function i(t){if(D()){ee();return}A();let n=h.select(`domReferenceElement`),r=Mt(n);y.restTimeout.clear(),y.restTimeoutPending=!1;let i=g.current.floatingContext??d?.();if(!pn(t.relatedTarget,h.context.triggerElements)){if(x.current&&i){h.select(`open`)||y.openChangeTimeout.clear();let n=c.current;y.handler=x.current({...i,tree:v,x:t.clientX,y:t.clientY,onClose(){ee(),A(),w.current&&!D()&&n===h.select(`domReferenceElement`)&&e(t,!0)}}),r.addEventListener(`mousemove`,y.handler),y.handler(t);return}(y.pointerType!==`touch`||!Ut(h.select(`floatingElement`),t.relatedTarget))&&e(t)}}function o(e){Ut(t,e.relatedTarget)||(y.openChangeTimeout.clear(),y.restTimeout.clear(),y.restTimeoutPending=!1)}let l=m?Pe(t,`mouseout`,o):void 0;return s?tn(Pe(t,`mousemove`,r,{once:!0}),Pe(t,`mouseenter`,r),Pe(t,`mouseleave`,i),l):tn(Pe(t,`mouseenter`,r),Pe(t,`mouseleave`,i),l)},[A,ee,g,S,h,n,x,y,u,k,D,a,s,C,c,v,w,d,E,O,m]),K.useMemo(()=>{if(!n)return;function e(e){y.pointerType=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){let{nativeEvent:t}=e,n=e.currentTarget,r=h.select(`domReferenceElement`),i=h.select(`open`),o=k(r,n,e.target);if(a&&!hn(y.pointerType))return;if(i&&o&&y.handleCloseOptions?.blockPointerEvents){let e=h.select(`floatingElement`);if(e){let t=y.handleCloseOptions?.getScope?.()??n.ownerDocument.body;ac(y,{scopeElement:t,referenceElement:n,floatingElement:e})}}let s=Hs(C.current);if(i&&!o||s===0||!o&&y.restTimeoutPending&&e.movementX**2+e.movementY**2<2)return;y.restTimeout.clear();function c(){if(y.restTimeoutPending=!1,D())return;let e=h.select(`open`);!y.blockMouseMove&&(!e||o)&&O()&&h.setOpen(!0,Bt(It,t,n))}y.pointerType===`touch`?cc.flushSync(()=>{c()}):o&&i?c():(y.restTimeoutPending=!0,y.restTimeout.start(s,c))}}},[n,y,D,k,a,h,C,O])}var dc=.1,fc=dc*dc,pc=.5;function mc(e,t,n,r,i,a){return r>=t!=a>=t&&e<=(i-n)*(t-r)/(a-r)+n}function hc(e,t,n,r,i,a,o,s,c,l){let u=!1;return mc(e,t,n,r,i,a)&&(u=!u),mc(e,t,i,a,o,s)&&(u=!u),mc(e,t,o,s,c,l)&&(u=!u),mc(e,t,c,l,n,r)&&(u=!u),u}function gc(e,t,n){return e>=n.x&&e<=n.x+n.width&&t>=n.y&&t<=n.y+n.height}function _c(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 vc(e={}){let{blockPointerEvents:t=!1}=e,n=new Yt,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*fc;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,D=(T?x:S).left,O=(T?x:S).right,k=(E?x:S).top,A=(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 ee=!1;switch(c){case`top`:ee=_c(d,f,D,x.top+1,O,S.bottom-1);break;case`bottom`:ee=_c(d,f,D,S.top+1,O,x.bottom-1);break;case`left`:ee=_c(d,f,S.right-1,A,x.left+1,k);break;case`right`:ee=_c(d,f,x.right-1,A,S.left+1,k)}if(ee)return;if(l&&!gc(d,f,x)){b();return}if(!g&&p(d,f)){b();return}let te=!1;switch(c){case`top`:{let n=T?pc/2:pc*4,r=T||C?e+n:e-n,i=T?e-n:C?e+n:e-n,a=t+pc+1,o=C||T?S.bottom-pc:S.top,s=C?T?S.bottom-pc:S.top:S.bottom-pc;te=hc(d,f,r,a,i,a,S.left,o,S.right,s);break}case`bottom`:{let n=T?pc/2:pc*4,r=T||C?e+n:e-n,i=T?e-n:C?e+n:e-n,a=t-pc,o=C||T?S.top+pc:S.bottom,s=C?T?S.top+pc:S.bottom:S.top+pc;te=hc(d,f,r,a,i,a,S.left,o,S.right,s);break}case`left`:{let n=E?pc/2:pc*4,r=E||w?t+n:t-n,i=E?t-n:w?t+n:t-n,a=e+pc+1,o=w||E?S.right-pc:S.left,s=w?E?S.right-pc:S.left:S.right-pc;te=hc(d,f,o,S.top,s,S.bottom,a,r,a,i);break}case`right`:{let n=E?pc/2:pc*4,r=E||w?t+n:t-n,i=E?t-n:w?t+n:t-n,a=e-pc,o=w||E?S.left+pc:S.right,s=w?E?S.left+pc:S.right:S.left+pc;te=hc(d,f,a,r,a,i,o,S.top,s,S.bottom);break}}te?l||n.start(40,b):b()}};return r.__options={...e,blockPointerEvents:t},r}function yc(e){return Mn(`dialog`,e)}function bc(e){let t=(0,fs.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,q.jsx)(yc,{"data-slot":`sheet`,...n}),t[2]=n,t[3]=r),r}function xc(e){let t=(0,fs.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,q.jsx)(Nn,{"data-slot":`sheet-portal`,...n}),t[2]=n,t[3]=r),r}function Sc(e){let t=(0,fs.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=V(`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,q.jsx)(Kn,{className:i,"data-slot":`sheet-overlay`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Cc(e){let t=(0,fs.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||o,l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,q.jsx)(Sc,{}),t[6]=l):l=t[6];let u;t[7]===r?u=t[8]:(u=V(`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,q.jsxs)(Gn,{"data-slot":`sheet-close`,render:(0,q.jsx)(At,{className:`absolute top-4 right-4`,size:`icon-sm`,variant:`ghost`}),children:[(0,q.jsx)(Ct,{}),(0,q.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,q.jsxs)(xc,{children:[l,(0,q.jsxs)(Bn,{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 wc(e){let t=(0,fs.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=V(`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,q.jsx)(`div`,{className:i,"data-slot":`sheet-header`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Tc(e){let t=(0,fs.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=V(`text-sm font-medium text-foreground`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,q.jsx)(Wn,{className:i,"data-slot":`sheet-title`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Ec(e){let t=(0,fs.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=V(`text-xs/relaxed text-muted-foreground`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,q.jsx)(kn,{className:i,"data-slot":`sheet-description`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var Dc=K.createContext(void 0);function Oc(e){let t=K.useContext(Dc);if(t===void 0&&!e)throw Error(Ue(72));return t}var kc={...Pn,disabled:e=>e.disabled,instantType:e=>e.instantType,isInstantPhase:e=>e.isInstantPhase,trackCursorAxis:e=>e.trackCursorAxis,disableHoverablePopup:e=>e.disableHoverablePopup,lastOpenChangeReason:e=>e.openChangeReason,closeOnClick:e=>e.closeOnClick,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin},Ac=class extends Kt{constructor(e,t,n){let r=new _n;super(jc(e,r,t,n),Mc(r),kc)}setOpen=(e,t)=>{un(this,e,t,{extraState:{openChangeReason:t.reason}})};cancelPendingOpen(e){this.state.floatingRootContext.dispatchOpenChange(!1,Bt(Ft,e))}};function jc(e,t,n,r=!1){let i={...Rn(),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:`none`,disableHoverablePopup:!1,openChangeReason:null,closeOnClick:!0,closeDelay:0,adaptiveOrigin:void 0,...e};return i.floatingRootContext=Fn(t,n,r),i}function Mc(e){return{popupRef:K.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:e}}var Nc=Qt(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=en((e,t)=>new Ac({open:n,openProp:r,activeTriggerId:d,triggerIdProp:u},e,t));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(`mounted`),v=p.useState(`payload`);p.useSyncedValues({trackCursorAxis:a,disableHoverablePopup:i,disabled:t}),Sn(p,{closeOnActiveTriggerUnmount:!0});let{forceUnmount:y,transitionStatus:b}=an(h,p),x=p.useState(`isInstantPhase`),S=p.useState(`instantType`),C=p.useState(`lastOpenChangeReason`),w=K.useRef(null);Ot(()=>{m&&t&&p.setOpen(!1,Bt(Lt))},[m,t,p]),Ot(()=>{b===`ending`&&C===`none`||b!==`ending`&&x?(S!==`delay`&&(w.current=S),p.set(`instantType`,`delay`)):w.current!==null&&(p.set(`instantType`,w.current),w.current=null)},[b,x,C,S,p]),Ot(()=>{h&&(g??p.set(`payload`,void 0))},[p,g,h]),K.useImperativeHandle(o,()=>({unmount:y,close:()=>p.setOpen(!1,Bt(zt))}),[y,p]);let T=h||_||!t&&a!==`none`;return(0,q.jsxs)(Dc.Provider,{value:p,children:[l&&(0,q.jsx)(dn,{handle:l,store:p}),T&&(0,q.jsx)(Pc,{store:p,disabled:t,trackCursorAxis:a}),typeof f==`function`?f({payload:v}):f]})});function Pc({store:e,disabled:t,trackCursorAxis:n}){let r=e.useState(`floatingRootContext`),i=Wt(r,{enabled:!t,referencePress:()=>e.select(`closeOnClick`)}),a=Zs(r,{enabled:!t&&n!==`none`,axis:n===`none`?void 0:n}),o=K.useMemo(()=>Re(a.reference,i.reference),[a.reference,i.reference]);return xn(e,{activeTriggerProps:o,inactiveTriggerProps:o,popupProps:i.floating??Le}),null}var Fc=K.createContext(void 0);function Ic(){return K.useContext(Fc)}var Lc=`data-base-ui-tooltip-trigger`;function Rc(e){if(`composedPath`in e){let t=e.composedPath();for(let e=0;em.select(`transitionStatus`)===`ending`,shouldOpen(){return!j.current}}),I=tc(v,{enabled:!A}).reference,ae=e=>{let t=j.current,n=Rc(e),r=F(n),i=y.current,a=i&&n&&Ut(i,n);if(r&&m.select(`open`)&&m.select(`lastOpenChangeReason`)===`trigger-hover`){m.setOpen(!1,Bt(It,e));return}if(t&&!r&&a&&!ee.current&&!m.select(`open`)&&i&&hn(N.current)){let t=()=>{!j.current&&!ee.current&&!m.select(`open`)&&m.setOpen(!0,Bt(It,e,i))},n=re();n===0?(M.clear(),t()):M.start(n,t)}},L=m.useState(`triggerProps`,C);return Be(`button`,e,{state:{open:_},ref:[t,S,y],props:[ie,I,C||te!==`none`?L:void 0,{onMouseOver(e){ae(e.nativeEvent)},onFocus(e){P(Rc(e.nativeEvent))&&e.preventBaseUIHandler()},onMouseLeave(){j.current=!1,M.clear(),N.current=void 0},onPointerEnter(e){N.current=e.pointerType},onPointerDown(e){N.current=e.pointerType,m.set(`closeOnClick`,l),l&&!m.select(`open`)&&m.cancelPendingOpen(e.nativeEvent)},onClick(e){l&&!m.select(`open`)&&m.cancelPendingOpen(e.nativeEvent)},id:h,"data-trigger-disabled":A?``:void 0,[Lc]:A?void 0:``},f],stateAttributesMapping:vn})}),Vc=K.createContext(void 0);function Hc(){let e=K.useContext(Vc);if(e===void 0)throw Error(Ue(70));return e}var Uc=K.forwardRef(function(e,t){let{children:n,container:r,className:i,render:a,style:o,...s}=e,{node:c,subtree:l}=qt({container:r,ref:t,componentProps:e,elementProps:s});return!l&&!c?null:(0,q.jsxs)(K.Fragment,{children:[l,c&&cc.createPortal(n,c)]})}),Wc=K.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e;return Oc().useState(`mounted`)||n?(0,q.jsx)(Vc.Provider,{value:n,children:(0,q.jsx)(Uc,{ref:t,...r})}):null}),Gc=K.createContext(void 0);function Kc(){let e=K.useContext(Gc);if(e===void 0)throw Error(Ue(71));return e}var qc=K.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=$t,style:g,..._}=e,v=Oc(),y=Hc(),b=v.useState(`open`),x=v.useState(`mounted`),S=v.useState(`trackCursorAxis`),C=v.useState(`disableHoverablePopup`),w=v.useState(`floatingRootContext`),T=v.useState(`instantType`),E=v.useState(`transitionStatus`),D=v.useState(`adaptiveOrigin`),O=tt({anchor:i,positionMethod:a,floatingRootContext:w,mounted:x,side:o,sideOffset:c,align:s,alignOffset:l,collisionBoundary:u,collisionPadding:d,sticky:p,arrowPadding:f,disableAnchorTracking:m,keepMounted:y,collisionAvoidance:h,adaptiveOrigin:D}),k=K.useMemo(()=>({open:b,side:O.side,align:O.align,anchorHidden:O.anchorHidden,instant:S===`none`?T:`tracking-cursor`}),[b,O.side,O.align,O.anchorHidden,S,T]),A=rt(e,k,{styles:O.positionerStyles,transitionStatus:E,props:_,refs:[t,v.useStateSetter(`positionerElement`)],hidden:!x,inert:!b||S===`both`||C});return(0,q.jsx)(Gc.Provider,{value:O,children:A})}),Jc=K.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,o=Oc(),{side:s,align:c}=Kc(),l=o.useState(`open`),u=o.useState(`instantType`),d=o.useState(`transitionStatus`),f=o.useState(`popupProps`),p=o.useState(`floatingRootContext`),m=o.useState(`disabled`),h=o.useState(`closeDelay`);Fe({open:l,ref:o.context.popupRef,onComplete(){l&&o.context.onOpenChangeComplete?.(!0)}}),sc(p,{enabled:!m,closeDelay:h});let g=o.useStateSetter(`popupElement`);return Be(`div`,e,{state:{open:l,side:s,align:c,instant:u,transitionStatus:d},ref:[t,o.context.popupRef,g],props:[mn,f,st(d),a],stateAttributesMapping:Jt})}),Yc=K.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,o=Oc(),{arrowRef:s,side:c,align:l,arrowUncentered:u,arrowStyles:d}=Kc(),f={open:o.useState(`open`),side:c,align:l,uncentered:u,instant:o.useState(`instantType`)};return Be(`div`,e,{state:f,ref:[t,s],props:[{style:d,"aria-hidden":!0},a],stateAttributesMapping:nn})}),Xc=function(e){let{delay:t,closeDelay:n,timeout:r=400}=e,i=K.useMemo(()=>({open:t,close:n}),[t,n]);return(0,q.jsx)(Fc.Provider,{value:t,children:(0,q.jsx)(qs,{delay:i,timeoutMs:r,children:e.children})})};function Zc(e){let t=(0,fs.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,q.jsx)(Xc,{"data-slot":`tooltip-provider`,delay:i,...n}),t[3]=i,t[4]=n,t[5]=a):a=t[5],a}function Qc(e){let t=(0,fs.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,q.jsx)(Zc,{children:(0,q.jsx)(Nc,{"data-slot":`tooltip`,...n})}),t[2]=n,t[3]=r),r}function $c(e){let t=(0,fs.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,q.jsx)(Bc,{"data-slot":`tooltip-trigger`,...n}),t[2]=n,t[3]=r),r}function el(e){let t=(0,fs.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=V(`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,q.jsx)(Yc,{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,q.jsxs)(Jc,{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,q.jsx)(Wc,{children:(0,q.jsx)(qc,{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 tl=window.matchMedia(`(max-width: 767px)`);function nl(e){return tl.addEventListener(`change`,e),()=>tl.removeEventListener(`change`,e)}function rl(){return tl.matches}function il(){return(0,K.useSyncExternalStore)(nl,rl)}var al=`sidebar_state`,ol=604800,sl=`12rem`,cl=`16rem`,ll=`3rem`,ul=`b`,dl=K.createContext(null);function fl(){let e=K.useContext(dl);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function pl(e){let t=(0,fs.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||c,u=il(),[d,f]=K.useState(!1),[p,m]=K.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=`${al}=${t}; path=/; max-age=${ol}`},t[8]=h,t[9]=o,t[10]=g):g=t[10];let _=g,v;t[11]!==u||t[12]!==_?(v=()=>u?f(hl):_(ml),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===ul&&(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),K.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=V(`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":sl,"--sidebar-width-icon":ll,...s},t[26]=s,t[27]=E);let D=E,O;t[28]!==n||t[29]!==a||t[30]!==T||t[31]!==D?(O=(0,q.jsx)(`div`,{className:T,"data-slot":`sidebar-wrapper`,style:D,...a,children:n}),t[28]=n,t[29]=a,t[30]=T,t[31]=D,t[32]=O):O=t[32];let k;return t[33]!==w||t[34]!==O?(k=(0,q.jsx)(dl.Provider,{value:w,children:O}),t[33]=w,t[34]=O,t[35]=k):k=t[35],k}function ml(e){return!e}function hl(e){return!e}function gl(e){let t=(0,fs.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}=fl();if(u===`none`){let e;t[7]===r?e=t[8]:(e=V(`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,q.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":cl},t[13]=e):e=t[13];let r=e,a;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,q.jsxs)(wc,{className:`sr-only`,children:[(0,q.jsx)(Tc,{children:`Sidebar`}),(0,q.jsx)(Ec,{children:`Displays the mobile sidebar.`})]}),t[14]=a):a=t[14];let o;t[15]===n?o=t[16]:(o=(0,q.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,q.jsxs)(Cc,{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,q.jsx)(bc,{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]:(_=V(`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,q.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=V(`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,q.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,q.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,q.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 _l(e){let t=(0,fs.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}=fl(),o;t[4]===n?o=t[5]:(o=V(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,q.jsx)(Ns,{}),l=(0,q.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,q.jsxs)(At,{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 vl(e){let t=(0,fs.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}=fl(),a;t[3]===n?a=t[4]:(a=V(`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,q.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 yl(e){let t=(0,fs.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=V(`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,q.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 bl(e){let t=(0,fs.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=V(`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,q.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 xl(e){let t=(0,fs.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=V(`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,q.jsx)(En,{className:i,"data-sidebar":`separator`,"data-slot":`sidebar-separator`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Sl(e){let t=(0,fs.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=V(`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,q.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 Cl(e){let t=(0,fs.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=V(`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,q.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 wl(e){let t=(0,fs.c)(10),n,r,i,a;if(t[0]!==e){let{className:o,render:s,...c}=e;n=s,a=We,r=`div`,i=Re({className:V(`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 Tl(e){let t=(0,fs.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=V(`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,q.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 J(e){let t=(0,fs.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=V(`group/menu-item relative`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,q.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 El=He(`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 Y(e){let t=(0,fs.c)(15),{render:n,isActive:r,variant:i,size:a,tooltip:o,className:s,...c}=e,l=r!==void 0&&r,u=i===void 0?`default`:i,d=a===void 0?`default`:a,{isMobile:f,state:p}=fl(),m=Re({className:V(El({variant:u,size:d}),s)},c),h=o?$c: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,q.jsx)(el,{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,q.jsxs)(Qc,{children:[v,S]}),t[12]=v,t[13]=S,t[14]=C):C=t[14],C}var Dl=new Set([`InvalidClientTokenId`,`SignatureDoesNotMatch`,`AuthFailure`,`MissingAuthenticationToken`,`IncompleteSignature`,`UnrecognizedClientException`,`ExpiredToken`,`ExpiredTokenException`,`InvalidAccessKeyId`]);function Ol(e){if(typeof e!=`object`||!e||!(`name`in e))return!1;let{name:t}=e;return typeof t==`string`&&Dl.has(t)}var kl=!1;function Al(e,t){kl||!Ol(e)||(kl=!0,qe(),qn(),t.clear(),window.location.pathname!==`/login`&&(window.location.href=`/login?reason=expired`))}function jl(){let e=new Pi({queryCache:new Ni({onError:t=>Al(t,e)}),mutationCache:new ji({onError:t=>Al(t,e)}),defaultOptions:{queries:{staleTime:5e3,refetchIntervalInBackground:!1}}});return e}function Ml(){let e=(0,fs.c)(8),{theme:t,setTheme:n}=gs(),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,q.jsx)(Is,{className:`size-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90`}),o=(0,q.jsx)(js,{className:`absolute size-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0`}),s=(0,q.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,q.jsxs)(At,{className:`rounded-full`,onClick:i,size:`icon-sm`,variant:`ghost`,children:[a,o,s]}),e[6]=i,e[7]=c),c}function Nl(){let e=(0,fs.c)(7),{isAdmin:t,license:n}=Jn(),r=t&&n===`open-source`,i,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=V(`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,q.jsx)(_l,{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,q.jsx)(`a`,{href:`https://mulgadc.com/purchase`,target:`_blank`,rel:`noopener noreferrer`,className:V(Dt({variant:`outline`,size:`sm`})),children:`Upgrade`}),e[2]=r,e[3]=o);let s;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,q.jsx)(Ml,{}),e[4]=s):s=e[4];let c;return e[5]===o?c=e[6]:(c=(0,q.jsxs)(`header`,{className:i,children:[a,(0,q.jsxs)(`div`,{className:`flex w-full items-center justify-end gap-2`,children:[o,s]})]}),e[5]=o,e[6]=c),c}function Pl(){let e=(0,fs.c)(3),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,q.jsx)(`h1`,{className:`text-4xl font-bold`,children:`404`}),n=(0,q.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,q.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4`,children:[t,n,(0,q.jsx)(R,{to:`/`,children:(0,q.jsx)(At,{variant:`outline`,children:`Go back home`})})]}),e[2]=r):r=e[2],r}function Fl(){let e=(0,fs.c)(255),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={select:Il},e[0]=t):t=e[0];let n=ts(t),r=je(),i=h(),{isAdmin:a}=Jn(),o;e[1]!==r||e[2]!==i?(o=function(){qe(),qn(),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,q.jsxs)(yl,{className:`flex flex-row items-center gap-2 px-4 py-3`,children:[(0,q.jsx)(`img`,{src:`/mulga-logo.svg`,alt:`Mulga`,className:`size-6 shrink-0 dark:invert`}),(0,q.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,q.jsx)(wl,{children:`General`}),e[5]=l):l=e[5];let u=n===`/`,d,f;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,q.jsx)(Ts,{className:`size-4`}),f=(0,q.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,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/`,children:(0,q.jsxs)(Y,{isActive:u,tooltip:`Dashboard`,children:[d,f]})})}),e[8]=u,e[9]=p);let m;e[10]!==a||e[11]!==n?(m=a&&(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/nodes`,children:(0,q.jsxs)(Y,{isActive:n.startsWith(`/nodes`),tooltip:`Nodes`,children:[(0,q.jsx)(mt,{className:`size-4`}),(0,q.jsx)(`span`,{children:`Nodes`})]})})}),e[10]=a,e[11]=n,e[12]=m):m=e[12];let g;e[13]!==p||e[14]!==m?(g=(0,q.jsxs)(Cl,{children:[l,(0,q.jsxs)(Tl,{children:[p,m]})]}),e[13]=p,e[14]=m,e[15]=g):g=e[15];let _;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,q.jsx)(wl,{children:`EC2`}),e[16]=_):_=e[16];let v;e[17]===n?v=e[18]:(v=n.startsWith(`/ec2/describe-instances`)||n.startsWith(`/ec2/run-instances`),e[17]=n,e[18]=v);let y,b;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,q.jsx)(mt,{className:`size-4`}),b=(0,q.jsx)(`span`,{children:`Instances`}),e[19]=y,e[20]=b):(y=e[19],b=e[20]);let x;e[21]===v?x=e[22]:(x=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-instances`,children:(0,q.jsxs)(Y,{isActive:v,tooltip:`Instances`,children:[y,b]})})}),e[21]=v,e[22]=x);let S;e[23]===n?S=e[24]:(S=n.startsWith(`/ec2/describe-launch-templates`)||n.startsWith(`/ec2/create-launch-template`),e[23]=n,e[24]=S);let C,w;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,q.jsx)(ws,{className:`size-4`}),w=(0,q.jsx)(`span`,{children:`Launch Templates`}),e[25]=C,e[26]=w):(C=e[25],w=e[26]);let T;e[27]===S?T=e[28]:(T=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-launch-templates`,children:(0,q.jsxs)(Y,{isActive:S,tooltip:`Launch Templates`,children:[C,w]})})}),e[27]=S,e[28]=T);let E;e[29]===n?E=e[30]:(E=n.startsWith(`/ec2/describe-images`),e[29]=n,e[30]=E);let D,O;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,q.jsx)(_t,{className:`size-4`}),O=(0,q.jsx)(`span`,{children:`Images`}),e[31]=D,e[32]=O):(D=e[31],O=e[32]);let k;e[33]===E?k=e[34]:(k=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-images`,children:(0,q.jsxs)(Y,{isActive:E,tooltip:`Images`,children:[D,O]})})}),e[33]=E,e[34]=k);let A;e[35]===n?A=e[36]:(A=n.startsWith(`/ec2/describe-key-pairs`),e[35]=n,e[36]=A);let ee,te;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,q.jsx)(pt,{className:`size-4`}),te=(0,q.jsx)(`span`,{children:`Key Pairs`}),e[37]=ee,e[38]=te):(ee=e[37],te=e[38]);let ne;e[39]===A?ne=e[40]:(ne=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-key-pairs`,children:(0,q.jsxs)(Y,{isActive:A,tooltip:`Key Pairs`,children:[ee,te]})})}),e[39]=A,e[40]=ne);let j;e[41]===n?j=e[42]:(j=n.startsWith(`/ec2/describe-addresses`)||n.startsWith(`/ec2/allocate-address`),e[41]=n,e[42]=j);let M,N;e[43]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,q.jsx)(As,{className:`size-4`}),N=(0,q.jsx)(`span`,{children:`Elastic IPs`}),e[43]=M,e[44]=N):(M=e[43],N=e[44]);let re;e[45]===j?re=e[46]:(re=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-addresses`,children:(0,q.jsxs)(Y,{isActive:j,tooltip:`Elastic IPs`,children:[M,N]})})}),e[45]=j,e[46]=re);let P;e[47]===n?P=e[48]:(P=n.startsWith(`/ec2/describe-volumes`)||n.startsWith(`/ec2/create-volume`)||n.startsWith(`/ec2/modify-volume`),e[47]=n,e[48]=P);let F,ie;e[49]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,q.jsx)(ht,{className:`size-4`}),ie=(0,q.jsx)(`span`,{children:`Volumes`}),e[49]=F,e[50]=ie):(F=e[49],ie=e[50]);let I;e[51]===P?I=e[52]:(I=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-volumes`,children:(0,q.jsxs)(Y,{isActive:P,tooltip:`Volumes`,children:[F,ie]})})}),e[51]=P,e[52]=I);let ae;e[53]===n?ae=e[54]:(ae=n.startsWith(`/ec2/describe-snapshots`)||n.startsWith(`/ec2/create-snapshot`),e[53]=n,e[54]=ae);let L,oe;e[55]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,q.jsx)(Ze,{className:`size-4`}),oe=(0,q.jsx)(`span`,{children:`Snapshots`}),e[55]=L,e[56]=oe):(L=e[55],oe=e[56]);let se;e[57]===ae?se=e[58]:(se=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-snapshots`,children:(0,q.jsxs)(Y,{isActive:ae,tooltip:`Snapshots`,children:[L,oe]})})}),e[57]=ae,e[58]=se);let ce;e[59]===n?ce=e[60]:(ce=n.startsWith(`/ec2/describe-placement-groups`)||n.startsWith(`/ec2/create-placement-group`),e[59]=n,e[60]=ce);let le,ue;e[61]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,q.jsx)(Ds,{className:`size-4`}),ue=(0,q.jsx)(`span`,{children:`Placement Groups`}),e[61]=le,e[62]=ue):(le=e[61],ue=e[62]);let de;e[63]===ce?de=e[64]:(de=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-placement-groups`,children:(0,q.jsxs)(Y,{isActive:ce,tooltip:`Placement Groups`,children:[le,ue]})})}),e[63]=ce,e[64]=de);let fe;e[65]===n?fe=e[66]:(fe=n.startsWith(`/ec2/describe-load-balancers`)||n.startsWith(`/ec2/create-load-balancer`),e[65]=n,e[66]=fe);let pe,me;e[67]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,q.jsx)(gt,{className:`size-4`}),me=(0,q.jsx)(`span`,{children:`Load Balancers`}),e[67]=pe,e[68]=me):(pe=e[67],me=e[68]);let he;e[69]===fe?he=e[70]:(he=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-load-balancers`,children:(0,q.jsxs)(Y,{isActive:fe,tooltip:`Load Balancers`,children:[pe,me]})})}),e[69]=fe,e[70]=he);let ge;e[71]===n?ge=e[72]:(ge=n.startsWith(`/ec2/describe-target-groups`)||n.startsWith(`/ec2/create-target-group`),e[71]=n,e[72]=ge);let _e,ve;e[73]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,q.jsx)(Ss,{className:`size-4`}),ve=(0,q.jsx)(`span`,{children:`Target Groups`}),e[73]=_e,e[74]=ve):(_e=e[73],ve=e[74]);let ye;e[75]===ge?ye=e[76]:(ye=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-target-groups`,children:(0,q.jsxs)(Y,{isActive:ge,tooltip:`Target Groups`,children:[_e,ve]})})}),e[75]=ge,e[76]=ye);let be;e[77]!==x||e[78]!==T||e[79]!==k||e[80]!==ne||e[81]!==re||e[82]!==I||e[83]!==se||e[84]!==de||e[85]!==he||e[86]!==ye?(be=(0,q.jsxs)(Cl,{children:[_,(0,q.jsxs)(Tl,{children:[x,T,k,ne,re,I,se,de,he,ye]})]}),e[77]=x,e[78]=T,e[79]=k,e[80]=ne,e[81]=re,e[82]=I,e[83]=se,e[84]=de,e[85]=he,e[86]=ye,e[87]=be):be=e[87];let xe;e[88]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,q.jsx)(wl,{children:`Networking`}),e[88]=xe):xe=e[88];let Se;e[89]===n?Se=e[90]:(Se=n.startsWith(`/ec2/describe-vpcs`)||n.startsWith(`/ec2/create-vpc`),e[89]=n,e[90]=Se);let Ce,we;e[91]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,q.jsx)(lt,{className:`size-4`}),we=(0,q.jsx)(`span`,{children:`VPCs`}),e[91]=Ce,e[92]=we):(Ce=e[91],we=e[92]);let z;e[93]===Se?z=e[94]:(z=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-vpcs`,children:(0,q.jsxs)(Y,{isActive:Se,tooltip:`VPCs`,children:[Ce,we]})})}),e[93]=Se,e[94]=z);let Te;e[95]===n?Te=e[96]:(Te=n.startsWith(`/ec2/describe-subnets`)||n.startsWith(`/ec2/create-subnet`),e[95]=n,e[96]=Te);let B,Ee;e[97]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,q.jsx)(Os,{className:`size-4`}),Ee=(0,q.jsx)(`span`,{children:`Subnets`}),e[97]=B,e[98]=Ee):(B=e[97],Ee=e[98]);let De;e[99]===Te?De=e[100]:(De=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-subnets`,children:(0,q.jsxs)(Y,{isActive:Te,tooltip:`Subnets`,children:[B,Ee]})})}),e[99]=Te,e[100]=De);let Oe;e[101]===n?Oe=e[102]:(Oe=n.startsWith(`/ec2/describe-security-groups`)||n.startsWith(`/ec2/create-security-group`),e[101]=n,e[102]=Oe);let ke,Ae;e[103]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,q.jsx)(Fs,{className:`size-4`}),Ae=(0,q.jsx)(`span`,{children:`Security Groups`}),e[103]=ke,e[104]=Ae):(ke=e[103],Ae=e[104]);let Me;e[105]===Oe?Me=e[106]:(Me=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-security-groups`,children:(0,q.jsxs)(Y,{isActive:Oe,tooltip:`Security Groups`,children:[ke,Ae]})})}),e[105]=Oe,e[106]=Me);let Ne;e[107]===n?Ne=e[108]:(Ne=n.startsWith(`/ec2/describe-route-tables`)||n.startsWith(`/ec2/create-route-table`),e[107]=n,e[108]=Ne);let Pe,Fe;e[109]===Symbol.for(`react.memo_cache_sentinel`)?(Pe=(0,q.jsx)(Ps,{className:`size-4`}),Fe=(0,q.jsx)(`span`,{children:`Route Tables`}),e[109]=Pe,e[110]=Fe):(Pe=e[109],Fe=e[110]);let Ie;e[111]===Ne?Ie=e[112]:(Ie=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-route-tables`,children:(0,q.jsxs)(Y,{isActive:Ne,tooltip:`Route Tables`,children:[Pe,Fe]})})}),e[111]=Ne,e[112]=Ie);let Le;e[113]===n?Le=e[114]:(Le=n.startsWith(`/ec2/describe-internet-gateways`),e[113]=n,e[114]=Le);let Re,ze;e[115]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,q.jsx)(ut,{className:`size-4`}),ze=(0,q.jsx)(`span`,{children:`Internet Gateways`}),e[115]=Re,e[116]=ze):(Re=e[115],ze=e[116]);let Be;e[117]===Le?Be=e[118]:(Be=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-internet-gateways`,children:(0,q.jsxs)(Y,{isActive:Le,tooltip:`Internet Gateways`,children:[Re,ze]})})}),e[117]=Le,e[118]=Be);let Ve;e[119]===n?Ve=e[120]:(Ve=n.startsWith(`/ec2/describe-nat-gateways`)||n.startsWith(`/ec2/create-nat-gateway`),e[119]=n,e[120]=Ve);let He,Ue;e[121]===Symbol.for(`react.memo_cache_sentinel`)?(He=(0,q.jsx)(dt,{className:`size-4`}),Ue=(0,q.jsx)(`span`,{children:`NAT Gateways`}),e[121]=He,e[122]=Ue):(He=e[121],Ue=e[122]);let We;e[123]===Ve?We=e[124]:(We=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ec2/describe-nat-gateways`,children:(0,q.jsxs)(Y,{isActive:Ve,tooltip:`NAT Gateways`,children:[He,Ue]})})}),e[123]=Ve,e[124]=We);let V;e[125]!==z||e[126]!==De||e[127]!==Me||e[128]!==Ie||e[129]!==Be||e[130]!==We?(V=(0,q.jsxs)(Cl,{children:[xe,(0,q.jsxs)(Tl,{children:[z,De,Me,Ie,Be,We]})]}),e[125]=z,e[126]=De,e[127]=Me,e[128]=Ie,e[129]=Be,e[130]=We,e[131]=V):V=e[131];let Ge;e[132]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,q.jsx)(wl,{children:`Containers`}),e[132]=Ge):Ge=e[132];let Ke;e[133]===n?Ke=e[134]:(Ke=n.startsWith(`/eks/list-clusters`)||n.startsWith(`/eks/create-cluster`),e[133]=n,e[134]=Ke);let Je,H;e[135]===Symbol.for(`react.memo_cache_sentinel`)?(Je=(0,q.jsx)(ys,{className:`size-4`}),H=(0,q.jsx)(`span`,{children:`EKS`}),e[135]=Je,e[136]=H):(Je=e[135],H=e[136]);let Ye;e[137]===Ke?Ye=e[138]:(Ye=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/eks/list-clusters`,children:(0,q.jsxs)(Y,{isActive:Ke,tooltip:`EKS clusters`,children:[Je,H]})})}),e[137]=Ke,e[138]=Ye);let Xe;e[139]===n?Xe=e[140]:(Xe=n.startsWith(`/ecr/list-repositories`),e[139]=n,e[140]=Xe);let Qe,$e;e[141]===Symbol.for(`react.memo_cache_sentinel`)?(Qe=(0,q.jsx)(Ms,{className:`size-4`}),$e=(0,q.jsx)(`span`,{children:`ECR`}),e[141]=Qe,e[142]=$e):(Qe=e[141],$e=e[142]);let et;e[143]===Xe?et=e[144]:(et=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ecr/list-repositories`,children:(0,q.jsxs)(Y,{isActive:Xe,tooltip:`ECR repositories`,children:[Qe,$e]})})}),e[143]=Xe,e[144]=et);let tt;e[145]===n?tt=e[146]:(tt=n.startsWith(`/ecs/`),e[145]=n,e[146]=tt);let nt,rt;e[147]===Symbol.for(`react.memo_cache_sentinel`)?(nt=(0,q.jsx)(xs,{className:`size-4`}),rt=(0,q.jsx)(`span`,{children:`ECS`}),e[147]=nt,e[148]=rt):(nt=e[147],rt=e[148]);let it;e[149]===tt?it=e[150]:(it=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/ecs/list-clusters`,children:(0,q.jsxs)(Y,{isActive:tt,tooltip:`ECS clusters`,children:[nt,rt]})})}),e[149]=tt,e[150]=it);let at;e[151]!==Ye||e[152]!==et||e[153]!==it?(at=(0,q.jsxs)(Cl,{children:[Ge,(0,q.jsxs)(Tl,{children:[Ye,et,it]})]}),e[151]=Ye,e[152]=et,e[153]=it,e[154]=at):at=e[154];let ot;e[155]===Symbol.for(`react.memo_cache_sentinel`)?(ot=(0,q.jsx)(wl,{children:`RDS`}),e[155]=ot):ot=e[155];let st;e[156]===n?st=e[157]:(st=n.startsWith(`/rds/describe-db-instances`)||n.startsWith(`/rds/create-db-instance`),e[156]=n,e[157]=st);let ct,vt;e[158]===Symbol.for(`react.memo_cache_sentinel`)?(ct=(0,q.jsx)(Cs,{className:`size-4`}),vt=(0,q.jsx)(`span`,{children:`Databases`}),e[158]=ct,e[159]=vt):(ct=e[158],vt=e[159]);let bt;e[160]===st?bt=e[161]:(bt=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/rds/describe-db-instances`,children:(0,q.jsxs)(Y,{isActive:st,tooltip:`Databases`,children:[ct,vt]})})}),e[160]=st,e[161]=bt);let xt;e[162]===n?xt=e[163]:(xt=n.startsWith(`/rds/describe-db-snapshots`)||n.startsWith(`/rds/restore-db-instance-from-db-snapshot`),e[162]=n,e[163]=xt);let St,Ct;e[164]===Symbol.for(`react.memo_cache_sentinel`)?(St=(0,q.jsx)(Ze,{className:`size-4`}),Ct=(0,q.jsx)(`span`,{children:`Snapshots`}),e[164]=St,e[165]=Ct):(St=e[164],Ct=e[165]);let wt;e[166]===xt?wt=e[167]:(wt=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/rds/describe-db-snapshots`,children:(0,q.jsxs)(Y,{isActive:xt,tooltip:`DB Snapshots`,children:[St,Ct]})})}),e[166]=xt,e[167]=wt);let Tt;e[168]===n?Tt=e[169]:(Tt=n.startsWith(`/rds/describe-db-subnet-groups`)||n.startsWith(`/rds/create-db-subnet-group`),e[168]=n,e[169]=Tt);let Et,Dt;e[170]===Symbol.for(`react.memo_cache_sentinel`)?(Et=(0,q.jsx)(Os,{className:`size-4`}),Dt=(0,q.jsx)(`span`,{children:`Subnet Groups`}),e[170]=Et,e[171]=Dt):(Et=e[170],Dt=e[171]);let Ot;e[172]===Tt?Ot=e[173]:(Ot=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/rds/describe-db-subnet-groups`,children:(0,q.jsxs)(Y,{isActive:Tt,tooltip:`DB Subnet Groups`,children:[Et,Dt]})})}),e[172]=Tt,e[173]=Ot);let kt;e[174]===n?kt=e[175]:(kt=n.startsWith(`/rds/describe-db-parameter-groups`)||n.startsWith(`/rds/create-db-parameter-group`),e[174]=n,e[175]=kt);let At,jt;e[176]===Symbol.for(`react.memo_cache_sentinel`)?(At=(0,q.jsx)(yt,{className:`size-4`}),jt=(0,q.jsx)(`span`,{children:`Parameter Groups`}),e[176]=At,e[177]=jt):(At=e[176],jt=e[177]);let Mt;e[178]===kt?Mt=e[179]:(Mt=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/rds/describe-db-parameter-groups`,children:(0,q.jsxs)(Y,{isActive:kt,tooltip:`DB Parameter Groups`,children:[At,jt]})})}),e[178]=kt,e[179]=Mt);let Nt;e[180]!==wt||e[181]!==Ot||e[182]!==Mt||e[183]!==bt?(Nt=(0,q.jsxs)(Cl,{children:[ot,(0,q.jsxs)(Tl,{children:[bt,wt,Ot,Mt]})]}),e[180]=wt,e[181]=Ot,e[182]=Mt,e[183]=bt,e[184]=Nt):Nt=e[184];let Pt;e[185]===Symbol.for(`react.memo_cache_sentinel`)?(Pt=(0,q.jsx)(wl,{children:`IAM`}),e[185]=Pt):Pt=e[185];let Ft;e[186]===n?Ft=e[187]:(Ft=n.startsWith(`/iam/list-users`)||n.startsWith(`/iam/create-user`),e[186]=n,e[187]=Ft);let It,Lt;e[188]===Symbol.for(`react.memo_cache_sentinel`)?(It=(0,q.jsx)(zs,{className:`size-4`}),Lt=(0,q.jsx)(`span`,{children:`Users`}),e[188]=It,e[189]=Lt):(It=e[188],Lt=e[189]);let Rt;e[190]===Ft?Rt=e[191]:(Rt=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/iam/list-users`,children:(0,q.jsxs)(Y,{isActive:Ft,tooltip:`Users`,children:[It,Lt]})})}),e[190]=Ft,e[191]=Rt);let zt;e[192]===n?zt=e[193]:(zt=n.startsWith(`/iam/list-groups`)||n.startsWith(`/iam/create-group`),e[192]=n,e[193]=zt);let Bt,Vt;e[194]===Symbol.for(`react.memo_cache_sentinel`)?(Bt=(0,q.jsx)(Rs,{className:`size-4`}),Vt=(0,q.jsx)(`span`,{children:`Groups`}),e[194]=Bt,e[195]=Vt):(Bt=e[194],Vt=e[195]);let Ht;e[196]===zt?Ht=e[197]:(Ht=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/iam/list-groups`,children:(0,q.jsxs)(Y,{isActive:zt,tooltip:`Groups`,children:[Bt,Vt]})})}),e[196]=zt,e[197]=Ht);let Ut;e[198]===n?Ut=e[199]:(Ut=n.startsWith(`/iam/list-policies`)||n.startsWith(`/iam/create-policy`),e[198]=n,e[199]=Ut);let Wt,Gt;e[200]===Symbol.for(`react.memo_cache_sentinel`)?(Wt=(0,q.jsx)(ft,{className:`size-4`}),Gt=(0,q.jsx)(`span`,{children:`Policies`}),e[200]=Wt,e[201]=Gt):(Wt=e[200],Gt=e[201]);let Kt;e[202]===Ut?Kt=e[203]:(Kt=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/iam/list-policies`,children:(0,q.jsxs)(Y,{isActive:Ut,tooltip:`Policies`,children:[Wt,Gt]})})}),e[202]=Ut,e[203]=Kt);let qt;e[204]===n?qt=e[205]:(qt=n.startsWith(`/iam/list-roles`)||n.startsWith(`/iam/create-role`),e[204]=n,e[205]=qt);let Jt,Yt;e[206]===Symbol.for(`react.memo_cache_sentinel`)?(Jt=(0,q.jsx)(Ls,{className:`size-4`}),Yt=(0,q.jsx)(`span`,{children:`Roles`}),e[206]=Jt,e[207]=Yt):(Jt=e[206],Yt=e[207]);let Xt;e[208]===qt?Xt=e[209]:(Xt=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/iam/list-roles`,children:(0,q.jsxs)(Y,{isActive:qt,tooltip:`Roles`,children:[Jt,Yt]})})}),e[208]=qt,e[209]=Xt);let Zt;e[210]===n?Zt=e[211]:(Zt=n.startsWith(`/iam/list-instance-profiles`)||n.startsWith(`/iam/create-instance-profile`),e[210]=n,e[211]=Zt);let Qt,$t;e[212]===Symbol.for(`react.memo_cache_sentinel`)?(Qt=(0,q.jsx)(Es,{className:`size-4`}),$t=(0,q.jsx)(`span`,{children:`Instance Profiles`}),e[212]=Qt,e[213]=$t):(Qt=e[212],$t=e[213]);let en;e[214]===Zt?en=e[215]:(en=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/iam/list-instance-profiles`,children:(0,q.jsxs)(Y,{isActive:Zt,tooltip:`Instance Profiles`,children:[Qt,$t]})})}),e[214]=Zt,e[215]=en);let tn;e[216]!==Rt||e[217]!==Ht||e[218]!==Kt||e[219]!==Xt||e[220]!==en?(tn=(0,q.jsxs)(Cl,{children:[Pt,(0,q.jsxs)(Tl,{children:[Rt,Ht,Kt,Xt,en]})]}),e[216]=Rt,e[217]=Ht,e[218]=Kt,e[219]=Xt,e[220]=en,e[221]=tn):tn=e[221];let nn;e[222]===Symbol.for(`react.memo_cache_sentinel`)?(nn=(0,q.jsx)(wl,{children:`S3`}),e[222]=nn):nn=e[222];let rn;e[223]===n?rn=e[224]:(rn=n.startsWith(`/s3/ls`),e[223]=n,e[224]=rn);let an,on;e[225]===Symbol.for(`react.memo_cache_sentinel`)?(an=(0,q.jsx)(mt,{className:`size-4`}),on=(0,q.jsx)(`span`,{children:`Buckets`}),e[225]=an,e[226]=on):(an=e[225],on=e[226]);let sn;e[227]===rn?sn=e[228]:(sn=(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/s3/ls`,children:(0,q.jsxs)(Y,{isActive:rn,tooltip:`Buckets`,children:[an,on]})})}),e[227]=rn,e[228]=sn);let cn;e[229]!==a||e[230]!==n?(cn=a&&(0,q.jsx)(J,{children:(0,q.jsx)(R,{to:`/s3/service-metrics`,children:(0,q.jsxs)(Y,{isActive:n.startsWith(`/s3/service-metrics`),tooltip:`Service Metrics`,children:[(0,q.jsx)(_s,{className:`size-4`}),(0,q.jsx)(`span`,{children:`Service Metrics`})]})})}),e[229]=a,e[230]=n,e[231]=cn):cn=e[231];let ln;e[232]!==sn||e[233]!==cn?(ln=(0,q.jsxs)(Cl,{children:[nn,(0,q.jsxs)(Tl,{children:[sn,cn]})]}),e[232]=sn,e[233]=cn,e[234]=ln):ln=e[234];let un;e[235]===a?un=e[236]:(un=a&&(0,q.jsxs)(Cl,{children:[(0,q.jsx)(wl,{children:`Documentation`}),(0,q.jsx)(Tl,{children:(0,q.jsx)(J,{children:(0,q.jsx)(`a`,{href:`https://docs.mulgadc.com`,target:`_blank`,rel:`noopener noreferrer`,children:(0,q.jsxs)(Y,{tooltip:`Documentation`,children:[(0,q.jsx)(vs,{className:`size-4`}),(0,q.jsx)(`span`,{children:`Docs`})]})})})})]}),e[235]=a,e[236]=un);let dn;e[237]!==Nt||e[238]!==tn||e[239]!==ln||e[240]!==un||e[241]!==be||e[242]!==V||e[243]!==g||e[244]!==at?(dn=(0,q.jsxs)(Sl,{children:[g,be,V,at,Nt,tn,ln,un]}),e[237]=Nt,e[238]=tn,e[239]=ln,e[240]=un,e[241]=be,e[242]=V,e[243]=g,e[244]=at,e[245]=dn):dn=e[245];let fn;e[246]===Symbol.for(`react.memo_cache_sentinel`)?(fn=(0,q.jsx)(xl,{className:`mx-0 w-full`}),e[246]=fn):fn=e[246];let pn,mn;e[247]===Symbol.for(`react.memo_cache_sentinel`)?(pn=(0,q.jsx)(ks,{className:`size-4`}),mn=(0,q.jsx)(`span`,{children:`Sign out`}),e[247]=pn,e[248]=mn):(pn=e[247],mn=e[248]);let hn;e[249]===s?hn=e[250]:(hn=(0,q.jsxs)(bl,{children:[fn,(0,q.jsx)(Tl,{children:(0,q.jsx)(J,{children:(0,q.jsxs)(Y,{onClick:s,tooltip:`Sign out`,children:[pn,mn]})})})]}),e[249]=s,e[250]=hn);let gn;e[251]===Symbol.for(`react.memo_cache_sentinel`)?(gn=(0,q.jsx)(vl,{}),e[251]=gn):gn=e[251];let _n;return e[252]!==dn||e[253]!==hn?(_n=(0,q.jsxs)(gl,{collapsible:`icon`,children:[c,dn,hn,gn]}),e[252]=dn,e[253]=hn,e[254]=_n):_n=e[254],_n}function Il(e){return e.pathname}function X(e){let t=(0,fs.c)(18),{error:n,reset:r}=e,i=De(),a=h(),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,q.jsx)(Fl,{}),t[4]=c):c=t[4];let l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,q.jsx)(Nl,{}),t[5]=l):l=t[5];let u,d;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,q.jsx)(`div`,{className:`flex justify-center`,children:(0,q.jsx)(bs,{className:`size-12 text-destructive`})}),d=(0,q.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,q.jsx)(`p`,{className:`text-muted-foreground`,children:f}),t[8]=f,t[9]=p);let m;t[10]===s?m=t[11]:(m=(0,q.jsx)(At,{onClick:s,variant:`default`,children:`Try Again`}),t[10]=s,t[11]=m);let g;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,q.jsx)(R,{to:`/`,children:(0,q.jsx)(At,{variant:`outline`,children:`Go Home`})}),t[12]=g):g=t[12];let _;t[13]===m?_=t[14]:(_=(0,q.jsxs)(`div`,{className:`flex justify-center gap-2`,children:[m,g]}),t[13]=m,t[14]=_);let v;return t[15]!==_||t[16]!==p?(v=(0,q.jsxs)(q.Fragment,{children:[c,(0,q.jsxs)(`main`,{className:`flex flex-1 flex-col`,children:[l,(0,q.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-6 pt-0`,children:(0,q.jsxs)(`div`,{className:`max-w-md space-y-4 text-center`,children:[u,d,p,_]})})]})]}),t[15]=_,t[16]=p,t[17]=v):v=t[17],v}var Z=Te()({head:()=>({meta:[{title:`Mulga`}]}),component:()=>(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(ss,{}),(0,q.jsx)(Fl,{}),(0,q.jsxs)(`main`,{className:`flex flex-1 flex-col`,children:[(0,q.jsx)(Nl,{}),(0,q.jsx)(`div`,{className:`flex flex-1 flex-col p-8`,children:(0,q.jsx)(he,{})})]})]}),errorComponent:X,notFoundComponent:Pl}),Ll=z(`/_auth`)({beforeLoad:()=>{if(!Ge())throw xe({to:`/login`})},component:B(()=>H(()=>import(`./route.js`),__vite__mapDeps([0,1,2,3,4])),`component`)}),Rl=z(`/_auth/`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(or),e.queryClient.ensureQueryData(Zn),e.queryClient.ensureQueryData($n),e.queryClient.ensureQueryData(ur),e.queryClient.ensureQueryData(Nr),e.queryClient.ensureQueryData(fr),e.queryClient.ensureQueryData(nr),e.queryClient.ensureQueryData(cr),e.queryClient.ensureQueryData(ir)])},head:()=>({meta:[{title:`Dashboard | Mulga`}]}),component:B(()=>H(()=>import(`./_auth.js`),__vite__mapDeps([5,1,6,7,8,9,4,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])),`component`)}),zl=z(`/_auth/nodes`)({head:()=>({meta:[{title:`Nodes | Mulga`}]}),component:B(()=>H(()=>import(`./nodes.js`),__vite__mapDeps([31,1,6,7,8,9,4,32,10,11,13,12,14,16,17,18,24,26,20,27,28,29,30])),`component`)}),Bl=z(`/_auth/s3/service-metrics`)({head:()=>({meta:[{title:`Service Metrics | S3 | Mulga`}]}),component:B(()=>H(()=>import(`./service-metrics.js`),__vite__mapDeps([33,1,6,7,8,32,16,10,11,17,18,24,26,20,27,28,29,30])),`component`)}),Vl=z(`/_auth/ec2/(elastic-ips)/allocate-address`)({head:()=>({meta:[{title:`Allocate Elastic IP | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./allocate-address.js`),__vite__mapDeps([34,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,47,8,48,21,22,19,20,49,50,51,24,52,53])),`component`)}),Hl=`/dev/sda1`,Ul=`gp3`,Wl=1,Gl=16384,Kl=z(`/_auth/ec2/(instances)/run-instances`)({validateSearch:e=>({launchTemplateId:typeof e.launchTemplateId==`string`?e.launchTemplateId:void 0,launchTemplateVersion:typeof e.launchTemplateVersion==`string`?e.launchTemplateVersion:void 0}),loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(lr),e.queryClient.ensureQueryData(ur),e.queryClient.ensureQueryData(rr),e.queryClient.ensureQueryData(er),e.queryClient.ensureQueryData(pr),e.queryClient.ensureQueryData($n),e.queryClient.ensureQueryData(fr),e.queryClient.ensureQueryData(ar)])},head:()=>({meta:[{title:`Run Instances | EC2 | Mulga`}]}),component:ql});function ql(){let e=(0,fs.c)(136),t=je(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={from:Kl.id},e[0]=n):n=e[0];let r=we(n),{data:i}=C(lr),{data:a}=C(ur),{data:o}=C(rr),{data:s}=C(er),{data:c}=C(pr),{data:l}=C($n),{data:u}=C(fr),{data:d}=C(ar),f=mr(),p=i.Images??[],m=a.KeyPairs??[],h;e[1]===s.Subnets?h=e[2]:(h=s.Subnets??[],e[1]=s.Subnets,e[2]=h);let g=h,_;e[3]===c.PlacementGroups?_=e[4]:(_=c.PlacementGroups??[],e[3]=c.PlacementGroups,e[4]=_);let v=_,y;e[5]===l.Vpcs?y=e[6]:(y=l.Vpcs??[],e[5]=l.Vpcs,e[6]=y);let b=y,x=u.SecurityGroups??[],w;e[7]===d.LaunchTemplates?w=e[8]:(w=d.LaunchTemplates??[],e[7]=d.LaunchTemplates,e[8]=w);let T=w,E;e[9]===b?E=e[10]:(E=(b.find(uu)??b[0])?.VpcId,e[9]=b,e[10]=E);let D=E,O=Kr(x.map(lu)),k;if(e[11]!==o.InstanceTypes){k={};for(let e of o.InstanceTypes??[]){let t=e.InstanceType;t&&(k[t]=(k[t]??0)+1)}e[11]=o.InstanceTypes,e[12]=k}else k=e[12];let A=Object.keys(k).toSorted(),ee=p[0]?.ImageId,te=m[0]?.KeyName,ne=A.find(cu)??A[0],j=du(p.find(e=>e.ImageId===ee)),M;e[13]===k?M=e[14]:(M=e=>!e.instanceType||e.count<=(k[e.instanceType]??1),e[13]=k,e[14]=M);let{control:N,handleSubmit:re,register:P,setValue:F,getValues:ie,watch:I,formState:ae}=Ir({resolver:Rr(qr.refine(M,{message:`Cannot exceed available capacity`,path:[`count`]}).superRefine((e,t)=>{let n=du(p.find(t=>t.ImageId===e.imageId)).snapshotSize;e.rootVolumeSize!==void 0&&n!==void 0&&e.rootVolumeSizee.InstanceType===R))?.GpuInfo?.Gpus?.[0],ue=le?.Name?.startsWith(`MIG `)?le.Name.slice(4):void 0,de;e[17]===N?de=e[18]:(de={control:N,name:`imageId`},e[17]=N,e[18]=de);let fe=Fr(de),pe;e[19]===fe?pe=e[20]:(pe=e=>e.ImageId===fe,e[19]=fe,e[20]=pe);let me=du(p.find(pe)),he;e[21]===N?he=e[22]:(he={control:N,name:`subnetId`},e[21]=N,e[22]=he);let ge=Fr(he),_e;e[23]===N?_e=e[24]:(_e={control:N,name:`securityGroupMode`},e[23]=N,e[24]=_e);let ve=Fr(_e),ye;e[25]===N?ye=e[26]:(ye={control:N,name:`ruleSource`},e[25]=N,e[26]=ye);let be=Fr(ye),xe=Fr({control:N,name:`securityGroupIds`})??[],Se;e[27]===N?Se=e[28]:(Se={control:N,name:`launchTemplateId`},e[27]=N,e[28]=Se);let Ce=Fr(Se),z;e[29]===N?z=e[30]:(z={control:N,name:`launchTemplateVersion`},e[29]=N,e[30]=z);let Te=Fr(z),B=Ce??``,Ee;e[31]===B?Ee=e[32]:(Ee=sr(B),e[31]=B,e[32]=Ee);let De=!!Ce,Oe;e[33]!==Ee||e[34]!==De?(Oe={...Ee,enabled:De},e[33]=Ee,e[34]=De,e[35]=Oe):Oe=e[35];let ke=S(Oe),Ae;e[36]===ke.data?.LaunchTemplateVersions?Ae=e[37]:(Ae=ke.data?.LaunchTemplateVersions??[],e[36]=ke.data?.LaunchTemplateVersions,e[37]=Ae);let Me=Ae,Ne;e[38]!==Te||e[39]!==Me?(Ne=fu(Me,Te)?.LaunchTemplateData,e[38]=Te,e[39]=Me,e[40]=Ne):Ne=e[40];let Pe=Ne,Fe;e[41]!==D||e[42]!==ge||e[43]!==g?(Fe=g.find(e=>e.SubnetId===ge)?.VpcId??D,e[41]=D,e[42]=ge,e[43]=g,e[44]=Fe):Fe=e[44];let Ie=Fe,Le;e[45]!==Ie||e[46]!==x?(Le=Ie?x.filter(e=>e.VpcId===Ie):x,e[45]=Ie,e[46]=x,e[47]=Le):Le=e[47];let Re=Le,ze;e[48]!==ie||e[49]!==F?(ze=e=>{let t=ie(`securityGroupIds`)??[],n=t.includes(e)?t.filter(t=>t!==e):[...t,e];F(`securityGroupIds`,n,{shouldValidate:!0})},e[48]=ie,e[49]=F,e[50]=ze):ze=e[50];let Be=ze,Ve;e[51]!==me.deviceName||e[52]!==F?(Ve=()=>{F(`rootDeviceName`,me.deviceName)},e[51]=me.deviceName,e[52]=F,e[53]=Ve):Ve=e[53];let He;e[54]!==fe||e[55]!==me.deviceName||e[56]!==F?(He=[fe,me.deviceName,F],e[54]=fe,e[55]=me.deviceName,e[56]=F,e[57]=He):He=e[57],(0,K.useEffect)(Ve,He);let Ue;e[58]!==f||e[59]!==Ie||e[60]!==t?(Ue=async e=>{let n=e.launchTemplateId?{count:e.count,launchTemplateId:e.launchTemplateId,launchTemplateVersion:e.launchTemplateVersion,resolvedVpcId:Ie}:{...e,resolvedVpcId:Ie};await f.mutateAsync(n),t({to:`/ec2/describe-instances`})},e[58]=f,e[59]=Ie,e[60]=t,e[61]=Ue):Ue=e[61];let We=Ue,V,Ge;e[62]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,q.jsx)(Xe,{to:`/ec2/describe-instances`,children:`Back to instances`}),Ge=(0,q.jsx)(Hr,{title:`Run Instances`}),e[62]=V,e[63]=Ge):(V=e[62],Ge=e[63]);let qe;e[64]!==Ce||e[65]!==A?(qe=A.length===0&&!Ce&&(0,q.jsx)(Br,{msg:`No compute available. No new instances can be created until compute is available.`}),e[64]=Ce,e[65]=A,e[66]=qe):qe=e[66];let Je;e[67]===f.error?Je=e[68]:(Je=f.error&&(0,q.jsx)(Br,{error:f.error,msg:`Failed to create instance`}),e[67]=f.error,e[68]=Je);let H;e[69]!==re||e[70]!==We?(H=re(We),e[69]=re,e[70]=We,e[71]=H):H=e[71];let Ye;e[72]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`launchTemplateId`,children:`Launch Template`})}),e[72]=Ye):Ye=e[72];let Ze;e[73]===T?Ze=e[74]:(Ze=e=>{let{field:t}=e;return(0,q.jsxs)(ot,{onValueChange:e=>t.onChange(e===`none`?void 0:e),value:t.value??`none`,children:[(0,q.jsx)(at,{className:`w-full`,id:`launchTemplateId`,children:(0,q.jsx)(et,{})}),(0,q.jsxs)(it,{children:[(0,q.jsx)(nt,{value:`none`,children:`none`}),T.map(su)]})]})},e[73]=T,e[74]=Ze);let Qe;e[75]!==N||e[76]!==Ze?(Qe=(0,q.jsxs)(On,{children:[Ye,(0,q.jsx)(Lr,{control:N,name:`launchTemplateId`,render:Ze})]}),e[75]=N,e[76]=Ze,e[77]=Qe):Qe=e[77];let tt;e[78]!==N||e[79]!==Pe||e[80]!==Ce||e[81]!==Me?(tt=Ce&&(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`launchTemplateVersion`,children:`Version`})}),(0,q.jsx)(Lr,{control:N,name:`launchTemplateVersion`,render:e=>{let{field:t}=e;return(0,q.jsxs)(ot,{onValueChange:e=>t.onChange(e),value:t.value??`$Default`,children:[(0,q.jsx)(at,{className:`w-full`,id:`launchTemplateVersion`,children:(0,q.jsx)(et,{})}),(0,q.jsxs)(it,{children:[(0,q.jsx)(nt,{value:`$Default`,children:`$Default`}),(0,q.jsx)(nt,{value:`$Latest`,children:`$Latest`}),Me.map(ou)]})]})}}),Pe&&(0,q.jsxs)(`div`,{className:`mt-3 space-y-1 rounded-md border border-border p-3 text-xs`,children:[(0,q.jsx)(`p`,{className:`text-muted-foreground`,children:`Configuration from this version:`}),(0,q.jsxs)(`p`,{children:[`Image:`,` `,(0,q.jsx)(`span`,{className:`font-mono`,children:Pe.ImageId??`—`})]}),(0,q.jsxs)(`p`,{children:[`Instance type:`,` `,(0,q.jsx)(`span`,{className:`font-mono`,children:Pe.InstanceType??`—`})]}),(0,q.jsxs)(`p`,{children:[`Key pair:`,` `,(0,q.jsx)(`span`,{className:`font-mono`,children:Pe.KeyName??`—`})]})]})]}),e[78]=N,e[79]=Pe,e[80]=Ce,e[81]=Me,e[82]=tt):tt=e[82];let rt=!Ce&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`imageId`,children:`Image`})}),(0,q.jsx)(Lr,{control:N,name:`imageId`,render:e=>{let{field:t}=e,n=p.find(e=>e.ImageId===t.value);return(0,q.jsxs)(ot,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,q.jsx)(at,{"aria-invalid":!!L.imageId,className:`w-full`,id:`imageId`,children:(0,q.jsx)(et,{children:n?`${n.Name??`Unnamed`} (${n.Architecture})`:``})}),(0,q.jsx)(it,{children:p.map(au)})]})}}),(0,q.jsx)(Dn,{errors:[L.imageId]})]}),(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`instanceType`,children:`Instance Type`})}),(0,q.jsx)(Lr,{control:N,name:`instanceType`,render:e=>{let{field:t}=e;return(0,q.jsx)(Vr,{"aria-invalid":!!L.instanceType,availabilityByType:k,className:`w-full`,id:`instanceType`,instanceTypes:o.InstanceTypes??[],onValueChange:t.onChange,value:t.value??``})}}),le&&(0,q.jsxs)(Tn,{children:[`GPU: `,le.Name,le.MemoryInfo?.SizeInMiB!==void 0&&` · ${Ke(le.MemoryInfo.SizeInMiB)} VRAM`,ue&&` · MIG ${ue} slice`]}),(0,q.jsx)(Dn,{errors:[L.instanceType]})]}),(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`keyName`,children:`Key Pair`})}),(0,q.jsx)(Lr,{control:N,name:`keyName`,render:e=>{let{field:t}=e;return(0,q.jsxs)(ot,{onValueChange:e=>t.onChange(e),value:t.value??``,children:[(0,q.jsx)(at,{"aria-invalid":!!L.keyName,className:`w-full`,id:`keyName`,children:(0,q.jsx)(et,{})}),(0,q.jsx)(it,{children:m.map(iu)})]})}}),(0,q.jsx)(Dn,{errors:[L.keyName]})]}),(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`subnetId`,children:`Subnet`})}),(0,q.jsx)(Lr,{control:N,name:`subnetId`,render:e=>{let{field:t}=e;return(0,q.jsxs)(ot,{onValueChange:e=>t.onChange(e===`none`?void 0:e),value:t.value??`none`,children:[(0,q.jsx)(at,{className:`w-full`,id:`subnetId`,children:(0,q.jsx)(et,{})}),(0,q.jsxs)(it,{children:[(0,q.jsx)(nt,{value:`none`,children:`none`}),g.map(ru)]})]})}})]}),(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:`Security Group`}),(0,q.jsx)(Tn,{children:Ie?`Applies to VPC ${Ie}`:`No VPC resolved — select a subnet`}),(0,q.jsx)(Lr,{control:N,name:`securityGroupMode`,render:nu}),ve===`create`?(0,q.jsxs)(`div`,{className:`mt-3 space-y-4 rounded-md border border-border p-4`,children:[(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`newSgName`,children:`Name`})}),(0,q.jsx)(Cn,{"aria-invalid":!!L.newSgName,id:`newSgName`,type:`text`,...P(`newSgName`)}),(0,q.jsx)(Dn,{errors:[L.newSgName]})]}),(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`newSgDescription`,children:`Description`})}),(0,q.jsx)(Cn,{id:`newSgDescription`,type:`text`,...P(`newSgDescription`)})]}),(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:`Inbound rules`}),(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(Lr,{control:N,name:`allowSsh`,render:tu}),(0,q.jsx)(Lr,{control:N,name:`allowHttp`,render:eu}),(0,q.jsx)(Lr,{control:N,name:`allowHttps`,render:$l})]})]}),(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:`Source`}),(0,q.jsx)(Lr,{control:N,name:`ruleSource`,render:Ql}),be===`custom`&&(0,q.jsxs)(`div`,{className:`mt-2`,children:[(0,q.jsx)(Cn,{"aria-invalid":!!L.customCidr,placeholder:`203.0.113.0/24`,type:`text`,...P(`customCidr`)}),(0,q.jsx)(Dn,{errors:[L.customCidr]})]})]})]}):(0,q.jsxs)(`div`,{className:`mt-3`,children:[Re.length===0?(0,q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No security groups in the resolved VPC.`}):(0,q.jsx)(`div`,{className:`space-y-1`,children:Re.map(e=>(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,q.jsx)(`input`,{"aria-label":`Security group ${e.GroupId} (${e.GroupName})`,checked:xe.includes(e.GroupId??``),onChange:()=>Be(e.GroupId??``),type:`checkbox`}),(0,q.jsxs)(`span`,{className:`font-mono`,children:[e.GroupId,` (`,e.GroupName,`)`]})]},e.GroupId))}),(0,q.jsx)(Dn,{errors:[L.securityGroupIds]})]})]}),(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`placementGroupName`,children:`Placement Group`})}),(0,q.jsx)(Lr,{control:N,name:`placementGroupName`,render:e=>{let{field:t}=e;return(0,q.jsxs)(ot,{onValueChange:e=>t.onChange(e===`none`?void 0:e),value:t.value??`none`,children:[(0,q.jsx)(at,{className:`w-full`,id:`placementGroupName`,children:(0,q.jsx)(et,{})}),(0,q.jsxs)(it,{children:[(0,q.jsx)(nt,{value:`none`,children:`none`}),v.map(Zl)]})]})}})]})]}),st;e[83]===Symbol.for(`react.memo_cache_sentinel`)?(st=(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`count`,children:`Number of Instances`})}),e[83]=st):st=e[83];let ct=!!L.count,lt;e[84]===P?lt=e[85]:(lt=P(`count`,{valueAsNumber:!0}),e[84]=P,e[85]=lt);let ut;e[86]!==ct||e[87]!==lt?(ut=(0,q.jsx)(Cn,{"aria-describedby":`count-description`,"aria-invalid":ct,id:`count`,type:`number`,...lt}),e[86]=ct,e[87]=lt,e[88]=ut):ut=e[88];let dt=R&&`Available capacity for ${R}: ${ce}`,ft;e[89]===dt?ft=e[90]:(ft=(0,q.jsx)(`p`,{className:`text-xs text-muted-foreground`,id:`count-description`,children:dt}),e[89]=dt,e[90]=ft);let pt;e[91]===L.count?pt=e[92]:(pt=(0,q.jsx)(Dn,{errors:[L.count]}),e[91]=L.count,e[92]=pt);let mt;e[93]!==ut||e[94]!==ft||e[95]!==pt?(mt=(0,q.jsxs)(On,{children:[st,ut,ft,pt]}),e[93]=ut,e[94]=ft,e[95]=pt,e[96]=mt):mt=e[96];let ht;e[97]!==N||e[98]!==L.rootDeviceName||e[99]!==L.rootVolumeSize||e[100]!==L.rootVolumeType||e[101]!==P||e[102]!==me.snapshotSize||e[103]!==Ce?(ht=!Ce&&(0,q.jsx)(q.Fragment,{children:(0,q.jsxs)(Gr,{children:[(0,q.jsxs)(Wr,{className:`group flex h-7 w-full items-center justify-between rounded-md border border-input bg-input/20 px-2 py-0.5 text-sm transition-colors outline-none hover:bg-input/40 focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 md:text-xs/relaxed dark:bg-input/30 dark:hover:bg-input/50`,render:(0,q.jsx)(`button`,{"aria-label":`Block Device Mappings (root volume)`,type:`button`}),children:[(0,q.jsx)(`span`,{children:`Block Device Mappings (root volume)`}),(0,q.jsx)($e,{className:`size-3.5 text-muted-foreground transition-transform group-data-[panel-open]:rotate-180`})]}),(0,q.jsxs)(Ur,{className:`mt-3 space-y-4 rounded-md border border-border p-4`,children:[(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`rootDeviceName`,children:`Device Name`})}),(0,q.jsx)(Cn,{"aria-invalid":!!L.rootDeviceName,id:`rootDeviceName`,type:`text`,...P(`rootDeviceName`)}),(0,q.jsx)(Dn,{errors:[L.rootDeviceName]})]}),(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`rootVolumeSize`,children:`Volume Size (GiB)`})}),(0,q.jsx)(Cn,{"aria-invalid":!!L.rootVolumeSize,id:`rootVolumeSize`,max:Gl,min:me.snapshotSize??Wl,placeholder:me.snapshotSize?`${me.snapshotSize} (AMI default)`:`use AMI / backend default`,type:`number`,...P(`rootVolumeSize`,{setValueAs:Xl})}),me.snapshotSize!==void 0&&(0,q.jsxs)(Tn,{children:[`AMI snapshot size: `,me.snapshotSize,` GiB`]}),(0,q.jsx)(Dn,{errors:[L.rootVolumeSize]})]}),(0,q.jsxs)(On,{children:[(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`rootVolumeType`,children:`Volume Type`})}),(0,q.jsx)(Lr,{control:N,name:`rootVolumeType`,render:e=>{let{field:t}=e;return(0,q.jsxs)(ot,{onValueChange:e=>t.onChange(e),value:t.value??Ul,children:[(0,q.jsx)(at,{"aria-invalid":!!L.rootVolumeType,className:`w-full`,id:`rootVolumeType`,children:(0,q.jsx)(et,{})}),(0,q.jsx)(it,{children:Yr.map(Yl)})]})}}),(0,q.jsx)(Dn,{errors:[L.rootVolumeType]})]}),(0,q.jsx)(On,{children:(0,q.jsx)(Lr,{control:N,name:`rootDeleteOnTermination`,render:Jl})})]})]})}),e[97]=N,e[98]=L.rootDeviceName,e[99]=L.rootVolumeSize,e[100]=L.rootVolumeType,e[101]=P,e[102]=me.snapshotSize,e[103]=Ce,e[104]=ht):ht=e[104];let gt;e[105]!==Ie||e[106]!==I?(gt=pu(I,Ie),e[105]=Ie,e[106]=I,e[107]=gt):gt=e[107];let _t;e[108]===gt?_t=e[109]:(_t=(0,q.jsx)(xt,{commands:gt}),e[108]=gt,e[109]=_t);let vt=oe||f.isPending,yt;e[110]===t?yt=e[111]:(yt=async()=>await t({to:`/ec2/describe-instances`}),e[110]=t,e[111]=yt);let bt;e[112]!==vt||e[113]!==yt?(bt=(0,q.jsx)(At,{disabled:vt,onClick:yt,type:`button`,variant:`outline`,children:`Cancel`}),e[112]=vt,e[113]=yt,e[114]=bt):bt=e[114];let St=oe||f.isPending||!Ce&&A.length===0,Ct=oe||f.isPending?`Creating…`:`Create Instance`,wt;e[115]!==St||e[116]!==Ct?(wt=(0,q.jsx)(At,{disabled:St,type:`submit`,children:Ct}),e[115]=St,e[116]=Ct,e[117]=wt):wt=e[117];let Tt;e[118]!==bt||e[119]!==wt?(Tt=(0,q.jsxs)(`div`,{className:`flex gap-2`,children:[bt,wt]}),e[118]=bt,e[119]=wt,e[120]=Tt):Tt=e[120];let Et;e[121]!==H||e[122]!==Qe||e[123]!==tt||e[124]!==rt||e[125]!==mt||e[126]!==ht||e[127]!==_t||e[128]!==Tt?(Et=(0,q.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:H,children:[Qe,tt,rt,mt,ht,_t,Tt]}),e[121]=H,e[122]=Qe,e[123]=tt,e[124]=rt,e[125]=mt,e[126]=ht,e[127]=_t,e[128]=Tt,e[129]=Et):Et=e[129];let Dt;return e[130]!==V||e[131]!==Ge||e[132]!==qe||e[133]!==Je||e[134]!==Et?(Dt=(0,q.jsxs)(q.Fragment,{children:[V,Ge,qe,Je,Et]}),e[130]=V,e[131]=Ge,e[132]=qe,e[133]=Je,e[134]=Et,e[135]=Dt):Dt=e[135],Dt}function Jl(e){let{field:t}=e;return(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,q.jsx)(`input`,{"aria-label":`Delete on termination`,checked:t.value??!0,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),`Delete on termination`]})}function Yl(e){return(0,q.jsx)(nt,{value:e,children:e},e)}function Xl(e){return e===``||e==null?void 0:Number(e)}function Zl(e){return(0,q.jsxs)(nt,{value:e.GroupName??``,children:[e.GroupName,` (`,e.Strategy,`)`]},e.GroupId)}function Ql(e){let{field:t}=e;return(0,q.jsxs)(`div`,{className:`flex gap-4 text-sm`,children:[(0,q.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`input`,{"aria-label":`Source anywhere`,checked:t.value===`anywhere`,onChange:()=>t.onChange(`anywhere`),type:`radio`}),`Anywhere (0.0.0.0/0)`]}),(0,q.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`input`,{"aria-label":`Source custom CIDR`,checked:t.value===`custom`,onChange:()=>t.onChange(`custom`),type:`radio`}),`Custom CIDR`]})]})}function $l(e){let{field:t}=e;return(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,q.jsx)(`input`,{"aria-label":`Allow HTTPS`,checked:t.value,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),`Allow HTTPS (tcp/443)`]})}function eu(e){let{field:t}=e;return(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,q.jsx)(`input`,{"aria-label":`Allow HTTP`,checked:t.value,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),`Allow HTTP (tcp/80)`]})}function tu(e){let{field:t}=e;return(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,q.jsx)(`input`,{"aria-label":`Allow SSH`,checked:t.value,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),`Allow SSH (tcp/22)`]})}function nu(e){let{field:t}=e;return(0,q.jsxs)(`div`,{className:`flex gap-4 text-sm`,children:[(0,q.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`input`,{"aria-label":`Create new security group`,checked:t.value===`create`,onChange:()=>t.onChange(`create`),type:`radio`}),`Create new`]}),(0,q.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`input`,{"aria-label":`Select existing security group`,checked:t.value===`existing`,onChange:()=>t.onChange(`existing`),type:`radio`}),`Select existing`]})]})}function ru(e){return(0,q.jsx)(nt,{value:e.SubnetId??``,children:e.SubnetId},e.SubnetId)}function iu(e){return(0,q.jsx)(nt,{value:e.KeyName??``,children:e.KeyName},e.KeyPairId)}function au(e){return(0,q.jsxs)(nt,{value:e.ImageId??``,children:[e.Name??`Unnamed`,` (`,e.Architecture,`)`]},e.ImageId)}function ou(e){return(0,q.jsxs)(nt,{value:String(e.VersionNumber),children:[`v`,e.VersionNumber]},e.VersionNumber)}function su(e){return(0,q.jsx)(nt,{value:e.LaunchTemplateId??``,children:e.LaunchTemplateName??e.LaunchTemplateId},e.LaunchTemplateId)}function cu(e){return e.endsWith(`.nano`)}function lu(e){return e.GroupName??``}function uu(e){return e.IsDefault}function du(e){let t=e?.RootDeviceName??Hl,n=e?.BlockDeviceMappings??[];return{deviceName:t,snapshotSize:(n.find(e=>e.DeviceName===t)??n[0])?.Ebs?.VolumeSize}}function fu(e,t){if(e.length===0)return;if(!t||t===`$Default`)return e.find(e=>e.DefaultVersion)??e[0];if(t===`$Latest`)return e.toSorted((e,t)=>(t.VersionNumber??0)-(e.VersionNumber??0))[0];let n=Number(t);return e.find(e=>e.VersionNumber===n)}function pu(e,t){let n=e(`launchTemplateId`),r=typeof n==`string`?n:``;if(r){let t=e(`launchTemplateVersion`),n=typeof t==`string`&&t?t:`$Default`,i=e(`count`),a=typeof i==`number`?i:0;return[{label:`Run Instances`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 run-instances`},{type:`flag`,value:` \\ --launch-template`},{type:`value`,value:` LaunchTemplateId=${r},Version=${n}`},{type:`flag`,value:` \\ --count`},{type:`value`,value:` ${a||1}`}]}]}let i=e(`imageId`),a=typeof i==`string`?i:``,o=e(`instanceType`),s=typeof o==`string`?o:``,c=e(`keyName`),l=typeof c==`string`?c:``,u=e(`subnetId`),d=typeof u==`string`?u:``,f=e(`placementGroupName`),p=typeof f==`string`?f:``,m=e(`count`),h=typeof m==`number`?m:0,g=e(`rootDeviceName`),_=typeof g==`string`?g:``,v=e(`rootVolumeSize`),y=typeof v==`number`?v:void 0,b=e(`rootVolumeType`),x=typeof b==`string`?b:``,S=e(`rootDeleteOnTermination`),C=typeof S!=`boolean`||S,w=[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 run-instances`},{type:`flag`,value:` \\ --image-id`},{type:`value`,value:` ${a||``}`},{type:`flag`,value:` \\ @@ -23,5 +23,5 @@ Error generating stack: `+e.message+` --group-id`},{type:`value`,value:` $SG_ID`},{type:`flag`,value:` \\ --ip-permissions`},{type:`value`,value:` '${e}'`}]})}w.push({type:`flag`,value:` \\ --security-group-ids`},{type:`value`,value:` $SG_ID`})}else{let t=e(`securityGroupIds`),n=Array.isArray(t)?t.filter(e=>typeof e==`string`):[];n.length>0&&w.push({type:`flag`,value:` \\ - --security-group-ids`},{type:`value`,value:` ${n.join(` `)}`})}if(y!==void 0||b!==void 0||S!==void 0){let e={};y!==void 0&&(e.VolumeSize=y),x&&(e.VolumeType=x),S!==void 0&&(e.DeleteOnTermination=C);let t=JSON.stringify([{DeviceName:_||Ml,Ebs:e}]);w.push({type:`flag`,value:` \\ - --block-device-mappings`},{type:`value`,value:` '${t}'`})}return[...M,{label:`Run Instances`,parts:w}]}var nu=z(`/_auth/ec2/(internet-gateways)/create-internet-gateway`)({head:()=>({meta:[{title:`Create Internet Gateway | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-internet-gateway.js`),__vite__mapDeps([54,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,47,8,48,21,22,19,20,49,50,51,24,52,53])),`component`)});function ru(e){let t=(0,q.c)(38),{open:n,keyName:r,keyMaterial:i}=e,a=je(),{copied:o,copy:s}=Nr(),c;t[0]!==i||t[1]!==r?(c=()=>{let e=new Blob([i],{type:`text/plain`}),t=URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`${r}.pem`,n.click(),URL.revokeObjectURL(t)},t[0]=i,t[1]=r,t[2]=c):c=t[2];let l=c,u;t[3]===a?u=t[4]:(u=()=>{a({to:`/ec2/describe-key-pairs`})},t[3]=a,t[4]=u);let d=u,f,p;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,K.jsx)(An,{children:(0,K.jsx)(xt,{className:`text-destructive`})}),p=(0,K.jsx)(In,{children:`Save Your Private Key`}),t[5]=f,t[6]=p):(f=t[5],p=t[6]);let m;t[7]===r?m=t[8]:(m=(0,K.jsxs)(Vn,{children:[f,p,(0,K.jsxs)(kn,{children:[`This is your only chance to save the private key file for`,` `,(0,K.jsx)(`strong`,{children:r}),`. Please download or copy it now. You won't be able to retrieve it again.`]})]}),t[7]=r,t[8]=m);let h=`Private key material for ${r}`,g;t[9]!==i||t[10]!==h?(g=(0,K.jsx)(`textarea`,{"aria-label":h,className:`w-full resize-none overflow-y-auto rounded-md border border-input bg-input/20 px-2 py-2 font-mono text-xs`,readOnly:!0,rows:4,value:i}),t[9]=i,t[10]=h,t[11]=g):g=t[11];let _;t[12]!==s||t[13]!==i?(_=async()=>await s(i),t[12]=s,t[13]=i,t[14]=_):_=t[14];let v;t[15]===o?v=t[16]:(v=o?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)($e,{className:`mr-2 size-4`}),`Copied!`]}):`Copy to Clipboard`,t[15]=o,t[16]=v);let y;t[17]!==_||t[18]!==v?(y=(0,K.jsx)(kt,{className:`flex-1`,onClick:_,type:`button`,variant:`outline`,children:v}),t[17]=_,t[18]=v,t[19]=y):y=t[19];let b;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,K.jsx)(lt,{className:`mr-2 size-4`}),t[20]=b):b=t[20];let x;t[21]===l?x=t[22]:(x=(0,K.jsxs)(kt,{className:`flex-1`,onClick:l,type:`button`,variant:`outline`,children:[b,`Download .pem File`]}),t[21]=l,t[22]=x);let S;t[23]!==y||t[24]!==x?(S=(0,K.jsxs)(`div`,{className:`flex gap-2`,children:[y,x]}),t[23]=y,t[24]=x,t[25]=S):S=t[25];let C;t[26]!==S||t[27]!==g?(C=(0,K.jsxs)(`div`,{className:`space-y-3`,children:[g,S]}),t[26]=S,t[27]=g,t[28]=C):C=t[28];let w;t[29]===d?w=t[30]:(w=(0,K.jsx)(Rn,{children:(0,K.jsx)(Bn,{onClick:d,children:`Close and Continue`})}),t[29]=d,t[30]=w);let T;t[31]!==C||t[32]!==w||t[33]!==m?(T=(0,K.jsxs)(Fn,{className:`max-w-2xl`,children:[m,C,w]}),t[31]=C,t[32]=w,t[33]=m,t[34]=T):T=t[34];let E;return t[35]!==n||t[36]!==T?(E=(0,K.jsx)(Hn,{open:n,children:T}),t[35]=n,t[36]=T,t[37]=E):E=t[37],E}var iu=z(`/_auth/ec2/(key)/create-key-pair`)({head:()=>({meta:[{title:`Create Key Pair | EC2 | Mulga`}]}),component:au});function au(){let e=(0,q.c)(60),t=je(),n=mr(),[r,i]=(0,G.useState)(null),a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=Mr(Hr),e[0]=a):a=e[0];let o;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(o={resolver:a,defaultValues:{keyType:`rsa`}},e[1]=o):o=e[1];let{handleSubmit:s,register:c,control:l,formState:u}=Ar(o),{errors:d,isSubmitting:f}=u,p;e[2]===l?p=e[3]:(p={control:l},e[2]=l,e[3]=p);let m=kr(p),h;e[4]===m?h=e[5]:(h=e=>e?m[e]:void 0,e[4]=m,e[5]=h);let g=h,_;e[6]===n?_=e[7]:(_=async e=>{let t=await n.mutateAsync(e);t.KeyMaterial&&i({keyName:e.keyName,material:t.KeyMaterial})},e[6]=n,e[7]=_);let v=_,y,b;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,K.jsx)(Xe,{to:`/ec2/describe-key-pairs`,children:`Back to key pairs`}),b=(0,K.jsx)(Ir,{title:`Create Key Pair`}),e[8]=y,e[9]=b):(y=e[8],b=e[9]);let x;e[10]===n.error?x=e[11]:(x=n.error&&(0,K.jsx)(Pr,{error:n.error,msg:`Failed to create key pair`}),e[10]=n.error,e[11]=x);let S;e[12]!==s||e[13]!==v?(S=s(v),e[12]=s,e[13]=v,e[14]=S):S=e[14];let C;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,K.jsx)(Cn,{children:(0,K.jsx)(`label`,{htmlFor:`keyName`,children:`Key Pair Name`})}),e[15]=C):C=e[15];let w=!!d.keyName,T;e[16]===c?T=e[17]:(T=c(`keyName`),e[16]=c,e[17]=T);let E;e[18]!==w||e[19]!==T?(E=(0,K.jsx)(Sn,{"aria-invalid":w,id:`keyName`,placeholder:`my-key-pair…`,...T}),e[18]=w,e[19]=T,e[20]=E):E=e[20];let D;e[21]===d.keyName?D=e[22]:(D=(0,K.jsx)(En,{errors:[d.keyName]}),e[21]=d.keyName,e[22]=D);let O;e[23]!==E||e[24]!==D?(O=(0,K.jsxs)(Dn,{children:[C,E,D]}),e[23]=E,e[24]=D,e[25]=O):O=e[25];let k;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,K.jsx)(Cn,{children:(0,K.jsx)(`label`,{htmlFor:`keyType`,children:`Key Type`})}),e[26]=k):k=e[26];let A;e[27]===d.keyType?A=e[28]:(A=e=>{let{field:t}=e;return(0,K.jsxs)(st,{onValueChange:e=>t.onChange(e),value:t.value,children:[(0,K.jsx)(ot,{"aria-invalid":!!d.keyType,className:`w-full`,id:`keyType`,children:(0,K.jsx)(tt,{placeholder:`Select a key type`})}),(0,K.jsxs)(at,{children:[(0,K.jsx)(rt,{value:`rsa`,children:`RSA (2048-bit)`}),(0,K.jsx)(rt,{value:`ed25519`,children:`ED25519`})]})]})},e[27]=d.keyType,e[28]=A);let ee;e[29]!==l||e[30]!==A?(ee=(0,K.jsx)(jr,{control:l,name:`keyType`,render:A}),e[29]=l,e[30]=A,e[31]=ee):ee=e[31];let te;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,K.jsx)(wn,{children:`RSA is required to retrieve a Windows administrator password. ED25519 works for SSH only.`}),e[32]=te):te=e[32];let ne;e[33]===d.keyType?ne=e[34]:(ne=(0,K.jsx)(En,{errors:[d.keyType]}),e[33]=d.keyType,e[34]=ne);let j;e[35]!==ee||e[36]!==ne?(j=(0,K.jsxs)(Dn,{children:[k,ee,te,ne]}),e[35]=ee,e[36]=ne,e[37]=j):j=e[37];let M;e[38]===g?M=e[39]:(M=ou(g),e[38]=g,e[39]=M);let N;e[40]===M?N=e[41]:(N=(0,K.jsx)(bt,{commands:M}),e[40]=M,e[41]=N);let re;e[42]===t?re=e[43]:(re=async()=>await t({to:`/ec2/describe-key-pairs`}),e[42]=t,e[43]=re);let P;e[44]!==n.isPending||e[45]!==f||e[46]!==re?(P=(0,K.jsx)(Wr,{isPending:n.isPending,isSubmitting:f,onCancel:re,pendingLabel:`Creating…`,submitLabel:`Create Key Pair`}),e[44]=n.isPending,e[45]=f,e[46]=re,e[47]=P):P=e[47];let F;e[48]!==O||e[49]!==j||e[50]!==N||e[51]!==P||e[52]!==S?(F=(0,K.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:S,children:[O,j,N,P]}),e[48]=O,e[49]=j,e[50]=N,e[51]=P,e[52]=S,e[53]=F):F=e[53];let ie;e[54]===r?ie=e[55]:(ie=r&&(0,K.jsx)(ru,{keyMaterial:r.material,keyName:r.keyName,open:!!r}),e[54]=r,e[55]=ie);let I;return e[56]!==F||e[57]!==ie||e[58]!==x?(I=(0,K.jsxs)(K.Fragment,{children:[y,b,x,F,ie]}),e[56]=F,e[57]=ie,e[58]=x,e[59]=I):I=e[59],I}function ou(e){let t=e(`keyName`),n=typeof t==`string`?t:``,r=e(`keyType`),i=typeof r==`string`?r:`rsa`;return[{label:`Create Key Pair`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-key-pair`},{type:`flag`,value:` --key-name`},{type:`value`,value:` ${n||``}`},{type:`flag`,value:` --key-type`},{type:`value`,value:` ${i}`}]}]}var su=z(`/_auth/ec2/(key)/import-key-pair`)({head:()=>({meta:[{title:`Import Key Pair | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./import-key-pair.js`),__vite__mapDeps([55,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,47,8,48,21,22,19,20,49,50,51,24,52,53,56])),`component`)}),cu=z(`/_auth/ec2/(launch-templates)/create-launch-template`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(cr),e.queryClient.ensureQueryData(nr),e.queryClient.ensureQueryData(lr),e.queryClient.ensureQueryData($n),e.queryClient.ensureQueryData(dr)])},head:()=>({meta:[{title:`Create Launch Template | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-launch-template.js`),__vite__mapDeps([57,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,47,8,48,21,22,19,20,49,50,51,24,52,53,58,59,7,60,61,62,63,64,56])),`component`)}),lu=z(`/_auth/ec2/(load-balancers)/create-load-balancer`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(Qn),e.queryClient.ensureQueryData($n),e.queryClient.ensureQueryData(dr),e.queryClient.ensureQueryData(xr),e.queryClient.ensureQueryData(Yn),e.queryClient.ensureQueryData(br)])},head:()=>({meta:[{title:`Create Load Balancer | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-load-balancer.js`),__vite__mapDeps([65,1,59,7,8,35,4,10,11,36,9,12,60,61,28,40,38,13,43,44,62,45,63,66,37,39,41,67,42,46,68,20,21,22,69,48,70,51,56,19,71,72,73,50,24,53,74,64,75])),`component`)}),uu=z(`/_auth/ec2/(nat-gateways)/create-nat-gateway`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData($n),e.queryClient.ensureQueryData(sr)])},head:()=>({meta:[{title:`Create NAT Gateway | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-nat-gateway.js`),__vite__mapDeps([76,1,59,7,8,9,4,35,10,11,36,12,60,61,28,40,38,13,43,44,62,45,63,37,39,41,42,46,19,20,21,22,47,48,49,50,51,24,52,53])),`component`)}),du=z(`/_auth/ec2/(placement-groups)/create-placement-group`)({head:()=>({meta:[{title:`Create Placement Group | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-placement-group.js`),__vite__mapDeps([77,1,35,4,36,9,12,60,61,28,10,11,40,38,13,43,44,62,45,63,37,39,41,42,46,47,8,48,21,22,19,20,49,50,51,24,52,53])),`component`)}),fu=z(`/_auth/ec2/(route-tables)/create-route-table`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Qn)},head:()=>({meta:[{title:`Create Route Table | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-route-table.js`),__vite__mapDeps([78,1,59,7,8,35,4,10,11,36,9,12,60,61,28,40,38,13,43,44,62,45,63,42,46,19,20,21,22,47,48,49,50,51,24,52,53])),`component`)}),pu=z(`/_auth/ec2/(security-groups)/create-security-group`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Qn)},head:()=>({meta:[{title:`Create Security Group | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-security-group.js`),__vite__mapDeps([79,1,59,7,8,35,4,10,11,36,9,12,60,61,28,40,38,13,43,44,62,45,63,37,39,41,42,46,19,20,21,22,47,48,49,50,51,24,52,53])),`component`)}),mu=z(`/_auth/ec2/(subnet)/create-subnet`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(Qn),e.queryClient.ensureQueryData(ur)])},head:()=>({meta:[{title:`Create Subnet | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-subnet.js`),__vite__mapDeps([80,1,59,7,8,35,4,10,11,36,9,12,60,61,28,40,38,13,43,44,62,45,63,37,39,41,42,46,19,20,21,22,47,48,49,50,51,24,52,53])),`component`)}),hu=z(`/_auth/ec2/(target-groups)/create-target-group`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Qn)},head:()=>({meta:[{title:`Create Target Group | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-target-group.js`),__vite__mapDeps([81,1,59,7,8,35,4,36,9,12,37,10,11,38,13,39,40,28,41,19,20,21,22,71,48,72,50,51,24,53,74,60,61,43,44,62,45,63,66,67,42,46,64,75])),`component`)}),gu=z(`/_auth/ec2/(volumes)/create-volume`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(ur)},head:()=>({meta:[{title:`Create Volume | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-volume.js`),__vite__mapDeps([82,1,59,7,8,35,4,36,9,12,60,61,28,10,11,40,38,13,43,44,62,45,63,37,39,41,42,46,19,20,21,22,47,48,49,50,51,24,52,53])),`component`)}),_u=z(`/_auth/ec2/(vpc)/create-vpc`)({head:()=>({meta:[{title:`Create VPC | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-vpc.js`),__vite__mapDeps([83,1,35,4,36,9,12,13,14,60,61,28,10,11,40,38,43,44,62,45,63,37,39,41,42,46,47,8,48,21,22,19,20,49,50,51,24,52,53])),`component`)}),vu=z(`/_auth/ecs/(clusters)/task-definitions`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(_r)},head:()=>({meta:[{title:`Task Definitions | ECS | Mulga`}]}),component:B(()=>H(()=>import(`./task-definitions.js`),__vite__mapDeps([84,1,59,7,8,9,4,40,28,10,11,85,20,21,22,86,48,18,51,24,87,70,61,43,62,88])),`component`)}),yu=z(`/_auth/eks/(clusters)/create-cluster`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(Qn),e.queryClient.ensureQueryData($n),e.queryClient.ensureQueryData(Er),e.queryClient.ensureQueryData(cr)])},head:()=>({meta:[{title:`Create Cluster | EKS | Mulga`}]}),component:B(()=>H(()=>import(`./create-cluster.js`),__vite__mapDeps([89,1,8,59,7,35,4,10,11,36,9,12,60,61,28,40,38,13,43,44,62,45,63,42,46,70,19,20,21,22,90,48,91,49,92,93,94,95,50,51,24,53,96,97,39,98,99,41,100])),`component`)}),bu=z(`/_auth/iam/(groups)/create-group`)({head:()=>({meta:[{title:`Create Group | IAM | Mulga`}]}),component:B(()=>H(()=>import(`./create-group.js`),__vite__mapDeps([101,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,93,8,48,21,22,94,50,51,24,53,102,92])),`component`)}),xu=z(`/_auth/iam/(instance-profiles)/create-instance-profile`)({head:()=>({meta:[{title:`Create Instance Profile | IAM | Mulga`}]}),component:B(()=>H(()=>import(`./create-instance-profile.js`),__vite__mapDeps([103,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,93,8,48,21,22,94,50,51,24,53,102,92])),`component`)}),Su=z(`/_auth/iam/(policies)/create-policy`)({head:()=>({meta:[{title:`Create Policy | IAM | Mulga`}]}),component:B(()=>H(()=>import(`./create-policy.js`),__vite__mapDeps([104,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,93,8,48,21,22,94,50,51,24,53,105,92,56,102])),`component`)}),Cu=z(`/_auth/iam/(roles)/create-role`)({head:()=>({meta:[{title:`Create Role | IAM | Mulga`}]}),component:B(()=>H(()=>import(`./create-role.js`),__vite__mapDeps([106,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,93,8,48,21,22,94,50,51,24,53,105,92,56,102])),`component`)}),wu=z(`/_auth/iam/(users)/create-user`)({head:()=>({meta:[{title:`Create User | IAM | Mulga`}]}),component:B(()=>H(()=>import(`./create-user.js`),__vite__mapDeps([107,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,93,8,48,21,22,94,50,51,24,53,102,92])),`component`)}),Tu=z(`/_auth/s3/(buckets)/create-bucket`)({head:()=>({meta:[{title:`Create Bucket | S3 | Mulga`}]}),component:B(()=>H(()=>import(`./create-bucket.js`),__vite__mapDeps([108,1,35,4,10,11,36,9,12,37,38,13,39,40,28,41,42,43,44,45,46,109,8,48,21,22,50,51,24,53])),`component`)}),Eu=z(`/_auth/s3/ls/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Dr)},head:()=>({meta:[{title:`Buckets | S3 | Mulga`}]}),component:B(()=>H(()=>import(`./ls.js`),__vite__mapDeps([110,1,59,7,8,9,4,10,11,40,28,23,20,21,22,24,111])),`component`)}),Du=z(`/_auth/s3/ls/$bucket`)({component:B(()=>H(()=>import(`./route2.js`),__vite__mapDeps([112,1,2,3,4])),`component`)}),Ou=z(`/_auth/ec2/(elastic-ips)/describe-addresses/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(sr)},head:()=>({meta:[{title:`Elastic IPs | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-addresses.js`),__vite__mapDeps([113,1,59,7,8,9,4,10,11,40,28,19,20,21,22,24,111])),`component`)}),ku=z(`/_auth/ec2/(images)/describe-images/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(cr)},head:()=>({meta:[{title:`Images | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-images.js`),__vite__mapDeps([114,1,59,7,8,19,20,10,11,21,22,24,111,9,4,25,96])),`component`)}),Au=z(`/_auth/ec2/(instances)/describe-instances/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(ar)},head:()=>({meta:[{title:`Instances | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-instances.js`),__vite__mapDeps([115,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,111,25])),`component`)}),ju=z(`/_auth/ec2/(internet-gateways)/describe-internet-gateways/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(rr)},head:()=>({meta:[{title:`Internet Gateways | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-internet-gateways.js`),__vite__mapDeps([116,1,59,7,8,9,4,10,11,40,28,19,20,21,22,24,111])),`component`)}),Mu=z(`/_auth/ec2/(key)/describe-key-pairs/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(lr)},head:()=>({meta:[{title:`Key Pairs | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-key-pairs.js`),__vite__mapDeps([117,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,111])),`component`)}),Nu=z(`/_auth/ec2/(launch-templates)/describe-launch-templates/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(ir)},head:()=>({meta:[{title:`Launch Templates | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-launch-templates.js`),__vite__mapDeps([118,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,111,27,29])),`component`)}),Pu=z(`/_auth/ec2/(load-balancers)/describe-load-balancers/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(yr)},head:()=>({meta:[{title:`Load Balancers | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-load-balancers.js`),__vite__mapDeps([119,1,59,7,8,9,4,35,10,11,40,28,73,20,21,22,72,24,25])),`component`)}),Fu=z(`/_auth/ec2/(nat-gateways)/describe-nat-gateways/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(tr)},head:()=>({meta:[{title:`NAT Gateways | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-nat-gateways.js`),__vite__mapDeps([120,1,59,7,8,9,4,10,11,40,28,19,20,21,22,24,111,25])),`component`)}),Iu=z(`/_auth/ec2/(placement-groups)/describe-placement-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(fr)},head:()=>({meta:[{title:`Placement Groups | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-placement-groups.js`),__vite__mapDeps([121,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,111,25])),`component`)}),Lu=z(`/_auth/ec2/(route-tables)/describe-route-tables/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(er)},head:()=>({meta:[{title:`Route Tables | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-route-tables.js`),__vite__mapDeps([122,1,59,7,8,9,4,10,11,40,28,19,20,21,22,24,111,27,29])),`component`)}),Ru=z(`/_auth/ec2/(security-groups)/describe-security-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(dr)},head:()=>({meta:[{title:`Security Groups | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-security-groups.js`),__vite__mapDeps([123,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,111])),`component`)}),zu=z(`/_auth/ec2/(snapshots)/describe-snapshots/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Zn)},head:()=>({meta:[{title:`Snapshots | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-snapshots.js`),__vite__mapDeps([124,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,111,25])),`component`)}),Bu=z(`/_auth/ec2/(subnet)/describe-subnets/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData($n)},head:()=>({meta:[{title:`Subnets | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-subnets.js`),__vite__mapDeps([125,1,59,7,8,9,4,10,11,40,28,19,20,21,22,24,111,25])),`component`)}),Vu=z(`/_auth/ec2/(target-groups)/describe-target-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(xr)},head:()=>({meta:[{title:`Target Groups | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-target-groups.js`),__vite__mapDeps([126,1,6,7,8,59,9,4,35,40,28,10,11,73,20,21,22,72,24])),`component`)}),Hu=z(`/_auth/ec2/(volumes)/describe-volumes/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Xn)},head:()=>({meta:[{title:`Volumes | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-volumes.js`),__vite__mapDeps([127,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,111,25])),`component`)}),Uu=z(`/_auth/ec2/(vpc)/describe-vpcs/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Qn)},head:()=>({meta:[{title:`VPCs | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-vpcs.js`),__vite__mapDeps([128,1,59,7,8,9,4,10,11,40,28,19,20,21,22,24,111,25])),`component`)}),Wu=z(`/_auth/ecr/(repositories)/list-repositories/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(hr)},head:()=>({meta:[{title:`Repositories | ECR | Mulga`}]}),component:B(()=>H(()=>import(`./list-repositories.js`),__vite__mapDeps([129,1,59,7,8,9,4,35,10,11,40,28,42,43,44,45,46,70,61,62,130,20,21,22,131,48,24])),`component`)}),Gu=z(`/_auth/ecs/(clusters)/list-clusters/`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(gr),e.queryClient.ensureQueryData(cr)])},head:()=>({meta:[{title:`Clusters | ECS | Mulga`}]}),component:B(()=>H(()=>import(`./list-clusters.js`),__vite__mapDeps([132,1,8,59,7,9,4,35,40,28,10,11,42,43,44,45,46,70,61,62,19,20,21,22,85,86,48,18,51,24,87,25,96,97,38,12,39,98,99,41,88])),`component`)}),Ku=z(`/_auth/eks/(clusters)/list-clusters/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(vr)},head:()=>({meta:[{title:`Clusters | EKS | Mulga`}]}),component:B(()=>H(()=>import(`./list-clusters2.js`),__vite__mapDeps([133,1,59,7,8,9,4,40,28,10,11,134,20,21,22,91,24,111])),`component`)}),qu=z(`/_auth/iam/(groups)/list-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(wr)},head:()=>({meta:[{title:`Groups | IAM | Mulga`}]}),component:B(()=>H(()=>import(`./list-groups.js`),__vite__mapDeps([135,1,59,7,8,9,4,40,28,10,11,95,20,21,22,94,92,24,111])),`component`)}),Ju=z(`/_auth/iam/(instance-profiles)/list-instance-profiles/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Cr)},head:()=>({meta:[{title:`Instance Profiles | IAM | Mulga`}]}),component:B(()=>H(()=>import(`./list-instance-profiles.js`),__vite__mapDeps([136,1,59,7,8,9,4,40,28,10,11,95,20,21,22,94,92,24,111])),`component`)}),Yu=z(`/_auth/iam/(policies)/list-policies/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Tr)},head:()=>({meta:[{title:`Policies | IAM | Mulga`}]}),component:B(()=>H(()=>import(`./list-policies.js`),__vite__mapDeps([137,1,59,7,8,9,4,40,28,10,11,95,20,21,22,94,92,24,111])),`component`)}),Xu=z(`/_auth/iam/(roles)/list-roles/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Er)},head:()=>({meta:[{title:`Roles | IAM | Mulga`}]}),component:B(()=>H(()=>import(`./list-roles.js`),__vite__mapDeps([138,1,59,7,8,9,4,40,28,10,11,95,20,21,22,94,92,24,111])),`component`)}),Zu=z(`/_auth/iam/(users)/list-users/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Sr)},head:()=>({meta:[{title:`Users | IAM | Mulga`}]}),component:B(()=>H(()=>import(`./list-users.js`),__vite__mapDeps([139,1,59,7,8,9,4,40,28,10,11,95,20,21,22,94,92,24,111])),`component`)}),Q=Dl.update({id:`/_auth`,getParentRoute:()=>El}),Qu=Or.update({id:`/login`,path:`/login`,getParentRoute:()=>El}),$u=Ol.update({id:`/`,path:`/`,getParentRoute:()=>Q}),ed=kl.update({id:`/nodes`,path:`/nodes`,getParentRoute:()=>Q}),td=Al.update({id:`/s3/service-metrics`,path:`/s3/service-metrics`,getParentRoute:()=>Q}),nd=jl.update({id:`/ec2/(elastic-ips)/allocate-address`,path:`/ec2/allocate-address`,getParentRoute:()=>Q}),rd=Il.update({id:`/ec2/(instances)/run-instances`,path:`/ec2/run-instances`,getParentRoute:()=>Q}),id=nu.update({id:`/ec2/(internet-gateways)/create-internet-gateway`,path:`/ec2/create-internet-gateway`,getParentRoute:()=>Q}),ad=iu.update({id:`/ec2/(key)/create-key-pair`,path:`/ec2/create-key-pair`,getParentRoute:()=>Q}),od=su.update({id:`/ec2/(key)/import-key-pair`,path:`/ec2/import-key-pair`,getParentRoute:()=>Q}),sd=cu.update({id:`/ec2/(launch-templates)/create-launch-template`,path:`/ec2/create-launch-template`,getParentRoute:()=>Q}),cd=lu.update({id:`/ec2/(load-balancers)/create-load-balancer`,path:`/ec2/create-load-balancer`,getParentRoute:()=>Q}),ld=uu.update({id:`/ec2/(nat-gateways)/create-nat-gateway`,path:`/ec2/create-nat-gateway`,getParentRoute:()=>Q}),ud=du.update({id:`/ec2/(placement-groups)/create-placement-group`,path:`/ec2/create-placement-group`,getParentRoute:()=>Q}),dd=fu.update({id:`/ec2/(route-tables)/create-route-table`,path:`/ec2/create-route-table`,getParentRoute:()=>Q}),fd=pu.update({id:`/ec2/(security-groups)/create-security-group`,path:`/ec2/create-security-group`,getParentRoute:()=>Q}),pd=Gr.update({id:`/ec2/(snapshots)/create-snapshot`,path:`/ec2/create-snapshot`,getParentRoute:()=>Q}),md=mu.update({id:`/ec2/(subnet)/create-subnet`,path:`/ec2/create-subnet`,getParentRoute:()=>Q}),hd=hu.update({id:`/ec2/(target-groups)/create-target-group`,path:`/ec2/create-target-group`,getParentRoute:()=>Q}),gd=gu.update({id:`/ec2/(volumes)/create-volume`,path:`/ec2/create-volume`,getParentRoute:()=>Q}),_d=_u.update({id:`/ec2/(vpc)/create-vpc`,path:`/ec2/create-vpc`,getParentRoute:()=>Q}),vd=Kr.update({id:`/ecs/(clusters)/create-service`,path:`/ecs/create-service`,getParentRoute:()=>Q}),$=qr.update({id:`/ecs/(clusters)/register-task-definition`,path:`/ecs/register-task-definition`,getParentRoute:()=>Q}),yd=Jr.update({id:`/ecs/(clusters)/run-task`,path:`/ecs/run-task`,getParentRoute:()=>Q}),bd=vu.update({id:`/ecs/(clusters)/task-definitions`,path:`/ecs/task-definitions`,getParentRoute:()=>Q}),xd=yu.update({id:`/eks/(clusters)/create-cluster`,path:`/eks/create-cluster`,getParentRoute:()=>Q}),Sd=bu.update({id:`/iam/(groups)/create-group`,path:`/iam/create-group`,getParentRoute:()=>Q}),Cd=xu.update({id:`/iam/(instance-profiles)/create-instance-profile`,path:`/iam/create-instance-profile`,getParentRoute:()=>Q}),wd=Su.update({id:`/iam/(policies)/create-policy`,path:`/iam/create-policy`,getParentRoute:()=>Q}),Td=Cu.update({id:`/iam/(roles)/create-role`,path:`/iam/create-role`,getParentRoute:()=>Q}),Ed=wu.update({id:`/iam/(users)/create-user`,path:`/iam/create-user`,getParentRoute:()=>Q}),Dd=Tu.update({id:`/s3/(buckets)/create-bucket`,path:`/s3/create-bucket`,getParentRoute:()=>Q}),Od=Eu.update({id:`/s3/ls/`,path:`/s3/ls/`,getParentRoute:()=>Q}),kd=Du.update({id:`/s3/ls/$bucket`,path:`/s3/ls/$bucket`,getParentRoute:()=>Q}),Ad=Ou.update({id:`/ec2/(elastic-ips)/describe-addresses/`,path:`/ec2/describe-addresses/`,getParentRoute:()=>Q}),jd=Yr.update({id:`/ec2/(elastic-ips)/describe-addresses/$id`,path:`/ec2/describe-addresses/$id`,getParentRoute:()=>Q}),Md=ku.update({id:`/ec2/(images)/describe-images/`,path:`/ec2/describe-images/`,getParentRoute:()=>Q}),Nd=Xr.update({id:`/ec2/(images)/describe-images/$id`,path:`/ec2/describe-images/$id`,getParentRoute:()=>Q}),Pd=Au.update({id:`/ec2/(instances)/describe-instances/`,path:`/ec2/describe-instances/`,getParentRoute:()=>Q}),Fd=Zr.update({id:`/ec2/(instances)/describe-instances/$id`,path:`/ec2/describe-instances/$id`,getParentRoute:()=>Q}),Id=ju.update({id:`/ec2/(internet-gateways)/describe-internet-gateways/`,path:`/ec2/describe-internet-gateways/`,getParentRoute:()=>Q}),Ld=Qr.update({id:`/ec2/(internet-gateways)/describe-internet-gateways/$id`,path:`/ec2/describe-internet-gateways/$id`,getParentRoute:()=>Q}),Rd=Mu.update({id:`/ec2/(key)/describe-key-pairs/`,path:`/ec2/describe-key-pairs/`,getParentRoute:()=>Q}),zd=$r.update({id:`/ec2/(key)/describe-key-pairs/$id`,path:`/ec2/describe-key-pairs/$id`,getParentRoute:()=>Q}),Bd=Nu.update({id:`/ec2/(launch-templates)/describe-launch-templates/`,path:`/ec2/describe-launch-templates/`,getParentRoute:()=>Q}),Vd=ei.update({id:`/ec2/(launch-templates)/describe-launch-templates/$id`,path:`/ec2/describe-launch-templates/$id`,getParentRoute:()=>Q}),Hd=Pu.update({id:`/ec2/(load-balancers)/describe-load-balancers/`,path:`/ec2/describe-load-balancers/`,getParentRoute:()=>Q}),Ud=ti.update({id:`/ec2/(load-balancers)/describe-load-balancers/$id`,path:`/ec2/describe-load-balancers/$id`,getParentRoute:()=>Q}),Wd=Fu.update({id:`/ec2/(nat-gateways)/describe-nat-gateways/`,path:`/ec2/describe-nat-gateways/`,getParentRoute:()=>Q}),Gd=ni.update({id:`/ec2/(nat-gateways)/describe-nat-gateways/$id`,path:`/ec2/describe-nat-gateways/$id`,getParentRoute:()=>Q}),Kd=Iu.update({id:`/ec2/(placement-groups)/describe-placement-groups/`,path:`/ec2/describe-placement-groups/`,getParentRoute:()=>Q}),qd=ri.update({id:`/ec2/(placement-groups)/describe-placement-groups/$id`,path:`/ec2/describe-placement-groups/$id`,getParentRoute:()=>Q}),Jd=Lu.update({id:`/ec2/(route-tables)/describe-route-tables/`,path:`/ec2/describe-route-tables/`,getParentRoute:()=>Q}),Yd=ii.update({id:`/ec2/(route-tables)/describe-route-tables/$id`,path:`/ec2/describe-route-tables/$id`,getParentRoute:()=>Q}),Xd=Ru.update({id:`/ec2/(security-groups)/describe-security-groups/`,path:`/ec2/describe-security-groups/`,getParentRoute:()=>Q}),Zd=Ct.update({id:`/ec2/(security-groups)/describe-security-groups/$id`,path:`/ec2/describe-security-groups/$id`,getParentRoute:()=>Q}),Qd=zu.update({id:`/ec2/(snapshots)/describe-snapshots/`,path:`/ec2/describe-snapshots/`,getParentRoute:()=>Q}),$d=yt.update({id:`/ec2/(snapshots)/describe-snapshots/$id`,path:`/ec2/describe-snapshots/$id`,getParentRoute:()=>Q}),ef=Bu.update({id:`/ec2/(subnet)/describe-subnets/`,path:`/ec2/describe-subnets/`,getParentRoute:()=>Q}),tf=ai.update({id:`/ec2/(subnet)/describe-subnets/$id`,path:`/ec2/describe-subnets/$id`,getParentRoute:()=>Q}),nf=Vu.update({id:`/ec2/(target-groups)/describe-target-groups/`,path:`/ec2/describe-target-groups/`,getParentRoute:()=>Q}),rf=oi.update({id:`/ec2/(target-groups)/describe-target-groups/$id`,path:`/ec2/describe-target-groups/$id`,getParentRoute:()=>Q}),af=Hu.update({id:`/ec2/(volumes)/describe-volumes/`,path:`/ec2/describe-volumes/`,getParentRoute:()=>Q}),of=Qe.update({id:`/ec2/(volumes)/describe-volumes/$id`,path:`/ec2/describe-volumes/$id`,getParentRoute:()=>Q}),sf=si.update({id:`/ec2/(volumes)/modify-volume/$id`,path:`/ec2/modify-volume/$id`,getParentRoute:()=>Q}),cf=Uu.update({id:`/ec2/(vpc)/describe-vpcs/`,path:`/ec2/describe-vpcs/`,getParentRoute:()=>Q}),lf=ci.update({id:`/ec2/(vpc)/describe-vpcs/$id`,path:`/ec2/describe-vpcs/$id`,getParentRoute:()=>Q}),uf=Wu.update({id:`/ecr/(repositories)/list-repositories/`,path:`/ecr/list-repositories/`,getParentRoute:()=>Q}),df=li.update({id:`/ecr/(repositories)/list-repositories/$id`,path:`/ecr/list-repositories/$id`,getParentRoute:()=>Q}),ff=Gu.update({id:`/ecs/(clusters)/list-clusters/`,path:`/ecs/list-clusters/`,getParentRoute:()=>Q}),pf=ui.update({id:`/ecs/(clusters)/list-clusters/$clusterName`,path:`/ecs/list-clusters/$clusterName`,getParentRoute:()=>Q}),mf=Ku.update({id:`/eks/(clusters)/list-clusters/`,path:`/eks/list-clusters/`,getParentRoute:()=>Q}),hf=di.update({id:`/eks/(clusters)/list-clusters/$clusterName`,path:`/eks/list-clusters/$clusterName`,getParentRoute:()=>Q}),gf=qu.update({id:`/iam/(groups)/list-groups/`,path:`/iam/list-groups/`,getParentRoute:()=>Q}),_f=fi.update({id:`/iam/(groups)/list-groups/$groupName`,path:`/iam/list-groups/$groupName`,getParentRoute:()=>Q}),vf=Ju.update({id:`/iam/(instance-profiles)/list-instance-profiles/`,path:`/iam/list-instance-profiles/`,getParentRoute:()=>Q}),yf=pi.update({id:`/iam/(instance-profiles)/list-instance-profiles/$instanceProfileName`,path:`/iam/list-instance-profiles/$instanceProfileName`,getParentRoute:()=>Q}),bf=Yu.update({id:`/iam/(policies)/list-policies/`,path:`/iam/list-policies/`,getParentRoute:()=>Q}),xf=mi.update({id:`/iam/(policies)/list-policies/$policyArn`,path:`/iam/list-policies/$policyArn`,getParentRoute:()=>Q}),Sf=Xu.update({id:`/iam/(roles)/list-roles/`,path:`/iam/list-roles/`,getParentRoute:()=>Q}),Cf=hi.update({id:`/iam/(roles)/list-roles/$roleName`,path:`/iam/list-roles/$roleName`,getParentRoute:()=>Q}),wf=Zu.update({id:`/iam/(users)/list-users/`,path:`/iam/list-users/`,getParentRoute:()=>Q}),Tf=gi.update({id:`/iam/(users)/list-users/$userName`,path:`/iam/list-users/$userName`,getParentRoute:()=>Q}),Ef=_i.update({id:`/`,path:`/`,getParentRoute:()=>kd}),Df=vi.update({id:`/$`,path:`/$`,getParentRoute:()=>kd}),Of=yi.update({id:`/ecs/(clusters)/list-clusters/$clusterName_/services/$serviceName`,path:`/ecs/list-clusters/$clusterName/services/$serviceName`,getParentRoute:()=>Q}),kf=bi.update({id:`/ecs/(clusters)/list-clusters/$clusterName_/tasks/$taskId`,path:`/ecs/list-clusters/$clusterName/tasks/$taskId`,getParentRoute:()=>Q}),Af={AuthS3LsBucketSplatRoute:Df,AuthS3LsBucketIndexRoute:Ef},jf={AuthNodesRoute:ed,AuthIndexRoute:$u,AuthS3ServiceMetricsRoute:td,AuthS3LsBucketRouteRoute:kd._addFileChildren(Af),AuthEc2elasticIpsAllocateAddressRoute:nd,AuthEc2instancesRunInstancesRoute:rd,AuthEc2internetGatewaysCreateInternetGatewayRoute:id,AuthEc2keyCreateKeyPairRoute:ad,AuthEc2keyImportKeyPairRoute:od,AuthEc2launchTemplatesCreateLaunchTemplateRoute:sd,AuthEc2loadBalancersCreateLoadBalancerRoute:cd,AuthEc2natGatewaysCreateNatGatewayRoute:ld,AuthEc2placementGroupsCreatePlacementGroupRoute:ud,AuthEc2routeTablesCreateRouteTableRoute:dd,AuthEc2securityGroupsCreateSecurityGroupRoute:fd,AuthEc2snapshotsCreateSnapshotRoute:pd,AuthEc2subnetCreateSubnetRoute:md,AuthEc2targetGroupsCreateTargetGroupRoute:hd,AuthEc2volumesCreateVolumeRoute:gd,AuthEc2vpcCreateVpcRoute:_d,AuthEcsclustersCreateServiceRoute:vd,AuthEcsclustersRegisterTaskDefinitionRoute:$,AuthEcsclustersRunTaskRoute:yd,AuthEcsclustersTaskDefinitionsRoute:bd,AuthEksclustersCreateClusterRoute:xd,AuthIamgroupsCreateGroupRoute:Sd,AuthIaminstanceProfilesCreateInstanceProfileRoute:Cd,AuthIampoliciesCreatePolicyRoute:wd,AuthIamrolesCreateRoleRoute:Td,AuthIamusersCreateUserRoute:Ed,AuthS3bucketsCreateBucketRoute:Dd,AuthS3LsIndexRoute:Od,AuthEc2elasticIpsDescribeAddressesIdRoute:jd,AuthEc2imagesDescribeImagesIdRoute:Nd,AuthEc2instancesDescribeInstancesIdRoute:Fd,AuthEc2internetGatewaysDescribeInternetGatewaysIdRoute:Ld,AuthEc2keyDescribeKeyPairsIdRoute:zd,AuthEc2launchTemplatesDescribeLaunchTemplatesIdRoute:Vd,AuthEc2loadBalancersDescribeLoadBalancersIdRoute:Ud,AuthEc2natGatewaysDescribeNatGatewaysIdRoute:Gd,AuthEc2placementGroupsDescribePlacementGroupsIdRoute:qd,AuthEc2routeTablesDescribeRouteTablesIdRoute:Yd,AuthEc2securityGroupsDescribeSecurityGroupsIdRoute:Zd,AuthEc2snapshotsDescribeSnapshotsIdRoute:$d,AuthEc2subnetDescribeSubnetsIdRoute:tf,AuthEc2targetGroupsDescribeTargetGroupsIdRoute:rf,AuthEc2volumesDescribeVolumesIdRoute:of,AuthEc2volumesModifyVolumeIdRoute:sf,AuthEc2vpcDescribeVpcsIdRoute:lf,AuthEcrrepositoriesListRepositoriesIdRoute:df,AuthEcsclustersListClustersClusterNameRoute:pf,AuthEksclustersListClustersClusterNameRoute:hf,AuthIamgroupsListGroupsGroupNameRoute:_f,AuthIaminstanceProfilesListInstanceProfilesInstanceProfileNameRoute:yf,AuthIampoliciesListPoliciesPolicyArnRoute:xf,AuthIamrolesListRolesRoleNameRoute:Cf,AuthIamusersListUsersUserNameRoute:Tf,AuthEc2elasticIpsDescribeAddressesIndexRoute:Ad,AuthEc2imagesDescribeImagesIndexRoute:Md,AuthEc2instancesDescribeInstancesIndexRoute:Pd,AuthEc2internetGatewaysDescribeInternetGatewaysIndexRoute:Id,AuthEc2keyDescribeKeyPairsIndexRoute:Rd,AuthEc2launchTemplatesDescribeLaunchTemplatesIndexRoute:Bd,AuthEc2loadBalancersDescribeLoadBalancersIndexRoute:Hd,AuthEc2natGatewaysDescribeNatGatewaysIndexRoute:Wd,AuthEc2placementGroupsDescribePlacementGroupsIndexRoute:Kd,AuthEc2routeTablesDescribeRouteTablesIndexRoute:Jd,AuthEc2securityGroupsDescribeSecurityGroupsIndexRoute:Xd,AuthEc2snapshotsDescribeSnapshotsIndexRoute:Qd,AuthEc2subnetDescribeSubnetsIndexRoute:ef,AuthEc2targetGroupsDescribeTargetGroupsIndexRoute:nf,AuthEc2volumesDescribeVolumesIndexRoute:af,AuthEc2vpcDescribeVpcsIndexRoute:cf,AuthEcrrepositoriesListRepositoriesIndexRoute:uf,AuthEcsclustersListClustersIndexRoute:ff,AuthEksclustersListClustersIndexRoute:mf,AuthIamgroupsListGroupsIndexRoute:gf,AuthIaminstanceProfilesListInstanceProfilesIndexRoute:vf,AuthIampoliciesListPoliciesIndexRoute:bf,AuthIamrolesListRolesIndexRoute:Sf,AuthIamusersListUsersIndexRoute:wf,AuthEcsclustersListClustersClusterNameServicesServiceNameRoute:Of,AuthEcsclustersListClustersClusterNameTasksTaskIdRoute:kf},Mf={AuthRouteRoute:Q._addFileChildren(jf),LoginRoute:Qu},Nf=El._addFileChildren(Mf)._addFileTypes(),Pf=yl(),Ff=Vo({routeTree:Nf,context:{queryClient:Pf},defaultPreload:`intent`,scrollRestoration:!0,defaultStructuralSharing:!0,defaultPreloadStaleTime:0});async function If(e){try{await Je()}catch(t){e.render((0,K.jsxs)(`div`,{style:{fontFamily:`sans-serif`,margin:`4rem auto`,maxWidth:`40rem`},children:[(0,K.jsx)(`h1`,{children:`Console unavailable`}),(0,K.jsx)(`p`,{children:`This cluster did not report its region, so the console cannot sign requests. Check that the serving node has a region set in its configuration.`}),(0,K.jsx)(`pre`,{children:t instanceof Error?t.message:String(t)})]}));return}e.render((0,K.jsx)(G.StrictMode,{children:(0,K.jsx)(is,{defaultTheme:`dark`,storageKey:`spinifex-ui-theme`,children:(0,K.jsx)(_,{client:Pf,children:(0,K.jsx)(Jn,{children:(0,K.jsx)(tl,{children:(0,K.jsx)(Wo,{router:Ff})})})})})}))}var Lf=document.querySelector(`#app`);Lf&&!Lf.innerHTML&&await If(ts.createRoot(Lf)); \ No newline at end of file + --security-group-ids`},{type:`value`,value:` ${n.join(` `)}`})}if(y!==void 0||b!==void 0||S!==void 0){let e={};y!==void 0&&(e.VolumeSize=y),x&&(e.VolumeType=x),S!==void 0&&(e.DeleteOnTermination=C);let t=JSON.stringify([{DeviceName:_||Hl,Ebs:e}]);w.push({type:`flag`,value:` \\ + --block-device-mappings`},{type:`value`,value:` '${t}'`})}return[...M,{label:`Run Instances`,parts:w}]}var mu=z(`/_auth/ec2/(internet-gateways)/create-internet-gateway`)({head:()=>({meta:[{title:`Create Internet Gateway | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-internet-gateway.js`),__vite__mapDeps([54,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,47,8,48,21,22,19,20,49,50,51,24,52,53])),`component`)});function hu(e){let t=(0,fs.c)(38),{open:n,keyName:r,keyMaterial:i}=e,a=je(),{copied:o,copy:s}=zr(),c;t[0]!==i||t[1]!==r?(c=()=>{let e=new Blob([i],{type:`text/plain`}),t=URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`${r}.pem`,n.click(),URL.revokeObjectURL(t)},t[0]=i,t[1]=r,t[2]=c):c=t[2];let l=c,u;t[3]===a?u=t[4]:(u=()=>{a({to:`/ec2/describe-key-pairs`})},t[3]=a,t[4]=u);let d=u,f,p;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,q.jsx)(jn,{children:(0,q.jsx)(St,{className:`text-destructive`})}),p=(0,q.jsx)(Ln,{children:`Save Your Private Key`}),t[5]=f,t[6]=p):(f=t[5],p=t[6]);let m;t[7]===r?m=t[8]:(m=(0,q.jsxs)(Hn,{children:[f,p,(0,q.jsxs)(An,{children:[`This is your only chance to save the private key file for`,` `,(0,q.jsx)(`strong`,{children:r}),`. Please download or copy it now. You won't be able to retrieve it again.`]})]}),t[7]=r,t[8]=m);let h=`Private key material for ${r}`,g;t[9]!==i||t[10]!==h?(g=(0,q.jsx)(`textarea`,{"aria-label":h,className:`w-full resize-none overflow-y-auto rounded-md border border-input bg-input/20 px-2 py-2 font-mono text-xs`,readOnly:!0,rows:4,value:i}),t[9]=i,t[10]=h,t[11]=g):g=t[11];let _;t[12]!==s||t[13]!==i?(_=async()=>await s(i),t[12]=s,t[13]=i,t[14]=_):_=t[14];let v;t[15]===o?v=t[16]:(v=o?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Qe,{className:`mr-2 size-4`}),`Copied!`]}):`Copy to Clipboard`,t[15]=o,t[16]=v);let y;t[17]!==_||t[18]!==v?(y=(0,q.jsx)(At,{className:`flex-1`,onClick:_,type:`button`,variant:`outline`,children:v}),t[17]=_,t[18]=v,t[19]=y):y=t[19];let b;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,q.jsx)(ct,{className:`mr-2 size-4`}),t[20]=b):b=t[20];let x;t[21]===l?x=t[22]:(x=(0,q.jsxs)(At,{className:`flex-1`,onClick:l,type:`button`,variant:`outline`,children:[b,`Download .pem File`]}),t[21]=l,t[22]=x);let S;t[23]!==y||t[24]!==x?(S=(0,q.jsxs)(`div`,{className:`flex gap-2`,children:[y,x]}),t[23]=y,t[24]=x,t[25]=S):S=t[25];let C;t[26]!==S||t[27]!==g?(C=(0,q.jsxs)(`div`,{className:`space-y-3`,children:[g,S]}),t[26]=S,t[27]=g,t[28]=C):C=t[28];let w;t[29]===d?w=t[30]:(w=(0,q.jsx)(zn,{children:(0,q.jsx)(Vn,{onClick:d,children:`Close and Continue`})}),t[29]=d,t[30]=w);let T;t[31]!==C||t[32]!==w||t[33]!==m?(T=(0,q.jsxs)(In,{className:`max-w-2xl`,children:[m,C,w]}),t[31]=C,t[32]=w,t[33]=m,t[34]=T):T=t[34];let E;return t[35]!==n||t[36]!==T?(E=(0,q.jsx)(Un,{open:n,children:T}),t[35]=n,t[36]=T,t[37]=E):E=t[37],E}var gu=z(`/_auth/ec2/(key)/create-key-pair`)({head:()=>({meta:[{title:`Create Key Pair | EC2 | Mulga`}]}),component:_u});function _u(){let e=(0,fs.c)(60),t=je(),n=hr(),[r,i]=(0,K.useState)(null),a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=Rr(Jr),e[0]=a):a=e[0];let o;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(o={resolver:a,defaultValues:{keyType:`rsa`}},e[1]=o):o=e[1];let{handleSubmit:s,register:c,control:l,formState:u}=Ir(o),{errors:d,isSubmitting:f}=u,p;e[2]===l?p=e[3]:(p={control:l},e[2]=l,e[3]=p);let m=Fr(p),h;e[4]===m?h=e[5]:(h=e=>e?m[e]:void 0,e[4]=m,e[5]=h);let g=h,_;e[6]===n?_=e[7]:(_=async e=>{let t=await n.mutateAsync(e);t.KeyMaterial&&i({keyName:e.keyName,material:t.KeyMaterial})},e[6]=n,e[7]=_);let v=_,y,b;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,q.jsx)(Xe,{to:`/ec2/describe-key-pairs`,children:`Back to key pairs`}),b=(0,q.jsx)(Hr,{title:`Create Key Pair`}),e[8]=y,e[9]=b):(y=e[8],b=e[9]);let x;e[10]===n.error?x=e[11]:(x=n.error&&(0,q.jsx)(Br,{error:n.error,msg:`Failed to create key pair`}),e[10]=n.error,e[11]=x);let S;e[12]!==s||e[13]!==v?(S=s(v),e[12]=s,e[13]=v,e[14]=S):S=e[14];let C;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`keyName`,children:`Key Pair Name`})}),e[15]=C):C=e[15];let w=!!d.keyName,T;e[16]===c?T=e[17]:(T=c(`keyName`),e[16]=c,e[17]=T);let E;e[18]!==w||e[19]!==T?(E=(0,q.jsx)(Cn,{"aria-invalid":w,id:`keyName`,placeholder:`my-key-pair…`,...T}),e[18]=w,e[19]=T,e[20]=E):E=e[20];let D;e[21]===d.keyName?D=e[22]:(D=(0,q.jsx)(Dn,{errors:[d.keyName]}),e[21]=d.keyName,e[22]=D);let O;e[23]!==E||e[24]!==D?(O=(0,q.jsxs)(On,{children:[C,E,D]}),e[23]=E,e[24]=D,e[25]=O):O=e[25];let k;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,q.jsx)(wn,{children:(0,q.jsx)(`label`,{htmlFor:`keyType`,children:`Key Type`})}),e[26]=k):k=e[26];let A;e[27]===d.keyType?A=e[28]:(A=e=>{let{field:t}=e;return(0,q.jsxs)(ot,{onValueChange:e=>t.onChange(e),value:t.value,children:[(0,q.jsx)(at,{"aria-invalid":!!d.keyType,className:`w-full`,id:`keyType`,children:(0,q.jsx)(et,{placeholder:`Select a key type`})}),(0,q.jsxs)(it,{children:[(0,q.jsx)(nt,{value:`rsa`,children:`RSA (2048-bit)`}),(0,q.jsx)(nt,{value:`ed25519`,children:`ED25519`})]})]})},e[27]=d.keyType,e[28]=A);let ee;e[29]!==l||e[30]!==A?(ee=(0,q.jsx)(Lr,{control:l,name:`keyType`,render:A}),e[29]=l,e[30]=A,e[31]=ee):ee=e[31];let te;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,q.jsx)(Tn,{children:`RSA is required to retrieve a Windows administrator password. ED25519 works for SSH only.`}),e[32]=te):te=e[32];let ne;e[33]===d.keyType?ne=e[34]:(ne=(0,q.jsx)(Dn,{errors:[d.keyType]}),e[33]=d.keyType,e[34]=ne);let j;e[35]!==ee||e[36]!==ne?(j=(0,q.jsxs)(On,{children:[k,ee,te,ne]}),e[35]=ee,e[36]=ne,e[37]=j):j=e[37];let M;e[38]===g?M=e[39]:(M=vu(g),e[38]=g,e[39]=M);let N;e[40]===M?N=e[41]:(N=(0,q.jsx)(xt,{commands:M}),e[40]=M,e[41]=N);let re;e[42]===t?re=e[43]:(re=async()=>await t({to:`/ec2/describe-key-pairs`}),e[42]=t,e[43]=re);let P;e[44]!==n.isPending||e[45]!==f||e[46]!==re?(P=(0,q.jsx)(Xr,{isPending:n.isPending,isSubmitting:f,onCancel:re,pendingLabel:`Creating…`,submitLabel:`Create Key Pair`}),e[44]=n.isPending,e[45]=f,e[46]=re,e[47]=P):P=e[47];let F;e[48]!==O||e[49]!==j||e[50]!==N||e[51]!==P||e[52]!==S?(F=(0,q.jsxs)(`form`,{className:`max-w-4xl space-y-6`,onSubmit:S,children:[O,j,N,P]}),e[48]=O,e[49]=j,e[50]=N,e[51]=P,e[52]=S,e[53]=F):F=e[53];let ie;e[54]===r?ie=e[55]:(ie=r&&(0,q.jsx)(hu,{keyMaterial:r.material,keyName:r.keyName,open:!!r}),e[54]=r,e[55]=ie);let I;return e[56]!==F||e[57]!==ie||e[58]!==x?(I=(0,q.jsxs)(q.Fragment,{children:[y,b,x,F,ie]}),e[56]=F,e[57]=ie,e[58]=x,e[59]=I):I=e[59],I}function vu(e){let t=e(`keyName`),n=typeof t==`string`?t:``,r=e(`keyType`),i=typeof r==`string`?r:`rsa`;return[{label:`Create Key Pair`,parts:[{type:`bin`,value:`AWS_PROFILE=spinifex aws ec2 create-key-pair`},{type:`flag`,value:` --key-name`},{type:`value`,value:` ${n||``}`},{type:`flag`,value:` --key-type`},{type:`value`,value:` ${i}`}]}]}var yu=z(`/_auth/ec2/(key)/import-key-pair`)({head:()=>({meta:[{title:`Import Key Pair | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./import-key-pair.js`),__vite__mapDeps([55,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,47,8,48,21,22,19,20,49,50,51,24,52,53,56])),`component`)}),bu=z(`/_auth/ec2/(launch-templates)/create-launch-template`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(lr),e.queryClient.ensureQueryData(rr),e.queryClient.ensureQueryData(ur),e.queryClient.ensureQueryData(er),e.queryClient.ensureQueryData(fr)])},head:()=>({meta:[{title:`Create Launch Template | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-launch-template.js`),__vite__mapDeps([57,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,47,8,48,21,22,19,20,49,50,51,24,52,53,58,59,7,60,61,62,63,64,56])),`component`)}),xu=z(`/_auth/ec2/(load-balancers)/create-load-balancer`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData($n),e.queryClient.ensureQueryData(er),e.queryClient.ensureQueryData(fr),e.queryClient.ensureQueryData(Sr),e.queryClient.ensureQueryData(Xn),e.queryClient.ensureQueryData(xr)])},head:()=>({meta:[{title:`Create Load Balancer | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-load-balancer.js`),__vite__mapDeps([65,1,59,7,8,35,4,10,11,36,9,12,60,61,28,40,38,13,43,44,62,45,63,66,37,39,41,67,42,46,68,20,21,22,69,48,70,51,56,19,71,72,73,50,24,53,74,64,75])),`component`)}),Su=z(`/_auth/ec2/(nat-gateways)/create-nat-gateway`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(er),e.queryClient.ensureQueryData(cr)])},head:()=>({meta:[{title:`Create NAT Gateway | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-nat-gateway.js`),__vite__mapDeps([76,1,59,7,8,9,4,35,10,11,36,12,60,61,28,40,38,13,43,44,62,45,63,37,39,41,42,46,19,20,21,22,47,48,49,50,51,24,52,53])),`component`)}),Cu=z(`/_auth/ec2/(placement-groups)/create-placement-group`)({head:()=>({meta:[{title:`Create Placement Group | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-placement-group.js`),__vite__mapDeps([77,1,35,4,36,9,12,60,61,28,10,11,40,38,13,43,44,62,45,63,37,39,41,42,46,47,8,48,21,22,19,20,49,50,51,24,52,53])),`component`)}),wu=z(`/_auth/ec2/(route-tables)/create-route-table`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData($n)},head:()=>({meta:[{title:`Create Route Table | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-route-table.js`),__vite__mapDeps([78,1,59,7,8,35,4,10,11,36,9,12,60,61,28,40,38,13,43,44,62,45,63,42,46,19,20,21,22,47,48,49,50,51,24,52,53])),`component`)}),Tu=z(`/_auth/ec2/(security-groups)/create-security-group`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData($n)},head:()=>({meta:[{title:`Create Security Group | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-security-group.js`),__vite__mapDeps([79,1,59,7,8,35,4,10,11,36,9,12,60,61,28,40,38,13,43,44,62,45,63,37,39,41,42,46,19,20,21,22,47,48,49,50,51,24,52,53])),`component`)}),Eu=z(`/_auth/ec2/(subnet)/create-subnet`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData($n),e.queryClient.ensureQueryData(dr)])},head:()=>({meta:[{title:`Create Subnet | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-subnet.js`),__vite__mapDeps([80,1,59,7,8,35,4,10,11,36,9,12,60,61,28,40,38,13,43,44,62,45,63,37,39,41,42,46,19,20,21,22,47,48,49,50,51,24,52,53])),`component`)}),Du=z(`/_auth/ec2/(target-groups)/create-target-group`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData($n)},head:()=>({meta:[{title:`Create Target Group | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-target-group.js`),__vite__mapDeps([81,1,59,7,8,35,4,36,9,12,37,10,11,38,13,39,40,28,41,19,20,21,22,71,48,72,50,51,24,53,74,60,61,43,44,62,45,63,66,67,42,46,64,75])),`component`)}),Ou=z(`/_auth/ec2/(volumes)/create-volume`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(dr)},head:()=>({meta:[{title:`Create Volume | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-volume.js`),__vite__mapDeps([82,1,59,7,8,35,4,36,9,12,60,61,28,10,11,40,38,13,43,44,62,45,63,37,39,41,42,46,19,20,21,22,47,48,49,50,51,24,52,53])),`component`)}),ku=z(`/_auth/ec2/(vpc)/create-vpc`)({head:()=>({meta:[{title:`Create VPC | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./create-vpc.js`),__vite__mapDeps([83,1,35,4,36,9,12,13,14,60,61,28,10,11,40,38,43,44,62,45,63,37,39,41,42,46,47,8,48,21,22,19,20,49,50,51,24,52,53])),`component`)}),Au=z(`/_auth/ecs/(clusters)/task-definitions`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(vr)},head:()=>({meta:[{title:`Task Definitions | ECS | Mulga`}]}),component:B(()=>H(()=>import(`./task-definitions.js`),__vite__mapDeps([84,1,59,7,8,9,4,40,28,10,11,85,20,21,22,86,48,18,51,24,87,70,61,43,62,88])),`component`)}),ju=z(`/_auth/eks/(clusters)/create-cluster`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData($n),e.queryClient.ensureQueryData(er),e.queryClient.ensureQueryData(Dr),e.queryClient.ensureQueryData(lr)])},head:()=>({meta:[{title:`Create Cluster | EKS | Mulga`}]}),component:B(()=>H(()=>import(`./create-cluster.js`),__vite__mapDeps([89,1,8,59,7,35,4,10,11,36,9,12,60,61,28,40,38,13,43,44,62,45,63,42,46,70,19,20,21,22,90,48,91,49,92,93,94,95,50,51,24,53,96,97,39,98,99,41,100])),`component`)}),Mu=z(`/_auth/iam/(groups)/create-group`)({head:()=>({meta:[{title:`Create Group | IAM | Mulga`}]}),component:B(()=>H(()=>import(`./create-group.js`),__vite__mapDeps([101,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,93,8,48,21,22,94,50,51,24,53,102,92])),`component`)}),Nu=z(`/_auth/iam/(instance-profiles)/create-instance-profile`)({head:()=>({meta:[{title:`Create Instance Profile | IAM | Mulga`}]}),component:B(()=>H(()=>import(`./create-instance-profile.js`),__vite__mapDeps([103,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,93,8,48,21,22,94,50,51,24,53,102,92])),`component`)}),Pu=z(`/_auth/iam/(policies)/create-policy`)({head:()=>({meta:[{title:`Create Policy | IAM | Mulga`}]}),component:B(()=>H(()=>import(`./create-policy.js`),__vite__mapDeps([104,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,93,8,48,21,22,94,50,51,24,53,105,92,56,102])),`component`)}),Fu=z(`/_auth/iam/(roles)/create-role`)({head:()=>({meta:[{title:`Create Role | IAM | Mulga`}]}),component:B(()=>H(()=>import(`./create-role.js`),__vite__mapDeps([106,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,93,8,48,21,22,94,50,51,24,53,105,92,56,102])),`component`)}),Iu=z(`/_auth/iam/(users)/create-user`)({head:()=>({meta:[{title:`Create User | IAM | Mulga`}]}),component:B(()=>H(()=>import(`./create-user.js`),__vite__mapDeps([107,1,35,4,36,9,12,37,10,11,38,13,39,40,28,41,42,43,44,45,46,93,8,48,21,22,94,50,51,24,53,102,92])),`component`)}),Lu=z(`/_auth/rds/(db-instances)/create-db-instance`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(jr),e.queryClient.ensureQueryData(Ar),e.queryClient.ensureQueryData(kr),e.queryClient.ensureQueryData(fr),e.queryClient.ensureQueryData($n),e.queryClient.ensureQueryData(lr)])},head:()=>({meta:[{title:`Create Database | RDS | Mulga`}]}),component:B(()=>H(()=>import(`./create-db-instance.js`),__vite__mapDeps([108,1,8,6,7,59,35,4,36,9,12,60,61,28,10,11,40,38,13,43,44,62,45,63,37,39,41,42,46,19,20,21,22,109,110,48,111,50,51,24,53,96,97,98,99,112,113,114,66,67])),`component`)}),Ru=z(`/_auth/rds/(parameter-groups)/create-db-parameter-group`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(jr)},head:()=>({meta:[{title:`Create Parameter Group | RDS | Mulga`}]}),component:B(()=>H(()=>import(`./create-db-parameter-group.js`),__vite__mapDeps([115,1,59,7,8,35,4,36,9,12,60,61,28,10,11,40,38,13,43,44,62,45,63,37,39,41,42,46,109,21,22,110,48,111,20,50,51,24,53,114,66,67])),`component`)}),zu=z(`/_auth/rds/(subnet-groups)/create-db-subnet-group`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(er),e.queryClient.ensureQueryData($n)])},head:()=>({meta:[{title:`Create Subnet Group | RDS | Mulga`}]}),component:B(()=>H(()=>import(`./create-db-subnet-group.js`),__vite__mapDeps([116,1,59,7,8,35,4,10,11,36,9,12,37,38,13,39,40,28,41,42,43,44,45,46,19,20,21,22,109,110,48,50,51,24,53,114,66,67])),`component`)}),Bu=z(`/_auth/s3/(buckets)/create-bucket`)({head:()=>({meta:[{title:`Create Bucket | S3 | Mulga`}]}),component:B(()=>H(()=>import(`./create-bucket.js`),__vite__mapDeps([117,1,35,4,10,11,36,9,12,37,38,13,39,40,28,41,42,43,44,45,46,118,8,48,21,22,50,51,24,53])),`component`)}),Vu=z(`/_auth/s3/ls/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Nr)},head:()=>({meta:[{title:`Buckets | S3 | Mulga`}]}),component:B(()=>H(()=>import(`./ls.js`),__vite__mapDeps([119,1,59,7,8,9,4,10,11,40,28,23,20,21,22,24,120])),`component`)}),Hu=z(`/_auth/s3/ls/$bucket`)({component:B(()=>H(()=>import(`./route2.js`),__vite__mapDeps([121,1,2,3,4])),`component`)}),Uu=z(`/_auth/ec2/(elastic-ips)/describe-addresses/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(cr)},head:()=>({meta:[{title:`Elastic IPs | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-addresses.js`),__vite__mapDeps([122,1,59,7,8,9,4,10,11,40,28,19,20,21,22,24,120])),`component`)}),Wu=z(`/_auth/ec2/(images)/describe-images/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(lr)},head:()=>({meta:[{title:`Images | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-images.js`),__vite__mapDeps([123,1,59,7,8,19,20,10,11,21,22,24,120,9,4,25,96])),`component`)}),Gu=z(`/_auth/ec2/(instances)/describe-instances/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(or)},head:()=>({meta:[{title:`Instances | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-instances.js`),__vite__mapDeps([124,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,120,25])),`component`)}),Ku=z(`/_auth/ec2/(internet-gateways)/describe-internet-gateways/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(ir)},head:()=>({meta:[{title:`Internet Gateways | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-internet-gateways.js`),__vite__mapDeps([125,1,59,7,8,9,4,10,11,40,28,19,20,21,22,24,120])),`component`)}),qu=z(`/_auth/ec2/(key)/describe-key-pairs/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(ur)},head:()=>({meta:[{title:`Key Pairs | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-key-pairs.js`),__vite__mapDeps([126,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,120])),`component`)}),Ju=z(`/_auth/ec2/(launch-templates)/describe-launch-templates/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(ar)},head:()=>({meta:[{title:`Launch Templates | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-launch-templates.js`),__vite__mapDeps([127,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,120,27,29])),`component`)}),Yu=z(`/_auth/ec2/(load-balancers)/describe-load-balancers/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(br)},head:()=>({meta:[{title:`Load Balancers | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-load-balancers.js`),__vite__mapDeps([128,1,59,7,8,9,4,35,10,11,40,28,73,20,21,22,72,24,25])),`component`)}),Xu=z(`/_auth/ec2/(nat-gateways)/describe-nat-gateways/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(nr)},head:()=>({meta:[{title:`NAT Gateways | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-nat-gateways.js`),__vite__mapDeps([129,1,59,7,8,9,4,10,11,40,28,19,20,21,22,24,120,25])),`component`)}),Zu=z(`/_auth/ec2/(placement-groups)/describe-placement-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(pr)},head:()=>({meta:[{title:`Placement Groups | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-placement-groups.js`),__vite__mapDeps([130,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,120,25])),`component`)}),Qu=z(`/_auth/ec2/(route-tables)/describe-route-tables/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(tr)},head:()=>({meta:[{title:`Route Tables | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-route-tables.js`),__vite__mapDeps([131,1,59,7,8,9,4,10,11,40,28,19,20,21,22,24,120,27,29])),`component`)}),$u=z(`/_auth/ec2/(security-groups)/describe-security-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(fr)},head:()=>({meta:[{title:`Security Groups | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-security-groups.js`),__vite__mapDeps([132,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,120])),`component`)}),ed=z(`/_auth/ec2/(snapshots)/describe-snapshots/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Qn)},head:()=>({meta:[{title:`Snapshots | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-snapshots.js`),__vite__mapDeps([133,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,120,25])),`component`)}),td=z(`/_auth/ec2/(subnet)/describe-subnets/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(er)},head:()=>({meta:[{title:`Subnets | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-subnets.js`),__vite__mapDeps([134,1,59,7,8,9,4,10,11,40,28,19,20,21,22,24,120,25])),`component`)}),nd=z(`/_auth/ec2/(target-groups)/describe-target-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Sr)},head:()=>({meta:[{title:`Target Groups | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-target-groups.js`),__vite__mapDeps([135,1,6,7,8,59,9,4,35,40,28,10,11,73,20,21,22,72,24])),`component`)}),rd=z(`/_auth/ec2/(volumes)/describe-volumes/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Zn)},head:()=>({meta:[{title:`Volumes | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-volumes.js`),__vite__mapDeps([136,1,59,7,8,9,4,40,28,10,11,19,20,21,22,24,120,25])),`component`)}),id=z(`/_auth/ec2/(vpc)/describe-vpcs/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData($n)},head:()=>({meta:[{title:`VPCs | EC2 | Mulga`}]}),component:B(()=>H(()=>import(`./describe-vpcs.js`),__vite__mapDeps([137,1,59,7,8,9,4,10,11,40,28,19,20,21,22,24,120,25])),`component`)}),ad=z(`/_auth/ecr/(repositories)/list-repositories/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(gr)},head:()=>({meta:[{title:`Repositories | ECR | Mulga`}]}),component:B(()=>H(()=>import(`./list-repositories.js`),__vite__mapDeps([138,1,59,7,8,9,4,35,10,11,40,28,42,43,44,45,46,70,61,62,139,20,21,22,140,48,24])),`component`)}),od=z(`/_auth/ecs/(clusters)/list-clusters/`)({loader:async({context:e})=>{await Promise.all([e.queryClient.ensureQueryData(_r),e.queryClient.ensureQueryData(lr)])},head:()=>({meta:[{title:`Clusters | ECS | Mulga`}]}),component:B(()=>H(()=>import(`./list-clusters.js`),__vite__mapDeps([141,1,8,59,7,9,4,35,40,28,10,11,42,43,44,45,46,70,61,62,19,20,21,22,85,86,48,18,51,24,87,25,96,97,38,12,39,98,99,41,88])),`component`)}),sd=z(`/_auth/eks/(clusters)/list-clusters/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(yr)},head:()=>({meta:[{title:`Clusters | EKS | Mulga`}]}),component:B(()=>H(()=>import(`./list-clusters2.js`),__vite__mapDeps([142,1,59,7,8,9,4,40,28,10,11,143,20,21,22,91,24,120])),`component`)}),cd=z(`/_auth/iam/(groups)/list-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Tr)},head:()=>({meta:[{title:`Groups | IAM | Mulga`}]}),component:B(()=>H(()=>import(`./list-groups.js`),__vite__mapDeps([144,1,59,7,8,9,4,40,28,10,11,95,20,21,22,94,92,24,120])),`component`)}),ld=z(`/_auth/iam/(instance-profiles)/list-instance-profiles/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(wr)},head:()=>({meta:[{title:`Instance Profiles | IAM | Mulga`}]}),component:B(()=>H(()=>import(`./list-instance-profiles.js`),__vite__mapDeps([145,1,59,7,8,9,4,40,28,10,11,95,20,21,22,94,92,24,120])),`component`)}),ud=z(`/_auth/iam/(policies)/list-policies/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Er)},head:()=>({meta:[{title:`Policies | IAM | Mulga`}]}),component:B(()=>H(()=>import(`./list-policies.js`),__vite__mapDeps([146,1,59,7,8,9,4,40,28,10,11,95,20,21,22,94,92,24,120])),`component`)}),dd=z(`/_auth/iam/(roles)/list-roles/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Dr)},head:()=>({meta:[{title:`Roles | IAM | Mulga`}]}),component:B(()=>H(()=>import(`./list-roles.js`),__vite__mapDeps([147,1,59,7,8,9,4,40,28,10,11,95,20,21,22,94,92,24,120])),`component`)}),fd=z(`/_auth/iam/(users)/list-users/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Cr)},head:()=>({meta:[{title:`Users | IAM | Mulga`}]}),component:B(()=>H(()=>import(`./list-users.js`),__vite__mapDeps([148,1,59,7,8,9,4,40,28,10,11,95,20,21,22,94,92,24,120])),`component`)}),pd=z(`/_auth/rds/(db-instances)/describe-db-instances/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Mr)},head:()=>({meta:[{title:`Databases | RDS | Mulga`}]}),component:B(()=>H(()=>import(`./describe-db-instances.js`),__vite__mapDeps([149,1,59,7,8,9,4,35,40,28,10,11,109,21,22,110,48,111,20,51,24,25,150,42,43,44,45,46,70,61,62])),`component`)}),md=z(`/_auth/rds/(parameter-groups)/describe-db-parameter-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(kr)},head:()=>({meta:[{title:`Parameter Groups | RDS | Mulga`}]}),component:B(()=>H(()=>import(`./describe-db-parameter-groups.js`),__vite__mapDeps([151,1,59,7,8,9,4,35,40,28,10,11,109,21,22,111,20,24,152,110,48,153,87,70,61,43,62])),`component`)}),hd=z(`/_auth/rds/(snapshots)/describe-db-snapshots/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Or)},head:()=>({meta:[{title:`Snapshots | RDS | Mulga`}]}),component:B(()=>H(()=>import(`./describe-db-snapshots.js`),__vite__mapDeps([154,1,59,7,8,9,4,35,10,11,40,28,109,21,22,111,20,24,25,155,6,60,61,12,38,13,43,44,62,45,63,42,46,70,110,48,50,112,114,66,67,156,153,87])),`component`)}),gd=z(`/_auth/rds/(subnet-groups)/describe-db-subnet-groups/`)({loader:async({context:e})=>{await e.queryClient.ensureQueryData(Ar)},head:()=>({meta:[{title:`Subnet Groups | RDS | Mulga`}]}),component:B(()=>H(()=>import(`./describe-db-subnet-groups.js`),__vite__mapDeps([157,1,59,7,8,9,4,35,40,28,10,11,111,20,21,22,109,24,25,158,110,48,153,87,70,61,43,62])),`component`)}),Q=Ll.update({id:`/_auth`,getParentRoute:()=>Z}),_d=Pr.update({id:`/login`,path:`/login`,getParentRoute:()=>Z}),vd=Rl.update({id:`/`,path:`/`,getParentRoute:()=>Q}),$=zl.update({id:`/nodes`,path:`/nodes`,getParentRoute:()=>Q}),yd=Bl.update({id:`/s3/service-metrics`,path:`/s3/service-metrics`,getParentRoute:()=>Q}),bd=Vl.update({id:`/ec2/(elastic-ips)/allocate-address`,path:`/ec2/allocate-address`,getParentRoute:()=>Q}),xd=Kl.update({id:`/ec2/(instances)/run-instances`,path:`/ec2/run-instances`,getParentRoute:()=>Q}),Sd=mu.update({id:`/ec2/(internet-gateways)/create-internet-gateway`,path:`/ec2/create-internet-gateway`,getParentRoute:()=>Q}),Cd=gu.update({id:`/ec2/(key)/create-key-pair`,path:`/ec2/create-key-pair`,getParentRoute:()=>Q}),wd=yu.update({id:`/ec2/(key)/import-key-pair`,path:`/ec2/import-key-pair`,getParentRoute:()=>Q}),Td=bu.update({id:`/ec2/(launch-templates)/create-launch-template`,path:`/ec2/create-launch-template`,getParentRoute:()=>Q}),Ed=xu.update({id:`/ec2/(load-balancers)/create-load-balancer`,path:`/ec2/create-load-balancer`,getParentRoute:()=>Q}),Dd=Su.update({id:`/ec2/(nat-gateways)/create-nat-gateway`,path:`/ec2/create-nat-gateway`,getParentRoute:()=>Q}),Od=Cu.update({id:`/ec2/(placement-groups)/create-placement-group`,path:`/ec2/create-placement-group`,getParentRoute:()=>Q}),kd=wu.update({id:`/ec2/(route-tables)/create-route-table`,path:`/ec2/create-route-table`,getParentRoute:()=>Q}),Ad=Tu.update({id:`/ec2/(security-groups)/create-security-group`,path:`/ec2/create-security-group`,getParentRoute:()=>Q}),jd=Zr.update({id:`/ec2/(snapshots)/create-snapshot`,path:`/ec2/create-snapshot`,getParentRoute:()=>Q}),Md=Eu.update({id:`/ec2/(subnet)/create-subnet`,path:`/ec2/create-subnet`,getParentRoute:()=>Q}),Nd=Du.update({id:`/ec2/(target-groups)/create-target-group`,path:`/ec2/create-target-group`,getParentRoute:()=>Q}),Pd=Ou.update({id:`/ec2/(volumes)/create-volume`,path:`/ec2/create-volume`,getParentRoute:()=>Q}),Fd=ku.update({id:`/ec2/(vpc)/create-vpc`,path:`/ec2/create-vpc`,getParentRoute:()=>Q}),Id=Qr.update({id:`/ecs/(clusters)/create-service`,path:`/ecs/create-service`,getParentRoute:()=>Q}),Ld=$r.update({id:`/ecs/(clusters)/register-task-definition`,path:`/ecs/register-task-definition`,getParentRoute:()=>Q}),Rd=ei.update({id:`/ecs/(clusters)/run-task`,path:`/ecs/run-task`,getParentRoute:()=>Q}),zd=Au.update({id:`/ecs/(clusters)/task-definitions`,path:`/ecs/task-definitions`,getParentRoute:()=>Q}),Bd=ju.update({id:`/eks/(clusters)/create-cluster`,path:`/eks/create-cluster`,getParentRoute:()=>Q}),Vd=Mu.update({id:`/iam/(groups)/create-group`,path:`/iam/create-group`,getParentRoute:()=>Q}),Hd=Nu.update({id:`/iam/(instance-profiles)/create-instance-profile`,path:`/iam/create-instance-profile`,getParentRoute:()=>Q}),Ud=Pu.update({id:`/iam/(policies)/create-policy`,path:`/iam/create-policy`,getParentRoute:()=>Q}),Wd=Fu.update({id:`/iam/(roles)/create-role`,path:`/iam/create-role`,getParentRoute:()=>Q}),Gd=Iu.update({id:`/iam/(users)/create-user`,path:`/iam/create-user`,getParentRoute:()=>Q}),Kd=Lu.update({id:`/rds/(db-instances)/create-db-instance`,path:`/rds/create-db-instance`,getParentRoute:()=>Q}),qd=Ru.update({id:`/rds/(parameter-groups)/create-db-parameter-group`,path:`/rds/create-db-parameter-group`,getParentRoute:()=>Q}),Jd=zu.update({id:`/rds/(subnet-groups)/create-db-subnet-group`,path:`/rds/create-db-subnet-group`,getParentRoute:()=>Q}),Yd=Bu.update({id:`/s3/(buckets)/create-bucket`,path:`/s3/create-bucket`,getParentRoute:()=>Q}),Xd=Vu.update({id:`/s3/ls/`,path:`/s3/ls/`,getParentRoute:()=>Q}),Zd=Hu.update({id:`/s3/ls/$bucket`,path:`/s3/ls/$bucket`,getParentRoute:()=>Q}),Qd=Uu.update({id:`/ec2/(elastic-ips)/describe-addresses/`,path:`/ec2/describe-addresses/`,getParentRoute:()=>Q}),$d=ti.update({id:`/ec2/(elastic-ips)/describe-addresses/$id`,path:`/ec2/describe-addresses/$id`,getParentRoute:()=>Q}),ef=Wu.update({id:`/ec2/(images)/describe-images/`,path:`/ec2/describe-images/`,getParentRoute:()=>Q}),tf=ni.update({id:`/ec2/(images)/describe-images/$id`,path:`/ec2/describe-images/$id`,getParentRoute:()=>Q}),nf=Gu.update({id:`/ec2/(instances)/describe-instances/`,path:`/ec2/describe-instances/`,getParentRoute:()=>Q}),rf=ri.update({id:`/ec2/(instances)/describe-instances/$id`,path:`/ec2/describe-instances/$id`,getParentRoute:()=>Q}),af=Ku.update({id:`/ec2/(internet-gateways)/describe-internet-gateways/`,path:`/ec2/describe-internet-gateways/`,getParentRoute:()=>Q}),of=ii.update({id:`/ec2/(internet-gateways)/describe-internet-gateways/$id`,path:`/ec2/describe-internet-gateways/$id`,getParentRoute:()=>Q}),sf=qu.update({id:`/ec2/(key)/describe-key-pairs/`,path:`/ec2/describe-key-pairs/`,getParentRoute:()=>Q}),cf=ai.update({id:`/ec2/(key)/describe-key-pairs/$id`,path:`/ec2/describe-key-pairs/$id`,getParentRoute:()=>Q}),lf=Ju.update({id:`/ec2/(launch-templates)/describe-launch-templates/`,path:`/ec2/describe-launch-templates/`,getParentRoute:()=>Q}),uf=oi.update({id:`/ec2/(launch-templates)/describe-launch-templates/$id`,path:`/ec2/describe-launch-templates/$id`,getParentRoute:()=>Q}),df=Yu.update({id:`/ec2/(load-balancers)/describe-load-balancers/`,path:`/ec2/describe-load-balancers/`,getParentRoute:()=>Q}),ff=si.update({id:`/ec2/(load-balancers)/describe-load-balancers/$id`,path:`/ec2/describe-load-balancers/$id`,getParentRoute:()=>Q}),pf=Xu.update({id:`/ec2/(nat-gateways)/describe-nat-gateways/`,path:`/ec2/describe-nat-gateways/`,getParentRoute:()=>Q}),mf=ci.update({id:`/ec2/(nat-gateways)/describe-nat-gateways/$id`,path:`/ec2/describe-nat-gateways/$id`,getParentRoute:()=>Q}),hf=Zu.update({id:`/ec2/(placement-groups)/describe-placement-groups/`,path:`/ec2/describe-placement-groups/`,getParentRoute:()=>Q}),gf=li.update({id:`/ec2/(placement-groups)/describe-placement-groups/$id`,path:`/ec2/describe-placement-groups/$id`,getParentRoute:()=>Q}),_f=Qu.update({id:`/ec2/(route-tables)/describe-route-tables/`,path:`/ec2/describe-route-tables/`,getParentRoute:()=>Q}),vf=ui.update({id:`/ec2/(route-tables)/describe-route-tables/$id`,path:`/ec2/describe-route-tables/$id`,getParentRoute:()=>Q}),yf=$u.update({id:`/ec2/(security-groups)/describe-security-groups/`,path:`/ec2/describe-security-groups/`,getParentRoute:()=>Q}),bf=wt.update({id:`/ec2/(security-groups)/describe-security-groups/$id`,path:`/ec2/describe-security-groups/$id`,getParentRoute:()=>Q}),xf=ed.update({id:`/ec2/(snapshots)/describe-snapshots/`,path:`/ec2/describe-snapshots/`,getParentRoute:()=>Q}),Sf=vt.update({id:`/ec2/(snapshots)/describe-snapshots/$id`,path:`/ec2/describe-snapshots/$id`,getParentRoute:()=>Q}),Cf=td.update({id:`/ec2/(subnet)/describe-subnets/`,path:`/ec2/describe-subnets/`,getParentRoute:()=>Q}),wf=di.update({id:`/ec2/(subnet)/describe-subnets/$id`,path:`/ec2/describe-subnets/$id`,getParentRoute:()=>Q}),Tf=nd.update({id:`/ec2/(target-groups)/describe-target-groups/`,path:`/ec2/describe-target-groups/`,getParentRoute:()=>Q}),Ef=fi.update({id:`/ec2/(target-groups)/describe-target-groups/$id`,path:`/ec2/describe-target-groups/$id`,getParentRoute:()=>Q}),Df=rd.update({id:`/ec2/(volumes)/describe-volumes/`,path:`/ec2/describe-volumes/`,getParentRoute:()=>Q}),Of=pi.update({id:`/ec2/(volumes)/describe-volumes/$id`,path:`/ec2/describe-volumes/$id`,getParentRoute:()=>Q}),kf=mi.update({id:`/ec2/(volumes)/modify-volume/$id`,path:`/ec2/modify-volume/$id`,getParentRoute:()=>Q}),Af=id.update({id:`/ec2/(vpc)/describe-vpcs/`,path:`/ec2/describe-vpcs/`,getParentRoute:()=>Q}),jf=hi.update({id:`/ec2/(vpc)/describe-vpcs/$id`,path:`/ec2/describe-vpcs/$id`,getParentRoute:()=>Q}),Mf=ad.update({id:`/ecr/(repositories)/list-repositories/`,path:`/ecr/list-repositories/`,getParentRoute:()=>Q}),Nf=gi.update({id:`/ecr/(repositories)/list-repositories/$id`,path:`/ecr/list-repositories/$id`,getParentRoute:()=>Q}),Pf=od.update({id:`/ecs/(clusters)/list-clusters/`,path:`/ecs/list-clusters/`,getParentRoute:()=>Q}),Ff=_i.update({id:`/ecs/(clusters)/list-clusters/$clusterName`,path:`/ecs/list-clusters/$clusterName`,getParentRoute:()=>Q}),If=sd.update({id:`/eks/(clusters)/list-clusters/`,path:`/eks/list-clusters/`,getParentRoute:()=>Q}),Lf=bt.update({id:`/eks/(clusters)/list-clusters/$clusterName`,path:`/eks/list-clusters/$clusterName`,getParentRoute:()=>Q}),Rf=cd.update({id:`/iam/(groups)/list-groups/`,path:`/iam/list-groups/`,getParentRoute:()=>Q}),zf=vi.update({id:`/iam/(groups)/list-groups/$groupName`,path:`/iam/list-groups/$groupName`,getParentRoute:()=>Q}),Bf=ld.update({id:`/iam/(instance-profiles)/list-instance-profiles/`,path:`/iam/list-instance-profiles/`,getParentRoute:()=>Q}),Vf=yi.update({id:`/iam/(instance-profiles)/list-instance-profiles/$instanceProfileName`,path:`/iam/list-instance-profiles/$instanceProfileName`,getParentRoute:()=>Q}),Hf=ud.update({id:`/iam/(policies)/list-policies/`,path:`/iam/list-policies/`,getParentRoute:()=>Q}),Uf=bi.update({id:`/iam/(policies)/list-policies/$policyArn`,path:`/iam/list-policies/$policyArn`,getParentRoute:()=>Q}),Wf=dd.update({id:`/iam/(roles)/list-roles/`,path:`/iam/list-roles/`,getParentRoute:()=>Q}),Gf=xi.update({id:`/iam/(roles)/list-roles/$roleName`,path:`/iam/list-roles/$roleName`,getParentRoute:()=>Q}),Kf=fd.update({id:`/iam/(users)/list-users/`,path:`/iam/list-users/`,getParentRoute:()=>Q}),qf=Si.update({id:`/iam/(users)/list-users/$userName`,path:`/iam/list-users/$userName`,getParentRoute:()=>Q}),Jf=pd.update({id:`/rds/(db-instances)/describe-db-instances/`,path:`/rds/describe-db-instances/`,getParentRoute:()=>Q}),Yf=Ci.update({id:`/rds/(db-instances)/describe-db-instances/$id`,path:`/rds/describe-db-instances/$id`,getParentRoute:()=>Q}),Xf=md.update({id:`/rds/(parameter-groups)/describe-db-parameter-groups/`,path:`/rds/describe-db-parameter-groups/`,getParentRoute:()=>Q}),Zf=wi.update({id:`/rds/(parameter-groups)/describe-db-parameter-groups/$name`,path:`/rds/describe-db-parameter-groups/$name`,getParentRoute:()=>Q}),Qf=hd.update({id:`/rds/(snapshots)/describe-db-snapshots/`,path:`/rds/describe-db-snapshots/`,getParentRoute:()=>Q}),$f=Ti.update({id:`/rds/(snapshots)/describe-db-snapshots/$id`,path:`/rds/describe-db-snapshots/$id`,getParentRoute:()=>Q}),ep=Ei.update({id:`/rds/(snapshots)/restore-db-instance-from-db-snapshot/$id`,path:`/rds/restore-db-instance-from-db-snapshot/$id`,getParentRoute:()=>Q}),tp=gd.update({id:`/rds/(subnet-groups)/describe-db-subnet-groups/`,path:`/rds/describe-db-subnet-groups/`,getParentRoute:()=>Q}),np=Di.update({id:`/rds/(subnet-groups)/describe-db-subnet-groups/$name`,path:`/rds/describe-db-subnet-groups/$name`,getParentRoute:()=>Q}),rp=Oi.update({id:`/`,path:`/`,getParentRoute:()=>Zd}),ip=ki.update({id:`/$`,path:`/$`,getParentRoute:()=>Zd}),ap=U.update({id:`/ecs/(clusters)/list-clusters/$clusterName_/services/$serviceName`,path:`/ecs/list-clusters/$clusterName/services/$serviceName`,getParentRoute:()=>Q}),op=Ai.update({id:`/ecs/(clusters)/list-clusters/$clusterName_/tasks/$taskId`,path:`/ecs/list-clusters/$clusterName/tasks/$taskId`,getParentRoute:()=>Q}),sp={AuthS3LsBucketSplatRoute:ip,AuthS3LsBucketIndexRoute:rp},cp={AuthNodesRoute:$,AuthIndexRoute:vd,AuthS3ServiceMetricsRoute:yd,AuthS3LsBucketRouteRoute:Zd._addFileChildren(sp),AuthEc2elasticIpsAllocateAddressRoute:bd,AuthEc2instancesRunInstancesRoute:xd,AuthEc2internetGatewaysCreateInternetGatewayRoute:Sd,AuthEc2keyCreateKeyPairRoute:Cd,AuthEc2keyImportKeyPairRoute:wd,AuthEc2launchTemplatesCreateLaunchTemplateRoute:Td,AuthEc2loadBalancersCreateLoadBalancerRoute:Ed,AuthEc2natGatewaysCreateNatGatewayRoute:Dd,AuthEc2placementGroupsCreatePlacementGroupRoute:Od,AuthEc2routeTablesCreateRouteTableRoute:kd,AuthEc2securityGroupsCreateSecurityGroupRoute:Ad,AuthEc2snapshotsCreateSnapshotRoute:jd,AuthEc2subnetCreateSubnetRoute:Md,AuthEc2targetGroupsCreateTargetGroupRoute:Nd,AuthEc2volumesCreateVolumeRoute:Pd,AuthEc2vpcCreateVpcRoute:Fd,AuthEcsclustersCreateServiceRoute:Id,AuthEcsclustersRegisterTaskDefinitionRoute:Ld,AuthEcsclustersRunTaskRoute:Rd,AuthEcsclustersTaskDefinitionsRoute:zd,AuthEksclustersCreateClusterRoute:Bd,AuthIamgroupsCreateGroupRoute:Vd,AuthIaminstanceProfilesCreateInstanceProfileRoute:Hd,AuthIampoliciesCreatePolicyRoute:Ud,AuthIamrolesCreateRoleRoute:Wd,AuthIamusersCreateUserRoute:Gd,AuthRdsdbInstancesCreateDbInstanceRoute:Kd,AuthRdsparameterGroupsCreateDbParameterGroupRoute:qd,AuthRdssubnetGroupsCreateDbSubnetGroupRoute:Jd,AuthS3bucketsCreateBucketRoute:Yd,AuthS3LsIndexRoute:Xd,AuthEc2elasticIpsDescribeAddressesIdRoute:$d,AuthEc2imagesDescribeImagesIdRoute:tf,AuthEc2instancesDescribeInstancesIdRoute:rf,AuthEc2internetGatewaysDescribeInternetGatewaysIdRoute:of,AuthEc2keyDescribeKeyPairsIdRoute:cf,AuthEc2launchTemplatesDescribeLaunchTemplatesIdRoute:uf,AuthEc2loadBalancersDescribeLoadBalancersIdRoute:ff,AuthEc2natGatewaysDescribeNatGatewaysIdRoute:mf,AuthEc2placementGroupsDescribePlacementGroupsIdRoute:gf,AuthEc2routeTablesDescribeRouteTablesIdRoute:vf,AuthEc2securityGroupsDescribeSecurityGroupsIdRoute:bf,AuthEc2snapshotsDescribeSnapshotsIdRoute:Sf,AuthEc2subnetDescribeSubnetsIdRoute:wf,AuthEc2targetGroupsDescribeTargetGroupsIdRoute:Ef,AuthEc2volumesDescribeVolumesIdRoute:Of,AuthEc2volumesModifyVolumeIdRoute:kf,AuthEc2vpcDescribeVpcsIdRoute:jf,AuthEcrrepositoriesListRepositoriesIdRoute:Nf,AuthEcsclustersListClustersClusterNameRoute:Ff,AuthEksclustersListClustersClusterNameRoute:Lf,AuthIamgroupsListGroupsGroupNameRoute:zf,AuthIaminstanceProfilesListInstanceProfilesInstanceProfileNameRoute:Vf,AuthIampoliciesListPoliciesPolicyArnRoute:Uf,AuthIamrolesListRolesRoleNameRoute:Gf,AuthIamusersListUsersUserNameRoute:qf,AuthRdsdbInstancesDescribeDbInstancesIdRoute:Yf,AuthRdsparameterGroupsDescribeDbParameterGroupsNameRoute:Zf,AuthRdssnapshotsDescribeDbSnapshotsIdRoute:$f,AuthRdssnapshotsRestoreDbInstanceFromDbSnapshotIdRoute:ep,AuthRdssubnetGroupsDescribeDbSubnetGroupsNameRoute:np,AuthEc2elasticIpsDescribeAddressesIndexRoute:Qd,AuthEc2imagesDescribeImagesIndexRoute:ef,AuthEc2instancesDescribeInstancesIndexRoute:nf,AuthEc2internetGatewaysDescribeInternetGatewaysIndexRoute:af,AuthEc2keyDescribeKeyPairsIndexRoute:sf,AuthEc2launchTemplatesDescribeLaunchTemplatesIndexRoute:lf,AuthEc2loadBalancersDescribeLoadBalancersIndexRoute:df,AuthEc2natGatewaysDescribeNatGatewaysIndexRoute:pf,AuthEc2placementGroupsDescribePlacementGroupsIndexRoute:hf,AuthEc2routeTablesDescribeRouteTablesIndexRoute:_f,AuthEc2securityGroupsDescribeSecurityGroupsIndexRoute:yf,AuthEc2snapshotsDescribeSnapshotsIndexRoute:xf,AuthEc2subnetDescribeSubnetsIndexRoute:Cf,AuthEc2targetGroupsDescribeTargetGroupsIndexRoute:Tf,AuthEc2volumesDescribeVolumesIndexRoute:Df,AuthEc2vpcDescribeVpcsIndexRoute:Af,AuthEcrrepositoriesListRepositoriesIndexRoute:Mf,AuthEcsclustersListClustersIndexRoute:Pf,AuthEksclustersListClustersIndexRoute:If,AuthIamgroupsListGroupsIndexRoute:Rf,AuthIaminstanceProfilesListInstanceProfilesIndexRoute:Bf,AuthIampoliciesListPoliciesIndexRoute:Hf,AuthIamrolesListRolesIndexRoute:Wf,AuthIamusersListUsersIndexRoute:Kf,AuthRdsdbInstancesDescribeDbInstancesIndexRoute:Jf,AuthRdsparameterGroupsDescribeDbParameterGroupsIndexRoute:Xf,AuthRdssnapshotsDescribeDbSnapshotsIndexRoute:Qf,AuthRdssubnetGroupsDescribeDbSubnetGroupsIndexRoute:tp,AuthEcsclustersListClustersClusterNameServicesServiceNameRoute:ap,AuthEcsclustersListClustersClusterNameTasksTaskIdRoute:op},lp={AuthRouteRoute:Q._addFileChildren(cp),LoginRoute:_d},up=Z._addFileChildren(lp)._addFileTypes(),dp=jl(),fp=Zo({routeTree:up,context:{queryClient:dp},defaultPreload:`intent`,scrollRestoration:!0,defaultStructuralSharing:!0,defaultPreloadStaleTime:0});async function pp(e){try{await Je()}catch(t){e.render((0,q.jsxs)(`div`,{style:{fontFamily:`sans-serif`,margin:`4rem auto`,maxWidth:`40rem`},children:[(0,q.jsx)(`h1`,{children:`Console unavailable`}),(0,q.jsx)(`p`,{children:`This cluster did not report its region, so the console cannot sign requests. Check that the serving node has a region set in its configuration.`}),(0,q.jsx)(`pre`,{children:t instanceof Error?t.message:String(t)})]}));return}e.render((0,q.jsx)(K.StrictMode,{children:(0,q.jsx)(hs,{defaultTheme:`dark`,storageKey:`spinifex-ui-theme`,children:(0,q.jsx)(_,{client:dp,children:(0,q.jsx)(Yn,{children:(0,q.jsx)(pl,{children:(0,q.jsx)(es,{router:fp})})})})})}))}var mp=document.querySelector(`#app`);mp&&!mp.innerHTML&&await pp(ds.createRoot(mp)); \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/pencil.js b/spinifex/services/spinifexui/frontend/dist/assets/pencil.js new file mode 100644 index 000000000..09ecafb81 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/pencil.js @@ -0,0 +1 @@ +import{t as e}from"./createLucideIcon.js";var t=e(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]);export{t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/picker-notice.js b/spinifex/services/spinifexui/frontend/dist/assets/picker-notice.js new file mode 100644 index 000000000..92b4850e1 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/picker-notice.js @@ -0,0 +1 @@ +import{n as e,t}from"./compiler-runtime.js";var n=t(),r=e();function i(e,t,n){if(e.isPending)return{tone:`muted`,text:n.loading};if(e.error)return{tone:`error`,text:`${n.failed}: ${e.error.message}`};if(t)return{tone:`muted`,text:n.empty}}function a(e){let t=(0,n.c)(3),{notice:i}=e,a=i.tone===`error`?`text-xs text-destructive`:`text-xs text-muted-foreground`,o;return t[0]!==i.text||t[1]!==a?(o=(0,r.jsx)(`p`,{className:a,children:i.text}),t[0]=i.text,t[1]=a,t[2]=o):o=t[2],o}export{i as n,a as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/rds-delete-dialog.js b/spinifex/services/spinifexui/frontend/dist/assets/rds-delete-dialog.js new file mode 100644 index 000000000..3cc43f88b --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/rds-delete-dialog.js @@ -0,0 +1 @@ +import{n as e}from"./compiler-runtime.js";import{t}from"./delete-confirmation-dialog.js";var n=e();function r({open:e,onOpenChange:r,identifier:i,title:a,description:o,mutation:s,onDeleted:c}){function l(e){e||s.reset(),r(e)}async function u(){try{await s.mutateAsync(i),l(!1),c?.()}catch{}}return(0,n.jsx)(t,{description:(0,n.jsxs)(n.Fragment,{children:[o,s.error&&(0,n.jsx)(`span`,{className:`mt-2 block text-destructive`,children:s.error.message})]}),isPending:s.isPending,onConfirm:()=>void u(),onOpenChange:l,open:e,title:a})}export{r as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/rds-events-panel.js b/spinifex/services/spinifexui/frontend/dist/assets/rds-events-panel.js new file mode 100644 index 000000000..9558e0c4b --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/rds-events-panel.js @@ -0,0 +1 @@ +import{n as e,t}from"./compiler-runtime.js";import{Qt as n}from"./cluster-config.js";var r=t(),i=e();function a(e){let t=(0,r.c)(6),{events:n}=e;if(n.length===0){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,i.jsx)(`p`,{className:`text-muted-foreground`,children:`No events in the last 14 days.`}),t[0]=e):e=t[0],e}let a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,i.jsx)(`thead`,{children:(0,i.jsxs)(`tr`,{className:`border-b text-left text-muted-foreground`,children:[(0,i.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Time`}),(0,i.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Categories`}),(0,i.jsx)(`th`,{className:`px-4 py-2 font-medium`,children:`Message`})]})}),t[1]=a):a=t[1];let c;t[2]===n?c=t[3]:(c=n.toSorted(s).map(o),t[2]=n,t[3]=c);let l;return t[4]===c?l=t[5]:(l=(0,i.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-card`,children:(0,i.jsxs)(`table`,{className:`w-full text-sm`,children:[a,(0,i.jsx)(`tbody`,{children:c})]})}),t[4]=c,t[5]=l),l}function o(e){return(0,i.jsxs)(`tr`,{className:`border-b last:border-0`,children:[(0,i.jsx)(`td`,{className:`px-4 py-2 font-mono text-xs`,children:n(e.Date)}),(0,i.jsx)(`td`,{className:`px-4 py-2 text-xs`,children:e.EventCategories?.join(`, `)}),(0,i.jsx)(`td`,{className:`px-4 py-2`,children:e.Message})]},`${e.Date?.toISOString()}-${e.Message}`)}function s(e,t){return(t.Date?.getTime()??0)-(e.Date?.getTime()??0)}export{a as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/rds-tags-tab.js b/spinifex/services/spinifexui/frontend/dist/assets/rds-tags-tab.js new file mode 100644 index 000000000..53f40dc42 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/rds-tags-tab.js @@ -0,0 +1 @@ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./useQuery.js";import{h as r}from"./rds2.js";import{g as i}from"./rds3.js";import{t as a}from"./tags-editor.js";var o=t(),s=e();function c(e){let t=(0,o.c)(14),{arn:c}=e,d;t[0]===c?d=t[1]:(d=i(c),t[0]=c,t[1]=d);let{data:f}=n(d),p=r(),m;t[2]===f?.TagList?m=t[3]:(m=f?.TagList??[],t[2]=f?.TagList,t[3]=m);let h=m,g;t[4]!==c||t[5]!==h||t[6]!==p?(g=e=>p.mutate({resourceName:c,tags:e,initialKeys:h.map(u).filter(l)}),t[4]=c,t[5]=h,t[6]=p,t[7]=g):g=t[7];let _;return t[8]!==g||t[9]!==h||t[10]!==p.error||t[11]!==p.isPending||t[12]!==p.isSuccess?(_=(0,s.jsx)(a,{error:p.error,isPending:p.isPending,isSuccess:p.isSuccess,onSubmit:g,tags:h}),t[8]=g,t[9]=h,t[10]=p.error,t[11]=p.isPending,t[12]=p.isSuccess,t[13]=_):_=t[13],_}function l(e){return e.length>0}function u(e){return e.Key??``}export{c as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/rds.js b/spinifex/services/spinifexui/frontend/dist/assets/rds.js new file mode 100644 index 000000000..3902fe508 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/rds.js @@ -0,0 +1 @@ +import{At as e,c as t,d as n,dt as r,f as i,l as a,m as o}from"./cluster-config.js";import{ct as ee}from"./awsClient.js";var te=e(ee,`AmazonRDSv19`,`RDSClient`,r),s={},ne=(e,t,n,r)=>[],c=65536,l=1150,u=65535,d=63,f=8,p=128,m=30,h=1440,g={postgres:{reservedUsernames:[`rdsadmin`,`postgres`,`rds_superuser`],reservedUsernamePrefixes:[`pg_`],maxUsernameLen:63,maxDBNameLen:63},mariadb:{reservedUsernames:[`root`,`mariadb.sys`,`mysql`,`rdsadmin`,`public`],reservedUsernamePrefixes:[`mysql.`,`mariadb.`],maxUsernameLen:80,maxDBNameLen:64}},re={reservedUsernames:[],reservedUsernamePrefixes:[],maxUsernameLen:80,maxDBNameLen:64};function _(e){return g[e]??re}var v=o().min(1,`Identifier is required`).max(d,`Identifier must be at most ${d} characters`).regex(/^[a-z]/,`Identifier must begin with a lowercase letter`).regex(/^[a-z0-9-]*$/,`Identifier may contain only lowercase letters, digits and hyphens`).refine(e=>!e.endsWith(`-`),`Identifier may not end with a hyphen`).refine(e=>!e.includes(`--`),`Identifier may not contain consecutive hyphens`),y=o().min(f,`Password must be at least ${f} characters`).max(p,`Password must be at most ${p} characters`).regex(/^[ -~]*$/,`Password may only contain printable ASCII`).refine(e=>!/[/"@ ]/.test(e),`Password may not contain '/', '"', '@' or spaces`),b=n().int(`Storage must be a whole number of GiB`).min(20,`Storage must be at least 20 GiB`).max(c,`Storage must be at most ${c} GiB`),x=o().refine(e=>{if(e===``)return!0;let t=Number(e);return/^\d+$/.test(e)&&Number.isInteger(t)&&t>=1150&&t<=65535},`Port must be between ${l} and ${u}`),S=n().int(`Retention must be a whole number of days`).min(0,`Retention may not be negative`).max(7,`Retention must be at most 7 days`),ie=/^(?:[01]\d|2[0-3]):[0-5]\d-(?:[01]\d|2[0-3]):[0-5]\d$/,C=/^(?:sun|mon|tue|wed|thu|fri|sat):(?:[01]\d|2[0-3]):[0-5]\d-(?:sun|mon|tue|wed|thu|fri|sat):(?:[01]\d|2[0-3]):[0-5]\d$/,w=[`sun`,`mon`,`tue`,`wed`,`thu`,`fri`,`sat`];function T(e){let[t,n]=e.split(`:`);return Number(t??0)*60+Number(n??0)}function E(e){let[t,n,r]=e.split(`:`);return w.indexOf(t??``)*h+Number(n??0)*60+Number(r??0)}function D(e,t,n){return((t-e)%n+n)%n}function ae(e){let[t,n]=e.split(`-`);return D(T(t??``),T(n??``),h)}function oe(e){let[t,n]=e.split(`-`);return D(E(t??``),E(n??``),7*h)}var O=o().refine(e=>e===``||ie.test(e),`Backup window must be hh24:mi-hh24:mi in UTC`).refine(e=>e===``||ae(e)>=m,`Backup window must be at least ${m} minutes long`),k=o().refine(e=>e===``||C.test(e),`Maintenance window must be ddd:hh24:mi-ddd:hh24:mi in UTC`).refine(e=>e===``||oe(e)>=m,`Maintenance window must be at least ${m} minutes long`),A=`aws:`,j=i({key:o().min(1,`Tag key is required`).max(128).refine(e=>!e.toLowerCase().startsWith(A),`Tag keys may not start with the reserved ${A} prefix`),value:o().max(256)}),M=t(j).max(50,`At most 50 tags may be supplied`);function N(e,t,n,r,i){let a=n=>e.addIssue({code:`custom`,path:[t],message:n});if(r.length>i){a(`${n} must be at most ${i} characters`);return}if(!/^[a-zA-Z]/.test(r)){a(`${n} must begin with a letter`);return}/^\w*$/.test(r)||a(`${n} may contain only letters, digits and underscores`)}function P(e,t,n){let r=_(t);N(e,`masterUsername`,`Master username`,n,r.maxUsernameLen);let i=n.trim().toLowerCase();if(r.reservedUsernames.includes(i)){e.addIssue({code:`custom`,path:[`masterUsername`],message:`"${n}" is reserved by ${t}`});return}let a=r.reservedUsernamePrefixes.find(e=>i.startsWith(e));a&&e.addIssue({code:`custom`,path:[`masterUsername`],message:`Master username may not begin with "${a}", which ${t} reserves`})}var F=i({dbInstanceIdentifier:v,engine:o().min(1,`Engine is required`),engineVersion:o(),dbInstanceClass:o().min(1,`Instance class is required`),allocatedStorage:b,masterUsername:o().min(1,`Master username is required`),masterUserPassword:y,confirmPassword:o(),dbName:o(),port:x,dbSubnetGroupName:o(),vpcSecurityGroupIds:t(o()),dbParameterGroupName:o(),deletionProtection:a(),backupRetentionPeriod:S,preferredBackupWindow:O,preferredMaintenanceWindow:k,tags:M}).superRefine((e,t)=>{P(t,e.engine,e.masterUsername),e.dbName!==``&&N(t,`dbName`,`Database name`,e.dbName,_(e.engine).maxDBNameLen),e.confirmPassword!==e.masterUserPassword&&t.addIssue({code:`custom`,path:[`confirmPassword`],message:`Passwords do not match`})}),I=i({currentAllocatedStorage:n(),dbInstanceClass:o().min(1,`Instance class is required`),allocatedStorage:b,dbParameterGroupName:o(),vpcSecurityGroupIds:t(o()),deletionProtection:a(),backupRetentionPeriod:S,preferredBackupWindow:O,preferredMaintenanceWindow:k,masterUserPassword:o(),applyImmediately:a()}).superRefine((e,t)=>{if(e.allocatedStorage!e.endsWith(`-`),`Snapshot identifier may not end with a hyphen`).refine(e=>!e.includes(`--`),`Snapshot identifier may not contain consecutive hyphens`),B=o().refine(e=>!e.toLowerCase().startsWith(R),`Snapshot identifier may not begin with "${R}", which automated backups use`).pipe(z),V=i({dbSnapshotIdentifier:B,tags:M});function H(e){return String(e).padStart(2,`0`)}function U(e){return`${e.getUTCFullYear()}${H(e.getUTCMonth()+1)}${H(e.getUTCDate())}-${H(e.getUTCHours())}${H(e.getUTCMinutes())}`}function W(e,t,n=new Date){let r=`-${t}-${U(n)}`,i=d-r.length;return`${e.slice(0,i).replace(/-+$/,``)}${r}`}var G=i({snapshotAllocatedStorage:n(),dbInstanceIdentifier:v,dbInstanceClass:o().min(1,`Instance class is required`),allocatedStorage:b,port:x,dbSubnetGroupName:o(),vpcSecurityGroupIds:t(o()),dbParameterGroupName:o(),deletionProtection:a(),tags:M}).superRefine((e,t)=>{e.allocatedStoragee.toLowerCase()!=="default",`${e} may not be "default", which the service reserves`)}function Z(e){return o().min(1,`${e} is required`).max(q,`${e} must be at most 255 characters`)}var se=i({dbSubnetGroupName:X(`Name`),dbSubnetGroupDescription:Z(`Description`),subnetIds:t(o()).min(1,`Select at least one subnet`).max(20,`A DB subnet group may hold at most 20 subnets`),tags:M}),ce=i({dbParameterGroupName:o().refine(e=>!Y(e),`Name may not begin with "${J}", which the service reserves`).pipe(X(`Name`)),dbParameterGroupFamily:o().min(1,`Family is required`),description:Z(`Description`),tags:M}),le=`static`,ue=`immediate`,Q=`pending-reboot`,$=`user`;function de(e){return e===`static`?[Q]:[ue,Q]}var fe=new Set([`creating`,`modifying`,`backing-up`,`rebooting`,`stopping`,`starting`,`recovering`,`deleting`]);function pe(e){return e!==void 0&&fe.has(e)}function me(e){return e===`stopped`}function he(e){return e===`available`}function ge(e){return e===`available`}function _e(e){return e!==void 0&&e!==`deleting`&&e!==`deleted`}function ve(e){return e===`available`||e===`stopped`}var ye=`creating`,be=`manual`,xe=`automated`;function Se(e){return e===`available`}function Ce(e,t){return e===`available`&&t!==`automated`}export{G as C,te as D,ne as E,I as S,s as T,V as _,xe as a,Y as b,_e as c,Se as d,ve as f,ce as g,F as h,ye as i,Ce as l,he as m,le as n,be as o,me as p,$ as r,de as s,Q as t,ge as u,se as v,W as w,pe as x,B as y}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/rds2.js b/spinifex/services/spinifexui/frontend/dist/assets/rds2.js new file mode 100644 index 000000000..60c966568 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/rds2.js @@ -0,0 +1 @@ +import{t as e}from"./compiler-runtime.js";import{n as t}from"./QueryClientProvider.js";import{t as n}from"./useMutation.js";import{B as r,H as i,I as ee,L as a,R as o,U as s,V as c,W as l,at as u,it as d,l as f,nt as p,ot as m,rt as h,st as g,tt as _,z as v}from"./awsClient.js";import{D as y,E as b,T as x}from"./rds.js";var S=class extends y(x,b,`AddTagsToResource`,ee){},C=class extends y(x,b,`CreateDBInstance`,a){},w=class extends y(x,b,`CreateDBParameterGroup`,o){},T=class extends y(x,b,`CreateDBSnapshot`,v){},E=class extends y(x,b,`CreateDBSubnetGroup`,r){},D=class extends y(x,b,`DeleteDBInstance`,c){},O=class extends y(x,b,`DeleteDBParameterGroup`,i){},k=class extends y(x,b,`DeleteDBSnapshot`,s){},A=class extends y(x,b,`DeleteDBSubnetGroup`,l){},j=class extends y(x,b,`ModifyDBInstance`,_){},M=class extends y(x,b,`ModifyDBParameterGroup`,p){},N=class extends y(x,b,`RebootDBInstance`,h){},P=class extends y(x,b,`RemoveTagsFromResource`,d){},F=class extends y(x,b,`RestoreDBInstanceFromDBSnapshot`,u){},I=class extends y(x,b,`StartDBInstance`,m){},L=class extends y(x,b,`StopDBInstance`,g){},R=e(),z=[`rds`,`dbInstances`],B=[`rds`,`dbSnapshots`],V=[`rds`,`subnetGroups`],H=[`rds`,`parameterGroups`];function U(e){return e.length>0?e:void 0}function W(e){let t=e.filter(e=>e.key.length>0).map(e=>({Key:e.key,Value:e.value}));return t.length>0?t:void 0}function G(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:K,onSuccess:()=>{r.invalidateQueries({queryKey:z})}},e[0]=r,e[1]=i),n(i)}async function K(e){let t=new C({DBInstanceIdentifier:e.dbInstanceIdentifier,Engine:e.engine,EngineVersion:U(e.engineVersion),DBInstanceClass:e.dbInstanceClass,AllocatedStorage:e.allocatedStorage,MasterUsername:e.masterUsername,MasterUserPassword:e.masterUserPassword,DBName:U(e.dbName),Port:e.port===``?void 0:Number(e.port),DBSubnetGroupName:U(e.dbSubnetGroupName),VpcSecurityGroupIds:e.vpcSecurityGroupIds.length>0?e.vpcSecurityGroupIds:void 0,DBParameterGroupName:U(e.dbParameterGroupName),DeletionProtection:e.deletionProtection,BackupRetentionPeriod:e.backupRetentionPeriod,PreferredBackupWindow:U(e.preferredBackupWindow),PreferredMaintenanceWindow:U(e.preferredMaintenanceWindow),Tags:W(e.tags)});return await f().send(t)}function q(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:J,onSuccess:()=>{r.invalidateQueries({queryKey:z})}},e[0]=r,e[1]=i),n(i)}async function J(e){let t=new j({DBInstanceIdentifier:e.dbInstanceIdentifier,DBInstanceClass:e.dbInstanceClass,AllocatedStorage:e.allocatedStorage,DBParameterGroupName:U(e.dbParameterGroupName),VpcSecurityGroupIds:e.vpcSecurityGroupIds,DeletionProtection:e.deletionProtection,BackupRetentionPeriod:e.backupRetentionPeriod,PreferredBackupWindow:U(e.preferredBackupWindow),PreferredMaintenanceWindow:U(e.preferredMaintenanceWindow),MasterUserPassword:U(e.masterUserPassword),ApplyImmediately:e.applyImmediately});return await f().send(t)}function Y(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:X,onSuccess:()=>{r.invalidateQueries({queryKey:z})}},e[0]=r,e[1]=i),n(i)}async function X(e){let t=new D({DBInstanceIdentifier:e.dbInstanceIdentifier,SkipFinalSnapshot:e.skipFinalSnapshot,FinalDBSnapshotIdentifier:e.skipFinalSnapshot?void 0:e.finalSnapshotIdentifier});return await f().send(t)}function Z(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Q,onSuccess:()=>{r.invalidateQueries({queryKey:z})}},e[0]=r,e[1]=i),n(i)}async function Q(e){let t=new I({DBInstanceIdentifier:e});return await f().send(t)}function $(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:te,onSuccess:()=>{r.invalidateQueries({queryKey:z})}},e[0]=r,e[1]=i),n(i)}async function te(e){let t=new L({DBInstanceIdentifier:e});return await f().send(t)}function ne(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:re,onSuccess:()=>{r.invalidateQueries({queryKey:z})}},e[0]=r,e[1]=i),n(i)}async function re(e){let t=new N({DBInstanceIdentifier:e});return await f().send(t)}function ie(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:ae,onSuccess:()=>{r.invalidateQueries({queryKey:B}),r.invalidateQueries({queryKey:z})}},e[0]=r,e[1]=i),n(i)}async function ae(e){let t=new T({DBSnapshotIdentifier:e.dbSnapshotIdentifier,DBInstanceIdentifier:e.dbInstanceIdentifier,Tags:W(e.tags)});return await f().send(t)}function oe(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:se,onSuccess:()=>{r.invalidateQueries({queryKey:B})}},e[0]=r,e[1]=i),n(i)}async function se(e){let t=new k({DBSnapshotIdentifier:e});return await f().send(t)}function ce(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:le,onSuccess:()=>{r.invalidateQueries({queryKey:z})}},e[0]=r,e[1]=i),n(i)}async function le(e){let t=new F({DBInstanceIdentifier:e.dbInstanceIdentifier,DBSnapshotIdentifier:e.dbSnapshotIdentifier,DBInstanceClass:e.dbInstanceClass,AllocatedStorage:e.allocatedStorage,Port:e.port===``?void 0:Number(e.port),DBSubnetGroupName:U(e.dbSubnetGroupName),VpcSecurityGroupIds:e.vpcSecurityGroupIds.length>0?e.vpcSecurityGroupIds:void 0,DBParameterGroupName:U(e.dbParameterGroupName),DeletionProtection:e.deletionProtection,Tags:W(e.tags)});return await f().send(t)}function ue(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:de,onSuccess:()=>{r.invalidateQueries({queryKey:V})}},e[0]=r,e[1]=i),n(i)}async function de(e){let t=new E({DBSubnetGroupName:e.dbSubnetGroupName,DBSubnetGroupDescription:e.dbSubnetGroupDescription,SubnetIds:e.subnetIds,Tags:W(e.tags)});return await f().send(t)}function fe(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:pe,onSuccess:()=>{r.invalidateQueries({queryKey:V})}},e[0]=r,e[1]=i),n(i)}async function pe(e){let t=new A({DBSubnetGroupName:e});return await f().send(t)}function me(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:he,onSuccess:()=>{r.invalidateQueries({queryKey:H})}},e[0]=r,e[1]=i),n(i)}async function he(e){let t=new w({DBParameterGroupName:e.dbParameterGroupName,DBParameterGroupFamily:e.dbParameterGroupFamily,Description:e.description,Tags:W(e.tags)});return await f().send(t)}function ge(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:_e,onSuccess:(e,t)=>{r.invalidateQueries({queryKey:[`rds`,`parameters`,t.dbParameterGroupName]}),r.invalidateQueries({queryKey:z})}},e[0]=r,e[1]=i),n(i)}async function _e(e){let t=new M({DBParameterGroupName:e.dbParameterGroupName,Parameters:e.parameters.map(ve)});return await f().send(t)}function ve(e){return{ParameterName:e.name,ParameterValue:e.value,ApplyMethod:e.applyMethod}}function ye(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:be,onSuccess:()=>{r.invalidateQueries({queryKey:H})}},e[0]=r,e[1]=i),n(i)}async function be(e){let t=new O({DBParameterGroupName:e});return await f().send(t)}function xe(){let e=(0,R.c)(2),r=t(),i;return e[0]===r?i=e[1]:(i={mutationFn:Se,onSuccess:()=>{r.invalidateQueries({queryKey:[`rds`,`tags`]})}},e[0]=r,e[1]=i),n(i)}async function Se(e){let t=new Set(e.tags.map(we)),n=e.initialKeys.filter(e=>!t.has(e)),r=f();e.tags.length>0&&await r.send(new S({ResourceName:e.resourceName,Tags:e.tags.map(Ce)})),n.length>0&&await r.send(new P({ResourceName:e.resourceName,TagKeys:n}))}function Ce(e){return{Key:e.key,Value:e.value}}function we(e){return e.key}export{Y as a,fe as c,ne as d,ce as f,xe as h,ue as i,q as l,$ as m,me as n,ye as o,Z as p,ie as r,oe as s,G as t,ge as u}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/rds3.js b/spinifex/services/spinifexui/frontend/dist/assets/rds3.js new file mode 100644 index 000000000..05efd1bdd --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/rds3.js @@ -0,0 +1 @@ +import{t as e}from"./queryOptions.js";import{$ as t,G as n,J as r,K as i,Q as a,X as o,Y as s,Z as c,et as l,l as u,q as d}from"./awsClient.js";import{D as f,E as p,T as m,i as h,x as g}from"./rds.js";var _=class extends f(m,p,`DescribeDBEngineVersions`,n){},v=class extends f(m,p,`DescribeDBInstanceAutomatedBackups`,i){},y=class extends f(m,p,`DescribeDBInstances`,d){},b=class extends f(m,p,`DescribeDBParameterGroups`,r){},x=class extends f(m,p,`DescribeDBParameters`,s){},S=class extends f(m,p,`DescribeDBSnapshots`,o){},C=class extends f(m,p,`DescribeDBSubnetGroups`,c){},w=class extends f(m,p,`DescribeEvents`,a){},T=class extends f(m,p,`DescribeOrderableDBInstanceOptions`,t){},E=class extends f(m,p,`ListTagsForResource`,l){},D=5e3,O=20160,k=3e4,A=36e5,j=`db-instance`,M=`db-snapshot`;function N(e){return e.some(e=>e.Status===h)}var P=e({queryKey:[`rds`,`dbInstances`],queryFn:async()=>{let e=new y({});return await u().send(e)},refetchInterval:e=>(e.state.data?.DBInstances??[]).some(e=>g(e.DBInstanceStatus))?D:!1}),F=t=>e({queryKey:[`rds`,`dbInstances`,t],queryFn:async()=>{let e=new y({DBInstanceIdentifier:t});return await u().send(e)},refetchInterval:e=>{let t=e.state.data?.DBInstances?.[0];return g(t?.DBInstanceStatus)?D:!1}}),I=e({queryKey:[`rds`,`subnetGroups`],queryFn:async()=>{let e=new C({});return await u().send(e)}}),L=t=>e({queryKey:[`rds`,`subnetGroups`,t],queryFn:async()=>{let e=new C({DBSubnetGroupName:t});return await u().send(e)}}),R=e({queryKey:[`rds`,`parameterGroups`],queryFn:async()=>{let e=new b({});return await u().send(e)}}),z=t=>e({queryKey:[`rds`,`parameterGroups`,t],queryFn:async()=>{let e=new b({DBParameterGroupName:t});return await u().send(e)}}),B=t=>e({queryKey:[`rds`,`parameters`,t],queryFn:async()=>{let e=new x({DBParameterGroupName:t});return await u().send(e)}}),V=(t,n=j)=>e({queryKey:[`rds`,`events`,n,t],queryFn:async()=>{let e=new w({SourceIdentifier:t,SourceType:n,Duration:O});return await u().send(e)},refetchInterval:k}),H=e=>V(e,M),U=e({queryKey:[`rds`,`dbSnapshots`],queryFn:async()=>{let e=new S({});return await u().send(e)},refetchInterval:e=>N(e.state.data?.DBSnapshots??[])?D:!1}),W=t=>e({queryKey:[`rds`,`dbSnapshots`,t],queryFn:async()=>{let e=new S({DBSnapshotIdentifier:t});return await u().send(e)},refetchInterval:e=>N(e.state.data?.DBSnapshots??[])?D:!1}),G=t=>e({queryKey:[`rds`,`dbSnapshots`,`instance`,t],queryFn:async()=>{let e=new S({DBInstanceIdentifier:t});return await u().send(e)},refetchInterval:e=>N(e.state.data?.DBSnapshots??[])?D:!1}),K=t=>e({queryKey:[`rds`,`automatedBackups`,t],queryFn:async()=>{let e=new v({DBInstanceIdentifier:t});return await u().send(e)}}),q=t=>e({queryKey:[`rds`,`tags`,t],queryFn:async()=>{let e=new E({ResourceName:t});return await u().send(e)},enabled:t.length>0}),J=e({queryKey:[`rds`,`engineVersions`],queryFn:async()=>{let e=new _({});return await u().send(e)},staleTime:A}),Y=t=>e({queryKey:[`rds`,`orderableOptions`,t],queryFn:async()=>{let e=new T({Engine:t});return await u().send(e)},staleTime:A,enabled:t.length>0});export{U as a,G as c,R as d,B as f,q as g,I as h,W as i,Y as l,L as m,F as n,J as o,H as p,P as r,V as s,K as t,z as u}; \ 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 38b4ede67..79a4caf36 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{t as r}from"./useMutation.js";import{Ht as i,at as a,ut as o}from"./cluster-config.js";import{A as s,C as c,D as l,E as u,N as d,O as f,S as p,b as m,d as h,f as g,j as _,k as v,l as y,m as b,p as x,u as S,v as C,x as w,y as T}from"./awsClient.js";var E=class extends d(w,u,`AbortMultipartUpload`,S){},D=class extends d(w,l,`CompleteMultipartUpload`,h){},O=class extends d(p,s,`CreateBucket`,g){},k=class extends d(w,l,`CreateMultipartUpload`,x){},A=class extends d(w,u,`DeleteObject`,b){},j=class extends d(w,f,`PutObject`,C){},M=class extends d(c,_,`PutObjectTagging`,T){},N=class extends d(w,v,`UploadPart`,m){},P={CRC32:`CRC32`,CRC32C:`CRC32C`,CRC64NVME:`CRC64NVME`,MD5:`MD5`,SHA1:`SHA1`,SHA256:`SHA256`,SHA512:`SHA512`,XXHASH128:`XXHASH128`,XXHASH3:`XXHASH3`,XXHASH64:`XXHASH64`},F=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(``)}})),L=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}})),R=e((e=>{var t=I(),n=L(),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(J(e,ArrayBuffer)||e&&J(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<`u`&&(J(e,SharedArrayBuffer)||e&&J(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(J(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),J(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 K(e).length;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return n*2;case`hex`:return n>>>1;case`base64`:return ne(e).length;default:if(i)return r?-1:K(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 F(this,t,n);case`utf8`:case`utf-8`:return A(this,t,n);case`ascii`:return N(this,t,n);case`latin1`:case`binary`:return P(this,t,n);case`base64`:return k(this,t,n);case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return R(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(J(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,Y(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 k(e,n,r){return n===0&&r===e.length?t.fromByteArray(e):t.fromByteArray(e.slice(n,r))}function A(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 M(r)}var j=4096;function M(e){var t=e.length;if(t<=j)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||z(e,t,this.length);for(var r=this[e],i=1,a=0;++a>>=0,t>>>=0,n||z(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||z(e,1,this.length),this[e]},s.prototype.readUInt16LE=function(e,t){return e>>>=0,t||z(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUInt16BE=function(e,t){return e>>>=0,t||z(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUInt32LE=function(e,t){return e>>>=0,t||z(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||z(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||z(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||z(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||z(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]},s.prototype.readInt16LE=function(e,t){e>>>=0,t||z(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||z(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||z(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||z(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||z(e,4,this.length),n.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,t){return e>>>=0,t||z(e,4,this.length),n.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,t){return e>>>=0,t||z(e,8,this.length),n.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,t){return e>>>=0,t||z(e,8,this.length),n.read(this,e,!1,52,8)};function B(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;B(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;B(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||B(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||B(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||B(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||B(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||B(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);B(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);B(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||B(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||B(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||B(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||B(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||B(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 V(e,t,n,r,i,a){if(n+r>e.length||n<0)throw RangeError(`Index out of range`)}function H(e,t,r,i,a){return t=+t,r>>>=0,a||V(e,t,r,4,34028234663852886e22,-34028234663852886e22),n.write(e,t,r,i,23,4),r+4}s.prototype.writeFloatLE=function(e,t,n){return H(this,e,t,!0,n)},s.prototype.writeFloatBE=function(e,t,n){return H(this,e,t,!1,n)};function U(e,t,r,i,a){return t=+t,r>>>=0,a||V(e,t,r,8,17976931348623157e292,-17976931348623157e292),n.write(e,t,r,i,52,8),r+8}s.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},s.prototype.writeDoubleBE=function(e,t,n){return U(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}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 ee(e){for(var t=[],n=0;n>8,i=n%256,a.push(i),a.push(r);return a}function ne(e){return t.toByteArray(G(e))}function q(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function J(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function Y(e){return e!==e}var X=(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})()})),z=t(),B=F(),V=R(),H={lstatSync:()=>{},isFileReadStream(e){return!1},runtime:`browser`},U=e=>{if(e==null)return 0;if(typeof e==`string`)return V.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(H.isFileReadStream(e))try{return H.lstatSync(e.path).size}catch{return}},W;(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`})(W||={});var G=(e,t)=>{if(t!=null)return W.CONTENT_LENGTH;if(e==null)return W.EMPTY_INPUT;if(typeof e==`string`)return W.STRING_LENGTH;if(typeof e.byteLength==`number`)return W.TYPED_ARRAY;if(typeof e.length==`number`)return W.LENGTH;if(typeof e.size==`number`)return W.SIZE;if(typeof e.start==`number`&&typeof e.end==`number`)return W.START_END_DIFF;if(H.isFileReadStream(e))try{return H.lstatSync(e.path).size,W.LSTAT}catch{return}},K=e(((e,t)=>{t.exports=typeof Object.create==`function`?function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}})),ee=e(((e,t)=>{t.exports=F().EventEmitter})),te=e(((e,t)=>{t.exports={}})),ne=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.head=this.length===1?this.tail=null: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,this.head=t.next?t.next: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,this.head=n.next?n.next: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}()})),q=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}})),J=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]}`}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})),Y=e(((e,t)=>{var n=J().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:16384}t.exports={getHighWaterMark:i}})),X=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&&String(t).toLowerCase()===`true`}})),Z=e(((e,t)=>{t.exports=T;function n(e){var t=this;this.next=null,this.entry=null,this.finish=function(){U(t,e)}}var r;T.WritableState=C;var i={deprecate:X()},a=ee(),o=R().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=q(),d=Y().getHighWaterMark,f=J().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;K()(T,a);function S(){}function C(e,t,i){r||=Q(),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;var a=e.decodeStrings===!1;this.decodeStrings=!a,this.defaultEncoding=e.defaultEncoding||`utf8`,this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){N(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}})):w=function(e){return e instanceof this};function T(e){r||=Q();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)}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=k(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&&I(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 k(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=se(),i=Z();K()(c,r);for(var a=n(i.prototype),o=0;o{var n=R(),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)}})),ie=e((e=>{var t=re().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):``}})),$=e(((e,t)=>{var n=J().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})),ae=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=$(),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}})),oe=e(((e,t)=>{t.exports=function(){throw Error(`Readable.from is not available in the browser`)}})),se=e(((e,t)=>{t.exports=E;var n;E.ReadableState=T,F().EventEmitter;var r=function(e,t){return e.listeners(t).length},i=ee(),a=R().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=te(),u=l&&l.debuglog?l.debuglog(`stream`):function(){},d=ne(),f=q(),p=Y().getHighWaterMark,m=J().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;K()(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||=Q(),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||=ie().StringDecoder,this.decoder=new y(e.encoding),this.encoding=e.encoding)}function E(e){if(n||=Q(),!(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&&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,N(e,o);else{var c;if(i||(c=k(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):L(e,o)):O(e,o,t,!1)}else r||(o.reading=!1,L(e,o))}return!o.ended&&(o.length=A?e=A:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function M(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e===e?(e>t.highWaterMark&&(t.highWaterMark=j(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?Z(this):P(this),null;if(e=M(e,t),e===0&&t.ended)return t.length===0&&Z(this),null;var r=t.needReadable;u(`need readable`,r),(t.length===0||t.length-e0?X(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&&Z(this)),i!==null&&this.emit(`data`,i),i};function N(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?P(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,I(e)))}}function P(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(I,e))}function I(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,G(e)}function L(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(z,e,t))}function z(e,t){for(;!t.reading&&!t.ended&&(t.length1&&$(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 B(e){return function(){var t=e._readableState;u(`pipeOnDrain`,t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&r(e,`data`)&&(t.flowing=!0,G(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?P(this):r.reading||process.nextTick(H,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(V,this),n},E.prototype.removeAllListeners=function(e){var t=i.prototype.removeAllListeners.apply(this,arguments);return(e===`readable`||e===void 0)&&process.nextTick(V,this),t};function V(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 H(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,U(this,e)),e.paused=!1,this};function U(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(W,e,t))}function W(e,t){u(`resume`,t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit(`resume`),G(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 G(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 Z(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=oe()),x(E,e,t)});function $(e,t){for(var n=0,r=e.length;n{t.exports=l;var n=J().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=Q();K()(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=ce();K()(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)}})),ue=e(((e,t)=>{var n;function r(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var i=J().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=$()),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})),de=e(((e,t)=>{t.exports=r;var n=F().EventEmitter;K()(r,n),r.Readable=se(),r.Writable=Z(),r.Duplex=Q(),r.Transform=ce(),r.PassThrough=le(),r.finished=$(),r.pipeline=ue(),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*fe(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?V.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]:V.Buffer.concat(i.chunks),lastPart:!0}}async function*pe(e,t){let n=1,r=0,i=t;for(;i{if(e instanceof Uint8Array)return pe(e,t);if(e instanceof de.Readable)return fe(e,t,me);if(e instanceof String||typeof e==`string`)return pe(V.Buffer.from(e),t);if(typeof e.stream==`function`)return fe(e.stream(),t,he);if(e instanceof ReadableStream)return fe(e,t,he);throw Error(`Body Data is unsupported format, expected data to be one of: string | Uint8Array | Buffer | Readable | ReadableStream | Blob;.`)},_e=class e extends B.EventEmitter{static MIN_PART_SIZE=5242880;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??U(this.params.Body),this.totalBytesSource=G(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.ceil((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,s=r instanceof B.EventEmitter?r:null,c=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})};s!==null&&s.on(`xhr.upload.progress`,c);let l=await Promise.all([this.client.send(new j(t)),n?.endpoint?.()]),u=l[0],d=l[1];if(d||=i(await o(t,j,{...n})),!d)throw Error(`Could not resolve endpoint from S3 "client.config.endpoint()" nor EndpointsV2.`);s!==null&&s.off(`xhr.upload.progress`,c);let f=this.params.Key.split(`/`).map(e=>a(e)).join(`/`),p=a(this.params.Bucket),m=(()=>{let e=d.hostname.startsWith(`${p}.`),t=this.client.config.forcePathStyle,n=d.port?`:${d.port}`:``;return t?`${d.protocol}//${d.hostname}${n}/${p}/${f}`:e?`${d.protocol}//${d.hostname}${n}/${f}`:`${d.protocol}//${p}.${d.hostname}${n}/${f}`})();this.singleUploadResult={...u,Bucket:this.params.Bucket,Key:this.params.Key,Location:m};let h=U(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||P.CRC32),this.createMultiPartPromise=this.client.send(new k(t)).then(e=>(this.abortMultipartUploadCommand=new E({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=U(t.data)||0,n=this.client.config.requestHandler,r=n instanceof B.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 N({...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=ge(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{t as r}from"./useMutation.js";import{Ht as i,at as a,ut as o}from"./cluster-config.js";import{A as s,C as c,D as l,M as u,O as d,P as f,S as p,b as m,d as h,f as g,h as _,j as v,k as y,m as b,p as x,u as S,w as C,x as w,y as T}from"./awsClient.js";var E=class extends f(p,l,`AbortMultipartUpload`,h){},D=class extends f(p,d,`CompleteMultipartUpload`,g){},O=class extends f(c,v,`CreateBucket`,x){},k=class extends f(p,d,`CreateMultipartUpload`,b){},A=class extends f(p,l,`DeleteObject`,_){},j=class extends f(p,y,`PutObject`,T){},M=class extends f(C,u,`PutObjectTagging`,m){},N=class extends f(p,s,`UploadPart`,w){},P={CRC32:`CRC32`,CRC32C:`CRC32C`,CRC64NVME:`CRC64NVME`,MD5:`MD5`,SHA1:`SHA1`,SHA256:`SHA256`,SHA512:`SHA512`,XXHASH128:`XXHASH128`,XXHASH3:`XXHASH3`,XXHASH64:`XXHASH64`},F=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(``)}})),L=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}})),R=e((e=>{var t=I(),n=L(),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(J(e,ArrayBuffer)||e&&J(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<`u`&&(J(e,SharedArrayBuffer)||e&&J(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(J(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),J(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 K(e).length;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return n*2;case`hex`:return n>>>1;case`base64`:return ne(e).length;default:if(i)return r?-1:K(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 F(this,t,n);case`utf8`:case`utf-8`:return A(this,t,n);case`ascii`:return N(this,t,n);case`latin1`:case`binary`:return P(this,t,n);case`base64`:return k(this,t,n);case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return R(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(J(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,Y(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 k(e,n,r){return n===0&&r===e.length?t.fromByteArray(e):t.fromByteArray(e.slice(n,r))}function A(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 M(r)}var j=4096;function M(e){var t=e.length;if(t<=j)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||z(e,t,this.length);for(var r=this[e],i=1,a=0;++a>>=0,t>>>=0,n||z(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||z(e,1,this.length),this[e]},s.prototype.readUInt16LE=function(e,t){return e>>>=0,t||z(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUInt16BE=function(e,t){return e>>>=0,t||z(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUInt32LE=function(e,t){return e>>>=0,t||z(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||z(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||z(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||z(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||z(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]},s.prototype.readInt16LE=function(e,t){e>>>=0,t||z(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||z(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||z(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||z(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||z(e,4,this.length),n.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,t){return e>>>=0,t||z(e,4,this.length),n.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,t){return e>>>=0,t||z(e,8,this.length),n.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,t){return e>>>=0,t||z(e,8,this.length),n.read(this,e,!1,52,8)};function B(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;B(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;B(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||B(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||B(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||B(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||B(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||B(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);B(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);B(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||B(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||B(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||B(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||B(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||B(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 V(e,t,n,r,i,a){if(n+r>e.length||n<0)throw RangeError(`Index out of range`)}function H(e,t,r,i,a){return t=+t,r>>>=0,a||V(e,t,r,4,34028234663852886e22,-34028234663852886e22),n.write(e,t,r,i,23,4),r+4}s.prototype.writeFloatLE=function(e,t,n){return H(this,e,t,!0,n)},s.prototype.writeFloatBE=function(e,t,n){return H(this,e,t,!1,n)};function U(e,t,r,i,a){return t=+t,r>>>=0,a||V(e,t,r,8,17976931348623157e292,-17976931348623157e292),n.write(e,t,r,i,52,8),r+8}s.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},s.prototype.writeDoubleBE=function(e,t,n){return U(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}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 ee(e){for(var t=[],n=0;n>8,i=n%256,a.push(i),a.push(r);return a}function ne(e){return t.toByteArray(G(e))}function q(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function J(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function Y(e){return e!==e}var X=(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})()})),z=t(),B=F(),V=R(),H={lstatSync:()=>{},isFileReadStream(e){return!1},runtime:`browser`},U=e=>{if(e==null)return 0;if(typeof e==`string`)return V.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(H.isFileReadStream(e))try{return H.lstatSync(e.path).size}catch{return}},W;(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`})(W||={});var G=(e,t)=>{if(t!=null)return W.CONTENT_LENGTH;if(e==null)return W.EMPTY_INPUT;if(typeof e==`string`)return W.STRING_LENGTH;if(typeof e.byteLength==`number`)return W.TYPED_ARRAY;if(typeof e.length==`number`)return W.LENGTH;if(typeof e.size==`number`)return W.SIZE;if(typeof e.start==`number`&&typeof e.end==`number`)return W.START_END_DIFF;if(H.isFileReadStream(e))try{return H.lstatSync(e.path).size,W.LSTAT}catch{return}},K=e(((e,t)=>{t.exports=typeof Object.create==`function`?function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}})),ee=e(((e,t)=>{t.exports=F().EventEmitter})),te=e(((e,t)=>{t.exports={}})),ne=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.head=this.length===1?this.tail=null: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,this.head=t.next?t.next: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,this.head=n.next?n.next: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}()})),q=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}})),J=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]}`}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})),Y=e(((e,t)=>{var n=J().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:16384}t.exports={getHighWaterMark:i}})),X=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&&String(t).toLowerCase()===`true`}})),Z=e(((e,t)=>{t.exports=T;function n(e){var t=this;this.next=null,this.entry=null,this.finish=function(){U(t,e)}}var r;T.WritableState=C;var i={deprecate:X()},a=ee(),o=R().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=q(),d=Y().getHighWaterMark,f=J().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;K()(T,a);function S(){}function C(e,t,i){r||=Q(),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;var a=e.decodeStrings===!1;this.decodeStrings=!a,this.defaultEncoding=e.defaultEncoding||`utf8`,this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){N(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}})):w=function(e){return e instanceof this};function T(e){r||=Q();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)}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=k(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&&I(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 k(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=se(),i=Z();K()(c,r);for(var a=n(i.prototype),o=0;o{var n=R(),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)}})),ie=e((e=>{var t=re().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):``}})),$=e(((e,t)=>{var n=J().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})),ae=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=$(),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}})),oe=e(((e,t)=>{t.exports=function(){throw Error(`Readable.from is not available in the browser`)}})),se=e(((e,t)=>{t.exports=E;var n;E.ReadableState=T,F().EventEmitter;var r=function(e,t){return e.listeners(t).length},i=ee(),a=R().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=te(),u=l&&l.debuglog?l.debuglog(`stream`):function(){},d=ne(),f=q(),p=Y().getHighWaterMark,m=J().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;K()(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||=Q(),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||=ie().StringDecoder,this.decoder=new y(e.encoding),this.encoding=e.encoding)}function E(e){if(n||=Q(),!(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&&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,N(e,o);else{var c;if(i||(c=k(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):L(e,o)):O(e,o,t,!1)}else r||(o.reading=!1,L(e,o))}return!o.ended&&(o.length=A?e=A:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function M(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e===e?(e>t.highWaterMark&&(t.highWaterMark=j(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?Z(this):P(this),null;if(e=M(e,t),e===0&&t.ended)return t.length===0&&Z(this),null;var r=t.needReadable;u(`need readable`,r),(t.length===0||t.length-e0?X(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&&Z(this)),i!==null&&this.emit(`data`,i),i};function N(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?P(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,I(e)))}}function P(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(I,e))}function I(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,G(e)}function L(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(z,e,t))}function z(e,t){for(;!t.reading&&!t.ended&&(t.length1&&$(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 B(e){return function(){var t=e._readableState;u(`pipeOnDrain`,t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&r(e,`data`)&&(t.flowing=!0,G(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?P(this):r.reading||process.nextTick(H,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(V,this),n},E.prototype.removeAllListeners=function(e){var t=i.prototype.removeAllListeners.apply(this,arguments);return(e===`readable`||e===void 0)&&process.nextTick(V,this),t};function V(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 H(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,U(this,e)),e.paused=!1,this};function U(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(W,e,t))}function W(e,t){u(`resume`,t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit(`resume`),G(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 G(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 Z(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=oe()),x(E,e,t)});function $(e,t){for(var n=0,r=e.length;n{t.exports=l;var n=J().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=Q();K()(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=ce();K()(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)}})),ue=e(((e,t)=>{var n;function r(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var i=J().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=$()),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})),de=e(((e,t)=>{t.exports=r;var n=F().EventEmitter;K()(r,n),r.Readable=se(),r.Writable=Z(),r.Duplex=Q(),r.Transform=ce(),r.PassThrough=le(),r.finished=$(),r.pipeline=ue(),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*fe(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?V.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]:V.Buffer.concat(i.chunks),lastPart:!0}}async function*pe(e,t){let n=1,r=0,i=t;for(;i{if(e instanceof Uint8Array)return pe(e,t);if(e instanceof de.Readable)return fe(e,t,me);if(e instanceof String||typeof e==`string`)return pe(V.Buffer.from(e),t);if(typeof e.stream==`function`)return fe(e.stream(),t,he);if(e instanceof ReadableStream)return fe(e,t,he);throw Error(`Body Data is unsupported format, expected data to be one of: string | Uint8Array | Buffer | Readable | ReadableStream | Blob;.`)},_e=class e extends B.EventEmitter{static MIN_PART_SIZE=5242880;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??U(this.params.Body),this.totalBytesSource=G(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.ceil((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,s=r instanceof B.EventEmitter?r:null,c=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})};s!==null&&s.on(`xhr.upload.progress`,c);let l=await Promise.all([this.client.send(new j(t)),n?.endpoint?.()]),u=l[0],d=l[1];if(d||=i(await o(t,j,{...n})),!d)throw Error(`Could not resolve endpoint from S3 "client.config.endpoint()" nor EndpointsV2.`);s!==null&&s.off(`xhr.upload.progress`,c);let f=this.params.Key.split(`/`).map(e=>a(e)).join(`/`),p=a(this.params.Bucket),m=(()=>{let e=d.hostname.startsWith(`${p}.`),t=this.client.config.forcePathStyle,n=d.port?`:${d.port}`:``;return t?`${d.protocol}//${d.hostname}${n}/${p}/${f}`:e?`${d.protocol}//${d.hostname}${n}/${f}`:`${d.protocol}//${p}.${d.hostname}${n}/${f}`})();this.singleUploadResult={...u,Bucket:this.params.Bucket,Key:this.params.Key,Location:m};let h=U(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||P.CRC32),this.createMultiPartPromise=this.client.send(new k(t)).then(e=>(this.abortMultipartUploadCommand=new E({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=U(t.data)||0,n=this.client.config.requestHandler,r=n instanceof B.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 N({...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=ge(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 D(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 M({...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=U(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 ye(e){let{bucket:t,key:n,file:r}=e;return await new _e({client:y(),params:{Bucket:t,Key:n,Body:r,ContentType:r.type}}).done()}function be(){let e=(0,z.c)(2),t=n(),i;return e[0]===t?i=e[1]:(i={mutationFn:xe,onSuccess:()=>{t.invalidateQueries({queryKey:[`s3`,`buckets`]})}},e[0]=t,e[1]=i),r(i)}async function xe(e){let{bucketName:t}=e,n=new O({Bucket:t});return await y().send(n)}function Se(){let e=(0,z.c)(2),t=n(),i;return e[0]===t?i=e[1]:(i={mutationFn:Ce,onSuccess:(e,n)=>{t.invalidateQueries({queryKey:[`s3`,`buckets`,n.bucket,`objects`]})}},e[0]=t,e[1]=i),r(i)}async function Ce(e){let{bucket:t,key:n}=e,r=new A({Bucket:t,Key:n});return await y().send(r)}export{Se as n,ve as r,be 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 D(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 M({...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=U(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 ye(e){let{bucket:t,key:n,file:r}=e;return await new _e({client:S(),params:{Bucket:t,Key:n,Body:r,ContentType:r.type}}).done()}function be(){let e=(0,z.c)(2),t=n(),i;return e[0]===t?i=e[1]:(i={mutationFn:xe,onSuccess:()=>{t.invalidateQueries({queryKey:[`s3`,`buckets`]})}},e[0]=t,e[1]=i),r(i)}async function xe(e){let{bucketName:t}=e,n=new O({Bucket:t});return await S().send(n)}function Se(){let e=(0,z.c)(2),t=n(),i;return e[0]===t?i=e[1]:(i={mutationFn:Ce,onSuccess:(e,n)=>{t.invalidateQueries({queryKey:[`s3`,`buckets`,n.bucket,`objects`]})}},e[0]=t,e[1]=i),r(i)}async function Ce(e){let{bucket:t,key:n}=e,r=new A({Bucket:t,Key:n});return await S().send(r)}export{Se as n,ve as r,be 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 df43e9756..7d4011f5e 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{E as t,N as n,T as r,_ as i,g as a,l as o,w as s}from"./awsClient.js";var c=class extends n(s,t,`ListBuckets`,a){},l=class extends n(r,t,`ListObjectsV2`,i){},u=e({queryKey:[`s3`,`buckets`],queryFn:async()=>{let e=new c({});return await o().send(e)}}),d=(t,n)=>e({queryKey:[`s3`,`buckets`,t,`objects`,n??``],queryFn:async()=>{let e=new l({Bucket:t,Prefix:n,Delimiter:`/`});return await o().send(e)}});export{u as n,d as t}; \ No newline at end of file +import{t as e}from"./queryOptions.js";import{D as t,E as n,P as r,T as i,_ as a,u as o,v as s}from"./awsClient.js";var c=class extends r(i,t,`ListBuckets`,a){},l=class extends r(n,t,`ListObjectsV2`,s){},u=e({queryKey:[`s3`,`buckets`],queryFn:async()=>{let e=new c({});return await o().send(e)}}),d=(t,n)=>e({queryKey:[`s3`,`buckets`,t,`objects`,n??``],queryFn:async()=>{let e=new l({Bucket:t,Prefix:n,Delimiter:`/`});return await o().send(e)}});export{u as n,d as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/security-group-checkboxes.js b/spinifex/services/spinifexui/frontend/dist/assets/security-group-checkboxes.js new file mode 100644 index 000000000..b6d1c5acb --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/security-group-checkboxes.js @@ -0,0 +1 @@ +import{n as e,t}from"./compiler-runtime.js";import{rn as n}from"./cluster-config.js";import{c as r,i,n as a,s as o,t as s}from"./select.js";import{a as c,n as l,r as u,t as d}from"./field.js";import{n as f}from"./zod.js";import{t as p}from"./picker-notice.js";var m=t(),h=e();function g(e){let t=(0,m.c)(13),{control:n,name:i,id:g,label:v,placeholder:y,options:b,notice:x,description:S,warning:C,onValueChange:w}=e,T;t[0]!==S||t[1]!==g||t[2]!==v||t[3]!==x||t[4]!==w||t[5]!==b||t[6]!==y||t[7]!==C?(T=e=>{let{field:t,fieldState:n}=e,i=typeof t.value==`string`?t.value:``;return(0,h.jsxs)(d,{children:[(0,h.jsx)(c,{children:(0,h.jsx)(`label`,{htmlFor:g,children:v})}),x?(0,h.jsx)(p,{notice:x}):(0,h.jsxs)(s,{onValueChange:e=>(w??t.onChange)(e??``),value:i,children:[(0,h.jsx)(o,{"aria-invalid":!!n.error,className:`w-full`,id:g,children:(0,h.jsx)(r,{placeholder:y})}),(0,h.jsx)(a,{children:b.map(_)})]}),S&&(0,h.jsx)(l,{children:S}),C&&(0,h.jsx)(`p`,{className:`text-xs text-tactical-amber`,children:C}),(0,h.jsx)(u,{errors:[n.error]})]})},t[0]=S,t[1]=g,t[2]=v,t[3]=x,t[4]=w,t[5]=b,t[6]=y,t[7]=C,t[8]=T):T=t[8];let E;return t[9]!==n||t[10]!==i||t[11]!==T?(E=(0,h.jsx)(f,{control:n,name:i,render:T}),t[9]=n,t[10]=i,t[11]=T,t[12]=E):E=t[12],E}function _(e){return(0,h.jsx)(i,{value:e.value,children:e.label},e.value)}function v(e){let t=(0,m.c)(3),{control:n,name:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,h.jsx)(f,{control:n,name:r,render:y}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i}function y(e){let{field:t,fieldState:n}=e;return(0,h.jsxs)(d,{children:[(0,h.jsx)(c,{children:`Deletion protection`}),(0,h.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,h.jsx)(`input`,{"aria-label":`Enable deletion protection`,checked:t.value,onChange:e=>t.onChange(e.target.checked),type:`checkbox`}),(0,h.jsx)(`span`,{children:`Refuse DeleteDBInstance while this is on`})]}),(0,h.jsx)(u,{errors:[n.error]})]})}function b(e,t,n){let r=new Set(t.filter(e=>e.Engine===n).map(e=>e.DBParameterGroupFamily));return e.filter(e=>r.has(e.DBParameterGroupFamily))}function x(e,t){return t?e.filter(e=>e.VpcId===t):[]}function S(e,t,n){let r=new Set(x(e,t).map(e=>e.GroupId));return n.filter(e=>r.has(e))}function C(e,t){return x(e,t).find(e=>e.GroupName==="default")?.GroupId}function w(e){let t=(0,m.c)(14),{emptyText:r,groups:i,onChange:a,selected:o}=e;if(i.length===0){let e;return t[0]===r?e=t[1]:(e=(0,h.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r}),t[0]=r,t[1]=e),e}let s;t[2]!==a||t[3]!==o?(s=e=>a(o.includes(e)?o.filter(t=>t!==e):[...o,e]),t[2]=a,t[3]=o,t[4]=s):s=t[4];let c=s,l;if(t[5]!==i||t[6]!==o||t[7]!==c){let e;t[9]!==o||t[10]!==c?(e=e=>(0,h.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,h.jsx)(`input`,{"aria-label":`Security group ${n(e)}`,checked:o.includes(e.GroupId??``),onChange:()=>c(e.GroupId??``),type:`checkbox`}),(0,h.jsx)(`span`,{className:`font-mono`,children:n(e)})]},e.GroupId),t[9]=o,t[10]=c,t[11]=e):e=t[11],l=i.map(e),t[5]=i,t[6]=o,t[7]=c,t[8]=l}else l=t[8];let u;return t[12]===l?u=t[13]:(u=(0,h.jsx)(`div`,{className:`space-y-1`,children:l}),t[12]=l,t[13]=u),u}export{v as a,x as i,C as n,g as o,S as r,b as s,w as t}; \ 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 6a6e4a7c7..00b0af362 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{Yt as n}from"./cluster-config.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{Yt as n}from"./cluster-config.js";var r=t(),i=e(),a=new Set([`running`,`available`,`completed`,`Complete`,`Active`]),o=new Set([`stopped`,`error`,`failed`]),s=new Set([`pending`,`shutting-down`,`stopping`,`creating`,`modifying`,`backing-up`,`rebooting`,`starting`,`recovering`,`deleting`]);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 index 9f7c6b87b..a2dc775df 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/system-managed.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/system-managed.js @@ -1 +1 @@ -function e(e){return e.Tags?.some(e=>e.Key===`spinifex:managed-by`)??!1}function t(e){return e.Tags?.some(e=>e.Key===`spinifex:managed-by`&&e.Value===`eks`)??!1}function n(e){return e.Tags?.some(e=>e.Key===`spinifex:managed-by`&&e.Value===`ecs`)??!1}export{t as n,e as r,n as t}; \ No newline at end of file +function e(e){return e.Tags?.some(e=>e.Key===`spinifex:managed-by`)??!1}function t(e){return e.Tags?.some(e=>e.Key===`spinifex:managed-by`&&e.Value===`eks`)??!1}function n(e){return e.Tags?.some(e=>e.Key===`spinifex:managed-by`&&e.Value===`ecs`)??!1}function r(e,t,n){let r=e.Tags??[],i=(e,t)=>r.some(n=>n.Key===e&&n.Value===t);return i(`spinifex:managed-by`,`rds`)&&i(`engine`,t)&&i(`engine-version`,n)&&i(`rds-data-volume-contract`,`format-auth-v1`)}function i(e){return`spx admin images import --name spinifex-rds-${e}`}export{i as a,e as i,t as n,r,n as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/tags-editor.js b/spinifex/services/spinifexui/frontend/dist/assets/tags-editor.js index ae56de4de..953987370 100644 --- a/spinifex/services/spinifexui/frontend/dist/assets/tags-editor.js +++ b/spinifex/services/spinifexui/frontend/dist/assets/tags-editor.js @@ -1 +1 @@ -import{a as e,n as t,r as n,t as r}from"./compiler-runtime.js";import{c as i,i as a,n as o,s,t as c}from"./select.js";import{t as l}from"./plus.js";import{t as u}from"./trash-2.js";import{t as d}from"./button.js";import{t as f}from"./input.js";import{a as p,r as m,t as h}from"./field.js";var ee=r(),te=e(n(),1),g=t();function ne(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 _(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 v(e){let t=(0,ee.c)(56),{specs:n,attributes:r,onSubmit:a,isPending:l,error:u,isSuccess:v}=e,b;t[0]!==r||t[1]!==n?(b=ne(n,r),t[0]=r,t[1]=n,t[2]=b):b=t[2];let x=b,[S,C]=(0,te.useState)(x),w;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(w=(e,t)=>{C(n=>({...n,[e]:t}))},t[3]=w):w=t[3];let T=w,E;if(t[4]!==n||t[5]!==S){E={};for(let e of n)E[e.key]=_(e,S[e.key]??``);t[4]=n,t[5]=S,t[6]=E}else E=t[6];let D=Object.values(E).some(Boolean),O;if(t[7]!==x||t[8]!==n||t[9]!==S){let e;t[11]!==x||t[12]!==S?(e=e=>(S[e.key]??``)!==(x[e.key]??``),t[11]=x,t[12]=S,t[13]=e):e=t[13];let r;t[14]===S?r=t[15]:(r=e=>({key:e.key,value:S[e.key]??``}),t[14]=S,t[15]=r),O=n.filter(e).map(r),t[7]=x,t[8]=n,t[9]=S,t[10]=O}else O=t[10];let k=O,A;t[16]===x?A=t[17]:(A=()=>{C(x)},t[16]=x,t[17]=A);let j=A,M;t[18]!==k||t[19]!==D||t[20]!==a?(M=e=>{e.preventDefault(),!(D||k.length===0)&&a(k)},t[18]=k,t[19]=D,t[20]=a,t[21]=M):M=t[21];let N;t[22]===u?N=t[23]:(N=u&&(0,g.jsx)(`div`,{className:`mb-4 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive`,role:`alert`,children:u.message||`Failed to save attributes`}),t[22]=u,t[23]=N);let P;t[24]!==k.length||t[25]!==v?(P=v&&k.length===0&&(0,g.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]=k.length,t[25]=v,t[26]=P):P=t[26];let F;if(t[27]!==E||t[28]!==n||t[29]!==S){let e;t[31]!==E||t[32]!==S?(e=e=>{let t=`attr-${e.key}`,n=S[e.key]??``,r=E[e.key];return(0,g.jsxs)(h,{children:[(0,g.jsx)(p,{children:(0,g.jsx)(`label`,{htmlFor:t,children:e.label})}),e.type===`bool`&&(0,g.jsx)(`input`,{"aria-label":e.label,checked:n===`true`,id:t,onChange:t=>T(e.key,t.target.checked?`true`:`false`),type:`checkbox`}),e.type===`int`&&(0,g.jsx)(f,{"aria-invalid":!!r,id:t,inputMode:`numeric`,onChange:t=>T(e.key,t.target.value),value:n}),e.type===`text`&&(0,g.jsx)(f,{id:t,onChange:t=>T(e.key,t.target.value),placeholder:e.placeholder,value:n}),e.type===`select`&&(0,g.jsxs)(c,{onValueChange:t=>T(e.key,t??``),value:n,children:[(0,g.jsx)(s,{className:`w-full`,id:t,children:(0,g.jsx)(i,{})}),(0,g.jsx)(o,{children:e.options.map(y)})]}),e.description&&(0,g.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.description}),(0,g.jsx)(m,{errors:[r?{message:r}:void 0]})]},e.key)},t[31]=E,t[32]=S,t[33]=e):e=t[33],F=n.map(e),t[27]=E,t[28]=n,t[29]=S,t[30]=F}else F=t[30];let I;t[34]===F?I=t[35]:(I=(0,g.jsx)(`div`,{className:`grid gap-4 p-4 sm:grid-cols-2`,children:F}),t[34]=F,t[35]=I);let L=k.length===0?`No changes`:`${k.length} change${k.length===1?``:`s`} pending`,R;t[36]===L?R=t[37]:(R=(0,g.jsx)(`span`,{className:`mr-auto text-xs text-muted-foreground`,children:L}),t[36]=L,t[37]=R);let z=l||k.length===0,B;t[38]!==j||t[39]!==z?(B=(0,g.jsx)(d,{disabled:z,onClick:j,size:`sm`,type:`button`,variant:`secondary`,children:`Reset`}),t[38]=j,t[39]=z,t[40]=B):B=t[40];let V=l||D||k.length===0,H=l?`Saving…`:`Save changes`,U;t[41]!==V||t[42]!==H?(U=(0,g.jsx)(d,{disabled:V,size:`sm`,type:`submit`,children:H}),t[41]=V,t[42]=H,t[43]=U):U=t[43];let W;t[44]!==R||t[45]!==B||t[46]!==U?(W=(0,g.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t p-4`,children:[R,B,U]}),t[44]=R,t[45]=B,t[46]=U,t[47]=W):W=t[47];let G;t[48]!==W||t[49]!==I?(G=(0,g.jsxs)(`div`,{className:`rounded-lg border bg-card`,children:[I,W]}),t[48]=W,t[49]=I,t[50]=G):G=t[50];let K;return t[51]!==G||t[52]!==M||t[53]!==N||t[54]!==P?(K=(0,g.jsxs)(`form`,{onSubmit:M,children:[N,P,G]}),t[51]=G,t[52]=M,t[53]=N,t[54]=P,t[55]=K):K=t[55],K}function y(e){return(0,g.jsx)(a,{value:e,children:e},e)}var b=[{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`}],x=[{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}];function S(e){return e.map((e,t)=>({id:t,key:e.Key??``,value:e.Value??``}))}function C(e){return e.map(e=>({key:e.key.trim(),value:e.value})).filter(e=>e.key.length>0)}function w(e){let t=(0,ee.c)(66),{tags:n,onSubmit:r,isPending:i,error:a,isSuccess:o}=e,s;t[0]===n?s=t[1]:(s=S(n),t[0]=n,t[1]=s);let c=s,[p,m]=(0,te.useState)(c),[h,ne]=(0,te.useState)(c.length),_;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(_=(e,t)=>{m(n=>n.map(n=>n.id===e?{...n,...t}:n))},t[2]=_):_=t[2];let v=_,y;t[3]===h?y=t[4]:(y=()=>{m(e=>[...e,{id:h,key:``,value:``}]),ne(D)},t[3]=h,t[4]=y);let b=y,x;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>{m(t=>t.filter(t=>t.id!==e))},t[5]=x):x=t[5];let w=x,O;t[6]===c?O=t[7]:(O=()=>{m(c)},t[6]=c,t[7]=O);let k=O,A;t[8]===p?A=t[9]:(A=p.some(E),t[8]=p,t[9]=A);let j=A,M,N,P,F;if(t[10]!==j||t[11]!==p){P=C(p);let e=P.map(T);M=new Set(e).size!==e.length,N=j||M,F=JSON.stringify(P),t[10]=j,t[11]=p,t[12]=M,t[13]=N,t[14]=P,t[15]=F}else M=t[12],N=t[13],P=t[14],F=t[15];let I;t[16]===c?I=t[17]:(I=JSON.stringify(C(c)),t[16]=c,t[17]=I);let L=F!==I,R;t[18]!==L||t[19]!==N||t[20]!==P||t[21]!==r?(R=e=>{e.preventDefault(),!(N||!L)&&r(P)},t[18]=L,t[19]=N,t[20]=P,t[21]=r,t[22]=R):R=t[22];let z;t[23]===a?z=t[24]:(z=a&&(0,g.jsx)(`div`,{className:`mb-4 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive`,role:`alert`,children:a.message||`Failed to save tags`}),t[23]=a,t[24]=z);let B;t[25]!==L||t[26]!==o?(B=o&&!L&&(0,g.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:`Tags saved.`}),t[25]=L,t[26]=o,t[27]=B):B=t[27];let V;t[28]===p.length?V=t[29]:(V=p.length===0&&(0,g.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No tags.`}),t[28]=p.length,t[29]=V);let H;if(t[30]!==p){let e;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(e=e=>(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(f,{"aria-label":`Tag key`,onChange:t=>v(e.id,{key:t.target.value}),placeholder:`Key`,value:e.key}),(0,g.jsx)(f,{"aria-label":`Tag value`,onChange:t=>v(e.id,{value:t.target.value}),placeholder:`Value`,value:e.value}),(0,g.jsx)(d,{"aria-label":`Remove tag`,onClick:()=>w(e.id),size:`icon`,type:`button`,variant:`ghost`,children:(0,g.jsx)(u,{className:`size-4`})})]},e.id),t[32]=e):e=t[32],H=p.map(e),t[30]=p,t[31]=H}else H=t[31];let U;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,g.jsx)(l,{className:`size-4`}),t[33]=U):U=t[33];let W;t[34]===b?W=t[35]:(W=(0,g.jsx)(`div`,{children:(0,g.jsxs)(d,{onClick:b,size:`sm`,type:`button`,variant:`secondary`,children:[U,` Add tag`]})}),t[34]=b,t[35]=W);let G;t[36]===j?G=t[37]:(G=j&&(0,g.jsx)(`p`,{className:`text-xs text-destructive`,children:`Every tag with a value needs a key.`}),t[36]=j,t[37]=G);let K;t[38]===M?K=t[39]:(K=M&&(0,g.jsx)(`p`,{className:`text-xs text-destructive`,children:`Tag keys must be unique.`}),t[38]=M,t[39]=K);let q;t[40]!==V||t[41]!==H||t[42]!==W||t[43]!==G||t[44]!==K?(q=(0,g.jsxs)(`div`,{className:`flex flex-col gap-2 p-4`,children:[V,H,W,G,K]}),t[40]=V,t[41]=H,t[42]=W,t[43]=G,t[44]=K,t[45]=q):q=t[45];let re=L?`Unsaved changes`:`No changes`,J;t[46]===re?J=t[47]:(J=(0,g.jsx)(`span`,{className:`mr-auto text-xs text-muted-foreground`,children:re}),t[46]=re,t[47]=J);let ie=i||!L,Y;t[48]!==k||t[49]!==ie?(Y=(0,g.jsx)(d,{disabled:ie,onClick:k,size:`sm`,type:`button`,variant:`secondary`,children:`Reset`}),t[48]=k,t[49]=ie,t[50]=Y):Y=t[50];let ae=i||N||!L,oe=i?`Saving…`:`Save changes`,X;t[51]!==ae||t[52]!==oe?(X=(0,g.jsx)(d,{disabled:ae,size:`sm`,type:`submit`,children:oe}),t[51]=ae,t[52]=oe,t[53]=X):X=t[53];let Z;t[54]!==J||t[55]!==Y||t[56]!==X?(Z=(0,g.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t p-4`,children:[J,Y,X]}),t[54]=J,t[55]=Y,t[56]=X,t[57]=Z):Z=t[57];let Q;t[58]!==q||t[59]!==Z?(Q=(0,g.jsxs)(`div`,{className:`rounded-lg border bg-card`,children:[q,Z]}),t[58]=q,t[59]=Z,t[60]=Q):Q=t[60];let $;return t[61]!==z||t[62]!==B||t[63]!==Q||t[64]!==R?($=(0,g.jsxs)(`form`,{onSubmit:R,children:[z,B,Q]}),t[61]=z,t[62]=B,t[63]=Q,t[64]=R,t[65]=$):$=t[65],$}function T(e){return e.key}function E(e){return e.key.trim().length===0&&e.value.length>0}function D(e){return e+1}export{x as i,v as n,b as r,w 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 ee}from"./plus.js";import{t as te}from"./trash-2.js";import{t as i}from"./button.js";import{t as a}from"./input.js";var ne=r(),o=e(n(),1),s=t();function re(e){return e.map((e,t)=>({id:t,key:e.Key??``,value:e.Value??``}))}function c(e){return e.map(e=>({key:e.key.trim(),value:e.value})).filter(e=>e.key.length>0)}function l(e){let t=(0,ne.c)(66),{tags:n,onSubmit:r,isPending:l,error:d,isSuccess:f}=e,p;t[0]===n?p=t[1]:(p=re(n),t[0]=n,t[1]=p);let m=p,[h,g]=(0,o.useState)(m),[_,oe]=(0,o.useState)(m.length),v;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(v=(e,t)=>{g(n=>n.map(n=>n.id===e?{...n,...t}:n))},t[2]=v):v=t[2];let y=v,b;t[3]===_?b=t[4]:(b=()=>{g(e=>[...e,{id:_,key:``,value:``}]),oe(ae)},t[3]=_,t[4]=b);let x=b,S;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(S=e=>{g(t=>t.filter(t=>t.id!==e))},t[5]=S):S=t[5];let C=S,w;t[6]===m?w=t[7]:(w=()=>{g(m)},t[6]=m,t[7]=w);let T=w,E;t[8]===h?E=t[9]:(E=h.some(u),t[8]=h,t[9]=E);let D=E,O,k,A,j;if(t[10]!==D||t[11]!==h){A=c(h);let e=A.map(ie);O=new Set(e).size!==e.length,k=D||O,j=JSON.stringify(A),t[10]=D,t[11]=h,t[12]=O,t[13]=k,t[14]=A,t[15]=j}else O=t[12],k=t[13],A=t[14],j=t[15];let M;t[16]===m?M=t[17]:(M=JSON.stringify(c(m)),t[16]=m,t[17]=M);let N=j!==M,P;t[18]!==N||t[19]!==k||t[20]!==A||t[21]!==r?(P=e=>{e.preventDefault(),!(k||!N)&&r(A)},t[18]=N,t[19]=k,t[20]=A,t[21]=r,t[22]=P):P=t[22];let F;t[23]===d?F=t[24]:(F=d&&(0,s.jsx)(`div`,{className:`mb-4 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive`,role:`alert`,children:d.message||`Failed to save tags`}),t[23]=d,t[24]=F);let I;t[25]!==N||t[26]!==f?(I=f&&!N&&(0,s.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:`Tags saved.`}),t[25]=N,t[26]=f,t[27]=I):I=t[27];let L;t[28]===h.length?L=t[29]:(L=h.length===0&&(0,s.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No tags.`}),t[28]=h.length,t[29]=L);let R;if(t[30]!==h){let e;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(e=e=>(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,s.jsx)(a,{"aria-label":`Tag key`,onChange:t=>y(e.id,{key:t.target.value}),placeholder:`Key`,value:e.key}),(0,s.jsx)(a,{"aria-label":`Tag value`,onChange:t=>y(e.id,{value:t.target.value}),placeholder:`Value`,value:e.value}),(0,s.jsx)(i,{"aria-label":`Remove tag`,onClick:()=>C(e.id),size:`icon`,type:`button`,variant:`ghost`,children:(0,s.jsx)(te,{className:`size-4`})})]},e.id),t[32]=e):e=t[32],R=h.map(e),t[30]=h,t[31]=R}else R=t[31];let z;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,s.jsx)(ee,{className:`size-4`}),t[33]=z):z=t[33];let B;t[34]===x?B=t[35]:(B=(0,s.jsx)(`div`,{children:(0,s.jsxs)(i,{onClick:x,size:`sm`,type:`button`,variant:`secondary`,children:[z,` Add tag`]})}),t[34]=x,t[35]=B);let V;t[36]===D?V=t[37]:(V=D&&(0,s.jsx)(`p`,{className:`text-xs text-destructive`,children:`Every tag with a value needs a key.`}),t[36]=D,t[37]=V);let H;t[38]===O?H=t[39]:(H=O&&(0,s.jsx)(`p`,{className:`text-xs text-destructive`,children:`Tag keys must be unique.`}),t[38]=O,t[39]=H);let U;t[40]!==L||t[41]!==R||t[42]!==B||t[43]!==V||t[44]!==H?(U=(0,s.jsxs)(`div`,{className:`flex flex-col gap-2 p-4`,children:[L,R,B,V,H]}),t[40]=L,t[41]=R,t[42]=B,t[43]=V,t[44]=H,t[45]=U):U=t[45];let W=N?`Unsaved changes`:`No changes`,G;t[46]===W?G=t[47]:(G=(0,s.jsx)(`span`,{className:`mr-auto text-xs text-muted-foreground`,children:W}),t[46]=W,t[47]=G);let K=l||!N,q;t[48]!==T||t[49]!==K?(q=(0,s.jsx)(i,{disabled:K,onClick:T,size:`sm`,type:`button`,variant:`secondary`,children:`Reset`}),t[48]=T,t[49]=K,t[50]=q):q=t[50];let J=l||k||!N,Y=l?`Saving…`:`Save changes`,X;t[51]!==J||t[52]!==Y?(X=(0,s.jsx)(i,{disabled:J,size:`sm`,type:`submit`,children:Y}),t[51]=J,t[52]=Y,t[53]=X):X=t[53];let Z;t[54]!==G||t[55]!==q||t[56]!==X?(Z=(0,s.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t p-4`,children:[G,q,X]}),t[54]=G,t[55]=q,t[56]=X,t[57]=Z):Z=t[57];let Q;t[58]!==U||t[59]!==Z?(Q=(0,s.jsxs)(`div`,{className:`rounded-lg border bg-card`,children:[U,Z]}),t[58]=U,t[59]=Z,t[60]=Q):Q=t[60];let $;return t[61]!==F||t[62]!==I||t[63]!==Q||t[64]!==P?($=(0,s.jsxs)(`form`,{onSubmit:P,children:[F,I,Q]}),t[61]=F,t[62]=I,t[63]=Q,t[64]=P,t[65]=$):$=t[65],$}function ie(e){return e.key}function u(e){return e.key.trim().length===0&&e.value.length>0}function ae(e){return e+1}export{l as t}; \ No newline at end of file diff --git a/spinifex/services/spinifexui/frontend/dist/assets/tags-field-array.js b/spinifex/services/spinifexui/frontend/dist/assets/tags-field-array.js new file mode 100644 index 000000000..186fe4e9a --- /dev/null +++ b/spinifex/services/spinifexui/frontend/dist/assets/tags-field-array.js @@ -0,0 +1 @@ +import{n as e,t}from"./compiler-runtime.js";import{t as n}from"./plus.js";import{t as r}from"./trash-2.js";import{t as i}from"./button.js";import{t as a}from"./input.js";import{a as o,r as s,t as c}from"./field.js";import{n as l,r as u}from"./zod.js";var d=t(),f=e();function p(e){let t=(0,d.c)(21),{control:a,name:s}=e,p;t[0]!==a||t[1]!==s?(p={control:a,name:s},t[0]=a,t[1]=s,t[2]=p):p=t[2];let{fields:g,append:_,remove:v}=u(p),y;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,f.jsx)(o,{children:`Tags`}),t[3]=y):y=t[3];let b;if(t[4]!==a||t[5]!==g||t[6]!==s||t[7]!==v){let e;t[9]!==a||t[10]!==s||t[11]!==v?(e=(e,t)=>(0,f.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,f.jsx)(l,{control:a,name:`${s}.${t}.key`,render:h}),(0,f.jsx)(l,{control:a,name:`${s}.${t}.value`,render:m}),(0,f.jsx)(i,{"aria-label":`Remove tag ${t+1}`,onClick:()=>v(t),size:`icon`,type:`button`,variant:`ghost`,children:(0,f.jsx)(r,{className:`size-3.5`})})]},e.id),t[9]=a,t[10]=s,t[11]=v,t[12]=e):e=t[12],b=g.map(e),t[4]=a,t[5]=g,t[6]=s,t[7]=v,t[8]=b}else b=t[8];let x;t[13]===_?x=t[14]:(x=()=>_({key:``,value:``}),t[13]=_,t[14]=x);let S;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,f.jsx)(n,{className:`size-3.5`}),t[15]=S):S=t[15];let C;t[16]===x?C=t[17]:(C=(0,f.jsxs)(i,{onClick:x,size:`sm`,type:`button`,variant:`outline`,children:[S,`Add Tag`]}),t[16]=x,t[17]=C);let w;return t[18]!==b||t[19]!==C?(w=(0,f.jsxs)(c,{children:[y,(0,f.jsxs)(`div`,{className:`space-y-2`,children:[b,C]})]}),t[18]=b,t[19]=C,t[20]=w):w=t[20],w}function m(e){let{field:t,fieldState:n}=e;return(0,f.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,f.jsx)(a,{"aria-invalid":!!n.error,placeholder:`Value`,...t}),(0,f.jsx)(s,{errors:[n.error]})]})}function h(e){let{field:t,fieldState:n}=e;return(0,f.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,f.jsx)(a,{"aria-invalid":!!n.error,placeholder:`Key`,...t}),(0,f.jsx)(s,{errors:[n.error]})]})}export{p 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 1b5f4e301..9550583ab 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"./link.js";import{$t as a,Qt as o}from"./cluster-config.js";import{t as s}from"./createLucideIcon.js";import{t as c}from"./download.js";import{t as l}from"./trash-2.js";import{t as u}from"./button.js";import{M as d,N as f,h as p,l as m,x as h}from"./awsClient.js";import{n as g}from"./s3.js";import{t as _}from"./error-banner.js";import{t as v}from"./delete-confirmation-dialog.js";var y=s(`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`}]]),b=s(`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`}]]),x=s(`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`}]]),S=class extends f(h,d,`GetObject`,p){},C=r(),w=t();function T(e){let t=(0,C.c)(9),{folderName:n,fullPrefix:r,bucketName:a}=e,o;t[0]!==a||t[1]!==r?(o={bucket:a,_splat:r},t[0]=a,t[1]=r,t[2]=o):o=t[2];let s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,w.jsx)(b,{className:`size-5 text-muted-foreground`}),t[3]=s):s=t[3];let c;t[4]===n?c=t[5]:(c=(0,w.jsx)(`span`,{className:`font-medium`,children:n}),t[4]=n,t[5]=c);let l;return t[6]!==o||t[7]!==c?(l=(0,w.jsxs)(i,{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 E=e(n(),1);function D({object:e,bucketName:t,displayName:n,fullKey:r}){let[i,s]=(0,E.useState)(!1),[u,d]=(0,E.useState)(null),f=g();async function p(){d(null);try{let e=new S({Bucket:t,Key:r}),i=await m().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){d(Error(`Failed to download object`,{cause:e}))}}async function h(){try{await f.mutateAsync({bucket:t,key:r})}finally{s(!1)}}return(0,w.jsxs)(`div`,{children:[f.error&&(0,w.jsx)(_,{error:f.error,msg:`Failed to delete object`}),u&&(0,w.jsx)(_,{error:u,msg:`Failed to download object`}),(0,w.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border bg-card p-4`,children:[(0,w.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,w.jsx)(y,{className:`size-5 text-muted-foreground`}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`h3`,{className:`font-medium`,children:n}),e.LastModified&&(0,w.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Last Modified: `,o(e.LastModified)]})]})]}),(0,w.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,w.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:a(e.Size??0)}),(0,w.jsx)(`button`,{"aria-label":`Download ${n}`,className:`rounded-md p-2 transition-colors hover:bg-accent`,onClick:p,type:`button`,children:(0,w.jsx)(c,{className:`size-4`})}),(0,w.jsx)(`button`,{"aria-label":`Delete ${n}`,className:`rounded-md p-2 text-destructive transition-colors hover:bg-accent`,onClick:()=>s(!0),type:`button`,children:(0,w.jsx)(l,{className:`size-4`})})]}),(0,w.jsx)(v,{description:(0,w.jsxs)(w.Fragment,{children:[`Are you sure you want to delete `,(0,w.jsx)(`strong`,{children:n}),`? This action cannot be undone.`]}),isPending:f.isPending,onConfirm:h,onOpenChange:s,open:i,title:`Delete Object`})]})]},e.Key)}function O({bucket:e,prefix:t=``,isPending:n,onUpload:r}){let i=(0,E.useRef)(null);async function a(n){let a=n.target.files;if(!(!a||a.length===0))try{await Promise.all([...a].map(async n=>await r({bucket:e,key:`${t}${n.name}`,file:n})))}finally{i.current&&(i.current.value=``)}}return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`input`,{accept:`*/*`,"aria-label":`Choose files to upload`,className:`hidden`,multiple:!0,onChange:a,ref:i,type:`file`}),(0,w.jsxs)(u,{disabled:n,onClick:()=>i.current?.click(),size:`sm`,children:[(0,w.jsx)(x,{className:`mr-2 size-4`}),n?`Uploading…`:`Upload Files`]})]})}export{D as n,T as r,O 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"./link.js";import{$t as a,Qt as o}from"./cluster-config.js";import{t as s}from"./createLucideIcon.js";import{t as c}from"./download.js";import{t as l}from"./trash-2.js";import{t as u}from"./button.js";import{N as d,P as f,S as p,g as m,u as h}from"./awsClient.js";import{n as g}from"./s3.js";import{t as _}from"./error-banner.js";import{t as v}from"./delete-confirmation-dialog.js";var y=s(`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`}]]),b=s(`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`}]]),x=s(`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`}]]),S=class extends f(p,d,`GetObject`,m){},C=r(),w=t();function T(e){let t=(0,C.c)(9),{folderName:n,fullPrefix:r,bucketName:a}=e,o;t[0]!==a||t[1]!==r?(o={bucket:a,_splat:r},t[0]=a,t[1]=r,t[2]=o):o=t[2];let s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,w.jsx)(b,{className:`size-5 text-muted-foreground`}),t[3]=s):s=t[3];let c;t[4]===n?c=t[5]:(c=(0,w.jsx)(`span`,{className:`font-medium`,children:n}),t[4]=n,t[5]=c);let l;return t[6]!==o||t[7]!==c?(l=(0,w.jsxs)(i,{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 E=e(n(),1);function D({object:e,bucketName:t,displayName:n,fullKey:r}){let[i,s]=(0,E.useState)(!1),[u,d]=(0,E.useState)(null),f=g();async function p(){d(null);try{let e=new S({Bucket:t,Key:r}),i=await h().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){d(Error(`Failed to download object`,{cause:e}))}}async function m(){try{await f.mutateAsync({bucket:t,key:r})}finally{s(!1)}}return(0,w.jsxs)(`div`,{children:[f.error&&(0,w.jsx)(_,{error:f.error,msg:`Failed to delete object`}),u&&(0,w.jsx)(_,{error:u,msg:`Failed to download object`}),(0,w.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border bg-card p-4`,children:[(0,w.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,w.jsx)(y,{className:`size-5 text-muted-foreground`}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`h3`,{className:`font-medium`,children:n}),e.LastModified&&(0,w.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Last Modified: `,o(e.LastModified)]})]})]}),(0,w.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,w.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:a(e.Size??0)}),(0,w.jsx)(`button`,{"aria-label":`Download ${n}`,className:`rounded-md p-2 transition-colors hover:bg-accent`,onClick:p,type:`button`,children:(0,w.jsx)(c,{className:`size-4`})}),(0,w.jsx)(`button`,{"aria-label":`Delete ${n}`,className:`rounded-md p-2 text-destructive transition-colors hover:bg-accent`,onClick:()=>s(!0),type:`button`,children:(0,w.jsx)(l,{className:`size-4`})})]}),(0,w.jsx)(v,{description:(0,w.jsxs)(w.Fragment,{children:[`Are you sure you want to delete `,(0,w.jsx)(`strong`,{children:n}),`? This action cannot be undone.`]}),isPending:f.isPending,onConfirm:m,onOpenChange:s,open:i,title:`Delete Object`})]})]},e.Key)}function O({bucket:e,prefix:t=``,isPending:n,onUpload:r}){let i=(0,E.useRef)(null);async function a(n){let a=n.target.files;if(!(!a||a.length===0))try{await Promise.all([...a].map(async n=>await r({bucket:e,key:`${t}${n.name}`,file:n})))}finally{i.current&&(i.current.value=``)}}return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`input`,{accept:`*/*`,"aria-label":`Choose files to upload`,className:`hidden`,multiple:!0,onChange:a,ref:i,type:`file`}),(0,w.jsxs)(u,{disabled:n,onClick:()=>i.current?.click(),size:`sm`,children:[(0,w.jsx)(x,{className:`mr-2 size-4`}),n?`Uploading…`:`Upload Files`]})]})}export{D as n,T as r,O 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 45ce9fccb..54e683135 100644 --- a/spinifex/services/spinifexui/frontend/dist/index.html +++ b/spinifex/services/spinifexui/frontend/dist/index.html @@ -29,11 +29,7 @@ - - - - - + @@ -44,12 +40,19 @@ - + + + + + + + + - + @@ -61,13 +64,13 @@ - - + + @@ -81,6 +84,7 @@ + @@ -96,13 +100,17 @@ - + + + + + diff --git a/spinifex/services/spinifexui/frontend/package.json b/spinifex/services/spinifexui/frontend/package.json index cef2f0a98..45b87b3ef 100644 --- a/spinifex/services/spinifexui/frontend/package.json +++ b/spinifex/services/spinifexui/frontend/package.json @@ -21,6 +21,7 @@ "@aws-sdk/client-eks": "^3.1109.0", "@aws-sdk/client-elastic-load-balancing-v2": "^3.1109.0", "@aws-sdk/client-iam": "^3.1109.0", + "@aws-sdk/client-rds": "^3.1110.0", "@aws-sdk/client-s3": "^3.1109.0", "@aws-sdk/client-sts": "^3.1109.0", "@aws-sdk/lib-storage": "^3.1109.0", diff --git a/spinifex/services/spinifexui/frontend/pnpm-lock.yaml b/spinifex/services/spinifexui/frontend/pnpm-lock.yaml index 0a2eeb3fa..3f81a48ec 100644 --- a/spinifex/services/spinifexui/frontend/pnpm-lock.yaml +++ b/spinifex/services/spinifexui/frontend/pnpm-lock.yaml @@ -32,6 +32,9 @@ importers: '@aws-sdk/client-iam': specifier: ^3.1109.0 version: 3.1109.0 + '@aws-sdk/client-rds': + specifier: ^3.1110.0 + version: 3.1110.0 '@aws-sdk/client-s3': specifier: ^3.1109.0 version: 3.1109.0 @@ -216,6 +219,10 @@ packages: resolution: {integrity: sha512-EhiiEgszibYAJuQxWgzE+L56VRHnXxGoiLetq9FGs3meozN6VqCqRhtOfN3GqFaFi9W2iWg7cTQUIOgQzU3EbQ==} engines: {node: '>=20.0.0'} + '@aws-sdk/client-rds@3.1110.0': + resolution: {integrity: sha512-Dk9Y4bpnMM6Z2ZsQhaHT1I2r/82kR9sxtNIRF+HdUG9hN3IfMD1NLNFJxlWoyPyB55hCS9Tais6BGTMBNA37Ng==} + engines: {node: '>=20.0.0'} + '@aws-sdk/client-s3@3.1109.0': resolution: {integrity: sha512-iPWzBeGkAe5H5+dBBGCOdIT4uMhpu12OK+nFnDzjvOChVnHIws4LeoG7Yl0kJHSRWZnNEkVcF4vQYTJny0e5xA==} engines: {node: '>=20.0.0'} @@ -270,6 +277,10 @@ packages: resolution: {integrity: sha512-W13WaKOnQE3umgQl+CNrUlPpVwE+QqQv2GiUJ29D9yF+R6y2eXCYJSWNGn5SEpBzCdeCVxvk3Gk2y5JJARr/NQ==} engines: {node: '>=20.0.0'} + '@aws-sdk/middleware-sdk-rds@3.972.56': + resolution: {integrity: sha512-htJhgaQhh0pU8MuIXLFvzjtuO9NGVUkvb5FegiwhM0+nXN3Esr8MlpcamvJAx0WWmXP5YEZ29j2uqPIpFTuz9A==} + engines: {node: '>=20.0.0'} + '@aws-sdk/middleware-sdk-s3@3.972.73': resolution: {integrity: sha512-oy7sRA5HvHcAvkcKX6F8RI240jcOf3c8y/Gqjs9qemIibdKQqGBIi0uwa+47ZRYqGLpdEO28TQU4G73yUzo06Q==} engines: {node: '>=20.0.0'} @@ -2874,7 +2885,7 @@ snapshots: '@aws-crypto/sha256-js@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.973.6 + '@aws-sdk/types': 3.974.3 tslib: 2.8.1 '@aws-crypto/supports-web-crypto@5.2.0': @@ -2883,7 +2894,7 @@ snapshots: '@aws-crypto/util@5.2.0': dependencies: - '@aws-sdk/types': 3.973.6 + '@aws-sdk/types': 3.974.3 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -2973,6 +2984,18 @@ snapshots: '@smithy/types': 4.17.0 tslib: 2.8.1 + '@aws-sdk/client-rds@3.1110.0': + dependencies: + '@aws-sdk/core': 3.977.7 + '@aws-sdk/credential-provider-node': 3.972.79 + '@aws-sdk/middleware-sdk-rds': 3.972.56 + '@aws-sdk/types': 3.974.3 + '@smithy/core': 3.32.0 + '@smithy/fetch-http-handler': 5.7.0 + '@smithy/node-http-handler': 4.10.0 + '@smithy/types': 4.17.0 + tslib: 2.8.1 + '@aws-sdk/client-s3@3.1109.0': dependencies: '@aws-sdk/checksums': 3.1000.27 @@ -3113,6 +3136,15 @@ snapshots: '@smithy/types': 4.17.0 tslib: 2.8.1 + '@aws-sdk/middleware-sdk-rds@3.972.56': + dependencies: + '@aws-sdk/core': 3.977.7 + '@aws-sdk/types': 3.974.3 + '@smithy/core': 3.32.0 + '@smithy/signature-v4': 5.7.0 + '@smithy/types': 4.17.0 + tslib: 2.8.1 + '@aws-sdk/middleware-sdk-s3@3.972.73': dependencies: '@aws-sdk/core': 3.977.7 diff --git a/spinifex/services/spinifexui/frontend/src/components/cli-command-panel.tsx b/spinifex/services/spinifexui/frontend/src/components/cli-command-panel.tsx index 1f38084fa..19a46433b 100644 --- a/spinifex/services/spinifexui/frontend/src/components/cli-command-panel.tsx +++ b/spinifex/services/spinifexui/frontend/src/components/cli-command-panel.tsx @@ -30,6 +30,37 @@ const partStyles: Record = { variable: "text-tactical-green font-semibold", } +// Stands in for a value the form has not been given yet, so the panel shows the +// shape of the command rather than one missing a flag's argument. +export function cliPlaceholder(value: string, name: string): string { + return value.length > 0 ? value : `<${name}>` +} + +export function commandFlag( + flag: string, + value: string | number, +): CommandPart[] { + return [ + { type: "flag", value: ` ${flag}` }, + { type: "value", value: ` ${value}` }, + ] +} + +// A flag the form leaves unset is omitted rather than sent empty. A boolean is +// the bare flag, so `true` emits it and `false` emits nothing. +export function optionalFlag( + flag: string, + value: string | number | boolean | undefined, +): CommandPart[] { + if (value === undefined || value === "" || value === false) { + return [] + } + if (value === true) { + return [{ type: "flag", value: ` ${flag}` }] + } + return commandFlag(flag, value) +} + export function partsToText(commands: CliCommand[]): string { return commands .map((cmd) => cmd.parts.map((p) => p.value).join("")) diff --git a/spinifex/services/spinifexui/frontend/src/components/elbv2/tags-editor.tsx b/spinifex/services/spinifexui/frontend/src/components/elbv2/tags-editor.tsx index 3dbe38b28..23fec300e 100644 --- a/spinifex/services/spinifexui/frontend/src/components/elbv2/tags-editor.tsx +++ b/spinifex/services/spinifexui/frontend/src/components/elbv2/tags-editor.tsx @@ -1,10 +1,16 @@ -import type { Tag } from "@aws-sdk/client-elastic-load-balancing-v2" import { Plus, Trash2 } from "lucide-react" import { useMemo, useState } from "react" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" +// Structural rather than one SDK's Tag: ELBv2 and RDS declare the same shape in +// their own packages, and the editor works against either. +interface Tag { + Key?: string + Value?: string +} + interface TagRow { // Stable id so React keys survive key/value edits and row removal. id: number diff --git a/spinifex/services/spinifexui/frontend/src/components/error-banner.test.tsx b/spinifex/services/spinifexui/frontend/src/components/error-banner.test.tsx index 252daea60..0c71f4235 100644 --- a/spinifex/services/spinifexui/frontend/src/components/error-banner.test.tsx +++ b/spinifex/services/spinifexui/frontend/src/components/error-banner.test.tsx @@ -15,11 +15,17 @@ describe("ErrorBanner", () => { expect(screen.getByText("connection refused")).toBeInTheDocument() }) - it("renders error.name when it is a custom error type", () => { + it("renders both the name and the message of a custom error type", () => { const error = new TypeError("invalid type") render() + expect(screen.getByText("TypeError: invalid type")).toBeInTheDocument() + }) + + it("falls back to the name when a custom error carries no message", () => { + const error = new TypeError("placeholder") + error.message = "" + render() expect(screen.getByText("TypeError")).toBeInTheDocument() - expect(screen.queryByText("invalid type")).not.toBeInTheDocument() }) it("renders both msg and error together", () => { diff --git a/spinifex/services/spinifexui/frontend/src/components/error-banner.tsx b/spinifex/services/spinifexui/frontend/src/components/error-banner.tsx index 655a58d6d..b1982e1e3 100644 --- a/spinifex/services/spinifexui/frontend/src/components/error-banner.tsx +++ b/spinifex/services/spinifexui/frontend/src/components/error-banner.tsx @@ -1,7 +1,15 @@ export function ErrorBanner({ msg, error }: { msg?: string; error?: Error }) { let errorText: string | undefined if (error) { - errorText = error.name === "Error" ? error.message : error.name + // A modelled AWS fault carries the reason in the message and only the code + // in the name, so dropping either leaves the user without the half that + // says which parameter was refused and why. + if (error.name === "Error") { + errorText = error.message + } else { + errorText = + error.message === "" ? error.name : `${error.name}: ${error.message}` + } } return ( diff --git a/spinifex/services/spinifexui/frontend/src/components/state-badge.tsx b/spinifex/services/spinifexui/frontend/src/components/state-badge.tsx index 0cf75b110..f7ab2b382 100644 --- a/spinifex/services/spinifexui/frontend/src/components/state-badge.tsx +++ b/spinifex/services/spinifexui/frontend/src/components/state-badge.tsx @@ -1,8 +1,30 @@ import { cn } from "@/lib/utils" -const SUCCESS_STATES = new Set(["running", "available", "completed", "Active"]) -const ERROR_STATES = new Set(["stopped", "error"]) -const WARNING_STATES = new Set(["pending", "shutting-down", "stopping"]) +// "Complete" is the only status an RDS subnet group ever reports, and it is +// capitalised where every other settled state is not. +const SUCCESS_STATES = new Set([ + "running", + "available", + "completed", + "Complete", + "Active", +]) +// "stopped" stays an error state because EC2 reads it that way. RDS treats a +// stopped instance as a normal resting state, so its badge is redder than the +// state warrants; splitting the map by service is its own change. +const ERROR_STATES = new Set(["stopped", "error", "failed"]) +const WARNING_STATES = new Set([ + "pending", + "shutting-down", + "stopping", + "creating", + "modifying", + "backing-up", + "rebooting", + "starting", + "recovering", + "deleting", +]) function getStateClass(state: string | undefined): string { if (state && SUCCESS_STATES.has(state)) { diff --git a/spinifex/services/spinifexui/frontend/src/layouts/sidebar-layout.tsx b/spinifex/services/spinifexui/frontend/src/layouts/sidebar-layout.tsx index 8739fdc3c..52b37c402 100644 --- a/spinifex/services/spinifexui/frontend/src/layouts/sidebar-layout.tsx +++ b/spinifex/services/spinifexui/frontend/src/layouts/sidebar-layout.tsx @@ -7,6 +7,7 @@ import { Camera, Container, Crosshair, + Database, FileStack, Globe, HardDrive, @@ -25,6 +26,7 @@ import { Server, Shield, ShieldCheck, + SlidersHorizontal, UserCog, Users, UsersRound, @@ -392,6 +394,73 @@ export function SidebarLayout() { + + RDS + + + + + + Databases + + + + + + + + + Snapshots + + + + + + + + + Subnet Groups + + + + + + + + + Parameter Groups + + + + + + IAM diff --git a/spinifex/services/spinifexui/frontend/src/lib/awsClient.ts b/spinifex/services/spinifexui/frontend/src/lib/awsClient.ts index 98e2727a1..b9fa819f5 100644 --- a/spinifex/services/spinifexui/frontend/src/lib/awsClient.ts +++ b/spinifex/services/spinifexui/frontend/src/lib/awsClient.ts @@ -5,6 +5,7 @@ import { ECSClient } from "@aws-sdk/client-ecs" import { EKSClient } from "@aws-sdk/client-eks" import { ElasticLoadBalancingV2Client } from "@aws-sdk/client-elastic-load-balancing-v2" import { IAMClient } from "@aws-sdk/client-iam" +import { RDSClient } from "@aws-sdk/client-rds" import { S3Client } from "@aws-sdk/client-s3" import { HttpRequest } from "@smithy/protocol-http" @@ -26,6 +27,7 @@ let iamClient: IAMClient | null = null let s3Client: S3Client | null = null let ecrClient: ECRClient | null = null let ecsClient: ECSClient | null = null +let rdsClient: RDSClient | null = null export function getEc2Client(): EC2Client { if (!ec2Client) { @@ -237,6 +239,36 @@ export function getEcsClient(): ECSClient { return ecsClient } +export function getRdsClient(): RDSClient { + if (!rdsClient) { + const credentials = getCredentials() + if (!credentials) { + throw new Error("AWS credentials not configured") + } + rdsClient = new RDSClient({ + endpoint: AWSGW_SIGN_ENDPOINT, + region: getRegion(), + credentials: { + accessKeyId: credentials.accessKeyId, + secretAccessKey: credentials.secretAccessKey, + sessionToken: credentials.sessionToken, + }, + }) + rdsClient.middlewareStack.add( + (next) => async (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 await next(args) + }, + { step: "finalizeRequest", name: "proxyRewrite", override: true }, + ) + } + return rdsClient +} + export function getS3Client(): S3Client { if (!s3Client) { const credentials = getCredentials() @@ -294,4 +326,5 @@ export function clearClients(): void { s3Client = null ecrClient = null ecsClient = null + rdsClient = null } diff --git a/spinifex/services/spinifexui/frontend/src/lib/system-managed.ts b/spinifex/services/spinifexui/frontend/src/lib/system-managed.ts index 370373a4d..1e22c2fc8 100644 --- a/spinifex/services/spinifexui/frontend/src/lib/system-managed.ts +++ b/spinifex/services/spinifexui/frontend/src/lib/system-managed.ts @@ -36,3 +36,34 @@ export function isEcsSystemImage(image: Image): boolean { ) ?? false ) } + +// Tag value identifying an RDS engine image, applied by +// `spx admin images import --name spinifex-rds-`. +export const RDS_SYSTEM_IMAGE_TAG_VALUE = "rds" + +// RDS launch resolves images by these tags rather than by image name. +export const RDS_ENGINE_TAG_KEY = "engine" +export const RDS_ENGINE_VERSION_TAG_KEY = "engine-version" +export const RDS_DATA_VOLUME_CONTRACT_TAG_KEY = "rds-data-volume-contract" +export const RDS_DATA_VOLUME_CONTRACT_TAG_VALUE = "format-auth-v1" + +export function isRdsSystemImage( + image: Image, + engine: string, + engineVersion: string, +): boolean { + const tags = image.Tags ?? [] + const hasTag = (key: string, value: string) => + tags.some((tag) => tag.Key === key && tag.Value === value) + + return ( + hasTag(SYSTEM_MANAGED_TAG_KEY, RDS_SYSTEM_IMAGE_TAG_VALUE) && + hasTag(RDS_ENGINE_TAG_KEY, engine) && + hasTag(RDS_ENGINE_VERSION_TAG_KEY, engineVersion) && + hasTag(RDS_DATA_VOLUME_CONTRACT_TAG_KEY, RDS_DATA_VOLUME_CONTRACT_TAG_VALUE) + ) +} + +export function rdsImportCommand(engine: string): string { + return `spx admin images import --name spinifex-rds-${engine}` +} diff --git a/spinifex/services/spinifexui/frontend/src/lib/utils.ts b/spinifex/services/spinifexui/frontend/src/lib/utils.ts index c046c0bc1..6a67624dc 100644 --- a/spinifex/services/spinifexui/frontend/src/lib/utils.ts +++ b/spinifex/services/spinifexui/frontend/src/lib/utils.ts @@ -42,6 +42,16 @@ export function getNameTag( return tags?.find((t) => t.Key === "Name")?.Value } +// A security group's name is optional on the wire, so it is appended only when +// there is one rather than rendered as "sg-0abc123 (undefined)". +export function securityGroupLabel(group: { + GroupId?: string + GroupName?: string +}): string { + const id = group.GroupId ?? "" + return group.GroupName ? `${id} (${group.GroupName})` : id +} + const TRAILING_SLASH_REGEX = /\/$/ export function removeTrailingSlash(path: string): string { diff --git a/spinifex/services/spinifexui/frontend/src/mutations/rds.test.tsx b/spinifex/services/spinifexui/frontend/src/mutations/rds.test.tsx new file mode 100644 index 000000000..24b23b43c --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/mutations/rds.test.tsx @@ -0,0 +1,498 @@ +import { QueryClient, QueryClientProvider } from "@tanstack/react-query" +import { renderHook, waitFor } from "@testing-library/react" +import type { ReactNode } from "react" +import { describe, expect, it, vi } from "vitest" + +const mockSend = vi.fn().mockResolvedValue({}) + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: mockSend }), +})) + +import type { + CreateDBInstanceFormData, + RestoreDBInstanceFormData, +} from "@/types/rds" + +import { + useCreateDBInstance, + useCreateDBParameterGroup, + useCreateDBSnapshot, + useCreateDBSubnetGroup, + useDeleteDBInstance, + useDeleteDBParameterGroup, + useDeleteDBSnapshot, + useDeleteDBSubnetGroup, + useModifyDBInstance, + useModifyDBParameterGroup, + useRebootDBInstance, + useRestoreDBInstanceFromDBSnapshot, + useStartDBInstance, + useStopDBInstance, + useUpdateRdsTags, +} from "./rds" + +let queryClient: QueryClient + +function wrapper({ children }: { children: ReactNode }) { + return ( + {children} + ) +} + +function createQueryClient() { + queryClient = new QueryClient({ + defaultOptions: { + queries: { retry: false }, + mutations: { retry: false }, + }, + }) + return queryClient +} + +const CREATE_FORM: CreateDBInstanceFormData = { + dbInstanceIdentifier: "orders-db", + engine: "postgres", + engineVersion: "18", + dbInstanceClass: "db.t3.micro", + allocatedStorage: 20, + masterUsername: "dbadmin", + masterUserPassword: "sup3rsecret", + confirmPassword: "sup3rsecret", + dbName: "orders", + port: "", + dbSubnetGroupName: "", + vpcSecurityGroupIds: [], + dbParameterGroupName: "", + deletionProtection: false, + backupRetentionPeriod: 7, + preferredBackupWindow: "", + preferredMaintenanceWindow: "", + tags: [], +} + +describe("useCreateDBInstance", () => { + it("sends CreateDBInstanceCommand with the form values", async () => { + createQueryClient() + const { result } = renderHook(() => useCreateDBInstance(), { wrapper }) + + result.current.mutate(CREATE_FORM) + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + const input = mockSend.mock.calls[0]?.[0].input + expect(input.DBInstanceIdentifier).toBe("orders-db") + expect(input.Engine).toBe("postgres") + expect(input.DBInstanceClass).toBe("db.t3.micro") + expect(input.AllocatedStorage).toBe(20) + expect(input.MasterUsername).toBe("dbadmin") + expect(input.DBName).toBe("orders") + expect(input.BackupRetentionPeriod).toBe(7) + }) + + it("omits an empty port so the engine default applies", async () => { + createQueryClient() + const { result } = renderHook(() => useCreateDBInstance(), { wrapper }) + + result.current.mutate(CREATE_FORM) + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + expect(mockSend.mock.calls[0]?.[0].input.Port).toBeUndefined() + }) + + it("sends a port when one was typed", async () => { + createQueryClient() + const { result } = renderHook(() => useCreateDBInstance(), { wrapper }) + + result.current.mutate({ ...CREATE_FORM, port: "5555" }) + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + expect(mockSend.mock.calls[0]?.[0].input.Port).toBe(5555) + }) + + it("omits empty optional strings rather than sending blanks", async () => { + createQueryClient() + const { result } = renderHook(() => useCreateDBInstance(), { wrapper }) + + result.current.mutate({ ...CREATE_FORM, dbName: "", engineVersion: "" }) + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + const input = mockSend.mock.calls[0]?.[0].input + expect(input.DBName).toBeUndefined() + expect(input.EngineVersion).toBeUndefined() + expect(input.DBSubnetGroupName).toBeUndefined() + expect(input.VpcSecurityGroupIds).toBeUndefined() + expect(input.Tags).toBeUndefined() + }) +}) + +describe("useModifyDBInstance", () => { + it("sends ModifyDBInstanceCommand with the identifier and ApplyImmediately", async () => { + createQueryClient() + const { result } = renderHook(() => useModifyDBInstance(), { wrapper }) + + result.current.mutate({ + dbInstanceIdentifier: "orders-db", + currentAllocatedStorage: 20, + dbInstanceClass: "db.t3.small", + allocatedStorage: 40, + dbParameterGroupName: "custom-pg", + vpcSecurityGroupIds: ["sg-1"], + deletionProtection: true, + backupRetentionPeriod: 3, + preferredBackupWindow: "", + preferredMaintenanceWindow: "", + masterUserPassword: "", + applyImmediately: true, + }) + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + const input = mockSend.mock.calls[0]?.[0].input + expect(input.DBInstanceIdentifier).toBe("orders-db") + expect(input.DBInstanceClass).toBe("db.t3.small") + expect(input.AllocatedStorage).toBe(40) + expect(input.ApplyImmediately).toBeTruthy() + // An unset password must not be sent as an empty reset. + expect(input.MasterUserPassword).toBeUndefined() + }) +}) + +describe("useDeleteDBInstance", () => { + it("sends a final snapshot identifier by default", async () => { + createQueryClient() + const { result } = renderHook(() => useDeleteDBInstance(), { wrapper }) + + result.current.mutate({ + dbInstanceIdentifier: "orders-db", + skipFinalSnapshot: false, + finalSnapshotIdentifier: "orders-db-final-20260817-1200", + }) + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + const input = mockSend.mock.calls[0]?.[0].input + expect(input.SkipFinalSnapshot).toBeFalsy() + expect(input.FinalDBSnapshotIdentifier).toBe( + "orders-db-final-20260817-1200", + ) + }) + + it("drops the snapshot identifier when the final snapshot is skipped", async () => { + createQueryClient() + const { result } = renderHook(() => useDeleteDBInstance(), { wrapper }) + + result.current.mutate({ + dbInstanceIdentifier: "orders-db", + skipFinalSnapshot: true, + finalSnapshotIdentifier: "orders-db-final-20260817-1200", + }) + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + const input = mockSend.mock.calls[0]?.[0].input + expect(input.SkipFinalSnapshot).toBeTruthy() + expect(input.FinalDBSnapshotIdentifier).toBeUndefined() + }) +}) + +describe("rds lifecycle mutations", () => { + it.each([ + ["start", useStartDBInstance], + ["stop", useStopDBInstance], + ["reboot", useRebootDBInstance], + ])("%s sends the instance identifier", async (_name, useHook) => { + createQueryClient() + const { result } = renderHook(() => useHook(), { wrapper }) + + result.current.mutate("orders-db") + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({ + DBInstanceIdentifier: "orders-db", + }) + }) +}) + +describe("useUpdateRdsTags", () => { + it("adds the final set and removes the keys that went away", async () => { + createQueryClient() + const { result } = renderHook(() => useUpdateRdsTags(), { wrapper }) + + result.current.mutate({ + resourceName: "arn:db", + tags: [{ key: "env", value: "prod" }], + initialKeys: ["env", "owner"], + }) + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({ + ResourceName: "arn:db", + Tags: [{ Key: "env", Value: "prod" }], + }) + expect(mockSend.mock.calls[1]?.[0].input).toStrictEqual({ + ResourceName: "arn:db", + TagKeys: ["owner"], + }) + }) + + it("skips both calls when there is nothing to do", async () => { + createQueryClient() + const { result } = renderHook(() => useUpdateRdsTags(), { wrapper }) + + result.current.mutate({ + resourceName: "arn:db", + tags: [], + initialKeys: [], + }) + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + expect(mockSend).not.toHaveBeenCalled() + }) +}) + +describe("useCreateDBSubnetGroup", () => { + it("sends the name, description and subnets", async () => { + createQueryClient() + const { result } = renderHook(() => useCreateDBSubnetGroup(), { wrapper }) + + result.current.mutate({ + dbSubnetGroupName: "orders-subnets", + dbSubnetGroupDescription: "Private subnets", + subnetIds: ["subnet-1", "subnet-2"], + tags: [{ key: "env", value: "prod" }], + }) + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + const input = mockSend.mock.calls[0]?.[0].input + expect(input.DBSubnetGroupName).toBe("orders-subnets") + expect(input.DBSubnetGroupDescription).toBe("Private subnets") + expect(input.SubnetIds).toStrictEqual(["subnet-1", "subnet-2"]) + expect(input.Tags).toStrictEqual([{ Key: "env", Value: "prod" }]) + }) + + it("omits an empty tag set rather than sending a blank list", async () => { + createQueryClient() + const { result } = renderHook(() => useCreateDBSubnetGroup(), { wrapper }) + + result.current.mutate({ + dbSubnetGroupName: "orders-subnets", + dbSubnetGroupDescription: "Private subnets", + subnetIds: ["subnet-1"], + tags: [], + }) + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + expect(mockSend.mock.calls[0]?.[0].input.Tags).toBeUndefined() + }) +}) + +describe("useCreateDBParameterGroup", () => { + it("sends the name, family and description", async () => { + createQueryClient() + const { result } = renderHook(() => useCreateDBParameterGroup(), { + wrapper, + }) + + result.current.mutate({ + dbParameterGroupName: "orders-pg", + dbParameterGroupFamily: "postgres18", + description: "Tuned settings", + tags: [], + }) + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + const input = mockSend.mock.calls[0]?.[0].input + expect(input.DBParameterGroupName).toBe("orders-pg") + expect(input.DBParameterGroupFamily).toBe("postgres18") + expect(input.Description).toBe("Tuned settings") + }) +}) + +describe("useModifyDBParameterGroup", () => { + it("sends every edit in one request", async () => { + createQueryClient() + const { result } = renderHook(() => useModifyDBParameterGroup(), { + wrapper, + }) + + result.current.mutate({ + dbParameterGroupName: "orders-pg", + parameters: [ + { + name: "max_connections", + value: "200", + applyMethod: "pending-reboot", + }, + { + name: "log_min_duration_statement", + value: "500", + applyMethod: "immediate", + }, + ], + }) + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + expect(mockSend).toHaveBeenCalledOnce() + const input = mockSend.mock.calls[0]?.[0].input + expect(input.DBParameterGroupName).toBe("orders-pg") + expect(input.Parameters).toStrictEqual([ + { + ParameterName: "max_connections", + ParameterValue: "200", + ApplyMethod: "pending-reboot", + }, + { + ParameterName: "log_min_duration_statement", + ParameterValue: "500", + ApplyMethod: "immediate", + }, + ]) + }) +}) + +describe("useCreateDBSnapshot", () => { + it("sends the snapshot name, the instance and its tags", async () => { + createQueryClient() + const { result } = renderHook(() => useCreateDBSnapshot(), { wrapper }) + + result.current.mutate({ + dbSnapshotIdentifier: "orders-db-snapshot-20260817-1432", + dbInstanceIdentifier: "orders-db", + tags: [{ key: "env", value: "prod" }], + }) + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({ + DBSnapshotIdentifier: "orders-db-snapshot-20260817-1432", + DBInstanceIdentifier: "orders-db", + Tags: [{ Key: "env", Value: "prod" }], + }) + }) +}) + +describe("useDeleteDBSnapshot", () => { + it("sends the snapshot identifier", async () => { + createQueryClient() + const { result } = renderHook(() => useDeleteDBSnapshot(), { wrapper }) + + result.current.mutate("orders-db-snapshot-20260817-1432") + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({ + DBSnapshotIdentifier: "orders-db-snapshot-20260817-1432", + }) + }) +}) + +describe("useRestoreDBInstanceFromDBSnapshot", () => { + const RESTORE_FORM: RestoreDBInstanceFormData = { + snapshotAllocatedStorage: 20, + dbInstanceIdentifier: "orders-db-restored", + dbInstanceClass: "db.t3.small", + allocatedStorage: 40, + port: "", + dbSubnetGroupName: "", + vpcSecurityGroupIds: [], + dbParameterGroupName: "", + deletionProtection: false, + tags: [], + } + + it("sends the snapshot, the new identifier and the overrides", async () => { + createQueryClient() + const { result } = renderHook(() => useRestoreDBInstanceFromDBSnapshot(), { + wrapper, + }) + + result.current.mutate({ + ...RESTORE_FORM, + dbSnapshotIdentifier: "orders-db-snapshot-20260817-1432", + port: "5555", + dbSubnetGroupName: "db-subnets", + vpcSecurityGroupIds: ["sg-1"], + dbParameterGroupName: "orders-pg", + deletionProtection: true, + }) + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({ + DBInstanceIdentifier: "orders-db-restored", + DBSnapshotIdentifier: "orders-db-snapshot-20260817-1432", + DBInstanceClass: "db.t3.small", + AllocatedStorage: 40, + Port: 5555, + DBSubnetGroupName: "db-subnets", + VpcSecurityGroupIds: ["sg-1"], + DBParameterGroupName: "orders-pg", + DeletionProtection: true, + Tags: undefined, + }) + }) + + // Every one of these is either refused by the backend or read from the + // snapshot's datadir, so sending one would fail the restore or lie about it. + it("never sends the engine, the credentials or the database name", async () => { + createQueryClient() + const { result } = renderHook(() => useRestoreDBInstanceFromDBSnapshot(), { + wrapper, + }) + + result.current.mutate({ + ...RESTORE_FORM, + dbSnapshotIdentifier: "orders-db-snapshot-20260817-1432", + }) + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + const input = mockSend.mock.calls[0]?.[0].input + expect(input.Engine).toBeUndefined() + expect(input.EngineVersion).toBeUndefined() + expect(input.MasterUsername).toBeUndefined() + expect(input.MasterUserPassword).toBeUndefined() + expect(input.DBName).toBeUndefined() + expect(input.BackupRetentionPeriod).toBeUndefined() + expect(input.MultiAZ).toBeUndefined() + expect(input.PubliclyAccessible).toBeUndefined() + }) + + // An empty port means "keep the snapshot's", which is a field left off the + // request rather than a zero. + it("omits a blank port", async () => { + createQueryClient() + const { result } = renderHook(() => useRestoreDBInstanceFromDBSnapshot(), { + wrapper, + }) + + result.current.mutate({ + ...RESTORE_FORM, + dbSnapshotIdentifier: "orders-db-snapshot-20260817-1432", + }) + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + expect(mockSend.mock.calls[0]?.[0].input.Port).toBeUndefined() + }) +}) + +describe("rds group delete mutations", () => { + it("deleting a subnet group sends its name", async () => { + createQueryClient() + const { result } = renderHook(() => useDeleteDBSubnetGroup(), { wrapper }) + + result.current.mutate("orders-subnets") + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({ + DBSubnetGroupName: "orders-subnets", + }) + }) + + it("deleting a parameter group sends its name", async () => { + createQueryClient() + const { result } = renderHook(() => useDeleteDBParameterGroup(), { + wrapper, + }) + + result.current.mutate("orders-pg") + + await waitFor(() => expect(result.current.isSuccess).toBeTruthy()) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({ + DBParameterGroupName: "orders-pg", + }) + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/mutations/rds.ts b/spinifex/services/spinifexui/frontend/src/mutations/rds.ts new file mode 100644 index 000000000..ac5312135 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/mutations/rds.ts @@ -0,0 +1,393 @@ +import { + type Tag, + AddTagsToResourceCommand, + CreateDBInstanceCommand, + CreateDBParameterGroupCommand, + CreateDBSnapshotCommand, + CreateDBSubnetGroupCommand, + DeleteDBInstanceCommand, + DeleteDBParameterGroupCommand, + DeleteDBSnapshotCommand, + DeleteDBSubnetGroupCommand, + ModifyDBInstanceCommand, + ModifyDBParameterGroupCommand, + RebootDBInstanceCommand, + RemoveTagsFromResourceCommand, + RestoreDBInstanceFromDBSnapshotCommand, + StartDBInstanceCommand, + StopDBInstanceCommand, +} from "@aws-sdk/client-rds" +import { useMutation, useQueryClient } from "@tanstack/react-query" + +import { getRdsClient } from "@/lib/awsClient" +import type { + CreateDBInstanceFormData, + CreateDBParameterGroupFormData, + CreateDBSnapshotFormData, + CreateDBSubnetGroupFormData, + ModifyDBInstanceFormData, + ParameterUpdate, + RestoreDBInstanceFormData, +} from "@/types/rds" + +const DB_INSTANCES_KEY = ["rds", "dbInstances"] +const DB_SNAPSHOTS_KEY = ["rds", "dbSnapshots"] +const SUBNET_GROUPS_KEY = ["rds", "subnetGroups"] +const PARAMETER_GROUPS_KEY = ["rds", "parameterGroups"] + +// An optional string field is sent only when it carries something: the backend +// rejects several parameters on sight, and an empty string is still a value. +function optional(value: string): string | undefined { + return value.length > 0 ? value : undefined +} + +function toTags(tags: { key: string; value: string }[]): Tag[] | undefined { + const set = tags + .filter((t) => t.key.length > 0) + .map((t) => ({ Key: t.key, Value: t.value })) + return set.length > 0 ? set : undefined +} + +export function useCreateDBInstance() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: async (params: CreateDBInstanceFormData) => { + const command = new CreateDBInstanceCommand({ + DBInstanceIdentifier: params.dbInstanceIdentifier, + Engine: params.engine, + EngineVersion: optional(params.engineVersion), + DBInstanceClass: params.dbInstanceClass, + AllocatedStorage: params.allocatedStorage, + MasterUsername: params.masterUsername, + MasterUserPassword: params.masterUserPassword, + DBName: optional(params.dbName), + Port: params.port === "" ? undefined : Number(params.port), + DBSubnetGroupName: optional(params.dbSubnetGroupName), + VpcSecurityGroupIds: + params.vpcSecurityGroupIds.length > 0 + ? params.vpcSecurityGroupIds + : undefined, + DBParameterGroupName: optional(params.dbParameterGroupName), + DeletionProtection: params.deletionProtection, + BackupRetentionPeriod: params.backupRetentionPeriod, + PreferredBackupWindow: optional(params.preferredBackupWindow), + PreferredMaintenanceWindow: optional(params.preferredMaintenanceWindow), + Tags: toTags(params.tags), + }) + return await getRdsClient().send(command) + }, + onSuccess: () => { + void queryClient.invalidateQueries({ queryKey: DB_INSTANCES_KEY }) + }, + }) +} + +export interface ModifyDBInstanceParams extends ModifyDBInstanceFormData { + dbInstanceIdentifier: string +} + +export function useModifyDBInstance() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: async (params: ModifyDBInstanceParams) => { + const command = new ModifyDBInstanceCommand({ + DBInstanceIdentifier: params.dbInstanceIdentifier, + DBInstanceClass: params.dbInstanceClass, + AllocatedStorage: params.allocatedStorage, + DBParameterGroupName: optional(params.dbParameterGroupName), + VpcSecurityGroupIds: params.vpcSecurityGroupIds, + DeletionProtection: params.deletionProtection, + BackupRetentionPeriod: params.backupRetentionPeriod, + PreferredBackupWindow: optional(params.preferredBackupWindow), + PreferredMaintenanceWindow: optional(params.preferredMaintenanceWindow), + MasterUserPassword: optional(params.masterUserPassword), + ApplyImmediately: params.applyImmediately, + }) + return await getRdsClient().send(command) + }, + onSuccess: () => { + void queryClient.invalidateQueries({ queryKey: DB_INSTANCES_KEY }) + }, + }) +} + +export interface DeleteDBInstanceParams { + dbInstanceIdentifier: string + skipFinalSnapshot: boolean + finalSnapshotIdentifier?: string +} + +export function useDeleteDBInstance() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: async (params: DeleteDBInstanceParams) => { + const command = new DeleteDBInstanceCommand({ + DBInstanceIdentifier: params.dbInstanceIdentifier, + SkipFinalSnapshot: params.skipFinalSnapshot, + FinalDBSnapshotIdentifier: params.skipFinalSnapshot + ? undefined + : params.finalSnapshotIdentifier, + }) + return await getRdsClient().send(command) + }, + onSuccess: () => { + void queryClient.invalidateQueries({ queryKey: DB_INSTANCES_KEY }) + }, + }) +} + +export function useStartDBInstance() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: async (dbInstanceIdentifier: string) => { + const command = new StartDBInstanceCommand({ + DBInstanceIdentifier: dbInstanceIdentifier, + }) + return await getRdsClient().send(command) + }, + onSuccess: () => { + void queryClient.invalidateQueries({ queryKey: DB_INSTANCES_KEY }) + }, + }) +} + +export function useStopDBInstance() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: async (dbInstanceIdentifier: string) => { + const command = new StopDBInstanceCommand({ + DBInstanceIdentifier: dbInstanceIdentifier, + }) + return await getRdsClient().send(command) + }, + onSuccess: () => { + void queryClient.invalidateQueries({ queryKey: DB_INSTANCES_KEY }) + }, + }) +} + +export function useRebootDBInstance() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: async (dbInstanceIdentifier: string) => { + const command = new RebootDBInstanceCommand({ + DBInstanceIdentifier: dbInstanceIdentifier, + }) + return await getRdsClient().send(command) + }, + onSuccess: () => { + void queryClient.invalidateQueries({ queryKey: DB_INSTANCES_KEY }) + }, + }) +} + +export interface CreateDBSnapshotParams extends CreateDBSnapshotFormData { + dbInstanceIdentifier: string +} + +export function useCreateDBSnapshot() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: async (params: CreateDBSnapshotParams) => { + const command = new CreateDBSnapshotCommand({ + DBSnapshotIdentifier: params.dbSnapshotIdentifier, + DBInstanceIdentifier: params.dbInstanceIdentifier, + Tags: toTags(params.tags), + }) + return await getRdsClient().send(command) + }, + onSuccess: () => { + void queryClient.invalidateQueries({ queryKey: DB_SNAPSHOTS_KEY }) + // The instance passes through backing-up for the length of the snapshot, + // so its own views are stale the moment this returns. + void queryClient.invalidateQueries({ queryKey: DB_INSTANCES_KEY }) + }, + }) +} + +export function useDeleteDBSnapshot() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: async (dbSnapshotIdentifier: string) => { + const command = new DeleteDBSnapshotCommand({ + DBSnapshotIdentifier: dbSnapshotIdentifier, + }) + return await getRdsClient().send(command) + }, + onSuccess: () => { + void queryClient.invalidateQueries({ queryKey: DB_SNAPSHOTS_KEY }) + }, + }) +} + +export interface RestoreDBInstanceParams extends RestoreDBInstanceFormData { + dbSnapshotIdentifier: string +} + +// The engine, master credentials and initial database are the snapshot's and +// are never sent: the restore starts on its datadir, which already holds them. +export function useRestoreDBInstanceFromDBSnapshot() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: async (params: RestoreDBInstanceParams) => { + const command = new RestoreDBInstanceFromDBSnapshotCommand({ + DBInstanceIdentifier: params.dbInstanceIdentifier, + DBSnapshotIdentifier: params.dbSnapshotIdentifier, + DBInstanceClass: params.dbInstanceClass, + AllocatedStorage: params.allocatedStorage, + Port: params.port === "" ? undefined : Number(params.port), + DBSubnetGroupName: optional(params.dbSubnetGroupName), + VpcSecurityGroupIds: + params.vpcSecurityGroupIds.length > 0 + ? params.vpcSecurityGroupIds + : undefined, + DBParameterGroupName: optional(params.dbParameterGroupName), + DeletionProtection: params.deletionProtection, + Tags: toTags(params.tags), + }) + return await getRdsClient().send(command) + }, + onSuccess: () => { + void queryClient.invalidateQueries({ queryKey: DB_INSTANCES_KEY }) + }, + }) +} + +export function useCreateDBSubnetGroup() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: async (params: CreateDBSubnetGroupFormData) => { + const command = new CreateDBSubnetGroupCommand({ + DBSubnetGroupName: params.dbSubnetGroupName, + DBSubnetGroupDescription: params.dbSubnetGroupDescription, + SubnetIds: params.subnetIds, + Tags: toTags(params.tags), + }) + return await getRdsClient().send(command) + }, + onSuccess: () => { + void queryClient.invalidateQueries({ queryKey: SUBNET_GROUPS_KEY }) + }, + }) +} + +export function useDeleteDBSubnetGroup() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: async (dbSubnetGroupName: string) => { + const command = new DeleteDBSubnetGroupCommand({ + DBSubnetGroupName: dbSubnetGroupName, + }) + return await getRdsClient().send(command) + }, + onSuccess: () => { + void queryClient.invalidateQueries({ queryKey: SUBNET_GROUPS_KEY }) + }, + }) +} + +export function useCreateDBParameterGroup() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: async (params: CreateDBParameterGroupFormData) => { + const command = new CreateDBParameterGroupCommand({ + DBParameterGroupName: params.dbParameterGroupName, + DBParameterGroupFamily: params.dbParameterGroupFamily, + Description: params.description, + Tags: toTags(params.tags), + }) + return await getRdsClient().send(command) + }, + onSuccess: () => { + void queryClient.invalidateQueries({ queryKey: PARAMETER_GROUPS_KEY }) + }, + }) +} + +export interface ModifyDBParameterGroupParams { + dbParameterGroupName: string + parameters: ParameterUpdate[] +} + +// One call, never several: each ModifyDBParameterGroup is atomic on its own, so +// a save split across requests could fail partway and leave the group holding +// half the edit with nothing in the API saying so. The form enforces the cap. +export function useModifyDBParameterGroup() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: async (params: ModifyDBParameterGroupParams) => { + const command = new ModifyDBParameterGroupCommand({ + DBParameterGroupName: params.dbParameterGroupName, + Parameters: params.parameters.map((p) => ({ + ParameterName: p.name, + ParameterValue: p.value, + ApplyMethod: p.applyMethod, + })), + }) + return await getRdsClient().send(command) + }, + onSuccess: (_data, params) => { + void queryClient.invalidateQueries({ + queryKey: ["rds", "parameters", params.dbParameterGroupName], + }) + // A modify propagates to every attached instance, moving its + // ParameterApplyStatus, so the instance views are stale too. + void queryClient.invalidateQueries({ queryKey: DB_INSTANCES_KEY }) + }, + }) +} + +export function useDeleteDBParameterGroup() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: async (dbParameterGroupName: string) => { + const command = new DeleteDBParameterGroupCommand({ + DBParameterGroupName: dbParameterGroupName, + }) + return await getRdsClient().send(command) + }, + onSuccess: () => { + void queryClient.invalidateQueries({ queryKey: PARAMETER_GROUPS_KEY }) + }, + }) +} + +export interface UpdateRdsTagsParams { + resourceName: string + tags: { key: string; value: string }[] + initialKeys: string[] +} + +// Reconciles a DB instance's tags to the desired set: AddTagsToResource +// overwrites the final tags and RemoveTagsFromResource drops the keys that went +// away. Either call is skipped when it has no work. +export function useUpdateRdsTags() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: async (params: UpdateRdsTagsParams) => { + const finalKeys = new Set(params.tags.map((t) => t.key)) + const toRemove = params.initialKeys.filter((k) => !finalKeys.has(k)) + const client = getRdsClient() + + if (params.tags.length > 0) { + await client.send( + new AddTagsToResourceCommand({ + ResourceName: params.resourceName, + Tags: params.tags.map((t) => ({ Key: t.key, Value: t.value })), + }), + ) + } + if (toRemove.length > 0) { + await client.send( + new RemoveTagsFromResourceCommand({ + ResourceName: params.resourceName, + TagKeys: toRemove, + }), + ) + } + }, + onSuccess: () => { + void queryClient.invalidateQueries({ queryKey: ["rds", "tags"] }) + }, + }) +} diff --git a/spinifex/services/spinifexui/frontend/src/queries/rds.test.ts b/spinifex/services/spinifexui/frontend/src/queries/rds.test.ts new file mode 100644 index 000000000..40a7825b6 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/queries/rds.test.ts @@ -0,0 +1,346 @@ +import { describe, expect, it, vi } from "vitest" + +const mockSend = vi.fn() + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: mockSend }), +})) + +import { + rdsAutomatedBackupsQueryOptions, + rdsDBInstanceQueryOptions, + rdsDBInstancesQueryOptions, + rdsDBSnapshotQueryOptions, + rdsDBSnapshotsQueryOptions, + rdsEngineVersionsQueryOptions, + rdsEventsQueryOptions, + rdsInstanceDBSnapshotsQueryOptions, + rdsOrderableOptionsQueryOptions, + rdsParameterGroupQueryOptions, + rdsParameterGroupsQueryOptions, + rdsParametersQueryOptions, + rdsSnapshotEventsQueryOptions, + rdsSubnetGroupQueryOptions, + rdsSubnetGroupsQueryOptions, + rdsTagsQueryOptions, +} from "./rds" + +describe("rds query keys", () => { + it("rdsDBInstancesQueryOptions has correct key", () => { + expect(rdsDBInstancesQueryOptions.queryKey).toStrictEqual([ + "rds", + "dbInstances", + ]) + }) + + it("rdsDBInstanceQueryOptions includes the identifier", () => { + expect(rdsDBInstanceQueryOptions("orders-db").queryKey).toStrictEqual([ + "rds", + "dbInstances", + "orders-db", + ]) + }) + + it("rdsSubnetGroupsQueryOptions has correct key", () => { + expect(rdsSubnetGroupsQueryOptions.queryKey).toStrictEqual([ + "rds", + "subnetGroups", + ]) + }) + + it("rdsParameterGroupsQueryOptions has correct key", () => { + expect(rdsParameterGroupsQueryOptions.queryKey).toStrictEqual([ + "rds", + "parameterGroups", + ]) + }) + + it("rdsSubnetGroupQueryOptions includes the group name", () => { + expect(rdsSubnetGroupQueryOptions("orders-subnets").queryKey).toStrictEqual( + ["rds", "subnetGroups", "orders-subnets"], + ) + }) + + it("rdsParameterGroupQueryOptions includes the group name", () => { + expect(rdsParameterGroupQueryOptions("orders-pg").queryKey).toStrictEqual([ + "rds", + "parameterGroups", + "orders-pg", + ]) + }) + + it("rdsParametersQueryOptions includes the group name", () => { + expect(rdsParametersQueryOptions("orders-pg").queryKey).toStrictEqual([ + "rds", + "parameters", + "orders-pg", + ]) + }) + + it("rdsEventsQueryOptions includes the source type and identifier", () => { + expect(rdsEventsQueryOptions("orders-db").queryKey).toStrictEqual([ + "rds", + "events", + "db-instance", + "orders-db", + ]) + }) + + // The two rings are separate on the backend, so the keys have to be too: a + // snapshot and the instance it came from can share an identifier. + it("rdsSnapshotEventsQueryOptions keys off the snapshot source type", () => { + expect(rdsSnapshotEventsQueryOptions("orders-db").queryKey).toStrictEqual([ + "rds", + "events", + "db-snapshot", + "orders-db", + ]) + }) + + it("rdsDBSnapshotsQueryOptions has correct key", () => { + expect(rdsDBSnapshotsQueryOptions.queryKey).toStrictEqual([ + "rds", + "dbSnapshots", + ]) + }) + + it("rdsDBSnapshotQueryOptions includes the snapshot identifier", () => { + expect(rdsDBSnapshotQueryOptions("orders-snap").queryKey).toStrictEqual([ + "rds", + "dbSnapshots", + "orders-snap", + ]) + }) + + it("rdsInstanceDBSnapshotsQueryOptions nests under the list key", () => { + expect( + rdsInstanceDBSnapshotsQueryOptions("orders-db").queryKey, + ).toStrictEqual(["rds", "dbSnapshots", "instance", "orders-db"]) + }) + + it("rdsAutomatedBackupsQueryOptions includes the instance identifier", () => { + expect(rdsAutomatedBackupsQueryOptions("orders-db").queryKey).toStrictEqual( + ["rds", "automatedBackups", "orders-db"], + ) + }) + + it("rdsTagsQueryOptions includes the resource name", () => { + expect(rdsTagsQueryOptions("arn:db").queryKey).toStrictEqual([ + "rds", + "tags", + "arn:db", + ]) + }) + + it("rdsEngineVersionsQueryOptions has correct key", () => { + expect(rdsEngineVersionsQueryOptions.queryKey).toStrictEqual([ + "rds", + "engineVersions", + ]) + }) + + it("rdsOrderableOptionsQueryOptions includes the engine", () => { + expect(rdsOrderableOptionsQueryOptions("postgres").queryKey).toStrictEqual([ + "rds", + "orderableOptions", + "postgres", + ]) + }) +}) + +type QueryFnWithSignal = (ctx: { signal: AbortSignal }) => Promise + +async function callQueryFn(queryFn: unknown): Promise { + return await (queryFn as QueryFnWithSignal)({ + signal: new AbortController().signal, + }) +} + +describe("rds queries send the right command", () => { + it("dbInstances list sends an unfiltered describe", async () => { + mockSend.mockResolvedValueOnce({ DBInstances: [] }) + await callQueryFn(rdsDBInstancesQueryOptions.queryFn) + expect(mockSend).toHaveBeenCalledOnce() + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({}) + }) + + it("dbInstance detail filters by identifier", async () => { + mockSend.mockResolvedValueOnce({ DBInstances: [] }) + await callQueryFn(rdsDBInstanceQueryOptions("orders-db").queryFn) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({ + DBInstanceIdentifier: "orders-db", + }) + }) + + it("events asks for the whole 14-day ring, not the default hour", async () => { + mockSend.mockResolvedValueOnce({ Events: [] }) + await callQueryFn(rdsEventsQueryOptions("orders-db").queryFn) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({ + SourceIdentifier: "orders-db", + SourceType: "db-instance", + Duration: 14 * 24 * 60, + }) + }) + + it("tags sends the resource name", async () => { + mockSend.mockResolvedValueOnce({ TagList: [] }) + await callQueryFn(rdsTagsQueryOptions("arn:db").queryFn) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({ + ResourceName: "arn:db", + }) + }) + + it("orderable options filter by engine", async () => { + mockSend.mockResolvedValueOnce({ OrderableDBInstanceOptions: [] }) + await callQueryFn(rdsOrderableOptionsQueryOptions("mariadb").queryFn) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({ + Engine: "mariadb", + }) + }) + + it("subnet groups and parameter groups send unfiltered describes", async () => { + mockSend.mockResolvedValueOnce({ DBSubnetGroups: [] }) + await callQueryFn(rdsSubnetGroupsQueryOptions.queryFn) + mockSend.mockResolvedValueOnce({ DBParameterGroups: [] }) + await callQueryFn(rdsParameterGroupsQueryOptions.queryFn) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({}) + expect(mockSend.mock.calls[1]?.[0].input).toStrictEqual({}) + }) + + it("the single group describes filter by name", async () => { + mockSend.mockResolvedValueOnce({ DBSubnetGroups: [] }) + await callQueryFn(rdsSubnetGroupQueryOptions("orders-subnets").queryFn) + mockSend.mockResolvedValueOnce({ DBParameterGroups: [] }) + await callQueryFn(rdsParameterGroupQueryOptions("orders-pg").queryFn) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({ + DBSubnetGroupName: "orders-subnets", + }) + expect(mockSend.mock.calls[1]?.[0].input).toStrictEqual({ + DBParameterGroupName: "orders-pg", + }) + }) + + it("snapshot events ask the db-snapshot ring", async () => { + mockSend.mockResolvedValueOnce({ Events: [] }) + await callQueryFn(rdsSnapshotEventsQueryOptions("orders-snap").queryFn) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({ + SourceIdentifier: "orders-snap", + SourceType: "db-snapshot", + Duration: 14 * 24 * 60, + }) + }) + + it("the snapshot describes filter by snapshot and by instance", async () => { + mockSend.mockResolvedValueOnce({ DBSnapshots: [] }) + await callQueryFn(rdsDBSnapshotsQueryOptions.queryFn) + mockSend.mockResolvedValueOnce({ DBSnapshots: [] }) + await callQueryFn(rdsDBSnapshotQueryOptions("orders-snap").queryFn) + mockSend.mockResolvedValueOnce({ DBSnapshots: [] }) + await callQueryFn(rdsInstanceDBSnapshotsQueryOptions("orders-db").queryFn) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({}) + expect(mockSend.mock.calls[1]?.[0].input).toStrictEqual({ + DBSnapshotIdentifier: "orders-snap", + }) + expect(mockSend.mock.calls[2]?.[0].input).toStrictEqual({ + DBInstanceIdentifier: "orders-db", + }) + }) + + it("automated backups filter by instance", async () => { + mockSend.mockResolvedValueOnce({ DBInstanceAutomatedBackups: [] }) + await callQueryFn(rdsAutomatedBackupsQueryOptions("orders-db").queryFn) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({ + DBInstanceIdentifier: "orders-db", + }) + }) + + // The Source filter the backend accepts is deliberately unused: the whole + // set is one round trip and the split is a client-side filter. + it("parameters are fetched unfiltered by source", async () => { + mockSend.mockResolvedValueOnce({ Parameters: [] }) + await callQueryFn(rdsParametersQueryOptions("orders-pg").queryFn) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({ + DBParameterGroupName: "orders-pg", + }) + }) +}) + +function refetchIntervalOf(options: { + refetchInterval?: unknown +}): (query: unknown) => unknown { + const refetch = options.refetchInterval + if (typeof refetch !== "function") { + throw new TypeError("expected refetchInterval to be a function") + } + return refetch as (query: unknown) => unknown +} + +describe("rds poll cadence", () => { + it("polls the list while any instance is creating", () => { + const refetch = refetchIntervalOf(rdsDBInstancesQueryOptions) + expect( + refetch({ + state: { data: { DBInstances: [{ DBInstanceStatus: "creating" }] } }, + }), + ).toBe(5000) + }) + + it("stops polling the list once every instance is available", () => { + const refetch = refetchIntervalOf(rdsDBInstancesQueryOptions) + expect( + refetch({ + state: { data: { DBInstances: [{ DBInstanceStatus: "available" }] } }, + }), + ).toBeFalsy() + }) + + it("does not treat a stopped instance as in flight", () => { + const refetch = refetchIntervalOf(rdsDBInstancesQueryOptions) + expect( + refetch({ + state: { data: { DBInstances: [{ DBInstanceStatus: "stopped" }] } }, + }), + ).toBeFalsy() + }) + + it("polls the detail query while the instance is modifying", () => { + const refetch = refetchIntervalOf(rdsDBInstanceQueryOptions("orders-db")) + expect( + refetch({ + state: { data: { DBInstances: [{ DBInstanceStatus: "modifying" }] } }, + }), + ).toBe(5000) + }) + + it("stops polling the detail query once the instance is available", () => { + const refetch = refetchIntervalOf(rdsDBInstanceQueryOptions("orders-db")) + expect( + refetch({ + state: { data: { DBInstances: [{ DBInstanceStatus: "available" }] } }, + }), + ).toBeFalsy() + }) + + it("polls the snapshot list while one is still being taken", () => { + const refetch = refetchIntervalOf(rdsDBSnapshotsQueryOptions) + expect( + refetch({ state: { data: { DBSnapshots: [{ Status: "creating" }] } } }), + ).toBe(5000) + }) + + it("stops polling the snapshot list once every snapshot is available", () => { + const refetch = refetchIntervalOf(rdsDBSnapshotsQueryOptions) + expect( + refetch({ state: { data: { DBSnapshots: [{ Status: "available" }] } } }), + ).toBeFalsy() + }) + + it("polls an instance's snapshots while one is still being taken", () => { + const refetch = refetchIntervalOf( + rdsInstanceDBSnapshotsQueryOptions("orders-db"), + ) + expect( + refetch({ state: { data: { DBSnapshots: [{ Status: "creating" }] } } }), + ).toBe(5000) + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/queries/rds.ts b/spinifex/services/spinifexui/frontend/src/queries/rds.ts new file mode 100644 index 000000000..b2da8f37e --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/queries/rds.ts @@ -0,0 +1,253 @@ +import { + DescribeDBEngineVersionsCommand, + DescribeDBInstanceAutomatedBackupsCommand, + DescribeDBInstancesCommand, + DescribeDBParameterGroupsCommand, + DescribeDBParametersCommand, + DescribeDBSnapshotsCommand, + DescribeDBSubnetGroupsCommand, + DescribeEventsCommand, + DescribeOrderableDBInstanceOptionsCommand, + ListTagsForResourceCommand, +} from "@aws-sdk/client-rds" +import { queryOptions } from "@tanstack/react-query" + +import { getRdsClient } from "@/lib/awsClient" +import { isTransitionalStatus, SNAPSHOT_STATUS_CREATING } from "@/types/rds" + +// Creates take minutes and half the RDS statuses are transitional, so a list +// that never refetches reads as broken. Polling stops once everything settles. +const TRANSITIONAL_POLL_MS = 5000 + +// The event ring holds 14 days; DescribeEvents defaults to the last hour, so +// the whole ring has to be asked for explicitly. +const EVENT_WINDOW_MINUTES = 14 * 24 * 60 + +// Unconditional, unlike the status polls: a backup fails on its own schedule +// rather than in response to anything the console did, and the failure warning +// is derived from this ring alone. +const EVENT_POLL_MS = 30_000 + +// The engine and class catalogs change at most once a release, and both are +// read on every create form render. +const CATALOG_STALE_TIME_MS = 60 * 60 * 1000 + +const DB_INSTANCE_SOURCE_TYPE = "db-instance" +const DB_SNAPSHOT_SOURCE_TYPE = "db-snapshot" + +// The two source types DescribeEvents keeps a ring for. +export type RdsEventSourceType = + | typeof DB_INSTANCE_SOURCE_TYPE + | typeof DB_SNAPSHOT_SOURCE_TYPE + +// A snapshot is either being taken or finished, so the poll asks only whether +// anything is still being taken. +function anySnapshotCreating(snapshots: { Status?: string }[]): boolean { + return snapshots.some( + (snapshot) => snapshot.Status === SNAPSHOT_STATUS_CREATING, + ) +} + +export const rdsDBInstancesQueryOptions = queryOptions({ + queryKey: ["rds", "dbInstances"], + queryFn: async () => { + const command = new DescribeDBInstancesCommand({}) + return await getRdsClient().send(command) + }, + refetchInterval: (query) => { + const instances = query.state.data?.DBInstances ?? [] + const anyTransitional = instances.some((instance) => + isTransitionalStatus(instance.DBInstanceStatus), + ) + return anyTransitional ? TRANSITIONAL_POLL_MS : false + }, +}) + +export const rdsDBInstanceQueryOptions = (dbInstanceIdentifier: string) => + queryOptions({ + queryKey: ["rds", "dbInstances", dbInstanceIdentifier], + queryFn: async () => { + const command = new DescribeDBInstancesCommand({ + DBInstanceIdentifier: dbInstanceIdentifier, + }) + return await getRdsClient().send(command) + }, + refetchInterval: (query) => { + const instance = query.state.data?.DBInstances?.[0] + return isTransitionalStatus(instance?.DBInstanceStatus) + ? TRANSITIONAL_POLL_MS + : false + }, + }) + +export const rdsSubnetGroupsQueryOptions = queryOptions({ + queryKey: ["rds", "subnetGroups"], + queryFn: async () => { + const command = new DescribeDBSubnetGroupsCommand({}) + return await getRdsClient().send(command) + }, +}) + +export const rdsSubnetGroupQueryOptions = (dbSubnetGroupName: string) => + queryOptions({ + queryKey: ["rds", "subnetGroups", dbSubnetGroupName], + queryFn: async () => { + const command = new DescribeDBSubnetGroupsCommand({ + DBSubnetGroupName: dbSubnetGroupName, + }) + return await getRdsClient().send(command) + }, + }) + +export const rdsParameterGroupsQueryOptions = queryOptions({ + queryKey: ["rds", "parameterGroups"], + queryFn: async () => { + const command = new DescribeDBParameterGroupsCommand({}) + return await getRdsClient().send(command) + }, +}) + +export const rdsParameterGroupQueryOptions = (dbParameterGroupName: string) => + queryOptions({ + queryKey: ["rds", "parameterGroups", dbParameterGroupName], + queryFn: async () => { + const command = new DescribeDBParameterGroupsCommand({ + DBParameterGroupName: dbParameterGroupName, + }) + return await getRdsClient().send(command) + }, + }) + +// Unfiltered: the whole set is one round trip, and every row already carries +// the Source field the user-versus-engine-default filter reads. +export const rdsParametersQueryOptions = (dbParameterGroupName: string) => + queryOptions({ + queryKey: ["rds", "parameters", dbParameterGroupName], + queryFn: async () => { + const command = new DescribeDBParametersCommand({ + DBParameterGroupName: dbParameterGroupName, + }) + return await getRdsClient().send(command) + }, + }) + +export const rdsEventsQueryOptions = ( + sourceIdentifier: string, + sourceType: RdsEventSourceType = DB_INSTANCE_SOURCE_TYPE, +) => + queryOptions({ + queryKey: ["rds", "events", sourceType, sourceIdentifier], + queryFn: async () => { + const command = new DescribeEventsCommand({ + SourceIdentifier: sourceIdentifier, + SourceType: sourceType, + Duration: EVENT_WINDOW_MINUTES, + }) + return await getRdsClient().send(command) + }, + refetchInterval: EVENT_POLL_MS, + }) + +export const rdsSnapshotEventsQueryOptions = (sourceIdentifier: string) => + rdsEventsQueryOptions(sourceIdentifier, DB_SNAPSHOT_SOURCE_TYPE) + +export const rdsDBSnapshotsQueryOptions = queryOptions({ + queryKey: ["rds", "dbSnapshots"], + queryFn: async () => { + const command = new DescribeDBSnapshotsCommand({}) + return await getRdsClient().send(command) + }, + refetchInterval: (query) => + anySnapshotCreating(query.state.data?.DBSnapshots ?? []) + ? TRANSITIONAL_POLL_MS + : false, +}) + +export const rdsDBSnapshotQueryOptions = (dbSnapshotIdentifier: string) => + queryOptions({ + queryKey: ["rds", "dbSnapshots", dbSnapshotIdentifier], + queryFn: async () => { + const command = new DescribeDBSnapshotsCommand({ + DBSnapshotIdentifier: dbSnapshotIdentifier, + }) + return await getRdsClient().send(command) + }, + refetchInterval: (query) => + anySnapshotCreating(query.state.data?.DBSnapshots ?? []) + ? TRANSITIONAL_POLL_MS + : false, + }) + +// The instance's own snapshots, manual and automated alike. Keyed under the +// list so a create or a delete invalidates both with one prefix. +export const rdsInstanceDBSnapshotsQueryOptions = ( + dbInstanceIdentifier: string, +) => + queryOptions({ + queryKey: ["rds", "dbSnapshots", "instance", dbInstanceIdentifier], + queryFn: async () => { + const command = new DescribeDBSnapshotsCommand({ + DBInstanceIdentifier: dbInstanceIdentifier, + }) + return await getRdsClient().send(command) + }, + refetchInterval: (query) => + anySnapshotCreating(query.state.data?.DBSnapshots ?? []) + ? TRANSITIONAL_POLL_MS + : false, + }) + +// One entry per instance with automated backups on, and none at all once +// retention is zero — which is the answer the Backups tab renders. +export const rdsAutomatedBackupsQueryOptions = (dbInstanceIdentifier: string) => + queryOptions({ + queryKey: ["rds", "automatedBackups", dbInstanceIdentifier], + queryFn: async () => { + const command = new DescribeDBInstanceAutomatedBackupsCommand({ + DBInstanceIdentifier: dbInstanceIdentifier, + }) + return await getRdsClient().send(command) + }, + }) + +// Tags are resolved by parsing the ARN, so an empty one is a request the +// backend refuses. The guard binds under useQuery only — ensureQueryData and +// useSuspenseQuery both ignore it, so a loader has to skip the call itself. +export const rdsTagsQueryOptions = (resourceName: string) => + queryOptions({ + queryKey: ["rds", "tags", resourceName], + queryFn: async () => { + const command = new ListTagsForResourceCommand({ + ResourceName: resourceName, + }) + return await getRdsClient().send(command) + }, + enabled: resourceName.length > 0, + }) + +// The source for the engine and version pickers. The console never restates +// which engines or versions exist; this is the only answer. +export const rdsEngineVersionsQueryOptions = queryOptions({ + queryKey: ["rds", "engineVersions"], + queryFn: async () => { + const command = new DescribeDBEngineVersionsCommand({}) + return await getRdsClient().send(command) + }, + staleTime: CATALOG_STALE_TIME_MS, +}) + +// Filtered by what this cluster's nodes can actually run, so it can legitimately +// come back short or empty. An empty list is an explanation to render, not a +// loading state. +export const rdsOrderableOptionsQueryOptions = (engine: string) => + queryOptions({ + queryKey: ["rds", "orderableOptions", engine], + queryFn: async () => { + const command = new DescribeOrderableDBInstanceOptionsCommand({ + Engine: engine, + }) + return await getRdsClient().send(command) + }, + staleTime: CATALOG_STALE_TIME_MS, + enabled: engine.length > 0, + }) diff --git a/spinifex/services/spinifexui/frontend/src/routeTree.gen.ts b/spinifex/services/spinifexui/frontend/src/routeTree.gen.ts index f0c325752..8d61c1816 100644 --- a/spinifex/services/spinifexui/frontend/src/routeTree.gen.ts +++ b/spinifex/services/spinifexui/frontend/src/routeTree.gen.ts @@ -9,103 +9,115 @@ // Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified. import { Route as rootRouteImport } from './routes/__root' -import { Route as LoginRouteImport } from './routes/login' import { Route as AuthRouteRouteImport } from './routes/_auth/route' +import { Route as LoginRouteImport } from './routes/login' import { Route as AuthIndexRouteImport } from './routes/_auth/index' import { Route as AuthNodesRouteImport } from './routes/_auth/nodes' import { Route as AuthS3ServiceMetricsRouteImport } from './routes/_auth/s3/service-metrics' -import { Route as AuthS3LsIndexRouteImport } from './routes/_auth/s3/ls/index' -import { Route as AuthS3bucketsCreateBucketRouteImport } from './routes/_auth/s3/(buckets)/create-bucket' -import { Route as AuthIamusersCreateUserRouteImport } from './routes/_auth/iam/(users)/create-user' -import { Route as AuthIamrolesCreateRoleRouteImport } from './routes/_auth/iam/(roles)/create-role' -import { Route as AuthIampoliciesCreatePolicyRouteImport } from './routes/_auth/iam/(policies)/create-policy' -import { Route as AuthIaminstanceProfilesCreateInstanceProfileRouteImport } from './routes/_auth/iam/(instance-profiles)/create-instance-profile' -import { Route as AuthIamgroupsCreateGroupRouteImport } from './routes/_auth/iam/(groups)/create-group' -import { Route as AuthEksclustersCreateClusterRouteImport } from './routes/_auth/eks/(clusters)/create-cluster' -import { Route as AuthEcsclustersTaskDefinitionsRouteImport } from './routes/_auth/ecs/(clusters)/task-definitions' -import { Route as AuthEcsclustersRunTaskRouteImport } from './routes/_auth/ecs/(clusters)/run-task' -import { Route as AuthEcsclustersRegisterTaskDefinitionRouteImport } from './routes/_auth/ecs/(clusters)/register-task-definition' -import { Route as AuthEcsclustersCreateServiceRouteImport } from './routes/_auth/ecs/(clusters)/create-service' -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 AuthEc2routeTablesCreateRouteTableRouteImport } from './routes/_auth/ec2/(route-tables)/create-route-table' -import { Route as AuthEc2placementGroupsCreatePlacementGroupRouteImport } from './routes/_auth/ec2/(placement-groups)/create-placement-group' -import { Route as AuthEc2natGatewaysCreateNatGatewayRouteImport } from './routes/_auth/ec2/(nat-gateways)/create-nat-gateway' -import { Route as AuthEc2loadBalancersCreateLoadBalancerRouteImport } from './routes/_auth/ec2/(load-balancers)/create-load-balancer' -import { Route as AuthEc2launchTemplatesCreateLaunchTemplateRouteImport } from './routes/_auth/ec2/(launch-templates)/create-launch-template' -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 AuthEc2internetGatewaysCreateInternetGatewayRouteImport } from './routes/_auth/ec2/(internet-gateways)/create-internet-gateway' -import { Route as AuthEc2instancesRunInstancesRouteImport } from './routes/_auth/ec2/(instances)/run-instances' import { Route as AuthEc2elasticIpsAllocateAddressRouteImport } from './routes/_auth/ec2/(elastic-ips)/allocate-address' +import { Route as AuthEc2instancesRunInstancesRouteImport } from './routes/_auth/ec2/(instances)/run-instances' +import { Route as AuthEc2internetGatewaysCreateInternetGatewayRouteImport } from './routes/_auth/ec2/(internet-gateways)/create-internet-gateway' +import { Route as AuthEc2keyCreateKeyPairRouteImport } from './routes/_auth/ec2/(key)/create-key-pair' +import { Route as AuthEc2keyImportKeyPairRouteImport } from './routes/_auth/ec2/(key)/import-key-pair' +import { Route as AuthEc2launchTemplatesCreateLaunchTemplateRouteImport } from './routes/_auth/ec2/(launch-templates)/create-launch-template' +import { Route as AuthEc2loadBalancersCreateLoadBalancerRouteImport } from './routes/_auth/ec2/(load-balancers)/create-load-balancer' +import { Route as AuthEc2natGatewaysCreateNatGatewayRouteImport } from './routes/_auth/ec2/(nat-gateways)/create-nat-gateway' +import { Route as AuthEc2placementGroupsCreatePlacementGroupRouteImport } from './routes/_auth/ec2/(placement-groups)/create-placement-group' +import { Route as AuthEc2routeTablesCreateRouteTableRouteImport } from './routes/_auth/ec2/(route-tables)/create-route-table' +import { Route as AuthEc2securityGroupsCreateSecurityGroupRouteImport } from './routes/_auth/ec2/(security-groups)/create-security-group' +import { Route as AuthEc2snapshotsCreateSnapshotRouteImport } from './routes/_auth/ec2/(snapshots)/create-snapshot' +import { Route as AuthEc2subnetCreateSubnetRouteImport } from './routes/_auth/ec2/(subnet)/create-subnet' +import { Route as AuthEc2targetGroupsCreateTargetGroupRouteImport } from './routes/_auth/ec2/(target-groups)/create-target-group' +import { Route as AuthEc2volumesCreateVolumeRouteImport } from './routes/_auth/ec2/(volumes)/create-volume' +import { Route as AuthEc2vpcCreateVpcRouteImport } from './routes/_auth/ec2/(vpc)/create-vpc' +import { Route as AuthEcsclustersCreateServiceRouteImport } from './routes/_auth/ecs/(clusters)/create-service' +import { Route as AuthEcsclustersRegisterTaskDefinitionRouteImport } from './routes/_auth/ecs/(clusters)/register-task-definition' +import { Route as AuthEcsclustersRunTaskRouteImport } from './routes/_auth/ecs/(clusters)/run-task' +import { Route as AuthEcsclustersTaskDefinitionsRouteImport } from './routes/_auth/ecs/(clusters)/task-definitions' +import { Route as AuthEksclustersCreateClusterRouteImport } from './routes/_auth/eks/(clusters)/create-cluster' +import { Route as AuthIamgroupsCreateGroupRouteImport } from './routes/_auth/iam/(groups)/create-group' +import { Route as AuthIaminstanceProfilesCreateInstanceProfileRouteImport } from './routes/_auth/iam/(instance-profiles)/create-instance-profile' +import { Route as AuthIampoliciesCreatePolicyRouteImport } from './routes/_auth/iam/(policies)/create-policy' +import { Route as AuthIamrolesCreateRoleRouteImport } from './routes/_auth/iam/(roles)/create-role' +import { Route as AuthIamusersCreateUserRouteImport } from './routes/_auth/iam/(users)/create-user' +import { Route as AuthRdsdbInstancesCreateDbInstanceRouteImport } from './routes/_auth/rds/(db-instances)/create-db-instance' +import { Route as AuthRdsparameterGroupsCreateDbParameterGroupRouteImport } from './routes/_auth/rds/(parameter-groups)/create-db-parameter-group' +import { Route as AuthRdssubnetGroupsCreateDbSubnetGroupRouteImport } from './routes/_auth/rds/(subnet-groups)/create-db-subnet-group' +import { Route as AuthS3bucketsCreateBucketRouteImport } from './routes/_auth/s3/(buckets)/create-bucket' +import { Route as AuthS3LsIndexRouteImport } from './routes/_auth/s3/ls/index' import { Route as AuthS3LsBucketRouteRouteImport } from './routes/_auth/s3/ls/$bucket/route' -import { Route as AuthS3LsBucketIndexRouteImport } from './routes/_auth/s3/ls/$bucket/index' -import { Route as AuthIamusersListUsersIndexRouteImport } from './routes/_auth/iam/(users)/list-users/index' -import { Route as AuthIamrolesListRolesIndexRouteImport } from './routes/_auth/iam/(roles)/list-roles/index' -import { Route as AuthIampoliciesListPoliciesIndexRouteImport } from './routes/_auth/iam/(policies)/list-policies/index' -import { Route as AuthIaminstanceProfilesListInstanceProfilesIndexRouteImport } from './routes/_auth/iam/(instance-profiles)/list-instance-profiles/index' -import { Route as AuthIamgroupsListGroupsIndexRouteImport } from './routes/_auth/iam/(groups)/list-groups/index' -import { Route as AuthEksclustersListClustersIndexRouteImport } from './routes/_auth/eks/(clusters)/list-clusters/index' -import { Route as AuthEcsclustersListClustersIndexRouteImport } from './routes/_auth/ecs/(clusters)/list-clusters/index' -import { Route as AuthEcrrepositoriesListRepositoriesIndexRouteImport } from './routes/_auth/ecr/(repositories)/list-repositories/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 AuthEc2routeTablesDescribeRouteTablesIndexRouteImport } from './routes/_auth/ec2/(route-tables)/describe-route-tables/index' -import { Route as AuthEc2placementGroupsDescribePlacementGroupsIndexRouteImport } from './routes/_auth/ec2/(placement-groups)/describe-placement-groups/index' -import { Route as AuthEc2natGatewaysDescribeNatGatewaysIndexRouteImport } from './routes/_auth/ec2/(nat-gateways)/describe-nat-gateways/index' -import { Route as AuthEc2loadBalancersDescribeLoadBalancersIndexRouteImport } from './routes/_auth/ec2/(load-balancers)/describe-load-balancers/index' -import { Route as AuthEc2launchTemplatesDescribeLaunchTemplatesIndexRouteImport } from './routes/_auth/ec2/(launch-templates)/describe-launch-templates/index' -import { Route as AuthEc2keyDescribeKeyPairsIndexRouteImport } from './routes/_auth/ec2/(key)/describe-key-pairs/index' -import { Route as AuthEc2internetGatewaysDescribeInternetGatewaysIndexRouteImport } from './routes/_auth/ec2/(internet-gateways)/describe-internet-gateways/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' import { Route as AuthEc2elasticIpsDescribeAddressesIndexRouteImport } from './routes/_auth/ec2/(elastic-ips)/describe-addresses/index' -import { Route as AuthS3LsBucketSplatRouteImport } from './routes/_auth/s3/ls/$bucket/$' -import { Route as AuthIamusersListUsersUserNameRouteImport } from './routes/_auth/iam/(users)/list-users/$userName' -import { Route as AuthIamrolesListRolesRoleNameRouteImport } from './routes/_auth/iam/(roles)/list-roles/$roleName' -import { Route as AuthIampoliciesListPoliciesPolicyArnRouteImport } from './routes/_auth/iam/(policies)/list-policies/$policyArn' -import { Route as AuthIaminstanceProfilesListInstanceProfilesInstanceProfileNameRouteImport } from './routes/_auth/iam/(instance-profiles)/list-instance-profiles/$instanceProfileName' -import { Route as AuthIamgroupsListGroupsGroupNameRouteImport } from './routes/_auth/iam/(groups)/list-groups/$groupName' -import { Route as AuthEksclustersListClustersClusterNameRouteImport } from './routes/_auth/eks/(clusters)/list-clusters/$clusterName' -import { Route as AuthEcsclustersListClustersClusterNameRouteImport } from './routes/_auth/ecs/(clusters)/list-clusters/$clusterName' -import { Route as AuthEcrrepositoriesListRepositoriesIdRouteImport } from './routes/_auth/ecr/(repositories)/list-repositories/$id' -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 AuthEc2routeTablesDescribeRouteTablesIdRouteImport } from './routes/_auth/ec2/(route-tables)/describe-route-tables/$id' -import { Route as AuthEc2placementGroupsDescribePlacementGroupsIdRouteImport } from './routes/_auth/ec2/(placement-groups)/describe-placement-groups/$id' -import { Route as AuthEc2natGatewaysDescribeNatGatewaysIdRouteImport } from './routes/_auth/ec2/(nat-gateways)/describe-nat-gateways/$id' -import { Route as AuthEc2loadBalancersDescribeLoadBalancersIdRouteImport } from './routes/_auth/ec2/(load-balancers)/describe-load-balancers/$id' -import { Route as AuthEc2launchTemplatesDescribeLaunchTemplatesIdRouteImport } from './routes/_auth/ec2/(launch-templates)/describe-launch-templates/$id' -import { Route as AuthEc2keyDescribeKeyPairsIdRouteImport } from './routes/_auth/ec2/(key)/describe-key-pairs/$id' -import { Route as AuthEc2internetGatewaysDescribeInternetGatewaysIdRouteImport } from './routes/_auth/ec2/(internet-gateways)/describe-internet-gateways/$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' import { Route as AuthEc2elasticIpsDescribeAddressesIdRouteImport } from './routes/_auth/ec2/(elastic-ips)/describe-addresses/$id' -import { Route as AuthEcsclustersListClustersClusterNameTasksTaskIdRouteImport } from './routes/_auth/ecs/(clusters)/list-clusters/$clusterName_/tasks/$taskId' +import { Route as AuthEc2imagesDescribeImagesIndexRouteImport } from './routes/_auth/ec2/(images)/describe-images/index' +import { Route as AuthEc2imagesDescribeImagesIdRouteImport } from './routes/_auth/ec2/(images)/describe-images/$id' +import { Route as AuthEc2instancesDescribeInstancesIndexRouteImport } from './routes/_auth/ec2/(instances)/describe-instances/index' +import { Route as AuthEc2instancesDescribeInstancesIdRouteImport } from './routes/_auth/ec2/(instances)/describe-instances/$id' +import { Route as AuthEc2internetGatewaysDescribeInternetGatewaysIndexRouteImport } from './routes/_auth/ec2/(internet-gateways)/describe-internet-gateways/index' +import { Route as AuthEc2internetGatewaysDescribeInternetGatewaysIdRouteImport } from './routes/_auth/ec2/(internet-gateways)/describe-internet-gateways/$id' +import { Route as AuthEc2keyDescribeKeyPairsIndexRouteImport } from './routes/_auth/ec2/(key)/describe-key-pairs/index' +import { Route as AuthEc2keyDescribeKeyPairsIdRouteImport } from './routes/_auth/ec2/(key)/describe-key-pairs/$id' +import { Route as AuthEc2launchTemplatesDescribeLaunchTemplatesIndexRouteImport } from './routes/_auth/ec2/(launch-templates)/describe-launch-templates/index' +import { Route as AuthEc2launchTemplatesDescribeLaunchTemplatesIdRouteImport } from './routes/_auth/ec2/(launch-templates)/describe-launch-templates/$id' +import { Route as AuthEc2loadBalancersDescribeLoadBalancersIndexRouteImport } from './routes/_auth/ec2/(load-balancers)/describe-load-balancers/index' +import { Route as AuthEc2loadBalancersDescribeLoadBalancersIdRouteImport } from './routes/_auth/ec2/(load-balancers)/describe-load-balancers/$id' +import { Route as AuthEc2natGatewaysDescribeNatGatewaysIndexRouteImport } from './routes/_auth/ec2/(nat-gateways)/describe-nat-gateways/index' +import { Route as AuthEc2natGatewaysDescribeNatGatewaysIdRouteImport } from './routes/_auth/ec2/(nat-gateways)/describe-nat-gateways/$id' +import { Route as AuthEc2placementGroupsDescribePlacementGroupsIndexRouteImport } from './routes/_auth/ec2/(placement-groups)/describe-placement-groups/index' +import { Route as AuthEc2placementGroupsDescribePlacementGroupsIdRouteImport } from './routes/_auth/ec2/(placement-groups)/describe-placement-groups/$id' +import { Route as AuthEc2routeTablesDescribeRouteTablesIndexRouteImport } from './routes/_auth/ec2/(route-tables)/describe-route-tables/index' +import { Route as AuthEc2routeTablesDescribeRouteTablesIdRouteImport } from './routes/_auth/ec2/(route-tables)/describe-route-tables/$id' +import { Route as AuthEc2securityGroupsDescribeSecurityGroupsIndexRouteImport } from './routes/_auth/ec2/(security-groups)/describe-security-groups/index' +import { Route as AuthEc2securityGroupsDescribeSecurityGroupsIdRouteImport } from './routes/_auth/ec2/(security-groups)/describe-security-groups/$id' +import { Route as AuthEc2snapshotsDescribeSnapshotsIndexRouteImport } from './routes/_auth/ec2/(snapshots)/describe-snapshots/index' +import { Route as AuthEc2snapshotsDescribeSnapshotsIdRouteImport } from './routes/_auth/ec2/(snapshots)/describe-snapshots/$id' +import { Route as AuthEc2subnetDescribeSubnetsIndexRouteImport } from './routes/_auth/ec2/(subnet)/describe-subnets/index' +import { Route as AuthEc2subnetDescribeSubnetsIdRouteImport } from './routes/_auth/ec2/(subnet)/describe-subnets/$id' +import { Route as AuthEc2targetGroupsDescribeTargetGroupsIndexRouteImport } from './routes/_auth/ec2/(target-groups)/describe-target-groups/index' +import { Route as AuthEc2targetGroupsDescribeTargetGroupsIdRouteImport } from './routes/_auth/ec2/(target-groups)/describe-target-groups/$id' +import { Route as AuthEc2volumesDescribeVolumesIndexRouteImport } from './routes/_auth/ec2/(volumes)/describe-volumes/index' +import { Route as AuthEc2volumesDescribeVolumesIdRouteImport } from './routes/_auth/ec2/(volumes)/describe-volumes/$id' +import { Route as AuthEc2volumesModifyVolumeIdRouteImport } from './routes/_auth/ec2/(volumes)/modify-volume/$id' +import { Route as AuthEc2vpcDescribeVpcsIndexRouteImport } from './routes/_auth/ec2/(vpc)/describe-vpcs/index' +import { Route as AuthEc2vpcDescribeVpcsIdRouteImport } from './routes/_auth/ec2/(vpc)/describe-vpcs/$id' +import { Route as AuthEcrrepositoriesListRepositoriesIndexRouteImport } from './routes/_auth/ecr/(repositories)/list-repositories/index' +import { Route as AuthEcrrepositoriesListRepositoriesIdRouteImport } from './routes/_auth/ecr/(repositories)/list-repositories/$id' +import { Route as AuthEcsclustersListClustersIndexRouteImport } from './routes/_auth/ecs/(clusters)/list-clusters/index' +import { Route as AuthEcsclustersListClustersClusterNameRouteImport } from './routes/_auth/ecs/(clusters)/list-clusters/$clusterName' +import { Route as AuthEksclustersListClustersIndexRouteImport } from './routes/_auth/eks/(clusters)/list-clusters/index' +import { Route as AuthEksclustersListClustersClusterNameRouteImport } from './routes/_auth/eks/(clusters)/list-clusters/$clusterName' +import { Route as AuthIamgroupsListGroupsIndexRouteImport } from './routes/_auth/iam/(groups)/list-groups/index' +import { Route as AuthIamgroupsListGroupsGroupNameRouteImport } from './routes/_auth/iam/(groups)/list-groups/$groupName' +import { Route as AuthIaminstanceProfilesListInstanceProfilesIndexRouteImport } from './routes/_auth/iam/(instance-profiles)/list-instance-profiles/index' +import { Route as AuthIaminstanceProfilesListInstanceProfilesInstanceProfileNameRouteImport } from './routes/_auth/iam/(instance-profiles)/list-instance-profiles/$instanceProfileName' +import { Route as AuthIampoliciesListPoliciesIndexRouteImport } from './routes/_auth/iam/(policies)/list-policies/index' +import { Route as AuthIampoliciesListPoliciesPolicyArnRouteImport } from './routes/_auth/iam/(policies)/list-policies/$policyArn' +import { Route as AuthIamrolesListRolesIndexRouteImport } from './routes/_auth/iam/(roles)/list-roles/index' +import { Route as AuthIamrolesListRolesRoleNameRouteImport } from './routes/_auth/iam/(roles)/list-roles/$roleName' +import { Route as AuthIamusersListUsersIndexRouteImport } from './routes/_auth/iam/(users)/list-users/index' +import { Route as AuthIamusersListUsersUserNameRouteImport } from './routes/_auth/iam/(users)/list-users/$userName' +import { Route as AuthRdsdbInstancesDescribeDbInstancesIndexRouteImport } from './routes/_auth/rds/(db-instances)/describe-db-instances/index' +import { Route as AuthRdsdbInstancesDescribeDbInstancesIdRouteImport } from './routes/_auth/rds/(db-instances)/describe-db-instances/$id' +import { Route as AuthRdsparameterGroupsDescribeDbParameterGroupsIndexRouteImport } from './routes/_auth/rds/(parameter-groups)/describe-db-parameter-groups/index' +import { Route as AuthRdsparameterGroupsDescribeDbParameterGroupsNameRouteImport } from './routes/_auth/rds/(parameter-groups)/describe-db-parameter-groups/$name' +import { Route as AuthRdssnapshotsDescribeDbSnapshotsIndexRouteImport } from './routes/_auth/rds/(snapshots)/describe-db-snapshots/index' +import { Route as AuthRdssnapshotsDescribeDbSnapshotsIdRouteImport } from './routes/_auth/rds/(snapshots)/describe-db-snapshots/$id' +import { Route as AuthRdssnapshotsRestoreDbInstanceFromDbSnapshotIdRouteImport } from './routes/_auth/rds/(snapshots)/restore-db-instance-from-db-snapshot/$id' +import { Route as AuthRdssubnetGroupsDescribeDbSubnetGroupsIndexRouteImport } from './routes/_auth/rds/(subnet-groups)/describe-db-subnet-groups/index' +import { Route as AuthRdssubnetGroupsDescribeDbSubnetGroupsNameRouteImport } from './routes/_auth/rds/(subnet-groups)/describe-db-subnet-groups/$name' +import { Route as AuthS3LsBucketIndexRouteImport } from './routes/_auth/s3/ls/$bucket/index' +import { Route as AuthS3LsBucketSplatRouteImport } from './routes/_auth/s3/ls/$bucket/$' import { Route as AuthEcsclustersListClustersClusterNameServicesServiceNameRouteImport } from './routes/_auth/ecs/(clusters)/list-clusters/$clusterName_/services/$serviceName' +import { Route as AuthEcsclustersListClustersClusterNameTasksTaskIdRouteImport } from './routes/_auth/ecs/(clusters)/list-clusters/$clusterName_/tasks/$taskId' +const AuthRouteRoute = AuthRouteRouteImport.update({ + id: '/_auth', + getParentRoute: () => rootRouteImport, +} as any) const LoginRoute = LoginRouteImport.update({ id: '/login', path: '/login', getParentRoute: () => rootRouteImport, } as any) -const AuthRouteRoute = AuthRouteRouteImport.update({ - id: '/_auth', - getParentRoute: () => rootRouteImport, -} as any) const AuthIndexRoute = AuthIndexRouteImport.update({ id: '/', path: '/', @@ -121,153 +133,10 @@ const AuthS3ServiceMetricsRoute = AuthS3ServiceMetricsRouteImport.update({ path: '/s3/service-metrics', getParentRoute: () => AuthRouteRoute, } as any) -const AuthS3LsIndexRoute = AuthS3LsIndexRouteImport.update({ - id: '/s3/ls/', - path: '/s3/ls/', - getParentRoute: () => AuthRouteRoute, -} as any) -const AuthS3bucketsCreateBucketRoute = - AuthS3bucketsCreateBucketRouteImport.update({ - id: '/s3/(buckets)/create-bucket', - path: '/s3/create-bucket', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthIamusersCreateUserRoute = AuthIamusersCreateUserRouteImport.update({ - id: '/iam/(users)/create-user', - path: '/iam/create-user', - getParentRoute: () => AuthRouteRoute, -} as any) -const AuthIamrolesCreateRoleRoute = AuthIamrolesCreateRoleRouteImport.update({ - id: '/iam/(roles)/create-role', - path: '/iam/create-role', - getParentRoute: () => AuthRouteRoute, -} as any) -const AuthIampoliciesCreatePolicyRoute = - AuthIampoliciesCreatePolicyRouteImport.update({ - id: '/iam/(policies)/create-policy', - path: '/iam/create-policy', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthIaminstanceProfilesCreateInstanceProfileRoute = - AuthIaminstanceProfilesCreateInstanceProfileRouteImport.update({ - id: '/iam/(instance-profiles)/create-instance-profile', - path: '/iam/create-instance-profile', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthIamgroupsCreateGroupRoute = - AuthIamgroupsCreateGroupRouteImport.update({ - id: '/iam/(groups)/create-group', - path: '/iam/create-group', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEksclustersCreateClusterRoute = - AuthEksclustersCreateClusterRouteImport.update({ - id: '/eks/(clusters)/create-cluster', - path: '/eks/create-cluster', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEcsclustersTaskDefinitionsRoute = - AuthEcsclustersTaskDefinitionsRouteImport.update({ - id: '/ecs/(clusters)/task-definitions', - path: '/ecs/task-definitions', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEcsclustersRunTaskRoute = AuthEcsclustersRunTaskRouteImport.update({ - id: '/ecs/(clusters)/run-task', - path: '/ecs/run-task', - getParentRoute: () => AuthRouteRoute, -} as any) -const AuthEcsclustersRegisterTaskDefinitionRoute = - AuthEcsclustersRegisterTaskDefinitionRouteImport.update({ - id: '/ecs/(clusters)/register-task-definition', - path: '/ecs/register-task-definition', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEcsclustersCreateServiceRoute = - AuthEcsclustersCreateServiceRouteImport.update({ - id: '/ecs/(clusters)/create-service', - path: '/ecs/create-service', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2vpcCreateVpcRoute = AuthEc2vpcCreateVpcRouteImport.update({ - id: '/ec2/(vpc)/create-vpc', - path: '/ec2/create-vpc', - getParentRoute: () => AuthRouteRoute, -} as any) -const AuthEc2volumesCreateVolumeRoute = - AuthEc2volumesCreateVolumeRouteImport.update({ - id: '/ec2/(volumes)/create-volume', - 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', - path: '/ec2/create-subnet', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2snapshotsCreateSnapshotRoute = - AuthEc2snapshotsCreateSnapshotRouteImport.update({ - id: '/ec2/(snapshots)/create-snapshot', - path: '/ec2/create-snapshot', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2securityGroupsCreateSecurityGroupRoute = - AuthEc2securityGroupsCreateSecurityGroupRouteImport.update({ - id: '/ec2/(security-groups)/create-security-group', - path: '/ec2/create-security-group', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2routeTablesCreateRouteTableRoute = - AuthEc2routeTablesCreateRouteTableRouteImport.update({ - id: '/ec2/(route-tables)/create-route-table', - path: '/ec2/create-route-table', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2placementGroupsCreatePlacementGroupRoute = - AuthEc2placementGroupsCreatePlacementGroupRouteImport.update({ - id: '/ec2/(placement-groups)/create-placement-group', - path: '/ec2/create-placement-group', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2natGatewaysCreateNatGatewayRoute = - AuthEc2natGatewaysCreateNatGatewayRouteImport.update({ - id: '/ec2/(nat-gateways)/create-nat-gateway', - path: '/ec2/create-nat-gateway', - 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 AuthEc2launchTemplatesCreateLaunchTemplateRoute = - AuthEc2launchTemplatesCreateLaunchTemplateRouteImport.update({ - id: '/ec2/(launch-templates)/create-launch-template', - path: '/ec2/create-launch-template', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2keyImportKeyPairRoute = AuthEc2keyImportKeyPairRouteImport.update({ - id: '/ec2/(key)/import-key-pair', - path: '/ec2/import-key-pair', - getParentRoute: () => AuthRouteRoute, -} as any) -const AuthEc2keyCreateKeyPairRoute = AuthEc2keyCreateKeyPairRouteImport.update({ - id: '/ec2/(key)/create-key-pair', - path: '/ec2/create-key-pair', - getParentRoute: () => AuthRouteRoute, -} as any) -const AuthEc2internetGatewaysCreateInternetGatewayRoute = - AuthEc2internetGatewaysCreateInternetGatewayRouteImport.update({ - id: '/ec2/(internet-gateways)/create-internet-gateway', - path: '/ec2/create-internet-gateway', +const AuthEc2elasticIpsAllocateAddressRoute = + AuthEc2elasticIpsAllocateAddressRouteImport.update({ + id: '/ec2/(elastic-ips)/allocate-address', + path: '/ec2/allocate-address', getParentRoute: () => AuthRouteRoute, } as any) const AuthEc2instancesRunInstancesRoute = @@ -276,152 +145,188 @@ const AuthEc2instancesRunInstancesRoute = path: '/ec2/run-instances', getParentRoute: () => AuthRouteRoute, } as any) -const AuthEc2elasticIpsAllocateAddressRoute = - AuthEc2elasticIpsAllocateAddressRouteImport.update({ - id: '/ec2/(elastic-ips)/allocate-address', - path: '/ec2/allocate-address', +const AuthEc2internetGatewaysCreateInternetGatewayRoute = + AuthEc2internetGatewaysCreateInternetGatewayRouteImport.update({ + id: '/ec2/(internet-gateways)/create-internet-gateway', + path: '/ec2/create-internet-gateway', getParentRoute: () => AuthRouteRoute, } as any) +const AuthEc2keyCreateKeyPairRoute = AuthEc2keyCreateKeyPairRouteImport.update({ + id: '/ec2/(key)/create-key-pair', + path: '/ec2/create-key-pair', + getParentRoute: () => AuthRouteRoute, +} as any) +const AuthEc2keyImportKeyPairRoute = AuthEc2keyImportKeyPairRouteImport.update({ + id: '/ec2/(key)/import-key-pair', + path: '/ec2/import-key-pair', + getParentRoute: () => AuthRouteRoute, +} as any) +const AuthEc2launchTemplatesCreateLaunchTemplateRoute = + AuthEc2launchTemplatesCreateLaunchTemplateRouteImport.update({ + id: '/ec2/(launch-templates)/create-launch-template', + path: '/ec2/create-launch-template', + 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 AuthEc2natGatewaysCreateNatGatewayRoute = + AuthEc2natGatewaysCreateNatGatewayRouteImport.update({ + id: '/ec2/(nat-gateways)/create-nat-gateway', + path: '/ec2/create-nat-gateway', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2placementGroupsCreatePlacementGroupRoute = + AuthEc2placementGroupsCreatePlacementGroupRouteImport.update({ + id: '/ec2/(placement-groups)/create-placement-group', + path: '/ec2/create-placement-group', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2routeTablesCreateRouteTableRoute = + AuthEc2routeTablesCreateRouteTableRouteImport.update({ + id: '/ec2/(route-tables)/create-route-table', + path: '/ec2/create-route-table', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2securityGroupsCreateSecurityGroupRoute = + AuthEc2securityGroupsCreateSecurityGroupRouteImport.update({ + id: '/ec2/(security-groups)/create-security-group', + path: '/ec2/create-security-group', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2snapshotsCreateSnapshotRoute = + AuthEc2snapshotsCreateSnapshotRouteImport.update({ + id: '/ec2/(snapshots)/create-snapshot', + path: '/ec2/create-snapshot', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2subnetCreateSubnetRoute = + AuthEc2subnetCreateSubnetRouteImport.update({ + id: '/ec2/(subnet)/create-subnet', + path: '/ec2/create-subnet', + 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 AuthEc2volumesCreateVolumeRoute = + AuthEc2volumesCreateVolumeRouteImport.update({ + id: '/ec2/(volumes)/create-volume', + path: '/ec2/create-volume', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2vpcCreateVpcRoute = AuthEc2vpcCreateVpcRouteImport.update({ + id: '/ec2/(vpc)/create-vpc', + path: '/ec2/create-vpc', + getParentRoute: () => AuthRouteRoute, +} as any) +const AuthEcsclustersCreateServiceRoute = + AuthEcsclustersCreateServiceRouteImport.update({ + id: '/ecs/(clusters)/create-service', + path: '/ecs/create-service', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEcsclustersRegisterTaskDefinitionRoute = + AuthEcsclustersRegisterTaskDefinitionRouteImport.update({ + id: '/ecs/(clusters)/register-task-definition', + path: '/ecs/register-task-definition', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEcsclustersRunTaskRoute = AuthEcsclustersRunTaskRouteImport.update({ + id: '/ecs/(clusters)/run-task', + path: '/ecs/run-task', + getParentRoute: () => AuthRouteRoute, +} as any) +const AuthEcsclustersTaskDefinitionsRoute = + AuthEcsclustersTaskDefinitionsRouteImport.update({ + id: '/ecs/(clusters)/task-definitions', + path: '/ecs/task-definitions', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEksclustersCreateClusterRoute = + AuthEksclustersCreateClusterRouteImport.update({ + id: '/eks/(clusters)/create-cluster', + path: '/eks/create-cluster', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthIamgroupsCreateGroupRoute = + AuthIamgroupsCreateGroupRouteImport.update({ + id: '/iam/(groups)/create-group', + path: '/iam/create-group', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthIaminstanceProfilesCreateInstanceProfileRoute = + AuthIaminstanceProfilesCreateInstanceProfileRouteImport.update({ + id: '/iam/(instance-profiles)/create-instance-profile', + path: '/iam/create-instance-profile', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthIampoliciesCreatePolicyRoute = + AuthIampoliciesCreatePolicyRouteImport.update({ + id: '/iam/(policies)/create-policy', + path: '/iam/create-policy', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthIamrolesCreateRoleRoute = AuthIamrolesCreateRoleRouteImport.update({ + id: '/iam/(roles)/create-role', + path: '/iam/create-role', + getParentRoute: () => AuthRouteRoute, +} as any) +const AuthIamusersCreateUserRoute = AuthIamusersCreateUserRouteImport.update({ + id: '/iam/(users)/create-user', + path: '/iam/create-user', + getParentRoute: () => AuthRouteRoute, +} as any) +const AuthRdsdbInstancesCreateDbInstanceRoute = + AuthRdsdbInstancesCreateDbInstanceRouteImport.update({ + id: '/rds/(db-instances)/create-db-instance', + path: '/rds/create-db-instance', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthRdsparameterGroupsCreateDbParameterGroupRoute = + AuthRdsparameterGroupsCreateDbParameterGroupRouteImport.update({ + id: '/rds/(parameter-groups)/create-db-parameter-group', + path: '/rds/create-db-parameter-group', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthRdssubnetGroupsCreateDbSubnetGroupRoute = + AuthRdssubnetGroupsCreateDbSubnetGroupRouteImport.update({ + id: '/rds/(subnet-groups)/create-db-subnet-group', + path: '/rds/create-db-subnet-group', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthS3bucketsCreateBucketRoute = + AuthS3bucketsCreateBucketRouteImport.update({ + id: '/s3/(buckets)/create-bucket', + path: '/s3/create-bucket', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthS3LsIndexRoute = AuthS3LsIndexRouteImport.update({ + id: '/s3/ls/', + path: '/s3/ls/', + getParentRoute: () => AuthRouteRoute, +} as any) const AuthS3LsBucketRouteRoute = AuthS3LsBucketRouteRouteImport.update({ id: '/s3/ls/$bucket', path: '/s3/ls/$bucket', getParentRoute: () => AuthRouteRoute, } as any) -const AuthS3LsBucketIndexRoute = AuthS3LsBucketIndexRouteImport.update({ - id: '/', - path: '/', - getParentRoute: () => AuthS3LsBucketRouteRoute, -} as any) -const AuthIamusersListUsersIndexRoute = - AuthIamusersListUsersIndexRouteImport.update({ - id: '/iam/(users)/list-users/', - path: '/iam/list-users/', +const AuthEc2elasticIpsDescribeAddressesIndexRoute = + AuthEc2elasticIpsDescribeAddressesIndexRouteImport.update({ + id: '/ec2/(elastic-ips)/describe-addresses/', + path: '/ec2/describe-addresses/', getParentRoute: () => AuthRouteRoute, } as any) -const AuthIamrolesListRolesIndexRoute = - AuthIamrolesListRolesIndexRouteImport.update({ - id: '/iam/(roles)/list-roles/', - path: '/iam/list-roles/', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthIampoliciesListPoliciesIndexRoute = - AuthIampoliciesListPoliciesIndexRouteImport.update({ - id: '/iam/(policies)/list-policies/', - path: '/iam/list-policies/', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthIaminstanceProfilesListInstanceProfilesIndexRoute = - AuthIaminstanceProfilesListInstanceProfilesIndexRouteImport.update({ - id: '/iam/(instance-profiles)/list-instance-profiles/', - path: '/iam/list-instance-profiles/', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthIamgroupsListGroupsIndexRoute = - AuthIamgroupsListGroupsIndexRouteImport.update({ - id: '/iam/(groups)/list-groups/', - path: '/iam/list-groups/', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEksclustersListClustersIndexRoute = - AuthEksclustersListClustersIndexRouteImport.update({ - id: '/eks/(clusters)/list-clusters/', - path: '/eks/list-clusters/', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEcsclustersListClustersIndexRoute = - AuthEcsclustersListClustersIndexRouteImport.update({ - id: '/ecs/(clusters)/list-clusters/', - path: '/ecs/list-clusters/', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEcrrepositoriesListRepositoriesIndexRoute = - AuthEcrrepositoriesListRepositoriesIndexRouteImport.update({ - id: '/ecr/(repositories)/list-repositories/', - path: '/ecr/list-repositories/', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2vpcDescribeVpcsIndexRoute = - AuthEc2vpcDescribeVpcsIndexRouteImport.update({ - id: '/ec2/(vpc)/describe-vpcs/', - path: '/ec2/describe-vpcs/', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2volumesDescribeVolumesIndexRoute = - AuthEc2volumesDescribeVolumesIndexRouteImport.update({ - id: '/ec2/(volumes)/describe-volumes/', - 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/', - path: '/ec2/describe-subnets/', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2snapshotsDescribeSnapshotsIndexRoute = - AuthEc2snapshotsDescribeSnapshotsIndexRouteImport.update({ - id: '/ec2/(snapshots)/describe-snapshots/', - path: '/ec2/describe-snapshots/', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2securityGroupsDescribeSecurityGroupsIndexRoute = - AuthEc2securityGroupsDescribeSecurityGroupsIndexRouteImport.update({ - id: '/ec2/(security-groups)/describe-security-groups/', - path: '/ec2/describe-security-groups/', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2routeTablesDescribeRouteTablesIndexRoute = - AuthEc2routeTablesDescribeRouteTablesIndexRouteImport.update({ - id: '/ec2/(route-tables)/describe-route-tables/', - path: '/ec2/describe-route-tables/', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2placementGroupsDescribePlacementGroupsIndexRoute = - AuthEc2placementGroupsDescribePlacementGroupsIndexRouteImport.update({ - id: '/ec2/(placement-groups)/describe-placement-groups/', - path: '/ec2/describe-placement-groups/', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2natGatewaysDescribeNatGatewaysIndexRoute = - AuthEc2natGatewaysDescribeNatGatewaysIndexRouteImport.update({ - id: '/ec2/(nat-gateways)/describe-nat-gateways/', - path: '/ec2/describe-nat-gateways/', - 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 AuthEc2launchTemplatesDescribeLaunchTemplatesIndexRoute = - AuthEc2launchTemplatesDescribeLaunchTemplatesIndexRouteImport.update({ - id: '/ec2/(launch-templates)/describe-launch-templates/', - path: '/ec2/describe-launch-templates/', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2keyDescribeKeyPairsIndexRoute = - AuthEc2keyDescribeKeyPairsIndexRouteImport.update({ - id: '/ec2/(key)/describe-key-pairs/', - path: '/ec2/describe-key-pairs/', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2internetGatewaysDescribeInternetGatewaysIndexRoute = - AuthEc2internetGatewaysDescribeInternetGatewaysIndexRouteImport.update({ - id: '/ec2/(internet-gateways)/describe-internet-gateways/', - path: '/ec2/describe-internet-gateways/', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2instancesDescribeInstancesIndexRoute = - AuthEc2instancesDescribeInstancesIndexRouteImport.update({ - id: '/ec2/(instances)/describe-instances/', - path: '/ec2/describe-instances/', +const AuthEc2elasticIpsDescribeAddressesIdRoute = + AuthEc2elasticIpsDescribeAddressesIdRouteImport.update({ + id: '/ec2/(elastic-ips)/describe-addresses/$id', + path: '/ec2/describe-addresses/$id', getParentRoute: () => AuthRouteRoute, } as any) const AuthEc2imagesDescribeImagesIndexRoute = @@ -430,33 +335,238 @@ const AuthEc2imagesDescribeImagesIndexRoute = path: '/ec2/describe-images/', getParentRoute: () => AuthRouteRoute, } as any) -const AuthEc2elasticIpsDescribeAddressesIndexRoute = - AuthEc2elasticIpsDescribeAddressesIndexRouteImport.update({ - id: '/ec2/(elastic-ips)/describe-addresses/', - path: '/ec2/describe-addresses/', +const AuthEc2imagesDescribeImagesIdRoute = + AuthEc2imagesDescribeImagesIdRouteImport.update({ + id: '/ec2/(images)/describe-images/$id', + path: '/ec2/describe-images/$id', getParentRoute: () => AuthRouteRoute, } as any) -const AuthS3LsBucketSplatRoute = AuthS3LsBucketSplatRouteImport.update({ - id: '/$', - path: '/$', - getParentRoute: () => AuthS3LsBucketRouteRoute, -} as any) -const AuthIamusersListUsersUserNameRoute = - AuthIamusersListUsersUserNameRouteImport.update({ - id: '/iam/(users)/list-users/$userName', - path: '/iam/list-users/$userName', +const AuthEc2instancesDescribeInstancesIndexRoute = + AuthEc2instancesDescribeInstancesIndexRouteImport.update({ + id: '/ec2/(instances)/describe-instances/', + path: '/ec2/describe-instances/', getParentRoute: () => AuthRouteRoute, } as any) -const AuthIamrolesListRolesRoleNameRoute = - AuthIamrolesListRolesRoleNameRouteImport.update({ - id: '/iam/(roles)/list-roles/$roleName', - path: '/iam/list-roles/$roleName', +const AuthEc2instancesDescribeInstancesIdRoute = + AuthEc2instancesDescribeInstancesIdRouteImport.update({ + id: '/ec2/(instances)/describe-instances/$id', + path: '/ec2/describe-instances/$id', getParentRoute: () => AuthRouteRoute, } as any) -const AuthIampoliciesListPoliciesPolicyArnRoute = - AuthIampoliciesListPoliciesPolicyArnRouteImport.update({ - id: '/iam/(policies)/list-policies/$policyArn', - path: '/iam/list-policies/$policyArn', +const AuthEc2internetGatewaysDescribeInternetGatewaysIndexRoute = + AuthEc2internetGatewaysDescribeInternetGatewaysIndexRouteImport.update({ + id: '/ec2/(internet-gateways)/describe-internet-gateways/', + path: '/ec2/describe-internet-gateways/', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2internetGatewaysDescribeInternetGatewaysIdRoute = + AuthEc2internetGatewaysDescribeInternetGatewaysIdRouteImport.update({ + id: '/ec2/(internet-gateways)/describe-internet-gateways/$id', + path: '/ec2/describe-internet-gateways/$id', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2keyDescribeKeyPairsIndexRoute = + AuthEc2keyDescribeKeyPairsIndexRouteImport.update({ + id: '/ec2/(key)/describe-key-pairs/', + path: '/ec2/describe-key-pairs/', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2keyDescribeKeyPairsIdRoute = + AuthEc2keyDescribeKeyPairsIdRouteImport.update({ + id: '/ec2/(key)/describe-key-pairs/$id', + path: '/ec2/describe-key-pairs/$id', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2launchTemplatesDescribeLaunchTemplatesIndexRoute = + AuthEc2launchTemplatesDescribeLaunchTemplatesIndexRouteImport.update({ + id: '/ec2/(launch-templates)/describe-launch-templates/', + path: '/ec2/describe-launch-templates/', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2launchTemplatesDescribeLaunchTemplatesIdRoute = + AuthEc2launchTemplatesDescribeLaunchTemplatesIdRouteImport.update({ + id: '/ec2/(launch-templates)/describe-launch-templates/$id', + path: '/ec2/describe-launch-templates/$id', + 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 AuthEc2loadBalancersDescribeLoadBalancersIdRoute = + AuthEc2loadBalancersDescribeLoadBalancersIdRouteImport.update({ + id: '/ec2/(load-balancers)/describe-load-balancers/$id', + path: '/ec2/describe-load-balancers/$id', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2natGatewaysDescribeNatGatewaysIndexRoute = + AuthEc2natGatewaysDescribeNatGatewaysIndexRouteImport.update({ + id: '/ec2/(nat-gateways)/describe-nat-gateways/', + path: '/ec2/describe-nat-gateways/', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2natGatewaysDescribeNatGatewaysIdRoute = + AuthEc2natGatewaysDescribeNatGatewaysIdRouteImport.update({ + id: '/ec2/(nat-gateways)/describe-nat-gateways/$id', + path: '/ec2/describe-nat-gateways/$id', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2placementGroupsDescribePlacementGroupsIndexRoute = + AuthEc2placementGroupsDescribePlacementGroupsIndexRouteImport.update({ + id: '/ec2/(placement-groups)/describe-placement-groups/', + path: '/ec2/describe-placement-groups/', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2placementGroupsDescribePlacementGroupsIdRoute = + AuthEc2placementGroupsDescribePlacementGroupsIdRouteImport.update({ + id: '/ec2/(placement-groups)/describe-placement-groups/$id', + path: '/ec2/describe-placement-groups/$id', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2routeTablesDescribeRouteTablesIndexRoute = + AuthEc2routeTablesDescribeRouteTablesIndexRouteImport.update({ + id: '/ec2/(route-tables)/describe-route-tables/', + path: '/ec2/describe-route-tables/', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2routeTablesDescribeRouteTablesIdRoute = + AuthEc2routeTablesDescribeRouteTablesIdRouteImport.update({ + id: '/ec2/(route-tables)/describe-route-tables/$id', + path: '/ec2/describe-route-tables/$id', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2securityGroupsDescribeSecurityGroupsIndexRoute = + AuthEc2securityGroupsDescribeSecurityGroupsIndexRouteImport.update({ + id: '/ec2/(security-groups)/describe-security-groups/', + path: '/ec2/describe-security-groups/', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2securityGroupsDescribeSecurityGroupsIdRoute = + AuthEc2securityGroupsDescribeSecurityGroupsIdRouteImport.update({ + id: '/ec2/(security-groups)/describe-security-groups/$id', + path: '/ec2/describe-security-groups/$id', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2snapshotsDescribeSnapshotsIndexRoute = + AuthEc2snapshotsDescribeSnapshotsIndexRouteImport.update({ + id: '/ec2/(snapshots)/describe-snapshots/', + path: '/ec2/describe-snapshots/', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2snapshotsDescribeSnapshotsIdRoute = + AuthEc2snapshotsDescribeSnapshotsIdRouteImport.update({ + id: '/ec2/(snapshots)/describe-snapshots/$id', + path: '/ec2/describe-snapshots/$id', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2subnetDescribeSubnetsIndexRoute = + AuthEc2subnetDescribeSubnetsIndexRouteImport.update({ + id: '/ec2/(subnet)/describe-subnets/', + path: '/ec2/describe-subnets/', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2subnetDescribeSubnetsIdRoute = + AuthEc2subnetDescribeSubnetsIdRouteImport.update({ + id: '/ec2/(subnet)/describe-subnets/$id', + path: '/ec2/describe-subnets/$id', + 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 AuthEc2targetGroupsDescribeTargetGroupsIdRoute = + AuthEc2targetGroupsDescribeTargetGroupsIdRouteImport.update({ + id: '/ec2/(target-groups)/describe-target-groups/$id', + path: '/ec2/describe-target-groups/$id', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2volumesDescribeVolumesIndexRoute = + AuthEc2volumesDescribeVolumesIndexRouteImport.update({ + id: '/ec2/(volumes)/describe-volumes/', + path: '/ec2/describe-volumes/', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2volumesDescribeVolumesIdRoute = + AuthEc2volumesDescribeVolumesIdRouteImport.update({ + id: '/ec2/(volumes)/describe-volumes/$id', + path: '/ec2/describe-volumes/$id', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2volumesModifyVolumeIdRoute = + AuthEc2volumesModifyVolumeIdRouteImport.update({ + id: '/ec2/(volumes)/modify-volume/$id', + path: '/ec2/modify-volume/$id', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2vpcDescribeVpcsIndexRoute = + AuthEc2vpcDescribeVpcsIndexRouteImport.update({ + id: '/ec2/(vpc)/describe-vpcs/', + path: '/ec2/describe-vpcs/', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEc2vpcDescribeVpcsIdRoute = + AuthEc2vpcDescribeVpcsIdRouteImport.update({ + id: '/ec2/(vpc)/describe-vpcs/$id', + path: '/ec2/describe-vpcs/$id', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEcrrepositoriesListRepositoriesIndexRoute = + AuthEcrrepositoriesListRepositoriesIndexRouteImport.update({ + id: '/ecr/(repositories)/list-repositories/', + path: '/ecr/list-repositories/', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEcrrepositoriesListRepositoriesIdRoute = + AuthEcrrepositoriesListRepositoriesIdRouteImport.update({ + id: '/ecr/(repositories)/list-repositories/$id', + path: '/ecr/list-repositories/$id', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEcsclustersListClustersIndexRoute = + AuthEcsclustersListClustersIndexRouteImport.update({ + id: '/ecs/(clusters)/list-clusters/', + path: '/ecs/list-clusters/', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEcsclustersListClustersClusterNameRoute = + AuthEcsclustersListClustersClusterNameRouteImport.update({ + id: '/ecs/(clusters)/list-clusters/$clusterName', + path: '/ecs/list-clusters/$clusterName', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEksclustersListClustersIndexRoute = + AuthEksclustersListClustersIndexRouteImport.update({ + id: '/eks/(clusters)/list-clusters/', + path: '/eks/list-clusters/', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthEksclustersListClustersClusterNameRoute = + AuthEksclustersListClustersClusterNameRouteImport.update({ + id: '/eks/(clusters)/list-clusters/$clusterName', + path: '/eks/list-clusters/$clusterName', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthIamgroupsListGroupsIndexRoute = + AuthIamgroupsListGroupsIndexRouteImport.update({ + id: '/iam/(groups)/list-groups/', + path: '/iam/list-groups/', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthIamgroupsListGroupsGroupNameRoute = + AuthIamgroupsListGroupsGroupNameRouteImport.update({ + id: '/iam/(groups)/list-groups/$groupName', + path: '/iam/list-groups/$groupName', + getParentRoute: () => AuthRouteRoute, + } as any) +const AuthIaminstanceProfilesListInstanceProfilesIndexRoute = + AuthIaminstanceProfilesListInstanceProfilesIndexRouteImport.update({ + id: '/iam/(instance-profiles)/list-instance-profiles/', + path: '/iam/list-instance-profiles/', getParentRoute: () => AuthRouteRoute, } as any) const AuthIaminstanceProfilesListInstanceProfilesInstanceProfileNameRoute = @@ -467,130 +577,110 @@ const AuthIaminstanceProfilesListInstanceProfilesInstanceProfileNameRoute = getParentRoute: () => AuthRouteRoute, } as any, ) -const AuthIamgroupsListGroupsGroupNameRoute = - AuthIamgroupsListGroupsGroupNameRouteImport.update({ - id: '/iam/(groups)/list-groups/$groupName', - path: '/iam/list-groups/$groupName', +const AuthIampoliciesListPoliciesIndexRoute = + AuthIampoliciesListPoliciesIndexRouteImport.update({ + id: '/iam/(policies)/list-policies/', + path: '/iam/list-policies/', getParentRoute: () => AuthRouteRoute, } as any) -const AuthEksclustersListClustersClusterNameRoute = - AuthEksclustersListClustersClusterNameRouteImport.update({ - id: '/eks/(clusters)/list-clusters/$clusterName', - path: '/eks/list-clusters/$clusterName', +const AuthIampoliciesListPoliciesPolicyArnRoute = + AuthIampoliciesListPoliciesPolicyArnRouteImport.update({ + id: '/iam/(policies)/list-policies/$policyArn', + path: '/iam/list-policies/$policyArn', getParentRoute: () => AuthRouteRoute, } as any) -const AuthEcsclustersListClustersClusterNameRoute = - AuthEcsclustersListClustersClusterNameRouteImport.update({ - id: '/ecs/(clusters)/list-clusters/$clusterName', - path: '/ecs/list-clusters/$clusterName', +const AuthIamrolesListRolesIndexRoute = + AuthIamrolesListRolesIndexRouteImport.update({ + id: '/iam/(roles)/list-roles/', + path: '/iam/list-roles/', getParentRoute: () => AuthRouteRoute, } as any) -const AuthEcrrepositoriesListRepositoriesIdRoute = - AuthEcrrepositoriesListRepositoriesIdRouteImport.update({ - id: '/ecr/(repositories)/list-repositories/$id', - path: '/ecr/list-repositories/$id', +const AuthIamrolesListRolesRoleNameRoute = + AuthIamrolesListRolesRoleNameRouteImport.update({ + id: '/iam/(roles)/list-roles/$roleName', + path: '/iam/list-roles/$roleName', getParentRoute: () => AuthRouteRoute, } as any) -const AuthEc2vpcDescribeVpcsIdRoute = - AuthEc2vpcDescribeVpcsIdRouteImport.update({ - id: '/ec2/(vpc)/describe-vpcs/$id', - path: '/ec2/describe-vpcs/$id', +const AuthIamusersListUsersIndexRoute = + AuthIamusersListUsersIndexRouteImport.update({ + id: '/iam/(users)/list-users/', + path: '/iam/list-users/', getParentRoute: () => AuthRouteRoute, } as any) -const AuthEc2volumesModifyVolumeIdRoute = - AuthEc2volumesModifyVolumeIdRouteImport.update({ - id: '/ec2/(volumes)/modify-volume/$id', - path: '/ec2/modify-volume/$id', +const AuthIamusersListUsersUserNameRoute = + AuthIamusersListUsersUserNameRouteImport.update({ + id: '/iam/(users)/list-users/$userName', + path: '/iam/list-users/$userName', getParentRoute: () => AuthRouteRoute, } as any) -const AuthEc2volumesDescribeVolumesIdRoute = - AuthEc2volumesDescribeVolumesIdRouteImport.update({ - id: '/ec2/(volumes)/describe-volumes/$id', - path: '/ec2/describe-volumes/$id', +const AuthRdsdbInstancesDescribeDbInstancesIndexRoute = + AuthRdsdbInstancesDescribeDbInstancesIndexRouteImport.update({ + id: '/rds/(db-instances)/describe-db-instances/', + path: '/rds/describe-db-instances/', getParentRoute: () => AuthRouteRoute, } as any) -const AuthEc2targetGroupsDescribeTargetGroupsIdRoute = - AuthEc2targetGroupsDescribeTargetGroupsIdRouteImport.update({ - id: '/ec2/(target-groups)/describe-target-groups/$id', - path: '/ec2/describe-target-groups/$id', +const AuthRdsdbInstancesDescribeDbInstancesIdRoute = + AuthRdsdbInstancesDescribeDbInstancesIdRouteImport.update({ + id: '/rds/(db-instances)/describe-db-instances/$id', + path: '/rds/describe-db-instances/$id', getParentRoute: () => AuthRouteRoute, } as any) -const AuthEc2subnetDescribeSubnetsIdRoute = - AuthEc2subnetDescribeSubnetsIdRouteImport.update({ - id: '/ec2/(subnet)/describe-subnets/$id', - path: '/ec2/describe-subnets/$id', +const AuthRdsparameterGroupsDescribeDbParameterGroupsIndexRoute = + AuthRdsparameterGroupsDescribeDbParameterGroupsIndexRouteImport.update({ + id: '/rds/(parameter-groups)/describe-db-parameter-groups/', + path: '/rds/describe-db-parameter-groups/', getParentRoute: () => AuthRouteRoute, } as any) -const AuthEc2snapshotsDescribeSnapshotsIdRoute = - AuthEc2snapshotsDescribeSnapshotsIdRouteImport.update({ - id: '/ec2/(snapshots)/describe-snapshots/$id', - path: '/ec2/describe-snapshots/$id', +const AuthRdsparameterGroupsDescribeDbParameterGroupsNameRoute = + AuthRdsparameterGroupsDescribeDbParameterGroupsNameRouteImport.update({ + id: '/rds/(parameter-groups)/describe-db-parameter-groups/$name', + path: '/rds/describe-db-parameter-groups/$name', getParentRoute: () => AuthRouteRoute, } as any) -const AuthEc2securityGroupsDescribeSecurityGroupsIdRoute = - AuthEc2securityGroupsDescribeSecurityGroupsIdRouteImport.update({ - id: '/ec2/(security-groups)/describe-security-groups/$id', - path: '/ec2/describe-security-groups/$id', +const AuthRdssnapshotsDescribeDbSnapshotsIndexRoute = + AuthRdssnapshotsDescribeDbSnapshotsIndexRouteImport.update({ + id: '/rds/(snapshots)/describe-db-snapshots/', + path: '/rds/describe-db-snapshots/', getParentRoute: () => AuthRouteRoute, } as any) -const AuthEc2routeTablesDescribeRouteTablesIdRoute = - AuthEc2routeTablesDescribeRouteTablesIdRouteImport.update({ - id: '/ec2/(route-tables)/describe-route-tables/$id', - path: '/ec2/describe-route-tables/$id', +const AuthRdssnapshotsDescribeDbSnapshotsIdRoute = + AuthRdssnapshotsDescribeDbSnapshotsIdRouteImport.update({ + id: '/rds/(snapshots)/describe-db-snapshots/$id', + path: '/rds/describe-db-snapshots/$id', getParentRoute: () => AuthRouteRoute, } as any) -const AuthEc2placementGroupsDescribePlacementGroupsIdRoute = - AuthEc2placementGroupsDescribePlacementGroupsIdRouteImport.update({ - id: '/ec2/(placement-groups)/describe-placement-groups/$id', - path: '/ec2/describe-placement-groups/$id', +const AuthRdssnapshotsRestoreDbInstanceFromDbSnapshotIdRoute = + AuthRdssnapshotsRestoreDbInstanceFromDbSnapshotIdRouteImport.update({ + id: '/rds/(snapshots)/restore-db-instance-from-db-snapshot/$id', + path: '/rds/restore-db-instance-from-db-snapshot/$id', getParentRoute: () => AuthRouteRoute, } as any) -const AuthEc2natGatewaysDescribeNatGatewaysIdRoute = - AuthEc2natGatewaysDescribeNatGatewaysIdRouteImport.update({ - id: '/ec2/(nat-gateways)/describe-nat-gateways/$id', - path: '/ec2/describe-nat-gateways/$id', +const AuthRdssubnetGroupsDescribeDbSubnetGroupsIndexRoute = + AuthRdssubnetGroupsDescribeDbSubnetGroupsIndexRouteImport.update({ + id: '/rds/(subnet-groups)/describe-db-subnet-groups/', + path: '/rds/describe-db-subnet-groups/', getParentRoute: () => AuthRouteRoute, } as any) -const AuthEc2loadBalancersDescribeLoadBalancersIdRoute = - AuthEc2loadBalancersDescribeLoadBalancersIdRouteImport.update({ - id: '/ec2/(load-balancers)/describe-load-balancers/$id', - path: '/ec2/describe-load-balancers/$id', +const AuthRdssubnetGroupsDescribeDbSubnetGroupsNameRoute = + AuthRdssubnetGroupsDescribeDbSubnetGroupsNameRouteImport.update({ + id: '/rds/(subnet-groups)/describe-db-subnet-groups/$name', + path: '/rds/describe-db-subnet-groups/$name', getParentRoute: () => AuthRouteRoute, } as any) -const AuthEc2launchTemplatesDescribeLaunchTemplatesIdRoute = - AuthEc2launchTemplatesDescribeLaunchTemplatesIdRouteImport.update({ - id: '/ec2/(launch-templates)/describe-launch-templates/$id', - path: '/ec2/describe-launch-templates/$id', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2keyDescribeKeyPairsIdRoute = - AuthEc2keyDescribeKeyPairsIdRouteImport.update({ - id: '/ec2/(key)/describe-key-pairs/$id', - path: '/ec2/describe-key-pairs/$id', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2internetGatewaysDescribeInternetGatewaysIdRoute = - AuthEc2internetGatewaysDescribeInternetGatewaysIdRouteImport.update({ - id: '/ec2/(internet-gateways)/describe-internet-gateways/$id', - path: '/ec2/describe-internet-gateways/$id', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2instancesDescribeInstancesIdRoute = - AuthEc2instancesDescribeInstancesIdRouteImport.update({ - id: '/ec2/(instances)/describe-instances/$id', - path: '/ec2/describe-instances/$id', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2imagesDescribeImagesIdRoute = - AuthEc2imagesDescribeImagesIdRouteImport.update({ - id: '/ec2/(images)/describe-images/$id', - path: '/ec2/describe-images/$id', - getParentRoute: () => AuthRouteRoute, - } as any) -const AuthEc2elasticIpsDescribeAddressesIdRoute = - AuthEc2elasticIpsDescribeAddressesIdRouteImport.update({ - id: '/ec2/(elastic-ips)/describe-addresses/$id', - path: '/ec2/describe-addresses/$id', +const AuthS3LsBucketIndexRoute = AuthS3LsBucketIndexRouteImport.update({ + id: '/', + path: '/', + getParentRoute: () => AuthS3LsBucketRouteRoute, +} as any) +const AuthS3LsBucketSplatRoute = AuthS3LsBucketSplatRouteImport.update({ + id: '/$', + path: '/$', + getParentRoute: () => AuthS3LsBucketRouteRoute, +} as any) +const AuthEcsclustersListClustersClusterNameServicesServiceNameRoute = + AuthEcsclustersListClustersClusterNameServicesServiceNameRouteImport.update({ + id: '/ecs/(clusters)/list-clusters/$clusterName_/services/$serviceName', + path: '/ecs/list-clusters/$clusterName/services/$serviceName', getParentRoute: () => AuthRouteRoute, } as any) const AuthEcsclustersListClustersClusterNameTasksTaskIdRoute = @@ -599,12 +689,6 @@ const AuthEcsclustersListClustersClusterNameTasksTaskIdRoute = path: '/ecs/list-clusters/$clusterName/tasks/$taskId', getParentRoute: () => AuthRouteRoute, } as any) -const AuthEcsclustersListClustersClusterNameServicesServiceNameRoute = - AuthEcsclustersListClustersClusterNameServicesServiceNameRouteImport.update({ - id: '/ecs/(clusters)/list-clusters/$clusterName_/services/$serviceName', - path: '/ecs/list-clusters/$clusterName/services/$serviceName', - getParentRoute: () => AuthRouteRoute, - } as any) export interface FileRoutesByFullPath { '/': typeof AuthIndexRoute @@ -638,6 +722,9 @@ export interface FileRoutesByFullPath { '/iam/create-policy': typeof AuthIampoliciesCreatePolicyRoute '/iam/create-role': typeof AuthIamrolesCreateRoleRoute '/iam/create-user': typeof AuthIamusersCreateUserRoute + '/rds/create-db-instance': typeof AuthRdsdbInstancesCreateDbInstanceRoute + '/rds/create-db-parameter-group': typeof AuthRdsparameterGroupsCreateDbParameterGroupRoute + '/rds/create-db-subnet-group': typeof AuthRdssubnetGroupsCreateDbSubnetGroupRoute '/s3/create-bucket': typeof AuthS3bucketsCreateBucketRoute '/s3/ls/': typeof AuthS3LsIndexRoute '/ec2/describe-addresses/$id': typeof AuthEc2elasticIpsDescribeAddressesIdRoute @@ -665,6 +752,11 @@ export interface FileRoutesByFullPath { '/iam/list-policies/$policyArn': typeof AuthIampoliciesListPoliciesPolicyArnRoute '/iam/list-roles/$roleName': typeof AuthIamrolesListRolesRoleNameRoute '/iam/list-users/$userName': typeof AuthIamusersListUsersUserNameRoute + '/rds/describe-db-instances/$id': typeof AuthRdsdbInstancesDescribeDbInstancesIdRoute + '/rds/describe-db-parameter-groups/$name': typeof AuthRdsparameterGroupsDescribeDbParameterGroupsNameRoute + '/rds/describe-db-snapshots/$id': typeof AuthRdssnapshotsDescribeDbSnapshotsIdRoute + '/rds/restore-db-instance-from-db-snapshot/$id': typeof AuthRdssnapshotsRestoreDbInstanceFromDbSnapshotIdRoute + '/rds/describe-db-subnet-groups/$name': typeof AuthRdssubnetGroupsDescribeDbSubnetGroupsNameRoute '/s3/ls/$bucket/$': typeof AuthS3LsBucketSplatRoute '/ec2/describe-addresses/': typeof AuthEc2elasticIpsDescribeAddressesIndexRoute '/ec2/describe-images/': typeof AuthEc2imagesDescribeImagesIndexRoute @@ -690,6 +782,10 @@ export interface FileRoutesByFullPath { '/iam/list-policies/': typeof AuthIampoliciesListPoliciesIndexRoute '/iam/list-roles/': typeof AuthIamrolesListRolesIndexRoute '/iam/list-users/': typeof AuthIamusersListUsersIndexRoute + '/rds/describe-db-instances/': typeof AuthRdsdbInstancesDescribeDbInstancesIndexRoute + '/rds/describe-db-parameter-groups/': typeof AuthRdsparameterGroupsDescribeDbParameterGroupsIndexRoute + '/rds/describe-db-snapshots/': typeof AuthRdssnapshotsDescribeDbSnapshotsIndexRoute + '/rds/describe-db-subnet-groups/': typeof AuthRdssubnetGroupsDescribeDbSubnetGroupsIndexRoute '/s3/ls/$bucket/': typeof AuthS3LsBucketIndexRoute '/ecs/list-clusters/$clusterName/services/$serviceName': typeof AuthEcsclustersListClustersClusterNameServicesServiceNameRoute '/ecs/list-clusters/$clusterName/tasks/$taskId': typeof AuthEcsclustersListClustersClusterNameTasksTaskIdRoute @@ -725,6 +821,9 @@ export interface FileRoutesByTo { '/iam/create-policy': typeof AuthIampoliciesCreatePolicyRoute '/iam/create-role': typeof AuthIamrolesCreateRoleRoute '/iam/create-user': typeof AuthIamusersCreateUserRoute + '/rds/create-db-instance': typeof AuthRdsdbInstancesCreateDbInstanceRoute + '/rds/create-db-parameter-group': typeof AuthRdsparameterGroupsCreateDbParameterGroupRoute + '/rds/create-db-subnet-group': typeof AuthRdssubnetGroupsCreateDbSubnetGroupRoute '/s3/create-bucket': typeof AuthS3bucketsCreateBucketRoute '/s3/ls': typeof AuthS3LsIndexRoute '/ec2/describe-addresses/$id': typeof AuthEc2elasticIpsDescribeAddressesIdRoute @@ -752,6 +851,11 @@ export interface FileRoutesByTo { '/iam/list-policies/$policyArn': typeof AuthIampoliciesListPoliciesPolicyArnRoute '/iam/list-roles/$roleName': typeof AuthIamrolesListRolesRoleNameRoute '/iam/list-users/$userName': typeof AuthIamusersListUsersUserNameRoute + '/rds/describe-db-instances/$id': typeof AuthRdsdbInstancesDescribeDbInstancesIdRoute + '/rds/describe-db-parameter-groups/$name': typeof AuthRdsparameterGroupsDescribeDbParameterGroupsNameRoute + '/rds/describe-db-snapshots/$id': typeof AuthRdssnapshotsDescribeDbSnapshotsIdRoute + '/rds/restore-db-instance-from-db-snapshot/$id': typeof AuthRdssnapshotsRestoreDbInstanceFromDbSnapshotIdRoute + '/rds/describe-db-subnet-groups/$name': typeof AuthRdssubnetGroupsDescribeDbSubnetGroupsNameRoute '/s3/ls/$bucket/$': typeof AuthS3LsBucketSplatRoute '/ec2/describe-addresses': typeof AuthEc2elasticIpsDescribeAddressesIndexRoute '/ec2/describe-images': typeof AuthEc2imagesDescribeImagesIndexRoute @@ -777,6 +881,10 @@ export interface FileRoutesByTo { '/iam/list-policies': typeof AuthIampoliciesListPoliciesIndexRoute '/iam/list-roles': typeof AuthIamrolesListRolesIndexRoute '/iam/list-users': typeof AuthIamusersListUsersIndexRoute + '/rds/describe-db-instances': typeof AuthRdsdbInstancesDescribeDbInstancesIndexRoute + '/rds/describe-db-parameter-groups': typeof AuthRdsparameterGroupsDescribeDbParameterGroupsIndexRoute + '/rds/describe-db-snapshots': typeof AuthRdssnapshotsDescribeDbSnapshotsIndexRoute + '/rds/describe-db-subnet-groups': typeof AuthRdssubnetGroupsDescribeDbSubnetGroupsIndexRoute '/s3/ls/$bucket': typeof AuthS3LsBucketIndexRoute '/ecs/list-clusters/$clusterName/services/$serviceName': typeof AuthEcsclustersListClustersClusterNameServicesServiceNameRoute '/ecs/list-clusters/$clusterName/tasks/$taskId': typeof AuthEcsclustersListClustersClusterNameTasksTaskIdRoute @@ -815,6 +923,9 @@ export interface FileRoutesById { '/_auth/iam/(policies)/create-policy': typeof AuthIampoliciesCreatePolicyRoute '/_auth/iam/(roles)/create-role': typeof AuthIamrolesCreateRoleRoute '/_auth/iam/(users)/create-user': typeof AuthIamusersCreateUserRoute + '/_auth/rds/(db-instances)/create-db-instance': typeof AuthRdsdbInstancesCreateDbInstanceRoute + '/_auth/rds/(parameter-groups)/create-db-parameter-group': typeof AuthRdsparameterGroupsCreateDbParameterGroupRoute + '/_auth/rds/(subnet-groups)/create-db-subnet-group': typeof AuthRdssubnetGroupsCreateDbSubnetGroupRoute '/_auth/s3/(buckets)/create-bucket': typeof AuthS3bucketsCreateBucketRoute '/_auth/s3/ls/': typeof AuthS3LsIndexRoute '/_auth/ec2/(elastic-ips)/describe-addresses/$id': typeof AuthEc2elasticIpsDescribeAddressesIdRoute @@ -842,6 +953,11 @@ export interface FileRoutesById { '/_auth/iam/(policies)/list-policies/$policyArn': typeof AuthIampoliciesListPoliciesPolicyArnRoute '/_auth/iam/(roles)/list-roles/$roleName': typeof AuthIamrolesListRolesRoleNameRoute '/_auth/iam/(users)/list-users/$userName': typeof AuthIamusersListUsersUserNameRoute + '/_auth/rds/(db-instances)/describe-db-instances/$id': typeof AuthRdsdbInstancesDescribeDbInstancesIdRoute + '/_auth/rds/(parameter-groups)/describe-db-parameter-groups/$name': typeof AuthRdsparameterGroupsDescribeDbParameterGroupsNameRoute + '/_auth/rds/(snapshots)/describe-db-snapshots/$id': typeof AuthRdssnapshotsDescribeDbSnapshotsIdRoute + '/_auth/rds/(snapshots)/restore-db-instance-from-db-snapshot/$id': typeof AuthRdssnapshotsRestoreDbInstanceFromDbSnapshotIdRoute + '/_auth/rds/(subnet-groups)/describe-db-subnet-groups/$name': typeof AuthRdssubnetGroupsDescribeDbSubnetGroupsNameRoute '/_auth/s3/ls/$bucket/$': typeof AuthS3LsBucketSplatRoute '/_auth/ec2/(elastic-ips)/describe-addresses/': typeof AuthEc2elasticIpsDescribeAddressesIndexRoute '/_auth/ec2/(images)/describe-images/': typeof AuthEc2imagesDescribeImagesIndexRoute @@ -867,6 +983,10 @@ export interface FileRoutesById { '/_auth/iam/(policies)/list-policies/': typeof AuthIampoliciesListPoliciesIndexRoute '/_auth/iam/(roles)/list-roles/': typeof AuthIamrolesListRolesIndexRoute '/_auth/iam/(users)/list-users/': typeof AuthIamusersListUsersIndexRoute + '/_auth/rds/(db-instances)/describe-db-instances/': typeof AuthRdsdbInstancesDescribeDbInstancesIndexRoute + '/_auth/rds/(parameter-groups)/describe-db-parameter-groups/': typeof AuthRdsparameterGroupsDescribeDbParameterGroupsIndexRoute + '/_auth/rds/(snapshots)/describe-db-snapshots/': typeof AuthRdssnapshotsDescribeDbSnapshotsIndexRoute + '/_auth/rds/(subnet-groups)/describe-db-subnet-groups/': typeof AuthRdssubnetGroupsDescribeDbSubnetGroupsIndexRoute '/_auth/s3/ls/$bucket/': typeof AuthS3LsBucketIndexRoute '/_auth/ecs/(clusters)/list-clusters/$clusterName_/services/$serviceName': typeof AuthEcsclustersListClustersClusterNameServicesServiceNameRoute '/_auth/ecs/(clusters)/list-clusters/$clusterName_/tasks/$taskId': typeof AuthEcsclustersListClustersClusterNameTasksTaskIdRoute @@ -905,6 +1025,9 @@ export interface FileRouteTypes { | '/iam/create-policy' | '/iam/create-role' | '/iam/create-user' + | '/rds/create-db-instance' + | '/rds/create-db-parameter-group' + | '/rds/create-db-subnet-group' | '/s3/create-bucket' | '/s3/ls/' | '/ec2/describe-addresses/$id' @@ -932,6 +1055,11 @@ export interface FileRouteTypes { | '/iam/list-policies/$policyArn' | '/iam/list-roles/$roleName' | '/iam/list-users/$userName' + | '/rds/describe-db-instances/$id' + | '/rds/describe-db-parameter-groups/$name' + | '/rds/describe-db-snapshots/$id' + | '/rds/restore-db-instance-from-db-snapshot/$id' + | '/rds/describe-db-subnet-groups/$name' | '/s3/ls/$bucket/$' | '/ec2/describe-addresses/' | '/ec2/describe-images/' @@ -957,6 +1085,10 @@ export interface FileRouteTypes { | '/iam/list-policies/' | '/iam/list-roles/' | '/iam/list-users/' + | '/rds/describe-db-instances/' + | '/rds/describe-db-parameter-groups/' + | '/rds/describe-db-snapshots/' + | '/rds/describe-db-subnet-groups/' | '/s3/ls/$bucket/' | '/ecs/list-clusters/$clusterName/services/$serviceName' | '/ecs/list-clusters/$clusterName/tasks/$taskId' @@ -992,6 +1124,9 @@ export interface FileRouteTypes { | '/iam/create-policy' | '/iam/create-role' | '/iam/create-user' + | '/rds/create-db-instance' + | '/rds/create-db-parameter-group' + | '/rds/create-db-subnet-group' | '/s3/create-bucket' | '/s3/ls' | '/ec2/describe-addresses/$id' @@ -1019,6 +1154,11 @@ export interface FileRouteTypes { | '/iam/list-policies/$policyArn' | '/iam/list-roles/$roleName' | '/iam/list-users/$userName' + | '/rds/describe-db-instances/$id' + | '/rds/describe-db-parameter-groups/$name' + | '/rds/describe-db-snapshots/$id' + | '/rds/restore-db-instance-from-db-snapshot/$id' + | '/rds/describe-db-subnet-groups/$name' | '/s3/ls/$bucket/$' | '/ec2/describe-addresses' | '/ec2/describe-images' @@ -1044,6 +1184,10 @@ export interface FileRouteTypes { | '/iam/list-policies' | '/iam/list-roles' | '/iam/list-users' + | '/rds/describe-db-instances' + | '/rds/describe-db-parameter-groups' + | '/rds/describe-db-snapshots' + | '/rds/describe-db-subnet-groups' | '/s3/ls/$bucket' | '/ecs/list-clusters/$clusterName/services/$serviceName' | '/ecs/list-clusters/$clusterName/tasks/$taskId' @@ -1081,6 +1225,9 @@ export interface FileRouteTypes { | '/_auth/iam/(policies)/create-policy' | '/_auth/iam/(roles)/create-role' | '/_auth/iam/(users)/create-user' + | '/_auth/rds/(db-instances)/create-db-instance' + | '/_auth/rds/(parameter-groups)/create-db-parameter-group' + | '/_auth/rds/(subnet-groups)/create-db-subnet-group' | '/_auth/s3/(buckets)/create-bucket' | '/_auth/s3/ls/' | '/_auth/ec2/(elastic-ips)/describe-addresses/$id' @@ -1108,6 +1255,11 @@ export interface FileRouteTypes { | '/_auth/iam/(policies)/list-policies/$policyArn' | '/_auth/iam/(roles)/list-roles/$roleName' | '/_auth/iam/(users)/list-users/$userName' + | '/_auth/rds/(db-instances)/describe-db-instances/$id' + | '/_auth/rds/(parameter-groups)/describe-db-parameter-groups/$name' + | '/_auth/rds/(snapshots)/describe-db-snapshots/$id' + | '/_auth/rds/(snapshots)/restore-db-instance-from-db-snapshot/$id' + | '/_auth/rds/(subnet-groups)/describe-db-subnet-groups/$name' | '/_auth/s3/ls/$bucket/$' | '/_auth/ec2/(elastic-ips)/describe-addresses/' | '/_auth/ec2/(images)/describe-images/' @@ -1133,6 +1285,10 @@ export interface FileRouteTypes { | '/_auth/iam/(policies)/list-policies/' | '/_auth/iam/(roles)/list-roles/' | '/_auth/iam/(users)/list-users/' + | '/_auth/rds/(db-instances)/describe-db-instances/' + | '/_auth/rds/(parameter-groups)/describe-db-parameter-groups/' + | '/_auth/rds/(snapshots)/describe-db-snapshots/' + | '/_auth/rds/(subnet-groups)/describe-db-subnet-groups/' | '/_auth/s3/ls/$bucket/' | '/_auth/ecs/(clusters)/list-clusters/$clusterName_/services/$serviceName' | '/_auth/ecs/(clusters)/list-clusters/$clusterName_/tasks/$taskId' @@ -1145,13 +1301,6 @@ export interface RootRouteChildren { declare module '@tanstack/react-router' { interface FileRoutesByPath { - '/login': { - id: '/login' - path: '/login' - fullPath: '/login' - preLoaderRoute: typeof LoginRouteImport - parentRoute: typeof rootRouteImport - } '/_auth': { id: '/_auth' path: '' @@ -1159,6 +1308,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AuthRouteRouteImport parentRoute: typeof rootRouteImport } + '/login': { + id: '/login' + path: '/login' + fullPath: '/login' + preLoaderRoute: typeof LoginRouteImport + parentRoute: typeof rootRouteImport + } '/_auth/': { id: '/_auth/' path: '/' @@ -1180,186 +1336,11 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AuthS3ServiceMetricsRouteImport parentRoute: typeof AuthRouteRoute } - '/_auth/s3/ls/': { - id: '/_auth/s3/ls/' - path: '/s3/ls' - fullPath: '/s3/ls/' - preLoaderRoute: typeof AuthS3LsIndexRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/s3/(buckets)/create-bucket': { - id: '/_auth/s3/(buckets)/create-bucket' - path: '/s3/create-bucket' - fullPath: '/s3/create-bucket' - preLoaderRoute: typeof AuthS3bucketsCreateBucketRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/iam/(users)/create-user': { - id: '/_auth/iam/(users)/create-user' - path: '/iam/create-user' - fullPath: '/iam/create-user' - preLoaderRoute: typeof AuthIamusersCreateUserRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/iam/(roles)/create-role': { - id: '/_auth/iam/(roles)/create-role' - path: '/iam/create-role' - fullPath: '/iam/create-role' - preLoaderRoute: typeof AuthIamrolesCreateRoleRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/iam/(policies)/create-policy': { - id: '/_auth/iam/(policies)/create-policy' - path: '/iam/create-policy' - fullPath: '/iam/create-policy' - preLoaderRoute: typeof AuthIampoliciesCreatePolicyRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/iam/(instance-profiles)/create-instance-profile': { - id: '/_auth/iam/(instance-profiles)/create-instance-profile' - path: '/iam/create-instance-profile' - fullPath: '/iam/create-instance-profile' - preLoaderRoute: typeof AuthIaminstanceProfilesCreateInstanceProfileRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/iam/(groups)/create-group': { - id: '/_auth/iam/(groups)/create-group' - path: '/iam/create-group' - fullPath: '/iam/create-group' - preLoaderRoute: typeof AuthIamgroupsCreateGroupRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/eks/(clusters)/create-cluster': { - id: '/_auth/eks/(clusters)/create-cluster' - path: '/eks/create-cluster' - fullPath: '/eks/create-cluster' - preLoaderRoute: typeof AuthEksclustersCreateClusterRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ecs/(clusters)/task-definitions': { - id: '/_auth/ecs/(clusters)/task-definitions' - path: '/ecs/task-definitions' - fullPath: '/ecs/task-definitions' - preLoaderRoute: typeof AuthEcsclustersTaskDefinitionsRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ecs/(clusters)/run-task': { - id: '/_auth/ecs/(clusters)/run-task' - path: '/ecs/run-task' - fullPath: '/ecs/run-task' - preLoaderRoute: typeof AuthEcsclustersRunTaskRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ecs/(clusters)/register-task-definition': { - id: '/_auth/ecs/(clusters)/register-task-definition' - path: '/ecs/register-task-definition' - fullPath: '/ecs/register-task-definition' - preLoaderRoute: typeof AuthEcsclustersRegisterTaskDefinitionRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ecs/(clusters)/create-service': { - id: '/_auth/ecs/(clusters)/create-service' - path: '/ecs/create-service' - fullPath: '/ecs/create-service' - preLoaderRoute: typeof AuthEcsclustersCreateServiceRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(vpc)/create-vpc': { - id: '/_auth/ec2/(vpc)/create-vpc' - path: '/ec2/create-vpc' - fullPath: '/ec2/create-vpc' - preLoaderRoute: typeof AuthEc2vpcCreateVpcRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(volumes)/create-volume': { - id: '/_auth/ec2/(volumes)/create-volume' - path: '/ec2/create-volume' - fullPath: '/ec2/create-volume' - 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' - fullPath: '/ec2/create-subnet' - preLoaderRoute: typeof AuthEc2subnetCreateSubnetRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(snapshots)/create-snapshot': { - id: '/_auth/ec2/(snapshots)/create-snapshot' - path: '/ec2/create-snapshot' - fullPath: '/ec2/create-snapshot' - preLoaderRoute: typeof AuthEc2snapshotsCreateSnapshotRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(security-groups)/create-security-group': { - id: '/_auth/ec2/(security-groups)/create-security-group' - path: '/ec2/create-security-group' - fullPath: '/ec2/create-security-group' - preLoaderRoute: typeof AuthEc2securityGroupsCreateSecurityGroupRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(route-tables)/create-route-table': { - id: '/_auth/ec2/(route-tables)/create-route-table' - path: '/ec2/create-route-table' - fullPath: '/ec2/create-route-table' - preLoaderRoute: typeof AuthEc2routeTablesCreateRouteTableRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(placement-groups)/create-placement-group': { - id: '/_auth/ec2/(placement-groups)/create-placement-group' - path: '/ec2/create-placement-group' - fullPath: '/ec2/create-placement-group' - preLoaderRoute: typeof AuthEc2placementGroupsCreatePlacementGroupRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(nat-gateways)/create-nat-gateway': { - id: '/_auth/ec2/(nat-gateways)/create-nat-gateway' - path: '/ec2/create-nat-gateway' - fullPath: '/ec2/create-nat-gateway' - preLoaderRoute: typeof AuthEc2natGatewaysCreateNatGatewayRouteImport - 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/(launch-templates)/create-launch-template': { - id: '/_auth/ec2/(launch-templates)/create-launch-template' - path: '/ec2/create-launch-template' - fullPath: '/ec2/create-launch-template' - preLoaderRoute: typeof AuthEc2launchTemplatesCreateLaunchTemplateRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(key)/import-key-pair': { - id: '/_auth/ec2/(key)/import-key-pair' - path: '/ec2/import-key-pair' - fullPath: '/ec2/import-key-pair' - preLoaderRoute: typeof AuthEc2keyImportKeyPairRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(key)/create-key-pair': { - id: '/_auth/ec2/(key)/create-key-pair' - path: '/ec2/create-key-pair' - fullPath: '/ec2/create-key-pair' - preLoaderRoute: typeof AuthEc2keyCreateKeyPairRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(internet-gateways)/create-internet-gateway': { - id: '/_auth/ec2/(internet-gateways)/create-internet-gateway' - path: '/ec2/create-internet-gateway' - fullPath: '/ec2/create-internet-gateway' - preLoaderRoute: typeof AuthEc2internetGatewaysCreateInternetGatewayRouteImport + '/_auth/ec2/(elastic-ips)/allocate-address': { + id: '/_auth/ec2/(elastic-ips)/allocate-address' + path: '/ec2/allocate-address' + fullPath: '/ec2/allocate-address' + preLoaderRoute: typeof AuthEc2elasticIpsAllocateAddressRouteImport parentRoute: typeof AuthRouteRoute } '/_auth/ec2/(instances)/run-instances': { @@ -1369,11 +1350,207 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AuthEc2instancesRunInstancesRouteImport parentRoute: typeof AuthRouteRoute } - '/_auth/ec2/(elastic-ips)/allocate-address': { - id: '/_auth/ec2/(elastic-ips)/allocate-address' - path: '/ec2/allocate-address' - fullPath: '/ec2/allocate-address' - preLoaderRoute: typeof AuthEc2elasticIpsAllocateAddressRouteImport + '/_auth/ec2/(internet-gateways)/create-internet-gateway': { + id: '/_auth/ec2/(internet-gateways)/create-internet-gateway' + path: '/ec2/create-internet-gateway' + fullPath: '/ec2/create-internet-gateway' + preLoaderRoute: typeof AuthEc2internetGatewaysCreateInternetGatewayRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(key)/create-key-pair': { + id: '/_auth/ec2/(key)/create-key-pair' + path: '/ec2/create-key-pair' + fullPath: '/ec2/create-key-pair' + preLoaderRoute: typeof AuthEc2keyCreateKeyPairRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(key)/import-key-pair': { + id: '/_auth/ec2/(key)/import-key-pair' + path: '/ec2/import-key-pair' + fullPath: '/ec2/import-key-pair' + preLoaderRoute: typeof AuthEc2keyImportKeyPairRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(launch-templates)/create-launch-template': { + id: '/_auth/ec2/(launch-templates)/create-launch-template' + path: '/ec2/create-launch-template' + fullPath: '/ec2/create-launch-template' + preLoaderRoute: typeof AuthEc2launchTemplatesCreateLaunchTemplateRouteImport + 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/(nat-gateways)/create-nat-gateway': { + id: '/_auth/ec2/(nat-gateways)/create-nat-gateway' + path: '/ec2/create-nat-gateway' + fullPath: '/ec2/create-nat-gateway' + preLoaderRoute: typeof AuthEc2natGatewaysCreateNatGatewayRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(placement-groups)/create-placement-group': { + id: '/_auth/ec2/(placement-groups)/create-placement-group' + path: '/ec2/create-placement-group' + fullPath: '/ec2/create-placement-group' + preLoaderRoute: typeof AuthEc2placementGroupsCreatePlacementGroupRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(route-tables)/create-route-table': { + id: '/_auth/ec2/(route-tables)/create-route-table' + path: '/ec2/create-route-table' + fullPath: '/ec2/create-route-table' + preLoaderRoute: typeof AuthEc2routeTablesCreateRouteTableRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(security-groups)/create-security-group': { + id: '/_auth/ec2/(security-groups)/create-security-group' + path: '/ec2/create-security-group' + fullPath: '/ec2/create-security-group' + preLoaderRoute: typeof AuthEc2securityGroupsCreateSecurityGroupRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(snapshots)/create-snapshot': { + id: '/_auth/ec2/(snapshots)/create-snapshot' + path: '/ec2/create-snapshot' + fullPath: '/ec2/create-snapshot' + preLoaderRoute: typeof AuthEc2snapshotsCreateSnapshotRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(subnet)/create-subnet': { + id: '/_auth/ec2/(subnet)/create-subnet' + path: '/ec2/create-subnet' + fullPath: '/ec2/create-subnet' + preLoaderRoute: typeof AuthEc2subnetCreateSubnetRouteImport + 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/(volumes)/create-volume': { + id: '/_auth/ec2/(volumes)/create-volume' + path: '/ec2/create-volume' + fullPath: '/ec2/create-volume' + preLoaderRoute: typeof AuthEc2volumesCreateVolumeRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(vpc)/create-vpc': { + id: '/_auth/ec2/(vpc)/create-vpc' + path: '/ec2/create-vpc' + fullPath: '/ec2/create-vpc' + preLoaderRoute: typeof AuthEc2vpcCreateVpcRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ecs/(clusters)/create-service': { + id: '/_auth/ecs/(clusters)/create-service' + path: '/ecs/create-service' + fullPath: '/ecs/create-service' + preLoaderRoute: typeof AuthEcsclustersCreateServiceRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ecs/(clusters)/register-task-definition': { + id: '/_auth/ecs/(clusters)/register-task-definition' + path: '/ecs/register-task-definition' + fullPath: '/ecs/register-task-definition' + preLoaderRoute: typeof AuthEcsclustersRegisterTaskDefinitionRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ecs/(clusters)/run-task': { + id: '/_auth/ecs/(clusters)/run-task' + path: '/ecs/run-task' + fullPath: '/ecs/run-task' + preLoaderRoute: typeof AuthEcsclustersRunTaskRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ecs/(clusters)/task-definitions': { + id: '/_auth/ecs/(clusters)/task-definitions' + path: '/ecs/task-definitions' + fullPath: '/ecs/task-definitions' + preLoaderRoute: typeof AuthEcsclustersTaskDefinitionsRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/eks/(clusters)/create-cluster': { + id: '/_auth/eks/(clusters)/create-cluster' + path: '/eks/create-cluster' + fullPath: '/eks/create-cluster' + preLoaderRoute: typeof AuthEksclustersCreateClusterRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/iam/(groups)/create-group': { + id: '/_auth/iam/(groups)/create-group' + path: '/iam/create-group' + fullPath: '/iam/create-group' + preLoaderRoute: typeof AuthIamgroupsCreateGroupRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/iam/(instance-profiles)/create-instance-profile': { + id: '/_auth/iam/(instance-profiles)/create-instance-profile' + path: '/iam/create-instance-profile' + fullPath: '/iam/create-instance-profile' + preLoaderRoute: typeof AuthIaminstanceProfilesCreateInstanceProfileRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/iam/(policies)/create-policy': { + id: '/_auth/iam/(policies)/create-policy' + path: '/iam/create-policy' + fullPath: '/iam/create-policy' + preLoaderRoute: typeof AuthIampoliciesCreatePolicyRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/iam/(roles)/create-role': { + id: '/_auth/iam/(roles)/create-role' + path: '/iam/create-role' + fullPath: '/iam/create-role' + preLoaderRoute: typeof AuthIamrolesCreateRoleRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/iam/(users)/create-user': { + id: '/_auth/iam/(users)/create-user' + path: '/iam/create-user' + fullPath: '/iam/create-user' + preLoaderRoute: typeof AuthIamusersCreateUserRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/rds/(db-instances)/create-db-instance': { + id: '/_auth/rds/(db-instances)/create-db-instance' + path: '/rds/create-db-instance' + fullPath: '/rds/create-db-instance' + preLoaderRoute: typeof AuthRdsdbInstancesCreateDbInstanceRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/rds/(parameter-groups)/create-db-parameter-group': { + id: '/_auth/rds/(parameter-groups)/create-db-parameter-group' + path: '/rds/create-db-parameter-group' + fullPath: '/rds/create-db-parameter-group' + preLoaderRoute: typeof AuthRdsparameterGroupsCreateDbParameterGroupRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/rds/(subnet-groups)/create-db-subnet-group': { + id: '/_auth/rds/(subnet-groups)/create-db-subnet-group' + path: '/rds/create-db-subnet-group' + fullPath: '/rds/create-db-subnet-group' + preLoaderRoute: typeof AuthRdssubnetGroupsCreateDbSubnetGroupRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/s3/(buckets)/create-bucket': { + id: '/_auth/s3/(buckets)/create-bucket' + path: '/s3/create-bucket' + fullPath: '/s3/create-bucket' + preLoaderRoute: typeof AuthS3bucketsCreateBucketRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/s3/ls/': { + id: '/_auth/s3/ls/' + path: '/s3/ls' + fullPath: '/s3/ls/' + preLoaderRoute: typeof AuthS3LsIndexRouteImport parentRoute: typeof AuthRouteRoute } '/_auth/s3/ls/$bucket': { @@ -1383,174 +1560,6 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AuthS3LsBucketRouteRouteImport parentRoute: typeof AuthRouteRoute } - '/_auth/s3/ls/$bucket/': { - id: '/_auth/s3/ls/$bucket/' - path: '/' - fullPath: '/s3/ls/$bucket/' - preLoaderRoute: typeof AuthS3LsBucketIndexRouteImport - parentRoute: typeof AuthS3LsBucketRouteRoute - } - '/_auth/iam/(users)/list-users/': { - id: '/_auth/iam/(users)/list-users/' - path: '/iam/list-users' - fullPath: '/iam/list-users/' - preLoaderRoute: typeof AuthIamusersListUsersIndexRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/iam/(roles)/list-roles/': { - id: '/_auth/iam/(roles)/list-roles/' - path: '/iam/list-roles' - fullPath: '/iam/list-roles/' - preLoaderRoute: typeof AuthIamrolesListRolesIndexRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/iam/(policies)/list-policies/': { - id: '/_auth/iam/(policies)/list-policies/' - path: '/iam/list-policies' - fullPath: '/iam/list-policies/' - preLoaderRoute: typeof AuthIampoliciesListPoliciesIndexRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/iam/(instance-profiles)/list-instance-profiles/': { - id: '/_auth/iam/(instance-profiles)/list-instance-profiles/' - path: '/iam/list-instance-profiles' - fullPath: '/iam/list-instance-profiles/' - preLoaderRoute: typeof AuthIaminstanceProfilesListInstanceProfilesIndexRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/iam/(groups)/list-groups/': { - id: '/_auth/iam/(groups)/list-groups/' - path: '/iam/list-groups' - fullPath: '/iam/list-groups/' - preLoaderRoute: typeof AuthIamgroupsListGroupsIndexRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/eks/(clusters)/list-clusters/': { - id: '/_auth/eks/(clusters)/list-clusters/' - path: '/eks/list-clusters' - fullPath: '/eks/list-clusters/' - preLoaderRoute: typeof AuthEksclustersListClustersIndexRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ecs/(clusters)/list-clusters/': { - id: '/_auth/ecs/(clusters)/list-clusters/' - path: '/ecs/list-clusters' - fullPath: '/ecs/list-clusters/' - preLoaderRoute: typeof AuthEcsclustersListClustersIndexRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ecr/(repositories)/list-repositories/': { - id: '/_auth/ecr/(repositories)/list-repositories/' - path: '/ecr/list-repositories' - fullPath: '/ecr/list-repositories/' - preLoaderRoute: typeof AuthEcrrepositoriesListRepositoriesIndexRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(vpc)/describe-vpcs/': { - id: '/_auth/ec2/(vpc)/describe-vpcs/' - path: '/ec2/describe-vpcs' - fullPath: '/ec2/describe-vpcs/' - preLoaderRoute: typeof AuthEc2vpcDescribeVpcsIndexRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(volumes)/describe-volumes/': { - id: '/_auth/ec2/(volumes)/describe-volumes/' - path: '/ec2/describe-volumes' - fullPath: '/ec2/describe-volumes/' - 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' - fullPath: '/ec2/describe-subnets/' - preLoaderRoute: typeof AuthEc2subnetDescribeSubnetsIndexRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(snapshots)/describe-snapshots/': { - id: '/_auth/ec2/(snapshots)/describe-snapshots/' - path: '/ec2/describe-snapshots' - fullPath: '/ec2/describe-snapshots/' - preLoaderRoute: typeof AuthEc2snapshotsDescribeSnapshotsIndexRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(security-groups)/describe-security-groups/': { - id: '/_auth/ec2/(security-groups)/describe-security-groups/' - path: '/ec2/describe-security-groups' - fullPath: '/ec2/describe-security-groups/' - preLoaderRoute: typeof AuthEc2securityGroupsDescribeSecurityGroupsIndexRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(route-tables)/describe-route-tables/': { - id: '/_auth/ec2/(route-tables)/describe-route-tables/' - path: '/ec2/describe-route-tables' - fullPath: '/ec2/describe-route-tables/' - preLoaderRoute: typeof AuthEc2routeTablesDescribeRouteTablesIndexRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(placement-groups)/describe-placement-groups/': { - id: '/_auth/ec2/(placement-groups)/describe-placement-groups/' - path: '/ec2/describe-placement-groups' - fullPath: '/ec2/describe-placement-groups/' - preLoaderRoute: typeof AuthEc2placementGroupsDescribePlacementGroupsIndexRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(nat-gateways)/describe-nat-gateways/': { - id: '/_auth/ec2/(nat-gateways)/describe-nat-gateways/' - path: '/ec2/describe-nat-gateways' - fullPath: '/ec2/describe-nat-gateways/' - preLoaderRoute: typeof AuthEc2natGatewaysDescribeNatGatewaysIndexRouteImport - 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/(launch-templates)/describe-launch-templates/': { - id: '/_auth/ec2/(launch-templates)/describe-launch-templates/' - path: '/ec2/describe-launch-templates' - fullPath: '/ec2/describe-launch-templates/' - preLoaderRoute: typeof AuthEc2launchTemplatesDescribeLaunchTemplatesIndexRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(key)/describe-key-pairs/': { - id: '/_auth/ec2/(key)/describe-key-pairs/' - path: '/ec2/describe-key-pairs' - fullPath: '/ec2/describe-key-pairs/' - preLoaderRoute: typeof AuthEc2keyDescribeKeyPairsIndexRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(internet-gateways)/describe-internet-gateways/': { - id: '/_auth/ec2/(internet-gateways)/describe-internet-gateways/' - path: '/ec2/describe-internet-gateways' - fullPath: '/ec2/describe-internet-gateways/' - preLoaderRoute: typeof AuthEc2internetGatewaysDescribeInternetGatewaysIndexRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(instances)/describe-instances/': { - id: '/_auth/ec2/(instances)/describe-instances/' - path: '/ec2/describe-instances' - fullPath: '/ec2/describe-instances/' - preLoaderRoute: typeof AuthEc2instancesDescribeInstancesIndexRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(images)/describe-images/': { - id: '/_auth/ec2/(images)/describe-images/' - path: '/ec2/describe-images' - fullPath: '/ec2/describe-images/' - preLoaderRoute: typeof AuthEc2imagesDescribeImagesIndexRouteImport - parentRoute: typeof AuthRouteRoute - } '/_auth/ec2/(elastic-ips)/describe-addresses/': { id: '/_auth/ec2/(elastic-ips)/describe-addresses/' path: '/ec2/describe-addresses' @@ -1558,181 +1567,6 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AuthEc2elasticIpsDescribeAddressesIndexRouteImport parentRoute: typeof AuthRouteRoute } - '/_auth/s3/ls/$bucket/$': { - id: '/_auth/s3/ls/$bucket/$' - path: '/$' - fullPath: '/s3/ls/$bucket/$' - preLoaderRoute: typeof AuthS3LsBucketSplatRouteImport - parentRoute: typeof AuthS3LsBucketRouteRoute - } - '/_auth/iam/(users)/list-users/$userName': { - id: '/_auth/iam/(users)/list-users/$userName' - path: '/iam/list-users/$userName' - fullPath: '/iam/list-users/$userName' - preLoaderRoute: typeof AuthIamusersListUsersUserNameRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/iam/(roles)/list-roles/$roleName': { - id: '/_auth/iam/(roles)/list-roles/$roleName' - path: '/iam/list-roles/$roleName' - fullPath: '/iam/list-roles/$roleName' - preLoaderRoute: typeof AuthIamrolesListRolesRoleNameRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/iam/(policies)/list-policies/$policyArn': { - id: '/_auth/iam/(policies)/list-policies/$policyArn' - path: '/iam/list-policies/$policyArn' - fullPath: '/iam/list-policies/$policyArn' - preLoaderRoute: typeof AuthIampoliciesListPoliciesPolicyArnRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/iam/(instance-profiles)/list-instance-profiles/$instanceProfileName': { - id: '/_auth/iam/(instance-profiles)/list-instance-profiles/$instanceProfileName' - path: '/iam/list-instance-profiles/$instanceProfileName' - fullPath: '/iam/list-instance-profiles/$instanceProfileName' - preLoaderRoute: typeof AuthIaminstanceProfilesListInstanceProfilesInstanceProfileNameRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/iam/(groups)/list-groups/$groupName': { - id: '/_auth/iam/(groups)/list-groups/$groupName' - path: '/iam/list-groups/$groupName' - fullPath: '/iam/list-groups/$groupName' - preLoaderRoute: typeof AuthIamgroupsListGroupsGroupNameRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/eks/(clusters)/list-clusters/$clusterName': { - id: '/_auth/eks/(clusters)/list-clusters/$clusterName' - path: '/eks/list-clusters/$clusterName' - fullPath: '/eks/list-clusters/$clusterName' - preLoaderRoute: typeof AuthEksclustersListClustersClusterNameRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ecs/(clusters)/list-clusters/$clusterName': { - id: '/_auth/ecs/(clusters)/list-clusters/$clusterName' - path: '/ecs/list-clusters/$clusterName' - fullPath: '/ecs/list-clusters/$clusterName' - preLoaderRoute: typeof AuthEcsclustersListClustersClusterNameRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ecr/(repositories)/list-repositories/$id': { - id: '/_auth/ecr/(repositories)/list-repositories/$id' - path: '/ecr/list-repositories/$id' - fullPath: '/ecr/list-repositories/$id' - preLoaderRoute: typeof AuthEcrrepositoriesListRepositoriesIdRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(vpc)/describe-vpcs/$id': { - id: '/_auth/ec2/(vpc)/describe-vpcs/$id' - path: '/ec2/describe-vpcs/$id' - fullPath: '/ec2/describe-vpcs/$id' - preLoaderRoute: typeof AuthEc2vpcDescribeVpcsIdRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(volumes)/modify-volume/$id': { - id: '/_auth/ec2/(volumes)/modify-volume/$id' - path: '/ec2/modify-volume/$id' - fullPath: '/ec2/modify-volume/$id' - preLoaderRoute: typeof AuthEc2volumesModifyVolumeIdRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(volumes)/describe-volumes/$id': { - id: '/_auth/ec2/(volumes)/describe-volumes/$id' - path: '/ec2/describe-volumes/$id' - fullPath: '/ec2/describe-volumes/$id' - 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' - fullPath: '/ec2/describe-subnets/$id' - preLoaderRoute: typeof AuthEc2subnetDescribeSubnetsIdRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(snapshots)/describe-snapshots/$id': { - id: '/_auth/ec2/(snapshots)/describe-snapshots/$id' - path: '/ec2/describe-snapshots/$id' - fullPath: '/ec2/describe-snapshots/$id' - preLoaderRoute: typeof AuthEc2snapshotsDescribeSnapshotsIdRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(security-groups)/describe-security-groups/$id': { - id: '/_auth/ec2/(security-groups)/describe-security-groups/$id' - path: '/ec2/describe-security-groups/$id' - fullPath: '/ec2/describe-security-groups/$id' - preLoaderRoute: typeof AuthEc2securityGroupsDescribeSecurityGroupsIdRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(route-tables)/describe-route-tables/$id': { - id: '/_auth/ec2/(route-tables)/describe-route-tables/$id' - path: '/ec2/describe-route-tables/$id' - fullPath: '/ec2/describe-route-tables/$id' - preLoaderRoute: typeof AuthEc2routeTablesDescribeRouteTablesIdRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(placement-groups)/describe-placement-groups/$id': { - id: '/_auth/ec2/(placement-groups)/describe-placement-groups/$id' - path: '/ec2/describe-placement-groups/$id' - fullPath: '/ec2/describe-placement-groups/$id' - preLoaderRoute: typeof AuthEc2placementGroupsDescribePlacementGroupsIdRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(nat-gateways)/describe-nat-gateways/$id': { - id: '/_auth/ec2/(nat-gateways)/describe-nat-gateways/$id' - path: '/ec2/describe-nat-gateways/$id' - fullPath: '/ec2/describe-nat-gateways/$id' - preLoaderRoute: typeof AuthEc2natGatewaysDescribeNatGatewaysIdRouteImport - 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/(launch-templates)/describe-launch-templates/$id': { - id: '/_auth/ec2/(launch-templates)/describe-launch-templates/$id' - path: '/ec2/describe-launch-templates/$id' - fullPath: '/ec2/describe-launch-templates/$id' - preLoaderRoute: typeof AuthEc2launchTemplatesDescribeLaunchTemplatesIdRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(key)/describe-key-pairs/$id': { - id: '/_auth/ec2/(key)/describe-key-pairs/$id' - path: '/ec2/describe-key-pairs/$id' - fullPath: '/ec2/describe-key-pairs/$id' - preLoaderRoute: typeof AuthEc2keyDescribeKeyPairsIdRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(internet-gateways)/describe-internet-gateways/$id': { - id: '/_auth/ec2/(internet-gateways)/describe-internet-gateways/$id' - path: '/ec2/describe-internet-gateways/$id' - fullPath: '/ec2/describe-internet-gateways/$id' - preLoaderRoute: typeof AuthEc2internetGatewaysDescribeInternetGatewaysIdRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(instances)/describe-instances/$id': { - id: '/_auth/ec2/(instances)/describe-instances/$id' - path: '/ec2/describe-instances/$id' - fullPath: '/ec2/describe-instances/$id' - preLoaderRoute: typeof AuthEc2instancesDescribeInstancesIdRouteImport - parentRoute: typeof AuthRouteRoute - } - '/_auth/ec2/(images)/describe-images/$id': { - id: '/_auth/ec2/(images)/describe-images/$id' - path: '/ec2/describe-images/$id' - fullPath: '/ec2/describe-images/$id' - preLoaderRoute: typeof AuthEc2imagesDescribeImagesIdRouteImport - parentRoute: typeof AuthRouteRoute - } '/_auth/ec2/(elastic-ips)/describe-addresses/$id': { id: '/_auth/ec2/(elastic-ips)/describe-addresses/$id' path: '/ec2/describe-addresses/$id' @@ -1740,13 +1574,412 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AuthEc2elasticIpsDescribeAddressesIdRouteImport parentRoute: typeof AuthRouteRoute } - '/_auth/ecs/(clusters)/list-clusters/$clusterName_/tasks/$taskId': { - id: '/_auth/ecs/(clusters)/list-clusters/$clusterName_/tasks/$taskId' - path: '/ecs/list-clusters/$clusterName/tasks/$taskId' - fullPath: '/ecs/list-clusters/$clusterName/tasks/$taskId' - preLoaderRoute: typeof AuthEcsclustersListClustersClusterNameTasksTaskIdRouteImport + '/_auth/ec2/(images)/describe-images/': { + id: '/_auth/ec2/(images)/describe-images/' + path: '/ec2/describe-images' + fullPath: '/ec2/describe-images/' + preLoaderRoute: typeof AuthEc2imagesDescribeImagesIndexRouteImport parentRoute: typeof AuthRouteRoute } + '/_auth/ec2/(images)/describe-images/$id': { + id: '/_auth/ec2/(images)/describe-images/$id' + path: '/ec2/describe-images/$id' + fullPath: '/ec2/describe-images/$id' + preLoaderRoute: typeof AuthEc2imagesDescribeImagesIdRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(instances)/describe-instances/': { + id: '/_auth/ec2/(instances)/describe-instances/' + path: '/ec2/describe-instances' + fullPath: '/ec2/describe-instances/' + preLoaderRoute: typeof AuthEc2instancesDescribeInstancesIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(instances)/describe-instances/$id': { + id: '/_auth/ec2/(instances)/describe-instances/$id' + path: '/ec2/describe-instances/$id' + fullPath: '/ec2/describe-instances/$id' + preLoaderRoute: typeof AuthEc2instancesDescribeInstancesIdRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(internet-gateways)/describe-internet-gateways/': { + id: '/_auth/ec2/(internet-gateways)/describe-internet-gateways/' + path: '/ec2/describe-internet-gateways' + fullPath: '/ec2/describe-internet-gateways/' + preLoaderRoute: typeof AuthEc2internetGatewaysDescribeInternetGatewaysIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(internet-gateways)/describe-internet-gateways/$id': { + id: '/_auth/ec2/(internet-gateways)/describe-internet-gateways/$id' + path: '/ec2/describe-internet-gateways/$id' + fullPath: '/ec2/describe-internet-gateways/$id' + preLoaderRoute: typeof AuthEc2internetGatewaysDescribeInternetGatewaysIdRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(key)/describe-key-pairs/': { + id: '/_auth/ec2/(key)/describe-key-pairs/' + path: '/ec2/describe-key-pairs' + fullPath: '/ec2/describe-key-pairs/' + preLoaderRoute: typeof AuthEc2keyDescribeKeyPairsIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(key)/describe-key-pairs/$id': { + id: '/_auth/ec2/(key)/describe-key-pairs/$id' + path: '/ec2/describe-key-pairs/$id' + fullPath: '/ec2/describe-key-pairs/$id' + preLoaderRoute: typeof AuthEc2keyDescribeKeyPairsIdRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(launch-templates)/describe-launch-templates/': { + id: '/_auth/ec2/(launch-templates)/describe-launch-templates/' + path: '/ec2/describe-launch-templates' + fullPath: '/ec2/describe-launch-templates/' + preLoaderRoute: typeof AuthEc2launchTemplatesDescribeLaunchTemplatesIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(launch-templates)/describe-launch-templates/$id': { + id: '/_auth/ec2/(launch-templates)/describe-launch-templates/$id' + path: '/ec2/describe-launch-templates/$id' + fullPath: '/ec2/describe-launch-templates/$id' + preLoaderRoute: typeof AuthEc2launchTemplatesDescribeLaunchTemplatesIdRouteImport + 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/(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/(nat-gateways)/describe-nat-gateways/': { + id: '/_auth/ec2/(nat-gateways)/describe-nat-gateways/' + path: '/ec2/describe-nat-gateways' + fullPath: '/ec2/describe-nat-gateways/' + preLoaderRoute: typeof AuthEc2natGatewaysDescribeNatGatewaysIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(nat-gateways)/describe-nat-gateways/$id': { + id: '/_auth/ec2/(nat-gateways)/describe-nat-gateways/$id' + path: '/ec2/describe-nat-gateways/$id' + fullPath: '/ec2/describe-nat-gateways/$id' + preLoaderRoute: typeof AuthEc2natGatewaysDescribeNatGatewaysIdRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(placement-groups)/describe-placement-groups/': { + id: '/_auth/ec2/(placement-groups)/describe-placement-groups/' + path: '/ec2/describe-placement-groups' + fullPath: '/ec2/describe-placement-groups/' + preLoaderRoute: typeof AuthEc2placementGroupsDescribePlacementGroupsIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(placement-groups)/describe-placement-groups/$id': { + id: '/_auth/ec2/(placement-groups)/describe-placement-groups/$id' + path: '/ec2/describe-placement-groups/$id' + fullPath: '/ec2/describe-placement-groups/$id' + preLoaderRoute: typeof AuthEc2placementGroupsDescribePlacementGroupsIdRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(route-tables)/describe-route-tables/': { + id: '/_auth/ec2/(route-tables)/describe-route-tables/' + path: '/ec2/describe-route-tables' + fullPath: '/ec2/describe-route-tables/' + preLoaderRoute: typeof AuthEc2routeTablesDescribeRouteTablesIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(route-tables)/describe-route-tables/$id': { + id: '/_auth/ec2/(route-tables)/describe-route-tables/$id' + path: '/ec2/describe-route-tables/$id' + fullPath: '/ec2/describe-route-tables/$id' + preLoaderRoute: typeof AuthEc2routeTablesDescribeRouteTablesIdRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(security-groups)/describe-security-groups/': { + id: '/_auth/ec2/(security-groups)/describe-security-groups/' + path: '/ec2/describe-security-groups' + fullPath: '/ec2/describe-security-groups/' + preLoaderRoute: typeof AuthEc2securityGroupsDescribeSecurityGroupsIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(security-groups)/describe-security-groups/$id': { + id: '/_auth/ec2/(security-groups)/describe-security-groups/$id' + path: '/ec2/describe-security-groups/$id' + fullPath: '/ec2/describe-security-groups/$id' + preLoaderRoute: typeof AuthEc2securityGroupsDescribeSecurityGroupsIdRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(snapshots)/describe-snapshots/': { + id: '/_auth/ec2/(snapshots)/describe-snapshots/' + path: '/ec2/describe-snapshots' + fullPath: '/ec2/describe-snapshots/' + preLoaderRoute: typeof AuthEc2snapshotsDescribeSnapshotsIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(snapshots)/describe-snapshots/$id': { + id: '/_auth/ec2/(snapshots)/describe-snapshots/$id' + path: '/ec2/describe-snapshots/$id' + fullPath: '/ec2/describe-snapshots/$id' + preLoaderRoute: typeof AuthEc2snapshotsDescribeSnapshotsIdRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(subnet)/describe-subnets/': { + id: '/_auth/ec2/(subnet)/describe-subnets/' + path: '/ec2/describe-subnets' + fullPath: '/ec2/describe-subnets/' + preLoaderRoute: typeof AuthEc2subnetDescribeSubnetsIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(subnet)/describe-subnets/$id': { + id: '/_auth/ec2/(subnet)/describe-subnets/$id' + path: '/ec2/describe-subnets/$id' + fullPath: '/ec2/describe-subnets/$id' + preLoaderRoute: typeof AuthEc2subnetDescribeSubnetsIdRouteImport + 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/(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/(volumes)/describe-volumes/': { + id: '/_auth/ec2/(volumes)/describe-volumes/' + path: '/ec2/describe-volumes' + fullPath: '/ec2/describe-volumes/' + preLoaderRoute: typeof AuthEc2volumesDescribeVolumesIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(volumes)/describe-volumes/$id': { + id: '/_auth/ec2/(volumes)/describe-volumes/$id' + path: '/ec2/describe-volumes/$id' + fullPath: '/ec2/describe-volumes/$id' + preLoaderRoute: typeof AuthEc2volumesDescribeVolumesIdRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(volumes)/modify-volume/$id': { + id: '/_auth/ec2/(volumes)/modify-volume/$id' + path: '/ec2/modify-volume/$id' + fullPath: '/ec2/modify-volume/$id' + preLoaderRoute: typeof AuthEc2volumesModifyVolumeIdRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(vpc)/describe-vpcs/': { + id: '/_auth/ec2/(vpc)/describe-vpcs/' + path: '/ec2/describe-vpcs' + fullPath: '/ec2/describe-vpcs/' + preLoaderRoute: typeof AuthEc2vpcDescribeVpcsIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ec2/(vpc)/describe-vpcs/$id': { + id: '/_auth/ec2/(vpc)/describe-vpcs/$id' + path: '/ec2/describe-vpcs/$id' + fullPath: '/ec2/describe-vpcs/$id' + preLoaderRoute: typeof AuthEc2vpcDescribeVpcsIdRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ecr/(repositories)/list-repositories/': { + id: '/_auth/ecr/(repositories)/list-repositories/' + path: '/ecr/list-repositories' + fullPath: '/ecr/list-repositories/' + preLoaderRoute: typeof AuthEcrrepositoriesListRepositoriesIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ecr/(repositories)/list-repositories/$id': { + id: '/_auth/ecr/(repositories)/list-repositories/$id' + path: '/ecr/list-repositories/$id' + fullPath: '/ecr/list-repositories/$id' + preLoaderRoute: typeof AuthEcrrepositoriesListRepositoriesIdRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ecs/(clusters)/list-clusters/': { + id: '/_auth/ecs/(clusters)/list-clusters/' + path: '/ecs/list-clusters' + fullPath: '/ecs/list-clusters/' + preLoaderRoute: typeof AuthEcsclustersListClustersIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/ecs/(clusters)/list-clusters/$clusterName': { + id: '/_auth/ecs/(clusters)/list-clusters/$clusterName' + path: '/ecs/list-clusters/$clusterName' + fullPath: '/ecs/list-clusters/$clusterName' + preLoaderRoute: typeof AuthEcsclustersListClustersClusterNameRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/eks/(clusters)/list-clusters/': { + id: '/_auth/eks/(clusters)/list-clusters/' + path: '/eks/list-clusters' + fullPath: '/eks/list-clusters/' + preLoaderRoute: typeof AuthEksclustersListClustersIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/eks/(clusters)/list-clusters/$clusterName': { + id: '/_auth/eks/(clusters)/list-clusters/$clusterName' + path: '/eks/list-clusters/$clusterName' + fullPath: '/eks/list-clusters/$clusterName' + preLoaderRoute: typeof AuthEksclustersListClustersClusterNameRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/iam/(groups)/list-groups/': { + id: '/_auth/iam/(groups)/list-groups/' + path: '/iam/list-groups' + fullPath: '/iam/list-groups/' + preLoaderRoute: typeof AuthIamgroupsListGroupsIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/iam/(groups)/list-groups/$groupName': { + id: '/_auth/iam/(groups)/list-groups/$groupName' + path: '/iam/list-groups/$groupName' + fullPath: '/iam/list-groups/$groupName' + preLoaderRoute: typeof AuthIamgroupsListGroupsGroupNameRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/iam/(instance-profiles)/list-instance-profiles/': { + id: '/_auth/iam/(instance-profiles)/list-instance-profiles/' + path: '/iam/list-instance-profiles' + fullPath: '/iam/list-instance-profiles/' + preLoaderRoute: typeof AuthIaminstanceProfilesListInstanceProfilesIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/iam/(instance-profiles)/list-instance-profiles/$instanceProfileName': { + id: '/_auth/iam/(instance-profiles)/list-instance-profiles/$instanceProfileName' + path: '/iam/list-instance-profiles/$instanceProfileName' + fullPath: '/iam/list-instance-profiles/$instanceProfileName' + preLoaderRoute: typeof AuthIaminstanceProfilesListInstanceProfilesInstanceProfileNameRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/iam/(policies)/list-policies/': { + id: '/_auth/iam/(policies)/list-policies/' + path: '/iam/list-policies' + fullPath: '/iam/list-policies/' + preLoaderRoute: typeof AuthIampoliciesListPoliciesIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/iam/(policies)/list-policies/$policyArn': { + id: '/_auth/iam/(policies)/list-policies/$policyArn' + path: '/iam/list-policies/$policyArn' + fullPath: '/iam/list-policies/$policyArn' + preLoaderRoute: typeof AuthIampoliciesListPoliciesPolicyArnRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/iam/(roles)/list-roles/': { + id: '/_auth/iam/(roles)/list-roles/' + path: '/iam/list-roles' + fullPath: '/iam/list-roles/' + preLoaderRoute: typeof AuthIamrolesListRolesIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/iam/(roles)/list-roles/$roleName': { + id: '/_auth/iam/(roles)/list-roles/$roleName' + path: '/iam/list-roles/$roleName' + fullPath: '/iam/list-roles/$roleName' + preLoaderRoute: typeof AuthIamrolesListRolesRoleNameRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/iam/(users)/list-users/': { + id: '/_auth/iam/(users)/list-users/' + path: '/iam/list-users' + fullPath: '/iam/list-users/' + preLoaderRoute: typeof AuthIamusersListUsersIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/iam/(users)/list-users/$userName': { + id: '/_auth/iam/(users)/list-users/$userName' + path: '/iam/list-users/$userName' + fullPath: '/iam/list-users/$userName' + preLoaderRoute: typeof AuthIamusersListUsersUserNameRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/rds/(db-instances)/describe-db-instances/': { + id: '/_auth/rds/(db-instances)/describe-db-instances/' + path: '/rds/describe-db-instances' + fullPath: '/rds/describe-db-instances/' + preLoaderRoute: typeof AuthRdsdbInstancesDescribeDbInstancesIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/rds/(db-instances)/describe-db-instances/$id': { + id: '/_auth/rds/(db-instances)/describe-db-instances/$id' + path: '/rds/describe-db-instances/$id' + fullPath: '/rds/describe-db-instances/$id' + preLoaderRoute: typeof AuthRdsdbInstancesDescribeDbInstancesIdRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/rds/(parameter-groups)/describe-db-parameter-groups/': { + id: '/_auth/rds/(parameter-groups)/describe-db-parameter-groups/' + path: '/rds/describe-db-parameter-groups' + fullPath: '/rds/describe-db-parameter-groups/' + preLoaderRoute: typeof AuthRdsparameterGroupsDescribeDbParameterGroupsIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/rds/(parameter-groups)/describe-db-parameter-groups/$name': { + id: '/_auth/rds/(parameter-groups)/describe-db-parameter-groups/$name' + path: '/rds/describe-db-parameter-groups/$name' + fullPath: '/rds/describe-db-parameter-groups/$name' + preLoaderRoute: typeof AuthRdsparameterGroupsDescribeDbParameterGroupsNameRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/rds/(snapshots)/describe-db-snapshots/': { + id: '/_auth/rds/(snapshots)/describe-db-snapshots/' + path: '/rds/describe-db-snapshots' + fullPath: '/rds/describe-db-snapshots/' + preLoaderRoute: typeof AuthRdssnapshotsDescribeDbSnapshotsIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/rds/(snapshots)/describe-db-snapshots/$id': { + id: '/_auth/rds/(snapshots)/describe-db-snapshots/$id' + path: '/rds/describe-db-snapshots/$id' + fullPath: '/rds/describe-db-snapshots/$id' + preLoaderRoute: typeof AuthRdssnapshotsDescribeDbSnapshotsIdRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/rds/(snapshots)/restore-db-instance-from-db-snapshot/$id': { + id: '/_auth/rds/(snapshots)/restore-db-instance-from-db-snapshot/$id' + path: '/rds/restore-db-instance-from-db-snapshot/$id' + fullPath: '/rds/restore-db-instance-from-db-snapshot/$id' + preLoaderRoute: typeof AuthRdssnapshotsRestoreDbInstanceFromDbSnapshotIdRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/rds/(subnet-groups)/describe-db-subnet-groups/': { + id: '/_auth/rds/(subnet-groups)/describe-db-subnet-groups/' + path: '/rds/describe-db-subnet-groups' + fullPath: '/rds/describe-db-subnet-groups/' + preLoaderRoute: typeof AuthRdssubnetGroupsDescribeDbSubnetGroupsIndexRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/rds/(subnet-groups)/describe-db-subnet-groups/$name': { + id: '/_auth/rds/(subnet-groups)/describe-db-subnet-groups/$name' + path: '/rds/describe-db-subnet-groups/$name' + fullPath: '/rds/describe-db-subnet-groups/$name' + preLoaderRoute: typeof AuthRdssubnetGroupsDescribeDbSubnetGroupsNameRouteImport + parentRoute: typeof AuthRouteRoute + } + '/_auth/s3/ls/$bucket/': { + id: '/_auth/s3/ls/$bucket/' + path: '/' + fullPath: '/s3/ls/$bucket/' + preLoaderRoute: typeof AuthS3LsBucketIndexRouteImport + parentRoute: typeof AuthS3LsBucketRouteRoute + } + '/_auth/s3/ls/$bucket/$': { + id: '/_auth/s3/ls/$bucket/$' + path: '/$' + fullPath: '/s3/ls/$bucket/$' + preLoaderRoute: typeof AuthS3LsBucketSplatRouteImport + parentRoute: typeof AuthS3LsBucketRouteRoute + } '/_auth/ecs/(clusters)/list-clusters/$clusterName_/services/$serviceName': { id: '/_auth/ecs/(clusters)/list-clusters/$clusterName_/services/$serviceName' path: '/ecs/list-clusters/$clusterName/services/$serviceName' @@ -1754,6 +1987,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AuthEcsclustersListClustersClusterNameServicesServiceNameRouteImport parentRoute: typeof AuthRouteRoute } + '/_auth/ecs/(clusters)/list-clusters/$clusterName_/tasks/$taskId': { + id: '/_auth/ecs/(clusters)/list-clusters/$clusterName_/tasks/$taskId' + path: '/ecs/list-clusters/$clusterName/tasks/$taskId' + fullPath: '/ecs/list-clusters/$clusterName/tasks/$taskId' + preLoaderRoute: typeof AuthEcsclustersListClustersClusterNameTasksTaskIdRouteImport + parentRoute: typeof AuthRouteRoute + } } } @@ -1801,6 +2041,9 @@ interface AuthRouteRouteChildren { AuthIampoliciesCreatePolicyRoute: typeof AuthIampoliciesCreatePolicyRoute AuthIamrolesCreateRoleRoute: typeof AuthIamrolesCreateRoleRoute AuthIamusersCreateUserRoute: typeof AuthIamusersCreateUserRoute + AuthRdsdbInstancesCreateDbInstanceRoute: typeof AuthRdsdbInstancesCreateDbInstanceRoute + AuthRdsparameterGroupsCreateDbParameterGroupRoute: typeof AuthRdsparameterGroupsCreateDbParameterGroupRoute + AuthRdssubnetGroupsCreateDbSubnetGroupRoute: typeof AuthRdssubnetGroupsCreateDbSubnetGroupRoute AuthS3bucketsCreateBucketRoute: typeof AuthS3bucketsCreateBucketRoute AuthS3LsIndexRoute: typeof AuthS3LsIndexRoute AuthEc2elasticIpsDescribeAddressesIdRoute: typeof AuthEc2elasticIpsDescribeAddressesIdRoute @@ -1828,6 +2071,11 @@ interface AuthRouteRouteChildren { AuthIampoliciesListPoliciesPolicyArnRoute: typeof AuthIampoliciesListPoliciesPolicyArnRoute AuthIamrolesListRolesRoleNameRoute: typeof AuthIamrolesListRolesRoleNameRoute AuthIamusersListUsersUserNameRoute: typeof AuthIamusersListUsersUserNameRoute + AuthRdsdbInstancesDescribeDbInstancesIdRoute: typeof AuthRdsdbInstancesDescribeDbInstancesIdRoute + AuthRdsparameterGroupsDescribeDbParameterGroupsNameRoute: typeof AuthRdsparameterGroupsDescribeDbParameterGroupsNameRoute + AuthRdssnapshotsDescribeDbSnapshotsIdRoute: typeof AuthRdssnapshotsDescribeDbSnapshotsIdRoute + AuthRdssnapshotsRestoreDbInstanceFromDbSnapshotIdRoute: typeof AuthRdssnapshotsRestoreDbInstanceFromDbSnapshotIdRoute + AuthRdssubnetGroupsDescribeDbSubnetGroupsNameRoute: typeof AuthRdssubnetGroupsDescribeDbSubnetGroupsNameRoute AuthEc2elasticIpsDescribeAddressesIndexRoute: typeof AuthEc2elasticIpsDescribeAddressesIndexRoute AuthEc2imagesDescribeImagesIndexRoute: typeof AuthEc2imagesDescribeImagesIndexRoute AuthEc2instancesDescribeInstancesIndexRoute: typeof AuthEc2instancesDescribeInstancesIndexRoute @@ -1852,6 +2100,10 @@ interface AuthRouteRouteChildren { AuthIampoliciesListPoliciesIndexRoute: typeof AuthIampoliciesListPoliciesIndexRoute AuthIamrolesListRolesIndexRoute: typeof AuthIamrolesListRolesIndexRoute AuthIamusersListUsersIndexRoute: typeof AuthIamusersListUsersIndexRoute + AuthRdsdbInstancesDescribeDbInstancesIndexRoute: typeof AuthRdsdbInstancesDescribeDbInstancesIndexRoute + AuthRdsparameterGroupsDescribeDbParameterGroupsIndexRoute: typeof AuthRdsparameterGroupsDescribeDbParameterGroupsIndexRoute + AuthRdssnapshotsDescribeDbSnapshotsIndexRoute: typeof AuthRdssnapshotsDescribeDbSnapshotsIndexRoute + AuthRdssubnetGroupsDescribeDbSubnetGroupsIndexRoute: typeof AuthRdssubnetGroupsDescribeDbSubnetGroupsIndexRoute AuthEcsclustersListClustersClusterNameServicesServiceNameRoute: typeof AuthEcsclustersListClustersClusterNameServicesServiceNameRoute AuthEcsclustersListClustersClusterNameTasksTaskIdRoute: typeof AuthEcsclustersListClustersClusterNameTasksTaskIdRoute } @@ -1897,6 +2149,12 @@ const AuthRouteRouteChildren: AuthRouteRouteChildren = { AuthIampoliciesCreatePolicyRoute: AuthIampoliciesCreatePolicyRoute, AuthIamrolesCreateRoleRoute: AuthIamrolesCreateRoleRoute, AuthIamusersCreateUserRoute: AuthIamusersCreateUserRoute, + AuthRdsdbInstancesCreateDbInstanceRoute: + AuthRdsdbInstancesCreateDbInstanceRoute, + AuthRdsparameterGroupsCreateDbParameterGroupRoute: + AuthRdsparameterGroupsCreateDbParameterGroupRoute, + AuthRdssubnetGroupsCreateDbSubnetGroupRoute: + AuthRdssubnetGroupsCreateDbSubnetGroupRoute, AuthS3bucketsCreateBucketRoute: AuthS3bucketsCreateBucketRoute, AuthS3LsIndexRoute: AuthS3LsIndexRoute, AuthEc2elasticIpsDescribeAddressesIdRoute: @@ -1940,6 +2198,16 @@ const AuthRouteRouteChildren: AuthRouteRouteChildren = { AuthIampoliciesListPoliciesPolicyArnRoute, AuthIamrolesListRolesRoleNameRoute: AuthIamrolesListRolesRoleNameRoute, AuthIamusersListUsersUserNameRoute: AuthIamusersListUsersUserNameRoute, + AuthRdsdbInstancesDescribeDbInstancesIdRoute: + AuthRdsdbInstancesDescribeDbInstancesIdRoute, + AuthRdsparameterGroupsDescribeDbParameterGroupsNameRoute: + AuthRdsparameterGroupsDescribeDbParameterGroupsNameRoute, + AuthRdssnapshotsDescribeDbSnapshotsIdRoute: + AuthRdssnapshotsDescribeDbSnapshotsIdRoute, + AuthRdssnapshotsRestoreDbInstanceFromDbSnapshotIdRoute: + AuthRdssnapshotsRestoreDbInstanceFromDbSnapshotIdRoute, + AuthRdssubnetGroupsDescribeDbSubnetGroupsNameRoute: + AuthRdssubnetGroupsDescribeDbSubnetGroupsNameRoute, AuthEc2elasticIpsDescribeAddressesIndexRoute: AuthEc2elasticIpsDescribeAddressesIndexRoute, AuthEc2imagesDescribeImagesIndexRoute: AuthEc2imagesDescribeImagesIndexRoute, @@ -1979,6 +2247,14 @@ const AuthRouteRouteChildren: AuthRouteRouteChildren = { AuthIampoliciesListPoliciesIndexRoute: AuthIampoliciesListPoliciesIndexRoute, AuthIamrolesListRolesIndexRoute: AuthIamrolesListRolesIndexRoute, AuthIamusersListUsersIndexRoute: AuthIamusersListUsersIndexRoute, + AuthRdsdbInstancesDescribeDbInstancesIndexRoute: + AuthRdsdbInstancesDescribeDbInstancesIndexRoute, + AuthRdsparameterGroupsDescribeDbParameterGroupsIndexRoute: + AuthRdsparameterGroupsDescribeDbParameterGroupsIndexRoute, + AuthRdssnapshotsDescribeDbSnapshotsIndexRoute: + AuthRdssnapshotsDescribeDbSnapshotsIndexRoute, + AuthRdssubnetGroupsDescribeDbSubnetGroupsIndexRoute: + AuthRdssubnetGroupsDescribeDbSubnetGroupsIndexRoute, AuthEcsclustersListClustersClusterNameServicesServiceNameRoute: AuthEcsclustersListClustersClusterNameServicesServiceNameRoute, AuthEcsclustersListClustersClusterNameTasksTaskIdRoute: diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/create-db-instance-page.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/create-db-instance-page.test.tsx new file mode 100644 index 000000000..44f6b6c92 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/create-db-instance-page.test.tsx @@ -0,0 +1,326 @@ +import type { QueryClient } from "@tanstack/react-query" +import { fireEvent, screen } from "@testing-library/react" +import userEvent from "@testing-library/user-event" +import { describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const mockSend = vi.fn().mockResolvedValue({}) + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: mockSend }), + getEc2Client: () => ({ send: mockSend }), +})) + +vi.mock("@tanstack/react-router", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + useNavigate: () => vi.fn(), + Link: ({ children, to }: { children: React.ReactNode; to?: string }) => ( + {children} + ), + } +}) + +import { CreateDBInstancePage } from "./create-db-instance-page" + +const ENGINE_VERSIONS = [ + { + Engine: "postgres", + EngineVersion: "18", + DBParameterGroupFamily: "postgres18", + DBEngineVersionDescription: "PostgreSQL 18", + }, + { + Engine: "mariadb", + EngineVersion: "11.8", + DBParameterGroupFamily: "mariadb11.8", + DBEngineVersionDescription: "MariaDB 11.8", + }, +] + +function image( + engine: string, + version = engine === "postgres" ? "18" : "11.8", + withDataContract = true, +) { + return { + ImageId: `ami-${engine}`, + Name: `spinifex-rds-${engine}`, + Tags: [ + { Key: "spinifex:managed-by", Value: "rds" }, + { Key: "engine", Value: engine }, + { Key: "engine-version", Value: version }, + ...(withDataContract + ? [ + { + Key: "rds-data-volume-contract", + Value: "format-auth-v1", + }, + ] + : []), + ], + } +} + +function seed(images: unknown[]): QueryClient { + const qc = createTestQueryClient() + qc.setQueryData(["rds", "engineVersions"], { + DBEngineVersions: ENGINE_VERSIONS, + }) + qc.setQueryData(["rds", "subnetGroups"], { + DBSubnetGroups: [ + { DBSubnetGroupName: "db-subnets", VpcId: "vpc-1" }, + { DBSubnetGroupName: "db-subnets-2", VpcId: "vpc-2" }, + ], + }) + qc.setQueryData(["rds", "parameterGroups"], { + DBParameterGroups: [ + { + DBParameterGroupName: "custom-pg", + DBParameterGroupFamily: "postgres18", + }, + ], + }) + qc.setQueryData(["ec2", "securityGroups"], { + SecurityGroups: [ + { GroupId: "sg-1", GroupName: "default", VpcId: "vpc-1" }, + { GroupId: "sg-2", GroupName: "default", VpcId: "vpc-2" }, + ], + }) + qc.setQueryData(["ec2", "vpcs"], { + Vpcs: [ + { VpcId: "vpc-1", IsDefault: true }, + { VpcId: "vpc-2", IsDefault: false }, + ], + }) + qc.setQueryData(["ec2", "images"], { Images: images }) + for (const engine of ["postgres", "mariadb"]) { + qc.setQueryData(["rds", "orderableOptions", engine], { + OrderableDBInstanceOptions: [ + { + Engine: engine, + DBInstanceClass: "db.t3.micro", + MinStorageSize: 20, + MaxStorageSize: 65_536, + }, + { Engine: engine, DBInstanceClass: "db.m5.large" }, + ], + }) + } + return qc +} + +describe("CreateDBInstancePage system image gating", () => { + it("renders the full form when both engine images are imported", () => { + renderWithClient( + , + seed([image("postgres"), image("mariadb")]), + ) + expect(screen.getByLabelText("DB instance identifier")).toBeInTheDocument() + expect(screen.queryByText(/image not found/)).toBeNull() + expect( + screen.getByRole("button", { name: "Create Database" }), + ).toBeEnabled() + }) + + it("keeps the form usable when only one engine image is imported", () => { + renderWithClient(, seed([image("postgres")])) + expect(screen.getByLabelText("DB instance identifier")).toBeInTheDocument() + expect( + screen.getByRole("button", { name: "Create Database" }), + ).toBeEnabled() + expect(screen.queryByText(/RDS system image not found/)).toBeNull() + }) + + it("keeps the engine without an image visible but unselectable", async () => { + const user = userEvent.setup() + renderWithClient(, seed([image("postgres")])) + + await user.click(screen.getByLabelText("Engine")) + + expect(screen.getByRole("option", { name: "postgres" })).toBeEnabled() + const missing = screen.getByRole("option", { + name: "mariadb — image not imported", + }) + expect(missing).toHaveAttribute("aria-disabled", "true") + }) + + it("defaults to an engine that can actually boot", () => { + renderWithClient(, seed([image("mariadb")])) + expect(screen.getByLabelText("Engine")).toHaveTextContent("mariadb") + expect(screen.queryByLabelText("DB instance identifier")).not.toBeNull() + }) + + it("carries the import command for the engine that has no image", () => { + renderWithClient(, seed([image("postgres")])) + expect(screen.getByText("mariadb image not found")).toBeInTheDocument() + expect( + screen.getByText(/spx admin images import.*mariadb/), + ).toBeInTheDocument() + expect(screen.queryByText("postgres image not found")).toBeNull() + }) + + it("rejects an image for a different engine version", async () => { + const user = userEvent.setup() + renderWithClient( + , + seed([image("postgres", "17"), image("mariadb")]), + ) + + await user.click(screen.getByLabelText("Engine")) + expect( + screen.getByRole("option", { name: "postgres — image not imported" }), + ).toHaveAttribute("aria-disabled", "true") + }) + + it("rejects an image without the data-volume contract", async () => { + const user = userEvent.setup() + renderWithClient( + , + seed([image("postgres", "18", false), image("mariadb")]), + ) + + await user.click(screen.getByLabelText("Engine")) + expect( + screen.getByRole("option", { name: "postgres — image not imported" }), + ).toHaveAttribute("aria-disabled", "true") + }) + + it("replaces the form when no engine image is imported", () => { + renderWithClient(, seed([])) + expect(screen.getByText("RDS system image not found")).toBeInTheDocument() + expect(screen.queryByLabelText("DB instance identifier")).toBeNull() + expect(screen.getByText(/spx admin images import/)).toBeInTheDocument() + }) +}) + +describe("CreateDBInstancePage fields", () => { + function renderForm() { + return renderWithClient( + , + seed([image("postgres"), image("mariadb")]), + ) + } + + it.each([ + "DB instance identifier", + "Engine", + "Engine version", + "DB instance class", + "Allocated storage (GiB)", + "Master username", + "Master password", + "Confirm master password", + "Initial database name", + "Port", + "DB subnet group", + "DB parameter group", + "Backup retention (days)", + "Preferred backup window", + "Preferred maintenance window", + ])("offers the %s field", (label) => { + renderForm() + expect(screen.getByLabelText(label)).toBeInTheDocument() + }) + + it("shows encryption as a fixed row rather than a choice", () => { + renderForm() + expect(screen.getByText("Encrypted — always on.")).toBeInTheDocument() + expect(screen.queryByLabelText(/KMS/i)).toBeNull() + }) + + it.each(["Multi-AZ deployment", "Public access", "Storage autoscaling"])( + "renders %s as a disabled control with a note", + (label) => { + renderForm() + const control = screen.getByText(label).closest("label") + expect(control?.querySelector("input")).toBeDisabled() + expect(control).toHaveTextContent("Not available on Spinifex") + }, + ) + + it.each([ + "IAM database authentication", + "Provisioned IOPS", + "Storage throughput", + "Availability zone", + "DB cluster identifier", + "CloudWatch", + "Auto minor version upgrade", + "Copy tags to snapshot", + "Monitoring", + "Performance Insights", + "Option group", + "License model", + ])("renders no live control for %s", (label) => { + renderForm() + expect(screen.queryByLabelText(new RegExp(label, "i"))).toBeNull() + }) + + it("leaves deletion protection and security groups as the only live checkboxes", () => { + renderForm() + const enabled = screen + .getAllByRole("checkbox") + .filter((box) => !(box as HTMLInputElement).disabled) + expect(enabled).toHaveLength(2) + }) + + it("offers security groups only from the default placement VPC", () => { + renderForm() + expect( + screen.getByLabelText("Security group sg-1 (default)"), + ).toBeInTheDocument() + expect(screen.queryByLabelText("Security group sg-2 (default)")).toBeNull() + }) + + it("clears incompatible security groups when placement changes", async () => { + const user = userEvent.setup() + renderForm() + await user.click(screen.getByLabelText("Security group sg-1 (default)")) + + await user.click(screen.getByLabelText("DB subnet group")) + await user.click( + screen.getByRole("option", { name: "db-subnets-2 (vpc-2)" }), + ) + expect( + screen.getByLabelText("Security group sg-2 (default)"), + ).not.toBeChecked() + + await user.click(screen.getByLabelText("DB subnet group")) + await user.click(screen.getByRole("option", { name: "db-subnets (vpc-1)" })) + expect( + screen.getByLabelText("Security group sg-1 (default)"), + ).not.toBeChecked() + }) + + it("offers only the instance classes the orderable catalog lists", () => { + renderForm() + expect(screen.getByLabelText("DB instance class")).toBeInTheDocument() + expect(screen.queryByText("db.r5.large")).toBeNull() + }) + + it("states the storage bounds the catalog reported", () => { + renderForm() + expect( + screen.getByText(/This engine accepts 20–65536 GiB/), + ).toBeInTheDocument() + }) + + it("builds a CLI command that never echoes the password", () => { + renderForm() + fireEvent.click(screen.getByRole("button", { name: "AWS CLI" })) + expect(screen.getByText(/\$DB_PASSWORD/)).toBeInTheDocument() + expect(screen.getByText(/create-db-instance/)).toBeInTheDocument() + }) + + it("names the parameters a blank field has not filled in yet", () => { + renderForm() + fireEvent.click(screen.getByRole("button", { name: "AWS CLI" })) + expect(screen.getByText(//)).toBeInTheDocument() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/create-db-instance-page.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/create-db-instance-page.tsx new file mode 100644 index 000000000..b3ec6ba32 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/create-db-instance-page.tsx @@ -0,0 +1,709 @@ +import { zodResolver } from "@hookform/resolvers/zod" +import { + useQueryClient, + useSuspenseQuery, + useQuery, +} from "@tanstack/react-query" +import { useNavigate } from "@tanstack/react-router" +import { useState } from "react" +import { Controller, useForm, useWatch } from "react-hook-form" + +import { BackLink } from "@/components/back-link" +import { + CliCommandPanel, + cliPlaceholder, + commandFlag, + optionalFlag, + type CliCommand, +} from "@/components/cli-command-panel" +import { ErrorBanner } from "@/components/error-banner" +import { FormActions } from "@/components/form-actions" +import { PageHeading } from "@/components/page-heading" +import { SystemImageRequired } from "@/components/system-image-required" +import { + Field, + FieldDescription, + FieldError, + FieldTitle, +} from "@/components/ui/field" +import { Input } from "@/components/ui/input" +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select" +import { isRdsSystemImage, rdsImportCommand } from "@/lib/system-managed" +import { useCreateDBInstance } from "@/mutations/rds" +import { + ec2ImagesQueryOptions, + ec2SecurityGroupsQueryOptions, + ec2VpcsQueryOptions, +} from "@/queries/ec2" +import { + rdsEngineVersionsQueryOptions, + rdsOrderableOptionsQueryOptions, + rdsParameterGroupsQueryOptions, + rdsSubnetGroupsQueryOptions, +} from "@/queries/rds" +import { + type CreateDBInstanceFormData, + createDBInstanceSchema, + MAX_BACKUP_RETENTION_DAYS, + MIN_ALLOCATED_STORAGE_GIB, +} from "@/types/rds" + +import { + type PickerNotice, + pickerNotice, +} from "../../-components/picker-notice" +import { + DeletionProtectionField, + parameterGroupsForEngine, + RdsSelectField, +} from "../../-components/rds-form-fields" +import { + SecurityGroupCheckboxes, + securityGroupIdsForVpc, + securityGroupsForVpc, +} from "../../-components/security-group-checkboxes" +import { TagsFieldArray } from "../../-components/tags-field-array" + +// The retention the backend applies when a create names none. +const DEFAULT_BACKUP_RETENTION_DAYS = 7 + +// Parameters CreateDBInstance rejects outright. Rendered as disabled controls +// rather than omitted: a user arriving from the AWS console looks for these, +// and a visible disabled control answers what a missing one only raises. +const UNAVAILABLE_OPTIONS = [ + { + id: "multi-az", + label: "Multi-AZ deployment", + note: "Not available on Spinifex — the platform is single-AZ, so a standby would not exist.", + }, + { + id: "publicly-accessible", + label: "Public access", + note: "Not available on Spinifex — the endpoint is a private VPC address.", + }, + { + id: "storage-autoscaling", + label: "Storage autoscaling", + note: "Not available on Spinifex — allocated storage grows only when you ask it to.", + }, +] as const + +export function CreateDBInstancePage() { + const navigate = useNavigate() + const queryClient = useQueryClient() + const createInstance = useCreateDBInstance() + const [isRechecking, setIsRechecking] = useState(false) + + const { data: engineVersionsData } = useSuspenseQuery( + rdsEngineVersionsQueryOptions, + ) + const { data: subnetGroupsData } = useSuspenseQuery( + rdsSubnetGroupsQueryOptions, + ) + const { data: parameterGroupsData } = useSuspenseQuery( + rdsParameterGroupsQueryOptions, + ) + const { data: securityGroupsData } = useSuspenseQuery( + ec2SecurityGroupsQueryOptions, + ) + const { data: vpcsData } = useSuspenseQuery(ec2VpcsQueryOptions) + const { data: imagesData } = useSuspenseQuery(ec2ImagesQueryOptions) + + const images = imagesData.Images ?? [] + const engineVersions = engineVersionsData.DBEngineVersions ?? [] + const engines = [ + ...new Set(engineVersions.map((v) => v.Engine ?? "").filter(Boolean)), + ] + const engineVersionHasImage = (engine: string, version: string) => + images.some((image) => isRdsSystemImage(image, engine, version)) + const firstBootableVersion = (engine: string) => + engineVersions.find( + (version) => + version.Engine === engine && + engineVersionHasImage(engine, version.EngineVersion ?? ""), + )?.EngineVersion ?? "" + const engineHasImage = (engine: string) => + firstBootableVersion(engine).length > 0 + const bootableEngines = engines.filter(engineHasImage) + const initialEngine = bootableEngines[0] ?? "" + + const handleRecheck = async () => { + setIsRechecking(true) + try { + await queryClient.invalidateQueries({ + queryKey: ec2ImagesQueryOptions.queryKey, + }) + } finally { + setIsRechecking(false) + } + } + + const { + control, + formState: { errors, isSubmitting }, + handleSubmit, + register, + setValue, + } = useForm({ + resolver: zodResolver(createDBInstanceSchema), + defaultValues: { + dbInstanceIdentifier: "", + engine: initialEngine, + engineVersion: firstBootableVersion(initialEngine), + dbInstanceClass: "", + allocatedStorage: MIN_ALLOCATED_STORAGE_GIB, + masterUsername: "", + masterUserPassword: "", + confirmPassword: "", + dbName: "", + port: "", + dbSubnetGroupName: "", + vpcSecurityGroupIds: [], + dbParameterGroupName: "", + deletionProtection: false, + backupRetentionPeriod: DEFAULT_BACKUP_RETENTION_DAYS, + preferredBackupWindow: "", + preferredMaintenanceWindow: "", + tags: [], + }, + }) + + const values = useWatch({ control }) + const selectedEngine = values.engine ?? "" + const selectedSubnetGroup = values.dbSubnetGroupName ?? "" + const selectedSecurityGroups = values.vpcSecurityGroupIds ?? [] + + const orderableQuery = useQuery( + rdsOrderableOptionsQueryOptions(selectedEngine), + ) + + const versionsForEngine = engineVersions.filter( + (v) => v.Engine === selectedEngine, + ) + const orderableOptions = orderableQuery.data?.OrderableDBInstanceOptions ?? [] + const instanceClasses = [ + ...new Set( + orderableOptions.map((o) => o.DBInstanceClass ?? "").filter(Boolean), + ), + ] + const storageBounds = orderableOptions[0] + + const subnetGroups = subnetGroupsData.DBSubnetGroups ?? [] + const groupsForEngine = parameterGroupsForEngine( + parameterGroupsData.DBParameterGroups ?? [], + engineVersions, + selectedEngine, + ) + + const subnetGroupVpc = subnetGroups.find( + (group) => group.DBSubnetGroupName === selectedSubnetGroup, + )?.VpcId + const defaultVpcId = vpcsData.Vpcs?.find((vpc) => vpc.IsDefault)?.VpcId + const placementVpcId = subnetGroupVpc ?? defaultVpcId + const allSecurityGroups = securityGroupsData.SecurityGroups ?? [] + const securityGroups = securityGroupsForVpc(allSecurityGroups, placementVpcId) + + const handleEngineChange = (engine: string | null) => { + // oxlint-disable-next-line typescript/prefer-nullish-coalescing -- Select reports an explicit null when cleared + const nextEngine = engine === null ? "" : engine + setValue("engine", nextEngine, { shouldValidate: true }) + setValue("engineVersion", firstBootableVersion(nextEngine)) + setValue("dbInstanceClass", "") + setValue("dbParameterGroupName", "") + } + + const setSecurityGroups = (next: string[]) => + setValue("vpcSecurityGroupIds", next, { shouldValidate: true }) + + const handleSubnetGroupChange = (name: string | null) => { + // oxlint-disable-next-line typescript/prefer-nullish-coalescing -- Select reports an explicit null when cleared + const nextName = name === null ? "" : name + const nextVpcId = + subnetGroups.find((group) => group.DBSubnetGroupName === nextName) + ?.VpcId ?? defaultVpcId + setValue("dbSubnetGroupName", nextName, { shouldValidate: true }) + setSecurityGroups( + securityGroupIdsForVpc( + allSecurityGroups, + nextVpcId, + selectedSecurityGroups, + ), + ) + } + + const onSubmit = async (data: CreateDBInstanceFormData) => { + await createInstance.mutateAsync(data) + await navigate({ to: "/rds/describe-db-instances" }) + } + + // Both engine images absent is a cluster that cannot run RDS at all, so the + // form is replaced. One absent is the normal state of a fresh cluster and + // must leave the other engine's create path intact. + if (engines.length > 0 && bootableEngines.length === 0) { + return ( + <> + Back to databases + + + + ) + } + + // Driven by which engines lack an image rather than by the selection: the + // picker refuses to select one that lacks it, so a callout waiting on the + // selection is a callout that never appears. + const enginesMissingImage = engines.filter((e) => !engineHasImage(e)) + + const classNotice: PickerNotice | undefined = + selectedEngine === "" + ? { + tone: "muted", + text: "Select an engine to see the instance classes this cluster can run.", + } + : pickerNotice(orderableQuery, instanceClasses.length === 0, { + loading: "Loading the instance classes…", + failed: "Could not read the instance classes", + empty: `No instance class this cluster's nodes can run is available for ${selectedEngine}.`, + }) + + return ( + <> + Back to databases + + + {createInstance.error && ( + + )} + +
+ + + + + + + Lowercase letters, digits and hyphens. This is also the endpoint + hostname, so it cannot be changed later. + + + + + + + + + ( + + )} + /> + + + + {enginesMissingImage.map((engine) => ( + + ))} + + + + + + ( + + )} + /> + + There is no in-place version upgrade, so this cannot be changed + after the database is created. + + + + + ({ value: c, label: c }))} + placeholder="Select an instance class" + /> + + + + + + + + gp3, encrypted. Storage grows only — it can never be shrunk. + {storageBounds?.MinStorageSize !== undefined && + ` This engine accepts ${storageBounds.MinStorageSize}–${storageBounds.MaxStorageSize} GiB.`} + + + + + + Storage encryption +

Encrypted — always on.

+ + Storage is encrypted with the cluster key. Unencrypted storage is + not offered and a customer-managed key is not selectable. + +
+ + + + + + + + + + + + + + + + 8–128 printable ASCII characters, excluding '/', + '"', '@' and spaces. + + + + + + + + + + + + + + + + + + + Leave blank to create no database. Letters, digits and underscores, + starting with a letter. + + + + + + + + + + + Leave blank to use the engine's own port. The port is fixed at + create and cannot be changed later. + + + + + ({ + value: g.DBSubnetGroupName ?? "", + label: `${g.DBSubnetGroupName} (${g.VpcId})`, + }))} + placeholder="Default VPC subnet" + /> + + + VPC security groups + + + + + ({ + value: g.DBParameterGroupName ?? "", + label: g.DBParameterGroupName ?? "", + }))} + placeholder="Engine default group" + /> + + + + + + + + 0 disables automated backups. There is no point-in-time restore; + backups are daily snapshots taken in the window below. + + + + + + + + + + + Leave blank to have one assigned. Minimum 30 minutes. + + + + + + + + + + + Leave blank to have one assigned clear of the backup window. + + + + + + + + +
+ + Not available on Spinifex + + {UNAVAILABLE_OPTIONS.map((option) => ( + + ))} +
+ + + + + await navigate({ to: "/rds/describe-db-instances" }) + } + pendingLabel="Creating…" + submitLabel="Create Database" + /> + + + ) +} + +// Everything the CLI panel renders, already flattened out of the form state so +// the builder needs no optional handling of its own. +type CliValues = Omit< + CreateDBInstanceFormData, + "masterUserPassword" | "confirmPassword" | "tags" +> + +function buildCreateDBInstanceCommands(values: CliValues): CliCommand[] { + const parts: CliCommand["parts"] = [ + { type: "bin", value: "AWS_PROFILE=spinifex aws rds create-db-instance" }, + ...commandFlag( + "--db-instance-identifier", + cliPlaceholder(values.dbInstanceIdentifier, "DBInstanceIdentifier"), + ), + ...commandFlag("--engine", cliPlaceholder(values.engine, "Engine")), + ...commandFlag( + "--db-instance-class", + cliPlaceholder(values.dbInstanceClass, "DBInstanceClass"), + ), + ...commandFlag("--allocated-storage", values.allocatedStorage), + ...commandFlag( + "--master-username", + cliPlaceholder(values.masterUsername, "MasterUsername"), + ), + { type: "flag", value: " --master-user-password" }, + { type: "variable", value: " $DB_PASSWORD" }, + ...optionalFlag("--engine-version", values.engineVersion), + ...optionalFlag("--db-name", values.dbName), + ...optionalFlag("--port", values.port), + ...optionalFlag("--db-subnet-group-name", values.dbSubnetGroupName), + ...optionalFlag( + "--vpc-security-group-ids", + values.vpcSecurityGroupIds.join(" "), + ), + ...optionalFlag("--db-parameter-group-name", values.dbParameterGroupName), + ...optionalFlag("--deletion-protection", values.deletionProtection), + ...commandFlag("--backup-retention-period", values.backupRetentionPeriod), + ...optionalFlag("--preferred-backup-window", values.preferredBackupWindow), + ...optionalFlag( + "--preferred-maintenance-window", + values.preferredMaintenanceWindow, + ), + ] + + return [{ label: "Create DB Instance", parts }] +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/db-instance-detail-page.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/db-instance-detail-page.test.tsx new file mode 100644 index 000000000..20aeb98ed --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/db-instance-detail-page.test.tsx @@ -0,0 +1,410 @@ +import type { QueryClient } from "@tanstack/react-query" +import { fireEvent, screen, waitFor, within } from "@testing-library/react" +import { describe, expect, it, vi } from "vitest" + +import { formatDateTime } from "@/lib/utils" +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const mockSend = vi.fn().mockResolvedValue({}) + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: mockSend }), + getEc2Client: () => ({ send: mockSend }), +})) + +vi.mock("@tanstack/react-router", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + useNavigate: () => vi.fn(), + Link: ({ children, to }: { children: React.ReactNode; to?: string }) => ( + {children} + ), + } +}) + +import { DBInstanceDetailPage } from "./db-instance-detail-page" + +const ARN = "arn:aws:rds:ap-southeast-2:000000000000:db:orders-db" + +const INSTANCE = { + DBInstanceIdentifier: "orders-db", + DBInstanceArn: ARN, + DBInstanceStatus: "available", + Engine: "postgres", + EngineVersion: "18", + DBInstanceClass: "db.t3.micro", + AllocatedStorage: 20, + StorageType: "gp3", + StorageEncrypted: true, + MasterUsername: "dbadmin", + DBName: "orders", + DeletionProtection: false, + BackupRetentionPeriod: 7, + PreferredBackupWindow: "03:00-03:30", + PreferredMaintenanceWindow: "sun:04:00-sun:04:30", + Endpoint: { Address: "orders-db.rds.internal", Port: 5432 }, + DBSubnetGroup: { DBSubnetGroupName: "db-subnets", VpcId: "vpc-1" }, + VpcSecurityGroups: [{ VpcSecurityGroupId: "sg-1", Status: "active" }], + DBParameterGroups: [ + { + DBParameterGroupName: "default.postgres18", + ParameterApplyStatus: "in-sync", + }, + ], +} + +const BACKUP_FAILURE_EVENT = { + Date: new Date("2026-08-16T03:05:00Z"), + SourceIdentifier: "orders-db", + SourceType: "db-instance", + EventCategories: ["backup", "failure"], + Message: "The automated backup could not be taken: volume busy", +} + +const BACKUP_CREATED_EVENT = { + Date: new Date("2026-08-15T03:02:00Z"), + SourceIdentifier: "orders-db", + SourceType: "db-instance", + EventCategories: ["backup", "configuration-change"], + Message: "The backup window moved.", +} + +const AUTOMATED_SNAPSHOTS = [ + { + DBSnapshotIdentifier: "rds:orders-db-2026-08-14-03-02", + SnapshotType: "automated", + Status: "available", + SnapshotCreateTime: new Date("2026-08-14T03:02:00Z"), + }, + { + DBSnapshotIdentifier: "rds:orders-db-2026-08-15-03-02", + SnapshotType: "automated", + Status: "available", + SnapshotCreateTime: new Date("2026-08-15T03:02:00Z"), + }, +] + +interface SeedOptions { + instances?: unknown[] + events?: unknown[] + tags?: unknown[] + snapshots?: unknown[] + automatedBackups?: unknown[] +} + +function seed(options: SeedOptions = {}): QueryClient { + const qc = createTestQueryClient() + qc.setQueryData(["rds", "dbInstances", "orders-db"], { + DBInstances: options.instances ?? [INSTANCE], + }) + qc.setQueryData(["rds", "events", "db-instance", "orders-db"], { + Events: options.events ?? [], + }) + qc.setQueryData(["rds", "dbSnapshots", "instance", "orders-db"], { + DBSnapshots: options.snapshots ?? [], + }) + qc.setQueryData(["rds", "automatedBackups", "orders-db"], { + DBInstanceAutomatedBackups: options.automatedBackups ?? [], + }) + qc.setQueryData(["rds", "tags", ARN], { TagList: options.tags ?? [] }) + qc.setQueryData(["rds", "parameterGroups"], { DBParameterGroups: [] }) + qc.setQueryData(["ec2", "securityGroups"], { SecurityGroups: [] }) + qc.setQueryData(["rds", "orderableOptions", "postgres"], { + OrderableDBInstanceOptions: [{ DBInstanceClass: "db.t3.micro" }], + }) + return qc +} + +const SNAPSHOT = { + DBSnapshotIdentifier: "orders-db-snapshot-20260817-1432", + DBInstanceIdentifier: "orders-db", + SnapshotType: "manual", + Status: "available", + SnapshotCreateTime: new Date("2026-08-17T14:32:00Z"), +} + +const AUTOMATED_SNAPSHOT = { + ...SNAPSHOT, + DBSnapshotIdentifier: "rds:orders-db-2026-08-17-03-00", + SnapshotType: "automated", +} + +function rowFor(identifier: string): HTMLElement { + const row = screen.getByText(identifier).closest("tr") + if (!row) { + throw new Error(`no row for ${identifier}`) + } + return row +} + +function openTab(name: string) { + fireEvent.click(screen.getByRole("tab", { name })) +} + +describe("DBInstanceDetailPage", () => { + it("renders the identifier and status", () => { + renderWithClient( + , + seed(), + ) + expect(screen.getByText("orders-db")).toBeInTheDocument() + expect(screen.getByText("available")).toBeInTheDocument() + }) + + it("reports a missing instance rather than rendering an empty shell", () => { + renderWithClient( + , + seed({ instances: [] }), + ) + expect(screen.getByText("DB instance not found.")).toBeInTheDocument() + }) + + it("shows the endpoint on the connectivity tab", () => { + renderWithClient( + , + seed(), + ) + expect(screen.getByText("orders-db.rds.internal")).toBeInTheDocument() + expect(screen.getByText("5432")).toBeInTheDocument() + expect(screen.getByText("No — private VPC address")).toBeInTheDocument() + }) + + it("offers a ready-to-paste connect command for the engine", () => { + renderWithClient( + , + seed(), + ) + fireEvent.click(screen.getByRole("button", { name: "AWS CLI" })) + expect(screen.getByText("psql")).toBeInTheDocument() + expect(screen.getByText(/sslmode=require/)).toBeInTheDocument() + }) + + it("renders the configuration the describe reported", () => { + renderWithClient( + , + seed(), + ) + openTab("Configuration") + expect(screen.getByText("postgres")).toBeInTheDocument() + expect(screen.getByText("20 GiB")).toBeInTheDocument() + expect(screen.getByText("gp3")).toBeInTheDocument() + expect(screen.getByText("Encrypted — always on")).toBeInTheDocument() + }) + + it("renders no pending changes card when nothing is in flight", () => { + renderWithClient( + , + seed(), + ) + openTab("Configuration") + expect(screen.queryByText("Pending Changes")).toBeNull() + }) + + it("renders PendingModifiedValues when the backend reports them", () => { + renderWithClient( + , + seed({ + instances: [ + { + ...INSTANCE, + DBInstanceStatus: "modifying", + PendingModifiedValues: { + DBInstanceClass: "db.t3.small", + AllocatedStorage: 40, + }, + }, + ], + }), + ) + openTab("Configuration") + expect(screen.getByText("Pending Changes")).toBeInTheDocument() + expect(screen.getByText("db.t3.small")).toBeInTheDocument() + expect(screen.getByText("40 GiB")).toBeInTheDocument() + }) + + it("renders a backup failure as a warning rather than a blank", () => { + renderWithClient( + , + seed({ events: [BACKUP_FAILURE_EVENT, BACKUP_CREATED_EVENT] }), + ) + openTab("Backups") + const alert = screen.getByRole("alert") + expect(alert).toHaveTextContent("An automated backup failed") + expect(alert).toHaveTextContent("volume busy") + }) + + it("dates the last backup from the newest automated snapshot", () => { + renderWithClient( + , + seed({ snapshots: AUTOMATED_SNAPSHOTS }), + ) + openTab("Backups") + expect(screen.queryByRole("alert")).toBeNull() + expect(screen.getByText("Last backup").parentElement).toHaveTextContent( + formatDateTime(new Date("2026-08-15T03:02:00Z")), + ) + expect(screen.getByText("7 days")).toBeInTheDocument() + }) + + it("leaves the last backup blank when only manual snapshots exist", () => { + renderWithClient( + , + seed({ snapshots: [SNAPSHOT] }), + ) + openTab("Backups") + expect(screen.getByText("Last backup").parentElement).toHaveTextContent("—") + }) + + it("reads a zero retention as backups being off", () => { + renderWithClient( + , + seed({ instances: [{ ...INSTANCE, BackupRetentionPeriod: 0 }] }), + ) + openTab("Backups") + expect(screen.getByText("Disabled")).toBeInTheDocument() + }) + + it("shows the empty state on the events tab", () => { + renderWithClient( + , + seed(), + ) + openTab("Events") + expect( + screen.getByText("No events in the last 14 days."), + ).toBeInTheDocument() + }) + + it("lists events newest first", () => { + renderWithClient( + , + seed({ events: [BACKUP_CREATED_EVENT, BACKUP_FAILURE_EVENT] }), + ) + openTab("Events") + const times = screen + .getAllByText(/^August \d+, 2026/) + .map((cell) => cell.textContent) + expect(times[0]).toBe(formatDateTime(new Date("2026-08-16T03:05:00Z"))) + }) + + it("enables only the lifecycle actions the status permits", () => { + renderWithClient( + , + seed({ instances: [{ ...INSTANCE, DBInstanceStatus: "stopped" }] }), + ) + expect(screen.getByRole("button", { name: "Start" })).toBeEnabled() + expect(screen.getByRole("button", { name: "Stop" })).toBeDisabled() + expect(screen.getByRole("button", { name: "Reboot" })).toBeDisabled() + }) + + it("sends StartDBInstance from the heading action", async () => { + renderWithClient( + , + seed({ instances: [{ ...INSTANCE, DBInstanceStatus: "stopped" }] }), + ) + fireEvent.click(screen.getByRole("button", { name: "Start" })) + await waitFor(() => expect(mockSend).toHaveBeenCalled()) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({ + DBInstanceIdentifier: "orders-db", + }) + }) + + it("renders the tags the describe returned", () => { + renderWithClient( + , + seed({ tags: [{ Key: "env", Value: "prod" }] }), + ) + openTab("Tags") + expect(screen.getByDisplayValue("env")).toBeInTheDocument() + expect(screen.getByDisplayValue("prod")).toBeInTheDocument() + }) + + it("shows the empty state when the instance has no snapshots", () => { + renderWithClient( + , + seed(), + ) + openTab("Backups") + expect( + screen.getByText("No snapshots of this instance."), + ).toBeInTheDocument() + }) + + it("lists the instance's snapshots on the backups tab", () => { + renderWithClient( + , + seed({ snapshots: [SNAPSHOT] }), + ) + openTab("Backups") + const row = rowFor("orders-db-snapshot-20260817-1432") + expect(within(row).getByRole("button", { name: "Restore" })).toBeEnabled() + expect(within(row).getByRole("button", { name: "Delete" })).toBeEnabled() + }) + + // DeleteDBSnapshot refuses the rds: namespace outright, so retention is the + // only thing that removes an automated backup. + it("offers no delete for an automated backup", () => { + renderWithClient( + , + seed({ snapshots: [AUTOMATED_SNAPSHOT] }), + ) + openTab("Backups") + const row = rowFor("rds:orders-db-2026-08-17-03-00") + expect(within(row).getByRole("button", { name: "Delete" })).toBeDisabled() + }) + + it("reads the automated backup's own status rather than inferring one", () => { + renderWithClient( + , + seed({ automatedBackups: [{ Status: "active" }] }), + ) + openTab("Backups") + expect(screen.getByText("active")).toBeInTheDocument() + }) + + it("says automated backups are off when the backend reports none", () => { + renderWithClient( + , + seed(), + ) + openTab("Backups") + expect( + screen.getByText("None — automated backups are off"), + ).toBeInTheDocument() + }) + + it("opens the snapshot dialog for this instance from the heading", () => { + renderWithClient( + , + seed(), + ) + fireEvent.click(screen.getByRole("button", { name: "Take Snapshot" })) + expect(screen.getByText("Take DB Snapshot")).toBeInTheDocument() + }) + + // backing-up is reachable only from a settled instance, so the action is + // held back rather than offered and then refused. + it("holds the snapshot action back while the instance is transitioning", () => { + renderWithClient( + , + seed({ instances: [{ ...INSTANCE, DBInstanceStatus: "modifying" }] }), + ) + expect(screen.getByRole("button", { name: "Take Snapshot" })).toBeDisabled() + }) + + it("renders no control for a parameter the backend only stores", () => { + renderWithClient( + , + seed(), + ) + openTab("Configuration") + expect(screen.queryByText(/Performance Insights/i)).toBeNull() + expect(screen.queryByText(/Monitoring interval/i)).toBeNull() + expect(screen.queryByText(/Copy tags to snapshot/i)).toBeNull() + expect(screen.queryByText(/minor version upgrade/i)).toBeNull() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/db-instance-detail-page.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/db-instance-detail-page.tsx new file mode 100644 index 000000000..a1bb38020 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/db-instance-detail-page.tsx @@ -0,0 +1,606 @@ +import type { DBInstance, Event } from "@aws-sdk/client-rds" +import { useSuspenseQuery } from "@tanstack/react-query" +import { Link, useNavigate } from "@tanstack/react-router" +import { Camera, Pencil, Trash2 } from "lucide-react" +import { useState } from "react" + +import { BackLink } from "@/components/back-link" +import { + CliCommandPanel, + type CliCommand, +} from "@/components/cli-command-panel" +import { DetailCard } from "@/components/detail-card" +import { DetailRow } from "@/components/detail-row" +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 { formatDateTime } from "@/lib/utils" +import { + useRebootDBInstance, + useStartDBInstance, + useStopDBInstance, +} from "@/mutations/rds" +import { + rdsAutomatedBackupsQueryOptions, + rdsDBInstanceQueryOptions, + rdsEventsQueryOptions, + rdsInstanceDBSnapshotsQueryOptions, +} from "@/queries/rds" +import { + canDelete, + canDeleteSnapshot, + canReboot, + canRestoreSnapshot, + canSnapshot, + canStart, + canStop, + SNAPSHOT_TYPE_AUTOMATED, +} from "@/types/rds" + +import { CreateDBSnapshotDialog } from "../../(snapshots)/-components/create-db-snapshot-dialog" +import { DeleteDBSnapshotDialog } from "../../(snapshots)/-components/delete-db-snapshot-dialog" +import { RdsEventsPanel } from "../../-components/rds-events-panel" +import { RdsTagsTab } from "../../-components/rds-tags-tab" +import { DeleteDBInstanceDialog } from "./delete-db-instance-dialog" +import { ModifyDBInstanceDialog } from "./modify-db-instance-dialog" + +interface Props { + dbInstanceIdentifier: string +} + +function hasCategory(event: Event, category: string): boolean { + return event.EventCategories?.includes(category) ?? false +} + +function latestEvent( + events: Event[], + predicate: (event: Event) => boolean, +): Event | undefined { + return events + .filter(predicate) + .toSorted((a, b) => (a.Date?.getTime() ?? 0) - (b.Date?.getTime() ?? 0)) + .at(-1) +} + +// The connection command for the engine, ready to paste. TLS is enforced on +// the serving side, so both forms ask for it rather than falling back silently. +function buildConnectCommand(instance: DBInstance): CliCommand[] { + const address = instance.Endpoint?.Address + if (!address) { + return [] + } + const port = instance.Endpoint?.Port ?? instance.DbInstancePort + const user = instance.MasterUsername ?? "" + const database = instance.DBName ?? user + + if (instance.Engine === "postgres") { + return [ + { + label: "Connect", + parts: [ + { type: "bin", value: "psql" }, + { + type: "value", + value: ` "host=${address} port=${port} dbname=${database} user=${user} sslmode=require"`, + }, + ], + }, + ] + } + return [ + { + label: "Connect", + parts: [ + { type: "bin", value: "mariadb" }, + { type: "flag", value: " --host" }, + { type: "value", value: `=${address}` }, + { type: "flag", value: " --port" }, + { type: "value", value: `=${port}` }, + { type: "flag", value: " --user" }, + { type: "value", value: `=${user}` }, + { type: "flag", value: " --ssl" }, + { type: "value", value: ` ${database}` }, + ], + }, + ] +} + +export function DBInstanceDetailPage({ dbInstanceIdentifier }: Props) { + const navigate = useNavigate() + const { data: instanceData } = useSuspenseQuery( + rdsDBInstanceQueryOptions(dbInstanceIdentifier), + ) + const instance = instanceData.DBInstances?.[0] + const arn = instance?.DBInstanceArn ?? "" + + // Not suspense: the ARN is empty until the describe lands, and an empty one + // is a request the tags API refuses. + const { data: eventsData } = useSuspenseQuery( + rdsEventsQueryOptions(dbInstanceIdentifier), + ) + const { data: snapshotsData } = useSuspenseQuery( + rdsInstanceDBSnapshotsQueryOptions(dbInstanceIdentifier), + ) + const { data: automatedBackupsData } = useSuspenseQuery( + rdsAutomatedBackupsQueryOptions(dbInstanceIdentifier), + ) + + const startInstance = useStartDBInstance() + const stopInstance = useStopDBInstance() + const rebootInstance = useRebootDBInstance() + const [showDelete, setShowDelete] = useState(false) + const [showModify, setShowModify] = useState(false) + const [showSnapshot, setShowSnapshot] = useState(false) + const [deleteSnapshotTarget, setDeleteSnapshotTarget] = useState< + string | null + >(null) + + if (!instance?.DBInstanceIdentifier) { + return ( + <> + Back to databases +

DB instance not found.

+ + ) + } + + const status = instance.DBInstanceStatus + const events = eventsData.Events ?? [] + const lifecycleError = + startInstance.error ?? stopInstance.error ?? rebootInstance.error + + // The record's backup failure counters are internal and never projected onto + // a DB instance, so the API-visible signal is the failure event itself. + const lastBackupFailure = latestEvent( + events, + (event) => hasCategory(event, "backup") && hasCategory(event, "failure"), + ) + // A quiesce that could not be taken or released is recorded as a backup + // notification. It is the only signal that a snapshot is crash consistent, + // since the record's flag is never projected onto the snapshot. + const lastBackupWarning = latestEvent( + events, + (event) => + hasCategory(event, "backup") && hasCategory(event, "notification"), + ) + const snapshots = snapshotsData.DBSnapshots ?? [] + // The success of an automated backup is only ever evented on the snapshot's + // own ring, so the newest automated snapshot is the instance-side answer. + const lastBackup = snapshots + .filter((s) => s.SnapshotType === SNAPSHOT_TYPE_AUTOMATED) + .toSorted( + (a, b) => + (a.SnapshotCreateTime?.getTime() ?? 0) - + (b.SnapshotCreateTime?.getTime() ?? 0), + ) + .at(-1) + const automatedBackup = automatedBackupsData.DBInstanceAutomatedBackups?.[0] + const pending = instance.PendingModifiedValues + const hasPending = + pending?.AllocatedStorage !== undefined || + pending?.DBInstanceClass !== undefined + + return ( + <> + Back to databases + + {lifecycleError && ( + + )} + +
+ + + + + + + +
+ } + subtitle="DB Instance" + title={dbInstanceIdentifier} + /> + +
+ + {instance.StatusInfos?.map((info) => ( + + {info.StatusType}: {info.Message ?? info.Status} + + ))} +
+ + + + Connectivity + Configuration + Backups + Tags + Events + + + +
+ + Endpoint + + + + + + g.VpcSecurityGroupId, + ).join(", ")} + /> + + + + + +
+
+ + +
+ + Configuration + + + + + + + + + `${g.DBParameterGroupName} (${g.ParameterApplyStatus})`, + ).join(", ")} + /> + + + + + + + + {hasPending && ( + + Pending Changes + + + + + + )} +
+
+ + +
+ {lastBackupFailure && ( +
+

An automated backup failed

+

+ {lastBackupFailure.Message} ( + {formatDateTime(lastBackupFailure.Date)}) +

+
+ )} + + {lastBackupWarning && ( +
+

A backup raised a warning

+

+ {lastBackupWarning.Message} ( + {formatDateTime(lastBackupWarning.Date)}) +

+
+ )} + + + Automated Backups + + + + + + + + + +
+

Snapshots

+ {snapshots.length > 0 ? ( +
+ + + + + + + + + + + + {snapshots.map((snapshot) => { + const snapshotId = snapshot.DBSnapshotIdentifier + if (!snapshotId) { + return null + } + return ( + + + + + + + + ) + })} + +
IdentifierTypeStatusCreated + Actions +
+ + {snapshotId} + + + {snapshot.SnapshotType} + + + + {formatDateTime(snapshot.SnapshotCreateTime)} + + + +
+
+ ) : ( +

+ No snapshots of this instance. +

+ )} +
+ +

+ Automated backups are daily snapshots taken in the backup + window, deleted by retention rather than by hand. There is no + point-in-time restore. +

+
+
+ + + + + + + + +
+ + + {/* Mounted per open so each form re-seeds from the current record; a + dialog left mounted keeps the values it captured the first time. */} + {showModify && ( + + )} + + {showSnapshot && ( + + )} + + {deleteSnapshotTarget && ( + !open && setDeleteSnapshotTarget(null)} + open={true} + /> + )} + + + await navigate({ to: "/rds/describe-db-instances" }) + } + onModify={() => { + setShowDelete(false) + setShowModify(true) + }} + onOpenChange={setShowDelete} + open={showDelete} + /> + + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/db-instances-list-page.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/db-instances-list-page.test.tsx new file mode 100644 index 000000000..2d175a206 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/db-instances-list-page.test.tsx @@ -0,0 +1,115 @@ +import { fireEvent, screen, waitFor } from "@testing-library/react" +import { describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const { routerState } = vi.hoisted(() => ({ + routerState: { navigate: vi.fn() }, +})) + +const mockSend = vi.fn().mockResolvedValue({}) + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: mockSend }), +})) + +vi.mock("@tanstack/react-router", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + useNavigate: () => routerState.navigate, + Link: ({ children, to }: { children: React.ReactNode; to?: string }) => ( + {children} + ), + } +}) + +import { DBInstancesListPage } from "./db-instances-list-page" + +const AVAILABLE_INSTANCE = { + DBInstanceIdentifier: "orders-db", + DBInstanceStatus: "available", + Engine: "postgres", + EngineVersion: "18", + DBInstanceClass: "db.t3.micro", + AllocatedStorage: 20, + DeletionProtection: false, + Endpoint: { Address: "orders-db.rds.internal", Port: 5432 }, +} + +function seed(instances: unknown[]) { + const qc = createTestQueryClient() + qc.setQueryData(["rds", "dbInstances"], { DBInstances: instances }) + return qc +} + +describe("DBInstancesListPage", () => { + it("renders a DB instance row", () => { + renderWithClient(, seed([AVAILABLE_INSTANCE])) + expect(screen.getByRole("link", { name: "orders-db" })).toBeInTheDocument() + expect(screen.getByText("postgres 18")).toBeInTheDocument() + expect(screen.getByText("db.t3.micro")).toBeInTheDocument() + expect(screen.getByText("available")).toBeInTheDocument() + expect(screen.getByText("orders-db.rds.internal")).toBeInTheDocument() + expect(screen.getByText("20 GiB")).toBeInTheDocument() + }) + + it("shows the empty state with no instances", () => { + renderWithClient(, seed([])) + expect(screen.getByText("No DB instances found.")).toBeInTheDocument() + }) + + it("enables only the actions an available instance permits", () => { + renderWithClient(, seed([AVAILABLE_INSTANCE])) + expect(screen.getByRole("button", { name: "Start" })).toBeDisabled() + expect(screen.getByRole("button", { name: "Stop" })).toBeEnabled() + expect(screen.getByRole("button", { name: "Reboot" })).toBeEnabled() + expect(screen.getByRole("button", { name: "Delete" })).toBeEnabled() + }) + + it("enables only the actions a stopped instance permits", () => { + renderWithClient( + , + seed([{ ...AVAILABLE_INSTANCE, DBInstanceStatus: "stopped" }]), + ) + expect(screen.getByRole("button", { name: "Start" })).toBeEnabled() + expect(screen.getByRole("button", { name: "Stop" })).toBeDisabled() + expect(screen.getByRole("button", { name: "Reboot" })).toBeDisabled() + }) + + it("offers no action while the instance is creating", () => { + renderWithClient( + , + seed([{ ...AVAILABLE_INSTANCE, DBInstanceStatus: "creating" }]), + ) + expect(screen.getByRole("button", { name: "Start" })).toBeDisabled() + expect(screen.getByRole("button", { name: "Stop" })).toBeDisabled() + expect(screen.getByRole("button", { name: "Reboot" })).toBeDisabled() + }) + + it("sends StopDBInstance when Stop is clicked", async () => { + renderWithClient(, seed([AVAILABLE_INSTANCE])) + fireEvent.click(screen.getByRole("button", { name: "Stop" })) + await waitFor(() => expect(mockSend).toHaveBeenCalled()) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({ + DBInstanceIdentifier: "orders-db", + }) + }) + + it("opens the delete dialog for a row", () => { + renderWithClient(, seed([AVAILABLE_INSTANCE])) + fireEvent.click(screen.getByRole("button", { name: "Delete" })) + expect(screen.getByText(/tears down "orders-db"/)).toBeInTheDocument() + }) + + it("navigates to the create page from the heading action", async () => { + renderWithClient(, seed([])) + fireEvent.click(screen.getByRole("button", { name: "Create Database" })) + expect(routerState.navigate).toHaveBeenCalledWith({ + to: "/rds/create-db-instance", + }) + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/db-instances-list-page.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/db-instances-list-page.tsx new file mode 100644 index 000000000..6eebf941c --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/db-instances-list-page.tsx @@ -0,0 +1,192 @@ +import type { DBInstance } from "@aws-sdk/client-rds" +import { useSuspenseQuery } from "@tanstack/react-query" +import { Link, useNavigate } from "@tanstack/react-router" +import { useState } from "react" + +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 { + useRebootDBInstance, + useStartDBInstance, + useStopDBInstance, +} from "@/mutations/rds" +import { rdsDBInstancesQueryOptions } from "@/queries/rds" +import { canDelete, canReboot, canStart, canStop } from "@/types/rds" + +import { DeleteDBInstanceDialog } from "./delete-db-instance-dialog" + +interface DeleteTarget { + identifier: string + deletionProtection: boolean +} + +function engineLabel(instance: DBInstance): string { + return [instance.Engine, instance.EngineVersion].filter(Boolean).join(" ") +} + +export function DBInstancesListPage() { + const navigate = useNavigate() + const { data } = useSuspenseQuery(rdsDBInstancesQueryOptions) + const startInstance = useStartDBInstance() + const stopInstance = useStopDBInstance() + const rebootInstance = useRebootDBInstance() + const [deleteTarget, setDeleteTarget] = useState(null) + + const instances = data.DBInstances ?? [] + const lifecycleError = + startInstance.error ?? stopInstance.error ?? rebootInstance.error + + return ( + <> + + await navigate({ to: "/rds/create-db-instance" }) + } + > + Create Database + + } + title="Databases" + /> + + {lifecycleError && ( + + )} + + {instances.length > 0 ? ( +
+ + + + + + + + + + + + + + {instances.map((instance) => { + const id = instance.DBInstanceIdentifier + if (!id) { + return null + } + const status = instance.DBInstanceStatus + return ( + + await navigate({ + to: "/rds/describe-db-instances/$id", + params: { id }, + }) + } + > + + + + + + + + + ) + })} + +
IdentifierEngineClassStatusEndpointStorage + Actions +
+ e.stopPropagation()} + params={{ id }} + to="/rds/describe-db-instances/$id" + > + {id} + + {engineLabel(instance)}{instance.DBInstanceClass} + + + {instance.Endpoint?.Address ?? "—"} + + {instance.AllocatedStorage + ? `${instance.AllocatedStorage} GiB` + : "—"} + + + + + +
+
+ ) : ( +

No DB instances found.

+ )} + + {deleteTarget && ( + !open && setDeleteTarget(null)} + open={true} + /> + )} + + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/delete-db-instance-dialog.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/delete-db-instance-dialog.test.tsx new file mode 100644 index 000000000..2dc91de8e --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/delete-db-instance-dialog.test.tsx @@ -0,0 +1,134 @@ +import { fireEvent, screen, waitFor } from "@testing-library/react" +import { describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const mockSend = vi.fn().mockResolvedValue({}) + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: mockSend }), +})) + +vi.mock("@tanstack/react-router", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + Link: ({ children, to }: { children: React.ReactNode; to?: string }) => ( + {children} + ), + } +}) + +import { + DeleteDBInstanceDialog, + defaultFinalSnapshotIdentifier, +} from "./delete-db-instance-dialog" + +function render(props: Partial<{ deletionProtection: boolean }> = {}) { + return renderWithClient( + , + createTestQueryClient(), + ) +} + +describe("defaultFinalSnapshotIdentifier", () => { + it("stamps the instance name with a UTC timestamp", () => { + const at = new Date(Date.UTC(2026, 7, 17, 14, 32)) + expect(defaultFinalSnapshotIdentifier("orders-db", at)).toBe( + "orders-db-final-20260817-1432", + ) + }) + + it("keeps the identifier inside the 63-character limit", () => { + const at = new Date(Date.UTC(2026, 7, 17, 14, 32)) + const long = `a${"b".repeat(62)}` + const result = defaultFinalSnapshotIdentifier(long, at) + expect(result.length).toBeLessThanOrEqual(63) + expect(result.endsWith("-final-20260817-1432")).toBeTruthy() + }) +}) + +describe("DeleteDBInstanceDialog", () => { + it("defaults to taking a final snapshot with a pre-filled name", () => { + render() + const checkbox = screen.getByRole("checkbox") + expect(checkbox).toBeChecked() + const field = screen.getByLabelText("Final snapshot name") + expect((field as HTMLInputElement).value).toMatch(/^orders-db-final-/) + }) + + it("explains that a final snapshot pins the data volume", () => { + render() + expect( + screen.getByText(/retains the underlying data volume/), + ).toBeInTheDocument() + }) + + it("sends a FinalDBSnapshotIdentifier on the default path", async () => { + render() + fireEvent.click(screen.getByRole("button", { name: "Delete" })) + await waitFor(() => expect(mockSend).toHaveBeenCalled()) + const input = mockSend.mock.calls[0]?.[0].input + expect(input.SkipFinalSnapshot).toBeFalsy() + expect(input.FinalDBSnapshotIdentifier).toMatch(/^orders-db-final-/) + }) + + it("requires the identifier to be typed before skipping the snapshot", () => { + render() + fireEvent.click(screen.getByRole("checkbox")) + expect(screen.getByRole("button", { name: "Delete" })).toBeDisabled() + + fireEvent.change(screen.getByLabelText("Type orders-db to confirm"), { + target: { value: "wrong-name" }, + }) + expect(screen.getByRole("button", { name: "Delete" })).toBeDisabled() + + fireEvent.change(screen.getByLabelText("Type orders-db to confirm"), { + target: { value: "orders-db" }, + }) + expect(screen.getByRole("button", { name: "Delete" })).toBeEnabled() + }) + + it("sends SkipFinalSnapshot once the identifier is confirmed", async () => { + render() + fireEvent.click(screen.getByRole("checkbox")) + fireEvent.change(screen.getByLabelText("Type orders-db to confirm"), { + target: { value: "orders-db" }, + }) + fireEvent.click(screen.getByRole("button", { name: "Delete" })) + + await waitFor(() => expect(mockSend).toHaveBeenCalled()) + const input = mockSend.mock.calls[0]?.[0].input + expect(input.SkipFinalSnapshot).toBeTruthy() + expect(input.FinalDBSnapshotIdentifier).toBeUndefined() + }) + + it("blocks the delete outright when deletion protection is on", () => { + render({ deletionProtection: true }) + expect( + screen.getByText(/has deletion protection enabled/), + ).toBeInTheDocument() + expect(screen.queryByRole("button", { name: "Delete" })).toBeNull() + }) + + it("points at the modify dialog instead of a delete that would fail", () => { + render({ deletionProtection: true }) + expect(screen.getByText("Open orders-db to modify it")).toBeInTheDocument() + }) + + it("refuses a malformed final snapshot name", () => { + render() + fireEvent.change(screen.getByLabelText("Final snapshot name"), { + target: { value: "Orders--DB-" }, + }) + expect(screen.getByRole("button", { name: "Delete" })).toBeDisabled() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/delete-db-instance-dialog.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/delete-db-instance-dialog.tsx new file mode 100644 index 000000000..fb5fa28c7 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/delete-db-instance-dialog.tsx @@ -0,0 +1,200 @@ +import { Link } from "@tanstack/react-router" +import { useState } from "react" + +import { + AlertDialog, + AlertDialogAction, + AlertDialogCancel, + AlertDialogContent, + AlertDialogDescription, + AlertDialogFooter, + AlertDialogHeader, + AlertDialogTitle, +} from "@/components/ui/alert-dialog" +import { Button } from "@/components/ui/button" +import { Field, FieldDescription, FieldTitle } from "@/components/ui/field" +import { Input } from "@/components/ui/input" +import { useDeleteDBInstance } from "@/mutations/rds" +import { dbSnapshotIdentifierField, suggestedIdentifier } from "@/types/rds" + +export function defaultFinalSnapshotIdentifier( + dbInstanceIdentifier: string, + now: Date = new Date(), +): string { + return suggestedIdentifier(dbInstanceIdentifier, "final", now) +} + +interface DeleteDBInstanceDialogProps { + open: boolean + onOpenChange: (open: boolean) => void + dbInstanceIdentifier: string + deletionProtection: boolean + onDeleted?: () => void + // Supplied by the detail page, which owns the modify dialog. Without it the + // deletion-protection notice links to the instance instead. + onModify?: () => void +} + +export function DeleteDBInstanceDialog({ + open, + onOpenChange, + dbInstanceIdentifier, + deletionProtection, + onDeleted, + onModify, +}: DeleteDBInstanceDialogProps) { + const deleteInstance = useDeleteDBInstance() + const [skipFinalSnapshot, setSkipFinalSnapshot] = useState(false) + const [snapshotIdentifier, setSnapshotIdentifier] = useState(() => + defaultFinalSnapshotIdentifier(dbInstanceIdentifier), + ) + const [typedIdentifier, setTypedIdentifier] = useState("") + + function handleOpenChange(nextOpen: boolean) { + if (!nextOpen) { + setSkipFinalSnapshot(false) + setSnapshotIdentifier( + defaultFinalSnapshotIdentifier(dbInstanceIdentifier), + ) + setTypedIdentifier("") + deleteInstance.reset() + } + onOpenChange(nextOpen) + } + + const snapshotNameError = skipFinalSnapshot + ? undefined + : dbSnapshotIdentifierField.safeParse(snapshotIdentifier).error?.issues[0] + ?.message + + const confirmationMissing = + skipFinalSnapshot && typedIdentifier !== dbInstanceIdentifier + const canDelete = !confirmationMissing && !snapshotNameError + + async function handleDelete() { + try { + await deleteInstance.mutateAsync({ + dbInstanceIdentifier, + skipFinalSnapshot, + finalSnapshotIdentifier: snapshotIdentifier, + }) + handleOpenChange(false) + onDeleted?.() + } catch { + // Surfaced below via deleteInstance.error + } + } + + return ( + + + + Delete DB Instance + + {deletionProtection + ? `"${dbInstanceIdentifier}" has deletion protection enabled and cannot be deleted while it is on.` + : `This tears down "${dbInstanceIdentifier}". It cannot be undone.`} + + + + {deletionProtection ? ( +
+

+ Turn deletion protection off first, then delete the instance. +

+ {onModify ? ( + + ) : ( + + Open {dbInstanceIdentifier} to modify it + + )} +
+ ) : ( +
+ + + {skipFinalSnapshot ? ( + + + + + setTypedIdentifier(e.target.value)} + placeholder={dbInstanceIdentifier} + value={typedIdentifier} + /> + + Deleting without a final snapshot destroys the data volume. + There is no way back. + + + ) : ( + + + + + setSnapshotIdentifier(e.target.value)} + value={snapshotIdentifier} + /> + {snapshotNameError && ( +

+ {snapshotNameError} +

+ )} +
+ )} +
+ )} + + {deleteInstance.error && ( +

+ {deleteInstance.error.message} +

+ )} + + + Cancel + {!deletionProtection && ( + { + e.preventDefault() + void handleDelete() + }} + > + {deleteInstance.isPending ? "Deleting…" : "Delete"} + + )} + +
+
+ ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/modify-db-instance-dialog.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/modify-db-instance-dialog.test.tsx new file mode 100644 index 000000000..a4bc403dc --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/modify-db-instance-dialog.test.tsx @@ -0,0 +1,145 @@ +import type { QueryClient } from "@tanstack/react-query" +import { fireEvent, screen, waitFor } from "@testing-library/react" +import { describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const mockSend = vi.fn().mockResolvedValue({}) + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: mockSend }), + getEc2Client: () => ({ send: mockSend }), +})) + +import { ModifyDBInstanceDialog } from "./modify-db-instance-dialog" + +const INSTANCE = { + DBInstanceIdentifier: "orders-db", + DBInstanceStatus: "available", + Engine: "postgres", + EngineVersion: "18", + DBInstanceClass: "db.t3.micro", + AllocatedStorage: 40, + DeletionProtection: false, + BackupRetentionPeriod: 7, + PreferredBackupWindow: "03:00-03:30", + PreferredMaintenanceWindow: "sun:04:00-sun:04:30", + VpcSecurityGroups: [{ VpcSecurityGroupId: "sg-1" }], + DBParameterGroups: [{ DBParameterGroupName: "default.postgres18" }], +} + +function seed(): QueryClient { + const qc = createTestQueryClient() + qc.setQueryData(["rds", "engineVersions"], { + DBEngineVersions: [ + { Engine: "postgres", DBParameterGroupFamily: "postgres18" }, + { Engine: "mariadb", DBParameterGroupFamily: "mariadb11.8" }, + ], + }) + qc.setQueryData(["rds", "parameterGroups"], { + DBParameterGroups: [ + { + DBParameterGroupName: "custom-pg", + DBParameterGroupFamily: "postgres18", + }, + ], + }) + qc.setQueryData(["ec2", "securityGroups"], { + SecurityGroups: [ + { GroupId: "sg-1", GroupName: "default", VpcId: "vpc-1" }, + { GroupId: "sg-2", GroupName: "db", VpcId: "vpc-1" }, + ], + }) + qc.setQueryData(["rds", "orderableOptions", "postgres"], { + OrderableDBInstanceOptions: [ + { DBInstanceClass: "db.t3.micro" }, + { DBInstanceClass: "db.t3.small" }, + ], + }) + return qc +} + +function render() { + return renderWithClient( + , + seed(), + ) +} + +describe("ModifyDBInstanceDialog", () => { + it("opens with the instance's current values", () => { + render() + expect(screen.getByText("Modify orders-db")).toBeInTheDocument() + expect(screen.getByLabelText("Allocated storage (GiB)")).toHaveValue(40) + expect(screen.getByLabelText("Backup retention (days)")).toHaveValue(7) + expect(screen.getByLabelText("Preferred backup window")).toHaveValue( + "03:00-03:30", + ) + expect(screen.getByLabelText("Security group sg-1 (default)")).toBeChecked() + expect(screen.getByLabelText("Security group sg-2 (db)")).not.toBeChecked() + }) + + it("floors the storage field at the current size", () => { + render() + expect(screen.getByLabelText("Allocated storage (GiB)")).toHaveAttribute( + "min", + "40", + ) + expect(screen.getByText(/Currently 40 GiB/)).toBeInTheDocument() + }) + + it("warns that growing storage bounces the instance", () => { + render() + fireEvent.change(screen.getByLabelText("Allocated storage (GiB)"), { + target: { value: "80" }, + }) + expect( + screen.getByText(/stops and starts the instance/), + ).toBeInTheDocument() + }) + + it("stays quiet about downtime while nothing has changed", () => { + render() + expect(screen.queryByText(/stops and starts the instance/)).toBeNull() + expect(screen.queryByText(/replaces the VM/)).toBeNull() + }) + + it.each(["Identifier", "Engine version", "Port", "DB subnet group"])( + "explains that %s is fixed at create", + (label) => { + render() + expect(screen.getByText(label)).toBeInTheDocument() + }, + ) + + it("refuses a shrink rather than sending one", () => { + render() + const storage = screen.getByLabelText( + "Allocated storage (GiB)", + ) + fireEvent.change(storage, { target: { value: "20" } }) + fireEvent.click(screen.getByRole("button", { name: "Save Changes" })) + + expect(storage.checkValidity()).toBeFalsy() + expect(mockSend).not.toHaveBeenCalled() + }) + + it("sends the identifier and ApplyImmediately on save", async () => { + render() + fireEvent.click(screen.getByLabelText("Apply immediately")) + fireEvent.click(screen.getByRole("button", { name: "Save Changes" })) + + await waitFor(() => expect(mockSend).toHaveBeenCalled()) + const input = mockSend.mock.calls[0]?.[0].input + expect(input.DBInstanceIdentifier).toBe("orders-db") + expect(input.ApplyImmediately).toBeTruthy() + expect(input.MasterUserPassword).toBeUndefined() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/modify-db-instance-dialog.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/modify-db-instance-dialog.tsx new file mode 100644 index 000000000..cc97ae569 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/-components/modify-db-instance-dialog.tsx @@ -0,0 +1,373 @@ +import type { DBInstance } from "@aws-sdk/client-rds" +import { zodResolver } from "@hookform/resolvers/zod" +import { useQuery } from "@tanstack/react-query" +import { Controller, useForm, useWatch } from "react-hook-form" + +import { ErrorBanner } from "@/components/error-banner" +import { FormActions } from "@/components/form-actions" +import { + AlertDialog, + AlertDialogContent, + AlertDialogDescription, + AlertDialogHeader, + AlertDialogTitle, +} from "@/components/ui/alert-dialog" +import { + Field, + FieldDescription, + FieldError, + FieldTitle, +} from "@/components/ui/field" +import { Input } from "@/components/ui/input" +import { useModifyDBInstance } from "@/mutations/rds" +import { ec2SecurityGroupsQueryOptions } from "@/queries/ec2" +import { + rdsEngineVersionsQueryOptions, + rdsOrderableOptionsQueryOptions, + rdsParameterGroupsQueryOptions, +} from "@/queries/rds" +import { + type ModifyDBInstanceFormData, + MAX_BACKUP_RETENTION_DAYS, + modifyDBInstanceSchema, +} from "@/types/rds" + +import { PickerNoticeText, pickerNotice } from "../../-components/picker-notice" +import { + DeletionProtectionField, + parameterGroupsForEngine, + RdsSelectField, +} from "../../-components/rds-form-fields" +import { SecurityGroupCheckboxes } from "../../-components/security-group-checkboxes" + +// ModifyDBInstance refuses these outright, and they are the ones users reach +// for first, so they are shown read-only rather than left unexplained. +const READ_ONLY_FIELDS: { label: string; note: string }[] = [ + { + label: "Identifier", + note: "The identifier is the endpoint hostname and the certificate subject; renaming in place is not implemented.", + }, + { + label: "Engine version", + note: "There is no in-place engine-version upgrade.", + }, + { + label: "Port", + note: "The port is fixed at create; changing it would break every client and the serving certificate.", + }, + { + label: "DB subnet group", + note: "The endpoint ENI is placed at create; moving it would change the address clients resolve.", + }, +] + +interface ModifyDBInstanceDialogProps { + open: boolean + onOpenChange: (open: boolean) => void + instance: DBInstance +} + +export function ModifyDBInstanceDialog({ + open, + onOpenChange, + instance, +}: ModifyDBInstanceDialogProps) { + const modifyInstance = useModifyDBInstance() + const parameterGroupsQuery = useQuery(rdsParameterGroupsQueryOptions) + const securityGroupsQuery = useQuery(ec2SecurityGroupsQueryOptions) + const engineVersionsQuery = useQuery(rdsEngineVersionsQueryOptions) + const orderableQuery = useQuery( + rdsOrderableOptionsQueryOptions(instance.Engine ?? ""), + ) + + const identifier = instance.DBInstanceIdentifier ?? "" + const currentStorage = instance.AllocatedStorage ?? 0 + const currentGroups = + instance.VpcSecurityGroups?.map((g) => g.VpcSecurityGroupId ?? "").filter( + Boolean, + ) ?? [] + + const { + control, + formState: { errors, isSubmitting }, + handleSubmit, + register, + setValue, + } = useForm({ + resolver: zodResolver(modifyDBInstanceSchema), + defaultValues: { + currentAllocatedStorage: currentStorage, + dbInstanceClass: instance.DBInstanceClass ?? "", + allocatedStorage: currentStorage, + dbParameterGroupName: + instance.DBParameterGroups?.[0]?.DBParameterGroupName ?? "", + vpcSecurityGroupIds: currentGroups, + deletionProtection: instance.DeletionProtection ?? false, + backupRetentionPeriod: instance.BackupRetentionPeriod ?? 0, + preferredBackupWindow: instance.PreferredBackupWindow ?? "", + preferredMaintenanceWindow: instance.PreferredMaintenanceWindow ?? "", + masterUserPassword: "", + applyImmediately: false, + }, + }) + + const values = useWatch({ control }) + const selectedClass = values.dbInstanceClass ?? "" + const selectedStorage = values.allocatedStorage ?? currentStorage + const selectedGroups = values.vpcSecurityGroupIds ?? [] + + const instanceClasses = [ + ...new Set( + (orderableQuery.data?.OrderableDBInstanceOptions ?? []) + .map((o) => o.DBInstanceClass ?? "") + .filter(Boolean), + ), + ] + const parameterGroups = parameterGroupsForEngine( + parameterGroupsQuery.data?.DBParameterGroups ?? [], + engineVersionsQuery.data?.DBEngineVersions ?? [], + instance.Engine ?? "", + ) + // The instance's ENI is already placed, so a group from another VPC cannot be + // attached to it. + const instanceVpc = instance.DBSubnetGroup?.VpcId + const securityGroups = ( + securityGroupsQuery.data?.SecurityGroups ?? [] + ).filter((g) => instanceVpc === undefined || g.VpcId === instanceVpc) + + const classChanged = selectedClass !== instance.DBInstanceClass + const storageChanged = selectedStorage !== currentStorage + + const classNotice = pickerNotice( + orderableQuery, + instanceClasses.length === 0, + { + loading: "Loading the instance classes…", + failed: "Could not read the instance classes", + empty: `No instance class this cluster's nodes can run is available for ${instance.Engine}.`, + }, + ) + const parameterGroupNotice = pickerNotice( + parameterGroupsQuery, + parameterGroups.length === 0, + { + loading: "Loading the parameter groups…", + failed: "Could not read the parameter groups", + empty: "No parameter group of this instance's engine family exists.", + }, + ) + const securityGroupNotice = pickerNotice( + securityGroupsQuery, + securityGroups.length === 0, + { + loading: "Loading the security groups…", + failed: "Could not read the security groups", + empty: "No security group in this instance's VPC is available.", + }, + ) + + const setSecurityGroups = (next: string[]) => + setValue("vpcSecurityGroupIds", next, { shouldValidate: true }) + + const onSubmit = async (data: ModifyDBInstanceFormData) => { + await modifyInstance.mutateAsync({ + ...data, + dbInstanceIdentifier: identifier, + }) + onOpenChange(false) + } + + return ( + + + + Modify {identifier} + + Changes apply in the maintenance window unless you apply them + immediately. + + + +
+ ({ value: c, label: c }))} + placeholder="Select an instance class" + warning={ + classChanged && + "Changing the class replaces the VM. The database is unavailable while it does." + } + /> + + + + + + + + Currently {currentStorage} GiB. Storage grows only. + + {storageChanged && ( +

+ Growing storage stops and starts the instance to extend the + filesystem. +

+ )} + +
+ + ({ + value: g.DBParameterGroupName ?? "", + label: g.DBParameterGroupName ?? "", + }))} + placeholder="Engine default group" + /> + + + VPC security groups + {securityGroupNotice ? ( + + ) : ( + + )} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Leave blank to keep the current password. + + + + + + + + Apply immediately + ( + + )} + /> + + +
+

Fixed at create

+ {READ_ONLY_FIELDS.map((entry) => ( +

+ {entry.label} —{" "} + {entry.note} +

+ ))} +
+ + {modifyInstance.error && ( + + )} + +
+ onOpenChange(false)} + pendingLabel="Saving…" + submitLabel="Save Changes" + /> +
+ +
+
+ ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/create-db-instance.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/create-db-instance.tsx new file mode 100644 index 000000000..633c82a4f --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/create-db-instance.tsx @@ -0,0 +1,37 @@ +import { createFileRoute } from "@tanstack/react-router" + +import { + ec2ImagesQueryOptions, + ec2SecurityGroupsQueryOptions, + ec2VpcsQueryOptions, +} from "@/queries/ec2" +import { + rdsEngineVersionsQueryOptions, + rdsParameterGroupsQueryOptions, + rdsSubnetGroupsQueryOptions, +} from "@/queries/rds" + +import { CreateDBInstancePage } from "./-components/create-db-instance-page" + +export const Route = createFileRoute( + "/_auth/rds/(db-instances)/create-db-instance", +)({ + loader: async ({ context }) => { + await Promise.all([ + context.queryClient.ensureQueryData(rdsEngineVersionsQueryOptions), + context.queryClient.ensureQueryData(rdsSubnetGroupsQueryOptions), + context.queryClient.ensureQueryData(rdsParameterGroupsQueryOptions), + context.queryClient.ensureQueryData(ec2SecurityGroupsQueryOptions), + context.queryClient.ensureQueryData(ec2VpcsQueryOptions), + context.queryClient.ensureQueryData(ec2ImagesQueryOptions), + ]) + }, + head: () => ({ + meta: [ + { + title: "Create Database | RDS | Mulga", + }, + ], + }), + component: CreateDBInstancePage, +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/describe-db-instances/$id.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/describe-db-instances/$id.tsx new file mode 100644 index 000000000..bf038f3ec --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/describe-db-instances/$id.tsx @@ -0,0 +1,44 @@ +import { createFileRoute } from "@tanstack/react-router" + +import { + rdsAutomatedBackupsQueryOptions, + rdsDBInstanceQueryOptions, + rdsEventsQueryOptions, + rdsInstanceDBSnapshotsQueryOptions, + rdsTagsQueryOptions, +} from "@/queries/rds" + +import { DBInstanceDetailPage } from "../-components/db-instance-detail-page" + +export const Route = createFileRoute( + "/_auth/rds/(db-instances)/describe-db-instances/$id", +)({ + loader: async ({ context, params }) => { + const id = decodeURIComponent(params.id) + // The tags query keys off the ARN, which only the describe knows, so it is + // warmed after the instance rather than alongside it. + const [instance] = await Promise.all([ + context.queryClient.ensureQueryData(rdsDBInstanceQueryOptions(id)), + context.queryClient.ensureQueryData(rdsEventsQueryOptions(id)), + context.queryClient.ensureQueryData( + rdsInstanceDBSnapshotsQueryOptions(id), + ), + context.queryClient.ensureQueryData(rdsAutomatedBackupsQueryOptions(id)), + ]) + const arn = instance.DBInstances?.[0]?.DBInstanceArn ?? "" + await context.queryClient.ensureQueryData(rdsTagsQueryOptions(arn)) + }, + head: ({ params }) => ({ + meta: [ + { + title: `${decodeURIComponent(params.id)} | RDS | Mulga`, + }, + ], + }), + component: RouteComponent, +}) + +function RouteComponent() { + const { id } = Route.useParams() + return +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/describe-db-instances/index.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/describe-db-instances/index.tsx new file mode 100644 index 000000000..4c0d03d96 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(db-instances)/describe-db-instances/index.tsx @@ -0,0 +1,21 @@ +import { createFileRoute } from "@tanstack/react-router" + +import { rdsDBInstancesQueryOptions } from "@/queries/rds" + +import { DBInstancesListPage } from "../-components/db-instances-list-page" + +export const Route = createFileRoute( + "/_auth/rds/(db-instances)/describe-db-instances/", +)({ + loader: async ({ context }) => { + await context.queryClient.ensureQueryData(rdsDBInstancesQueryOptions) + }, + head: () => ({ + meta: [ + { + title: "Databases | RDS | Mulga", + }, + ], + }), + component: DBInstancesListPage, +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/create-db-parameter-group-page.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/create-db-parameter-group-page.test.tsx new file mode 100644 index 000000000..204d1f869 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/create-db-parameter-group-page.test.tsx @@ -0,0 +1,125 @@ +import { fireEvent, screen, waitFor } from "@testing-library/react" +import userEvent from "@testing-library/user-event" +import { describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const { routerState } = vi.hoisted(() => ({ + routerState: { navigate: vi.fn() }, +})) + +const mockSend = vi.fn().mockResolvedValue({}) + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: mockSend }), +})) + +vi.mock("@tanstack/react-router", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + useNavigate: () => routerState.navigate, + Link: ({ children, to }: { children: React.ReactNode; to?: string }) => ( + {children} + ), + } +}) + +import { CreateDBParameterGroupPage } from "./create-db-parameter-group-page" + +function seed() { + const qc = createTestQueryClient() + qc.setQueryData(["rds", "engineVersions"], { + DBEngineVersions: [ + { + Engine: "postgres", + EngineVersion: "18", + DBParameterGroupFamily: "postgres18", + DBEngineVersionDescription: "PostgreSQL 18", + }, + { + Engine: "mariadb", + EngineVersion: "11.8", + DBParameterGroupFamily: "mariadb11.8", + DBEngineVersionDescription: "MariaDB 11.8", + }, + ], + }) + return qc +} + +describe("CreateDBParameterGroupPage", () => { + // The families come from the engine catalog, so a version pin bump moves the + // picker without the console being edited. + it("reads the families from the engine catalog", async () => { + const user = userEvent.setup() + renderWithClient(, seed()) + + await user.click(screen.getByLabelText("Family")) + + expect( + screen.getByRole("option", { name: "postgres18 — PostgreSQL 18" }), + ).toBeInTheDocument() + expect( + screen.getByRole("option", { name: "mariadb11.8 — MariaDB 11.8" }), + ).toBeInTheDocument() + }) + + it("sends CreateDBParameterGroup with the family", async () => { + renderWithClient(, seed()) + + fireEvent.change(screen.getByLabelText("Name"), { + target: { value: "orders-pg" }, + }) + fireEvent.change(screen.getByLabelText("Description"), { + target: { value: "Tuned settings" }, + }) + fireEvent.click( + screen.getByRole("button", { name: "Create Parameter Group" }), + ) + + await waitFor(() => expect(mockSend).toHaveBeenCalled()) + const input = mockSend.mock.calls[0]?.[0].input + expect(input.DBParameterGroupName).toBe("orders-pg") + expect(input.DBParameterGroupFamily).toBe("postgres18") + expect(input.Description).toBe("Tuned settings") + }) + + it("refuses the reserved default prefix before the round trip", async () => { + renderWithClient(, seed()) + + fireEvent.change(screen.getByLabelText("Name"), { + target: { value: "default.postgres18" }, + }) + fireEvent.change(screen.getByLabelText("Description"), { + target: { value: "Tuned settings" }, + }) + fireEvent.click( + screen.getByRole("button", { name: "Create Parameter Group" }), + ) + + expect( + await screen.findByText(/may not begin with "default\."/), + ).toBeInTheDocument() + expect(mockSend).not.toHaveBeenCalled() + }) + + it("requires a description, as the backend does", async () => { + renderWithClient(, seed()) + + fireEvent.change(screen.getByLabelText("Name"), { + target: { value: "orders-pg" }, + }) + fireEvent.click( + screen.getByRole("button", { name: "Create Parameter Group" }), + ) + + expect( + await screen.findByText("Description is required"), + ).toBeInTheDocument() + expect(mockSend).not.toHaveBeenCalled() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/create-db-parameter-group-page.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/create-db-parameter-group-page.tsx new file mode 100644 index 000000000..b58cd2a79 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/create-db-parameter-group-page.tsx @@ -0,0 +1,229 @@ +import { zodResolver } from "@hookform/resolvers/zod" +import { useSuspenseQuery } from "@tanstack/react-query" +import { useNavigate } from "@tanstack/react-router" +import { Controller, useForm, useWatch } from "react-hook-form" + +import { BackLink } from "@/components/back-link" +import { + CliCommandPanel, + cliPlaceholder, + commandFlag, + type CliCommand, +} from "@/components/cli-command-panel" +import { ErrorBanner } from "@/components/error-banner" +import { FormActions } from "@/components/form-actions" +import { PageHeading } from "@/components/page-heading" +import { + Field, + FieldDescription, + FieldError, + FieldTitle, +} from "@/components/ui/field" +import { Input } from "@/components/ui/input" +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select" +import { useCreateDBParameterGroup } from "@/mutations/rds" +import { rdsEngineVersionsQueryOptions } from "@/queries/rds" +import { + type CreateDBParameterGroupFormData, + createDBParameterGroupSchema, +} from "@/types/rds" + +import { TagsFieldArray } from "../../-components/tags-field-array" + +export function CreateDBParameterGroupPage() { + const navigate = useNavigate() + const createGroup = useCreateDBParameterGroup() + const { data: engineVersionsData } = useSuspenseQuery( + rdsEngineVersionsQueryOptions, + ) + + // The families come from the engine catalog rather than a table here, so a + // version pin bump moves the picker without the console being edited. + const families = [ + ...new Map( + (engineVersionsData.DBEngineVersions ?? []) + .filter((v) => v.DBParameterGroupFamily) + .map((v) => [ + v.DBParameterGroupFamily ?? "", + v.DBEngineVersionDescription ?? v.Engine ?? "", + ]), + ), + ] + + const { + control, + formState: { errors, isSubmitting }, + handleSubmit, + register, + } = useForm({ + resolver: zodResolver(createDBParameterGroupSchema), + defaultValues: { + dbParameterGroupName: "", + dbParameterGroupFamily: families[0]?.[0] ?? "", + description: "", + tags: [], + }, + }) + + const values = useWatch({ control }) + + const onSubmit = async (data: CreateDBParameterGroupFormData) => { + await createGroup.mutateAsync(data) + await navigate({ + to: "/rds/describe-db-parameter-groups/$name", + params: { name: data.dbParameterGroupName }, + }) + } + + return ( + <> + + Back to parameter groups + + + + {createGroup.error && ( + + )} + +
+ + + + + + + Letters, digits and hyphens, starting with a letter. The service + reserves the name "default" and the "default." + prefix. + + + + + + + + + ( + + )} + /> + + The family fixes which engine can attach the group, and it cannot be + changed afterwards. A group of one family is refused by an instance + of the other engine. + + + + + + + + + + + + + + +

+ A new group starts empty: every value is the engine default until you + override one, so a fresh group and the default group behave + identically. +

+ + + + + await navigate({ to: "/rds/describe-db-parameter-groups" }) + } + pendingLabel="Creating…" + submitLabel="Create Parameter Group" + /> + + + ) +} + +interface ParameterGroupCliValues { + dbParameterGroupName: string + dbParameterGroupFamily: string + description: string +} + +function buildCreateParameterGroupCommands( + values: ParameterGroupCliValues, +): CliCommand[] { + return [ + { + label: "Create DB Parameter Group", + parts: [ + { + type: "bin", + value: "AWS_PROFILE=spinifex aws rds create-db-parameter-group", + }, + ...commandFlag( + "--db-parameter-group-name", + cliPlaceholder(values.dbParameterGroupName, "DBParameterGroupName"), + ), + ...commandFlag( + "--db-parameter-group-family", + cliPlaceholder( + values.dbParameterGroupFamily, + "DBParameterGroupFamily", + ), + ), + ...commandFlag( + "--description", + `"${cliPlaceholder(values.description, "Description")}"`, + ), + ], + }, + ] +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/db-parameter-group-detail-page.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/db-parameter-group-detail-page.test.tsx new file mode 100644 index 000000000..14871e917 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/db-parameter-group-detail-page.test.tsx @@ -0,0 +1,120 @@ +import { screen } from "@testing-library/react" +import { describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const mockSend = vi.fn().mockResolvedValue({}) + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: mockSend }), +})) + +vi.mock("@tanstack/react-router", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + useNavigate: () => vi.fn(), + Link: ({ children, to }: { children: React.ReactNode; to?: string }) => ( + {children} + ), + } +}) + +import { DBParameterGroupDetailPage } from "./db-parameter-group-detail-page" + +const PARAMETERS = [ + { + ParameterName: "max_connections", + ParameterValue: "200", + Source: "user", + ApplyType: "static", + ApplyMethod: "pending-reboot", + DataType: "integer", + AllowedValues: "6-8388607", + IsModifiable: true, + }, + { + ParameterName: "ssl", + ParameterValue: "1", + Source: "engine-default", + ApplyType: "static", + ApplyMethod: "pending-reboot", + DataType: "boolean", + AllowedValues: "0,1", + IsModifiable: false, + }, +] + +function seed(name: string, group: unknown) { + const qc = createTestQueryClient() + qc.setQueryData(["rds", "parameterGroups", name], { + DBParameterGroups: group ? [group] : [], + }) + qc.setQueryData(["rds", "parameters", name], { Parameters: PARAMETERS }) + qc.setQueryData(["rds", "tags", `arn:${name}`], { TagList: [] }) + return qc +} + +const CUSTOMER = { + DBParameterGroupName: "orders-pg", + DBParameterGroupFamily: "postgres18", + Description: "Tuned settings", + DBParameterGroupArn: "arn:orders-pg", +} + +const DEFAULT_GROUP = { + DBParameterGroupName: "default.postgres18", + DBParameterGroupFamily: "postgres18", + Description: "Default parameter group for postgres18", + DBParameterGroupArn: "arn:default.postgres18", +} + +describe("DBParameterGroupDetailPage", () => { + it("renders the parameters of a customer group", () => { + renderWithClient( + , + seed("orders-pg", CUSTOMER), + ) + expect(screen.getByText("max_connections")).toBeInTheDocument() + expect( + screen.getByLabelText("Value of max_connections"), + ).toBeInTheDocument() + expect(screen.getByRole("button", { name: /Delete/ })).toBeEnabled() + }) + + it("reports a group that does not exist", () => { + renderWithClient( + , + seed("missing-pg", null), + ) + expect( + screen.getByText("DB parameter group not found."), + ).toBeInTheDocument() + }) + + // A default group is synthesised on describe and has no stored record, so + // modify, delete and tagging would all be refused. + it("renders a default group read-only, with no tags tab", () => { + renderWithClient( + , + seed("default.postgres18", DEFAULT_GROUP), + ) + expect( + screen.getByText("This is a default parameter group"), + ).toBeInTheDocument() + expect(screen.getByRole("button", { name: /Delete/ })).toBeDisabled() + expect(screen.queryByLabelText("Value of max_connections")).toBeNull() + expect(screen.queryByRole("tab", { name: "Tags" })).toBeNull() + }) + + it("offers the tags tab on a customer group", () => { + renderWithClient( + , + seed("orders-pg", CUSTOMER), + ) + expect(screen.getByRole("tab", { name: "Tags" })).toBeInTheDocument() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/db-parameter-group-detail-page.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/db-parameter-group-detail-page.tsx new file mode 100644 index 000000000..b29fd3e4c --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/db-parameter-group-detail-page.tsx @@ -0,0 +1,153 @@ +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 { DetailCard } from "@/components/detail-card" +import { DetailRow } from "@/components/detail-row" +import { PageHeading } from "@/components/page-heading" +import { Button } from "@/components/ui/button" +import { Tabs, TabsList, TabsPanel, TabsTab } from "@/components/ui/tabs" +import { + rdsParameterGroupQueryOptions, + rdsParametersQueryOptions, +} from "@/queries/rds" +import { isDefaultParameterGroupName } from "@/types/rds" + +import { RdsTagsTab } from "../../-components/rds-tags-tab" +import { DeleteDBParameterGroupDialog } from "./delete-db-parameter-group-dialog" +import { ParametersEditor } from "./parameters-editor" + +interface Props { + dbParameterGroupName: string +} + +export function DBParameterGroupDetailPage({ dbParameterGroupName }: Props) { + const navigate = useNavigate() + const { data: groupData } = useSuspenseQuery( + rdsParameterGroupQueryOptions(dbParameterGroupName), + ) + const group = groupData.DBParameterGroups?.[0] + const isDefault = isDefaultParameterGroupName(dbParameterGroupName) + // A default group has no stored record, so ListTagsForResource has nothing + // to answer for it and the tags tab is not offered. + const arn = isDefault ? "" : (group?.DBParameterGroupArn ?? "") + + const { data: parametersData } = useSuspenseQuery( + rdsParametersQueryOptions(dbParameterGroupName), + ) + + const [showDelete, setShowDelete] = useState(false) + + if (!group?.DBParameterGroupName) { + return ( + <> + + Back to parameter groups + +

DB parameter group not found.

+ + ) + } + + const parameters = parametersData.Parameters ?? [] + const overrideCount = parameters.filter((p) => p.Source === "user").length + + return ( + <> + + Back to parameter groups + + +
+ setShowDelete(true)} + size="sm" + variant="destructive" + > + + Delete + + } + subtitle="DB Parameter Group" + title={dbParameterGroupName} + /> + + {isDefault && ( +
+

This is a default parameter group

+

+ The service owns it. It can be read and attached to an instance, + but it cannot be modified, deleted or tagged. Create your own + group of the same family to change a value. +

+
+ )} + + + + Parameters + Details + {!isDefault && Tags} + + + + + + + + + Details + + + + + + + + + + + + {!isDefault && ( + + + + )} + +
+ + + await navigate({ to: "/rds/describe-db-parameter-groups" }) + } + onOpenChange={setShowDelete} + open={showDelete} + /> + + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/db-parameter-groups-list-page.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/db-parameter-groups-list-page.test.tsx new file mode 100644 index 000000000..8676af751 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/db-parameter-groups-list-page.test.tsx @@ -0,0 +1,98 @@ +import { fireEvent, screen } from "@testing-library/react" +import { describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const { routerState } = vi.hoisted(() => ({ + routerState: { navigate: vi.fn() }, +})) + +const mockSend = vi.fn().mockResolvedValue({}) + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: mockSend }), +})) + +vi.mock("@tanstack/react-router", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + useNavigate: () => routerState.navigate, + Link: ({ children, to }: { children: React.ReactNode; to?: string }) => ( + {children} + ), + } +}) + +import { DBParameterGroupsListPage } from "./db-parameter-groups-list-page" + +const CUSTOMER_GROUP = { + DBParameterGroupName: "orders-pg", + DBParameterGroupFamily: "postgres18", + Description: "Tuned settings", +} + +const DEFAULT_GROUP = { + DBParameterGroupName: "default.postgres18", + DBParameterGroupFamily: "postgres18", + Description: "Default parameter group for postgres18", +} + +function seed(groups: unknown[]) { + const qc = createTestQueryClient() + qc.setQueryData(["rds", "parameterGroups"], { DBParameterGroups: groups }) + return qc +} + +describe("DBParameterGroupsListPage", () => { + it("renders a group with its family", () => { + renderWithClient( + , + seed([CUSTOMER_GROUP, DEFAULT_GROUP]), + ) + expect(screen.getByRole("link", { name: "orders-pg" })).toBeInTheDocument() + expect(screen.getAllByText("postgres18")).toHaveLength(2) + }) + + // A default group has no stored record, so a delete would always be refused. + it("marks the default group and refuses to offer its delete", () => { + renderWithClient( + , + seed([CUSTOMER_GROUP, DEFAULT_GROUP]), + ) + expect(screen.getByText("Default")).toBeInTheDocument() + expect(screen.getByText("Customer")).toBeInTheDocument() + + const deleteButtons = screen.getAllByRole("button", { name: "Delete" }) + expect(deleteButtons[0]).toBeEnabled() + expect(deleteButtons[1]).toBeDisabled() + }) + + it("shows the empty state with no groups", () => { + renderWithClient(, seed([])) + expect( + screen.getByText("No DB parameter groups found."), + ).toBeInTheDocument() + }) + + it("names the in-use refusal in the delete dialog", () => { + renderWithClient(, seed([CUSTOMER_GROUP])) + fireEvent.click(screen.getByRole("button", { name: "Delete" })) + expect( + screen.getByText(/refused while any DB instance references the group/), + ).toBeInTheDocument() + }) + + it("navigates to the create page from the heading action", () => { + renderWithClient(, seed([])) + fireEvent.click( + screen.getByRole("button", { name: "Create Parameter Group" }), + ) + expect(routerState.navigate).toHaveBeenCalledWith({ + to: "/rds/create-db-parameter-group", + }) + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/db-parameter-groups-list-page.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/db-parameter-groups-list-page.tsx new file mode 100644 index 000000000..7135c5fda --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/db-parameter-groups-list-page.tsx @@ -0,0 +1,123 @@ +import { useSuspenseQuery } from "@tanstack/react-query" +import { Link, useNavigate } from "@tanstack/react-router" +import { useState } from "react" + +import { PageHeading } from "@/components/page-heading" +import { Button } from "@/components/ui/button" +import { rdsParameterGroupsQueryOptions } from "@/queries/rds" +import { isDefaultParameterGroupName } from "@/types/rds" + +import { DeleteDBParameterGroupDialog } from "./delete-db-parameter-group-dialog" + +export function DBParameterGroupsListPage() { + const navigate = useNavigate() + const { data } = useSuspenseQuery(rdsParameterGroupsQueryOptions) + const [deleteTarget, setDeleteTarget] = useState(null) + + const groups = data.DBParameterGroups ?? [] + + return ( + <> + + await navigate({ to: "/rds/create-db-parameter-group" }) + } + > + Create Parameter Group + + } + title="DB Parameter Groups" + /> + + {groups.length > 0 ? ( +
+ + + + + + + + + + + + {groups.map((group) => { + const name = group.DBParameterGroupName + if (!name) { + return null + } + const isDefault = isDefaultParameterGroupName(name) + return ( + + await navigate({ + to: "/rds/describe-db-parameter-groups/$name", + params: { name }, + }) + } + > + + + + + + + ) + })} + +
NameFamilyTypeDescription + Actions +
+ e.stopPropagation()} + params={{ name }} + to="/rds/describe-db-parameter-groups/$name" + > + {name} + + + {group.DBParameterGroupFamily} + + {isDefault ? "Default" : "Customer"} + + {group.Description} + + +
+
+ ) : ( +

No DB parameter groups found.

+ )} + +

+ A default group is owned by the service. It is readable and attachable + but cannot be modified, deleted or tagged — create your own group to + change a value. +

+ + {deleteTarget && ( + !open && setDeleteTarget(null)} + open={true} + /> + )} + + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/delete-db-parameter-group-dialog.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/delete-db-parameter-group-dialog.tsx new file mode 100644 index 000000000..4adf35c8f --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/delete-db-parameter-group-dialog.tsx @@ -0,0 +1,35 @@ +import { useDeleteDBParameterGroup } from "@/mutations/rds" + +import { RdsDeleteDialog } from "../../-components/rds-delete-dialog" + +interface DeleteDBParameterGroupDialogProps { + open: boolean + onOpenChange: (open: boolean) => void + dbParameterGroupName: string + onDeleted?: () => void +} + +export function DeleteDBParameterGroupDialog({ + open, + onOpenChange, + dbParameterGroupName, + onDeleted, +}: DeleteDBParameterGroupDialogProps) { + return ( + + This deletes the DB parameter group "{dbParameterGroupName}" + and every value stored on it. It is refused while any DB instance + references the group, including one whose pending changes name it. + + } + identifier={dbParameterGroupName} + mutation={useDeleteDBParameterGroup()} + onDeleted={onDeleted} + onOpenChange={onOpenChange} + open={open} + title="Delete DB Parameter Group" + /> + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/parameters-editor.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/parameters-editor.test.tsx new file mode 100644 index 000000000..852724add --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/parameters-editor.test.tsx @@ -0,0 +1,217 @@ +import { fireEvent, screen, waitFor, within } from "@testing-library/react" +import { describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const mockSend = vi.fn().mockResolvedValue({}) + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: mockSend }), +})) + +import { ParametersEditor } from "./parameters-editor" + +const DYNAMIC_PARAM = { + ParameterName: "log_min_duration_statement", + ParameterValue: "-1", + Description: "Log statements slower than this", + Source: "engine-default", + ApplyType: "dynamic", + ApplyMethod: "immediate", + DataType: "integer", + AllowedValues: "-1-2147483647 (ms)", + IsModifiable: true, +} + +const STATIC_PARAM = { + ParameterName: "max_connections", + ParameterValue: "100", + Description: "Maximum concurrent connections", + Source: "user", + ApplyType: "static", + ApplyMethod: "pending-reboot", + DataType: "integer", + AllowedValues: "6-8388607", + IsModifiable: true, +} + +const FIXED_PARAM = { + ParameterName: "ssl", + ParameterValue: "1", + Description: "Serve TLS", + Source: "engine-default", + ApplyType: "static", + ApplyMethod: "pending-reboot", + DataType: "boolean", + AllowedValues: "0,1", + IsModifiable: false, +} + +function render( + parameters: unknown[] = [DYNAMIC_PARAM, STATIC_PARAM, FIXED_PARAM], + readOnly = false, +) { + return renderWithClient( + , + createTestQueryClient(), + ) +} + +function valueInput(name: string): HTMLElement { + return screen.getByLabelText(`Value of ${name}`) +} + +describe("ParametersEditor", () => { + it("renders every parameter with its source and allowed values", () => { + render() + expect(screen.getByText("max_connections")).toBeInTheDocument() + expect(screen.getByText("6-8388607")).toBeInTheDocument() + expect(screen.getByText("user")).toBeInTheDocument() + expect(screen.getAllByText("engine-default")).not.toHaveLength(0) + }) + + // The backend refuses an unmodifiable parameter by design; hiding it would + // read as the engine not offering the setting at all. + it("shows an unmodifiable parameter without a control", () => { + render() + expect(screen.getByText(/fixed by the platform/)).toBeInTheDocument() + expect(screen.queryByLabelText("Value of ssl")).not.toBeInTheDocument() + }) + + it("filters by parameter name", () => { + render() + fireEvent.change(screen.getByLabelText("Filter parameters"), { + target: { value: "max_conn" }, + }) + expect(screen.getByText("max_connections")).toBeInTheDocument() + expect(screen.queryByText("ssl")).not.toBeInTheDocument() + }) + + it("reports a filter that matches nothing", () => { + render() + fireEvent.change(screen.getByLabelText("Filter parameters"), { + target: { value: "nothing_matches_this" }, + }) + expect( + screen.getByText("No parameter matches this filter."), + ).toBeInTheDocument() + }) + + // resolveApplyMethod rejects "immediate" on a static parameter rather than + // downgrading it, so the choice must never be offered. + it("pins a static parameter to pending-reboot", () => { + render() + fireEvent.change(valueInput("max_connections"), { + target: { value: "200" }, + }) + expect( + screen.queryByLabelText("Apply method of max_connections"), + ).not.toBeInTheDocument() + + const row = screen.getByText("max_connections").closest("tr") + expect( + within(row as HTMLElement).getByText(/adopted at the next reboot/), + ).toBeInTheDocument() + }) + + it("offers the apply method once a dynamic parameter is edited", () => { + render() + expect( + screen.queryByLabelText("Apply method of log_min_duration_statement"), + ).not.toBeInTheDocument() + + fireEvent.change(valueInput("log_min_duration_statement"), { + target: { value: "500" }, + }) + + expect( + screen.getByLabelText("Apply method of log_min_duration_statement"), + ).toBeInTheDocument() + }) + + it("sends the edited parameters with their apply methods", async () => { + render() + fireEvent.change(valueInput("max_connections"), { + target: { value: "200" }, + }) + fireEvent.click(screen.getByRole("button", { name: "Save Changes" })) + + await waitFor(() => expect(mockSend).toHaveBeenCalled()) + const input = mockSend.mock.calls[0]?.[0].input + expect(input.DBParameterGroupName).toBe("orders-pg") + expect(input.Parameters).toStrictEqual([ + { + ParameterName: "max_connections", + ParameterValue: "200", + ApplyMethod: "pending-reboot", + }, + ]) + }) + + it("discards an edit without sending anything", () => { + render() + fireEvent.change(valueInput("max_connections"), { + target: { value: "200" }, + }) + fireEvent.click(screen.getByRole("button", { name: "Discard" })) + expect(screen.queryByRole("button", { name: "Save Changes" })).toBeNull() + expect(mockSend).not.toHaveBeenCalled() + }) + + it("refuses to save a blank value", () => { + render() + fireEvent.change(valueInput("max_connections"), { target: { value: "" } }) + expect(screen.getByRole("button", { name: "Save Changes" })).toBeDisabled() + expect(screen.getByText(/cannot be left blank/)).toBeInTheDocument() + }) + + // ModifyDBParameterGroup takes at most 20 per call, and each call is atomic, + // so the cap is enforced here rather than by a partial multi-request save. + it("blocks a save of more than twenty parameters", () => { + const many = Array.from({ length: 21 }, (_, i) => ({ + ...DYNAMIC_PARAM, + ParameterName: `param_${i}`, + })) + render(many) + + for (let i = 0; i < 21; i++) { + fireEvent.change(valueInput(`param_${i}`), { target: { value: "5" } }) + } + + expect(screen.getByText("21 parameters edited")).toBeInTheDocument() + expect(screen.getByRole("button", { name: "Save Changes" })).toBeDisabled() + expect( + screen.getByText(/At most 20 parameters can be saved at once/), + ).toBeInTheDocument() + }) + + it("surfaces a rejected modify", async () => { + mockSend.mockRejectedValueOnce( + new Error("parameter max_connections is static"), + ) + render() + fireEvent.change(valueInput("max_connections"), { + target: { value: "200" }, + }) + fireEvent.click(screen.getByRole("button", { name: "Save Changes" })) + + expect( + await screen.findByText(/parameter max_connections is static/), + ).toBeInTheDocument() + }) + + it("offers no control at all on a read-only group", () => { + render(undefined, true) + expect(screen.queryByLabelText("Value of max_connections")).toBeNull() + expect( + within(screen.getByRole("table")).getByText("100"), + ).toBeInTheDocument() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/parameters-editor.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/parameters-editor.tsx new file mode 100644 index 000000000..b7bc1f08c --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/-components/parameters-editor.tsx @@ -0,0 +1,349 @@ +import type { ApplyMethod, Parameter } from "@aws-sdk/client-rds" +import { useState } from "react" + +import { Button } from "@/components/ui/button" +import { Input } from "@/components/ui/input" +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select" +import { useModifyDBParameterGroup } from "@/mutations/rds" +import { + APPLY_METHOD_PENDING_REBOOT, + APPLY_TYPE_STATIC, + applyMethodsFor, + MAX_PARAMETERS_PER_MODIFY, + PARAMETER_SOURCE_USER, +} from "@/types/rds" + +type SourceFilter = "all" | "user" | "engine-default" + +interface Edit { + value: string + applyMethod: ApplyMethod +} + +interface ParametersEditorProps { + dbParameterGroupName: string + parameters: Parameter[] + // A default group has no stored record, so every value on it is fixed. + readOnly: boolean +} + +// The values a picker can offer, or null for a free-form field. A stored value +// outside the allowed set falls back to the text input rather than to a picker +// that cannot represent what is already there. +function optionsFor(parameter: Parameter): string[] | null { + const allowed = parameter.AllowedValues ?? "" + if (parameter.DataType !== "boolean" && parameter.DataType !== "enum") { + return null + } + const options = allowed.split(",").filter((v) => v.length > 0) + if (options.length === 0) { + return null + } + return options.includes(parameter.ParameterValue ?? "") ? options : null +} + +function isNumeric(parameter: Parameter): boolean { + return parameter.DataType === "integer" || parameter.DataType === "real" +} + +function defaultApplyMethod(parameter: Parameter): ApplyMethod { + if (parameter.ApplyType === APPLY_TYPE_STATIC) { + return APPLY_METHOD_PENDING_REBOOT + } + return parameter.ApplyMethod ?? APPLY_METHOD_PENDING_REBOOT +} + +interface ParameterValueCellProps { + parameter: Parameter + value: string + options: string[] | null + editable: boolean + onChange: (value: string) => void +} + +// An unmodifiable parameter shows its value with no control at all: the backend +// refuses it by design, and hiding the row would read as the engine not +// offering the setting. +function ParameterValueCell({ + parameter, + value, + options, + editable, + onChange, +}: ParameterValueCellProps) { + const name = parameter.ParameterName ?? "" + if (!editable) { + return {value} + } + if (options) { + return ( + + ) + } + return ( + onChange(e.target.value)} + type={isNumeric(parameter) ? "number" : "text"} + value={value} + /> + ) +} + +export function ParametersEditor({ + dbParameterGroupName, + parameters, + readOnly, +}: ParametersEditorProps) { + const modifyGroup = useModifyDBParameterGroup() + const [edits, setEdits] = useState>({}) + const [filterText, setFilterText] = useState("") + const [sourceFilter, setSourceFilter] = useState("all") + + const editedNames = Object.keys(edits) + const overLimit = editedNames.length > MAX_PARAMETERS_PER_MODIFY + const hasBlankValue = editedNames.some( + (name) => (edits[name]?.value ?? "").trim() === "", + ) + + const setEdit = (parameter: Parameter, next: Partial) => { + const name = parameter.ParameterName ?? "" + setEdits((current) => ({ + ...current, + [name]: { + value: parameter.ParameterValue ?? "", + applyMethod: defaultApplyMethod(parameter), + ...current[name], + ...next, + }, + })) + } + + const clearEdit = (name: string) => { + setEdits((current) => { + const { [name]: _removed, ...rest } = current + return rest + }) + } + + const handleSave = async () => { + try { + await modifyGroup.mutateAsync({ + dbParameterGroupName, + parameters: editedNames.map((name) => ({ + name, + value: edits[name]?.value ?? "", + applyMethod: edits[name]?.applyMethod ?? APPLY_METHOD_PENDING_REBOOT, + })), + }) + setEdits({}) + } catch { + // Surfaced below via modifyGroup.error + } + } + + const needle = filterText.trim().toLowerCase() + const visible = parameters.filter((parameter) => { + const source = parameter.Source ?? "" + if (sourceFilter === "user" && source !== PARAMETER_SOURCE_USER) { + return false + } + if (sourceFilter === "engine-default" && source === PARAMETER_SOURCE_USER) { + return false + } + return (parameter.ParameterName ?? "").toLowerCase().includes(needle) + }) + + return ( +
+
+
+ + setFilterText(e.target.value)} + placeholder="Filter by parameter name" + value={filterText} + /> +
+ +
+ + {!readOnly && editedNames.length > 0 && ( +
+

+ {editedNames.length} parameter + {editedNames.length === 1 ? "" : "s"} edited +

+ + + {overLimit && ( +

+ At most {MAX_PARAMETERS_PER_MODIFY} parameters can be saved at + once. Each save is applied as a whole, so a larger edit is split + by you rather than half-applied by us. +

+ )} + {hasBlankValue && ( +

+ An edited parameter cannot be left blank. +

+ )} +
+ )} + + {modifyGroup.error && ( +

{modifyGroup.error.message}

+ )} + + {visible.length > 0 ? ( +
+ + + + + + + + + + + + + {visible.map((parameter) => { + const name = parameter.ParameterName ?? "" + const edit = edits[name] + const options = optionsFor(parameter) + const editable = !readOnly && parameter.IsModifiable + const value = edit?.value ?? parameter.ParameterValue ?? "" + const applyMethod = + edit?.applyMethod ?? defaultApplyMethod(parameter) + const methods = applyMethodsFor(parameter.ApplyType) + + return ( + + + + + + + + + ) + })} + +
NameValueAllowedSourceApply + Actions +
+ {name} + + {parameter.Description} + + + setEdit(parameter, { value: next })} + options={options} + parameter={parameter} + value={value} + /> + + {parameter.AllowedValues ?? "—"} + + {parameter.DataType} + {!parameter.IsModifiable && " · fixed by the platform"} + + {parameter.Source} + {editable && edit && methods.length > 1 ? ( + + ) : ( + + {applyMethod} + {parameter.ApplyType === APPLY_TYPE_STATIC && ( + + static — adopted at the next reboot + + )} + + )} + + {edit && ( + + )} +
+
+ ) : ( +

+ No parameter matches this filter. +

+ )} +
+ ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/create-db-parameter-group.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/create-db-parameter-group.tsx new file mode 100644 index 000000000..8450943c5 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/create-db-parameter-group.tsx @@ -0,0 +1,21 @@ +import { createFileRoute } from "@tanstack/react-router" + +import { rdsEngineVersionsQueryOptions } from "@/queries/rds" + +import { CreateDBParameterGroupPage } from "./-components/create-db-parameter-group-page" + +export const Route = createFileRoute( + "/_auth/rds/(parameter-groups)/create-db-parameter-group", +)({ + loader: async ({ context }) => { + await context.queryClient.ensureQueryData(rdsEngineVersionsQueryOptions) + }, + head: () => ({ + meta: [ + { + title: "Create Parameter Group | RDS | Mulga", + }, + ], + }), + component: CreateDBParameterGroupPage, +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/describe-db-parameter-groups/$name.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/describe-db-parameter-groups/$name.tsx new file mode 100644 index 000000000..c1043f7e6 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/describe-db-parameter-groups/$name.tsx @@ -0,0 +1,48 @@ +import { createFileRoute } from "@tanstack/react-router" + +import { + rdsParameterGroupQueryOptions, + rdsParametersQueryOptions, + rdsTagsQueryOptions, +} from "@/queries/rds" +import { isDefaultParameterGroupName } from "@/types/rds" + +import { DBParameterGroupDetailPage } from "../-components/db-parameter-group-detail-page" + +export const Route = createFileRoute( + "/_auth/rds/(parameter-groups)/describe-db-parameter-groups/$name", +)({ + loader: async ({ context, params }) => { + const name = decodeURIComponent(params.name) + // The tags query keys off the ARN, which only the describe knows, so it is + // warmed after the group rather than alongside it. A default group has no + // stored record for tags to live on, so it is skipped entirely. + const [group] = await Promise.all([ + context.queryClient.ensureQueryData(rdsParameterGroupQueryOptions(name)), + context.queryClient.ensureQueryData(rdsParametersQueryOptions(name)), + ]) + const arn = isDefaultParameterGroupName(name) + ? "" + : (group.DBParameterGroups?.[0]?.DBParameterGroupArn ?? "") + if (arn !== "") { + await context.queryClient.ensureQueryData(rdsTagsQueryOptions(arn)) + } + }, + head: ({ params }) => ({ + meta: [ + { + title: `${decodeURIComponent(params.name)} | RDS | Mulga`, + }, + ], + }), + component: RouteComponent, +}) + +function RouteComponent() { + const { name } = Route.useParams() + return ( + + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/describe-db-parameter-groups/index.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/describe-db-parameter-groups/index.tsx new file mode 100644 index 000000000..8c1c70908 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(parameter-groups)/describe-db-parameter-groups/index.tsx @@ -0,0 +1,21 @@ +import { createFileRoute } from "@tanstack/react-router" + +import { rdsParameterGroupsQueryOptions } from "@/queries/rds" + +import { DBParameterGroupsListPage } from "../-components/db-parameter-groups-list-page" + +export const Route = createFileRoute( + "/_auth/rds/(parameter-groups)/describe-db-parameter-groups/", +)({ + loader: async ({ context }) => { + await context.queryClient.ensureQueryData(rdsParameterGroupsQueryOptions) + }, + head: () => ({ + meta: [ + { + title: "Parameter Groups | RDS | Mulga", + }, + ], + }), + component: DBParameterGroupsListPage, +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/create-db-snapshot-dialog.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/create-db-snapshot-dialog.test.tsx new file mode 100644 index 000000000..52c724914 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/create-db-snapshot-dialog.test.tsx @@ -0,0 +1,134 @@ +import type { QueryClient } from "@tanstack/react-query" +import { fireEvent, screen, waitFor } from "@testing-library/react" +import userEvent from "@testing-library/user-event" +import { describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const mockSend = vi.fn().mockResolvedValue({}) + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: mockSend }), +})) + +import { CreateDBSnapshotDialog } from "./create-db-snapshot-dialog" + +const INSTANCES = [ + { DBInstanceIdentifier: "orders-db", DBInstanceStatus: "available" }, + { DBInstanceIdentifier: "billing-db", DBInstanceStatus: "stopped" }, + { DBInstanceIdentifier: "reports-db", DBInstanceStatus: "creating" }, +] + +function seed(instances: unknown[] = INSTANCES): QueryClient { + const qc = createTestQueryClient() + qc.setQueryData(["rds", "dbInstances"], { DBInstances: instances }) + return qc +} + +function render(dbInstanceIdentifier?: string, qc = seed()) { + return renderWithClient( + , + qc, + ) +} + +function snapshotIdentifierField(): HTMLInputElement { + return screen.getByLabelText("Snapshot identifier") +} + +function submit() { + fireEvent.click(screen.getByRole("button", { name: "Take Snapshot" })) +} + +describe("CreateDBSnapshotDialog opened from an instance", () => { + it("fixes the instance and suggests a name from it", () => { + render("orders-db") + expect(screen.queryByLabelText("DB instance")).toBeNull() + expect(screen.getByText("orders-db")).toBeInTheDocument() + expect(snapshotIdentifierField().value).toMatch( + /^orders-db-snapshot-\d{8}-\d{4}$/, + ) + }) + + it("sends CreateDBSnapshot for that instance", async () => { + render("orders-db") + submit() + await waitFor(() => expect(mockSend).toHaveBeenCalled()) + const input = mockSend.mock.calls[0]?.[0].input + expect(input.DBInstanceIdentifier).toBe("orders-db") + expect(input.DBSnapshotIdentifier).toMatch(/^orders-db-snapshot-/) + }) + + it("says the instance reads as backing-up while the snapshot is taken", () => { + render("orders-db") + expect(screen.getByText(/reads as backing-up/)).toBeInTheDocument() + }) + + // The name is the one field the backend refuses outright, so the refusal is + // rendered rather than sent. + it("refuses the reserved rds: namespace before sending", async () => { + const user = userEvent.setup() + render("orders-db") + const field = screen.getByLabelText("Snapshot identifier") + await user.clear(field) + await user.type(field, "rds:orders-db") + submit() + expect(await screen.findByText(/may not begin with/)).toBeInTheDocument() + expect(mockSend).not.toHaveBeenCalled() + }) + + it("surfaces the refusal when the create fails", async () => { + mockSend.mockRejectedValueOnce( + new Error("DB instance orders-db is not available"), + ) + render("orders-db") + submit() + expect(await screen.findByText(/is not available/)).toBeInTheDocument() + }) +}) + +describe("CreateDBSnapshotDialog opened from the snapshots list", () => { + it("offers only the instances a snapshot can be taken from", async () => { + const user = userEvent.setup() + render() + await user.click(screen.getByLabelText("DB instance")) + expect( + screen.getByRole("option", { name: "orders-db (available)" }), + ).toBeInTheDocument() + expect( + screen.getByRole("option", { name: "billing-db (stopped)" }), + ).toBeInTheDocument() + expect(screen.queryByRole("option", { name: /reports-db/ })).toBeNull() + }) + + it("holds the submit back until an instance is chosen", () => { + render() + expect(screen.getByRole("button", { name: "Take Snapshot" })).toBeDisabled() + }) + + it("names the snapshot after the instance the user picks", async () => { + const user = userEvent.setup() + render() + await user.click(screen.getByLabelText("DB instance")) + await user.click( + screen.getByRole("option", { name: "billing-db (stopped)" }), + ) + expect(snapshotIdentifierField().value).toMatch(/^billing-db-snapshot-/) + expect(screen.getByRole("button", { name: "Take Snapshot" })).toBeEnabled() + }) + + it("explains the empty picker rather than offering a dead form", () => { + render(undefined, seed([INSTANCES[2]])) + expect( + screen.getByText(/No DB instance is available or stopped/), + ).toBeInTheDocument() + expect(screen.getByRole("button", { name: "Take Snapshot" })).toBeDisabled() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/create-db-snapshot-dialog.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/create-db-snapshot-dialog.tsx new file mode 100644 index 000000000..3f09d7bf2 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/create-db-snapshot-dialog.tsx @@ -0,0 +1,222 @@ +import { zodResolver } from "@hookform/resolvers/zod" +import { useQuery } from "@tanstack/react-query" +import { useState } from "react" +import { useForm } from "react-hook-form" + +import { + AlertDialog, + AlertDialogContent, + AlertDialogDescription, + AlertDialogHeader, + AlertDialogTitle, +} from "@/components/ui/alert-dialog" +import { Button } from "@/components/ui/button" +import { + Field, + FieldDescription, + FieldError, + FieldTitle, +} from "@/components/ui/field" +import { Input } from "@/components/ui/input" +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select" +import { useCreateDBSnapshot } from "@/mutations/rds" +import { rdsDBInstancesQueryOptions } from "@/queries/rds" +import { + type CreateDBSnapshotFormData, + canSnapshot, + createDBSnapshotSchema, + suggestedIdentifier, +} from "@/types/rds" + +import { PickerNoticeText, pickerNotice } from "../../-components/picker-notice" +import { TagsFieldArray } from "../../-components/tags-field-array" + +interface CreateDBSnapshotDialogProps { + open: boolean + onOpenChange: (open: boolean) => void + // Fixed when the dialog is opened from an instance. Without it the dialog + // picks the instance itself, which is how the snapshots list opens it. + dbInstanceIdentifier?: string + onCreated?: () => void +} + +export function CreateDBSnapshotDialog({ + open, + onOpenChange, + dbInstanceIdentifier, + onCreated, +}: CreateDBSnapshotDialogProps) { + const createSnapshot = useCreateDBSnapshot() + // Only the picker needs the list, so a dialog opened from an instance does + // not fetch it at all. + const instancesQuery = useQuery({ + ...rdsDBInstancesQueryOptions, + enabled: dbInstanceIdentifier === undefined, + }) + const [selectedInstance, setSelectedInstance] = useState( + dbInstanceIdentifier ?? "", + ) + + // A snapshot is refused from anything but a settled instance, so an instance + // mid-transition is not offered rather than offered and then refused. + const instances = (instancesQuery.data?.DBInstances ?? []).filter( + (instance) => canSnapshot(instance.DBInstanceStatus), + ) + const instanceNotice = pickerNotice(instancesQuery, instances.length === 0, { + loading: "Loading the DB instances…", + failed: "Could not read the DB instances", + empty: + "No DB instance is available or stopped, which is what a snapshot is taken from.", + }) + + const { + control, + formState: { errors, isSubmitting }, + handleSubmit, + register, + setValue, + } = useForm({ + resolver: zodResolver(createDBSnapshotSchema), + defaultValues: { + dbSnapshotIdentifier: dbInstanceIdentifier + ? suggestedIdentifier(dbInstanceIdentifier, "snapshot") + : "", + tags: [], + }, + }) + + // Choosing the instance names the snapshot after it, which is the name the + // user would otherwise type by hand. + function handleInstanceChange(identifier: string | null) { + setSelectedInstance(identifier ?? "") + if (identifier) { + setValue( + "dbSnapshotIdentifier", + suggestedIdentifier(identifier, "snapshot"), + { shouldValidate: true }, + ) + } + } + + const onSubmit = async (data: CreateDBSnapshotFormData) => { + try { + await createSnapshot.mutateAsync({ + ...data, + dbInstanceIdentifier: selectedInstance, + }) + } catch { + // Left open so the refusal below stays readable. + return + } + onOpenChange(false) + onCreated?.() + } + + return ( + + + + Take DB Snapshot + + The engine is held at a checkpoint while the snapshot is taken, so + the instance reads as backing-up until it finishes. + + + +
+ {dbInstanceIdentifier ? ( + + DB instance +

{dbInstanceIdentifier}

+
+ ) : ( + + + + + {instanceNotice ? ( + + ) : ( + + )} + + )} + + + + + + + + Lowercase letters, digits and hyphens. The rds: namespace belongs + to automated backups and cannot be used here. + + + + + + +

+ A snapshot the engine could not be quiesced for is still taken and + reported as crash consistent on the source instance's Backups + tab. The snapshot's own events never carry it. +

+ + {createSnapshot.error && ( +

+ {createSnapshot.error.message} +

+ )} + +
+ + +
+ +
+
+ ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/db-snapshot-detail-page.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/db-snapshot-detail-page.test.tsx new file mode 100644 index 000000000..8fb998e99 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/db-snapshot-detail-page.test.tsx @@ -0,0 +1,199 @@ +import type { QueryClient } from "@tanstack/react-query" +import { fireEvent, screen } from "@testing-library/react" +import { describe, expect, it, vi } from "vitest" + +import { formatDateTime } from "@/lib/utils" +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const { routerState } = vi.hoisted(() => ({ + routerState: { navigate: vi.fn() }, +})) + +const mockSend = vi.fn().mockResolvedValue({}) + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: mockSend }), +})) + +vi.mock("@tanstack/react-router", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + useNavigate: () => routerState.navigate, + Link: ({ + children, + to, + params, + }: { + children: React.ReactNode + to?: string + params?: Record + }) => { + let href = to ?? "" + for (const [key, value] of Object.entries(params ?? {})) { + href = href.replace(`$${key}`, value) + } + return {children} + }, + } +}) + +import { DBSnapshotDetailPage } from "./db-snapshot-detail-page" + +const ID = "orders-db-snapshot-20260817-1432" +const AUTOMATED_ID = "rds:orders-db-2026-08-17-03-00" +const ARN = `arn:aws:rds:ap-southeast-2:000000000000:snapshot:${ID}` + +const SNAPSHOT = { + DBSnapshotIdentifier: ID, + DBSnapshotArn: ARN, + DBInstanceIdentifier: "orders-db", + SnapshotType: "manual", + Status: "available", + PercentProgress: 100, + Engine: "postgres", + EngineVersion: "18", + AllocatedStorage: 20, + StorageType: "gp3", + Encrypted: true, + MasterUsername: "dbadmin", + Port: 5432, + VpcId: "vpc-1", + SnapshotCreateTime: new Date("2026-08-17T14:32:00Z"), +} + +const CRASH_CONSISTENT_EVENT = { + Date: new Date("2026-08-17T14:32:10Z"), + SourceIdentifier: ID, + SourceType: "db-snapshot", + EventCategories: ["backup", "notification"], + Message: "Snapshot taken without quiescing the engine: crash consistent.", +} + +interface SeedOptions { + id?: string + snapshots?: unknown[] + events?: unknown[] + tags?: unknown[] +} + +function seed(options: SeedOptions = {}): QueryClient { + const id = options.id ?? ID + const qc = createTestQueryClient() + qc.setQueryData(["rds", "dbSnapshots", id], { + DBSnapshots: options.snapshots ?? [SNAPSHOT], + }) + qc.setQueryData(["rds", "events", "db-snapshot", id], { + Events: options.events ?? [], + }) + qc.setQueryData(["rds", "tags", ARN], { TagList: options.tags ?? [] }) + return qc +} + +function openTab(name: string) { + fireEvent.click(screen.getByRole("tab", { name })) +} + +describe("DBSnapshotDetailPage", () => { + it("renders the snapshot and the source it came from", () => { + renderWithClient(, seed()) + expect(screen.getByText(ID)).toBeInTheDocument() + expect(screen.getByText("100%")).toBeInTheDocument() + expect(screen.getByRole("link", { name: "orders-db" })).toHaveAttribute( + "href", + "/rds/describe-db-instances/orders-db", + ) + expect(screen.getByText("20 GiB")).toBeInTheDocument() + expect(screen.getByText("Encrypted — always on")).toBeInTheDocument() + expect(screen.getByText("dbadmin")).toBeInTheDocument() + }) + + it("reports a missing snapshot rather than rendering an empty shell", () => { + renderWithClient( + , + seed({ snapshots: [] }), + ) + expect(screen.getByText("DB snapshot not found.")).toBeInTheDocument() + }) + + it("names what a restore takes from the snapshot rather than the form", () => { + renderWithClient(, seed()) + expect( + screen.getByText(/the master credentials and the initial database/), + ).toBeInTheDocument() + }) + + it("holds both actions back while the snapshot is still being taken", () => { + renderWithClient( + , + seed({ snapshots: [{ ...SNAPSHOT, Status: "creating" }] }), + ) + expect(screen.getByRole("button", { name: "Restore" })).toBeDisabled() + expect(screen.getByRole("button", { name: /Delete/ })).toBeDisabled() + }) + + it("offers no delete for an automated backup and says why", () => { + renderWithClient( + , + seed({ + id: AUTOMATED_ID, + snapshots: [ + { + ...SNAPSHOT, + DBSnapshotIdentifier: AUTOMATED_ID, + SnapshotType: "automated", + }, + ], + }), + ) + expect(screen.getByRole("button", { name: /Delete/ })).toBeDisabled() + expect( + screen.getByText(/deleted by the source instance's backup retention/), + ).toBeInTheDocument() + expect(screen.getByRole("button", { name: "Restore" })).toBeEnabled() + }) + + it("navigates to the restore page from the heading action", () => { + renderWithClient(, seed()) + fireEvent.click(screen.getByRole("button", { name: "Restore" })) + expect(routerState.navigate).toHaveBeenCalledWith({ + to: "/rds/restore-db-instance-from-db-snapshot/$id", + params: { id: ID }, + }) + }) + + it("shows the empty state on the events tab", () => { + renderWithClient(, seed()) + openTab("Events") + expect( + screen.getByText("No events in the last 14 days."), + ).toBeInTheDocument() + }) + + // A snapshot the engine could not be quiesced for is still taken, and this + // event is the only place that is reported. + it("renders the crash-consistent notice from the snapshot's events", () => { + renderWithClient( + , + seed({ events: [CRASH_CONSISTENT_EVENT] }), + ) + openTab("Events") + expect(screen.getByText(/crash consistent/)).toBeInTheDocument() + expect( + screen.getByText(formatDateTime(new Date("2026-08-17T14:32:10Z"))), + ).toBeInTheDocument() + }) + + it("renders the tags the describe returned", () => { + renderWithClient( + , + seed({ tags: [{ Key: "env", Value: "prod" }] }), + ) + openTab("Tags") + expect(screen.getByDisplayValue("env")).toBeInTheDocument() + expect(screen.getByDisplayValue("prod")).toBeInTheDocument() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/db-snapshot-detail-page.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/db-snapshot-detail-page.tsx new file mode 100644 index 000000000..7232e8791 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/db-snapshot-detail-page.tsx @@ -0,0 +1,215 @@ +import { useSuspenseQuery } from "@tanstack/react-query" +import { Link, useNavigate } from "@tanstack/react-router" +import { Trash2 } from "lucide-react" +import { useState } from "react" + +import { BackLink } from "@/components/back-link" +import { DetailCard } from "@/components/detail-card" +import { DetailRow } from "@/components/detail-row" +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 { formatDateTime } from "@/lib/utils" +import { + rdsDBSnapshotQueryOptions, + rdsSnapshotEventsQueryOptions, +} from "@/queries/rds" +import { + canDeleteSnapshot, + canRestoreSnapshot, + SNAPSHOT_TYPE_AUTOMATED, +} from "@/types/rds" + +import { RdsEventsPanel } from "../../-components/rds-events-panel" +import { RdsTagsTab } from "../../-components/rds-tags-tab" +import { DeleteDBSnapshotDialog } from "./delete-db-snapshot-dialog" + +interface Props { + dbSnapshotIdentifier: string +} + +export function DBSnapshotDetailPage({ dbSnapshotIdentifier }: Props) { + const navigate = useNavigate() + const { data: snapshotData } = useSuspenseQuery( + rdsDBSnapshotQueryOptions(dbSnapshotIdentifier), + ) + const snapshot = snapshotData.DBSnapshots?.[0] + const arn = snapshot?.DBSnapshotArn ?? "" + + // Not suspense: the ARN is empty until the describe lands, and an empty one + // is a request the tags API refuses. + const { data: eventsData } = useSuspenseQuery( + rdsSnapshotEventsQueryOptions(dbSnapshotIdentifier), + ) + + const [showDelete, setShowDelete] = useState(false) + + if (!snapshot?.DBSnapshotIdentifier) { + return ( + <> + Back to snapshots +

DB snapshot not found.

+ + ) + } + + const status = snapshot.Status + const snapshotType = snapshot.SnapshotType + const automated = snapshotType === SNAPSHOT_TYPE_AUTOMATED + const sourceId = snapshot.DBInstanceIdentifier ?? "" + const events = eventsData.Events ?? [] + + return ( + <> + Back to snapshots + +
+ + + +
+ } + subtitle="DB Snapshot" + title={dbSnapshotIdentifier} + /> + +
+ + {automated && ( + + An automated backup: it is deleted by the source instance's + backup retention, not by hand. + + )} +
+ + + + Overview + Tags + Events + + + +
+ + Snapshot + + + + + + + + + + + Source + + + {sourceId} + + ) + } + /> + + + + + + + + + + + +

+ A restore starts on this snapshot's datadir, so the engine, + the master credentials and the initial database come with it and + cannot be changed. +

+
+
+ + + + + + + + +
+ + + + await navigate({ to: "/rds/describe-db-snapshots" }) + } + onOpenChange={setShowDelete} + open={showDelete} + /> + + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/db-snapshots-list-page.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/db-snapshots-list-page.test.tsx new file mode 100644 index 000000000..8099c73aa --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/db-snapshots-list-page.test.tsx @@ -0,0 +1,165 @@ +import { fireEvent, screen, waitFor, within } from "@testing-library/react" +import { describe, expect, it, vi } from "vitest" + +import { formatDateTime } from "@/lib/utils" +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const { routerState } = vi.hoisted(() => ({ + routerState: { navigate: vi.fn() }, +})) + +const mockSend = vi.fn().mockResolvedValue({}) + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: mockSend }), +})) + +vi.mock("@tanstack/react-router", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + useNavigate: () => routerState.navigate, + Link: ({ + children, + to, + params, + }: { + children: React.ReactNode + to?: string + params?: Record + }) => { + let href = to ?? "" + for (const [key, value] of Object.entries(params ?? {})) { + href = href.replace(`$${key}`, value) + } + return {children} + }, + } +}) + +import { DBSnapshotsListPage } from "./db-snapshots-list-page" + +const MANUAL = { + DBSnapshotIdentifier: "orders-db-snapshot-20260817-1432", + DBInstanceIdentifier: "orders-db", + SnapshotType: "manual", + Status: "available", + Engine: "postgres", + EngineVersion: "18", + AllocatedStorage: 20, + SnapshotCreateTime: new Date("2026-08-17T14:32:00Z"), +} + +const AUTOMATED = { + DBSnapshotIdentifier: "rds:orders-db-2026-08-17-03-00", + DBInstanceIdentifier: "orders-db", + SnapshotType: "automated", + Status: "available", + Engine: "postgres", + EngineVersion: "18", + AllocatedStorage: 20, + SnapshotCreateTime: new Date("2026-08-17T03:00:00Z"), +} + +const CREATING = { + ...MANUAL, + DBSnapshotIdentifier: "orders-db-snapshot-20260817-1500", + Status: "creating", +} + +function seed(snapshots: unknown[]) { + const qc = createTestQueryClient() + qc.setQueryData(["rds", "dbSnapshots"], { DBSnapshots: snapshots }) + qc.setQueryData(["rds", "dbInstances"], { DBInstances: [] }) + return qc +} + +function rowFor(identifier: string): HTMLElement { + const cell = screen.getByRole("link", { name: identifier }) + const row = cell.closest("tr") + if (!row) { + throw new Error(`no row for ${identifier}`) + } + return row +} + +describe("DBSnapshotsListPage", () => { + it("renders a snapshot row", () => { + renderWithClient(, seed([MANUAL])) + expect( + screen.getByRole("link", { name: "orders-db-snapshot-20260817-1432" }), + ).toHaveAttribute( + "href", + "/rds/describe-db-snapshots/orders-db-snapshot-20260817-1432", + ) + expect(screen.getByRole("link", { name: "orders-db" })).toHaveAttribute( + "href", + "/rds/describe-db-instances/orders-db", + ) + expect(screen.getByText("postgres 18")).toBeInTheDocument() + expect(screen.getByText("20 GiB")).toBeInTheDocument() + expect( + screen.getByText(formatDateTime(new Date("2026-08-17T14:32:00Z"))), + ).toBeInTheDocument() + }) + + it("explains the fallback when no snapshot exists", () => { + renderWithClient(, seed([])) + expect(screen.getByText("No DB snapshots found.")).toBeInTheDocument() + }) + + it("narrows the table to the chosen snapshot type", () => { + renderWithClient(, seed([MANUAL, AUTOMATED])) + fireEvent.click(screen.getByRole("button", { name: "Manual" })) + expect( + screen.getByRole("link", { name: "orders-db-snapshot-20260817-1432" }), + ).toBeInTheDocument() + expect( + screen.queryByRole("link", { name: "rds:orders-db-2026-08-17-03-00" }), + ).toBeNull() + }) + + // DeleteDBSnapshot refuses the rds: namespace outright, so the control is + // never offered for one. + it("offers no delete for an automated backup", () => { + renderWithClient(, seed([MANUAL, AUTOMATED])) + const automated = rowFor("rds:orders-db-2026-08-17-03-00") + const manual = rowFor("orders-db-snapshot-20260817-1432") + expect( + within(automated).getByRole("button", { name: "Delete" }), + ).toBeDisabled() + expect(within(manual).getByRole("button", { name: "Delete" })).toBeEnabled() + }) + + it("holds both actions back while the snapshot is still being taken", () => { + renderWithClient(, seed([CREATING])) + const row = rowFor("orders-db-snapshot-20260817-1500") + expect(within(row).getByRole("button", { name: "Restore" })).toBeDisabled() + expect(within(row).getByRole("button", { name: "Delete" })).toBeDisabled() + }) + + it("navigates to the restore page from the row action", async () => { + renderWithClient(, seed([MANUAL])) + fireEvent.click(screen.getByRole("button", { name: "Restore" })) + await waitFor(() => + expect(routerState.navigate).toHaveBeenCalledWith({ + to: "/rds/restore-db-instance-from-db-snapshot/$id", + params: { id: "orders-db-snapshot-20260817-1432" }, + }), + ) + }) + + it("opens the create dialog from the heading action", () => { + renderWithClient(, seed([])) + fireEvent.click(screen.getByRole("button", { name: "Take Snapshot" })) + expect(screen.getByText("Take DB Snapshot")).toBeInTheDocument() + }) + + it("says why an automated backup cannot be removed by hand", () => { + renderWithClient(, seed([AUTOMATED])) + expect(screen.getByText(/cannot be\s+deleted by hand/)).toBeInTheDocument() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/db-snapshots-list-page.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/db-snapshots-list-page.tsx new file mode 100644 index 000000000..038148b9e --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/db-snapshots-list-page.tsx @@ -0,0 +1,181 @@ +import { useSuspenseQuery } from "@tanstack/react-query" +import { Link, useNavigate } from "@tanstack/react-router" +import { useState } from "react" + +import { PageHeading } from "@/components/page-heading" +import { StateBadge } from "@/components/state-badge" +import { Button } from "@/components/ui/button" +import { formatDateTime } from "@/lib/utils" +import { rdsDBSnapshotsQueryOptions } from "@/queries/rds" +import { + canDeleteSnapshot, + canRestoreSnapshot, + SNAPSHOT_TYPE_AUTOMATED, + SNAPSHOT_TYPE_MANUAL, +} from "@/types/rds" + +import { CreateDBSnapshotDialog } from "./create-db-snapshot-dialog" +import { DeleteDBSnapshotDialog } from "./delete-db-snapshot-dialog" + +const TYPE_FILTERS = [ + { value: "", label: "All types" }, + { value: SNAPSHOT_TYPE_MANUAL, label: "Manual" }, + { value: SNAPSHOT_TYPE_AUTOMATED, label: "Automated" }, +] as const + +export function DBSnapshotsListPage() { + const navigate = useNavigate() + const { data } = useSuspenseQuery(rdsDBSnapshotsQueryOptions) + const [typeFilter, setTypeFilter] = useState("") + const [showCreate, setShowCreate] = useState(false) + const [deleteTarget, setDeleteTarget] = useState(null) + + const snapshots = (data.DBSnapshots ?? []).filter( + (snapshot) => typeFilter === "" || snapshot.SnapshotType === typeFilter, + ) + + return ( + <> + setShowCreate(true)}>Take Snapshot + } + title="Snapshots" + /> + +
+ {TYPE_FILTERS.map((filter) => ( + + ))} +
+ + {snapshots.length > 0 ? ( +
+ + + + + + + + + + + + + + + {snapshots.map((snapshot) => { + const id = snapshot.DBSnapshotIdentifier + if (!id) { + return null + } + const sourceId = snapshot.DBInstanceIdentifier ?? "" + return ( + + + + + + + + + + + ) + })} + +
IdentifierDB instanceTypeEngineStorageStatusCreated + Actions +
+ + {id} + + + {sourceId === "" ? ( + "—" + ) : ( + + {sourceId} + + )} + {snapshot.SnapshotType} + {[snapshot.Engine, snapshot.EngineVersion] + .filter(Boolean) + .join(" ")} + + {snapshot.AllocatedStorage + ? `${snapshot.AllocatedStorage} GiB` + : "—"} + + + + {formatDateTime(snapshot.SnapshotCreateTime)} + + + +
+
+ ) : ( +

No DB snapshots found.

+ )} + +

+ Automated backups live in the reserved rds: namespace and cannot be + deleted by hand — the instance's backup retention is what removes + them. +

+ + {showCreate && ( + + )} + + {deleteTarget && ( + !open && setDeleteTarget(null)} + open={true} + /> + )} + + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/delete-db-snapshot-dialog.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/delete-db-snapshot-dialog.test.tsx new file mode 100644 index 000000000..12c39f658 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/delete-db-snapshot-dialog.test.tsx @@ -0,0 +1,68 @@ +import { fireEvent, screen, waitFor } from "@testing-library/react" +import { describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const mockSend = vi.fn().mockResolvedValue({}) + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: mockSend }), +})) + +import { DeleteDBSnapshotDialog } from "./delete-db-snapshot-dialog" + +const ID = "orders-db-snapshot-20260817-1432" + +function render(onDeleted = vi.fn()) { + return renderWithClient( + , + createTestQueryClient(), + ) +} + +describe("DeleteDBSnapshotDialog", () => { + it("states both refusals before anything is sent", () => { + render() + expect( + screen.getByText(/refused while an instance restored from it still/), + ).toBeInTheDocument() + expect( + screen.getByText(/releases the data volume its instance left behind/), + ).toBeInTheDocument() + expect(mockSend).not.toHaveBeenCalled() + }) + + it("sends DeleteDBSnapshot on confirm", async () => { + const onDeleted = vi.fn() + render(onDeleted) + fireEvent.click(screen.getByRole("button", { name: "Delete" })) + await waitFor(() => expect(mockSend).toHaveBeenCalled()) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({ + DBSnapshotIdentifier: ID, + }) + await waitFor(() => expect(onDeleted).toHaveBeenCalled()) + }) + + // The refusal names the instance still reading through the snapshot, which + // is the useful half of that failure. + it("surfaces the refusal when the delete fails", async () => { + mockSend.mockRejectedValueOnce( + new Error(`Snapshot ${ID} is in use by orders-db-restored`), + ) + const onDeleted = vi.fn() + render(onDeleted) + fireEvent.click(screen.getByRole("button", { name: "Delete" })) + expect( + await screen.findByText(/is in use by orders-db-restored/), + ).toBeInTheDocument() + expect(onDeleted).not.toHaveBeenCalled() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/delete-db-snapshot-dialog.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/delete-db-snapshot-dialog.tsx new file mode 100644 index 000000000..f8a3251ac --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/delete-db-snapshot-dialog.tsx @@ -0,0 +1,36 @@ +import { useDeleteDBSnapshot } from "@/mutations/rds" + +import { RdsDeleteDialog } from "../../-components/rds-delete-dialog" + +interface DeleteDBSnapshotDialogProps { + open: boolean + onOpenChange: (open: boolean) => void + dbSnapshotIdentifier: string + onDeleted?: () => void +} + +export function DeleteDBSnapshotDialog({ + open, + onOpenChange, + dbSnapshotIdentifier, + onDeleted, +}: DeleteDBSnapshotDialogProps) { + return ( + + This deletes the DB snapshot "{dbSnapshotIdentifier}" and + the data behind it. It is refused while an instance restored from it + still exists. If this was a final snapshot, deleting it also releases + the data volume its instance left behind. + + } + identifier={dbSnapshotIdentifier} + mutation={useDeleteDBSnapshot()} + onDeleted={onDeleted} + onOpenChange={onOpenChange} + open={open} + title="Delete DB Snapshot" + /> + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/restore-db-snapshot-page.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/restore-db-snapshot-page.test.tsx new file mode 100644 index 000000000..1fdda3f29 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/restore-db-snapshot-page.test.tsx @@ -0,0 +1,319 @@ +import type { QueryClient } from "@tanstack/react-query" +import { fireEvent, screen, waitFor } from "@testing-library/react" +import type { UserEvent } from "@testing-library/user-event" +import userEvent from "@testing-library/user-event" +import { describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const { routerState } = vi.hoisted(() => ({ + routerState: { navigate: vi.fn() }, +})) + +const mockSend = vi.fn().mockResolvedValue({}) + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: mockSend }), + getEc2Client: () => ({ send: mockSend }), +})) + +vi.mock("@tanstack/react-router", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + useNavigate: () => routerState.navigate, + Link: ({ children, to }: { children: React.ReactNode; to?: string }) => ( + {children} + ), + } +}) + +import { RestoreDBSnapshotPage } from "./restore-db-snapshot-page" + +const ID = "orders-db-snapshot-20260817-1432" + +const SNAPSHOT = { + DBSnapshotIdentifier: ID, + DBSnapshotArn: `arn:aws:rds:ap-southeast-2:000000000000:snapshot:${ID}`, + DBInstanceIdentifier: "orders-db", + SnapshotType: "manual", + Status: "available", + Engine: "postgres", + EngineVersion: "18", + AllocatedStorage: 20, + MasterUsername: "dbadmin", + Port: 5432, + VpcId: "vpc-1", +} + +function image( + engine: string, + version = engine === "postgres" ? "18" : "11.8", + withDataContract = true, +) { + return { + ImageId: `ami-${engine}`, + Name: `spinifex-rds-${engine}`, + Tags: [ + { Key: "spinifex:managed-by", Value: "rds" }, + { Key: "engine", Value: engine }, + { Key: "engine-version", Value: version }, + ...(withDataContract + ? [ + { + Key: "rds-data-volume-contract", + Value: "format-auth-v1", + }, + ] + : []), + ], + } +} + +interface SeedOptions { + snapshots?: unknown[] + images?: unknown[] +} + +function seed(options: SeedOptions = {}): QueryClient { + const qc = createTestQueryClient() + qc.setQueryData(["rds", "dbSnapshots", ID], { + DBSnapshots: options.snapshots ?? [SNAPSHOT], + }) + qc.setQueryData(["rds", "engineVersions"], { + DBEngineVersions: [ + { + Engine: "postgres", + EngineVersion: "18", + DBParameterGroupFamily: "postgres18", + }, + ], + }) + qc.setQueryData(["rds", "subnetGroups"], { + DBSubnetGroups: [ + { DBSubnetGroupName: "db-subnets", VpcId: "vpc-1" }, + { DBSubnetGroupName: "db-subnets-2", VpcId: "vpc-2" }, + ], + }) + qc.setQueryData(["rds", "parameterGroups"], { + DBParameterGroups: [ + { + DBParameterGroupName: "custom-pg", + DBParameterGroupFamily: "postgres18", + }, + ], + }) + qc.setQueryData(["ec2", "securityGroups"], { + SecurityGroups: [ + { GroupId: "sg-1", GroupName: "default", VpcId: "vpc-1" }, + { GroupId: "sg-2", GroupName: "default", VpcId: "vpc-2" }, + ], + }) + qc.setQueryData(["ec2", "images"], { + Images: options.images ?? [image("postgres")], + }) + qc.setQueryData(["rds", "orderableOptions", "postgres"], { + OrderableDBInstanceOptions: [ + { Engine: "postgres", DBInstanceClass: "db.t3.micro" }, + { Engine: "postgres", DBInstanceClass: "db.m5.large" }, + ], + }) + return qc +} + +function render(qc = seed()) { + return renderWithClient( + , + qc, + ) +} + +function storageField(): HTMLInputElement { + return screen.getByLabelText("Allocated storage (GiB)") +} + +async function selectInstanceClass(user: UserEvent) { + await user.click(screen.getByLabelText("DB instance class")) + await user.click(screen.getByRole("option", { name: "db.t3.micro" })) +} + +describe("RestoreDBSnapshotPage gating", () => { + it("reports a snapshot that does not exist", () => { + render(seed({ snapshots: [] })) + expect(screen.getByText("DB snapshot not found.")).toBeInTheDocument() + }) + + // The backend refuses a restore from a snapshot still being taken rather + // than waiting for it, so the form is never offered. + it("refuses a snapshot that is still being taken", () => { + render(seed({ snapshots: [{ ...SNAPSHOT, Status: "creating" }] })) + expect( + screen.getByText(/is creating. A snapshot can only be restored/), + ).toBeInTheDocument() + expect(screen.queryByLabelText("New DB instance identifier")).toBeNull() + }) + + // The engine comes from the snapshot and cannot be changed, so a cluster + // without that engine's image cannot run the restore at all. + it("replaces the form when the engine's image is not imported", () => { + render(seed({ images: [image("mariadb")] })) + expect(screen.getByText("postgres image not found")).toBeInTheDocument() + expect(screen.getByText(/spx admin images import/)).toBeInTheDocument() + expect(screen.queryByLabelText("New DB instance identifier")).toBeNull() + }) + + it("rejects an image for a different engine version", () => { + render(seed({ images: [image("postgres", "17")] })) + expect(screen.getByText("postgres image not found")).toBeInTheDocument() + expect(screen.queryByLabelText("New DB instance identifier")).toBeNull() + }) + + it("rejects an image without the data-volume contract", () => { + render(seed({ images: [image("postgres", "18", false)] })) + expect(screen.getByText("postgres image not found")).toBeInTheDocument() + expect(screen.queryByLabelText("New DB instance identifier")).toBeNull() + }) +}) + +describe("RestoreDBSnapshotPage form", () => { + it("renders what the restore starts from", () => { + render() + expect(screen.getAllByText(ID).length).toBeGreaterThan(0) + expect(screen.getByText("orders-db")).toBeInTheDocument() + expect(screen.getByText("postgres 18")).toBeInTheDocument() + expect(screen.getByText("dbadmin")).toBeInTheDocument() + expect(screen.getByText("20 GiB")).toBeInTheDocument() + }) + + it.each([ + "New DB instance identifier", + "DB instance class", + "Allocated storage (GiB)", + "Port", + "DB subnet group", + "DB parameter group", + ])("offers the %s field", (label) => { + render() + expect(screen.getByLabelText(label)).toBeInTheDocument() + }) + + // Each of these is read from the snapshot's datadir, so offering a control + // for it would promise a change the restore cannot make. + it.each([ + "Engine", + "Engine version", + "Master username", + "Master password", + "Initial database name", + "Backup retention", + ])("renders no control for %s", (label) => { + render() + expect(screen.queryByLabelText(new RegExp(label, "i"))).toBeNull() + }) + + it("names what the restore inherits rather than leaving it unsaid", () => { + render() + expect(screen.getByText("Inherited from the snapshot")).toBeInTheDocument() + expect( + screen.getByText(/already holds the master role/), + ).toBeInTheDocument() + }) + + it("suggests a new identifier rather than the source instance's", () => { + render() + const field: HTMLInputElement = screen.getByLabelText( + "New DB instance identifier", + ) + expect(field.value).toMatch(/^orders-db-restored-\d{8}-\d{4}$/) + }) + + it("defaults the storage to the snapshot's and states the floor", () => { + render() + expect(storageField().value).toBe("20") + expect( + screen.getByText(/A restore may grow the\s+volume but never shrink it/), + ).toBeInTheDocument() + }) + + it("offers security groups only from the snapshot VPC", () => { + render() + expect( + screen.getByLabelText("Security group sg-1 (default)"), + ).toBeInTheDocument() + expect(screen.queryByLabelText("Security group sg-2 (default)")).toBeNull() + }) + + it("selects the target VPC default group when placement changes", async () => { + const user = userEvent.setup() + render() + + await user.click(screen.getByLabelText("DB subnet group")) + await user.click( + screen.getByRole("option", { name: "db-subnets-2 (vpc-2)" }), + ) + + expect(screen.getByLabelText("Security group sg-2 (default)")).toBeChecked() + expect(screen.queryByLabelText("Security group sg-1 (default)")).toBeNull() + }) + + // The floor is the snapshot's own size: a restore may grow the volume but + // never shrink it, so a smaller number never reaches the backend. + it("refuses storage below what the snapshot holds", async () => { + const user = userEvent.setup() + render(seed({ snapshots: [{ ...SNAPSHOT, AllocatedStorage: 40 }] })) + await selectInstanceClass(user) + const storage = storageField() + expect(storage.min).toBe("40") + + await user.clear(storage) + await user.type(storage, "20") + await user.click(screen.getByRole("button", { name: "Restore Snapshot" })) + + expect(storage.validity.rangeUnderflow).toBeTruthy() + expect(mockSend).not.toHaveBeenCalled() + }) + + it("sends the restore and lands on the new instance", async () => { + const user = userEvent.setup() + render() + await selectInstanceClass(user) + fireEvent.click(screen.getByRole("button", { name: "Restore Snapshot" })) + + await waitFor(() => expect(mockSend).toHaveBeenCalled()) + const input = mockSend.mock.calls[0]?.[0].input + expect(input.DBSnapshotIdentifier).toBe(ID) + expect(input.DBInstanceClass).toBe("db.t3.micro") + expect(input.AllocatedStorage).toBe(20) + expect(input.Engine).toBeUndefined() + expect(input.MasterUsername).toBeUndefined() + await waitFor(() => + expect(routerState.navigate).toHaveBeenCalledWith( + expect.objectContaining({ to: "/rds/describe-db-instances/$id" }), + ), + ) + }) + + it("surfaces the refusal when the restore fails", async () => { + mockSend.mockRejectedValueOnce( + new Error("DB instance orders-db-restored already exists"), + ) + const user = userEvent.setup() + render() + await selectInstanceClass(user) + fireEvent.click(screen.getByRole("button", { name: "Restore Snapshot" })) + + expect(await screen.findByText(/already exists/)).toBeInTheDocument() + }) + + it("builds a CLI command for the restore", () => { + render() + fireEvent.click(screen.getByRole("button", { name: "AWS CLI" })) + expect( + screen.getByText(/restore-db-instance-from-db-snapshot/), + ).toBeInTheDocument() + expect(screen.getByText(//)).toBeInTheDocument() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/restore-db-snapshot-page.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/restore-db-snapshot-page.tsx new file mode 100644 index 000000000..a74c8750c --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/-components/restore-db-snapshot-page.tsx @@ -0,0 +1,520 @@ +import { zodResolver } from "@hookform/resolvers/zod" +import { + useQuery, + useQueryClient, + useSuspenseQuery, +} from "@tanstack/react-query" +import { useNavigate } from "@tanstack/react-router" +import { useState } from "react" +import { useForm, useWatch } from "react-hook-form" + +import { BackLink } from "@/components/back-link" +import { + CliCommandPanel, + cliPlaceholder, + commandFlag, + optionalFlag, + type CliCommand, +} from "@/components/cli-command-panel" +import { DetailCard } from "@/components/detail-card" +import { DetailRow } from "@/components/detail-row" +import { ErrorBanner } from "@/components/error-banner" +import { FormActions } from "@/components/form-actions" +import { PageHeading } from "@/components/page-heading" +import { SystemImageRequired } from "@/components/system-image-required" +import { + Field, + FieldDescription, + FieldError, + FieldTitle, +} from "@/components/ui/field" +import { Input } from "@/components/ui/input" +import { isRdsSystemImage, rdsImportCommand } from "@/lib/system-managed" +import { useRestoreDBInstanceFromDBSnapshot } from "@/mutations/rds" +import { + ec2ImagesQueryOptions, + ec2SecurityGroupsQueryOptions, +} from "@/queries/ec2" +import { + rdsDBSnapshotQueryOptions, + rdsEngineVersionsQueryOptions, + rdsOrderableOptionsQueryOptions, + rdsParameterGroupsQueryOptions, + rdsSubnetGroupsQueryOptions, +} from "@/queries/rds" +import { + type RestoreDBInstanceFormData, + canRestoreSnapshot, + restoreDBInstanceSchema, + suggestedIdentifier, +} from "@/types/rds" + +import { pickerNotice } from "../../-components/picker-notice" +import { + DeletionProtectionField, + parameterGroupsForEngine, + RdsSelectField, +} from "../../-components/rds-form-fields" +import { + SecurityGroupCheckboxes, + defaultSecurityGroupIdForVpc, + securityGroupIdsForVpc, + securityGroupsForVpc, +} from "../../-components/security-group-checkboxes" +import { TagsFieldArray } from "../../-components/tags-field-array" + +interface Props { + dbSnapshotIdentifier: string +} + +// What the restore takes from the snapshot rather than from the form, because +// the new instance starts on the snapshot's datadir. +const INHERITED_FIELDS: { label: string; note: string }[] = [ + { + label: "Engine and version", + note: "The datadir is written in one engine's on-disk format; restoring it as another is refused.", + }, + { + label: "Master username and password", + note: "The datadir already holds the master role and its password hash, so no bootstrap runs.", + }, + { + label: "Initial database", + note: "A restore cannot create a database the snapshot does not hold.", + }, + { + label: "Backup retention and windows", + note: "The restored instance takes the platform defaults; change them with a modify afterwards.", + }, +] + +export function RestoreDBSnapshotPage({ dbSnapshotIdentifier }: Props) { + const navigate = useNavigate() + const queryClient = useQueryClient() + const restoreInstance = useRestoreDBInstanceFromDBSnapshot() + const [isRechecking, setIsRechecking] = useState(false) + + const { data: snapshotData } = useSuspenseQuery( + rdsDBSnapshotQueryOptions(dbSnapshotIdentifier), + ) + const { data: engineVersionsData } = useSuspenseQuery( + rdsEngineVersionsQueryOptions, + ) + const { data: subnetGroupsData } = useSuspenseQuery( + rdsSubnetGroupsQueryOptions, + ) + const { data: parameterGroupsData } = useSuspenseQuery( + rdsParameterGroupsQueryOptions, + ) + const { data: securityGroupsData } = useSuspenseQuery( + ec2SecurityGroupsQueryOptions, + ) + const { data: imagesData } = useSuspenseQuery(ec2ImagesQueryOptions) + + const snapshot = snapshotData.DBSnapshots?.[0] + const engine = snapshot?.Engine ?? "" + const snapshotStorage = snapshot?.AllocatedStorage ?? 0 + + const orderableQuery = useQuery(rdsOrderableOptionsQueryOptions(engine)) + + const { + clearErrors, + control, + formState: { errors, isSubmitting }, + handleSubmit, + register, + setError, + setValue, + } = useForm({ + resolver: zodResolver(restoreDBInstanceSchema), + defaultValues: { + snapshotAllocatedStorage: snapshotStorage, + dbInstanceIdentifier: suggestedIdentifier( + snapshot?.DBInstanceIdentifier ?? "", + "restored", + ), + dbInstanceClass: "", + allocatedStorage: snapshotStorage, + port: snapshot?.Port ? String(snapshot.Port) : "", + dbSubnetGroupName: "", + vpcSecurityGroupIds: [], + dbParameterGroupName: "", + deletionProtection: false, + tags: [], + }, + }) + + const values = useWatch({ control }) + const selectedSubnetGroup = values.dbSubnetGroupName ?? "" + const selectedSecurityGroups = values.vpcSecurityGroupIds ?? [] + + const handleRecheck = async () => { + setIsRechecking(true) + try { + await queryClient.invalidateQueries({ + queryKey: ec2ImagesQueryOptions.queryKey, + }) + } finally { + setIsRechecking(false) + } + } + + const setSecurityGroups = (next: string[]) => { + clearErrors("vpcSecurityGroupIds") + setValue("vpcSecurityGroupIds", next, { shouldValidate: true }) + } + + const handleSubnetGroupChange = (name: string | null) => { + // oxlint-disable-next-line typescript/prefer-nullish-coalescing -- Select reports an explicit null when cleared + const nextName = name === null ? "" : name + const nextVpcId = + subnetGroups.find((group) => group.DBSubnetGroupName === nextName) + ?.VpcId ?? snapshot?.VpcId + let nextSecurityGroups = securityGroupIdsForVpc( + allSecurityGroups, + nextVpcId, + selectedSecurityGroups, + ) + if ( + nextName !== "" && + nextVpcId !== snapshot?.VpcId && + nextSecurityGroups.length === 0 + ) { + const defaultGroupId = defaultSecurityGroupIdForVpc( + allSecurityGroups, + nextVpcId, + ) + nextSecurityGroups = defaultGroupId ? [defaultGroupId] : [] + } + setValue("dbSubnetGroupName", nextName, { shouldValidate: true }) + setSecurityGroups(nextSecurityGroups) + } + + const onSubmit = async (data: RestoreDBInstanceFormData) => { + if ( + data.dbSubnetGroupName !== "" && + placementVpcId !== snapshot?.VpcId && + data.vpcSecurityGroupIds.length === 0 + ) { + setError("vpcSecurityGroupIds", { + message: "Select a security group in the new placement VPC", + }) + return + } + try { + await restoreInstance.mutateAsync({ ...data, dbSnapshotIdentifier }) + } catch { + // The banner above carries the refusal; the form stays as it was typed. + return + } + await navigate({ + to: "/rds/describe-db-instances/$id", + params: { id: data.dbInstanceIdentifier }, + }) + } + + if (!snapshot?.DBSnapshotIdentifier) { + return ( + <> + Back to snapshots +

DB snapshot not found.

+ + ) + } + + // A snapshot still being taken has no data to restore from, and the backend + // refuses it rather than waiting. + if (!canRestoreSnapshot(snapshot.Status)) { + return ( + <> + Back to snapshots + +

+ {dbSnapshotIdentifier} is {snapshot.Status}. A snapshot can only be + restored once it is available. +

+ + ) + } + + const images = imagesData.Images ?? [] + // The engine is the snapshot's and cannot be changed, so a cluster without + // that engine's image cannot run this restore at all. + if ( + !images.some((image) => + isRdsSystemImage(image, engine, snapshot.EngineVersion ?? ""), + ) + ) { + return ( + <> + Back to snapshots + + + + ) + } + + const orderableOptions = orderableQuery.data?.OrderableDBInstanceOptions ?? [] + const instanceClasses = [ + ...new Set( + orderableOptions.map((o) => o.DBInstanceClass ?? "").filter(Boolean), + ), + ] + const classNotice = pickerNotice( + orderableQuery, + instanceClasses.length === 0, + { + loading: "Loading the instance classes…", + failed: "Could not read the instance classes", + empty: `No instance class this cluster's nodes can run is available for ${engine}.`, + }, + ) + + const subnetGroups = subnetGroupsData.DBSubnetGroups ?? [] + const parameterGroups = parameterGroupsForEngine( + parameterGroupsData.DBParameterGroups ?? [], + engineVersionsData.DBEngineVersions ?? [], + engine, + ) + + const subnetGroupVpc = subnetGroups.find( + (group) => group.DBSubnetGroupName === selectedSubnetGroup, + )?.VpcId + const placementVpcId = subnetGroupVpc ?? snapshot.VpcId + const allSecurityGroups = securityGroupsData.SecurityGroups ?? [] + const securityGroups = securityGroupsForVpc(allSecurityGroups, placementVpcId) + + return ( + <> + Back to snapshots + + + {restoreInstance.error && ( + + )} + +
+ + Restoring From + + + + + + + + + +
+ + + + + + + A restore always creates a new instance; it never writes back over + the one the snapshot came from. + + + + + ({ value: c, label: c }))} + placeholder="Select an instance class" + /> + + + + + + + + The snapshot holds {snapshotStorage} GiB. A restore may grow the + volume but never shrink it. + + + + + + + + + + + Leave blank to keep the port the snapshot was taken on. The port + is fixed once the instance exists. + + + + + ({ + value: g.DBSubnetGroupName ?? "", + label: `${g.DBSubnetGroupName} (${g.VpcId})`, + }))} + placeholder="The snapshot's subnet group" + /> + + + VPC security groups + + + Leave every box clear to inherit the groups the snapshot recorded. + + + + + ({ + value: g.DBParameterGroupName ?? "", + label: g.DBParameterGroupName ?? "", + }))} + placeholder="The snapshot's parameter group" + /> + + + + + +
+

Inherited from the snapshot

+ {INHERITED_FIELDS.map((entry) => ( +

+ {entry.label} —{" "} + {entry.note} +

+ ))} +
+ + + + + await navigate({ to: "/rds/describe-db-snapshots" }) + } + pendingLabel="Restoring…" + submitLabel="Restore Snapshot" + /> + +
+ + ) +} + +// Everything the CLI panel renders, flattened out of the form state so the +// builder needs no optional handling of its own. +type CliValues = Omit< + RestoreDBInstanceFormData, + "snapshotAllocatedStorage" | "tags" +> + +function buildRestoreCommands( + dbSnapshotIdentifier: string, + values: CliValues, +): CliCommand[] { + const parts: CliCommand["parts"] = [ + { + type: "bin", + value: + "AWS_PROFILE=spinifex aws rds restore-db-instance-from-db-snapshot", + }, + ...commandFlag("--db-snapshot-identifier", dbSnapshotIdentifier), + ...commandFlag( + "--db-instance-identifier", + cliPlaceholder(values.dbInstanceIdentifier, "DBInstanceIdentifier"), + ), + ...commandFlag( + "--db-instance-class", + cliPlaceholder(values.dbInstanceClass, "DBInstanceClass"), + ), + ...commandFlag("--allocated-storage", values.allocatedStorage), + ...optionalFlag("--port", values.port), + ...optionalFlag("--db-subnet-group-name", values.dbSubnetGroupName), + ...optionalFlag( + "--vpc-security-group-ids", + values.vpcSecurityGroupIds.join(" "), + ), + ...optionalFlag("--db-parameter-group-name", values.dbParameterGroupName), + ...optionalFlag("--deletion-protection", values.deletionProtection), + ] + + return [{ label: "Restore DB Instance", parts }] +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/describe-db-snapshots/$id.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/describe-db-snapshots/$id.tsx new file mode 100644 index 000000000..19d122098 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/describe-db-snapshots/$id.tsx @@ -0,0 +1,40 @@ +import { createFileRoute } from "@tanstack/react-router" + +import { + rdsDBSnapshotQueryOptions, + rdsSnapshotEventsQueryOptions, + rdsTagsQueryOptions, +} from "@/queries/rds" + +import { DBSnapshotDetailPage } from "../-components/db-snapshot-detail-page" + +export const Route = createFileRoute( + "/_auth/rds/(snapshots)/describe-db-snapshots/$id", +)({ + loader: async ({ context, params }) => { + const id = decodeURIComponent(params.id) + // The tags query keys off the ARN, which only the describe knows, so it is + // warmed after the snapshot rather than alongside it. + const [snapshot] = await Promise.all([ + context.queryClient.ensureQueryData(rdsDBSnapshotQueryOptions(id)), + context.queryClient.ensureQueryData(rdsSnapshotEventsQueryOptions(id)), + ]) + const arn = snapshot.DBSnapshots?.[0]?.DBSnapshotArn ?? "" + if (arn !== "") { + await context.queryClient.ensureQueryData(rdsTagsQueryOptions(arn)) + } + }, + head: ({ params }) => ({ + meta: [ + { + title: `${decodeURIComponent(params.id)} | RDS | Mulga`, + }, + ], + }), + component: RouteComponent, +}) + +function RouteComponent() { + const { id } = Route.useParams() + return +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/describe-db-snapshots/index.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/describe-db-snapshots/index.tsx new file mode 100644 index 000000000..903d4bbde --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/describe-db-snapshots/index.tsx @@ -0,0 +1,21 @@ +import { createFileRoute } from "@tanstack/react-router" + +import { rdsDBSnapshotsQueryOptions } from "@/queries/rds" + +import { DBSnapshotsListPage } from "../-components/db-snapshots-list-page" + +export const Route = createFileRoute( + "/_auth/rds/(snapshots)/describe-db-snapshots/", +)({ + loader: async ({ context }) => { + await context.queryClient.ensureQueryData(rdsDBSnapshotsQueryOptions) + }, + head: () => ({ + meta: [ + { + title: "Snapshots | RDS | Mulga", + }, + ], + }), + component: DBSnapshotsListPage, +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/restore-db-instance-from-db-snapshot/$id.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/restore-db-instance-from-db-snapshot/$id.tsx new file mode 100644 index 000000000..e91b0fdf9 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(snapshots)/restore-db-instance-from-db-snapshot/$id.tsx @@ -0,0 +1,44 @@ +import { createFileRoute } from "@tanstack/react-router" + +import { + ec2ImagesQueryOptions, + ec2SecurityGroupsQueryOptions, +} from "@/queries/ec2" +import { + rdsDBSnapshotQueryOptions, + rdsEngineVersionsQueryOptions, + rdsParameterGroupsQueryOptions, + rdsSubnetGroupsQueryOptions, +} from "@/queries/rds" + +import { RestoreDBSnapshotPage } from "../-components/restore-db-snapshot-page" + +export const Route = createFileRoute( + "/_auth/rds/(snapshots)/restore-db-instance-from-db-snapshot/$id", +)({ + loader: async ({ context, params }) => { + await Promise.all([ + context.queryClient.ensureQueryData( + rdsDBSnapshotQueryOptions(decodeURIComponent(params.id)), + ), + context.queryClient.ensureQueryData(rdsEngineVersionsQueryOptions), + context.queryClient.ensureQueryData(rdsSubnetGroupsQueryOptions), + context.queryClient.ensureQueryData(rdsParameterGroupsQueryOptions), + context.queryClient.ensureQueryData(ec2SecurityGroupsQueryOptions), + context.queryClient.ensureQueryData(ec2ImagesQueryOptions), + ]) + }, + head: ({ params }) => ({ + meta: [ + { + title: `Restore ${decodeURIComponent(params.id)} | RDS | Mulga`, + }, + ], + }), + component: RouteComponent, +}) + +function RouteComponent() { + const { id } = Route.useParams() + return +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/create-db-subnet-group-page.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/create-db-subnet-group-page.test.tsx new file mode 100644 index 000000000..ea65ce060 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/create-db-subnet-group-page.test.tsx @@ -0,0 +1,140 @@ +import { fireEvent, screen, waitFor } from "@testing-library/react" +import { describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const { routerState } = vi.hoisted(() => ({ + routerState: { navigate: vi.fn() }, +})) + +const mockSend = vi.fn().mockResolvedValue({}) + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: mockSend }), + getEc2Client: () => ({ send: mockSend }), +})) + +vi.mock("@tanstack/react-router", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + useNavigate: () => routerState.navigate, + Link: ({ children, to }: { children: React.ReactNode; to?: string }) => ( + {children} + ), + } +}) + +import { CreateDBSubnetGroupPage } from "./create-db-subnet-group-page" + +const SUBNETS = [ + { + SubnetId: "subnet-a1", + VpcId: "vpc-1", + CidrBlock: "10.0.1.0/24", + AvailabilityZone: "ap-southeast-2a", + }, + { + SubnetId: "subnet-a2", + VpcId: "vpc-1", + CidrBlock: "10.0.2.0/24", + AvailabilityZone: "ap-southeast-2a", + }, + { + SubnetId: "subnet-b1", + VpcId: "vpc-2", + CidrBlock: "10.1.1.0/24", + AvailabilityZone: "ap-southeast-2a", + }, +] + +function seed(subnets: unknown[] = SUBNETS) { + const qc = createTestQueryClient() + qc.setQueryData(["ec2", "subnets"], { Subnets: subnets }) + qc.setQueryData(["ec2", "vpcs"], { + Vpcs: [ + { VpcId: "vpc-1", Tags: [{ Key: "Name", Value: "prod" }] }, + { VpcId: "vpc-2" }, + ], + }) + return qc +} + +function subnetCheckbox(subnetId: string): HTMLElement { + return screen.getByRole("checkbox", { + name: new RegExp(`Subnet ${subnetId}`), + }) +} + +describe("CreateDBSubnetGroupPage", () => { + it("groups the subnets by VPC", () => { + renderWithClient(, seed()) + expect(screen.getByText(/vpc-1 \(prod\)/)).toBeInTheDocument() + expect(subnetCheckbox("subnet-a1")).toBeInTheDocument() + expect(subnetCheckbox("subnet-b1")).toBeInTheDocument() + }) + + // resolveGroupSubnets refuses a group spanning two VPCs, so the second VPC + // has to go out of reach rather than stay selectable and fail at submit. + it("puts the other VPCs out of reach once a subnet is chosen", () => { + renderWithClient(, seed()) + expect(subnetCheckbox("subnet-b1")).toBeEnabled() + + fireEvent.click(subnetCheckbox("subnet-a1")) + + expect(subnetCheckbox("subnet-a2")).toBeEnabled() + expect(subnetCheckbox("subnet-b1")).toBeDisabled() + expect(screen.getByText(/must span one VPC/)).toBeInTheDocument() + }) + + it("explains an account with no subnets", () => { + renderWithClient(, seed([])) + expect(screen.getByText(/No subnets in this account/)).toBeInTheDocument() + }) + + it("does not offer an AZ-count rule the platform does not enforce", () => { + renderWithClient(, seed()) + expect( + screen.getByText(/the two-AZ rule AWS enforces does not apply here/), + ).toBeInTheDocument() + }) + + it("sends CreateDBSubnetGroup with the chosen subnets", async () => { + renderWithClient(, seed()) + + fireEvent.change(screen.getByLabelText("Name"), { + target: { value: "orders-subnets" }, + }) + fireEvent.change(screen.getByLabelText("Description"), { + target: { value: "Private subnets" }, + }) + fireEvent.click(subnetCheckbox("subnet-a1")) + fireEvent.click(subnetCheckbox("subnet-a2")) + fireEvent.click(screen.getByRole("button", { name: "Create Subnet Group" })) + + await waitFor(() => expect(mockSend).toHaveBeenCalled()) + const input = mockSend.mock.calls[0]?.[0].input + expect(input.DBSubnetGroupName).toBe("orders-subnets") + expect(input.DBSubnetGroupDescription).toBe("Private subnets") + expect(input.SubnetIds).toStrictEqual(["subnet-a1", "subnet-a2"]) + }) + + it("refuses a reserved name before the round trip", async () => { + renderWithClient(, seed()) + + fireEvent.change(screen.getByLabelText("Name"), { + target: { value: "default" }, + }) + fireEvent.change(screen.getByLabelText("Description"), { + target: { value: "Private subnets" }, + }) + fireEvent.click(subnetCheckbox("subnet-a1")) + fireEvent.click(screen.getByRole("button", { name: "Create Subnet Group" })) + + expect(await screen.findByText(/the service reserves/)).toBeInTheDocument() + expect(mockSend).not.toHaveBeenCalled() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/create-db-subnet-group-page.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/create-db-subnet-group-page.tsx new file mode 100644 index 000000000..6c64bd24e --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/create-db-subnet-group-page.tsx @@ -0,0 +1,258 @@ +import type { Subnet } from "@aws-sdk/client-ec2" +import { zodResolver } from "@hookform/resolvers/zod" +import { useSuspenseQuery } from "@tanstack/react-query" +import { useNavigate } from "@tanstack/react-router" +import { useForm, useWatch } from "react-hook-form" + +import { BackLink } from "@/components/back-link" +import { + CliCommandPanel, + cliPlaceholder, + commandFlag, + type CliCommand, +} from "@/components/cli-command-panel" +import { ErrorBanner } from "@/components/error-banner" +import { FormActions } from "@/components/form-actions" +import { PageHeading } from "@/components/page-heading" +import { + Field, + FieldDescription, + FieldError, + FieldTitle, +} from "@/components/ui/field" +import { Input } from "@/components/ui/input" +import { getNameTag } from "@/lib/utils" +import { useCreateDBSubnetGroup } from "@/mutations/rds" +import { ec2SubnetsQueryOptions, ec2VpcsQueryOptions } from "@/queries/ec2" +import { + type CreateDBSubnetGroupFormData, + createDBSubnetGroupSchema, + MAX_SUBNETS_PER_GROUP, +} from "@/types/rds" + +import { TagsFieldArray } from "../../-components/tags-field-array" + +function subnetLabel(subnet: Subnet): string { + const name = getNameTag(subnet.Tags) + const parts = [subnet.CidrBlock, subnet.AvailabilityZone, name].filter( + Boolean, + ) + return `${subnet.SubnetId} (${parts.join(", ")})` +} + +export function CreateDBSubnetGroupPage() { + const navigate = useNavigate() + const createGroup = useCreateDBSubnetGroup() + const { data: subnetsData } = useSuspenseQuery(ec2SubnetsQueryOptions) + const { data: vpcsData } = useSuspenseQuery(ec2VpcsQueryOptions) + + const { + control, + formState: { errors, isSubmitting }, + handleSubmit, + register, + setValue, + } = useForm({ + resolver: zodResolver(createDBSubnetGroupSchema), + defaultValues: { + dbSubnetGroupName: "", + dbSubnetGroupDescription: "", + subnetIds: [], + tags: [], + }, + }) + + const values = useWatch({ control }) + const selectedSubnets = values.subnetIds ?? [] + + const subnets = subnetsData.Subnets ?? [] + const vpcs = vpcsData.Vpcs ?? [] + + // resolveGroupSubnets refuses a group spanning two VPCs, so once one subnet + // is chosen the rest of the account's VPCs go out of reach rather than + // staying selectable and failing at submit. + const pinnedVpc = subnets.find( + (s) => s.SubnetId === selectedSubnets[0], + )?.VpcId + + const vpcIds = [...new Set(subnets.map((s) => s.VpcId ?? "").filter(Boolean))] + + const toggleSubnet = (subnetId: string) => { + const next = selectedSubnets.includes(subnetId) + ? selectedSubnets.filter((id) => id !== subnetId) + : [...selectedSubnets, subnetId] + setValue("subnetIds", next, { shouldValidate: true }) + } + + const onSubmit = async (data: CreateDBSubnetGroupFormData) => { + await createGroup.mutateAsync(data) + await navigate({ to: "/rds/describe-db-subnet-groups" }) + } + + return ( + <> + + Back to subnet groups + + + + {createGroup.error && ( + + )} + +
+ + + + + + + Letters, digits and hyphens, starting with a letter. The name cannot + be changed later, and there is no ModifyDBSubnetGroup — editing a + group means deleting and recreating it. + + + + + + + + + + + + + + Subnets + {subnets.length === 0 ? ( +

+ No subnets in this account. Create one before creating a subnet + group. +

+ ) : ( +
+ {vpcIds.map((vpcId) => { + const vpcName = getNameTag( + vpcs.find((v) => v.VpcId === vpcId)?.Tags, + ) + const unreachable = + pinnedVpc !== undefined && pinnedVpc !== vpcId + return ( +
+

+ {vpcId} + {vpcName && ` (${vpcName})`} + {unreachable && + " — a subnet group must span one VPC, so this one is out of reach"} +

+
+ {subnets + .filter((s) => s.VpcId === vpcId) + .map((subnet) => ( + + ))} +
+
+ ) + })} +
+ )} + + At most {MAX_SUBNETS_PER_GROUP} subnets, all in one VPC. This + platform is single-AZ, so the two-AZ rule AWS enforces does not + apply here. + + +
+ + + + + + + await navigate({ to: "/rds/describe-db-subnet-groups" }) + } + pendingLabel="Creating…" + submitLabel="Create Subnet Group" + /> + + + ) +} + +interface SubnetGroupCliValues { + dbSubnetGroupName: string + dbSubnetGroupDescription: string + subnetIds: string[] +} + +function buildCreateSubnetGroupCommands( + values: SubnetGroupCliValues, +): CliCommand[] { + return [ + { + label: "Create DB Subnet Group", + parts: [ + { + type: "bin", + value: "AWS_PROFILE=spinifex aws rds create-db-subnet-group", + }, + ...commandFlag( + "--db-subnet-group-name", + cliPlaceholder(values.dbSubnetGroupName, "DBSubnetGroupName"), + ), + ...commandFlag( + "--db-subnet-group-description", + `"${cliPlaceholder( + values.dbSubnetGroupDescription, + "DBSubnetGroupDescription", + )}"`, + ), + ...commandFlag( + "--subnet-ids", + cliPlaceholder(values.subnetIds.join(" "), "SubnetIds"), + ), + ], + }, + ] +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/db-subnet-group-detail-page.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/db-subnet-group-detail-page.test.tsx new file mode 100644 index 000000000..cc0618998 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/db-subnet-group-detail-page.test.tsx @@ -0,0 +1,125 @@ +import { screen } from "@testing-library/react" +import { describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const mockSend = vi.fn().mockResolvedValue({}) + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: mockSend }), +})) + +vi.mock("@tanstack/react-router", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + useNavigate: () => vi.fn(), + Link: ({ + children, + to, + params, + }: { + children: React.ReactNode + to?: string + params?: Record + }) => { + let href = to ?? "" + for (const [key, value] of Object.entries(params ?? {})) { + href = href.replace(`$${key}`, value) + } + return {children} + }, + } +}) + +import { DBSubnetGroupDetailPage } from "./db-subnet-group-detail-page" + +const GROUP = { + DBSubnetGroupName: "orders-subnets", + DBSubnetGroupDescription: "Private subnets", + DBSubnetGroupArn: "arn:orders-subnets", + SubnetGroupStatus: "Complete", + VpcId: "vpc-1", + Subnets: [ + { + SubnetIdentifier: "subnet-a1", + SubnetStatus: "Active", + SubnetAvailabilityZone: { Name: "ap-southeast-2a" }, + }, + { + SubnetIdentifier: "subnet-a2", + SubnetStatus: "Active", + SubnetAvailabilityZone: { Name: "ap-southeast-2a" }, + }, + ], +} + +function seed(group: unknown) { + const qc = createTestQueryClient() + qc.setQueryData(["rds", "subnetGroups", "orders-subnets"], { + DBSubnetGroups: group ? [group] : [], + }) + qc.setQueryData(["rds", "tags", "arn:orders-subnets"], { TagList: [] }) + return qc +} + +describe("DBSubnetGroupDetailPage", () => { + it("lists each subnet with its availability zone", () => { + renderWithClient( + , + seed(GROUP), + ) + expect(screen.getByText("subnet-a1")).toBeInTheDocument() + expect(screen.getByText("subnet-a2")).toBeInTheDocument() + expect(screen.getAllByText("ap-southeast-2a")).toHaveLength(2) + expect(screen.getByText("vpc-1")).toBeInTheDocument() + }) + + // The group owns membership; the subnet's own CIDR and addressing live on + // the EC2 page, so each row links there rather than dead-ending here. + it("links each subnet to its EC2 subnet page", () => { + renderWithClient( + , + seed(GROUP), + ) + expect(screen.getByRole("link", { name: "subnet-a1" })).toHaveAttribute( + "href", + "/ec2/describe-subnets/subnet-a1", + ) + expect(screen.getByRole("link", { name: "subnet-a2" })).toHaveAttribute( + "href", + "/ec2/describe-subnets/subnet-a2", + ) + }) + + // ModifyDBSubnetGroup is not implemented, so the absence of an edit path + // needs stating rather than leaving the user looking for one. + it("explains that membership is fixed at create", () => { + renderWithClient( + , + seed(GROUP), + ) + expect( + screen.getByText(/ModifyDBSubnetGroup is not implemented/), + ).toBeInTheDocument() + }) + + it("reports a group that does not exist", () => { + renderWithClient( + , + seed(null), + ) + expect(screen.getByText("DB subnet group not found.")).toBeInTheDocument() + }) + + it("offers the delete action", () => { + renderWithClient( + , + seed(GROUP), + ) + expect(screen.getByRole("button", { name: /Delete/ })).toBeEnabled() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/db-subnet-group-detail-page.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/db-subnet-group-detail-page.tsx new file mode 100644 index 000000000..2e36b6924 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/db-subnet-group-detail-page.tsx @@ -0,0 +1,163 @@ +import { useSuspenseQuery } from "@tanstack/react-query" +import { Link, useNavigate } from "@tanstack/react-router" +import { Trash2 } from "lucide-react" +import { useState } from "react" + +import { BackLink } from "@/components/back-link" +import { DetailCard } from "@/components/detail-card" +import { DetailRow } from "@/components/detail-row" +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 { rdsSubnetGroupQueryOptions } from "@/queries/rds" + +import { RdsTagsTab } from "../../-components/rds-tags-tab" +import { DeleteDBSubnetGroupDialog } from "./delete-db-subnet-group-dialog" + +interface Props { + dbSubnetGroupName: string +} + +export function DBSubnetGroupDetailPage({ dbSubnetGroupName }: Props) { + const navigate = useNavigate() + const { data } = useSuspenseQuery( + rdsSubnetGroupQueryOptions(dbSubnetGroupName), + ) + const group = data.DBSubnetGroups?.[0] + const arn = group?.DBSubnetGroupArn ?? "" + + const [showDelete, setShowDelete] = useState(false) + + if (!group?.DBSubnetGroupName) { + return ( + <> + + Back to subnet groups + +

DB subnet group not found.

+ + ) + } + + const subnets = group.Subnets ?? [] + + return ( + <> + + Back to subnet groups + + +
+ setShowDelete(true)} + size="sm" + variant="destructive" + > + + Delete + + } + subtitle="DB Subnet Group" + title={dbSubnetGroupName} + /> + +
+ +
+ + + + Subnets + Tags + + + +
+ + Details + + + + + + + + + {subnets.length > 0 ? ( +
+ + + + + + + + + + {subnets.map((subnet) => ( + + + + + + ))} + +
Subnet + Availability zone + Status
+ + {subnet.SubnetIdentifier} + + + {subnet.SubnetAvailabilityZone?.Name ?? "—"} + {subnet.SubnetStatus}
+
+ ) : ( +

+ This group holds no subnets. +

+ )} + +

+ This group records which subnets RDS may place an endpoint in; + each subnet's own CIDR, addresses and routing live on its + EC2 page. Membership is fixed at create — ModifyDBSubnetGroup is + not implemented. Changing it means creating a new group, which a + DB instance can only adopt by being recreated. +

+
+
+ + + + +
+
+ + + await navigate({ to: "/rds/describe-db-subnet-groups" }) + } + onOpenChange={setShowDelete} + open={showDelete} + /> + + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/db-subnet-groups-list-page.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/db-subnet-groups-list-page.test.tsx new file mode 100644 index 000000000..34ca79ace --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/db-subnet-groups-list-page.test.tsx @@ -0,0 +1,77 @@ +import { fireEvent, screen } from "@testing-library/react" +import { describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const { routerState } = vi.hoisted(() => ({ + routerState: { navigate: vi.fn() }, +})) + +const mockSend = vi.fn().mockResolvedValue({}) + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: mockSend }), +})) + +vi.mock("@tanstack/react-router", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + useNavigate: () => routerState.navigate, + Link: ({ children, to }: { children: React.ReactNode; to?: string }) => ( + {children} + ), + } +}) + +import { DBSubnetGroupsListPage } from "./db-subnet-groups-list-page" + +const GROUP = { + DBSubnetGroupName: "orders-subnets", + DBSubnetGroupDescription: "Private subnets", + VpcId: "vpc-1", + SubnetGroupStatus: "Complete", + Subnets: [{ SubnetIdentifier: "subnet-1" }, { SubnetIdentifier: "subnet-2" }], +} + +function seed(groups: unknown[]) { + const qc = createTestQueryClient() + qc.setQueryData(["rds", "subnetGroups"], { DBSubnetGroups: groups }) + return qc +} + +describe("DBSubnetGroupsListPage", () => { + it("renders a subnet group row", () => { + renderWithClient(, seed([GROUP])) + expect( + screen.getByRole("link", { name: "orders-subnets" }), + ).toBeInTheDocument() + expect(screen.getByText("vpc-1")).toBeInTheDocument() + expect(screen.getByText("2")).toBeInTheDocument() + expect(screen.getByText("Private subnets")).toBeInTheDocument() + }) + + it("explains the fallback when no group exists", () => { + renderWithClient(, seed([])) + expect(screen.getByText(/No DB subnet groups found/)).toBeInTheDocument() + }) + + it("names the in-use refusal in the delete dialog", () => { + renderWithClient(, seed([GROUP])) + fireEvent.click(screen.getByRole("button", { name: "Delete" })) + expect( + screen.getByText(/refused while any DB instance still references it/), + ).toBeInTheDocument() + }) + + it("navigates to the create page from the heading action", () => { + renderWithClient(, seed([])) + fireEvent.click(screen.getByRole("button", { name: "Create Subnet Group" })) + expect(routerState.navigate).toHaveBeenCalledWith({ + to: "/rds/create-db-subnet-group", + }) + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/db-subnet-groups-list-page.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/db-subnet-groups-list-page.tsx new file mode 100644 index 000000000..deb9ff4aa --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/db-subnet-groups-list-page.tsx @@ -0,0 +1,120 @@ +import { useSuspenseQuery } from "@tanstack/react-query" +import { Link, useNavigate } from "@tanstack/react-router" +import { useState } from "react" + +import { PageHeading } from "@/components/page-heading" +import { StateBadge } from "@/components/state-badge" +import { Button } from "@/components/ui/button" +import { rdsSubnetGroupsQueryOptions } from "@/queries/rds" + +import { DeleteDBSubnetGroupDialog } from "./delete-db-subnet-group-dialog" + +export function DBSubnetGroupsListPage() { + const navigate = useNavigate() + const { data } = useSuspenseQuery(rdsSubnetGroupsQueryOptions) + const [deleteTarget, setDeleteTarget] = useState(null) + + const groups = data.DBSubnetGroups ?? [] + + return ( + <> + + await navigate({ to: "/rds/create-db-subnet-group" }) + } + > + Create Subnet Group + + } + title="DB Subnet Groups" + /> + + {groups.length > 0 ? ( +
+ + + + + + + + + + + + + {groups.map((group) => { + const name = group.DBSubnetGroupName + if (!name) { + return null + } + return ( + + await navigate({ + to: "/rds/describe-db-subnet-groups/$name", + params: { name }, + }) + } + > + + + + + + + + ) + })} + +
NameVPCSubnetsStatusDescription + Actions +
+ e.stopPropagation()} + params={{ name }} + to="/rds/describe-db-subnet-groups/$name" + > + {name} + + + {group.VpcId ?? "—"} + {group.Subnets?.length ?? 0} + + + {group.DBSubnetGroupDescription} + + +
+
+ ) : ( +

+ No DB subnet groups found. Without one, a database is placed in the + account's default VPC subnet. +

+ )} + + {deleteTarget && ( + !open && setDeleteTarget(null)} + open={true} + /> + )} + + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/delete-db-subnet-group-dialog.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/delete-db-subnet-group-dialog.test.tsx new file mode 100644 index 000000000..ab8106bed --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/delete-db-subnet-group-dialog.test.tsx @@ -0,0 +1,58 @@ +import { fireEvent, screen, waitFor } from "@testing-library/react" +import { describe, expect, it, vi } from "vitest" + +import { + createTestQueryClient, + renderWithClient, +} from "@/test/elbv2-integration" + +const mockSend = vi.fn().mockResolvedValue({}) + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: mockSend }), +})) + +import { DeleteDBSubnetGroupDialog } from "./delete-db-subnet-group-dialog" + +function render() { + return renderWithClient( + , + createTestQueryClient(), + ) +} + +describe("DeleteDBSubnetGroupDialog", () => { + it("states the in-use refusal before anything is sent", () => { + render() + expect( + screen.getByText(/refused while any DB instance still references it/), + ).toBeInTheDocument() + expect(mockSend).not.toHaveBeenCalled() + }) + + it("sends DeleteDBSubnetGroup on confirm", async () => { + render() + fireEvent.click(screen.getByRole("button", { name: "Delete" })) + await waitFor(() => expect(mockSend).toHaveBeenCalled()) + expect(mockSend.mock.calls[0]?.[0].input).toStrictEqual({ + DBSubnetGroupName: "orders-subnets", + }) + }) + + // The refusal names every instance holding the group, which is the useful + // half of the failure, so it must reach the screen rather than vanish. + it("surfaces the refusal when the delete fails", async () => { + mockSend.mockRejectedValueOnce( + new Error("DB subnet group orders-subnets is still used by orders-db"), + ) + render() + fireEvent.click(screen.getByRole("button", { name: "Delete" })) + expect( + await screen.findByText(/is still used by orders-db/), + ).toBeInTheDocument() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/delete-db-subnet-group-dialog.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/delete-db-subnet-group-dialog.tsx new file mode 100644 index 000000000..ed59decd0 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/-components/delete-db-subnet-group-dialog.tsx @@ -0,0 +1,35 @@ +import { useDeleteDBSubnetGroup } from "@/mutations/rds" + +import { RdsDeleteDialog } from "../../-components/rds-delete-dialog" + +interface DeleteDBSubnetGroupDialogProps { + open: boolean + onOpenChange: (open: boolean) => void + dbSubnetGroupName: string + onDeleted?: () => void +} + +export function DeleteDBSubnetGroupDialog({ + open, + onOpenChange, + dbSubnetGroupName, + onDeleted, +}: DeleteDBSubnetGroupDialogProps) { + return ( + + This deletes the DB subnet group "{dbSubnetGroupName}". It + is refused while any DB instance still references it, including one + that is only deleting. + + } + identifier={dbSubnetGroupName} + mutation={useDeleteDBSubnetGroup()} + onDeleted={onDeleted} + onOpenChange={onOpenChange} + open={open} + title="Delete DB Subnet Group" + /> + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/create-db-subnet-group.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/create-db-subnet-group.tsx new file mode 100644 index 000000000..36606ac11 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/create-db-subnet-group.tsx @@ -0,0 +1,24 @@ +import { createFileRoute } from "@tanstack/react-router" + +import { ec2SubnetsQueryOptions, ec2VpcsQueryOptions } from "@/queries/ec2" + +import { CreateDBSubnetGroupPage } from "./-components/create-db-subnet-group-page" + +export const Route = createFileRoute( + "/_auth/rds/(subnet-groups)/create-db-subnet-group", +)({ + loader: async ({ context }) => { + await Promise.all([ + context.queryClient.ensureQueryData(ec2SubnetsQueryOptions), + context.queryClient.ensureQueryData(ec2VpcsQueryOptions), + ]) + }, + head: () => ({ + meta: [ + { + title: "Create Subnet Group | RDS | Mulga", + }, + ], + }), + component: CreateDBSubnetGroupPage, +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/describe-db-subnet-groups/$name.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/describe-db-subnet-groups/$name.tsx new file mode 100644 index 000000000..89670c70c --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/describe-db-subnet-groups/$name.tsx @@ -0,0 +1,37 @@ +import { createFileRoute } from "@tanstack/react-router" + +import { rdsSubnetGroupQueryOptions, rdsTagsQueryOptions } from "@/queries/rds" + +import { DBSubnetGroupDetailPage } from "../-components/db-subnet-group-detail-page" + +export const Route = createFileRoute( + "/_auth/rds/(subnet-groups)/describe-db-subnet-groups/$name", +)({ + loader: async ({ context, params }) => { + const name = decodeURIComponent(params.name) + // The tags query keys off the ARN, which only the describe knows, so it is + // warmed after the group rather than alongside it. + const group = await context.queryClient.ensureQueryData( + rdsSubnetGroupQueryOptions(name), + ) + const arn = group.DBSubnetGroups?.[0]?.DBSubnetGroupArn ?? "" + if (arn !== "") { + await context.queryClient.ensureQueryData(rdsTagsQueryOptions(arn)) + } + }, + head: ({ params }) => ({ + meta: [ + { + title: `${decodeURIComponent(params.name)} | RDS | Mulga`, + }, + ], + }), + component: RouteComponent, +}) + +function RouteComponent() { + const { name } = Route.useParams() + return ( + + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/describe-db-subnet-groups/index.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/describe-db-subnet-groups/index.tsx new file mode 100644 index 000000000..24e6ae9b9 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/(subnet-groups)/describe-db-subnet-groups/index.tsx @@ -0,0 +1,21 @@ +import { createFileRoute } from "@tanstack/react-router" + +import { rdsSubnetGroupsQueryOptions } from "@/queries/rds" + +import { DBSubnetGroupsListPage } from "../-components/db-subnet-groups-list-page" + +export const Route = createFileRoute( + "/_auth/rds/(subnet-groups)/describe-db-subnet-groups/", +)({ + loader: async ({ context }) => { + await context.queryClient.ensureQueryData(rdsSubnetGroupsQueryOptions) + }, + head: () => ({ + meta: [ + { + title: "Subnet Groups | RDS | Mulga", + }, + ], + }), + component: DBSubnetGroupsListPage, +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/picker-notice.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/picker-notice.tsx new file mode 100644 index 000000000..d8984636e --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/picker-notice.tsx @@ -0,0 +1,38 @@ +export interface PickerNotice { + tone: "muted" | "error" + text: string +} + +// An empty picker has three causes — not landed, failed, or genuinely empty — +// and only the last says anything about the cluster. Collapsing them makes an +// outage read as a capability the cluster does not have. +export function pickerNotice( + query: { isPending: boolean; error: Error | null }, + isEmpty: boolean, + messages: { loading: string; failed: string; empty: string }, +): PickerNotice | undefined { + if (query.isPending) { + return { tone: "muted", text: messages.loading } + } + if (query.error) { + return { tone: "error", text: `${messages.failed}: ${query.error.message}` } + } + if (isEmpty) { + return { tone: "muted", text: messages.empty } + } + return undefined +} + +export function PickerNoticeText({ notice }: { notice: PickerNotice }) { + return ( +

+ {notice.text} +

+ ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/rds-delete-dialog.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/rds-delete-dialog.tsx new file mode 100644 index 000000000..d1e7ffaf5 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/rds-delete-dialog.tsx @@ -0,0 +1,72 @@ +import type { ReactNode } from "react" + +import { DeleteConfirmationDialog } from "@/components/delete-confirmation-dialog" + +// Structural rather than the mutation's own type: the three deletes return +// different payloads and this only ever reads the four fields below. +interface DeleteMutation { + error: Error | null + isPending: boolean + mutateAsync: (identifier: string) => Promise + reset: () => void +} + +interface RdsDeleteDialogProps { + open: boolean + onOpenChange: (open: boolean) => void + identifier: string + title: string + description: ReactNode + mutation: DeleteMutation + onDeleted?: () => void +} + +// Every RDS delete that can be refused shares this shape: the dialog stays open +// on failure so the refusal — which names what still holds the resource — is +// readable rather than lost behind a closing dialog. +export function RdsDeleteDialog({ + open, + onOpenChange, + identifier, + title, + description, + mutation, + onDeleted, +}: RdsDeleteDialogProps) { + function handleOpenChange(nextOpen: boolean) { + if (!nextOpen) { + mutation.reset() + } + onOpenChange(nextOpen) + } + + async function handleDelete() { + try { + await mutation.mutateAsync(identifier) + handleOpenChange(false) + onDeleted?.() + } catch { + // Left open so the refusal below stays readable. + } + } + + return ( + + {description} + {mutation.error && ( + + {mutation.error.message} + + )} + + } + isPending={mutation.isPending} + onConfirm={() => void handleDelete()} + onOpenChange={handleOpenChange} + open={open} + title={title} + /> + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/rds-events-panel.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/rds-events-panel.tsx new file mode 100644 index 000000000..e7fe6b79b --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/rds-events-panel.tsx @@ -0,0 +1,51 @@ +import type { Event } from "@aws-sdk/client-rds" + +import { formatDateTime } from "@/lib/utils" + +interface RdsEventsPanelProps { + events: Event[] +} + +// The event ring an instance and a snapshot each keep. Both render it the same +// way, so the table lives here rather than once per detail page. +export function RdsEventsPanel({ events }: RdsEventsPanelProps) { + if (events.length === 0) { + return ( +

No events in the last 14 days.

+ ) + } + + return ( +
+ + + + + + + + + + {events + .toSorted( + (a, b) => (b.Date?.getTime() ?? 0) - (a.Date?.getTime() ?? 0), + ) + .map((event) => ( + + + + + + ))} + +
TimeCategoriesMessage
+ {formatDateTime(event.Date)} + + {event.EventCategories?.join(", ")} + {event.Message}
+
+ ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/rds-form-fields.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/rds-form-fields.tsx new file mode 100644 index 000000000..d9c11755e --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/rds-form-fields.tsx @@ -0,0 +1,159 @@ +import type { ReactNode } from "react" +import { + type Control, + type FieldValues, + type Path, + Controller, +} from "react-hook-form" + +import { + Field, + FieldDescription, + FieldError, + FieldTitle, +} from "@/components/ui/field" +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select" + +import { type PickerNotice, PickerNoticeText } from "./picker-notice" + +export interface RdsSelectOption { + value: string + label: string +} + +interface RdsSelectFieldProps { + control: Control + name: Path + id: string + label: string + placeholder: string + options: RdsSelectOption[] + // When set, the notice replaces the control: an empty picker has a cause and + // an inert dropdown does not say what it is. + notice?: PickerNotice + description?: ReactNode + // Rendered under the control, for a change whose cost the user should see + // before submitting rather than after. + warning?: ReactNode + onValueChange?: (value: string) => void +} + +// The instance class, subnet group and parameter group pickers are the same +// control over different options, and the create, restore and modify forms all +// carry them. One component keeps their behaviour from drifting apart. +export function RdsSelectField({ + control, + name, + id, + label, + placeholder, + options, + notice, + description, + warning, + onValueChange, +}: RdsSelectFieldProps) { + return ( + { + // react-hook-form cannot narrow a generic path's value, and Select + // infers its own type from this prop, so it is pinned to a string here. + const selected: string = + typeof field.value === "string" ? field.value : "" + // Select reports an explicit null when cleared; every form below holds + // an empty string for "unset". + const handleChange = (next: string | null) => + (onValueChange ?? field.onChange)(next ?? "") + + return ( + + + + + {notice ? ( + + ) : ( + + )} + {description && {description}} + {warning && ( +

{warning}

+ )} + +
+ ) + }} + /> + ) +} + +// Offered identically wherever an instance is created, restored or modified. +export function DeletionProtectionField({ + control, + name, +}: { + control: Control + name: Path +}) { + return ( + ( + + Deletion protection + + + + )} + /> + ) +} + +// Only a group of the instance's own engine family can be attached, so one for +// the other engine is filtered out rather than offered and then refused. +export function parameterGroupsForEngine< + G extends { DBParameterGroupFamily?: string }, +>( + groups: G[], + versions: { Engine?: string; DBParameterGroupFamily?: string }[], + engine: string, +): G[] { + const families = new Set( + versions + .filter((v) => v.Engine === engine) + .map((v) => v.DBParameterGroupFamily), + ) + return groups.filter((g) => families.has(g.DBParameterGroupFamily)) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/rds-tags-tab.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/rds-tags-tab.tsx new file mode 100644 index 000000000..bd063e03a --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/rds-tags-tab.tsx @@ -0,0 +1,32 @@ +import { useQuery } from "@tanstack/react-query" + +import { TagsEditor } from "@/components/elbv2/tags-editor" +import { useUpdateRdsTags } from "@/mutations/rds" +import { rdsTagsQueryOptions } from "@/queries/rds" + +// Every RDS resource is tagged by ARN through the same three actions, so the +// query, the mutation and the key reconciliation live here rather than being +// restated on each detail page. +export function RdsTagsTab({ arn }: { arn: string }) { + // Not suspense: the ARN is empty for a resource that has none, and an empty + // one is a request the tags API refuses. + const { data } = useQuery(rdsTagsQueryOptions(arn)) + const updateTags = useUpdateRdsTags() + const tags = data?.TagList ?? [] + + return ( + + updateTags.mutate({ + resourceName: arn, + tags: next, + initialKeys: tags.map((t) => t.Key ?? "").filter((k) => k.length > 0), + }) + } + tags={tags} + /> + ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/security-group-checkboxes.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/security-group-checkboxes.tsx new file mode 100644 index 000000000..97be3b30e --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/security-group-checkboxes.tsx @@ -0,0 +1,73 @@ +import type { SecurityGroup } from "@aws-sdk/client-ec2" + +import { securityGroupLabel } from "@/lib/utils" + +interface SecurityGroupCheckboxesProps { + emptyText: string + groups: SecurityGroup[] + onChange: (next: string[]) => void + selected: string[] +} + +export function securityGroupsForVpc( + groups: SecurityGroup[], + vpcId: string | undefined, +): SecurityGroup[] { + return vpcId ? groups.filter((group) => group.VpcId === vpcId) : [] +} + +export function securityGroupIdsForVpc( + groups: SecurityGroup[], + vpcId: string | undefined, + selected: string[], +): string[] { + const available = new Set( + securityGroupsForVpc(groups, vpcId).map((group) => group.GroupId), + ) + return selected.filter((id) => available.has(id)) +} + +export function defaultSecurityGroupIdForVpc( + groups: SecurityGroup[], + vpcId: string | undefined, +): string | undefined { + return securityGroupsForVpc(groups, vpcId).find( + (group) => group.GroupName === "default", + )?.GroupId +} + +// The multi-select every RDS form uses for the instance's ENI. The caller has +// narrowed the list to the placement VPC, so anything rendered is attachable. +export function SecurityGroupCheckboxes({ + emptyText, + groups, + onChange, + selected, +}: SecurityGroupCheckboxesProps) { + if (groups.length === 0) { + return

{emptyText}

+ } + + const toggle = (groupId: string) => + onChange( + selected.includes(groupId) + ? selected.filter((id) => id !== groupId) + : [...selected, groupId], + ) + + return ( +
+ {groups.map((group) => ( + + ))} +
+ ) +} diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/tags-field-array.test.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/tags-field-array.test.tsx new file mode 100644 index 000000000..52df6cdbe --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/tags-field-array.test.tsx @@ -0,0 +1,61 @@ +import { zodResolver } from "@hookform/resolvers/zod" +import { render, screen } from "@testing-library/react" +import userEvent from "@testing-library/user-event" +import { useForm } from "react-hook-form" +import { describe, expect, it, vi } from "vitest" +import { z } from "zod" + +import { rdsTagSchema } from "@/types/rds" + +import { TagsFieldArray } from "./tags-field-array" + +const schema = z.object({ tags: z.array(rdsTagSchema) }) +type FormData = z.infer + +function TagsForm({ onSubmit }: { onSubmit: (data: FormData) => void }) { + const { control, handleSubmit } = useForm({ + resolver: zodResolver(schema), + defaultValues: { tags: [] }, + }) + + return ( +
+ + + + ) +} + +describe("TagsFieldArray", () => { + it("shows the nested validation error that blocks submission", async () => { + const user = userEvent.setup() + const onSubmit = vi.fn() + render() + + await user.click(screen.getByRole("button", { name: "Add Tag" })) + await user.click(screen.getByRole("button", { name: "Submit" })) + + expect(screen.getByText("Tag key is required")).toBeInTheDocument() + expect(screen.getByPlaceholderText("Key")).toHaveAttribute( + "aria-invalid", + "true", + ) + expect(onSubmit).not.toHaveBeenCalled() + }) + + it("submits valid tag rows", async () => { + const user = userEvent.setup() + const onSubmit = vi.fn() + render() + + await user.click(screen.getByRole("button", { name: "Add Tag" })) + await user.type(screen.getByPlaceholderText("Key"), "environment") + await user.type(screen.getByPlaceholderText("Value"), "production") + await user.click(screen.getByRole("button", { name: "Submit" })) + + expect(onSubmit).toHaveBeenCalledWith( + { tags: [{ key: "environment", value: "production" }] }, + expect.anything(), + ) + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/tags-field-array.tsx b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/tags-field-array.tsx new file mode 100644 index 000000000..97bb596a3 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/routes/_auth/rds/-components/tags-field-array.tsx @@ -0,0 +1,91 @@ +import { Plus, Trash2 } from "lucide-react" +import { + type ArrayPath, + type Control, + type FieldArray, + type FieldValues, + type Path, + Controller, + useFieldArray, +} from "react-hook-form" + +import { Button } from "@/components/ui/button" +import { Field, FieldError, FieldTitle } from "@/components/ui/field" +import { Input } from "@/components/ui/input" + +interface TagsFieldArrayProps { + control: Control + name: ArrayPath +} + +// The key/value rows every RDS create form carries. Keyed by useFieldArray's +// own id so removing a row does not shuffle the values of the ones below it. +export function TagsFieldArray({ + control, + name, +}: TagsFieldArrayProps) { + const { fields, append, remove } = useFieldArray({ control, name }) + + return ( + + Tags +
+ {fields.map((field, index) => ( +
+ } + render={({ field: key, fieldState }) => ( +
+ + +
+ )} + /> + } + render={({ field: value, fieldState }) => ( +
+ + +
+ )} + /> + +
+ ))} + +
+
+ ) +} diff --git a/spinifex/services/spinifexui/frontend/src/test/rds-e2e.test.tsx b/spinifex/services/spinifexui/frontend/src/test/rds-e2e.test.tsx new file mode 100644 index 000000000..11e60b1f4 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/test/rds-e2e.test.tsx @@ -0,0 +1,828 @@ +// Cross-slice RDS flow against a mocked SDK. Walks the path a user takes: +// create → poll through `creating` to `available` → modify → delete with a +// final snapshot, all through 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" + +interface StoredInstance { + identifier: string + engine: string + engineVersion?: string + instanceClass: string + allocatedStorage: number + masterUsername: string + dbName?: string + port: number + status: string + deletionProtection: boolean + backupRetentionPeriod: number + describesLeftAsCreating: number + restoredFrom?: string + pending: { instanceClass?: string; allocatedStorage?: number } +} + +interface StoredSnapshot { + identifier: string + sourceIdentifier: string + engine: string + engineVersion: string + allocatedStorage: number + masterUsername: string + port: number + status: string + snapshotType: string + describesLeftAsCreating: number +} + +interface Command { + readonly constructor: { name: string } + readonly input: unknown +} + +function reject(input: unknown, names: string[], action: string) { + const record = input as Record + for (const name of names) { + if (record[name] !== undefined) { + throw new Error(`InvalidParameterValue: ${action} rejects ${name}`) + } + } +} + +function project(instance: StoredInstance) { + return { + DBInstanceIdentifier: instance.identifier, + DBInstanceArn: `arn:aws:rds:ap-southeast-2:000000000000:db:${instance.identifier}`, + DBInstanceStatus: instance.status, + Engine: instance.engine, + EngineVersion: instance.engineVersion ?? "18", + DBInstanceClass: instance.instanceClass, + AllocatedStorage: instance.allocatedStorage, + StorageType: "gp3", + StorageEncrypted: true, + MasterUsername: instance.masterUsername, + DBName: instance.dbName, + DeletionProtection: instance.deletionProtection, + BackupRetentionPeriod: instance.backupRetentionPeriod, + Endpoint: { + Address: `${instance.identifier}.rds.internal`, + Port: instance.port, + }, + PendingModifiedValues: { + DBInstanceClass: instance.pending.instanceClass, + AllocatedStorage: instance.pending.allocatedStorage, + }, + } +} + +function projectSnapshot(snapshot: StoredSnapshot) { + return { + DBSnapshotIdentifier: snapshot.identifier, + DBSnapshotArn: `arn:aws:rds:ap-southeast-2:000000000000:snapshot:${snapshot.identifier}`, + DBInstanceIdentifier: snapshot.sourceIdentifier, + SnapshotType: snapshot.snapshotType, + Status: snapshot.status, + Engine: snapshot.engine, + EngineVersion: snapshot.engineVersion, + AllocatedStorage: snapshot.allocatedStorage, + MasterUsername: snapshot.masterUsername, + Port: snapshot.port, + Encrypted: true, + } +} + +const { sdk } = vi.hoisted(() => { + // The parameters CreateDBInstance rejects outright. The mock refuses them the + // way the backend does, so a form that starts sending one fails the flow. + const REJECTED_ON_CREATE = [ + "MultiAZ", + "PubliclyAccessible", + "Iops", + "MaxAllocatedStorage", + "StorageThroughput", + "KmsKeyId", + "AvailabilityZone", + "DBSecurityGroups", + "DBClusterIdentifier", + "EnableIAMDatabaseAuthentication", + "EnableCloudwatchLogsExports", + ] + + const REJECTED_ON_MODIFY = [ + "NewDBInstanceIdentifier", + "Engine", + "EngineVersion", + "DBPortNumber", + "DBSubnetGroupName", + "MultiAZ", + "PubliclyAccessible", + "OptionGroupName", + ] + + // Everything the restore reads from the snapshot's datadir instead, which + // the backend refuses rather than silently ignores. + const REJECTED_ON_RESTORE = [ + "Engine", + "EngineVersion", + "MasterUsername", + "MasterUserPassword", + "DBName", + "BackupRetentionPeriod", + "MultiAZ", + "PubliclyAccessible", + ] + + // Two describes report `creating` before the instance settles, so the poll + // path is exercised rather than the instance appearing available at once. + const DESCRIBES_WHILE_CREATING = 2 + const ENGINE_PORTS: Record = { postgres: 5432, mariadb: 3306 } + + const state = { + instances: [] as StoredInstance[], + snapshots: [] as StoredSnapshot[], + } + + function find(identifier: string): StoredInstance { + const instance = state.instances.find((i) => i.identifier === identifier) + if (!instance) { + throw new Error(`DBInstanceNotFound: ${identifier}`) + } + return instance + } + + function findSnapshot(identifier: string): StoredSnapshot { + const snapshot = state.snapshots.find((s) => s.identifier === identifier) + if (!snapshot) { + throw new Error(`DBSnapshotNotFound: ${identifier}`) + } + return snapshot + } + + function snapshotOf( + instance: StoredInstance, + identifier: string, + snapshotType: string, + ): StoredSnapshot { + return { + identifier, + sourceIdentifier: instance.identifier, + engine: instance.engine, + engineVersion: instance.engineVersion ?? "18", + allocatedStorage: instance.allocatedStorage, + masterUsername: instance.masterUsername, + port: instance.port, + status: "creating", + snapshotType, + describesLeftAsCreating: DESCRIBES_WHILE_CREATING, + } + } + + const handlers = new Map unknown>([ + [ + "CreateDBInstanceCommand", + (input) => { + reject(input, REJECTED_ON_CREATE, "CreateDBInstance") + const i = input as { + DBInstanceIdentifier: string + Engine: string + EngineVersion?: string + DBInstanceClass: string + AllocatedStorage: number + MasterUsername: string + DBName?: string + Port?: number + DeletionProtection?: boolean + BackupRetentionPeriod?: number + } + if ( + state.instances.some((s) => s.identifier === i.DBInstanceIdentifier) + ) { + throw new Error(`DBInstanceAlreadyExists: ${i.DBInstanceIdentifier}`) + } + state.instances.push({ + identifier: i.DBInstanceIdentifier, + engine: i.Engine, + engineVersion: i.EngineVersion, + instanceClass: i.DBInstanceClass, + allocatedStorage: i.AllocatedStorage, + masterUsername: i.MasterUsername, + dbName: i.DBName, + port: i.Port ?? ENGINE_PORTS[i.Engine] ?? 5432, + status: "creating", + deletionProtection: i.DeletionProtection ?? false, + backupRetentionPeriod: i.BackupRetentionPeriod ?? 7, + describesLeftAsCreating: DESCRIBES_WHILE_CREATING, + pending: {}, + }) + return { DBInstance: project(find(i.DBInstanceIdentifier)) } + }, + ], + [ + "DescribeDBInstancesCommand", + (input) => { + const i = input as { DBInstanceIdentifier?: string } + const matching = i.DBInstanceIdentifier + ? [find(i.DBInstanceIdentifier)] + : state.instances + const projected = matching.map(project) + // Advance after projecting, so the first describe still reads `creating`. + for (const instance of matching) { + if (instance.status === "creating") { + instance.describesLeftAsCreating -= 1 + if (instance.describesLeftAsCreating <= 0) { + instance.status = "available" + } + } else if (instance.status === "modifying") { + instance.status = "available" + instance.instanceClass = + instance.pending.instanceClass ?? instance.instanceClass + instance.allocatedStorage = + instance.pending.allocatedStorage ?? instance.allocatedStorage + instance.pending = {} + } + } + return { DBInstances: projected } + }, + ], + [ + "ModifyDBInstanceCommand", + (input) => { + reject(input, REJECTED_ON_MODIFY, "ModifyDBInstance") + const i = input as { + DBInstanceIdentifier: string + DBInstanceClass?: string + AllocatedStorage?: number + DeletionProtection?: boolean + BackupRetentionPeriod?: number + } + const instance = find(i.DBInstanceIdentifier) + if ( + i.AllocatedStorage !== undefined && + i.AllocatedStorage < instance.allocatedStorage + ) { + throw new Error("InvalidParameterValue: storage cannot be shrunk") + } + instance.status = "modifying" + instance.pending = { + instanceClass: i.DBInstanceClass, + allocatedStorage: i.AllocatedStorage, + } + if (i.DeletionProtection !== undefined) { + instance.deletionProtection = i.DeletionProtection + } + if (i.BackupRetentionPeriod !== undefined) { + instance.backupRetentionPeriod = i.BackupRetentionPeriod + } + return { DBInstance: project(instance) } + }, + ], + [ + "DeleteDBInstanceCommand", + (input) => { + const i = input as { + DBInstanceIdentifier: string + SkipFinalSnapshot?: boolean + FinalDBSnapshotIdentifier?: string + } + const instance = find(i.DBInstanceIdentifier) + if (instance.deletionProtection) { + throw new Error("InvalidParameterCombination: deletion protection") + } + if (i.SkipFinalSnapshot !== true) { + if (!i.FinalDBSnapshotIdentifier) { + throw new Error( + "InvalidParameterCombination: FinalDBSnapshotIdentifier required", + ) + } + state.snapshots.push( + snapshotOf(instance, i.FinalDBSnapshotIdentifier, "manual"), + ) + } + instance.status = "deleting" + state.instances = state.instances.filter( + (s) => s.identifier !== instance.identifier, + ) + return { DBInstance: project(instance) } + }, + ], + [ + "CreateDBSnapshotCommand", + (input) => { + const i = input as { + DBSnapshotIdentifier: string + DBInstanceIdentifier: string + } + if (i.DBSnapshotIdentifier.startsWith("rds:")) { + throw new Error("InvalidParameterValue: rds: is reserved") + } + const instance = find(i.DBInstanceIdentifier) + if (instance.status !== "available" && instance.status !== "stopped") { + throw new Error( + `InvalidDBInstanceState: ${instance.identifier} is ${instance.status}`, + ) + } + const snapshot = snapshotOf(instance, i.DBSnapshotIdentifier, "manual") + state.snapshots.push(snapshot) + return { DBSnapshot: projectSnapshot(snapshot) } + }, + ], + [ + "DescribeDBSnapshotsCommand", + (input) => { + const i = input as { + DBSnapshotIdentifier?: string + DBInstanceIdentifier?: string + } + let matching = state.snapshots + if (i.DBSnapshotIdentifier) { + matching = [findSnapshot(i.DBSnapshotIdentifier)] + } else if (i.DBInstanceIdentifier) { + matching = matching.filter( + (s) => s.sourceIdentifier === i.DBInstanceIdentifier, + ) + } + const projected = matching.map(projectSnapshot) + // Advance after projecting, so the first describe still reads `creating`. + for (const snapshot of matching) { + if (snapshot.status !== "creating") { + continue + } + snapshot.describesLeftAsCreating -= 1 + if (snapshot.describesLeftAsCreating <= 0) { + snapshot.status = "available" + } + } + return { DBSnapshots: projected } + }, + ], + [ + "DeleteDBSnapshotCommand", + (input) => { + const i = input as { DBSnapshotIdentifier: string } + if (i.DBSnapshotIdentifier.startsWith("rds:")) { + throw new Error("InvalidParameterValue: rds: is reserved") + } + const snapshot = findSnapshot(i.DBSnapshotIdentifier) + if (snapshot.status !== "available") { + throw new Error( + `InvalidDBSnapshotState: ${snapshot.identifier} is ${snapshot.status}`, + ) + } + const reader = state.instances.find( + (s) => s.restoredFrom === snapshot.identifier, + ) + if (reader) { + throw new Error( + `InvalidDBSnapshotState: ${snapshot.identifier} is in use by ${reader.identifier}`, + ) + } + state.snapshots = state.snapshots.filter( + (s) => s.identifier !== snapshot.identifier, + ) + return { DBSnapshot: projectSnapshot(snapshot) } + }, + ], + [ + "RestoreDBInstanceFromDBSnapshotCommand", + (input) => { + reject(input, REJECTED_ON_RESTORE, "RestoreDBInstanceFromDBSnapshot") + const i = input as { + DBInstanceIdentifier: string + DBSnapshotIdentifier: string + DBInstanceClass: string + AllocatedStorage?: number + Port?: number + DeletionProtection?: boolean + } + const snapshot = findSnapshot(i.DBSnapshotIdentifier) + if (snapshot.status !== "available") { + throw new Error( + `InvalidDBSnapshotState: ${snapshot.identifier} is ${snapshot.status}`, + ) + } + if ( + state.instances.some((s) => s.identifier === i.DBInstanceIdentifier) + ) { + throw new Error(`DBInstanceAlreadyExists: ${i.DBInstanceIdentifier}`) + } + const storage = i.AllocatedStorage ?? snapshot.allocatedStorage + if (storage < snapshot.allocatedStorage) { + throw new Error("InvalidParameterValue: storage cannot be shrunk") + } + state.instances.push({ + identifier: i.DBInstanceIdentifier, + engine: snapshot.engine, + engineVersion: snapshot.engineVersion, + instanceClass: i.DBInstanceClass, + allocatedStorage: storage, + masterUsername: snapshot.masterUsername, + port: i.Port ?? snapshot.port, + status: "creating", + deletionProtection: i.DeletionProtection ?? false, + backupRetentionPeriod: 7, + describesLeftAsCreating: DESCRIBES_WHILE_CREATING, + restoredFrom: snapshot.identifier, + pending: {}, + }) + return { DBInstance: project(find(i.DBInstanceIdentifier)) } + }, + ], + ]) + + const send = vi.fn(async (command: Command): Promise => { + const handler = handlers.get(command.constructor.name) + if (!handler) { + throw new Error( + `No E2E handler for SDK command ${command.constructor.name}`, + ) + } + return handler(command.input) + }) + + return { + sdk: { + send, + snapshots: () => state.snapshots, + reset: () => { + state.instances = [] + state.snapshots = [] + send.mockClear() + }, + }, + } +}) + +vi.mock("@/lib/awsClient", () => ({ + getRdsClient: () => ({ send: sdk.send }), + getEc2Client: () => ({ send: sdk.send }), +})) + +import { + useCreateDBInstance, + useCreateDBSnapshot, + useDeleteDBInstance, + useDeleteDBSnapshot, + useModifyDBInstance, + useRestoreDBInstanceFromDBSnapshot, +} from "@/mutations/rds" +import { + rdsDBInstanceQueryOptions, + rdsDBInstancesQueryOptions, + rdsDBSnapshotQueryOptions, + rdsDBSnapshotsQueryOptions, + rdsInstanceDBSnapshotsQueryOptions, +} from "@/queries/rds" +import type { CreateDBInstanceFormData } from "@/types/rds" + +const CREATE_FORM: CreateDBInstanceFormData = { + dbInstanceIdentifier: "orders-db", + engine: "postgres", + engineVersion: "18", + dbInstanceClass: "db.t3.micro", + allocatedStorage: 20, + masterUsername: "dbadmin", + masterUserPassword: "sup3rsecret", + confirmPassword: "sup3rsecret", + dbName: "orders", + port: "", + dbSubnetGroupName: "", + vpcSecurityGroupIds: [], + dbParameterGroupName: "", + deletionProtection: false, + backupRetentionPeriod: 7, + preferredBackupWindow: "", + preferredMaintenanceWindow: "", + tags: [], +} + +function createQueryClient(): QueryClient { + return new QueryClient({ + defaultOptions: { + queries: { retry: false, gcTime: 0, staleTime: 0 }, + mutations: { retry: false }, + }, + }) +} + +function Harness() { + return { + create: useCreateDBInstance(), + modify: useModifyDBInstance(), + remove: useDeleteDBInstance(), + snapshot: useCreateDBSnapshot(), + restore: useRestoreDBInstanceFromDBSnapshot(), + removeSnapshot: useDeleteDBSnapshot(), + } +} + +function renderHarness(qc: QueryClient) { + return renderHook(Harness, { + wrapper: ({ children }: { children: ReactNode }) => ( + {children} + ), + }) +} + +async function statusOf(qc: QueryClient): Promise { + const data = await qc.fetchQuery(rdsDBInstanceQueryOptions("orders-db")) + return data.DBInstances?.[0]?.DBInstanceStatus +} + +describe("RDS cross-slice flow (mocked SDK)", () => { + beforeEach(() => { + sdk.reset() + }) + + it("creates → polls to available → modifies → deletes with a final snapshot", async () => { + const qc = createQueryClient() + const { result } = renderHarness(qc) + + await result.current.create.mutateAsync(CREATE_FORM) + + const listed = await qc.fetchQuery(rdsDBInstancesQueryOptions) + expect(listed.DBInstances).toHaveLength(1) + expect(listed.DBInstances?.[0]?.DBInstanceStatus).toBe("creating") + expect(listed.DBInstances?.[0]?.Endpoint?.Port).toBe(5432) + + // The poll the conditional refetchInterval drives, run by hand. + expect(await statusOf(qc)).toBe("creating") + expect(await statusOf(qc)).toBe("available") + + await result.current.modify.mutateAsync({ + dbInstanceIdentifier: "orders-db", + currentAllocatedStorage: 20, + dbInstanceClass: "db.t3.small", + allocatedStorage: 40, + dbParameterGroupName: "", + vpcSecurityGroupIds: [], + deletionProtection: false, + backupRetentionPeriod: 3, + preferredBackupWindow: "", + preferredMaintenanceWindow: "", + masterUserPassword: "", + applyImmediately: true, + }) + + const modifying = await qc.fetchQuery( + rdsDBInstanceQueryOptions("orders-db"), + ) + expect(modifying.DBInstances?.[0]?.DBInstanceStatus).toBe("modifying") + expect( + modifying.DBInstances?.[0]?.PendingModifiedValues?.AllocatedStorage, + ).toBe(40) + + const settled = await qc.fetchQuery(rdsDBInstanceQueryOptions("orders-db")) + expect(settled.DBInstances?.[0]?.DBInstanceStatus).toBe("available") + expect(settled.DBInstances?.[0]?.AllocatedStorage).toBe(40) + expect(settled.DBInstances?.[0]?.DBInstanceClass).toBe("db.t3.small") + + await result.current.remove.mutateAsync({ + dbInstanceIdentifier: "orders-db", + skipFinalSnapshot: false, + finalSnapshotIdentifier: "orders-db-final-20260817-1432", + }) + + expect(sdk.snapshots()).toHaveLength(1) + expect(sdk.snapshots()[0]).toMatchObject({ + identifier: "orders-db-final-20260817-1432", + sourceIdentifier: "orders-db", + }) + const remaining = await qc.fetchQuery(rdsDBInstancesQueryOptions) + expect(remaining.DBInstances).toHaveLength(0) + }) + + it("never sends a parameter the backend rejects on create", async () => { + const qc = createQueryClient() + const { result } = renderHarness(qc) + + await expect( + result.current.create.mutateAsync(CREATE_FORM), + ).resolves.toBeDefined() + }) + + it("refuses to shrink storage the way the backend does", async () => { + const qc = createQueryClient() + const { result } = renderHarness(qc) + + await result.current.create.mutateAsync({ + ...CREATE_FORM, + allocatedStorage: 40, + }) + + await expect( + result.current.modify.mutateAsync({ + dbInstanceIdentifier: "orders-db", + currentAllocatedStorage: 40, + dbInstanceClass: "db.t3.micro", + allocatedStorage: 20, + dbParameterGroupName: "", + vpcSecurityGroupIds: [], + deletionProtection: false, + backupRetentionPeriod: 7, + preferredBackupWindow: "", + preferredMaintenanceWindow: "", + masterUserPassword: "", + applyImmediately: true, + }), + ).rejects.toThrow(/storage cannot be shrunk/) + }) + + it("refuses to delete an instance with deletion protection on", async () => { + const qc = createQueryClient() + const { result } = renderHarness(qc) + + await result.current.create.mutateAsync({ + ...CREATE_FORM, + deletionProtection: true, + }) + + await expect( + result.current.remove.mutateAsync({ + dbInstanceIdentifier: "orders-db", + skipFinalSnapshot: true, + finalSnapshotIdentifier: "", + }), + ).rejects.toThrow(/deletion protection/) + }) + + it("keeps no snapshot when the final snapshot is skipped", async () => { + const qc = createQueryClient() + const { result } = renderHarness(qc) + + await result.current.create.mutateAsync(CREATE_FORM) + await result.current.remove.mutateAsync({ + dbInstanceIdentifier: "orders-db", + skipFinalSnapshot: true, + finalSnapshotIdentifier: "orders-db-final-20260817-1432", + }) + + expect(sdk.snapshots()).toHaveLength(0) + }) +}) + +const RESTORE_FORM = { + snapshotAllocatedStorage: 20, + dbInstanceIdentifier: "orders-db-restored", + dbInstanceClass: "db.t3.small", + allocatedStorage: 40, + port: "", + dbSubnetGroupName: "", + vpcSecurityGroupIds: [], + dbParameterGroupName: "", + deletionProtection: false, + tags: [], +} + +// The poll the conditional refetchInterval drives, run by hand until the +// snapshot settles. +async function settledSnapshot(qc: QueryClient, identifier: string) { + await qc.fetchQuery(rdsDBSnapshotQueryOptions(identifier)) + await qc.fetchQuery(rdsDBSnapshotQueryOptions(identifier)) + return await qc.fetchQuery(rdsDBSnapshotQueryOptions(identifier)) +} + +describe("RDS snapshot flow (mocked SDK)", () => { + beforeEach(() => { + sdk.reset() + }) + + async function settledInstance(qc: QueryClient) { + const { result } = renderHarness(qc) + await result.current.create.mutateAsync(CREATE_FORM) + await statusOf(qc) + await statusOf(qc) + return result + } + + it("snapshots → polls to available → restores → deletes the snapshot", async () => { + const qc = createQueryClient() + const result = await settledInstance(qc) + + await result.current.snapshot.mutateAsync({ + dbSnapshotIdentifier: "orders-db-snapshot-20260817-1432", + dbInstanceIdentifier: "orders-db", + tags: [], + }) + + const listed = await qc.fetchQuery(rdsDBSnapshotsQueryOptions) + expect(listed.DBSnapshots?.[0]?.Status).toBe("creating") + expect(listed.DBSnapshots?.[0]?.Engine).toBe("postgres") + + const settled = await settledSnapshot( + qc, + "orders-db-snapshot-20260817-1432", + ) + expect(settled.DBSnapshots?.[0]?.Status).toBe("available") + expect(settled.DBSnapshots?.[0]?.AllocatedStorage).toBe(20) + + await result.current.restore.mutateAsync({ + ...RESTORE_FORM, + dbSnapshotIdentifier: "orders-db-snapshot-20260817-1432", + }) + + const restored = await qc.fetchQuery( + rdsDBInstanceQueryOptions("orders-db-restored"), + ) + // The engine, the master user and the port come from the snapshot; only + // the class and the grown storage came from the form. + expect(restored.DBInstances?.[0]?.Engine).toBe("postgres") + expect(restored.DBInstances?.[0]?.MasterUsername).toBe("dbadmin") + expect(restored.DBInstances?.[0]?.Endpoint?.Port).toBe(5432) + expect(restored.DBInstances?.[0]?.DBInstanceClass).toBe("db.t3.small") + expect(restored.DBInstances?.[0]?.AllocatedStorage).toBe(40) + + // The restored instance still reads through the snapshot, so the delete is + // refused until it is gone. + await expect( + result.current.removeSnapshot.mutateAsync( + "orders-db-snapshot-20260817-1432", + ), + ).rejects.toThrow(/in use by orders-db-restored/) + + await result.current.remove.mutateAsync({ + dbInstanceIdentifier: "orders-db-restored", + skipFinalSnapshot: true, + finalSnapshotIdentifier: "", + }) + await result.current.removeSnapshot.mutateAsync( + "orders-db-snapshot-20260817-1432", + ) + expect(sdk.snapshots()).toHaveLength(0) + }) + + it("lists an instance's own snapshots", async () => { + const qc = createQueryClient() + const result = await settledInstance(qc) + + await result.current.snapshot.mutateAsync({ + dbSnapshotIdentifier: "orders-db-snapshot-20260817-1432", + dbInstanceIdentifier: "orders-db", + tags: [], + }) + + const mine = await qc.fetchQuery( + rdsInstanceDBSnapshotsQueryOptions("orders-db"), + ) + expect(mine.DBSnapshots).toHaveLength(1) + const others = await qc.fetchQuery( + rdsInstanceDBSnapshotsQueryOptions("billing-db"), + ) + expect(others.DBSnapshots).toHaveLength(0) + }) + + it("refuses a snapshot of an instance still being created", async () => { + const qc = createQueryClient() + const { result } = renderHarness(qc) + await result.current.create.mutateAsync(CREATE_FORM) + + await expect( + result.current.snapshot.mutateAsync({ + dbSnapshotIdentifier: "orders-db-snapshot-20260817-1432", + dbInstanceIdentifier: "orders-db", + tags: [], + }), + ).rejects.toThrow(/is creating/) + }) + + it("refuses a restore that would shrink the volume", async () => { + const qc = createQueryClient() + const result = await settledInstance(qc) + + await result.current.snapshot.mutateAsync({ + dbSnapshotIdentifier: "orders-db-snapshot-20260817-1432", + dbInstanceIdentifier: "orders-db", + tags: [], + }) + await settledSnapshot(qc, "orders-db-snapshot-20260817-1432") + + await expect( + result.current.restore.mutateAsync({ + ...RESTORE_FORM, + allocatedStorage: 10, + dbSnapshotIdentifier: "orders-db-snapshot-20260817-1432", + }), + ).rejects.toThrow(/storage cannot be shrunk/) + }) + + // The restore reads the engine and the credentials from the datadir, so + // sending either is a request the backend refuses outright. + it("never sends what the restore reads from the snapshot", async () => { + const qc = createQueryClient() + const result = await settledInstance(qc) + + await result.current.snapshot.mutateAsync({ + dbSnapshotIdentifier: "orders-db-snapshot-20260817-1432", + dbInstanceIdentifier: "orders-db", + tags: [], + }) + await settledSnapshot(qc, "orders-db-snapshot-20260817-1432") + + await expect( + result.current.restore.mutateAsync({ + ...RESTORE_FORM, + dbSnapshotIdentifier: "orders-db-snapshot-20260817-1432", + }), + ).resolves.toBeDefined() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/types/rds.test.ts b/spinifex/services/spinifexui/frontend/src/types/rds.test.ts new file mode 100644 index 000000000..d20871ce2 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/types/rds.test.ts @@ -0,0 +1,599 @@ +import { describe, expect, it } from "vitest" + +import { + type CreateDBInstanceFormData, + canDelete, + canDeleteSnapshot, + canReboot, + canRestoreSnapshot, + canSnapshot, + canStart, + canStop, + applyMethodsFor, + createDBInstanceSchema, + createDBParameterGroupSchema, + createDBSubnetGroupSchema, + dailyWindowLength, + dbInstanceIdentifierField, + dbSnapshotIdentifierField, + isDefaultParameterGroupName, + isTransitionalStatus, + MAX_TAGS_PER_RESOURCE, + masterPasswordField, + modifyDBInstanceSchema, + restoreDBInstanceSchema, + suggestedIdentifier, + weeklyWindowLength, +} from "./rds" + +const VALID_CREATE: CreateDBInstanceFormData = { + dbInstanceIdentifier: "orders-db", + engine: "postgres", + engineVersion: "18", + dbInstanceClass: "db.t3.micro", + allocatedStorage: 20, + masterUsername: "dbadmin", + masterUserPassword: "sup3rsecret", + confirmPassword: "sup3rsecret", + dbName: "orders", + port: "", + dbSubnetGroupName: "", + vpcSecurityGroupIds: [], + dbParameterGroupName: "", + deletionProtection: false, + backupRetentionPeriod: 7, + preferredBackupWindow: "", + preferredMaintenanceWindow: "", + tags: [], +} + +function createWith( + overrides: Partial, +): ReturnType { + return createDBInstanceSchema.safeParse({ ...VALID_CREATE, ...overrides }) +} + +describe("tags", () => { + it.each(["aws:cost-centre", "AWS:CostCentre", "Aws:owner"])( + "refuses the reserved prefix in %s, as validateTagKey does", + (key) => { + const result = createWith({ tags: [{ key, value: "x" }] }) + expect(result.success).toBeFalsy() + }, + ) + + it("accepts a key that merely contains aws: further in", () => { + const result = createWith({ tags: [{ key: "team-aws:owner", value: "x" }] }) + expect(result.success).toBeTruthy() + }) + + it("accepts the maximum number of tags and refuses one more", () => { + const atCap = Array.from({ length: MAX_TAGS_PER_RESOURCE }, (_, i) => ({ + key: `k${i}`, + value: "v", + })) + expect(createWith({ tags: atCap }).success).toBeTruthy() + expect( + createWith({ tags: [...atCap, { key: "extra", value: "v" }] }).success, + ).toBeFalsy() + }) +}) + +describe("dbInstanceIdentifierField", () => { + it("accepts a lowercase DNS-label identifier", () => { + expect( + dbInstanceIdentifierField.safeParse("orders-db-1").success, + ).toBeTruthy() + }) + + it.each([ + ["empty", ""], + ["opening on a digit", "1orders"], + ["opening on a hyphen", "-orders"], + ["uppercase", "OrdersDB"], + ["underscored", "orders_db"], + ["trailing hyphen", "orders-"], + ["doubled hyphen", "orders--db"], + ["over 63 characters", "a".repeat(64)], + ])("rejects an identifier %s", (_name, value) => { + expect(dbInstanceIdentifierField.safeParse(value).success).toBeFalsy() + }) +}) + +describe("masterPasswordField", () => { + it("accepts eight printable ASCII characters", () => { + expect(masterPasswordField.safeParse("abcd1234").success).toBeTruthy() + }) + + it.each([ + ["too short", "abc1234"], + ["too long", "a".repeat(129)], + ["a slash", "abcd/1234"], + ["a double quote", 'abcd"1234'], + ["an at sign", "abcd@1234"], + ["a space", "abcd 1234"], + ["a tab", "abcd\t1234"], + ["a non-ASCII character", "abcd€1234"], + ])("rejects a password containing %s", (_name, value) => { + expect(masterPasswordField.safeParse(value).success).toBeFalsy() + }) +}) + +describe("createDBInstanceSchema", () => { + it("accepts a well-formed request", () => { + expect(createWith({}).success).toBeTruthy() + }) + + it("rejects mismatched password confirmation", () => { + expect( + createWith({ confirmPassword: "something-else" }).success, + ).toBeFalsy() + }) + + it.each(["rdsadmin", "postgres", "rds_superuser", "PostgreS"])( + "rejects the postgres reserved username %s", + (username) => { + expect(createWith({ masterUsername: username }).success).toBeFalsy() + }, + ) + + it("rejects a postgres username with the pg_ prefix", () => { + expect(createWith({ masterUsername: "pg_owner" }).success).toBeFalsy() + }) + + it.each(["root", "mysql", "rdsadmin", "public"])( + "rejects the mariadb reserved username %s", + (username) => { + expect( + createWith({ engine: "mariadb", masterUsername: username }).success, + ).toBeFalsy() + }, + ) + + it("accepts postgres-reserved names on mariadb and vice versa", () => { + expect( + createWith({ engine: "mariadb", masterUsername: "postgres" }).success, + ).toBeTruthy() + expect( + createWith({ engine: "postgres", masterUsername: "root" }).success, + ).toBeTruthy() + }) + + it("applies each engine's own username length limit", () => { + const name = `a${"b".repeat(70)}` + expect(createWith({ masterUsername: name }).success).toBeFalsy() + expect( + createWith({ engine: "mariadb", masterUsername: name }).success, + ).toBeTruthy() + }) + + it.each([ + ["opening on a digit", "1admin"], + ["hyphenated", "db-admin"], + ["dotted", "db.admin"], + ])("rejects a master username %s", (_name, username) => { + expect(createWith({ masterUsername: username }).success).toBeFalsy() + }) + + it("treats a blank database name as creating no database", () => { + expect(createWith({ dbName: "" }).success).toBeTruthy() + }) + + it("rejects a database name that is not an engine identifier", () => { + expect(createWith({ dbName: "orders-db" }).success).toBeFalsy() + expect(createWith({ dbName: "1orders" }).success).toBeFalsy() + }) + + it.each([19, 65_537])("rejects allocated storage of %i GiB", (storage) => { + expect(createWith({ allocatedStorage: storage }).success).toBeFalsy() + }) + + it.each([20, 65_536])("accepts allocated storage of %i GiB", (storage) => { + expect(createWith({ allocatedStorage: storage }).success).toBeTruthy() + }) + + it.each(["1149", "65536", "0", "abc"])("rejects the port %s", (port) => { + expect(createWith({ port }).success).toBeFalsy() + }) + + it.each(["1150", "5432", "65535", ""])("accepts the port %s", (port) => { + expect(createWith({ port }).success).toBeTruthy() + }) + + it.each([-1, 8])("rejects a retention of %i days", (days) => { + expect(createWith({ backupRetentionPeriod: days }).success).toBeFalsy() + }) + + it.each([0, 7])("accepts a retention of %i days", (days) => { + expect(createWith({ backupRetentionPeriod: days }).success).toBeTruthy() + }) + + it.each([ + ["03:00-03:30", true], + ["03:00-03:29", false], + ["23:45-00:15", true], + ["03:00-03:00", false], + ["3:00-3:30", false], + ["24:00-24:30", false], + ["03:00", false], + ])("validates the backup window %s", (window, valid) => { + expect(createWith({ preferredBackupWindow: window }).success).toBe(valid) + }) + + it.each([ + ["sun:03:00-sun:03:30", true], + ["sat:23:45-sun:00:15", true], + ["sun:03:00-sun:03:15", false], + ["xyz:03:00-sun:03:30", false], + ["03:00-03:30", false], + ])("validates the maintenance window %s", (window, valid) => { + expect(createWith({ preferredMaintenanceWindow: window }).success).toBe( + valid, + ) + }) +}) + +describe("window length", () => { + it("measures a wrapping daily window forward through midnight", () => { + expect(dailyWindowLength("23:45-00:15")).toBe(30) + }) + + it("reads an equal start and end as zero rather than a whole day", () => { + expect(dailyWindowLength("03:00-03:00")).toBe(0) + }) + + it("measures a wrapping weekly window forward through the week", () => { + expect(weeklyWindowLength("sat:23:45-sun:00:15")).toBe(30) + }) +}) + +describe("modifyDBInstanceSchema", () => { + const VALID_MODIFY = { + currentAllocatedStorage: 40, + dbInstanceClass: "db.t3.micro", + allocatedStorage: 40, + dbParameterGroupName: "", + vpcSecurityGroupIds: [], + deletionProtection: false, + backupRetentionPeriod: 7, + preferredBackupWindow: "", + preferredMaintenanceWindow: "", + masterUserPassword: "", + applyImmediately: false, + } + + it("accepts leaving storage unchanged", () => { + expect(modifyDBInstanceSchema.safeParse(VALID_MODIFY).success).toBeTruthy() + }) + + it("accepts growing storage", () => { + expect( + modifyDBInstanceSchema.safeParse({ + ...VALID_MODIFY, + allocatedStorage: 80, + }).success, + ).toBeTruthy() + }) + + it("rejects shrinking storage below the current size", () => { + expect( + modifyDBInstanceSchema.safeParse({ + ...VALID_MODIFY, + allocatedStorage: 30, + }).success, + ).toBeFalsy() + }) + + it("treats a blank password as leaving it alone", () => { + expect( + modifyDBInstanceSchema.safeParse({ + ...VALID_MODIFY, + masterUserPassword: "", + }).success, + ).toBeTruthy() + }) + + it("applies the password rules once a password is supplied", () => { + expect( + modifyDBInstanceSchema.safeParse({ + ...VALID_MODIFY, + masterUserPassword: "short", + }).success, + ).toBeFalsy() + expect( + modifyDBInstanceSchema.safeParse({ + ...VALID_MODIFY, + masterUserPassword: "abcd@1234", + }).success, + ).toBeFalsy() + }) +}) + +describe("status helpers", () => { + it.each([ + "creating", + "modifying", + "backing-up", + "rebooting", + "stopping", + "starting", + "recovering", + "deleting", + ])("treats %s as in flight", (status) => { + expect(isTransitionalStatus(status)).toBeTruthy() + }) + + it.each(["available", "stopped", "failed", "deleted", undefined])( + "treats %s as settled", + (status) => { + expect(isTransitionalStatus(status)).toBeFalsy() + }, + ) + + it("permits only the transitions the backend allows", () => { + expect(canStart("stopped")).toBeTruthy() + expect(canStart("available")).toBeFalsy() + expect(canStop("available")).toBeTruthy() + expect(canStop("stopped")).toBeFalsy() + expect(canReboot("available")).toBeTruthy() + expect(canReboot("stopped")).toBeFalsy() + expect(canDelete("available")).toBeTruthy() + expect(canDelete("stopped")).toBeTruthy() + expect(canDelete("deleting")).toBeFalsy() + expect(canDelete("deleted")).toBeFalsy() + }) +}) + +const VALID_SUBNET_GROUP = { + dbSubnetGroupName: "orders-subnets", + dbSubnetGroupDescription: "Private subnets for the orders database", + subnetIds: ["subnet-1", "subnet-2"], + tags: [], +} + +const VALID_PARAMETER_GROUP = { + dbParameterGroupName: "orders-postgres18", + dbParameterGroupFamily: "postgres18", + description: "Tuned settings", + tags: [], +} + +// Mirrors validateDBGroupName, which both group kinds share. +describe("group name rules", () => { + it("accepts a well-formed subnet group", () => { + expect( + createDBSubnetGroupSchema.safeParse(VALID_SUBNET_GROUP).success, + ).toBeTruthy() + }) + + it.each([ + ["", "empty"], + ["1orders", "opening on a digit"], + ["-orders", "opening on a hyphen"], + ["orders.subnets", "holding a full stop"], + ["orders_subnets", "holding an underscore"], + ["default", "the reserved name"], + ["DEFAULT", "the reserved name in another case"], + ["a".repeat(256), "longer than 255 characters"], + ])("rejects %s (%s)", (name) => { + expect( + createDBSubnetGroupSchema.safeParse({ + ...VALID_SUBNET_GROUP, + dbSubnetGroupName: name, + }).success, + ).toBeFalsy() + }) + + it("requires a description, as the backend does", () => { + expect( + createDBSubnetGroupSchema.safeParse({ + ...VALID_SUBNET_GROUP, + dbSubnetGroupDescription: "", + }).success, + ).toBeFalsy() + }) + + it("requires at least one subnet and at most twenty", () => { + expect( + createDBSubnetGroupSchema.safeParse({ + ...VALID_SUBNET_GROUP, + subnetIds: [], + }).success, + ).toBeFalsy() + expect( + createDBSubnetGroupSchema.safeParse({ + ...VALID_SUBNET_GROUP, + subnetIds: Array.from({ length: 21 }, (_, i) => `subnet-${i}`), + }).success, + ).toBeFalsy() + }) +}) + +describe("parameter group schema", () => { + it("accepts a well-formed group", () => { + expect( + createDBParameterGroupSchema.safeParse(VALID_PARAMETER_GROUP).success, + ).toBeTruthy() + }) + + it("names the reservation when the default prefix is used", () => { + const result = createDBParameterGroupSchema.safeParse({ + ...VALID_PARAMETER_GROUP, + dbParameterGroupName: "default.postgres18", + }) + expect(result.success).toBeFalsy() + expect(result.error?.issues[0]?.message).toContain("reserves") + }) + + it("requires a family", () => { + expect( + createDBParameterGroupSchema.safeParse({ + ...VALID_PARAMETER_GROUP, + dbParameterGroupFamily: "", + }).success, + ).toBeFalsy() + }) +}) + +describe("isDefaultParameterGroupName", () => { + it.each(["default.postgres18", "default.mariadb11.8", "DEFAULT.postgres18"])( + "treats %s as a default group", + (name) => { + expect(isDefaultParameterGroupName(name)).toBeTruthy() + }, + ) + + it.each(["orders-pg", "defaults-pg", "default", undefined])( + "treats %s as a customer group", + (name) => { + expect(isDefaultParameterGroupName(name)).toBeFalsy() + }, + ) +}) + +// resolveApplyMethod rejects "immediate" on a static parameter rather than +// downgrading it, so the editor must not offer the choice. +describe("applyMethodsFor", () => { + it("pins a static parameter to pending-reboot", () => { + expect(applyMethodsFor("static")).toStrictEqual(["pending-reboot"]) + }) + + it("offers both methods on a dynamic parameter", () => { + expect(applyMethodsFor("dynamic")).toStrictEqual([ + "immediate", + "pending-reboot", + ]) + }) +}) + +// Mirrors validateDBSnapshotIdentifier and validateDBSnapshotName in +// handlers/rds/snapshot.go. +describe("dbSnapshotIdentifierField", () => { + it.each(["orders-db-snapshot-20260817-1432", "nightly", "a1"])( + "accepts %s", + (name) => { + expect(dbSnapshotIdentifierField.safeParse(name).success).toBeTruthy() + }, + ) + + it.each([ + ["", "empty"], + ["1nightly", "opening on a digit"], + ["Nightly", "uppercase"], + ["nightly-", "a trailing hyphen"], + ["nightly--copy", "consecutive hyphens"], + ["nightly_copy", "an underscore"], + ])("rejects %s (%s)", (name) => { + expect(dbSnapshotIdentifierField.safeParse(name).success).toBeFalsy() + }) + + it("rejects the rds: namespace by name rather than by punctuation", () => { + const result = dbSnapshotIdentifierField.safeParse("rds:nightly") + expect(result.success).toBeFalsy() + expect(result.error?.issues[0]?.message).toContain("automated backups") + }) +}) + +describe("restoreDBInstanceSchema", () => { + const VALID_RESTORE = { + snapshotAllocatedStorage: 20, + dbInstanceIdentifier: "orders-db-restored", + dbInstanceClass: "db.t3.micro", + allocatedStorage: 20, + port: "", + dbSubnetGroupName: "", + vpcSecurityGroupIds: [], + dbParameterGroupName: "", + deletionProtection: false, + tags: [], + } + + it("accepts a restore onto the snapshot's own size", () => { + expect( + restoreDBInstanceSchema.safeParse(VALID_RESTORE).success, + ).toBeTruthy() + }) + + it("accepts a restore that grows the volume", () => { + const result = restoreDBInstanceSchema.safeParse({ + ...VALID_RESTORE, + allocatedStorage: 40, + }) + expect(result.success).toBeTruthy() + }) + + // CreateVolume refuses a size below the snapshot's, and a shrink has nowhere + // to put the data the snapshot already holds. + it("refuses to restore below the snapshot's size", () => { + const result = restoreDBInstanceSchema.safeParse({ + ...VALID_RESTORE, + snapshotAllocatedStorage: 40, + allocatedStorage: 20, + }) + expect(result.success).toBeFalsy() + expect(result.error?.issues[0]?.message).toContain("40 GiB") + }) + + it("applies the DB instance identifier rules to the new instance", () => { + const result = restoreDBInstanceSchema.safeParse({ + ...VALID_RESTORE, + dbInstanceIdentifier: "Orders_Restored", + }) + expect(result.success).toBeFalsy() + }) + + it("rejects a port outside the accepted range", () => { + const result = restoreDBInstanceSchema.safeParse({ + ...VALID_RESTORE, + port: "80", + }) + expect(result.success).toBeFalsy() + }) +}) + +describe("snapshot action gating", () => { + it.each(["available", "stopped"])( + "allows a snapshot of a %s instance", + (status) => { + expect(canSnapshot(status)).toBeTruthy() + }, + ) + + it.each(["creating", "backing-up", "modifying", "deleting", undefined])( + "refuses a snapshot of a %s instance", + (status) => { + expect(canSnapshot(status)).toBeFalsy() + }, + ) + + it("restores only from an available snapshot", () => { + expect(canRestoreSnapshot("available")).toBeTruthy() + expect(canRestoreSnapshot("creating")).toBeFalsy() + }) + + // DeleteDBSnapshot rejects the rds: namespace outright, so an automated + // backup is never offered a delete however settled it is. + it("never deletes an automated backup", () => { + expect(canDeleteSnapshot("available", "manual")).toBeTruthy() + expect(canDeleteSnapshot("available", "automated")).toBeFalsy() + expect(canDeleteSnapshot("creating", "manual")).toBeFalsy() + expect(canDeleteSnapshot("available", undefined)).toBeTruthy() + }) +}) + +describe("suggestedIdentifier", () => { + const AT = new Date("2026-08-17T14:32:00Z") + + it("names the snapshot after the instance and the time", () => { + expect(suggestedIdentifier("orders-db", "snapshot", AT)).toBe( + "orders-db-snapshot-20260817-1432", + ) + }) + + it("trims a long instance name and leaves no trailing hyphen", () => { + const long = `${"a".repeat(60)}-b` + const result = suggestedIdentifier(long, "restored", AT) + expect(result.length).toBeLessThanOrEqual(63) + expect(dbInstanceIdentifierField.safeParse(result).success).toBeTruthy() + }) +}) diff --git a/spinifex/services/spinifexui/frontend/src/types/rds.ts b/spinifex/services/spinifexui/frontend/src/types/rds.ts new file mode 100644 index 000000000..0e7781af2 --- /dev/null +++ b/spinifex/services/spinifexui/frontend/src/types/rds.ts @@ -0,0 +1,640 @@ +import type { ApplyMethod } from "@aws-sdk/client-rds" +import { z } from "zod" + +// Mirrors handlers/rds/validate.go and handlers/rds/engine.go so the form +// rejects what the backend would reject, before the round trip. Engines, +// versions and instance classes are deliberately absent: those are read from +// DescribeDBEngineVersions and DescribeOrderableDBInstanceOptions. + +export const MIN_ALLOCATED_STORAGE_GIB = 20 +export const MAX_ALLOCATED_STORAGE_GIB = 65_536 + +export const MIN_DB_PORT = 1150 +export const MAX_DB_PORT = 65_535 + +export const MIN_BACKUP_RETENTION_DAYS = 0 +export const MAX_BACKUP_RETENTION_DAYS = 7 + +const MAX_IDENTIFIER_LEN = 63 +const MIN_PASSWORD_LEN = 8 +const MAX_PASSWORD_LEN = 128 + +// The window granularity and shortest window AWS accepts, in minutes. +const MIN_WINDOW_MINUTES = 30 +const MINUTES_PER_DAY = 24 * 60 + +// The engine rules that no describe action reports. Everything else about an +// engine comes from the catalog queries; these live here because the API has +// nowhere to publish them. +interface EngineRules { + reservedUsernames: string[] + reservedUsernamePrefixes: string[] + maxUsernameLen: number + maxDBNameLen: number +} + +const ENGINE_RULES: Record = { + postgres: { + reservedUsernames: ["rdsadmin", "postgres", "rds_superuser"], + reservedUsernamePrefixes: ["pg_"], + maxUsernameLen: 63, + maxDBNameLen: 63, + }, + mariadb: { + reservedUsernames: ["root", "mariadb.sys", "mysql", "rdsadmin", "public"], + reservedUsernamePrefixes: ["mysql.", "mariadb."], + maxUsernameLen: 80, + maxDBNameLen: 64, + }, +} + +// An engine the catalog offers but this table does not know gets the loosest +// rules rather than a hard failure: the backend still checks, and blocking a +// newly added engine in the console would be worse than a late error. +const FALLBACK_ENGINE_RULES: EngineRules = { + reservedUsernames: [], + reservedUsernamePrefixes: [], + maxUsernameLen: 80, + maxDBNameLen: 64, +} + +export function engineRules(engine: string): EngineRules { + return ENGINE_RULES[engine] ?? FALLBACK_ENGINE_RULES +} + +// Lowercase letters, digits and hyphens, opening on a letter, with no trailing +// or doubled hyphen. The identifier is also the endpoint hostname, which is +// what makes it a DNS label rather than a free-form name. +export const dbInstanceIdentifierField = z + .string() + .min(1, "Identifier is required") + .max( + MAX_IDENTIFIER_LEN, + `Identifier must be at most ${MAX_IDENTIFIER_LEN} characters`, + ) + .regex(/^[a-z]/, "Identifier must begin with a lowercase letter") + .regex( + /^[a-z0-9-]*$/, + "Identifier may contain only lowercase letters, digits and hyphens", + ) + .refine((v) => !v.endsWith("-"), "Identifier may not end with a hyphen") + .refine( + (v) => !v.includes("--"), + "Identifier may not contain consecutive hyphens", + ) + +// Printable ASCII only, minus the four characters that would not survive the +// bootstrap handoff or the connection strings built from it. +export const masterPasswordField = z + .string() + .min( + MIN_PASSWORD_LEN, + `Password must be at least ${MIN_PASSWORD_LEN} characters`, + ) + .max( + MAX_PASSWORD_LEN, + `Password must be at most ${MAX_PASSWORD_LEN} characters`, + ) + .regex(/^[ -~]*$/, "Password may only contain printable ASCII") + .refine( + (v) => !/[/"@ ]/.test(v), + "Password may not contain '/', '\"', '@' or spaces", + ) + +const allocatedStorageField = z + .number() + .int("Storage must be a whole number of GiB") + .min( + MIN_ALLOCATED_STORAGE_GIB, + `Storage must be at least ${MIN_ALLOCATED_STORAGE_GIB} GiB`, + ) + .max( + MAX_ALLOCATED_STORAGE_GIB, + `Storage must be at most ${MAX_ALLOCATED_STORAGE_GIB} GiB`, + ) + +// A string rather than a number so blank stays distinct from zero: the port +// defaults to the engine's own, and no describe action publishes what that is, +// so an empty field is the only honest way to ask for it. +const portField = z.string().refine((v) => { + if (v === "") { + return true + } + const port = Number(v) + return ( + /^\d+$/.test(v) && + Number.isInteger(port) && + port >= MIN_DB_PORT && + port <= MAX_DB_PORT + ) +}, `Port must be between ${MIN_DB_PORT} and ${MAX_DB_PORT}`) + +const backupRetentionField = z + .number() + .int("Retention must be a whole number of days") + .min(MIN_BACKUP_RETENTION_DAYS, "Retention may not be negative") + .max( + MAX_BACKUP_RETENTION_DAYS, + `Retention must be at most ${MAX_BACKUP_RETENTION_DAYS} days`, + ) + +const DAILY_WINDOW_REGEX = + /^(?:[01]\d|2[0-3]):[0-5]\d-(?:[01]\d|2[0-3]):[0-5]\d$/ +const WEEKLY_WINDOW_REGEX = + /^(?:sun|mon|tue|wed|thu|fri|sat):(?:[01]\d|2[0-3]):[0-5]\d-(?:sun|mon|tue|wed|thu|fri|sat):(?:[01]\d|2[0-3]):[0-5]\d$/ + +const WEEKDAYS: string[] = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"] + +function clockMinutes(value: string): number { + const [hours, minutes] = value.split(":") + return Number(hours ?? 0) * 60 + Number(minutes ?? 0) +} + +function weekdayClockMinutes(value: string): number { + const [day, hours, minutes] = value.split(":") + const index = WEEKDAYS.indexOf(day ?? "") + return ( + index * MINUTES_PER_DAY + Number(hours ?? 0) * 60 + Number(minutes ?? 0) + ) +} + +// A window that wraps is measured forward through the end of the period, so an +// equal start and end reads as zero rather than a whole period. +function windowLength(start: number, end: number, period: number): number { + return (((end - start) % period) + period) % period +} + +export function dailyWindowLength(value: string): number { + const [from, to] = value.split("-") + return windowLength( + clockMinutes(from ?? ""), + clockMinutes(to ?? ""), + MINUTES_PER_DAY, + ) +} + +export function weeklyWindowLength(value: string): number { + const [from, to] = value.split("-") + return windowLength( + weekdayClockMinutes(from ?? ""), + weekdayClockMinutes(to ?? ""), + 7 * MINUTES_PER_DAY, + ) +} + +// Both windows are optional: an unnamed one is assigned deterministically from +// the identifier, and an empty string is how the form says "leave it unset". +const preferredBackupWindowField = z + .string() + .refine( + (v) => v === "" || DAILY_WINDOW_REGEX.test(v), + "Backup window must be hh24:mi-hh24:mi in UTC", + ) + .refine( + (v) => v === "" || dailyWindowLength(v) >= MIN_WINDOW_MINUTES, + `Backup window must be at least ${MIN_WINDOW_MINUTES} minutes long`, + ) + +const preferredMaintenanceWindowField = z + .string() + .refine( + (v) => v === "" || WEEKLY_WINDOW_REGEX.test(v), + "Maintenance window must be ddd:hh24:mi-ddd:hh24:mi in UTC", + ) + .refine( + (v) => v === "" || weeklyWindowLength(v) >= MIN_WINDOW_MINUTES, + `Maintenance window must be at least ${MIN_WINDOW_MINUTES} minutes long`, + ) + +export const MAX_TAGS_PER_RESOURCE = 50 + +// The aws: prefix is refused rather than dropped, matching validateTagKey: a +// silently discarded tag would read back as absent on the next apply. +const RESERVED_TAG_PREFIX = "aws:" + +export const rdsTagSchema = z.object({ + key: z + .string() + .min(1, "Tag key is required") + .max(128) + .refine( + (v) => !v.toLowerCase().startsWith(RESERVED_TAG_PREFIX), + `Tag keys may not start with the reserved ${RESERVED_TAG_PREFIX} prefix`, + ), + value: z.string().max(256), +}) + +export type RdsTagFormData = z.infer + +export const rdsTagsField = z + .array(rdsTagSchema) + .max( + MAX_TAGS_PER_RESOURCE, + `At most ${MAX_TAGS_PER_RESOURCE} tags may be supplied`, + ) + +// The shared identifier rule for a master username and an initial database +// name: letters, digits and underscores, opening on a letter. Narrower than +// either engine accepts, because rds-init interpolates both into the guest. +function checkEngineIdentifier( + ctx: z.RefinementCtx, + path: string, + field: string, + value: string, + maxLen: number, +) { + const issue = (message: string) => + ctx.addIssue({ code: "custom", path: [path], message }) + + if (value.length > maxLen) { + issue(`${field} must be at most ${maxLen} characters`) + return + } + if (!/^[a-zA-Z]/.test(value)) { + issue(`${field} must begin with a letter`) + return + } + if (!/^\w*$/.test(value)) { + issue(`${field} may contain only letters, digits and underscores`) + } +} + +function checkMasterUsername( + ctx: z.RefinementCtx, + engine: string, + username: string, +) { + const rules = engineRules(engine) + checkEngineIdentifier( + ctx, + "masterUsername", + "Master username", + username, + rules.maxUsernameLen, + ) + + const lower = username.trim().toLowerCase() + if (rules.reservedUsernames.includes(lower)) { + ctx.addIssue({ + code: "custom", + path: ["masterUsername"], + message: `"${username}" is reserved by ${engine}`, + }) + return + } + const prefix = rules.reservedUsernamePrefixes.find((p) => lower.startsWith(p)) + if (prefix) { + ctx.addIssue({ + code: "custom", + path: ["masterUsername"], + message: `Master username may not begin with "${prefix}", which ${engine} reserves`, + }) + } +} + +export const createDBInstanceSchema = z + .object({ + dbInstanceIdentifier: dbInstanceIdentifierField, + engine: z.string().min(1, "Engine is required"), + engineVersion: z.string(), + dbInstanceClass: z.string().min(1, "Instance class is required"), + allocatedStorage: allocatedStorageField, + masterUsername: z.string().min(1, "Master username is required"), + masterUserPassword: masterPasswordField, + confirmPassword: z.string(), + dbName: z.string(), + port: portField, + dbSubnetGroupName: z.string(), + vpcSecurityGroupIds: z.array(z.string()), + dbParameterGroupName: z.string(), + deletionProtection: z.boolean(), + backupRetentionPeriod: backupRetentionField, + preferredBackupWindow: preferredBackupWindowField, + preferredMaintenanceWindow: preferredMaintenanceWindowField, + tags: rdsTagsField, + }) + .superRefine((data, ctx) => { + checkMasterUsername(ctx, data.engine, data.masterUsername) + + if (data.dbName !== "") { + checkEngineIdentifier( + ctx, + "dbName", + "Database name", + data.dbName, + engineRules(data.engine).maxDBNameLen, + ) + } + if (data.confirmPassword !== data.masterUserPassword) { + ctx.addIssue({ + code: "custom", + path: ["confirmPassword"], + message: "Passwords do not match", + }) + } + }) + +export type CreateDBInstanceFormData = z.infer + +// Storage grows only, so the floor is the instance's current size rather than +// the platform minimum. currentAllocatedStorage carries it into the refinement. +export const modifyDBInstanceSchema = z + .object({ + currentAllocatedStorage: z.number(), + dbInstanceClass: z.string().min(1, "Instance class is required"), + allocatedStorage: allocatedStorageField, + dbParameterGroupName: z.string(), + vpcSecurityGroupIds: z.array(z.string()), + deletionProtection: z.boolean(), + backupRetentionPeriod: backupRetentionField, + preferredBackupWindow: preferredBackupWindowField, + preferredMaintenanceWindow: preferredMaintenanceWindowField, + masterUserPassword: z.string(), + applyImmediately: z.boolean(), + }) + .superRefine((data, ctx) => { + if (data.allocatedStorage < data.currentAllocatedStorage) { + ctx.addIssue({ + code: "custom", + path: ["allocatedStorage"], + message: `Storage can only grow; it is currently ${data.currentAllocatedStorage} GiB`, + }) + } + // Empty means "leave the password alone", so the character rules only + // apply once the field carries something. + if (data.masterUserPassword !== "") { + const result = masterPasswordField.safeParse(data.masterUserPassword) + if (!result.success) { + ctx.addIssue({ + code: "custom", + path: ["masterUserPassword"], + message: result.error.issues[0]?.message ?? "Password is invalid", + }) + } + } + }) + +export type ModifyDBInstanceFormData = z.infer + +// Mirrors validateDBSnapshotName in handlers/rds/snapshot.go. The character set +// is deliberately the DB instance identifier's rather than AWS's laxer one, so +// every name a snapshot can be created under is one a final snapshot accepts. +const MAX_SNAPSHOT_IDENTIFIER_LEN = 255 + +// The namespace the control plane mints automated backups under. A name the +// caller creates may never enter it, and DeleteDBSnapshot refuses one that has. +const AUTOMATED_SNAPSHOT_PREFIX = "rds:" + +const snapshotNameField = z + .string() + .min(1, "Snapshot identifier is required") + .max( + MAX_SNAPSHOT_IDENTIFIER_LEN, + `Snapshot identifier must be at most ${MAX_SNAPSHOT_IDENTIFIER_LEN} characters`, + ) + .regex(/^[a-z]/, "Snapshot identifier must begin with a lowercase letter") + .regex( + /^[a-z0-9-]*$/, + "Snapshot identifier may contain only lowercase letters, digits and hyphens", + ) + .refine( + (v) => !v.endsWith("-"), + "Snapshot identifier may not end with a hyphen", + ) + .refine( + (v) => !v.includes("--"), + "Snapshot identifier may not contain consecutive hyphens", + ) + +// The namespace check runs ahead of the name rules, which would otherwise +// reject "rds:nightly" as a complaint about colons rather than about the +// namespace automated backups own. +export const dbSnapshotIdentifierField = z + .string() + .refine( + (v) => !v.toLowerCase().startsWith(AUTOMATED_SNAPSHOT_PREFIX), + `Snapshot identifier may not begin with "${AUTOMATED_SNAPSHOT_PREFIX}", which automated backups use`, + ) + .pipe(snapshotNameField) + +export const createDBSnapshotSchema = z.object({ + dbSnapshotIdentifier: dbSnapshotIdentifierField, + tags: rdsTagsField, +}) + +function pad(value: number): string { + return String(value).padStart(2, "0") +} + +function timestampSuffix(now: Date): string { + return `${now.getUTCFullYear()}${pad(now.getUTCMonth() + 1)}${pad( + now.getUTCDate(), + )}-${pad(now.getUTCHours())}${pad(now.getUTCMinutes())}` +} + +// A suggested name for a snapshot or a restored instance: the instance it came +// from, what it is for, and a UTC timestamp. Trimmed to the DB instance +// identifier's length, which is the shorter of the two limits. +export function suggestedIdentifier( + dbInstanceIdentifier: string, + purpose: string, + now: Date = new Date(), +): string { + const suffix = `-${purpose}-${timestampSuffix(now)}` + const room = MAX_IDENTIFIER_LEN - suffix.length + const stem = dbInstanceIdentifier.slice(0, room).replace(/-+$/, "") + return `${stem}${suffix}` +} + +export type CreateDBSnapshotFormData = z.infer + +// Only what resolveRestoreRequest in handlers/rds/restore.go actually reads. +// The engine, master credentials and initial database come from the snapshot's +// datadir, and the retention and windows use the defaults in force at restore. +export const restoreDBInstanceSchema = z + .object({ + snapshotAllocatedStorage: z.number(), + dbInstanceIdentifier: dbInstanceIdentifierField, + dbInstanceClass: z.string().min(1, "Instance class is required"), + allocatedStorage: allocatedStorageField, + port: portField, + dbSubnetGroupName: z.string(), + vpcSecurityGroupIds: z.array(z.string()), + dbParameterGroupName: z.string(), + deletionProtection: z.boolean(), + tags: rdsTagsField, + }) + .superRefine((data, ctx) => { + if (data.allocatedStorage < data.snapshotAllocatedStorage) { + ctx.addIssue({ + code: "custom", + path: ["allocatedStorage"], + message: `Storage may not be below the ${data.snapshotAllocatedStorage} GiB the snapshot holds`, + }) + } + }) + +export type RestoreDBInstanceFormData = z.infer + +// Mirrors validateDBGroupName and validateDBGroupDescription in +// handlers/rds/subnetgroup.go, which both group kinds share. The name is a KV +// key rather than a DNS label, so it is looser than a DB instance identifier. +const MAX_GROUP_NAME_LEN = 255 +const MAX_GROUP_DESCRIPTION_LEN = 255 + +export const MAX_SUBNETS_PER_GROUP = 20 +export const MAX_PARAMETERS_PER_MODIFY = 20 + +// The prefix the service reserves for the parameter groups it owns. +const DEFAULT_PARAMETER_GROUP_PREFIX = "default." + +export function isDefaultParameterGroupName(name: string | undefined): boolean { + return (name ?? "").toLowerCase().startsWith(DEFAULT_PARAMETER_GROUP_PREFIX) +} + +function groupNameField(label: string) { + return z + .string() + .min(1, `${label} is required`) + .max(MAX_GROUP_NAME_LEN, `${label} must be at most 255 characters`) + .regex(/^[a-zA-Z]/, `${label} must begin with a letter`) + .regex( + /^[a-zA-Z0-9-]*$/, + `${label} may contain only letters, digits and hyphens`, + ) + .refine( + (v) => v.toLowerCase() !== "default", + `${label} may not be "default", which the service reserves`, + ) +} + +function groupDescriptionField(label: string) { + return z + .string() + .min(1, `${label} is required`) + .max(MAX_GROUP_DESCRIPTION_LEN, `${label} must be at most 255 characters`) +} + +export const createDBSubnetGroupSchema = z.object({ + dbSubnetGroupName: groupNameField("Name"), + dbSubnetGroupDescription: groupDescriptionField("Description"), + subnetIds: z + .array(z.string()) + .min(1, "Select at least one subnet") + .max( + MAX_SUBNETS_PER_GROUP, + `A DB subnet group may hold at most ${MAX_SUBNETS_PER_GROUP} subnets`, + ), + tags: rdsTagsField, +}) + +export type CreateDBSubnetGroupFormData = z.infer< + typeof createDBSubnetGroupSchema +> + +// The reserved-prefix check runs ahead of the shared name rules: without it a +// "default.postgres18" reads as a complaint about full stops rather than about +// the name being reserved. +export const createDBParameterGroupSchema = z.object({ + dbParameterGroupName: z + .string() + .refine( + (v) => !isDefaultParameterGroupName(v), + `Name may not begin with "${DEFAULT_PARAMETER_GROUP_PREFIX}", which the service reserves`, + ) + .pipe(groupNameField("Name")), + dbParameterGroupFamily: z.string().min(1, "Family is required"), + description: groupDescriptionField("Description"), + tags: rdsTagsField, +}) + +export type CreateDBParameterGroupFormData = z.infer< + typeof createDBParameterGroupSchema +> + +// handlers/rds/paramcatalog.go. A static parameter is adopted by a restart; a +// dynamic one by a reload. +export const APPLY_TYPE_STATIC = "static" +export const APPLY_METHOD_IMMEDIATE = "immediate" satisfies ApplyMethod +export const APPLY_METHOD_PENDING_REBOOT = + "pending-reboot" satisfies ApplyMethod + +export const PARAMETER_SOURCE_USER = "user" + +// resolveApplyMethod rejects "immediate" on a static parameter rather than +// downgrading it, so the editor pins the method instead of offering the choice. +export function applyMethodsFor(applyType: string | undefined): ApplyMethod[] { + return applyType === APPLY_TYPE_STATIC + ? [APPLY_METHOD_PENDING_REBOOT] + : [APPLY_METHOD_IMMEDIATE, APPLY_METHOD_PENDING_REBOOT] +} + +// One edited row on its way to ModifyDBParameterGroup. +export interface ParameterUpdate { + name: string + value: string + applyMethod: ApplyMethod +} + +// Statuses handlers/rds/status.go treats as in-flight. The list and detail +// queries poll while any instance is in one and stop once none is. +export const TRANSITIONAL_DB_INSTANCE_STATUSES = new Set([ + "creating", + "modifying", + "backing-up", + "rebooting", + "stopping", + "starting", + "recovering", + "deleting", +]) + +export function isTransitionalStatus(status: string | undefined): boolean { + return status !== undefined && TRANSITIONAL_DB_INSTANCE_STATUSES.has(status) +} + +// The lifecycle actions each settled status permits, from the transition table +// in handlers/rds/status.go. Anything else leaves every action disabled rather +// than offering one the backend would refuse. +export function canStart(status: string | undefined): boolean { + return status === "stopped" +} + +export function canStop(status: string | undefined): boolean { + return status === "available" +} + +export function canReboot(status: string | undefined): boolean { + return status === "available" +} + +export function canDelete(status: string | undefined): boolean { + return status !== undefined && status !== "deleting" && status !== "deleted" +} + +// backing-up is reachable from both settled states and returns to whichever it +// came from, so a stopped instance can be snapshotted as well as a running one. +export function canSnapshot(status: string | undefined): boolean { + return status === "available" || status === "stopped" +} + +// The only two statuses a DB snapshot has, from handlers/rds/records.go. +export const SNAPSHOT_STATUS_CREATING = "creating" + +export const SNAPSHOT_TYPE_MANUAL = "manual" +export const SNAPSHOT_TYPE_AUTOMATED = "automated" + +// Both actions read the snapshot's data, which does not exist until it is +// available: the backend refuses either against one still being taken. +export function canRestoreSnapshot(status: string | undefined): boolean { + return status === "available" +} + +// An automated backup lives in the reserved rds: namespace, which +// DeleteDBSnapshot rejects outright — retention is what removes it. +export function canDeleteSnapshot( + status: string | undefined, + snapshotType: string | undefined, +): boolean { + return status === "available" && snapshotType !== SNAPSHOT_TYPE_AUTOMATED +}