diff --git a/app.html b/app.html
index c0fcbee..8ed6395 100644
--- a/app.html
+++ b/app.html
@@ -9,7 +9,7 @@
-
+
diff --git a/app/index-DWU1TKJG.js b/app/index-NKM1Oxvr.js
similarity index 99%
rename from app/index-DWU1TKJG.js
rename to app/index-NKM1Oxvr.js
index 07552c8..fb29b37 100644
--- a/app/index-DWU1TKJG.js
+++ b/app/index-NKM1Oxvr.js
@@ -45,7 +45,7 @@ Error generating stack: `+s.message+`
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
- */var qa=P;function lP(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var uP=typeof Object.is=="function"?Object.is:lP,cP=qa.useSyncExternalStore,fP=qa.useRef,dP=qa.useEffect,hP=qa.useMemo,pP=qa.useDebugValue;Rx.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var s=fP(null);if(s.current===null){var o={hasValue:!1,value:null};s.current=o}else o=s.current;s=hP(function(){function l(p){if(!u){if(u=!0,c=p,p=r(p),i!==void 0&&o.hasValue){var y=o.value;if(i(y,p))return f=y}return f=p}if(y=f,uP(c,p))return y;var v=r(p);return i!==void 0&&i(y,v)?y:(c=p,f=v)}var u=!1,c,f,d=n===void 0?null:n;return[function(){return l(t())},d===null?void 0:function(){return l(d())}]},[t,n,r,i]);var a=cP(e,s[0],s[1]);return dP(function(){o.hasValue=!0,o.value=a},[a]),pP(a),a};Ax.exports=Rx;var mP=Ax.exports,tn="default"in Gf?tc:Gf,Bg=Symbol.for("react-redux-context"),Ug=typeof globalThis<"u"?globalThis:{};function vP(){if(!tn.createContext)return{};const e=Ug[Bg]??(Ug[Bg]=new Map);let t=e.get(tn.createContext);return t||(t=tn.createContext(null),e.set(tn.createContext,t)),t}var Xr=vP(),gP=()=>{throw new Error("uSES not initialized!")};function vm(e=Xr){return function(){return tn.useContext(e)}}var Px=vm(),Tx=gP,yP=e=>{Tx=e},SP=(e,t)=>e===t;function xP(e=Xr){const t=e===Xr?Px:vm(e),n=(r,i={})=>{const{equalityFn:s=SP,devModeChecks:o={}}=typeof i=="function"?{equalityFn:i}:i,{store:a,subscription:l,getServerState:u,stabilityCheck:c,identityFunctionCheck:f}=t();tn.useRef(!0);const d=tn.useCallback({[r.name](y){return r(y)}}[r.name],[r,c,o.stabilityCheck]),p=Tx(l.addNestedSub,a.getState,u||a.getState,d,s);return tn.useDebugValue(p),p};return Object.assign(n,{withTypes:()=>n}),n}var EP=xP();function Mx(e){e()}function wP(){let e=null,t=null;return{clear(){e=null,t=null},notify(){Mx(()=>{let n=e;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=e;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const i=t={callback:n,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!r||e===null||(r=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var Vg={notify(){},get:()=>[]};function _P(e,t){let n,r=Vg,i=0,s=!1;function o(v){c();const x=r.subscribe(v);let g=!1;return()=>{g||(g=!0,x(),f())}}function a(){r.notify()}function l(){y.onStateChange&&y.onStateChange()}function u(){return s}function c(){i++,n||(n=t?t.addNestedSub(l):e.subscribe(l),r=wP())}function f(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=Vg)}function d(){s||(s=!0,c())}function p(){s&&(s=!1,f())}const y={addNestedSub:o,notifyNestedSubs:a,handleChangeWrapper:l,isSubscribed:u,trySubscribe:d,tryUnsubscribe:p,getListeners:()=>r};return y}var CP=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",AP=CP?tn.useLayoutEffect:tn.useEffect;function jg(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function Ko(e,t){if(jg(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{const u=_P(e);return{store:e,subscription:u,getServerState:r?()=>r:void 0,stabilityCheck:i,identityFunctionCheck:s}},[e,r,i,s]),a=tn.useMemo(()=>e.getState(),[e]);AP(()=>{const{subscription:u}=o;return u.onStateChange=u.notifyNestedSubs,u.trySubscribe(),a!==e.getState()&&u.notifyNestedSubs(),()=>{u.tryUnsubscribe(),u.onStateChange=void 0}},[o,a]);const l=t||Xr;return tn.createElement(l.Provider,{value:o},n)}var PP=RP;function Nx(e=Xr){const t=e===Xr?Px:vm(e),n=()=>{const{store:r}=t();return r};return Object.assign(n,{withTypes:()=>n}),n}var Dx=Nx();function TP(e=Xr){const t=e===Xr?Dx:Nx(e),n=()=>t().dispatch;return Object.assign(n,{withTypes:()=>n}),n}var Ix=TP(),MP=Mx;yP(mP.useSyncExternalStoreWithSelector);function zg(e,t,n,r){const i=P.useMemo(()=>({queryArgs:e,serialized:typeof e=="object"?t({queryArgs:e,endpointDefinition:n,endpointName:r}):e}),[e,t,n,r]),s=P.useRef(i);return P.useEffect(()=>{s.current.serialized!==i.serialized&&(s.current=i)},[i]),s.current.serialized===i.serialized?s.current.queryArgs:e}var yf=Symbol();function Sf(e){const t=P.useRef(e);return P.useEffect(()=>{Ko(t.current,e)||(t.current=e)},[e]),Ko(t.current,e)?t.current:e}var es=WeakMap?new WeakMap:void 0,NP=({endpointName:e,queryArgs:t})=>{let n="";const r=es==null?void 0:es.get(t);if(typeof r=="string")n=r;else{const i=JSON.stringify(t,(s,o)=>Yn(o)?Object.keys(o).sort().reduce((a,l)=>(a[l]=o[l],a),{}):o);Yn(t)&&(es==null||es.set(t,i)),n=i}return`${e}(${n})`},DP=typeof window<"u"&&window.document&&window.document.createElement?P.useLayoutEffect:P.useEffect,IP=e=>e.isUninitialized?{...e,isUninitialized:!1,isFetching:!0,isLoading:e.data===void 0,status:yx.pending}:e;function OP({api:e,moduleOptions:{batch:t,hooks:{useDispatch:n,useSelector:r,useStore:i},unstable__sideEffectsInRender:s,createSelector:o},serializeQueryArgs:a,context:l}){const u=s?y=>y():P.useEffect;return{buildQueryHooks:d,buildMutationHook:p,usePrefetch:f};function c(y,v,x){if(v!=null&&v.endpointName&&y.isUninitialized){const{endpointName:E}=v,_=l.endpointDefinitions[E];a({queryArgs:v.originalArgs,endpointDefinition:_,endpointName:E})===a({queryArgs:x,endpointDefinition:_,endpointName:E})&&(v=void 0)}let g=y.isSuccess?y.data:v==null?void 0:v.data;g===void 0&&(g=y.data);const m=g!==void 0,h=y.isLoading,S=!m&&h,w=y.isSuccess||h&&m;return{...y,data:g,currentData:y.data,isFetching:h,isLoading:S,isSuccess:w}}function f(y,v){const x=n(),g=Sf(v);return P.useCallback((m,h)=>x(e.util.prefetch(y,m,{...g,...h})),[y,x,g])}function d(y){const v=(m,{refetchOnReconnect:h,refetchOnFocus:S,refetchOnMountOrArgChange:w,skip:E=!1,pollingInterval:_=0,skipPollingIfUnfocused:C=!1}={})=>{const{initiate:T}=e.endpoints[y],N=n(),k=P.useRef();if(!k.current){const z=N(e.internalActions.internal_getRTKQSubscriptions());k.current=z}const F=zg(E?wi:m,NP,l.endpointDefinitions[y],y),U=Sf({refetchOnReconnect:h,refetchOnFocus:S,pollingInterval:_,skipPollingIfUnfocused:C}),G=P.useRef(!1),te=P.useRef();let{queryCacheKey:J,requestId:re}=te.current||{},b=!1;J&&re&&(b=k.current.isRequestSubscribed(J,re));const q=!b&&G.current;return u(()=>{G.current=b}),u(()=>{q&&(te.current=void 0)},[q]),u(()=>{var Q;const z=te.current;if(typeof process<"u",F===wi){z==null||z.unsubscribe(),te.current=void 0;return}const Y=(Q=te.current)==null?void 0:Q.subscriptionOptions;if(!z||z.arg!==F){z==null||z.unsubscribe();const _e=N(T(F,{subscriptionOptions:U,forceRefetch:w}));te.current=_e}else U!==Y&&z.updateSubscriptionOptions(U)},[N,T,w,F,U,q]),P.useEffect(()=>()=>{var z;(z=te.current)==null||z.unsubscribe(),te.current=void 0},[]),P.useMemo(()=>({refetch:()=>{var z;if(!te.current)throw new Error(Dt(38));return(z=te.current)==null?void 0:z.refetch()}}),[])},x=({refetchOnReconnect:m,refetchOnFocus:h,pollingInterval:S=0,skipPollingIfUnfocused:w=!1}={})=>{const{initiate:E}=e.endpoints[y],_=n(),[C,T]=P.useState(yf),N=P.useRef(),k=Sf({refetchOnReconnect:m,refetchOnFocus:h,pollingInterval:S,skipPollingIfUnfocused:w});u(()=>{var te,J;const G=(te=N.current)==null?void 0:te.subscriptionOptions;k!==G&&((J=N.current)==null||J.updateSubscriptionOptions(k))},[k]);const F=P.useRef(k);u(()=>{F.current=k},[k]);const U=P.useCallback(function(G,te=!1){let J;return t(()=>{var re;(re=N.current)==null||re.unsubscribe(),N.current=J=_(E(G,{subscriptionOptions:F.current,forceRefetch:!te})),T(G)}),J},[_,E]);return P.useEffect(()=>()=>{var G;(G=N==null?void 0:N.current)==null||G.unsubscribe()},[]),P.useEffect(()=>{C!==yf&&!N.current&&U(C,!0)},[C,U]),P.useMemo(()=>[U,C],[U,C])},g=(m,{skip:h=!1,selectFromResult:S}={})=>{const{select:w}=e.endpoints[y],E=zg(h?wi:m,a,l.endpointDefinitions[y],y),_=P.useRef(),C=P.useMemo(()=>o([w(E),(U,G)=>G,U=>E],c,{memoizeOptions:{resultEqualityCheck:Ko}}),[w,E]),T=P.useMemo(()=>S?o([C],S,{devModeChecks:{identityFunctionCheck:"never"}}):C,[C,S]),N=r(U=>T(U,_.current),Ko),k=i(),F=C(k.getState(),_.current);return DP(()=>{_.current=F},[F]),N};return{useQueryState:g,useQuerySubscription:v,useLazyQuerySubscription:x,useLazyQuery(m){const[h,S]=x(m),w=g(S,{...m,skip:S===yf}),E=P.useMemo(()=>({lastArg:S}),[S]);return P.useMemo(()=>[h,w,E],[h,w,E])},useQuery(m,h){const S=v(m,h),w=g(m,{selectFromResult:m===wi||h!=null&&h.skip?void 0:IP,...h}),{data:E,status:_,isLoading:C,isSuccess:T,isError:N,error:k}=w;return P.useDebugValue({data:E,status:_,isLoading:C,isSuccess:T,isError:N,error:k}),P.useMemo(()=>({...w,...S}),[w,S])}}}function p(y){return({selectFromResult:v,fixedCacheKey:x}={})=>{const{select:g,initiate:m}=e.endpoints[y],h=n(),[S,w]=P.useState();P.useEffect(()=>()=>{S!=null&&S.arg.fixedCacheKey||S==null||S.reset()},[S]);const E=P.useCallback(function(Y){const Q=h(m(Y,{fixedCacheKey:x}));return w(Q),Q},[h,m,x]),{requestId:_}=S||{},C=P.useMemo(()=>g({fixedCacheKey:x,requestId:S==null?void 0:S.requestId}),[x,S,g]),T=P.useMemo(()=>v?o([C],v):C,[v,C]),N=r(T,Ko),k=x==null?S==null?void 0:S.arg.originalArgs:void 0,F=P.useCallback(()=>{t(()=>{S&&w(void 0),x&&h(e.internalActions.removeMutationResult({requestId:_,fixedCacheKey:x}))})},[h,x,S,_]),{endpointName:U,data:G,status:te,isLoading:J,isSuccess:re,isError:b,error:q}=N;P.useDebugValue({endpointName:U,data:G,status:te,isLoading:J,isSuccess:re,isError:b,error:q});const z=P.useMemo(()=>({...N,originalArgs:k,reset:F}),[N,k,F]);return P.useMemo(()=>[E,z],[E,z])}}}function kP(e){return e.type==="query"}function LP(e){return e.type==="mutation"}function xf(e){return e.replace(e[0],e[0].toUpperCase())}function bl(e,...t){return Object.assign(e,...t)}var $P=Symbol(),bP=({batch:e=MP,hooks:t={useDispatch:Ix,useSelector:EP,useStore:Dx},createSelector:n=um,unstable__sideEffectsInRender:r=!1,...i}={})=>({name:$P,init(s,{serializeQueryArgs:o},a){const l=s,{buildQueryHooks:u,buildMutationHook:c,usePrefetch:f}=OP({api:s,moduleOptions:{batch:e,hooks:t,unstable__sideEffectsInRender:r,createSelector:n},serializeQueryArgs:o,context:a});return bl(l,{usePrefetch:f}),bl(a,{batch:e}),{injectEndpoint(d,p){if(kP(p)){const{useQuery:y,useLazyQuery:v,useLazyQuerySubscription:x,useQueryState:g,useQuerySubscription:m}=u(d);bl(l.endpoints[d],{useQuery:y,useLazyQuery:v,useLazyQuerySubscription:x,useQueryState:g,useQuerySubscription:m}),s[`use${xf(d)}Query`]=y,s[`useLazy${xf(d)}Query`]=v}else if(LP(p)){const y=c(d);bl(l.endpoints[d],{useMutation:y}),s[`use${xf(d)}Mutation`]=y}}}}}),FP=qR(aP(),bP());const Ar={purposes:"/solari-astrocraft-data/purposes.json",decorations:"/solari-astrocraft-data/decorations.json",importantFeatures:"/solari-astrocraft-data/important-features.json",baseModels:"/ships/base-models/query-index.json",engines:"/ships/engines/query-index.json",extraFeatures:"/ships/extra-features/query-index.json",shipColors:"/ships/colors/query-index.json",interiorFeatures:"/ships/interior-features/query-index.json"},BP={termsAndConditions:"https://main--eds-solari--netcentric.hlx.live/terms-and-conditions"},UP=["development","production"],VP={development:{envKey:"development",production:!1,eds:"https://main--edge-delivery-solari--netcentric.hlx.live",app:"http://localhost:4200"},production:{envKey:"production",production:!0,eds:"https://main--edge-delivery-solari--netcentric.hlx.live",app:"https://main--edge-delivery-solari--netcentric.hlx.live/app"}},eo=()=>{const e="production",t=UP.includes(e)?e:"production";return VP[t]},ru=FP({reducerPath:"EdsApi",baseQuery:VR({baseUrl:eo().eds,mode:"cors"}),endpoints:e=>({getPurposes:e.query({query:()=>Ar.purposes}),getImportantFeatures:e.query({query:()=>Ar.importantFeatures}),getBaseModels:e.query({query:()=>Ar.baseModels}),getEngines:e.query({query:()=>Ar.engines}),getDecorations:e.query({query:()=>Ar.decorations}),getExtraFeatures:e.query({query:()=>Ar.extraFeatures}),getShipColors:e.query({query:()=>Ar.shipColors}),getInteriorFeatures:e.query({query:()=>Ar.interiorFeatures})})}),{useGetPurposesQuery:jP,useGetImportantFeaturesQuery:zP,useGetBaseModelsQuery:HP,useGetEnginesQuery:WP,useGetDecorationsQuery:ZP,useGetExtraFeaturesQuery:GP,useGetShipColorsQuery:KP,useGetInteriorFeaturesQuery:qP}=ru,YP=eR({reducer:{journey:DR,[ru.reducerPath]:ru.reducer},middleware:e=>e().concat(ru.middleware)});/**
+ */var qa=P;function lP(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var uP=typeof Object.is=="function"?Object.is:lP,cP=qa.useSyncExternalStore,fP=qa.useRef,dP=qa.useEffect,hP=qa.useMemo,pP=qa.useDebugValue;Rx.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var s=fP(null);if(s.current===null){var o={hasValue:!1,value:null};s.current=o}else o=s.current;s=hP(function(){function l(p){if(!u){if(u=!0,c=p,p=r(p),i!==void 0&&o.hasValue){var y=o.value;if(i(y,p))return f=y}return f=p}if(y=f,uP(c,p))return y;var v=r(p);return i!==void 0&&i(y,v)?y:(c=p,f=v)}var u=!1,c,f,d=n===void 0?null:n;return[function(){return l(t())},d===null?void 0:function(){return l(d())}]},[t,n,r,i]);var a=cP(e,s[0],s[1]);return dP(function(){o.hasValue=!0,o.value=a},[a]),pP(a),a};Ax.exports=Rx;var mP=Ax.exports,tn="default"in Gf?tc:Gf,Bg=Symbol.for("react-redux-context"),Ug=typeof globalThis<"u"?globalThis:{};function vP(){if(!tn.createContext)return{};const e=Ug[Bg]??(Ug[Bg]=new Map);let t=e.get(tn.createContext);return t||(t=tn.createContext(null),e.set(tn.createContext,t)),t}var Xr=vP(),gP=()=>{throw new Error("uSES not initialized!")};function vm(e=Xr){return function(){return tn.useContext(e)}}var Px=vm(),Tx=gP,yP=e=>{Tx=e},SP=(e,t)=>e===t;function xP(e=Xr){const t=e===Xr?Px:vm(e),n=(r,i={})=>{const{equalityFn:s=SP,devModeChecks:o={}}=typeof i=="function"?{equalityFn:i}:i,{store:a,subscription:l,getServerState:u,stabilityCheck:c,identityFunctionCheck:f}=t();tn.useRef(!0);const d=tn.useCallback({[r.name](y){return r(y)}}[r.name],[r,c,o.stabilityCheck]),p=Tx(l.addNestedSub,a.getState,u||a.getState,d,s);return tn.useDebugValue(p),p};return Object.assign(n,{withTypes:()=>n}),n}var EP=xP();function Mx(e){e()}function wP(){let e=null,t=null;return{clear(){e=null,t=null},notify(){Mx(()=>{let n=e;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=e;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const i=t={callback:n,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!r||e===null||(r=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var Vg={notify(){},get:()=>[]};function _P(e,t){let n,r=Vg,i=0,s=!1;function o(v){c();const x=r.subscribe(v);let g=!1;return()=>{g||(g=!0,x(),f())}}function a(){r.notify()}function l(){y.onStateChange&&y.onStateChange()}function u(){return s}function c(){i++,n||(n=t?t.addNestedSub(l):e.subscribe(l),r=wP())}function f(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=Vg)}function d(){s||(s=!0,c())}function p(){s&&(s=!1,f())}const y={addNestedSub:o,notifyNestedSubs:a,handleChangeWrapper:l,isSubscribed:u,trySubscribe:d,tryUnsubscribe:p,getListeners:()=>r};return y}var CP=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",AP=CP?tn.useLayoutEffect:tn.useEffect;function jg(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function Ko(e,t){if(jg(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{const u=_P(e);return{store:e,subscription:u,getServerState:r?()=>r:void 0,stabilityCheck:i,identityFunctionCheck:s}},[e,r,i,s]),a=tn.useMemo(()=>e.getState(),[e]);AP(()=>{const{subscription:u}=o;return u.onStateChange=u.notifyNestedSubs,u.trySubscribe(),a!==e.getState()&&u.notifyNestedSubs(),()=>{u.tryUnsubscribe(),u.onStateChange=void 0}},[o,a]);const l=t||Xr;return tn.createElement(l.Provider,{value:o},n)}var PP=RP;function Nx(e=Xr){const t=e===Xr?Px:vm(e),n=()=>{const{store:r}=t();return r};return Object.assign(n,{withTypes:()=>n}),n}var Dx=Nx();function TP(e=Xr){const t=e===Xr?Dx:Nx(e),n=()=>t().dispatch;return Object.assign(n,{withTypes:()=>n}),n}var Ix=TP(),MP=Mx;yP(mP.useSyncExternalStoreWithSelector);function zg(e,t,n,r){const i=P.useMemo(()=>({queryArgs:e,serialized:typeof e=="object"?t({queryArgs:e,endpointDefinition:n,endpointName:r}):e}),[e,t,n,r]),s=P.useRef(i);return P.useEffect(()=>{s.current.serialized!==i.serialized&&(s.current=i)},[i]),s.current.serialized===i.serialized?s.current.queryArgs:e}var yf=Symbol();function Sf(e){const t=P.useRef(e);return P.useEffect(()=>{Ko(t.current,e)||(t.current=e)},[e]),Ko(t.current,e)?t.current:e}var es=WeakMap?new WeakMap:void 0,NP=({endpointName:e,queryArgs:t})=>{let n="";const r=es==null?void 0:es.get(t);if(typeof r=="string")n=r;else{const i=JSON.stringify(t,(s,o)=>Yn(o)?Object.keys(o).sort().reduce((a,l)=>(a[l]=o[l],a),{}):o);Yn(t)&&(es==null||es.set(t,i)),n=i}return`${e}(${n})`},DP=typeof window<"u"&&window.document&&window.document.createElement?P.useLayoutEffect:P.useEffect,IP=e=>e.isUninitialized?{...e,isUninitialized:!1,isFetching:!0,isLoading:e.data===void 0,status:yx.pending}:e;function OP({api:e,moduleOptions:{batch:t,hooks:{useDispatch:n,useSelector:r,useStore:i},unstable__sideEffectsInRender:s,createSelector:o},serializeQueryArgs:a,context:l}){const u=s?y=>y():P.useEffect;return{buildQueryHooks:d,buildMutationHook:p,usePrefetch:f};function c(y,v,x){if(v!=null&&v.endpointName&&y.isUninitialized){const{endpointName:E}=v,_=l.endpointDefinitions[E];a({queryArgs:v.originalArgs,endpointDefinition:_,endpointName:E})===a({queryArgs:x,endpointDefinition:_,endpointName:E})&&(v=void 0)}let g=y.isSuccess?y.data:v==null?void 0:v.data;g===void 0&&(g=y.data);const m=g!==void 0,h=y.isLoading,S=!m&&h,w=y.isSuccess||h&&m;return{...y,data:g,currentData:y.data,isFetching:h,isLoading:S,isSuccess:w}}function f(y,v){const x=n(),g=Sf(v);return P.useCallback((m,h)=>x(e.util.prefetch(y,m,{...g,...h})),[y,x,g])}function d(y){const v=(m,{refetchOnReconnect:h,refetchOnFocus:S,refetchOnMountOrArgChange:w,skip:E=!1,pollingInterval:_=0,skipPollingIfUnfocused:C=!1}={})=>{const{initiate:T}=e.endpoints[y],N=n(),k=P.useRef();if(!k.current){const z=N(e.internalActions.internal_getRTKQSubscriptions());k.current=z}const F=zg(E?wi:m,NP,l.endpointDefinitions[y],y),U=Sf({refetchOnReconnect:h,refetchOnFocus:S,pollingInterval:_,skipPollingIfUnfocused:C}),G=P.useRef(!1),te=P.useRef();let{queryCacheKey:J,requestId:re}=te.current||{},b=!1;J&&re&&(b=k.current.isRequestSubscribed(J,re));const q=!b&&G.current;return u(()=>{G.current=b}),u(()=>{q&&(te.current=void 0)},[q]),u(()=>{var Q;const z=te.current;if(typeof process<"u",F===wi){z==null||z.unsubscribe(),te.current=void 0;return}const Y=(Q=te.current)==null?void 0:Q.subscriptionOptions;if(!z||z.arg!==F){z==null||z.unsubscribe();const _e=N(T(F,{subscriptionOptions:U,forceRefetch:w}));te.current=_e}else U!==Y&&z.updateSubscriptionOptions(U)},[N,T,w,F,U,q]),P.useEffect(()=>()=>{var z;(z=te.current)==null||z.unsubscribe(),te.current=void 0},[]),P.useMemo(()=>({refetch:()=>{var z;if(!te.current)throw new Error(Dt(38));return(z=te.current)==null?void 0:z.refetch()}}),[])},x=({refetchOnReconnect:m,refetchOnFocus:h,pollingInterval:S=0,skipPollingIfUnfocused:w=!1}={})=>{const{initiate:E}=e.endpoints[y],_=n(),[C,T]=P.useState(yf),N=P.useRef(),k=Sf({refetchOnReconnect:m,refetchOnFocus:h,pollingInterval:S,skipPollingIfUnfocused:w});u(()=>{var te,J;const G=(te=N.current)==null?void 0:te.subscriptionOptions;k!==G&&((J=N.current)==null||J.updateSubscriptionOptions(k))},[k]);const F=P.useRef(k);u(()=>{F.current=k},[k]);const U=P.useCallback(function(G,te=!1){let J;return t(()=>{var re;(re=N.current)==null||re.unsubscribe(),N.current=J=_(E(G,{subscriptionOptions:F.current,forceRefetch:!te})),T(G)}),J},[_,E]);return P.useEffect(()=>()=>{var G;(G=N==null?void 0:N.current)==null||G.unsubscribe()},[]),P.useEffect(()=>{C!==yf&&!N.current&&U(C,!0)},[C,U]),P.useMemo(()=>[U,C],[U,C])},g=(m,{skip:h=!1,selectFromResult:S}={})=>{const{select:w}=e.endpoints[y],E=zg(h?wi:m,a,l.endpointDefinitions[y],y),_=P.useRef(),C=P.useMemo(()=>o([w(E),(U,G)=>G,U=>E],c,{memoizeOptions:{resultEqualityCheck:Ko}}),[w,E]),T=P.useMemo(()=>S?o([C],S,{devModeChecks:{identityFunctionCheck:"never"}}):C,[C,S]),N=r(U=>T(U,_.current),Ko),k=i(),F=C(k.getState(),_.current);return DP(()=>{_.current=F},[F]),N};return{useQueryState:g,useQuerySubscription:v,useLazyQuerySubscription:x,useLazyQuery(m){const[h,S]=x(m),w=g(S,{...m,skip:S===yf}),E=P.useMemo(()=>({lastArg:S}),[S]);return P.useMemo(()=>[h,w,E],[h,w,E])},useQuery(m,h){const S=v(m,h),w=g(m,{selectFromResult:m===wi||h!=null&&h.skip?void 0:IP,...h}),{data:E,status:_,isLoading:C,isSuccess:T,isError:N,error:k}=w;return P.useDebugValue({data:E,status:_,isLoading:C,isSuccess:T,isError:N,error:k}),P.useMemo(()=>({...w,...S}),[w,S])}}}function p(y){return({selectFromResult:v,fixedCacheKey:x}={})=>{const{select:g,initiate:m}=e.endpoints[y],h=n(),[S,w]=P.useState();P.useEffect(()=>()=>{S!=null&&S.arg.fixedCacheKey||S==null||S.reset()},[S]);const E=P.useCallback(function(Y){const Q=h(m(Y,{fixedCacheKey:x}));return w(Q),Q},[h,m,x]),{requestId:_}=S||{},C=P.useMemo(()=>g({fixedCacheKey:x,requestId:S==null?void 0:S.requestId}),[x,S,g]),T=P.useMemo(()=>v?o([C],v):C,[v,C]),N=r(T,Ko),k=x==null?S==null?void 0:S.arg.originalArgs:void 0,F=P.useCallback(()=>{t(()=>{S&&w(void 0),x&&h(e.internalActions.removeMutationResult({requestId:_,fixedCacheKey:x}))})},[h,x,S,_]),{endpointName:U,data:G,status:te,isLoading:J,isSuccess:re,isError:b,error:q}=N;P.useDebugValue({endpointName:U,data:G,status:te,isLoading:J,isSuccess:re,isError:b,error:q});const z=P.useMemo(()=>({...N,originalArgs:k,reset:F}),[N,k,F]);return P.useMemo(()=>[E,z],[E,z])}}}function kP(e){return e.type==="query"}function LP(e){return e.type==="mutation"}function xf(e){return e.replace(e[0],e[0].toUpperCase())}function bl(e,...t){return Object.assign(e,...t)}var $P=Symbol(),bP=({batch:e=MP,hooks:t={useDispatch:Ix,useSelector:EP,useStore:Dx},createSelector:n=um,unstable__sideEffectsInRender:r=!1,...i}={})=>({name:$P,init(s,{serializeQueryArgs:o},a){const l=s,{buildQueryHooks:u,buildMutationHook:c,usePrefetch:f}=OP({api:s,moduleOptions:{batch:e,hooks:t,unstable__sideEffectsInRender:r,createSelector:n},serializeQueryArgs:o,context:a});return bl(l,{usePrefetch:f}),bl(a,{batch:e}),{injectEndpoint(d,p){if(kP(p)){const{useQuery:y,useLazyQuery:v,useLazyQuerySubscription:x,useQueryState:g,useQuerySubscription:m}=u(d);bl(l.endpoints[d],{useQuery:y,useLazyQuery:v,useLazyQuerySubscription:x,useQueryState:g,useQuerySubscription:m}),s[`use${xf(d)}Query`]=y,s[`useLazy${xf(d)}Query`]=v}else if(LP(p)){const y=c(d);bl(l.endpoints[d],{useMutation:y}),s[`use${xf(d)}Mutation`]=y}}}}}),FP=qR(aP(),bP());const Ar={purposes:"/app-data/purposes.json",decorations:"/app-data/decorations.json",importantFeatures:"/app-data/important-features.json",baseModels:"/ships-temporary/base-models/query-index.json",engines:"/ships-temporary/engines/query-index.json",extraFeatures:"/ships-temporary/extra-features/query-index.json",shipColors:"/ships-temporary/colors/query-index.json",interiorFeatures:"/ships-temporary/interior-features/query-index.json"},BP={termsAndConditions:"https://main--eds-solari--netcentric.hlx.live/terms-and-conditions"},UP=["development","production"],VP={development:{envKey:"development",production:!1,eds:"https://main--edge-delivery-solari--netcentric.hlx.live",app:"http://localhost:4200"},production:{envKey:"production",production:!0,eds:"https://main--edge-delivery-solari--netcentric.hlx.live",app:"https://main--edge-delivery-solari--netcentric.hlx.live/app"}},eo=()=>{const e="production",t=UP.includes(e)?e:"production";return VP[t]},ru=FP({reducerPath:"EdsApi",baseQuery:VR({baseUrl:eo().eds,mode:"cors"}),endpoints:e=>({getPurposes:e.query({query:()=>Ar.purposes}),getImportantFeatures:e.query({query:()=>Ar.importantFeatures}),getBaseModels:e.query({query:()=>Ar.baseModels}),getEngines:e.query({query:()=>Ar.engines}),getDecorations:e.query({query:()=>Ar.decorations}),getExtraFeatures:e.query({query:()=>Ar.extraFeatures}),getShipColors:e.query({query:()=>Ar.shipColors}),getInteriorFeatures:e.query({query:()=>Ar.interiorFeatures})})}),{useGetPurposesQuery:jP,useGetImportantFeaturesQuery:zP,useGetBaseModelsQuery:HP,useGetEnginesQuery:WP,useGetDecorationsQuery:ZP,useGetExtraFeaturesQuery:GP,useGetShipColorsQuery:KP,useGetInteriorFeaturesQuery:qP}=ru,YP=eR({reducer:{journey:DR,[ru.reducerPath]:ru.reducer},middleware:e=>e().concat(ru.middleware)});/**
* @remix-run/router v1.15.0
*
* Copyright (c) Remix Software Inc.