import{p as Ae,a8 as $e,a9 as He,R as Pe,aa as Re,ab as Be,Q as T,ac as je,m as M,ad as Ge,ae as Ue,E as xe,D as oe,P as Qe,af as Ve,u as $,ag as Xe,a4 as ze,ah as se,g as Me,a3 as Je,o as ne,d as ae,i as Ce,w as ie,a as N,t as te,a7 as Ke,b as Ze,r as Te,_ as Oe,K as R,W as et,ai as tt,k as nt,aj as ce}from"./F4mCmN5V.js";import{u as at}from"./aNasIbik.js";import{u as Y,a as L}from"./CklmMKNQ.js";import{u as B}from"./BJhyvbvB.js";import{t as x,c as O,a as rt,b as Se,m as We,d as Ne,u as ot}from"./CQX2x_cu.js";import{w as k}from"./BWFx8sgc.js";const st={trailing:!0};function it(e,t=25,n={}){if(n={...st,...n},!Number.isFinite(t))throw new TypeError("Expected `wait` to be a finite number");let a,r,i=[],o,s;const d=(u,y)=>(o=ct(e,u,y),o.finally(()=>{if(o=null,n.trailing&&s&&!r){const g=d(u,s);return s=null,g}}),o),l=function(...u){return n.trailing&&(s=u),o||new Promise(y=>{const g=!r&&n.leading;clearTimeout(r),r=setTimeout(()=>{r=null;const f=n.leading?a:d(this,u);s=null;for(const p of i)p(f);i=[]},t),g?(a=d(this,u),y(a)):i.push(y)})},c=u=>{u&&(clearTimeout(u),r=null)};return l.isPending=()=>!!r,l.cancel=()=>{c(r),i=[],s=null},l.flush=()=>{if(c(r),!s||o)return;const u=s;return s=null,d(this,u)},l}async function ct(e,t,n){return await e.apply(t,n)}function j(...e){const t=typeof e[e.length-1]=="string"?e.pop():void 0;ut(e[0],e[1])&&e.unshift(t);let[n,a,r={}]=e,i=!1;const o=M(()=>ze(n));if(typeof o.value!="string")throw new TypeError("[nuxt] [useAsyncData] key must be a string.");if(typeof a!="function")throw new TypeError("[nuxt] [useAsyncData] handler must be a function.");const s=Ae();r.server??=!0,r.default??=dt,r.getCachedData??=ke,r.lazy??=!1,r.immediate??=!0,r.deep??=$e.deep,r.dedupe??="cancel",r._functionName,s._asyncData[o.value];function d(){const f={cause:"initial",dedupe:r.dedupe};return s._asyncData[o.value]?._init||(f.cachedData=r.getCachedData(o.value,s,{cause:"initial"}),s._asyncData[o.value]=ue(s,o.value,a,r,f.cachedData)),()=>s._asyncData[o.value].execute(f)}const l=d(),c=s._asyncData[o.value];c._deps++;const u=r.server!==!1&&s.payload.serverRendered;{let f=function(h){const P=s._asyncData[h];P?._deps&&(P._deps--,P._deps===0&&P?._off())};const p=Ge();if(p&&u&&r.immediate&&!p.sp&&(p.sp=[]),p&&!p._nuxtOnBeforeMountCbs){p._nuxtOnBeforeMountCbs=[];const h=p._nuxtOnBeforeMountCbs;He(()=>{h.forEach(P=>{P()}),h.splice(0,h.length)}),Pe(()=>h.splice(0,h.length))}const v=p&&(p._nuxtClientOnly||Re(Be,!1));u&&s.isHydrating&&(c.error.value||c.data.value!==void 0)?c.status.value=c.error.value?"error":"success":p&&(!v&&s.payload.serverRendered&&s.isHydrating||r.lazy)&&r.immediate?p._nuxtOnBeforeMountCbs.push(l):r.immediate&&c.status.value!=="success"&&l();const w=Ue(),b=T(o,(h,P)=>{if((h||P)&&h!==P){i=!0;const _=s._asyncData[P]?.data.value!==void 0,S=s._asyncDataPromises[P]!==void 0,re={cause:"initial",dedupe:r.dedupe};if(!s._asyncData[h]?._init){let G;P&&_?G=s._asyncData[P].data.value:(G=r.getCachedData(h,s,{cause:"initial"}),re.cachedData=G),s._asyncData[h]=ue(s,h,a,r,G)}s._asyncData[h]._deps++,P&&f(P),(r.immediate||_||S)&&s._asyncData[h].execute(re),se(()=>{i=!1})}},{flush:"sync"}),m=r.watch?T(r.watch,()=>{i||(s._asyncData[o.value]?._execute.isPending()&&se(()=>{s._asyncData[o.value]?._execute.flush()}),s._asyncData[o.value]?._execute({cause:"watch",dedupe:r.dedupe}))}):()=>{};w&&je(()=>{b(),m(),f(o.value)})}const y={data:U(()=>s._asyncData[o.value]?.data),pending:U(()=>s._asyncData[o.value]?.pending),status:U(()=>s._asyncData[o.value]?.status),error:U(()=>s._asyncData[o.value]?.error),refresh:(...f)=>s._asyncData[o.value]?._init?s._asyncData[o.value].execute(...f):d()(),execute:(...f)=>y.refresh(...f),clear:()=>{const f=s._asyncData[o.value];if(f?._abortController)try{f._abortController.abort(new DOMException("AsyncData aborted by user.","AbortError"))}finally{f._abortController=void 0}Ee(s,o.value)}},g=Promise.resolve(s._asyncDataPromises[o.value]).then(()=>y);return Object.assign(g,y),g}function U(e){return M({get(){return e()?.value},set(t){const n=e();n&&(n.value=t)}})}function ut(e,t){return!(typeof e=="string"||typeof e=="object"&&e!==null||typeof e=="function"&&typeof t=="function")}function Ee(e,t){t in e.payload.data&&(e.payload.data[t]=void 0),t in e.payload._errors&&(e.payload._errors[t]=void 0),e._asyncData[t]&&(e._asyncData[t].data.value=$(e._asyncData[t]._default()),e._asyncData[t].error.value=void 0,e._asyncData[t].status.value="idle"),t in e._asyncDataPromises&&(e._asyncDataPromises[t]=void 0)}function lt(e,t){const n={};for(const a of t)n[a]=e[a];return n}function ue(e,t,n,a,r){e.payload._errors[t]??=void 0;const i=a.getCachedData!==ke,o=n,s=a.deep?xe:oe,d=r!==void 0,l=e.hook("app:data:refresh",async u=>{(!u||u.includes(t))&&await c.execute({cause:"refresh:hook"})}),c={data:s(d?r:a.default()),pending:M(()=>c.status.value==="pending"),error:Xe(e.payload._errors,t),status:oe("idle"),execute:(...u)=>{const[y,g=void 0]=u,f=y&&g===void 0&&typeof y=="object"?y:{};if(e._asyncDataPromises[t]&&(f.dedupe??a.dedupe)==="defer")return e._asyncDataPromises[t];{const w="cachedData"in f?f.cachedData:a.getCachedData(t,e,{cause:f.cause??"refresh:manual"});if(w!==void 0)return e.payload.data[t]=c.data.value=w,c.error.value=void 0,c.status.value="success",Promise.resolve(w)}c._abortController&&c._abortController.abort(new DOMException("AsyncData request cancelled by deduplication","AbortError")),c._abortController=new AbortController,c.status.value="pending";const p=new AbortController,v=new Promise((w,b)=>{try{const m=f.timeout??a.timeout,h=ft([c._abortController?.signal,f?.signal],p.signal,m);if(h.aborted){const P=h.reason;b(P instanceof Error?P:new DOMException(String(P??"Aborted"),"AbortError"));return}return h.addEventListener("abort",()=>{const P=h.reason;b(P instanceof Error?P:new DOMException(String(P??"Aborted"),"AbortError"))},{once:!0,signal:p.signal}),Promise.resolve(o(e,{signal:h})).then(w,b)}catch(m){b(m)}}).then(async w=>{let b=w;a.transform&&(b=await a.transform(w)),a.pick&&(b=lt(b,a.pick)),e.payload.data[t]=b,c.data.value=b,c.error.value=void 0,c.status.value="success"}).catch(w=>{if(e._asyncDataPromises[t]&&e._asyncDataPromises[t]!==v||c._abortController?.signal.aborted)return e._asyncDataPromises[t];if(typeof DOMException{p.abort(),delete e._asyncDataPromises[t]});return e._asyncDataPromises[t]=v,e._asyncDataPromises[t]},_execute:it((...u)=>c.execute(...u),0,{leading:!0}),_default:a.default,_deps:0,_init:!0,_hash:void 0,_off:()=>{l(),e._asyncData[t]?._init&&(e._asyncData[t]._init=!1),i||Qe(()=>{e._asyncData[t]?._init||(Ee(e,t),c.execute=()=>Promise.resolve())})}};return c}const dt=()=>{},ke=(e,t,n)=>{if(t.isHydrating)return t.payload.data[e];if(n.cause!=="refresh:manual"&&n.cause!=="refresh:hook")return t.static.data[e]};function ft(e,t,n){const a=e.filter(o=>!!o);if(typeof n=="number"&&n>=0){const o=AbortSignal.timeout?.(n);o&&a.push(o)}if(AbortSignal.any)return AbortSignal.any(a);const r=new AbortController;for(const o of a)if(o.aborted){const s=o.reason??new DOMException("Aborted","AbortError");try{r.abort(s)}catch{r.abort()}return r.signal}const i=()=>{const s=a.find(d=>d.aborted)?.reason??new DOMException("Aborted","AbortError");try{r.abort(s)}catch{r.abort()}};for(const o of a)o.addEventListener?.("abort",i,{once:!0,signal:t});return r.signal}function mt(){const{language:e}=Y(),{units:t}=B(),n={temperature:{e:"fahrenheit",m:"celsius"},wind:{e:"mile-per-hour",m:"kilometer-per-hour"},distance:{e:"mile",m:"kilometer"},height:{e:"foot",m:"meter"}};function a(m){return new Intl.NumberFormat(e.value,{style:"unit",unit:n.temperature[t.value],maximumFractionDigits:0}).format(m)}function r(m){return`${Math.round(m)}°`}function i(m){return new Intl.NumberFormat(e.value,{style:"unit",unit:n.wind[t.value],maximumFractionDigits:0}).format(m)}function o(m){return new Intl.NumberFormat(e.value,{style:"unit",unit:n.distance[t.value],maximumFractionDigits:1}).format(m)}function s(m,h="Unlimited"){return m===null?h:new Intl.NumberFormat(e.value,{style:"unit",unit:n.height[t.value],maximumFractionDigits:0}).format(m)}function d(m){return t.value==="e"?`${m.toFixed(2)} in.`:`${m.toFixed(0)} mb.`}function l(m){return m==="Rising"?"↑":m==="Falling"?"↓":""}function c(m){return t.value==="e"?`${m} in.`:`${m} mm.`}function u(m){if(!m)return"";const h=new Date(m);return new Intl.DateTimeFormat(e.value,{weekday:"long"}).format(h)}function y(m){if(!m)return"";const h=new Date(m);return new Intl.DateTimeFormat(e.value,{weekday:"short"}).format(h)}function g(m){if(!m)return"";const h=new Date(m);return new Intl.DateTimeFormat(e.value,{month:"short",day:"numeric"}).format(h)}function f(m){if(!m)return"";const h=m.match(/T(\d{2}):(\d{2})/);if(!h)return"";const P=parseInt(h[1],10),_=parseInt(h[2],10),S=new Date;return S.setHours(P,_,0,0),new Intl.DateTimeFormat(e.value,{hour:"numeric",minute:"2-digit"}).format(S)}function p(m){return new Intl.DateTimeFormat(e.value,{timeStyle:"medium"}).format(m)}function v(m){return new Intl.DateTimeFormat(e.value,{weekday:"short",month:"short",day:"numeric"}).format(m).replace(/,/g,"").toUpperCase()}function w(m){return new Intl.DateTimeFormat(e.value,{month:"long"}).format(m)}function b(m){return`⁦${String(m)}⁩`}return{formatTemperature:a,formatDegrees:r,formatWind:i,formatVisibility:o,formatCeiling:s,formatPressure:d,formatPressureTrend:l,formatPrecipitation:c,formatDayName:u,formatDayNameShort:y,formatShortDate:g,formatTime:f,formatClockTime:p,formatClockDate:v,formatMonthName:w,bidiIsolate:b}}const ht={class:"font-medium font-stretch-semi-expanded me-3 md:me-[1vw] text-[0.75em] text-end uppercase"},gt=Me({__name:"Clock",setup(e){const{isLive:t,isPaused:n}=at(),{formatClockTime:a,formatClockDate:r}=mt(),i=xe(new Date),o=M(()=>a(i.value)),s=M(()=>r(i.value));let d=null;T(t,u=>{u?l():c()}),T(n,u=>{u?c():t.value&&l()});function l(){d||(i.value=new Date,d=Je(()=>{i.value=new Date},1e3))}function c(){d&&(clearInterval(d),d=null)}return Pe(()=>{c()}),(u,y)=>{const g=Ke;return ne(),ae("div",ht,[Ce(g,null,{fallback:ie(()=>[...y[0]||(y[0]=[N("div",null," ",-1),N("div",null," ",-1)])]),default:ie(()=>[N("div",null,te($(o)),1),N("div",null,te($(s)),1)]),_:1})])}}}),yt=Object.assign(gt,{__name:"Clock"}),wt={class:"h-[clamp(3rem,18vw,5rem)] md:h-full grid items-end"},pt={class:"header-gradient flex gap-3.5 md:gap-[2.5vw] h-2/3 items-center justify-between px-6 md:px-screen relative"},vt={class:"aspect-466/367 h-full relative"},bt=["src"],Dt={class:"flex-1 leading-[1.25em] text-twc-yellow [word-spacing:100vw] line-clamp-2"},_t=Me({__name:"Header",props:{title:{}},setup(e){return(t,n)=>{const a=yt;return ne(),ae("header",wt,[N("div",pt,[N("div",vt,[N("img",{class:"absolute drop-shadow-[0.2em_0.2em_0_black] rtl:drop-shadow-[-0.2em_0.2em_0_black] h-full scale-110 w-full z-10",src:("assetUrl"in t?t.assetUrl:$(Ze))("/images/the-weather-channel.png"),alt:"The Weather Channel"},null,8,bt)]),N("h1",Dt,te(e.title),1),Te(t.$slots,"info",{},()=>[Ce(a)],!0)])])}}}),pa=Object.assign(Oe(_t,[["__scopeId","data-v-12a5edb8"]]),{__name:"Header"});function le(e,t,n){const a=x(e,n?.in);return isNaN(t)?O(e,NaN):(t&&a.setDate(a.getDate()+t),a)}let Pt={};function J(){return Pt}function H(e,t){const n=J(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=x(e,t?.in),i=r.getDay(),o=(i=i.getTime()?a+1:n.getTime()>=s.getTime()?a:a-1}function de(e){const t=x(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function xt(e,...t){const n=O.bind(null,t.find(a=>typeof a=="object"));return t.map(n)}function fe(e,t){const n=x(e,t?.in);return n.setHours(0,0,0,0),n}function Mt(e,t,n){const[a,r]=xt(n?.in,e,t),i=fe(a),o=fe(r),s=+i-de(i),d=+o-de(o);return Math.round((s-d)/rt)}function Ct(e,t){const n=Fe(e,t),a=O(e,0);return a.setFullYear(n,0,4),a.setHours(0,0,0,0),z(a)}function Tt(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function Ot(e){return!(!Tt(e)&&typeof e!="number"||isNaN(+x(e)))}function St(e,t){const n=x(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function Wt(e,t){const n=x(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}const Nt={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},Et=(e,t,n)=>{let a;const r=Nt[e];return typeof r=="string"?a=r:t===1?a=r.one:a=r.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a};function K(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const kt={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Ft={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Yt={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Lt={date:K({formats:kt,defaultWidth:"full"}),time:K({formats:Ft,defaultWidth:"full"}),dateTime:K({formats:Yt,defaultWidth:"full"})},It={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},qt=(e,t,n,a)=>It[e];function I(e){return(t,n)=>{const a=n?.context?String(n.context):"standalone";let r;if(a==="formatting"&&e.formattingValues){const o=e.defaultFormattingWidth||e.defaultWidth,s=n?.width?String(n.width):o;r=e.formattingValues[s]||e.formattingValues[o]}else{const o=e.defaultWidth,s=n?.width?String(n.width):e.defaultWidth;r=e.values[s]||e.values[o]}const i=e.argumentCallback?e.argumentCallback(t):t;return r[i]}}const At={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},$t={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Ht={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},Rt={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Bt={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},jt={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Gt=(e,t)=>{const n=Number(e),a=n%100;if(a>20||ae-1}),month:I({values:Ht,defaultWidth:"wide"}),day:I({values:Rt,defaultWidth:"wide"}),dayPeriod:I({values:Bt,defaultWidth:"wide",formattingValues:jt,defaultFormattingWidth:"wide"})};function q(e){return(t,n={})=>{const a=n.width,r=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],i=t.match(r);if(!i)return null;const o=i[0],s=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],d=Array.isArray(s)?Vt(s,u=>u.test(o)):Qt(s,u=>u.test(o));let l;l=e.valueCallback?e.valueCallback(d):d,l=n.valueCallback?n.valueCallback(l):l;const c=t.slice(o.length);return{value:l,rest:c}}}function Qt(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Vt(e,t){for(let n=0;n{const a=t.match(e.matchPattern);if(!a)return null;const r=a[0],i=t.match(e.parsePattern);if(!i)return null;let o=e.valueCallback?e.valueCallback(i[0]):i[0];o=n.valueCallback?n.valueCallback(o):o;const s=t.slice(r.length);return{value:o,rest:s}}}const zt=/^(\d+)(th|st|nd|rd)?/i,Jt=/\d+/i,Kt={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Zt={any:[/^b/i,/^(a|c)/i]},en={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},tn={any:[/1/i,/2/i,/3/i,/4/i]},nn={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},an={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},rn={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},on={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},sn={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},cn={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},un={ordinalNumber:Xt({matchPattern:zt,parsePattern:Jt,valueCallback:e=>parseInt(e,10)}),era:q({matchPatterns:Kt,defaultMatchWidth:"wide",parsePatterns:Zt,defaultParseWidth:"any"}),quarter:q({matchPatterns:en,defaultMatchWidth:"wide",parsePatterns:tn,defaultParseWidth:"any",valueCallback:e=>e+1}),month:q({matchPatterns:nn,defaultMatchWidth:"wide",parsePatterns:an,defaultParseWidth:"any"}),day:q({matchPatterns:rn,defaultMatchWidth:"wide",parsePatterns:on,defaultParseWidth:"any"}),dayPeriod:q({matchPatterns:sn,defaultMatchWidth:"any",parsePatterns:cn,defaultParseWidth:"any"})},ln={code:"en-US",formatDistance:Et,formatLong:Lt,formatRelative:qt,localize:Ut,match:un,options:{weekStartsOn:0,firstWeekContainsDate:1}};function dn(e,t){const n=x(e,t?.in);return Mt(n,Wt(n))+1}function fn(e,t){const n=x(e,t?.in),a=+z(n)-+Ct(n);return Math.round(a/Se)+1}function Ye(e,t){const n=x(e,t?.in),a=n.getFullYear(),r=J(),i=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=O(t?.in||e,0);o.setFullYear(a+1,0,i),o.setHours(0,0,0,0);const s=H(o,t),d=O(t?.in||e,0);d.setFullYear(a,0,i),d.setHours(0,0,0,0);const l=H(d,t);return+n>=+s?a+1:+n>=+l?a:a-1}function mn(e,t){const n=J(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,r=Ye(e,t),i=O(t?.in||e,0);return i.setFullYear(r,0,a),i.setHours(0,0,0,0),H(i,t)}function hn(e,t){const n=x(e,t?.in),a=+H(n,t)-+mn(n,t);return Math.round(a/Se)+1}function D(e,t){const n=e0?n:1-n;return D(t==="yy"?a%100:a,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):D(n+1,2)},d(e,t){return D(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return n==="am"?"a.m.":"p.m."}},h(e,t){return D(e.getHours()%12||12,t.length)},H(e,t){return D(e.getHours(),t.length)},m(e,t){return D(e.getMinutes(),t.length)},s(e,t){return D(e.getSeconds(),t.length)},S(e,t){const n=t.length,a=e.getMilliseconds(),r=Math.trunc(a*Math.pow(10,n-3));return D(r,t.length)}},F={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},me={G:function(e,t,n){const a=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(a,{width:"abbreviated"});case"GGGGG":return n.era(a,{width:"narrow"});default:return n.era(a,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const a=e.getFullYear(),r=a>0?a:1-a;return n.ordinalNumber(r,{unit:"year"})}return W.y(e,t)},Y:function(e,t,n,a){const r=Ye(e,a),i=r>0?r:1-r;if(t==="YY"){const o=i%100;return D(o,2)}return t==="Yo"?n.ordinalNumber(i,{unit:"year"}):D(i,t.length)},R:function(e,t){const n=Fe(e);return D(n,t.length)},u:function(e,t){const n=e.getFullYear();return D(n,t.length)},Q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(a);case"QQ":return D(a,2);case"Qo":return n.ordinalNumber(a,{unit:"quarter"});case"QQQ":return n.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(a,{width:"narrow",context:"formatting"});default:return n.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(a);case"qq":return D(a,2);case"qo":return n.ordinalNumber(a,{unit:"quarter"});case"qqq":return n.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(a,{width:"narrow",context:"standalone"});default:return n.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,t,n){const a=e.getMonth();switch(t){case"M":case"MM":return W.M(e,t);case"Mo":return n.ordinalNumber(a+1,{unit:"month"});case"MMM":return n.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(a,{width:"narrow",context:"formatting"});default:return n.month(a,{width:"wide",context:"formatting"})}},L:function(e,t,n){const a=e.getMonth();switch(t){case"L":return String(a+1);case"LL":return D(a+1,2);case"Lo":return n.ordinalNumber(a+1,{unit:"month"});case"LLL":return n.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(a,{width:"narrow",context:"standalone"});default:return n.month(a,{width:"wide",context:"standalone"})}},w:function(e,t,n,a){const r=hn(e,a);return t==="wo"?n.ordinalNumber(r,{unit:"week"}):D(r,t.length)},I:function(e,t,n){const a=fn(e);return t==="Io"?n.ordinalNumber(a,{unit:"week"}):D(a,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):W.d(e,t)},D:function(e,t,n){const a=dn(e);return t==="Do"?n.ordinalNumber(a,{unit:"dayOfYear"}):D(a,t.length)},E:function(e,t,n){const a=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},e:function(e,t,n,a){const r=e.getDay(),i=(r-a.weekStartsOn+8)%7||7;switch(t){case"e":return String(i);case"ee":return D(i,2);case"eo":return n.ordinalNumber(i,{unit:"day"});case"eee":return n.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},c:function(e,t,n,a){const r=e.getDay(),i=(r-a.weekStartsOn+8)%7||7;switch(t){case"c":return String(i);case"cc":return D(i,t.length);case"co":return n.ordinalNumber(i,{unit:"day"});case"ccc":return n.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(r,{width:"narrow",context:"standalone"});case"cccccc":return n.day(r,{width:"short",context:"standalone"});default:return n.day(r,{width:"wide",context:"standalone"})}},i:function(e,t,n){const a=e.getDay(),r=a===0?7:a;switch(t){case"i":return String(r);case"ii":return D(r,t.length);case"io":return n.ordinalNumber(r,{unit:"day"});case"iii":return n.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},a:function(e,t,n){const r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){const a=e.getHours();let r;switch(a===12?r=F.noon:a===0?r=F.midnight:r=a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){const a=e.getHours();let r;switch(a>=17?r=F.evening:a>=12?r=F.afternoon:a>=4?r=F.morning:r=F.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let a=e.getHours()%12;return a===0&&(a=12),n.ordinalNumber(a,{unit:"hour"})}return W.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):W.H(e,t)},K:function(e,t,n){const a=e.getHours()%12;return t==="Ko"?n.ordinalNumber(a,{unit:"hour"}):D(a,t.length)},k:function(e,t,n){let a=e.getHours();return a===0&&(a=24),t==="ko"?n.ordinalNumber(a,{unit:"hour"}):D(a,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):W.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):W.s(e,t)},S:function(e,t){return W.S(e,t)},X:function(e,t,n){const a=e.getTimezoneOffset();if(a===0)return"Z";switch(t){case"X":return ge(a);case"XXXX":case"XX":return E(a);default:return E(a,":")}},x:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"x":return ge(a);case"xxxx":case"xx":return E(a);default:return E(a,":")}},O:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+he(a,":");default:return"GMT"+E(a,":")}},z:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+he(a,":");default:return"GMT"+E(a,":")}},t:function(e,t,n){const a=Math.trunc(+e/1e3);return D(a,t.length)},T:function(e,t,n){return D(+e,t.length)}};function he(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Math.trunc(a/60),i=a%60;return i===0?n+String(r):n+String(r)+t+D(i,2)}function ge(e,t){return e%60===0?(e>0?"-":"+")+D(Math.abs(e)/60,2):E(e,t)}function E(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=D(Math.trunc(a/60),2),i=D(a%60,2);return n+r+t+i}const ye=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},Le=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},gn=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],a=n[1],r=n[2];if(!r)return ye(e,t);let i;switch(a){case"P":i=t.dateTime({width:"short"});break;case"PP":i=t.dateTime({width:"medium"});break;case"PPP":i=t.dateTime({width:"long"});break;default:i=t.dateTime({width:"full"});break}return i.replace("{{date}}",ye(a,t)).replace("{{time}}",Le(r,t))},yn={p:Le,P:gn},wn=/^D+$/,pn=/^Y+$/,vn=["D","DD","YY","YYYY"];function bn(e){return wn.test(e)}function Dn(e){return pn.test(e)}function _n(e,t,n){const a=Pn(e,t,n);if(console.warn(a),vn.includes(e))throw new RangeError(a)}function Pn(e,t,n){const a=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const xn=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Mn=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Cn=/^'([^]*?)'?$/,Tn=/''/g,On=/[a-zA-Z]/;function Z(e,t,n){const a=J(),r=a.locale??ln,i=a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,o=a.weekStartsOn??a.locale?.options?.weekStartsOn??0,s=x(e,n?.in);if(!Ot(s))throw new RangeError("Invalid time value");let d=t.match(Mn).map(c=>{const u=c[0];if(u==="p"||u==="P"){const y=yn[u];return y(c,r.formatLong)}return c}).join("").match(xn).map(c=>{if(c==="''")return{isToken:!1,value:"'"};const u=c[0];if(u==="'")return{isToken:!1,value:Sn(c)};if(me[u])return{isToken:!0,value:c};if(u.match(On))throw new RangeError("Format string contains an unescaped latin alphabet character `"+u+"`");return{isToken:!1,value:c}});r.localize.preprocessor&&(d=r.localize.preprocessor(s,d));const l={firstWeekContainsDate:i,weekStartsOn:o,locale:r};return d.map(c=>{if(!c.isToken)return c.value;const u=c.value;(Dn(u)||bn(u))&&_n(u,t,String(e));const y=me[u[0]];return y(s,u,r.localize,l)}).join("")}function Sn(e){const t=e.match(Cn);return t?t[1].replace(Tn,"'"):e}function Wn(e,t){const n=()=>O(t?.in,NaN),r=Fn(e);let i;if(r.date){const l=Yn(r.date,2);i=Ln(l.restDateString,l.year)}if(!i||isNaN(+i))return n();const o=+i;let s=0,d;if(r.time&&(s=In(r.time),isNaN(s)))return n();if(r.timezone){if(d=qn(r.timezone),isNaN(d))return n()}else{const l=new Date(o+s),c=x(0,t?.in);return c.setFullYear(l.getUTCFullYear(),l.getUTCMonth(),l.getUTCDate()),c.setHours(l.getUTCHours(),l.getUTCMinutes(),l.getUTCSeconds(),l.getUTCMilliseconds()),c}return x(o+s+d,t?.in)}const Q={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},Nn=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,En=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,kn=/^([+-])(\d{2})(?::?(\d{2}))?$/;function Fn(e){const t={},n=e.split(Q.dateTimeDelimiter);let a;if(n.length>2)return t;if(/:/.test(n[0])?a=n[0]:(t.date=n[0],a=n[1],Q.timeZoneDelimiter.test(t.date)&&(t.date=e.split(Q.timeZoneDelimiter)[0],a=e.substr(t.date.length,e.length))),a){const r=Q.timezone.exec(a);r?(t.time=a.replace(r[1],""),t.timezone=r[1]):t.time=a}return t}function Yn(e,t){const n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),a=e.match(n);if(!a)return{year:NaN,restDateString:""};const r=a[1]?parseInt(a[1]):null,i=a[2]?parseInt(a[2]):null;return{year:i===null?r:i*100,restDateString:e.slice((a[1]||a[2]).length)}}function Ln(e,t){if(t===null)return new Date(NaN);const n=e.match(Nn);if(!n)return new Date(NaN);const a=!!n[4],r=A(n[1]),i=A(n[2])-1,o=A(n[3]),s=A(n[4]),d=A(n[5])-1;if(a)return Bn(t,s,d)?An(t,s,d):new Date(NaN);{const l=new Date(0);return!Hn(t,i,o)||!Rn(t,r)?new Date(NaN):(l.setUTCFullYear(t,i,Math.max(r,o)),l)}}function A(e){return e?parseInt(e):1}function In(e){const t=e.match(En);if(!t)return NaN;const n=ee(t[1]),a=ee(t[2]),r=ee(t[3]);return jn(n,a,r)?n*We+a*Ne+r*1e3:NaN}function ee(e){return e&&parseFloat(e.replace(",","."))||0}function qn(e){if(e==="Z")return 0;const t=e.match(kn);if(!t)return 0;const n=t[1]==="+"?-1:1,a=parseInt(t[2]),r=t[3]&&parseInt(t[3])||0;return Gn(a,r)?n*(a*We+r*Ne):NaN}function An(e,t,n){const a=new Date(0);a.setUTCFullYear(e,0,4);const r=a.getUTCDay()||7,i=(t-1)*7+n+1-r;return a.setUTCDate(a.getUTCDate()+i),a}const $n=[31,null,31,30,31,30,31,31,30,31,30,31];function Ie(e){return e%400===0||e%4===0&&e%100!==0}function Hn(e,t,n){return t>=0&&t=1&&n=1&&t=1&&t=0&&n=0&&n=0&&t=0&&e=0&&te.value?.geocode??"29.95,-90.07");async function i(l){const[c,u]=await Promise.all([k("current",`${we}/v3/wx/observations/current`,{query:{geocode:l,apiKey:a,format:"json",language:n.value,units:t.value}}),k("historical",`${we}/v3/wx/conditions/historical/dailysummary/30day`,{query:{geocode:l,apiKey:a,format:"json",language:n.value,units:t.value}})]),y=St(new Date),g=u.validTimeLocal.reduce((f,p,v)=>Wn(p)>=y?f+(u.precip24Hour[v]??0):f,0);return{temperature:c.temperature,temperatureFeelsLike:c.temperatureFeelsLike,temperatureHeatIndex:c.temperatureHeatIndex,conditionShort:c.wxPhraseShort,conditionMedium:c.wxPhraseMedium,conditionLong:c.wxPhraseLong,iconCode:c.iconCode,windDirection:c.windDirectionCardinal,windSpeed:c.windSpeed,humidity:c.relativeHumidity,dewpoint:c.temperatureDewPoint,ceiling:c.cloudCeiling,visibility:c.visibility,pressure:c.pressureAltimeter,pressureTrend:c.pressureTendencyTrend,monthlyPrecipitation:Math.round(g*100)/100}}const{data:o,status:s,refresh:d}=j("weather:current",()=>i(r.value),{watch:[r,t,n]});return{current:o,status:s,refresh:d}}const Qn="https://api.weather.com";function Vn(){const{storedLocation:e}=L(),{units:t}=B(),{language:n}=Y(),{public:{weatherApiKey:a}}=R(),r=M(()=>e.value?.geocode??"29.95,-90.07");async function i(l){const c=await k("forecast",`${Qn}/v3/wx/forecast/daily/5day`,{query:{geocode:l,apiKey:a,format:"json",language:n.value,units:t.value}}),u=c.daypart[0],y=[];for(let f=0;fi(r.value),{watch:[r,t,n]});return{forecast:o,status:s,refresh:d}}function Xn(e,t){const n=t.split("-")[0]??"";return e.t&&e.t[n]||e.n}var C=63710088e-1,zn={centimeters:C*100,centimetres:C*100,degrees:360/(2*Math.PI),feet:C*3.28084,inches:C*39.37,kilometers:C/1e3,kilometres:C/1e3,meters:C,metres:C,miles:C/1609.344,millimeters:C*1e3,millimetres:C*1e3,nauticalmiles:C/1852,radians:1,yards:C*1.0936};function Jn(e,t,n={}){const a={type:"Feature"};return(n.id===0||n.id)&&(a.id=n.id),n.bbox&&(a.bbox=n.bbox),a.properties={},a.geometry=e,a}function pe(e,t,n={}){if(!e)throw new Error("coordinates is required");if(!Array.isArray(e))throw new Error("coordinates must be an Array");if(e.length=2&&!Array.isArray(e[0])&&!Array.isArray(e[1]))return[...e];throw new Error("coord must be GeoJSON Point or an Array of numbers")}function Zn(e,t,n={}){var a=be(e),r=be(t),i=V(r[1]-a[1]),o=V(r[0]-a[0]),s=V(a[1]),d=V(r[1]),l=Math.pow(Math.sin(i/2),2)+Math.pow(Math.sin(o/2),2)*Math.cos(s)*Math.cos(d);return Kn(2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l)),n.units)}var ea=Zn;let X=null;async function qe(){return X||(X=(await et(()=>import("./Dp09hPaF.js"),[],import.meta.url)).default,X)}async function ta(e,t,n,a){const r=await qe(),i=pe([t,e]);return r.map(o=>{const s=pe([o.o,o.a]),d=ea(i,s,{units:"miles"});return{...o,distance:d}}).filter(o=>o.distanceo.r!==s.r?o.r-s.r:o.distance-s.distance).slice(0,a)}async function va(e,t=15){return(await qe()).filter(a=>a.a>=e.minLat&&a.a=e.minLon&&a.oa.r-r.r).slice(0,t)}const na="https://api.weather.com";function aa(){const{storedLocation:e}=L(),{units:t}=B(),{language:n}=Y(),{public:{weatherApiKey:a}}=R(),r=M(()=>e.value?.geocode??"29.95,-90.07");async function i(l){const[c,u]=l.split(","),y=Number(c),g=Number(u),f=await ta(y,g,300,8);if(f.length===0)return{stations:[]};const p=f.map(b=>`${b.a},${b.o}`).join(";"),v=await k("observations",`${na}/v3/aggcommon/v3-wx-observations-current`,{query:{geocodes:p,apiKey:a,format:"json",language:n.value,units:t.value}}),w=[];return f.forEach((b,m)=>{const h=v[m]?.["v3-wx-observations-current"];h&&w.push({name:Xn(b,n.value),lat:b.a,lon:b.o,temperature:h.temperature,conditionShort:h.wxPhraseShort,conditionMedium:h.wxPhraseMedium,conditionLong:h.wxPhraseLong,iconCode:h.iconCode,windDirection:h.windDirectionCardinal,windSpeed:h.windSpeed})}),w.sort((b,m)=>b.name.localeCompare(m.name)),{stations:w}}const{data:o,status:s,refresh:d}=j("weather:observations",()=>i(r.value),{watch:[r,t,n]});return{observations:o,status:s,refresh:d}}const ra="https://api.weather.com";function oa(){const{storedLocation:e}=L(),{units:t}=B(),{public:{weatherApiKey:n}}=R(),a=M(()=>e.value?.geocode??"29.95,-90.07");async function r(d){const l=new Date,c=await k("astronomy",`${ra}/v3/wx/forecast/astronomy/daily/30day`,{query:{geocode:d,apiKey:n,format:"json",language:"en-US",units:t.value,startMonth:Z(l,"MM"),startDay:Z(l,"dd"),startYear:Z(l,"yyyy")}}),u=Array.from({length:30},(v,w)=>le(l,w)),y=[],g={New:"new","First Quarter":"first",Full:"full","Last Quarter":"last"};c.lunarPhaseDescription.forEach((v,w)=>{const b=g[v];b&&u[w]&&(y.find(h=>h.phase===b)||y.push({phase:b,date:u[w],index:w}))}),y.sort((v,w)=>v.date.getTime()-w.date.getTime());const f=y.slice(0,4).map(v=>({phase:v.phase,date:v.date.toISOString()}));for(;f.length!f.some(m=>m.phase===b));w&&f.push({phase:w,date:""})}return{sunlight:[{date:l.toISOString(),sunrise:c.sunriseTimeLocal[0]??"",sunset:c.sunsetTimeLocal[0]??""},{date:le(l,1).toISOString(),sunrise:c.sunriseTimeLocal[1]??"",sunset:c.sunsetTimeLocal[1]??""}],moonPhases:f}}const{data:i,status:o,refresh:s}=j("weather:astronomy",()=>r(a.value),{watch:[a,t]});return{astronomy:i,status:o,refresh:s}}function De(e){return e?.split("-")[0]?.toLowerCase()??"en"}function sa(e,t){if(!e||e.length===0)return;const n=e.find(i=>i.languageCode.toLowerCase()===t.toLowerCase());if(n)return n;const a=De(t),r=e.find(i=>De(i.languageCode)===a);return r||e[0]}const _e="https://api.weather.com";function ia(){const{storedLocation:e}=L(),{language:t}=Y(),{public:{weatherApiKey:n}}=R(),a=M(()=>e.value?.geocode??"29.95,-90.07");async function r(d){let l=null;try{l=await k("alerts",`${_e}/v3/alerts/headlines`,{query:{geocode:d,apiKey:n,format:"json",language:t.value}})}catch{return{alerts:[]}}if(!l?.alerts||l.alerts.length===0)return{alerts:[]};const c=l.alerts.filter(g=>g.severityCodek("alert-detail",`${_e}/v3/alerts/detail`,{query:{alertId:g.detailKey,apiKey:n,format:"json",language:t.value}}).catch(()=>null))),y=c.map((g,f)=>{const p=u[f]?.alertDetail,v=sa(p?.texts,t.value);return{id:g.detailKey,event:g.eventDescription,significance:g.significance,severity:g.severityCode,headline:g.headlineText,description:v?.description||"",instruction:v?.instruction||null,areaName:g.areaName,source:g.source,officeName:g.officeName,languageCode:v?.languageCode||t.value,issueTime:g.issueTimeLocal,effectiveTime:g.effectiveTimeLocal,expireTime:g.expireTimeLocal}});return y.sort((g,f)=>g.severity-f.severity),{alerts:y}}const{data:i,status:o,refresh:s}=j("weather:alerts",()=>r(a.value),{watch:[a,t]});return{alerts:M(()=>i.value?.alerts),status:o,refresh:s}}const ca={},ua={class:"bg-linear-to-b from-twc-purple to-twc-orange overflow-hidden"};function la(e,t){return ne(),ae("article",ua,[Te(e.$slots,"default")])}const ba=Object.assign(Oe(ca,[["render",la]]),{__name:"Article"});async function da(){const e=tt(),{language:t}=Y(),n=e.query.geocode,a=nt("server-geo");let r,i;if(console.log("[Geocode] resolving location, serverGeo:",a.value,"geocodeParam:",n??null),a.value)r=a.value.latitude,i=a.value.longitude;else{console.log("[Geocode] fetching /api/geolocation...");const d=await $fetch(ce("/geolocation"),{query:n?{geocode:n}:void 0});r=d.latitude,i=d.longitude}const o=`${r},${i}`;console.log("[Geocode] geocode:",o),console.log("[Geocode] fetching /api/location/point...");const s=await $fetch(ce("/location/point"),{query:{geocode:o,language:t.value}});return console.log("[Geocode] resolved location:",s.name,`(${s.context})`),{geocode:o,name:s.name,context:s.context}}async function Da(){const{storedLocation:e,ipLocation:t}=L(),{weatherReady:n}=ot(),{current:a,status:r,refresh:i}=Un(),{forecast:o,status:s,refresh:d}=Vn(),{observations:l,status:c,refresh:u}=aa(),{astronomy:y,status:g,refresh:f}=oa(),{alerts:p,status:v,refresh:w}=ia();T(r,_=>console.log("[Weather] current:",_)),T(s,_=>console.log("[Weather] forecast:",_)),T(c,_=>console.log("[Weather] observations:",_)),T(g,_=>console.log("[Weather] astronomy:",_)),T(v,_=>console.log("[Weather] alerts:",_));const b=M(()=>e.value?.name??"Atlanta"),m=M(()=>e.value?.geocode??"33.751,-84.39"),h=M(()=>{const _=[r,s,c,g,v];return _.some(S=>S.value==="error")?"error":_.every(S=>S.value==="success")?"success":"pending"});function P(){return Promise.all([i(),d(),u(),f(),w()])}if(T(h,_=>{console.log("[Weather] aggregate status:",_),_==="success"&&(n.value=!0,console.log("[Weather] weatherReady set"))},{immediate:!0}),!t.value)try{console.log("[Weather] fetching IP geolocation...");const _=await da();console.log("[Weather] geolocation resolved:",_.name,_.geocode),t.value={geocode:_.geocode,name:_.name,context:_.context}}catch(_){console.warn("[Weather] geolocation failed, falling back to default:",_)}return{current:a,forecast:o,observations:l,almanac:y,alerts:p,locationName:b,geocode:m,status:h,refresh:P}}export{ba as _,pa as a,mt as b,De as c,va as f,Xn as g,Da as u};