1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,28298,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useRouterBFCache",{enumerable:!0,get:function(){return n}});let a=e.r(71645);function n(e,t,r){let[n,o]=(0,a.useState)(()=>({tree:e,cacheNode:t,stateKey:r,next:null}));if(n.tree===e)return n;let l={tree:e,cacheNode:t,stateKey:r,next:null},u=1,i=n,s=l;for(;null!==i&&u<1;){if(i.stateKey===r){s.next=i.next;break}{u++;let e={tree:i.tree,cacheNode:i.cacheNode,stateKey:i.stateKey,next:null};s.next=e,s=e}i=i.next}return o(l),l}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},47257,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ClientPageRoot",{enumerable:!0,get:function(){return s}});let a=e.r(43476),n=e.r(8372),o=e.r(71645),l=e.r(33906),u=e.r(61994),i=e.r(42903);function s({Component:e,serverProvidedParams:t}){let r,c;if(null!==t)r=t.searchParams,c=t.params;else{let e=(0,o.use)(n.LayoutRouterContext);c=null!==e?e.parentParams:{},r=(0,l.urlSearchParamsToParsedUrlQuery)((0,o.use)(u.SearchParamsContext))}let d=(0,i.createClientSearchParams)(r),f=(0,i.createClientParams)(c);return(0,a.jsx)(e,{params:f,searchParams:d})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},92825,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ClientSegmentRoot",{enumerable:!0,get:function(){return u}});let a=e.r(43476),n=e.r(8372),o=e.r(71645),l=e.r(42903);function u({Component:e,slots:t,serverProvidedParams:r}){let i;if(null!==r)i=r.params;else{let e=(0,o.use)(n.LayoutRouterContext);i=null!==e?e.parentParams:{}}let s=(0,l.createClientParams)(i);return(0,a.jsx)(e,{...t,params:s})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},68017,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HTTPAccessFallbackBoundary",{enumerable:!0,get:function(){return c}});let a=e.r(90809),n=e.r(43476),o=a._(e.r(71645)),l=e.r(90373),u=e.r(54394),i=e.r(8372);class s extends o.default.Component{constructor(e){super(e),this.state={triggeredStatus:void 0,previousPathname:e.pathname}}componentDidCatch(){}static getDerivedStateFromError(e){if((0,u.isHTTPAccessFallbackError)(e))return{triggeredStatus:(0,u.getAccessFallbackHTTPStatus)(e)};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.triggeredStatus?{triggeredStatus:void 0,previousPathname:e.pathname}:{triggeredStatus:t.triggeredStatus,previousPathname:e.pathname}}render(){let{notFound:e,forbidden:t,unauthorized:r,children:a}=this.props,{triggeredStatus:o}=this.state,l={[u.HTTPAccessErrorStatus.NOT_FOUND]:e,[u.HTTPAccessErrorStatus.FORBIDDEN]:t,[u.HTTPAccessErrorStatus.UNAUTHORIZED]:r};if(o){let i=o===u.HTTPAccessErrorStatus.NOT_FOUND&&e,s=o===u.HTTPAccessErrorStatus.FORBIDDEN&&t,c=o===u.HTTPAccessErrorStatus.UNAUTHORIZED&&r;return i||s||c?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("meta",{name:"robots",content:"noindex"}),!1,l[o]]}):a}return a}}function c({notFound:e,forbidden:t,unauthorized:r,children:a}){let u=(0,l.useUntrackedPathname)(),d=(0,o.useContext)(i.MissingSlotContext);return e||t||r?(0,n.jsx)(s,{pathname:u,notFound:e,forbidden:t,unauthorized:r,missingSlots:d,children:a}):(0,n.jsx)(n.Fragment,{children:a})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},22976,(e,t,r)=>{"use strict";
1Object.defineProperty(r,"__esModule",{value:!0});var a={InstantValidationBoundaryContext:function(){return o},PlaceValidationBoundaryBelowThisLevel:function(){return l},RenderValidationBoundaryAtThisLevel:function(){return u},SlotMarker:function(){return i}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let o=null,l=null,u=null,i=null;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},77694,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={InstantValidationBoundaryContext:function(){return o.InstantValidationBoundaryContext},PlaceValidationBoundaryBelowThisLevel:function(){return o.PlaceValidationBoundaryBelowThisLevel},RenderValidationBoundaryAtThisLevel:function(){return o.RenderValidationBoundaryAtThisLevel},SlotMarker:function(){return o.SlotMarker}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let o=e.r(22976);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},39756,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var a={LoadingBoundaryProvider:function(){return C},default:function(){return w}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let o=e.r(55682),l=e.r(90809),u=e.r(43476),i=l._(e.r(71645)),s=o._(e.r(74080)),c=e.r(8372),d=e.r(1244),f=e.r(72383),m=e.r(91915),p=e.r(58442),h=e.r(68017);e.r(77694);let g=e.r(70725),y=e.r(28298);e.r(74180);let b=e.r(61994),v=e.r(33906),_=e.r(95871);s.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function T(e,t,r){let a=e.getClientRects();if(0===a.length)return 0;let n=1/0;for(let e=0;e<a.length;e++){let t=a[e];t.top<n&&(n=t.top)}return n>=r()&&n<=t?1:2}i.default.Component;let x=function(e){let t=i.default.useRef(null);return(0,i.useLayoutEffect)(()=>{let{focusAndScrollRef:r,cacheNode:a}=e,n=r.forceScroll?r.scrollRef:a.scrollRef;if(null===n||!n.current)return;let o=null,l=r.hashFragment;if(l){var u;if(null===(o="top"===(u=l)?document.body:document.getElementById(u)??document.getElementsByName(u)[0]??null)){n.current=!1,r.onlyHashChange=!1,r.hashFragment=null;return}}else o=t.current;if(null===o)return;let i=!1;(0,m.disableSmoothScrollDuringRouteTransition)(()=>{let e=document.documentElement,t=null,r=null,a=null,u=()=>{var r,n;let o,l;return null===a&&(r=e,n=t,a=!Number.isFinite(l=Number.parseFloat(o=getComputedStyle(r).scrollPaddingTop))||l<0?0:o.endsWith("px")?l:o.endsWith("%")?l/100*n:0),a};(l||(t=e.clientHeight,0!==(r=T(o,t,u))))&&((i=!0,n.current=!1,l)?o.scrollIntoView():1!==r&&(e.scrollTop=0,2===T(o,t,u)&&o.scrollIntoView()))},{dontForceLayout:!0,onlyHashChange:r.onlyHashChange}),i&&(r.onlyHashChange=!1,r.hashFragment=null)},void 0),(0,u.jsx)(i.Fragment,{ref:t,children:e.children})};function P({children:e,cacheNode:t}){let r=(0,i.useContext)(c.GlobalLayoutRouterContext);if(!r)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});return(0,u.jsx)(x,{focusAndScrollRef:r.focusAndScrollRef,cacheNode:t,children:e})}function j({tree:e,segmentPath:t,debugNameContext:r,cacheNode:a,params:n,url:o,isActive:l}){let s,f=(0,i.useContext)(c.GlobalLayoutRouterContext);if((0,i.useContext)(b.NavigationPromisesContext),!f)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});let m=null!==a?a:(0,i.use)(d.unresolvedThenable),p=null!==m.prefetchRsc?m.prefetchRsc:m.rsc,h=(0,i.useDeferredValue)(m.rsc,p);if((0,_.isDeferredRsc)(h)){let e=(0,i.use)(h);null===e&&(0,i.use)(d.unresolvedThenable),s=e}else null===h&&(0,i.use)(d.unresolvedThenable),s=h;let g=s;return(0,u.jsx)(c.LayoutRouterContext.Provider,{value:{parentTree:e,parentCacheNode:m,parentSegmentPath:t,parentParam
1s:n,parentLoadingData:null,debugNameContext:r,url:o,isActive:l},children:g})}function C({loading:e,children:t}){let r=(0,i.use)(c.LayoutRouterContext);return null===r?t:(0,u.jsx)(c.LayoutRouterContext.Provider,{value:{parentTree:r.parentTree,parentCacheNode:r.parentCacheNode,parentSegmentPath:r.parentSegmentPath,parentParams:r.parentParams,parentLoadingData:e,debugNameContext:r.debugNameContext,url:r.url,isActive:r.isActive},children:t})}function O({name:e,loading:t,children:r}){if(null!==t){let a=t[0],n=t[1],o=t[2];return(0,u.jsx)(i.Suspense,{name:e,fallback:(0,u.jsxs)(u.Fragment,{children:[n,o,a]}),children:r})}return(0,u.jsx)(u.Fragment,{children:r})}function w({parallelRouterKey:e,error:t,errorStyles:r,errorScripts:a,templateStyles:n,templateScripts:o,template:l,notFound:s,forbidden:m,unauthorized:b,segmentViewBoundaries:_}){let T=(0,i.useContext)(c.LayoutRouterContext);if(!T)throw Object.defineProperty(Error("invariant expected layout router to be mounted"),"__NEXT_ERROR_CODE",{value:"E56",enumerable:!1,configurable:!0});let{parentTree:x,parentCacheNode:C,parentSegmentPath:S,parentParams:M,parentLoadingData:R,url:D,isActive:E,debugNameContext:N}=T,F=x[0],A=null===S?[e]:S.concat([F,e]),I=x[1][e],L=C.slots;(void 0===I||null===L)&&(0,i.use)(d.unresolvedThenable);let B=I[0],H=L[e]??null,k=(0,g.createRouterCacheKey)(B,!0),U=(0,y.useRouterBFCache)(I,H,k),z=[];do{let e=U.tree,i=U.cacheNode,d=U.stateKey,g=e[0],y=M;if(Array.isArray(g)){let e=g[0],t=g[1],r=g[2],a=(0,v.getParamValueFromCacheKey)(t,r);null!==a&&(y={...M,[e]:a})}let _=function(e){if("/"===e)return"/";if("string"==typeof e)if("(__SLOT__)"===e)return;else return e+"/";return e[1]+"/"}(g),T=_??N,x=void 0===_?void 0:N,C=(0,u.jsxs)(P,{cacheNode:i,children:[(0,u.jsx)(f.ErrorBoundary,{errorComponent:t,errorStyles:r,errorScripts:a,children:(0,u.jsx)(O,{name:x,loading:R,children:(0,u.jsx)(h.HTTPAccessFallbackBoundary,{notFound:s,forbidden:m,unauthorized:b,children:(0,u.jsxs)(p.RedirectBoundary,{children:[(0,u.jsx)(j,{url:D,tree:e,params:y,cacheNode:i,segmentPath:A,debugNameContext:T,isActive:E&&d===k}),null]})})})}),null]}),w=(0,u.jsxs)(c.TemplateContext.Provider,{value:C,children:[n,o,l]},d);z.push(w),U=U.next}while(null!==U)return z}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},37457,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return u}});let a=e.r(90809),n=e.r(43476),o=a._(e.r(71645)),l=e.r(8372);function u(){let e=(0,o.useContext)(l.TemplateContext);return(0,n.jsx)(n.Fragment,{children:e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},6831,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderParamsFromClient",{enumerable:!0,get:function(){return n}});let a=new WeakMap;function n(e){let t=a.get(e);if(t)return t;let r=Promise.resolve(e);return a.set(e,r),r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},97689,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderParamsFromClient",{enumerable:!0,get:function(){return a}});let a=e.r(6831).createRenderParamsFromClient;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},93504,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return n}});let a=new WeakMap;function n(e){let t=a.get(e);if(t)return t;let r=Promise.resolve(e);return a.set(e,r),r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esMo
1dule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},66996,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return a}});let a=e.r(93504).createRenderSearchParamsFromClient;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},42903,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={createClientParams:function(){return o.createRenderParamsFromClient},createClientSearchParams:function(){return l.createRenderSearchParamsFromClient}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let o=e.r(97689),l=e.r(66996);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},27201,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"IconMark",{enumerable:!0,get:function(){return n}});let a=e.r(43476),n=()=>"u">typeof window?null:(0,a.jsx)("meta",{name:"«nxt-icon»"})},91915,(e,t,r)=>{"use strict";function a(e,t={}){if(t.onlyHashChange)return void e();let r=document.documentElement;if("smooth"!==r.dataset.scrollBehavior)return void e();let n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"disableSmoothScrollDuringRouteTransition",{enumerable:!0,get:function(){return a}})},48391,e=>{"use strict";var t=e.i(43476),r=e.i(71645);let a=(0,r.createContext)({realtimeData:{bz:0,bt:0,kpi:0,solarWind:200,solarDensity:0,date:new Date().getTime()},forecastData:null});e.s(["AuroraContext",0,a,"AuroraContextProvider",0,({children:e})=>{let[n,o]=(0,r.useState)({bz:0,bt:0,kpi:0,solarWind:0,solarDensity:0,date:new Date().getTime()}),[l,u]=(0,r.useState)(null);(0,r.useEffect)(()=>{(async()=>{let e=await fetch("/api/forecast");if(200===e.status){let t=await e.json();u({clouds:t.clouds,satellite:t.satellite,aurora:t.aurora,kpi:t.kpi,solarwind:t.solarwind,kpiLongterm:t.kpiLongterm,satellite2:t.satellite2})}})()},[]);let i=(0,r.useMemo)(()=>({realtimeData:n,forecastData:l}),[n,l]);return(0,t.jsx)(a.Provider,{value:i,children:e})},"useAuroraContext",0,()=>(0,r.useContext)(a)])},16107,e=>{"use strict";var t=e.i(43476),r=e.i(71645);async function a(){let e=`https://services.swpc.noaa.gov/json/ovation_aurora_latest.json?d=${new Date().getTime()}`,t=await fetch(e);return await t.json()}let n=(0,r.createContext)(void 0);e.s(["AuroraHemiProvider",0,({children:e})=>{let[o,l]=(0,r.useState)([]),[u,i]=(0,r.useState)(null),s=(0,r.useCallback)(async()=>{let e=await a();l(e.coordinates.filter(e=>e[2]>1)),i({"Observation Time":e["Observation Time"],"Forecast Time":e["Forecast Time"]})},[]),c=(0,r.useMemo)(()=>({coordinates:o,meta:u,fetchData:s}),[o,u,s]);return(0,t.jsx)(n.Provider,{value:c,children:e})},"fetchAuroraData",0,a,"useAuroraHemi",0,()=>{let e=(0,r.useContext)(n);if(!e)throw Error("useAuroraHemi must be used within an AuroraHemiProvider");return e}])},91149,e=>{"use strict";var t=e.i(43476),r=e.i(71645);let a={lat:64.1336,lng:-21.8934,country:"Iceland",countryCode:"IS",city:"Reykjavik",zip:"111",region:"1",regi
1onName:"Capital Region"},n="user-location-cache",o=(0,r.createContext)({currentLocation:a,setCurrentLocation:()=>{},isLoading:!0});e.s(["LocationContext",0,o,"LocationContextProvider",0,({children:e})=>{let[l,u]=(0,r.useState)(a),[i,s]=(0,r.useState)(!0);(0,r.useEffect)(()=>{(async()=>{try{let e=localStorage.getItem(n);if(e){let t=JSON.parse(e);if(Date.now()-t.timestamp<6e5){u(t.location),s(!1);return}}let t=await fetch("https://ipapi.co/json/");if(!t.ok)return void console.warn("Location lookup failed:",t.status);let r=await t.json();if(r.error)console.warn("ipapi.co query failed:",r.reason);else{let e={lat:r.latitude,lng:r.longitude,country:r.country_name,countryCode:r.country_code,city:r.city,zip:r.postal,region:r.region_code,regionName:r.region};u(e);let t={location:e,timestamp:Date.now()};localStorage.setItem(n,JSON.stringify(t))}}catch(e){console.error("Error fetching location:",e)}finally{s(!1)}})()},[]);let c=(0,r.useMemo)(()=>({currentLocation:l,setCurrentLocation:u,isLoading:i}),[l,i]);return(0,t.jsx)(o.Provider,{value:c,children:e})},"useLocationContext",0,()=>(0,r.useContext)(o)])},87540,e=>{"use strict";var t=e.i(43476),r=e.i(71645);let a=(0,r.createContext)({showMenu:!1,setShowMenu:()=>{},isFullscreen:!1,setIsFullscreen:()=>{}});e.s(["MapContext",0,a,"MapContextProvider",0,({children:e})=>{let[n,o]=(0,r.useState)(!1),[l,u]=(0,r.useState)(!1),i=(0,r.useMemo)(()=>({showMenu:n,setShowMenu:o,isFullscreen:l,setIsFullscreen:u}),[n,o,l,u]);return(0,t.jsx)(a,{value:i,children:e})},"useMapControls",0,()=>(0,r.useContext)(a)])},61465,e=>{"use strict";var t=e.i(43476),r=e.i(71645);let a=(0,r.createContext)({isMenuOpen:!1,setIsMenuOpen:()=>{}});e.s(["MenuContext",0,a,"MenuContextProvider",0,({children:e})=>{let[n,o]=(0,r.useState)(!1),l=(0,r.useMemo)(()=>({isMenuOpen:n,setIsMenuOpen:o}),[n,o]);return(0,t.jsx)(a.Provider,{value:l,children:e})},"useMenuContext",0,()=>(0,r.useContext)(a)])},31797,e=>{"use strict";var t=e.i(43476);e.i(6175);var r=e.i(94174),a=e.i(71645);let n=async e=>JSON.parse((await e.text()).replace(/-?\b(?:NaN|Infinity)\b/g,"null"));function o(e,t){let a=[],n={},o=new Date,l=new Date(o.getTime()-18e5),u=new Date(o.getTime()+72e5),i=null,s=null,c=!0,d=t.map(e=>{let[t,,,r,,,a]=e;return{time:new Date(`${t}Z`),bz:Number(r),bt:Number(a)}}),f=d[d.length-1];for(let t of e){let[e,a,o,f,m]=t;if(c||null==o){c=!1;continue}let p=new Date(`${e}Z`),h=Number(o),g=Number(f),y=Number(a),b=(Number(m)||15e5)/h,v=new Date(p.getTime()+1e3*b),_=(0,r.formatInTimeZone)(v,"UTC","dd:HH:mm"),T=d.find(e=>e.time.getTime()===p.getTime()),x=T?.bz||0,P=T?.bt||0;if(v>=l&&v<=u){let e={arrivalTime:v,observedTime:p,speed:h,bt:P,bz:x,density:y,temperature:g};null==i&&(i=v),s=v,n[_]?(h>n[_].speed&&(n[_].speed=h),y>n[_].density&&(n[_].density=y),g>n[_].temperature&&(n[_].temperature=g),(0===n[_].bz||x<n[_].bz)&&(n[_].bz=x),(0===n[_].bt||P>n[_].bt)&&(n[_].bt=P)):n[_]=e}}if(i&&s){let e=new Date(i.getTime()),t=null;for(;e.getTime()<=s.getTime();){let a=(0,r.formatInTimeZone)(e,"UTC","dd:HH:mm");n[a]||null==t?t={...n[a]}:(t.speed,n[a]={arrivalTime:e,observedTime:t?t.observedTime:new Date(e.getTime()),speed:t?t.speed:0,bz:t?t.bz:0,bt:t?t.bt:0,density:t?t.density:0,temperature:t?t.temperature:0}),t=n[a],e=new Date(e.getTime()+6e4)}}for(let e in n)a.push(n[e]);a.sort((e,t)=>e.arrivalTime.getTime()-t.arrivalTime.getTime());let m=0;if(a.length>0){let e=a.reduce((e,t)=>Math.abs(t.arrivalTime.getTime()-o.getTime())<Math.abs(e.arrivalTime.getTime()-o.getTime())?t:e);m=a.findIndex(t=>t.arrivalTime===e.arrivalTime)}return{plotData:a,closestEarthTimeIndex:m,latestItem:f}}let l=(0,a.createContext)({realtimeData:[],leirvogurData:[],hemisphereData:[],dstData:[],closestEarthIndex:0,latestItem:{time:new Date}});e.s(["RealtimeContext",0,l,"RealtimeContextProvider",0,({children:e})=>{let[u,i]=(0,a.useState)([]),[s,c]=(0,a.useState)(0),[d,f]=(0,a.useState)(null),[m,p]=(0,a.useState)([]),[h,g]=(0,a.useState)([]),[y,b]=(0,a.useState)([]);(0,a.useEffect)(()=>{let e,t=()=>{let e=[],t=[];(async()=>{try{let r={};try{let e=await fetch("https://services.swpc.noaa.gov/json/rtsw/rtsw_ephemerides_1h.json",{cache:"no-cache",method:"GET"});for(let t of(await n(e)))null==t.x_gse||t.source in r||(r[t.source]=Math.abs(t.x_gse))}catch(e){console.log("Error fetching ephemerides data, falling back to fixed distance",e)}let a=await fetch("https://services.swpc.noaa.gov/json/rtsw/rtsw_wind_1m.json",{cache:"no-cache",method:"GET"}),l=await n(a),u=new Set;if((e=l.filter(e=>{if(null==e.proton_speed)return!1;let t=`${e.time_tag.slice(0,16)}:00`;return!u.has(t)&&(u.add(t),!0)}).map(e=>{let t=r[e.source];return[`${e.time_tag.slice(0,16)}:00`,String(e.proton_density),String(e.proton_speed),String(e.proton_temperature),t?Str
1ing(t):""]}).sort((e,t)=>e[0]<t[0]?-1:+(e[0]>t[0]))).length>0&&t.length>0){let r=o(e,t);i(r.plotData),c(r.closestEarthTimeIndex),f(r.latestItem)}}catch(e){console.log("Error fetching solar data",e)}})(),(async()=>{try{let r=await fetch("https://services.swpc.noaa.gov/json/rtsw/rtsw_mag_1m.json",{cache:"no-cache",method:"GET"}),a=await n(r),l=new Set;if(t=a.filter(e=>{if(null==e.bz_gsm||null==e.bt)return!1;let t=`${e.time_tag.slice(0,16)}:00`;return!l.has(t)&&(l.add(t),!0)}).map(e=>[`${e.time_tag.slice(0,16)}:00`,String(e.bx_gsm),String(e.by_gsm),String(e.bz_gsm),"","",String(e.bt)]).sort((e,t)=>e[0]<t[0]?-1:+(e[0]>t[0])),e.length>0&&t.length>0){let r=o(e,t);i(r.plotData),c(r.closestEarthTimeIndex),f(r.latestItem)}}catch(e){console.log("Error fetching magnetic data",e)}})(),(async()=>{try{let e=await fetch("https://services.swpc.noaa.gov/text/aurora-nowcast-hemi-power.txt",{cache:"no-cache",method:"GET"}),t=await e.text(),a=function(e){let t=e.split("\n"),a=[],n=new Date(new Date().getTime()-36e5);for(let e of t){if(!e.trim()||e.startsWith("#"))continue;let t=e.trim().split(/\s+/).filter(e=>e.length>0);if(t.length>=4){let[e,r,o]=t,l=new Date(`${e.replace("_","T")}Z`),u=new Date(`${r.replace("_","T")}Z`),i=Number(o);isNaN(i)||isNaN(l.getTime())||isNaN(u.getTime())||!(u>=n)||a.push({observationTime:l,forecastTime:u,northPower:i})}}a.sort((e,t)=>e.forecastTime.getTime()-t.forecastTime.getTime());let o=[],l={};for(let e of a){let t=new Date(e.forecastTime.getTime()),a=5*Math.floor(t.getMinutes()/5);t.setMinutes(a,0,0);let n=(0,r.formatInTimeZone)(t,"UTC","yyyy-MM-dd_HH:mm");l[n]||(l[n]=[]),l[n].push(e)}for(let[e,t]of Object.entries(l))if(t.length>0){let r=t.reduce((e,t)=>t.northPower>e.northPower?t:e),a=new Date(`${e.replace("_","T")}Z`);o.push({observationTime:r.observationTime,forecastTime:a,northPower:r.northPower})}return o.sort((e,t)=>e.forecastTime.getTime()-t.forecastTime.getTime()),o}(t);g(a)}catch(e){console.log("Error fetching hemisphere data",e)}})(),(async()=>{try{let e=await fetch("/api/leirvogur",{method:"GET"}),t=await e.json();p(t)}catch(e){console.log("Error fetching leirvogur data",e)}})(),(async()=>{try{let e=await fetch("/api/dst",{method:"GET"}),t=await e.json();t.data&&Array.isArray(t.data)?b(t.data):(console.warn("DST data is invalid or empty, setting empty array"),b([]))}catch(e){console.log("Error fetching DST data",e),b([])}})()};return t(),e=setInterval(()=>{t()},6e5),()=>{e&&clearInterval(e)}},[]);let v=(0,a.useMemo)(()=>({realtimeData:u,closestEarthIndex:s,latestItem:d,leirvogurData:m,hemisphereData:h,dstData:y}),[u,s,d,m,h,y]);return(0,t.jsx)(l.Provider,{value:v,children:e})},"useRealtimeContext",0,()=>(0,a.useContext)(l)],31797)},32557,e=>{"use strict";var t=e.i(43476),r=e.i(71645);let a=(0,r.createContext)({currentTime:new Date,setCurrentTime:()=>{}});e.s(["TimeContext",0,a,"TimeContextProvider",0,({children:e})=>{let[n,o]=(0,r.useState)(new Date),l=(0,r.useMemo)(()=>({currentTime:n,setCurrentTime:o}),[n]);return(0,t.jsx)(a,{value:l,children:e})},"useTimeContext",0,()=>(0,r.useContext)(a)])}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.