var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t,t.exports),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,o)=>(o=n==null?{}:e(i(n)),l(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n)),d=e=>a.call(e,`module.exports`)?e[`module.exports`]:l(t({},`__esModule`,{value:!0}),e);(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 f=s((e=>{var t=Symbol.for(`react.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.provider`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.iterator;function p(e){return typeof e!=`object`||!e?null:(e=f&&e[f]||e[`@@iterator`],typeof e==`function`?e:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function _(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}_.prototype.isReactComponent={},_.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`setState(...): takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function v(){}v.prototype=_.prototype;function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}var b=y.prototype=new v;b.constructor=y,h(b,_.prototype),b.isPureReactComponent=!0;var x=Array.isArray,S=Object.prototype.hasOwnProperty,C={current:null},w={key:!0,ref:!0,__self:!0,__source:!0};function T(e,n,r){var i,a={},o=null,s=null;if(n!=null)for(i in n.ref!==void 0&&(s=n.ref),n.key!==void 0&&(o=``+n.key),n)S.call(n,i)&&!w.hasOwnProperty(i)&&(a[i]=n[i]);var c=arguments.length-2;if(c===1)a.children=r;else if(1<c){for(var l=Array(c),u=0;u<c;u++)l[u]=arguments[u+2];a.children=l}if(e&&e.defaultProps)for(i in c=e.defaultProps,c)a[i]===void 0&&(a[i]=c[i]);return{$$typeof:t,type:e,key:o,ref:s,props:a,_owner:C.current}}function E(e,n){return{$$typeof:t,type:e.type,key:n,ref:e.ref,props:e.props,_owner:e._owner}}function D(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function O(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var k=/\/+/g;function A(e,t){return typeof e==`object`&&e&&e.key!=null?O(``+e.key):t.toString(36)}function ee(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0}}if(c)return c=e,o=o(c),e=a===``?`.`+A(c,0):a,x(o)?(i=``,e!=null&&(i=e.replace(k,`$&/`)+`/`),ee(o,r,i,``,function(e){return e})):o!=null&&(D(o)&&(o=E(o,i+(!o.key||c&&c.key===o.key?``:(``+o.key).replace(k,`$&/`)+`/`)+e)),r.push(o)),1;if(c=0,a=a===``?`.`:a+`:`,x(e))for(var l=0;l<e.length;l++){s=e[l];var u=a+A(s,l);c+=ee(s,r,i,u,o)}else if(u=p(e),typeof u==`function`)for(e=u.call(e),l=0;!(s=e.next()).done;)s=s.value,u=a+A(s,l++),c+=ee(s,r,i,u,o);else if(s===`object`)throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`);return c}function j(e,t,n){if(e==null)return e;var r=[],i=0;return ee(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function M(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var N={current:null},P={transition:null},te={ReactCurrentDispatcher:N,ReactCurrentBatchConfig:P,ReactCurrentOwner:C};function ne(){throw Error(`act(...) is not supported in production builds of React.`)}e.Children={map:j,forEach:function(e,t,n){j(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return j(e,function(){t++}),t},toArray:function(e){return j(e,function(e){return e})||[]},only:function(e){if(!D(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}},e.Component=_,e.Fragment=r,e.Profiler=a,e.PureComponent=y,e.StrictMode=i,e.Suspense=l,e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=te,e.act=ne,e.cloneElement=function(e,n,r){if(e==null)throw Error(`React.cloneElement(...): The argument must be a React element, but you passed `+e+`.`);var i=h({},e.props),a=e.key,o=e.ref,s=e._owner;if(n!=null){if(n.ref!==void 0&&(o=n.ref,s=C.current),n.key!==void 0&&(a=``+n.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in n)S.call(n,l)&&!w.hasOwnProperty(l)&&(i[l]=n[l]===void 0&&c!==void 0?c[l]:n[l])}var l=arguments.length-2;if(l===1)i.children=r;else if(1<l){c=Array(l);for(var u=0;u<l;u++)c[u]=arguments[u+2];i.children=c}return{$$typeof:t,type:e.type,key:a,ref:o,props:i,_owner:s}},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:o,_context:e},e.Consumer=e},e.createElement=T,e.createFactory=function(e){var t=T.bind(null,e);return t.type=e,t},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=D,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:M}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=P.transition;P.transition={};try{e()}finally{P.transition=t}},e.unstable_act=ne,e.useCallback=function(e,t){return N.current.useCallback(e,t)},e.useContext=function(e){return N.current.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e){return N.current.useDeferredValue(e)},e.useEffect=function(e,t){return N.current.useEffect(e,t)},e.useId=function(){return N.current.useId()},e.useImperativeHandle=function(e,t,n){return N.current.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return N.current.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return N.current.useLayoutEffect(e,t)},e.useMemo=function(e,t){return N.current.useMemo(e,t)},e.useReducer=function(e,t,n){return N.current.useReducer(e,t,n)},e.useRef=function(e){return N.current.useRef(e)},e.useState=function(e){return N.current.useState(e)},e.useSyncExternalStore=function(e,t,n){return N.current.useSyncExternalStore(e,t,n)},e.useTransition=function(){return N.current.useTransition()},e.version=`18.3.1`})),p=s(((e,t)=>{t.exports=f()})),m=s((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(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(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=typeof setTimeout==`function`?setTimeout:null,_=typeof clearTimeout==`function`?clearTimeout:null,v=typeof setImmediate<`u`?setImmediate:null;typeof navigator<`u`&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(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 b(e){if(h=!1,y(e),!m){if(n(c)!==null)m=!0,j(x);else{var t=n(l);t!==null&&M(b,t.startTime-e)}}}function x(t,i){m=!1,h&&(h=!1,_(w),w=-1),p=!0;var a=f;try{for(y(i),d=n(c);d!==null&&(!(d.expirationTime>i)||t&&!D());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=i);i=e.unstable_now(),typeof s==`function`?d.callback=s:d===n(c)&&r(c),y(i)}else r(c);d=n(c)}if(d!==null)var u=!0;else{var g=n(l);g!==null&&M(b,g.startTime-i),u=!1}return u}finally{d=null,f=a,p=!1}}var S=!1,C=null,w=-1,T=5,E=-1;function D(){return!(e.unstable_now()-E<T)}function O(){if(C!==null){var t=e.unstable_now();E=t;var n=!0;try{n=C(!0,t)}finally{n?k():(S=!1,C=null)}}else S=!1}var k;if(typeof v==`function`)k=function(){v(O)};else if(typeof MessageChannel<`u`){var A=new MessageChannel,ee=A.port2;A.port1.onmessage=O,k=function(){ee.postMessage(null)}}else k=function(){g(O,0)};function j(e){C=e,S||(S=!0,k())}function M(t,n){w=g(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_continueExecution=function(){m||p||(m=!0,j(x))},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):T=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_getFirstCallbackNode=function(){return n(c)},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(_(w),w=-1):h=!0,M(b,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,j(x))),r},e.unstable_shouldYield=D,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),h=s(((e,t)=>{t.exports=m()})),g=s((e=>{var t=p(),n=h();function r(e){for(var t=`https://reactjs.org/docs/error-decoder.html?invariant=`+e,n=1;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n]);return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}var i=new Set,a={};function o(e,t){s(e,t),s(e+`Capture`,t)}function s(e,t){for(a[e]=t,e=0;e<t.length;e++)i.add(t[e])}var c=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0,l=Object.prototype.hasOwnProperty,u=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,d={},f={};function m(e){return l.call(f,e)?!0:l.call(d,e)?!1:u.test(e)?f[e]=!0:(d[e]=!0,!1)}function g(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case`function`:case`symbol`:return!0;case`boolean`:return r?!1:n===null?(e=e.toLowerCase().slice(0,5),e!==`data-`&&e!==`aria-`):!n.acceptsBooleans;default:return!1}}function _(e,t,n,r){if(t==null||g(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function v(e,t,n,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var y={};`children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style`.split(` `).forEach(function(e){y[e]=new v(e,0,!1,e,null,!1,!1)}),[[`acceptCharset`,`accept-charset`],[`className`,`class`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`]].forEach(function(e){var t=e[0];y[t]=new v(t,1,!1,e[1],null,!1,!1)}),[`contentEditable`,`draggable`,`spellCheck`,`value`].forEach(function(e){y[e]=new v(e,2,!1,e.toLowerCase(),null,!1,!1)}),[`autoReverse`,`externalResourcesRequired`,`focusable`,`preserveAlpha`].forEach(function(e){y[e]=new v(e,2,!1,e,null,!1,!1)}),`allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope`.split(` `).forEach(function(e){y[e]=new v(e,3,!1,e.toLowerCase(),null,!1,!1)}),[`checked`,`multiple`,`muted`,`selected`].forEach(function(e){y[e]=new v(e,3,!0,e,null,!1,!1)}),[`capture`,`download`].forEach(function(e){y[e]=new v(e,4,!1,e,null,!1,!1)}),[`cols`,`rows`,`size`,`span`].forEach(function(e){y[e]=new v(e,6,!1,e,null,!1,!1)}),[`rowSpan`,`start`].forEach(function(e){y[e]=new v(e,5,!1,e.toLowerCase(),null,!1,!1)});var b=/[\-:]([a-z])/g;function x(e){return e[1].toUpperCase()}`accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height`.split(` `).forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,null,!1,!1)}),`xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type`.split(` `).forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,`http://www.w3.org/1999/xlink`,!1,!1)}),[`xml:base`,`xml:lang`,`xml:space`].forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,`http://www.w3.org/XML/1998/namespace`,!1,!1)}),[`tabIndex`,`crossOrigin`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!1,!1)}),y.xlinkHref=new v(`xlinkHref`,1,!1,`xlink:href`,`http://www.w3.org/1999/xlink`,!0,!1),[`src`,`href`,`action`,`formAction`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!0,!0)});function S(e,t,n,r){var i=y.hasOwnProperty(t)?y[t]:null;(i===null?r||!(2<t.length)||t[0]!==`o`&&t[0]!==`O`||t[1]!==`n`&&t[1]!==`N`:i.type!==0)&&(_(t,n,i,r)&&(n=null),r||i===null?m(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,``+n)):i.mustUseProperty?e[i.propertyName]=n===null?i.type!==3&&``:n:(t=i.attributeName,r=i.attributeNamespace,n===null?e.removeAttribute(t):(i=i.type,n=i===3||i===4&&!0===n?``:``+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var C=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,w=Symbol.for(`react.element`),T=Symbol.for(`react.portal`),E=Symbol.for(`react.fragment`),D=Symbol.for(`react.strict_mode`),O=Symbol.for(`react.profiler`),k=Symbol.for(`react.provider`),A=Symbol.for(`react.context`),ee=Symbol.for(`react.forward_ref`),j=Symbol.for(`react.suspense`),M=Symbol.for(`react.suspense_list`),N=Symbol.for(`react.memo`),P=Symbol.for(`react.lazy`),te=Symbol.for(`react.offscreen`),ne=Symbol.iterator;function re(e){return typeof e!=`object`||!e?null:(e=ne&&e[ne]||e[`@@iterator`],typeof e==`function`?e:null)}var F=Object.assign,ie;function ae(e){if(ie===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);ie=t&&t[1]||``}return`
`+ie+e}var oe=!1;function se(e,t){if(!e||oe)return``;oe=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t){if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var r=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){r=e}e.call(t.prototype)}}else{try{throw Error()}catch(e){r=e}e()}}catch(t){if(t&&r&&typeof t.stack==`string`){for(var i=t.stack.split(`
`),a=r.stack.split(`
`),o=i.length-1,s=a.length-1;1<=o&&0<=s&&i[o]!==a[s];)s--;for(;1<=o&&0<=s;o--,s--)if(i[o]!==a[s]){if(o!==1||s!==1)do if(o--,s--,0>s||i[o]!==a[s]){var c=`
`+i[o].replace(` at new `,` at `);return e.displayName&&c.includes(`<anonymous>`)&&(c=c.replace(`<anonymous>`,e.displayName)),c}while(1<=o&&0<=s);break}}}finally{oe=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:``)?ae(e):``}function ce(e){switch(e.tag){case 5:return ae(e.type);case 16:return ae(`Lazy`);case 13:return ae(`Suspense`);case 19:return ae(`SuspenseList`);case 0:case 2:case 15:return e=se(e.type,!1),e;case 11:return e=se(e.type.render,!1),e;case 1:return e=se(e.type,!0),e;default:return``}}function le(e){if(e==null)return null;if(typeof e==`function`)return e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case E:return`Fragment`;case T:return`Portal`;case O:return`Profiler`;case D:return`StrictMode`;case j:return`Suspense`;case M:return`SuspenseList`}if(typeof e==`object`)switch(e.$$typeof){case A:return(e.displayName||`Context`)+`.Consumer`;case k:return(e._context.displayName||`Context`)+`.Provider`;case ee:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case N:return t=e.displayName||null,t===null?le(e.type)||`Memo`:t;case P:t=e._payload,e=e._init;try{return le(e(t))}catch{}}return null}function ue(e){var t=e.type;switch(e.tag){case 24:return`Cache`;case 9:return(t.displayName||`Context`)+`.Consumer`;case 10:return(t._context.displayName||`Context`)+`.Provider`;case 18:return`DehydratedFragment`;case 11:return e=t.render,e=e.displayName||e.name||``,t.displayName||(e===``?`ForwardRef`:`ForwardRef(`+e+`)`);case 7:return`Fragment`;case 5:return t;case 4:return`Portal`;case 3:return`Root`;case 6:return`Text`;case 16:return le(t);case 8:return t===D?`StrictMode`:`Mode`;case 22:return`Offscreen`;case 12:return`Profiler`;case 21:return`Scope`;case 13:return`Suspense`;case 19:return`SuspenseList`;case 25:return`TracingMarker`;case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t==`function`)return t.displayName||t.name||null;if(typeof t==`string`)return t}return null}function de(e){switch(typeof e){case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function fe(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function pe(e){var t=fe(e)?`checked`:`value`,n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=``+e[t];if(!e.hasOwnProperty(t)&&n!==void 0&&typeof n.get==`function`&&typeof n.set==`function`){var i=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function me(e){e._valueTracker||=pe(e)}function he(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=fe(e)?e.checked?`true`:`false`:e.value),e=r,e!==n&&(t.setValue(e),!0)}function ge(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}function _e(e,t){var n=t.checked;return F({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function ve(e,t){var n=t.defaultValue==null?``:t.defaultValue,r=t.checked==null?t.defaultChecked:t.checked;n=de(t.value==null?n:t.value),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type===`checkbox`||t.type===`radio`?t.checked!=null:t.value!=null}}function ye(e,t){t=t.checked,t!=null&&S(e,`checked`,t,!1)}function be(e,t){ye(e,t);var n=de(t.value),r=t.type;if(n!=null)r===`number`?(n===0&&e.value===``||e.value!=n)&&(e.value=``+n):e.value!==``+n&&(e.value=``+n);else if(r===`submit`||r===`reset`){e.removeAttribute(`value`);return}t.hasOwnProperty(`value`)?Se(e,t.type,n):t.hasOwnProperty(`defaultValue`)&&Se(e,t.type,de(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function xe(e,t,n){if(t.hasOwnProperty(`value`)||t.hasOwnProperty(`defaultValue`)){var r=t.type;if(!(r!==`submit`&&r!==`reset`||t.value!==void 0&&t.value!==null))return;t=``+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==``&&(e.name=``),e.defaultChecked=!!e._wrapperState.initialChecked,n!==``&&(e.name=n)}function Se(e,t,n){(t!==`number`||ge(e.ownerDocument)!==e)&&(n==null?e.defaultValue=``+e._wrapperState.initialValue:e.defaultValue!==``+n&&(e.defaultValue=``+n))}var Ce=Array.isArray;function we(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+de(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function Te(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(r(91));return F({},t,{value:void 0,defaultValue:void 0,children:``+e._wrapperState.initialValue})}function Ee(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(r(92));if(Ce(n)){if(1<n.length)throw Error(r(93));n=n[0]}t=n}t??=``,n=t}e._wrapperState={initialValue:de(n)}}function De(e,t){var n=de(t.value),r=de(t.defaultValue);n!=null&&(n=``+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=``+r)}function Oe(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==``&&t!==null&&(e.value=t)}function ke(e){switch(e){case`svg`:return`http://www.w3.org/2000/svg`;case`math`:return`http://www.w3.org/1998/Math/MathML`;default:return`http://www.w3.org/1999/xhtml`}}function Ae(e,t){return e==null||e===`http://www.w3.org/1999/xhtml`?ke(t):e===`http://www.w3.org/2000/svg`&&t===`foreignObject`?`http://www.w3.org/1999/xhtml`:e}var je,Me=function(e){return typeof MSApp<`u`&&MSApp.execUnsafeLocalFunction?function(t,n,r,i){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,i)})}:e}(function(e,t){if(e.namespaceURI!==`http://www.w3.org/2000/svg`||`innerHTML`in e)e.innerHTML=t;else{for(je||=document.createElement(`div`),je.innerHTML=`<svg>`+t.valueOf().toString()+`</svg>`,t=je.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Ne(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Pe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Fe=[`Webkit`,`ms`,`Moz`,`O`];Object.keys(Pe).forEach(function(e){Fe.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Pe[t]=Pe[e]})});function Ie(e,t,n){return t==null||typeof t==`boolean`||t===``?``:n||typeof t!=`number`||t===0||Pe.hasOwnProperty(e)&&Pe[e]?(``+t).trim():t+`px`}function Le(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=n.indexOf(`--`)===0,i=Ie(n,t[n],r);n===`float`&&(n=`cssFloat`),r?e.setProperty(n,i):e[n]=i}}var Re=F({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ze(e,t){if(t){if(Re[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(r(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(r(60));if(typeof t.dangerouslySetInnerHTML!=`object`||!(`__html`in t.dangerouslySetInnerHTML))throw Error(r(61))}if(t.style!=null&&typeof t.style!=`object`)throw Error(r(62))}}function Be(e,t){if(e.indexOf(`-`)===-1)return typeof t.is==`string`;switch(e){case`annotation-xml`:case`color-profile`:case`font-face`:case`font-face-src`:case`font-face-uri`:case`font-face-format`:case`font-face-name`:case`missing-glyph`:return!1;default:return!0}}var Ve=null;function He(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ue=null,We=null,Ge=null;function Ke(e){if(e=Ui(e)){if(typeof Ue!=`function`)throw Error(r(280));var t=e.stateNode;t&&(t=Gi(t),Ue(e.stateNode,e.type,t))}}function qe(e){We?Ge?Ge.push(e):Ge=[e]:We=e}function Je(){if(We){var e=We,t=Ge;if(Ge=We=null,Ke(e),t)for(e=0;e<t.length;e++)Ke(t[e])}}function Ye(e,t){return e(t)}function Xe(){}var Ze=!1;function Qe(e,t,n){if(Ze)return e(t,n);Ze=!0;try{return Ye(e,t,n)}finally{Ze=!1,(We!==null||Ge!==null)&&(Xe(),Je())}}function I(e,t){var n=e.stateNode;if(n===null)return null;var i=Gi(n);if(i===null)return null;n=i[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(i=!i.disabled)||(e=e.type,i=e!==`button`&&e!==`input`&&e!==`select`&&e!==`textarea`),e=!i;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(r(231,t,typeof n));return n}var $e=!1;if(c)try{var et={};Object.defineProperty(et,"passive",{get:function(){$e=!0}}),window.addEventListener(`test`,et,et),window.removeEventListener(`test`,et,et)}catch{$e=!1}function tt(e,t,n,r,i,a,o,s,c){var l=Array.prototype.slice.call(arguments,3);try{t.apply(n,l)}catch(e){this.onError(e)}}var nt=!1,rt=null,it=!1,at=null,ot={onError:function(e){nt=!0,rt=e}};function st(e,t,n,r,i,a,o,s,c){nt=!1,rt=null,tt.apply(ot,arguments)}function ct(e,t,n,i,a,o,s,c,l){if(st.apply(this,arguments),nt){if(nt){var u=rt;nt=!1,rt=null}else throw Error(r(198));it||(it=!0,at=u)}}function lt(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function ut(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function dt(e){if(lt(e)!==e)throw Error(r(188))}function ft(e){var t=e.alternate;if(!t){if(t=lt(e),t===null)throw Error(r(188));return t===e?e:null}for(var n=e,i=t;;){var a=n.return;if(a===null)break;var o=a.alternate;if(o===null){if(i=a.return,i!==null){n=i;continue}break}if(a.child===o.child){for(o=a.child;o;){if(o===n)return dt(a),e;if(o===i)return dt(a),t;o=o.sibling}throw Error(r(188))}if(n.return!==i.return)n=a,i=o;else{for(var s=!1,c=a.child;c;){if(c===n){s=!0,n=a,i=o;break}if(c===i){s=!0,i=a,n=o;break}c=c.sibling}if(!s){for(c=o.child;c;){if(c===n){s=!0,n=o,i=a;break}if(c===i){s=!0,i=o,n=a;break}c=c.sibling}if(!s)throw Error(r(189))}}if(n.alternate!==i)throw Error(r(190))}if(n.tag!==3)throw Error(r(188));return n.stateNode.current===n?e:t}function pt(e){return e=ft(e),e===null?null:mt(e)}function mt(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=mt(e);if(t!==null)return t;e=e.sibling}return null}var ht=n.unstable_scheduleCallback,gt=n.unstable_cancelCallback,_t=n.unstable_shouldYield,vt=n.unstable_requestPaint,yt=n.unstable_now,bt=n.unstable_getCurrentPriorityLevel,xt=n.unstable_ImmediatePriority,St=n.unstable_UserBlockingPriority,R=n.unstable_NormalPriority,Ct=n.unstable_LowPriority,wt=n.unstable_IdlePriority,Tt=null,Et=null;function Dt(e){if(Et&&typeof Et.onCommitFiberRoot==`function`)try{Et.onCommitFiberRoot(Tt,e,void 0,(e.current.flags&128)==128)}catch{}}var Ot=Math.clz32?Math.clz32:jt,kt=Math.log,At=Math.LN2;function jt(e){return e>>>=0,e===0?32:31-(kt(e)/At|0)|0}var Mt=64,Nt=4194304;function Pt(e){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: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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ft(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,o=n&268435455;if(o!==0){var s=o&~i;s===0?(a&=o,a!==0&&(r=Pt(a))):r=Pt(s)}else o=n&~i,o===0?a!==0&&(r=Pt(a)):r=Pt(o);if(r===0)return 0;if(t!==0&&t!==r&&(t&i)===0&&(i=r&-r,a=t&-t,i>=a||i===16&&a&4194240))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-Ot(t),i=1<<n,r|=e[n],t&=~i;return r}function It(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64: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:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Lt(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes;0<a;){var o=31-Ot(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=It(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}}function Rt(e){return e=e.pendingLanes&-1073741825,e===0?e&1073741824?1073741824:0:e}function zt(){var e=Mt;return Mt<<=1,!(Mt&4194240)&&(Mt=64),e}function Bt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Vt(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ot(t),e[t]=n}function Ht(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var i=31-Ot(n),a=1<<i;t[i]=0,r[i]=-1,e[i]=-1,n&=~a}}function Ut(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Ot(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}var Wt=0;function Gt(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var Kt,qt,Jt,Yt,Xt,Zt=!1,Qt=[],$t=null,en=null,tn=null,nn=new Map,rn=new Map,an=[],on=`mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit`.split(` `);function sn(e,t){switch(e){case`focusin`:case`focusout`:$t=null;break;case`dragenter`:case`dragleave`:en=null;break;case`mouseover`:case`mouseout`:tn=null;break;case`pointerover`:case`pointerout`:nn.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:rn.delete(t.pointerId)}}function cn(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=Ui(t),t!==null&&qt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function ln(e,t,n,r,i){switch(t){case`focusin`:return $t=cn($t,e,t,n,r,i),!0;case`dragenter`:return en=cn(en,e,t,n,r,i),!0;case`mouseover`:return tn=cn(tn,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return nn.set(a,cn(nn.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,rn.set(a,cn(rn.get(a)||null,e,t,n,r,i)),!0}return!1}function un(e){var t=Hi(e.target);if(t!==null){var n=lt(t);if(n!==null){if(t=n.tag,t===13){if(t=ut(n),t!==null){e.blockedOn=t,Xt(e.priority,function(){Jt(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function dn(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Sn(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Ve=r,n.target.dispatchEvent(r),Ve=null}else return t=Ui(n),t!==null&&qt(t),e.blockedOn=n,!1;t.shift()}return!0}function fn(e,t,n){dn(e)&&n.delete(t)}function pn(){Zt=!1,$t!==null&&dn($t)&&($t=null),en!==null&&dn(en)&&(en=null),tn!==null&&dn(tn)&&(tn=null),nn.forEach(fn),rn.forEach(fn)}function mn(e,t){e.blockedOn===t&&(e.blockedOn=null,Zt||(Zt=!0,n.unstable_scheduleCallback(n.unstable_NormalPriority,pn)))}function hn(e){function t(t){return mn(t,e)}if(0<Qt.length){mn(Qt[0],e);for(var n=1;n<Qt.length;n++){var r=Qt[n];r.blockedOn===e&&(r.blockedOn=null)}}for($t!==null&&mn($t,e),en!==null&&mn(en,e),tn!==null&&mn(tn,e),nn.forEach(t),rn.forEach(t),n=0;n<an.length;n++)r=an[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<an.length&&(n=an[0],n.blockedOn===null);)un(n),n.blockedOn===null&&an.shift()}var gn=C.ReactCurrentBatchConfig,_n=!0;function vn(e,t,n,r){var i=Wt,a=gn.transition;gn.transition=null;try{Wt=1,bn(e,t,n,r)}finally{Wt=i,gn.transition=a}}function yn(e,t,n,r){var i=Wt,a=gn.transition;gn.transition=null;try{Wt=4,bn(e,t,n,r)}finally{Wt=i,gn.transition=a}}function bn(e,t,n,r){if(_n){var i=Sn(e,t,n,r);if(i===null)mi(e,t,r,xn,n),sn(e,r);else if(ln(i,e,t,n,r))r.stopPropagation();else if(sn(e,r),t&4&&-1<on.indexOf(e)){for(;i!==null;){var a=Ui(i);if(a!==null&&Kt(a),a=Sn(e,t,n,r),a===null&&mi(e,t,r,xn,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else mi(e,t,r,null,n)}}var xn=null;function Sn(e,t,n,r){if(xn=null,e=He(r),e=Hi(e),e!==null){if(t=lt(e),t===null)e=null;else if(n=t.tag,n===13){if(e=ut(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}return xn=e,null}function Cn(e){switch(e){case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`resize`:case`seeked`:case`submit`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 1;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`scroll`:case`toggle`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 4;case`message`:switch(bt()){case xt:return 1;case St:return 4;case R:case Ct:return 16;case wt:return 536870912;default:return 16}default:return 16}}var wn=null,Tn=null,En=null;function Dn(){if(En)return En;var e,t=Tn,n=t.length,r,i=`value`in wn?wn.value:wn.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return En=i.slice(e,1<r?1-r:void 0)}function On(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function kn(){return!0}function An(){return!1}function jn(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?kn:An,this.isPropagationStopped=An,this}return F(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=kn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=kn)},persist:function(){},isPersistent:kn}),t}var Mn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Nn=jn(Mn),Pn=F({},Mn,{view:0,detail:0}),Fn=jn(Pn),In,Ln,Rn,zn=F({},Pn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Xn,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return`movementX`in e?e.movementX:(e!==Rn&&(Rn&&e.type===`mousemove`?(In=e.screenX-Rn.screenX,Ln=e.screenY-Rn.screenY):Ln=In=0,Rn=e),In)},movementY:function(e){return`movementY`in e?e.movementY:Ln}}),Bn=jn(zn),Vn=jn(F({},zn,{dataTransfer:0})),Hn=jn(F({},Pn,{relatedTarget:0})),Un=jn(F({},Mn,{animationName:0,elapsedTime:0,pseudoElement:0})),Wn=jn(F({},Mn,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),Gn=jn(F({},Mn,{data:0})),Kn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},qn={8:`Backspace`,9:`Tab`,12:`Clear`,13:`Enter`,16:`Shift`,17:`Control`,18:`Alt`,19:`Pause`,20:`CapsLock`,27:`Escape`,32:` `,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,45:`Insert`,46:`Delete`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F5`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,144:`NumLock`,145:`ScrollLock`,224:`Meta`},Jn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function Yn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Jn[e])?!!t[e]:!1}function Xn(){return Yn}var Zn=jn(F({},Pn,{key:function(e){if(e.key){var t=Kn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=On(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?qn[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Xn,charCode:function(e){return e.type===`keypress`?On(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?On(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Qn=jn(F({},zn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),$n=jn(F({},Pn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Xn})),er=jn(F({},Mn,{propertyName:0,elapsedTime:0,pseudoElement:0})),tr=jn(F({},zn,{deltaX:function(e){return`deltaX`in e?e.deltaX:`wheelDeltaX`in e?-e.wheelDeltaX:0},deltaY:function(e){return`deltaY`in e?e.deltaY:`wheelDeltaY`in e?-e.wheelDeltaY:`wheelDelta`in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),nr=[9,13,27,32],rr=c&&`CompositionEvent`in window,ir=null;c&&`documentMode`in document&&(ir=document.documentMode);var ar=c&&`TextEvent`in window&&!ir,or=c&&(!rr||ir&&8<ir&&11>=ir),sr=` `,cr=!1;function lr(e,t){switch(e){case`keyup`:return nr.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function ur(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var dr=!1;function fr(e,t){switch(e){case`compositionend`:return ur(t);case`keypress`:return t.which===32?(cr=!0,sr):null;case`textInput`:return e=t.data,e===sr&&cr?null:e;default:return null}}function pr(e,t){if(dr)return e===`compositionend`||!rr&&lr(e,t)?(e=Dn(),En=Tn=wn=null,dr=!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.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return or&&t.locale!==`ko`?null:t.data;default:return null}}var mr={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function hr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!mr[e.type]:t===`textarea`}function gr(e,t,n,r){qe(r),t=gi(t,`onChange`),0<t.length&&(n=new Nn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var _r=null,vr=null;function yr(e){ci(e,0)}function z(e){if(he(Wi(e)))return e}function br(e,t){if(e===`change`)return t}var xr=!1;if(c){var Sr;if(c){var Cr=`oninput`in document;if(!Cr){var wr=document.createElement(`div`);wr.setAttribute(`oninput`,`return;`),Cr=typeof wr.oninput==`function`}Sr=Cr}else Sr=!1;xr=Sr&&(!document.documentMode||9<document.documentMode)}function Tr(){_r&&(_r.detachEvent(`onpropertychange`,B),vr=_r=null)}function B(e){if(e.propertyName===`value`&&z(vr)){var t=[];gr(t,vr,e,He(e)),Qe(yr,t)}}function Er(e,t,n){e===`focusin`?(Tr(),_r=t,vr=n,_r.attachEvent(`onpropertychange`,B)):e===`focusout`&&Tr()}function Dr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return z(vr)}function Or(e,t){if(e===`click`)return z(t)}function kr(e,t){if(e===`input`||e===`change`)return z(t)}function Ar(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var jr=typeof Object.is==`function`?Object.is:Ar;function Mr(e,t){if(jr(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!l.call(t,i)||!jr(e[i],t[i]))return!1}return!0}function Nr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Pr(e,t){var n=Nr(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=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=Nr(n)}}function Fr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Fr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ir(){for(var e=window,t=ge();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=ge(e.document)}return t}function Lr(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`)}function Rr(e){var t=Ir(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Fr(n.ownerDocument.documentElement,n)){if(r!==null&&Lr(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),`selectionStart`in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,a=Math.min(r.start,i);r=r.end===void 0?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=Pr(n,a);var o=Pr(n,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus==`function`&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var zr=c&&`documentMode`in document&&11>=document.documentMode,Br=null,Vr=null,Hr=null,Ur=!1;function Wr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ur||Br==null||Br!==ge(r)||(r=Br,`selectionStart`in r&&Lr(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}),Hr&&Mr(Hr,r)||(Hr=r,r=gi(Vr,`onSelect`),0<r.length&&(t=new Nn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Br)))}function Gr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var Kr={animationend:Gr(`Animation`,`AnimationEnd`),animationiteration:Gr(`Animation`,`AnimationIteration`),animationstart:Gr(`Animation`,`AnimationStart`),transitionend:Gr(`Transition`,`TransitionEnd`)},qr={},Jr={};c&&(Jr=document.createElement(`div`).style,`AnimationEvent`in window||(delete Kr.animationend.animation,delete Kr.animationiteration.animation,delete Kr.animationstart.animation),`TransitionEvent`in window||delete Kr.transitionend.transition);function Yr(e){if(qr[e])return qr[e];if(!Kr[e])return e;var t=Kr[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Jr)return qr[e]=t[n];return e}var Xr=Yr(`animationend`),Zr=Yr(`animationiteration`),Qr=Yr(`animationstart`),$r=Yr(`transitionend`),ei=new Map,ti=`abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel`.split(` `);function ni(e,t){ei.set(e,t),o(t,[e])}for(var ri=0;ri<ti.length;ri++){var ii=ti[ri];ni(ii.toLowerCase(),`on`+(ii[0].toUpperCase()+ii.slice(1)))}ni(Xr,`onAnimationEnd`),ni(Zr,`onAnimationIteration`),ni(Qr,`onAnimationStart`),ni(`dblclick`,`onDoubleClick`),ni(`focusin`,`onFocus`),ni(`focusout`,`onBlur`),ni($r,`onTransitionEnd`),s(`onMouseEnter`,[`mouseout`,`mouseover`]),s(`onMouseLeave`,[`mouseout`,`mouseover`]),s(`onPointerEnter`,[`pointerout`,`pointerover`]),s(`onPointerLeave`,[`pointerout`,`pointerover`]),o(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),o(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),o(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),o(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),o(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),o(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var ai=`abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting`.split(` `),oi=new Set(`cancel close invalid load scroll toggle`.split(` `).concat(ai));function si(e,t,n){var r=e.type||`unknown-event`;e.currentTarget=n,ct(r,t,void 0,e),e.currentTarget=null}function ci(e,t){t=!!(t&4);for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;si(i,s,l),a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;si(i,s,l),a=c}}}if(it)throw e=at,it=!1,at=null,e}function li(e,t){var n=t[zi];n===void 0&&(n=t[zi]=new Set);var r=e+`__bubble`;n.has(r)||(pi(t,e,2,!1),n.add(r))}function ui(e,t,n){var r=0;t&&(r|=4),pi(n,e,r,t)}var di=`_reactListening`+Math.random().toString(36).slice(2);function fi(e){if(!e[di]){e[di]=!0,i.forEach(function(t){t!==`selectionchange`&&(oi.has(t)||ui(t,!1,e),ui(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[di]||(t[di]=!0,ui(`selectionchange`,!1,t))}}function pi(e,t,n,r){switch(Cn(t)){case 1:var i=vn;break;case 4:i=yn;break;default:i=bn}n=i.bind(null,t,n,e),i=void 0,!$e||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function mi(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var s=r.stateNode.containerInfo;if(s===i||s.nodeType===8&&s.parentNode===i)break;if(o===4)for(o=r.return;o!==null;){var c=o.tag;if((c===3||c===4)&&(c=o.stateNode.containerInfo,c===i||c.nodeType===8&&c.parentNode===i))return;o=o.return}for(;s!==null;){if(o=Hi(s),o===null)return;if(c=o.tag,c===5||c===6){r=a=o;continue a}s=s.parentNode}}r=r.return}Qe(function(){var r=a,i=He(n),o=[];a:{var s=ei.get(e);if(s!==void 0){var c=Nn,l=e;switch(e){case`keypress`:if(On(n)===0)break a;case`keydown`:case`keyup`:c=Zn;break;case`focusin`:l=`focus`,c=Hn;break;case`focusout`:l=`blur`,c=Hn;break;case`beforeblur`:case`afterblur`:c=Hn;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:c=Bn;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:c=Vn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:c=$n;break;case Xr:case Zr:case Qr:c=Un;break;case $r:c=er;break;case`scroll`:c=Fn;break;case`wheel`:c=tr;break;case`copy`:case`cut`:case`paste`:c=Wn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:c=Qn}var u=!!(t&4),d=!u&&e===`scroll`,f=u?s===null?null:s+`Capture`:s;u=[];for(var p=r,m;p!==null;){m=p;var h=m.stateNode;if(m.tag===5&&h!==null&&(m=h,f!==null&&(h=I(p,f),h!=null&&u.push(hi(p,h,m)))),d)break;p=p.return}0<u.length&&(s=new c(s,l,null,n,i),o.push({event:s,listeners:u}))}}if(!(t&7)){a:{if(s=e===`mouseover`||e===`pointerover`,c=e===`mouseout`||e===`pointerout`,s&&n!==Ve&&(l=n.relatedTarget||n.fromElement)&&(Hi(l)||l[Ri]))break a;if((c||s)&&(s=i.window===i?i:(s=i.ownerDocument)?s.defaultView||s.parentWindow:window,c?(l=n.relatedTarget||n.toElement,c=r,l=l?Hi(l):null,l!==null&&(d=lt(l),l!==d||l.tag!==5&&l.tag!==6)&&(l=null)):(c=null,l=r),c!==l)){if(u=Bn,h=`onMouseLeave`,f=`onMouseEnter`,p=`mouse`,(e===`pointerout`||e===`pointerover`)&&(u=Qn,h=`onPointerLeave`,f=`onPointerEnter`,p=`pointer`),d=c==null?s:Wi(c),m=l==null?s:Wi(l),s=new u(h,p+`leave`,c,n,i),s.target=d,s.relatedTarget=m,h=null,Hi(i)===r&&(u=new u(f,p+`enter`,l,n,i),u.target=m,u.relatedTarget=d,h=u),d=h,c&&l)b:{for(u=c,f=l,p=0,m=u;m;m=_i(m))p++;for(m=0,h=f;h;h=_i(h))m++;for(;0<p-m;)u=_i(u),p--;for(;0<m-p;)f=_i(f),m--;for(;p--;){if(u===f||f!==null&&u===f.alternate)break b;u=_i(u),f=_i(f)}u=null}else u=null;c!==null&&vi(o,s,c,u,!1),l!==null&&d!==null&&vi(o,d,l,u,!0)}}a:{if(s=r?Wi(r):window,c=s.nodeName&&s.nodeName.toLowerCase(),c===`select`||c===`input`&&s.type===`file`)var g=br;else if(hr(s)){if(xr)g=kr;else{g=Dr;var _=Er}}else(c=s.nodeName)&&c.toLowerCase()===`input`&&(s.type===`checkbox`||s.type===`radio`)&&(g=Or);if(g&&=g(e,r)){gr(o,g,n,i);break a}_&&_(e,s,r),e===`focusout`&&(_=s._wrapperState)&&_.controlled&&s.type===`number`&&Se(s,`number`,s.value)}switch(_=r?Wi(r):window,e){case`focusin`:(hr(_)||_.contentEditable===`true`)&&(Br=_,Vr=r,Hr=null);break;case`focusout`:Hr=Vr=Br=null;break;case`mousedown`:Ur=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:Ur=!1,Wr(o,n,i);break;case`selectionchange`:if(zr)break;case`keydown`:case`keyup`:Wr(o,n,i)}var v;if(rr)b:{switch(e){case`compositionstart`:var y=`onCompositionStart`;break b;case`compositionend`:y=`onCompositionEnd`;break b;case`compositionupdate`:y=`onCompositionUpdate`;break b}y=void 0}else dr?lr(e,n)&&(y=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(y=`onCompositionStart`);y&&(or&&n.locale!==`ko`&&(dr||y!==`onCompositionStart`?y===`onCompositionEnd`&&dr&&(v=Dn()):(wn=i,Tn=`value`in wn?wn.value:wn.textContent,dr=!0)),_=gi(r,y),0<_.length&&(y=new Gn(y,e,null,n,i),o.push({event:y,listeners:_}),v?y.data=v:(v=ur(n),v!==null&&(y.data=v)))),(v=ar?fr(e,n):pr(e,n))&&(r=gi(r,`onBeforeInput`),0<r.length&&(i=new Gn(`onBeforeInput`,`beforeinput`,null,n,i),o.push({event:i,listeners:r}),i.data=v))}ci(o,t)})}function hi(e,t,n){return{instance:e,listener:t,currentTarget:n}}function gi(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;i.tag===5&&a!==null&&(i=a,a=I(e,n),a!=null&&r.unshift(hi(e,a,i)),a=I(e,t),a!=null&&r.push(hi(e,a,i))),e=e.return}return r}function _i(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function vi(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(c!==null&&c===r)break;s.tag===5&&l!==null&&(s=l,i?(c=I(n,a),c!=null&&o.unshift(hi(n,c,s))):i||(c=I(n,a),c!=null&&o.push(hi(n,c,s)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var yi=/\r\n?/g,bi=/\u0000|\uFFFD/g;function xi(e){return(typeof e==`string`?e:``+e).replace(yi,`
`).replace(bi,``)}function Si(e,t,n){if(t=xi(t),xi(e)!==t&&n)throw Error(r(425))}function Ci(){}var wi=null,Ti=null;function Ei(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Di=typeof setTimeout==`function`?setTimeout:void 0,Oi=typeof clearTimeout==`function`?clearTimeout:void 0,ki=typeof Promise==`function`?Promise:void 0,Ai=typeof queueMicrotask==`function`?queueMicrotask:ki===void 0?Di:function(e){return ki.resolve(null).then(e).catch(ji)};function ji(e){setTimeout(function(){throw e})}function Mi(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8){if(n=i.data,n===`/$`){if(r===0){e.removeChild(i),hn(t);return}r--}else n!==`$`&&n!==`$?`&&n!==`$!`||r++}n=i}while(n);hn(t)}function Ni(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`)break;if(t===`/$`)return null}}return e}function Pi(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`){if(t===0)return e;t--}else n===`/$`&&t++}e=e.previousSibling}return null}var Fi=Math.random().toString(36).slice(2),Ii=`__reactFiber$`+Fi,Li=`__reactProps$`+Fi,Ri=`__reactContainer$`+Fi,zi=`__reactEvents$`+Fi,Bi=`__reactListeners$`+Fi,Vi=`__reactHandles$`+Fi;function Hi(e){var t=e[Ii];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Ri]||n[Ii]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Pi(e);e!==null;){if(n=e[Ii])return n;e=Pi(e)}return t}e=n,n=e.parentNode}return null}function Ui(e){return e=e[Ii]||e[Ri],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Wi(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(r(33))}function Gi(e){return e[Li]||null}var Ki=[],qi=-1;function Ji(e){return{current:e}}function Yi(e){0>qi||(e.current=Ki[qi],Ki[qi]=null,qi--)}function Xi(e,t){qi++,Ki[qi]=e.current,e.current=t}var Zi={},Qi=Ji(Zi),$i=Ji(!1),ea=Zi;function ta(e,t){var n=e.type.contextTypes;if(!n)return Zi;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in n)i[a]=t[a];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function na(e){return e=e.childContextTypes,e!=null}function ra(){Yi($i),Yi(Qi)}function ia(e,t,n){if(Qi.current!==Zi)throw Error(r(168));Xi(Qi,t),Xi($i,n)}function aa(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!=`function`)return n;for(var a in i=i.getChildContext(),i)if(!(a in t))throw Error(r(108,ue(e)||`Unknown`,a));return F({},n,i)}function oa(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Zi,ea=Qi.current,Xi(Qi,e),Xi($i,$i.current),!0}function sa(e,t,n){var i=e.stateNode;if(!i)throw Error(r(169));n?(e=aa(e,t,ea),i.__reactInternalMemoizedMergedChildContext=e,Yi($i),Yi(Qi),Xi(Qi,e)):Yi($i),Xi($i,n)}var ca=null,la=!1,ua=!1;function da(e){ca===null?ca=[e]:ca.push(e)}function fa(e){la=!0,da(e)}function pa(){if(!ua&&ca!==null){ua=!0;var e=0,t=Wt;try{var n=ca;for(Wt=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}ca=null,la=!1}catch(t){throw ca!==null&&(ca=ca.slice(e+1)),ht(xt,pa),t}finally{Wt=t,ua=!1}}return null}var ma=[],V=0,ha=null,ga=0,_a=[],va=0,ya=null,ba=1,xa=``;function Sa(e,t){ma[V++]=ga,ma[V++]=ha,ha=e,ga=t}function Ca(e,t,n){_a[va++]=ba,_a[va++]=xa,_a[va++]=ya,ya=e;var r=ba;e=xa;var i=32-Ot(r)-1;r&=~(1<<i),n+=1;var a=32-Ot(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,ba=1<<32-Ot(t)+i|n<<i|r,xa=a+e}else ba=1<<a|n<<i|r,xa=e}function wa(e){e.return!==null&&(Sa(e,1),Ca(e,1,0))}function Ta(e){for(;e===ha;)ha=ma[--V],ma[V]=null,ga=ma[--V],ma[V]=null;for(;e===ya;)ya=_a[--va],_a[va]=null,xa=_a[--va],_a[va]=null,ba=_a[--va],_a[va]=null}var Ea=null,Da=null,Oa=!1,ka=null;function Aa(e,t){var n=nu(5,null,null,0);n.elementType=`DELETED`,n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function ja(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null&&(e.stateNode=t,Ea=e,Da=Ni(t.firstChild),!0);case 6:return t=e.pendingProps===``||t.nodeType!==3?null:t,t!==null&&(e.stateNode=t,Ea=e,Da=null,!0);case 13:return t=t.nodeType===8?t:null,t!==null&&(n=ya===null?null:{id:ba,overflow:xa},e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=nu(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,Ea=e,Da=null,!0);default:return!1}}function Ma(e){return!!(e.mode&1)&&!(e.flags&128)}function Na(e){if(Oa){var t=Da;if(t){var n=t;if(!ja(e,t)){if(Ma(e))throw Error(r(418));t=Ni(n.nextSibling);var i=Ea;t&&ja(e,t)?Aa(i,n):(e.flags=e.flags&-4097|2,Oa=!1,Ea=e)}}else{if(Ma(e))throw Error(r(418));e.flags=e.flags&-4097|2,Oa=!1,Ea=e}}}function Pa(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Ea=e}function Fa(e){if(e!==Ea)return!1;if(!Oa)return Pa(e),Oa=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!==`head`&&t!==`body`&&!Ei(e.type,e.memoizedProps)),t&&=Da){if(Ma(e))throw Ia(),Error(r(418));for(;t;)Aa(e,t),t=Ni(t.nextSibling)}if(Pa(e),e.tag===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(r(317));a:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`){if(t===0){Da=Ni(e.nextSibling);break a}t--}else n!==`$`&&n!==`$!`&&n!==`$?`||t++}e=e.nextSibling}Da=null}}else Da=Ea?Ni(e.stateNode.nextSibling):null;return!0}function Ia(){for(var e=Da;e;)e=Ni(e.nextSibling)}function La(){Da=Ea=null,Oa=!1}function Ra(e){ka===null?ka=[e]:ka.push(e)}var za=C.ReactCurrentBatchConfig;function Ba(e,t,n){if(e=n.ref,e!==null&&typeof e!=`function`&&typeof e!=`object`){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(r(309));var i=n.stateNode}if(!i)throw Error(r(147,e));var a=i,o=``+e;return t!==null&&t.ref!==null&&typeof t.ref==`function`&&t.ref._stringRef===o?t.ref:(t=function(e){var t=a.refs;e===null?delete t[o]:t[o]=e},t._stringRef=o,t)}if(typeof e!=`string`)throw Error(r(284));if(!n._owner)throw Error(r(290,e))}return e}function Va(e,t){throw e=Object.prototype.toString.call(t),Error(r(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e))}function Ha(e){var t=e._init;return t(e._payload)}function Ua(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function i(e,t){for(e=new Map;t!==null;)t.key===null?e.set(t.index,t):e.set(t.key,t),t=t.sibling;return e}function a(e,t){return e=au(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=2,n):(r=r.index,r<n?(t.flags|=2,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=2),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=lu(n,e.mode,r),t.return=e,t):(t=a(t,n),t.return=e,t)}function l(e,t,n,r){var i=n.type;return i===E?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===i||typeof i==`object`&&i&&i.$$typeof===P&&Ha(i)===t.type)?(r=a(t,n.props),r.ref=Ba(e,t,n),r.return=e,r):(r=ou(n.type,n.key,n.props,null,e.mode,r),r.ref=Ba(e,t,n),r.return=e,r)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=uu(n,e.mode,r),t.return=e,t):(t=a(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,i){return t===null||t.tag!==7?(t=su(n,e.mode,r,i),t.return=e,t):(t=a(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`)return t=lu(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case w:return n=ou(t.type,t.key,t.props,null,e.mode,n),n.ref=Ba(e,null,t),n.return=e,n;case T:return t=uu(t,e.mode,n),t.return=e,t;case P:var r=t._init;return f(e,r(t._payload),n)}if(Ce(t)||re(t))return t=su(t,e.mode,n,null),t.return=e,t;Va(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case w:return n.key===i?l(e,t,n,r):null;case T:return n.key===i?u(e,t,n,r):null;case P:return i=n._init,p(e,t,i(n._payload),r)}if(Ce(n)||re(n))return i===null?d(e,t,n,r,null):null;Va(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case w:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case T:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case P:var a=r._init;return m(e,t,n,a(r._payload),i)}if(Ce(r)||re(r))return e=e.get(n)||null,d(t,e,r,i,null);Va(t,r)}return null}function h(r,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(r,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(r,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(r,d),Oa&&Sa(r,h),l;if(d===null){for(;h<s.length;h++)d=f(r,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return Oa&&Sa(r,h),l}for(d=i(r,d);h<s.length;h++)g=m(d,r,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(r,e)}),Oa&&Sa(r,h),l}function g(a,s,c,l){var u=re(c);if(typeof u!=`function`)throw Error(r(150));if(c=u.call(c),c==null)throw Error(r(151));for(var d=u=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),Oa&&Sa(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return Oa&&Sa(a,g),u}for(h=i(a,h);!v.done;g++,v=c.next())v=m(h,a,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(a,e)}),Oa&&Sa(a,g),u}function _(e,r,i,o){if(typeof i==`object`&&i&&i.type===E&&i.key===null&&(i=i.props.children),typeof i==`object`&&i){switch(i.$$typeof){case w:a:{for(var c=i.key,l=r;l!==null;){if(l.key===c){if(c=i.type,c===E){if(l.tag===7){n(e,l.sibling),r=a(l,i.props.children),r.return=e,e=r;break a}}else if(l.elementType===c||typeof c==`object`&&c&&c.$$typeof===P&&Ha(c)===l.type){n(e,l.sibling),r=a(l,i.props),r.ref=Ba(e,l,i),r.return=e,e=r;break a}n(e,l);break}t(e,l),l=l.sibling}i.type===E?(r=su(i.props.children,e.mode,o,i.key),r.return=e,e=r):(o=ou(i.type,i.key,i.props,null,e.mode,o),o.ref=Ba(e,r,i),o.return=e,e=o)}return s(e);case T:a:{for(l=i.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===i.containerInfo&&r.stateNode.implementation===i.implementation){n(e,r.sibling),r=a(r,i.children||[]),r.return=e,e=r;break a}n(e,r);break}t(e,r),r=r.sibling}r=uu(i,e.mode,o),r.return=e,e=r}return s(e);case P:return l=i._init,_(e,r,l(i._payload),o)}if(Ce(i))return h(e,r,i,o);if(re(i))return g(e,r,i,o);Va(e,i)}return typeof i==`string`&&i!==``||typeof i==`number`?(i=``+i,r!==null&&r.tag===6?(n(e,r.sibling),r=a(r,i),r.return=e,e=r):(n(e,r),r=lu(i,e.mode,o),r.return=e,e=r),s(e)):n(e,r)}return _}var Wa=Ua(!0),Ga=Ua(!1),Ka=Ji(null),qa=null,Ja=null,Ya=null;function Xa(){Ya=Ja=qa=null}function Za(e){var t=Ka.current;Yi(Ka),e._currentValue=t}function Qa(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function $a(e,t){qa=e,Ya=Ja=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(Hs=!0),e.firstContext=null)}function eo(e){var t=e._currentValue;if(Ya!==e){if(e={context:e,memoizedValue:t,next:null},Ja===null){if(qa===null)throw Error(r(308));Ja=e,qa.dependencies={lanes:0,firstContext:e}}else Ja=Ja.next=e}return t}var to=null;function no(e){to===null?to=[e]:to.push(e)}function ro(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,no(t)):(n.next=i.next,i.next=n),t.interleaved=n,io(e,r)}function io(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var ao=!1;function oo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function so(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function co(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function lo(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Zc&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,io(e,n)}return i=r.interleaved,i===null?(t.next=t,no(r)):(t.next=i.next,i.next=t),r.interleaved=t,io(e,n)}function uo(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194240)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ut(e,n)}}function fo(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={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,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,effects:r.effects},e.updateQueue=n}else e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function po(e,t,n,r){var i=e.updateQueue;ao=!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,p=s.eventTime;if((r&f)===f){u!==null&&(u=u.next={eventTime:p,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});a:{var m=e,h=s;switch(f=t,p=n,h.tag){case 1:if(m=h.payload,typeof m==`function`){d=m.call(p,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=h.payload,f=typeof m==`function`?m.call(p,d,f):m,f==null)break a;d=F({},d,f);break a;case 2:ao=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,f=i.effects,f===null?i.effects=[s]:f.push(s))}else p={eventTime:p,lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;f=s,s=f.next,f.next=null,i.lastBaseUpdate=f,i.shared.pending=null}}while(1);if(u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,t=i.shared.interleaved,t!==null){i=t;do o|=i.lane,i=i.next;while(i!==t)}else a===null&&(i.shared.lanes=0);al|=o,e.lanes=o,e.memoizedState=d}}function mo(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var i=e[t],a=i.callback;if(a!==null){if(i.callback=null,i=n,typeof a!=`function`)throw Error(r(191,a));a.call(i)}}}var ho={},go=Ji(ho),_o=Ji(ho),vo=Ji(ho);function yo(e){if(e===ho)throw Error(r(174));return e}function bo(e,t){switch(Xi(vo,t),Xi(_o,e),Xi(go,ho),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Ae(null,``);break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Ae(t,e)}Yi(go),Xi(go,t)}function xo(){Yi(go),Yi(_o),Yi(vo)}function So(e){yo(vo.current);var t=yo(go.current),n=Ae(t,e.type);t!==n&&(Xi(_o,e),Xi(go,n))}function Co(e){_o.current===e&&(Yi(go),Yi(_o))}var H=Ji(0);function wo(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data===`$?`||n.data===`$!`))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var To=[];function Eo(){for(var e=0;e<To.length;e++)To[e]._workInProgressVersionPrimary=null;To.length=0}var Do=C.ReactCurrentDispatcher,Oo=C.ReactCurrentBatchConfig,ko=0,Ao=null,jo=null,Mo=null,No=!1,Po=!1,Fo=0,Io=0;function Lo(){throw Error(r(321))}function Ro(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!jr(e[n],t[n]))return!1;return!0}function zo(e,t,n,i,a,o){if(ko=o,Ao=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Do.current=e===null||e.memoizedState===null?Ss:Cs,e=n(i,a),Po){o=0;do{if(Po=!1,Fo=0,25<=o)throw Error(r(301));o+=1,Mo=jo=null,t.updateQueue=null,Do.current=ws,e=n(i,a)}while(Po)}if(Do.current=xs,t=jo!==null&&jo.next!==null,ko=0,Mo=jo=Ao=null,No=!1,t)throw Error(r(300));return e}function Bo(){var e=Fo!==0;return Fo=0,e}function Vo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Mo===null?Ao.memoizedState=Mo=e:Mo=Mo.next=e,Mo}function Ho(){if(jo===null){var e=Ao.alternate;e=e===null?null:e.memoizedState}else e=jo.next;var t=Mo===null?Ao.memoizedState:Mo.next;if(t!==null)Mo=t,jo=e;else{if(e===null)throw Error(r(310));jo=e,e={memoizedState:jo.memoizedState,baseState:jo.baseState,baseQueue:jo.baseQueue,queue:jo.queue,next:null},Mo===null?Ao.memoizedState=Mo=e:Mo=Mo.next=e}return Mo}function Uo(e,t){return typeof t==`function`?t(e):t}function Wo(e){var t=Ho(),n=t.queue;if(n===null)throw Error(r(311));n.lastRenderedReducer=e;var i=jo,a=i.baseQueue,o=n.pending;if(o!==null){if(a!==null){var s=a.next;a.next=o.next,o.next=s}i.baseQueue=a=o,n.pending=null}if(a!==null){o=a.next,i=i.baseState;var c=s=null,l=null,u=o;do{var d=u.lane;if((ko&d)===d)l!==null&&(l=l.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),i=u.hasEagerState?u.eagerState:e(i,u.action);else{var f={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};l===null?(c=l=f,s=i):l=l.next=f,Ao.lanes|=d,al|=d}u=u.next}while(u!==null&&u!==o);l===null?s=i:l.next=c,jr(i,t.memoizedState)||(Hs=!0),t.memoizedState=i,t.baseState=s,t.baseQueue=l,n.lastRenderedState=i}if(e=n.interleaved,e!==null){a=e;do o=a.lane,Ao.lanes|=o,al|=o,a=a.next;while(a!==e)}else a===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Go(e){var t=Ho(),n=t.queue;if(n===null)throw Error(r(311));n.lastRenderedReducer=e;var i=n.dispatch,a=n.pending,o=t.memoizedState;if(a!==null){n.pending=null;var s=a=a.next;do o=e(o,s.action),s=s.next;while(s!==a);jr(o,t.memoizedState)||(Hs=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,i]}function Ko(){}function qo(e,t){var n=Ao,i=Ho(),a=t(),o=!jr(i.memoizedState,a);if(o&&(i.memoizedState=a,Hs=!0),i=i.queue,as(Xo.bind(null,n,i,e),[e]),i.getSnapshot!==t||o||Mo!==null&&Mo.memoizedState.tag&1){if(n.flags|=2048,es(9,Yo.bind(null,n,i,a,t),void 0,null),Qc===null)throw Error(r(349));ko&30||Jo(n,t,a)}return a}function Jo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Ao.updateQueue,t===null?(t={lastEffect:null,stores:null},Ao.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Yo(e,t,n,r){t.value=n,t.getSnapshot=r,Zo(t)&&Qo(e)}function Xo(e,t,n){return n(function(){Zo(t)&&Qo(e)})}function Zo(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!jr(e,n)}catch{return!0}}function Qo(e){var t=io(e,1);t!==null&&Tl(t,e,1,-1)}function $o(e){var t=Vo();return typeof e==`function`&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Uo,lastRenderedState:e},t.queue=e,e=e.dispatch=_s.bind(null,Ao,e),[t.memoizedState,e]}function es(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=Ao.updateQueue,t===null?(t={lastEffect:null,stores:null},Ao.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e)),e}function ts(){return Ho().memoizedState}function ns(e,t,n,r){var i=Vo();Ao.flags|=e,i.memoizedState=es(1|t,n,void 0,r===void 0?null:r)}function rs(e,t,n,r){var i=Ho();r=r===void 0?null:r;var a=void 0;if(jo!==null){var o=jo.memoizedState;if(a=o.destroy,r!==null&&Ro(r,o.deps)){i.memoizedState=es(t,n,a,r);return}}Ao.flags|=e,i.memoizedState=es(1|t,n,a,r)}function is(e,t){return ns(8390656,8,e,t)}function as(e,t){return rs(2048,8,e,t)}function os(e,t){return rs(4,2,e,t)}function ss(e,t){return rs(4,4,e,t)}function cs(e,t){if(typeof t==`function`)return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function ls(e,t,n){return n=n==null?null:n.concat([e]),rs(4,4,cs.bind(null,t,e),n)}function us(){}function ds(e,t){var n=Ho();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&Ro(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function fs(e,t){var n=Ho();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&Ro(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function ps(e,t,n){return ko&21?(jr(n,t)||(n=zt(),Ao.lanes|=n,al|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Hs=!0),e.memoizedState=n)}function ms(e,t){var n=Wt;Wt=n!==0&&4>n?n:4,e(!0);var r=Oo.transition;Oo.transition={};try{e(!1),t()}finally{Wt=n,Oo.transition=r}}function hs(){return Ho().memoizedState}function gs(e,t,n){var r=wl(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},vs(e))ys(t,n);else if(n=ro(e,t,n,r),n!==null){var i=Cl();Tl(n,e,r,i),bs(n,t,r)}}function _s(e,t,n){var r=wl(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(vs(e))ys(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,jr(s,o)){var c=t.interleaved;c===null?(i.next=i,no(t)):(i.next=c.next,c.next=i),t.interleaved=i;return}}catch{}n=ro(e,t,i,r),n!==null&&(i=Cl(),Tl(n,e,r,i),bs(n,t,r))}}function vs(e){var t=e.alternate;return e===Ao||t!==null&&t===Ao}function ys(e,t){Po=No=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function bs(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ut(e,n)}}var xs={readContext:eo,useCallback:Lo,useContext:Lo,useEffect:Lo,useImperativeHandle:Lo,useInsertionEffect:Lo,useLayoutEffect:Lo,useMemo:Lo,useReducer:Lo,useRef:Lo,useState:Lo,useDebugValue:Lo,useDeferredValue:Lo,useTransition:Lo,useMutableSource:Lo,useSyncExternalStore:Lo,useId:Lo,unstable_isNewReconciler:!1},Ss={readContext:eo,useCallback:function(e,t){return Vo().memoizedState=[e,t===void 0?null:t],e},useContext:eo,useEffect:is,useImperativeHandle:function(e,t,n){return n=n==null?null:n.concat([e]),ns(4194308,4,cs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ns(4194308,4,e,t)},useInsertionEffect:function(e,t){return ns(4,2,e,t)},useMemo:function(e,t){var n=Vo();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Vo();return t=n===void 0?t:n(t),r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=gs.bind(null,Ao,e),[r.memoizedState,e]},useRef:function(e){var t=Vo();return e={current:e},t.memoizedState=e},useState:$o,useDebugValue:us,useDeferredValue:function(e){return Vo().memoizedState=e},useTransition:function(){var e=$o(!1),t=e[0];return e=ms.bind(null,e[1]),Vo().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=Ao,a=Vo();if(Oa){if(n===void 0)throw Error(r(407));n=n()}else{if(n=t(),Qc===null)throw Error(r(349));ko&30||Jo(i,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,is(Xo.bind(null,i,o,e),[e]),i.flags|=2048,es(9,Yo.bind(null,i,o,n,t),void 0,null),n},useId:function(){var e=Vo(),t=Qc.identifierPrefix;if(Oa){var n=xa,r=ba;n=(r&~(1<<32-Ot(r)-1)).toString(32)+n,t=`:`+t+`R`+n,n=Fo++,0<n&&(t+=`H`+n.toString(32)),t+=`:`}else n=Io++,t=`:`+t+`r`+n.toString(32)+`:`;return e.memoizedState=t},unstable_isNewReconciler:!1},Cs={readContext:eo,useCallback:ds,useContext:eo,useEffect:as,useImperativeHandle:ls,useInsertionEffect:os,useLayoutEffect:ss,useMemo:fs,useReducer:Wo,useRef:ts,useState:function(){return Wo(Uo)},useDebugValue:us,useDeferredValue:function(e){return ps(Ho(),jo.memoizedState,e)},useTransition:function(){return[Wo(Uo)[0],Ho().memoizedState]},useMutableSource:Ko,useSyncExternalStore:qo,useId:hs,unstable_isNewReconciler:!1},ws={readContext:eo,useCallback:ds,useContext:eo,useEffect:as,useImperativeHandle:ls,useInsertionEffect:os,useLayoutEffect:ss,useMemo:fs,useReducer:Go,useRef:ts,useState:function(){return Go(Uo)},useDebugValue:us,useDeferredValue:function(e){var t=Ho();return jo===null?t.memoizedState=e:ps(t,jo.memoizedState,e)},useTransition:function(){return[Go(Uo)[0],Ho().memoizedState]},useMutableSource:Ko,useSyncExternalStore:qo,useId:hs,unstable_isNewReconciler:!1};function Ts(e,t){if(e&&e.defaultProps){for(var n in t=F({},t),e=e.defaultProps,e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function Es(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:F({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Ds={isMounted:function(e){return(e=e._reactInternals)?lt(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Cl(),i=wl(e),a=co(r,i);a.payload=t,n!=null&&(a.callback=n),t=lo(e,a,i),t!==null&&(Tl(t,e,i,r),uo(t,e,i))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Cl(),i=wl(e),a=co(r,i);a.tag=1,a.payload=t,n!=null&&(a.callback=n),t=lo(e,a,i),t!==null&&(Tl(t,e,i,r),uo(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Cl(),r=wl(e),i=co(n,r);i.tag=2,t!=null&&(i.callback=t),t=lo(e,i,r),t!==null&&(Tl(t,e,r,n),uo(t,e,r))}};function Os(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!Mr(n,r)||!Mr(i,a):!0}function ks(e,t,n){var r=!1,i=Zi,a=t.contextType;return typeof a==`object`&&a?a=eo(a):(i=na(t)?ea:Qi.current,r=t.contextTypes,a=(r=r!=null)?ta(e,i):Zi),t=new t(n,a),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Ds,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=a),t}function As(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Ds.enqueueReplaceState(t,t.state,null)}function js(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs={},oo(e);var a=t.contextType;typeof a==`object`&&a?i.context=eo(a):(a=na(t)?ea:Qi.current,i.context=ta(e,a)),i.state=e.memoizedState,a=t.getDerivedStateFromProps,typeof a==`function`&&(Es(e,t,a,n),i.state=e.memoizedState),typeof t.getDerivedStateFromProps==`function`||typeof i.getSnapshotBeforeUpdate==`function`||typeof i.UNSAFE_componentWillMount!=`function`&&typeof i.componentWillMount!=`function`||(t=i.state,typeof i.componentWillMount==`function`&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount==`function`&&i.UNSAFE_componentWillMount(),t!==i.state&&Ds.enqueueReplaceState(i,i.state,null),po(e,n,i,r),i.state=e.memoizedState),typeof i.componentDidMount==`function`&&(e.flags|=4194308)}function Ms(e,t){try{var n=``,r=t;do n+=ce(r),r=r.return;while(r);var i=n}catch(e){i=`
Error generating stack: `+e.message+`
`+e.stack}return{value:e,source:t,stack:i,digest:null}}function Ns(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Ps(e,t){try{console.error(t.value)}catch(e){setTimeout(function(){throw e})}}var Fs=typeof WeakMap==`function`?WeakMap:Map;function Is(e,t,n){n=co(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){pl||(pl=!0,ml=r),Ps(e,t)},n}function Ls(e,t,n){n=co(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r==`function`){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){Ps(e,t)}}var a=e.stateNode;return a!==null&&typeof a.componentDidCatch==`function`&&(n.callback=function(){Ps(e,t),typeof r!=`function`&&(hl===null?hl=new Set([this]):hl.add(this));var n=t.stack;this.componentDidCatch(t.value,{componentStack:n===null?``:n})}),n}function Rs(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Fs;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)||(i.add(n),e=Yl.bind(null,e,t,n),t.then(e,e))}function zs(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t===null||t.dehydrated!==null),t)return e;e=e.return}while(e!==null);return null}function Bs(e,t,n,r,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=co(-1,1),t.tag=2,lo(n,t,1))),n.lanes|=1),e)}var Vs=C.ReactCurrentOwner,Hs=!1;function Us(e,t,n,r){t.child=e===null?Ga(t,null,n,r):Wa(t,e.child,n,r)}function Ws(e,t,n,r,i){n=n.render;var a=t.ref;return $a(t,i),r=zo(e,t,n,r,a,i),n=Bo(),e!==null&&!Hs?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,uc(e,t,i)):(Oa&&n&&wa(t),t.flags|=1,Us(e,t,r,i),t.child)}function Gs(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!ru(a)&&a.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=a,Ks(e,t,a,r,i)):(e=ou(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,(e.lanes&i)===0){var o=a.memoizedProps;if(n=n.compare,n=n===null?Mr:n,n(o,r)&&e.ref===t.ref)return uc(e,t,i)}return t.flags|=1,e=au(a,r),e.ref=t.ref,e.return=t,t.child=e}function Ks(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(Mr(a,r)&&e.ref===t.ref){if(Hs=!1,t.pendingProps=r=a,(e.lanes&i)!==0)e.flags&131072&&(Hs=!0);else return t.lanes=e.lanes,uc(e,t,i)}}return Ys(e,t,n,r,i)}function qs(e,t,n){var r=t.pendingProps,i=r.children,a=e===null?null:e.memoizedState;if(r.mode===`hidden`){if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Xi(nl,tl),tl|=n;else{if(!(n&1073741824))return e=a===null?n:a.baseLanes|n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Xi(nl,tl),tl|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=a===null?n:a.baseLanes,Xi(nl,tl),tl|=r}}else a===null?r=n:(r=a.baseLanes|n,t.memoizedState=null),Xi(nl,tl),tl|=r;return Us(e,t,i,n),t.child}function Js(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Ys(e,t,n,r,i){var a=na(n)?ea:Qi.current;return a=ta(t,a),$a(t,i),n=zo(e,t,n,r,a,i),r=Bo(),e!==null&&!Hs?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,uc(e,t,i)):(Oa&&r&&wa(t),t.flags|=1,Us(e,t,n,i),t.child)}function Xs(e,t,n,r,i){if(na(n)){var a=!0;oa(t)}else a=!1;if($a(t,i),t.stateNode===null)lc(e,t),ks(t,n,r),js(t,n,r,i),r=!0;else if(e===null){var o=t.stateNode,s=t.memoizedProps;o.props=s;var c=o.context,l=n.contextType;typeof l==`object`&&l?l=eo(l):(l=na(n)?ea:Qi.current,l=ta(t,l));var u=n.getDerivedStateFromProps,d=typeof u==`function`||typeof o.getSnapshotBeforeUpdate==`function`;d||typeof o.UNSAFE_componentWillReceiveProps!=`function`&&typeof o.componentWillReceiveProps!=`function`||(s!==r||c!==l)&&As(t,o,r,l),ao=!1;var f=t.memoizedState;o.state=f,po(t,r,o,i),c=t.memoizedState,s!==r||f!==c||$i.current||ao?(typeof u==`function`&&(Es(t,n,u,r),c=t.memoizedState),(s=ao||Os(t,n,s,r,f,c,l))?(d||typeof o.UNSAFE_componentWillMount!=`function`&&typeof o.componentWillMount!=`function`||(typeof o.componentWillMount==`function`&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount==`function`&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount==`function`&&(t.flags|=4194308)):(typeof o.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=c),o.props=r,o.state=c,o.context=l,r=s):(typeof o.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,so(e,t),s=t.memoizedProps,l=t.type===t.elementType?s:Ts(t.type,s),o.props=l,d=t.pendingProps,f=o.context,c=n.contextType,typeof c==`object`&&c?c=eo(c):(c=na(n)?ea:Qi.current,c=ta(t,c));var p=n.getDerivedStateFromProps;(u=typeof p==`function`||typeof o.getSnapshotBeforeUpdate==`function`)||typeof o.UNSAFE_componentWillReceiveProps!=`function`&&typeof o.componentWillReceiveProps!=`function`||(s!==d||f!==c)&&As(t,o,r,c),ao=!1,f=t.memoizedState,o.state=f,po(t,r,o,i);var m=t.memoizedState;s!==d||f!==m||$i.current||ao?(typeof p==`function`&&(Es(t,n,p,r),m=t.memoizedState),(l=ao||Os(t,n,l,r,f,m,c)||!1)?(u||typeof o.UNSAFE_componentWillUpdate!=`function`&&typeof o.componentWillUpdate!=`function`||(typeof o.componentWillUpdate==`function`&&o.componentWillUpdate(r,m,c),typeof o.UNSAFE_componentWillUpdate==`function`&&o.UNSAFE_componentWillUpdate(r,m,c)),typeof o.componentDidUpdate==`function`&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof o.componentDidUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),o.props=r,o.state=m,o.context=c,r=l):(typeof o.componentDidUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return Zs(e,t,n,r,a,i)}function Zs(e,t,n,r,i,a){Js(e,t);var o=!!(t.flags&128);if(!r&&!o)return i&&sa(t,n,!1),uc(e,t,a);r=t.stateNode,Vs.current=t;var s=o&&typeof n.getDerivedStateFromError!=`function`?null:r.render();return t.flags|=1,e!==null&&o?(t.child=Wa(t,e.child,null,a),t.child=Wa(t,null,s,a)):Us(e,t,s,a),t.memoizedState=r.state,i&&sa(t,n,!0),t.child}function Qs(e){var t=e.stateNode;t.pendingContext?ia(e,t.pendingContext,t.pendingContext!==t.context):t.context&&ia(e,t.context,!1),bo(e,t.containerInfo)}function $s(e,t,n,r,i){return La(),Ra(i),t.flags|=256,Us(e,t,n,r),t.child}var ec={dehydrated:null,treeContext:null,retryLane:0};function tc(e){return{baseLanes:e,cachePool:null,transitions:null}}function nc(e,t,n){var r=t.pendingProps,i=H.current,a=!1,o=!!(t.flags&128),s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:!!(i&2)),s?(a=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),Xi(H,i&1),e===null)return Na(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.lanes=t.mode&1?e.data===`$!`?8:1073741824:1,null):(o=r.children,e=r.fallback,a?(r=t.mode,a=t.child,o={mode:`hidden`,children:o},!(r&1)&&a!==null?(a.childLanes=0,a.pendingProps=o):a=cu(o,r,0,null),e=su(e,r,n,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=tc(n),t.memoizedState=ec,e):rc(t,o));if(i=e.memoizedState,i!==null&&(s=i.dehydrated,s!==null))return ac(e,t,o,r,s,i,n);if(a){a=r.fallback,o=t.mode,i=e.child,s=i.sibling;var c={mode:`hidden`,children:r.children};return!(o&1)&&t.child!==i?(r=t.child,r.childLanes=0,r.pendingProps=c,t.deletions=null):(r=au(i,c),r.subtreeFlags=i.subtreeFlags&14680064),s===null?(a=su(a,o,n,null),a.flags|=2):a=au(s,a),a.return=t,r.return=t,r.sibling=a,t.child=r,r=a,a=t.child,o=e.child.memoizedState,o=o===null?tc(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},a.memoizedState=o,a.childLanes=e.childLanes&~n,t.memoizedState=ec,r}return a=e.child,e=a.sibling,r=au(a,{mode:`visible`,children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function rc(e,t){return t=cu({mode:`visible`,children:t},e.mode,0,null),t.return=e,e.child=t}function ic(e,t,n,r){return r!==null&&Ra(r),Wa(t,e.child,null,n),e=rc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function ac(e,t,n,i,a,o,s){if(n)return t.flags&256?(t.flags&=-257,i=Ns(Error(r(422))),ic(e,t,s,i)):t.memoizedState===null?(o=i.fallback,a=t.mode,i=cu({mode:`visible`,children:i.children},a,0,null),o=su(o,a,s,null),o.flags|=2,i.return=t,o.return=t,i.sibling=o,t.child=i,t.mode&1&&Wa(t,e.child,null,s),t.child.memoizedState=tc(s),t.memoizedState=ec,o):(t.child=e.child,t.flags|=128,null);if(!(t.mode&1))return ic(e,t,s,null);if(a.data===`$!`){if(i=a.nextSibling&&a.nextSibling.dataset,i)var c=i.dgst;return i=c,o=Error(r(419)),i=Ns(o,i,void 0),ic(e,t,s,i)}if(c=(s&e.childLanes)!==0,Hs||c){if(i=Qc,i!==null){switch(s&-s){case 4:a=2;break;case 16:a=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}a=(a&(i.suspendedLanes|s))===0?a:0,a!==0&&a!==o.retryLane&&(o.retryLane=a,io(e,a),Tl(i,e,a,-1))}return Rl(),i=Ns(Error(r(421))),ic(e,t,s,i)}return a.data===`$?`?(t.flags|=128,t.child=e.child,t=Zl.bind(null,e),a._reactRetry=t,null):(e=o.treeContext,Da=Ni(a.nextSibling),Ea=t,Oa=!0,ka=null,e!==null&&(_a[va++]=ba,_a[va++]=xa,_a[va++]=ya,ba=e.id,xa=e.overflow,ya=t),t=rc(t,i.children),t.flags|=4096,t)}function oc(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Qa(e.return,t,n)}function sc(e,t,n,r,i){var a=e.memoizedState;a===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=i)}function cc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;if(Us(e,t,r.children,n),r=H.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&oc(e,n,t);else if(e.tag===19)oc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Xi(H,r),!(t.mode&1))t.memoizedState=null;else switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&wo(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),sc(t,!1,i,n,a);break;case`backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&wo(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}sc(t,!0,n,null,a);break;case`together`:sc(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function lc(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function uc(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),al|=t.lanes,(n&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(r(153));if(t.child!==null){for(e=t.child,n=au(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=au(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function dc(e,t,n){switch(t.tag){case 3:Qs(t),La();break;case 5:So(t);break;case 1:na(t.type)&&oa(t);break;case 4:bo(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;Xi(Ka,r._currentValue),r._currentValue=i;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(Xi(H,H.current&1),e=uc(e,t,n),e===null?null:e.sibling):nc(e,t,n):(Xi(H,H.current&1),t.flags|=128,null);Xi(H,H.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return cc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),Xi(H,H.current),r)break;return null;case 22:case 23:return t.lanes=0,qs(e,t,n)}return uc(e,t,n)}var fc=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},pc=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,yo(go.current);var o=null;switch(n){case`input`:i=_e(e,i),r=_e(e,r),o=[];break;case`select`:i=F({},i,{value:void 0}),r=F({},r,{value:void 0}),o=[];break;case`textarea`:i=Te(e,i),r=Te(e,r),o=[];break;default:typeof i.onClick!=`function`&&typeof r.onClick==`function`&&(e.onclick=Ci)}ze(n,r);var s;for(u in n=null,i)if(!r.hasOwnProperty(u)&&i.hasOwnProperty(u)&&i[u]!=null){if(u===`style`){var c=i[u];for(s in c)c.hasOwnProperty(s)&&(n||={},n[s]=``)}else u!==`dangerouslySetInnerHTML`&&u!==`children`&&u!==`suppressContentEditableWarning`&&u!==`suppressHydrationWarning`&&u!==`autoFocus`&&(a.hasOwnProperty(u)?o||=[]:(o||=[]).push(u,null))}for(u in r){var l=r[u];if(c=i?.[u],r.hasOwnProperty(u)&&l!==c&&(l!=null||c!=null)){if(u===`style`){if(c){for(s in c)!c.hasOwnProperty(s)||l&&l.hasOwnProperty(s)||(n||={},n[s]=``);for(s in l)l.hasOwnProperty(s)&&c[s]!==l[s]&&(n||={},n[s]=l[s])}else n||(o||=[],o.push(u,n)),n=l}else u===`dangerouslySetInnerHTML`?(l=l?l.__html:void 0,c=c?c.__html:void 0,l!=null&&c!==l&&(o||=[]).push(u,l)):u===`children`?typeof l!=`string`&&typeof l!=`number`||(o||=[]).push(u,``+l):u!==`suppressContentEditableWarning`&&u!==`suppressHydrationWarning`&&(a.hasOwnProperty(u)?(l!=null&&u===`onScroll`&&li(`scroll`,e),o||c===l||(o=[])):(o||=[]).push(u,l))}}n&&(o||=[]).push(`style`,n);var u=o;(t.updateQueue=u)&&(t.flags|=4)}},mc=function(e,t,n,r){n!==r&&(t.flags|=4)};function hc(e,t){if(!Oa)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function gc(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function _c(e,t,n){var i=t.pendingProps;switch(Ta(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return gc(t),null;case 1:return na(t.type)&&ra(),gc(t),null;case 3:return i=t.stateNode,xo(),Yi($i),Yi(Qi),Eo(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(Fa(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,ka!==null&&(kl(ka),ka=null))),gc(t),null;case 5:Co(t);var o=yo(vo.current);if(n=t.type,e!==null&&t.stateNode!=null)pc(e,t,n,i,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!i){if(t.stateNode===null)throw Error(r(166));return gc(t),null}if(e=yo(go.current),Fa(t)){i=t.stateNode,n=t.type;var s=t.memoizedProps;switch(i[Ii]=t,i[Li]=s,e=!!(t.mode&1),n){case`dialog`:li(`cancel`,i),li(`close`,i);break;case`iframe`:case`object`:case`embed`:li(`load`,i);break;case`video`:case`audio`:for(o=0;o<ai.length;o++)li(ai[o],i);break;case`source`:li(`error`,i);break;case`img`:case`image`:case`link`:li(`error`,i),li(`load`,i);break;case`details`:li(`toggle`,i);break;case`input`:ve(i,s),li(`invalid`,i);break;case`select`:i._wrapperState={wasMultiple:!!s.multiple},li(`invalid`,i);break;case`textarea`:Ee(i,s),li(`invalid`,i)}for(var c in ze(n,s),o=null,s)if(s.hasOwnProperty(c)){var l=s[c];c===`children`?typeof l==`string`?i.textContent!==l&&(!0!==s.suppressHydrationWarning&&Si(i.textContent,l,e),o=[`children`,l]):typeof l==`number`&&i.textContent!==``+l&&(!0!==s.suppressHydrationWarning&&Si(i.textContent,l,e),o=[`children`,``+l]):a.hasOwnProperty(c)&&l!=null&&c===`onScroll`&&li(`scroll`,i)}switch(n){case`input`:me(i),xe(i,s,!0);break;case`textarea`:me(i),Oe(i);break;case`select`:case`option`:break;default:typeof s.onClick==`function`&&(i.onclick=Ci)}i=o,t.updateQueue=i,i!==null&&(t.flags|=4)}else{c=o.nodeType===9?o:o.ownerDocument,e===`http://www.w3.org/1999/xhtml`&&(e=ke(n)),e===`http://www.w3.org/1999/xhtml`?n===`script`?(e=c.createElement(`div`),e.innerHTML=`<script><\/script>`,e=e.removeChild(e.firstChild)):typeof i.is==`string`?e=c.createElement(n,{is:i.is}):(e=c.createElement(n),n===`select`&&(c=e,i.multiple?c.multiple=!0:i.size&&(c.size=i.size))):e=c.createElementNS(e,n),e[Ii]=t,e[Li]=i,fc(e,t,!1,!1),t.stateNode=e;a:{switch(c=Be(n,i),n){case`dialog`:li(`cancel`,e),li(`close`,e),o=i;break;case`iframe`:case`object`:case`embed`:li(`load`,e),o=i;break;case`video`:case`audio`:for(o=0;o<ai.length;o++)li(ai[o],e);o=i;break;case`source`:li(`error`,e),o=i;break;case`img`:case`image`:case`link`:li(`error`,e),li(`load`,e),o=i;break;case`details`:li(`toggle`,e),o=i;break;case`input`:ve(e,i),o=_e(e,i),li(`invalid`,e);break;case`option`:o=i;break;case`select`:e._wrapperState={wasMultiple:!!i.multiple},o=F({},i,{value:void 0}),li(`invalid`,e);break;case`textarea`:Ee(e,i),o=Te(e,i),li(`invalid`,e);break;default:o=i}for(s in ze(n,o),l=o,l)if(l.hasOwnProperty(s)){var u=l[s];s===`style`?Le(e,u):s===`dangerouslySetInnerHTML`?(u=u?u.__html:void 0,u!=null&&Me(e,u)):s===`children`?typeof u==`string`?(n!==`textarea`||u!==``)&&Ne(e,u):typeof u==`number`&&Ne(e,``+u):s!==`suppressContentEditableWarning`&&s!==`suppressHydrationWarning`&&s!==`autoFocus`&&(a.hasOwnProperty(s)?u!=null&&s===`onScroll`&&li(`scroll`,e):u!=null&&S(e,s,u,c))}switch(n){case`input`:me(e),xe(e,i,!1);break;case`textarea`:me(e),Oe(e);break;case`option`:i.value!=null&&e.setAttribute(`value`,``+de(i.value));break;case`select`:e.multiple=!!i.multiple,s=i.value,s==null?i.defaultValue!=null&&we(e,!!i.multiple,i.defaultValue,!0):we(e,!!i.multiple,s,!1);break;default:typeof o.onClick==`function`&&(e.onclick=Ci)}switch(n){case`button`:case`input`:case`select`:case`textarea`:i=!!i.autoFocus;break a;case`img`:i=!0;break a;default:i=!1}}i&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return gc(t),null;case 6:if(e&&t.stateNode!=null)mc(e,t,e.memoizedProps,i);else{if(typeof i!=`string`&&t.stateNode===null)throw Error(r(166));if(n=yo(vo.current),yo(go.current),Fa(t)){if(i=t.stateNode,n=t.memoizedProps,i[Ii]=t,(s=i.nodeValue!==n)&&(e=Ea,e!==null))switch(e.tag){case 3:Si(i.nodeValue,n,!!(e.mode&1));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Si(i.nodeValue,n,!!(e.mode&1))}s&&(t.flags|=4)}else i=(n.nodeType===9?n:n.ownerDocument).createTextNode(i),i[Ii]=t,t.stateNode=i}return gc(t),null;case 13:if(Yi(H),i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(Oa&&Da!==null&&t.mode&1&&!(t.flags&128))Ia(),La(),t.flags|=98560,s=!1;else if(s=Fa(t),i!==null&&i.dehydrated!==null){if(e===null){if(!s)throw Error(r(318));if(s=t.memoizedState,s=s===null?null:s.dehydrated,!s)throw Error(r(317));s[Ii]=t}else La(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;gc(t),s=!1}else ka!==null&&(kl(ka),ka=null),s=!0;if(!s)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(i=i!==null,i!==(e!==null&&e.memoizedState!==null)&&i&&(t.child.flags|=8192,t.mode&1&&(e===null||H.current&1?rl===0&&(rl=3):Rl())),t.updateQueue!==null&&(t.flags|=4),gc(t),null);case 4:return xo(),e===null&&fi(t.stateNode.containerInfo),gc(t),null;case 10:return Za(t.type._context),gc(t),null;case 17:return na(t.type)&&ra(),gc(t),null;case 19:if(Yi(H),s=t.memoizedState,s===null)return gc(t),null;if(i=!!(t.flags&128),c=s.rendering,c===null){if(i)hc(s,!1);else{if(rl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(c=wo(e),c!==null){for(t.flags|=128,hc(s,!1),i=c.updateQueue,i!==null&&(t.updateQueue=i,t.flags|=4),t.subtreeFlags=0,i=n,n=t.child;n!==null;)s=n,e=i,s.flags&=14680066,c=s.alternate,c===null?(s.childLanes=0,s.lanes=e,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=c.childLanes,s.lanes=c.lanes,s.child=c.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=c.memoizedProps,s.memoizedState=c.memoizedState,s.updateQueue=c.updateQueue,s.type=c.type,e=c.dependencies,s.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Xi(H,H.current&1|2),t.child}e=e.sibling}s.tail!==null&&yt()>dl&&(t.flags|=128,i=!0,hc(s,!1),t.lanes=4194304)}}else{if(!i){if(e=wo(c),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),hc(s,!0),s.tail===null&&s.tailMode===`hidden`&&!c.alternate&&!Oa)return gc(t),null}else 2*yt()-s.renderingStartTime>dl&&n!==1073741824&&(t.flags|=128,i=!0,hc(s,!1),t.lanes=4194304)}s.isBackwards?(c.sibling=t.child,t.child=c):(n=s.last,n===null?t.child=c:n.sibling=c,s.last=c)}return s.tail===null?(gc(t),null):(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=yt(),t.sibling=null,n=H.current,Xi(H,i?n&1|2:n&1),t);case 22:case 23:return W(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?tl&1073741824&&(gc(t),t.subtreeFlags&6&&(t.flags|=8192)):gc(t),null;case 24:return null;case 25:return null}throw Error(r(156,t.tag))}function vc(e,t){switch(Ta(t),t.tag){case 1:return na(t.type)&&ra(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return xo(),Yi($i),Yi(Qi),Eo(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Co(t),null;case 13:if(Yi(H),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));La()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Yi(H),null;case 4:return xo(),null;case 10:return Za(t.type._context),null;case 22:case 23:return W(),null;case 24:return null;default:return null}}var yc=!1,bc=!1,xc=typeof WeakSet==`function`?WeakSet:Set,U=null;function Sc(e,t){var n=e.ref;if(n!==null){if(typeof n==`function`)try{n(null)}catch(n){Jl(e,t,n)}else n.current=null}}function Cc(e,t,n){try{n()}catch(n){Jl(e,t,n)}}var wc=!1;function Tc(e,t){if(wi=_n,e=Ir(),Lr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var a=i.anchorOffset,o=i.focusNode;i=i.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||a!==0&&f.nodeType!==3||(c=s+a),f!==o||i!==0&&f.nodeType!==3||(l=s+i),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===a&&(c=s),p===o&&++d===i&&(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(Ti={focusedElem:e,selectionRange:n},_n=!1,U=t;U!==null;)if(t=U,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,U=e;else for(;U!==null;){t=U;try{var h=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(h!==null){var g=h.memoizedProps,_=h.memoizedState,v=t.stateNode;v.__reactInternalSnapshotBeforeUpdate=v.getSnapshotBeforeUpdate(t.elementType===t.type?g:Ts(t.type,g),_)}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent=``:y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(e){Jl(t,t.return,e)}if(e=t.sibling,e!==null){e.return=t.return,U=e;break}U=t.return}return h=wc,wc=!1,h}function Ec(e,t,n){var r=t.updateQueue;if(r=r===null?null:r.lastEffect,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,a!==void 0&&Cc(t,n,a)}i=i.next}while(i!==r)}}function Dc(e,t){if(t=t.updateQueue,t=t===null?null:t.lastEffect,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Oc(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t==`function`?t(e):t.current=e}}function kc(e){var t=e.alternate;t!==null&&(e.alternate=null,kc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ii],delete t[Li],delete t[zi],delete t[Bi],delete t[Vi])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Ac(e){return e.tag===5||e.tag===3||e.tag===4}function jc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Ac(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.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 Mc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ci));else if(r!==4&&(e=e.child,e!==null))for(Mc(e,t,n),e=e.sibling;e!==null;)Mc(e,t,n),e=e.sibling}function Nc(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&&(e=e.child,e!==null))for(Nc(e,t,n),e=e.sibling;e!==null;)Nc(e,t,n),e=e.sibling}var Pc=null,Fc=!1;function Ic(e,t,n){for(n=n.child;n!==null;)Lc(e,t,n),n=n.sibling}function Lc(e,t,n){if(Et&&typeof Et.onCommitFiberUnmount==`function`)try{Et.onCommitFiberUnmount(Tt,n)}catch{}switch(n.tag){case 5:bc||Sc(n,t);case 6:var r=Pc,i=Fc;Pc=null,Ic(e,t,n),Pc=r,Fc=i,Pc!==null&&(Fc?(e=Pc,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Pc.removeChild(n.stateNode));break;case 18:Pc!==null&&(Fc?(e=Pc,n=n.stateNode,e.nodeType===8?Mi(e.parentNode,n):e.nodeType===1&&Mi(e,n),hn(e)):Mi(Pc,n.stateNode));break;case 4:r=Pc,i=Fc,Pc=n.stateNode.containerInfo,Fc=!0,Ic(e,t,n),Pc=r,Fc=i;break;case 0:case 11:case 14:case 15:if(!bc&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&Cc(n,t,o),i=i.next}while(i!==r)}Ic(e,t,n);break;case 1:if(!bc&&(Sc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(e){Jl(n,t,e)}Ic(e,t,n);break;case 21:Ic(e,t,n);break;case 22:n.mode&1?(bc=(r=bc)||n.memoizedState!==null,Ic(e,t,n),bc=r):Ic(e,t,n);break;default:Ic(e,t,n)}}function Rc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new xc),t.forEach(function(t){var r=Ql.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function zc(e,t){var n=t.deletions;if(n!==null)for(var i=0;i<n.length;i++){var a=n[i];try{var o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 5:Pc=c.stateNode,Fc=!1;break a;case 3:Pc=c.stateNode.containerInfo,Fc=!0;break a;case 4:Pc=c.stateNode.containerInfo,Fc=!0;break a}c=c.return}if(Pc===null)throw Error(r(160));Lc(o,s,a),Pc=null,Fc=!1;var l=a.alternate;l!==null&&(l.return=null),a.return=null}catch(e){Jl(a,t,e)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Bc(t,e),t=t.sibling}function Bc(e,t){var n=e.alternate,i=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(zc(t,e),Vc(e),i&4){try{Ec(3,e,e.return),Dc(3,e)}catch(t){Jl(e,e.return,t)}try{Ec(5,e,e.return)}catch(t){Jl(e,e.return,t)}}break;case 1:zc(t,e),Vc(e),i&512&&n!==null&&Sc(n,n.return);break;case 5:if(zc(t,e),Vc(e),i&512&&n!==null&&Sc(n,n.return),e.flags&32){var a=e.stateNode;try{Ne(a,``)}catch(t){Jl(e,e.return,t)}}if(i&4&&(a=e.stateNode,a!=null)){var o=e.memoizedProps,s=n===null?o:n.memoizedProps,c=e.type,l=e.updateQueue;if(e.updateQueue=null,l!==null)try{c===`input`&&o.type===`radio`&&o.name!=null&&ye(a,o),Be(c,s);var u=Be(c,o);for(s=0;s<l.length;s+=2){var d=l[s],f=l[s+1];d===`style`?Le(a,f):d===`dangerouslySetInnerHTML`?Me(a,f):d===`children`?Ne(a,f):S(a,d,f,u)}switch(c){case`input`:be(a,o);break;case`textarea`:De(a,o);break;case`select`:var p=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!o.multiple;var m=o.value;m==null?p!==!!o.multiple&&(o.defaultValue==null?we(a,!!o.multiple,o.multiple?[]:``,!1):we(a,!!o.multiple,o.defaultValue,!0)):we(a,!!o.multiple,m,!1)}a[Li]=o}catch(t){Jl(e,e.return,t)}}break;case 6:if(zc(t,e),Vc(e),i&4){if(e.stateNode===null)throw Error(r(162));a=e.stateNode,o=e.memoizedProps;try{a.nodeValue=o}catch(t){Jl(e,e.return,t)}}break;case 3:if(zc(t,e),Vc(e),i&4&&n!==null&&n.memoizedState.isDehydrated)try{hn(t.containerInfo)}catch(t){Jl(e,e.return,t)}break;case 4:zc(t,e),Vc(e);break;case 13:zc(t,e),Vc(e),a=e.child,a.flags&8192&&(o=a.memoizedState!==null,a.stateNode.isHidden=o,!o||a.alternate!==null&&a.alternate.memoizedState!==null||(ul=yt())),i&4&&Rc(e);break;case 22:if(d=n!==null&&n.memoizedState!==null,e.mode&1?(bc=(u=bc)||d,zc(t,e),bc=u):zc(t,e),Vc(e),i&8192){if(u=e.memoizedState!==null,(e.stateNode.isHidden=u)&&!d&&e.mode&1)for(U=e,d=e.child;d!==null;){for(f=U=d;U!==null;){switch(p=U,m=p.child,p.tag){case 0:case 11:case 14:case 15:Ec(4,p,p.return);break;case 1:Sc(p,p.return);var h=p.stateNode;if(typeof h.componentWillUnmount==`function`){i=p,n=p.return;try{t=i,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(e){Jl(i,n,e)}}break;case 5:Sc(p,p.return);break;case 22:if(p.memoizedState!==null){Gc(f);continue}}m===null?Gc(f):(m.return=p,U=m)}d=d.sibling}a:for(d=null,f=e;;){if(f.tag===5){if(d===null){d=f;try{a=f.stateNode,u?(o=a.style,typeof o.setProperty==`function`?o.setProperty(`display`,`none`,`important`):o.display=`none`):(c=f.stateNode,l=f.memoizedProps.style,s=l!=null&&l.hasOwnProperty(`display`)?l.display:null,c.style.display=Ie(`display`,s))}catch(t){Jl(e,e.return,t)}}}else if(f.tag===6){if(d===null)try{f.stateNode.nodeValue=u?``:f.memoizedProps}catch(t){Jl(e,e.return,t)}}else if((f.tag!==22&&f.tag!==23||f.memoizedState===null||f===e)&&f.child!==null){f.child.return=f,f=f.child;continue}if(f===e)break a;for(;f.sibling===null;){if(f.return===null||f.return===e)break a;d===f&&(d=null),f=f.return}d===f&&(d=null),f.sibling.return=f.return,f=f.sibling}}break;case 19:zc(t,e),Vc(e),i&4&&Rc(e);break;case 21:break;default:zc(t,e),Vc(e)}}function Vc(e){var t=e.flags;if(t&2){try{a:{for(var n=e.return;n!==null;){if(Ac(n)){var i=n;break a}n=n.return}throw Error(r(160))}switch(i.tag){case 5:var a=i.stateNode;i.flags&32&&(Ne(a,``),i.flags&=-33),Nc(e,jc(e),a);break;case 3:case 4:var o=i.stateNode.containerInfo;Mc(e,jc(e),o);break;default:throw Error(r(161))}}catch(t){Jl(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Hc(e,t,n){U=e,Uc(e,t,n)}function Uc(e,t,n){for(var r=!!(e.mode&1);U!==null;){var i=U,a=i.child;if(i.tag===22&&r){var o=i.memoizedState!==null||yc;if(!o){var s=i.alternate,c=s!==null&&s.memoizedState!==null||bc;s=yc;var l=bc;if(yc=o,(bc=c)&&!l)for(U=i;U!==null;)o=U,c=o.child,o.tag===22&&o.memoizedState!==null||c===null?Kc(i):(c.return=o,U=c);for(;a!==null;)U=a,Uc(a,t,n),a=a.sibling;U=i,yc=s,bc=l}Wc(e,t,n)}else i.subtreeFlags&8772&&a!==null?(a.return=i,U=a):Wc(e,t,n)}}function Wc(e){for(;U!==null;){var t=U;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:bc||Dc(5,t);break;case 1:var i=t.stateNode;if(t.flags&4&&!bc){if(n===null)i.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:Ts(t.type,n.memoizedProps);i.componentDidUpdate(a,n.memoizedState,i.__reactInternalSnapshotBeforeUpdate)}}var o=t.updateQueue;o!==null&&mo(t,o,i);break;case 3:var s=t.updateQueue;if(s!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}mo(t,s,n)}break;case 5:var c=t.stateNode;if(n===null&&t.flags&4){n=c;var l=t.memoizedProps;switch(t.type){case`button`:case`input`:case`select`:case`textarea`:l.autoFocus&&n.focus();break;case`img`:l.src&&(n.src=l.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var u=t.alternate;if(u!==null){var d=u.memoizedState;if(d!==null){var f=d.dehydrated;f!==null&&hn(f)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(r(163))}bc||t.flags&512&&Oc(t)}catch(e){Jl(t,t.return,e)}}if(t===e){U=null;break}if(n=t.sibling,n!==null){n.return=t.return,U=n;break}U=t.return}}function Gc(e){for(;U!==null;){var t=U;if(t===e){U=null;break}var n=t.sibling;if(n!==null){n.return=t.return,U=n;break}U=t.return}}function Kc(e){for(;U!==null;){var t=U;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{Dc(4,t)}catch(e){Jl(t,n,e)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount==`function`){var i=t.return;try{r.componentDidMount()}catch(e){Jl(t,i,e)}}var a=t.return;try{Oc(t)}catch(e){Jl(t,a,e)}break;case 5:var o=t.return;try{Oc(t)}catch(e){Jl(t,o,e)}}}catch(e){Jl(t,t.return,e)}if(t===e){U=null;break}var s=t.sibling;if(s!==null){s.return=t.return,U=s;break}U=t.return}}var qc=Math.ceil,Jc=C.ReactCurrentDispatcher,Yc=C.ReactCurrentOwner,Xc=C.ReactCurrentBatchConfig,Zc=0,Qc=null,$c=null,el=0,tl=0,nl=Ji(0),rl=0,il=null,al=0,ol=0,sl=0,cl=null,ll=null,ul=0,dl=1/0,fl=null,pl=!1,ml=null,hl=null,gl=!1,_l=null,vl=0,yl=0,bl=null,xl=-1,Sl=0;function Cl(){return Zc&6?yt():xl===-1?xl=yt():xl}function wl(e){return e.mode&1?Zc&2&&el!==0?el&-el:za.transition===null?(e=Wt,e===0&&(e=window.event,e=e===void 0?16:Cn(e.type)),e):(Sl===0&&(Sl=zt()),Sl):1}function Tl(e,t,n,i){if(50<yl)throw yl=0,bl=null,Error(r(185));Vt(e,n,i),Zc&2&&e===Qc||(e===Qc&&(!(Zc&2)&&(ol|=n),rl===4&&jl(e,el)),El(e,i),n===1&&Zc===0&&!(t.mode&1)&&(dl=yt()+500,la&&pa()))}function El(e,t){var n=e.callbackNode;Lt(e,t);var r=Ft(e,e===Qc?el:0);if(r===0)n!==null&&gt(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&gt(n),t===1)e.tag===0?fa(Ml.bind(null,e)):da(Ml.bind(null,e)),Ai(function(){!(Zc&6)&&pa()}),n=null;else{switch(Gt(r)){case 1:n=xt;break;case 4:n=St;break;case 16:n=R;break;case 536870912:n=wt;break;default:n=R}n=eu(n,Dl.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function Dl(e,t){if(xl=-1,Sl=0,Zc&6)throw Error(r(327));var n=e.callbackNode;if(Kl()&&e.callbackNode!==n)return null;var i=Ft(e,e===Qc?el:0);if(i===0)return null;if(i&30||(i&e.expiredLanes)!==0||t)t=zl(e,i);else{t=i;var a=Zc;Zc|=2;var o=Ll();(Qc!==e||el!==t)&&(fl=null,dl=yt()+500,Fl(e,t));do try{Vl();break}catch(t){Il(e,t)}while(1);Xa(),Jc.current=o,Zc=a,$c===null?(Qc=null,el=0,t=rl):t=0}if(t!==0){if(t===2&&(a=Rt(e),a!==0&&(i=a,t=Ol(e,a))),t===1)throw n=il,Fl(e,0),jl(e,i),El(e,yt()),n;if(t===6)jl(e,i);else{if(a=e.current.alternate,!(i&30)&&!Al(a)&&(t=zl(e,i),t===2&&(o=Rt(e),o!==0&&(i=o,t=Ol(e,o))),t===1))throw n=il,Fl(e,0),jl(e,i),El(e,yt()),n;switch(e.finishedWork=a,e.finishedLanes=i,t){case 0:case 1:throw Error(r(345));case 2:Wl(e,ll,fl);break;case 3:if(jl(e,i),(i&130023424)===i&&(t=ul+500-yt(),10<t)){if(Ft(e,0)!==0)break;if(a=e.suspendedLanes,(a&i)!==i){Cl(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=Di(Wl.bind(null,e,ll,fl),t);break}Wl(e,ll,fl);break;case 4:if(jl(e,i),(i&4194240)===i)break;for(t=e.eventTimes,a=-1;0<i;){var s=31-Ot(i);o=1<<s,s=t[s],s>a&&(a=s),i&=~o}if(i=a,i=yt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*qc(i/1960))-i,10<i){e.timeoutHandle=Di(Wl.bind(null,e,ll,fl),i);break}Wl(e,ll,fl);break;case 5:Wl(e,ll,fl);break;default:throw Error(r(329))}}}return El(e,yt()),e.callbackNode===n?Dl.bind(null,e):null}function Ol(e,t){var n=cl;return e.current.memoizedState.isDehydrated&&(Fl(e,t).flags|=256),e=zl(e,t),e!==2&&(t=ll,ll=n,t!==null&&kl(t)),e}function kl(e){ll===null?ll=e:ll.push.apply(ll,e)}function Al(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!jr(a(),i))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function jl(e,t){for(t&=~sl,t&=~ol,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Ot(t),r=1<<n;e[n]=-1,t&=~r}}function Ml(e){if(Zc&6)throw Error(r(327));Kl();var t=Ft(e,0);if(!(t&1))return El(e,yt()),null;var n=zl(e,t);if(e.tag!==0&&n===2){var i=Rt(e);i!==0&&(t=i,n=Ol(e,i))}if(n===1)throw n=il,Fl(e,0),jl(e,t),El(e,yt()),n;if(n===6)throw Error(r(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Wl(e,ll,fl),El(e,yt()),null}function Nl(e,t){var n=Zc;Zc|=1;try{return e(t)}finally{Zc=n,Zc===0&&(dl=yt()+500,la&&pa())}}function Pl(e){_l!==null&&_l.tag===0&&!(Zc&6)&&Kl();var t=Zc;Zc|=1;var n=Xc.transition,r=Wt;try{if(Xc.transition=null,Wt=1,e)return e()}finally{Wt=r,Xc.transition=n,Zc=t,!(Zc&6)&&pa()}}function W(){tl=nl.current,Yi(nl)}function Fl(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,Oi(n)),$c!==null)for(n=$c.return;n!==null;){var r=n;switch(Ta(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&ra();break;case 3:xo(),Yi($i),Yi(Qi),Eo();break;case 5:Co(r);break;case 4:xo();break;case 13:Yi(H);break;case 19:Yi(H);break;case 10:Za(r.type._context);break;case 22:case 23:W()}n=n.return}if(Qc=e,$c=e=au(e.current,null),el=tl=t,rl=0,il=null,sl=ol=al=0,ll=cl=null,to!==null){for(t=0;t<to.length;t++)if(n=to[t],r=n.interleaved,r!==null){n.interleaved=null;var i=r.next,a=n.pending;if(a!==null){var o=a.next;a.next=i,r.next=o}n.pending=r}to=null}return e}function Il(e,t){do{var n=$c;try{if(Xa(),Do.current=xs,No){for(var i=Ao.memoizedState;i!==null;){var a=i.queue;a!==null&&(a.pending=null),i=i.next}No=!1}if(ko=0,Mo=jo=Ao=null,Po=!1,Fo=0,Yc.current=null,n===null||n.return===null){rl=1,il=t,$c=null;break}a:{var o=e,s=n.return,c=n,l=t;if(t=el,c.flags|=32768,typeof l==`object`&&l&&typeof l.then==`function`){var u=l,d=c,f=d.tag;if(!(d.mode&1)&&(f===0||f===11||f===15)){var p=d.alternate;p?(d.updateQueue=p.updateQueue,d.memoizedState=p.memoizedState,d.lanes=p.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=zs(s);if(m!==null){m.flags&=-257,Bs(m,s,c,o,t),m.mode&1&&Rs(o,u,t),t=m,l=u;var h=t.updateQueue;if(h===null){var g=new Set;g.add(l),t.updateQueue=g}else h.add(l);break a}if(!(t&1)){Rs(o,u,t),Rl();break a}l=Error(r(426))}else if(Oa&&c.mode&1){var _=zs(s);if(_!==null){!(_.flags&65536)&&(_.flags|=256),Bs(_,s,c,o,t),Ra(Ms(l,c));break a}}o=l=Ms(l,c),rl!==4&&(rl=2),cl===null?cl=[o]:cl.push(o),o=s;do{switch(o.tag){case 3:o.flags|=65536,t&=-t,o.lanes|=t;var v=Is(o,l,t);fo(o,v);break a;case 1:c=l;var y=o.type,b=o.stateNode;if(!(o.flags&128)&&(typeof y.getDerivedStateFromError==`function`||b!==null&&typeof b.componentDidCatch==`function`&&(hl===null||!hl.has(b)))){o.flags|=65536,t&=-t,o.lanes|=t;var x=Ls(o,c,t);fo(o,x);break a}}o=o.return}while(o!==null)}Ul(n)}catch(e){t=e,$c===n&&n!==null&&($c=n=n.return);continue}break}while(1)}function Ll(){var e=Jc.current;return Jc.current=xs,e===null?xs:e}function Rl(){(rl===0||rl===3||rl===2)&&(rl=4),Qc===null||!(al&268435455)&&!(ol&268435455)||jl(Qc,el)}function zl(e,t){var n=Zc;Zc|=2;var i=Ll();(Qc!==e||el!==t)&&(fl=null,Fl(e,t));do try{Bl();break}catch(t){Il(e,t)}while(1);if(Xa(),Zc=n,Jc.current=i,$c!==null)throw Error(r(261));return Qc=null,el=0,rl}function Bl(){for(;$c!==null;)Hl($c)}function Vl(){for(;$c!==null&&!_t();)Hl($c)}function Hl(e){var t=$l(e.alternate,e,tl);e.memoizedProps=e.pendingProps,t===null?Ul(e):$c=t,Yc.current=null}function Ul(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=vc(n,t),n!==null){n.flags&=32767,$c=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{rl=6,$c=null;return}}else if(n=_c(n,t,tl),n!==null){$c=n;return}if(t=t.sibling,t!==null){$c=t;return}$c=t=e}while(t!==null);rl===0&&(rl=5)}function Wl(e,t,n){var r=Wt,i=Xc.transition;try{Xc.transition=null,Wt=1,Gl(e,t,n,r)}finally{Xc.transition=i,Wt=r}return null}function Gl(e,t,n,i){do Kl();while(_l!==null);if(Zc&6)throw Error(r(327));n=e.finishedWork;var a=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(r(177));e.callbackNode=null,e.callbackPriority=0;var o=n.lanes|n.childLanes;if(Ht(e,o),e===Qc&&($c=Qc=null,el=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||gl||(gl=!0,eu(R,function(){return Kl(),null})),o=!!(n.flags&15990),n.subtreeFlags&15990||o){o=Xc.transition,Xc.transition=null;var s=Wt;Wt=1;var c=Zc;Zc|=4,Yc.current=null,Tc(e,n),Bc(n,e),Rr(Ti),_n=!!wi,Ti=wi=null,e.current=n,Hc(n,e,a),vt(),Zc=c,Wt=s,Xc.transition=o}else e.current=n;if(gl&&(gl=!1,_l=e,vl=a),o=e.pendingLanes,o===0&&(hl=null),Dt(n.stateNode,i),El(e,yt()),t!==null)for(i=e.onRecoverableError,n=0;n<t.length;n++)a=t[n],i(a.value,{componentStack:a.stack,digest:a.digest});if(pl)throw pl=!1,e=ml,ml=null,e;return vl&1&&e.tag!==0&&Kl(),o=e.pendingLanes,o&1?e===bl?yl++:(yl=0,bl=e):yl=0,pa(),null}function Kl(){if(_l!==null){var e=Gt(vl),t=Xc.transition,n=Wt;try{if(Xc.transition=null,Wt=16>e?16:e,_l===null)var i=!1;else{if(e=_l,_l=null,vl=0,Zc&6)throw Error(r(331));var a=Zc;for(Zc|=4,U=e.current;U!==null;){var o=U,s=o.child;if(U.flags&16){var c=o.deletions;if(c!==null){for(var l=0;l<c.length;l++){var u=c[l];for(U=u;U!==null;){var d=U;switch(d.tag){case 0:case 11:case 15:Ec(8,d,o)}var f=d.child;if(f!==null)f.return=d,U=f;else for(;U!==null;){d=U;var p=d.sibling,m=d.return;if(kc(d),d===u){U=null;break}if(p!==null){p.return=m,U=p;break}U=m}}}var h=o.alternate;if(h!==null){var g=h.child;if(g!==null){h.child=null;do{var _=g.sibling;g.sibling=null,g=_}while(g!==null)}}U=o}}if(o.subtreeFlags&2064&&s!==null)s.return=o,U=s;else b:for(;U!==null;){if(o=U,o.flags&2048)switch(o.tag){case 0:case 11:case 15:Ec(9,o,o.return)}var v=o.sibling;if(v!==null){v.return=o.return,U=v;break b}U=o.return}}var y=e.current;for(U=y;U!==null;){s=U;var b=s.child;if(s.subtreeFlags&2064&&b!==null)b.return=s,U=b;else b:for(s=y;U!==null;){if(c=U,c.flags&2048)try{switch(c.tag){case 0:case 11:case 15:Dc(9,c)}}catch(e){Jl(c,c.return,e)}if(c===s){U=null;break b}var x=c.sibling;if(x!==null){x.return=c.return,U=x;break b}U=c.return}}if(Zc=a,pa(),Et&&typeof Et.onPostCommitFiberRoot==`function`)try{Et.onPostCommitFiberRoot(Tt,e)}catch{}i=!0}return i}finally{Wt=n,Xc.transition=t}}return!1}function ql(e,t,n){t=Ms(n,t),t=Is(e,t,1),e=lo(e,t,1),t=Cl(),e!==null&&(Vt(e,1,t),El(e,t))}function Jl(e,t,n){if(e.tag===3)ql(e,e,n);else for(;t!==null;){if(t.tag===3){ql(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(hl===null||!hl.has(r))){e=Ms(n,e),e=Ls(t,e,1),t=lo(t,e,1),e=Cl(),t!==null&&(Vt(t,1,e),El(t,e));break}}t=t.return}}function Yl(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=Cl(),e.pingedLanes|=e.suspendedLanes&n,Qc===e&&(el&n)===n&&(rl===4||rl===3&&(el&130023424)===el&&500>yt()-ul?Fl(e,0):sl|=n),El(e,t)}function Xl(e,t){t===0&&(e.mode&1?(t=Nt,Nt<<=1,!(Nt&130023424)&&(Nt=4194304)):t=1);var n=Cl();e=io(e,t),e!==null&&(Vt(e,t,n),El(e,n))}function Zl(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Xl(e,n)}function Ql(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(r(314))}i!==null&&i.delete(t),Xl(e,n)}var $l=function(e,t,n){if(e!==null){if(e.memoizedProps!==t.pendingProps||$i.current)Hs=!0;else{if((e.lanes&n)===0&&!(t.flags&128))return Hs=!1,dc(e,t,n);Hs=!!(e.flags&131072)}}else Hs=!1,Oa&&t.flags&1048576&&Ca(t,ga,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;lc(e,t),e=t.pendingProps;var a=ta(t,Qi.current);$a(t,n),a=zo(null,t,i,e,a,n);var o=Bo();return t.flags|=1,typeof a==`object`&&a&&typeof a.render==`function`&&a.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,na(i)?(o=!0,oa(t)):o=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,oo(t),a.updater=Ds,t.stateNode=a,a._reactInternals=t,js(t,i,e,n),t=Zs(null,t,i,!0,o,n)):(t.tag=0,Oa&&o&&wa(t),Us(null,t,a,n),t=t.child),t;case 16:i=t.elementType;a:{switch(lc(e,t),e=t.pendingProps,a=i._init,i=a(i._payload),t.type=i,a=t.tag=iu(i),e=Ts(i,e),a){case 0:t=Ys(null,t,i,e,n);break a;case 1:t=Xs(null,t,i,e,n);break a;case 11:t=Ws(null,t,i,e,n);break a;case 14:t=Gs(null,t,i,Ts(i.type,e),n);break a}throw Error(r(306,i,``))}return t;case 0:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:Ts(i,a),Ys(e,t,i,a,n);case 1:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:Ts(i,a),Xs(e,t,i,a,n);case 3:a:{if(Qs(t),e===null)throw Error(r(387));i=t.pendingProps,o=t.memoizedState,a=o.element,so(e,t),po(t,i,null,n);var s=t.memoizedState;if(i=s.element,o.isDehydrated){if(o={element:i,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){a=Ms(Error(r(423)),t),t=$s(e,t,i,n,a);break a}if(i!==a){a=Ms(Error(r(424)),t),t=$s(e,t,i,n,a);break a}for(Da=Ni(t.stateNode.containerInfo.firstChild),Ea=t,Oa=!0,ka=null,n=Ga(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(La(),i===a){t=uc(e,t,n);break a}Us(e,t,i,n)}t=t.child}return t;case 5:return So(t),e===null&&Na(t),i=t.type,a=t.pendingProps,o=e===null?null:e.memoizedProps,s=a.children,Ei(i,a)?s=null:o!==null&&Ei(i,o)&&(t.flags|=32),Js(e,t),Us(e,t,s,n),t.child;case 6:return e===null&&Na(t),null;case 13:return nc(e,t,n);case 4:return bo(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=Wa(t,null,i,n):Us(e,t,i,n),t.child;case 11:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:Ts(i,a),Ws(e,t,i,a,n);case 7:return Us(e,t,t.pendingProps,n),t.child;case 8:return Us(e,t,t.pendingProps.children,n),t.child;case 12:return Us(e,t,t.pendingProps.children,n),t.child;case 10:a:{if(i=t.type._context,a=t.pendingProps,o=t.memoizedProps,s=a.value,Xi(Ka,i._currentValue),i._currentValue=s,o!==null){if(jr(o.value,s)){if(o.children===a.children&&!$i.current){t=uc(e,t,n);break a}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var c=o.dependencies;if(c!==null){s=o.child;for(var l=c.firstContext;l!==null;){if(l.context===i){if(o.tag===1){l=co(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Qa(o.return,n,t),c.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(r(341));s.lanes|=n,c=s.alternate,c!==null&&(c.lanes|=n),Qa(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}}Us(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,i=t.pendingProps.children,$a(t,n),a=eo(a),i=i(a),t.flags|=1,Us(e,t,i,n),t.child;case 14:return i=t.type,a=Ts(i,t.pendingProps),a=Ts(i.type,a),Gs(e,t,i,a,n);case 15:return Ks(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:Ts(i,a),lc(e,t),t.tag=1,na(i)?(e=!0,oa(t)):e=!1,$a(t,n),ks(t,i,a),js(t,i,a,n),Zs(null,t,i,!0,e,n);case 19:return cc(e,t,n);case 22:return qs(e,t,n)}throw Error(r(156,t.tag))};function eu(e,t){return ht(e,t)}function tu(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function nu(e,t,n,r){return new tu(e,t,n,r)}function ru(e){return e=e.prototype,!(!e||!e.isReactComponent)}function iu(e){if(typeof e==`function`)return+!!ru(e);if(e!=null){if(e=e.$$typeof,e===ee)return 11;if(e===N)return 14}return 2}function au(e,t){var n=e.alternate;return n===null?(n=nu(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ou(e,t,n,i,a,o){var s=2;if(i=e,typeof e==`function`)ru(e)&&(s=1);else if(typeof e==`string`)s=5;else a:switch(e){case E:return su(n.children,a,o,t);case D:s=8,a|=8;break;case O:return e=nu(12,n,t,a|2),e.elementType=O,e.lanes=o,e;case j:return e=nu(13,n,t,a),e.elementType=j,e.lanes=o,e;case M:return e=nu(19,n,t,a),e.elementType=M,e.lanes=o,e;case te:return cu(n,a,o,t);default:if(typeof e==`object`&&e)switch(e.$$typeof){case k:s=10;break a;case A:s=9;break a;case ee:s=11;break a;case N:s=14;break a;case P:s=16,i=null;break a}throw Error(r(130,e==null?e:typeof e,``))}return t=nu(s,n,t,a),t.elementType=e,t.type=i,t.lanes=o,t}function su(e,t,n,r){return e=nu(7,e,r,t),e.lanes=n,e}function cu(e,t,n,r){return e=nu(22,e,r,t),e.elementType=te,e.lanes=n,e.stateNode={isHidden:!1},e}function lu(e,t,n){return e=nu(6,e,null,t),e.lanes=n,e}function uu(e,t,n){return t=nu(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function du(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Bt(0),this.expirationTimes=Bt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Bt(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function fu(e,t,n,r,i,a,o,s,c){return e=new du(e,t,n,s,c),t===1?(t=1,!0===a&&(t|=8)):t=0,a=nu(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},oo(a),e}function pu(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:T,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}function mu(e){if(!e)return Zi;e=e._reactInternals;a:{if(lt(e)!==e||e.tag!==1)throw Error(r(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break a;case 1:if(na(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break a}}t=t.return}while(t!==null);throw Error(r(171))}if(e.tag===1){var n=e.type;if(na(n))return aa(e,n,t)}return t}function hu(e,t,n,r,i,a,o,s,c){return e=fu(n,r,!0,e,i,a,o,s,c),e.context=mu(null),n=e.current,r=Cl(),i=wl(n),a=co(r,i),a.callback=t??null,lo(n,a,i),e.current.lanes=i,Vt(e,i,r),El(e,r),e}function gu(e,t,n,r){var i=t.current,a=Cl(),o=wl(i);return n=mu(n),t.context===null?t.context=n:t.pendingContext=n,t=co(a,o),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=lo(i,t,o),e!==null&&(Tl(e,i,o,a),uo(e,i,o)),o}function _u(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function vu(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function yu(e,t){vu(e,t),(e=e.alternate)&&vu(e,t)}function bu(){return null}var xu=typeof reportError==`function`?reportError:function(e){console.error(e)};function Su(e){this._internalRoot=e}Cu.prototype.render=Su.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(r(409));gu(e,t,null,null)},Cu.prototype.unmount=Su.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Pl(function(){gu(null,e,null,null)}),t[Ri]=null}};function Cu(e){this._internalRoot=e}Cu.prototype.unstable_scheduleHydration=function(e){if(e){var t=Yt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<an.length&&t!==0&&t<an[n].priority;n++);an.splice(n,0,e),n===0&&un(e)}};function wu(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Tu(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==` react-mount-point-unstable `))}function Eu(){}function Du(e,t,n,r,i){if(i){if(typeof r==`function`){var a=r;r=function(){var e=_u(o);a.call(e)}}var o=hu(t,r,e,0,null,!1,!1,``,Eu);return e._reactRootContainer=o,e[Ri]=o.current,fi(e.nodeType===8?e.parentNode:e),Pl(),o}for(;i=e.lastChild;)e.removeChild(i);if(typeof r==`function`){var s=r;r=function(){var e=_u(c);s.call(e)}}var c=fu(e,0,!1,null,null,!1,!1,``,Eu);return e._reactRootContainer=c,e[Ri]=c.current,fi(e.nodeType===8?e.parentNode:e),Pl(function(){gu(t,c,n,r)}),c}function Ou(e,t,n,r,i){var a=n._reactRootContainer;if(a){var o=a;if(typeof i==`function`){var s=i;i=function(){var e=_u(o);s.call(e)}}gu(t,o,e,i)}else o=Du(n,t,e,i,r);return _u(o)}Kt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=Pt(t.pendingLanes);n!==0&&(Ut(t,n|1),El(t,yt()),!(Zc&6)&&(dl=yt()+500,pa()))}break;case 13:Pl(function(){var t=io(e,1);t!==null&&Tl(t,e,1,Cl())}),yu(e,1)}},qt=function(e){if(e.tag===13){var t=io(e,134217728);t!==null&&Tl(t,e,134217728,Cl()),yu(e,134217728)}},Jt=function(e){if(e.tag===13){var t=wl(e),n=io(e,t);n!==null&&Tl(n,e,t,Cl()),yu(e,t)}},Yt=function(){return Wt},Xt=function(e,t){var n=Wt;try{return Wt=e,t()}finally{Wt=n}},Ue=function(e,t,n){switch(t){case`input`:if(be(e,n),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name=`+JSON.stringify(``+t)+`][type="radio"]`),t=0;t<n.length;t++){var i=n[t];if(i!==e&&i.form===e.form){var a=Gi(i);if(!a)throw Error(r(90));he(i),be(i,a)}}}break;case`textarea`:De(e,n);break;case`select`:t=n.value,t!=null&&we(e,!!n.multiple,t,!1)}},Ye=Nl,Xe=Pl;var ku={usingClientEntryPoint:!1,Events:[Ui,Wi,Gi,qe,Je,Nl]},Au={findFiberByHostInstance:Hi,bundleType:0,version:`18.3.1`,rendererPackageName:`react-dom`},ju={bundleType:Au.bundleType,version:Au.version,rendererPackageName:Au.rendererPackageName,rendererConfig:Au.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:C.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=pt(e),e===null?null:e.stateNode},findFiberByHostInstance:Au.findFiberByHostInstance||bu,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:`18.3.1-next-f1338f8080-20240426`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var Mu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Mu.isDisabled&&Mu.supportsFiber)try{Tt=Mu.inject(ju),Et=Mu}catch{}}e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ku,e.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!wu(t))throw Error(r(200));return pu(e,t,null,n)},e.createRoot=function(e,t){if(!wu(e))throw Error(r(299));var n=!1,i=``,a=xu;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(i=t.identifierPrefix),t.onRecoverableError!==void 0&&(a=t.onRecoverableError)),t=fu(e,1,!1,null,null,n,!1,i,a),e[Ri]=t.current,fi(e.nodeType===8?e.parentNode:e),new Su(t)},e.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(r(188)):(e=Object.keys(e).join(`,`),Error(r(268,e)));return e=pt(t),e=e===null?null:e.stateNode,e},e.flushSync=function(e){return Pl(e)},e.hydrate=function(e,t,n){if(!Tu(t))throw Error(r(200));return Ou(null,e,t,!0,n)},e.hydrateRoot=function(e,t,n){if(!wu(e))throw Error(r(405));var i=n!=null&&n.hydratedSources||null,a=!1,o=``,s=xu;if(n!=null&&(!0===n.unstable_strictMode&&(a=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onRecoverableError!==void 0&&(s=n.onRecoverableError)),t=hu(t,null,e,1,n??null,a,!1,o,s),e[Ri]=t.current,fi(e),i)for(e=0;e<i.length;e++)n=i[e],a=n._getVersion,a=a(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,a]:t.mutableSourceEagerHydrationData.push(n,a);return new Cu(t)},e.render=function(e,t,n){if(!Tu(t))throw Error(r(200));return Ou(null,e,t,!1,n)},e.unmountComponentAtNode=function(e){if(!Tu(e))throw Error(r(40));return e._reactRootContainer?(Pl(function(){Ou(null,null,e,!1,function(){e._reactRootContainer=null,e[Ri]=null})}),!0):!1},e.unstable_batchedUpdates=Nl,e.unstable_renderSubtreeIntoContainer=function(e,t,n,i){if(!Tu(n))throw Error(r(200));if(e==null||e._reactInternals===void 0)throw Error(r(38));return Ou(e,t,n,!1,i)},e.version=`18.3.1-next-f1338f8080-20240426`})),_=s(((e,t)=>{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=g()})),v=s((e=>{var t=_();e.createRoot=t.createRoot,e.hydrateRoot=t.hydrateRoot})),y=u(p(),1),b=`popstate`;function x(e={}){function t(e,t){let{pathname:n,search:r,hash:i}=e.location;return E(``,{pathname:n,search:r,hash:i},t.state&&t.state.usr||null,t.state&&t.state.key||`default`)}function n(e,t){return typeof t==`string`?t:D(t)}return k(t,n,null,e)}function S(e,t){if(e===!1||e==null)throw Error(t)}function C(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function w(){return Math.random().toString(36).substring(2,10)}function T(e,t){return{usr:e.state,key:e.key,idx:t}}function E(e,t,n=null,r){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?O(t):t,state:n,key:t&&t.key||r||w()}}function D({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function O(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function k(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,s=`POP`,c=null,l=u();l??(l=0,o.replaceState({...o.state,idx:l},``));function u(){return(o.state||{idx:null}).idx}function d(){s=`POP`;let e=u(),t=e==null?null:e-l;l=e,c&&c({action:s,location:h.location,delta:t})}function f(e,t){s=`PUSH`;let r=E(h.location,e,t);n&&n(r,e),l=u()+1;let d=T(r,l),f=h.createHref(r);try{o.pushState(d,``,f)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(f)}a&&c&&c({action:s,location:h.location,delta:1})}function p(e,t){s=`REPLACE`;let r=E(h.location,e,t);n&&n(r,e),l=u();let i=T(r,l),d=h.createHref(r);o.replaceState(i,``,d),a&&c&&c({action:s,location:h.location,delta:0})}function m(e){return A(e)}let h={get action(){return s},get location(){return e(i,o)},listen(e){if(c)throw Error(`A history only accepts one active listener`);return i.addEventListener(b,d),c=e,()=>{i.removeEventListener(b,d),c=null}},createHref(e){return t(i,e)},createURL:m,encodeLocation(e){let t=m(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:f,replace:p,go(e){return o.go(e)}};return h}function A(e,t=!1){let n=`http://localhost`;typeof window<`u`&&(n=window.location.origin===`null`?window.location.href:window.location.origin),S(n,`No window.location.(origin|href) available to create URL`);let r=typeof e==`string`?e:D(e);return r=r.replace(/ $/,`%20`),!t&&r.startsWith(`//`)&&(r=n+r),new URL(r,n)}function ee(e,t,n=`/`){return j(e,t,n,!1)}function j(e,t,n,r){let i=pe((typeof t==`string`?O(t):t).pathname||`/`,n);if(i==null)return null;let a=M(e);P(a);let o=null;for(let e=0;o==null&&e<a.length;++e){let t=fe(i);o=le(a[e],t,r)}return o}function M(e,t=[],n=[],r=``,i=!1){let a=(e,a,o=i,s)=>{let c={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(c.relativePath.startsWith(`/`)){if(!c.relativePath.startsWith(r)&&o)return;S(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length)}let l=Se([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(S(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),M(e.children,t,u,l,o)),(e.path!=null||e.index)&&t.push({path:l,score:se(l,e.index),routesMeta:u})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of N(e.path))a(e,t,!0,n)}),t}function N(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=N(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function P(e){e.sort((e,t)=>e.score===t.score?ce(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var te=/^:[\w-]+$/,ne=3,re=2,F=1,ie=10,ae=-2,oe=e=>e===`*`;function se(e,t){let n=e.split(`/`),r=n.length;return n.some(oe)&&(r+=ae),t&&(r+=re),n.filter(e=>!oe(e)).reduce((e,t)=>e+(te.test(t)?ne:t===``?F:ie),r)}function ce(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function le(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e<r.length;++e){let s=r[e],c=e===r.length-1,l=a===`/`?t:t.slice(a.length)||`/`,u=ue({path:s.relativePath,caseSensitive:s.caseSensitive,end:c},l),d=s.route;if(!u&&c&&n&&!r[r.length-1].route.index&&(u=ue({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},l)),!u)return null;Object.assign(i,u.params),o.push({params:i,pathname:Se([a,u.pathname]),pathnameBase:Ce(Se([a,u.pathnameBase])),route:d}),u.pathnameBase!==`/`&&(a=Se([a,u.pathnameBase]))}return o}function ue(e,t){typeof e==`string`&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=de(e.path,e.caseSensitive,e.end),i=t.match(n);if(!i)return null;let a=i[0],o=a.replace(/(.)\/+$/,`$1`),s=i.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if(t===`*`){let e=s[r]||``;o=a.slice(0,a.length-e.length).replace(/(.)\/+$/,`$1`)}let i=s[r];return e[t]=n&&!i?void 0:(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function de(e,t=!1,n=!0){C(e===`*`||!e.endsWith(`*`)||e.endsWith(`/*`),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,`/*`)}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,`/*`)}".`);let r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n)=>(r.push({paramName:t,isOptional:n!=null}),n?`/?([^\\/]+)?`:`/([^\\/]+)`)).replace(/\/([\w-]+)\?(\/|$)/g,`(/$1)?$2`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function fe(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return C(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function pe(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}var me=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,he=e=>me.test(e);function ge(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?O(e):e,a;if(n){if(he(n))a=n;else{if(n.includes(`//`)){let e=n;n=n.replace(/\/\/+/g,`/`),C(!1,`Pathnames cannot have embedded double slashes - normalizing ${e} -> ${n}`)}a=n.startsWith(`/`)?_e(n.substring(1),`/`):_e(n,t)}}else a=t;return{pathname:a,search:we(r),hash:Te(i)}}function _e(e,t){let n=t.replace(/\/+$/,``).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function ve(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}].  Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function ye(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function be(e){let t=ye(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function xe(e,t,n,r=!1){let i;typeof e==`string`?i=O(e):(i={...e},S(!i.pathname||!i.pathname.includes(`?`),ve(`?`,`pathname`,`search`,i)),S(!i.pathname||!i.pathname.includes(`#`),ve(`#`,`pathname`,`hash`,i)),S(!i.search||!i.search.includes(`#`),ve(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let c=ge(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var Se=e=>e.join(`/`).replace(/\/\/+/g,`/`),Ce=e=>e.replace(/\/+$/,``).replace(/^\/*/,`/`),we=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,Te=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,Ee=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function De(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function Oe(e){return e.map(e=>e.route.path).filter(Boolean).join(`/`).replace(/\/\/*/g,`/`)||`/`}var ke=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Ae(e,t){let n=e;if(typeof n!=`string`||!me.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(ke)try{let e=new URL(window.location.href),r=n.startsWith(`//`)?new URL(e.protocol+n):new URL(n),a=pe(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{C(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var je=[`POST`,`PUT`,`PATCH`,`DELETE`];new Set(je);var Me=[`GET`,...je];new Set(Me);var Ne=y.createContext(null);Ne.displayName=`DataRouter`;var Pe=y.createContext(null);Pe.displayName=`DataRouterState`;var Fe=y.createContext(!1),Ie=y.createContext({isTransitioning:!1});Ie.displayName=`ViewTransition`;var Le=y.createContext(new Map);Le.displayName=`Fetchers`;var Re=y.createContext(null);Re.displayName=`Await`;var ze=y.createContext(null);ze.displayName=`Navigation`;var Be=y.createContext(null);Be.displayName=`Location`;var Ve=y.createContext({outlet:null,matches:[],isDataRoute:!1});Ve.displayName=`Route`;var He=y.createContext(null);He.displayName=`RouteError`;var Ue=`REACT_ROUTER_ERROR`,We=`REDIRECT`,Ge=`ROUTE_ERROR_RESPONSE`;function Ke(e){if(e.startsWith(`${Ue}:${We}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function qe(e){if(e.startsWith(`${Ue}:${Ge}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new Ee(t.status,t.statusText,t.data)}catch{}}function Je(e,{relative:t}={}){S(Ye(),`useHref() may be used only in the context of a <Router> component.`);let{basename:n,navigator:r}=y.useContext(ze),{hash:i,pathname:a,search:o}=tt(e,{relative:t}),s=a;return n!==`/`&&(s=a===`/`?n:Se([n,a])),r.createHref({pathname:s,search:o,hash:i})}function Ye(){return y.useContext(Be)!=null}function Xe(){return S(Ye(),`useLocation() may be used only in the context of a <Router> component.`),y.useContext(Be).location}var Ze=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function Qe(e){y.useContext(ze).static||y.useLayoutEffect(e)}function I(){let{isDataRoute:e}=y.useContext(Ve);return e?vt():$e()}function $e(){S(Ye(),`useNavigate() may be used only in the context of a <Router> component.`);let e=y.useContext(Ne),{basename:t,navigator:n}=y.useContext(ze),{matches:r}=y.useContext(Ve),{pathname:i}=Xe(),a=JSON.stringify(be(r)),o=y.useRef(!1);return Qe(()=>{o.current=!0}),y.useCallback((r,s={})=>{if(C(o.current,Ze),!o.current)return;if(typeof r==`number`){n.go(r);return}let c=xe(r,JSON.parse(a),i,s.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:Se([t,c.pathname])),(s.replace?n.replace:n.push)(c,s.state,s)},[t,n,a,i,e])}y.createContext(null);function et(){let{matches:e}=y.useContext(Ve),t=e[e.length-1];return t?t.params:{}}function tt(e,{relative:t}={}){let{matches:n}=y.useContext(Ve),{pathname:r}=Xe(),i=JSON.stringify(be(n));return y.useMemo(()=>xe(e,JSON.parse(i),r,t===`path`),[e,i,r,t])}function nt(e,t){return rt(e,t)}function rt(e,t,n,r,i){S(Ye(),`useRoutes() may be used only in the context of a <Router> component.`);let{navigator:a}=y.useContext(ze),{matches:o}=y.useContext(Ve),s=o[o.length-1],c=s?s.params:{},l=s?s.pathname:`/`,u=s?s.pathnameBase:`/`,d=s&&s.route;{let e=d&&d.path||``;bt(l,!d||e.endsWith(`*`)||e.endsWith(`*?`),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${l}" (under <Route path="${e}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.

Please change the parent <Route path="${e}"> to <Route path="${e===`/`?`*`:`${e}/*`}">.`)}let f=Xe(),p;if(t){let e=typeof t==`string`?O(t):t;S(u===`/`||e.pathname?.startsWith(u),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${u}" but pathname "${e.pathname}" was given in the \`location\` prop.`),p=e}else p=f;let m=p.pathname||`/`,h=m;if(u!==`/`){let e=u.replace(/^\//,``).split(`/`);h=`/`+m.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let g=ee(e,{pathname:h});C(d||g!=null,`No routes matched location "${p.pathname}${p.search}${p.hash}" `),C(g==null||g[g.length-1].route.element!==void 0||g[g.length-1].route.Component!==void 0||g[g.length-1].route.lazy!==void 0,`Matched leaf route at location "${p.pathname}${p.search}${p.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let _=ut(g&&g.map(e=>Object.assign({},e,{params:Object.assign({},c,e.params),pathname:Se([u,a.encodeLocation?a.encodeLocation(e.pathname.replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?u:Se([u,a.encodeLocation?a.encodeLocation(e.pathnameBase.replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),o,n,r,i);return t&&_?y.createElement(Be.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,...p},navigationType:`POP`}},_):_}function it(){let e=_t(),t=De(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r=`rgba(200,200,200, 0.5)`,i={padding:`0.5rem`,backgroundColor:r},a={padding:`2px 4px`,backgroundColor:r},o=null;return console.error(`Error handled by React Router default ErrorBoundary:`,e),o=y.createElement(y.Fragment,null,y.createElement(`p`,null,`💿 Hey developer 👋`),y.createElement(`p`,null,`You can provide a way better UX than this when your app throws errors by providing your own `,y.createElement(`code`,{style:a},`ErrorBoundary`),` or`,` `,y.createElement(`code`,{style:a},`errorElement`),` prop on your route.`)),y.createElement(y.Fragment,null,y.createElement(`h2`,null,`Unexpected Application Error!`),y.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?y.createElement(`pre`,{style:i},n):null,o)}var at=y.createElement(it,null),ot=class extends y.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!==`idle`&&e.revalidation===`idle`?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error===void 0?t.error:e.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`React Router caught the following error during render`,e)}render(){let e=this.state.error;if(this.context&&typeof e==`object`&&e&&`digest`in e&&typeof e.digest==`string`){let t=qe(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:y.createElement(Ve.Provider,{value:this.props.routeContext},y.createElement(He.Provider,{value:e,children:this.props.component}));return this.context?y.createElement(ct,{error:e},t):t}};ot.contextType=Fe;var st=new WeakMap;function ct({children:e,error:t}){let{basename:n}=y.useContext(ze);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=Ke(t.digest);if(e){let r=st.get(t);if(r)throw r;let i=Ae(e.location,n);if(ke&&!st.get(t)){if(i.isExternal||e.reloadDocument)window.location.href=i.absoluteURL||i.to;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(i.to,{replace:e.replace}));throw st.set(t,n),n}}return y.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${i.absoluteURL||i.to}`})}}return e}function lt({routeContext:e,match:t,children:n}){let r=y.useContext(Ne);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),y.createElement(Ve.Provider,{value:e},n)}function ut(e,t=[],n=null,r=null,i=null){if(e==null){if(!n)return null;if(n.errors)e=n.matches;else if(t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let a=e,o=n?.errors;if(o!=null){let e=a.findIndex(e=>e.route.id&&o?.[e.route.id]!==void 0);S(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(`,`)}`),a=a.slice(0,Math.min(a.length,e+1))}let s=!1,c=-1;if(n)for(let e=0;e<a.length;e++){let t=a[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(c=e),t.route.id){let{loaderData:e,errors:r}=n,i=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!r||r[t.route.id]===void 0);if(t.route.lazy||i){s=!0,a=c>=0?a.slice(0,c+1):[a[0]];break}}}let l=n&&r?(e,t)=>{r(e,{location:n.location,params:n.matches?.[0]?.params??{},unstable_pattern:Oe(n.matches),errorInfo:t})}:void 0;return a.reduceRight((e,r,i)=>{let u,d=!1,f=null,p=null;n&&(u=o&&r.route.id?o[r.route.id]:void 0,f=r.route.errorElement||at,s&&(c<0&&i===0?(bt(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),d=!0,p=null):c===i&&(d=!0,p=r.route.hydrateFallbackElement||null)));let m=t.concat(a.slice(0,i+1)),h=()=>{let t;return t=u?f:d?p:r.route.Component?y.createElement(r.route.Component,null):r.route.element?r.route.element:e,y.createElement(lt,{match:r,routeContext:{outlet:e,matches:m,isDataRoute:n!=null},children:t})};return n&&(r.route.ErrorBoundary||r.route.errorElement||i===0)?y.createElement(ot,{location:n.location,revalidation:n.revalidation,component:f,error:u,children:h(),routeContext:{outlet:null,matches:m,isDataRoute:!0},onError:l}):h()},null)}function dt(e){return`${e} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function ft(e){let t=y.useContext(Ne);return S(t,dt(e)),t}function pt(e){let t=y.useContext(Pe);return S(t,dt(e)),t}function mt(e){let t=y.useContext(Ve);return S(t,dt(e)),t}function ht(e){let t=mt(e),n=t.matches[t.matches.length-1];return S(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function gt(){return ht(`useRouteId`)}function _t(){let e=y.useContext(He),t=pt(`useRouteError`),n=ht(`useRouteError`);return e===void 0?t.errors?.[n]:e}function vt(){let{router:e}=ft(`useNavigate`),t=ht(`useNavigate`),n=y.useRef(!1);return Qe(()=>{n.current=!0}),y.useCallback(async(r,i={})=>{C(n.current,Ze),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var yt={};function bt(e,t,n){!t&&!yt[e]&&(yt[e]=!0,C(!1,n))}y.memo(xt);function xt({routes:e,future:t,state:n,onError:r}){return rt(e,void 0,n,r,t)}function St({to:e,replace:t,state:n,relative:r}){S(Ye(),`<Navigate> may be used only in the context of a <Router> component.`);let{static:i}=y.useContext(ze);C(!i,`<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.`);let{matches:a}=y.useContext(Ve),{pathname:o}=Xe(),s=I(),c=xe(e,be(a),o,r===`path`),l=JSON.stringify(c);return y.useEffect(()=>{s(JSON.parse(l),{replace:t,state:n,relative:r})},[s,l,r,t,n]),null}function R(e){S(!1,`A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.`)}function Ct({basename:e=`/`,children:t=null,location:n,navigationType:r=`POP`,navigator:i,static:a=!1,unstable_useTransitions:o}){S(!Ye(),`You cannot render a <Router> inside another <Router>. You should never have more than one in your app.`);let s=e.replace(/^\/*/,`/`),c=y.useMemo(()=>({basename:s,navigator:i,static:a,unstable_useTransitions:o,future:{}}),[s,i,a,o]);typeof n==`string`&&(n=O(n));let{pathname:l=`/`,search:u=``,hash:d=``,state:f=null,key:p=`default`}=n,m=y.useMemo(()=>{let e=pe(l,s);return e==null?null:{location:{pathname:e,search:u,hash:d,state:f,key:p},navigationType:r}},[s,l,u,d,f,p,r]);return C(m!=null,`<Router basename="${s}"> is not able to match the URL "${l}${u}${d}" because it does not start with the basename, so the <Router> won't render anything.`),m==null?null:y.createElement(ze.Provider,{value:c},y.createElement(Be.Provider,{children:t,value:m}))}function wt({children:e,location:t}){return nt(Tt(e),t)}y.Component;function Tt(e,t=[]){let n=[];return y.Children.forEach(e,(e,r)=>{if(!y.isValidElement(e))return;let i=[...t,r];if(e.type===y.Fragment){n.push.apply(n,Tt(e.props.children,i));return}S(e.type===R,`[${typeof e.type==`string`?e.type:e.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),S(!e.props.index||!e.props.children,`An index route cannot have child routes.`);let a={id:e.props.id||i.join(`-`),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,middleware:e.props.middleware,loader:e.props.loader,action:e.props.action,hydrateFallbackElement:e.props.hydrateFallbackElement,HydrateFallback:e.props.HydrateFallback,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:e.props.hasErrorBoundary===!0||e.props.ErrorBoundary!=null||e.props.errorElement!=null,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(a.children=Tt(e.props.children,i)),n.push(a)}),n}var Et=`get`,Dt=`application/x-www-form-urlencoded`;function Ot(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function kt(e){return Ot(e)&&e.tagName.toLowerCase()===`button`}function At(e){return Ot(e)&&e.tagName.toLowerCase()===`form`}function jt(e){return Ot(e)&&e.tagName.toLowerCase()===`input`}function Mt(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Nt(e,t){return e.button===0&&(!t||t===`_self`)&&!Mt(e)}var Pt=null;function Ft(){if(Pt===null)try{new FormData(document.createElement(`form`),0),Pt=!1}catch{Pt=!0}return Pt}var It=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function Lt(e){return e!=null&&!It.has(e)?(C(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Dt}"`),null):e}function Rt(e,t){let n,r,i,a,o;if(At(e)){let o=e.getAttribute(`action`);r=o?pe(o,t):null,n=e.getAttribute(`method`)||Et,i=Lt(e.getAttribute(`enctype`))||Dt,a=new FormData(e)}else if(kt(e)||jt(e)&&(e.type===`submit`||e.type===`image`)){let o=e.form;if(o==null)throw Error(`Cannot submit a <button> or <input type="submit"> without a <form>`);let s=e.getAttribute(`formaction`)||o.getAttribute(`action`);if(r=s?pe(s,t):null,n=e.getAttribute(`formmethod`)||o.getAttribute(`method`)||Et,i=Lt(e.getAttribute(`formenctype`))||Lt(o.getAttribute(`enctype`))||Dt,a=new FormData(o,e),!Ft()){let{name:t,type:n,value:r}=e;if(n===`image`){let e=t?`${t}.`:``;a.append(`${e}x`,`0`),a.append(`${e}y`,`0`)}else t&&a.append(t,r)}}else if(Ot(e))throw Error(`Cannot submit element that is not <form>, <button>, or <input type="submit|image">`);else n=Et,r=null,i=Dt,o=e;return a&&i===`text/plain`&&(o=a,a=void 0),{action:r,method:n.toLowerCase(),encType:i,formData:a,body:o}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);function zt(e,t){if(e===!1||e==null)throw Error(t)}function Bt(e,t,n,r){let i=typeof e==`string`?new URL(e,typeof window>`u`?`server://singlefetch/`:window.location.origin):e;return i.pathname=n?i.pathname.endsWith(`/`)?`${i.pathname}_.${r}`:`${i.pathname}.${r}`:i.pathname===`/`?`_root.${r}`:t&&pe(i.pathname,t)===`/`?`${t.replace(/\/$/,``)}/_root.${r}`:`${i.pathname.replace(/\/$/,``)}.${r}`,i}async function Vt(e,t){if(e.id in t)return t[e.id];try{let n=await import(e.module);return t[e.id]=n,n}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Ht(e){return e!=null&&typeof e.page==`string`}function Ut(e){return e==null?!1:e.href==null?e.rel===`preload`&&typeof e.imageSrcSet==`string`&&typeof e.imageSizes==`string`:typeof e.rel==`string`&&typeof e.href==`string`}async function Wt(e,t,n){return Yt((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await Vt(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(Ut).filter(e=>e.rel===`stylesheet`||e.rel===`preload`).map(e=>e.rel===`stylesheet`?{...e,rel:`prefetch`,as:`style`}:{...e,rel:`prefetch`}))}function Gt(e,t,n,r,i,a){let o=(e,t)=>!n[t]||e.route.id!==n[t].route.id,s=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith(`*`)&&n[t].params[`*`]!==e.params[`*`];return a===`assets`?t.filter((e,t)=>o(e,t)||s(e,t)):a===`data`?t.filter((t,a)=>{let c=r.routes[t.route.id];if(!c||!c.hasLoader)return!1;if(o(t,a)||s(t,a))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if(typeof r==`boolean`)return r}return!0}):[]}function Kt(e,t,{includeHydrateFallback:n}={}){return qt(e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let i=[r.module];return r.clientActionModule&&(i=i.concat(r.clientActionModule)),r.clientLoaderModule&&(i=i.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(i=i.concat(r.hydrateFallbackModule)),r.imports&&(i=i.concat(r.imports)),i}).flat(1))}function qt(e){return[...new Set(e)]}function Jt(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function Yt(e,t){let n=new Set,r=new Set(t);return e.reduce((e,i)=>{if(t&&!Ht(i)&&i.as===`script`&&i.href&&r.has(i.href))return e;let a=JSON.stringify(Jt(i));return n.has(a)||(n.add(a),e.push({key:a,link:i})),e},[])}function Xt(){let e=y.useContext(Ne);return zt(e,`You must render this element inside a <DataRouterContext.Provider> element`),e}function Zt(){let e=y.useContext(Pe);return zt(e,`You must render this element inside a <DataRouterStateContext.Provider> element`),e}var Qt=y.createContext(void 0);Qt.displayName=`FrameworkContext`;function $t(){let e=y.useContext(Qt);return zt(e,`You must render this element inside a <HydratedRouter> element`),e}function en(e,t){let n=y.useContext(Qt),[r,i]=y.useState(!1),[a,o]=y.useState(!1),{onFocus:s,onBlur:c,onMouseEnter:l,onMouseLeave:u,onTouchStart:d}=t,f=y.useRef(null);y.useEffect(()=>{if(e===`render`&&o(!0),e===`viewport`){let e=new IntersectionObserver(e=>{e.forEach(e=>{o(e.isIntersecting)})},{threshold:.5});return f.current&&e.observe(f.current),()=>{e.disconnect()}}},[e]),y.useEffect(()=>{if(r){let e=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(e)}}},[r]);let p=()=>{i(!0)},m=()=>{i(!1),o(!1)};return n?e===`intent`?[a,f,{onFocus:tn(s,p),onBlur:tn(c,m),onMouseEnter:tn(l,p),onMouseLeave:tn(u,m),onTouchStart:tn(d,p)}]:[a,f,{}]:[!1,f,{}]}function tn(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function nn({page:e,...t}){let{router:n}=Xt(),r=y.useMemo(()=>ee(n.routes,e,n.basename),[n.routes,e,n.basename]);return r?y.createElement(an,{page:e,matches:r,...t}):null}function rn(e){let{manifest:t,routeModules:n}=$t(),[r,i]=y.useState([]);return y.useEffect(()=>{let r=!1;return Wt(e,t,n).then(e=>{r||i(e)}),()=>{r=!0}},[e,t,n]),r}function an({page:e,matches:t,...n}){let r=Xe(),{future:i,manifest:a,routeModules:o}=$t(),{basename:s}=Xt(),{loaderData:c,matches:l}=Zt(),u=y.useMemo(()=>Gt(e,t,l,a,r,`data`),[e,t,l,a,r]),d=y.useMemo(()=>Gt(e,t,l,a,r,`assets`),[e,t,l,a,r]),f=y.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let n=new Set,l=!1;if(t.forEach(e=>{let t=a.routes[e.route.id];t&&t.hasLoader&&(!u.some(t=>t.route.id===e.route.id)&&e.route.id in c&&o[e.route.id]?.shouldRevalidate||t.hasClientLoader?l=!0:n.add(e.route.id))}),n.size===0)return[];let d=Bt(e,s,i.unstable_trailingSlashAwareDataRequests,`data`);return l&&n.size>0&&d.searchParams.set(`_routes`,t.filter(e=>n.has(e.route.id)).map(e=>e.route.id).join(`,`)),[d.pathname+d.search]},[s,i.unstable_trailingSlashAwareDataRequests,c,r,a,u,t,e,o]),p=y.useMemo(()=>Kt(d,a),[d,a]),m=rn(d);return y.createElement(y.Fragment,null,f.map(e=>y.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})),p.map(e=>y.createElement(`link`,{key:e,rel:`modulepreload`,href:e,...n})),m.map(({key:e,link:t})=>y.createElement(`link`,{key:e,nonce:n.nonce,...t})))}function on(...e){return t=>{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}y.Component;var sn=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;try{sn&&(window.__reactRouterVersion=`7.12.0`)}catch{}function cn({basename:e,children:t,unstable_useTransitions:n,window:r}){let i=y.useRef();i.current??=x({window:r,v5Compat:!0});let a=i.current,[o,s]=y.useState({action:a.action,location:a.location}),c=y.useCallback(e=>{n===!1?s(e):y.startTransition(()=>s(e))},[n]);return y.useLayoutEffect(()=>a.listen(c),[a,c]),y.createElement(Ct,{basename:e,children:t,location:o.location,navigationType:o.action,navigator:a,unstable_useTransitions:n})}var ln=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,un=y.forwardRef(function({onClick:e,discover:t=`render`,prefetch:n=`none`,relative:r,reloadDocument:i,replace:a,state:o,target:s,to:c,preventScrollReset:l,viewTransition:u,unstable_defaultShouldRevalidate:d,...f},p){let{basename:m,unstable_useTransitions:h}=y.useContext(ze),g=typeof c==`string`&&ln.test(c),_=Ae(c,m);c=_.to;let v=Je(c,{relative:r}),[b,x,S]=en(n,f),C=hn(c,{replace:a,state:o,target:s,preventScrollReset:l,relative:r,viewTransition:u,unstable_defaultShouldRevalidate:d,unstable_useTransitions:h});function w(t){e&&e(t),t.defaultPrevented||C(t)}let T=y.createElement(`a`,{...f,...S,href:_.absoluteURL||v,onClick:_.isExternal||i?e:w,ref:on(p,x),target:s,"data-discover":!g&&t===`render`?`true`:void 0});return b&&!g?y.createElement(y.Fragment,null,T,y.createElement(nn,{page:v})):T});un.displayName=`Link`;var dn=y.forwardRef(function({"aria-current":e=`page`,caseSensitive:t=!1,className:n=``,end:r=!1,style:i,to:a,viewTransition:o,children:s,...c},l){let u=tt(a,{relative:c.relative}),d=Xe(),f=y.useContext(Pe),{navigator:p,basename:m}=y.useContext(ze),h=f!=null&&bn(u)&&o===!0,g=p.encodeLocation?p.encodeLocation(u).pathname:u.pathname,_=d.pathname,v=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;t||(_=_.toLowerCase(),v=v?v.toLowerCase():null,g=g.toLowerCase()),v&&m&&(v=pe(v,m)||v);let b=g!==`/`&&g.endsWith(`/`)?g.length-1:g.length,x=_===g||!r&&_.startsWith(g)&&_.charAt(b)===`/`,S=v!=null&&(v===g||!r&&v.startsWith(g)&&v.charAt(g.length)===`/`),C={isActive:x,isPending:S,isTransitioning:h},w=x?e:void 0,T;T=typeof n==`function`?n(C):[n,x?`active`:null,S?`pending`:null,h?`transitioning`:null].filter(Boolean).join(` `);let E=typeof i==`function`?i(C):i;return y.createElement(un,{...c,"aria-current":w,className:T,ref:l,style:E,to:a,viewTransition:o},typeof s==`function`?s(C):s)});dn.displayName=`NavLink`;var fn=y.forwardRef(({discover:e=`render`,fetcherKey:t,navigate:n,reloadDocument:r,replace:i,state:a,method:o=Et,action:s,onSubmit:c,relative:l,preventScrollReset:u,viewTransition:d,unstable_defaultShouldRevalidate:f,...p},m)=>{let{unstable_useTransitions:h}=y.useContext(ze),g=vn(),_=yn(s,{relative:l}),v=o.toLowerCase()===`get`?`get`:`post`,b=typeof s==`string`&&ln.test(s);return y.createElement(`form`,{ref:m,method:v,action:_,onSubmit:r?c:e=>{if(c&&c(e),e.defaultPrevented)return;e.preventDefault();let r=e.nativeEvent.submitter,s=r?.getAttribute(`formmethod`)||o,p=()=>g(r||e.currentTarget,{fetcherKey:t,method:s,navigate:n,replace:i,state:a,relative:l,preventScrollReset:u,viewTransition:d,unstable_defaultShouldRevalidate:f});h&&n!==!1?y.startTransition(()=>p()):p()},...p,"data-discover":!b&&e===`render`?`true`:void 0})});fn.displayName=`Form`;function pn(e){return`${e} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function mn(e){let t=y.useContext(Ne);return S(t,pn(e)),t}function hn(e,{target:t,replace:n,state:r,preventScrollReset:i,relative:a,viewTransition:o,unstable_defaultShouldRevalidate:s,unstable_useTransitions:c}={}){let l=I(),u=Xe(),d=tt(e,{relative:a});return y.useCallback(f=>{if(Nt(f,t)){f.preventDefault();let t=n===void 0?D(u)===D(d):n,p=()=>l(e,{replace:t,state:r,preventScrollReset:i,relative:a,viewTransition:o,unstable_defaultShouldRevalidate:s});c?y.startTransition(()=>p()):p()}},[u,l,d,n,r,t,e,i,a,o,s,c])}var gn=0,_n=()=>`__${String(++gn)}__`;function vn(){let{router:e}=mn(`useSubmit`),{basename:t}=y.useContext(ze),n=gt(),r=e.fetch,i=e.navigate;return y.useCallback(async(e,a={})=>{let{action:o,method:s,encType:c,formData:l,body:u}=Rt(e,t);if(a.navigate===!1){let e=a.fetcherKey||_n();await r(e,n,a.action||o,{unstable_defaultShouldRevalidate:a.unstable_defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,flushSync:a.flushSync})}else await i(a.action||o,{unstable_defaultShouldRevalidate:a.unstable_defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,replace:a.replace,state:a.state,fromRouteId:n,flushSync:a.flushSync,viewTransition:a.viewTransition})},[r,i,t,n])}function yn(e,{relative:t}={}){let{basename:n}=y.useContext(ze),r=y.useContext(Ve);S(r,`useFormAction must be used inside a RouteContext`);let[i]=r.matches.slice(-1),a={...tt(e||`.`,{relative:t})},o=Xe();if(e==null){a.search=o.search;let e=new URLSearchParams(a.search),t=e.getAll(`index`);if(t.some(e=>e===``)){e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();a.search=n?`?${n}`:``}}return(!e||e===`.`)&&i.route.index&&(a.search=a.search?a.search.replace(/^\?/,`?index&`):`?index`),n!==`/`&&(a.pathname=a.pathname===`/`?n:Se([n,a.pathname])),D(a)}function bn(e,{relative:t}={}){let n=y.useContext(Ie);S(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`.  Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=mn(`useViewTransitionState`),i=tt(e,{relative:t});if(!n.isTransitioning)return!1;let a=pe(n.currentLocation.pathname,r)||n.currentLocation.pathname,o=pe(n.nextLocation.pathname,r)||n.nextLocation.pathname;return ue(i.pathname,o)!=null||ue(i.pathname,a)!=null}var xn=u(v(),1);function Sn(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<i;t++)e[t]&&(n=Sn(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function Cn(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Sn(e))&&(r&&(r+=` `),r+=t);return r}var wn=`-`,Tn=e=>{let t=kn(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{let n=e.split(wn);return n[0]===``&&n.length!==1&&n.shift(),En(n,t)||On(e)},getConflictingClassGroupIds:(e,t)=>{let i=n[e]||[];return t&&r[e]?[...i,...r[e]]:i}}},En=(e,t)=>{if(e.length===0)return t.classGroupId;let n=e[0],r=t.nextPart.get(n),i=r?En(e.slice(1),r):void 0;if(i)return i;if(t.validators.length===0)return;let a=e.join(wn);return t.validators.find(({validator:e})=>e(a))?.classGroupId},Dn=/^\[(.+)\]$/,On=e=>{if(Dn.test(e)){let t=Dn.exec(e)[1],n=t?.substring(0,t.indexOf(`:`));if(n)return`arbitrary..`+n}},kn=e=>{let{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return Nn(Object.entries(e.classGroups),n).forEach(([e,n])=>{An(n,r,e,t)}),r},An=(e,t,n,r)=>{e.forEach(e=>{if(typeof e==`string`){let r=e===``?t:jn(t,e);r.classGroupId=n}else if(typeof e==`function`){if(Mn(e)){An(e(r),t,n,r);return}t.validators.push({validator:e,classGroupId:n})}else Object.entries(e).forEach(([e,i])=>{An(i,jn(t,e),n,r)})})},jn=(e,t)=>{let n=e;return t.split(wn).forEach(e=>{n.nextPart.has(e)||n.nextPart.set(e,{nextPart:new Map,validators:[]}),n=n.nextPart.get(e)}),n},Mn=e=>e.isThemeGetter,Nn=(e,t)=>t?e.map(([e,n])=>[e,n.map(e=>typeof e==`string`?t+e:typeof e==`object`?Object.fromEntries(Object.entries(e).map(([e,n])=>[t+e,n])):e)]):e,Pn=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=new Map,r=new Map,i=(i,a)=>{n.set(i,a),t++,t>e&&(t=0,r=n,n=new Map)};return{get(e){let t=n.get(e);if(t!==void 0)return t;if((t=r.get(e))!==void 0)return i(e,t),t},set(e,t){n.has(e)?n.set(e,t):i(e,t)}}},Fn=`!`,In=e=>{let{separator:t,experimentalParseClassName:n}=e,r=t.length===1,i=t[0],a=t.length,o=e=>{let n=[],o=0,s=0,c;for(let l=0;l<e.length;l++){let u=e[l];if(o===0){if(u===i&&(r||e.slice(l,l+a)===t)){n.push(e.slice(s,l)),s=l+a;continue}if(u===`/`){c=l;continue}}u===`[`?o++:u===`]`&&o--}let l=n.length===0?e:e.substring(s),u=l.startsWith(Fn);return{modifiers:n,hasImportantModifier:u,baseClassName:u?l.substring(1):l,maybePostfixModifierPosition:c&&c>s?c-s:void 0}};return n?e=>n({className:e,parseClassName:o}):o},Ln=e=>{if(e.length<=1)return e;let t=[],n=[];return e.forEach(e=>{e[0]===`[`?(t.push(...n.sort(),e),n=[]):n.push(e)}),t.push(...n.sort()),t},Rn=e=>({cache:Pn(e.cacheSize),parseClassName:In(e),...Tn(e)}),zn=/\s+/,Bn=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i}=t,a=[],o=e.trim().split(zn),s=``;for(let e=o.length-1;e>=0;--e){let t=o[e],{modifiers:c,hasImportantModifier:l,baseClassName:u,maybePostfixModifierPosition:d}=n(t),f=!!d,p=r(f?u.substring(0,d):u);if(!p){if(!f||(p=r(u),!p)){s=t+(s.length>0?` `+s:s);continue}f=!1}let m=Ln(c).join(`:`),h=l?m+Fn:m,g=h+p;if(a.includes(g))continue;a.push(g);let _=i(p,f);for(let e=0;e<_.length;++e){let t=_[e];a.push(h+t)}s=t+(s.length>0?` `+s:s)}return s};function Vn(){let e=0,t,n,r=``;for(;e<arguments.length;)(t=arguments[e++])&&(n=Hn(t))&&(r&&(r+=` `),r+=n);return r}var Hn=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Hn(e[r]))&&(n&&(n+=` `),n+=t);return n};function Un(e,...t){let n,r,i,a=o;function o(o){return n=Rn(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)}function s(e){let t=r(e);if(t)return t;let a=Bn(e,n);return i(e,a),a}return function(){return a(Vn.apply(null,arguments))}}var Wn=e=>{let t=t=>t[e]||[];return t.isThemeGetter=!0,t},Gn=/^\[(?:([a-z-]+):)?(.+)\]$/i,Kn=/^\d+\/\d+$/,qn=new Set([`px`,`full`,`screen`]),Jn=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Yn=/\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$/,Xn=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,Zn=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Qn=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,$n=e=>tr(e)||qn.has(e)||Kn.test(e),er=e=>mr(e,`length`,hr),tr=e=>!!e&&!Number.isNaN(Number(e)),nr=e=>mr(e,`number`,tr),rr=e=>!!e&&Number.isInteger(Number(e)),ir=e=>e.endsWith(`%`)&&tr(e.slice(0,-1)),ar=e=>Gn.test(e),or=e=>Jn.test(e),sr=new Set([`length`,`size`,`percentage`]),cr=e=>mr(e,sr,gr),lr=e=>mr(e,`position`,gr),ur=new Set([`image`,`url`]),dr=e=>mr(e,ur,vr),fr=e=>mr(e,``,_r),pr=()=>!0,mr=(e,t,n)=>{let r=Gn.exec(e);return r?r[1]?typeof t==`string`?r[1]===t:t.has(r[1]):n(r[2]):!1},hr=e=>Yn.test(e)&&!Xn.test(e),gr=()=>!1,_r=e=>Zn.test(e),vr=e=>Qn.test(e),yr=Un(()=>{let e=Wn(`colors`),t=Wn(`spacing`),n=Wn(`blur`),r=Wn(`brightness`),i=Wn(`borderColor`),a=Wn(`borderRadius`),o=Wn(`borderSpacing`),s=Wn(`borderWidth`),c=Wn(`contrast`),l=Wn(`grayscale`),u=Wn(`hueRotate`),d=Wn(`invert`),f=Wn(`gap`),p=Wn(`gradientColorStops`),m=Wn(`gradientColorStopPositions`),h=Wn(`inset`),g=Wn(`margin`),_=Wn(`opacity`),v=Wn(`padding`),y=Wn(`saturate`),b=Wn(`scale`),x=Wn(`sepia`),S=Wn(`skew`),C=Wn(`space`),w=Wn(`translate`),T=()=>[`auto`,`contain`,`none`],E=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],D=()=>[`auto`,ar,t],O=()=>[ar,t],k=()=>[``,$n,er],A=()=>[`auto`,tr,ar],ee=()=>[`bottom`,`center`,`left`,`left-bottom`,`left-top`,`right`,`right-bottom`,`right-top`,`top`],j=()=>[`solid`,`dashed`,`dotted`,`double`,`none`],M=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],N=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`],P=()=>[``,`0`,ar],te=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],ne=()=>[tr,ar];return{cacheSize:500,separator:`:`,theme:{colors:[pr],spacing:[$n,er],blur:[`none`,``,or,ar],brightness:ne(),borderColor:[e],borderRadius:[`none`,``,`full`,or,ar],borderSpacing:O(),borderWidth:k(),contrast:ne(),grayscale:P(),hueRotate:ne(),invert:P(),gap:O(),gradientColorStops:[e],gradientColorStopPositions:[ir,er],inset:D(),margin:D(),opacity:ne(),padding:O(),saturate:ne(),scale:ne(),sepia:P(),skew:ne(),space:O(),translate:O()},classGroups:{aspect:[{aspect:[`auto`,`square`,`video`,ar]}],container:[`container`],columns:[{columns:[or]}],"break-after":[{"break-after":te()}],"break-before":[{"break-before":te()}],"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`],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:[...ee(),ar]}],overflow:[{overflow:E()}],"overflow-x":[{"overflow-x":E()}],"overflow-y":[{"overflow-y":E()}],overscroll:[{overscroll:T()}],"overscroll-x":[{"overscroll-x":T()}],"overscroll-y":[{"overscroll-y":T()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:[h]}],"inset-x":[{"inset-x":[h]}],"inset-y":[{"inset-y":[h]}],start:[{start:[h]}],end:[{end:[h]}],top:[{top:[h]}],right:[{right:[h]}],bottom:[{bottom:[h]}],left:[{left:[h]}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[`auto`,rr,ar]}],basis:[{basis:D()}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`wrap`,`wrap-reverse`,`nowrap`]}],flex:[{flex:[`1`,`auto`,`initial`,`none`,ar]}],grow:[{grow:P()}],shrink:[{shrink:P()}],order:[{order:[`first`,`last`,`none`,rr,ar]}],"grid-cols":[{"grid-cols":[pr]}],"col-start-end":[{col:[`auto`,{span:[`full`,rr,ar]},ar]}],"col-start":[{"col-start":A()}],"col-end":[{"col-end":A()}],"grid-rows":[{"grid-rows":[pr]}],"row-start-end":[{row:[`auto`,{span:[rr,ar]},ar]}],"row-start":[{"row-start":A()}],"row-end":[{"row-end":A()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":[`auto`,`min`,`max`,`fr`,ar]}],"auto-rows":[{"auto-rows":[`auto`,`min`,`max`,`fr`,ar]}],gap:[{gap:[f]}],"gap-x":[{"gap-x":[f]}],"gap-y":[{"gap-y":[f]}],"justify-content":[{justify:[`normal`,...N()]}],"justify-items":[{"justify-items":[`start`,`end`,`center`,`stretch`]}],"justify-self":[{"justify-self":[`auto`,`start`,`end`,`center`,`stretch`]}],"align-content":[{content:[`normal`,...N(),`baseline`]}],"align-items":[{items:[`start`,`end`,`center`,`baseline`,`stretch`]}],"align-self":[{self:[`auto`,`start`,`end`,`center`,`stretch`,`baseline`]}],"place-content":[{"place-content":[...N(),`baseline`]}],"place-items":[{"place-items":[`start`,`end`,`center`,`baseline`,`stretch`]}],"place-self":[{"place-self":[`auto`,`start`,`end`,`center`,`stretch`]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],m:[{m:[g]}],mx:[{mx:[g]}],my:[{my:[g]}],ms:[{ms:[g]}],me:[{me:[g]}],mt:[{mt:[g]}],mr:[{mr:[g]}],mb:[{mb:[g]}],ml:[{ml:[g]}],"space-x":[{"space-x":[C]}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":[C]}],"space-y-reverse":[`space-y-reverse`],w:[{w:[`auto`,`min`,`max`,`fit`,`svw`,`lvw`,`dvw`,ar,t]}],"min-w":[{"min-w":[ar,t,`min`,`max`,`fit`]}],"max-w":[{"max-w":[ar,t,`none`,`full`,`min`,`max`,`fit`,`prose`,{screen:[or]},or]}],h:[{h:[ar,t,`auto`,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],"min-h":[{"min-h":[ar,t,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],"max-h":[{"max-h":[ar,t,`min`,`max`,`fit`,`svh`,`lvh`,`dvh`]}],size:[{size:[ar,t,`auto`,`min`,`max`,`fit`]}],"font-size":[{text:[`base`,or,er]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`,nr]}],"font-family":[{font:[pr]}],"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:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`,ar]}],"line-clamp":[{"line-clamp":[`none`,tr,nr]}],leading:[{leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`,$n,ar]}],"list-image":[{"list-image":[`none`,ar]}],"list-style-type":[{list:[`none`,`disc`,`decimal`,ar]}],"list-style-position":[{list:[`inside`,`outside`]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[_]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[_]}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...j(),`wavy`]}],"text-decoration-thickness":[{decoration:[`auto`,`from-font`,$n,er]}],"underline-offset":[{"underline-offset":[`auto`,$n,ar]}],"text-decoration-color":[{decoration:[e]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:O()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,ar]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,ar]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-opacity":[{"bg-opacity":[_]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:[...ee(),lr]}],"bg-repeat":[{bg:[`no-repeat`,{repeat:[``,`x`,`y`,`round`,`space`]}]}],"bg-size":[{bg:[`auto`,`cover`,`contain`,cr]}],"bg-image":[{bg:[`none`,{"gradient-to":[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},dr]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[m]}],"gradient-via-pos":[{via:[m]}],"gradient-to-pos":[{to:[m]}],"gradient-from":[{from:[p]}],"gradient-via":[{via:[p]}],"gradient-to":[{to:[p]}],rounded:[{rounded:[a]}],"rounded-s":[{"rounded-s":[a]}],"rounded-e":[{"rounded-e":[a]}],"rounded-t":[{"rounded-t":[a]}],"rounded-r":[{"rounded-r":[a]}],"rounded-b":[{"rounded-b":[a]}],"rounded-l":[{"rounded-l":[a]}],"rounded-ss":[{"rounded-ss":[a]}],"rounded-se":[{"rounded-se":[a]}],"rounded-ee":[{"rounded-ee":[a]}],"rounded-es":[{"rounded-es":[a]}],"rounded-tl":[{"rounded-tl":[a]}],"rounded-tr":[{"rounded-tr":[a]}],"rounded-br":[{"rounded-br":[a]}],"rounded-bl":[{"rounded-bl":[a]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[_]}],"border-style":[{border:[...j(),`hidden`]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":[`divide-y-reverse`],"divide-opacity":[{"divide-opacity":[_]}],"divide-style":[{divide:j()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:[``,...j()]}],"outline-offset":[{"outline-offset":[$n,ar]}],"outline-w":[{outline:[$n,er]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:k()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[_]}],"ring-offset-w":[{"ring-offset":[$n,er]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:[``,`inner`,`none`,or,fr]}],"shadow-color":[{shadow:[pr]}],opacity:[{opacity:[_]}],"mix-blend":[{"mix-blend":[...M(),`plus-lighter`,`plus-darker`]}],"bg-blend":[{"bg-blend":M()}],filter:[{filter:[``,`none`]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":[``,`none`,or,ar]}],grayscale:[{grayscale:[l]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[d]}],saturate:[{saturate:[y]}],sepia:[{sepia:[x]}],"backdrop-filter":[{"backdrop-filter":[``,`none`]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[l]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[_]}],"backdrop-saturate":[{"backdrop-saturate":[y]}],"backdrop-sepia":[{"backdrop-sepia":[x]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":[o]}],"border-spacing-x":[{"border-spacing-x":[o]}],"border-spacing-y":[{"border-spacing-y":[o]}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[`none`,`all`,``,`colors`,`opacity`,`shadow`,`transform`,ar]}],duration:[{duration:ne()}],ease:[{ease:[`linear`,`in`,`out`,`in-out`,ar]}],delay:[{delay:ne()}],animate:[{animate:[`none`,`spin`,`ping`,`pulse`,`bounce`,ar]}],transform:[{transform:[``,`gpu`,`none`]}],scale:[{scale:[b]}],"scale-x":[{"scale-x":[b]}],"scale-y":[{"scale-y":[b]}],rotate:[{rotate:[rr,ar]}],"translate-x":[{"translate-x":[w]}],"translate-y":[{"translate-y":[w]}],"skew-x":[{"skew-x":[S]}],"skew-y":[{"skew-y":[S]}],"transform-origin":[{origin:[`center`,`top`,`top-right`,`right`,`bottom-right`,`bottom`,`bottom-left`,`left`,`top-left`,ar]}],accent:[{accent:[`auto`,e]}],appearance:[{appearance:[`none`,`auto`]}],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`,ar]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":[`none`,`auto`]}],resize:[{resize:[`none`,`y`,`x`,``]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":O()}],"scroll-mx":[{"scroll-mx":O()}],"scroll-my":[{"scroll-my":O()}],"scroll-ms":[{"scroll-ms":O()}],"scroll-me":[{"scroll-me":O()}],"scroll-mt":[{"scroll-mt":O()}],"scroll-mr":[{"scroll-mr":O()}],"scroll-mb":[{"scroll-mb":O()}],"scroll-ml":[{"scroll-ml":O()}],"scroll-p":[{"scroll-p":O()}],"scroll-px":[{"scroll-px":O()}],"scroll-py":[{"scroll-py":O()}],"scroll-ps":[{"scroll-ps":O()}],"scroll-pe":[{"scroll-pe":O()}],"scroll-pt":[{"scroll-pt":O()}],"scroll-pr":[{"scroll-pr":O()}],"scroll-pb":[{"scroll-pb":O()}],"scroll-pl":[{"scroll-pl":O()}],"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`,ar]}],fill:[{fill:[e,`none`]}],"stroke-w":[{stroke:[$n,er,nr]}],stroke:[{stroke:[e,`none`]}],sr:[`sr-only`,`not-sr-only`],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`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`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`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-s`,`border-w-e`,`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-s`,`border-color-e`,`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`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`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-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`]}}});function z(...e){return yr(Cn(e))}var br=u(_(),1);function xr(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}function Sr(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Cr(...e){return t=>{let n=!1,r=e.map(e=>{let r=Sr(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():Sr(e[t],null)}}}}function wr(...e){return y.useCallback(Cr(...e),e)}var Tr=s((e=>{var t=p(),n=Symbol.for(`react.element`),r=Symbol.for(`react.fragment`),i=Object.prototype.hasOwnProperty,a=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,r){var s,c={},l=null,u=null;for(s in r!==void 0&&(l=``+r),t.key!==void 0&&(l=``+t.key),t.ref!==void 0&&(u=t.ref),t)i.call(t,s)&&!o.hasOwnProperty(s)&&(c[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps,t)c[s]===void 0&&(c[s]=t[s]);return{$$typeof:n,type:e,key:l,ref:u,props:c,_owner:a.current}}e.Fragment=r,e.jsx=s,e.jsxs=s})),B=s(((e,t)=>{t.exports=Tr()}))();function Er(e,t){let n=y.createContext(t),r=e=>{let{children:t,...r}=e,i=y.useMemo(()=>r,Object.values(r));return(0,B.jsx)(n.Provider,{value:i,children:t})};r.displayName=e+`Provider`;function i(r){let i=y.useContext(n);if(i)return i;if(t!==void 0)return t;throw Error(`\`${r}\` must be used within \`${e}\``)}return[r,i]}function Dr(e,t=[]){let n=[];function r(t,r){let i=y.createContext(r),a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=y.useMemo(()=>o,Object.values(o));return(0,B.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o){let s=o?.[e]?.[a]||i,c=y.useContext(s);if(c)return c;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>y.createContext(e));return function(n){let r=n?.[e]||t;return y.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,Or(i,...t)]}function Or(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return y.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}var kr=y.forwardRef((e,t)=>{let{children:n,...r}=e,i=y.Children.toArray(n),a=i.find(Mr);if(a){let e=a.props.children,n=i.map(t=>t===a?y.Children.count(e)>1?y.Children.only(null):y.isValidElement(e)?e.props.children:null:t);return(0,B.jsx)(Ar,{...r,ref:t,children:y.isValidElement(e)?y.cloneElement(e,void 0,n):null})}return(0,B.jsx)(Ar,{...r,ref:t,children:n})});kr.displayName=`Slot`;var Ar=y.forwardRef((e,t)=>{let{children:n,...r}=e;if(y.isValidElement(n)){let e=Pr(n);return y.cloneElement(n,{...Nr(r,n.props),ref:t?Cr(t,e):e})}return y.Children.count(n)>1?y.Children.only(null):null});Ar.displayName=`SlotClone`;var jr=({children:e})=>(0,B.jsx)(B.Fragment,{children:e});function Mr(e){return y.isValidElement(e)&&e.type===jr}function Nr(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{a(...e),i(...e)}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function Pr(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Fr(e){let t=e+`CollectionProvider`,[n,r]=Dr(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:t,children:n}=e,r=y.useRef(null),a=y.useRef(new Map).current;return(0,B.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})};o.displayName=t;let s=e+`CollectionSlot`,c=y.forwardRef((e,t)=>{let{scope:n,children:r}=e,i=wr(t,a(s,n).collectionRef);return(0,B.jsx)(kr,{ref:i,children:r})});c.displayName=s;let l=e+`CollectionItemSlot`,u=`data-radix-collection-item`,d=y.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=y.useRef(null),s=wr(t,o),c=a(l,n);return y.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,B.jsx)(kr,{[u]:``,ref:s,children:r})});d.displayName=l;function f(t){let n=a(e+`CollectionConsumer`,t);return y.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${u}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:o,Slot:c,ItemSlot:d},f,r]}var Ir=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=y.forwardRef((e,n)=>{let{asChild:r,...i}=e,a=r?kr:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,B.jsx)(a,{...i,ref:n})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function Lr(e,t){e&&br.flushSync(()=>e.dispatchEvent(t))}function Rr(e){let t=y.useRef(e);return y.useEffect(()=>{t.current=e}),y.useMemo(()=>(...e)=>t.current?.(...e),[])}function zr(e,t=globalThis?.document){let n=Rr(e);y.useEffect(()=>{let e=e=>{e.key===`Escape`&&n(e)};return t.addEventListener(`keydown`,e,{capture:!0}),()=>t.removeEventListener(`keydown`,e,{capture:!0})},[n,t])}var Br=`DismissableLayer`,Vr=`dismissableLayer.update`,Hr=`dismissableLayer.pointerDownOutside`,Ur=`dismissableLayer.focusOutside`,Wr,Gr=y.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Kr=y.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:o,onDismiss:s,...c}=e,l=y.useContext(Gr),[u,d]=y.useState(null),f=u?.ownerDocument??globalThis?.document,[,p]=y.useState({}),m=wr(t,e=>d(e)),h=Array.from(l.layers),[g]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),_=h.indexOf(g),v=u?h.indexOf(u):-1,b=l.layersWithOutsidePointerEventsDisabled.size>0,x=v>=_,S=Yr(e=>{let t=e.target,n=[...l.branches].some(e=>e.contains(t));x&&!n&&(i?.(e),o?.(e),e.defaultPrevented||s?.())},f),C=Xr(e=>{let t=e.target;[...l.branches].some(e=>e.contains(t))||(a?.(e),o?.(e),e.defaultPrevented||s?.())},f);return zr(e=>{v===l.layers.size-1&&(r?.(e),!e.defaultPrevented&&s&&(e.preventDefault(),s()))},f),y.useEffect(()=>{if(u)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(Wr=f.body.style.pointerEvents,f.body.style.pointerEvents=`none`),l.layersWithOutsidePointerEventsDisabled.add(u)),l.layers.add(u),Zr(),()=>{n&&l.layersWithOutsidePointerEventsDisabled.size===1&&(f.body.style.pointerEvents=Wr)}},[u,f,n,l]),y.useEffect(()=>()=>{u&&(l.layers.delete(u),l.layersWithOutsidePointerEventsDisabled.delete(u),Zr())},[u,l]),y.useEffect(()=>{let e=()=>p({});return document.addEventListener(Vr,e),()=>document.removeEventListener(Vr,e)},[]),(0,B.jsx)(Ir.div,{...c,ref:m,style:{pointerEvents:b?x?`auto`:`none`:void 0,...e.style},onFocusCapture:xr(e.onFocusCapture,C.onFocusCapture),onBlurCapture:xr(e.onBlurCapture,C.onBlurCapture),onPointerDownCapture:xr(e.onPointerDownCapture,S.onPointerDownCapture)})});Kr.displayName=Br;var qr=`DismissableLayerBranch`,Jr=y.forwardRef((e,t)=>{let n=y.useContext(Gr),r=y.useRef(null),i=wr(t,r);return y.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,B.jsx)(Ir.div,{...e,ref:i})});Jr.displayName=qr;function Yr(e,t=globalThis?.document){let n=Rr(e),r=y.useRef(!1),i=y.useRef(()=>{});return y.useEffect(()=>{let e=e=>{if(e.target&&!r.current){let r=function(){Qr(Hr,n,a,{discrete:!0})},a={originalEvent:e};e.pointerType===`touch`?(t.removeEventListener(`click`,i.current),i.current=r,t.addEventListener(`click`,i.current,{once:!0})):r()}else t.removeEventListener(`click`,i.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener(`pointerdown`,e)},0);return()=>{window.clearTimeout(a),t.removeEventListener(`pointerdown`,e),t.removeEventListener(`click`,i.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function Xr(e,t=globalThis?.document){let n=Rr(e),r=y.useRef(!1);return y.useEffect(()=>{let e=e=>{e.target&&!r.current&&Qr(Ur,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function Zr(){let e=new CustomEvent(Vr);document.dispatchEvent(e)}function Qr(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?Lr(i,a):i.dispatchEvent(a)}var $r=Kr,ei=Jr,ti=globalThis?.document?y.useLayoutEffect:()=>{},ni=`Portal`,ri=y.forwardRef((e,t)=>{let{container:n,...r}=e,[i,a]=y.useState(!1);ti(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?br.createPortal((0,B.jsx)(Ir.div,{...r,ref:t}),o):null});ri.displayName=ni;function ii(e,t){return y.useReducer((e,n)=>t[e][n]??e,e)}var ai=e=>{let{present:t,children:n}=e,r=oi(t),i=typeof n==`function`?n({present:r.isPresent}):y.Children.only(n),a=wr(r.ref,ci(i));return typeof n==`function`||r.isPresent?y.cloneElement(i,{ref:a}):null};ai.displayName=`Presence`;function oi(e){let[t,n]=y.useState(),r=y.useRef({}),i=y.useRef(e),a=y.useRef(`none`),[o,s]=ii(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return y.useEffect(()=>{let e=si(r.current);a.current=o===`mounted`?e:`none`},[o]),ti(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=si(t);e?s(`MOUNT`):o===`none`||t?.display===`none`?s(`UNMOUNT`):s(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,s]),ti(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=si(r.current).includes(a.animationName);if(a.target===t&&o&&(s(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},c=e=>{e.target===t&&(a.current=si(r.current))};return t.addEventListener(`animationstart`,c),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,c),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}s(`ANIMATION_END`)},[t,s]),{isPresent:[`mounted`,`unmountSuspended`].includes(o),ref:y.useCallback(e=>{e&&(r.current=getComputedStyle(e)),n(e)},[])}}function si(e){return e?.animationName||`none`}function ci(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function li({prop:e,defaultProp:t,onChange:n=()=>{}}){let[r,i]=ui({defaultProp:t,onChange:n}),a=e!==void 0,o=a?e:r,s=Rr(n);return[o,y.useCallback(t=>{if(a){let n=typeof t==`function`?t(e):t;n!==e&&s(n)}else i(t)},[a,e,i,s])]}function ui({defaultProp:e,onChange:t}){let n=y.useState(e),[r]=n,i=y.useRef(r),a=Rr(t);return y.useEffect(()=>{i.current!==r&&(a(r),i.current=r)},[r,i,a]),n}var di=`VisuallyHidden`,fi=y.forwardRef((e,t)=>(0,B.jsx)(Ir.span,{...e,ref:t,style:{position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`,...e.style}}));fi.displayName=di;var pi=`ToastProvider`,[mi,hi,gi]=Fr(`Toast`),[_i,vi]=Dr(`Toast`,[gi]),[yi,bi]=_i(pi),xi=e=>{let{__scopeToast:t,label:n=`Notification`,duration:r=5e3,swipeDirection:i=`right`,swipeThreshold:a=50,children:o}=e,[s,c]=y.useState(null),[l,u]=y.useState(0),d=y.useRef(!1),f=y.useRef(!1);return n.trim()||console.error(`Invalid prop \`label\` supplied to \`${pi}\`. Expected non-empty \`string\`.`),(0,B.jsx)(mi.Provider,{scope:t,children:(0,B.jsx)(yi,{scope:t,label:n,duration:r,swipeDirection:i,swipeThreshold:a,toastCount:l,viewport:s,onViewportChange:c,onToastAdd:y.useCallback(()=>u(e=>e+1),[]),onToastRemove:y.useCallback(()=>u(e=>e-1),[]),isFocusedToastEscapeKeyDownRef:d,isClosePausedRef:f,children:o})})};xi.displayName=pi;var Si=`ToastViewport`,Ci=[`F8`],wi=`toast.viewportPause`,Ti=`toast.viewportResume`,Ei=y.forwardRef((e,t)=>{let{__scopeToast:n,hotkey:r=Ci,label:i=`Notifications ({hotkey})`,...a}=e,o=bi(Si,n),s=hi(n),c=y.useRef(null),l=y.useRef(null),u=y.useRef(null),d=y.useRef(null),f=wr(t,d,o.onViewportChange),p=r.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),m=o.toastCount>0;y.useEffect(()=>{let e=e=>{r.length!==0&&r.every(t=>e[t]||e.code===t)&&d.current?.focus()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[r]),y.useEffect(()=>{let e=c.current,t=d.current;if(m&&e&&t){let n=()=>{if(!o.isClosePausedRef.current){let e=new CustomEvent(wi);t.dispatchEvent(e),o.isClosePausedRef.current=!0}},r=()=>{if(o.isClosePausedRef.current){let e=new CustomEvent(Ti);t.dispatchEvent(e),o.isClosePausedRef.current=!1}},i=t=>{e.contains(t.relatedTarget)||r()},a=()=>{e.contains(document.activeElement)||r()};return e.addEventListener(`focusin`,n),e.addEventListener(`focusout`,i),e.addEventListener(`pointermove`,n),e.addEventListener(`pointerleave`,a),window.addEventListener(`blur`,n),window.addEventListener(`focus`,r),()=>{e.removeEventListener(`focusin`,n),e.removeEventListener(`focusout`,i),e.removeEventListener(`pointermove`,n),e.removeEventListener(`pointerleave`,a),window.removeEventListener(`blur`,n),window.removeEventListener(`focus`,r)}}},[m,o.isClosePausedRef]);let h=y.useCallback(({tabbingDirection:e})=>{let t=s().map(t=>{let n=t.ref.current,r=[n,...$i(n)];return e===`forwards`?r:r.reverse()});return(e===`forwards`?t.reverse():t).flat()},[s]);return y.useEffect(()=>{let e=d.current;if(e){let t=t=>{let n=t.altKey||t.ctrlKey||t.metaKey;if(t.key===`Tab`&&!n){let n=document.activeElement,r=t.shiftKey;if(t.target===e&&r){l.current?.focus();return}let i=h({tabbingDirection:r?`backwards`:`forwards`}),a=i.findIndex(e=>e===n);ea(i.slice(a+1))?t.preventDefault():r?l.current?.focus():u.current?.focus()}};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)}},[s,h]),(0,B.jsxs)(ei,{ref:c,role:`region`,"aria-label":i.replace(`{hotkey}`,p),tabIndex:-1,style:{pointerEvents:m?void 0:`none`},children:[m&&(0,B.jsx)(Oi,{ref:l,onFocusFromOutsideViewport:()=>{ea(h({tabbingDirection:`forwards`}))}}),(0,B.jsx)(mi.Slot,{scope:n,children:(0,B.jsx)(Ir.ol,{tabIndex:-1,...a,ref:f})}),m&&(0,B.jsx)(Oi,{ref:u,onFocusFromOutsideViewport:()=>{ea(h({tabbingDirection:`backwards`}))}})]})});Ei.displayName=Si;var Di=`ToastFocusProxy`,Oi=y.forwardRef((e,t)=>{let{__scopeToast:n,onFocusFromOutsideViewport:r,...i}=e,a=bi(Di,n);return(0,B.jsx)(fi,{"aria-hidden":!0,tabIndex:0,...i,ref:t,style:{position:`fixed`},onFocus:e=>{let t=e.relatedTarget;a.viewport?.contains(t)||r()}})});Oi.displayName=Di;var ki=`Toast`,Ai=`toast.swipeStart`,ji=`toast.swipeMove`,Mi=`toast.swipeCancel`,Ni=`toast.swipeEnd`,Pi=y.forwardRef((e,t)=>{let{forceMount:n,open:r,defaultOpen:i,onOpenChange:a,...o}=e,[s=!0,c]=li({prop:r,defaultProp:i,onChange:a});return(0,B.jsx)(ai,{present:n||s,children:(0,B.jsx)(Li,{open:s,...o,ref:t,onClose:()=>c(!1),onPause:Rr(e.onPause),onResume:Rr(e.onResume),onSwipeStart:xr(e.onSwipeStart,e=>{e.currentTarget.setAttribute(`data-swipe`,`start`)}),onSwipeMove:xr(e.onSwipeMove,e=>{let{x:t,y:n}=e.detail.delta;e.currentTarget.setAttribute(`data-swipe`,`move`),e.currentTarget.style.setProperty(`--radix-toast-swipe-move-x`,`${t}px`),e.currentTarget.style.setProperty(`--radix-toast-swipe-move-y`,`${n}px`)}),onSwipeCancel:xr(e.onSwipeCancel,e=>{e.currentTarget.setAttribute(`data-swipe`,`cancel`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-move-x`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-move-y`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-end-x`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-end-y`)}),onSwipeEnd:xr(e.onSwipeEnd,e=>{let{x:t,y:n}=e.detail.delta;e.currentTarget.setAttribute(`data-swipe`,`end`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-move-x`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-move-y`),e.currentTarget.style.setProperty(`--radix-toast-swipe-end-x`,`${t}px`),e.currentTarget.style.setProperty(`--radix-toast-swipe-end-y`,`${n}px`),c(!1)})})})});Pi.displayName=ki;var[Fi,Ii]=_i(ki,{onClose(){}}),Li=y.forwardRef((e,t)=>{let{__scopeToast:n,type:r=`foreground`,duration:i,open:a,onClose:o,onEscapeKeyDown:s,onPause:c,onResume:l,onSwipeStart:u,onSwipeMove:d,onSwipeCancel:f,onSwipeEnd:p,...m}=e,h=bi(ki,n),[g,_]=y.useState(null),v=wr(t,e=>_(e)),b=y.useRef(null),x=y.useRef(null),S=i||h.duration,C=y.useRef(0),w=y.useRef(S),T=y.useRef(0),{onToastAdd:E,onToastRemove:D}=h,O=Rr(()=>{g?.contains(document.activeElement)&&h.viewport?.focus(),o()}),k=y.useCallback(e=>{e&&e!==1/0&&(window.clearTimeout(T.current),C.current=new Date().getTime(),T.current=window.setTimeout(O,e))},[O]);y.useEffect(()=>{let e=h.viewport;if(e){let t=()=>{k(w.current),l?.()},n=()=>{let e=new Date().getTime()-C.current;w.current-=e,window.clearTimeout(T.current),c?.()};return e.addEventListener(wi,n),e.addEventListener(Ti,t),()=>{e.removeEventListener(wi,n),e.removeEventListener(Ti,t)}}},[h.viewport,S,c,l,k]),y.useEffect(()=>{a&&!h.isClosePausedRef.current&&k(S)},[a,S,h.isClosePausedRef,k]),y.useEffect(()=>(E(),()=>D()),[E,D]);let A=y.useMemo(()=>g?Ji(g):null,[g]);return h.viewport?(0,B.jsxs)(B.Fragment,{children:[A&&(0,B.jsx)(Ri,{__scopeToast:n,role:`status`,"aria-live":r===`foreground`?`assertive`:`polite`,"aria-atomic":!0,children:A}),(0,B.jsx)(Fi,{scope:n,onClose:O,children:br.createPortal((0,B.jsx)(mi.ItemSlot,{scope:n,children:(0,B.jsx)($r,{asChild:!0,onEscapeKeyDown:xr(s,()=>{h.isFocusedToastEscapeKeyDownRef.current||O(),h.isFocusedToastEscapeKeyDownRef.current=!1}),children:(0,B.jsx)(Ir.li,{role:`status`,"aria-live":`off`,"aria-atomic":!0,tabIndex:0,"data-state":a?`open`:`closed`,"data-swipe-direction":h.swipeDirection,...m,ref:v,style:{userSelect:`none`,touchAction:`none`,...e.style},onKeyDown:xr(e.onKeyDown,e=>{e.key===`Escape`&&(s?.(e.nativeEvent),e.nativeEvent.defaultPrevented||(h.isFocusedToastEscapeKeyDownRef.current=!0,O()))}),onPointerDown:xr(e.onPointerDown,e=>{e.button===0&&(b.current={x:e.clientX,y:e.clientY})}),onPointerMove:xr(e.onPointerMove,e=>{if(!b.current)return;let t=e.clientX-b.current.x,n=e.clientY-b.current.y,r=!!x.current,i=[`left`,`right`].includes(h.swipeDirection),a=[`left`,`up`].includes(h.swipeDirection)?Math.min:Math.max,o=i?a(0,t):0,s=i?0:a(0,n),c=e.pointerType===`touch`?10:2,l={x:o,y:s},f={originalEvent:e,delta:l};r?(x.current=l,Yi(ji,d,f,{discrete:!1})):Xi(l,h.swipeDirection,c)?(x.current=l,Yi(Ai,u,f,{discrete:!1}),e.target.setPointerCapture(e.pointerId)):(Math.abs(t)>c||Math.abs(n)>c)&&(b.current=null)}),onPointerUp:xr(e.onPointerUp,e=>{let t=x.current,n=e.target;if(n.hasPointerCapture(e.pointerId)&&n.releasePointerCapture(e.pointerId),x.current=null,b.current=null,t){let n=e.currentTarget,r={originalEvent:e,delta:t};Xi(t,h.swipeDirection,h.swipeThreshold)?Yi(Ni,p,r,{discrete:!0}):Yi(Mi,f,r,{discrete:!0}),n.addEventListener(`click`,e=>e.preventDefault(),{once:!0})}})})})}),h.viewport)})]}):null}),Ri=e=>{let{__scopeToast:t,children:n,...r}=e,i=bi(ki,t),[a,o]=y.useState(!1),[s,c]=y.useState(!1);return Zi(()=>o(!0)),y.useEffect(()=>{let e=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(e)},[]),s?null:(0,B.jsx)(ri,{asChild:!0,children:(0,B.jsx)(fi,{...r,children:a&&(0,B.jsxs)(B.Fragment,{children:[i.label,` `,n]})})})},zi=`ToastTitle`,Bi=y.forwardRef((e,t)=>{let{__scopeToast:n,...r}=e;return(0,B.jsx)(Ir.div,{...r,ref:t})});Bi.displayName=zi;var Vi=`ToastDescription`,Hi=y.forwardRef((e,t)=>{let{__scopeToast:n,...r}=e;return(0,B.jsx)(Ir.div,{...r,ref:t})});Hi.displayName=Vi;var Ui=`ToastAction`,Wi=y.forwardRef((e,t)=>{let{altText:n,...r}=e;return n.trim()?(0,B.jsx)(qi,{altText:n,asChild:!0,children:(0,B.jsx)(Ki,{...r,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${Ui}\`. Expected non-empty \`string\`.`),null)});Wi.displayName=Ui;var Gi=`ToastClose`,Ki=y.forwardRef((e,t)=>{let{__scopeToast:n,...r}=e,i=Ii(Gi,n);return(0,B.jsx)(qi,{asChild:!0,children:(0,B.jsx)(Ir.button,{type:`button`,...r,ref:t,onClick:xr(e.onClick,i.onClose)})})});Ki.displayName=Gi;var qi=y.forwardRef((e,t)=>{let{__scopeToast:n,altText:r,...i}=e;return(0,B.jsx)(Ir.div,{"data-radix-toast-announce-exclude":``,"data-radix-toast-announce-alt":r||void 0,...i,ref:t})});function Ji(e){let t=[];return Array.from(e.childNodes).forEach(e=>{if(e.nodeType===e.TEXT_NODE&&e.textContent&&t.push(e.textContent),Qi(e)){let n=e.ariaHidden||e.hidden||e.style.display===`none`,r=e.dataset.radixToastAnnounceExclude===``;if(!n){if(r){let n=e.dataset.radixToastAnnounceAlt;n&&t.push(n)}else t.push(...Ji(e))}}}),t}function Yi(e,t,n,{discrete:r}){let i=n.originalEvent.currentTarget,a=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?Lr(i,a):i.dispatchEvent(a)}var Xi=(e,t,n=0)=>{let r=Math.abs(e.x),i=Math.abs(e.y),a=r>i;return t===`left`||t===`right`?a&&r>n:!a&&i>n};function Zi(e=()=>{}){let t=Rr(e);ti(()=>{let e=0,n=0;return e=window.requestAnimationFrame(()=>n=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(e),window.cancelAnimationFrame(n)}},[t])}function Qi(e){return e.nodeType===e.ELEMENT_NODE}function $i(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function ea(e){let t=document.activeElement;return e.some(e=>e===t||(e.focus(),document.activeElement!==t))}var ta=xi,na=Ei,ra=Pi,ia=Bi,aa=Hi,oa=Wi,sa=Ki,ca=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,la=Cn,ua=(e,t)=>n=>{if(t?.variants==null)return la(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=ca(t)||ca(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 la(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)},da=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),fa=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),pa={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},ma=(0,y.forwardRef)(({color:e=`currentColor`,size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>(0,y.createElement)(`svg`,{ref:c,...pa,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:fa(`lucide`,i),...s},[...o.map(([e,t])=>(0,y.createElement)(e,t)),...Array.isArray(a)?a:[a]])),V=(e,t)=>{let n=(0,y.forwardRef)(({className:n,...r},i)=>(0,y.createElement)(ma,{ref:i,iconNode:t,className:fa(`lucide-${da(e)}`,n),...r}));return n.displayName=`${e}`,n},ha=V(`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`}]]),ga=V(`AlignCenter`,[[`path`,{d:`M17 12H7`,key:`16if0g`}],[`path`,{d:`M19 18H5`,key:`18s9l3`}],[`path`,{d:`M21 6H3`,key:`1jwq7v`}]]),_a=V(`AlignLeft`,[[`path`,{d:`M15 12H3`,key:`6jk70r`}],[`path`,{d:`M17 18H3`,key:`1amg6g`}],[`path`,{d:`M21 6H3`,key:`1jwq7v`}]]),va=V(`AlignRight`,[[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M21 18H7`,key:`1ygte8`}],[`path`,{d:`M21 6H3`,key:`1jwq7v`}]]),ya=V(`Anchor`,[[`path`,{d:`M12 22V8`,key:`qkxhtm`}],[`path`,{d:`M5 12H2a10 10 0 0 0 20 0h-3`,key:`1hv3nh`}],[`circle`,{cx:`12`,cy:`5`,r:`3`,key:`rqqgnr`}]]),ba=V(`ArrowLeft`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),xa=V(`ArrowRight`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),Sa=V(`BedDouble`,[[`path`,{d:`M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8`,key:`1k78r4`}],[`path`,{d:`M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4`,key:`fb3tl2`}],[`path`,{d:`M12 4v6`,key:`1dcgq2`}],[`path`,{d:`M2 18h20`,key:`ajqnye`}]]),Ca=V(`Bed`,[[`path`,{d:`M2 4v16`,key:`vw9hq8`}],[`path`,{d:`M2 8h18a2 2 0 0 1 2 2v10`,key:`1dgv2r`}],[`path`,{d:`M2 17h20`,key:`18nfp3`}],[`path`,{d:`M6 8v9`,key:`1yriud`}]]),wa=V(`Beer`,[[`path`,{d:`M17 11h1a3 3 0 0 1 0 6h-1`,key:`1yp76v`}],[`path`,{d:`M9 12v6`,key:`1u1cab`}],[`path`,{d:`M13 12v6`,key:`1sugkk`}],[`path`,{d:`M14 7.5c-1 0-1.44.5-3 .5s-2-.5-3-.5-1.72.5-2.5.5a2.5 2.5 0 0 1 0-5c.78 0 1.57.5 2.5.5S9.44 2 11 2s2 1.5 3 1.5 1.72-.5 2.5-.5a2.5 2.5 0 0 1 0 5c-.78 0-1.5-.5-2.5-.5Z`,key:`1510fo`}],[`path`,{d:`M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8`,key:`19jb7n`}]]),Ta=V(`Bird`,[[`path`,{d:`M16 7h.01`,key:`1kdx03`}],[`path`,{d:`M3.4 18H12a8 8 0 0 0 8-8V7a4 4 0 0 0-7.28-2.3L2 20`,key:`oj1oa8`}],[`path`,{d:`m20 7 2 .5-2 .5`,key:`12nv4d`}],[`path`,{d:`M10 18v3`,key:`1yea0a`}],[`path`,{d:`M14 17.75V21`,key:`1pymcb`}],[`path`,{d:`M7 18a6 6 0 0 0 3.84-10.61`,key:`1npnn0`}]]),Ea=V(`Bold`,[[`path`,{d:`M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8`,key:`mg9rjx`}]]),Da=V(`BookmarkCheck`,[[`path`,{d:`m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2Z`,key:`169p4p`}],[`path`,{d:`m9 10 2 2 4-4`,key:`1gnqz4`}]]),Oa=V(`Bookmark`,[[`path`,{d:`m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z`,key:`1fy3hk`}]]),ka=V(`Bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),Aa=V(`Building`,[[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`,ry:`2`,key:`76otgf`}],[`path`,{d:`M9 22v-4h6v4`,key:`r93iot`}],[`path`,{d:`M8 6h.01`,key:`1dz90k`}],[`path`,{d:`M16 6h.01`,key:`1x0f13`}],[`path`,{d:`M12 6h.01`,key:`1vi96p`}],[`path`,{d:`M12 10h.01`,key:`1nrarc`}],[`path`,{d:`M12 14h.01`,key:`1etili`}],[`path`,{d:`M16 10h.01`,key:`1m94wz`}],[`path`,{d:`M16 14h.01`,key:`1gbofw`}],[`path`,{d:`M8 10h.01`,key:`19clt8`}],[`path`,{d:`M8 14h.01`,key:`6423bh`}]]),ja=V(`Calendar`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}]]),Ma=V(`Camera`,[[`path`,{d:`M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z`,key:`1tc9qg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]),Na=V(`Car`,[[`path`,{d:`M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2`,key:`5owen`}],[`circle`,{cx:`7`,cy:`17`,r:`2`,key:`u2ysq9`}],[`path`,{d:`M9 17h6`,key:`r8uit2`}],[`circle`,{cx:`17`,cy:`17`,r:`2`,key:`axvx0g`}]]),Pa=V(`ChartColumn`,[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`M18 17V9`,key:`2bz60n`}],[`path`,{d:`M13 17V5`,key:`1frdt8`}],[`path`,{d:`M8 17v-3`,key:`17ska0`}]]),Fa=V(`Check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),Ia=V(`ChevronDown`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),La=V(`ChevronLeft`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),Ra=V(`ChevronRight`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),za=V(`ChevronUp`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),Ba=V(`CircleAlert`,[[`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`}]]),Va=V(`CircleArrowDown`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 8v8`,key:`napkw2`}],[`path`,{d:`m8 12 4 4 4-4`,key:`k98ssh`}]]),Ha=V(`CircleArrowUp`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 12-4-4-4 4`,key:`177agl`}],[`path`,{d:`M12 16V8`,key:`1sbj14`}]]),Ua=V(`CircleCheckBig`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),Wa=V(`CircleX`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),Ga=V(`Clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`polyline`,{points:`12 6 12 12 16 14`,key:`68esgv`}]]),Ka=V(`CloudRain`,[[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`,key:`1pljnt`}],[`path`,{d:`M16 14v6`,key:`1j4efv`}],[`path`,{d:`M8 14v6`,key:`17c4r9`}],[`path`,{d:`M12 16v6`,key:`c8a4gj`}]]),qa=V(`Cloud`,[[`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`,key:`p7xjir`}]]),Ja=V(`Code`,[[`polyline`,{points:`16 18 22 12 16 6`,key:`z7tu5w`}],[`polyline`,{points:`8 6 2 12 8 18`,key:`1eg1df`}]]),Ya=V(`Coffee`,[[`path`,{d:`M10 2v2`,key:`7u0qdc`}],[`path`,{d:`M14 2v2`,key:`6buw04`}],[`path`,{d:`M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1`,key:`pwadti`}],[`path`,{d:`M6 2v2`,key:`colzsn`}]]),Xa=V(`Compass`,[[`path`,{d:`m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z`,key:`9ktpf1`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),Za=V(`DollarSign`,[[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`22`,key:`7eqyqh`}],[`path`,{d:`M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6`,key:`1b0p4s`}]]),Qa=V(`Droplets`,[[`path`,{d:`M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z`,key:`1ptgy4`}],[`path`,{d:`M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97`,key:`1sl1rz`}]]),$a=V(`ExternalLink`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),eo=V(`Eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),to=V(`Facebook`,[[`path`,{d:`M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z`,key:`1jg4f8`}]]),no=V(`FileText`,[[`path`,{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,key:`1rqfz7`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),ro=V(`Fish`,[[`path`,{d:`M6.5 12c.94-3.46 4.94-6 8.5-6 3.56 0 6.06 2.54 7 6-.94 3.47-3.44 6-7 6s-7.56-2.53-8.5-6Z`,key:`15baut`}],[`path`,{d:`M18 12v.5`,key:`18hhni`}],[`path`,{d:`M16 17.93a9.77 9.77 0 0 1 0-11.86`,key:`16dt7o`}],[`path`,{d:`M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33`,key:`l9di03`}],[`path`,{d:`M10.46 7.26C10.2 5.88 9.17 4.24 8 3h5.8a2 2 0 0 1 1.98 1.67l.23 1.4`,key:`1kjonw`}],[`path`,{d:`m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98`,key:`1zlm23`}]]),io=V(`Gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]),ao=V(`Gift`,[[`rect`,{x:`3`,y:`8`,width:`18`,height:`4`,rx:`1`,key:`bkv52`}],[`path`,{d:`M12 8v13`,key:`1c76mn`}],[`path`,{d:`M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7`,key:`6wjy6b`}],[`path`,{d:`M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5`,key:`1ihvrl`}]]),oo=V(`Globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),so=V(`Heading2`,[[`path`,{d:`M4 12h8`,key:`17cfdx`}],[`path`,{d:`M4 18V6`,key:`1rz3zl`}],[`path`,{d:`M12 18V6`,key:`zqpxq5`}],[`path`,{d:`M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1`,key:`9jr5yi`}]]),co=V(`Heading3`,[[`path`,{d:`M4 12h8`,key:`17cfdx`}],[`path`,{d:`M4 18V6`,key:`1rz3zl`}],[`path`,{d:`M12 18V6`,key:`zqpxq5`}],[`path`,{d:`M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2`,key:`68ncm8`}],[`path`,{d:`M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2`,key:`1ejuhz`}]]),lo=V(`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-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`1d0kgt`}]]),uo=V(`ImageOff`,[[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`,key:`a6p6uj`}],[`path`,{d:`M10.41 10.41a2 2 0 1 1-2.83-2.83`,key:`1bzlo9`}],[`line`,{x1:`13.5`,x2:`6`,y1:`13.5`,y2:`21`,key:`1q0aeu`}],[`line`,{x1:`18`,x2:`21`,y1:`12`,y2:`15`,key:`5mozeu`}],[`path`,{d:`M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59`,key:`mmje98`}],[`path`,{d:`M21 15V5a2 2 0 0 0-2-2H9`,key:`43el77`}]]),fo=V(`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`}]]),po=V(`Info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),mo=V(`Instagram`,[[`rect`,{width:`20`,height:`20`,x:`2`,y:`2`,rx:`5`,ry:`5`,key:`2e1cvw`}],[`path`,{d:`M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z`,key:`9exkf1`}],[`line`,{x1:`17.5`,x2:`17.51`,y1:`6.5`,y2:`6.5`,key:`r4j83e`}]]),ho=V(`Italic`,[[`line`,{x1:`19`,x2:`10`,y1:`4`,y2:`4`,key:`15jd3p`}],[`line`,{x1:`14`,x2:`5`,y1:`20`,y2:`20`,key:`bu0au3`}],[`line`,{x1:`15`,x2:`9`,y1:`4`,y2:`20`,key:`uljnxc`}]]),go=V(`LayoutDashboard`,[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]),_o=V(`Link`,[[`path`,{d:`M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71`,key:`1cjeqo`}],[`path`,{d:`M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71`,key:`19qd67`}]]),vo=V(`ListOrdered`,[[`path`,{d:`M10 12h11`,key:`6m4ad9`}],[`path`,{d:`M10 18h11`,key:`11hvi2`}],[`path`,{d:`M10 6h11`,key:`c7qv1k`}],[`path`,{d:`M4 10h2`,key:`16xx2s`}],[`path`,{d:`M4 6h1v4`,key:`cnovpq`}],[`path`,{d:`M6 18H4c0-1 2-2 2-3s-1-1.5-2-1`,key:`m9a95d`}]]),yo=V(`List`,[[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 18h.01`,key:`1tta3j`}],[`path`,{d:`M3 6h.01`,key:`1rqtza`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 18h13`,key:`1lx6n3`}],[`path`,{d:`M8 6h13`,key:`ik3vkj`}]]),bo=V(`LoaderCircle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),xo=V(`Lock`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]),So=V(`LogOut`,[[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}],[`polyline`,{points:`16 17 21 12 16 7`,key:`1gabdz`}],[`line`,{x1:`21`,x2:`9`,y1:`12`,y2:`12`,key:`1uyos4`}]]),Co=V(`Mail`,[[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`,key:`18n3k1`}],[`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`,key:`1ocrg3`}]]),H=V(`MapPin`,[[`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`}]]),wo=V(`Map`,[[`path`,{d:`M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z`,key:`169xi5`}],[`path`,{d:`M15 5.764v15`,key:`1pn4in`}],[`path`,{d:`M9 3.236v15`,key:`1uimfh`}]]),To=V(`Menu`,[[`line`,{x1:`4`,x2:`20`,y1:`12`,y2:`12`,key:`1e0a9i`}],[`line`,{x1:`4`,x2:`20`,y1:`6`,y2:`6`,key:`1owob3`}],[`line`,{x1:`4`,x2:`20`,y1:`18`,y2:`18`,key:`yk5zj1`}]]),Eo=V(`MessageSquare`,[[`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`,key:`1lielz`}]]),Do=V(`Mountain`,[[`path`,{d:`m8 3 4 8 5-5 5 15H2L8 3z`,key:`otkl63`}]]),Oo=V(`Music`,[[`path`,{d:`M9 18V5l12-2v13`,key:`1jmyc2`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`circle`,{cx:`18`,cy:`16`,r:`3`,key:`1hluhg`}]]),ko=V(`Navigation`,[[`polygon`,{points:`3 11 22 2 13 21 11 13 3 11`,key:`1ltx0t`}]]),Ao=V(`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`}]]),jo=V(`Phone`,[[`path`,{d:`M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z`,key:`foiqr5`}]]),Mo=V(`Pilcrow`,[[`path`,{d:`M13 4v16`,key:`8vvj80`}],[`path`,{d:`M17 4v16`,key:`7dpous`}],[`path`,{d:`M19 4H9.5a4.5 4.5 0 0 0 0 9H13`,key:`sh4n9v`}]]),No=V(`Quote`,[[`path`,{d:`M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z`,key:`rib7q0`}],[`path`,{d:`M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z`,key:`1ymkrd`}]]),Po=V(`Radio`,[[`path`,{d:`M4.9 19.1C1 15.2 1 8.8 4.9 4.9`,key:`1vaf9d`}],[`path`,{d:`M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5`,key:`u1ii0m`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}],[`path`,{d:`M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5`,key:`1j5fej`}],[`path`,{d:`M19.1 4.9C23 8.8 23 15.1 19.1 19`,key:`10b0cb`}]]),Fo=V(`RefreshCcw`,[[`path`,{d:`M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`14sxne`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16`,key:`1hlbsb`}],[`path`,{d:`M16 16h5v5`,key:`ccwih5`}]]),Io=V(`RefreshCw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),Lo=V(`RemoveFormatting`,[[`path`,{d:`M4 7V4h16v3`,key:`9msm58`}],[`path`,{d:`M5 20h6`,key:`1h6pxn`}],[`path`,{d:`M13 4 8 20`,key:`kqq6aj`}],[`path`,{d:`m15 15 5 5`,key:`me55sn`}],[`path`,{d:`m20 15-5 5`,key:`11p7ol`}]]),Ro=V(`Save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),zo=V(`Send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]),Bo=V(`Shell`,[[`path`,{d:`M14 11a2 2 0 1 1-4 0 4 4 0 0 1 8 0 6 6 0 0 1-12 0 8 8 0 0 1 16 0 10 10 0 1 1-20 0 11.93 11.93 0 0 1 2.42-7.22 2 2 0 1 1 3.16 2.44`,key:`1cn552`}]]),Vo=V(`ShieldAlert`,[[`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:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M12 16h.01`,key:`1drbdi`}]]),Ho=V(`ShieldCheck`,[[`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`}]]),Uo=V(`ShoppingBag`,[[`path`,{d:`M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z`,key:`hou9p0`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M16 10a4 4 0 0 1-8 0`,key:`1ltviw`}]]),Wo=V(`Sparkles`,[[`path`,{d:`M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z`,key:`4pj2yx`}],[`path`,{d:`M20 3v4`,key:`1olli1`}],[`path`,{d:`M22 5h-4`,key:`1gvqau`}],[`path`,{d:`M4 17v2`,key:`vumght`}],[`path`,{d:`M5 18H3`,key:`zchphs`}]]),Go=V(`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`}]]),Ko=V(`Strikethrough`,[[`path`,{d:`M16 4H9a3 3 0 0 0-2.83 4`,key:`43sutm`}],[`path`,{d:`M14 12a4 4 0 0 1 0 8H6`,key:`nlfj13`}],[`line`,{x1:`4`,x2:`20`,y1:`12`,y2:`12`,key:`1e0a9i`}]]),qo=V(`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`}]]),Jo=V(`Trash2`,[[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6`,key:`4alrt4`}],[`path`,{d:`M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2`,key:`v07s0e`}],[`line`,{x1:`10`,x2:`10`,y1:`11`,y2:`17`,key:`1uufr5`}],[`line`,{x1:`14`,x2:`14`,y1:`11`,y2:`17`,key:`xtxkd`}]]),Yo=V(`Trees`,[[`path`,{d:`M10 10v.2A3 3 0 0 1 8.9 16H5a3 3 0 0 1-1-5.8V10a3 3 0 0 1 6 0Z`,key:`1l6gj6`}],[`path`,{d:`M7 16v6`,key:`1a82de`}],[`path`,{d:`M13 19v3`,key:`13sx9i`}],[`path`,{d:`M12 19h8.3a1 1 0 0 0 .7-1.7L18 14h.3a1 1 0 0 0 .7-1.7L16 9h.2a1 1 0 0 0 .8-1.7L13 3l-1.4 1.5`,key:`1sj9kv`}]]),Xo=V(`TrendingUp`,[[`polyline`,{points:`22 7 13.5 15.5 8.5 10.5 2 17`,key:`126l90`}],[`polyline`,{points:`16 7 22 7 22 13`,key:`kwv8wd`}]]),Zo=V(`TriangleAlert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Qo=V(`Underline`,[[`path`,{d:`M6 4v6a6 6 0 0 0 12 0V4`,key:`9kb039`}],[`line`,{x1:`4`,x2:`20`,y1:`20`,y2:`20`,key:`nun2al`}]]),$o=V(`Upload`,[[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`polyline`,{points:`17 8 12 3 7 8`,key:`t8dd8p`}],[`line`,{x1:`12`,x2:`12`,y1:`3`,y2:`15`,key:`widbto`}]]),es=V(`User`,[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`,key:`975kel`}],[`circle`,{cx:`12`,cy:`7`,r:`4`,key:`17ys0d`}]]),ts=V(`UtensilsCrossed`,[[`path`,{d:`m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8`,key:`n7qcjb`}],[`path`,{d:`M15 15 3.3 3.3a4.2 4.2 0 0 0 0 6l7.3 7.3c.7.7 2 .7 2.8 0L15 15Zm0 0 7 7`,key:`d0u48b`}],[`path`,{d:`m2.1 21.8 6.4-6.3`,key:`yn04lh`}],[`path`,{d:`m19 5-7 7`,key:`194lzd`}]]),ns=V(`Utensils`,[[`path`,{d:`M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2`,key:`cjf0a3`}],[`path`,{d:`M7 2v20`,key:`1473qp`}],[`path`,{d:`M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7`,key:`j28e5`}]]),rs=V(`Waves`,[[`path`,{d:`M2 6c.6.5 1.2 1 2.5 1C7 7 7 5 9.5 5c2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`,key:`knzxuh`}],[`path`,{d:`M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`,key:`2jd2cc`}],[`path`,{d:`M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`,key:`rd2r6e`}]]),is=V(`WifiOff`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}],[`path`,{d:`M5 12.859a10 10 0 0 1 5.17-2.69`,key:`1dl1wf`}],[`path`,{d:`M19 12.859a10 10 0 0 0-2.007-1.523`,key:`4k23kn`}],[`path`,{d:`M2 8.82a15 15 0 0 1 4.177-2.643`,key:`1grhjp`}],[`path`,{d:`M22 8.82a15 15 0 0 0-11.288-3.764`,key:`z3jwby`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),as=V(`Wifi`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`,key:`dnpr2z`}],[`path`,{d:`M5 12.859a10 10 0 0 1 14 0`,key:`1x1e6c`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}]]),os=V(`Wind`,[[`path`,{d:`M12.8 19.6A2 2 0 1 0 14 16H2`,key:`148xed`}],[`path`,{d:`M17.5 8a2.5 2.5 0 1 1 2 4H2`,key:`1u4tom`}],[`path`,{d:`M9.8 4.4A2 2 0 1 1 11 8H2`,key:`75valh`}]]),ss=V(`Wine`,[[`path`,{d:`M8 22h8`,key:`rmew8v`}],[`path`,{d:`M7 10h10`,key:`1101jm`}],[`path`,{d:`M12 15v7`,key:`t2xh3l`}],[`path`,{d:`M12 15a5 5 0 0 0 5-5c0-2-.5-4-2-8H9c-1.5 4-2 6-2 8a5 5 0 0 0 5 5Z`,key:`10ffi3`}]]),cs=V(`Wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z`,key:`cbrjhi`}]]),ls=V(`X`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),us=ta,ds=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(na,{ref:n,className:z(`fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]`,e),...t}));ds.displayName=na.displayName;var fs=ua(`data-[swipe=move]:transition-none group relative pointer-events-auto flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full data-[state=closed]:slide-out-to-right-full`,{variants:{variant:{default:`bg-background border`,destructive:`group destructive border-destructive bg-destructive text-destructive-foreground`}},defaultVariants:{variant:`default`}}),ps=y.forwardRef(({className:e,variant:t,...n},r)=>(0,B.jsx)(ra,{ref:r,className:z(fs({variant:t}),e),...n}));ps.displayName=ra.displayName;var ms=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(oa,{ref:n,className:z(`inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-destructive/30 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive`,e),...t}));ms.displayName=oa.displayName;var hs=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(sa,{ref:n,className:z(`absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600`,e),"toast-close":``,...t,children:(0,B.jsx)(ls,{className:`h-4 w-4`})}));hs.displayName=sa.displayName;var gs=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(ia,{ref:n,className:z(`text-sm font-semibold`,e),...t}));gs.displayName=ia.displayName;var _s=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(aa,{ref:n,className:z(`text-sm opacity-90`,e),...t}));_s.displayName=aa.displayName;var vs=1,ys=0;function bs(){return ys=(ys+1)%Number.MAX_VALUE,ys.toString()}var xs={state:{toasts:[]},listeners:[],getState:()=>xs.state,setState:e=>{xs.state=typeof e==`function`?e(xs.state):{...xs.state,...e},xs.listeners.forEach(e=>e(xs.state))},subscribe:e=>(xs.listeners.push(e),()=>{xs.listeners=xs.listeners.filter(t=>t!==e)})},Ss=({...e})=>{let t=bs(),n=e=>xs.setState(n=>({...n,toasts:n.toasts.map(n=>n.id===t?{...n,...e}:n)})),r=()=>xs.setState(e=>({...e,toasts:e.toasts.filter(e=>e.id!==t)}));return xs.setState(n=>({...n,toasts:[{...e,id:t,dismiss:r},...n.toasts].slice(0,vs)})),{id:t,dismiss:r,update:n}};function Cs(){let[e,t]=(0,y.useState)(xs.getState());return(0,y.useEffect)(()=>xs.subscribe(e=>{t(e)}),[]),(0,y.useEffect)(()=>{let t=[];return e.toasts.forEach(e=>{if(e.duration===1/0)return;let n=setTimeout(()=>{e.dismiss()},e.duration||5e3);t.push(n)}),()=>{t.forEach(e=>clearTimeout(e))}},[e.toasts]),{toast:Ss,toasts:e.toasts}}function ws(){let{toasts:e}=Cs();return(0,B.jsxs)(us,{children:[e.map(({id:e,title:t,description:n,action:r,...i})=>(0,B.jsxs)(ps,{...i,children:[(0,B.jsxs)(`div`,{className:`grid gap-1`,children:[t&&(0,B.jsx)(gs,{children:t}),n&&(0,B.jsx)(_s,{children:n})]}),r,(0,B.jsx)(hs,{})]},e)),(0,B.jsx)(ds,{})]})}var Ts=function(){return Ts=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Ts.apply(this,arguments)};function Es(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Ds(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}function Os(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var ks=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),As=class extends Error{constructor(e,t=`FunctionsError`,n){super(e),this.name=t,this.context=n}toJSON(){return{name:this.name,message:this.message,context:this.context}}},js=class extends As{constructor(e){super(`Failed to send a request to the Edge Function`,`FunctionsFetchError`,e)}},Ms=class extends As{constructor(e){super(`Relay Error invoking the Edge Function`,`FunctionsRelayError`,e)}},Ns=class extends As{constructor(e){super(`Edge Function returned a non-2xx status code`,`FunctionsHttpError`,e)}},Ps;(function(e){e.Any=`any`,e.ApNortheast1=`ap-northeast-1`,e.ApNortheast2=`ap-northeast-2`,e.ApSouth1=`ap-south-1`,e.ApSoutheast1=`ap-southeast-1`,e.ApSoutheast2=`ap-southeast-2`,e.CaCentral1=`ca-central-1`,e.EuCentral1=`eu-central-1`,e.EuWest1=`eu-west-1`,e.EuWest2=`eu-west-2`,e.EuWest3=`eu-west-3`,e.SaEast1=`sa-east-1`,e.UsEast1=`us-east-1`,e.UsWest1=`us-west-1`,e.UsWest2=`us-west-2`})(Ps||={});var Fs=class{constructor(e,{headers:t={},customFetch:n,region:r=Ps.Any}={}){this.url=e,this.headers=t,this.region=r,this.fetch=ks(n)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e){return Ds(this,arguments,void 0,function*(e,t={}){var n;let r,i,a;try{let{headers:n,method:o,body:s,signal:c,timeout:l}=t,u={},{region:d}=t;d||=this.region;let f=new URL(`${this.url}/${e}`);d&&d!==`any`&&(u[`x-region`]=d,f.searchParams.set(`forceFunctionRegion`,d));let p,m=!!n&&Object.keys(n).some(e=>e.toLowerCase()===`content-type`);s&&!m?typeof Blob<`u`&&s instanceof Blob||s instanceof ArrayBuffer?(u[`Content-Type`]=`application/octet-stream`,p=s):typeof s==`string`?(u[`Content-Type`]=`text/plain`,p=s):typeof FormData<`u`&&s instanceof FormData?p=s:(u[`Content-Type`]=`application/json`,p=JSON.stringify(s)):p=s&&typeof s!=`string`&&!(typeof Blob<`u`&&s instanceof Blob)&&!(s instanceof ArrayBuffer)&&!(typeof FormData<`u`&&s instanceof FormData)?JSON.stringify(s):s;let h=c;l&&(i=new AbortController,r=setTimeout(()=>i.abort(),l),c?(h=i.signal,a=()=>i.abort(),c.addEventListener(`abort`,a)):h=i.signal);let g=yield this.fetch(f.toString(),{method:o||`POST`,headers:Object.assign(Object.assign(Object.assign({},u),this.headers),n),body:p,signal:h}).catch(e=>{throw new js(e)}),_=g.headers.get(`x-relay-error`);if(_&&_===`true`)throw new Ms(g);if(!g.ok)throw new Ns(g);let v=(g.headers.get(`Content-Type`)??`text/plain`).split(`;`)[0].trim().toLowerCase(),y;return y=v===`application/json`?yield g.json():v===`application/octet-stream`||v===`application/pdf`?yield g.blob():v===`text/event-stream`?g:v===`multipart/form-data`?yield g.formData():yield g.text(),{data:y,error:null,response:g}}catch(e){return{data:null,error:e,response:e instanceof Ns||e instanceof Ms?e.context:void 0}}finally{r&&clearTimeout(r),a&&((n=t.signal)==null||n.removeEventListener(`abort`,a))}})}},Is=c({Headers:()=>Vs,Request:()=>Hs,Response:()=>Us,default:()=>Bs,fetch:()=>zs}),Ls,Rs,zs,Bs,Vs,Hs,Us,Ws=o((()=>{Ls=function(){if(typeof self<`u`)return self;if(typeof window<`u`)return window;if(typeof global<`u`)return global;throw Error(`unable to locate global object`)},Rs=Ls(),zs=Rs.fetch,Bs=Rs.fetch.bind(Rs),Vs=Rs.Headers,Hs=Rs.Request,Us=Rs.Response})),Gs=s((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=class extends Error{constructor(e){super(e.message),this.name=`PostgrestError`,this.details=e.details,this.hint=e.hint,this.code=e.code}}})),Ks=s(((e,t,n)=>{var r=n&&n.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0});var i=r((Ws(),d(Is))),a=r(Gs());e.default=class{constructor(e){this.shouldThrowOnError=!1,this.method=e.method,this.url=e.url,this.headers=new Headers(e.headers),this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=e.shouldThrowOnError??!1,this.signal=e.signal,this.isMaybeSingle=e.isMaybeSingle??!1,this.fetch=e.fetch?e.fetch:typeof fetch>`u`?i.default:fetch}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(e,t){return this.headers=new Headers(this.headers),this.headers.set(e,t),this}then(e,t){this.schema===void 0||([`GET`,`HEAD`].includes(this.method)?this.headers.set(`Accept-Profile`,this.schema):this.headers.set(`Content-Profile`,this.schema)),this.method!==`GET`&&this.method!==`HEAD`&&this.headers.set(`Content-Type`,`application/json`);let n=this.fetch,r=n(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then(async e=>{let t=null,n=null,r=null,i=e.status,o=e.statusText;if(e.ok){if(this.method!==`HEAD`){let t=await e.text();t===``||(n=this.headers.get(`Accept`)===`text/csv`||this.headers.get(`Accept`)&&this.headers.get(`Accept`)?.includes(`application/vnd.pgrst.plan+text`)?t:JSON.parse(t))}let a=this.headers.get(`Prefer`)?.match(/count=(exact|planned|estimated)/),s=e.headers.get(`content-range`)?.split(`/`);a&&s&&s.length>1&&(r=parseInt(s[1])),this.isMaybeSingle&&this.method===`GET`&&Array.isArray(n)&&(n.length>1?(t={code:`PGRST116`,details:`Results contain ${n.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:`JSON object requested, multiple (or no) rows returned`},n=null,r=null,i=406,o=`Not Acceptable`):n=n.length===1?n[0]:null)}else{let r=await e.text();try{t=JSON.parse(r),Array.isArray(t)&&e.status===404&&(n=[],t=null,i=200,o=`OK`)}catch{e.status===404&&r===``?(i=204,o=`No Content`):t={message:r}}if(t&&this.isMaybeSingle&&(t?.details)?.includes(`0 rows`)&&(t=null,i=200,o=`OK`),t&&this.shouldThrowOnError)throw new a.default(t)}return{error:t,data:n,count:r,status:i,statusText:o}});return this.shouldThrowOnError||(r=r.catch(e=>({error:{message:`${e?.name??`FetchError`}: ${e?.message}`,details:`${e?.stack??``}`,hint:``,code:`${e?.code??``}`},data:null,count:null,status:0,statusText:``}))),r.then(e,t)}returns(){return this}overrideTypes(){return this}}})),qs=s(((e,t,n)=>{var r=n&&n.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0});var i=r(Ks());e.default=class extends i.default{select(e){let t=!1,n=(e??`*`).split(``).map(e=>/\s/.test(e)&&!t?``:(e===`"`&&(t=!t),e)).join(``);return this.url.searchParams.set(`select`,n),this.headers.append(`Prefer`,`return=representation`),this}order(e,{ascending:t=!0,nullsFirst:n,foreignTable:r,referencedTable:i=r}={}){let a=i?`${i}.order`:`order`,o=this.url.searchParams.get(a);return this.url.searchParams.set(a,`${o?`${o},`:``}${e}.${t?`asc`:`desc`}${n===void 0?``:n?`.nullsfirst`:`.nullslast`}`),this}limit(e,{foreignTable:t,referencedTable:n=t}={}){let r=n===void 0?`limit`:`${n}.limit`;return this.url.searchParams.set(r,`${e}`),this}range(e,t,{foreignTable:n,referencedTable:r=n}={}){let i=r===void 0?`offset`:`${r}.offset`,a=r===void 0?`limit`:`${r}.limit`;return this.url.searchParams.set(i,`${e}`),this.url.searchParams.set(a,`${t-e+1}`),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.set(`Accept`,`application/vnd.pgrst.object+json`),this}maybeSingle(){return this.method===`GET`?this.headers.set(`Accept`,`application/json`):this.headers.set(`Accept`,`application/vnd.pgrst.object+json`),this.isMaybeSingle=!0,this}csv(){return this.headers.set(`Accept`,`text/csv`),this}geojson(){return this.headers.set(`Accept`,`application/geo+json`),this}explain({analyze:e=!1,verbose:t=!1,settings:n=!1,buffers:r=!1,wal:i=!1,format:a=`text`}={}){let o=[e?`analyze`:null,t?`verbose`:null,n?`settings`:null,r?`buffers`:null,i?`wal`:null].filter(Boolean).join(`|`),s=this.headers.get(`Accept`)??`application/json`;return this.headers.set(`Accept`,`application/vnd.pgrst.plan+${a}; for="${s}"; options=${o};`),this}rollback(){return this.headers.append(`Prefer`,`tx=rollback`),this}returns(){return this}maxAffected(e){return this.headers.append(`Prefer`,`handling=strict`),this.headers.append(`Prefer`,`max-affected=${e}`),this}}})),Js=s(((e,t,n)=>{var r=n&&n.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0});var i=r(qs());e.default=class extends i.default{eq(e,t){return this.url.searchParams.append(e,`eq.${t}`),this}neq(e,t){return this.url.searchParams.append(e,`neq.${t}`),this}gt(e,t){return this.url.searchParams.append(e,`gt.${t}`),this}gte(e,t){return this.url.searchParams.append(e,`gte.${t}`),this}lt(e,t){return this.url.searchParams.append(e,`lt.${t}`),this}lte(e,t){return this.url.searchParams.append(e,`lte.${t}`),this}like(e,t){return this.url.searchParams.append(e,`like.${t}`),this}likeAllOf(e,t){return this.url.searchParams.append(e,`like(all).{${t.join(`,`)}}`),this}likeAnyOf(e,t){return this.url.searchParams.append(e,`like(any).{${t.join(`,`)}}`),this}ilike(e,t){return this.url.searchParams.append(e,`ilike.${t}`),this}ilikeAllOf(e,t){return this.url.searchParams.append(e,`ilike(all).{${t.join(`,`)}}`),this}ilikeAnyOf(e,t){return this.url.searchParams.append(e,`ilike(any).{${t.join(`,`)}}`),this}is(e,t){return this.url.searchParams.append(e,`is.${t}`),this}in(e,t){let n=Array.from(new Set(t)).map(e=>typeof e==`string`&&RegExp(`[,()]`).test(e)?`"${e}"`:`${e}`).join(`,`);return this.url.searchParams.append(e,`in.(${n})`),this}contains(e,t){return typeof t==`string`?this.url.searchParams.append(e,`cs.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cs.{${t.join(`,`)}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(t)}`),this}containedBy(e,t){return typeof t==`string`?this.url.searchParams.append(e,`cd.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cd.{${t.join(`,`)}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(t)}`),this}rangeGt(e,t){return this.url.searchParams.append(e,`sr.${t}`),this}rangeGte(e,t){return this.url.searchParams.append(e,`nxl.${t}`),this}rangeLt(e,t){return this.url.searchParams.append(e,`sl.${t}`),this}rangeLte(e,t){return this.url.searchParams.append(e,`nxr.${t}`),this}rangeAdjacent(e,t){return this.url.searchParams.append(e,`adj.${t}`),this}overlaps(e,t){return typeof t==`string`?this.url.searchParams.append(e,`ov.${t}`):this.url.searchParams.append(e,`ov.{${t.join(`,`)}}`),this}textSearch(e,t,{config:n,type:r}={}){let i=``;r===`plain`?i=`pl`:r===`phrase`?i=`ph`:r===`websearch`&&(i=`w`);let a=n===void 0?``:`(${n})`;return this.url.searchParams.append(e,`${i}fts${a}.${t}`),this}match(e){return Object.entries(e).forEach(([e,t])=>{this.url.searchParams.append(e,`eq.${t}`)}),this}not(e,t,n){return this.url.searchParams.append(e,`not.${t}.${n}`),this}or(e,{foreignTable:t,referencedTable:n=t}={}){let r=n?`${n}.or`:`or`;return this.url.searchParams.append(r,`(${e})`),this}filter(e,t,n){return this.url.searchParams.append(e,`${t}.${n}`),this}}})),Ys=s(((e,t,n)=>{var r=n&&n.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0});var i=r(Js());e.default=class{constructor(e,{headers:t={},schema:n,fetch:r}){this.url=e,this.headers=new Headers(t),this.schema=n,this.fetch=r}select(e,{head:t=!1,count:n}={}){let r=t?`HEAD`:`GET`,a=!1,o=(e??`*`).split(``).map(e=>/\s/.test(e)&&!a?``:(e===`"`&&(a=!a),e)).join(``);return this.url.searchParams.set(`select`,o),n&&this.headers.append(`Prefer`,`count=${n}`),new i.default({method:r,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch})}insert(e,{count:t,defaultToNull:n=!0}={}){if(t&&this.headers.append(`Prefer`,`count=${t}`),n||this.headers.append(`Prefer`,`missing=default`),Array.isArray(e)){let t=e.reduce((e,t)=>e.concat(Object.keys(t)),[]);if(t.length>0){let e=[...new Set(t)].map(e=>`"${e}"`);this.url.searchParams.set(`columns`,e.join(`,`))}}return new i.default({method:`POST`,url:this.url,headers:this.headers,schema:this.schema,body:e,fetch:this.fetch??fetch})}upsert(e,{onConflict:t,ignoreDuplicates:n=!1,count:r,defaultToNull:a=!0}={}){if(this.headers.append(`Prefer`,`resolution=${n?`ignore`:`merge`}-duplicates`),t!==void 0&&this.url.searchParams.set(`on_conflict`,t),r&&this.headers.append(`Prefer`,`count=${r}`),a||this.headers.append(`Prefer`,`missing=default`),Array.isArray(e)){let t=e.reduce((e,t)=>e.concat(Object.keys(t)),[]);if(t.length>0){let e=[...new Set(t)].map(e=>`"${e}"`);this.url.searchParams.set(`columns`,e.join(`,`))}}return new i.default({method:`POST`,url:this.url,headers:this.headers,schema:this.schema,body:e,fetch:this.fetch??fetch})}update(e,{count:t}={}){return t&&this.headers.append(`Prefer`,`count=${t}`),new i.default({method:`PATCH`,url:this.url,headers:this.headers,schema:this.schema,body:e,fetch:this.fetch??fetch})}delete({count:e}={}){return e&&this.headers.append(`Prefer`,`count=${e}`),new i.default({method:`DELETE`,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch??fetch})}}})),Xs=s(((e,t,n)=>{var r=n&&n.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0});var i=r(Ys()),a=r(Js());e.default=class e{constructor(e,{headers:t={},schema:n,fetch:r}={}){this.url=e,this.headers=new Headers(t),this.schemaName=n,this.fetch=r}from(e){let t=new URL(`${this.url}/${e}`);return new i.default(t,{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch})}schema(t){return new e(this.url,{headers:this.headers,schema:t,fetch:this.fetch})}rpc(e,t={},{head:n=!1,get:r=!1,count:i}={}){let o,s=new URL(`${this.url}/rpc/${e}`),c;n||r?(o=n?`HEAD`:`GET`,Object.entries(t).filter(([e,t])=>t!==void 0).map(([e,t])=>[e,Array.isArray(t)?`{${t.join(`,`)}}`:`${t}`]).forEach(([e,t])=>{s.searchParams.append(e,t)})):(o=`POST`,c=t);let l=new Headers(this.headers);return i&&l.set(`Prefer`,`count=${i}`),new a.default({method:o,url:s,headers:l,schema:this.schemaName,body:c,fetch:this.fetch??fetch})}}})),{PostgrestClient:Zs,PostgrestQueryBuilder:Qs,PostgrestFilterBuilder:$s,PostgrestTransformBuilder:ec,PostgrestBuilder:tc,PostgrestError:nc}=u(s(((e,t,n)=>{var r=n&&n.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.PostgrestError=e.PostgrestBuilder=e.PostgrestTransformBuilder=e.PostgrestFilterBuilder=e.PostgrestQueryBuilder=e.PostgrestClient=void 0;var i=r(Xs());e.PostgrestClient=i.default;var a=r(Ys());e.PostgrestQueryBuilder=a.default;var o=r(Js());e.PostgrestFilterBuilder=o.default;var s=r(qs());e.PostgrestTransformBuilder=s.default;var c=r(Ks());e.PostgrestBuilder=c.default;var l=r(Gs());e.PostgrestError=l.default,e.default={PostgrestClient:i.default,PostgrestQueryBuilder:a.default,PostgrestFilterBuilder:o.default,PostgrestTransformBuilder:s.default,PostgrestBuilder:c.default,PostgrestError:l.default}}))(),1).default,rc=class{constructor(){}static detectEnvironment(){if(typeof WebSocket<`u`)return{type:`native`,wsConstructor:WebSocket};let e=globalThis;if(typeof globalThis<`u`&&e.WebSocket!==void 0)return{type:`native`,wsConstructor:e.WebSocket};let t=typeof global<`u`?global:void 0;if(t&&t.WebSocket!==void 0)return{type:`native`,wsConstructor:t.WebSocket};if(typeof globalThis<`u`&&e.WebSocketPair!==void 0&&globalThis.WebSocket===void 0)return{type:`cloudflare`,error:`Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.`,workaround:`Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime.`};if(typeof globalThis<`u`&&e.EdgeRuntime||typeof navigator<`u`&&navigator.userAgent?.includes(`Vercel-Edge`))return{type:`unsupported`,error:`Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.`,workaround:`Use serverless functions or a different deployment target for WebSocket functionality.`};let n=globalThis.process;if(n){let e=n.versions;if(e&&e.node)return{type:`unsupported`,error:`Node.js detected but native WebSocket not found.`,workaround:`Ensure you are running Node.js 22+ or provide a WebSocket implementation via the transport option.`}}return{type:`unsupported`,error:`Unknown JavaScript runtime without WebSocket support.`,workaround:`Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation.`}}static getWebSocketConstructor(){let e=this.detectEnvironment();if(e.wsConstructor)return e.wsConstructor;let t=e.error||`WebSocket not supported in this environment.`;throw e.workaround&&(t+=`\n\nSuggested solution: ${e.workaround}`),Error(t)}static isWebSocketSupported(){try{return this.detectEnvironment().type===`native`}catch{return!1}}},ic=`realtime-js/2.112.4`,ac=`1.0.0`,oc=`2.0.0`,sc=oc,cc=1e4,lc={closed:`closed`,errored:`errored`,joined:`joined`,joining:`joining`,leaving:`leaving`},uc={close:`phx_close`,error:`phx_error`,join:`phx_join`,reply:`phx_reply`,leave:`phx_leave`,access_token:`access_token`},dc={connecting:`connecting`,open:`open`,closing:`closing`,closed:`closed`},fc=class{constructor(e){this.HEADER_LENGTH=1,this.USER_BROADCAST_PUSH_META_LENGTH=6,this.KINDS={userBroadcastPush:3,userBroadcast:4},this.BINARY_ENCODING=0,this.JSON_ENCODING=1,this.BROADCAST_EVENT=`broadcast`,this.allowedMetadataKeys=[],this.allowedMetadataKeys=e??[]}encode(e,t){if(e.event===this.BROADCAST_EVENT&&!(e.payload instanceof ArrayBuffer)&&typeof e.payload.event==`string`)return t(this._binaryEncodeUserBroadcastPush(e));let n=[e.join_ref,e.ref,e.topic,e.event,e.payload];return t(JSON.stringify(n))}_binaryEncodeUserBroadcastPush(e){return this._isArrayBuffer(e.payload?.payload)?this._encodeBinaryUserBroadcastPush(e):this._encodeJsonUserBroadcastPush(e)}_encodeBinaryUserBroadcastPush(e){let t=e.payload?.payload??new ArrayBuffer(0);return this._encodeUserBroadcastPush(e,this.BINARY_ENCODING,t)}_encodeJsonUserBroadcastPush(e){let t=e.payload?.payload??{},n=new TextEncoder().encode(JSON.stringify(t)).buffer;return this._encodeUserBroadcastPush(e,this.JSON_ENCODING,n)}_encodeUserBroadcastPush(e,t,n){let r=new TextEncoder,i=r.encode(e.topic),a=r.encode(e.ref??``),o=r.encode(e.join_ref??``),s=r.encode(e.payload.event),c=this.allowedMetadataKeys?this._pick(e.payload,this.allowedMetadataKeys):{},l=r.encode(Object.keys(c).length===0?``:JSON.stringify(c));if(o.length>255)throw Error(`joinRef length ${o.length} exceeds maximum of 255`);if(a.length>255)throw Error(`ref length ${a.length} exceeds maximum of 255`);if(i.length>255)throw Error(`topic length ${i.length} exceeds maximum of 255`);if(s.length>255)throw Error(`userEvent length ${s.length} exceeds maximum of 255`);if(l.length>255)throw Error(`metadata length ${l.length} exceeds maximum of 255`);let u=this.USER_BROADCAST_PUSH_META_LENGTH+o.length+a.length+i.length+s.length+l.length,d=new ArrayBuffer(this.HEADER_LENGTH+u),f=new DataView(d),p=new Uint8Array(d),m=0;f.setUint8(m++,this.KINDS.userBroadcastPush),f.setUint8(m++,o.length),f.setUint8(m++,a.length),f.setUint8(m++,i.length),f.setUint8(m++,s.length),f.setUint8(m++,l.length),f.setUint8(m++,t),p.set(o,m),m+=o.length,p.set(a,m),m+=a.length,p.set(i,m),m+=i.length,p.set(s,m),m+=s.length,p.set(l,m),m+=l.length;var h=new Uint8Array(d.byteLength+n.byteLength);return h.set(new Uint8Array(d),0),h.set(new Uint8Array(n),d.byteLength),h.buffer}decode(e,t){if(this._isArrayBuffer(e))return t(this._binaryDecode(e));if(typeof e==`string`){let[n,r,i,a,o]=JSON.parse(e);return t({join_ref:n,ref:r,topic:i,event:a,payload:o})}return t({})}_binaryDecode(e){let t=new DataView(e),n=t.getUint8(0),r=new TextDecoder;switch(n){case this.KINDS.userBroadcast:return this._decodeUserBroadcast(e,t,r)}}_decodeUserBroadcast(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=t.getUint8(3),o=t.getUint8(4),s=this.HEADER_LENGTH+4,c=n.decode(e.slice(s,s+r));s+=r;let l=n.decode(e.slice(s,s+i));s+=i;let u=n.decode(e.slice(s,s+a));s+=a;let d=e.slice(s,e.byteLength),f=o===this.JSON_ENCODING?JSON.parse(n.decode(d)):d,p={type:this.BROADCAST_EVENT,event:l,payload:f};return a>0&&(p.meta=JSON.parse(u)),{join_ref:null,ref:null,topic:c,event:this.BROADCAST_EVENT,payload:p}}_isArrayBuffer(e){return e instanceof ArrayBuffer||e?.constructor?.name===`ArrayBuffer`}_pick(e,t){return!e||typeof e!=`object`?{}:Object.fromEntries(Object.entries(e).filter(([e])=>t.includes(e)))}},pc;(function(e){e.abstime=`abstime`,e.bool=`bool`,e.date=`date`,e.daterange=`daterange`,e.float4=`float4`,e.float8=`float8`,e.int2=`int2`,e.int4=`int4`,e.int4range=`int4range`,e.int8=`int8`,e.int8range=`int8range`,e.json=`json`,e.jsonb=`jsonb`,e.money=`money`,e.numeric=`numeric`,e.oid=`oid`,e.reltime=`reltime`,e.text=`text`,e.time=`time`,e.timestamp=`timestamp`,e.timestamptz=`timestamptz`,e.timetz=`timetz`,e.tsrange=`tsrange`,e.tstzrange=`tstzrange`})(pc||={});var mc=(e,t,n={})=>{let r=n.skipTypes??[];return t?Object.keys(t).reduce((n,i)=>(n[i]=hc(i,e,t,r),n),{}):{}},hc=(e,t,n,r)=>{let i=t.find(t=>t.name===e)?.type,a=n[e];return i&&!r.includes(i)?gc(i,a):_c(a)},gc=(e,t)=>{if(e.charAt(0)===`_`)return xc(t,e.slice(1,e.length));switch(e){case pc.bool:return vc(t);case pc.float4:case pc.float8:case pc.int2:case pc.int4:case pc.int8:case pc.numeric:case pc.oid:return yc(t);case pc.json:case pc.jsonb:return bc(t);case pc.timestamp:return U(t);case pc.abstime:case pc.date:case pc.daterange:case pc.int4range:case pc.int8range:case pc.money:case pc.reltime:case pc.text:case pc.time:case pc.timestamptz:case pc.timetz:case pc.tsrange:case pc.tstzrange:return _c(t);default:return _c(t)}},_c=e=>e,vc=e=>{switch(e){case`t`:return!0;case`f`:return!1;default:return e}},yc=e=>{if(typeof e==`string`){let t=parseFloat(e);if(!Number.isNaN(t))return t}return e},bc=e=>{if(typeof e==`string`)try{return JSON.parse(e)}catch{return e}return e},xc=(e,t)=>{if(typeof e!=`string`)return e;let n=e.length-1,r=e[n];if(e[0]===`{`&&r===`}`){let r,i=e.slice(1,n);try{r=JSON.parse(`[`+i+`]`)}catch{r=i?i.split(`,`):[]}return r.map(e=>gc(t,e))}return e},U=e=>typeof e==`string`?e.replace(` `,`T`):e,Sc=e=>{let t=new URL(e);return t.protocol=t.protocol.replace(/^ws/i,`http`),t.pathname=t.pathname.replace(/\/+$/,``).replace(/\/socket\/websocket$/i,``).replace(/\/socket$/i,``).replace(/\/websocket$/i,``),t.pathname===``||t.pathname===`/`?t.pathname=`/api/broadcast`:t.pathname+=`/api/broadcast`,t.href},Cc=e=>typeof e==`function`?e:function(){return e},wc=typeof self<`u`?self:null,Tc=typeof window<`u`?window:null,Ec=wc||Tc||globalThis,Dc=`2.0.0`,Oc=1e4,kc=1e3,Ac=100,jc={connecting:0,open:1,closing:2,closed:3},Mc={closed:`closed`,errored:`errored`,joined:`joined`,joining:`joining`,leaving:`leaving`},Nc={close:`phx_close`,error:`phx_error`,join:`phx_join`,reply:`phx_reply`,leave:`phx_leave`},Pc={longpoll:`longpoll`,websocket:`websocket`},Fc={complete:4},Ic=`base64url.bearer.phx.`,Lc=class{constructor(e,t,n,r){this.channel=e,this.event=t,this.payload=n||function(){return{}},this.receivedResp=null,this.timeout=r,this.timeoutTimer=null,this.recHooks=[],this.sent=!1,this.ref=void 0}resend(e){this.timeout=e,this.reset(),this.send()}send(){this.hasReceived(`timeout`)||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload(),ref:this.ref,join_ref:this.channel.joinRef()}))}receive(e,t){return this.hasReceived(e)&&t(this.receivedResp.response),this.recHooks.push({status:e,callback:t}),this}reset(){this.cancelRefEvent(),this.ref=null,this.refEvent=null,this.receivedResp=null,this.sent=!1}destroy(){this.cancelRefEvent(),this.cancelTimeout()}matchReceive({status:e,response:t,_ref:n}){this.recHooks.filter(t=>t.status===e).forEach(e=>e.callback(t))}cancelRefEvent(){this.refEvent&&this.channel.off(this.refEvent)}cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=null}startTimeout(){this.timeoutTimer&&this.cancelTimeout(),this.ref=this.channel.socket.makeRef(),this.refEvent=this.channel.replyEventName(this.ref),this.channel.on(this.refEvent,e=>{this.cancelRefEvent(),this.cancelTimeout(),this.receivedResp=e,this.matchReceive(e)}),this.timeoutTimer=setTimeout(()=>{this.trigger(`timeout`,{})},this.timeout)}hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}trigger(e,t){this.channel.trigger(this.refEvent,{status:e,response:t})}},Rc=class{constructor(e,t){this.callback=e,this.timerCalc=t,this.timer=void 0,this.tries=0}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries+=1,this.callback()},this.timerCalc(this.tries+1))}},zc=class{constructor(e,t,n){this.state=Mc.closed,this.topic=e,this.params=Cc(t||{}),this.socket=n,this.bindings=[],this.bindingRef=0,this.timeout=this.socket.timeout,this.joinedOnce=!1,this.joinPush=new Lc(this,Nc.join,this.params,this.timeout),this.pushBuffer=[],this.stateChangeRefs=[],this.rejoinTimer=new Rc(()=>{this.socket.isConnected()&&this.rejoin()},this.socket.rejoinAfterMs),this.stateChangeRefs.push(this.socket.onError(()=>this.rejoinTimer.reset())),this.stateChangeRefs.push(this.socket.onOpen(()=>{this.rejoinTimer.reset(),this.isErrored()&&this.rejoin()})),this.joinPush.receive(`ok`,()=>{this.state=Mc.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(e=>e.send()),this.pushBuffer=[]}),this.joinPush.receive(`error`,e=>{this.state=Mc.errored,this.socket.hasLogger()&&this.socket.log(`channel`,`error ${this.topic}`,e),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.onClose(()=>{this.rejoinTimer.reset(),this.socket.hasLogger()&&this.socket.log(`channel`,`close ${this.topic}`),this.state=Mc.closed,this.socket.remove(this)}),this.onError(e=>{this.socket.hasLogger()&&this.socket.log(`channel`,`error ${this.topic}`,e),this.isJoining()&&this.joinPush.reset(),this.state=Mc.errored,this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.joinPush.receive(`timeout`,()=>{this.socket.hasLogger()&&this.socket.log(`channel`,`timeout ${this.topic}`,this.joinPush.timeout),new Lc(this,Nc.leave,Cc({}),this.timeout).send(),this.state=Mc.errored,this.joinPush.reset(),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.on(Nc.reply,(e,t)=>{this.trigger(this.replyEventName(t),e)})}join(e=this.timeout){if(this.joinedOnce)throw Error(`tried to join multiple times. 'join' can only be called a single time per channel instance`);return this.timeout=e,this.joinedOnce=!0,this.rejoin(),this.joinPush}teardown(){this.pushBuffer.forEach(e=>e.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=Mc.closed,this.bindings=[]}onClose(e){this.on(Nc.close,e)}onError(e){return this.on(Nc.error,t=>e(t))}on(e,t){let n=this.bindingRef++;return this.bindings.push({event:e,ref:n,callback:t}),n}off(e,t){this.bindings=this.bindings.filter(n=>n.event!==e||t!==void 0&&t!==n.ref)}canPush(){return this.socket.isConnected()&&this.isJoined()}push(e,t,n=this.timeout){if(t||={},!this.joinedOnce)throw Error(`tried to push '${e}' to '${this.topic}' before joining. Use channel.join() before pushing events`);let r=new Lc(this,e,function(){return t},n);return this.canPush()?r.send():(r.startTimeout(),this.pushBuffer.push(r)),r}leave(e=this.timeout){this.rejoinTimer.reset(),this.joinPush.cancelTimeout(),this.state=Mc.leaving;let t=()=>{this.socket.hasLogger()&&this.socket.log(`channel`,`leave ${this.topic}`),this.trigger(Nc.close,`leave`)},n=new Lc(this,Nc.leave,Cc({}),e);return n.receive(`ok`,()=>t()).receive(`timeout`,()=>t()),n.send(),this.canPush()||n.trigger(`ok`,{}),n}onMessage(e,t,n){return t}filterBindings(e,t,n){return!0}isMember(e,t,n,r){return this.topic===e?r&&r!==this.joinRef()?(this.socket.hasLogger()&&this.socket.log(`channel`,`dropping outdated message`,{topic:e,event:t,payload:n,joinRef:r}),!1):!0:!1}joinRef(){return this.joinPush.ref}rejoin(e=this.timeout){this.isLeaving()||(this.socket.leaveOpenTopic(this.topic),this.state=Mc.joining,this.joinPush.resend(e))}trigger(e,t,n,r){let i=this.onMessage(e,t,n,r);if(t&&!i)throw Error(`channel onMessage callbacks must return the payload, modified or unmodified`);let a=this.bindings.filter(r=>r.event===e&&this.filterBindings(r,t,n));for(let e=0;e<a.length;e++)a[e].callback(i,n,r||this.joinRef())}replyEventName(e){return`chan_reply_${e}`}isClosed(){return this.state===Mc.closed}isErrored(){return this.state===Mc.errored}isJoined(){return this.state===Mc.joined}isJoining(){return this.state===Mc.joining}isLeaving(){return this.state===Mc.leaving}},Bc=class{static request(e,t,n,r,i,a,o){if(Ec.XDomainRequest){let n=new Ec.XDomainRequest;return this.xdomainRequest(n,e,t,r,i,a,o)}if(Ec.XMLHttpRequest){let s=new Ec.XMLHttpRequest;return this.xhrRequest(s,e,t,n,r,i,a,o)}if(Ec.fetch&&Ec.AbortController)return this.fetchRequest(e,t,n,r,i,a,o);throw Error(`No suitable XMLHttpRequest implementation found`)}static fetchRequest(e,t,n,r,i,a,o){let s={method:e,headers:n,body:r},c=null;return i&&(c=new AbortController,setTimeout(()=>c.abort(),i),s.signal=c.signal),Ec.fetch(t,s).then(e=>e.text()).then(e=>this.parseJSON(e)).then(e=>o&&o(e)).catch(e=>{e.name===`AbortError`&&a?a():o&&o(null)}),c}static xdomainRequest(e,t,n,r,i,a,o){return e.timeout=i,e.open(t,n),e.onload=()=>{let t=this.parseJSON(e.responseText);o&&o(t)},a&&(e.ontimeout=a),e.onprogress=()=>{},e.send(r),e}static xhrRequest(e,t,n,r,i,a,o,s){e.open(t,n,!0),e.timeout=a;for(let[t,n]of Object.entries(r))e.setRequestHeader(t,n);return e.onerror=()=>s&&s(null),e.onreadystatechange=()=>{e.readyState===Fc.complete&&s&&s(this.parseJSON(e.responseText))},o&&(e.ontimeout=o),e.send(i),e}static parseJSON(e){if(!e||e===``)return null;try{return JSON.parse(e)}catch{return console&&console.log(`failed to parse JSON response`,e),null}}static serialize(e,t){let n=[];for(var r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;let i=t?`${t}[${r}]`:r,a=e[r];typeof a==`object`?n.push(this.serialize(a,i)):n.push(encodeURIComponent(i)+`=`+encodeURIComponent(a))}return n.join(`&`)}static appendParams(e,t){return Object.keys(t).length===0?e:`${e}${e.match(/\?/)?`&`:`?`}${this.serialize(t)}`}},Vc=e=>{let t=``,n=new Uint8Array(e),r=n.byteLength;for(let e=0;e<r;e++)t+=String.fromCharCode(n[e]);return btoa(t)},Hc=class{constructor(e,t){t&&t.length===2&&t[1].startsWith(Ic)&&(this.authToken=atob(t[1].slice(Ic.length))),this.endPoint=null,this.token=null,this.skipHeartbeat=!0,this.reqs=new Set,this.awaitingBatchAck=!1,this.currentBatch=null,this.currentBatchTimer=null,this.batchBuffer=[],this.onopen=function(){},this.onerror=function(){},this.onmessage=function(){},this.onclose=function(){},this.pollEndpoint=this.normalizeEndpoint(e),this.readyState=jc.connecting,setTimeout(()=>this.poll(),0)}normalizeEndpoint(e){return e.replace(`ws://`,`http://`).replace(`wss://`,`https://`).replace(RegExp(`(.*)/`+Pc.websocket),`$1/`+Pc.longpoll)}endpointURL(){return Bc.appendParams(this.pollEndpoint,{token:this.token})}closeAndRetry(e,t,n){this.close(e,t,n),this.readyState=jc.connecting}ontimeout(){this.onerror(`timeout`),this.closeAndRetry(1005,`timeout`,!1)}isActive(){return this.readyState===jc.open||this.readyState===jc.connecting}poll(){let e={Accept:`application/json`};this.authToken&&(e[`X-Phoenix-AuthToken`]=this.authToken),this.ajax(`GET`,e,null,()=>this.ontimeout(),e=>{if(e){var{status:t,token:n,messages:r}=e;if(t===410&&this.token!==null){this.onerror(410),this.closeAndRetry(3410,`session_gone`,!1);return}this.token=n}else t=0;switch(t){case 200:r.forEach(e=>{setTimeout(()=>this.onmessage({data:e}),0)}),this.poll();break;case 204:this.poll();break;case 410:this.readyState=jc.open,this.onopen({}),this.poll();break;case 403:this.onerror(403),this.close(1008,`forbidden`,!1);break;case 0:case 500:this.onerror(500),this.closeAndRetry(1011,`internal server error`,500);break;default:throw Error(`unhandled poll status ${t}`)}})}send(e){typeof e!=`string`&&(e=Vc(e)),this.currentBatch?this.currentBatch.push(e):this.awaitingBatchAck?this.batchBuffer.push(e):(this.currentBatch=[e],this.currentBatchTimer=setTimeout(()=>{this.batchSend(this.currentBatch),this.currentBatch=null},0))}batchSend(e,t=0){this.awaitingBatchAck=!0;let n=t+Ac,r=e.slice(t,n);this.ajax(`POST`,{"Content-Type":`application/x-ndjson`},r.join(`
`),()=>this.onerror(`timeout`),t=>{!t||t.status!==200?(this.awaitingBatchAck=!1,this.onerror(t&&t.status),this.closeAndRetry(1011,`internal server error`,!1)):n<e.length?this.batchSend(e,n):this.batchBuffer.length>0?(this.batchSend(this.batchBuffer),this.batchBuffer=[]):this.awaitingBatchAck=!1})}close(e,t,n){for(let e of this.reqs)e.abort();this.readyState=jc.closed;let r=Object.assign({code:1e3,reason:void 0,wasClean:!0},{code:e,reason:t,wasClean:n});this.batchBuffer=[],clearTimeout(this.currentBatchTimer),this.currentBatchTimer=null,typeof CloseEvent<`u`?this.onclose(new CloseEvent(`close`,r)):this.onclose(r)}ajax(e,t,n,r,i){let a;a=Bc.request(e,this.endpointURL(),t,n,this.timeout,()=>{this.reqs.delete(a),r()},e=>{this.reqs.delete(a),this.isActive()&&i(e)}),this.reqs.add(a)}},Uc=class e{constructor(t,n={}){let r=n.events||{state:`presence_state`,diff:`presence_diff`};this.state=Object.create(null),this.pendingDiffs=[],this.channel=t,this.joinRef=null,this.caller={onJoin:function(){},onLeave:function(){},onSync:function(){}},this.channel.on(r.state,t=>{let{onJoin:n,onLeave:r,onSync:i}=this.caller;this.joinRef=this.channel.joinRef(),this.state=e.syncState(this.state,t,n,r),this.pendingDiffs.forEach(t=>{this.state=e.syncDiff(this.state,t,n,r)}),this.pendingDiffs=[],i()}),this.channel.on(r.diff,t=>{let{onJoin:n,onLeave:r,onSync:i}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(t):(this.state=e.syncDiff(this.state,t,n,r),i())})}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}list(t){return e.list(this.state,t)}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel.joinRef()}static syncState(e,t,n,r){let i=this.toNullProtoObj(this.clone(e));t=this.toNullProtoObj(t);let a=Object.create(null),o=Object.create(null);return this.map(i,(e,n)=>{t[e]||(o[e]=n)}),this.map(t,(e,t)=>{let n=i[e];if(n){let r=t.metas.map(e=>e.phx_ref),i=n.metas.map(e=>e.phx_ref),s=t.metas.filter(e=>i.indexOf(e.phx_ref)<0),c=n.metas.filter(e=>r.indexOf(e.phx_ref)<0);s.length>0&&(a[e]=t,a[e].metas=s),c.length>0&&(o[e]=this.clone(n),o[e].metas=c)}else a[e]=t}),this.syncDiff(i,{joins:a,leaves:o},n,r)}static syncDiff(e,t,n,r){e=this.toNullProtoObj(e);let{joins:i,leaves:a}=this.clone(t);return n||=function(){},r||=function(){},this.map(i,(t,r)=>{let i=e[t];if(e[t]=this.clone(r),i){let n=e[t].metas.map(e=>e.phx_ref),r=i.metas.filter(e=>n.indexOf(e.phx_ref)<0);e[t].metas.unshift(...r)}n(t,i,r)}),this.map(a,(t,n)=>{let i=e[t];if(!i)return;let a=n.metas.map(e=>e.phx_ref);i.metas=i.metas.filter(e=>a.indexOf(e.phx_ref)<0),r(t,i,n),i.metas.length===0&&delete e[t]}),e}static list(e,t){return t||=function(e,t){return t},this.map(e,(e,n)=>t(e,n))}static map(e,t){return Object.getOwnPropertyNames(e).map(n=>t(n,e[n]))}static toNullProtoObj(e){if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);return Object.getOwnPropertyNames(e).forEach(n=>{t[n]=e[n]}),t}static clone(e){return JSON.parse(JSON.stringify(e))}},Wc={HEADER_LENGTH:1,META_LENGTH:4,KINDS:{push:0,reply:1,broadcast:2},encode(e,t){if(e.payload.constructor===ArrayBuffer)return t(this.binaryEncode(e));{let n=[e.join_ref,e.ref,e.topic,e.event,e.payload];return t(JSON.stringify(n))}},decode(e,t){if(e.constructor===ArrayBuffer)return t(this.binaryDecode(e));{let[n,r,i,a,o]=JSON.parse(e);return t({join_ref:n,ref:r,topic:i,event:a,payload:o})}},binaryEncode(e){let{join_ref:t,ref:n,event:r,topic:i,payload:a}=e,o=new TextEncoder,s=o.encode(t),c=o.encode(n),l=o.encode(i),u=o.encode(r);this.assertFieldSize(s.byteLength,`join_ref`),this.assertFieldSize(c.byteLength,`ref`),this.assertFieldSize(l.byteLength,`topic`),this.assertFieldSize(u.byteLength,`event`);let d=this.META_LENGTH+s.byteLength+c.byteLength+l.byteLength+u.byteLength,f=new ArrayBuffer(this.HEADER_LENGTH+d),p=new Uint8Array(f),m=new DataView(f),h=0;m.setUint8(h++,this.KINDS.push),m.setUint8(h++,s.byteLength),m.setUint8(h++,c.byteLength),m.setUint8(h++,l.byteLength),m.setUint8(h++,u.byteLength),p.set(s,h),h+=s.byteLength,p.set(c,h),h+=c.byteLength,p.set(l,h),h+=l.byteLength,p.set(u,h),h+=u.byteLength;var g=new Uint8Array(f.byteLength+a.byteLength);return g.set(p,0),g.set(new Uint8Array(a),f.byteLength),g.buffer},assertFieldSize(e,t){if(e>255)throw Error(`unable to convert ${t} to binary: must be less than or equal to 255 bytes, but is ${e} bytes`)},binaryDecode(e){let t=new DataView(e),n=t.getUint8(0),r=new TextDecoder;switch(n){case this.KINDS.push:return this.decodePush(e,t,r);case this.KINDS.reply:return this.decodeReply(e,t,r);case this.KINDS.broadcast:return this.decodeBroadcast(e,t,r)}},decodePush(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=t.getUint8(3),o=this.HEADER_LENGTH+this.META_LENGTH-1,s=n.decode(e.slice(o,o+r));o+=r;let c=n.decode(e.slice(o,o+i));o+=i;let l=n.decode(e.slice(o,o+a));return o+=a,{join_ref:s,ref:null,topic:c,event:l,payload:e.slice(o,e.byteLength)}},decodeReply(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=t.getUint8(3),o=t.getUint8(4),s=this.HEADER_LENGTH+this.META_LENGTH,c=n.decode(e.slice(s,s+r));s+=r;let l=n.decode(e.slice(s,s+i));s+=i;let u=n.decode(e.slice(s,s+a));s+=a;let d=n.decode(e.slice(s,s+o));s+=o;let f={status:d,response:e.slice(s,e.byteLength)};return{join_ref:c,ref:l,topic:u,event:Nc.reply,payload:f}},decodeBroadcast(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=this.HEADER_LENGTH+2,o=n.decode(e.slice(a,a+r));a+=r;let s=n.decode(e.slice(a,a+i));return a+=i,{join_ref:null,ref:null,topic:o,event:s,payload:e.slice(a,e.byteLength)}}},Gc=class{constructor(e,t={}){this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.channels=[],this.sendBuffer=[],this.ref=0,this.fallbackRef=null,this.timeout=t.timeout||Oc,this.transport=t.transport||Ec.WebSocket||Hc,this.conn=void 0,this.primaryPassedHealthCheck=!1,this.longPollFallbackMs=t.longPollFallbackMs,this.fallbackTimer=null;let n=null;try{n=Ec&&Ec.sessionStorage}catch{}this.sessionStore=t.sessionStorage||n,this.establishedConnections=0,this.defaultEncoder=Wc.encode.bind(Wc),this.defaultDecoder=Wc.decode.bind(Wc),this.closeWasClean=!0,this.disconnecting=!1,this.binaryType=t.binaryType||`arraybuffer`,this.connectClock=1,this.pageHidden=!1,this.encode=void 0,this.decode=void 0,this.transport===Hc?(this.encode=this.defaultEncoder,this.decode=this.defaultDecoder):(this.encode=t.encode||this.defaultEncoder,this.decode=t.decode||this.defaultDecoder);let r=null;Tc&&Tc.addEventListener&&(Tc.addEventListener(`pagehide`,e=>{this.conn&&(this.disconnect(),r=this.connectClock)}),Tc.addEventListener(`pageshow`,e=>{r===this.connectClock&&(r=null,this.connect())}),Tc.addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`?this.pageHidden=!0:(this.pageHidden=!1,!this.isConnected()&&!this.closeWasClean&&this.teardown(()=>this.connect()))})),this.heartbeatIntervalMs=t.heartbeatIntervalMs||3e4,this.autoSendHeartbeat=t.autoSendHeartbeat??!0,this.heartbeatCallback=t.heartbeatCallback??(()=>{}),this.rejoinAfterMs=e=>t.rejoinAfterMs?t.rejoinAfterMs(e):[1e3,2e3,5e3][e-1]||1e4,this.reconnectAfterMs=e=>t.reconnectAfterMs?t.reconnectAfterMs(e):[10,50,100,150,200,250,500,1e3,2e3][e-1]||5e3,this.logger=t.logger||null,!this.logger&&t.debug&&(this.logger=(e,t,n)=>{console.log(`${e}: ${t}`,n)}),this.longpollerTimeout=t.longpollerTimeout||2e4,this.params=Cc(t.params||{}),this.endPoint=`${e}/${Pc.websocket}`,this.vsn=t.vsn||Dc,this.heartbeatTimeoutTimer=null,this.heartbeatTimer=null,this.heartbeatSentAt=null,this.pendingHeartbeatRef=null,this.reconnectTimer=new Rc(()=>{this.pageHidden?(this.log(`Not reconnecting as page is hidden!`),this.teardown()):this.teardown(async()=>{t.beforeReconnect&&await t.beforeReconnect(),this.connect()})},this.reconnectAfterMs),this.authToken=t.authToken&&Cc(t.authToken)}getLongPollTransport(){return Hc}replaceTransport(e){this.connectClock++,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.conn&&=(this.conn.close(),null),this.transport=e}protocol(){return location.protocol.match(/^https/)?`wss`:`ws`}endPointURL(){let e=Bc.appendParams(Bc.appendParams(this.endPoint,this.params()),{vsn:this.vsn});return e.charAt(0)===`/`?e.charAt(1)===`/`?`${this.protocol()}:${e}`:`${this.protocol()}://${location.host}${e}`:e}disconnect(e,t,n){this.connectClock++,this.disconnecting=!0,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.teardown(()=>{this.disconnecting=!1,e&&e()},t,n)}connect(e){e&&(console&&console.log(`passing params to connect is deprecated. Instead pass :params to the Socket constructor`),this.params=Cc(e)),(!this.conn||this.disconnecting)&&(this.longPollFallbackMs&&this.transport!==Hc?this.connectWithFallback(Hc,this.longPollFallbackMs):this.transportConnect())}log(e,t,n){this.logger&&this.logger(e,t,n)}hasLogger(){return this.logger!==null}onOpen(e){let t=this.makeRef();return this.stateChangeCallbacks.open.push([t,e]),t}onClose(e){let t=this.makeRef();return this.stateChangeCallbacks.close.push([t,e]),t}onError(e){let t=this.makeRef();return this.stateChangeCallbacks.error.push([t,e]),t}onMessage(e){let t=this.makeRef();return this.stateChangeCallbacks.message.push([t,e]),t}onHeartbeat(e){this.heartbeatCallback=e}ping(e){if(!this.isConnected())return!1;let t=this.makeRef(),n=Date.now();this.push({topic:`phoenix`,event:`heartbeat`,payload:{},ref:t});let r=this.onMessage(i=>{i.ref===t&&(this.off([r]),e(Date.now()-n))});return!0}transportName(e){switch(e){case Hc:return`LongPoll`;default:return e.name}}transportConnect(){this.connectClock++,this.closeWasClean=!1;let e;this.authToken&&(e=[`phoenix`,`${Ic}${btoa(this.authToken()).replace(/=/g,``)}`]),this.conn=new this.transport(this.endPointURL(),e),this.conn.binaryType=this.binaryType,this.conn.timeout=this.longpollerTimeout,this.conn.onopen=()=>this.onConnOpen(),this.conn.onerror=e=>this.onConnError(e),this.conn.onmessage=e=>this.onConnMessage(e),this.conn.onclose=e=>this.onConnClose(e)}getSession(e){return this.sessionStore&&this.sessionStore.getItem(e)}storeSession(e,t){this.sessionStore&&this.sessionStore.setItem(e,t)}connectWithFallback(e,t=2500){clearTimeout(this.fallbackTimer);let n=!1,r=!0,i,a,o=this.transportName(e),s=t=>{this.log(`transport`,`falling back to ${o}...`,t),this.off([i,a]),r=!1,this.replaceTransport(e),this.transportConnect()};if(this.getSession(`phx:fallback:${o}`))return s(`memorized`);this.fallbackTimer=setTimeout(s,t),a=this.onError(e=>{this.log(`transport`,`error`,e),r&&!n&&(clearTimeout(this.fallbackTimer),s(e))}),this.fallbackRef&&this.off([this.fallbackRef]),this.fallbackRef=this.onOpen(()=>{if(n=!0,!r){let t=this.transportName(e);return this.primaryPassedHealthCheck||this.storeSession(`phx:fallback:${t}`,`true`),this.log(`transport`,`established ${t} fallback`)}clearTimeout(this.fallbackTimer),this.fallbackTimer=setTimeout(s,t),this.ping(e=>{this.log(`transport`,`connected to primary after`,e),this.primaryPassedHealthCheck=!0,clearTimeout(this.fallbackTimer)})}),this.transportConnect()}clearHeartbeats(){clearTimeout(this.heartbeatTimer),clearTimeout(this.heartbeatTimeoutTimer)}onConnOpen(){this.hasLogger()&&this.log(`transport`,`connected to ${this.endPointURL()}`),this.closeWasClean=!1,this.disconnecting=!1,this.establishedConnections++,this.flushSendBuffer(),this.reconnectTimer.reset(),this.autoSendHeartbeat&&this.resetHeartbeat(),this.triggerStateCallbacks(`open`)}heartbeatTimeout(){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.hasLogger()&&this.log(`transport`,`heartbeat timeout. Attempting to re-establish connection`);try{this.heartbeatCallback(`timeout`)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}this.triggerChanError(Error(`heartbeat timeout`)),this.closeWasClean=!1,this.teardown(()=>this.reconnectTimer.scheduleTimeout(),kc,`heartbeat timeout`)}}resetHeartbeat(){this.conn&&this.conn.skipHeartbeat||(this.pendingHeartbeatRef=null,this.clearHeartbeats(),this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}teardown(e,t,n){if(!this.conn)return e&&e();let r=this.conn;this.waitForBufferDone(r,()=>{t?r.close(t,n||``):r.close(),this.waitForSocketClosed(r,()=>{this.conn===r&&(this.conn.onopen=function(){},this.conn.onerror=function(){},this.conn.onmessage=function(){},this.conn.onclose=function(){},this.conn=null),e&&e()})})}waitForBufferDone(e,t,n=1){n===5||!e.bufferedAmount?t():setTimeout(()=>{this.waitForBufferDone(e,t,n+1)},150*n)}waitForSocketClosed(e,t,n=1){n===5||e.readyState===jc.closed?t():setTimeout(()=>{this.waitForSocketClosed(e,t,n+1)},150*n)}onConnClose(e){this.conn&&(this.conn.onclose=()=>{}),this.hasLogger()&&this.log(`transport`,`close`,e),this.triggerChanError(e),this.clearHeartbeats(),this.closeWasClean||this.reconnectTimer.scheduleTimeout(),this.triggerStateCallbacks(`close`,e)}onConnError(e){this.hasLogger()&&this.log(`transport`,`error`,e);let t=this.transport,n=this.establishedConnections;this.triggerStateCallbacks(`error`,e,t,n),(t===this.transport||n>0)&&this.triggerChanError(e)}triggerChanError(e){this.channels.forEach(t=>{t.isErrored()||t.isLeaving()||t.isClosed()||t.trigger(Nc.error,e)})}connectionState(){switch(this.conn&&this.conn.readyState){case jc.connecting:return`connecting`;case jc.open:return`open`;case jc.closing:return`closing`;default:return`closed`}}isConnected(){return this.connectionState()===`open`}remove(e){this.off(e.stateChangeRefs),this.channels=this.channels.filter(t=>t!==e)}off(e){for(let t in this.stateChangeCallbacks)this.stateChangeCallbacks[t]=this.stateChangeCallbacks[t].filter(([t])=>e.indexOf(t)===-1)}channel(e,t={}){let n=new zc(e,t,this);return this.channels.push(n),n}push(e){if(this.hasLogger()){let{topic:t,event:n,payload:r,ref:i,join_ref:a}=e;this.log(`push`,`${t} ${n} (${a}, ${i})`,r)}this.isConnected()?this.encode(e,e=>this.conn.send(e)):this.sendBuffer.push(()=>this.encode(e,e=>this.conn.send(e)))}makeRef(){let e=this.ref+1;return this.ref=e===this.ref?0:e,this.ref.toString()}sendHeartbeat(){if(!this.isConnected())try{this.heartbeatCallback(`disconnected`)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}else if(this.pendingHeartbeatRef)this.heartbeatTimeout();else{this.pendingHeartbeatRef=this.makeRef(),this.heartbeatSentAt=Date.now(),this.push({topic:`phoenix`,event:`heartbeat`,payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback(`sent`)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}this.heartbeatTimeoutTimer=setTimeout(()=>this.heartbeatTimeout(),this.heartbeatIntervalMs)}}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(e=>e()),this.sendBuffer=[])}onConnMessage(e){this.decode(e.data,e=>{let{topic:t,event:n,payload:r,ref:i,join_ref:a}=e;if(i&&i===this.pendingHeartbeatRef){let e=this.heartbeatSentAt?Date.now()-this.heartbeatSentAt:void 0;this.clearHeartbeats();try{this.heartbeatCallback(r.status===`ok`?`ok`:`error`,e)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.autoSendHeartbeat&&(this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}this.hasLogger()&&this.log(`receive`,`${r.status||``} ${t} ${n} ${i&&`(`+i+`)`||``}`.trim(),r);for(let e=0;e<this.channels.length;e++){let o=this.channels[e];o.isMember(t,n,r,a)&&o.trigger(n,r,i,a)}this.triggerStateCallbacks(`message`,e)})}triggerStateCallbacks(e,...t){try{this.stateChangeCallbacks[e].forEach(([n,r])=>{try{r(...t)}catch(t){this.log(`error`,`error in ${e} callback`,t)}})}catch(t){this.log(`error`,`error triggering ${e} callbacks`,t)}}leaveOpenTopic(e){let t=this.channels.find(t=>t.topic===e&&(t.isJoined()||t.isJoining()));t&&(this.hasLogger()&&this.log(`transport`,`leaving duplicate topic "${e}"`),t.leave())}},Kc=class e{constructor(t,n){let r=Yc(n);this.presence=new Uc(t.getChannel(),r),this.presence.onJoin((n,r,i)=>{let a=e.onJoinPayload(n,r,i);t.getChannel().trigger(`presence`,a)}),this.presence.onLeave((n,r,i)=>{let a=e.onLeavePayload(n,r,i);t.getChannel().trigger(`presence`,a)}),this.presence.onSync(()=>{t.getChannel().trigger(`presence`,{event:`sync`})})}get state(){return e.transformState(this.presence.state)}static transformState(e){return e=Jc(e),Object.getOwnPropertyNames(e).reduce((t,n)=>{let r=e[n];return t[n]=qc(r),t},{})}static onJoinPayload(e,t,n){return{event:`join`,key:e,currentPresences:Xc(t),newPresences:qc(n)}}static onLeavePayload(e,t,n){return{event:`leave`,key:e,currentPresences:Xc(t),leftPresences:qc(n)}}};function qc(e){return e.metas.map(e=>{let t=Object.getOwnPropertyDescriptors(e),n=Object.defineProperties({},t);return n.presence_ref=n.phx_ref,delete n.phx_ref,delete n.phx_ref_prev,n})}function Jc(e){return JSON.parse(JSON.stringify(e))}function Yc(e){return e?.events&&{events:e.events}}function Xc(e){return e?.metas?qc(e):[]}var Zc;(function(e){e.SYNC=`sync`,e.JOIN=`join`,e.LEAVE=`leave`})(Zc||={});var Qc=class{get state(){return this.presenceAdapter.state}constructor(e,t){this.channel=e,this.presenceAdapter=new Kc(this.channel.channelAdapter,t)}};function $c(e){if(e instanceof Error)return e;if(typeof e==`string`)return Error(e);if(e&&typeof e==`object`){let t=e;if(typeof t.code==`number`){let n=typeof t.reason==`string`&&t.reason?` (${t.reason})`:``;return Error(`socket closed: ${t.code}${n}`,{cause:e})}return Error(`channel error: transport failure`,{cause:e})}return Error(`channel error: connection lost`)}var el=class{constructor(e,t,n){let r=tl(n);this.channel=e.getSocket().channel(t,r),this.socket=e}get state(){return this.channel.state}set state(e){this.channel.state=e}get joinedOnce(){return this.channel.joinedOnce}get joinPush(){return this.channel.joinPush}get rejoinTimer(){return this.channel.rejoinTimer}on(e,t){return this.channel.on(e,t)}off(e,t){this.channel.off(e,t)}subscribe(e){return this.channel.join(e)}unsubscribe(e){return this.channel.leave(e)}teardown(){this.channel.teardown()}onClose(e){this.channel.onClose(e)}onError(e){return this.channel.onError(e)}push(e,t,n){let r;try{r=this.channel.push(e,t,n)}catch{throw Error(`tried to push '${e}' to '${this.channel.topic}' before joining. Use channel.subscribe() before pushing events`)}if(this.channel.pushBuffer.length>100){let e=this.channel.pushBuffer.shift();e.cancelTimeout(),this.socket.log(`channel`,`discarded push due to buffer overflow: ${e.event}`,e.payload())}return r}updateJoinPayload(e){let t=this.channel.joinPush.payload();this.channel.joinPush.payload=()=>Object.assign(Object.assign({},t),e)}canPush(){return this.socket.isConnected()&&this.state===lc.joined}isJoined(){return this.state===lc.joined}isJoining(){return this.state===lc.joining}isClosed(){return this.state===lc.closed}isLeaving(){return this.state===lc.leaving}updateFilterBindings(e){this.channel.filterBindings=e}updatePayloadTransform(e){this.channel.onMessage=e}getChannel(){return this.channel}};function tl(e){return{config:Object.assign({broadcast:{ack:!1,self:!1},presence:{key:``,enabled:!1},private:!1},e.config)}}var nl=/[,()"\\]/,rl=e=>nl.test(e)||e!==e.trim(),il=e=>`"${e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}"`,al=e=>{let t=e===null?`null`:String(e);return rl(t)?il(t):t},ol=e=>e===null?`null`:String(e),sl=(e,t)=>{if(e===`in`){let e=Array.isArray(t)?t:[t];if(e.length===0)throw Error("Realtime `in` filter requires at least one value.");return`in.(${Array.from(new Set(e)).map(e=>al(e)).join(`,`)})`}return e===`is`?`is.${ol(t)}`:`${e}.${al(t)}`},cl=class{constructor(){this.filters=[]}add(e,t,n,r=!1){let i=r?`not.`:``;return this.filters.push(`${e}=${i}${sl(t,n)}`),this}eq(e,t){return this.add(e,`eq`,t)}neq(e,t){return this.add(e,`neq`,t)}gt(e,t){return this.add(e,`gt`,t)}gte(e,t){return this.add(e,`gte`,t)}lt(e,t){return this.add(e,`lt`,t)}lte(e,t){return this.add(e,`lte`,t)}in(e,t){return this.add(e,`in`,t)}like(e,t){return this.add(e,`like`,t)}ilike(e,t){return this.add(e,`ilike`,t)}match(e,t){return this.add(e,`match`,t)}imatch(e,t){return this.add(e,`imatch`,t)}is(e,t){return this.add(e,`is`,t)}isDistinct(e,t){return this.add(e,`isdistinct`,t)}not(e,t,n){return this.add(e,t,n,!0)}build(){return this.filters.join(`,`)}toString(){return this.build()}},ll;(function(e){e.ALL=`*`,e.INSERT=`INSERT`,e.UPDATE=`UPDATE`,e.DELETE=`DELETE`})(ll||={});var ul;(function(e){e.BROADCAST=`broadcast`,e.PRESENCE=`presence`,e.POSTGRES_CHANGES=`postgres_changes`,e.SYSTEM=`system`})(ul||={});var dl;(function(e){e.SUBSCRIBED=`SUBSCRIBED`,e.TIMED_OUT=`TIMED_OUT`,e.CLOSED=`CLOSED`,e.CHANNEL_ERROR=`CHANNEL_ERROR`})(dl||={});var fl=class e{get state(){return this.channelAdapter.state}set state(e){this.channelAdapter.state=e}get joinedOnce(){return this.channelAdapter.joinedOnce}get timeout(){return this.socket.timeout}get joinPush(){return this.channelAdapter.joinPush}get rejoinTimer(){return this.channelAdapter.rejoinTimer}constructor(e,t={config:{}},n){if(this.topic=e,this.params=t,this.socket=n,this.bindings={},this.subTopic=e.replace(/^realtime:/i,``),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:``,enabled:!1},private:!1},t.config),this.channelAdapter=new el(this.socket.socketAdapter,e,this.params),this.presence=new Qc(this),this._onClose(()=>{this.socket._remove(this)}),this._updateFilterTransform(),this.broadcastEndpointURL=Sc(this.socket.socketAdapter.endPointURL()),this.private=this.params.config.private||!1,!this.private&&this.params.config?.broadcast?.replay)throw Error(`tried to use replay on public channel '${this.topic}'. It must be a private channel.`)}subscribe(e,t=this.timeout){if(this.socket.isConnected()||this.socket.connect(),this.channelAdapter.isClosed()){let{config:{broadcast:n,presence:r,private:i}}=this.params,a=this.bindings.postgres_changes?.map(e=>e.filter)??[],o=!!this.bindings[ul.PRESENCE]&&this.bindings[ul.PRESENCE].length>0||this.params.config.presence?.enabled===!0,s={},c={broadcast:n,presence:Object.assign(Object.assign({},r),{enabled:o}),postgres_changes:a,private:i};this.socket.accessTokenValue&&(s.access_token=this.socket.accessTokenValue),this._onError(t=>{e?.(dl.CHANNEL_ERROR,$c(t))}),this._onClose(()=>e?.(dl.CLOSED)),this.updateJoinPayload(Object.assign({config:c},s)),this._updateFilterMessage(),this.channelAdapter.subscribe(t).receive(`ok`,async({postgres_changes:t})=>{this.socket._isManualToken()||this.socket.setAuth(),t===void 0?e?.(dl.SUBSCRIBED):this._updatePostgresBindings(t,e)}).receive(`error`,t=>{this.state=lc.errored;let n=Object.values(t).join(`, `)||`error`;e?.(dl.CHANNEL_ERROR,Error(n,{cause:t}))}).receive(`timeout`,()=>{e?.(dl.TIMED_OUT)})}return this}_updatePostgresBindings(t,n){let r=this.bindings.postgres_changes,i=r?.length??0,a=[];for(let o=0;o<i;o++){let i=r[o],{filter:{event:s,schema:c,table:l,filter:u}}=i,d=t&&t[o];if(d&&d.event===s&&e.isFilterValueEqual(d.schema,c)&&e.isFilterValueEqual(d.table,l)&&e.isFilterValueEqual(d.filter,u))a.push(Object.assign(Object.assign({},i),{id:d.id}));else{this.unsubscribe(),this.state=lc.errored,n?.(dl.CHANNEL_ERROR,Error(`mismatch between server and client bindings for postgres changes`));return}}this.bindings.postgres_changes=a,this.state!=lc.errored&&n&&n(dl.SUBSCRIBED)}presenceState(){return this.presence.state}async track(e,t={}){return await this.send({type:`presence`,event:`track`,payload:e},t)}async untrack(e={}){return await this.send({type:`presence`,event:`untrack`},e)}on(e,t,n){let r=this.channelAdapter.isJoined()||this.channelAdapter.isJoining(),i=e===ul.PRESENCE||e===ul.POSTGRES_CHANGES;if(r&&i)throw this.socket.log(`channel`,`cannot add \`${e}\` callbacks for ${this.topic} after \`subscribe()\`.`),Error(`cannot add \`${e}\` callbacks for ${this.topic} after \`subscribe()\`.`);return this._on(e,t,n)}async httpSend(e,t,n={}){if(t==null)return Promise.reject(Error(`Payload is required for httpSend()`));let r=t instanceof ArrayBuffer||ArrayBuffer.isView(t),i={apikey:this.socket.apiKey?this.socket.apiKey:``,"Content-Type":r?`application/octet-stream`:`application/json`};this.socket.accessTokenValue&&(i.Authorization=`Bearer ${this.socket.accessTokenValue}`);let a=new URL(this.broadcastEndpointURL);a.pathname+=`/${encodeURIComponent(this.subTopic)}/events/${encodeURIComponent(e)}`,this.private&&a.searchParams.set(`private`,`true`);let o={method:`POST`,headers:i,body:r?t:JSON.stringify(t)},s=await this._fetchWithTimeout(a.toString(),o,n.timeout??this.timeout);if(s.status===202)return{success:!0};if(s.status===404)return Promise.reject(Error(`httpSend() requires Realtime server v2.97.0 or newer; the endpoint returned 404. Update your Supabase CLI to a recent version, or upgrade the Realtime server in your self-hosted setup. See https://github.com/supabase/supabase-js/blob/master/packages/core/realtime-js/migrations/httpsend-server-version.md`));let c=s.statusText;try{let e=await s.json();c=e.error||e.message||c}catch{}return Promise.reject(Error(c))}async send(e,t={}){if(!this.channelAdapter.canPush()&&e.type===`broadcast`){let n=`Realtime send() is automatically falling back to REST API. This behavior will be deprecated in the future. Please use httpSend() explicitly for REST delivery.`;this.socket.hasLogger()?this.socket.log(`channel`,n):console.warn(n);let{event:r,payload:i}=e,a={apikey:this.socket.apiKey?this.socket.apiKey:``,"Content-Type":`application/json`};this.socket.accessTokenValue&&(a.Authorization=`Bearer ${this.socket.accessTokenValue}`);let o={method:`POST`,headers:a,body:JSON.stringify({messages:[{topic:this.subTopic,event:r,payload:i,private:this.private}]})};try{let e=await this._fetchWithTimeout(this.broadcastEndpointURL,o,t.timeout??this.timeout);return await e.body?.cancel(),e.ok?`ok`:`error`}catch(e){return e instanceof Error&&e.name===`AbortError`?`timed out`:`error`}}return new Promise(n=>{let r=this.channelAdapter.push(e.type,e,t.timeout||this.timeout);e.type===`broadcast`&&!this.params?.config?.broadcast?.ack&&n(`ok`),r.receive(`ok`,()=>n(`ok`)),r.receive(`error`,()=>n(`error`)),r.receive(`timeout`,()=>n(`timed out`))})}updateJoinPayload(e){this.channelAdapter.updateJoinPayload(e)}async unsubscribe(e=this.timeout){return new Promise(t=>{this.channelAdapter.unsubscribe(e).receive(`ok`,()=>t(`ok`)).receive(`timeout`,()=>t(`timed out`)).receive(`error`,()=>t(`error`))})}teardown(){this.channelAdapter.teardown()}async _fetchWithTimeout(e,t,n){let r=new AbortController,i=setTimeout(()=>r.abort(),n),a=await this.socket.fetch(e,Object.assign(Object.assign({},t),{signal:r.signal}));return clearTimeout(i),a}_on(t,n,r){let i=t.toLocaleLowerCase(),a=n?.filter;if((a instanceof cl||typeof a==`object`&&a&&typeof a.build==`function`)&&(n=Object.assign(Object.assign({},n),{filter:a.build()})),i===ul.POSTGRES_CHANGES&&this.bindings[i]?.find(t=>e.isSamePostgresFilter(t.filter,n)))return this.socket.log(`error`,`duplicate \`postgres_changes\` binding for ${this.topic} ignored`,n),this;let o=this.channelAdapter.on(t,r),s={type:i,filter:n,callback:r,ref:o};return this.bindings[i]?this.bindings[i].push(s):this.bindings[i]=[s],this._updateFilterMessage(),this}_onClose(e){this.channelAdapter.onClose(e)}_onError(e){this.channelAdapter.onError(e)}_updateFilterMessage(){this.channelAdapter.updateFilterBindings((e,t,n)=>{let r=e.event.toLocaleLowerCase();if(this._notThisChannelEvent(r,n))return!1;let i=this.bindings[r]?.find(t=>t.ref===e.ref);if(!i)return!0;if([`broadcast`,`presence`,`postgres_changes`].includes(r)){if(`id`in i){let e=i.id,n=i.filter?.event;return e&&t.ids?.includes(e)&&(n===`*`||n?.toLocaleLowerCase()===t.data?.type.toLocaleLowerCase())}{let e=(i?.filter?.event)?.toLocaleLowerCase();return e===`*`||e===(t?.event)?.toLocaleLowerCase()}}return i.type.toLocaleLowerCase()===r})}_notThisChannelEvent(e,t){let{close:n,error:r,leave:i,join:a}=uc;return t&&[n,r,i,a].includes(e)&&t!==this.joinPush.ref}_updateFilterTransform(){this.channelAdapter.updatePayloadTransform((e,t,n)=>{if(typeof t==`object`&&`ids`in t){let e=t.data,{schema:n,table:r,commit_timestamp:i,type:a,errors:o}=e;return Object.assign(Object.assign({},{schema:n,table:r,commit_timestamp:i,eventType:a,new:{},old:{},errors:o}),this._getPayloadRecords(e))}return t})}copyBindings(e){if(this.joinedOnce)throw Error(`cannot copy bindings into joined channel`);for(let t in e.bindings)for(let n of e.bindings[t])this._on(n.type,n.filter,n.callback)}static isFilterValueEqual(e,t){return(e??void 0)===(t??void 0)}static isSamePostgresFilter(t,n){let r=(t?.select)?.join()??void 0,i=(n?.select)?.join()??void 0;return t?.event===n?.event&&e.isFilterValueEqual(t?.schema,n?.schema)&&e.isFilterValueEqual(t?.table,n?.table)&&e.isFilterValueEqual(t?.filter,n?.filter)&&r===i}_getPayloadRecords(e){let t={new:{},old:{}};return(e.type===`INSERT`||e.type===`UPDATE`)&&(t.new=mc(e.columns,e.record)),(e.type===`UPDATE`||e.type===`DELETE`)&&(t.old=mc(e.columns,e.old_record)),t}},pl=class{constructor(e,t){this.socket=new Gc(e,t)}get timeout(){return this.socket.timeout}get endPoint(){return this.socket.endPoint}get transport(){return this.socket.transport}get heartbeatIntervalMs(){return this.socket.heartbeatIntervalMs}get heartbeatCallback(){return this.socket.heartbeatCallback}set heartbeatCallback(e){this.socket.heartbeatCallback=e}get heartbeatTimer(){return this.socket.heartbeatTimer}get pendingHeartbeatRef(){return this.socket.pendingHeartbeatRef}get reconnectTimer(){return this.socket.reconnectTimer}get vsn(){return this.socket.vsn}get encode(){return this.socket.encode}get decode(){return this.socket.decode}get reconnectAfterMs(){return this.socket.reconnectAfterMs}get sendBuffer(){return this.socket.sendBuffer}get stateChangeCallbacks(){return this.socket.stateChangeCallbacks}connect(){this.socket.connect()}disconnect(e,t,n,r=1e4){return new Promise(i=>{setTimeout(()=>i(`timeout`),r),this.socket.disconnect(()=>{e(),i(`ok`)},t,n)})}push(e){this.socket.push(e)}log(e,t,n){this.socket.log(e,t,n)}hasLogger(){return this.socket.hasLogger()}makeRef(){return this.socket.makeRef()}onOpen(e){this.socket.onOpen(e)}onClose(e){this.socket.onClose(e)}onError(e){this.socket.onError(e)}onMessage(e){this.socket.onMessage(e)}isConnected(){return this.socket.isConnected()}isConnecting(){return this.socket.connectionState()==dc.connecting}isDisconnecting(){return this.socket.connectionState()==dc.closing}connectionState(){return this.socket.connectionState()}endPointURL(){return this.socket.endPointURL()}sendHeartbeat(){this.socket.sendHeartbeat()}getSocket(){return this.socket}},ml={HEARTBEAT_INTERVAL:25e3,RECONNECT_DELAY:10,HEARTBEAT_TIMEOUT_FALLBACK:100},hl=[1e3,2e3,5e3,1e4],gl=1e4;function _l(){let e=new Map;return{get length(){return e.size},clear(){e.clear()},getItem(t){return e.has(t)?e.get(t):null},key(t){return Array.from(e.keys())[t]??null},removeItem(t){e.delete(t)},setItem(t,n){e.set(t,String(n))}}}function vl(){try{if(typeof globalThis<`u`&&globalThis.sessionStorage)return globalThis.sessionStorage}catch{}return _l()}var yl=`
  addEventListener("message", (e) => {
    if (e.data.event === "start") {
      setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval);
    }
  });`,bl=class{get endPoint(){return this.socketAdapter.endPoint}get timeout(){return this.socketAdapter.timeout}get transport(){return this.socketAdapter.transport}get heartbeatCallback(){return this.socketAdapter.heartbeatCallback}get heartbeatIntervalMs(){return this.socketAdapter.heartbeatIntervalMs}get heartbeatTimer(){return this.worker?this._workerHeartbeatTimer:this.socketAdapter.heartbeatTimer}get pendingHeartbeatRef(){return this.worker?this._pendingWorkerHeartbeatRef:this.socketAdapter.pendingHeartbeatRef}get reconnectTimer(){return this.socketAdapter.reconnectTimer}get vsn(){return this.socketAdapter.vsn}get encode(){return this.socketAdapter.encode}get decode(){return this.socketAdapter.decode}get reconnectAfterMs(){return this.socketAdapter.reconnectAfterMs}get sendBuffer(){return this.socketAdapter.sendBuffer}get stateChangeCallbacks(){return this.socketAdapter.stateChangeCallbacks}constructor(e,t){if(this.channels=[],this.accessTokenValue=null,this.accessToken=null,this.apiKey=null,this.httpEndpoint=``,this.headers={},this.params={},this.ref=0,this.serializer=new fc,this._manuallySetToken=!1,this._authPromise=null,this._authGeneration=0,this._workerHeartbeatTimer=void 0,this._pendingWorkerHeartbeatRef=null,this._pendingDisconnectTimer=null,this._disconnectOnEmptyChannelsAfterMs=0,this._resolveFetch=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),!t?.params?.apikey)throw Error(`API key is required to connect to Realtime`);this.apiKey=t.params.apikey;let n=this._initializeOptions(t);this.socketAdapter=new pl(e,n),this.httpEndpoint=Sc(e),this.fetch=this._resolveFetch(t?.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.isConnected())){this.accessToken&&!this._authPromise&&this._setAuthSafely(`connect`),this._setupConnectionHandlers();try{this.socketAdapter.connect()}catch(e){let t=e.message;throw Error(`WebSocket not available: ${t}`)}this._handleNodeJsRaceCondition()}}endpointURL(){return this.socketAdapter.endPointURL()}async disconnect(e,t){return this._cancelPendingDisconnect(),this.isDisconnecting()?`ok`:await this.socketAdapter.disconnect(()=>{clearInterval(this._workerHeartbeatTimer),this._terminateWorker()},e,t)}getChannels(){return this.channels}async removeChannel(e){let t=await e.unsubscribe();return t===`ok`&&e.teardown(),t}async removeAllChannels(){let e=this.channels.map(async e=>{let t=await e.unsubscribe();return e.teardown(),t}),t=await Promise.all(e);return await this.disconnect(),t}log(e,t,n){this.socketAdapter.log(e,t,n)}hasLogger(){return this.socketAdapter.hasLogger()}connectionState(){return this.socketAdapter.connectionState()||dc.closed}isConnected(){return this.socketAdapter.isConnected()}isConnecting(){return this.socketAdapter.isConnecting()}isDisconnecting(){return this.socketAdapter.isDisconnecting()}channel(e,t={config:{}}){let n=`realtime:${e}`,r=this.getChannels().find(e=>e.topic===n);if(r)return r;{let n=new fl(`realtime:${e}`,t,this);return this._cancelPendingDisconnect(),this.channels.push(n),n}}push(e){this.socketAdapter.push(e)}async setAuth(e=null){let t=++this._authGeneration,n=this._performAuth(e,t);t===this._authGeneration&&(this._authPromise=n);try{await n}finally{this._authPromise===n&&(this._authPromise=null)}}_isManualToken(){return this._manuallySetToken}async sendHeartbeat(){this.socketAdapter.sendHeartbeat()}onHeartbeat(e){this.socketAdapter.heartbeatCallback=this._wrapHeartbeatCallback(e)}_makeRef(){return this.socketAdapter.makeRef()}_remove(e){this.channels=this.channels.filter(t=>t.topic!==e.topic),this.channels.length===0&&(this.log(`transport`,`no channels remaining, scheduling disconnect`),this._schedulePendingDisconnect())}_schedulePendingDisconnect(){this._cancelPendingDisconnect(),this._disconnectOnEmptyChannelsAfterMs===0?(this.log(`transport`,`disconnecting immediately - no channels`),this.disconnect()):(this._pendingDisconnectTimer=setTimeout(()=>{this._pendingDisconnectTimer=null,this.channels.length===0&&(this.log(`transport`,`deferred disconnect fired - no channels, disconnecting`),this.disconnect())},this._disconnectOnEmptyChannelsAfterMs),this.log(`transport`,`deferred disconnect scheduled in ${this._disconnectOnEmptyChannelsAfterMs}ms`))}_cancelPendingDisconnect(){this._pendingDisconnectTimer!==null&&(this.log(`transport`,`pending disconnect cancelled - channel activity detected`),clearTimeout(this._pendingDisconnectTimer),this._pendingDisconnectTimer=null)}async _performAuth(e,t){let n,r=!1;if(e)n=e,r=!0;else if(this.accessToken)try{n=await this.accessToken()}catch(e){this.log(`error`,`Error fetching access token from callback`,e),n=this.accessTokenValue}else n=this.accessTokenValue;t===this._authGeneration&&(this.accessToken?this._manuallySetToken=!1:r&&(this._manuallySetToken=!0),this.accessTokenValue!=n&&(this.accessTokenValue=n,this.channels.forEach(e=>{let t={access_token:n,version:ic};e.updateJoinPayload(t),e.joinedOnce&&e.channelAdapter.isJoined()&&e.channelAdapter.push(uc.access_token,{access_token:n})})))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(e=`general`){this._isManualToken()||this.setAuth().catch(t=>{this.log(`error`,`Error setting auth in ${e}`,t)})}_setupConnectionHandlers(){this.socketAdapter.onOpen(()=>{(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).catch(e=>{this.log(`error`,`error waiting for auth on connect`,e)}),this.worker&&!this.workerRef&&this._startWorkerHeartbeat()}),this.socketAdapter.onClose(()=>{this.worker&&this.workerRef&&this._terminateWorker()}),this.socketAdapter.onMessage(e=>{e.ref&&e.ref===this._pendingWorkerHeartbeatRef&&(this._pendingWorkerHeartbeatRef=null)})}_handleNodeJsRaceCondition(){this.socketAdapter.isConnected()&&this.socketAdapter.getSocket().onConnOpen()}_wrapHeartbeatCallback(e){return(t,n)=>{t!==`disconnected`&&(t==`sent`&&this._setAuthSafely(),e&&e(t,n))}}_startWorkerHeartbeat(){this.workerUrl?this.log(`worker`,`starting worker for from ${this.workerUrl}`):this.log(`worker`,`starting default worker`);let e=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(e),this.workerRef.onerror=e=>{this.log(`worker`,`worker error`,e.message),this._terminateWorker(),this.disconnect()},this.workerRef.onmessage=e=>{e.data.event===`keepAlive`&&this.sendHeartbeat()},this.workerRef.postMessage({event:`start`,interval:this.heartbeatIntervalMs})}_terminateWorker(){this.workerRef&&=(this.log(`worker`,`terminating worker`),this.workerRef.terminate(),void 0)}_workerObjectUrl(e){let t;if(e)t=e;else{let e=new Blob([yl],{type:`application/javascript`});t=URL.createObjectURL(e)}return t}_initializeOptions(e){this.worker=e?.worker??!1,this.accessToken=e?.accessToken??null;let t={};t.timeout=e?.timeout??cc,t.heartbeatIntervalMs=e?.heartbeatIntervalMs??ml.HEARTBEAT_INTERVAL,this._disconnectOnEmptyChannelsAfterMs=e?.disconnectOnEmptyChannelsAfterMs??2*(e?.heartbeatIntervalMs??ml.HEARTBEAT_INTERVAL),t.transport=e?.transport??rc.getWebSocketConstructor(),t.params=e?.params,t.logger=e?.logger,t.heartbeatCallback=this._wrapHeartbeatCallback(e?.heartbeatCallback),t.sessionStorage=e?.sessionStorage??vl(),t.reconnectAfterMs=e?.reconnectAfterMs??(e=>hl[e-1]||gl);let n,r,i=e?.vsn??sc;switch(i){case ac:n=(e,t)=>t(JSON.stringify(e)),r=(e,t)=>t(JSON.parse(e));break;case oc:n=this.serializer.encode.bind(this.serializer),r=this.serializer.decode.bind(this.serializer);break;default:throw Error(`Unsupported serializer version: ${t.vsn}`)}if(t.vsn=i,t.encode=e?.encode??n,t.decode=e?.decode??r,t.beforeReconnect=this._reconnectAuth.bind(this),(e?.logLevel||e?.log_level)&&(this.logLevel=e.logLevel||e.log_level,t.params=Object.assign(Object.assign({},t.params),{log_level:this.logLevel})),this.worker){if(typeof window<`u`&&!window.Worker)throw Error(`Web Worker is not supported`);this.workerUrl=e?.workerUrl,t.autoSendHeartbeat=!this.worker}return t}async _reconnectAuth(){await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()}},xl=class extends Error{constructor(e,t){super(e),this.name=`IcebergError`,this.status=t.status,this.icebergType=t.icebergType,this.icebergCode=t.icebergCode,this.details=t.details,this.isCommitStateUnknown=t.icebergType===`CommitStateUnknownException`||[500,502,504].includes(t.status)&&t.icebergType?.includes(`CommitState`)===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function Sl(e,t,n){let r=new URL(t,e);if(n)for(let[e,t]of Object.entries(n))t!==void 0&&r.searchParams.set(e,t);return r.toString()}async function Cl(e){return!e||e.type===`none`?{}:e.type===`bearer`?{Authorization:`Bearer ${e.token}`}:e.type===`header`?{[e.name]:e.value}:e.type===`custom`?await e.getHeaders():{}}function wl(e){let t=e.fetchImpl??globalThis.fetch;return{async request({method:n,path:r,query:i,body:a,headers:o}){let s=Sl(e.baseUrl,r,i),c=await Cl(e.auth),l=await t(s,{method:n,headers:{...a?{"Content-Type":`application/json`}:{},...c,...o},body:a?JSON.stringify(a):void 0}),u=await l.text(),d=(l.headers.get(`content-type`)||``).includes(`application/json`),f=d&&u?JSON.parse(u):u;if(!l.ok){let e=d?f:void 0,t=e?.error;throw new xl(t?.message??`Request failed with status ${l.status}`,{status:l.status,icebergType:t?.type,icebergCode:t?.code,details:e})}return{status:l.status,headers:l.headers,data:f}}}}function Tl(e){return e.join(``)}var El=class{constructor(e,t=``){this.client=e,this.prefix=t}async listNamespaces(e){let t=e?{parent:Tl(e.namespace)}:void 0;return(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces`,query:t})).data.namespaces.map(e=>({namespace:e}))}async createNamespace(e,t){let n={namespace:e.namespace,properties:t?.properties};return(await this.client.request({method:`POST`,path:`${this.prefix}/namespaces`,body:n})).data}async dropNamespace(e){await this.client.request({method:`DELETE`,path:`${this.prefix}/namespaces/${Tl(e.namespace)}`})}async loadNamespaceMetadata(e){return{properties:(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces/${Tl(e.namespace)}`})).data.properties}}async namespaceExists(e){try{return await this.client.request({method:`HEAD`,path:`${this.prefix}/namespaces/${Tl(e.namespace)}`}),!0}catch(e){if(e instanceof xl&&e.status===404)return!1;throw e}}async createNamespaceIfNotExists(e,t){try{return await this.createNamespace(e,t)}catch(e){if(e instanceof xl&&e.status===409)return;throw e}}};function Dl(e){return e.join(``)}var Ol=class{constructor(e,t=``,n){this.client=e,this.prefix=t,this.accessDelegation=n}async listTables(e){return(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces/${Dl(e.namespace)}/tables`})).data.identifiers}async createTable(e,t){let n={};return this.accessDelegation&&(n[`X-Iceberg-Access-Delegation`]=this.accessDelegation),(await this.client.request({method:`POST`,path:`${this.prefix}/namespaces/${Dl(e.namespace)}/tables`,body:t,headers:n})).data.metadata}async updateTable(e,t){let n=await this.client.request({method:`POST`,path:`${this.prefix}/namespaces/${Dl(e.namespace)}/tables/${e.name}`,body:t});return{"metadata-location":n.data[`metadata-location`],metadata:n.data.metadata}}async dropTable(e,t){await this.client.request({method:`DELETE`,path:`${this.prefix}/namespaces/${Dl(e.namespace)}/tables/${e.name}`,query:{purgeRequested:String(t?.purge??!1)}})}async loadTable(e){let t={};return this.accessDelegation&&(t[`X-Iceberg-Access-Delegation`]=this.accessDelegation),(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces/${Dl(e.namespace)}/tables/${e.name}`,headers:t})).data.metadata}async tableExists(e){let t={};this.accessDelegation&&(t[`X-Iceberg-Access-Delegation`]=this.accessDelegation);try{return await this.client.request({method:`HEAD`,path:`${this.prefix}/namespaces/${Dl(e.namespace)}/tables/${e.name}`,headers:t}),!0}catch(e){if(e instanceof xl&&e.status===404)return!1;throw e}}async createTableIfNotExists(e,t){try{return await this.createTable(e,t)}catch(n){if(n instanceof xl&&n.status===409)return await this.loadTable({namespace:e.namespace,name:t.name});throw n}}},kl=class{constructor(e){let t=`v1`;e.catalogName&&(t+=`/${e.catalogName}`);let n=e.baseUrl.endsWith(`/`)?e.baseUrl:`${e.baseUrl}/`;this.client=wl({baseUrl:n,auth:e.auth,fetchImpl:e.fetch}),this.accessDelegation=e.accessDelegation?.join(`,`),this.namespaceOps=new El(this.client,t),this.tableOps=new Ol(this.client,t,this.accessDelegation)}async listNamespaces(e){return this.namespaceOps.listNamespaces(e)}async createNamespace(e,t){return this.namespaceOps.createNamespace(e,t)}async dropNamespace(e){await this.namespaceOps.dropNamespace(e)}async loadNamespaceMetadata(e){return this.namespaceOps.loadNamespaceMetadata(e)}async listTables(e){return this.tableOps.listTables(e)}async createTable(e,t){return this.tableOps.createTable(e,t)}async updateTable(e,t){return this.tableOps.updateTable(e,t)}async dropTable(e,t){await this.tableOps.dropTable(e,t)}async loadTable(e){return this.tableOps.loadTable(e)}async namespaceExists(e){return this.namespaceOps.namespaceExists(e)}async tableExists(e){return this.tableOps.tableExists(e)}async createNamespaceIfNotExists(e,t){return this.namespaceOps.createNamespaceIfNotExists(e,t)}async createTableIfNotExists(e,t){return this.tableOps.createTableIfNotExists(e,t)}};function Al(e){"@babel/helpers - typeof";return Al=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Al(e)}function jl(e,t){if(Al(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Al(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Ml(e){var t=jl(e,`string`);return Al(t)==`symbol`?t:t+``}function Nl(e,t,n){return(t=Ml(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Pl(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 W(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Pl(Object(n),!0).forEach(function(t){Nl(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Pl(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Fl=class extends Error{constructor(e,t=`storage`,n,r){super(e),this.__isStorageError=!0,this.namespace=t,this.name=t===`vectors`?`StorageVectorsError`:`StorageError`,this.status=n,this.statusCode=r}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}};function Il(e){return typeof e==`object`&&!!e&&`__isStorageError`in e}var Ll=class extends Fl{constructor(e,t,n,r=`storage`,i){super(e,r,t,n),this.name=r===`vectors`?`StorageVectorsApiError`:`StorageApiError`,this.status=t,this.statusCode=n,this.code=i}toJSON(){return W(W({},super.toJSON()),{},{code:this.code})}},Rl=class extends Fl{constructor(e,t,n=`storage`){super(e,n),this.name=n===`vectors`?`StorageVectorsUnknownError`:`StorageUnknownError`,this.originalError=t}};function zl(e,t,n){let r=W({},e),i=t.toLowerCase();for(let e of Object.keys(r))e.toLowerCase()===i&&delete r[e];return r[i]=n,r}function Bl(e){let t={};for(let[n,r]of Object.entries(e))t[n.toLowerCase()]=r;return t}var Vl=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),Hl=e=>{if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},Ul=e=>{if(Array.isArray(e))return e.map(e=>Ul(e));if(typeof e==`function`||e!==Object(e))return e;let t={};return Object.entries(e).forEach(([e,n])=>{let r=e.replace(/([-_][a-z])/gi,e=>e.toUpperCase().replace(/[-_]/g,``));t[r]=Ul(n)}),t},Wl=e=>!e||typeof e!=`string`||e.length===0||e.length>100||e.trim()!==e||e.includes(`/`)||e.includes(`\\`)?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(e),Gl=e=>e.split(`/`).map(encodeURIComponent).join(`/`),Kl=e=>{if(typeof e==`object`&&e){let t=e;if(typeof t.msg==`string`)return t.msg;if(typeof t.message==`string`)return t.message;if(typeof t.error_description==`string`)return t.error_description;if(typeof t.error==`string`)return t.error;if(typeof t.error==`object`&&t.error!==null){let e=t.error;if(typeof e.message==`string`)return e.message}}return JSON.stringify(e)},ql=async(e,t,n,r)=>{if(typeof e==`object`&&e&&`json`in e&&typeof e.json==`function`){let n=e,i=parseInt(String(n.status),10);Number.isFinite(i)||(i=500),n.json().then(e=>{let n=e?.statusCode||e?.code||i+``;t(new Ll(Kl(e),i,n,r,e?.code))}).catch(()=>{let e=i+``;t(new Ll(n.statusText||`HTTP ${i} error`,i,e,r))})}else t(new Rl(Kl(e),e,r))},Jl=(e,t,n,r)=>{let i={method:e,headers:t?.headers||{}};if(e===`GET`||e===`HEAD`||!r)return W(W({},i),n);if(Hl(r)){let e=t?.headers||{},n;for(let[t,r]of Object.entries(e))t.toLowerCase()===`content-type`&&(n=r);i.headers=zl(e,`Content-Type`,n??`application/json`),i.body=JSON.stringify(r)}else i.body=r;return t?.duplex&&(i.duplex=t.duplex),W(W({},i),n)};async function Yl(e,t,n,r,i,a,o){return new Promise((s,c)=>{e(n,Jl(t,r,i,a)).then(e=>{if(!e.ok)throw e;if(r?.noResolveJson)return e;if(o===`vectors`){let t=e.headers.get(`content-type`);if(e.headers.get(`content-length`)===`0`||e.status===204||!t||!t.includes(`application/json`))return{}}return e.json()}).then(e=>s(e)).catch(e=>ql(e,c,r,o))})}function Xl(e=`storage`){return{get:async(t,n,r,i)=>Yl(t,`GET`,n,r,i,void 0,e),post:async(t,n,r,i,a)=>Yl(t,`POST`,n,i,a,r,e),put:async(t,n,r,i,a)=>Yl(t,`PUT`,n,i,a,r,e),head:async(t,n,r,i)=>Yl(t,`HEAD`,n,W(W({},r),{},{noResolveJson:!0}),i,void 0,e),remove:async(t,n,r,i,a)=>Yl(t,`DELETE`,n,i,a,r,e)}}var{get:Zl,post:Ql,put:$l,head:eu,remove:tu}=Xl(`storage`),nu=Xl(`vectors`),ru=class{constructor(e,t={},n,r=`storage`){this.shouldThrowOnError=!1,this.url=e,this.headers=Bl(t),this.fetch=Vl(n),this.namespace=r}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(e,t){return this.headers=zl(this.headers,e,t),this}async handleOperation(e){var t=this;try{return{data:await e(),error:null}}catch(e){if(t.shouldThrowOnError)throw e;if(Il(e))return{data:null,error:e};throw e}}},iu=Symbol.toStringTag,au=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t,this[iu]=`StreamDownloadBuilder`,this.promise=null}then(e,t){return this.getPromise().then(e,t)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||=this.execute(),this.promise}async execute(){var e=this;try{return{data:(await e.downloadFn()).body,error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(Il(t))return{data:null,error:t};throw t}}},ou=Symbol.toStringTag,su=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t,this[ou]=`BlobDownloadBuilder`,this.promise=null}asStream(){return new au(this.downloadFn,this.shouldThrowOnError)}then(e,t){return this.getPromise().then(e,t)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||=this.execute(),this.promise}async execute(){var e=this;try{return{data:await(await e.downloadFn()).blob(),error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(Il(t))return{data:null,error:t};throw t}}},cu={limit:100,offset:0,sortBy:{column:`name`,order:`asc`}},lu={cacheControl:`3600`,contentType:`text/plain;charset=UTF-8`,upsert:!1},uu=class extends ru{constructor(e,t={},n,r){super(e,t,r,`storage`),this.bucketId=n}async uploadOrUpdate(e,t,n,r){var i=this;return i.handleOperation(async()=>{let a,o=W(W({},lu),r),s=W(W({},i.headers),e===`POST`&&{"x-upsert":String(o.upsert)}),c=o.metadata;if(typeof Blob<`u`&&n instanceof Blob?(a=new FormData,a.append(`cacheControl`,o.cacheControl),c&&a.append(`metadata`,i.encodeMetadata(c)),a.append(``,n)):typeof FormData<`u`&&n instanceof FormData?(a=n,a.has(`cacheControl`)||a.append(`cacheControl`,o.cacheControl),c&&!a.has(`metadata`)&&a.append(`metadata`,i.encodeMetadata(c))):(a=n,s[`cache-control`]=`max-age=${o.cacheControl}`,s[`content-type`]=o.contentType,c&&(s[`x-metadata`]=i.toBase64(i.encodeMetadata(c))),(typeof ReadableStream<`u`&&a instanceof ReadableStream||a&&typeof a==`object`&&`pipe`in a&&typeof a.pipe==`function`)&&!o.duplex&&(o.duplex=`half`)),r?.headers)for(let[e,t]of Object.entries(r.headers))s=zl(s,e,t);let l=i._removeEmptyFolders(t),u=i._getFinalPath(l),d=await(e==`PUT`?$l:Ql)(i.fetch,`${i.url}/object/${u}`,a,W({headers:s},o?.duplex?{duplex:o.duplex}:{}));return{path:l,id:d.Id,fullPath:d.Key}})}async upload(e,t,n){return this.uploadOrUpdate(`POST`,e,t,n)}async uploadToSignedUrl(e,t,n,r){var i=this;let a=i._removeEmptyFolders(e),o=i._getFinalPath(a),s=new URL(i.url+`/object/upload/sign/${o}`);return s.searchParams.set(`token`,t),i.handleOperation(async()=>{let e,t=W(W({},lu),r),o=W(W({},i.headers),{"x-upsert":String(t.upsert)}),c=t.metadata;if(typeof Blob<`u`&&n instanceof Blob?(e=new FormData,e.append(`cacheControl`,t.cacheControl),c&&e.append(`metadata`,i.encodeMetadata(c)),e.append(``,n)):typeof FormData<`u`&&n instanceof FormData?(e=n,e.has(`cacheControl`)||e.append(`cacheControl`,t.cacheControl),c&&!e.has(`metadata`)&&e.append(`metadata`,i.encodeMetadata(c))):(e=n,o[`cache-control`]=`max-age=${t.cacheControl}`,o[`content-type`]=t.contentType,c&&(o[`x-metadata`]=i.toBase64(i.encodeMetadata(c))),(typeof ReadableStream<`u`&&e instanceof ReadableStream||e&&typeof e==`object`&&`pipe`in e&&typeof e.pipe==`function`)&&!t.duplex&&(t.duplex=`half`)),r?.headers)for(let[e,t]of Object.entries(r.headers))o=zl(o,e,t);return{path:a,fullPath:(await $l(i.fetch,s.toString(),e,W({headers:o},t?.duplex?{duplex:t.duplex}:{}))).Key}})}async createSignedUploadUrl(e,t){var n=this;return n.handleOperation(async()=>{let r=n._getFinalPath(e),i=W({},n.headers);t?.upsert&&(i[`x-upsert`]=`true`);let a=await Ql(n.fetch,`${n.url}/object/upload/sign/${r}`,{},{headers:i}),o=new URL(n.url+a.url),s=o.searchParams.get(`token`);if(!s)throw new Fl(`No token returned by API`);return{signedUrl:o.toString(),path:e,token:s}})}async update(e,t,n){return this.uploadOrUpdate(`PUT`,e,t,n)}async move(e,t,n){var r=this;return r.handleOperation(async()=>await Ql(r.fetch,`${r.url}/object/move`,{bucketId:r.bucketId,sourceKey:e,destinationKey:t,destinationBucket:n?.destinationBucket},{headers:r.headers}))}async copy(e,t,n){var r=this;return r.handleOperation(async()=>({path:(await Ql(r.fetch,`${r.url}/object/copy`,{bucketId:r.bucketId,sourceKey:e,destinationKey:t,destinationBucket:n?.destinationBucket},{headers:r.headers})).Key}))}async createSignedUrl(e,t,n){var r=this;return r.handleOperation(async()=>{let i=r._getFinalPath(e),a=typeof n?.transform==`object`&&n.transform!==null&&Object.keys(n.transform).length>0,o=await Ql(r.fetch,`${r.url}/object/sign/${i}`,W({expiresIn:t},a?{transform:n.transform}:{}),{headers:r.headers}),s=new URLSearchParams;n?.download&&s.set(`download`,n.download===!0?``:n.download),n?.cacheNonce!=null&&s.set(`cacheNonce`,String(n.cacheNonce));let c=s.toString();return{signedUrl:encodeURI(`${r.url}${o.signedURL}${c?`&${c}`:``}`)}})}async createSignedUrls(e,t,n){var r=this;return r.handleOperation(async()=>{let i=await Ql(r.fetch,`${r.url}/object/sign/${r.bucketId}`,{expiresIn:t,paths:e},{headers:r.headers}),a=new URLSearchParams;n?.download&&a.set(`download`,n.download===!0?``:n.download),n?.cacheNonce!=null&&a.set(`cacheNonce`,String(n.cacheNonce));let o=a.toString();return i.map(e=>W(W({},e),{},{signedUrl:e.signedURL?encodeURI(`${r.url}${e.signedURL}${o?`&${o}`:``}`):null}))})}download(e,t,n){let r=typeof t?.transform==`object`&&t.transform!==null&&Object.keys(t.transform).length>0?`render/image/authenticated`:`object`,i=new URLSearchParams;t?.transform&&this.applyTransformOptsToQuery(i,t.transform),t?.cacheNonce!=null&&i.set(`cacheNonce`,String(t.cacheNonce));let a=i.toString(),o=this._getFinalPath(e);return new su(()=>Zl(this.fetch,`${this.url}/${r}/${o}${a?`?${a}`:``}`,{headers:this.headers,noResolveJson:!0},n),this.shouldThrowOnError)}async info(e){var t=this;let n=t._getFinalPath(e);return t.handleOperation(async()=>Ul(await Zl(t.fetch,`${t.url}/object/info/${n}`,{headers:t.headers})))}async exists(e){var t=this;let n=t._getFinalPath(e);try{return await eu(t.fetch,`${t.url}/object/${n}`,{headers:t.headers}),{data:!0,error:null}}catch(e){if(t.shouldThrowOnError)throw e;if(Il(e)){let t=e instanceof Ll?e.status:e instanceof Rl?e.originalError?.status:void 0;if(t!==void 0&&[400,404].includes(t))return{data:!1,error:e}}throw e}}getPublicUrl(e,t){let n=this._getFinalPath(e),r=new URLSearchParams;t?.download&&r.set(`download`,t.download===!0?``:t.download),t?.transform&&this.applyTransformOptsToQuery(r,t.transform),t?.cacheNonce!=null&&r.set(`cacheNonce`,String(t.cacheNonce));let i=r.toString(),a=typeof t?.transform==`object`&&t.transform!==null&&Object.keys(t.transform).length>0?`render/image`:`object`;return{data:{publicUrl:encodeURI(`${this.url}/${a}/public/${n}`)+(i?`?${i}`:``)}}}async remove(e){var t=this;return t.handleOperation(async()=>await tu(t.fetch,`${t.url}/object/${t.bucketId}`,{prefixes:e},{headers:t.headers}))}async purgeCache(e,t,n){var r=this;return r.handleOperation(async()=>{let i=Gl(r._getFinalPath(e)),a=new URLSearchParams;t?.transformations&&a.set(`transformations`,`true`);let o=a.toString();return await tu(r.fetch,`${r.url}/cdn/${i}${o?`?${o}`:``}`,{},{headers:r.headers},n)})}async list(e,t,n){var r=this;return r.handleOperation(async()=>{let i=t?.sortBy?W(W({},cu.sortBy),t.sortBy):cu.sortBy,a=W(W(W({},cu),t),{},{sortBy:i,prefix:e||``});return await Ql(r.fetch,`${r.url}/object/list/${r.bucketId}`,a,{headers:r.headers},n)})}async listV2(e,t){var n=this;return n.handleOperation(async()=>{let r=W({},e);return await Ql(n.fetch,`${n.url}/object/list-v2/${n.bucketId}`,r,{headers:n.headers},t)})}encodeMetadata(e){return JSON.stringify(e)}toBase64(e){return typeof Buffer<`u`?Buffer.from(e).toString(`base64`):btoa(e)}_getFinalPath(e){return`${this.bucketId}/${e.replace(/^\/+/,``)}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,``).replace(/\/+/g,`/`)}applyTransformOptsToQuery(e,t){return t.width&&e.set(`width`,t.width.toString()),t.height&&e.set(`height`,t.height.toString()),t.resize&&e.set(`resize`,t.resize),t.format&&e.set(`format`,t.format),t.quality&&e.set(`quality`,t.quality.toString()),e}},du={"X-Client-Info":`storage-js/2.112.4`},fu=class extends ru{constructor(e,t={},n,r){let i=new URL(e);r?.useNewHostname&&/supabase\.(co|in|red)$/.test(i.hostname)&&!i.hostname.includes(`storage.supabase.`)&&(i.hostname=i.hostname.replace(`supabase.`,`storage.supabase.`));let a=i.href.replace(/\/$/,``),o=W(W({},du),t);super(a,o,n,`storage`)}async listBuckets(e){var t=this;return t.handleOperation(async()=>{let n=t.listBucketOptionsToQueryString(e);return await Zl(t.fetch,`${t.url}/bucket${n}`,{headers:t.headers})})}async getBucket(e){var t=this;return t.handleOperation(async()=>await Zl(t.fetch,`${t.url}/bucket/${e}`,{headers:t.headers}))}async createBucket(e,t={public:!1}){var n=this;return n.handleOperation(async()=>await Ql(n.fetch,`${n.url}/bucket`,{id:e,name:e,type:t.type,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:n.headers}))}async updateBucket(e,t){var n=this;return n.handleOperation(async()=>await $l(n.fetch,`${n.url}/bucket/${e}`,{id:e,name:e,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:n.headers}))}async emptyBucket(e){var t=this;return t.handleOperation(async()=>await Ql(t.fetch,`${t.url}/bucket/${e}/empty`,{},{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await tu(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}async purgeBucketCache(e,t,n){var r=this;return r.handleOperation(async()=>{let i=new URLSearchParams;t?.transformations&&i.set(`transformations`,`true`);let a=i.toString();return await tu(r.fetch,`${r.url}/cdn/${Gl(e)}${a?`?${a}`:``}`,{},{headers:r.headers},n)})}listBucketOptionsToQueryString(e){let t={};return e&&(`limit`in e&&(t.limit=String(e.limit)),`offset`in e&&(t.offset=String(e.offset)),e.search&&(t.search=e.search),e.sortColumn&&(t.sortColumn=e.sortColumn),e.sortOrder&&(t.sortOrder=e.sortOrder)),Object.keys(t).length>0?`?`+new URLSearchParams(t).toString():``}},pu=class extends ru{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=W(W({},du),t);super(r,i,n,`storage`)}async createBucket(e){var t=this;return t.handleOperation(async()=>await Ql(t.fetch,`${t.url}/bucket`,{name:e},{headers:t.headers}))}async listBuckets(e){var t=this;return t.handleOperation(async()=>{let n=new URLSearchParams;e?.limit!==void 0&&n.set(`limit`,e.limit.toString()),e?.offset!==void 0&&n.set(`offset`,e.offset.toString()),e?.sortColumn&&n.set(`sortColumn`,e.sortColumn),e?.sortOrder&&n.set(`sortOrder`,e.sortOrder),e?.search&&n.set(`search`,e.search);let r=n.toString(),i=r?`${t.url}/bucket?${r}`:`${t.url}/bucket`;return await Zl(t.fetch,i,{headers:t.headers})})}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await tu(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}from(e){var t=this;if(!Wl(e))throw new Fl(`Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.`);let n=new kl({baseUrl:this.url,catalogName:e,auth:{type:`custom`,getHeaders:async()=>t.headers},fetch:this.fetch}),r=this.shouldThrowOnError;return new Proxy(n,{get(e,t){let n=e[t];return typeof n==`function`?async(...t)=>{try{return{data:await n.apply(e,t),error:null}}catch(e){if(r)throw e;return{data:null,error:e}}}:n}})}},mu=class extends ru{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=W(W({},du),{},{"Content-Type":`application/json`},t);super(r,i,n,`vectors`)}async createIndex(e){var t=this;return t.handleOperation(async()=>await nu.post(t.fetch,`${t.url}/CreateIndex`,e,{headers:t.headers})||{})}async getIndex(e,t){var n=this;return n.handleOperation(async()=>await nu.post(n.fetch,`${n.url}/GetIndex`,{vectorBucketName:e,indexName:t},{headers:n.headers}))}async listIndexes(e){var t=this;return t.handleOperation(async()=>await nu.post(t.fetch,`${t.url}/ListIndexes`,e,{headers:t.headers}))}async deleteIndex(e,t){var n=this;return n.handleOperation(async()=>await nu.post(n.fetch,`${n.url}/DeleteIndex`,{vectorBucketName:e,indexName:t},{headers:n.headers})||{})}},hu=class extends ru{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=W(W({},du),{},{"Content-Type":`application/json`},t);super(r,i,n,`vectors`)}async putVectors(e){var t=this;if(e.vectors.length<1||e.vectors.length>500)throw Error(`Vector batch size must be between 1 and 500 items`);return t.handleOperation(async()=>await nu.post(t.fetch,`${t.url}/PutVectors`,e,{headers:t.headers})||{})}async getVectors(e){var t=this;return t.handleOperation(async()=>await nu.post(t.fetch,`${t.url}/GetVectors`,e,{headers:t.headers}))}async listVectors(e){var t=this;if(e.segmentCount!==void 0){if(e.segmentCount<1||e.segmentCount>16)throw Error(`segmentCount must be between 1 and 16`);if(e.segmentIndex!==void 0&&(e.segmentIndex<0||e.segmentIndex>=e.segmentCount))throw Error(`segmentIndex must be between 0 and ${e.segmentCount-1}`)}return t.handleOperation(async()=>await nu.post(t.fetch,`${t.url}/ListVectors`,e,{headers:t.headers}))}async queryVectors(e){var t=this;return t.handleOperation(async()=>await nu.post(t.fetch,`${t.url}/QueryVectors`,e,{headers:t.headers}))}async deleteVectors(e){var t=this;if(e.keys.length<1||e.keys.length>500)throw Error(`Keys batch size must be between 1 and 500 items`);return t.handleOperation(async()=>await nu.post(t.fetch,`${t.url}/DeleteVectors`,e,{headers:t.headers})||{})}},gu=class extends ru{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=W(W({},du),{},{"Content-Type":`application/json`},t);super(r,i,n,`vectors`)}async createBucket(e){var t=this;return t.handleOperation(async()=>await nu.post(t.fetch,`${t.url}/CreateVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}async getBucket(e){var t=this;return t.handleOperation(async()=>await nu.post(t.fetch,`${t.url}/GetVectorBucket`,{vectorBucketName:e},{headers:t.headers}))}async listBuckets(e={}){var t=this;return t.handleOperation(async()=>await nu.post(t.fetch,`${t.url}/ListVectorBuckets`,e,{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await nu.post(t.fetch,`${t.url}/DeleteVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}},_u=class extends gu{constructor(e,t={}){super(e,t.headers||{},t.fetch)}from(e){return new vu(this.url,this.headers,e,this.fetch)}async createBucket(e){var t=()=>super.createBucket,n=this;return t().call(n,e)}async getBucket(e){var t=()=>super.getBucket,n=this;return t().call(n,e)}async listBuckets(e={}){var t=()=>super.listBuckets,n=this;return t().call(n,e)}async deleteBucket(e){var t=()=>super.deleteBucket,n=this;return t().call(n,e)}},vu=class extends mu{constructor(e,t,n,r){super(e,t,r),this.vectorBucketName=n}async createIndex(e){var t=()=>super.createIndex,n=this;return t().call(n,W(W({},e),{},{vectorBucketName:n.vectorBucketName}))}async listIndexes(e={}){var t=()=>super.listIndexes,n=this;return t().call(n,W(W({},e),{},{vectorBucketName:n.vectorBucketName}))}async getIndex(e){var t=()=>super.getIndex,n=this;return t().call(n,n.vectorBucketName,e)}async deleteIndex(e){var t=()=>super.deleteIndex,n=this;return t().call(n,n.vectorBucketName,e)}index(e){return new yu(this.url,this.headers,this.vectorBucketName,e,this.fetch)}},yu=class extends hu{constructor(e,t,n,r,i){super(e,t,i),this.vectorBucketName=n,this.indexName=r}async putVectors(e){var t=()=>super.putVectors,n=this;return t().call(n,W(W({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async getVectors(e){var t=()=>super.getVectors,n=this;return t().call(n,W(W({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async listVectors(e={}){var t=()=>super.listVectors,n=this;return t().call(n,W(W({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async queryVectors(e){var t=()=>super.queryVectors,n=this;return t().call(n,W(W({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async deleteVectors(e){var t=()=>super.deleteVectors,n=this;return t().call(n,W(W({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}},bu=class extends fu{constructor(e,t={},n,r){super(e,t,n,r)}from(e){return new uu(this.url,this.headers,e,this.fetch)}get vectors(){return new _u(this.url+`/vector`,{headers:this.headers,fetch:this.fetch})}get analytics(){return new pu(this.url+`/iceberg`,this.headers,this.fetch)}},xu={"X-Client-Info":`supabase-js/2.30.0`},Su=s(((e,t)=>{var n=typeof globalThis<`u`&&globalThis||typeof self<`u`&&self||typeof global<`u`&&global,r=(function(){function e(){this.fetch=!1,this.DOMException=n.DOMException}return e.prototype=n,new e})();(function(e){(function(t){var n=e!==void 0&&e||typeof self<`u`&&self||typeof global<`u`&&global||{},r={searchParams:`URLSearchParams`in n,iterable:`Symbol`in n&&`iterator`in Symbol,blob:`FileReader`in n&&`Blob`in n&&(function(){try{return new Blob,!0}catch{return!1}})(),formData:`FormData`in n,arrayBuffer:`ArrayBuffer`in n};function i(e){return e&&DataView.prototype.isPrototypeOf(e)}if(r.arrayBuffer)var a=[`[object Int8Array]`,`[object Uint8Array]`,`[object Uint8ClampedArray]`,`[object Int16Array]`,`[object Uint16Array]`,`[object Int32Array]`,`[object Uint32Array]`,`[object Float32Array]`,`[object Float64Array]`],o=ArrayBuffer.isView||function(e){return e&&a.indexOf(Object.prototype.toString.call(e))>-1};function s(e){if(typeof e!=`string`&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||e===``)throw TypeError(`Invalid character in header field name: "`+e+`"`);return e.toLowerCase()}function c(e){return typeof e!=`string`&&(e=String(e)),e}function l(e){var t={next:function(){var t=e.shift();return{done:t===void 0,value:t}}};return r.iterable&&(t[Symbol.iterator]=function(){return t}),t}function u(e){this.map={},e instanceof u?e.forEach(function(e,t){this.append(t,e)},this):Array.isArray(e)?e.forEach(function(e){if(e.length!=2)throw TypeError(`Headers constructor: expected name/value pair to be length 2, found`+e.length);this.append(e[0],e[1])},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}u.prototype.append=function(e,t){e=s(e),t=c(t);var n=this.map[e];this.map[e]=n?n+`, `+t:t},u.prototype.delete=function(e){delete this.map[s(e)]},u.prototype.get=function(e){return e=s(e),this.has(e)?this.map[e]:null},u.prototype.has=function(e){return this.map.hasOwnProperty(s(e))},u.prototype.set=function(e,t){this.map[s(e)]=c(t)},u.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)},u.prototype.keys=function(){var e=[];return this.forEach(function(t,n){e.push(n)}),l(e)},u.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),l(e)},u.prototype.entries=function(){var e=[];return this.forEach(function(t,n){e.push([n,t])}),l(e)},r.iterable&&(u.prototype[Symbol.iterator]=u.prototype.entries);function d(e){if(!e._noBody){if(e.bodyUsed)return Promise.reject(TypeError(`Already read`));e.bodyUsed=!0}}function f(e){return new Promise(function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}})}function p(e){var t=new FileReader,n=f(t);return t.readAsArrayBuffer(e),n}function m(e){var t=new FileReader,n=f(t),r=/charset=([A-Za-z0-9_-]+)/.exec(e.type),i=r?r[1]:`utf-8`;return t.readAsText(e,i),n}function h(e){for(var t=new Uint8Array(e),n=Array(t.length),r=0;r<t.length;r++)n[r]=String.fromCharCode(t[r]);return n.join(``)}function g(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function _(){return this.bodyUsed=!1,this._initBody=function(e){this.bodyUsed=this.bodyUsed,this._bodyInit=e,e?typeof e==`string`?this._bodyText=e:r.blob&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:r.formData&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:r.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():r.arrayBuffer&&r.blob&&i(e)?(this._bodyArrayBuffer=g(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):r.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(e)||o(e))?this._bodyArrayBuffer=g(e):this._bodyText=e=Object.prototype.toString.call(e):(this._noBody=!0,this._bodyText=``),this.headers.get(`content-type`)||(typeof e==`string`?this.headers.set(`content-type`,`text/plain;charset=UTF-8`):this._bodyBlob&&this._bodyBlob.type?this.headers.set(`content-type`,this._bodyBlob.type):r.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set(`content-type`,`application/x-www-form-urlencoded;charset=UTF-8`))},r.blob&&(this.blob=function(){var e=d(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw Error(`could not read FormData body as blob`);return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer)return d(this)||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer));if(r.blob)return this.blob().then(p);throw Error(`could not read as ArrayBuffer`)},this.text=function(){var e=d(this);if(e)return e;if(this._bodyBlob)return m(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(h(this._bodyArrayBuffer));if(this._bodyFormData)throw Error(`could not read FormData body as text`);return Promise.resolve(this._bodyText)},r.formData&&(this.formData=function(){return this.text().then(x)}),this.json=function(){return this.text().then(JSON.parse)},this}var v=[`CONNECT`,`DELETE`,`GET`,`HEAD`,`OPTIONS`,`PATCH`,`POST`,`PUT`,`TRACE`];function y(e){var t=e.toUpperCase();return v.indexOf(t)>-1?t:e}function b(e,t){if(!(this instanceof b))throw TypeError(`Please use the "new" operator, this DOM object constructor cannot be called as a function.`);t||={};var r=t.body;if(e instanceof b){if(e.bodyUsed)throw TypeError(`Already read`);this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new u(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,!r&&e._bodyInit!=null&&(r=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||`same-origin`,(t.headers||!this.headers)&&(this.headers=new u(t.headers)),this.method=y(t.method||this.method||`GET`),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal||function(){if(`AbortController`in n)return new AbortController().signal}(),this.referrer=null,(this.method===`GET`||this.method===`HEAD`)&&r)throw TypeError(`Body not allowed for GET or HEAD requests`);if(this._initBody(r),(this.method===`GET`||this.method===`HEAD`)&&(t.cache===`no-store`||t.cache===`no-cache`)){var i=/([?&])_=[^&]*/;if(i.test(this.url))this.url=this.url.replace(i,`$1_=`+new Date().getTime());else{var a=/\?/;this.url+=(a.test(this.url)?`&`:`?`)+`_=`+new Date().getTime()}}}b.prototype.clone=function(){return new b(this,{body:this._bodyInit})};function x(e){var t=new FormData;return e.trim().split(`&`).forEach(function(e){if(e){var n=e.split(`=`),r=n.shift().replace(/\+/g,` `),i=n.join(`=`).replace(/\+/g,` `);t.append(decodeURIComponent(r),decodeURIComponent(i))}}),t}function S(e){var t=new u;return e.replace(/\r?\n[\t ]+/g,` `).split(`\r`).map(function(e){return e.indexOf(`
`)===0?e.substr(1,e.length):e}).forEach(function(e){var n=e.split(`:`),r=n.shift().trim();if(r){var i=n.join(`:`).trim();try{t.append(r,i)}catch(e){console.warn(`Response `+e.message)}}}),t}_.call(b.prototype);function C(e,t){if(!(this instanceof C))throw TypeError(`Please use the "new" operator, this DOM object constructor cannot be called as a function.`);if(t||={},this.type=`default`,this.status=t.status===void 0?200:t.status,this.status<200||this.status>599)throw RangeError(`Failed to construct 'Response': The status provided (0) is outside the range [200, 599].`);this.ok=this.status>=200&&this.status<300,this.statusText=t.statusText===void 0?``:``+t.statusText,this.headers=new u(t.headers),this.url=t.url||``,this._initBody(e)}_.call(C.prototype),C.prototype.clone=function(){return new C(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new u(this.headers),url:this.url})},C.error=function(){var e=new C(null,{status:200,statusText:``});return e.ok=!1,e.status=0,e.type=`error`,e};var w=[301,302,303,307,308];C.redirect=function(e,t){if(w.indexOf(t)===-1)throw RangeError(`Invalid status code`);return new C(null,{status:t,headers:{location:e}})},t.DOMException=n.DOMException;try{new t.DOMException}catch{t.DOMException=function(e,t){this.message=e,this.name=t;var n=Error(e);this.stack=n.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function T(e,i){return new Promise(function(a,o){var l=new b(e,i);if(l.signal&&l.signal.aborted)return o(new t.DOMException(`Aborted`,`AbortError`));var d=new XMLHttpRequest;function f(){d.abort()}d.onload=function(){var e={statusText:d.statusText,headers:S(d.getAllResponseHeaders()||``)};e.status=l.url.indexOf(`file://`)===0&&(d.status<200||d.status>599)?200:d.status,e.url=`responseURL`in d?d.responseURL:e.headers.get(`X-Request-URL`);var t=`response`in d?d.response:d.responseText;setTimeout(function(){a(new C(t,e))},0)},d.onerror=function(){setTimeout(function(){o(TypeError(`Network request failed`))},0)},d.ontimeout=function(){setTimeout(function(){o(TypeError(`Network request timed out`))},0)},d.onabort=function(){setTimeout(function(){o(new t.DOMException(`Aborted`,`AbortError`))},0)};function p(e){try{return e===``&&n.location.href?n.location.href:e}catch{return e}}if(d.open(l.method,p(l.url),!0),l.credentials===`include`?d.withCredentials=!0:l.credentials===`omit`&&(d.withCredentials=!1),`responseType`in d&&(r.blob?d.responseType=`blob`:r.arrayBuffer&&(d.responseType=`arraybuffer`)),i&&typeof i.headers==`object`&&!(i.headers instanceof u||n.Headers&&i.headers instanceof n.Headers)){var m=[];Object.getOwnPropertyNames(i.headers).forEach(function(e){m.push(s(e)),d.setRequestHeader(e,c(i.headers[e]))}),l.headers.forEach(function(e,t){m.indexOf(t)===-1&&d.setRequestHeader(t,e)})}else l.headers.forEach(function(e,t){d.setRequestHeader(t,e)});l.signal&&(l.signal.addEventListener(`abort`,f),d.onreadystatechange=function(){d.readyState===4&&l.signal.removeEventListener(`abort`,f)}),d.send(l._bodyInit===void 0?null:l._bodyInit)})}return T.polyfill=!0,n.fetch||(n.fetch=T,n.Headers=u,n.Request=b,n.Response=C),t.Headers=u,t.Request=b,t.Response=C,t.fetch=T,Object.defineProperty(t,"__esModule",{value:!0}),t})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=n.fetch?n:r;e=i.fetch,e.default=i.fetch,e.fetch=i.fetch,e.Headers=i.Headers,e.Request=i.Request,e.Response=i.Response,t.exports=e})),Cu=u(Su()),wu=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},Tu=e=>{let t;return t=e||(typeof fetch>`u`?Cu.default:fetch),(...e)=>t(...e)},Eu=()=>typeof Headers>`u`?Cu.Headers:Headers,Du=(e,t,n)=>{let r=Tu(n),i=Eu();return(n,a)=>wu(void 0,void 0,void 0,function*(){let o=(yield t())??e,s=new i(a?.headers);return s.has(`apikey`)||s.set(`apikey`,e),s.has(`Authorization`)||s.set(`Authorization`,`Bearer ${o}`),r(n,Object.assign(Object.assign({},a),{headers:s}))})};function Ou(e){return e.replace(/\/$/,``)}function ku(e,t){let{db:n,auth:r,realtime:i,global:a}=e,{db:o,auth:s,realtime:c,global:l}=t;return{db:Object.assign(Object.assign({},o),n),auth:Object.assign(Object.assign({},s),r),realtime:Object.assign(Object.assign({},c),i),global:Object.assign(Object.assign({},l),a)}}var Au=`modulepreload`,ju=function(e){return`/`+e},Mu={},Nu=function(e){return e.pathname.endsWith(`.css`)},Pu=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},Fu=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,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?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=ju(t,n);let r=s(t),i=Nu(r);return Pu(Mu,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:Au,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).filter(e=>e!==void 0))}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)})};function eee(e){return Math.round(Date.now()/1e3)+e}function tee(){return`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,function(e){let t=Math.random()*16|0;return(e==`x`?t:t&3|8).toString(16)})}var Iu=()=>typeof document<`u`,Lu={tested:!1,writable:!1},Ru=()=>{if(!Iu())return!1;try{if(typeof globalThis.localStorage!=`object`)return!1}catch{return!1}if(Lu.tested)return Lu.writable;let e=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(e,e),globalThis.localStorage.removeItem(e),Lu.tested=!0,Lu.writable=!0}catch{Lu.tested=!0,Lu.writable=!1}return Lu.writable};function zu(e,t){t||=(window==null?void 0:window.location)?.href||``,e=e.replace(/[\[\]]/g,`\\$&`);let n=RegExp(`[?&#]`+e+`(=([^&#]*)|&|#|$)`).exec(t);return n?n[2]?decodeURIComponent(n[2].replace(/\+/g,` `)):``:null}var Bu=e=>{let t;return t=e||(typeof fetch>`u`?async(...e)=>await(await Fu(async()=>{let{fetch:e}=await Promise.resolve().then(()=>u(Su()));return{fetch:e}},[])).fetch(...e):fetch),(...e)=>t(...e)},Vu=e=>typeof e==`object`&&!!e&&`status`in e&&`ok`in e&&`json`in e&&typeof e.json==`function`,Hu=async(e,t,n)=>{await e.setItem(t,JSON.stringify(n))},Uu=async(e,t)=>{let n=await e.getItem(t);if(!n)return null;try{return JSON.parse(n)}catch{return n}},Wu=async(e,t)=>{await e.removeItem(t)};function nee(e){let t=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`,n=``,r,i,a,o,s,c,l,u=0;for(e=e.replace(`-`,`+`).replace(`_`,`/`);u<e.length;)o=t.indexOf(e.charAt(u++)),s=t.indexOf(e.charAt(u++)),c=t.indexOf(e.charAt(u++)),l=t.indexOf(e.charAt(u++)),r=o<<2|s>>4,i=(s&15)<<4|c>>2,a=(c&3)<<6|l,n+=String.fromCharCode(r),c!=64&&i!=0&&(n+=String.fromCharCode(i)),l!=64&&a!=0&&(n+=String.fromCharCode(a));return n}var Gu=class e{constructor(){this.promise=new e.promiseConstructor((e,t)=>{this.resolve=e,this.reject=t})}};Gu.promiseConstructor=Promise;function Ku(e){let t=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}=?$|[a-z0-9_-]{2}(==)?$)$/i,n=e.split(`.`);if(n.length!==3)throw Error(`JWT is not valid: not a JWT structure`);if(!t.test(n[1]))throw Error(`JWT is not valid: payload is not in base64url format`);let r=n[1];return JSON.parse(nee(r))}function ree(e){return new Promise(t=>{setTimeout(()=>t(null),e)})}function qu(e,t){return new Promise((n,r)=>{(async()=>{for(let i=0;i<1/0;i++)try{let r=await e(i);if(!t(i,null,r)){n(r);return}}catch(e){if(!t(i,e)){r(e);return}}})()})}function Ju(e){return(`0`+e.toString(16)).substr(-2)}function Yu(){let e=new Uint32Array(56);if(typeof crypto>`u`){let e=``;for(let t=0;t<56;t++)e+=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~`.charAt(Math.floor(Math.random()*66));return e}return crypto.getRandomValues(e),Array.from(e,Ju).join(``)}async function Xu(e){let t=new TextEncoder().encode(e),n=await crypto.subtle.digest(`SHA-256`,t),r=new Uint8Array(n);return Array.from(r).map(e=>String.fromCharCode(e)).join(``)}function Zu(e){return btoa(e).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}async function Qu(e){return typeof crypto>`u`?(console.warn(`WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256.`),e):Zu(await Xu(e))}var $u=`__stack_guard__`,ed=`__`,td=/__stack_guard__([a-zA-Z0-9_-]+)__/,nd=!1,rd;function id(e){rd();let t;try{throw Error()}catch(e){t=e}let n=t.stack?.split(`
`)??[];for(let t=0;t<n.length;t+=1){let r=n[t].match(td);if(r&&r[1]===e)return!0}return!1}async function ad(e,t){await rd();let n=`${$u}${e}${ed}`;return await{[n]:async()=>await t()}[n]()}rd=async()=>{nd||(nd=!0,await ad(`ENV_CHECK`,async()=>{let e=id(`ENV_CHECK`);return e||console.warn(`@supabase/gotrue-js: Stack guards not supported in this environment. Generally not an issue but may point to a very conservative transpilation environment (use ES2017 or above) that implements async/await with generators, or this is a JavaScript engine that does not support async/await stack traces.`),e}))};var od=class extends Error{constructor(e,t){super(e),this.__isAuthError=!0,this.name=`AuthError`,this.status=t}};function sd(e){return typeof e==`object`&&!!e&&`__isAuthError`in e}var cd=class extends od{constructor(e,t){super(e,t),this.name=`AuthApiError`,this.status=t}toJSON(){return{name:this.name,message:this.message,status:this.status}}};function ld(e){return sd(e)&&e.name===`AuthApiError`}var ud=class extends od{constructor(e,t){super(e),this.name=`AuthUnknownError`,this.originalError=t}},dd=class extends od{constructor(e,t,n){super(e),this.name=t,this.status=n}toJSON(){return{name:this.name,message:this.message,status:this.status}}},fd=class extends dd{constructor(){super(`Auth session missing!`,`AuthSessionMissingError`,400)}},pd=class extends dd{constructor(){super(`Auth session or user missing`,`AuthInvalidTokenResponseError`,500)}},md=class extends dd{constructor(e){super(e,`AuthInvalidCredentialsError`,400)}},hd=class extends dd{constructor(e,t=null){super(e,`AuthImplicitGrantRedirectError`,500),this.details=null,this.details=t}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}},gd=class extends dd{constructor(e,t=null){super(e,`AuthPKCEGrantCodeExchangeError`,500),this.details=null,this.details=t}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}},_d=class extends dd{constructor(e,t){super(e,`AuthRetryableFetchError`,t)}};function vd(e){return sd(e)&&e.name===`AuthRetryableFetchError`}var yd=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},bd=e=>e.msg||e.message||e.error_description||e.error||JSON.stringify(e),xd=[502,503,504];async function Sd(e){if(!Vu(e))throw new _d(bd(e),0);if(xd.includes(e.status))throw new _d(bd(e),e.status);let t;try{t=await e.json()}catch(e){throw new ud(bd(e),e)}throw new cd(bd(t),e.status||500)}var iee=(e,t,n,r)=>{let i={method:e,headers:t?.headers||{}};return e===`GET`?i:(i.headers=Object.assign({"Content-Type":`application/json;charset=UTF-8`},t?.headers),i.body=JSON.stringify(r),Object.assign(Object.assign({},i),n))};async function Cd(e,t,n,r){let i=Object.assign({},r?.headers);r?.jwt&&(i.Authorization=`Bearer ${r.jwt}`);let a=r?.query??{};r?.redirectTo&&(a.redirect_to=r.redirectTo);let o=await aee(e,t,n+(Object.keys(a).length?`?`+new URLSearchParams(a).toString():``),{headers:i,noResolveJson:r?.noResolveJson},{},r?.body);return r?.xform?r?.xform(o):{data:Object.assign({},o),error:null}}async function aee(e,t,n,r,i,a){let o=iee(t,r,i,a),s;try{s=await e(n,o)}catch(e){throw console.error(e),new _d(bd(e),0)}if(s.ok||await Sd(s),r?.noResolveJson)return s;try{return await s.json()}catch(e){await Sd(e)}}function wd(e){let t=null;lee(e)&&(t=Object.assign({},e),t.expires_at=eee(e.expires_in));let n=e.user??e;return{data:{session:t,user:n},error:null}}function Td(e){return{data:{user:e.user??e},error:null}}function oee(e){return{data:e,error:null}}function see(e){let{action_link:t,email_otp:n,hashed_token:r,redirect_to:i,verification_type:a}=e,o=yd(e,[`action_link`,`email_otp`,`hashed_token`,`redirect_to`,`verification_type`]);return{data:{properties:{action_link:t,email_otp:n,hashed_token:r,redirect_to:i,verification_type:a},user:Object.assign({},o)},error:null}}function cee(e){return e}function lee(e){return e.access_token&&e.refresh_token&&e.expires_in}var uee=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},dee=class{constructor({url:e=``,headers:t={},fetch:n}){this.url=e,this.headers=t,this.fetch=Bu(n),this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)}}async signOut(e,t=`global`){try{return await Cd(this.fetch,`POST`,`${this.url}/logout?scope=${t}`,{headers:this.headers,jwt:e,noResolveJson:!0}),{data:null,error:null}}catch(e){if(sd(e))return{data:null,error:e};throw e}}async inviteUserByEmail(e,t={}){try{return await Cd(this.fetch,`POST`,`${this.url}/invite`,{body:{email:e,data:t.data},headers:this.headers,redirectTo:t.redirectTo,xform:Td})}catch(e){if(sd(e))return{data:{user:null},error:e};throw e}}async generateLink(e){try{let{options:t}=e,n=uee(e,[`options`]),r=Object.assign(Object.assign({},n),t);return`newEmail`in n&&(r.new_email=n?.newEmail,delete r.newEmail),await Cd(this.fetch,`POST`,`${this.url}/admin/generate_link`,{body:r,headers:this.headers,xform:see,redirectTo:t?.redirectTo})}catch(e){if(sd(e))return{data:{properties:null,user:null},error:e};throw e}}async createUser(e){try{return await Cd(this.fetch,`POST`,`${this.url}/admin/users`,{body:e,headers:this.headers,xform:Td})}catch(e){if(sd(e))return{data:{user:null},error:e};throw e}}async listUsers(e){try{let t={nextPage:null,lastPage:0,total:0},n=await Cd(this.fetch,`GET`,`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(e?.page)?.toString()??``,per_page:(e?.perPage)?.toString()??``},xform:cee});if(n.error)throw n.error;let r=await n.json(),i=n.headers.get(`x-total-count`)??0,a=n.headers.get(`link`)?.split(`,`)??[];return a.length>0&&(a.forEach(e=>{let n=parseInt(e.split(`;`)[0].split(`=`)[1].substring(0,1)),r=JSON.parse(e.split(`;`)[1].split(`=`)[1]);t[`${r}Page`]=n}),t.total=parseInt(i)),{data:Object.assign(Object.assign({},r),t),error:null}}catch(e){if(sd(e))return{data:{users:[]},error:e};throw e}}async getUserById(e){try{return await Cd(this.fetch,`GET`,`${this.url}/admin/users/${e}`,{headers:this.headers,xform:Td})}catch(e){if(sd(e))return{data:{user:null},error:e};throw e}}async updateUserById(e,t){try{return await Cd(this.fetch,`PUT`,`${this.url}/admin/users/${e}`,{body:t,headers:this.headers,xform:Td})}catch(e){if(sd(e))return{data:{user:null},error:e};throw e}}async deleteUser(e,t=!1){try{return await Cd(this.fetch,`DELETE`,`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:t},xform:Td})}catch(e){if(sd(e))return{data:{user:null},error:e};throw e}}async _listFactors(e){try{let{data:t,error:n}=await Cd(this.fetch,`GET`,`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:e=>({data:{factors:e},error:null})});return{data:t,error:n}}catch(e){if(sd(e))return{data:null,error:e};throw e}}async _deleteFactor(e){try{return{data:await Cd(this.fetch,`DELETE`,`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(e){if(sd(e))return{data:null,error:e};throw e}}},fee=`2.43.1`,pee=`http://localhost:9999`,mee=`supabase.auth.token`,hee={"X-Client-Info":`gotrue-js/${fee}`},Ed={getItem:e=>Ru()?globalThis.localStorage.getItem(e):null,setItem:(e,t)=>{Ru()&&globalThis.localStorage.setItem(e,t)},removeItem:e=>{Ru()&&globalThis.localStorage.removeItem(e)}};function gee(){if(typeof globalThis!=`object`)try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<`u`&&(self.globalThis=self)}}gee();var Dd={url:pee,storageKey:mee,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:hee,flowType:`implicit`,debug:!1},Od=3e4,kd=3,Ad=class e{constructor(t){var n;this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.broadcastChannel=null,this.instanceID=e.nextInstanceID,e.nextInstanceID+=1,this.instanceID>0&&Iu()&&console.warn(`Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.`);let r=Object.assign(Object.assign({},Dd),t);if(this.logDebugMessages=r.debug,this.inMemorySession=null,this.storageKey=r.storageKey,this.autoRefreshToken=r.autoRefreshToken,this.persistSession=r.persistSession,this.storage=r.storage||Ed,this.admin=new dee({url:r.url,headers:r.headers,fetch:r.fetch}),this.url=r.url,this.headers=r.headers,this.fetch=Bu(r.fetch),this.detectSessionInUrl=r.detectSessionInUrl,this.flowType=r.flowType,this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this)},this.persistSession&&this.storage===Ed&&!Ru()&&console.warn(`No storage option exists to persist the session, which may result in unexpected behavior when using auth.
        If you want to set persistSession to true, please provide a storage option or you may set persistSession to false to disable this warning.`),Iu()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(e){console.error(`Failed to create a new BroadcastChannel, multi-tab state changes will not be available`,e)}(n=this.broadcastChannel)==null||n.addEventListener(`message`,async e=>{this._debug(`received broadcast notification from other tab or client`,e),await this._notifyAllSubscribers(e.data.event,e.data.session,!1)})}this.initialize()}_debug(...e){return this.logDebugMessages&&console.log(`GoTrueClient@${this.instanceID} ${new Date().toISOString()}`,...e),this}initialize(){return this.initializePromise?this.initializePromise:this._initialize()}async _initialize(){if(this.initializePromise)throw Error(`Double call of #_initialize()`);return this.initializePromise=ad(`_initialize`,async()=>{try{let e=Iu()?await this._isPKCEFlow():!1;if(this._debug(`#_initialize()`,`begin`,`is PKCE flow`,e),e||this.detectSessionInUrl&&this._isImplicitGrantFlow()){let{data:t,error:n}=await this._getSessionFromUrl(e);if(n)return this._debug(`#_initialize()`,`error detecting session from URL`,n),await this._removeSession(),{error:n};let{session:r,redirectType:i}=t;return this._debug(`#_initialize()`,`detected session in URL`,r,`redirect type`,i),await this._saveSession(r),setTimeout(async()=>{i===`recovery`?await this._notifyAllSubscribers(`PASSWORD_RECOVERY`,r):await this._notifyAllSubscribers(`SIGNED_IN`,r)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(e){return sd(e)?{error:e}:{error:new ud(`Unexpected error during initialization`,e)}}finally{await this._handleVisibilityChange(),this._debug(`#_initialize()`,`end`)}}),await this.initializePromise}async signUp(e){try{await this._removeSession();let t;if(`email`in e){let{email:n,password:r,options:i}=e,a=null,o=null;if(this.flowType===`pkce`){let e=Yu();await Hu(this.storage,`${this.storageKey}-code-verifier`,e),a=await Qu(e),o=e===a?`plain`:`s256`}t=await Cd(this.fetch,`POST`,`${this.url}/signup`,{headers:this.headers,redirectTo:i?.emailRedirectTo,body:{email:n,password:r,data:i?.data??{},gotrue_meta_security:{captcha_token:i?.captchaToken},code_challenge:a,code_challenge_method:o},xform:wd})}else if(`phone`in e){let{phone:n,password:r,options:i}=e;t=await Cd(this.fetch,`POST`,`${this.url}/signup`,{headers:this.headers,body:{phone:n,password:r,data:i?.data??{},channel:i?.channel??`sms`,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:wd})}else throw new md(`You must provide either an email or phone number and a password`);let{data:n,error:r}=t;if(r||!n)return{data:{user:null,session:null},error:r};let i=n.session,a=n.user;return n.session&&(await this._saveSession(n.session),await this._notifyAllSubscribers(`SIGNED_IN`,i)),{data:{user:a,session:i},error:null}}catch(e){if(sd(e))return{data:{user:null,session:null},error:e};throw e}}async signInWithPassword(e){try{await this._removeSession();let t;if(`email`in e){let{email:n,password:r,options:i}=e;t=await Cd(this.fetch,`POST`,`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:n,password:r,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:wd})}else if(`phone`in e){let{phone:n,password:r,options:i}=e;t=await Cd(this.fetch,`POST`,`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:n,password:r,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:wd})}else throw new md(`You must provide either an email or phone number and a password`);let{data:n,error:r}=t;return r?{data:{user:null,session:null},error:r}:!n||!n.session||!n.user?{data:{user:null,session:null},error:new pd}:(n.session&&(await this._saveSession(n.session),await this._notifyAllSubscribers(`SIGNED_IN`,n.session)),{data:{user:n.user,session:n.session},error:r})}catch(e){if(sd(e))return{data:{user:null,session:null},error:e};throw e}}async signInWithOAuth(e){return await this._removeSession(),await this._handleProviderSignIn(e.provider,{redirectTo:e.options?.redirectTo,scopes:e.options?.scopes,queryParams:e.options?.queryParams,skipBrowserRedirect:e.options?.skipBrowserRedirect})}async exchangeCodeForSession(e){let t=await Uu(this.storage,`${this.storageKey}-code-verifier`),{data:n,error:r}=await Cd(this.fetch,`POST`,`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:e,code_verifier:t},xform:wd});return await Wu(this.storage,`${this.storageKey}-code-verifier`),r?{data:{user:null,session:null},error:r}:!n||!n.session||!n.user?{data:{user:null,session:null},error:new pd}:(n.session&&(await this._saveSession(n.session),await this._notifyAllSubscribers(`SIGNED_IN`,n.session)),{data:n,error:r})}async signInWithIdToken(e){await this._removeSession();try{let{options:t,provider:n,token:r,access_token:i,nonce:a}=e,{data:o,error:s}=await Cd(this.fetch,`POST`,`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:n,id_token:r,access_token:i,nonce:a,gotrue_meta_security:{captcha_token:t?.captchaToken}},xform:wd});return s?{data:{user:null,session:null},error:s}:!o||!o.session||!o.user?{data:{user:null,session:null},error:new pd}:(o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers(`SIGNED_IN`,o.session)),{data:o,error:s})}catch(e){if(sd(e))return{data:{user:null,session:null},error:e};throw e}}async signInWithOtp(e){try{if(await this._removeSession(),`email`in e){let{email:t,options:n}=e,r=null,i=null;if(this.flowType===`pkce`){let e=Yu();await Hu(this.storage,`${this.storageKey}-code-verifier`,e),r=await Qu(e),i=e===r?`plain`:`s256`}let{error:a}=await Cd(this.fetch,`POST`,`${this.url}/otp`,{headers:this.headers,body:{email:t,data:n?.data??{},create_user:n?.shouldCreateUser??!0,gotrue_meta_security:{captcha_token:n?.captchaToken},code_challenge:r,code_challenge_method:i},redirectTo:n?.emailRedirectTo});return{data:{user:null,session:null},error:a}}if(`phone`in e){let{phone:t,options:n}=e,{data:r,error:i}=await Cd(this.fetch,`POST`,`${this.url}/otp`,{headers:this.headers,body:{phone:t,data:n?.data??{},create_user:n?.shouldCreateUser??!0,gotrue_meta_security:{captcha_token:n?.captchaToken},channel:n?.channel??`sms`}});return{data:{user:null,session:null,messageId:r?.message_id},error:i}}throw new md(`You must provide either an email or phone number.`)}catch(e){if(sd(e))return{data:{user:null,session:null},error:e};throw e}}async verifyOtp(e){try{e.type!==`email_change`&&e.type!==`phone_change`&&await this._removeSession();let{data:t,error:n}=await Cd(this.fetch,`POST`,`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:e.options?.captchaToken}}),redirectTo:e.options?.redirectTo,xform:wd});if(n)throw n;if(!t)throw Error(`An error occurred on token verification.`);let r=t.session,i=t.user;return r?.access_token&&(await this._saveSession(r),await this._notifyAllSubscribers(`SIGNED_IN`,r)),{data:{user:i,session:r},error:null}}catch(e){if(sd(e))return{data:{user:null,session:null},error:e};throw e}}async signInWithSSO(e){try{return await this._removeSession(),await Cd(this.fetch,`POST`,`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},`providerId`in e?{provider_id:e.providerId}:null),`domain`in e?{domain:e.domain}:null),{redirect_to:e.options?.redirectTo??void 0}),e?.options?.captchaToken?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0}),headers:this.headers,xform:oee})}catch(e){if(sd(e))return{data:null,error:e};throw e}}async reauthenticate(){try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;if(n)throw n;if(!t)throw new fd;let{error:r}=await Cd(this.fetch,`GET`,`${this.url}/reauthenticate`,{headers:this.headers,jwt:t.access_token});return{data:{user:null,session:null},error:r}})}catch(e){if(sd(e))return{data:{user:null,session:null},error:e};throw e}}async resend(e){try{e.type!=`email_change`&&e.type!=`phone_change`&&await this._removeSession();let t=`${this.url}/resend`;if(`email`in e){let{email:n,type:r,options:i}=e,{error:a}=await Cd(this.fetch,`POST`,t,{headers:this.headers,body:{email:n,type:r,gotrue_meta_security:{captcha_token:i?.captchaToken}},redirectTo:i?.emailRedirectTo});return{data:{user:null,session:null},error:a}}if(`phone`in e){let{phone:n,type:r,options:i}=e,{data:a,error:o}=await Cd(this.fetch,`POST`,t,{headers:this.headers,body:{phone:n,type:r,gotrue_meta_security:{captcha_token:i?.captchaToken}}});return{data:{user:null,session:null,messageId:a?.message_id},error:o}}throw new md(`You must provide either an email or phone number and a type`)}catch(e){if(sd(e))return{data:{user:null,session:null},error:e};throw e}}async getSession(){return this._useSession(async e=>e)}async _useSession(e){return await ad(`_useSession`,async()=>await e(await this.__loadSession()))}async __loadSession(){if(this._debug(`#__loadSession()`,`begin`),this.logDebugMessages&&!id(`_useSession`))throw Error(`Please use #_useSession()`);id(`_initialize`)||await this.initializePromise;try{let e=null;if(this.persistSession){let t=await Uu(this.storage,this.storageKey);this._debug(`#getSession()`,`session from storage`,t),t!==null&&(this._isValidSession(t)?e=t:(this._debug(`#getSession()`,`session from storage is not valid`),await this._removeSession()))}else e=this.inMemorySession,this._debug(`#getSession()`,`session from memory`,e);if(!e)return{data:{session:null},error:null};let t=e.expires_at?e.expires_at<=Date.now()/1e3:!1;if(this._debug(`#__loadSession()`,`session has${t?``:` not`} expired`,`expires_at`,e.expires_at),!t)return{data:{session:e},error:null};let{session:n,error:r}=await this._callRefreshToken(e.refresh_token);return r?{data:{session:null},error:r}:{data:{session:n},error:null}}finally{this._debug(`#__loadSession()`,`end`)}}async getUser(e){try{return await this._useSession(async t=>{if(!e){let{data:n,error:r}=t;if(r)throw r;e=n.session?.access_token??void 0}return await Cd(this.fetch,`GET`,`${this.url}/user`,{headers:this.headers,jwt:e,xform:Td})})}catch(e){if(sd(e))return{data:{user:null},error:e};throw e}}async updateUser(e,t={}){try{return await this._useSession(async n=>{let{data:r,error:i}=n;if(i)throw i;if(!r.session)throw new fd;let a=r.session,{data:o,error:s}=await Cd(this.fetch,`PUT`,`${this.url}/user`,{headers:this.headers,redirectTo:t?.emailRedirectTo,body:e,jwt:a.access_token,xform:Td});if(s)throw s;return a.user=o.user,await this._saveSession(a),await this._notifyAllSubscribers(`USER_UPDATED`,a),{data:{user:a.user},error:null}})}catch(e){if(sd(e))return{data:{user:null},error:e};throw e}}_decodeJWT(e){return Ku(e)}async setSession(e){try{if(!e.access_token||!e.refresh_token)throw new fd;let t=Date.now()/1e3,n=t,r=!0,i=null,a=Ku(e.access_token);if(a.exp&&(n=a.exp,r=n<=t),r){let{session:t,error:n}=await this._callRefreshToken(e.refresh_token);if(n)return{data:{user:null,session:null},error:n};if(!t)return{data:{user:null,session:null},error:null};i=t}else{let{data:r,error:a}=await this.getUser(e.access_token);if(a)throw a;i={access_token:e.access_token,refresh_token:e.refresh_token,user:r.user,token_type:`bearer`,expires_in:n-t,expires_at:n},await this._saveSession(i),await this._notifyAllSubscribers(`SIGNED_IN`,i)}return{data:{user:i.user,session:i},error:null}}catch(e){if(sd(e))return{data:{session:null,user:null},error:e};throw e}}async refreshSession(e){try{return await this._useSession(async t=>{if(!e){let{data:n,error:r}=t;if(r)throw r;e=n.session??void 0}if(!e?.refresh_token)throw new fd;let{session:n,error:r}=await this._callRefreshToken(e.refresh_token);return r?{data:{user:null,session:null},error:r}:n?{data:{user:n.user,session:n},error:null}:{data:{user:null,session:null},error:null}})}catch(e){if(sd(e))return{data:{user:null,session:null},error:e};throw e}}async _getSessionFromUrl(e){try{if(!Iu())throw new hd(`No browser detected.`);if(this.flowType===`implicit`&&!this._isImplicitGrantFlow())throw new hd(`Not a valid implicit grant flow url.`);if(this.flowType==`pkce`&&!e)throw new gd(`Not a valid PKCE flow url.`);if(e){let e=zu(`code`);if(!e)throw new gd(`No code detected.`);let{data:t,error:n}=await this.exchangeCodeForSession(e);if(n)throw n;if(!t.session)throw new gd(`No session detected.`);let r=new URL(window.location.href);return r.searchParams.delete(`code`),window.history.replaceState(window.history.state,``,r.toString()),{data:{session:t.session,redirectType:null},error:null}}let t=zu(`error_description`);if(t){let e=zu(`error_code`);if(!e)throw new hd(`No error_code detected.`);let n=zu(`error`);throw n?new hd(t,{error:n,code:e}):new hd(`No error detected.`)}let n=zu(`provider_token`),r=zu(`provider_refresh_token`),i=zu(`access_token`);if(!i)throw new hd(`No access_token detected.`);let a=zu(`expires_in`);if(!a)throw new hd(`No expires_in detected.`);let o=zu(`refresh_token`);if(!o)throw new hd(`No refresh_token detected.`);let s=zu(`token_type`);if(!s)throw new hd(`No token_type detected.`);let c=Math.round(Date.now()/1e3)+parseInt(a),{data:l,error:u}=await this.getUser(i);if(u)throw u;let d=l.user,f={provider_token:n,provider_refresh_token:r,access_token:i,expires_in:parseInt(a),expires_at:c,refresh_token:o,token_type:s,user:d},p=zu(`type`);return window.location.hash=``,this._debug(`#_getSessionFromUrl()`,`clearing window.location.hash`),{data:{session:f,redirectType:p},error:null}}catch(e){if(sd(e))return{data:{session:null,redirectType:null},error:e};throw e}}_isImplicitGrantFlow(){return Iu()&&(!!zu(`access_token`)||!!zu(`error_description`))}async _isPKCEFlow(){let e=await Uu(this.storage,`${this.storageKey}-code-verifier`);return!!zu(`code`)&&!!e}async signOut({scope:e}={scope:`global`}){return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return{error:r};let i=n.session?.access_token;if(i){let{error:t}=await this.admin.signOut(i,e);if(t&&(!ld(t)||t.status!==404&&t.status!==401))return{error:t}}return e!==`others`&&(await this._removeSession(),await Wu(this.storage,`${this.storageKey}-code-verifier`),await this._notifyAllSubscribers(`SIGNED_OUT`,null)),{error:null}})}onAuthStateChange(e){let t=tee(),n={id:t,callback:e,unsubscribe:()=>{this._debug(`#unsubscribe()`,`state change callback with id removed`,t),this.stateChangeEmitters.delete(t)}};return this._debug(`#onAuthStateChange()`,`registered callback with id`,t),this.stateChangeEmitters.set(t,n),this._emitInitialSession(t),{data:{subscription:n}}}async _emitInitialSession(e){return await this._useSession(async t=>{try{let{data:{session:n},error:r}=t;if(r)throw r;await this.stateChangeEmitters.get(e)?.callback(`INITIAL_SESSION`,n),this._debug(`INITIAL_SESSION`,`callback id`,e,`session`,n)}catch(t){await this.stateChangeEmitters.get(e)?.callback(`INITIAL_SESSION`,null),this._debug(`INITIAL_SESSION`,`callback id`,e,`error`,t),console.error(t)}})}async resetPasswordForEmail(e,t={}){let n=null,r=null;if(this.flowType===`pkce`){let e=Yu();await Hu(this.storage,`${this.storageKey}-code-verifier`,e),n=await Qu(e),r=e===n?`plain`:`s256`}try{return await Cd(this.fetch,`POST`,`${this.url}/recover`,{body:{email:e,code_challenge:n,code_challenge_method:r,gotrue_meta_security:{captcha_token:t.captchaToken}},headers:this.headers,redirectTo:t.redirectTo})}catch(e){if(sd(e))return{data:null,error:e};throw e}}async _refreshAccessToken(e){let t=`#_refreshAccessToken(${e.substring(0,5)}...)`;this._debug(t,`begin`);try{let n=Date.now();return await qu(async n=>(await ree(n*200),this._debug(t,`refreshing attempt`,n),await Cd(this.fetch,`POST`,`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:wd})),(e,t,r)=>r&&r.error&&vd(r.error)&&Date.now()+(e+1)*200-n<Od)}catch(e){if(this._debug(t,`error`,e),sd(e))return{data:{session:null,user:null},error:e};throw e}finally{this._debug(t,`end`)}}_isValidSession(e){return typeof e==`object`&&!!e&&`access_token`in e&&`refresh_token`in e&&`expires_at`in e}async _handleProviderSignIn(e,t){let n=await this._getUrlForProvider(e,{redirectTo:t.redirectTo,scopes:t.scopes,queryParams:t.queryParams});return this._debug(`#_handleProviderSignIn()`,`provider`,e,`options`,t,`url`,n),Iu()&&!t.skipBrowserRedirect&&window.location.assign(n),{data:{provider:e,url:n},error:null}}async _recoverAndRefresh(){let e=`#_recoverAndRefresh()`;this._debug(e,`begin`);try{let t=await Uu(this.storage,this.storageKey);if(this._debug(e,`session from storage`,t),!this._isValidSession(t)){this._debug(e,`session is not valid`),t!==null&&await this._removeSession();return}let n=Math.round(Date.now()/1e3),r=(t.expires_at??1/0)<n+10;if(this._debug(e,`session has${r?``:` not`} expired with margin of 10s`),r){if(this.autoRefreshToken&&t.refresh_token){let{error:n}=await this._callRefreshToken(t.refresh_token);n&&(console.error(n),vd(n)||(this._debug(e,`refresh failed with a non-retryable error, removing the session`,n),await this._removeSession()))}}else await this._notifyAllSubscribers(`SIGNED_IN`,t)}catch(t){this._debug(e,`error`,t),console.error(t);return}finally{this._debug(e,`end`)}}async _callRefreshToken(e){var t,n;if(!e)throw new fd;if(this.refreshingDeferred)return this.refreshingDeferred.promise;let r=`#_callRefreshToken(${e.substring(0,5)}...)`;this._debug(r,`begin`);try{this.refreshingDeferred=new Gu;let{data:t,error:n}=await this._refreshAccessToken(e);if(n)throw n;if(!t.session)throw new fd;await this._saveSession(t.session),await this._notifyAllSubscribers(`TOKEN_REFRESHED`,t.session);let r={session:t.session,error:null};return this.refreshingDeferred.resolve(r),r}catch(e){if(this._debug(r,`error`,e),sd(e)){let n={session:null,error:e};return(t=this.refreshingDeferred)==null||t.resolve(n),n}throw(n=this.refreshingDeferred)==null||n.reject(e),e}finally{this.refreshingDeferred=null,this._debug(r,`end`)}}async _notifyAllSubscribers(e,t,n=!0){let r=`#_notifyAllSubscribers(${e})`;this._debug(r,`begin`,t,`broadcast = ${n}`);try{this.broadcastChannel&&n&&this.broadcastChannel.postMessage({event:e,session:t});let r=[],i=Array.from(this.stateChangeEmitters.values()).map(async n=>{try{await n.callback(e,t)}catch(e){r.push(e)}});if(await Promise.all(i),r.length>0){for(let e=0;e<r.length;e+=1)console.error(r[e]);throw r[0]}}finally{this._debug(r,`end`)}}async _saveSession(e){this._debug(`#_saveSession()`,e),this.persistSession||(this.inMemorySession=e),this.persistSession&&e.expires_at&&await this._persistSession(e)}_persistSession(e){return this._debug(`#_persistSession()`,e),Hu(this.storage,this.storageKey,e)}async _removeSession(){this._debug(`#_removeSession()`),this.persistSession?await Wu(this.storage,this.storageKey):this.inMemorySession=null}_removeVisibilityChangedCallback(){this._debug(`#_removeVisibilityChangedCallback()`);let e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&&Iu()&&window!=null&&window.removeEventListener&&window.removeEventListener(`visibilitychange`,e)}catch(e){console.error(`removing visibilitychange callback failed`,e)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug(`#_startAutoRefresh()`);let e=setInterval(()=>this._autoRefreshTokenTick(),Od);this.autoRefreshTicker=e,e&&typeof e==`object`&&typeof e.unref==`function`?e.unref():typeof Deno<`u`&&typeof Deno.unrefTimer==`function`&&Deno.unrefTimer(e),await this._autoRefreshTokenTick()}async _stopAutoRefresh(){this._debug(`#_stopAutoRefresh()`);let e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async _autoRefreshTokenTick(){this._debug(`#_autoRefreshTokenTick()`,`begin`);try{let e=Date.now();try{return await this._useSession(async t=>{let{data:{session:n}}=t;if(!n||!n.refresh_token||!n.expires_at){this._debug(`#_autoRefreshTokenTick()`,`no session`);return}let r=Math.floor((n.expires_at*1e3-e)/Od);this._debug(`#_autoRefreshTokenTick()`,`access token expires in ${r} ticks, a tick lasts ${Od}ms, refresh threshold is ${kd} ticks`),r<=kd&&await this._callRefreshToken(n.refresh_token)})}catch(e){console.error(`Auto refresh tick failed with error. This is likely a transient error.`,e)}}finally{this._debug(`#_autoRefreshTokenTick()`,`end`)}}async _handleVisibilityChange(){if(this._debug(`#_handleVisibilityChange()`),!Iu()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>await this._onVisibilityChanged(!1),window==null||window.addEventListener(`visibilitychange`,this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(e){console.error(`_handleVisibilityChange`,e)}}async _onVisibilityChanged(e){this._debug(`#_onVisibilityChanged(${e})`,`visibilityState`,document.visibilityState),document.visibilityState===`visible`?(e||(await this.initializePromise,await this._recoverAndRefresh(),this._debug(`#_onVisibilityChanged()`,`finished waiting for initialize, _recoverAndRefresh`)),this.autoRefreshToken&&this._startAutoRefresh()):document.visibilityState===`hidden`&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(e,t){let n=[`provider=${encodeURIComponent(e)}`];if(t?.redirectTo&&n.push(`redirect_to=${encodeURIComponent(t.redirectTo)}`),t?.scopes&&n.push(`scopes=${encodeURIComponent(t.scopes)}`),this.flowType===`pkce`){let e=Yu();await Hu(this.storage,`${this.storageKey}-code-verifier`,e);let t=await Qu(e),r=e===t?`plain`:`s256`;this._debug(`PKCE`,`code verifier`,`${e.substring(0,5)}...`,`code challenge`,t,`method`,r);let i=new URLSearchParams({code_challenge:`${encodeURIComponent(t)}`,code_challenge_method:`${encodeURIComponent(r)}`});n.push(i.toString())}if(t?.queryParams){let e=new URLSearchParams(t.queryParams);n.push(e.toString())}return`${this.url}/authorize?${n.join(`&`)}`}async _unenroll(e){try{return await this._useSession(async t=>{let{data:n,error:r}=t;return r?{data:null,error:r}:await Cd(this.fetch,`DELETE`,`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:n?.session?.access_token})})}catch(e){if(sd(e))return{data:null,error:e};throw e}}async _enroll(e){try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return{data:null,error:r};let{data:i,error:a}=await Cd(this.fetch,`POST`,`${this.url}/factors`,{body:{friendly_name:e.friendlyName,factor_type:e.factorType,issuer:e.issuer},headers:this.headers,jwt:n?.session?.access_token});return a?{data:null,error:a}:(i?.totp?.qr_code&&(i.totp.qr_code=`data:image/svg+xml;utf-8,${i.totp.qr_code}`),{data:i,error:null})})}catch(e){if(sd(e))return{data:null,error:e};throw e}}async _verify(e){try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return{data:null,error:r};let{data:i,error:a}=await Cd(this.fetch,`POST`,`${this.url}/factors/${e.factorId}/verify`,{body:{code:e.code,challenge_id:e.challengeId},headers:this.headers,jwt:n?.session?.access_token});return a?{data:null,error:a}:(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+i.expires_in},i)),await this._notifyAllSubscribers(`MFA_CHALLENGE_VERIFIED`,i),{data:i,error:a})})}catch(e){if(sd(e))return{data:null,error:e};throw e}}async _challenge(e){try{return await this._useSession(async t=>{let{data:n,error:r}=t;return r?{data:null,error:r}:await Cd(this.fetch,`POST`,`${this.url}/factors/${e.factorId}/challenge`,{headers:this.headers,jwt:n?.session?.access_token})})}catch(e){if(sd(e))return{data:null,error:e};throw e}}async _challengeAndVerify(e){let{data:t,error:n}=await this._challenge({factorId:e.factorId});return n?{data:null,error:n}:await this._verify({factorId:e.factorId,challengeId:t.id,code:e.code})}async _listFactors(){let{data:{user:e},error:t}=await this.getUser();if(t)return{data:null,error:t};let n=e?.factors||[];return{data:{all:n,totp:n.filter(e=>e.factor_type===`totp`&&e.status===`verified`)},error:null}}async _getAuthenticatorAssuranceLevel(){return await this._useSession(async e=>{let{data:{session:t},error:n}=e;if(n)return{data:null,error:n};if(!t)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};let r=this._decodeJWT(t.access_token),i=null;r.aal&&(i=r.aal);let a=i;(t.user.factors?.filter(e=>e.status===`verified`)??[]).length>0&&(a=`aal2`);let o=r.amr||[];return{data:{currentLevel:i,nextLevel:a,currentAuthenticationMethods:o},error:null}})}};Ad.nextInstanceID=0;var jd=class extends Ad{constructor(e){super(e)}},Md=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},Nd={headers:xu},Pd={schema:`public`},Fd={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:`implicit`},Id={},Ld=class{constructor(e,t,n){if(this.supabaseUrl=e,this.supabaseKey=t,!e)throw Error(`supabaseUrl is required.`);if(!t)throw Error(`supabaseKey is required.`);let r=Ou(e);this.realtimeUrl=`${r}/realtime/v1`.replace(/^http/i,`ws`),this.authUrl=`${r}/auth/v1`,this.storageUrl=`${r}/storage/v1`,this.functionsUrl=`${r}/functions/v1`;let i=`sb-${new URL(this.authUrl).hostname.split(`.`)[0]}-auth-token`,a={db:Pd,realtime:Id,auth:Object.assign(Object.assign({},Fd),{storageKey:i}),global:Nd},o=ku(n??{},a);this.storageKey=o.auth?.storageKey??``,this.headers=o.global?.headers??{},this.auth=this._initSupabaseAuthClient(o.auth??{},this.headers,o.global?.fetch),this.fetch=Du(t,this._getAccessToken.bind(this),o.global?.fetch),this.realtime=this._initRealtimeClient(Object.assign({headers:this.headers},o.realtime)),this.rest=new Zs(`${r}/rest/v1`,{headers:this.headers,schema:o.db?.schema,fetch:this.fetch}),this._listenForAuthEvents()}get functions(){return new Fs(this.functionsUrl,{headers:this.headers,customFetch:this.fetch})}get storage(){return new bu(this.storageUrl,this.headers,this.fetch)}from(e){return this.rest.from(e)}rpc(e,t={},n){return this.rest.rpc(e,t,n)}channel(e,t={config:{}}){return this.realtime.channel(e,t)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}_getAccessToken(){return Md(this,void 0,void 0,function*(){let{data:e}=yield this.auth.getSession();return e.session?.access_token??null})}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:t,detectSessionInUrl:n,storage:r,storageKey:i,flowType:a,debug:o},s,c){let l={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new jd({url:this.authUrl,headers:Object.assign(Object.assign({},l),s),storageKey:i,autoRefreshToken:e,persistSession:t,detectSessionInUrl:n,storage:r,flowType:a,debug:o,fetch:c})}_initRealtimeClient(e){return new bl(this.realtimeUrl,Object.assign(Object.assign({},e),{params:Object.assign({apikey:this.supabaseKey},e?.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((e,t)=>{this._handleTokenChanged(e,`CLIENT`,t?.access_token)})}_handleTokenChanged(e,t,n){(e===`TOKEN_REFRESHED`||e===`SIGNED_IN`)&&this.changedAccessToken!==n?(this.realtime.setAuth(n??null),this.changedAccessToken=n):e===`SIGNED_OUT`&&(this.realtime.setAuth(this.supabaseKey),t==`STORAGE`&&this.auth.signOut(),this.changedAccessToken=void 0)}},Rd=(e,t,n)=>new Ld(e,t,n),zd=Rd(`https://spqooonhwsqbwfvmzhan.supabase.co`,`eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InNwcW9vb25od3NxYndmdm16aGFuIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzA0MDQxMTAsImV4cCI6MjA4NTk4MDExMH0.0akpiJQGUtPiV7pCC5Sqp0EdKN5cGvGi297SsdSuIog`),Bd=(0,y.createContext)(void 0),Vd=({children:e})=>{let{toast:t}=Cs(),[n,r]=(0,y.useState)(null),[i,a]=(0,y.useState)(null),[o,s]=(0,y.useState)(!0),c=(0,y.useCallback)(async e=>{a(e),r(e?.user??null),s(!1)},[]);(0,y.useEffect)(()=>{(async()=>{try{let{data:{session:e}}=await zd.auth.getSession();c(e)}catch(e){console.error(`Error getting session:`,e),s(!1)}})();let{data:{subscription:e}}=zd.auth.onAuthStateChange(async(e,t)=>{c(t)});return()=>e?.unsubscribe()},[c]);let l=(0,y.useCallback)(async(e,n,r)=>{let{error:i}=await zd.auth.signUp({email:e,password:n,options:r});return i&&t({variant:`destructive`,title:`Sign up Failed`,description:i.message||`Something went wrong`}),{error:i}},[t]),u=(0,y.useCallback)(async(e,n)=>{let{error:r}=await zd.auth.signInWithPassword({email:e,password:n});return r&&t({variant:`destructive`,title:`Sign in Failed`,description:r.message||`Something went wrong`}),{error:r}},[t]),d=(0,y.useCallback)(async()=>{let{error:e}=await zd.auth.signOut();return e&&t({variant:`destructive`,title:`Sign out Failed`,description:e.message||`Something went wrong`}),{error:e}},[t]),f=(0,y.useMemo)(()=>({user:n,session:i,loading:o,isAuthenticated:!!n,signUp:l,signIn:u,signOut:d,signup:l,login:u,logout:d}),[n,i,o,l,u,d]);return(0,B.jsx)(Bd.Provider,{value:f,children:e})},Hd=`https://spqooonhwsqbwfvmzhan.supabase.co`,Ud=`sb_publishable_d882tHcPnJZPeAK5jufH-w_Gvss8RWj`,Wd=(e,t=4)=>e?e.length<=t*2?`***`:`${e.substring(0,t)}...${e.substring(e.length-t)}`:`MISSING/UNDEFINED`;console.group(`🔌 [Supabase] Client Initialization Debug`),console.log(`timestamp:`,new Date().toISOString()),console.log(`URL Configured:`,Wd(Hd,8)),console.log(`Key Configured:`,Wd(Ud,8));var Gd=null;try{Hd.startsWith(`https://`)||console.error(`CRITICAL: Invalid Supabase URL format. Must start with https://`,Hd),Gd=Rd(Hd,Ud,{auth:{persistSession:!0,autoRefreshToken:!0,detectSessionInUrl:!0}}),console.log(`✅ Supabase client instance created successfully.`)}catch(e){console.error(`❌ FATAL: Failed to initialize Supabase client:`,e)}console.groupEnd();var Kd=Gd,qd=(0,y.createContext)(),Jd=()=>(0,y.useContext)(qd),Yd=({children:e})=>{let[t,n]=(0,y.useState)(!1),[r,i]=(0,y.useState)(null),[a,o]=(0,y.useState)(!0);return(0,y.useEffect)(()=>{console.log(`🔄 [AdminAuthContext] Initializing...`),(async()=>{try{if(!Kd){console.error(`❌ [AdminAuthContext] Supabase client is not initialized.`),o(!1);return}console.log(`🔍 [AdminAuthContext] Checking for existing session...`);let{data:{session:e},error:t}=await Kd.auth.getSession();t&&console.error(`❌ [AdminAuthContext] Error getting session:`,t),e?(console.log(`✅ [AdminAuthContext] Active session found for user:`,e.user.id),n(!0),i(e.user)):(console.log(`ℹ️ [AdminAuthContext] No active session found`),n(!1),i(null))}catch(e){console.error(`❌ [AdminAuthContext] Unexpected error checking session:`,e)}finally{o(!1)}})();let{data:{subscription:e}}=Kd.auth.onAuthStateChange(async(e,t)=>{console.log(`🔐 [AdminAuthContext] Auth State Change detected: ${e}`),t?(n(!0),i(t.user)):(n(!1),i(null)),o(!1)});return()=>{e?.unsubscribe()}},[]),(0,B.jsx)(qd.Provider,{value:{isAuthenticated:t,user:r,loading:a,login:async(e,t)=>{if(console.group(`🚀 [AdminAuthContext] Login Process Started`),console.log(`Attempting login for email: ${e}`),!Kd)return console.error(`❌ [AdminAuthContext] Supabase client missing.`),console.groupEnd(),{success:!1,error:`System Error: Database client not initialized.`};if(!e||!t)return console.error(`❌ [AdminAuthContext] Login failed: Missing email or password`),console.groupEnd(),{success:!1,error:`Email and password are required.`};try{o(!0);let r=new Promise((e,t)=>{setTimeout(()=>t(Error(`Connection timed out. The server took too long to respond (10s).`)),1e4)}),a=Kd.auth.signInWithPassword({email:e,password:t}),{data:s,error:c}=await Promise.race([a,r]);return c?(console.error(`❌ [AdminAuthContext] Supabase Auth Error:`,c),console.log(`Error details:`,{message:c.message,status:c.status,name:c.name}),console.groupEnd(),o(!1),{success:!1,error:c.message,details:c}):s?.user?(console.log(`✅ [AdminAuthContext] Login successful. User ID:`,s.user.id),n(!0),i(s.user),console.groupEnd(),{success:!0,data:s}):(console.error(`❌ [AdminAuthContext] Login succeeded but no user returned.`),console.groupEnd(),o(!1),{success:!1,error:`Login failed: No user data returned.`})}catch(e){return console.error(`❌ [AdminAuthContext] Exception during login:`,e),console.groupEnd(),o(!1),{success:!1,error:e.message||`An unexpected network error occurred.`,details:e}}},logout:async()=>{console.log(`🚪 [AdminAuthContext] Logging out...`);try{if(!Kd)throw Error(`Supabase client missing`);let{error:e}=await Kd.auth.signOut();if(e)throw e;n(!1),i(null),console.log(`✅ [AdminAuthContext] Logout successful`)}catch(e){console.error(`❌ [AdminAuthContext] Error signing out:`,e)}}},children:e})},Xd=[{id:`astoria`,label:`Astoria`},{id:`portland`,label:`Portland`},{id:`eugene`,label:`Eugene`},{id:`seattle`,label:`Seattle`},{id:`out-of-state`,label:`Out of State`}],Zd=[{id:`1-2`,label:`1-2 Days`},{id:`3-4`,label:`3-4 Days`},{id:`5-7`,label:`5-7 Days`},{id:`7+`,label:`7+ Days`}],Qd=[{id:`adventure`,label:`Adventure`},{id:`relaxing`,label:`Relaxing`},{id:`foodie`,label:`Foodie`},{id:`family`,label:`Family`},{id:`photography`,label:`Photography`}],$d={astoria:{name:`Astoria`,type:[`foodie`,`photography`,`adventure`],highlights:`Astoria Column, Maritime Museum, local breweries`},"cannon-beach":{name:`Cannon Beach`,type:[`relaxing`,`photography`,`family`],highlights:`Haystack Rock, Ecola State Park, Art Galleries`},tillamook:{name:`Tillamook`,type:[`family`,`foodie`],highlights:`Tillamook Creamery, Cape Meares Lighthouse`},"lincoln-city":{name:`Lincoln City`,type:[`family`,`relaxing`],highlights:`Kite flying, Glass floats, 7 miles of beach`},"depoe-bay":{name:`Depoe Bay`,type:[`adventure`,`photography`],highlights:`Whale Watching, Boiler Bay`},newport:{name:`Newport`,type:[`family`,`foodie`],highlights:`Oregon Coast Aquarium, Historic Bayfront, Local Seafood`},waldport:{name:`Waldport`,type:[`relaxing`,`family`],highlights:`Crabbing, Alsea Bay Bridge, quiet beaches`},yachats:{name:`Yachats`,type:[`adventure`,`photography`,`relaxing`],highlights:`Thor's Well, Cape Perpetua, tidepools`},florence:{name:`Florence`,type:[`adventure`,`family`],highlights:`Oregon Dunes, Sandboarding, Historic Old Town`},"coos-bay":{name:`Coos Bay`,type:[`adventure`,`photography`],highlights:`Cape Arago Hwy, Shore Acres, rugged cliffs`},bandon:{name:`Bandon`,type:[`relaxing`,`photography`,`foodie`],highlights:`Face Rock, Bandon Dunes, local cheese`},"gold-beach":{name:`Gold Beach`,type:[`adventure`,`photography`],highlights:`Rogue River, Jet Boats, rugged beaches`},brookings:{name:`Brookings`,type:[`adventure`,`photography`],highlights:`Samuel H. Boardman Corridor, warm coastal weather`}},ef=[{from:`astoria`,to:`cannon-beach`,time:`30 min`,hours:.5},{from:`cannon-beach`,to:`tillamook`,time:`1 hour`,hours:1},{from:`tillamook`,to:`lincoln-city`,time:`45 min`,hours:.75},{from:`lincoln-city`,to:`newport`,time:`1 hour`,hours:1},{from:`newport`,to:`florence`,time:`1.5 hours`,hours:1.5},{from:`florence`,to:`coos-bay`,time:`1 hour`,hours:1},{from:`coos-bay`,to:`bandon`,time:`30 min`,hours:.5},{from:`bandon`,to:`gold-beach`,time:`1 hour`,hours:1},{from:`gold-beach`,to:`brookings`,time:`1 hour`,hours:1},{from:`astoria`,to:`brookings`,time:`5.5 hours`,hours:5.5}],tf={"1-2":`one town or two neighboring towns`,"3-4":`a coastal region`,"5-7":`half the coast`,"7+":`full Oregon Coast`},nf=(e,t)=>{let n=ef.find(n=>n.from===e&&n.to===t||n.from===t&&n.to===e);return n?n.time:null},rf=e=>{let t=0;for(let n=0;n<e.length-1;n++){let r=ef.find(t=>t.from===e[n]&&t.to===e[n+1]||t.from===e[n+1]&&t.to===e[n]);r&&(t+=r.hours)}return t},af=[`astoria`,`cannon-beach`,`tillamook`,`lincoln-city`,`depoe-bay`,`newport`,`waldport`,`yachats`,`florence`,`coos-bay`,`bandon`,`gold-beach`,`brookings`],of=e=>{let t=af.indexOf(e);if(t===-1)return af.slice();let n=af.slice(t);if(n.length<3){let e=af.slice(0,t).slice().reverse();return[...n,...e]}return n},sf=e=>{if(!e)return null;let t=e.trim().toLowerCase();if(t=t.replace(/[\s,]+(oregon|or)$/i,``).replace(/[,.\s]+$/,``).trim(),!t)return null;let n={portland:`portland`,eugene:`eugene`,seattle:`seattle`};if(n[t])return n[t];for(let[e,n]of Object.entries($d))if(e===t||n.name.toLowerCase()===t)return`town:${e}`;return null},_ee=(e,t,n)=>{let r=[];r=typeof e==`string`&&e.startsWith(`town:`)?of(e.slice(5)):e===`astoria`||e===`seattle`||e===`portland`?[`astoria`,`cannon-beach`,`tillamook`,`lincoln-city`,`depoe-bay`,`newport`,`yachats`,`florence`,`coos-bay`,`bandon`,`gold-beach`,`brookings`]:e===`eugene`?[`florence`,`yachats`,`newport`,`coos-bay`,`bandon`,`gold-beach`,`brookings`]:[`cannon-beach`,`lincoln-city`,`newport`,`yachats`,`florence`,`bandon`,`brookings`];let i=Object.keys($d).filter(e=>$d[e].type.includes(n)),a=r.filter(e=>i.includes(e));a.length<2&&(a=[...new Set([...a,...r])]);let o=2,s=2;t===`1-2`?(o=2,s=2):t===`3-4`?(o=4,s=4):t===`5-7`?(o=6,s=6):(o=10,s=8);let c=a.slice(0,o),l=rf(c),u=null;return s>=7&&l<3?(u=`It looks like you planned 7+ days but your route is fairly concentrated. For example, the drive from ${$d[c[0]]?.name} to ${$d[c[c.length-1]]?.name} is only a few hours total. I'd recommend 2-3 days to really explore that stretch rather than 7. Want me to extend your trip further down the coast to fill the week?`,o=Math.min(10,r.length)):s<=2&&l>4&&(u=`You've selected a very long route for just 1-2 days! Driving from ${$d[c[0]]?.name} down the coast takes considerable time. I've narrowed it down to keep your driving under 2 hours so you can actually enjoy the stops.`,o=2),{towns:r.slice(0,o).map(e=>({id:e,...$d[e]})),numDays:s,validationMessage:u}},cf=(0,y.createContext)();function lf(){return(0,y.useContext)(cf)}var uf=[{id:1,sender:`ai`,text:`Hey! Planning an Oregon Coast trip? Tell me where you're starting from and how many days you have - I'll put together a personalized itinerary for you.`}];function vee({children:e}){let[t,n]=(0,y.useState)(()=>{let e=localStorage.getItem(`tripPlannerMessages`);return e?JSON.parse(e):uf}),[r,i]=(0,y.useState)(()=>{let e=localStorage.getItem(`tripPlannerAnswers`);return e?JSON.parse(e):{start:null,days:null,type:null}}),[a,o]=(0,y.useState)(()=>localStorage.getItem(`tripPlannerState`)||`ASK_START`),[s,c]=(0,y.useState)(!1);(0,y.useEffect)(()=>{localStorage.setItem(`tripPlannerMessages`,JSON.stringify(t))},[t]),(0,y.useEffect)(()=>{localStorage.setItem(`tripPlannerAnswers`,JSON.stringify(r))},[r]),(0,y.useEffect)(()=>{localStorage.setItem(`tripPlannerState`,a)},[a]);let l={messages:t,addMessage:e=>{n(t=>[...t,{...e,id:Date.now()+Math.random()}])},answers:r,updateAnswer:(e,t)=>{i(n=>({...n,[e]:t}))},chatState:a,setChatState:o,resetChat:()=>{n(uf),i({start:null,days:null,type:null}),o(`ASK_START`)},isOpen:s,setIsOpen:c,geographicData:{drivingDistances:ef,dayRecommendations:tf}};return(0,B.jsx)(cf.Provider,{value:l,children:e})}var yee=1,bee=1e6,df=0;function xee(){return df=(df+1)%(2**53-1),df.toString()}var ff=new Map,pf=e=>{if(ff.has(e))return;let t=setTimeout(()=>{ff.delete(e),gf({type:`REMOVE_TOAST`,toastId:e})},bee);ff.set(e,t)},See=(e,t)=>{switch(t.type){case`ADD_TOAST`:return{...e,toasts:[t.toast,...e.toasts].slice(0,yee)};case`UPDATE_TOAST`:return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case`DISMISS_TOAST`:{let{toastId:n}=t;return n?pf(n):e.toasts.forEach(e=>{pf(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===n||n===void 0?{...e,open:!1}:e)}}case`REMOVE_TOAST`:return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},mf=[],hf={toasts:[]};function gf(e){hf=See(hf,e),mf.forEach(e=>{e(hf)})}function _f({...e}){let t=xee(),n=e=>gf({type:`UPDATE_TOAST`,toast:{...e,id:t}}),r=()=>gf({type:`DISMISS_TOAST`,toastId:t});return gf({type:`ADD_TOAST`,toast:{...e,id:t,open:!0,onOpenChange:e=>{e||r()}}}),{id:t,dismiss:r,update:n}}function vf(){let[e,t]=y.useState(hf);return y.useEffect(()=>(mf.push(t),()=>{let e=mf.indexOf(t);e>-1&&mf.splice(e,1)}),[e]),{...e,toast:_f,dismiss:e=>gf({type:`DISMISS_TOAST`,toastId:e})}}var yf=`https://registry.cacoon.live/v1`,G={obj_oregoncoastal_hotel_surfsand_resort_v1:{object_id:`obj_oregoncoastal_hotel_surfsand_resort_v1`,title:`Surfsand Resort`},obj_oregoncoastal_dining_public_coast_brewing_v1:{object_id:`obj_oregoncoastal_dining_public_coast_brewing_v1`,title:`Public Coast Brewing`},obj_oregoncoastal_town_astoria_v1:{object_id:`obj_oregoncoastal_town_astoria_v1`,title:`Astoria`},obj_oregoncoastal_town_cannon_beach_v1:{object_id:`obj_oregoncoastal_town_cannon_beach_v1`,title:`Cannon Beach`},obj_oregoncoastal_event_stormy_weather_arts_festival_2026_v1:{object_id:`obj_oregoncoastal_event_stormy_weather_arts_festival_2026_v1`,title:`Stormy Weather Arts Festival`},obj_oregoncoastal_event_cannon_beach_independence_day_parade_2027_v1:{object_id:`obj_oregoncoastal_event_cannon_beach_independence_day_parade_2027_v1`,title:`Cannon Beach Independence Day Parade`},obj_oregoncoastal_dining_cannon_beach_pelican_brewing_v1:{object_id:`obj_oregoncoastal_dining_cannon_beach_pelican_brewing_v1`,title:`Pelican Brewing`},obj_oregoncoastal_dining_cannon_beach_wayfarer_restaurant_lounge_v1:{object_id:`obj_oregoncoastal_dining_cannon_beach_wayfarer_restaurant_lounge_v1`,title:`The Wayfarer`},obj_oregoncoastal_dining_cannon_beach_driftwood_restaurant_lounge_v1:{object_id:`obj_oregoncoastal_dining_cannon_beach_driftwood_restaurant_lounge_v1`,title:`Driftwood Restaurant & Lounge`},obj_oregoncoastal_dining_cannon_beach_pizza_afetta_v1:{object_id:`obj_oregoncoastal_dining_cannon_beach_pizza_afetta_v1`,title:`Pizza a'fetta`},obj_oregoncoastal_dining_cannon_beach_castaways_v1:{object_id:`obj_oregoncoastal_dining_cannon_beach_castaways_v1`,title:`Castaways`},obj_oregoncoastal_dining_cannon_beach_ecola_seafoods_v1:{object_id:`obj_oregoncoastal_dining_cannon_beach_ecola_seafoods_v1`,title:`Ecola Seafoods`},obj_oregoncoastal_dining_cannon_beach_bills_tavern_v1:{object_id:`obj_oregoncoastal_dining_cannon_beach_bills_tavern_v1`,title:`Bill's Tavern & Brewhouse`},obj_oregoncoastal_dining_cannon_beach_warren_house_pub_v1:{object_id:`obj_oregoncoastal_dining_cannon_beach_warren_house_pub_v1`,title:`Warren House Pub`},obj_oregoncoastal_dining_tolovana_park_mos_seafood_chowder_v1:{object_id:`obj_oregoncoastal_dining_tolovana_park_mos_seafood_chowder_v1`,title:`Mo's Cannon Beach`},obj_oregoncoastal_dining_cannon_beach_lazy_susan_cafe_v1:{object_id:`obj_oregoncoastal_dining_cannon_beach_lazy_susan_cafe_v1`,title:`Lazy Susan Cafe`},obj_oregoncoastal_dining_cannon_beach_sleepy_monk_coffee_v1:{object_id:`obj_oregoncoastal_dining_cannon_beach_sleepy_monk_coffee_v1`,title:`Sleepy Monk Coffee Roasters`},obj_oregoncoastal_dining_cannon_beach_insomnia_coffee_company_v1:{object_id:`obj_oregoncoastal_dining_cannon_beach_insomnia_coffee_company_v1`,title:`Insomnia Coffee Co.`},obj_oregoncoastal_dining_cannon_beach_seasons_cafe_v1:{object_id:`obj_oregoncoastal_dining_cannon_beach_seasons_cafe_v1`,title:`Seasons Cafe`},obj_oregoncoastal_dining_cannon_beach_stephanie_inn_dining_room_v1:{object_id:`obj_oregoncoastal_dining_cannon_beach_stephanie_inn_dining_room_v1`,title:`Stephanie Inn Dining Room`},obj_oregoncoastal_dining_tolovana_park_sea_level_bakery_coffee_v1:{object_id:`obj_oregoncoastal_dining_tolovana_park_sea_level_bakery_coffee_v1`,title:`Sea Level Bakery + Coffee`},obj_oregoncoastal_dining_tolovana_park_fresh_foods_v1:{object_id:`obj_oregoncoastal_dining_tolovana_park_fresh_foods_v1`,title:`Fresh Foods Deli`},obj_oregoncoastal_trail_ecola_point_to_indian_beach_v1:{object_id:`obj_oregoncoastal_trail_ecola_point_to_indian_beach_v1`,title:`Ecola Point to Indian Beach`},obj_oregoncoastal_trail_ecola_point_to_crescent_beach_v1:{object_id:`obj_oregoncoastal_trail_ecola_point_to_crescent_beach_v1`,title:`Crescent Beach Trail`},obj_oregoncoastal_trail_tillamook_head_v1:{object_id:`obj_oregoncoastal_trail_tillamook_head_v1`,title:`Tillamook Head Traverse`},obj_oregoncoastal_hotel_astoria_hampton_inn_suites_astoria_v1:{object_id:`obj_oregoncoastal_hotel_astoria_hampton_inn_suites_astoria_v1`,title:`Hampton Inn & Suites Astoria`},obj_oregoncoastal_hotel_astoria_holiday_inn_express_hotel_suites_astoria_v1:{object_id:`obj_oregoncoastal_hotel_astoria_holiday_inn_express_hotel_suites_astoria_v1`,title:`Holiday Inn Express & Suites Astoria`},obj_oregoncoastal_hotel_astoria_motel_6_astoria_v1:{object_id:`obj_oregoncoastal_hotel_astoria_motel_6_astoria_v1`,title:`Motel 6 Astoria`},obj_oregoncoastal_hotel_astoria_lloyd_hotel_astoria_bayfront_v1:{object_id:`obj_oregoncoastal_hotel_astoria_lloyd_hotel_astoria_bayfront_v1`,title:`Lloyd Hotel Astoria Bayfront`},obj_oregoncoastal_hotel_astoria_best_western_columbia_river_waterfront_hotel_v1:{object_id:`obj_oregoncoastal_hotel_astoria_best_western_columbia_river_waterfront_hotel_v1`,title:`Best Western Columbia River Waterfront`},obj_oregoncoastal_hotel_astoria_astoria_rivershore_motel_v1:{object_id:`obj_oregoncoastal_hotel_astoria_astoria_rivershore_motel_v1`,title:`Astoria Rivershore Motel`},obj_oregoncoastal_hotel_astoria_astoria_riverwalk_inn_v1:{object_id:`obj_oregoncoastal_hotel_astoria_astoria_riverwalk_inn_v1`,title:`Astoria Riverwalk Inn`},obj_oregoncoastal_hotel_gearhart_gearhart_hotel_v1:{object_id:`obj_oregoncoastal_hotel_gearhart_gearhart_hotel_v1`,title:`McMenamins Gearhart Hotel`},obj_oregoncoastal_hotel_gearhart_the_drifthaven_at_gearhart_v1:{object_id:`obj_oregoncoastal_hotel_gearhart_the_drifthaven_at_gearhart_v1`,title:`The Drifthaven at Gearhart`},obj_oregoncoastal_hotel_seaside_motel_6_seaside_v1:{object_id:`obj_oregoncoastal_hotel_seaside_motel_6_seaside_v1`,title:`Motel 6 Seaside, OR`},obj_oregoncoastal_hotel_seaside_inn_at_the_shore_v1:{object_id:`obj_oregoncoastal_hotel_seaside_inn_at_the_shore_v1`,title:`Inn at the Shore`},obj_oregoncoastal_hotel_seaside_hi_tide_oceanfront_inn_v1:{object_id:`obj_oregoncoastal_hotel_seaside_hi_tide_oceanfront_inn_v1`,title:`Hi-Tide Oceanfront Inn`},obj_oregoncoastal_hotel_seaside_ebb_tide_oceanfront_inn_v1:{object_id:`obj_oregoncoastal_hotel_seaside_ebb_tide_oceanfront_inn_v1`,title:`Ebb Tide Oceanfront Inn`},obj_oregoncoastal_hotel_seaside_seashore_inn_on_the_beach_v1:{object_id:`obj_oregoncoastal_hotel_seaside_seashore_inn_on_the_beach_v1`,title:`Seashore Inn on the Beach`},obj_oregoncoastal_hotel_seaside_best_western_plus_ocean_view_resort_v1:{object_id:`obj_oregoncoastal_hotel_seaside_best_western_plus_ocean_view_resort_v1`,title:`Best Western Plus Ocean View Resort`},obj_oregoncoastal_hotel_seaside_ashore_hotel_v1:{object_id:`obj_oregoncoastal_hotel_seaside_ashore_hotel_v1`,title:`Ashore Hotel`},obj_oregoncoastal_hotel_seaside_promenade_inn_suites_oceanfront_v1:{object_id:`obj_oregoncoastal_hotel_seaside_promenade_inn_suites_oceanfront_v1`,title:`Promenade Inn & Suites Oceanfront`},obj_oregoncoastal_dining_astoria_bridgewater_bistro_v1:{object_id:`obj_oregoncoastal_dining_astoria_bridgewater_bistro_v1`,title:`Bridgewater Bistro`},obj_oregoncoastal_dining_astoria_silver_salmon_grille_v1:{object_id:`obj_oregoncoastal_dining_astoria_silver_salmon_grille_v1`,title:`Silver Salmon Grille`},obj_oregoncoastal_dining_astoria_carruthers_v1:{object_id:`obj_oregoncoastal_dining_astoria_carruthers_v1`,title:`Carruthers Restaurant`},obj_oregoncoastal_dining_astoria_fort_george_brewery_public_house_v1:{object_id:`obj_oregoncoastal_dining_astoria_fort_george_brewery_public_house_v1`,title:`Fort George Brewery + Public House`},obj_oregoncoastal_dining_astoria_buoy_beer_company_v1:{object_id:`obj_oregoncoastal_dining_astoria_buoy_beer_company_v1`,title:`Buoy Beer Company`},obj_oregoncoastal_dining_astoria_bowpicker_fish_chips_v1:{object_id:`obj_oregoncoastal_dining_astoria_bowpicker_fish_chips_v1`,title:`Bowpicker Fish & Chips`},obj_oregoncoastal_dining_astoria_frite_and_scoop_v1:{object_id:`obj_oregoncoastal_dining_astoria_frite_and_scoop_v1`,title:`Frite & Scoop`},obj_oregoncoastal_dining_astoria_coffee_girl_v1:{object_id:`obj_oregoncoastal_dining_astoria_coffee_girl_v1`,title:`Coffee Girl`},obj_oregoncoastal_dining_astoria_blue_scorcher_bakery_cafe_v1:{object_id:`obj_oregoncoastal_dining_astoria_blue_scorcher_bakery_cafe_v1`,title:`The Blue Scorcher Bakery & Cafe`},obj_oregoncoastal_dining_warrenton_el_catrin_mexican_restaurant_v1:{object_id:`obj_oregoncoastal_dining_warrenton_el_catrin_mexican_restaurant_v1`,title:`El Catrin Mexican Kitchen`},obj_oregoncoastal_dining_warrenton_nisas_thai_kitchen_v1:{object_id:`obj_oregoncoastal_dining_warrenton_nisas_thai_kitchen_v1`,title:`Nisa's Thai Kitchen`},obj_oregoncoastal_dining_warrenton_arnies_cafe_v1:{object_id:`obj_oregoncoastal_dining_warrenton_arnies_cafe_v1`,title:`Arnie's Cafe`},obj_oregoncoastal_dining_warrenton_fultanos_pizza_v1:{object_id:`obj_oregoncoastal_dining_warrenton_fultanos_pizza_v1`,title:`Fultano's Pizza`},obj_oregoncoastal_dining_gearhart_mcmenamins_sand_trap_pub_v1:{object_id:`obj_oregoncoastal_dining_gearhart_mcmenamins_sand_trap_pub_v1`,title:`McMenamins Sand Trap Bar & Grill`},obj_oregoncoastal_dining_gearhart_prep_kitchen_deli_catering_v1:{object_id:`obj_oregoncoastal_dining_gearhart_prep_kitchen_deli_catering_v1`,title:`Prep Kitchen Gearhart`},obj_oregoncoastal_dining_gearhart_fultanos_pizza_v1:{object_id:`obj_oregoncoastal_dining_gearhart_fultanos_pizza_v1`,title:`Fultano's Pizza`},obj_oregoncoastal_dining_seaside_mos_seafood_chowder_seaside_v1:{object_id:`obj_oregoncoastal_dining_seaside_mos_seafood_chowder_seaside_v1`,title:`Mo's Seafood & Chowder`},obj_oregoncoastal_dining_seaside_nonnis_italian_bistro_v1:{object_id:`obj_oregoncoastal_dining_seaside_nonnis_italian_bistro_v1`,title:`Nonni's Italian Bistro`},obj_oregoncoastal_dining_seaside_doogers_seafood_grill_v1:{object_id:`obj_oregoncoastal_dining_seaside_doogers_seafood_grill_v1`,title:`Dooger's Seafood & Grill`},obj_oregoncoastal_dining_seaside_normas_seafood_steak_v1:{object_id:`obj_oregoncoastal_dining_seaside_normas_seafood_steak_v1`,title:`Norma's Seafood & Steak`},obj_oregoncoastal_dining_seaside_dundees_bar_grill_v1:{object_id:`obj_oregoncoastal_dining_seaside_dundees_bar_grill_v1`,title:`Dundee's Bar & Grill`},obj_oregoncoastal_dining_seaside_osprey_cafe_v1:{object_id:`obj_oregoncoastal_dining_seaside_osprey_cafe_v1`,title:`Osprey Cafe`},obj_oregoncoastal_dining_seaside_tora_sushi_lounge_seaside_v1:{object_id:`obj_oregoncoastal_dining_seaside_tora_sushi_lounge_seaside_v1`,title:`Tora Sushi`},obj_oregoncoastal_dining_seaside_the_stand_seaside_v1:{object_id:`obj_oregoncoastal_dining_seaside_the_stand_seaside_v1`,title:`The Stand`},obj_oregoncoastal_dining_seaside_twisted_fish_steakhouse_v1:{object_id:`obj_oregoncoastal_dining_seaside_twisted_fish_steakhouse_v1`,title:`Twisted Fish Steakhouse`},obj_oregoncoastal_dining_seaside_pig_n_pancake_seaside_v1:{object_id:`obj_oregoncoastal_dining_seaside_pig_n_pancake_seaside_v1`,title:`Pig 'N Pancake`},obj_oregoncoastal_hotel_arch_cape_arch_cape_inn_retreat_v1:{object_id:`obj_oregoncoastal_hotel_arch_cape_arch_cape_inn_retreat_v1`,title:`Arch Cape Inn & Retreat`},obj_oregoncoastal_hotel_manzanita_coast_cabins_v1:{object_id:`obj_oregoncoastal_hotel_manzanita_coast_cabins_v1`,title:`Coast Cabins`},obj_oregoncoastal_hotel_manzanita_inn_at_manzanita_v1:{object_id:`obj_oregoncoastal_hotel_manzanita_inn_at_manzanita_v1`,title:`Inn at Manzanita`},obj_oregoncoastal_hotel_manzanita_san_dune_inn_v1:{object_id:`obj_oregoncoastal_hotel_manzanita_san_dune_inn_v1`,title:`San Dune Inn`},obj_oregoncoastal_dining_manzanita_big_wave_cafe_v1:{object_id:`obj_oregoncoastal_dining_manzanita_big_wave_cafe_v1`,title:`The Big Wave Cafe`},obj_oregoncoastal_dining_manzanita_yolk_brunch_poach503_v1:{object_id:`obj_oregoncoastal_dining_manzanita_yolk_brunch_poach503_v1`,title:`Yolk`},obj_oregoncoastal_dining_manzanita_marzanos_pizza_pie_v1:{object_id:`obj_oregoncoastal_dining_manzanita_marzanos_pizza_pie_v1`,title:`Marzano's Pizza Pie`},obj_oregoncoastal_dining_manzanita_wild_grocery_cafe_v1:{object_id:`obj_oregoncoastal_dining_manzanita_wild_grocery_cafe_v1`,title:`Wild Grocery & Cafe`},obj_oregoncoastal_dining_manzanita_left_coast_siesta_v1:{object_id:`obj_oregoncoastal_dining_manzanita_left_coast_siesta_v1`,title:`Left Coast Siesta`},obj_oregoncoastal_dining_manzanita_manzanita_coffee_company_v1:{object_id:`obj_oregoncoastal_dining_manzanita_manzanita_coffee_company_v1`,title:`Manzanita Coffee Co.`},obj_oregoncoastal_dining_manzanita_neah_kah_nie_bistro_v1:{object_id:`obj_oregoncoastal_dining_manzanita_neah_kah_nie_bistro_v1`,title:`Neah-Kah-Nie Bistro`},obj_oregoncoastal_dining_manzanita_the_winery_at_manzanita_v1:{object_id:`obj_oregoncoastal_dining_manzanita_the_winery_at_manzanita_v1`,title:`The Winery at Manzanita`},obj_oregoncoastal_dining_nehalem_buttercup_ice_creams_chowders_v1:{object_id:`obj_oregoncoastal_dining_nehalem_buttercup_ice_creams_chowders_v1`,title:`Buttercup Homemade Ice Creams & Chowders`},obj_oregoncoastal_dining_nehalem_wandas_cafe_bakery_v1:{object_id:`obj_oregoncoastal_dining_nehalem_wandas_cafe_bakery_v1`,title:`Wanda's Cafe & Bakery`},obj_oregoncoastal_dining_nehalem_the_pizza_garden_v1:{object_id:`obj_oregoncoastal_dining_nehalem_the_pizza_garden_v1`,title:`The Pizza Garden`},obj_oregoncoastal_hotel_wheeler_old_wheeler_hotel_v1:{object_id:`obj_oregoncoastal_hotel_wheeler_old_wheeler_hotel_v1`,title:`Old Wheeler Hotel`},obj_oregoncoastal_hotel_wheeler_wheeler_on_the_bay_lodge_v1:{object_id:`obj_oregoncoastal_hotel_wheeler_wheeler_on_the_bay_lodge_v1`,title:`Wheeler on the Bay Lodge`},obj_oregoncoastal_dining_wheeler_the_roost_v1:{object_id:`obj_oregoncoastal_dining_wheeler_the_roost_v1`,title:`The Roost`},obj_oregoncoastal_dining_wheeler_rising_star_cafe_v1:{object_id:`obj_oregoncoastal_dining_wheeler_rising_star_cafe_v1`,title:`Rising Star Cafe`},obj_oregoncoastal_attraction_wheeler_wheeler_marina_v1:{object_id:`obj_oregoncoastal_attraction_wheeler_wheeler_marina_v1`,title:`Wheeler Marina`},obj_oregoncoastal_hotel_rockaway_beach_rockaway_beach_resort_v1:{object_id:`obj_oregoncoastal_hotel_rockaway_beach_rockaway_beach_resort_v1`,title:`Rockaway Beach Resort`},obj_oregoncoastal_hotel_rockaway_beach_surfside_resort_v1:{object_id:`obj_oregoncoastal_hotel_rockaway_beach_surfside_resort_v1`,title:`Surfside Resort`},obj_oregoncoastal_hotel_rockaway_beach_silver_sands_motel_v1:{object_id:`obj_oregoncoastal_hotel_rockaway_beach_silver_sands_motel_v1`,title:`Silver Sands Motel`},obj_oregoncoastal_hotel_rockaway_beach_tradewinds_motel_v1:{object_id:`obj_oregoncoastal_hotel_rockaway_beach_tradewinds_motel_v1`,title:`Tradewinds Motel`},obj_oregoncoastal_hotel_rockaway_beach_twin_rocks_motel_v1:{object_id:`obj_oregoncoastal_hotel_rockaway_beach_twin_rocks_motel_v1`,title:`Twin Rocks Motel`},obj_oregoncoastal_dining_rockaway_beach_old_oregon_smokehouse_v1:{object_id:`obj_oregoncoastal_dining_rockaway_beach_old_oregon_smokehouse_v1`,title:`Old Oregon Smokehouse`},obj_oregoncoastal_dining_rockaway_beach_sand_dollar_restaurant_v1:{object_id:`obj_oregoncoastal_dining_rockaway_beach_sand_dollar_restaurant_v1`,title:`Sand Dollar Restaurant`},obj_oregoncoastal_dining_rockaway_beach_pronto_pup_v1:{object_id:`obj_oregoncoastal_dining_rockaway_beach_pronto_pup_v1`,title:`Pronto Pup`},obj_oregoncoastal_dining_rockaway_beach_the_beach_bite_v1:{object_id:`obj_oregoncoastal_dining_rockaway_beach_the_beach_bite_v1`,title:`The Beach Bite`},obj_oregoncoastal_attraction_rockaway_beach_twin_rocks_v1:{object_id:`obj_oregoncoastal_attraction_rockaway_beach_twin_rocks_v1`,title:`Twin Rocks`},obj_oregoncoastal_attraction_rockaway_beach_cedar_wetlands_preserve_v1:{object_id:`obj_oregoncoastal_attraction_rockaway_beach_cedar_wetlands_preserve_v1`,title:`Cedar Wetlands Preserve`},obj_oregoncoastal_attraction_rockaway_beach_international_police_museum_v1:{object_id:`obj_oregoncoastal_attraction_rockaway_beach_international_police_museum_v1`,title:`International Police Museum`},obj_oregoncoastal_attraction_rockaway_beach_wayside_v1:{object_id:`obj_oregoncoastal_attraction_rockaway_beach_wayside_v1`,title:`Rockaway Beach Wayside`},obj_oregoncoastal_attraction_kilchis_point_reserve_v1:{object_id:`obj_oregoncoastal_attraction_kilchis_point_reserve_v1`,title:`Kilchis Point Reserve`},obj_oregoncoastal_attraction_munson_creek_falls_v1:{object_id:`obj_oregoncoastal_attraction_munson_creek_falls_v1`,title:`Munson Creek Falls`},obj_oregoncoastal_trail_rockaway_beach_old_growth_cedar_trail_v1:{object_id:`obj_oregoncoastal_trail_rockaway_beach_old_growth_cedar_trail_v1`,title:`Cedar Wetlands Preserve Trail`},obj_oregoncoastal_hotel_garibaldi_hotel_garibaldi_v1:{object_id:`obj_oregoncoastal_hotel_garibaldi_hotel_garibaldi_v1`,title:`The Hotel Garibaldi`},obj_oregoncoastal_hotel_garibaldi_inn_at_the_bay_v1:{object_id:`obj_oregoncoastal_hotel_garibaldi_inn_at_the_bay_v1`,title:`Garibaldi Inn at the Bay`},obj_oregoncoastal_hotel_garibaldi_harborview_inn_rv_park_v1:{object_id:`obj_oregoncoastal_hotel_garibaldi_harborview_inn_rv_park_v1`,title:`Harborview Inn & RV Park`},obj_oregoncoastal_dining_garibaldi_portside_bistro_v1:{object_id:`obj_oregoncoastal_dining_garibaldi_portside_bistro_v1`,title:`Garibaldi Portside Bistro`},obj_oregoncoastal_dining_garibaldi_fishermans_korner_restaurant_v1:{object_id:`obj_oregoncoastal_dining_garibaldi_fishermans_korner_restaurant_v1`,title:`Fisherman's Korner Restaurant`},obj_oregoncoastal_dining_garibaldi_crab_rock_pizza_v1:{object_id:`obj_oregoncoastal_dining_garibaldi_crab_rock_pizza_v1`,title:`Crab Rock Pizza`},obj_oregoncoastal_attraction_garibaldi_port_of_garibaldi_marina_v1:{object_id:`obj_oregoncoastal_attraction_garibaldi_port_of_garibaldi_marina_v1`,title:`Port of Garibaldi Marina`},obj_oregoncoastal_attraction_garibaldi_piers_end_v1:{object_id:`obj_oregoncoastal_attraction_garibaldi_piers_end_v1`,title:`Pier's End`},obj_oregoncoastal_attraction_garibaldi_maritime_museum_v1:{object_id:`obj_oregoncoastal_attraction_garibaldi_maritime_museum_v1`,title:`Garibaldi Maritime Museum`},obj_oregoncoastal_attraction_oregon_coast_scenic_railroad_v1:{object_id:`obj_oregoncoastal_attraction_oregon_coast_scenic_railroad_v1`,title:`Oregon Coast Scenic Railroad`},obj_oregoncoastal_dining_bay_city_the_fish_peddler_v1:{object_id:`obj_oregoncoastal_dining_bay_city_the_fish_peddler_v1`,title:`The Fish Peddler`},obj_oregoncoastal_dining_bay_city_downies_cafe_v1:{object_id:`obj_oregoncoastal_dining_bay_city_downies_cafe_v1`,title:`Downie's Cafe`},obj_oregoncoastal_attraction_bay_city_tillamook_country_smoker_outlet_v1:{object_id:`obj_oregoncoastal_attraction_bay_city_tillamook_country_smoker_outlet_v1`,title:`Tillamook Country Smoker`},obj_oregoncoastal_trail_bay_city_kilchis_point_reserve_trailhead_loop_v1:{object_id:`obj_oregoncoastal_trail_bay_city_kilchis_point_reserve_trailhead_loop_v1`,title:`Kilchis Point Reserve Loop`},obj_oregoncoastal_trail_bay_city_flora_and_fauna_trail_v1:{object_id:`obj_oregoncoastal_trail_bay_city_flora_and_fauna_trail_v1`,title:`Flora & Fauna Trail`},obj_oregoncoastal_attraction_bay_city_pacific_oyster_company_v1:{object_id:`obj_oregoncoastal_attraction_bay_city_pacific_oyster_company_v1`,title:`Pacific Oyster`},obj_oregoncoastal_attraction_bay_city_arts_center_v1:{object_id:`obj_oregoncoastal_attraction_bay_city_arts_center_v1`,title:`Bay City Arts Center`},obj_oregoncoastal_attraction_bay_city_al_griffin_memorial_park_v1:{object_id:`obj_oregoncoastal_attraction_bay_city_al_griffin_memorial_park_v1`,title:`Al Griffin Memorial Park`},obj_oregoncoastal_hotel_tillamook_ashley_inn_of_tillamook_v1:{object_id:`obj_oregoncoastal_hotel_tillamook_ashley_inn_of_tillamook_v1`,title:`Ashley Inn of Tillamook`},obj_oregoncoastal_hotel_tillamook_tillamook_inn_v1:{object_id:`obj_oregoncoastal_hotel_tillamook_tillamook_inn_v1`,title:`Tillamook Inn`},obj_oregoncoastal_hotel_tillamook_western_royal_inn_v1:{object_id:`obj_oregoncoastal_hotel_tillamook_western_royal_inn_v1`,title:`Western Royal Inn`},obj_oregoncoastal_dining_tillamook_pacific_restaurant_v1:{object_id:`obj_oregoncoastal_dining_tillamook_pacific_restaurant_v1`,title:`Pacific Restaurant`},obj_oregoncoastal_dining_tillamook_alices_country_house_v1:{object_id:`obj_oregoncoastal_dining_tillamook_alices_country_house_v1`,title:`Alice's Country House`},obj_oregoncoastal_dining_tillamook_la_mexicana_restaurant_v1:{object_id:`obj_oregoncoastal_dining_tillamook_la_mexicana_restaurant_v1`,title:`La Mexicana Restaurant`},obj_oregoncoastal_dining_tillamook_five_rivers_coffee_roasters_v1:{object_id:`obj_oregoncoastal_dining_tillamook_five_rivers_coffee_roasters_v1`,title:`Five Rivers Coffee Roasters`},obj_oregoncoastal_dining_tillamook_werner_beef_brew_v1:{object_id:`obj_oregoncoastal_dining_tillamook_werner_beef_brew_v1`,title:`Werner Beef & Brew`},obj_oregoncoastal_dining_tillamook_jandy_oyster_co_v1:{object_id:`obj_oregoncoastal_dining_tillamook_jandy_oyster_co_v1`,title:`JAndy Oyster Co.`},obj_oregoncoastal_trail_cape_lookout_cape_trail_v1:{object_id:`obj_oregoncoastal_trail_cape_lookout_cape_trail_v1`,title:`Cape Lookout Trail`},obj_oregoncoastal_trail_cape_meares_lighthouse_trail_v1:{object_id:`obj_oregoncoastal_trail_cape_meares_lighthouse_trail_v1`,title:`Cape Meares Lighthouse Trail`},obj_oregoncoastal_trail_tillamook_kings_mountain_trail_v1:{object_id:`obj_oregoncoastal_trail_tillamook_kings_mountain_trail_v1`,title:`Kings Mountain Trail`},obj_oregoncoastal_trail_near_tillamook_munson_creek_falls_trail_v1:{object_id:`obj_oregoncoastal_trail_near_tillamook_munson_creek_falls_trail_v1`,title:`Munson Creek Falls Trail`},obj_oregoncoastal_attraction_tillamook_tillamook_creamery_v1:{object_id:`obj_oregoncoastal_attraction_tillamook_tillamook_creamery_v1`,title:`Tillamook Creamery`},obj_oregoncoastal_attraction_tillamook_blue_heron_french_cheese_company_v1:{object_id:`obj_oregoncoastal_attraction_tillamook_blue_heron_french_cheese_company_v1`,title:`Blue Heron French Cheese Company`},obj_oregoncoastal_attraction_tillamook_county_pioneer_museum_v1:{object_id:`obj_oregoncoastal_attraction_tillamook_county_pioneer_museum_v1`,title:`Tillamook County Pioneer Museum`},obj_oregoncoastal_attraction_tillamook_forest_center_v1:{object_id:`obj_oregoncoastal_attraction_tillamook_forest_center_v1`,title:`Tillamook Forest Center`},obj_oregoncoastal_attraction_tillamook_latimer_quilt_textile_center_v1:{object_id:`obj_oregoncoastal_attraction_tillamook_latimer_quilt_textile_center_v1`,title:`Latimer Quilt & Textile Center`},obj_oregoncoastal_attraction_tillamook_three_capes_scenic_loop_v1:{object_id:`obj_oregoncoastal_attraction_tillamook_three_capes_scenic_loop_v1`,title:`Three Capes Scenic Loop`},obj_oregoncoastal_dining_netarts_schooner_restaurant_lounge_v1:{object_id:`obj_oregoncoastal_dining_netarts_schooner_restaurant_lounge_v1`,title:`The Schooner Restaurant & Lounge`},obj_oregoncoastal_hotel_netarts_terimore_lodging_by_the_sea_v1:{object_id:`obj_oregoncoastal_hotel_netarts_terimore_lodging_by_the_sea_v1`,title:`Terimore Lodging by the Sea`},obj_oregoncoastal_hotel_netarts_the_surf_inn_v1:{object_id:`obj_oregoncoastal_hotel_netarts_the_surf_inn_v1`,title:`The Surf Inn`},obj_oregoncoastal_dining_netarts_bayside_market_deli_v1:{object_id:`obj_oregoncoastal_dining_netarts_bayside_market_deli_v1`,title:`Bayside Market & Deli`},obj_oregoncoastal_attraction_netarts_jacobsen_salt_company_v1:{object_id:`obj_oregoncoastal_attraction_netarts_jacobsen_salt_company_v1`,title:`Jacobsen Salt Company`},obj_oregoncoastal_attraction_oceanside_tunnel_beach_v1:{object_id:`obj_oregoncoastal_attraction_oceanside_tunnel_beach_v1`,title:`Tunnel Beach`},obj_oregoncoastal_attraction_oceanside_maxwell_point_tunnel_v1:{object_id:`obj_oregoncoastal_attraction_oceanside_maxwell_point_tunnel_v1`,title:`Maxwell Point Tunnel`},obj_oregoncoastal_hotel_oceanside_oceanside_inn_v1:{object_id:`obj_oregoncoastal_hotel_oceanside_oceanside_inn_v1`,title:`Oceanside Inn`},obj_oregoncoastal_dining_oceanside_roseannas_cafe_v1:{object_id:`obj_oregoncoastal_dining_oceanside_roseannas_cafe_v1`,title:`Roseanna's Cafe`},obj_oregoncoastal_dining_oceanside_blue_agate_cafe_v1:{object_id:`obj_oregoncoastal_dining_oceanside_blue_agate_cafe_v1`,title:`Blue Agate Cafe`},obj_oregoncoastal_dining_oceanside_current_cafe_v1:{object_id:`obj_oregoncoastal_dining_oceanside_current_cafe_v1`,title:`Current Cafe`},obj_oregoncoastal_attraction_cape_meares_viewpoint_v1:{object_id:`obj_oregoncoastal_attraction_cape_meares_viewpoint_v1`,title:`Cape Meares`},obj_oregoncoastal_trail_cape_meares_octopus_tree_trail_v1:{object_id:`obj_oregoncoastal_trail_cape_meares_octopus_tree_trail_v1`,title:`Octopus Tree Trail`},obj_oregoncoastal_attraction_oceanside_oceanside_beach_v1:{object_id:`obj_oregoncoastal_attraction_oceanside_oceanside_beach_v1`,title:`Oceanside Beach`},obj_oregoncoastal_hotel_pacific_city_headlands_coastal_lodge_and_spa_v1:{object_id:`obj_oregoncoastal_hotel_pacific-city_headlands-coastal-lodge-and-spa_v1`,title:`Headlands Coastal Lodge & Spa`},obj_oregoncoastal_hotel_pacific_city_inn_at_cape_kiwanda_v1:{object_id:`obj_oregoncoastal_hotel_pacific-city_inn-at-cape-kiwanda_v1`,title:`Inn at Cape Kiwanda`},obj_oregoncoastal_hotel_pacific_city_pacific_city_inn_v1:{object_id:`obj_oregoncoastal_hotel_pacific-city_pacific-city-inn_v1`,title:`Pacific City Inn`},obj_oregoncoastal_hotel_pacific_city_surf_and_sand_inn_v1:{object_id:`obj_oregoncoastal_hotel_pacific-city_surf-and-sand-inn_v1`,title:`Surf & Sand Inn`},obj_oregoncoastal_hotel_pacific_city_the_anchorage_motel_v1:{object_id:`obj_oregoncoastal_hotel_pacific-city_the-anchorage-motel_v1`,title:`The Anchorage Motel`},obj_oregoncoastal_dining_pacific_city_pelican_brewing_company_v1:{object_id:`obj_oregoncoastal_dining_pacific-city_pelican-brewing-company_v1`,title:`Pelican Brewing Company`},obj_oregoncoastal_dining_pacific_city_grateful_bread_restaurant_bakery_v1:{object_id:`obj_oregoncoastal_dining_pacific-city_grateful-bread-restaurant-bakery_v1`,title:`The Grateful Bread Bakery`},obj_oregoncoastal_dining_pacific_city_meridian_restaurant_and_bar_v1:{object_id:`obj_oregoncoastal_dining_pacific-city_meridian-restaurant-and-bar_v1`,title:`Meridian Restaurant & Bar`},obj_oregoncoastal_dining_pacific_city_the_riverhouse_nestucca_v1:{object_id:`obj_oregoncoastal_dining_pacific-city_the-riverhouse-nestucca_v1`,title:`The Riverhouse Nestucca`},obj_oregoncoastal_dining_pacific_city_stimulus_coffee_plus_bakery_v1:{object_id:`obj_oregoncoastal_dining_pacific-city_stimulus-coffee-plus-bakery_v1`,title:`Stimulus Coffee + Bakery`},obj_oregoncoastal_dining_pacific_city_ben_and_jeffs_burgers_tacos_v1:{object_id:`obj_oregoncoastal_dining_pacific-city_ben-and-jeffs-burgers-tacos_v1`,title:`Ben & Jeff's Burgers and Tacos`},obj_oregoncoastal_dining_pacific_city_beach_walk_v1:{object_id:`obj_oregoncoastal_dining_pacific-city_beach-walk-pacific-city-beach-walk_v1`,title:`Beach Walk`},obj_oregoncoastal_dining_pacific_city_doryland_pizza_v1:{object_id:`obj_oregoncoastal_dining_pacific-city_doryland-pizza_v1`,title:`Doryland Pizza`},obj_oregoncoastal_dining_pacific_city_sportsmans_pub_n_grub_v1:{object_id:`obj_oregoncoastal_dining_pacific-city_sportsmans-pub-n-grub_v1`,title:`Sportsman's Pub-n-Grub`},obj_oregoncoastal_attraction_pacific_city_cape_kiwanda_state_natural_area_v1:{object_id:`obj_oregoncoastal_attraction_pacific-city_cape-kiwanda-state-natural-area_v1`,title:`Cape Kiwanda State Natural Area`},obj_oregoncoastal_attraction_pacific_city_haystack_rock_v1:{object_id:`obj_oregoncoastal_attraction_pacific-city_haystack-rock-pacific-city_v1`,title:`Haystack Rock`},obj_oregoncoastal_attraction_pacific_city_dory_fleet_v1:{object_id:`obj_oregoncoastal_attraction_pacific-city_pacific-city-dory-fleet_v1`,title:`Dory Fishing Fleet`},obj_oregoncoastal_attraction_pacific_city_bob_straub_state_park_v1:{object_id:`obj_oregoncoastal_attraction_pacific-city_bob-straub-state-park_v1`,title:`Bob Straub State Park`},obj_oregoncoastal_dining_neskowin_hawk_creek_cafe_v1:{object_id:`obj_oregoncoastal_dining_neskowin_hawk-creek-cafe_v1`,title:`Hawk Creek Cafe`},obj_oregoncoastal_dining_neskowin_neskowin_provisions_v1:{object_id:`obj_oregoncoastal_dining_neskowin_neskowin-provisions_v1`,title:`Neskowin Trading Company`},obj_oregoncoastal_attraction_neskowin_ghost_forest_v1:{object_id:`obj_oregoncoastal_attraction_neskowin_ghost-forest_v1`,title:`Ghost Forest`},obj_oregoncoastal_attraction_neskowin_proposal_rock_v1:{object_id:`obj_oregoncoastal_attraction_neskowin_proposal-rock_v1`,title:`Proposal Rock`},obj_oregoncoastal_attraction_neskowin_neskowin_beach_v1:{object_id:`obj_oregoncoastal_attraction_neskowin_neskowin-beach_v1`,title:`Neskowin Beach`},obj_oregoncoastal_attraction_neskowin_cascade_head_v1:{object_id:`obj_oregoncoastal_attraction_neskowin_cascade-head_v1`,title:`Cascade Head`},obj_oregoncoastal_attraction_neskowin_neskowin_beach_golf_course_v1:{object_id:`obj_oregoncoastal_attraction_neskowin_neskowin-beach-golf-course_v1`,title:`Neskowin Beach Golf Course`},obj_oregoncoastal_hotel_lincoln_city_starfish_manor_oceanfront_hotel_v1:{object_id:`obj_oregoncoastal_hotel_lincoln-city_starfish-manor-oceanfront-hotel_v1`,title:`Starfish Manor Oceanfront Hotel`},obj_oregoncoastal_hotel_lincoln_city_the_coho_oceanfront_lodge_v1:{object_id:`obj_oregoncoastal_hotel_lincoln-city_the-coho-oceanfront-lodge_v1`,title:`The Coho Oceanfront Lodge`},obj_oregoncoastal_hotel_lincoln_city_sailor_jacks_oceanfront_inn_v1:{object_id:`obj_oregoncoastal_hotel_lincoln-city_sailor-jacks-oceanfront-inn_v1`,title:`Sailor Jack's Oceanfront Inn`},obj_oregoncoastal_hotel_lincoln_city_lincoln_sands_oceanfront_resort_v1:{object_id:`obj_oregoncoastal_hotel_lincoln-city_lincoln-sands-oceanfront-resort-ascend-hotel-collection_v1`,title:`Lincoln Sands Oceanfront Resort`},obj_oregoncoastal_hotel_lincoln_city_ashley_inn_and_suites_v1:{object_id:`obj_oregoncoastal_hotel_lincoln-city_ashley-inn-and-suites_v1`,title:`The Ashley Inn & Suites`},obj_oregoncoastal_hotel_lincoln_city_siletz_bay_beachfront_hotel_v1:{object_id:`obj_oregoncoastal_hotel_lincoln-city_siletz-bay-beachfront-hotel-by-oyo-lincoln-city_v1`,title:`Siletz Bay Beachfront Hotel`},obj_oregoncoastal_hotel_lincoln_city_holiday_inn_express_and_suites_v1:{object_id:`obj_oregoncoastal_hotel_lincoln-city_holiday-inn-express-and-suites-lincoln-city_v1`,title:`Holiday Inn Express & Suites`},obj_oregoncoastal_hotel_lincoln_city_comfort_inn_and_suites_v1:{object_id:`obj_oregoncoastal_hotel_lincoln-city_comfort-inn-and-suites_v1`,title:`Comfort Inn & Suites`},obj_oregoncoastal_hotel_lincoln_city_surfland_hotel_v1:{object_id:`obj_oregoncoastal_hotel_lincoln-city_surfland-hotel_v1`,title:`Surfland Hotel`},obj_oregoncoastal_hotel_lincoln_city_surftides_hotel_v1:{object_id:`obj_oregoncoastal_hotel_lincoln-city_surftides-hotel_v1`,title:`Surftides`},obj_oregoncoastal_attraction_lincoln_city_finders_keepers_v1:{object_id:`obj_oregoncoastal_attraction_lincoln-city_finders-keepers_v1`,title:`Finders Keepers Glass Float Hunt`},obj_oregoncoastal_attraction_lincoln_city_lincoln_city_glass_center_v1:{object_id:`obj_oregoncoastal_attraction_lincoln-city_lincoln-city-glass-center_v1`,title:`Lincoln City Glass Center`},obj_oregoncoastal_attraction_lincoln_city_devils_lake_state_recreation_area_v1:{object_id:`obj_oregoncoastal_attraction_lincoln-city_devils-lake-state-recreation-area_v1`,title:`Devil's Lake State Recreation Area`},obj_oregoncoastal_attraction_lincoln_city_chinook_winds_casino_resort_v1:{object_id:`obj_oregoncoastal_attraction_lincoln-city_chinook-winds-casino-resort_v1`,title:`Chinook Winds Casino Resort`},obj_oregoncoastal_attraction_lincoln_city_nelscott_reef_v1:{object_id:`obj_oregoncoastal_attraction_lincoln-city_nelscott-reef_v1`,title:`Nelscott Reef`},obj_oregoncoastal_attraction_lincoln_city_roads_end_state_recreation_site_v1:{object_id:`obj_oregoncoastal_attraction_lincoln-city_roads-end-state-recreation-site_v1`,title:`Road's End State Recreation Site`},obj_oregoncoastal_attraction_lincoln_city_lincoln_city_outlets_v1:{object_id:`obj_oregoncoastal_attraction_lincoln-city_lincoln-city-outlets_v1`,title:`Lincoln City Outlets`},obj_oregoncoastal_hotel_gleneden_beach_salishan_coastal_lodge_v1:{object_id:`obj_oregoncoastal_hotel_gleneden-beach_salishan-coastal-lodge_v1`,title:`Salishan Coastal Lodge`},obj_oregoncoastal_hotel_gleneden_beach_worldmark_gleneden_v1:{object_id:`obj_oregoncoastal_hotel_gleneden-beach_worldmark-gleneden_v1`,title:`WorldMark Gleneden`},obj_oregoncoastal_dining_gleneden_beach_the_attic_v1:{object_id:`obj_oregoncoastal_dining_gleneden-beach_the-attic_v1`,title:`The Attic Lounge`},obj_oregoncoastal_dining_gleneden_beach_the_side_door_cafe_v1:{object_id:`obj_oregoncoastal_dining_gleneden-beach_the-side-door-cafe_v1`,title:`Side Door Cafe`},obj_oregoncoastal_dining_gleneden_beach_beachcrest_brewing_co_v1:{object_id:`obj_oregoncoastal_dining_gleneden-beach_beachcrest-brewing-co_v1`,title:`Beachcrest Brewing`},obj_oregoncoastal_dining_gleneden_beach_salishack_tavern_v1:{object_id:`obj_oregoncoastal_dining_gleneden-beach_salishack-tavern_v1`,title:`Salishack Tavern`},obj_oregoncoastal_dining_gleneden_beach_hook_and_slice_v1:{object_id:`obj_oregoncoastal_dining_gleneden-beach_hook-and-slice_v1`,title:`Hook & Slice`},obj_oregoncoastal_dining_gleneden_beach_provisions_market_v1:{object_id:`obj_oregoncoastal_dining_gleneden-beach_provisions-market_v1`,title:`Provisions Market`},obj_oregoncoastal_dining_gleneden_beach_depoe_baykery_v1:{object_id:`obj_oregoncoastal_dining_gleneden-beach_depoe-baykery_v1`,title:`Depoe Baykery`},obj_oregoncoastal_attraction_gleneden_beach_salishan_golf_links_v1:{object_id:`obj_oregoncoastal_attraction_gleneden-beach_salishan-golf-links_v1`,title:`Salishan Golf Links`},obj_oregoncoastal_attraction_gleneden_beach_gleneden_beach_state_recreation_site_v1:{object_id:`obj_oregoncoastal_attraction_gleneden-beach_gleneden-beach-state-recreation-site_v1`,title:`Gleneden Beach State Recreation Site`},obj_oregoncoastal_attraction_gleneden_beach_the_marketplace_at_salishan_v1:{object_id:`obj_oregoncoastal_attraction_gleneden-beach_the-marketplace-at-salishan-coastal-lodge_v1`,title:`Salishan Marketplace`},obj_oregoncoastal_attraction_gleneden_beach_eden_hall_v1:{object_id:`obj_oregoncoastal_attraction_gleneden-beach_eden-hall_v1`,title:`Eden Hall`},obj_oregoncoastal_hotel_depoe_bay_whale_cove_inn_v1:{object_id:`obj_oregoncoastal_hotel_depoe-bay_whale-cove-inn_v1`,title:`Whale Cove Inn`},obj_oregoncoastal_hotel_depoe_bay_the_inn_at_arch_rock_v1:{object_id:`obj_oregoncoastal_hotel_depoe-bay_the-inn-at-arch-rock_v1`,title:`Inn at Arch Rock`},obj_oregoncoastal_hotel_depoe_bay_travelodge_by_wyndham_depoe_bay_v1:{object_id:`obj_oregoncoastal_hotel_depoe-bay_travelodge-by-wyndham-depoe-bay_v1`,title:`Travelodge by Wyndham Depoe Bay`},obj_oregoncoastal_hotel_depoe_bay_worldmark_depoe_bay_v1:{object_id:`obj_oregoncoastal_hotel_depoe-bay_worldmark-depoe-bay_v1`,title:`WorldMark Depoe Bay`},obj_oregoncoastal_dining_depoe_bay_tidal_raves_v1:{object_id:`obj_oregoncoastal_dining_depoe-bay_tidal-raves_v1`,title:`Tidal Raves`},obj_oregoncoastal_dining_depoe_bay_restaurant_beck_v1:{object_id:`obj_oregoncoastal_dining_depoe-bay_restaurant-beck_v1`,title:`Restaurant Beck`},obj_oregoncoastal_dining_depoe_bay_gracies_sea_hag_v1:{object_id:`obj_oregoncoastal_dining_depoe-bay_gracies-sea-hag_v1`,title:`Gracie's Sea Hag`},obj_oregoncoastal_dining_depoe_bay_the_horn_public_house_v1:{object_id:`obj_oregoncoastal_dining_depoe-bay_the-horn-public-house-and-depoe-bay-brewing-co_v1`,title:`The Horn Public House`},obj_oregoncoastal_dining_depoe_bay_arch_rock_caffe_v1:{object_id:`obj_oregoncoastal_dining_depoe-bay_arch-rock-caffe_v1`,title:`Arch Rock Cafe`},obj_oregoncoastal_dining_depoe_bay_mazatlan_mexican_restaurant_v1:{object_id:`obj_oregoncoastal_dining_depoe-bay_mazatlan-mexican-restaurant_v1`,title:`Mazatlan Mexican Restaurant`},obj_oregoncoastal_attraction_depoe_bay_spouting_horn_v1:{object_id:`obj_oregoncoastal_attraction_depoe-bay_depoe-bays-spouting-horn_v1`,title:`The Spouting Horns`},obj_oregoncoastal_attraction_depoe_bay_harbor_v1:{object_id:`obj_oregoncoastal_attraction_depoe-bay_depoe-bay-harbor_v1`,title:`World's Smallest Harbor`},obj_oregoncoastal_attraction_depoe_bay_boiler_bay_state_scenic_viewpoint_v1:{object_id:`obj_oregoncoastal_attraction_depoe-bay_boiler-bay-state-scenic-viewpoint_v1`,title:`Boiler Bay State Scenic Viewpoint`},obj_oregoncoastal_attraction_depoe_bay_rocky_creek_state_scenic_viewpoint_v1:{object_id:`obj_oregoncoastal_attraction_depoe-bay_rocky-creek-state-scenic-viewpoint_v1`,title:`Rocky Creek State Scenic Viewpoint`},obj_oregoncoastal_attraction_depoe_bay_depoe_bay_winery_v1:{object_id:`obj_oregoncoastal_attraction_depoe-bay_depoe-bay-winery_v1`,title:`Depoe Bay Winery`},obj_oregoncoastal_hotel_otter_rock_the_inn_at_otter_crest_v1:{object_id:`obj_oregoncoastal_hotel_otter-rock_the-inn-at-otter-crest_v1`,title:`The Inn at Otter Crest`},obj_oregoncoastal_dining_otter_rock_flying_dutchman_winery_v1:{object_id:`obj_oregoncoastal_dining_otter-rock_flying-dutchman-winery_v1`,title:`Flying Dutchman Winery`},obj_oregoncoastal_dining_otter_rock_cliffside_coffee_and_sweets_v1:{object_id:`obj_oregoncoastal_dining_otter-rock_cliffside-coffee-and-sweets_v1`,title:`Cliffside Coffee & Sweets`},obj_oregoncoastal_attraction_otter_rock_pura_vida_surf_shop_v1:{object_id:`obj_oregoncoastal_attraction_otter-rock_pura-vida-surf-shop_v1`,title:`Pura Vida Surf Shop`},obj_oregoncoastal_attraction_otter_rock_devils_punchbowl_state_natural_area_v1:{object_id:`obj_oregoncoastal_attraction_otter-rock_devils-punchbowl-state-natural-area_v1`,title:`Devil's Punchbowl State Natural Area`},obj_oregoncoastal_attraction_otter_rock_otter_rock_marine_reserve_v1:{object_id:`obj_oregoncoastal_attraction_otter-rock_otter-rock-marine-reserve_v1`,title:`Otter Rock Marine Reserve`},obj_oregoncoastal_hotel_newport_hotel_sylvia_v1:{object_id:`obj_oregoncoastal_hotel_newport_hotel-sylvia_v1`,title:`Sylvia Beach Hotel`},obj_oregoncoastal_hotel_newport_hallmark_resort_newport_v1:{object_id:`obj_oregoncoastal_hotel_newport_hallmark-resort-newport_v1`,title:`Hallmark Resort - Newport`},obj_oregoncoastal_hotel_newport_elizabeth_oceanfront_suites_v1:{object_id:`obj_oregoncoastal_hotel_newport_elizabeth-oceanfront-suites_v1`,title:`Elizabeth Oceanfront Suites`},obj_oregoncoastal_hotel_newport_best_western_plus_agate_beach_inn_v1:{object_id:`obj_oregoncoastal_hotel_newport_best-western-plus-agate-beach-inn_v1`,title:`Best Western Plus Agate Beach Inn`},obj_oregoncoastal_hotel_newport_little_creek_cove_v1:{object_id:`obj_oregoncoastal_hotel_newport_little-creek-cove_v1`,title:`Little Creek Cove Beachfront Resort`},obj_oregoncoastal_hotel_newport_holiday_inn_express_suites_newport_v1:{object_id:`obj_oregoncoastal_hotel_newport_holiday-inn-express-suites-newport_v1`,title:`Holiday Inn Express`},obj_oregoncoastal_hotel_newport_oyo_waves_hotel_newport_nye_beach_v1:{object_id:`obj_oregoncoastal_hotel_newport_oyo-waves-hotel-newport-nye-beach_v1`,title:`Waves Hotel Nye Beach`},obj_oregoncoastal_hotel_newport_comfort_inn_newport_v1:{object_id:`obj_oregoncoastal_hotel_newport_comfort-inn-newport_v1`,title:`Comfort Inn Newport`},obj_oregoncoastal_hotel_newport_newport_inn_by_oyo_hwy_101_v1:{object_id:`obj_oregoncoastal_hotel_newport_newport-inn-by-oyo-hwy-101_v1`,title:`Newport Inn by OYO`},obj_oregoncoastal_hotel_newport_motel_6_newport_v1:{object_id:`obj_oregoncoastal_hotel_newport_motel-6-newport_v1`,title:`Motel 6 Newport`},obj_oregoncoastal_hotel_waldport_waldport_inn_v1:{object_id:`obj_oregoncoastal_hotel_waldport_waldport-inn_v1`,title:`The Waldport Inn`},obj_oregoncoastal_hotel_yachats_overleaf_lodge_and_spa_v1:{object_id:`obj_oregoncoastal_hotel_yachats_overleaf-lodge-and-spa_v1`,title:`Overleaf Lodge & Spa`},obj_oregoncoastal_hotel_yachats_adobe_resort_v1:{object_id:`obj_oregoncoastal_hotel_yachats_adobe-resort_v1`,title:`Adobe Resort`},obj_oregoncoastal_hotel_yachats_fireside_motel_v1:{object_id:`obj_oregoncoastal_hotel_yachats_fireside-motel_v1`,title:`Fireside Motel`},obj_oregoncoastal_hotel_yachats_silver_surf_motel_v1:{object_id:`obj_oregoncoastal_hotel_yachats_silver-surf-motel_v1`,title:`Silver Surf Motel`},obj_oregoncoastal_hotel_yachats_tillicum_beach_motel_v1:{object_id:`obj_oregoncoastal_hotel_yachats_tillicum-beach-motel_v1`,title:`Tillicum Beach Motel`},obj_oregoncoastal_hotel_florence_driftwood_shores_resort_v1:{object_id:`obj_oregoncoastal_hotel_florence_driftwood-shores-resort_v1`,title:`Driftwood Shores Resort`},obj_oregoncoastal_hotel_florence_river_house_inn_v1:{object_id:`obj_oregoncoastal_hotel_florence_river-house-inn_v1`,title:`River House Inn`},obj_oregoncoastal_hotel_florence_best_western_pier_point_inn_v1:{object_id:`obj_oregoncoastal_hotel_florence_best-western-pier-point-inn_v1`,title:`Best Western Pier Point Inn`},obj_oregoncoastal_hotel_florence_three_rivers_casino_resort_v1:{object_id:`obj_oregoncoastal_hotel_florence_three-rivers-casino-resort_v1`,title:`Three Rivers Casino Resort`},obj_oregoncoastal_hotel_florence_economy_inn_florence_v1:{object_id:`obj_oregoncoastal_hotel_florence_economy-inn-florence_v1`,title:`Economy Inn Florence`},obj_oregoncoastal_hotel_florence_quality_inn_florence_v1:{object_id:`obj_oregoncoastal_hotel_florence_quality-inn-florence_v1`,title:`Quality Inn Florence`},obj_oregoncoastal_dining_newport_local_ocean_seafoods_v1:{object_id:`obj_oregoncoastal_dining_newport_local-ocean-seafoods_v1`,title:`Local Ocean Seafoods`},obj_oregoncoastal_dining_newport_clearwater_restaurant_v1:{object_id:`obj_oregoncoastal_dining_newport_clearwater-restaurant_v1`,title:`Clearwater Restaurant`},obj_oregoncoastal_dining_newport_georgies_beachside_grill_v1:{object_id:`obj_oregoncoastal_dining_newport_georgies-beachside-grill_v1`,title:`Georgie's Beachside Grill`},obj_oregoncoastal_dining_newport_nanas_irish_pub_v1:{object_id:`obj_oregoncoastal_dining_newport_nanas-irish-pub_v1`,title:`Nana's Irish Pub`},obj_oregoncoastal_dining_newport_sorella_italian_v1:{object_id:`obj_oregoncoastal_dining_newport_sorella-italian_v1`,title:`Sorella`},obj_oregoncoastal_dining_newport_newport_chowder_bowl_v1:{object_id:`obj_oregoncoastal_dining_newport_newport-chowder-bowl_v1`,title:`Newport Chowder Bowls`},obj_oregoncoastal_dining_newport_panini_bakery_v1:{object_id:`obj_oregoncoastal_dining_newport_panini-bakery_v1`,title:`Panini Bakery`},obj_oregoncoastal_dining_newport_zachs_bistro_v1:{object_id:`obj_oregoncoastal_dining_newport_zachs-bistro_v1`,title:`Zach's Bistro`},obj_oregoncoastal_dining_newport_the_coffee_house_v1:{object_id:`obj_oregoncoastal_dining_newport_the-coffee-house_v1`,title:`The Coffee House`},obj_oregoncoastal_dining_toledo_timbers_restaurant_lounge_v1:{object_id:`obj_oregoncoastal_dining_toledo_timbers-restaurant-lounge_v1`,title:`Timbers Restaurant & Lounge`},obj_oregoncoastal_dining_toledo_cobblestone_pizza_co_v1:{object_id:`obj_oregoncoastal_dining_toledo_cobblestone-pizza-co_v1`,title:`Cobblestone Pizza Co.`},obj_oregoncoastal_dining_waldport_hilltop_cafe_bistro_v1:{object_id:`obj_oregoncoastal_dining_waldport_hilltop-cafe-bistro_v1`,title:`Hilltop Café Bistro`},obj_oregoncoastal_dining_waldport_skosh_v1:{object_id:`obj_oregoncoastal_dining_waldport_skosh_v1`,title:`SkoSH`},obj_oregoncoastal_dining_waldport_grand_central_pizza_v1:{object_id:`obj_oregoncoastal_dining_waldport_grand-central-pizza_v1`,title:`Grand Central Pizza`},obj_oregoncoastal_dining_waldport_salty_dawg_bar_grill_v1:{object_id:`obj_oregoncoastal_dining_waldport_salty-dawg-bar-grill_v1`,title:`Salty Dawg`},obj_oregoncoastal_dining_waldport_fresh_mexican_food_v1:{object_id:`obj_oregoncoastal_dining_waldport_fresh-mexican-food_v1`,title:`Mexican Fresh`},obj_oregoncoastal_dining_yachats_ona_restaurant_lounge_v1:{object_id:`obj_oregoncoastal_dining_yachats_ona-restaurant-lounge_v1`,title:`Ona Restaurant & Lounge`},obj_oregoncoastal_dining_yachats_luna_sea_fish_house_v1:{object_id:`obj_oregoncoastal_dining_yachats_luna-sea-fish-house_v1`,title:`Luna Sea Fish House`},obj_oregoncoastal_dining_yachats_pelican_brewing_yachats_v1:{object_id:`obj_oregoncoastal_dining_yachats_pelican-brewing-yachats_v1`,title:`Pelican Brewing Yachats`},obj_oregoncoastal_dining_yachats_outta_gas_pizza_v1:{object_id:`obj_oregoncoastal_dining_yachats_outta-gas-pizza_v1`,title:`Outta Gas Pizza`},obj_oregoncoastal_dining_yachats_green_salmon_coffee_company_v1:{object_id:`obj_oregoncoastal_dining_yachats_green-salmon-coffee-company_v1`,title:`Green Salmon Coffee & Tea`},obj_oregoncoastal_dining_yachats_beach_street_kitchen_v1:{object_id:`obj_oregoncoastal_dining_yachats_beach-street-kitchen_v1`,title:`Beach Street Kitchen`},obj_oregoncoastal_dining_florence_waterfront_depot_v1:{object_id:`obj_oregoncoastal_dining_florence_waterfront-depot_v1`,title:`Waterfront Depot`},obj_oregoncoastal_dining_florence_mos_in_old_town_florence_v1:{object_id:`obj_oregoncoastal_dining_florence_mos-in-old-town-florence_v1`,title:`Mo's Restaurant`},obj_oregoncoastal_dining_florence_novellis_crab_seafood_v1:{object_id:`obj_oregoncoastal_dining_florence_novellis-crab-seafood_v1`,title:`Novelli's Crab & Seafood`},obj_oregoncoastal_dining_florence_homegrown_public_house_v1:{object_id:`obj_oregoncoastal_dining_florence_homegrown-public-house_v1`,title:`Homegrown Public House`},obj_oregoncoastal_dining_florence_1285_restobar_v1:{object_id:`obj_oregoncoastal_dining_florence_1285-restobar_v1`,title:`1285 Restobar`},obj_oregoncoastal_dining_florence_river_roasters_coffeehouse_v1:{object_id:`obj_oregoncoastal_dining_florence_river-roasters-coffeehouse_v1`,title:`River Roasters`},obj_oregoncoastal_dining_florence_bjs_ice_cream_parlor_v1:{object_id:`obj_oregoncoastal_dining_florence_bjs-ice-cream-parlor_v1`,title:`BJ's Ice Cream`},obj_oregoncoastal_dining_florence_lovejoys_restaurant_tearoom_v1:{object_id:`obj_oregoncoastal_dining_florence_lovejoys-restaurant-tearoom_v1`,title:`Lovejoy's Restaurant`},obj_oregoncoastal_dining_florence_nosh_eatery_v1:{object_id:`obj_oregoncoastal_dining_florence_nosh-eatery_v1`,title:`Nosh Eatery`},obj_oregoncoastal_attraction_newport_oregon_coast_aquarium_v1:{object_id:`obj_oregoncoastal_attraction_newport_oregon-coast-aquarium_v1`,title:`Oregon Coast Aquarium`},obj_oregoncoastal_attraction_newport_hatfield_marine_science_center_v1:{object_id:`obj_oregoncoastal_attraction_newport_hatfield-marine-science-center_v1`,title:`Hatfield Marine Science Center`},obj_oregoncoastal_attraction_newport_yaquina_head_outstanding_natural_area_v1:{object_id:`obj_oregoncoastal_attraction_newport_yaquina-head-outstanding-natural-area_v1`,title:`Yaquina Head Outstanding Natural Area`},obj_oregoncoastal_attraction_newport_yaquina_bay_lighthouse_v1:{object_id:`obj_oregoncoastal_attraction_newport_yaquina-bay-lighthouse_v1`,title:`Yaquina Bay Lighthouse`},obj_oregoncoastal_attraction_newport_marine_discovery_tours_v1:{object_id:`obj_oregoncoastal_attraction_newport_marine-discovery-tours_v1`,title:`Marine Discovery Tours`},obj_oregoncoastal_attraction_newport_south_beach_state_park_v1:{object_id:`obj_oregoncoastal_attraction_newport_south-beach-state-park_v1`,title:`South Beach State Park`},obj_oregoncoastal_attraction_newport_south_jetty_v1:{object_id:`obj_oregoncoastal_attraction_newport_south-jetty_v1`,title:`South Jetty`},obj_oregoncoastal_attraction_newport_mike_miller_educational_park_v1:{object_id:`obj_oregoncoastal_attraction_newport_mike-miller-educational-park_v1`,title:`Mike Miller Educational Park`},obj_oregoncoastal_attraction_brian_booth_state_park_v1:{object_id:`obj_oregoncoastal_attraction_brian-booth-state-park_v1`,title:`Brian Booth State Park`},obj_oregoncoastal_attraction_toledo_toledo_history_center_v1:{object_id:`obj_oregoncoastal_attraction_toledo_toledo-history-center_v1`,title:`Toledo History Center`},obj_oregoncoastal_attraction_toledo_yaquina_river_museum_of_art_v1:{object_id:`obj_oregoncoastal_attraction_toledo_yaquina-river-museum-of-art_v1`,title:`Yaquina River Museum of Art`},obj_oregoncoastal_attraction_toledo_waterfront_park_v1:{object_id:`obj_oregoncoastal_attraction_toledo_waterfront-park_v1`,title:`Port of Toledo Waterfront Park`},obj_oregoncoastal_attraction_toledo_michael_gibbons_signature_gallery_v1:{object_id:`obj_oregoncoastal_attraction_toledo_michael-gibbons-signature-gallery_v1`,title:`Michael Gibbons Signature Gallery`},obj_oregoncoastal_attraction_toledo_paddle_park_v1:{object_id:`obj_oregoncoastal_attraction_toledo_paddle-park_v1`,title:`Paddle Park`},obj_oregoncoastal_attraction_waldport_alsea_bay_bridge_visitor_center_heritage_museum_v1:{object_id:`obj_oregoncoastal_attraction_waldport_alsea-bay-bridge-visitor-center-heritage-museum_v1`,title:`Alsea Bay Bridge & Historic Interpretive Center`},obj_oregoncoastal_attraction_waldport_red_river_disc_golf_course_v1:{object_id:`obj_oregoncoastal_attraction_waldport_red-river-disc-golf-course_v1`,title:`Crestline Disc Golf Course`},obj_oregoncoastal_attraction_waldport_governor_patterson_memorial_state_recreation_site_v1:{object_id:`obj_oregoncoastal_attraction_waldport_governor-patterson-memorial-state-recreation-site_v1`,title:`Governor Patterson Memorial State Recreation Site`},obj_oregoncoastal_attraction_waldport_beachside_state_recreation_site_v1:{object_id:`obj_oregoncoastal_attraction_waldport_beachside-state-recreation-site_v1`,title:`Beachside State Recreation Site`},obj_oregoncoastal_attraction_yachats_cape_perpetua_scenic_area_v1:{object_id:`obj_oregoncoastal_attraction_yachats_cape-perpetua-scenic-area_v1`,title:`Cape Perpetua Scenic Area`},obj_oregoncoastal_attraction_yachats_thors_well_v1:{object_id:`obj_oregoncoastal_attraction_yachats_thors-well_v1`,title:`Thor's Well`},obj_oregoncoastal_attraction_yachats_devils_churn_v1:{object_id:`obj_oregoncoastal_attraction_yachats_devils-churn_v1`,title:`Devil's Churn`},obj_oregoncoastal_attraction_yachats_yachats_ocean_road_state_natural_site_v1:{object_id:`obj_oregoncoastal_attraction_yachats_yachats-ocean-road-state-natural-site_v1`,title:`Yachats Ocean Road State Natural Site`},obj_oregoncoastal_attraction_oregon_dunes_national_recreation_area_v1:{object_id:`obj_oregoncoastal_attraction_oregon-dunes-national-recreation-area_v1`,title:`Oregon Dunes National Recreation Area`},obj_oregoncoastal_attraction_florence_heceta_head_lighthouse_v1:{object_id:`obj_oregoncoastal_attraction_florence_heceta-head-lighthouse_v1`,title:`Heceta Head Lighthouse`},obj_oregoncoastal_attraction_florence_sea_lion_caves_v1:{object_id:`obj_oregoncoastal_attraction_florence_sea-lion-caves_v1`,title:`Sea Lion Caves`},obj_oregoncoastal_attraction_florence_siuslaw_river_bridge_v1:{object_id:`obj_oregoncoastal_attraction_florence_siuslaw-river-bridge_v1`,title:`Siuslaw River Bridge`},obj_oregoncoastal_attraction_florence_darlingtonia_state_natural_site_v1:{object_id:`obj_oregoncoastal_attraction_florence_darlingtonia-state-natural-site_v1`,title:`Darlingtonia State Natural Site`},obj_oregoncoastal_attraction_florence_jessie_m_honeyman_memorial_state_park_v1:{object_id:`obj_oregoncoastal_attraction_florence_jessie-m-honeyman-memorial-state-park_v1`,title:`Jessie M. Honeyman Memorial State Park`},obj_oregoncoastal_attraction_florence_sweet_creek_falls_v1:{object_id:`obj_oregoncoastal_attraction_florence_sweet-creek-falls_v1`,title:`Sweet Creek Falls`},obj_oregoncoastal_attraction_upper_lower_kentucky_falls_v1:{object_id:`obj_oregoncoastal_attraction_upper_lower_kentucky_falls_v1`,title:`Upper & Lower Kentucky Falls`},obj_oregoncoastal_trail_newport_ocean_to_bay_trail_v1:{object_id:`obj_oregoncoastal_trail_newport_ocean-to-bay-trail_v1`,title:`Ocean to Bay Trail`},obj_oregoncoastal_trail_south_beach_south_jetty_trail_v1:{object_id:`obj_oregoncoastal_trail_south-beach-south-jetty-trail_v1`,title:`South Jetty Trail`},obj_oregoncoastal_trail_newport_mike_miller_loop_v1:{object_id:`obj_oregoncoastal_trail_newport_mike-miller-loop_v1`,title:`Mike Miller Nature Loop`},obj_oregoncoastal_trail_south_beach_cooper_ridge_nature_trail_v1:{object_id:`obj_oregoncoastal_trail_south-beach_cooper-ridge-nature-trail_v1`,title:`Cooper Ridge Nature Trail`},obj_oregoncoastal_trail_south_beach_old_jetty_trail_v1:{object_id:`obj_oregoncoastal_trail_south-beach_old-jetty-trail_v1`,title:`Old Jetty Trail`},obj_oregoncoastal_trail_newport_yaquina_bay_estuary_trail_v1:{object_id:`obj_oregoncoastal_trail_newport_yaquina-bay-estuary-trail_v1`,title:`Yaquina Bay Estuary Trail`},obj_oregoncoastal_trail_waldport_oregon_coast_trail_section_v1:{object_id:`obj_oregoncoastal_trail_waldport_oregon-coast-trail-section_v1`,title:`Oregon Coast Trail (Waldport Section)`},obj_oregoncoastal_trail_waldport_woodland_trail_v1:{object_id:`obj_oregoncoastal_trail_waldport_woodland-trail_v1`,title:`Crestline Park Woodland Trail`},obj_oregoncoastal_trail_yachats_saint_perpetua_trail_1306_v1:{object_id:`obj_oregoncoastal_trail_yachats_saint-perpetua-trail-1306_v1`,title:`Saint Perpetua Trail`},obj_oregoncoastal_trail_yachats_amandas_trail_1386_v1:{object_id:`obj_oregoncoastal_trail_yachats_amandas-trail-1386_v1`,title:`Amanda's Trail`},obj_oregoncoastal_trail_yachats_cooks_ridge_trail_1372_v1:{object_id:`obj_oregoncoastal_trail_yachats_cooks-ridge-trail-1372_v1`,title:`Cook's Ridge Trail`},obj_oregoncoastal_trail_florence_heceta_lighthouse_trail_v1:{object_id:`obj_oregoncoastal_trail_florence_heceta-lighthouse-trail_v1`,title:`Heceta Head Lighthouse Trail`},obj_oregoncoastal_trail_siltcoos_lake_trail_1333_v1:{object_id:`obj_oregoncoastal_trail_siltcoos-lake-trail-1333_v1`,title:`Siltcoos Lake Trail`},obj_oregoncoastal_trail_waxmyrtle_trail_1337_v1:{object_id:`obj_oregoncoastal_trail_waxmyrtle-trail-1337_v1`,title:`Waxmyrtle Trail`},obj_oregoncoastal_trail_florence_sutton_trails_1321_v1:{object_id:`obj_oregoncoastal_trail_florence_sutton-trails-1321_v1`,title:`Sutton Trails (Loop)`},obj_oregoncoastal_event_yachats_mushroom_festival_2026_v1:{object_id:`obj_oregoncoastal_event_yachats_mushroom-festival_2026_v1`,title:`Yachats Mushroom Festival`},obj_oregoncoastal_event_florence_rhododendron_festival_2027_v1:{object_id:`obj_oregoncoastal_event_florence_rhododendron-festival_2027_v1`,title:`Rhododendron Festival`},obj_oregoncoastal_attraction_dune_city_carter_lake_v1:{object_id:`obj_oregoncoastal_attraction_dune-city_carter-lake_v1`,title:`Carter Lake`},obj_oregoncoastal_attraction_dune_city_siltcoos_lake_v1:{object_id:`obj_oregoncoastal_attraction_dune-city_siltcoos-lake_v1`,title:`Siltcoos Lake`},obj_oregoncoastal_attraction_dune_city_siltcoos_river_v1:{object_id:`obj_oregoncoastal_attraction_dune-city_siltcoos-river_v1`,title:`Siltcoos River`},obj_oregoncoastal_attraction_dune_city_woahink_lake_v1:{object_id:`obj_oregoncoastal_attraction_dune-city_woahink-lake_v1`,title:`Woahink Lake State Park`},obj_oregoncoastal_trail_carter_lake_area_carter_dunes_trail_1384_v1:{object_id:`obj_oregoncoastal_trail_carter-lake-area_carter-dunes-trail-1384_v1`,title:`Carter Dune Trail`},obj_oregoncoastal_trail_siltcoos_area_chief_tsiltcoos_trail_1359_v1:{object_id:`obj_oregoncoastal_trail_siltcoos-area_chief-tsiltcoos-trail-1359_v1`,title:`Chief Tsiltcoos Trail`},obj_oregoncoastal_trail_siltcoos_area_lagoon_loop_trail_1330_v1:{object_id:`obj_oregoncoastal_trail_siltcoos-area_lagoon-loop-trail-1330_v1`,title:`Lagoon Trail`},obj_oregoncoastal_trail_siltcoos_area_taylor_dunes_trail_1335_v1:{object_id:`obj_oregoncoastal_trail_siltcoos-area_taylor-dunes-trail-1335_v1`,title:`Taylor Dune Trail`},obj_oregoncoastal_trail_tahkenitch_area_tahkenitch_dunes_trail_1353_v1:{object_id:`obj_oregoncoastal_trail_tahkenitch-area_tahkenitch-dunes-national-recreation-trail-1353_v1`,title:`Tahkenitch Dunes Trail`},obj_oregoncoastal_attraction_reedsport_bolon_island_tideways_v1:{object_id:`obj_oregoncoastal_attraction_reedsport_bolon-island-tideways-state-scenic-corridor_v1`,title:`Bolon Island Tideways State Scenic Corridor`},obj_oregoncoastal_attraction_reedsport_dean_creek_elk_viewing_area_v1:{object_id:`obj_oregoncoastal_attraction_reedsport_dean-creek-elk-viewing-area_v1`,title:`Dean Creek Elk Viewing Area`},obj_oregoncoastal_attraction_reedsport_umpqua_discovery_center_v1:{object_id:`obj_oregoncoastal_attraction_reedsport_umpqua-discovery-center_v1`,title:`Umpqua Discovery Center`},obj_oregoncoastal_dining_reedsport_dons_main_street_family_restaurant_v1:{object_id:`obj_oregoncoastal_dining_reedsport_dons-main-street-family-restaurant_v1`,title:`Don's Main Street Family Restaurant`},obj_oregoncoastal_dining_reedsport_harborlight_restaurant_v1:{object_id:`obj_oregoncoastal_dining_reedsport_harborlight-restaurant_v1`,title:`Harbor Light Restaurant`},obj_oregoncoastal_hotel_reedsport_anchor_bay_inn_v1:{object_id:`obj_oregoncoastal_hotel_reedsport_anchor-bay-inn_v1`,title:`Anchor Bay Inn`},obj_oregoncoastal_hotel_reedsport_best_budget_inn_v1:{object_id:`obj_oregoncoastal_hotel_reedsport_best-budget-inn_v1`,title:`Best Budget Inn`},obj_oregoncoastal_hotel_reedsport_best_western_salbasgeon_v1:{object_id:`obj_oregoncoastal_hotel_reedsport_best-western-salbasgeon-inn-suites-of-reedsport_v1`,title:`Best Western Salbasgeon Inn`},obj_oregoncoastal_hotel_reedsport_economy_inn_v1:{object_id:`obj_oregoncoastal_hotel_reedsport_economy-inn_v1`,title:`Economy Inn Reedsport`},obj_oregoncoastal_trail_eel_creek_area_john_dellenback_dunes_trail_1339_v1:{object_id:`obj_oregoncoastal_trail_eel-creek-area_john-dellenback-dunes-trail-1339_v1`,title:`John Dellenback Dunes Trail`},obj_oregoncoastal_attraction_winchester_bay_lake_marie_v1:{object_id:`obj_oregoncoastal_attraction_winchester-bay_lake-marie_v1`,title:`Lake Marie`},obj_oregoncoastal_attraction_winchester_bay_salmon_harbor_marina_v1:{object_id:`obj_oregoncoastal_attraction_winchester-bay_salmon-harbor-marina_v1`,title:`Salmon Harbor Marina`},obj_oregoncoastal_attraction_winchester_bay_umpqua_river_lighthouse_v1:{object_id:`obj_oregoncoastal_attraction_winchester-bay_umpqua-river-lighthouse_v1`,title:`Umpqua River Lighthouse`},obj_oregoncoastal_hotel_winchester_bay_winchester_bay_inn_v1:{object_id:`obj_oregoncoastal_hotel_winchester-bay_winchester-bay-inn_v1`,title:`Winchester Bay Inn`},obj_oregoncoastal_trail_winchester_bay_lake_marie_walking_loop_v1:{object_id:`obj_oregoncoastal_trail_winchester-bay_lake-marie-walking-loop_v1`,title:`Lake Marie Trail`},obj_oregoncoastal_attraction_gardiner_gardiner_historic_district_v1:{object_id:`obj_oregoncoastal_attraction_gardiner_gardiner-historic-district_v1`,title:`Gardiner Historic District`},obj_oregoncoastal_attraction_oregon_dunes_overlook_v1:{object_id:`obj_oregoncoastal_attraction_oregon-dunes_oregon-dunes-overlook-and-day-use_v1`,title:`Oregon Dunes Overlook`},obj_oregoncoastal_trail_oregon_dunes_day_use_oregon_dunes_loop_trail_1334_v1:{object_id:`obj_oregoncoastal_trail_oregon-dunes-day-use_oregon-dunes-loop-trail-1334_v1`,title:`Oregon Dunes Loop`},obj_oregoncoastal_attraction_lakeside_eel_lake_v1:{object_id:`obj_oregoncoastal_attraction_lakeside_eel-lake_v1`,title:`Eel Lake`},obj_oregoncoastal_attraction_lakeside_tenmile_lakes_v1:{object_id:`obj_oregoncoastal_attraction_lakeside_tenmile-lakes_v1`,title:`Tenmile Lakes`},obj_oregoncoastal_attraction_lakeside_tenmile_lakes_park_v1:{object_id:`obj_oregoncoastal_attraction_lakeside_tenmile-lakes-park_v1`,title:`Tenmile Lakes County Park`},obj_oregoncoastal_attraction_lakeside_william_m_tugman_state_park_v1:{object_id:`obj_oregoncoastal_attraction_lakeside_william-m-tugman-state-park_v1`,title:`William M. Tugman State Park`},obj_oregoncoastal_dining_lakeside_lakeshore_lodge_restaurant_v1:{object_id:`obj_oregoncoastal_dining_lakeside_lakeshore-lodge-restaurant_v1`,title:`The Lakeshore Lodge Restaurant`},obj_oregoncoastal_dining_lakeside_up_the_creek_tavern_v1:{object_id:`obj_oregoncoastal_dining_lakeside_up-the-creek-tavern_v1`,title:`Up the Creek Tavern`},obj_oregoncoastal_hotel_lakeside_lakeshore_lodge_v1:{object_id:`obj_oregoncoastal_hotel_lakeside_lakeshore-lodge_v1`,title:`Lakeshore Lodge`},obj_oregoncoastal_trail_lakeside_area_hall_schuttpelz_lake_trail_1357_v1:{object_id:`obj_oregoncoastal_trail_lakeside-area_hall-schuttpelz-lake-trail-1357_v1`,title:`Hall Lake Trail`},obj_oregoncoastal_attraction_north_bend_david_dewett_veterans_memorial_v1:{object_id:`obj_oregoncoastal_attraction_north-bend_david-dewett-veterans-memorial-wayside_v1`,title:`David Dewett Veterans Memorial`},obj_oregoncoastal_hotel_north_bend_ko_kwel_casino_resort_v1:{object_id:`obj_oregoncoastal_hotel_north-bend_ko-kwel-casino-resort-coos-bay_v1`,title:`The Mill Casino • Hotel`},obj_oregoncoastal_dining_north_bend_captains_choice_v1:{object_id:`obj_oregoncoastal_dining_north-bend_captains-choice-family-fish-house_v1`,title:`Captain's Choice Fish House`},obj_oregoncoastal_dining_north_bend_kozy_kitchen_v1:{object_id:`obj_oregoncoastal_dining_north-bend_kozy-kitchen_v1`,title:`Kozy Kitchen`},obj_oregoncoastal_dining_north_bend_tais_dynasty_v1:{object_id:`obj_oregoncoastal_dining_north-bend_tais-dynasty_v1`,title:`Tai's Dynasty`},obj_oregoncoastal_dining_north_bend_pancake_mill_v1:{object_id:`obj_oregoncoastal_dining_north-bend_pancake-mill_v1`,title:`The Pancake Mill`},obj_oregoncoastal_dining_north_bend_plank_house_v1:{object_id:`obj_oregoncoastal_dining_north-bend_plank-house-at-ko-kwel-casino-resort_v1`,title:`The Plank House`},obj_oregoncoastal_dining_north_bend_the_tin_thistle_v1:{object_id:`obj_oregoncoastal_dining_north-bend_the-tin-thistle_v1`,title:`Tin Thistle`},obj_oregoncoastal_dining_north_bend_yeongs_place_v1:{object_id:`obj_oregoncoastal_dining_north-bend_yeongs-place_v1`,title:`Yeong's Place`},obj_oregoncoastal_hotel_north_bend_bay_bridge_motel_v1:{object_id:`obj_oregoncoastal_hotel_north-bend_bay-bridge-motel_v1`,title:`Bay Bridge Motel`},obj_oregoncoastal_hotel_north_bend_city_center_motel_v1:{object_id:`obj_oregoncoastal_hotel_north-bend_city-center-motel_v1`,title:`City Center Motel`},obj_oregoncoastal_hotel_north_bend_itty_bitty_inn_v1:{object_id:`obj_oregoncoastal_hotel_north-bend_itty-bitty-inn_v1`,title:`Itty Bitty Inn`},obj_oregoncoastal_hotel_north_bend_quality_inn_suites_v1:{object_id:`obj_oregoncoastal_hotel_north-bend_quality-inn-suites-at-coos-bay_v1`,title:`Quality Inn & Suites at Coos Bay`},obj_oregoncoastal_trail_north_bend_bluebill_trail_1331_v1:{object_id:`obj_oregoncoastal_trail_north-bend_bluebill-trail-1331_v1`,title:`Bluebill Lake Trail`},obj_oregoncoastal_attraction_coos_bay_coos_art_museum_v1:{object_id:`obj_oregoncoastal_attraction_coos-bay_coos-art-museum_v1`,title:`Coos Art Museum`},obj_oregoncoastal_attraction_coos_bay_coos_bay_boardwalk_v1:{object_id:`obj_oregoncoastal_attraction_coos-bay_coos-bay-boardwalk_v1`,title:`Coos Bay Boardwalk`},obj_oregoncoastal_attraction_coos_bay_golden_and_silver_falls_v1:{object_id:`obj_oregoncoastal_attraction_coos-bay_golden-and-silver-falls-state-natural-area_v1`,title:`Golden Falls & Silver Falls`},obj_oregoncoastal_attraction_coos_bay_mingus_park_v1:{object_id:`obj_oregoncoastal_attraction_coos-bay_mingus-park_v1`,title:`Mingus Park`},obj_oregoncoastal_attraction_coos_bay_oregon_coast_historical_railway_v1:{object_id:`obj_oregoncoastal_attraction_coos-bay_oregon-coast-historical-railway_v1`,title:`Oregon Coast Historical Railway`},obj_oregoncoastal_dining_coos_bay_7_devils_brewing_co_v1:{object_id:`obj_oregoncoastal_dining_coos-bay_7-devils-brewing-co_v1`,title:`7 Devils Brewing Co.`},obj_oregoncoastal_dining_coos_bay_cranberry_sweets_v1:{object_id:`obj_oregoncoastal_dining_coos-bay_cranberry-sweets_v1`,title:`Cranberry Sweets`},obj_oregoncoastal_dining_coos_bay_restaurant_o_v1:{object_id:`obj_oregoncoastal_dining_coos-bay_restaurant-o_v1`,title:`Restaurant O`},obj_oregoncoastal_dining_coos_bay_shark_bites_cafe_v1:{object_id:`obj_oregoncoastal_dining_coos-bay_shark-bites-seafood-cafe_v1`,title:`Shark Bites Cafe`},obj_oregoncoastal_dining_coos_bay_the_boat_v1:{object_id:`obj_oregoncoastal_dining_coos-bay_the-boat_v1`,title:`The Boat Fish & Chips`},obj_oregoncoastal_dining_coos_bay_tokyo_bistro_v1:{object_id:`obj_oregoncoastal_dining_coos-bay_tokyo-bistro_v1`,title:`Tokyo Bistro`},obj_oregoncoastal_event_coos_bay_wine_walk_2026_v1:{object_id:`obj_oregoncoastal_event_coos-bay_coos-bay-downtown-wine-walk-2026-11-06_v1`,title:`Coos Bay Wine Walk`},obj_oregoncoastal_hotel_bay_point_landing_v1:{object_id:`obj_oregoncoastal_hotel_bay-point-landing_v1`,title:`Bay Point Landing`},obj_oregoncoastal_hotel_coos_bay_best_western_holiday_hotel_v1:{object_id:`obj_oregoncoastal_hotel_coos-bay_best-western-holiday-hotel_v1`,title:`Best Western Holiday Hotel`},obj_oregoncoastal_hotel_coos_bay_edgewater_inn_v1:{object_id:`obj_oregoncoastal_hotel_coos-bay_edgewater-inn_v1`,title:`Edgewater Inn and Suites`},obj_oregoncoastal_hotel_coos_bay_global_inn_v1:{object_id:`obj_oregoncoastal_hotel_coos-bay_global-inn_v1`,title:`Global INN`},obj_oregoncoastal_hotel_coos_bay_motel_6_coos_bay_v1:{object_id:`obj_oregoncoastal_hotel_coos-bay_motel-6-coos-bay_v1`,title:`Motel 6 Coos Bay`},obj_oregoncoastal_hotel_coos_bay_red_lion_hotel_v1:{object_id:`obj_oregoncoastal_hotel_coos-bay_red-lion-hotel-coos-bay_v1`,title:`Red Lion Hotel Coos Bay`},obj_oregoncoastal_trail_coos_bay_mingus_park_paved_trail_v1:{object_id:`obj_oregoncoastal_trail_coos-bay_mingus-park-paved-trail_v1`,title:`Mingus Park Loop`},obj_oregoncoastal_hotel_charleston_capt_johns_motel_v1:{object_id:`obj_oregoncoastal_hotel_charleston_capt-johns-motel_v1`,title:`Captain John's Motel`},obj_oregoncoastal_hotel_charleston_plainview_motel_and_rv_park_v1:{object_id:`obj_oregoncoastal_hotel_charleston_plainview-motel-and-rv-park_v1`,title:`Plainview Motel`},obj_oregoncoastal_dining_charleston_portside_restaurant_v1:{object_id:`obj_oregoncoastal_dining_charleston_portside-restaurant_v1`,title:`The Portside`},obj_oregoncoastal_dining_charleston_millers_at_the_cove_v1:{object_id:`obj_oregoncoastal_dining_charleston_millers-at-the-cove_v1`,title:`Miller's at the Cove`},obj_oregoncoastal_dining_charleston_chucks_seafood_v1:{object_id:`obj_oregoncoastal_dining_charleston_chucks-seafood_v1`,title:`Chuck's Seafood`},obj_oregoncoastal_attraction_charleston_sunset_bay_state_park_v1:{object_id:`obj_oregoncoastal_attraction_charleston_sunset-bay-state-park_v1`,title:`Sunset Bay State Park`},obj_oregoncoastal_attraction_charleston_marine_life_center_v1:{object_id:`obj_oregoncoastal_attraction_charleston_marine-life-center_v1`,title:`Charleston Marine Life Center`},obj_oregoncoastal_attraction_charleston_south_slough_nerr_v1:{object_id:`obj_oregoncoastal_attraction_charleston_south-slough-national-estuarine-research-reserve_v1`,title:`South Slough National Estuarine Research Reserve`},obj_oregoncoastal_attraction_charleston_bastendorff_beach_v1:{object_id:`obj_oregoncoastal_attraction_charleston_bastendorff-beach_v1`,title:`Bastendorff Beach`},obj_oregoncoastal_hotel_bandon_bandon_inn_v1:{object_id:`obj_oregoncoastal_hotel_bandon_bandon-inn_v1`,title:`Bandon Inn`},obj_oregoncoastal_hotel_bandon_best_western_inn_at_face_rock_v1:{object_id:`obj_oregoncoastal_hotel_bandon_best-western-inn-at-face-rock_v1`,title:`Best Western Inn at Face Rock`},obj_oregoncoastal_hotel_bandon_inn_at_old_town_v1:{object_id:`obj_oregoncoastal_hotel_bandon_inn-at-old-town_v1`,title:`The Inn at Old Town`},obj_oregoncoastal_hotel_bandon_sunset_oceanfront_lodging_v1:{object_id:`obj_oregoncoastal_hotel_bandon_sunset-oceanfront-lodging_v1`,title:`Sunset Oceanfront Lodging`},obj_oregoncoastal_hotel_bandon_bandon_marina_inn_v1:{object_id:`obj_oregoncoastal_hotel_bandon_bandon-marina-inn_v1`,title:`Bandon Marina Inn`},obj_oregoncoastal_hotel_bandon_lakris_inn_v1:{object_id:`obj_oregoncoastal_hotel_bandon_lakris-inn_v1`,title:`La Kris Inn`},obj_oregoncoastal_dining_bandon_tonys_crab_shack_v1:{object_id:`obj_oregoncoastal_dining_bandon_tonys-crab-shack_v1`,title:`Tony's Crab Shack`},obj_oregoncoastal_dining_bandon_bandon_fish_market_v1:{object_id:`obj_oregoncoastal_dining_bandon_bandon-fish-market_v1`,title:`Bandon Fish Market`},obj_oregoncoastal_dining_bandon_alloro_wine_bar_and_restaurant_v1:{object_id:`obj_oregoncoastal_dining_bandon_alloro-wine-bar-and-restaurant_v1`,title:`Alloro Wine Bar & Restaurant`},obj_oregoncoastal_dining_bandon_wheelhouse_and_crowsnest_v1:{object_id:`obj_oregoncoastal_dining_bandon_wheelhouse-and-crowsnest_v1`,title:`The Wheelhouse`},obj_oregoncoastal_dining_bandon_foleys_irish_pub_v1:{object_id:`obj_oregoncoastal_dining_bandon_foleys-irish-pub_v1`,title:`Foley's Irish Pub`},obj_oregoncoastal_dining_bandon_coastal_mist_v1:{object_id:`obj_oregoncoastal_dining_bandon_coastal-mist_v1`,title:`Coastal Mist`},obj_oregoncoastal_dining_bandon_bandon_brewing_company_v1:{object_id:`obj_oregoncoastal_dining_bandon_bandon-brewing-company_v1`,title:`Bandon Brewing Company`},obj_oregoncoastal_dining_bandon_lord_bennetts_restaurant_v1:{object_id:`obj_oregoncoastal_dining_bandon_lord-bennetts-restaurant_v1`,title:`Lord Bennett's`},obj_oregoncoastal_dining_bandon_rolling_pin_bake_and_brew_v1:{object_id:`obj_oregoncoastal_dining_bandon_rolling-pin-bake-and-brew_v1`,title:`The Rolling Pin`},obj_oregoncoastal_attraction_bandon_face_rock_state_scenic_viewpoint_v1:{object_id:`obj_oregoncoastal_attraction_bandon_face-rock-state-scenic-viewpoint_v1`,title:`Face Rock State Scenic Viewpoint`},obj_oregoncoastal_attraction_bandon_coquille_river_lighthouse_v1:{object_id:`obj_oregoncoastal_attraction_bandon_coquille-river-lighthouse_v1`,title:`Coquille River Lighthouse`},obj_oregoncoastal_attraction_bandon_bandon_dunes_golf_resort_v1:{object_id:`obj_oregoncoastal_attraction_bandon_bandon-dunes-golf-resort_v1`,title:`Bandon Dunes Golf Resort`},obj_oregoncoastal_attraction_bandon_old_town_bandon_v1:{object_id:`obj_oregoncoastal_attraction_bandon_old-town-bandon_v1`,title:`Old Town Bandon`},obj_oregoncoastal_attraction_bandon_bullards_beach_state_park_v1:{object_id:`obj_oregoncoastal_attraction_bandon_bullards-beach-state-park_v1`,title:`Bullards Beach State Park`},obj_oregoncoastal_attraction_bandon_washed_ashore_gallery_v1:{object_id:`obj_oregoncoastal_attraction_bandon_washed-ashore-gallery_v1`,title:`Washed Ashore Gallery`},obj_oregoncoastal_attraction_bandon_bandon_historical_society_museum_v1:{object_id:`obj_oregoncoastal_attraction_bandon_bandon-historical-society-museum_v1`,title:`Bandon Historical Society Museum`},obj_oregoncoastal_trail_bandon_bullards_beach_beach_trail_v1:{object_id:`obj_oregoncoastal_trail_bandon_bullards-beach-beach-trail_v1`,title:`Bullards Beach Trail`},obj_oregoncoastal_attraction_new_river_storm_ranch_nature_center_v1:{object_id:`obj_oregoncoastal_attraction_new-river_storm-ranch-nature-center_v1`,title:`New River Nature Center`},obj_oregoncoastal_dining_langlois_langlois_market_v1:{object_id:`obj_oregoncoastal_dining_langlois_langlois-market_v1`,title:`Langlois Market`},obj_oregoncoastal_dining_langlois_the_spoon_v1:{object_id:`obj_oregoncoastal_dining_langlois_the-spoon_v1`,title:`The Spoon`},obj_oregoncoastal_attraction_langlois_floras_lake_state_natural_area_v1:{object_id:`obj_oregoncoastal_attraction_langlois_floras-lake-state-natural-area_v1`,title:`Floras Lake State Natural Area`},obj_oregoncoastal_attraction_langlois_blacklock_point_v1:{object_id:`obj_oregoncoastal_attraction_langlois_blacklock-point_v1`,title:`Blacklock Point`},obj_oregoncoastal_attraction_langlois_boice_cope_park_v1:{object_id:`obj_oregoncoastal_attraction_langlois_boice-cope-park_v1`,title:`Boice Cope County Park`},obj_oregoncoastal_attraction_langlois_dragonfly_farm_and_nursery_v1:{object_id:`obj_oregoncoastal_attraction_langlois_dragonfly-farm-and-nursery_v1`,title:`Dragonfly Farm & Nursery`},obj_oregoncoastal_attraction_langlois_cape_blanco_state_park_v1:{object_id:`obj_oregoncoastal_attraction_langlois_cape-blanco-state-park_v1`,title:`Cape Blanco State Park`},obj_oregoncoastal_hotel_port_orford_shoreline_inn_and_suites_v1:{object_id:`obj_oregoncoastal_hotel_port-orford_shoreline-inn-and-suites_v1`,title:`The Shoreline Inn & Suites`},obj_oregoncoastal_dining_port_orford_redfish_v1:{object_id:`obj_oregoncoastal_dining_port-orford_redfish_v1`,title:`Redfish`},obj_oregoncoastal_dining_port_orford_crazy_norwegians_fish_and_chips_v1:{object_id:`obj_oregoncoastal_dining_port-orford_crazy-norwegians-fish-and-chips_v1`,title:`The Crazy Norwegian's Fish & Chips`},obj_oregoncoastal_dining_port_orford_tasty_kates_v1:{object_id:`obj_oregoncoastal_dining_port-orford_tasty-kates_v1`,title:`Tasty Kate's`},obj_oregoncoastal_dining_port_orford_golden_harvest_v1:{object_id:`obj_oregoncoastal_dining_port-orford_golden-harvest-herban-farm-and-bakery_v1`,title:`Golden Harvest`},obj_oregoncoastal_dining_port_orford_mr_eds_underground_pub_v1:{object_id:`obj_oregoncoastal_dining_port-orford_mr-eds-espresso-juice-and-underground-pub_v1`,title:`Mr. Ed's Underground Pub`},obj_oregoncoastal_attraction_port_orford_battle_rock_wayside_park_v1:{object_id:`obj_oregoncoastal_attraction_port-orford_battle-rock-wayside-park_v1`,title:`Battle Rock Wayside`},obj_oregoncoastal_attraction_port_orford_cape_blanco_lighthouse_v1:{object_id:`obj_oregoncoastal_attraction_port-orford_cape-blanco-lighthouse_v1`,title:`Cape Blanco Lighthouse`},obj_oregoncoastal_attraction_port_orford_port_orford_heads_state_park_v1:{object_id:`obj_oregoncoastal_attraction_port-orford_port-orford-heads-state-park_v1`,title:`Port Orford Heads State Park`},obj_oregoncoastal_attraction_port_orford_port_of_port_orford_dolly_dock_v1:{object_id:`obj_oregoncoastal_attraction_port-orford_port-of-port-orford-dolly-dock_v1`,title:`The Dolly Dock`},obj_oregoncoastal_trail_port_orford_humbug_mountain_trail_v1:{object_id:`obj_oregoncoastal_trail_port-orford_humbug-mountain-trail_v1`,title:`Humbug Mountain Trail`},obj_oregoncoastal_hotel_gold_beach_gold_beach_inn_v1:{object_id:`obj_oregoncoastal_hotel_gold-beach_gold-beach-inn_v1`,title:`Gold Beach Inn`},obj_oregoncoastal_hotel_gold_beach_surestay_plus_hotel_v1:{object_id:`obj_oregoncoastal_hotel_gold-beach_surestay-plus-hotel-by-best-western-gold-beach_v1`,title:`SureStay Plus Hotel`},obj_oregoncoastal_hotel_gold_beach_pacific_reef_hotel_v1:{object_id:`obj_oregoncoastal_hotel_gold-beach_pacific-reef-hotel_v1`,title:`Pacific Reef Hotel & Light Show`},obj_oregoncoastal_hotel_gold_beach_wildflower_inn_v1:{object_id:`obj_oregoncoastal_hotel_gold-beach_wildflower-inn_v1`,title:`The Wildflower Inn`},obj_oregoncoastal_hotel_gold_beach_jots_resort_v1:{object_id:`obj_oregoncoastal_hotel_gold-beach_jots-resort_v1`,title:`Jot's Resort`},obj_oregoncoastal_attraction_gold_beach_cape_sebastian_state_scenic_corridor_v1:{object_id:`obj_oregoncoastal_attraction_gold-beach_cape-sebastian-state-scenic-corridor_v1`,title:`Cape Sebastian State Scenic Corridor`},obj_oregoncoastal_attraction_gold_beach_myers_creek_beach_access_v1:{object_id:`obj_oregoncoastal_attraction_gold-beach_myers-creek-beach-access_v1`,title:`Myers Creek Beach Walk`},obj_oregoncoastal_hotel_brookings_beachfront_inn_v1:{object_id:`obj_oregoncoastal_hotel_brookings_beachfront-inn_v1`,title:`Beachfront Inn`},obj_oregoncoastal_hotel_brookings_whaleshead_beach_resort_v1:{object_id:`obj_oregoncoastal_hotel_brookings_whaleshead-beach-resort_v1`,title:`Whaleshead Beach Resort`},obj_oregoncoastal_hotel_brookings_wild_rivers_motor_lodge_v1:{object_id:`obj_oregoncoastal_hotel_brookings_wild-rivers-motor-lodge_v1`,title:`Wild Rivers Motor Lodge`},obj_oregoncoastal_hotel_brookings_ocean_suites_motel_v1:{object_id:`obj_oregoncoastal_hotel_brookings_ocean-suites-motel_v1`,title:`Ocean Suites Motel`},obj_oregoncoastal_hotel_brookings_pacific_sunset_inn_v1:{object_id:`obj_oregoncoastal_hotel_brookings_pacific-sunset-inn_v1`,title:`Pacific Sunset Inn`},obj_oregoncoastal_hotel_brookings_blue_coast_inn_and_suites_v1:{object_id:`obj_oregoncoastal_hotel_brookings_blue-coast-inn-and-suites_v1`,title:`Blue Coast Inn and Suites`},obj_oregoncoastal_hotel_brookings_westward_inn_v1:{object_id:`obj_oregoncoastal_hotel_brookings_westward-inn_v1`,title:`Westward Inn`},obj_oregoncoastal_hotel_brookings_brookings_inn_resort_v1:{object_id:`obj_oregoncoastal_hotel_brookings_brookings-inn-resort_v1`,title:`Brookings Inn Resort`},obj_oregoncoastal_hotel_brookings_harbor_inn_motel_v1:{object_id:`obj_oregoncoastal_hotel_brookings_harbor-inn-motel_v1`,title:`Harbor Inn`},obj_oregoncoastal_hotel_brookings_americoast_inn_v1:{object_id:`obj_oregoncoastal_hotel_brookings_americoast-inn_v1`,title:`AmeriCoast Inn`},obj_oregoncoastal_dining_brookings_black_trumpet_bistro_v1:{object_id:`obj_oregoncoastal_dining_brookings_black-trumpet-bistro_v1`,title:`Black Trumpet Bistro`},obj_oregoncoastal_dining_brookings_oxenfre_public_house_v1:{object_id:`obj_oregoncoastal_dining_brookings_oxenfre-public-house_v1`,title:`Oxenfrë Public House`},obj_oregoncoastal_dining_brookings_hungry_clam_v1:{object_id:`obj_oregoncoastal_dining_brookings_hungry-clam_v1`,title:`The Hungry Clam`},obj_oregoncoastal_dining_brookings_superfly_v1:{object_id:`obj_oregoncoastal_dining_brookings_superfly-distilling-company-and-restaurant_v1`,title:`Superfly Martini Bar & Grill`},obj_oregoncoastal_dining_brookings_chetco_brewing_company_v1:{object_id:`obj_oregoncoastal_dining_brookings_chetco-brewing-company_v1`,title:`Chetco Brewing Company`},obj_oregoncoastal_dining_brookings_pacific_sushi_and_grill_v1:{object_id:`obj_oregoncoastal_dining_brookings_pacific-sushi-and-grill_v1`,title:`Pacific Sushi & Grill`},obj_oregoncoastal_dining_brookings_catalyst_seafood_v1:{object_id:`obj_oregoncoastal_dining_brookings_catalyst-seafood_v1`,title:`Catalyst Seafood`},obj_oregoncoastal_dining_brookings_zolas_on_the_water_v1:{object_id:`obj_oregoncoastal_dining_brookings_zolas-on-the-water_v1`,title:`Zola's Pizzeria`},obj_oregoncoastal_dining_brookings_fat_cat_pizza_v1:{object_id:`obj_oregoncoastal_dining_brookings_fat-cat-pizza_v1`,title:`Fat Cat Pizza`},obj_oregoncoastal_dining_brookings_railroad_street_market_and_deli_v1:{object_id:`obj_oregoncoastal_dining_brookings_railroad-street-market-and-deli_v1`,title:`Railroad Street Market & Deli`},obj_oregoncoastal_attraction_brookings_chetco_point_park_v1:{object_id:`obj_oregoncoastal_attraction_brookings_chetco-point-park_v1`,title:`Chetco Point Park`},obj_oregoncoastal_attraction_brookings_port_of_brookings_harbor_v1:{object_id:`obj_oregoncoastal_attraction_brookings_port-of-brookings-harbor_v1`,title:`Port of Brookings Harbor`},obj_oregoncoastal_attraction_brookings_manley_art_center_gallery_v1:{object_id:`obj_oregoncoastal_attraction_brookings_manley-art-center-gallery_v1`,title:`Manley Art Center & Gallery`},obj_oregoncoastal_attraction_brookings_sporthaven_beach_v1:{object_id:`obj_oregoncoastal_attraction_brookings_sporthaven-beach_v1`,title:`Sporthaven Beach`},obj_oregoncoastal_attraction_brookings_arch_rock_overlook_v1:{object_id:`obj_oregoncoastal_attraction_brookings_arch-rock-overlook_v1`,title:`Arch Rock Viewpoint`},obj_oregoncoastal_trail_brookings_cape_ferrelo_loop_v1:{object_id:`obj_oregoncoastal_trail_brookings_cape-ferrelo-loop_v1`,title:`Cape Ferrelo Loop`}},Cee={"Cannon Beach":{"Public Coast Brewing":G.obj_oregoncoastal_dining_public_coast_brewing_v1,"Pelican Brewing":G.obj_oregoncoastal_dining_cannon_beach_pelican_brewing_v1,"The Wayfarer":G.obj_oregoncoastal_dining_cannon_beach_wayfarer_restaurant_lounge_v1,"Driftwood Restaurant & Lounge":G.obj_oregoncoastal_dining_cannon_beach_driftwood_restaurant_lounge_v1,"Pizza a'fetta":G.obj_oregoncoastal_dining_cannon_beach_pizza_afetta_v1,Castaways:G.obj_oregoncoastal_dining_cannon_beach_castaways_v1,"Ecola Seafoods":G.obj_oregoncoastal_dining_cannon_beach_ecola_seafoods_v1,"Bill's Tavern & Brewhouse":G.obj_oregoncoastal_dining_cannon_beach_bills_tavern_v1,"Warren House Pub":G.obj_oregoncoastal_dining_cannon_beach_warren_house_pub_v1,"Mo's Cannon Beach":G.obj_oregoncoastal_dining_tolovana_park_mos_seafood_chowder_v1,"Lazy Susan Cafe":G.obj_oregoncoastal_dining_cannon_beach_lazy_susan_cafe_v1,"Sleepy Monk Coffee Roasters":G.obj_oregoncoastal_dining_cannon_beach_sleepy_monk_coffee_v1,"Insomnia Coffee Co.":G.obj_oregoncoastal_dining_cannon_beach_insomnia_coffee_company_v1,"Seasons Cafe":G.obj_oregoncoastal_dining_cannon_beach_seasons_cafe_v1},"Tolovana Park":{"Pelican Brewing":G.obj_oregoncoastal_dining_cannon_beach_pelican_brewing_v1,"Wayfarer Restaurant":G.obj_oregoncoastal_dining_cannon_beach_wayfarer_restaurant_lounge_v1,"Warren House Pub":G.obj_oregoncoastal_dining_cannon_beach_warren_house_pub_v1,"Mo's Cannon Beach":G.obj_oregoncoastal_dining_tolovana_park_mos_seafood_chowder_v1,"Sea Level Bakery + Coffee":G.obj_oregoncoastal_dining_tolovana_park_sea_level_bakery_coffee_v1,"Fresh Foods Deli":G.obj_oregoncoastal_dining_tolovana_park_fresh_foods_v1,"Stephanie Inn Dining Room":G.obj_oregoncoastal_dining_cannon_beach_stephanie_inn_dining_room_v1},Astoria:{"Bridgewater Bistro":G.obj_oregoncoastal_dining_astoria_bridgewater_bistro_v1,"Silver Salmon Grille":G.obj_oregoncoastal_dining_astoria_silver_salmon_grille_v1,"Carruthers Restaurant":G.obj_oregoncoastal_dining_astoria_carruthers_v1,"Fort George Brewery + Public House":G.obj_oregoncoastal_dining_astoria_fort_george_brewery_public_house_v1,"Buoy Beer Company":G.obj_oregoncoastal_dining_astoria_buoy_beer_company_v1,"Bowpicker Fish & Chips":G.obj_oregoncoastal_dining_astoria_bowpicker_fish_chips_v1,"Frite & Scoop":G.obj_oregoncoastal_dining_astoria_frite_and_scoop_v1,"Coffee Girl":G.obj_oregoncoastal_dining_astoria_coffee_girl_v1,"The Blue Scorcher Bakery & Cafe":G.obj_oregoncoastal_dining_astoria_blue_scorcher_bakery_cafe_v1},Warrenton:{"El Catrin Mexican Kitchen":G.obj_oregoncoastal_dining_warrenton_el_catrin_mexican_restaurant_v1,"Nisa's Thai Kitchen":G.obj_oregoncoastal_dining_warrenton_nisas_thai_kitchen_v1,"Arnie's Cafe":G.obj_oregoncoastal_dining_warrenton_arnies_cafe_v1,"Fultano's Pizza":G.obj_oregoncoastal_dining_warrenton_fultanos_pizza_v1},Gearhart:{"McMenamins Sand Trap Bar & Grill":G.obj_oregoncoastal_dining_gearhart_mcmenamins_sand_trap_pub_v1,"Prep Kitchen Gearhart":G.obj_oregoncoastal_dining_gearhart_prep_kitchen_deli_catering_v1,"Fultano's Pizza":G.obj_oregoncoastal_dining_gearhart_fultanos_pizza_v1},Seaside:{"Mo's Seafood & Chowder":G.obj_oregoncoastal_dining_seaside_mos_seafood_chowder_seaside_v1,"Nonni's Italian Bistro":G.obj_oregoncoastal_dining_seaside_nonnis_italian_bistro_v1,"Dooger's Seafood & Grill":G.obj_oregoncoastal_dining_seaside_doogers_seafood_grill_v1,"Norma's Seafood & Steak":G.obj_oregoncoastal_dining_seaside_normas_seafood_steak_v1,"Dundee's Bar & Grill":G.obj_oregoncoastal_dining_seaside_dundees_bar_grill_v1,"Osprey Cafe":G.obj_oregoncoastal_dining_seaside_osprey_cafe_v1,"Tora Sushi":G.obj_oregoncoastal_dining_seaside_tora_sushi_lounge_seaside_v1,"The Stand":G.obj_oregoncoastal_dining_seaside_the_stand_seaside_v1,"Twisted Fish Steakhouse":G.obj_oregoncoastal_dining_seaside_twisted_fish_steakhouse_v1,"Pig 'N Pancake":G.obj_oregoncoastal_dining_seaside_pig_n_pancake_seaside_v1},"Arch Cape":{"Driftwood Restaurant & Lounge":G.obj_oregoncoastal_dining_cannon_beach_driftwood_restaurant_lounge_v1,"The Wayfarer Restaurant":G.obj_oregoncoastal_dining_cannon_beach_wayfarer_restaurant_lounge_v1,"Pelican Brewing":G.obj_oregoncoastal_dining_cannon_beach_pelican_brewing_v1,"Public Coast Brewing":G.obj_oregoncoastal_dining_public_coast_brewing_v1,"Pizza a'fetta":G.obj_oregoncoastal_dining_cannon_beach_pizza_afetta_v1,"Insomnia Coffee Co":G.obj_oregoncoastal_dining_cannon_beach_insomnia_coffee_company_v1,"Lazy Susan Cafe":G.obj_oregoncoastal_dining_cannon_beach_lazy_susan_cafe_v1,"Ecola Seafoods Restaurant & Market":G.obj_oregoncoastal_dining_cannon_beach_ecola_seafoods_v1,Castaways:G.obj_oregoncoastal_dining_cannon_beach_castaways_v1},Manzanita:{"The Big Wave Cafe":G.obj_oregoncoastal_dining_manzanita_big_wave_cafe_v1,Yolk:G.obj_oregoncoastal_dining_manzanita_yolk_brunch_poach503_v1,"Marzano's Pizza Pie":G.obj_oregoncoastal_dining_manzanita_marzanos_pizza_pie_v1,"Wild Grocery & Cafe":G.obj_oregoncoastal_dining_manzanita_wild_grocery_cafe_v1,"Left Coast Siesta":G.obj_oregoncoastal_dining_manzanita_left_coast_siesta_v1,"Manzanita Coffee Co.":G.obj_oregoncoastal_dining_manzanita_manzanita_coffee_company_v1,"Neah-Kah-Nie Bistro":G.obj_oregoncoastal_dining_manzanita_neah_kah_nie_bistro_v1,"The Winery at Manzanita":G.obj_oregoncoastal_dining_manzanita_the_winery_at_manzanita_v1},Nehalem:{"Buttercup Homemade Ice Creams & Chowders":G.obj_oregoncoastal_dining_nehalem_buttercup_ice_creams_chowders_v1,"Wanda's Cafe & Bakery":G.obj_oregoncoastal_dining_nehalem_wandas_cafe_bakery_v1,"The Pizza Garden":G.obj_oregoncoastal_dining_nehalem_the_pizza_garden_v1},Wheeler:{"The Roost":G.obj_oregoncoastal_dining_wheeler_the_roost_v1,"Rising Star Cafe":G.obj_oregoncoastal_dining_wheeler_rising_star_cafe_v1},"Rockaway Beach":{"Old Oregon Smokehouse":G.obj_oregoncoastal_dining_rockaway_beach_old_oregon_smokehouse_v1,"Sand Dollar Restaurant":G.obj_oregoncoastal_dining_rockaway_beach_sand_dollar_restaurant_v1,"Pronto Pup":G.obj_oregoncoastal_dining_rockaway_beach_pronto_pup_v1,"The Beach Bite":G.obj_oregoncoastal_dining_rockaway_beach_the_beach_bite_v1},Garibaldi:{"Garibaldi Portside Bistro":G.obj_oregoncoastal_dining_garibaldi_portside_bistro_v1,"Fisherman's Korner Restaurant":G.obj_oregoncoastal_dining_garibaldi_fishermans_korner_restaurant_v1,"Crab Rock Pizza":G.obj_oregoncoastal_dining_garibaldi_crab_rock_pizza_v1},"Bay City":{"The Fish Peddler":G.obj_oregoncoastal_dining_bay_city_the_fish_peddler_v1,"Downie's Cafe":G.obj_oregoncoastal_dining_bay_city_downies_cafe_v1,"Tillamook Country Smoker Outlet":G.obj_oregoncoastal_attraction_bay_city_tillamook_country_smoker_outlet_v1,"Schooner Restaurant & Lounge (Nearby)":G.obj_oregoncoastal_dining_netarts_schooner_restaurant_lounge_v1},Tillamook:{"Pacific Restaurant":G.obj_oregoncoastal_dining_tillamook_pacific_restaurant_v1,"Alice's Country House":G.obj_oregoncoastal_dining_tillamook_alices_country_house_v1,"La Mexicana Restaurant":G.obj_oregoncoastal_dining_tillamook_la_mexicana_restaurant_v1,"Five Rivers Coffee Roasters":G.obj_oregoncoastal_dining_tillamook_five_rivers_coffee_roasters_v1,"Werner Beef & Brew":G.obj_oregoncoastal_dining_tillamook_werner_beef_brew_v1,"JAndy Oyster Co.":G.obj_oregoncoastal_dining_tillamook_jandy_oyster_co_v1},Netarts:{"The Schooner Restaurant & Lounge":G.obj_oregoncoastal_dining_netarts_schooner_restaurant_lounge_v1,"Bayside Market & Deli":G.obj_oregoncoastal_dining_netarts_bayside_market_deli_v1},Oceanside:{"Roseanna's Cafe":G.obj_oregoncoastal_dining_oceanside_roseannas_cafe_v1,"Blue Agate Cafe":G.obj_oregoncoastal_dining_oceanside_blue_agate_cafe_v1,"Current Cafe":G.obj_oregoncoastal_dining_oceanside_current_cafe_v1},"Pacific City":{"Pelican Brewing Company":G.obj_oregoncoastal_dining_pacific_city_pelican_brewing_company_v1,"The Grateful Bread Bakery":G.obj_oregoncoastal_dining_pacific_city_grateful_bread_restaurant_bakery_v1,"Meridian Restaurant & Bar":G.obj_oregoncoastal_dining_pacific_city_meridian_restaurant_and_bar_v1,"The Riverhouse Nestucca":G.obj_oregoncoastal_dining_pacific_city_the_riverhouse_nestucca_v1,"Stimulus Coffee + Bakery":G.obj_oregoncoastal_dining_pacific_city_stimulus_coffee_plus_bakery_v1,"Ben & Jeff's Burgers and Tacos":G.obj_oregoncoastal_dining_pacific_city_ben_and_jeffs_burgers_tacos_v1,"Beach Walk":G.obj_oregoncoastal_dining_pacific_city_beach_walk_v1,"Doryland Pizza":G.obj_oregoncoastal_dining_pacific_city_doryland_pizza_v1,"Sportsman's Pub-n-Grub":G.obj_oregoncoastal_dining_pacific_city_sportsmans_pub_n_grub_v1},Neskowin:{"Hawk Creek Cafe":G.obj_oregoncoastal_dining_neskowin_hawk_creek_cafe_v1,"Neskowin Trading Company":G.obj_oregoncoastal_dining_neskowin_neskowin_provisions_v1},"Gleneden Beach":{"The Attic Lounge":G.obj_oregoncoastal_dining_gleneden_beach_the_attic_v1,"Side Door Cafe":G.obj_oregoncoastal_dining_gleneden_beach_the_side_door_cafe_v1,"Beachcrest Brewing":G.obj_oregoncoastal_dining_gleneden_beach_beachcrest_brewing_co_v1,"Salishack Tavern":G.obj_oregoncoastal_dining_gleneden_beach_salishack_tavern_v1,"Hook & Slice":G.obj_oregoncoastal_dining_gleneden_beach_hook_and_slice_v1,"Provisions Market":G.obj_oregoncoastal_dining_gleneden_beach_provisions_market_v1,"Depoe Baykery":G.obj_oregoncoastal_dining_gleneden_beach_depoe_baykery_v1},"Depoe Bay":{"Tidal Raves":G.obj_oregoncoastal_dining_depoe_bay_tidal_raves_v1,"Restaurant Beck":G.obj_oregoncoastal_dining_depoe_bay_restaurant_beck_v1,"Gracie's Sea Hag":G.obj_oregoncoastal_dining_depoe_bay_gracies_sea_hag_v1,"The Horn Public House":G.obj_oregoncoastal_dining_depoe_bay_the_horn_public_house_v1,"Arch Rock Cafe":G.obj_oregoncoastal_dining_depoe_bay_arch_rock_caffe_v1,"Mazatlan Mexican Restaurant":G.obj_oregoncoastal_dining_depoe_bay_mazatlan_mexican_restaurant_v1},"Otter Rock":{"Flying Dutchman Winery":G.obj_oregoncoastal_dining_otter_rock_flying_dutchman_winery_v1,"Cliffside Coffee & Sweets":G.obj_oregoncoastal_dining_otter_rock_cliffside_coffee_and_sweets_v1,"Pura Vida Surf Shop":G.obj_oregoncoastal_attraction_otter_rock_pura_vida_surf_shop_v1},Newport:{"Local Ocean Seafoods":G.obj_oregoncoastal_dining_newport_local_ocean_seafoods_v1,"Clearwater Restaurant":G.obj_oregoncoastal_dining_newport_clearwater_restaurant_v1,"Georgie's Beachside Grill":G.obj_oregoncoastal_dining_newport_georgies_beachside_grill_v1,"Nana's Irish Pub":G.obj_oregoncoastal_dining_newport_nanas_irish_pub_v1,Sorella:G.obj_oregoncoastal_dining_newport_sorella_italian_v1,"Newport Chowder Bowls":G.obj_oregoncoastal_dining_newport_newport_chowder_bowl_v1,"Panini Bakery":G.obj_oregoncoastal_dining_newport_panini_bakery_v1,"Zach's Bistro":G.obj_oregoncoastal_dining_newport_zachs_bistro_v1,"The Coffee House":G.obj_oregoncoastal_dining_newport_the_coffee_house_v1,"Chowder Bowl at Nye Beach":G.obj_oregoncoastal_dining_newport_newport_chowder_bowl_v1},Toledo:{"Timbers Restaurant & Lounge":G.obj_oregoncoastal_dining_toledo_timbers_restaurant_lounge_v1,"Cobblestone Pizza Co.":G.obj_oregoncoastal_dining_toledo_cobblestone_pizza_co_v1},Waldport:{"Hilltop Café Bistro":G.obj_oregoncoastal_dining_waldport_hilltop_cafe_bistro_v1,SkoSH:G.obj_oregoncoastal_dining_waldport_skosh_v1,"Grand Central Pizza":G.obj_oregoncoastal_dining_waldport_grand_central_pizza_v1,"Salty Dawg":G.obj_oregoncoastal_dining_waldport_salty_dawg_bar_grill_v1,"Mexican Fresh":G.obj_oregoncoastal_dining_waldport_fresh_mexican_food_v1},Yachats:{"Ona Restaurant & Lounge":G.obj_oregoncoastal_dining_yachats_ona_restaurant_lounge_v1,"Luna Sea Fish House":G.obj_oregoncoastal_dining_yachats_luna_sea_fish_house_v1,"Pelican Brewing Yachats":G.obj_oregoncoastal_dining_yachats_pelican_brewing_yachats_v1,"Outta Gas Pizza":G.obj_oregoncoastal_dining_yachats_outta_gas_pizza_v1,"Green Salmon Coffee & Tea":G.obj_oregoncoastal_dining_yachats_green_salmon_coffee_company_v1,"Beach Street Kitchen":G.obj_oregoncoastal_dining_yachats_beach_street_kitchen_v1},Florence:{"Waterfront Depot":G.obj_oregoncoastal_dining_florence_waterfront_depot_v1,"Mo's Restaurant":G.obj_oregoncoastal_dining_florence_mos_in_old_town_florence_v1,"Novelli's Crab & Seafood":G.obj_oregoncoastal_dining_florence_novellis_crab_seafood_v1,"Homegrown Public House":G.obj_oregoncoastal_dining_florence_homegrown_public_house_v1,"1285 Restobar":G.obj_oregoncoastal_dining_florence_1285_restobar_v1,"River Roasters":G.obj_oregoncoastal_dining_florence_river_roasters_coffeehouse_v1,"BJ's Ice Cream":G.obj_oregoncoastal_dining_florence_bjs_ice_cream_parlor_v1,"Lovejoy's Restaurant":G.obj_oregoncoastal_dining_florence_lovejoys_restaurant_tearoom_v1,"Nosh Eatery":G.obj_oregoncoastal_dining_florence_nosh_eatery_v1},Reedsport:{"Don's Main Street Family Restaurant":G.obj_oregoncoastal_dining_reedsport_dons_main_street_family_restaurant_v1,"Harbor Light Restaurant":G.obj_oregoncoastal_dining_reedsport_harborlight_restaurant_v1},Lakeside:{"The Lakeshore Lodge Restaurant":G.obj_oregoncoastal_dining_lakeside_lakeshore_lodge_restaurant_v1,"Up the Creek Tavern":G.obj_oregoncoastal_dining_lakeside_up_the_creek_tavern_v1},"North Bend":{"Captain's Choice Fish House":G.obj_oregoncoastal_dining_north_bend_captains_choice_v1,"Kozy Kitchen":G.obj_oregoncoastal_dining_north_bend_kozy_kitchen_v1,"Tai's Dynasty":G.obj_oregoncoastal_dining_north_bend_tais_dynasty_v1,"The Pancake Mill":G.obj_oregoncoastal_dining_north_bend_pancake_mill_v1,"The Plank House":G.obj_oregoncoastal_dining_north_bend_plank_house_v1,"Tin Thistle":G.obj_oregoncoastal_dining_north_bend_the_tin_thistle_v1,"Yeong's Place":G.obj_oregoncoastal_dining_north_bend_yeongs_place_v1},"Coos Bay":{"7 Devils Brewing Co.":G.obj_oregoncoastal_dining_coos_bay_7_devils_brewing_co_v1,"Cranberry Sweets":G.obj_oregoncoastal_dining_coos_bay_cranberry_sweets_v1,"Restaurant O":G.obj_oregoncoastal_dining_coos_bay_restaurant_o_v1,"Shark Bites Cafe":G.obj_oregoncoastal_dining_coos_bay_shark_bites_cafe_v1,"The Boat Fish & Chips":G.obj_oregoncoastal_dining_coos_bay_the_boat_v1,"Tokyo Bistro":G.obj_oregoncoastal_dining_coos_bay_tokyo_bistro_v1},Charleston:{"The Portside":G.obj_oregoncoastal_dining_charleston_portside_restaurant_v1,"Miller's at the Cove":G.obj_oregoncoastal_dining_charleston_millers_at_the_cove_v1,"Chuck's Seafood":G.obj_oregoncoastal_dining_charleston_chucks_seafood_v1},Bandon:{"Tony's Crab Shack":G.obj_oregoncoastal_dining_bandon_tonys_crab_shack_v1,"Bandon Fish Market":G.obj_oregoncoastal_dining_bandon_bandon_fish_market_v1,"Alloro Wine Bar & Restaurant":G.obj_oregoncoastal_dining_bandon_alloro_wine_bar_and_restaurant_v1,"The Wheelhouse":G.obj_oregoncoastal_dining_bandon_wheelhouse_and_crowsnest_v1,"Foley's Irish Pub":G.obj_oregoncoastal_dining_bandon_foleys_irish_pub_v1,"Coastal Mist":G.obj_oregoncoastal_dining_bandon_coastal_mist_v1,"Bandon Brewing Company":G.obj_oregoncoastal_dining_bandon_bandon_brewing_company_v1,"Lord Bennett's":G.obj_oregoncoastal_dining_bandon_lord_bennetts_restaurant_v1,"The Rolling Pin":G.obj_oregoncoastal_dining_bandon_rolling_pin_bake_and_brew_v1},Langlois:{"Langlois Market":G.obj_oregoncoastal_dining_langlois_langlois_market_v1,"The Spoon":G.obj_oregoncoastal_dining_langlois_the_spoon_v1},"Port Orford":{Redfish:G.obj_oregoncoastal_dining_port_orford_redfish_v1,"The Crazy Norwegian's Fish & Chips":G.obj_oregoncoastal_dining_port_orford_crazy_norwegians_fish_and_chips_v1,"Tasty Kate's":G.obj_oregoncoastal_dining_port_orford_tasty_kates_v1,"Golden Harvest":G.obj_oregoncoastal_dining_port_orford_golden_harvest_v1,"Mr. Ed's Underground Pub":G.obj_oregoncoastal_dining_port_orford_mr_eds_underground_pub_v1},Brookings:{"Black Trumpet Bistro":G.obj_oregoncoastal_dining_brookings_black_trumpet_bistro_v1,"Oxenfrë Public House":G.obj_oregoncoastal_dining_brookings_oxenfre_public_house_v1,"The Hungry Clam":G.obj_oregoncoastal_dining_brookings_hungry_clam_v1,"Superfly Martini Bar & Grill":G.obj_oregoncoastal_dining_brookings_superfly_v1,"Chetco Brewing Company":G.obj_oregoncoastal_dining_brookings_chetco_brewing_company_v1,"Pacific Sushi & Grill":G.obj_oregoncoastal_dining_brookings_pacific_sushi_and_grill_v1,"Catalyst Seafood":G.obj_oregoncoastal_dining_brookings_catalyst_seafood_v1,"Zola's Pizzeria":G.obj_oregoncoastal_dining_brookings_zolas_on_the_water_v1,"Fat Cat Pizza":G.obj_oregoncoastal_dining_brookings_fat_cat_pizza_v1,"Railroad Street Market & Deli":G.obj_oregoncoastal_dining_brookings_railroad_street_market_and_deli_v1},Harbor:{"The Hungry Clam":G.obj_oregoncoastal_dining_brookings_hungry_clam_v1,"Zola's Pizzeria":G.obj_oregoncoastal_dining_brookings_zolas_on_the_water_v1,"Catalyst Seafood":G.obj_oregoncoastal_dining_brookings_catalyst_seafood_v1}},wee={"Cannon Beach":{"Surfsand Resort":G.obj_oregoncoastal_hotel_surfsand_resort_v1},Astoria:{"Hampton Inn & Suites Astoria":G.obj_oregoncoastal_hotel_astoria_hampton_inn_suites_astoria_v1,"Holiday Inn Express & Suites Astoria":G.obj_oregoncoastal_hotel_astoria_holiday_inn_express_hotel_suites_astoria_v1,"Motel 6 Astoria":G.obj_oregoncoastal_hotel_astoria_motel_6_astoria_v1,"Lloyd Hotel Astoria Bayfront":G.obj_oregoncoastal_hotel_astoria_lloyd_hotel_astoria_bayfront_v1,"Best Western Columbia River Waterfront":G.obj_oregoncoastal_hotel_astoria_best_western_columbia_river_waterfront_hotel_v1,"Astoria Rivershore Motel":G.obj_oregoncoastal_hotel_astoria_astoria_rivershore_motel_v1,"Astoria Riverwalk Inn":G.obj_oregoncoastal_hotel_astoria_astoria_riverwalk_inn_v1},Gearhart:{"McMenamins Gearhart Hotel":G.obj_oregoncoastal_hotel_gearhart_gearhart_hotel_v1,"The Drifthaven at Gearhart":G.obj_oregoncoastal_hotel_gearhart_the_drifthaven_at_gearhart_v1},Seaside:{"Motel 6 Seaside, OR":G.obj_oregoncoastal_hotel_seaside_motel_6_seaside_v1,"Inn at the Shore":G.obj_oregoncoastal_hotel_seaside_inn_at_the_shore_v1,"Hi-Tide Oceanfront Inn":G.obj_oregoncoastal_hotel_seaside_hi_tide_oceanfront_inn_v1,"Ebb Tide Oceanfront Inn":G.obj_oregoncoastal_hotel_seaside_ebb_tide_oceanfront_inn_v1,"Seashore Inn on the Beach":G.obj_oregoncoastal_hotel_seaside_seashore_inn_on_the_beach_v1,"Best Western Plus Ocean View Resort":G.obj_oregoncoastal_hotel_seaside_best_western_plus_ocean_view_resort_v1,"Ashore Hotel":G.obj_oregoncoastal_hotel_seaside_ashore_hotel_v1,"Promenade Inn & Suites Oceanfront":G.obj_oregoncoastal_hotel_seaside_promenade_inn_suites_oceanfront_v1},"Arch Cape":{"Arch Cape Inn & Retreat":G.obj_oregoncoastal_hotel_arch_cape_arch_cape_inn_retreat_v1},Manzanita:{"Coast Cabins":G.obj_oregoncoastal_hotel_manzanita_coast_cabins_v1,"Inn at Manzanita":G.obj_oregoncoastal_hotel_manzanita_inn_at_manzanita_v1,"San Dune Inn":G.obj_oregoncoastal_hotel_manzanita_san_dune_inn_v1},Wheeler:{"Old Wheeler Hotel":G.obj_oregoncoastal_hotel_wheeler_old_wheeler_hotel_v1,"Wheeler on the Bay Lodge":G.obj_oregoncoastal_hotel_wheeler_wheeler_on_the_bay_lodge_v1},"Rockaway Beach":{"Rockaway Beach Resort":G.obj_oregoncoastal_hotel_rockaway_beach_rockaway_beach_resort_v1,"Surfside Resort":G.obj_oregoncoastal_hotel_rockaway_beach_surfside_resort_v1,"Silver Sands Motel":G.obj_oregoncoastal_hotel_rockaway_beach_silver_sands_motel_v1,"Tradewinds Motel":G.obj_oregoncoastal_hotel_rockaway_beach_tradewinds_motel_v1,"Twin Rocks Motel":G.obj_oregoncoastal_hotel_rockaway_beach_twin_rocks_motel_v1},Garibaldi:{"The Hotel Garibaldi":G.obj_oregoncoastal_hotel_garibaldi_hotel_garibaldi_v1,"Garibaldi Inn at the Bay":G.obj_oregoncoastal_hotel_garibaldi_inn_at_the_bay_v1,"Harborview Inn & RV Park":G.obj_oregoncoastal_hotel_garibaldi_harborview_inn_rv_park_v1},Tillamook:{"Ashley Inn of Tillamook":G.obj_oregoncoastal_hotel_tillamook_ashley_inn_of_tillamook_v1,"Tillamook Inn":G.obj_oregoncoastal_hotel_tillamook_tillamook_inn_v1,"Western Royal Inn":G.obj_oregoncoastal_hotel_tillamook_western_royal_inn_v1},Netarts:{"Terimore Lodging by the Sea":G.obj_oregoncoastal_hotel_netarts_terimore_lodging_by_the_sea_v1,"The Surf Inn":G.obj_oregoncoastal_hotel_netarts_the_surf_inn_v1},Oceanside:{"Oceanside Inn":G.obj_oregoncoastal_hotel_oceanside_oceanside_inn_v1},"Pacific City":{"Headlands Coastal Lodge & Spa":G.obj_oregoncoastal_hotel_pacific_city_headlands_coastal_lodge_and_spa_v1,"Inn at Cape Kiwanda":G.obj_oregoncoastal_hotel_pacific_city_inn_at_cape_kiwanda_v1,"Pacific City Inn":G.obj_oregoncoastal_hotel_pacific_city_pacific_city_inn_v1,"Surf & Sand Inn":G.obj_oregoncoastal_hotel_pacific_city_surf_and_sand_inn_v1,"The Anchorage Motel":G.obj_oregoncoastal_hotel_pacific_city_the_anchorage_motel_v1},"Lincoln City":{"Starfish Manor Oceanfront Hotel":G.obj_oregoncoastal_hotel_lincoln_city_starfish_manor_oceanfront_hotel_v1,"The Coho Oceanfront Lodge":G.obj_oregoncoastal_hotel_lincoln_city_the_coho_oceanfront_lodge_v1,"Sailor Jack's Oceanfront Inn":G.obj_oregoncoastal_hotel_lincoln_city_sailor_jacks_oceanfront_inn_v1,"Lincoln Sands Oceanfront Resort":G.obj_oregoncoastal_hotel_lincoln_city_lincoln_sands_oceanfront_resort_v1,"The Ashley Inn & Suites":G.obj_oregoncoastal_hotel_lincoln_city_ashley_inn_and_suites_v1,"Siletz Bay Beachfront Hotel":G.obj_oregoncoastal_hotel_lincoln_city_siletz_bay_beachfront_hotel_v1,"Holiday Inn Express & Suites":G.obj_oregoncoastal_hotel_lincoln_city_holiday_inn_express_and_suites_v1,"Comfort Inn & Suites":G.obj_oregoncoastal_hotel_lincoln_city_comfort_inn_and_suites_v1,"Surfland Hotel":G.obj_oregoncoastal_hotel_lincoln_city_surfland_hotel_v1,Surftides:G.obj_oregoncoastal_hotel_lincoln_city_surftides_hotel_v1},"Gleneden Beach":{"Salishan Coastal Lodge":G.obj_oregoncoastal_hotel_gleneden_beach_salishan_coastal_lodge_v1,"WorldMark Gleneden":G.obj_oregoncoastal_hotel_gleneden_beach_worldmark_gleneden_v1},"Depoe Bay":{"Whale Cove Inn":G.obj_oregoncoastal_hotel_depoe_bay_whale_cove_inn_v1,"Inn at Arch Rock":G.obj_oregoncoastal_hotel_depoe_bay_the_inn_at_arch_rock_v1,"Travelodge by Wyndham Depoe Bay":G.obj_oregoncoastal_hotel_depoe_bay_travelodge_by_wyndham_depoe_bay_v1,"WorldMark Depoe Bay":G.obj_oregoncoastal_hotel_depoe_bay_worldmark_depoe_bay_v1},"Otter Rock":{"The Inn at Otter Crest":G.obj_oregoncoastal_hotel_otter_rock_the_inn_at_otter_crest_v1},Newport:{"Sylvia Beach Hotel":G.obj_oregoncoastal_hotel_newport_hotel_sylvia_v1,"Hallmark Resort - Newport":G.obj_oregoncoastal_hotel_newport_hallmark_resort_newport_v1,"Elizabeth Oceanfront Suites":G.obj_oregoncoastal_hotel_newport_elizabeth_oceanfront_suites_v1,"Best Western Plus Agate Beach Inn":G.obj_oregoncoastal_hotel_newport_best_western_plus_agate_beach_inn_v1,"Little Creek Cove Beachfront Resort":G.obj_oregoncoastal_hotel_newport_little_creek_cove_v1,"Holiday Inn Express":G.obj_oregoncoastal_hotel_newport_holiday_inn_express_suites_newport_v1,"Waves Hotel NYE Beach":G.obj_oregoncoastal_hotel_newport_oyo_waves_hotel_newport_nye_beach_v1,"Comfort Inn Newport":G.obj_oregoncoastal_hotel_newport_comfort_inn_newport_v1,"Newport Inn By OYO":G.obj_oregoncoastal_hotel_newport_newport_inn_by_oyo_hwy_101_v1,"Motel 6 Newport":G.obj_oregoncoastal_hotel_newport_motel_6_newport_v1},"South Beach":{"Holiday Inn Express Newport":G.obj_oregoncoastal_hotel_newport_holiday_inn_express_suites_newport_v1,"Motel 6 Newport":G.obj_oregoncoastal_hotel_newport_motel_6_newport_v1},Waldport:{"The Waldport Inn":G.obj_oregoncoastal_hotel_waldport_waldport_inn_v1},Yachats:{"Overleaf Lodge & Spa":G.obj_oregoncoastal_hotel_yachats_overleaf_lodge_and_spa_v1,"Adobe Resort":G.obj_oregoncoastal_hotel_yachats_adobe_resort_v1,"Fireside Motel":G.obj_oregoncoastal_hotel_yachats_fireside_motel_v1,"Silver Surf Motel":G.obj_oregoncoastal_hotel_yachats_silver_surf_motel_v1,"Tillicum Beach Motel":G.obj_oregoncoastal_hotel_yachats_tillicum_beach_motel_v1},Florence:{"Driftwood Shores Resort":G.obj_oregoncoastal_hotel_florence_driftwood_shores_resort_v1,"River House Inn":G.obj_oregoncoastal_hotel_florence_river_house_inn_v1,"Best Western Pier Point Inn":G.obj_oregoncoastal_hotel_florence_best_western_pier_point_inn_v1,"Three Rivers Casino Resort":G.obj_oregoncoastal_hotel_florence_three_rivers_casino_resort_v1,"Economy Inn Florence":G.obj_oregoncoastal_hotel_florence_economy_inn_florence_v1,"Quality Inn Florence":G.obj_oregoncoastal_hotel_florence_quality_inn_florence_v1},"Dune City":{"Lakeshore Lodge (Nearby)":G.obj_oregoncoastal_hotel_lakeside_lakeshore_lodge_v1},Reedsport:{"Anchor Bay Inn":G.obj_oregoncoastal_hotel_reedsport_anchor_bay_inn_v1,"Best Budget Inn":G.obj_oregoncoastal_hotel_reedsport_best_budget_inn_v1,"Best Western Salbasgeon Inn":G.obj_oregoncoastal_hotel_reedsport_best_western_salbasgeon_v1,"Economy Inn Reedsport":G.obj_oregoncoastal_hotel_reedsport_economy_inn_v1,"Salbasgeon Suites":G.obj_oregoncoastal_hotel_reedsport_best_western_salbasgeon_v1},"Winchester Bay":{"Winchester Bay Inn":G.obj_oregoncoastal_hotel_winchester_bay_winchester_bay_inn_v1},Lakeside:{"Lakeshore Lodge":G.obj_oregoncoastal_hotel_lakeside_lakeshore_lodge_v1},"North Bend":{"Bay Bridge Motel":G.obj_oregoncoastal_hotel_north_bend_bay_bridge_motel_v1,"City Center Motel":G.obj_oregoncoastal_hotel_north_bend_city_center_motel_v1,"Itty Bitty Inn":G.obj_oregoncoastal_hotel_north_bend_itty_bitty_inn_v1,"Quality Inn & Suites at Coos Bay":G.obj_oregoncoastal_hotel_north_bend_quality_inn_suites_v1,"The Mill Casino • Hotel":G.obj_oregoncoastal_hotel_north_bend_ko_kwel_casino_resort_v1},"Coos Bay":{"Bay Point Landing":G.obj_oregoncoastal_hotel_bay_point_landing_v1,"Best Western Holiday Hotel":G.obj_oregoncoastal_hotel_coos_bay_best_western_holiday_hotel_v1,"Edgewater Inn and Suites":G.obj_oregoncoastal_hotel_coos_bay_edgewater_inn_v1,"Global INN":G.obj_oregoncoastal_hotel_coos_bay_global_inn_v1,"Motel 6 Coos Bay":G.obj_oregoncoastal_hotel_coos_bay_motel_6_coos_bay_v1,"Red Lion Hotel Coos Bay":G.obj_oregoncoastal_hotel_coos_bay_red_lion_hotel_v1},Charleston:{"Captain John's Motel":G.obj_oregoncoastal_hotel_charleston_capt_johns_motel_v1,"Plainview Motel":G.obj_oregoncoastal_hotel_charleston_plainview_motel_and_rv_park_v1,"Bay Point Landing":G.obj_oregoncoastal_hotel_bay_point_landing_v1},Bandon:{"Bandon Inn":G.obj_oregoncoastal_hotel_bandon_bandon_inn_v1,"Best Western Inn at Face Rock":G.obj_oregoncoastal_hotel_bandon_best_western_inn_at_face_rock_v1,"The Inn at Old Town":G.obj_oregoncoastal_hotel_bandon_inn_at_old_town_v1,"Sunset Oceanfront Lodging":G.obj_oregoncoastal_hotel_bandon_sunset_oceanfront_lodging_v1,"Bandon Marina Inn":G.obj_oregoncoastal_hotel_bandon_bandon_marina_inn_v1,"La Kris Inn":G.obj_oregoncoastal_hotel_bandon_lakris_inn_v1},"Port Orford":{"The Shoreline Inn & Suites":G.obj_oregoncoastal_hotel_port_orford_shoreline_inn_and_suites_v1},"Gold Beach":{"Gold Beach Inn":G.obj_oregoncoastal_hotel_gold_beach_gold_beach_inn_v1,"SureStay Plus Hotel":G.obj_oregoncoastal_hotel_gold_beach_surestay_plus_hotel_v1,"Pacific Reef Hotel & Light Show":G.obj_oregoncoastal_hotel_gold_beach_pacific_reef_hotel_v1,"The Wildflower Inn":G.obj_oregoncoastal_hotel_gold_beach_wildflower_inn_v1,"Jot's Resort":G.obj_oregoncoastal_hotel_gold_beach_jots_resort_v1},Brookings:{"Beachfront Inn":G.obj_oregoncoastal_hotel_brookings_beachfront_inn_v1,"Whaleshead Beach Resort":G.obj_oregoncoastal_hotel_brookings_whaleshead_beach_resort_v1,"Wild Rivers Motor Lodge":G.obj_oregoncoastal_hotel_brookings_wild_rivers_motor_lodge_v1,"Ocean Suites Motel":G.obj_oregoncoastal_hotel_brookings_ocean_suites_motel_v1,"Pacific Sunset Inn":G.obj_oregoncoastal_hotel_brookings_pacific_sunset_inn_v1,"Blue Coast Inn and Suites":G.obj_oregoncoastal_hotel_brookings_blue_coast_inn_and_suites_v1,"Westward Inn":G.obj_oregoncoastal_hotel_brookings_westward_inn_v1,"Brookings Inn Resort":G.obj_oregoncoastal_hotel_brookings_brookings_inn_resort_v1,"Harbor Inn":G.obj_oregoncoastal_hotel_brookings_harbor_inn_motel_v1,"AmeriCoast Inn":G.obj_oregoncoastal_hotel_brookings_americoast_inn_v1}},bf={"Cannon Beach":{"Ecola Point to Indian Beach":G.obj_oregoncoastal_trail_ecola_point_to_indian_beach_v1,"Crescent Beach Trail":G.obj_oregoncoastal_trail_ecola_point_to_crescent_beach_v1,"Tillamook Head Traverse":G.obj_oregoncoastal_trail_tillamook_head_v1},"Rockaway Beach":{"Cedar Wetlands Preserve Trail":G.obj_oregoncoastal_trail_rockaway_beach_old_growth_cedar_trail_v1},"Bay City":{"Kilchis Point Reserve Loop":G.obj_oregoncoastal_trail_bay_city_kilchis_point_reserve_trailhead_loop_v1,"Flora & Fauna Trail":G.obj_oregoncoastal_trail_bay_city_flora_and_fauna_trail_v1},Tillamook:{"Cape Lookout Trail":G.obj_oregoncoastal_trail_cape_lookout_cape_trail_v1,"Cape Meares Lighthouse Trail":G.obj_oregoncoastal_trail_cape_meares_lighthouse_trail_v1,"Kings Mountain Trail":G.obj_oregoncoastal_trail_tillamook_kings_mountain_trail_v1,"Munson Creek Falls Trail":G.obj_oregoncoastal_trail_near_tillamook_munson_creek_falls_trail_v1},Netarts:{"Cape Lookout Trail":G.obj_oregoncoastal_trail_cape_lookout_cape_trail_v1,"Munson Creek Falls Trail":G.obj_oregoncoastal_trail_near_tillamook_munson_creek_falls_trail_v1},Oceanside:{"Cape Lookout Trail":G.obj_oregoncoastal_trail_cape_lookout_cape_trail_v1,"Octopus Tree Trail":G.obj_oregoncoastal_trail_cape_meares_octopus_tree_trail_v1},Newport:{"Ocean to Bay Trail":G.obj_oregoncoastal_trail_newport_ocean_to_bay_trail_v1,"South Beach State Park Jetty Trail":G.obj_oregoncoastal_trail_south_beach_south_jetty_trail_v1},"South Beach":{"South Jetty Trail":G.obj_oregoncoastal_trail_south_beach_south_jetty_trail_v1,"Mike Miller Nature Loop":G.obj_oregoncoastal_trail_newport_mike_miller_loop_v1,"Cooper Ridge Nature Trail":G.obj_oregoncoastal_trail_south_beach_cooper_ridge_nature_trail_v1,"Old Jetty Trail":G.obj_oregoncoastal_trail_south_beach_old_jetty_trail_v1,"Yaquina Bay Estuary Trail":G.obj_oregoncoastal_trail_newport_yaquina_bay_estuary_trail_v1},Waldport:{"Oregon Coast Trail (Waldport Section)":G.obj_oregoncoastal_trail_waldport_oregon_coast_trail_section_v1,"Crestline Park Woodland Trail":G.obj_oregoncoastal_trail_waldport_woodland_trail_v1,"Brian Booth State Park (Beaver Creek)":G.obj_oregoncoastal_attraction_brian_booth_state_park_v1},Yachats:{"Saint Perpetua Trail":G.obj_oregoncoastal_trail_yachats_saint_perpetua_trail_1306_v1,"Amanda's Trail":G.obj_oregoncoastal_trail_yachats_amandas_trail_1386_v1,"Cook's Ridge Trail":G.obj_oregoncoastal_trail_yachats_cooks_ridge_trail_1372_v1},Florence:{"Heceta Head Lighthouse Trail":G.obj_oregoncoastal_trail_florence_heceta_lighthouse_trail_v1,"Siltcoos Lake Trail":G.obj_oregoncoastal_trail_siltcoos_lake_trail_1333_v1,"Waxmyrtle Trail":G.obj_oregoncoastal_trail_waxmyrtle_trail_1337_v1,"Sutton Trails (Loop)":G.obj_oregoncoastal_trail_florence_sutton_trails_1321_v1},"Dune City":{"Carter Dune Trail":G.obj_oregoncoastal_trail_carter_lake_area_carter_dunes_trail_1384_v1,"Chief Tsiltcoos Trail":G.obj_oregoncoastal_trail_siltcoos_area_chief_tsiltcoos_trail_1359_v1,"Lagoon Trail":G.obj_oregoncoastal_trail_siltcoos_area_lagoon_loop_trail_1330_v1,"Siltcoos Lake Trail":G.obj_oregoncoastal_trail_siltcoos_lake_trail_1333_v1,"Taylor Dune Trail":G.obj_oregoncoastal_trail_siltcoos_area_taylor_dunes_trail_1335_v1,"Waxmyrtle Trail":G.obj_oregoncoastal_trail_waxmyrtle_trail_1337_v1},Reedsport:{"John Dellenback Dunes Trail":G.obj_oregoncoastal_trail_eel_creek_area_john_dellenback_dunes_trail_1339_v1,"Tahkenitch Dunes Trail":G.obj_oregoncoastal_trail_tahkenitch_area_tahkenitch_dunes_trail_1353_v1},"Winchester Bay":{"Lake Marie Trail":G.obj_oregoncoastal_trail_winchester_bay_lake_marie_walking_loop_v1},Gardiner:{"Oregon Dunes Loop":G.obj_oregoncoastal_trail_oregon_dunes_day_use_oregon_dunes_loop_trail_1334_v1,"Tahkenitch Dunes Trail":G.obj_oregoncoastal_trail_tahkenitch_area_tahkenitch_dunes_trail_1353_v1},Lakeside:{"Hall Lake Trail":G.obj_oregoncoastal_trail_lakeside_area_hall_schuttpelz_lake_trail_1357_v1},"North Bend":{"Bluebill Lake Trail":G.obj_oregoncoastal_trail_north_bend_bluebill_trail_1331_v1},"Coos Bay":{"Mingus Park Loop":G.obj_oregoncoastal_trail_coos_bay_mingus_park_paved_trail_v1},Bandon:{"Bullards Beach Trail":G.obj_oregoncoastal_trail_bandon_bullards_beach_beach_trail_v1,"New River Nature Center Trails":G.obj_oregoncoastal_attraction_new_river_storm_ranch_nature_center_v1},"Port Orford":{"Humbug Mountain Trail":G.obj_oregoncoastal_trail_port_orford_humbug_mountain_trail_v1},"Gold Beach":{"Myers Creek Beach Walk":G.obj_oregoncoastal_attraction_gold_beach_myers_creek_beach_access_v1},Brookings:{"Arch Rock Viewpoint":G.obj_oregoncoastal_attraction_brookings_arch_rock_overlook_v1,"Cape Ferrelo Loop":G.obj_oregoncoastal_trail_brookings_cape_ferrelo_loop_v1}},xf={"Tolovana Park":{"Sea Level Bakery + Coffee":G.obj_oregoncoastal_dining_tolovana_park_sea_level_bakery_coffee_v1,"Fresh Foods Market":G.obj_oregoncoastal_dining_tolovana_park_fresh_foods_v1},Wheeler:{"Oregon Coast Scenic Railroad":G.obj_oregoncoastal_attraction_oregon_coast_scenic_railroad_v1,"Wheeler Marina":G.obj_oregoncoastal_attraction_wheeler_wheeler_marina_v1},"Rockaway Beach":{"Twin Rocks":G.obj_oregoncoastal_attraction_rockaway_beach_twin_rocks_v1,"Oregon Coast Scenic Railroad":G.obj_oregoncoastal_attraction_oregon_coast_scenic_railroad_v1,"Cedar Wetlands Preserve":G.obj_oregoncoastal_attraction_rockaway_beach_cedar_wetlands_preserve_v1,"International Police Museum":G.obj_oregoncoastal_attraction_rockaway_beach_international_police_museum_v1,"Rockaway Beach Wayside":G.obj_oregoncoastal_attraction_rockaway_beach_wayside_v1,"Kilchis Point Reserve (Nearby)":G.obj_oregoncoastal_attraction_kilchis_point_reserve_v1,"Munson Creek Falls":G.obj_oregoncoastal_attraction_munson_creek_falls_v1},Garibaldi:{"Port of Garibaldi Marina":G.obj_oregoncoastal_attraction_garibaldi_port_of_garibaldi_marina_v1,"Pier's End":G.obj_oregoncoastal_attraction_garibaldi_piers_end_v1,"Oregon Coast Scenic Railroad":G.obj_oregoncoastal_attraction_oregon_coast_scenic_railroad_v1,"Garibaldi Maritime Museum":G.obj_oregoncoastal_attraction_garibaldi_maritime_museum_v1},"Bay City":{"Tillamook Country Smoker":G.obj_oregoncoastal_attraction_bay_city_tillamook_country_smoker_outlet_v1,"Pacific Oyster":G.obj_oregoncoastal_attraction_bay_city_pacific_oyster_company_v1,"Bay City Arts Center":G.obj_oregoncoastal_attraction_bay_city_arts_center_v1,"Al Griffin Memorial Park":G.obj_oregoncoastal_attraction_bay_city_al_griffin_memorial_park_v1,"Kilchis Point Reserve":G.obj_oregoncoastal_attraction_kilchis_point_reserve_v1,"Munson Creek Falls (Nearby)":G.obj_oregoncoastal_attraction_munson_creek_falls_v1},Tillamook:{"Tillamook Creamery":G.obj_oregoncoastal_attraction_tillamook_tillamook_creamery_v1,"Blue Heron French Cheese Company":G.obj_oregoncoastal_attraction_tillamook_blue_heron_french_cheese_company_v1,"Tillamook County Pioneer Museum":G.obj_oregoncoastal_attraction_tillamook_county_pioneer_museum_v1,"Tillamook Forest Center":G.obj_oregoncoastal_attraction_tillamook_forest_center_v1,"Latimer Quilt & Textile Center":G.obj_oregoncoastal_attraction_tillamook_latimer_quilt_textile_center_v1,"Three Capes Scenic Loop":G.obj_oregoncoastal_attraction_tillamook_three_capes_scenic_loop_v1,"Munson Creek Falls":G.obj_oregoncoastal_attraction_munson_creek_falls_v1},Netarts:{"Jacobsen Salt Company":G.obj_oregoncoastal_attraction_netarts_jacobsen_salt_company_v1,"Tunnel Beach":G.obj_oregoncoastal_attraction_oceanside_tunnel_beach_v1,"Tunnel Beach Trail":G.obj_oregoncoastal_attraction_oceanside_maxwell_point_tunnel_v1},Oceanside:{"Tunnel Beach":G.obj_oregoncoastal_attraction_oceanside_tunnel_beach_v1,"Cape Meares":G.obj_oregoncoastal_attraction_cape_meares_viewpoint_v1,"Oceanside Beach":G.obj_oregoncoastal_attraction_oceanside_oceanside_beach_v1,"Maxwell Point Tunnel":G.obj_oregoncoastal_attraction_oceanside_maxwell_point_tunnel_v1},"Pacific City":{"Cape Kiwanda State Natural Area":G.obj_oregoncoastal_attraction_pacific_city_cape_kiwanda_state_natural_area_v1,"Haystack Rock":G.obj_oregoncoastal_attraction_pacific_city_haystack_rock_v1,"Dory Fishing Fleet":G.obj_oregoncoastal_attraction_pacific_city_dory_fleet_v1,"Bob Straub State Park":G.obj_oregoncoastal_attraction_pacific_city_bob_straub_state_park_v1,"Pelican Brewing Company":G.obj_oregoncoastal_dining_pacific_city_pelican_brewing_company_v1},Neskowin:{"Ghost Forest":G.obj_oregoncoastal_attraction_neskowin_ghost_forest_v1,"Proposal Rock":G.obj_oregoncoastal_attraction_neskowin_proposal_rock_v1,"Neskowin Beach":G.obj_oregoncoastal_attraction_neskowin_neskowin_beach_v1,"Cascade Head":G.obj_oregoncoastal_attraction_neskowin_cascade_head_v1,"Neskowin Beach Golf Course":G.obj_oregoncoastal_attraction_neskowin_neskowin_beach_golf_course_v1,"Neskowin Trading Company":G.obj_oregoncoastal_dining_neskowin_neskowin_provisions_v1},"Lincoln City":{"Finders Keepers Glass Float Hunt":G.obj_oregoncoastal_attraction_lincoln_city_finders_keepers_v1,"Lincoln City Glass Center":G.obj_oregoncoastal_attraction_lincoln_city_lincoln_city_glass_center_v1,"Devil's Lake State Recreation Area":G.obj_oregoncoastal_attraction_lincoln_city_devils_lake_state_recreation_area_v1,"Chinook Winds Casino Resort":G.obj_oregoncoastal_attraction_lincoln_city_chinook_winds_casino_resort_v1,"Nelscott Reef":G.obj_oregoncoastal_attraction_lincoln_city_nelscott_reef_v1,"Road's End State Recreation Site":G.obj_oregoncoastal_attraction_lincoln_city_roads_end_state_recreation_site_v1,"Lincoln City Outlets":G.obj_oregoncoastal_attraction_lincoln_city_lincoln_city_outlets_v1},"Gleneden Beach":{"Salishan Golf Links":G.obj_oregoncoastal_attraction_gleneden_beach_salishan_golf_links_v1,"Gleneden Beach State Recreation Site":G.obj_oregoncoastal_attraction_gleneden_beach_gleneden_beach_state_recreation_site_v1,"Salishan Marketplace":G.obj_oregoncoastal_attraction_gleneden_beach_the_marketplace_at_salishan_v1,"Eden Hall":G.obj_oregoncoastal_attraction_gleneden_beach_eden_hall_v1},"Depoe Bay":{"The Spouting Horns":G.obj_oregoncoastal_attraction_depoe_bay_spouting_horn_v1,"World's Smallest Harbor":G.obj_oregoncoastal_attraction_depoe_bay_harbor_v1,"Boiler Bay State Scenic Viewpoint":G.obj_oregoncoastal_attraction_depoe_bay_boiler_bay_state_scenic_viewpoint_v1,"Rocky Creek State Scenic Viewpoint":G.obj_oregoncoastal_attraction_depoe_bay_rocky_creek_state_scenic_viewpoint_v1,"Depoe Bay Winery":G.obj_oregoncoastal_attraction_depoe_bay_depoe_bay_winery_v1},"Otter Rock":{"Flying Dutchman Winery":G.obj_oregoncoastal_dining_otter_rock_flying_dutchman_winery_v1,"Devil's Punchbowl State Natural Area":G.obj_oregoncoastal_attraction_otter_rock_devils_punchbowl_state_natural_area_v1,"Otter Rock Marine Reserve":G.obj_oregoncoastal_attraction_otter_rock_otter_rock_marine_reserve_v1},Newport:{"Oregon Coast Aquarium":G.obj_oregoncoastal_attraction_newport_oregon_coast_aquarium_v1,"Yaquina Head Outstanding Natural Area":G.obj_oregoncoastal_attraction_newport_yaquina_head_outstanding_natural_area_v1,"Yaquina Bay Lighthouse":G.obj_oregoncoastal_attraction_newport_yaquina_bay_lighthouse_v1,"Hatfield Marine Science Center":G.obj_oregoncoastal_attraction_newport_hatfield_marine_science_center_v1,"Marine Discovery Tours":G.obj_oregoncoastal_attraction_newport_marine_discovery_tours_v1},"South Beach":{"Oregon Coast Aquarium":G.obj_oregoncoastal_attraction_newport_oregon_coast_aquarium_v1,"Hatfield Marine Science Center":G.obj_oregoncoastal_attraction_newport_hatfield_marine_science_center_v1,"South Beach State Park":G.obj_oregoncoastal_attraction_newport_south_beach_state_park_v1,"South Jetty":G.obj_oregoncoastal_attraction_newport_south_jetty_v1,"Mike Miller Educational Park":G.obj_oregoncoastal_attraction_newport_mike_miller_educational_park_v1,"Brian Booth State Park (Ona Beach)":G.obj_oregoncoastal_attraction_brian_booth_state_park_v1},Toledo:{"Toledo History Center":G.obj_oregoncoastal_attraction_toledo_toledo_history_center_v1,"Yaquina River Museum of Art":G.obj_oregoncoastal_attraction_toledo_yaquina_river_museum_of_art_v1,"Port of Toledo Waterfront Park":G.obj_oregoncoastal_attraction_toledo_waterfront_park_v1,"Michael Gibbons Signature Gallery":G.obj_oregoncoastal_attraction_toledo_michael_gibbons_signature_gallery_v1,"Paddle Park":G.obj_oregoncoastal_attraction_toledo_paddle_park_v1},Waldport:{"Alsea Bay Bridge & Historic Interpretive Center":G.obj_oregoncoastal_attraction_waldport_alsea_bay_bridge_visitor_center_heritage_museum_v1,"Waldport Heritage Museum":G.obj_oregoncoastal_attraction_waldport_alsea_bay_bridge_visitor_center_heritage_museum_v1,"Crestline Disc Golf Course":G.obj_oregoncoastal_attraction_waldport_red_river_disc_golf_course_v1,"Governor Patterson Memorial State Recreation Site":G.obj_oregoncoastal_attraction_waldport_governor_patterson_memorial_state_recreation_site_v1,"Beachside State Recreation Site":G.obj_oregoncoastal_attraction_waldport_beachside_state_recreation_site_v1},Yachats:{"Cape Perpetua Scenic Area":G.obj_oregoncoastal_attraction_yachats_cape_perpetua_scenic_area_v1,"Thor's Well":G.obj_oregoncoastal_attraction_yachats_thors_well_v1,"Devil's Churn":G.obj_oregoncoastal_attraction_yachats_devils_churn_v1,"Yachats Ocean Road State Natural Site":G.obj_oregoncoastal_attraction_yachats_yachats_ocean_road_state_natural_site_v1},Florence:{"Oregon Dunes National Recreation Area":G.obj_oregoncoastal_attraction_oregon_dunes_national_recreation_area_v1,"Heceta Head Lighthouse":G.obj_oregoncoastal_attraction_florence_heceta_head_lighthouse_v1,"Sea Lion Caves":G.obj_oregoncoastal_attraction_florence_sea_lion_caves_v1,"Siuslaw River Bridge":G.obj_oregoncoastal_attraction_florence_siuslaw_river_bridge_v1,"Darlingtonia State Natural Site":G.obj_oregoncoastal_attraction_florence_darlingtonia_state_natural_site_v1,"Jessie M. Honeyman Memorial State Park":G.obj_oregoncoastal_attraction_florence_jessie_m_honeyman_memorial_state_park_v1,"Three Rivers Casino Resort":G.obj_oregoncoastal_hotel_florence_three_rivers_casino_resort_v1,"Sweet Creek Falls":G.obj_oregoncoastal_attraction_florence_sweet_creek_falls_v1,"Upper & Lower Kentucky Falls":G.obj_oregoncoastal_attraction_upper_lower_kentucky_falls_v1},"Dune City":{"Carter Lake":G.obj_oregoncoastal_attraction_dune_city_carter_lake_v1,"Oregon Dunes National Recreation Area":G.obj_oregoncoastal_attraction_oregon_dunes_national_recreation_area_v1,"Siltcoos Lake":G.obj_oregoncoastal_attraction_dune_city_siltcoos_lake_v1,"Siltcoos River":G.obj_oregoncoastal_attraction_dune_city_siltcoos_river_v1,"Woahink Lake State Park":G.obj_oregoncoastal_attraction_dune_city_woahink_lake_v1},Reedsport:{"Bolon Island Tideways State Scenic Corridor":G.obj_oregoncoastal_attraction_reedsport_bolon_island_tideways_v1,"Dean Creek Elk Viewing Area":G.obj_oregoncoastal_attraction_reedsport_dean_creek_elk_viewing_area_v1,"Oregon Dunes National Recreation Area":G.obj_oregoncoastal_attraction_oregon_dunes_national_recreation_area_v1,"Umpqua Discovery Center":G.obj_oregoncoastal_attraction_reedsport_umpqua_discovery_center_v1},"Winchester Bay":{"Lake Marie":G.obj_oregoncoastal_attraction_winchester_bay_lake_marie_v1,"Oregon Dunes National Recreation Area":G.obj_oregoncoastal_attraction_oregon_dunes_national_recreation_area_v1,"Salmon Harbor Marina":G.obj_oregoncoastal_attraction_winchester_bay_salmon_harbor_marina_v1,"Umpqua River Lighthouse":G.obj_oregoncoastal_attraction_winchester_bay_umpqua_river_lighthouse_v1},Gardiner:{"Gardiner Historic District":G.obj_oregoncoastal_attraction_gardiner_gardiner_historic_district_v1,"Oregon Dunes Overlook":G.obj_oregoncoastal_attraction_oregon_dunes_overlook_v1},Lakeside:{"Eel Lake":G.obj_oregoncoastal_attraction_lakeside_eel_lake_v1,"Tenmile Lakes":G.obj_oregoncoastal_attraction_lakeside_tenmile_lakes_v1,"Tenmile Lakes County Park":G.obj_oregoncoastal_attraction_lakeside_tenmile_lakes_park_v1,"William M. Tugman State Park":G.obj_oregoncoastal_attraction_lakeside_william_m_tugman_state_park_v1},"North Bend":{"David Dewett Veterans Memorial":G.obj_oregoncoastal_attraction_north_bend_david_dewett_veterans_memorial_v1,"Oregon Dunes National Recreation Area":G.obj_oregoncoastal_attraction_oregon_dunes_national_recreation_area_v1,"The Mill Casino • Hotel & RV Park":G.obj_oregoncoastal_hotel_north_bend_ko_kwel_casino_resort_v1},"Coos Bay":{"Coos Art Museum":G.obj_oregoncoastal_attraction_coos_bay_coos_art_museum_v1,"Coos Bay Boardwalk":G.obj_oregoncoastal_attraction_coos_bay_coos_bay_boardwalk_v1,"Golden Falls & Silver Falls":G.obj_oregoncoastal_attraction_coos_bay_golden_and_silver_falls_v1,"Mingus Park":G.obj_oregoncoastal_attraction_coos_bay_mingus_park_v1,"Oregon Coast Historical Railway":G.obj_oregoncoastal_attraction_coos_bay_oregon_coast_historical_railway_v1},Charleston:{"Sunset Bay State Park":G.obj_oregoncoastal_attraction_charleston_sunset_bay_state_park_v1,"Charleston Marine Life Center":G.obj_oregoncoastal_attraction_charleston_marine_life_center_v1,"South Slough National Estuarine Research Reserve":G.obj_oregoncoastal_attraction_charleston_south_slough_nerr_v1,"Bastendorff Beach":G.obj_oregoncoastal_attraction_charleston_bastendorff_beach_v1},Bandon:{"Face Rock State Scenic Viewpoint":G.obj_oregoncoastal_attraction_bandon_face_rock_state_scenic_viewpoint_v1,"Coquille River Lighthouse":G.obj_oregoncoastal_attraction_bandon_coquille_river_lighthouse_v1,"Bandon Dunes Golf Resort":G.obj_oregoncoastal_attraction_bandon_bandon_dunes_golf_resort_v1,"Old Town Bandon":G.obj_oregoncoastal_attraction_bandon_old_town_bandon_v1,"Bullards Beach State Park":G.obj_oregoncoastal_attraction_bandon_bullards_beach_state_park_v1,"Washed Ashore Gallery":G.obj_oregoncoastal_attraction_bandon_washed_ashore_gallery_v1,"Bandon Historical Society Museum":G.obj_oregoncoastal_attraction_bandon_bandon_historical_society_museum_v1},Langlois:{"Floras Lake State Natural Area":G.obj_oregoncoastal_attraction_langlois_floras_lake_state_natural_area_v1,"Langlois Market":G.obj_oregoncoastal_dining_langlois_langlois_market_v1,"Blacklock Point":G.obj_oregoncoastal_attraction_langlois_blacklock_point_v1,"Boice Cope County Park":G.obj_oregoncoastal_attraction_langlois_boice_cope_park_v1,"Dragonfly Farm & Nursery":G.obj_oregoncoastal_attraction_langlois_dragonfly_farm_and_nursery_v1,"New River Nature Center":G.obj_oregoncoastal_attraction_new_river_storm_ranch_nature_center_v1,"Cape Blanco State Park":G.obj_oregoncoastal_attraction_langlois_cape_blanco_state_park_v1},"Port Orford":{"Battle Rock Wayside":G.obj_oregoncoastal_attraction_port_orford_battle_rock_wayside_park_v1,"Cape Blanco Lighthouse":G.obj_oregoncoastal_attraction_port_orford_cape_blanco_lighthouse_v1,"Port Orford Heads State Park":G.obj_oregoncoastal_attraction_port_orford_port_orford_heads_state_park_v1,"The Dolly Dock":G.obj_oregoncoastal_attraction_port_orford_port_of_port_orford_dolly_dock_v1},"Gold Beach":{"Cape Sebastian State Scenic Corridor":G.obj_oregoncoastal_attraction_gold_beach_cape_sebastian_state_scenic_corridor_v1},Brookings:{"Chetco Point Park":G.obj_oregoncoastal_attraction_brookings_chetco_point_park_v1,"Port of Brookings Harbor":G.obj_oregoncoastal_attraction_brookings_port_of_brookings_harbor_v1,"Manley Art Center & Gallery":G.obj_oregoncoastal_attraction_brookings_manley_art_center_gallery_v1,"Sporthaven Beach":G.obj_oregoncoastal_attraction_brookings_sporthaven_beach_v1}};function Tee(e,t){return wee[e]?.[t]||null}function K(e){return e?`/town/${e.toLowerCase().replace(/\s+/g,`-`)}`:null}function Sf(e,t){return Cee[e]?.[t]||null}function Eee(e){return e===`astoria`?G.obj_oregoncoastal_town_astoria_v1:e===`cannon-beach`?G.obj_oregoncoastal_town_cannon_beach_v1:null}function Cf(e,t){return e===`Cannon Beach`&&t===`Stormy Weather Arts Festival`?G.obj_oregoncoastal_event_stormy_weather_arts_festival_2026_v1:e===`Cannon Beach`&&t===`Cannon Beach Independence Day Parade`?G.obj_oregoncoastal_event_cannon_beach_independence_day_parade_2027_v1:e===`Yachats`&&t===`Yachats Mushroom Festival`?G.obj_oregoncoastal_event_yachats_mushroom_festival_2026_v1:e===`Florence`&&t===`Rhododendron Festival`?G.obj_oregoncoastal_event_florence_rhododendron_festival_2027_v1:e===`Coos Bay`&&t===`Coos Bay Wine Walk`?G.obj_oregoncoastal_event_coos_bay_wine_walk_2026_v1:null}function wf(e,t){return bf[e]?.[t]||null}function Tf(e,t){return bf[e]?.[t]||xf[e]?.[t]||null}function Ef(e,t){return xf[e]?.[t]||null}var Df=(0,y.createContext)(null),Of=()=>(0,y.useContext)(Df),kf=`cacoon_tagalong_session_id`,Af=`cacoon_saved_object_ids`,jf=/^tag_[A-Za-z0-9_-]{8,120}$/;function Mf(){return`tag_${typeof crypto<`u`&&crypto.randomUUID?crypto.randomUUID():Math.random().toString(36).slice(2)+Date.now().toString(36)}`}function Nf(){try{let e=localStorage.getItem(kf);return e&&jf.test(e)||(e=Mf(),localStorage.setItem(kf,e)),e}catch{return Mf()}}function Pf(){try{let e=localStorage.getItem(Af);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}function Ff({children:e}){let[t,n]=(0,y.useState)(null),[r,i]=(0,y.useState)([]),[a,o]=(0,y.useState)(null),s=(0,y.useRef)(!1);(0,y.useEffect)(()=>{n(Nf()),i(Pf())},[]);let c=e=>{i(e);try{localStorage.setItem(Af,JSON.stringify(e))}catch{}},l=(0,y.useCallback)(async(e,t=!1)=>{if(!e||!t&&s.current)return;let n=new AbortController,r=setTimeout(()=>n.abort(),3e3);try{let t=await fetch(`${yf}/tagalong/sessions`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({tagalong_session_id:e,first_source_site:`oregoncoastal.com`,first_source_page:typeof window<`u`?window.location.pathname:`/`,client_version:`oregoncoastal-1.0`,locale:typeof navigator<`u`&&navigator.language||`en-US`,metadata:{source:`oregoncoastal.com`}}),signal:n.signal});if(!t.ok)throw Error(`Tagalong session creation failed (HTTP ${t.status})`);let r=await t.json().catch(()=>null),i=r?.session?.tagalong_session_id||r?.tagalong_session_id;if(i&&i!==e)throw Error(`Tagalong session id mismatch (expected ${e}, got ${i})`);s.current=!0}finally{clearTimeout(r)}},[]),u=(0,y.useCallback)(e=>({object_id:e.object_id,source_site:`oregoncoastal.com`,source_page:e.source?.source_page||null,source_page_type:e.source?.page_type||null,source_module:e.source?.module||null,itinerary_status:`saved`,metadata:{title:e.title,affiliate_link:e.affiliate_link||null}}),[]),d=(0,y.useCallback)(async e=>{e&&r.length!==0&&await Promise.all(r.map(async t=>{let n=new AbortController,r=setTimeout(()=>n.abort(),4e3);try{let r=await fetch(`${yf}/tagalong/sessions/${e}/items`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(u(t)),signal:n.signal});if(!r.ok)throw Error(`Failed to sync saved item "${t.title}" to your trip (HTTP ${r.status})`)}catch(e){throw e?.name===`AbortError`?Error(`Timed out syncing saved item "${t.title}"`):e}finally{clearTimeout(r)}}))},[r,u]),f=(0,y.useCallback)(async(e,r)=>{let i=t||Nf();t||n(i),await l(i,!0),await d(i);let a=new AbortController,o=setTimeout(()=>a.abort(),6e3);try{let t=await fetch(`${yf}/tagalong/sessions/${i}/handoffs/mypnwtrip`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({location:e,days:Number(r)||1,return_url:`https://mypnwtrip.com/cacoon-import`}),signal:a.signal});if(!t.ok)throw Error(`Handoff request failed (${t.status})`);let n=await t.json(),o=n?.destination_url||n?.destinationUrl;if(!o)throw Error(`No destination URL returned`);return o}finally{clearTimeout(o)}},[t,l,d]),p=(0,y.useCallback)(e=>r.some(t=>t.object_id===e),[r]),m=(e,t)=>{_f({title:e?`Saved to your trip`:`Removed from your trip`,description:e?`${t} was added to your trip.`:`${t} was removed from your trip.`,action:(0,B.jsx)(ms,{altText:`View My Trip`,onClick:()=>window.dispatchEvent(new CustomEvent(`cacoon:view-my-trip`)),children:`View My Trip`})})},h={sessionId:t,savedItems:r,isSaved:p,toggleBookmark:async(e,i)=>{let a=r.some(t=>t.object_id===e),s=t||Nf();t||n(s),o(e),a?(c(r.filter(t=>t.object_id!==e)),m(!1,i.title)):(c([...r,{object_id:e,title:i.title,affiliate_link:i.affiliateLink||null,source:i.source}]),m(!0,i.title));let d=new AbortController,f=setTimeout(()=>d.abort(),2500);try{a?await fetch(`${yf}/tagalong/sessions/${s}/items/${encodeURIComponent(e)}`,{method:`DELETE`,signal:d.signal}):(await l(s),await fetch(`${yf}/tagalong/sessions/${s}/items`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(u({object_id:e,title:i.title,affiliate_link:i.affiliateLink||null,source:i.source})),signal:d.signal}))}catch{}finally{clearTimeout(f),o(null)}},pendingId:a,createMypnwtripHandoff:f};return(0,B.jsx)(Df.Provider,{value:h,children:e})}var If=(e,t=`town`)=>t===`town`?`${e} Hotels and Travel Guide`:`${e} | Oregon Coast Hotels and Travel Guide`,Lf=e=>`Discover the best hotels, accommodations, and travel guide for ${e}, Oregon. Find lodging options, attractions, dining, and travel tips.`,Rf=(e=``)=>{let t=`https://oregoncoastal.com`;if(!e||typeof e!=`string`||e===`/`)return`${t}/`;let n=e.endsWith(`/`)&&e.length>1?e.slice(0,-1):e;return`${t}${n.startsWith(`/`)?n:`/${n}`}`},zf=(e,t)=>t||`https://oregoncoastal.com/default-og-image.jpg`,Bf=(e,t=null)=>{let n=`https://oregoncoastal.com`,r=e.split(`/`).filter(e=>e),i=[{"@type":`ListItem`,position:1,name:`Home`,item:n}];if(r.length>0){if(r[0]===`town`&&t){let r=`${n}/`;t.region===`North Coast`?r+=`north-coast`:t.region===`Central Coast`?r+=`central-coast`:r+=`south-coast`,i.push({"@type":`ListItem`,position:2,name:t.region||`Region`,item:r}),i.push({"@type":`ListItem`,position:3,name:t.name||`Town`,item:`${n}${e}`})}else i.push({"@type":`ListItem`,position:2,name:r[0].replace(/-/g,` `).replace(/\b\w/g,e=>e.toUpperCase()),item:`${n}/${r[0]}`})}return{"@context":`https://schema.org`,"@type":`BreadcrumbList`,itemListElement:i}},Vf=(e,t,n)=>e?{"@context":`https://schema.org`,"@type":`LocalBusiness`,name:e.name||`Oregon Coastal Town`,description:e.description||`Travel information for ${e.name}`,url:t,image:n,address:{"@type":`PostalAddress`,addressLocality:e.name,addressRegion:`OR`,addressCountry:`US`},geo:e.geo?{"@type":`GeoCoordinates`,latitude:e.geo.lat,longitude:e.geo.lng}:void 0}:null,Hf=(e,t,n,r)=>{if(!r)return;let i=document.querySelector(e);i?i.setAttribute(n,r):(i=t(),i.setAttribute(n,r),document.head.appendChild(i))},Uf=e=>{Hf(`link[rel="canonical"]`,()=>{let e=document.createElement(`link`);return e.setAttribute(`rel`,`canonical`),e},`href`,e)},Wf=e=>{Hf(`meta[name="description"]`,()=>{let e=document.createElement(`meta`);return e.setAttribute(`name`,`description`),e},`content`,e)},Gf=e=>{Hf(`meta[property="og:url"]`,()=>{let e=document.createElement(`meta`);return e.setAttribute(`property`,`og:url`),e},`content`,e)},Kf=e=>{Hf(`meta[property="og:title"]`,()=>{let e=document.createElement(`meta`);return e.setAttribute(`property`,`og:title`),e},`content`,e)},qf=e=>{Hf(`meta[property="og:description"]`,()=>{let e=document.createElement(`meta`);return e.setAttribute(`property`,`og:description`),e},`content`,e)},Jf=e=>{Hf(`meta[property="og:image"]`,()=>{let e=document.createElement(`meta`);return e.setAttribute(`property`,`og:image`),e},`content`,e)},Yf=e=>{Hf(`meta[name="twitter:title"]`,()=>{let e=document.createElement(`meta`);return e.setAttribute(`name`,`twitter:title`),e},`content`,e)},Xf=e=>{Hf(`meta[name="twitter:description"]`,()=>{let e=document.createElement(`meta`);return e.setAttribute(`name`,`twitter:description`),e},`content`,e)},Zf=e=>{Hf(`meta[name="twitter:image"]`,()=>{let e=document.createElement(`meta`);return e.setAttribute(`name`,`twitter:image`),e},`content`,e)},Qf=e=>{let t=document.querySelector(`meta[name="robots"]`);e?t?t.setAttribute(`content`,`noindex`):(t=document.createElement(`meta`),t.setAttribute(`name`,`robots`),t.setAttribute(`content`,`noindex`),document.head.appendChild(t)):t&&t.remove()},$f=()=>{if(typeof window>`u`||window._seoObserverInitialized)return;window._seoObserverInitialized=!0;let e=(e,t)=>{let n=document.querySelectorAll(e);if(n.length>1){let e=n[n.length-1].getAttribute(t);n[0].setAttribute(t,e);for(let e=1;e<n.length;e++)n[e].remove()}},t=()=>{e(`link[rel="canonical"]`,`href`),e(`meta[name="description"]`,`content`),e(`meta[property="og:url"]`,`content`),e(`meta[property="og:title"]`,`content`),e(`meta[property="og:description"]`,`content`),e(`meta[property="og:image"]`,`content`),e(`meta[name="twitter:title"]`,`content`),e(`meta[name="twitter:description"]`,`content`),e(`meta[name="twitter:image"]`,`content`),e(`meta[name="robots"]`,`content`)};new MutationObserver(e=>{let n=!1;for(let t of e)if(t.addedNodes.length>0){n=!0;break}n&&t()}).observe(document.head,{childList:!0}),t()};function ep(e){if(typeof Proxy>`u`)return e;let t=new Map;return new Proxy((...t)=>e(...t),{get:(n,r)=>r===`create`?e:(t.has(r)||t.set(r,e(r)),t.get(r))})}function tp(e){return typeof e==`object`&&!!e&&typeof e.start==`function`}var np=e=>Array.isArray(e);function rp(e,t){if(!Array.isArray(t))return!1;let n=t.length;if(n!==e.length)return!1;for(let r=0;r<n;r++)if(t[r]!==e[r])return!1;return!0}function ip(e){return typeof e==`string`||Array.isArray(e)}function ap(e){let t=[{},{}];return e?.values.forEach((e,n)=>{t[0][n]=e.get(),t[1][n]=e.getVelocity()}),t}function op(e,t,n,r){if(typeof t==`function`){let[i,a]=ap(r);t=t(n===void 0?e.custom:n,i,a)}if(typeof t==`string`&&(t=e.variants&&e.variants[t]),typeof t==`function`){let[i,a]=ap(r);t=t(n===void 0?e.custom:n,i,a)}return t}function sp(e,t,n){let r=e.getProps();return op(r,t,n===void 0?r.custom:n,e)}var cp=[`animate`,`whileInView`,`whileFocus`,`whileHover`,`whileTap`,`whileDrag`,`exit`],lp=[`initial`,...cp],up=[`transformPerspective`,`x`,`y`,`z`,`translateX`,`translateY`,`translateZ`,`scale`,`scaleX`,`scaleY`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`skew`,`skewX`,`skewY`],dp=new Set(up),fp=e=>e*1e3,pp=e=>e/1e3,Dee={type:`spring`,stiffness:500,damping:25,restSpeed:10},Oee=e=>({type:`spring`,stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),kee={type:`keyframes`,duration:.8},Aee={type:`keyframes`,ease:[.25,.1,.35,1],duration:.3},jee=(e,{keyframes:t})=>t.length>2?kee:dp.has(e)?e.startsWith(`scale`)?Oee(t[1]):Dee:Aee;function mp(e,t){return e?e[t]||e.default||e:void 0}var hp={skipAnimations:!1,useManualTiming:!1},gp={current:!1},Mee=e=>e!==null;function _p(e,{repeat:t,repeatType:n=`loop`},r){let i=e.filter(Mee),a=t&&n!==`loop`&&t%2==1?0:i.length-1;return!a||r===void 0?i[a]:r}var vp=e=>e,yp=vp,bp=vp;function Nee(e){let t=new Set,n=new Set,r=!1,i=!1,a=new WeakSet,o={delta:0,timestamp:0,isProcessing:!1};function s(t){a.has(t)&&(c.schedule(t),e()),t(o)}let c={schedule:(e,i=!1,o=!1)=>{let s=o&&r?t:n;return i&&a.add(e),s.has(e)||s.add(e),e},cancel:e=>{n.delete(e),a.delete(e)},process:e=>{o=e,r?i=!0:(r=!0,[t,n]=[n,t],t.forEach(s),t.clear(),r=!1,i&&(i=!1,c.process(e)))}};return c}var xp=[`read`,`resolveKeyframes`,`update`,`preRender`,`render`,`postRender`],Pee=40;function Sp(e,t){let n=!1,r=!0,i={delta:0,timestamp:0,isProcessing:!1},a=()=>n=!0,o=xp.reduce((e,t)=>(e[t]=Nee(a),e),{}),{read:s,resolveKeyframes:c,update:l,preRender:u,render:d,postRender:f}=o,p=()=>{let a=hp.useManualTiming?i.timestamp:performance.now();n=!1,i.delta=r?1e3/60:Math.max(Math.min(a-i.timestamp,Pee),1),i.timestamp=a,i.isProcessing=!0,s.process(i),c.process(i),l.process(i),u.process(i),d.process(i),f.process(i),i.isProcessing=!1,n&&t&&(r=!1,e(p))},m=()=>{n=!0,r=!0,i.isProcessing||e(p)};return{schedule:xp.reduce((e,t)=>{let r=o[t];return e[t]=(e,t=!1,i=!1)=>(n||m(),r.schedule(e,t,i)),e},{}),cancel:e=>{for(let t=0;t<xp.length;t++)o[xp[t]].cancel(e)},state:i,steps:o}}var{schedule:Cp,cancel:wp,state:Tp,steps:Ep}=Sp(typeof requestAnimationFrame<`u`?requestAnimationFrame:vp,!0),Dp=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,Fee=1e-7,Iee=12;function Lee(e,t,n,r,i){let a,o,s=0;do o=t+(n-t)/2,a=Dp(o,r,i)-e,a>0?n=o:t=o;while(Math.abs(a)>Fee&&++s<Iee);return o}function Op(e,t,n,r){if(e===t&&n===r)return vp;let i=t=>Lee(t,0,1,e,n);return e=>e===0||e===1?e:Dp(i(e),t,r)}var kp=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Ap=e=>t=>1-e(1-t),jp=Op(.33,1.53,.69,.99),Mp=Ap(jp),Np=kp(Mp),Pp=e=>(e*=2)<1?.5*Mp(e):.5*(2-2**(-10*(e-1))),Fp=e=>1-Math.sin(Math.acos(e)),Ip=Ap(Fp),Lp=kp(Fp),Rp=e=>/^0[^.\s]+$/u.test(e);function zp(e){return typeof e==`number`?e===0:e===null||e===`none`||e===`0`||Rp(e)}var Bp=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e),Vp=e=>t=>typeof t==`string`&&t.startsWith(e),Hp=Vp(`--`),Up=Vp(`var(--`),Wp=e=>Up(e)?Gp.test(e.split(`/*`)[0].trim()):!1,Gp=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,Kp=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function qp(e){let t=Kp.exec(e);if(!t)return[,];let[,n,r,i]=t;return[`--${n??r}`,i]}var Jp=4;function Yp(e,t,n=1){bp(n<=Jp,`Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`);let[r,i]=qp(e);if(!r)return;let a=window.getComputedStyle(t).getPropertyValue(r);if(a){let e=a.trim();return Bp(e)?parseFloat(e):e}return Wp(i)?Yp(i,t,n+1):i}var Xp=(e,t,n)=>n>t?t:n<e?e:n,Zp={test:e=>typeof e==`number`,parse:parseFloat,transform:e=>e},Qp={...Zp,transform:e=>Xp(0,1,e)},$p={...Zp,default:1},em=e=>({test:t=>typeof t==`string`&&t.endsWith(e)&&t.split(` `).length===1,parse:parseFloat,transform:t=>`${t}${e}`}),tm=em(`deg`),nm=em(`%`),rm=em(`px`),im=em(`vh`),am=em(`vw`),om={...nm,parse:e=>nm.parse(e)/100,transform:e=>nm.transform(e*100)},sm=new Set([`width`,`height`,`top`,`left`,`right`,`bottom`,`x`,`y`,`translateX`,`translateY`]),cm=e=>e===Zp||e===rm,lm=(e,t)=>parseFloat(e.split(`, `)[t]),um=(e,t)=>(n,{transform:r})=>{if(r===`none`||!r)return 0;let i=r.match(/^matrix3d\((.+)\)$/u);if(i)return lm(i[1],t);{let t=r.match(/^matrix\((.+)\)$/u);return t?lm(t[1],e):0}},dm=new Set([`x`,`y`,`z`]),fm=up.filter(e=>!dm.has(e));function pm(e){let t=[];return fm.forEach(n=>{let r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(+!!n.startsWith(`scale`)))}),t}var mm={width:({x:e},{paddingLeft:t=`0`,paddingRight:n=`0`})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t=`0`,paddingBottom:n=`0`})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:um(4,13),y:um(5,14)};mm.translateX=mm.x,mm.translateY=mm.y;var hm=e=>t=>t.test(e),gm=[Zp,rm,nm,tm,am,im,{test:e=>e===`auto`,parse:e=>e}],_m=e=>gm.find(hm(e)),vm=new Set,ym=!1,bm=!1;function xm(){if(bm){let e=Array.from(vm).filter(e=>e.needsMeasurement),t=new Set(e.map(e=>e.element)),n=new Map;t.forEach(e=>{let t=pm(e);t.length&&(n.set(e,t),e.render())}),e.forEach(e=>e.measureInitialState()),t.forEach(e=>{e.render();let t=n.get(e);t&&t.forEach(([t,n])=>{var r;(r=e.getValue(t))==null||r.set(n)})}),e.forEach(e=>e.measureEndState()),e.forEach(e=>{e.suspendedScrollY!==void 0&&window.scrollTo(0,e.suspendedScrollY)})}bm=!1,ym=!1,vm.forEach(e=>e.complete()),vm.clear()}function Sm(){vm.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(bm=!0)})}function Cm(){Sm(),xm()}var wm=class{constructor(e,t,n,r,i,a=!1){this.isComplete=!1,this.isAsync=!1,this.needsMeasurement=!1,this.isScheduled=!1,this.unresolvedKeyframes=[...e],this.onComplete=t,this.name=n,this.motionValue=r,this.element=i,this.isAsync=a}scheduleResolve(){this.isScheduled=!0,this.isAsync?(vm.add(this),ym||(ym=!0,Cp.read(Sm),Cp.resolveKeyframes(xm))):(this.readKeyframes(),this.complete())}readKeyframes(){let{unresolvedKeyframes:e,name:t,element:n,motionValue:r}=this;for(let i=0;i<e.length;i++)if(e[i]===null){if(i===0){let i=r?.get(),a=e[e.length-1];if(i!==void 0)e[0]=i;else if(n&&t){let r=n.readValue(t,a);r!=null&&(e[0]=r)}e[0]===void 0&&(e[0]=a),r&&i===void 0&&r.set(e[0])}else e[i]=e[i-1]}}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(){this.isComplete=!0,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe),vm.delete(this)}cancel(){this.isComplete||(this.isScheduled=!1,vm.delete(this))}resume(){this.isComplete||this.scheduleResolve()}},Tm=e=>Math.round(e*1e5)/1e5,Em=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function Dm(e){return e==null}var Om=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,km=(e,t)=>n=>!!(typeof n==`string`&&Om.test(n)&&n.startsWith(e)||t&&!Dm(n)&&Object.prototype.hasOwnProperty.call(n,t)),Am=(e,t,n)=>r=>{if(typeof r!=`string`)return r;let[i,a,o,s]=r.match(Em);return{[e]:parseFloat(i),[t]:parseFloat(a),[n]:parseFloat(o),alpha:s===void 0?1:parseFloat(s)}},jm=e=>Xp(0,255,e),Mm={...Zp,transform:e=>Math.round(jm(e))},Nm={test:km(`rgb`,`red`),parse:Am(`red`,`green`,`blue`),transform:({red:e,green:t,blue:n,alpha:r=1})=>`rgba(`+Mm.transform(e)+`, `+Mm.transform(t)+`, `+Mm.transform(n)+`, `+Tm(Qp.transform(r))+`)`};function Pm(e){let t=``,n=``,r=``,i=``;return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}var Fm={test:km(`#`),parse:Pm,transform:Nm.transform},Im={test:km(`hsl`,`hue`),parse:Am(`hue`,`saturation`,`lightness`),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>`hsla(`+Math.round(e)+`, `+nm.transform(Tm(t))+`, `+nm.transform(Tm(n))+`, `+Tm(Qp.transform(r))+`)`},Lm={test:e=>Nm.test(e)||Fm.test(e)||Im.test(e),parse:e=>Nm.test(e)?Nm.parse(e):Im.test(e)?Im.parse(e):Fm.parse(e),transform:e=>typeof e==`string`?e:e.hasOwnProperty(`red`)?Nm.transform(e):Im.transform(e)},Rm=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function zm(e){return isNaN(e)&&typeof e==`string`&&(e.match(Em)?.length||0)+(e.match(Rm)?.length||0)>0}var Bm=`number`,Vm=`color`,Hm=`var`,Um=`var(`,Wm="${}",Gm=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Km(e){let t=e.toString(),n=[],r={color:[],number:[],var:[]},i=[],a=0;return{values:n,split:t.replace(Gm,e=>(Lm.test(e)?(r.color.push(a),i.push(Vm),n.push(Lm.parse(e))):e.startsWith(Um)?(r.var.push(a),i.push(Hm),n.push(e)):(r.number.push(a),i.push(Bm),n.push(parseFloat(e))),++a,Wm)).split(Wm),indexes:r,types:i}}function qm(e){return Km(e).values}function Jm(e){let{split:t,types:n}=Km(e),r=t.length;return e=>{let i=``;for(let a=0;a<r;a++)if(i+=t[a],e[a]!==void 0){let t=n[a];i+=t===Bm?Tm(e[a]):t===Vm?Lm.transform(e[a]):e[a]}return i}}var Ym=e=>typeof e==`number`?0:e;function Xm(e){let t=qm(e);return Jm(e)(t.map(Ym))}var Zm={test:zm,parse:qm,createTransformer:Jm,getAnimatableNone:Xm},Ree=new Set([`brightness`,`contrast`,`saturate`,`opacity`]);function zee(e){let[t,n]=e.slice(0,-1).split(`(`);if(t===`drop-shadow`)return e;let[r]=n.match(Em)||[];if(!r)return e;let i=n.replace(r,``),a=+!!Ree.has(t);return r!==n&&(a*=100),t+`(`+a+i+`)`}var Bee=/\b([a-z-]*)\(.*?\)/gu,Qm={...Zm,getAnimatableNone:e=>{let t=e.match(Bee);return t?t.map(zee).join(` `):e}},Vee={borderWidth:rm,borderTopWidth:rm,borderRightWidth:rm,borderBottomWidth:rm,borderLeftWidth:rm,borderRadius:rm,radius:rm,borderTopLeftRadius:rm,borderTopRightRadius:rm,borderBottomRightRadius:rm,borderBottomLeftRadius:rm,width:rm,maxWidth:rm,height:rm,maxHeight:rm,top:rm,right:rm,bottom:rm,left:rm,padding:rm,paddingTop:rm,paddingRight:rm,paddingBottom:rm,paddingLeft:rm,margin:rm,marginTop:rm,marginRight:rm,marginBottom:rm,marginLeft:rm,backgroundPositionX:rm,backgroundPositionY:rm},Hee={rotate:tm,rotateX:tm,rotateY:tm,rotateZ:tm,scale:$p,scaleX:$p,scaleY:$p,scaleZ:$p,skew:tm,skewX:tm,skewY:tm,distance:rm,translateX:rm,translateY:rm,translateZ:rm,x:rm,y:rm,z:rm,perspective:rm,transformPerspective:rm,opacity:Qp,originX:om,originY:om,originZ:rm},$m={...Zp,transform:Math.round},eh={...Vee,...Hee,zIndex:$m,size:rm,fillOpacity:Qp,strokeOpacity:Qp,numOctaves:$m},Uee={...eh,color:Lm,backgroundColor:Lm,outlineColor:Lm,fill:Lm,stroke:Lm,borderColor:Lm,borderTopColor:Lm,borderRightColor:Lm,borderBottomColor:Lm,borderLeftColor:Lm,filter:Qm,WebkitFilter:Qm},th=e=>Uee[e];function nh(e,t){let n=th(e);return n!==Qm&&(n=Zm),n.getAnimatableNone?n.getAnimatableNone(t):void 0}var Wee=new Set([`auto`,`none`,`0`]);function Gee(e,t,n){let r=0,i;for(;r<e.length&&!i;){let t=e[r];typeof t==`string`&&!Wee.has(t)&&Km(t).values.length&&(i=e[r]),r++}if(i&&n)for(let r of t)e[r]=nh(n,i)}var rh=class extends wm{constructor(e,t,n,r,i){super(e,t,n,r,i,!0)}readKeyframes(){let{unresolvedKeyframes:e,element:t,name:n}=this;if(!t||!t.current)return;super.readKeyframes();for(let n=0;n<e.length;n++){let r=e[n];if(typeof r==`string`&&(r=r.trim(),Wp(r))){let i=Yp(r,t.current);i!==void 0&&(e[n]=i),n===e.length-1&&(this.finalKeyframe=r)}}if(this.resolveNoneKeyframes(),!sm.has(n)||e.length!==2)return;let[r,i]=e,a=_m(r),o=_m(i);if(a!==o){if(cm(a)&&cm(o))for(let t=0;t<e.length;t++){let n=e[t];typeof n==`string`&&(e[t]=parseFloat(n))}else this.needsMeasurement=!0}}resolveNoneKeyframes(){let{unresolvedKeyframes:e,name:t}=this,n=[];for(let t=0;t<e.length;t++)zp(e[t])&&n.push(t);n.length&&Gee(e,n,t)}measureInitialState(){let{element:e,unresolvedKeyframes:t,name:n}=this;if(!e||!e.current)return;n===`height`&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=mm[n](e.measureViewportBox(),window.getComputedStyle(e.current)),t[0]=this.measuredOrigin;let r=t[t.length-1];r!==void 0&&e.getValue(n,r).jump(r,!1)}measureEndState(){let{element:e,name:t,unresolvedKeyframes:n}=this;if(!e||!e.current)return;let r=e.getValue(t);r&&r.jump(this.measuredOrigin,!1);let i=n.length-1,a=n[i];n[i]=mm[t](e.measureViewportBox(),window.getComputedStyle(e.current)),a!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=a),this.removedTransforms?.length&&this.removedTransforms.forEach(([t,n])=>{e.getValue(t).set(n)}),this.resolveNoneKeyframes()}};function ih(e){return typeof e==`function`}var ah;function Kee(){ah=void 0}var oh={now:()=>(ah===void 0&&oh.set(Tp.isProcessing||hp.useManualTiming?Tp.timestamp:performance.now()),ah),set:e=>{ah=e,queueMicrotask(Kee)}},sh=(e,t)=>t!==`zIndex`&&!!(typeof e==`number`||Array.isArray(e)||typeof e==`string`&&(Zm.test(e)||e===`0`)&&!e.startsWith(`url(`));function qee(e){let t=e[0];if(e.length===1)return!0;for(let n=0;n<e.length;n++)if(e[n]!==t)return!0}function Jee(e,t,n,r){let i=e[0];if(i===null)return!1;if(t===`display`||t===`visibility`)return!0;let a=e[e.length-1],o=sh(i,t),s=sh(a,t);return yp(o===s,`You are trying to animate ${t} from "${i}" to "${a}". ${i} is not an animatable value - to enable this animation set ${i} to a value animatable to ${a} via the \`style\` property.`),!o||!s?!1:qee(e)||(n===`spring`||ih(n))&&r}var Yee=40,ch=class{constructor({autoplay:e=!0,delay:t=0,type:n=`keyframes`,repeat:r=0,repeatDelay:i=0,repeatType:a=`loop`,...o}){this.isStopped=!1,this.hasAttemptedResolve=!1,this.createdAt=oh.now(),this.options={autoplay:e,delay:t,type:n,repeat:r,repeatDelay:i,repeatType:a,...o},this.updateFinishedPromise()}calcStartTime(){return this.resolvedAt&&this.resolvedAt-this.createdAt>Yee?this.resolvedAt:this.createdAt}get resolved(){return!this._resolved&&!this.hasAttemptedResolve&&Cm(),this._resolved}onKeyframesResolved(e,t){this.resolvedAt=oh.now(),this.hasAttemptedResolve=!0;let{name:n,type:r,velocity:i,delay:a,onComplete:o,onUpdate:s,isGenerator:c}=this.options;if(!c&&!Jee(e,n,r,i)){if(gp.current||!a){s?.(_p(e,this.options,t)),o?.(),this.resolveFinishedPromise();return}this.options.duration=0}let l=this.initPlayback(e,t);l!==!1&&(this._resolved={keyframes:e,finalKeyframe:t,...l},this.onPostResolved())}onPostResolved(){}then(e,t){return this.currentFinishedPromise.then(e,t)}flatten(){this.options.type=`keyframes`,this.options.ease=`linear`}updateFinishedPromise(){this.currentFinishedPromise=new Promise(e=>{this.resolveFinishedPromise=e})}},lh=(e,t,n)=>{let r=t-e;return r===0?1:(n-e)/r},uh=(e,t,n=10)=>{let r=``,i=Math.max(Math.round(t/n),2);for(let t=0;t<i;t++)r+=e(lh(0,i-1,t))+`, `;return`linear(${r.substring(0,r.length-2)})`};function dh(e,t){return t?1e3/t*e:0}var Xee=5;function fh(e,t,n){let r=Math.max(t-Xee,0);return dh(n-e(r),t-r)}var ph={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},mh=.001;function Zee({duration:e=ph.duration,bounce:t=ph.bounce,velocity:n=ph.velocity,mass:r=ph.mass}){let i,a;yp(e<=fp(ph.maxDuration),`Spring duration must be 10 seconds or less`);let o=1-t;o=Xp(ph.minDamping,ph.maxDamping,o),e=Xp(ph.minDuration,ph.maxDuration,pp(e)),o<1?(i=t=>{let r=t*o,i=r*e,a=r-n,s=hh(t,o),c=Math.exp(-i);return mh-a/s*c},a=t=>{let r=t*o*e,a=r*n+n,s=o**2*t**2*e,c=Math.exp(-r),l=hh(t**2,o);return(-i(t)+mh>0?-1:1)*((a-s)*c)/l}):(i=t=>-.001+Math.exp(-t*e)*((t-n)*e+1),a=t=>Math.exp(-t*e)*((n-t)*(e*e)));let s=5/e,c=$ee(i,a,s);if(e=fp(e),isNaN(c))return{stiffness:ph.stiffness,damping:ph.damping,duration:e};{let t=c**2*r;return{stiffness:t,damping:o*2*Math.sqrt(r*t),duration:e}}}var Qee=12;function $ee(e,t,n){let r=n;for(let n=1;n<Qee;n++)r-=e(r)/t(r);return r}function hh(e,t){return e*Math.sqrt(1-t*t)}var ete=2e4;function gh(e){let t=0,n=e.next(t);for(;!n.done&&t<2e4;)t+=50,n=e.next(t);return t>=2e4?1/0:t}var tte=[`duration`,`bounce`],nte=[`stiffness`,`damping`,`mass`];function _h(e,t){return t.some(t=>e[t]!==void 0)}function rte(e){let t={velocity:ph.velocity,stiffness:ph.stiffness,damping:ph.damping,mass:ph.mass,isResolvedFromDuration:!1,...e};if(!_h(e,nte)&&_h(e,tte)){if(e.visualDuration){let n=e.visualDuration,r=2*Math.PI/(n*1.2),i=r*r,a=2*Xp(.05,1,1-e.bounce)*Math.sqrt(i);t={...t,mass:ph.mass,stiffness:i,damping:a}}else{let n=Zee(e);t={...t,...n,mass:ph.mass},t.isResolvedFromDuration=!0}}return t}function vh(e=ph.visualDuration,t=ph.bounce){let n=typeof e==`object`?e:{visualDuration:e,keyframes:[0,1],bounce:t},{restSpeed:r,restDelta:i}=n,a=n.keyframes[0],o=n.keyframes[n.keyframes.length-1],s={done:!1,value:a},{stiffness:c,damping:l,mass:u,duration:d,velocity:f,isResolvedFromDuration:p}=rte({...n,velocity:-pp(n.velocity||0)}),m=f||0,h=l/(2*Math.sqrt(c*u)),g=o-a,_=pp(Math.sqrt(c/u)),v=Math.abs(g)<5;r||=v?ph.restSpeed.granular:ph.restSpeed.default,i||=v?ph.restDelta.granular:ph.restDelta.default;let y;if(h<1){let e=hh(_,h);y=t=>{let n=Math.exp(-h*_*t);return o-n*((m+h*_*g)/e*Math.sin(e*t)+g*Math.cos(e*t))}}else if(h===1)y=e=>o-Math.exp(-_*e)*(g+(m+_*g)*e);else{let e=_*Math.sqrt(h*h-1);y=t=>{let n=Math.exp(-h*_*t),r=Math.min(e*t,300);return o-n*((m+h*_*g)*Math.sinh(r)+e*g*Math.cosh(r))/e}}let b={calculatedDuration:p&&d||null,next:e=>{let t=y(e);if(p)s.done=e>=d;else{let n=0;h<1&&(n=e===0?fp(m):fh(y,e,t));let a=Math.abs(n)<=r,c=Math.abs(o-t)<=i;s.done=a&&c}return s.value=s.done?o:t,s},toString:()=>{let e=Math.min(gh(b),ete),t=uh(t=>b.next(e*t).value,e,30);return e+`ms `+t}};return b}function yh({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:a=500,modifyTarget:o,min:s,max:c,restDelta:l=.5,restSpeed:u}){let d=e[0],f={done:!1,value:d},p=e=>s!==void 0&&e<s||c!==void 0&&e>c,m=e=>s===void 0?c:c===void 0||Math.abs(s-e)<Math.abs(c-e)?s:c,h=n*t,g=d+h,_=o===void 0?g:o(g);_!==g&&(h=_-d);let v=e=>-h*Math.exp(-e/r),y=e=>_+v(e),b=e=>{let t=v(e),n=y(e);f.done=Math.abs(t)<=l,f.value=f.done?_:n},x,S,C=e=>{p(f.value)&&(x=e,S=vh({keyframes:[f.value,m(f.value)],velocity:fh(y,e,f.value),damping:i,stiffness:a,restDelta:l,restSpeed:u}))};return C(0),{calculatedDuration:null,next:e=>{let t=!1;return!S&&x===void 0&&(t=!0,b(e),C(e)),x!==void 0&&e>=x?S.next(e-x):(!t&&b(e),f)}}}var ite=Op(.42,0,1,1),ate=Op(0,0,.58,1),bh=Op(.42,0,.58,1),ote=e=>Array.isArray(e)&&typeof e[0]!=`number`,xh=e=>Array.isArray(e)&&typeof e[0]==`number`,Sh={linear:vp,easeIn:ite,easeInOut:bh,easeOut:ate,circIn:Fp,circInOut:Lp,circOut:Ip,backIn:Mp,backInOut:Np,backOut:jp,anticipate:Pp},Ch=e=>{if(xh(e)){bp(e.length===4,`Cubic bezier arrays must contain four numerical values.`);let[t,n,r,i]=e;return Op(t,n,r,i)}return typeof e==`string`?(bp(Sh[e]!==void 0,`Invalid easing type '${e}'`),Sh[e]):e},ste=(e,t)=>n=>t(e(n)),wh=(...e)=>e.reduce(ste),Th=(e,t,n)=>e+(t-e)*n;function Eh(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function cte({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,a=0,o=0;if(!t)i=a=o=n;else{let r=n<.5?n*(1+t):n+t-n*t,s=2*n-r;i=Eh(s,r,e+1/3),a=Eh(s,r,e),o=Eh(s,r,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(o*255),alpha:r}}function Dh(e,t){return n=>n>0?t:e}var Oh=(e,t,n)=>{let r=e*e,i=n*(t*t-r)+r;return i<0?0:Math.sqrt(i)},lte=[Fm,Nm,Im],ute=e=>lte.find(t=>t.test(e));function kh(e){let t=ute(e);if(yp(!!t,`'${e}' is not an animatable color. Use the equivalent color code instead.`),!t)return!1;let n=t.parse(e);return t===Im&&(n=cte(n)),n}var Ah=(e,t)=>{let n=kh(e),r=kh(t);if(!n||!r)return Dh(e,t);let i={...n};return e=>(i.red=Oh(n.red,r.red,e),i.green=Oh(n.green,r.green,e),i.blue=Oh(n.blue,r.blue,e),i.alpha=Th(n.alpha,r.alpha,e),Nm.transform(i))},jh=new Set([`none`,`hidden`]);function dte(e,t){return jh.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function fte(e,t){return n=>Th(e,t,n)}function Mh(e){return typeof e==`number`?fte:typeof e==`string`?Wp(e)?Dh:Lm.test(e)?Ah:hte:Array.isArray(e)?Nh:typeof e==`object`?Lm.test(e)?Ah:pte:Dh}function Nh(e,t){let n=[...e],r=n.length,i=e.map((e,n)=>Mh(e)(e,t[n]));return e=>{for(let t=0;t<r;t++)n[t]=i[t](e);return n}}function pte(e,t){let n={...e,...t},r={};for(let i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=Mh(e[i])(e[i],t[i]));return e=>{for(let t in r)n[t]=r[t](e);return n}}function mte(e,t){let n=[],r={color:0,var:0,number:0};for(let i=0;i<t.values.length;i++){let a=t.types[i],o=e.indexes[a][r[a]],s=e.values[o]??0;n[i]=s,r[a]++}return n}var hte=(e,t)=>{let n=Zm.createTransformer(t),r=Km(e),i=Km(t);return r.indexes.var.length===i.indexes.var.length&&r.indexes.color.length===i.indexes.color.length&&r.indexes.number.length>=i.indexes.number.length?jh.has(e)&&!i.values.length||jh.has(t)&&!r.values.length?dte(e,t):wh(Nh(mte(r,i),i.values),n):(yp(!0,`Complex values '${e}' and '${t}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`),Dh(e,t))};function Ph(e,t,n){return typeof e==`number`&&typeof t==`number`&&typeof n==`number`?Th(e,t,n):Mh(e)(e,t)}function gte(e,t,n){let r=[],i=n||Ph,a=e.length-1;for(let n=0;n<a;n++){let a=i(e[n],e[n+1]);t&&(a=wh(Array.isArray(t)?t[n]||vp:t,a)),r.push(a)}return r}function _te(e,t,{clamp:n=!0,ease:r,mixer:i}={}){let a=e.length;if(bp(a===t.length,`Both input and output ranges must be the same length`),a===1)return()=>t[0];if(a===2&&e[0]===e[1])return()=>t[1];e[0]>e[a-1]&&(e=[...e].reverse(),t=[...t].reverse());let o=gte(t,r,i),s=o.length,c=t=>{let n=0;if(s>1)for(;n<e.length-2&&!(t<e[n+1]);n++);let r=lh(e[n],e[n+1],t);return o[n](r)};return n?t=>c(Xp(e[0],e[a-1],t)):c}function vte(e,t){let n=e[e.length-1];for(let r=1;r<=t;r++){let i=lh(0,t,r);e.push(Th(n,1,i))}}function yte(e){let t=[0];return vte(t,e.length-1),t}function bte(e,t){return e.map(e=>e*t)}function xte(e,t){return e.map(()=>t||bh).splice(0,e.length-1)}function Fh({duration:e=300,keyframes:t,times:n,ease:r=`easeInOut`}){let i=ote(r)?r.map(Ch):Ch(r),a={done:!1,value:t[0]},o=_te(bte(n&&n.length===t.length?n:yte(t),e),t,{ease:Array.isArray(i)?i:xte(t,i)});return{calculatedDuration:e,next:t=>(a.value=o(t),a.done=t>=e,a)}}var Ste=e=>{let t=({timestamp:t})=>e(t);return{start:()=>Cp.update(t,!0),stop:()=>wp(t),now:()=>Tp.isProcessing?Tp.timestamp:oh.now()}},Cte={decay:yh,inertia:yh,tween:Fh,keyframes:Fh,spring:vh},wte=e=>e/100,Ih=class extends ch{constructor(e){super(e),this.holdTime=null,this.cancelTime=null,this.currentTime=0,this.playbackSpeed=1,this.pendingPlayState=`running`,this.startTime=null,this.state=`idle`,this.stop=()=>{if(this.resolver.cancel(),this.isStopped=!0,this.state===`idle`)return;this.teardown();let{onStop:e}=this.options;e&&e()};let{name:t,motionValue:n,element:r,keyframes:i}=this.options,a=r?.KeyframeResolver||wm,o=(e,t)=>this.onKeyframesResolved(e,t);this.resolver=new a(i,o,t,n,r),this.resolver.scheduleResolve()}flatten(){super.flatten(),this._resolved&&Object.assign(this._resolved,this.initPlayback(this._resolved.keyframes))}initPlayback(e){let{type:t=`keyframes`,repeat:n=0,repeatDelay:r=0,repeatType:i,velocity:a=0}=this.options,o=ih(t)?t:Cte[t]||Fh,s,c;o!==Fh&&typeof e[0]!=`number`&&(s=wh(wte,Ph(e[0],e[1])),e=[0,100]);let l=o({...this.options,keyframes:e});i===`mirror`&&(c=o({...this.options,keyframes:[...e].reverse(),velocity:-a})),l.calculatedDuration===null&&(l.calculatedDuration=gh(l));let{calculatedDuration:u}=l,d=u+r,f=d*(n+1)-r;return{generator:l,mirroredGenerator:c,mapPercentToKeyframes:s,calculatedDuration:u,resolvedDuration:d,totalDuration:f}}onPostResolved(){let{autoplay:e=!0}=this.options;this.play(),this.pendingPlayState===`paused`||!e?this.pause():this.state=this.pendingPlayState}tick(e,t=!1){let{resolved:n}=this;if(!n){let{keyframes:e}=this.options;return{done:!0,value:e[e.length-1]}}let{finalKeyframe:r,generator:i,mirroredGenerator:a,mapPercentToKeyframes:o,keyframes:s,calculatedDuration:c,totalDuration:l,resolvedDuration:u}=n;if(this.startTime===null)return i.next(0);let{delay:d,repeat:f,repeatType:p,repeatDelay:m,onUpdate:h}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-l/this.speed,this.startTime)),this.currentTime=t?e:this.holdTime===null?Math.round(e-this.startTime)*this.speed:this.holdTime;let g=this.currentTime-d*(this.speed>=0?1:-1),_=this.speed>=0?g<0:g>l;this.currentTime=Math.max(g,0),this.state===`finished`&&this.holdTime===null&&(this.currentTime=l);let v=this.currentTime,y=i;if(f){let e=Math.min(this.currentTime,l)/u,t=Math.floor(e),n=e%1;!n&&e>=1&&(n=1),n===1&&t--,t=Math.min(t,f+1),t%2&&(p===`reverse`?(n=1-n,m&&(n-=m/u)):p===`mirror`&&(y=a)),v=Xp(0,1,n)*u}let b=_?{done:!1,value:s[0]}:y.next(v);o&&(b.value=o(b.value));let{done:x}=b;!_&&c!==null&&(x=this.speed>=0?this.currentTime>=l:this.currentTime<=0);let S=this.holdTime===null&&(this.state===`finished`||this.state===`running`&&x);return S&&r!==void 0&&(b.value=_p(s,this.options,r)),h&&h(b.value),S&&this.finish(),b}get duration(){let{resolved:e}=this;return e?pp(e.calculatedDuration):0}get time(){return pp(this.currentTime)}set time(e){e=fp(e),this.currentTime=e,this.holdTime!==null||this.speed===0?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.speed)}get speed(){return this.playbackSpeed}set speed(e){let t=this.playbackSpeed!==e;this.playbackSpeed=e,t&&(this.time=pp(this.currentTime))}play(){if(this.resolver.isScheduled||this.resolver.resume(),!this._resolved){this.pendingPlayState=`running`;return}if(this.isStopped)return;let{driver:e=Ste,onPlay:t,startTime:n}=this.options;this.driver||=e(e=>this.tick(e)),t&&t();let r=this.driver.now();this.holdTime===null?this.startTime?this.state===`finished`&&(this.startTime=r):this.startTime=n??this.calcStartTime():this.startTime=r-this.holdTime,this.state===`finished`&&this.updateFinishedPromise(),this.cancelTime=this.startTime,this.holdTime=null,this.state=`running`,this.driver.start()}pause(){this._resolved?(this.state=`paused`,this.holdTime=this.currentTime??0):this.pendingPlayState=`paused`}complete(){this.state!==`running`&&this.play(),this.pendingPlayState=this.state=`finished`,this.holdTime=null}finish(){this.teardown(),this.state=`finished`;let{onComplete:e}=this.options;e&&e()}cancel(){this.cancelTime!==null&&this.tick(this.cancelTime),this.teardown(),this.updateFinishedPromise()}teardown(){this.state=`idle`,this.stopDriver(),this.resolveFinishedPromise(),this.updateFinishedPromise(),this.startTime=this.cancelTime=null,this.resolver.cancel()}stopDriver(){this.driver&&=(this.driver.stop(),void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}},Lh=new Set([`opacity`,`clipPath`,`filter`,`transform`]);function Rh(e){let t;return()=>(t===void 0&&(t=e()),t)}var zh={linearEasing:void 0};function Bh(e,t){let n=Rh(e);return()=>zh[t]??n()}var Vh=Bh(()=>{try{document.createElement(`div`).animate({opacity:0},{easing:`linear(0, 1)`})}catch{return!1}return!0},`linearEasing`);function Hh(e){return!!(typeof e==`function`&&Vh()||!e||typeof e==`string`&&(e in Wh||Vh())||xh(e)||Array.isArray(e)&&e.every(Hh))}var Uh=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,Wh={linear:`linear`,ease:`ease`,easeIn:`ease-in`,easeOut:`ease-out`,easeInOut:`ease-in-out`,circIn:Uh([0,.65,.55,1]),circOut:Uh([.55,0,1,.45]),backIn:Uh([.31,.01,.66,-.59]),backOut:Uh([.33,1.53,.69,.99])};function Gh(e,t){if(e)return typeof e==`function`&&Vh()?uh(e,t):xh(e)?Uh(e):Array.isArray(e)?e.map(e=>Gh(e,t)||Wh.easeOut):Wh[e]}function Kh(e,t,n,{delay:r=0,duration:i=300,repeat:a=0,repeatType:o=`loop`,ease:s=`easeInOut`,times:c}={}){let l={[t]:n};c&&(l.offset=c);let u=Gh(s,i);return Array.isArray(u)&&(l.easing=u),e.animate(l,{delay:r,duration:i,easing:Array.isArray(u)?`linear`:u,fill:`both`,iterations:a+1,direction:o===`reverse`?`alternate`:`normal`})}function qh(e,t){e.timeline=t,e.onfinish=null}var Jh=Rh(()=>Object.hasOwnProperty.call(Element.prototype,`animate`)),Yh=10,Xh=2e4;function Zh(e){return ih(e.type)||e.type===`spring`||!Hh(e.ease)}function Qh(e,t){let n=new Ih({...t,keyframes:e,repeat:0,delay:0,isGenerator:!0}),r={done:!1,value:e[0]},i=[],a=0;for(;!r.done&&a<Xh;)r=n.sample(a),i.push(r.value),a+=Yh;return{times:void 0,keyframes:i,duration:a-Yh,ease:`linear`}}var $h={anticipate:Pp,backInOut:Np,circInOut:Lp};function eg(e){return e in $h}var tg=class extends ch{constructor(e){super(e);let{name:t,motionValue:n,element:r,keyframes:i}=this.options;this.resolver=new rh(i,(e,t)=>this.onKeyframesResolved(e,t),t,n,r),this.resolver.scheduleResolve()}initPlayback(e,t){let{duration:n=300,times:r,ease:i,type:a,motionValue:o,name:s,startTime:c}=this.options;if(!o.owner?.current)return!1;if(typeof i==`string`&&Vh()&&eg(i)&&(i=$h[i]),Zh(this.options)){let{onComplete:t,onUpdate:o,motionValue:s,element:c,...l}=this.options,u=Qh(e,l);e=u.keyframes,e.length===1&&(e[1]=e[0]),n=u.duration,r=u.times,i=u.ease,a=`keyframes`}let l=Kh(o.owner.current,s,e,{...this.options,duration:n,times:r,ease:i});return l.startTime=c??this.calcStartTime(),this.pendingTimeline?(qh(l,this.pendingTimeline),this.pendingTimeline=void 0):l.onfinish=()=>{let{onComplete:n}=this.options;o.set(_p(e,this.options,t)),n&&n(),this.cancel(),this.resolveFinishedPromise()},{animation:l,duration:n,times:r,type:a,ease:i,keyframes:e}}get duration(){let{resolved:e}=this;if(!e)return 0;let{duration:t}=e;return pp(t)}get time(){let{resolved:e}=this;if(!e)return 0;let{animation:t}=e;return pp(t.currentTime||0)}set time(e){let{resolved:t}=this;if(!t)return;let{animation:n}=t;n.currentTime=fp(e)}get speed(){let{resolved:e}=this;if(!e)return 1;let{animation:t}=e;return t.playbackRate}set speed(e){let{resolved:t}=this;if(!t)return;let{animation:n}=t;n.playbackRate=e}get state(){let{resolved:e}=this;if(!e)return`idle`;let{animation:t}=e;return t.playState}get startTime(){let{resolved:e}=this;if(!e)return null;let{animation:t}=e;return t.startTime}attachTimeline(e){if(!this._resolved)this.pendingTimeline=e;else{let{resolved:t}=this;if(!t)return vp;let{animation:n}=t;qh(n,e)}return vp}play(){if(this.isStopped)return;let{resolved:e}=this;if(!e)return;let{animation:t}=e;t.playState===`finished`&&this.updateFinishedPromise(),t.play()}pause(){let{resolved:e}=this;if(!e)return;let{animation:t}=e;t.pause()}stop(){if(this.resolver.cancel(),this.isStopped=!0,this.state===`idle`)return;this.resolveFinishedPromise(),this.updateFinishedPromise();let{resolved:e}=this;if(!e)return;let{animation:t,keyframes:n,duration:r,type:i,ease:a,times:o}=e;if(t.playState===`idle`||t.playState===`finished`)return;if(this.time){let{motionValue:e,onUpdate:t,onComplete:s,element:c,...l}=this.options,u=new Ih({...l,keyframes:n,duration:r,type:i,ease:a,times:o,isGenerator:!0}),d=fp(this.time);e.setWithVelocity(u.sample(d-Yh).value,u.sample(d).value,Yh)}let{onStop:s}=this.options;s&&s(),this.cancel()}complete(){let{resolved:e}=this;e&&e.animation.finish()}cancel(){let{resolved:e}=this;e&&e.animation.cancel()}static supports(e){let{motionValue:t,name:n,repeatDelay:r,repeatType:i,damping:a,type:o}=e;return Jh()&&n&&Lh.has(n)&&t&&t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate&&!r&&i!==`mirror`&&a!==0&&o!==`inertia`}},ng=Rh(()=>window.ScrollTimeline!==void 0),rg=class{constructor(e){this.stop=()=>this.runAll(`stop`),this.animations=e.filter(Boolean)}then(e,t){return Promise.all(this.animations).then(e).catch(t)}getAll(e){return this.animations[0][e]}setAll(e,t){for(let n=0;n<this.animations.length;n++)this.animations[n][e]=t}attachTimeline(e,t){let n=this.animations.map(n=>ng()&&n.attachTimeline?n.attachTimeline(e):t(n));return()=>{n.forEach((e,t)=>{e&&e(),this.animations[t].stop()})}}get time(){return this.getAll(`time`)}set time(e){this.setAll(`time`,e)}get speed(){return this.getAll(`speed`)}set speed(e){this.setAll(`speed`,e)}get startTime(){return this.getAll(`startTime`)}get duration(){let e=0;for(let t=0;t<this.animations.length;t++)e=Math.max(e,this.animations[t].duration);return e}runAll(e){this.animations.forEach(t=>t[e]())}flatten(){this.runAll(`flatten`)}play(){this.runAll(`play`)}pause(){this.runAll(`pause`)}cancel(){this.runAll(`cancel`)}complete(){this.runAll(`complete`)}};function ig({when:e,delay:t,delayChildren:n,staggerChildren:r,staggerDirection:i,repeat:a,repeatType:o,repeatDelay:s,from:c,elapsed:l,...u}){return!!Object.keys(u).length}var ag=(e,t,n,r={},i,a)=>o=>{let s=mp(r,e)||{},c=s.delay||r.delay||0,{elapsed:l=0}=r;l-=fp(c);let u={keyframes:Array.isArray(n)?n:[null,n],ease:`easeOut`,velocity:t.getVelocity(),...s,delay:-l,onUpdate:e=>{t.set(e),s.onUpdate&&s.onUpdate(e)},onComplete:()=>{o(),s.onComplete&&s.onComplete()},name:e,motionValue:t,element:a?void 0:i};ig(s)||(u={...u,...jee(e,u)}),u.duration&&(u.duration=fp(u.duration)),u.repeatDelay&&(u.repeatDelay=fp(u.repeatDelay)),u.from!==void 0&&(u.keyframes[0]=u.from);let d=!1;if((u.type===!1||u.duration===0&&!u.repeatDelay)&&(u.duration=0,u.delay===0&&(d=!0)),(gp.current||hp.skipAnimations)&&(d=!0,u.duration=0,u.delay=0),d&&!a&&t.get()!==void 0){let e=_p(u.keyframes,s);if(e!==void 0)return Cp.update(()=>{u.onUpdate(e),u.onComplete()}),new rg([])}return!a&&tg.supports(u)?new tg(u):new Ih(u)},og=e=>!!(e&&typeof e==`object`&&e.mix&&e.toValue),sg=e=>np(e)?e[e.length-1]||0:e;function cg(e,t){e.indexOf(t)===-1&&e.push(t)}function lg(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}var ug=class{constructor(){this.subscriptions=[]}add(e){return cg(this.subscriptions,e),()=>lg(this.subscriptions,e)}notify(e,t,n){let r=this.subscriptions.length;if(r){if(r===1)this.subscriptions[0](e,t,n);else for(let i=0;i<r;i++){let r=this.subscriptions[i];r&&r(e,t,n)}}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}},dg=30,fg=e=>!isNaN(parseFloat(e)),pg={current:void 0},mg=class{constructor(e,t={}){this.version=`11.15.0`,this.canTrackVelocity=null,this.events={},this.updateAndNotify=(e,t=!0)=>{let n=oh.now();this.updatedAt!==n&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(e),this.current!==this.prev&&this.events.change&&this.events.change.notify(this.current),t&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.hasAnimated=!1,this.setCurrent(e),this.owner=t.owner}setCurrent(e){this.current=e,this.updatedAt=oh.now(),this.canTrackVelocity===null&&e!==void 0&&(this.canTrackVelocity=fg(this.current))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on(`change`,e)}on(e,t){this.events[e]||(this.events[e]=new ug);let n=this.events[e].add(t);return e===`change`?()=>{n(),Cp.read(()=>{this.events.change.getSize()||this.stop()})}:n}clearListeners(){for(let e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e,t=!0){!t||!this.passiveEffect?this.updateAndNotify(e,t):this.passiveEffect(e,this.updateAndNotify)}setWithVelocity(e,t,n){this.set(t),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-n}jump(e,t=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,t&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return pg.current&&pg.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let e=oh.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>dg)return 0;let t=Math.min(this.updatedAt-this.prevUpdatedAt,dg);return dh(parseFloat(this.current)-parseFloat(this.prevFrameValue),t)}start(e){return this.stop(),new Promise(t=>{this.hasAnimated=!0,this.animation=e(t),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}};function hg(e,t){return new mg(e,t)}function gg(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,hg(n))}function _g(e,t){let{transitionEnd:n={},transition:r={},...i}=sp(e,t)||{};i={...i,...n};for(let t in i)gg(e,t,sg(i[t]))}var vg=e=>e.replace(/([a-z])([A-Z])/gu,`$1-$2`).toLowerCase(),yg=`data-`+vg(`framerAppearId`);function bg(e){return e.props[yg]}var xg=e=>!!(e&&e.getVelocity);function Sg(e){return!!(xg(e)&&e.add)}function Cg(e,t){let n=e.getValue(`willChange`);if(Sg(n))return n.add(t)}function wg({protectedKeys:e,needsAnimating:t},n){let r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}function Tg(e,t,{delay:n=0,transitionOverride:r,type:i}={}){let{transition:a=e.getDefaultTransition(),transitionEnd:o,...s}=t;r&&(a=r);let c=[],l=i&&e.animationState&&e.animationState.getState()[i];for(let t in s){let r=e.getValue(t,e.latestValues[t]??null),i=s[t];if(i===void 0||l&&wg(l,t))continue;let o={delay:n,...mp(a||{},t)},u=!1;if(window.MotionHandoffAnimation){let n=bg(e);if(n){let e=window.MotionHandoffAnimation(n,t,Cp);e!==null&&(o.startTime=e,u=!0)}}Cg(e,t),r.start(ag(t,r,i,e.shouldReduceMotion&&dp.has(t)?{type:!1}:o,e,u));let d=r.animation;d&&c.push(d)}return o&&Promise.all(c).then(()=>{Cp.update(()=>{o&&_g(e,o)})}),c}function Eg(e,t,n={}){let r=sp(e,t,n.type===`exit`?e.presenceContext?.custom:void 0),{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);let a=r?()=>Promise.all(Tg(e,r,n)):()=>Promise.resolve(),o=e.variantChildren&&e.variantChildren.size?(r=0)=>{let{delayChildren:a=0,staggerChildren:o,staggerDirection:s}=i;return Dg(e,t,a+r,o,s,n)}:()=>Promise.resolve(),{when:s}=i;if(s){let[e,t]=s===`beforeChildren`?[a,o]:[o,a];return e().then(()=>t())}return Promise.all([a(),o(n.delay)])}function Dg(e,t,n=0,r=0,i=1,a){let o=[],s=(e.variantChildren.size-1)*r,c=i===1?(e=0)=>e*r:(e=0)=>s-e*r;return Array.from(e.variantChildren).sort(Og).forEach((e,r)=>{e.notify(`AnimationStart`,t),o.push(Eg(e,t,{...a,delay:n+c(r)}).then(()=>e.notify(`AnimationComplete`,t)))}),Promise.all(o)}function Og(e,t){return e.sortNodePosition(t)}function kg(e,t,n={}){e.notify(`AnimationStart`,t);let r;if(Array.isArray(t)){let i=t.map(t=>Eg(e,t,n));r=Promise.all(i)}else if(typeof t==`string`)r=Eg(e,t,n);else{let i=typeof t==`function`?sp(e,t,n.custom):t;r=Promise.all(Tg(e,i,n))}return r.then(()=>{e.notify(`AnimationComplete`,t)})}var Ag=lp.length;function jg(e){if(!e)return;if(!e.isControllingVariants){let t=e.parent&&jg(e.parent)||{};return e.props.initial!==void 0&&(t.initial=e.props.initial),t}let t={};for(let n=0;n<Ag;n++){let r=lp[n],i=e.props[r];(ip(i)||i===!1)&&(t[r]=i)}return t}var Mg=[...cp].reverse(),Ng=cp.length;function Pg(e){return t=>Promise.all(t.map(({animation:t,options:n})=>kg(e,t,n)))}function Fg(e){let t=Pg(e),n=Rg(),r=!0,i=t=>(n,r)=>{let i=sp(e,r,t===`exit`?e.presenceContext?.custom:void 0);if(i){let{transition:e,transitionEnd:t,...r}=i;n={...n,...r,...t}}return n};function a(n){t=n(e)}function o(a){let{props:o}=e,s=jg(e.parent)||{},c=[],l=new Set,u={},d=1/0;for(let t=0;t<Ng;t++){let f=Mg[t],p=n[f],m=o[f]===void 0?s[f]:o[f],h=ip(m),g=f===a?p.isActive:null;g===!1&&(d=t);let _=m===s[f]&&m!==o[f]&&h;if(_&&r&&e.manuallyAnimateOnMount&&(_=!1),p.protectedKeys={...u},!p.isActive&&g===null||!m&&!p.prevProp||tp(m)||typeof m==`boolean`)continue;let v=Ig(p.prevProp,m),y=v||f===a&&p.isActive&&!_&&h||t>d&&h,b=!1,x=Array.isArray(m)?m:[m],S=x.reduce(i(f),{});g===!1&&(S={});let{prevResolvedValues:C={}}=p,w={...C,...S},T=t=>{y=!0,l.has(t)&&(b=!0,l.delete(t)),p.needsAnimating[t]=!0;let n=e.getValue(t);n&&(n.liveStyle=!1)};for(let e in w){let t=S[e],n=C[e];if(u.hasOwnProperty(e))continue;let r=!1;r=np(t)&&np(n)?!rp(t,n):t!==n,r?t==null?l.add(e):T(e):t!==void 0&&l.has(e)?T(e):p.protectedKeys[e]=!0}p.prevProp=m,p.prevResolvedValues=S,p.isActive&&(u={...u,...S}),r&&e.blockInitialAnimation&&(y=!1),y&&(!(_&&v)||b)&&c.push(...x.map(e=>({animation:e,options:{type:f}})))}if(l.size){let t={};l.forEach(n=>{let r=e.getBaseTarget(n),i=e.getValue(n);i&&(i.liveStyle=!0),t[n]=r??null}),c.push({animation:t})}let f=!!c.length;return r&&(o.initial===!1||o.initial===o.animate)&&!e.manuallyAnimateOnMount&&(f=!1),r=!1,f?t(c):Promise.resolve()}function s(t,r){var i;if(n[t].isActive===r)return Promise.resolve();(i=e.variantChildren)==null||i.forEach(e=>e.animationState?.setActive(t,r)),n[t].isActive=r;let a=o(t);for(let e in n)n[e].protectedKeys={};return a}return{animateChanges:o,setActive:s,setAnimateFunction:a,getState:()=>n,reset:()=>{n=Rg(),r=!0}}}function Ig(e,t){return typeof t==`string`?t!==e:Array.isArray(t)?!rp(t,e):!1}function Lg(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Rg(){return{animate:Lg(!0),whileInView:Lg(),whileHover:Lg(),whileTap:Lg(),whileDrag:Lg(),whileFocus:Lg(),exit:Lg()}}var zg=class{constructor(e){this.isMounted=!1,this.node=e}update(){}},Bg=class extends zg{constructor(e){super(e),e.animationState||=Fg(e)}updateAnimationControlsSubscription(){let{animate:e}=this.node.getProps();tp(e)&&(this.unmountControls=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){let{animate:e}=this.node.getProps(),{animate:t}=this.node.prevProps||{};e!==t&&this.updateAnimationControlsSubscription()}unmount(){var e;this.node.animationState.reset(),(e=this.unmountControls)==null||e.call(this)}},Vg=0,Hg={animation:{Feature:Bg},exit:{Feature:class extends zg{constructor(){super(...arguments),this.id=Vg++}update(){if(!this.node.presenceContext)return;let{isPresent:e,onExitComplete:t}=this.node.presenceContext,{isPresent:n}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===n)return;let r=this.node.animationState.setActive(`exit`,!e);t&&!e&&r.then(()=>t(this.id))}mount(){let{register:e}=this.node.presenceContext||{};e&&(this.unmount=e(this.id))}unmount(){}}}},Ug={x:!1,y:!1};function Wg(){return Ug.x||Ug.y}function Gg(e,t,n){if(e instanceof Element)return[e];if(typeof e==`string`){let r=document;t&&(r=t.current);let i=n?.[e]??r.querySelectorAll(e);return i?Array.from(i):[]}return Array.from(e)}function Kg(e,t){let n=Gg(e),r=new AbortController;return[n,{passive:!0,...t,signal:r.signal},()=>r.abort()]}function qg(e){return t=>{t.pointerType===`touch`||Wg()||e(t)}}function Jg(e,t,n={}){let[r,i,a]=Kg(e,n),o=qg(e=>{let{target:n}=e,r=t(e);if(!r||!n)return;let a=qg(e=>{r(e),n.removeEventListener(`pointerleave`,a)});n.addEventListener(`pointerleave`,a,i)});return r.forEach(e=>{e.addEventListener(`pointerenter`,o,i)}),a}var Yg=e=>e.pointerType===`mouse`?typeof e.button!=`number`||e.button<=0:e.isPrimary!==!1,Xg=new WeakSet;function Zg(e){return t=>{t.key===`Enter`&&e(t)}}function Qg(e,t){e.dispatchEvent(new PointerEvent(`pointer`+t,{isPrimary:!0,bubbles:!0}))}var $g=(e,t)=>{let n=e.currentTarget;if(!n)return;let r=Zg(()=>{if(Xg.has(n))return;Qg(n,`down`);let e=Zg(()=>{Qg(n,`up`)});n.addEventListener(`keyup`,e,t),n.addEventListener(`blur`,()=>Qg(n,`cancel`),t)});n.addEventListener(`keydown`,r,t),n.addEventListener(`blur`,()=>n.removeEventListener(`keydown`,r),t)},e_=new Set([`BUTTON`,`INPUT`,`SELECT`,`TEXTAREA`,`A`]);function t_(e){return e_.has(e.tagName)||e.tabIndex!==-1}var n_=(e,t)=>t?e===t||n_(e,t.parentElement):!1;function r_(e){return Yg(e)&&!Wg()}function i_(e,t,n={}){let[r,i,a]=Kg(e,n),o=e=>{let r=e.currentTarget;if(!r_(e)||Xg.has(r))return;Xg.add(r);let a=t(e),o=(e,t)=>{window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,c),r_(e)&&Xg.has(r)&&(Xg.delete(r),a&&a(e,{success:t}))},s=e=>{o(e,n.useGlobalTarget||n_(r,e.target))},c=e=>{o(e,!1)};window.addEventListener(`pointerup`,s,i),window.addEventListener(`pointercancel`,c,i)};return r.forEach(e=>{t_(e)||(e.tabIndex=0),(n.useGlobalTarget?window:e).addEventListener(`pointerdown`,o,i),e.addEventListener(`focus`,e=>$g(e,i),i)}),a}function a_(e){return e===`x`||e===`y`?Ug[e]?null:(Ug[e]=!0,()=>{Ug[e]=!1}):Ug.x||Ug.y?null:(Ug.x=Ug.y=!0,()=>{Ug.x=Ug.y=!1})}function o_(e){return{point:{x:e.pageX,y:e.pageY}}}var s_=e=>t=>Yg(t)&&e(t,o_(t));function c_(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}function l_(e,t,n,r){return c_(e,t,s_(n),r)}var u_=(e,t)=>Math.abs(e-t);function d_(e,t){let n=u_(e.x,t.x),r=u_(e.y,t.y);return Math.sqrt(n**2+r**2)}var f_=class{constructor(e,t,{transformPagePoint:n,contextWindow:r,dragSnapToOrigin:i=!1}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let e=h_(this.lastMoveEventInfo,this.history),t=this.startEvent!==null,n=d_(e.offset,{x:0,y:0})>=3;if(!t&&!n)return;let{point:r}=e,{timestamp:i}=Tp;this.history.push({...r,timestamp:i});let{onStart:a,onMove:o}=this.handlers;t||(a&&a(this.lastMoveEvent,e),this.startEvent=this.lastMoveEvent),o&&o(this.lastMoveEvent,e)},this.handlePointerMove=(e,t)=>{this.lastMoveEvent=e,this.lastMoveEventInfo=p_(t,this.transformPagePoint),Cp.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{this.end();let{onEnd:n,onSessionEnd:r,resumeAnimation:i}=this.handlers;if(this.dragSnapToOrigin&&i&&i(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let a=h_(e.type===`pointercancel`?this.lastMoveEventInfo:p_(t,this.transformPagePoint),this.history);this.startEvent&&n&&n(e,a),r&&r(e,a)},!Yg(e))return;this.dragSnapToOrigin=i,this.handlers=t,this.transformPagePoint=n,this.contextWindow=r||window;let a=p_(o_(e),this.transformPagePoint),{point:o}=a,{timestamp:s}=Tp;this.history=[{...o,timestamp:s}];let{onSessionStart:c}=t;c&&c(e,h_(a,this.history)),this.removeListeners=wh(l_(this.contextWindow,`pointermove`,this.handlePointerMove),l_(this.contextWindow,`pointerup`,this.handlePointerUp),l_(this.contextWindow,`pointercancel`,this.handlePointerUp))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),wp(this.updatePoint)}};function p_(e,t){return t?{point:t(e.point)}:e}function m_(e,t){return{x:e.x-t.x,y:e.y-t.y}}function h_({point:e},t){return{point:e,delta:m_(e,__(t)),offset:m_(e,g_(t)),velocity:v_(t,.1)}}function g_(e){return e[0]}function __(e){return e[e.length-1]}function v_(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null,i=__(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>fp(t)));)n--;if(!r)return{x:0,y:0};let a=pp(i.timestamp-r.timestamp);if(a===0)return{x:0,y:0};let o={x:(i.x-r.x)/a,y:(i.y-r.y)/a};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function y_(e){return e&&typeof e==`object`&&Object.prototype.hasOwnProperty.call(e,`current`)}var b_=.9999,x_=1.0001,S_=-.01,C_=.01;function w_(e){return e.max-e.min}function T_(e,t,n){return Math.abs(e-t)<=n}function E_(e,t,n,r=.5){e.origin=r,e.originPoint=Th(t.min,t.max,e.origin),e.scale=w_(n)/w_(t),e.translate=Th(n.min,n.max,e.origin)-e.originPoint,(e.scale>=b_&&e.scale<=x_||isNaN(e.scale))&&(e.scale=1),(e.translate>=S_&&e.translate<=C_||isNaN(e.translate))&&(e.translate=0)}function D_(e,t,n,r){E_(e.x,t.x,n.x,r?r.originX:void 0),E_(e.y,t.y,n.y,r?r.originY:void 0)}function O_(e,t,n){e.min=n.min+t.min,e.max=e.min+w_(t)}function k_(e,t,n){O_(e.x,t.x,n.x),O_(e.y,t.y,n.y)}function A_(e,t,n){e.min=t.min-n.min,e.max=e.min+w_(t)}function j_(e,t,n){A_(e.x,t.x,n.x),A_(e.y,t.y,n.y)}function M_(e,{min:t,max:n},r){return t!==void 0&&e<t?e=r?Th(t,e,r.min):Math.max(e,t):n!==void 0&&e>n&&(e=r?Th(n,e,r.max):Math.min(e,n)),e}function N_(e,t,n){return{min:t===void 0?void 0:e.min+t,max:n===void 0?void 0:e.max+n-(e.max-e.min)}}function P_(e,{top:t,left:n,bottom:r,right:i}){return{x:N_(e.x,n,i),y:N_(e.y,t,r)}}function F_(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,r]=[r,n]),{min:n,max:r}}function I_(e,t){return{x:F_(e.x,t.x),y:F_(e.y,t.y)}}function L_(e,t){let n=.5,r=w_(e),i=w_(t);return i>r?n=lh(t.min,t.max-r,e.min):r>i&&(n=lh(e.min,e.max-i,t.min)),Xp(0,1,n)}function R_(e,t){let n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}var z_=.35;function B_(e=z_){return e===!1?e=0:e===!0&&(e=z_),{x:V_(e,`left`,`right`),y:V_(e,`top`,`bottom`)}}function V_(e,t,n){return{min:H_(e,t),max:H_(e,n)}}function H_(e,t){return typeof e==`number`?e:e[t]||0}var U_=()=>({translate:0,scale:1,origin:0,originPoint:0}),W_=()=>({x:U_(),y:U_()}),G_=()=>({min:0,max:0}),K_=()=>({x:G_(),y:G_()});function q_(e){return[e(`x`),e(`y`)]}function J_({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function Y_({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function X_(e,t){if(!t)return e;let n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function Z_(e){return e===void 0||e===1}function Q_({scale:e,scaleX:t,scaleY:n}){return!Z_(e)||!Z_(t)||!Z_(n)}function $_(e){return Q_(e)||ev(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function ev(e){return tv(e.x)||tv(e.y)}function tv(e){return e&&e!==`0%`}function nv(e,t,n){return n+t*(e-n)}function rv(e,t,n,r,i){return i!==void 0&&(e=nv(e,i,r)),nv(e,n,r)+t}function iv(e,t=0,n=1,r,i){e.min=rv(e.min,t,n,r,i),e.max=rv(e.max,t,n,r,i)}function av(e,{x:t,y:n}){iv(e.x,t.translate,t.scale,t.originPoint),iv(e.y,n.translate,n.scale,n.originPoint)}var ov=.999999999999,sv=1.0000000000001;function Tte(e,t,n,r=!1){let i=n.length;if(!i)return;t.x=t.y=1;let a,o;for(let s=0;s<i;s++){a=n[s],o=a.projectionDelta;let{visualElement:i}=a.options;i&&i.props.style&&i.props.style.display===`contents`||(r&&a.options.layoutScroll&&a.scroll&&a!==a.root&&uv(e,{x:-a.scroll.offset.x,y:-a.scroll.offset.y}),o&&(t.x*=o.x.scale,t.y*=o.y.scale,av(e,o)),r&&$_(a.latestValues)&&uv(e,a.latestValues))}t.x<sv&&t.x>ov&&(t.x=1),t.y<sv&&t.y>ov&&(t.y=1)}function cv(e,t){e.min+=t,e.max+=t}function lv(e,t,n,r,i=.5){iv(e,t,n,Th(e.min,e.max,i),r)}function uv(e,t){lv(e.x,t.x,t.scaleX,t.scale,t.originX),lv(e.y,t.y,t.scaleY,t.scale,t.originY)}function dv(e,t){return J_(X_(e.getBoundingClientRect(),t))}function Ete(e,t,n){let r=dv(e,n),{scroll:i}=t;return i&&(cv(r.x,i.offset.x),cv(r.y,i.offset.y)),r}var fv=({current:e})=>e?e.ownerDocument.defaultView:null,Dte=new WeakMap,Ote=class{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=K_(),this.visualElement=e}start(e,{snapToCursor:t=!1}={}){let{presenceContext:n}=this.visualElement;if(n&&n.isPresent===!1)return;let r=e=>{let{dragSnapToOrigin:n}=this.getProps();n?this.pauseAnimation():this.stopAnimation(),t&&this.snapToCursor(o_(e).point)},i=(e,t)=>{let{drag:n,dragPropagation:r,onDragStart:i}=this.getProps();if(n&&!r&&(this.openDragLock&&this.openDragLock(),this.openDragLock=a_(n),!this.openDragLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),q_(e=>{let t=this.getAxisMotionValue(e).get()||0;if(nm.test(t)){let{projection:n}=this.visualElement;if(n&&n.layout){let r=n.layout.layoutBox[e];r&&(t=w_(r)*(parseFloat(t)/100))}}this.originPoint[e]=t}),i&&Cp.postRender(()=>i(e,t)),Cg(this.visualElement,`transform`);let{animationState:a}=this.visualElement;a&&a.setActive(`whileDrag`,!0)},a=(e,t)=>{let{dragPropagation:n,dragDirectionLock:r,onDirectionLock:i,onDrag:a}=this.getProps();if(!n&&!this.openDragLock)return;let{offset:o}=t;r&&this.currentDirection===null?(this.currentDirection=kte(o),this.currentDirection!==null&&i&&i(this.currentDirection)):(this.updateAxis(`x`,t.point,o),this.updateAxis(`y`,t.point,o),this.visualElement.render(),a&&a(e,t))},o=(e,t)=>this.stop(e,t),s=()=>q_(e=>this.getAnimationState(e)===`paused`&&this.getAxisMotionValue(e).animation?.play()),{dragSnapToOrigin:c}=this.getProps();this.panSession=new f_(e,{onSessionStart:r,onStart:i,onMove:a,onSessionEnd:o,resumeAnimation:s},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:c,contextWindow:fv(this.visualElement)})}stop(e,t){let n=this.isDragging;if(this.cancel(),!n)return;let{velocity:r}=t;this.startAnimation(r);let{onDragEnd:i}=this.getProps();i&&Cp.postRender(()=>i(e,t))}cancel(){this.isDragging=!1;let{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;let{dragPropagation:n}=this.getProps();!n&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),t&&t.setActive(`whileDrag`,!1)}updateAxis(e,t,n){let{drag:r}=this.getProps();if(!n||!pv(e,r,this.currentDirection))return;let i=this.getAxisMotionValue(e),a=this.originPoint[e]+n[e];this.constraints&&this.constraints[e]&&(a=M_(a,this.constraints[e],this.elastic[e])),i.set(a)}resolveConstraints(){let{dragConstraints:e,dragElastic:t}=this.getProps(),n=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,r=this.constraints;e&&y_(e)?this.constraints||=this.resolveRefConstraints():this.constraints=e&&n?P_(n.layoutBox,e):!1,this.elastic=B_(t),r!==this.constraints&&n&&this.constraints&&!this.hasMutatedConstraints&&q_(e=>{this.constraints!==!1&&this.getAxisMotionValue(e)&&(this.constraints[e]=R_(n.layoutBox[e],this.constraints[e]))})}resolveRefConstraints(){let{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!y_(e))return!1;let n=e.current;bp(n!==null,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.");let{projection:r}=this.visualElement;if(!r||!r.layout)return!1;let i=Ete(n,r.root,this.visualElement.getTransformPagePoint()),a=I_(r.layout.layoutBox,i);if(t){let e=t(Y_(a));this.hasMutatedConstraints=!!e,e&&(a=J_(e))}return a}startAnimation(e){let{drag:t,dragMomentum:n,dragElastic:r,dragTransition:i,dragSnapToOrigin:a,onDragTransitionEnd:o}=this.getProps(),s=this.constraints||{},c=q_(o=>{if(!pv(o,t,this.currentDirection))return;let c=s&&s[o]||{};a&&(c={min:0,max:0});let l=r?200:1e6,u=r?40:1e7,d={type:`inertia`,velocity:n?e[o]:0,bounceStiffness:l,bounceDamping:u,timeConstant:750,restDelta:1,restSpeed:10,...i,...c};return this.startAxisValueAnimation(o,d)});return Promise.all(c).then(o)}startAxisValueAnimation(e,t){let n=this.getAxisMotionValue(e);return Cg(this.visualElement,e),n.start(ag(e,n,0,t,this.visualElement,!1))}stopAnimation(){q_(e=>this.getAxisMotionValue(e).stop())}pauseAnimation(){q_(e=>this.getAxisMotionValue(e).animation?.pause())}getAnimationState(e){return this.getAxisMotionValue(e).animation?.state}getAxisMotionValue(e){let t=`_drag${e.toUpperCase()}`,n=this.visualElement.getProps();return n[t]||this.visualElement.getValue(e,(n.initial?n.initial[e]:void 0)||0)}snapToCursor(e){q_(t=>{let{drag:n}=this.getProps();if(!pv(t,n,this.currentDirection))return;let{projection:r}=this.visualElement,i=this.getAxisMotionValue(t);if(r&&r.layout){let{min:n,max:a}=r.layout.layoutBox[t];i.set(e[t]-Th(n,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:e,dragConstraints:t}=this.getProps(),{projection:n}=this.visualElement;if(!y_(t)||!n||!this.constraints)return;this.stopAnimation();let r={x:0,y:0};q_(e=>{let t=this.getAxisMotionValue(e);if(t&&this.constraints!==!1){let n=t.get();r[e]=L_({min:n,max:n},this.constraints[e])}});let{transformTemplate:i}=this.visualElement.getProps();this.visualElement.current.style.transform=i?i({},``):`none`,n.root&&n.root.updateScroll(),n.updateLayout(),this.resolveConstraints(),q_(t=>{if(!pv(t,e,null))return;let n=this.getAxisMotionValue(t),{min:i,max:a}=this.constraints[t];n.set(Th(i,a,r[t]))})}addListeners(){if(!this.visualElement.current)return;Dte.set(this.visualElement,this);let e=this.visualElement.current,t=l_(e,`pointerdown`,e=>{let{drag:t,dragListener:n=!0}=this.getProps();t&&n&&this.start(e)}),n=()=>{let{dragConstraints:e}=this.getProps();y_(e)&&e.current&&(this.constraints=this.resolveRefConstraints())},{projection:r}=this.visualElement,i=r.addEventListener(`measure`,n);r&&!r.layout&&(r.root&&r.root.updateScroll(),r.updateLayout()),Cp.read(n);let a=c_(window,`resize`,()=>this.scalePositionWithinConstraints()),o=r.addEventListener(`didUpdate`,(({delta:e,hasLayoutChanged:t})=>{this.isDragging&&t&&(q_(t=>{let n=this.getAxisMotionValue(t);n&&(this.originPoint[t]+=e[t].translate,n.set(n.get()+e[t].translate))}),this.visualElement.render())}));return()=>{a(),t(),i(),o&&o()}}getProps(){let e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:n=!1,dragPropagation:r=!1,dragConstraints:i=!1,dragElastic:a=z_,dragMomentum:o=!0}=e;return{...e,drag:t,dragDirectionLock:n,dragPropagation:r,dragConstraints:i,dragElastic:a,dragMomentum:o}}};function pv(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function kte(e,t=10){let n=null;return Math.abs(e.y)>t?n=`y`:Math.abs(e.x)>t&&(n=`x`),n}var Ate=class extends zg{constructor(e){super(e),this.removeGroupControls=vp,this.removeListeners=vp,this.controls=new Ote(e)}mount(){let{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||vp}unmount(){this.removeGroupControls(),this.removeListeners()}},mv=e=>(t,n)=>{e&&Cp.postRender(()=>e(t,n))},jte=class extends zg{constructor(){super(...arguments),this.removePointerDownListener=vp}onPointerDown(e){this.session=new f_(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:fv(this.node)})}createPanHandlers(){let{onPanSessionStart:e,onPanStart:t,onPan:n,onPanEnd:r}=this.node.getProps();return{onSessionStart:mv(e),onStart:mv(t),onMove:n,onEnd:(e,t)=>{delete this.session,r&&Cp.postRender(()=>r(e,t))}}}mount(){this.removePointerDownListener=l_(this.node.current,`pointerdown`,e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}},hv=(0,y.createContext)(null);function Mte(){let e=(0,y.useContext)(hv);if(e===null)return[!0,null];let{isPresent:t,onExitComplete:n,register:r}=e,i=(0,y.useId)();(0,y.useEffect)(()=>r(i),[]);let a=(0,y.useCallback)(()=>n&&n(i),[i,n]);return!t&&n?[!1,a]:[!0]}var gv=(0,y.createContext)({}),_v=(0,y.createContext)({}),vv={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function yv(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}var bv={correct:(e,t)=>{if(!t.target)return e;if(typeof e==`string`){if(rm.test(e))e=parseFloat(e);else return e}return`${yv(e,t.target.x)}% ${yv(e,t.target.y)}%`}},Nte={correct:(e,{treeScale:t,projectionDelta:n})=>{let r=e,i=Zm.parse(e);if(i.length>5)return r;let a=Zm.createTransformer(e),o=typeof i[0]==`number`?0:1,s=n.x.scale*t.x,c=n.y.scale*t.y;i[0+o]/=s,i[1+o]/=c;let l=Th(s,c,.5);return typeof i[2+o]==`number`&&(i[2+o]/=l),typeof i[3+o]==`number`&&(i[3+o]/=l),a(i)}},xv={};function Pte(e){Object.assign(xv,e)}var{schedule:Sv,cancel:Fte}=Sp(queueMicrotask,!1),Ite=class extends y.Component{componentDidMount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n,layoutId:r}=this.props,{projection:i}=e;Pte(Lte),i&&(t.group&&t.group.add(i),n&&n.register&&r&&n.register(i),i.root.didUpdate(),i.addEventListener(`animationComplete`,()=>{this.safeToRemove()}),i.setOptions({...i.options,onExitComplete:()=>this.safeToRemove()})),vv.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){let{layoutDependency:t,visualElement:n,drag:r,isPresent:i}=this.props,a=n.projection;return a&&(a.isPresent=i,r||e.layoutDependency!==t||t===void 0?a.willUpdate():this.safeToRemove(),e.isPresent!==i&&(i?a.promote():a.relegate()||Cp.postRender(()=>{let e=a.getStack();e&&e.members.length||this.safeToRemove()}))),null}componentDidUpdate(){let{projection:e}=this.props.visualElement;e&&(e.root.didUpdate(),Sv.postRender(()=>{!e.currentAnimation&&e.isLead()&&this.safeToRemove()}))}componentWillUnmount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n}=this.props,{projection:r}=e;r&&(r.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(r),n&&n.deregister&&n.deregister(r))}safeToRemove(){let{safeToRemove:e}=this.props;e&&e()}render(){return null}};function Cv(e){let[t,n]=Mte(),r=(0,y.useContext)(gv);return(0,B.jsx)(Ite,{...e,layoutGroup:r,switchLayoutGroup:(0,y.useContext)(_v),isPresent:t,safeToRemove:n})}var Lte={borderRadius:{...bv,applyTo:[`borderTopLeftRadius`,`borderTopRightRadius`,`borderBottomLeftRadius`,`borderBottomRightRadius`]},borderTopLeftRadius:bv,borderTopRightRadius:bv,borderBottomLeftRadius:bv,borderBottomRightRadius:bv,boxShadow:Nte},wv=[`TopLeft`,`TopRight`,`BottomLeft`,`BottomRight`],Rte=wv.length,Tv=e=>typeof e==`string`?parseFloat(e):e,Ev=e=>typeof e==`number`||rm.test(e);function zte(e,t,n,r,i,a){i?(e.opacity=Th(0,n.opacity===void 0?1:n.opacity,Bte(r)),e.opacityExit=Th(t.opacity===void 0?1:t.opacity,0,Vte(r))):a&&(e.opacity=Th(t.opacity===void 0?1:t.opacity,n.opacity===void 0?1:n.opacity,r));for(let i=0;i<Rte;i++){let a=`border${wv[i]}Radius`,o=Dv(t,a),s=Dv(n,a);(o!==void 0||s!==void 0)&&(o||=0,s||=0,o===0||s===0||Ev(o)===Ev(s)?(e[a]=Math.max(Th(Tv(o),Tv(s),r),0),(nm.test(s)||nm.test(o))&&(e[a]+=`%`)):e[a]=s)}(t.rotate||n.rotate)&&(e.rotate=Th(t.rotate||0,n.rotate||0,r))}function Dv(e,t){return e[t]===void 0?e.borderRadius:e[t]}var Bte=Ov(0,.5,Ip),Vte=Ov(.5,.95,vp);function Ov(e,t,n){return r=>r<e?0:r>t?1:n(lh(e,t,r))}function kv(e,t){e.min=t.min,e.max=t.max}function Av(e,t){kv(e.x,t.x),kv(e.y,t.y)}function jv(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}function Mv(e,t,n,r,i){return e-=t,e=nv(e,1/n,r),i!==void 0&&(e=nv(e,1/i,r)),e}function Hte(e,t=0,n=1,r=.5,i,a=e,o=e){if(nm.test(t)&&(t=parseFloat(t),t=Th(o.min,o.max,t/100)-o.min),typeof t!=`number`)return;let s=Th(a.min,a.max,r);e===a&&(s-=t),e.min=Mv(e.min,t,n,s,i),e.max=Mv(e.max,t,n,s,i)}function Nv(e,t,[n,r,i],a,o){Hte(e,t[n],t[r],t[i],t.scale,a,o)}var Ute=[`x`,`scaleX`,`originX`],Wte=[`y`,`scaleY`,`originY`];function Pv(e,t,n,r){Nv(e.x,t,Ute,n?n.x:void 0,r?r.x:void 0),Nv(e.y,t,Wte,n?n.y:void 0,r?r.y:void 0)}function Fv(e){return e.translate===0&&e.scale===1}function Iv(e){return Fv(e.x)&&Fv(e.y)}function Lv(e,t){return e.min===t.min&&e.max===t.max}function Gte(e,t){return Lv(e.x,t.x)&&Lv(e.y,t.y)}function Rv(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function zv(e,t){return Rv(e.x,t.x)&&Rv(e.y,t.y)}function Bv(e){return w_(e.x)/w_(e.y)}function Vv(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}var Kte=class{constructor(){this.members=[]}add(e){cg(this.members,e),e.scheduleRender()}remove(e){if(lg(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){let e=this.members[this.members.length-1];e&&this.promote(e)}}relegate(e){let t=this.members.findIndex(t=>e===t);if(t===0)return!1;let n;for(let e=t;e>=0;e--){let t=this.members[e];if(t.isPresent!==!1){n=t;break}}return n?(this.promote(n),!0):!1}promote(e,t){let n=this.lead;if(e!==n&&(this.prevLead=n,this.lead=e,e.show(),n)){n.instance&&n.scheduleRender(),e.scheduleRender(),e.resumeFrom=n,t&&(e.resumeFrom.preserveOpacity=!0),n.snapshot&&(e.snapshot=n.snapshot,e.snapshot.latestValues=n.animationValues||n.latestValues),e.root&&e.root.isUpdating&&(e.isLayoutDirty=!0);let{crossfade:r}=e.options;r===!1&&n.hide()}}exitAnimationComplete(){this.members.forEach(e=>{let{options:t,resumingFrom:n}=e;t.onExitComplete&&t.onExitComplete(),n&&n.options.onExitComplete&&n.options.onExitComplete()})}scheduleRender(){this.members.forEach(e=>{e.instance&&e.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}};function qte(e,t,n){let r=``,i=e.x.translate/t.x,a=e.y.translate/t.y,o=n?.z||0;if((i||a||o)&&(r=`translate3d(${i}px, ${a}px, ${o}px) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){let{transformPerspective:e,rotate:t,rotateX:i,rotateY:a,skewX:o,skewY:s}=n;e&&(r=`perspective(${e}px) ${r}`),t&&(r+=`rotate(${t}deg) `),i&&(r+=`rotateX(${i}deg) `),a&&(r+=`rotateY(${a}deg) `),o&&(r+=`skewX(${o}deg) `),s&&(r+=`skewY(${s}deg) `)}let s=e.x.scale*t.x,c=e.y.scale*t.y;return(s!==1||c!==1)&&(r+=`scale(${s}, ${c})`),r||`none`}var Jte=(e,t)=>e.depth-t.depth,Yte=class{constructor(){this.children=[],this.isDirty=!1}add(e){cg(this.children,e),this.isDirty=!0}remove(e){lg(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(Jte),this.isDirty=!1,this.children.forEach(e)}};function Hv(e){let t=xg(e)?e.get():e;return og(t)?t.toValue():t}function Xte(e,t){let n=oh.now(),r=({timestamp:i})=>{let a=i-n;a>=t&&(wp(r),e(a-t))};return Cp.read(r,!0),()=>wp(r)}function Zte(e){return e instanceof SVGElement&&e.tagName!==`svg`}function Qte(e,t,n){let r=xg(e)?e:hg(e);return r.start(ag(``,r,t,n)),r.animation}var Uv={type:`projectionFrame`,totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0},Wv=typeof window<`u`&&window.MotionDebug!==void 0,Gv=[``,`X`,`Y`,`Z`],$te={visibility:`hidden`},Kv=1e3,ene=0;function qv(e,t,n,r){let{latestValues:i}=t;i[e]&&(n[e]=i[e],t.setStaticValue(e,0),r&&(r[e]=0))}function Jv(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;let{visualElement:t}=e.options;if(!t)return;let n=bg(t);if(window.MotionHasOptimisedAnimation(n,`transform`)){let{layout:t,layoutId:r}=e.options;window.MotionCancelOptimisedAnimation(n,`transform`,Cp,!(t||r))}let{parent:r}=e;r&&!r.hasCheckedOptimisedAppear&&Jv(r)}function Yv({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(e={},n=t?.()){this.id=ene++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,Wv&&(Uv.totalNodes=Uv.resolvedTargetDeltas=Uv.recalculatedProjection=0),this.nodes.forEach(rne),this.nodes.forEach(cne),this.nodes.forEach(lne),this.nodes.forEach(ine),Wv&&window.MotionDebug.record(Uv)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=e,this.root=n?n.root||n:this,this.path=n?[...n.path,n]:[],this.parent=n,this.depth=n?n.depth+1:0;for(let e=0;e<this.path.length;e++)this.path[e].shouldResetTransform=!0;this.root===this&&(this.nodes=new Yte)}addEventListener(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new ug),this.eventHandlers.get(e).add(t)}notifyListeners(e,...t){let n=this.eventHandlers.get(e);n&&n.notify(...t)}hasListeners(e){return this.eventHandlers.has(e)}mount(t,n=this.root.hasTreeAnimated){if(this.instance)return;this.isSVG=Zte(t),this.instance=t;let{layoutId:r,layout:i,visualElement:a}=this.options;if(a&&!a.current&&a.mount(t),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),n&&(i||r)&&(this.isLayoutDirty=!0),e){let n,r=()=>this.root.updateBlockedByResize=!1;e(t,()=>{this.root.updateBlockedByResize=!0,n&&n(),n=Xte(r,250),vv.hasAnimatedSinceResize&&(vv.hasAnimatedSinceResize=!1,this.nodes.forEach(Zv))})}r&&this.root.registerSharedNode(r,this),this.options.animate!==!1&&a&&(r||i)&&this.addEventListener(`didUpdate`,({delta:e,hasLayoutChanged:t,hasRelativeTargetChanged:n,layout:r})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}let i=this.options.transition||a.getDefaultTransition()||mne,{onLayoutAnimationStart:o,onLayoutAnimationComplete:s}=a.getProps(),c=!this.targetLayout||!zv(this.targetLayout,r)||n,l=!t&&n;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||l||t&&(c||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(e,l);let t={...mp(i,`layout`),onPlay:o,onComplete:s};(a.shouldReduceMotion||this.options.layoutRoot)&&(t.delay=0,t.type=!1),this.startAnimation(t)}else t||Zv(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=r})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);let e=this.getStack();e&&e.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,wp(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(une),this.animationId++)}getTransformTemplate(){let{visualElement:e}=this.options;return e&&e.getProps().transformTemplate}willUpdate(e=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&Jv(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let e=0;e<this.path.length;e++){let t=this.path[e];t.shouldResetTransform=!0,t.updateScroll(`snapshot`),t.options.layoutRoot&&t.willUpdate(!1)}let{layoutId:t,layout:n}=this.options;if(t===void 0&&!n)return;let r=this.getTransformTemplate();this.prevTransformTemplateValue=r?r(this.latestValues,``):void 0,this.updateSnapshot(),e&&this.notifyListeners(`willUpdate`)}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(Xv);return}this.isUpdating||this.nodes.forEach(one),this.isUpdating=!1,this.nodes.forEach(sne),this.nodes.forEach(tne),this.nodes.forEach(nne),this.clearAllSnapshots();let e=oh.now();Tp.delta=Xp(0,1e3/60,e-Tp.timestamp),Tp.timestamp=e,Tp.isProcessing=!0,Ep.update.process(Tp),Ep.preRender.process(Tp),Ep.render.process(Tp),Tp.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,Sv.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(ane),this.sharedNodes.forEach(dne)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,Cp.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){Cp.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){!this.snapshot&&this.instance&&(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let e=0;e<this.path.length;e++)this.path[e].updateScroll();let e=this.layout;this.layout=this.measure(!1),this.layoutCorrected=K_(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners(`measure`,this.layout.layoutBox);let{visualElement:t}=this.options;t&&t.notify(`LayoutMeasure`,this.layout.layoutBox,e?e.layoutBox:void 0)}updateScroll(e=`measure`){let t=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===e&&(t=!1),t){let t=r(this.instance);this.scroll={animationId:this.root.animationId,phase:e,isRoot:t,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:t}}}resetTransform(){if(!i)return;let e=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,t=this.projectionDelta&&!Iv(this.projectionDelta),n=this.getTransformTemplate(),r=n?n(this.latestValues,``):void 0,a=r!==this.prevTransformTemplateValue;e&&(t||$_(this.latestValues)||a)&&(i(this.instance,r),this.shouldResetTransform=!1,this.scheduleRender())}measure(e=!0){let t=this.measurePageBox(),n=this.removeElementScroll(t);return e&&(n=this.removeTransform(n)),hne(n),{animationId:this.root.animationId,measuredBox:t,layoutBox:n,latestValues:{},source:this.id}}measurePageBox(){let{visualElement:e}=this.options;if(!e)return K_();let t=e.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(gne))){let{scroll:e}=this.root;e&&(cv(t.x,e.offset.x),cv(t.y,e.offset.y))}return t}removeElementScroll(e){let t=K_();if(Av(t,e),this.scroll?.wasRoot)return t;for(let n=0;n<this.path.length;n++){let r=this.path[n],{scroll:i,options:a}=r;r!==this.root&&i&&a.layoutScroll&&(i.wasRoot&&Av(t,e),cv(t.x,i.offset.x),cv(t.y,i.offset.y))}return t}applyTransform(e,t=!1){let n=K_();Av(n,e);for(let e=0;e<this.path.length;e++){let r=this.path[e];!t&&r.options.layoutScroll&&r.scroll&&r!==r.root&&uv(n,{x:-r.scroll.offset.x,y:-r.scroll.offset.y}),$_(r.latestValues)&&uv(n,r.latestValues)}return $_(this.latestValues)&&uv(n,this.latestValues),n}removeTransform(e){let t=K_();Av(t,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];if(!n.instance||!$_(n.latestValues))continue;Q_(n.latestValues)&&n.updateSnapshot();let r=K_();Av(r,n.measurePageBox()),Pv(t,n.latestValues,n.snapshot?n.snapshot.layoutBox:void 0,r)}return $_(this.latestValues)&&Pv(t,this.latestValues),t}setTargetDelta(e){this.targetDelta=e,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(e){this.options={...this.options,...e,crossfade:e.crossfade===void 0||e.crossfade}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==Tp.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(e=!1){let t=this.getLead();this.isProjectionDirty||=t.isProjectionDirty,this.isTransformDirty||=t.isTransformDirty,this.isSharedProjectionDirty||=t.isSharedProjectionDirty;let n=!!this.resumingFrom||this!==t;if(!(e||n&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;let{layout:r,layoutId:i}=this.options;if(this.layout&&(r||i)){if(this.resolvedRelativeTargetAt=Tp.timestamp,!this.targetDelta&&!this.relativeTarget){let e=this.getClosestProjectingParent();e&&e.layout&&this.animationProgress!==1?(this.relativeParent=e,this.forceRelativeParentToResolveTarget(),this.relativeTarget=K_(),this.relativeTargetOrigin=K_(),j_(this.relativeTargetOrigin,this.layout.layoutBox,e.layout.layoutBox),Av(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}if(this.relativeTarget||this.targetDelta){if(this.target||(this.target=K_(),this.targetWithTransforms=K_()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),k_(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):Av(this.target,this.layout.layoutBox),av(this.target,this.targetDelta)):Av(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget){this.attemptToResolveRelativeTarget=!1;let e=this.getClosestProjectingParent();e&&!!e.resumingFrom==!!this.resumingFrom&&!e.options.layoutScroll&&e.target&&this.animationProgress!==1?(this.relativeParent=e,this.forceRelativeParentToResolveTarget(),this.relativeTarget=K_(),this.relativeTargetOrigin=K_(),j_(this.relativeTargetOrigin,this.target,e.target),Av(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}Wv&&Uv.resolvedTargetDeltas++}}}getClosestProjectingParent(){if(!(!this.parent||Q_(this.parent.latestValues)||ev(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}calcProjection(){let e=this.getLead(),t=!!this.resumingFrom||this!==e,n=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(n=!1),t&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(n=!1),this.resolvedRelativeTargetAt===Tp.timestamp&&(n=!1),n)return;let{layout:r,layoutId:i}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(r||i))return;Av(this.layoutCorrected,this.layout.layoutBox);let a=this.treeScale.x,o=this.treeScale.y;Tte(this.layoutCorrected,this.treeScale,this.path,t),e.layout&&!e.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(e.target=e.layout.layoutBox,e.targetWithTransforms=K_());let{target:s}=e;s?(!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(jv(this.prevProjectionDelta.x,this.projectionDelta.x),jv(this.prevProjectionDelta.y,this.projectionDelta.y)),D_(this.projectionDelta,this.layoutCorrected,s,this.latestValues),this.treeScale.x===a&&this.treeScale.y===o&&Vv(this.projectionDelta.x,this.prevProjectionDelta.x)&&Vv(this.projectionDelta.y,this.prevProjectionDelta.y)||(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners(`projectionUpdate`,s)),Wv&&Uv.recalculatedProjection++):this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender())}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(e=!0){var t;if((t=this.options.visualElement)==null||t.scheduleRender(),e){let e=this.getStack();e&&e.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=W_(),this.projectionDelta=W_(),this.projectionDeltaWithTransform=W_()}setAnimationOrigin(e,t=!1){let n=this.snapshot,r=n?n.latestValues:{},i={...this.latestValues},a=W_();this.relativeParent&&this.relativeParent.options.layoutRoot||(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!t;let o=K_(),s=(n?n.source:void 0)!==(this.layout?this.layout.source:void 0),c=this.getStack(),l=!c||c.members.length<=1,u=!(!s||l||this.options.crossfade!==!0||this.path.some(pne));this.animationProgress=0;let d;this.mixTargetDelta=t=>{let n=t/1e3;Qv(a.x,e.x,n),Qv(a.y,e.y,n),this.setTargetDelta(a),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(j_(o,this.layout.layoutBox,this.relativeParent.layout.layoutBox),fne(this.relativeTarget,this.relativeTargetOrigin,o,n),d&&Gte(this.relativeTarget,d)&&(this.isProjectionDirty=!1),d||=K_(),Av(d,this.relativeTarget)),s&&(this.animationValues=i,zte(i,r,this.latestValues,n,u,l)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=n},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(e){this.notifyListeners(`animationStart`),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&=(wp(this.pendingAnimation),void 0),this.pendingAnimation=Cp.update(()=>{vv.hasAnimatedSinceResize=!0,this.currentAnimation=Qte(0,Kv,{...e,onUpdate:t=>{this.mixTargetDelta(t),e.onUpdate&&e.onUpdate(t)},onComplete:()=>{e.onComplete&&e.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);let e=this.getStack();e&&e.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners(`animationComplete`)}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(Kv),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){let e=this.getLead(),{targetWithTransforms:t,target:n,layout:r,latestValues:i}=e;if(t&&n&&r){if(this!==e&&this.layout&&r&&ry(this.options.animationType,this.layout.layoutBox,r.layoutBox)){n=this.target||K_();let t=w_(this.layout.layoutBox.x);n.x.min=e.target.x.min,n.x.max=n.x.min+t;let r=w_(this.layout.layoutBox.y);n.y.min=e.target.y.min,n.y.max=n.y.min+r}Av(t,n),uv(t,i),D_(this.projectionDeltaWithTransform,this.layoutCorrected,t,i)}}registerSharedNode(e,t){this.sharedNodes.has(e)||this.sharedNodes.set(e,new Kte),this.sharedNodes.get(e).add(t);let n=t.options.initialPromotionConfig;t.promote({transition:n?n.transition:void 0,preserveFollowOpacity:n&&n.shouldPreserveFollowOpacity?n.shouldPreserveFollowOpacity(t):void 0})}isLead(){let e=this.getStack();return!e||e.lead===this}getLead(){let{layoutId:e}=this.options;return e&&this.getStack()?.lead||this}getPrevLead(){let{layoutId:e}=this.options;return e?this.getStack()?.prevLead:void 0}getStack(){let{layoutId:e}=this.options;if(e)return this.root.sharedNodes.get(e)}promote({needsReset:e,transition:t,preserveFollowOpacity:n}={}){let r=this.getStack();r&&r.promote(this,n),e&&(this.projectionDelta=void 0,this.needsReset=!0),t&&this.setOptions({transition:t})}relegate(){let e=this.getStack();return e?e.relegate(this):!1}resetSkewAndRotation(){let{visualElement:e}=this.options;if(!e)return;let t=!1,{latestValues:n}=e;if((n.z||n.rotate||n.rotateX||n.rotateY||n.rotateZ||n.skewX||n.skewY)&&(t=!0),!t)return;let r={};n.z&&qv(`z`,e,r,this.animationValues);for(let t=0;t<Gv.length;t++)qv(`rotate${Gv[t]}`,e,r,this.animationValues),qv(`skew${Gv[t]}`,e,r,this.animationValues);e.render();for(let t in r)e.setStaticValue(t,r[t]),this.animationValues&&(this.animationValues[t]=r[t]);e.scheduleRender()}getProjectionStyles(e){if(!this.instance||this.isSVG)return;if(!this.isVisible)return $te;let t={visibility:``},n=this.getTransformTemplate();if(this.needsReset)return this.needsReset=!1,t.opacity=``,t.pointerEvents=Hv(e?.pointerEvents)||``,t.transform=n?n(this.latestValues,``):`none`,t;let r=this.getLead();if(!this.projectionDelta||!this.layout||!r.target){let t={};return this.options.layoutId&&(t.opacity=this.latestValues.opacity===void 0?1:this.latestValues.opacity,t.pointerEvents=Hv(e?.pointerEvents)||``),this.hasProjected&&!$_(this.latestValues)&&(t.transform=n?n({},``):`none`,this.hasProjected=!1),t}let i=r.animationValues||r.latestValues;this.applyTransformsToTarget(),t.transform=qte(this.projectionDeltaWithTransform,this.treeScale,i),n&&(t.transform=n(i,t.transform));let{x:a,y:o}=this.projectionDelta;t.transformOrigin=`${a.origin*100}% ${o.origin*100}% 0`,t.opacity=r.animationValues?r===this?i.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:i.opacityExit:r===this?i.opacity===void 0?``:i.opacity:i.opacityExit===void 0?0:i.opacityExit;for(let e in xv){if(i[e]===void 0)continue;let{correct:n,applyTo:a}=xv[e],o=t.transform===`none`?i[e]:n(i[e],r);if(a){let e=a.length;for(let n=0;n<e;n++)t[a[n]]=o}else t[e]=o}return this.options.layoutId&&(t.pointerEvents=r===this?Hv(e?.pointerEvents)||``:`none`),t}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(e=>e.currentAnimation?.stop()),this.root.nodes.forEach(Xv),this.root.sharedNodes.clear()}}}function tne(e){e.updateLayout()}function nne(e){let t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners(`didUpdate`)){let{layoutBox:n,measuredBox:r}=e.layout,{animationType:i}=e.options,a=t.source!==e.layout.source;i===`size`?q_(e=>{let r=a?t.measuredBox[e]:t.layoutBox[e],i=w_(r);r.min=n[e].min,r.max=r.min+i}):ry(i,t.layoutBox,n)&&q_(r=>{let i=a?t.measuredBox[r]:t.layoutBox[r],o=w_(n[r]);i.max=i.min+o,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[r].max=e.relativeTarget[r].min+o)});let o=W_();D_(o,n,t.layoutBox);let s=W_();a?D_(s,e.applyTransform(r,!0),t.measuredBox):D_(s,n,t.layoutBox);let c=!Iv(o),l=!1;if(!e.resumeFrom){let r=e.getClosestProjectingParent();if(r&&!r.resumeFrom){let{snapshot:i,layout:a}=r;if(i&&a){let o=K_();j_(o,t.layoutBox,i.layoutBox);let s=K_();j_(s,n,a.layoutBox),zv(o,s)||(l=!0),r.options.layoutRoot&&(e.relativeTarget=s,e.relativeTargetOrigin=o,e.relativeParent=r)}}}e.notifyListeners(`didUpdate`,{layout:n,snapshot:t,delta:s,layoutDelta:o,hasLayoutChanged:c,hasRelativeTargetChanged:l})}else if(e.isLead()){let{onExitComplete:t}=e.options;t&&t()}e.options.transition=void 0}function rne(e){Wv&&Uv.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty),e.isTransformDirty||=e.parent.isTransformDirty)}function ine(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function ane(e){e.clearSnapshot()}function Xv(e){e.clearMeasurements()}function one(e){e.isLayoutDirty=!1}function sne(e){let{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify(`BeforeLayoutMeasure`),e.resetTransform()}function Zv(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function cne(e){e.resolveTargetDelta()}function lne(e){e.calcProjection()}function une(e){e.resetSkewAndRotation()}function dne(e){e.removeLeadSnapshot()}function Qv(e,t,n){e.translate=Th(t.translate,0,n),e.scale=Th(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function $v(e,t,n,r){e.min=Th(t.min,n.min,r),e.max=Th(t.max,n.max,r)}function fne(e,t,n,r){$v(e.x,t.x,n.x,r),$v(e.y,t.y,n.y,r)}function pne(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}var mne={duration:.45,ease:[.4,0,.1,1]},ey=e=>typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),ty=ey(`applewebkit/`)&&!ey(`chrome/`)?Math.round:vp;function ny(e){e.min=ty(e.min),e.max=ty(e.max)}function hne(e){ny(e.x),ny(e.y)}function ry(e,t,n){return e===`position`||e===`preserve-aspect`&&!T_(Bv(t),Bv(n),.2)}function gne(e){return e!==e.root&&e.scroll?.wasRoot}var _ne=Yv({attachResizeListener:(e,t)=>c_(e,`resize`,t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),iy={current:void 0},ay=Yv({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!iy.current){let e=new _ne({});e.mount(window),e.setOptions({layoutScroll:!0}),iy.current=e}return iy.current},resetTransform:(e,t)=>{e.style.transform=t===void 0?`none`:t},checkIsScrollRoot:e=>window.getComputedStyle(e).position===`fixed`}),vne={pan:{Feature:jte},drag:{Feature:Ate,ProjectionNode:ay,MeasureLayout:Cv}};function oy(e,t,n){let{props:r}=e;e.animationState&&r.whileHover&&e.animationState.setActive(`whileHover`,n===`Start`);let i=r[`onHover`+n];i&&Cp.postRender(()=>i(t,o_(t)))}var yne=class extends zg{mount(){let{current:e}=this.node;e&&(this.unmount=Jg(e,e=>(oy(this.node,e,`Start`),e=>oy(this.node,e,`End`))))}unmount(){}},bne=class extends zg{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(`:focus-visible`)}catch{e=!0}e&&this.node.animationState&&(this.node.animationState.setActive(`whileFocus`,!0),this.isActive=!0)}onBlur(){this.isActive&&this.node.animationState&&(this.node.animationState.setActive(`whileFocus`,!1),this.isActive=!1)}mount(){this.unmount=wh(c_(this.node.current,`focus`,()=>this.onFocus()),c_(this.node.current,`blur`,()=>this.onBlur()))}unmount(){}};function sy(e,t,n){let{props:r}=e;e.animationState&&r.whileTap&&e.animationState.setActive(`whileTap`,n===`Start`);let i=r[`onTap`+(n===`End`?``:n)];i&&Cp.postRender(()=>i(t,o_(t)))}var xne=class extends zg{mount(){let{current:e}=this.node;e&&(this.unmount=i_(e,e=>(sy(this.node,e,`Start`),(e,{success:t})=>sy(this.node,e,t?`End`:`Cancel`)),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}},cy=new WeakMap,ly=new WeakMap,Sne=e=>{let t=cy.get(e.target);t&&t(e)},Cne=e=>{e.forEach(Sne)};function wne({root:e,...t}){let n=e||document;ly.has(n)||ly.set(n,{});let r=ly.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(Cne,{root:e,...t})),r[i]}function Tne(e,t,n){let r=wne(t);return cy.set(e,n),r.observe(e),()=>{cy.delete(e),r.unobserve(e)}}var Ene={some:0,all:1},Dne=class extends zg{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();let{viewport:e={}}=this.node.getProps(),{root:t,margin:n,amount:r=`some`,once:i}=e,a={root:t?t.current:void 0,rootMargin:n,threshold:typeof r==`number`?r:Ene[r]};return Tne(this.node.current,a,e=>{let{isIntersecting:t}=e;if(this.isInView===t||(this.isInView=t,i&&!t&&this.hasEnteredView))return;t&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive(`whileInView`,t);let{onViewportEnter:n,onViewportLeave:r}=this.node.getProps(),a=t?n:r;a&&a(e)})}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>`u`)return;let{props:e,prevProps:t}=this.node;[`amount`,`margin`,`root`].some(One(e,t))&&this.startObserver()}unmount(){}};function One({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}var kne={inView:{Feature:Dne},tap:{Feature:xne},focus:{Feature:bne},hover:{Feature:yne}},Ane={layout:{ProjectionNode:ay,MeasureLayout:Cv}},uy=(0,y.createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:`never`}),dy=(0,y.createContext)({}),fy=typeof window<`u`,py=fy?y.useLayoutEffect:y.useEffect,my=(0,y.createContext)({strict:!1});function jne(e,t,n,r,i){let{visualElement:a}=(0,y.useContext)(dy),o=(0,y.useContext)(my),s=(0,y.useContext)(hv),c=(0,y.useContext)(uy).reducedMotion,l=(0,y.useRef)(null);r||=o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:a,props:n,presenceContext:s,blockInitialAnimation:s?s.initial===!1:!1,reducedMotionConfig:c}));let u=l.current,d=(0,y.useContext)(_v);u&&!u.projection&&i&&(u.type===`html`||u.type===`svg`)&&Mne(l.current,n,i,d);let f=(0,y.useRef)(!1);(0,y.useInsertionEffect)(()=>{u&&f.current&&u.update(n,s)});let p=n[yg],m=(0,y.useRef)(!!p&&!window.MotionHandoffIsComplete?.call(window,p)&&window.MotionHasOptimisedAnimation?.call(window,p));return py(()=>{u&&(f.current=!0,window.MotionIsMounted=!0,u.updateFeatures(),Sv.render(u.render),m.current&&u.animationState&&u.animationState.animateChanges())}),(0,y.useEffect)(()=>{u&&(!m.current&&u.animationState&&u.animationState.animateChanges(),m.current&&=(queueMicrotask(()=>{var e;(e=window.MotionHandoffMarkAsComplete)==null||e.call(window,p)}),!1))}),u}function Mne(e,t,n,r){let{layoutId:i,layout:a,drag:o,dragConstraints:s,layoutScroll:c,layoutRoot:l}=t;e.projection=new n(e.latestValues,t[`data-framer-portal-id`]?void 0:hy(e.parent)),e.projection.setOptions({layoutId:i,layout:a,alwaysMeasureLayout:!!o||s&&y_(s),visualElement:e,animationType:typeof a==`string`?a:`both`,initialPromotionConfig:r,layoutScroll:c,layoutRoot:l})}function hy(e){if(e)return e.options.allowProjection===!1?hy(e.parent):e.projection}function Nne(e,t,n){return(0,y.useCallback)(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n==`function`?n(r):y_(n)&&(n.current=r))},[t])}function gy(e){return tp(e.animate)||lp.some(t=>ip(e[t]))}function _y(e){return!!(gy(e)||e.variants)}function Pne(e,t){if(gy(e)){let{initial:t,animate:n}=e;return{initial:t===!1||ip(t)?t:void 0,animate:ip(n)?n:void 0}}return e.inherit===!1?{}:t}function Fne(e){let{initial:t,animate:n}=Pne(e,(0,y.useContext)(dy));return(0,y.useMemo)(()=>({initial:t,animate:n}),[vy(t),vy(n)])}function vy(e){return Array.isArray(e)?e.join(` `):e}var yy={animation:[`animate`,`variants`,`whileHover`,`whileTap`,`exit`,`whileInView`,`whileFocus`,`whileDrag`],exit:[`exit`],drag:[`drag`,`dragControls`],focus:[`whileFocus`],hover:[`whileHover`,`onHoverStart`,`onHoverEnd`],tap:[`whileTap`,`onTap`,`onTapStart`,`onTapCancel`],pan:[`onPan`,`onPanStart`,`onPanSessionStart`,`onPanEnd`],inView:[`whileInView`,`onViewportEnter`,`onViewportLeave`],layout:[`layout`,`layoutId`]},by={};for(let e in yy)by[e]={isEnabled:t=>yy[e].some(e=>!!t[e])};function Ine(e){for(let t in e)by[t]={...by[t],...e[t]}}var Lne=Symbol.for(`motionComponentSymbol`);function Rne({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&Ine(e);function a(a,o){let s,c={...(0,y.useContext)(uy),...a,layoutId:zne(a)},{isStatic:l}=c,u=Fne(a),d=r(a,l);if(!l&&fy){Bne(c,e);let n=Vne(c);s=n.MeasureLayout,u.visualElement=jne(i,d,c,t,n.ProjectionNode)}return(0,B.jsxs)(dy.Provider,{value:u,children:[s&&u.visualElement?(0,B.jsx)(s,{visualElement:u.visualElement,...c}):null,n(i,a,Nne(d,u.visualElement,o),d,l,u.visualElement)]})}let o=(0,y.forwardRef)(a);return o[Lne]=i,o}function zne({layoutId:e}){let t=(0,y.useContext)(gv).id;return t&&e!==void 0?t+`-`+e:e}function Bne(e,t){(0,y.useContext)(my).strict}function Vne(e){let{drag:t,layout:n}=by;if(!t&&!n)return{};let r={...t,...n};return{MeasureLayout:t?.isEnabled(e)||n?.isEnabled(e)?r.MeasureLayout:void 0,ProjectionNode:r.ProjectionNode}}var Hne=[`animate`,`circle`,`defs`,`desc`,`ellipse`,`g`,`image`,`line`,`filter`,`marker`,`mask`,`metadata`,`path`,`pattern`,`polygon`,`polyline`,`rect`,`stop`,`switch`,`symbol`,`svg`,`text`,`tspan`,`use`,`view`];function xy(e){return typeof e!=`string`||e.includes(`-`)?!1:!!(Hne.indexOf(e)>-1||/[A-Z]/u.test(e))}function Sy(e,{style:t,vars:n},r,i){Object.assign(e.style,t,i&&i.getProjectionStyles(r));for(let t in n)e.style.setProperty(t,n[t])}var Cy=new Set([`baseFrequency`,`diffuseConstant`,`kernelMatrix`,`kernelUnitLength`,`keySplines`,`keyTimes`,`limitingConeAngle`,`markerHeight`,`markerWidth`,`numOctaves`,`targetX`,`targetY`,`surfaceScale`,`specularConstant`,`specularExponent`,`stdDeviation`,`tableValues`,`viewBox`,`gradientTransform`,`pathLength`,`startOffset`,`textLength`,`lengthAdjust`]);function wy(e,t,n,r){Sy(e,t,void 0,r);for(let n in t.attrs)e.setAttribute(Cy.has(n)?n:vg(n),t.attrs[n])}function Ty(e,{layout:t,layoutId:n}){return dp.has(e)||e.startsWith(`origin`)||(t||n!==void 0)&&(!!xv[e]||e===`opacity`)}function Ey(e,t,n){let{style:r}=e,i={};for(let a in r)(xg(r[a])||t.style&&xg(t.style[a])||Ty(a,e)||n?.getValue(a)?.liveStyle!==void 0)&&(i[a]=r[a]);return i}function Dy(e,t,n){let r=Ey(e,t,n);for(let n in e)if(xg(e[n])||xg(t[n])){let t=up.indexOf(n)===-1?n:`attr`+n.charAt(0).toUpperCase()+n.substring(1);r[t]=e[n]}return r}function Oy(e){let t=(0,y.useRef)(null);return t.current===null&&(t.current=e()),t.current}function ky({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,a){let o={latestValues:jy(r,i,a,e),renderState:t()};return n&&(o.mount=e=>n(r,e,o)),o}var Ay=e=>(t,n)=>{let r=(0,y.useContext)(dy),i=(0,y.useContext)(hv),a=()=>ky(e,t,r,i);return n?a():Oy(a)};function jy(e,t,n,r){let i={},a=r(e,{});for(let e in a)i[e]=Hv(a[e]);let{initial:o,animate:s}=e,c=gy(e),l=_y(e);t&&l&&!c&&e.inherit!==!1&&(o===void 0&&(o=t.initial),s===void 0&&(s=t.animate));let u=n?n.initial===!1:!1;u||=o===!1;let d=u?s:o;if(d&&typeof d!=`boolean`&&!tp(d)){let t=Array.isArray(d)?d:[d];for(let n=0;n<t.length;n++){let r=op(e,t[n]);if(r){let{transitionEnd:e,transition:t,...n}=r;for(let e in n){let t=n[e];if(Array.isArray(t)){let e=u?t.length-1:0;t=t[e]}t!==null&&(i[e]=t)}for(let t in e)i[t]=e[t]}}}return i}var My=()=>({style:{},transform:{},transformOrigin:{},vars:{}}),Ny=()=>({...My(),attrs:{}}),Py=(e,t)=>t&&typeof e==`number`?t.transform(e):e,Fy={x:`translateX`,y:`translateY`,z:`translateZ`,transformPerspective:`perspective`},Iy=up.length;function Ly(e,t,n){let r=``,i=!0;for(let a=0;a<Iy;a++){let o=up[a],s=e[o];if(s===void 0)continue;let c=!0;if(c=typeof s==`number`?s===+!!o.startsWith(`scale`):parseFloat(s)===0,!c||n){let e=Py(s,eh[o]);if(!c){i=!1;let t=Fy[o]||o;r+=`${t}(${e}) `}n&&(t[o]=e)}}return r=r.trim(),n?r=n(t,i?``:r):i&&(r=`none`),r}function Ry(e,t,n){let{style:r,vars:i,transformOrigin:a}=e,o=!1,s=!1;for(let e in t){let n=t[e];if(dp.has(e))o=!0;else if(Hp(e))i[e]=n;else{let t=Py(n,eh[e]);e.startsWith(`origin`)?(s=!0,a[e]=t):r[e]=t}}if(t.transform||(o||n?r.transform=Ly(t,e.transform,n):r.transform&&=`none`),s){let{originX:e=`50%`,originY:t=`50%`,originZ:n=0}=a;r.transformOrigin=`${e} ${t} ${n}`}}function zy(e,t,n){return typeof e==`string`?e:rm.transform(t+n*e)}function By(e,t,n){return`${zy(t,e.x,e.width)} ${zy(n,e.y,e.height)}`}var Vy={offset:`stroke-dashoffset`,array:`stroke-dasharray`},Hy={offset:`strokeDashoffset`,array:`strokeDasharray`};function Uy(e,t,n=1,r=0,i=!0){e.pathLength=1;let a=i?Vy:Hy;e[a.offset]=rm.transform(-r);let o=rm.transform(t),s=rm.transform(n);e[a.array]=`${o} ${s}`}function Wy(e,{attrX:t,attrY:n,attrScale:r,originX:i,originY:a,pathLength:o,pathSpacing:s=1,pathOffset:c=0,...l},u,d){if(Ry(e,l,d),u){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};let{attrs:f,style:p,dimensions:m}=e;f.transform&&(m&&(p.transform=f.transform),delete f.transform),m&&(i!==void 0||a!==void 0||p.transform)&&(p.transformOrigin=By(m,i===void 0?.5:i,a===void 0?.5:a)),t!==void 0&&(f.x=t),n!==void 0&&(f.y=n),r!==void 0&&(f.scale=r),o!==void 0&&Uy(f,o,s,c,!1)}var Gy=e=>typeof e==`string`&&e.toLowerCase()===`svg`,Ky={useVisualState:Ay({scrapeMotionValuesFromProps:Dy,createRenderState:Ny,onMount:(e,t,{renderState:n,latestValues:r})=>{Cp.read(()=>{try{n.dimensions=typeof t.getBBox==`function`?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}}),Cp.render(()=>{Wy(n,r,Gy(t.tagName),e.transformTemplate),wy(t,n)})}})},qy={useVisualState:Ay({scrapeMotionValuesFromProps:Ey,createRenderState:My})};function Jy(e,t,n){for(let r in t)!xg(t[r])&&!Ty(r,n)&&(e[r]=t[r])}function Yy({transformTemplate:e},t){return(0,y.useMemo)(()=>{let n=My();return Ry(n,t,e),Object.assign({},n.vars,n.style)},[t])}function Xy(e,t){let n=e.style||{},r={};return Jy(r,n,e),Object.assign(r,Yy(e,t)),r}function Zy(e,t){let n={},r=Xy(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout=`none`,r.touchAction=e.drag===!0?`none`:`pan-${e.drag===`x`?`y`:`x`}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=r,n}var Qy=new Set(`animate.exit.variants.initial.style.values.variants.transition.transformTemplate.custom.inherit.onBeforeLayoutMeasure.onAnimationStart.onAnimationComplete.onUpdate.onDragStart.onDrag.onDragEnd.onMeasureDragConstraints.onDirectionLock.onDragTransitionEnd._dragX._dragY.onHoverStart.onHoverEnd.onViewportEnter.onViewportLeave.globalTapTarget.ignoreStrict.viewport`.split(`.`));function $y(e){return e.startsWith(`while`)||e.startsWith(`drag`)&&e!==`draggable`||e.startsWith(`layout`)||e.startsWith(`onTap`)||e.startsWith(`onPan`)||e.startsWith(`onLayout`)||Qy.has(e)}function eb(e){var t=Object.create(null);return function(n){return t[n]===void 0&&(t[n]=e(n)),t[n]}}var tb=o((()=>{})),nb=c({default:()=>ib}),rb,ib,ab=o((()=>{tb(),rb=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|popover|popoverTarget|popoverTargetAction|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,ib=eb(function(e){return rb.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91})})),ob=e=>!$y(e);function sb(e){e&&(ob=t=>t.startsWith(`on`)?!$y(t):e(t))}try{sb((ab(),d(nb)).default)}catch{}function cb(e,t,n){let r={};for(let i in e)(i!==`values`||typeof e.values!=`object`)&&(ob(i)||n===!0&&$y(i)||!t&&!$y(i)||e.draggable&&i.startsWith(`onDrag`))&&(r[i]=e[i]);return r}function lb(e,t,n,r){let i=(0,y.useMemo)(()=>{let n=Ny();return Wy(n,t,Gy(r),e.transformTemplate),{...n.attrs,style:{...n.style}}},[t]);if(e.style){let t={};Jy(t,e.style,e),i.style={...t,...i.style}}return i}function ub(e=!1){return(t,n,r,{latestValues:i},a)=>{let o=(xy(t)?lb:Zy)(n,i,a,t),s=cb(n,typeof t==`string`,e),c=t===y.Fragment?{}:{...s,...o,ref:r},{children:l}=n,u=(0,y.useMemo)(()=>xg(l)?l.get():l,[l]);return(0,y.createElement)(t,{...c,children:u})}}function db(e,t){return function(n,{forwardMotionProps:r}={forwardMotionProps:!1}){return Rne({...xy(n)?Ky:qy,preloadedFeatures:e,useRender:ub(r),createVisualElement:t,Component:n})}}var fb={current:null},pb={current:!1};function mb(){if(pb.current=!0,fy){if(window.matchMedia){let e=window.matchMedia(`(prefers-reduced-motion)`),t=()=>fb.current=e.matches;e.addListener(t),t()}else fb.current=!1}}function hb(e,t,n){for(let r in t){let i=t[r],a=n[r];if(xg(i))e.addValue(r,i);else if(xg(a))e.addValue(r,hg(i,{owner:e}));else if(a!==i){if(e.hasValue(r)){let t=e.getValue(r);t.liveStyle===!0?t.jump(i):t.hasAnimated||t.set(i)}else{let t=e.getStaticValue(r);e.addValue(r,hg(t===void 0?i:t,{owner:e}))}}}for(let r in n)t[r]===void 0&&e.removeValue(r);return t}var gb=new WeakMap,_b=[...gm,Lm,Zm],vb=e=>_b.find(hm(e)),yb=[`AnimationStart`,`AnimationComplete`,`Update`,`BeforeLayoutMeasure`,`LayoutMeasure`,`LayoutAnimationStart`,`LayoutAnimationComplete`],bb=class{scrapeMotionValuesFromProps(e,t,n){return{}}constructor({parent:e,props:t,presenceContext:n,reducedMotionConfig:r,blockInitialAnimation:i,visualState:a},o={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=wm,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify(`Update`,this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{let e=oh.now();this.renderScheduledAt<e&&(this.renderScheduledAt=e,Cp.render(this.render,!1,!0))};let{latestValues:s,renderState:c}=a;this.latestValues=s,this.baseTarget={...s},this.initialValues=t.initial?{...s}:{},this.renderState=c,this.parent=e,this.props=t,this.presenceContext=n,this.depth=e?e.depth+1:0,this.reducedMotionConfig=r,this.options=o,this.blockInitialAnimation=!!i,this.isControllingVariants=gy(t),this.isVariantNode=_y(t),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(e&&e.current);let{willChange:l,...u}=this.scrapeMotionValuesFromProps(t,{},this);for(let e in u){let t=u[e];s[e]!==void 0&&xg(t)&&t.set(s[e],!1)}}mount(e){this.current=e,gb.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((e,t)=>this.bindToMotionValue(t,e)),pb.current||mb(),this.shouldReduceMotion=this.reducedMotionConfig===`never`?!1:this.reducedMotionConfig===`always`||fb.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){gb.delete(this.current),this.projection&&this.projection.unmount(),wp(this.notifyUpdate),wp(this.render),this.valueSubscriptions.forEach(e=>e()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(let e in this.events)this.events[e].clear();for(let e in this.features){let t=this.features[e];t&&(t.unmount(),t.isMounted=!1)}this.current=null}bindToMotionValue(e,t){this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)();let n=dp.has(e),r=t.on(`change`,t=>{this.latestValues[e]=t,this.props.onUpdate&&Cp.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0)}),i=t.on(`renderRequest`,this.scheduleRender),a;window.MotionCheckAppearSync&&(a=window.MotionCheckAppearSync(this,e,t)),this.valueSubscriptions.set(e,()=>{r(),i(),a&&a(),t.owner&&t.stop()})}sortNodePosition(e){return!this.current||!this.sortInstanceNodePosition||this.type!==e.type?0:this.sortInstanceNodePosition(this.current,e.current)}updateFeatures(){let e=`animation`;for(e in by){let t=by[e];if(!t)continue;let{isEnabled:n,Feature:r}=t;if(!this.features[e]&&r&&n(this.props)&&(this.features[e]=new r(this)),this.features[e]){let t=this.features[e];t.isMounted?t.update():(t.mount(),t.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):K_()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,t){this.latestValues[e]=t}update(e,t){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=t;for(let t=0;t<yb.length;t++){let n=yb[t];this.propEventSubscriptions[n]&&(this.propEventSubscriptions[n](),delete this.propEventSubscriptions[n]);let r=e[`on`+n];r&&(this.propEventSubscriptions[n]=this.on(n,r))}this.prevMotionValues=hb(this,this.scrapeMotionValuesFromProps(e,this.prevProps,this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(e){return this.props.variants?this.props.variants[e]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(e){let t=this.getClosestVariantNode();if(t)return t.variantChildren&&t.variantChildren.add(e),()=>t.variantChildren.delete(e)}addValue(e,t){let n=this.values.get(e);t!==n&&(n&&this.removeValue(e),this.bindToMotionValue(e,t),this.values.set(e,t),this.latestValues[e]=t.get())}removeValue(e){this.values.delete(e);let t=this.valueSubscriptions.get(e);t&&(t(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,t){if(this.props.values&&this.props.values[e])return this.props.values[e];let n=this.values.get(e);return n===void 0&&t!==void 0&&(n=hg(t===null?void 0:t,{owner:this}),this.addValue(e,n)),n}readValue(e,t){let n=this.latestValues[e]!==void 0||!this.current?this.latestValues[e]:this.getBaseTargetFromProps(this.props,e)??this.readValueFromInstance(this.current,e,this.options);return n!=null&&(typeof n==`string`&&(Bp(n)||Rp(n))?n=parseFloat(n):!vb(n)&&Zm.test(t)&&(n=nh(e,t)),this.setBaseTarget(e,xg(n)?n.get():n)),xg(n)?n.get():n}setBaseTarget(e,t){this.baseTarget[e]=t}getBaseTarget(e){let{initial:t}=this.props,n;if(typeof t==`string`||typeof t==`object`){let r=op(this.props,t,this.presenceContext?.custom);r&&(n=r[e])}if(t&&n!==void 0)return n;let r=this.getBaseTargetFromProps(this.props,e);return r!==void 0&&!xg(r)?r:this.initialValues[e]!==void 0&&n===void 0?void 0:this.baseTarget[e]}on(e,t){return this.events[e]||(this.events[e]=new ug),this.events[e].add(t)}notify(e,...t){this.events[e]&&this.events[e].notify(...t)}},xb=class extends bb{constructor(){super(...arguments),this.KeyframeResolver=rh}sortInstanceNodePosition(e,t){return e.compareDocumentPosition(t)&2?1:-1}getBaseTargetFromProps(e,t){return e.style?e.style[t]:void 0}removeValueFromRenderState(e,{vars:t,style:n}){delete t[e],delete n[e]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);let{children:e}=this.props;xg(e)&&(this.childSubscription=e.on(`change`,e=>{this.current&&(this.current.textContent=`${e}`)}))}};function Sb(e){return window.getComputedStyle(e)}var Cb=class extends xb{constructor(){super(...arguments),this.type=`html`,this.renderInstance=Sy}readValueFromInstance(e,t){if(dp.has(t)){let e=th(t);return e&&e.default||0}{let n=Sb(e),r=(Hp(t)?n.getPropertyValue(t):n[t])||0;return typeof r==`string`?r.trim():r}}measureInstanceViewportBox(e,{transformPagePoint:t}){return dv(e,t)}build(e,t,n){Ry(e,t,n.transformTemplate)}scrapeMotionValuesFromProps(e,t,n){return Ey(e,t,n)}},wb=class extends xb{constructor(){super(...arguments),this.type=`svg`,this.isSVGTag=!1,this.measureInstanceViewportBox=K_}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){if(dp.has(t)){let e=th(t);return e&&e.default||0}return t=Cy.has(t)?t:vg(t),e.getAttribute(t)}scrapeMotionValuesFromProps(e,t,n){return Dy(e,t,n)}build(e,t,n){Wy(e,t,this.isSVGTag,n.transformTemplate)}renderInstance(e,t,n,r){wy(e,t,n,r)}mount(e){this.isSVGTag=Gy(e.tagName),super.mount(e)}},Tb=(e,t)=>xy(e)?new wb(t):new Cb(t,{allowProjection:e!==y.Fragment}),q=ep(db({...Hg,...kne,...vne,...Ane},Tb)),Eb=class extends y.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if(t&&e.isPresent&&!this.props.isPresent){let e=this.props.sizeRef.current;e.height=t.offsetHeight||0,e.width=t.offsetWidth||0,e.top=t.offsetTop,e.left=t.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}};function Db({children:e,isPresent:t}){let n=(0,y.useId)(),r=(0,y.useRef)(null),i=(0,y.useRef)({width:0,height:0,top:0,left:0}),{nonce:a}=(0,y.useContext)(uy);return(0,y.useInsertionEffect)(()=>{let{width:e,height:o,top:s,left:c}=i.current;if(t||!r.current||!e||!o)return;r.current.dataset.motionPopId=n;let l=document.createElement(`style`);return a&&(l.nonce=a),document.head.appendChild(l),l.sheet&&l.sheet.insertRule(`
          [data-motion-pop-id="${n}"] {
            position: absolute !important;
            width: ${e}px !important;
            height: ${o}px !important;
            top: ${s}px !important;
            left: ${c}px !important;
          }
        `),()=>{document.head.removeChild(l)}},[t]),(0,B.jsx)(Eb,{isPresent:t,childRef:r,sizeRef:i,children:y.cloneElement(e,{ref:r})})}var Ob=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:a,mode:o})=>{let s=Oy(kb),c=(0,y.useId)(),l=(0,y.useCallback)(e=>{s.set(e,!0);for(let e of s.values())if(!e)return;r&&r()},[s,r]),u=(0,y.useMemo)(()=>({id:c,initial:t,isPresent:n,custom:i,onExitComplete:l,register:e=>(s.set(e,!1),()=>s.delete(e))}),a?[Math.random(),l]:[n,l]);return(0,y.useMemo)(()=>{s.forEach((e,t)=>s.set(t,!1))},[n]),y.useEffect(()=>{!n&&!s.size&&r&&r()},[n]),o===`popLayout`&&(e=(0,B.jsx)(Db,{isPresent:n,children:e})),(0,B.jsx)(hv.Provider,{value:u,children:e})};function kb(){return new Map}var Ab=e=>e.key||``;function jb(e){let t=[];return y.Children.forEach(e,e=>{(0,y.isValidElement)(e)&&t.push(e)}),t}var Mb=({children:e,exitBeforeEnter:t,custom:n,initial:r=!0,onExitComplete:i,presenceAffectsLayout:a=!0,mode:o=`sync`})=>{bp(!t,`Replace exitBeforeEnter with mode='wait'`);let s=(0,y.useMemo)(()=>jb(e),[e]),c=s.map(Ab),l=(0,y.useRef)(!0),u=(0,y.useRef)(s),d=Oy(()=>new Map),[f,p]=(0,y.useState)(s),[m,h]=(0,y.useState)(s);py(()=>{l.current=!1,u.current=s;for(let e=0;e<m.length;e++){let t=Ab(m[e]);c.includes(t)?d.delete(t):d.get(t)!==!0&&d.set(t,!1)}},[m,c.length,c.join(`-`)]);let g=[];if(s!==f){let e=[...s];for(let t=0;t<m.length;t++){let n=m[t],r=Ab(n);c.includes(r)||(e.splice(t,0,n),g.push(n))}o===`wait`&&g.length&&(e=g),h(jb(e)),p(s);return}let{forceRender:_}=(0,y.useContext)(gv);return(0,B.jsx)(B.Fragment,{children:m.map(e=>{let t=Ab(e),f=s===m||c.includes(t);return(0,B.jsx)(Ob,{isPresent:f,initial:!l.current||r?void 0:!1,custom:f?void 0:n,presenceAffectsLayout:a,mode:o,onExitComplete:f?void 0:()=>{if(d.has(t))d.set(t,!0);else return;let e=!0;d.forEach(t=>{t||(e=!1)}),e&&(_?.(),h(u.current),i&&i())},children:e},t)})})},Nb=[{id:`bc`,name:`BritishColumbiaCoastal.com`,title:`British Columbia`,description:`Explore the rugged coastlines, pristine islands, and wild beauty of BC.`,url:`https://britishcolumbiacoastal.com/`,dotPos:{top:`15%`,left:`45%`}},{id:`puget`,name:`PugetSoundCoastal.com`,title:`Puget Sound`,description:`Discover the islands, inlets, and maritime culture of the Sound.`,url:`https://pugetsoundcoastal.com`,dotPos:{top:`35%`,left:`60%`}},{id:`wa`,name:`WashingtonCoastal.com`,title:`Washington Coast`,description:`Experience dramatic sea stacks, temperate rainforests, and endless beaches.`,url:`https://washingtoncoastal.com`,dotPos:{top:`45%`,left:`35%`}},{id:`or`,name:`OregonCoastal.com`,title:`Oregon Coast`,description:`Journey through iconic vistas, historic lighthouses, and coastal towns.`,url:`https://oregoncoastal.com`,dotPos:{top:`75%`,left:`30%`}},{id:`waterfalls`,name:`WaterfallsOregon.com`,title:`Oregon Waterfalls`,description:`Discover the hidden gems and cascading beauty of inland Oregon waterfalls.`,url:`https://waterfallsoregon.com`,dotPos:{top:`70%`,left:`50%`}},{id:`whalewatching`,name:`WhaleWatching.live`,title:`Whale Watching Live`,description:`Track live whale sightings, hydrophones, and alerts across the Pacific Northwest coast.`,url:`https://whalewatching.live`},{id:`lighthouses`,name:`PNWLighthouses.com`,title:`PNW Lighthouses`,description:`Explore 66 historic lighthouses along the Oregon, Washington, and British Columbia coasts.`,url:`https://pnwlighthouses.com`},{id:`trains`,name:`PNWScenicTrains.com`,title:`PNW Scenic Trains`,description:`Scenic train rides, heritage railways, and rail journeys across the Pacific Northwest.`,url:`https://pnwscenictrains.com`}],Pb=[{id:`cascadia`,name:`cascadiazone.com`,title:`CASCADIA ZONE`,description:`Outfit your next adventure with premium lifestyle apparel inspired by the wild Pacific Northwest.`,url:`https://cascadiazone.com`},{id:`paperly`,name:`thepaperlyco.com`,title:`PAPERLY CO.`,description:`Browse beautifully crafted art prints, stationery, and minimalist designs inspired by nature.`,url:`https://thepaperlyco.com`},{id:`fungi`,name:`fungiemporium.com`,title:`FUNGI EMPORIUM`,description:`Delve into the forest floor with unique goods and accessories celebrating mycology and foraging.`,url:`https://fungiemporium.com`}],Fb=()=>{let[e,t]=(0,y.useState)(!1),[n,r]=(0,y.useState)(`explore`),[i,a]=(0,y.useState)(null),o=(0,y.useRef)(null);return(0,y.useEffect)(()=>{let n=e=>{o.current&&!o.current.contains(e.target)&&t(!1)},r=e=>{e.key===`Escape`&&t(!1)};return e&&(document.addEventListener(`mousedown`,n),document.addEventListener(`keydown`,r)),()=>{document.removeEventListener(`mousedown`,n),document.removeEventListener(`keydown`,r)}},[e]),(0,B.jsxs)(`div`,{className:`fixed bottom-4 right-4 md:bottom-auto md:top-[24px] md:right-4 z-[100] flex flex-col items-end`,children:[(0,B.jsxs)(`button`,{onClick:()=>t(!e),className:`rounded-full h-14 w-14 md:h-12 md:w-auto px-0 md:px-4 shadow-lg bg-blue-600 text-white hover:bg-blue-700 flex items-center justify-center gap-2 transition-transform hover:scale-105 z-[101] outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2`,"aria-expanded":e,"aria-haspopup":`true`,"aria-label":`Toggle Regional Destinations`,children:[(0,B.jsx)(oo,{className:`w-6 h-6 md:w-5 md:h-5`}),(0,B.jsx)(`span`,{className:`hidden md:inline font-medium`,children:`Explore PNW`})]}),(0,B.jsx)(Mb,{children:e&&(0,B.jsxs)(q.div,{ref:o,initial:{opacity:0,y:15,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:15,scale:.95},transition:{duration:.2,ease:`easeOut`},className:`absolute bottom-20 md:bottom-auto md:top-14 right-0 w-[calc(100vw-2rem)] max-w-[calc(100vw-2rem)] sm:w-[380px] md:w-[950px] md:max-w-5xl bg-white rounded-2xl shadow-2xl border border-gray-200 flex flex-col max-h-[75vh] md:max-h-[85vh] origin-bottom-right md:origin-top-right overflow-hidden z-[102]`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-center px-4 py-3 border-b border-gray-100 bg-gray-50/50 flex-shrink-0`,children:[(0,B.jsxs)(`h2`,{className:`text-lg md:text-xl font-serif font-bold text-blue-800 flex items-center gap-2 truncate`,children:[(0,B.jsx)(wo,{className:`w-5 h-5 flex-shrink-0`}),` `,(0,B.jsx)(`span`,{className:`truncate`,children:`Pacific Northwest`})]}),(0,B.jsx)(`button`,{onClick:()=>t(!1),className:`h-11 w-11 md:h-8 md:w-8 text-gray-500 hover:text-gray-900 hover:bg-gray-100 rounded-full flex items-center justify-center flex-shrink-0 transition-colors outline-none focus:ring-2 focus:ring-blue-500`,"aria-label":`Close widget`,children:(0,B.jsx)(ls,{className:`w-6 h-6 md:w-5 md:h-5`})})]}),(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row overflow-y-auto overflow-x-hidden`,style:{scrollbarWidth:`thin`},children:[(0,B.jsx)(`div`,{className:`w-full md:w-[60%] relative bg-blue-50/20 p-4 md:p-6 flex items-center justify-center border-b md:border-b-0 md:border-r border-gray-100 min-h-[260px] md:min-h-[550px] flex-shrink-0`,children:(0,B.jsxs)(`div`,{className:`relative w-full max-w-[260px] md:max-w-[500px] aspect-[3/4] mx-auto rounded-xl overflow-hidden shadow-sm border border-gray-200/50 bg-white`,children:[(0,B.jsx)(`img`,{src:`https://horizons-cdn.hostinger.com/53bdac05-f4b5-4d91-861a-bb0bd4d29cfa/b36c12359c0d442619f526556769e4bf.webp`,alt:`Watercolor map of the Pacific Northwest`,className:`w-full h-full object-cover object-center opacity-95 hover:opacity-100 transition-opacity duration-300 pointer-events-none select-none`}),Nb.filter(e=>e.dotPos).map(e=>(0,B.jsxs)(`div`,{className:`absolute group`,style:{top:e.dotPos.top,left:e.dotPos.left},onMouseEnter:()=>n===`explore`&&a(e.id),onMouseLeave:()=>a(null),onClick:()=>{n!==`explore`&&r(`explore`),a(e.id)},children:[(0,B.jsxs)(`div`,{className:`relative flex items-center justify-center w-11 h-11 md:w-12 md:h-12 -ml-[22px] -mt-[22px] md:-ml-6 md:-mt-6 cursor-pointer transition-transform duration-300 ${i===e.id&&n===`explore`?`scale-110 z-10`:`scale-100 z-0`}`,children:[(0,B.jsx)(`div`,{className:`absolute w-6 h-6 md:w-8 md:h-8 rounded-full animate-ping opacity-30 ${e.id===`or`||e.id===`waterfalls`?`bg-blue-800`:`bg-blue-600`}`}),(0,B.jsx)(H,{className:`w-6 h-6 md:w-8 md:h-8 drop-shadow-lg relative z-10 ${i===e.id||e.id===`or`||e.id===`waterfalls`?`text-blue-800 fill-blue-800/20`:`text-slate-800 fill-white`}`})]}),(0,B.jsx)(`div`,{className:`absolute left-1/2 -translate-x-1/2 mt-0 px-3 py-1.5 bg-gray-900/90 backdrop-blur-sm text-white text-xs font-medium rounded-md whitespace-nowrap transition-opacity pointer-events-none shadow-lg z-20 ${i===e.id&&n===`explore`?`opacity-100`:`opacity-0`}`,children:e.title})]},e.id))]})}),(0,B.jsxs)(`div`,{className:`w-full md:w-[40%] bg-white flex flex-col h-[550px]`,children:[(0,B.jsxs)(`div`,{className:`flex border-b border-gray-100 p-2 gap-2 bg-gray-50/30`,children:[(0,B.jsxs)(`button`,{onClick:()=>r(`explore`),className:`flex-1 flex items-center justify-center gap-2 py-2 px-4 rounded-lg font-medium text-sm transition-all duration-200 ${n===`explore`?`bg-blue-50 text-blue-700 shadow-sm border border-blue-100/50`:`text-gray-500 hover:text-gray-700 hover:bg-gray-100 border border-transparent`}`,children:[(0,B.jsx)(Xa,{className:`w-4 h-4`}),` Explore`]}),(0,B.jsxs)(`button`,{onClick:()=>r(`shop`),className:`flex-1 flex items-center justify-center gap-2 py-2 px-4 rounded-lg font-medium text-sm transition-all duration-200 ${n===`shop`?`bg-blue-50 text-blue-700 shadow-sm border border-blue-100/50`:`text-gray-500 hover:text-gray-700 hover:bg-gray-100 border border-transparent`}`,children:[(0,B.jsx)(Uo,{className:`w-4 h-4`}),` Shop`]})]}),(0,B.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4 md:p-5`,style:{scrollbarWidth:`thin`},children:(0,B.jsx)(Mb,{mode:`wait`,children:n===`explore`?(0,B.jsxs)(q.div,{initial:{opacity:0,x:-10},animate:{opacity:1,x:0},exit:{opacity:0,x:10},transition:{duration:.2},className:`flex flex-col gap-3`,children:[(0,B.jsx)(`p`,{className:`text-sm text-gray-600 mb-2 md:mb-1`,children:`Select a region to explore our network of travel guides.`}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-3 md:gap-3 pb-4 md:pb-0`,children:Nb.map(e=>(0,B.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`block p-4 rounded-xl border transition-all duration-300 group relative overflow-hidden focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 ${i===e.id?`border-blue-600 shadow-md bg-blue-50 md:scale-[1.02]`:`border-gray-200 hover:border-blue-300 hover:bg-gray-50 shadow-sm`}`,onMouseEnter:()=>a(e.id),onMouseLeave:()=>a(null),children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-start mb-1.5`,children:[(0,B.jsx)(`h3`,{className:`font-serif font-bold text-base md:text-lg text-gray-900 group-hover:text-blue-700 transition-colors leading-tight`,children:e.title}),(0,B.jsx)($a,{className:`w-4 h-4 mt-0.5 transition-colors ${i===e.id?`text-blue-600`:`text-gray-400`}`})]}),(0,B.jsx)(`p`,{className:`text-[11px] md:text-xs font-bold text-blue-600/80 mb-2 uppercase tracking-wider`,children:e.name}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600 leading-relaxed group-hover:text-gray-900 transition-colors`,children:e.description})]},e.id))})]},`explore`):(0,B.jsxs)(q.div,{initial:{opacity:0,x:10},animate:{opacity:1,x:0},exit:{opacity:0,x:-10},transition:{duration:.2},className:`flex flex-col gap-3`,children:[(0,B.jsx)(`p`,{className:`text-sm text-gray-600 mb-2 md:mb-1`,children:`Shop our collection of Pacific Northwest apparel, art, and gear.`}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-3 md:gap-3 pb-4 md:pb-0`,children:Pb.map(e=>(0,B.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`block p-4 rounded-xl border border-gray-200 hover:border-blue-300 hover:bg-gray-50 shadow-sm transition-all duration-300 group relative overflow-hidden focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 hover:shadow-md hover:scale-[1.02]`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-start mb-1.5`,children:[(0,B.jsx)(`h3`,{className:`font-serif font-bold text-base md:text-lg text-gray-900 group-hover:text-blue-700 transition-colors leading-tight`,children:e.title}),(0,B.jsx)($a,{className:`w-4 h-4 mt-0.5 text-gray-400 group-hover:text-blue-600 transition-colors`})]}),(0,B.jsx)(`p`,{className:`text-[11px] md:text-xs font-bold text-blue-600/80 mb-2 uppercase tracking-wider`,children:e.name}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600 leading-relaxed group-hover:text-gray-900 transition-colors`,children:e.description})]},e.id))})]},`shop`)})})]})]})]})})]})};function Ib(){let{messages:e,addMessage:t,answers:n,updateAnswer:r,chatState:i,setChatState:a,resetChat:o}=lf();return{handleUserResponse:(s,c=null,l=null)=>{window.dataLayer&&window.dataLayer.push({event:`chat_message_sent`,message_count:e.length+1}),t({sender:`user`,text:s}),setTimeout(()=>{let e=i;if(i===`ASK_START`){let n=c;if(!n){let e=sf(s);if(e)n=e;else{t({sender:`ai`,text:`I couldn't recognize "${s.trim()}" as an Oregon Coast town or starting point. Try typing a coast town name like "Brookings", "Cannon Beach", or "Newport", or pick a starting point from the options above.`});return}}r(`start`,n),typeof window.gtag==`function`&&window.gtag(`event`,`chat_question_answered`,{question_step:1,question_name:`start_location`,answer_value:n}),t({sender:`ai`,text:`Got it! How many days do you have for this trip? (e.g., 1-2, 3-4, 5-7, 7+)`}),e=`ASK_DAYS`}else if(i===`ASK_DAYS`){let n=c||s;r(`days`,n),typeof window.gtag==`function`&&window.gtag(`event`,`chat_question_answered`,{question_step:2,question_name:`days`,answer_value:n}),t({sender:`ai`,text:`Perfect. And what kind of vibe are you looking for? (Adventure, Relaxing, Foodie, Family, Photography)`}),e=`ASK_TYPE`}else if(i===`ASK_TYPE`){let i=c||s;r(`type`,i),typeof window.gtag==`function`&&window.gtag(`event`,`chat_question_answered`,{question_step:3,question_name:`trip_type`,answer_value:i});let a={...n,type:i},{towns:o,numDays:l,validationMessage:u}=_ee(a.start,a.days,a.type);typeof window.gtag==`function`&&window.gtag(`event`,`chat_itinerary_generated`,{start_location:a.start,trip_days:a.days,trip_type:a.type,stop_count:o.length,stops:o.map(e=>e.name).join(`, `)});let d=o.map(e=>encodeURIComponent(e.name)).join(`,`),f=o.map(e=>e.name).join(`, `),p=``;u&&(p+=`*Note: ${u}*\n\n`),p+=`Based on your choices, ${o[0]?.name||`the coast`} to ${o[o.length-1]?.name||`the south`} is a great ${l}-day drive! Here is a recommended breakdown with driving times:\n\n`,o.forEach((e,t)=>{if(p+=`Day 1: ${e.name} (emphasizing ${e.highlights}).\n`,t<o.length-1){let n=nf(e.id,o[t+1].id);n&&(p+=`   🚗 Drive time to next stop: ~${n}\n`)}}),p+=`
Want to save this as your personal Trip Scrapbook? I'll pre-load everything for you.`,t({sender:`ai`,text:p,action:{type:`build_scrapbook`,label:`Build My Scrapbook`,url:`https://mypnwtrip.com/setup?location=${d}&days=${l}&utm_source=oregoncoastal.com&utm_medium=trip_chat&utm_campaign=scrapbook_handoff`,handoff:{location:o[0]?.name||``,days:l},trackingData:{location:f,start_location:a.start,trip_days:a.days,trip_type:a.type,stop_count:o.length}}}),e=`DONE`}else if(i===`DONE`){if(s.toLowerCase().includes(`restart`)||s.toLowerCase().includes(`reset`)||s.toLowerCase().includes(`start over`)){o();return}t({sender:`ai`,text:`Enjoy your trip! Type 'start over' if you want to plan a different route.`})}a(e)},800)},getQuickSelectOptions:()=>{switch(i){case`ASK_START`:return Xd;case`ASK_DAYS`:return Zd;case`ASK_TYPE`:return Qd;default:return[]}}}}var Lb=({message:e,onAction:t,actionPending:n=!1})=>{let r=e.sender===`ai`,i=e=>{e.type===`build_scrapbook`&&window.dataLayer&&window.dataLayer.push({event:`scrapbook_conversion`,destination:`mypnwtrip.com`,trip_location:e.trackingData?.location||`Unknown`}),t?t(e):e.type!==`build_scrapbook`&&window.open(e.url,`_blank`)};return(0,B.jsx)(q.div,{initial:{opacity:0,y:10,scale:.95},animate:{opacity:1,y:0,scale:1},className:z(`flex w-full mb-4`,r?`justify-start`:`justify-end`),children:(0,B.jsxs)(`div`,{className:z(`flex max-w-[85%] items-end gap-2`,r?`flex-row`:`flex-row-reverse`),children:[(0,B.jsx)(`div`,{className:z(`w-8 h-8 rounded-full flex items-center justify-center flex-shrink-0 shadow-sm`,r?`bg-[hsl(var(--chat-secondary))] text-[hsl(var(--chat-text))]`:`bg-[hsl(var(--chat-primary))] text-white`),children:r?(0,B.jsx)(ka,{size:16}):(0,B.jsx)(es,{size:16})}),(0,B.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,B.jsx)(`div`,{className:z(`px-4 py-3 rounded-2xl text-sm leading-relaxed shadow-sm`,r?`bg-white text-[hsl(var(--chat-text))] border border-[hsl(var(--chat-border))] rounded-bl-none`:`bg-[hsl(var(--chat-primary))] text-white rounded-br-none`),children:(0,B.jsx)(`div`,{className:`whitespace-pre-wrap`,children:e.text})}),e.action&&(0,B.jsxs)(`button`,{onClick:t=>{t.stopPropagation(),i(e.action)},disabled:n,"aria-disabled":n,className:`flex items-center justify-center gap-2 px-4 py-2 bg-[hsl(var(--chat-accent))] text-[hsl(var(--chat-text))] font-bold text-xs uppercase tracking-widest rounded-full hover:bg-[hsl(var(--chat-accent))/0.8] transition-all shadow-md active:scale-95 self-start disabled:opacity-60 disabled:cursor-not-allowed disabled:active:scale-100`,children:[n?(0,B.jsx)(bo,{size:12,className:`animate-spin`}):(0,B.jsx)($a,{size:12}),e.action.label]})]})]})})},Rb=({options:e,onSelect:t})=>!e||e.length===0?null:(0,B.jsx)(q.div,{initial:{opacity:0},animate:{opacity:1},transition:{delay:.5,duration:.3},className:`flex flex-wrap gap-2 p-4 bg-[hsl(var(--chat-background))] border-t border-[hsl(var(--chat-border))]`,children:e.map(e=>(0,B.jsx)(`button`,{onClick:()=>t(e),className:`px-4 py-2 rounded-full text-xs font-medium border border-[hsl(var(--chat-primary))] text-[hsl(var(--chat-primary))] hover:bg-[hsl(var(--chat-primary))] hover:text-white transition-colors`,children:e.label},e.id))}),zb=()=>{let{isOpen:e,setIsOpen:t,messages:n,chatState:r,answers:i,addMessage:a}=lf(),{savedItems:o,toggleBookmark:s,pendingId:c,createMypnwtripHandoff:l}=Of(),{handleUserResponse:u,getQuickSelectOptions:d}=Ib(),[f,p]=(0,y.useState)(``),[m,h]=(0,y.useState)(!1),g=(0,y.useRef)(null),_=(0,y.useRef)(o);_.current=o;let v=()=>{g.current?.scrollIntoView({behavior:`smooth`})};(0,y.useEffect)(()=>{e&&v()},[n,e]),(0,y.useEffect)(()=>{let e=()=>t(!0);return window.addEventListener(`cacoon:view-my-trip`,e),()=>window.removeEventListener(`cacoon:view-my-trip`,e)},[t]);let b=()=>{typeof window.gtag==`function`&&window.gtag(`event`,`chat_opened`),window.dataLayer&&window.dataLayer.push({event:`chat_opened`,chat_name:`Oregon Coastal Concierge`}),t(!0)},x=()=>{if(r!==`DONE`){let e=0;i.type?e=3:i.days?e=2:i.start&&(e=1),typeof window.gtag==`function`&&window.gtag(`event`,`chat_abandoned`,{last_step_completed:e})}t(!1)},S=e=>{let t=e.target.closest(`a, button`);if(t&&(t.tagName===`A`&&t.href&&t.href.includes(`mypnwtrip.com`)||t.textContent&&t.textContent.includes(`Build My Scrapbook`))&&typeof window.gtag==`function`){let e=n.find(e=>e.action&&e.action.type===`build_scrapbook`),r=e?.action?.trackingData||{};window.gtag(`event`,`chat_scrapbook_click`,{start_location:r.start_location||i.start||``,trip_days:r.trip_days||i.days||``,trip_type:r.trip_type||i.type||``,stop_count:r.stop_count||0,destination_url:t.href||e?.action?.url||``,source_site:`oregoncoastal.com`})}},C=e=>{e.preventDefault(),f.trim()&&(u(f),p(``))},w=e=>{u(e.label,e.id,e.label)},T=async e=>{if(e.type!==`build_scrapbook`){e.url&&window.open(e.url,`_blank`);return}let t=_.current;if(!t||t.length===0)try{let e=localStorage.getItem(`cacoon_saved_object_ids`);if(e){let n=JSON.parse(e);Array.isArray(n)&&(t=n)}}catch{}if(t||=[],typeof window.gtag==`function`){let n=e.trackingData||{};window.gtag(`event`,`chat_scrapbook_click`,{start_location:n.start_location||i.start||``,trip_days:n.trip_days||i.days||``,trip_type:n.trip_type||i.type||``,stop_count:n.stop_count||0,destination_url:e.url||``,source_site:`oregoncoastal.com`,has_saved_items:t.length>0})}if(t.length===0){window.open(e.url,`_blank`);return}let{location:n,days:r}=e.handoff||{};if(!n){a({sender:`ai`,text:`I couldn't determine your trip's starting town for the handoff. Please plan a route first, then try again.`});return}let o=null;try{o=window.open(`about:blank`,`_blank`)}catch{o=null}h(!0);try{let e=await l(n,r);o&&!o.closed?(o.location.href=e,o.focus()):window.location.href=e}catch(e){try{o&&!o.closed&&o.close()}catch{}a({sender:`ai`,text:`I couldn't start your MyPNWTrip scrapbook handoff right now: ${e?.message||`the request failed`}. Your saved places are still here on OregonCoastal — please try again in a moment.`})}finally{h(!1)}},E=d();return(0,B.jsxs)(`div`,{className:`fixed bottom-4 right-4 md:bottom-6 md:right-6 z-[9999] flex flex-col items-end font-sans`,children:[(0,B.jsx)(Mb,{children:!e&&(0,B.jsxs)(q.button,{initial:{scale:0,opacity:0},animate:{scale:1,opacity:1},exit:{scale:0,opacity:0},whileHover:{scale:1.05},whileTap:{scale:.95},onClick:b,className:`flex items-center gap-2 px-5 py-3 md:h-14 md:w-auto rounded-full bg-[hsl(var(--chat-primary))] text-white shadow-xl hover:shadow-2xl transition-all`,children:[(0,B.jsx)(wo,{size:24}),(0,B.jsx)(`span`,{className:`font-semibold text-sm md:text-base whitespace-nowrap`,children:`Plan My Trip`})]})}),(0,B.jsx)(Mb,{children:e&&(0,B.jsxs)(q.div,{initial:{opacity:0,y:20,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:20,scale:.95},transition:{duration:.2},className:`absolute bottom-0 right-0 w-[calc(100vw-2rem)] sm:w-[420px] h-[65vh] max-h-[600px] min-h-[450px] bg-[hsl(var(--chat-background))] rounded-2xl shadow-2xl flex flex-col overflow-hidden border border-[hsl(var(--chat-border))] origin-bottom-right`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between px-5 py-4 bg-[hsl(var(--chat-primary))] text-white flex-shrink-0`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(wo,{size:20}),(0,B.jsx)(`h3`,{className:`font-serif font-bold text-lg tracking-wide uppercase`,children:`Trip Planner AI`})]}),(0,B.jsx)(`button`,{onClick:x,className:`text-white/80 hover:text-white hover:bg-white/10 rounded-full p-1 transition-colors`,"aria-label":`Close Chat`,children:(0,B.jsx)(ls,{size:20})})]}),o.length>0&&(0,B.jsxs)(`div`,{className:`flex-shrink-0 px-4 py-3 border-b border-[hsl(var(--chat-border))] bg-[hsl(var(--chat-accent))]/40`,children:[(0,B.jsxs)(`p`,{className:`text-[10px] font-bold uppercase tracking-widest text-[hsl(var(--chat-text))] opacity-70 mb-2`,children:[`Saved to your trip (`,o.length,`)`]}),(0,B.jsx)(`div`,{className:`space-y-1.5`,children:o.map(e=>(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-sm`,children:[e.affiliate_link?(0,B.jsx)(`a`,{href:e.affiliate_link,target:`_blank`,rel:`noopener noreferrer sponsored`,className:`text-[hsl(var(--chat-text))] hover:underline font-medium truncate`,children:e.title}):(0,B.jsx)(`span`,{className:`text-[hsl(var(--chat-text))] font-medium truncate`,children:e.title}),(0,B.jsx)(`button`,{type:`button`,onClick:()=>s(e.object_id,{title:e.title,source:e.source,affiliateLink:e.affiliate_link}),disabled:c===e.object_id,className:`text-[10px] uppercase tracking-wider text-[hsl(var(--chat-text))] opacity-60 hover:opacity-100 disabled:opacity-30 flex-shrink-0`,children:`Remove`})]},e.object_id))})]}),(0,B.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-4 custom-scrollbar bg-[hsl(var(--chat-background))] space-y-4`,onClick:S,children:[n.map(e=>(0,B.jsx)(Lb,{message:e,onAction:T,actionPending:m&&e.action?.type===`build_scrapbook`},e.id)),(0,B.jsx)(`div`,{ref:g})]}),(0,B.jsxs)(`div`,{className:`flex-shrink-0 flex flex-col bg-white`,children:[E.length>0&&(0,B.jsx)(Rb,{options:E,onSelect:w}),(0,B.jsxs)(`form`,{onSubmit:C,className:`flex items-center gap-2 p-3 border-t border-[hsl(var(--chat-border))]`,children:[(0,B.jsx)(`input`,{type:`text`,value:f,onChange:e=>p(e.target.value),placeholder:`Type your response...`,className:`flex-1 bg-gray-50 border border-[hsl(var(--chat-border))] rounded-full px-4 py-2 text-sm text-[hsl(var(--chat-text))] placeholder-gray-400 focus:outline-none focus:border-[hsl(var(--chat-primary))] focus:ring-1 focus:ring-[hsl(var(--chat-primary))] transition-all`}),(0,B.jsx)(`button`,{type:`submit`,disabled:!f.trim(),className:`w-10 h-10 rounded-full bg-[hsl(var(--chat-primary))] text-white flex items-center justify-center disabled:opacity-50 disabled:cursor-not-allowed hover:bg-[hsl(var(--chat-primary))/0.9] transition-colors flex-shrink-0`,children:(0,B.jsx)(zo,{size:18,className:`ml-0.5`})})]})]})]})})]})},Bb=s(((e,t)=>{t.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),Vb=s(((e,t)=>{var n=Bb();function r(){}function i(){}i.resetWarningCache=r,t.exports=function(){function e(e,t,r,i,a,o){if(o!==n){var s=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name=`Invariant Violation`,s}}e.isRequired=e;function t(){return e}var a={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return a.PropTypes=a,a}})),Hb=s(((e,t)=>{t.exports=Vb()()})),Ub=s(((e,t)=>{function n(e){return e&&typeof e==`object`&&`default`in e?e.default:e}var r=p(),i=n(r);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var s=!!(typeof window<`u`&&window.document&&window.document.createElement);function c(e,t,n){if(typeof e!=`function`)throw Error(`Expected reducePropsToState to be a function.`);if(typeof t!=`function`)throw Error(`Expected handleStateChangeOnClient to be a function.`);if(n!==void 0&&typeof n!=`function`)throw Error(`Expected mapStateOnServer to either be undefined or a function.`);function c(e){return e.displayName||e.name||`Component`}return function(l){if(typeof l!=`function`)throw Error(`Expected WrappedComponent to be a React component.`);var u=[],d;function f(){d=e(u.map(function(e){return e.props})),p.canUseDOM?t(d):n&&(d=n(d))}var p=function(e){o(t,e);function t(){return e.apply(this,arguments)||this}t.peek=function(){return d},t.rewind=function(){if(t.canUseDOM)throw Error(`You may only call rewind() on the server. Call peek() to read the current state.`);var e=d;return d=void 0,u=[],e};var n=t.prototype;return n.UNSAFE_componentWillMount=function(){u.push(this),f()},n.componentDidUpdate=function(){f()},n.componentWillUnmount=function(){var e=u.indexOf(this);u.splice(e,1),f()},n.render=function(){return i.createElement(l,this.props)},t}(r.PureComponent);return a(p,`displayName`,`SideEffect(`+c(l)+`)`),a(p,`canUseDOM`,s),p}}t.exports=c})),Wb=s(((e,t)=>{var n=typeof Element<`u`,r=typeof Map==`function`,i=typeof Set==`function`,a=typeof ArrayBuffer==`function`&&!!ArrayBuffer.isView;function o(e,t){if(e===t)return!0;if(e&&t&&typeof e==`object`&&typeof t==`object`){if(e.constructor!==t.constructor)return!1;var s,c,l;if(Array.isArray(e)){if(s=e.length,s!=t.length)return!1;for(c=s;c--!==0;)if(!o(e[c],t[c]))return!1;return!0}var u;if(r&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(u=e.entries();!(c=u.next()).done;)if(!t.has(c.value[0]))return!1;for(u=e.entries();!(c=u.next()).done;)if(!o(c.value[1],t.get(c.value[0])))return!1;return!0}if(i&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(u=e.entries();!(c=u.next()).done;)if(!t.has(c.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(s=e.length,s!=t.length)return!1;for(c=s;c--!==0;)if(e[c]!==t[c])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf==`function`&&typeof t.valueOf==`function`)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString==`function`&&typeof t.toString==`function`)return e.toString()===t.toString();if(l=Object.keys(e),s=l.length,s!==Object.keys(t).length)return!1;for(c=s;c--!==0;)if(!Object.prototype.hasOwnProperty.call(t,l[c]))return!1;if(n&&e instanceof Element)return!1;for(c=s;c--!==0;)if((l[c]!==`_owner`&&l[c]!==`__v`&&l[c]!==`__o`||!e.$$typeof)&&!o(e[l[c]],t[l[c]]))return!1;return!0}return e!==e&&t!==t}t.exports=function(e,t){try{return o(e,t)}catch(e){if((e.message||``).match(/stack|recursion/i))return console.warn(`react-fast-compare cannot handle circular refs`),!1;throw e}}})),Gb=s(((e,t)=>{var n=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;function a(e){if(e==null)throw TypeError(`Object.assign cannot be called with null or undefined`);return Object(e)}function o(){try{if(!Object.assign)return!1;var e=new String(`abc`);if(e[5]=`de`,Object.getOwnPropertyNames(e)[0]===`5`)return!1;for(var t={},n=0;n<10;n++)t[`_`+String.fromCharCode(n)]=n;if(Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(``)!==`0123456789`)return!1;var r={};return`abcdefghijklmnopqrst`.split(``).forEach(function(e){r[e]=e}),Object.keys(Object.assign({},r)).join(``)===`abcdefghijklmnopqrst`}catch{return!1}}t.exports=o()?Object.assign:function(e,t){for(var o,s=a(e),c,l=1;l<arguments.length;l++){for(var u in o=Object(arguments[l]),o)r.call(o,u)&&(s[u]=o[u]);if(n){c=n(o);for(var d=0;d<c.length;d++)i.call(o,c[d])&&(s[c[d]]=o[c[d]])}}return s}})),Kb=u(Hb()),qb=u(Ub()),Jb=u(Wb()),Yb=u(Gb()),Xb={BODY:`bodyAttributes`,HTML:`htmlAttributes`,TITLE:`titleAttributes`},Zb={BASE:`base`,BODY:`body`,HEAD:`head`,HTML:`html`,LINK:`link`,META:`meta`,NOSCRIPT:`noscript`,SCRIPT:`script`,STYLE:`style`,TITLE:`title`};Object.keys(Zb).map(function(e){return Zb[e]});var Qb={CHARSET:`charset`,CSS_TEXT:`cssText`,HREF:`href`,HTTPEQUIV:`http-equiv`,INNER_HTML:`innerHTML`,ITEM_PROP:`itemprop`,NAME:`name`,PROPERTY:`property`,REL:`rel`,SRC:`src`,TARGET:`target`},$b={accesskey:`accessKey`,charset:`charSet`,class:`className`,contenteditable:`contentEditable`,contextmenu:`contextMenu`,"http-equiv":`httpEquiv`,itemprop:`itemProp`,tabindex:`tabIndex`},ex={DEFAULT_TITLE:`defaultTitle`,DEFER:`defer`,ENCODE_SPECIAL_CHARACTERS:`encodeSpecialCharacters`,ON_CHANGE_CLIENT_STATE:`onChangeClientState`,TITLE_TEMPLATE:`titleTemplate`},tx=Object.keys($b).reduce(function(e,t){return e[$b[t]]=t,e},{}),nx=[Zb.NOSCRIPT,Zb.SCRIPT,Zb.STYLE],rx=`data-react-helmet`,ix=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},ax=function(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)},ox=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),sx=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},cx=function(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function, not `+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)},lx=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},ux=function(e,t){if(!e)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return t&&(typeof t==`object`||typeof t==`function`)?t:e},dx=function(e){return(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0)===!1?String(e):String(e).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#x27;`)},fx=function(e){var t=_x(e,Zb.TITLE),n=_x(e,ex.TITLE_TEMPLATE);if(n&&t)return n.replace(/%s/g,function(){return Array.isArray(t)?t.join(``):t});var r=_x(e,ex.DEFAULT_TITLE);return t||r||void 0},px=function(e){return _x(e,ex.ON_CHANGE_CLIENT_STATE)||function(){}},mx=function(e,t){return t.filter(function(t){return t[e]!==void 0}).map(function(t){return t[e]}).reduce(function(e,t){return sx({},e,t)},{})},hx=function(e,t){return t.filter(function(e){return e[Zb.BASE]!==void 0}).map(function(e){return e[Zb.BASE]}).reverse().reduce(function(t,n){if(!t.length)for(var r=Object.keys(n),i=0;i<r.length;i++){var a=r[i].toLowerCase();if(e.indexOf(a)!==-1&&n[a])return t.concat(n)}return t},[])},gx=function(e,t,n){var r={};return n.filter(function(t){return Array.isArray(t[e])?!0:(t[e]!==void 0&&Cx(`Helmet: `+e+` should be of type "Array". Instead found type "`+ix(t[e])+`"`),!1)}).map(function(t){return t[e]}).reverse().reduce(function(e,n){var i={};n.filter(function(e){for(var n=void 0,a=Object.keys(e),o=0;o<a.length;o++){var s=a[o],c=s.toLowerCase();t.indexOf(c)===-1||n===Qb.REL&&e[n].toLowerCase()===`canonical`||c===Qb.REL&&e[c].toLowerCase()===`stylesheet`||(n=c),t.indexOf(s)!==-1&&(s===Qb.INNER_HTML||s===Qb.CSS_TEXT||s===Qb.ITEM_PROP)&&(n=s)}if(!n||!e[n])return!1;var l=e[n].toLowerCase();return r[n]||(r[n]={}),i[n]||(i[n]={}),!r[n][l]&&(i[n][l]=!0,!0)}).reverse().forEach(function(t){return e.push(t)});for(var a=Object.keys(i),o=0;o<a.length;o++){var s=a[o];r[s]=(0,Yb.default)({},r[s],i[s])}return e},[]).reverse()},_x=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.hasOwnProperty(t))return r[t]}return null},vx=function(e){return{baseTag:hx([Qb.HREF,Qb.TARGET],e),bodyAttributes:mx(Xb.BODY,e),defer:_x(e,ex.DEFER),encode:_x(e,ex.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:mx(Xb.HTML,e),linkTags:gx(Zb.LINK,[Qb.REL,Qb.HREF],e),metaTags:gx(Zb.META,[Qb.NAME,Qb.CHARSET,Qb.HTTPEQUIV,Qb.PROPERTY,Qb.ITEM_PROP],e),noscriptTags:gx(Zb.NOSCRIPT,[Qb.INNER_HTML],e),onChangeClientState:px(e),scriptTags:gx(Zb.SCRIPT,[Qb.SRC,Qb.INNER_HTML],e),styleTags:gx(Zb.STYLE,[Qb.CSS_TEXT],e),title:fx(e),titleAttributes:mx(Xb.TITLE,e)}},yx=function(){var e=Date.now();return function(t){var n=Date.now();n-e>16?(e=n,t(n)):setTimeout(function(){yx(t)},0)}}(),bx=function(e){return clearTimeout(e)},xx=typeof window<`u`?window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||yx:global.requestAnimationFrame||yx,Sx=typeof window<`u`?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||bx:global.cancelAnimationFrame||bx,Cx=function(e){return console&&typeof console.warn==`function`&&console.warn(e)},wx=null,Tx=function(e){wx&&Sx(wx),e.defer?wx=xx(function(){Ex(e,function(){wx=null})}):(Ex(e),wx=null)},Ex=function(e,t){var n=e.baseTag,r=e.bodyAttributes,i=e.htmlAttributes,a=e.linkTags,o=e.metaTags,s=e.noscriptTags,c=e.onChangeClientState,l=e.scriptTags,u=e.styleTags,d=e.title,f=e.titleAttributes;kx(Zb.BODY,r),kx(Zb.HTML,i),Ox(d,f);var p={baseTag:Ax(Zb.BASE,n),linkTags:Ax(Zb.LINK,a),metaTags:Ax(Zb.META,o),noscriptTags:Ax(Zb.NOSCRIPT,s),scriptTags:Ax(Zb.SCRIPT,l),styleTags:Ax(Zb.STYLE,u)},m={},h={};Object.keys(p).forEach(function(e){var t=p[e],n=t.newTags,r=t.oldTags;n.length&&(m[e]=n),r.length&&(h[e]=p[e].oldTags)}),t&&t(),c(e,m,h)},Dx=function(e){return Array.isArray(e)?e.join(``):e},Ox=function(e,t){e!==void 0&&document.title!==e&&(document.title=Dx(e)),kx(Zb.TITLE,t)},kx=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute(rx),i=r?r.split(`,`):[],a=[].concat(i),o=Object.keys(t),s=0;s<o.length;s++){var c=o[s],l=t[c]||``;n.getAttribute(c)!==l&&n.setAttribute(c,l),i.indexOf(c)===-1&&i.push(c);var u=a.indexOf(c);u!==-1&&a.splice(u,1)}for(var d=a.length-1;d>=0;d--)n.removeAttribute(a[d]);i.length===a.length?n.removeAttribute(rx):n.getAttribute(rx)!==o.join(`,`)&&n.setAttribute(rx,o.join(`,`))}},Ax=function(e,t){var n=document.head||document.querySelector(Zb.HEAD),r=n.querySelectorAll(e+`[`+rx+`]`),i=Array.prototype.slice.call(r),a=[],o=void 0;return t&&t.length&&t.forEach(function(t){var n=document.createElement(e);for(var r in t)if(t.hasOwnProperty(r)){if(r===Qb.INNER_HTML)n.innerHTML=t.innerHTML;else if(r===Qb.CSS_TEXT)n.styleSheet?n.styleSheet.cssText=t.cssText:n.appendChild(document.createTextNode(t.cssText));else{var s=t[r]===void 0?``:t[r];n.setAttribute(r,s)}}n.setAttribute(rx,`true`),i.some(function(e,t){return o=t,n.isEqualNode(e)})?i.splice(o,1):a.push(n)}),i.forEach(function(e){return e.parentNode.removeChild(e)}),a.forEach(function(e){return n.appendChild(e)}),{oldTags:i,newTags:a}},jx=function(e){return Object.keys(e).reduce(function(t,n){var r=e[n]===void 0?``+n:n+`="`+e[n]+`"`;return t?t+` `+r:r},``)},Mx=function(e,t,n,r){var i=jx(n),a=Dx(t);return i?`<`+e+` `+rx+`="true" `+i+`>`+dx(a,r)+`</`+e+`>`:`<`+e+` `+rx+`="true">`+dx(a,r)+`</`+e+`>`},Nx=function(e,t,n){return t.reduce(function(t,r){var i=Object.keys(r).filter(function(e){return e!==Qb.INNER_HTML&&e!==Qb.CSS_TEXT}).reduce(function(e,t){var i=r[t]===void 0?t:t+`="`+dx(r[t],n)+`"`;return e?e+` `+i:i},``),a=r.innerHTML||r.cssText||``,o=nx.indexOf(e)===-1;return t+`<`+e+` `+rx+`="true" `+i+(o?`/>`:`>`+a+`</`+e+`>`)},``)},Px=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Object.keys(e).reduce(function(t,n){return t[$b[n]||n]=e[n],t},t)},Fx=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Object.keys(e).reduce(function(t,n){return t[tx[n]||n]=e[n],t},t)},Ix=function(e,t,n){var r={key:t},i=Px(n,(r[rx]=!0,r));return[y.createElement(Zb.TITLE,i,t)]},Lx=function(e,t){return t.map(function(t,n){var r={key:n},i=(r[rx]=!0,r);return Object.keys(t).forEach(function(e){var n=$b[e]||e;n===Qb.INNER_HTML||n===Qb.CSS_TEXT?i.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:i[n]=t[e]}),y.createElement(e,i)})},Rx=function(e,t,n){switch(e){case Zb.TITLE:return{toComponent:function(){return Ix(e,t.title,t.titleAttributes,n)},toString:function(){return Mx(e,t.title,t.titleAttributes,n)}};case Xb.BODY:case Xb.HTML:return{toComponent:function(){return Px(t)},toString:function(){return jx(t)}};default:return{toComponent:function(){return Lx(e,t)},toString:function(){return Nx(e,t,n)}}}},zx=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,i=e.htmlAttributes,a=e.linkTags,o=e.metaTags,s=e.noscriptTags,c=e.scriptTags,l=e.styleTags,u=e.title,d=u===void 0?``:u,f=e.titleAttributes;return{base:Rx(Zb.BASE,t,r),bodyAttributes:Rx(Xb.BODY,n,r),htmlAttributes:Rx(Xb.HTML,i,r),link:Rx(Zb.LINK,a,r),meta:Rx(Zb.META,o,r),noscript:Rx(Zb.NOSCRIPT,s,r),script:Rx(Zb.SCRIPT,c,r),style:Rx(Zb.STYLE,l,r),title:Rx(Zb.TITLE,{title:d,titleAttributes:f},r)}},J=function(e){var t,n=t=function(t){cx(n,t);function n(){return ax(this,n),ux(this,t.apply(this,arguments))}return n.prototype.shouldComponentUpdate=function(e){return!(0,Jb.default)(this.props,e)},n.prototype.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case Zb.SCRIPT:case Zb.NOSCRIPT:return{innerHTML:t};case Zb.STYLE:return{cssText:t}}throw Error(`<`+e.type+` /> elements are self-closing and can not contain children. Refer to our API for more information.`)},n.prototype.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren,i=e.newChildProps,a=e.nestedChildren;return sx({},r,(t={},t[n.type]=[].concat(r[n.type]||[],[sx({},i,this.mapNestedChildrenToProps(n,a))]),t))},n.prototype.mapObjectTypeChildren=function(e){var t,n,r=e.child,i=e.newProps,a=e.newChildProps,o=e.nestedChildren;switch(r.type){case Zb.TITLE:return sx({},i,(t={},t[r.type]=o,t.titleAttributes=sx({},a),t));case Zb.BODY:return sx({},i,{bodyAttributes:sx({},a)});case Zb.HTML:return sx({},i,{htmlAttributes:sx({},a)})}return sx({},i,(n={},n[r.type]=sx({},a),n))},n.prototype.mapArrayTypeChildrenToProps=function(e,t){var n=sx({},t);return Object.keys(e).forEach(function(t){var r;n=sx({},n,(r={},r[t]=e[t],r))}),n},n.prototype.warnOnInvalidChildren=function(e,t){return!0},n.prototype.mapChildrenToProps=function(e,t){var n=this,r={};return y.Children.forEach(e,function(e){if(e&&e.props){var i=e.props,a=i.children,o=Fx(lx(i,[`children`]));switch(n.warnOnInvalidChildren(e,a),e.type){case Zb.LINK:case Zb.META:case Zb.NOSCRIPT:case Zb.SCRIPT:case Zb.STYLE:r=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:r,newChildProps:o,nestedChildren:a});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:o,nestedChildren:a})}}}),t=this.mapArrayTypeChildrenToProps(r,t),t},n.prototype.render=function(){var t=this.props,n=t.children,r=sx({},lx(t,[`children`]));return n&&(r=this.mapChildrenToProps(n,r)),y.createElement(e,r)},ox(n,null,[{key:`canUseDOM`,set:function(t){e.canUseDOM=t}}]),n}(y.Component);return t.propTypes={base:Kb.default.object,bodyAttributes:Kb.default.object,children:Kb.default.oneOfType([Kb.default.arrayOf(Kb.default.node),Kb.default.node]),defaultTitle:Kb.default.string,defer:Kb.default.bool,encodeSpecialCharacters:Kb.default.bool,htmlAttributes:Kb.default.object,link:Kb.default.arrayOf(Kb.default.object),meta:Kb.default.arrayOf(Kb.default.object),noscript:Kb.default.arrayOf(Kb.default.object),onChangeClientState:Kb.default.func,script:Kb.default.arrayOf(Kb.default.object),style:Kb.default.arrayOf(Kb.default.object),title:Kb.default.string,titleAttributes:Kb.default.object,titleTemplate:Kb.default.string},t.defaultProps={defer:!0,encodeSpecialCharacters:!0},t.peek=e.peek,t.rewind=function(){var t=e.rewind();return t||=zx({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:``,titleAttributes:{}}),t},n}((0,qb.default)(vx,Tx,zx)(function(){return null}));J.renderStatic=J.rewind;var Y={astoria:{name:`Astoria`,region:`North Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/87a5cf9fdfd9ec73beb75e0d07deb515.png`,description:`Perched at the mouth of the Columbia River, Astoria is a historic port city known for its Victorian homes, maritime heritage, and vibrant arts scene.`,geo:{lat:46.1879,lng:-123.8306},route:`/town/astoria`},warrenton:{name:`Warrenton`,region:`North Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/2b4ad5459baa2eff0c839a7b1e3e1bbf.png`,description:`Located across the bay from Astoria, Warrenton offers access to Fort Stevens State Park and the Peter Iredale shipwreck.`,geo:{lat:46.1637,lng:-123.9235},route:`/town/warrenton`},gearhart:{name:`Gearhart`,region:`North Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/a30ccf37bb76d25057d131c04184a76b.png`,description:`A quiet, upscale beach town known for its dunes, wide beaches, and the oldest golf course in the western United States.`,geo:{lat:46.0276,lng:-123.9182},route:`/town/gearhart`},seaside:{name:`Seaside`,region:`North Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/20f258c255a9c7d65b2c4e69ce5a6277.jpg`,description:`A classic Oregon beach town with a bustling promenade, historic carousel, and family-friendly attractions.`,geo:{lat:45.9932,lng:-123.9226},route:`/town/seaside`},"cannon-beach":{name:`Cannon Beach`,region:`North Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/3216bd81b56b8430ef0b545406c874cd.png`,description:`Home to the iconic Haystack Rock, known for its expansive sandy beaches and vibrant arts scene.`,geo:{lat:45.8918,lng:-123.9615},route:`/town/cannon-beach`},"tolovana-park":{name:`Tolovana Park`,region:`North Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/df132b49e7e22090d7fedc15ea9e28d2.jpg`,description:`A quieter extension of Cannon Beach, offering great views of Haystack Rock from the south.`,geo:{lat:45.8756,lng:-123.9609},route:`/town/tolovana-park`},"arch-cape":{name:`Arch Cape`,region:`North Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/978ecb912e958e7a22ad702dcb8fefaa.jpg`,description:`A quiet residential community south of Cannon Beach, offering solitude and rugged beauty.`,geo:{lat:45.8038,lng:-123.9604},route:`/town/arch-cape`},manzanita:{name:`Manzanita`,region:`North Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/9d7d8979eea1edad26a0451b02380165.png`,description:`A charming village between the ocean and Neahkahnie Mountain, known for its laid-back vibe.`,geo:{lat:45.7184,lng:-123.9351},route:`/town/manzanita`},nehalem:{name:`Nehalem`,region:`North Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/b78866b24d75d9c38bc56102578e861b.jpg`,description:`Located on the banks of the Nehalem River, a hub for fishing, kayaking, and antique shopping.`,geo:{lat:45.7169,lng:-123.8967},route:`/town/nehalem`},wheeler:{name:`Wheeler`,region:`North Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/23f1bedbd7ec035f6b6aace6d446ee76.jpg`,description:`A tiny, picturesque town on Nehalem Bay, known for its antique stores and stunning sunsets.`,geo:{lat:45.6888,lng:-123.8824},route:`/town/wheeler`},"rockaway-beach":{name:`Rockaway Beach`,region:`North Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/4f9c0d6463249a23d3c5e2ee7757b62a.png`,description:`Known for its 7 miles of flat sandy beach and the iconic Twin Rocks.`,geo:{lat:45.6133,lng:-123.9431},route:`/town/rockaway-beach`},garibaldi:{name:`Garibaldi`,region:`North Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/c9f7d9719b4e4f4dca5f081eea37a170.jpg`,description:`A working fishing village at the north end of Tillamook Bay, famous for its marina and crabbing.`,geo:{lat:45.5598,lng:-123.9101},route:`/town/garibaldi`},"bay-city":{name:`Bay City`,region:`North Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/2c6a6470930383c59decc0a4ba187072.jpg`,description:`Located on Tillamook Bay, known for its oysters and clamming.`,geo:{lat:45.5222,lng:-123.8893},route:`/town/bay-city`},tillamook:{name:`Tillamook`,region:`North Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/5fadb3209ab4d93136e5d943bd4785aa.jpg`,description:`Famous for the Tillamook Creamery, a hub for agriculture and history.`,geo:{lat:45.4562,lng:-123.844},route:`/town/tillamook`},netarts:{name:`Netarts`,region:`North Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/b4066023187b60adc59587c738bf4819.jpg`,description:`A quiet community on Netarts Bay, excellent for crabbing and clamming.`,geo:{lat:45.4312,lng:-123.9443},route:`/town/netarts`},oceanside:{name:`Oceanside`,region:`North Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/503f9681cb9be60c3efc61c144628252.jpg`,description:`Built into a steep hillside, known for its tunnel through Maxwell Point.`,geo:{lat:45.459,lng:-123.9702},route:`/town/oceanside`},"pacific-city":{name:`Pacific City`,region:`Central Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/6ed44670bdc554cfd33f8e8444def284.jpg`,description:`Home to the other Haystack Rock and the giant Cape Kiwanda sand dune.`,geo:{lat:45.2032,lng:-123.9629},route:`/town/pacific-city`},neskowin:{name:`Neskowin`,region:`Central Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/f3238bab609a3f5a75aad2f4370317a7.jpg`,description:`A quiet village known for Proposal Rock and the ancient Ghost Forest.`,geo:{lat:45.1118,lng:-123.9873},route:`/town/neskowin`},"lincoln-city":{name:`Lincoln City`,region:`Central Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/4b7ba56a47e804904a0e87f9ebad9b07.webp`,description:`Spanning seven miles of beach, known for glass floats and kite flying.`,geo:{lat:44.9729,lng:-124.0113},route:`/town/lincoln-city`},"gleneden-beach":{name:`Gleneden Beach`,region:`Central Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/198018a5878ad5fcf6cafddb42efb27d.webp`,description:`A sophisticated coastal retreat known for the Salishan Coastal Lodge.`,geo:{lat:44.8879,lng:-124.0326},route:`/town/gleneden-beach`},"depoe-bay":{name:`Depoe Bay`,region:`Central Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/2c57f533ae0506195f5f5c9a0953d506.webp`,description:`The whale watching capital with the world's smallest navigable harbor.`,geo:{lat:44.8066,lng:-124.0601},route:`/town/depoe-bay`},"otter-rock":{name:`Otter Rock`,region:`Central Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/db7f80fe48b5bd85006a138f546efff8.webp`,description:`Home to the Devil's Punchbowl and a popular surfing beach.`,geo:{lat:44.4167,lng:-124.0833},route:`/town/otter-rock`},newport:{name:`Newport`,region:`Central Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/c6fc2828b4f0e652c620d7b1874dcdab.webp`,description:`Oregon's Marine Discovery Capital, home to the historic bayfront.`,geo:{lat:44.6349,lng:-124.0554},route:`/town/newport`},"south-beach":{name:`South Beach`,region:`Central Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/e1e041b89722871843a1b35e49288748.webp`,description:`Home to Oregon Coast Aquarium and pristine beaches.`,geo:{lat:44.6333,lng:-124.0667},route:`/town/south-beach`},"seal-rock":{name:`Seal Rock`,region:`Central Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/8827892cb93ca1b0cd53550f0936dcde.webp`,description:`A hidden gem known for Elephant Rock and massive tide pools.`,geo:{lat:44.4987,lng:-124.0829},route:`/seal-rock`},toledo:{name:`Toledo`,region:`Central Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/457d2a9a2f4957025e208eca9ea65735.webp`,description:`Located inland on the Yaquina River, an industrial town with a growing art scene.`,geo:{lat:44.6215,lng:-123.9373},route:`/town/toledo`},waldport:{name:`Waldport`,region:`Central Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/f29f63a80e5ae25aecbbc6b26c9d6390.webp`,description:`Where the Alsea River meets the ocean, famous for crabbing.`,geo:{lat:44.4267,lng:-124.0733},route:`/town/waldport`},yachats:{name:`Yachats`,region:`Central Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/e7a98346b0f2453dedf2c0e629d0d68c.webp`,description:`Gem of the Oregon Coast, featuring Thor's Well and Cape Perpetua.`,geo:{lat:44.3112,lng:-124.1049},route:`/town/yachats`},florence:{name:`Florence`,region:`Central Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/f96e6b74688eedfb4225959efeeff861.webp`,description:`Gateway to the Oregon Dunes and home to Heceta Head Lighthouse.`,geo:{lat:43.9826,lng:-124.0998},route:`/town/florence`},"dune-city":{name:`Dune City`,region:`Central Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/c2bb95a8f717d26828623d6733b9a799.webp`,description:`The City of Lakes, offering access to Siltcoos and Woahink Lakes.`,geo:{lat:43.8967,lng:-124.113},route:`/town/dune-city`},reedsport:{name:`Reedsport`,region:`South Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/b944ec2da4c83a081237a386e2b441de.jpg`,description:`Located at the junction of the Umpqua River and the coast, home to elk viewing.`,geo:{lat:43.6987,lng:-124.0963},route:`/town/reedsport`},"winchester-bay":{name:`Winchester Bay`,region:`South Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/2f37573b78ca4f0f6ac0a59604cf403c.webp`,description:`Known for the Umpqua River Lighthouse and massive dunes.`,geo:{lat:43.6781,lng:-124.1751},route:`/town/winchester-bay`},gardiner:{name:`Gardiner`,region:`South Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/b4066023187b60adc59587c738bf4819.jpg`,description:`A historic riverfront town on the banks of the Umpqua River.`,geo:{lat:43.7312,lng:-124.1102},route:`/town/gardiner`},lakeside:{name:`Lakeside`,region:`South Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/e921b311af063b364aecb010b4f38a5a.webp`,description:`Nestled on Tenmile Lakes, a paradise for boating and fishing.`,geo:{lat:43.5684,lng:-124.1675},route:`/town/lakeside`},"north-bend":{name:`North Bend`,region:`South Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/072208077f88884fb8012cdedd684f53.webp`,description:`Known for the McCullough Memorial Bridge and the Oregon Dunes.`,geo:{lat:43.4065,lng:-124.2243},route:`/town/north-bend`},"coos-bay":{name:`Coos Bay`,region:`South Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/32c0d973a9704cf199b61ec4477d1531.webp`,description:`The largest city on the Oregon Coast, known for Shore Acres State Park.`,geo:{lat:43.3665,lng:-124.2179},route:`/town/coos-bay`},charleston:{name:`Charleston`,region:`South Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/5485f2d012062e22311e617cd36550a7.jpg`,description:`Distinctive fishing village with marina and scenic Cape Arago Beach Loop.`,geo:{lat:43.3569,lng:-124.3199},route:`/town/charleston`},bandon:{name:`Bandon`,region:`South Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/5b77b21e59bd04defe28f5074f5126d6.webp`,description:`Famous for sea stacks at Face Rock and world-class golf.`,geo:{lat:43.1086,lng:-124.4048},route:`/town/bandon`},langlois:{name:`Langlois`,region:`South Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/17bd9faa00a2de20cd5caa78364dd87c.webp`,description:`A charming community famous for windsurfing at Floras Lake.`,geo:{lat:42.9238,lng:-124.4534},route:`/town/langlois`},"port-orford":{name:`Port Orford`,region:`South Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/2a920d94b7ea480bbad4676664281550.webp`,description:`The westernmost city in the lower 48 states, known for Battle Rock.`,geo:{lat:42.7457,lng:-124.4984},route:`/town/port-orford`},"gold-beach":{name:`Gold Beach`,region:`South Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/c877cc6b256faf5d4fc943c9cf11f331.webp`,description:`Where the Wild Rogue River Meets the Pacific.`,geo:{lat:42.4091,lng:-124.4187},route:`/town/gold-beach`},brookings:{name:`Brookings`,region:`South Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/d70e7940aab86e455bd557529fff3fdd.webp`,description:`Oregon's warmest coastal city with dramatic sea stacks.`,geo:{lat:42.0534,lng:-124.2844},route:`/town/brookings`},harbor:{name:`Harbor`,region:`South Coast`,heroImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/c83af0560b4f8c977f60d521543eadef.webp`,description:`Located south of Brookings, known for the busy port and lily bulb farms.`,geo:{lat:42.0543,lng:-124.269},route:`/town/harbor`}},Bx={northCoast:[Y.astoria,Y.warrenton,Y.gearhart,Y.seaside,Y[`cannon-beach`],Y[`arch-cape`],Y.manzanita,Y.nehalem,Y.wheeler,Y[`rockaway-beach`],Y.garibaldi,Y[`bay-city`],Y.tillamook,Y.netarts,Y.oceanside],centralCoast:[Y[`pacific-city`],Y.neskowin,Y[`lincoln-city`],Y[`gleneden-beach`],Y[`depoe-bay`],Y[`otter-rock`],Y.newport,Y[`seal-rock`],Y[`south-beach`],Y.waldport,Y.yachats,Y.florence,Y[`dune-city`]],southCoast:[Y.reedsport,Y[`winchester-bay`],Y.gardiner,Y[`north-bend`],Y[`coos-bay`],Y.charleston,Y.bandon,Y.langlois,Y[`port-orford`],Y[`gold-beach`],Y.brookings,Y.harbor]},Vx=()=>{let[e,t]=(0,y.useState)(!1),[n,r]=(0,y.useState)(null),[i,a]=(0,y.useState)(!1),o=Xe(),s=o.pathname===`/`;(0,y.useEffect)(()=>{let e=()=>a(window.scrollY>50);return window.addEventListener(`scroll`,e),()=>window.removeEventListener(`scroll`,e)},[]),(0,y.useEffect)(()=>{t(!1),r(null)},[o.pathname]);let c=s&&!i?`bg-transparent`:`bg-[var(--nav-bg)] shadow-md border-b border-[var(--nav-border)]`,l=s?`fixed top-0 left-0 right-0`:`sticky top-0`,u={"North Coast":`/north-coast`,"Central Coast":`/central-coast`,"South Coast":`/south-coast`},d={"North Coast":Bx.northCoast,"Central Coast":Bx.centralCoast,"South Coast":Bx.southCoast},f=({title:e,regionKey:t,isMobile:i=!1})=>i?(0,B.jsx)(`div`,{className:`border-b border-[var(--nav-border)]`,children:(0,B.jsx)(un,{to:u[t],className:`block py-3 px-4 text-[var(--nav-text)] font-sans tracking-[0.15em] uppercase text-xs hover:bg-[var(--nav-hover)] transition-colors`,children:e})}):(0,B.jsxs)(`div`,{className:`relative group flex items-center h-full`,onMouseEnter:()=>r(t),onMouseLeave:()=>r(null),children:[(0,B.jsxs)(un,{to:u[t],className:`text-[var(--nav-text)] font-sans tracking-[0.15em] uppercase text-xs hover:bg-[var(--nav-hover)] transition-colors flex items-center gap-1 h-full px-2 rounded-sm`,children:[e,(0,B.jsx)(Ia,{className:`w-3 h-3 opacity-70`})]}),(0,B.jsx)(Mb,{children:n===t&&(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:10},transition:{duration:.15},className:`absolute top-full left-0 mt-0 w-56 bg-[var(--nav-bg)] border border-[var(--nav-border)] shadow-xl py-2 z-50 max-h-[70vh] overflow-y-auto custom-scrollbar rounded-b-md`,children:[(0,B.jsx)(`div`,{className:`px-4 py-3 border-b border-[var(--nav-border)] bg-[var(--nav-hover)] mb-2`,children:(0,B.jsx)(un,{to:u[t],className:`text-xs font-bold text-[var(--nav-text)] uppercase tracking-widest hover:text-white/80`,children:`View All Towns`})}),d[t].map((e,t)=>(0,B.jsx)(un,{to:e.route,className:`block px-4 py-2 text-sm text-[var(--nav-text)] hover:bg-[var(--nav-hover)] transition-colors border-b border-[var(--nav-border)] last:border-0`,children:e.name},t))]})})]});return(0,B.jsxs)(`nav`,{className:`${l} w-full z-50 transition-colors duration-300 ${c}`,children:[(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto px-6 hidden lg:block relative`,children:(0,B.jsxs)(`div`,{className:`flex items-center justify-between h-24 relative`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-4 h-full`,children:[(0,B.jsx)(un,{to:`/`,className:`text-[var(--nav-text)] font-sans tracking-[0.15em] uppercase text-xs hover:bg-[var(--nav-hover)] transition-colors h-full flex items-center px-2 rounded-sm`,children:`HOME`}),(0,B.jsx)(`span`,{className:`text-white/40`,children:`·`}),(0,B.jsx)(f,{title:`NORTH COAST`,regionKey:`North Coast`}),(0,B.jsx)(`span`,{className:`text-white/40`,children:`·`}),(0,B.jsx)(f,{title:`CENTRAL COAST`,regionKey:`Central Coast`})]}),(0,B.jsx)(un,{to:`/`,className:`absolute left-1/2 transform -translate-x-1/2 flex items-center mt-6 pb-[18px]`,children:(0,B.jsx)(`img`,{src:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/2543bbb56c2bd1e5a7aeddeb85168a0f.png`,alt:`Oregon Coastal logo`,className:`h-20 w-auto transition-transform hover:scale-105 drop-shadow-md`})}),(0,B.jsxs)(`div`,{className:`flex items-center gap-4 h-full relative right-[160px]`,children:[(0,B.jsx)(f,{title:`SOUTH COAST`,regionKey:`South Coast`}),(0,B.jsx)(`span`,{className:`text-white/40`,children:`·`}),(0,B.jsx)(un,{to:`/maps`,className:`text-[var(--nav-text)] font-sans tracking-[0.15em] uppercase text-xs hover:bg-[var(--nav-hover)] transition-colors h-full flex items-center px-2 gap-1 rounded-sm`,children:`🗺 MAPS`})]})]})}),(0,B.jsxs)(`div`,{className:`lg:hidden px-4 py-4 flex items-center justify-between`,children:[(0,B.jsx)(un,{to:`/`,className:`z-50 pb-[18px]`,children:(0,B.jsx)(`img`,{src:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/2543bbb56c2bd1e5a7aeddeb85168a0f.png`,alt:`Oregon Coastal logo`,className:`h-14 w-auto drop-shadow-md`})}),(0,B.jsx)(`button`,{onClick:()=>t(!e),className:`p-2 text-[var(--nav-text)] hover:bg-[var(--nav-hover)] rounded-lg transition-colors z-50`,children:e?(0,B.jsx)(ls,{className:`w-7 h-7`}):(0,B.jsx)(To,{className:`w-7 h-7`})})]}),(0,B.jsx)(Mb,{children:e&&(0,B.jsx)(q.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:`auto`},exit:{opacity:0,height:0},className:`lg:hidden bg-[var(--nav-bg)] border-t border-[var(--nav-border)] overflow-hidden`,children:(0,B.jsxs)(`div`,{className:`px-4 py-2 space-y-1`,children:[(0,B.jsx)(un,{to:`/`,className:`block py-3 px-4 text-[var(--nav-text)] font-sans tracking-[0.15em] uppercase text-xs hover:bg-[var(--nav-hover)] transition-colors border-b border-[var(--nav-border)]`,children:`HOME`}),(0,B.jsx)(f,{title:`NORTH COAST`,regionKey:`North Coast`,isMobile:!0}),(0,B.jsx)(f,{title:`CENTRAL COAST`,regionKey:`Central Coast`,isMobile:!0}),(0,B.jsx)(f,{title:`SOUTH COAST`,regionKey:`South Coast`,isMobile:!0}),(0,B.jsx)(un,{to:`/maps`,className:`block py-3 px-4 text-[var(--nav-text)] font-sans tracking-[0.15em] uppercase text-xs hover:bg-[var(--nav-hover)] transition-colors border-b border-[var(--nav-border)]`,children:`🗺 MAPS`})]})})}),(0,B.jsx)(`div`,{className:`absolute top-0 right-0 w-0 h-0 pointer-events-none z-[100]`,children:(0,B.jsx)(`div`,{className:`pointer-events-auto`,children:(0,B.jsx)(Fb,{})})})]})},Hx=()=>{let e=[{url:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/45970d6c15a8cfac4b27b3e288a79085.jpg`,alt:`Dramatic Oregon Coast cliffs with ocean waves`},{url:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/130698e6c74193a0e1992539980d58b4.jpg`,alt:`Scenic Oregon Coast beach at sunset`},{url:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/d5b6ae631715d7031d839b478f9ab448.jpg`,alt:`Rugged Oregon Coast shoreline landscape`}],[t,n]=(0,y.useState)(0);return(0,y.useEffect)(()=>{let t=setInterval(()=>{n(t=>(t+1)%e.length)},6e3);return()=>clearInterval(t)},[e.length]),(0,B.jsxs)(`section`,{className:`relative w-full h-screen overflow-hidden bg-[#0d1f26]`,children:[(0,B.jsx)(`div`,{className:`absolute inset-0`,children:(0,B.jsx)(Mb,{initial:!1,children:(0,B.jsx)(q.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:1.5,ease:`easeInOut`},className:`absolute inset-0 w-full h-full`,children:(0,B.jsx)(`img`,{src:e[t].url,alt:e[t].alt,className:`w-full h-full object-cover object-center`})},t)})}),(0,B.jsx)(`div`,{className:`absolute inset-0 z-10 bg-gradient-to-b from-black/40 via-black/20 to-black/80`,style:{opacity:`var(--hero-overlay-opacity)`},"aria-hidden":`true`}),(0,B.jsx)(`div`,{className:`absolute inset-0 z-20 hero-grain-overlay pointer-events-none`,"aria-hidden":`true`}),(0,B.jsx)(`div`,{className:`absolute inset-0 z-30 flex items-center justify-center px-4`,children:(0,B.jsxs)(`div`,{className:`text-center max-w-4xl text-white`,children:[(0,B.jsx)(`h1`,{className:`hero-title-serif text-white text-6xl sm:text-7xl md:text-8xl lg:text-9xl mb-6 leading-none drop-shadow-2xl`,children:`OREGON COAST`}),(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-4 mb-6 opacity-95`,children:[(0,B.jsx)(`div`,{className:`h-px bg-white/70 w-12 sm:w-16 md:w-20`}),(0,B.jsx)(`h2`,{className:`hero-subtitle-serif text-white text-sm sm:text-base md:text-lg tracking-widest drop-shadow-md`,children:`HOTELS AND TRAVEL GUIDE`}),(0,B.jsx)(`div`,{className:`h-px bg-white/70 w-12 sm:w-16 md:w-20`})]}),(0,B.jsxs)(`p`,{className:`text-white max-w-[700px] mx-auto px-4 drop-shadow-lg leading-relaxed flex flex-col gap-3`,children:[(0,B.jsx)(`span`,{className:`font-serif italic text-xl sm:text-2xl md:text-3xl text-white/100`,children:`Rugged cliffs. Sandy beaches. Charming towns.`}),(0,B.jsx)(`span`,{className:`font-sans font-light text-base sm:text-lg text-white/90`,children:`Your perfect Pacific Northwest getaway starts here.`})]})]})})]})},Ux=()=>{let e={"North Coast":[],"Central Coast":[],"South Coast":[]};Object.entries(Y).forEach(([t,n])=>{let r=n.region;r===`Northern Coast`&&(r=`North Coast`),r===`Southern Coast`&&(r=`South Coast`),e[r]&&e[r].push({name:n.name,slug:t})});let t=[{name:`Facebook`,url:`https://www.facebook.com/OregonCoastal`,icon:(0,B.jsx)(to,{className:`w-5 h-5`})},{name:`Instagram`,url:`https://www.instagram.com/oregoncoastal/`,icon:(0,B.jsx)(mo,{className:`w-5 h-5`})},{name:`TikTok`,url:`https://www.tiktok.com/@oregoncoastal`,icon:(0,B.jsx)(Oo,{className:`w-5 h-5`})}];return(0,B.jsxs)(`footer`,{className:`bg-parchment pt-20 pb-12 border-t border-border`,children:[(0,B.jsx)(J,{children:(0,B.jsx)(`script`,{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`WebSite`,name:`Oregon Coastal Travel Guide`,url:`https://oregoncoastal.com`,potentialAction:{"@type":`SearchAction`,target:`https://oregoncoastal.com/search?q={search_term_string}`,"query-input":`required name=search_term_string`}})})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col items-center mb-16 space-y-8`,children:[(0,B.jsx)(un,{to:`/`,children:(0,B.jsx)(`img`,{src:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/5aec0a78c050127441439c73de956f1f.png`,alt:`Oregon Coastal Logo`,className:`w-[140px] h-auto hover:opacity-90 transition-opacity`})}),(0,B.jsx)(`div`,{className:`flex items-center space-x-6`,children:t.map(e=>(0,B.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`p-3 rounded-md bg-sage text-white shadow-soft hover:bg-sage/90 hover:-translate-y-1 transition-all duration-300`,"aria-label":e.name,children:e.icon},e.name))})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-3 gap-12 mb-16`,children:[`North Coast`,`Central Coast`,`South Coast`].map(t=>(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(un,{to:`/${t.toLowerCase().replace(` `,`-`)}`,className:`block text-xl font-serif font-bold uppercase tracking-widest text-primary border-b border-border pb-4 hover:text-sage transition-colors`,children:t}),(0,B.jsx)(`div`,{className:`grid grid-cols-2 gap-x-6 gap-y-3`,children:e[t].map(e=>(0,B.jsx)(un,{to:`/town/${e.slug}`,className:`block text-foreground hover:text-sage font-sans text-sm tracking-wide transition-colors truncate`,children:e.name},e.slug))})]},t))}),(0,B.jsxs)(`div`,{className:`border-t border-border pt-12 text-center`,children:[(0,B.jsx)(`p`,{className:`font-serif italic text-sage mb-4 text-lg`,children:`Exploring the Pacific Northwest`}),(0,B.jsxs)(`p`,{className:`text-foreground font-sans text-sm tracking-widest uppercase mb-8`,children:[`© `,new Date().getFullYear(),` Oregon Coastal Travel Guide`]}),(0,B.jsxs)(`div`,{className:`flex flex-col sm:flex-row items-center justify-center space-y-2 sm:space-y-0 sm:space-x-2 text-sm font-sans text-foreground`,children:[(0,B.jsx)(`span`,{children:`Want to make a correction?`}),(0,B.jsx)(`a`,{href:`mailto:[email protected]`,className:`text-sage hover:text-primary font-medium transition-colors`,children:`[email protected]`})]})]})]})]})},Wx=({image:e,title:t,author:n,description:r,price:i,buttonText:a,buttonVariant:o=`primary`,externalUrl:s})=>{let c=`
    px-6 py-3 font-sans font-medium uppercase tracking-widest transition-all duration-300 text-xs sm:text-sm inline-block text-center w-full
    shadow-editorial rounded-none hover:-translate-y-1
    ${o===`primary`?`bg-sage text-white hover:bg-primary`:`bg-white text-primary hover:text-sage hover:bg-parchment`}
  `;return(0,B.jsxs)(q.div,{whileHover:{y:-4},transition:{duration:.3},className:`editorial-card overflow-hidden flex flex-col h-full group`,children:[(0,B.jsx)(`div`,{className:`h-64 overflow-hidden relative bg-parchment p-8 flex items-center justify-center`,children:(0,B.jsx)(`img`,{src:e,alt:t,className:`max-h-full max-w-full object-contain drop-shadow-md transition-transform duration-700 group-hover:scale-105`})}),(0,B.jsxs)(`div`,{className:`p-6 md:p-8 flex flex-col flex-grow bg-white`,children:[(0,B.jsx)(`h3`,{className:`text-xl md:text-2xl font-serif font-bold uppercase tracking-widest text-primary mb-2 leading-tight`,children:t}),n&&(0,B.jsx)(`p`,{className:`subheading text-sm mb-5`,children:n}),(0,B.jsx)(`p`,{className:`text-foreground font-sans mb-8 leading-relaxed flex-grow whitespace-pre-line text-sm md:text-base`,children:r}),(0,B.jsxs)(`div`,{className:`pt-6 mt-auto flex flex-col sm:flex-row items-center justify-between gap-4`,children:[(0,B.jsx)(`span`,{className:`text-2xl font-serif font-bold text-primary tracking-widest`,children:i}),s?(0,B.jsx)(`a`,{href:s,target:`_blank`,rel:`noopener noreferrer`,className:c,children:a}):(0,B.jsx)(`button`,{className:c,onClick:()=>{let e=document.createElement(`div`);e.className=`fixed bottom-4 right-4 bg-white shadow-editorial rounded-none p-4 z-50 flex items-center animate-in slide-in-from-bottom-5`,e.innerHTML=`<span class="text-sm font-sans text-primary">Adding ${t} to cart functionality coming soon!</span>`,document.body.appendChild(e),setTimeout(()=>e.remove(),3e3)},children:a})]})]})]})},Gx=()=>(0,B.jsx)(`section`,{className:`bg-gray-50 py-24 px-4 border-t border-gray-100`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`text-center mb-16`,children:[(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4 tracking-tight`,children:`Apps and Books`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-[#2d5016] mx-auto rounded-full mb-6`}),(0,B.jsx)(`p`,{className:`text-xl text-gray-600 max-w-2xl mx-auto`,children:`Bring a piece of the Oregon Coast home with you. Discover our exclusive digital guides and premium photography books.`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 lg:gap-12`,children:[{id:3,image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/7b7557a5114d7222dde2b4cdf56146b3.png`,title:`Introducing Window Into Yachats — Your Guide to Oregon's Most Beautiful Coastal Gem!`,author:``,description:`I'm thrilled to share my new app, Window Into Yachats, featuring my own photography of this stunning little town on the Oregon Coast. Whether you're planning a trip or just dreaming of the sea, this is your complete guide to everything Yachats has to offer.

All in one place, all at your fingertips. 👇`,price:`Free`,buttonText:`GET THE APP`,buttonVariant:`primary`,externalUrl:`https://www.yachats.app`},{id:1,image:`https://images.unsplash.com/photo-1598438974262-f69a002f0195`,title:`Window into Waldport for iPad`,author:`By Daniel Wollin`,description:`Experience the charm of Waldport through this digital collection. Perfect for iPad, this high-resolution visual journey captures the serene bays, forest trails, and bridge views that define this coastal gem. Includes exclusive commentary and travel tips for the perfect weekend getaway.`,price:`$9.99`,buttonText:`BUY NOW`,buttonVariant:`secondary`,externalUrl:`http://bit.ly/1aP5wI7`},{id:2,image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/9185c608795968cb7a79186f58fcb31f.png`,title:`Window into Yachats – Hard Cover Book`,author:`By Daniel Wollin`,description:`A stunning coffee table book featuring the rugged beauty of Yachats. From the crashing waves of Cape Perpetua to the quiet moments in town, this premium hardcover edition features 32 pages of professional photography, local history, and hidden spots known only to locals.`,price:`$26.99`,buttonText:`BUY NOW`,buttonVariant:`secondary`,externalUrl:`https://www.lulu.com/shop/daniel-wollin/window-into-yachats/hardcover/product-p6wwyme.html?page=1&pageSize=4`}].map((e,t)=>(0,B.jsx)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:t*.2},children:(0,B.jsx)(Wx,{...e})},e.id))})]})}),Kx=e=>!e||!Array.isArray(e)||e.length===0?null:{"@context":`https://schema.org`,"@type":`FAQPage`,mainEntity:e.map(e=>({"@type":`Question`,name:e.question||``,acceptedAnswer:{"@type":`Answer`,text:e.answer||``}}))},qx=({question:e,answer:t})=>{let[n,r]=(0,y.useState)(!1);return(0,B.jsxs)(`div`,{className:`shadow-editorial bg-white mb-4 rounded-none`,children:[(0,B.jsxs)(`button`,{onClick:()=>r(!n),className:`w-full py-5 flex items-center justify-between text-left hover:bg-parchment/50 transition-colors group px-6`,"aria-expanded":n,children:[(0,B.jsx)(`span`,{className:`font-serif font-bold text-lg md:text-xl text-primary group-hover:text-sage transition-colors pr-8`,children:e}),(0,B.jsx)(`span`,{className:`text-sage flex-shrink-0`,children:n?(0,B.jsx)(za,{className:`w-5 h-5`}):(0,B.jsx)(Ia,{className:`w-5 h-5`})})]}),(0,B.jsx)(Mb,{children:n&&(0,B.jsx)(q.div,{initial:{height:0,opacity:0},animate:{height:`auto`,opacity:1},exit:{height:0,opacity:0},transition:{duration:.3,ease:`easeInOut`},className:`overflow-hidden`,children:(0,B.jsx)(`div`,{className:`p-6 text-foreground font-sans leading-relaxed text-base md:text-lg bg-parchment/20`,children:t})})})]})},Jx=({faqs:e,title:t=`Frequently Asked Questions`})=>{if(!e||e.length===0)return null;let n=Kx(e);return(0,B.jsxs)(`section`,{className:`py-20 bg-parchment`,children:[n&&(0,B.jsx)(J,{children:(0,B.jsx)(`script`,{type:`application/ld+json`,children:JSON.stringify(n)})}),(0,B.jsxs)(`div`,{className:`max-w-4xl mx-auto px-4`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(`p`,{className:`subheading text-lg md:text-xl mb-4`,children:`Travel insights`}),(0,B.jsx)(`h2`,{className:`text-3xl md:text-5xl font-serif font-bold uppercase tracking-widest text-primary mb-6`,children:t}),(0,B.jsx)(`div`,{className:`w-24 h-px bg-sage mx-auto`})]}),(0,B.jsx)(`div`,{className:`space-y-4`,children:e.map((e,t)=>(0,B.jsx)(qx,{question:e.question,answer:e.answer},t))})]})]})},Yx=[{id:`killer-whales`,name:`Killer Whales`,icon:ro,image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/d22f5d4c42383b7d49e7612828a0cd56.png`,altText:`Killer Whales infographic`,available:!0},{id:`whales`,name:`Whales`,icon:ro,image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/fc7ad6dce875108397af51f212950b44.jpg`,altText:`Whales infographic`,available:!0},{id:`seals`,name:`Seals`,icon:ro,image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/4197eb0a425842076bd797e1f1c2995f.jpg`,altText:`Seals infographic`,available:!0},{id:`sea-lions`,name:`Sea Lions`,icon:ro,image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/25965a0e909ad1eb24933087f802d4dc.jpg`,altText:`Sea Lions infographic`,available:!0},{id:`seaweed`,name:`Seaweed`,icon:rs,image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/d275d0516579c3b5b16f77936d3281ea.jpg`,altText:`Seaweed infographic`,available:!0},{id:`clams`,name:`Clams`,icon:Bo,image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/9d2f373d0a4ff5336ac8f6bf3056f817.jpg`,altText:`Clams infographic`,available:!0},{id:`crabs`,name:`Crabs`,icon:Bo,image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/3e8d6798331caefe0adec7c520f4049c.jpg`,altText:`Crabs infographic`,available:!0},{id:`octopus`,name:`Octopus`,icon:rs,image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/cca2030c6e2e7761a06ae1cd97472bf4.jpg`,altText:`Octopus infographic`,available:!0},{id:`sea-birds`,name:`Sea Birds`,icon:Ta,image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/81da0b9253bdf67afc04390b68a6404e.jpg`,altText:`Sea Birds infographic`,available:!0},{id:`ocean-fish`,name:`Ocean Fish`,icon:ro,image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/dc5ee625e85e559c2d8c0bc33279127d.jpg`,altText:`Ocean Fish infographic`,available:!0},{id:`river-fish`,name:`River Fish`,icon:ya,image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/a513f3241ee7ce8b13bba9a17b90c751.jpg`,altText:`River Fish infographic`,available:!0}],Xx=()=>{let[e,t]=(0,y.useState)(Yx[0]);return(0,B.jsx)(`section`,{className:`py-20 px-4 bg-white border-y border-border`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`text-center mb-16`,children:[(0,B.jsx)(`p`,{className:`subheading text-lg md:text-xl mb-4`,children:`Discover the natural inhabitants`}),(0,B.jsx)(`h2`,{className:`text-3xl md:text-5xl font-serif font-bold uppercase tracking-widest text-primary mb-6`,children:`Wildlife Guide`}),(0,B.jsx)(`div`,{className:`w-24 h-px bg-sage mx-auto mb-6`}),(0,B.jsx)(`p`,{className:`text-lg font-sans text-foreground max-w-3xl mx-auto`,children:`Explore the diverse marine life and coastal wildlife that call the Oregon Coast home. From majestic whales to colorful tide pool creatures, discover what makes our coast unique.`})]}),(0,B.jsxs)(`div`,{className:`hidden md:grid md:grid-cols-[280px_1fr] gap-10`,children:[(0,B.jsx)(q.div,{initial:{opacity:0,x:-30},whileInView:{opacity:1,x:0},viewport:{once:!0},className:`space-y-3`,children:Yx.map(n=>{let r=n.icon,i=e.id===n.id;return(0,B.jsxs)(`button`,{onClick:()=>t(n),className:`w-full text-left px-6 py-4 rounded-md font-sans font-medium uppercase tracking-widest text-sm transition-all duration-300 flex items-center gap-3 ${i?`bg-sage text-white shadow-soft`:`bg-parchment text-primary hover:bg-border/50 border border-transparent`}`,children:[(0,B.jsx)(r,{className:`w-4 h-4 ${i?`text-white`:`text-sage`}`}),(0,B.jsx)(`span`,{className:`flex-1`,children:n.name})]},n.id)})}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},className:`editorial-card overflow-hidden border border-border`,children:(0,B.jsx)(Mb,{mode:`wait`,children:(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.3},className:`p-8 md:p-12 bg-white`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-serif font-bold uppercase tracking-widest text-primary mb-8 border-b border-border pb-4`,children:e.name}),(0,B.jsx)(`div`,{className:`wildlife-image-container bg-parchment p-4 rounded-md`,children:(0,B.jsx)(`img`,{src:e.image,alt:e.altText,className:`w-full h-auto object-contain drop-shadow-sm`})})]},e.id)})})]}),(0,B.jsxs)(`div`,{className:`md:hidden`,children:[(0,B.jsx)(`div`,{className:`overflow-x-auto pb-4 mb-6 custom-scrollbar -mx-4 px-4`,children:(0,B.jsx)(`div`,{className:`flex gap-3 min-w-max`,children:Yx.map(n=>{let r=n.icon,i=e.id===n.id;return(0,B.jsxs)(`button`,{onClick:()=>t(n),className:`px-5 py-3 rounded-md font-sans font-medium uppercase tracking-widest text-xs whitespace-nowrap transition-all duration-300 flex items-center gap-2 ${i?`bg-sage text-white shadow-soft`:`bg-parchment text-primary border border-border`}`,children:[(0,B.jsx)(r,{className:`w-4 h-4 ${i?`text-white`:`text-sage`}`}),(0,B.jsx)(`span`,{children:n.name})]},n.id)})})}),(0,B.jsx)(q.div,{initial:{opacity:0},whileInView:{opacity:1},viewport:{once:!0},className:`editorial-card overflow-hidden border border-border`,children:(0,B.jsx)(Mb,{mode:`wait`,children:(0,B.jsxs)(q.div,{initial:{opacity:0,scale:.98},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.98},transition:{duration:.3},className:`p-6 bg-white`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-serif font-bold uppercase tracking-widest text-primary mb-6 border-b border-border pb-4`,children:e.name}),(0,B.jsx)(`div`,{className:`bg-parchment p-2 rounded-md`,children:(0,B.jsx)(`img`,{src:e.image,alt:e.altText,className:`w-full h-auto object-contain`})})]},e.id)})})]})]})})},Zx=({name:e=`OregonCoastal.com`,description:t=`OregonCoastal.com is an Oregon Coast travel guide featuring hotels, destinations, attractions, dining, and trip-planning information.`,geo:n,url:r=`https://oregoncoastal.com/`,type:i=`LocalBusiness`,breadcrumbs:a})=>{let o={"@context":`https://schema.org`,"@type":i,name:e,description:t,url:r,sameAs:[`https://www.facebook.com/OregonCoastal`,`https://www.etsy.com/shop/OregonCoastal`]};n&&(o.geo={"@type":`GeoCoordinates`,latitude:n.lat,longitude:n.lng});let s=a?{"@context":`https://schema.org`,"@type":`BreadcrumbList`,itemListElement:a.map((e,t)=>({"@type":`ListItem`,position:t+1,name:e.name,item:e.url.startsWith(`http`)?e.url:`https://oregoncoastal.com${e.url}`}))}:null;return(0,B.jsxs)(J,{children:[(0,B.jsx)(`script`,{type:`application/ld+json`,children:JSON.stringify(o)}),s&&(0,B.jsx)(`script`,{type:`application/ld+json`,children:JSON.stringify(s)})]})},Qx=()=>{let e=Object.values(Y).map(e=>e.name),t=[...e,...e];return(0,B.jsx)(`div`,{className:`w-full bg-parchment border-y border-border py-4 overflow-hidden relative flex`,children:(0,B.jsx)(`div`,{className:`flex animate-marquee whitespace-nowrap`,children:t.map((e,t)=>(0,B.jsxs)(`div`,{className:`flex items-center mx-4`,children:[(0,B.jsx)(`span`,{className:`font-serif italic text-sage text-lg px-4`,children:e}),(0,B.jsx)(`span`,{className:`text-border mx-2`,children:`•`})]},t))})})},X=({objectId:e,title:t,sourcePage:n,pageType:r,module:i,affiliateLink:a,theme:o=`light`,className:s})=>{let c=Of();if(!c||!e)return null;let{isSaved:l,toggleBookmark:u,pendingId:d}=c,f=l(e),p=d===e,m={source_page:n,page_type:r,module:i};return(0,B.jsx)(`button`,{type:`button`,"aria-pressed":f,"aria-label":f?`Remove ${t} from your trip`:`Save ${t} to your trip`,title:f?`Remove ${t} from your trip`:`Save ${t} to your trip`,disabled:p,onClick:n=>{n.preventDefault(),n.stopPropagation(),u(e,{title:t,source:m,affiliateLink:a})},className:z(`inline-flex items-center justify-center rounded-full transition-all duration-200 flex-shrink-0`,`w-9 h-9 active:scale-95`,`disabled:opacity-50 disabled:cursor-not-allowed`,o===`dark`?`bg-white/15 text-white hover:bg-white/25 backdrop-blur-sm`:`bg-black/5 text-foreground hover:bg-black/10`,f&&(o===`dark`?`text-amber-300`:`text-sage`),s),children:f?(0,B.jsx)(Da,{className:`w-4 h-4`}):(0,B.jsx)(Oa,{className:`w-4 h-4`})})},$x=({name:e,description:t,slug:n,image:r})=>{let i=Eee(n);return(0,B.jsxs)(q.div,{whileHover:{y:-4},className:`editorial-card overflow-hidden flex flex-col h-full group`,children:[(0,B.jsxs)(un,{to:`/town/${n}`,className:`block h-64 overflow-hidden relative`,children:[(0,B.jsx)(`img`,{src:r,alt:`Explore ${e}`,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-black/10 group-hover:bg-transparent transition-colors duration-300`})]}),(0,B.jsxs)(`div`,{className:`p-6 md:p-8 flex flex-col flex-grow bg-white`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between gap-2 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-2xl md:text-3xl font-serif font-bold uppercase tracking-widest text-primary`,children:e}),i&&(0,B.jsx)(X,{objectId:i.object_id,title:e,sourcePage:`/`,pageType:`homepage`,module:`destination-card`,affiliateLink:null,theme:`light`})]}),(0,B.jsx)(`p`,{className:`font-serif italic text-sage mb-6 leading-relaxed line-clamp-3 flex-grow text-base md:text-lg`,children:t}),(0,B.jsxs)(un,{to:`/town/${n}`,className:`inline-flex items-center text-sage font-sans font-medium tracking-widest hover:text-primary transition-colors mt-auto group-hover:translate-x-1 duration-300 uppercase text-sm`,children:[`Explore `,(0,B.jsx)(xa,{className:`ml-2 w-4 h-4`})]})]})]})},eS=()=>{let e=[Y.astoria,Y[`cannon-beach`],Y.newport,Y.yachats,Y.bandon,Y.brookings].filter(Boolean);return(0,B.jsx)(`section`,{className:`py-20 px-4 bg-white relative border-b border-border`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.p,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},className:`subheading text-xl mb-4`,children:`Curated destinations along the coast`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:.1},className:`text-4xl md:text-5xl font-serif font-bold uppercase tracking-widest text-primary`,children:`Explore the Towns`}),(0,B.jsx)(`div`,{className:`w-24 h-px bg-sage mx-auto mt-8`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 md:gap-10`,children:e.map((e,t)=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},children:(0,B.jsx)($x,{name:e.name,description:e.description,slug:e.route.split(`/`).pop(),image:e.heroImage})},e.name))})]})})},tS=()=>{let e=I(),t=Xe(),n=`Oregon Coast Hotels and Travel Guide`,r=`Plan your perfect trip with our Oregon Coast Hotels and Travel Guide. Discover the best accommodations, oceanfront lodging, attractions, dining, and travel tips across the beautiful Oregon Coast.`,i=Rf(t.pathname),a=zf(`Oregon Coast`,`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/ef2a8c8e278e0a6afb62c1ed916892d4.jpg`);return(0,y.useEffect)(()=>{let e=document.createElement(`script`);return e.src=`https://www.viator.com/orion/partner/widget.js`,e.async=!0,document.body.appendChild(e),document.title=n,Uf(i),Wf(r),Gf(i),Kf(n),qf(r),Jf(a),Yf(n),Xf(r),Zf(a),()=>{document.body.contains(e)&&document.body.removeChild(e)}},[t.pathname,i,n,r,a]),(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`noscript`,{children:(0,B.jsx)(`iframe`,{src:`https://www.googletagmanager.com/ns.html?id=GTM-MNX8L3BH`,height:`0`,width:`0`,style:{display:`none`,visibility:`hidden`}})}),(0,B.jsxs)(J,{children:[(0,B.jsx)(`script`,{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`Organization`,name:`Oregon Coast Hotels and Travel Guide`,url:`https://oregoncoastal.com/`})}),(0,B.jsx)(`script`,{type:`text/javascript`,children:`(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
          new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
          j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
          'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
          })(window,document,'script','dataLayer','GTM-MNX8L3BH');`})]}),(0,B.jsx)(Zx,{}),(0,B.jsxs)(`div`,{className:`min-h-screen bg-background flex flex-col font-sans`,children:[(0,B.jsx)(Vx,{}),(0,B.jsx)(`div`,{className:`relative`,children:(0,B.jsx)(Hx,{})}),(0,B.jsx)(Qx,{}),(0,B.jsx)(`section`,{className:`bg-parchment py-24 px-4 flex-grow border-b border-border`,children:(0,B.jsxs)(`div`,{className:`max-w-4xl mx-auto text-center`,children:[(0,B.jsx)(q.p,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},className:`subheading text-xl md:text-2xl mb-6`,children:`The Pacific Northwest calls`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:.1},className:`text-4xl md:text-6xl font-serif font-bold uppercase tracking-widest text-primary mb-8`,children:`Discover Oregon's Coastal Beauty`}),(0,B.jsx)(`div`,{className:`w-24 h-px bg-sage mx-auto mb-10`}),(0,B.jsx)(q.p,{initial:{opacity:0},whileInView:{opacity:1},viewport:{once:!0},transition:{delay:.2},className:`text-lg md:text-xl text-foreground font-sans leading-relaxed`,children:`From rugged cliffs to sandy beaches, charming coastal towns to world-class dining, the Oregon Coast offers unforgettable experiences for every traveler. Plan your perfect getaway in the Pacific Northwest with our curated guides.`})]})}),(0,B.jsx)(eS,{}),(0,B.jsx)(Xx,{}),(0,B.jsx)(`section`,{className:`py-20 bg-parchment border-y border-border`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto px-4`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(`p`,{className:`subheading text-lg mb-4`,children:`Curated experiences`}),(0,B.jsx)(`h2`,{className:`text-3xl md:text-5xl font-serif font-bold uppercase tracking-widest text-primary mb-6`,children:`Recommended Tours`}),(0,B.jsx)(`div`,{className:`w-24 h-px bg-sage mx-auto`})]}),(0,B.jsx)(`div`,{className:`editorial-card p-4 md:p-8 bg-white`,children:(0,B.jsx)(`div`,{"data-vi-partner-id":`P00287872`,"data-vi-widget-ref":`W-ac581dda-8b2c-4289-b142-c09c1933db68`,className:`min-h-[250px]`})})]})}),(0,B.jsx)(Jx,{faqs:[{question:`What are the three regions of the Oregon Coast?`,answer:`The Oregon Coast is divided into the North Coast (Astoria to Pacific City), Central Coast (Lincoln City to Florence), and South Coast (Reedsport to Brookings).`},{question:`When is the best time to visit the Oregon Coast?`,answer:`Summer (July-September) offers the warmest weather, while Winter provides dramatic storm watching. Fall (September-October) is often considered the 'locals' secret' for great weather and fewer crowds.`},{question:`Where are the best hotels on the Oregon Coast?`,answer:`The best hotels are scattered across the coast, from luxury oceanfront resorts in Cannon Beach and Salishan to cozy boutique inns in Yachats and Bandon.`},{question:`What are the best towns for family-friendly hotels?`,answer:`Seaside and Lincoln City are top choices for families, offering beachfront hotels with pools, easy access to arcades, and family-friendly dining.`},{question:`What are the most romantic hotels for couples?`,answer:`For a romantic getaway, consider luxury lodges in Cannon Beach, secluded cliffside retreats near Depoe Bay, or intimate bed and breakfasts in Astoria.`},{question:`Are there pet-friendly hotels on the Oregon Coast?`,answer:`Yes, the Oregon Coast is incredibly dog-friendly! Many hotels, motels, and vacation rentals welcome pets, especially in towns like Lincoln City, Seaside, and Florence.`}],title:`Trip Planning FAQs`}),(0,B.jsx)(Gx,{}),(0,B.jsx)(`section`,{className:`py-24 px-4 bg-white border-t border-border`,children:(0,B.jsx)(`div`,{className:`max-w-4xl mx-auto text-center`,children:(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7},className:`editorial-card p-10 md:p-16 bg-parchment`,children:[(0,B.jsx)(`p`,{className:`subheading text-xl mb-4`,children:`Partner with us`}),(0,B.jsx)(`h2`,{className:`text-3xl md:text-5xl font-serif font-bold uppercase tracking-widest text-primary mb-8 leading-tight`,children:`Own a Property on the Coast?`}),(0,B.jsxs)(`p`,{className:`text-lg text-foreground font-sans mb-10 leading-relaxed`,children:[`We manage Oregon Coast vacation rentals for owners who want a full calendar without the hassle. Our flagship property in Yachats has just `,(0,B.jsx)(`span`,{className:`font-bold text-sage`,children:`9 open nights`}),` between May and October.`]}),(0,B.jsxs)(`button`,{onClick:()=>{e(`/host`),window.scrollTo(0,0)},className:`inline-flex items-center gap-3 bg-sage hover:bg-primary text-white font-sans font-medium uppercase tracking-widest px-8 py-4 rounded-md shadow-soft hover:shadow-soft-hover transition-all duration-300`,children:[`Learn More`,(0,B.jsx)(xa,{className:`w-5 h-5`})]})]})})}),(0,B.jsx)(`section`,{className:`bg-parchment py-20 border-t border-border`,"aria-labelledby":`live-whale-sightings-heading`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto px-4`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-10`,children:[(0,B.jsx)(`h2`,{id:`live-whale-sightings-heading`,className:`text-3xl md:text-5xl font-serif font-bold uppercase tracking-widest text-primary`,children:`Live Whale Sightings Near You`}),(0,B.jsx)(`div`,{className:`w-24 h-px bg-sage mx-auto mt-6`})]}),(0,B.jsx)(`div`,{style:{maxWidth:`900px`,margin:`0 auto`,padding:`20px 16px`},children:(0,B.jsx)(`iframe`,{src:`https://whalewatching.live/embed-oregoncoastal.html`,title:`Live Oregon Coast Whale Sightings`,width:`100%`,height:`520`,style:{border:0,borderRadius:`12px`,display:`block`},loading:`lazy`,allow:`notifications`})})]})}),(0,B.jsx)(Ux,{})]})]})};function nS(){return(0,B.jsx)(St,{to:`/hotels-map`,replace:!0})}function rS(e,t){let n=(0,iS.useRef)(t);(0,iS.useEffect)(function(){t!==n.current&&e.attributionControl!=null&&(n.current!=null&&e.attributionControl.removeAttribution(n.current),t!=null&&e.attributionControl.addAttribution(t)),n.current=t},[e,t])}var iS,aS=o((()=>{iS=u(p(),1)}));function oS(e,t,n){t.center!==n.center&&e.setLatLng(t.center),t.radius!=null&&t.radius!==n.radius&&e.setRadius(t.radius)}var sS=o((()=>{}));function cS(e){return Object.freeze({__version:1,map:e})}function lS(e,t){return Object.freeze({...e,...t})}function uS(){let e=(0,dS.useContext)(fS);if(e==null)throw Error(`No context provided: useLeafletContext() can only be used in a descendant of <MapContainer>`);return e}var dS,fS,pS,mS=o((()=>{dS=u(p(),1),fS=(0,dS.createContext)(null),pS=fS.Provider}));function hS(e){function t(t,n){let{instance:r,context:i}=e(t).current;return(0,vS.useImperativeHandle)(n,()=>r),t.children==null?null:vS.createElement(pS,{value:i},t.children)}return(0,vS.forwardRef)(t)}function gS(e){function t(t,n){let[r,i]=(0,vS.useState)(!1),{instance:a}=e(t,i).current;(0,vS.useImperativeHandle)(n,()=>a),(0,vS.useEffect)(function(){r&&a.update()},[a,r,t.children]);let o=a._contentNode;return o?(0,yS.createPortal)(t.children,o):null}return(0,vS.forwardRef)(t)}function _S(e){function t(t,n){let{instance:r}=e(t).current;return(0,vS.useImperativeHandle)(n,()=>r),null}return(0,vS.forwardRef)(t)}var vS,yS,bS=o((()=>{vS=u(p(),1),yS=u(_(),1),mS()}));function xS(e){return function(t){let n=uS(),r=e(t,n),{instance:i}=r.current,a=(0,SS.useRef)(t.position),{position:o}=t;return(0,SS.useEffect)(function(){return i.addTo(n.map),function(){i.remove()}},[n.map,i]),(0,SS.useEffect)(function(){o!=null&&o!==a.current&&(i.setPosition(o),a.current=o)},[i,o]),r}}var SS,CS=o((()=>{SS=u(p(),1),mS()}));function wS(e,t){let n=(0,TS.useRef)();(0,TS.useEffect)(function(){return t!=null&&e.instance.on(t),n.current=t,function(){n.current!=null&&e.instance.off(n.current),n.current=null}},[e,t])}var TS,ES=o((()=>{TS=u(p(),1)}));function DS(e,t){let n=e.pane??t.pane;return n?{...e,pane:n}:e}var OS=o((()=>{}));function kS(e,t){return function(n,r){let i=uS(),a=e(DS(n,i),i);return rS(i.map,n.attribution),wS(a.current,n.eventHandlers),t(a.current,i,n,r),a}}var AS=o((()=>{aS(),mS(),ES(),OS()})),jS=s(((e,t,n)=>{(function(n,r){typeof e==`object`&&t!==void 0?r(e):typeof define==`function`&&define.amd?define([`exports`],r):(n=typeof globalThis<`u`?globalThis:n||self,r(n.leaflet={}))})(n,(function(e){var t=`1.9.4`;function n(e){for(var t,n=1,r=arguments.length,i;n<r;n++)for(t in i=arguments[n],i)e[t]=i[t];return e}var r=Object.create||(function(){function e(){}return function(t){return e.prototype=t,new e}})();function i(e,t){var n=Array.prototype.slice;if(e.bind)return e.bind.apply(e,n.call(arguments,1));var r=n.call(arguments,2);return function(){return e.apply(t,r.length?r.concat(n.call(arguments)):arguments)}}var a=0;function o(e){return`_leaflet_id`in e||(e._leaflet_id=++a),e._leaflet_id}function s(e,t,n){var r,i,a,o=function(){r=!1,i&&=(a.apply(n,i),!1)};return a=function(){r?i=arguments:(e.apply(n,arguments),setTimeout(o,t),r=!0)},a}function c(e,t,n){var r=t[1],i=t[0],a=r-i;return e===r&&n?e:((e-i)%a+a)%a+i}function l(){return!1}function u(e,t){if(t===!1)return e;var n=10**(t===void 0?6:t);return Math.round(e*n)/n}function d(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,``)}function f(e){return d(e).split(/\s+/)}function p(e,t){for(var n in Object.prototype.hasOwnProperty.call(e,`options`)||(e.options=e.options?r(e.options):{}),t)e.options[n]=t[n];return e.options}function m(e,t,n){var r=[];for(var i in e)r.push(encodeURIComponent(n?i.toUpperCase():i)+`=`+encodeURIComponent(e[i]));return(!t||t.indexOf(`?`)===-1?`?`:`&`)+r.join(`&`)}var h=/\{ *([\w_ -]+) *\}/g;function g(e,t){return e.replace(h,function(e,n){var r=t[n];if(r===void 0)throw Error(`No value provided for variable `+e);return typeof r==`function`&&(r=r(t)),r})}var _=Array.isArray||function(e){return Object.prototype.toString.call(e)===`[object Array]`};function v(e,t){for(var n=0;n<e.length;n++)if(e[n]===t)return n;return-1}var y=`data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=`;function b(e){return window[`webkit`+e]||window[`moz`+e]||window[`ms`+e]}var x=0;function S(e){var t=+new Date,n=Math.max(0,16-(t-x));return x=t+n,window.setTimeout(e,n)}var C=window.requestAnimationFrame||b(`RequestAnimationFrame`)||S,w=window.cancelAnimationFrame||b(`CancelAnimationFrame`)||b(`CancelRequestAnimationFrame`)||function(e){window.clearTimeout(e)};function T(e,t,n){if(n&&C===S)e.call(t);else return C.call(window,i(e,t))}function E(e){e&&w.call(window,e)}var D={__proto__:null,extend:n,create:r,bind:i,get lastId(){return a},stamp:o,throttle:s,wrapNum:c,falseFn:l,formatNum:u,trim:d,splitWords:f,setOptions:p,getParamString:m,template:g,isArray:_,indexOf:v,emptyImageUrl:y,requestFn:C,cancelFn:w,requestAnimFrame:T,cancelAnimFrame:E};function O(){}O.extend=function(e){var t=function(){p(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},i=t.__super__=this.prototype,a=r(i);for(var o in a.constructor=t,t.prototype=a,this)Object.prototype.hasOwnProperty.call(this,o)&&o!==`prototype`&&o!==`__super__`&&(t[o]=this[o]);return e.statics&&n(t,e.statics),e.includes&&(k(e.includes),n.apply(null,[a].concat(e.includes))),n(a,e),delete a.statics,delete a.includes,a.options&&(a.options=i.options?r(i.options):{},n(a.options,e.options)),a._initHooks=[],a.callInitHooks=function(){if(!this._initHooksCalled){i.callInitHooks&&i.callInitHooks.call(this),this._initHooksCalled=!0;for(var e=0,t=a._initHooks.length;e<t;e++)a._initHooks[e].call(this)}},t},O.include=function(e){var t=this.prototype.options;return n(this.prototype,e),e.options&&(this.prototype.options=t,this.mergeOptions(e.options)),this},O.mergeOptions=function(e){return n(this.prototype.options,e),this},O.addInitHook=function(e){var t=Array.prototype.slice.call(arguments,1),n=typeof e==`function`?e:function(){this[e].apply(this,t)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(n),this};function k(e){if(typeof L<`u`&&L&&L.Mixin){e=_(e)?e:[e];for(var t=0;t<e.length;t++)e[t]===L.Mixin.Events&&console.warn(`Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.`,Error().stack)}}var A={on:function(e,t,n){if(typeof e==`object`)for(var r in e)this._on(r,e[r],t);else{e=f(e);for(var i=0,a=e.length;i<a;i++)this._on(e[i],t,n)}return this},off:function(e,t,n){if(!arguments.length)delete this._events;else if(typeof e==`object`)for(var r in e)this._off(r,e[r],t);else{e=f(e);for(var i=arguments.length===1,a=0,o=e.length;a<o;a++)i?this._off(e[a]):this._off(e[a],t,n)}return this},_on:function(e,t,n,r){if(typeof t!=`function`)console.warn(`wrong listener type: `+typeof t);else if(this._listens(e,t,n)===!1){n===this&&(n=void 0);var i={fn:t,ctx:n};r&&(i.once=!0),this._events=this._events||{},this._events[e]=this._events[e]||[],this._events[e].push(i)}},_off:function(e,t,n){var r,i,a;if(this._events&&(r=this._events[e],r)){if(arguments.length===1){if(this._firingCount)for(i=0,a=r.length;i<a;i++)r[i].fn=l;delete this._events[e]}else if(typeof t!=`function`)console.warn(`wrong listener type: `+typeof t);else{var o=this._listens(e,t,n);if(o!==!1){var s=r[o];this._firingCount&&(s.fn=l,this._events[e]=r=r.slice()),r.splice(o,1)}}}},fire:function(e,t,r){if(!this.listens(e,r))return this;var i=n({},t,{type:e,target:this,sourceTarget:t&&t.sourceTarget||this});if(this._events){var a=this._events[e];if(a){this._firingCount=this._firingCount+1||1;for(var o=0,s=a.length;o<s;o++){var c=a[o],l=c.fn;c.once&&this.off(e,l,c.ctx),l.call(c.ctx||this,i)}this._firingCount--}}return r&&this._propagateEvent(i),this},listens:function(e,t,n,r){typeof e!=`string`&&console.warn(`"string" type argument expected`);var i=t;typeof t!=`function`&&(r=!!t,i=void 0,n=void 0);var a=this._events&&this._events[e];if(a&&a.length&&this._listens(e,i,n)!==!1)return!0;if(r){for(var o in this._eventParents)if(this._eventParents[o].listens(e,t,n,r))return!0}return!1},_listens:function(e,t,n){if(!this._events)return!1;var r=this._events[e]||[];if(!t)return!!r.length;n===this&&(n=void 0);for(var i=0,a=r.length;i<a;i++)if(r[i].fn===t&&r[i].ctx===n)return i;return!1},once:function(e,t,n){if(typeof e==`object`)for(var r in e)this._on(r,e[r],t,!0);else{e=f(e);for(var i=0,a=e.length;i<a;i++)this._on(e[i],t,n,!0)}return this},addEventParent:function(e){return this._eventParents=this._eventParents||{},this._eventParents[o(e)]=e,this},removeEventParent:function(e){return this._eventParents&&delete this._eventParents[o(e)],this},_propagateEvent:function(e){for(var t in this._eventParents)this._eventParents[t].fire(e.type,n({layer:e.target,propagatedFrom:e.target},e),!0)}};A.addEventListener=A.on,A.removeEventListener=A.clearAllEventListeners=A.off,A.addOneTimeEventListener=A.once,A.fireEvent=A.fire,A.hasEventListeners=A.listens;var ee=O.extend(A);function j(e,t,n){this.x=n?Math.round(e):e,this.y=n?Math.round(t):t}var M=Math.trunc||function(e){return e>0?Math.floor(e):Math.ceil(e)};j.prototype={clone:function(){return new j(this.x,this.y)},add:function(e){return this.clone()._add(N(e))},_add:function(e){return this.x+=e.x,this.y+=e.y,this},subtract:function(e){return this.clone()._subtract(N(e))},_subtract:function(e){return this.x-=e.x,this.y-=e.y,this},divideBy:function(e){return this.clone()._divideBy(e)},_divideBy:function(e){return this.x/=e,this.y/=e,this},multiplyBy:function(e){return this.clone()._multiplyBy(e)},_multiplyBy:function(e){return this.x*=e,this.y*=e,this},scaleBy:function(e){return new j(this.x*e.x,this.y*e.y)},unscaleBy:function(e){return new j(this.x/e.x,this.y/e.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=M(this.x),this.y=M(this.y),this},distanceTo:function(e){e=N(e);var t=e.x-this.x,n=e.y-this.y;return Math.sqrt(t*t+n*n)},equals:function(e){return e=N(e),e.x===this.x&&e.y===this.y},contains:function(e){return e=N(e),Math.abs(e.x)<=Math.abs(this.x)&&Math.abs(e.y)<=Math.abs(this.y)},toString:function(){return`Point(`+u(this.x)+`, `+u(this.y)+`)`}};function N(e,t,n){return e instanceof j?e:_(e)?new j(e[0],e[1]):e==null?e:typeof e==`object`&&`x`in e&&`y`in e?new j(e.x,e.y):new j(e,t,n)}function P(e,t){if(e)for(var n=t?[e,t]:e,r=0,i=n.length;r<i;r++)this.extend(n[r])}P.prototype={extend:function(e){var t,n;if(!e)return this;if(e instanceof j||typeof e[0]==`number`||`x`in e)t=n=N(e);else if(e=te(e),t=e.min,n=e.max,!t||!n)return this;return!this.min&&!this.max?(this.min=t.clone(),this.max=n.clone()):(this.min.x=Math.min(t.x,this.min.x),this.max.x=Math.max(n.x,this.max.x),this.min.y=Math.min(t.y,this.min.y),this.max.y=Math.max(n.y,this.max.y)),this},getCenter:function(e){return N((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,e)},getBottomLeft:function(){return N(this.min.x,this.max.y)},getTopRight:function(){return N(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(e){var t,n;return e=typeof e[0]==`number`||e instanceof j?N(e):te(e),e instanceof P?(t=e.min,n=e.max):t=n=e,t.x>=this.min.x&&n.x<=this.max.x&&t.y>=this.min.y&&n.y<=this.max.y},intersects:function(e){e=te(e);var t=this.min,n=this.max,r=e.min,i=e.max,a=i.x>=t.x&&r.x<=n.x,o=i.y>=t.y&&r.y<=n.y;return a&&o},overlaps:function(e){e=te(e);var t=this.min,n=this.max,r=e.min,i=e.max,a=i.x>t.x&&r.x<n.x,o=i.y>t.y&&r.y<n.y;return a&&o},isValid:function(){return!!(this.min&&this.max)},pad:function(e){var t=this.min,n=this.max,r=Math.abs(t.x-n.x)*e,i=Math.abs(t.y-n.y)*e;return te(N(t.x-r,t.y-i),N(n.x+r,n.y+i))},equals:function(e){return e?(e=te(e),this.min.equals(e.getTopLeft())&&this.max.equals(e.getBottomRight())):!1}};function te(e,t){return!e||e instanceof P?e:new P(e,t)}function ne(e,t){if(e)for(var n=t?[e,t]:e,r=0,i=n.length;r<i;r++)this.extend(n[r])}ne.prototype={extend:function(e){var t=this._southWest,n=this._northEast,r,i;if(e instanceof F)r=e,i=e;else if(e instanceof ne){if(r=e._southWest,i=e._northEast,!r||!i)return this}else return e?this.extend(ie(e)||re(e)):this;return!t&&!n?(this._southWest=new F(r.lat,r.lng),this._northEast=new F(i.lat,i.lng)):(t.lat=Math.min(r.lat,t.lat),t.lng=Math.min(r.lng,t.lng),n.lat=Math.max(i.lat,n.lat),n.lng=Math.max(i.lng,n.lng)),this},pad:function(e){var t=this._southWest,n=this._northEast,r=Math.abs(t.lat-n.lat)*e,i=Math.abs(t.lng-n.lng)*e;return new ne(new F(t.lat-r,t.lng-i),new F(n.lat+r,n.lng+i))},getCenter:function(){return new F((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new F(this.getNorth(),this.getWest())},getSouthEast:function(){return new F(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(e){e=typeof e[0]==`number`||e instanceof F||`lat`in e?ie(e):re(e);var t=this._southWest,n=this._northEast,r,i;return e instanceof ne?(r=e.getSouthWest(),i=e.getNorthEast()):r=i=e,r.lat>=t.lat&&i.lat<=n.lat&&r.lng>=t.lng&&i.lng<=n.lng},intersects:function(e){e=re(e);var t=this._southWest,n=this._northEast,r=e.getSouthWest(),i=e.getNorthEast(),a=i.lat>=t.lat&&r.lat<=n.lat,o=i.lng>=t.lng&&r.lng<=n.lng;return a&&o},overlaps:function(e){e=re(e);var t=this._southWest,n=this._northEast,r=e.getSouthWest(),i=e.getNorthEast(),a=i.lat>t.lat&&r.lat<n.lat,o=i.lng>t.lng&&r.lng<n.lng;return a&&o},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(`,`)},equals:function(e,t){return e?(e=re(e),this._southWest.equals(e.getSouthWest(),t)&&this._northEast.equals(e.getNorthEast(),t)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function re(e,t){return e instanceof ne?e:new ne(e,t)}function F(e,t,n){if(isNaN(e)||isNaN(t))throw Error(`Invalid LatLng object: (`+e+`, `+t+`)`);this.lat=+e,this.lng=+t,n!==void 0&&(this.alt=+n)}F.prototype={equals:function(e,t){return e?(e=ie(e),Math.max(Math.abs(this.lat-e.lat),Math.abs(this.lng-e.lng))<=(t===void 0?1e-9:t)):!1},toString:function(e){return`LatLng(`+u(this.lat,e)+`, `+u(this.lng,e)+`)`},distanceTo:function(e){return oe.distance(this,ie(e))},wrap:function(){return oe.wrapLatLng(this)},toBounds:function(e){var t=180*e/40075017,n=t/Math.cos(Math.PI/180*this.lat);return re([this.lat-t,this.lng-n],[this.lat+t,this.lng+n])},clone:function(){return new F(this.lat,this.lng,this.alt)}};function ie(e,t,n){return e instanceof F?e:_(e)&&typeof e[0]!=`object`?e.length===3?new F(e[0],e[1],e[2]):e.length===2?new F(e[0],e[1]):null:e==null?e:typeof e==`object`&&`lat`in e?new F(e.lat,`lng`in e?e.lng:e.lon,e.alt):t===void 0?null:new F(e,t,n)}var ae={latLngToPoint:function(e,t){var n=this.projection.project(e),r=this.scale(t);return this.transformation._transform(n,r)},pointToLatLng:function(e,t){var n=this.scale(t),r=this.transformation.untransform(e,n);return this.projection.unproject(r)},project:function(e){return this.projection.project(e)},unproject:function(e){return this.projection.unproject(e)},scale:function(e){return 256*2**e},zoom:function(e){return Math.log(e/256)/Math.LN2},getProjectedBounds:function(e){if(this.infinite)return null;var t=this.projection.bounds,n=this.scale(e);return new P(this.transformation.transform(t.min,n),this.transformation.transform(t.max,n))},infinite:!1,wrapLatLng:function(e){var t=this.wrapLng?c(e.lng,this.wrapLng,!0):e.lng,n=this.wrapLat?c(e.lat,this.wrapLat,!0):e.lat,r=e.alt;return new F(n,t,r)},wrapLatLngBounds:function(e){var t=e.getCenter(),n=this.wrapLatLng(t),r=t.lat-n.lat,i=t.lng-n.lng;if(r===0&&i===0)return e;var a=e.getSouthWest(),o=e.getNorthEast();return new ne(new F(a.lat-r,a.lng-i),new F(o.lat-r,o.lng-i))}},oe=n({},ae,{wrapLng:[-180,180],R:6371e3,distance:function(e,t){var n=Math.PI/180,r=e.lat*n,i=t.lat*n,a=Math.sin((t.lat-e.lat)*n/2),o=Math.sin((t.lng-e.lng)*n/2),s=a*a+Math.cos(r)*Math.cos(i)*o*o,c=2*Math.atan2(Math.sqrt(s),Math.sqrt(1-s));return this.R*c}}),se=6378137,ce={R:se,MAX_LATITUDE:85.0511287798,project:function(e){var t=Math.PI/180,n=this.MAX_LATITUDE,r=Math.max(Math.min(n,e.lat),-n),i=Math.sin(r*t);return new j(this.R*e.lng*t,this.R*Math.log((1+i)/(1-i))/2)},unproject:function(e){var t=180/Math.PI;return new F((2*Math.atan(Math.exp(e.y/this.R))-Math.PI/2)*t,e.x*t/this.R)},bounds:(function(){var e=se*Math.PI;return new P([-e,-e],[e,e])})()};function le(e,t,n,r){_(e)?(this._a=e[0],this._b=e[1],this._c=e[2],this._d=e[3]):(this._a=e,this._b=t,this._c=n,this._d=r)}le.prototype={transform:function(e,t){return this._transform(e.clone(),t)},_transform:function(e,t){return t||=1,e.x=t*(this._a*e.x+this._b),e.y=t*(this._c*e.y+this._d),e},untransform:function(e,t){return t||=1,new j((e.x/t-this._b)/this._a,(e.y/t-this._d)/this._c)}};function ue(e,t,n,r){return new le(e,t,n,r)}var de=n({},oe,{code:`EPSG:3857`,projection:ce,transformation:function(){var e=.5/(Math.PI*ce.R);return ue(e,.5,-e,.5)}()}),fe=n({},de,{code:`EPSG:900913`});function pe(e){return document.createElementNS(`http://www.w3.org/2000/svg`,e)}function me(e,t){for(var n=``,r=0,i,a=e.length,o,s,c;r<a;r++){for(s=e[r],i=0,o=s.length;i<o;i++)c=s[i],n+=(i?`L`:`M`)+c.x+` `+c.y;n+=t?I.svg?`z`:`x`:``}return n||`M0 0`}var he=document.documentElement.style,ge=`ActiveXObject`in window,_e=ge&&!document.addEventListener,ve=`msLaunchUri`in navigator&&!(`documentMode`in document),ye=Qe(`webkit`),be=Qe(`android`),xe=Qe(`android 2`)||Qe(`android 3`),Se=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),Ce=be&&Qe(`Google`)&&Se<537&&!(`AudioNode`in window),we=!!window.opera,Te=!ve&&Qe(`chrome`),Ee=Qe(`gecko`)&&!ye&&!we&&!ge,De=!Te&&Qe(`safari`),Oe=Qe(`phantom`),ke=`OTransition`in he,Ae=navigator.platform.indexOf(`Win`)===0,je=ge&&`transition`in he,Me=`WebKitCSSMatrix`in window&&`m11`in new window.WebKitCSSMatrix&&!xe,Ne=`MozPerspective`in he,Pe=!window.L_DISABLE_3D&&(je||Me||Ne)&&!ke&&!Oe,Fe=typeof orientation<`u`||Qe(`mobile`),Ie=Fe&&ye,Le=Fe&&Me,Re=!window.PointerEvent&&window.MSPointerEvent,ze=!!(window.PointerEvent||Re),Be=`ontouchstart`in window||!!window.TouchEvent,Ve=!window.L_NO_TOUCH&&(Be||ze),He=Fe&&we,Ue=Fe&&Ee,We=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,Ge=function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener(`testPassiveEventSupport`,l,t),window.removeEventListener(`testPassiveEventSupport`,l,t)}catch{}return e}(),Ke=function(){return!!document.createElement(`canvas`).getContext}(),qe=!!(document.createElementNS&&pe(`svg`).createSVGRect),Je=!!qe&&(function(){var e=document.createElement(`div`);return e.innerHTML=`<svg/>`,(e.firstChild&&e.firstChild.namespaceURI)===`http://www.w3.org/2000/svg`})(),Ye=!qe&&function(){try{var e=document.createElement(`div`);e.innerHTML=`<v:shape adj="1"/>`;var t=e.firstChild;return t.style.behavior=`url(#default#VML)`,t&&typeof t.adj==`object`}catch{return!1}}(),Xe=navigator.platform.indexOf(`Mac`)===0,Ze=navigator.platform.indexOf(`Linux`)===0;function Qe(e){return navigator.userAgent.toLowerCase().indexOf(e)>=0}var I={ie:ge,ielt9:_e,edge:ve,webkit:ye,android:be,android23:xe,androidStock:Ce,opera:we,chrome:Te,gecko:Ee,safari:De,phantom:Oe,opera12:ke,win:Ae,ie3d:je,webkit3d:Me,gecko3d:Ne,any3d:Pe,mobile:Fe,mobileWebkit:Ie,mobileWebkit3d:Le,msPointer:Re,pointer:ze,touch:Ve,touchNative:Be,mobileOpera:He,mobileGecko:Ue,retina:We,passiveEvents:Ge,canvas:Ke,svg:qe,vml:Ye,inlineSvg:Je,mac:Xe,linux:Ze},$e=I.msPointer?`MSPointerDown`:`pointerdown`,et=I.msPointer?`MSPointerMove`:`pointermove`,tt=I.msPointer?`MSPointerUp`:`pointerup`,nt=I.msPointer?`MSPointerCancel`:`pointercancel`,rt={touchstart:$e,touchmove:et,touchend:tt,touchcancel:nt},it={touchstart:mt,touchmove:pt,touchend:pt,touchcancel:pt},at={},ot=!1;function st(e,t,n){return t===`touchstart`&&ft(),it[t]?(n=it[t].bind(this,n),e.addEventListener(rt[t],n,!1),n):(console.warn(`wrong event specified:`,t),l)}function ct(e,t,n){rt[t]?e.removeEventListener(rt[t],n,!1):console.warn(`wrong event specified:`,t)}function lt(e){at[e.pointerId]=e}function ut(e){at[e.pointerId]&&(at[e.pointerId]=e)}function dt(e){delete at[e.pointerId]}function ft(){ot||=(document.addEventListener($e,lt,!0),document.addEventListener(et,ut,!0),document.addEventListener(tt,dt,!0),document.addEventListener(nt,dt,!0),!0)}function pt(e,t){if(t.pointerType!==(t.MSPOINTER_TYPE_MOUSE||`mouse`)){for(var n in t.touches=[],at)t.touches.push(at[n]);t.changedTouches=[t],e(t)}}function mt(e,t){t.MSPOINTER_TYPE_TOUCH&&t.pointerType===t.MSPOINTER_TYPE_TOUCH&&ln(t),pt(e,t)}function ht(e){var t={},n,r;for(r in e)n=e[r],t[r]=n&&n.bind?n.bind(e):n;return e=t,t.type=`dblclick`,t.detail=2,t.isTrusted=!1,t._simulated=!0,t}var gt=200;function _t(e,t){e.addEventListener(`dblclick`,t);var n=0,r;function i(e){if(e.detail!==1)r=e.detail;else if(!(e.pointerType===`mouse`||e.sourceCapabilities&&!e.sourceCapabilities.firesTouchEvents)){var i=dn(e);if(!i.some(function(e){return e instanceof HTMLLabelElement&&e.attributes.for})||i.some(function(e){return e instanceof HTMLInputElement||e instanceof HTMLSelectElement})){var a=Date.now();a-n<=gt?(r++,r===2&&t(ht(e))):r=1,n=a}}}return e.addEventListener(`click`,i),{dblclick:t,simDblclick:i}}function vt(e,t){e.removeEventListener(`dblclick`,t.dblclick),e.removeEventListener(`click`,t.simDblclick)}var yt=Ft([`transform`,`webkitTransform`,`OTransform`,`MozTransform`,`msTransform`]),bt=Ft([`webkitTransition`,`transition`,`OTransition`,`MozTransition`,`msTransition`]),xt=bt===`webkitTransition`||bt===`OTransition`?bt+`End`:`transitionend`;function St(e){return typeof e==`string`?document.getElementById(e):e}function R(e,t){var n=e.style[t]||e.currentStyle&&e.currentStyle[t];if((!n||n===`auto`)&&document.defaultView){var r=document.defaultView.getComputedStyle(e,null);n=r?r[t]:null}return n===`auto`?null:n}function Ct(e,t,n){var r=document.createElement(e);return r.className=t||``,n&&n.appendChild(r),r}function wt(e){var t=e.parentNode;t&&t.removeChild(e)}function Tt(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function Et(e){var t=e.parentNode;t&&t.lastChild!==e&&t.appendChild(e)}function Dt(e){var t=e.parentNode;t&&t.firstChild!==e&&t.insertBefore(e,t.firstChild)}function Ot(e,t){if(e.classList!==void 0)return e.classList.contains(t);var n=Mt(e);return n.length>0&&RegExp(`(^|\\s)`+t+`(\\s|$)`).test(n)}function kt(e,t){if(e.classList!==void 0)for(var n=f(t),r=0,i=n.length;r<i;r++)e.classList.add(n[r]);else if(!Ot(e,t)){var a=Mt(e);jt(e,(a?a+` `:``)+t)}}function At(e,t){e.classList===void 0?jt(e,d((` `+Mt(e)+` `).replace(` `+t+` `,` `))):e.classList.remove(t)}function jt(e,t){e.className.baseVal===void 0?e.className=t:e.className.baseVal=t}function Mt(e){return e.correspondingElement&&(e=e.correspondingElement),e.className.baseVal===void 0?e.className:e.className.baseVal}function Nt(e,t){`opacity`in e.style?e.style.opacity=t:`filter`in e.style&&Pt(e,t)}function Pt(e,t){var n=!1,r=`DXImageTransform.Microsoft.Alpha`;try{n=e.filters.item(r)}catch{if(t===1)return}t=Math.round(t*100),n?(n.Enabled=t!==100,n.Opacity=t):e.style.filter+=` progid:`+r+`(opacity=`+t+`)`}function Ft(e){for(var t=document.documentElement.style,n=0;n<e.length;n++)if(e[n]in t)return e[n];return!1}function It(e,t,n){var r=t||new j(0,0);e.style[yt]=(I.ie3d?`translate(`+r.x+`px,`+r.y+`px)`:`translate3d(`+r.x+`px,`+r.y+`px,0)`)+(n?` scale(`+n+`)`:``)}function Lt(e,t){e._leaflet_pos=t,I.any3d?It(e,t):(e.style.left=t.x+`px`,e.style.top=t.y+`px`)}function Rt(e){return e._leaflet_pos||new j(0,0)}var zt,Bt,Vt;if(`onselectstart`in document)zt=function(){Qt(window,`selectstart`,ln)},Bt=function(){en(window,`selectstart`,ln)};else{var Ht=Ft([`userSelect`,`WebkitUserSelect`,`OUserSelect`,`MozUserSelect`,`msUserSelect`]);zt=function(){if(Ht){var e=document.documentElement.style;Vt=e[Ht],e[Ht]=`none`}},Bt=function(){Ht&&(document.documentElement.style[Ht]=Vt,Vt=void 0)}}function Ut(){Qt(window,`dragstart`,ln)}function Wt(){en(window,`dragstart`,ln)}var Gt,Kt;function qt(e){for(;e.tabIndex===-1;)e=e.parentNode;e.style&&(Jt(),Gt=e,Kt=e.style.outlineStyle,e.style.outlineStyle=`none`,Qt(window,`keydown`,Jt))}function Jt(){Gt&&(Gt.style.outlineStyle=Kt,Gt=void 0,Kt=void 0,en(window,`keydown`,Jt))}function Yt(e){do e=e.parentNode;while((!e.offsetWidth||!e.offsetHeight)&&e!==document.body);return e}function Xt(e){var t=e.getBoundingClientRect();return{x:t.width/e.offsetWidth||1,y:t.height/e.offsetHeight||1,boundingClientRect:t}}var Zt={__proto__:null,TRANSFORM:yt,TRANSITION:bt,TRANSITION_END:xt,get:St,getStyle:R,create:Ct,remove:wt,empty:Tt,toFront:Et,toBack:Dt,hasClass:Ot,addClass:kt,removeClass:At,setClass:jt,getClass:Mt,setOpacity:Nt,testProp:Ft,setTransform:It,setPosition:Lt,getPosition:Rt,get disableTextSelection(){return zt},get enableTextSelection(){return Bt},disableImageDrag:Ut,enableImageDrag:Wt,preventOutline:qt,restoreOutline:Jt,getSizedParentNode:Yt,getScale:Xt};function Qt(e,t,n,r){if(t&&typeof t==`object`)for(var i in t)rn(e,i,t[i],n);else{t=f(t);for(var a=0,o=t.length;a<o;a++)rn(e,t[a],n,r)}return this}var $t=`_leaflet_events`;function en(e,t,n,r){if(arguments.length===1)tn(e),delete e[$t];else if(t&&typeof t==`object`)for(var i in t)an(e,i,t[i],n);else if(t=f(t),arguments.length===2)tn(e,function(e){return v(t,e)!==-1});else for(var a=0,o=t.length;a<o;a++)an(e,t[a],n,r);return this}function tn(e,t){for(var n in e[$t]){var r=n.split(/\d/)[0];(!t||t(r))&&an(e,r,null,null,n)}}var nn={mouseenter:`mouseover`,mouseleave:`mouseout`,wheel:!(`onwheel`in window)&&`mousewheel`};function rn(e,t,n,r){var i=t+o(n)+(r?`_`+o(r):``);if(e[$t]&&e[$t][i])return this;var a=function(t){return n.call(r||e,t||window.event)},s=a;!I.touchNative&&I.pointer&&t.indexOf(`touch`)===0?a=st(e,t,a):I.touch&&t===`dblclick`?a=_t(e,a):`addEventListener`in e?t===`touchstart`||t===`touchmove`||t===`wheel`||t===`mousewheel`?e.addEventListener(nn[t]||t,a,I.passiveEvents?{passive:!1}:!1):t===`mouseenter`||t===`mouseleave`?(a=function(t){t||=window.event,hn(e,t)&&s(t)},e.addEventListener(nn[t],a,!1)):e.addEventListener(t,s,!1):e.attachEvent(`on`+t,a),e[$t]=e[$t]||{},e[$t][i]=a}function an(e,t,n,r,i){i||=t+o(n)+(r?`_`+o(r):``);var a=e[$t]&&e[$t][i];if(!a)return this;!I.touchNative&&I.pointer&&t.indexOf(`touch`)===0?ct(e,t,a):I.touch&&t===`dblclick`?vt(e,a):`removeEventListener`in e?e.removeEventListener(nn[t]||t,a,!1):e.detachEvent(`on`+t,a),e[$t][i]=null}function on(e){return e.stopPropagation?e.stopPropagation():e.originalEvent?e.originalEvent._stopped=!0:e.cancelBubble=!0,this}function sn(e){return rn(e,`wheel`,on),this}function cn(e){return Qt(e,`mousedown touchstart dblclick contextmenu`,on),e._leaflet_disable_click=!0,this}function ln(e){return e.preventDefault?e.preventDefault():e.returnValue=!1,this}function un(e){return ln(e),on(e),this}function dn(e){if(e.composedPath)return e.composedPath();for(var t=[],n=e.target;n;)t.push(n),n=n.parentNode;return t}function fn(e,t){if(!t)return new j(e.clientX,e.clientY);var n=Xt(t),r=n.boundingClientRect;return new j((e.clientX-r.left)/n.x-t.clientLeft,(e.clientY-r.top)/n.y-t.clientTop)}var pn=I.linux&&I.chrome?window.devicePixelRatio:I.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function mn(e){return I.edge?e.wheelDeltaY/2:e.deltaY&&e.deltaMode===0?-e.deltaY/pn:e.deltaY&&e.deltaMode===1?-e.deltaY*20:e.deltaY&&e.deltaMode===2?-e.deltaY*60:e.deltaX||e.deltaZ?0:e.wheelDelta?(e.wheelDeltaY||e.wheelDelta)/2:e.detail&&Math.abs(e.detail)<32765?-e.detail*20:e.detail?e.detail/-32765*60:0}function hn(e,t){var n=t.relatedTarget;if(!n)return!0;try{for(;n&&n!==e;)n=n.parentNode}catch{return!1}return n!==e}var gn={__proto__:null,on:Qt,off:en,stopPropagation:on,disableScrollPropagation:sn,disableClickPropagation:cn,preventDefault:ln,stop:un,getPropagationPath:dn,getMousePosition:fn,getWheelDelta:mn,isExternalTarget:hn,addListener:Qt,removeListener:en},_n=ee.extend({run:function(e,t,n,r){this.stop(),this._el=e,this._inProgress=!0,this._duration=n||.25,this._easeOutPower=1/Math.max(r||.5,.2),this._startPos=Rt(e),this._offset=t.subtract(this._startPos),this._startTime=+new Date,this.fire(`start`),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=T(this._animate,this),this._step()},_step:function(e){var t=+new Date-this._startTime,n=this._duration*1e3;t<n?this._runFrame(this._easeOut(t/n),e):(this._runFrame(1),this._complete())},_runFrame:function(e,t){var n=this._startPos.add(this._offset.multiplyBy(e));t&&n._round(),Lt(this._el,n),this.fire(`step`)},_complete:function(){E(this._animId),this._inProgress=!1,this.fire(`end`)},_easeOut:function(e){return 1-(1-e)**this._easeOutPower}}),vn=ee.extend({options:{crs:de,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(e,t){t=p(this,t),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(e),this._initLayout(),this._onResize=i(this._onResize,this),this._initEvents(),t.maxBounds&&this.setMaxBounds(t.maxBounds),t.zoom!==void 0&&(this._zoom=this._limitZoom(t.zoom)),t.center&&t.zoom!==void 0&&this.setView(ie(t.center),t.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=bt&&I.any3d&&!I.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),Qt(this._proxy,xt,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(e,t,r){return t=t===void 0?this._zoom:this._limitZoom(t),e=this._limitCenter(ie(e),t,this.options.maxBounds),r||={},this._stop(),this._loaded&&!r.reset&&r!==!0&&(r.animate!==void 0&&(r.zoom=n({animate:r.animate},r.zoom),r.pan=n({animate:r.animate,duration:r.duration},r.pan)),this._zoom===t?this._tryAnimatedPan(e,r.pan):this._tryAnimatedZoom&&this._tryAnimatedZoom(e,t,r.zoom))?(clearTimeout(this._sizeTimer),this):(this._resetView(e,t,r.pan&&r.pan.noMoveStart),this)},setZoom:function(e,t){return this._loaded?this.setView(this.getCenter(),e,{zoom:t}):(this._zoom=e,this)},zoomIn:function(e,t){return e||=I.any3d?this.options.zoomDelta:1,this.setZoom(this._zoom+e,t)},zoomOut:function(e,t){return e||=I.any3d?this.options.zoomDelta:1,this.setZoom(this._zoom-e,t)},setZoomAround:function(e,t,n){var r=this.getZoomScale(t),i=this.getSize().divideBy(2),a=(e instanceof j?e:this.latLngToContainerPoint(e)).subtract(i).multiplyBy(1-1/r),o=this.containerPointToLatLng(i.add(a));return this.setView(o,t,{zoom:n})},_getBoundsCenterZoom:function(e,t){t||={},e=e.getBounds?e.getBounds():re(e);var n=N(t.paddingTopLeft||t.padding||[0,0]),r=N(t.paddingBottomRight||t.padding||[0,0]),i=this.getBoundsZoom(e,!1,n.add(r));if(i=typeof t.maxZoom==`number`?Math.min(t.maxZoom,i):i,i===1/0)return{center:e.getCenter(),zoom:i};var a=r.subtract(n).divideBy(2),o=this.project(e.getSouthWest(),i),s=this.project(e.getNorthEast(),i);return{center:this.unproject(o.add(s).divideBy(2).add(a),i),zoom:i}},fitBounds:function(e,t){if(e=re(e),!e.isValid())throw Error(`Bounds are not valid.`);var n=this._getBoundsCenterZoom(e,t);return this.setView(n.center,n.zoom,t)},fitWorld:function(e){return this.fitBounds([[-90,-180],[90,180]],e)},panTo:function(e,t){return this.setView(e,this._zoom,{pan:t})},panBy:function(e,t){if(e=N(e).round(),t||={},!e.x&&!e.y)return this.fire(`moveend`);if(t.animate!==!0&&!this.getSize().contains(e))return this._resetView(this.unproject(this.project(this.getCenter()).add(e)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new _n,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),t.noMoveStart||this.fire(`movestart`),t.animate!==!1){kt(this._mapPane,`leaflet-pan-anim`);var n=this._getMapPanePos().subtract(e).round();this._panAnim.run(this._mapPane,n,t.duration||.25,t.easeLinearity)}else this._rawPanBy(e),this.fire(`move`).fire(`moveend`);return this},flyTo:function(e,t,n){if(n||={},n.animate===!1||!I.any3d)return this.setView(e,t,n);this._stop();var r=this.project(this.getCenter()),i=this.project(e),a=this.getSize(),o=this._zoom;e=ie(e),t=t===void 0?o:t;var s=Math.max(a.x,a.y),c=s*this.getZoomScale(o,t),l=i.distanceTo(r)||1,u=1.42,d=u*u;function f(e){var t=e?-1:1,n=e?c:s,r=(c*c-s*s+t*d*d*l*l)/(2*n*d*l),i=Math.sqrt(r*r+1)-r;return i<1e-9?-18:Math.log(i)}function p(e){return(Math.exp(e)-Math.exp(-e))/2}function m(e){return(Math.exp(e)+Math.exp(-e))/2}function h(e){return p(e)/m(e)}var g=f(0);function _(e){return s*(m(g)/m(g+u*e))}function v(e){return s*(m(g)*h(g+u*e)-p(g))/d}function y(e){return 1-(1-e)**1.5}var b=Date.now(),x=(f(1)-g)/u,S=n.duration?1e3*n.duration:1e3*x*.8;function C(){var n=(Date.now()-b)/S,a=y(n)*x;n<=1?(this._flyToFrame=T(C,this),this._move(this.unproject(r.add(i.subtract(r).multiplyBy(v(a)/l)),o),this.getScaleZoom(s/_(a),o),{flyTo:!0})):this._move(e,t)._moveEnd(!0)}return this._moveStart(!0,n.noMoveStart),C.call(this),this},flyToBounds:function(e,t){var n=this._getBoundsCenterZoom(e,t);return this.flyTo(n.center,n.zoom,t)},setMaxBounds:function(e){return e=re(e),this.listens(`moveend`,this._panInsideMaxBounds)&&this.off(`moveend`,this._panInsideMaxBounds),e.isValid()?(this.options.maxBounds=e,this._loaded&&this._panInsideMaxBounds(),this.on(`moveend`,this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(e){var t=this.options.minZoom;return this.options.minZoom=e,this._loaded&&t!==e&&(this.fire(`zoomlevelschange`),this.getZoom()<this.options.minZoom)?this.setZoom(e):this},setMaxZoom:function(e){var t=this.options.maxZoom;return this.options.maxZoom=e,this._loaded&&t!==e&&(this.fire(`zoomlevelschange`),this.getZoom()>this.options.maxZoom)?this.setZoom(e):this},panInsideBounds:function(e,t){this._enforcingBounds=!0;var n=this.getCenter(),r=this._limitCenter(n,this._zoom,re(e));return n.equals(r)||this.panTo(r,t),this._enforcingBounds=!1,this},panInside:function(e,t){t||={};var n=N(t.paddingTopLeft||t.padding||[0,0]),r=N(t.paddingBottomRight||t.padding||[0,0]),i=this.project(this.getCenter()),a=this.project(e),o=this.getPixelBounds(),s=te([o.min.add(n),o.max.subtract(r)]),c=s.getSize();if(!s.contains(a)){this._enforcingBounds=!0;var l=a.subtract(s.getCenter()),u=s.extend(a).getSize().subtract(c);i.x+=l.x<0?-u.x:u.x,i.y+=l.y<0?-u.y:u.y,this.panTo(this.unproject(i),t),this._enforcingBounds=!1}return this},invalidateSize:function(e){if(!this._loaded)return this;e=n({animate:!1,pan:!0},e===!0?{animate:!0}:e);var t=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var r=this.getSize(),a=t.divideBy(2).round(),o=r.divideBy(2).round(),s=a.subtract(o);return!s.x&&!s.y?this:(e.animate&&e.pan?this.panBy(s):(e.pan&&this._rawPanBy(s),this.fire(`move`),e.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(i(this.fire,this,`moveend`),200)):this.fire(`moveend`)),this.fire(`resize`,{oldSize:t,newSize:r}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire(`viewreset`),this._stop()},locate:function(e){if(e=this._locateOptions=n({timeout:1e4,watch:!1},e),!(`geolocation`in navigator))return this._handleGeolocationError({code:0,message:`Geolocation not supported.`}),this;var t=i(this._handleGeolocationResponse,this),r=i(this._handleGeolocationError,this);return e.watch?this._locationWatchId=navigator.geolocation.watchPosition(t,r,e):navigator.geolocation.getCurrentPosition(t,r,e),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(e){if(this._container._leaflet_id){var t=e.code,n=e.message||(t===1?`permission denied`:t===2?`position unavailable`:`timeout`);this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire(`locationerror`,{code:t,message:`Geolocation error: `+n+`.`})}},_handleGeolocationResponse:function(e){if(this._container._leaflet_id){var t=e.coords.latitude,n=e.coords.longitude,r=new F(t,n),i=r.toBounds(e.coords.accuracy*2),a=this._locateOptions;if(a.setView){var o=this.getBoundsZoom(i);this.setView(r,a.maxZoom?Math.min(o,a.maxZoom):o)}var s={latlng:r,bounds:i,timestamp:e.timestamp};for(var c in e.coords)typeof e.coords[c]==`number`&&(s[c]=e.coords[c]);this.fire(`locationfound`,s)}},addHandler:function(e,t){if(!t)return this;var n=this[e]=new t(this);return this._handlers.push(n),this.options[e]&&n.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off(`moveend`,this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw Error(`Map container is being reused by another instance`);try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}for(var e in this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),wt(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&=(E(this._resizeRequest),null),this._clearHandlers(),this._loaded&&this.fire(`unload`),this._layers)this._layers[e].remove();for(e in this._panes)wt(this._panes[e]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(e,t){var n=Ct(`div`,`leaflet-pane`+(e?` leaflet-`+e.replace(`Pane`,``)+`-pane`:``),t||this._mapPane);return e&&(this._panes[e]=n),n},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var e=this.getPixelBounds();return new ne(this.unproject(e.getBottomLeft()),this.unproject(e.getTopRight()))},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(e,t,n){e=re(e),n=N(n||[0,0]);var r=this.getZoom()||0,i=this.getMinZoom(),a=this.getMaxZoom(),o=e.getNorthWest(),s=e.getSouthEast(),c=this.getSize().subtract(n),l=te(this.project(s,r),this.project(o,r)).getSize(),u=I.any3d?this.options.zoomSnap:1,d=c.x/l.x,f=c.y/l.y,p=t?Math.max(d,f):Math.min(d,f);return r=this.getScaleZoom(p,r),u&&(r=Math.round(r/(u/100))*(u/100),r=t?Math.ceil(r/u)*u:Math.floor(r/u)*u),Math.max(i,Math.min(a,r))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new j(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(e,t){var n=this._getTopLeftPoint(e,t);return new P(n,n.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(e){return this.options.crs.getProjectedBounds(e===void 0?this.getZoom():e)},getPane:function(e){return typeof e==`string`?this._panes[e]:e},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(e,t){var n=this.options.crs;return t=t===void 0?this._zoom:t,n.scale(e)/n.scale(t)},getScaleZoom:function(e,t){var n=this.options.crs;t=t===void 0?this._zoom:t;var r=n.zoom(e*n.scale(t));return isNaN(r)?1/0:r},project:function(e,t){return t=t===void 0?this._zoom:t,this.options.crs.latLngToPoint(ie(e),t)},unproject:function(e,t){return t=t===void 0?this._zoom:t,this.options.crs.pointToLatLng(N(e),t)},layerPointToLatLng:function(e){var t=N(e).add(this.getPixelOrigin());return this.unproject(t)},latLngToLayerPoint:function(e){return this.project(ie(e))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(e){return this.options.crs.wrapLatLng(ie(e))},wrapLatLngBounds:function(e){return this.options.crs.wrapLatLngBounds(re(e))},distance:function(e,t){return this.options.crs.distance(ie(e),ie(t))},containerPointToLayerPoint:function(e){return N(e).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(e){return N(e).add(this._getMapPanePos())},containerPointToLatLng:function(e){var t=this.containerPointToLayerPoint(N(e));return this.layerPointToLatLng(t)},latLngToContainerPoint:function(e){return this.layerPointToContainerPoint(this.latLngToLayerPoint(ie(e)))},mouseEventToContainerPoint:function(e){return fn(e,this._container)},mouseEventToLayerPoint:function(e){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(e))},mouseEventToLatLng:function(e){return this.layerPointToLatLng(this.mouseEventToLayerPoint(e))},_initContainer:function(e){var t=this._container=St(e);if(!t)throw Error(`Map container not found.`);if(t._leaflet_id)throw Error(`Map container is already initialized.`);Qt(t,`scroll`,this._onScroll,this),this._containerId=o(t)},_initLayout:function(){var e=this._container;this._fadeAnimated=this.options.fadeAnimation&&I.any3d,kt(e,`leaflet-container`+(I.touch?` leaflet-touch`:``)+(I.retina?` leaflet-retina`:``)+(I.ielt9?` leaflet-oldie`:``)+(I.safari?` leaflet-safari`:``)+(this._fadeAnimated?` leaflet-fade-anim`:``));var t=R(e,`position`);t!==`absolute`&&t!==`relative`&&t!==`fixed`&&t!==`sticky`&&(e.style.position=`relative`),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var e=this._panes={};this._paneRenderers={},this._mapPane=this.createPane(`mapPane`,this._container),Lt(this._mapPane,new j(0,0)),this.createPane(`tilePane`),this.createPane(`overlayPane`),this.createPane(`shadowPane`),this.createPane(`markerPane`),this.createPane(`tooltipPane`),this.createPane(`popupPane`),this.options.markerZoomAnimation||(kt(e.markerPane,`leaflet-zoom-hide`),kt(e.shadowPane,`leaflet-zoom-hide`))},_resetView:function(e,t,n){Lt(this._mapPane,new j(0,0));var r=!this._loaded;this._loaded=!0,t=this._limitZoom(t),this.fire(`viewprereset`);var i=this._zoom!==t;this._moveStart(i,n)._move(e,t)._moveEnd(i),this.fire(`viewreset`),r&&this.fire(`load`)},_moveStart:function(e,t){return e&&this.fire(`zoomstart`),t||this.fire(`movestart`),this},_move:function(e,t,n,r){t===void 0&&(t=this._zoom);var i=this._zoom!==t;return this._zoom=t,this._lastCenter=e,this._pixelOrigin=this._getNewPixelOrigin(e),r?n&&n.pinch&&this.fire(`zoom`,n):((i||n&&n.pinch)&&this.fire(`zoom`,n),this.fire(`move`,n)),this},_moveEnd:function(e){return e&&this.fire(`zoomend`),this.fire(`moveend`)},_stop:function(){return E(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(e){Lt(this._mapPane,this._getMapPanePos().subtract(e))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw Error(`Set map center and zoom first.`)},_initEvents:function(e){this._targets={},this._targets[o(this._container)]=this;var t=e?en:Qt;t(this._container,`click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup`,this._handleDOMEvent,this),this.options.trackResize&&t(window,`resize`,this._onResize,this),I.any3d&&this.options.transform3DLimit&&(e?this.off:this.on).call(this,`moveend`,this._onMoveEnd)},_onResize:function(){E(this._resizeRequest),this._resizeRequest=T(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var e=this._getMapPanePos();Math.max(Math.abs(e.x),Math.abs(e.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(e,t){for(var n=[],r,i=t===`mouseout`||t===`mouseover`,a=e.target||e.srcElement,s=!1;a;){if(r=this._targets[o(a)],r&&(t===`click`||t===`preclick`)&&this._draggableMoved(r)){s=!0;break}if(r&&r.listens(t,!0)&&(i&&!hn(a,e)||(n.push(r),i))||a===this._container)break;a=a.parentNode}return!n.length&&!s&&!i&&this.listens(t,!0)&&(n=[this]),n},_isClickDisabled:function(e){for(;e&&e!==this._container;){if(e._leaflet_disable_click)return!0;e=e.parentNode}},_handleDOMEvent:function(e){var t=e.target||e.srcElement;if(!(!this._loaded||t._leaflet_disable_events||e.type===`click`&&this._isClickDisabled(t))){var n=e.type;n===`mousedown`&&qt(t),this._fireDOMEvent(e,n)}},_mouseEvents:[`click`,`dblclick`,`mouseover`,`mouseout`,`contextmenu`],_fireDOMEvent:function(e,t,r){if(e.type===`click`){var i=n({},e);i.type=`preclick`,this._fireDOMEvent(i,i.type,r)}var a=this._findEventTargets(e,t);if(r){for(var o=[],s=0;s<r.length;s++)r[s].listens(t,!0)&&o.push(r[s]);a=o.concat(a)}if(a.length){t===`contextmenu`&&ln(e);var c=a[0],l={originalEvent:e};if(e.type!==`keypress`&&e.type!==`keydown`&&e.type!==`keyup`){var u=c.getLatLng&&(!c._radius||c._radius<=10);l.containerPoint=u?this.latLngToContainerPoint(c.getLatLng()):this.mouseEventToContainerPoint(e),l.layerPoint=this.containerPointToLayerPoint(l.containerPoint),l.latlng=u?c.getLatLng():this.layerPointToLatLng(l.layerPoint)}for(s=0;s<a.length;s++)if(a[s].fire(t,l,!0),l.originalEvent._stopped||a[s].options.bubblingMouseEvents===!1&&v(this._mouseEvents,t)!==-1)return}},_draggableMoved:function(e){return e=e.dragging&&e.dragging.enabled()?e:this,e.dragging&&e.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var e=0,t=this._handlers.length;e<t;e++)this._handlers[e].disable()},whenReady:function(e,t){return this._loaded?e.call(t||this,{target:this}):this.on(`load`,e,t),this},_getMapPanePos:function(){return Rt(this._mapPane)||new j(0,0)},_moved:function(){var e=this._getMapPanePos();return e&&!e.equals([0,0])},_getTopLeftPoint:function(e,t){return(e&&t!==void 0?this._getNewPixelOrigin(e,t):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(e,t){var n=this.getSize()._divideBy(2);return this.project(e,t)._subtract(n)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(e,t,n){var r=this._getNewPixelOrigin(n,t);return this.project(e,t)._subtract(r)},_latLngBoundsToNewLayerBounds:function(e,t,n){var r=this._getNewPixelOrigin(n,t);return te([this.project(e.getSouthWest(),t)._subtract(r),this.project(e.getNorthWest(),t)._subtract(r),this.project(e.getSouthEast(),t)._subtract(r),this.project(e.getNorthEast(),t)._subtract(r)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(e){return this.latLngToLayerPoint(e).subtract(this._getCenterLayerPoint())},_limitCenter:function(e,t,n){if(!n)return e;var r=this.project(e,t),i=this.getSize().divideBy(2),a=new P(r.subtract(i),r.add(i)),o=this._getBoundsOffset(a,n,t);return Math.abs(o.x)<=1&&Math.abs(o.y)<=1?e:this.unproject(r.add(o),t)},_limitOffset:function(e,t){if(!t)return e;var n=this.getPixelBounds(),r=new P(n.min.add(e),n.max.add(e));return e.add(this._getBoundsOffset(r,t))},_getBoundsOffset:function(e,t,n){var r=te(this.project(t.getNorthEast(),n),this.project(t.getSouthWest(),n)),i=r.min.subtract(e.min),a=r.max.subtract(e.max);return new j(this._rebound(i.x,-a.x),this._rebound(i.y,-a.y))},_rebound:function(e,t){return e+t>0?Math.round(e-t)/2:Math.max(0,Math.ceil(e))-Math.max(0,Math.floor(t))},_limitZoom:function(e){var t=this.getMinZoom(),n=this.getMaxZoom(),r=I.any3d?this.options.zoomSnap:1;return r&&(e=Math.round(e/r)*r),Math.max(t,Math.min(n,e))},_onPanTransitionStep:function(){this.fire(`move`)},_onPanTransitionEnd:function(){At(this._mapPane,`leaflet-pan-anim`),this.fire(`moveend`)},_tryAnimatedPan:function(e,t){var n=this._getCenterOffset(e)._trunc();return(t&&t.animate)!==!0&&!this.getSize().contains(n)?!1:(this.panBy(n,t),!0)},_createAnimProxy:function(){var e=this._proxy=Ct(`div`,`leaflet-proxy leaflet-zoom-animated`);this._panes.mapPane.appendChild(e),this.on(`zoomanim`,function(e){var t=yt,n=this._proxy.style[t];It(this._proxy,this.project(e.center,e.zoom),this.getZoomScale(e.zoom,1)),n===this._proxy.style[t]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on(`load moveend`,this._animMoveEnd,this),this._on(`unload`,this._destroyAnimProxy,this)},_destroyAnimProxy:function(){wt(this._proxy),this.off(`load moveend`,this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var e=this.getCenter(),t=this.getZoom();It(this._proxy,this.project(e,t),this.getZoomScale(t,1))},_catchTransitionEnd:function(e){this._animatingZoom&&e.propertyName.indexOf(`transform`)>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName(`leaflet-zoom-animated`).length},_tryAnimatedZoom:function(e,t,n){if(this._animatingZoom)return!0;if(n||={},!this._zoomAnimated||n.animate===!1||this._nothingToAnimate()||Math.abs(t-this._zoom)>this.options.zoomAnimationThreshold)return!1;var r=this.getZoomScale(t),i=this._getCenterOffset(e)._divideBy(1-1/r);return n.animate!==!0&&!this.getSize().contains(i)?!1:(T(function(){this._moveStart(!0,n.noMoveStart||!1)._animateZoom(e,t,!0)},this),!0)},_animateZoom:function(e,t,n,r){this._mapPane&&(n&&(this._animatingZoom=!0,this._animateToCenter=e,this._animateToZoom=t,kt(this._mapPane,`leaflet-zoom-anim`)),this.fire(`zoomanim`,{center:e,zoom:t,noUpdate:r}),this._tempFireZoomEvent||=this._zoom!==this._animateToZoom,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(i(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&At(this._mapPane,`leaflet-zoom-anim`),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire(`zoom`),delete this._tempFireZoomEvent,this.fire(`move`),this._moveEnd(!0))}});function yn(e,t){return new vn(e,t)}var bn=O.extend({options:{position:`topright`},initialize:function(e){p(this,e)},getPosition:function(){return this.options.position},setPosition:function(e){var t=this._map;return t&&t.removeControl(this),this.options.position=e,t&&t.addControl(this),this},getContainer:function(){return this._container},addTo:function(e){this.remove(),this._map=e;var t=this._container=this.onAdd(e),n=this.getPosition(),r=e._controlCorners[n];return kt(t,`leaflet-control`),n.indexOf(`bottom`)===-1?r.appendChild(t):r.insertBefore(t,r.firstChild),this._map.on(`unload`,this.remove,this),this},remove:function(){return this._map&&=(wt(this._container),this.onRemove&&this.onRemove(this._map),this._map.off(`unload`,this.remove,this),null),this},_refocusOnMap:function(e){this._map&&e&&e.screenX>0&&e.screenY>0&&this._map.getContainer().focus()}}),xn=function(e){return new bn(e)};vn.include({addControl:function(e){return e.addTo(this),this},removeControl:function(e){return e.remove(),this},_initControlPos:function(){var e=this._controlCorners={},t=`leaflet-`,n=this._controlContainer=Ct(`div`,t+`control-container`,this._container);function r(r,i){var a=t+r+` `+t+i;e[r+i]=Ct(`div`,a,n)}r(`top`,`left`),r(`top`,`right`),r(`bottom`,`left`),r(`bottom`,`right`)},_clearControlPos:function(){for(var e in this._controlCorners)wt(this._controlCorners[e]);wt(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Sn=bn.extend({options:{collapsed:!0,position:`topright`,autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(e,t,n,r){return n<r?-1:+(r<n)}},initialize:function(e,t,n){for(var r in p(this,n),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1,e)this._addLayer(e[r],r);for(r in t)this._addLayer(t[r],r,!0)},onAdd:function(e){this._initLayout(),this._update(),this._map=e,e.on(`zoomend`,this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.on(`add remove`,this._onLayerChange,this);return this._container},addTo:function(e){return bn.prototype.addTo.call(this,e),this._expandIfNotCollapsed()},onRemove:function(){this._map.off(`zoomend`,this._checkDisabledLayers,this);for(var e=0;e<this._layers.length;e++)this._layers[e].layer.off(`add remove`,this._onLayerChange,this)},addBaseLayer:function(e,t){return this._addLayer(e,t),this._map?this._update():this},addOverlay:function(e,t){return this._addLayer(e,t,!0),this._map?this._update():this},removeLayer:function(e){e.off(`add remove`,this._onLayerChange,this);var t=this._getLayer(o(e));return t&&this._layers.splice(this._layers.indexOf(t),1),this._map?this._update():this},expand:function(){kt(this._container,`leaflet-control-layers-expanded`),this._section.style.height=null;var e=this._map.getSize().y-(this._container.offsetTop+50);return e<this._section.clientHeight?(kt(this._section,`leaflet-control-layers-scrollbar`),this._section.style.height=e+`px`):At(this._section,`leaflet-control-layers-scrollbar`),this._checkDisabledLayers(),this},collapse:function(){return At(this._container,`leaflet-control-layers-expanded`),this},_initLayout:function(){var e=`leaflet-control-layers`,t=this._container=Ct(`div`,e),n=this.options.collapsed;t.setAttribute(`aria-haspopup`,!0),cn(t),sn(t);var r=this._section=Ct(`section`,e+`-list`);n&&(this._map.on(`click`,this.collapse,this),Qt(t,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var i=this._layersLink=Ct(`a`,e+`-toggle`,t);i.href=`#`,i.title=`Layers`,i.setAttribute(`role`,`button`),Qt(i,{keydown:function(e){e.keyCode===13&&this._expandSafely()},click:function(e){ln(e),this._expandSafely()}},this),n||this.expand(),this._baseLayersList=Ct(`div`,e+`-base`,r),this._separator=Ct(`div`,e+`-separator`,r),this._overlaysList=Ct(`div`,e+`-overlays`,r),t.appendChild(r)},_getLayer:function(e){for(var t=0;t<this._layers.length;t++)if(this._layers[t]&&o(this._layers[t].layer)===e)return this._layers[t]},_addLayer:function(e,t,n){this._map&&e.on(`add remove`,this._onLayerChange,this),this._layers.push({layer:e,name:t,overlay:n}),this.options.sortLayers&&this._layers.sort(i(function(e,t){return this.options.sortFunction(e.layer,t.layer,e.name,t.name)},this)),this.options.autoZIndex&&e.setZIndex&&(this._lastZIndex++,e.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;Tt(this._baseLayersList),Tt(this._overlaysList),this._layerControlInputs=[];var e,t,n,r,i=0;for(n=0;n<this._layers.length;n++)r=this._layers[n],this._addItem(r),t||=r.overlay,e||=!r.overlay,i+=+!r.overlay;return this.options.hideSingleBase&&(e&&=i>1,this._baseLayersList.style.display=e?``:`none`),this._separator.style.display=t&&e?``:`none`,this},_onLayerChange:function(e){this._handlingClick||this._update();var t=this._getLayer(o(e.target)),n=t.overlay?e.type===`add`?`overlayadd`:`overlayremove`:e.type===`add`?`baselayerchange`:null;n&&this._map.fire(n,t)},_createRadioElement:function(e,t){var n=`<input type="radio" class="leaflet-control-layers-selector" name="`+e+`"`+(t?` checked="checked"`:``)+`/>`,r=document.createElement(`div`);return r.innerHTML=n,r.firstChild},_addItem:function(e){var t=document.createElement(`label`),n=this._map.hasLayer(e.layer),r;e.overlay?(r=document.createElement(`input`),r.type=`checkbox`,r.className=`leaflet-control-layers-selector`,r.defaultChecked=n):r=this._createRadioElement(`leaflet-base-layers_`+o(this),n),this._layerControlInputs.push(r),r.layerId=o(e.layer),Qt(r,`click`,this._onInputClick,this);var i=document.createElement(`span`);i.innerHTML=` `+e.name;var a=document.createElement(`span`);return t.appendChild(a),a.appendChild(r),a.appendChild(i),(e.overlay?this._overlaysList:this._baseLayersList).appendChild(t),this._checkDisabledLayers(),t},_onInputClick:function(){if(!this._preventClick){var e=this._layerControlInputs,t,n,r=[],i=[];this._handlingClick=!0;for(var a=e.length-1;a>=0;a--)t=e[a],n=this._getLayer(t.layerId).layer,t.checked?r.push(n):t.checked||i.push(n);for(a=0;a<i.length;a++)this._map.hasLayer(i[a])&&this._map.removeLayer(i[a]);for(a=0;a<r.length;a++)this._map.hasLayer(r[a])||this._map.addLayer(r[a]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var e=this._layerControlInputs,t,n,r=this._map.getZoom(),i=e.length-1;i>=0;i--)t=e[i],n=this._getLayer(t.layerId).layer,t.disabled=n.options.minZoom!==void 0&&r<n.options.minZoom||n.options.maxZoom!==void 0&&r>n.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var e=this._section;this._preventClick=!0,Qt(e,`click`,ln),this.expand();var t=this;setTimeout(function(){en(e,`click`,ln),t._preventClick=!1})}}),Cn=function(e,t,n){return new Sn(e,t,n)},wn=bn.extend({options:{position:`topleft`,zoomInText:`<span aria-hidden="true">+</span>`,zoomInTitle:`Zoom in`,zoomOutText:`<span aria-hidden="true">&#x2212;</span>`,zoomOutTitle:`Zoom out`},onAdd:function(e){var t=`leaflet-control-zoom`,n=Ct(`div`,t+` leaflet-bar`),r=this.options;return this._zoomInButton=this._createButton(r.zoomInText,r.zoomInTitle,t+`-in`,n,this._zoomIn),this._zoomOutButton=this._createButton(r.zoomOutText,r.zoomOutTitle,t+`-out`,n,this._zoomOut),this._updateDisabled(),e.on(`zoomend zoomlevelschange`,this._updateDisabled,this),n},onRemove:function(e){e.off(`zoomend zoomlevelschange`,this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(e){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(e.shiftKey?3:1))},_zoomOut:function(e){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(e.shiftKey?3:1))},_createButton:function(e,t,n,r,i){var a=Ct(`a`,n,r);return a.innerHTML=e,a.href=`#`,a.title=t,a.setAttribute(`role`,`button`),a.setAttribute(`aria-label`,t),cn(a),Qt(a,`click`,un),Qt(a,`click`,i,this),Qt(a,`click`,this._refocusOnMap,this),a},_updateDisabled:function(){var e=this._map,t=`leaflet-disabled`;At(this._zoomInButton,t),At(this._zoomOutButton,t),this._zoomInButton.setAttribute(`aria-disabled`,`false`),this._zoomOutButton.setAttribute(`aria-disabled`,`false`),(this._disabled||e._zoom===e.getMinZoom())&&(kt(this._zoomOutButton,t),this._zoomOutButton.setAttribute(`aria-disabled`,`true`)),(this._disabled||e._zoom===e.getMaxZoom())&&(kt(this._zoomInButton,t),this._zoomInButton.setAttribute(`aria-disabled`,`true`))}});vn.mergeOptions({zoomControl:!0}),vn.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new wn,this.addControl(this.zoomControl))});var Tn=function(e){return new wn(e)},En=bn.extend({options:{position:`bottomleft`,maxWidth:100,metric:!0,imperial:!0},onAdd:function(e){var t=`leaflet-control-scale`,n=Ct(`div`,t),r=this.options;return this._addScales(r,t+`-line`,n),e.on(r.updateWhenIdle?`moveend`:`move`,this._update,this),e.whenReady(this._update,this),n},onRemove:function(e){e.off(this.options.updateWhenIdle?`moveend`:`move`,this._update,this)},_addScales:function(e,t,n){e.metric&&(this._mScale=Ct(`div`,t,n)),e.imperial&&(this._iScale=Ct(`div`,t,n))},_update:function(){var e=this._map,t=e.getSize().y/2,n=e.distance(e.containerPointToLatLng([0,t]),e.containerPointToLatLng([this.options.maxWidth,t]));this._updateScales(n)},_updateScales:function(e){this.options.metric&&e&&this._updateMetric(e),this.options.imperial&&e&&this._updateImperial(e)},_updateMetric:function(e){var t=this._getRoundNum(e),n=t<1e3?t+` m`:t/1e3+` km`;this._updateScale(this._mScale,n,t/e)},_updateImperial:function(e){var t=e*3.2808399,n,r,i;t>5280?(n=t/5280,r=this._getRoundNum(n),this._updateScale(this._iScale,r+` mi`,r/n)):(i=this._getRoundNum(t),this._updateScale(this._iScale,i+` ft`,i/t))},_updateScale:function(e,t,n){e.style.width=Math.round(this.options.maxWidth*n)+`px`,e.innerHTML=t},_getRoundNum:function(e){var t=10**((Math.floor(e)+``).length-1),n=e/t;return n=n>=10?10:n>=5?5:n>=3?3:n>=2?2:1,t*n}}),Dn=function(e){return new En(e)},On=bn.extend({options:{position:`bottomright`,prefix:`<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">`+(I.inlineSvg?`<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" class="leaflet-attribution-flag"><path fill="#4C7BE1" d="M0 0h12v4H0z"/><path fill="#FFD500" d="M0 4h12v3H0z"/><path fill="#E0BC00" d="M0 7h12v1H0z"/></svg> `:``)+`Leaflet</a>`},initialize:function(e){p(this,e),this._attributions={}},onAdd:function(e){for(var t in e.attributionControl=this,this._container=Ct(`div`,`leaflet-control-attribution`),cn(this._container),e._layers)e._layers[t].getAttribution&&this.addAttribution(e._layers[t].getAttribution());return this._update(),e.on(`layeradd`,this._addAttribution,this),this._container},onRemove:function(e){e.off(`layeradd`,this._addAttribution,this)},_addAttribution:function(e){e.layer.getAttribution&&(this.addAttribution(e.layer.getAttribution()),e.layer.once(`remove`,function(){this.removeAttribution(e.layer.getAttribution())},this))},setPrefix:function(e){return this.options.prefix=e,this._update(),this},addAttribution:function(e){return e&&(this._attributions[e]||(this._attributions[e]=0),this._attributions[e]++,this._update()),this},removeAttribution:function(e){return e&&this._attributions[e]&&(this._attributions[e]--,this._update()),this},_update:function(){if(this._map){var e=[];for(var t in this._attributions)this._attributions[t]&&e.push(t);var n=[];this.options.prefix&&n.push(this.options.prefix),e.length&&n.push(e.join(`, `)),this._container.innerHTML=n.join(` <span aria-hidden="true">|</span> `)}}});vn.mergeOptions({attributionControl:!0}),vn.addInitHook(function(){this.options.attributionControl&&new On().addTo(this)}),bn.Layers=Sn,bn.Zoom=wn,bn.Scale=En,bn.Attribution=On,xn.layers=Cn,xn.zoom=Tn,xn.scale=Dn,xn.attribution=function(e){return new On(e)};var kn=O.extend({initialize:function(e){this._map=e},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled&&(this._enabled=!1,this.removeHooks()),this},enabled:function(){return!!this._enabled}});kn.addTo=function(e,t){return e.addHandler(t,this),this};var An={Events:A},jn=I.touch?`touchstart mousedown`:`mousedown`,Mn=ee.extend({options:{clickTolerance:3},initialize:function(e,t,n,r){p(this,r),this._element=e,this._dragStartTarget=t||e,this._preventOutline=n},enable:function(){this._enabled||=(Qt(this._dragStartTarget,jn,this._onDown,this),!0)},disable:function(){this._enabled&&(Mn._dragging===this&&this.finishDrag(!0),en(this._dragStartTarget,jn,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(e){if(this._enabled&&(this._moved=!1,!Ot(this._element,`leaflet-zoom-anim`))){if(e.touches&&e.touches.length!==1)Mn._dragging===this&&this.finishDrag();else if(!(Mn._dragging||e.shiftKey||e.which!==1&&e.button!==1&&!e.touches)&&(Mn._dragging=this,this._preventOutline&&qt(this._element),Ut(),zt(),!this._moving)){this.fire(`down`);var t=e.touches?e.touches[0]:e,n=Yt(this._element);this._startPoint=new j(t.clientX,t.clientY),this._startPos=Rt(this._element),this._parentScale=Xt(n);var r=e.type===`mousedown`;Qt(document,r?`mousemove`:`touchmove`,this._onMove,this),Qt(document,r?`mouseup`:`touchend touchcancel`,this._onUp,this)}}},_onMove:function(e){if(this._enabled){if(e.touches&&e.touches.length>1)this._moved=!0;else{var t=e.touches&&e.touches.length===1?e.touches[0]:e,n=new j(t.clientX,t.clientY)._subtract(this._startPoint);(n.x||n.y)&&(Math.abs(n.x)+Math.abs(n.y)<this.options.clickTolerance||(n.x/=this._parentScale.x,n.y/=this._parentScale.y,ln(e),this._moved||(this.fire(`dragstart`),this._moved=!0,kt(document.body,`leaflet-dragging`),this._lastTarget=e.target||e.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),kt(this._lastTarget,`leaflet-drag-target`)),this._newPos=this._startPos.add(n),this._moving=!0,this._lastEvent=e,this._updatePosition()))}}},_updatePosition:function(){var e={originalEvent:this._lastEvent};this.fire(`predrag`,e),Lt(this._element,this._newPos),this.fire(`drag`,e)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(e){At(document.body,`leaflet-dragging`),this._lastTarget&&=(At(this._lastTarget,`leaflet-drag-target`),null),en(document,`mousemove touchmove`,this._onMove,this),en(document,`mouseup touchend touchcancel`,this._onUp,this),Wt(),Bt();var t=this._moved&&this._moving;this._moving=!1,Mn._dragging=!1,t&&this.fire(`dragend`,{noInertia:e,distance:this._newPos.distanceTo(this._startPos)})}});function Nn(e,t,n){for(var r,i=[1,4,2,8],a=0,o,s,c,l,u=e.length,d,f;a<u;a++)e[a]._code=Kn(e[a],t);for(s=0;s<4;s++){for(d=i[s],r=[],a=0,u=e.length,o=u-1;a<u;o=a++)c=e[a],l=e[o],c._code&d?l._code&d||(f=Gn(l,c,d,t,n),f._code=Kn(f,t),r.push(f)):(l._code&d&&(f=Gn(l,c,d,t,n),f._code=Kn(f,t),r.push(f)),r.push(c));e=r}return e}function Pn(e,t){var n,r,i,a,o,s,c,l,u;if(!e||e.length===0)throw Error(`latlngs not passed`);Yn(e)||(console.warn(`latlngs are not flat! Only the first ring will be used`),e=e[0]);var d=ie([0,0]),f=re(e);f.getNorthWest().distanceTo(f.getSouthWest())*f.getNorthEast().distanceTo(f.getNorthWest())<1700&&(d=Fn(e));var p=e.length,m=[];for(n=0;n<p;n++){var h=ie(e[n]);m.push(t.project(ie([h.lat-d.lat,h.lng-d.lng])))}for(s=c=l=0,n=0,r=p-1;n<p;r=n++)i=m[n],a=m[r],o=i.y*a.x-a.y*i.x,c+=(i.x+a.x)*o,l+=(i.y+a.y)*o,s+=o*3;u=s===0?m[0]:[c/s,l/s];var g=t.unproject(N(u));return ie([g.lat+d.lat,g.lng+d.lng])}function Fn(e){for(var t=0,n=0,r=0,i=0;i<e.length;i++){var a=ie(e[i]);t+=a.lat,n+=a.lng,r++}return ie([t/r,n/r])}var In={__proto__:null,clipPolygon:Nn,polygonCenter:Pn,centroid:Fn};function Ln(e,t){if(!t||!e.length)return e.slice();var n=t*t;return e=Hn(e,n),e=Bn(e,n),e}function Rn(e,t,n){return Math.sqrt(Jn(e,t,n,!0))}function zn(e,t,n){return Jn(e,t,n)}function Bn(e,t){var n=e.length,r=new(typeof Uint8Array<`u`?Uint8Array:Array)(n);r[0]=r[n-1]=1,Vn(e,r,t,0,n-1);var i,a=[];for(i=0;i<n;i++)r[i]&&a.push(e[i]);return a}function Vn(e,t,n,r,i){for(var a=0,o,s=r+1,c;s<=i-1;s++)c=Jn(e[s],e[r],e[i],!0),c>a&&(o=s,a=c);a>n&&(t[o]=1,Vn(e,t,n,r,o),Vn(e,t,n,o,i))}function Hn(e,t){for(var n=[e[0]],r=1,i=0,a=e.length;r<a;r++)qn(e[r],e[i])>t&&(n.push(e[r]),i=r);return i<a-1&&n.push(e[a-1]),n}var Un;function Wn(e,t,n,r,i){var a=r?Un:Kn(e,n),o=Kn(t,n),s,c,l;for(Un=o;;){if(!(a|o))return[e,t];if(a&o)return!1;s=a||o,c=Gn(e,t,s,n,i),l=Kn(c,n),s===a?(e=c,a=l):(t=c,o=l)}}function Gn(e,t,n,r,i){var a=t.x-e.x,o=t.y-e.y,s=r.min,c=r.max,l,u;return n&8?(l=e.x+a*(c.y-e.y)/o,u=c.y):n&4?(l=e.x+a*(s.y-e.y)/o,u=s.y):n&2?(l=c.x,u=e.y+o*(c.x-e.x)/a):n&1&&(l=s.x,u=e.y+o*(s.x-e.x)/a),new j(l,u,i)}function Kn(e,t){var n=0;return e.x<t.min.x?n|=1:e.x>t.max.x&&(n|=2),e.y<t.min.y?n|=4:e.y>t.max.y&&(n|=8),n}function qn(e,t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r}function Jn(e,t,n,r){var i=t.x,a=t.y,o=n.x-i,s=n.y-a,c=o*o+s*s,l;return c>0&&(l=((e.x-i)*o+(e.y-a)*s)/c,l>1?(i=n.x,a=n.y):l>0&&(i+=o*l,a+=s*l)),o=e.x-i,s=e.y-a,r?o*o+s*s:new j(i,a)}function Yn(e){return!_(e[0])||typeof e[0][0]!=`object`&&e[0][0]!==void 0}function Xn(e){return console.warn(`Deprecated use of _flat, please use L.LineUtil.isFlat instead.`),Yn(e)}function Zn(e,t){var n,r,i,a,o,s,c,l;if(!e||e.length===0)throw Error(`latlngs not passed`);Yn(e)||(console.warn(`latlngs are not flat! Only the first ring will be used`),e=e[0]);var u=ie([0,0]),d=re(e);d.getNorthWest().distanceTo(d.getSouthWest())*d.getNorthEast().distanceTo(d.getNorthWest())<1700&&(u=Fn(e));var f=e.length,p=[];for(n=0;n<f;n++){var m=ie(e[n]);p.push(t.project(ie([m.lat-u.lat,m.lng-u.lng])))}for(n=0,r=0;n<f-1;n++)r+=p[n].distanceTo(p[n+1])/2;if(r===0)l=p[0];else for(n=0,a=0;n<f-1;n++)if(o=p[n],s=p[n+1],i=o.distanceTo(s),a+=i,a>r){c=(a-r)/i,l=[s.x-c*(s.x-o.x),s.y-c*(s.y-o.y)];break}var h=t.unproject(N(l));return ie([h.lat+u.lat,h.lng+u.lng])}var Qn={__proto__:null,simplify:Ln,pointToSegmentDistance:Rn,closestPointOnSegment:zn,clipSegment:Wn,_getEdgeIntersection:Gn,_getBitCode:Kn,_sqClosestPointOnSegment:Jn,isFlat:Yn,_flat:Xn,polylineCenter:Zn},$n={project:function(e){return new j(e.lng,e.lat)},unproject:function(e){return new F(e.y,e.x)},bounds:new P([-180,-90],[180,90])},er={R:6378137,R_MINOR:6356752.314245179,bounds:new P([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(e){var t=Math.PI/180,n=this.R,r=e.lat*t,i=this.R_MINOR/n,a=Math.sqrt(1-i*i),o=a*Math.sin(r),s=Math.tan(Math.PI/4-r/2)/((1-o)/(1+o))**(a/2);return r=-n*Math.log(Math.max(s,1e-10)),new j(e.lng*t*n,r)},unproject:function(e){for(var t=180/Math.PI,n=this.R,r=this.R_MINOR/n,i=Math.sqrt(1-r*r),a=Math.exp(-e.y/n),o=Math.PI/2-2*Math.atan(a),s=0,c=.1,l;s<15&&Math.abs(c)>1e-7;s++)l=i*Math.sin(o),l=((1-l)/(1+l))**(i/2),c=Math.PI/2-2*Math.atan(a*l)-o,o+=c;return new F(o*t,e.x*t/n)}},tr={__proto__:null,LonLat:$n,Mercator:er,SphericalMercator:ce},nr=n({},oe,{code:`EPSG:3395`,projection:er,transformation:function(){var e=.5/(Math.PI*er.R);return ue(e,.5,-e,.5)}()}),rr=n({},oe,{code:`EPSG:4326`,projection:$n,transformation:ue(1/180,1,-1/180,.5)}),ir=n({},ae,{projection:$n,transformation:ue(1,0,-1,0),scale:function(e){return 2**e},zoom:function(e){return Math.log(e)/Math.LN2},distance:function(e,t){var n=t.lng-e.lng,r=t.lat-e.lat;return Math.sqrt(n*n+r*r)},infinite:!0});ae.Earth=oe,ae.EPSG3395=nr,ae.EPSG3857=de,ae.EPSG900913=fe,ae.EPSG4326=rr,ae.Simple=ir;var ar=ee.extend({options:{pane:`overlayPane`,attribution:null,bubblingMouseEvents:!0},addTo:function(e){return e.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(e){return e&&e.removeLayer(this),this},getPane:function(e){return this._map.getPane(e?this.options[e]||e:this.options.pane)},addInteractiveTarget:function(e){return this._map._targets[o(e)]=this,this},removeInteractiveTarget:function(e){return delete this._map._targets[o(e)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(e){var t=e.target;if(t.hasLayer(this)){if(this._map=t,this._zoomAnimated=t._zoomAnimated,this.getEvents){var n=this.getEvents();t.on(n,this),this.once(`remove`,function(){t.off(n,this)},this)}this.onAdd(t),this.fire(`add`),t.fire(`layeradd`,{layer:this})}}});vn.include({addLayer:function(e){if(!e._layerAdd)throw Error(`The provided object is not a Layer.`);var t=o(e);return this._layers[t]||(this._layers[t]=e,e._mapToAdd=this,e.beforeAdd&&e.beforeAdd(this),this.whenReady(e._layerAdd,e)),this},removeLayer:function(e){var t=o(e);return this._layers[t]&&(this._loaded&&e.onRemove(this),delete this._layers[t],this._loaded&&(this.fire(`layerremove`,{layer:e}),e.fire(`remove`)),e._map=e._mapToAdd=null),this},hasLayer:function(e){return o(e)in this._layers},eachLayer:function(e,t){for(var n in this._layers)e.call(t,this._layers[n]);return this},_addLayers:function(e){e=e?_(e)?e:[e]:[];for(var t=0,n=e.length;t<n;t++)this.addLayer(e[t])},_addZoomLimit:function(e){isNaN(e.options.maxZoom)&&isNaN(e.options.minZoom)||(this._zoomBoundLayers[o(e)]=e,this._updateZoomLevels())},_removeZoomLimit:function(e){var t=o(e);this._zoomBoundLayers[t]&&(delete this._zoomBoundLayers[t],this._updateZoomLevels())},_updateZoomLevels:function(){var e=1/0,t=-1/0,n=this._getZoomSpan();for(var r in this._zoomBoundLayers){var i=this._zoomBoundLayers[r].options;e=i.minZoom===void 0?e:Math.min(e,i.minZoom),t=i.maxZoom===void 0?t:Math.max(t,i.maxZoom)}this._layersMaxZoom=t===-1/0?void 0:t,this._layersMinZoom=e===1/0?void 0:e,n!==this._getZoomSpan()&&this.fire(`zoomlevelschange`),this.options.maxZoom===void 0&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var or=ar.extend({initialize:function(e,t){p(this,t),this._layers={};var n,r;if(e)for(n=0,r=e.length;n<r;n++)this.addLayer(e[n])},addLayer:function(e){var t=this.getLayerId(e);return this._layers[t]=e,this._map&&this._map.addLayer(e),this},removeLayer:function(e){var t=e in this._layers?e:this.getLayerId(e);return this._map&&this._layers[t]&&this._map.removeLayer(this._layers[t]),delete this._layers[t],this},hasLayer:function(e){return(typeof e==`number`?e:this.getLayerId(e))in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(e){var t=Array.prototype.slice.call(arguments,1),n,r;for(n in this._layers)r=this._layers[n],r[e]&&r[e].apply(r,t);return this},onAdd:function(e){this.eachLayer(e.addLayer,e)},onRemove:function(e){this.eachLayer(e.removeLayer,e)},eachLayer:function(e,t){for(var n in this._layers)e.call(t,this._layers[n]);return this},getLayer:function(e){return this._layers[e]},getLayers:function(){var e=[];return this.eachLayer(e.push,e),e},setZIndex:function(e){return this.invoke(`setZIndex`,e)},getLayerId:function(e){return o(e)}}),sr=function(e,t){return new or(e,t)},cr=or.extend({addLayer:function(e){return this.hasLayer(e)?this:(e.addEventParent(this),or.prototype.addLayer.call(this,e),this.fire(`layeradd`,{layer:e}))},removeLayer:function(e){return this.hasLayer(e)?(e in this._layers&&(e=this._layers[e]),e.removeEventParent(this),or.prototype.removeLayer.call(this,e),this.fire(`layerremove`,{layer:e})):this},setStyle:function(e){return this.invoke(`setStyle`,e)},bringToFront:function(){return this.invoke(`bringToFront`)},bringToBack:function(){return this.invoke(`bringToBack`)},getBounds:function(){var e=new ne;for(var t in this._layers){var n=this._layers[t];e.extend(n.getBounds?n.getBounds():n.getLatLng())}return e}}),lr=function(e,t){return new cr(e,t)},ur=O.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(e){p(this,e)},createIcon:function(e){return this._createIcon(`icon`,e)},createShadow:function(e){return this._createIcon(`shadow`,e)},_createIcon:function(e,t){var n=this._getIconUrl(e);if(!n){if(e===`icon`)throw Error(`iconUrl not set in Icon options (see the docs).`);return null}var r=this._createImg(n,t&&t.tagName===`IMG`?t:null);return this._setIconStyles(r,e),(this.options.crossOrigin||this.options.crossOrigin===``)&&(r.crossOrigin=this.options.crossOrigin===!0?``:this.options.crossOrigin),r},_setIconStyles:function(e,t){var n=this.options,r=n[t+`Size`];typeof r==`number`&&(r=[r,r]);var i=N(r),a=N(t===`shadow`&&n.shadowAnchor||n.iconAnchor||i&&i.divideBy(2,!0));e.className=`leaflet-marker-`+t+` `+(n.className||``),a&&(e.style.marginLeft=-a.x+`px`,e.style.marginTop=-a.y+`px`),i&&(e.style.width=i.x+`px`,e.style.height=i.y+`px`)},_createImg:function(e,t){return t||=document.createElement(`img`),t.src=e,t},_getIconUrl:function(e){return I.retina&&this.options[e+`RetinaUrl`]||this.options[e+`Url`]}});function dr(e){return new ur(e)}var fr=ur.extend({options:{iconUrl:`marker-icon.png`,iconRetinaUrl:`marker-icon-2x.png`,shadowUrl:`marker-shadow.png`,iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(e){return typeof fr.imagePath!=`string`&&(fr.imagePath=this._detectIconPath()),(this.options.imagePath||fr.imagePath)+ur.prototype._getIconUrl.call(this,e)},_stripUrl:function(e){var t=function(e,t,n){var r=t.exec(e);return r&&r[n]};return e=t(e,/^url\((['"])?(.+)\1\)$/,2),e&&t(e,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var e=Ct(`div`,`leaflet-default-icon-path`,document.body),t=R(e,`background-image`)||R(e,`backgroundImage`);if(document.body.removeChild(e),t=this._stripUrl(t),t)return t;var n=document.querySelector(`link[href$="leaflet.css"]`);return n?n.href.substring(0,n.href.length-11-1):``}}),pr=kn.extend({initialize:function(e){this._marker=e},addHooks:function(){var e=this._marker._icon;this._draggable||=new Mn(e,e,!0),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),kt(e,`leaflet-marker-draggable`)},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&At(this._marker._icon,`leaflet-marker-draggable`)},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(e){var t=this._marker,n=t._map,r=this._marker.options.autoPanSpeed,i=this._marker.options.autoPanPadding,a=Rt(t._icon),o=n.getPixelBounds(),s=n.getPixelOrigin(),c=te(o.min._subtract(s).add(i),o.max._subtract(s).subtract(i));if(!c.contains(a)){var l=N((Math.max(c.max.x,a.x)-c.max.x)/(o.max.x-c.max.x)-(Math.min(c.min.x,a.x)-c.min.x)/(o.min.x-c.min.x),(Math.max(c.max.y,a.y)-c.max.y)/(o.max.y-c.max.y)-(Math.min(c.min.y,a.y)-c.min.y)/(o.min.y-c.min.y)).multiplyBy(r);n.panBy(l,{animate:!1}),this._draggable._newPos._add(l),this._draggable._startPos._add(l),Lt(t._icon,this._draggable._newPos),this._onDrag(e),this._panRequest=T(this._adjustPan.bind(this,e))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire(`movestart`).fire(`dragstart`)},_onPreDrag:function(e){this._marker.options.autoPan&&(E(this._panRequest),this._panRequest=T(this._adjustPan.bind(this,e)))},_onDrag:function(e){var t=this._marker,n=t._shadow,r=Rt(t._icon),i=t._map.layerPointToLatLng(r);n&&Lt(n,r),t._latlng=i,e.latlng=i,e.oldLatLng=this._oldLatLng,t.fire(`move`,e).fire(`drag`,e)},_onDragEnd:function(e){E(this._panRequest),delete this._oldLatLng,this._marker.fire(`moveend`).fire(`dragend`,e)}}),mr=ar.extend({options:{icon:new fr,interactive:!0,keyboard:!0,title:``,alt:`Marker`,zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:`markerPane`,shadowPane:`shadowPane`,bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(e,t){p(this,t),this._latlng=ie(e)},onAdd:function(e){this._zoomAnimated=this._zoomAnimated&&e.options.markerZoomAnimation,this._zoomAnimated&&e.on(`zoomanim`,this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(e){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&e.off(`zoomanim`,this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(e){var t=this._latlng;return this._latlng=ie(e),this.update(),this.fire(`move`,{oldLatLng:t,latlng:this._latlng})},setZIndexOffset:function(e){return this.options.zIndexOffset=e,this.update()},getIcon:function(){return this.options.icon},setIcon:function(e){return this.options.icon=e,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var e=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(e)}return this},_initIcon:function(){var e=this.options,t=`leaflet-zoom-`+(this._zoomAnimated?`animated`:`hide`),n=e.icon.createIcon(this._icon),r=!1;n!==this._icon&&(this._icon&&this._removeIcon(),r=!0,e.title&&(n.title=e.title),n.tagName===`IMG`&&(n.alt=e.alt||``)),kt(n,t),e.keyboard&&(n.tabIndex=`0`,n.setAttribute(`role`,`button`)),this._icon=n,e.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Qt(n,`focus`,this._panOnFocus,this);var i=e.icon.createShadow(this._shadow),a=!1;i!==this._shadow&&(this._removeShadow(),a=!0),i&&(kt(i,t),i.alt=``),this._shadow=i,e.opacity<1&&this._updateOpacity(),r&&this.getPane().appendChild(this._icon),this._initInteraction(),i&&a&&this.getPane(e.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&en(this._icon,`focus`,this._panOnFocus,this),wt(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&wt(this._shadow),this._shadow=null},_setPos:function(e){this._icon&&Lt(this._icon,e),this._shadow&&Lt(this._shadow,e),this._zIndex=e.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(e){this._icon&&(this._icon.style.zIndex=this._zIndex+e)},_animateZoom:function(e){var t=this._map._latLngToNewLayerPoint(this._latlng,e.zoom,e.center).round();this._setPos(t)},_initInteraction:function(){if(this.options.interactive&&(kt(this._icon,`leaflet-interactive`),this.addInteractiveTarget(this._icon),pr)){var e=this.options.draggable;this.dragging&&(e=this.dragging.enabled(),this.dragging.disable()),this.dragging=new pr(this),e&&this.dragging.enable()}},setOpacity:function(e){return this.options.opacity=e,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var e=this.options.opacity;this._icon&&Nt(this._icon,e),this._shadow&&Nt(this._shadow,e)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var e=this._map;if(e){var t=this.options.icon.options,n=t.iconSize?N(t.iconSize):N(0,0),r=t.iconAnchor?N(t.iconAnchor):N(0,0);e.panInside(this._latlng,{paddingTopLeft:r,paddingBottomRight:n.subtract(r)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});function hr(e,t){return new mr(e,t)}var gr=ar.extend({options:{stroke:!0,color:`#3388ff`,weight:3,opacity:1,lineCap:`round`,lineJoin:`round`,dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:`evenodd`,interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(e){this._renderer=e.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(e){return p(this,e),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&e&&Object.prototype.hasOwnProperty.call(e,`weight`)&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),_r=gr.extend({options:{fill:!0,radius:10},initialize:function(e,t){p(this,t),this._latlng=ie(e),this._radius=this.options.radius},setLatLng:function(e){var t=this._latlng;return this._latlng=ie(e),this.redraw(),this.fire(`move`,{oldLatLng:t,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(e){return this.options.radius=this._radius=e,this.redraw()},getRadius:function(){return this._radius},setStyle:function(e){var t=e&&e.radius||this._radius;return gr.prototype.setStyle.call(this,e),this.setRadius(t),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var e=this._radius,t=this._radiusY||e,n=this._clickTolerance(),r=[e+n,t+n];this._pxBounds=new P(this._point.subtract(r),this._point.add(r))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(e){return e.distanceTo(this._point)<=this._radius+this._clickTolerance()}});function vr(e,t){return new _r(e,t)}var yr=_r.extend({initialize:function(e,t,r){if(typeof t==`number`&&(t=n({},r,{radius:t})),p(this,t),this._latlng=ie(e),isNaN(this.options.radius))throw Error(`Circle radius cannot be NaN`);this._mRadius=this.options.radius},setRadius:function(e){return this._mRadius=e,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var e=[this._radius,this._radiusY||this._radius];return new ne(this._map.layerPointToLatLng(this._point.subtract(e)),this._map.layerPointToLatLng(this._point.add(e)))},setStyle:gr.prototype.setStyle,_project:function(){var e=this._latlng.lng,t=this._latlng.lat,n=this._map,r=n.options.crs;if(r.distance===oe.distance){var i=Math.PI/180,a=this._mRadius/oe.R/i,o=n.project([t+a,e]),s=n.project([t-a,e]),c=o.add(s).divideBy(2),l=n.unproject(c).lat,u=Math.acos((Math.cos(a*i)-Math.sin(t*i)*Math.sin(l*i))/(Math.cos(t*i)*Math.cos(l*i)))/i;(isNaN(u)||u===0)&&(u=a/Math.cos(Math.PI/180*t)),this._point=c.subtract(n.getPixelOrigin()),this._radius=isNaN(u)?0:c.x-n.project([l,e-u]).x,this._radiusY=c.y-o.y}else{var d=r.unproject(r.project(this._latlng).subtract([this._mRadius,0]));this._point=n.latLngToLayerPoint(this._latlng),this._radius=this._point.x-n.latLngToLayerPoint(d).x}this._updateBounds()}});function z(e,t,n){return new yr(e,t,n)}var br=gr.extend({options:{smoothFactor:1,noClip:!1},initialize:function(e,t){p(this,t),this._setLatLngs(e)},getLatLngs:function(){return this._latlngs},setLatLngs:function(e){return this._setLatLngs(e),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(e){for(var t=1/0,n=null,r=Jn,i,a,o=0,s=this._parts.length;o<s;o++)for(var c=this._parts[o],l=1,u=c.length;l<u;l++){i=c[l-1],a=c[l];var d=r(e,i,a,!0);d<t&&(t=d,n=r(e,i,a))}return n&&(n.distance=Math.sqrt(t)),n},getCenter:function(){if(!this._map)throw Error(`Must add layer to map before using getCenter()`);return Zn(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(e,t){return t||=this._defaultShape(),e=ie(e),t.push(e),this._bounds.extend(e),this.redraw()},_setLatLngs:function(e){this._bounds=new ne,this._latlngs=this._convertLatLngs(e)},_defaultShape:function(){return Yn(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(e){for(var t=[],n=Yn(e),r=0,i=e.length;r<i;r++)n?(t[r]=ie(e[r]),this._bounds.extend(t[r])):t[r]=this._convertLatLngs(e[r]);return t},_project:function(){var e=new P;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,e),this._bounds.isValid()&&e.isValid()&&(this._rawPxBounds=e,this._updateBounds())},_updateBounds:function(){var e=this._clickTolerance(),t=new j(e,e);this._rawPxBounds&&(this._pxBounds=new P([this._rawPxBounds.min.subtract(t),this._rawPxBounds.max.add(t)]))},_projectLatlngs:function(e,t,n){var r=e[0]instanceof F,i=e.length,a,o;if(r){for(o=[],a=0;a<i;a++)o[a]=this._map.latLngToLayerPoint(e[a]),n.extend(o[a]);t.push(o)}else for(a=0;a<i;a++)this._projectLatlngs(e[a],t,n)},_clipPoints:function(){var e=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(e)){if(this.options.noClip)this._parts=this._rings;else for(var t=this._parts,n=0,r,i=0,a=this._rings.length,o,s,c;n<a;n++)for(c=this._rings[n],r=0,o=c.length;r<o-1;r++)s=Wn(c[r],c[r+1],e,r,!0),s&&(t[i]=t[i]||[],t[i].push(s[0]),(s[1]!==c[r+1]||r===o-2)&&(t[i].push(s[1]),i++))}},_simplifyPoints:function(){for(var e=this._parts,t=this.options.smoothFactor,n=0,r=e.length;n<r;n++)e[n]=Ln(e[n],t)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(e,t){var n,r,i,a,o,s,c=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(e))return!1;for(n=0,a=this._parts.length;n<a;n++)for(s=this._parts[n],r=0,o=s.length,i=o-1;r<o;i=r++)if((t||r!==0)&&Rn(e,s[i],s[r])<=c)return!0;return!1}});function xr(e,t){return new br(e,t)}br._flat=Xn;var Sr=br.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw Error(`Must add layer to map before using getCenter()`);return Pn(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(e){var t=br.prototype._convertLatLngs.call(this,e),n=t.length;return n>=2&&t[0]instanceof F&&t[0].equals(t[n-1])&&t.pop(),t},_setLatLngs:function(e){br.prototype._setLatLngs.call(this,e),Yn(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Yn(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var e=this._renderer._bounds,t=this.options.weight,n=new j(t,t);if(e=new P(e.min.subtract(n),e.max.add(n)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(e)){if(this.options.noClip)this._parts=this._rings;else for(var r=0,i=this._rings.length,a;r<i;r++)a=Nn(this._rings[r],e,!0),a.length&&this._parts.push(a)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(e){var t=!1,n,r,i,a,o,s,c,l;if(!this._pxBounds||!this._pxBounds.contains(e))return!1;for(a=0,c=this._parts.length;a<c;a++)for(n=this._parts[a],o=0,l=n.length,s=l-1;o<l;s=o++)r=n[o],i=n[s],r.y>e.y!=i.y>e.y&&e.x<(i.x-r.x)*(e.y-r.y)/(i.y-r.y)+r.x&&(t=!t);return t||br.prototype._containsPoint.call(this,e,!0)}});function Cr(e,t){return new Sr(e,t)}var wr=cr.extend({initialize:function(e,t){p(this,t),this._layers={},e&&this.addData(e)},addData:function(e){var t=_(e)?e:e.features,n,r,i;if(t){for(n=0,r=t.length;n<r;n++)i=t[n],(i.geometries||i.geometry||i.features||i.coordinates)&&this.addData(i);return this}var a=this.options;if(a.filter&&!a.filter(e))return this;var o=Tr(e,a);return o?(o.feature=jr(e),o.defaultOptions=o.options,this.resetStyle(o),a.onEachFeature&&a.onEachFeature(e,o),this.addLayer(o)):this},resetStyle:function(e){return e===void 0?this.eachLayer(this.resetStyle,this):(e.options=n({},e.defaultOptions),this._setLayerStyle(e,this.options.style),this)},setStyle:function(e){return this.eachLayer(function(t){this._setLayerStyle(t,e)},this)},_setLayerStyle:function(e,t){e.setStyle&&(typeof t==`function`&&(t=t(e.feature)),e.setStyle(t))}});function Tr(e,t){var n=e.type===`Feature`?e.geometry:e,r=n?n.coordinates:null,i=[],a=t&&t.pointToLayer,o=t&&t.coordsToLatLng||Er,s,c,l,u;if(!r&&!n)return null;switch(n.type){case`Point`:return s=o(r),B(a,e,s,t);case`MultiPoint`:for(l=0,u=r.length;l<u;l++)s=o(r[l]),i.push(B(a,e,s,t));return new cr(i);case`LineString`:case`MultiLineString`:return c=Dr(r,n.type===`LineString`?0:1,o),new br(c,t);case`Polygon`:case`MultiPolygon`:return c=Dr(r,n.type===`Polygon`?1:2,o),new Sr(c,t);case`GeometryCollection`:for(l=0,u=n.geometries.length;l<u;l++){var d=Tr({geometry:n.geometries[l],type:`Feature`,properties:e.properties},t);d&&i.push(d)}return new cr(i);case`FeatureCollection`:for(l=0,u=n.features.length;l<u;l++){var f=Tr(n.features[l],t);f&&i.push(f)}return new cr(i);default:throw Error(`Invalid GeoJSON object.`)}}function B(e,t,n,r){return e?e(t,n):new mr(n,r&&r.markersInheritOptions&&r)}function Er(e){return new F(e[1],e[0],e[2])}function Dr(e,t,n){for(var r=[],i=0,a=e.length,o;i<a;i++)o=t?Dr(e[i],t-1,n):(n||Er)(e[i]),r.push(o);return r}function Or(e,t){return e=ie(e),e.alt===void 0?[u(e.lng,t),u(e.lat,t)]:[u(e.lng,t),u(e.lat,t),u(e.alt,t)]}function kr(e,t,n,r){for(var i=[],a=0,o=e.length;a<o;a++)i.push(t?kr(e[a],Yn(e[a])?0:t-1,n,r):Or(e[a],r));return!t&&n&&i.length>0&&i.push(i[0].slice()),i}function Ar(e,t){return e.feature?n({},e.feature,{geometry:t}):jr(t)}function jr(e){return e.type===`Feature`||e.type===`FeatureCollection`?e:{type:`Feature`,properties:{},geometry:e}}var Mr={toGeoJSON:function(e){return Ar(this,{type:`Point`,coordinates:Or(this.getLatLng(),e)})}};mr.include(Mr),yr.include(Mr),_r.include(Mr),br.include({toGeoJSON:function(e){var t=!Yn(this._latlngs),n=kr(this._latlngs,+!!t,!1,e);return Ar(this,{type:(t?`Multi`:``)+`LineString`,coordinates:n})}}),Sr.include({toGeoJSON:function(e){var t=!Yn(this._latlngs),n=t&&!Yn(this._latlngs[0]),r=kr(this._latlngs,n?2:+!!t,!0,e);return t||(r=[r]),Ar(this,{type:(n?`Multi`:``)+`Polygon`,coordinates:r})}}),or.include({toMultiPoint:function(e){var t=[];return this.eachLayer(function(n){t.push(n.toGeoJSON(e).geometry.coordinates)}),Ar(this,{type:`MultiPoint`,coordinates:t})},toGeoJSON:function(e){var t=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(t===`MultiPoint`)return this.toMultiPoint(e);var n=t===`GeometryCollection`,r=[];return this.eachLayer(function(t){if(t.toGeoJSON){var i=t.toGeoJSON(e);if(n)r.push(i.geometry);else{var a=jr(i);a.type===`FeatureCollection`?r.push.apply(r,a.features):r.push(a)}}}),n?Ar(this,{geometries:r,type:`GeometryCollection`}):{type:`FeatureCollection`,features:r}}});function Nr(e,t){return new wr(e,t)}var Pr=Nr,Fr=ar.extend({options:{opacity:1,alt:``,interactive:!1,crossOrigin:!1,errorOverlayUrl:``,zIndex:1,className:``},initialize:function(e,t,n){this._url=e,this._bounds=re(t),p(this,n)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(kt(this._image,`leaflet-interactive`),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){wt(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(e){return this.options.opacity=e,this._image&&this._updateOpacity(),this},setStyle:function(e){return e.opacity&&this.setOpacity(e.opacity),this},bringToFront:function(){return this._map&&Et(this._image),this},bringToBack:function(){return this._map&&Dt(this._image),this},setUrl:function(e){return this._url=e,this._image&&(this._image.src=e),this},setBounds:function(e){return this._bounds=re(e),this._map&&this._reset(),this},getEvents:function(){var e={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(e.zoomanim=this._animateZoom),e},setZIndex:function(e){return this.options.zIndex=e,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var e=this._url.tagName===`IMG`,t=this._image=e?this._url:Ct(`img`);kt(t,`leaflet-image-layer`),this._zoomAnimated&&kt(t,`leaflet-zoom-animated`),this.options.className&&kt(t,this.options.className),t.onselectstart=l,t.onmousemove=l,t.onload=i(this.fire,this,`load`),t.onerror=i(this._overlayOnError,this,`error`),(this.options.crossOrigin||this.options.crossOrigin===``)&&(t.crossOrigin=this.options.crossOrigin===!0?``:this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),e?this._url=t.src:(t.src=this._url,t.alt=this.options.alt)},_animateZoom:function(e){var t=this._map.getZoomScale(e.zoom),n=this._map._latLngBoundsToNewLayerBounds(this._bounds,e.zoom,e.center).min;It(this._image,n,t)},_reset:function(){var e=this._image,t=new P(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),n=t.getSize();Lt(e,t.min),e.style.width=n.x+`px`,e.style.height=n.y+`px`},_updateOpacity:function(){Nt(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire(`error`);var e=this.options.errorOverlayUrl;e&&this._url!==e&&(this._url=e,this._image.src=e)},getCenter:function(){return this._bounds.getCenter()}}),Ir=function(e,t,n){return new Fr(e,t,n)},Lr=Fr.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var e=this._url.tagName===`VIDEO`,t=this._image=e?this._url:Ct(`video`);if(kt(t,`leaflet-image-layer`),this._zoomAnimated&&kt(t,`leaflet-zoom-animated`),this.options.className&&kt(t,this.options.className),t.onselectstart=l,t.onmousemove=l,t.onloadeddata=i(this.fire,this,`load`),e){for(var n=t.getElementsByTagName(`source`),r=[],a=0;a<n.length;a++)r.push(n[a].src);this._url=n.length>0?r:[t.src]}else{_(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(t.style,`objectFit`)&&(t.style.objectFit=`fill`),t.autoplay=!!this.options.autoplay,t.loop=!!this.options.loop,t.muted=!!this.options.muted,t.playsInline=!!this.options.playsInline;for(var o=0;o<this._url.length;o++){var s=Ct(`source`);s.src=this._url[o],t.appendChild(s)}}}});function Rr(e,t,n){return new Lr(e,t,n)}var zr=Fr.extend({_initImage:function(){var e=this._image=this._url;kt(e,`leaflet-image-layer`),this._zoomAnimated&&kt(e,`leaflet-zoom-animated`),this.options.className&&kt(e,this.options.className),e.onselectstart=l,e.onmousemove=l}});function Br(e,t,n){return new zr(e,t,n)}var Vr=ar.extend({options:{interactive:!1,offset:[0,0],className:``,pane:void 0,content:``},initialize:function(e,t){e&&(e instanceof F||_(e))?(this._latlng=ie(e),p(this,t)):(p(this,e),this._source=t),this.options.content&&(this._content=this.options.content)},openOn:function(e){return e=arguments.length?e:this._source._map,e.hasLayer(this)||e.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(e){return this._map?this.close():(arguments.length?this._source=e:e=this._source,this._prepareOpen(),this.openOn(e._map)),this},onAdd:function(e){this._zoomAnimated=e._zoomAnimated,this._container||this._initLayout(),e._fadeAnimated&&Nt(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),e._fadeAnimated&&Nt(this._container,1),this.bringToFront(),this.options.interactive&&(kt(this._container,`leaflet-interactive`),this.addInteractiveTarget(this._container))},onRemove:function(e){e._fadeAnimated?(Nt(this._container,0),this._removeTimeout=setTimeout(i(wt,void 0,this._container),200)):wt(this._container),this.options.interactive&&(At(this._container,`leaflet-interactive`),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(e){return this._latlng=ie(e),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(e){return this._content=e,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility=`hidden`,this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility=``,this._adjustPan())},getEvents:function(){var e={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(e.zoomanim=this._animateZoom),e},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&Et(this._container),this},bringToBack:function(){return this._map&&Dt(this._container),this},_prepareOpen:function(e){var t=this._source;if(!t._map)return!1;if(t instanceof cr){t=null;var n=this._source._layers;for(var r in n)if(n[r]._map){t=n[r];break}if(!t)return!1;this._source=t}if(!e){if(t.getCenter)e=t.getCenter();else if(t.getLatLng)e=t.getLatLng();else if(t.getBounds)e=t.getBounds().getCenter();else throw Error(`Unable to get source layer LatLng.`)}return this.setLatLng(e),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var e=this._contentNode,t=typeof this._content==`function`?this._content(this._source||this):this._content;if(typeof t==`string`)e.innerHTML=t;else{for(;e.hasChildNodes();)e.removeChild(e.firstChild);e.appendChild(t)}this.fire(`contentupdate`)}},_updatePosition:function(){if(this._map){var e=this._map.latLngToLayerPoint(this._latlng),t=N(this.options.offset),n=this._getAnchor();this._zoomAnimated?Lt(this._container,e.add(n)):t=t.add(e).add(n);var r=this._containerBottom=-t.y,i=this._containerLeft=-Math.round(this._containerWidth/2)+t.x;this._container.style.bottom=r+`px`,this._container.style.left=i+`px`}},_getAnchor:function(){return[0,0]}});vn.include({_initOverlay:function(e,t,n,r){var i=t;return i instanceof e||(i=new e(r).setContent(t)),n&&i.setLatLng(n),i}}),ar.include({_initOverlay:function(e,t,n,r){var i=n;return i instanceof e?(p(i,r),i._source=this):(i=t&&!r?t:new e(r,this),i.setContent(n)),i}});var Hr=Vr.extend({options:{pane:`popupPane`,offset:[0,7],maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:``},openOn:function(e){return e=arguments.length?e:this._source._map,!e.hasLayer(this)&&e._popup&&e._popup.options.autoClose&&e.removeLayer(e._popup),e._popup=this,Vr.prototype.openOn.call(this,e)},onAdd:function(e){Vr.prototype.onAdd.call(this,e),e.fire(`popupopen`,{popup:this}),this._source&&(this._source.fire(`popupopen`,{popup:this},!0),this._source instanceof gr||this._source.on(`preclick`,on))},onRemove:function(e){Vr.prototype.onRemove.call(this,e),e.fire(`popupclose`,{popup:this}),this._source&&(this._source.fire(`popupclose`,{popup:this},!0),this._source instanceof gr||this._source.off(`preclick`,on))},getEvents:function(){var e=Vr.prototype.getEvents.call(this);return(this.options.closeOnClick===void 0?this._map.options.closePopupOnClick:this.options.closeOnClick)&&(e.preclick=this.close),this.options.keepInView&&(e.moveend=this._adjustPan),e},_initLayout:function(){var e=`leaflet-popup`,t=this._container=Ct(`div`,e+` `+(this.options.className||``)+` leaflet-zoom-animated`),n=this._wrapper=Ct(`div`,e+`-content-wrapper`,t);if(this._contentNode=Ct(`div`,e+`-content`,n),cn(t),sn(this._contentNode),Qt(t,`contextmenu`,on),this._tipContainer=Ct(`div`,e+`-tip-container`,t),this._tip=Ct(`div`,e+`-tip`,this._tipContainer),this.options.closeButton){var r=this._closeButton=Ct(`a`,e+`-close-button`,t);r.setAttribute(`role`,`button`),r.setAttribute(`aria-label`,`Close popup`),r.href=`#close`,r.innerHTML=`<span aria-hidden="true">&#215;</span>`,Qt(r,`click`,function(e){ln(e),this.close()},this)}},_updateLayout:function(){var e=this._contentNode,t=e.style;t.width=``,t.whiteSpace=`nowrap`;var n=e.offsetWidth;n=Math.min(n,this.options.maxWidth),n=Math.max(n,this.options.minWidth),t.width=n+1+`px`,t.whiteSpace=``,t.height=``;var r=e.offsetHeight,i=this.options.maxHeight,a=`leaflet-popup-scrolled`;i&&r>i?(t.height=i+`px`,kt(e,a)):At(e,a),this._containerWidth=this._container.offsetWidth},_animateZoom:function(e){var t=this._map._latLngToNewLayerPoint(this._latlng,e.zoom,e.center),n=this._getAnchor();Lt(this._container,t.add(n))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning)this._autopanning=!1;else{var e=this._map,t=parseInt(R(this._container,`marginBottom`),10)||0,n=this._container.offsetHeight+t,r=this._containerWidth,i=new j(this._containerLeft,-n-this._containerBottom);i._add(Rt(this._container));var a=e.layerPointToContainerPoint(i),o=N(this.options.autoPanPadding),s=N(this.options.autoPanPaddingTopLeft||o),c=N(this.options.autoPanPaddingBottomRight||o),l=e.getSize(),u=0,d=0;a.x+r+c.x>l.x&&(u=a.x+r-l.x+c.x),a.x-u-s.x<0&&(u=a.x-s.x),a.y+n+c.y>l.y&&(d=a.y+n-l.y+c.y),a.y-d-s.y<0&&(d=a.y-s.y),(u||d)&&(this.options.keepInView&&(this._autopanning=!0),e.fire(`autopanstart`).panBy([u,d]))}}},_getAnchor:function(){return N(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),Ur=function(e,t){return new Hr(e,t)};vn.mergeOptions({closePopupOnClick:!0}),vn.include({openPopup:function(e,t,n){return this._initOverlay(Hr,e,t,n).openOn(this),this},closePopup:function(e){return e=arguments.length?e:this._popup,e&&e.close(),this}}),ar.include({bindPopup:function(e,t){return this._popup=this._initOverlay(Hr,this._popup,e,t),this._popupHandlersAdded||=(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),!0),this},unbindPopup:function(){return this._popup&&=(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,null),this},openPopup:function(e){return this._popup&&(this instanceof cr||(this._popup._source=this),this._popup._prepareOpen(e||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(e){return this._popup&&this._popup.setContent(e),this},getPopup:function(){return this._popup},_openPopup:function(e){if(this._popup&&this._map){un(e);var t=e.layer||e.target;this._popup._source===t&&!(t instanceof gr)?this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(e.latlng):(this._popup._source=t,this.openPopup(e.latlng))}},_movePopup:function(e){this._popup.setLatLng(e.latlng)},_onKeyPress:function(e){e.originalEvent.keyCode===13&&this._openPopup(e)}});var Wr=Vr.extend({options:{pane:`tooltipPane`,offset:[0,0],direction:`auto`,permanent:!1,sticky:!1,opacity:.9},onAdd:function(e){Vr.prototype.onAdd.call(this,e),this.setOpacity(this.options.opacity),e.fire(`tooltipopen`,{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire(`tooltipopen`,{tooltip:this},!0))},onRemove:function(e){Vr.prototype.onRemove.call(this,e),e.fire(`tooltipclose`,{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire(`tooltipclose`,{tooltip:this},!0))},getEvents:function(){var e=Vr.prototype.getEvents.call(this);return this.options.permanent||(e.preclick=this.close),e},_initLayout:function(){var e=`leaflet-tooltip `+(this.options.className||``)+` leaflet-zoom-`+(this._zoomAnimated?`animated`:`hide`);this._contentNode=this._container=Ct(`div`,e),this._container.setAttribute(`role`,`tooltip`),this._container.setAttribute(`id`,`leaflet-tooltip-`+o(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(e){var t,n,r=this._map,i=this._container,a=r.latLngToContainerPoint(r.getCenter()),o=r.layerPointToContainerPoint(e),s=this.options.direction,c=i.offsetWidth,l=i.offsetHeight,u=N(this.options.offset),d=this._getAnchor();s===`top`?(t=c/2,n=l):s===`bottom`?(t=c/2,n=0):s===`center`?(t=c/2,n=l/2):s===`right`?(t=0,n=l/2):s===`left`?(t=c,n=l/2):o.x<a.x?(s=`right`,t=0,n=l/2):(s=`left`,t=c+(u.x+d.x)*2,n=l/2),e=e.subtract(N(t,n,!0)).add(u).add(d),At(i,`leaflet-tooltip-right`),At(i,`leaflet-tooltip-left`),At(i,`leaflet-tooltip-top`),At(i,`leaflet-tooltip-bottom`),kt(i,`leaflet-tooltip-`+s),Lt(i,e)},_updatePosition:function(){var e=this._map.latLngToLayerPoint(this._latlng);this._setPosition(e)},setOpacity:function(e){this.options.opacity=e,this._container&&Nt(this._container,e)},_animateZoom:function(e){var t=this._map._latLngToNewLayerPoint(this._latlng,e.zoom,e.center);this._setPosition(t)},_getAnchor:function(){return N(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),Gr=function(e,t){return new Wr(e,t)};vn.include({openTooltip:function(e,t,n){return this._initOverlay(Wr,e,t,n).openOn(this),this},closeTooltip:function(e){return e.close(),this}}),ar.include({bindTooltip:function(e,t){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(Wr,this._tooltip,e,t),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&=(this._initTooltipInteractions(!0),this.closeTooltip(),null),this},_initTooltipInteractions:function(e){if(e||!this._tooltipHandlersAdded){var t=e?`off`:`on`,n={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?n.add=this._openTooltip:(n.mouseover=this._openTooltip,n.mouseout=this.closeTooltip,n.click=this._openTooltip,this._map?this._addFocusListeners():n.add=this._addFocusListeners),this._tooltip.options.sticky&&(n.mousemove=this._moveTooltip),this[t](n),this._tooltipHandlersAdded=!e}},openTooltip:function(e){return this._tooltip&&(this instanceof cr||(this._tooltip._source=this),this._tooltip._prepareOpen(e)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(e){return this._tooltip&&this._tooltip.setContent(e),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(e){var t=typeof e.getElement==`function`&&e.getElement();t&&(Qt(t,`focus`,function(){this._tooltip._source=e,this.openTooltip()},this),Qt(t,`blur`,this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(e){var t=typeof e.getElement==`function`&&e.getElement();t&&t.setAttribute(`aria-describedby`,this._tooltip._container.id)},_openTooltip:function(e){if(this._tooltip&&this._map){if(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag){this._openOnceFlag=!0;var t=this;this._map.once(`moveend`,function(){t._openOnceFlag=!1,t._openTooltip(e)})}else this._tooltip._source=e.layer||e.target,this.openTooltip(this._tooltip.options.sticky?e.latlng:void 0)}},_moveTooltip:function(e){var t=e.latlng,n,r;this._tooltip.options.sticky&&e.originalEvent&&(n=this._map.mouseEventToContainerPoint(e.originalEvent),r=this._map.containerPointToLayerPoint(n),t=this._map.layerPointToLatLng(r)),this._tooltip.setLatLng(t)}});var Kr=ur.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:`leaflet-div-icon`},createIcon:function(e){var t=e&&e.tagName===`DIV`?e:document.createElement(`div`),n=this.options;if(n.html instanceof Element?(Tt(t),t.appendChild(n.html)):t.innerHTML=n.html===!1?``:n.html,n.bgPos){var r=N(n.bgPos);t.style.backgroundPosition=-r.x+`px `+-r.y+`px`}return this._setIconStyles(t,`icon`),t},createShadow:function(){return null}});function qr(e){return new Kr(e)}ur.Default=fr;var Jr=ar.extend({options:{tileSize:256,opacity:1,updateWhenIdle:I.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:`tilePane`,className:``,keepBuffer:2},initialize:function(e){p(this,e)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(e){e._addZoomLimit(this)},onRemove:function(e){this._removeAllTiles(),wt(this._container),e._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(Et(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(Dt(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(e){return this.options.opacity=e,this._updateOpacity(),this},setZIndex:function(e){return this.options.zIndex=e,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var e=this._clampZoom(this._map.getZoom());e!==this._tileZoom&&(this._tileZoom=e,this._updateLevels()),this._update()}return this},getEvents:function(){var e={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||=s(this._onMoveEnd,this.options.updateInterval,this),e.move=this._onMove),this._zoomAnimated&&(e.zoomanim=this._animateZoom),e},createTile:function(){return document.createElement(`div`)},getTileSize:function(){var e=this.options.tileSize;return e instanceof j?e:new j(e,e)},_updateZIndex:function(){this._container&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(e){for(var t=this.getPane().children,n=-e(-1/0,1/0),r=0,i=t.length,a;r<i;r++)a=t[r].style.zIndex,t[r]!==this._container&&a&&(n=e(n,+a));isFinite(n)&&(this.options.zIndex=n+e(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!I.ielt9){Nt(this._container,this.options.opacity);var e=+new Date,t=!1,n=!1;for(var r in this._tiles){var i=this._tiles[r];if(i.current&&i.loaded){var a=Math.min(1,(e-i.loaded)/200);Nt(i.el,a),a<1?t=!0:(i.active?n=!0:this._onOpaqueTile(i),i.active=!0)}}n&&!this._noPrune&&this._pruneTiles(),t&&(E(this._fadeFrame),this._fadeFrame=T(this._updateOpacity,this))}},_onOpaqueTile:l,_initContainer:function(){this._container||(this._container=Ct(`div`,`leaflet-layer `+(this.options.className||``)),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var e=this._tileZoom,t=this.options.maxZoom;if(e!==void 0){for(var n in this._levels)n=Number(n),this._levels[n].el.children.length||n===e?(this._levels[n].el.style.zIndex=t-Math.abs(e-n),this._onUpdateLevel(n)):(wt(this._levels[n].el),this._removeTilesAtZoom(n),this._onRemoveLevel(n),delete this._levels[n]);var r=this._levels[e],i=this._map;return r||(r=this._levels[e]={},r.el=Ct(`div`,`leaflet-tile-container leaflet-zoom-animated`,this._container),r.el.style.zIndex=t,r.origin=i.project(i.unproject(i.getPixelOrigin()),e).round(),r.zoom=e,this._setZoomTransform(r,i.getCenter(),i.getZoom()),r.el.offsetWidth,this._onCreateLevel(r)),this._level=r,r}},_onUpdateLevel:l,_onRemoveLevel:l,_onCreateLevel:l,_pruneTiles:function(){if(this._map){var e,t,n=this._map.getZoom();if(n>this.options.maxZoom||n<this.options.minZoom)this._removeAllTiles();else{for(e in this._tiles)t=this._tiles[e],t.retain=t.current;for(e in this._tiles)if(t=this._tiles[e],t.current&&!t.active){var r=t.coords;this._retainParent(r.x,r.y,r.z,r.z-5)||this._retainChildren(r.x,r.y,r.z,r.z+2)}for(e in this._tiles)this._tiles[e].retain||this._removeTile(e)}}},_removeTilesAtZoom:function(e){for(var t in this._tiles)this._tiles[t].coords.z===e&&this._removeTile(t)},_removeAllTiles:function(){for(var e in this._tiles)this._removeTile(e)},_invalidateAll:function(){for(var e in this._levels)wt(this._levels[e].el),this._onRemoveLevel(Number(e)),delete this._levels[e];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(e,t,n,r){var i=Math.floor(e/2),a=Math.floor(t/2),o=n-1,s=new j(+i,+a);s.z=+o;var c=this._tileCoordsToKey(s),l=this._tiles[c];return l&&l.active?(l.retain=!0,!0):(l&&l.loaded&&(l.retain=!0),o>r&&this._retainParent(i,a,o,r))},_retainChildren:function(e,t,n,r){for(var i=2*e;i<2*e+2;i++)for(var a=2*t;a<2*t+2;a++){var o=new j(i,a);o.z=n+1;var s=this._tileCoordsToKey(o),c=this._tiles[s];c&&c.active?c.retain=!0:(c&&c.loaded&&(c.retain=!0),n+1<r&&this._retainChildren(i,a,n+1,r))}},_resetView:function(e){var t=e&&(e.pinch||e.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),t,t)},_animateZoom:function(e){this._setView(e.center,e.zoom,!0,e.noUpdate)},_clampZoom:function(e){var t=this.options;return t.minNativeZoom!==void 0&&e<t.minNativeZoom?t.minNativeZoom:t.maxNativeZoom!==void 0&&t.maxNativeZoom<e?t.maxNativeZoom:e},_setView:function(e,t,n,r){var i=Math.round(t);i=this.options.maxZoom!==void 0&&i>this.options.maxZoom||this.options.minZoom!==void 0&&i<this.options.minZoom?void 0:this._clampZoom(i);var a=this.options.updateWhenZooming&&i!==this._tileZoom;(!r||a)&&(this._tileZoom=i,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),i!==void 0&&this._update(e),n||this._pruneTiles(),this._noPrune=!!n),this._setZoomTransforms(e,t)},_setZoomTransforms:function(e,t){for(var n in this._levels)this._setZoomTransform(this._levels[n],e,t)},_setZoomTransform:function(e,t,n){var r=this._map.getZoomScale(n,e.zoom),i=e.origin.multiplyBy(r).subtract(this._map._getNewPixelOrigin(t,n)).round();I.any3d?It(e.el,i,r):Lt(e.el,i)},_resetGrid:function(){var e=this._map,t=e.options.crs,n=this._tileSize=this.getTileSize(),r=this._tileZoom,i=this._map.getPixelWorldBounds(this._tileZoom);i&&(this._globalTileRange=this._pxBoundsToTileRange(i)),this._wrapX=t.wrapLng&&!this.options.noWrap&&[Math.floor(e.project([0,t.wrapLng[0]],r).x/n.x),Math.ceil(e.project([0,t.wrapLng[1]],r).x/n.y)],this._wrapY=t.wrapLat&&!this.options.noWrap&&[Math.floor(e.project([t.wrapLat[0],0],r).y/n.x),Math.ceil(e.project([t.wrapLat[1],0],r).y/n.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(e){var t=this._map,n=t._animatingZoom?Math.max(t._animateToZoom,t.getZoom()):t.getZoom(),r=t.getZoomScale(n,this._tileZoom),i=t.project(e,this._tileZoom).floor(),a=t.getSize().divideBy(r*2);return new P(i.subtract(a),i.add(a))},_update:function(e){var t=this._map;if(t){var n=this._clampZoom(t.getZoom());if(e===void 0&&(e=t.getCenter()),this._tileZoom!==void 0){var r=this._getTiledPixelBounds(e),i=this._pxBoundsToTileRange(r),a=i.getCenter(),o=[],s=this.options.keepBuffer,c=new P(i.getBottomLeft().subtract([s,-s]),i.getTopRight().add([s,-s]));if(!(isFinite(i.min.x)&&isFinite(i.min.y)&&isFinite(i.max.x)&&isFinite(i.max.y)))throw Error(`Attempted to load an infinite number of tiles`);for(var l in this._tiles){var u=this._tiles[l].coords;u.z===this._tileZoom&&c.contains(new j(u.x,u.y))||(this._tiles[l].current=!1)}if(Math.abs(n-this._tileZoom)>1)this._setView(e,n);else{for(var d=i.min.y;d<=i.max.y;d++)for(var f=i.min.x;f<=i.max.x;f++){var p=new j(f,d);if(p.z=this._tileZoom,this._isValidTile(p)){var m=this._tiles[this._tileCoordsToKey(p)];m?m.current=!0:o.push(p)}}if(o.sort(function(e,t){return e.distanceTo(a)-t.distanceTo(a)}),o.length!==0){this._loading||(this._loading=!0,this.fire(`loading`));var h=document.createDocumentFragment();for(f=0;f<o.length;f++)this._addTile(o[f],h);this._level.el.appendChild(h)}}}}},_isValidTile:function(e){var t=this._map.options.crs;if(!t.infinite){var n=this._globalTileRange;if(!t.wrapLng&&(e.x<n.min.x||e.x>n.max.x)||!t.wrapLat&&(e.y<n.min.y||e.y>n.max.y))return!1}if(!this.options.bounds)return!0;var r=this._tileCoordsToBounds(e);return re(this.options.bounds).overlaps(r)},_keyToBounds:function(e){return this._tileCoordsToBounds(this._keyToTileCoords(e))},_tileCoordsToNwSe:function(e){var t=this._map,n=this.getTileSize(),r=e.scaleBy(n),i=r.add(n);return[t.unproject(r,e.z),t.unproject(i,e.z)]},_tileCoordsToBounds:function(e){var t=this._tileCoordsToNwSe(e),n=new ne(t[0],t[1]);return this.options.noWrap||(n=this._map.wrapLatLngBounds(n)),n},_tileCoordsToKey:function(e){return e.x+`:`+e.y+`:`+e.z},_keyToTileCoords:function(e){var t=e.split(`:`),n=new j(+t[0],+t[1]);return n.z=+t[2],n},_removeTile:function(e){var t=this._tiles[e];t&&(wt(t.el),delete this._tiles[e],this.fire(`tileunload`,{tile:t.el,coords:this._keyToTileCoords(e)}))},_initTile:function(e){kt(e,`leaflet-tile`);var t=this.getTileSize();e.style.width=t.x+`px`,e.style.height=t.y+`px`,e.onselectstart=l,e.onmousemove=l,I.ielt9&&this.options.opacity<1&&Nt(e,this.options.opacity)},_addTile:function(e,t){var n=this._getTilePos(e),r=this._tileCoordsToKey(e),a=this.createTile(this._wrapCoords(e),i(this._tileReady,this,e));this._initTile(a),this.createTile.length<2&&T(i(this._tileReady,this,e,null,a)),Lt(a,n),this._tiles[r]={el:a,coords:e,current:!0},t.appendChild(a),this.fire(`tileloadstart`,{tile:a,coords:e})},_tileReady:function(e,t,n){t&&this.fire(`tileerror`,{error:t,tile:n,coords:e});var r=this._tileCoordsToKey(e);n=this._tiles[r],n&&(n.loaded=+new Date,this._map._fadeAnimated?(Nt(n.el,0),E(this._fadeFrame),this._fadeFrame=T(this._updateOpacity,this)):(n.active=!0,this._pruneTiles()),t||(kt(n.el,`leaflet-tile-loaded`),this.fire(`tileload`,{tile:n.el,coords:e})),this._noTilesToLoad()&&(this._loading=!1,this.fire(`load`),I.ielt9||!this._map._fadeAnimated?T(this._pruneTiles,this):setTimeout(i(this._pruneTiles,this),250)))},_getTilePos:function(e){return e.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(e){var t=new j(this._wrapX?c(e.x,this._wrapX):e.x,this._wrapY?c(e.y,this._wrapY):e.y);return t.z=e.z,t},_pxBoundsToTileRange:function(e){var t=this.getTileSize();return new P(e.min.unscaleBy(t).floor(),e.max.unscaleBy(t).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var e in this._tiles)if(!this._tiles[e].loaded)return!1;return!0}});function Yr(e){return new Jr(e)}var Xr=Jr.extend({options:{minZoom:0,maxZoom:18,subdomains:`abc`,errorTileUrl:``,zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(e,t){this._url=e,t=p(this,t),t.detectRetina&&I.retina&&t.maxZoom>0?(t.tileSize=Math.floor(t.tileSize/2),t.zoomReverse?(t.zoomOffset--,t.minZoom=Math.min(t.maxZoom,t.minZoom+1)):(t.zoomOffset++,t.maxZoom=Math.max(t.minZoom,t.maxZoom-1)),t.minZoom=Math.max(0,t.minZoom)):t.zoomReverse?t.minZoom=Math.min(t.maxZoom,t.minZoom):t.maxZoom=Math.max(t.minZoom,t.maxZoom),typeof t.subdomains==`string`&&(t.subdomains=t.subdomains.split(``)),this.on(`tileunload`,this._onTileRemove)},setUrl:function(e,t){return this._url===e&&t===void 0&&(t=!0),this._url=e,t||this.redraw(),this},createTile:function(e,t){var n=document.createElement(`img`);return Qt(n,`load`,i(this._tileOnLoad,this,t,n)),Qt(n,`error`,i(this._tileOnError,this,t,n)),(this.options.crossOrigin||this.options.crossOrigin===``)&&(n.crossOrigin=this.options.crossOrigin===!0?``:this.options.crossOrigin),typeof this.options.referrerPolicy==`string`&&(n.referrerPolicy=this.options.referrerPolicy),n.alt=``,n.src=this.getTileUrl(e),n},getTileUrl:function(e){var t={r:I.retina?`@2x`:``,s:this._getSubdomain(e),x:e.x,y:e.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var r=this._globalTileRange.max.y-e.y;this.options.tms&&(t.y=r),t[`-y`]=r}return g(this._url,n(t,this.options))},_tileOnLoad:function(e,t){I.ielt9?setTimeout(i(e,this,null,t),0):e(null,t)},_tileOnError:function(e,t,n){var r=this.options.errorTileUrl;r&&t.getAttribute(`src`)!==r&&(t.src=r),e(n,t)},_onTileRemove:function(e){e.tile.onload=null},_getZoomForUrl:function(){var e=this._tileZoom,t=this.options.maxZoom,n=this.options.zoomReverse,r=this.options.zoomOffset;return n&&(e=t-e),e+r},_getSubdomain:function(e){var t=Math.abs(e.x+e.y)%this.options.subdomains.length;return this.options.subdomains[t]},_abortLoading:function(){var e,t;for(e in this._tiles)if(this._tiles[e].coords.z!==this._tileZoom&&(t=this._tiles[e].el,t.onload=l,t.onerror=l,!t.complete)){t.src=y;var n=this._tiles[e].coords;wt(t),delete this._tiles[e],this.fire(`tileabort`,{tile:t,coords:n})}},_removeTile:function(e){var t=this._tiles[e];if(t)return t.el.setAttribute(`src`,y),Jr.prototype._removeTile.call(this,e)},_tileReady:function(e,t,n){if(!(!this._map||n&&n.getAttribute(`src`)===y))return Jr.prototype._tileReady.call(this,e,t,n)}});function Zr(e,t){return new Xr(e,t)}var Qr=Xr.extend({defaultWmsParams:{service:`WMS`,request:`GetMap`,layers:``,styles:``,format:`image/jpeg`,transparent:!1,version:`1.1.1`},options:{crs:null,uppercase:!1},initialize:function(e,t){this._url=e;var r=n({},this.defaultWmsParams);for(var i in t)i in this.options||(r[i]=t[i]);t=p(this,t);var a=t.detectRetina&&I.retina?2:1,o=this.getTileSize();r.width=o.x*a,r.height=o.y*a,this.wmsParams=r},onAdd:function(e){this._crs=this.options.crs||e.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var t=this._wmsVersion>=1.3?`crs`:`srs`;this.wmsParams[t]=this._crs.code,Xr.prototype.onAdd.call(this,e)},getTileUrl:function(e){var t=this._tileCoordsToNwSe(e),n=this._crs,r=te(n.project(t[0]),n.project(t[1])),i=r.min,a=r.max,o=(this._wmsVersion>=1.3&&this._crs===rr?[i.y,i.x,a.y,a.x]:[i.x,i.y,a.x,a.y]).join(`,`),s=Xr.prototype.getTileUrl.call(this,e);return s+m(this.wmsParams,s,this.options.uppercase)+(this.options.uppercase?`&BBOX=`:`&bbox=`)+o},setParams:function(e,t){return n(this.wmsParams,e),t||this.redraw(),this}});function $r(e,t){return new Qr(e,t)}Xr.WMS=Qr,Zr.wms=$r;var ei=ar.extend({options:{padding:.1},initialize:function(e){p(this,e),o(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),kt(this._container,`leaflet-zoom-animated`)),this.getPane().appendChild(this._container),this._update(),this.on(`update`,this._updatePaths,this)},onRemove:function(){this.off(`update`,this._updatePaths,this),this._destroyContainer()},getEvents:function(){var e={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(e.zoomanim=this._onAnimZoom),e},_onAnimZoom:function(e){this._updateTransform(e.center,e.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(e,t){var n=this._map.getZoomScale(t,this._zoom),r=this._map.getSize().multiplyBy(.5+this.options.padding),i=this._map.project(this._center,t),a=r.multiplyBy(-n).add(i).subtract(this._map._getNewPixelOrigin(e,t));I.any3d?It(this._container,a,n):Lt(this._container,a)},_reset:function(){for(var e in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[e]._reset()},_onZoomEnd:function(){for(var e in this._layers)this._layers[e]._project()},_updatePaths:function(){for(var e in this._layers)this._layers[e]._update()},_update:function(){var e=this.options.padding,t=this._map.getSize(),n=this._map.containerPointToLayerPoint(t.multiplyBy(-e)).round();this._bounds=new P(n,n.add(t.multiplyBy(1+e*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),ti=ei.extend({options:{tolerance:0},getEvents:function(){var e=ei.prototype.getEvents.call(this);return e.viewprereset=this._onViewPreReset,e},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){ei.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var e=this._container=document.createElement(`canvas`);Qt(e,`mousemove`,this._onMouseMove,this),Qt(e,`click dblclick mousedown mouseup contextmenu`,this._onClick,this),Qt(e,`mouseout`,this._handleMouseOut,this),e._leaflet_disable_events=!0,this._ctx=e.getContext(`2d`)},_destroyContainer:function(){E(this._redrawRequest),delete this._ctx,wt(this._container),en(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var e;for(var t in this._redrawBounds=null,this._layers)e=this._layers[t],e._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){ei.prototype._update.call(this);var e=this._bounds,t=this._container,n=e.getSize(),r=I.retina?2:1;Lt(t,e.min),t.width=r*n.x,t.height=r*n.y,t.style.width=n.x+`px`,t.style.height=n.y+`px`,I.retina&&this._ctx.scale(2,2),this._ctx.translate(-e.min.x,-e.min.y),this.fire(`update`)}},_reset:function(){ei.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(e){this._updateDashArray(e),this._layers[o(e)]=e;var t=e._order={layer:e,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=t),this._drawLast=t,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(e){this._requestRedraw(e)},_removePath:function(e){var t=e._order,n=t.next,r=t.prev;n?n.prev=r:this._drawLast=r,r?r.next=n:this._drawFirst=n,delete e._order,delete this._layers[o(e)],this._requestRedraw(e)},_updatePath:function(e){this._extendRedrawBounds(e),e._project(),e._update(),this._requestRedraw(e)},_updateStyle:function(e){this._updateDashArray(e),this._requestRedraw(e)},_updateDashArray:function(e){if(typeof e.options.dashArray==`string`){for(var t=e.options.dashArray.split(/[, ]+/),n=[],r,i=0;i<t.length;i++){if(r=Number(t[i]),isNaN(r))return;n.push(r)}e.options._dashArray=n}else e.options._dashArray=e.options.dashArray},_requestRedraw:function(e){this._map&&(this._extendRedrawBounds(e),this._redrawRequest=this._redrawRequest||T(this._redraw,this))},_extendRedrawBounds:function(e){if(e._pxBounds){var t=(e.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new P,this._redrawBounds.extend(e._pxBounds.min.subtract([t,t])),this._redrawBounds.extend(e._pxBounds.max.add([t,t]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var e=this._redrawBounds;if(e){var t=e.getSize();this._ctx.clearRect(e.min.x,e.min.y,t.x,t.y)}else this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore()},_draw:function(){var e,t=this._redrawBounds;if(this._ctx.save(),t){var n=t.getSize();this._ctx.beginPath(),this._ctx.rect(t.min.x,t.min.y,n.x,n.y),this._ctx.clip()}this._drawing=!0;for(var r=this._drawFirst;r;r=r.next)e=r.layer,(!t||e._pxBounds&&e._pxBounds.intersects(t))&&e._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(e,t){if(this._drawing){var n,r,i,a,o=e._parts,s=o.length,c=this._ctx;if(s){for(c.beginPath(),n=0;n<s;n++){for(r=0,i=o[n].length;r<i;r++)a=o[n][r],c[r?`lineTo`:`moveTo`](a.x,a.y);t&&c.closePath()}this._fillStroke(c,e)}}},_updateCircle:function(e){if(this._drawing&&!e._empty()){var t=e._point,n=this._ctx,r=Math.max(Math.round(e._radius),1),i=(Math.max(Math.round(e._radiusY),1)||r)/r;i!==1&&(n.save(),n.scale(1,i)),n.beginPath(),n.arc(t.x,t.y/i,r,0,Math.PI*2,!1),i!==1&&n.restore(),this._fillStroke(n,e)}},_fillStroke:function(e,t){var n=t.options;n.fill&&(e.globalAlpha=n.fillOpacity,e.fillStyle=n.fillColor||n.color,e.fill(n.fillRule||`evenodd`)),n.stroke&&n.weight!==0&&(e.setLineDash&&e.setLineDash(t.options&&t.options._dashArray||[]),e.globalAlpha=n.opacity,e.lineWidth=n.weight,e.strokeStyle=n.color,e.lineCap=n.lineCap,e.lineJoin=n.lineJoin,e.stroke())},_onClick:function(e){for(var t=this._map.mouseEventToLayerPoint(e),n,r,i=this._drawFirst;i;i=i.next)n=i.layer,n.options.interactive&&n._containsPoint(t)&&(e.type!==`click`&&e.type!==`preclick`||!this._map._draggableMoved(n))&&(r=n);this._fireEvent(r?[r]:!1,e)},_onMouseMove:function(e){if(!(!this._map||this._map.dragging.moving()||this._map._animatingZoom)){var t=this._map.mouseEventToLayerPoint(e);this._handleMouseHover(e,t)}},_handleMouseOut:function(e){var t=this._hoveredLayer;t&&(At(this._container,`leaflet-interactive`),this._fireEvent([t],e,`mouseout`),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(e,t){if(!this._mouseHoverThrottled){for(var n,r,a=this._drawFirst;a;a=a.next)n=a.layer,n.options.interactive&&n._containsPoint(t)&&(r=n);r!==this._hoveredLayer&&(this._handleMouseOut(e),r&&(kt(this._container,`leaflet-interactive`),this._fireEvent([r],e,`mouseover`),this._hoveredLayer=r)),this._fireEvent(this._hoveredLayer?[this._hoveredLayer]:!1,e),this._mouseHoverThrottled=!0,setTimeout(i(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(e,t,n){this._map._fireDOMEvent(t,n||t.type,e)},_bringToFront:function(e){var t=e._order;if(t){var n=t.next,r=t.prev;if(n)n.prev=r;else return;r?r.next=n:n&&(this._drawFirst=n),t.prev=this._drawLast,this._drawLast.next=t,t.next=null,this._drawLast=t,this._requestRedraw(e)}},_bringToBack:function(e){var t=e._order;if(t){var n=t.next,r=t.prev;if(r)r.next=n;else return;n?n.prev=r:r&&(this._drawLast=r),t.prev=null,t.next=this._drawFirst,this._drawFirst.prev=t,this._drawFirst=t,this._requestRedraw(e)}}});function ni(e){return I.canvas?new ti(e):null}var ri=(function(){try{return document.namespaces.add(`lvml`,`urn:schemas-microsoft-com:vml`),function(e){return document.createElement(`<lvml:`+e+` class="lvml">`)}}catch{}return function(e){return document.createElement(`<`+e+` xmlns="urn:schemas-microsoft.com:vml" class="lvml">`)}})(),ii={_initContainer:function(){this._container=Ct(`div`,`leaflet-vml-container`)},_update:function(){this._map._animatingZoom||(ei.prototype._update.call(this),this.fire(`update`))},_initPath:function(e){var t=e._container=ri(`shape`);kt(t,`leaflet-vml-shape `+(this.options.className||``)),t.coordsize=`1 1`,e._path=ri(`path`),t.appendChild(e._path),this._updateStyle(e),this._layers[o(e)]=e},_addPath:function(e){var t=e._container;this._container.appendChild(t),e.options.interactive&&e.addInteractiveTarget(t)},_removePath:function(e){var t=e._container;wt(t),e.removeInteractiveTarget(t),delete this._layers[o(e)]},_updateStyle:function(e){var t=e._stroke,n=e._fill,r=e.options,i=e._container;i.stroked=!!r.stroke,i.filled=!!r.fill,r.stroke?(t||=e._stroke=ri(`stroke`),i.appendChild(t),t.weight=r.weight+`px`,t.color=r.color,t.opacity=r.opacity,r.dashArray?t.dashStyle=_(r.dashArray)?r.dashArray.join(` `):r.dashArray.replace(/( *, *)/g,` `):t.dashStyle=``,t.endcap=r.lineCap.replace(`butt`,`flat`),t.joinstyle=r.lineJoin):t&&(i.removeChild(t),e._stroke=null),r.fill?(n||=e._fill=ri(`fill`),i.appendChild(n),n.color=r.fillColor||r.color,n.opacity=r.fillOpacity):n&&(i.removeChild(n),e._fill=null)},_updateCircle:function(e){var t=e._point.round(),n=Math.round(e._radius),r=Math.round(e._radiusY||n);this._setPath(e,e._empty()?`M0 0`:`AL `+t.x+`,`+t.y+` `+n+`,`+r+` 0,23592600`)},_setPath:function(e,t){e._path.v=t},_bringToFront:function(e){Et(e._container)},_bringToBack:function(e){Dt(e._container)}},ai=I.vml?ri:pe,oi=ei.extend({_initContainer:function(){this._container=ai(`svg`),this._container.setAttribute(`pointer-events`,`none`),this._rootGroup=ai(`g`),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){wt(this._container),en(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){ei.prototype._update.call(this);var e=this._bounds,t=e.getSize(),n=this._container;this._svgSize&&this._svgSize.equals(t)||(this._svgSize=t,n.setAttribute(`width`,t.x),n.setAttribute(`height`,t.y)),Lt(n,e.min),n.setAttribute(`viewBox`,[e.min.x,e.min.y,t.x,t.y].join(` `)),this.fire(`update`)}},_initPath:function(e){var t=e._path=ai(`path`);e.options.className&&kt(t,e.options.className),e.options.interactive&&kt(t,`leaflet-interactive`),this._updateStyle(e),this._layers[o(e)]=e},_addPath:function(e){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(e._path),e.addInteractiveTarget(e._path)},_removePath:function(e){wt(e._path),e.removeInteractiveTarget(e._path),delete this._layers[o(e)]},_updatePath:function(e){e._project(),e._update()},_updateStyle:function(e){var t=e._path,n=e.options;t&&(n.stroke?(t.setAttribute(`stroke`,n.color),t.setAttribute(`stroke-opacity`,n.opacity),t.setAttribute(`stroke-width`,n.weight),t.setAttribute(`stroke-linecap`,n.lineCap),t.setAttribute(`stroke-linejoin`,n.lineJoin),n.dashArray?t.setAttribute(`stroke-dasharray`,n.dashArray):t.removeAttribute(`stroke-dasharray`),n.dashOffset?t.setAttribute(`stroke-dashoffset`,n.dashOffset):t.removeAttribute(`stroke-dashoffset`)):t.setAttribute(`stroke`,`none`),n.fill?(t.setAttribute(`fill`,n.fillColor||n.color),t.setAttribute(`fill-opacity`,n.fillOpacity),t.setAttribute(`fill-rule`,n.fillRule||`evenodd`)):t.setAttribute(`fill`,`none`))},_updatePoly:function(e,t){this._setPath(e,me(e._parts,t))},_updateCircle:function(e){var t=e._point,n=Math.max(Math.round(e._radius),1),r=Math.max(Math.round(e._radiusY),1)||n,i=`a`+n+`,`+r+` 0 1,0 `,a=e._empty()?`M0 0`:`M`+(t.x-n)+`,`+t.y+i+n*2+`,0 `+i+-n*2+`,0 `;this._setPath(e,a)},_setPath:function(e,t){e._path.setAttribute(`d`,t)},_bringToFront:function(e){Et(e._path)},_bringToBack:function(e){Dt(e._path)}});I.vml&&oi.include(ii);function si(e){return I.svg||I.vml?new oi(e):null}vn.include({getRenderer:function(e){var t=e.options.renderer||this._getPaneRenderer(e.options.pane)||this.options.renderer||this._renderer;return t||=this._renderer=this._createRenderer(),this.hasLayer(t)||this.addLayer(t),t},_getPaneRenderer:function(e){if(e===`overlayPane`||e===void 0)return!1;var t=this._paneRenderers[e];return t===void 0&&(t=this._createRenderer({pane:e}),this._paneRenderers[e]=t),t},_createRenderer:function(e){return this.options.preferCanvas&&ni(e)||si(e)}});var ci=Sr.extend({initialize:function(e,t){Sr.prototype.initialize.call(this,this._boundsToLatLngs(e),t)},setBounds:function(e){return this.setLatLngs(this._boundsToLatLngs(e))},_boundsToLatLngs:function(e){return e=re(e),[e.getSouthWest(),e.getNorthWest(),e.getNorthEast(),e.getSouthEast()]}});function li(e,t){return new ci(e,t)}oi.create=ai,oi.pointsToPath=me,wr.geometryToLayer=Tr,wr.coordsToLatLng=Er,wr.coordsToLatLngs=Dr,wr.latLngToCoords=Or,wr.latLngsToCoords=kr,wr.getFeature=Ar,wr.asFeature=jr,vn.mergeOptions({boxZoom:!0});var ui=kn.extend({initialize:function(e){this._map=e,this._container=e._container,this._pane=e._panes.overlayPane,this._resetStateTimeout=0,e.on(`unload`,this._destroy,this)},addHooks:function(){Qt(this._container,`mousedown`,this._onMouseDown,this)},removeHooks:function(){en(this._container,`mousedown`,this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){wt(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){this._resetStateTimeout!==0&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(e){if(!e.shiftKey||e.which!==1&&e.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),zt(),Ut(),this._startPoint=this._map.mouseEventToContainerPoint(e),Qt(document,{contextmenu:un,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(e){this._moved||(this._moved=!0,this._box=Ct(`div`,`leaflet-zoom-box`,this._container),kt(this._container,`leaflet-crosshair`),this._map.fire(`boxzoomstart`)),this._point=this._map.mouseEventToContainerPoint(e);var t=new P(this._point,this._startPoint),n=t.getSize();Lt(this._box,t.min),this._box.style.width=n.x+`px`,this._box.style.height=n.y+`px`},_finish:function(){this._moved&&(wt(this._box),At(this._container,`leaflet-crosshair`)),Bt(),Wt(),en(document,{contextmenu:un,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(e){if((e.which===1||e.button===1)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(i(this._resetState,this),0);var t=new ne(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(t).fire(`boxzoomend`,{boxZoomBounds:t})}},_onKeyDown:function(e){e.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});vn.addInitHook(`addHandler`,`boxZoom`,ui),vn.mergeOptions({doubleClickZoom:!0});var di=kn.extend({addHooks:function(){this._map.on(`dblclick`,this._onDoubleClick,this)},removeHooks:function(){this._map.off(`dblclick`,this._onDoubleClick,this)},_onDoubleClick:function(e){var t=this._map,n=t.getZoom(),r=t.options.zoomDelta,i=e.originalEvent.shiftKey?n-r:n+r;t.options.doubleClickZoom===`center`?t.setZoom(i):t.setZoomAround(e.containerPoint,i)}});vn.addInitHook(`addHandler`,`doubleClickZoom`,di),vn.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var fi=kn.extend({addHooks:function(){if(!this._draggable){var e=this._map;this._draggable=new Mn(e._mapPane,e._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on(`predrag`,this._onPreDragLimit,this),e.options.worldCopyJump&&(this._draggable.on(`predrag`,this._onPreDragWrap,this),e.on(`zoomend`,this._onZoomEnd,this),e.whenReady(this._onZoomEnd,this))}kt(this._map._container,`leaflet-grab leaflet-touch-drag`),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){At(this._map._container,`leaflet-grab`),At(this._map._container,`leaflet-touch-drag`),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var e=this._map;if(e._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var t=re(this._map.options.maxBounds);this._offsetLimit=te(this._map.latLngToContainerPoint(t.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(t.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;e.fire(`movestart`).fire(`dragstart`),e.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(e){if(this._map.options.inertia){var t=this._lastTime=+new Date,n=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(n),this._times.push(t),this._prunePositions(t)}this._map.fire(`move`,e).fire(`drag`,e)},_prunePositions:function(e){for(;this._positions.length>1&&e-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var e=this._map.getSize().divideBy(2),t=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=t.subtract(e).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(e,t){return e-(e-t)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var e=this._draggable._newPos.subtract(this._draggable._startPos),t=this._offsetLimit;e.x<t.min.x&&(e.x=this._viscousLimit(e.x,t.min.x)),e.y<t.min.y&&(e.y=this._viscousLimit(e.y,t.min.y)),e.x>t.max.x&&(e.x=this._viscousLimit(e.x,t.max.x)),e.y>t.max.y&&(e.y=this._viscousLimit(e.y,t.max.y)),this._draggable._newPos=this._draggable._startPos.add(e)}},_onPreDragWrap:function(){var e=this._worldWidth,t=Math.round(e/2),n=this._initialWorldOffset,r=this._draggable._newPos.x,i=(r-t+n)%e+t-n,a=(r+t+n)%e-t-n,o=Math.abs(i+n)<Math.abs(a+n)?i:a;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=o},_onDragEnd:function(e){var t=this._map,n=t.options,r=!n.inertia||e.noInertia||this._times.length<2;if(t.fire(`dragend`,e),r)t.fire(`moveend`);else{this._prunePositions(+new Date);var i=this._lastPos.subtract(this._positions[0]),a=(this._lastTime-this._times[0])/1e3,o=n.easeLinearity,s=i.multiplyBy(o/a),c=s.distanceTo([0,0]),l=Math.min(n.inertiaMaxSpeed,c),u=s.multiplyBy(l/c),d=l/(n.inertiaDeceleration*o),f=u.multiplyBy(-d/2).round();!f.x&&!f.y?t.fire(`moveend`):(f=t._limitOffset(f,t.options.maxBounds),T(function(){t.panBy(f,{duration:d,easeLinearity:o,noMoveStart:!0,animate:!0})}))}}});vn.addInitHook(`addHandler`,`dragging`,fi),vn.mergeOptions({keyboard:!0,keyboardPanDelta:80});var pi=kn.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(e){this._map=e,this._setPanDelta(e.options.keyboardPanDelta),this._setZoomDelta(e.options.zoomDelta)},addHooks:function(){var e=this._map._container;e.tabIndex<=0&&(e.tabIndex=`0`),Qt(e,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),en(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var e=document.body,t=document.documentElement,n=e.scrollTop||t.scrollTop,r=e.scrollLeft||t.scrollLeft;this._map._container.focus(),window.scrollTo(r,n)}},_onFocus:function(){this._focused=!0,this._map.fire(`focus`)},_onBlur:function(){this._focused=!1,this._map.fire(`blur`)},_setPanDelta:function(e){for(var t=this._panKeys={},n=this.keyCodes,r=0,i=n.left.length;r<i;r++)t[n.left[r]]=[-1*e,0];for(r=0,i=n.right.length;r<i;r++)t[n.right[r]]=[e,0];for(r=0,i=n.down.length;r<i;r++)t[n.down[r]]=[0,e];for(r=0,i=n.up.length;r<i;r++)t[n.up[r]]=[0,-1*e]},_setZoomDelta:function(e){for(var t=this._zoomKeys={},n=this.keyCodes,r=0,i=n.zoomIn.length;r<i;r++)t[n.zoomIn[r]]=e;for(r=0,i=n.zoomOut.length;r<i;r++)t[n.zoomOut[r]]=-e},_addHooks:function(){Qt(document,`keydown`,this._onKeyDown,this)},_removeHooks:function(){en(document,`keydown`,this._onKeyDown,this)},_onKeyDown:function(e){if(!(e.altKey||e.ctrlKey||e.metaKey)){var t=e.keyCode,n=this._map,r;if(t in this._panKeys){if(!n._panAnim||!n._panAnim._inProgress){if(r=this._panKeys[t],e.shiftKey&&(r=N(r).multiplyBy(3)),n.options.maxBounds&&(r=n._limitOffset(N(r),n.options.maxBounds)),n.options.worldCopyJump){var i=n.wrapLatLng(n.unproject(n.project(n.getCenter()).add(r)));n.panTo(i)}else n.panBy(r)}}else if(t in this._zoomKeys)n.setZoom(n.getZoom()+(e.shiftKey?3:1)*this._zoomKeys[t]);else if(t===27&&n._popup&&n._popup.options.closeOnEscapeKey)n.closePopup();else return;un(e)}}});vn.addInitHook(`addHandler`,`keyboard`,pi),vn.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var mi=kn.extend({addHooks:function(){Qt(this._map._container,`wheel`,this._onWheelScroll,this),this._delta=0},removeHooks:function(){en(this._map._container,`wheel`,this._onWheelScroll,this)},_onWheelScroll:function(e){var t=mn(e),n=this._map.options.wheelDebounceTime;this._delta+=t,this._lastMousePos=this._map.mouseEventToContainerPoint(e),this._startTime||=+new Date;var r=Math.max(n-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(i(this._performZoom,this),r),un(e)},_performZoom:function(){var e=this._map,t=e.getZoom(),n=this._map.options.zoomSnap||0;e._stop();var r=this._delta/(this._map.options.wheelPxPerZoomLevel*4),i=4*Math.log(2/(1+Math.exp(-Math.abs(r))))/Math.LN2,a=n?Math.ceil(i/n)*n:i,o=e._limitZoom(t+(this._delta>0?a:-a))-t;this._delta=0,this._startTime=null,o&&(e.options.scrollWheelZoom===`center`?e.setZoom(t+o):e.setZoomAround(this._lastMousePos,t+o))}});vn.addInitHook(`addHandler`,`scrollWheelZoom`,mi);var hi=600;vn.mergeOptions({tapHold:I.touchNative&&I.safari&&I.mobile,tapTolerance:15});var gi=kn.extend({addHooks:function(){Qt(this._map._container,`touchstart`,this._onDown,this)},removeHooks:function(){en(this._map._container,`touchstart`,this._onDown,this)},_onDown:function(e){if(clearTimeout(this._holdTimeout),e.touches.length===1){var t=e.touches[0];this._startPos=this._newPos=new j(t.clientX,t.clientY),this._holdTimeout=setTimeout(i(function(){this._cancel(),this._isTapValid()&&(Qt(document,`touchend`,ln),Qt(document,`touchend touchcancel`,this._cancelClickPrevent),this._simulateEvent(`contextmenu`,t))},this),hi),Qt(document,`touchend touchcancel contextmenu`,this._cancel,this),Qt(document,`touchmove`,this._onMove,this)}},_cancelClickPrevent:function e(){en(document,`touchend`,ln),en(document,`touchend touchcancel`,e)},_cancel:function(){clearTimeout(this._holdTimeout),en(document,`touchend touchcancel contextmenu`,this._cancel,this),en(document,`touchmove`,this._onMove,this)},_onMove:function(e){var t=e.touches[0];this._newPos=new j(t.clientX,t.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(e,t){var n=new MouseEvent(e,{bubbles:!0,cancelable:!0,view:window,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY});n._simulated=!0,t.target.dispatchEvent(n)}});vn.addInitHook(`addHandler`,`tapHold`,gi),vn.mergeOptions({touchZoom:I.touch,bounceAtZoomLimits:!0});var _i=kn.extend({addHooks:function(){kt(this._map._container,`leaflet-touch-zoom`),Qt(this._map._container,`touchstart`,this._onTouchStart,this)},removeHooks:function(){At(this._map._container,`leaflet-touch-zoom`),en(this._map._container,`touchstart`,this._onTouchStart,this)},_onTouchStart:function(e){var t=this._map;if(!(!e.touches||e.touches.length!==2||t._animatingZoom||this._zooming)){var n=t.mouseEventToContainerPoint(e.touches[0]),r=t.mouseEventToContainerPoint(e.touches[1]);this._centerPoint=t.getSize()._divideBy(2),this._startLatLng=t.containerPointToLatLng(this._centerPoint),t.options.touchZoom!==`center`&&(this._pinchStartLatLng=t.containerPointToLatLng(n.add(r)._divideBy(2))),this._startDist=n.distanceTo(r),this._startZoom=t.getZoom(),this._moved=!1,this._zooming=!0,t._stop(),Qt(document,`touchmove`,this._onTouchMove,this),Qt(document,`touchend touchcancel`,this._onTouchEnd,this),ln(e)}},_onTouchMove:function(e){if(e.touches&&e.touches.length===2&&this._zooming){var t=this._map,n=t.mouseEventToContainerPoint(e.touches[0]),r=t.mouseEventToContainerPoint(e.touches[1]),a=n.distanceTo(r)/this._startDist;if(this._zoom=t.getScaleZoom(a,this._startZoom),!t.options.bounceAtZoomLimits&&(this._zoom<t.getMinZoom()&&a<1||this._zoom>t.getMaxZoom()&&a>1)&&(this._zoom=t._limitZoom(this._zoom)),t.options.touchZoom===`center`){if(this._center=this._startLatLng,a===1)return}else{var o=n._add(r)._divideBy(2)._subtract(this._centerPoint);if(a===1&&o.x===0&&o.y===0)return;this._center=t.unproject(t.project(this._pinchStartLatLng,this._zoom).subtract(o),this._zoom)}this._moved||=(t._moveStart(!0,!1),!0),E(this._animRequest);var s=i(t._move,t,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=T(s,this,!0),ln(e)}},_onTouchEnd:function(){!this._moved||!this._zooming?this._zooming=!1:(this._zooming=!1,E(this._animRequest),en(document,`touchmove`,this._onTouchMove,this),en(document,`touchend touchcancel`,this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom)))}});vn.addInitHook(`addHandler`,`touchZoom`,_i),vn.BoxZoom=ui,vn.DoubleClickZoom=di,vn.Drag=fi,vn.Keyboard=pi,vn.ScrollWheelZoom=mi,vn.TapHold=gi,vn.TouchZoom=_i,e.Bounds=P,e.Browser=I,e.CRS=ae,e.Canvas=ti,e.Circle=yr,e.CircleMarker=_r,e.Class=O,e.Control=bn,e.DivIcon=Kr,e.DivOverlay=Vr,e.DomEvent=gn,e.DomUtil=Zt,e.Draggable=Mn,e.Evented=ee,e.FeatureGroup=cr,e.GeoJSON=wr,e.GridLayer=Jr,e.Handler=kn,e.Icon=ur,e.ImageOverlay=Fr,e.LatLng=F,e.LatLngBounds=ne,e.Layer=ar,e.LayerGroup=or,e.LineUtil=Qn,e.Map=vn,e.Marker=mr,e.Mixin=An,e.Path=gr,e.Point=j,e.PolyUtil=In,e.Polygon=Sr,e.Polyline=br,e.Popup=Hr,e.PosAnimation=_n,e.Projection=tr,e.Rectangle=ci,e.Renderer=ei,e.SVG=oi,e.SVGOverlay=zr,e.TileLayer=Xr,e.Tooltip=Wr,e.Transformation=le,e.Util=D,e.VideoOverlay=Lr,e.bind=i,e.bounds=te,e.canvas=ni,e.circle=z,e.circleMarker=vr,e.control=xn,e.divIcon=qr,e.extend=n,e.featureGroup=lr,e.geoJSON=Nr,e.geoJson=Pr,e.gridLayer=Yr,e.icon=dr,e.imageOverlay=Ir,e.latLng=ie,e.latLngBounds=re,e.layerGroup=sr,e.map=yn,e.marker=hr,e.point=N,e.polygon=Cr,e.polyline=xr,e.popup=Ur,e.rectangle=li,e.setOptions=p,e.stamp=o,e.svg=si,e.svgOverlay=Br,e.tileLayer=Zr,e.tooltip=Gr,e.transformation=ue,e.version=t,e.videoOverlay=Rr;var vi=window.L;e.noConflict=function(){return window.L=vi,this},window.L=e}))}));function MS(e){return e.split(` `).filter(Boolean)}function NS(e,t){MS(t).forEach(t=>{IS.DomUtil.addClass(e,t)})}function PS(e,t){MS(t).forEach(t=>{IS.DomUtil.removeClass(e,t)})}function FS(e,t,n){e!=null&&n!==t&&(t!=null&&t.length>0&&PS(e,t),n!=null&&n.length>0&&NS(e,n))}var IS,LS=o((()=>{IS=u(jS(),1)}));function RS(e,t,n){return Object.freeze({instance:e,context:t,container:n})}function zS(e,t){return t==null?function(t,n){let r=(0,BS.useRef)();return r.current||=e(t,n),r}:function(n,r){let i=(0,BS.useRef)();i.current||=e(n,r);let a=(0,BS.useRef)(n),{instance:o}=i.current;return(0,BS.useEffect)(function(){a.current!==n&&(t(o,n,a.current),a.current=n)},[o,n,r]),i}}var BS,VS=o((()=>{BS=u(p(),1)}));function HS(e,t){(0,WS.useEffect)(function(){return(t.layerContainer??t.map).addLayer(e.instance),function(){t.layerContainer?.removeLayer(e.instance),t.map.removeLayer(e.instance)}},[t,e])}function US(e){return function(t){let n=uS(),r=e(DS(t,n),n);return rS(n.map,t.attribution),wS(r.current,t.eventHandlers),HS(r.current,n),r}}var WS,GS=o((()=>{WS=u(p(),1),aS(),mS(),ES(),OS()}));function KS(e,t){let n=(0,JS.useRef)();(0,JS.useEffect)(function(){if(t.pathOptions!==n.current){let r=t.pathOptions??{};e.instance.setStyle(r),n.current=r}},[e,t])}function qS(e){return function(t){let n=uS(),r=e(DS(t,n),n);return wS(r.current,t.eventHandlers),HS(r.current,n),KS(r.current,t),r}}var JS,YS=o((()=>{JS=u(p(),1),mS(),ES(),GS(),OS()}));function XS(e){function t(t,n){return RS(e(t),n)}return _S(xS(zS(t)))}function ZS(e,t){return hS(US(zS(e,t)))}function QS(e,t){return gS(kS(zS(e),t))}function $S(e,t){return hS(qS(zS(e,t)))}function eC(e,t){return _S(US(zS(e,t)))}var tC=o((()=>{bS(),CS(),VS(),GS(),AS(),YS()}));function nC(e,t,n){let{opacity:r,zIndex:i}=t;r!=null&&r!==n.opacity&&e.setOpacity(r),i!=null&&i!==n.zIndex&&e.setZIndex(i)}var rC=o((()=>{}));function iC(e,t,n){t.bounds instanceof aC.LatLngBounds&&t.bounds!==n.bounds&&e.setBounds(t.bounds),t.opacity!=null&&t.opacity!==n.opacity&&e.setOpacity(t.opacity),t.zIndex!=null&&t.zIndex!==n.zIndex&&e.setZIndex(t.zIndex)}var aC,oC=o((()=>{aC=u(jS(),1)})),sC=c({CONTEXT_VERSION:()=>1,LeafletContext:()=>fS,LeafletProvider:()=>pS,addClassName:()=>NS,createContainerComponent:()=>hS,createControlComponent:()=>XS,createControlHook:()=>xS,createDivOverlayComponent:()=>gS,createDivOverlayHook:()=>kS,createElementHook:()=>zS,createElementObject:()=>RS,createLayerComponent:()=>ZS,createLayerHook:()=>US,createLeafComponent:()=>_S,createLeafletContext:()=>cS,createOverlayComponent:()=>QS,createPathComponent:()=>$S,createPathHook:()=>qS,createTileLayerComponent:()=>eC,extendContext:()=>lS,removeClassName:()=>PS,updateCircle:()=>oS,updateClassName:()=>FS,updateGridLayer:()=>nC,updateMediaOverlay:()=>iC,useAttribution:()=>rS,useEventHandlers:()=>wS,useLayerLifecycle:()=>HS,useLeafletContext:()=>uS,usePathOptions:()=>KS,withPane:()=>DS}),cC=o((()=>{aS(),sS(),bS(),mS(),CS(),AS(),LS(),VS(),ES(),tC(),rC(),GS(),oC(),OS(),YS()}));cC();function lC(){return uS().map}cC();var uC=u(jS(),1);function dC(){return dC=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},dC.apply(this,arguments)}function fC({bounds:e,boundsOptions:t,center:n,children:r,className:i,id:a,placeholder:o,style:s,whenReady:c,zoom:l,...u},d){let[f]=(0,y.useState)({className:i,id:a,style:s}),[p,m]=(0,y.useState)(null);(0,y.useImperativeHandle)(d,()=>p?.map??null,[p]);let h=(0,y.useCallback)(r=>{if(r!==null&&p===null){let i=new uC.Map(r,u);n!=null&&l!=null?i.setView(n,l):e!=null&&i.fitBounds(e,t),c!=null&&i.whenReady(c),m(cS(i))}},[]);(0,y.useEffect)(()=>()=>{p?.map.remove()},[p]);let g=p?y.createElement(pS,{value:p},r):o??null;return y.createElement(`div`,dC({},f,{ref:h}),g)}var pC=(0,y.forwardRef)(fC);cC();var mC=ZS(function({position:e,...t},n){let r=new uC.Marker(e,t);return RS(r,lS(n,{overlayContainer:r}))},function(e,t,n){t.position!==n.position&&e.setLatLng(t.position),t.icon!=null&&t.icon!==n.icon&&e.setIcon(t.icon),t.zIndexOffset!=null&&t.zIndexOffset!==n.zIndexOffset&&e.setZIndexOffset(t.zIndexOffset),t.opacity!=null&&t.opacity!==n.opacity&&e.setOpacity(t.opacity),e.dragging!=null&&t.draggable!==n.draggable&&(t.draggable===!0?e.dragging.enable():e.dragging.disable())});cC();var hC=QS(function(e,t){return RS(new uC.Popup(e,t.overlayContainer),t)},function(e,t,{position:n},r){(0,y.useEffect)(function(){let{instance:i}=e;function a(e){e.popup===i&&(i.update(),r(!0))}function o(e){e.popup===i&&r(!1)}return t.map.on({popupopen:a,popupclose:o}),t.overlayContainer==null?(n!=null&&i.setLatLng(n),i.openOn(t.map)):t.overlayContainer.bindPopup(i),function(){t.map.off({popupopen:a,popupclose:o}),t.overlayContainer?.unbindPopup(),t.map.removeLayer(i)}},[e,t,r,n])});cC();var gC=eC(function({url:e,...t},n){return RS(new uC.TileLayer(e,DS(t,n)),n)},function(e,t,n){nC(e,t,n);let{url:r}=t;r!=null&&r!==n.url&&e.setUrl(r)}),_C=s(((e,t,n)=>{(function(n,r){typeof e==`object`&&t!==void 0?r(e):typeof define==`function`&&define.amd?define([`exports`],r):(n||=self,r((n.Leaflet=n.Leaflet||{},n.Leaflet.markercluster={})))})(n,function(e){var t=L.MarkerClusterGroup=L.FeatureGroup.extend({options:{maxClusterRadius:80,iconCreateFunction:null,clusterPane:L.Marker.prototype.options.pane,spiderfyOnEveryZoom:!1,spiderfyOnMaxZoom:!0,showCoverageOnHover:!0,zoomToBoundsOnClick:!0,singleMarkerMode:!1,disableClusteringAtZoom:null,removeOutsideVisibleBounds:!0,animate:!0,animateAddingMarkers:!1,spiderfyShapePositions:null,spiderfyDistanceMultiplier:1,spiderLegPolylineOptions:{weight:1.5,color:`#222`,opacity:.5},chunkedLoading:!1,chunkInterval:200,chunkDelay:50,chunkProgress:null,polygonOptions:{}},initialize:function(e){L.Util.setOptions(this,e),this.options.iconCreateFunction||(this.options.iconCreateFunction=this._defaultIconCreateFunction),this._featureGroup=L.featureGroup(),this._featureGroup.addEventParent(this),this._nonPointGroup=L.featureGroup(),this._nonPointGroup.addEventParent(this),this._inZoomAnimation=0,this._needsClustering=[],this._needsRemoving=[],this._currentShownBounds=null,this._queue=[],this._childMarkerEventHandlers={dragstart:this._childMarkerDragStart,move:this._childMarkerMoved,dragend:this._childMarkerDragEnd};var t=L.DomUtil.TRANSITION&&this.options.animate;L.extend(this,t?this._withAnimation:this._noAnimation),this._markerCluster=t?L.MarkerCluster:L.MarkerClusterNonAnimated},addLayer:function(e){if(e instanceof L.LayerGroup)return this.addLayers([e]);if(!e.getLatLng)return this._nonPointGroup.addLayer(e),this.fire(`layeradd`,{layer:e}),this;if(!this._map)return this._needsClustering.push(e),this.fire(`layeradd`,{layer:e}),this;if(this.hasLayer(e))return this;this._unspiderfy&&this._unspiderfy(),this._addLayer(e,this._maxZoom),this.fire(`layeradd`,{layer:e}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons();var t=e,n=this._zoom;if(e.__parent)for(;t.__parent._zoom>=n;)t=t.__parent;return this._currentShownBounds.contains(t.getLatLng())&&(this.options.animateAddingMarkers?this._animationAddLayer(e,t):this._animationAddLayerNonAnimated(e,t)),this},removeLayer:function(e){return e instanceof L.LayerGroup?this.removeLayers([e]):e.getLatLng?this._map?(e.__parent&&(this._unspiderfy&&(this._unspiderfy(),this._unspiderfyLayer(e)),this._removeLayer(e,!0),this.fire(`layerremove`,{layer:e}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),e.off(this._childMarkerEventHandlers,this),this._featureGroup.hasLayer(e)&&(this._featureGroup.removeLayer(e),e.clusterShow&&e.clusterShow())),this):(!this._arraySplice(this._needsClustering,e)&&this.hasLayer(e)&&this._needsRemoving.push({layer:e,latlng:e._latlng}),this.fire(`layerremove`,{layer:e}),this):(this._nonPointGroup.removeLayer(e),this.fire(`layerremove`,{layer:e}),this)},addLayers:function(e,t){if(!L.Util.isArray(e))return this.addLayer(e);var n=this._featureGroup,r=this._nonPointGroup,i=this.options.chunkedLoading,a=this.options.chunkInterval,o=this.options.chunkProgress,s=e.length,c=0,l=!0,u;if(this._map){var d=new Date().getTime(),f=L.bind(function(){var p=new Date().getTime();for(this._map&&this._unspiderfy&&this._unspiderfy();c<s&&!(i&&c%200==0&&new Date().getTime()-p>a);c++)if(u=e[c],u instanceof L.LayerGroup)l&&=(e=e.slice(),!1),this._extractNonGroupLayers(u,e),s=e.length;else if(!u.getLatLng)r.addLayer(u),t||this.fire(`layeradd`,{layer:u});else if(!this.hasLayer(u)&&(this._addLayer(u,this._maxZoom),t||this.fire(`layeradd`,{layer:u}),u.__parent&&u.__parent.getChildCount()===2)){var m=u.__parent.getAllChildMarkers(),h=m[0]===u?m[1]:m[0];n.removeLayer(h)}o&&o(c,s,new Date().getTime()-d),c===s?(this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds)):setTimeout(f,this.options.chunkDelay)},this);f()}else for(var p=this._needsClustering;c<s;c++)u=e[c],u instanceof L.LayerGroup?(l&&=(e=e.slice(),!1),this._extractNonGroupLayers(u,e),s=e.length):u.getLatLng?this.hasLayer(u)||p.push(u):r.addLayer(u);return this},removeLayers:function(e){var t,n,r=e.length,i=this._featureGroup,a=this._nonPointGroup,o=!0;if(!this._map){for(t=0;t<r;t++)n=e[t],n instanceof L.LayerGroup?(o&&=(e=e.slice(),!1),this._extractNonGroupLayers(n,e),r=e.length):(this._arraySplice(this._needsClustering,n),a.removeLayer(n),this.hasLayer(n)&&this._needsRemoving.push({layer:n,latlng:n._latlng}),this.fire(`layerremove`,{layer:n}));return this}if(this._unspiderfy){this._unspiderfy();var s=e.slice(),c=r;for(t=0;t<c;t++)n=s[t],n instanceof L.LayerGroup?(this._extractNonGroupLayers(n,s),c=s.length):this._unspiderfyLayer(n)}for(t=0;t<r;t++)n=e[t],n instanceof L.LayerGroup?(o&&=(e=e.slice(),!1),this._extractNonGroupLayers(n,e),r=e.length):n.__parent?(this._removeLayer(n,!0,!0),this.fire(`layerremove`,{layer:n}),i.hasLayer(n)&&(i.removeLayer(n),n.clusterShow&&n.clusterShow())):(a.removeLayer(n),this.fire(`layerremove`,{layer:n}));return this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds),this},clearLayers:function(){return this._map||(this._needsClustering=[],this._needsRemoving=[],delete this._gridClusters,delete this._gridUnclustered),this._noanimationUnspiderfy&&this._noanimationUnspiderfy(),this._featureGroup.clearLayers(),this._nonPointGroup.clearLayers(),this.eachLayer(function(e){e.off(this._childMarkerEventHandlers,this),delete e.__parent},this),this._map&&this._generateInitialClusters(),this},getBounds:function(){var e=new L.LatLngBounds;this._topClusterLevel&&e.extend(this._topClusterLevel._bounds);for(var t=this._needsClustering.length-1;t>=0;t--)e.extend(this._needsClustering[t].getLatLng());return e.extend(this._nonPointGroup.getBounds()),e},eachLayer:function(e,t){var n=this._needsClustering.slice(),r=this._needsRemoving,i,a,o;for(this._topClusterLevel&&this._topClusterLevel.getAllChildMarkers(n),a=n.length-1;a>=0;a--){for(i=!0,o=r.length-1;o>=0;o--)if(r[o].layer===n[a]){i=!1;break}i&&e.call(t,n[a])}this._nonPointGroup.eachLayer(e,t)},getLayers:function(){var e=[];return this.eachLayer(function(t){e.push(t)}),e},getLayer:function(e){var t=null;return e=parseInt(e,10),this.eachLayer(function(n){L.stamp(n)===e&&(t=n)}),t},hasLayer:function(e){if(!e)return!1;var t,n=this._needsClustering;for(t=n.length-1;t>=0;t--)if(n[t]===e)return!0;for(n=this._needsRemoving,t=n.length-1;t>=0;t--)if(n[t].layer===e)return!1;return!!(e.__parent&&e.__parent._group===this)||this._nonPointGroup.hasLayer(e)},zoomToShowLayer:function(e,t){var n=this._map;typeof t!=`function`&&(t=function(){});var r=function(){(n.hasLayer(e)||n.hasLayer(e.__parent))&&!this._inZoomAnimation&&(this._map.off(`moveend`,r,this),this.off(`animationend`,r,this),n.hasLayer(e)?t():e.__parent._icon&&(this.once(`spiderfied`,t,this),e.__parent.spiderfy()))};e._icon&&this._map.getBounds().contains(e.getLatLng())?t():e.__parent._zoom<Math.round(this._map._zoom)?(this._map.on(`moveend`,r,this),this._map.panTo(e.getLatLng())):(this._map.on(`moveend`,r,this),this.on(`animationend`,r,this),e.__parent.zoomToBounds())},onAdd:function(e){this._map=e;var t,n,r;if(!isFinite(this._map.getMaxZoom()))throw`Map has no maxZoom specified`;for(this._featureGroup.addTo(e),this._nonPointGroup.addTo(e),this._gridClusters||this._generateInitialClusters(),this._maxLat=e.options.crs.projection.MAX_LATITUDE,t=0,n=this._needsRemoving.length;t<n;t++)r=this._needsRemoving[t],r.newlatlng=r.layer._latlng,r.layer._latlng=r.latlng;for(t=0,n=this._needsRemoving.length;t<n;t++)r=this._needsRemoving[t],this._removeLayer(r.layer,!0),r.layer._latlng=r.newlatlng;this._needsRemoving=[],this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds(),this._map.on(`zoomend`,this._zoomEnd,this),this._map.on(`moveend`,this._moveEnd,this),this._spiderfierOnAdd&&this._spiderfierOnAdd(),this._bindEvents(),n=this._needsClustering,this._needsClustering=[],this.addLayers(n,!0)},onRemove:function(e){e.off(`zoomend`,this._zoomEnd,this),e.off(`moveend`,this._moveEnd,this),this._unbindEvents(),this._map._mapPane.className=this._map._mapPane.className.replace(` leaflet-cluster-anim`,``),this._spiderfierOnRemove&&this._spiderfierOnRemove(),delete this._maxLat,this._hideCoverage(),this._featureGroup.remove(),this._nonPointGroup.remove(),this._featureGroup.clearLayers(),this._map=null},getVisibleParent:function(e){for(var t=e;t&&!t._icon;)t=t.__parent;return t||null},_arraySplice:function(e,t){for(var n=e.length-1;n>=0;n--)if(e[n]===t)return e.splice(n,1),!0},_removeFromGridUnclustered:function(e,t){for(var n=this._map,r=this._gridUnclustered,i=Math.floor(this._map.getMinZoom());t>=i&&r[t].removeObject(e,n.project(e.getLatLng(),t));t--);},_childMarkerDragStart:function(e){e.target.__dragStart=e.target._latlng},_childMarkerMoved:function(e){if(!this._ignoreMove&&!e.target.__dragStart){var t=e.target._popup&&e.target._popup.isOpen();this._moveChild(e.target,e.oldLatLng,e.latlng),t&&e.target.openPopup()}},_moveChild:function(e,t,n){e._latlng=t,this.removeLayer(e),e._latlng=n,this.addLayer(e)},_childMarkerDragEnd:function(e){var t=e.target.__dragStart;delete e.target.__dragStart,t&&this._moveChild(e.target,t,e.target._latlng)},_removeLayer:function(e,t,n){var r=this._gridClusters,i=this._gridUnclustered,a=this._featureGroup,o=this._map,s=Math.floor(this._map.getMinZoom());t&&this._removeFromGridUnclustered(e,this._maxZoom);var c=e.__parent,l=c._markers,u;for(this._arraySplice(l,e);c&&(c._childCount--,c._boundsNeedUpdate=!0,!(c._zoom<s));)t&&c._childCount<=1?(u=c._markers[0]===e?c._markers[1]:c._markers[0],r[c._zoom].removeObject(c,o.project(c._cLatLng,c._zoom)),i[c._zoom].addObject(u,o.project(u.getLatLng(),c._zoom)),this._arraySplice(c.__parent._childClusters,c),c.__parent._markers.push(u),u.__parent=c.__parent,c._icon&&(a.removeLayer(c),n||a.addLayer(u))):c._iconNeedsUpdate=!0,c=c.__parent;delete e.__parent},_isOrIsParent:function(e,t){for(;t;){if(e===t)return!0;t=t.parentNode}return!1},fire:function(e,t,n){if(t&&t.layer instanceof L.MarkerCluster){if(t.originalEvent&&this._isOrIsParent(t.layer._icon,t.originalEvent.relatedTarget))return;e=`cluster`+e}L.FeatureGroup.prototype.fire.call(this,e,t,n)},listens:function(e,t){return L.FeatureGroup.prototype.listens.call(this,e,t)||L.FeatureGroup.prototype.listens.call(this,`cluster`+e,t)},_defaultIconCreateFunction:function(e){var t=e.getChildCount(),n=` marker-cluster-`;return n+=t<10?`small`:t<100?`medium`:`large`,new L.DivIcon({html:`<div><span>`+t+`</span></div>`,className:`marker-cluster`+n,iconSize:new L.Point(40,40)})},_bindEvents:function(){var e=this._map,t=this.options.spiderfyOnMaxZoom,n=this.options.showCoverageOnHover,r=this.options.zoomToBoundsOnClick,i=this.options.spiderfyOnEveryZoom;(t||r||i)&&this.on(`clusterclick clusterkeypress`,this._zoomOrSpiderfy,this),n&&(this.on(`clustermouseover`,this._showCoverage,this),this.on(`clustermouseout`,this._hideCoverage,this),e.on(`zoomend`,this._hideCoverage,this))},_zoomOrSpiderfy:function(e){var t=e.layer,n=t;if(!(e.type===`clusterkeypress`&&e.originalEvent&&e.originalEvent.keyCode!==13)){for(;n._childClusters.length===1;)n=n._childClusters[0];n._zoom===this._maxZoom&&n._childCount===t._childCount&&this.options.spiderfyOnMaxZoom?t.spiderfy():this.options.zoomToBoundsOnClick&&t.zoomToBounds(),this.options.spiderfyOnEveryZoom&&t.spiderfy(),e.originalEvent&&e.originalEvent.keyCode===13&&this._map._container.focus()}},_showCoverage:function(e){var t=this._map;this._inZoomAnimation||(this._shownPolygon&&t.removeLayer(this._shownPolygon),e.layer.getChildCount()>2&&e.layer!==this._spiderfied&&(this._shownPolygon=new L.Polygon(e.layer.getConvexHull(),this.options.polygonOptions),t.addLayer(this._shownPolygon)))},_hideCoverage:function(){this._shownPolygon&&=(this._map.removeLayer(this._shownPolygon),null)},_unbindEvents:function(){var e=this.options.spiderfyOnMaxZoom,t=this.options.showCoverageOnHover,n=this.options.zoomToBoundsOnClick,r=this.options.spiderfyOnEveryZoom,i=this._map;(e||n||r)&&this.off(`clusterclick clusterkeypress`,this._zoomOrSpiderfy,this),t&&(this.off(`clustermouseover`,this._showCoverage,this),this.off(`clustermouseout`,this._hideCoverage,this),i.off(`zoomend`,this._hideCoverage,this))},_zoomEnd:function(){this._map&&(this._mergeSplitClusters(),this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds())},_moveEnd:function(){if(!this._inZoomAnimation){var e=this._getExpandedVisibleBounds();this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),this._zoom,e),this._topClusterLevel._recursivelyAddChildrenToMap(null,Math.round(this._map._zoom),e),this._currentShownBounds=e}},_generateInitialClusters:function(){var e=Math.ceil(this._map.getMaxZoom()),t=Math.floor(this._map.getMinZoom()),n=this.options.maxClusterRadius,r=n;typeof n!=`function`&&(r=function(){return n}),this.options.disableClusteringAtZoom!==null&&(e=this.options.disableClusteringAtZoom-1),this._maxZoom=e,this._gridClusters={},this._gridUnclustered={};for(var i=e;i>=t;i--)this._gridClusters[i]=new L.DistanceGrid(r(i)),this._gridUnclustered[i]=new L.DistanceGrid(r(i));this._topClusterLevel=new this._markerCluster(this,t-1)},_addLayer:function(e,t){var n=this._gridClusters,r=this._gridUnclustered,i=Math.floor(this._map.getMinZoom()),a,o;for(this.options.singleMarkerMode&&this._overrideMarkerIcon(e),e.on(this._childMarkerEventHandlers,this);t>=i;t--){a=this._map.project(e.getLatLng(),t);var s=n[t].getNearObject(a);if(s){s._addChild(e),e.__parent=s;return}if(s=r[t].getNearObject(a),s){var c=s.__parent;c&&this._removeLayer(s,!1);var l=new this._markerCluster(this,t,s,e);n[t].addObject(l,this._map.project(l._cLatLng,t)),s.__parent=l,e.__parent=l;var u=l;for(o=t-1;o>c._zoom;o--)u=new this._markerCluster(this,o,u),n[o].addObject(u,this._map.project(s.getLatLng(),o));c._addChild(u),this._removeFromGridUnclustered(s,t);return}r[t].addObject(e,a)}this._topClusterLevel._addChild(e),e.__parent=this._topClusterLevel},_refreshClustersIcons:function(){this._featureGroup.eachLayer(function(e){e instanceof L.MarkerCluster&&e._iconNeedsUpdate&&e._updateIcon()})},_enqueue:function(e){this._queue.push(e),this._queueTimeout||=setTimeout(L.bind(this._processQueue,this),300)},_processQueue:function(){for(var e=0;e<this._queue.length;e++)this._queue[e].call(this);this._queue.length=0,clearTimeout(this._queueTimeout),this._queueTimeout=null},_mergeSplitClusters:function(){var e=Math.round(this._map._zoom);this._processQueue(),this._zoom<e&&this._currentShownBounds.intersects(this._getExpandedVisibleBounds())?(this._animationStart(),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),this._zoom,this._getExpandedVisibleBounds()),this._animationZoomIn(this._zoom,e)):this._zoom>e?(this._animationStart(),this._animationZoomOut(this._zoom,e)):this._moveEnd()},_getExpandedVisibleBounds:function(){return this.options.removeOutsideVisibleBounds?L.Browser.mobile?this._checkBoundsMaxLat(this._map.getBounds()):this._checkBoundsMaxLat(this._map.getBounds().pad(1)):this._mapBoundsInfinite},_checkBoundsMaxLat:function(e){var t=this._maxLat;return t!==void 0&&(e.getNorth()>=t&&(e._northEast.lat=1/0),e.getSouth()<=-t&&(e._southWest.lat=-1/0)),e},_animationAddLayerNonAnimated:function(e,t){if(t===e)this._featureGroup.addLayer(e);else if(t._childCount===2){t._addToMap();var n=t.getAllChildMarkers();this._featureGroup.removeLayer(n[0]),this._featureGroup.removeLayer(n[1])}else t._updateIcon()},_extractNonGroupLayers:function(e,t){var n=e.getLayers(),r=0,i;for(t||=[];r<n.length;r++)i=n[r],i instanceof L.LayerGroup?this._extractNonGroupLayers(i,t):t.push(i);return t},_overrideMarkerIcon:function(e){return e.options.icon=this.options.iconCreateFunction({getChildCount:function(){return 1},getAllChildMarkers:function(){return[e]}})}});L.MarkerClusterGroup.include({_mapBoundsInfinite:new L.LatLngBounds(new L.LatLng(-1/0,-1/0),new L.LatLng(1/0,1/0))}),L.MarkerClusterGroup.include({_noAnimation:{_animationStart:function(){},_animationZoomIn:function(e,t){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),e),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this.fire(`animationend`)},_animationZoomOut:function(e,t){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),e),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this.fire(`animationend`)},_animationAddLayer:function(e,t){this._animationAddLayerNonAnimated(e,t)}},_withAnimation:{_animationStart:function(){this._map._mapPane.className+=` leaflet-cluster-anim`,this._inZoomAnimation++},_animationZoomIn:function(e,t){var n=this._getExpandedVisibleBounds(),r=this._featureGroup,i=Math.floor(this._map.getMinZoom()),a;this._ignoreMove=!0,this._topClusterLevel._recursively(n,e,i,function(i){var o=i._latlng,s=i._markers,c;for(n.contains(o)||(o=null),i._isSingleParent()&&e+1===t?(r.removeLayer(i),i._recursivelyAddChildrenToMap(null,t,n)):(i.clusterHide(),i._recursivelyAddChildrenToMap(o,t,n)),a=s.length-1;a>=0;a--)c=s[a],n.contains(c._latlng)||r.removeLayer(c)}),this._forceLayout(),this._topClusterLevel._recursivelyBecomeVisible(n,t),r.eachLayer(function(e){!(e instanceof L.MarkerCluster)&&e._icon&&e.clusterShow()}),this._topClusterLevel._recursively(n,e,t,function(e){e._recursivelyRestoreChildPositions(t)}),this._ignoreMove=!1,this._enqueue(function(){this._topClusterLevel._recursively(n,e,i,function(e){r.removeLayer(e),e.clusterShow()}),this._animationEnd()})},_animationZoomOut:function(e,t){this._animationZoomOutSingle(this._topClusterLevel,e-1,t),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),e,this._getExpandedVisibleBounds())},_animationAddLayer:function(e,t){var n=this,r=this._featureGroup;r.addLayer(e),t!==e&&(t._childCount>2?(t._updateIcon(),this._forceLayout(),this._animationStart(),e._setPos(this._map.latLngToLayerPoint(t.getLatLng())),e.clusterHide(),this._enqueue(function(){r.removeLayer(e),e.clusterShow(),n._animationEnd()})):(this._forceLayout(),n._animationStart(),n._animationZoomOutSingle(t,this._map.getMaxZoom(),this._zoom)))}},_animationZoomOutSingle:function(e,t,n){var r=this._getExpandedVisibleBounds(),i=Math.floor(this._map.getMinZoom());e._recursivelyAnimateChildrenInAndAddSelfToMap(r,i,t+1,n);var a=this;this._forceLayout(),e._recursivelyBecomeVisible(r,n),this._enqueue(function(){if(e._childCount===1){var o=e._markers[0];this._ignoreMove=!0,o.setLatLng(o.getLatLng()),this._ignoreMove=!1,o.clusterShow&&o.clusterShow()}else e._recursively(r,n,i,function(e){e._recursivelyRemoveChildrenFromMap(r,i,t+1)});a._animationEnd()})},_animationEnd:function(){this._map&&(this._map._mapPane.className=this._map._mapPane.className.replace(` leaflet-cluster-anim`,``)),this._inZoomAnimation--,this.fire(`animationend`)},_forceLayout:function(){L.Util.falseFn(document.body.offsetWidth)}}),L.markerClusterGroup=function(e){return new L.MarkerClusterGroup(e)};var n=L.MarkerCluster=L.Marker.extend({options:L.Icon.prototype.options,initialize:function(e,t,n,r){L.Marker.prototype.initialize.call(this,n?n._cLatLng||n.getLatLng():new L.LatLng(0,0),{icon:this,pane:e.options.clusterPane}),this._group=e,this._zoom=t,this._markers=[],this._childClusters=[],this._childCount=0,this._iconNeedsUpdate=!0,this._boundsNeedUpdate=!0,this._bounds=new L.LatLngBounds,n&&this._addChild(n),r&&this._addChild(r)},getAllChildMarkers:function(e,t){e||=[];for(var n=this._childClusters.length-1;n>=0;n--)this._childClusters[n].getAllChildMarkers(e,t);for(var r=this._markers.length-1;r>=0;r--)t&&this._markers[r].__dragStart||e.push(this._markers[r]);return e},getChildCount:function(){return this._childCount},zoomToBounds:function(e){for(var t=this._childClusters.slice(),n=this._group._map,r=n.getBoundsZoom(this._bounds),i=this._zoom+1,a=n.getZoom(),o;t.length>0&&r>i;){i++;var s=[];for(o=0;o<t.length;o++)s=s.concat(t[o]._childClusters);t=s}r>i?this._group._map.setView(this._latlng,i):r<=a?this._group._map.setView(this._latlng,a+1):this._group._map.fitBounds(this._bounds,e)},getBounds:function(){var e=new L.LatLngBounds;return e.extend(this._bounds),e},_updateIcon:function(){this._iconNeedsUpdate=!0,this._icon&&this.setIcon(this)},createIcon:function(){return this._iconNeedsUpdate&&=(this._iconObj=this._group.options.iconCreateFunction(this),!1),this._iconObj.createIcon()},createShadow:function(){return this._iconObj.createShadow()},_addChild:function(e,t){this._iconNeedsUpdate=!0,this._boundsNeedUpdate=!0,this._setClusterCenter(e),e instanceof L.MarkerCluster?(t||(this._childClusters.push(e),e.__parent=this),this._childCount+=e._childCount):(t||this._markers.push(e),this._childCount++),this.__parent&&this.__parent._addChild(e,!0)},_setClusterCenter:function(e){this._cLatLng||=e._cLatLng||e._latlng},_resetBounds:function(){var e=this._bounds;e._southWest&&(e._southWest.lat=1/0,e._southWest.lng=1/0),e._northEast&&(e._northEast.lat=-1/0,e._northEast.lng=-1/0)},_recalculateBounds:function(){var e=this._markers,t=this._childClusters,n=0,r=0,i=this._childCount,a,o,s,c;if(i!==0){for(this._resetBounds(),a=0;a<e.length;a++)s=e[a]._latlng,this._bounds.extend(s),n+=s.lat,r+=s.lng;for(a=0;a<t.length;a++)o=t[a],o._boundsNeedUpdate&&o._recalculateBounds(),this._bounds.extend(o._bounds),s=o._wLatLng,c=o._childCount,n+=s.lat*c,r+=s.lng*c;this._latlng=this._wLatLng=new L.LatLng(n/i,r/i),this._boundsNeedUpdate=!1}},_addToMap:function(e){e&&(this._backupLatlng=this._latlng,this.setLatLng(e)),this._group._featureGroup.addLayer(this)},_recursivelyAnimateChildrenIn:function(e,t,n){this._recursively(e,this._group._map.getMinZoom(),n-1,function(e){for(var n=e._markers,r=n.length-1,i;r>=0;r--)i=n[r],i._icon&&(i._setPos(t),i.clusterHide())},function(e){for(var n=e._childClusters,r=n.length-1,i;r>=0;r--)i=n[r],i._icon&&(i._setPos(t),i.clusterHide())})},_recursivelyAnimateChildrenInAndAddSelfToMap:function(e,t,n,r){this._recursively(e,r,t,function(i){i._recursivelyAnimateChildrenIn(e,i._group._map.latLngToLayerPoint(i.getLatLng()).round(),n),i._isSingleParent()&&n-1===r?(i.clusterShow(),i._recursivelyRemoveChildrenFromMap(e,t,n)):i.clusterHide(),i._addToMap()})},_recursivelyBecomeVisible:function(e,t){this._recursively(e,this._group._map.getMinZoom(),t,null,function(e){e.clusterShow()})},_recursivelyAddChildrenToMap:function(e,t,n){this._recursively(n,this._group._map.getMinZoom()-1,t,function(r){if(t!==r._zoom)for(var i=r._markers.length-1;i>=0;i--){var a=r._markers[i];n.contains(a._latlng)&&(e&&(a._backupLatlng=a.getLatLng(),a.setLatLng(e),a.clusterHide&&a.clusterHide()),r._group._featureGroup.addLayer(a))}},function(t){t._addToMap(e)})},_recursivelyRestoreChildPositions:function(e){for(var t=this._markers.length-1;t>=0;t--){var n=this._markers[t];n._backupLatlng&&(n.setLatLng(n._backupLatlng),delete n._backupLatlng)}if(e-1===this._zoom)for(var r=this._childClusters.length-1;r>=0;r--)this._childClusters[r]._restorePosition();else for(var i=this._childClusters.length-1;i>=0;i--)this._childClusters[i]._recursivelyRestoreChildPositions(e)},_restorePosition:function(){this._backupLatlng&&(this.setLatLng(this._backupLatlng),delete this._backupLatlng)},_recursivelyRemoveChildrenFromMap:function(e,t,n,r){var i,a;this._recursively(e,t-1,n-1,function(e){for(a=e._markers.length-1;a>=0;a--)i=e._markers[a],r&&r.contains(i._latlng)||(e._group._featureGroup.removeLayer(i),i.clusterShow&&i.clusterShow())},function(e){for(a=e._childClusters.length-1;a>=0;a--)i=e._childClusters[a],r&&r.contains(i._latlng)||(e._group._featureGroup.removeLayer(i),i.clusterShow&&i.clusterShow())})},_recursively:function(e,t,n,r,i){var a=this._childClusters,o=this._zoom,s,c;if(t<=o&&(r&&r(this),i&&o===n&&i(this)),o<t||o<n)for(s=a.length-1;s>=0;s--)c=a[s],c._boundsNeedUpdate&&c._recalculateBounds(),e.intersects(c._bounds)&&c._recursively(e,t,n,r,i)},_isSingleParent:function(){return this._childClusters.length>0&&this._childClusters[0]._childCount===this._childCount}});L.Marker.include({clusterHide:function(){var e=this.options.opacity;return this.setOpacity(0),this.options.opacity=e,this},clusterShow:function(){return this.setOpacity(this.options.opacity)}}),L.DistanceGrid=function(e){this._cellSize=e,this._sqCellSize=e*e,this._grid={},this._objectPoint={}},L.DistanceGrid.prototype={addObject:function(e,t){var n=this._getCoord(t.x),r=this._getCoord(t.y),i=this._grid,a=i[r]=i[r]||{},o=a[n]=a[n]||[],s=L.Util.stamp(e);this._objectPoint[s]=t,o.push(e)},updateObject:function(e,t){this.removeObject(e),this.addObject(e,t)},removeObject:function(e,t){var n=this._getCoord(t.x),r=this._getCoord(t.y),i=this._grid,a=i[r]=i[r]||{},o=a[n]=a[n]||[],s,c;for(delete this._objectPoint[L.Util.stamp(e)],s=0,c=o.length;s<c;s++)if(o[s]===e)return o.splice(s,1),c===1&&delete a[n],!0},eachObject:function(e,t){var n,r,i,a,o,s,c,l=this._grid;for(n in l)for(r in o=l[n],o)for(s=o[r],i=0,a=s.length;i<a;i++)c=e.call(t,s[i]),c&&(i--,a--)},getNearObject:function(e){var t=this._getCoord(e.x),n=this._getCoord(e.y),r,i,a,o,s,c,l,u,d=this._objectPoint,f=this._sqCellSize,p=null;for(r=n-1;r<=n+1;r++)if(o=this._grid[r],o){for(i=t-1;i<=t+1;i++)if(s=o[i],s)for(a=0,c=s.length;a<c;a++)l=s[a],u=this._sqDist(d[L.Util.stamp(l)],e),(u<f||u<=f&&p===null)&&(f=u,p=l)}return p},_getCoord:function(e){var t=Math.floor(e/this._cellSize);return isFinite(t)?t:e},_sqDist:function(e,t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r}},(function(){L.QuickHull={getDistant:function(e,t){var n=t[1].lat-t[0].lat;return(t[0].lng-t[1].lng)*(e.lat-t[0].lat)+n*(e.lng-t[0].lng)},findMostDistantPointFromBaseLine:function(e,t){for(var n=0,r=null,i=[],a=t.length-1,o,s;a>=0;a--){if(o=t[a],s=this.getDistant(o,e),s>0)i.push(o);else continue;s>n&&(n=s,r=o)}return{maxPoint:r,newPoints:i}},buildConvexHull:function(e,t){var n=[],r=this.findMostDistantPointFromBaseLine(e,t);return r.maxPoint?(n=n.concat(this.buildConvexHull([e[0],r.maxPoint],r.newPoints)),n=n.concat(this.buildConvexHull([r.maxPoint,e[1]],r.newPoints)),n):[e[0]]},getConvexHull:function(e){for(var t=!1,n=!1,r=!1,i=!1,a=null,o=null,s=null,c=null,l=null,u=null,d=e.length-1;d>=0;d--){var f=e[d];(t===!1||f.lat>t)&&(a=f,t=f.lat),(n===!1||f.lat<n)&&(o=f,n=f.lat),(r===!1||f.lng>r)&&(s=f,r=f.lng),(i===!1||f.lng<i)&&(c=f,i=f.lng)}return n===t?(u=c,l=s):(u=o,l=a),[].concat(this.buildConvexHull([u,l],e),this.buildConvexHull([l,u],e))}}})(),L.MarkerCluster.include({getConvexHull:function(){for(var e=this.getAllChildMarkers(),t=[],n,r=e.length-1;r>=0;r--)n=e[r].getLatLng(),t.push(n);return L.QuickHull.getConvexHull(t)}}),L.MarkerCluster.include({_2PI:Math.PI*2,_circleFootSeparation:25,_circleStartAngle:0,_spiralFootSeparation:28,_spiralLengthStart:11,_spiralLengthFactor:5,_circleSpiralSwitchover:9,spiderfy:function(){if(!(this._group._spiderfied===this||this._group._inZoomAnimation)){var e=this.getAllChildMarkers(null,!0),t=this._group._map.latLngToLayerPoint(this._latlng),n;this._group._unspiderfy(),this._group._spiderfied=this,this._group.options.spiderfyShapePositions?n=this._group.options.spiderfyShapePositions(e.length,t):e.length>=this._circleSpiralSwitchover?n=this._generatePointsSpiral(e.length,t):(t.y+=10,n=this._generatePointsCircle(e.length,t)),this._animationSpiderfy(e,n)}},unspiderfy:function(e){this._group._inZoomAnimation||(this._animationUnspiderfy(e),this._group._spiderfied=null)},_generatePointsCircle:function(e,t){var n=this._group.options.spiderfyDistanceMultiplier*this._circleFootSeparation*(2+e)/this._2PI,r=this._2PI/e,i=[],a,o;for(n=Math.max(n,35),i.length=e,a=0;a<e;a++)o=this._circleStartAngle+a*r,i[a]=new L.Point(t.x+n*Math.cos(o),t.y+n*Math.sin(o))._round();return i},_generatePointsSpiral:function(e,t){var n=this._group.options.spiderfyDistanceMultiplier,r=n*this._spiralLengthStart,i=n*this._spiralFootSeparation,a=n*this._spiralLengthFactor*this._2PI,o=0,s=[],c;for(s.length=e,c=e;c>=0;c--)c<e&&(s[c]=new L.Point(t.x+r*Math.cos(o),t.y+r*Math.sin(o))._round()),o+=i/r+c*5e-4,r+=a/o;return s},_noanimationUnspiderfy:function(){var e=this._group,t=e._map,n=e._featureGroup,r=this.getAllChildMarkers(null,!0),i,a;for(e._ignoreMove=!0,this.setOpacity(1),a=r.length-1;a>=0;a--)i=r[a],n.removeLayer(i),i._preSpiderfyLatlng&&(i.setLatLng(i._preSpiderfyLatlng),delete i._preSpiderfyLatlng),i.setZIndexOffset&&i.setZIndexOffset(0),i._spiderLeg&&(t.removeLayer(i._spiderLeg),delete i._spiderLeg);e.fire(`unspiderfied`,{cluster:this,markers:r}),e._ignoreMove=!1,e._spiderfied=null}}),L.MarkerClusterNonAnimated=L.MarkerCluster.extend({_animationSpiderfy:function(e,t){var n=this._group,r=n._map,i=n._featureGroup,a=this._group.options.spiderLegPolylineOptions,o,s,c,l;for(n._ignoreMove=!0,o=0;o<e.length;o++)l=r.layerPointToLatLng(t[o]),s=e[o],c=new L.Polyline([this._latlng,l],a),r.addLayer(c),s._spiderLeg=c,s._preSpiderfyLatlng=s._latlng,s.setLatLng(l),s.setZIndexOffset&&s.setZIndexOffset(1e6),i.addLayer(s);this.setOpacity(.3),n._ignoreMove=!1,n.fire(`spiderfied`,{cluster:this,markers:e})},_animationUnspiderfy:function(){this._noanimationUnspiderfy()}}),L.MarkerCluster.include({_animationSpiderfy:function(e,t){var n=this,r=this._group,i=r._map,a=r._featureGroup,o=this._latlng,s=i.latLngToLayerPoint(o),c=L.Path.SVG,l=L.extend({},this._group.options.spiderLegPolylineOptions),u=l.opacity,d,f,p,m,h,g;for(u===void 0&&(u=L.MarkerClusterGroup.prototype.options.spiderLegPolylineOptions.opacity),c?(l.opacity=0,l.className=(l.className||``)+` leaflet-cluster-spider-leg`):l.opacity=u,r._ignoreMove=!0,d=0;d<e.length;d++)f=e[d],g=i.layerPointToLatLng(t[d]),p=new L.Polyline([o,g],l),i.addLayer(p),f._spiderLeg=p,c&&(m=p._path,h=m.getTotalLength()+.1,m.style.strokeDasharray=h,m.style.strokeDashoffset=h),f.setZIndexOffset&&f.setZIndexOffset(1e6),f.clusterHide&&f.clusterHide(),a.addLayer(f),f._setPos&&f._setPos(s);for(r._forceLayout(),r._animationStart(),d=e.length-1;d>=0;d--)g=i.layerPointToLatLng(t[d]),f=e[d],f._preSpiderfyLatlng=f._latlng,f.setLatLng(g),f.clusterShow&&f.clusterShow(),c&&(p=f._spiderLeg,m=p._path,m.style.strokeDashoffset=0,p.setStyle({opacity:u}));this.setOpacity(.3),r._ignoreMove=!1,setTimeout(function(){r._animationEnd(),r.fire(`spiderfied`,{cluster:n,markers:e})},200)},_animationUnspiderfy:function(e){var t=this,n=this._group,r=n._map,i=n._featureGroup,a=e?r._latLngToNewLayerPoint(this._latlng,e.zoom,e.center):r.latLngToLayerPoint(this._latlng),o=this.getAllChildMarkers(null,!0),s=L.Path.SVG,c,l,u,d,f,p;for(n._ignoreMove=!0,n._animationStart(),this.setOpacity(1),l=o.length-1;l>=0;l--)c=o[l],c._preSpiderfyLatlng&&(c.closePopup(),c.setLatLng(c._preSpiderfyLatlng),delete c._preSpiderfyLatlng,p=!0,c._setPos&&(c._setPos(a),p=!1),c.clusterHide&&(c.clusterHide(),p=!1),p&&i.removeLayer(c),s&&(u=c._spiderLeg,d=u._path,f=d.getTotalLength()+.1,d.style.strokeDashoffset=f,u.setStyle({opacity:0})));n._ignoreMove=!1,setTimeout(function(){var e=0;for(l=o.length-1;l>=0;l--)c=o[l],c._spiderLeg&&e++;for(l=o.length-1;l>=0;l--)c=o[l],c._spiderLeg&&(c.clusterShow&&c.clusterShow(),c.setZIndexOffset&&c.setZIndexOffset(0),e>1&&i.removeLayer(c),r.removeLayer(c._spiderLeg),delete c._spiderLeg);n._animationEnd(),n.fire(`unspiderfied`,{cluster:t,markers:o})},200)}}),L.MarkerClusterGroup.include({_spiderfied:null,unspiderfy:function(){this._unspiderfy.apply(this,arguments)},_spiderfierOnAdd:function(){this._map.on(`click`,this._unspiderfyWrapper,this),this._map.options.zoomAnimation&&this._map.on(`zoomstart`,this._unspiderfyZoomStart,this),this._map.on(`zoomend`,this._noanimationUnspiderfy,this),L.Browser.touch||this._map.getRenderer(this)},_spiderfierOnRemove:function(){this._map.off(`click`,this._unspiderfyWrapper,this),this._map.off(`zoomstart`,this._unspiderfyZoomStart,this),this._map.off(`zoomanim`,this._unspiderfyZoomAnim,this),this._map.off(`zoomend`,this._noanimationUnspiderfy,this),this._noanimationUnspiderfy()},_unspiderfyZoomStart:function(){this._map&&this._map.on(`zoomanim`,this._unspiderfyZoomAnim,this)},_unspiderfyZoomAnim:function(e){L.DomUtil.hasClass(this._map._mapPane,`leaflet-touching`)||(this._map.off(`zoomanim`,this._unspiderfyZoomAnim,this),this._unspiderfy(e))},_unspiderfyWrapper:function(){this._unspiderfy()},_unspiderfy:function(e){this._spiderfied&&this._spiderfied.unspiderfy(e)},_noanimationUnspiderfy:function(){this._spiderfied&&this._spiderfied._noanimationUnspiderfy()},_unspiderfyLayer:function(e){e._spiderLeg&&(this._featureGroup.removeLayer(e),e.clusterShow&&e.clusterShow(),e.setZIndexOffset&&e.setZIndexOffset(0),this._map.removeLayer(e._spiderLeg),delete e._spiderLeg)}}),L.MarkerClusterGroup.include({refreshClusters:function(e){return e?e instanceof L.MarkerClusterGroup?e=e._topClusterLevel.getAllChildMarkers():e instanceof L.LayerGroup?e=e._layers:e instanceof L.MarkerCluster?e=e.getAllChildMarkers():e instanceof L.Marker&&(e=[e]):e=this._topClusterLevel.getAllChildMarkers(),this._flagParentsIconsNeedUpdate(e),this._refreshClustersIcons(),this.options.singleMarkerMode&&this._refreshSingleMarkerModeMarkers(e),this},_flagParentsIconsNeedUpdate:function(e){var t,n;for(t in e)for(n=e[t].__parent;n;)n._iconNeedsUpdate=!0,n=n.__parent},_refreshSingleMarkerModeMarkers:function(e){var t,n;for(t in e)n=e[t],this.hasLayer(n)&&n.setIcon(this._overrideMarkerIcon(n))}}),L.Marker.include({refreshIconOptions:function(e,t){var n=this.options.icon;return L.setOptions(n,e),this.setIcon(n),t&&this.__parent&&this.__parent._group.refreshClusters(this),this}}),e.MarkerClusterGroup=t,e.MarkerCluster=n,Object.defineProperty(e,"__esModule",{value:!0})})})),vC=s((()=>{})),yC=s((()=>{})),bC=c({default:()=>xC}),xC,SC=o((()=>{xC=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAABSCAMAAAAhFXfZAAAC91BMVEVMaXEzeak2f7I4g7g3g7cua5gzeKg8hJo3grY4g7c3grU0gLI2frE0daAubJc2gbQwd6QzeKk2gLMtd5sxdKIua5g1frA2f7IydaM0e6w2fq41fK01eqo3grgubJgta5cxdKI1f7AydaQydaMxc6EubJgvbJkwcZ4ubZkwcJwubZgubJcydqUydKIxapgubJctbJcubZcubJcvbJYubJcvbZkubJctbJctbZcubJg2f7AubJcrbZcubJcubJcua5g3grY0fq8ubJcubJdEkdEwhsw6i88vhswuhcsuhMtBjMgthMsrg8srgss6is8qgcs8i9A9iMYtg8spgcoogMo7hcMngMonf8olfso4gr8kfck5iM8jfMk4iM8he8k1fro7itAgesk2hs8eecgzfLcofssdeMg0hc4cd8g2hcsxeLQbdsgZdcgxeLImfcszhM0vda4xgckzhM4xg84wf8Yxgs4udKsvfcQucqhUndROmdM1fK0wcZ8vb5w0eqpQm9MzeKhXoNVcpdYydKNWn9VZotVKltJFjsIwcJ1Rms9OlslLmtH///8+kc9epdYzd6dbo9VHkMM2f7FHmNBClM8ydqVcpNY9hro3gLM9hLczealQmcw3fa46f7A8gLMxc6I3eagyc6FIldJMl9JSnNRSntNNl9JPnNJFi75UnM9ZodVKksg8kM45jc09e6ZHltFBk883gbRBh7pDk9EwcaBzn784g7dKkcY2i81Om9M7j85Llc81is09g7Q4grY/j9A0eqxKmdFFltBEjcXf6fFImdBCiLxJl9FGlNFBi78yiMxVndEvbpo6js74+vx+psPP3+o/ks5HkcpGmNCjwdZCkNDM3ehYoNJEls+lxNkxh8xHks0+jdC1zd5Lg6r+/v/H2ufz9/o3jM3t8/edvdM/k89Th61OiLBSjbZklbaTt9BfptdjmL1AicBHj8hGk9FAgK1dkLNTjLRekrdClc/k7fM0icy0y9tgp9c4jc2NtM9Dlc8zicxeXZn3AAAAQ3RSTlMAHDdTb4yPA+LtnEQmC4L2EmHqB7XA0d0sr478x4/Yd5i1zOfyPkf1sLVq4Nh3FvjxopQ2/STNuFzUwFIwxKaejILpIBEV9wAABhVJREFUeF6s1NdyFEcYBeBeoQIhRAkLlRDGrhIgY3BJL8CVeKzuyXFzzjkn5ZxzzuScg3PO8cKzu70JkO0LfxdTU//pM9vTu7Xgf6KqOVTb9X7toRrVEfBf1HTVjZccrT/2by1VV928Yty9ZbVuucdz90frG8DBjl9pVApbOstvmMuvVgaNXSfAAd6pGxpy6yxf5ph43pS/4f3uoaGm2rdu72S9xzOvMymkZFq/ptDrk90mhW7e4zl7HLzhxGWPR20xmSxJ/VqldG5m9XhaVOA1DadsNh3Pu5L2N6QtPO/32JpqQBVVk20oy/Pi2s23WEvyfHbe1thadVQttvm7Llf65gGmXK67XtupyoM7HQhmXdLS8oGWJNeOJ3C5fG5XCEJnkez3/oFdsvgJ4l2ANZwhrJKk/7OSXa+3Vw2WJMlKnGkobouYk6T0TyX30klOUnTD9HJ5qpckL3EW/w4XF3Xd0FGywXUrstrclVsqz5Pd/sXFYyDnPdrLcQODmGOK47IZb4CmibmMn+MYRzFZ5jg33ZL/EJrWcszHmANy3ARBK/IXtciJy8VsitPSdE3uuHxzougojcUdr8/32atnz/ev3f/K5wtpxUTpcaI45zusVDpYtZi+jg0oU9b3x74h7+n9ABvYEZeKaVq0sh0AtLKsFtqNBdeT0MrSzwwlq9+x6xAO4tgOtSzbCjrNQQiNvQUbUEubvzBUeGw26yDCsRHCoLkTHDa7IdOLIThs/gHvChszh2CimE8peRs47cxANI0lYNB5y1DljpOF0IhzBDPOZnDOqYYbeGKECbPzWnXludPphw5c2YBq5zlwXphIbO4VDCZ0gnPfUO1TwZoYwAs2ExPCedAu9DAjfQUjzITQb3jNj0KG2Sgt6BHaQUdYzWz+XmBktOHwanXjaSTcwwziBcuMOtwBmqPrTOxFQR/DRKKPqyur0aiW6cULYsx6tBm0jXpR/AUWR6HRq9WVW6MRhIq5jLyjbaCTDCijyYJNpCajdyobP/eTw0iexBAKkJ3gA5KcQb2zBXsIBckn+xVv8jkZSaEFHE+jFEleAEfayRU0MouNoBmB/L50Ai/HSLIHxcrpCvnhSQAuakKp2C/YbCylJjXRVy/z3+Kv/RrNcCo+WUzlVEhzKffnTQnxeN9fWF88fiNCUdSTsaufaChKWInHeysygfpIqagoakW+vV20J8uyl6TyNKEZWV4oRSPyCkWpgOLSbkCObT8o2r6tlG58HQquf6O0v50tB7JM7F4EORd2dx/K0w/KHsVkLPaoYrwgP/y7krr3SSMA4zj+OBgmjYkxcdIJQyQRKgg2viX9Hddi9UBb29LrKR7CVVEEEXWojUkXNyfTNDE14W9gbHJNuhjDettN3ZvbOvdOqCD3Jp/9l+/wJE+9PkYGjx/fqkys3S2rMozM/o2106rfMUINo6hVqz+eu/hd1c4xTg0TAfy5kV+4UG6+IthHTU9woWmxuKNbTfuCSfovBCxq7EtHqvYL4Sm6F8GVxsSXHMQ07TOi1DKtZxjWaaIyi4CXWjxPccUw8WVbMYY5wxC1mzEyXMJWkllpRloi+Kkoq69sxBTlElF6aAxYUbjXNlhlDZilDnM4U5SlN5biRsRHnbx3mbeWjEh4mEyiuJDl5XcWVmX5GvNkFgLWZM5qwsop4/AWfLhU1cR7k1VVvcYCWRkOI6Xy5gmnphCYIkvzuNYzHzosq2oNk2RtSs8khfUOfHIDgR6ysYBaMpl4uEgk2U/oJTs9AaTSwma7dT69geAE2ZpEjUsn2ieJNHeKfrI3EcAGJ2ZaNgVuC8EBctCLc57P5u5led6IOBkIYkuQMrmmjChs4VkfOerHqSBkPzZlhe06RslZ3zMjk2sscqKwY0RcjKK+LWbzd7KiHhkncs/siFJ+V5eXxD34B8nVuJEpGJNmxN2gH3vSvp7J70tF+D1Ej8qUJD1TkErAND2GZwTFg/LubvmgiBG3SOvdlsqFQrkEzJCL1rstlnVFROixZoDDSuXQFHESwVGlcuQcMb/b42NgjLowh5MTDFE3vNB5qStRIErdCQEh6pLPR92anSUb/wAIhldAaDMpGgAAAABJRU5ErkJggg==`})),CC=c({default:()=>wC}),wC,TC=o((()=>{wC=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=`})),EC=c({default:()=>DC}),DC,OC=o((()=>{DC=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC`})),kC=u(s(((e,t,n)=>{var r=n&&n.__assign||function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},r.apply(this,arguments)},i=n&&n.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},a=n&&n.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0});var o=(cC(),d(sC)),s=a(jS());_C(),vC(),yC(),delete s.default.Icon.Default.prototype._getIconUrl,s.default.Icon.Default.mergeOptions({iconRetinaUrl:(SC(),d(bC)).default,iconUrl:(TC(),d(CC)).default,shadowUrl:(OC(),d(EC)).default});function c(e){var t={},n={};e.children;var a=i(e,[`children`]);return Object.entries(a).forEach(function(e){var i,a,o=e[0],s=e[1];o.startsWith(`on`)?n=r(r({},n),(i={},i[o]=s,i)):t=r(r({},t),(a={},a[o]=s,a))}),{clusterProps:t,clusterEvents:n}}function l(e,t){var n=c(e),r=n.clusterProps,i=n.clusterEvents,a=new s.default.MarkerClusterGroup(r);return Object.entries(i).forEach(function(e){var t=e[0],n=e[1],r=`cluster${t.substring(2).toLowerCase()}`;a.on(r,n)}),(0,o.createElementObject)(a,(0,o.extendContext)(t,{layerContainer:a}))}e.default=(0,o.createPathComponent)(l,function(e,t,n){})}))(),1);function AC({hotel:e}){return(0,B.jsx)(hC,{className:`custom-popup rounded-xl overflow-hidden shadow-xl border-0`,children:(0,B.jsxs)(`div`,{className:`p-0 m-0 w-64 flex flex-col bg-white`,children:[(0,B.jsxs)(`div`,{className:`h-36 w-full bg-gray-200 relative overflow-hidden`,children:[(0,B.jsx)(`img`,{src:e.googleDrivePhotoPath,alt:e.hotelName,className:`w-full h-full object-cover transition-transform duration-500 hover:scale-105`,onError:e=>{e.target.src=`https://images.unsplash.com/photo-1582719508461-905c673771fd?auto=format&fit=crop&w=800&q=80`}}),(0,B.jsx)(`div`,{className:`absolute top-3 right-3 bg-purple-600/90 backdrop-blur-sm text-white text-[11px] uppercase tracking-wider font-bold px-2.5 py-1 rounded-md shadow-sm`,children:`Featured`})]}),(0,B.jsxs)(`div`,{className:`p-4 flex flex-col gap-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`font-bold text-lg text-gray-900 mb-1 leading-tight line-clamp-2`,children:e.hotelName}),(0,B.jsxs)(`p`,{className:`text-sm text-gray-500 flex items-center font-medium`,children:[(0,B.jsx)(H,{className:`w-3.5 h-3.5 mr-1.5 text-purple-500 shrink-0`}),e.city,`, `,e.region]})]}),(0,B.jsxs)(`a`,{href:e.expediaLink,target:`_blank`,rel:`noreferrer`,className:`mt-2 w-full flex items-center justify-center bg-[#000080] text-white py-2.5 px-4 text-sm font-bold rounded-lg hover:bg-[#000050] transition-colors shadow-md hover:shadow-lg active:scale-[0.98] transform`,children:[`Book on Expedia `,(0,B.jsx)($a,{className:`w-4 h-4 ml-2 opacity-80`})]})]})]})})}var Z=(e,t,n,r,i)=>{let a=r,o=null;if(a&&a.includes(`drive.google.com/uc`)){let e=a.match(/id=([^&]+)/);e&&e[1]&&(o=e[1],a=`https://drive.google.com/thumbnail?id=${o}&sz=w1000`)}else a||=(o=`PENDING_${e.replace(/[^a-zA-Z0-9]/g,`_`)}`,`https://drive.google.com/thumbnail?id=${o}&sz=w1000`);return{name:e,link:t,region:n,photoUrl:a,linkRel:i}},jC={Astoria:[Z(`Best Western Columbia River Waterfront`,`https://expedia.com/affiliate/QfpjX44`,`North Coast`,`https://drive.google.com/uc?export=view&id=1x5znN3_Zya5wN5M61gaydPFfj6MnvViK`),Z(`Holiday Inn Express & Suites`,`https://expedia.com/affiliate/PjUhmvh`,`North Coast`,`https://drive.google.com/uc?export=view&id=1LBtMDdzqdpk9L6nZTactv7j09vGe2L3N`),Z(`Astoria Rivershore Motel`,`https://expedia.com/affiliate/YGWyiuj`,`North Coast`,`https://drive.google.com/uc?export=view&id=1BEo5GWiZNM4kQ5PmrUnH7j7Pynutgimx`),Z(`Astoria Crest Motel`,`https://expedia.com/affiliate/cYbL3d2`,`North Coast`,`https://drive.google.com/uc?export=view&id=1vGThJQdKJHsQnZBoO9BYmrmWEFYmY72m`),Z(`Astoria Riverwalk Inn`,`https://expedia.com/affiliate/kX6zZPo`,`North Coast`,`https://drive.google.com/uc?export=view&id=19CZETK8jPu8VE16idF3oyqsnDRMyX-tS`),Z(`Lloyd Hotel Astoria Bayfront`,`https://expedia.com/affiliate/asNemKD`,`North Coast`,`https://drive.google.com/uc?export=view&id=1c1ZoIRiZpPMd6D54hP5kK_BEFwQ4FOTq`),Z(`Motel 6 Astoria`,`https://expedia.com/affiliate/m1SSiBR`,`North Coast`,`https://drive.google.com/uc?export=view&id=1Nbq2Yajf7417Y4yrputfURalOnXAGpOX`)],Warrenton:[Z(`Shilo Inn Suites`,`https://expedia.com/affiliate/wanvQwI`,`North Coast`,`https://drive.google.com/uc?export=view&id=12YSsRGnEFx0hvyAeI7zVRBbuRiSOkVxz`),Z(`Super 8 by Wyndham`,`https://expedia.com/affiliate/TqhFo6K`,`North Coast`,`https://drive.google.com/uc?export=view&id=16jsqlMj8E8gZy0fp6GJHjqRS2sacCtK7`)],Gearhart:[Z(`McMenamins Gearhart Hotel`,`https://expedia.com/affiliate/Ca3XkCC`,`North Coast`,`https://drive.google.com/uc?export=view&id=1eWgj6FFXq73fkBGYLoJRFoTZhVLE46Xk`),Z(`The Drifthaven at Gearhart`,`https://expedia.com/affiliate/NRxbXcc`,`North Coast`,`https://drive.google.com/uc?export=view&id=14lu5Vldj8TszkqM63Vr-7O2pkNJfd-xV`)],Seaside:[Z(`Ebb Tide Oceanfront Inn`,`https://expedia.com/affiliate/gCihDTZ`,`North Coast`,`https://drive.google.com/uc?export=view&id=1WvZV-J2zR_DjMT1NPdePBKdVIA9JUVPq`),Z(`Hi-Tide Oceanfront Inn`,`https://expedia.com/affiliate/MrBgPbe`,`North Coast`,`https://drive.google.com/uc?export=view&id=1d9DPiFeCJevgeq0HLbrq02vgFR4JmVRK`),Z(`Best Western Plus Ocean View Resort`,`https://expedia.com/affiliate/uRVqF7M`,`North Coast`,`https://drive.google.com/uc?export=view&id=1ILYz1JYTyJvYeIavHNFRAe53YJd7p0hP`,`noopener sponsored`),Z(`Ashore Hotel`,`https://expedia.com/affiliate/mIqAhWk`,`North Coast`,`https://drive.google.com/uc?export=view&id=1qHj83z4_FjB_SeAqODv5YOgSKzcqHjiD`,`noopener sponsored`),Z(`Promenade Inn & Suites Oceanfront`,`https://expedia.com/affiliate/ZYX0G3Z`,`North Coast`,`https://drive.google.com/uc?export=view&id=1yiWxhhEJyCjHomVT96GlmQCJfLAhqW-2`,`noopener sponsored`)],"Cannon Beach":[Z(`Cannon Beach Hotel`,`https://expedia.com/affiliate/YIL0Rf0`,`North Coast`,`https://drive.google.com/uc?export=view&id=1EPRXy_r-mGg5GTsHjOfC7hVacRfiQkwh`),Z(`Cannon Beach Hotel Collection`,`https://expedia.com/affiliate/mJQ3WmX`,`North Coast`,`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/9bd5ecd0cb968e54320b61fc54bb7081.jpg`,`noopener sponsored`),Z(`Inn at Cannon Beach`,`https://expedia.com/affiliate/7ESrxua`,`North Coast`,`https://drive.google.com/uc?export=view&id=1HySEUYkYci3WAbOsPrIC76fLgxbMj9nn`),Z(`Surfsand Resort`,`https://expedia.com/affiliates/cannon-beach-hotels-surfsand-resort.zxyRiuV`,`North Coast`,`https://drive.google.com/thumbnail?id=1ROSew_0fKuRtLfGlEJmCr1MRIesHrclo&sz=w1000`),Z(`The Ocean Lodge`,`https://expedia.com/affiliates/cannon-beach-hotels-the-ocean-lodge.a40yztM`,`North Coast`,`https://drive.google.com/thumbnail?id=1k6kaXjVVDfEG1TzZ3uWw5ciet-_Wc5s1&sz=w1000`),Z(`Hallmark Resort - Cannon Beach`,`https://expedia.com/affiliates/cannon-beach-hotels-hallmark-resort-cannon-beach.nOWaFHg`,`North Coast`,`https://drive.google.com/thumbnail?id=16UhUSBoXjJ9yNQEO9AXN7W4qL0B13Jop&sz=w1000`),Z(`Schooner's Cove Inn`,`https://expedia.com/affiliates/oregon-coast-hotels-schooners-cove-inn.lG3twwG`,`North Coast`,`https://drive.google.com/thumbnail?id=1hA4jCE7Nn_hPBaMsZFeyxTgL_EyTRZif&sz=w1000`),Z(`The Wayside Inn`,`https://expedia.com/affiliates/cannon-beach-hotels-the-wayside-inn.VoCvR8H`,`North Coast`,`https://drive.google.com/thumbnail?id=1q3xIzg87Jkbz8TWY3VzWL9qfuP4qlOz6&sz=w1000`),Z(`Lighthouse Inn`,`https://expedia.com/affiliates/cannon-beach-hotels-lighthouse-inn.Dg0n7fK`,`North Coast`,`https://drive.google.com/thumbnail?id=1JjDwc_5BBHqOuaE9cNma4DwpOQXuJfLD&sz=w1000`),Z(`Stephanie Inn`,`https://expedia.com/affiliates/cannon-beach-hotels-stephanie-inn.5UAV9Hb`,`North Coast`,`https://drive.google.com/thumbnail?id=1wfFx5GnMT1QcaaASsFP9RoTlyiiF0cEE&sz=w1000`)],Manzanita:[Z(`The Inn at Manzanita`,`https://expedia.com/affiliate/dSzC6r5`,`North Coast`,`https://drive.google.com/uc?export=view&id=1VHc-nxO6Ob8lgHnEfvMK2fx4DkOLd4lK`),Z(`San Dune Inn`,`https://expedia.com/affiliate/25fZSDA`,`North Coast`,`https://drive.google.com/uc?export=view&id=1qELnwYNdySKrorJAs-8UHFzjI7YHwWf4`),Z(`Coast Cabins`,`https://expedia.com/affiliates/manzanita-hotels-coast-cabins.CNuZMkA`,`North Coast`,`https://drive.google.com/thumbnail?id=1Lo8J_8NefYLLlCLPoxKP1lqJ8pacvSOw&sz=w1000`)],Wheeler:[Z(`Old Wheeler Hotel`,`https://expedia.com/affiliate/LRzfKKT`,`North Coast`,`https://drive.google.com/uc?export=view&id=1dXmGp4OYVLzWoaxmUMji3BFFvyoTxuIg`),Z(`Wheeler On The Bay Lodge & Marina`,`https://expedia.com/affiliate/fxYfbBm`,`North Coast`,`https://drive.google.com/uc?export=view&id=1xpxZ5cfkOoWJOs2FUHUu9Brfs85LmeDY`)],"Rockaway Beach":[Z(`Rockaway Beach Resort`,`https://expedia.com/affiliate/jaA5Vv1`,`North Coast`,`https://drive.google.com/uc?export=view&id=1rE8kMjBRR_0vQZRjdIuMj485OZSiJdIL`),Z(`Tradewinds Motel`,`https://expedia.com/affiliate/pKKNCVS`,`North Coast`,`https://drive.google.com/uc?export=view&id=12muDlgzFWKrPKlhfgez6BRpcC9-t_hU3`),Z(`Silver Sands Motel`,`https://expedia.com/affiliate/3W3Vw9w`,`North Coast`,`https://drive.google.com/uc?export=view&id=1Auv6QQBh-ste1ChVoplfk0FyTyUKu-qH`),Z(`Rockaway Shores`,`https://expedia.com/affiliate/vKSuvyF`,`North Coast`,`https://drive.google.com/uc?export=view&id=1OVkmcbEAP01LXvGpr4y0UxwsZ6cBHyBL`)],Garibaldi:[Z(`The Hotel Garibaldi`,`https://expedia.com/affiliate/PaiaALs`,`North Coast`,`https://drive.google.com/uc?export=view&id=16YlVu67tHaYm0rkdCn3hsZ83pOcwJ_J0`),Z(`Garibaldi Inn at the Bay`,`https://expedia.com/affiliate/ZivFvmb`,`North Coast`,`https://drive.google.com/uc?export=view&id=1-SmnBg1y5phNv3I-PbSuxqqQvq8xAygM`),Z(`Harborview Inn & RV Park`,`https://expedia.com/affiliate/3lp1ATL`,`North Coast`,`https://drive.google.com/uc?export=view&id=1kQcRGodl8CelPC6Xle877q86St9Z5GaE`)],Tillamook:[Z(`The Tillamook Inn`,`https://expedia.com/affiliate/f11NvoX`,`North Coast`,`https://drive.google.com/uc?export=view&id=1pHVMfrGPPqU9a_B0JddWfeTJ3Gi_cRnH`),Z(`Ashley Inn of Tillamook`,`https://expedia.com/affiliate/BZAE3Qq`,`North Coast`,`https://drive.google.com/uc?export=view&id=1nkHg3vQOq0lGERR8kDambFcDPVK5Tg_V`),Z(`Western Royal Inn`,`https://expedia.com/affiliate/SL8Kou9`,`North Coast`,`https://drive.google.com/uc?export=view&id=10CoeJU5b02-GsHRq4ozpRz-y--NOTBuy`),Z(`The Oceanside Inn`,`https://expedia.com/affiliate/1wnaCWE`,`North Coast`,`https://drive.google.com/uc?export=view&id=1d7AxU6a-Zlq03deiNU8hBUzMWfVMj7FI`),Z(`Terimore Bayfront Inn`,`https://expedia.com/affiliate/pIhnHz5`,`North Coast`,`https://drive.google.com/uc?export=view&id=1peh9ptkTUFj-7I85R7YK8P5FixlA_tMd`)],Nehalem:[Z(`Wheeler on the Bay Lodge and Marina`,`#`,`North Coast`,`https://drive.google.com/thumbnail?id=1xpxZ5cfkOoWJOs2FUHUu9Brfs85LmeDY&sz=w1000`),Z(`Old Wheeler Hotel`,`#`,`North Coast`,`https://drive.google.com/thumbnail?id=1dXmGp4OYVLzWoaxmUMji3BFFvyoTxuIg&sz=w1000`)],Tolovana:[Z(`The Ocean Lodge`,`https://expedia.com/affiliates/cannon-beach-hotels-the-ocean-lodge.a40yztM`,`North Coast`,`https://drive.google.com/thumbnail?id=1k6kaXjVVDfEG1TzZ3uWw5ciet-_Wc5s1&sz=w1000`),Z(`Inn at Cannon Beach`,`#`,`North Coast`,`https://drive.google.com/thumbnail?id=1HySEUYkYci3WAbOsPrIC76fLgxbMj9nn&sz=w1000`)],"Bay City":[],Netarts:[Z(`Terimore Lodging by the Sea`,`https://expedia.com/affiliates/tillamook-hotels-terimore-inn.dOjg76G`,`North Coast`,`https://drive.google.com/thumbnail?id=10iiGC6KxtY1fLqMrNe4oYb3DjK6FLu5X&sz=w1000`),Z(`The Surf Inn`,`https://expedia.com/affiliates/tillamook-hotels-the-netarts-surf-inn.oKM1yC1`,`North Coast`,`https://drive.google.com/thumbnail?id=1VBUCo9Oeyq2Hdu-Y5GvM5R_edLphocmN&sz=w1000`)],Neskowin:[],Oceanside:[Z(`Oceanside Inn`,`#`,`North Coast`,`https://drive.google.com/thumbnail?id=1d7AxU6a-Zlq03deiNU8hBUzMWfVMj7FI&sz=w1000`)],"Pacific City":[Z(`Pacific City Inn`,`https://expedia.com/affiliate/q3yGnAm`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1TyG43EK4M_aksT8-Z33V4ZMQFyJfAuTY`),Z(`Inn at Cape Kiwanda`,`https://expedia.com/affiliate/5nV2h4H`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1hz0kPpMbh9fLtqoLO5fwkgMDnCU7H4pY`),Z(`Headlands Coastal Lodge & Spa`,`https://expedia.com/affiliate/oYGoJbe`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1y4SdZK-Xf78OzAnuM-QDPjRs4EQmj3hk`),Z(`Surf & Sand Inn`,`https://expedia.com/affiliate/VJOt3mg`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1cC8IHXlRaZ_XbD1h_9IiASo3hmXqKn0E`),Z(`The Anchorage Motel`,`https://expedia.com/affiliate/lFJgsDF`,`Central Coast`,`https://drive.google.com/uc?export=view&id=13ljNKgWm-txW8nWvj9hMiNX0Bf38k2uQ`)],"Lincoln City":[Z(`Siletz Bay Beachfront Hotel`,`https://expedia.com/affiliate/nLYtYGA`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1xStGCSaZxv3C-80wnD6_9LhXKOhGeTya`),Z(`Holiday Inn Express & Suites`,`https://expedia.com/affiliate/9BioOyr`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1Vr2VuAOSt-FRdU6lnGCZvqRJS9HIjsj3`),Z(`Lincoln Sands Oceanfront Resort`,`https://expedia.com/affiliate/nt6MsIL`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1ytY7rVEEcrnku8p2_edjMEaFg3tNIdTF`),Z(`Comfort Inn & Suites`,`https://expedia.com/affiliate/3i9WO6E`,`Central Coast`,`https://drive.google.com/uc?export=view&id=19pSnkMYA2hob_tCgH7tJ8WHQGBn6tNLg`),Z(`Surfland Hotel`,`https://expedia.com/affiliate/yHp1qRA`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1CrKhh6LRxpHi5pvlQTnxF8nY6O8m6AY0`),Z(`Surftides`,`https://expedia.com/affiliate/AE2n2l9`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1DhmwyUus58b3G8SV-81pz9rCbRbfwzvx`),Z(`Salishan Coastal Lodge & Resort`,`#`,`Central Coast`,`https://drive.google.com/thumbnail?id=1kw0K_QmiyARNXfcvDwFVrm96wEzR040b&sz=w1000`),Z(`Starfish Manor Oceanfront Hotel`,`https://expedia.com/affiliates/lincoln-city-hotels-starfish-manor-oceanfront-hotel.TLbavwG`,`Central Coast`,`https://drive.google.com/thumbnail?id=1w9LxwX4-Om4V2u2EX5yq94fP1j9IJK_u&sz=w1000`),Z(`Sailor Jack's Oceanfront Inn`,`https://expedia.com/affiliates/lincoln-city-hotels-sailor-jacks-oceanfront-inn.LHbhH1v`,`Central Coast`,`https://drive.google.com/thumbnail?id=1vkhliVoXTNeDAfBEvs9t6UHPmFZhey1n&sz=w1000`),Z(`The Ashley Inn & Suites`,`https://expedia.com/affiliates/lincoln-city-hotels-the-ashley-inn-suites.VVEBoQ5`,`Central Coast`,`https://drive.google.com/thumbnail?id=1QJzxWlBqJaxOR8Al37txilPzr1ZaB387&sz=w1000`)],"Gleneden Beach":[Z(`WorldMark Gleneden Beach`,`https://expedia.com/affiliate/3GoK6ZH`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1uwV-FUG5qXqS5yh5OwFqKR6fL0AwhNsL`),Z(`Salishan Coastal Lodge`,`https://expedia.com/affiliate/4HyaGdg`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1kw0K_QmiyARNXfcvDwFVrm96wEzR040b`)],"Depoe Bay":[Z(`WorldMark Depoe Bay`,`https://expedia.com/affiliate/eDY1POg`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1-gTQcwVwd1yVYkiLr09Qu1v3A8ZNlAix`),Z(`Travelodge by Wyndham`,`https://expedia.com/affiliate/LbqzSDy`,`Central Coast`,`https://drive.google.com/uc?export=view&id=15ivBt39UH_Y1nevPTTk7zKuZCc4DSSNA`),Z(`Clarion Inn Surfrider Resort`,`https://expedia.com/affiliate/yLjzrer`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1HxL8YgfmyAmzoZWI7Ac1lA_jdNxFGGzJ`),Z(`Inn at Arch Rock`,`https://expedia.com/affiliate/Z7JNpW9`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1u15yBQVtVYjfFvsbxfCmtLIhlGSO1eLN`),Z(`Whale Cove Inn`,`https://expedia.com/affiliate/nnP5EZA`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1nrkeXZQ5HJt3VlYVe68ResOn_jf-8cSF`)],"Otter Rock":[Z(`Inn At Otter Crest`,`https://expedia.com/affiliate/7vBCeVz`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1w7qvF3-BFOaKYgOLDBI-qrFlZXFweJTs`)],Newport:[Z(`Holiday Inn Express`,`https://expedia.com/affiliate/NJBvZWm`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1cCxzoeyHPpBCul4NedWSKJagBYX7I0Kn`),Z(`Waves Hotel NYE Beach`,`https://expedia.com/affiliate/WdzNkOX`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1vvOEpnEHzrmryhZePSPAifWSAWOXx7-9`),Z(`Comfort Inn Newport`,`https://expedia.com/affiliate/YyNeNTg`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1CsqddNFO6LtNYnD-EBX9iQMWnvfJtMCx`),Z(`Newport Inn By OYO`,`https://expedia.com/affiliate/8155hYD`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1Ujc4L9pFShO5RhbPEk4vru_Aj4RmEQSw`),Z(`Motel 6 Newport`,`https://expedia.com/affiliate/iNsZsZ3`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1YSeVY4W-nkfUAiRWbIaOxy6NTokdOhgU`),Z(`Hallmark Resort`,`https://expedia.com/affiliate/CoJq7jS`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1aQqZY84KpksqbrDalNf3wyHV1bHpByOC`),Z(`Sylvia Beach Hotel`,`https://expedia.com/affiliates/newport-hotels-hotel-sylvia.sdqDnG3`,`Central Coast`,`https://drive.google.com/thumbnail?id=1fza7mLiTX2YWt2sS9Wlbbcboc7UCNk3A&sz=w1000`),Z(`Best Western Plus Agate Beach Inn`,`https://expedia.com/affiliates/newport-hotels-best-western-plus-agate-beach-inn.fd7bpuM`,`Central Coast`,`https://drive.google.com/thumbnail?id=1UwHAzolsdQtKS7eKUQkxcN7W6Ealh3Rv&sz=w1000`)],Waldport:[Z(`Alsi Resort`,`https://expedia.com/affiliate/pwGOgvK`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1Sk087kLdtYxKanrofG8bQSivI9lMZ6cN`),Z(`The Waldport Inn`,`https://expedia.com/affiliate/zg8fXxb`,`Central Coast`,`https://drive.google.com/uc?export=view&id=15cYq67heNExx-QMa9Eq8owvjE3VUZX1O`)],Yachats:[Z(`Adobe Resort`,`https://expedia.com/affiliate/gxy00Gh`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1oTo6h5QqgBYdCRnj4CQ-heA0Zdm4CfSg`),Z(`Silver Surf Motel`,`https://expedia.com/affiliate/JC4ePNz`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1HLIcxQ2RC778P702axcwoj9ifS8kMxXz`),Z(`Tillicum Beach Motel`,`https://expedia.com/affiliate/6hqaWhM`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1HA77aRBzgzIkOPUp3Zy4iUdNyQc5tjlm`),Z(`Fireside Motel`,`https://expedia.com/affiliate/JVUAE00`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1sfVrLFZUMCb3tFd0kPsPkoL7hy9N95J2`),Z(`Overleaf Lodge`,`https://expedia.com/affiliate/z47trXR`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1wLL9HVYmIsWhaZWZ8ZMXd3D5M8evYYAO`)],Florence:[Z(`Driftwood Shores Resort`,`https://expedia.com/affiliate/3k08QRP`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1jNzUX-iPJXK8O2l__mC6j84qmMF6q8dY`),Z(`Economy Inn Florence`,`https://expedia.com/affiliate/RJe4WrD`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1n1DX3eV-Ub7_d76vzcGZ6We-tPm2txhc`),Z(`Old Town Inn`,`https://expedia.com/affiliate/dik1XT7`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1I-iQ9xL7EIxjRJeF_5T5QQ_R8OZXr19Q`),Z(`Quality Inn Florence`,`https://expedia.com/affiliate/BHxZCQC`,`Central Coast`,`https://drive.google.com/uc?export=view&id=1H2W8qu3T9th5NthZYaBW55UGurnzdZ5l`),Z(`River House Inn`,`https://expedia.com/affiliates/florence-hotels-river-house-inn.06qo0yw`,`Central Coast`,`https://drive.google.com/thumbnail?id=1cuxE81Xr-4ZKwFR0ehr6QceDDy51xlD5&sz=w1000`),Z(`Best Western Pier Point Inn`,`https://expedia.com/affiliates/florence-hotels-best-western-pier-point-inn.v0vr7cg`,`Central Coast`,`https://drive.google.com/thumbnail?id=1D8ZdZYtd5feASy5ve183UmPedn4nU9ZV&sz=w1000`),Z(`Three Rivers Casino Resort`,`https://expedia.com/affiliates/florence-hotels-three-rivers-casino-resort.a3OJ6Oi`,`Central Coast`,`https://drive.google.com/thumbnail?id=1iUZBNmtgIcyVxVDUDWC_B-dAzA5ddnIs&sz=w1000`)],"South Beach":[Z(`La Quinta Inn & Suites`,`https://expedia.com/affiliates/newport-hotels-la-quinta-inn-suites-by-wyndham-newport.WYuEQQ4`,`Central Coast`,`https://drive.google.com/thumbnail?id=1A_0u0Pz4MDY40Dfbc9UP4EGL9bvBaAQc&sz=w1000`),Z(`Holiday Inn Express Newport`,`https://expedia.com/affiliates/newport-hotels-holiday-inn-express-hotel-suites-newport.XquObDL`,`Central Coast`,`https://drive.google.com/thumbnail?id=1MKqsZ1_HQdNgyB-q99g3taEnOXiaY4Zd&sz=w1000`),Z(`Motel 6 Newport`,`#`,`Central Coast`,`https://drive.google.com/thumbnail?id=1YSeVY4W-nkfUAiRWbIaOxy6NTokdOhgU&sz=w1000`)],Toledo:[],"Seal Rock":[],"Dune City":[Z(`Lakeshore Lodge (Nearby)`,`#`,`Central Coast`,`https://drive.google.com/thumbnail?id=1HwXMuo9-Y6GN8ju5Rnu57Ioo94Ug9JJJ&sz=w1000`)],Reedsport:[Z(`Best Western Salbasgeon Inn & Suites`,`https://expedia.com/affiliate/T06n3oJ`,`South Coast`,`https://drive.google.com/uc?export=view&id=1PSeH0ghu10-P3AGwGqHIzo-d-OIIyb4X`),Z(`Economy Inn Reedsport`,`https://expedia.com/affiliate/86T7wG7`,`South Coast`,`https://drive.google.com/uc?export=view&id=1hn10WpkNDpoQCVfbvWnBMcBPbre9gvRG`),Z(`Anchor Bay Inn`,`https://expedia.com/affiliate/mg9V7Qk`,`South Coast`,`https://drive.google.com/uc?export=view&id=1BK4Cdwqvbk61T4zVd4hMndaeQJfz3GfD`),Z(`Best Budget Inn`,`https://expedia.com/affiliate/12zpSQt`,`South Coast`,`https://drive.google.com/uc?export=view&id=1SLg78_NcTQP6tsxy6Vz7VZYwbiyrN2JM`),Z(`Winchester Bay Inn`,`https://expedia.com/affiliate/5QIauAF`,`South Coast`,`https://drive.google.com/uc?export=view&id=1OUkKJX6OtTbN7yRaEX7Yr7wOAUwwzg2T`),Z(`Salbasgeon Suites`,`https://expedia.com/affiliates/reedsport-hotels-best-western-salbasgeon-inn-suites-of-reedsport.Xs4E55G`,`South Coast`,`https://drive.google.com/thumbnail?id=1rYJwavhQXaCn1W1o93xoJXOytOAw9JIr&sz=w1000`)],"North Bend":[Z(`Bay Bridge Motel`,`https://expedia.com/affiliate/53WLsiz`,`South Coast`,`https://drive.google.com/uc?export=view&id=11d6AXEbsSdM1al8UG22Gk9heWn6vpYVO`),Z(`City Center Motel`,`https://expedia.com/affiliate/pFvViER`,`South Coast`,`https://drive.google.com/uc?export=view&id=1mY8lJP2bwFGjkEeiN2qFF25pPjNhmQVm`),Z(`Quality Inn & Suites at Coos Bay`,`https://expedia.com/affiliates/north-bend-hotels-quality-inn-suites-at-coos-bay.ErpH1H7`,`South Coast`,`https://drive.google.com/thumbnail?id=13CX5aNmedlxyHdHk_-uDtFf6_5h4YXkz&sz=w1000`)],"Coos Bay":[Z(`Red Lion Hotel`,`https://expedia.com/affiliate/t4HhQus`,`South Coast`,`https://drive.google.com/uc?export=view&id=1pXNjHlzmssb_5PU_8ntIc73M3L5ayw_9`),Z(`Best Western Holiday Hotel`,`https://expedia.com/affiliate/QBNgGrC`,`South Coast`,`https://drive.google.com/uc?export=view&id=1O7msqXzjDCJq8GP5hgL9ETTCPzSjbEGn`),Z(`Edgewater Inn and Suites`,`https://expedia.com/affiliate/yIn1SFj`,`South Coast`,`https://drive.google.com/uc?export=view&id=1B20JUQLHWkv2XFDaz7eIxb9RVuD_9t3W`),Z(`Motel 6 Coos Bay`,`https://expedia.com/affiliate/jwdeQZX`,`South Coast`,`https://drive.google.com/uc?export=view&id=1YhPXwmjKijW91eCzs4f2GLAggBNMfY-s`),Z(`Global INN`,`https://expedia.com/affiliate/gCeHXdQ`,`South Coast`,`https://drive.google.com/uc?export=view&id=1yNoMsYfFI4nan4EiccsYzc0hjdIDOZfp`),Z(`Bay Point Landing`,`https://expedia.com/affiliates/oregon-coast-hotels-bay-point-landing.1bzDGYK`,`South Coast`,`https://drive.google.com/thumbnail?id=167O3bh9s8ZcO-dTAFt1ymov-IjL_JUaq&sz=w1000`)],Bandon:[Z(`Bandon Inn`,`https://expedia.com/affiliate/fYWsXu6`,`South Coast`,`https://drive.google.com/uc?export=view&id=1x7bGhNFC3ObVc8NCSBDeUW4s3EdEB03p`),Z(`The Inn at Old Town`,`https://expedia.com/affiliate/LWiynEX`,`South Coast`,`https://drive.google.com/uc?export=view&id=18chfohcez8deFM7Op3zDSEdaoAvagyTb`),Z(`Bandon Marina Inn`,`https://expedia.com/affiliate/dlhq2LJ`,`South Coast`,`https://drive.google.com/uc?export=view&id=1H1Co5fSnS6ez6hHwwVirXhjZ-4xWbSQF`),Z(`Sunset Oceanfront Lodging`,`https://expedia.com/affiliate/xvYwklk`,`South Coast`,`https://drive.google.com/uc?export=view&id=1_FdDD5HWCknzpAOciQAXfMeeBheuh9iY`),Z(`La Kris Inn`,`https://expedia.com/affiliate/D3oIMw4`,`South Coast`,`https://drive.google.com/uc?export=view&id=177KeiB22vx9LFKYk_60GV46kskjRS4JQ`),Z(`Best Western Inn At Face Rock`,`https://expedia.com/affiliate/Dexz7KN`,`South Coast`,`https://drive.google.com/uc?export=view&id=1_hZhQi6laTYGBAVW4u5grbinSzxI98Zi`)],"Port Orford":[Z(`The Shoreline Inn & Suites`,`https://expedia.com/affiliate/Db6lt3X`,`South Coast`,`https://drive.google.com/uc?export=view&id=1GDAsJfBP6cKXrRNzBaB1M5yKiwZhlw3P`),Z(`Wander Port Orford`,`https://expedia.com/affiliate/sjFTyJh`,`South Coast`,`https://drive.google.com/uc?export=view&id=1ihNKURxEHf5o0FVg7DKUhXU2As_zRTBR`),Z(`Shoreline Inn (Nearby)`,`#`,`South Coast`,`https://drive.google.com/thumbnail?id=1GDAsJfBP6cKXrRNzBaB1M5yKiwZhlw3P&sz=w1000`)],"Gold Beach":[Z(`Gold Beach Inn`,`https://expedia.com/affiliate/QNb00RP`,`South Coast`,`https://drive.google.com/uc?export=view&id=1_F7OwXO2COug73XjjjhfzYWBmGWIOePM`),Z(`SureStay Plus Hotel`,`https://expedia.com/affiliate/0cPwRok`,`South Coast`,`https://drive.google.com/uc?export=view&id=1ZbZTQfqRituRytcx1aGel5iQt0ett1tg`),Z(`Pacific Reef Hotel & Light Show`,`https://expedia.com/affiliate/mXanyT0`,`South Coast`,`https://drive.google.com/uc?export=view&id=12yFYLkJ1liEGHYEGHZrPfJTpxfkAaroR`),Z(`The Wildflower Inn`,`https://expedia.com/affiliate/jvGnE8h`,`South Coast`,`https://drive.google.com/uc?export=view&id=1HI3boJXFE_Qw8IMkrx5_9TlpnR6kLIH6`),Z(`Jot's Resort`,`https://expedia.com/affiliate/sGKGodR`,`South Coast`,`https://drive.google.com/uc?export=view&id=12Kc2ZwaIA_sNUtliwFMNO6Mj_LYXDpbG`),Z(`Tu Tu Tun Lodge`,`https://expedia.com/affiliate/4SPDbqz`,`South Coast`,`https://drive.google.com/uc?export=view&id=1hvfv_bq8hk2h3noENRkrZjZ8FhF9fxu7`)],Brookings:[Z(`Brookings Inn Resort`,`https://expedia.com/affiliate/SBe5yvh`,`South Coast`,`https://drive.google.com/uc?export=view&id=10X3lrLUX4ITsCEzR7dHCv3NZ5ZBivmYS`),Z(`Harbor Inn`,`https://expedia.com/affiliate/NoEyGVd`,`South Coast`,`https://drive.google.com/uc?export=view&id=1wLhbxw6xoaM1vRdOILeGeh1Zziqi3_u-`),Z(`Wild Rivers Motor Lodge`,`https://expedia.com/affiliate/9mJn4nr`,`South Coast`,`https://drive.google.com/uc?export=view&id=18FAB1-eWeEArfQd5Ikk5yY0DCfY3SQYR`),Z(`Pacific Sunset Inn`,`https://expedia.com/affiliate/7CRwd5I`,`South Coast`,`https://drive.google.com/uc?export=view&id=1BbkceQKL6KqYvzQMuuj01WWHx9BBhCWG`),Z(`AmeriCoast Inn`,`https://expedia.com/affiliate/Hn0ugAb`,`South Coast`,`https://drive.google.com/uc?export=view&id=1FkoF3ap2eSqeOFapzyycIGCVplJhDyvt`),Z(`Westward Inn`,`https://expedia.com/affiliate/gvhFkJN`,`South Coast`,`https://drive.google.com/uc?export=view&id=1GiEULewfMDEaOY4B7gwmVKaU4YTcrtZC`),Z(`Ocean Suites Motel`,`https://expedia.com/affiliate/uGryfYs`,`South Coast`,`https://drive.google.com/uc?export=view&id=1RzpHfVp4pos14L02Gn2eH2mYKfuVjhBI`),Z(`Blue Coast Inn and Suites`,`https://expedia.com/affiliate/sjA4btE`,`South Coast`,`https://drive.google.com/uc?export=view&id=1_J50OaWErf-TCq7dfgqO03dfiTFN9ETS`),Z(`Beachfront Inn`,`https://expedia.com/affiliate/uwE5zg8`,`South Coast`,`https://drive.google.com/uc?export=view&id=1gRfXWafjGCBK_pQRXyORmGnqZU6sLy61`)],Gardiner:[Z(`Economy Inn Reedsport`,`#`,`South Coast`,`https://drive.google.com/thumbnail?id=1hn10WpkNDpoQCVfbvWnBMcBPbre9gvRG&sz=w1000`),Z(`Anchor Bay Inn`,`#`,`South Coast`,`https://drive.google.com/thumbnail?id=1BK4Cdwqvbk61T4zVd4hMndaeQJfz3GfD&sz=w1000`),Z(`Best Budget Inn`,`#`,`South Coast`,`https://drive.google.com/thumbnail?id=1SLg78_NcTQP6tsxy6Vz7VZYwbiyrN2JM&sz=w1000`),Z(`Winchester Bay Inn`,`#`,`South Coast`,`https://drive.google.com/thumbnail?id=1OUkKJX6OtTbN7yRaEX7Yr7wOAUwwzg2T&sz=w1000`),Z(`Best Western Salbasgeon Inn & Suites Of Reedsport`,`#`,`South Coast`,`https://drive.google.com/thumbnail?id=1rYJwavhQXaCn1W1o93xoJXOytOAw9JIr&sz=w1000`)],"Winchester Bay":[],Lakeside:[Z(`Lakeshore Lodge`,`https://expedia.com/affiliates/lakeside-hotels-lakeshore-lodge.2NMEmYl`,`South Coast`,`https://drive.google.com/thumbnail?id=1HwXMuo9-Y6GN8ju5Rnu57Ioo94Ug9JJJ&sz=w1000`)],Charleston:[Z(`Captain John's Motel`,`https://expedia.com/affiliates/coos-bay-hotels-capt-johns-motel.nPFBYL0`,`South Coast`,`https://drive.google.com/thumbnail?id=1U78vPuO6BVJf8qeMaP0mWeob60Ns2x93&sz=w1000`),Z(`Plainview Motel`,`https://expedia.com/affiliates/coos-bay-hotels-plainview-motel-rv-park.HZmgIML`,`South Coast`,`https://drive.google.com/thumbnail?id=15V-eL-bwZgXmpiAw2-kphe-_jm7tJXTO&sz=w1000`),Z(`Bay Point Landing`,`https://expedia.com/affiliates/oregon-coast-hotels-bay-point-landing.1bzDGYK`,`South Coast`,`https://drive.google.com/thumbnail?id=167O3bh9s8ZcO-dTAFt1ymov-IjL_JUaq&sz=w1000`)],Langlois:[],Harbor:[]},MC=(e,t)=>{let n=0;for(let t=0;t<e.length;t++)n=e.charCodeAt(t)+((n<<5)-n);return{latOffset:Math.abs(Math.sin(n+t))*.02-.01,lngOffset:Math.abs(Math.cos(n+t))*.02-.01}},NC=e=>e?.toString().toLowerCase().replace(/\s+/g,`-`).replace(/[^\w-]/g,``)||``,PC=Object.entries(jC).flatMap(([e,t])=>{let n=Y[NC(e)]?.geo||{lat:45,lng:-124};return t.filter(e=>e.name!==`Coming Soon`).map((t,r)=>{let i=MC(t.name,r);return{id:`hotel-${NC(e)}-${NC(t.name)}`,hotelName:t.name,city:e,region:t.region,expediaLink:t.link,googleDrivePhotoPath:t.photoUrl,lat:n.lat+i.latOffset,lng:n.lng+i.lngOffset}})}),FC=[{id:1,name:`Surf 2 Soul`,town:`Astoria`,cuisine:`Cajun/Creole`,address:`395 11th St, Astoria, OR 97103`,lat:46.1882,lng:-123.8301},{id:2,name:`Saigon Street Eats`,town:`Astoria`,cuisine:`Vietnamese`,address:`385 11th St, Astoria, OR 97103`,lat:46.1884,lng:-123.8302},{id:3,name:`Taqueria Los Compas`,town:`Astoria`,cuisine:`Mexican`,address:`432 W Marine Dr, Astoria, OR 97103`,lat:46.1865,lng:-123.8456},{id:4,name:`Bucket Bites Pasties`,town:`Astoria`,cuisine:`British/Comfort`,address:`490 W Marine Dr, Astoria, OR 97103`,lat:46.1863,lng:-123.8471},{id:5,name:`Malia's Grill`,town:`Seaside`,cuisine:`Hawaiian`,address:`1120 Broadway St, Seaside, OR 97138`,lat:45.9928,lng:-123.9185},{id:6,name:`Country Squire Kitchen`,town:`Tillamook`,cuisine:`American/Gastropub`,address:`114 Ivy Ave, Tillamook, OR 97141`,lat:45.4565,lng:-123.8432},{id:7,name:`Nani Papa'a`,town:`Tillamook`,cuisine:`Hawaiian`,address:`1816 1st St, Tillamook, OR 97141`,lat:45.4561,lng:-123.8421},{id:8,name:`Recess`,town:`Tillamook`,cuisine:`Eclectic/Sandwiches`,address:`1910 N Main Ave, Tillamook, OR 97141`,lat:45.4682,lng:-123.8435},{id:9,name:`Blue's Beach Burgers`,town:`Lincoln City`,cuisine:`Burgers/Sandwiches`,address:`5040 SE Hwy 101, Lincoln City, OR 97367`,lat:44.9295,lng:-124.0152},{id:10,name:`Bobablastic`,town:`Lincoln City`,cuisine:`Bubble Tea`,address:`5040 SE Hwy 101, Lincoln City, OR 97367`,lat:44.9296,lng:-124.0153},{id:11,name:`Gyropoulos`,town:`Lincoln City`,cuisine:`Greek`,address:`5040 SE Hwy 101, Lincoln City, OR 97367`,lat:44.9294,lng:-124.0151},{id:12,name:`Sha Sha's Poke`,town:`Lincoln City`,cuisine:`Seafood/Poke`,address:`5040 SE Hwy 101, Lincoln City, OR 97367`,lat:44.9292,lng:-124.0155},{id:13,name:`Rook & Larder`,town:`Lincoln City`,cuisine:`Farm to Table`,address:`5040 SE Hwy 101, Lincoln City, OR 97367`,lat:44.9293,lng:-124.015},{id:14,name:`Taqueria 101`,town:`Lincoln City`,cuisine:`Mexican/Oaxacan`,address:`5040 SE Hwy 101, Lincoln City, OR 97367`,lat:44.9297,lng:-124.0154},{id:15,name:`Sushi 101`,town:`Lincoln City`,cuisine:`Sushi`,address:`5040 SE Hwy 101, Lincoln City, OR 97367`,lat:44.9291,lng:-124.0156},{id:16,name:`Smoked Out Sandwiches`,town:`Lincoln City`,cuisine:`Sandwiches/BBQ`,address:`5040 SE Hwy 101, Lincoln City, OR 97367`,lat:44.9298,lng:-124.0157},{id:17,name:`Momo On The Wheels`,town:`Lincoln City`,cuisine:`Nepalese`,address:`5040 SE Hwy 101, Lincoln City, OR 97367`,lat:44.929,lng:-124.0158},{id:18,name:`Cozy Kitchen 101`,town:`Lincoln City`,cuisine:`Thai`,address:`5040 SE Hwy 101, Lincoln City, OR 97367`,lat:44.9299,lng:-124.0159},{id:19,name:`Lei Aloha Hawaiian BBQ`,town:`Lincoln City`,cuisine:`Hawaiian`,address:`5040 SE Hwy 101, Lincoln City, OR 97367`,lat:44.9289,lng:-124.0149},{id:20,name:`Pat~E~Macs BBQ`,town:`Newport`,cuisine:`BBQ`,address:`2401 N Coast Hwy, Newport, OR 97365`,lat:44.6558,lng:-124.0512},{id:21,name:`The Big Cheese`,town:`Coos Bay`,cuisine:`Gourmet Grilled Cheese`,address:`775 N Front St, Coos Bay, OR 97420`,lat:43.3742,lng:-124.2125}],Une=y.useId||(()=>void 0),Wne=0;function IC(e){let[t,n]=y.useState(Une());return ti(()=>{e||n(e=>e??String(Wne++))},[e]),e||(t?`radix-${t}`:``)}var Gne=y.createContext(void 0);function LC(e){let t=y.useContext(Gne);return e||t||`ltr`}var RC=`rovingFocusGroup.onEntryFocus`,Kne={bubbles:!1,cancelable:!0},zC=`RovingFocusGroup`,[BC,VC,qne]=Fr(zC),[Jne,HC]=Dr(zC,[qne]),[Yne,Xne]=Jne(zC),UC=y.forwardRef((e,t)=>(0,B.jsx)(BC.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,B.jsx)(BC.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,B.jsx)(Zne,{...e,ref:t})})}));UC.displayName=zC;var Zne=y.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:l,preventScrollOnEntryFocus:u=!1,...d}=e,f=y.useRef(null),p=wr(t,f),m=LC(a),[h=null,g]=li({prop:o,defaultProp:s,onChange:c}),[_,v]=y.useState(!1),b=Rr(l),x=VC(n),S=y.useRef(!1),[C,w]=y.useState(0);return y.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(RC,b),()=>e.removeEventListener(RC,b)},[b]),(0,B.jsx)(Yne,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:y.useCallback(e=>g(e),[g]),onItemShiftTab:y.useCallback(()=>v(!0),[]),onFocusableItemAdd:y.useCallback(()=>w(e=>e+1),[]),onFocusableItemRemove:y.useCallback(()=>w(e=>e-1),[]),children:(0,B.jsx)(Ir.div,{tabIndex:_||C===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:xr(e.onMouseDown,()=>{S.current=!0}),onFocus:xr(e.onFocus,e=>{let t=!S.current;if(e.target===e.currentTarget&&t&&!_){let t=new CustomEvent(RC,Kne);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=x().filter(e=>e.focusable);KC([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}S.current=!1}),onBlur:xr(e.onBlur,()=>v(!1))})})}),WC=`RovingFocusGroupItem`,GC=y.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,...o}=e,s=IC(),c=a||s,l=Xne(WC,n),u=l.currentTabStopId===c,d=VC(n),{onFocusableItemAdd:f,onFocusableItemRemove:p}=l;return y.useEffect(()=>{if(r)return f(),()=>p()},[r,f,p]),(0,B.jsx)(BC.ItemSlot,{scope:n,id:c,focusable:r,active:i,children:(0,B.jsx)(Ir.span,{tabIndex:u?0:-1,"data-orientation":l.orientation,...o,ref:t,onMouseDown:xr(e.onMouseDown,e=>{r?l.onItemFocus(c):e.preventDefault()}),onFocus:xr(e.onFocus,()=>l.onItemFocus(c)),onKeyDown:xr(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){l.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=ere(e,l.orientation,l.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=d().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=l.loop?tre(n,r+1):n.slice(r+1)}setTimeout(()=>KC(n))}})})})});GC.displayName=WC;var Qne={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function $ne(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function ere(e,t,n){let r=$ne(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return Qne[r]}function KC(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function tre(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var nre=UC,rre=GC,qC=`Tabs`,[ire,are]=Dr(qC,[HC]),JC=HC(),[ore,YC]=ire(qC),XC=y.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:s,activationMode:c=`automatic`,...l}=e,u=LC(s),[d,f]=li({prop:r,onChange:i,defaultProp:a});return(0,B.jsx)(ore,{scope:n,baseId:IC(),value:d,onValueChange:f,orientation:o,dir:u,activationMode:c,children:(0,B.jsx)(Ir.div,{dir:u,"data-orientation":o,...l,ref:t})})});XC.displayName=qC;var ZC=`TabsList`,QC=y.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,a=YC(ZC,n),o=JC(n);return(0,B.jsx)(nre,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,B.jsx)(Ir.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})});QC.displayName=ZC;var $C=`TabsTrigger`,ew=y.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,o=YC($C,n),s=JC(n),c=rw(o.baseId,r),l=iw(o.baseId,r),u=r===o.value;return(0,B.jsx)(rre,{asChild:!0,...s,focusable:!i,active:u,children:(0,B.jsx)(Ir.button,{type:`button`,role:`tab`,"aria-selected":u,"aria-controls":l,"data-state":u?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:c,...a,ref:t,onMouseDown:xr(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?o.onValueChange(r):e.preventDefault()}),onKeyDown:xr(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&o.onValueChange(r)}),onFocus:xr(e.onFocus,()=>{let e=o.activationMode!==`manual`;!u&&!i&&e&&o.onValueChange(r)})})})});ew.displayName=$C;var tw=`TabsContent`,nw=y.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:a,...o}=e,s=YC(tw,n),c=rw(s.baseId,r),l=iw(s.baseId,r),u=r===s.value,d=y.useRef(u);return y.useEffect(()=>{let e=requestAnimationFrame(()=>d.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,B.jsx)(ai,{present:i||u,children:({present:n})=>(0,B.jsx)(Ir.div,{"data-state":u?`active`:`inactive`,"data-orientation":s.orientation,role:`tabpanel`,"aria-labelledby":c,hidden:!n,id:l,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:d.current?`0s`:void 0},children:n&&a})})});nw.displayName=tw;function rw(e,t){return`${e}-trigger-${t}`}function iw(e,t){return`${e}-content-${t}`}var sre=XC,aw=QC,ow=ew,sw=nw,cre=sre,cw=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(aw,{ref:n,className:z(`inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground`,e),...t}));cw.displayName=aw.displayName;var lw=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(ow,{ref:n,className:z(`inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow`,e),...t}));lw.displayName=ow.displayName;var uw=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(sw,{ref:n,className:z(`mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,e),...t}));uw.displayName=sw.displayName;var dw=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(`div`,{ref:n,className:z(`rounded-xl border bg-card text-card-foreground shadow`,e),...t}));dw.displayName=`Card`;var fw=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(`div`,{ref:n,className:z(`flex flex-col space-y-1.5 p-6`,e),...t}));fw.displayName=`CardHeader`;var pw=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(`div`,{ref:n,className:z(`font-semibold leading-none tracking-tight`,e),...t}));pw.displayName=`CardTitle`;var lre=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(`div`,{ref:n,className:z(`text-sm text-muted-foreground`,e),...t}));lre.displayName=`CardDescription`;var mw=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(`div`,{ref:n,className:z(`p-6 pt-0`,e),...t}));mw.displayName=`CardContent`;var ure=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(`div`,{ref:n,className:z(`flex items-center p-6 pt-0`,e),...t}));ure.displayName=`CardFooter`,delete uC.default.Icon.Default.prototype._getIconUrl,uC.default.Icon.Default.mergeOptions({iconRetinaUrl:`https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/images/marker-icon-2x.png`,iconUrl:`https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/images/marker-icon.png`,shadowUrl:`https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/images/marker-shadow.png`});var dre=uC.default.divIcon({html:`<div class="flex items-center justify-center w-9 h-9 rounded-full bg-purple-600 shadow-lg border-2 border-white ring-2 ring-black/10 transition-transform hover:scale-110"><svg class="w-4 h-4 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"></path></svg></div>`,className:`custom-leaflet-icon`,iconSize:[36,36],iconAnchor:[18,18],popupAnchor:[0,-18]}),fre=uC.default.divIcon({html:`<div class="flex items-center justify-center w-9 h-9 rounded-full bg-orange-600 shadow-lg border-2 border-white ring-2 ring-black/10 transition-transform hover:scale-110"><svg class="w-4 h-4 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6"></path><path d="M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1v12z"></path></svg></div>`,className:`custom-leaflet-icon`,iconSize:[36,36],iconAnchor:[18,18],popupAnchor:[0,-18]}),hw=({markers:e})=>{let t=lC();return(0,y.useEffect)(()=>{if(e&&e.length>0){let n=uC.default.latLngBounds(e.map(e=>[e.lat,e.lng]));t.fitBounds(n,{padding:[50,50],maxZoom:14}),setTimeout(()=>t.invalidateSize(),100)}},[e,t]),null};function gw(){let[e,t]=(0,y.useState)(!1);(0,y.useEffect)(()=>t(!0),[]);let n=(0,y.useMemo)(()=>{let e={};return FC.forEach(t=>{e[t.town]||(e[t.town]=[]),e[t.town].push(t)}),e},[]);return(0,B.jsxs)(`div`,{className:`min-h-screen bg-gray-50 flex flex-col`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:`Oregon Coast Maps | Hotels & Food Trucks`}),(0,B.jsx)(`meta`,{name:`description`,content:`Interactive maps of the Oregon Coast. Find hotels and food trucks, and explore accommodations and dining options.`})]}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`main`,{className:`flex-grow flex flex-col pb-12`,children:[(0,B.jsx)(`div`,{className:`bg-white px-4 py-8 sm:px-6 lg:px-8 border-b shadow-sm z-10 relative`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto text-center`,children:[(0,B.jsx)(`h1`,{className:`text-3xl sm:text-4xl font-extrabold text-gray-900 tracking-tight`,children:`Oregon Coast Interactive Maps`}),(0,B.jsx)(`p`,{className:`mt-4 text-gray-600 max-w-2xl text-lg mx-auto`,children:`Explore our curated selection of coastal accommodations and mobile dining. Toggle between Hotels and Food Trucks to find exactly what you need.`})]})}),(0,B.jsx)(`div`,{className:`flex-grow p-4 md:p-6 lg:p-8 max-w-[1400px] mx-auto w-full mt-4`,children:(0,B.jsxs)(cre,{defaultValue:`hotels`,className:`w-full`,children:[(0,B.jsx)(`div`,{className:`flex justify-center mb-6`,children:(0,B.jsxs)(cw,{className:`bg-white border shadow-sm h-12`,children:[(0,B.jsxs)(lw,{value:`hotels`,className:`data-[state=active]:bg-purple-100 data-[state=active]:text-purple-800 text-base px-6`,children:[(0,B.jsx)(Sa,{className:`w-4 h-4 mr-2`}),` Hotels Map`]}),(0,B.jsxs)(lw,{value:`food-trucks`,className:`data-[state=active]:bg-orange-100 data-[state=active]:text-orange-800 text-base px-6`,children:[(0,B.jsx)(ts,{className:`w-4 h-4 mr-2`}),` Food Trucks Map`]})]})}),(0,B.jsx)(uw,{value:`hotels`,className:`m-0 border-none outline-none focus:ring-0`,children:(0,B.jsx)(`div`,{className:`w-full h-[65vh] min-h-[500px] rounded-2xl shadow-md overflow-hidden border border-gray-200 relative bg-gray-100`,children:e?(0,B.jsxs)(pC,{center:[44.6,-124],zoom:7,className:`w-full h-full z-10`,scrollWheelZoom:!0,children:[(0,B.jsx)(gC,{attribution:`© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>`,url:`https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`}),(0,B.jsx)(hw,{markers:PC}),(0,B.jsx)(kC.default,{chunkedLoading:!0,maxClusterRadius:40,children:PC.map(e=>(0,B.jsx)(mC,{position:[e.lat,e.lng],icon:dre,children:(0,B.jsx)(AC,{hotel:e})},e.id))})]}):(0,B.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center bg-gray-50 z-20`,children:(0,B.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,B.jsx)(`div`,{className:`w-10 h-10 border-4 border-purple-200 border-t-purple-600 rounded-full animate-spin mb-4`}),(0,B.jsx)(`p`,{className:`text-gray-500 font-medium`,children:`Loading map data...`})]})})})}),(0,B.jsx)(uw,{value:`food-trucks`,className:`m-0 border-none outline-none focus:ring-0`,children:(0,B.jsxs)(`div`,{className:`flex flex-col lg:flex-row gap-6 h-auto lg:h-[65vh] min-h-[500px]`,children:[(0,B.jsxs)(`div`,{className:`w-full lg:w-1/3 flex flex-col h-full bg-white rounded-2xl shadow-md border border-gray-200 overflow-hidden`,children:[(0,B.jsx)(`div`,{className:`p-4 bg-orange-50 border-b border-orange-100`,children:(0,B.jsxs)(`h2`,{className:`text-xl font-bold text-orange-900 flex items-center`,children:[(0,B.jsx)(ts,{className:`w-5 h-5 mr-2`}),` Food Trucks Directory`]})}),(0,B.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4 custom-scrollbar`,children:Object.keys(n).map(e=>(0,B.jsxs)(`div`,{className:`mb-6 last:mb-0`,children:[(0,B.jsx)(`h3`,{className:`text-lg font-bold text-gray-800 mb-3 pb-1 border-b-2 border-gray-100`,children:e}),(0,B.jsx)(`div`,{className:`space-y-3`,children:n[e].map(e=>(0,B.jsx)(dw,{className:`border border-gray-100 hover:border-orange-200 hover:shadow-md transition-all`,children:(0,B.jsxs)(mw,{className:`p-3`,children:[(0,B.jsx)(`h4`,{className:`font-bold text-gray-900`,children:e.name}),(0,B.jsx)(`p`,{className:`text-sm font-medium text-orange-600 mb-1`,children:e.cuisine}),(0,B.jsxs)(`p`,{className:`text-xs text-gray-500 flex items-start`,children:[(0,B.jsx)(H,{className:`w-3.5 h-3.5 mr-1 flex-shrink-0 mt-0.5`}),e.address]})]})},e.id))})]},e))})]}),(0,B.jsx)(`div`,{className:`w-full lg:w-2/3 h-[50vh] lg:h-full rounded-2xl shadow-md overflow-hidden border border-gray-200 relative bg-gray-100`,children:e?(0,B.jsxs)(pC,{center:[44.6,-124],zoom:7,className:`w-full h-full z-10`,scrollWheelZoom:!0,children:[(0,B.jsx)(gC,{attribution:`© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>`,url:`https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`}),(0,B.jsx)(hw,{markers:FC}),(0,B.jsx)(kC.default,{chunkedLoading:!0,maxClusterRadius:40,children:FC.map(e=>(0,B.jsx)(mC,{position:[e.lat,e.lng],icon:fre,children:(0,B.jsx)(hC,{className:`rounded-xl overflow-hidden shadow-lg border-0`,children:(0,B.jsxs)(`div`,{className:`p-1 min-w-[200px]`,children:[(0,B.jsx)(`h3`,{className:`font-bold text-lg text-gray-900 mb-1 leading-tight`,children:e.name}),(0,B.jsx)(`div`,{className:`inline-block px-2 py-0.5 bg-orange-100 text-orange-700 text-xs font-semibold rounded mb-2`,children:e.cuisine}),(0,B.jsxs)(`div`,{className:`text-sm text-gray-600 flex items-start mt-1`,children:[(0,B.jsx)(H,{className:`w-4 h-4 mr-1.5 flex-shrink-0 mt-0.5 text-gray-400`}),(0,B.jsx)(`span`,{children:e.address})]})]})})},e.id))})]}):(0,B.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center bg-gray-50 z-20`,children:(0,B.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,B.jsx)(`div`,{className:`w-10 h-10 border-4 border-orange-200 border-t-orange-600 rounded-full animate-spin mb-4`}),(0,B.jsx)(`p`,{className:`text-gray-500 font-medium`,children:`Loading map data...`})]})})})]})})]})})]}),(0,B.jsx)(Ux,{})]})}var _w=y.forwardRef(({className:e,type:t,...n},r)=>(0,B.jsx)(`input`,{type:t,className:z(`flex h-10 w-full rounded-none shadow-editorial bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,e),ref:r,...n}));_w.displayName=`Input`;var pre=`Label`,vw=y.forwardRef((e,t)=>(0,B.jsx)(Ir.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));vw.displayName=pre;var yw=vw,mre=ua(`text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70`),bw=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(yw,{ref:n,className:z(mre(),e),...t}));bw.displayName=yw.displayName;var xw=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(`textarea`,{className:z(`flex min-h-[80px] w-full rounded-none shadow-editorial bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,e),ref:n,...t}));xw.displayName=`Textarea`;var hre=ua(`inline-flex items-center justify-center rounded-none shadow-editorial text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:-translate-y-0.5`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,outline:`bg-background hover:bg-accent hover:text-accent-foreground`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground shadow-none`,link:`text-primary underline-offset-4 hover:underline shadow-none hover:-translate-y-0`},size:{default:`h-10 px-4 py-2`,sm:`h-9 px-3`,lg:`h-11 px-8`,icon:`h-10 w-10`}},defaultVariants:{variant:`default`,size:`default`}}),Sw=y.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...i},a)=>(0,B.jsx)(r?kr:`button`,{className:z(hre({variant:t,size:n,className:e})),ref:a,...i}));Sw.displayName=`Button`;var gre=Object.defineProperty,_re=(e,t)=>gre(e,`name`,{value:t,configurable:!0});function Cw(e,[t,n]){return Math.min(n,Math.max(t,e))}_re(Cw,`clamp`);var vre=Object.defineProperty,ww=(e,t)=>vre(e,`name`,{value:t,configurable:!0}),Tw=!!(typeof window<`u`&&window.document&&window.document.createElement);function Ew(e,t,{checkForDefaultPrevented:n=!0}={}){return ww(function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)},`handleEvent`)}ww(Ew,`composeEventHandlers`);function yre(e){if(!Tw)throw Error(`Cannot access window outside of the DOM`);return e?.ownerDocument?.defaultView??window}ww(yre,`getOwnerWindow`);function Dw(e){if(!Tw)throw Error(`Cannot access document outside of the DOM`);return e?.ownerDocument??document}ww(Dw,`getOwnerDocument`);function Ow(e,t=!1){let{activeElement:n}=Dw(e);if(!n?.nodeName)return null;if(kw(n)&&n.contentDocument)return Ow(n.contentDocument.body,t);if(t){let e=n.getAttribute(`aria-activedescendant`);if(e){let t=Dw(n).getElementById(e);if(t)return t}}return n}ww(Ow,`getActiveElement`);function kw(e){return e.tagName===`IFRAME`}ww(kw,`isFrame`);var bre=Object.defineProperty,Aw=(e,t)=>bre(e,`name`,{value:t,configurable:!0});function xre(e,t){let n=y.createContext(t);n.displayName=e+`Context`;let r=Aw(e=>{let{children:t,...r}=e,i=y.useMemo(()=>r,Object.values(r));return(0,B.jsx)(n.Provider,{value:i,children:t})},`Provider`);r.displayName=e+`Provider`;function i(r,i={}){let{optional:a=!1}=i,o=y.useContext(n);if(o)return o;if(t!==void 0)return t;if(!a)throw Error(`\`${r}\` must be used within \`${e}\``)}return Aw(i,`useContext`),[r,i]}Aw(xre,`createContext`);function jw(e,t=[]){let n=[];function r(t,r){let i=y.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=Aw(t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=y.useMemo(()=>o,Object.values(o));return(0,B.jsx)(s.Provider,{value:c,children:r})},`Provider`);o.displayName=t+`Provider`;function s(n,o,s={}){let{optional:c=!1}=s,l=o?.[e]?.[a]||i,u=y.useContext(l);if(u)return u;if(r!==void 0)return r;if(!c)throw Error(`\`${n}\` must be used within \`${t}\``)}return Aw(s,`useContext`),[o,s]}Aw(r,`createContext`);let i=Aw(()=>{let t=n.map(e=>y.createContext(e));return Aw(function(n){let r=n?.[e]||t;return y.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])},`useScope`)},`createScope`);return i.scopeName=e,[r,Mw(i,...t)]}Aw(jw,`createContextScope`);function Mw(...e){let t=e[0];if(e.length===1)return t;let n=Aw(()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return Aw(function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return y.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])},`useComposedScopes`)},`createScope`);return n.scopeName=t.scopeName,n}Aw(Mw,`composeContextScopes`);var Sre=Object.defineProperty,Nw=(e,t)=>Sre(e,`name`,{value:t,configurable:!0});function Pw(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}Nw(Pw,`setRef`);function Fw(...e){return t=>{let n=!1,r=e.map(e=>{let r=Pw(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():Pw(e[t],null)}}}}Nw(Fw,`composeRefs`);function Iw(...e){return y.useCallback(Fw(...e),e)}Nw(Iw,`useComposedRefs`);var Cre=Object.defineProperty,Lw=(e,t)=>Cre(e,`name`,{value:t,configurable:!0});function Rw(e){let t=y.forwardRef((t,n)=>{let{children:r,...i}=t,a=null,o=!1,s=[];Uw(r)&&typeof Gw==`function`&&(r=Gw(r._payload)),y.Children.forEach(r,e=>{if(Hw(e)){o=!0;let t=e,n=`child`in t.props?t.props.child:t.props.children;Uw(n)&&typeof Gw==`function`&&(n=Gw(n._payload)),a=Tre(t,n),s.push(a?.props?.children)}else s.push(e)}),a?a=y.cloneElement(a,void 0,s):!o&&y.Children.count(r)===1&&y.isValidElement(r)&&(a=r);let c=a?Vw(a):void 0,l=Iw(n,c);if(!a){if(r||r===0)throw Error(o?Ore(e):Dre(e));return r}let u=Bw(i,a.props??{});return a.type!==y.Fragment&&(u.ref=n?l:c),y.cloneElement(a,u)});return t.displayName=`${e}.Slot`,t}Lw(Rw,`createSlot`);var zw=Symbol.for(`radix.slottable`);function wre(e){let t=Lw(e=>`child`in e?e.children(e.child):e.children,`Slottable`);return t.displayName=`${e}.Slottable`,t.__radixId=zw,t}Lw(wre,`createSlottable`);var Tre=Lw((e,t)=>{if(`child`in e.props){let t=e.props.child;return y.isValidElement(t)?y.cloneElement(t,void 0,e.props.children(t.props.children)):null}return y.isValidElement(t)?t:null},`getSlottableElementFromSlottable`);function Bw(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}Lw(Bw,`mergeProps`);function Vw(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}Lw(Vw,`getElementRef`);function Hw(e){return y.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===zw}Lw(Hw,`isSlottable`);var Ere=Symbol.for(`react.lazy`);function Uw(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===Ere&&`_payload`in e&&Ww(e._payload)}Lw(Uw,`isLazyComponent`);function Ww(e){return typeof e==`object`&&!!e&&`then`in e}Lw(Ww,`isPromiseLike`);var Dre=Lw(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,`createSlotError`),Ore=Lw(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,`createSlottableError`),Gw=y.use,kre=Object.defineProperty,Kw=(e,t)=>kre(e,`name`,{value:t,configurable:!0});function qw(e){let t=e+`CollectionProvider`,[n,r]=jw(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=Kw(e=>{let{scope:t,children:n}=e,r=y.useRef(null),a=y.useRef(new Map).current;return(0,B.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})},`CollectionProvider`);o.displayName=t;let s=e+`CollectionSlot`,c=Rw(s),l=y.forwardRef((e,t)=>{let{scope:n,children:r}=e,i=Iw(t,a(s,n).collectionRef);return(0,B.jsx)(c,{ref:i,children:r})});l.displayName=s;let u=e+`CollectionItemSlot`,d=`data-radix-collection-item`,f=Rw(u),p=y.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=y.useRef(null),s=Iw(t,o),c=a(u,n);return y.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,B.jsx)(f,{[d]:``,ref:s,children:r})});p.displayName=u;function m(t){let n=a(e+`CollectionConsumer`,t);return y.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${d}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return Kw(m,`useCollection`),[{Provider:o,Slot:l,ItemSlot:p},m,r]}Kw(qw,`createCollection`);var Jw=new WeakMap,Yw=class e extends Map{static{Kw(this,`OrderedDict`)}#e;constructor(e){super(e),this.#e=[...super.keys()],Jw.set(this,!0)}set(e,t){return Jw.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,n){let r=this.has(t),i=this.#e.length,a=Qw(e),o=a>=0?a:i+a,s=o<0||o>=i?-1:o;if(s===this.size||r&&s===this.size-1||s===-1)return this.set(t,n),this;let c=this.size+ +!r;a<0&&o++;let l=[...this.#e],u,d=!1;for(let e=o;e<c;e++)if(o===e){let i=l[e];l[e]===t&&(i=l[e+1]),r&&this.delete(t),u=this.get(i),this.set(t,n)}else{!d&&l[e-1]===t&&(d=!0);let n=l[d?e:e-1],r=u;u=this.get(n),this.delete(n),this.set(n,r)}return this}with(t,n,r){let i=new e(this);return i.insert(t,n,r),i}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,n){let r=this.#e.indexOf(e);return r===-1?this:this.insert(r,t,n)}after(e){let t=this.#e.indexOf(e);if(t=t===-1||t===this.size-1?-1:t+1,t!==-1)return this.entryAt(t)}setAfter(e,t,n){let r=this.#e.indexOf(e);return r===-1?this:this.insert(r+1,t,n)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return t!==void 0&&this.delete(t)}at(e){let t=Xw(this.#e,e);if(t!==void 0)return this.get(t)}entryAt(e){let t=Xw(this.#e,e);if(t!==void 0)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return Xw(this.#e,e)}from(e,t){let n=this.indexOf(e);if(n===-1)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.at(r)}keyFrom(e,t){let n=this.indexOf(e);if(n===-1)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.keyAt(r)}find(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return r;n++}}findIndex(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return n;n++}return-1}filter(t,n){let r=[],i=0;for(let e of this)Reflect.apply(t,n,[e,i,this])&&r.push(e),i++;return new e(r)}map(t,n){let r=[],i=0;for(let e of this)r.push([e[0],Reflect.apply(t,n,[e,i,this])]),i++;return new e(r)}reduce(...e){let[t,n]=e,r=0,i=n??this.at(0);for(let n of this)i=r===0&&e.length===1?n:Reflect.apply(t,this,[i,n,r,this]),r++;return i}reduceRight(...e){let[t,n]=e,r=n??this.at(-1);for(let n=this.size-1;n>=0;n--){let i=this.at(n);r=n===this.size-1&&e.length===1?i:Reflect.apply(t,this,[r,i,n,this])}return r}toSorted(t){let n=[...this.entries()].sort(t);return new e(n)}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let n=this.keyAt(e),r=this.get(n);t.set(n,r)}return t}toSpliced(...t){let n=[...this.entries()];return n.splice(...t),new e(n)}slice(t,n){let r=new e,i=this.size-1;if(t===void 0)return r;t<0&&(t+=this.size),n!==void 0&&n>0&&(i=n-1);for(let e=t;e<=i;e++){let t=this.keyAt(e),n=this.get(t);r.set(t,n)}return r}every(e,t){let n=0;for(let r of this){if(!Reflect.apply(e,t,[r,n,this]))return!1;n++}return!0}some(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return!0;n++}return!1}};function Xw(e,t){if(`at`in Array.prototype)return Array.prototype.at.call(e,t);let n=Zw(e,t);return n===-1?void 0:e[n]}Kw(Xw,`at`);function Zw(e,t){let n=e.length,r=Qw(t),i=r>=0?r:n+r;return i<0||i>=n?-1:i}Kw(Zw,`toSafeIndex`);function Qw(e){return e!==e||e===0?0:Math.trunc(e)}Kw(Qw,`toSafeInteger`);function Are(e){let t=e+`CollectionProvider`,[n,r]=jw(t),[i,a]=n(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new Yw,setItemMap:Kw(()=>void 0,`setItemMap`)}),o=Kw(({state:e,...t})=>e?(0,B.jsx)(c,{...t,state:e}):(0,B.jsx)(s,{...t}),`CollectionProvider`);o.displayName=t;let s=Kw(e=>{let t=h();return(0,B.jsx)(c,{...e,state:t})},`CollectionInit`);s.displayName=t+`Init`;let c=Kw(e=>{let{scope:t,children:n,state:r}=e,a=y.useRef(null),[o,s]=y.useState(null),c=Iw(a,s),[l,u]=r;return y.useEffect(()=>{if(!o)return;let e=nT(()=>{});return e.observe(o,{childList:!0,subtree:!0}),()=>{e.disconnect()}},[o]),(0,B.jsx)(i,{scope:t,itemMap:l,setItemMap:u,collectionRef:c,collectionRefObject:a,collectionElement:o,children:n})},`CollectionProviderImpl`);c.displayName=t+`Impl`;let l=e+`CollectionSlot`,u=Rw(l),d=y.forwardRef((e,t)=>{let{scope:n,children:r}=e,i=Iw(t,a(l,n).collectionRef);return(0,B.jsx)(u,{ref:i,children:r})});d.displayName=l;let f=e+`CollectionItemSlot`,p=Rw(f),m=y.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=y.useRef(null),[s,c]=y.useState(null),l=Iw(t,o,c),{setItemMap:u}=a(f,n),d=y.useRef(i);$w(d.current,i)||(d.current=i);let m=d.current;return y.useEffect(()=>{let e=m;return u(t=>s?t.has(s)?t.set(s,{...e,element:s}).toSorted(tT):(t.set(s,{...e,element:s}),t.toSorted(tT)):t),()=>{u(e=>!s||!e.has(s)?e:(e.delete(s),new Yw(e)))}},[s,m,u]),(0,B.jsx)(p,{"data-radix-collection-item":``,ref:l,children:r})});m.displayName=f;function h(){return y.useState(new Yw)}Kw(h,`useInitCollection`);function g(t){let{itemMap:n}=a(e+`CollectionConsumer`,t);return n}return Kw(g,`useCollection`),[{Provider:o,Slot:d,ItemSlot:m},{createCollectionScope:r,useCollection:g,useInitCollection:h}]}Kw(Are,`createCollection`);function $w(e,t){if(e===t)return!0;if(typeof e!=`object`||typeof t!=`object`||e==null||t==null)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||e[r]!==t[r])return!1;return!0}Kw($w,`shallowEqual`);function eT(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}Kw(eT,`isElementPreceding`);function tT(e,t){return!e[1].element||!t[1].element?0:eT(e[1].element,t[1].element)?-1:1}Kw(tT,`sortByDocumentPosition`);function nT(e){return new MutationObserver(t=>{for(let n of t)if(n.type===`childList`){e();return}})}Kw(nT,`getChildListObserver`);var jre=Object.defineProperty,Mre=(e,t)=>jre(e,`name`,{value:t,configurable:!0}),Nre=y.createContext(void 0);function rT(e){let t=y.useContext(Nre);return e||t||`ltr`}Mre(rT,`useDirection`);var Pre=Object.defineProperty,Fre=(e,t)=>Pre(e,`name`,{value:t,configurable:!0}),iT=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=Rw(`Primitive.${t}`),r=y.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,B.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function aT(e,t){e&&br.flushSync(()=>e.dispatchEvent(t))}Fre(aT,`dispatchDiscreteCustomEvent`);var Ire=Object.defineProperty,Lre=(e,t)=>Ire(e,`name`,{value:t,configurable:!0});function oT(e){let t=y.useRef(e);return y.useEffect(()=>{t.current=e}),y.useMemo(()=>((...e)=>t.current?.(...e)),[])}Lre(oT,`useCallbackRef`);var Rre=Object.defineProperty,sT=(e,t)=>Rre(e,`name`,{value:t,configurable:!0}),cT=`dismissableLayer.update`,zre=`dismissableLayer.pointerDownOutside`,Bre=`dismissableLayer.focusOutside`,lT,uT=y.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),Vre=y.forwardRef(sT(function(e,t){let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:s,onDismiss:c,...l}=e,u=y.useContext(uT),[d,f]=y.useState(null),p=d?.ownerDocument??globalThis?.document,[,m]=y.useState({}),h=Iw(t,f),g=Array.from(u.layers),[_]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),v=_?g.indexOf(_):-1,b=d?g.indexOf(d):-1,x=u.layersWithOutsidePointerEventsDisabled.size>0,S=b>=v,C=y.useRef(!1),w=dT(e=>{a?.(e),s?.(e),e.defaultPrevented||c?.()},{ownerDocument:p,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:C,dismissableSurfaces:u.dismissableSurfaces,shouldHandlePointerDownOutside:y.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...u.branches].some(t=>t.contains(e));return S&&!t},[u.branches,S])}),T=fT(e=>{if(r&&C.current)return;let t=e.target;[...u.branches].some(e=>e.contains(t))||(o?.(e),s?.(e),e.defaultPrevented||c?.())},p),E=d?b===g.length-1:!1,D=oT(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))});return y.useEffect(()=>{if(E)return p.addEventListener(`keydown`,D,{capture:!0}),()=>p.removeEventListener(`keydown`,D,{capture:!0})},[p,E,D]),y.useEffect(()=>{if(d)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(lT=p.body.style.pointerEvents,p.body.style.pointerEvents=`none`),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),pT(),()=>{n&&(u.layersWithOutsidePointerEventsDisabled.delete(d),u.layersWithOutsidePointerEventsDisabled.size===0&&(p.body.style.pointerEvents=lT))}},[d,p,n,u]),y.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),pT())},[d,u]),y.useEffect(()=>{let e=sT(()=>m({}),`handleUpdate`);return document.addEventListener(cT,e),()=>document.removeEventListener(cT,e)},[]),(0,B.jsx)(iT.div,{...l,ref:h,style:{pointerEvents:x?S?`auto`:`none`:void 0,...e.style},onFocusCapture:Ew(e.onFocusCapture,T.onFocusCapture),onBlurCapture:Ew(e.onBlurCapture,T.onBlurCapture),onPointerDownCapture:Ew(e.onPointerDownCapture,w.onPointerDownCapture)})},`DismissableLayer`));function Hre(){let e=y.useContext(uT),[t,n]=y.useState(null);return y.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}sT(Hre,`useDismissableLayerSurface`);var Ure=sT(()=>!0,`IS_TRUE`);function dT(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:o=Ure}=t,s=oT(e),c=y.useRef(!1),l=y.useRef(!1),u=y.useRef(new Map),d=y.useRef(()=>{});return y.useEffect(()=>{function e(){l.current=!1,i.current=!1,u.current.clear()}sT(e,`resetOutsideInteraction`);function t(){return Array.from(u.current.values()).some(Boolean)}sT(t,`isOutsideInteractionIntercepted`);function f(e){if(!l.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||u.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{l.current&&d.current()},0)}sT(f,`handleInteractionCapture`);function p(e){l.current&&u.current.set(e.type,!1)}sT(p,`handleInteractionBubble`);let m=sT(a=>{if(a.target&&!c.current){let f=function(){n.removeEventListener(`click`,d.current);let r=t();e(),r||mT(zre,s,p,{discrete:!0})};if(sT(f,`handleAndDispatchPointerDownOutsideEvent`),!o(a.target)){n.removeEventListener(`click`,d.current),e(),c.current=!1;return}let p={originalEvent:a};l.current=!0,i.current=r&&a.button===0,u.current.clear(),!r||a.button!==0?f():(n.removeEventListener(`click`,d.current),d.current=f,n.addEventListener(`click`,d.current,{once:!0}))}else n.removeEventListener(`click`,d.current),e();c.current=!1},`handlePointerDown`),h=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of h)n.addEventListener(e,f,!0),n.addEventListener(e,p);let g=window.setTimeout(()=>{n.addEventListener(`pointerdown`,m)},0);return()=>{window.clearTimeout(g),n.removeEventListener(`pointerdown`,m),n.removeEventListener(`click`,d.current);for(let e of h)n.removeEventListener(e,f,!0),n.removeEventListener(e,p)}},[n,s,r,i,a,o]),{onPointerDownCapture:sT(()=>c.current=!0,`onPointerDownCapture`)}}sT(dT,`usePointerDownOutside`);function fT(e,t=globalThis?.document){let n=oT(e),r=y.useRef(!1);return y.useEffect(()=>{let e=sT(e=>{e.target&&!r.current&&mT(Bre,n,{originalEvent:e},{discrete:!1})},`handleFocus`);return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:sT(()=>r.current=!0,`onFocusCapture`),onBlurCapture:sT(()=>r.current=!1,`onBlurCapture`)}}sT(fT,`useFocusOutside`);function pT(){let e=new CustomEvent(cT);document.dispatchEvent(e)}sT(pT,`dispatchUpdate`);function mT(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?aT(i,a):i.dispatchEvent(a)}sT(mT,`handleAndDispatchCustomEvent`);var Wre=Object.defineProperty,hT=(e,t)=>Wre(e,`name`,{value:t,configurable:!0}),gT=0,_T=null;function Gre(e){return vT(),e.children}hT(Gre,`FocusGuards`);function vT(){y.useEffect(()=>{_T||={start:yT(),end:yT()};let{start:e,end:t}=_T;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),gT++,()=>{gT===1&&(_T?.start.remove(),_T?.end.remove(),_T=null),gT=Math.max(0,gT-1)}},[])}hT(vT,`useFocusGuards`);function yT(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}hT(yT,`createFocusGuard`);var Kre=Object.defineProperty,bT=(e,t)=>Kre(e,`name`,{value:t,configurable:!0}),xT=`focusScope.autoFocusOnMount`,ST=`focusScope.autoFocusOnUnmount`,CT={bubbles:!1,cancelable:!0},qre=y.forwardRef(bT(function(e,t){let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=y.useState(null),l=oT(i),u=oT(a),d=y.useRef(null),f=Iw(t,c),p=y.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;y.useEffect(()=>{if(r){let e=function(e){if(p.paused||!s)return;let t=e.target;s.contains(t)?d.current=t:AT(d.current,{select:!0})},t=function(e){if(p.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||AT(d.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&AT(s)};bT(e,`handleFocusIn`),bT(t,`handleFocusOut`),bT(n,`handleMutations`),document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,p.paused]),y.useEffect(()=>{if(s){jT.add(p);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(xT,CT);s.addEventListener(xT,l),s.dispatchEvent(t),t.defaultPrevented||(wT(PT(ET(s)),{select:!0}),document.activeElement===e&&AT(s))}return()=>{s.removeEventListener(xT,l),setTimeout(()=>{let t=new CustomEvent(ST,CT);s.addEventListener(ST,u),s.dispatchEvent(t),t.defaultPrevented||AT(e??document.body,{select:!0}),s.removeEventListener(ST,u),jT.remove(p)},0)}}},[s,l,u,p]);let m=y.useCallback(e=>{if(!n&&!r||p.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=TT(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&AT(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&AT(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,p.paused]);return(0,B.jsx)(iT.div,{tabIndex:-1,...o,ref:f,onKeyDown:m})},`FocusScope`));function wT(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(AT(r,{select:t}),document.activeElement!==n)return}bT(wT,`focusFirst`);function TT(e){let t=ET(e);return[DT(t,e),DT(t.reverse(),e)]}bT(TT,`getTabbableEdges`);function ET(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:bT(e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},`acceptNode`)});for(;n.nextNode();)t.push(n.currentNode);return t}bT(ET,`getTabbableCandidates`);function DT(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):OT(r,{upTo:t})))return r}bT(DT,`findVisible`);function OT(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}bT(OT,`isHidden`);function kT(e){return e instanceof HTMLInputElement&&`select`in e}bT(kT,`isSelectableInput`);function AT(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&kT(e)&&t&&e.select()}}bT(AT,`focus`);var jT=MT();function MT(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=NT(e,t),e.unshift(t)},remove(t){e=NT(e,t),e[0]?.resume()}}}bT(MT,`createFocusScopesStack`);function NT(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}bT(NT,`arrayRemove`);function PT(e){return e.filter(e=>e.tagName!==`A`)}bT(PT,`removeLinks`);var FT=globalThis?.document?y.useLayoutEffect:()=>{},Jre=Object.defineProperty,Yre=(e,t)=>Jre(e,`name`,{value:t,configurable:!0}),Xre=y.useId||(()=>void 0),Zre=0;function IT(e){let[t,n]=y.useState(Xre());return FT(()=>{e||n(e=>e??String(Zre++))},[e]),e||(t?`radix-${t}`:``)}Yre(IT,`useId`);var Qre=[`top`,`right`,`bottom`,`left`],LT=Math.min,RT=Math.max,zT=Math.round,BT=Math.floor,VT=e=>({x:e,y:e}),$re={left:`right`,right:`left`,bottom:`top`,top:`bottom`},eie={start:`end`,end:`start`};function HT(e,t,n){return RT(e,LT(t,n))}function UT(e,t){return typeof e==`function`?e(t):e}function WT(e){return e.split(`-`)[0]}function GT(e){return e.split(`-`)[1]}function KT(e){return e===`x`?`y`:`x`}function qT(e){return e===`y`?`height`:`width`}function JT(e){return[`top`,`bottom`].includes(WT(e))?`y`:`x`}function YT(e){return KT(JT(e))}function tie(e,t,n){n===void 0&&(n=!1);let r=GT(e),i=YT(e),a=qT(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=ZT(o)),[o,ZT(o)]}function nie(e){let t=ZT(e);return[XT(e),t,XT(t)]}function XT(e){return e.replace(/start|end/g,e=>eie[e])}function rie(e,t,n){let r=[`left`,`right`],i=[`right`,`left`],a=[`top`,`bottom`],o=[`bottom`,`top`];switch(e){case`top`:case`bottom`:return n?t?i:r:t?r:i;case`left`:case`right`:return t?a:o;default:return[]}}function iie(e,t,n,r){let i=GT(e),a=rie(WT(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(XT)))),a}function ZT(e){return e.replace(/left|right|bottom|top/g,e=>$re[e])}function aie(e){return{top:0,right:0,bottom:0,left:0,...e}}function QT(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:aie(e)}function $T(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function eE(e,t,n){let{reference:r,floating:i}=e,a=JT(t),o=YT(t),s=qT(o),c=WT(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(GT(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1)}return p}var oie=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=a.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=eE(l,r,c),f=r,p={},m=0;for(let n=0;n<s.length;n++){let{name:a,fn:h}=s[n],{x:g,y:_,data:v,reset:y}=await h({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:p,rects:l,platform:o,elements:{reference:e,floating:t}});u=g??u,d=_??d,p={...p,[a]:{...p[a],...v}},y&&m<=50&&(m++,typeof y==`object`&&(y.placement&&(f=y.placement),y.rects&&(l=y.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):y.rects),{x:u,y:d}=eE(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:p}};async function tE(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=UT(t,e),p=QT(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=$T(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=$T(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var sie=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=UT(e,t)||{};if(l==null)return{};let d=QT(u),f={x:n,y:r},p=YT(i),m=qT(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;C&&await(o.isElement==null?void 0:o.isElement(S))||(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=LT(d[_],T),D=LT(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,ee=HT(O,A,k),j=!c.arrow&&GT(i)!=null&&A!==ee&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,M=j?A<O?A-O:A-k:0;return{[p]:f[p]+M,data:{[p]:ee,centerOffset:A-ee-M,...j&&{alignmentOffset:M}},reset:j}}}),cie=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=UT(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=WT(r),_=JT(o),v=WT(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[ZT(o)]:nie(o)),x=p!==`none`;!d&&x&&b.push(...iie(o,m,p,y));let S=[o,...b],C=await tE(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=tie(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t)return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=JT(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}};function nE(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function rE(e){return Qre.some(t=>e[t]>=0)}var lie=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n}=t,{strategy:r=`referenceHidden`,...i}=UT(e,t);switch(r){case`referenceHidden`:{let e=nE(await tE(t,{...i,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:rE(e)}}}case`escaped`:{let e=nE(await tE(t,{...i,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:rE(e)}}}default:return{}}}}};async function uie(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=WT(n),s=GT(n),c=JT(n)===`y`,l=[`left`,`top`].includes(o)?-1:1,u=a&&c?-1:1,d=UT(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var die=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await uie(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},fie=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i}=t,{mainAxis:a=!0,crossAxis:o=!1,limiter:s={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...c}=UT(e,t),l={x:n,y:r},u=await tE(t,c),d=JT(WT(i)),f=KT(d),p=l[f],m=l[d];if(a){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=p+u[e],r=p-u[t];p=HT(n,p,r)}if(o){let e=d===`y`?`top`:`left`,t=d===`y`?`bottom`:`right`,n=m+u[e],r=m-u[t];m=HT(n,m,r)}let h=s.fn({...t,[f]:p,[d]:m});return{...h,data:{x:h.x-n,y:h.y-r,enabled:{[f]:a,[d]:o}}}}}},pie=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=UT(e,t),u={x:n,y:r},d=JT(i),f=KT(d),p=u[f],m=u[d],h=UT(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=[`top`,`left`].includes(WT(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},mie=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=UT(e,t),u=await tE(t,l),d=WT(i),f=GT(i),p=JT(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=LT(h-u[g],v),x=LT(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=RT(u.left,0),t=RT(u.right,0),n=RT(u.top,0),r=RT(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:RT(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:RT(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function iE(){return typeof window<`u`}function aE(e){return cE(e)?(e.nodeName||``).toLowerCase():`#document`}function oE(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function sE(e){return((cE(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function cE(e){return iE()?e instanceof Node||e instanceof oE(e).Node:!1}function lE(e){return iE()?e instanceof Element||e instanceof oE(e).Element:!1}function uE(e){return iE()?e instanceof HTMLElement||e instanceof oE(e).HTMLElement:!1}function dE(e){return!iE()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof oE(e).ShadowRoot}function fE(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=_E(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&![`inline`,`contents`].includes(i)}function hie(e){return[`table`,`td`,`th`].includes(aE(e))}function pE(e){return[`:popover-open`,`:modal`].some(t=>{try{return e.matches(t)}catch{return!1}})}function mE(e){let t=hE(),n=lE(e)?_E(e):e;return n.transform!==`none`||n.perspective!==`none`||(n.containerType?n.containerType!==`normal`:!1)||!t&&(n.backdropFilter?n.backdropFilter!==`none`:!1)||!t&&(n.filter?n.filter!==`none`:!1)||[`transform`,`perspective`,`filter`].some(e=>(n.willChange||``).includes(e))||[`paint`,`layout`,`strict`,`content`].some(e=>(n.contain||``).includes(e))}function gie(e){let t=yE(e);for(;uE(t)&&!gE(t);){if(mE(t))return t;if(pE(t))return null;t=yE(t)}return null}function hE(){return typeof CSS>`u`||!CSS.supports?!1:CSS.supports(`-webkit-backdrop-filter`,`none`)}function gE(e){return[`html`,`body`,`#document`].includes(aE(e))}function _E(e){return oE(e).getComputedStyle(e)}function vE(e){return lE(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function yE(e){if(aE(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||dE(e)&&e.host||sE(e);return dE(t)?t.host:t}function bE(e){let t=yE(e);return gE(t)?e.ownerDocument?e.ownerDocument.body:e.body:uE(t)&&fE(t)?t:bE(t)}function xE(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=bE(e),i=r===e.ownerDocument?.body,a=oE(r);if(i){let e=SE(a);return t.concat(a,a.visualViewport||[],fE(r)?r:[],e&&n?xE(e):[])}return t.concat(r,xE(r,[],n))}function SE(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function CE(e){let t=_E(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=uE(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=zT(n)!==a||zT(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function wE(e){return lE(e)?e:e.contextElement}function TE(e){let t=wE(e);if(!uE(t))return VT(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=CE(t),o=(a?zT(n.width):n.width)/r,s=(a?zT(n.height):n.height)/i;return o&&Number.isFinite(o)||(o=1),s&&Number.isFinite(s)||(s=1),{x:o,y:s}}var EE=VT(0);function DE(e){let t=oE(e);return!hE()||!t.visualViewport?EE:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function OE(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==oE(e)?!1:t}function kE(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=wE(e),o=VT(1);t&&(r?lE(r)&&(o=TE(r)):o=TE(e));let s=OE(a,n,r)?DE(a):VT(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=oE(a),t=r&&lE(r)?oE(r):r,n=e,i=SE(n);for(;i&&r&&t!==n;){let e=TE(i),t=i.getBoundingClientRect(),r=_E(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=oE(i),i=SE(n)}}return $T({width:u,height:d,x:c,y:l})}function AE(e,t){let n=vE(e).scrollLeft;return t?t.left+n:kE(sE(e)).left+n}function jE(e,t,n){n===void 0&&(n=!1);let r=e.getBoundingClientRect();return{x:r.left+t.scrollLeft-(n?0:AE(e,r)),y:r.top+t.scrollTop}}function ME(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=sE(r),s=t?pE(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=VT(1),u=VT(0),d=uE(r);if((d||!d&&!a)&&((aE(r)!==`body`||fE(o))&&(c=vE(r)),uE(r))){let e=kE(r);l=TE(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?jE(o,c,!0):VT(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function NE(e){return Array.from(e.getClientRects())}function PE(e){let t=sE(e),n=vE(e),r=e.ownerDocument.body,i=RT(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=RT(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+AE(e),s=-n.scrollTop;return _E(r).direction===`rtl`&&(o+=RT(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}function FE(e,t){let n=oE(e),r=sE(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=hE();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}return{width:a,height:o,x:s,y:c}}function IE(e,t){let n=kE(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=uE(e)?TE(e):VT(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function LE(e,t,n){let r;if(t===`viewport`)r=FE(e,n);else if(t===`document`)r=PE(sE(e));else if(lE(t))r=IE(t,n);else{let n=DE(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return $T(r)}function RE(e,t){let n=yE(e);return n===t||!lE(n)||gE(n)?!1:_E(n).position===`fixed`||RE(n,t)}function zE(e,t){let n=t.get(e);if(n)return n;let r=xE(e,[],!1).filter(e=>lE(e)&&aE(e)!==`body`),i=null,a=_E(e).position===`fixed`,o=a?yE(e):e;for(;lE(o)&&!gE(o);){let t=_E(o),n=mE(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&[`absolute`,`fixed`].includes(i.position)||fE(o)&&!n&&RE(e,o))?r=r.filter(e=>e!==o):i=t,o=yE(o)}return t.set(e,r),r}function BE(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?pE(t)?[]:zE(t,this._c):[].concat(n),r],o=a[0],s=a.reduce((e,n)=>{let r=LE(t,n,i);return e.top=RT(r.top,e.top),e.right=LT(r.right,e.right),e.bottom=LT(r.bottom,e.bottom),e.left=RT(r.left,e.left),e},LE(t,o,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}}function VE(e){let{width:t,height:n}=CE(e);return{width:t,height:n}}function HE(e,t,n){let r=uE(t),i=sE(t),a=n===`fixed`,o=kE(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=VT(0);if(r||!r&&!a){if((aE(t)!==`body`||fE(i))&&(s=vE(t)),r){let e=kE(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&(c.x=AE(i))}let l=i&&!r&&!a?jE(i,s):VT(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function UE(e){return _E(e).position===`static`}function WE(e,t){if(!uE(e)||_E(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return sE(e)===n&&(n=n.ownerDocument.body),n}function GE(e,t){let n=oE(e);if(pE(e))return n;if(!uE(e)){let t=yE(e);for(;t&&!gE(t);){if(lE(t)&&!UE(t))return t;t=yE(t)}return n}let r=WE(e,t);for(;r&&hie(r)&&UE(r);)r=WE(r,t);return r&&gE(r)&&UE(r)&&!mE(r)?n:r||gie(e)||n}var KE=async function(e){let t=this.getOffsetParent||GE,n=this.getDimensions,r=await n(e.floating);return{reference:HE(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function qE(e){return _E(e).direction===`rtl`}var JE={convertOffsetParentRelativeRectToViewportRelativeRect:ME,getDocumentElement:sE,getClippingRect:BE,getOffsetParent:GE,getElementRects:KE,getClientRects:NE,getDimensions:VE,getScale:TE,isElement:lE,isRTL:qE};function YE(e,t){let n=null,r,i=sE(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let{left:l,top:u,width:d,height:f}=e.getBoundingClientRect();if(s||t(),!d||!f)return;let p=BT(u),m=BT(i.clientWidth-(l+d)),h=BT(i.clientHeight-(u+f)),g=BT(l),_={rootMargin:-p+`px `+-m+`px `+-h+`px `+-g+`px`,threshold:RT(0,LT(1,c))||1},v=!0;function y(e){let t=e[0].intersectionRatio;if(t!==c){if(!v)return o();t?o(!1,t):r=setTimeout(()=>{o(!1,1e-7)},1e3)}v=!1}try{n=new IntersectionObserver(y,{..._,root:i.ownerDocument})}catch{n=new IntersectionObserver(y,_)}n.observe(e)}return o(!0),a}function XE(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=wE(e),u=i||a?[...l?xE(l):[],...xE(t)]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?YE(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),p.observe(t));let m,h=c?kE(e):null;c&&g();function g(){let t=kE(e);h&&(t.x!==h.x||t.y!==h.y||t.width!==h.width||t.height!==h.height)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var ZE=die,QE=fie,$E=cie,eD=mie,tD=lie,nD=sie,rD=pie,iD=(e,t,n)=>{let r=new Map,i={platform:JE,...n},a={...i.platform,_c:r};return oie(e,t,{...i,platform:a})},aD=typeof document<`u`?y.useLayoutEffect:y.useEffect;function oD(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!oD(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!oD(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function sD(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function cD(e,t){let n=sD(e);return Math.round(t*n)/n}function lD(e){let t=y.useRef(e);return aD(()=>{t.current=e}),t}function uD(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=y.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=y.useState(r);oD(f,r)||p(r);let[m,h]=y.useState(null),[g,_]=y.useState(null),v=y.useCallback(e=>{e!==C.current&&(C.current=e,h(e))},[]),b=y.useCallback(e=>{e!==w.current&&(w.current=e,_(e))},[]),x=a||m,S=o||g,C=y.useRef(null),w=y.useRef(null),T=y.useRef(u),E=c!=null,D=lD(c),O=lD(i),k=lD(l),A=y.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:f};O.current&&(e.platform=O.current),iD(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};ee.current&&!oD(T.current,t)&&(T.current=t,br.flushSync(()=>{d(t)}))})},[f,t,n,O,k]);aD(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let ee=y.useRef(!1);aD(()=>(ee.current=!0,()=>{ee.current=!1}),[]),aD(()=>{if(x&&(C.current=x),S&&(w.current=S),x&&S){if(D.current)return D.current(x,S,A);A()}},[x,S,A,D,E]);let j=y.useMemo(()=>({reference:C,floating:w,setReference:v,setFloating:b}),[v,b]),M=y.useMemo(()=>({reference:x,floating:S}),[x,S]),N=y.useMemo(()=>{let e={position:n,left:0,top:0};if(!M.floating)return e;let t=cD(M.floating,u.x),r=cD(M.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...sD(M.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,M.floating,u.x,u.y]);return y.useMemo(()=>({...u,update:A,refs:j,elements:M,floatingStyles:N}),[u,A,j,M,N])}var dD=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:nD({element:r.current,padding:i}).fn(n):r?nD({element:r,padding:i}).fn(n):{}}}},fD=(e,t)=>({...ZE(e),options:[e,t]}),pD=(e,t)=>({...QE(e),options:[e,t]}),mD=(e,t)=>({...rD(e),options:[e,t]}),hD=(e,t)=>({...$E(e),options:[e,t]}),gD=(e,t)=>({...eD(e),options:[e,t]}),_D=(e,t)=>({...tD(e),options:[e,t]}),vD=(e,t)=>({...dD(e),options:[e,t]}),yD=Object.defineProperty,bD=(e,t)=>yD(e,`name`,{value:t,configurable:!0});function xD(e){let[t,n]=y.useState(void 0);return FT(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}n(void 0)},[e]),t}bD(xD,`useSize`);var SD=Object.defineProperty,CD=(e,t)=>SD(e,`name`,{value:t,configurable:!0}),wD=`Popper`,[TD,ED]=jw(wD),[DD,OD]=TD(wD),kD=CD(e=>{let{__scopePopper:t,children:n}=e,[r,i]=y.useState(null),[a,o]=y.useState(void 0);return(0,B.jsx)(DD,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})},`Popper`),AD=`PopperAnchor`,jD=y.forwardRef(CD(function(e,t){let{__scopePopper:n,virtualRef:r,...i}=e,a=OD(AD,n),o=y.useRef(null),s=a.onAnchorChange,c=Iw(t,y.useCallback(e=>{o.current=e,e&&s(e)},[s])),l=y.useRef(null);y.useEffect(()=>{if(!r)return;let e=l.current;l.current=r.current,e!==l.current&&s(l.current)});let u=a.placementState&&LD(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,B.jsx)(iT.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})},`PopperAnchor`)),MD=`PopperContent`,[ND,_ie]=TD(MD),PD=y.forwardRef(CD(function(e,t){let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:f=!1,updatePositionStrategy:p=`optimized`,onPlaced:m,...h}=e,g=OD(MD,n),[_,v]=y.useState(null),b=Iw(t,v),[x,S]=y.useState(null),C=xD(x),w=C?.width??0,T=C?.height??0,E=r+(a===`center`?``:`-`+a),D=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},O=Array.isArray(l)?l:[l],k=O.length>0,A={padding:D,boundary:O.filter(FD),altBoundary:k},{refs:ee,floatingStyles:j,placement:M,isPositioned:N,middlewareData:P}=uD({strategy:`fixed`,placement:E,whileElementsMounted:CD((...e)=>XE(...e,{animationFrame:p===`always`}),`whileElementsMounted`),elements:{reference:g.anchor},middleware:[fD({mainAxis:i+T,alignmentAxis:o}),c&&pD({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?mD():void 0,...A}),c&&hD({...A}),gD({...A,apply:CD(({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)},`apply`)}),x&&vD({element:x,padding:s}),ID({arrowWidth:w,arrowHeight:T}),f&&_D({strategy:`referenceHidden`,...A,boundary:k?A.boundary:void 0})]}),te=g.setPlacementState;FT(()=>(te(M),()=>{te(void 0)}),[M,te]);let[ne,re]=LD(M),F=oT(m);FT(()=>{N&&F?.()},[N,F]);let ie=P.arrow?.x,ae=P.arrow?.y,oe=P.arrow?.centerOffset!==0,[se,ce]=y.useState();return FT(()=>{_&&ce(window.getComputedStyle(_).zIndex)},[_]),(0,B.jsx)(`div`,{ref:ee.setFloating,"data-radix-popper-content-wrapper":``,style:{...j,transform:N?j.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:se,"--radix-popper-transform-origin":[P.transformOrigin?.x,P.transformOrigin?.y].join(` `),...P.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,B.jsx)(ND,{scope:n,placedSide:ne,placedAlign:re,onArrowChange:S,arrowX:ie,arrowY:ae,shouldHideArrow:oe,children:(0,B.jsx)(iT.div,{"data-side":ne,"data-align":re,...h,ref:b,style:{...h.style,animation:N?h.style?.animation:`none`}})})})},`PopperContent`));function FD(e){return e!==null}CD(FD,`isNotNull`);var ID=CD(e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=LD(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}}),`transformOrigin`);function LD(e){let[t,n=`center`]=e.split(`-`);return[t,n]}CD(LD,`getSideAndAlignFromPlacement`);var RD=kD,zD=jD,BD=PD,VD=Object.defineProperty,HD=y.forwardRef(((e,t)=>VD(e,`name`,{value:t,configurable:!0}))(function(e,t){let{container:n,...r}=e,[i,a]=y.useState(!1);FT(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?br.createPortal((0,B.jsx)(iT.div,{...r,ref:t}),o):null},`Portal`)),UD=Object.defineProperty,WD=(e,t)=>UD(e,`name`,{value:t,configurable:!0});function GD(e,t){return y.useReducer((e,n)=>t[e][n]??e,e)}WD(GD,`useStateMachine`);var KD=WD(e=>{let{present:t,children:n}=e,r=qD(t),i=typeof n==`function`?n({present:r.isPresent}):y.Children.only(n),a=YD(r.ref,ZD(i));return typeof n==`function`||r.isPresent?y.cloneElement(i,{ref:a}):null},`Presence`);function qD(e){let[t,n]=y.useState(),r=y.useRef(null),i=y.useRef(e),a=y.useRef(`none`),o=y.useRef(void 0),[s,c]=GD(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return y.useEffect(()=>{s===`mounted`?(a.current=o.current??XD(r.current),o.current=void 0):a.current=`none`},[s]),FT(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,s=XD(t);e?(o.current=s,c(`MOUNT`)):s===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==s?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,c]),FT(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=WD(a=>{let o=XD(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(c(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},`handleAnimationEnd`),s=WD(e=>{e.target===t&&(a.current=XD(r.current))},`handleAnimationStart`);return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:y.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,o.current=XD(t)}else r.current=null;n(e)},[])}}WD(qD,`usePresence`);function JD(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}WD(JD,`setRef`);function YD(...e){let t=y.useRef(e);return t.current=e,y.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=JD(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():JD(n[e],null)}}},[])}WD(YD,`useStableComposedRefs`);function XD(e){return e?.animationName||`none`}WD(XD,`getAnimationName`);function ZD(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}WD(ZD,`getElementRef`);var QD=globalThis?.document?y.useLayoutEffect:()=>{},$D=Object.defineProperty,eO=(e,t)=>$D(e,`name`,{value:t,configurable:!0}),tO=y.useEffectEvent,nO=y.useInsertionEffect;function rO(e){if(typeof tO==`function`)return tO(e);let t=y.useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return typeof nO==`function`?nO(()=>{t.current=e}):QD(()=>{t.current=e}),y.useMemo(()=>((...e)=>t.current?.(...e)),[])}eO(rO,`useEffectEvent`);var iO=Object.defineProperty,aO=(e,t)=>iO(e,`name`,{value:t,configurable:!0}),oO=y.useInsertionEffect||FT;function sO({prop:e,defaultProp:t,onChange:n=aO(()=>{},`onChange`),caller:r}){let[i,a,o]=cO({defaultProp:t,onChange:n}),s=e!==void 0;return[s?e:i,y.useCallback(t=>{if(s){let n=lO(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}aO(sO,`useControllableState`);function cO({defaultProp:e,onChange:t}){let[n,r]=y.useState(e),i=y.useRef(n),a=y.useRef(t);return oO(()=>{a.current=t},[t]),y.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}aO(cO,`useUncontrolledState`);function lO(e){return typeof e==`function`}aO(lO,`isFunction`);var uO=Symbol(`RADIX:SYNC_STATE`);function dO(e,t,n,r){let{prop:i,defaultProp:a,onChange:o,caller:s}=t,c=i!==void 0,l=rO(o),u=[{...n,state:a}];r&&u.push(r);let[d,f]=y.useReducer((t,n)=>{if(n.type===uO)return{...t,state:n.state};let r=e(t,n);return c&&!Object.is(r.state,t.state)&&l(r.state),r},...u),p=d.state,m=y.useRef(p);y.useEffect(()=>{m.current!==p&&(m.current=p,c||l(p))},[p,m,c]);let h=y.useMemo(()=>i===void 0?d:{...d,state:i},[d,i]);return y.useEffect(()=>{c&&!Object.is(i,d.state)&&f({type:uO,state:i})},[i,d.state,c]),[h,f]}aO(dO,`useControllableStateReducer`);var fO=Object.defineProperty,pO=(e,t)=>fO(e,`name`,{value:t,configurable:!0});function mO(e){let t=y.useRef({value:e,previous:e});return y.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}pO(mO,`usePrevious`);var hO=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),gO=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},_O=new WeakMap,vO=new WeakMap,yO={},bO=0,xO=function(e){return e&&(e.host||xO(e.parentNode))},SO=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=xO(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},CO=function(e,t,n,r){var i=SO(t,Array.isArray(e)?e:[e]);yO[n]||(yO[n]=new WeakMap);var a=yO[n],o=[],s=new Set,c=new Set(i),l=function(e){e&&!s.has(e)&&(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){e&&!c.has(e)&&Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(_O.get(e)||0)+1,l=(a.get(e)||0)+1;_O.set(e,c),a.set(e,l),o.push(e),c===1&&i&&vO.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),bO++,function(){o.forEach(function(e){var t=_O.get(e)-1,i=a.get(e)-1;_O.set(e,t),a.set(e,i),t||(vO.has(e)||e.removeAttribute(r),vO.delete(e)),i||e.removeAttribute(n)}),bO--,bO||(_O=new WeakMap,_O=new WeakMap,vO=new WeakMap,yO={})}},wO=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||gO(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live]`))),CO(r,i,n,`aria-hidden`)):function(){return null}},TO=`right-scroll-bar-position`,EO=`width-before-scroll-bar`,DO=`with-scroll-bars-hidden`,OO=`--removed-body-scroll-bar-size`;function kO(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function AO(e,t){var n=(0,y.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var jO=typeof window<`u`?y.useLayoutEffect:y.useEffect,MO=new WeakMap;function NO(e,t){var n=AO(t||null,function(t){return e.forEach(function(e){return kO(e,t)})});return jO(function(){var t=MO.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||kO(e,null)}),i.forEach(function(e){r.has(e)||kO(e,a)})}MO.set(n,e)},[e]),n}function PO(e){return e}function FO(e,t){t===void 0&&(t=PO);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function IO(e){e===void 0&&(e={});var t=FO(null);return t.options=Ts({async:!0,ssr:!1},e),t}var LO=function(e){var t=e.sideCar,n=Es(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return y.createElement(r,Ts({},n))};LO.isSideCarExport=!0;function RO(e,t){return e.useMedium(t),LO}var zO=IO(),BO=function(){},VO=y.forwardRef(function(e,t){var n=y.useRef(null),r=y.useState({onScrollCapture:BO,onWheelCapture:BO,onTouchMoveCapture:BO}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,l=e.removeScrollBar,u=e.enabled,d=e.shards,f=e.sideCar,p=e.noRelative,m=e.noIsolation,h=e.inert,g=e.allowPinchZoom,_=e.as,v=_===void 0?`div`:_,b=e.gapMode,x=Es(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),S=f,C=NO([n,t]),w=Ts(Ts({},x),i);return y.createElement(y.Fragment,null,u&&y.createElement(S,{sideCar:zO,removeScrollBar:l,shards:d,noRelative:p,noIsolation:m,inert:h,setCallbacks:a,allowPinchZoom:!!g,lockRef:n,gapMode:b}),o?y.cloneElement(y.Children.only(s),Ts(Ts({},w),{ref:C})):y.createElement(v,Ts({},w,{className:c,ref:C}),s))});VO.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},VO.classNames={fullWidth:EO,zeroRight:TO};var HO=function(){if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function UO(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=HO();return t&&e.setAttribute(`nonce`,t),e}function WO(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function GO(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var KO=function(){var e=0,t=null;return{add:function(n){e==0&&(t=UO())&&(WO(t,n),GO(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},qO=function(){var e=KO();return function(t,n){y.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},JO=function(){var e=qO();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},YO={left:0,top:0,right:0,gap:0},XO=function(e){return parseInt(e||``,10)||0},ZO=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[XO(n),XO(r),XO(i)]},QO=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return YO;var t=ZO(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},$O=JO(),ek=`data-scroll-locked`,tk=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
  .${DO} {
   overflow: hidden ${r};
   padding-right: ${s}px ${r};
  }
  body[${ek}] {
    overflow: hidden ${r};
    overscroll-behavior: contain;
    ${[t&&`position: relative ${r};`,n===`margin`&&`
    padding-left: ${i}px;
    padding-top: ${a}px;
    padding-right: ${o}px;
    margin-left:0;
    margin-top:0;
    margin-right: ${s}px ${r};
    `,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
  }
  
  .${TO} {
    right: ${s}px ${r};
  }
  
  .${EO} {
    margin-right: ${s}px ${r};
  }
  
  .${TO} .${TO} {
    right: 0 ${r};
  }
  
  .${EO} .${EO} {
    margin-right: 0 ${r};
  }
  
  body[${ek}] {
    ${OO}: ${s}px;
  }
`},nk=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},rk=function(){y.useEffect(function(){return document.body.setAttribute(ek,(nk()+1).toString()),function(){var e=nk()-1;e<=0?document.body.removeAttribute(ek):document.body.setAttribute(ek,e.toString())}},[])},ik=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;rk();var a=y.useMemo(function(){return QO(i)},[i]);return y.createElement($O,{styles:tk(a,!t,i,n?``:`!important`)})},ak=!1;if(typeof window<`u`)try{var ok=Object.defineProperty({},"passive",{get:function(){return ak=!0,!0}});window.addEventListener(`test`,ok,ok),window.removeEventListener(`test`,ok,ok)}catch{ak=!1}var sk=ak?{passive:!1}:!1,ck=function(e){return e.tagName===`TEXTAREA`},lk=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!ck(e)&&n[t]===`visible`)},uk=function(e){return lk(e,`overflowY`)},dk=function(e){return lk(e,`overflowX`)},fk=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),hk(e,r)){var i=gk(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},pk=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},mk=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},hk=function(e,t){return e===`v`?uk(t):dk(t)},gk=function(e,t){return e===`v`?pk(t):mk(t)},_k=function(e,t){return e===`h`&&t===`rtl`?-1:1},vk=function(e,t,n,r,i){var a=_k(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=gk(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&hk(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},yk=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},bk=function(e){return[e.deltaX,e.deltaY]},xk=function(e){return e&&`current`in e?e.current:e},Sk=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Ck=function(e){return`
  .block-interactivity-${e} {pointer-events: none;}
  .allow-interactivity-${e} {pointer-events: all;}
`},wk=0,Tk=[];function Ek(e){var t=y.useRef([]),n=y.useRef([0,0]),r=y.useRef(),i=y.useState(wk++)[0],a=y.useState(JO)[0],o=y.useRef(e);y.useEffect(function(){o.current=e},[e]),y.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=Os([e.lockRef.current],(e.shards||[]).map(xk),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=y.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=yk(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=fk(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=fk(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return vk(h,t,e,h===`h`?s:c,!0)},[]),c=y.useCallback(function(e){var n=e;if(Tk.length&&Tk[Tk.length-1]===a){var r=`deltaY`in n?bk(n):yk(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&Sk(e.delta,r)})[0];if(i&&i.should)n.cancelable&&n.preventDefault();else if(!i){var c=(o.current.shards||[]).map(xk).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=y.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:Dk(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=y.useCallback(function(e){n.current=yk(e),r.current=void 0},[]),d=y.useCallback(function(t){l(t.type,bk(t),t.target,s(t,e.lockRef.current))},[]),f=y.useCallback(function(t){l(t.type,yk(t),t.target,s(t,e.lockRef.current))},[]);y.useEffect(function(){return Tk.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,sk),document.addEventListener(`touchmove`,c,sk),document.addEventListener(`touchstart`,u,sk),function(){Tk=Tk.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,sk),document.removeEventListener(`touchmove`,c,sk),document.removeEventListener(`touchstart`,u,sk)}},[]);var p=e.removeScrollBar,m=e.inert;return y.createElement(y.Fragment,null,m?y.createElement(a,{styles:Ck(i)}):null,p?y.createElement(ik,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Dk(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var Ok=RO(zO,Ek),kk=y.forwardRef(function(e,t){return y.createElement(VO,Ts({},e,{ref:t,sideCar:Ok}))});kk.classNames=VO.classNames;var Ak=Object.defineProperty,jk=(e,t)=>Ak(e,`name`,{value:t,configurable:!0}),Mk=[` `,`Enter`,`ArrowUp`,`ArrowDown`],Nk=[` `,`Enter`],Pk=`Select`,[Fk,Ik,Lk]=qw(Pk),[Rk,vie]=jw(Pk,[Lk,ED]),zk=ED(),[Bk,Vk]=Rk(Pk),[Hk,Uk]=Rk(Pk);function Wk(e){let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:l,name:u,autoComplete:d,disabled:f,required:p,form:m,internal_do_not_use_render:h}=e,g=zk(t),[_,v]=y.useState(null),[b,x]=y.useState(null),[S,C]=y.useState(!1),w=rT(l),[T,E]=sO({prop:r,defaultProp:i??!1,onChange:a,caller:Pk}),[D,O]=sO({prop:o,defaultProp:s,onChange:c,caller:Pk}),k=y.useRef(null),A=y.useRef(D);y.useEffect(()=>{let e=m?_?.ownerDocument.getElementById(m):_?.form;if(e instanceof HTMLFormElement){let t=jk(()=>O(A.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[m,_,O]);let ee=!_||!!m||!!_.closest(`form`),[j,M]=y.useState(new Set),N=IT(),P=Array.from(j).map(e=>e.props.value).join(`;`),te=y.useCallback(e=>{M(t=>new Set(t).add(e))},[]),ne=y.useCallback(e=>{M(t=>{let n=new Set(t);return n.delete(e),n})},[]),re={required:p,trigger:_,onTriggerChange:v,valueNode:b,onValueNodeChange:x,valueNodeHasChildren:S,onValueNodeHasChildrenChange:C,contentId:N,value:D,onValueChange:O,open:T,onOpenChange:E,dir:w,triggerPointerDownPosRef:k,disabled:f,name:u,autoComplete:d,form:m,nativeOptions:j,nativeSelectKey:P,isFormControl:ee};return(0,B.jsx)(RD,{...g,children:(0,B.jsx)(Bk,{scope:t,...re,children:(0,B.jsx)(Fk.Provider,{scope:t,children:(0,B.jsx)(Hk,{scope:t,onNativeOptionAdd:te,onNativeOptionRemove:ne,children:NA(h)?h(re):n})})})})}jk(Wk,`SelectProvider`);var Gk=jk(e=>{let{__scopeSelect:t,children:n,...r}=e;return(0,B.jsx)(Wk,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:e})=>(0,B.jsxs)(B.Fragment,{children:[n,e?(0,B.jsx)(MA,{__scopeSelect:t}):null]})})},`Select`),Kk=`SelectTrigger`,qk=y.forwardRef(jk(function(e,t){let{__scopeSelect:n,disabled:r=!1,...i}=e,a=zk(n),o=Vk(Kk,n),s=o.disabled||r,c=Iw(t,o.onTriggerChange),l=Ik(n),u=y.useRef(`touch`),[d,f,p]=FA(e=>{let t=l().filter(e=>!e.disabled),n=IA(t,e,t.find(e=>e.value===o.value));n!==void 0&&o.onValueChange(n.value)}),m=jk(e=>{s||(o.onOpenChange(!0),p()),e&&(o.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})},`handleOpen`);return(0,B.jsx)(zD,{asChild:!0,...a,children:(0,B.jsx)(iT.button,{type:`button`,role:`combobox`,"aria-controls":o.open?o.contentId:void 0,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":`none`,dir:o.dir,"data-state":o.open?`open`:`closed`,disabled:s,"data-disabled":s?``:void 0,"data-placeholder":PA(o.value)?``:void 0,...i,ref:c,onClick:Ew(i.onClick,e=>{e.currentTarget.focus(),u.current!==`mouse`&&m(e)}),onPointerDown:Ew(i.onPointerDown,e=>{u.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(m(e),e.preventDefault())}),onKeyDown:Ew(i.onKeyDown,e=>{let t=d.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&f(e.key),!(t&&e.key===` `)&&Mk.includes(e.key)&&(m(),e.preventDefault())})})})},`SelectTrigger`)),Jk=`SelectValue`,Yk=y.forwardRef(jk(function(e,t){let{__scopeSelect:n,className:r,style:i,children:a,placeholder:o=``,...s}=e,c=Vk(Jk,n),{onValueNodeHasChildrenChange:l}=c,u=a!==void 0,d=Iw(t,c.onValueNodeChange);FT(()=>{l(u)},[l,u]);let f=PA(c.value);return(0,B.jsx)(iT.span,{...s,asChild:!f&&s.asChild,ref:d,style:{pointerEvents:`none`},children:(0,B.jsx)(y.Fragment,{children:f?o:a},f?`placeholder`:`value`)})},`SelectValue`)),Xk=y.forwardRef(jk(function(e,t){let{__scopeSelect:n,children:r,...i}=e;return(0,B.jsx)(iT.span,{"aria-hidden":!0,...i,ref:t,children:r||`â–¼`})},`SelectIcon`)),[Zk,Qk]=Rk(`SelectPortal`,{forceMount:void 0}),$k=jk(e=>{let{__scopeSelect:t,forceMount:n,...r}=e;return(0,B.jsx)(Zk,{scope:e.__scopeSelect,forceMount:n,children:(0,B.jsx)(HD,{asChild:!0,...r})})},`SelectPortal`),eA=`SelectContent`,tA=y.forwardRef(jk(function(e,t){let n=Qk(eA,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,a=Vk(eA,e.__scopeSelect),[o,s]=y.useState();return FT(()=>{s(new DocumentFragment)},[]),(0,B.jsx)(KD,{present:r||a.open,children:({present:e})=>e?(0,B.jsx)(sA,{...i,ref:t}):(0,B.jsx)(nA,{...i,fragment:o})})},`SelectContent`)),nA=y.forwardRef(jk(function(e,t){let{__scopeSelect:n,children:r,fragment:i}=e;return i?br.createPortal((0,B.jsx)(iA,{scope:n,children:(0,B.jsx)(Fk.Slot,{scope:n,children:(0,B.jsx)(`div`,{ref:t,children:r})})}),i):null},`SelectContentFragment`)),rA=10,[iA,aA]=Rk(eA),oA=Rw(`SelectContent.RemoveScroll`),sA=y.forwardRef(jk(function(e,t){let{__scopeSelect:n}=e,{position:r=`item-aligned`,onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:o,side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:d,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:h,avoidCollisions:g,..._}=e,v=Vk(eA,n),[b,x]=y.useState(null),[S,C]=y.useState(null),w=Iw(t,x),[T,E]=y.useState(null),[D,O]=y.useState(null),k=Ik(n),[A,ee]=y.useState(!1),j=y.useRef(!1);y.useEffect(()=>{if(b)return wO(b)},[b]),vT();let M=y.useCallback(e=>{let[t,...n]=k().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&S&&(S.scrollTop=0),n===r&&S&&(S.scrollTop=S.scrollHeight),n?.focus(),document.activeElement!==i))return},[k,S]),N=y.useCallback(()=>M([T,b]),[M,T,b]);y.useEffect(()=>{A&&N()},[A,N]);let{onOpenChange:P,triggerPointerDownPosRef:te}=v;y.useEffect(()=>{if(b){let e={x:0,y:0},t=jk(t=>{e={x:Math.abs(Math.round(t.pageX)-(te.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(te.current?.y??0))}},`handlePointerMove`),n=jk(n=>{e.x<=10&&e.y<=10?n.preventDefault():n.composedPath().includes(b)||P(!1),document.removeEventListener(`pointermove`,t),te.current=null},`handlePointerUp`);return te.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[b,P,te]),y.useEffect(()=>{let e=jk(()=>P(!1),`close`);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[P]);let[ne,re]=FA(e=>{let t=k().filter(e=>!e.disabled),n=IA(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current?.focus())}),F=y.useCallback((e,t,n)=>{let r=!j.current&&!n;(v.value!==void 0&&v.value===t||r)&&(E(e),r&&(j.current=!0))},[v.value]),ie=y.useCallback(()=>b?.focus(),[b]),ae=y.useCallback((e,t,n)=>{let r=!j.current&&!n;(v.value!==void 0&&v.value===t||r)&&O(e)},[v.value]),oe=r===`popper`?lA:cA,se=oe===lA?{side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:d,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:h,avoidCollisions:g}:{};return(0,B.jsx)(iA,{scope:n,content:b,viewport:S,onViewportChange:C,itemRefCallback:F,selectedItem:T,onItemLeave:ie,itemTextRefCallback:ae,focusSelectedItem:N,selectedItemText:D,position:r,isPositioned:A,searchRef:ne,children:(0,B.jsx)(kk,{as:oA,allowPinchZoom:!0,children:(0,B.jsx)(qre,{asChild:!0,trapped:v.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:Ew(i,e=>{v.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,B.jsx)(Vre,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>v.onOpenChange(!1),children:(0,B.jsx)(oe,{role:`listbox`,id:v.contentId,"data-state":v.open?`open`:`closed`,dir:v.dir,onContextMenu:e=>e.preventDefault(),..._,...se,onPlaced:()=>ee(!0),ref:w,style:{display:`flex`,flexDirection:`column`,outline:`none`,..._.style},onKeyDown:Ew(_.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&re(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=k().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>M(t)),e.preventDefault()}})})})})})})},`SelectContentImpl`)),cA=y.forwardRef(jk(function(e,t){let{__scopeSelect:n,onPlaced:r,...i}=e,a=Vk(eA,n),o=aA(eA,n),[s,c]=y.useState(null),[l,u]=y.useState(null),d=Iw(t,u),f=Ik(n),p=y.useRef(!1),m=y.useRef(!0),{viewport:h,selectedItem:g,selectedItemText:_,focusSelectedItem:v}=o,b=y.useCallback(()=>{if(a.trigger&&a.valueNode&&s&&l&&h&&g&&_){let e=a.trigger.getBoundingClientRect(),t=l.getBoundingClientRect(),n=a.valueNode.getBoundingClientRect(),i=_.getBoundingClientRect();if(a.dir!==`rtl`){let r=i.left-t.left,a=n.left-r,o=e.left-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-rA,d=Cw(a,[rA,Math.max(rA,u-l)]);s.style.minWidth=c+`px`,s.style.left=d+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-rA,d=Cw(a,[rA,Math.max(rA,u-l)]);s.style.minWidth=c+`px`,s.style.right=d+`px`}let o=f(),c=window.innerHeight-rA*2,u=h.scrollHeight,d=window.getComputedStyle(l),m=parseInt(d.borderTopWidth,10),v=parseInt(d.paddingTop,10),y=parseInt(d.borderBottomWidth,10),b=parseInt(d.paddingBottom,10),x=m+v+u+b+y,S=Math.min(g.offsetHeight*5,x),C=window.getComputedStyle(h),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-rA,D=c-E,O=g.offsetHeight/2,k=g.offsetTop+O,A=m+v+k,ee=x-A;if(A<=E){let e=o.length>0&&g===o[o.length-1].ref.current;s.style.bottom=`0px`;let t=l.clientHeight-h.offsetTop-h.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+y);s.style.height=n+`px`}else{let e=o.length>0&&g===o[0].ref.current;s.style.top=`0px`;let t=Math.max(E,m+h.offsetTop+(e?w:0)+O)+ee;s.style.height=t+`px`,h.scrollTop=A-E+h.offsetTop}s.style.margin=`${rA}px 0`,s.style.minHeight=S+`px`,s.style.maxHeight=c+`px`,r?.(),requestAnimationFrame(()=>p.current=!0)}},[f,a.trigger,a.valueNode,s,l,h,g,_,a.dir,r]);FT(()=>b(),[b]);let[x,S]=y.useState();FT(()=>{l&&S(window.getComputedStyle(l).zIndex)},[l]);let C=y.useCallback(e=>{e&&m.current===!0&&(b(),v?.(),m.current=!1)},[b,v]);return(0,B.jsx)(uA,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:p,onScrollButtonChange:C,children:(0,B.jsx)(`div`,{ref:c,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:x},children:(0,B.jsx)(iT.div,{...i,ref:d,style:{boxSizing:`border-box`,maxHeight:`100%`,...i.style}})})})},`SelectItemAlignedPosition`)),lA=y.forwardRef(jk(function(e,t){let{__scopeSelect:n,align:r=`start`,collisionPadding:i=rA,...a}=e,o=zk(n);return(0,B.jsx)(BD,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})},`SelectPopperPosition`)),[uA,dA]=Rk(eA,{}),fA=`SelectViewport`,pA=y.forwardRef(jk(function(e,t){let{__scopeSelect:n,nonce:r,...i}=e,a=aA(fA,n),o=dA(fA,n),s=Iw(t,a.onViewportChange),c=y.useRef(0);return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,B.jsx)(Fk.Slot,{scope:n,children:(0,B.jsx)(iT.div,{"data-radix-select-viewport":``,role:`presentation`,...i,ref:s,style:{position:`relative`,flex:1,overflow:`hidden auto`,...i.style},onScroll:Ew(i.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=o;if(r?.current&&n){let e=Math.abs(c.current-t.scrollTop);if(e>0){let r=window.innerHeight-rA*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}c.current=t.scrollTop})})})]})},`SelectViewport`)),[yie,mA]=Rk(`SelectGroup`),hA=`SelectLabel`,gA=y.forwardRef(jk(function(e,t){let{__scopeSelect:n,...r}=e,i=mA(hA,n);return(0,B.jsx)(iT.div,{id:i.id,...r,ref:t})},`SelectLabel`)),_A=`SelectItem`,[vA,yA]=Rk(_A),bA=y.forwardRef(jk(function(e,t){let{__scopeSelect:n,value:r,disabled:i=!1,textValue:a,...o}=e,s=Vk(_A,n),c=aA(_A,n),l=s.value===r,[u,d]=y.useState(a??``),[f,p]=y.useState(!1),m=Iw(t,oT(e=>c.itemRefCallback?.(e,r,i))),h=IT(),g=y.useRef(`touch`),_=jk(()=>{i||(s.onValueChange(r),s.onOpenChange(!1))},`handleSelect`);return(0,B.jsx)(vA,{scope:n,value:r,disabled:i,textId:h,isSelected:l,onItemTextChange:y.useCallback(e=>{d(t=>t||(e?.textContent??``).trim())},[]),children:(0,B.jsx)(Fk.ItemSlot,{scope:n,value:r,disabled:i,textValue:u,children:(0,B.jsx)(iT.div,{role:`option`,"aria-labelledby":h,"data-highlighted":f?``:void 0,"aria-selected":l&&f,"data-state":l?`checked`:`unchecked`,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,tabIndex:i?void 0:-1,...o,ref:m,onFocus:Ew(o.onFocus,()=>p(!0)),onBlur:Ew(o.onBlur,()=>p(!1)),onClick:Ew(o.onClick,()=>{g.current!==`mouse`&&_()}),onPointerUp:Ew(o.onPointerUp,()=>{g.current===`mouse`&&_()}),onPointerDown:Ew(o.onPointerDown,e=>{g.current=e.pointerType}),onPointerMove:Ew(o.onPointerMove,e=>{g.current=e.pointerType,i?c.onItemLeave?.():g.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Ew(o.onPointerLeave,e=>{e.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:Ew(o.onKeyDown,e=>{i||e.target!==e.currentTarget||(c.searchRef?.current===``||e.key!==` `)&&(Nk.includes(e.key)&&_(),e.key===` `&&e.preventDefault())})})})})},`SelectItem`)),xA=`SelectItemText`,SA=y.forwardRef(jk(function(e,t){let{__scopeSelect:n,className:r,style:i,...a}=e,o=Vk(xA,n),s=aA(xA,n),c=yA(xA,n),l=Uk(xA,n),[u,d]=y.useState(null),f=oT(e=>s.itemTextRefCallback?.(e,c.value,c.disabled)),p=Iw(t,d,c.onItemTextChange,f),m=u?.textContent,h=y.useMemo(()=>(0,B.jsx)(`option`,{value:c.value,disabled:c.disabled,children:m},c.value),[c.disabled,c.value,m]),{onNativeOptionAdd:g,onNativeOptionRemove:_}=l;return FT(()=>(g(h),()=>_(h)),[g,_,h]),(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(iT.span,{id:c.textId,...a,ref:p}),c.isSelected&&o.valueNode&&!o.valueNodeHasChildren&&!PA(o.value)?br.createPortal(a.children,o.valueNode):null]})},`SelectItemText`)),CA=`SelectItemIndicator`,wA=y.forwardRef(jk(function(e,t){let{__scopeSelect:n,...r}=e;return yA(CA,n).isSelected?(0,B.jsx)(iT.span,{"aria-hidden":!0,...r,ref:t}):null},`SelectItemIndicator`)),TA=`SelectScrollUpButton`,EA=y.forwardRef(jk(function(e,t){let n=aA(TA,e.__scopeSelect),r=dA(TA,e.__scopeSelect),[i,a]=y.useState(!1),o=Iw(t,r.onScrollButtonChange);return FT(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollTop>0;a(e)};jk(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,B.jsx)(kA,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null},`SelectScrollUpButton`)),DA=`SelectScrollDownButton`,OA=y.forwardRef(jk(function(e,t){let n=aA(DA,e.__scopeSelect),r=dA(DA,e.__scopeSelect),[i,a]=y.useState(!1),o=Iw(t,r.onScrollButtonChange);return FT(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight,n=Math.ceil(t.scrollTop)<e;a(n)};jk(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,B.jsx)(kA,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null},`SelectScrollDownButton`)),kA=y.forwardRef(jk(function(e,t){let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=aA(`SelectScrollButton`,n),o=y.useRef(null),s=Ik(n),c=y.useCallback(()=>{o.current!==null&&(window.clearInterval(o.current),o.current=null)},[]);return y.useEffect(()=>()=>c(),[c]),FT(()=>{s().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[s]),(0,B.jsx)(iT.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:Ew(i.onPointerDown,()=>{o.current===null&&(o.current=window.setInterval(r,50))}),onPointerMove:Ew(i.onPointerMove,()=>{a.onItemLeave?.(),o.current===null&&(o.current=window.setInterval(r,50))}),onPointerLeave:Ew(i.onPointerLeave,()=>{c()})})},`SelectScrollButtonImpl`)),AA=y.forwardRef(jk(function(e,t){let{__scopeSelect:n,...r}=e;return(0,B.jsx)(iT.div,{"aria-hidden":!0,...r,ref:t})},`SelectSeparator`)),jA=`SelectBubbleInput`,MA=y.forwardRef(jk(function({__scopeSelect:e,...t},n){let r=Vk(jA,e),{value:i,onValueChange:a,required:o,disabled:s,name:c,autoComplete:l,form:u}=r,{nativeOptions:d,nativeSelectKey:f}=r,p=y.useRef(null),m=Iw(n,p),h=i??``,g=mO(h),_=Array.from(d).some(e=>(e.props.value??``)===``);return y.useEffect(()=>{let e=p.current;if(!e)return;let t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(g!==h&&n){let t=new Event(`change`,{bubbles:!0});n.call(e,h),e.dispatchEvent(t)}},[g,h]),(0,B.jsxs)(iT.select,{"aria-hidden":!0,required:o,tabIndex:-1,name:c,autoComplete:l,disabled:s,form:u,onChange:e=>a(e.target.value),...t,style:{...hO,...t.style},ref:m,defaultValue:h,children:[PA(i)&&!_?(0,B.jsx)(`option`,{value:``}):null,Array.from(d)]},f)},`SelectBubbleInput`));function NA(e){return typeof e==`function`}jk(NA,`isFunction`);function PA(e){return e===``||e===void 0}jk(PA,`shouldShowPlaceholder`);function FA(e){let t=oT(e),n=y.useRef(``),r=y.useRef(0),i=y.useCallback(e=>{let i=n.current+e;t(i),jk((function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))}),`updateSearch`)(i)},[t]),a=y.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return y.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}jk(FA,`useTypeaheadSearch`);function IA(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=LA(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}jk(IA,`findNextItem`);function LA(e,t){return e.map((n,r)=>e[(t+r)%e.length])}jk(LA,`wrapArray`);var RA=Gk,zA=Yk,BA=y.forwardRef(({className:e,children:t,...n},r)=>(0,B.jsxs)(qk,{ref:r,className:z(`flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1`,e),...n,children:[t,(0,B.jsx)(Xk,{asChild:!0,children:(0,B.jsx)(Ia,{className:`h-4 w-4 opacity-50`})})]}));BA.displayName=qk.displayName;var VA=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(EA,{ref:n,className:z(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,B.jsx)(za,{className:`h-4 w-4`})}));VA.displayName=EA.displayName;var HA=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(OA,{ref:n,className:z(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,B.jsx)(Ia,{className:`h-4 w-4`})}));HA.displayName=OA.displayName;var UA=y.forwardRef(({className:e,children:t,position:n=`popper`,...r},i)=>(0,B.jsx)($k,{children:(0,B.jsxs)(tA,{ref:i,className:z(`relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,...r,children:[(0,B.jsx)(VA,{}),(0,B.jsx)(pA,{className:z(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]`),children:t}),(0,B.jsx)(HA,{})]})}));UA.displayName=tA.displayName;var WA=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(gA,{ref:n,className:z(`px-2 py-1.5 text-sm font-semibold`,e),...t}));WA.displayName=gA.displayName;var GA=y.forwardRef(({className:e,children:t,...n},r)=>(0,B.jsxs)(bA,{ref:r,className:z(`relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,B.jsx)(`span`,{className:`absolute right-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,B.jsx)(wA,{children:(0,B.jsx)(Fa,{className:`h-4 w-4`})})}),(0,B.jsx)(SA,{children:t})]}));GA.displayName=bA.displayName;var KA=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(AA,{ref:n,className:z(`-mx-1 my-1 h-px bg-muted`,e),...t}));KA.displayName=AA.displayName;var qA=()=>{let{toast:e}=vf(),[t,n]=(0,y.useState)(!1),[r,i]=(0,y.useState)({name:``,email:``,phone:``,property_location:``,current_platform:``,description:``}),[a,o]=(0,y.useState)({}),s=()=>{let e={};return r.name.trim()||(e.name=`Name is required`),r.email.trim()?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(r.email)||(e.email=`Please enter a valid email address`):e.email=`Email is required`,r.property_location.trim()||(e.property_location=`Property location is required`),r.current_platform||(e.current_platform=`Please select a platform`),o(e),Object.keys(e).length===0},c=e=>{let{name:t,value:n}=e.target;i(e=>({...e,[t]:n})),a[t]&&o(e=>({...e,[t]:``}))};return(0,B.jsxs)(`form`,{onSubmit:async t=>{if(t.preventDefault(),!s())e({title:`Please fix the errors`,description:`Check the form for validation errors and try again.`,variant:`destructive`});else{n(!0);try{let t={name:r.name,email:r.email,phone:r.phone,property_location:r.property_location,current_platform:r.current_platform,description:r.description},{data:n,error:a}=await Kd.functions.invoke(`send-host-inquiry-email`,{body:t});if(a)throw Error(a.message||`Failed to send inquiry`);if(!n?.success)throw Error(n?.error||`Failed to send inquiry`);e({title:`Inquiry sent successfully! 🎉`,description:`Check your email for confirmation. We'll reach out within 24 hours.`,duration:5e3}),i({name:``,email:``,phone:``,property_location:``,current_platform:``,description:``}),o({})}catch(t){console.error(`Error submitting inquiry:`,t),e({title:`Submission Failed`,description:t.message||`There was an error sending your inquiry. Please try again or contact us directly at [email protected].`,variant:`destructive`})}finally{n(!1)}}},className:`space-y-6`,children:[(0,B.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:[(0,B.jsxs)(`div`,{className:`space-y-2`,children:[(0,B.jsxs)(bw,{htmlFor:`name`,className:`text-gray-700 font-medium`,children:[`Your Name `,(0,B.jsx)(`span`,{className:`text-red-500`,children:`*`})]}),(0,B.jsx)(_w,{id:`name`,name:`name`,type:`text`,value:r.name,onChange:c,placeholder:`John Smith`,className:`bg-white border-gray-300 text-gray-900 ${a.name?`border-red-500`:``}`,disabled:t}),a.name&&(0,B.jsx)(`p`,{className:`text-red-500 text-sm`,children:a.name})]}),(0,B.jsxs)(`div`,{className:`space-y-2`,children:[(0,B.jsxs)(bw,{htmlFor:`email`,className:`text-gray-700 font-medium`,children:[`Email `,(0,B.jsx)(`span`,{className:`text-red-500`,children:`*`})]}),(0,B.jsx)(_w,{id:`email`,name:`email`,type:`email`,value:r.email,onChange:c,placeholder:`[email protected]`,className:`bg-white border-gray-300 text-gray-900 ${a.email?`border-red-500`:``}`,disabled:t}),a.email&&(0,B.jsx)(`p`,{className:`text-red-500 text-sm`,children:a.email})]})]}),(0,B.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:[(0,B.jsxs)(`div`,{className:`space-y-2`,children:[(0,B.jsx)(bw,{htmlFor:`phone`,className:`text-gray-700 font-medium`,children:`Phone`}),(0,B.jsx)(_w,{id:`phone`,name:`phone`,type:`tel`,value:r.phone,onChange:c,placeholder:`(555) 123-4567`,className:`bg-white border-gray-300 text-gray-900`,disabled:t})]}),(0,B.jsxs)(`div`,{className:`space-y-2`,children:[(0,B.jsxs)(bw,{htmlFor:`property_location`,className:`text-gray-700 font-medium`,children:[`Property Location `,(0,B.jsx)(`span`,{className:`text-red-500`,children:`*`})]}),(0,B.jsx)(_w,{id:`property_location`,name:`property_location`,type:`text`,value:r.property_location,onChange:c,placeholder:`e.g., Yachats, Newport, Cannon Beach`,className:`bg-white border-gray-300 text-gray-900 ${a.property_location?`border-red-500`:``}`,disabled:t}),a.property_location&&(0,B.jsx)(`p`,{className:`text-red-500 text-sm`,children:a.property_location})]})]}),(0,B.jsxs)(`div`,{className:`space-y-2`,children:[(0,B.jsxs)(bw,{htmlFor:`current_platform`,className:`text-gray-700 font-medium`,children:[`Current Platform `,(0,B.jsx)(`span`,{className:`text-red-500`,children:`*`})]}),(0,B.jsxs)(RA,{value:r.current_platform,onValueChange:e=>{i(t=>({...t,current_platform:e})),a.current_platform&&o(e=>({...e,current_platform:``}))},disabled:t,children:[(0,B.jsx)(BA,{className:`bg-white border-gray-300 text-gray-900 ${a.current_platform?`border-red-500`:``}`,children:(0,B.jsx)(zA,{placeholder:`Select a platform`})}),(0,B.jsxs)(UA,{children:[(0,B.jsx)(GA,{value:`airbnb`,children:`Airbnb`}),(0,B.jsx)(GA,{value:`vrbo`,children:`VRBO`}),(0,B.jsx)(GA,{value:`both`,children:`Both Airbnb & VRBO`}),(0,B.jsx)(GA,{value:`not-listed`,children:`Not Listed Yet`})]})]}),a.current_platform&&(0,B.jsx)(`p`,{className:`text-red-500 text-sm`,children:a.current_platform})]}),(0,B.jsxs)(`div`,{className:`space-y-2`,children:[(0,B.jsx)(bw,{htmlFor:`description`,className:`text-gray-700 font-medium`,children:`Brief Description`}),(0,B.jsx)(xw,{id:`description`,name:`description`,value:r.description,onChange:c,placeholder:`Tell us about your property and what you're looking for in a management service...`,rows:5,className:`bg-white border-gray-300 text-gray-900 resize-none`,disabled:t})]}),(0,B.jsx)(Sw,{type:`submit`,disabled:t,className:`w-full bg-gradient-to-r from-teal-600 to-green-600 hover:from-teal-700 hover:to-green-700 text-white font-semibold py-6 text-lg shadow-lg hover:shadow-xl transition-all duration-300 disabled:opacity-50 disabled:cursor-not-allowed`,children:t?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(bo,{className:`mr-2 h-5 w-5 animate-spin`}),`Sending...`]}):`Send Me a Free Consultation`})]})},JA=()=>{let e=`Oregon Coast Airbnb Management | Oregon Coastal`,t=`We manage your Oregon Coast vacation rental so you don't have to. Local experts, professional photography, and a track record that speaks for itself.`,n=Rf(`/host`),r=zf(`Oregon Coast Airbnb Management`,`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/cd2e1db7d328f6688d9b2cec2fc13ae5.jpg`),i=[{icon:Ma,title:`Professional Photography`,description:`Original, high-quality photos that showcase your property's unique character and coastal setting.`},{icon:no,title:`Listing Optimization`,description:`SEO-optimized titles, descriptions, and pricing strategies that drive bookings and maximize revenue.`},{icon:Eo,title:`Guest Communication`,description:`24/7 responsive support from inquiry to checkout. We handle everything so you don't have to.`},{icon:ao,title:`Guest Experience Tools`,description:`Custom guides, local recommendations, and resources that turn first-time guests into repeat visitors.`},{icon:H,title:`Local Knowledge`,description:`Years of on-the-ground expertise from Astoria to Brookings. We know what guests want and need.`},{icon:Pa,title:`Performance Reporting`,description:`Transparent monthly reports with booking data, revenue insights, and actionable recommendations.`}];return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:e}),(0,B.jsx)(`meta`,{name:`description`,content:t}),(0,B.jsx)(`meta`,{name:`robots`,content:`index, follow`}),(0,B.jsx)(`link`,{rel:`canonical`,href:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:e}),(0,B.jsx)(`meta`,{property:`og:description`,content:t}),(0,B.jsx)(`meta`,{property:`og:image`,content:r}),(0,B.jsx)(`meta`,{property:`og:url`,content:n}),(0,B.jsx)(`meta`,{property:`og:type`,content:`website`}),(0,B.jsx)(`meta`,{name:`twitter:card`,content:`summary_large_image`}),(0,B.jsx)(`meta`,{name:`twitter:title`,content:e}),(0,B.jsx)(`meta`,{name:`twitter:description`,content:t}),(0,B.jsx)(`meta`,{name:`twitter:image`,content:r})]}),(0,B.jsxs)(`div`,{className:`min-h-screen bg-white`,children:[(0,B.jsx)(Vx,{}),(0,B.jsxs)(`section`,{className:`relative h-screen flex items-center justify-center overflow-hidden`,children:[(0,B.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/cd2e1db7d328f6688d9b2cec2fc13ae5.jpg`,alt:`Oregon Coast property`,className:`w-full h-full object-cover`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/50 via-black/40 to-black/60`})]}),(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`relative z-10 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsxs)(`h1`,{className:`text-5xl md:text-7xl font-bold text-white mb-6 drop-shadow-2xl`,children:[`Your Oregon Coast Property,`,(0,B.jsx)(`br`,{}),`Fully Managed.`]}),(0,B.jsx)(`p`,{className:`text-xl md:text-2xl text-white/95 mb-10 max-w-3xl mx-auto drop-shadow-lg font-light leading-relaxed`,children:`From professional photography to guest communication, we handle everything so you can enjoy the income without the hassle.`}),(0,B.jsx)(q.a,{href:`#contact`,whileHover:{scale:1.05},whileTap:{scale:.95},className:`inline-block bg-gradient-to-r from-teal-600 to-green-600 hover:from-teal-700 hover:to-green-700 text-white font-bold px-10 py-5 rounded-lg text-lg shadow-2xl transition-all duration-300`,children:`Get a Free Management Consultation`})]})]}),(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50`,children:(0,B.jsx)(`div`,{className:`max-w-6xl mx-auto`,children:(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`grid md:grid-cols-2 gap-12 items-center`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-6`,children:`What Full Management Looks Like in the Real World`}),(0,B.jsxs)(`p`,{className:`text-lg text-gray-700 mb-4 leading-relaxed`,children:[`Take the `,(0,B.jsx)(`strong`,{children:`Carriage House at Dragons Cove`}),` in Yachats. During its peak season (May through October), this property averaged just `,(0,B.jsx)(`strong`,{children:`9 available nights`}),`.`]}),(0,B.jsx)(`p`,{className:`text-lg text-gray-700 mb-6 leading-relaxed`,children:`That's the result of Oregon Coastal's full-service approach: original photography, local SEO optimization, guest communication, custom guides, and proactive booking management.`}),(0,B.jsxs)(`a`,{href:`https://dragonscove.info`,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center text-teal-700 hover:text-teal-800 font-semibold text-lg transition-colors group`,children:[`See the Property `,(0,B.jsx)(xa,{className:`ml-2 w-5 h-5 group-hover:translate-x-1 transition-transform`})]})]}),(0,B.jsx)(`div`,{className:`rounded-2xl overflow-hidden shadow-2xl`,children:(0,B.jsx)(`img`,{src:`https://images.unsplash.com/photo-1692525084492-1b66e54a65f3`,alt:`Carriage House at Dragons Cove`,className:`w-full h-auto object-cover`})})]})})}),(0,B.jsx)(`section`,{className:`py-20 px-4 bg-white`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsx)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`text-center mb-16`,children:(0,B.jsxs)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:[`Everything Your Property Needs,`,(0,B.jsx)(`br`,{}),`Nothing You Have To Do`]})}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 gap-10`,children:i.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:t*.1},className:`flex gap-5 p-6 rounded-xl bg-gradient-to-br from-gray-50 to-white border border-gray-200 hover:shadow-lg transition-shadow duration-300`,children:[(0,B.jsx)(`div`,{className:`flex-shrink-0`,children:(0,B.jsx)(`div`,{className:`w-14 h-14 bg-gradient-to-br from-teal-500 to-green-600 rounded-lg flex items-center justify-center shadow-md`,children:(0,B.jsx)(e.icon,{className:`w-7 h-7 text-white`})})}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 mb-2`,children:e.title}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed`,children:e.description})]})]},t))})]})}),(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-br from-teal-50 to-green-50`,children:(0,B.jsx)(`div`,{className:`max-w-4xl mx-auto`,children:(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`text-center`,children:[(0,B.jsxs)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-8`,children:[`We're Not a National Management Company.`,(0,B.jsx)(`br`,{}),`We're Local.`]}),(0,B.jsxs)(`div`,{className:`space-y-6 text-lg text-gray-700 leading-relaxed`,children:[(0,B.jsxs)(`p`,{children:[`Every property we manage gets `,(0,B.jsx)(`strong`,{children:`original photography`}),`—not stock images. Every listing includes `,(0,B.jsx)(`strong`,{children:`custom local guides`}),`—not generic templates.`]}),(0,B.jsx)(`p`,{children:`We've spent years building on-the-ground knowledge from Astoria to Brookings, understanding what makes each coastal town unique and what guests are searching for.`}),(0,B.jsx)(`p`,{className:`font-semibold text-xl text-gray-900 pt-4`,children:`Other companies measure success by guest reviews. We measure it by repeat bookings.`})]})]})})}),(0,B.jsx)(`section`,{className:`py-20 px-4 bg-white`,children:(0,B.jsx)(`div`,{className:`max-w-4xl mx-auto`,children:(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`relative`,children:[(0,B.jsx)(No,{className:`absolute -top-6 -left-4 w-16 h-16 text-teal-200 opacity-50`}),(0,B.jsx)(`blockquote`,{className:`text-2xl md:text-3xl text-gray-800 italic font-light leading-relaxed mb-8 pl-12`,children:`"Working with Oregon Coastal to manage our Yachats property has been seamless. They handle everything from booking to checkout, and our occupancy rates have never been better. We finally get to enjoy owning a vacation rental without any of the stress."`}),(0,B.jsxs)(`div`,{className:`pl-12`,children:[(0,B.jsx)(`p`,{className:`text-lg font-semibold text-gray-900`,children:`Property Owner`}),(0,B.jsx)(`p`,{className:`text-gray-600`,children:`Yachats, OR`})]})]})})}),(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50`,children:(0,B.jsx)(`div`,{className:`max-w-4xl mx-auto`,children:(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`text-center mb-12`,children:[(0,B.jsxs)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-6`,children:[`We Work Best With Properties`,(0,B.jsx)(`br`,{}),`That Have Potential`]}),(0,B.jsx)(`p`,{className:`text-lg text-gray-700 leading-relaxed max-w-3xl mx-auto mb-8`,children:`We're selective about the properties we take on because we're results-focused. If your property has strong fundamentals—great location, unique character, solid condition—we can help it perform.`}),(0,B.jsx)(`p`,{className:`text-xl font-semibold text-gray-900 mb-6`,children:`We currently manage properties in:`}),(0,B.jsx)(`ul`,{className:`space-y-3 text-left max-w-md mx-auto`,children:[`Yachats & Cape Perpetua`,`Newport & Nye Beach`,`Lincoln City & Depoe Bay`,`Cannon Beach & Seaside`,`Entire Oregon Coast`].map((e,t)=>(0,B.jsxs)(q.li,{initial:{opacity:0,x:-20},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.4,delay:t*.1},className:`flex items-center text-lg text-gray-700`,children:[(0,B.jsx)(H,{className:`w-5 h-5 text-teal-600 mr-3 flex-shrink-0`}),e]},t))})]})})}),(0,B.jsx)(`section`,{id:`contact`,className:`py-20 px-4 bg-white`,children:(0,B.jsx)(`div`,{className:`max-w-3xl mx-auto`,children:(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},children:[(0,B.jsxs)(`div`,{className:`text-center mb-12`,children:[(0,B.jsxs)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:[`Ready to Stop Managing`,(0,B.jsx)(`br`,{}),`and Start Earning?`]}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600`,children:`Tell us about your property and we'll schedule a free consultation to discuss how we can help.`})]}),(0,B.jsx)(`div`,{className:`bg-gradient-to-br from-gray-50 to-white p-8 rounded-2xl shadow-xl border border-gray-200`,children:(0,B.jsx)(qA,{})})]})})}),(0,B.jsx)(`section`,{className:`py-12 px-4 bg-gray-100 border-t border-gray-200`,children:(0,B.jsx)(`div`,{className:`max-w-4xl mx-auto text-center`,children:(0,B.jsxs)(`p`,{className:`text-sm text-gray-600 leading-relaxed`,children:[(0,B.jsx)(`strong`,{children:`Oregon Coastal Property Management`}),` is a service of Oregon Coastal, featuring original photography and property expertise built over years of coastal hospitality experience. Featured properties include real listings managed by our team.`]})})}),(0,B.jsx)(Ux,{})]})]})},YA=({name:e,description:t,slug:n,image:r,backgroundImage:i})=>{let[a,o]=(0,y.useState)(r),[s,c]=(0,y.useState)(!1),l=`https://images.unsplash.com/photo-1506905925346-21bda4d32df4?auto=format&fit=crop&w=800&q=80`,u=()=>{s||(c(!0),o(l))},d=i||a||l;return(0,B.jsxs)(q.div,{whileHover:{y:-4},transition:{duration:.3},className:`editorial-card overflow-hidden flex flex-col h-full group`,children:[(0,B.jsx)(un,{to:`/town/${n}`,className:`block h-56 overflow-hidden relative bg-parchment`,children:i?(0,B.jsx)(`div`,{className:`w-full h-full bg-cover bg-center transition-transform duration-700 group-hover:scale-105`,style:{backgroundImage:`url(${d})`},role:`img`,"aria-label":`Scenic view of ${e}`}):(0,B.jsx)(`img`,{src:d,alt:`Scenic view of ${e}`,onError:u,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`})}),(0,B.jsxs)(`div`,{className:`p-6 md:p-8 flex flex-col flex-grow bg-white`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-serif font-bold uppercase tracking-widest text-primary mb-4`,children:e}),(0,B.jsx)(`p`,{className:`text-foreground font-sans text-sm md:text-base mb-6 leading-relaxed line-clamp-3 flex-grow`,children:t}),(0,B.jsxs)(un,{to:`/town/${n}`,className:`inline-flex items-center text-sage font-sans font-medium tracking-widest uppercase text-sm hover:text-primary transition-colors mt-auto group-hover:translate-x-1 duration-300`,children:[`EXPLORE `,(0,B.jsx)(xa,{className:`ml-2 w-4 h-4`})]})]})]})},XA=({title:e,subtitle:t,description:n,ctaButtonText:r,secondaryText:i,backgroundImage:a})=>{let o=()=>{document.getElementById(`town-grid`)?.scrollIntoView({behavior:`smooth`})},s=!!a;return(0,B.jsxs)(`section`,{className:`relative border-b border-gray-200 py-24 md:py-32 px-4 sm:px-6 lg:px-8 shadow-sm z-10 ${s?``:`bg-white`}`,children:[s&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`div`,{className:`absolute inset-0 z-0 bg-cover bg-center`,style:{backgroundImage:`url(${a})`}}),(0,B.jsx)(`div`,{className:`absolute inset-0 z-0 bg-black/60`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 max-w-4xl mx-auto text-center flex flex-col items-center`,children:[t&&(0,B.jsx)(q.span,{initial:{opacity:0,y:15},animate:{opacity:1,y:0},transition:{duration:.5,ease:`easeOut`},className:`text-sm font-bold tracking-widest uppercase mb-3 block ${s?`text-white/80`:`text-primary`}`,children:t}),e&&(0,B.jsx)(q.h1,{initial:{opacity:0,y:15},animate:{opacity:1,y:0},transition:{duration:.5,delay:.1,ease:`easeOut`},className:`text-4xl md:text-5xl lg:text-6xl font-extrabold tracking-tight mb-6 ${s?`text-white`:`text-gray-900`}`,children:e}),n&&(0,B.jsx)(q.p,{initial:{opacity:0,y:15},animate:{opacity:1,y:0},transition:{duration:.5,delay:.2,ease:`easeOut`},className:`text-lg md:text-xl mb-10 leading-relaxed max-w-3xl ${s?`text-white/90`:`text-gray-600`}`,children:n}),r&&(0,B.jsx)(q.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},transition:{duration:.5,delay:.3,ease:`easeOut`},children:(0,B.jsx)(Sw,{onClick:o,size:`lg`,className:`rounded-full px-8 py-6 text-base font-semibold shadow-md transition-all hover:scale-105 hover:shadow-lg active:scale-95 ${s?`bg-white text-gray-900 hover:bg-gray-100 hover:text-gray-900`:``}`,children:r})}),i&&(0,B.jsx)(q.p,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.7,delay:.5},className:`mt-6 text-sm font-medium ${s?`text-white/70`:`text-gray-500`}`,children:i})]})]})},ZA=[{town:`Astoria`,events:[{name:`Great Columbia Crossing`,month:`October`,dates:`Oct 11, 2026`},{name:`FisherPoets Gathering`,month:`February`,dates:`Feb 26-28, 2027`},{name:`Astoria Scandinavian Midsummer`,month:`June`,dates:`June 18-20, 2027`},{name:`Astoria Regatta`,month:`August`,dates:`Aug 11-15, 2027`}]},{town:`Seaside`,events:[{name:`Seaside Beach Volleyball Tourney`,month:`August`,dates:`Aug 13-16, 2026`},{name:`Hood to Coast Finish`,month:`August`,dates:`Aug 28, 2026`},{name:`Seaside Muscle and Chrome`,month:`June`,dates:`June 19, 2027`}]},{town:`Cannon Beach`,events:[{name:`Stormy Weather Arts Festival`,month:`November`,dates:`Nov 6-8, 2026`},{name:`Savor Cannon Beach`,month:`March`,dates:`March 11-14, 2027`},{name:`Sandcastle Contest`,month:`June`,dates:`June 12, 2027`}]},{town:`Rockaway Beach`,events:[{name:`Independence Day Celebration`,month:`July`,dates:`July 4, 2027`},{name:`Kite Festival`,month:`August`,dates:`Aug 15-16, 2026`}]},{town:`Manzanita`,events:[{name:`Manzanita Farmers Market`,month:`June-Oct`,dates:`Fridays Seasonal`}]},{town:`Tillamook`,events:[{name:`Tillamook County Fair`,month:`August`,dates:`Aug 5-8, 2026`}]},{town:`Garibaldi`,events:[{name:`Garibaldi Days`,month:`July`,dates:`July 23-25, 2027`}]}],QA={hidden:{opacity:0},visible:{opacity:1,transition:{staggerChildren:.1}}},$A={hidden:{y:20,opacity:0},visible:{y:0,opacity:1,transition:{type:`spring`,stiffness:100}}},ej=({events:e=ZA})=>(0,B.jsx)(`section`,{className:`py-20 px-4 bg-transparent border-t border-stone-200`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(`p`,{className:`text-sm md:text-base font-semibold text-stone-500 uppercase tracking-wider mb-2`,children:`Plan Your Visit`}),(0,B.jsx)(`h2`,{className:`text-3xl md:text-5xl font-serif font-bold text-stone-900 tracking-tight mb-4`,children:`Regional Events`}),(0,B.jsx)(`div`,{className:`w-24 h-[1px] bg-stone-300 mx-auto`}),(0,B.jsx)(`p`,{className:`mt-6 text-lg text-stone-600 max-w-2xl mx-auto`,children:`Discover annual festivals, historic celebrations, and community gatherings across the coast throughout the year.`})]}),(0,B.jsx)(q.div,{variants:QA,initial:`hidden`,whileInView:`visible`,viewport:{once:!0,margin:`-100px`},className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6`,children:e.map(e=>(0,B.jsx)(q.div,{variants:$A,className:`h-full`,children:(0,B.jsxs)(dw,{className:`h-full flex flex-col bg-white border border-stone-200 rounded-none shadow-[0_2px_8px_rgba(0,0,0,0.04)] hover:shadow-[0_8px_24px_rgba(0,0,0,0.06)] transition-all duration-300`,children:[(0,B.jsx)(fw,{className:`bg-transparent pb-4 border-b border-stone-100`,children:(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(H,{className:`w-5 h-5 text-stone-400`}),(0,B.jsx)(pw,{className:`text-xl font-serif font-bold text-stone-900 uppercase tracking-wide`,children:e.town})]})}),(0,B.jsx)(mw,{className:`pt-6 flex-grow`,children:(0,B.jsx)(`ul`,{className:`space-y-4`,children:e.events.map((e,t)=>(0,B.jsxs)(`li`,{className:`flex flex-col gap-1 border-b border-stone-100 last:border-0 pb-4 last:pb-0`,children:[(0,B.jsx)(`span`,{className:`font-semibold text-stone-800 leading-tight`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center text-sm text-stone-500 gap-1.5 mt-1 font-medium`,children:[(0,B.jsx)(ja,{className:`w-3.5 h-3.5 flex-shrink-0`}),(0,B.jsxs)(`span`,{children:[e.month,` • `,e.dates]})]})]},t))})})]})},e.town))})]})}),tj={astoria:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/4ae5a599ab2b3ff476a7654b90478946.png`,warrenton:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/2b4ad5459baa2eff0c839a7b1e3e1bbf.png`,gearhart:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/26d61417743c9ff99b3bd9c8f49cd6c3.webp`,seaside:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/20f258c255a9c7d65b2c4e69ce5a6277.jpg`,"cannon-beach":`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/18d2b8e2d767032df056cbc5117b9100.jpg`,"tolovana-park":`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/df132b49e7e22090d7fedc15ea9e28d2.jpg`,"arch-cape":`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/f3270f1b8829f4b1fb98f4e7b21cfafc.webp`,manzanita:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/0d399365971028fce33b4227051bdae1.webp`,nehalem:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/c3c632348e0669d74b82b02c93762d86.webp`,wheeler:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/f068330862cc5aa8ec47b9773040e840.webp`,"rockaway-beach":`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/ce4572299b0e44db587b4f94db43804c.webp`,garibaldi:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/6773f18a11c912060f4fb540a5151643.webp`,"bay-city":`https://images.unsplash.com/photo-1678954061539-d67517458c8b`,tillamook:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/2f9ab0b18fee02098149b44ecf503ccc.webp`,netarts:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/bfcd87f44c09268ea2d6c2257af18e77.webp`,oceanside:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/e3b115213c51f13f35a43f694d906b1f.jpg`,"pacific-city":`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/c494a736372e802103c487f6ae052c35.webp`,neskowin:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/be4d4dd3d069dccd891e2a676d8b3210.webp`,"lincoln-city":`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/4b7ba56a47e804904a0e87f9ebad9b07.webp`,"gleneden-beach":`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/198018a5878ad5fcf6cafddb42efb27d.webp`,"depoe-bay":`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/2c57f533ae0506195f5f5c9a0953d506.webp`,"otter-rock":`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/db7f80fe48b5bd85006a138f546efff8.webp`,newport:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/c6fc2828b4f0e652c620d7b1874dcdab.webp`,"south-beach":`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/e1e041b89722871843a1b35e49288748.webp`,toledo:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/457d2a9a2f4957025e208eca9ea65735.webp`,"seal-rock":`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/8827892cb93ca1b0cd53550f0936dcde.webp`,waldport:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/f29f63a80e5ae25aecbbc6b26c9d6390.webp`,yachats:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/e7a98346b0f2453dedf2c0e629d0d68c.webp`,florence:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/f96e6b74688eedfb4225959efeeff861.webp`,"dune-city":`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/c2bb95a8f717d26828623d6733b9a799.webp`,reedsport:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/8c4def8dadeb5e37fc696c35b7fe47c7.webp`,"winchester-bay":`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/956ffa7b92d914f60099d7d491ca5d72.webp`,lakeside:`https://images.unsplash.com/photo-1559524037-eb6eb9b5d848?auto=format&fit=crop&w=2000&q=80`,"north-bend":`https://images.unsplash.com/photo-1559524037-eb6eb9b5d848?auto=format&fit=crop&w=2000&q=80`,"coos-bay":`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/32c0d973a9704cf199b61ec4477d1531.webp`,charleston:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/459d754428b004077d795060ad117106.webp`,bandon:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/5b77b21e59bd04defe28f5074f5126d6.webp`,langlois:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/17bd9faa00a2de20cd5caa78364dd87c.webp`,"port-orford":`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/2a920d94b7ea480bbad4676664281550.webp`,"gold-beach":`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/c877cc6b256faf5d4fc943c9cf11f331.webp`,brookings:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/d70e7940aab86e455bd557529fff3fdd.webp`,harbor:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/c83af0560b4f8c977f60d521543eadef.webp`},nj=ua(`relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7`,{variants:{variant:{default:`bg-background text-foreground`,destructive:`border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive`}},defaultVariants:{variant:`default`}}),rj=y.forwardRef(({className:e,variant:t,...n},r)=>(0,B.jsx)(`div`,{ref:r,role:`alert`,className:z(nj({variant:t}),e),...n}));rj.displayName=`Alert`;var ij=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(`h5`,{ref:n,className:z(`mb-1 font-medium leading-none tracking-tight`,e),...t}));ij.displayName=`AlertTitle`;var aj=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(`div`,{ref:n,className:z(`text-sm [&_p]:leading-relaxed`,e),...t}));aj.displayName=`AlertDescription`;var oj=()=>{let[e,t]=(0,y.useState)([]),[n,r]=(0,y.useState)(!0),[i,a]=(0,y.useState)(null),o=Rf(Xe().pathname);(0,y.useEffect)(()=>{(()=>{try{if(r(!0),!Bx||!Bx.northCoast)throw Error(`Region data not found`);let e=Bx.northCoast.filter(Boolean).map(e=>{let t=e.route.split(`/`).pop();return{...e,slug:t,heroImage:tj[t]||e.heroImage}});t(e)}catch{a(`Failed to load regional towns. Please try refreshing the page.`)}finally{r(!1)}})()},[]);let s=[{question:`How far is the North Coast from Portland?`,answer:`The North Coast is the closest coastal region to Portland, with Seaside and Cannon Beach being about a 1.5 hour drive (80 miles) away.`},{question:`What is the most famous attraction on the North Coast?`,answer:`Haystack Rock in Cannon Beach is arguably the most famous and photographed landmark on the entire Oregon Coast.`},{question:`Is Astoria part of the North Coast?`,answer:`Yes, Astoria marks the northern tip of the Oregon Coast where the Columbia River enters the Pacific Ocean.`}];return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:`Oregon Coast Travel Guide - North Coast`}),(0,B.jsx)(`meta`,{name:`description`,content:`Explore the rugged North Coast of Oregon with charming towns, scenic beaches, lighthouses, and coastal attractions.`}),(0,B.jsx)(`link`,{rel:`canonical`,href:o}),(0,B.jsx)(`meta`,{name:`geo.region`,content:`US-OR`}),(0,B.jsx)(`meta`,{name:`geo.placename`,content:`North Coast, Oregon`})]}),(0,B.jsx)(Zx,{name:`Oregon Coast Travel Guide - North Coast`,description:`Region spanning from Astoria to Neskowin, known for history and sandy beaches.`,geo:{lat:45.8,lng:-123.9},url:`https://oregoncoastal.com/north-coast`,type:`AdministrativeArea`,breadcrumbs:[{name:`Home`,url:`/`},{name:`North Coast`,url:`/north-coast`}]}),(0,B.jsxs)(`div`,{className:`min-h-screen bg-[#FFF8F0] flex flex-col font-sans`,children:[(0,B.jsx)(Vx,{}),(0,B.jsx)(XA,{title:`North Coast Oregon`,subtitle:`NORTH COAST`,description:`Where the mighty Columbia River meets the Pacific. Home to historic Astoria, the iconic Haystack Rock at Cannon Beach, and miles of sandy shores perfect for family adventures.`,ctaButtonText:`EXPLORE NORTH COAST TOWNS`,secondaryText:`Discover beautiful coastal communities from Astoria down to Oceanside.`,backgroundImage:tj[`cannon-beach`]||tj.astoria}),(0,B.jsx)(`main`,{id:`town-grid`,className:`max-w-7xl mx-auto px-4 py-12 md:py-16 flex-grow w-full scroll-mt-8`,children:i?(0,B.jsxs)(rj,{variant:`destructive`,className:`max-w-2xl mx-auto`,children:[(0,B.jsx)(Ba,{className:`h-4 w-4`}),(0,B.jsx)(ij,{children:`Error`}),(0,B.jsx)(aj,{children:i})]}):(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-8`,children:n?[...Array(8)].map((e,t)=>(0,B.jsxs)(`div`,{className:`animate-pulse flex flex-col h-full bg-white rounded-none shadow-md border border-stone-200 overflow-hidden`,children:[(0,B.jsx)(`div`,{className:`h-56 bg-stone-100 w-full`}),(0,B.jsxs)(`div`,{className:`p-6 flex flex-col flex-grow`,children:[(0,B.jsx)(`div`,{className:`h-6 bg-stone-100 rounded w-3/4 mb-4`}),(0,B.jsx)(`div`,{className:`h-4 bg-stone-100 rounded w-full mb-2`}),(0,B.jsx)(`div`,{className:`h-4 bg-stone-100 rounded w-2/3 mb-6`}),(0,B.jsx)(`div`,{className:`mt-auto h-4 bg-stone-100 rounded w-1/3`})]})]},t)):e.map((e,t)=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`group h-full`,children:(0,B.jsx)(YA,{name:e.name,description:e.description,slug:e.slug,image:e.heroImage})},e.slug))})}),(0,B.jsx)(ej,{}),(0,B.jsx)(Jx,{faqs:s,title:`North Coast Visitor FAQs`}),(0,B.jsx)(Ux,{})]})]})},sj=[{town:`Lincoln City`,events:[{name:`Fall Kite Festival`,month:`October`,dates:`Oct 3-4, 2026`},{name:`Finders Keepers Glass Floats`,month:`October-May`,dates:`Daily search season`},{name:`Summer Kite Festival`,month:`June`,dates:`June 26-27, 2027`}]},{town:`Depoe Bay`,events:[{name:`Indian Style Salmon Bake`,month:`September`,dates:`Sept 19, 2026`},{name:`Fleet of Flowers`,month:`May`,dates:`May 31, 2027`}]},{town:`Newport`,events:[{name:`Seafood & Wine Festival`,month:`February`,dates:`Feb 25-28, 2027`},{name:`Newport Marathon`,month:`June`,dates:`June 5, 2027`},{name:`Rogue Ales Oyster Festival`,month:`April`,dates:`April 2027`}]},{town:`Waldport`,events:[{name:`Beachcomber Days`,month:`July`,dates:`July 4, 2027`}]},{town:`Yachats`,events:[{name:`Yachats Mushroom Festival`,month:`October`,dates:`Oct 16-18, 2026`},{name:`Yachats Music Festival`,month:`July`,dates:`July 9-11, 2027`}]}],cj=()=>{let[e,t]=(0,y.useState)([]),[n,r]=(0,y.useState)(!0),[i,a]=(0,y.useState)(null),o=Rf(Xe().pathname);(0,y.useEffect)(()=>{(()=>{try{if(r(!0),!Bx||!Bx.centralCoast)throw Error(`Region data not found`);let e=Bx.centralCoast.filter(Boolean).map(e=>{let t=e.route.split(`/`).pop();return{...e,slug:t,heroImage:tj[t]||e.heroImage}});t(e)}catch{a(`Failed to load regional towns. Please try refreshing the page.`)}finally{r(!1)}})()},[]);let s=[{question:`Where does the Central Oregon Coast start and end?`,answer:`The Central Coast is generally defined as the area from Lincoln City in the north down to Florence in the south.`},{question:`Is the Central Coast good for whale watching?`,answer:`Yes, especially Depoe Bay, which is known as the 'Whale Watching Capital of the Oregon Coast' due to its resident pod of gray whales.`},{question:`What are the major cities on the Central Coast?`,answer:`The primary hubs are Lincoln City, Newport, and Florence, each offering extensive lodging, dining, and attractions.`}];return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:`Oregon Coast Travel Guide - Central Coast`}),(0,B.jsx)(`meta`,{name:`description`,content:`Discover the Central Coast of Oregon featuring beautiful beaches, sea lions, tide pools, and family-friendly attractions.`}),(0,B.jsx)(`link`,{rel:`canonical`,href:o}),(0,B.jsx)(`meta`,{name:`geo.region`,content:`US-OR`}),(0,B.jsx)(`meta`,{name:`geo.placename`,content:`Central Coast, Oregon`})]}),(0,B.jsx)(Zx,{name:`Oregon Coast Travel Guide - Central Coast`,description:`Region spanning from Lincoln City to Florence, known for lighthouses and dunes.`,geo:{lat:44.6,lng:-124},url:`https://oregoncoastal.com/central-coast`,type:`AdministrativeArea`,breadcrumbs:[{name:`Home`,url:`/`},{name:`Central Coast`,url:`/central-coast`}]}),(0,B.jsxs)(`div`,{className:`min-h-screen bg-[hsl(var(--cream-bg))] flex flex-col font-sans`,children:[(0,B.jsx)(Vx,{}),(0,B.jsx)(XA,{title:`Central Coast Oregon`,subtitle:`CENTRAL COAST`,description:`The heart of the coastline featuring dramatic cliffs, historic lighthouses, and world-class whale watching. Explore vibrant communities like Newport and the natural wonders of the Oregon Dunes.`,ctaButtonText:`EXPLORE CENTRAL COAST TOWNS`,secondaryText:`Discover stunning destinations from Pacific City all the way down to Dune City.`,backgroundImage:tj.newport||tj[`pacific-city`]}),(0,B.jsx)(`main`,{id:`town-grid`,className:`max-w-7xl mx-auto px-4 py-12 md:py-16 flex-grow w-full scroll-mt-8`,children:i?(0,B.jsxs)(rj,{variant:`destructive`,className:`max-w-2xl mx-auto`,children:[(0,B.jsx)(Ba,{className:`h-4 w-4`}),(0,B.jsx)(ij,{children:`Error`}),(0,B.jsx)(aj,{children:i})]}):(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-8`,children:n?[...Array(8)].map((e,t)=>(0,B.jsxs)(`div`,{className:`animate-pulse flex flex-col h-full bg-white rounded-none shadow-[0_2px_8px_rgba(0,0,0,0.04)] border border-stone-200 overflow-hidden`,children:[(0,B.jsx)(`div`,{className:`h-56 bg-stone-100 w-full`}),(0,B.jsxs)(`div`,{className:`p-6 flex flex-col flex-grow`,children:[(0,B.jsx)(`div`,{className:`h-6 bg-stone-100 rounded w-3/4 mb-4`}),(0,B.jsx)(`div`,{className:`h-4 bg-stone-100 rounded w-full mb-2`}),(0,B.jsx)(`div`,{className:`h-4 bg-stone-100 rounded w-2/3 mb-6`}),(0,B.jsx)(`div`,{className:`mt-auto h-4 bg-stone-100 rounded w-1/3`})]})]},t)):e.map((e,t)=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`group h-full`,children:(0,B.jsx)(YA,{name:e.name,description:e.description,slug:e.slug,image:e.heroImage})},e.slug))})}),(0,B.jsx)(ej,{events:sj}),(0,B.jsx)(Jx,{faqs:s,title:`Central Coast Visitor FAQs`}),(0,B.jsx)(Ux,{})]})]})},lj=[{town:`Florence`,events:[{name:`Rhododendron Festival`,month:`May`,dates:`May 13-16, 2027`},{name:`Winter Music Festival`,month:`January`,dates:`Jan 22-24, 2027`}]},{town:`Reedsport`,events:[{name:`Chainsaw Sculpting Champ`,month:`June`,dates:`June 17-20, 2027`}]},{town:`Coos Bay`,events:[{name:`Blackberry Arts Festival`,month:`August`,dates:`Aug 22-23, 2026`},{name:`Bay Area Fun Festival`,month:`September`,dates:`Sept 19-20, 2026`},{name:`Shore Acres Holiday Lights`,month:`Nov-Dec`,dates:`Nov 26 - Dec 31, 2026`}]},{town:`Bandon`,events:[{name:`Circles in the Sand`,month:`Varies`,dates:`Varies by tide - Check site`},{name:`Cranberry Festival`,month:`September`,dates:`Sept 11-13, 2026`}]},{town:`Gold Beach`,events:[{name:`Curry County Fair`,month:`July`,dates:`July 21-24, 2027`}]},{town:`Brookings`,events:[{name:`Azalea Festival`,month:`May`,dates:`May 21-24, 2027`}]}],uj={reedsport:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/8c4def8dadeb5e37fc696c35b7fe47c7.webp`,"winchester-bay":`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/956ffa7b92d914f60099d7d491ca5d72.webp`,"coos-bay":`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/32c0d973a9704cf199b61ec4477d1531.webp`,bandon:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/5b77b21e59bd04defe28f5074f5126d6.webp`,"gold-beach":`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/c877cc6b256faf5d4fc943c9cf11f331.webp`,brookings:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/d70e7940aab86e455bd557529fff3fdd.webp`,"port-orford":`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/2a920d94b7ea480bbad4676664281550.webp`,langlois:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/17bd9faa00a2de20cd5caa78364dd87c.webp`,harbor:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/c83af0560b4f8c977f60d521543eadef.webp`,charleston:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/459d754428b004077d795060ad117106.webp`},dj=()=>{let[e,t]=(0,y.useState)([]),[n,r]=(0,y.useState)(!0),[i,a]=(0,y.useState)(null),o=Rf(Xe().pathname);(0,y.useEffect)(()=>{(()=>{try{if(r(!0),!Bx||!Bx.southCoast)throw Error(`Region data not found`);let e=Bx.southCoast.filter(Boolean).map(e=>{let t=e.route.split(`/`).pop(),n=uj[t]||tj[t]||e.heroImage;return{...e,slug:t,heroImage:n}});t(e)}catch{a(`Failed to load regional towns. Please try refreshing the page.`)}finally{r(!1)}})()},[]);let s=[{question:`Why is the South Coast called the 'Wild Coast'?`,answer:`The South Coast is less developed and more rugged than the northern regions, featuring dramatic sea stacks, isolated beaches, and vast wilderness areas.`},{question:`Is the weather warmer on the South Coast?`,answer:`Yes, specifically near Brookings, which is known as the 'Banana Belt' of Oregon due to its mild, sunny climate year-round.`},{question:`What are the key towns to visit on the South Coast?`,answer:`Bandon, Gold Beach, and Brookings are the most popular destinations for travelers exploring the southern region.`}];return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:`Oregon Coast Travel Guide - South Coast`}),(0,B.jsx)(`meta`,{name:`description`,content:`Experience the South Coast of Oregon with dramatic cliffs, hidden coves, outdoor adventures, and coastal charm.`}),(0,B.jsx)(`link`,{rel:`canonical`,href:o}),(0,B.jsx)(`meta`,{name:`geo.region`,content:`US-OR`}),(0,B.jsx)(`meta`,{name:`geo.placename`,content:`South Coast, Oregon`})]}),(0,B.jsx)(Zx,{name:`Oregon Coast Travel Guide - South Coast`,description:`Region spanning from Reedsport to Brookings, known for rugged beauty and warmer weather.`,geo:{lat:42.8,lng:-124.4},url:`https://oregoncoastal.com/south-coast`,type:`AdministrativeArea`,breadcrumbs:[{name:`Home`,url:`/`},{name:`South Coast`,url:`/south-coast`}]}),(0,B.jsxs)(`div`,{className:`min-h-screen bg-[hsl(var(--cream-bg))] flex flex-col font-sans`,children:[(0,B.jsx)(Vx,{}),(0,B.jsx)(XA,{title:`South Coast Oregon`,subtitle:`SOUTH COAST`,description:`Wild, rugged, and breathtaking. The South Coast offers a warmer climate, secluded beaches, and the spectacular sea stacks of Bandon. It's the perfect escape for those seeking solitude and nature.`,ctaButtonText:`EXPLORE SOUTH COAST TOWNS`,secondaryText:`Discover incredible spots from Reedsport down to Brookings and the California border.`,backgroundImage:uj.brookings}),(0,B.jsx)(`main`,{id:`town-grid`,className:`max-w-7xl mx-auto px-4 py-12 md:py-16 flex-grow w-full scroll-mt-8`,children:i?(0,B.jsxs)(rj,{variant:`destructive`,className:`max-w-2xl mx-auto`,children:[(0,B.jsx)(Ba,{className:`h-4 w-4`}),(0,B.jsx)(ij,{children:`Error`}),(0,B.jsx)(aj,{children:i})]}):(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-8`,children:n?[...Array(8)].map((e,t)=>(0,B.jsxs)(`div`,{className:`animate-pulse flex flex-col h-full bg-white rounded-none shadow-[0_2px_8px_rgba(0,0,0,0.04)] border border-stone-200 overflow-hidden`,children:[(0,B.jsx)(`div`,{className:`h-56 bg-stone-100 w-full`}),(0,B.jsxs)(`div`,{className:`p-6 flex flex-col flex-grow`,children:[(0,B.jsx)(`div`,{className:`h-6 bg-stone-100 rounded w-3/4 mb-4`}),(0,B.jsx)(`div`,{className:`h-4 bg-stone-100 rounded w-full mb-2`}),(0,B.jsx)(`div`,{className:`h-4 bg-stone-100 rounded w-2/3 mb-6`}),(0,B.jsx)(`div`,{className:`mt-auto h-4 bg-stone-100 rounded w-1/3`})]})]},t)):e.map((e,t)=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`group h-full`,children:(0,B.jsx)(YA,{name:e.name,description:e.description,slug:e.slug,image:e.heroImage})},e.slug))})}),(0,B.jsx)(ej,{events:lj}),(0,B.jsx)(Jx,{faqs:s,title:`South Coast Visitor FAQs`}),(0,B.jsx)(Ux,{})]})]})},fj=`Perched at the mouth of the mighty Columbia River where it meets the Pacific Ocean, Astoria stands as Oregon's oldest city and one of the most captivating destinations on the Oregon Coast. Founded in 1811, this historic port city seamlessly blends Victorian architecture, rich maritime heritage, and stunning natural beauty into an unforgettable coastal experience. Often called "Little San Francisco" for its hillside homes and charming character, Astoria offers visitors a unique blend of cultural attractions, outdoor adventures, and culinary delights.

The city's dramatic location provides breathtaking vistas at every turn. The iconic Astoria-Megler Bridge spans four miles across the Columbia River, connecting Oregon to Washington State and serving as one of the longest continuous truss bridges in North America. Downtown Astoria enchants visitors with its historic waterfront district, where century-old buildings house eclectic shops, artisan coffee roasters, craft breweries, and farm-to-table restaurants. The city's creative spirit thrives in its galleries, theaters, and film connections—most famously as the filming location for the beloved 1980s classic "The Goonies."

Whether you're exploring Lewis and Clark's winter encampment at Fort Clatsop, climbing the 164 spiral stairs of the Astoria Column for panoramic views, or sampling fresh-caught salmon at a riverside bistro, Astoria delivers an authentic Pacific Northwest experience. The moody coastal weather only adds to its atmospheric charm, making it an ideal destination year-round for travelers seeking history, natural beauty, and small-town hospitality along one of America's most scenic coastlines.`,pj=[{name:`The Astoria Column`,description:`Standing 125 feet tall atop Coxcomb Hill, this hand-painted column offers the best view on the coast. Climb the 164 spiral stairs to the observation deck for a breathtaking 360-degree panorama of the Columbia River, the Pacific Ocean, and the Coast Range. It's a rite of passage for any visitor.`,details:`Parking fee required ($5). Open daily from dawn to dusk.`},{name:`Columbia River Maritime Museum`,description:`Widely considered one of the finest maritime museums in the nation, this facility tells the dramatic stories of the 'Graveyard of the Pacific.' impressive exhibits include the floating lightship Columbia, a Coast Guard rescue boat, and interactive displays about river pilots and shipwrecks.`,details:`Located on the waterfront. Open daily 9:30 AM - 5:00 PM.`},{name:`Flavel House Museum`,description:`This impeccable 1885 Queen Anne Victorian mansion was once the home of Captain George Flavel. With its preserved period furniture, intricate woodwork, and manicured gardens, it offers a glimpse into the opulent life of Astoria's 19th-century elite.`,details:`Tickets available at the Carriage House visitor center.`},{name:`Oregon Film Museum (The Goonies Jail)`,description:`Housed in the old Clatsop County Jail—famous as the opening scene of The Goonies—this museum celebrates Oregon's legacy in cinema. Visitors can step into the actual jail cell from the movie and explore exhibits on Kindergarten Cop, Free Willy, and Twilight.`,details:`Fun for movie buffs. Interactive sets and green screens.`},{name:`Astoria Riverfront Trolley`,description:`Old 300 is a restored 1913 streetcar that rattles along the riverfront tracks for three miles. Operated by knowledgeable volunteers who narrate the history of the cannery piers and waterfront, it's a charming and inexpensive way to see the city.`,details:`Runs seasonally (weather permitting). Fare is $1 per ride or $2 for an all-day pass.`},{name:`Lewis and Clark National Historical Park (Fort Clatsop)`,description:`Just south of town lies the replica of Fort Clatsop, where the Corps of Discovery spent the wet winter of 1805-1806. The park features costumed rangers, muzzle-loading demonstrations, and trails that trace the explorers' footsteps.`,details:`Part of the National Park Service. Visitor center and bookstore on site.`},{name:`Pier 39 - Hanthorn Cannery`,description:`The oldest and largest waterfront building in Astoria, Pier 39 is a hub of activity. Once a bustling fish cannery, it now houses a museum, coffee shop, brewery, and offices, all suspended over the river on old pilings. The view of the bridge from the end of the pier is unmatched.`,details:`Free museum access. Great spot for sea lion watching.`}],mj=[{name:`Cathedral Tree Trail`,distance:`1.6 miles round trip`,difficulty:`Moderate`,description:`An urban hike that starts near the Astoria Column. This trail winds through a towering Sitka spruce forest to lead you to the 'Cathedral Tree,' a massive, ancient spruce with a hollowed-out base that feels spiritual in its grandeur.`},{name:`Astoria Riverwalk`,distance:`6.4 miles (one way)`,difficulty:`Easy`,description:`Following the path of the old Burlington Northern Railroad, this paved and boardwalk trail stretches the entire length of the city's waterfront. It's perfect for a flat, scenic walk past canneries, under the Megler Bridge, and alongside the trolley tracks.`},{name:`Fort to Sea Trail`,distance:`6.1 miles (one way)`,difficulty:`Moderate`,description:`Retracing the steps of Lewis and Clark, this trail connects Fort Clatsop to Sunset Beach. It transitions from lush forests and cow pastures to coastal dunes, offering a diverse hiking experience.`},{name:`Youngs River Falls`,distance:`0.5 miles round trip`,difficulty:`Easy`,description:`A short walk leads to a spectacular 54-foot waterfall that featured in movies like Robin Hood: Prince of Thieves and Teenage Mutant Ninja Turtles 3. It's a great spot for a quick nature fix and a swim in the summer.`},{name:`Saddle Mountain Trail`,distance:`5.2 miles round trip`,difficulty:`Strenuous`,elevation:`1,600 ft gain`,description:`For the best view in Northwest Oregon, tackle Saddle Mountain. The steep climb is rewarded with wildflower meadows and a summit view that stretches from Mount Rainier and St. Helens to the Pacific Ocean.`},{name:`Netul River Trail`,distance:`2.8 miles round trip`,difficulty:`Easy`,description:`Located at Fort Clatsop, this gentle trail follows the Lewis and Clark River. It is historically significant as the landing site for the explorers' canoes and offers peaceful, wooded riverside views.`},{name:`Clatsop Loop Trail`,distance:`2.8 miles loop`,difficulty:`Moderate`,description:`Explore Ecola State Park's forest and cliffs. This loop offers dizzying views of the ocean and the Tillamook Rock Lighthouse ('Terrible Tilly') while winding through old-growth rainforest.`},{name:`Cape Disappointment - North Head Trail`,distance:`3 miles round trip`,difficulty:`Easy/Moderate`,description:`Just across the bridge in Washington, this trail offers dramatic views of the 'Graveyard of the Pacific' and leads to the wind-swept North Head Lighthouse.`},{name:`Tillamook Head Trail`,distance:`6.3 miles (one way)`,difficulty:`Moderate/Hard`,description:`A classic coastal hike tracing the high cliffs between Seaside and Cannon Beach. Follow in the footsteps of Captain Clark who called the view 'the grandest and most pleasing prospects which my eyes ever surveyed.'`}],hj=[{name:`Bridgewater Bistro`,category:`Upscale Seafood`,description:`Located in a historic boatyard building, Bridgewater Bistro offers panoramic river views and a menu highlighting fresh, local ingredients. The architecture, with its exposed timber beams, is as impressive as the food.`,features:`Riverfront dining, extensive wine list, Sunday brunch.`},{name:`Silver Salmon Grille`,category:`Seafood`,description:`A downtown staple known for its warm, old-school hospitality and generous portions of clam chowder. It feels like a classic coastal dining room.`,features:`Famous chowder, cedar plank salmon, family-friendly.`},{name:`Carruthers Restaurant`,category:`New American`,description:`Stylish and moody, Carruthers brings a touch of 1920s glamour to Astoria. The menu is adventurous, and the craft cocktails are among the best in town.`,features:`Craft cocktails, historic ambiance, gluten-free options.`},{name:`Fort George Brewery + Public House`,category:`Brewery/Gastropub`,description:`The beating heart of Astoria's beer scene. Occupying an entire city block, Fort George serves legendary IPAs and wood-fired pizzas in a lively, communal atmosphere.`,features:`Wood-fired pizza, rooftop taproom, local beer hub.`},{name:`Buoy Beer Company`,category:`Brewery`,description:`Built right on the pier, Buoy Beer lets you watch sea lions through a glass floor while sipping a crisp lager. The food is elevated pub fare with a focus on fresh seafood.`,features:`Glass floor viewing of sea lions, riverfront patio.`},{name:`Bowpicker Fish & Chips`,category:`Casual/Food Truck`,description:`A converted gillnet boat parked on the corner, serving only one thing: albacore tuna fish and chips. The line usually wraps around the block for a reason.`,features:`Albacore tuna, outdoor seating only, cash only (usually).`},{name:`Clemente's Cafe & Public House`,category:`Casual/Seafood`,description:`A fantastic spot for lunch or a casual dinner, known for its seafood baskets and relaxed vibe. It captures the essence of a working waterfront cafe.`,features:`Locally sourced seafood, great lunch spot.`},{name:`Frite & Scoop`,category:`Dessert/Snack`,description:`Small-batch ice cream and Belgian-style fries. The flavors are inventive (like sticky toffee pudding), and the fries are perfectly crispy.`,features:`House-made waffle cones, dipping sauces.`},{name:`Coffee Girl`,category:`Cafe`,description:`Located on Pier 39 inside the old cannery, this cafe serves excellent coffee and pastries in a space that feels suspended in time (and over the water).`,features:`Historic cannery location, river views.`},{name:`The Blue Scorcher Bakery & Cafe`,category:`Vegetarian/Bakery`,description:`A worker-owned cooperative specializing in organic, vegetarian, and vegan fare. Their artisan breads and pastries are beloved by locals.`,features:`Organic, cooperative-owned, kid-friendly play area.`},{name:`T. Paul's Urban Cafe`,category:`Eclectic`,description:`A funky, eclectic spot downtown offering a wide variety of dishes from quesadillas to pastas. It's a crowd-pleaser with art-filled walls.`,features:`Vegetarian options, quirky decor, central location.`}],gj=`Cannon Beach is arguably the most picturesque town on the Oregon Coast, famous for the towering Haystack Rock and its expansive, sandy shoreline. It is an art lover's village by the sea, where nature's grandeur meets refined culture.

Named one of the world's most beautiful places by National Geographic, Cannon Beach offers a perfect blend of breathtaking scenery and small-town charm. The village is walkable and filled with cedar-shingled buildings housing art galleries, specialty shops, and award-winning restaurants.

Whether you are exploring the tide pools at the base of Haystack Rock, hiking through the ancient Sitka spruce forests of Ecola State Park, or watching the sunset illuminate the sea stacks, Cannon Beach provides an unforgettable coastal escape that feels both wild and welcoming.`,_j=[{id:1,name:`Haystack Rock`,description:`The crown jewel of Cannon Beach, this 235-foot sea stack is one of Oregon's most recognizable landmarks. It's home to tufted puffins (in spring/summer) and accessible tide pools at low tide.`,details:`Iconic Landmark`,image:`https://images.unsplash.com/photo-1533420803444-a0293144eb7e?auto=format&fit=crop&w=800&q=80`},{id:2,name:`Ecola State Park`,description:`Perched on the edge of Tillamook Head, this park offers some of the most famous views on the coast, overlooking diverse ecosystems, secluded coves, and the historic lighthouse.`,details:`State Park`,image:`https://images.unsplash.com/photo-1574677765103-68d71216d203?auto=format&fit=crop&w=800&q=80`},{id:3,name:`Tillamook Rock Lighthouse`,description:`Known as 'Terrible Tilly', this decommissioned lighthouse sits on a basalt rock over a mile offshore. It has a dramatic history of storms and survival, visible from Ecola State Park.`,details:`Historic Site`,image:`https://images.unsplash.com/photo-1610486337573-03f6f1c4f5b5?auto=format&fit=crop&w=800&q=80`},{id:4,name:`Hug Point State Recreation Site`,description:`Just south of town, this beach offers sea caves, a seasonal waterfall, and the historic stagecoach road carved into the rock that was once the only way to travel along the coast.`,details:`Nature & History`,image:`https://images.unsplash.com/photo-1506905925346-21bda4d32df4?auto=format&fit=crop&w=800&q=80`},{id:5,name:`Icefire Glassworks`,description:`A working glassblowing studio where visitors can watch artists create incredible pieces. It represents the heart of Cannon Beach's vibrant arts community.`,details:`Art Gallery`,image:`https://images.unsplash.com/photo-1513883049090-d0b7439799bf?auto=format&fit=crop&w=800&q=80`},{id:6,name:`Coaster Theatre Playhouse`,description:`Located in the center of town, this historic theater has been providing live entertainment, plays, and musicals for over 40 years, adding cultural depth to the beach town experience.`,details:`Live Theater`,image:`https://images.unsplash.com/photo-1559827260-dc66d52bef19?auto=format&fit=crop&w=800&q=80`},{id:7,name:`Cannon Beach History Center & Museum`,description:`A small but fascinating museum preserving the stories of the area, from Native American history to the unmodified cannon that washed ashore and gave the town its name.`,details:`Museum`,image:`https://images.unsplash.com/photo-1582236372551-78926227b9c6?auto=format&fit=crop&w=800&q=80`},{id:8,name:`Chapman Beach`,description:`The northern stretch of Cannon Beach, often quieter than the Haystack Rock area. It offers stunning views of Bird Rocks and abundant driftwood for beachcombing.`,details:`Beach Access`,image:`https://images.unsplash.com/photo-1621217030567-e17f7b3b3a3c?auto=format&fit=crop&w=800&q=80`}],vj=[{name:`Clatsop Loop Trail`,distance:`2.8 miles`,difficulty:`Moderate`,type:`Loop`,description:`Located in Ecola State Park, this trail follows the footsteps of Lewis and Clark's expedition, offering ocean views and forest solitude.`,icon:`Tree`,elevation:`700 ft`},{name:`Ecola Point to Indian Beach`,distance:`1.5 miles`,difficulty:`Easy/Moderate`,type:`One Way`,description:`A scenic segment of the Oregon Coast Trail connecting the main Ecola viewpoint to the secluded and beautiful Indian Beach.`,icon:`Ocean`,elevation:`300 ft`},{name:`Crescent Beach Trail`,distance:`1.25 miles`,difficulty:`Moderate`,type:`Out & Back`,description:`A lesser-known trail starting from Ecola State Park road that drops down to a quiet, crescent-shaped cove away from the crowds.`,icon:`Path`,elevation:`450 ft`},{name:`Tillamook Head Traverse`,distance:`6.3 miles`,difficulty:`Strenuous`,type:`Point-to-Point`,description:`A challenging hike traversing the entire headland from Seaside to Cannon Beach (or vice versa), passing old bunkers and viewpoints.`,icon:`Mountain`,elevation:`1,350 ft`},{name:`Hug Point Trail`,distance:`0.5 miles`,difficulty:`Easy`,type:`Beach Walk`,description:`Best done at low tide to access the waterfall, sea caves, and the historic stagecoach road carved around the point.`,icon:`Footprints`,elevation:`Flat`},{name:`Elk Creek Trail`,distance:`3.0 miles`,difficulty:`Easy`,type:`Out & Back`,description:`A gentle walk exploring the estuary and wetlands on the edge of town, great for birdwatching and spotting elk.`,icon:`Bird`,elevation:`Flat`},{name:`Oswald West - Short Sand Beach`,distance:`1.0 miles`,difficulty:`Easy`,type:`Out & Back`,description:`Located just south of town, a short walk through massive old-growth rainforest leads to a popular surfer's cove.`,icon:`Wave`,elevation:`100 ft`},{name:`Neahkahnie Mountain (South)`,distance:`3.0 miles`,difficulty:`Strenuous`,type:`Out & Back`,description:`A steep climb to one of the highest viewpoints on the coast, offering legendary panoramic views of the ocean.`,icon:`Summit`,elevation:`900 ft`}],yj=[{id:1,name:`Surfsand Resort`,category:`Luxury Resort`,description:`The premier beachfront resort with sweeping views of Haystack Rock. Famous for its cookie hour, bonfires, and family-friendly amenities.`,amenities:[`Beachfront`,`Pool`,`Cookie Hour`,`Pet Friendly`],link:`https://expedia.com/affiliates/cannon-beach-hotels-surfsand-resort.zxyRiuV`,linkRel:`noopener sponsored`},{id:2,name:`Stephanie Inn`,category:`Luxury Boutique`,description:`An oceanfront icon of elegance and romance. Known for exceptional service, gourmet breakfast buffets, and evening wine gatherings.`,amenities:[`Adults Only`,`Fine Dining`,`Ocean Views`,`Spa Services`],link:`https://expedia.com/affiliates/cannon-beach-hotels-stephanie-inn.5UAV9Hb`,linkRel:`noopener sponsored`},{id:3,name:`The Ocean Lodge`,category:`Oceanfront Lodge`,description:`Reminiscent of a 1940s beach resort with massive timber beams and stone fireplaces. A warm, inviting atmosphere right on the sand.`,amenities:[`Fireplaces`,`Oceanfront`,`Continental Breakfast`,`Cookies`],link:`https://expedia.com/affiliates/cannon-beach-hotels-the-ocean-lodge.a40yztM`,linkRel:`noopener sponsored`},{id:4,name:`Hallmark Resort - Cannon Beach`,category:`Oceanfront Resort`,description:`One of the closest hotels to Haystack Rock, offering multiple pools, a full-service spa, and balconies with incredible views.`,amenities:[`Spa`,`Saltwater Pools`,`Pet Friendly`,`Beach Access`],link:`https://expedia.com/affiliates/cannon-beach-hotels-hallmark-resort-cannon-beach.nOWaFHg`,linkRel:`noopener sponsored`},{id:5,name:`Inn at Cannon Beach`,category:`Cottage Style`,description:`Located just south of town, this garden-style inn features bunny rabbits on the lawn and a quiet, retreat-like setting near Tolovana Park.`,amenities:[`Gardens`,`Free Breakfast`,`Quiet Location`,`Art Gallery`],link:`https://expedia.com/affiliate/7ESrxua`,linkRel:`noopener sponsored`},{id:6,name:`Tolovana Inn`,category:`Family Suites`,description:`A spacious oceanfront property in Tolovana Park, perfect for families needing suites with kitchens and easy beach access.`,amenities:[`Indoor Pool`,`Suites`,`Kitchens`,`Beachfront`],link:`https://expedia.com/affiliates/cannon-beach-hotels-tolovana-inn.xvQpPIh`,linkRel:`noopener sponsored`,image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/5b50f9770d3c525c1de9d38fe1dd962f.png`},{id:7,name:`Schooner's Cove Inn`,category:`Oceanfront`,description:`Centrally located right in downtown Cannon Beach, offering oceanfront decks and instant access to shopping and dining.`,amenities:[`Downtown`,`Oceanfront`,`Kitchens`,`Walkable`],link:`https://expedia.com/affiliates/oregon-coast-hotels-schooners-cove-inn.lG3twwG`,linkRel:`noopener sponsored`},{id:8,name:`The Wayside Inn`,category:`Budget Friendly`,description:`A classic motor inn at the south end of town. Known for being extremely dog-friendly and offering great value.`,amenities:[`Indoor Pool`,`Dog Friendly`,`Beach Access`,`Value`],link:`https://expedia.com/affiliates/cannon-beach-hotels-the-wayside-inn.VoCvR8H`,linkRel:`noopener sponsored`},{id:9,name:`Lighthouse Inn`,category:`Boutique`,description:`A cozy retreat tucked away in a quiet neighborhood but just steps from downtown shopping and beach access.`,amenities:[`Kitchenettes`,`Pet Friendly`,`Quiet`,`Walkable`],link:`https://expedia.com/affiliates/cannon-beach-hotels-lighthouse-inn.Dg0n7fK`,linkRel:`noopener sponsored`}],bj=[{id:1,name:`The Wayfarer`,cuisine:`Seafood & Steak`,description:`Upscale oceanfront dining with views of Haystack Rock. Famous for their Dungeness crab mac and cheese and berry cobbler.`,price:`$$$`},{id:2,name:`Driftwood Restaurant & Lounge`,cuisine:`Steakhouse`,description:`A Cannon Beach institution on Main Street. A lively spot with an outdoor deck, excellent steaks, and a classic coastal vibe.`,price:`$$$`},{id:3,name:`Public Coast Brewing`,cuisine:`Brewery & Burgers`,description:`A fun, casual brewery using local ingredients. Known for their fish and chips, grass-fed burgers, and house-made root beer.`,price:`$$`},{id:4,name:`Pelican Brewing`,cuisine:`Brewery`,description:`The Cannon Beach outpost of the famous coast brewery. Features an open kitchen, high ceilings, and award-winning beers.`,price:`$$`},{id:5,name:`Pizza a'fetta`,cuisine:`Italian / Pizza`,description:`Serving gourmet pizza by the slice or pie for over 20 years. Often cited as some of the best pizza on the entire coast.`,price:`$$`},{id:6,name:`Lazy Susan Cafe`,cuisine:`Breakfast / Brunch`,description:`A charming, cottage-style cafe famous for their waffles, omelets, and relaxed garden atmosphere.`,price:`$$`},{id:7,name:`Castaways`,cuisine:`Global / Cajun`,description:`A hidden gem offering a unique menu with Cajun and Caribbean influences. Intimate setting with bold flavors.`,price:`$$$`},{id:8,name:`Ecola Seafoods`,cuisine:`Seafood Market`,description:`A no-frills seafood market and restaurant known for their world-famous smoked salmon jerky and fresh fish and chips.`,price:`$$`},{id:9,name:`Bill's Tavern & Brewhouse`,cuisine:`Pub Fare`,description:`The original brewpub in town. A two-story rustic tavern serving hearty chili, burgers, and their own ales.`,price:`$$`},{id:10,name:`Warren House Pub`,cuisine:`Pub Fare`,description:`Located in Tolovana Park, this cozy pub offers a relaxed escape from the downtown crowds with great food and drink.`,price:`$$`},{id:11,name:`Mo's Cannon Beach`,cuisine:`Seafood`,description:`An oceanfront location of the Oregon classic. Large windows offer great views to accompany their famous clam chowder.`,price:`$$`},{id:12,name:`Sleepy Monk Coffee Roasters`,cuisine:`Coffee House`,description:`The go-to spot for locals and visitors. Organic coffee roasted on-site and incredible pastries. Expect a line out the door!`,price:`$`},{id:13,name:`Insomnia Coffee Co.`,cuisine:`Coffee`,description:`A modern coffee shop near the beach access, perfect for grabbing a latte before a morning walk on the sand.`,price:`$`},{id:14,name:`Crepe Neptune`,cuisine:`Creperie`,description:`A sweet and savory crepe shop. Perfect for a portable treat to take down to the beach.`,price:`$`},{id:15,name:`Seasons Cafe`,cuisine:`Sandwiches & Salads`,description:`Fresh, healthy options including gourmet sandwiches and homemade soups in a small, artistic setting.`,price:`$$`}],xj=`
  <p>Welcome to Newport, the beating heart of the central Oregon Coast and a city where maritime heritage meets modern discovery. Anchored by the iconic Yaquina Bay Bridge—a masterpiece of Art Deco architecture—Newport is a working fishing port, a world-class research hub, and a beloved vacation destination all rolled into one. From the bark of sea lions on the Historic Bayfront to the quiet literary retreat of Nye Beach, this city offers a diverse coastal experience that appeals to families, foodies, and outdoor enthusiasts alike.</p>
  <p>Newport is famously known as the "Dungeness Crab Capital of the World," but its marine credentials go far deeper. It is home to the Oregon Coast Aquarium, one of the nation's top aquariums, and the Hatfield Marine Science Center, making it a premier destination for learning about the Pacific Ocean's mysteries. The city boasts not one but two historic lighthouses: the towering Yaquina Head Lighthouse, the tallest in Oregon, and the charming Yaquina Bay Lighthouse, the only wooden lighthouse still standing in the state.</p>
  <p>Whether you're storm watching from a cliffside hotel, crabbing off the public pier, exploring the rock pools at low tide, or enjoying a pint at the headquarters of Rogue Ales, Newport delivers an authentic and invigorating coastal adventure. It is a place where industry and nature coexist, offering visitors a front-row seat to the power and bounty of the Pacific.</p>
`,Sj=[{name:`Oregon Coast Aquarium`,description:`Consistently ranked among the top ten aquariums in North America, this world-class facility immerses you in the mysteries of the Oregon coast. Walk through the 'Passages of the Deep' acrylic tunnels surrounded by sharks and rays, watch playful sea otters, and explore touch pools teeming with local life.`,details:`Open daily. Tickets required. Located in South Beach.`},{name:`Yaquina Head Outstanding Natural Area`,description:`Home to Oregon's tallest lighthouse (93 feet), this basalt headland extends one mile into the Pacific. It offers incredible tide pooling at Cobble Beach, bird watching (thousands of common murres), and whale watching opportunities from the cliffs.`,details:`$7/vehicle fee. Lighthouse tours available by reservation.`},{name:`Historic Bayfront`,description:`A bustling working waterfront where fishing trawlers unload their catch alongside tourist shops and restaurants. The air is filled with the sound of barking sea lions that lounge on the docks, making it the liveliest spot in town.`,details:`Free to walk. Great for souvenirs and fresh seafood markets.`},{name:`Nye Beach District`,description:`Newport's historic resort neighborhood offers a distinct artsy vibe. With its turn-of-the-century architecture, independent bookstores, galleries, and bakeries, it feels like a village within a city. The beach access here leads to miles of sandy shore.`,details:`Very walkable. Excellent dining and shopping.`},{name:`Yaquina Bay Lighthouse`,description:`Built in 1871, this is the only existing wooden lighthouse in Oregon. Though it was active for only three years, it has been beautifully restored and sits atop a bluff within Yaquina Bay State Recreation Site, offering commanding views of the bridge and bay entrance.`,details:`Self-guided tours.Allegedly haunted.`},{name:`Hatfield Marine Science Center`,description:`Operated by Oregon State University, this research facility features a public visitor center with interactive exhibits on marine geology, tsunamis, and ocean ecology. It's a fantastic educational stop where science comes alive.`,details:`Donation suggested. majestic Giant Pacific Octopus on display.`},{name:`Devil's Punchbowl State Natural Area`,description:`Just north of town, this collapsed sea cave creates a churning, boiling cauldron of water during high tide and storms. At very low tide, you can hike inside the bowl to see the geology from within.`,details:`Surfers frequent the adjacent beach. Great picnic spot.`},{name:`Marine Discovery Tours`,description:`Hop aboard the Discovery for a guided cruise of the bay and ocean. These tours offer a great chance to see gray whales, harbor porpoises, seals, and diverse sea birds while learning from on-board naturalists.`,details:`Reservations recommended. Tours depart from the Bayfront.`}],Cj=[{name:`Yaquina Head Summit & Communications Hill`,distance:`1 - 2 miles`,difficulty:`Moderate`,description:`Located within the Outstanding Natural Area, these trails take you to the top of the headland for sweeping views of the lighthouse, the coastline to the north and south, and migrating whales.`},{name:`Mike Miller Educational Park Trail`,distance:`1.2 mile loop`,difficulty:`Easy`,description:`A hidden gem in South Beach, this trail winds through a pristine coastal forest of spruce, pine, and native rhododendrons. It's quiet, well-maintained, and perfect for a peaceful nature walk away from the wind.`},{name:`Ocean to Bay Trail`,distance:`3 miles varied`,difficulty:`Easy/Moderate`,description:`This trail system connects the beach to the bay, passing through varied terrain including deflation plain wetlands and coastal shore pine forests. It's a great way to see the diversity of the peninsula.`},{name:`South Beach State Park Jetty Trail`,distance:`2.5 miles (one way)`,difficulty:`Easy`,description:`A paved and accessible trail that runs along the South Jetty. It's popular for biking and jogging, offering views of the bridge, the channel entrance, and surfers catching waves at the jetty.`},{name:`Lucky Gap Trail`,distance:`3 miles round trip`,difficulty:`Moderate`,description:`Located a few miles north near Otter Rock, this trail takes you through dense forest down to a secluded stretch of beach. It's less crowded than the main accesses in town.`},{name:`Big Creek Park Trail`,distance:`1.5 miles`,difficulty:`Moderate/Hard`,elevation:`Steep sections`,description:`An urban forest experience that feels miles away from the city. The trails wind through towering trees and ferns alongside Big Creek, offering a lush, green escape.`}],wj=[{name:`Sylvia Beach Hotel`,category:`Boutique/Literary`,description:`A world-famous hotel for book lovers located in Nye Beach. There are no TVs, radios, or WiFi to distract you. Each room is themed after a famous author (like Agatha Christie, Dr. Seuss, or Hemingway), and the third-floor library offers ocean views.`,amenities:`Oceanfront library, breakfast included, author-themed rooms.`,link:`https://expedia.com/affiliates/newport-hotels.XG28wG4`},{name:`Hallmark Resort - Newport`,category:`Luxury`,description:`Sitting prominently on the bluff overlooking the ocean, every room offers a view. It's famous for its pet-friendly attitude and easy beach access. The on-site restaurant, Georgie's, is a local favorite.`,amenities:`Saltwater pool, pet-friendly, private balconies.`,link:`https://expedia.com/affiliates/newport-hotels-hallmark-resort-newport.XG28wG4`},{name:`Elizabeth Oceanfront Suites`,category:`Luxury`,description:`Perched on a bluff, this hotel offers panoramic views of the Pacific. Known for its warm hospitality (fresh cookies in the lobby) and spacious suites with fireplaces, it's perfect for storm watching.`,amenities:`Complimentary breakfast, indoor pool, fireplaces in rooms.`,link:`https://expedia.com/affiliates/newport-hotels-elizabeth-oceanfront-suites.XG28wG4`},{name:`Best Western Plus Agate Beach Inn`,category:`Mid-Range`,description:`Located near Agate Beach, offering fantastic ocean views, easy beach access, and a relaxing indoor pool area.`,amenities:`Indoor pool, ocean views, easy beach access.`,link:`https://expedia.com/affiliates/newport-hotels-best-western-plus-agate-beach-inn.XG28wG4`},{name:`Inn at Nye Beach`,category:`Boutique/Eco`,description:`A modern, eco-friendly boutique hotel in the heart of Nye Beach. Features an infinity spa overlooking the ocean and stylish, contemporary design.`,amenities:`Infinity spa, direct beach access, loose leaf tea bar.`,link:`https://expedia.com/affiliates/newport-hotels.XG28wG4`},{name:`Little Creek Cove Beachfront Resort`,category:`Vacation Rental/Resort`,description:`Tucked away by a freshwater pond near Agate Beach, these condos offer privacy and unique architecture. Each unit has ocean views and easy beach access.`,amenities:`Full kitchens, covered parking, secluded feel.`,link:`https://expedia.com/affiliates/newport-hotels-little-creek-cove-beachfront-resort.XG28wG4`}],Tj=[{name:`Local Ocean Seafoods`,category:`Upscale Seafood`,description:`The gold standard for Newport dining. Part fish market, part restaurant, the menu changes daily based on what the local fleet brings in. The glass walls roll up in summer for an open-air bayfront experience.`,features:`Dock-to-table, fresh market, grilled roasted crab.`},{name:`Clearwater Restaurant`,category:`Seafood/View`,description:`Located directly on the bay with sea lions often barking just below the deck. The dining room is elegant with massive windows, serving high-quality seafood and steaks.`,features:`Sea lion viewing, outdoor patio, craft cocktails.`},{name:`Georgie's Beachside Grill`,category:`Casual/Upscale`,description:`A legendary spot for breakfast and dinner with unbeatable ocean views. The menu is vast, but the seafood dishes and prime rib are consistent crowd-pleasers.`,features:`Ocean views, kid-friendly, extensive menu.`},{name:`Rogue Ales Bayfront Public House`,category:`Brewery`,description:`The headquarters of the Rogue Nation. Located right on the working waterfront, it's a chaotic, fun, and iconic spot to grab a Dead Guy Ale and a Kobe beef burger.`,features:`Iconic brewery, merchandise shop, pub fare.`},{name:`Mo's Seafood & Chowder`,category:`Casual/Historic`,description:`An Oregon Coast institution. The original location on the Bayfront is famous for its clam chowder served in a bread bowl. It's bustling, noisy, and a must-do for first-timers.`,features:`Famous chowder, bay views, family style.`},{name:`Nana's Irish Pub`,category:`Pub/Comfort`,description:`Located in Nye Beach, this authentic Irish pub serves hearty shepherd's pie, fish and chips, and properly poured Guinness. The atmosphere is cozy and welcoming.`,features:`Live music, authentic Irish fare, patio seating.`},{name:`Sorella`,category:`Italian`,description:`A gem in Nye Beach offering handmade pastas and wood-fired pizzas. The vibe is rustic-chic, and the food rivals big-city Italian restaurants.`,features:`Handmade pasta, wood-fired pizza, craft cocktails.`},{name:`Newport Chowder Bowls`,category:`Casual`,description:`A favorite at Nye Beach for a quick, delicious bowl of chowder. Simple, unpretentious, and consistently rated among the best chowders on the coast.`,features:`Award-winning chowder, gluten-free options.`},{name:`Panini Bakery`,category:`Bakery/Lunch`,description:`A tiny spot in Nye Beach known for incredible pastries, artisan breads, and gourmet sandwiches. Get there early—the cinnamon rolls sell out fast.`,features:`Artisan breads, espresso, outdoor seating.`},{name:`Zach's Bistro`,category:`Fine Dining`,description:`An intimate dining experience in Nye Beach. The menu focuses on seasonal, local ingredients prepared with French techniques.`,features:`Romantic atmosphere, seasonal menu, extensive wine list.`},{name:`The Coffee House`,category:`Cafe`,description:`A historic Bayfront cottage turned into a cozy coffee shop. It feels like stepping into a grandma's house, serving excellent coffee and house-made scones.`,features:`Bay views, cozy interior, breakfast sandwiches.`},{name:`Chowder Bowl at Nye Beach`,category:`Casual/Seafood`,description:`Not to be confused with others, this spot has been serving comfort food and seafood classics in Nye Beach since 1980. Relaxed and reliable.`,features:`Classic coastal decor, prime rib dip, patio.`}],Ej=`Located at the mouth of the Siuslaw River, Florence is a vibrant coastal playground where the towering Oregon Dunes meet the sea. As the gateway to the Oregon Dunes National Recreation Area, this charming town offers some of the most dramatic landscapes on the entire coast, with sand dunes rising up to 500 feet above the ocean.

Historic Old Town Florence is the heart of the community, nestled beneath the iconic Art Deco arches of the Siuslaw River Bridge. Here, visitors can stroll along the boardwalk, explore quaint boutiques and art galleries, and watch fishing boats unload their daily catch. The scent of saltwater taffy and fresh clam chowder fills the air, inviting exploration of the town's rich culinary scene.

Nature lovers flock to Florence for its diversity. Just north of town lies the Heceta Head Lighthouse, one of the most photographed lighthouses in the world, and the Sea Lion Caves, America's largest sea cave. Whether you're sandboarding down massive dunes, exploring carnivorous plant gardens, or enjoying a sunset river cruise, Florence delivers an unforgettable mix of adventure and coastal charm.`,Dj=[{name:`Oregon Dunes National Recreation Area`,description:`Stretching 40 miles south from Florence, these are the largest expanse of coastal sand dunes in North America. Visitors can hike, ride dune buggies, or sandboard down slopes that tower up to 500 feet above sea level.`,details:`Recreation passes required for some areas. Rentals available in town.`},{name:`Heceta Head Lighthouse`,description:`Perched 205 feet above the ocean, this working lighthouse casts its beam 21 miles out to sea. It is the brightest light on the Oregon coast and offers stunning views, tours of the keeper's house, and scenic hiking trails.`,details:`State Park parking fee ($5). Tours available seasonally.`},{name:`Sea Lion Caves`,description:`America's largest sea cave and a year-round home for Steller sea lions. An elevator descends 200 feet through solid rock to the massive cavern, where visitors can watch sea lions, sea birds, and whales in their natural habitat.`,details:`Located 11 miles north. Entry fee required.`},{name:`Historic Old Town Florence`,description:`A charming riverfront district located below the Siuslaw River Bridge. Walk the boardwalk, browse art galleries, shop for antiques, and enjoy fresh seafood while watching the river flow by.`,details:`Free parking. Great spot for dining and souvenirs.`},{name:`Siuslaw River Bridge`,description:`Designed by legendary bridge architect Conde B. McCullough, this 1936 Art Deco bascule bridge is an architectural gem. Its four gothic-style towers house the machinery that lifts the span for passing ships.`,details:`Walkable sidewalks offer great river views.`},{name:`Darlingtonia State Natural Site`,description:`An 18-acre botanical park dedicated to the preservation of the Cobra Lily (Darlingtonia californica), the only carnivorous plant native to Oregon. Wooden boardwalks allow safe viewing of these fascinating insect-eating plants.`,details:`Free admission. Best viewing is in late spring.`},{name:`Jessie M. Honeyman Memorial State Park`,description:`Known locally as 'Honeyman,' this park features two freshwater lakes surrounded by sand dunes. It's a favorite spot for camping, swimming, boating, and sliding down the dunes directly into Cleawox Lake.`,details:`Day-use fee or state park pass required.`},{name:`Three Rivers Casino Resort`,description:`A major entertainment hub on the coast, offering slots, table games, and live entertainment. The resort also features several restaurants and a golf course nestled in the dunes.`,details:`Open 24/7. Shuttle service available from local hotels.`}],Oj=[{name:`Hobbit Trail`,distance:`1.0 mile round trip`,difficulty:`Easy`,description:`A magical, moss-draped tunnel trail that leads from the highway through dense forest to a secluded stretch of sandy beach. It feels like stepping into a fantasy novel.`},{name:`Sweet Creek Falls Trail`,distance:`2.2 miles round trip`,difficulty:`Easy`,description:`A family-friendly trail featuring a series of beautiful waterfalls cascading over mossy rocks. The trail follows the creek with metal catwalks bolted into the canyon walls.`},{name:`Heceta Head Lighthouse Trail`,distance:`1.5 miles round trip`,difficulty:`Moderate`,elevation:`400 ft gain`,description:`Starting from the beach, this trail climbs steadily to the lighthouse and continues behind it to a breathtaking viewpoint. Great for spotting migrating whales.`},{name:`Siltcoos Lake Trail`,distance:`3.5 miles loop`,difficulty:`Easy/Moderate`,description:`Wander through lush rainforest and wetlands around the largest lake on the Oregon Coast. It's an excellent spot for birdwatching and enjoying peaceful forest solitude.`},{name:`Waxmyrtle Trail`,distance:`1.5 miles (one way)`,difficulty:`Easy`,description:`Located south of Florence, this trail follows the Siltcoos River estuary out to the beach. It winds through coastal scrub and dunes, offering great wildlife viewing opportunities.`},{name:`Sutton Trails (Loop)`,distance:`3.0 miles loop`,difficulty:`Moderate`,description:`A diverse trail system winding through dunes, pine forests, and marshlands. It connects the Sutton Campground to the beach, offering a mix of coastal ecosystems.`}],kj=[{name:`Driftwood Shores Resort`,category:`Oceanfront`,description:`The only oceanfront hotel in Florence, offering rooms with private balconies directly overlooking the waves. Features an indoor aquatic center and restaurant with sunset views.`,amenities:`Indoor pool/slide, restaurant, kitchenettes available.`,link:`https://expedia.com/affiliates/florence-hotels-driftwood-shores-resort-conference-center.XG28wG4`},{name:`River House Inn`,category:`Riverfront`,description:`Located in Old Town right on the Siuslaw River. This charming inn offers easy walking access to shops and restaurants, with many rooms featuring river views and balconies.`,amenities:`River views, walking distance to Old Town, continental breakfast.`,link:`https://expedia.com/affiliates/florence-hotels.XG28wG4`},{name:`Edwin K Bed & Breakfast`,category:`Boutique/B&B`,description:`A beautifully restored 1914 Craftsman home offering elegant rooms and gourmet multi-course breakfasts. It provides a quiet, romantic atmosphere in the heart of Old Town.`,amenities:`Gourmet breakfast, private baths, garden courtyard.`,link:`https://expedia.com/affiliates/florence-hotels.XG28wG4`},{name:`The Landmark Inn`,category:`Boutique`,description:`Perched on a hill overlooking Old Town, this inn offers clean, comfortable rooms with a touch of historic charm. Some rooms feature jacuzzis and views of the bridge.`,amenities:`Free WiFi, coffee, easy Old Town access.`,link:`https://expedia.com/affiliates/florence-hotels.XG28wG4`},{name:`Old Town Inn`,category:`Budget/Value`,description:`Consistently rated as one of the best values in town. It's clean, friendly, and located just a short walk from the riverfront district.`,amenities:`Free breakfast, impeccably clean, friendly staff.`,link:`https://expedia.com/affiliates/florence-hotels.XG28wG4`},{name:`Best Western Pier Point Inn`,category:`Mid-Range`,description:`Located across the river from Old Town, offering stunning panoramic views of the bridge and town. Rooms are spacious and modern.`,amenities:`Indoor pool, sauna, full breakfast, river views.`,link:`https://expedia.com/affiliates/florence-hotels.XG28wG4`},{name:`Three Rivers Casino Resort`,category:`Resort`,description:`For those looking for entertainment, this resort offers modern rooms, multiple dining options, and casino action all under one roof.`,amenities:`Casino, golf course, multiple restaurants, shuttle.`,link:`https://expedia.com/affiliates/florence-hotels.XG28wG4`}],Aj=[{name:`Waterfront Depot`,category:`Upscale American`,description:`Housed in a former train station on the river, this is Florence's premier dining spot. Famous for their Crab-Crusted Alaskan Halibut and intimate, historic atmosphere.`,features:`River views, historic building, reservations recommended.`},{name:`Mo's Restaurant`,category:`Casual Seafood`,description:`An Oregon Coast icon located right on the docks in Old Town. Famous for their clam chowder, panoramic river views, and family-friendly vibe.`,features:`Famous chowder, outdoor seating, river views.`},{name:`Novelli's Crab & Seafood`,category:`Seafood Float`,description:`Dining literally *on* the river. This floating eatery serves fresh crab caught by the owner. It doesn't get fresher than this.`,features:`Floating restaurant, fresh-caught crab, seasonal.`},{name:`Homegrown Public House`,category:`Gastropub`,description:`Dedicated to farm-to-table dining with a menu that changes with the seasons. They offer excellent vegan and gluten-free options alongside hearty burgers.`,features:`Local ingredients, craft beer, dietary-friendly.`},{name:`Bridgewater Fish House`,category:`Seafood/Steak`,description:`A spacious restaurant in Old Town with a large menu featuring everything from zebra fish to ribeye steaks. The rustic-chic decor creates a welcoming ambiance.`,features:`Large groups welcome, diverse menu, full bar.`},{name:`The Hukilau`,category:`Hawaiian/Sushi`,description:`Bringing the aloha spirit to the Oregon Coast. Enjoy fresh sushi, poke bowls, and Hawaiian plate lunches in a fun, tropical setting.`,features:`Sushi bar, tiki cocktails, island vibes.`},{name:`1285 Restobar`,category:`Italian`,description:`A cozy spot in Old Town serving scratch-made pasta, wood-fired pizzas, and excellent wines. A local favorite for a romantic dinner.`,features:`Homemade pasta, extensive wine list, cozy atmosphere.`},{name:`River Roasters`,category:`Cafe`,description:`The place for coffee connoisseurs. They roast their own beans and offer a cozy space to watch the river fog lift in the morning.`,features:`House-roasted coffee, river views, pastries.`},{name:`BJ's Ice Cream`,category:`Sweets`,description:`An Old Town staple serving massive scoops of Umpqua Dairy ice cream and homemade waffle cones. The smell of baking cones draws you in from the street.`,features:`Homemade waffle cones, saltwater taffy.`},{name:`Lovejoy's Restaurant`,category:`British Tea Room`,description:`A charming English-style tea room and restaurant serving bangers and mash, shepherd's pie, and proper high tea.`,features:`High tea, British comfort food, eclectic decor.`},{name:`Nosh Eatery`,category:`Casual/Eclectic`,description:`A hip spot offering unique small plates, sliders, and creative cocktails. Great for a light lunch or happy hour.`,features:`Small plates, craft cocktails, modern vibe.`}],jj=`Known as the "Cranberry Capital of Oregon," Bandon offers a mesmerizing blend of rugged seascapes, world-class golf, and charming small-town heritage. Located at the mouth of the Coquille River, this coastal gem is famous for its dramatic sea stacks—most notably Face Rock—which rise majestically from the surf, creating one of the most photographed vistas on the Pacific Coast.

Bandon's historic Old Town district is a delightful walkable area filled with art galleries, candy shops, and restaurants serving fresh local seafood. The vibrant waterfront comes alive with crabbers and fishing boats, while the nearby Coquille River Lighthouse stands as a sentinel to the town's rich maritime past. Golf enthusiasts flock here from around the globe to experience Bandon Dunes Golf Resort, widely considered one of the finest links courses in the world.

Beyond the greens and galleries, Bandon is a nature lover's paradise. The beaches are wide and perfect for beachcombing, especially during the "Circles in the Sand" labyrinth events. Whether you're watching storm waves crash against the rocks, exploring the tidal flats of the Bandon Marsh National Wildlife Refuge, or enjoying a bowl of legendary clam chowder, Bandon delivers an unforgettable Oregon Coast experience.`,Mj=[{name:`Face Rock State Scenic Viewpoint`,description:`The crown jewel of Bandon's coastline. This viewpoint offers stunning vistas of massive sea stacks, including the famous Face Rock, which resembles a face looking up toward the sky. An American Indian legend tells the story of the princess whose face is frozen in stone.`,details:`Free parking and beach access. Best viewed at sunset.`},{name:`Coquille River Lighthouse`,description:`Built in 1896, this historic lighthouse guarded the dangerous river bar for decades. Now retired, it serves as a beloved landmark located within Bullards Beach State Park. Visitors can walk out on the jetty for incredible views of the river meeting the ocean.`,details:`Open seasonally. Located at the north jetty.`},{name:`Bandon Dunes Golf Resort`,description:`A world-renowned destination for true links golf. With multiple courses perched on rugged cliffs overlooking the Pacific, it offers a raw, authentic golfing experience similar to Scotland. Even non-golfers enjoy the resort's trails and restaurants.`,details:`Public welcome at restaurants. Walking-only courses.`},{name:`Old Town Bandon`,description:`The heart of the city, spanning 10 square blocks near the harbor. It's packed with local flavor, including the famous Cranberry Sweets & More, Tony's Crab Shack, and numerous art galleries featuring local driftwood art.`,details:`Great for walking. Historic arch marks the entrance.`},{name:`Circles in the Sand`,description:`A unique, ephemeral art installation and walking meditation created on the beach during low tides. Artists draw intricate labyrinths in the sand for the public to walk through before the tide washes them away.`,details:`Check schedule for dates. Free to participate.`},{name:`Bullards Beach State Park`,description:`Located just across the river, this expansive park features 4.5 miles of open beach, a large campground, and equestrian trails. It's a prime spot for driftwood collecting, biking, and exploring the lighthouse grounds.`,details:`Year-round camping (yurts available). Day-use fee required.`},{name:`Washed Ashore Gallery`,description:`A fascinating non-profit project that builds massive, colorful sculptures of marine life entirely from plastic pollution collected from beaches. It's both an art exhibit and an educational experience about ocean conservation.`,details:`Located in Old Town. Free admission (donations welcome).`},{name:`Bandon Historical Society Museum`,description:`Housed in a former city hall building, this museum preserves the history of the Coquille Indians, the devastating fires of 1914 and 1936, and the region's cranberry and timber industries.`,details:`Small admission fee. extensive photo archives.`}],Nj=[{name:`Oregon Coast Trail (Bandon Section)`,distance:`Varies (beach walk)`,difficulty:`Moderate`,description:`The stretch of beach from Old Town south to Devil's Kitchen is spectacular. You'll pass Face Rock, Cat and Kittens rocks, and miles of pristine sand. Watch the tides closely as some areas are impassable at high tide.`},{name:`Bullards Beach Trail`,distance:`2.5 miles (one way)`,difficulty:`Easy`,description:`A paved and hard-packed trail winding through shore pines and grassy dunes behind the beach. It connects the campground to the lighthouse, making it perfect for families and cyclists.`},{name:`Seven Devils State Recreation Site`,distance:`1-3 miles (beach access)`,difficulty:`Moderate`,description:`A secluded beach access point north of Bandon. The trail down to the beach is short, but the beach walking here offers solitude and excellent agate hunting away from the crowds.`},{name:`New River Nature Center Trails`,distance:`3.5 miles (network)`,difficulty:`Easy`,description:`A network of gentle trails winding through coastal scrub, dunes, and wetlands along the New River. It's a fantastic spot for birdwatching and seeing a rare coastal river that runs parallel to the ocean.`},{name:`Coquille River Walk`,distance:`1.0 mile round trip`,difficulty:`Easy`,description:`A pleasant stroll along the Bandon waterfront in Old Town. Walk along the boardwalk, watch the crab boats unload their catch, and enjoy views of the lighthouse across the river.`},{name:`Face Rock Intertidal Walk`,distance:`Varies`,difficulty:`Easy`,description:`More of a beach exploration than a hike. At low tide, you can walk out near the sea stacks to explore vibrant tide pools filled with anemones, sea stars, and crabs. Use caution and respect marine life.`}],Pj=[{name:`Bandon Dunes Golf Resort`,category:`Luxury/Resort`,description:`The premier lodging experience in Bandon. Set among the dunes and golf courses, the resort offers a variety of accommodations from lodge rooms to private cottages, all with understated elegance and focus on the game.`,amenities:`Multiple restaurants, shuttle service, spa, world-class golf.`,link:`https://expedia.com/affiliates/bandon-hotels.XG28wG4`},{name:`Bandon Inn`,category:`Mid-Range`,description:`Perched on a bluff overlooking Old Town and the harbor, Bandon Inn offers some of the best views in town. It's centrally located, making it easy to walk to shops and restaurants.`,amenities:`Complimentary breakfast, ocean view rooms, pet-friendly.`,link:`https://expedia.com/affiliates/bandon-hotels-bandon-inn.XG28wG4`},{name:`Best Western Inn at Face Rock`,category:`Mid-Range`,description:`Located near the beach access for Face Rock, this hotel offers comfortable, reliable lodging with great amenities. The indoor pool is a hit with families.`,amenities:`Indoor pool, hot tub, breakfast included, beach access nearby.`,link:`https://expedia.com/affiliates/bandon-hotels.XG28wG4`},{name:`The Inn at Old Town`,category:`Budget/Boutique`,description:`A simple, clean, and modern motel located directly across from the Old Town arch. It's the perfect basecamp for travelers who want to be in the center of the action without breaking the bank.`,amenities:`Walkable location, modern decor, free parking.`,link:`https://expedia.com/affiliates/bandon-hotels.XG28wG4`},{name:`Sunset Oceanfront Lodging`,category:`View/Mid-Range`,description:`True to its name, this property sits right on the edge of the bluff offering unobstructed ocean views. Accommodations range from motel-style rooms to larger 'Vern Brown' suites.`,amenities:`Oceanfront decks, indoor pool, beach access trail.`,link:`https://expedia.com/affiliates/bandon-hotels-sunset-oceanfront-lodging.XG28wG4`},{name:`Lamplighter Inn`,category:`Budget`,description:`A classic roadside motel that has been nicely updated. It offers clean, comfortable rooms at a great value, located along Highway 101 just a short drive from Old Town.`,amenities:`Free Wi-Fi, pet-friendly, friendly service.`,link:`https://expedia.com/affiliates/bandon-hotels.XG28wG4`},{name:`Windermere on the Beach`,category:`Beachfront`,description:`One of the few hotels with direct beach access right out the door. The rooms are simple, but the location—steps from the sand and Face Rock—is unbeatable.`,amenities:`Private beach access, ocean views, duplex-style cottages.`,link:`https://expedia.com/affiliates/bandon-hotels.XG28wG4`}],Fj=[{name:`Tony's Crab Shack`,category:`Casual Seafood`,description:`A Bandon icon on the boardwalk. Order fresh crab cocktails, shrimp melts, or their famous clam chowder at the counter and eat outside watching the boats.`,features:`Fresh seafood market, boardwalk seating, casual vibe.`},{name:`Edgewaters`,category:`Upscale`,description:`Offering steak and seafood with a view. Located upstairs in Old Town, Edgewaters features large windows overlooking the river and harbor. The menu is diverse, featuring everything from sushi to prime rib.`,features:`Harbor views, sushi bar, full bar.`},{name:`Bandon Fish Market`,category:`Casual`,description:`Located in the distinctive blue building on the waterfront, this is the place for traditional fish and chips. The portions are huge, the fish is fresh, and the batter is crispy.`,features:`Fish & chips, smoked salmon, chowder.`},{name:`Alloro Wine Bar & Restaurant`,category:`Upscale/Italian`,description:`An intimate dining experience featuring handmade pasta, fresh coastal ingredients, and an impressive wine list. It brings a touch of fine Italian dining to the coast.`,features:`Handmade pasta, extensive wine selection, romantic atmosphere.`},{name:`The Wheelhouse`,category:`View/Seafood`,description:`Located in the upstairs of a historic building in Old Town, The Wheelhouse offers solid seafood and pasta dishes with commanding views of the boat basin.`,features:`Crow's Nest viewing area, family-friendly, lunch & dinner.`},{name:`Foley's Irish Pub`,category:`Casual/Pub`,description:`A cozy, authentic-feeling Irish pub serving bangers and mash, shepherd's pie, and properly poured Guinness. It's a warm spot to hide from the coastal wind.`,features:`Irish fare, full bar, cozy atmosphere.`},{name:`Coastal Mist`,category:`Dessert/Bakery`,description:`A high-end chocolate boutique and bakery that rivals anything in Europe. Their desserts are works of art, and they also offer excellent savory lunch options.`,features:`Artisan chocolates, European pastries, light lunch.`},{name:`Bandon Brewing Company`,category:`Brewery`,description:`A laid-back brewpub with wood-fired pizzas and house-made beers. It's a great gathering spot for groups and families after a day on the beach.`,features:`Wood-fired pizza, craft beer, game room.`},{name:`Lord Bennett's`,category:`Fine Dining`,description:`Perched on the cliffs near Face Rock, Lord Bennett's is known for its spectacular sunset views and classic seafood dishes like Hazelnut Crusted Halibut.`,features:`Ocean views, sunset dining, classic menu.`},{name:`The Rolling Pin`,category:`Breakfast/Bakery`,description:`A local favorite for breakfast and lunch. Known for giant biscuits and gravy, fresh pastries, and a friendly, bustling atmosphere.`,features:`Hearty breakfast, fresh baked goods, waterfront location.`}],Ij=(e,t)=>{let n=0;for(let t=0;t<e.length;t++)n=e.charCodeAt(t)+((n<<5)-n);return{latOffset:Math.abs(Math.sin(n+t))*.02-.01,lngOffset:Math.abs(Math.cos(n+t))*.02-.01}},Lj=e=>e?.toString().toLowerCase().replace(/\s+/g,`-`).replace(/[^\w-]/g,``)||``,Rj=(()=>{let e=[];return Object.values(Y).forEach(t=>{e.push({id:`town-${Lj(t.name)}`,name:t.name,town:t.name,category:`Town`,lat:t.geo?.lat||45,lng:t.geo?.lng||-124,description:t.description,imageUrl:t.heroImage,link:t.route})}),Object.entries({Astoria:{attractions:pj,trails:mj,restaurants:hj},"Cannon Beach":{attractions:_j,trails:vj,restaurants:bj},Newport:{attractions:Sj,trails:Cj,restaurants:Tj},Florence:{attractions:Dj,trails:Oj,restaurants:Aj},Bandon:{attractions:Mj,trails:Nj,restaurants:Fj}}).forEach(([t,n])=>{let r=Y[Lj(t)]?.geo||{lat:45,lng:-124};n.attractions?.forEach((n,i)=>{let a=Ij(n.name,i);e.push({id:`attraction-${Lj(t)}-${Lj(n.name)}`,name:n.name,town:t,category:`Attractions`,lat:r.lat+a.latOffset,lng:r.lng+a.lngOffset,description:n.description,imageUrl:n.image||`https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=800&q=80`,link:`/town/${Lj(t)}#${Lj(n.name)}`})}),n.trails?.forEach((n,i)=>{let a=Ij(n.name,i+100);e.push({id:`trail-${Lj(t)}-${Lj(n.name)}`,name:n.name,town:t,category:`Trails`,lat:r.lat+a.latOffset,lng:r.lng+a.lngOffset,description:n.description,imageUrl:n.image||`https://images.unsplash.com/photo-1511497584788-876760111969?auto=format&fit=crop&w=800&q=80`,link:`/town/${Lj(t)}#${Lj(n.name)}`})}),n.restaurants?.forEach((n,i)=>{let a=Ij(n.name,i+200);e.push({id:`restaurant-${Lj(t)}-${Lj(n.name)}`,name:n.name,town:t,category:`Restaurants`,lat:r.lat+a.latOffset,lng:r.lng+a.lngOffset,description:n.description,imageUrl:n.image||`https://images.unsplash.com/photo-1414235077428-338989a2e8c0?auto=format&fit=crop&w=800&q=80`,link:`/town/${Lj(t)}#${Lj(n.name)}`})})}),Object.entries(jC).forEach(([t,n])=>{let r=Y[Lj(t)]?.geo;r&&n.forEach((n,i)=>{if(n.name===`Coming Soon`)return;let a=Ij(n.name,i+300);e.push({id:`hotel-${Lj(t)}-${Lj(n.name)}`,name:n.name,town:t,category:`Hotels`,lat:r.lat+a.latOffset,lng:r.lng+a.lngOffset,description:`Experience a wonderful stay at ${n.name} in ${t}. Book now for the best rates and ocean views.`,imageUrl:n.photoUrl,link:`/hotel/${Lj(t)}-${Lj(n.name)}`,affiliateLink:n.link})})}),e})(),zj=e=>Rj.find(t=>t.id===e);function Bj(){let{id:e}=et(),t=zj(e);return t?(0,B.jsxs)(`div`,{className:`min-h-screen bg-gray-50 flex flex-col`,children:[(0,B.jsxs)(J,{children:[(0,B.jsxs)(`title`,{children:[t.name,` | Book on Expedia | Oregon Coast`]}),(0,B.jsx)(`meta`,{name:`description`,content:`Stay at ${t.name} in ${t.town}. Book your Oregon Coast getaway today on Expedia for the best rates.`})]}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`main`,{className:`flex-grow max-w-4xl mx-auto w-full px-4 sm:px-6 lg:px-8 py-8`,children:[(0,B.jsxs)(un,{to:`/map`,className:`inline-flex items-center text-sm font-medium text-gray-500 hover:text-[#2d5016] mb-6`,children:[(0,B.jsx)(ba,{className:`w-4 h-4 mr-1`}),` Back to Interactive Map`]}),(0,B.jsxs)(`article`,{className:`bg-white rounded-2xl shadow-lg border border-gray-200 overflow-hidden`,children:[(0,B.jsxs)(`div`,{className:`h-64 sm:h-96 w-full relative`,children:[(0,B.jsx)(`img`,{src:t.imageUrl,alt:t.name,className:`w-full h-full object-cover`,onError:e=>{e.target.src=`https://images.unsplash.com/photo-1582719508461-905c673771fd?auto=format&fit=crop&w=800&q=80`}}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-t from-black/80 via-black/20 to-transparent flex items-end`,children:(0,B.jsxs)(`div`,{className:`p-6 sm:p-8 w-full flex flex-col sm:flex-row justify-between items-end gap-4`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsxs)(`span`,{className:`inline-flex items-center px-3 py-1 rounded-full text-xs font-semibold bg-purple-500 text-white mb-3 shadow-sm`,children:[(0,B.jsx)(Ca,{className:`w-3 h-3 mr-1`}),` Featured Lodging`]}),(0,B.jsx)(`h1`,{className:`text-3xl sm:text-4xl font-bold text-white mb-2 drop-shadow-md`,children:t.name}),(0,B.jsxs)(`p`,{className:`text-gray-200 flex items-center text-sm sm:text-base font-medium`,children:[(0,B.jsx)(H,{className:`w-4 h-4 mr-1`}),` `,t.town,`, Oregon Coast`]})]}),t.affiliateLink&&(0,B.jsxs)(`a`,{href:t.affiliateLink,target:`_blank`,rel:`noreferrer`,className:`w-full sm:w-auto flex justify-center items-center px-6 py-3 bg-[#000080] text-white text-lg font-bold rounded-lg hover:bg-[#000050] transition-colors shadow-lg transform hover:scale-105 active:scale-95`,children:[`Book on Expedia `,(0,B.jsx)($a,{className:`w-5 h-5 ml-2`})]})]})})]}),(0,B.jsxs)(`div`,{className:`p-6 sm:p-8`,children:[(0,B.jsxs)(`div`,{className:`grid md:grid-cols-3 gap-8`,children:[(0,B.jsxs)(`div`,{className:`md:col-span-2`,children:[(0,B.jsx)(`h2`,{className:`text-2xl font-bold text-gray-900 mb-4`,children:`About this Property`}),(0,B.jsx)(`div`,{className:`prose max-w-none text-gray-700 mb-8`,children:(0,B.jsx)(`p`,{className:`leading-relaxed text-lg`,children:t.description})}),(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 mb-4`,children:`Why Book Here?`}),(0,B.jsxs)(`ul`,{className:`space-y-3 mb-8`,children:[(0,B.jsxs)(`li`,{className:`flex items-center text-gray-700`,children:[(0,B.jsx)(Ua,{className:`w-5 h-5 text-green-500 mr-3 shrink-0`}),` Secure your reservation instantly on Expedia.`]}),(0,B.jsxs)(`li`,{className:`flex items-center text-gray-700`,children:[(0,B.jsx)(Ua,{className:`w-5 h-5 text-green-500 mr-3 shrink-0`}),` Find the best rates and exclusive deals.`]}),(0,B.jsxs)(`li`,{className:`flex items-center text-gray-700`,children:[(0,B.jsx)(Ua,{className:`w-5 h-5 text-green-500 mr-3 shrink-0`}),` Read verified guest reviews before booking.`]})]})]}),(0,B.jsxs)(`div`,{className:`bg-gray-50 p-6 rounded-xl border border-gray-100 h-fit`,children:[(0,B.jsxs)(`h3`,{className:`font-bold text-gray-900 mb-4 flex items-center border-b pb-2`,children:[(0,B.jsx)(Go,{className:`w-5 h-5 text-yellow-500 mr-2`}),` Location Info`]}),(0,B.jsxs)(`div`,{className:`space-y-4 text-sm`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`block text-gray-500 font-medium mb-1`,children:`Town`}),(0,B.jsx)(`span`,{className:`text-gray-900 font-semibold`,children:t.town})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`span`,{className:`block text-gray-500 font-medium mb-1`,children:`Coordinates`}),(0,B.jsxs)(`span`,{className:`text-gray-900 font-mono bg-gray-200 px-2 py-1 rounded text-xs`,children:[t.lat.toFixed(4),`, `,t.lng.toFixed(4)]})]}),(0,B.jsx)(`div`,{className:`pt-4 mt-4 border-t`,children:(0,B.jsxs)(`a`,{href:`https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(t.name+` `+t.town+` Oregon`)}`,target:`_blank`,rel:`noreferrer`,className:`flex items-center justify-center w-full px-4 py-2 bg-white border-2 border-gray-200 text-gray-700 text-sm font-bold rounded-lg hover:bg-gray-50 hover:border-gray-300 transition-colors`,children:[(0,B.jsx)(H,{className:`w-4 h-4 mr-2`}),` View on Google Maps`]})})]})]})]}),t.affiliateLink&&(0,B.jsxs)(`div`,{className:`mt-8 pt-8 border-t border-gray-200 text-center`,children:[(0,B.jsxs)(`h3`,{className:`text-xl font-bold text-gray-900 mb-4`,children:[`Ready to experience `,t.town,`?`]}),(0,B.jsxs)(`a`,{href:t.affiliateLink,target:`_blank`,rel:`noreferrer`,className:`inline-flex justify-center items-center px-8 py-4 bg-[#000080] text-white text-xl font-bold rounded-xl hover:bg-[#000050] transition-colors shadow-xl transform hover:-translate-y-1`,children:[`Check Availability on Expedia `,(0,B.jsx)($a,{className:`w-6 h-6 ml-2`})]}),(0,B.jsx)(`p`,{className:`mt-4 text-xs text-gray-400`,children:`We may earn a commission if you book through this link, at no extra cost to you.`})]})]})]})]}),(0,B.jsx)(Ux,{})]}):(0,B.jsxs)(`div`,{className:`min-h-screen flex flex-col bg-gray-50`,children:[(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`flex-grow flex items-center justify-center flex-col`,children:[(0,B.jsx)(`h2`,{className:`text-2xl font-bold text-gray-800 mb-4`,children:`Hotel Not Found`}),(0,B.jsxs)(un,{to:`/map`,className:`text-[#2d5016] hover:underline flex items-center`,children:[(0,B.jsx)(ba,{className:`w-4 h-4 mr-2`}),` Back to Map`]})]}),(0,B.jsx)(Ux,{})]})}var Vj=({hideOnHomepage:e=!1})=>{let[t,n]=(0,y.useState)(!1),[r,i]=(0,y.useState)(null),a=Xe(),o=I(),{isAuthenticated:s=!1,logout:c=()=>{}}=Jd()||{},l=a.pathname===`/`;if(e&&l)return null;let u={"North Coast":`/north-coast`,"Central Coast":`/central-coast`,"South Coast":`/south-coast`},d={"North Coast":Bx.northCoast,"Central Coast":Bx.centralCoast,"South Coast":Bx.southCoast},f=Bf(a.pathname),p={"@context":`https://schema.org`,"@type":`SiteNavigationElement`,name:[`Home`,`North Coast`,`Central Coast`,`South Coast`,`Maps`],url:[`https://oregoncoastal.com/`,`https://oregoncoastal.com/north-coast`,`https://oregoncoastal.com/central-coast`,`https://oregoncoastal.com/south-coast`,`https://oregoncoastal.com/maps`]},m=()=>{c&&c(),o(`/`),n(!1)},h=({title:e,regionKey:t})=>(0,B.jsxs)(`div`,{className:`relative group h-full flex items-center`,onMouseEnter:()=>i(t),onMouseLeave:()=>i(null),children:[(0,B.jsxs)(un,{to:u[t],className:`flex items-center text-[var(--nav-text)] hover:bg-[var(--nav-hover)] font-sans font-medium uppercase tracking-[0.1em] text-xs h-full px-4 transition-colors`,children:[e,(0,B.jsx)(Ia,{className:`ml-1 w-3 h-3 text-[var(--nav-text)] opacity-70`})]}),(0,B.jsx)(Mb,{children:r===t&&(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:10},transition:{duration:.15},className:`absolute top-full left-0 mt-0 w-64 bg-[var(--nav-bg)] rounded-b-md shadow-xl border border-[var(--nav-border)] z-50 max-h-[70vh] overflow-y-auto custom-scrollbar`,children:[(0,B.jsx)(`div`,{className:`px-6 py-4 border-b border-[var(--nav-border)] bg-[var(--nav-hover)]`,children:(0,B.jsx)(un,{to:u[t],className:`text-xs font-serif font-bold text-[var(--nav-text)] uppercase tracking-widest hover:text-white/80 transition-colors`,children:`View All Towns`})}),d[t].map((e,t)=>(0,B.jsx)(un,{to:e.route,className:`block px-6 py-3 text-[var(--nav-text)] hover:bg-[var(--nav-hover)] transition-colors font-sans text-sm border-b border-[var(--nav-border)] last:border-0 truncate`,children:e.name},t))]})})]});return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(J,{children:[f&&(0,B.jsx)(`script`,{type:`application/ld+json`,children:JSON.stringify(f)}),(0,B.jsx)(`script`,{type:`application/ld+json`,children:JSON.stringify(p)}),(0,B.jsx)(`link`,{rel:`canonical`,href:`https://oregoncoastal.com${a.pathname}`})]}),(0,B.jsxs)(`nav`,{className:`sticky top-0 z-50 bg-[var(--nav-bg)] border-b border-[var(--nav-border)] shadow-md flex flex-col`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 w-full`,children:[(0,B.jsxs)(`div`,{className:`md:hidden flex justify-between items-center h-20`,children:[(0,B.jsx)(un,{to:`/`,className:`flex-shrink-0`,children:(0,B.jsx)(`img`,{src:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/2543bbb56c2bd1e5a7aeddeb85168a0f.png`,alt:`Oregon Coastal Travel Guide logo`,className:`h-10 w-auto brightness-0 invert`})}),(0,B.jsxs)(`div`,{className:`flex items-center gap-4`,children:[s&&(0,B.jsx)(`button`,{onClick:m,className:`text-[var(--nav-text)] hover:text-red-400 transition-colors`,children:(0,B.jsx)(So,{className:`w-5 h-5`})}),(0,B.jsx)(`button`,{onClick:()=>n(!t),className:`text-[var(--nav-text)] hover:text-white/80 transition-colors`,children:t?(0,B.jsx)(ls,{className:`w-6 h-6`}):(0,B.jsx)(To,{className:`w-6 h-6`})})]})]}),(0,B.jsxs)(`div`,{className:`hidden md:flex items-center justify-center h-24 relative`,children:[(0,B.jsxs)(`div`,{className:`flex items-center space-x-2 mr-6 h-full`,children:[(0,B.jsx)(un,{to:`/`,className:`flex items-center text-[var(--nav-text)] hover:bg-[var(--nav-hover)] font-sans font-medium uppercase tracking-[0.1em] text-xs h-full px-4 transition-colors`,children:`Home`}),(0,B.jsx)(h,{title:`North Coast`,regionKey:`North Coast`}),(0,B.jsx)(h,{title:`Central Coast`,regionKey:`Central Coast`})]}),(0,B.jsx)(un,{to:`/`,className:`flex-shrink-0 px-8`,children:(0,B.jsx)(`img`,{src:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/2543bbb56c2bd1e5a7aeddeb85168a0f.png`,alt:`Oregon Coastal Travel Guide logo`,className:`w-[200px] h-auto hover:opacity-80 transition-opacity drop-shadow-md`})}),(0,B.jsxs)(`div`,{className:`flex items-center space-x-2 ml-6 h-full relative right-[160px]`,children:[(0,B.jsx)(h,{title:`South Coast`,regionKey:`South Coast`}),(0,B.jsxs)(un,{to:`/maps`,className:`flex items-center text-[var(--nav-text)] hover:bg-[var(--nav-hover)] font-sans font-medium uppercase tracking-[0.1em] text-xs h-full px-4 transition-colors`,children:[(0,B.jsx)(wo,{className:`w-3 h-3 mr-2 opacity-70`}),` Maps`]}),s&&(0,B.jsxs)(Sw,{onClick:m,variant:`ghost`,className:`text-[var(--nav-text)] hover:bg-red-900/50 hover:text-white ml-4`,size:`sm`,children:[(0,B.jsx)(So,{className:`w-4 h-4 mr-2`}),` Logout`]})]})]})]}),(0,B.jsx)(Mb,{children:t&&(0,B.jsx)(q.div,{initial:{height:0,opacity:0},animate:{height:`auto`,opacity:1},exit:{height:0,opacity:0},className:`md:hidden border-t border-[var(--nav-border)] overflow-hidden bg-[var(--nav-bg)]`,children:(0,B.jsxs)(`div`,{className:`px-6 py-6 space-y-4`,children:[(0,B.jsx)(un,{onClick:()=>n(!1),to:`/`,className:`block font-serif font-bold uppercase tracking-widest text-[var(--nav-text)] hover:bg-[var(--nav-hover)] transition-colors border-b border-[var(--nav-border)] pb-3`,children:`Home`}),(0,B.jsxs)(un,{onClick:()=>n(!1),to:`/maps`,className:`block font-serif font-bold uppercase tracking-widest text-[var(--nav-text)] hover:bg-[var(--nav-hover)] transition-colors border-b border-[var(--nav-border)] pb-3 flex items-center`,children:[(0,B.jsx)(wo,{className:`w-4 h-4 mr-2 opacity-70`}),` Maps`]}),(0,B.jsx)(un,{onClick:()=>n(!1),to:`/north-coast`,className:`block font-serif font-bold uppercase tracking-widest text-[var(--nav-text)] hover:bg-[var(--nav-hover)] transition-colors border-b border-[var(--nav-border)] pb-3`,children:`North Coast`}),(0,B.jsx)(un,{onClick:()=>n(!1),to:`/central-coast`,className:`block font-serif font-bold uppercase tracking-widest text-[var(--nav-text)] hover:bg-[var(--nav-hover)] transition-colors border-b border-[var(--nav-border)] pb-3`,children:`Central Coast`}),(0,B.jsx)(un,{onClick:()=>n(!1),to:`/south-coast`,className:`block font-serif font-bold uppercase tracking-widest text-[var(--nav-text)] hover:bg-[var(--nav-hover)] transition-colors p-2 -ml-2 rounded-md`,children:`South Coast`})]})})}),f.itemListElement.length>1&&(0,B.jsx)(`div`,{className:`bg-[var(--nav-bg)] border-t border-[var(--nav-border)] py-3 hidden md:block shadow-inner`,children:(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto px-4 sm:px-6 lg:px-8`,children:(0,B.jsx)(`ol`,{className:`flex items-center space-x-3 text-xs font-sans text-white/60`,children:f.itemListElement.map((e,t)=>(0,B.jsxs)(`li`,{className:`flex items-center`,children:[t>0&&(0,B.jsx)(Ra,{className:`w-3 h-3 mx-2 text-[var(--nav-border)]`}),t===0?(0,B.jsx)(un,{to:e.item.replace(`https://oregoncoastal.com`,``)||`/`,className:`hover:text-white transition-colors`,children:(0,B.jsx)(lo,{className:`w-3 h-3`})}):t===f.itemListElement.length-1?(0,B.jsx)(`span`,{className:`font-medium text-[var(--nav-text)] tracking-widest uppercase`,children:e.name}):(0,B.jsx)(un,{to:e.item.replace(`https://oregoncoastal.com`,``),className:`hover:text-[var(--nav-text)] transition-colors tracking-widest uppercase`,children:e.name})]},t))})})})]})]})},Hj=({attractions:e,townName:t,geo:n,url:r})=>{if(!e||!Array.isArray(e)||e.length===0)return null;let i={"@context":`https://schema.org`,"@graph":e.map(e=>{let i={"@type":`TouristAttraction`,name:e?.name||e?.title||`Untitled Attraction`,description:e?.description||``};return e?.image&&(i.image=e.image),r&&(i.url=r),t&&(i.address={"@type":`PostalAddress`,addressLocality:t,addressRegion:`OR`,addressCountry:`US`}),n&&typeof n.lat==`number`&&typeof n.lng==`number`&&(i.geo={"@type":`GeoCoordinates`,latitude:n.lat,longitude:n.lng}),i})};return(0,B.jsx)(J,{children:(0,B.jsx)(`script`,{type:`application/ld+json`,children:JSON.stringify(i)})})},Uj=()=>{let{pathname:e}=Xe();return(0,y.useLayoutEffect)(()=>{window.scrollTo({top:0,left:0,behavior:`instant`})},[e]),null},Wj=({src:e,alt:t,className:n,onClick:r,isActive:i,onImageLoad:a,onImageError:o})=>{let[s,c]=(0,y.useState)(!1),[l,u]=(0,y.useState)(!1);return(0,B.jsxs)(`div`,{className:`relative ${n} bg-gray-100 overflow-hidden cursor-pointer group`,onClick:r,children:[!l&&!s&&(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gray-200 animate-pulse flex items-center justify-center`,children:(0,B.jsx)(bo,{className:`w-4 h-4 text-gray-400 animate-spin`})}),s?(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gray-100 flex items-center justify-center flex-col p-2 text-center border border-[#1C1C1A]`,children:(0,B.jsx)(uo,{className:`w-6 h-6 text-gray-300 mb-1`})}):(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-opacity duration-500 ${l?`opacity-100`:`opacity-0`}`,loading:`lazy`,onLoad:t=>{u(!0),a&&a(e)},onError:t=>{c(!0),u(!0),o&&o(e,t)}}),i&&(0,B.jsx)(`div`,{className:`absolute inset-0 ring-4 ring-lime-500 ring-inset z-10 pointer-events-none rounded-none`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-black/0 group-hover:bg-black/10 transition-colors duration-300`})]})},Gj=({featuredImage:e,images:t,title:n=`Photo Gallery`,townName:r})=>{let[i,a]=(0,y.useState)(null),[o,s]=(0,y.useState)([]),[c,l]=(0,y.useState)(!0),[u,d]=(0,y.useState)(!1),[f,p]=(0,y.useState)(!1),m=(0,y.useCallback)(async()=>{if(!r)l(!1);else{l(!0);try{let{data:t,error:n}=await Kd.from(`town_photos`).select(`id, image_url, thumbnail_url, caption, created_at`).eq(`town_name`,r).order(`created_at`,{ascending:!1});if(!n&&t&&t.length>0){let e=t.map(e=>({id:e.id,full:e.image_url,thumb:e.thumbnail_url||e.image_url,caption:e.caption||`Scenic view of ${r} landscape, Oregon Coast`,datePublished:e.created_at}));s(e),a(e[0].full)}else a(e)}catch{a(e)}finally{l(!1)}}},[r,e]);(0,y.useEffect)(()=>{s([]),d(!1),p(!1),a(null),m()},[r,m]),(0,y.useEffect)(()=>{p(!1),d(!1)},[i]);let h=(t||[]).map((e,t)=>({id:`static-${t}`,full:e,thumb:e,caption:`Scenic landscape view of ${r} on the Oregon Coast`})),g=o.length>0?o:h,_=i||(g.length>0?g[0].full:e),v=g.find(e=>e.full===_)?.caption||`Beautiful coastal scenery at ${r}, Oregon`,b=g.map(e=>({"@context":`https://schema.org`,"@type":`ImageObject`,url:e.full,name:e.caption||`${r} Photo`,description:e.caption||`A beautiful image representing ${r} on the Oregon Coast.`,contentUrl:e.full,thumbnailUrl:e.thumb,author:{"@type":`Organization`,name:`Oregon Coast Travel Guide`},datePublished:e.datePublished||new Date().toISOString()})),x=()=>{let e=g.findIndex(e=>e.full===_);if(e===-1)return;let t=(e+1)%g.length;a(g[t].full)},S=()=>{let e=g.findIndex(e=>e.full===_);if(e===-1)return;let t=(e-1+g.length)%g.length;a(g[t].full)};if(c&&g.length===0)return(0,B.jsx)(`section`,{className:`py-12 px-4 bg-gray-50 border-t border-[#1C1C1A]`,children:(0,B.jsx)(`div`,{className:`max-w-6xl mx-auto flex flex-col items-center justify-center h-96 bg-gray-100 rounded-none border border-[#1C1C1A] shadow-editorial animate-pulse`,children:(0,B.jsx)(bo,{className:`w-10 h-10 text-gray-400 animate-spin mb-4`})})});let C=g.filter(e=>e.full&&e.full.trim().length>0);return C.length===0&&!e?null:(0,B.jsxs)(`section`,{className:`py-12 px-4 bg-gradient-to-b from-white to-gray-50 border-t border-[#1C1C1A]`,children:[(0,B.jsx)(J,{children:b.map((e,t)=>(0,B.jsx)(`script`,{type:`application/ld+json`,children:JSON.stringify(e)},t))}),(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},className:`text-center mb-10`,children:[(0,B.jsx)(`h2`,{className:`text-3xl font-bold text-[#2d5016] mb-3`,children:n}),(0,B.jsx)(`div`,{className:`h-1 w-20 bg-lime-500 mx-auto rounded-none border border-[#1C1C1A] shadow-editorial`})]}),(0,B.jsxs)(`div`,{className:`relative w-full aspect-video min-h-[300px] max-h-[600px] rounded-none border border-[#1C1C1A] shadow-editorial overflow-hidden mb-8 bg-gray-100 group flex items-center justify-center`,children:[!f&&!u&&(0,B.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center bg-gray-100 z-10`,children:(0,B.jsx)(bo,{className:`w-10 h-10 text-gray-400 animate-spin`})}),u?(0,B.jsx)(`div`,{className:`flex flex-col items-center justify-center text-gray-400 p-8 z-10 bg-gray-50 w-full h-full`,children:(0,B.jsx)(uo,{className:`w-16 h-16 mb-4 opacity-50`})}):(0,B.jsx)(`img`,{src:_,alt:v,className:`absolute inset-0 w-full h-full object-contain bg-black/80 transition-opacity duration-500 ${f?`opacity-100`:`opacity-0`}`,onLoad:()=>p(!0),onError:()=>{d(!0),p(!0)}},_),C.length>1&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`button`,{onClick:e=>{e.stopPropagation(),S()},className:`absolute left-4 top-1/2 -translate-y-1/2 z-20 p-2 bg-white hover:bg-parchment text-primary rounded-none border border-[#1C1C1A] shadow-editorial transition-colors focus:outline-none focus:ring-2 focus:ring-lime-500 opacity-0 group-hover:opacity-100 hover:-translate-y-1`,"aria-label":`Previous image`,children:(0,B.jsx)(La,{className:`w-8 h-8`})}),(0,B.jsx)(`button`,{onClick:e=>{e.stopPropagation(),x()},className:`absolute right-4 top-1/2 -translate-y-1/2 z-20 p-2 bg-white hover:bg-parchment text-primary rounded-none border border-[#1C1C1A] shadow-editorial transition-colors focus:outline-none focus:ring-2 focus:ring-lime-500 opacity-0 group-hover:opacity-100 hover:-translate-y-1`,"aria-label":`Next image`,children:(0,B.jsx)(Ra,{className:`w-8 h-8`})})]}),v&&f&&!u&&(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-white border-t border-[#1C1C1A] p-4 text-primary transform translate-y-full group-hover:translate-y-0 transition-transform duration-300 z-10`,children:(0,B.jsx)(`p`,{className:`text-center font-medium font-sans uppercase tracking-widest text-sm`,children:v})})]}),C.length>0&&(0,B.jsx)(`div`,{className:`grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4`,children:C.map((e,t)=>(0,B.jsx)(Wj,{src:e.thumb,alt:e.caption||`Thumbnail view of ${r}, Oregon`,isActive:_===e.full,onClick:()=>a(e.full),className:`w-full aspect-[4/3] object-cover rounded-none border border-[#1C1C1A] shadow-editorial transition-all duration-300 hover:-translate-y-1`},`${e.id||t}`))})]})]})},Kj=({townName:e,region:t})=>{let n=t;if(!n&&e){let t=Object.values(Y).find(t=>t.name.toLowerCase()===e.toLowerCase());t&&(n=t.region)}if(!n)return null;let r={"North Coast":`#1f5233`,"Central Coast":`#1e3a8a`,"South Coast":`#92400e`}[n]||`#1f5233`;return(0,B.jsx)(q.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.3},className:`text-white px-4 py-1 rounded-full text-xs font-bold tracking-widest uppercase mb-4 shadow-lg inline-block relative z-20`,style:{backgroundColor:r},children:n})};function qj(e){let t=Object.prototype.toString.call(e);return e instanceof Date||typeof e==`object`&&t===`[object Date]`?new e.constructor(+e):typeof e==`number`||t===`[object Number]`||typeof e==`string`||t===`[object String]`?new Date(e):new Date(NaN)}function Jj(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}function Yj(e,t){let n=qj(e);return isNaN(t)?Jj(e,NaN):(t&&n.setDate(n.getDate()+t),n)}var Xj=6048e5,Zj=864e5,Qj={};function $j(){return Qj}function eM(e,t){let n=$j(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=qj(e),a=i.getDay(),o=(a<r?7:0)+a-r;return i.setDate(i.getDate()-o),i.setHours(0,0,0,0),i}function tM(e){return eM(e,{weekStartsOn:1})}function nM(e){let t=qj(e),n=t.getFullYear(),r=Jj(e,0);r.setFullYear(n+1,0,4),r.setHours(0,0,0,0);let i=tM(r),a=Jj(e,0);a.setFullYear(n,0,4),a.setHours(0,0,0,0);let o=tM(a);return t.getTime()>=i.getTime()?n+1:t.getTime()>=o.getTime()?n:n-1}function rM(e){let t=qj(e);return t.setHours(0,0,0,0),t}function iM(e){let t=qj(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 aM(e,t){let n=rM(e),r=rM(t),i=+n-iM(n),a=+r-iM(r);return Math.round((i-a)/Zj)}function oM(e){let t=nM(e),n=Jj(e,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),tM(n)}function sM(e){return e instanceof Date||typeof e==`object`&&Object.prototype.toString.call(e)===`[object Date]`}function cM(e){if(!sM(e)&&typeof e!=`number`)return!1;let t=qj(e);return!isNaN(Number(t))}function lM(e){let t=qj(e),n=Jj(e,0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}var uM={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`}},dM=(e,t,n)=>{let r,i=uM[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:r+` ago`:r};function fM(e){return(t={})=>{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}var pM={date:fM({formats:{full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},defaultWidth:`full`}),time:fM({formats:{full:`h:mm:ss a zzzz`,long:`h:mm:ss a z`,medium:`h:mm:ss a`,short:`h:mm a`},defaultWidth:`full`}),dateTime:fM({formats:{full:`{{date}} 'at' {{time}}`,long:`{{date}} 'at' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},mM={lastWeek:`'last' eeee 'at' p`,yesterday:`'yesterday at' p`,today:`'today at' p`,tomorrow:`'tomorrow at' p`,nextWeek:`eeee 'at' p`,other:`P`},hM=(e,t,n,r)=>mM[e];function gM(e){return(t,n)=>{let r=n?.context?String(n.context):`standalone`,i;if(r===`formatting`&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=n?.width?String(n.width):t;i=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=n?.width?String(n.width):e.defaultWidth;i=e.values[r]||e.values[t]}let a=e.argumentCallback?e.argumentCallback(t):t;return i[a]}}var _M={ordinalNumber:(e,t)=>{let n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+`st`;case 2:return n+`nd`;case 3:return n+`rd`}return n+`th`},era:gM({values:{narrow:[`B`,`A`],abbreviated:[`BC`,`AD`],wide:[`Before Christ`,`Anno Domini`]},defaultWidth:`wide`}),quarter:gM({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1st quarter`,`2nd quarter`,`3rd quarter`,`4th quarter`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:gM({values:{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`]},defaultWidth:`wide`}),day:gM({values:{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`]},defaultWidth:`wide`}),dayPeriod:gM({values:{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`}},defaultWidth:`wide`,formattingValues:{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`}},defaultFormattingWidth:`wide`})};function vM(e){return(t,n={})=>{let r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(i);if(!a)return null;let o=a[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?bM(s,e=>e.test(o)):yM(s,e=>e.test(o)),l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;let u=t.slice(o.length);return{value:l,rest:u}}}function yM(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function bM(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function xM(e){return(t,n={})=>{let r=t.match(e.matchPattern);if(!r)return null;let i=r[0],a=t.match(e.parsePattern);if(!a)return null;let o=e.valueCallback?e.valueCallback(a[0]):a[0];o=n.valueCallback?n.valueCallback(o):o;let s=t.slice(i.length);return{value:o,rest:s}}}var SM={code:`en-US`,formatDistance:dM,formatLong:pM,formatRelative:hM,localize:_M,match:{ordinalNumber:xM({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:vM({matchPatterns:{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},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:`any`}),quarter:vM({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:vM({matchPatterns:{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},defaultMatchWidth:`wide`,parsePatterns:{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]},defaultParseWidth:`any`}),day:vM({matchPatterns:{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},defaultMatchWidth:`wide`,parsePatterns:{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]},defaultParseWidth:`any`}),dayPeriod:vM({matchPatterns:{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},defaultMatchWidth:`any`,parsePatterns:{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}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function CM(e){let t=qj(e);return aM(t,lM(t))+1}function wM(e){let t=qj(e),n=+tM(t)-oM(t);return Math.round(n/Xj)+1}function TM(e,t){let n=qj(e),r=n.getFullYear(),i=$j(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=Jj(e,0);o.setFullYear(r+1,0,a),o.setHours(0,0,0,0);let s=eM(o,t),c=Jj(e,0);c.setFullYear(r,0,a),c.setHours(0,0,0,0);let l=eM(c,t);return n.getTime()>=s.getTime()?r+1:n.getTime()>=l.getTime()?r:r-1}function EM(e,t){let n=$j(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=TM(e,t),a=Jj(e,0);return a.setFullYear(i,0,r),a.setHours(0,0,0,0),eM(a,t)}function DM(e,t){let n=qj(e),r=+eM(n,t)-EM(n,t);return Math.round(r/Xj)+1}function OM(e,t){return(e<0?`-`:``)+Math.abs(e).toString().padStart(t,`0`)}var kM={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return OM(t===`yy`?r%100:r,t.length)},M(e,t){let n=e.getMonth();return t===`M`?String(n+1):OM(n+1,2)},d(e,t){return OM(e.getDate(),t.length)},a(e,t){let 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 OM(e.getHours()%12||12,t.length)},H(e,t){return OM(e.getHours(),t.length)},m(e,t){return OM(e.getMinutes(),t.length)},s(e,t){return OM(e.getSeconds(),t.length)},S(e,t){let n=t.length,r=e.getMilliseconds();return OM(Math.trunc(r*10**(n-3)),t.length)}},AM={am:`am`,pm:`pm`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},jM={G:function(e,t,n){let r=+(e.getFullYear()>0);switch(t){case`G`:case`GG`:case`GGG`:return n.era(r,{width:`abbreviated`});case`GGGGG`:return n.era(r,{width:`narrow`});default:return n.era(r,{width:`wide`})}},y:function(e,t,n){if(t===`yo`){let t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:`year`})}return kM.y(e,t)},Y:function(e,t,n,r){let i=TM(e,r),a=i>0?i:1-i;return t===`YY`?OM(a%100,2):t===`Yo`?n.ordinalNumber(a,{unit:`year`}):OM(a,t.length)},R:function(e,t){return OM(nM(e),t.length)},u:function(e,t){return OM(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`Q`:return String(r);case`QQ`:return OM(r,2);case`Qo`:return n.ordinalNumber(r,{unit:`quarter`});case`QQQ`:return n.quarter(r,{width:`abbreviated`,context:`formatting`});case`QQQQQ`:return n.quarter(r,{width:`narrow`,context:`formatting`});default:return n.quarter(r,{width:`wide`,context:`formatting`})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`q`:return String(r);case`qq`:return OM(r,2);case`qo`:return n.ordinalNumber(r,{unit:`quarter`});case`qqq`:return n.quarter(r,{width:`abbreviated`,context:`standalone`});case`qqqqq`:return n.quarter(r,{width:`narrow`,context:`standalone`});default:return n.quarter(r,{width:`wide`,context:`standalone`})}},M:function(e,t,n){let r=e.getMonth();switch(t){case`M`:case`MM`:return kM.M(e,t);case`Mo`:return n.ordinalNumber(r+1,{unit:`month`});case`MMM`:return n.month(r,{width:`abbreviated`,context:`formatting`});case`MMMMM`:return n.month(r,{width:`narrow`,context:`formatting`});default:return n.month(r,{width:`wide`,context:`formatting`})}},L:function(e,t,n){let r=e.getMonth();switch(t){case`L`:return String(r+1);case`LL`:return OM(r+1,2);case`Lo`:return n.ordinalNumber(r+1,{unit:`month`});case`LLL`:return n.month(r,{width:`abbreviated`,context:`standalone`});case`LLLLL`:return n.month(r,{width:`narrow`,context:`standalone`});default:return n.month(r,{width:`wide`,context:`standalone`})}},w:function(e,t,n,r){let i=DM(e,r);return t===`wo`?n.ordinalNumber(i,{unit:`week`}):OM(i,t.length)},I:function(e,t,n){let r=wM(e);return t===`Io`?n.ordinalNumber(r,{unit:`week`}):OM(r,t.length)},d:function(e,t,n){return t===`do`?n.ordinalNumber(e.getDate(),{unit:`date`}):kM.d(e,t)},D:function(e,t,n){let r=CM(e);return t===`Do`?n.ordinalNumber(r,{unit:`dayOfYear`}):OM(r,t.length)},E:function(e,t,n){let r=e.getDay();switch(t){case`E`:case`EE`: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`})}},e:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`e`:return String(a);case`ee`:return OM(a,2);case`eo`:return n.ordinalNumber(a,{unit:`day`});case`eee`:return n.day(i,{width:`abbreviated`,context:`formatting`});case`eeeee`:return n.day(i,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(i,{width:`short`,context:`formatting`});default:return n.day(i,{width:`wide`,context:`formatting`})}},c:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`c`:return String(a);case`cc`:return OM(a,t.length);case`co`:return n.ordinalNumber(a,{unit:`day`});case`ccc`:return n.day(i,{width:`abbreviated`,context:`standalone`});case`ccccc`:return n.day(i,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(i,{width:`short`,context:`standalone`});default:return n.day(i,{width:`wide`,context:`standalone`})}},i:function(e,t,n){let r=e.getDay(),i=r===0?7:r;switch(t){case`i`:return String(i);case`ii`:return OM(i,t.length);case`io`:return n.ordinalNumber(i,{unit:`day`});case`iii`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`iiiii`:return n.day(r,{width:`narrow`,context:`formatting`});case`iiiiii`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},a:function(e,t,n){let 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){let r=e.getHours(),i;switch(i=r===12?AM.noon:r===0?AM.midnight:r/12>=1?`pm`:`am`,t){case`b`:case`bb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`bbb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`bbbbb`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},B:function(e,t,n){let r=e.getHours(),i;switch(i=r>=17?AM.evening:r>=12?AM.afternoon:r>=4?AM.morning:AM.night,t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`BBBBB`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},h:function(e,t,n){if(t===`ho`){let t=e.getHours()%12;return t===0&&(t=12),n.ordinalNumber(t,{unit:`hour`})}return kM.h(e,t)},H:function(e,t,n){return t===`Ho`?n.ordinalNumber(e.getHours(),{unit:`hour`}):kM.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return t===`Ko`?n.ordinalNumber(r,{unit:`hour`}):OM(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t===`ko`?n.ordinalNumber(r,{unit:`hour`}):OM(r,t.length)},m:function(e,t,n){return t===`mo`?n.ordinalNumber(e.getMinutes(),{unit:`minute`}):kM.m(e,t)},s:function(e,t,n){return t===`so`?n.ordinalNumber(e.getSeconds(),{unit:`second`}):kM.s(e,t)},S:function(e,t){return kM.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(r===0)return`Z`;switch(t){case`X`:return NM(r);case`XXXX`:case`XX`:return PM(r);default:return PM(r,`:`)}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`x`:return NM(r);case`xxxx`:case`xx`:return PM(r);default:return PM(r,`:`)}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`O`:case`OO`:case`OOO`:return`GMT`+MM(r,`:`);default:return`GMT`+PM(r,`:`)}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`z`:case`zz`:case`zzz`:return`GMT`+MM(r,`:`);default:return`GMT`+PM(r,`:`)}},t:function(e,t,n){return OM(Math.trunc(e.getTime()/1e3),t.length)},T:function(e,t,n){return OM(e.getTime(),t.length)}};function MM(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Math.trunc(r/60),a=r%60;return a===0?n+String(i):n+String(i)+t+OM(a,2)}function NM(e,t){return e%60==0?(e>0?`-`:`+`)+OM(Math.abs(e)/60,2):PM(e,t)}function PM(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=OM(Math.trunc(r/60),2),a=OM(r%60,2);return n+i+t+a}var FM=(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`})}},IM=(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`})}},LM={p:IM,P:(e,t)=>{let n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return FM(e,t);let a;switch(r){case`P`:a=t.dateTime({width:`short`});break;case`PP`:a=t.dateTime({width:`medium`});break;case`PPP`:a=t.dateTime({width:`long`});break;default:a=t.dateTime({width:`full`})}return a.replace(`{{date}}`,FM(r,t)).replace(`{{time}}`,IM(i,t))}},RM=/^D+$/,zM=/^Y+$/,BM=[`D`,`DD`,`YY`,`YYYY`];function VM(e){return RM.test(e)}function HM(e){return zM.test(e)}function UM(e,t,n){let r=WM(e,t,n);if(console.warn(r),BM.includes(e))throw RangeError(r)}function WM(e,t,n){let r=e[0]===`Y`?`years`:`days of the month`;return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}var GM=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,KM=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,qM=/^'([^]*?)'?$/,JM=/''/g,YM=/[a-zA-Z]/;function XM(e,t,n){let r=$j(),i=n?.locale??r.locale??SM,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=qj(e);if(!cM(s))throw RangeError(`Invalid time value`);let c=t.match(KM).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=LM[t];return n(e,i.formatLong)}return e}).join(``).match(GM).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:ZM(e)};if(jM[t])return{isToken:!0,value:e};if(t.match(YM))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));let l={firstWeekContainsDate:a,weekStartsOn:o,locale:i};return c.map(r=>{if(!r.isToken)return r.value;let a=r.value;(!n?.useAdditionalWeekYearTokens&&HM(a)||!n?.useAdditionalDayOfYearTokens&&VM(a))&&UM(a,t,String(e));let o=jM[a[0]];return o(s,a,i.localize,l)}).join(``)}function ZM(e){let t=e.match(qM);return t?t[1].replace(JM,`'`):e}function QM({className:e,...t}){return(0,B.jsx)(`div`,{className:z(`animate-pulse rounded-md bg-primary/10`,e),...t})}var $M=[{id:`9439040`,name:`Astoria (Tongue Point)`,lat:46.216,lon:-123.766,tidesNetPath:`oregon/astoria-tongue-point-columbia-river/`},{id:`9437908`,name:`Seaside / Cannon Beach (Nehalem)`,lat:45.717,lon:-123.933,tidesNetPath:`oregon/astoria-tongue-point-columbia-river/`},{id:`9437331`,name:`Tillamook (Hoquarten Slough)`,lat:45.456,lon:-123.844,tidesNetPath:`oregon/garibaldi-tillamook-bay/`},{id:`9437540`,name:`Garibaldi/Tillamook Bay`,lat:45.558,lon:-123.916,tidesNetPath:`oregon/garibaldi-tillamook-bay/`},{id:`9436101`,name:`Lincoln City (Taft, Siletz Bay)`,lat:44.93,lon:-124.01,tidesNetPath:`oregon/taft-siletz-bay/`},{id:`9435827`,name:`Depoe Bay`,lat:44.81,lon:-124.062,tidesNetPath:`oregon/newport-yaquina-bay/`},{id:`9435380`,name:`South Beach/Newport`,lat:44.625,lon:-124.043,tidesNetPath:`oregon/newport-yaquina-bay/`},{id:`9434939`,name:`Waldport (Alsea Bay)`,lat:44.426,lon:-124.073,tidesNetPath:`oregon/2905/`},{id:`9434032`,name:`Florence (Siuslaw River)`,lat:43.966,lon:-124.1,tidesNetPath:`oregon/florence-siuslaw-river/`},{id:`9433445`,name:`Winchester Bay (Umpqua River Entrance)`,lat:43.676,lon:-124.176,tidesNetPath:`oregon/winchester-bay-umpqua-river/`},{id:`9433501`,name:`Reedsport`,lat:43.7,lon:-124.11,tidesNetPath:`oregon/winchester-bay-umpqua-river/`},{id:`9432780`,name:`Charleston/Coos Bay`,lat:43.345,lon:-124.321,tidesNetPath:`oregon/charleston-coos-bay/`},{id:`9432373`,name:`Bandon (Coquille River)`,lat:43.118,lon:-124.417,tidesNetPath:`oregon/bandon-coquille-river/`},{id:`9431647`,name:`Port Orford`,lat:42.739,lon:-124.498,tidesNetPath:`oregon/port-orford/`},{id:`9431011`,name:`Gold Beach (Rogue River)`,lat:42.407,lon:-124.421,tidesNetPath:`oregon/gold-beach-rogue-river/`},{id:`9430104`,name:`Brookings (Chetco Cove)`,lat:42.043,lon:-124.271,tidesNetPath:`oregon/brookings-chetco-cove/`}].sort((e,t)=>e.name.localeCompare(t.name)),eN=(e,t,n)=>{if(e){let t=e.toLowerCase();if(t.includes(`seaside`)||t.includes(`cannon beach`)||t.includes(`nehalem`))return{...$M.find(e=>e.id===`9437908`),distance:0};if(t.includes(`lincoln city`))return{...$M.find(e=>e.id===`9436101`),distance:0};if(t.includes(`tillamook`)&&!t.includes(`garibaldi`))return{...$M.find(e=>e.id===`9437331`),distance:0};let n=$M.find(e=>e.name.toLowerCase().includes(t));if(n)return{...n,distance:0}}if(!t||!n)return null;let r=null,i=1/0;for(let e of $M){let a=Math.sqrt((e.lat-t)**2+(e.lon-n)**2);a<i&&(i=a,r=e)}return r?{...r,distance:i}:null},tN=e=>{if(!e)return`oregon/2905/`;let t=e.toLowerCase().replace(/ /g,`-`);return t.includes(`astoria`)||t.includes(`seaside`)?`oregon/astoria-tongue-point-columbia-river/`:t.includes(`cannon-beach`)?`oregon/garibaldi-tillamook-bay/`:t.includes(`newport`)?`oregon/newport-yaquina-bay/`:t.includes(`florence`)?`oregon/florence-siuslaw-river/`:t.includes(`coos-bay`)||t.includes(`charleston`)?`oregon/charleston-coos-bay/`:t.includes(`bandon`)?`oregon/bandon-coquille-river/`:t.includes(`lincoln-city`)?`oregon/taft-siletz-bay/`:t.includes(`tillamook`)?`oregon/garibaldi-tillamook-bay/`:t.includes(`gold-beach`)?`oregon/gold-beach-rogue-river/`:$M.find(t=>t.name.toLowerCase().includes(e.toLowerCase()))?.tidesNetPath||`oregon/2905/`},nN=216e5,rN=e=>{let[t,n]=e.split(` `),[r,i,a]=t.split(`-`),[o,s]=n.split(`:`),c=new Date(r,i-1,a),l=parseInt(o,10),u=l>=12?`PM`:`AM`;return{dateObj:c,timeStr:`${l%12||12}:${s} ${u}`,datePart:t}},iN=({defaultStationId:e=`9435380`})=>{let t=(0,y.useMemo)(()=>$M,[]),[n,r]=(0,y.useState)(e),i=t.find(e=>e.id===n),a=i?i.name:`Unknown Station`,[o,s]=(0,y.useState)(null),[c,l]=(0,y.useState)(!0),[u,d]=(0,y.useState)(null),f=(0,y.useCallback)(async(e=!1)=>{if(l(!0),d(null),!i){d(`Tide Data Unavailable: Station ID ${n} not found.`),l(!1);return}let t=`noaa_tides_v2_${n}`;if(!e){let e=localStorage.getItem(t);if(e)try{let t=JSON.parse(e);if(Date.now()-t.timestamp<nN){s(t.data),l(!1);return}}catch(e){console.error(`Cache parsing error:`,e)}}try{let e=new Date,r=`https://api.tidesandcurrents.noaa.gov/api/prod/datagetter?product=predictions&application=oregoncoastal.com&begin_date=${XM(e,`yyyyMMdd`)}&end_date=${XM(Yj(e,5),`yyyyMMdd`)}&datum=MLLW&station=${n}&time_zone=lst_ldt&units=english&interval=hilo&format=json`,i=await fetch(r);if(!i.ok)throw Error(`NOAA API Error: ${i.status} ${i.statusText}`);let a=await i.json();if(a.error)throw Error(a.error.message||`Failed to fetch tide data`);if(!a.predictions||!Array.isArray(a.predictions))throw Error(`Invalid data format received from NOAA`);let o=a.predictions.reduce((e,t)=>{let{dateObj:n,timeStr:r,datePart:i}=rN(t.t);return e[i]||(e[i]={dateObj:n,dateStr:XM(n,`EEEE, MMMM d`),predictions:[]}),e[i].predictions.push({...t,timeStr:r,val:parseFloat(t.v).toFixed(2)}),e},{}),c=Object.values(o).sort((e,t)=>e.dateObj-t.dateObj);localStorage.setItem(t,JSON.stringify({timestamp:Date.now(),data:c})),s(c)}catch(e){console.error(e),d(e.message||`Failed to load tide predictions.`)}finally{l(!1)}},[n,i]);return(0,y.useEffect)(()=>{f()},[f]),u&&!o?(0,B.jsxs)(`div`,{className:`bg-white p-6 rounded-3xl shadow-sm border border-red-100 h-full flex flex-col justify-center items-center text-center`,children:[(0,B.jsxs)(rj,{variant:`destructive`,className:`border-none bg-red-50 text-red-800 mb-4`,children:[(0,B.jsx)(Ba,{className:`h-5 w-5`}),(0,B.jsx)(ij,{children:`Tide Data Unavailable`}),(0,B.jsx)(aj,{children:u})]}),(0,B.jsxs)(Sw,{onClick:()=>f(!0),variant:`outline`,size:`sm`,className:`mt-2 text-red-700 border-red-200 hover:bg-red-50`,children:[(0,B.jsx)(Io,{className:`w-4 h-4 mr-2`}),` Try Again`]})]}):(0,B.jsxs)(`div`,{className:`bg-white p-4 sm:p-6 rounded-3xl shadow-sm border border-slate-200 h-full flex flex-col relative w-full`,children:[c&&(0,B.jsx)(`div`,{className:`absolute top-0 left-0 right-0 h-1 bg-blue-100 overflow-hidden rounded-t-3xl`,children:(0,B.jsx)(`div`,{className:`h-full bg-blue-500 animate-pulse w-1/3 rounded`})}),(0,B.jsxs)(`div`,{className:`flex flex-col sm:flex-row items-start sm:items-center justify-between mb-6 gap-4 border-b border-slate-100 pb-4`,children:[(0,B.jsxs)(`h3`,{className:`text-xl font-bold flex items-center gap-2 text-slate-900`,children:[(0,B.jsx)(rs,{className:`text-blue-500 w-6 h-6`}),`Tide Predictions`]}),(0,B.jsx)(`select`,{value:n,onChange:e=>{r(e.target.value)},disabled:c,className:`bg-slate-50 border border-slate-200 text-slate-700 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full sm:w-auto p-2.5 outline-none transition-colors max-w-[280px] sm:max-w-none truncate`,"aria-label":`Select Tide Station`,children:t.map(e=>(0,B.jsx)(`option`,{value:e.id,children:e.name},e.id))})]}),(0,B.jsx)(`div`,{className:`flex-grow overflow-y-auto max-h-[500px] pr-2 custom-scrollbar space-y-6`,children:c&&!o?(0,B.jsxs)(`div`,{className:`space-y-4`,children:[(0,B.jsx)(QM,{className:`h-8 w-48 mb-2`}),(0,B.jsx)(QM,{className:`h-16 w-full rounded-xl`}),(0,B.jsx)(QM,{className:`h-16 w-full rounded-xl`}),(0,B.jsx)(QM,{className:`h-8 w-48 mt-6 mb-2`}),(0,B.jsx)(QM,{className:`h-16 w-full rounded-xl`})]}):o?.map((e,t)=>(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsx)(`h4`,{className:`font-semibold text-slate-800 sticky top-0 bg-white/95 backdrop-blur py-1 z-10`,children:e.dateStr}),(0,B.jsx)(`div`,{className:`space-y-2`,children:e.predictions.map((e,t)=>{let n=e.type===`H`;return(0,B.jsxs)(`div`,{className:`flex justify-between items-center p-3 sm:p-4 rounded-xl transition-colors ${n?`bg-blue-50/70 border border-blue-100`:`bg-emerald-50/50 border border-emerald-100`}`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-3 w-1/3`,children:[(0,B.jsx)(`div`,{className:`p-1.5 sm:p-2 rounded-full hidden sm:flex ${n?`bg-blue-100 text-blue-600`:`bg-emerald-100 text-emerald-600`}`,children:n?(0,B.jsx)(Ha,{className:`w-4 h-4 sm:w-5 sm:h-5`}):(0,B.jsx)(Va,{className:`w-4 h-4 sm:w-5 sm:h-5`})}),(0,B.jsx)(`span`,{className:`font-bold text-slate-800 text-sm sm:text-base`,children:e.timeStr})]}),(0,B.jsx)(`div`,{className:`flex-1 text-center`,children:(0,B.jsx)(`span`,{className:`inline-flex items-center text-xs sm:text-sm font-bold uppercase tracking-wider ${n?`text-blue-700`:`text-emerald-700`}`,children:n?`High Tide`:`Low Tide`})}),(0,B.jsx)(`div`,{className:`w-1/3 flex flex-col items-end justify-center text-right`,children:(0,B.jsxs)(`span`,{className:`font-mono font-bold text-sm sm:text-base ${n?`text-blue-800`:`text-emerald-800`}`,children:[e.val,` ft`]})})]},t)})})]},t))}),(0,B.jsxs)(`div`,{className:`flex flex-col gap-3 text-xs text-slate-400 mt-4 pt-4 border-t border-slate-100`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-center`,children:[(0,B.jsx)(`span`,{children:`Data: NOAA Tides & Currents — Datum: MLLW`}),(0,B.jsxs)(Sw,{variant:`ghost`,size:`sm`,onClick:()=>f(!0),disabled:c,className:`h-8 text-slate-500 hover:text-blue-600 hover:bg-blue-50 px-2`,children:[(0,B.jsx)(Io,{className:`w-3.5 h-3.5 mr-1.5 ${c?`animate-spin`:``}`}),`Refresh`]})]}),i&&(0,B.jsxs)(`div`,{className:`text-center font-medium text-slate-600 bg-slate-50 rounded-lg py-2 border border-slate-200`,children:[`Predictions for `,a]})]})]})},aN=()=>{let e=new Date,t=new Intl.DateTimeFormat(`en-US`,{timeZone:`America/Los_Angeles`,year:`numeric`,month:`2-digit`,day:`2-digit`}).formatToParts(e),n,r,i;for(let e of t)e.type===`year`&&(n=e.value),e.type===`month`&&(r=e.value),e.type===`day`&&(i=e.value);return`${n}-${r}-${i}`},oN=async(e,t)=>{let n=`https://marine-api.open-meteo.com/v1/marine?latitude=${e}&longitude=${t}&hourly=wave_height,wave_direction,wave_period&length_unit=imperial&timezone=America%2FLos_Angeles&days=2`,r=await fetch(n);if(!r.ok)throw Error(`Failed to fetch wave data`);let i=await r.json();if(!i.hourly||!i.hourly.time)throw Error(`Invalid wave data structure`);let a=new Date,o=[];for(let e=0;e<i.hourly.time.length;e++){let t=new Date(i.hourly.time[e]);t>=new Date(a.getTime()-36e5)&&o.length<24&&o.push({time:t.toISOString(),height:i.hourly.wave_height[e],period:i.hourly.wave_period[e],direction:i.hourly.wave_direction[e]})}return{waveData:o,isMock:!1}},sN=`dangerouslySetInnerHTML.onCopy.onCopyCapture.onCut.onCutCapture.onPaste.onPasteCapture.onCompositionEnd.onCompositionEndCapture.onCompositionStart.onCompositionStartCapture.onCompositionUpdate.onCompositionUpdateCapture.onFocus.onFocusCapture.onBlur.onBlurCapture.onChange.onChangeCapture.onBeforeInput.onBeforeInputCapture.onInput.onInputCapture.onReset.onResetCapture.onSubmit.onSubmitCapture.onInvalid.onInvalidCapture.onLoad.onLoadCapture.onError.onErrorCapture.onKeyDown.onKeyDownCapture.onKeyPress.onKeyPressCapture.onKeyUp.onKeyUpCapture.onAbort.onAbortCapture.onCanPlay.onCanPlayCapture.onCanPlayThrough.onCanPlayThroughCapture.onDurationChange.onDurationChangeCapture.onEmptied.onEmptiedCapture.onEncrypted.onEncryptedCapture.onEnded.onEndedCapture.onLoadedData.onLoadedDataCapture.onLoadedMetadata.onLoadedMetadataCapture.onLoadStart.onLoadStartCapture.onPause.onPauseCapture.onPlay.onPlayCapture.onPlaying.onPlayingCapture.onProgress.onProgressCapture.onRateChange.onRateChangeCapture.onSeeked.onSeekedCapture.onSeeking.onSeekingCapture.onStalled.onStalledCapture.onSuspend.onSuspendCapture.onTimeUpdate.onTimeUpdateCapture.onVolumeChange.onVolumeChangeCapture.onWaiting.onWaitingCapture.onAuxClick.onAuxClickCapture.onClick.onClickCapture.onContextMenu.onContextMenuCapture.onDoubleClick.onDoubleClickCapture.onDrag.onDragCapture.onDragEnd.onDragEndCapture.onDragEnter.onDragEnterCapture.onDragExit.onDragExitCapture.onDragLeave.onDragLeaveCapture.onDragOver.onDragOverCapture.onDragStart.onDragStartCapture.onDrop.onDropCapture.onMouseDown.onMouseDownCapture.onMouseEnter.onMouseLeave.onMouseMove.onMouseMoveCapture.onMouseOut.onMouseOutCapture.onMouseOver.onMouseOverCapture.onMouseUp.onMouseUpCapture.onSelect.onSelectCapture.onTouchCancel.onTouchCancelCapture.onTouchEnd.onTouchEndCapture.onTouchMove.onTouchMoveCapture.onTouchStart.onTouchStartCapture.onPointerDown.onPointerDownCapture.onPointerMove.onPointerMoveCapture.onPointerUp.onPointerUpCapture.onPointerCancel.onPointerCancelCapture.onPointerEnter.onPointerEnterCapture.onPointerLeave.onPointerLeaveCapture.onPointerOver.onPointerOverCapture.onPointerOut.onPointerOutCapture.onGotPointerCapture.onGotPointerCaptureCapture.onLostPointerCapture.onLostPointerCaptureCapture.onScroll.onScrollCapture.onWheel.onWheelCapture.onAnimationStart.onAnimationStartCapture.onAnimationEnd.onAnimationEndCapture.onAnimationIteration.onAnimationIterationCapture.onTransitionEnd.onTransitionEndCapture`.split(`.`);function cN(e){return typeof e==`string`&&sN.includes(e)}var lN=new Set(`aria-activedescendant.aria-atomic.aria-autocomplete.aria-busy.aria-checked.aria-colcount.aria-colindex.aria-colspan.aria-controls.aria-current.aria-describedby.aria-details.aria-disabled.aria-errormessage.aria-expanded.aria-flowto.aria-haspopup.aria-hidden.aria-invalid.aria-keyshortcuts.aria-label.aria-labelledby.aria-level.aria-live.aria-modal.aria-multiline.aria-multiselectable.aria-orientation.aria-owns.aria-placeholder.aria-posinset.aria-pressed.aria-readonly.aria-relevant.aria-required.aria-roledescription.aria-rowcount.aria-rowindex.aria-rowspan.aria-selected.aria-setsize.aria-sort.aria-valuemax.aria-valuemin.aria-valuenow.aria-valuetext.className.color.height.id.lang.max.media.method.min.name.style.target.width.role.tabIndex.accentHeight.accumulate.additive.alignmentBaseline.allowReorder.alphabetic.amplitude.arabicForm.ascent.attributeName.attributeType.autoReverse.azimuth.baseFrequency.baselineShift.baseProfile.bbox.begin.bias.by.calcMode.capHeight.clip.clipPath.clipPathUnits.clipRule.colorInterpolation.colorInterpolationFilters.colorProfile.colorRendering.contentScriptType.contentStyleType.cursor.cx.cy.d.decelerate.descent.diffuseConstant.direction.display.divisor.dominantBaseline.dur.dx.dy.edgeMode.elevation.enableBackground.end.exponent.externalResourcesRequired.fill.fillOpacity.fillRule.filter.filterRes.filterUnits.floodColor.floodOpacity.focusable.fontFamily.fontSize.fontSizeAdjust.fontStretch.fontStyle.fontVariant.fontWeight.format.from.fx.fy.g1.g2.glyphName.glyphOrientationHorizontal.glyphOrientationVertical.glyphRef.gradientTransform.gradientUnits.hanging.horizAdvX.horizOriginX.href.ideographic.imageRendering.in2.in.intercept.k1.k2.k3.k4.k.kernelMatrix.kernelUnitLength.kerning.keyPoints.keySplines.keyTimes.lengthAdjust.letterSpacing.lightingColor.limitingConeAngle.local.markerEnd.markerHeight.markerMid.markerStart.markerUnits.markerWidth.mask.maskContentUnits.maskUnits.mathematical.mode.numOctaves.offset.opacity.operator.order.orient.orientation.origin.overflow.overlinePosition.overlineThickness.paintOrder.panose1.pathLength.patternContentUnits.patternTransform.patternUnits.pointerEvents.pointsAtX.pointsAtY.pointsAtZ.preserveAlpha.preserveAspectRatio.primitiveUnits.r.radius.refX.refY.renderingIntent.repeatCount.repeatDur.requiredExtensions.requiredFeatures.restart.result.rotate.rx.ry.seed.shapeRendering.slope.spacing.specularConstant.specularExponent.speed.spreadMethod.startOffset.stdDeviation.stemh.stemv.stitchTiles.stopColor.stopOpacity.strikethroughPosition.strikethroughThickness.string.stroke.strokeDasharray.strokeDashoffset.strokeLinecap.strokeLinejoin.strokeMiterlimit.strokeOpacity.strokeWidth.surfaceScale.systemLanguage.tableValues.targetX.targetY.textAnchor.textDecoration.textLength.textRendering.to.transform.u1.u2.underlinePosition.underlineThickness.unicode.unicodeBidi.unicodeRange.unitsPerEm.vAlphabetic.values.vectorEffect.version.vertAdvY.vertOriginX.vertOriginY.vHanging.vIdeographic.viewTarget.visibility.vMathematical.widths.wordSpacing.writingMode.x1.x2.x.xChannelSelector.xHeight.xlinkActuate.xlinkArcrole.xlinkHref.xlinkRole.xlinkShow.xlinkTitle.xlinkType.xmlBase.xmlLang.xmlns.xmlnsXlink.xmlSpace.y1.y2.y.yChannelSelector.z.zoomAndPan.ref.key.angle`.split(`.`));function uN(e){return typeof e==`string`&&lN.has(e)}function dN(e){return typeof e==`string`&&e.startsWith(`data-`)}function fN(e){if(typeof e!=`object`||!e)return{};var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(uN(n)||dN(n))&&(t[n]=e[n]);return t}function pN(e){if(e==null)return null;if((0,y.isValidElement)(e)&&typeof e.props==`object`&&e.props!==null){var t=e.props;return fN(t)}return typeof e==`object`&&!Array.isArray(e)?fN(e):null}function mN(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(uN(n)||dN(n)||cN(n))&&(t[n]=e[n]);return t}function hN(e){return e==null?null:(0,y.isValidElement)(e)?mN(e.props):typeof e==`object`&&!Array.isArray(e)?mN(e):null}var gN=[`children`,`width`,`height`,`viewBox`,`className`,`style`,`title`,`desc`];function _N(){return _N=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_N.apply(null,arguments)}function vN(e,t){if(e==null)return{};var n,r,i=yN(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function yN(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var bN=(0,y.forwardRef)((e,t)=>{var n=e.children,r=e.width,i=e.height,a=e.viewBox,o=e.className,s=e.style,c=e.title,l=e.desc,u=vN(e,gN),d=a||{width:r,height:i,x:0,y:0},f=Cn(`recharts-surface`,o);return y.createElement(`svg`,_N({},mN(u),{className:f,width:r,height:i,style:s,viewBox:`${d.x} ${d.y} ${d.width} ${d.height}`,ref:t}),y.createElement(`title`,null,c),y.createElement(`desc`,null,l),n)}),xN=[`children`,`className`];function SN(){return SN=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},SN.apply(null,arguments)}function CN(e,t){if(e==null)return{};var n,r,i=wN(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function wN(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var TN=y.forwardRef((e,t)=>{var n=e.children,r=e.className,i=CN(e,xN),a=Cn(`recharts-layer`,r);return y.createElement(`g`,SN({className:a},mN(i),{ref:t}),n)});function EN(e){return e===`__proto__`}var DN=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function ON(e){switch(typeof e){case`number`:case`symbol`:return!1;case`string`:return e===``||e.startsWith(`.`)||e.endsWith(`.`)?!1:DN.test(e);default:return!1}}function kN(e){return typeof e==`string`||typeof e==`symbol`?e:Object.is(e?.valueOf?.(),-0)?`-0`:String(e)}function AN(e){return typeof e==`symbol`||e instanceof Symbol}function jN(e){return e==null?``:MN(e)}function MN(e){if(typeof e==`string`)return e;if(Array.isArray(e))return e.map(MN).join(`,`);if(AN(e))return e.toString();let t=e+``;return t===`0`&&Object.is(Number(e),-0)?`-0`:t}function NN(e){if(Array.isArray(e))return e.map(kN);if(typeof e==`symbol`)return[e];e=jN(e);let t=[],n=e.length;if(n===0)return t;let r=0,i=``,a=``,o=!1,s=!1,c=/^-?\d+(?:\.\d+)?$/;for(e.charCodeAt(0)===46&&t.push(``);r<n;){let l=e[r];if(a)l===`\\`&&r+1<n?(r++,i+=e[r]):l===a?a=``:i+=l;else if(o){if(l===`"`||l===`'`)a=l,s=!0;else if(l===`]`){if(o=!1,!s&&i.includes(`.`)&&!c.test(i)){let e=i.split(`.`);for(let n=0;n<e.length;n++)e[n]!==``&&t.push(e[n])}else t.push(i);i=``}else i+=l}else if(l===`[`)o=!0,s=!1,i&&=(t.push(i),``);else if(l===`.`){i&&=(t.push(i),``);let n=e[r+1];(n===void 0||n===`.`)&&t.push(``)}else i+=l;r++}return i&&t.push(i),t}function PN(e,t,n){if(e==null)return n;switch(typeof t){case`string`:{if(EN(t))return n;let r=e[t];return r===void 0?ON(t)&&!Object.hasOwn(e,t)?PN(e,NN(t),n):n:r}case`number`:case`symbol`:{typeof t==`number`&&(t=kN(t));let r=e[t];return r===void 0?n:r}default:{if(Array.isArray(t))return FN(e,t,n);if(t=Object.is(t?.valueOf(),-0)?`-0`:String(t),EN(t))return n;let r=e[t];return r===void 0?n:r}}}function FN(e,t,n){if(t.length===0)return n;let r=e;for(let e=0;e<t.length;e++){if(r==null||EN(t[e]))return n;r=r[t[e]]}return r===void 0?n:r}var IN=4;function LN(e){var t=10**(arguments.length>1&&arguments[1]!==void 0?arguments[1]:IN),n=Math.round(e*t)/t;return Object.is(n,-0)?0:n}function RN(e){var t=[...arguments].slice(1);return e.reduce((e,n,r)=>{var i=t[r-1];return typeof i==`string`?e+i+n:i===void 0?e+n:e+LN(i)+n},``)}var zN=e=>e===0?0:e>0?1:-1,BN=e=>typeof e==`number`&&e!=+e,VN=e=>typeof e==`string`&&e.length>1&&e.indexOf(`%`)===e.length-1,Q=e=>(typeof e==`number`||e instanceof Number)&&!BN(e),HN=e=>Q(e)||typeof e==`string`,UN=0,WN=e=>{var t=++UN;return`${e||``}${t}`},GN=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(!Q(e)&&typeof e!=`string`)return n;var i;if(VN(e)){if(t==null)return n;var a=e.indexOf(`%`);i=t*parseFloat(e.slice(0,a))/100}else i=+e;return BN(i)&&(i=n),r&&t!=null&&i>t&&(i=t),i},KN=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;r<t;r++)if(!n[String(e[r])])n[String(e[r])]=!0;else return!0;return!1};function qN(e,t,n){return Q(e)&&Q(t)?LN(e+n*(t-e)):t}function JN(e,t,n){if(e&&e.length)return e.find(e=>e&&(typeof t==`function`?t(e):PN(e,t))===n)}var YN=e=>e==null,XN=e=>YN(e)?e:`${e.charAt(0).toUpperCase()}${e.slice(1)}`;function ZN(e){return e!=null}function QN(){}function $N(e){if(e)return{x:e.x,y:e.y,upperWidth:`upperWidth`in e?e.upperWidth:e.width,lowerWidth:`lowerWidth`in e?e.lowerWidth:e.width,width:e.width,height:e.height}}function eP(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 tP(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?eP(Object(n),!0).forEach(function(t){nP(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):eP(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function nP(e,t,n){return(t=rP(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function rP(e){var t=iP(e,`string`);return typeof t==`symbol`?t:t+``}function iP(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 aP=e=>{var t=e.viewBox,n=e.position,r=e.offset,i=r===void 0?0:r,a=e.parentViewBox,o=e.clamp,s=$N(t),c=s.x,l=s.y,u=s.height,d=s.upperWidth,f=s.lowerWidth,p=c,m=c+(d-f)/2,h=(p+m)/2,g=(d+f)/2,_=p+d/2,v=u>=0?1:-1,y=v*i,b=v>0?`end`:`start`,x=v>0?`start`:`end`,S=d>=0?1:-1,C=S*i,w=S>0?`end`:`start`,T=S>0?`start`:`end`,E=a;if(n===`top`){var D={x:p+d/2,y:l-y,horizontalAnchor:`middle`,verticalAnchor:b};return o&&E&&(D.height=Math.max(l-E.y,0),D.width=d),D}if(n===`bottom`){var O={x:m+f/2,y:l+u+y,horizontalAnchor:`middle`,verticalAnchor:x};return o&&E&&(O.height=Math.max(E.y+E.height-(l+u),0),O.width=f),O}if(n===`left`){var k={x:h-C,y:l+u/2,horizontalAnchor:w,verticalAnchor:`middle`};return o&&E&&(k.width=Math.max(k.x-E.x,0),k.height=u),k}if(n===`right`){var A={x:h+g+C,y:l+u/2,horizontalAnchor:T,verticalAnchor:`middle`};return o&&E&&(A.width=Math.max(E.x+E.width-A.x,0),A.height=u),A}var ee=o&&E?{width:g,height:u}:{};return n===`insideLeft`?tP({x:h+C,y:l+u/2,horizontalAnchor:T,verticalAnchor:`middle`},ee):n===`insideRight`?tP({x:h+g-C,y:l+u/2,horizontalAnchor:w,verticalAnchor:`middle`},ee):n===`insideTop`?tP({x:p+d/2,y:l+y,horizontalAnchor:`middle`,verticalAnchor:x},ee):n===`insideBottom`?tP({x:m+f/2,y:l+u-y,horizontalAnchor:`middle`,verticalAnchor:b},ee):n===`insideTopLeft`?tP({x:p+C,y:l+y,horizontalAnchor:T,verticalAnchor:x},ee):n===`insideTopRight`?tP({x:p+d-C,y:l+y,horizontalAnchor:w,verticalAnchor:x},ee):n===`insideBottomLeft`?tP({x:m+C,y:l+u-y,horizontalAnchor:T,verticalAnchor:b},ee):n===`insideBottomRight`?tP({x:m+f-C,y:l+u-y,horizontalAnchor:w,verticalAnchor:b},ee):n&&typeof n==`object`&&(Q(n.x)||VN(n.x))&&(Q(n.y)||VN(n.y))?tP({x:c+GN(n.x,g),y:l+GN(n.y,u),horizontalAnchor:`end`,verticalAnchor:`end`},ee):tP({x:_,y:l+u/2,horizontalAnchor:`middle`,verticalAnchor:`middle`},ee)},oP=[`top`,`left`,`right`,`bottom`];function sP(e){return e==null?!1:typeof e==`object`||oP.includes(e)}var cP=(0,y.createContext)(null);function lP(e){return function(){return e}}var uP=Math.PI,dP=2*uP,fP=1e-6,pP=dP-fP;function mP(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function hP(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return mP;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var gP=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?mP:hP(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>fP){if(!(Math.abs(u*s-c*l)>fP)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((uP-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>fP&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>fP||Math.abs(this._y1-l)>fP)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%dP+dP),d>pP?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>fP&&this._append`A${n},${n},0,${+(d>=uP)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};gP.prototype;function _P(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new gP(t)}Array.prototype.slice;function vP(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function yP(e){this._context=e}yP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};function bP(e){return new yP(e)}function xP(e){return e[0]}function SP(e){return e[1]}function CP(e,t){var n=lP(!0),r=null,i=bP,a=null,o=_P(s);e=typeof e==`function`?e:e===void 0?xP:lP(e),t=typeof t==`function`?t:t===void 0?SP:lP(t);function s(s){var c,l=(s=vP(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:lP(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:lP(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:lP(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}function wP(e,t,n){var r=null,i=lP(!0),a=null,o=bP,s=null,c=_P(l);e=typeof e==`function`?e:e===void 0?xP:lP(+e),t=typeof t==`function`?t:lP(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?SP:lP(+n);function l(l){var u,d,f,p=(l=vP(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h){if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return CP().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:lP(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:lP(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:lP(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:lP(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:lP(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:lP(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:lP(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}var TP=class{constructor(e,t){this._context=e,this._x=t}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,t,e,t):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+t)/2,e,this._y0,e,t)}this._x0=e,this._y0=t}};function EP(e){return new TP(e,!0)}function DP(e){return new TP(e,!1)}function OP(){}function kP(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function AP(e){this._context=e}AP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:kP(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:kP(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function jP(e){return new AP(e)}function MP(e){this._context=e}MP.prototype={areaStart:OP,areaEnd:OP,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:kP(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function NP(e){return new MP(e)}function PP(e){this._context=e}PP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:kP(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function FP(e){return new PP(e)}function IP(e){this._context=e}IP.prototype={areaStart:OP,areaEnd:OP,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function LP(e){return new IP(e)}function RP(e){return e<0?-1:1}function zP(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(RP(a)+RP(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function BP(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function VP(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function HP(e){this._context=e}HP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:VP(this,this._t0,BP(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,VP(this,BP(this,n=zP(this,e,t)),n);break;default:VP(this,this._t0,n=zP(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function UP(e){this._context=new WP(e)}(UP.prototype=Object.create(HP.prototype)).point=function(e,t){HP.prototype.point.call(this,t,e)};function WP(e){this._context=e}WP.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,a){this._context.bezierCurveTo(t,e,r,n,a,i)}};function bie(e){return new HP(e)}function xie(e){return new UP(e)}function GP(e){this._context=e}GP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n){if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=KP(e),i=KP(t),a=0,o=1;o<n;++a,++o)this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],e[o],t[o])}(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function KP(e){var t,n=e.length-1,r,i=Array(n),a=Array(n),o=Array(n);for(i[0]=0,a[0]=2,o[0]=e[0]+2*e[1],t=1;t<n-1;++t)i[t]=1,a[t]=4,o[t]=4*e[t]+2*e[t+1];for(i[n-1]=2,a[n-1]=7,o[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=i[t]/a[t-1],a[t]-=r,o[t]-=r*o[t-1];for(i[n-1]=o[n-1]/a[n-1],t=n-2;t>=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-1])/2,t=0;t<n-1;++t)a[t]=2*e[t+1]-i[t+1];return[i,a]}function Sie(e){return new GP(e)}function qP(e,t){this._context=e,this._t=t}qP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function Cie(e){return new qP(e,.5)}function wie(e){return new qP(e,0)}function Tie(e){return new qP(e,1)}function JP(e,t){if((o=e.length)>1)for(var n=1,r,i,a=e[t[0]],o,s=a.length;n<o;++n)for(i=a,a=e[t[n]],r=0;r<s;++r)a[r][1]+=a[r][0]=isNaN(i[r][1])?i[r][0]:i[r][1]}function YP(e){for(var t=e.length,n=Array(t);--t>=0;)n[t]=t;return n}function Eie(e,t){return e[t]}function Die(e){let t=[];return t.key=e,t}function Oie(){var e=lP([]),t=YP,n=JP,r=Eie;function i(i){var a=Array.from(e.apply(this,arguments),Die),o,s=a.length,c=-1,l;for(let e of i)for(o=0,++c;o<s;++o)(a[o][c]=[0,+r(e,a[o].key,c,i)]).data=e;for(o=0,l=vP(t(a));o<s;++o)a[l[o]].index=o;return n(a,l),a}return i.keys=function(t){return arguments.length?(e=typeof t==`function`?t:lP(Array.from(t)),i):e},i.value=function(e){return arguments.length?(r=typeof e==`function`?e:lP(+e),i):r},i.order=function(e){return arguments.length?(t=e==null?YP:typeof e==`function`?e:lP(Array.from(e)),i):t},i.offset=function(e){return arguments.length?(n=e??JP,i):n},i}function kie(e,t){if((r=e.length)>0){for(var n,r,i=0,a=e[0].length,o;i<a;++i){for(o=n=0;n<r;++n)o+=e[n][i][1]||0;if(o)for(n=0;n<r;++n)e[n][i][1]/=o}JP(e,t)}}function Aie(e,t){if((i=e.length)>0){for(var n=0,r=e[t[0]],i,a=r.length;n<a;++n){for(var o=0,s=0;o<i;++o)s+=e[o][n][1]||0;r[n][1]+=r[n][0]=-s/2}JP(e,t)}}function jie(e,t){if((o=e.length)>0&&(a=(i=e[t[0]]).length)>0){for(var n=0,r=1,i,a,o;r<a;++r){for(var s=0,c=0,l=0;s<o;++s){for(var u=e[t[s]],d=u[r][1]||0,f=(d-(u[r-1][1]||0))/2,p=0;p<s;++p){var m=e[t[p]],h=m[r][1]||0,g=m[r-1][1]||0;f+=h-g}c+=d,l+=f*d}i[r-1][1]+=i[r-1][0]=n,c&&(n-=l/c)}i[r-1][1]+=i[r-1][0]=n,JP(e,t)}}var XP=e=>`radius`in e&&`startAngle`in e&&`endAngle`in e,ZP=(e,t)=>{if(!e||typeof e==`function`||typeof e==`boolean`)return null;var n=e;if((0,y.isValidElement)(e)&&(n=e.props),typeof n!=`object`&&typeof n!=`function`)return null;var r={};return Object.keys(n).forEach(e=>{cN(e)&&typeof n[e]==`function`&&(r[e]=t||(t=>n[e](n,t)))}),r},Mie=(e,t,n)=>r=>(e(t,n,r),null),Nie=(e,t,n)=>{if(e===null||typeof e!=`object`&&typeof e!=`function`)return null;var r=null;return Object.keys(e).forEach(i=>{var a=e[i];cN(i)&&typeof a==`function`&&(r||={},r[i]=Mie(a,t,n))}),r};function QP(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 Pie(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?QP(Object(n),!0).forEach(function(t){Fie(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):QP(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Fie(e,t,n){return(t=Iie(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Iie(e){var t=Lie(e,`string`);return typeof t==`symbol`?t:t+``}function Lie(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)}function $P(e,t){var n=Pie({},e),r=t;return Object.keys(t).reduce((e,t)=>(e[t]===void 0&&r[t]!==void 0&&(e[t]=r[t]),e),n)}function Rie(e,t){let n=new Map;for(let r=0;r<e.length;r++){let i=e[r],a=t(i,r,e);n.has(a)||n.set(a,i)}return Array.from(n.values())}function zie(e,t){return function(...n){return e.apply(this,n.slice(0,t))}}function eF(e){return e}function Bie(e){return Number.isSafeInteger(e)&&e>=0}function tF(e){return e!=null&&typeof e!=`function`&&Bie(e.length)}function Vie(e){return function(t){return PN(t,e)}}function nF(e){return e==null||typeof e!=`object`&&typeof e!=`function`}function Hie(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function rF(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function iF(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var aF=`[object RegExp]`,oF=`[object String]`,sF=`[object Number]`,cF=`[object Boolean]`,lF=`[object Arguments]`,uF=`[object Symbol]`,dF=`[object Date]`,fF=`[object Map]`,pF=`[object Set]`,mF=`[object Array]`,Uie=`[object Function]`,hF=`[object ArrayBuffer]`,gF=`[object Object]`,Wie=`[object Error]`,_F=`[object DataView]`,vF=`[object Uint8Array]`,yF=`[object Uint8ClampedArray]`,bF=`[object Uint16Array]`,xF=`[object Uint32Array]`,Gie=`[object BigUint64Array]`,SF=`[object Int8Array]`,CF=`[object Int16Array]`,wF=`[object Int32Array]`,Kie=`[object BigInt64Array]`,TF=`[object Float32Array]`,EF=`[object Float64Array]`,DF=typeof globalThis==`object`&&globalThis||typeof window==`object`&&window||typeof self==`object`&&self||typeof global==`object`&&global||(function(){return this})();function OF(e){return DF.Buffer!==void 0&&DF.Buffer.isBuffer(e)}function qie(e,t){return kF(e,void 0,e,new Map,t)}function kF(e,t,n,r=new Map,i=void 0){let a=i?.(e,t,n,r);if(a!==void 0)return a;if(nF(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){let t=Array(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=kF(e[a],a,n,r,i);return Object.hasOwn(e,`index`)&&(t.index=e.index),Object.hasOwn(e,`input`)&&(t.input=e.input),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){let t=new Map;r.set(e,t);for(let[a,o]of e)t.set(a,kF(o,a,n,r,i));return t}if(e instanceof Set){let t=new Set;r.set(e,t);for(let a of e)t.add(kF(a,void 0,n,r,i));return t}if(OF(e))return e.subarray();if(Hie(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=kF(e[a],a,n,r,i);return t}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return r.set(e,t),AF(t,e,n,r,i),t}if(typeof File<`u`&&e instanceof File){let t=new File([e],e.name,{type:e.type});return r.set(e,t),AF(t,e,n,r,i),t}if(typeof Blob<`u`&&e instanceof Blob){let t=new Blob([e],{type:e.type});return r.set(e,t),AF(t,e,n,r,i),t}if(e instanceof Error){let t=structuredClone(e);return r.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,t.constructor=e.constructor,AF(t,e,n,r,i),t}if(e instanceof Boolean){let t=new Boolean(e.valueOf());return r.set(e,t),AF(t,e,n,r,i),t}if(e instanceof Number){let t=new Number(e.valueOf());return r.set(e,t),AF(t,e,n,r,i),t}if(e instanceof String){let t=new String(e.valueOf());return r.set(e,t),AF(t,e,n,r,i),t}if(typeof e==`object`&&Jie(e)){let t=Object.create(Object.getPrototypeOf(e));return r.set(e,t),AF(t,e,n,r,i),t}return e}function AF(e,t,n=e,r,i){let a=[...Object.keys(t),...rF(t)];for(let o=0;o<a.length;o++){let s=a[o],c=Object.getOwnPropertyDescriptor(e,s);(c==null||c.writable)&&(e[s]=kF(t[s],s,n,r,i))}}function Jie(e){switch(iF(e)){case lF:case mF:case hF:case _F:case cF:case dF:case TF:case EF:case SF:case CF:case wF:case fF:case sF:case gF:case aF:case pF:case oF:case uF:case vF:case yF:case bF:case xF:return!0;default:return!1}}function Yie(e){return kF(e,void 0,e,new Map,void 0)}function jF(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function MF(e){return e!==null&&(typeof e==`object`||typeof e==`function`)}function NF(e,t,n){return typeof n==`function`?PF(e,t,function e(t,r,i,a,o,s){let c=n(t,r,i,a,o,s);return c===void 0?PF(t,r,e,s,!1):!!c},new Map,!0):NF(e,t,()=>void 0)}function PF(e,t,n,r,i=!1){if(t===e)return!0;switch(typeof t){case`object`:return Xie(e,t,n,r,i);case`function`:return Object.keys(t).length>0?PF(e,{...t},n,r,i):jF(e,t);default:return MF(e)&&i?typeof t!=`string`||t===``:jF(e,t)}}function Xie(e,t,n,r,i=!1){if(t==null)return!0;if(Array.isArray(t))return FF(e,t,n,r);if(t instanceof Map)return Zie(e,t,n,r);if(t instanceof Set)return Qie(e,t,n,r);let a=Object.keys(t);if(e==null)return i&&a.length===0;if(i)nF(e)&&(e=Object(e));else{let t=iF(e);if(t!==`[object Object]`&&t!==`[object Arguments]`)return!1}if(a.length===0)return!0;if(r?.has(t))return r.get(t)===e;r?.set(t,e);try{for(let i=0;i<a.length;i++){let o=a[i];if(!(o in e)||t[o]===void 0&&e[o]!==void 0||t[o]===null&&e[o]!==null||!n(e[o],t[o],o,e,t,r))return!1}return!0}finally{r?.delete(t)}}function Zie(e,t,n,r){if(t.size===0)return!0;if(!(e instanceof Map))return!1;for(let[i,a]of t.entries())if(n(e.get(i),a,i,e,t,r)===!1)return!1;return!0}function FF(e,t,n,r){if(t.length===0)return!0;if(!Array.isArray(e))return!1;let i=new Set;for(let a=0;a<t.length;a++){let o=t[a],s=!1;for(let c=0;c<e.length;c++){if(i.has(c))continue;let l=e[c],u=!1;if(n(l,o,a,e,t,r)&&(u=!0),u){i.add(c),s=!0;break}}if(!s)return!1}return!0}function Qie(e,t,n,r){return t.size===0||e instanceof Set&&FF([...e],[...t],n,r)}function IF(e,t){return NF(e,t,()=>void 0)}function $ie(e){return e=Yie(e),t=>IF(t,e)}function eae(e,t){return qie(e,(n,r,i,a)=>{let o=t?.(n,r,i,a);if(o!==void 0)return o;if(typeof e==`object`){if(iF(e)===`[object Object]`&&typeof e.constructor!=`function`){let t={};return a.set(e,t),AF(t,e,i,a),t}switch(Object.prototype.toString.call(e)){case sF:case oF:case cF:{let t=new e.constructor(e?.valueOf());return AF(t,e),t}case lF:{let t={};return AF(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}}})}function tae(e){return eae(e)}var nae=/^(?:0|[1-9]\d*)$/;function LF(e,t=2**53-1){switch(typeof e){case`number`:return Number.isInteger(e)&&e>=0&&e<t;case`symbol`:return!1;case`string`:return nae.test(e)}}function rae(e){return typeof e==`object`&&!!e&&iF(e)===`[object Arguments]`}function iae(e,t){let n;if(n=Array.isArray(t)?t:typeof t==`string`&&ON(t)&&!(t in Object(e))?NN(t):[t],n.length===0)return!1;let r=e;for(let e=0;e<n.length;e++){let t=kN(n[e]);if((r==null||!Object.hasOwn(r,t))&&!((Array.isArray(r)||rae(r))&&LF(t)&&Number(t)<r.length))return!1;r=r[t]}return!0}function aae(e,t){switch(typeof e){case`object`:Object.is(e?.valueOf(),-0)&&(e=`-0`);break;case`number`:e=kN(e)}return t=tae(t),function(n){let r=PN(n,e);return r===void 0?iae(n,e):t===void 0?r===void 0:IF(r,t)}}function oae(e){if(e==null)return eF;switch(typeof e){case`function`:return e;case`object`:return Array.isArray(e)&&e.length===2?aae(e[0],e[1]):$ie(e);default:return Vie(e)}}function sae(e){return e===0?0:e}function RF(e,t=eF){return tF(e)?Rie(Array.from(e),zie(oae(t),1)).map(sae):[]}function cae(e,t,n){return t===!0?RF(e,n):typeof t==`function`?RF(e,t):e}var lae=s((e=>{var t=p();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,a=t.useEffect,o=t.useLayoutEffect,s=t.useDebugValue;function c(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),c=r[0].inst,u=r[1];return o(function(){c.value=n,c.getSnapshot=t,l(c)&&u({inst:c})},[e,n,t]),a(function(){return l(c)&&u({inst:c}),e(function(){l(c)&&u({inst:c})})},[e]),s(n),n}function l(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function u(e,t){return t()}var d=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?u:c;e.useSyncExternalStore=t.useSyncExternalStore===void 0?d:t.useSyncExternalStore})),uae=s(((e,t)=>{t.exports=lae()})),dae=s((e=>{var t=p(),n=uae();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=n.useSyncExternalStore,o=t.useRef,s=t.useEffect,c=t.useMemo,l=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,u){var d=o(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=c(function(){function e(e){if(!a){if(a=!0,o=e,e=r(e),u!==void 0&&f.hasValue){var t=f.value;if(u(t,e))return s=t}return s=e}if(t=s,i(o,e))return t;var n=r(e);return u!==void 0&&u(t,n)?(o=e,t):(o=e,s=n)}var a=!1,o,s,c=n===void 0?null:n;return[function(){return e(t())},c===null?void 0:function(){return e(c())}]},[t,n,r,u]);var p=a(e,d[0],d[1]);return s(function(){f.hasValue=!0,f.value=p},[p]),l(p),p}})),fae=s(((e,t)=>{t.exports=dae()})),zF=(0,y.createContext)(null),pae=fae(),mae=e=>e,BF=()=>{var e=(0,y.useContext)(zF);return e?e.store.dispatch:mae},VF=()=>{},hae=()=>VF,gae=(e,t)=>e===t;function HF(e){var t=(0,y.useContext)(zF),n=(0,y.useMemo)(()=>t?t=>{if(t!=null)return e(t)}:VF,[t,e]);return(0,pae.useSyncExternalStoreWithSelector)(t?t.subscription.addNestedSub:hae,t?t.store.getState:VF,t?t.store.getState:VF,n,gae)}function _ae(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!=`function`)throw TypeError(t)}function vae(e,t=`expected all items to be functions, instead received the following types: `){if(!e.every(e=>typeof e==`function`)){let n=e.map(e=>typeof e==`function`?`function ${e.name||`unnamed`}()`:typeof e).join(`, `);throw TypeError(`${t}[${n}]`)}}var UF=e=>Array.isArray(e)?e:[e];function yae(e){let t=Array.isArray(e[0])?e[0]:e;return vae(t,`createSelector expects all input-selectors to be functions, but received the following types: `),t}function bae(e,t){let n=[],{length:r}=e;for(let i=0;i<r;i++)n.push(e[i].apply(null,t));return n}var xae=class{constructor(e){this.value=e}deref(){return this.value}},WF=typeof WeakRef>`u`?xae:WeakRef,Sae=0,GF=1;function KF(){return{s:Sae,v:void 0,o:null,p:null}}function Cae(e){return e instanceof WF?e.deref():e}function qF(e,t={}){let n=KF(),{resultEqualityCheck:r}=t,i,a=0;function o(){let t=n,{length:o}=arguments;for(let e=0,n=o;e<n;e++){let n=arguments[e];if(typeof n==`function`||typeof n==`object`&&n){let e=t.o;e===null&&(t.o=e=new WeakMap);let r=e.get(n);r===void 0?(t=KF(),e.set(n,t)):t=r}else{let e=t.p;e===null&&(t.p=e=new Map);let r=e.get(n);r===void 0?(t=KF(),e.set(n,t)):t=r}}let s=t,c;if(t.s===GF)c=t.v;else if(c=e.apply(null,arguments),a++,r){let e=Cae(i);e!=null&&r(e,c)&&(c=e,a!==0&&a--),i=typeof c==`object`&&c||typeof c==`function`?new WF(c):c}return s.s=GF,s.v=c,c}return o.clearCache=()=>{n=KF(),o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function wae(e,...t){let n=typeof e==`function`?{memoize:e,memoizeOptions:t}:e,r=(...e)=>{let t=0,r=0,i,a={},o=e.pop();typeof o==`object`&&(a=o,o=e.pop()),_ae(o,`createSelector expects an output function after the inputs, but received: [${typeof o}]`);let{memoize:s,memoizeOptions:c=[],argsMemoize:l=qF,argsMemoizeOptions:u=[]}={...n,...a},d=UF(c),f=UF(u),p=yae(e),m=s(function(){return t++,o.apply(null,arguments)},...d),h=l(function(){r++;let e=bae(p,arguments);return i=m.apply(null,e),i},...f);return Object.assign(h,{resultFunc:o,memoizedResultFunc:m,dependencies:p,dependencyRecomputations:()=>r,resetDependencyRecomputations:()=>{r=0},lastResult:()=>i,recomputations:()=>t,resetRecomputations:()=>{t=0},memoize:s,argsMemoize:l})};return Object.assign(r,{withTypes:()=>r}),r}var $=wae(qF);function Tae(e,t=1){let n=[],r=Math.floor(t),i=(e,t)=>{for(let a=0;a<e.length;a++){let o=e[a];Array.isArray(o)&&t<r?i(o,t+1):n.push(o)}};return i(e,0),n}function JF(e,t,n){return MF(n)&&(typeof t==`number`&&tF(n)&&LF(t)&&t<n.length||typeof t==`string`&&t in n)?jF(n[t],e):!1}function YF(e){return typeof e==`symbol`?1:e===null?2:e===void 0?3:e===e?0:4}var Eae=(e,t,n)=>{if(e!==t){let r=YF(e),i=YF(t);if(r===i&&r===0){if(e<t)return n===`desc`?1:-1;if(e>t)return n===`desc`?-1:1}return n===`desc`?i-r:r-i}return 0},Dae=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Oae=/^\w*$/;function kae(e,t){return Array.isArray(e)?!1:typeof e==`number`||typeof e==`boolean`||e==null||AN(e)?!0:typeof e==`string`&&(Oae.test(e)||!Dae.test(e))||t!=null&&Object.hasOwn(t,e)}function Aae(e,t,n,r){if(e==null)return[];n=r?void 0:n,Array.isArray(e)||(e=tF(e)?Array.from(e):Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(n)||(n=n==null?[]:[n]),n=n.map(e=>String(e));let i=(e,t)=>{let n=e,r=0;for(;r<t.length&&n!=null;++r)n=n[t[r]];return r>0&&r===t.length?n:void 0},a=(e,t)=>{if(e==null)return t;if(t!=null)return typeof e==`object`&&`key`in e?Object.hasOwn(t,e.key)?t[e.key]:i(t,e.path):typeof e==`function`?e(t):Array.isArray(e)?i(t,e):t[e]},o=t.map(e=>(Array.isArray(e)&&e.length===1&&(e=e[0]),e==null||typeof e==`function`||Array.isArray(e)||kae(e)?e:{key:e,path:NN(e)}));return e.map(e=>({original:e,criteria:o.map(t=>a(t,e))})).slice().sort((e,t)=>{for(let r=0;r<o.length;r++){let i=Eae(e.criteria[r],t.criteria[r],n[r]);if(i!==0)return i}return 0}).map(e=>e.original)}function XF(e,...t){let n=t.length;return n>1&&JF(e,t[0],t[1])?t=[]:n>2&&JF(t[0],t[1],t[2])&&(t=[t[0]]),Aae(e,Tae(t),[`asc`])}var ZF=e=>e.legend.settings,jae=e=>e.legend.size;$([e=>e.legend.payload,ZF],(e,t)=>{var n=t.itemSorter,r=e.flat(1);return n?XF(r,n):r});function Mae(e,t){return Iae(e)||Fae(e,t)||Pae(e,t)||Nae()}function Nae(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Pae(e,t){if(e){if(typeof e==`string`)return QF(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?QF(e,t):void 0}}function QF(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Fae(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function Iae(e){if(Array.isArray(e))return e}var $F=1;function eI(e,t){return Math.abs(e.height-t.height)>$F||Math.abs(e.left-t.left)>$F||Math.abs(e.top-t.top)>$F||Math.abs(e.width-t.width)>$F}function tI(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function Lae(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=Mae((0,y.useState)({height:0,left:0,top:0,width:0}),2),n=t[0],r=t[1],i=(0,y.useRef)(null),a=(0,y.useRef)(n);a.current=n;var o=(0,y.useCallback)(e=>{if(i.current!=null&&(i.current.disconnect(),i.current=null),e!=null){var t=tI(e);if(eI(t,a.current)&&r(t),typeof ResizeObserver<`u`){var n=new ResizeObserver(()=>{var t=tI(e);eI(t,a.current)&&r(t)});n.observe(e),i.current=n}}},[...e]);return(0,y.useEffect)(()=>()=>{var e;(e=i.current)==null||e.disconnect()},[]),[n,o]}function nI(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var rI=typeof Symbol==`function`&&Symbol.observable||`@@observable`,iI=()=>Math.random().toString(36).substring(7).split(``).join(`.`),aI={INIT:`@@redux/INIT${iI()}`,REPLACE:`@@redux/REPLACE${iI()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${iI()}`};function oI(e){if(typeof e!=`object`||!e)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function sI(e,t,n){if(typeof e!=`function`)throw Error(nI(2));if(typeof t==`function`&&typeof n==`function`||typeof n==`function`&&typeof arguments[3]==`function`)throw Error(nI(0));if(typeof t==`function`&&n===void 0&&(n=t,t=void 0),n!==void 0){if(typeof n!=`function`)throw Error(nI(1));return n(sI)(e,t)}let r=e,i=t,a=new Map,o=a,s=0,c=!1;function l(){o===a&&(o=new Map,a.forEach((e,t)=>{o.set(t,e)}))}function u(){if(c)throw Error(nI(3));return i}function d(e){if(typeof e!=`function`)throw Error(nI(4));if(c)throw Error(nI(5));let t=!0;l();let n=s++;return o.set(n,e),function(){if(t){if(c)throw Error(nI(6));t=!1,l(),o.delete(n),a=null}}}function f(e){if(!oI(e))throw Error(nI(7));if(e.type===void 0)throw Error(nI(8));if(typeof e.type!=`string`)throw Error(nI(17));if(c)throw Error(nI(9));try{c=!0,i=r(i,e)}finally{c=!1}return(a=o).forEach(e=>{e()}),e}function p(e){if(typeof e!=`function`)throw Error(nI(10));r=e,f({type:aI.REPLACE})}function m(){let e=d;return{subscribe(t){if(typeof t!=`object`||!t)throw Error(nI(11));function n(){let e=t;e.next&&e.next(u())}return n(),{unsubscribe:e(n)}},[rI](){return this}}}return f({type:aI.INIT}),{dispatch:f,subscribe:d,getState:u,replaceReducer:p,[rI]:m}}function Rae(e){Object.keys(e).forEach(t=>{let n=e[t];if(n(void 0,{type:aI.INIT})===void 0)throw Error(nI(12));if(n(void 0,{type:aI.PROBE_UNKNOWN_ACTION()})===void 0)throw Error(nI(13))})}function cI(e){let t=Object.keys(e),n={};for(let r=0;r<t.length;r++){let i=t[r];typeof e[i]==`function`&&(n[i]=e[i])}let r=Object.keys(n),i;try{Rae(n)}catch(e){i=e}return function(e={},t){if(i)throw i;let a=!1,o={};for(let i=0;i<r.length;i++){let s=r[i],c=n[s],l=e[s],u=c(l,t);if(u===void 0)throw t&&t.type,Error(nI(14));o[s]=u,a||=u!==l}return a||=r.length!==Object.keys(e).length,a?o:e}}function lI(...e){return e.length===0?e=>e:e.length===1?e[0]:e.reduce((e,t)=>(...n)=>e(t(...n)))}function zae(...e){return t=>(n,r)=>{let i=t(n,r),a=()=>{throw Error(nI(15))},o={getState:i.getState,dispatch:(e,...t)=>a(e,...t)};return a=lI(...e.map(e=>e(o)))(i.dispatch),{...i,dispatch:a}}}function uI(e){return oI(e)&&`type`in e&&typeof e.type==`string`}var dI=Symbol.for(`immer-nothing`),fI=Symbol.for(`immer-draftable`),pI=Symbol.for(`immer-state`);function mI(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var hI=Object,gI=hI.getPrototypeOf,_I=`constructor`,vI=`prototype`,yI=`configurable`,bI=`enumerable`,xI=`writable`,SI=`value`,CI=e=>!!e&&!!e[pI];function wI(e){return e?EI(e)||MI(e)||!!e[fI]||!!e[_I]?.[fI]||NI(e)||PI(e):!1}var Bae=hI[vI][_I].toString(),TI=new WeakMap;function EI(e){if(!e||!FI(e))return!1;let t=gI(e);if(t===null||t===hI[vI])return!0;let n=hI.hasOwnProperty.call(t,_I)&&t[_I];if(n===Object)return!0;if(!II(n))return!1;let r=TI.get(n);return r===void 0&&(r=Function.toString.call(n),TI.set(n,r)),r===Bae}function DI(e,t,n=!0){OI(e)===0?(n?Reflect.ownKeys(e):hI.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function OI(e){let t=e[pI];return t?t.type_:MI(e)?1:NI(e)?2:PI(e)?3:0}var kI=(e,t,n=OI(e))=>n===2?e.has(t):hI[vI].hasOwnProperty.call(e,t),AI=(e,t,n=OI(e))=>n===2?e.get(t):e[t],jI=(e,t,n,r=OI(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function Vae(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var MI=Array.isArray,NI=e=>e instanceof Map,PI=e=>e instanceof Set,FI=e=>typeof e==`object`,II=e=>typeof e==`function`,LI=e=>typeof e==`boolean`;function Hae(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var RI=e=>e.copy_||e.base_,zI=e=>e.modified_?e.copy_:e.base_;function BI(e,t){if(NI(e))return new Map(e);if(PI(e))return new Set(e);if(MI(e))return Array[vI].slice.call(e);let n=EI(e);if(t===!0||t===`class_only`&&!n){let t=hI.getOwnPropertyDescriptors(e);delete t[pI];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[xI]===!1&&(a[xI]=!0,a[yI]=!0),(a.get||a.set)&&(t[i]={[yI]:!0,[xI]:!0,[bI]:a[bI],[SI]:e[i]})}return hI.create(gI(e),t)}{let t=gI(e);if(t!==null&&n)return{...e};let r=hI.create(t);return hI.assign(r,e)}}function VI(e,t=!1){return UI(e)||CI(e)||!wI(e)||(OI(e)>1&&hI.defineProperties(e,{set:HI,add:HI,clear:HI,delete:HI}),hI.freeze(e),t&&DI(e,(e,t)=>{VI(t,!0)},!1)),e}function Uae(){mI(2)}var HI={[SI]:Uae};function UI(e){return e===null||!FI(e)||hI.isFrozen(e)}var WI=`MapSet`,GI=`Patches`,KI=`ArrayMethods`,qI={};function JI(e){let t=qI[e];return t||mI(0,e),t}var YI=e=>!!qI[e],XI,ZI=()=>XI,Wae=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:YI(WI)?JI(WI):void 0,arrayMethodsPlugin_:YI(KI)?JI(KI):void 0});function QI(e,t){t&&(e.patchPlugin_=JI(GI),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function $I(e){eL(e),e.drafts_.forEach(Gae),e.drafts_=null}function eL(e){e===XI&&(XI=e.parent_)}var tL=e=>XI=Wae(XI,e);function Gae(e){let t=e[pI];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function nL(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[pI].modified_&&($I(t),mI(4)),wI(e)&&(e=rL(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[pI].base_,e,t)}else e=rL(t,n);return Kae(t,e,!0),$I(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===dI?void 0:e}function rL(e,t){if(UI(t))return t;let n=t[pI];if(!n)return cL(t,e.handledSet_,e);if(!aL(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);sL(n,e)}return n.copy_}function Kae(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&VI(t,n)}function iL(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var aL=(e,t)=>e.scope_===t,qae=[];function oL(e,t,n,r){let i=RI(e),a=e.type_;if(r!==void 0&&AI(i,r,a)===t){jI(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;DI(i,(e,n)=>{if(CI(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??qae;for(let e of o)jI(i,e,n,a)}function Jae(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!aL(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=zI(i);oL(e,i.draft_??i,a,n),sL(i,r)})}function sL(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}iL(e)}}function Yae(e,t,n){let{scope_:r}=e;if(CI(n)){let i=n[pI];aL(i,r)&&i.callbacks_.push(function(){mL(e),oL(e,n,zI(i),t)})}else wI(n)&&e.callbacks_.push(function(){let i=RI(e);e.type_===3?i.has(n)&&cL(n,r.handledSet_,r):AI(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&cL(AI(e.copy_,t,e.type_),r.handledSet_,r)})}function cL(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||CI(e)||t.has(e)||!wI(e)||UI(e)||(t.add(e),DI(e,(r,i)=>{if(CI(i)){let t=i[pI];aL(t,n)&&(jI(e,r,zI(t),e.type_),iL(t))}else wI(i)&&cL(i,t,n)})),e}function Xae(e,t){let n=MI(e),r={type_:+!!n,scope_:t?t.scope_:ZI(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=lL;n&&(i=[r],a=uL);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var lL={get(e,t){if(t===pI)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=RI(e);if(!kI(i,t,e.type_))return Qae(e,i,t);let a=i[t];if(e.finalized_||!wI(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&Hae(t))return a;if(a===dL(e.base_,t)||Zae(e,t,a)){mL(e);let n=e.type_===1?+t:t,r=hL(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in RI(e)},ownKeys(e){return Reflect.ownKeys(RI(e))},set(e,t,n){let r=fL(RI(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=dL(RI(e),t),i=r?.[pI];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(Vae(n,r)&&(n!==void 0||kI(e.base_,t,e.type_)))return!0;mL(e),pL(e)}return e.copy_[t]===n&&(n!==void 0||kI(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),Yae(e,t,n)),!0},deleteProperty(e,t){return mL(e),dL(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),pL(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=RI(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[xI]:!0,[yI]:e.type_!==1||t!==`length`,[bI]:r[bI],[SI]:n[t]}},defineProperty(){mI(11)},getPrototypeOf(e){return gI(e.base_)},setPrototypeOf(){mI(12)}},uL={};for(let e in lL){let t=lL[e];uL[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}uL.deleteProperty=function(e,t){return uL.set.call(this,e,t,void 0)},uL.set=function(e,t,n){return lL.set.call(this,e[0],t,n,e[0])};function dL(e,t){let n=e[pI];return(n?RI(n):e)[t]}function Zae(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!wI(n)||n[pI]?!1:e.baseRefs_.has(n)}function Qae(e,t,n){let r=fL(t,n);return r?SI in r?r[SI]:r.get?.call(e.draft_):void 0}function fL(e,t){if(!(t in e))return;let n=gI(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=gI(n)}}function pL(e){e.modified_||(e.modified_=!0,e.parent_&&pL(e.parent_))}function mL(e){e.copy_||=(e.assigned_=new Map,BI(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var $ae=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(II(e)&&!II(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}II(t)||mI(6),n!==void 0&&!II(n)&&mI(7);let r;if(wI(e)){let i=tL(this),a=hL(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?$I(i):eL(i)}return QI(i,n),nL(r,i)}if(!e||!FI(e)){if(r=t(e),r===void 0&&(r=e),r===dI&&(r=void 0),this.autoFreeze_&&VI(r,!0),n){let t=[],i=[];JI(GI).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}mI(1,e)},this.produceWithPatches=(e,t)=>{if(II(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},LI(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),LI(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),LI(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){wI(e)||mI(8),CI(e)&&(e=gL(e));let t=tL(this),n=hL(t,e,void 0);return n[pI].isManual_=!0,eL(t),n}finishDraft(e,t){let n=e&&e[pI];n&&n.isManual_||mI(9);let{scope_:r}=n;return QI(r,t),nL(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=JI(GI).applyPatches_;return CI(e)?r(e,t):this.produce(e,e=>r(e,t))}};function hL(e,t,n,r){let[i,a]=NI(t)?JI(WI).proxyMap_(t,n):PI(t)?JI(WI).proxySet_(t,n):Xae(t,n);return(n?.scope_??ZI()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?Jae(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function gL(e){return CI(e)||mI(10,e),_L(e)}function _L(e){if(!wI(e)||UI(e))return e;let t=e[pI],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=BI(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=BI(e,!0);return DI(n,(e,t)=>{jI(n,e,_L(t))},r),t&&(t.finalized_=!1),n}globalThis.Iterator?.from;var vL=new $ae().produce,yL=e=>e;function bL(e){return({dispatch:t,getState:n})=>r=>i=>typeof i==`function`?i(t,n,e):r(i)}var eoe=bL(),toe=bL,noe=typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]==`object`?lI:lI.apply(null,arguments)};typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__;function xL(e,t){function n(...n){if(t){let r=t(...n);if(!r)throw Error(nR(0));return{type:e,payload:r.payload,...`meta`in r&&{meta:r.meta},...`error`in r&&{error:r.error}}}return{type:e,payload:n[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=t=>uI(t)&&t.type===e,n}var SL=class e extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}static get[Symbol.species](){return e}concat(...e){return super.concat.apply(this,e)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new e(...t[0].concat(this)):new e(...t.concat(this))}};function CL(e){return wI(e)?vL(e,()=>{}):e}function wL(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}function roe(e){return typeof e==`boolean`}var ioe=()=>function(e){let{thunk:t=!0,immutableCheck:n=!0,serializableCheck:r=!0,actionCreatorCheck:i=!0}=e??{},a=new SL;return t&&(roe(t)?a.push(eoe):a.push(toe(t.extraArgument))),a},TL=`RTK_autoBatch`,EL=()=>e=>({payload:e,meta:{[TL]:!0}}),DL=e=>t=>{setTimeout(t,e)},aoe=(e,t)=>n=>{let r=!1,i=()=>{r||(r=!0,cancelAnimationFrame(a),clearTimeout(o),n())},a=e(i),o=setTimeout(i,t)},OL=(e={type:`raf`})=>t=>(...n)=>{let r=t(...n),i=!0,a=!1,o=!1,s=new Set,c=e.type===`tick`?queueMicrotask:e.type===`raf`?typeof window<`u`&&window.requestAnimationFrame?aoe(window.requestAnimationFrame,100):DL(10):e.type===`callback`?e.queueNotification:DL(e.timeout),l=()=>{o=!1,a&&(a=!1,s.forEach(e=>e()))};return Object.assign({},r,{subscribe(e){let t=r.subscribe(()=>i&&e());return s.add(e),()=>{t(),s.delete(e)}},dispatch(e){try{return i=!e?.meta?.[TL],a=!i,a&&(o||(o=!0,c(l))),r.dispatch(e)}finally{i=!0}}})},ooe=e=>function(t){let{autoBatch:n=!0}=t??{},r=new SL(e);return n&&r.push(OL(typeof n==`object`?n:void 0)),r};function soe(e){let t=ioe(),{reducer:n=void 0,middleware:r,devTools:i=!0,duplicateMiddlewareCheck:a=!0,preloadedState:o=void 0,enhancers:s=void 0}=e||{},c;if(typeof n==`function`)c=n;else if(oI(n))c=cI(n);else throw Error(nR(1));let l;l=typeof r==`function`?r(t):t();let u=lI;i&&(u=noe({trace:!1,...typeof i==`object`&&i}));let d=ooe(zae(...l)),f=typeof s==`function`?s(d):d(),p=u(...f);return sI(c,o,p)}function kL(e){let t={},n=[],r,i={addCase(e,n){let r=typeof e==`string`?e:e.type;if(!r)throw Error(nR(28));if(r in t)throw Error(nR(29));return t[r]=n,i},addAsyncThunk(e,r){return r.pending&&(t[e.pending.type]=r.pending),r.rejected&&(t[e.rejected.type]=r.rejected),r.fulfilled&&(t[e.fulfilled.type]=r.fulfilled),r.settled&&n.push({matcher:e.settled,reducer:r.settled}),i},addMatcher(e,t){return n.push({matcher:e,reducer:t}),i},addDefaultCase(e){return r=e,i}};return e(i),[t,n,r]}function coe(e){return typeof e==`function`}function loe(e,t){let[n,r,i]=kL(t),a;if(coe(e))a=()=>CL(e());else{let t=CL(e);a=()=>t}function o(e=a(),t){let o=[n[t.type],...r.filter(({matcher:e})=>e(t)).map(({reducer:e})=>e)];return o.filter(e=>!!e).length===0&&(o=[i]),o.reduce((e,n)=>{if(n){if(CI(e)){let r=n(e,t);return r===void 0?e:r}if(wI(e))return vL(e,e=>n(e,t));{let r=n(e,t);if(r===void 0){if(e===null)return e;throw Error(`A case reducer on a non-draftable value must not return undefined`)}return r}}return e},e)}return o.getInitialState=a,o}var uoe=`ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW`,doe=(e=21)=>{let t=``,n=e;for(;n--;)t+=uoe[Math.random()*64|0];return t},foe=Symbol.for(`rtk-slice-createasyncthunk`);function poe(e,t){return`${e}/${t}`}function moe({creators:e}={}){let t=e?.asyncThunk?.[foe];return function(e){let{name:n,reducerPath:r=n}=e;if(!n)throw Error(nR(11));let i=(typeof e.reducers==`function`?e.reducers(goe()):e.reducers)||{},a=Object.keys(i),o={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},s={addCase(e,t){let n=typeof e==`string`?e:e.type;if(!n)throw Error(nR(12));if(n in o.sliceCaseReducersByType)throw Error(nR(13));return o.sliceCaseReducersByType[n]=t,s},addMatcher(e,t){return o.sliceMatchers.push({matcher:e,reducer:t}),s},exposeAction(e,t){return o.actionCreators[e]=t,s},exposeCaseReducer(e,t){return o.sliceCaseReducersByName[e]=t,s}};a.forEach(r=>{let a=i[r],o={reducerName:r,type:poe(n,r),createNotation:typeof e.reducers==`function`};voe(a)?boe(o,a,s,t):_oe(o,a,s)});function c(){let[t={},n=[],r=void 0]=typeof e.extraReducers==`function`?kL(e.extraReducers):[e.extraReducers],i={...t,...o.sliceCaseReducersByType};return loe(e.initialState,e=>{for(let t in i)e.addCase(t,i[t]);for(let t of o.sliceMatchers)e.addMatcher(t.matcher,t.reducer);for(let t of n)e.addMatcher(t.matcher,t.reducer);r&&e.addDefaultCase(r)})}let l=e=>e,u=new Map,d=new WeakMap,f;function p(e,t){return f||=c(),f(e,t)}function m(){return f||=c(),f.getInitialState()}function h(t,n=!1){function r(e){let i=e[t];return i===void 0&&n&&(i=wL(d,r,m)),i}function i(t=l){return wL(wL(u,n,()=>new WeakMap),t,()=>{let r={};for(let[i,a]of Object.entries(e.selectors??{}))r[i]=hoe(a,t,()=>wL(d,t,m),n);return r})}return{reducerPath:t,getSelectors:i,get selectors(){return i(r)},selectSlice:r}}let g={name:n,reducer:p,actions:o.actionCreators,caseReducers:o.sliceCaseReducersByName,getInitialState:m,...h(r),injectInto(e,{reducerPath:t,...n}={}){let i=t??r;return e.inject({reducerPath:i,reducer:p},n),{...g,...h(i,!0)}}};return g}}function hoe(e,t,n,r){function i(i,...a){let o=t(i);return o===void 0&&r&&(o=n()),e(o,...a)}return i.unwrapped=e,i}var AL=moe();function goe(){function e(e,t){return{_reducerDefinitionType:`asyncThunk`,payloadCreator:e,...t}}return e.withTypes=()=>e,{reducer(e){return Object.assign({[e.name](...t){return e(...t)}}[e.name],{_reducerDefinitionType:`reducer`})},preparedReducer(e,t){return{_reducerDefinitionType:`reducerWithPrepare`,prepare:e,reducer:t}},asyncThunk:e}}function _oe({type:e,reducerName:t,createNotation:n},r,i){let a,o;if(`reducer`in r){if(n&&!yoe(r))throw Error(nR(17));a=r.reducer,o=r.prepare}else a=r;i.addCase(e,a).exposeCaseReducer(t,a).exposeAction(t,o?xL(e,o):xL(e))}function voe(e){return e._reducerDefinitionType===`asyncThunk`}function yoe(e){return e._reducerDefinitionType===`reducerWithPrepare`}function boe({type:e,reducerName:t},n,r,i){if(!i)throw Error(nR(18));let{payloadCreator:a,fulfilled:o,pending:s,rejected:c,settled:l,options:u}=n,d=i(e,a,u);r.exposeAction(t,d),o&&r.addCase(d.fulfilled,o),s&&r.addCase(d.pending,s),c&&r.addCase(d.rejected,c),l&&r.addMatcher(d.settled,l),r.exposeCaseReducer(t,{fulfilled:o||jL,pending:s||jL,rejected:c||jL,settled:l||jL})}function jL(){}var xoe=`task`,ML=`listener`,NL=`completed`,PL=`cancelled`,Soe=`task-${PL}`,Coe=`task-${NL}`,FL=`${ML}-${PL}`,woe=`${ML}-${NL}`,IL=class{constructor(e){this.code=e,this.message=`${xoe} ${PL} (reason: ${e})`}code;name=`TaskAbortError`;message},LL=(e,t)=>{if(typeof e!=`function`)throw TypeError(nR(32))},RL=()=>{},zL=(e,t=RL)=>(e.catch(t),e),BL=(e,t)=>(e.addEventListener(`abort`,t,{once:!0}),()=>e.removeEventListener(`abort`,t)),VL=e=>{if(e.aborted)throw new IL(e.reason)};function HL(e,t){let n=RL;return new Promise((r,i)=>{let a=()=>i(new IL(e.reason));e.aborted?a():(n=BL(e,a),t.finally(()=>n()).then(r,i))}).finally(()=>{n=RL})}var Toe=async(e,t)=>{try{return await Promise.resolve(),{status:`ok`,value:await e()}}catch(e){return{status:e instanceof IL?`cancelled`:`rejected`,error:e}}finally{t?.()}},UL=e=>t=>zL(HL(e,t).then(t=>(VL(e),t))),WL=e=>{let t=UL(e);return e=>t(new Promise(t=>setTimeout(t,e)))},{assign:GL}=Object,KL={},qL=`listenerMiddleware`,Eoe=(e,t)=>{let n=t=>BL(e,()=>t.abort(e.reason));return(r,i)=>{LL(r,`taskExecutor`);let a=new AbortController;n(a);let o=Toe(async()=>{VL(e),VL(a.signal);let t=await r({pause:UL(a.signal),delay:WL(a.signal),signal:a.signal});return VL(a.signal),t},()=>a.abort(Coe));return i?.autoJoin&&t.push(o.catch(RL)),{result:UL(e)(o),cancel(){a.abort(Soe)}}}},Doe=(e,t)=>{let n=async(n,r)=>{VL(t);let i=()=>{},a=[new Promise((t,r)=>{let a=e({predicate:n,effect:(e,n)=>{n.unsubscribe(),t([e,n.getState(),n.getOriginalState()])}});i=()=>{a(),r()}})];r!=null&&a.push(new Promise(e=>setTimeout(e,r,null)));try{let e=await HL(t,Promise.race(a));return VL(t),e}finally{i()}};return((e,t)=>zL(n(e,t)))},JL=e=>{let{type:t,actionCreator:n,matcher:r,predicate:i,effect:a}=e;if(t)i=xL(t).match;else if(n)t=n.type,i=n.match;else if(r)i=r;else if(!i)throw Error(nR(21));return LL(a,`options.listener`),{predicate:i,type:t,effect:a}},YL=GL(e=>{let{type:t,predicate:n,effect:r}=JL(e);return{id:doe(),effect:r,type:t,predicate:n,pending:new Set,unsubscribe:()=>{throw Error(nR(22))}}},{withTypes:()=>YL}),XL=(e,t)=>{let{type:n,effect:r,predicate:i}=JL(t);return Array.from(e.values()).find(e=>(typeof n==`string`?e.type===n:e.predicate===i)&&e.effect===r)},ZL=e=>{e.pending.forEach(e=>{e.abort(FL)})},Ooe=(e,t)=>()=>{for(let e of t.keys())ZL(e);e.clear()},QL=(e,t,n)=>{try{e(t,n)}catch(e){setTimeout(()=>{throw e},0)}},$L=GL(xL(`${qL}/add`),{withTypes:()=>$L}),koe=xL(`${qL}/removeAll`),eR=GL(xL(`${qL}/remove`),{withTypes:()=>eR}),Aoe=(...e)=>{console.error(`${qL}/error`,...e)},tR=(e={})=>{let t=new Map,n=new Map,r=e=>{let t=n.get(e)??0;n.set(e,t+1)},i=e=>{let t=n.get(e)??1;t===1?n.delete(e):n.set(e,t-1)},{extra:a,onError:o=Aoe}=e;LL(o,`onError`);let s=e=>(e.unsubscribe=()=>t.delete(e.id),t.set(e.id,e),t=>{e.unsubscribe(),t?.cancelActive&&ZL(e)}),c=(e=>{let n=XL(t,e)??YL(e);return s(n)});GL(c,{withTypes:()=>c});let l=e=>{let n=XL(t,e);return n&&(n.unsubscribe(),e.cancelActive&&ZL(n)),!!n};GL(l,{withTypes:()=>l});let u=async(e,n,s,l)=>{let u=new AbortController,d=Doe(c,u.signal),f=[];try{e.pending.add(u),r(e),await Promise.resolve(e.effect(n,GL({},s,{getOriginalState:l,condition:(e,t)=>d(e,t).then(Boolean),take:d,delay:WL(u.signal),pause:UL(u.signal),extra:a,signal:u.signal,fork:Eoe(u.signal,f),unsubscribe:e.unsubscribe,subscribe:()=>{t.set(e.id,e)},cancelActiveListeners:()=>{e.pending.forEach((e,t,n)=>{e!==u&&(e.abort(FL),n.delete(e))})},cancel:()=>{u.abort(FL),e.pending.delete(u)},throwIfCancelled:()=>{VL(u.signal)}})))}catch(e){e instanceof IL||QL(o,e,{raisedBy:`effect`})}finally{await Promise.all(f),u.abort(woe),i(e),e.pending.delete(u)}},d=Ooe(t,n);return{middleware:e=>n=>r=>{if(!uI(r))return n(r);if($L.match(r))return c(r.payload);if(koe.match(r)){d();return}if(eR.match(r))return l(r.payload);let i=e.getState(),a=()=>{if(i===KL)throw Error(nR(23));return i},s;try{if(s=n(r),t.size>0){let n=e.getState(),s=Array.from(t.values());for(let t of s){let s=!1;try{s=t.predicate(r,n,i)}catch(e){s=!1,QL(o,e,{raisedBy:`predicate`})}s&&u(t,r,e,a)}}}finally{i=KL}return s},startListening:c,stopListening:l,clearListeners:d}};function nR(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var rR=AL({name:`chartLayout`,initialState:{layoutType:`horizontal`,width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){e.margin.top=t.payload.top??0,e.margin.right=t.payload.right??0,e.margin.bottom=t.payload.bottom??0,e.margin.left=t.payload.left??0},setScale(e,t){e.scale=t.payload}}}),iR=rR.actions,joe=iR.setMargin,Moe=iR.setLayout,Noe=iR.setChartSize,Poe=iR.setScale,Foe=rR.reducer;function aR(e,t,n){return Array.isArray(e)&&e&&t+n!==0?e.slice(t,n+1):e}function oR(e){return Number.isFinite(e)}function sR(e){return typeof e==`number`&&e>0&&Number.isFinite(e)}function cR(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 lR(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?cR(Object(n),!0).forEach(function(t){Ioe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cR(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ioe(e,t,n){return(t=Loe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Loe(e){var t=Roe(e,`string`);return typeof t==`symbol`?t:t+``}function Roe(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)}function uR(e,t,n){return YN(e)||YN(t)?n:HN(t)?PN(e,t,n):typeof t==`function`?t(e):n}var zoe=(e,t,n)=>{if(t&&n){var r=n.width,i=n.height,a=t.align,o=t.verticalAlign,s=t.layout,c=t.position,l=t.offset,u=l===void 0?0:l;if(c!=null){if(sP(c)){if(c===`top`&&Q(e.top))return lR(lR({},e),{},{top:e.top+(i||0)+u});if(c===`bottom`&&Q(e.bottom))return lR(lR({},e),{},{bottom:e.bottom+(i||0)+u});if(c===`left`&&Q(e.left))return lR(lR({},e),{},{left:e.left+(r||0)+u});if(c===`right`&&Q(e.right))return lR(lR({},e),{},{right:e.right+(r||0)+u})}return e}if((s===`vertical`||s===`horizontal`&&o===`middle`)&&a!==`center`&&Q(e[a]))return lR(lR({},e),{},{[a]:e[a]+(r||0)});if((s===`horizontal`||s===`vertical`&&a===`center`)&&o!==`middle`&&Q(e[o]))return lR(lR({},e),{},{[o]:e[o]+(i||0)})}return e},dR=(e,t)=>e===`horizontal`&&t===`xAxis`||e===`vertical`&&t===`yAxis`||e===`centric`&&t===`angleAxis`||e===`radial`&&t===`radiusAxis`,fR=(e,t,n,r)=>{if(r)return e.map(e=>e.coordinate);var i,a,o=e.map(e=>(e.coordinate===t&&(i=!0),e.coordinate===n&&(a=!0),e.coordinate));return i||o.push(t),a||o.push(n),o},pR=(e,t,n)=>{if(!e)return null;var r=e.duplicateDomain,i=e.type,a=e.range,o=e.scale,s=e.realScaleType,c=e.isCategorical,l=e.categoricalDomain,u=e.tickCount,d=e.ticks,f=e.niceTicks,p=e.axisType;if(!o)return null;var m=s===`scaleBand`&&o.bandwidth?o.bandwidth()/2:2,h=(t||n)&&i===`category`&&o.bandwidth?o.bandwidth()/m:0;return h=p===`angleAxis`&&a&&a.length>=2?zN(a[0]-a[1])*2*h:h,t&&(d||f)?(d||f||[]).map((e,t)=>{var n=r?r.indexOf(e):e,i=o.map(n);return oR(i)?{coordinate:i+h,value:e,offset:h,index:t}:null}).filter(ZN):c&&l?l.map((e,t)=>{var n=o.map(e);return oR(n)?{coordinate:n+h,value:e,index:t,offset:h}:null}).filter(ZN):o.ticks&&!n&&u!=null?o.ticks(u).map((e,t)=>{var n=o.map(e);return oR(n)?{coordinate:n+h,value:e,index:t,offset:h}:null}).filter(ZN):o.domain().map((e,t)=>{var n=o.map(e);return oR(n)?{coordinate:n+h,value:r?r[e]:e,index:t,offset:h}:null}).filter(ZN)},Boe={sign:e=>{var t=e.length;if(!(t<=0)){var n=e[0]?.length;if(!(n==null||n<=0))for(var r=0;r<n;++r)for(var i=0,a=0,o=0;o<t;++o){var s=e[o]?.[r];if(s!=null){var c=s[1],l=s[0],u=BN(c)?l:c;u>=0?(s[0]=i,i+=u,s[1]=i):(s[0]=a,a+=u,s[1]=a)}}}},expand:kie,none:JP,silhouette:Aie,wiggle:jie,positive:e=>{var t=e.length;if(!(t<=0)){var n=e[0]?.length;if(!(n==null||n<=0))for(var r=0;r<n;++r)for(var i=0,a=0;a<t;++a){var o=e[a]?.[r];if(o!=null){var s=BN(o[1])?o[0]:o[1];s>=0?(o[0]=i,i+=s,o[1]=i):(o[0]=0,o[1]=0)}}}}},Voe=(e,t,n)=>{var r=Boe[n]??JP,i=Oie().keys(t).value((e,t)=>Number(uR(e,t,0))).order(YP).offset(r)(e);return i.forEach((n,r)=>{n.forEach((n,i)=>{var a=uR(e[i],t[r],0);Array.isArray(a)&&a.length===2&&Q(a[0])&&Q(a[1])&&(n[0]=a[0],n[1]=a[1])})}),i};function Hoe(e){return e==null?void 0:String(e)}function mR(e){var t=e.axis,n=e.ticks,r=e.bandSize,i=e.entry,a=e.index,o=e.dataKey;if(t.type===`category`){if(!t.allowDuplicatedCategory&&t.dataKey&&!YN(i[t.dataKey])){var s=JN(n,`value`,i[t.dataKey]);if(s)return s.coordinate+r/2}return n!=null&&n[a]?n[a].coordinate+r/2:null}var c=uR(i,YN(o)?t.dataKey:o),l=t.scale.map(c);return Q(l)?l:null}var Uoe=e=>{var t=e.flat(2).filter(Q);return[Math.min(...t),Math.max(...t)]},Woe=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],Goe=(e,t,n)=>{if(e!=null&&Object.keys(e).length!==0)return Woe(Object.keys(e).reduce((r,i)=>{var a=e[i];if(!a)return r;var o=a.stackedData.reduce((e,r)=>{var i=Uoe(aR(r,t,n));return!oR(i[0])||!oR(i[1])?e:[Math.min(e[0],i[0]),Math.max(e[1],i[1])]},[1/0,-1/0]);return[Math.min(o[0],r[0]),Math.max(o[1],r[1])]},[1/0,-1/0]))},hR=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,gR=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,_R=(e,t,n)=>{if(e&&e.scale&&e.scale.bandwidth){var r=e.scale.bandwidth();if(!n||r>0)return r}if(e&&t&&t.length>=2){for(var i=XF(t,e=>e.coordinate),a=[],o=0,s=1,c=i.length;s<c;s++){var l=(i[s]?.coordinate||0)-(i[s-1]?.coordinate||0);a.push(l),o=Math.max(l,o)}var u=o*1e-4,d=1/0;for(var f of a)f>u&&(d=Math.min(f,d));return d===1/0?0:d}return n?void 0:0};function vR(e){var t=e.tooltipEntrySettings,n=e.dataKey,r=e.payload,i=e.value,a=e.name;return lR(lR({},t),{},{dataKey:n,payload:r,value:i,name:a})}function yR(e,t){if(e!=null)return String(e);if(typeof t==`string`)return t}var Koe=(e,t)=>{if(t===`horizontal`)return e.relativeX;if(t===`vertical`)return e.relativeY},qoe=(e,t)=>t===`centric`?e.angle:e.radius,bR=e=>e.layout.width,xR=e=>e.layout.height,Joe=e=>e.layout.scale,SR=e=>e.layout.margin,CR=$(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),wR=$(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),Yoe=`data-recharts-item-index`;function TR(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 ER(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?TR(Object(n),!0).forEach(function(t){Xoe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):TR(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Xoe(e,t,n){return(t=Zoe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Zoe(e){var t=Qoe(e,`string`);return typeof t==`symbol`?t:t+``}function Qoe(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 $oe=e=>e.brush.height;function ese(e){return wR(e).reduce((e,t)=>t.orientation===`left`&&!t.mirror&&!t.hide?e+(typeof t.width==`number`?t.width:60):e,0)}function tse(e){return wR(e).reduce((e,t)=>t.orientation===`right`&&!t.mirror&&!t.hide?e+(typeof t.width==`number`?t.width:60):e,0)}function nse(e){return CR(e).reduce((e,t)=>t.orientation===`top`&&!t.mirror&&!t.hide?e+(typeof t.height==`number`?t.height:30):e,0)}function rse(e){return CR(e).reduce((e,t)=>t.orientation===`bottom`&&!t.mirror&&!t.hide?e+(typeof t.height==`number`?t.height:30):e,0)}var DR=$([bR,xR,SR,$oe,ese,tse,nse,rse,ZF,jae],(e,t,n,r,i,a,o,s,c,l)=>{var u={left:(n.left||0)+i,right:(n.right||0)+a},d=ER(ER({},{top:(n.top||0)+o,bottom:(n.bottom||0)+s}),u),f=d.bottom;d.bottom+=r,d=zoe(d,c,l);var p=e-d.left-d.right,m=t-d.top-d.bottom;return ER(ER({brushBottom:f},d),{},{width:Math.max(p,0),height:Math.max(m,0)})}),ise=$(DR,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),OR=$(bR,xR,(e,t)=>({x:0,y:0,width:e,height:t})),ase=(0,y.createContext)(null),kR=()=>(0,y.useContext)(ase)!=null,AR=e=>e.brush,jR=$([AR,DR,SR],(e,t,n)=>({height:e.height,x:Q(e.x)?e.x:t.left,y:Q(e.y)?e.y:t.top+t.height+t.brushBottom-(n?.bottom||0),width:Q(e.width)?e.width:t.width}));function ose(e,t,{signal:n,edges:r}={}){let i,a=null,o=r!=null&&r.includes(`leading`),s=r==null||r.includes(`trailing`),c=()=>{a!==null&&(e.apply(i,a),i=void 0,a=null)},l=()=>{s&&c(),p()},u=null,d=()=>{u!=null&&clearTimeout(u),u=setTimeout(()=>{u=null,l()},t)},f=()=>{u!==null&&(clearTimeout(u),u=null)},p=()=>{f(),i=void 0,a=null},m=()=>{c()},h=function(...e){if(n?.aborted)return;i=this,a=e;let t=u==null;d(),o&&t&&c()};return h.schedule=d,h.cancel=p,h.flush=m,n?.addEventListener(`abort`,p,{once:!0}),h}function sse(e,t=0,n={}){typeof n!=`object`&&(n={});let{leading:r=!1,trailing:i=!0,maxWait:a}=n,o=[,,];r&&(o[0]=`leading`),i&&(o[1]=`trailing`);let s,c=null,l=ose(function(...t){s=e.apply(this,t),c=null},t,{edges:o}),u=function(...t){return a!=null&&(c===null&&(c=Date.now()),Date.now()-c>=a)?((r||i)&&(s=e.apply(this,t)),c=Date.now(),l.cancel(),l.schedule(),s):(l.apply(this,t),s)};return u.cancel=l.cancel,u.flush=()=>(l.flush(),s),u}function cse(e,t=0,n={}){let{leading:r=!0,trailing:i=!0}=n;return sse(e,t,{leading:r,maxWait:t,trailing:i})}var MR=function(e,t){var n=[...arguments].slice(2);if(typeof console<`u`&&console.warn&&(t===void 0&&console.warn(`LogUtils requires an error message argument`),!e)){if(t===void 0)console.warn(`Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.`);else{var r=0;console.warn(t.replace(/%s/g,()=>n[r++]))}}},NR={width:`100%`,height:`100%`,debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},PR=(e,t,n)=>{var r=n.width,i=r===void 0?NR.width:r,a=n.height,o=a===void 0?NR.height:a,s=n.aspect,c=n.maxHeight,l=VN(i)?e:Number(i),u=VN(o)?t:Number(o);return s&&s>0&&(l?u=l/s:u&&(l=u*s),c&&u!=null&&u>c&&(u=c)),{calculatedWidth:l,calculatedHeight:u}},lse={width:0,height:0,overflow:`visible`},use={width:0,overflowX:`visible`},dse={height:0,overflowY:`visible`},fse={},pse=e=>{var t=e.width,n=e.height,r=VN(t),i=VN(n);return r&&i?lse:r?use:i?dse:fse};function mse(e){var t=e.width,n=e.height,r=e.aspect,i=t,a=n;return i===void 0&&a===void 0?(i=NR.width,a=NR.height):i===void 0?i=r&&r>0?void 0:NR.width:a===void 0&&(a=r&&r>0?void 0:NR.height),{width:i,height:a}}var hse=[`aspect`,`initialDimension`,`width`,`height`,`minWidth`,`minHeight`,`maxHeight`,`children`,`debounce`,`id`,`className`,`onResize`,`style`];function FR(){return FR=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},FR.apply(null,arguments)}function IR(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 LR(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?IR(Object(n),!0).forEach(function(t){gse(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):IR(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function gse(e,t,n){return(t=_se(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _se(e){var t=vse(e,`string`);return typeof t==`symbol`?t:t+``}function vse(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)}function yse(e,t){return Cse(e)||Sse(e,t)||xse(e,t)||bse()}function bse(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xse(e,t){if(e){if(typeof e==`string`)return RR(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?RR(e,t):void 0}}function RR(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Sse(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function Cse(e){if(Array.isArray(e))return e}function wse(e,t){if(e==null)return{};var n,r,i=Tse(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Tse(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var zR=(0,y.createContext)(NR.initialDimension);function Ese(e){return sR(e.width)&&sR(e.height)}function BR(e){var t=e.children,n=e.width,r=e.height,i=(0,y.useMemo)(()=>({width:n,height:r}),[n,r]);return Ese(i)?y.createElement(zR.Provider,{value:i},t):null}var VR=()=>(0,y.useContext)(zR),Dse=(0,y.forwardRef)((e,t)=>{var n=e.aspect,r=e.initialDimension,i=r===void 0?NR.initialDimension:r,a=e.width,o=e.height,s=e.minWidth,c=s===void 0?NR.minWidth:s,l=e.minHeight,u=e.maxHeight,d=e.children,f=e.debounce,p=f===void 0?NR.debounce:f,m=e.id,h=e.className,g=e.onResize,_=e.style,v=_===void 0?{}:_,b=wse(e,hse),x=(0,y.useRef)(null),S=(0,y.useRef)();S.current=g,(0,y.useImperativeHandle)(t,()=>x.current);var C=yse((0,y.useState)({containerWidth:i.width,containerHeight:i.height}),2),w=C[0],T=C[1],E=(0,y.useCallback)((e,t)=>{T(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]);(0,y.useEffect)(()=>{if(x.current==null||typeof ResizeObserver>`u`)return QN;var e=e=>{var t,n=e[0];if(n!=null){var r=n.contentRect,i=r.width,a=r.height;E(i,a),(t=S.current)==null||t.call(S,i,a)}};p>0&&(e=cse(e,p,{trailing:!0,leading:!1}));var t=new ResizeObserver(e),n=x.current.getBoundingClientRect(),r=n.width,i=n.height;return E(r,i),t.observe(x.current),()=>{t.disconnect()}},[E,p]);var D=w.containerWidth,O=w.containerHeight;MR(!n||n>0,`The aspect(%s) must be greater than zero.`,n);var k=PR(D,O,{width:a,height:o,aspect:n,maxHeight:u}),A=k.calculatedWidth,ee=k.calculatedHeight;return MR(D<0||O<0||A!=null&&A>0||ee!=null&&ee>0,`The width(%s) and height(%s) of chart should be greater than 0,
       please check the style of container, or the props width(%s) and height(%s),
       or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the
       height and width.`,A,ee,a,o,c,l,n),y.createElement(`div`,FR({id:m?`${m}`:void 0,className:Cn(`recharts-responsive-container`,h),style:LR(LR({},v),{},{width:a,height:o,minWidth:c,minHeight:l,maxHeight:u}),ref:x},b),y.createElement(`div`,{style:pse({width:a,height:o})},y.createElement(BR,{width:A,height:ee},d)))}),Ose=(0,y.forwardRef)((e,t)=>{var n=VR();if(sR(n.width)&&sR(n.height))return e.children;var r=mse({width:e.width,height:e.height,aspect:e.aspect}),i=r.width,a=r.height,o=PR(void 0,void 0,{width:i,height:a,aspect:e.aspect,maxHeight:e.maxHeight}),s=o.calculatedWidth,c=o.calculatedHeight;return Q(s)&&Q(c)?y.createElement(BR,{width:s,height:c},e.children):y.createElement(Dse,FR({},e,{width:i,height:a,ref:t}))}),HR=()=>{var e=kR(),t=HF(ise),n=HF(jR),r=HF(AR)?.padding;return!e||!n||!r?t:{width:n.width-r.left-r.right,height:n.height-r.top-r.bottom,x:r.left,y:r.top}},kse={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},UR=()=>HF(DR)??kse,WR=()=>HF(bR),GR=()=>HF(xR),KR=e=>e.layout.layoutType,qR=()=>HF(KR),JR=()=>{var e=qR();if(e===`horizontal`||e===`vertical`)return e},YR=e=>{var t=e.layout.layoutType;if(t===`centric`||t===`radial`)return t},Ase=()=>qR()!==void 0,XR=e=>{var t=BF(),n=kR(),r=e.width,i=e.height,a=VR(),o=r,s=i;return a&&(o=a.width>0?a.width:r,s=a.height>0?a.height:i),(0,y.useEffect)(()=>{!n&&sR(o)&&sR(s)&&t(Noe({width:o,height:s}))},[t,n,o,s]),null},ZR=AL({name:`legend`,initialState:{settings:{layout:`horizontal`,align:`center`,verticalAlign:`bottom`,itemSorter:`value`,position:void 0,offset:0},size:{width:0,height:0},payload:[]},reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter,e.settings.position=t.payload.position,e.settings.offset=t.payload.offset},addLegendPayload:{reducer(e,t){e.payload.push(yL(t.payload))},prepare:EL()},replaceLegendPayload:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next,a=gL(e).payload.indexOf(yL(r));a>-1&&(e.payload[a]=yL(i))},prepare:EL()},removeLegendPayload:{reducer(e,t){var n=gL(e).payload.indexOf(yL(t.payload));n>-1&&e.payload.splice(n,1)},prepare:EL()}}}),QR=ZR.actions;QR.setLegendSize,QR.setLegendSettings;var jse=QR.addLegendPayload,Mse=QR.replaceLegendPayload,Nse=QR.removeLegendPayload,Pse=ZR.reducer,Fse=s((e=>{var t=p();t.useSyncExternalStore,t.useRef,t.useEffect,t.useMemo,t.useDebugValue}));s(((e,t)=>{t.exports=Fse()}))();function Ise(e){e()}function Lse(){let e=null,t=null;return{clear(){e=null,t=null},notify(){Ise(()=>{let t=e;for(;t;)t.callback(),t=t.next})},get(){let t=[],n=e;for(;n;)t.push(n),n=n.next;return t},subscribe(n){let r=!0,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 $R={notify(){},get:()=>[]};function Rse(e,t){let n,r=$R,i=0,a=!1;function o(e){u();let t=r.subscribe(e),n=!1;return()=>{n||(n=!0,t(),d())}}function s(){r.notify()}function c(){m.onStateChange&&m.onStateChange()}function l(){return a}function u(){i++,n||(n=t?t.addNestedSub(c):e.subscribe(c),r=Lse())}function d(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=$R)}function f(){a||(a=!0,u())}function p(){a&&(a=!1,d())}let m={addNestedSub:o,notifyNestedSubs:s,handleChangeWrapper:c,isSubscribed:l,trySubscribe:f,tryUnsubscribe:p,getListeners:()=>r};return m}var zse=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0,Bse=typeof navigator<`u`&&navigator.product===`ReactNative`,Vse=zse||Bse?y.useLayoutEffect:y.useEffect;function ez(e,t){return e===t?e!==0||t!==0||1/e==1/t:e!==e&&t!==t}function Hse(e,t){if(ez(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r=0;r<n.length;r++)if(!Object.prototype.hasOwnProperty.call(t,n[r])||!ez(e[n[r]],t[n[r]]))return!1;return!0}var Use=Symbol.for(`react-redux-context`),Wse=typeof globalThis<`u`?globalThis:{};function Gse(){if(!y.createContext)return{};let e=Wse[Use]??=new Map,t=e.get(y.createContext);return t||(t=y.createContext(null),e.set(y.createContext,t)),t}var Kse=Gse();function qse(e){let{children:t,context:n,serverState:r,store:i}=e,a=y.useMemo(()=>{let e=Rse(i);return{store:i,subscription:e,getServerState:r?()=>r:void 0}},[i,r]),o=y.useMemo(()=>i.getState(),[i]);Vse(()=>{let{subscription:e}=a;return e.onStateChange=e.notifyNestedSubs,e.trySubscribe(),o!==i.getState()&&e.notifyNestedSubs(),()=>{e.tryUnsubscribe(),e.onStateChange=void 0}},[a,o]);let s=n||Kse;return y.createElement(s.Provider,{value:a},t)}var Jse=qse,Yse=new Set([`axisLine`,`tickLine`,`activeBar`,`activeDot`,`activeLabel`,`activeShape`,`allowEscapeViewBox`,`background`,`cursor`,`dot`,`label`,`line`,`margin`,`padding`,`position`,`shape`,`style`,`tick`,`wrapperStyle`,`radius`,`throttledEvents`]);function Xse(e,t){return e==null&&t==null?!0:typeof e==`number`&&typeof t==`number`?e===t||e!==e&&t!==t:e===t}function tz(e,t){for(var n of new Set([...Object.keys(e),...Object.keys(t)]))if(Yse.has(n)){if(e[n]==null&&t[n]==null)continue;if(!Hse(e[n],t[n]))return!1}else if(!Xse(e[n],t[n]))return!1;return!0}function nz(){return nz=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},nz.apply(null,arguments)}function rz(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 iz(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?rz(Object(n),!0).forEach(function(t){Zse(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rz(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Zse(e,t,n){return(t=Qse(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Qse(e){var t=$se(e,`string`);return typeof t==`symbol`?t:t+``}function $se(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)}function ece(e,t){return sz(e)||oz(e,t)||nce(e,t)||tce()}function tce(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function nce(e,t){if(e){if(typeof e==`string`)return az(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?az(e,t):void 0}}function az(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function oz(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function sz(e){if(Array.isArray(e))return e}function cz(e){return Array.isArray(e)&&HN(e[0])&&HN(e[1])?e.join(` ~ `):e}var lz={separator:` : `,contentStyle:{margin:0,padding:10,backgroundColor:`#fff`,border:`1px solid #ccc`,whiteSpace:`nowrap`},itemStyle:{display:`block`,paddingTop:4,paddingBottom:4,color:`#000`},labelStyle:{},accessibilityLayer:!1};function uz(e,t){return t==null?e:XF(e,t)}var dz=e=>{var t=e.separator,n=t===void 0?lz.separator:t,r=e.contentStyle,i=e.itemStyle,a=e.labelStyle,o=a===void 0?lz.labelStyle:a,s=e.payload,c=e.formatter,l=e.itemSorter,u=e.wrapperClassName,d=e.labelClassName,f=e.label,p=e.labelFormatter,m=e.accessibilityLayer,h=m===void 0?lz.accessibilityLayer:m,g=()=>{if(s&&s.length){var e={padding:0,margin:0},t=uz(s,l).map((e,t)=>{if(!e||e.type===`none`)return null;var r=e.formatter||c||cz,a=e.value,o=e.name,l=a,u=o;if(r){var d=r(a,o,e,t,s);if(Array.isArray(d)){var f=ece(d,2);l=f[0],u=f[1]}else if(d!=null)l=d;else return null}var p=iz(iz({},lz.itemStyle),{},{color:e.color||lz.itemStyle.color},i);return y.createElement(`li`,{className:`recharts-tooltip-item`,key:`tooltip-item-${t}`,style:p},HN(u)?y.createElement(`span`,{className:`recharts-tooltip-item-name`},u):null,HN(u)?y.createElement(`span`,{className:`recharts-tooltip-item-separator`},n):null,y.createElement(`span`,{className:`recharts-tooltip-item-value`},l),y.createElement(`span`,{className:`recharts-tooltip-item-unit`},e.unit||``))});return y.createElement(`ul`,{className:`recharts-tooltip-item-list`,style:e},t)}return null},_=iz(iz({},lz.contentStyle),r),v=iz({margin:0},o),b=!YN(f),x=b?f:``,S=Cn(`recharts-default-tooltip`,u),C=Cn(`recharts-tooltip-label`,d);b&&p&&s!=null&&(x=p(f,s));var w=h?{role:`status`,"aria-live":`assertive`}:{};return y.createElement(`div`,nz({className:S,style:_},w),y.createElement(`p`,{className:C,style:v},y.isValidElement(x)?x:`${x}`),g())},fz=`recharts-tooltip-wrapper`,pz={visibility:`hidden`};function mz(e){var t=e.coordinate,n=e.translateX,r=e.translateY;return Cn(fz,{[`${fz}-right`]:Q(n)&&t&&Q(t.x)&&n>=t.x,[`${fz}-left`]:Q(n)&&t&&Q(t.x)&&n<t.x,[`${fz}-bottom`]:Q(r)&&t&&Q(t.y)&&r>=t.y,[`${fz}-top`]:Q(r)&&t&&Q(t.y)&&r<t.y})}function hz(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.key,i=e.offset,a=e.position,o=e.reverseDirection,s=e.tooltipDimension,c=e.viewBox,l=e.viewBoxDimension;if(a&&Q(a[r]))return a[r];var u=n[r]-s-(i>0?i:0),d=n[r]+i;if(t[r])return o[r]?u:d;var f=c[r];return f==null?0:o[r]?Math.max(u<f?d:u,f):l==null?0:d+s>f+l?Math.max(u,f):Math.max(d,f)}function gz(e){var t=e.translateX,n=e.translateY;return{transform:e.useTranslate3d?`translate3d(${t}px, ${n}px, 0)`:`translate(${t}px, ${n}px)`}}function _z(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.offsetTop,i=e.offsetLeft,a=e.position,o=e.reverseDirection,s=e.tooltipBox,c=e.useTranslate3d,l=e.viewBox,u,d,f;return s&&s.height>0&&s.width>0&&n?(d=hz({allowEscapeViewBox:t,coordinate:n,key:`x`,offset:i,position:a,reverseDirection:o,tooltipDimension:s.width,viewBox:l,viewBoxDimension:l.width}),f=hz({allowEscapeViewBox:t,coordinate:n,key:`y`,offset:r,position:a,reverseDirection:o,tooltipDimension:s.height,viewBox:l,viewBoxDimension:l.height}),u=gz({translateX:d,translateY:f,useTranslate3d:c})):u=pz,{cssProperties:u,cssClasses:mz({translateX:d,translateY:f,coordinate:n})}}var vz={devToolsEnabled:!0,isSsr:!(typeof window<`u`&&window.document&&window.document.createElement&&window.setTimeout)};function yz(e,t){return wz(e)||Cz(e,t)||xz(e,t)||bz()}function bz(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xz(e,t){if(e){if(typeof e==`string`)return Sz(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Sz(e,t):void 0}}function Sz(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Cz(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function wz(e){if(Array.isArray(e))return e}function Tz(){var e=yz((0,y.useState)(()=>vz.isSsr||!window.matchMedia?!1:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches),2),t=e[0],n=e[1];return(0,y.useEffect)(()=>{if(window.matchMedia){var e=window.matchMedia(`(prefers-reduced-motion: reduce)`),t=()=>{n(e.matches)};return e.addEventListener(`change`,t),()=>{e.removeEventListener(`change`,t)}}},[]),t}function Ez(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 Dz(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Ez(Object(n),!0).forEach(function(t){Oz(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ez(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Oz(e,t,n){return(t=kz(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function kz(e){var t=Az(e,`string`);return typeof t==`symbol`?t:t+``}function Az(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)}function jz(e,t){return Iz(e)||Fz(e,t)||Nz(e,t)||Mz()}function Mz(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Nz(e,t){if(e){if(typeof e==`string`)return Pz(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Pz(e,t):void 0}}function Pz(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Fz(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function Iz(e){if(Array.isArray(e))return e}function Lz(e){if(!(e.prefersReducedMotion&&e.isAnimationActive===`auto`)&&e.isAnimationActive&&e.active){var t=typeof e.animationEasing==`string`?e.animationEasing:`ease`;return`transform ${e.animationDuration}ms ${t}`}}function Rz(e){var t=Tz(),n=jz(y.useState(()=>({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),2),r=n[0],i=n[1];y.useEffect(()=>{var t=t=>{t.key===`Escape`&&i({dismissed:!0,dismissedAtCoordinate:{x:e.coordinate?.x??0,y:e.coordinate?.y??0}})};return document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`keydown`,t)}},[e.coordinate?.x,e.coordinate?.y]),r.dismissed&&((e.coordinate?.x??0)!==r.dismissedAtCoordinate.x||(e.coordinate?.y??0)!==r.dismissedAtCoordinate.y)&&i(Dz(Dz({},r),{},{dismissed:!1}));var a=_z({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset==`number`?e.offset:e.offset.x,offsetTop:typeof e.offset==`number`?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:e.lastBoundingBox,useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),o=a.cssClasses,s=a.cssProperties,c=Dz(Dz({},e.hasPortalFromProps?{}:Dz(Dz({transition:Lz({prefersReducedMotion:t,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},s),{},{pointerEvents:`none`,position:`absolute`,top:0,left:0})),{},{visibility:!r.dismissed&&e.active&&e.hasPayload?`visible`:`hidden`},e.wrapperStyle);return y.createElement(`div`,{xmlns:`http://www.w3.org/1999/xhtml`,tabIndex:-1,className:o,style:c,ref:e.innerRef},e.children)}var zz=y.memo(Rz),Bz=()=>HF(e=>e.rootProps.accessibilityLayer)??!0;function Vz(){return Vz=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Vz.apply(null,arguments)}function Hz(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 Uz(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Hz(Object(n),!0).forEach(function(t){Wz(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Hz(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Wz(e,t,n){return(t=Gz(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Gz(e){var t=Kz(e,`string`);return typeof t==`symbol`?t:t+``}function Kz(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 qz={curveBasisClosed:NP,curveBasisOpen:FP,curveBasis:jP,curveBumpX:EP,curveBumpY:DP,curveLinearClosed:LP,curveLinear:bP,curveMonotoneX:bie,curveMonotoneY:xie,curveNatural:Sie,curveStep:Cie,curveStepAfter:Tie,curveStepBefore:wie},Jz=e=>oR(e.x)&&oR(e.y),Yz=e=>e.base!=null&&Jz(e.base)&&Jz(e),Xz=e=>e.x,Zz=e=>e.y,Qz=(e,t)=>{if(typeof e==`function`)return e;var n=`curve${XN(e)}`;if((n===`curveMonotone`||n===`curveBump`)&&t){var r=qz[`${n}${t===`vertical`?`Y`:`X`}`];if(r)return r}return qz[n]||bP},$z={connectNulls:!1,type:`linear`},eB=e=>{var t=e.type,n=t===void 0?$z.type:t,r=e.points,i=r===void 0?[]:r,a=e.baseLine,o=e.layout,s=e.connectNulls,c=s===void 0?$z.connectNulls:s,l=Qz(n,o),u=c?i.filter(Jz):i;if(Array.isArray(a)){var d,f=i.map((e,t)=>Uz(Uz({},e),{},{base:a[t]}));return d=o===`vertical`?wP().y(Zz).x1(Xz).x0(e=>e.base.x):wP().x(Xz).y1(Zz).y0(e=>e.base.y),d.defined(Yz).curve(l)(c?f.filter(Yz):f)}return(o===`vertical`&&Q(a)?wP().y(Zz).x1(Xz).x0(a):Q(a)?wP().x(Xz).y1(Zz).y0(a):CP().x(Xz).y(Zz)).defined(Jz).curve(l)(u)},tB=e=>{var t=e.className,n=e.points,r=e.path,i=e.pathRef,a=qR();if((!n||!n.length)&&!r)return null;var o={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||a,connectNulls:e.connectNulls},s=n&&n.length?eB(o):r;return y.createElement(`path`,Vz({},fN(e),ZP(e),{className:Cn(`recharts-curve`,t),d:s===null?void 0:s,ref:i}))},nB=[`x`,`y`,`top`,`left`,`width`,`height`,`className`];function rB(){return rB=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},rB.apply(null,arguments)}function iB(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 aB(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?iB(Object(n),!0).forEach(function(t){oB(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):iB(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function oB(e,t,n){return(t=sB(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function sB(e){var t=cB(e,`string`);return typeof t==`symbol`?t:t+``}function cB(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)}function lB(e,t){if(e==null)return{};var n,r,i=uB(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function uB(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var dB=(e,t,n,r,i,a)=>`M${e},${i}v${r}M${a},${t}h${n}`,fB=e=>{var t=e.x,n=t===void 0?0:t,r=e.y,i=r===void 0?0:r,a=e.top,o=a===void 0?0:a,s=e.left,c=s===void 0?0:s,l=e.width,u=l===void 0?0:l,d=e.height,f=d===void 0?0:d,p=e.className,m=lB(e,nB),h=aB({x:n,y:i,top:o,left:c,width:u,height:f},m);return!Q(n)||!Q(i)||!Q(u)||!Q(f)||!Q(o)||!Q(c)?null:y.createElement(`path`,rB({},mN(h),{className:Cn(`recharts-cross`,p),d:dB(n,i,u,f,o,c)}))};function pB(e,t,n,r){var i=r/2;return{stroke:`none`,fill:`#ccc`,x:e===`horizontal`?t.x-i:n.left+.5,y:e===`horizontal`?n.top+.5:t.y-i,width:e===`horizontal`?r:n.width-1,height:e===`horizontal`?n.height-1:r}}var mB=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],hB=(e,t)=>e.map((e,n)=>e*t**n).reduce((e,t)=>e+t),gB=(e,t)=>n=>hB(mB(e,t),n),_B=(e,t)=>n=>hB([...mB(e,t).map((e,t)=>e*t).slice(1),0],n),vB=e=>{var t,n=e.split(`(`);if(n.length!==2||n[0]!==`cubic-bezier`)return null;var r=(t=n[1])==null||(t=t.split(`)`)[0])==null?void 0:t.split(`,`);if(r==null||r.length!==4)return null;var i=r.map(e=>parseFloat(e));return[i[0],i[1],i[2],i[3]]},yB=function(){var e=[...arguments];if(e.length===1)switch(e[0]){case`linear`:return[0,0,1,1];case`ease`:return[.25,.1,.25,1];case`ease-in`:return[.42,0,1,1];case`ease-out`:return[.42,0,.58,1];case`ease-in-out`:return[0,0,.58,1];default:var t=vB(e[0]);if(t)return t}return e.length===4?e:[0,0,1,1]},bB=(e,t,n,r)=>{var i=gB(e,n),a=gB(t,r),o=_B(e,n),s=e=>e>1?1:e<0?0:e,c=e=>{for(var t=e>1?1:e,n=t,r=0;r<8;++r){var c=i(n)-t,l=o(n);if(Math.abs(c-t)<1e-4||l<1e-4)return a(n);n=s(n-c/l)}return a(n)};return c.isStepper=!1,c},xB=function(){return bB(...yB(...arguments))},SB=function(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.stiff,n=t===void 0?100:t,r=e.damping,i=r===void 0?8:r,a=e.dt,o=a===void 0?16.67:a,s=1,c=[0],l=0,u=0,d=1e4,f=0;f<d;){var p=-(l-s)*n,m=u*i;if(u+=(p-m)*o/1e3,l+=u*o/1e3,c.push(l),Math.abs(l-s)<1e-4&&Math.abs(u)<1e-4)break;f++}c[c.length-1]=s;var h=c.length-1;return e=>{if(e<=0)return 0;if(e>=1)return s;var t=e*h,n=Math.floor(t),r=t-n;return(c[n]??0)+((c[n+1]??0)-(c[n]??0))*r}},CB=e=>{if(typeof e==`string`)switch(e){case`ease`:case`ease-in-out`:case`ease-out`:case`ease-in`:case`linear`:return xB(e);case`spring`:return SB();default:if(e.split(`(`)[0]===`cubic-bezier`)return xB(e)}return typeof e==`function`?e:null},wB=(0,y.createContext)((e,t,n)=>{var r,i=a=>{var o=t.tick(a);if(t.getState()===`active`){if(n(t.getInterpolated()),t.getProgress()===1){t.complete(),r=void 0;return}r=e.setTimeout(i,o)}else r=e.setTimeout(i,o)};return r=e.setTimeout(i,0),()=>r?.()});wB.Provider;function TB(e){var t=(0,y.useContext)(wB);return(0,y.useMemo)(()=>e??t,[e,t])}function EB(e,t,n){return(t=DB(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function DB(e){var t=OB(e,`string`);return typeof t==`symbol`?t:t+``}function OB(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 kB=`init`,AB=`pending`,jB=`active`,MB=`completed`;function NB(e){return Math.max(0,e)}var PB=class{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(e){var t;EB(this,`state`,kB),this.animationId=e.animationId,this.onAnimationEnd=e.onAnimationEnd,this.animationDuration=NB(e.animationDuration),this.animationBegin=NB(e.animationBegin),this.progress=0,this.from=e.from,this.to=e.to,this.easing=e.easing,(t=e.onAnimationStart)==null||t.call(e)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(e){if(this.getState()===kB)return this.state=AB,this.beginStartedTime=e,this.animationBegin;if(this.getState()===AB){if(this.beginStartedTime==null)throw Error();var t=e-this.beginStartedTime;return t>=this.animationBegin?(this.state=jB,this.animationStartedTime=e,this.nextAnimationUpdate(0)):NB(this.animationBegin-t)}if(this.getState()===jB){if(this.animationStartedTime==null)throw Error();var n=e-this.animationStartedTime;return this.setProgress(n/this.animationDuration),this.nextAnimationUpdate(n)}return 0}setProgress(e){this.progress=Math.min(1,Math.max(0,e))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state===`active`){var e;(e=this.onAnimationEnd)==null||e.call(this)}this.state=MB}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}},FB=class extends PB{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(qN(this.getFrom(),this.getTo(),this.getProgress()))}},IB=class{setTimeout(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),r=null,i=a=>{a-n>=t?e(a):r=requestAnimationFrame(i)};return r=requestAnimationFrame(i),()=>{r!=null&&cancelAnimationFrame(r)}}};function LB(e,t){return HB(e)||VB(e,t)||zB(e,t)||RB()}function RB(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function zB(e,t){if(e){if(typeof e==`string`)return BB(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?BB(e,t):void 0}}function BB(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function VB(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function HB(e){if(Array.isArray(e))return e}var UB={begin:0,duration:1e3,easing:`ease`,isActive:!0,canBegin:!0,onAnimationEnd:()=>{},onAnimationStart:()=>{}},WB=0,GB=1;function KB(e){var t=$P(e,UB),n=t.animationId,r=t.isActive,i=t.canBegin,a=t.duration,o=t.easing,s=t.begin,c=t.onAnimationEnd,l=t.onAnimationStart,u=t.children,d=Tz(),f=r===`auto`?!vz.isSsr&&!d:r,p=TB(t.animationController),m=LB((0,y.useState)(f?WB:GB),2),h=m[0],g=m[1];return(0,y.useEffect)(()=>{f||g(GB)},[f]),(0,y.useEffect)(()=>{var e=CB(o);return!f||!i||e==null?QN:p(new IB,new FB({animationId:n,easing:e,animationDuration:a,animationBegin:s,onAnimationStart:l,onAnimationEnd:c,from:WB,to:GB}),g)},[p,n,f,i,a,o,s,l,c]),u(Number(h))}function qB(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`animation-`,n=(0,y.useRef)(WN(t)),r=(0,y.useRef)(e);return r.current!==e&&(n.current=WN(t),r.current=e),n.current}var JB=e=>e.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`),YB=(e,t,n)=>e.map(e=>`${JB(e)} ${t}ms ${n}`).join(`,`),XB=[`radius`],ZB=[`radius`],QB,$B,eV,tV,nV,rV,iV,aV,oV,sV;function cV(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 lV(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?cV(Object(n),!0).forEach(function(t){uV(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cV(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function uV(e,t,n){return(t=dV(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function dV(e){var t=fV(e,`string`);return typeof t==`symbol`?t:t+``}function fV(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)}function pV(){return pV=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},pV.apply(null,arguments)}function mV(e,t){if(e==null)return{};var n,r,i=hV(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function hV(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function gV(e,t){return xV(e)||bV(e,t)||vV(e,t)||_V()}function _V(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vV(e,t){if(e){if(typeof e==`string`)return yV(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yV(e,t):void 0}}function yV(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function bV(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function xV(e){if(Array.isArray(e))return e}function SV(e,t){return t||=e.slice(0),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var CV=(e,t,n,r,i)=>{var a=LN(n),o=LN(r),s=Math.min(Math.abs(a)/2,Math.abs(o)/2),c=o>=0?1:-1,l=a>=0?1:-1,u=+(o>=0&&a>=0||o<0&&a<0),d;if(s>0&&Array.isArray(i)){for(var f=[0,0,0,0],p=0,m=4;p<m;p++){var h=i[p]??0;f[p]=h>s?s:h}d=RN(QB||=SV([`M`,`,`,``]),e,t+c*f[0]),f[0]>0&&(d+=RN($B||=SV([`A `,`,`,`,0,0,`,`,`,`,`,``]),f[0],f[0],u,e+l*f[0],t)),d+=RN(eV||=SV([`L `,`,`,``]),e+n-l*f[1],t),f[1]>0&&(d+=RN(tV||=SV([`A `,`,`,`,0,0,`,`,
        `,`,`,``]),f[1],f[1],u,e+n,t+c*f[1])),d+=RN(nV||=SV([`L `,`,`,``]),e+n,t+r-c*f[2]),f[2]>0&&(d+=RN(rV||=SV([`A `,`,`,`,0,0,`,`,
        `,`,`,``]),f[2],f[2],u,e+n-l*f[2],t+r)),d+=RN(iV||=SV([`L `,`,`,``]),e+l*f[3],t+r),f[3]>0&&(d+=RN(aV||=SV([`A `,`,`,`,0,0,`,`,
        `,`,`,``]),f[3],f[3],u,e,t+r-c*f[3])),d+=`Z`}else if(s>0&&i===+i&&i>0){var g=Math.min(s,i);d=RN(oV||=SV(`M .,.
            A .,.,0,0,.,.,.
            L .,.
            A .,.,0,0,.,.,.
            L .,.
            A .,.,0,0,.,.,.
            L .,.
            A .,.,0,0,.,.,. Z`.split(`.`)),e,t+c*g,g,g,u,e+l*g,t,e+n-l*g,t,g,g,u,e+n,t+c*g,e+n,t+r-c*g,g,g,u,e+n-l*g,t+r,e+l*g,t+r,g,g,u,e,t+r-c*g)}else d=RN(sV||=SV([`M `,`,`,` h `,` v `,` h `,` Z`]),e,t,n,r,-n);return d},wV={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:`ease`},TV=e=>{var t=$P(e,wV),n=(0,y.useRef)(null),r=gV((0,y.useState)(-1),2),i=r[0],a=r[1];(0,y.useEffect)(()=>{if(n.current&&n.current.getTotalLength)try{var e=n.current.getTotalLength();e&&a(e)}catch{}},[]);var o=t.x,s=t.y,c=t.width,l=t.height,u=t.radius,d=t.className,f=t.animationEasing,p=t.animationDuration,m=t.animationBegin,h=t.isAnimationActive,g=t.isUpdateAnimationActive,_=(0,y.useRef)(c),v=(0,y.useRef)(l),b=(0,y.useRef)(o),x=(0,y.useRef)(s),S=qB((0,y.useMemo)(()=>({x:o,y:s,width:c,height:l,radius:u}),[o,s,c,l,u]),`rectangle-`);if(o!==+o||s!==+s||c!==+c||l!==+l||c===0||l===0)return null;var C=Cn(`recharts-rectangle`,d);if(!g){var w=mN(t);w.radius;var T=mV(w,XB);return y.createElement(`path`,pV({},T,{x:LN(o),y:LN(s),width:LN(c),height:LN(l),radius:typeof u==`number`?u:void 0,className:C,d:CV(o,s,c,l,u)}))}var E=_.current,D=v.current,O=b.current,k=x.current,A=`0px ${i===-1?1:i}px`,ee=`${i}px ${i}px`,j=YB([`strokeDasharray`],p,typeof f==`string`?f:wV.animationEasing);return y.createElement(KB,{animationId:S,key:S,canBegin:i>0,duration:p,easing:f,isActive:g,begin:m},e=>{var r=qN(E,c,e),i=qN(D,l,e),a=qN(O,o,e),d=qN(k,s,e);n.current&&(_.current=r,v.current=i,b.current=a,x.current=d);var f=h?e>0?{transition:j,strokeDasharray:ee}:{strokeDasharray:A}:{strokeDasharray:ee},p=mN(t);p.radius;var m=mV(p,ZB);return y.createElement(`path`,pV({},m,{radius:typeof u==`number`?u:void 0,className:C,d:CV(a,d,r,i,u),ref:n,style:lV(lV({},f),t.style)}))})};function EV(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 DV(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?EV(Object(n),!0).forEach(function(t){OV(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):EV(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function OV(e,t,n){return(t=kV(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function kV(e){var t=AV(e,`string`);return typeof t==`symbol`?t:t+``}function AV(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 jV=Math.PI/180,MV=e=>e*180/Math.PI,NV=(e,t,n,r)=>({x:e+Math.cos(-jV*r)*n,y:t+Math.sin(-jV*r)*n}),PV=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0,width:0,height:0,brushBottom:0};return Math.min(Math.abs(e-(n.left||0)-(n.right||0)),Math.abs(t-(n.top||0)-(n.bottom||0)))/2},FV=(e,t)=>{var n=e.x,r=e.y,i=t.x,a=t.y;return Math.sqrt((n-i)**2+(r-a)**2)},IV=(e,t)=>{var n=e.x,r=e.y,i=t.cx,a=t.cy,o=FV({x:n,y:r},{x:i,y:a});if(o<=0)return{radius:o,angle:0};var s=(n-i)/o,c=Math.acos(s);return r>a&&(c=2*Math.PI-c),{radius:o,angle:MV(c),angleInRadian:c}},LV=e=>{var t=e.startAngle,n=e.endAngle,r=Math.floor(t/360),i=Math.floor(n/360),a=Math.min(r,i);return{startAngle:t-a*360,endAngle:n-a*360}},RV=(e,t)=>{var n=t.startAngle,r=t.endAngle,i=Math.floor(n/360),a=Math.floor(r/360);return e+Math.min(i,a)*360},zV=(e,t)=>{var n=e.relativeX,r=e.relativeY,i=IV({x:n,y:r},t),a=i.radius,o=i.angle,s=t.innerRadius,c=t.outerRadius;if(a<s||a>c||a===0)return null;var l=LV(t),u=l.startAngle,d=l.endAngle,f=o,p;if(u<=d){for(;f>d;)f-=360;for(;f<u;)f+=360;p=f>=u&&f<=d}else{for(;f>u;)f-=360;for(;f<d;)f+=360;p=f>=d&&f<=u}return p?DV(DV({},t),{},{radius:a,angle:RV(f,t)}):null};function BV(e){var t=e.cx,n=e.cy,r=e.radius,i=e.startAngle,a=e.endAngle;return{points:[NV(t,n,r,i),NV(t,n,r,a)],cx:t,cy:n,radius:r,startAngle:i,endAngle:a}}var VV,HV,UV,WV,GV,KV,qV;function JV(){return JV=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},JV.apply(null,arguments)}function YV(e,t){return t||=e.slice(0),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var XV=(e,t)=>zN(t-e)*Math.min(Math.abs(t-e),359.999),ZV=e=>{var t=e.cx,n=e.cy,r=e.radius,i=e.angle,a=e.sign,o=e.isExternal,s=e.cornerRadius,c=e.cornerIsExternal,l=s*(o?1:-1)+r,u=Math.asin(s/l)/jV,d=c?i:i+a*u,f=NV(t,n,l,d),p=NV(t,n,r,d),m=c?i-a*u:i;return{center:f,circleTangency:p,lineTangency:NV(t,n,l*Math.cos(u*jV),m),theta:u}},QV=e=>{var t=e.cx,n=e.cy,r=e.innerRadius,i=e.outerRadius,a=e.startAngle,o=e.endAngle,s=XV(a,o),c=a+s,l=NV(t,n,i,a),u=NV(t,n,i,c),d=RN(VV||=YV([`M `,`,`,`
    A `,`,`,`,0,
    `,`,`,`,
    `,`,`,`
  `]),l.x,l.y,i,i,+(Math.abs(s)>180),+(a>c),u.x,u.y);if(r>0){var f=NV(t,n,r,a),p=NV(t,n,r,c);d+=RN(HV||=YV([`L `,`,`,`
            A `,`,`,`,0,
            `,`,`,`,
            `,`,`,` Z`]),p.x,p.y,r,r,+(Math.abs(s)>180),+(a<=c),f.x,f.y)}else d+=RN(UV||=YV([`L `,`,`,` Z`]),t,n);return d},$V=e=>{var t=e.cx,n=e.cy,r=e.innerRadius,i=e.outerRadius,a=e.cornerRadius,o=e.forceCornerRadius,s=e.cornerIsExternal,c=e.startAngle,l=e.endAngle,u=zN(l-c),d=ZV({cx:t,cy:n,radius:i,angle:c,sign:u,cornerRadius:a,cornerIsExternal:s}),f=d.circleTangency,p=d.lineTangency,m=d.theta,h=ZV({cx:t,cy:n,radius:i,angle:l,sign:-u,cornerRadius:a,cornerIsExternal:s}),g=h.circleTangency,_=h.lineTangency,v=h.theta,y=s?Math.abs(c-l):Math.abs(c-l)-m-v;if(y<0)return o?RN(WV||=YV([`M `,`,`,`
        a`,`,`,`,0,0,1,`,`,0
        a`,`,`,`,0,0,1,`,`,0
      `]),p.x,p.y,a,a,a*2,a,a,-a*2):QV({cx:t,cy:n,innerRadius:r,outerRadius:i,startAngle:c,endAngle:l});var b=RN(GV||=YV([`M `,`,`,`
    A`,`,`,`,0,0,`,`,`,`,`,`
    A`,`,`,`,0,`,`,`,`,`,`,`,`
    A`,`,`,`,0,0,`,`,`,`,`,`
  `]),p.x,p.y,a,a,+(u<0),f.x,f.y,i,i,+(y>180),+(u<0),g.x,g.y,a,a,+(u<0),_.x,_.y);if(r>0){var x=ZV({cx:t,cy:n,radius:r,angle:c,sign:u,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),S=x.circleTangency,C=x.lineTangency,w=x.theta,T=ZV({cx:t,cy:n,radius:r,angle:l,sign:-u,isExternal:!0,cornerRadius:a,cornerIsExternal:s}),E=T.circleTangency,D=T.lineTangency,O=T.theta,k=s?Math.abs(c-l):Math.abs(c-l)-w-O;if(k<0&&a===0)return`${b}L${t},${n}Z`;b+=RN(KV||=YV([`L`,`,`,`
      A`,`,`,`,0,0,`,`,`,`,`,`
      A`,`,`,`,0,`,`,`,`,`,`,`,`
      A`,`,`,`,0,0,`,`,`,`,`,`Z`]),D.x,D.y,a,a,+(u<0),E.x,E.y,r,r,+(k>180),+(u>0),S.x,S.y,a,a,+(u<0),C.x,C.y)}else b+=RN(qV||=YV([`L`,`,`,`Z`]),t,n);return b},eH={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},tH=e=>{var t=$P(e,eH),n=t.cx,r=t.cy,i=t.innerRadius,a=t.outerRadius,o=t.cornerRadius,s=t.forceCornerRadius,c=t.cornerIsExternal,l=t.startAngle,u=t.endAngle,d=t.className;if(a<i||l===u)return null;var f=Cn(`recharts-sector`,d),p=a-i,m=GN(o,p,0,!0),h=m>0&&Math.abs(l-u)<360?$V({cx:n,cy:r,innerRadius:i,outerRadius:a,cornerRadius:Math.min(m,p/2),forceCornerRadius:s,cornerIsExternal:c,startAngle:l,endAngle:u}):QV({cx:n,cy:r,innerRadius:i,outerRadius:a,startAngle:l,endAngle:u});return y.createElement(`path`,JV({},mN(t),{className:f,d:h}))};function nH(e,t,n){if(e===`horizontal`)return[{x:t.x,y:n.top},{x:t.x,y:n.top+n.height}];if(e===`vertical`)return[{x:n.left,y:t.y},{x:n.left+n.width,y:t.y}];if(XP(t)){if(e===`centric`){var r=t.cx,i=t.cy,a=t.innerRadius,o=t.outerRadius,s=t.angle,c=NV(r,i,a,s),l=NV(r,i,o,s);return[{x:c.x,y:c.y},{x:l.x,y:l.y}]}return BV(t)}}function rH(e){return AN(e)?NaN:Number(e)}function iH(e){return e?(e=rH(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function aH(e,t,n){n&&typeof n!=`number`&&JF(e,t,n)&&(t=n=void 0),e=iH(e),t===void 0?(t=e,e=0):t=iH(t),n=n===void 0?e<t?1:-1:iH(n);let r=Math.max(Math.ceil((t-e)/(n||1)),0),i=Array(r);for(let t=0;t<r;t++)i[t]=e,e+=n;return i}var oH=e=>e.chartData,sH=$([oH],e=>{var t=e.chartData==null?0:e.chartData.length-1;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),cH=(e,t,n,r)=>r?sH(e):oH(e),lH=(e,t,n)=>n?sH(e):oH(e),uH=$([cH],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t==null?[]:t.slice(n,r+1)});$([sH],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t==null?[]:t.slice(n,r+1)});var dH=$([oH],e=>{var t=e.chartData,n=e.dataStartIndex,r=e.dataEndIndex;return t==null?[]:t.slice(n,r+1)});function fH(e,t){return _H(e)||gH(e,t)||mH(e,t)||pH()}function pH(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mH(e,t){if(e){if(typeof e==`string`)return hH(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?hH(e,t):void 0}}function hH(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function gH(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function _H(e){if(Array.isArray(e))return e}function vH(e){if(Array.isArray(e)&&e.length===2){var t=fH(e,2),n=t[0],r=t[1];if(oR(n)&&oR(r))return!0}return!1}function yH(e,t,n){return n?e:[Math.min(e[0],t[0]),Math.max(e[1],t[1])]}function bH(e,t){if(t&&typeof e!=`function`&&Array.isArray(e)&&e.length===2){var n=fH(e,2),r=n[0],i=n[1],a,o;if(oR(r))a=r;else if(typeof r==`function`)return;if(oR(i))o=i;else if(typeof i==`function`)return;var s=[a,o];if(vH(s))return s}}function xH(e,t,n){if(n||t!=null){if(typeof e==`function`&&t!=null)try{var r=e(t,n);if(vH(r))return yH(r,t,n)}catch{}if(Array.isArray(e)&&e.length===2){var i=fH(e,2),a=i[0],o=i[1],s,c;if(a===`auto`)t!=null&&(s=Math.min(...t));else if(Q(a))s=a;else if(typeof a==`function`)try{t!=null&&(s=a(t?.[0]))}catch{}else if(typeof a==`string`&&hR.test(a)){var l=hR.exec(a);if(l==null||l[1]==null||t==null)s=void 0;else{var u=+l[1];s=t[0]-u}}else s=t?.[0];if(o===`auto`)t!=null&&(c=Math.max(...t));else if(Q(o))c=o;else if(typeof o==`function`)try{t!=null&&(c=o(t?.[1]))}catch{}else if(typeof o==`string`&&gR.test(o)){var d=gR.exec(o);if(d==null||d[1]==null||t==null)c=void 0;else{var f=+d[1];c=t[1]+f}}else c=t?.[1];var p=[s,c];if(vH(p))return t==null?p:yH(p,t,n)}}}var SH=u(s(((e,t,n)=>{(function(e){var n=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:`2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286`},i=!0,a=`[DecimalError] `,o=a+`Invalid argument: `,s=a+`Exponent out of range: `,c=Math.floor,l=Math.pow,u=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,d,f=1e7,p=7,m=9007199254740991,h=c(m/p),g={};g.absoluteValue=g.abs=function(){var e=new this.constructor(this);return e.s&&=1,e},g.comparedTo=g.cmp=function(e){var t,n,r,i,a=this;if(e=new a.constructor(e),a.s!==e.s)return a.s||-e.s;if(a.e!==e.e)return a.e>e.e^a.s<0?1:-1;for(r=a.d.length,i=e.d.length,t=0,n=r<i?r:i;t<n;++t)if(a.d[t]!==e.d[t])return a.d[t]>e.d[t]^a.s<0?1:-1;return r===i?0:r>i^a.s<0?1:-1},g.decimalPlaces=g.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*p;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n},g.dividedBy=g.div=function(e){return b(this,new this.constructor(e))},g.dividedToIntegerBy=g.idiv=function(e){var t=this,n=t.constructor;return D(b(t,new n(e),0,1),n.precision)},g.equals=g.eq=function(e){return!this.cmp(e)},g.exponent=function(){return S(this)},g.greaterThan=g.gt=function(e){return this.cmp(e)>0},g.greaterThanOrEqualTo=g.gte=function(e){return this.cmp(e)>=0},g.isInteger=g.isint=function(){return this.e>this.d.length-2},g.isNegative=g.isneg=function(){return this.s<0},g.isPositive=g.ispos=function(){return this.s>0},g.isZero=function(){return this.s===0},g.lessThan=g.lt=function(e){return this.cmp(e)<0},g.lessThanOrEqualTo=g.lte=function(e){return this.cmp(e)<1},g.logarithm=g.log=function(e){var t,n=this,r=n.constructor,o=r.precision,s=o+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(d))throw Error(a+`NaN`);if(n.s<1)throw Error(a+(n.s?`NaN`:`-Infinity`));return n.eq(d)?new r(0):(i=!1,t=b(T(n,s),T(e,s),s),i=!0,D(t,o))},g.minus=g.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?O(t,e):_(t,(e.s=-e.s,e))},g.modulo=g.mod=function(e){var t,n=this,r=n.constructor,o=r.precision;if(e=new r(e),!e.s)throw Error(a+`NaN`);return n.s?(i=!1,t=b(n,e,0,1).times(e),i=!0,n.minus(t)):D(new r(n),o)},g.naturalExponential=g.exp=function(){return x(this)},g.naturalLogarithm=g.ln=function(){return T(this)},g.negated=g.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e},g.plus=g.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?_(t,e):O(t,(e.s=-e.s,e))},g.precision=g.sd=function(e){var t,n,r,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(o+e);if(t=S(i)+1,r=i.d.length-1,n=r*p+1,r=i.d[r],r){for(;r%10==0;r/=10)n--;for(r=i.d[0];r>=10;r/=10)n++}return e&&t>n?t:n},g.squareRoot=g.sqrt=function(){var e,t,n,r,o,s,l,u=this,d=u.constructor;if(u.s<1){if(!u.s)return new d(0);throw Error(a+`NaN`)}for(e=S(u),i=!1,o=Math.sqrt(+u),o==0||o==1/0?(t=y(u.d),(t.length+e)%2==0&&(t+=`0`),o=Math.sqrt(t),e=c((e+1)/2)-(e<0||e%2),o==1/0?t=`5e`+e:(t=o.toExponential(),t=t.slice(0,t.indexOf(`e`)+1)+e),r=new d(t)):r=new d(o.toString()),n=d.precision,o=l=n+3;;)if(s=r,r=s.plus(b(u,s,l+2)).times(.5),y(s.d).slice(0,l)===(t=y(r.d)).slice(0,l)){if(t=t.slice(l-3,l+1),o==l&&t==`4999`){if(D(s,n+1,0),s.times(s).eq(u)){r=s;break}}else if(t!=`9999`)break;l+=4}return i=!0,D(r,n)},g.times=g.mul=function(e){var t,n,r,a,o,s,c,l,u,d=this,p=d.constructor,m=d.d,h=(e=new p(e)).d;if(!d.s||!e.s)return new p(0);for(e.s*=d.s,n=d.e+e.e,l=m.length,u=h.length,l<u&&(o=m,m=h,h=o,s=l,l=u,u=s),o=[],s=l+u,r=s;r--;)o.push(0);for(r=u;--r>=0;){for(t=0,a=l+r;a>r;)c=o[a]+h[r]*m[a-r-1]+t,o[a--]=c%f|0,t=c/f|0;o[a]=(o[a]+t)%f|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=n,i?D(e,p.precision):e},g.toDecimalPlaces=g.todp=function(e,t){var r=this,i=r.constructor;return r=new i(r),e===void 0?r:(v(e,0,n),t===void 0?t=i.rounding:v(t,0,8),D(r,e+S(r)+1,t))},g.toExponential=function(e,t){var r,i=this,a=i.constructor;return e===void 0?r=k(i,!0):(v(e,0,n),t===void 0?t=a.rounding:v(t,0,8),i=D(new a(i),e+1,t),r=k(i,!0,e+1)),r},g.toFixed=function(e,t){var r,i,a=this,o=a.constructor;return e===void 0?k(a):(v(e,0,n),t===void 0?t=o.rounding:v(t,0,8),i=D(new o(a),e+S(a)+1,t),r=k(i.abs(),!1,e+S(i)+1),a.isneg()&&!a.isZero()?`-`+r:r)},g.toInteger=g.toint=function(){var e=this,t=e.constructor;return D(new t(e),S(e)+1,t.rounding)},g.toNumber=function(){return+this},g.toPower=g.pow=function(e){var t,n,r,o,s,l,u=this,f=u.constructor,h=12,g=+(e=new f(e));if(!e.s)return new f(d);if(u=new f(u),!u.s){if(e.s<1)throw Error(a+`Infinity`);return u}if(u.eq(d))return u;if(r=f.precision,e.eq(d))return D(u,r);if(t=e.e,n=e.d.length-1,l=t>=n,s=u.s,!l){if(s<0)throw Error(a+`NaN`)}else if((n=g<0?-g:g)<=m){for(o=new f(d),t=Math.ceil(r/p+4),i=!1;n%2&&(o=o.times(u),A(o.d,t)),n=c(n/2),n!==0;)u=u.times(u),A(u.d,t);return i=!0,e.s<0?new f(d).div(o):D(o,r)}return s=s<0&&e.d[Math.max(t,n)]&1?-1:1,u.s=1,i=!1,o=e.times(T(u,r+h)),i=!0,o=x(o),o.s=s,o},g.toPrecision=function(e,t){var r,i,a=this,o=a.constructor;return e===void 0?(r=S(a),i=k(a,r<=o.toExpNeg||r>=o.toExpPos)):(v(e,1,n),t===void 0?t=o.rounding:v(t,0,8),a=D(new o(a),e,t),r=S(a),i=k(a,e<=r||r<=o.toExpNeg,e)),i},g.toSignificantDigits=g.tosd=function(e,t){var r=this,i=r.constructor;return e===void 0?(e=i.precision,t=i.rounding):(v(e,1,n),t===void 0?t=i.rounding:v(t,0,8)),D(new i(r),e,t)},g.toString=g.valueOf=g.val=g.toJSON=function(){var e=this,t=S(e),n=e.constructor;return k(e,t<=n.toExpNeg||t>=n.toExpPos)};function _(e,t){var n,r,a,o,s,c,l,u,d=e.constructor,m=d.precision;if(!e.s||!t.s)return t.s||(t=new d(e)),i?D(t,m):t;if(l=e.d,u=t.d,s=e.e,a=t.e,l=l.slice(),o=s-a,o){for(o<0?(r=l,o=-o,c=u.length):(r=u,a=s,c=l.length),s=Math.ceil(m/p),c=s>c?s+1:c+1,o>c&&(o=c,r.length=1),r.reverse();o--;)r.push(0);r.reverse()}for(c=l.length,o=u.length,c-o<0&&(o=c,r=u,u=l,l=r),n=0;o;)n=(l[--o]=l[o]+u[o]+n)/f|0,l[o]%=f;for(n&&(l.unshift(n),++a),c=l.length;l[--c]==0;)l.pop();return t.d=l,t.e=a,i?D(t,m):t}function v(e,t,n){if(e!==~~e||e<t||e>n)throw Error(o+e)}function y(e){var t,n,r,i=e.length-1,a=``,o=e[0];if(i>0){for(a+=o,t=1;t<i;t++)r=e[t]+``,n=p-r.length,n&&(a+=w(n)),a+=r;o=e[t],r=o+``,n=p-r.length,n&&(a+=w(n))}else if(o===0)return`0`;for(;o%10==0;)o/=10;return a+o}var b=(function(){function e(e,t){var n,r=0,i=e.length;for(e=e.slice();i--;)n=e[i]*t+r,e[i]=n%f|0,r=n/f|0;return r&&e.unshift(r),e}function t(e,t,n,r){var i,a;if(n!=r)a=n>r?1:-1;else for(i=a=0;i<n;i++)if(e[i]!=t[i]){a=e[i]>t[i]?1:-1;break}return a}function n(e,t,n){for(var r=0;n--;)e[n]-=r,r=+(e[n]<t[n]),e[n]=r*f+e[n]-t[n];for(;!e[0]&&e.length>1;)e.shift()}return function(r,i,o,s){var c,l,u,d,m,h,g,_,v,y,b,x,C,w,T,E,O,k,A=r.constructor,ee=r.s==i.s?1:-1,j=r.d,M=i.d;if(!r.s)return new A(r);if(!i.s)throw Error(a+`Division by zero`);for(l=r.e-i.e,O=M.length,T=j.length,g=new A(ee),_=g.d=[],u=0;M[u]==(j[u]||0);)++u;if(M[u]>(j[u]||0)&&--l,x=o==null?o=A.precision:s?o+(S(r)-S(i))+1:o,x<0)return new A(0);if(x=x/p+2|0,u=0,O==1)for(d=0,M=M[0],x++;(u<T||d)&&x--;u++)C=d*f+(j[u]||0),_[u]=C/M|0,d=C%M|0;else{for(d=f/(M[0]+1)|0,d>1&&(M=e(M,d),j=e(j,d),O=M.length,T=j.length),w=O,v=j.slice(0,O),y=v.length;y<O;)v[y++]=0;k=M.slice(),k.unshift(0),E=M[0],M[1]>=f/2&&++E;do d=0,c=t(M,v,O,y),c<0?(b=v[0],O!=y&&(b=b*f+(v[1]||0)),d=b/E|0,d>1?(d>=f&&(d=f-1),m=e(M,d),h=m.length,y=v.length,c=t(m,v,h,y),c==1&&(d--,n(m,O<h?k:M,h))):(d==0&&(c=d=1),m=M.slice()),h=m.length,h<y&&m.unshift(0),n(v,m,y),c==-1&&(y=v.length,c=t(M,v,O,y),c<1&&(d++,n(v,O<y?k:M,y))),y=v.length):c===0&&(d++,v=[0]),_[u++]=d,c&&v[0]?v[y++]=j[w]||0:(v=[j[w]],y=1);while((w++<T||v[0]!==void 0)&&x--)}return _[0]||_.shift(),g.e=l,D(g,s?o+S(g)+1:o)}})();function x(e,t){var n,r,a,o,c,u,f=0,p=0,m=e.constructor,h=m.precision;if(S(e)>16)throw Error(s+S(e));if(!e.s)return new m(d);for(t==null?(i=!1,u=h):u=t,c=new m(.03125);e.abs().gte(.1);)e=e.times(c),p+=5;for(r=Math.log(l(2,p))/Math.LN10*2+5|0,u+=r,n=a=o=new m(d),m.precision=u;;){if(a=D(a.times(e),u),n=n.times(++f),c=o.plus(b(a,n,u)),y(c.d).slice(0,u)===y(o.d).slice(0,u)){for(;p--;)o=D(o.times(o),u);return m.precision=h,t==null?(i=!0,D(o,h)):o}o=c}}function S(e){for(var t=e.e*p,n=e.d[0];n>=10;n/=10)t++;return t}function C(e,t,n){if(t>e.LN10.sd())throw i=!0,n&&(e.precision=n),Error(a+`LN10 precision limit exceeded`);return D(new e(e.LN10),t)}function w(e){for(var t=``;e--;)t+=`0`;return t}function T(e,t){var n,r,o,s,c,l,u,f,p,m=1,h=10,g=e,_=g.d,v=g.constructor,x=v.precision;if(g.s<1)throw Error(a+(g.s?`NaN`:`-Infinity`));if(g.eq(d))return new v(0);if(t==null?(i=!1,f=x):f=t,g.eq(10))return t??(i=!0),C(v,f);if(f+=h,v.precision=f,n=y(_),r=n.charAt(0),s=S(g),Math.abs(s)<0x5543df729c000){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)g=g.times(e),n=y(g.d),r=n.charAt(0),m++;s=S(g),r>1?(g=new v(`0.`+n),s++):g=new v(r+`.`+n.slice(1))}else return u=C(v,f+2,x).times(s+``),g=T(new v(r+`.`+n.slice(1)),f-h).plus(u),v.precision=x,t==null?(i=!0,D(g,x)):g;for(l=c=g=b(g.minus(d),g.plus(d),f),p=D(g.times(g),f),o=3;;){if(c=D(c.times(p),f),u=l.plus(b(c,new v(o),f)),y(u.d).slice(0,f)===y(l.d).slice(0,f))return l=l.times(2),s!==0&&(l=l.plus(C(v,f+2,x).times(s+``))),l=b(l,new v(m),f),v.precision=x,t==null?(i=!0,D(l,x)):l;l=u,o+=2}}function E(e,t){var n,r,a;for((n=t.indexOf(`.`))>-1&&(t=t.replace(`.`,``)),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;)++r;for(a=t.length;t.charCodeAt(a-1)===48;)--a;if(t=t.slice(r,a),t){if(a-=r,n=n-r-1,e.e=c(n/p),e.d=[],r=(n+1)%p,n<0&&(r+=p),r<a){for(r&&e.d.push(+t.slice(0,r)),a-=p;r<a;)e.d.push(+t.slice(r,r+=p));t=t.slice(r),r=p-t.length}else r-=a;for(;r--;)t+=`0`;if(e.d.push(+t),i&&(e.e>h||e.e<-h))throw Error(s+n)}else e.s=0,e.e=0,e.d=[0];return e}function D(e,t,n){var r,a,o,u,d,m,g,_,v=e.d;for(u=1,o=v[0];o>=10;o/=10)u++;if(r=t-u,r<0)r+=p,a=t,g=v[_=0];else{if(_=Math.ceil((r+1)/p),o=v.length,_>=o)return e;for(g=o=v[_],u=1;o>=10;o/=10)u++;r%=p,a=r-p+u}if(n!==void 0&&(o=l(10,u-a-1),d=g/o%10|0,m=t<0||v[_+1]!==void 0||g%o,m=n<4?(d||m)&&(n==0||n==(e.s<0?3:2)):d>5||d==5&&(n==4||m||n==6&&(r>0?a>0?g/l(10,u-a):0:v[_-1])%10&1||n==(e.s<0?8:7))),t<1||!v[0])return m?(o=S(e),v.length=1,t=t-o-1,v[0]=l(10,(p-t%p)%p),e.e=c(-t/p)||0):(v.length=1,v[0]=e.e=e.s=0),e;if(r==0?(v.length=_,o=1,_--):(v.length=_+1,o=l(10,p-r),v[_]=a>0?(g/l(10,u-a)%l(10,a)|0)*o:0),m)for(;;)if(_==0){(v[0]+=o)==f&&(v[0]=1,++e.e);break}else{if(v[_]+=o,v[_]!=f)break;v[_--]=0,o=1}for(r=v.length;v[--r]===0;)v.pop();if(i&&(e.e>h||e.e<-h))throw Error(s+S(e));return e}function O(e,t){var n,r,a,o,s,c,l,u,d,m,h=e.constructor,g=h.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new h(e),i?D(t,g):t;if(l=e.d,m=t.d,r=t.e,u=e.e,l=l.slice(),s=u-r,s){for(d=s<0,d?(n=l,s=-s,c=m.length):(n=m,r=u,c=l.length),a=Math.max(Math.ceil(g/p),c)+2,s>a&&(s=a,n.length=1),n.reverse(),a=s;a--;)n.push(0);n.reverse()}else{for(a=l.length,c=m.length,d=a<c,d&&(c=a),a=0;a<c;a++)if(l[a]!=m[a]){d=l[a]<m[a];break}s=0}for(d&&(n=l,l=m,m=n,t.s=-t.s),c=l.length,a=m.length-c;a>0;--a)l[c++]=0;for(a=m.length;a>s;){if(l[--a]<m[a]){for(o=a;o&&l[--o]===0;)l[o]=f-1;--l[o],l[a]+=f}l[a]-=m[a]}for(;l[--c]===0;)l.pop();for(;l[0]===0;l.shift())--r;return l[0]?(t.d=l,t.e=r,i?D(t,g):t):new h(0)}function k(e,t,n){var r,i=S(e),a=y(e.d),o=a.length;return t?(n&&(r=n-o)>0?a=a.charAt(0)+`.`+a.slice(1)+w(r):o>1&&(a=a.charAt(0)+`.`+a.slice(1)),a=a+(i<0?`e`:`e+`)+i):i<0?(a=`0.`+w(-i-1)+a,n&&(r=n-o)>0&&(a+=w(r))):i>=o?(a+=w(i+1-o),n&&(r=n-i-1)>0&&(a=a+`.`+w(r))):((r=i+1)<o&&(a=a.slice(0,r)+`.`+a.slice(r)),n&&(r=n-o)>0&&(i+1===o&&(a+=`.`),a+=w(r))),e.s<0?`-`+a:a}function A(e,t){if(e.length>t)return e.length=t,!0}function ee(e){var t,n,r;function i(e){var t=this;if(!(t instanceof i))return new i(e);if(t.constructor=i,e instanceof i)t.s=e.s,t.e=e.e,t.d=(e=e.d)?e.slice():e;else{if(typeof e==`number`){if(e*0!=0)throw Error(o+e);if(e>0)t.s=1;else if(e<0)e=-e,t.s=-1;else{t.s=0,t.e=0,t.d=[0];return}if(e===~~e&&e<1e7){t.e=0,t.d=[e];return}return E(t,e.toString())}if(typeof e!=`string`)throw Error(o+e);if(e.charCodeAt(0)===45?(e=e.slice(1),t.s=-1):t.s=1,u.test(e))E(t,e);else throw Error(o+e)}}if(i.prototype=g,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=ee,i.config=i.set=j,e===void 0&&(e={}),e)for(r=[`precision`,`rounding`,`toExpNeg`,`toExpPos`,`LN10`],t=0;t<r.length;)e.hasOwnProperty(n=r[t++])||(e[n]=this[n]);return i.config(e),i}function j(e){if(!e||typeof e!=`object`)throw Error(a+`Object expected`);var t,r,i,s=[`precision`,1,n,`rounding`,0,8,`toExpNeg`,-1/0,0,`toExpPos`,0,1/0];for(t=0;t<s.length;t+=3)if((i=e[r=s[t]])!==void 0){if(c(i)===i&&i>=s[t+1]&&i<=s[t+2])this[r]=i;else throw Error(o+r+`: `+i)}if((i=e[r=`LN10`])!==void 0){if(i==Math.LN10)this[r]=new this(i);else throw Error(o+r+`: `+i)}return this}r=ee(r),r.default=r.Decimal=r,d=new r(1),typeof define==`function`&&define.amd?define(function(){return r}):t!==void 0&&t.exports?t.exports=r:(e||=typeof self<`u`&&self&&self.self==self?self:Function(`return this`)(),e.Decimal=r)})(n)}))());function CH(e){return e===0?1:Math.floor(new SH.default(e).abs().log(10).toNumber())+1}function wH(e,t,n){for(var r=new SH.default(e),i=0,a=[];r.lt(t)&&i<1e5;)a.push(r.toNumber()),r=r.add(n),i++;return a}function TH(e,t){return AH(e)||kH(e,t)||DH(e,t)||EH()}function EH(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function DH(e,t){if(e){if(typeof e==`string`)return OH(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?OH(e,t):void 0}}function OH(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function kH(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function AH(e){if(Array.isArray(e))return e}var jH=e=>{var t=TH(e,2),n=t[0],r=t[1],i=n,a=r;return n>r&&(i=r,a=n),[i,a]},MH=(e,t,n)=>{if(e.lte(0))return new SH.default(0);var r=CH(e.toNumber()),i=new SH.default(10).pow(r),a=e.div(i),o=r===1?.1:.05,s=new SH.default(Math.ceil(a.div(o).toNumber())).add(n).mul(o).mul(i);return t?new SH.default(s.toNumber()):new SH.default(Math.ceil(s.toNumber()))},NH=(e,t,n)=>{if(e.lte(0))return new SH.default(0);var r=[1,2,2.5,5],i=e.toNumber(),a=Math.floor(new SH.default(i).abs().log(10).toNumber()),o=new SH.default(10).pow(a),s=e.div(o).toNumber(),c=r.findIndex(e=>e>=s-1e-10);if(c===-1&&(o=o.mul(10),c=0),c+=n,c>=r.length){var l=Math.floor(c/r.length);c%=r.length,o=o.mul(new SH.default(10).pow(l))}var u=r[c]??1,d=new SH.default(u).mul(o);return t?d:new SH.default(Math.ceil(d.toNumber()))},PH=(e,t,n)=>{var r=new SH.default(1),i=new SH.default(e);if(!i.isint()&&n){var a=Math.abs(e);a<1?(r=new SH.default(10).pow(CH(e)-1),i=new SH.default(Math.floor(i.div(r).toNumber())).mul(r)):a>1&&(i=new SH.default(Math.floor(e)))}else e===0?i=new SH.default(Math.floor((t-1)/2)):n||(i=new SH.default(Math.floor(e)));for(var o=Math.floor((t-1)/2),s=[],c=0;c<t;c++)s.push(i.add(new SH.default(c-o).mul(r)).toNumber());return s},FH=function(e,t,n,r){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:MH;if(!Number.isFinite((t-e)/(n-1)))return{step:new SH.default(0),tickMin:new SH.default(0),tickMax:new SH.default(0)};var o=a(new SH.default(t).sub(e).div(n-1),r,i),s;e<=0&&t>=0?s=new SH.default(0):(s=new SH.default(e).add(t).div(2),s=s.sub(new SH.default(s).mod(o)));var c=Math.ceil(s.sub(e).div(o).toNumber()),l=Math.ceil(new SH.default(t).sub(s).div(o).toNumber()),u=c+l+1;return u>n?FH(e,t,n,r,i+1,a):(u<n&&(l=t>0?l+(n-u):l,c=t>0?c:c+(n-u)),{step:o,tickMin:s.sub(new SH.default(c).mul(o)),tickMax:s.add(new SH.default(l).mul(o))})},IH=function(e){var t=TH(e,2),n=t[0],r=t[1],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`auto`,s=Math.max(i,2),c=TH(jH([n,r]),2),l=c[0],u=c[1];if(l===-1/0||u===1/0){var d=u===1/0?[l,...Array(i-1).fill(1/0)]:[...Array(i-1).fill(-1/0),u];return n>r?d.reverse():d}if(l===u)return PH(l,i,a);var f=FH(l,u,s,a,0,o===`snap125`?NH:MH),p=f.step,m=f.tickMin,h=f.tickMax,g=wH(m,h.add(new SH.default(.1).mul(p)),p);return n>r?g.reverse():g},LH=function(e,t){var n=TH(e,2),r=n[0],i=n[1],a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`auto`,s=TH(jH([r,i]),2),c=s[0],l=s[1];if(c===-1/0||l===1/0)return[r,i];if(c===l)return[c];var u=o===`snap125`?NH:MH,d=Math.max(t,2),f=u(new SH.default(l).sub(c).div(d-1),a,0),p=[...wH(new SH.default(c),new SH.default(l),f),l];if(a===!1){p=p.map(e=>Math.round(e));var m=p.length-1;m>0&&p[m]===p[m-1]&&(p=p.slice(0,m))}return r>i?p.reverse():p},RH=e=>e.rootProps.barCategoryGap,zH=e=>e.rootProps.stackOffset,BH=e=>e.rootProps.reverseStackOrder,VH=e=>e.options.chartName,HH=e=>e.rootProps.syncId,UH=e=>e.rootProps.syncMethod,WH=e=>e.options.eventEmitter,GH=e=>e.rootProps.baseValue,KH={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},qH={allowDecimals:!1,allowDuplicatedCategory:!0,allowDataOverflow:!1,angle:0,angleAxisId:0,axisLine:!0,axisLineType:`polygon`,cx:0,cy:0,hide:!1,includeHidden:!1,label:!1,niceTicks:`auto`,orientation:`outer`,reversed:!1,scale:`auto`,tick:!0,tickLine:!0,tickSize:8,type:`auto`,zIndex:KH.axis},JH={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,angle:0,axisLine:!0,includeHidden:!1,hide:!1,niceTicks:`auto`,label:!1,orientation:`right`,radiusAxisId:0,reversed:!1,scale:`auto`,stroke:`#ccc`,tick:!0,tickCount:5,tickLine:!0,type:`auto`,zIndex:KH.axis},YH=(e,t)=>{if(e&&t)return e!=null&&e.reversed?[t[1],t[0]]:t};function XH(e,t,n){if(n!==`auto`)return n;if(e!=null)return dR(e,t)?`category`:`number`}function ZH(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 QH(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?ZH(Object(n),!0).forEach(function(t){$H(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ZH(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function $H(e,t,n){return(t=eU(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function eU(e){var t=tU(e,`string`);return typeof t==`symbol`?t:t+``}function tU(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 nU={allowDataOverflow:qH.allowDataOverflow,allowDecimals:qH.allowDecimals,allowDuplicatedCategory:!1,dataKey:void 0,domain:void 0,id:qH.angleAxisId,includeHidden:!1,name:void 0,reversed:qH.reversed,scale:qH.scale,tick:qH.tick,tickCount:void 0,ticks:void 0,type:qH.type,unit:void 0,niceTicks:`auto`},rU={allowDataOverflow:JH.allowDataOverflow,allowDecimals:JH.allowDecimals,allowDuplicatedCategory:JH.allowDuplicatedCategory,dataKey:void 0,domain:void 0,id:JH.radiusAxisId,includeHidden:JH.includeHidden,name:void 0,reversed:JH.reversed,scale:JH.scale,tick:JH.tick,tickCount:JH.tickCount,ticks:void 0,type:JH.type,unit:void 0,niceTicks:`auto`},iU=$([(e,t)=>{if(t!=null)return e.polarAxis.angleAxis[t]},YR],(e,t)=>{if(e!=null)return e;var n=XH(t,`angleAxis`,nU.type)??`category`;return QH(QH({},nU),{},{type:n})}),aU=$([(e,t)=>e.polarAxis.radiusAxis[t],YR],(e,t)=>{if(e!=null)return e;var n=XH(t,`radiusAxis`,rU.type)??`category`;return QH(QH({},rU),{},{type:n})}),oU=e=>e.polarOptions,sU=$([bR,xR,DR],PV),cU=$([oU,sU],(e,t)=>{if(e!=null)return GN(e.innerRadius,t,0)}),lU=$([oU,sU],(e,t)=>{if(e!=null)return GN(e.outerRadius,t,t*.8)}),uU=$([oU],e=>e==null?[0,0]:[e.startAngle,e.endAngle]);$([iU,uU],YH);var dU=$([sU,cU,lU],(e,t,n)=>{if(e!=null&&t!=null&&n!=null)return[t,n]});$([aU,dU],YH);var fU=$([KR,oU,cU,lU,bR,xR],(e,t,n,r,i,a)=>{if(!(e!==`centric`&&e!==`radial`||t==null||n==null||r==null)){var o=t.cx,s=t.cy,c=t.startAngle,l=t.endAngle;return{cx:GN(o,i,i/2),cy:GN(s,a,a/2),innerRadius:n,outerRadius:r,startAngle:c,endAngle:l,clockWise:!1}}}),pU=(e,t)=>t,mU=(e,t,n)=>n;function hU(e){return e?.id}function gU(e,t,n){var r=t.chartData,i=r===void 0?[]:r,a=n.allowDuplicatedCategory,o=n.dataKey,s=new Map;return e.forEach(e=>{var t=e.data??i;if(t!=null&&t.length!==0){var n=hU(e);t.forEach((t,r)=>{var i=o==null||a?r:String(uR(t,o,null)),c=uR(t,e.dataKey,0),l=s.has(i)?s.get(i):{};Object.assign(l,{[n]:c}),s.set(i,l)})}}),Array.from(s.values())}function _U(e){return`stackId`in e&&e.stackId!=null&&e.dataKey!=null}var vU=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function yU(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function bU(e,t){if(e.length===t.length){for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}return!1}var xU=e=>{var t=KR(e);return t===`horizontal`?`xAxis`:t===`vertical`?`yAxis`:t===`centric`?`angleAxis`:`radiusAxis`},SU=e=>e.tooltip.settings.axisId;function CU(e){if(e!=null){var t=e.ticks,n=e.bandwidth,r=e.range(),i=[Math.min(...r),Math.max(...r)];return{domain:()=>e.domain(),range:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}(()=>i),rangeMin:()=>i[0],rangeMax:()=>i[1],isInRange(e){var t=i[0],n=i[1];return t<=n?e>=t&&e<=n:e>=n&&e<=t},bandwidth:n?()=>n.call(e):void 0,ticks:t?n=>t.call(e,n):void 0,map:(t,n)=>{var r=e(t);if(r!=null){if(e.bandwidth&&n!=null&&n.position){var i=e.bandwidth();switch(n.position){case`middle`:r+=i/2;break;case`end`:r+=i}}return r}}}}}var wU=(e,t)=>{if(t!=null)switch(e){case`linear`:if(!vH(t)){for(var n,r,i=0;i<t.length;i++){var a=t[i];oR(a)&&((n===void 0||a<n)&&(n=a),(r===void 0||a>r)&&(r=a))}return n!==void 0&&r!==void 0?[n,r]:void 0}return t;default:return t}};function TU(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function EU(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function DU(e){let t,n,r;e.length===2?(t=e===TU||e===EU?e:OU,n=e,r=e):(t=TU,n=(t,n)=>TU(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<0?i=t+1:a=t}while(i<a)}return i}function a(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<=0?i=t+1:a=t}while(i<a)}return i}function o(e,t,n=0,a=e.length){let o=i(e,t,n,a-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function OU(){return 0}function kU(e){return e===null?NaN:+e}function*AU(e,t){if(t===void 0)for(let t of e)t!=null&&(t=+t)>=t&&(yield t);else{let n=-1;for(let r of e)(r=t(r,++n,e))!=null&&(r=+r)>=r&&(yield r)}}var jU=DU(TU),MU=jU.right;jU.left,DU(kU).center;var NU=class extends Map{constructor(e,t=LU){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),e!=null)for(let[t,n]of e)this.set(t,n)}get(e){return super.get(PU(this,e))}has(e){return super.has(PU(this,e))}set(e,t){return super.set(FU(this,e),t)}delete(e){return super.delete(IU(this,e))}};function PU({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function FU({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function IU({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function LU(e){return typeof e==`object`&&e?e.valueOf():e}function RU(e=TU){if(e===TU)return zU;if(typeof e!=`function`)throw TypeError(`compare is not a function`);return(t,n)=>{let r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function zU(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:+(e>t))}var BU=Math.sqrt(50),VU=Math.sqrt(10),HU=Math.sqrt(2);function UU(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=BU?10:a>=VU?5:a>=HU?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/l<e&&++s,c/l>t&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*l<e&&++s,c*l>t&&--c),c<s&&.5<=n&&n<2?UU(e,t,n*2):[s,c,l]}function WU(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];let r=t<e,[i,a,o]=r?UU(t,e,n):UU(e,t,n);if(!(a>=i))return[];let s=a-i+1,c=Array(s);if(r){if(o<0)for(let e=0;e<s;++e)c[e]=(a-e)/-o;else for(let e=0;e<s;++e)c[e]=(a-e)*o}else if(o<0)for(let e=0;e<s;++e)c[e]=(i+e)/-o;else for(let e=0;e<s;++e)c[e]=(i+e)*o;return c}function GU(e,t,n){return t=+t,e=+e,n=+n,UU(e,t,n)[2]}function KU(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?GU(t,e,n):GU(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function qU(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n<t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function JU(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n>t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function YU(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=i===void 0?zU:RU(i);r>n;){if(r-n>600){let a=r-n+1,o=t-n+1,s=Math.log(a),c=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*c*(a-c)/a)*(o-a/2<0?-1:1),u=Math.max(n,Math.floor(t-o*c/a+l)),d=Math.min(r,Math.floor(t+(a-o)*c/a+l));YU(e,t,u,d,i)}let a=e[t],o=n,s=r;for(XU(e,n,t),i(e[r],a)>0&&XU(e,n,r);o<s;){for(XU(e,o,s),++o,--s;i(e[o],a)<0;)++o;for(;i(e[s],a)>0;)--s}i(e[n],a)===0?XU(e,n,s):(++s,XU(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function XU(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function ZU(e,t,n){if(e=Float64Array.from(AU(e,n)),(r=e.length)&&!isNaN(t=+t)){if(t<=0||r<2)return JU(e);if(t>=1)return qU(e);var r,i=(r-1)*t,a=Math.floor(i),o=qU(YU(e,a).subarray(0,a+1));return o+(JU(e.subarray(a+1))-o)*(i-a)}}function QU(e,t,n=kU){if((r=e.length)&&!isNaN(t=+t)){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,a=Math.floor(i),o=+n(e[a],a,e);return o+(+n(e[a+1],a+1,e)-o)*(i-a)}}function $U(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r<i;)a[r]=e+r*n;return a}function eW(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function tW(e,t){switch(arguments.length){case 0:break;case 1:typeof e==`function`?this.interpolator(e):this.range(e);break;default:this.domain(e),typeof t==`function`?this.interpolator(t):this.range(t)}return this}var nW=Symbol(`implicit`);function rW(){var e=new NU,t=[],n=[],r=nW;function i(i){let a=e.get(i);if(a===void 0){if(r!==nW)return r;e.set(i,a=t.push(i)-1)}return n[a%n.length]}return i.domain=function(n){if(!arguments.length)return t.slice();t=[],e=new NU;for(let r of n)e.has(r)||e.set(r,t.push(r)-1);return i},i.range=function(e){return arguments.length?(n=Array.from(e),i):n.slice()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return rW(t,n).unknown(r)},eW.apply(i,arguments),i}function iW(){var e=rW().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,a,o,s=!1,c=0,l=0,u=.5;delete e.unknown;function d(){var e=t().length,d=i<r,f=d?i:r,p=d?r:i;a=(p-f)/Math.max(1,e-c+l*2),s&&(a=Math.floor(a)),f+=(p-f-a*(e-c))*u,o=a*(1-c),s&&(f=Math.round(f),o=Math.round(o));var m=$U(e).map(function(e){return f+a*e});return n(d?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),d()):t()},e.range=function(e){return arguments.length?([r,i]=e,r=+r,i=+i,d()):[r,i]},e.rangeRound=function(e){return[r,i]=e,r=+r,i=+i,s=!0,d()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(e){return arguments.length?(s=!!e,d()):s},e.padding=function(e){return arguments.length?(c=Math.min(1,l=+e),d()):c},e.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),d()):c},e.paddingOuter=function(e){return arguments.length?(l=+e,d()):l},e.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),d()):u},e.copy=function(){return iW(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},eW.apply(d(),arguments)}function aW(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return aW(t())},e}function oW(){return aW(iW.apply(null,arguments).paddingInner(1))}function sW(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function cW(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function lW(){}var uW=.7,dW=1/uW,fW=`\\s*([+-]?\\d+)\\s*`,pW=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,mW=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,hW=/^#([0-9a-f]{3,8})$/,gW=RegExp(`^rgb\\(${fW},${fW},${fW}\\)$`),_W=RegExp(`^rgb\\(${mW},${mW},${mW}\\)$`),vW=RegExp(`^rgba\\(${fW},${fW},${fW},${pW}\\)$`),yW=RegExp(`^rgba\\(${mW},${mW},${mW},${pW}\\)$`),bW=RegExp(`^hsl\\(${pW},${mW},${mW}\\)$`),xW=RegExp(`^hsla\\(${pW},${mW},${mW},${pW}\\)$`),SW={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};sW(lW,DW,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:CW,formatHex:CW,formatHex8:wW,formatHsl:TW,formatRgb:EW,toString:EW});function CW(){return this.rgb().formatHex()}function wW(){return this.rgb().formatHex8()}function TW(){return BW(this).formatHsl()}function EW(){return this.rgb().formatRgb()}function DW(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=hW.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?OW(t):n===3?new MW(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?kW(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?kW(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=gW.exec(e))?new MW(t[1],t[2],t[3],1):(t=_W.exec(e))?new MW(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=vW.exec(e))?kW(t[1],t[2],t[3],t[4]):(t=yW.exec(e))?kW(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=bW.exec(e))?zW(t[1],t[2]/100,t[3]/100,1):(t=xW.exec(e))?zW(t[1],t[2]/100,t[3]/100,t[4]):SW.hasOwnProperty(e)?OW(SW[e]):e===`transparent`?new MW(NaN,NaN,NaN,0):null}function OW(e){return new MW(e>>16&255,e>>8&255,e&255,1)}function kW(e,t,n,r){return r<=0&&(e=t=n=NaN),new MW(e,t,n,r)}function AW(e){return e instanceof lW||(e=DW(e)),e?(e=e.rgb(),new MW(e.r,e.g,e.b,e.opacity)):new MW}function jW(e,t,n,r){return arguments.length===1?AW(e):new MW(e,t,n,r??1)}function MW(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}sW(MW,jW,cW(lW,{brighter(e){return e=e==null?dW:dW**+e,new MW(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?uW:uW**+e,new MW(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new MW(LW(this.r),LW(this.g),LW(this.b),IW(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:NW,formatHex:NW,formatHex8:PW,formatRgb:FW,toString:FW}));function NW(){return`#${RW(this.r)}${RW(this.g)}${RW(this.b)}`}function PW(){return`#${RW(this.r)}${RW(this.g)}${RW(this.b)}${RW((isNaN(this.opacity)?1:this.opacity)*255)}`}function FW(){let e=IW(this.opacity);return`${e===1?`rgb(`:`rgba(`}${LW(this.r)}, ${LW(this.g)}, ${LW(this.b)}${e===1?`)`:`, ${e})`}`}function IW(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function LW(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function RW(e){return e=LW(e),(e<16?`0`:``)+e.toString(16)}function zW(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new HW(e,t,n,r)}function BW(e){if(e instanceof HW)return new HW(e.h,e.s,e.l,e.opacity);if(e instanceof lW||(e=DW(e)),!e)return new HW;if(e instanceof HW)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new HW(o,s,c,e.opacity)}function VW(e,t,n,r){return arguments.length===1?BW(e):new HW(e,t,n,r??1)}function HW(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}sW(HW,VW,cW(lW,{brighter(e){return e=e==null?dW:dW**+e,new HW(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?uW:uW**+e,new HW(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new MW(GW(e>=240?e-240:e+120,i,r),GW(e,i,r),GW(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new HW(UW(this.h),WW(this.s),WW(this.l),IW(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=IW(this.opacity);return`${e===1?`hsl(`:`hsla(`}${UW(this.h)}, ${WW(this.s)*100}%, ${WW(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function UW(e){return e=(e||0)%360,e<0?e+360:e}function WW(e){return Math.max(0,Math.min(1,e||0))}function GW(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var KW=e=>()=>e;function qW(e,t){return function(n){return e+n*t}}function JW(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function YW(e){return(e=+e)==1?XW:function(t,n){return n-t?JW(t,n,e):KW(isNaN(t)?n:t)}}function XW(e,t){var n=t-e;return n?qW(e,n):KW(isNaN(e)?t:e)}var ZW=(function e(t){var n=YW(t);function r(e,t){var r=n((e=jW(e)).r,(t=jW(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=XW(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function QW(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function $W(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function eG(e,t){for(var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o=0;o<r;++o)i[o]=lG(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function tG(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function nG(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function rG(e,t){var n={},r={},i;for(i in typeof e==`object`&&e||(e={}),typeof t==`object`&&t||(t={}),t)i in e?n[i]=lG(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var iG=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,aG=new RegExp(iG.source,`g`);function oG(e){return function(){return e}}function sG(e){return function(t){return e(t)+``}}function cG(e,t){var n=iG.lastIndex=aG.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=iG.exec(e))&&(i=aG.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:nG(r,i)})),n=aG.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?sG(c[0].x):oG(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function lG(e,t){var n=typeof t,r;return t==null||n===`boolean`?KW(t):(n===`number`?nG:n===`string`?(r=DW(t))?(t=r,ZW):cG:t instanceof DW?ZW:t instanceof Date?tG:$W(t)?QW:Array.isArray(t)?eG:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?rG:nG)(e,t)}function uG(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}function dG(e,t){t===void 0&&(t=e,e=lG);for(var n=0,r=t.length-1,i=t[0],a=Array(r<0?0:r);n<r;)a[n]=e(i,i=t[++n]);return function(e){var t=Math.max(0,Math.min(r-1,Math.floor(e*=r)));return a[t](e-t)}}function fG(e){return function(){return e}}function pG(e){return+e}var mG=[0,1];function hG(e){return e}function gG(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:fG(isNaN(t)?NaN:.5)}function _G(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function vG(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=gG(i,r),a=n(o,a)):(r=gG(r,i),a=n(a,o)),function(e){return a(r(e))}}function yG(e,t,n){var r=Math.min(e.length,t.length)-1,i=Array(r),a=Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)i[o]=gG(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=MU(e,t,1,r)-1;return a[n](i[n](t))}}function bG(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function xG(){var e=mG,t=mG,n=lG,r,i,a,o=hG,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==hG&&(o=_G(e[0],e[n-1])),s=n>2?yG:vG,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),nG))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,pG),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=uG,u()},d.clamp=function(e){return arguments.length?(o=e?!0:hG,u()):o!==hG},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function SG(){return xG()(hG,hG)}function CG(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function wG(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function TG(e){return e=wG(Math.abs(e)),e?e[1]:NaN}function EG(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function DG(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var OG=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function kG(e){if(!(t=OG.exec(e)))throw Error(`invalid format: `+e);var t;return new AG({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}kG.prototype=AG.prototype;function AG(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}AG.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?`0`:``)+(this.width===void 0?``:Math.max(1,this.width|0))+(this.comma?`,`:``)+(this.precision===void 0?``:`.`+Math.max(0,this.precision|0))+(this.trim?`~`:``)+this.type};function jG(e){out:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case`.`:r=i=n;break;case`0`:r===0&&(r=n),i=n;break;default:if(!+e[n])break out;r>0&&(r=0)}return r>0?e.slice(0,r)+e.slice(i+1):e}var MG;function NG(e,t){var n=wG(e,t);if(!n)return MG=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(MG=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+wG(e,Math.max(0,t+a-1))[0]}function PG(e,t){var n=wG(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var FG={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:CG,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>PG(e*100,t),r:PG,s:NG,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function IG(e){return e}var LG=Array.prototype.map,RG=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function zG(e){var t=e.grouping===void 0||e.thousands===void 0?IG:EG(LG.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?IG:DG(LG.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=kG(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):FG[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),S=FG[y],C=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function w(e){var n=b,r=x,o,l,p;if(y===`c`)r=S(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:S(Math.abs(e),_),v&&(e=jG(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&MG!==void 0?RG[8+MG/3]:``)+r+(w&&f===`(`?`)`:``),C){for(o=-1,l=e.length;++o<l;)if(p=e.charCodeAt(o),48>p||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var T=n.length+e.length+r.length,E=T<h?Array(h-T+1).join(u):``;switch(g&&m&&(e=t(E+e,E.length?h-r.length:1/0),E=``),d){case`<`:e=n+e+r+E;break;case`=`:e=n+E+e+r;break;case`^`:e=E.slice(0,T=E.length>>1)+n+e+r+E.slice(T);break;default:e=E+n+e+r}return a(e)}return w.toString=function(){return e+``},w}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(TG(t)/3)))*3,r=10**-n,i=l((e=kG(e),e.type=`f`,e),{suffix:RG[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var BG,VG,HG;UG({thousands:`,`,grouping:[3],currency:[`$`,``]});function UG(e){return BG=zG(e),VG=BG.format,HG=BG.formatPrefix,BG}function WG(e){return Math.max(0,-TG(Math.abs(e)))}function GG(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(TG(t)/3)))*3-TG(Math.abs(e)))}function KG(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,TG(t)-TG(e))+1}function qG(e,t,n,r){var i=KU(e,t,n),a;switch(r=kG(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=GG(i,o))&&(r.precision=a),HG(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=KG(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=WG(i))&&(r.precision=a-(r.type===`%`)*2)}return VG(r)}function JG(e){var t=e.domain;return e.ticks=function(e){var n=t();return WU(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return qG(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s<o&&(l=o,o=s,s=l,l=i,i=a,a=l);u-->0;){if(l=GU(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function YG(){var e=SG();return e.copy=function(){return bG(e,YG())},eW.apply(e,arguments),JG(e)}function XG(e){var t;function n(e){return e==null||isNaN(e=+e)?t:e}return n.invert=n,n.domain=n.range=function(t){return arguments.length?(e=Array.from(t,pG),n):e.slice()},n.unknown=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return XG(e).unknown(t)},e=arguments.length?Array.from(e,pG):[0,1],JG(n)}function ZG(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],o;return a<i&&(o=n,n=r,r=o,o=i,i=a,a=o),e[n]=t.floor(i),e[r]=t.ceil(a),e}function QG(e){return Math.log(e)}function $G(e){return Math.exp(e)}function eK(e){return-Math.log(-e)}function tK(e){return-Math.exp(-e)}function nK(e){return isFinite(e)?+(`1e`+e):e<0?0:e}function rK(e){return e===10?nK:e===Math.E?Math.exp:t=>e**+t}function iK(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function aK(e){return(t,n)=>-e(-t,n)}function oK(e){let t=e(QG,$G),n=t.domain,r=10,i,a;function o(){return i=iK(r),a=rK(r),n()[0]<0?(i=aK(i),a=aK(a),e(eK,tK)):e(QG,$G),t}return t.base=function(e){return arguments.length?(r=+e,o()):r},t.domain=function(e){return arguments.length?(n(e),o()):n()},t.ticks=e=>{let t=n(),o=t[0],s=t[t.length-1],c=s<o;c&&([o,s]=[s,o]);let l=i(o),u=i(s),d,f,p=e==null?10:+e,m=[];if(!(r%1)&&u-l<p){if(l=Math.floor(l),u=Math.ceil(u),o>0){for(;l<=u;++l)for(d=1;d<r;++d)if(f=l<0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}}else for(;l<=u;++l)for(d=r-1;d>=1;--d)if(f=l>0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}m.length*2<p&&(m=WU(o,s,p))}else m=WU(l,u,Math.min(u-l,p)).map(a);return c?m.reverse():m},t.tickFormat=(e,n)=>{if(e??=10,n??=r===10?`s`:`,`,typeof n!=`function`&&(!(r%1)&&(n=kG(n)).precision==null&&(n.trim=!0),n=VG(n)),e===1/0)return n;let o=Math.max(1,r*e/t.ticks().length);return e=>{let t=e/a(Math.round(i(e)));return t*r<r-.5&&(t*=r),t<=o?n(e):``}},t.nice=()=>n(ZG(n(),{floor:e=>a(Math.floor(i(e))),ceil:e=>a(Math.ceil(i(e)))})),t}function sK(){let e=oK(xG()).domain([1,10]);return e.copy=()=>bG(e,sK()).base(e.base()),eW.apply(e,arguments),e}function cK(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function lK(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function uK(e){var t=1,n=e(cK(t),lK(t));return n.constant=function(n){return arguments.length?e(cK(t=+n),lK(t)):t},JG(n)}function dK(){var e=uK(xG());return e.copy=function(){return bG(e,dK()).constant(e.constant())},eW.apply(e,arguments)}function fK(e){return function(t){return t<0?-((-t)**+e):t**+e}}function pK(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function mK(e){return e<0?-e*e:e*e}function hK(e){var t=e(hG,hG),n=1;function r(){return n===1?e(hG,hG):n===.5?e(pK,mK):e(fK(n),fK(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},JG(t)}function gK(){var e=hK(xG());return e.copy=function(){return bG(e,gK()).exponent(e.exponent())},eW.apply(e,arguments),e}function _K(){return gK.apply(null,arguments).exponent(.5)}function vK(e){return Math.sign(e)*e*e}function yK(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function bK(){var e=SG(),t=[0,1],n=!1,r;function i(t){var i=yK(e(t));return isNaN(i)?r:n?Math.round(i):i}return i.invert=function(t){return e.invert(vK(t))},i.domain=function(t){return arguments.length?(e.domain(t),i):e.domain()},i.range=function(n){return arguments.length?(e.range((t=Array.from(n,pG)).map(vK)),i):t.slice()},i.rangeRound=function(e){return i.range(e).round(!0)},i.round=function(e){return arguments.length?(n=!!e,i):n},i.clamp=function(t){return arguments.length?(e.clamp(t),i):e.clamp()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return bK(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},eW.apply(i,arguments),JG(i)}function xK(){var e=[],t=[],n=[],r;function i(){var r=0,i=Math.max(1,t.length);for(n=Array(i-1);++r<i;)n[r-1]=QU(e,r/i);return a}function a(e){return e==null||isNaN(e=+e)?r:t[MU(n,e)]}return a.invertExtent=function(r){var i=t.indexOf(r);return i<0?[NaN,NaN]:[i>0?n[i-1]:e[0],i<n.length?n[i]:e[e.length-1]]},a.domain=function(t){if(!arguments.length)return e.slice();e=[];for(let n of t)n!=null&&!isNaN(n=+n)&&e.push(n);return e.sort(TU),i()},a.range=function(e){return arguments.length?(t=Array.from(e),i()):t.slice()},a.unknown=function(e){return arguments.length?(r=e,a):r},a.quantiles=function(){return n.slice()},a.copy=function(){return xK().domain(e).range(t).unknown(r)},eW.apply(a,arguments)}function SK(){var e=0,t=1,n=1,r=[.5],i=[0,1],a;function o(e){return e!=null&&e<=e?i[MU(r,e,0,n)]:a}function s(){var i=-1;for(r=Array(n);++i<n;)r[i]=((i+1)*t-(i-n)*e)/(n+1);return o}return o.domain=function(n){return arguments.length?([e,t]=n,e=+e,t=+t,s()):[e,t]},o.range=function(e){return arguments.length?(n=(i=Array.from(e)).length-1,s()):i.slice()},o.invertExtent=function(a){var o=i.indexOf(a);return o<0?[NaN,NaN]:o<1?[e,r[0]]:o>=n?[r[n-1],t]:[r[o-1],r[o]]},o.unknown=function(e){return arguments.length&&(a=e),o},o.thresholds=function(){return r.slice()},o.copy=function(){return SK().domain([e,t]).range(i).unknown(a)},eW.apply(JG(o),arguments)}function CK(){var e=[.5],t=[0,1],n,r=1;function i(i){return i!=null&&i<=i?t[MU(e,i,0,r)]:n}return i.domain=function(n){return arguments.length?(e=Array.from(n),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(n){return arguments.length?(t=Array.from(n),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(n){var r=t.indexOf(n);return[e[r-1],e[r]]},i.unknown=function(e){return arguments.length?(n=e,i):n},i.copy=function(){return CK().domain(e).range(t).unknown(n)},eW.apply(i,arguments)}var wK=new Date,TK=new Date;function EK(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t<n-e?t:n},i.offset=(e,n)=>(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n<r)||!(a>0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(s<n&&n<r);return o},i.filter=n=>EK(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e){if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}}),n&&(i.count=(t,r)=>(wK.setTime(+t),TK.setTime(+r),e(wK),e(TK),Math.floor(n(wK,TK))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var DK=EK(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);DK.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?EK(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):DK),DK.range;var OK=1e3,kK=OK*60,AK=kK*60,jK=AK*24,MK=jK*7,NK=jK*30,PK=jK*365,FK=EK(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*OK)},(e,t)=>(t-e)/OK,e=>e.getUTCSeconds());FK.range;var IK=EK(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*OK)},(e,t)=>{e.setTime(+e+t*kK)},(e,t)=>(t-e)/kK,e=>e.getMinutes());IK.range;var LK=EK(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*kK)},(e,t)=>(t-e)/kK,e=>e.getUTCMinutes());LK.range;var RK=EK(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*OK-e.getMinutes()*kK)},(e,t)=>{e.setTime(+e+t*AK)},(e,t)=>(t-e)/AK,e=>e.getHours());RK.range;var zK=EK(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*AK)},(e,t)=>(t-e)/AK,e=>e.getUTCHours());zK.range;var BK=EK(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*kK)/jK,e=>e.getDate()-1);BK.range;var VK=EK(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/jK,e=>e.getUTCDate()-1);VK.range;var HK=EK(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/jK,e=>Math.floor(e/jK));HK.range;function UK(e){return EK(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*kK)/MK)}var WK=UK(0),GK=UK(1),KK=UK(2),qK=UK(3),JK=UK(4),YK=UK(5),XK=UK(6);WK.range,GK.range,KK.range,qK.range,JK.range,YK.range,XK.range;function ZK(e){return EK(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/MK)}var QK=ZK(0),$K=ZK(1),eq=ZK(2),tq=ZK(3),nq=ZK(4),rq=ZK(5),iq=ZK(6);QK.range,$K.range,eq.range,tq.range,nq.range,rq.range,iq.range;var aq=EK(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());aq.range;var oq=EK(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());oq.range;var sq=EK(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());sq.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:EK(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),sq.range;var cq=EK(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());cq.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:EK(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),cq.range;function lq(e,t,n,r,i,a){let o=[[FK,1,OK],[FK,5,5*OK],[FK,15,15*OK],[FK,30,30*OK],[a,1,kK],[a,5,5*kK],[a,15,15*kK],[a,30,30*kK],[i,1,AK],[i,3,3*AK],[i,6,6*AK],[i,12,12*AK],[r,1,jK],[r,2,2*jK],[n,1,MK],[t,1,NK],[t,3,3*NK],[e,1,PK]];function s(e,t,n){let r=t<e;r&&([e,t]=[t,e]);let i=n&&typeof n.range==`function`?n:c(e,t,n),a=i?i.range(e,+t+1):[];return r?a.reverse():a}function c(t,n,r){let i=Math.abs(n-t)/r,a=DU(([,,e])=>e).right(o,i);if(a===o.length)return e.every(KU(t/PK,n/PK,r));if(a===0)return DK.every(Math.max(KU(t,n,r),1));let[s,c]=o[i/o[a-1][2]<o[a][2]/i?a-1:a];return s.every(c)}return[s,c]}var[uq,dq]=lq(cq,oq,QK,HK,zK,LK),[fq,pq]=lq(sq,aq,WK,BK,RK,IK);function mq(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function hq(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function gq(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function _q(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,a=e.days,o=e.shortDays,s=e.months,c=e.shortMonths,l=wq(i),u=Tq(i),d=wq(a),f=Tq(a),p=wq(o),m=Tq(o),h=wq(s),g=Tq(s),_=wq(c),v=Tq(c),y={a:M,A:N,b:P,B:te,c:null,d:Kq,e:Kq,f:Zq,g:cJ,G:uJ,H:qq,I:Jq,j:Yq,L:Xq,m:Qq,M:$q,p:ne,q:re,Q:NJ,s:PJ,S:eJ,u:tJ,U:nJ,V:iJ,w:aJ,W:oJ,x:null,X:null,y:sJ,Y:lJ,Z:dJ,"%":MJ},b={a:F,A:ie,b:ae,B:oe,c:null,d:fJ,e:fJ,f:_J,g:OJ,G:AJ,H:pJ,I:mJ,j:hJ,L:gJ,m:vJ,M:yJ,p:se,q:ce,Q:NJ,s:PJ,S:bJ,u:xJ,U:SJ,V:wJ,w:TJ,W:EJ,x:null,X:null,y:DJ,Y:kJ,Z:jJ,"%":MJ},x={a:E,A:D,b:O,B:k,c:A,d:Iq,e:Iq,f:Hq,g:Mq,G:jq,H:Rq,I:Rq,j:Lq,L:Vq,m:Fq,M:zq,p:T,q:Pq,Q:Wq,s:Gq,S:Bq,u:Dq,U:Oq,V:kq,w:Eq,W:Aq,x:ee,X:j,y:Mq,Y:jq,Z:Nq,"%":Uq};y.x=S(n,y),y.X=S(r,y),y.c=S(t,y),b.x=S(n,b),b.X=S(r,b),b.c=S(t,b);function S(e,t){return function(n){var r=[],i=-1,a=0,o=e.length,s,c,l;for(n instanceof Date||(n=new Date(+n));++i<o;)e.charCodeAt(i)===37&&(r.push(e.slice(a,i)),(c=vq[s=e.charAt(++i)])==null?c=s===`e`?` `:`0`:s=e.charAt(++i),(l=t[s])&&(s=l(n,c)),r.push(s),a=i+1);return r.push(e.slice(a,i)),r.join(``)}}function C(e,t){return function(n){var r=gq(1900,void 0,1),i=w(r,e,n+=``,0),a,o;if(i!=n.length)return null;if(`Q`in r)return new Date(r.Q);if(`s`in r)return new Date(r.s*1e3+(`L`in r?r.L:0));if(t&&!(`Z`in r)&&(r.Z=0),`p`in r&&(r.H=r.H%12+r.p*12),r.m===void 0&&(r.m=`q`in r?r.q:0),`V`in r){if(r.V<1||r.V>53)return null;`w`in r||(r.w=1),`Z`in r?(a=hq(gq(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?$K.ceil(a):$K(a),a=VK.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=mq(gq(r.y,0,1)),o=a.getDay(),a=o>4||o===0?GK.ceil(a):GK(a),a=BK.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.getDate()+(r.w+6)%7)}else(`W`in r||`U`in r)&&(`w`in r||(r.w=`u`in r?r.u%7:+(`W`in r)),o=`Z`in r?hq(gq(r.y,0,1)).getUTCDay():mq(gq(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,hq(r)):mq(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i<a;){if(r>=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in vq?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function A(e,n,r){return w(e,t,n,r)}function ee(e,t,r){return w(e,n,t,r)}function j(e,t,n){return w(e,r,t,n)}function M(e){return o[e.getDay()]}function N(e){return a[e.getDay()]}function P(e){return c[e.getMonth()]}function te(e){return s[e.getMonth()]}function ne(e){return i[+(e.getHours()>=12)]}function re(e){return 1+~~(e.getMonth()/3)}function F(e){return o[e.getUTCDay()]}function ie(e){return a[e.getUTCDay()]}function ae(e){return c[e.getUTCMonth()]}function oe(e){return s[e.getUTCMonth()]}function se(e){return i[+(e.getUTCHours()>=12)]}function ce(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var vq={"-":``,_:` `,0:`0`},yq=/^\s*\d+/,bq=/^%/,xq=/[\\^$*+?|[\]().{}]/g;function Sq(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a<n?Array(n-a+1).join(t)+i:i)}function Cq(e){return e.replace(xq,`\\$&`)}function wq(e){return RegExp(`^(?:`+e.map(Cq).join(`|`)+`)`,`i`)}function Tq(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function Eq(e,t,n){var r=yq.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function Dq(e,t,n){var r=yq.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function Oq(e,t,n){var r=yq.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function kq(e,t,n){var r=yq.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function Aq(e,t,n){var r=yq.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function jq(e,t,n){var r=yq.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function Mq(e,t,n){var r=yq.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Nq(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function Pq(e,t,n){var r=yq.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function Fq(e,t,n){var r=yq.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function Iq(e,t,n){var r=yq.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function Lq(e,t,n){var r=yq.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function Rq(e,t,n){var r=yq.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function zq(e,t,n){var r=yq.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function Bq(e,t,n){var r=yq.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function Vq(e,t,n){var r=yq.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function Hq(e,t,n){var r=yq.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Uq(e,t,n){var r=bq.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function Wq(e,t,n){var r=yq.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function Gq(e,t,n){var r=yq.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function Kq(e,t){return Sq(e.getDate(),t,2)}function qq(e,t){return Sq(e.getHours(),t,2)}function Jq(e,t){return Sq(e.getHours()%12||12,t,2)}function Yq(e,t){return Sq(1+BK.count(sq(e),e),t,3)}function Xq(e,t){return Sq(e.getMilliseconds(),t,3)}function Zq(e,t){return Xq(e,t)+`000`}function Qq(e,t){return Sq(e.getMonth()+1,t,2)}function $q(e,t){return Sq(e.getMinutes(),t,2)}function eJ(e,t){return Sq(e.getSeconds(),t,2)}function tJ(e){var t=e.getDay();return t===0?7:t}function nJ(e,t){return Sq(WK.count(sq(e)-1,e),t,2)}function rJ(e){var t=e.getDay();return t>=4||t===0?JK(e):JK.ceil(e)}function iJ(e,t){return e=rJ(e),Sq(JK.count(sq(e),e)+(sq(e).getDay()===4),t,2)}function aJ(e){return e.getDay()}function oJ(e,t){return Sq(GK.count(sq(e)-1,e),t,2)}function sJ(e,t){return Sq(e.getFullYear()%100,t,2)}function cJ(e,t){return e=rJ(e),Sq(e.getFullYear()%100,t,2)}function lJ(e,t){return Sq(e.getFullYear()%1e4,t,4)}function uJ(e,t){var n=e.getDay();return e=n>=4||n===0?JK(e):JK.ceil(e),Sq(e.getFullYear()%1e4,t,4)}function dJ(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+Sq(t/60|0,`0`,2)+Sq(t%60,`0`,2)}function fJ(e,t){return Sq(e.getUTCDate(),t,2)}function pJ(e,t){return Sq(e.getUTCHours(),t,2)}function mJ(e,t){return Sq(e.getUTCHours()%12||12,t,2)}function hJ(e,t){return Sq(1+VK.count(cq(e),e),t,3)}function gJ(e,t){return Sq(e.getUTCMilliseconds(),t,3)}function _J(e,t){return gJ(e,t)+`000`}function vJ(e,t){return Sq(e.getUTCMonth()+1,t,2)}function yJ(e,t){return Sq(e.getUTCMinutes(),t,2)}function bJ(e,t){return Sq(e.getUTCSeconds(),t,2)}function xJ(e){var t=e.getUTCDay();return t===0?7:t}function SJ(e,t){return Sq(QK.count(cq(e)-1,e),t,2)}function CJ(e){var t=e.getUTCDay();return t>=4||t===0?nq(e):nq.ceil(e)}function wJ(e,t){return e=CJ(e),Sq(nq.count(cq(e),e)+(cq(e).getUTCDay()===4),t,2)}function TJ(e){return e.getUTCDay()}function EJ(e,t){return Sq($K.count(cq(e)-1,e),t,2)}function DJ(e,t){return Sq(e.getUTCFullYear()%100,t,2)}function OJ(e,t){return e=CJ(e),Sq(e.getUTCFullYear()%100,t,2)}function kJ(e,t){return Sq(e.getUTCFullYear()%1e4,t,4)}function AJ(e,t){var n=e.getUTCDay();return e=n>=4||n===0?nq(e):nq.ceil(e),Sq(e.getUTCFullYear()%1e4,t,4)}function jJ(){return`+0000`}function MJ(){return`%`}function NJ(e){return+e}function PJ(e){return Math.floor(e/1e3)}var FJ,IJ,LJ;RJ({dateTime:`%x, %X`,date:`%-m/%-d/%Y`,time:`%-I:%M:%S %p`,periods:[`AM`,`PM`],days:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],shortDays:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],months:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],shortMonths:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`]});function RJ(e){return FJ=_q(e),IJ=FJ.format,FJ.parse,LJ=FJ.utcFormat,FJ.utcParse,FJ}function zJ(e){return new Date(e)}function BJ(e){return e instanceof Date?+e:+new Date(+e)}function VJ(e,t,n,r,i,a,o,s,c,l){var u=SG(),d=u.invert,f=u.domain,p=l(`.%L`),m=l(`:%S`),h=l(`%I:%M`),g=l(`%I %p`),_=l(`%a %d`),v=l(`%b %d`),y=l(`%B`),b=l(`%Y`);function x(e){return(c(e)<e?p:s(e)<e?m:o(e)<e?h:a(e)<e?g:r(e)<e?i(e)<e?_:v:n(e)<e?y:b)(e)}return u.invert=function(e){return new Date(d(e))},u.domain=function(e){return arguments.length?f(Array.from(e,BJ)):f().map(zJ)},u.ticks=function(t){var n=f();return e(n[0],n[n.length-1],t??10)},u.tickFormat=function(e,t){return t==null?x:l(t)},u.nice=function(e){var n=f();return e&&typeof e.range==`function`||(e=t(n[0],n[n.length-1],e??10)),e?f(ZG(n,e)):u},u.copy=function(){return bG(u,VJ(e,t,n,r,i,a,o,s,c,l))},u}function HJ(){return eW.apply(VJ(fq,pq,sq,aq,WK,BK,RK,IK,FK,IJ).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function UJ(){return eW.apply(VJ(uq,dq,cq,oq,QK,VK,zK,LK,FK,LJ).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function WJ(){var e=0,t=1,n,r,i,a,o=hG,s=!1,c;function l(e){return e==null||isNaN(e=+e)?c:o(i===0?.5:(e=(a(e)-n)*i,s?Math.max(0,Math.min(1,e)):e))}l.domain=function(o){return arguments.length?([e,t]=o,n=a(e=+e),r=a(t=+t),i=n===r?0:1/(r-n),l):[e,t]},l.clamp=function(e){return arguments.length?(s=!!e,l):s},l.interpolator=function(e){return arguments.length?(o=e,l):o};function u(e){return function(t){var n,r;return arguments.length?([n,r]=t,o=e(n,r),l):[o(0),o(1)]}}return l.range=u(lG),l.rangeRound=u(uG),l.unknown=function(e){return arguments.length?(c=e,l):c},function(o){return a=o,n=o(e),r=o(t),i=n===r?0:1/(r-n),l}}function GJ(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function KJ(){var e=JG(WJ()(hG));return e.copy=function(){return GJ(e,KJ())},tW.apply(e,arguments)}function qJ(){var e=oK(WJ()).domain([1,10]);return e.copy=function(){return GJ(e,qJ()).base(e.base())},tW.apply(e,arguments)}function JJ(){var e=uK(WJ());return e.copy=function(){return GJ(e,JJ()).constant(e.constant())},tW.apply(e,arguments)}function YJ(){var e=hK(WJ());return e.copy=function(){return GJ(e,YJ()).exponent(e.exponent())},tW.apply(e,arguments)}function XJ(){return YJ.apply(null,arguments).exponent(.5)}function ZJ(){var e=[],t=hG;function n(n){if(n!=null&&!isNaN(n=+n))return t((MU(e,n,1)-1)/(e.length-1))}return n.domain=function(t){if(!arguments.length)return e.slice();e=[];for(let n of t)n!=null&&!isNaN(n=+n)&&e.push(n);return e.sort(TU),n},n.interpolator=function(e){return arguments.length?(t=e,n):t},n.range=function(){return e.map((n,r)=>t(r/(e.length-1)))},n.quantiles=function(t){return Array.from({length:t+1},(n,r)=>ZU(e,r/t))},n.copy=function(){return ZJ(t).domain(e)},tW.apply(n,arguments)}function QJ(){var e=0,t=.5,n=1,r=1,i,a,o,s,c,l=hG,u,d=!1,f;function p(e){return isNaN(e=+e)?f:(e=.5+((e=+u(e))-a)*(r*e<r*a?s:c),l(d?Math.max(0,Math.min(1,e)):e))}p.domain=function(l){return arguments.length?([e,t,n]=l,i=u(e=+e),a=u(t=+t),o=u(n=+n),s=i===a?0:.5/(a-i),c=a===o?0:.5/(o-a),r=a<i?-1:1,p):[e,t,n]},p.clamp=function(e){return arguments.length?(d=!!e,p):d},p.interpolator=function(e){return arguments.length?(l=e,p):l};function m(e){return function(t){var n,r,i;return arguments.length?([n,r,i]=t,l=dG(e,[n,r,i]),p):[l(0),l(.5),l(1)]}}return p.range=m(lG),p.rangeRound=m(uG),p.unknown=function(e){return arguments.length?(f=e,p):f},function(l){return u=l,i=l(e),a=l(t),o=l(n),s=i===a?0:.5/(a-i),c=a===o?0:.5/(o-a),r=a<i?-1:1,p}}function $J(){var e=JG(QJ()(hG));return e.copy=function(){return GJ(e,$J())},tW.apply(e,arguments)}function eY(){var e=oK(QJ()).domain([.1,1,10]);return e.copy=function(){return GJ(e,eY()).base(e.base())},tW.apply(e,arguments)}function tY(){var e=uK(QJ());return e.copy=function(){return GJ(e,tY()).constant(e.constant())},tW.apply(e,arguments)}function nY(){var e=hK(QJ());return e.copy=function(){return GJ(e,nY()).exponent(e.exponent())},tW.apply(e,arguments)}function rY(){return nY.apply(null,arguments).exponent(.5)}var iY=c({scaleBand:()=>iW,scaleDiverging:()=>$J,scaleDivergingLog:()=>eY,scaleDivergingPow:()=>nY,scaleDivergingSqrt:()=>rY,scaleDivergingSymlog:()=>tY,scaleIdentity:()=>XG,scaleImplicit:()=>nW,scaleLinear:()=>YG,scaleLog:()=>sK,scaleOrdinal:()=>rW,scalePoint:()=>oW,scalePow:()=>gK,scaleQuantile:()=>xK,scaleQuantize:()=>SK,scaleRadial:()=>bK,scaleSequential:()=>KJ,scaleSequentialLog:()=>qJ,scaleSequentialPow:()=>YJ,scaleSequentialQuantile:()=>ZJ,scaleSequentialSqrt:()=>XJ,scaleSequentialSymlog:()=>JJ,scaleSqrt:()=>_K,scaleSymlog:()=>dK,scaleThreshold:()=>CK,scaleTime:()=>HJ,scaleUtc:()=>UJ,tickFormat:()=>qG});function aY(e){var t=iY;if(e in t&&typeof t[e]==`function`)return t[e]();var n=`scale${XN(e)}`;if(n in t&&typeof t[n]==`function`)return t[n]()}function oY(e,t,n){if(typeof e==`function`)return e.copy().domain(t).range(n);if(e!=null){var r=aY(e);if(r!=null)return r.domain(t).range(n),r}}function sY(e,t,n,r){if(n!=null&&r!=null)return typeof e.scale==`function`?oY(e.scale,n,r):oY(t,n,r)}function cY(e){return`scale${XN(e)}`}function lY(e){return cY(e)in iY}var uY=(e,t,n)=>{if(e!=null){var r=e.scale,i=e.type;if(r===`auto`)return i===`category`&&n&&(n.indexOf(`LineChart`)>=0||n.indexOf(`AreaChart`)>=0||n.indexOf(`ComposedChart`)>=0&&!t)?`point`:i===`category`?`band`:`linear`;if(typeof r==`string`)return lY(r)?r:`point`}};function dY(e,t){for(var n=0,r=e.length,i=e[0]<e[e.length-1];n<r;){var a=Math.floor((n+r)/2);(i?e[a]<t:e[a]>t)?n=a+1:r=a}return n}function fY(e,t){if(e){var n=t??e.domain(),r=n.map(t=>e(t)??0),i=e.range();if(!(n.length===0||i.length<2))return e=>{var t=dY(r,e);if(t<=0)return n[0];if(t>=n.length)return n[n.length-1];var i=r[t-1]??0,a=r[t]??0;return Math.abs(e-i)<=Math.abs(e-a)?n[t-1]:n[t]}}}function pY(e){if(e!=null)return`invert`in e&&typeof e.invert==`function`?e.invert.bind(e):fY(e,void 0)}function mY(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 hY(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?mY(Object(n),!0).forEach(function(t){gY(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mY(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function gY(e,t,n){return(t=_Y(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _Y(e){var t=vY(e,`string`);return typeof t==`symbol`?t:t+``}function vY(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)}function yY(e,t){return wY(e)||CY(e,t)||xY(e,t)||bY()}function bY(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xY(e,t){if(e){if(typeof e==`string`)return SY(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?SY(e,t):void 0}}function SY(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function CY(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function wY(e){if(Array.isArray(e))return e}var TY=[0,`auto`],EY={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:void 0,height:30,hide:!0,id:0,includeHidden:!1,interval:`preserveEnd`,minTickGap:5,mirror:!1,name:void 0,orientation:`bottom`,padding:{left:0,right:0},reversed:!1,scale:`auto`,tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:`category`,unit:void 0,niceTicks:`auto`},DY=(e,t)=>e.cartesianAxis.xAxis[t],OY=(e,t)=>DY(e,t)??EY,kY={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:TY,hide:!0,id:0,includeHidden:!1,interval:`preserveEnd`,minTickGap:5,mirror:!1,name:void 0,orientation:`left`,padding:{top:0,bottom:0},reversed:!1,scale:`auto`,tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:`number`,unit:void 0,niceTicks:`auto`,width:60},AY=(e,t)=>e.cartesianAxis.yAxis[t],jY=(e,t)=>AY(e,t)??kY,MY={domain:[0,`auto`],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:``,range:[64,64],scale:`auto`,type:`number`,unit:``},NY=(e,t)=>e.cartesianAxis.zAxis[t]??MY,PY=(e,t,n)=>{switch(t){case`xAxis`:return OY(e,n);case`yAxis`:return jY(e,n);case`zAxis`:return NY(e,n);case`angleAxis`:return iU(e,n);case`radiusAxis`:return aU(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},FY=(e,t,n)=>{switch(t){case`xAxis`:return OY(e,n);case`yAxis`:return jY(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},IY=(e,t,n)=>{switch(t){case`xAxis`:return OY(e,n);case`yAxis`:return jY(e,n);case`angleAxis`:return iU(e,n);case`radiusAxis`:return aU(e,n);default:throw Error(`Unexpected axis type: ${t}`)}},LY=e=>e.graphicalItems.cartesianItems.some(e=>e.type===`bar`)||e.graphicalItems.polarItems.some(e=>e.type===`radialBar`);function RY(e,t){return n=>{switch(e){case`xAxis`:return`xAxisId`in n&&n.xAxisId===t;case`yAxis`:return`yAxisId`in n&&n.yAxisId===t;case`zAxis`:return`zAxisId`in n&&n.zAxisId===t;case`angleAxis`:return`angleAxisId`in n&&n.angleAxisId===t;case`radiusAxis`:return`radiusAxisId`in n&&n.radiusAxisId===t;default:return!1}}}var zY=e=>e.graphicalItems.cartesianItems,BY=$([pU,mU],RY),VY=(e,t,n)=>e.filter(n).filter(e=>t?.includeHidden===!0||!e.hide),HY=$([zY,PY,BY],VY,{memoizeOptions:{resultEqualityCheck:yU}}),UY=$([HY],e=>e.filter(e=>e.type===`area`||e.type===`bar`).filter(_U)),WY=e=>e.filter(e=>!(`stackId`in e)||e.stackId===void 0),GY=$([HY],WY),KY=e=>e.map(e=>e.data).filter(Boolean).flat(1),qY=$([HY],e=>e.some(e=>!e.data)),JY=$([HY],KY,{memoizeOptions:{resultEqualityCheck:yU}}),YY=(e,t)=>{var n=t.chartData,r=n===void 0?[]:n,i=t.dataStartIndex,a=t.dataEndIndex;return e.length>0?e:r.slice(i,a+1)},XY=$([JY,cH],YY),ZY=(e,t,n)=>t?.dataKey==null?n.length>0?n.map(e=>e.dataKey).flatMap(t=>e.map(e=>({value:uR(e,t)}))):e.map(e=>({value:e})):e.map(e=>({value:uR(e,t.dataKey)})),QY=(e,t,n,r,i,a)=>{var o=r.chartData,s=o===void 0?[]:o,c=r.dataStartIndex,l=r.dataEndIndex,u=ZY(e,t,n);return i&&t?.dataKey!=null&&a.length>0?[...s.slice(c,l+1).map(e=>({value:uR(e,t.dataKey)})).filter(e=>e.value!=null),...u]:u},$Y=$([XY,PY,HY,cH,qY,JY],QY);function eX(e){if(HN(e)||e instanceof Date){var t=Number(e);if(oR(t))return t}}function tX(e){if(Array.isArray(e)){var t=[eX(e[0]),eX(e[1])];return vH(t)?t:void 0}var n=eX(e);if(n!=null)return[n,n]}function nX(e){return e.map(eX).filter(ZN)}function rX(e,t){var n=eX(e),r=eX(t);return n==null&&r==null?0:n==null?-1:r==null?1:n-r}var iX=$([$Y],e=>e?.map(e=>e.value).sort(rX));function aX(e,t){switch(e){case`xAxis`:return t.direction===`x`;case`yAxis`:return t.direction===`y`;default:return!1}}function oX(e,t,n){if(!n||!n.length)return[];var r;if(typeof t==`number`&&!BN(t))r=t;else if(Array.isArray(t)){var i=nX(t);i.length>0&&(r=Math.max(...i))}return r==null?[]:nX(n.flatMap(t=>{var n=uR(e,t.dataKey),i,a;if(Array.isArray(n)){var o=yY(n,2);i=o[0],a=o[1]}else i=a=n;if(oR(i)&&oR(a))return[r-i,r+a]}))}var sX=e=>IY(e,xU(e),SU(e)),cX=$([sX],e=>e?.dataKey),lX=$([UY,cH,sX],gU),uX=(e,t,n,r)=>{var i=t.reduce((e,t)=>{if(t.stackId==null)return e;var n=e[t.stackId];return n??=[],n.push(t),e[t.stackId]=n,e},{});return Object.fromEntries(Object.entries(i).map(t=>{var i=yY(t,2),a=i[0],o=i[1],s=r?[...o].reverse():o;return[a,{stackedData:Voe(e,s.map(hU),n),graphicalItems:s}]}))},dX=$([lX,UY,zH,BH],uX),fX=(e,t,n,r)=>{var i=t.dataStartIndex,a=t.dataEndIndex;if(r==null&&n!==`zAxis`)return Goe(e,i,a)},pX=$([PY],e=>e.allowDataOverflow),mX=e=>{if(e==null||!(`domain`in e))return TY;if(e.domain!=null)return e.domain;if(`ticks`in e&&e.ticks!=null){if(e.type===`number`){var t=nX(e.ticks);return[Math.min(...t),Math.max(...t)]}if(e.type===`category`)return e.ticks.map(String)}return e?.domain??TY},hX=$([PY],mX),gX=$([hX,pX],bH),_X=$([dX,oH,pU,gX],fX,{memoizeOptions:{resultEqualityCheck:vU}}),vX=e=>e.errorBars,yX=(e,t,n)=>e.flatMap(e=>t[e.id]).filter(Boolean).filter(e=>aX(n,e)),bX=function(){var e=[...arguments].filter(Boolean);if(e.length!==0){var t=e.flat();return[Math.min(...t),Math.max(...t)]}},xX=function(e,t,n,r,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:[],o,s;if(n.length>0&&n.forEach(e=>{var n=e.data==null?a:[...e.data],c=r[e.id]?.filter(e=>aX(i,e));n.forEach(n=>{var r=uR(n,t.dataKey??e.dataKey),i=oX(n,r,c);if(i.length>=2){var a=Math.min(...i),l=Math.max(...i);(o==null||a<o)&&(o=a),(s==null||l>s)&&(s=l)}var u=tX(r);u!=null&&(o=o==null?u[0]:Math.min(o,u[0]),s=s==null?u[1]:Math.max(s,u[1]))})}),t?.dataKey!=null&&n.length===0&&e.forEach(e=>{var n=tX(uR(e,t.dataKey));n!=null&&(o=o==null?n[0]:Math.min(o,n[0]),s=s==null?n[1]:Math.max(s,n[1]))}),oR(o)&&oR(s))return[o,s]},SX=$([XY,PY,GY,vX,pU,uH],xX,{memoizeOptions:{resultEqualityCheck:vU}});function CX(e){var t=e.value;if(HN(t)||t instanceof Date)return t}var wX=(e,t,n)=>{var r=e.map(CX).filter(e=>e!=null);return n&&(t.dataKey==null||t.allowDuplicatedCategory&&KN(r))?aH(0,e.length):t.allowDuplicatedCategory?r:Array.from(new Set(r))},TX=e=>e.referenceElements.dots,EX=(e,t,n)=>e.filter(e=>e.ifOverflow===`extendDomain`).filter(e=>t===`xAxis`?e.xAxisId===n:e.yAxisId===n),DX=$([TX,pU,mU],EX),OX=e=>e.referenceElements.areas,kX=$([OX,pU,mU],EX),AX=e=>e.referenceElements.lines,jX=$([AX,pU,mU],EX),MX=(e,t)=>{if(e!=null){var n=nX(e.map(e=>t===`xAxis`?e.x:e.y));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},NX=$(DX,pU,MX),PX=(e,t)=>{if(e!=null){var n=nX(e.flatMap(e=>[t===`xAxis`?e.x1:e.y1,t===`xAxis`?e.x2:e.y2]));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},FX=$([kX,pU],PX);function IX(e){if(e.x!=null)return nX([e.x]);var t=e.segment?.map(e=>e.x);return t==null||t.length===0?[]:nX(t)}function LX(e){if(e.y!=null)return nX([e.y]);var t=e.segment?.map(e=>e.y);return t==null||t.length===0?[]:nX(t)}var RX=(e,t)=>{if(e!=null){var n=e.flatMap(e=>t===`xAxis`?IX(e):LX(e));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},zX=$(NX,$([jX,pU],RX),FX,(e,t,n)=>bX(e,n,t)),BX=(e,t,n,r,i,a,o,s,c)=>{if(n!=null)return n;var l=o===`vertical`&&s===`xAxis`||o===`horizontal`&&s===`yAxis`?bX(r,a,i):bX(a,i),u=xH(t,l,e.allowDataOverflow);return u==null&&e.allowDataOverflow&&l==null&&c!=null?c:u},VX=$([PY,hX,gX,_X,SX,zX,KR,pU,$([PY],e=>{if(e!=null&&e.type===`number`&&`ticks`in e&&e.ticks!=null){var t=nX(e.ticks);if(t.length!==0)return[Math.min(...t),Math.max(...t)]}},{memoizeOptions:{resultEqualityCheck:vU}})],BX,{memoizeOptions:{resultEqualityCheck:vU}}),HX=[0,1],UX=(e,t,n,r,i,a,o)=>{if(e!=null&&n!=null&&n.length!==0||o!==void 0){var s=e.dataKey,c=e.type,l=dR(t,a);return l&&s==null?aH(0,n?.length??0):c===`category`?wX(r,e,l):i===`expand`&&!l?HX:o}},WX=$([PY,KR,XY,$Y,zH,pU,VX],UX),GX=$([PY,LY,VH],uY),KX=(e,t,n)=>{var r=t.niceTicks;if(r!==`none`){var i=mX(t),a=Array.isArray(i)&&(i[0]===`auto`||i[1]===`auto`);if((r===`snap125`||r===`adaptive`)&&t!=null&&t.tickCount&&vH(e)){if(a)return IH(e,t.tickCount,t.allowDecimals,r);if(t.type===`number`)return LH(e,t.tickCount,t.allowDecimals,r)}if(r===`auto`&&n===`linear`&&t!=null&&t.tickCount){if(a&&vH(e))return IH(e,t.tickCount,t.allowDecimals,`adaptive`);if(t.type===`number`&&vH(e))return LH(e,t.tickCount,t.allowDecimals,`adaptive`)}}},qX=$([WX,IY,GX],KX),JX=(e,t,n,r)=>{if(r!==`angleAxis`&&e?.type===`number`&&vH(t)&&Array.isArray(n)&&n.length>0){var i=t[0],a=n[0]??0,o=t[1],s=n[n.length-1]??0;return[Math.min(i,a),Math.max(o,s)]}return t},YX=$([PY,WX,qX,pU],JX),XX=$($($Y,PY,(e,t)=>{if(t&&t.type===`number`){var n=1/0,r=Array.from(nX(e.map(e=>e.value))).sort((e,t)=>e-t),i=r[0],a=r[r.length-1];if(i==null||a==null)return 1/0;var o=a-i;if(o===0)return 1/0;for(var s=0;s<r.length-1;s++){var c=r[s],l=r[s+1];if(c!=null&&l!=null){var u=l-c;n=Math.min(n,u)}}return n/o}}),KR,RH,DR,(e,t,n,r,i)=>i,(e,t,n,r,i)=>{if(!oR(e))return 0;var a=t===`vertical`?r.height:r.width;if(i===`gap`)return e*a/2;if(i===`no-gap`){var o=GN(n,e*a),s=e*a/2;return s-o-(s-o)/a*o}return 0}),ZX=(e,t,n)=>{var r=OY(e,t);return r==null||typeof r.padding!=`string`?0:XX(e,`xAxis`,t,n,r.padding)},QX=(e,t,n)=>{var r=jY(e,t);return r==null||typeof r.padding!=`string`?0:XX(e,`yAxis`,t,n,r.padding)},$X=$(OY,ZX,(e,t)=>{if(e==null)return{left:0,right:0};var n=e.padding;return typeof n==`string`?{left:t,right:t}:{left:(n.left??0)+t,right:(n.right??0)+t}}),eZ=$(jY,QX,(e,t)=>{if(e==null)return{top:0,bottom:0};var n=e.padding;return typeof n==`string`?{top:t,bottom:t}:{top:(n.top??0)+t,bottom:(n.bottom??0)+t}}),tZ=$([DR,$X,jR,AR,(e,t,n)=>n],(e,t,n,r,i)=>{var a=r.padding;return i?[a.left,n.width-a.right]:[e.left+t.left,e.left+e.width-t.right]}),nZ=$([DR,KR,eZ,jR,AR,(e,t,n)=>n],(e,t,n,r,i,a)=>{var o=i.padding;return a?[r.height-o.bottom,o.top]:t===`horizontal`?[e.top+e.height-n.bottom,e.top+n.top]:[e.top+n.top,e.top+e.height-n.bottom]}),rZ=(e,t,n,r)=>{switch(t){case`xAxis`:return tZ(e,n,r);case`yAxis`:return nZ(e,n,r);case`zAxis`:return NY(e,n)?.range;case`angleAxis`:return uU(e);case`radiusAxis`:return dU(e,n);default:return}},iZ=$([PY,rZ],YH),aZ=$([PY,GX,$([GX,YX],wU),iZ],sY),oZ=(e,t,n,r)=>{if(n!=null&&n.dataKey!=null){var i=n.type,a=n.scale;if(dR(e,r)&&(i===`number`||a!==`auto`))return t.map(e=>e.value)}},sZ=$([KR,$Y,IY,pU],oZ),cZ=$([aZ],CU);$([aZ],pY),$([aZ,iX],fY),$([HY,vX,pU],yX);function lZ(e,t){return e.id<t.id?-1:+(e.id>t.id)}var uZ=(e,t)=>t,dZ=(e,t,n)=>n,fZ=$(CR,uZ,dZ,(e,t,n)=>e.filter(e=>e.orientation===t).filter(e=>e.mirror===n).sort(lZ)),pZ=$(wR,uZ,dZ,(e,t,n)=>e.filter(e=>e.orientation===t).filter(e=>e.mirror===n).sort(lZ)),mZ=(e,t)=>{var n=typeof t.height==`number`?t.height:30;return{width:e.width,height:n}},hZ=(e,t)=>({width:typeof t.width==`number`?t.width:60,height:e.height}),gZ=$(DR,OY,mZ),_Z=(e,t,n)=>{switch(t){case`top`:return e.top;case`bottom`:return n-e.bottom;default:return 0}},vZ=(e,t,n)=>{switch(t){case`left`:return e.left;case`right`:return n-e.right;default:return 0}},yZ=$(xR,DR,fZ,uZ,dZ,(e,t,n,r,i)=>{var a={},o;return n.forEach(n=>{var s=mZ(t,n);o??=_Z(t,r,e);var c=r===`top`&&!i||r===`bottom`&&i;a[n.id]=o-Number(c)*s.height,o+=(c?-1:1)*s.height}),a}),bZ=$(bR,DR,pZ,uZ,dZ,(e,t,n,r,i)=>{var a={},o;return n.forEach(n=>{var s=hZ(t,n);o??=vZ(t,r,e);var c=r===`left`&&!i||r===`right`&&i;a[n.id]=o-Number(c)*s.width,o+=(c?-1:1)*s.width}),a}),xZ=$([DR,OY,(e,t)=>{var n=OY(e,t);if(n!=null)return yZ(e,n.orientation,n.mirror)},(e,t)=>t],(e,t,n,r)=>{if(t!=null){var i=n?.[r];return i==null?{x:e.left,y:0}:{x:e.left,y:i}}}),SZ=$([DR,jY,(e,t)=>{var n=jY(e,t);if(n!=null)return bZ(e,n.orientation,n.mirror)},(e,t)=>t],(e,t,n,r)=>{if(t!=null){var i=n?.[r];return i==null?{x:0,y:e.top}:{x:i,y:e.top}}}),CZ=$(DR,jY,(e,t)=>({width:typeof t.width==`number`?t.width:60,height:e.height})),wZ=(e,t,n,r)=>{if(n!=null){var i=n.allowDuplicatedCategory,a=n.type,o=n.dataKey,s=dR(e,r),c=t.map(e=>e.value),l=c.filter(e=>e!=null);if(o&&s&&a===`category`&&i&&KN(l))return c}},TZ=$([KR,$Y,PY,pU],wZ),EZ=$([KR,FY,GX,cZ,TZ,sZ,rZ,qX,pU],(e,t,n,r,i,a,o,s,c)=>{if(t!=null){var l=dR(e,c);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:c,categoricalDomain:a,duplicateDomain:i,isCategorical:l,niceTicks:s,range:o,realScaleType:n,scale:r}}}),DZ=$([KR,IY,GX,cZ,qX,rZ,TZ,sZ,pU],(e,t,n,r,i,a,o,s,c)=>{if(t!=null&&r!=null){var l=dR(e,c),u=t.type,d=t.ticks,f=t.tickCount,p=n===`scaleBand`&&typeof r.bandwidth==`function`?r.bandwidth()/2:2,m=u===`category`&&r.bandwidth?r.bandwidth()/p:0;m=c===`angleAxis`&&a!=null&&a.length>=2?zN(a[0]-a[1])*2*m:m;var h=d||i;return h?h.map((e,t)=>{var n=o?o.indexOf(e):e,i=r.map(n);return oR(i)?{index:t,coordinate:i+m,value:e,offset:m}:null}).filter(ZN):l&&s?s.map((e,t)=>{var n=r.map(e);return oR(n)?{coordinate:n+m,value:e,index:t,offset:m}:null}).filter(ZN):r.ticks?r.ticks(f).map((e,t)=>{var n=r.map(e);return oR(n)?{coordinate:n+m,value:e,index:t,offset:m}:null}).filter(ZN):r.domain().map((e,t)=>{var n=r.map(e);return oR(n)?{coordinate:n+m,value:o?o[e]:e,index:t,offset:m}:null}).filter(ZN)}}),OZ=$([KR,IY,cZ,rZ,TZ,sZ,pU],(e,t,n,r,i,a,o)=>{if(t!=null&&n!=null&&r!=null&&r[0]!==r[1]){var s=dR(e,o),c=t.tickCount,l=0;return l=o===`angleAxis`&&r?.length>=2?zN(r[0]-r[1])*2*l:l,s&&a?a.map((e,t)=>{var r=n.map(e);return oR(r)?{coordinate:r+l,value:e,index:t,offset:l}:null}).filter(ZN):n.ticks?n.ticks(c).map((e,t)=>{var r=n.map(e);return oR(r)?{coordinate:r+l,value:e,index:t,offset:l}:null}).filter(ZN):n.domain().map((e,t)=>{var r=n.map(e);return oR(r)?{coordinate:r+l,value:i?i[e]:e,index:t,offset:l}:null}).filter(ZN)}}),kZ=$(PY,cZ,(e,t)=>{if(e!=null&&t!=null)return hY(hY({},e),{},{scale:t})});$((e,t,n)=>NY(e,n),$([$([PY,GX,WX,iZ],sY)],CU),(e,t)=>{if(e!=null&&t!=null)return hY(hY({},e),{},{scale:t})});var AZ=$([KR,CR,wR],(e,t,n)=>{switch(e){case`horizontal`:return t.some(e=>e.reversed)?`right-to-left`:`left-to-right`;case`vertical`:return n.some(e=>e.reversed)?`bottom-to-top`:`top-to-bottom`;case`centric`:case`radial`:return`left-to-right`;default:return}});$([(e,t,n)=>e.renderedTicks[t]?.[n]],e=>{if(e&&e.length!==0)return t=>{var n=1/0,r=e[0];for(var i of e){var a=Math.abs(i.coordinate-t);a<n&&(n=a,r=i)}return r?.value}});var jZ=e=>e.options.defaultTooltipEventType,MZ=e=>e.options.validateTooltipEventTypes;function NZ(e,t,n){if(e==null)return t;var r=e?`axis`:`item`;return n==null?t:n.includes(r)?r:t}function PZ(e,t){return NZ(t,jZ(e),MZ(e))}function FZ(e){return HF(t=>PZ(t,e))}var IZ=(e,t)=>{var n,r=Number(t);if(!(BN(r)||t==null))return r>=0?e==null||(n=e[r])==null?void 0:n.value:void 0},LZ=e=>e.tooltip.settings,RZ={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},zZ=AL({name:`tooltip`,initialState:{itemInteraction:{click:RZ,hover:RZ},axisInteraction:{click:RZ,hover:RZ},keyboardInteraction:RZ,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:`hover`,axisId:0,active:!1,defaultIndex:void 0}},reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(yL(t.payload))},prepare:EL()},replaceTooltipEntrySettings:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next,a=gL(e).tooltipItemPayloads.indexOf(yL(r));a>-1&&(e.tooltipItemPayloads[a]=yL(i))},prepare:EL()},removeTooltipEntrySettings:{reducer(e,t){var n=gL(e).tooltipItemPayloads.indexOf(yL(t.payload));n>-1&&e.tooltipItemPayloads.splice(n,1)},prepare:EL()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),BZ=zZ.actions,VZ=BZ.addTooltipEntrySettings,HZ=BZ.replaceTooltipEntrySettings,UZ=BZ.removeTooltipEntrySettings,WZ=BZ.setTooltipSettingsState,GZ=BZ.setActiveMouseOverItemIndex;BZ.mouseLeaveItem;var KZ=BZ.mouseLeaveChart;BZ.setActiveClickItemIndex;var qZ=BZ.setMouseOverAxisIndex,JZ=BZ.setMouseClickAxisIndex,YZ=BZ.setSyncInteraction,XZ=BZ.setKeyboardInteraction,ZZ=zZ.reducer;function QZ(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 $Z(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?QZ(Object(n),!0).forEach(function(t){eQ(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):QZ(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function eQ(e,t,n){return(t=tQ(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function tQ(e){var t=nQ(e,`string`);return typeof t==`symbol`?t:t+``}function nQ(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)}function rQ(e,t,n){return t===`axis`?n===`click`?e.axisInteraction.click:e.axisInteraction.hover:n===`click`?e.itemInteraction.click:e.itemInteraction.hover}function iQ(e){return e.index!=null}var aQ=(e,t,n,r)=>{if(t==null)return RZ;var i=rQ(e,t,n);if(i==null)return RZ;if(i.active)return i;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var a=e.settings.active===!0;if(iQ(i)){if(a)return $Z($Z({},i),{},{active:!0})}else if(r!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:r,graphicalItemId:void 0};return $Z($Z({},RZ),{},{coordinate:i.coordinate})};function oQ(e){if(typeof e==`number`)return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var n=Number(e);return Number.isFinite(n)?n:void 0}function sQ(e,t){var n=oQ(e),r=t[0],i=t[1];return n!==void 0&&n>=Math.min(r,i)&&n<=Math.max(r,i)}function cQ(e,t,n){if(n==null||t==null)return!0;var r=uR(e,t);return r==null||!vH(n)||sQ(r,n)}var lQ=(e,t,n,r)=>{var i=e?.index;if(i==null)return null;var a=Number(i);if(!oR(a))return i;var o=0,s=1/0;t.length>0&&(s=t.length-1);var c=Math.max(o,Math.min(a,s)),l=t[c];return l==null||cQ(l,n,r)?String(c):null},uQ=(e,t,n,r,i,a,o)=>{if(a!=null){var s=o[0]?.getPosition(a);if(s!=null)return s;var c=i?.[Number(a)];if(c)switch(n){case`horizontal`:return{x:c.coordinate,y:(r.top+t)/2};default:return{x:(r.left+e)/2,y:c.coordinate}}}},dQ=(e,t,n,r)=>{if(t===`axis`)return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var i=n===`hover`?e.itemInteraction.hover.graphicalItemId:e.itemInteraction.click.graphicalItemId;if(e.syncInteraction.active&&i==null)return e.tooltipItemPayloads;if(i==null&&(r!=null||e.keyboardInteraction.active)){var a=e.tooltipItemPayloads[0];return a==null?[]:[a]}return e.tooltipItemPayloads.filter(e=>e.settings?.graphicalItemId===i)},fQ=e=>e.options.tooltipPayloadSearcher,pQ=e=>e.tooltip;function mQ(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 hQ(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?mQ(Object(n),!0).forEach(function(t){gQ(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mQ(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function gQ(e,t,n){return(t=_Q(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _Q(e){var t=vQ(e,`string`);return typeof t==`symbol`?t:t+``}function vQ(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)}function yQ(e){if(typeof e==`string`||typeof e==`number`)return e}function bQ(e){if(typeof e==`string`||typeof e==`number`||typeof e==`boolean`)return e}function xQ(e){if(typeof e==`string`||typeof e==`number`)return e;if(typeof e==`function`)return t=>e(t)}function SQ(e){if(typeof e==`string`)return e}function CQ(e){if(typeof e==`object`&&e)return{name:`name`in e?yQ(e.name):void 0,unit:`unit`in e?bQ(e.unit):void 0,dataKey:`dataKey`in e?xQ(e.dataKey):void 0,payload:`payload`in e?e.payload:void 0,color:`color`in e?SQ(e.color):void 0,fill:`fill`in e?SQ(e.fill):void 0}}function wQ(e,t){return e??t}var TQ=(e,t,n,r,i,a,o)=>{if(t!=null&&a!=null){var s=n.chartData,c=n.computedData,l=n.dataStartIndex,u=n.dataEndIndex;return e.reduce((e,n)=>{var d=n.dataDefinedOnItem,f=n.settings,p=wQ(d,s),m=Array.isArray(p)?aR(p,l,u):p,h=f?.dataKey??r,g=f?.nameKey,_;return r&&Array.isArray(m)&&!Array.isArray(m[0])&&o===`axis`?(_=JN(m,r,i),_??=a(m,t,c,g)):_=a(m,t,c,g),Array.isArray(_)?_.forEach(t=>{var n=CQ(t),r=n?.name,i=n?.dataKey,a=n?.payload,o=hQ(hQ({},f),{},{name:r,unit:n?.unit,color:n?.color??f?.color,fill:n?.fill??f?.fill});e.push(vR({tooltipEntrySettings:o,dataKey:i,payload:a,value:uR(a,i),name:r==null?void 0:String(r)}))}):e.push(vR({tooltipEntrySettings:f,dataKey:h,payload:_,value:uR(_,h),name:uR(_,g)??f?.name})),e},[])}},EQ=$([sX,LY,VH],uY),DQ=$([$([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),sX,$([xU,SU],RY)],VY,{memoizeOptions:{resultEqualityCheck:yU}}),OQ=$([DQ],e=>e.filter(_U)),kQ=$([DQ],KY,{memoizeOptions:{resultEqualityCheck:yU}}),AQ=$([DQ],e=>e.some(e=>!e.data)),jQ=$([kQ,oH],YY),MQ=$([OQ,oH,sX],gU),NQ=$([jQ,sX,DQ,oH,AQ,kQ],QY),PQ=$([sX],mX),FQ=$([PQ,$([sX],e=>e.allowDataOverflow)],bH),IQ=$([$([MQ,$([DQ],e=>e.filter(_U)),zH,BH],uX),oH,xU,FQ],fX),LQ=$([jQ,sX,$([DQ],WY),vX,xU,dH],xX,{memoizeOptions:{resultEqualityCheck:vU}}),RQ=$([$([TX,xU,SU],EX),xU],MX),zQ=$([$([OX,xU,SU],EX),xU],PX),BQ=$([sX,KR,jQ,NQ,zH,xU,$([sX,PQ,FQ,IQ,LQ,$([RQ,$([$([AX,xU,SU],EX),xU],RX),zQ],bX),KR,xU],BX)],UX),VQ=$([sX,BQ,$([BQ,sX,EQ],KX),xU],JX),HQ=e=>rZ(e,xU(e),SU(e),!1),UQ=$([sX,HQ],YH),WQ=$([$([sX,EQ,VQ,UQ],sY)],CU),GQ=$([KR,sX,EQ,WQ,HQ,$([KR,NQ,sX,xU],wZ),$([KR,NQ,sX,xU],oZ),xU],(e,t,n,r,i,a,o,s)=>{if(t){var c=t.type,l=dR(e,s);if(r){var u=n===`scaleBand`&&r.bandwidth?r.bandwidth()/2:2,d=c===`category`&&r.bandwidth?r.bandwidth()/u:0;return d=s===`angleAxis`&&i!=null&&i?.length>=2?zN(i[0]-i[1])*2*d:d,l&&o?o.map((e,t)=>{var n=r.map(e);return oR(n)?{coordinate:n+d,value:e,index:t,offset:d}:null}).filter(ZN):r.domain().map((e,t)=>{var n=r.map(e);return oR(n)?{coordinate:n+d,value:a?a[e]:e,index:t,offset:d}:null}).filter(ZN)}}}),KQ=$([jZ,MZ,LZ],(e,t,n)=>NZ(n.shared,e,t)),qQ=e=>e.tooltip.settings.trigger,JQ=e=>e.tooltip.settings.defaultIndex,YQ=$([pQ,KQ,qQ,JQ],aQ),XQ=$([YQ,jQ,cX,BQ],lQ),ZQ=$([GQ,XQ],IZ),QQ=$([YQ],e=>{if(e)return e.dataKey}),$Q=$([YQ],e=>{if(e)return e.graphicalItemId}),e$=$([pQ,KQ,qQ,JQ],dQ),t$=$([YQ,$([bR,xR,KR,DR,GQ,JQ,e$],uQ)],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),n$=$([YQ],e=>e?.active??!1),r$=$([$([e$,XQ,oH,cX,ZQ,fQ,KQ],TQ)],e=>{if(e!=null){var t=e.map(e=>e.payload).filter(e=>e!=null);return Array.from(new Set(t))}});function i$(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 a$(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?i$(Object(n),!0).forEach(function(t){o$(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i$(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function o$(e,t,n){return(t=s$(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s$(e){var t=c$(e,`string`);return typeof t==`symbol`?t:t+``}function c$(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 l$=()=>HF(sX),u$=()=>{var e=l$(),t=HF(GQ),n=HF(WQ);return _R(!e||!n?void 0:a$(a$({},e),{},{scale:n}),t)};function d$(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 f$(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?d$(Object(n),!0).forEach(function(t){p$(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d$(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function p$(e,t,n){return(t=m$(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m$(e){var t=h$(e,`string`);return typeof t==`symbol`?t:t+``}function h$(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 g$=(e,t,n,r)=>{var i=t.find(e=>e&&e.index===n);if(i){if(e===`horizontal`)return{x:i.coordinate,y:r.relativeY};if(e===`vertical`)return{x:r.relativeX,y:i.coordinate}}return{x:0,y:0}},_$=(e,t,n,r)=>{var i=t.find(e=>e&&e.index===n);if(i){if(e===`centric`){var a=i.coordinate,o=r.radius;return f$(f$(f$({},r),NV(r.cx,r.cy,o,a)),{},{angle:a,radius:o})}var s=i.coordinate,c=r.angle;return f$(f$(f$({},r),NV(r.cx,r.cy,s,c)),{},{angle:c,radius:s})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function v$(e,t){var n=e.relativeX,r=e.relativeY;return n>=t.left&&n<=t.left+t.width&&r>=t.top&&r<=t.top+t.height}var y$=(e,t,n,r,i)=>{var a=t?.length??0;if(a<=1||e==null)return 0;if(r===`angleAxis`&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var o=i[1]-i[0],s=(t,n,r)=>[e,e+o,e-o].some(e=>(r?e>=t:e>t)&&e<=n),c=0;c<a;c++){var l=c>0?n[c-1]?.coordinate:n[a-1]?.coordinate,u=n[c]?.coordinate,d=c>=a-1?n[0]?.coordinate:n[c+1]?.coordinate,f=void 0;if(l!=null&&u!=null&&d!=null){if(zN(u-l)!==zN(d-u)){var p=[];if(zN(d-u)===zN(i[1]-i[0])){f=d;var m=u+i[1]-i[0];p[0]=Math.min(m,(m+l)/2),p[1]=Math.max(m,(m+l)/2)}else{f=l;var h=d+i[1]-i[0];p[0]=Math.min(u,(h+u)/2),p[1]=Math.max(u,(h+u)/2)}var g=[Math.min(u,(f+u)/2),Math.max(u,(f+u)/2)];if(s(g[0],g[1],!1)||s(p[0],p[1],!0))return n[c]?.index}else{var _=Math.min(l,d),v=Math.max(l,d);if(s((_+u)/2,(v+u)/2,!1))return n[c]?.index}}}else if(t)for(var y=0;y<a;y++){var b=t[y];if(b!=null){var x=t[y+1],S=t[y-1];if(y===0&&x!=null&&e<=(b.coordinate+x.coordinate)/2||y===a-1&&S!=null&&e>(b.coordinate+S.coordinate)/2||y>0&&y<a-1&&S!=null&&x!=null&&e>(b.coordinate+S.coordinate)/2&&e<=(b.coordinate+x.coordinate)/2)return b.index}}return-1},b$=()=>HF(VH),x$=(e,t)=>t,S$=(e,t,n)=>n,C$=(e,t,n,r)=>r,w$=$(GQ,e=>XF(e,e=>e.coordinate)),T$=$([pQ,x$,S$,C$],aQ),E$=$([T$,jQ,cX,BQ],lQ),D$=(e,t,n)=>{if(t!=null){var r=pQ(e);return t===`axis`?n===`hover`?r.axisInteraction.hover.dataKey:r.axisInteraction.click.dataKey:n===`hover`?r.itemInteraction.hover.dataKey:r.itemInteraction.click.dataKey}},O$=$([pQ,x$,S$,C$],dQ),k$=$([bR,xR,KR,DR,GQ,C$,O$],uQ),A$=$([T$,k$],(e,t)=>e.coordinate??t),j$=$([GQ,E$],IZ),M$=$([O$,E$,oH,cX,j$,fQ,x$],TQ),N$=$([T$,E$],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),P$=(e,t,n,r,i,a,o)=>{if(e&&n&&r&&i&&v$(e,o)){var s=y$(Koe(e,t),a,i,n,r),c=g$(t,i,s,e);return{activeIndex:String(s),activeCoordinate:c}}},F$=(e,t,n,r,i,a,o)=>{if(e&&r&&i&&a&&n){var s=zV(e,n);if(s){var c=y$(qoe(s,t),o,a,r,i),l=_$(t,a,c,s);return{activeIndex:String(c),activeCoordinate:l}}}},I$=(e,t,n,r,i,a,o,s)=>{if(e&&t&&r&&i&&a)return t===`horizontal`||t===`vertical`?P$(e,t,r,i,a,o,s):F$(e,t,n,r,i,a,o)},L$=$(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,n)=>n,(e,t,n)=>{if(t!=null){var r=e[t];if(r!=null)return n?r.panoramaElement:r.element}}),R$=$(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(e=>parseInt(e,10)).concat(Object.values(KH));return Array.from(new Set(t)).sort((e,t)=>e-t)},{memoizeOptions:{resultEqualityCheck:bU}});function z$(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 B$(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?z$(Object(n),!0).forEach(function(t){V$(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):z$(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function V$(e,t,n){return(t=H$(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function H$(e){var t=U$(e,`string`);return typeof t==`symbol`?t:t+``}function U$(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 W$={zIndexMap:Object.values(KH).reduce((e,t)=>B$(B$({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),{})},G$=new Set(Object.values(KH));function K$(e){return G$.has(e)}var q$=AL({name:`zIndex`,initialState:W$,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var n=t.payload.zIndex;e.zIndexMap[n]?e.zIndexMap[n].consumers+=1:e.zIndexMap[n]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:EL()},unregisterZIndexPortal:{reducer:(e,t)=>{var n=t.payload.zIndex;e.zIndexMap[n]&&(--e.zIndexMap[n].consumers,e.zIndexMap[n].consumers<=0&&!K$(n)&&delete e.zIndexMap[n])},prepare:EL()},registerZIndexPortalElement:{reducer:(e,t)=>{var n=t.payload,r=n.zIndex,i=n.element,a=n.isPanorama;e.zIndexMap[r]?a?e.zIndexMap[r].panoramaElement=yL(i):e.zIndexMap[r].element=yL(i):e.zIndexMap[r]={consumers:0,element:a?void 0:yL(i),panoramaElement:a?yL(i):void 0}},prepare:EL()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var n=t.payload.zIndex;e.zIndexMap[n]&&(t.payload.isPanorama?e.zIndexMap[n].panoramaElement=void 0:e.zIndexMap[n].element=void 0)},prepare:EL()}}}),J$=q$.actions,Y$=J$.registerZIndexPortal,X$=J$.unregisterZIndexPortal,Z$=J$.registerZIndexPortalElement,Q$=J$.unregisterZIndexPortalElement,$$=q$.reducer;function e1(e){var t=e.zIndex,n=e.children,r=Ase()&&t!==void 0&&t!==0,i=kR(),a=(0,y.useRef)(void 0),o=(0,y.useRef)(new Set),s=BF(),c=HF(e=>L$(e,t,i));if((0,y.useLayoutEffect)(()=>{if(!r){var e=o.current;e.forEach(e=>{s(X$({zIndex:e}))}),e.clear(),a.current=void 0}else if(o.current.has(t)||(s(Y$({zIndex:t})),o.current.add(t)),c){a.current=c;var n=o.current;n.forEach(e=>{e!==t&&(s(X$({zIndex:e})),n.delete(e))})}},[s,t,r,c]),(0,y.useLayoutEffect)(()=>{var e=o.current;return()=>{e.forEach(e=>{s(X$({zIndex:e}))}),e.clear()}},[s]),!r)return n;var l=c??a.current;return l?(0,br.createPortal)(n,l):null}function t1(){return t1=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},t1.apply(null,arguments)}function n1(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 r1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?n1(Object(n),!0).forEach(function(t){i1(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):n1(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function i1(e,t,n){return(t=a1(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a1(e){var t=o1(e,`string`);return typeof t==`symbol`?t:t+``}function o1(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)}function s1(e){var t=e.cursor,n=e.cursorComp,r=e.cursorProps;return(0,y.isValidElement)(t)?(0,y.cloneElement)(t,r):(0,y.createElement)(n,r)}function c1(e){var t=e.coordinate,n=e.payload,r=e.index,i=e.offset,a=e.tooltipAxisBandSize,o=e.layout,s=e.cursor,c=e.tooltipEventType,l=e.chartName,u=t,d=n,f=r;if(!s||!u||l!==`ScatterChart`&&c!==`axis`)return null;var p,m,h;if(l===`ScatterChart`)p=u,m=fB,h=KH.cursorLine;else if(l===`BarChart`)p=pB(o,u,i,a),m=TV,h=KH.cursorRectangle;else if(o===`radial`&&XP(u)){var g=BV(u),_=g.cx,v=g.cy,b=g.radius;p={cx:_,cy:v,startAngle:g.startAngle,endAngle:g.endAngle,innerRadius:b,outerRadius:b},m=tH,h=KH.cursorLine}else p={points:nH(o,u,i)},m=tB,h=KH.cursorLine;var x=typeof s==`object`&&`className`in s?s.className:void 0,S=r1(r1(r1(r1({stroke:`#ccc`,pointerEvents:`none`},i),p),pN(s)),{},{payload:d,payloadIndex:f,className:Cn(`recharts-tooltip-cursor`,x)});return y.createElement(e1,{zIndex:e.zIndex??h},y.createElement(s1,{cursor:s,cursorComp:m,cursorProps:S}))}function l1(e){var t=u$(),n=UR(),r=qR(),i=b$();return t==null||n==null||r==null||i==null?null:y.createElement(c1,t1({},e,{offset:n,layout:r,tooltipAxisBandSize:t,chartName:i}))}var u1=(0,y.createContext)(null),d1=()=>(0,y.useContext)(u1),f1=u(s(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i<a;i++)o[i]=n[i].fn;return o},c.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},c.prototype.emit=function(e,t,n,i,a,o){var s=r?r+e:e;if(!this._events[s])return!1;var c=this._events[s],l=arguments.length,u,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,a),!0;case 6:return c.fn.call(c.context,t,n,i,a,o),!0}for(d=1,u=Array(l-1);d<l;d++)u[d-1]=arguments[d];c.fn.apply(c.context,u)}else{var f=c.length,p;for(d=0;d<f;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),l){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,t);break;case 3:c[d].fn.call(c[d].context,t,n);break;case 4:c[d].fn.call(c[d].context,t,n,i);break;default:if(!u)for(p=1,u=Array(l-1);p<l;p++)u[p-1]=arguments[p];c[d].fn.apply(c[d].context,u)}}return!0},c.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,n,i){var a=r?r+e:e;if(!this._events[a])return this;if(!t)return s(this,a),this;var o=this._events[a];if(o.fn)o.fn!==t||i&&!o.once||n&&o.context!==n||s(this,a);else{for(var c=0,l=[],u=o.length;c<u;c++)(o[c].fn!==t||i&&!o[c].once||n&&o[c].context!==n)&&l.push(o[c]);l.length?this._events[a]=l.length===1?l[0]:l:s(this,a)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t!==void 0&&(t.exports=c)}))(),1).default,p1=new f1,m1=`recharts.syncEvent.tooltip`,h1=`recharts.syncEvent.brush`,g1=(e,t)=>{if(t&&Array.isArray(e)){var n=Number.parseInt(t,10);if(!BN(n))return e[n]}},_1=AL({name:`options`,initialState:{chartName:``,tooltipPayloadSearcher:()=>void 0,eventEmitter:void 0,defaultTooltipEventType:`axis`},reducers:{createEventEmitter:e=>{e.eventEmitter??=Symbol(`rechartsEventEmitter`)}}}),v1=_1.reducer,y1=_1.actions.createEventEmitter;function b1(e){return e.tooltip.syncInteraction}var x1=AL({name:`chartData`,initialState:{chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},reducers:{setChartData(e,t){e.chartData=yL(t.payload),t.payload==null?(e.dataStartIndex=0,e.dataEndIndex=0):t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var n=t.payload,r=n.startIndex,i=n.endIndex;r!=null&&(e.dataStartIndex=r),i!=null&&(e.dataEndIndex=i)}}}),S1=x1.actions,C1=S1.setChartData,w1=S1.setDataStartEndIndexes;S1.setComputedData;var T1=x1.reducer,E1=[`x`,`y`];function D1(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 O1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?D1(Object(n),!0).forEach(function(t){k1(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):D1(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function k1(e,t,n){return(t=A1(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function A1(e){var t=j1(e,`string`);return typeof t==`symbol`?t:t+``}function j1(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)}function M1(e,t){if(e==null)return{};var n,r,i=N1(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function N1(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function P1(){var e=HF(HH),t=HF(WH),n=BF(),r=HF(UH),i=HF(GQ),a=qR(),o=HR(),s=HF(e=>e.rootProps.className);(0,y.useEffect)(()=>{if(e==null)return QN;var s=(s,c,l)=>{if(t!==l&&e===s){if(c.payload.active===!1)n(YZ({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));else if(r===`index`){var u;if(o&&c!=null&&(u=c.payload)!=null&&u.coordinate&&c.payload.sourceViewBox){var d=c.payload.coordinate,f=d.x,p=d.y,m=M1(d,E1),h=c.payload.sourceViewBox,g=h.x,_=h.y,v=h.width,y=h.height,b=O1(O1({},m),{},{x:o.x+(v?(f-g)/v:0)*o.width,y:o.y+(y?(p-_)/y:0)*o.height});n(O1(O1({},c),{},{payload:O1(O1({},c.payload),{},{coordinate:b})}))}else n(c)}else if(i!=null){var x;typeof r==`function`?x=i[r(i,{activeTooltipIndex:c.payload.index==null?void 0:Number(c.payload.index),isTooltipActive:c.payload.active,activeIndex:c.payload.index==null?void 0:Number(c.payload.index),activeLabel:c.payload.label,activeDataKey:c.payload.dataKey,activeCoordinate:c.payload.coordinate})]:r===`value`&&(x=i.find(e=>String(e.value)===c.payload.label));var S=c.payload.coordinate;if(S==null||o==null)n(YZ({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));else if(x==null)n(YZ({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:void 0}));else{var C=S.x,w=S.y,T=Math.min(C,o.x+o.width),E=Math.min(w,o.y+o.height),D={x:a===`horizontal`?x.coordinate:T,y:a===`horizontal`?E:x.coordinate};n(YZ({active:c.payload.active,coordinate:D,dataKey:c.payload.dataKey,index:String(x.index),label:c.payload.label,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:c.payload.graphicalItemId}))}}}};return p1.on(m1,s),()=>{p1.off(m1,s)}},[s,n,t,e,r,i,a,o])}function F1(){var e=HF(HH),t=HF(WH),n=BF();(0,y.useEffect)(()=>{if(e==null)return QN;var r=(r,i,a)=>{t!==a&&e===r&&n(w1(i))};return p1.on(h1,r),()=>{p1.off(h1,r)}},[n,t,e])}function I1(){var e=BF();(0,y.useEffect)(()=>{e(y1())},[e]),P1(),F1()}function L1(e,t,n,r,i,a){var o=HF(n=>D$(n,e,t)),s=HF($Q),c=HF(WH),l=HF(HH),u=HF(UH),d=HF(b1)?.sourceViewBox!=null,f=HR();(0,y.useEffect)(()=>{if(!d&&l!=null&&c!=null){var e=YZ({active:a,coordinate:n,dataKey:o,index:i,label:typeof r==`number`?String(r):r,sourceViewBox:f,graphicalItemId:s});p1.emit(m1,l,e,c)}},[d,n,o,s,i,r,c,l,u,a,f])}function R1(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 z1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?R1(Object(n),!0).forEach(function(t){B1(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):R1(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function B1(e,t,n){return(t=V1(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function V1(e){var t=H1(e,`string`);return typeof t==`symbol`?t:t+``}function H1(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)}function U1(e,t){return J1(e)||q1(e,t)||G1(e,t)||W1()}function W1(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function G1(e,t){if(e){if(typeof e==`string`)return K1(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?K1(e,t):void 0}}function K1(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function q1(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function J1(e){if(Array.isArray(e))return e}function Y1(e){return e.dataKey}function X1(e,t){return y.isValidElement(e)?y.cloneElement(e,t):typeof e==`function`?y.createElement(e,t):y.createElement(dz,t)}var Z1=[],Q1={allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:`ease`,axisId:0,contentStyle:{},cursor:!0,filterNull:!0,includeHidden:!1,isAnimationActive:`auto`,itemSorter:`name`,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:` : `,trigger:`hover`,useTranslate3d:!1,wrapperStyle:{}};function $1(e){var t=$P(e,Q1),n=t.active,r=t.allowEscapeViewBox,i=t.animationDuration,a=t.animationEasing,o=t.content,s=t.filterNull,c=t.isAnimationActive,l=t.offset,u=t.payloadUniqBy,d=t.position,f=t.reverseDirection,p=t.useTranslate3d,m=t.wrapperStyle,h=t.cursor,g=t.shared,_=t.trigger,v=t.defaultIndex,b=t.portal,x=t.axisId,S=BF(),C=typeof v==`number`?String(v):v;(0,y.useEffect)(()=>{S(WZ({shared:g,trigger:_,axisId:x,active:n,defaultIndex:C}))},[S,g,_,x,n,C]);var w=HR(),T=Bz(),E=FZ(g),D=HF(e=>N$(e,E,_,C))??{},O=D.activeIndex,k=D.isActive,A=HF(e=>M$(e,E,_,C)),ee=HF(e=>j$(e,E,_,C)),j=HF(e=>A$(e,E,_,C)),M=A,N=d1(),P=n??k??!1,te=U1(Lae([M,P]),2),ne=te[0],re=te[1],F=E===`axis`?ee:void 0;L1(E,_,j,F,O,P);var ie=b??N;if(ie==null||w==null||E==null)return null;var ae=M??Z1;P||(ae=Z1),s&&ae.length&&(ae=cae(ae.filter(e=>e.value!=null&&(e.hide!==!0||t.includeHidden)),u,Y1));var oe=ae.length>0,se=z1(z1({},t),{},{payload:ae,label:F,active:P,activeIndex:O,coordinate:j,accessibilityLayer:T}),ce=y.createElement(zz,{allowEscapeViewBox:r,animationDuration:i,animationEasing:a,isAnimationActive:c,active:P,coordinate:j,hasPayload:oe,offset:l,position:d,reverseDirection:f,useTranslate3d:p,viewBox:w,wrapperStyle:m,lastBoundingBox:ne,innerRef:re,hasPortalFromProps:!!b},X1(o,se));return y.createElement(y.Fragment,null,(0,br.createPortal)(ce,ie),P&&y.createElement(l1,{cursor:h,tooltipEventType:E,coordinate:j,payload:ae,index:O}))}function e0(e,t,n){return(t=t0(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function t0(e){var t=n0(e,`string`);return typeof t==`symbol`?t:t+``}function n0(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 r0=class{constructor(e){e0(this,`cache`,new Map),this.maxSize=e}get(e){var t=this.cache.get(e);return t!==void 0&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxSize){var n=this.cache.keys().next().value;n!=null&&this.cache.delete(n)}this.cache.set(e,t)}clear(){this.cache.clear()}size(){return this.cache.size}};function i0(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 a0(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?i0(Object(n),!0).forEach(function(t){o0(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i0(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function o0(e,t,n){return(t=s0(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s0(e){var t=c0(e,`string`);return typeof t==`symbol`?t:t+``}function c0(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 l0=a0({},{cacheSize:2e3,enableCache:!0}),u0=new r0(l0.cacheSize),d0={position:`absolute`,top:`-20000px`,left:0,padding:0,margin:0,border:`none`,whiteSpace:`pre`},f0=`recharts_measurement_span`;function p0(e,t){return`${e}|${t.fontSize||``}|${t.fontFamily||``}|${t.fontWeight||``}|${t.fontStyle||``}|${t.letterSpacing||``}|${t.textTransform||``}`}var m0=(e,t)=>{try{var n=document.getElementById(f0);n||(n=document.createElement(`span`),n.setAttribute(`id`,f0),n.setAttribute(`aria-hidden`,`true`),document.body.appendChild(n)),Object.assign(n.style,d0,t),n.textContent=`${e}`;var r=n.getBoundingClientRect();return{width:r.width,height:r.height}}catch{return{width:0,height:0}}},h0=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e==null||vz.isSsr)return{width:0,height:0};if(!l0.enableCache)return m0(e,t);var n=p0(e,t),r=u0.get(n);if(r)return r;var i=m0(e,t);return u0.set(n,i),i},g0;function _0(e,t){return S0(e)||x0(e,t)||y0(e,t)||v0()}function v0(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function y0(e,t){if(e){if(typeof e==`string`)return b0(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b0(e,t):void 0}}function b0(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function x0(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function S0(e){if(Array.isArray(e))return e}function C0(e,t,n){return(t=w0(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function w0(e){var t=T0(e,`string`);return typeof t==`symbol`?t:t+``}function T0(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 E0=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([*/])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,D0=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([+-])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,O0=/^(px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q)$/,k0=/(-?\d+(?:\.\d+)?)([a-zA-Z%]+)?/,A0={cm:96/2.54,mm:96/25.4,pt:96/72,pc:16,in:96,Q:96/101.6,px:1},j0=[`cm`,`mm`,`pt`,`pc`,`in`,`Q`,`px`];function M0(e){return j0.includes(e)}var N0=`NaN`;function P0(e,t){return e*A0[t]}var F0=class e{static parse(t){var n=_0(k0.exec(t)??[],3),r=n[1],i=n[2];return r==null?e.NaN:new e(parseFloat(r),i??``)}constructor(e,t){this.num=e,this.unit=t,this.num=e,this.unit=t,BN(e)&&(this.unit=``),t!==``&&!O0.test(t)&&(this.num=NaN,this.unit=``),M0(t)&&(this.num=P0(e,t),this.unit=`px`)}add(t){return this.unit===t.unit?new e(this.num+t.num,this.unit):new e(NaN,``)}subtract(t){return this.unit===t.unit?new e(this.num-t.num,this.unit):new e(NaN,``)}multiply(t){return this.unit!==``&&t.unit!==``&&this.unit!==t.unit?new e(NaN,``):new e(this.num*t.num,this.unit||t.unit)}divide(t){return this.unit!==``&&t.unit!==``&&this.unit!==t.unit?new e(NaN,``):new e(this.num/t.num,this.unit||t.unit)}toString(){return`${this.num}${this.unit}`}isNaN(){return BN(this.num)}};g0=F0,C0(F0,`NaN`,new g0(NaN,``));function I0(e){if(e==null||e.includes(N0))return N0;for(var t=e;t.includes(`*`)||t.includes(`/`);){var n=_0(E0.exec(t)??[],4),r=n[1],i=n[2],a=n[3],o=F0.parse(r??``),s=F0.parse(a??``),c=i===`*`?o.multiply(s):o.divide(s);if(c.isNaN())return N0;t=t.replace(E0,c.toString())}for(;t.includes(`+`)||/.-\d+(?:\.\d+)?/.test(t);){var l=_0(D0.exec(t)??[],4),u=l[1],d=l[2],f=l[3],p=F0.parse(u??``),m=F0.parse(f??``),h=d===`+`?p.add(m):p.subtract(m);if(h.isNaN())return N0;t=t.replace(D0,h.toString())}return t}var L0=/\(([^()]*)\)/;function R0(e){for(var t=e,n;(n=L0.exec(t))!=null;){var r=_0(n,2)[1];t=t.replace(L0,I0(r))}return t}function z0(e){var t=e.replace(/\s+/g,``);return t=R0(t),t=I0(t),t}function B0(e){try{return z0(e)}catch{return N0}}function V0(e){var t=B0(e.slice(5,-1));return t===N0?``:t}var H0=[`x`,`y`,`lineHeight`,`capHeight`,`fill`,`scaleToFit`,`textAnchor`,`verticalAnchor`],U0=[`dx`,`dy`,`angle`,`className`,`breakAll`];function W0(){return W0=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},W0.apply(null,arguments)}function G0(e,t){if(e==null)return{};var n,r,i=K0(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function K0(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function q0(e,t){return Q0(e)||Z0(e,t)||Y0(e,t)||J0()}function J0(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Y0(e,t){if(e){if(typeof e==`string`)return X0(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?X0(e,t):void 0}}function X0(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Z0(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function Q0(e){if(Array.isArray(e))return e}var $0=/[ \f\n\r\t\v\u2028\u2029]+/,e2=e=>{var t=e.children,n=e.breakAll,r=e.style;try{var i=[];return YN(t)||(i=n?t.toString().split(``):t.toString().split($0)),{wordsWithComputedWidth:i.map(e=>({word:e,width:h0(e,r).width})),spaceWidth:n?0:h0(`\xA0`,r).width}}catch{return null}};function t2(e){return e===`start`||e===`middle`||e===`end`||e===`inherit`}function rce(e){return YN(e)||typeof e==`string`||typeof e==`number`||typeof e==`boolean`}var n2=(e,t,n,r)=>e.reduce((e,i)=>{var a=i.word,o=i.width,s=e[e.length-1];if(s&&o!=null&&(t==null||r||s.width+o+n<Number(t)))s.words.push(a),s.width+=o+n;else{var c={words:[a],width:o};e.push(c)}return e},[]),r2=e=>e.reduce((e,t)=>e.width>t.width?e:t),ice=`…`,i2=(e,t,n,r,i,a,o,s)=>{var c=e2({breakAll:n,style:r,children:e.slice(0,t)+ice});if(!c)return[!1,[]];var l=n2(c.wordsWithComputedWidth,a,o,s);return[l.length>i||r2(l).width>Number(a),l]},ace=(e,t,n,r,i)=>{var a=e.maxLines,o=e.children,s=e.style,c=e.breakAll,l=Q(a),u=String(o),d=n2(t,r,n,i);if(!l||i||!(d.length>a||r2(d).width>Number(r)))return d;for(var f=0,p=u.length-1,m=0,h;f<=p&&m<=u.length-1;){var g=Math.floor((f+p)/2),_=q0(i2(u,g-1,c,s,a,r,n,i),2),v=_[0],y=_[1],b=q0(i2(u,g,c,s,a,r,n,i),1)[0];if(!v&&!b&&(f=g+1),v&&b&&(p=g-1),!v&&b){h=y;break}m++}return h||d},a2=e=>[{words:YN(e)?[]:e.toString().split($0),width:void 0}],oce=e=>{var t=e.width,n=e.scaleToFit,r=e.children,i=e.style,a=e.breakAll,o=e.maxLines;if((t||n)&&!vz.isSsr){var s,c,l=e2({breakAll:a,children:r,style:i});if(l){var u=l.wordsWithComputedWidth,d=l.spaceWidth;s=u,c=d}else return a2(r);return ace({breakAll:a,children:r,maxLines:o,style:i},s,c,t,!!n)}return a2(r)},o2=`#808080`,sce={angle:0,breakAll:!1,capHeight:`0.71em`,fill:o2,lineHeight:`1em`,scaleToFit:!1,textAnchor:`start`,verticalAnchor:`end`,x:0,y:0},s2=(0,y.forwardRef)((e,t)=>{var n=$P(e,sce),r=n.x,i=n.y,a=n.lineHeight,o=n.capHeight,s=n.fill,c=n.scaleToFit,l=n.textAnchor,u=n.verticalAnchor,d=G0(n,H0),f=(0,y.useMemo)(()=>oce({breakAll:d.breakAll,children:d.children,maxLines:d.maxLines,scaleToFit:c,style:d.style,width:d.width}),[d.breakAll,d.children,d.maxLines,c,d.style,d.width]),p=d.dx,m=d.dy,h=d.angle,g=d.className,_=d.breakAll,v=G0(d,U0);if(!HN(r)||!HN(i)||f.length===0)return null;var b=Number(r)+(Q(p)?p:0),x=Number(i)+(Q(m)?m:0);if(!oR(b)||!oR(x))return null;var S;switch(u){case`start`:S=V0(`calc(${o})`);break;case`middle`:S=V0(`calc(${(f.length-1)/2} * -${a} + (${o} / 2))`);break;default:S=V0(`calc(${f.length-1} * -${a})`)}var C=[],w=f[0];if(c&&w!=null){var T=w.width,E=d.width;C.push(`scale(${Q(E)&&Q(T)?E/T:1})`)}return h&&C.push(`rotate(${h}, ${b}, ${x})`),C.length&&(v.transform=C.join(` `)),y.createElement(`text`,W0({},mN(v),{ref:t,x:b,y:x,className:Cn(`recharts-text`,g),textAnchor:l,fill:s.includes(`url`)?o2:s}),f.map((e,t)=>{var n=e.words.join(_?``:` `);return y.createElement(`tspan`,{x:b,dy:t===0?S:a,key:`${n}-${t}`},n)}))});s2.displayName=`Text`;var cce=[`labelRef`],lce=[`content`];function c2(e,t){if(e==null)return{};var n,r,i=uce(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function uce(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function l2(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 u2(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?l2(Object(n),!0).forEach(function(t){dce(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l2(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function dce(e,t,n){return(t=fce(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function fce(e){var t=pce(e,`string`);return typeof t==`symbol`?t:t+``}function pce(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)}function d2(){return d2=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},d2.apply(null,arguments)}var f2=(0,y.createContext)(null),mce=e=>{var t=e.x,n=e.y,r=e.upperWidth,i=e.lowerWidth,a=e.width,o=e.height,s=e.children,c=(0,y.useMemo)(()=>({x:t,y:n,upperWidth:r,lowerWidth:i,width:a,height:o}),[t,n,r,i,a,o]);return y.createElement(f2.Provider,{value:c},s)},p2=()=>{var e=(0,y.useContext)(f2),t=HR();return e||(t?$N(t):void 0)},hce=(0,y.createContext)(null),gce=()=>{var e=(0,y.useContext)(hce),t=HF(fU);return e||t},_ce=e=>{var t=e.value,n=e.formatter,r=YN(e.children)?t:e.children;return typeof n==`function`?n(r):r},m2=e=>e!=null&&typeof e==`function`,vce=(e,t)=>zN(t-e)*Math.min(Math.abs(t-e),360),yce=(e,t,n,r,i)=>{var a=e.offset,o=e.className,s=i.cx,c=i.cy,l=i.innerRadius,u=i.outerRadius,d=i.startAngle,f=i.endAngle,p=i.clockWise,m=(l+u)/2,h=vce(d,f),g=h>=0?1:-1,_,v;switch(t){case`insideStart`:_=d+g*a,v=p;break;case`insideEnd`:_=f-g*a,v=!p;break;case`end`:_=f+g*a,v=p;break;default:throw Error(`Unsupported position ${t}`)}v=h<=0?v:!v;var b=NV(s,c,m,_),x=NV(s,c,m,_+(v?1:-1)*359),S=`M${b.x},${b.y}
    A${m},${m},0,1,${+!v},
    ${x.x},${x.y}`,C=YN(e.id)?WN(`recharts-radial-line-`):e.id;return y.createElement(`text`,d2({},r,{dominantBaseline:`central`,className:Cn(`recharts-radial-bar-label`,o)}),y.createElement(`defs`,null,y.createElement(`path`,{id:C,d:S})),y.createElement(`textPath`,{xlinkHref:`#${C}`},n))},bce=(e,t,n)=>{var r=e.cx,i=e.cy,a=e.innerRadius,o=e.outerRadius,s=(e.startAngle+e.endAngle)/2;if(n===`outside`){var c=NV(r,i,o+t,s),l=c.x;return{x:l,y:c.y,textAnchor:l>=r?`start`:`end`,verticalAnchor:`middle`}}if(n===`center`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`middle`};if(n===`centerTop`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`start`};if(n===`centerBottom`)return{x:r,y:i,textAnchor:`middle`,verticalAnchor:`end`};var u=NV(r,i,(a+o)/2,s);return{x:u.x,y:u.y,textAnchor:`middle`,verticalAnchor:`middle`}},h2=e=>e!=null&&`cx`in e&&Q(e.cx),xce={angle:0,offset:5,zIndex:KH.label,position:`middle`,textBreakAll:!1};function Sce(e){if(!h2(e))return e;var t=e.cx,n=e.cy,r=e.outerRadius,i=r*2;return{x:t-r,y:n-r,width:i,upperWidth:i,lowerWidth:i,height:i}}function g2(e){var t=$P(e,xce),n=t.viewBox,r=t.parentViewBox,i=t.position,a=t.value,o=t.children,s=t.content,c=t.className,l=c===void 0?``:c,u=t.textBreakAll,d=t.labelRef,f=gce(),p=p2(),m=n==null?i===`center`?p:f??p:h2(n)?n:$N(n),h,g,_=Sce(m);if(!m||YN(a)&&YN(o)&&!(0,y.isValidElement)(s)&&typeof s!=`function`)return null;var v=h2(m)&&(i===`insideStart`||i===`insideEnd`||i===`end`);if(h2(m))v||(g=bce(m,t.offset,t.position));else if(_){var b=aP({viewBox:_,position:i,offset:t.offset,parentViewBox:h2(r)?void 0:r,clamp:!0});g=u2(u2({x:b.x,y:b.y,textAnchor:b.horizontalAnchor,verticalAnchor:b.verticalAnchor},b.width===void 0?{}:{width:b.width}),b.height===void 0?{}:{height:b.height})}var x=u2(u2(u2(u2({},g?.x===void 0?{}:{x:g.x}),g?.y===void 0?{}:{y:g.y}),t),{},{viewBox:m});if((0,y.isValidElement)(s)){x.labelRef;var S=c2(x,cce);return(0,y.cloneElement)(s,S)}if(typeof s==`function`){x.content;var C=c2(x,lce);if(h=(0,y.createElement)(s,C),(0,y.isValidElement)(h))return h}else h=_ce(t);var w=mN(t);return v&&h2(m)?yce(t,i,h,w,m):g==null?null:y.createElement(e1,{zIndex:t.zIndex},y.createElement(s2,d2({ref:d,className:Cn(`recharts-label`,l)},w,g,{textAnchor:t2(w.textAnchor)?w.textAnchor:g.textAnchor,breakAll:u}),h))}g2.displayName=`Label`;var Cce=(e,t,n)=>{if(!e)return null;var r={viewBox:t,labelRef:n};return e===!0?y.createElement(g2,d2({key:`label-implicit`},r)):HN(e)?y.createElement(g2,d2({key:`label-implicit`,value:e},r)):(0,y.isValidElement)(e)?e.type===g2?(0,y.cloneElement)(e,u2({key:`label-implicit`},r)):y.createElement(g2,d2({key:`label-implicit`,content:e},r)):m2(e)?y.createElement(g2,d2({key:`label-implicit`,content:e},r)):e&&typeof e==`object`?y.createElement(g2,d2({},e,{key:`label-implicit`},r)):null};function wce(e){var t=e.label,n=e.labelRef;return Cce(t,p2(),n)||null}var Tce=[`valueAccessor`],Ece=[`dataKey`,`clockWise`,`id`,`textBreakAll`,`zIndex`];function _2(){return _2=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_2.apply(null,arguments)}function v2(e,t){if(e==null)return{};var n,r,i=Dce(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Dce(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var Oce=e=>{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(rce(t))return t},y2=(0,y.createContext)(void 0),kce=y2.Provider,b2=(0,y.createContext)(void 0);b2.Provider;function Ace(){return(0,y.useContext)(y2)}function jce(){return(0,y.useContext)(b2)}function x2(e){var t=e.valueAccessor,n=t===void 0?Oce:t,r=v2(e,Tce),i=r.dataKey;r.clockWise;var a=r.id,o=r.textBreakAll,s=r.zIndex,c=v2(r,Ece),l=Ace(),u=jce(),d=l||u;return!d||!d.length?null:y.createElement(e1,{zIndex:s??KH.label},y.createElement(TN,{className:`recharts-label-list`},d.map((e,t)=>{var s=YN(i)?n(e,t):uR(e.payload,i),l=YN(a)?{}:{id:`${a}-${t}`};return y.createElement(g2,_2({key:`label-${t}`},mN(e),c,l,{fill:r.fill??e.fill,parentViewBox:e.parentViewBox,value:s,textBreakAll:o,viewBox:e.viewBox,index:t,zIndex:0}))})))}x2.displayName=`LabelList`;function Mce(e){var t=e.label;return t?t===!0?y.createElement(x2,{key:`labelList-implicit`}):y.isValidElement(t)||m2(t)?y.createElement(x2,{key:`labelList-implicit`,content:t}):typeof t==`object`?y.createElement(x2,_2({key:`labelList-implicit`},t,{type:String(t.type)})):null:null}function S2(){return S2=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},S2.apply(null,arguments)}var C2=e=>{var t=e.cx,n=e.cy,r=e.r,i=e.className,a=Cn(`recharts-dot`,i);return Q(t)&&Q(n)&&Q(r)?y.createElement(`circle`,S2({},fN(e),ZP(e),{className:a,cx:t,cy:n,r})):null},w2=AL({name:`polarAxis`,initialState:{radiusAxis:{},angleAxis:{}},reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=yL(t.payload)},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=yL(t.payload)},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),T2=w2.actions;T2.addRadiusAxis,T2.removeRadiusAxis,T2.addAngleAxis,T2.removeAngleAxis;var Nce=w2.reducer;function Pce(e){return e&&typeof e==`object`&&`className`in e&&typeof e.className==`string`?e.className:``}var Fce=s((e=>{typeof Symbol==`function`&&Symbol.for}));s(((e,t)=>{t.exports=Fce()}))();var E2=e=>e&&typeof e==`object`&&`clipDot`in e?!!e.clipDot:!0;function D2(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 O2(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?D2(Object(n),!0).forEach(function(t){Ice(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):D2(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ice(e,t,n){return(t=Lce(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Lce(e){var t=Rce(e,`string`);return typeof t==`symbol`?t:t+``}function Rce(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)}function k2(e,t){return O2(O2({},t),e)}function zce(e){return(0,y.isValidElement)(e)?e.props:e}function Bce(e,t){return(0,y.cloneElement)(e,k2(zce(e),t))}function Vce(e){if(`index`in e){var t=e.index;return typeof t==`number`||typeof t==`string`?t:void 0}}function Hce(e){return`isActive`in e&&e.isActive===!0}function Uce(e){var t=e.option,n=e.DefaultShape,r=e.shapeProps,i=e.activeClassName,a=i===void 0?`recharts-active-shape`:i,o=e.inActiveClassName,s=o===void 0?`recharts-shape`:o,c=Vce(r),l=(0,y.isValidElement)(t)?Bce(t,r):t===n?y.createElement(n,r):typeof t==`function`?t(r,c):typeof t==`object`?y.createElement(n,k2(t,r)):y.createElement(n,r);return Hce(r)?y.createElement(TN,{className:a},l):y.createElement(TN,{className:s},l)}function Wce(e){var t=e.tooltipEntrySettings,n=BF(),r=kR(),i=(0,y.useRef)(null);return(0,y.useLayoutEffect)(()=>{r||(i.current===null?n(VZ(t)):i.current!==t&&n(HZ({prev:i.current,next:t})),i.current=t)},[t,n,r]),(0,y.useLayoutEffect)(()=>()=>{i.current&&=(n(UZ(i.current)),null)},[n]),null}function Gce(e){var t=e.legendPayload,n=BF(),r=kR(),i=(0,y.useRef)(null);return(0,y.useLayoutEffect)(()=>{r||(i.current===null?n(jse(t)):i.current!==t&&n(Mse({prev:i.current,next:t})),i.current=t)},[n,r,t]),(0,y.useLayoutEffect)(()=>()=>{i.current&&=(n(Nse(i.current)),null)},[n]),null}function Kce(e,t){return Xce(e)||Yce(e,t)||Jce(e,t)||qce()}function qce(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Jce(e,t){if(e){if(typeof e==`string`)return A2(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A2(e,t):void 0}}function A2(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Yce(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function Xce(e){if(Array.isArray(e))return e}var j2=`index`;function M2(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],r=[];for(var i of n)r.push({status:`removed`,prev:i});for(var a=0;a<t.length;a++){var o=e[a],s=t[a];o==null?r.push({status:`added`,next:s}):r.push({status:`matched`,prev:o,next:s})}return r}function Zce(e,t){var n=e.length/t.length;return M2(t.map((t,r)=>e[Math.floor(r*n)]),t)}function Qce(e,t){return M2(t.map((t,n)=>e[n]),t)}function $ce(e,t){for(var n=new Map,r=0;r<e.length;r++){var i=e[r];if(i!=null){var a=t(i,r);a!=null&&!n.has(a)&&n.set(a,i)}}return n}function ele(e,t,n){var r=$ce(e,n),i=new Set,a=t.map((e,t)=>{var a=n(e,t);if(a!=null){var o=r.get(a);if(o!==void 0)return i.add(a),o}}),o=[];for(var s of r){var c=Kce(s,2),l=c[0],u=c[1];i.has(l)||o.push(u)}return M2(a,t,o)}function N2(e,t,n){return t==null?null:e==null?t.map(e=>({status:`added`,next:e})):n===`index`?Zce(e,t):n===`append`?Qce(e,t):ele(e,t,n)}function P2(e,t){var n=(0,y.useRef)(e),r=(0,y.useRef)(t.current),i=(0,y.useRef)(!0);n.current!==e&&(n.current=e,r.current=t.current,i.current=!1);var a=(0,y.useCallback)(function(e,n){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;n===0?i.current=!0:(n===1&&(r.current=e),n>0&&i.current&&a&&(t.current=e))},[t]);return{startValue:r.current,syncStepValue:a}}function tle(e,t){return ale(e)||ile(e,t)||rle(e,t)||nle()}function nle(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function rle(e,t){if(e){if(typeof e==`string`)return F2(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?F2(e,t):void 0}}function F2(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ile(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function ale(e){if(Array.isArray(e))return e}function ole(e,t){var n=tle((0,y.useState)(!1),2),r=n[0],i=n[1];return{isAnimating:r,handleAnimationStart:(0,y.useCallback)(()=>{typeof e==`function`&&e(),i(!0)},[e]),handleAnimationEnd:(0,y.useCallback)(()=>{typeof t==`function`&&t(),i(!1)},[t])}}function sle(e){var t=e.animationInput,n=e.animationIdPrefix,r=e.items,i=e.previousItemsRef,a=e.isAnimationActive,o=e.animationBegin,s=e.animationDuration,c=e.animationEasing,l=e.onAnimationStart,u=e.onAnimationEnd,d=e.animationInterpolateFn,f=e.animationMatchBy,p=e.shouldUpdatePreviousRef,m=e.children,h=e.layout,g=qB(t,n),_=P2(g,i),v=_.startValue??null,b=N2(v,r,f??j2);return y.createElement(KB,{animationId:g,begin:o,duration:s,isActive:a,easing:c,onAnimationEnd:u,onAnimationStart:l,key:g},e=>{var t=v==null,n=r==null?r:d(b,e,h),i=p?p(e):e>0;return _.syncStepValue(n,e,i),n==null?null:m(n,e,t)})}function cle(e,t){return fle(e)||dle(e,t)||ule(e,t)||lle()}function lle(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ule(e,t){if(e){if(typeof e==`string`)return I2(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?I2(e,t):void 0}}function I2(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function dle(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function fle(e){if(Array.isArray(e))return e}var L2=y.useId??(()=>cle(y.useState(()=>WN(`uid-`)),1)[0]);function ple(e,t){var n=L2();return t||(e?`${e}-${n}`:n)}var mle=(0,y.createContext)(void 0),hle=e=>{var t=e.id,n=e.type,r=e.children,i=ple(`recharts-${n}`,t);return y.createElement(mle.Provider,{value:i},r(i))},R2=AL({name:`graphicalItems`,initialState:{cartesianItems:[],polarItems:[]},reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(yL(t.payload))},prepare:EL()},replaceCartesianGraphicalItem:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next,a=gL(e).cartesianItems.indexOf(yL(r));a>-1&&(e.cartesianItems[a]=yL(i))},prepare:EL()},removeCartesianGraphicalItem:{reducer(e,t){var n=gL(e).cartesianItems.indexOf(yL(t.payload));n>-1&&e.cartesianItems.splice(n,1)},prepare:EL()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(yL(t.payload))},prepare:EL()},removePolarGraphicalItem:{reducer(e,t){var n=gL(e).polarItems.indexOf(yL(t.payload));n>-1&&e.polarItems.splice(n,1)},prepare:EL()},replacePolarGraphicalItem:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next,a=gL(e).polarItems.indexOf(yL(r));a>-1&&(e.polarItems[a]=yL(i))},prepare:EL()}}}),z2=R2.actions,gle=z2.addCartesianGraphicalItem,_le=z2.replaceCartesianGraphicalItem,vle=z2.removeCartesianGraphicalItem;z2.addPolarGraphicalItem,z2.removePolarGraphicalItem,z2.replacePolarGraphicalItem;var yle=R2.reducer,ble=(0,y.memo)(e=>{var t=BF(),n=(0,y.useRef)(null);return(0,y.useLayoutEffect)(()=>{n.current===null?t(gle(e)):n.current!==e&&t(_le({prev:n.current,next:e})),n.current=e},[t,e]),(0,y.useLayoutEffect)(()=>()=>{n.current&&=(t(vle(n.current)),null)},[t]),null}),xle=[`points`];function B2(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 V2(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?B2(Object(n),!0).forEach(function(t){Sle(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):B2(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Sle(e,t,n){return(t=Cle(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Cle(e){var t=wle(e,`string`);return typeof t==`symbol`?t:t+``}function wle(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)}function H2(){return H2=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},H2.apply(null,arguments)}function Tle(e,t){if(e==null)return{};var n,r,i=Ele(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Ele(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function Dle(e){var t=e.option,n=e.dotProps,r=e.className;if((0,y.isValidElement)(t))return(0,y.cloneElement)(t,n);if(typeof t==`function`)return t(n);var i=Cn(r,typeof t==`boolean`?``:t.className),a=n??{};a.points;var o=Tle(a,xle);return y.createElement(C2,H2({},o,{className:i}))}function Ole(e,t){return e==null?!1:t?!0:e.length===1}function kle(e){var t=e.points,n=e.dot,r=e.className,i=e.dotClassName,a=e.dataKey,o=e.baseProps,s=e.needClip,c=e.clipPathId,l=e.zIndex,u=l===void 0?KH.scatter:l;if(!Ole(t,n))return null;var d=E2(n),f=hN(n),p=t.map((e,r)=>{var s=V2(V2(V2({r:3},o),f),{},{index:r,cx:e.x??void 0,cy:e.y??void 0,dataKey:a,value:e.value,payload:e.payload,points:t});return y.createElement(Dle,{key:`dot-${r}`,option:n,dotProps:s,className:i})}),m={};return s&&c!=null&&(m.clipPath=`url(#clipPath-${d?``:`dots-`}${c})`),y.createElement(e1,{zIndex:u},y.createElement(TN,H2({className:r},m),p))}function U2(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 W2(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?U2(Object(n),!0).forEach(function(t){Ale(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):U2(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ale(e,t,n){return(t=jle(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jle(e){var t=Mle(e,`string`);return typeof t==`symbol`?t:t+``}function Mle(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 G2=AL({name:`cartesianAxis`,initialState:{xAxis:{},yAxis:{},zAxis:{}},reducers:{addXAxis:{reducer(e,t){e.xAxis[t.payload.id]=yL(t.payload)},prepare:EL()},replaceXAxis:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next;e.xAxis[r.id]!==void 0&&(r.id!==i.id&&delete e.xAxis[r.id],e.xAxis[i.id]=yL(i))},prepare:EL()},removeXAxis:{reducer(e,t){delete e.xAxis[t.payload.id]},prepare:EL()},addYAxis:{reducer(e,t){e.yAxis[t.payload.id]=yL(t.payload)},prepare:EL()},replaceYAxis:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next;e.yAxis[r.id]!==void 0&&(r.id!==i.id&&delete e.yAxis[r.id],e.yAxis[i.id]=yL(i))},prepare:EL()},removeYAxis:{reducer(e,t){delete e.yAxis[t.payload.id]},prepare:EL()},addZAxis:{reducer(e,t){e.zAxis[t.payload.id]=yL(t.payload)},prepare:EL()},replaceZAxis:{reducer(e,t){var n=t.payload,r=n.prev,i=n.next;e.zAxis[r.id]!==void 0&&(r.id!==i.id&&delete e.zAxis[r.id],e.zAxis[i.id]=yL(i))},prepare:EL()},removeZAxis:{reducer(e,t){delete e.zAxis[t.payload.id]},prepare:EL()},updateYAxisWidth(e,t){var n=t.payload,r=n.id,i=n.width,a=e.yAxis[r];if(a){var o=a.widthHistory||[];if(o.length===3&&o[0]===o[2]&&i===o[1]&&i!==a.width&&Math.abs(i-(o[0]??0))<=1)return;var s=[...o,i].slice(-3);e.yAxis[r]=W2(W2({},a),{},{width:i,widthHistory:s})}},updateXAxisHeight(e,t){var n=t.payload,r=n.id,i=n.height,a=e.xAxis[r];if(a){var o=a.heightHistory||[];if(o.length===3&&o[0]===o[2]&&i===o[1]&&i!==a.height&&Math.abs(i-(o[0]??0))<=1)return;var s=[...o,i].slice(-3);e.xAxis[r]=W2(W2({},a),{},{height:i,heightHistory:s})}}}}),K2=G2.actions,Nle=K2.addXAxis,Ple=K2.replaceXAxis,Fle=K2.removeXAxis,Ile=K2.addYAxis,Lle=K2.replaceYAxis,Rle=K2.removeYAxis;K2.addZAxis,K2.replaceZAxis,K2.removeZAxis;var zle=K2.updateYAxisWidth,Ble=K2.updateXAxisHeight,Vle=G2.reducer,Hle=$([$([DR],e=>({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),bR,xR],(e,t,n)=>{if(e&&t!=null&&n!=null)return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,n-e.top-e.bottom)}}),q2=()=>HF(Hle),Ule=()=>HF(r$);function J2(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 Y2(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?J2(Object(n),!0).forEach(function(t){Wle(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):J2(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Wle(e,t,n){return(t=Gle(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Gle(e){var t=Kle(e,`string`);return typeof t==`symbol`?t:t+``}function Kle(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 qle=e=>{var t=e.point,n=e.childIndex,r=e.mainColor,i=e.activeDot,a=e.dataKey,o=e.clipPath;if(i===!1||t.x==null||t.y==null)return null;var s=Y2(Y2(Y2({},{index:n,dataKey:a,cx:t.x,cy:t.y,r:4,fill:r??`none`,strokeWidth:2,stroke:`#fff`,payload:t.payload,value:t.value}),pN(i)),ZP(i)),c=(0,y.isValidElement)(i)?(0,y.cloneElement)(i,s):typeof i==`function`?i(s):y.createElement(C2,s);return y.createElement(TN,{className:`recharts-active-dot`,clipPath:o},c)};function X2(e){var t=e.points,n=e.mainColor,r=e.activeDot,i=e.itemDataKey,a=e.clipPath,o=e.zIndex,s=o===void 0?KH.activeDot:o,c=HF(XQ),l=Ule();if(t==null||l==null)return null;var u=t.find(e=>l.includes(e.payload));return YN(u)?null:y.createElement(e1,{zIndex:s},y.createElement(qle,{point:u,childIndex:Number(c),mainColor:n,dataKey:i,activeDot:r,clipPath:a}))}var Jle=e=>{var t=e.chartData,n=BF(),r=kR();return(0,y.useEffect)(()=>r?()=>{}:(n(C1(t)),()=>{n(C1(void 0))}),[t,n,r]),null},Z2={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},Q2=AL({name:`brush`,initialState:Z2,reducers:{setBrushSettings(e,t){return t.payload==null?Z2:t.payload}}});Q2.actions.setBrushSettings;var Yle=Q2.reducer;function Xle(e){return(e%180+180)%180}var Zle=function(e){var t=e.width,n=e.height,r=Xle(arguments.length>1&&arguments[1]!==void 0?arguments[1]:0)*Math.PI/180,i=Math.atan(n/t),a=r>i&&r<Math.PI-i?n/Math.sin(r):t/Math.cos(r);return Math.abs(a)},$2=AL({name:`referenceElements`,initialState:{dots:[],areas:[],lines:[]},reducers:{addDot:(e,t)=>{e.dots.push(t.payload)},removeDot:(e,t)=>{var n=gL(e).dots.findIndex(e=>e===t.payload);n!==-1&&e.dots.splice(n,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var n=gL(e).areas.findIndex(e=>e===t.payload);n!==-1&&e.areas.splice(n,1)},addLine:(e,t)=>{e.lines.push(yL(t.payload))},removeLine:(e,t)=>{var n=gL(e).lines.findIndex(e=>e===t.payload);n!==-1&&e.lines.splice(n,1)}}}),e4=$2.actions;e4.addDot,e4.removeDot,e4.addArea,e4.removeArea,e4.addLine,e4.removeLine;var Qle=$2.reducer;function $le(e,t){return rue(e)||nue(e,t)||tue(e,t)||eue()}function eue(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function tue(e,t){if(e){if(typeof e==`string`)return t4(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t4(e,t):void 0}}function t4(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function nue(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function rue(e){if(Array.isArray(e))return e}var iue=(0,y.createContext)(void 0),aue=e=>{var t=e.children,n=$le((0,y.useState)(`${WN(`recharts`)}-clip`),1)[0],r=q2();if(r==null)return null;var i=r.x,a=r.y,o=r.width,s=r.height;return y.createElement(iue.Provider,{value:n},y.createElement(`defs`,null,y.createElement(`clipPath`,{id:n},y.createElement(`rect`,{x:i,y:a,height:s,width:o}))),t)};function oue(){}function n4(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null?!1:Object.prototype.toString.call(e)===`[object Object]`}function sue(e,t,n){return r4(e,t,void 0,void 0,void 0,void 0,n)}function r4(e,t,n,r,i,a,o){let s=o(e,t,n,r,i,a);if(s!==void 0)return s;if(typeof e==typeof t)switch(typeof e){case`bigint`:case`string`:case`boolean`:case`symbol`:case`undefined`:return e===t;case`number`:return e===t||Object.is(e,t);case`function`:return e===t;case`object`:return i4(e,t,a,o)}return i4(e,t,a,o)}function i4(e,t,n,r){if(Object.is(e,t))return!0;let i=iF(e),a=iF(t);if(i===`[object Arguments]`&&(i=gF),a===`[object Arguments]`&&(a=gF),i!==a)return!1;switch(i){case oF:return e.toString()===t.toString();case sF:return jF(e.valueOf(),t.valueOf());case cF:case dF:case uF:return Object.is(e.valueOf(),t.valueOf());case aF:return e.source===t.source&&e.flags===t.flags;case Uie:return e===t}n??=new Map;let o=n.get(e),s=n.get(t);if(o!=null&&s!=null)return o===t;n.set(e,t),n.set(t,e);try{switch(i){case fF:if(e.size!==t.size)return!1;for(let[i,a]of e.entries())if(!t.has(i)||!r4(a,t.get(i),i,e,t,n,r))return!1;return!0;case pF:{if(e.size!==t.size)return!1;let i=Array.from(e.values()),a=Array.from(t.values());for(let o=0;o<i.length;o++){let s=i[o],c=a.findIndex(i=>r4(s,i,void 0,e,t,n,r));if(c===-1)return!1;a.splice(c,1)}return!0}case mF:case vF:case yF:case bF:case xF:case Gie:case SF:case CF:case wF:case Kie:case TF:case EF:if(OF(e)!==OF(t)||e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!r4(e[i],t[i],i,e,t,n,r))return!1;return!0;case hF:return e.byteLength===t.byteLength&&i4(new Uint8Array(e),new Uint8Array(t),n,r);case _F:return e.byteLength!==t.byteLength||e.byteOffset!==t.byteOffset?!1:i4(new Uint8Array(e),new Uint8Array(t),n,r);case Wie:return e.name===t.name&&e.message===t.message;case gF:{if(!(i4(e.constructor,t.constructor,n,r)||n4(e)&&n4(t)))return!1;let i=[...Object.keys(e),...rF(e)],a=[...Object.keys(t),...rF(t)];if(i.length!==a.length)return!1;for(let a=0;a<i.length;a++){let o=i[a],s=e[o];if(!Object.hasOwn(t,o))return!1;let c=t[o];if(!r4(s,c,o,e,t,n,r))return!1}return!0}default:return!1}}finally{n.delete(e),n.delete(t)}}function cue(e,t){return sue(e,t,oue)}function a4(e,t){if(t<1)return[];if(t===1)return e;for(var n=[],r=0;r<e.length;r+=t){var i=e[r];i!==void 0&&n.push(i)}return n}function lue(e,t,n){return Zle({width:e.width+t.width,height:e.height+t.height},n)}function uue(e,t,n){var r=n===`width`,i=e.x,a=e.y,o=e.width,s=e.height;return t===1?{start:r?i:a,end:r?i+o:a+s}:{start:r?i+o:a+s,end:r?i:a}}function o4(e,t,n,r,i){if(e*t<e*r||e*t>e*i)return!1;var a=n();return e*(t-e*a/2-r)>=0&&e*(t+e*a/2-i)<=0}function due(e,t){return a4(e,t+1)}function fue(e,t,n,r,i){for(var a=(r||[]).slice(),o=t.start,s=t.end,c=0,l=1,u=o,d=function(){var t=r?.[c];if(t===void 0)return{v:a4(r,l)};var a=c,d,f=()=>(d===void 0&&(d=n(t,a)),d),p=t.coordinate,m=c===0||o4(e,p,f,u,s);m||(c=0,u=o,l+=1),m&&(u=p+e*(f()/2+i),c+=l)},f;l<=a.length;)if(f=d(),f)return f.v;return[]}function pue(e,t,n,r,i){var a=(r||[]).slice().length;if(a===0)return[];for(var o=t.start,s=t.end,c=1;c<=a;c++){for(var l=(a-1)%c,u=o,d=!0,f=function(){var t=r[m];if(t==null)return 0;var a=m,o,c=()=>(o===void 0&&(o=n(t,a)),o),f=t.coordinate,p=m===l||o4(e,f,c,u,s);if(!p)return d=!1,1;p&&(u=f+e*(c()/2+i))},p,m=l;m<a&&(p=f(),p===0||p!==1);m+=c);if(d){for(var h=[],g=l;g<a;g+=c){var _=r[g];_!=null&&h.push(_)}return h}}return[]}function s4(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 c4(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?s4(Object(n),!0).forEach(function(t){mue(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s4(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function mue(e,t,n){return(t=hue(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hue(e){var t=gue(e,`string`);return typeof t==`symbol`?t:t+``}function gue(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)}function _ue(e,t,n,r,i){for(var a=(r||[]).slice(),o=a.length,s=t.start,c=t.end,l=function(t){var r=a[t];if(r==null)return 1;var l=r,u,d=()=>(u===void 0&&(u=n(r,t)),u);if(t===o-1){var f=e*(l.coordinate+e*d()/2-c);a[t]=l=c4(c4({},l),{},{tickCoord:f>0?l.coordinate-f*e:l.coordinate})}else a[t]=l=c4(c4({},l),{},{tickCoord:l.coordinate});l.tickCoord!=null&&o4(e,l.tickCoord,d,s,c)&&(c=l.tickCoord-e*(d()/2+i),a[t]=c4(c4({},l),{},{isShow:!0}))},u=o-1;u>=0;u--)if(l(u))continue;return a}function vue(e,t,n,r,i,a){var o=(r||[]).slice(),s=o.length,c=t.start,l=t.end;if(a){var u=r[s-1];if(u!=null){var d=n(u,s-1),f=e*(u.coordinate+e*d/2-l);o[s-1]=u=c4(c4({},u),{},{tickCoord:f>0?u.coordinate-f*e:u.coordinate}),u.tickCoord!=null&&o4(e,u.tickCoord,()=>d,c,l)&&(l=u.tickCoord-e*(d/2+i),o[s-1]=c4(c4({},u),{},{isShow:!0}))}}for(var p=a?s-1:s,m=function(t){var r=o[t];if(r==null)return 1;var a=r,s,u=()=>(s===void 0&&(s=n(r,t)),s);if(t===0){var d=e*(a.coordinate-e*u()/2-c);o[t]=a=c4(c4({},a),{},{tickCoord:d<0?a.coordinate-d*e:a.coordinate})}else o[t]=a=c4(c4({},a),{},{tickCoord:a.coordinate});a.tickCoord!=null&&o4(e,a.tickCoord,u,c,l)&&(c=a.tickCoord+e*(u()/2+i),o[t]=c4(c4({},a),{},{isShow:!0}))},h=0;h<p;h++)if(m(h))continue;return o}function l4(e,t,n){var r=e.tick,i=e.ticks,a=e.viewBox,o=e.minTickGap,s=e.orientation,c=e.interval,l=e.tickFormatter,u=e.unit,d=e.angle;if(!i||!i.length||!r)return[];if(Q(c)||vz.isSsr)return due(i,Q(c)?c:0)??[];var f=[],p=s===`top`||s===`bottom`?`width`:`height`,m=u&&p===`width`?h0(u,{fontSize:t,letterSpacing:n}):{width:0,height:0},h=(e,r)=>{var i=typeof l==`function`?l(e.value,r):e.value;return p===`width`?lue(h0(i,{fontSize:t,letterSpacing:n}),m,d):h0(i,{fontSize:t,letterSpacing:n})[p]},g=i[0],_=i[1],v=i.length>=2&&g!=null&&_!=null?zN(_.coordinate-g.coordinate):1,y=uue(a,v,p);return c===`equidistantPreserveStart`?fue(v,y,h,i,o):c===`equidistantPreserveEnd`?pue(v,y,h,i,o):(f=c===`preserveStart`||c===`preserveStartEnd`?vue(v,y,h,i,o,c===`preserveStartEnd`):_ue(v,y,h,i,o),f.filter(e=>e.isShow))}var yue=e=>{var t=e.ticks,n=e.label,r=e.labelGapWithTick,i=r===void 0?5:r,a=e.tickSize,o=a===void 0?0:a,s=e.tickMargin,c=s===void 0?0:s,l=0;if(t){Array.from(t).forEach(e=>{if(e){var t=e.getBoundingClientRect();t.width>l&&(l=t.width)}});var u=n?n.getBoundingClientRect().width:0,d=o+c,f=l+d+u+(n?i:0);return Math.round(f)}return 0},bue=e=>{var t=e.ticks,n=e.label,r=e.labelGapWithTick,i=r===void 0?5:r,a=e.tickSize,o=a===void 0?0:a,s=e.tickMargin,c=s===void 0?0:s,l=0;if(t){Array.from(t).forEach(e=>{if(e){var t=e.getBoundingClientRect();t.height>l&&(l=t.height)}});var u=n?n.getBoundingClientRect().height:0,d=o+c,f=l+d+u+(n?i:0);return Math.round(f)}return 0},u4=AL({name:`renderedTicks`,initialState:{xAxis:{},yAxis:{}},reducers:{setRenderedTicks:(e,t)=>{var n=t.payload,r=n.axisType,i=n.axisId,a=n.ticks;e[r][i]=yL(a)},removeRenderedTicks:(e,t)=>{var n=t.payload,r=n.axisType,i=n.axisId;delete e[r][i]}}}),d4=u4.actions,xue=d4.setRenderedTicks,Sue=d4.removeRenderedTicks,Cue=u4.reducer,wue=[`axisLine`,`width`,`height`,`className`,`hide`,`ticks`,`axisType`,`axisId`];function f4(e,t){return Oue(e)||Due(e,t)||Eue(e,t)||Tue()}function Tue(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Eue(e,t){if(e){if(typeof e==`string`)return p4(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p4(e,t):void 0}}function p4(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Due(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function Oue(e){if(Array.isArray(e))return e}function kue(e,t){if(e==null)return{};var n,r,i=Aue(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Aue(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function m4(){return m4=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},m4.apply(null,arguments)}function h4(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 g4(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?h4(Object(n),!0).forEach(function(t){jue(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h4(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function jue(e,t,n){return(t=Mue(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Mue(e){var t=Nue(e,`string`);return typeof t==`symbol`?t:t+``}function Nue(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 _4={x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:`bottom`,ticks:[],stroke:`#666`,tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:`preserveEnd`,zIndex:KH.axis};function Pue(e){var t=e.x,n=e.y,r=e.width,i=e.height,a=e.orientation,o=e.mirror,s=e.axisLine,c=e.otherSvgProps;if(!s)return null;var l=g4(g4(g4({},c),fN(s)),{},{fill:`none`});if(a===`top`||a===`bottom`){var u=+(a===`top`&&!o||a===`bottom`&&o);l=g4(g4({},l),{},{x1:t,y1:n+u*i,x2:t+r,y2:n+u*i})}else{var d=+(a===`left`&&!o||a===`right`&&o);l=g4(g4({},l),{},{x1:t+d*r,y1:n,x2:t+d*r,y2:n+i})}return y.createElement(`line`,m4({},l,{className:Cn(`recharts-cartesian-axis-line`,PN(s,`className`))}))}function Fue(e,t,n,r,i,a,o,s,c){var l,u,d,f,p,m,h=s?-1:1,g=e.tickSize||o,_=Q(e.tickCoord)?e.tickCoord:e.coordinate;switch(a){case`top`:l=u=e.coordinate,f=n+ +!s*i,d=f-h*g,m=d-h*c,p=_;break;case`left`:d=f=e.coordinate,u=t+ +!s*r,l=u-h*g,p=l-h*c,m=_;break;case`right`:d=f=e.coordinate,u=t+ +s*r,l=u+h*g,p=l+h*c,m=_;break;default:l=u=e.coordinate,f=n+ +s*i,d=f+h*g,m=d+h*c,p=_}return{line:{x1:l,y1:d,x2:u,y2:f},tick:{x:p,y:m}}}function Iue(e,t){switch(e){case`left`:return t?`start`:`end`;case`right`:return t?`end`:`start`;default:return`middle`}}function Lue(e,t){switch(e){case`left`:case`right`:return`middle`;case`top`:return t?`start`:`end`;default:return t?`end`:`start`}}function Rue(e){var t=e.option,n=e.tickProps,r=e.value,i,a=Cn(n.className,`recharts-cartesian-axis-tick-value`);if(y.isValidElement(t))i=y.cloneElement(t,g4(g4({},n),{},{className:a}));else if(typeof t==`function`)i=t(g4(g4({},n),{},{className:a}));else{var o=`recharts-cartesian-axis-tick-value`;typeof t!=`boolean`&&(o=Cn(o,Pce(t))),i=y.createElement(s2,m4({},n,{className:o}),r)}return i}function zue(e){var t=e.ticks,n=e.axisType,r=e.axisId,i=BF(),a=(0,y.useRef)(null);return(0,y.useEffect)(()=>{if(r!=null&&n!=null){var e=t.map(e=>({value:e.value,coordinate:e.coordinate,offset:e.offset,index:e.index})),o=a.current;o!=null&&o.axisId===r&&o.axisType===n&&cue(o.ticks,e)||(a.current={ticks:e,axisId:r,axisType:n},i(xue({ticks:e,axisId:r,axisType:n})))}},[i,t,r,n]),(0,y.useEffect)(()=>r==null||n==null?QN:()=>{i(Sue({axisId:r,axisType:n}))},[i,r,n]),null}var Bue=(0,y.forwardRef)((e,t)=>{var n=e.ticks,r=n===void 0?[]:n,i=e.tick,a=e.tickLine,o=e.stroke,s=e.tickFormatter,c=e.unit,l=e.padding,u=e.tickTextProps,d=e.orientation,f=e.mirror,p=e.x,m=e.y,h=e.width,g=e.height,_=e.tickSize,v=e.tickMargin,b=e.fontSize,x=e.letterSpacing,S=e.getTicksConfig,C=e.events,w=e.axisType,T=e.axisId,E=l4(g4(g4({},S),{},{ticks:r}),b,x),D=fN(S),O=pN(i),k=t2(D.textAnchor)?D.textAnchor:Iue(d,f),A=Lue(d,f),ee={};typeof a==`object`&&(ee=a);var j=g4(g4({},D),{},{fill:`none`},ee),M=E.map(e=>g4({entry:e},Fue(e,p,m,h,g,d,_,f,v))),N=M.map(e=>{var t=e.entry,n=e.line;return y.createElement(TN,{className:`recharts-cartesian-axis-tick`,key:`tick-${t.value}-${t.coordinate}-${t.tickCoord}`},a&&y.createElement(`line`,m4({},j,n,{className:Cn(`recharts-cartesian-axis-tick-line`,PN(a,`className`))})))}),P=M.map((e,t)=>{var n=e.entry,r=e.tick,a=g4(g4({},g4(g4(g4(g4({verticalAnchor:A},D),{},{textAnchor:k,stroke:`none`,fill:o},r),{},{index:t,payload:n,visibleTicksCount:E.length,tickFormatter:s,padding:l},u),{},{angle:u?.angle??D.angle??0})),O);return y.createElement(TN,m4({className:`recharts-cartesian-axis-tick-label`,key:`tick-label-${n.value}-${n.coordinate}-${n.tickCoord}`},Nie(C,n,t)),i&&y.createElement(Rue,{option:i,tickProps:a,value:`${typeof s==`function`?s(n.value,t):n.value}${c||``}`}))});return y.createElement(`g`,{className:`recharts-cartesian-axis-ticks recharts-${w}-ticks`},y.createElement(zue,{ticks:E,axisId:T,axisType:w}),P.length>0&&y.createElement(e1,{zIndex:KH.label},y.createElement(`g`,{className:`recharts-cartesian-axis-tick-labels recharts-${w}-tick-labels`,ref:t},P)),N.length>0&&y.createElement(`g`,{className:`recharts-cartesian-axis-tick-lines recharts-${w}-tick-lines`},N))}),Vue=(0,y.forwardRef)((e,t)=>{var n=e.axisLine,r=e.width,i=e.height,a=e.className,o=e.hide,s=e.ticks,c=e.axisType,l=e.axisId,u=kue(e,wue),d=f4((0,y.useState)(``),2),f=d[0],p=d[1],m=f4((0,y.useState)(``),2),h=m[0],g=m[1],_=(0,y.useRef)(null);(0,y.useImperativeHandle)(t,()=>({getCalculatedWidth:()=>yue({ticks:_.current,label:e.labelRef?.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin}),getCalculatedHeight:()=>bue({ticks:_.current,label:e.labelRef?.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}));var v=(0,y.useCallback)(e=>{if(e){var t=e.getElementsByClassName(`recharts-cartesian-axis-tick-value`);_.current=t;var n=t[0];if(n){var r=window.getComputedStyle(n),i=r.fontSize,a=r.letterSpacing;(i!==f||a!==h)&&(p(i),g(a))}}},[f,h]);return o||r!=null&&r<=0||i!=null&&i<=0?null:y.createElement(e1,{zIndex:e.zIndex},y.createElement(TN,{className:Cn(`recharts-cartesian-axis`,a)},y.createElement(Pue,{x:e.x,y:e.y,width:r,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:n,otherSvgProps:fN(e)}),y.createElement(Bue,{ref:v,axisType:c,events:u,fontSize:f,getTicksConfig:e,height:e.height,letterSpacing:h,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:s,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:l}),y.createElement(mce,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},y.createElement(wce,{label:e.label,labelRef:e.labelRef}),e.children)))}),v4=y.forwardRef((e,t)=>{var n=$P(e,_4);return y.createElement(Vue,m4({},n,{ref:t}))});v4.displayName=`CartesianAxis`;var y4=(0,y.createContext)({grid:{stroke:`#ccc`,fill:`none`}});y4.Provider;var Hue=()=>(0,y.useContext)(y4),Uue=[`x1`,`y1`,`x2`,`y2`,`key`],Wue=[`offset`],Gue=[`xAxisId`,`yAxisId`],Kue=[`xAxisId`,`yAxisId`];function b4(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 x4(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?b4(Object(n),!0).forEach(function(t){que(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):b4(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function que(e,t,n){return(t=Jue(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Jue(e){var t=Yue(e,`string`);return typeof t==`symbol`?t:t+``}function Yue(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)}function S4(){return S4=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},S4.apply(null,arguments)}function C4(e,t){if(e==null)return{};var n,r,i=Xue(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Xue(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var Zue=e=>{var t=e.fill;if(!t||t===`none`)return null;var n=e.fillOpacity,r=e.x,i=e.y,a=e.width,o=e.height,s=e.ry;return y.createElement(`rect`,{x:r,y:i,ry:s,width:a,height:o,stroke:`none`,fill:t,fillOpacity:n,className:`recharts-cartesian-grid-bg`})};function w4(e){var t=e.option,n=e.lineItemProps,r;if(y.isValidElement(t))r=y.cloneElement(t,n);else if(typeof t==`function`)r=t(n);else{var i=n.x1,a=n.y1,o=n.x2,s=n.y2,c=n.key,l=fN(C4(n,Uue))??{};l.offset;var u=C4(l,Wue),d=Array.isArray(u.strokeDasharray)?u.strokeDasharray.join(`,`):u.strokeDasharray;r=y.createElement(`line`,S4({},u,{strokeDasharray:d,x1:i,y1:a,x2:o,y2:s,fill:`none`,key:c}))}return r}function Que(e){var t=e.x,n=e.width,r=e.horizontal,i=r===void 0||r,a=e.horizontalPoints;if(!i||!a||!a.length)return null;e.xAxisId,e.yAxisId;var o=C4(e,Gue),s=a.map((e,r)=>{var a=x4(x4({},o),{},{x1:t,y1:e,x2:t+n,y2:e,key:`line-${r}`,index:r});return y.createElement(w4,{key:`line-${r}`,option:i,lineItemProps:a})});return y.createElement(`g`,{className:`recharts-cartesian-grid-horizontal`},s)}function $ue(e){var t=e.y,n=e.height,r=e.vertical,i=r===void 0||r,a=e.verticalPoints;if(!i||!a||!a.length)return null;e.xAxisId,e.yAxisId;var o=C4(e,Kue),s=a.map((e,r)=>{var a=x4(x4({},o),{},{x1:e,y1:t,x2:e,y2:t+n,key:`line-${r}`,index:r});return y.createElement(w4,{option:i,lineItemProps:a,key:`line-${r}`})});return y.createElement(`g`,{className:`recharts-cartesian-grid-vertical`},s)}function ede(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,i=e.y,a=e.width,o=e.height,s=e.horizontalPoints,c=e.horizontal;if(!(c===void 0||c)||!t||!t.length||s==null)return null;var l=s.map(e=>Math.round(e+i-i)).sort((e,t)=>e-t);i!==l[0]&&l.unshift(0);var u=l.map((e,s)=>{var c=l[s+1],u=c==null?i+o-e:c-e;if(u<=0)return null;var d=s%t.length;return y.createElement(`rect`,{key:`react-${s}`,y:e,x:r,height:u,width:a,stroke:`none`,fill:t[d],fillOpacity:n,className:`recharts-cartesian-grid-bg`})});return y.createElement(`g`,{className:`recharts-cartesian-gridstripes-horizontal`},u)}function tde(e){var t=e.vertical,n=t===void 0||t,r=e.verticalFill,i=e.fillOpacity,a=e.x,o=e.y,s=e.width,c=e.height,l=e.verticalPoints;if(!n||!r||!r.length)return null;var u=l.map(e=>Math.round(e+a-a)).sort((e,t)=>e-t);a!==u[0]&&u.unshift(0);var d=u.map((e,t)=>{var n=u[t+1],l=n==null?a+s-e:n-e;if(l<=0)return null;var d=t%r.length;return y.createElement(`rect`,{key:`react-${t}`,x:e,y:o,width:l,height:c,stroke:`none`,fill:r[d],fillOpacity:i,className:`recharts-cartesian-grid-bg`})});return y.createElement(`g`,{className:`recharts-cartesian-gridstripes-vertical`},d)}var nde=(e,t)=>{var n=e.xAxis,r=e.width,i=e.height,a=e.offset;return fR(l4(x4(x4(x4({},_4),n),{},{ticks:pR(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),a.left,a.left+a.width,t)},rde=(e,t)=>{var n=e.yAxis,r=e.width,i=e.height,a=e.offset;return fR(l4(x4(x4(x4({},_4),n),{},{ticks:pR(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),a.top,a.top+a.height,t)},ide={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:KH.grid};function T4(e){var t=WR(),n=GR(),r=UR(),i=x4(x4({},$P(e,ide)),{},{x:Q(e.x)?e.x:r.left,y:Q(e.y)?e.y:r.top,width:Q(e.width)?e.width:r.width,height:Q(e.height)?e.height:r.height}),a=i.xAxisId,o=i.yAxisId,s=i.x,c=i.y,l=i.width,u=i.height,d=i.syncWithTicks,f=i.horizontalValues,p=i.verticalValues,m=kR(),h=HF(e=>EZ(e,`xAxis`,a,m)),g=HF(e=>EZ(e,`yAxis`,o,m)),_=Hue(),v={stroke:i.stroke??_.grid.stroke,strokeWidth:i.strokeWidth??_.grid.strokeWidth,strokeOpacity:i.strokeOpacity??_.grid.strokeOpacity,strokeDasharray:i.strokeDasharray??_.grid.strokeDasharray};if(!sR(l)||!sR(u)||!Q(s)||!Q(c))return null;var b=i.verticalCoordinatesGenerator||nde,x=i.horizontalCoordinatesGenerator||rde,S=i.horizontalPoints,C=i.verticalPoints;if((!S||!S.length)&&typeof x==`function`){var w=f&&f.length,T=x({yAxis:g?x4(x4({},g),{},{ticks:w?f:g.ticks}):void 0,width:t??l,height:n??u,offset:r},w?!0:d);MR(Array.isArray(T),`horizontalCoordinatesGenerator should return Array but instead it returned [${typeof T}]`),Array.isArray(T)&&(S=T)}if((!C||!C.length)&&typeof b==`function`){var E=p&&p.length,D=b({xAxis:h?x4(x4({},h),{},{ticks:E?p:h.ticks}):void 0,width:t??l,height:n??u,offset:r},E?!0:d);MR(Array.isArray(D),`verticalCoordinatesGenerator should return Array but instead it returned [${typeof D}]`),Array.isArray(D)&&(C=D)}return y.createElement(e1,{zIndex:i.zIndex},y.createElement(`g`,{className:`recharts-cartesian-grid`},y.createElement(Zue,{fill:i.fill??_.grid.fill,fillOpacity:i.fillOpacity??_.grid.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),y.createElement(ede,S4({},i,{horizontalPoints:S})),y.createElement(tde,S4({},i,{verticalPoints:C})),y.createElement(Que,S4({},i,v,{offset:r,horizontalPoints:S,xAxis:h,yAxis:g})),y.createElement($ue,S4({},i,v,{offset:r,verticalPoints:C,xAxis:h,yAxis:g}))))}T4.displayName=`CartesianGrid`;var E4=AL({name:`errorBars`,initialState:{},reducers:{addErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.errorBar;e[r]||(e[r]=[]),e[r].push(i)},replaceErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.prev,a=n.next;e[r]&&(e[r]=e[r].map(e=>e.dataKey===i.dataKey&&e.direction===i.direction?a:e))},removeErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.errorBar;e[r]&&(e[r]=e[r].filter(e=>e.dataKey!==i.dataKey||e.direction!==i.direction))}}}),D4=E4.actions;D4.addErrorBar,D4.replaceErrorBar,D4.removeErrorBar;var ade=E4.reducer;function O4(e,t){var n=HF(t=>OY(t,e)),r=HF(e=>jY(e,t)),i=n?.allowDataOverflow??EY.allowDataOverflow,a=r?.allowDataOverflow??kY.allowDataOverflow;return{needClip:i||a,needClipX:i,needClipY:a}}function ode(e){var t=e.xAxisId,n=e.yAxisId,r=e.clipPathId,i=q2(),a=O4(t,n),o=a.needClipX,s=a.needClipY,c=a.needClip,l=HF(e=>tZ(e,t,!1)),u=HF(e=>nZ(e,n,!1));if(!c||!i)return null;var d=i.x,f=i.y,p=i.width,m=i.height,h=o&&l?Math.min(l[0],l[1]):d-p/2,g=s&&u?Math.min(u[0],u[1]):f-m/2,_=o&&l?Math.abs(l[1]-l[0]):p*2,v=s&&u?Math.abs(u[1]-u[0]):m*2;return y.createElement(`clipPath`,{id:`clipPath-${r}`},y.createElement(`rect`,{x:h,y:g,width:_,height:v}))}function sde(e){var t=pN(e),n=3,r=2;if(t!=null){var i=t.r,a=t.strokeWidth,o=Number(i),s=Number(a);return(Number.isNaN(o)||o<0)&&(o=n),(Number.isNaN(s)||s<0)&&(s=r),{r:o,strokeWidth:s}}return{r:n,strokeWidth:r}}function k4(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.xAxisId??0}function A4(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.yAxisId??0}var j4=(e,t,n)=>kZ(e,`xAxis`,k4(e,t),n),M4=(e,t,n)=>OZ(e,`xAxis`,k4(e,t),n),N4=(e,t,n)=>kZ(e,`yAxis`,A4(e,t),n),P4=(e,t,n)=>OZ(e,`yAxis`,A4(e,t),n),cde=$([KR,j4,N4,M4,P4],(e,t,n,r,i)=>dR(e,`xAxis`)?_R(t,r,!1):_R(n,i,!1)),F4=$([zY,(e,t)=>t],(e,t)=>e.filter(e=>e.type===`area`).find(e=>e.id===t)),I4=e=>dR(KR(e),`xAxis`)?`yAxis`:`xAxis`,lde=(e,t)=>I4(e)===`yAxis`?A4(e,t):k4(e,t),L4=(e,t,n)=>dX(e,I4(e),lde(e,t),n),ude=$([KR,j4,N4,M4,P4,$([F4,L4],(e,t)=>{if(e!=null&&t!=null){var n=e.stackId,r=hU(e);if(n!=null&&r!=null){var i=(t[n]?.stackedData)?.find(e=>e.key===r);if(i!=null)return i.map(e=>[e[0],e[1]])}}}),lH,cde,F4,GH,$([F4,L4],(e,t)=>{if(e!=null&&e.stackId!=null&&t!=null){var n=t[e.stackId];if(n!=null)return n.graphicalItems.map(e=>e.dataKey).filter(ZN)}})],(e,t,n,r,i,a,o,s,c,l,u)=>{var d=o.chartData,f=o.dataStartIndex,p=o.dataEndIndex;if(!(c==null||e!==`horizontal`&&e!==`vertical`||t==null||n==null||r==null||i==null||r.length===0||i.length===0||s==null)){var m=c.data,h=m&&m.length>0?m:d?.slice(f,p+1);if(h!=null)return Fde({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataStartIndex:f,areaSettings:c,stackedData:a,displayedData:h,chartBaseValue:l,bandSize:s,stackDataKeys:u})}}),dde=[`animationElapsedTime`,`isAnimating`,`isEntrance`,`layout`,`isRange`,`stroke`,`connectNulls`],fde=[`id`,`baseLine`];function R4(){return R4=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},R4.apply(null,arguments)}function z4(e,t){if(e==null)return{};var n,r,i=pde(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function pde(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function mde(e){var t=e.alpha,n=e.baseLine,r=e.points,i=e.strokeWidth,a=r[0]?.x,o=r[r.length-1]?.x;if(!oR(a)||!oR(o))return null;var s=t*Math.abs(a-o),c=Math.max(...r.map(e=>e.y||0));return Q(n)?c=Math.max(n,c):n&&Array.isArray(n)&&n.length&&(c=Math.max(...n.map(e=>e.y||0),c)),Q(c)?y.createElement(`rect`,{x:a<o?a:a-s,y:0,width:s,height:Math.floor(c+(i?parseInt(`${i}`,10):1))}):null}function hde(e){var t=e.alpha,n=e.baseLine,r=e.points,i=e.strokeWidth,a=r[0]?.y,o=r[r.length-1]?.y;if(!oR(a)||!oR(o))return null;var s=t*Math.abs(a-o),c=Math.max(...r.map(e=>e.x||0));return Q(n)?c=Math.max(n,c):n&&Array.isArray(n)&&n.length&&(c=Math.max(...n.map(e=>e.x||0),c)),Q(c)?y.createElement(`rect`,{x:0,y:a<o?a:a-s,width:c+(i?parseInt(`${i}`,10):1),height:Math.floor(s)}):null}function gde(e){var t=e.alpha,n=e.layout,r=e.points,i=e.baseLine,a=e.strokeWidth;return n===`vertical`?y.createElement(hde,{alpha:t,points:r,baseLine:i,strokeWidth:a}):y.createElement(mde,{alpha:t,points:r,baseLine:i,strokeWidth:a})}function _de(e){var t=e.animationElapsedTime,n=t===void 0?1:t,r=e.isAnimating,i=r!==void 0&&r,a=e.isEntrance,o=a!==void 0&&a,s=e.layout,c=e.isRange,l=e.stroke,u=e.connectNulls,d=z4(e,dde),f=s===`vertical`?`vertical`:`horizontal`,p=u??!1,m=L2(),h=d.id,g=d.baseLine,_=fN(z4(d,fde)),v=y.createElement(tB,R4({},d,{id:h,baseLine:g,connectNulls:p,stroke:`none`,className:`recharts-area-area`,layout:f})),b=l!==`none`&&y.createElement(tB,R4({},_,{className:`recharts-area-curve`,layout:f,type:d.type,connectNulls:p,fill:`none`,stroke:l,points:d.points})),x=l!==`none`&&c&&Array.isArray(g)&&y.createElement(tB,R4({},_,{className:`recharts-area-curve`,layout:f,type:d.type,connectNulls:p,fill:`none`,stroke:l,points:g}));return o&&(i||n<1)?y.createElement(TN,null,y.createElement(`defs`,null,y.createElement(`clipPath`,{id:m},y.createElement(gde,{alpha:n,points:d.points??[],baseLine:g,layout:f,strokeWidth:d.strokeWidth}))),y.createElement(TN,{clipPath:`url(#${m})`},v,b,x)):y.createElement(y.Fragment,null,v,b,x)}var vde=[`id`],yde=[`activeDot`,`animationBegin`,`animationDuration`,`animationEasing`,`connectNulls`,`dot`,`fill`,`fillOpacity`,`hide`,`isAnimationActive`,`legendType`,`stroke`,`xAxisId`,`yAxisId`];function B4(){return B4=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},B4.apply(null,arguments)}function V4(e,t){if(e==null)return{};var n,r,i=bde(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function bde(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function H4(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 U4(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?H4(Object(n),!0).forEach(function(t){xde(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):H4(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function xde(e,t,n){return(t=Sde(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Sde(e){var t=Cde(e,`string`);return typeof t==`symbol`?t:t+``}function Cde(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 W4={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:`ease`,animationMatchBy:j2,animationInterpolateFn:(e,t)=>e==null?[]:t===1?e.flatMap(e=>e.status===`removed`?[]:[e.next]):e.flatMap(e=>e.status===`matched`?[U4(U4({},e.next),{},{x:qN(e.prev.x,e.next.x,t),y:qN(e.prev.y,e.next.y,t)})]:e.status===`added`?[e.next]:[]),connectNulls:!1,dot:!1,fill:`#3182bd`,fillOpacity:.6,hide:!1,isAnimationActive:`auto`,legendType:`line`,stroke:`#3182bd`,strokeWidth:1,type:`linear`,label:!1,shape:_de,xAxisId:0,yAxisId:0,zIndex:KH.area};function G4(e,t){return e&&e!==`none`?e:t}var wde=e=>{var t=e.dataKey,n=e.name,r=e.stroke,i=e.fill,a=e.legendType;return[{inactive:e.hide,dataKey:t,type:a,color:G4(r,i),value:yR(n,t),payload:e}]},Tde=y.memo(e=>{var t=e.dataKey,n=e.data,r=e.stroke,i=e.strokeWidth,a=e.fill,o=e.name,s=e.hide,c=e.unit,l=e.formatter,u=e.tooltipType,d=e.id,f={dataDefinedOnItem:n,getPosition:QN,settings:{stroke:r,strokeWidth:i,fill:a,dataKey:t,nameKey:void 0,name:yR(o,t),hide:s,type:u,color:G4(r,a),unit:c,formatter:l,graphicalItemId:d}};return y.createElement(Wce,{tooltipEntrySettings:f})});function Ede(e){var t=e.clipPathId,n=e.points,r=e.props,i=r.needClip,a=r.dot,o=r.dataKey,s=fN(r);return y.createElement(kle,{points:n,dot:a,className:`recharts-area-dots`,dotClassName:`recharts-area-dot`,dataKey:o,baseProps:s,needClip:i,clipPathId:t})}function Dde(e){var t=e.showLabels,n=e.children,r=e.points.map(e=>{var t={x:e.x??0,y:e.y??0,width:0,lowerWidth:0,upperWidth:0,height:0};return U4(U4({},t),{},{value:e.value,payload:e.payload,parentViewBox:void 0,viewBox:t,fill:void 0})});return y.createElement(kce,{value:t?r:void 0},n)}function Ode(e){var t=e.points,n=e.baseLine,r=e.needClip,i=e.clipPathId,a=e.props,o=e.animationElapsedTime,s=e.isAnimating,c=e.isEntrance,l=a.layout,u=a.type,d=a.stroke,f=a.connectNulls,p=a.isRange,m=a.shape,h=a.id,g=V4(a,vde),_=U4(U4({},mN(g)),{},{id:h,points:t,connectNulls:f,type:u,baseLine:n,layout:l,stroke:d,isRange:p,animationElapsedTime:o,isAnimating:s,isEntrance:c});return y.createElement(y.Fragment,null,t?.length>1&&y.createElement(TN,{clipPath:r?`url(#clipPath-${i})`:void 0},y.createElement(Uce,{option:m,DefaultShape:W4.shape,shapeProps:_})),y.createElement(Ede,{points:t,props:g,clipPathId:i}))}function kde(e,t,n){return Q(e)?qN(Q(t)?t:void 0,e,n):YN(e)||BN(e)?qN(Q(t)?t:void 0,0,n):e}function Ade(e){var t=e.needClip,n=e.clipPathId,r=e.props,i=e.previousPointsRef,a=e.previousBaselineRef,o=r.points,s=r.baseLine,c=r.isAnimationActive,l=r.animationBegin,u=r.animationDuration,d=r.animationEasing,f=r.animationMatchBy,p=r.animationInterpolateFn,m=(0,y.useMemo)(()=>({points:o,baseLine:s}),[o,s]),h=P2(m,a),g=JR(),_=ole(r.onAnimationStart,r.onAnimationEnd),v=_.isAnimating,b=_.handleAnimationStart,x=_.handleAnimationEnd,S=h.startValue;if(g==null)return null;var C=Array.isArray(s)&&Array.isArray(S)?N2(S,s,f):Array.isArray(s)?N2(null,s,f):null;return y.createElement(sle,{animationInput:m,animationIdPrefix:`recharts-area-`,items:o,previousItemsRef:i,isAnimationActive:c,animationBegin:l,animationDuration:u,animationEasing:d,onAnimationStart:b,onAnimationEnd:x,animationInterpolateFn:p,animationMatchBy:f,layout:g},(e,i,a)=>{var c=i===1?s:Array.isArray(s)?p(C,i,g):a?s:kde(s,S,i);return h.syncStepValue(c,i),y.createElement(Dde,{showLabels:!v,points:o},r.children,y.createElement(Ode,{points:e,baseLine:c,needClip:t,clipPathId:n,props:r,animationElapsedTime:i,isAnimating:v||i<1,isEntrance:a}),y.createElement(Mce,{label:r.label}))})}function jde(e){var t=e.needClip,n=e.clipPathId,r=e.props,i=(0,y.useRef)(null),a=(0,y.useRef)();return y.createElement(Ade,{needClip:t,clipPathId:n,props:r,previousPointsRef:i,previousBaselineRef:a})}var Mde=class extends y.PureComponent{render(){var e=this.props,t=e.hide,n=e.dot,r=e.points,i=e.className,a=e.top,o=e.left,s=e.needClip,c=e.xAxisId,l=e.yAxisId,u=e.width,d=e.height,f=e.id,p=e.baseLine,m=e.zIndex;if(t)return null;var h=Cn(`recharts-area`,i),g=f,_=sde(n),v=_.r,b=_.strokeWidth,x=E2(n),S=v*2+b,C=s?`url(#clipPath-${x?``:`dots-`}${g})`:void 0;return y.createElement(e1,{zIndex:m},y.createElement(TN,{className:h},s&&y.createElement(`defs`,null,y.createElement(ode,{clipPathId:g,xAxisId:c,yAxisId:l}),!x&&y.createElement(`clipPath`,{id:`clipPath-dots-${g}`},y.createElement(`rect`,{x:o-S/2,y:a-S/2,width:u+S,height:d+S}))),y.createElement(jde,{needClip:s,clipPathId:g,props:this.props})),y.createElement(X2,{points:r,mainColor:G4(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:C}),this.props.isRange&&Array.isArray(p)&&y.createElement(X2,{points:p,mainColor:G4(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:C}))}};function Nde(e){var t=e.activeDot,n=e.animationBegin,r=e.animationDuration,i=e.animationEasing,a=e.connectNulls,o=e.dot,s=e.fill,c=e.fillOpacity,l=e.hide,u=e.isAnimationActive,d=e.legendType,f=e.stroke,p=e.xAxisId,m=e.yAxisId,h=V4(e,yde),g=qR(),_=b$(),v=O4(p,m).needClip,b=kR(),x=HF(t=>ude(t,e.id,b))??{},S=x.points,C=x.isRange,w=x.baseLine,T=q2();if(g!==`horizontal`&&g!==`vertical`||T==null||_!==`AreaChart`&&_!==`ComposedChart`)return null;var E=T.height,D=T.width,O=T.x,k=T.y;return!S||!S.length?null:y.createElement(Mde,B4({},h,{activeDot:t,animationBegin:n,animationDuration:r,animationEasing:i,baseLine:w,connectNulls:a,dot:o,fill:s,fillOpacity:c,height:E,hide:l,layout:g,isAnimationActive:u,isRange:C,legendType:d,needClip:v,points:S,stroke:f,width:D,left:O,top:k,xAxisId:p,yAxisId:m}))}var Pde=(e,t,n,r,i)=>{var a=n??t;if(Q(a))return a;var o=e===`horizontal`?i:r,s=o.scale.domain();if(o.type===`number`){var c=Math.max(s[0],s[1]),l=Math.min(s[0],s[1]);return a===`dataMin`?l:a===`dataMax`||c<0?c:Math.max(Math.min(s[0],s[1]),0)}return a===`dataMin`?s[0]:a===`dataMax`?s[1]:s[0]};function Fde(e){var t=e.areaSettings,n=t.connectNulls,r=t.baseValue,i=t.dataKey,a=e.stackedData,o=e.layout,s=e.chartBaseValue,c=e.xAxis,l=e.yAxis,u=e.displayedData,d=e.dataStartIndex,f=e.xAxisTicks,p=e.yAxisTicks,m=e.bandSize,h=e.stackDataKeys,g=a&&a.length,_=Pde(o,s,r,c,l),v=o===`horizontal`,y=!1,b=u.map((e,t)=>{var r;if(g)r=a[d+t];else{var o=uR(e,i);Array.isArray(o)?(r=o,y=!0):r=[_,o]}var s=r?.[1]??null,u=uR(e,i),b=g&&u==null&&h!=null&&h.length>0&&h.every(t=>uR(e,t)==null),x=s==null||g&&!n&&u==null||b;return v?{x:mR({axis:c,ticks:f,bandSize:m,entry:e,index:t}),y:x?null:l.scale.map(s)??null,value:r,payload:e}:{x:x?null:c.scale.map(s)??null,y:mR({axis:l,ticks:p,bandSize:m,entry:e,index:t}),value:r,payload:e}});return{points:b,baseLine:(g||y?b.map(e=>{var t=Array.isArray(e.value)?e.value[0]:null;return v?{x:e.x,y:t!=null&&e.y!=null?l.scale.map(t)??null:null,payload:e.payload}:{x:t==null?null:c.scale.map(t)??null,y:e.y,payload:e.payload}}):v?l.scale.map(_):c.scale.map(_))??0,isRange:y}}function Ide(e){var t=$P(e,W4),n=kR();return y.createElement(hle,{id:t.id,type:`area`},e=>y.createElement(y.Fragment,null,y.createElement(Gce,{legendPayload:wde(t)}),y.createElement(Tde,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:e}),y.createElement(ble,{type:`area`,id:e,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:Hoe(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:n,connectNulls:t.connectNulls}),y.createElement(Nde,B4({},t,{id:e}))))}var K4=y.memo(Ide,tz);K4.displayName=`Area`;var Lde=[`domain`,`range`],Rde=[`domain`,`range`];function q4(e,t){if(e==null)return{};var n,r,i=zde(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function zde(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function J4(e,t){return e===t?!0:Array.isArray(e)&&e.length===2&&Array.isArray(t)&&t.length===2?e[0]===t[0]&&e[1]===t[1]:!1}function Y4(e,t){if(e===t)return!0;var n=e.domain,r=e.range,i=q4(e,Lde),a=t.domain,o=t.range,s=q4(t,Rde);return!J4(n,a)||!J4(r,o)?!1:tz(i,s)}var Bde=[`type`],Vde=[`dangerouslySetInnerHTML`,`ticks`,`scale`],Hde=[`id`,`scale`];function X4(){return X4=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},X4.apply(null,arguments)}function Z4(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 Q4(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Z4(Object(n),!0).forEach(function(t){Ude(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Z4(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ude(e,t,n){return(t=Wde(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Wde(e){var t=Gde(e,`string`);return typeof t==`symbol`?t:t+``}function Gde(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)}function $4(e,t){if(e==null)return{};var n,r,i=Kde(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Kde(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function qde(e){var t=BF(),n=(0,y.useRef)(null),r=JR(),i=e.type,a=$4(e,Bde),o=XH(r,`xAxis`,i),s=(0,y.useMemo)(()=>{if(o!=null)return Q4(Q4({},a),{},{type:o})},[a,o]);return(0,y.useLayoutEffect)(()=>{s!=null&&(n.current===null?t(Nle(s)):n.current!==s&&t(Ple({prev:n.current,next:s})),n.current=s)},[s,t]),(0,y.useLayoutEffect)(()=>()=>{n.current&&=(t(Fle(n.current)),null)},[t]),null}var Jde=e=>{var t=e.xAxisId,n=e.className,r=e.height,i=e.label,a=(0,y.useRef)(null),o=(0,y.useRef)(null),s=HF(OR),c=kR(),l=BF(),u=`xAxis`,d=HF(e=>DZ(e,u,t,c)),f=HF(e=>gZ(e,t)),p=HF(e=>xZ(e,t)),m=HF(e=>DY(e,t));if((0,y.useLayoutEffect)(()=>{if(!(r!==`auto`||!f||m2(i)||(0,y.isValidElement)(i)||m==null)){var e=a.current;if(e){var n=e.getCalculatedHeight();Math.round(f.height)!==Math.round(n)&&l(Ble({id:t,height:n}))}}},[d,f,l,i,t,r,m]),f==null||p==null||m==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var h=$4(e,Vde);m.id,m.scale;var g=$4(m,Hde);return y.createElement(v4,X4({},h,g,{ref:a,labelRef:o,x:p.x,y:p.y,width:f.width,height:f.height,className:Cn(`recharts-${u} ${u}`,n),viewBox:s,ticks:d,axisType:u,axisId:t}))},Yde={allowDataOverflow:EY.allowDataOverflow,allowDecimals:EY.allowDecimals,allowDuplicatedCategory:EY.allowDuplicatedCategory,angle:EY.angle,axisLine:_4.axisLine,height:EY.height,hide:!1,includeHidden:EY.includeHidden,interval:EY.interval,label:!1,minTickGap:EY.minTickGap,mirror:EY.mirror,orientation:EY.orientation,padding:EY.padding,reversed:EY.reversed,scale:EY.scale,tick:EY.tick,tickCount:EY.tickCount,tickLine:_4.tickLine,tickSize:_4.tickSize,type:EY.type,niceTicks:EY.niceTicks,xAxisId:0},e3=y.memo(e=>{var t=$P(e,Yde);return y.createElement(y.Fragment,null,y.createElement(qde,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),y.createElement(Jde,t))},Y4);e3.displayName=`XAxis`;var Xde=[`type`],Zde=[`dangerouslySetInnerHTML`,`ticks`,`scale`],Qde=[`id`,`scale`];function t3(){return t3=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},t3.apply(null,arguments)}function n3(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 r3(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?n3(Object(n),!0).forEach(function(t){$de(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):n3(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function $de(e,t,n){return(t=efe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function efe(e){var t=tfe(e,`string`);return typeof t==`symbol`?t:t+``}function tfe(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)}function i3(e,t){if(e==null)return{};var n,r,i=nfe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function nfe(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function rfe(e){var t=BF(),n=(0,y.useRef)(null),r=JR(),i=e.type,a=i3(e,Xde),o=XH(r,`yAxis`,i),s=(0,y.useMemo)(()=>{if(o!=null)return r3(r3({},a),{},{type:o})},[o,a]);return(0,y.useLayoutEffect)(()=>{s!=null&&(n.current===null?t(Ile(s)):n.current!==s&&t(Lle({prev:n.current,next:s})),n.current=s)},[s,t]),(0,y.useLayoutEffect)(()=>()=>{n.current&&=(t(Rle(n.current)),null)},[t]),null}function ife(e){var t=e.yAxisId,n=e.className,r=e.width,i=e.label,a=(0,y.useRef)(null),o=(0,y.useRef)(null),s=HF(OR),c=kR(),l=BF(),u=`yAxis`,d=HF(e=>CZ(e,t)),f=HF(e=>SZ(e,t)),p=HF(e=>DZ(e,u,t,c)),m=HF(e=>AY(e,t));if((0,y.useLayoutEffect)(()=>{if(!(r!==`auto`||!d||m2(i)||(0,y.isValidElement)(i)||m==null)){var e=a.current;if(e){var n=e.getCalculatedWidth();Math.round(d.width)!==Math.round(n)&&l(zle({id:t,width:n}))}}},[p,d,l,i,t,r,m]),d==null||f==null||m==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var h=i3(e,Zde);m.id,m.scale;var g=i3(m,Qde);return y.createElement(v4,t3({},h,g,{ref:a,labelRef:o,x:f.x,y:f.y,tickTextProps:r===`auto`?{width:void 0}:{width:r},width:d.width,height:d.height,className:Cn(`recharts-${u} ${u}`,n),viewBox:s,ticks:p,axisType:u,axisId:t}))}var afe={allowDataOverflow:kY.allowDataOverflow,allowDecimals:kY.allowDecimals,allowDuplicatedCategory:kY.allowDuplicatedCategory,angle:kY.angle,axisLine:_4.axisLine,hide:!1,includeHidden:kY.includeHidden,interval:kY.interval,label:!1,minTickGap:kY.minTickGap,mirror:kY.mirror,orientation:kY.orientation,padding:kY.padding,reversed:kY.reversed,scale:kY.scale,tick:kY.tick,tickCount:kY.tickCount,tickLine:_4.tickLine,tickSize:_4.tickSize,type:kY.type,niceTicks:kY.niceTicks,width:kY.width,yAxisId:0},a3=y.memo(e=>{var t=$P(e,afe);return y.createElement(y.Fragment,null,y.createElement(rfe,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),y.createElement(ife,t))},Y4);a3.displayName=`YAxis`;var o3=$([(e,t)=>t,KR,fU,xU,UQ,GQ,w$,DR],I$);function ofe(e){return`getBBox`in e.currentTarget&&typeof e.currentTarget.getBBox==`function`}function s3(e){var t=e.currentTarget.getBoundingClientRect(),n,r;if(ofe(e)){var i=e.currentTarget.getBBox();n=i.width>0?t.width/i.width:1,r=i.height>0?t.height/i.height:1}else{var a=e.currentTarget;n=a.offsetWidth>0?t.width/a.offsetWidth:1,r=a.offsetHeight>0?t.height/a.offsetHeight:1}var o=(e,i)=>({relativeX:Math.round((e-t.left)/n),relativeY:Math.round((i-t.top)/r)});return`touches`in e?Array.from(e.touches).map(e=>o(e.clientX,e.clientY)):o(e.clientX,e.clientY)}var c3=xL(`mouseClick`),l3=tR();l3.startListening({actionCreator:c3,effect:(e,t)=>{var n=e.payload,r=o3(t.getState(),s3(n));r?.activeIndex!=null&&t.dispatch(JZ({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var u3=xL(`mouseMove`),d3=tR(),f3=null,p3=null,m3=null;d3.startListening({actionCreator:u3,effect:(e,t)=>{var n=e.payload,r=t.getState().eventSettings,i=r.throttleDelay,a=r.throttledEvents,o=a===`all`||a?.includes(`mousemove`);f3!==null&&(cancelAnimationFrame(f3),f3=null),p3===null||typeof i==`number`&&o||(clearTimeout(p3),p3=null),m3=s3(n);var s=()=>{var e=t.getState(),n=PZ(e,e.tooltip.settings.shared);if(!m3)f3=null,p3=null;else{if(n===`axis`){var r=o3(e,m3);r?.activeIndex==null?t.dispatch(KZ()):t.dispatch(qZ({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}f3=null,p3=null}};o?i===`raf`?f3=requestAnimationFrame(s):typeof i==`number`&&p3===null&&(p3=setTimeout(s,i)):s()}});function sfe(e,t){return t instanceof HTMLElement?`HTMLElement <${t.tagName} class="${t.className}">`:t===window?`global.window`:e===`children`&&typeof t==`object`&&t?`<<CHILDREN>>`:t}var h3={accessibilityLayer:!0,barCategoryGap:`10%`,barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:`none`,syncId:void 0,syncMethod:`index`,baseValue:void 0,reverseStackOrder:!1},g3=AL({name:`rootProps`,initialState:h3,reducers:{updateOptions:(e,t)=>{e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=t.payload.barGap??h3.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),cfe=g3.reducer,lfe=g3.actions.updateOptions,_3=AL({name:`polarOptions`,initialState:null,reducers:{updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)}});_3.actions.updatePolarOptions;var ufe=_3.reducer,v3=xL(`keyDown`),y3=xL(`focus`),b3=xL(`blur`),x3=tR(),S3=null,C3=null,w3=null;x3.startListening({actionCreator:v3,effect:(e,t)=>{w3=e.payload,S3!==null&&(cancelAnimationFrame(S3),S3=null);var n=t.getState().eventSettings,r=n.throttleDelay,i=n.throttledEvents,a=i===`all`||i.includes(`keydown`);C3===null||typeof r==`number`&&a||(clearTimeout(C3),C3=null);var o=()=>{try{var e=t.getState();if(e.rootProps.accessibilityLayer===!1)return;var n=e.tooltip.keyboardInteraction,r=w3;if(r!==`ArrowRight`&&r!==`ArrowLeft`&&r!==`Enter`)return;var i=lQ(n,jQ(e),cX(e),BQ(e)),a=i==null?-1:Number(i),o=!Number.isFinite(a)||a<0,s=GQ(e),c=jQ(e),l=PZ(e,e.tooltip.settings.shared);if(r===`Enter`){if(o)return;var u=k$(e,l,`hover`,String(n.index));t.dispatch(XZ({active:!n.active,activeIndex:n.index,activeCoordinate:u}));return}var d=AZ(e)===`left-to-right`?1:-1,f=r===`ArrowRight`?1:-1,p;if(o){var m=cX(e),h=BQ(e),g=f*d,_=e=>({active:!1,index:String(e),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(p=-1,g>0){for(var v=0;v<c.length;v++)if(lQ(_(v),c,m,h)!=null){p=v;break}}else for(var y=c.length-1;y>=0;y--)if(lQ(_(y),c,m,h)!=null){p=y;break}if(p<0)return}else{p=a+f*d;var b=s?.length||c.length;if(b===0||p>=b||p<0)return}var x=k$(e,l,`hover`,String(p));t.dispatch(XZ({active:!0,activeIndex:p.toString(),activeCoordinate:x}))}finally{S3=null,C3=null}};a?r===`raf`?S3=requestAnimationFrame(o):typeof r==`number`&&C3===null&&(o(),w3=null,C3=setTimeout(()=>{w3?o():(C3=null,S3=null)},r)):o()}}),x3.startListening({actionCreator:y3,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var r=n.tooltip.keyboardInteraction;if(!r.active&&r.index==null){var i=`0`,a=k$(n,PZ(n,n.tooltip.settings.shared),`hover`,String(i));t.dispatch(XZ({active:!0,activeIndex:i,activeCoordinate:a}))}}}}),x3.startListening({actionCreator:b3,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var r=n.tooltip.keyboardInteraction;r.active&&t.dispatch(XZ({active:!1,activeIndex:r.index,activeCoordinate:r.coordinate}))}}});function T3(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(e,n)=>{if(n===`currentTarget`)return t;var r=Reflect.get(e,n);return typeof r==`function`?r.bind(e):r}})}var E3=xL(`externalEvent`),D3=tR(),O3=new Map,k3=new Map,A3=new Map;D3.startListening({actionCreator:E3,effect:(e,t)=>{var n=e.payload,r=n.handler,i=n.reactEvent;if(r!=null){var a=i.type,o=T3(i);A3.set(a,{handler:r,reactEvent:o});var s=O3.get(a);s!==void 0&&(cancelAnimationFrame(s),O3.delete(a));var c=t.getState().eventSettings,l=c.throttleDelay,u=c.throttledEvents,d=u===`all`||u?.includes(a),f=k3.get(a);f===void 0||typeof l==`number`&&d||(clearTimeout(f),k3.delete(a));var p=()=>{var e=A3.get(a);try{if(!e)return;var n=e.handler,r=e.reactEvent,i=t.getState(),o={activeCoordinate:t$(i),activeDataKey:QQ(i),activeIndex:XQ(i),activeLabel:ZQ(i),activeTooltipIndex:XQ(i),isTooltipActive:n$(i)};n&&n(o,r)}finally{O3.delete(a),k3.delete(a),A3.delete(a)}};if(!d)p();else if(l===`raf`){var m=requestAnimationFrame(p);O3.set(a,m)}else if(typeof l==`number`){if(!k3.has(a)){p();var h=setTimeout(p,l);k3.set(a,h)}}else p()}}});var dfe=$([$([pQ],e=>e.tooltipItemPayloads),(e,t)=>t,(e,t,n)=>n],(e,t,n)=>{if(t!=null){var r=e.find(e=>e.settings.graphicalItemId===n);if(r!=null){var i=r.getPosition;if(i!=null)return i(t)}}}),j3=xL(`touchMove`),M3=tR(),N3=null,P3=null,F3=null,I3=null;M3.startListening({actionCreator:j3,effect:(e,t)=>{var n=e.payload;if(n.touches!=null&&n.touches.length!==0){I3=T3(n);var r=t.getState().eventSettings,i=r.throttleDelay,a=r.throttledEvents,o=a===`all`||a.includes(`touchmove`);N3!==null&&(cancelAnimationFrame(N3),N3=null),P3===null||typeof i==`number`&&o||(clearTimeout(P3),P3=null),F3=Array.from(n.touches).map(e=>s3({clientX:e.clientX,clientY:e.clientY,currentTarget:n.currentTarget}));var s=()=>{if(I3!=null){var e=t.getState(),n=PZ(e,e.tooltip.settings.shared);if(n===`axis`){var r=F3?.[0];if(r==null){N3=null,P3=null;return}var i=o3(e,r);i?.activeIndex!=null&&t.dispatch(qZ({activeIndex:i.activeIndex,activeDataKey:void 0,activeCoordinate:i.activeCoordinate}))}else if(n===`item`){var a=I3.touches[0];if(document.elementFromPoint==null||a==null)return;var o=document.elementFromPoint(a.clientX,a.clientY);if(!o||!o.getAttribute)return;var s=o.getAttribute(Yoe),c=o.getAttribute(`data-recharts-item-id`)??void 0,l=DQ(e).find(e=>e.id===c);if(s==null||l==null||c==null)return;var u=l.dataKey,d=dfe(e,s,c);t.dispatch(GZ({activeDataKey:u,activeIndex:s,activeCoordinate:d,activeGraphicalItemId:c}))}N3=null,P3=null}};o?i===`raf`?N3=requestAnimationFrame(s):typeof i==`number`&&P3===null&&(s(),I3=null,P3=setTimeout(()=>{I3?s():(P3=null,N3=null)},i)):s()}}});var L3={throttleDelay:`raf`,throttledEvents:[`mousemove`,`touchmove`,`pointermove`,`scroll`,`wheel`]},R3=AL({name:`eventSettings`,initialState:L3,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=yL(t.payload.throttledEvents))}}}),ffe=R3.actions.setEventSettings,pfe=R3.reducer,mfe=cI({brush:Yle,cartesianAxis:Vle,chartData:T1,errorBars:ade,eventSettings:pfe,graphicalItems:yle,layout:Foe,legend:Pse,options:v1,polarAxis:Nce,polarOptions:ufe,referenceElements:Qle,renderedTicks:Cue,rootProps:cfe,tooltip:ZZ,zIndex:$$}),hfe=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`Chart`;return soe({reducer:mfe,preloadedState:e,middleware:e=>e({serializableCheck:!1,immutableCheck:![`commonjs`,`es6`,`production`].includes(`es6`)}).concat([l3.middleware,d3.middleware,x3.middleware,D3.middleware,M3.middleware]),enhancers:e=>{var t=e;return typeof e==`function`&&(t=e()),t.concat(OL({type:`raf`}))},devTools:vz.devToolsEnabled&&{serialize:{replacer:sfe},name:`recharts-${t}`}})};function gfe(e){var t=e.preloadedState,n=e.children,r=e.reduxStoreName,i=kR(),a=(0,y.useRef)(null);if(i)return n;a.current??=hfe(t,r);var o=zF;return y.createElement(Jse,{context:o,store:a.current},n)}function _fe(e){var t=e.layout,n=e.margin,r=BF(),i=kR();return(0,y.useEffect)(()=>{i||(r(Moe(t)),r(joe(n)))},[r,i,t,n]),null}var vfe=(0,y.memo)(_fe,tz);function yfe(e){var t=BF();return(0,y.useEffect)(()=>{t(lfe(e))},[t,e]),null}var bfe=(0,y.memo)(e=>{var t=BF();return(0,y.useEffect)(()=>{t(ffe(e))},[t,e]),null},tz);function z3(e){var t=e.zIndex,n=e.isPanorama,r=(0,y.useRef)(null),i=BF();return(0,y.useLayoutEffect)(()=>(r.current&&i(Z$({zIndex:t,element:r.current,isPanorama:n})),()=>{i(Q$({zIndex:t,isPanorama:n}))}),[i,t,n]),y.createElement(`g`,{tabIndex:-1,ref:r,className:`recharts-zIndex-layer_${t}`})}function B3(e){var t=e.children,n=e.isPanorama,r=HF(R$);if(!r||r.length===0)return t;var i=r.filter(e=>e<0),a=r.filter(e=>e>0);return y.createElement(y.Fragment,null,i.map(e=>y.createElement(z3,{key:e,zIndex:e,isPanorama:n})),t,a.map(e=>y.createElement(z3,{key:e,zIndex:e,isPanorama:n})))}var xfe=[`children`];function Sfe(e,t){if(e==null)return{};var n,r,i=Cfe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Cfe(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function V3(){return V3=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},V3.apply(null,arguments)}var wfe={width:`100%`,height:`100%`,display:`block`},Tfe=(0,y.forwardRef)((e,t)=>{var n=WR(),r=GR(),i=Bz();if(!sR(n)||!sR(r))return null;var a=e.children,o=e.otherAttributes,s=e.title,c=e.desc,l,u;return o!=null&&(l=typeof o.tabIndex==`number`?o.tabIndex:i?0:void 0,u=typeof o.role==`string`?o.role:i?`application`:void 0),y.createElement(bN,V3({},o,{title:s,desc:c,role:u,tabIndex:l,width:n,height:r,style:wfe,ref:t}),a)}),Efe=e=>{var t=e.children,n=HF(jR);if(!n)return null;var r=n.width,i=n.height,a=n.y,o=n.x;return y.createElement(bN,{width:r,height:i,x:o,y:a},t)},H3=(0,y.forwardRef)((e,t)=>{var n=e.children,r=Sfe(e,xfe);return kR()?y.createElement(Efe,null,y.createElement(B3,{isPanorama:!0},n)):y.createElement(Tfe,V3({ref:t},r),y.createElement(B3,{isPanorama:!1},n))});function Dfe(e,t){return jfe(e)||Afe(e,t)||kfe(e,t)||Ofe()}function Ofe(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function kfe(e,t){if(e){if(typeof e==`string`)return U3(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?U3(e,t):void 0}}function U3(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Afe(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function jfe(e){if(Array.isArray(e))return e}function Mfe(){var e=BF(),t=Dfe((0,y.useState)(null),2),n=t[0],r=t[1],i=HF(Joe);return(0,y.useEffect)(()=>{if(n!=null){var t=n.getBoundingClientRect().width/n.offsetWidth;oR(t)&&t!==i&&e(Poe(t))}},[n,e,i]),r}function W3(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 Nfe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?W3(Object(n),!0).forEach(function(t){Pfe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):W3(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Pfe(e,t,n){return(t=Ffe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ffe(e){var t=Ife(e,`string`);return typeof t==`symbol`?t:t+``}function Ife(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)}function G3(){return G3=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},G3.apply(null,arguments)}function K3(e,t){return Bfe(e)||zfe(e,t)||Rfe(e,t)||Lfe()}function Lfe(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Rfe(e,t){if(e){if(typeof e==`string`)return q3(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?q3(e,t):void 0}}function q3(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function zfe(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function Bfe(e){if(Array.isArray(e))return e}var Vfe=()=>(I1(),null);function J3(e){if(typeof e==`number`)return e;if(typeof e==`string`){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var Hfe=(0,y.forwardRef)((e,t)=>{var n=(0,y.useRef)(null),r=K3((0,y.useState)({containerWidth:J3(e.style?.width),containerHeight:J3(e.style?.height)}),2),i=r[0],a=r[1],o=(0,y.useCallback)((e,t)=>{a(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),s=(0,y.useCallback)(e=>{if(typeof t==`function`&&t(e),n.current!=null&&(n.current.disconnect(),n.current=null),e!=null&&typeof ResizeObserver<`u`){var r=e.getBoundingClientRect(),i=r.width,a=r.height;o(i,a);var s=new ResizeObserver(e=>{var t=e[0];if(t!=null){var n=t.contentRect,r=n.width,i=n.height;o(r,i)}});s.observe(e),n.current=s}},[t,o]);return(0,y.useEffect)(()=>()=>{n.current?.disconnect()},[o]),y.createElement(y.Fragment,null,y.createElement(XR,{width:i.containerWidth,height:i.containerHeight}),y.createElement(`div`,G3({ref:s},e)))}),Ufe=(0,y.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=K3((0,y.useState)({containerWidth:J3(n),containerHeight:J3(r)}),2),a=i[0],o=i[1],s=(0,y.useCallback)((e,t)=>{o(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),c=(0,y.useCallback)(e=>{if(typeof t==`function`&&t(e),e!=null){var n=e.getBoundingClientRect(),r=n.width,i=n.height;s(r,i)}},[t,s]);return y.createElement(y.Fragment,null,y.createElement(XR,{width:a.containerWidth,height:a.containerHeight}),y.createElement(`div`,G3({ref:c},e)))}),Wfe=(0,y.forwardRef)((e,t)=>{var n=e.width,r=e.height;return y.createElement(y.Fragment,null,y.createElement(XR,{width:n,height:r}),y.createElement(`div`,G3({ref:t},e)))}),Gfe=(0,y.forwardRef)((e,t)=>{var n=e.width,r=e.height;return typeof n==`string`||typeof r==`string`?y.createElement(Ufe,G3({},e,{ref:t})):typeof n==`number`&&typeof r==`number`?y.createElement(Wfe,G3({},e,{width:n,height:r,ref:t})):y.createElement(y.Fragment,null,y.createElement(XR,{width:n,height:r}),y.createElement(`div`,G3({ref:t},e)))});function Kfe(e){return e?Hfe:Gfe}var qfe=(0,y.forwardRef)((e,t)=>{var n=e.children,r=e.className,i=e.height,a=e.onClick,o=e.onContextMenu,s=e.onDoubleClick,c=e.onMouseDown,l=e.onMouseEnter,u=e.onMouseLeave,d=e.onMouseMove,f=e.onMouseUp,p=e.onTouchEnd,m=e.onTouchMove,h=e.onTouchStart,g=e.style,_=e.width,v=e.responsive,b=e.dispatchTouchEvents,x=b===void 0||b,S=(0,y.useRef)(null),C=BF(),w=K3((0,y.useState)(null),2),T=w[0],E=w[1],D=K3((0,y.useState)(null),2),O=D[0],k=D[1],A=Mfe(),ee=VR(),j=ee?.width>0?ee.width:_,M=ee?.height>0?ee.height:i,N=(0,y.useCallback)(e=>{A(e),typeof t==`function`&&t(e),E(e),k(e),e!=null&&(S.current=e)},[A,t,E,k]),P=(0,y.useCallback)(e=>{C(c3(e)),C(E3({handler:a,reactEvent:e}))},[C,a]),te=(0,y.useCallback)(e=>{C(u3(e)),C(E3({handler:l,reactEvent:e}))},[C,l]),ne=(0,y.useCallback)(e=>{C(KZ()),C(E3({handler:u,reactEvent:e}))},[C,u]),re=(0,y.useCallback)(e=>{C(u3(e)),C(E3({handler:d,reactEvent:e}))},[C,d]),F=(0,y.useCallback)(()=>{C(y3())},[C]),ie=(0,y.useCallback)(()=>{C(b3())},[C]),ae=(0,y.useCallback)(e=>{C(v3(e.key))},[C]),oe=(0,y.useCallback)(e=>{C(E3({handler:o,reactEvent:e}))},[C,o]),se=(0,y.useCallback)(e=>{C(E3({handler:s,reactEvent:e}))},[C,s]),ce=(0,y.useCallback)(e=>{C(E3({handler:c,reactEvent:e}))},[C,c]),le=(0,y.useCallback)(e=>{C(E3({handler:f,reactEvent:e}))},[C,f]),ue=(0,y.useCallback)(e=>{C(E3({handler:h,reactEvent:e}))},[C,h]),de=(0,y.useCallback)(e=>{x&&C(j3(e)),C(E3({handler:m,reactEvent:e}))},[C,x,m]),fe=(0,y.useCallback)(e=>{C(E3({handler:p,reactEvent:e}))},[C,p]),pe=Kfe(v);return y.createElement(u1.Provider,{value:T},y.createElement(cP.Provider,{value:O},y.createElement(pe,{width:j??g?.width,height:M??g?.height,className:Cn(`recharts-wrapper`,r),style:Nfe({position:`relative`,cursor:`default`,width:j,height:M},g),onClick:P,onContextMenu:oe,onDoubleClick:se,onFocus:F,onBlur:ie,onKeyDown:ae,onMouseDown:ce,onMouseEnter:te,onMouseLeave:ne,onMouseMove:re,onMouseUp:le,onTouchEnd:fe,onTouchMove:de,onTouchStart:ue,ref:N},y.createElement(Vfe,null),n)))}),Jfe=[`width`,`height`,`responsive`,`children`,`className`,`style`,`compact`,`title`,`desc`];function Yfe(e,t){if(e==null)return{};var n,r,i=Xfe(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Xfe(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var Zfe=(0,y.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=e.responsive,a=e.children,o=e.className,s=e.style,c=e.compact,l=e.title,u=e.desc,d=fN(Yfe(e,Jfe));return c?y.createElement(y.Fragment,null,y.createElement(XR,{width:n,height:r}),y.createElement(H3,{otherAttributes:d,title:l,desc:u},a)):y.createElement(qfe,{className:o,style:s,width:n,height:r,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},y.createElement(H3,{otherAttributes:d,title:l,desc:u,ref:t},y.createElement(aue,null,a)))});function Y3(){return Y3=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Y3.apply(null,arguments)}function X3(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 Qfe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?X3(Object(n),!0).forEach(function(t){$fe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):X3(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function $fe(e,t,n){return(t=epe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function epe(e){var t=tpe(e,`string`);return typeof t==`symbol`?t:t+``}function tpe(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 npe=Qfe({accessibilityLayer:!0,barCategoryGap:`10%`,barGap:4,layout:`horizontal`,margin:{top:5,right:5,bottom:5,left:5},responsive:!1,reverseStackOrder:!1,stackOffset:`none`,syncMethod:`index`},L3),rpe=(0,y.forwardRef)(function(e,t){var n=$P(e.categoricalChartProps,npe),r=e.chartName,i=e.defaultTooltipEventType,a=e.validateTooltipEventTypes,o=e.tooltipPayloadSearcher,s=e.categoricalChartProps,c={chartName:r,defaultTooltipEventType:i,validateTooltipEventTypes:a,tooltipPayloadSearcher:o,eventEmitter:void 0};return y.createElement(gfe,{preloadedState:{options:c},reduxStoreName:s.id??r},y.createElement(Jle,{chartData:s.data}),y.createElement(vfe,{layout:n.layout,margin:n.margin}),y.createElement(bfe,{throttleDelay:n.throttleDelay,throttledEvents:n.throttledEvents}),y.createElement(yfe,{baseValue:n.baseValue,accessibilityLayer:n.accessibilityLayer,barCategoryGap:n.barCategoryGap,maxBarSize:n.maxBarSize,stackOffset:n.stackOffset,barGap:n.barGap,barSize:n.barSize,syncId:n.syncId,syncMethod:n.syncMethod,className:n.className,reverseStackOrder:n.reverseStackOrder}),y.createElement(Zfe,Y3({},n,{ref:t})))}),ipe=[`axis`],ape=(0,y.forwardRef)((e,t)=>y.createElement(rpe,{chartName:`AreaChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:ipe,tooltipPayloadSearcher:g1,categoricalChartProps:e,ref:t})),Z3=e=>[`N`,`NNE`,`NE`,`ENE`,`E`,`ESE`,`SE`,`SSE`,`S`,`SSW`,`SW`,`WSW`,`W`,`WNW`,`NW`,`NNW`][Math.round(((e%=360)<0?e+360:e)/22.5)%16],ope=({active:e,payload:t,label:n})=>{if(e&&t&&t.length){let e=t[0].payload;return(0,B.jsxs)(`div`,{className:`bg-white p-3 rounded-lg shadow-lg border border-gray-100 text-sm`,children:[(0,B.jsx)(`p`,{className:`font-semibold text-gray-900 mb-2`,children:XM(new Date(n),`h:mm a, MMM d`)}),(0,B.jsxs)(`div`,{className:`space-y-1`,children:[(0,B.jsxs)(`p`,{className:`text-blue-600 font-medium`,children:[`Height: `,e.height,` ft`]}),(0,B.jsxs)(`p`,{className:`text-gray-600`,children:[`Period: `,e.period,` s`]}),(0,B.jsxs)(`p`,{className:`text-gray-600`,children:[`Direction: `,e.direction,`° `,Z3(e.direction)]})]})]})}return null},spe=({lat:e,lon:t,locationName:n})=>{let[r,i]=(0,y.useState)(null),[a,o]=(0,y.useState)(!0),[s,c]=(0,y.useState)(null),l=async()=>{o(!0),c(null);try{let n=await oN(e,t);i(n.waveData)}catch(e){console.warn(`Wave API Error`,e);let t=Array.from({length:24}).map((e,t)=>({time:new Date(Date.now()+t*36e5).toISOString(),height:Number((5+Math.sin(t/4)*2+Math.random()).toFixed(1)),period:10+Math.floor(Math.sin(t/6)*3),direction:270+Math.floor(Math.sin(t/8)*20)}));i(t)}finally{o(!1)}};(0,y.useEffect)(()=>{l()},[e,t]);let u=(0,y.useMemo)(()=>r?.[0]||null,[r]);return(0,B.jsxs)(`div`,{className:`bg-white rounded-2xl shadow-sm border border-gray-100 overflow-hidden relative`,children:[(0,B.jsxs)(`div`,{className:`p-5 border-b border-gray-100 bg-gray-50 flex flex-col sm:flex-row sm:items-center justify-between gap-4`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsxs)(`h3`,{className:`font-bold text-gray-900 flex items-center gap-2`,children:[(0,B.jsx)(ha,{className:`w-5 h-5 text-indigo-500`}),`Marine Forecast`]}),(0,B.jsxs)(`p`,{className:`text-xs text-gray-500 mt-1`,children:[`Coastal conditions near `,n]})]}),u&&!a&&(0,B.jsxs)(`div`,{className:`flex gap-4 sm:gap-6 bg-white px-4 py-2 rounded-xl border border-gray-100 shadow-sm`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,B.jsx)(`span`,{className:`text-[10px] text-gray-400 font-bold uppercase tracking-wider mb-0.5`,children:`Height`}),(0,B.jsxs)(`span`,{className:`text-base font-bold text-indigo-600`,children:[u.height,` ft`]})]}),(0,B.jsx)(`div`,{className:`w-px bg-gray-100`}),(0,B.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,B.jsx)(`span`,{className:`text-[10px] text-gray-400 font-bold uppercase tracking-wider mb-0.5`,children:`Period`}),(0,B.jsxs)(`span`,{className:`text-base font-bold text-gray-700`,children:[u.period,`s`]})]}),(0,B.jsx)(`div`,{className:`w-px bg-gray-100`}),(0,B.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,B.jsx)(`span`,{className:`text-[10px] text-gray-400 font-bold uppercase tracking-wider mb-0.5`,children:`Direction`}),(0,B.jsxs)(`div`,{className:`flex items-center text-sm font-bold text-gray-700`,children:[(0,B.jsx)(Xa,{className:`w-3.5 h-3.5 mr-1 text-gray-400`,style:{transform:`rotate(${u.direction}deg)`}}),Z3(u.direction)]})]})]})]}),a&&!r?(0,B.jsx)(`div`,{className:`p-6`,children:(0,B.jsx)(QM,{className:`w-full h-[200px] rounded-xl`})}):(0,B.jsx)(`div`,{className:`p-4 h-64 w-full`,children:(0,B.jsx)(Ose,{width:`100%`,height:`100%`,children:(0,B.jsxs)(ape,{data:r,margin:{top:10,right:10,left:-20,bottom:0},children:[(0,B.jsx)(`defs`,{children:(0,B.jsxs)(`linearGradient`,{id:`waveGradient`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,B.jsx)(`stop`,{offset:`5%`,stopColor:`#6366f1`,stopOpacity:.3}),(0,B.jsx)(`stop`,{offset:`95%`,stopColor:`#6366f1`,stopOpacity:0})]})}),(0,B.jsx)(T4,{strokeDasharray:`3 3`,vertical:!1,stroke:`#f1f5f9`}),(0,B.jsx)(e3,{dataKey:`time`,tickFormatter:e=>XM(new Date(e),`ha`),tick:{fontSize:12,fill:`#64748b`},axisLine:!1,tickLine:!1,minTickGap:30}),(0,B.jsx)(a3,{tick:{fontSize:12,fill:`#64748b`},axisLine:!1,tickLine:!1,tickFormatter:e=>`${e}ft`}),(0,B.jsx)($1,{content:(0,B.jsx)(ope,{})}),(0,B.jsx)(K4,{type:`monotone`,dataKey:`height`,stroke:`#6366f1`,strokeWidth:3,fill:`url(#waveGradient)`})]})})})]})},Q3=({townName:e,townSlug:t,lat:n,lon:r,defaultStationId:i})=>{let a=eN(e,n,r),o=i||(a?a.id:`9435380`);return(0,B.jsxs)(`div`,{className:`grid grid-cols-1 lg:grid-cols-2 gap-8 w-full max-w-7xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`h-full min-h-[500px]`,children:(0,B.jsx)(iN,{defaultStationId:o})}),(0,B.jsx)(`div`,{className:`h-full min-h-[500px]`,children:(0,B.jsx)(spe,{lat:n,lon:r})})]})},$3={},cpe=18e5,e6={"User-Agent":`(OregonCoastalGuide, [email protected])`,Accept:`application/geo+json`},lpe=async(e,t)=>{let n=`${e.toFixed(4)},${t.toFixed(4)}`;if($3[n]&&Date.now()-$3[n].timestamp<cpe)return $3[n].data;try{let r=await fetch(`https://api.weather.gov/points/${e},${t}`,{headers:e6});if(!r.ok)throw Error(`Failed to fetch NOAA points data`);let i=await r.json(),a=i.properties.forecast,o=i.properties.forecastHourly,[s,c]=await Promise.all([fetch(a,{headers:e6}),fetch(o,{headers:e6})]);if(!s.ok||!c.ok)throw Error(`Failed to fetch NOAA forecast data`);let l=await s.json(),u=(await c.json()).properties.periods[0]||{},d=l.properties.periods||[],f={};d.forEach(e=>{let t=new Date(e.startTime).toLocaleDateString(`en-US`,{timeZone:`America/Los_Angeles`});f[t]||(f[t]={date:new Date(e.startTime),high:-1/0,low:1/0,condition:e.shortForecast,icon:e.icon}),e.temperature>f[t].high&&(f[t].high=e.temperature),e.temperature<f[t].low&&(f[t].low=e.temperature),e.isDaytime&&(f[t].condition=e.shortForecast,f[t].icon=e.icon)});let p=Object.values(f).sort((e,t)=>e.date-t.date).slice(0,5),m={current:{temp:u.temperature||0,high:p[0]?.high||u.temperature,low:p[0]?.low||u.temperature-10,condition:u.shortForecast||`Clear`,description:u.shortForecast||``,icon:u.icon,humidity:u.relativeHumidity?.value||50,windSpeed:parseInt(u.windSpeed)||0,windDirection:u.windDirection||`N`,pressure:1013},forecast:p};return $3[n]={data:m,timestamp:Date.now()},m}catch(e){throw console.error(`NOAA API Error:`,e),e}},upe=(e,t)=>{let[n,r]=(0,y.useState)(null),[i,a]=(0,y.useState)(!0),[o,s]=(0,y.useState)(null);return(0,y.useEffect)(()=>{let n=!0,i,o=async()=>{a(!0),s(null);try{let i=await lpe(e,t);n&&(r(i),a(!1))}catch(e){console.warn(`Weather API error, using mock data:`,e);let t={current:{temp:58,high:62,low:51,condition:`Rain`,description:`light rain`,icon:``,humidity:82,windSpeed:12,windDirection:`SW`,pressure:1012},forecast:Array.from({length:5}).map((e,t)=>({date:new Date(Date.now()+(t+1)*864e5),temp:55+Math.floor(Math.random()*10),high:60+Math.floor(Math.random()*5),low:50+Math.floor(Math.random()*5),condition:[`Cloudy`,`Rain`,`Sunny`][Math.floor(Math.random()*3)],icon:``}))};n&&(r(t),a(!1))}};return o(),i=setInterval(o,18e5),()=>{n=!1,clearInterval(i)}},[e,t]),{data:n,loading:i,error:o}},t6=({lat:e=46.1878,lon:t=-123.8244,townName:n=`Coastal Town`})=>{let{data:r,loading:i,error:a}=upe(e,t),o=(0,y.useMemo)(()=>{if(!r)return`bg-gradient-to-b from-blue-400 to-blue-600 text-white`;let e=r.current.condition.toLowerCase();return e.includes(`night`)?`bg-gradient-to-b from-slate-800 to-slate-900 text-white`:e.includes(`rain`)||e.includes(`showers`)?`bg-gradient-to-b from-slate-600 to-slate-800 text-white`:e.includes(`cloud`)||e.includes(`overcast`)?`bg-gradient-to-b from-slate-400 to-slate-600 text-white`:e.includes(`clear`)||e.includes(`sun`)?`bg-gradient-to-b from-sky-400 to-blue-500 text-white`:`bg-gradient-to-b from-blue-400 to-blue-600 text-white`},[r]);if(a)return(0,B.jsx)(`div`,{className:`bg-red-50 p-6 rounded-none shadow-editorial text-center text-red-600 h-full flex items-center justify-center min-h-[400px]`,children:`Failed to load weather data.`});if(i||!r)return(0,B.jsxs)(`div`,{className:`rounded-none p-6 shadow-editorial w-full mx-auto min-h-[400px] flex flex-col bg-gray-50`,children:[(0,B.jsx)(QM,{className:`h-8 w-32 mx-auto mb-2 rounded-none`}),(0,B.jsx)(QM,{className:`h-24 w-32 mx-auto mb-2 rounded-none`}),(0,B.jsx)(QM,{className:`h-6 w-24 mx-auto mb-8 rounded-none`}),(0,B.jsx)(`div`,{className:`space-y-3 mt-auto`,children:[1,2,3,4,5].map(e=>(0,B.jsx)(QM,{className:`h-8 w-full rounded-none`},e))})]});let{current:s,forecast:c}=r,l=(e,t=`w-6 h-6`)=>{let n=e?.toLowerCase()||``;return n.includes(`clear`)||n.includes(`sun`)?(0,B.jsx)(qo,{className:`${t} text-yellow-300`}):n.includes(`rain`)||n.includes(`shower`)?(0,B.jsx)(Ka,{className:`${t} text-blue-200`}):(0,B.jsx)(qa,{className:`${t} text-gray-200`})};return(0,B.jsxs)(`div`,{className:`rounded-none shadow-editorial p-6 w-full h-full overflow-hidden relative ${o}`,children:[(0,B.jsx)(`div`,{className:`absolute -top-24 -right-24 w-48 h-48 bg-white/10 rounded-full blur-3xl pointer-events-none`}),(0,B.jsx)(`div`,{className:`absolute -bottom-24 -left-24 w-64 h-64 bg-black/10 rounded-full blur-3xl pointer-events-none`}),(0,B.jsxs)(`div`,{className:`relative z-10`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-6`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-medium tracking-wide mb-1 drop-shadow-sm`,children:n}),(0,B.jsxs)(`div`,{className:`text-7xl font-thin tracking-tighter mb-2 ml-4 drop-shadow-sm`,children:[s.temp,`°`]}),(0,B.jsx)(`p`,{className:`text-lg font-medium capitalize mb-1 drop-shadow-sm`,children:s.condition}),(0,B.jsxs)(`div`,{className:`flex items-center justify-center space-x-3 text-sm opacity-90 font-medium`,children:[(0,B.jsxs)(`span`,{children:[`H:`,s.high,`°`]}),(0,B.jsxs)(`span`,{children:[`L:`,s.low,`°`]})]})]}),(0,B.jsxs)(`div`,{className:`grid grid-cols-3 gap-2 bg-black/10 rounded-none shadow-editorial p-4 mb-6 backdrop-blur-md`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col items-center justify-center text-center`,children:[(0,B.jsx)(os,{className:`w-5 h-5 opacity-70 mb-1`}),(0,B.jsx)(`span`,{className:`text-xs opacity-70 mb-0.5`,children:`Wind`}),(0,B.jsxs)(`span`,{className:`text-sm font-semibold`,children:[s.windSpeed,` mph `,s.windDirection]})]}),(0,B.jsxs)(`div`,{className:`flex flex-col items-center justify-center text-center`,children:[(0,B.jsx)(Qa,{className:`w-5 h-5 opacity-70 mb-1`}),(0,B.jsx)(`span`,{className:`text-xs opacity-70 mb-0.5`,children:`Humidity`}),(0,B.jsxs)(`span`,{className:`text-sm font-semibold`,children:[s.humidity,`%`]})]}),(0,B.jsxs)(`div`,{className:`flex flex-col items-center justify-center text-center`,children:[(0,B.jsx)(io,{className:`w-5 h-5 opacity-70 mb-1`}),(0,B.jsx)(`span`,{className:`text-xs opacity-70 mb-0.5`,children:`Pressure`}),(0,B.jsxs)(`span`,{className:`text-sm font-semibold`,children:[s.pressure,` mb`]})]})]}),(0,B.jsxs)(`div`,{className:`bg-black/10 rounded-none shadow-editorial p-4 backdrop-blur-md`,children:[(0,B.jsx)(`div`,{className:`text-xs font-semibold opacity-70 uppercase tracking-wider mb-4 pb-2`,children:`5-Day Forecast`}),(0,B.jsx)(`div`,{className:`space-y-4`,children:c.map((e,t)=>(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,B.jsx)(`span`,{className:`w-12 text-sm font-medium opacity-90`,children:t===0?`Today`:XM(e.date,`EEE`)}),(0,B.jsx)(`div`,{className:`flex items-center justify-center w-10`,children:l(e.condition,`w-5 h-5`)}),(0,B.jsxs)(`div`,{className:`flex items-center space-x-3 w-24 justify-end text-sm`,children:[(0,B.jsxs)(`span`,{className:`opacity-70 font-medium`,children:[e.low,`°`]}),(0,B.jsx)(`div`,{className:`w-16 h-1.5 bg-black/20 rounded-none overflow-hidden`,children:(0,B.jsx)(`div`,{className:`h-full bg-gradient-to-r from-blue-300 to-yellow-300 opacity-90`,style:{width:`${Math.min(100,Math.max(20,(e.high-e.low)/30*100))}%`,marginLeft:`${Math.min(50,Math.max(0,(e.low-30)/60*100))}%`}})}),(0,B.jsxs)(`span`,{className:`font-bold`,children:[e.high,`°`]})]})]},t))})]})]})]})},dpe=e=>{let[t,n]=(0,y.useState)(e||``),[r,i]=(0,y.useState)([]);(0,y.useEffect)(()=>{n(e||``)},[e]);let a=(0,y.useCallback)(()=>{if(!document)return;let e=[];document.queryCommandState(`bold`)&&e.push(`bold`),document.queryCommandState(`italic`)&&e.push(`italic`),document.queryCommandState(`underline`)&&e.push(`underline`),document.queryCommandState(`strikeThrough`)&&e.push(`strikeThrough`),document.queryCommandState(`insertUnorderedList`)&&e.push(`insertUnorderedList`),document.queryCommandState(`insertOrderedList`)&&e.push(`insertOrderedList`),document.queryCommandState(`justifyLeft`)&&e.push(`justifyLeft`),document.queryCommandState(`justifyCenter`)&&e.push(`justifyCenter`),document.queryCommandState(`justifyRight`)&&e.push(`justifyRight`);let t=document.queryCommandValue(`formatBlock`);t&&e.push(t.toLowerCase()),i(e)},[]);return{content:t,setContent:n,activeFormats:r,checkActiveFormats:a,applyFormat:(e,t=null)=>{document.execCommand(e,!1,t),a()},insertLink:(e,t)=>{if(t){let n=`<a href="${e}" target="_blank" rel="noopener noreferrer">${t}</a>`;document.execCommand(`insertHTML`,!1,n)}else document.execCommand(`createLink`,!1,e);a()},removeFormat:()=>{document.execCommand(`removeFormat`,!1,null),a()}}},n6=({active:e,onClick:t,icon:n,title:r,disabled:i})=>(0,B.jsx)(`button`,{type:`button`,onClick:e=>{e.preventDefault(),i||t()},disabled:i,className:z(`p-2 rounded transition-colors`,i?`text-gray-300 cursor-not-allowed`:`hover:bg-gray-200 text-gray-700`,e?`bg-gray-200 text-black font-semibold shadow-inner`:``),title:r,children:(0,B.jsx)(n,{className:`w-4 h-4`})}),fpe=({isOpen:e,onClose:t,onSubmit:n,initialUrl:r=`https://`})=>{let[i,a]=(0,y.useState)(r),[o,s]=(0,y.useState)(``);return e?(0,B.jsxs)(`div`,{className:`absolute top-10 right-0 z-50 bg-white p-4 rounded-lg shadow-xl border border-gray-200 w-72 animate-in fade-in zoom-in-95 duration-200`,children:[(0,B.jsx)(`h4`,{className:`text-sm font-semibold mb-3`,children:`Insert Link`}),(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`label`,{className:`block text-xs text-gray-500 mb-1`,children:`URL`}),(0,B.jsx)(`input`,{type:`text`,value:i,onChange:e=>a(e.target.value),className:`w-full text-sm border rounded px-2 py-1 focus:ring-2 focus:ring-[#2d5016] outline-none`,placeholder:`https://example.com`,autoFocus:!0})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`label`,{className:`block text-xs text-gray-500 mb-1`,children:`Link Text (Optional)`}),(0,B.jsx)(`input`,{type:`text`,value:o,onChange:e=>s(e.target.value),className:`w-full text-sm border rounded px-2 py-1 focus:ring-2 focus:ring-[#2d5016] outline-none`,placeholder:`Click here`})]}),(0,B.jsxs)(`div`,{className:`flex justify-end gap-2 pt-2`,children:[(0,B.jsx)(Sw,{variant:`ghost`,size:`sm`,onClick:t,className:`h-7 px-2`,children:`Cancel`}),(0,B.jsx)(Sw,{size:`sm`,onClick:()=>n(i,o),className:`h-7 px-2 bg-[#2d5016] text-white hover:bg-[#1a3b0b]`,children:`Insert`})]})]})]}):null},ppe=({content:e,onChange:t,className:n})=>{let r=(0,y.useRef)(null),[i,a]=(0,y.useState)(!1),{activeFormats:o,checkActiveFormats:s,applyFormat:c,insertLink:l,removeFormat:u}=dpe(e),[d,f]=(0,y.useState)(!1);(0,y.useEffect)(()=>{!i&&r.current&&r.current.innerHTML!==e&&(r.current.innerHTML=e)},[e,i]);let p=()=>{if(r.current){let e=r.current.innerHTML;t(e),s()}},m=(e,t)=>{r.current&&r.current.focus(),l(e,t),f(!1),p()},h=e=>{if(!i&&(e.ctrlKey||e.metaKey)){let t=null;e.key===`b`?t=`bold`:e.key===`i`?t=`italic`:e.key===`u`&&(t=`underline`),t&&(e.preventDefault(),c(t),p())}};return(0,B.jsxs)(`div`,{className:z(`border border-gray-300 rounded-lg bg-white overflow-hidden flex flex-col shadow-sm transition-all duration-200`,n),children:[(0,B.jsxs)(`div`,{className:`bg-gray-50 border-b border-gray-200 p-2 flex flex-wrap gap-1 items-center relative min-h-[44px]`,children:[(0,B.jsxs)(`div`,{className:z(`flex flex-wrap gap-1 items-center transition-opacity duration-200`,i?`opacity-30 pointer-events-none select-none grayscale`:`opacity-100`),children:[(0,B.jsx)(n6,{icon:Ea,active:o.includes(`bold`),onClick:()=>c(`bold`),title:`Bold (Ctrl+B)`}),(0,B.jsx)(n6,{icon:ho,active:o.includes(`italic`),onClick:()=>c(`italic`),title:`Italic (Ctrl+I)`}),(0,B.jsx)(n6,{icon:Qo,active:o.includes(`underline`),onClick:()=>c(`underline`),title:`Underline (Ctrl+U)`}),(0,B.jsx)(n6,{icon:Ko,active:o.includes(`strikethrough`),onClick:()=>c(`strikeThrough`),title:`Strikethrough`}),(0,B.jsx)(`div`,{className:`w-px h-6 bg-gray-300 mx-1`}),(0,B.jsx)(n6,{icon:so,active:o.includes(`h2`),onClick:()=>c(`formatBlock`,`H2`),title:`Heading 2`}),(0,B.jsx)(n6,{icon:co,active:o.includes(`h3`),onClick:()=>c(`formatBlock`,`H3`),title:`Heading 3`}),(0,B.jsx)(n6,{icon:Mo,active:o.includes(`p`),onClick:()=>c(`formatBlock`,`P`),title:`Paragraph`}),(0,B.jsx)(`div`,{className:`w-px h-6 bg-gray-300 mx-1`}),(0,B.jsx)(n6,{icon:yo,active:o.includes(`insertunorderedlist`),onClick:()=>c(`insertUnorderedList`),title:`Bullet List`}),(0,B.jsx)(n6,{icon:vo,active:o.includes(`insertorderedlist`),onClick:()=>c(`insertOrderedList`),title:`Numbered List`}),(0,B.jsx)(`div`,{className:`w-px h-6 bg-gray-300 mx-1`}),(0,B.jsx)(n6,{icon:_a,active:o.includes(`justifyleft`),onClick:()=>c(`justifyLeft`),title:`Align Left`}),(0,B.jsx)(n6,{icon:ga,active:o.includes(`justifycenter`),onClick:()=>c(`justifyCenter`),title:`Align Center`}),(0,B.jsx)(n6,{icon:va,active:o.includes(`justifyright`),onClick:()=>c(`justifyRight`),title:`Align Right`}),(0,B.jsx)(`div`,{className:`w-px h-6 bg-gray-300 mx-1`}),(0,B.jsxs)(`div`,{className:`relative`,children:[(0,B.jsx)(n6,{icon:_o,active:!1,onClick:()=>f(!d),title:`Insert Link`}),(0,B.jsx)(fpe,{isOpen:d,onClose:()=>f(!1),onSubmit:m})]}),(0,B.jsx)(n6,{icon:Lo,active:!1,onClick:()=>{u(),p()},title:`Clear Formatting`})]}),(0,B.jsx)(`div`,{className:`flex-grow`}),(0,B.jsx)(`div`,{className:`border-l border-gray-300 pl-1 ml-1`,children:(0,B.jsx)(n6,{icon:i?eo:Ja,active:i,onClick:()=>a(!i),title:i?`Switch to Visual Editor`:`Switch to Code Editor`})})]}),(0,B.jsx)(`div`,{className:`flex-1 relative min-h-[200px] flex flex-col`,children:i?(0,B.jsx)(`textarea`,{value:e,onChange:e=>t(e.target.value),className:`flex-1 w-full h-full p-4 font-mono text-sm bg-gray-900 text-gray-100 outline-none resize-y min-h-[200px]`,spellCheck:!1,placeholder:`<!-- Enter HTML code here -->`}):(0,B.jsx)(`div`,{ref:r,contentEditable:!0,className:`flex-1 p-4 outline-none text-gray-900 prose prose-sm max-w-none overflow-y-auto min-h-[200px]`,onInput:p,onMouseUp:s,onKeyUp:e=>{s(),h(e)},onBlur:p})})]})},r6=({townName:e,initialDescription:t})=>{let{isAuthenticated:n}=Jd(),{toast:r}=vf(),[i,a]=(0,y.useState)(!1),[o,s]=(0,y.useState)(t||``),[c,l]=(0,y.useState)(t||``),[u,d]=(0,y.useState)(!1),[f,p]=(0,y.useState)(!0);return(0,y.useEffect)(()=>{let n=!0;return e&&(async()=>{p(!0);try{let{data:r,error:i}=await Kd.from(`town_descriptions`).select(`description`).eq(`town_name`,e).order(`created_at`,{ascending:!1}).limit(1).maybeSingle();if(i)throw i;n&&(r&&r.description?(s(r.description),l(r.description)):t&&(s(t),l(t)))}catch(r){console.error(`Error fetching description for`,e,`:`,r),n&&t&&(s(t),l(t))}finally{n&&p(!1)}})(),()=>{n=!1}},[e,t]),(0,B.jsxs)(`div`,{className:`bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full relative min-h-[300px]`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col sm:flex-row justify-between items-start sm:items-center gap-4 mb-6`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:[`About `,e,` Oregon`]}),n&&!i&&!f&&(0,B.jsxs)(Sw,{variant:`outline`,size:`sm`,onClick:()=>a(!0),className:`shrink-0`,children:[(0,B.jsx)(Ao,{className:`w-4 h-4 mr-2`}),` Edit Description`]})]}),(0,B.jsx)(`div`,{className:`flex-grow`,children:f?(0,B.jsxs)(`div`,{className:`flex items-center justify-center h-full min-h-[150px] text-gray-400`,children:[(0,B.jsx)(bo,{className:`w-8 h-8 animate-spin`}),(0,B.jsx)(`span`,{className:`ml-3 text-sm font-medium`,children:`Loading description...`})]}):i?(0,B.jsxs)(`div`,{className:`space-y-4 animate-in fade-in duration-200`,children:[(0,B.jsx)(ppe,{content:c,onChange:l}),(0,B.jsxs)(`div`,{className:`flex justify-end gap-3 pt-2`,children:[(0,B.jsxs)(Sw,{variant:`outline`,onClick:()=>{l(o),a(!1)},disabled:u,children:[(0,B.jsx)(ls,{className:`w-4 h-4 mr-2`}),` Cancel`]}),(0,B.jsx)(Sw,{onClick:async()=>{if(!c.trim())r({title:`Error`,description:`Description cannot be empty.`,variant:`destructive`});else{d(!0);try{let{data:t}=await Kd.from(`town_descriptions`).select(`id`).eq(`town_name`,e).maybeSingle(),n;if(t){let{error:e}=await Kd.from(`town_descriptions`).update({description:c}).eq(`id`,t.id);n=e}else{let{error:t}=await Kd.from(`town_descriptions`).insert([{town_name:e,description:c}]);n=t}if(n)throw n;s(c),a(!1),r({title:`Success`,description:`${e} description updated successfully.`,variant:`default`})}catch(e){r({title:`Error saving description`,description:e.message,variant:`destructive`})}finally{d(!1)}}},disabled:u,className:`bg-[#2d5016] text-white hover:bg-[#1a3b0b]`,children:u?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(bo,{className:`w-4 h-4 mr-2 animate-spin`}),` Saving...`]}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(Ro,{className:`w-4 h-4 mr-2`}),` Save Changes`]})})]})]}):(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left animate-in fade-in duration-200`,dangerouslySetInnerHTML:{__html:o||`<p>No description available.</p>`}})}),!i&&(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Explore the beauty and history of the Central Coast.`})})]})},mpe=`Nestled between Cannon Beach and Manzanita along Highway 101, Arch Cape offers visitors a peaceful escape from typical beach town crowds. This tiny unincorporated community of just 250 residents embodies the quiet beauty and serenity that define the Oregon Coast experience. Named for a natural rock arch formation created by ancient lava flows, Arch Cape provides the perfect base for exploring dramatic state parks, secluded beaches, and pristine coastal wilderness while maintaining an atmosphere of tranquil seclusion.

The Oregon Coast Trail flows directly through Arch Cape, offering hikers access to 2.5 miles of pristine, uncrowded shoreline framed by dramatic headlands and the steady rhythm of Pacific waves. Castle Rock, a majestic monolith sitting in shallow waters just offshore, rises like a medieval fortress with its naturally castle-shaped towers. Nearby Oswald West State Park draws surfers to world-class breaks at Short Sand Beach, while hikers explore the spectacular Cape Falcon Trail through old-growth Sitka spruce rainforest. Just minutes from both Cannon Beach's galleries and restaurants to the north and Manzanita's laid-back charm to the south, Arch Cape delivers Oregon Coast beauty without the crowds.`,i6=[{name:`Hug Point State Recreation Site`,description:`Just north of Arch Cape, this beach offers easy access to sea caves, a seasonal waterfall, and the historic stagecoach wheel ruts carved into the rock, remnants of when the beach was the only highway.`,details:`Historical Site & Beach Access`},{name:`Cove Beach`,description:`A secluded and often quiet stretch of shoreline south of Arch Cape, locally known as 'Magic Beach' for its shifting sands and excellent agate hunting opportunities.`,details:`Secluded Beach`},{name:`Castle Rock`,description:`A majestic sea stack rising from the ocean just off the coast. While you can't climb it, it provides a stunning backdrop for photography and sunset views from the beach.`,details:`Scenic Landmark`},{name:`Oswald West State Park`,description:`Bordering Arch Cape to the south, this expansive park features temperate rainforests, secluded sandy coves like Short Sand Beach, and breathtaking viewpoints.`,details:`State Park`},{name:`St. Peter the Fisherman Catholic Church`,description:`A charming, rustic church located right in Arch Cape. Its unique architecture and welcoming atmosphere make it a notable local landmark.`,details:`Local Landmark`},{name:`Arch Cape Beach`,description:`The main beach of the community, offering miles of pristine sand perfect for walking, running, and solitary reflection away from the crowds.`,details:`Public Beach`},{name:`Neahkahnie Viewpoint`,description:`Located just south on Highway 101, this turnout offers one of the most photographed vistas on the entire Oregon Coast, looking south toward Manzanita and Nehalem Bay.`,details:`Scenic Viewpoint`}],hpe=[{name:`Cape Falcon Trail`,distance:`4.8 miles roundtrip`,difficulty:`Moderate`,elevation:`300 ft gain`,description:`A lush trail winding through old-growth Sitka spruce forests to the tip of Cape Falcon, offering dramatic views of Smuggler's Cove and the ocean.`},{name:`Hug Point Beach & Cave Exploration`,distance:`1-2 miles`,difficulty:`Easy`,elevation:`Minimal`,description:`Best explored at low tide, this walk allows you to round the point, see the waterfall, and explore the sea caves carved into the sandstone cliffs.`},{name:`Oregon Coast Trail (Arch Cape Section)`,distance:`Varies`,difficulty:`Moderate/Hard`,elevation:`Varies`,description:`Passes directly through Arch Cape, connecting hikers north to Cannon Beach via the beach or south into Oswald West State Park.`},{name:`Neahkahnie Mountain Trail`,distance:`3 miles roundtrip`,difficulty:`Strenuous`,elevation:`900 ft gain`,description:`A steep climb rewarding hikers with perhaps the best panoramic view on the coast, overlooking the ocean and the town of Manzanita.`},{name:`Short Sand Beach Trail`,distance:`1 mile roundtrip`,difficulty:`Easy`,elevation:`100 ft drop`,description:`A gentle walk through the forest from the highway down to the popular surfer's haven of Short Sand Beach in Oswald West State Park.`},{name:`Tillamook Head Trail`,distance:`6.3 miles one way`,difficulty:`Moderate/Hard`,elevation:`1,350 ft gain`,description:`Located further north, this historic trail follows the route of Lewis and Clark's party, offering deep forest solitude and clifftop ocean views.`}],gpe=[{name:`Arch Cape Inn & Retreat`,description:`A romantic, castle-like bed and breakfast offering luxurious rooms, ocean views, and European-style architecture. A perfect getaway for couples.`,category:`Luxury B&B`,amenities:`Breakfast, Ocean Views, Gardens`,image:`https://drive.google.com/thumbnail?id=1bozxH324xGyh6iidrfsGhE62fzgRpm4K&sz=w1000`,link:`https://expedia.com/affiliates/arch-cape-hotels-arch-cape-inn-and-retreat-cannon-beach.E7MsMSo`,linkRel:`noopener sponsored`},{name:`Arch Cape Loft`,description:`Modern, well-appointed loft accommodations offering privacy and contemporary style for travelers who want a home-away-from-home feel.`,category:`Vacation Rental`,amenities:`Kitchen, Modern Design, Private`},{name:`Vacation Rentals`,description:`Arch Cape is famous for its wide variety of private beach homes available for rent, ranging from cozy cabins to sprawling oceanfront estates.`,category:`Private Homes`,amenities:`Varies by property`}],_pe=[{name:`Driftwood Restaurant & Lounge`,description:`Located in nearby Cannon Beach, a local institution famous for its steaks, seafood, and vibrant outdoor patio atmosphere.`,category:`Steak & Seafood`,features:`Outdoor Seating`},{name:`The Wayfarer Restaurant`,description:`Upscale dining with stunning views of Haystack Rock. Known for its whiskey bar and fresh Pacific Northwest cuisine.`,category:`Fine Dining`,features:`Ocean View`},{name:`Pelican Brewing`,description:`A favorite for craft beer lovers, serving award-winning brews and elevated pub fare in a bustling, family-friendly setting.`,category:`Brewery`,features:`Craft Beer`},{name:`Public Coast Brewing`,description:`A casual spot celebrating Oregon's public beaches with house-made beers, burgers, and fish and chips.`,category:`Brewery`,features:`Casual Dining`},{name:`Pizza a'fetta`,description:`Renowned for serving some of the best pizza on the coast, featuring fresh ingredients and a cozy dining room.`,category:`Italian`,features:`Artisan Pizza`},{name:`Sleepy Monk Coffee Roasters`,description:`The go-to spot for organic, small-batch roasted coffee and delicious house-made pastries.`,category:`Cafe`,features:`Organic Coffee`},{name:`Insomnia Coffee Co`,description:`A modern coffee shop offering high-quality espresso drinks and a great place to relax or get some work done.`,category:`Cafe`,features:`Espresso Bar`},{name:`Lazy Susan Cafe`,description:`A charming spot famous for its hearty breakfasts, waffles, and omelets in a quaint, homey atmosphere.`,category:`Breakfast/Brunch`,features:`Homestyle Cooking`},{name:`Ecola Seafoods Restaurant & Market`,description:`Both a market and a restaurant, offering some of the freshest seafood you can buy, including their famous smoked salmon.`,category:`Seafood Market`,features:`Fresh Catch`},{name:`Castaways`,description:`A hidden gem offering Cajun and Creole-inspired dishes with a Pacific Northwest twist in an intimate setting.`,category:`Cajun/Creole`,features:`Global Flavors`}],vpe=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(0,B.jsx)(`div`,{className:`bg-teal-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-teal-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-teal-700 bg-teal-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),ype=({attractions:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`AttractionsSection: No attractions data provided`):console.log(`AttractionsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-teal-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-teal-600 font-bold tracking-wider uppercase text-sm`,children:`Explore the Coast`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Arch Cape`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-teal-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(vpe,{attraction:e,index:t},t))})]})})),bpe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-teal-100 text-teal-800 border-teal-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},xpe=({trails:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`HikingTrailsSection: No trails data provided`):console.log(`HikingTrailsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Discover the rugged beauty of Arch Cape and Oswald West State Park. From ancient forests to sweeping ocean vistas, these trails offer something for every adventurer.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(bpe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),a6=({townName:e,fallbackHotels:t=[],affiliateHotels:n=[],sourcePageOverride:r=null})=>{let i=new Map;(t||[]).forEach(e=>{e&&e.name&&i.set(e.name.toLowerCase(),{fallback:e,aff:null})}),(n||[]).forEach(e=>{if(!e||!e.name)return;let t=e.name.toLowerCase(),n=t;if(!i.has(t)){for(let[e,r]of i.entries())if(e.includes(t)||t.includes(e)){n=e;break}}i.has(n)?i.get(n).aff=e:i.set(t,{fallback:null,aff:e})});let a=Array.from(i.values()).map(({fallback:t,aff:n})=>{let r=t||{},i=n||{},a=[];a=Array.isArray(r.amenities)?r.amenities:typeof r.amenities==`string`?r.amenities.split(`,`).map(e=>e.trim()):[`Free WiFi`,`Free Parking`,`Comfortable Rooms`];let o=i.photoUrl||r.image||null;if(o&&o.includes(`drive.google.com/uc`)){let e=o.match(/id=([^&]+)/);e&&e[1]&&(o=`https://drive.google.com/thumbnail?id=${e[1]}&sz=w1000`)}return{name:r.name||i.name,link:r.link||r.bookingUrl||r.affiliateUrl||i.link||`#`,linkRel:r.linkRel||i.linkRel||`noopener noreferrer`,price:r.price||i.price||`$$`,rating:r.rating||i.rating||`4.0/5`,address:r.address||i.address||`${e}, OR`,description:r.description||i.description||`Enjoy your stay at ${r.name||i.name} located in beautiful ${e}. Book now for great rates and comfortable accommodations on the Oregon Coast.`,amenities:a,image:o,chain:r.category||r.chain||i.chain||`Hotel`,stars:r.stars||i.stars||3,bgClass:r.bgClass,bgImage:r.bgImage}});return!a||a.length===0?(0,B.jsx)(`section`,{className:`py-24 px-4 bg-slate-50 text-center`,children:(0,B.jsxs)(`p`,{className:`text-stone-500`,children:[`Hotel information currently unavailable for `,e,`.`]})}):(0,B.jsx)(`section`,{className:`py-20 px-4`,style:{backgroundColor:`#e8eff2`},children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`h2`,{className:`text-4xl md:text-5xl font-serif font-bold mb-4`,style:{color:`#1a3a4a`},children:[`Where to Stay in `,e]}),(0,B.jsx)(`p`,{className:`text-lg max-w-2xl mx-auto`,style:{color:`#2e7d8a`},children:`From oceanfront suites to budget-friendly base camps, find the perfect accommodation for your coastal getaway.`})]}),(0,B.jsx)(`div`,{className:`space-y-16`,children:a.map((t,n)=>{let i=t.bgClass&&t.bgClass.includes(`500`)||t.bgImage,a=Tee(e,t.name),o=r||K(e);return(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`flex flex-col ${n%2==0?`md:flex-row`:`md:flex-row-reverse`} bg-white rounded-2xl overflow-hidden shadow-lg hover:shadow-xl transition-shadow duration-300`,children:[(0,B.jsxs)(`div`,{className:`image-wrapper w-full md:w-1/2 min-h-[16rem] md:min-h-full relative overflow-hidden bg-slate-200 flex items-center justify-center group`,children:[(0,B.jsxs)(`div`,{className:`image-fallback absolute inset-0 bg-slate-200 flex flex-col items-center justify-center z-0`,style:{display:t.image?`none`:`flex`},children:[(0,B.jsx)(Aa,{className:`w-12 h-12 text-slate-400 mb-2`}),(0,B.jsx)(`span`,{className:`text-slate-500 text-sm font-medium`,children:`Image not available`})]}),t.image&&(0,B.jsx)(`img`,{src:t.image,alt:`View of ${t.name}`,className:`absolute inset-0 w-full h-full object-cover z-0 transition-transform duration-700 group-hover:scale-105`,onError:e=>{e.target.style.display=`none`;let t=e.target.closest(`.image-wrapper`);if(t){let e=t.querySelector(`.image-fallback`);e&&(e.style.display=`flex`)}}}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-t from-black/80 via-black/20 to-transparent flex items-end p-6 z-10 pointer-events-none`,children:(0,B.jsxs)(`div`,{className:`text-white`,children:[(0,B.jsx)(`p`,{className:`text-sm font-semibold tracking-wider uppercase mb-1`,style:{color:`#a8d5d1`},children:t.chain}),(0,B.jsx)(`div`,{className:`flex items-center space-x-1`,children:[...Array(t.stars||3)].map((e,t)=>(0,B.jsx)(Go,{className:`w-4 h-4 fill-current text-yellow-400`},t))})]})})]}),(0,B.jsxs)(`div`,{className:`w-full md:w-1/2 p-8 flex flex-col justify-between relative ${t.bgClass||``}`,style:{...t.bgClass?{}:{backgroundColor:`#f0e8d8`},...t.bgImage?{backgroundImage:`url(${t.bgImage})`,backgroundSize:`cover`,backgroundPosition:`center`}:{}},children:[t.bgImage&&(0,B.jsx)(`div`,{className:`absolute inset-0 bg-black/75 z-0`}),(0,B.jsxs)(`div`,{className:`relative z-10 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-start mb-4 gap-4`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-serif font-bold`,style:{color:i?`#ffffff`:`#1a3a4a`},children:(0,B.jsx)(`a`,{href:t.link===`#`?void 0:t.link,target:t.link===`#`?void 0:`_blank`,rel:t.link===`#`?void 0:t.linkRel,className:t.link===`#`?``:`hover:underline hover:opacity-80 transition-all duration-200`,children:t.name})}),(0,B.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[a&&(0,B.jsx)(X,{objectId:a.object_id,title:t.name,sourcePage:o,pageType:`town`,module:`hotel-card`,affiliateLink:t.link===`#`?null:t.link,theme:i?`dark`:`light`}),(0,B.jsx)(`span`,{className:`font-bold text-lg whitespace-nowrap`,style:{color:i?`#f0fdfa`:`#2e7d8a`},children:t.price})]})]}),(0,B.jsxs)(`div`,{className:`flex items-center text-sm mb-4`,style:{color:i?`#e0f2fe`:`#8c7055`},children:[(0,B.jsx)(H,{className:`w-4 h-4 mr-1 flex-shrink-0`}),t.address]}),(0,B.jsx)(`p`,{className:`mb-6 font-serif leading-relaxed`,style:{color:i?`#f8fafc`:`#1a3a4a`},children:t.description}),(0,B.jsxs)(`div`,{className:`mb-6`,children:[(0,B.jsx)(`h4`,{className:`text-sm font-bold uppercase tracking-wider mb-2`,style:{color:i?`#ffffff`:`#2e7d8a`},children:`Amenities`}),(0,B.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:t.amenities.map((e,t)=>(0,B.jsxs)(`span`,{className:`flex items-center text-xs px-2 py-1 rounded-full ${i?`bg-black/40 text-white`:`bg-white/50`}`,style:i?{}:{color:`#1a3a4a`},children:[(0,B.jsx)(Fa,{className:`w-3 h-3 mr-1`,style:i?{color:`#ffffff`}:{color:`#2e7d8a`}}),` `,e]},t))})]})]}),(0,B.jsxs)(`div`,{className:`flex items-center justify-between mt-auto pt-4`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col`,children:[(0,B.jsx)(`span`,{className:`text-xs uppercase font-bold`,style:{color:i?`#e0f2fe`:`#8c7055`},children:`Google Rating`}),(0,B.jsx)(`span`,{className:`font-bold text-lg`,style:{color:i?`#ffffff`:`#1a3a4a`},children:t.rating})]}),t.link!==`#`&&(0,B.jsxs)(`a`,{href:t.link,target:`_blank`,rel:t.linkRel,className:`flex items-center px-6 py-3 rounded-lg font-bold transition-colors duration-300 hover:opacity-90 shadow-sm`,style:{backgroundColor:i?t.bgImage?`#2e7d8a`:`rgba(0,0,0,0.4)`:`#2e7d8a`,color:`#ffffff`},children:[`Book on Expedia `,(0,B.jsx)($a,{className:`w-4 h-4 ml-2`})]})]})]})]})]},n)})}),(0,B.jsx)(`div`,{className:`mt-12 text-center`,children:(0,B.jsx)(`p`,{className:`text-sm italic`,style:{color:`#8c7055`},children:`* Hotel links are affiliate links. We may earn a commission at no extra cost to you.`})})]})})},Spe=({hotels:e})=>{let t=`Arch Cape`,n=[`Vacation Rentals`,`Arch Cape Loft`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},o6=({restaurant:e})=>{let t=Sf(`Arch Cape`,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:`/town/arch-cape`,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md flex-shrink-0`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]})},s6=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),Cpe=({restaurants:e})=>{if((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`RestaurantsSection: No restaurant data provided`):console.log(`RestaurantsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,4),n=e.slice(4,6),r=e.slice(6);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Nearby Dining`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`While Arch Cape is primarily residential, you are just minutes away from the world-class culinary scene of Cannon Beach.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block`,children:`Local Favorites`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(o6,{restaurant:e},t))})]}),(0,B.jsx)(s6,{src:`https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=800&q=80`,alt:`Coastal dining atmosphere`,caption:`Enjoy fresh seafood and local brews nearby`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(s6,{src:`https://images.unsplash.com/photo-1513104890138-7c749659a591?auto=format&fit=crop&w=800&q=80`,alt:`Artisan pizza`,caption:`Casual bites and comfort food`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block ml-auto`,children:`Casual Eats`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(o6,{restaurant:e},t))})]})]}),(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 mb-8 text-center`,children:`Coffee & Breakfast`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-4 gap-6`,children:r.map((e,t)=>(0,B.jsx)(o6,{restaurant:e},t))})]})]})})},wpe=()=>{(0,y.useEffect)(()=>{console.log(`ArchCapePage mounted`)},[]);let e=Y[`arch-cape`],t=If(`Arch Cape`),n=Lf(`Arch Cape`),r=tj[`arch-cape`];return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Zx,{name:`Arch Cape Oregon Travel`,description:n,url:`https://oregoncoastal.com/town/arch-cape`,image:r}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vj,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden`,children:[(0,B.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Beautiful beach scene showing sandy beach with sea stacks, dramatic rocky cliffs with trees on top, blue sky with white clouds, ocean waves, beach access path with wooden fence, and people enjoying the beach`,className:`w-full h-full object-cover`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-black/30 to-black/70`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-center text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Arch Cape`}),(0,B.jsx)(`h1`,{className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight`,children:`Arch Cape`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 mb-12`,children:[(0,B.jsx)(`div`,{className:`lg:col-span-2`,children:(0,B.jsx)(r6,{townName:`Arch Cape`,initialDescription:mpe},`ArchCape-About`)}),(0,B.jsx)(`div`,{className:`lg:col-span-1`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||45.8051,lon:e?.geo?.lng||-123.9604,townName:`Arch Cape`})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Arch Cape`,townSlug:`arch-cape`,lat:e?.geo?.lat||45.8051,lon:e?.geo?.lng||-123.9604})})]}),(0,B.jsx)(Gj,{townName:`Arch Cape`,featuredImage:r,title:`Arch Cape in Photos`}),(0,B.jsx)(Hj,{attractions:i6,townName:`Arch Cape`}),(0,B.jsx)(ype,{attractions:i6}),(0,B.jsx)(xpe,{trails:hpe}),(0,B.jsx)(Spe,{hotels:gpe}),(0,B.jsx)(Cpe,{restaurants:_pe})]}),(0,B.jsx)(Ux,{})]})},Tpe=class extends y.Component{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){console.error(`ErrorBoundary caught an error:`,e,t)}render(){return this.state.hasError?(0,B.jsx)(`div`,{className:`p-4 bg-red-50 border border-red-200 rounded-xl my-4`,children:(0,B.jsxs)(rj,{variant:`destructive`,className:`bg-transparent border-none p-0`,children:[(0,B.jsx)(Ba,{className:`h-5 w-5 text-red-600 mb-2`}),(0,B.jsx)(ij,{className:`text-red-800 font-semibold`,children:`Component Error`}),(0,B.jsxs)(aj,{className:`text-red-700 mt-1`,children:[`Something went wrong loading this component. Please try refreshing the page.`,this.props.showDetails&&this.state.error&&(0,B.jsx)(`div`,{className:`mt-2 text-xs font-mono bg-white/50 p-2 rounded text-red-900 overflow-auto`,children:this.state.error.toString()})]})]})}):this.props.children}},Epe={hidden:{opacity:0},visible:{opacity:1,transition:{staggerChildren:.1}}},Dpe={hidden:{y:20,opacity:0},visible:{y:0,opacity:1,transition:{type:`spring`,stiffness:100}}},c6=({events:e=[],title:t=`Local Events & Festivals`,subtitle:n=`Plan your trip around these upcoming coastal gatherings.`,townName:r})=>!e||e.length===0?null:(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#FFF8F0] border-y border-stone-200`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(`p`,{className:`text-sm md:text-base font-semibold text-stone-500 uppercase tracking-wider mb-2`,children:`Mark Your Calendar`}),(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-serif font-bold text-stone-900 tracking-tight mb-4`,children:t}),(0,B.jsx)(`div`,{className:`w-24 h-[1px] bg-stone-300 mx-auto`}),(0,B.jsx)(`p`,{className:`mt-6 text-lg text-stone-600 max-w-2xl mx-auto`,children:n})]}),(0,B.jsx)(q.div,{variants:Epe,initial:`hidden`,whileInView:`visible`,viewport:{once:!0,margin:`-100px`},className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6`,children:e.map((e,t)=>{let n=Cf(r,e.title);return(0,B.jsx)(q.div,{variants:Dpe,className:`h-full`,children:(0,B.jsx)(dw,{className:`h-full flex flex-col bg-white border border-stone-200 rounded-none shadow-[0_2px_8px_rgba(0,0,0,0.04)] hover:shadow-[0_8px_24px_rgba(0,0,0,0.06)] transition-all duration-300 p-6`,children:(0,B.jsxs)(`div`,{className:`flex flex-col h-full gap-4`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-serif font-bold text-stone-900 leading-tight`,children:e.title}),n&&(0,B.jsx)(X,{objectId:n.object_id,title:e.title,sourcePage:K(r),pageType:`town`,module:`events`,affiliateLink:null,theme:`light`})]}),(0,B.jsxs)(`div`,{className:`flex items-center text-stone-600 font-medium gap-2 mt-auto pt-4 border-t border-stone-100`,children:[(0,B.jsx)(ja,{className:`w-4 h-4 flex-shrink-0 text-stone-400`}),(0,B.jsx)(`span`,{className:`text-sm tracking-wide`,children:e.date})]}),e.description&&(0,B.jsx)(`p`,{className:`text-sm text-stone-500 mt-2`,children:e.description})]})})},t)})})]})}),Ope=1e4,kpe=(e,t)=>{let n,r=new Promise((e,r)=>{n=setTimeout(()=>{r(Error(`Request timed out after 10s`))},t)});return Promise.race([e,r]).finally(()=>{clearTimeout(n)})},l6=async e=>{let t=new Date().toISOString();console.group(`🌊 [fetchTidesNetData] Start fetch for: ${e}`),console.log(`[Time] Request initiated at: ${t}`);try{let{data:t,error:n}=await kpe(zd.functions.invoke(`fetch-tides-data`,{body:{stationPath:e}}),Ope);if(n)throw console.error(`[fetchTidesNetData] Supabase invoke error:`,n),Error(`Invoke error: ${n.message}`);if(console.log(`[fetchTidesNetData] Raw API Response Received:`,t),!t||t.error)throw console.warn(`[fetchTidesNetData] Edge function returned internal error:`,t?.error),Error(t?.error||`Unknown edge function error`);if(!Array.isArray(t.data))throw Error(`Invalid response format: 'data' is not an array. Found: ${typeof t.data}`);return console.log(`[fetchTidesNetData] Parsed ${t.data.length} tide events.`),console.log(`[fetchTidesNetData] Note: times are expected to be in Local (PT) timezone format (e.g. "05:00 AM").`),console.groupEnd(),{tides:t.data,source:t.source||`unknown`,timestamp:t.timestamp||Date.now(),error:null}}catch(e){return console.error(`[fetchTidesNetData] Exception caught:`,e.message),console.groupEnd(),{tides:[],source:`error`,timestamp:Date.now(),error:e.message}}},u6={},Ape=18e5,jpe=[{time:`05:00 AM`,height_ft:`1.5`,height_m:`0.46`,type:`Low Tide`},{time:`11:15 AM`,height_ft:`6.5`,height_m:`1.98`,type:`High Tide`},{time:`05:30 PM`,height_ft:`1.2`,height_m:`0.37`,type:`Low Tide`},{time:`11:45 PM`,height_ft:`6.8`,height_m:`2.07`,type:`High Tide`}],Mpe=e=>{let[t,n]=(0,y.useState)([]),[r,i]=(0,y.useState)(!0),[a,o]=(0,y.useState)(null),[s,c]=(0,y.useState)({source:``,timestamp:null}),[l,u]=(0,y.useState)(!1),d=(0,y.useCallback)(async(e,t=!1,r=1)=>{if(!e)return;r===1&&(i(!0),o(null),console.log(`[useTideData] Initiating fetch pipeline for ${e}`));let a=e.toLowerCase();if(!t&&r===1&&u6[a]&&Date.now()-u6[a].timestamp<Ape)console.log(`[useTideData] Using cached processed data for ${e}`),n(u6[a].data),c(u6[a].meta),u(u6[a].isMock||!1),i(!1);else try{let t=tN(e);console.log(`[useTideData] Step 1: Mapping resolved. Path -> ${t}`);let r=await l6(t);if(console.log(`[useTideData] Step 2: Edge Function responded. Source: ${r.source}`),r.error||!r.tides||r.tides.length===0)throw Error(`Data fetch failed step 2: ${r.error||`Empty data array`}`);console.log(`[useTideData] Step 3: Raw response data:`,r.tides);let o=aN();console.log(`[useTideData] Step 4: Attaching Pacific Date string: ${o}`);let s=r.tides.map(e=>({time:e.time,height_ft:e.height_ft,height_m:e.height_m,type:e.type,v:e.height_ft,displayTime:e.time,pacificDate:o,_rawDebug:JSON.stringify(e)}));console.log(`[useTideData] Step 5: Final output to component state:`,s);let l={source:r.source,timestamp:r.timestamp,error:null};u6[a]={data:s,meta:l,timestamp:Date.now(),isMock:!1},n(s),c(l),u(!1),i(!1)}catch(a){if(console.warn(`[useTideData] Attempt ${r} failed for ${e}:`,a.message),r<2){let n=r*3e3;console.log(`[useTideData] Retrying in ${n}ms...`),setTimeout(()=>{d(e,t,r+1)},n)}else{console.error(`[useTideData] Pipeline failed. Activating fallback data for ${e}.`),o(`Processing failed: ${a.message}. Showing estimated fallback.`),u(!0);let t=aN();n(jpe.map(e=>({...e,v:e.height_ft,displayTime:e.time,pacificDate:t,_rawDebug:JSON.stringify(e)}))),i(!1)}}},[]);return(0,y.useEffect)(()=>{d(e)},[e,d]),{data:t,loading:r,error:a,meta:s,isUsingMockData:l,refetch:()=>d(e,!0,1)}},Npe=e=>e?.toString().toLowerCase().replace(/\s+/g,`-`).replace(/[^\w-]/g,``)||``,Ppe=({attraction:e,index:t})=>(0,B.jsx)(q.div,{id:Npe(e?.name),initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full scroll-mt-24`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),Fpe=({attractions:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`AttractionsSection: No attractions data provided`):console.log(`AttractionsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Explore the History`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Astoria`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(Ppe,{attraction:e,index:t},t))})]})})),Ipe=e=>e?.toString().toLowerCase().replace(/\s+/g,`-`).replace(/[^\w-]/g,``)||``,Lpe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},Rpe=({trails:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`HikingTrailsSection: No trails data provided`):console.log(`HikingTrailsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`From riverside strolls to challenging climbs, Astoria offers trails for every skill level. Discover ancient forests, waterfalls, and sweeping coastal views.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{id:Ipe(e.name),initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group scroll-mt-24`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(Lpe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),zpe=[{name:`Hampton Inn & Suites Astoria`,chain:`Hilton`,stars:3,price:`$$$`,rating:`4.5/5`,address:`201 39th St, Astoria, OR 97103`,description:`Located right on the Columbia River, this modern hotel offers stunning water views, complimentary hot breakfast, and easy access to the Astoria Riverwalk. Perfect for watching the massive cargo ships pass by from your balcony.`,amenities:[`Free Breakfast`,`Indoor Pool`,`Fitness Center`,`River Views`,`Free WiFi`],image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/086d60dedbb1deb18892c292d979f631.jpg`},{name:`Holiday Inn Express & Suites Astoria`,chain:`IHG`,stars:3,price:`$$`,rating:`4.4/5`,address:`204 W Marine Dr, Astoria, OR 97103`,description:`Situated near the Megler Bridge, this comfortable hotel features an indoor pool with river views, signature cinnamon rolls for breakfast, and is just a short drive to downtown Astoria's main attractions and dining.`,amenities:[`Free Breakfast`,`River Views`,`Indoor Pool`,`Business Center`,`Free Parking`],image:`https://images.unsplash.com/photo-1582719478250-c89cae4dc85b?ixlib=rb-4.0.3&auto=format&fit=crop&w=1000&q=80`},{name:`Motel 6 Astoria`,chain:`Motel 6`,stars:2,price:`$`,rating:`3.8/5`,address:`288 W Marine Dr, Astoria, OR 97103`,description:`A budget-friendly option offering clean, basic accommodations. It's pet-friendly, conveniently located near the highway, and provides a great base camp for exploring the Oregon Coast without breaking the bank.`,amenities:[`Pet Friendly`,`Free Coffee`,`Free WiFi`,`Free Parking`,`Accessible Rooms`],image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/5ad994bcf6c5a0a07451cb331cc7667b.jpg`},{name:`Astoria River Motel`,chain:`Riverside Charm · Budget-Friendly`,stars:2,price:`$`,rating:`4.3/5`,address:`3348 Leif Erikson Drive, Astoria, OR 97103`,description:`Experience riverside charm with beautiful river views right from your room. This budget-friendly motel offers a convenient location near downtown Astoria, making it a perfect, affordable base camp for your coastal adventures.`,amenities:[`River Views`,`Budget Friendly`,`Pet Friendly`,`Free WiFi`],image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/b43f3797e7ea7d072e74f17217d6246e.jpg`,bgImage:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/f014eeac4bcf169dbeb561239a0e73b2.jpg`},{name:`Lloyd Hotel Astoria Bayfront`,chain:`Ascend Collection Luxury on the Bay`,stars:4,price:`$$$`,rating:`4.6/5`,address:`100 Westshore Drive, Astoria, OR 97103`,description:`Experience upscale waterfront hospitality at Lloyd Hotel Astoria Bayfront, an Ascend Collection Hotel. This premium property offers stunning views of the Columbia River and Astoria Bridge, featuring modern amenities, a full-service restaurant, and easy access to downtown attractions. Perfect for travelers seeking elevated comfort and service.`,amenities:[`Waterfront Views`,`Restaurant & Bar`,`Business Center`,`Fitness Center`,`Free WiFi`],image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/4079ca1fed5ffad905dd239706d5c5e7.png`},{name:`Best Western Columbia River Waterfront`,chain:`Best Western Waterfront Excellence`,stars:3,price:`$$`,rating:`4.5/5`,address:`3600 Westshore Drive, Astoria, OR 97103`,description:`Discover comfort and convenience at Best Western Columbia River Waterfront Hotel. Located directly on the waterfront with panoramic river views, this hotel combines Best Western reliability with premium amenities including an indoor pool, hot tub, and complimentary breakfast. An ideal base for exploring Astoria's maritime heritage.`,amenities:[`Waterfront Location`,`Indoor Pool & Hot Tub`,`Free Breakfast`,`River Views`,`Pet Friendly`],image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/394888ac17c0c5bbb4e26405424ac887.jpg`,bgClass:`bg-gradient-to-br from-emerald-500 to-teal-400`}],Bpe=()=>{let e=`Astoria`;return(0,B.jsx)(a6,{townName:e,fallbackHotels:zpe,affiliateHotels:jC[e]})},Vpe=[{icon:(0,B.jsx)(ja,{className:`w-8 h-8`}),title:`Best Time to Visit`,description:`Late summer (August-September) offers the clearest skies and warmest weather. Fall brings dramatic coastal storms, perfect for cozying up indoors with a view.`},{icon:(0,B.jsx)(Na,{className:`w-8 h-8`}),title:`Getting Around & Parking`,description:`Downtown Astoria is very walkable, but you'll need a car for the Column and state parks. Street parking downtown is metered, so bring coins or use the parking app.`},{icon:(0,B.jsx)(Ka,{className:`w-8 h-8`}),title:`Weather Preparation`,description:`The coast is famously unpredictable. Always pack layers and a waterproof rain jacket, even in summer. The wind coming off the Columbia River can be brisk.`},{icon:(0,B.jsx)(ns,{className:`w-8 h-8`}),title:`Local Cuisine`,description:`Don't miss the fresh local seafood! Astoria is famous for its fish and chips, often caught the same day. The local craft brewery scene is also world-class.`},{icon:(0,B.jsx)(wo,{className:`w-8 h-8`}),title:`The Riverwalk`,description:`The Astoria Riverwalk stretches for miles along the waterfront. It's flat, paved, and perfect for a morning jog, sunset stroll, or taking the historic trolley.`},{icon:(0,B.jsx)(Xa,{className:`w-8 h-8`}),title:`Day Trip Ideas`,description:`Fort Stevens State Park is just 20 minutes away featuring a historic shipwreck. Across the Megler Bridge lies Washington state and the stunning Cape Disappointment.`}],Hpe=()=>(0,B.jsx)(`section`,{className:`py-20 px-4`,style:{backgroundColor:`#1a3a4a`},children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-serif font-bold mb-4`,style:{color:`#f0e8d8`},children:`Essential Planning Tips`}),(0,B.jsx)(`p`,{className:`text-lg max-w-2xl mx-auto`,style:{color:`#a8d5d1`},children:`Make the most of your trip to Astoria with these local insights and practical recommendations.`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:Vpe.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:t*.1},className:`p-6 rounded-2xl border`,style:{backgroundColor:`rgba(240, 232, 216, 0.05)`,borderColor:`#2e7d8a`},children:[(0,B.jsx)(`div`,{className:`mb-4 inline-block p-3 rounded-lg`,style:{backgroundColor:`#2e7d8a`,color:`#f0e8d8`},children:e.icon}),(0,B.jsx)(`h3`,{className:`text-xl font-serif font-bold mb-3`,style:{color:`#f0e8d8`},children:e.title}),(0,B.jsx)(`p`,{className:`font-serif leading-relaxed`,style:{color:`#e8eff2`},children:e.description})]},t))})]})}),d6=`Astoria`,Upe=K(d6),Wpe=e=>e?.toString().toLowerCase().replace(/\s+/g,`-`).replace(/[^\w-]/g,``)||``,f6=({restaurant:e})=>{let t=Sf(d6,e?.name);return(0,B.jsxs)(`div`,{id:Wpe(e?.name),className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md scroll-mt-24`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Upe,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md flex-shrink-0`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]})},p6=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),Gpe=({restaurants:e})=>{if((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`RestaurantsSection: No restaurant data provided`):console.log(`RestaurantsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,3),n=e.slice(3,5),r=e.slice(5,7),i=e.slice(7);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Astoria`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`From fresh-off-the-boat seafood and world-class breweries to cozy cafes in converted canneries, Astoria is a foodie's paradise.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block`,children:`Fine Dining & Seafood`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(f6,{restaurant:e},t))})]}),(0,B.jsx)(p6,{src:`https://images.unsplash.com/photo-1693360344887-306a6a7089fb?auto=format&fit=crop&w=800&q=80`,alt:`Fresh seafood plate`,caption:`Fresh catch of the day served with river views`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(p6,{src:`https://images.unsplash.com/photo-1542835497-a6813df96ed9?auto=format&fit=crop&w=800&q=80`,alt:`Craft brewery interior`,caption:`Astoria's legendary craft beer scene`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block ml-auto`,children:`Breweries & Pubs`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(f6,{restaurant:e},t))})]})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-3 gap-6 mb-16`,children:[(0,B.jsx)(`div`,{className:`md:col-span-3 text-center mb-4`,children:(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 inline-block`,children:`Local Favorites`})}),r.map((e,t)=>(0,B.jsx)(f6,{restaurant:e},t)),(0,B.jsx)(`div`,{className:`h-full min-h-[200px] rounded-xl overflow-hidden shadow-md`,children:(0,B.jsx)(`img`,{src:`https://images.unsplash.com/photo-1614103862009-d13eff600b53?auto=format&fit=crop&w=600&q=80`,alt:`Fish and chips`,className:`w-full h-full object-cover`})})]}),(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 mb-8 text-center`,children:`Cafes, Sweets & Light Bites`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-4 gap-6`,children:i.map((e,t)=>(0,B.jsx)(f6,{restaurant:e},t))}),(0,B.jsx)(`div`,{className:`mt-8 text-center`,children:(0,B.jsx)(`img`,{src:`https://images.unsplash.com/photo-1696454599321-ba09c1927f56?auto=format&fit=crop&w=1200&h=300&q=80`,alt:`Bakery treats`,className:`w-full h-48 object-cover rounded-xl opacity-90`})})]})]})})},Kpe=[{title:`Astoria Second Saturday Art Walk`,date:`Monthly (Every 2nd Saturday)`},{title:`Great Columbia Crossing`,date:`October 11, 2026`},{title:`FisherPoets Gathering`,date:`February 26–28, 2027`},{title:`Astoria Scandinavian Midsummer`,date:`June 18–20, 2027`},{title:`Astoria Regatta`,date:`August 11–15, 2027`},{title:`Rigs & Reggae`,date:`August 2027`}],qpe=()=>{let[e,t]=(0,y.useState)(!1),{data:n}=Mpe(`Astoria`),r=Xe();(0,y.useEffect)(()=>{console.log(`AstoriaPage mounted`),window.location.search.includes(`debug=true`)&&(t(!0),console.log(`🌊 [AstoriaPage Debug] Tide Data at Render:`,n))},[n]);let i=Y.astoria,a=If(`Astoria`),o=Lf(`Astoria`),s=Rf(r.pathname),c=tj.astoria;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:a}),(0,B.jsx)(`meta`,{name:`description`,content:o}),(0,B.jsx)(`link`,{rel:`canonical`,href:s}),(0,B.jsx)(`meta`,{property:`og:title`,content:a}),(0,B.jsx)(`meta`,{property:`og:description`,content:o})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),e&&(0,B.jsxs)(`div`,{className:`bg-amber-100 border-b border-amber-300 p-4 text-amber-900 text-sm font-mono shadow-inner`,children:[(0,B.jsx)(`h4`,{className:`font-bold mb-2 uppercase`,children:`🛠️ Tide Data Debug View Active`}),(0,B.jsx)(`p`,{className:`mb-2`,children:`Comparing raw payload vs UI processed payload. If offset by ~50 mins, HTML scraper is grabbing wrong lunar day.`}),(0,B.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-4`,children:[(0,B.jsxs)(`div`,{className:`bg-white/50 p-2 rounded`,children:[(0,B.jsx)(`strong`,{children:`Raw First Entry:`}),(0,B.jsx)(`br`,{}),n?.[0]?._rawDebug||`Loading...`]}),(0,B.jsxs)(`div`,{className:`bg-white/50 p-2 rounded`,children:[(0,B.jsx)(`strong`,{children:`Processed Display Time:`}),(0,B.jsx)(`br`,{}),(0,B.jsx)(`span`,{"data-raw-time":n?.[0]?.time,children:n?.[0]?.displayTime||`Loading...`})]})]})]}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:c,alt:`Astoria, Oregon waterfront`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Astoria`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Astoria`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-lime-400 rounded-full mb-0 shadow-lg`}),(0,B.jsx)(`div`,{className:`mt-6`,children:(0,B.jsx)(X,{objectId:`obj_oregoncoastal_town_astoria_v1`,title:`Astoria`,sourcePage:`/town/astoria`,pageType:`town`,module:`town-header`,affiliateLink:null,theme:`dark`})})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Astoria Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:fj}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Located where the Columbia River meets the Pacific Ocean, Astoria is the oldest American settlement west of the Rocky Mountains.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:i?.geo.lat||46.1878,lon:i?.geo.lng||-123.8244,townName:`Astoria`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Tpe,{showDetails:!0,children:(0,B.jsx)(Q3,{townName:`Astoria`,townSlug:`astoria`,lat:i?.geo.lat||46.1878,lon:i?.geo.lng||-123.8244})})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Astoria`,featuredImage:c,title:`Astoria in Photos`})}),(0,B.jsx)(Hj,{attractions:pj,townName:`Astoria`}),(0,B.jsx)(Fpe,{attractions:pj}),(0,B.jsx)(Rpe,{trails:mj}),(0,B.jsx)(c6,{events:Kpe}),(0,B.jsx)(Bpe,{}),(0,B.jsx)(Gpe,{restaurants:hj}),(0,B.jsx)(Hpe,{})]}),(0,B.jsx)(Ux,{})]})},m6=`Bandon`,Jpe=K(m6),Ype=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(()=>{let t=Ef(m6,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Jpe,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),Xpe=({attractions:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`AttractionsSection: No attractions data provided`):console.log(`AttractionsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Discover the Magic`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Bandon`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(Ype,{attraction:e,index:t},t))})]})})),h6=`Bandon`,Zpe=K(h6),Qpe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},$pe=({trails:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`HikingTrailsSection: No trails data provided`):console.log(`HikingTrailsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Beach Walks`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Explore Bandon's stunning coastline and dunes. From easy boardwalks in Old Town to miles of sandy trekking past sea stacks.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(()=>{let t=Tf(h6,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Zpe,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(Qpe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),eme=({hotels:e})=>{let t=`Bandon`,n=[`Bandon Dunes Golf Resort`,`Lamplighter Inn`,`Windermere on the Beach`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},g6=`Bandon`,tme=K(g6),_6=({restaurant:e})=>(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md h-full flex flex-col`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),(()=>{let t=Sf(g6,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:tme,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`}):null})()]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed flex-grow`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]}),v6=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),nme=({restaurants:e})=>{if((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`RestaurantsSection: No restaurant data provided`):console.log(`RestaurantsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,3),n=e.slice(3,5),r=e.slice(5,8),i=e.slice(8);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Bandon`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Fresh Dungeness crab, artisan chocolates, and world-class chowder. Bandon's culinary scene punches well above its weight class.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block`,children:`Boardwalk & Seafood`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(_6,{restaurant:e},t))})]}),(0,B.jsx)(v6,{src:`https://images.unsplash.com/photo-1572593455878-b46c49ba79cc`,alt:`Fresh catch right off the boat`,caption:`Fresh catch right off the boat`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(v6,{src:`https://images.unsplash.com/photo-1571091718767-18b5b1457add?auto=format&fit=crop&w=800&q=80`,alt:`Fine dining plate`,caption:`Elevated coastal cuisine`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block ml-auto`,children:`Upscale & Wine`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(_6,{restaurant:e},t))})]})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-3 gap-6 mb-16`,children:[(0,B.jsx)(`div`,{className:`md:col-span-3 text-center mb-4`,children:(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 inline-block`,children:`Pubs & Sweets`})}),r.map((e,t)=>(0,B.jsx)(_6,{restaurant:e},t)),(0,B.jsx)(`div`,{className:`h-full min-h-[200px] rounded-xl overflow-hidden shadow-md`,children:(0,B.jsx)(`img`,{src:`https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=600&q=80`,alt:`Clam chowder bowl`,className:`w-full h-full object-cover`})})]}),(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 mb-8 text-center`,children:`Dining with a View`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 gap-6`,children:i.map((e,t)=>(0,B.jsx)(_6,{restaurant:e},t))}),(0,B.jsx)(`div`,{className:`mt-8 text-center`,children:(0,B.jsx)(`img`,{src:`https://images.unsplash.com/photo-1549294413-26f195200c16?auto=format&fit=crop&w=1200&h=300&q=80`,alt:`Sunset dining view`,className:`w-full h-48 object-cover rounded-xl opacity-90`})})]})]})})},rme=[{title:`Bandon Cranberry Festival`,date:`September 11–13, 2026`},{title:`Bandon Fringe Festival`,date:`June 25–28, 2027`},{title:`Circles in the Sand`,date:`Monthly (Dates vary)`},{title:`Art by the Sea Gallery Receptions`,date:`First Saturdays monthly`}],ime=()=>{(0,y.useEffect)(()=>{console.log(`BandonPage mounted`)},[]);let e=Y.bandon,t=If(`Bandon`),n=Lf(`Bandon`),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/5b77b21e59bd04defe28f5074f5126d6.webp`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Bandon, Oregon coastline with sea stacks`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Bandon`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Bandon`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-lime-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Bandon Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:jj}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Located on the beautiful Southern Oregon Coast, Bandon offers unforgettable scenic views, golf, and sea stacks.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo.lat||43.1189,lon:e?.geo.lng||-124.4172,townName:`Bandon`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Bandon`,townSlug:`bandon`,lat:e?.geo.lat||43.1189,lon:e?.geo.lng||-124.4172})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Bandon`,featuredImage:r,title:`Bandon in Photos`})}),(0,B.jsx)(Hj,{attractions:Mj,townName:`Bandon`}),(0,B.jsx)(Xpe,{attractions:Mj}),(0,B.jsx)($pe,{trails:Nj}),(0,B.jsx)(c6,{events:rme}),(0,B.jsx)(eme,{hotels:Pj}),(0,B.jsx)(nme,{restaurants:Fj})]}),(0,B.jsx)(Ux,{})]})},ame=`Perched on the eastern shore of Tillamook Bay, Bay City is a quiet, authentic coastal community that celebrates its deep connection to the water and the land. Known primarily for its world-class oysters and the stunning Kilchis Point Reserve, this small town offers a peaceful alternative to the busier tourist hubs on the coast. It's a place where history, industry, and nature converge, inviting visitors to slow down and appreciate the subtle beauty of the estuary.

Bay City's heart beats in its oyster processing facilities, where the famous Pacific Oyster has been harvested for generations. The town is also the gateway to some of the region's best hiking and birdwatching, particularly at the Kilchis Point Reserve, a 200-acre interpretive site that tells the story of the Tillamook County pioneers and the Native Americans who first called this land home. With its panoramic views of the bay, access to fresh seafood, and friendly small-town atmosphere, Bay City is a perfect destination for foodies, history buffs, and nature lovers alike.`,y6=[{name:`Kilchis Point Reserve`,description:`A cultural and natural jewel of Tillamook Bay. This 200-acre reserve features interpretive trails that wind through native spruce forests and wetlands, leading to a stunning view of the bay. It preserves the site of one of the largest Native American villages on the Oregon Coast.`,details:`Nature & History`},{name:`Pacific Oyster`,description:`The hub of Bay City's seafood industry. Visit the processing plant and market to see shuckers in action and buy the freshest oysters, clams, and crab available. The on-site restaurant, The Fish Peddler, is legendary.`,details:`Seafood Market`},{name:`Tillamook Country Smoker`,description:`Home of the famous jerky found in stores nationwide. The factory outlet store in Bay City offers great deals on pepperoni sticks, jerky, and other smoked meats, making it a popular stop for road trip snacks.`,details:`Factory Outlet`},{name:`Bay City Arts Center`,description:`A vibrant community hub hosting art classes, concerts, pancakes breakfasts, and local theater productions. It's the cultural heart of the town, bringing residents and visitors together through creativity.`,details:`Community Arts`},{name:`Goose Point`,description:`Located just south of town, this recreation area offers excellent access for fishing, crabbing, and kayaking. It's a prime spot for birdwatching, with herons, egrets, and waterfowl frequently spotted in the estuary.`,details:`Outdoor Recreation`},{name:`Al Griffin Memorial Park`,description:`A family-friendly park featuring a popular skate park, tennis courts, playground equipment, and picnic areas. It's a great spot for kids to burn off energy while parents enjoy the coastal air.`,details:`City Park`},{name:`Hayes Oyster Drive`,description:`A scenic route along the bay that offers intimate views of the oyster beds and the tidal flats. It's a quiet drive or bike ride that showcases the working waterfront character of Bay City.`,details:`Scenic Drive`},{name:`Tillamook Bay`,description:`The dominant feature of the landscape. Bay City offers multiple access points for dropping a crab pot, launching a kayak, or simply watching the tide roll in over the vast mudflats.`,details:`Water Access`}],ome=[{name:`Kilchis Point Reserve Loop`,distance:`2.0 miles`,difficulty:`Easy`,elevation:`Flat`,description:`The premier hike in Bay City. A paved and gravel interpretive trail that is wheelchair accessible, taking you through three distinct ecosystems to the bay's edge.`},{name:`Flora & Fauna Trail`,distance:`1.0 miles`,difficulty:`Easy`,elevation:`Flat`,description:`A specialized loop within the Kilchis Point Reserve focusing on the native plants and wildlife of the region. Great for educational walks with children.`},{name:`Bayshore Loop`,distance:`1.5 miles`,difficulty:`Easy`,elevation:`Minimal`,description:`A pleasant walk along the waterfront and through the quiet streets of Bay City, offering constant views of the water and the distant Cape Meares.`},{name:`Wilson River Trail (Nearby)`,distance:`Varies`,difficulty:`Moderate`,elevation:`Varies`,description:`Located a short drive east, this trail system follows the Wilson River, offering swimming holes, waterfalls, and lush forest scenery.`},{name:`Munson Creek Falls (Nearby)`,distance:`0.6 miles`,difficulty:`Easy`,elevation:`100 ft`,description:`Just south of Bay City, hike to the base of the tallest waterfall in the Coast Range. The trail winds through an old-growth forest to the 319-foot cascade.`},{name:`Tillamook State Forest (Nearby)`,distance:`Unlimited`,difficulty:`Varies`,elevation:`Varies`,description:`Bay City serves as a western gateway to this massive forest, offering endless logging roads and trails for hikers, mountain bikers, and off-road enthusiasts.`}],sme=[{name:`Sheltered Nook on Tillamook Bay`,category:`Tiny Homes`,description:`A unique lodging experience featuring a village of fully equipped tiny homes. Focuses on sustainability and community, with a central fire pit and easy access to the bay.`,amenities:`Kitchens, Pet Friendly`},{name:`Bay City Motor Inn`,category:`Motel`,description:`A reliable, budget-friendly option located right on Highway 101. Offers clean, no-frills rooms perfect for anglers and travelers passing through.`,amenities:`WiFi, Free Parking`},{name:`Edgewater Cottages (Nearby)`,category:`Cottages`,description:`Charming beachfront cottages located just down the road. They offer a rustic, cozy feel with direct access to the sandy shores of the bay.`,amenities:`Beachfront, Kitchens`},{name:`Camping at Kilchis River Park`,category:`Campground`,description:`Located a few miles inland, this county park offers beautiful camping spots right on the riverbank. serene and popular with fishermen.`,amenities:`River Access, Fishing`},{name:`Bay City Vacation Rentals`,category:`Vacation Homes`,description:`A variety of private homes available for rent, many perched on the hillside offering sweeping views of the bay and the spit.`,amenities:`Views, Privacy`},{name:`Pleasant Valley RV Park`,category:`RV Park`,description:`A quiet RV park located south of town in a rural setting. Offers full hookups and a peaceful base for exploring the Tillamook Coast.`,amenities:`Full Hookups, Quiet`}],cme=[{name:`The Fish Peddler`,category:`Seafood`,description:`The crown jewel of Bay City dining. Located at Pacific Oyster, serving the freshest oysters and clam chowder you can find. Watch the shuckers work while you eat.`,features:`Fresh Oysters, View`},{name:`Downie's Cafe`,category:`Diner`,description:`A classic American diner known for its hearty breakfasts and homemade pies. A favorite among locals for its friendly service and comfort food.`,features:`Breakfast, Homemade Pie`},{name:`Tacos La Providencia`,category:`Mexican`,description:`A highly-rated food truck/stand offering authentic Mexican street food. Known for delicious tacos, burritos, and spicy salsas.`,features:`Authentic, Food Truck`},{name:`Tillamook Country Smoker Outlet`,category:`Snacks/Deli`,description:`While primarily a shop, they offer fresh deli items and their world-famous pepperoni sticks. The perfect stop for a quick, savory lunch on the go.`,features:`Jerky, Quick Bites`},{name:`Schooner Restaurant & Lounge (Nearby)`,category:`Seafood/Grill`,description:`Located just across the bay in Netarts, but a favorite for Bay City visitors seeking a sit-down dinner with a view and fresh local ingredients.`,features:`Bay View, Cocktails`}],b6=`Bay City`,lme=K(b6),ume=({attraction:e,index:t})=>{let n=Ef(b6,e?.name);return(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),n&&(0,B.jsx)(X,{objectId:n.object_id,title:e.name,sourcePage:lme,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`})]}),(0,B.jsx)(`div`,{className:`bg-cyan-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-cyan-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-cyan-700 bg-cyan-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})})},dme=({attractions:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`AttractionsSection: No attractions data provided`)},[e]),!e||e.length===0?null:(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-cyan-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-cyan-600 font-bold tracking-wider uppercase text-sm`,children:`Discover the Bay`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Bay City Attractions`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-cyan-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6`,children:e.map((e,t)=>(0,B.jsx)(ume,{attraction:e,index:t},t))})]})})),x6=`Bay City`,fme=K(x6),pme=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},mme=({trails:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`HikingTrailsSection: No trails data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-cyan-600`}),`Nature Trails & Walks`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Explore the unique ecosystems of Tillamook Bay, from wetland boardwalks to forest paths.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-cyan-700 transition-colors`,children:e.name}),(()=>{let t=Tf(x6,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:fme,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(pme,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),hme=({hotels:e})=>{let t=`Bay City`,n=[`Camping at Kilchis River Park`,`Bay City Vacation Rentals`,`Pleasant Valley RV Park`,`Coming Soon`,`Sheltered Nook on Tillamook Bay`,`Bay City Motor Inn`,`Edgewater Cottages (Nearby)`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},S6=`Bay City`,gme=K(S6),C6=({restaurant:e})=>{let t=Sf(S6,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-cyan-100 hover:border-cyan-300 transition-all shadow-sm hover:shadow-md h-full flex flex-col`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-cyan-950`,children:e?.name||`Restaurant Name`}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:gme,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-cyan-600 bg-cyan-100 px-2 py-1 rounded-md flex-shrink-0`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed flex-grow`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-cyan-100/50 mt-auto`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-cyan-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]})},w6=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-cyan-500 pl-3`,children:n})})]}),_me=({restaurants:e})=>{if((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`RestaurantsSection: No restaurant data provided`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-cyan-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-cyan-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,2),n=e.slice(2,4),r=e.slice(4);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-cyan-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-cyan-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Bay City`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Taste the world-famous Pacific Oyster right at the source, or enjoy hearty comfort food at local favorites.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-cyan-900 border-b-2 border-cyan-200 pb-2 inline-block`,children:`Fresh Seafood`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(C6,{restaurant:e},t))})]}),(0,B.jsx)(w6,{src:`https://images.unsplash.com/photo-1615141982880-19ed7e6656fa?auto=format&fit=crop&w=800&q=80`,alt:`Oysters`,caption:`World-famous fresh oysters`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(w6,{src:`https://images.unsplash.com/photo-1555939594-58d7cb561ad1?auto=format&fit=crop&w=800&q=80`,alt:`Casual dining`,caption:`Local comfort food`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-cyan-900 border-b-2 border-cyan-200 pb-2 inline-block ml-auto`,children:`Casual & Authentic`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(C6,{restaurant:e},t))})]})]}),r.length>0&&(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-cyan-900 mb-8 text-center`,children:`More Local Bites`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-3 gap-6`,children:r.map((e,t)=>(0,B.jsx)(C6,{restaurant:e},t))})]})]})})},vme=()=>{(0,y.useEffect)(()=>{console.log(`BayCityPage mounted`)},[]);let e=Y[`bay-city`],t=If(`Bay City`),n=Lf(`Bay City`),r=tj[`bay-city`];return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Bay City, Oregon coastline`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Bay City`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Bay City`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-lime-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Bay City Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:ame}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Located on Tillamook Bay, Bay City is famous for its oyster industry and beautiful coastal scenery.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo.lat||45.5222,lon:e?.geo.lng||-123.8893,townName:`Bay City`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Bay City`,townSlug:`bay-city`,lat:e?.geo.lat||45.5222,lon:e?.geo.lng||-123.8893})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Bay City`,featuredImage:r,title:`Bay City in Photos`})}),(0,B.jsx)(Hj,{attractions:y6,townName:`Bay City`}),(0,B.jsx)(dme,{attractions:y6}),(0,B.jsx)(mme,{trails:ome}),(0,B.jsx)(hme,{hotels:sme}),(0,B.jsx)(_me,{restaurants:cme})]}),(0,B.jsx)(Ux,{})]})},yme=`Welcome to Brookings, the "Banana Belt" of the Oregon Coast. Located just six miles north of the California border, this charming city enjoys the warmest temperatures on the coastline, often basking in sunshine while neighbors to the north are shrouded in fog. This unique microclimate allows vibrant azaleas to bloom in winter and makes year-round outdoor exploration a delight.

Brookings is the gateway to the spectacular Samuel H. Boardman State Scenic Corridor, a 12-mile stretch of coastline that is widely considered the most photographer-friendly in the Pacific Northwest. Here, massive sea stacks, natural rock arches, and secluded coves create a dramatic seascape that feels prehistoric in its grandeur. The famous Natural Bridges and Secret Beach offer views that adorn postcards and travel magazines worldwide.

Beyond the coast, the pristine Chetco River flows from the Kalmiopsis Wilderness down to the sea, offering crystal-clear emerald waters for swimming, kayaking, and world-class salmon fishing. Whether you're exploring the meticulously manicured Azalea Park, hunting for agates at Sporthaven Beach, or dining on fresh seafood at the Port of Brookings Harbor, you'll find a relaxed, warm, and welcoming atmosphere at the southern edge of Oregon.`,T6=[{name:`Samuel H. Boardman State Scenic Corridor`,description:`A breathtaking 12-mile stretch of rugged coastline featuring some of Oregon's most iconic natural wonders. Stops like Arch Rock, Natural Bridges, and Whaleshead Beach offer dizzying views of sea stacks and crashing waves.`,details:`Multiple pullouts along Hwy 101. Free access.`},{name:`Harris Beach State Park`,description:`Located just north of town, this popular park features a long sandy beach scattered with impressive rock formations. It's a prime spot for tide pooling, kite flying, and watching the sunset behind Bird Island (Goat Island), a National Wildlife Sanctuary.`,details:`Day-use fee or state park pass required.`},{name:`Azalea Park`,description:`The crown jewel of Brookings' parks, famous for its native wild azaleas that explode with color in spring. The park also features a bandshell for summer concerts, a formal garden, and the spectacular 'Nature's Coastal Holiday' light display in December.`,details:`Located on Old County Road. Free admission.`},{name:`Chetco Point Park`,description:`A hidden gem accessible from a residential neighborhood. A short, flat trail leads to a grassy headland with 270-degree ocean views. It's a peaceful spot for whale watching and seeing the Port of Brookings Harbor from above.`,details:`Parking at the end of Wharf Street.`},{name:`Port of Brookings Harbor`,description:`One of the busiest recreational ports on the Oregon Coast. It's a hub of activity with fishing charters, crab pots, seafood restaurants, and shops. Walking the boardwalk here is a classic Brookings experience.`,details:`Located at the mouth of the Chetco River.`},{name:`Alfred A. Loeb State Park`,description:`Head inland along the Chetco River to find this lush park. It protects a grove of rare coastal redwoods (the northernmost in the US) and massive Myrtlewood trees. The emerald green river water here is stunning.`,details:`8 miles east of Brookings.`},{name:`Crissey Field State Recreation Site`,description:`The southernmost park on the Oregon Coast, located right at the California border. A modern welcome center offers information, and trails lead to a wide, driftwood-scattered beach perfect for long walks.`,details:`Excellent Welcome Center on site.`},{name:`McVay Rock State Recreation Site`,description:`A lesser-known park south of town offering surf fishing, clamming, and a rocky shore perfect for rockhounding. It's also home to a challenging disc golf course with ocean views.`,details:`Off Oceanview Drive. Dog friendly.`},{name:`Manley Art Center & Gallery`,description:`Headquarters of the Pelican Bay Arts Association, this gallery showcases the vibrant local art scene. Brookings has a high concentration of artists drawn by the stunning landscape, and this is the best place to see their work.`,details:`Workshops and rotating exhibits available.`},{name:`Sporthaven Beach`,description:`Located on the north jetty of the Chetco River, this beach is a favorite for surfers and campers. The jetty offers a great vantage point to watch fishing boats navigate the bar.`,details:`RV park and camping available nearby.`}],bme=[{name:`Natural Bridges Trail`,distance:`0.7 miles round trip`,difficulty:`Moderate`,description:`A short but steep trail in the Boardman Corridor that leads to the famous viewpoint of the seven natural rock arches. The trail can be root-filled and slippery, but the view is one of the most photographed in Oregon.`},{name:`Secret Beach Trail`,distance:`1.6 miles round trip`,difficulty:`Moderate/Hard`,description:`A steep descent takes you to a secluded cove tucked away from the highway. At low tide, you can explore caves and waterfalls cascading onto the sand. It feels like a private paradise.`},{name:`Redwood Nature Trail`,distance:`1.2 miles loop`,difficulty:`Easy`,description:`Located in Loeb State Park, this accessible trail winds through a grove of majestic coastal redwoods and fragrant Myrtlewood trees. It's a magical, fern-filled forest walk.`},{name:`Arch Rock Viewpoint`,distance:`0.5 miles loop`,difficulty:`Easy`,description:`A paved, family-friendly loop offering several viewpoints of Arch Rock and the surrounding sea stacks. It's the easiest way to experience the grandeur of the Samuel H. Boardman Corridor.`},{name:`Cape Ferrelo Loop`,distance:`1.0 mile loop`,difficulty:`Moderate`,description:`A grassy headland hike offering sweeping views north and south. It's an excellent spot for whale watching during migration seasons and seeing the rugged coastline stretch for miles.`},{name:`Chetco Point Trail`,distance:`0.8 miles round trip`,difficulty:`Easy`,description:`A flat, relaxing walk through a park to a dramatic cliff-edge viewpoint. You're surrounded by ocean on three sides, making it a fantastic spot for sunset.`},{name:`Oregon Redwoods Trail`,distance:`1.7 miles loop`,difficulty:`Moderate`,description:`Located about 11 miles inland, this trail offers a rare chance to hike among old-growth redwoods in Oregon. It's quiet, majestic, and less crowded than the California parks to the south.`}],xme=[{name:`Beachfront Inn`,category:`Mid-Range`,description:`True to its name, this hotel sits directly on the beach near the port. Rooms feature private balconies with ocean views, and there's a heated outdoor pool for relaxing after a day of hiking.`,amenities:`Oceanfront, heated pool, pet-friendly.`,image:`https://images.unsplash.com/photo-1590523277543-a94d2e4eb00b?auto=format&fit=crop&w=1200&q=80`},{name:`Whaleshead Beach Resort`,category:`Vacation Rentals`,description:`Located north of town across from Whaleshead Beach, offering individual cottages with full kitchens and decks. A tunnel under the highway provides safe walking access to the stunning beach.`,amenities:`Private cottages, ocean views, restaurant on-site.`,image:`https://images.unsplash.com/photo-1582719508461-905c673771fd?auto=format&fit=crop&w=1200&q=80`},{name:`Mermaid's Muse B&B`,category:`Bed & Breakfast`,description:`A charming and whimsical bed and breakfast known for its warm hospitality and delicious homemade breakfasts. The decor is eclectic and coastal, creating a cozy home-away-from-home vibe.`,amenities:`Homemade breakfast, personalized service, garden.`,image:`https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=1200&q=80`},{name:`Wild Rivers Motor Lodge`,category:`Budget/Retro`,description:`A clean, classic motor lodge that has been updated with modern amenities while keeping its retro charm. Centrally located, making it easy to walk to shops and restaurants in town.`,amenities:`Free Wi-Fi, updated rooms, central location.`,image:`https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=1200&q=80`},{name:`Ocean Suites Motel`,category:`Mid-Range`,description:`Offering spacious suites with kitchenettes, this is a great option for families or longer stays. It's located near the port and offers good value for the space provided.`,amenities:`Kitchenettes, spacious rooms, near harbor.`,image:`https://images.unsplash.com/photo-1520250497591-112f2f40a3f4?auto=format&fit=crop&w=1200&q=80`},{name:`Pacific Sunset Inn`,category:`Budget`,description:`A reliable, no-nonsense inn located near the harbor. Rooms are clean and basic, perfect for travelers who plan to spend most of their time exploring the outdoors.`,amenities:`Free parking, coffee, budget-friendly.`,image:`https://images.unsplash.com/photo-1611892440504-42a792e24d32?auto=format&fit=crop&w=1200&q=80`},{name:`Blue Coast Inn and Suites`,category:`Budget/Mid-Range`,description:`Conveniently located on Highway 101, this inn offers updated rooms with a modern feel. It's a solid basecamp for exploring the Boardman Corridor and nearby Redwoods.`,amenities:`Modern decor, free Wi-Fi, laundry facilities.`,image:`https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=1200&q=80`},{name:`Westward Inn`,category:`Budget`,description:`An affordable choice in the heart of Brookings. It offers easy access to local dining and is just a short drive from Harris Beach State Park.`,amenities:`Free breakfast, pet-friendly rooms, cable TV.`,image:`https://images.unsplash.com/photo-1520250497591-112f2f40a3f4?auto=format&fit=crop&w=1200&q=80`}],Sme=[{name:`Black Trumpet Bistro`,category:`Italian/Bistro`,description:`A local favorite for upscale yet casual dining. They serve excellent pasta dishes, steaks, and seafood with a focus on fresh ingredients and bold flavors.`,features:`Fresh pasta, romantic atmosphere, great wine list.`,image:`https://images.unsplash.com/photo-1473093295043-cdd812d0e601?auto=format&fit=crop&w=800&q=80`},{name:`Oxenfrë Public House`,category:`Gastropub`,description:`A modern pub offering craft beers and elevated bar food. The atmosphere is relaxed and friendly, making it a great place to unwind after a hike.`,features:`Craft beer, locally sourced ingredients, outdoor seating.`,image:`https://images.unsplash.com/photo-1514933651103-005eec06c04b?auto=format&fit=crop&w=800&q=80`},{name:`The Hungry Clam`,category:`Seafood/Casual`,description:`Located at the port, this no-frills spot is famous for its fish and chips and clam chowder. It's a classic coastal eatery with picnic tables and harbor views.`,features:`Fish & chips, harbor location, quick service.`,image:`https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=800&q=80`},{name:`Superfly Martini Bar & Grill`,category:`Martini Bar/Fusion`,description:`A hip, lively spot known for its extensive martini menu and creative fusion cuisine. From sushi burritos to gourmet sliders, the food is fun and delicious.`,features:`Creative cocktails, eclectic menu, cool vibe.`,image:`https://images.unsplash.com/photo-1576895250423-8270b00e731c?auto=format&fit=crop&w=800&q=80`},{name:`Chetco Brewing Company`,category:`Brewery`,description:`An award-winning local brewery that focuses on vegan-friendly beers (no isinglass). They often have food trucks on site and a welcoming community atmosphere.`,features:`Local craft beer, food trucks, patio.`,image:`https://images.unsplash.com/photo-1559526323-cb2f2fe2591b?auto=format&fit=crop&w=800&q=80`},{name:`Pacific Sushi & Grill`,category:`Sushi/Asian`,description:`Offering fresh sushi and Japanese dishes in a clean, modern setting. A great alternative to the standard fried seafood found on the coast.`,features:`Fresh sushi, bento boxes, sake.`,image:`https://images.unsplash.com/photo-1579871494447-9811cf80d66c?auto=format&fit=crop&w=800&q=80`},{name:`Misty Mountain Cafe`,category:`American/Breakfast`,description:`The go-to spot for a hearty breakfast in Brookings. Known for fluffy pancakes, massive omelets, and bottomless coffee served with a smile.`,features:`All-day breakfast, family-friendly, comfort food.`,image:`https://images.unsplash.com/photo-1606631394291-83981ee2ab5d?auto=format&fit=crop&w=800&q=80`},{name:`Catalyst Seafood`,category:`Seafood/Lounge`,description:`A sustainable seafood restaurant that harvests its own catch. Known for fresh poke bowls, tacos, and a great happy hour view of the harbor.`,features:`Boat-to-table, sustainable, harbor views.`,image:`https://images.unsplash.com/photo-1534422298391-e4f8c172dddb?auto=format&fit=crop&w=800&q=80`},{name:`Zola's Pizzeria`,category:`Pizza/Italian`,description:`A lively pizzeria located near the ocean, offering wood-fired pizzas and live music. The quirky decor and river views make it a fun evening spot.`,features:`Vibrant nightlife and dining, wood-fired pizza, live music.`,image:`https://images.unsplash.com/photo-1579751626657-72bc17010498?auto=format&fit=crop&w=800&q=80`},{name:`Fat Cat Pizza`,category:`Pizza`,description:`A local staple for thick-crust pizza and generous toppings. It's a casual, family-friendly environment perfect for feeding a hungry group.`,features:`Hearty pizza, salad bar, arcade games.`,image:`https://images.unsplash.com/photo-1513104890138-7c749659a591?auto=format&fit=crop&w=800&q=80`},{name:`Railroad Street Market & Deli`,category:`Deli/Sandwiches`,description:`A hidden gem for lunch, serving massive sandwiches and homemade soups in a historic building. Perfect for grabbing a picnic before hitting the Boardman Corridor.`,features:`Huge sandwiches, historic building, local vibe.`,image:`https://images.unsplash.com/photo-1528735602780-2552fd46c7af?auto=format&fit=crop&w=800&q=80`}],E6=`Brookings`,Cme=K(E6),wme=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(()=>{let t=Ef(E6,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Cme,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),Tme=({attractions:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`AttractionsSection: No attractions data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Discover the Banana Belt`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Brookings`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(wme,{attraction:e,index:t},t))})]})})),D6=`Brookings`,Eme=K(D6),Dme=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},Ome=({trails:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`HikingTrailsSection: No trails data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`From the world-famous views of the Samuel H. Boardman Corridor to ancient redwood groves just inland, Brookings offers some of the most diverse hiking on the coast.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(()=>{let t=Tf(D6,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Eme,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(Dme,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),kme=({hotels:e})=>{let t=`Brookings`;return(0,B.jsx)(a6,{townName:t,fallbackHotels:e,affiliateHotels:jC[t]})},O6=`Brookings`,Ame=K(O6),jme=e=>e?.toString().toLowerCase().replace(/\s+/g,`-`).replace(/[^\w-]/g,``)||``,k6=({restaurant:e})=>(0,B.jsxs)(`div`,{id:jme(e?.name),className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md scroll-mt-24 h-full flex flex-col`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),(()=>{let t=Sf(O6,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Ame,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`}):null})()]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed flex-grow`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50 mt-auto`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]}),A6=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),Mme=({restaurants:e})=>{if((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`RestaurantsSection: No restaurant data provided`):console.log(`RestaurantsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,3),n=e.slice(3,5),r=e.slice(5,7),i=e.slice(7);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Brookings`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`From fresh harbor seafood to artisan pizza and martinis, Brookings offers a diverse culinary scene fueled by fresh ingredients and coastal vibes.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block`,children:`Fine Dining & Seafood`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(k6,{restaurant:e},t))})]}),(0,B.jsx)(A6,{src:`https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=800&q=80`,alt:`Seafood dining`,caption:`Fresh catches served daily`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(A6,{src:`https://images.unsplash.com/photo-1503036563073-2cb917c92818?auto=format&fit=crop&w=800&q=80`,alt:`vibrant nightlife and dining atmosphere`,caption:`Vibrant nightlife and dining`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block ml-auto`,children:`Breweries & Pubs`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(k6,{restaurant:e},t))})]})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-3 gap-6 mb-16`,children:[(0,B.jsx)(`div`,{className:`md:col-span-3 text-center mb-4`,children:(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 inline-block`,children:`Local Favorites`})}),r.map((e,t)=>(0,B.jsx)(k6,{restaurant:e},t)),(0,B.jsx)(`div`,{className:`h-full min-h-[200px] rounded-xl overflow-hidden shadow-md`,children:(0,B.jsx)(`img`,{src:`https://images.unsplash.com/photo-1563245372-f21724e3856d?auto=format&fit=crop&w=600&q=80`,alt:`Delicious coastal meal`,className:`w-full h-full object-cover`})})]}),(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 mb-8 text-center`,children:`Quick Bites & Pizza`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-4 gap-6`,children:i.map((e,t)=>(0,B.jsx)(k6,{restaurant:e},t))}),(0,B.jsx)(`div`,{className:`mt-8 text-center`,children:(0,B.jsx)(`img`,{src:`https://images.unsplash.com/photo-1513104890138-7c749659a591?auto=format&fit=crop&w=1200&h=300&q=80`,alt:`Pizza and quick bites`,className:`w-full h-48 object-cover rounded-xl opacity-90`})})]})]})})},Nme=[{title:`Pirates of the Pacific Festival`,date:`August 7–9, 2026`},{title:`Second Saturday Art Walk`,date:`Monthly`},{title:`Azalea Festival`,date:`May 21–24, 2027`},{title:`Brookings Summer Arts Festival`,date:`July 10–11, 2027`}],Pme=()=>{(0,y.useEffect)(()=>{console.log(`BrookingsPage mounted`)},[]);let e=Y.brookings,t=If(`Brookings`),n=Lf(`Brookings`),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/d70e7940aab86e455bd557529fff3fdd.webp`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Zx,{name:`Brookings, Oregon`,description:n,url:`https://oregoncoastal.com/town/brookings`,geo:{lat:42.0534,lng:-124.2844},image:r}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Brookings coastline with sea stacks`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Brookings`,region:`South Coast`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Brookings`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-lime-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Brookings Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:yme}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Located in the Banana Belt of the Oregon Coast, Brookings offers incredible scenery and a uniquely warm coastal climate.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo.lat||42.0534,lon:e?.geo.lng||-124.2844,townName:`Brookings`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Brookings`,townSlug:`brookings`,lat:e?.geo.lat||42.0534,lon:e?.geo.lng||-124.2844})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Brookings`,featuredImage:r,title:`Brookings in Photos`})}),(0,B.jsx)(Hj,{attractions:T6,townName:`Brookings`}),(0,B.jsx)(Tme,{attractions:T6}),(0,B.jsx)(Ome,{trails:bme}),(0,B.jsx)(c6,{events:Nme}),(0,B.jsx)(kme,{hotels:xme}),(0,B.jsx)(Mme,{restaurants:Sme})]}),(0,B.jsx)(Ux,{})]})},Fme=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(0,B.jsx)(`div`,{className:`bg-amber-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-amber-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-amber-700 bg-amber-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),Ime=({attractions:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`AttractionsSection: No attractions data provided`):console.log(`AttractionsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-amber-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-amber-600 font-bold tracking-wider uppercase text-sm`,children:`Iconic Landmarks & Art`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Cannon Beach`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-amber-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8`,children:e.map((e,t)=>(0,B.jsx)(Fme,{attraction:e,index:t},t))})]})})),Lme=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-teal-100 text-teal-800 border-teal-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},Rme=({trails:e,townName:t=`Cannon Beach`})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`HikingTrailsSection: No trails data provided`):console.log(`HikingTrailsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-teal-600`}),`Hiking Trails & State Parks`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Cannon Beach is surrounded by natural wonders. Explore old-growth forests in Ecola State Park, walk miles of sandy beach, or climb for panoramic ocean views.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,n)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:n*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-teal-700 transition-colors`,children:e.name}),(()=>{let n=wf(t,e.name);return n?(0,B.jsx)(X,{objectId:n.object_id,title:e.name,sourcePage:`/town/cannon-beach`,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(Lme,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},n))})]})})),zme=({hotels:e})=>{let t=`Cannon Beach`;return(0,B.jsx)(a6,{townName:t,fallbackHotels:e,affiliateHotels:jC[t]})},j6=({restaurant:e})=>{let t=Sf(`Cannon Beach`,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-red-100 hover:border-red-300 transition-all shadow-sm hover:shadow-md h-full`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-red-950`,children:e?.name||`Restaurant Name`}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:`/town/cannon-beach`,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.cuisine&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-red-600 bg-red-100 px-2 py-1 rounded-md flex-shrink-0`,children:e.cuisine})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed`,children:e?.description||`No description available.`}),e?.price&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-red-100/50 mt-auto`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-red-800 uppercase tracking-wide`,children:`Price Range`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.price})]})]})},M6=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-red-500 pl-3`,children:n})})]}),Bme=({restaurants:e})=>{let t=e||[];if((0,y.useEffect)(()=>{!t||t.length===0?console.warn(`RestaurantsSection: No restaurant data provided`):console.log(`RestaurantsSection loaded with:`,t.length,`items`)},[t]),!t||t.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-[hsl(var(--cream-bg))] text-center`,children:(0,B.jsx)(`p`,{className:`text-red-900`,children:`Dining information currently unavailable.`})});let n=t.filter(e=>e.name.toLowerCase().includes(`fine`)||e.name.toLowerCase().includes(`ocean`)).slice(0,2),r=t.filter(e=>e.name.toLowerCase().includes(`brew`)||e.name.toLowerCase().includes(`pub`)||e.name.toLowerCase().includes(`bill`)).slice(0,2),i=[...n,...r].map(e=>e.name),a=t.filter(e=>!i.includes(e.name)),o=a.filter(e=>!e.name.toLowerCase().includes(`cafe`)&&!e.name.toLowerCase().includes(`coffee`)),s=a.filter(e=>e.name.toLowerCase().includes(`cafe`)||e.name.toLowerCase().includes(`coffee`));return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-[hsl(var(--cream-bg))]`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-red-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Cannon Beach`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`A culinary destination offering everything from award-winning seafood with ocean views to cozy coffee shops and vibrant breweries.`})]}),n.length>0&&(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-red-900 border-b-2 border-red-200 pb-2 inline-block`,children:`Oceanfront & Fine Dining`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(j6,{restaurant:e},t))})]}),(0,B.jsx)(M6,{src:`https://images.unsplash.com/photo-1514362545857-3bc16c4c7d1b?auto=format&fit=crop&w=800&q=80`,alt:`Fine dining with view`,caption:`Dinner with a view of Haystack Rock`})]}),r.length>0&&(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(M6,{src:`https://images.unsplash.com/photo-1571091718767-18b5b1457add?auto=format&fit=crop&w=800&q=80`,alt:`Brewery burgers`,caption:`Local brews and gourmet burgers`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-red-900 border-b-2 border-red-200 pb-2 inline-block`,children:`Breweries & Pubs`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:r.map((e,t)=>(0,B.jsx)(j6,{restaurant:e},t))})]})]}),(0,B.jsxs)(`div`,{className:`mb-16`,children:[(0,B.jsx)(`div`,{className:`text-center mb-8`,children:(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-red-900 inline-block border-b-2 border-red-200 pb-1`,children:`Casual Favorites & Local Gems`})}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-3 gap-6`,children:o.map((e,t)=>(0,B.jsx)(j6,{restaurant:e},t))})]}),s.length>0&&(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-red-900 mb-8 text-center`,children:`Coffee, Crepes & Cafes`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-4 gap-6`,children:s.map((e,t)=>(0,B.jsx)(j6,{restaurant:e},t))})]})]})})},Vme=[{title:`Cannon Beach Chorus Concerts`,date:`Seasonal (Check July/December)`},{title:`Buskers in the Park`,date:`Thursdays (thru Sept 3, 2026)`},{title:`Stormy Weather Arts Festival`,date:`November 6–8, 2026`},{title:`Cannon Beach Independence Day Parade`,date:`July 4, 2027`},{title:`Seaside Beach Volleyball`,date:`August 13–16, 2026`},{title:`Hood to Coast Relay Finish`,date:`August 28, 2026`}],Hme=()=>{(0,y.useEffect)(()=>{console.log(`CannonBeachPage mounted`)},[]);let e=Y[`cannon-beach`],t=If(`Cannon Beach`),n=Lf(`Cannon Beach`),r=Rf(`/town/cannon-beach`),i=zf(`Cannon Beach`,e?.heroImage),a=Vf(e,r,i);return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`link`,{rel:`canonical`,href:r}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n}),(0,B.jsx)(`meta`,{property:`og:image`,content:i}),(0,B.jsx)(`meta`,{property:`og:url`,content:r}),(0,B.jsx)(`meta`,{property:`og:type`,content:`website`}),(0,B.jsx)(`meta`,{name:`twitter:card`,content:`summary_large_image`}),(0,B.jsx)(`meta`,{name:`twitter:title`,content:t}),(0,B.jsx)(`meta`,{name:`twitter:description`,content:n}),(0,B.jsx)(`meta`,{name:`twitter:image`,content:i}),a&&(0,B.jsx)(`script`,{type:`application/ld+json`,children:JSON.stringify(a)})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:i,alt:`Scenic coastal view with Haystack Rock and surrounding sea stacks, mountains in the background, Cannon Beach Oregon`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Cannon Beach`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Cannon Beach`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-amber-400 rounded-full mb-0 shadow-lg`}),(0,B.jsx)(`div`,{className:`mt-6`,children:(0,B.jsx)(X,{objectId:`obj_oregoncoastal_town_cannon_beach_v1`,title:`Cannon Beach`,sourcePage:`/town/cannon-beach`,pageType:`town`,module:`town-header`,affiliateLink:null,theme:`dark`})})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Cannon Beach Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:gj}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Located on the beautiful Oregon Coast, Cannon Beach is famous for Haystack Rock and stunning coastal scenery.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo.lat||45.8918,lon:e?.geo.lng||-123.9615,townName:`Cannon Beach`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Cannon Beach`,townSlug:`cannon-beach`,lat:e?.geo.lat||45.8918,lon:e?.geo.lng||-123.9615,defaultStationId:`9437908`})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Cannon Beach`,featuredImage:i,title:`Cannon Beach in Photos`})}),(0,B.jsx)(Hj,{attractions:_j,townName:`Cannon Beach`,geo:e?.geo,url:r}),(0,B.jsx)(Ime,{attractions:_j}),(0,B.jsx)(Rme,{trails:vj}),(0,B.jsx)(c6,{events:Vme,townName:`Cannon Beach`}),(0,B.jsx)(zme,{hotels:yj}),(0,B.jsx)(Bme,{restaurants:bj})]}),(0,B.jsx)(Ux,{})]})},Ume=`Charleston is a distinct and vibrant fishing village located at the entrance to Coos Bay. Known as a gateway to some of the Oregon Coast's most spectacular state parks, this working harbor town offers a blend of rugged maritime industry and breathtaking natural beauty. It serves as the home port for a large fleet of commercial fishing vessels, offering visitors the chance to buy fresh seafood directly from the docks.

Beyond the bustling marina, Charleston is the jumping-off point for the Cape Arago Beach Loop, a scenic drive that connects three stunning state parks: Sunset Bay, Shore Acres, and Cape Arago. Here, visitors can explore diverse ecosystems ranging from sandy swimming beaches and botanical gardens to jagged cliffs teeming with seals and sea lions. The constant sound of foghorns and the smell of salt air define the atmosphere of this authentic coastal community.

Whether you are crabbing off the docks, exploring the University of Oregon's Marine Life Center, or hiking the trails of the South Slough National Estuarine Research Reserve, Charleston invites you to experience the raw and real Oregon Coast. It is a place where nature and industry coexist in a dynamic and fascinating rhythm.`,N6=[{name:`Shore Acres State Park`,description:`Perched on spectacular sandstone cliffs, this park was once the estate of a timber baron. It features lush formal gardens that bloom year-round and a secluded cove. It is arguably the best storm-watching spot on the entire coast.`,details:`Parking fee required. Holiday lights in December.`},{name:`Cape Arago State Park`,description:`Located at the end of the road, this headland offers panoramic views of the Pacific. A steep trail leads down to tide pools rich with marine life, while the overlook provides a front-row seat to Simpson Reef's seal and sea lion colonies.`,details:`Excellent wildlife viewing.`},{name:`Charleston Marina`,description:`The heart of the town, this is a working marina where commercial fishing boats unload their catch. Visitors can walk the docks, go crabbing, or charter a deep-sea fishing expedition.`,details:`Fresh seafood market nearby.`},{name:`Sunset Bay State Park`,description:`A rare gem on the coast, this bay is protected by towering sea cliffs, creating calm waters safe for swimming, paddleboarding, and kayaking. The sandy beach is a family favorite.`,details:`Campground and day-use area.`},{name:`Charleston Marine Life Center`,description:`Run by the University of Oregon, this aquarium and museum showcases the marine biodiversity of the region. Exhibits include deep-sea specimens, skeletons, and touch tanks with living tide pool creatures.`,details:`Located on the harbor front.`},{name:`Simpson Reef Overlook`,description:`One of the largest haul-out sites for pinnipeds on the coast. From the viewing deck, you can see and hear hundreds (sometimes thousands) of harbor seals, California sea lions, and elephant seals on the Shell Island rocks.`,details:`Binoculars recommended.`},{name:`South Slough National Estuarine Research Reserve`,description:`Just south of town, this 5,000-acre reserve was the first of its kind in the nation. It offers miles of hiking trails through wetlands and forests, providing a quiet escape into nature.`,details:`Interpretive center and canoe tours.`},{name:`Bastendorff Beach`,description:`A wide, expansive stretch of beach located near the jetty. It's popular for beachcombing, kite flying, and watching the massive waves crash against the south jetty during winter storms.`,details:`County park with camping.`}],Wme=[{name:`Cape Arago Pack Trail`,distance:`4.5 miles loop`,difficulty:`Moderate`,description:`A scenic trail connecting Sunset Bay, Shore Acres, and Cape Arago. It winds through coastal forests and offers frequent glimpses of the ocean cliffs.`},{name:`South Slough Estuary Loop`,distance:`3.0 miles loop`,difficulty:`Easy/Moderate`,description:`Meander through lush marshes and dense forests. Boardwalks allow you to walk right over the estuary waters, offering great birdwatching opportunities.`},{name:`Yoakam Point Trail`,distance:`1.0 mile round trip`,difficulty:`Easy`,description:`A short trek leading to a secluded cove and rock formation known as Five Mile Point. Great for tide pooling during low tides.`},{name:`Sunset Bay to Shore Acres`,distance:`2.0 miles round trip`,difficulty:`Easy`,description:`Part of the Oregon Coast Trail, this section hugs the cliff edge, offering dramatic views of the geology and the crashing waves below.`},{name:`Simpson Reef Trail`,distance:`0.5 miles`,difficulty:`Easy`,description:`A short, accessible path leading to the main viewing area for the seal and sea lion colony. The noise of the animals guides you there!`},{name:`Bastendorff Beach Walk`,distance:`2.0 miles`,difficulty:`Easy`,description:`A flat beach walk extending to the South Jetty. It offers a unique perspective of the harbor entrance and is a prime spot for finding agates.`}],Gme=[{name:`Captain John's Motel`,category:`Motel`,description:`A staple of Charleston located right in the harbor district. It offers clean, no-frills accommodation perfect for fishermen and families wanting to be close to the docks.`,amenities:`Kitchenettes available, walking distance to marina.`},{name:`Plainview Motel`,category:`Budget`,description:`Located on the Seven Devils Road just outside town, offering quiet and affordable rooms. A good base camp for exploring the South Slough.`,amenities:`Free parking, WiFi, rural setting.`},{name:`Bay Point Landing`,category:`Luxury Cabins`,description:`A modern camping and cabin resort located nearby on the bay. It features sleek, Scandinavian-inspired cabins and Airstreams with high-end amenities.`,amenities:`Indoor pool, clubhouse, stunning bay views.`}],Kme=[{name:`The Portside`,category:`Seafood/Steak`,description:`Charleston's premier dining destination. Known for its fresh catch and harbor views, it offers a classic supper club atmosphere perfect for a nice night out.`,features:`Harbor views, fresh local seafood, full bar.`},{name:`High Tide Cafe`,category:`Casual Seafood`,description:`Located right on the water, this cafe is a local favorite for breakfast and lunch. Their clam chowder is legendary, and you can watch the boats unload while you eat.`,features:`Waterfront seating, famous chowder.`},{name:`Miller's at the Cove`,category:`Sports Bar/Grill`,description:`A lively spot with a great deck overlooking the boat basin. Known for their fish tacos and oysters, it's the place to watch the game or relax after fishing.`,features:`Outdoor deck, oyster bar, sports screens.`},{name:`Chuck's Seafood`,category:`Market/Takeout`,description:`Part processing plant, part market, part takeout window. This is as fresh as it gets. Grab a crab cocktail or some smoked salmon to go.`,features:`Fresh crab, smoked fish, takeout only.`},{name:`Monkey Business Cravings`,category:`Food Truck`,description:`A brightly colored food truck famously serving fish and chips and clam chowder in a bread bowl. A fun, casual stop near the marina.`,features:`Outdoor seating, budget friendly, huge portions.`}],P6=`Charleston`,qme=K(P6),Jme=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(()=>{let t=Ef(P6,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:qme,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),Yme=({attractions:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`AttractionsSection: No attractions data provided`):console.log(`AttractionsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Parks & Wildlife`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Attractions in Charleston`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(Jme,{attraction:e,index:t},t))})]})})),Xme=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},Zme=({trails:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`HikingTrailsSection: No trails data provided`):console.log(`HikingTrailsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Estuaries`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Discover ancient forests, dramatic cliffs, and peaceful sloughs. The trails around Charleston offer some of the most diverse coastal hiking in Oregon.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(Xme,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),Qme=({hotels:e})=>{let t=`Charleston`;return(0,B.jsx)(a6,{townName:t,fallbackHotels:e,affiliateHotels:jC[t]})},F6=`Charleston`,$me=K(F6),I6=({restaurant:e})=>(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),(()=>{let t=Sf(F6,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:$me,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`}):null})()]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]}),L6=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),ehe=({restaurants:e})=>{if((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`RestaurantsSection: No restaurant data provided`):console.log(`RestaurantsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=[`https://images.unsplash.com/photo-1613849621571-0fb1068cf2d6`,`https://images.unsplash.com/photo-1587933977076-9d4ce98b4841`,`https://images.unsplash.com/photo-1675018732146-584e8ab17a46`,`https://images.unsplash.com/photo-1536013454362-d991266ba07d`,`https://images.unsplash.com/photo-1675028553042-9ae9bf717d9d`],n=e.slice(0,2),r=e.slice(2,4),i=e.slice(4);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Charleston`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Fresh from the boat to your plate. Experience authentic seafood dining right on the working waterfront.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block`,children:`Fresh Catch & Views`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(I6,{restaurant:e},t))})]}),(0,B.jsx)(L6,{src:t[0],alt:`Seafood Platter`,caption:`Locally caught seafood`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(L6,{src:t[1],alt:`Casual Dining`,caption:`Relaxed atmosphere by the bay`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block ml-auto`,children:`Local Favorites`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:r.map((e,t)=>(0,B.jsx)(I6,{restaurant:e},t))})]})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-3 gap-6 mb-16`,children:[(0,B.jsx)(`div`,{className:`md:col-span-3 text-center mb-4`,children:(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 inline-block`,children:`Quick & Delicious`})}),i.map((e,t)=>(0,B.jsx)(I6,{restaurant:e},t)),(0,B.jsx)(`div`,{className:`h-full min-h-[200px] rounded-xl overflow-hidden shadow-md`,children:(0,B.jsx)(`img`,{src:t[2],alt:`Fish and chips`,className:`w-full h-full object-cover`})}),(0,B.jsx)(`div`,{className:`h-full min-h-[200px] rounded-xl overflow-hidden shadow-md`,children:(0,B.jsx)(`img`,{src:t[3],alt:`Chowder`,className:`w-full h-full object-cover`})})]})]})})},the=()=>{(0,y.useEffect)(()=>{console.log(`CharlestonPage mounted`)},[]);let e=Y.charleston,t=If(`Charleston`),n=Lf(`Charleston`),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/459d754428b004077d795060ad117106.webp`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Charleston, Oregon Marina`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Charleston`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Charleston`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-lime-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Charleston Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:Ume}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`A bustling fishing village and gateway to spectacular state parks and secluded beaches.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||43.3569,lon:e?.geo?.lng||-124.3199,townName:`Charleston`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Charleston`,townSlug:`charleston`,lat:e?.geo.lat||43.3569,lon:e?.geo.lng||-124.3199})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Charleston`,featuredImage:r,title:`Charleston Gallery`})}),(0,B.jsx)(Hj,{attractions:N6,townName:`Charleston`}),(0,B.jsx)(Yme,{attractions:N6}),(0,B.jsx)(Zme,{trails:Wme}),(0,B.jsx)(Qme,{hotels:Gme}),(0,B.jsx)(ehe,{restaurants:Kme})]}),(0,B.jsx)(Ux,{})]})},nhe=({waterfall:e,index:t,townName:n})=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:t*.1},className:`bg-white rounded-none shadow-editorial p-6 hover:shadow-lg transition-all duration-300 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 flex-1`,children:[(0,B.jsx)(Qa,{className:`w-5 h-5 text-blue-600 flex-shrink-0`}),(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900`,children:e.name}),(()=>{let t=n?Ef(n,e.name):null;return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:K(n),pageType:`town`,module:`waterfall-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`span`,{className:`px-3 py-1 rounded-none text-xs font-semibold ${(e=>{let t=e.toLowerCase();return t.includes(`easy`)?`bg-green-100 text-green-700`:t.includes(`moderate`)?`bg-yellow-100 text-yellow-700`:t.includes(`hard`)||t.includes(`strenuous`)?`bg-red-100 text-red-700`:`bg-gray-100 text-gray-700`})(e.difficulty)} whitespace-nowrap ml-2`,children:e.difficulty})]}),(0,B.jsxs)(`div`,{className:`flex flex-wrap items-center gap-4 mb-4 text-sm text-gray-600`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,B.jsx)(H,{className:`w-4 h-4 text-blue-500`}),(0,B.jsx)(`span`,{className:`font-medium`,children:e.distance})]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,B.jsx)(Go,{className:`w-4 h-4 text-yellow-500`}),(0,B.jsxs)(`span`,{className:`font-medium`,children:[`Accessibility: `,(e=>{let t=[],n=Math.floor(e);for(let e=0;e<5;e++)t.push((0,B.jsx)(`span`,{className:e<n?`text-yellow-500`:`text-gray-300`,children:`★`},e));return t})(e.accessibility)]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-700 leading-relaxed mb-4 flex-grow`,children:e.description}),e.notes&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsxs)(`p`,{className:`text-sm text-gray-600 italic`,children:[(0,B.jsx)(`span`,{className:`font-semibold text-blue-700`,children:`Pro tip:`}),` `,e.notes]})})]}),R6=({townName:e=`This Area`,waterfalls:t=[],headerTitle:n=`Nearby Waterfalls`,headerSubtitle:r=`Discover stunning waterfalls near the coast.`})=>!t||t.length===0?null:(0,B.jsx)(`section`,{className:`py-16 px-4 bg-gradient-to-b from-blue-50 to-white`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},className:`text-center mb-12`,children:[(0,B.jsx)(`div`,{className:`flex items-center justify-center gap-2 mb-4`,children:(0,B.jsx)(Qa,{className:`w-8 h-8 text-blue-600`})}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4 uppercase tracking-widest font-serif`,children:n}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-3xl mx-auto leading-relaxed`,children:r})]}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-3 gap-6 mb-12`,children:t.map((t,n)=>(0,B.jsx)(nhe,{waterfall:t,index:n,townName:e},n))}),(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:.3},className:`text-center mt-12`,children:(0,B.jsxs)(`div`,{className:`inline-block bg-primary rounded-none p-8 shadow-editorial`,children:[(0,B.jsx)(`div`,{className:`text-white text-lg font-medium mb-6 max-w-2xl mx-auto`,children:(0,B.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,B.jsx)(`span`,{children:`Want to see more Oregon waterfalls, and finding lodging near any waterfall`}),(0,B.jsxs)(`a`,{href:`https://www.waterfallsoregon.com`,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-2 text-lime-400 hover:text-lime-300 transition-colors underline decoration-2 underline-offset-4`,children:[`Visit Waterfalls Oregon `,(0,B.jsx)($a,{className:`w-4 h-4`})]})]})}),(0,B.jsx)(`a`,{href:`https://expedia.com/affiliates/hotel-search-oregon-coast.gK1Zq0T`,target:`_blank`,rel:`noopener noreferrer sponsored`,className:`inline-block bg-white text-primary px-8 py-3 rounded-none font-bold hover:bg-slate-100 transition-all duration-300 shadow-sm uppercase tracking-widest text-sm`,children:`Find Hotels on Expedia →`})]})})]})}),rhe=`Coos Bay is the largest city on the Oregon Coast and a bustling hub of maritime history, rugged natural beauty, and cultural richness. Located on the deepest natural harbor between San Francisco and Seattle, it has long been a center for shipping and timber, but today it draws visitors with its spectacular state parks, botanical gardens, and vibrant waterfront boardwalk.

The true magic of Coos Bay lies just west of the city along the Cape Arago Highway. Here, a trio of magnificent state parks—Sunset Bay, Shore Acres, and Cape Arago—offer some of the most dramatic scenery in the Pacific Northwest. Visitors can marvel at the crashing waves of the "garden by the sea" at Shore Acres, listen to the barking seals at Simpson Reef, or relax on the protected sands of Sunset Bay. The contrast between the industrial heritage of the bay and the wild cliffs of the cape is striking.

Downtown Coos Bay is undergoing a renaissance, with historic buildings finding new life as art museums, breweries, and restaurants. The Coos Art Museum, housed in a 1936 Art Deco post office, sets the tone for a town that values creativity. Whether you're storm watching from the cliffs, kayaking the South Slough Estuary, or enjoying fresh local seafood, Coos Bay offers a deep and diverse coastal experience.`,z6=[{name:`Shore Acres State Park`,description:`Perched on dramatic sandstone cliffs, this park was once the estate of a timber baron. It features five acres of formal gardens that bloom year-round, including a rose garden and Japanese garden. It is famous for its holiday lights display and spectacular storm watching spots.`,details:`Parking fee required ($5). Gardens open daily.`},{name:`Cape Arago State Park`,description:`Located at the end of the cape, this park offers panoramic views of the ocean and the sounds of seals and sea lions on Simpson Reef below. Trails lead down to secluded coves and tide pools rich with marine life.`,details:`Excellent spot for whale watching.`},{name:`Coos Bay Boardwalk`,description:`A scenic wooden promenade along the waterfront featuring interpretative displays about the city's maritime history, a tugboat, and views of the working harbor. It connects the downtown area to the water.`,details:`Free access. Great for a casual stroll.`},{name:`Coos Art Museum`,description:`Oregon's third-oldest art museum, housed in a stunning Art Deco building. It holds a permanent collection of contemporary Northwest art and hosts rotating exhibitions throughout the year.`,details:`Located downtown. Modest admission fee.`},{name:`Sunset Bay State Park`,description:`A protected bay with towering cliffs that block the wind, creating one of the safest swimming beaches on the coast. It features a large campground, hiking trails, and beautiful sunset views.`,details:`Day-use and camping available.`},{name:`Simpson Reef Overlook`,description:`One of the best places on the coast to view marine mammals. From the overlook, you can see and hear hundreds of seals, sea lions, and occasionally elephant seals resting on the rocks of Shell Island.`,details:`Bring binoculars. No access to the island itself.`},{name:`Mingus Park`,description:`A beloved city park featuring a Japanese garden, a lake with a walking path, and a swimming pool. It's a peaceful green oasis in the heart of the city, perfect for picnics.`,details:`Free entry. Walking trails through redwoods.`},{name:`Oregon Coast Historical Railway`,description:`An outdoor museum displaying vintage locomotives, logging equipment, and railway artifacts. It preserves the history of the railroads that were vital to the timber industry.`,details:`Located near the boardwalk. Free admission.`}],ihe=[{name:`Sunset Bay to Cape Arago Trail`,distance:`8.0 miles round trip`,difficulty:`Moderate`,description:`A stunning section of the Oregon Coast Trail connecting all three state parks. It winds along the cliff edge, offering constant ocean views, before dipping into lush coastal forests.`},{name:`South Slough Estuary Trails`,distance:`Varies (1-5 miles)`,difficulty:`Easy/Moderate`,description:`A network of trails in the first National Estuarine Research Reserve. Walk through salt marshes and forests to observation decks perfect for birdwatching and seeing the tidal ecosystem.`},{name:`Golden and Silver Falls`,distance:`2.8 miles round trip`,difficulty:`Moderate`,description:`Located about an hour inland, these two massive waterfalls are worth the drive. The trail winds through old-growth fir and maple trees to reach the plunging cascades.`},{name:`Mingus Park Loop`,distance:`1.0 mile loop`,difficulty:`Easy`,description:`A gentle, paved path around the lake in Mingus Park, extending into the wooded hills. It's a relaxing urban nature walk.`},{name:`Bluebill Trail`,distance:`1.25 miles loop`,difficulty:`Easy`,description:`Located near the North Spit, this boardwalk trail circles a seasonal lake. It is excellent for viewing waterfowl and walking through a shore pine forest.`},{name:`Millicoma Marsh Trail`,distance:`1.5 miles loop`,difficulty:`Easy`,description:`A flat trail winding through a tidal marsh area near the high school. It provides excellent opportunities for birding right in town.`}],ahe=[{name:`Edgewater Inn and Suites`,category:`Waterfront`,description:`Located directly on the bay, this hotel offers rooms with private balconies overlooking the water. It's quiet, comfortable, and close to the boardwalk.`,amenities:`Bay views, indoor pool, hot tub, continental breakfast.`},{name:`Bay Point Landing`,category:`Glamping/Luxury RV`,description:`A modern camping resort featuring Scandinavian-style cabins and Airstream suites. Located on a private beach, it offers a high-end outdoor experience.`,amenities:`Indoor saltwater pool, clubhouse, private beach access.`},{name:`Red Lion Hotel Coos Bay`,category:`Mid-Range`,description:`A reliable and centrally located hotel. It's a convenient base for exploring both the downtown area and the nearby state parks.`,amenities:`Free WiFi, seasonal pool, pet-friendly.`},{name:`Best Western Holiday Hotel`,category:`Mid-Range`,description:`Situated downtown, this hotel is within walking distance of restaurants and the boardwalk. Known for its cleanliness and indoor pool.`,amenities:`Indoor pool, hot tub, fitness center.`},{name:`The Mill Casino • Hotel`,category:`Resort/Casino`,description:`Technically in North Bend but serving the whole bay area, this waterfront resort offers extensive amenities, dining, and gaming.`,amenities:`Casino, multiple restaurants, bay views, RV park.`}],ohe=[{name:`7 Devils Brewing Co.`,category:`Brewery/Pub`,description:`A local favorite featuring handcrafted ales and a menu focused on locally sourced ingredients. The atmosphere is rustic and welcoming, often with live music.`,features:`Outdoor patio, local ingredients, craft beer.`},{name:`Restaurant O`,category:`Fine Dining/European`,description:`Offering a sophisticated menu with European influences, Restaurant O is the spot for a special dinner. The dishes are creative and beautifully presented.`,features:`Farm-to-table, extensive wine list, intimate setting.`},{name:`Tokyo Bistro`,category:`Japanese/Sushi`,description:`A highly-rated spot for fresh sushi and Japanese cuisine. Known for its friendly service and high-quality fish in a casual downtown setting.`,features:`Fresh sushi, lunch specials, sake.`},{name:`Shark Bites Cafe`,category:`Seafood/Tacos`,description:`A surf-themed cafe famous for its fish tacos and burgers. It's a fun, casual place to grab a bite after a day at the beach.`,features:`Fish tacos, gluten-free options, quirky decor.`},{name:`The Boat Fish & Chips`,category:`Seafood/Casual`,description:`A unique eatery housed in a houseboat-style building on the water (on land). Famous for its generous portions of fish and chips and chowder.`,features:`Waterfront feel, family-friendly, classic seafood.`},{name:`Front Street Provisioners`,category:`Pizza/Italian`,description:`Wood-fired pizzas and homemade pastas in a beautifully restored building. A great addition to Coos Bay's culinary scene.`,features:`Wood-fired oven, craft cocktails, artisan pizza.`},{name:`Cranberry Sweets`,category:`Sweets/Dessert`,description:`While primarily a candy shop, it's a must-visit landmark. Sample their famous cranberry candies and chocolates made right here in cranberry country.`,features:`Free samples, gifts, local specialty.`},{name:`Mean Street Sandwich Shop`,category:`Deli/Lunch`,description:`A local go-to for hearty, creative sandwiches. Perfect for packing a lunch before heading out to hike the cliffs.`,features:`Fresh bread, huge portions, outdoor seating.`}],B6=`Coos Bay`,she=K(B6),che=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(()=>{let t=Ef(B6,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:she,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),lhe=({attractions:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`AttractionsSection: No attractions data provided`):console.log(`AttractionsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Gardens, Cliffs & Culture`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Coos Bay`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(che,{attraction:e,index:t},t))})]})})),V6=`Coos Bay`,uhe=K(V6),dhe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},fhe=({trails:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`HikingTrailsSection: No trails data provided`):console.log(`HikingTrailsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Discover the raw beauty of Coos Bay's coastline. Trails wind along sandstone cliffs, through botanical gardens, and into the heart of quiet estuaries.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(()=>{let t=Tf(V6,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:uhe,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(dhe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),phe=({hotels:e})=>{let t=`Coos Bay`,n=[`The Mill Casino • Hotel`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},H6=`Coos Bay`,mhe=K(H6),U6=({restaurant:e})=>(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),(()=>{let t=Sf(H6,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:mhe,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`}):null})()]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]}),W6=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),hhe=({restaurants:e})=>{if((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`RestaurantsSection: No restaurant data provided`):console.log(`RestaurantsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,2),n=e.slice(2,4),r=e.slice(4);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Coos Bay`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`A culinary renaissance is happening here. Enjoy fresh oysters, locally handcrafted beers, and diverse international flavors right on the bay.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block`,children:`Local Flavors`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(U6,{restaurant:e},t))})]}),(0,B.jsx)(W6,{src:`https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=800&q=80`,alt:`Craft beer and food`,caption:`Local brews and fine dining`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(W6,{src:`https://images.unsplash.com/photo-1579871494447-9811cf80d66c?auto=format&fit=crop&w=800&q=80`,alt:`Sushi plate`,caption:`Fresh catch from the Pacific`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block ml-auto`,children:`Sushi & Tacos`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(U6,{restaurant:e},t))})]})]}),(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 mb-8 text-center`,children:`Casual Eats & Treats`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-4 gap-6 justify-center`,children:r.map((e,t)=>(0,B.jsx)(U6,{restaurant:e},t))}),(0,B.jsx)(`div`,{className:`mt-8 text-center`,children:(0,B.jsx)(`img`,{src:`https://images.unsplash.com/photo-1563729784474-d77dbb933a9e?auto=format&fit=crop&w=1200&h=300&q=80`,alt:`Sweets and desserts`,className:`w-full h-48 object-cover rounded-xl opacity-90`})})]})]})})},ghe=[{name:`Golden Falls & Silver Falls`,difficulty:`Easy`,distance:`0.5 miles each`,accessibility:4,description:`Two stunning waterfalls in Golden and Silver Falls State Natural Area. Golden Falls drops 160 feet while Silver Falls plunges 200 feet. Both are accessed via short, easy trails from the same parking area.`,notes:`24-mile drive from Coos Bay on narrow, winding roads. No facilities on-site. Can combine both falls in a 1-hour visit.`},{name:`Laverne Falls`,difficulty:`Easy`,distance:`Short`,accessibility:3,description:`A smaller but beautiful waterfall in the Coos Bay area, offering an easy, family-friendly hike through coastal forest.`,notes:`Well-maintained trail suitable for all ages. Good option for a quick nature walk.`}],_he=[{title:`Charleston Seafood Festival`,date:`August 8–9, 2026`},{title:`Blackberry Arts Festival`,date:`August 22, 2026`},{title:`Bay Area Fun Festival`,date:`September 19–20, 2026`},{title:`Shore Acres Holiday Lights`,date:`November 26 – December 31, 2026`},{title:`Coos Bay Wine Walk`,date:`First Friday of every month`}],vhe=()=>{(0,y.useEffect)(()=>{console.log(`CoosBayPage mounted`)},[]);let e=Y[`coos-bay`],t=If(`Coos Bay`),n=Lf(`Coos Bay`),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/32c0d973a9704cf199b61ec4477d1531.webp`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Zx,{name:`Coos Bay Oregon Travel`,description:n,url:`https://oregoncoastal.com/town/coos-bay`,image:r}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Coos Bay Oregon Boardwalk and Waterfront`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Coos Bay`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Coos Bay`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-lime-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Coos Bay Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:rhe}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`The largest city on the Oregon Coast, rich in maritime history and coastal culture.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||43.3665,lon:e?.geo?.lng||-124.2179,townName:`Coos Bay`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Coos Bay`,townSlug:`coos-bay`,lat:e?.geo?.lat||43.3665,lon:e?.geo?.lng||-124.2179})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Coos Bay`,featuredImage:r,title:`Coos Bay in Photos`})}),(0,B.jsx)(Hj,{attractions:z6,townName:`Coos Bay`}),(0,B.jsx)(lhe,{attractions:z6}),(0,B.jsx)(fhe,{trails:ihe}),(0,B.jsx)(R6,{townName:`Coos Bay`,waterfalls:ghe,headerTitle:`Nearby Waterfalls`,headerSubtitle:`Just a short drive from the Coos Bay waterfront, Golden and Silver Falls are one of Oregon's best-kept secrets - two dramatic waterfalls in a single state park.`,ctaText:`Staying in Coos Bay or Charleston? Use Coos Bay as your base to explore Golden Falls, the Oregon Dunes, and Cape Arago State Park.`}),(0,B.jsx)(c6,{events:_he,townName:`Coos Bay`}),(0,B.jsx)(phe,{hotels:ahe}),(0,B.jsx)(hhe,{restaurants:ohe})]}),(0,B.jsx)(Ux,{})]})},yhe=`Welcome to Depoe Bay, the "Whale Watching Capital of the Oregon Coast." Perched on a dramatic rocky coastline, this charming town is famous for having the world's smallest navigable harbor and a front-row seat to the Pacific Ocean's most spectacular displays. Here, gray whales reside nearly year-round, often spouting just yards from the sea wall, while winter storms send geyser-like plumes of water shooting into the air through the town's basalt spouting horns.

The heart of Depoe Bay is its unique harbor, a six-acre basin hidden behind a rocky cleft that protects fishing charters and whale watching boats from the open sea. Visitors can walk the promenade along the sea wall, browse eclectic gift shops and galleries, or enjoy fresh seafood with an unobstructed view of the crashing waves. The bridge spanning the harbor entrance offers a perfect vantage point to watch skilled captains navigate the narrow, turbulent channel—a thrilling sight in itself.

Beyond the harbor, the area offers stunning natural beauty. To the south, the rocky shelf of Otter Rock and the devil's churn at Cape Perpetua beckon explorers. Whether you're embarking on a deep-sea fishing adventure, storm watching from a cozy oceanfront suite, or simply marveling at the resident pod of gray whales, Depoe Bay offers an intimate and rugged coastal experience unlike anywhere else in Oregon.`,G6=[{name:`Whale Watching Center`,description:`Operated by Oregon State Parks, this center is located right on the sea wall. Staffed by knowledgeable rangers, it offers binoculars and spotting tips to help you see the resident gray whales that frequent the bay.`,details:`Free admission. Open daily 10 AM - 4 PM.`,address:`119 US-101, Depoe Bay, OR`},{name:`The Spouting Horns`,description:`A natural geologic phenomenon located along the downtown sea wall. When waves crash into the lava tubes below, sea water shoots geyser-like plumes into the air, sometimes spraying cars on Highway 101 during storms.`,details:`Best viewed at high tide or during storms.`,address:`Downtown Sea Wall, Depoe Bay, OR`},{name:`World's Smallest Harbor`,description:`The six-acre harbor is a marvel of navigation. Watch fishing boats and Coast Guard vessels thread the needle through the narrow, rock-bound channel. It's a photographer's dream, especially at sunset.`,details:`Public docks available for walking.`,address:`Depoe Bay Harbor, Depoe Bay, OR`},{name:`Boiler Bay State Scenic Viewpoint`,description:`Just north of town, this rugged headland offers panoramic ocean views and excellent bird watching. At low tide, you can see the boiler of the shipwrecked 'J. Marhoffer' which ran aground in 1910.`,details:`Great spot for whale watching from land.`,address:`Hwy 101, 1 mile north of Depoe Bay`},{name:`Rocky Creek State Scenic Viewpoint`,description:`A forested bluff overlooking the ocean with picnic tables and active mesmerizing wave action. It's a quieter alternative to the downtown sea wall for watching whales and storms.`,details:`Day-use only. Restrooms available.`,address:`Hwy 101, 2 miles south of Depoe Bay`},{name:`Otter Crest Loop`,description:`A scenic one-way road that winds along the cliff edge south of town. It offers breathtaking views of the coastline and leads to the Cape Foulweather overlook.`,details:`Narrow road, drive slowly. One-way southbound.`,address:`Otter Crest Loop, Depoe Bay, OR`},{name:`Cape Foulweather`,description:`Rising 500 feet above the ocean, this is one of the highest points on the Oregon Coast. Discovered by Captain Cook in 1778, it offers views that stretch for miles in both directions.`,details:`Gift shop and viewing platform at the summit.`,address:`Otter Crest Loop, Depoe Bay, OR`},{name:`Depoe Bay Winery`,description:`Located in a small cave-like building, this winery offers tastings of Oregon fruit wines and Pinot Noirs. It's a cozy stop with a lot of local character.`,details:`Tasting room open daily.`,address:`22 US-101, Depoe Bay, OR`}],bhe=[{name:`Devil's Punchbowl Trail`,distance:`0.8 miles loop`,difficulty:`Easy`,elevation:`Flat`,description:`Located just south at Otter Rock, this easy trail offers views of the collapsed sea cave where waves churn violently. At very low tide, you can hike down into the bowl itself.`},{name:`Lookout Observatory Trail`,distance:`0.5 miles round trip`,difficulty:`Easy`,elevation:`100 ft gain`,description:`A short but steep paved path at Cape Foulweather leading to spectacular viewpoints. On clear days, the view extends 40 miles out to sea.`},{name:`Rocky Creek Whale Trail`,distance:`0.25 miles`,difficulty:`Easy`,elevation:`Flat`,description:`A gentle walk along the bluffs at Rocky Creek State Scenic Viewpoint. It's less of a hike and more of a perfect stroll for spotting spouts and flukes.`},{name:`Fogarty Creek Trail`,distance:`1.0 mile loop`,difficulty:`Easy`,elevation:`Flat`,description:`Winds through a spruce forest and along a creek to a sheltered sandy cove. A nice break from the rocky cliffs and great for wind protection.`},{name:`Beverly Beach Trail`,distance:`2.0 miles (one way)`,difficulty:`Easy`,elevation:`Flat (Sand)`,description:`A beach walk connecting Spencer Creek to the headlands. This wide, sandy stretch is famous for fossils and agates, located just south of Depoe Bay.`},{name:`Fishing Rock Trail`,distance:`0.5 miles round trip`,difficulty:`Easy`,elevation:`50 ft gain`,description:`Located just north in Gleneden Beach, this short trail leads through a tunnel of vegetation to a dramatic rock outcropping with precipitous drops and amazing views.`}],xhe=[{name:`Whale Cove Inn`,category:`Luxury/Boutique`,description:`Rated as one of the most romantic inns in Oregon. Perched above the secluded Whale Cove, every suite features a private deck with a hot tub and unobstructed ocean views.`,amenities:`Private hot tubs, breakfast delivered to room, adult-only.`,link:`https://expedia.com/affiliates/depoe-bay-hotels.XG28wG4`},{name:`Channel House`,category:`Boutique`,description:`Sitting on the cliff overlooking the channel entrance, this iconic hotel offers some of the best views in town. Watch boats navigate the narrow passage from your private oceanfront spa tub.`,amenities:`Oceanfront spa tubs, complimentary breakfast, wine hour.`,link:`https://expedia.com/affiliates/depoe-bay-hotels.XG28wG4`},{name:`Inn at Arch Rock`,category:`Mid-Range`,description:`Located on a bluff above a private beach, this cozy inn offers a quiet retreat. It features a private path down to the water and comfortable, unpretentious rooms.`,amenities:`Private beach access, ocean views, pet-friendly.`,link:`https://expedia.com/affiliates/depoe-bay-hotels-inn-at-arch-rock.XG28wG4`},{name:`Travelodge by Wyndham Depoe Bay`,category:`Budget`,description:`A reliable budget option located directly across from the harbor. It offers clean rooms and easy walking access to all downtown shops and the whale watching center.`,amenities:`Free breakfast, central location, harbor views.`,link:`https://expedia.com/affiliates/depoe-bay-hotels.XG28wG4`},{name:`WorldMark Depoe Bay`,category:`Resort/Condos`,description:`A large resort complex featuring spacious condo-style units with full kitchens. Amenities include indoor and outdoor pools, making it a great choice for families.`,amenities:`Indoor/outdoor pools, hot tubs, recreation center, kid-friendly.`,link:`https://expedia.com/affiliates/depoe-bay-hotels.XG28wG4`}],She=[{name:`Tidal Raves`,category:`Upscale Seafood`,description:`The premier dining destination in Depoe Bay. Perched on a cliff with panoramic windows, it offers spectacular views of crashing waves alongside a menu of fresh, creative seafood dishes.`,features:`Ocean views, craft cocktails, fresh local seafood.`},{name:`Restaurant Beck`,category:`Fine Dining`,description:`Located inside Whale Cove Inn, this James Beard-nominated restaurant serves ultra-local, progressive coastal cuisine. The menu changes daily based on foraged and farmed ingredients.`,features:`Farm-to-table, tasting menus, oceanfront.`},{name:`Gracie's Sea Hag`,category:`Casual/Seafood`,description:`A local institution famous for its clam chowder and lively nautical atmosphere. It's a must-stop for a hearty lunch and live music in the lounge.`,features:`Famous chowder, live music, family-friendly.`},{name:`The Horn Public House`,category:`Brewery/Pub`,description:`Located overlooking the spouting horns, this two-story pub offers house-brewed beers and solid pub fare. The upper deck is a prime spot for whale watching with a burger.`,features:`Ocean views, house microbrews, outdoor seating.`},{name:`Hook & Slice`,category:`Pizza/Casual`,description:`A laid-back spot specializing in hand-tossed pizzas and local beers. It shares space with the Salishan golf clubhouse just north of town but is a favorite for Depoe Bay locals.`,features:`Gourmet pizza, casual vibe, takeout.`},{name:`Depoe Baykery`,category:`Bakery`,description:`Situated in the log cabin complex, this bakery is famous for its massive donuts, apple fritters, and artisan breads. Get there early for the best selection.`,features:`Fresh donuts, coffee, pastries.`},{name:`Arch Rock Cafe`,category:`Cafe/Lunch`,description:`A cozy cafe serving espresso, homemade soups, and sandwiches. It's a perfect pit stop for a quick, warming meal before heading back out to the cliffs.`,features:`Specialty coffee, homemade soup, breakfast.`},{name:`Thai Bay`,category:`International`,description:`Surprisingly authentic Thai cuisine located right on Highway 101. A favorite among locals for their curries and fresh rolls when they need a break from seafood.`,features:`Spicy curries, ocean view, takeout.`},{name:`Mazatlan Mexican Restaurant`,category:`Mexican`,description:`A colorful, family-friendly spot offering generous portions of Mexican classics. The margaritas are strong, and the salsa is fresh.`,features:`Family-friendly, large portions, margaritas.`}],K6=`Depoe Bay`,Che=K(K6),whe=({attraction:e,index:t})=>{let n=Ef(K6,e?.name);return(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name}),n&&(0,B.jsx)(X,{objectId:n.object_id,title:e.name,sourcePage:Che,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`})]}),(0,B.jsx)(`div`,{className:`bg-blue-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-blue-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-blue-700 bg-blue-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})})},The=({attractions:e})=>!e||e.length===0?null:(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-blue-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-blue-600 font-bold tracking-wider uppercase text-sm`,children:`Harbor & Coast`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Whales & Wonders`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-blue-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6`,children:e.map((e,t)=>(0,B.jsx)(whe,{attraction:e,index:t},t))})]})}),Ehe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Easy),children:e})},Dhe=({trails:e})=>!e||e.length===0?null:(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-teal-600`}),`Coastal Trails & Viewpoints`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Discover dramatic headlands, hidden coves, and the best whale watching spots on foot.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-teal-700 transition-colors`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(Ehe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})}),Ohe=({hotels:e})=>{let t=`Depoe Bay`,n=[`Channel House`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},q6=`Depoe Bay`,khe=K(q6),J6=({restaurant:e})=>{let t=Sf(q6,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-teal-100 hover:border-teal-300 transition-all shadow-sm hover:shadow-md h-full flex flex-col`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-teal-950`,children:e?.name}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:khe,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-teal-600 bg-teal-100 px-2 py-1 rounded-md whitespace-nowrap`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed flex-grow`,children:e?.description}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-teal-100/50 mt-auto`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-teal-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]})},Y6=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-teal-500 pl-3`,children:n})})]}),Ahe=({restaurants:e})=>{if(!e||e.length===0)return null;let t=e.slice(0,2),n=e.slice(2,5),r=e.slice(5);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-teal-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Depoe Bay`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Savor fresh seafood with a view of the harbor, enjoy world-class fine dining, or grab a quick bite before your whale watching tour.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-teal-900 border-b-2 border-teal-200 pb-2 inline-block`,children:`Fine Dining & Views`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(J6,{restaurant:e},t))})]}),(0,B.jsx)(Y6,{src:`https://images.unsplash.com/photo-1550513185-b643c86c370e`,alt:`Elegant table setting at a high-end seafood restaurant`,caption:`Oceanfront Dining Experiences`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(Y6,{src:`https://images.unsplash.com/photo-1514933651103-005eec06c04b?auto=format&fit=crop&w=800&q=80`,alt:`Clam chowder and beer`,caption:`Legendary chowder & local brews`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-teal-900 border-b-2 border-teal-200 pb-2 inline-block ml-auto`,children:`Casual & Pub Fare`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(J6,{restaurant:e},t))})]})]}),(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm border border-teal-50`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-teal-900 mb-8 text-center`,children:`International & Quick Bites`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 gap-6`,children:r.map((e,t)=>(0,B.jsx)(J6,{restaurant:e},t))})]})]})})},jhe=()=>{(0,y.useEffect)(()=>{console.log(`DepoeBayPage mounted`)},[]);let e=`Depoe Bay`,t=If(e),n=Lf(e),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/2c57f533ae0506195f5f5c9a0953d506.webp`,i={name:e,description:n,image:r,geo:{lat:44.8066,lng:-124.0601},url:`https://oregoncoastal.com/town/depoe-bay`};return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsx)(Zx,{...i}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Depoe Bay harbor and coastline`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Depoe Bay`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-2`,children:`Depoe Bay`}),(0,B.jsx)(q.p,{initial:{opacity:0},animate:{opacity:1},transition:{delay:.3,duration:.8},className:`text-xl text-white/90 font-light tracking-wide drop-shadow-md mb-4`,children:`Whale Watching Capital of the Coast`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-teal-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Depoe Bay Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:yhe}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Famous for having the world's smallest navigable harbor and excellent whale watching opportunities.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:i.geo.lat,lon:i.geo.lng,townName:`Depoe Bay`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Depoe Bay`,townSlug:`depoe-bay`,lat:i.geo.lat,lon:i.geo.lng})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Depoe Bay`,featuredImage:r,title:`Depoe Bay in Photos`})}),(0,B.jsx)(Hj,{attractions:G6,townName:`Depoe Bay`}),(0,B.jsx)(The,{attractions:G6}),(0,B.jsx)(Dhe,{trails:bhe}),(0,B.jsx)(Ohe,{hotels:xhe}),(0,B.jsx)(Ahe,{restaurants:She})]}),(0,B.jsx)(Ux,{})]})},Mhe=`Welcome to Dune City, the "City of Lakes" and a gateway to the spectacular Oregon Dunes National Recreation Area. Situated just south of Florence, this tranquil community is surrounded by water, with Siltcoos Lake to the east and Woahink Lake to the west, offering a paradise for fishing, boating, and kayaking enthusiasts.

Unlike its bustling neighbors, Dune City offers a quieter, nature-focused retreat. It is home to old-growth forests, pristine freshwater lakes, and immediate access to the towering sand dunes that define this stretch of the coastline. Visitors come here to escape the crowds, launch their boats at dawn, or hike trails that transition seamlessly from lush woodlands to wind-swept sand.

Whether you are water-skiing on Woahink, fishing for bass in Siltcoos, or exploring the fascinating carnivorous plants at the nearby Darlingtonia Wayside, Dune City provides an immersive outdoor experience. It is the perfect base camp for adventurers looking to explore the central coast's unique geology and diverse ecosystems.`,X6=[{name:`Woahink Lake State Park`,description:`A stunning freshwater lake separated from the ocean by massive dunes. The park features a swimming area, boat ramp, and picnic spots, all nestled in a coastal forest setting.`,details:`Day-use fee required. Great for swimming and boating.`},{name:`Siltcoos Lake`,description:`The largest lake on the Oregon Coast, Siltcoos is a premier destination for fishing (bass, trout, and perch) and boating. Its labyrinth of arms and inlets offers endless exploration.`,details:`Multiple boat launches available. outstanding fishing.`},{name:`Oregon Dunes National Recreation Area`,description:`Dune City sits right on the edge of this 40-mile stretch of wind-sculpted sand. Visitors can access the dunes for hiking, photography, and off-highway vehicle (OHV) riding.`,details:`Access via Siltcoos Beach Road or nearby trailheads.`},{name:`Siltcoos River`,description:`This short river connects Siltcoos Lake to the Pacific Ocean. It is a fantastic spot for paddling kayaks or canoes, especially during the fall salmon run.`,details:`Rentals available at local marinas.`},{name:`Darlingtonia State Natural Site`,description:`Located just north of the city limits, this botanical park protects the rare cobra lily, Oregon's only native carnivorous plant. Wooden boardwalks allow safe viewing.`,details:`Free admission. Best viewed in spring.`},{name:`Tyee Campground`,description:`Situated on the banks of the Siltcoos River, this campground offers prime access to the dunes and water. It's a peaceful spot for picnicking and watching river otters.`,details:`Part of the Siuslaw National Forest.`},{name:`Carter Lake`,description:`A smaller, quieter lake south of town, perfect for those seeking solitude. It offers a primitive campground and a trail that leads through the dunes to the beach.`,details:`Non-motorized boats preferred. Excellent birdwatching.`}],Nhe=[{name:`Waxmyrtle Trail`,distance:`1.5 miles (one way)`,difficulty:`Easy`,description:`This scenic trail follows the Siltcoos River estuary out to the beach. It winds through coastal scrub, wetlands, and dunes, offering excellent birdwatching opportunities along the way.`},{name:`Siltcoos Lake Trail`,distance:`3.5 miles loop`,difficulty:`Moderate`,description:`A beautiful loop hike that takes you through lush rainforest and old-growth spruce trees around the edge of the lake. It's peaceful, green, and teeming with wildlife.`},{name:`Lagoon Trail`,distance:`1.0 mile loop`,difficulty:`Easy`,description:`A family-friendly interpretive trail near the Siltcoos recreation area. It circles a small lagoon and offers great views of the river and surrounding wetlands.`},{name:`Chief Tsiltcoos Trail`,distance:`1.2 miles loop`,difficulty:`Moderate`,description:`This trail climbs a high dune for panoramic views of the river and ocean before dropping down to the riverbank. It offers a good workout with rewarding scenery.`},{name:`Taylor Dune Trail`,distance:`2.5 miles round trip`,difficulty:`Moderate/Hard`,description:`For those wanting to walk on the sand, this trail traverses the open dunes to reach the beach. The shifting sand makes it a workout, but the solitude is unmatched.`},{name:`Carter Dune Trail`,distance:`3.0 miles round trip`,difficulty:`Moderate`,description:`Starting near Carter Lake, this trail crosses the dunes to reach a secluded stretch of ocean beach. It's a fantastic spot for finding solitude and watching the sunset.`}],Phe=[{name:`Westlake Resort`,category:`Resort/Cabins`,description:`A classic lakeside resort offering cozy cabins and boat rentals on Siltcoos Lake. It has been a favorite family destination for generations.`,amenities:`Boat rentals, cabins, marina access.`},{name:`Siltcoos Lake Resort`,category:`Resort/Motel`,description:`Located directly on the water, this resort provides motel-style rooms and cabins. It features a private dock, making it ideal for anglers and boaters.`,amenities:`Private dock, fishing boat rentals, pet-friendly.`},{name:`Tyee Campground`,category:`Camping`,description:`A US Forest Service campground located along the Siltcoos River. It offers paved sites and a peaceful setting for tent and RV campers.`,amenities:`River access, drinking water, vault toilets.`},{name:`Woahink Lake RV Resort`,category:`RV Resort`,description:`Situated near Woahink Lake, this resort offers full-service RV sites with easy access to the dunes and state park.`,amenities:`WiFi, laundry, clubhouse, dune access.`},{name:`Lakeshore Lodge (Nearby)`,category:`Lodge`,description:`While technically just outside city limits, this lodge offers comfortable rooms with views of the lake and easy access to all Dune City attractions.`,amenities:`Lake views, restaurant nearby, comfortable rooms.`},{name:`Dune City Vacation Rentals`,category:`Vacation Rentals`,description:`Several private homes along the lakeshores are available for rent, offering private docks, large decks, and all the comforts of home.`,amenities:`Kitchens, private docks, multiple bedrooms.`}],Fhe=[{name:`Darlings Marina (The Dunes Cafe)`,category:`Casual/Pub`,description:`The social hub of Siltcoos Lake. This marina pub serves up hearty burgers, fish and chips, and cold beers right on the water. It's the place to swap fishing stories.`,features:`Lakefront dining, craft beer, outdoor seating.`},{name:`Westlake Resort Grill`,category:`Seasonal Grill`,description:`A small, seasonal grill located at the resort, offering quick bites, sandwiches, and ice cream for boaters and campers enjoying the lake.`,features:`Quick bites, ice cream, marina atmosphere.`}],Z6=`Dune City`,Ihe=K(Z6),Lhe=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(()=>{let t=Ef(Z6,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Ihe,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),Rhe=({attractions:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`AttractionsSection: No attractions data provided`):console.log(`AttractionsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Lakes & Dunes`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Dune City`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(Lhe,{attraction:e,index:t},t))})]})})),Q6=`Dune City`,zhe=K(Q6),Bhe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},Vhe=({trails:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`HikingTrailsSection: No trails data provided`):console.log(`HikingTrailsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Dune City offers a unique mix of wetland, forest, and dune hiking. Explore trails that wind through coastal scrub and open sand, connecting lakes to the ocean.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(()=>{let t=Tf(Q6,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:zhe,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(Bhe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),Hhe=({hotels:e})=>{let t=`Dune City`,n=[`Tyee Campground`,`Woahink Lake RV Resort`,`Dune City Vacation Rentals`,`Coming Soon`,`Westlake Resort`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},Uhe=({restaurant:e})=>(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]}),Whe=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),Ghe=({restaurants:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`RestaurantsSection: No restaurant data provided`):console.log(`RestaurantsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Dune City`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Dining in Dune City is casual and relaxed, often enjoyed with a view of the water. For more extensive options, Florence is just a short drive north.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(Whe,{src:`https://images.unsplash.com/photo-1543364195-077a16c30ff3?auto=format&fit=crop&w=800&q=80`,alt:`Lakeside dining`,caption:`Enjoy a meal by Siltcoos Lake`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block ml-auto`,children:`Local Eats`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:e.map((e,t)=>(0,B.jsx)(Uhe,{restaurant:e},t))})]})]})]})})),Khe=()=>{(0,y.useEffect)(()=>{console.log(`DuneCityPage mounted`)},[]);let e=Y[`dune-city`],t=If(`Dune City`),n=Lf(`Dune City`),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/c2bb95a8f717d26828623d6733b9a799.webp`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Zx,{name:`Dune City Oregon Travel`,description:n,url:`https://oregoncoastal.com/town/dune-city`,image:r}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden`,children:[(0,B.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Dune City, Oregon Lakes and Dunes`,className:`w-full h-full object-cover`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-black/30 to-black/70`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-center text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Dune City`}),(0,B.jsx)(`h1`,{className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight`,children:`Dune City`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto town-grid-layout mb-12`,children:[(0,B.jsx)(`div`,{className:`town-about-section`,children:(0,B.jsx)(r6,{townName:`Dune City`,initialDescription:Mhe})}),(0,B.jsx)(`div`,{className:`town-weather-section`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||43.8885,lon:e?.geo?.lng||-124.1165,townName:`Dune City`})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Dune City`,townSlug:`dune-city`,lat:e?.geo?.lat||43.8885,lon:e?.geo?.lng||-124.1165})})]}),(0,B.jsx)(Gj,{townName:`Dune City`,featuredImage:r,title:`Dune City in Photos`}),(0,B.jsx)(Hj,{attractions:X6,townName:`Dune City`}),(0,B.jsx)(Rhe,{attractions:X6}),(0,B.jsx)(Vhe,{trails:Nhe}),(0,B.jsx)(Hhe,{hotels:Phe}),(0,B.jsx)(Ghe,{restaurants:Fhe})]}),(0,B.jsx)(Ux,{})]})},qhe={featured:`https://images.unsplash.com/photo-1565624796120-0010c283626e?auto=format&fit=crop&w=1200&q=80`,images:[`https://images.unsplash.com/photo-1565624796120-0010c283626e?auto=format&fit=crop&w=800&q=80`,`https://images.unsplash.com/photo-1471922694854-ff1b63b20054?auto=format&fit=crop&w=800&q=80`,`https://images.unsplash.com/photo-1520638023360-6def43369781?auto=format&fit=crop&w=800&q=80`,`https://images.unsplash.com/photo-1583345267716-11f87979685a?auto=format&fit=crop&w=800&q=80`,`https://images.unsplash.com/photo-1627916503730-a94f6f70db2b?auto=format&fit=crop&w=800&q=80`,`https://images.unsplash.com/photo-1504700610630-ac6aba3536d3?auto=format&fit=crop&w=800&q=80`,`https://images.unsplash.com/photo-1463780324318-d1a8ddc05a11?auto=format&fit=crop&w=800&q=80`,`https://images.unsplash.com/photo-1469334031218-e382a71b716b?auto=format&fit=crop&w=800&q=80`]},$6=`Florence`,Jhe=K($6),Yhe=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(()=>{let t=Ef($6,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Jhe,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),Xhe=({attractions:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`AttractionsSection: No attractions data provided`):console.log(`AttractionsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Discover the Dunes & More`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Florence`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(Yhe,{attraction:e,index:t},t))})]})})),e8=`Florence`,Zhe=K(e8),Qhe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},$he=({trails:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`HikingTrailsSection: No trails data provided`):console.log(`HikingTrailsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`From magical forest tunnels to windswept dunes, Florence offers diverse trails for every adventurer. Explore waterfalls, lakes, and dramatic coastal cliffs.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(()=>{let t=Tf(e8,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Zhe,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(Qhe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),ege=({hotels:e})=>{let t=`Florence`,n=[`Edwin K Bed & Breakfast`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},t8=`Florence`,tge=K(t8),n8=({restaurant:e})=>{let t=Sf(t8,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:tge,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md flex-shrink-0`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]})},r8=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),nge=({restaurants:e})=>{if((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`RestaurantsSection: No restaurant data provided`):console.log(`RestaurantsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,3),n=e.slice(3,7),r=e.slice(7);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Florence`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`From fresh crab eaten directly on the river to upscale dining in converted historic buildings, Florence offers a diverse culinary landscape.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block`,children:`Riverfront Dining`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(n8,{restaurant:e},t))})]}),(0,B.jsx)(r8,{src:`https://images.unsplash.com/photo-1534080564583-6be75777b70a?auto=format&fit=crop&w=800&q=80`,alt:`Seafood dinner with a view`,caption:`Fresh seafood served with Siuslaw River views`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(r8,{src:`https://images.unsplash.com/photo-1504674900247-0877df9cc836?auto=format&fit=crop&w=800&q=80`,alt:`Hearty pub food`,caption:`Farm-to-table favorites and global flavors`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block ml-auto`,children:`Local Favorites`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(n8,{restaurant:e},t))})]})]}),(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 mb-8 text-center`,children:`Cafes, Sweets & Light Bites`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-4 gap-6`,children:r.map((e,t)=>(0,B.jsx)(n8,{restaurant:e},t))}),(0,B.jsx)(`div`,{className:`mt-8 text-center`,children:(0,B.jsx)(`img`,{src:`https://images.unsplash.com/photo-1551024709-8f23befc6f87?auto=format&fit=crop&w=1200&h=300&q=80`,alt:`Coffee and dessert`,className:`w-full h-48 object-cover rounded-xl opacity-90`})})]})]})})},rge=[{name:`Sweet Creek Falls`,difficulty:`Easy`,distance:`2.0 miles`,accessibility:4,description:`A spectacular 2-mile trail featuring 10+ waterfalls, including the stunning 50-foot Sweet Creek Falls. The trail follows the creek through a lush canyon with wooden bridges and viewpoints at every turn.`,notes:`Trail can be slippery year-round. Some steep sections. Allow 2-3 hours to fully explore. Northwest Forest Pass required.`},{name:`Upper & Lower Kentucky Falls`,difficulty:`Moderate`,distance:`5.0 miles`,accessibility:2,description:`Two massive waterfalls in a remote Coast Range canyon. Upper Kentucky Falls drops 80 feet, while Lower Kentucky plunges 100 feet. One of the most rewarding waterfall hikes in Oregon.`,notes:`Moderately strenuous with some elevation gain. Trail can be muddy and slippery. No facilities at trailhead. Allow 3-4 hours round trip.`},{name:`Siuslaw Falls`,difficulty:`Moderate`,distance:`Varies`,accessibility:2,description:`A series of cascades on the North Fork of the Siuslaw River, accessible via several different trails of varying difficulty. Less crowded than Sweet Creek or Kentucky Falls.`,notes:`Multiple access points - some require river crossings. Best visited in spring for maximum flow. Limited signage.`}],ige=[{title:`Florence Winter Music Festival`,date:`January 22–24, 2027`},{title:`Rhododendron Festival`,date:`May 13–16, 2027`},{title:`Flo Fest`,date:`September 19, 2026`},{title:`Crafts & Classics Festival`,date:`August 1, 2026`}],age=()=>{(0,y.useEffect)(()=>{console.log(`FlorencePage mounted`)},[]);let e=Y.florence,t=If(`Florence`),n=Lf(`Florence`),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/f96e6b74688eedfb4225959efeeff861.webp`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden`,children:[(0,B.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Florence, Oregon Dunes and River`,className:`w-full h-full object-cover`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-black/30 to-black/70`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-center text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Florence`}),(0,B.jsx)(`h1`,{className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight`,children:`Florence`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto town-grid-layout mb-12`,children:[(0,B.jsx)(`div`,{className:`town-about-section`,children:(0,B.jsx)(r6,{townName:`Florence`,initialDescription:Ej})}),(0,B.jsx)(`div`,{className:`town-weather-section`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||43.9826,lon:e?.geo?.lng||-124.0998,townName:`Florence`})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Florence`,townSlug:`florence`,lat:e?.geo?.lat||43.9826,lon:e?.geo?.lng||-124.0998})})]}),(0,B.jsx)(Gj,{townName:`Florence`,featuredImage:r,title:`Florence in Photos`,images:qhe.images}),(0,B.jsx)(Hj,{attractions:Dj,townName:`Florence`}),(0,B.jsx)(Xhe,{attractions:Dj}),(0,B.jsx)($he,{trails:Oj}),(0,B.jsx)(R6,{townName:`Florence`,waterfalls:rge,headerTitle:`Nearby Waterfalls`,headerSubtitle:`Florence sits at the gateway to some of the Oregon Coast Range's most spectacular waterfall hikes - most visitors drive right past without knowing they're there.`,ctaText:`Making Florence your base for waterfall hiking? Florence hotels put you within 30 minutes of Sweet Creek Falls, Kentucky Falls, and the Oregon Dunes.`}),(0,B.jsx)(c6,{events:ige,townName:`Florence`}),(0,B.jsx)(ege,{hotels:kj}),(0,B.jsx)(nge,{restaurants:Aj})]}),(0,B.jsx)(Ux,{})]})},oge=`Gardiner, often called the "Jamestown of Oregon," sits quietly on the north bank of the Umpqua River, just across from Reedsport. Steeped in history, this small community was once a bustling lumber town and remains one of the most significant historic districts on the Oregon Coast.

Visitors are drawn to Gardiner for its impressive collection of white Victorian homes that line the riverfront, offering a glimpse into the 19th-century prosperity of the region. The silence here is striking, broken only by the cry of gulls and the gentle flow of the massive Umpqua River meeting the Pacific tides.

While it lacks the commercial bustle of its neighbors, Gardiner serves as a peaceful gateway to the Oregon Dunes National Recreation Area and the wildlife-rich Dean Creek Elk Viewing Area. It is a place to slow down, appreciate architecture, and watch the river roll by.`,i8=[{name:`Gardiner Historic District`,description:`A walk through Gardiner is a walk through time. The town features several beautifully preserved 19th-century white Victorian homes and buildings, remnants of its days as a booming lumber port.`,details:`Walking tour maps often available locally.`},{name:`Tsunami Gallery`,description:`Located in the heart of Gardiner, this gallery features an eclectic mix of local art, jewelry, and gifts. It's a colorful stop that highlights the creativity of the South Coast region.`,details:`Check seasonal hours.`},{name:`Free Ceramics Gallery & Bronze Foundry`,description:`A working studio and gallery showcasing exquisite ceramics and bronze sculptures. Visitors can often see the artists at work and purchase unique, handcrafted pieces directly from the source.`,details:`Artisan craftsmanship.`},{name:`St. Mary the Virgin Episcopal Church`,description:`A stunning example of Carpenter Gothic architecture. This small, historic white church with its steep roof and lancet windows is a photographer's favorite and a spiritual landmark.`,details:`Historic religious site.`},{name:`Umpqua River Views`,description:`The town offers unobstructed views of the mighty Umpqua River. It's a prime spot for watching fishing boats heading out to sea or simply enjoying the changing light on the water.`,details:`Excellent sunset viewing.`},{name:`Tahkenitch Lake`,description:`Just north of Gardiner, this large coastal lake is a haven for bass fishing and boating. The lake's irregular shoreline provides endless coves and inlets to explore by kayak.`,details:`Boat ramp and campground nearby.`},{name:`Oregon Dunes Overlook`,description:`Located a few miles north, this viewing infrastructure offers spectacular panoramic views of the shifting sand dunes meeting the ocean. Wooden platforms make it accessible for all.`,details:`Day use fee required.`},{name:`Dean Creek Elk Viewing Area`,description:`Just east of Reedsport (minutes away), this reserve is home to a resident herd of Roosevelt elk. They can often be seen grazing in the meadows right off the highway year-round.`,details:`Best viewing early morning or late evening.`}],sge=[{name:`Tahkenitch Dunes Trail`,distance:`6.0 miles loop`,difficulty:`Moderate`,description:`A diverse trail leading through dense forest and open dunes to the beach. Depending on the season, you might have the entire stretch of sand to yourself.`},{name:`Overlook Beach Trail`,distance:`2.3 miles round trip`,difficulty:`Moderate`,description:`Starting from the Oregon Dunes Overlook, this trail descends through the sand to the ocean. The return trip uphill through soft sand can be a workout!`},{name:`Umpqua River Trail`,distance:`Varies`,difficulty:`Easy`,description:`While not a single continuous path, walking the riverfront in Gardiner offers flat, easy terrain with constant views of the water and historic homes.`},{name:`Dean Creek Elk Trail`,distance:`0.5 miles easy walk`,difficulty:`Easy`,description:`Short, paved paths and viewing platforms allow you to get closer to the meadow (safely) to observe the massive elk and other wildlife.`},{name:`Oregon Dunes Loop`,distance:`1.0 mile loop`,difficulty:`Easy/Moderate`,description:`A paved loop offering interpretive signs about the dune ecosystem. Sections are wheelchair accessible, making it great for all abilities.`},{name:`Bolon Island Tideways Trail`,distance:`1.5 miles loop`,difficulty:`Moderate`,description:`Located just across the bridge, this trail explores a unique estuarine island with ancient myrtlewood trees and views of the Umpqua River bridge.`}],cge=[{name:`Best Western Salbasgeon Inn & Suites`,category:`Hotel (Reedsport)`,description:`Located just 1 mile south across the bridge in Reedsport. Offers reliable comfort, an indoor pool, and easy access to the river.`,amenities:`Indoor pool, breakfast, WiFi.`},{name:`Fir Grove Motel`,category:`Motel (Reedsport)`,description:`A budget-friendly, retro-style motel in nearby Reedsport. Clean rooms and friendly service make it a solid base for exploring the area.`,amenities:`Free parking, WiFi, pet-friendly.`},{name:`Anchor Bay Inn`,category:`Inn (Reedsport)`,description:`Another convenient option in Reedsport offering straightforward accommodations near restaurants and the discovery center.`,amenities:`Cable TV, microwave, fridge.`},{name:`Salmon Harbor Landing`,category:`RV Resort`,description:`A large RV park in Winchester Bay with full hookups and views of the marina, just a short drive from Gardiner.`,amenities:`Full hookups, marina access.`}],lge=[{name:`Gardiner Market & Deli`,category:`Deli/Market`,description:`The hub of the town. Stops here are mandatory for their famous deli sandwiches, snacks, and perhaps the only cold drink in town. A lifesaver for hikers.`,features:`Fresh sandwiches, convenience items, local gossip.`},{name:`Rainbow Rock Cafe`,category:`American/Casual`,description:`A quirky local spot offering hearty American comfort food. Known for friendly service and being one of the few sit-down options actually in Gardiner.`,features:`Burgers, breakfast, eclectic decor.`}],a8=`Gardiner`,uge=K(a8),dge=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-slate-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-slate-900 leading-tight`,children:e.name}),(()=>{let t=Ef(a8,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:uge,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-slate-100 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-slate-600`})})]}),(0,B.jsx)(`p`,{className:`text-slate-600 mb-6 flex-grow leading-relaxed`,children:e.description}),(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-slate-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-slate-700 bg-slate-50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),fge=({attractions:e})=>(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-slate-50 to-white`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-slate-600 font-bold tracking-wider uppercase text-sm`,children:`Historic & Scenic`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-slate-900 mt-2 mb-6`,children:`Attractions in Gardiner`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-slate-400 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6`,children:e.map((e,t)=>(0,B.jsx)(dge,{attraction:e,index:t},t))})]})}),o8=`Gardiner`,pge=K(o8),mge=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e})},hge=({trails:e})=>(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-blue-50 to-slate-50`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-blue-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-slate-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Yo,{className:`w-8 h-8 text-blue-600`}),`Trails & Dunes`]}),(0,B.jsx)(`p`,{className:`text-slate-600 text-lg`,children:`Explore the unique transition from river estuary to massive sand dunes.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:e.map((e,t)=>(0,B.jsx)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-blue-100 transition-all group h-full`,children:(0,B.jsxs)(`div`,{className:`flex flex-col justify-between h-full`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-start mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-slate-800 group-hover:text-blue-700 transition-colors`,children:e.name}),(()=>{let t=Tf(o8,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:pge,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(mge,{level:e.difficulty})]}),(0,B.jsx)(`p`,{className:`text-slate-600 leading-relaxed text-sm mb-4`,children:e.description})]}),(0,B.jsxs)(`div`,{className:`mt-auto pt-4 border-t border-slate-50 text-sm text-slate-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]})]})},t))})]})}),gge=()=>{let e=[{name:`Best Western Salbasgeon Inn & Suites Of Reedsport`,image:`https://drive.google.com/thumbnail?id=1PSeH0ghu10-P3AGwGqHIzo-d-OIIyb4X&sz=w1000`,affiliateUrl:`https://expedia.com/affiliate/T06n3oJ`,description:`Comfortable suites with modern amenities located conveniently in Reedsport.`,rating:4.5},{name:`Economy Inn Reedsport`,image:`https://drive.google.com/thumbnail?id=1hn10WpkNDpoQCVfbvWnBMcBPbre9gvRG&sz=w1000`,affiliateUrl:`https://expedia.com/affiliate/86T7wG7`,description:`Budget-friendly accommodations perfect for travelers exploring the Oregon Coast.`,rating:3.5},{name:`Anchor Bay Inn`,image:`https://drive.google.com/thumbnail?id=1BK4Cdwqvbk61T4zVd4hMndaeQJfz3GfD&sz=w1000`,affiliateUrl:`https://expedia.com/affiliate/mg9V7Qk`,description:`Quaint and cozy lodging near the heart of the coastal activity.`,rating:4},{name:`Best Budget Inn`,image:`https://drive.google.com/thumbnail?id=1SLg78_NcTQP6tsxy6Vz7VZYwbiyrN2JM&sz=w1000`,affiliateUrl:`https://expedia.com/affiliate/12zpSQt`,description:`Affordable and reliable lodging for visitors on the go.`,rating:3},{name:`Winchester Bay Inn`,image:`https://drive.google.com/thumbnail?id=1OUkKJX6OtTbN7yRaEX7Yr7wOAUwwzg2T&sz=w1000`,affiliateUrl:`https://expedia.com/affiliate/5QIauAF`,description:`Scenic views and comfortable rooms located in beautiful Winchester Bay.`,rating:4.2}];return(0,B.jsx)(a6,{townName:`Gardiner`,fallbackHotels:e,affiliateHotels:e})},_ge=({restaurant:e})=>(0,B.jsxs)(`div`,{className:`bg-white/90 backdrop-blur-sm p-8 rounded-xl border border-emerald-100 hover:border-emerald-300 transition-all shadow-sm hover:shadow-md h-full flex flex-col`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-4`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-emerald-950`,children:e.name}),(0,B.jsx)(`span`,{className:`text-xs font-medium text-emerald-700 bg-emerald-100 px-2 py-1 rounded-md whitespace-nowrap ml-2`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-6 text-base leading-relaxed flex-grow`,children:e.description}),(0,B.jsxs)(`div`,{className:`pt-4 border-t border-emerald-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-emerald-800 uppercase tracking-wide mb-1`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]}),vge=({restaurants:e})=>(0,B.jsx)(`section`,{className:`py-24 px-4 bg-gradient-to-b from-green-50 to-emerald-50`,children:(0,B.jsxs)(`div`,{className:`max-w-4xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-emerald-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Gardiner`}),(0,B.jsx)(`div`,{className:`bg-white/60 p-4 rounded-lg inline-block mx-auto mt-4 border border-emerald-100`,children:(0,B.jsxs)(`p`,{className:`flex items-center gap-2 text-emerald-800 text-sm font-medium`,children:[(0,B.jsx)(po,{className:`w-4 h-4`}),`Dining options are limited within the historic district.`]})})]}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 gap-8`,children:e.map((e,t)=>(0,B.jsx)(_ge,{restaurant:e},t))}),(0,B.jsx)(`div`,{className:`mt-12 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500 italic`,children:`Looking for more? Reedsport is just a 5-minute drive across the bridge and offers many more dining choices.`})})]})}),yge=()=>{(0,y.useEffect)(()=>{console.log(`GardinerPage mounted`)},[]);let e=Y.gardiner,t=If(`Gardiner`),n=Lf(`Gardiner`),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/b4066023187b60adc59587c738bf4819.jpg`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Gardiner, Oregon Historic District`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Gardiner`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Gardiner`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-lime-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Gardiner Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:oge}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`A historic timber town overlooking the Umpqua River with distinct 19th-century architecture.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||43.7315,lon:e?.geo?.lng||-124.1126,townName:`Gardiner`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Gardiner`,townSlug:`gardiner`,lat:e?.geo?.lat||43.7315,lon:e?.geo?.lng||-124.1126})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Gardiner`,featuredImage:r,title:`Historic Gardiner Gallery`})}),(0,B.jsx)(Hj,{attractions:i8,townName:`Gardiner`}),(0,B.jsx)(fge,{attractions:i8}),(0,B.jsx)(hge,{trails:sge}),(0,B.jsx)(gge,{hotels:cge}),(0,B.jsx)(vge,{restaurants:lge})]}),(0,B.jsx)(Ux,{})]})},bge=`Welcome to Garibaldi, "Oregon's Authentic Fishing Village." Nestled at the northern entrance of Tillamook Bay, this historic maritime community offers a genuine slice of coastal life where the rhythm of the tides still dictates the day. Unlike more polished tourist destinations, Garibaldi retains its hardworking, salty charm, serving as the gateway to some of the best fishing, crabbing, and clamming on the Pacific Northwest coast.

The town is dominated by the iconic 900-foot Port of Garibaldi pier and the historic "big G" on the hillside, a landmark guiding mariners since the 1920s. Visitors can watch commercial trawlers unload their daily catch, embark on deep-sea fishing charters, or hop aboard the Oregon Coast Scenic Railroad for a nostalgic steam train ride along the bay. Whether you're exploring the maritime museum, kayaking the calm waters of the estuary, or simply enjoying the freshest seafood straight from the docks, Garibaldi offers an unpretentious and deeply memorable coastal adventure.`,s8=[{name:`Port of Garibaldi Marina`,description:`The heartbeat of the town. Walk the docks to see commercial fishing vessels, charter boats, and crabbing activity. It's a photographer's dream and the best place to buy fresh seafood directly from the source.`,details:`Marina & Docks`},{name:`Pier's End`,description:`Extending 700 feet into Tillamook Bay, this public pier offers excellent fishing and crabbing opportunities without needing a boat. It also provides stunning views of the bay and the distant bar.`,details:`Fishing Pier`},{name:`Oregon Coast Scenic Railroad`,description:`Garibaldi serves as a main depot for this heritage steam train. Take a nostalgic ride along the coastline to Rockaway Beach, enjoying ocean views and the rhythmic sound of the vintage locomotive.`,details:`Historic Train`},{name:`Garibaldi Maritime Museum`,description:`Dedicated to the maritime history of the Pacific Northwest, this museum features exhibits on Captain Robert Gray, early exploration, and the local fishing industry's rich heritage.`,details:`Museum`},{name:`Fishpeople Seafood Market`,description:`Located right at the port, this market offers sustainably caught local seafood. It's the perfect spot to pick up fresh Dungeness crab, oysters, and fish to cook at your vacation rental.`,details:`Local Seafood`},{name:`Myrtlewood Factory Outlet`,description:`Explore handcrafted items made from the rare and beautiful Myrtlewood tree, native to this region. A great spot for unique Oregon souvenirs and woodworking craftsmanship.`,details:`Shopping`},{name:`Tillamook Bay Kayaking`,description:`The calm waters of the bay offer exceptional kayaking and paddleboarding. Launch from the port to explore the estuary, spot harbor seals, and watch for varied coastal birdlife.`,details:`Water Sports`},{name:`Annual Events`,description:`Garibaldi hosts vibrant community events like Garibaldi Days in July, featuring a parade and fireworks, and the Blessing of the Fleet, honoring the town's fishing tradition.`,details:`Festivals`}],xge=[{name:`Barview Jetty Walk`,distance:`1.5 miles`,difficulty:`Easy`,elevation:`Flat`,description:`Located just north of town, this paved and sandy path takes you out onto the jetty. Watch powerful waves crash against the rocks and spot ships crossing the treacherous Tillamook Bay Bar.`},{name:`Manhattan Beach State Recreation Site`,distance:`0.5 miles`,difficulty:`Easy`,elevation:`Flat`,description:`A short, gentle trail through beach pine and dunes leads to a wide, sandy beach. Perfect for a quick sunset walk or a picnic away from the crowds.`},{name:`Nehalem Bay State Park Trails`,distance:`1.8 miles`,difficulty:`Easy`,elevation:`Flat`,description:`A paved bike and walking path that winds through shore pines and along the bay. It's a peaceful, accessible route great for families and cyclists.`},{name:`Cape Meares Loop Trail`,distance:`0.2 miles`,difficulty:`Easy`,elevation:`Minimal`,description:`A short drive from Garibaldi, this trail offers spectacular views of the lighthouse, the 'Octopus Tree,' and potential whale watching spots from the cliffs.`},{name:`Kilchis Point Reserve`,distance:`2 miles`,difficulty:`Easy`,elevation:`Flat`,description:`Located along Tillamook Bay, this interpretive trail features paved and gravel paths through wetlands and spruce forests, highlighting Native American history and local flora.`},{name:`Bay Ocean Spit`,distance:`4-8 miles`,difficulty:`Moderate`,elevation:`Flat`,description:`Explore the site of a 'lost resort town' that fell into the sea. This long sandy spit separates the bay from the ocean and offers solitude and excellent birdwatching.`}],Sge=[{name:`The Hotel Garibaldi`,category:`Hotel`,description:`A comfortable, modern hotel located in the heart of town. Features an indoor pool, sauna, and easy access to the marina and train depot.`,amenities:`Pool, Breakfast, WiFi`},{name:`Garibaldi Inn at the Bay`,category:`Inn`,description:`A budget-friendly and cozy option offering clean rooms and friendly service. A convenient base camp for fishing trips and coastal exploration.`,amenities:`Pet Friendly, Free Parking`},{name:`Harborview Inn & RV Park`,category:`Inn/RV Park`,description:`Located directly overlooking the boat basin, offering motel rooms and RV spaces. Guests love the immediate access to the docks and crabbing spots.`,amenities:`Marina Views, RV Sites`},{name:`Barview Jetty County Campground`,category:`Campground`,description:`Just north of Garibaldi, this popular campground offers tent and RV sites nestled in the woods or right by the beach. Famous for its jetty access.`,amenities:`Camping, Beach Access`},{name:`Vacation Rentals`,category:`Rentals`,description:`Various private homes and cottages are available throughout town, many with stunning views of Tillamook Bay and full kitchens for cooking your fresh catch.`,amenities:`Kitchens, Bay Views`}],Cge=[{name:`Pirate's Cove Restaurant`,category:`Seafood`,description:`A local landmark offering stunning views of the bay and the 'Three Graces' rock formation. Known for its fresh oysters, clam chowder, and friendly atmosphere.`,features:`Bay Views, Seafood`},{name:`Garibaldi Portside Bistro`,category:`Bistro/Fusion`,description:`A culinary gem serving elevated coastal cuisine. Famous for their smoked brisket, creative seafood dishes, and high-quality ingredients.`,features:`Gourmet, Smoked Meats`},{name:`Fisherman's Korner Restaurant`,category:`Diner`,description:`A classic, no-frills diner that opens early for the fishermen. Serves hearty breakfasts, massive burgers, and traditional fish and chips.`,features:`Early Breakfast, hearty Portions`},{name:`Ghost Hole Public House`,category:`Pub`,description:`A modern pub named after a famous local fishing spot. Offers a great selection of craft beers, cocktails, and a menu of elevated pub fare.`,features:`Craft Beer, Cocktails`},{name:`Crab Rock Pizza`,category:`Pizza`,description:`A family-friendly spot serving delicious pizzas, salads, and grinders. A perfect place to relax after a long day on the water.`,features:`Family Friendly, Takeout`}],c8=`Garibaldi`,wge=K(c8),Tge=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(()=>{let t=Ef(c8,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:wge,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-blue-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-blue-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed text-sm`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-xs font-bold text-blue-700 bg-blue-50/50 inline-block px-3 py-1 rounded-md uppercase tracking-wider`,children:e.details})})]})}),Ege=({attractions:e})=>!e||e.length===0?null:(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-blue-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-blue-600 font-bold tracking-wider uppercase text-sm`,children:`Discover the Bay`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Garibaldi Attractions`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-blue-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6`,children:e.map((e,t)=>(0,B.jsx)(Tge,{attraction:e,index:t},t))})]})}),Dge=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},Oge=({trails:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`HikingTrailsSection: No trails data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-blue-600`}),`Hiking & Nature Walks`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Explore the rugged beauty of Tillamook Bay, from jetty walks to forest trails.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-blue-700 transition-colors`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(Dge,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),kge=({hotels:e})=>{let t=`Garibaldi`,n=[`Barview Jetty County Campground`,`Vacation Rentals`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},l8=`Garibaldi`,Age=K(l8),u8=({restaurant:e})=>(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-blue-100 hover:border-blue-300 transition-all shadow-sm hover:shadow-md h-full flex flex-col`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-blue-950`,children:e?.name||`Restaurant Name`}),(()=>{let t=Sf(l8,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Age,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`}):null})()]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-blue-600 bg-blue-100 px-2 py-1 rounded-md`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed flex-grow`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-blue-100/50 mt-auto`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-blue-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]}),d8=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-blue-500 pl-3`,children:n})})]}),jge=({restaurants:e})=>{if((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`RestaurantsSection: No restaurant data provided`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-blue-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-blue-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,2),n=e.slice(2,4),r=e.slice(4);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-blue-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-blue-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Garibaldi`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Fresh seafood straight from the boat, hearty fisherman's breakfasts, and local pub favorites.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-blue-900 border-b-2 border-blue-200 pb-2 inline-block`,children:`Portside Favorites`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(u8,{restaurant:e},t))})]}),(0,B.jsx)(d8,{src:`https://images.unsplash.com/photo-1534080564583-6be75777b70a?auto=format&fit=crop&w=800&q=80`,alt:`Seafood dinner`,caption:`Dine watching the fishing boats`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(d8,{src:`https://images.unsplash.com/photo-1551024709-8f23befc6f87?auto=format&fit=crop&w=800&q=80`,alt:`Pub food`,caption:`Local pub fare & brews`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-blue-900 border-b-2 border-blue-200 pb-2 inline-block ml-auto`,children:`Casual Eats`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(u8,{restaurant:e},t))})]})]}),r.length>0&&(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-blue-900 mb-8 text-center`,children:`More Local Spots`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-3 gap-6`,children:r.map((e,t)=>(0,B.jsx)(u8,{restaurant:e},t))})]})]})})},Mge=()=>{(0,y.useEffect)(()=>{console.log(`GaribaldiBPage mounted`)},[]);let e=Y.garibaldi,t=If(`Garibaldi`),n=Lf(`Garibaldi`),r=tj.garibaldi;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Zx,{name:`Garibaldi Oregon Travel`,description:n,url:`https://oregoncoastal.com/town/garibaldi`,image:r}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden`,children:[(0,B.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Garibaldi, Oregon Marina and Bay`,className:`w-full h-full object-cover`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-black/30 to-black/70`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-center text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Garibaldi`}),(0,B.jsx)(`h1`,{className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight`,children:`Garibaldi`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 mb-12`,children:[(0,B.jsx)(`div`,{className:`lg:col-span-2`,children:(0,B.jsx)(r6,{townName:`Garibaldi`,initialDescription:bge},`Garibaldi-About`)}),(0,B.jsx)(`div`,{className:`lg:col-span-1`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||45.5587,lon:e?.geo?.lng||-123.9168,townName:`Garibaldi`})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Garibaldi`,townSlug:`garibaldi`,lat:e?.geo?.lat||45.5587,lon:e?.geo?.lng||-123.9168})})]}),(0,B.jsx)(Gj,{townName:`Garibaldi`,featuredImage:r,title:`Garibaldi in Photos`}),(0,B.jsx)(Hj,{attractions:s8,townName:`Garibaldi`}),(0,B.jsx)(Ege,{attractions:s8}),(0,B.jsx)(Oge,{trails:xge}),(0,B.jsx)(kge,{hotels:Sge}),(0,B.jsx)(jge,{restaurants:Cge})]}),(0,B.jsx)(Ux,{})]})},Nge=`Nestled between the lively town of Seaside and the dunes of Warrenton, Gearhart offers a serene escape defined by its upscale charm, historic golf courses, and quiet, expansive beaches. It is a town where time seems to slow down, inviting visitors to stroll through neighborhood streets lined with shingled cottages and roaming herds of elk.

Gearhart is perhaps best famous for the Gearhart Golf Links, the oldest golf course west of the Mississippi River, which anchors the town's identity. Beyond the fairways, the town boasts a pristine, driving-allowed beach that is a favorite for clamming, beachcombing, and watching spectacular sunsets without the crowds found elsewhere on the coast.

With no traffic lights and a small, walkable downtown, Gearhart preserves a classic coastal village atmosphere. Whether you're enjoying a pastry at the Pacific Way Bakery, hiking the Ridge Path, or simply watching the dune grass sway in the breeze, Gearhart provides a peaceful, sophisticated retreat on the Oregon North Coast.`,f8=[{id:1,name:`Gearhart Beach`,description:`A wide, flat, and sandy beach that stretches for miles. Unlike many other beaches, driving is permitted here, making it popular for accessing prime razor clamming spots or enjoying a tailgate sunset.`,details:`Beach Driving & Clamming`,image:`https://images.unsplash.com/photo-1615579989635-c2668c62c943?auto=format&fit=crop&w=800&q=80`},{id:2,name:`Gearhart Golf Links`,description:`Established in 1892, this is the oldest golf course west of the Mississippi River. It offers a true Scottish links-style experience among the dunes, open to the public for a historic round of golf.`,details:`Historic Golf Course`,image:`https://images.unsplash.com/photo-1587174486073-ae5e5cff23aa?auto=format&fit=crop&w=800&q=80`},{id:3,name:`Necanicum Estuary`,description:`Where the Necanicum River meets the ocean, this estuary is a haven for birdwatchers and nature lovers. It creates a natural border between Gearhart and Seaside, rich with coastal wildlife.`,details:`Nature & Wildlife`,image:`https://images.unsplash.com/photo-1441974231531-c6227db76b6e?auto=format&fit=crop&w=800&q=80`},{id:4,name:`McMenamins Gearhart Hotel`,description:`Located at the golf course, this historic building serves as the social hub of the town. Even if you aren't staying, the Sand Trap pub and the surrounding grounds are worth a visit for their history and atmosphere.`,details:`Historic Hotel & Dining`,image:`https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=800&q=80`},{id:5,name:`Gearhart Ridge Path`,description:`A paved path that runs along the dunes, offering elevated views of the ocean and the beach grass. It's a favorite local spot for morning walks and evening strolls away from vehicles.`,details:`Walking Path`,image:`https://images.unsplash.com/photo-1476514525535-07fb3b4ae5f1?auto=format&fit=crop&w=800&q=80`},{id:6,name:`Historic Downtown Gearhart`,description:`A tiny, charming town center featuring a few select shops, galleries, and cafes. It captures the essence of a quiet coastal village, perfect for a leisurely afternoon browse.`,details:`Shopping & Culture`,image:`https://images.unsplash.com/photo-1519451241324-20b4ea2c4220?auto=format&fit=crop&w=800&q=80`}],Pge=[{name:`Gearhart Ridge Path Loop`,distance:`2.5 miles`,difficulty:`Easy`,type:`Loop`,description:`A gentle, paved and gravel path winding through the dunes and neighborhoods of Gearhart. Perfect for viewing the famous local elk herds and enjoying ocean breezes.`,icon:`Footprints`},{name:`Gearhart Beach Walk`,distance:`4.0 miles`,difficulty:`Easy`,type:`Out & Back`,description:`Walk as far as you like on the flat, hard-packed sand. Head north towards the shipwreck remains at very low tides or south towards the Necanicum estuary.`,icon:`Waves`},{name:`Necanicum Estuary Trail`,distance:`1.5 miles`,difficulty:`Easy`,type:`Out & Back`,description:`A nature walk exploring the wetlands where the river meets the sea. Excellent for birdwatching, especially during migration seasons.`,icon:`Bird`},{name:`Tillamook Head Traverse`,distance:`6.3 miles`,difficulty:`Moderate/Hard`,type:`Point-to-Point`,description:`Located just south near Seaside, this famous trail traces the Lewis and Clark expedition route over the headland, offering stunning cliffside views.`,icon:`Mountain`},{name:`Youngs River Falls Trail`,distance:`0.5 miles`,difficulty:`Easy`,type:`Out & Back`,description:`A short drive inland takes you to this impressive 54-foot waterfall. A short, easy hike leads to the base of the falls, a perfect swimming hole in summer.`,icon:`Water`},{name:`Saddle Mountain Trail`,distance:`5.2 miles`,difficulty:`Strenuous`,type:`Out & Back`,description:`For those seeking a challenge nearby, this trail offers the highest point in the northern coast range with panoramic views from the Columbia to the Pacific.`,icon:`Summit`}],Fge=[{id:1,name:`McMenamins Gearhart Hotel`,category:`Historic Hotel`,description:`Situated right on the golf links, this boutique hotel offers classic McMenamins style with artwork, history, and direct access to the Sand Trap Pub.`,features:[`On Golf Course`,`Historic`,`Restaurant/Bar`,`Pet Friendly`]},{id:2,name:`The Drifthaven at Gearhart`,category:`Boutique Inn`,description:`A charming, renovated boutique inn offering a cozy, personalized coastal experience. Known for its curated decor and proximity to the beach.`,features:[`Boutique Style`,`Fire Pits`,`Beach Cruisers`,`Breakfast Basket`]},{id:3,name:`Gearhart by the Sea`,category:`Condo Resort`,description:`A large resort complex offering individually owned condos with ocean views. Features swimming pools and direct access to the beach and golf course.`,features:[`Ocean Views`,`Swimming Pools`,`Kitchens`,`Family Friendly`]},{id:5,name:`Nearby Seaside Options`,category:`Various`,description:`Just a few minutes south, the town of Seaside offers extensive lodging options ranging from budget motels to large riverfront resorts if Gearhart is booked.`,features:[`More Availability`,`Close Proximity`,`Pools`,`Oceanfront`]}],Ige=[{id:1,name:`Pacific Way Bakery & Cafe`,cuisine:`Bakery & Cafe`,description:`The heart of downtown Gearhart, famous for its morning pastries, coffee, and delicious lunch options. A must-visit for a relaxed start to the day.`,price:`$$`},{id:2,name:`McMenamins Sand Trap Bar & Grill`,cuisine:`Pub Fare`,description:`Located at the golf course, serving classic Northwest pub fare, ales, and wines. The patio offers great views of golfers finishing their rounds.`,price:`$$`},{id:3,name:`Prep Kitchen Gearhart`,cuisine:`Northwest / American`,description:`A local favorite offering fresh, seasonal dishes and excellent cocktails. Known for its cozy atmosphere and high-quality ingredients.`,price:`$$$`},{id:4,name:`Good Times`,cuisine:`Ice Cream & Snacks`,description:`A delightful spot for a sweet treat after a day at the beach. Serving ice cream and snacks in a friendly, nostalgic setting.`,price:`$`},{id:5,name:`Fultano's Pizza`,cuisine:`Pizza & Italian`,description:`A reliable coastal chain offering hot pizzas, salads, and family-friendly dining. Perfect for takeout to enjoy back at your rental or on the beach.`,price:`$$`},{id:6,name:`Nearby Dining`,cuisine:`Various`,description:`For more extensive dining options, including seafood fine dining and international cuisine, nearby Seaside and Astoria are just a short drive away.`,price:`$-$$$$`}],Lge=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),Rge=({attractions:e})=>!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Explore the Charm`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Gearhart`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(Lge,{attraction:e,index:t},t))})]})}),zge=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},Bge=({trails:e})=>!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`From peaceful dune walks to challenging nearby mountain climbs, Gearhart is a gateway to diverse coastal trails.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(zge,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})}),Vge=({hotels:e})=>{let t=`Gearhart`,n=[`Nearby Seaside Options`,`Gearhart by the Sea`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},p8=`Gearhart`,Hge=K(p8),m8=({restaurant:e})=>{let t=Sf(p8,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Hge,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.cuisine&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md flex-shrink-0`,children:e.cuisine})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed`,children:e?.description||`No description available.`}),e?.price&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Price Range`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.price})]})]})},h8=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),Uge=({restaurants:e})=>{if(!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,2),n=e.slice(2,4),r=e.slice(4);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Gearhart`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Enjoy intimate cafes, historic pub fare, and delicious local treats in a relaxed, crowd-free atmosphere.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block`,children:`Local Favorites`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(m8,{restaurant:e},t))})]}),(0,B.jsx)(h8,{src:`https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=800&q=80`,alt:`Cozy cafe dining`,caption:`Charming local spots`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(h8,{src:`https://images.unsplash.com/photo-1514933651103-005eec06c04b?auto=format&fit=crop&w=800&q=80`,alt:`Pub food and drinks`,caption:`Relaxed coastal dining`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block ml-auto`,children:`Casual & Sweet`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(m8,{restaurant:e},t))})]})]}),r.length>0&&(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 mb-8 text-center`,children:`More Delicious Options`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-3 gap-6`,children:r.map((e,t)=>(0,B.jsx)(m8,{restaurant:e},t))})]})]})})},Wge=()=>{(0,y.useEffect)(()=>{console.log(`GearheartPage mounted`)},[]);let e=Y.gearhart,t=If(`Gearhart`),n=Lf(`Gearhart`),r=tj.gearhart;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n}),(0,B.jsx)(`script`,{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`TouristDestination`,name:`Gearhart`,description:n,touristType:[`GolfCourse`,`Beach`],geo:{"@type":`GeoCoordinates`,latitude:46.027,longitude:-123.9189}})})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden`,children:[(0,B.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Gearhart, Oregon Coast`,className:`w-full h-full object-cover`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-black/30 to-black/70`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-center text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Gearhart`}),(0,B.jsx)(`h1`,{className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight`,children:`Gearhart`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 mb-12`,children:[(0,B.jsx)(`div`,{className:`lg:col-span-2`,children:(0,B.jsx)(r6,{townName:`Gearhart`,initialDescription:Nge},`Gearhart-About`)}),(0,B.jsx)(`div`,{className:`lg:col-span-1`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||46.027,lon:e?.geo?.lng||-123.9189,townName:`Gearhart`})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Gearhart`,townSlug:`gearhart`,lat:e?.geo?.lat||46.027,lon:e?.geo?.lng||-123.9189})})]}),(0,B.jsx)(Gj,{townName:`Gearhart`,featuredImage:r,title:`Gearhart in Photos`}),(0,B.jsx)(Hj,{attractions:f8,townName:`Gearhart`}),(0,B.jsx)(Rge,{attractions:f8}),(0,B.jsx)(Bge,{trails:Pge}),(0,B.jsx)(Vge,{hotels:Fge}),(0,B.jsx)(Uge,{restaurants:Ige})]}),(0,B.jsx)(Ux,{})]})},Gge=`Escape to Gleneden Beach, a sophisticated coastal retreat nestled between Lincoln City and Depoe Bay. Known for its pounding surf, dramatic sandstone bluffs, and the world-class Salishan Coastal Lodge, this community offers a more refined and quiet experience than its bustling neighbors. It is a place where luxury meets the raw beauty of the Oregon Coast.

The centerpiece of the area is the Salishan spit and Siletz Bay, offering a unique ecosystem where river waters mix with the Pacific. Visitors can explore the Salishan Marketplace for artisan shopping, enjoy a round of golf on the legendary Peter Jacobsen-designed course, or simply walk miles of uncrowded shoreline where ancient driftwood piles up against the cliffs. The sand here is coarser and the waves steeper, making for spectacular storm watching and seal spotting.

Whether you are indulging in a spa treatment, hiking through old-growth spruce forests to reach the bay, or enjoying a meal at the renowned Side Door Cafe, Gleneden Beach provides a perfect balance of relaxation and nature. It is an ideal destination for couples seeking a romantic getaway or anyone looking to recharge in style by the sea.`,g8=[{name:`Salishan Golf Links`,description:`A legendary 18-hole course originally designed by Peter Jacobsen. It winds through rugged coastal pines and along the Siletz Bay, offering challenging play with stunning scenery at every hole.`,details:`Open to the public. Pro shop and driving range available.`,address:`7760 US-101, Gleneden Beach, OR`},{name:`Gleneden Beach State Recreation Site`,description:`The primary public access to the beach. A beautiful spot for a picnic or beach walk, known for its soft sand, large driftwood logs, and the opportunity to spot whales just offshore.`,details:`Free parking, restrooms, and picnic tables.`,address:`US-101, Gleneden Beach, OR`},{name:`Fishing Rock State Recreation Site`,description:`A hidden gem located just north of the main town. A short trail leads to a dramatic headland offering panoramic views of the ocean and a perfect vantage point for whale watching.`,details:`Day-use only. Great for photography.`,address:`Fishing Rock St, Gleneden Beach, OR`},{name:`Salishan Marketplace`,description:`An upscale, open-air shopping center featuring art galleries, a candy shop, coffee house, and boutiques. A perfect place to spend a rainy afternoon browsing local artisan goods.`,details:`Located across Hwy 101 from the lodge.`,address:`7755 US-101, Gleneden Beach, OR`},{name:`Alder House Glass Blowing`,description:`One of the oldest glass blowing studios in Oregon. Visit during the summer season to watch artists shape molten glass into incredible vases and floats, set in a rustic wooded location.`,details:`Seasonal hours (check ahead).`,address:`611 Immonen Rd, Gleneden Beach, OR`},{name:`Eden Hall`,description:`A historic community hall that hosts concerts, weddings, and local events. It stands as a testament to the tight-knit community spirit of Gleneden Beach.`,details:`Check local listings for events.`,address:`6675 Gleneden Beach Loop, Gleneden Beach, OR`},{name:`Siletz Bay National Wildlife Refuge`,description:`Located at the south end of Gleneden Beach, this refuge protects salt marsh, brackish marsh, and mudflats. It's a prime spot for birdwatching, kayaking, and seeing the 'ghost forest' pilings.`,details:`Best viewed by kayak or from Hwy 101 pullouts.`,address:`Siletz Bay, Gleneden Beach, OR`}],Kge=[{name:`Salishan Nature Trails`,distance:`2.5 miles loop`,difficulty:`Easy`,elevation:`Flat`,description:`A private but publicly accessible network of trails winding through the Salishan spit. Walk through dense coastal forests and along the bayfront to reach a secluded stretch of beach.`},{name:`Fishing Rock Trail`,distance:`0.5 miles round trip`,difficulty:`Easy`,elevation:`50 ft gain`,description:`A short, rewarding walk through salal tunnels to a rocky bluff. The endpoint offers dizzying views of the crashing waves below and is a top spot for sunset.`},{name:`Gleneden Beach Walk`,distance:`Varies (up to 4 miles)`,difficulty:`Moderate`,elevation:`Flat (Sand)`,description:`Walk the shoreline from the state recreation site. The beach here is steeper with coarser sand than Lincoln City, offering a more rugged workout and excellent agate hunting.`},{name:`Fogarty Creek Trail`,distance:`1 mile loop`,difficulty:`Easy`,elevation:`Flat`,description:`Located just north of town, this trail follows a creek through a wind-protected canyon under spruce trees, emerging at a sheltered cove perfect for rock hounding.`},{name:`Cedar Creek Trail`,distance:`1.5 miles round trip`,difficulty:`Easy`,elevation:`100 ft gain`,description:`A quiet forest walk located near the local community center. It offers a peaceful escape into the second-growth timber and fern-filled gullies typical of the central coast.`}],qge=[{name:`Salishan Coastal Lodge`,category:`Luxury Resort`,description:`The crown jewel of Gleneden Beach. This eco-friendly resort features rustic-luxe rooms with fireplaces, a world-class spa, tennis center, golf course, and multiple dining options nestled in the forest.`,amenities:`Spa, golf course, aerial park, indoor pool, pet-friendly.`},{name:`WorldMark Gleneden`,category:`Resort/Condos`,description:`Perched on a cliff overlooking the ocean, offering spacious condo-style units with full kitchens. Features a large outdoor pool and direct beach access via a steep staircase.`,amenities:`Outdoor pool, hot tub, recreation center, kid-friendly.`},{name:`Cavalier Beachfront Condominiums`,category:`Vacation Rentals`,description:`Located right on the oceanfront, these privately owned condos offer spectacular views and easy beach access. A great option for families wanting a home-away-from-home experience.`,amenities:`Full kitchens, ocean views, indoor pool, recreation room.`},{name:`Vacation Rentals`,category:`Private Rentals`,description:`Gleneden Beach has a wide selection of high-end vacation rental homes, from beachfront estates to cozy forest cabins, managed by local agencies like Meredith Lodging.`,amenities:`Varies by property; many feature hot tubs and ocean decks.`}],Jge=[{name:`The Attic Lounge`,category:`Upscale Lounge`,description:`Located at Salishan Lodge, offering sweeping views of the golf course and bay. Known for craft cocktails, gourmet wood-fired pizza, and a sophisticated rustic vibe.`,features:`Views, craft cocktails, live music weekends.`},{name:`Side Door Cafe`,category:`Fine Dining`,description:`A hidden gem located in the Eden Hall building. Famous for its locally sourced menu, fresh seafood, and intimate atmosphere. Reservations are highly recommended.`,features:`Farm-to-table, extensive wine list, romantic.`},{name:`Beachcrest Brewing`,category:`Brewery/Pub`,description:`Located in the Salishan Marketplace, this brewery offers small-batch craft beers and wood-fired pizzas. It features a large deck with ocean peeks and frequent live music.`,features:`Craft beer, wood-fired pizza, live music.`},{name:`Salishack Tavern`,category:`Casual Tavern`,description:`A relaxed, local favorite for hearty comfort food and a great beer selection. Known for its friendly atmosphere and innovative takes on tavern classics.`,features:`Outdoor seating, local taps, comfort food.`},{name:`Hook & Slice`,category:`Casual`,description:`Located at the golf clubhouse, offering casual fare like burgers and salads with a view of the greens. Open to the public for lunch and early dinner.`,features:`Golf course views, patio seating, lunch.`},{name:`Provisions Market`,category:`Cafe/Breakfast`,description:`The perfect spot for a morning latte or a healthy lunch. Located in the Salishan Marketplace, offering gourmet sandwiches, pastries, and local goods.`,features:`Gourmet coffee, outdoor seating, grab-and-go.`},{name:`Depoe Baykery`,category:`Bakery`,description:`A beloved local bakery with a location in the Marketplace. Famous for their donuts, fresh breads, and sweet treats to start your morning right.`,features:`Fresh donuts, artisan bread, coffee.`}],_8=`Gleneden Beach`,Yge=K(_8),Xge=({attraction:e,index:t})=>{let n=Ef(_8,e?.name);return(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name}),n&&(0,B.jsx)(X,{objectId:n.object_id,title:e.name,sourcePage:Yge,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`})]}),(0,B.jsx)(`div`,{className:`bg-blue-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-blue-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-blue-700 bg-blue-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})})},Zge=({attractions:e})=>!e||e.length===0?null:(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-blue-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-blue-600 font-bold tracking-wider uppercase text-sm`,children:`Discover Gleneden`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Highlights & Hidden Gems`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-blue-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6`,children:e.map((e,t)=>(0,B.jsx)(Xge,{attraction:e,index:t},t))})]})}),Qge=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Easy),children:e})},$ge=({trails:e})=>!e||e.length===0?null:(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Nature Trails & Beach Walks`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Explore the unique ecosystems of Gleneden Beach, from the manicured paths of Salishan to the rugged sandstone bluffs of Fishing Rock.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(Qge,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})}),e_e=({hotels:e})=>{let t=`Gleneden Beach`,n=[`Vacation Rentals`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},v8=`Gleneden Beach`,t_e=K(v8),y8=({restaurant:e})=>{let t=Sf(v8,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:t_e,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]})},b8=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),n_e=({restaurants:e})=>{if((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`RestaurantsSection: No restaurant data provided`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,2),n=e.slice(2,5),r=e.slice(5,7);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Gleneden Beach`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`From romantic dinners in the forest to casual bites at the golf course, discover the flavors of this coastal enclave.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block`,children:`Fine Dining & Lounges`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(y8,{restaurant:e},t))})]}),(0,B.jsx)(b8,{src:`https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=800&q=80`,alt:`Upscale dining atmosphere`,caption:`Elegant dining with coastal ambiance`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(b8,{src:`https://images.unsplash.com/photo-1575444758702-4a6b9222336e?auto=format&fit=crop&w=800&q=80`,alt:`Craft beer and pizza`,caption:`Local brews and wood-fired favorites`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block ml-auto`,children:`Brews & Casual Eats`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(y8,{restaurant:e},t))})]})]}),(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 mb-8 text-center`,children:`Marketplace Treats`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 gap-6 max-w-4xl mx-auto`,children:r.map((e,t)=>(0,B.jsx)(y8,{restaurant:e},t))}),(0,B.jsx)(`div`,{className:`mt-8 text-center`,children:(0,B.jsx)(`img`,{src:`https://images.unsplash.com/photo-1509440159596-0249088772ff?auto=format&fit=crop&w=1200&h=300&q=80`,alt:`Bakery bread and coffee`,className:`w-full h-48 object-cover rounded-xl opacity-90 shadow-md`})})]})]})})},r_e=()=>{(0,y.useEffect)(()=>{console.log(`GlenedenBeachPage mounted`)},[]);let e=`Gleneden Beach`,t=If(e),n=Lf(e),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/198018a5878ad5fcf6cafddb42efb27d.webp`,i={name:e,description:n,image:r,geo:{lat:44.8879,lng:-124.0326},url:`https://oregoncoastal.com/town/gleneden-beach`};return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsx)(Zx,{...i}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Gleneden Beach coastline`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Gleneden Beach`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-2`,children:`Gleneden Beach`}),(0,B.jsx)(q.p,{initial:{opacity:0},animate:{opacity:1},transition:{delay:.3,duration:.8},className:`text-xl text-white/90 font-light tracking-wide drop-shadow-md mb-4`,children:`Sophisticated Coastal Retreat`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-blue-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Gleneden Beach Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:Gge}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Located on the beautiful Oregon Coast, Gleneden Beach offers sophisticated lodging and rugged beaches.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:i.geo.lat,lon:i.geo.lng,townName:`Gleneden Beach`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Gleneden Beach`,townSlug:`gleneden-beach`,lat:i.geo.lat,lon:i.geo.lng})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Gleneden Beach`,featuredImage:r,title:`Gleneden Beach in Photos`})}),(0,B.jsx)(Hj,{attractions:g8,townName:`Gleneden Beach`}),(0,B.jsx)(Zge,{attractions:g8}),(0,B.jsx)($ge,{trails:Kge}),(0,B.jsx)(e_e,{hotels:qge}),(0,B.jsx)(n_e,{restaurants:Jge})]}),(0,B.jsx)(Ux,{})]})},i_e=`
  <p>Gold Beach, Oregon, is where the wild Rogue River meets the Pacific Ocean. Known for its rugged beauty and endless outdoor adventure, this coastal gem offers a unique blend of river and ocean experiences that define the South Coast spirit.</p>
  <p>From the thrilling jet boat tours that sprint up the Rogue to the peaceful serenity of the surrounding Siskiyou National Forest, Gold Beach is a sanctuary for nature lovers. Visitors come here to escape the crowds, explore pristine beaches, and witness some of the most dramatic coastline in the Pacific Northwest.</p>
`,x8=[{id:`rogue-river-jet-boats`,name:`Rogue River Jet Boat Tours`,description:`Experience the thrill of racing up the legendary Rogue River. These tours offer a mix of high-speed excitement, wildlife viewing, and historical storytelling through the wild and scenic sections of the river.`,image:`https://images.unsplash.com/photo-1544551763-46a013bb70d5`,category:`Adventure`},{id:`cape-sebastian`,name:`Cape Sebastian State Scenic Corridor`,description:`Rising 700 feet above the ocean, this cape offers some of the most spectacular panoramic views on the Oregon Coast. It's a prime spot for whale watching during migration seasons.`,image:`https://images.unsplash.com/photo-1500530855697-b586d89ba3ee`,category:`Nature`},{id:`kissing-rock`,name:`Kissing Rock`,description:`A famous roadside rock formation located just south of town. This unique geological feature is a popular photo spot and provides easy access to a beautiful stretch of sandy beach.`,image:`https://images.unsplash.com/photo-1505245208761-ba47250f367c`,category:`Landmark`}],a_e=[{id:`cape-sebastian-trail`,name:`Cape Sebastian Trail`,distance:`1.5 miles`,difficulty:`Moderate`,description:`A scenic trail that winds through spruce forests to the edge of the cliffs, offering breathtaking views of the coastline looking south toward California.`},{id:`myers-creek-beach`,name:`Myers Creek Beach Walk`,distance:`2.0 miles`,difficulty:`Easy`,description:`A flat, accessible walk along one of the most photographed beaches in Oregon, featuring dramatic sea stacks and tide pools.`}],o_e=[{id:`tu-tu-tun-lodge`,name:`Tu Tu' Tun Lodge`,description:`A world-class resort nestled on the banks of the Rogue River, offering luxury accommodations and fine dining in a tranquil forest setting.`,image:`https://images.unsplash.com/photo-1566073771259-6a8506099945`},{id:`gold-beach-inn`,name:`Gold Beach Inn`,description:`Oceanfront lodging with private beach access and comfortable rooms, perfect for families exploring the coast.`,image:`https://images.unsplash.com/photo-1520250497591-112f2f40a3f4`}],s_e=[{id:`barnacle-bills`,name:`Barnacle Bill's Seafood Market`,description:`The place for fresh-caught local seafood, famous for their fish and chips and smoked salmon.`,image:`https://images.unsplash.com/photo-1551730459-92db2a308d6a`},{id:`spinner-s`,name:`Spinner's Seafood, Steak & Chop House`,description:`Upscale dining featuring the best of local ingredients, from fresh Pacific catches to premium steaks.`,image:`https://images.unsplash.com/photo-1533920379810-6bedac961555`}],S8=`Gold Beach`,c_e=K(S8),l_e=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(()=>{let t=Ef(S8,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:c_e,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),u_e=({attractions:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`AttractionsSection: No attractions data provided`)},[e]),!e||e.length===0?null:(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Experience the Adventure`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Gold Beach`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(l_e,{attraction:e,index:t},t))})]})})),C8=`Gold Beach`,d_e=K(C8),f_e=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`,"Moderate/Strenuous":`bg-orange-100 text-orange-800 border-orange-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},p_e=({trails:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`HikingTrailsSection: No trails data provided`)},[e]),!e||e.length===0?null:(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Discover the rugged beauty of the Southern Coast. From ancient old-growth forests to windswept dunes and dramatic headlands, Gold Beach offers diverse trails for every explorer.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(()=>{let t=Tf(C8,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:d_e,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(f_e,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),m_e=({hotels:e})=>{let t=`Gold Beach`;return(0,B.jsx)(a6,{townName:t,fallbackHotels:e,affiliateHotels:jC[t]})},h_e=e=>e?.toString().toLowerCase().replace(/\s+/g,`-`).replace(/[^\w-]/g,``)||``,w8=({restaurant:e})=>(0,B.jsxs)(`div`,{id:h_e(e?.name),className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md scroll-mt-24 h-full flex flex-col`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed flex-grow`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50 mt-auto`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]}),T8=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),g_e=({restaurants:e})=>{if((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`RestaurantsSection: No restaurant data provided`):console.log(`RestaurantsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,3),n=e.slice(3,5),r=e.slice(5,7),i=e.slice(7);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Gold Beach`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`From fresh river salmon and ocean seafood to hearty logger-style breakfasts, the flavors of Gold Beach are as bold as its scenery.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block`,children:`River & Ocean Dining`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(w8,{restaurant:e},t))})]}),(0,B.jsx)(T8,{src:`https://images.unsplash.com/photo-1450494612745-731d0fd7e172?auto=format&fit=crop&w=800&q=80`,alt:`Fine dining seafood`,caption:`Exquisite seafood with river views`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(T8,{src:`https://images.unsplash.com/photo-1514933651103-005eec06c04b?auto=format&fit=crop&w=800&q=80`,alt:`Pub and grill dining`,caption:`Hearty food and lively atmosphere`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block ml-auto`,children:`Pubs & Grills`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(w8,{restaurant:e},t))})]})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-3 gap-6 mb-16`,children:[(0,B.jsx)(`div`,{className:`md:col-span-3 text-center mb-4`,children:(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 inline-block`,children:`Local Favorites`})}),r.map((e,t)=>(0,B.jsx)(w8,{restaurant:e},t)),(0,B.jsx)(`div`,{className:`h-full min-h-[200px] rounded-xl overflow-hidden shadow-md`,children:(0,B.jsx)(`img`,{src:`https://images.unsplash.com/photo-1677503594487-19b2e78d5a01?auto=format&fit=crop&w=600&q=80`,alt:`Casual dining plate`,className:`w-full h-full object-cover`})})]}),(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 mb-8 text-center`,children:`Cafes, Breakfasts & Light Bites`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-3 gap-6`,children:i.map((e,t)=>(0,B.jsx)(w8,{restaurant:e},t))}),(0,B.jsx)(`div`,{className:`mt-8 text-center`,children:(0,B.jsx)(`img`,{src:`https://images.unsplash.com/photo-1495474472200-c8f94e1d743a?auto=format&fit=crop&w=1200&h=300&q=80`,alt:`Breakfast and coffee`,className:`w-full h-48 object-cover rounded-xl opacity-90`})})]})]})})},__e=[{name:`Coquille River Falls`,difficulty:`Easy`,distance:`0.5 miles`,accessibility:3,description:`A powerful waterfall on the East Fork of the Coquille River, dropping 40 feet through a narrow canyon. Surrounded by old-growth forest in the remote Siskiyou Mountains.`,notes:`Long drive on gravel forest roads - high-clearance vehicle recommended. Remote location with no services. Best in spring/early summer.`}],v_e=()=>{(0,y.useEffect)(()=>{console.log(`GoldBeachPage mounted`)},[]);let e=Y[`gold-beach`],t=If(`Gold Beach`),n=Lf(`Gold Beach`),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/c877cc6b256faf5d4fc943c9cf11f331.webp`,i=[`https://images.unsplash.com/photo-1698304678525-3eee8e977140`,`https://images.unsplash.com/photo-1591537931438-1969ee85e381`,`https://images.unsplash.com/photo-1608913017558-99bfda609c02`,`https://images.unsplash.com/photo-1595514444795-5196f080a5f2`,`https://images.unsplash.com/photo-1570696398032-f3a7b1da8c09`];return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Zx,{name:`Gold Beach, Oregon`,description:n,url:`https://oregoncoastal.com/gold-beach`,geo:{lat:42.4091,lng:-124.4187},image:r}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Gold Beach coastline and Rogue River`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Gold Beach`,region:`South Coast`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Gold Beach`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-lime-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Gold Beach Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:i_e}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Where the mighty Rogue River meets the Pacific Ocean, offering endless outdoor adventures.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||42.4073,lon:e?.geo?.lng||-124.4218,townName:`Gold Beach`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Gold Beach`,townSlug:`gold-beach`,lat:e?.geo?.lat||42.4073,lon:e?.geo?.lng||-124.4218})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Gold Beach`,featuredImage:i[0],images:i,title:`Gold Beach in Photos`})}),(0,B.jsx)(Hj,{attractions:x8,townName:`Gold Beach`}),(0,B.jsx)(u_e,{attractions:x8}),(0,B.jsx)(p_e,{trails:a_e}),(0,B.jsx)(R6,{townName:`Gold Beach`,waterfalls:__e,headerTitle:`Nearby Waterfalls`,headerSubtitle:`Gold Beach and the wild southern coast sit at the edge of some of Oregon's most remote waterfall country, deep in the Siskiyou National Forest.`,ctaText:`Basing yourself in Gold Beach? Gold Beach hotels put you close to the Rogue River, Coquille River Falls, and some of the wildest coastline in the state.`}),(0,B.jsx)(m_e,{hotels:o_e}),(0,B.jsx)(g_e,{restaurants:s_e})]}),(0,B.jsx)(Ux,{})]})},y_e=`Located just south of Brookings across the Chetco River, Harbor is the industrious and vibrant heart of the Southern Oregon Coast's maritime activity. Often blending seamlessly with its northern neighbor, Harbor distinguishes itself as the home of the Port of Brookings Harbor—one of the busiest recreational ports on the West Coast. This bustling waterfront district serves as the gateway to the Pacific for fishermen, crabbers, and whale watchers alike.

Harbor enjoys the same "Banana Belt" climate as Brookings, renowned for its mild, sunny weather and year-round flowers. It is the center of the region's famous Easter lily industry, where surrounding fields burst into white blooms in mid-summer, creating a stunning agricultural tapestry against the backdrop of the Coast Range. Visitors here are drawn to the unpretentious charm, the smell of salt air and fresh seafood, and the rhythmic sounds of bell buoys ringing in the channel.

From the driftwood-scattered sands of Sporthaven Beach to the state-of-the-art facilities at Crissey Field State Recreation Site near the California border, Harbor offers diverse outdoor experiences. Whether you're launching a boat for a deep-sea adventure, hunting for agates, or simply enjoying the freshest fish and chips on the coast while watching sea lions play in the marina, Harbor provides an authentic, working-class coastal experience that welcomes travelers with open arms.`,E8=[{name:`Port of Brookings Harbor`,description:`The heartbeat of the community and one of the safest bars on the West Coast. It's a hive of activity with commercial fishing boats unloading their catch, sport fishing charters departing daily, and a boardwalk lined with shops and restaurants.`,details:`Great for crabbing off the public pier.`},{name:`Sporthaven Beach`,description:`A broad, sandy beach protected by the north jetty of the Chetco River. It's a favorite spot for surfers, campers, and those looking to watch fishing boats navigate the river bar. The sunsets here are spectacular.`,details:`RV parking and camping available.`},{name:`Crissey Field State Recreation Site`,description:`The southernmost Oregon state park, featuring a modern welcome center and trails leading to a pristine beach. It's an excellent spot for birdwatching in the wetlands and finding driftwood along the shore.`,details:`Located right at the California border.`},{name:`McVay Rock State Recreation Site`,description:`A hidden gem for rockhounds and clam diggers. This park features a rocky shoreline perfect for surf fishing and a challenging disc golf course with ocean views.`,details:`Dog-friendly and less crowded.`},{name:`Pelican Bay Arts Association`,description:`Located at the Manley Art Center, this organization showcases the vibrant local art scene. Harbor and Brookings are home to many artists inspired by the stunning coastal light and landscapes.`,details:`Gallery viewing and workshops available.`},{name:`Chetco River Estuary`,description:`Where fresh water meets the sea, this estuary is teeming with wildlife. Kayakers can paddle upriver to see harbor seals, herons, and playful river otters in calm emerald waters.`,details:`Launch points available at the port.`},{name:`Winchester Hill`,description:`A scenic viewpoint offering panoramic vistas of the harbor, the ocean, and the lily fields. It's a perfect spot to get a lay of the land and appreciate the unique geography of the Banana Belt.`,details:`Best views at sunset.`},{name:`Lily Bulb Farms`,description:`Harbor is the 'Easter Lily Capital of the World.' Drive along the back roads in July to see acres of fields in full white bloom, a sight found almost nowhere else on earth.`,details:`Please respect private property and view from the road.`},{name:`South Jetty`,description:`Walk out along the massive rocks of the south jetty to feel the power of the ocean. It's a prime spot for watching winter storms (from a safe distance) and seeing whales during migration.`,details:`Wear sturdy shoes for rock hopping.`}],b_e=[{name:`Crissey Field Trail`,distance:`1.0 mile loop`,difficulty:`Easy`,description:`A gentle, accessible boardwalk and gravel trail that winds through wetlands and dunes to the beach. Interpretive signs explain the local ecology and history.`},{name:`Sporthaven Beach Walk`,distance:`2.0 miles round trip`,difficulty:`Easy`,description:`A flat, sandy stroll from the jetty north towards Zych Creek. Perfect for barefoot walking, finding sand dollars, and letting dogs run in the surf.`},{name:`Chetco River Road Scenic Drive/Walk`,distance:`Varies`,difficulty:`Easy`,description:`While mostly a scenic drive, there are numerous pullouts along the river offering short trails down to gravel bars where you can swim, fish, or skip stones in crystal clear water.`},{name:`McVay Rock Shoreline`,distance:`0.5 miles`,difficulty:`Moderate`,description:`A short but sometimes scramble-y path down to the rocky beach. Once there, you can explore tide pools and rock formations for miles at low tide.`},{name:`Winchester Trail (Nearby)`,distance:`1.5 miles loop`,difficulty:`Moderate`,description:`Located just inland, this trail offers a hike through lush forest with glimpses of the ocean. It's a quiet escape from the coastal wind.`}],x_e=[{name:`Brookings Inn Resort`,category:`Mid-Range`,priceTier:`$$`,location:`Brookings, OR`,description:`Comfortable rooms and reliable service offering a solid base camp for exploring the nearby harbor and surrounding coast.`,amenities:`Free WiFi, Free Parking, Comfortable Rooms`,rating:`4.0/5`,image:`https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=800&q=80`},{name:`Harbor Inn`,category:`Mid-Range`,priceTier:`$$`,location:`Brookings, OR`,description:`Conveniently situated inn with excellent access to the local marinas and waterfront dining options.`,amenities:`Free WiFi, Free Parking, Comfortable Rooms`,rating:`4.0/5`,image:`https://images.unsplash.com/photo-1582719508461-905c673771fd?auto=format&fit=crop&w=800&q=80`},{name:`Wild Rivers Motor Lodge`,category:`BUDGET/RETRO`,priceTier:`$$`,location:`Brookings, OR`,description:`A classic retro motor lodge that’s been thoughtfully updated with contemporary features while retaining its charm.`,amenities:`Free Wi-Fi, updated rooms, central location`,rating:`4.0/5`,image:`https://images.unsplash.com/photo-1590523277543-a94d2e4eb00b?auto=format&fit=crop&w=800&q=80`},{name:`Pacific Sunset Inn`,category:`BUDGET`,priceTier:`$$`,location:`Brookings, OR`,description:`An economical and straightforward accommodation option perfect for visitors focused on outdoor adventures.`,amenities:`Free parking, coffee, budget-friendly`,rating:`4.0/5`,image:`https://images.unsplash.com/photo-1520250497591-112f2f40a3f4?auto=format&fit=crop&w=800&q=80`},{name:`AmeriCoast Inn`,category:`Mid-Range`,priceTier:`$$`,location:`Brookings, OR`,description:`Providing comfortable, clean lodging with easy access to the region's best beaches and trails.`,amenities:`Free WiFi, Free Parking, Comfortable Rooms`,rating:`4.0/5`,image:`https://images.unsplash.com/photo-1611892440504-42a792e24d32?auto=format&fit=crop&w=800&q=80`},{name:`Westward Inn`,category:`BUDGET`,priceTier:`$$`,location:`Brookings, OR`,description:`A well-priced stay that welcomes pets and offers standard amenities to start your day right.`,amenities:`Free breakfast, pet-friendly rooms, cable TV`,rating:`4.0/5`,image:`https://images.unsplash.com/photo-1520250497591-112f2f40a3f4?auto=format&fit=crop&w=800&q=80`},{name:`Ocean Suites Motel`,category:`MID-RANGE`,priceTier:`$$`,location:`Brookings, OR`,description:`Perfect for longer stays, these suites offer kitchenettes and generous space just moments from the harbor.`,amenities:`Kitchenettes, spacious rooms, near harbor`,rating:`4.0/5`,image:`https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=800&q=80`},{name:`Blue Coast Inn and Suites`,category:`BUDGET/MID-RANGE`,priceTier:`$$`,location:`Brookings, OR`,description:`Offering a fresh, modern aesthetic and convenient practicalities for coastal travelers.`,amenities:`Modern decor, free Wi-Fi, laundry facilities`,rating:`4.0/5`,image:`https://images.unsplash.com/photo-1582719508461-905c673771fd?auto=format&fit=crop&w=800&q=80`},{name:`Beachfront Inn`,category:`MID-RANGE`,priceTier:`$$`,location:`Brookings, OR`,description:`Boasting oceanfront access and a heated pool, this inn is an idyllic retreat for beach lovers.`,amenities:`Oceanfront, heated pool, pet-friendly`,rating:`4.0/5`,image:`https://images.unsplash.com/photo-1590523277543-a94d2e4eb00b?auto=format&fit=crop&w=800&q=80`}],S_e=[{name:`The Hungry Clam`,category:`Seafood/Casual`,description:`Located right at the port, this is the quintessential spot for fish and chips. Watch the boats unload while enjoying chowder.`,features:`Harbor views, fresh seafood, outdoor seating.`,image:`https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=800&q=80`},{name:`Zola's Pizzeria`,category:`Pizza/Italian`,description:`A lively spot with quirky decor and fantastic wood-fired pizzas. Known for live music and a fun, energetic atmosphere.`,features:`Wood-fired pizza, live music, river views.`,image:`https://images.unsplash.com/photo-1579751626657-72bc17010498?auto=format&fit=crop&w=800&q=80`},{name:`Catalyst Seafood`,category:`Seafood/Lounge`,description:`A sustainable seafood restaurant that harvests its own catch. Known for fresh poke bowls, fish tacos, and a great happy hour.`,features:`Boat-to-table, sustainable, harbor views.`,image:`https://images.unsplash.com/photo-1534422298391-e4f8c172dddb?auto=format&fit=crop&w=800&q=80`},{name:`Sporthaven House`,category:`American/Bar`,description:`A historic local bar and grill that's been serving the community for decades. Great burgers and a friendly, local vibe.`,features:`Historic building, full bar, comfort food.`,image:`https://images.unsplash.com/photo-1514933651103-005eec06c04b?auto=format&fit=crop&w=800&q=80`},{name:`Fat Cat Pizza`,category:`Pizza/Family`,description:`A local favorite for thick-crust pizza and a massive salad bar. It's the perfect place to take the whole family after a day at the beach.`,features:`Salad bar, arcade games, family-friendly.`,image:`https://images.unsplash.com/photo-1513104890138-7c749659a591?auto=format&fit=crop&w=800&q=80`},{name:`First Rise Baking Co.`,category:`Bakery/Cafe`,description:`A delightful bakery offering artisan breads, pastries, and strong coffee. The perfect way to start a morning in Harbor.`,features:`Fresh baked goods, espresso, morning treats.`,image:`https://images.unsplash.com/photo-1509440159596-0249088772ff?auto=format&fit=crop&w=800&q=80`},{name:`Railroad Street Market`,category:`Deli/Sandwiches`,description:`Though historically in Brookings, it serves the Harbor area with some of the best giant sandwiches on the coast. Great for picnic supplies.`,features:`Huge sandwiches, deli, local produce.`,image:`https://images.unsplash.com/photo-1528735602780-2552fd46c7af?auto=format&fit=crop&w=800&q=80`}],C_e=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),w_e=({attractions:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`AttractionsSection: No attractions data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Explore the Port`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Harbor`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(C_e,{attraction:e,index:t},t))})]})})),T_e=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},E_e=({trails:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`HikingTrailsSection: No trails data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`From riverside strolls to shoreline scrambles, Harbor offers accessible trails that highlight the region's diverse coastal and river ecology.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(T_e,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),D_e=({hotels:e})=>{let t=`Brookings`;return(0,B.jsx)(a6,{townName:t,fallbackHotels:e,affiliateHotels:jC[t],sourcePageOverride:`/town/harbor`})},D8=`Harbor`,O_e=K(D8),O8=({restaurant:e})=>(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md h-full flex flex-col`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),(()=>{let t=Sf(D8,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:O_e,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`}):null})()]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed flex-grow`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50 mt-auto`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]}),k8=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),k_e=({restaurants:e})=>{if((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`RestaurantsSection: No restaurant data provided`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,3),n=e.slice(3,5),r=e.slice(5,7);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Harbor`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`From fresh-caught seafood right off the boat to cozy bakeries and lively pizzerias, Harbor serves up authentic coastal flavors.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block`,children:`Fresh Seafood`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(O8,{restaurant:e},t))})]}),(0,B.jsx)(k8,{src:`https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=800&q=80`,alt:`Fresh seafood plate`,caption:`Fresh catch of the day at the port`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(k8,{src:`https://images.unsplash.com/photo-1579751626657-72bc17010498?auto=format&fit=crop&w=800&q=80`,alt:`Pizza and drinks`,caption:`Lively evenings and good food`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block ml-auto`,children:`Pubs & Family Dining`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(O8,{restaurant:e},t))})]})]}),(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 mb-8 text-center`,children:`Bakery & Market`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-2 gap-6`,children:r.map((e,t)=>(0,B.jsx)(O8,{restaurant:e},t))})]})]})})},A_e=[{title:`Pirates of the Pacific Festival`,date:`August 7–9, 2026`},{title:`Second Saturday Art Walk`,date:`Monthly`},{title:`Azalea Festival`,date:`May 21–24, 2027`},{title:`Brookings Summer Arts Festival`,date:`July 10–11, 2027`}],j_e=()=>{(0,y.useEffect)(()=>{console.log(`HarborPage mounted`)},[]);let e=Y.harbor,t=If(`Harbor`),n=Lf(`Harbor`),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/c83af0560b4f8c977f60d521543eadef.webp`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Harbor, Oregon coastline`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Harbor`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Harbor`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-lime-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Harbor Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:y_e}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Located on the beautiful Southern Oregon Coast, Harbor offers unforgettable scenic views and coastal charm.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||42.0534,lon:e?.geo?.lng||-124.2844,townName:`Harbor`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Harbor`,townSlug:`harbor`,lat:e?.geo?.lat||42.0534,lon:e?.geo?.lng||-124.2844})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Harbor`,featuredImage:r,title:`Harbor in Photos`})}),(0,B.jsx)(Hj,{attractions:E8,townName:`Harbor`}),(0,B.jsx)(w_e,{attractions:E8}),(0,B.jsx)(E_e,{trails:b_e}),(0,B.jsx)(c6,{events:A_e}),(0,B.jsx)(D_e,{hotels:x_e}),(0,B.jsx)(k_e,{restaurants:S_e})]}),(0,B.jsx)(Ux,{})]})},M_e=`
  <p>Tucked away from the coastal winds and fog, Lakeside is a sun-drenched haven situated on the shores of the magnificent Tenmile Lakes. Known as the "Bass Capital of Oregon," this charming community offers a warmer, calmer alternative to the immediate coastline while still being just minutes from the ocean beaches and dunes.</p>
  <p>Life in Lakeside revolves around the water. North Tenmile and South Tenmile Lakes span nearly 2,000 acres, connected by a navigable canal that invites days of exploration by boat, kayak, or paddleboard. Anglers from across the region flock here for world-class bass, trout, and perch fishing, while families enjoy swimming in the sheltered coves and water skiing on the open water.</p>
  <p>Surrounded by lush forests and rolling hills, the town maintains a relaxed, vacation-town vibe year-round. Whether you're watching drag boat races, camping at the county park, or enjoying a meal overlooking the marina, Lakeside offers the perfect blend of freshwater fun and coastal proximity.</p>
`,A8=[{name:`Tenmile Lakes`,description:`The crown jewel of Lakeside. These two large, interconnected freshwater lakes offer over 42 miles of shoreline. They are famous for premier bass fishing, high-speed boating, water skiing, and peaceful sailing in the protected arms.`,details:`Public boat ramps available. Marina services nearby.`},{name:`William M. Tugman State Park`,description:`Located just north of town on Eel Lake, this park is a hidden treasure. It offers a quieter alternative to the busy coastal parks, with excellent fishing, swimming, and a lush forest setting that feels prehistoric.`,details:`Day-use area, boat ramp, and campground.`},{name:`Tenmile Lakes County Park`,description:`The hub of local recreation, featuring boat launches, swimming areas, and camping facilities right on the water. It's the perfect spot for a family picnic or launching your watercraft for a day of adventure.`,details:`RV and tent camping. Day-use fee required.`},{name:`Spinreel Dune Buggy Rentals`,description:`Located just a few miles west, Spinreel offers access to the northern end of the Oregon Dunes. Rent an ATV or take a guided tour to experience the thrill of riding on the massive sand mountains.`,details:`Guided tours and rentals available. Fun for all ages.`},{name:`Eel Lake`,description:`A stunningly clear, U-shaped lake bordering Tugman State Park. Its steep, forested banks protect it from the wind, making it ideal for kayaking, canoeing, and paddleboarding in calm waters.`,details:`5 mph speed limit ensures tranquility.`},{name:`Lakeside Drag Boat Races`,description:`An adrenaline-fueled annual event where high-speed boats race across Tenmile Lake. It draws crowds from all over the West Coast to watch the thunderous display of power and speed.`,details:`Usually held in late summer. Check local calendar.`}],N_e=[{name:`William M. Tugman Trail`,distance:`1.0 mile loop`,difficulty:`Easy`,description:`A gentle, family-friendly trail winding through a dense forest of spruce, cedar, and alder along the south end of Eel Lake. It offers peek-a-boo views of the water and is great for spotting wildlife.`},{name:`Hall Lake Trail`,distance:`0.5 miles round trip`,difficulty:`Easy`,description:`A short, scenic hike to a small, secluded dune lake. The trail climbs over a small dune ridge and drops down to the lake, which is often quiet and peaceful. A hidden gem near the dunes.`},{name:`Eel Creek Campground Trail`,distance:`2.5 miles varying`,difficulty:`Moderate`,description:`Starting from the campground, this trail leads through the transition forest and out into the open dunes. It's a fantastic way to experience the unique ecosystem where the forest fights the encroaching sand.`},{name:`Tenmile Lake Boat Access Only Trails`,distance:`Varies`,difficulty:`Moderate`,description:`For the adventurous, take a boat to the far shores of Tenmile Lakes to explore informal trails and secluded beaches that are inaccessible by car. It's a true wilderness experience.`}],P_e=[{name:`Lakeshore Lodge`,category:`Lodge/Hotel`,description:`The premier place to stay in Lakeside, offering rooms directly overlooking the lake. With an on-site restaurant and bar, it's the social hub of the town and offers fantastic sunset views.`,amenities:`Lake views, restaurant, bar, event space.`},{name:`Osprey Point RV Resort`,category:`RV Resort`,description:`A top-rated luxury RV resort located on Tenmile Lake. It features paved sites, boat moorage, a pub, and immaculate grounds. A favorite for RV travelers who want premium amenities.`,amenities:`Full hookups, boat slips, pub, laundry, WiFi.`},{name:`Tenmile Lakes County Park Campground`,category:`Camping`,description:`Located right in town on the lakefront. It offers both RV and tent sites with easy access to the boat ramps and swimming areas. A classic, affordable family camping experience.`,amenities:`Boat ramp, showers, playground, lake access.`},{name:`William M. Tugman State Park Campground`,category:`Camping/Yurts`,description:`Just north of town, this campground offers a quiet retreat in the woods near Eel Lake. The yurts are a popular option for year-round comfort.`,amenities:`Yurts, hot showers, flush toilets, trail access.`},{name:`North Lake Resort`,category:`Marina/Cabins`,description:`A historic resort and marina offering cabin rentals and boat services. It has a nostalgic, old-school fishing camp vibe that many visitors love.`,amenities:`Cabins, boat rentals, tackle shop, marina.`}],F_e=[{name:`Wulfy's Beach Bar & Grill`,category:`American/Casual`,description:`A fun, lively spot with a beachy vibe, known for its burgers, fish tacos, and outdoor seating. It's a great place to grab a cold drink after a day on the lake.`,features:`Outdoor patio, sports bar, casual atmosphere.`},{name:`The Lakeshore Lodge Restaurant`,category:`Steak/Seafood`,description:`Dining with a view. This restaurant offers a full menu of steaks, seafood, and pasta in a dining room that overlooks Tenmile Lake. The prime rib special is a local favorite.`,features:`Lake views, full bar, sunset dining.`},{name:`Osprey Point Pub & Pizza`,category:`Pizza/Pub`,description:`Located within the RV resort, this pub welcomes the public for excellent pizza, burgers, and microbrews. It has a friendly, community atmosphere.`,features:`Hand-tossed pizza, craft beer, family-friendly.`},{name:`Up the Creek Tavern`,category:`Tavern/Bar`,description:`A classic local watering hole serving up bar food favorites and cold beer. It's a no-frills spot where you can meet the locals and hear fish stories.`,features:`Pool tables, bar food, local character.`},{name:`Lakeside Market & Deli`,category:`Deli/Takeout`,description:`The go-to spot for grab-and-go lunches, fried chicken, and deli sandwiches before heading out on the boat. Convenient and tasty.`,features:`Fried chicken, deli sandwiches, picnic supplies.`}],j8=`Lakeside`,I_e=K(j8),L_e=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-blue-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e.name}),(()=>{let t=Ef(j8,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:I_e,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-blue-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-blue-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e.description}),(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-blue-700 bg-blue-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),R_e=({attractions:e})=>(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-blue-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-blue-600 font-bold tracking-wider uppercase text-sm`,children:`Explore the Lakes`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Lakeside`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-blue-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(L_e,{attraction:e,index:t},t))})]})}),M8=`Lakeside`,z_e=K(M8),B_e=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e})},V_e=({trails:e})=>(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f4f8fb]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Yo,{className:`w-8 h-8 text-emerald-600`}),`Nature Trails & Walks`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Discover peaceful paths through lush coastal forests and around tranquil lakes.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(()=>{let t=Tf(M8,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:z_e,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(B_e,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})}),H_e=({hotels:e})=>{let t=`Lakeside`,n=[`Osprey Point RV Resort`,`Tenmile Lakes County Park Campground`,`William M. Tugman State Park Campground`,`Coming Soon`,`North Lake Resort`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},N8=`Lakeside`,U_e=K(N8),W_e=({restaurant:e})=>(0,B.jsxs)(`div`,{className:`bg-white p-6 rounded-xl border border-gray-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md h-full flex flex-col`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900`,children:e.name}),(()=>{let t=Sf(N8,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:U_e,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md whitespace-nowrap ml-2`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-4 text-sm leading-relaxed flex-grow`,children:e.description}),(0,B.jsxs)(`div`,{className:`pt-3 border-t border-gray-100 mt-auto`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-gray-500 uppercase tracking-wide mb-1`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-700 font-medium`,children:e.features})]})]}),G_e=({restaurants:e})=>(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50/50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-500`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(wa,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Lakeside`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Enjoy hearty meals with a view, casual pub fare, and fresh local flavors in a relaxed setting.`})]}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-3 gap-6`,children:e.map((e,t)=>(0,B.jsx)(W_e,{restaurant:e},t))})]})}),K_e=()=>{(0,y.useEffect)(()=>{console.log(`LakesidePage mounted`)},[]);let e=Y.lakeside,t=If(`Lakeside`),n=Lf(`Lakeside`),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/e921b311af063b364aecb010b4f38a5a.webp`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Zx,{name:`Lakeside Oregon Travel`,description:n,url:`https://oregoncoastal.com/town/lakeside`,image:r}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Lakeside, Oregon - Tenmile Lakes`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Lakeside`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Lakeside`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-lime-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Lakeside Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:M_e}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Your gateway to the expansive Tenmile Lakes, perfect for fishing and boating.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||43.5785,lon:e?.geo?.lng||-124.1754,townName:`Lakeside`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Lakeside`,townSlug:`lakeside`,lat:e?.geo?.lat||43.5785,lon:e?.geo?.lng||-124.1754})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Lakeside`,featuredImage:r,title:`Lakeside in Photos`})}),(0,B.jsx)(Hj,{attractions:A8,townName:`Lakeside`}),(0,B.jsx)(R_e,{attractions:A8}),(0,B.jsx)(V_e,{trails:N_e}),(0,B.jsx)(H_e,{hotels:P_e}),(0,B.jsx)(G_e,{restaurants:F_e})]}),(0,B.jsx)(Ux,{})]})},q_e=`
  <p>Langlois (pronounced "Lang-less") is a small but mighty community on the Southern Oregon Coast that punches well above its weight in charm, culinary fame, and community spirit. Famous for its "World Famous" hot dogs and its quirky slogan "Langlois: It's Greener on the Other Side," this unincorporated hamlet sits amidst rolling green pastures, sheep ranches, and the wild winds of the Pacific.</p>
  <p>Though brief in size, Langlois is a vital stop on Highway 101. It serves as the gateway to the stunning Floras Lake and Boice Cope Park, a world-renowned destination for windsurfing and kiteboarding due to the consistent coastal breezes. The town's rich agricultural heritage is visible in the historic barns and the vivid green hills that rise sharply from the ocean plain.</p>
  <p>Visitors stop for the hot dogs but stay for the authentic rural coastal vibe. Whether you're exploring the nearby trails at Blacklock Point, shopping for local wool products, or just enjoying a moment of quiet in a town that feels like a step back to a simpler time, Langlois offers a unique and memorable pause on your journey down the coast.</p>
`,P8=[{name:`Floras Lake State Natural Area`,description:`A unique coastal lake separated from the ocean by a narrow sand spit. It's a mecca for windsurfers and kiteboarders due to the reliable afternoon winds, and offers calm waters for kayaking in the morning.`,details:`Day use fee required. renowned windsurfing spot.`},{name:`Langlois Market`,image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/57e87a2b789872b7ca172b050755891f.jpg`,description:`The heartbeat of the town. This historic market is famous for its mustard-slathered hot dogs and house-made pickles. It's a rite of passage for Highway 101 travelers to stop here for a bite.`,details:`World famous hot dogs & local goods.`},{name:`Blacklock Point`,description:`A rugged, lesser-known headland that juts into the Pacific. The hike out offers solitude, dramatic cliffs, and a historic sandstone quarry site. It's one of the most scenic spots on the entire coast.`,details:`Remote and spectacular views.`},{name:`Boice Cope County Park`,description:`Located at Floras Lake, this park offers camping and day-use access to both the lake and the ocean beach. It's the launch point for water sports and a great family picnic spot.`,details:`Camping available (first come, first served).`},{name:`Dragonfly Farm & Nursery`,description:`Just north of town, this sprawling nursery is a plant lover's paradise. They host events, sell local art, and offer an incredible selection of coastal-hardy plants in a beautiful setting.`,details:`Great for gifts and garden inspiration.`},{name:`New River Nature Center`,description:`A BLM-managed area just south of Langlois offering pristine trails along the New River, which runs parallel to the ocean. It's fantastic for birdwatching and gentle hiking.`,details:` quiet trails, interpretive center.`},{name:`Raincoast Arts`,description:`A local gallery and community hub showcasing the work of South Coast artists. From pottery to painting, it reflects the creative spirit that thrives in this rural community.`,details:`Check seasonal hours.`},{name:`Cape Blanco State Park`,description:`Located a short drive south, this park features the westernmost point in Oregon and a historic lighthouse. The winds here can be fierce, but the views are unmatched.`,details:`Historic lighthouse tours available.`}],J_e=[{name:`Blacklock Point Trail`,distance:`4.2 miles round trip`,difficulty:`Moderate`,description:`A flat but sometimes muddy trail through dense salal and forest that opens up to a breathtaking sandstone cliff overlooking the ocean. The solitude here is profound.`},{name:`Floras Lake to Blacklock Point`,distance:`9.0 miles round trip`,difficulty:`Moderate/Hard`,description:`For a longer adventure, hike south from Floras Lake along the beach and bluffs to reach the point. Timing the tides is essential for the beach sections.`},{name:`New River Loop Trail`,distance:`2.5 miles loop`,difficulty:`Easy`,description:`A gentle, family-friendly trail system meandering through dunes, shore pines, and along the river bank. Excellent for spotting waterfowl and river otters.`},{name:`Boice Cope Lake Trail`,distance:`1.0 mile`,difficulty:`Easy`,description:`A short, easy walk along the edge of Floras Lake. It's perfect for watching the kiteboarders zip across the water or enjoying a sunset stroll.`},{name:`Cape Blanco Lighthouse Trail`,distance:`0.5 miles`,difficulty:`Easy`,description:`Short walk from the parking area to the lighthouse. It can be extremely windy, but standing at the edge of the continent is worth the bluster.`},{name:`Sheep Pen Creek Trail`,distance:`2.0 miles`,difficulty:`Easy`,description:`Another trail in the New River area offering diverse scenery from wetlands to grassy dunes, perfect for a quiet nature walk away from the highway.`}],Y_e=[{name:`Floras Lake House B&B`,category:`Bed & Breakfast`,description:`The premier place to stay in Langlois. Located right on the edge of Floras Lake, it caters to windsurfers and those seeking tranquility. The rooms offer stunning water views.`,amenities:`Lakefront, windsurfing lessons, breakfast included.`},{name:`Wildspring Guest Habitat (Port Orford)`,category:`Luxury/Eco-Resort`,description:`Located just south in Port Orford, this eco-friendly resort offers luxury cabins in a forest setting with ocean views. A romantic and peaceful getaway.`,amenities:`Hot tub, breakfast, walking labyrinth.`},{name:`Castaway by the Sea (Port Orford)`,category:`Motel`,description:`A reliable nearby option perched on a cliff in Port Orford with dramatic ocean views from almost every room. A short drive from Langlois.`,amenities:`Ocean views, pet friendly, WiFi.`}],X_e=[{name:`Langlois Market`,category:`Deli / Market`,image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/40f673a483d6ac85583a8e908aa66f3c.jpg`,description:`Famous for their world-renowned hot dogs served with house-made sweet-hot mustard. It's a deli, a general store, and the town hall all rolled into one.`,features:`Famous Hot Dogs, deli sandwiches, local goods.`},{name:`The Spoon`,category:`American / Diner`,description:`A cozy roadside diner offering hearty breakfasts, burgers, and comfort food. It's the place to catch up on local news over a cup of coffee.`,features:`All-day breakfast, homemade pies, friendly service.`},{name:`Raincoast Cafe (Seasonal)`,category:`Cafe`,description:`Often operating in conjunction with the gallery or as a pop-up, offering excellent espresso and light bites. Check local listings as hours can vary seasonally.`,features:`Artisan coffee, art gallery setting.`}],F8=`Langlois`,Z_e=K(F8),Q_e=({attraction:e,index:t})=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:[e?.image&&(0,B.jsxs)(`div`,{className:`relative h-48 overflow-hidden`,children:[(0,B.jsx)(`img`,{src:e.image,alt:e.name,className:`w-full h-full object-cover transition-transform duration-500 hover:scale-110`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-t from-black/20 to-transparent`})]}),(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(()=>{let t=Ef(F8,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Z_e,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})]}),$_e=({attractions:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`AttractionsSection: No attractions data provided`):console.log(`AttractionsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Rural Charm & Nature`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Attractions in Langlois`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(Q_e,{attraction:e,index:t},t))})]})})),eve=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},tve=({trails:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`HikingTrailsSection: No trails data provided`):console.log(`HikingTrailsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Vistas`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Discover hidden headlands, quiet lakes, and the wild beauty of the Southern Oregon Coast trails.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(eve,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),nve=({hotels:e})=>{let t=`Langlois`,n=[`Floras Lake House B&B`,`Wildspring Guest Habitat (Port Orford)`,`Castaway by the Sea (Port Orford)`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},I8=`Langlois`,rve=K(I8),ive=({restaurant:e})=>(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md h-full flex flex-col`,children:[e?.image&&(0,B.jsx)(`div`,{className:`mb-4 rounded-lg overflow-hidden h-40`,children:(0,B.jsx)(`img`,{src:e.image,alt:e.name,className:`w-full h-full object-cover`})}),(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),(()=>{let t=Sf(I8,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:rve,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`}):null})()]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed flex-grow`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]}),ave=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),ove=({restaurants:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`RestaurantsSection: No restaurant data provided`):console.log(`RestaurantsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Langlois`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Small town, big flavors. From the world-famous hot dogs to local market treats, taste the heart of Langlois.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block`,children:`Market & Classics`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:e.map((e,t)=>(0,B.jsx)(ive,{restaurant:e},t))})]}),(0,B.jsx)(ave,{src:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/40f673a483d6ac85583a8e908aa66f3c.jpg`,alt:`Langlois Market Interior`,caption:`Step inside the world-famous Langlois Market`})]})]})})),sve=()=>{(0,y.useEffect)(()=>{console.log(`LangloisPage mounted`)},[]);let e=Y.langlois,t=If(`Langlois`),n=Lf(`Langlois`),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/17bd9faa00a2de20cd5caa78364dd87c.webp`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Langlois, Oregon countryside`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Langlois`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Langlois`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-lime-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Langlois Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:q_e}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`A charming, quirky town famous for its world-class hot dogs and sheep farming.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||42.9248,lon:e?.geo?.lng||-124.4504,townName:`Langlois`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Langlois`,townSlug:`langlois`,lat:e?.geo?.lat||42.9248,lon:e?.geo?.lng||-124.4504})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Langlois`,featuredImage:r,title:`Langlois Gallery`})}),(0,B.jsx)(Hj,{attractions:P8,townName:`Langlois`}),(0,B.jsx)($_e,{attractions:P8}),(0,B.jsx)(tve,{trails:J_e}),(0,B.jsx)(nve,{hotels:Y_e}),(0,B.jsx)(ove,{restaurants:X_e})]}),(0,B.jsx)(Ux,{})]})},cve=`
  <p>Discover the magic of Lincoln City, a coastal playground where the creative fire of glassblowing meets the raw power of the Pacific. Spanning seven miles of soft, sandy beaches, this vibrant community offers an enchanting mix of artistic culture and outdoor adventure. Known as the "Kite Capital of the World" for its steady breezes and colorful festivals, Lincoln City invites you to look up at the sky, or look down at the sand where lucky beachcombers might find a hand-blown glass float—a signature treasure of this unique town.</p>
  <p>Adventure awaits at every corner. To the north, the majestic Cascade Head offers hiking trails with sweeping ocean views and rare wildlife. In the center of town, the D River—once holding the title of the world's shortest river—connects the grand Devil's Lake to the sea, creating a haven for kayakers, paddleboarders, and anglers. The historic Taft District anchors the south with its bustling bayfront, crab pots, and the mesmerizing heat of glassblowing studios where you can watch artists at work or craft your own souvenir.</p>
  <p>Whether you're trying your luck at Chinook Winds Casino Resort, exploring the tidal secrets of the Nelscott Reef, or simply watching a fiery sunset behind the silhouette of drift logs, Lincoln City delivers a quintessential Oregon Coast experience. It's a place where memories are made in glass and sand, perfect for families, couples, and solo explorers alike.</p>
`,L8=[{name:`Finders Keepers Glass Float Hunt`,description:`A year-round treasure hunt where local Float Fairies hide over 3,000 hand-blown glass floats along the 7 miles of beach. If you find one, you keep it! It's a beloved tradition that brings the magic of treasure hunting to life.`,details:`Floats are hidden above the high tide line. Keep your eyes peeled!`},{name:`Lincoln City Glass Center`,description:`Located in the historic Taft District, this studio allows visitors to watch professional glassblowers create stunning works of art. Feeling adventurous? You can book a session to blow your own float, bowl, or paperweight.`,details:`Open daily. 'Blow Your Own' appointments recommended.`},{name:`Devil's Lake State Recreation Area`,description:`A calm, 685-acre freshwater lake that flows into the ocean via the D River. It's a hotspot for kayaking, paddleboarding, fishing for rainbow trout, and lakeside camping protected from the coastal winds.`,details:`Boat rentals and campground available.`},{name:`Chinook Winds Casino Resort`,description:`A premier entertainment destination offering 24-hour gaming, live entertainment, and several restaurants with ocean views. The resort is a hub of nightlife and excitement right on the beach.`,details:`Owned by the Siletz Tribe. Oceanfront hotel attached.`},{name:`Nelscott Reef`,description:`One of the world's premier big wave surfing spots. When conditions are right, this reef located half a mile offshore produces massive waves that attract professional surfers from around the globe.`,details:`Best viewed from the beach unless you're a pro surfer.`},{name:`D River Wayside`,description:`Home to the 'world's shortest river' connecting Devil's Lake to the Pacific. This wayside is the central hub for the famous Summer and Fall Kite Festivals, where giant kites fill the sky.`,details:`Central beach access with parking and restrooms.`},{name:`Road's End State Recreation Site`,description:`Located at the northernmost point of the city, this beach offers a more secluded feel with stunning views of Cascade Head. It's an excellent spot for tide pooling and watching sailboarders.`,details:`Great for tide pooling at low tide.`},{name:`Lincoln City Outlets`,description:`A shopper's delight featuring over 50 designer and brand-name stores. It's the perfect place to spend a rainy afternoon or find great deals on coastal gear and fashion.`,details:`Located centrally on Hwy 101.`}],lve=[{name:`Cascade Head Trail`,distance:`6.8 miles round trip (lower + upper)`,difficulty:`Moderate/Hard`,elevation:`1,200 ft gain`,description:`A world-class hike offering some of the most spectacular views on the entire Oregon Coast. The trail winds through Sitka spruce forests before opening up to grassy headlands with panoramic ocean vistas. Protected as a UNESCO biosphere reserve.`},{name:`Drift Creek Falls Trail`,distance:`3 miles round trip`,difficulty:`Easy/Moderate`,description:`Famous for its 240-foot suspension bridge that hangs dramatically over a canyon, offering a bird's-eye view of a crashing 75-foot waterfall. A lush, fern-filled forest hike that is a must-do.`},{name:`Salmon River Estuary Trail`,distance:`4.5 miles round trip`,difficulty:`Easy`,description:`A gentle, scenic hike along the Salmon River as it winds towards the ocean. Great for birdwatching and seeing the diverse ecosystem where river meets sea. Located just north of town.`},{name:`Road's End Beach Walk`,distance:`Varies`,difficulty:`Easy`,description:`Walk north from the Road's End recreation site towards the headland. At very low tides, you can discover secret coves and colorful tide pools filled with starfish and anemones.`},{name:`Devil's Lake Circumnavigation`,distance:`Varies (Water Trail)`,difficulty:`Moderate`,description:`While not a hiking trail, this is a popular paddling trail. Kayak around the perimeter of the lake to explore wetlands and see calm waters teeming with waterfowl and wildlife.`},{name:`Siletz Bay National Wildlife Refuge Trails`,distance:`1-2 miles`,difficulty:`Easy`,description:`Flat, accessible trails winding through salt marshes and mudflats. This is a prime spot for birders, especially during migration seasons, and offers peaceful bay views.`}],uve=[{name:`Salishan Coastal Lodge & Resort`,category:`Luxury Resort`,description:`A historic, eco-friendly resort nestled in the forest just south of town. Features a world-class golf course, spa, tennis courts, and rustic-luxe rooms that blend seamlessly with nature.`,amenities:`Golf course, spa, aerial park, multiple restaurants.`,link:`https://expedia.com/affiliates/lincoln-city-hotels.XG28wG4`},{name:`Starfish Manor Oceanfront Hotel`,category:`Luxury/Boutique`,description:`Designed for romance and relaxation, offering oceanfront suites with large whirlpool tubs overlooking the waves. A perfect getaway for couples seeking privacy and views.`,amenities:`In-room jacuzzis, fireplaces, oceanfront decks.`,link:`https://expedia.com/affiliates/lincoln-city-hotels-starfish-manor-oceanfront-hotel.XG28wG4`},{name:`The Coho Oceanfront Lodge`,category:`Mid-Range/Upscale`,description:`A modern, renovated lodge offering fresh, clean design and sweeping ocean views. Known for its excellent service and amenities like a fire pit and indoor pool.`,amenities:`Indoor pool, sauna, fitness center, breakfast included.`,link:`https://expedia.com/affiliates/lincoln-city-hotels-the-coho-oceanfront-lodge.XG28wG4`},{name:`Sailor Jack's Oceanfront Inn`,category:`Budget/Boutique`,description:`A charming, independently owned inn with a distinct personality. Located right on the beach, it offers affordable comfort and easy access to the sand.`,amenities:`Pet-friendly, direct beach access, themed rooms.`,link:`https://expedia.com/affiliates/lincoln-city-hotels-sailor-jack-s-oceanfront-inn.XG28wG4`},{name:`Lincoln Sands Oceanfront Resort`,category:`Family Resort`,description:`An all-suite hotel located near the D River Wayside. Famous for its heated outdoor pool and patio, making it a favorite for families year-round.`,amenities:`Heated outdoor pool, hot tub, kitchenettes.`,link:`https://expedia.com/affiliates/lincoln-city-hotels.XG28wG4`},{name:`The Ashley Inn & Suites`,category:`Mid-Range`,description:`Conveniently located near the casino and beach, offering comfortable rooms and a welcoming environment for all travelers.`,amenities:`Indoor pool, complimentary breakfast, easy beach access.`,link:`https://expedia.com/affiliates/lincoln-city-hotels-the-ashley-inn-suites.XG28wG4`}],dve=[{name:`Blackfish Cafe`,category:`Seafood/NW Cuisine`,description:`A local favorite for fresh, honest seafood dishes. Known for their cioppino and rockfish, served in a relaxed but polished setting.`,features:`Fresh catch, local ingredients, great wine list.`},{name:`Kyllo's Seafood Grill`,category:`Seafood`,description:`Located directly on the beach at the D River Wayside, offering stunning ocean views from every table. Famous for their halibut fish and chips and clam chowder.`,features:`Oceanfront dining, cocktail bar, family friendly.`},{name:`Beach Dog Cafe`,category:`Casual/Cafe`,description:`A quirky, beloved spot for breakfast and lunch. Known for their friendly service and delicious homemade biscuits and gravy.`,features:`Breakfast all day, dog friendly patio.`},{name:`Wildflower Grill`,category:`American/Breakfast`,description:`Set in a cozy cottage overlooking a wetland, offering hearty breakfasts and country-style dinners. The setting is peaceful and charming.`,features:`Wetland views, generous portions.`},{name:`Fathoms Restaurant & Bar`,category:`Upscale`,description:`Located on the 10th floor of the Inn at Spanish Head, offering the best elevated ocean views in town. Perfect for sunset dinners and cocktails.`,features:`Panoramic views, penthouse dining, seafood.`},{name:`Mo's Restaurant`,category:`Casual Seafood`,description:`An Oregon Coast icon located in the Taft District. Famous for their clam chowder, casual vibe, and views of Siletz Bay.`,features:`Famous chowder, bay views, casual.`},{name:`The Bay House`,category:`Fine Dining`,description:`Offering an exquisite fine dining experience with a focus on seasonal Northwest ingredients and an extensive wine cellar. Located south of town at Salishan.`,features:`AAA 4-Diamond, extensive wine list.`},{name:`Pig 'N Pancake`,category:`Breakfast/Diner`,description:`A classic coastal chain offering reliable, tasty breakfast favorites. A hit with families and those craving pancakes and bacon.`,features:`Family friendly, breakfast classics.`},{name:`Roadhouse 101`,category:`American/Pub`,description:`A lively spot with a rustic vibe, often featuring live music. Serves great burgers, steaks, and beers in a fun atmosphere.`,features:`Live music, rustic decor, full bar.`},{name:`Barnacle Bill's Seafood Market`,category:`Market/Takeout`,description:`A legendary spot for fresh seafood. Grab some smoked salmon or fresh crab to go, or enjoy their famous crab cocktail.`,features:`Fresh market, smoked fish, takeout.`},{name:`Eleanor's Undertow`,category:`Casual/Ice Cream`,description:`A fun, retro spot near the beach known for huge burgers and delicious ice cream shakes. A great pit stop after a day on the sand.`,features:`Ice cream, burgers, retro vibe.`},{name:`Lighthouse Brewpub`,category:`Brewery/Pub`,description:`Part of the McMenamins family, this brewpub offers their signature ales and pub fare in a building with a unique history.`,features:`McMenamins ales, kid friendly, quirky art.`}],R8=`Lincoln City`,fve=K(R8),pve=({attraction:e,index:t})=>{let n=Ef(R8,e?.name);return(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),n&&(0,B.jsx)(X,{objectId:n.object_id,title:e.name,sourcePage:fve,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`})]}),(0,B.jsx)(`div`,{className:`bg-blue-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-blue-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-blue-700 bg-blue-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})})},mve=({attractions:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`AttractionsSection: No attractions data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-blue-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-blue-600 font-bold tracking-wider uppercase text-sm`,children:`Experience the Magic`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Lincoln City`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-blue-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6`,children:e.map((e,t)=>(0,B.jsx)(pve,{attraction:e,index:t},t))})]})})),hve=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},gve=({trails:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`HikingTrailsSection: No trails data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:[(0,B.jsxs)(`div`,{className:`max-w-3xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-teal-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Discover ancient forests, dramatic headlands, and peaceful estuaries. Lincoln City offers diverse landscapes ranging from the UNESCO-protected Cascade Head to the suspension bridge at Drift Creek.`})]}),(0,B.jsx)(`div`,{className:`hidden md:block`,children:(0,B.jsx)(Yo,{className:`w-16 h-16 text-teal-100`})})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-teal-700 transition-colors`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(hve,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),_ve=({hotels:e})=>{let t=`Lincoln City`;return(0,B.jsx)(a6,{townName:t,fallbackHotels:e,affiliateHotels:jC[t]})},z8=`Lincoln City`,vve=K(z8),B8=({restaurant:e,index:t})=>{let n=Sf(z8,e?.name);return(0,B.jsxs)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white/80 backdrop-blur-sm p-5 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-lg font-bold text-orange-950 truncate pr-2`,children:e?.name||`Restaurant`}),n&&(0,B.jsx)(X,{objectId:n.object_id,title:e.name,sourcePage:vve,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),(0,B.jsx)(`div`,{className:`shrink-0`,children:e?.category?.includes(`Seafood`)?(0,B.jsx)(ro,{className:`w-4 h-4 text-orange-400`}):e?.category?.includes(`Coffee`)||e?.category?.includes(`Breakfast`)?(0,B.jsx)(Ya,{className:`w-4 h-4 text-orange-400`}):e?.category?.includes(`Fine`)||e?.category?.includes(`Wine`)?(0,B.jsx)(ss,{className:`w-4 h-4 text-orange-400`}):(0,B.jsx)(ns,{className:`w-4 h-4 text-orange-400`})})]}),(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-50 px-2 py-1 rounded-md self-start mb-3`,children:e?.category||`Dining`}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-4 text-sm leading-relaxed flex-grow`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50 mt-auto`,children:[(0,B.jsx)(`p`,{className:`text-[10px] font-bold text-orange-800 uppercase tracking-wide mb-1`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-xs text-gray-500`,children:e.features})]})]})},V8=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8 w-full`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),yve=({restaurants:e})=>{if((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`RestaurantsSection: No restaurant data provided`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=[e[0],e[1],e[4],e[6]].filter(Boolean),n=[e[2],e[3],e[5],e[7]].filter(Boolean),r=[e[8],e[9],e[10],e[11]].filter(Boolean);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(`div`,{className:`h-px w-12 bg-orange-200`}),(0,B.jsx)(ro,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Lincoln City`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`A culinary hotspot on the coast. From fresh chowder on the bay to fine dining with a view, explore the flavors of Lincoln City.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block`,children:`Fresh Seafood & Views`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(B8,{restaurant:e,index:t},t))})]}),(0,B.jsx)(V8,{src:`https://images.unsplash.com/photo-1534604973900-c43ab4c2e0ab?auto=format&fit=crop&w=800&q=80`,alt:`Fresh seafood dining`,caption:`World-class seafood with ocean views`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(V8,{src:`https://images.unsplash.com/photo-1504754524776-8f4f37790ca0?auto=format&fit=crop&w=800&q=80`,alt:`Breakfast cafe`,caption:`Cozy cafes and hearty breakfasts`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block ml-auto`,children:`Casual Eats & Breakfast`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(B8,{restaurant:e,index:t},t))})]})]}),(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 mb-8 text-center`,children:`Pubs, Markets & Treats`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-4 gap-6`,children:r.map((e,t)=>(0,B.jsx)(B8,{restaurant:e,index:t},t))})]})]})})},bve=[{name:`Drift Creek Falls`,difficulty:`Easy/Moderate`,distance:`3 miles`,accessibility:3,description:`Dramatic 75-foot waterfall accessed via a stunning 240-foot suspension bridge. One of the most photographed hikes on the Oregon Coast, offering a perfect blend of old-growth forest, canyon views, and accessible adventure.`,notes:`Bridge is sturdy but can sway - not for those with extreme height fears. Parking pass required. Can be muddy in winter.`},{name:`Chitwood Falls`,difficulty:`Moderate`,distance:`Varies`,accessibility:3,description:`A hidden gem tucked in the Coast Range east of Lincoln City. Multiple cascades tumble through mossy cliffs in a lush rainforest setting. Less crowded than Drift Creek.`,notes:`Road access can be rough - high-clearance vehicle recommended. Multiple trail options of varying difficulty.`}],xve=[{title:`Siletz Bay Music Festival`,date:`August 13–23, 2026`},{title:`Fall Kite Festival`,date:`October 3–4, 2026`},{title:`Lincoln City Community Days`,date:`Spring 2027`},{title:`Summer Kite Festival`,date:`June 26–27, 2027`},{title:`Hiking Experiences`,date:`Recurring (Check local calendar)`}],Sve=()=>{(0,y.useEffect)(()=>{console.log(`LincolnCityPage mounted`)},[]);let e=Y[`lincoln-city`],t=`Lincoln City`,n=If(t),r=Lf(t),i=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/4b7ba56a47e804904a0e87f9ebad9b07.webp`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:n}),(0,B.jsx)(`meta`,{name:`description`,content:r}),(0,B.jsx)(`meta`,{property:`og:title`,content:n}),(0,B.jsx)(`meta`,{property:`og:description`,content:r})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsx)(Zx,{name:t,description:r,image:i,geo:{lat:44.9729,lng:-124.0049},url:`https://oregoncoastal.com/town/lincoln-city`}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:i,alt:`Lincoln City coastline with kites and waves`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Lincoln City`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-2`,children:`Lincoln City`}),(0,B.jsx)(q.p,{initial:{opacity:0},animate:{opacity:1},transition:{delay:.3,duration:.8},className:`text-xl text-white/90 font-light tracking-wide drop-shadow-md mb-4`,children:`Kites, Glass Floats & Seven Miles of Smiles`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-blue-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Lincoln City Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:cve}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Enjoy seven miles of continuous beach, vibrant kite festivals, and the famous Finders Keepers glass floats.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo.lat||44.9729,lon:e?.geo.lng||-124.0113,townName:`Lincoln City`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Lincoln City`,townSlug:`lincoln-city`,lat:e?.geo.lat||44.9729,lon:e?.geo.lng||-124.0113,defaultStationId:`9436101`})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Lincoln City`,featuredImage:i,title:`Lincoln City in Photos`})}),(0,B.jsx)(Hj,{attractions:L8,townName:`Lincoln City`}),(0,B.jsx)(mve,{attractions:L8}),(0,B.jsx)(gve,{trails:lve}),(0,B.jsx)(R6,{townName:`Lincoln City`,waterfalls:bve,headerTitle:`Nearby Waterfalls`,headerSubtitle:`The lush Coast Range rises just east of Lincoln City, hiding some of the most dramatic waterfall hikes on the Oregon Coast.`,ctaText:`Staying near Lincoln City for a waterfall day trip? Book hotels in Lincoln City through our Expedia affiliate links and stay close to Drift Creek Falls.`}),(0,B.jsx)(c6,{events:xve}),(0,B.jsx)(_ve,{hotels:uve}),(0,B.jsx)(yve,{restaurants:dve})]}),(0,B.jsx)(Ux,{})]})},Cve=`
  <p><strong>Manzanita is the hidden gem of the Oregon Coast.</strong> Nestled between the lush, forested slopes of Neahkahnie Mountain and seven miles of pristine, sandy beach, this charming village offers a sophisticated yet laid-back retreat.</p>
  <p>Unlike the busier coastal towns, Manzanita moves at a gentler pace. Its main street, Laneda Avenue, slopes gently down to the ocean, lined with boutique shops, cozy cafes, and art galleries. Here, you won't find neon signs or fast-food chains—just the sound of the waves, the scent of pine and sea salt, and a community deeply connected to its stunning natural surroundings.</p>
  <p>Whether you're watching storm waves crash against the cliffs, golfing on a historic course, or enjoying a sunset bonfire on the beach, Manzanita invites you to relax, breathe deep, and find your own rhythm.</p>
`,H8=[{name:`Neahkahnie Mountain Viewpoints`,description:`Legendary cliffs rising 1,600 feet above the ocean. The viewpoints along Highway 101 offer some of the most spectacular panoramas on the entire Oregon Coast, perfect for whale watching and sunsets.`,details:`Scenic Viewpoint`},{name:`Manzanita Beach`,description:`Seven miles of soft, white sand stretching from the foot of Neahkahnie Mountain to the Nehalem Bay jetty. It's wide, flat, and perfect for walking, kite flying, and evening fires.`,details:`Beach Access`},{name:`Laneda Avenue`,description:`The heart of the town. A charming, walkable street that runs directly to the beach, featuring unique local boutiques, bookstores, bakeries, and coffee shops.`,details:`Shopping & Dining`},{name:`Nehalem Bay State Park`,description:`Just south of town, this park features a 4-mile sand spit separating the bay from the ocean. It offers camping, biking trails, horse riding, and a small airstrip.`,details:`State Park`},{name:`Hoffman Center for the Arts`,description:`A cultural hub providing artistic, educational, and cultural programs. They host writing workshops, clay studios, horticultural events, and gallery exhibitions.`,details:`Art & Culture`},{name:`Manzanita Links`,description:`A scenic 9-hole golf course winding through pine and spruce trees on rolling dunes. Known for its friendly atmosphere and beautifully maintained greens.`,details:`Golf Course`},{name:`Short Sand Beach (Oswald West)`,description:`Located just north in Oswald West State Park, this sheltered cove is a surfer's paradise and a favorite spot for picnics, surrounded by an old-growth forest.`,details:`Surfing & Hiking`},{name:`Manzanita Farmers Market`,description:`Held on Friday evenings during the summer, this market showcases local produce, artisan crafts, live music, and delicious prepared foods.`,details:`Seasonal Market`}],wve=[{name:`Neahkahnie Mountain Trail`,distance:`3.0 miles`,difficulty:`Moderate/Hard`,elevation:`900 ft`,description:`A switchback trail leading to the summit of Neahkahnie Mountain. The effort is rewarded with breathtaking, aerial-like views of Manzanita and the coastline stretching south.`},{name:`Cape Falcon Trail`,distance:`4.8 miles`,difficulty:`Moderate`,elevation:`300 ft`,description:`Wanders through majestic old-growth Sitka spruce forests to the tip of Cape Falcon, offering dramatic views of Smuggler's Cove and the ocean crashing below.`},{name:`Short Sand Beach Trail`,distance:`1.0 mile`,difficulty:`Easy`,elevation:`100 ft`,description:`A gentle, family-friendly walk through a lush rainforest along a creek, ending at the popular surfing beach of Short Sand in Oswald West State Park.`},{name:`Nehalem Bay Spit Trail`,distance:`5.2 miles`,difficulty:`Easy`,elevation:`Flat`,description:`A long, flat trail running along the sand spit between the ocean and the bay. Great for spotting elk, birds, and seals near the jetty.`},{name:`Elk Mountain Trail`,distance:`4.0 miles`,difficulty:`Strenuous`,elevation:`1900 ft`,description:`For experienced hikers only. This steep, rugged climb inland from the coast offers incredible summit views but requires scrambling and good fitness.`},{name:`Devil's Cauldron Trail`,distance:`0.5 miles`,difficulty:`Easy/Moderate`,elevation:`100 ft`,description:`A short but spectacular trail leading to a viewpoint overlooking a massive cove where ocean waves churn violently against sheer cliffs.`}],Tve=[{name:`Coast Cabins`,category:`Boutique`,description:`Upscale, architectural cabins designed for privacy and relaxation. Features amenities like hot tubs, fire pits, and modern interiors just steps from the beach.`,amenities:`Hot Tubs, Fire Pits, WiFi`},{name:`The Ocean Inn`,category:`Oceanfront`,description:`Located right on the beach, offering suites with full kitchens, fireplaces, and private decks. A perfect spot to watch the sunset from your room.`,amenities:`Ocean Views, Kitchens, Fireplaces`},{name:`Inn at Manzanita`,category:`Romantic`,description:`A serene retreat nestled in the pines and spruce. The rooms feature jetted tubs and fireplaces, creating a cozy and romantic atmosphere.`,amenities:`Jetted Tubs, Fireplaces, Gardens`},{name:`Sunset Surf Motel`,category:`Oceanfront`,description:`A classic, family-friendly motel with an unbeatable location directly overlooking the ocean. Features a seasonal outdoor pool and easy beach access.`,amenities:`Pool, Ocean Views, Kitchenettes`},{name:`San Dune Inn`,category:`Budget-Friendly`,description:`A charming, retro-style inn located in the heart of town. Known for its friendly hosts, clean rooms, and proximity to shops and dining.`,amenities:`Pet Friendly, BBQ Area, Bikes`},{name:`Spindrift Inn`,category:`Boutique`,description:`A quaint, restored motor court inn with a lovely garden courtyard. Each room is individually decorated, offering a cozy and personal touch.`,amenities:`Gardens, Kitchenettes, WiFi`}],Eve=[{name:`The Big Wave Cafe`,cuisine:`Seafood & American`,price:`$$-$$$`,description:`A local favorite known for its fresh seafood, razor clams, and hearty breakfasts. Friendly service and a warm, welcoming atmosphere.`,features:`Fresh Seafood`},{name:`Yolk`,cuisine:`Breakfast & Brunch`,price:`$$`,description:`A bright and modern spot serving creative breakfast dishes, homemade pastries, and excellent coffee. Expect a wait on weekends—it's that good.`,features:`Best Brunch`},{name:`MacGregor's`,cuisine:`Whiskey Bar & Small Plates`,price:`$$-$$$`,description:`An intimate, upscale bar offering an extensive whiskey selection, craft cocktails, and delicious small plates like chowder and charcuterie.`,features:`Craft Cocktails`},{name:`Marzano's Pizza Pie`,cuisine:`Pizza & Italian`,price:`$$`,description:`Famous for their wood-fired pizzas with perfectly crisp crusts and fresh toppings. A casual spot that's perfect for a post-beach dinner.`,features:`Wood-Fired Pizza`},{name:`Wild Grocery & Cafe`,cuisine:`Organic & Deli`,price:`$$`,description:`A health-conscious cafe and grocer serving organic smoothies, sandwiches, and salads. Great for grabbing a picnic lunch for the beach.`,features:`Organic Options`},{name:`Left Coast Siesta`,cuisine:`Mexican`,price:`$`,description:`Fast, fresh, and filling burritos and tacos. A popular spot for a quick, tasty meal with plenty of outdoor seating on the deck.`,features:`Outdoor Deck`},{name:`Manzanita Coffee Co.`,cuisine:`Coffee & Pastries`,price:`$`,description:`The place to start your morning. Roasts their own beans and serves excellent espresso drinks along with a selection of baked goods.`,features:`House Roasted Coffee`},{name:`A Mighty Thai`,cuisine:`Thai`,price:`$$`,description:`Authentic Thai cuisine with bold flavors. Offers all the classics like Pad Thai, curries, and spring rolls in a cozy setting.`,features:`Takeout Available`},{name:`Neah-Kah-Nie Bistro`,cuisine:`Bistro & Seafood`,price:`$$$`,description:`Fine dining in a relaxed atmosphere. The menu changes seasonally to highlight the freshest local ingredients and seafood.`,features:`Seasonal Menu`},{name:`The Winery at Manzanita`,cuisine:`Wine Bar & Snacks`,price:`$$-$$$`,description:`Taste small-batch wines produced right on the coast. Features a beautiful outdoor courtyard with fire pits, perfect for a relaxed evening.`,features:`Dog Friendly Patio`}],Dve=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(0,B.jsx)(`div`,{className:`bg-teal-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-teal-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-teal-700 bg-teal-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),Ove=({attractions:e})=>!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-teal-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-teal-600 font-bold tracking-wider uppercase text-sm`,children:`Explore the Beauty`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Manzanita`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-teal-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(Dve,{attraction:e,index:t},t))})]})}),kve=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-teal-100 text-teal-800 border-teal-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},Ave=({trails:e})=>!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-teal-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`From the dramatic summit of Neahkahnie Mountain to peaceful forest walks, Manzanita is a hiker's paradise.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-teal-700 transition-colors`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(kve,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})}),jve=({hotels:e})=>{let t=`Manzanita`,n=[`The Ocean Inn`,`Spindrift Inn`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},U8=({restaurant:e})=>{let t=Sf(`Manzanita`,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-teal-100 hover:border-teal-300 transition-all shadow-sm hover:shadow-md`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-teal-950`,children:e?.name||`Restaurant Name`}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:`/town/manzanita`,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.cuisine&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-teal-600 bg-teal-100 px-2 py-1 rounded-md flex-shrink-0`,children:e.cuisine})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed`,children:e?.description||`No description available.`}),e?.price&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-teal-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-teal-800 uppercase tracking-wide`,children:`Price Range`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.price})]})]})},W8=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-teal-500 pl-3`,children:n})})]}),Mve=({restaurants:e})=>{if(!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-teal-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-teal-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,3),n=e.slice(3,6),r=e.slice(6);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-teal-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-teal-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Manzanita`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Small town, big flavors. From fresh seafood to artisanal bakeries, Manzanita's culinary scene punches well above its weight.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-teal-900 border-b-2 border-teal-200 pb-2 inline-block`,children:`Local Favorites`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(U8,{restaurant:e},t))})]}),(0,B.jsx)(W8,{src:`https://images.unsplash.com/photo-1555939594-58d7cb561ad1?auto=format&fit=crop&w=800&q=80`,alt:`Delicious dining experience`,caption:`Fresh flavors & cozy atmosphere`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(W8,{src:`https://images.unsplash.com/photo-1565299624946-b28f40a0ae38?auto=format&fit=crop&w=800&q=80`,alt:`Pizza and casual food`,caption:`Perfect for after the beach`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-teal-900 border-b-2 border-teal-200 pb-2 inline-block ml-auto`,children:`Casual Eats`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(U8,{restaurant:e},t))})]})]}),r.length>0&&(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-teal-900 mb-8 text-center`,children:`Coffee, Thai & Wine`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-4 gap-6`,children:r.map((e,t)=>(0,B.jsx)(U8,{restaurant:e},t))})]})]})})},Nve=()=>{(0,y.useEffect)(()=>{console.log(`ManzanitaPage mounted`)},[]);let e=Y.manzanita,t=If(`Manzanita`),n=Lf(`Manzanita`),r=tj.manzanita;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Zx,{name:`Manzanita Oregon Travel`,description:n,url:`https://oregoncoastal.com/town/manzanita`,image:r}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Manzanita, Oregon Coast and Neahkahnie Mountain`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Manzanita`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Manzanita`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-teal-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Manzanita Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:Cve}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Nestled at the foot of Neahkahnie Mountain, Manzanita boasts seven miles of pristine sandy beach.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||45.7184,lon:e?.geo?.lng||-123.9351,townName:`Manzanita`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Manzanita`,townSlug:`manzanita`,lat:e?.geo?.lat||45.7184,lon:e?.geo?.lng||-123.9351})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Manzanita`,featuredImage:r,title:`Manzanita in Photos`})}),(0,B.jsx)(Hj,{attractions:H8,townName:`Manzanita`}),(0,B.jsx)(Ove,{attractions:H8}),(0,B.jsx)(Ave,{trails:wve}),(0,B.jsx)(jve,{hotels:Tve}),(0,B.jsx)(Mve,{restaurants:Eve})]}),(0,B.jsx)(Ux,{})]})},Pve=`
  <p>Nestled along the banks of the Nehalem River just minutes from the Pacific Ocean, Nehalem offers visitors a picturesque riverside retreat steeped in timber town history. This charming community of just 300 residents features classic frontier-style buildings with raised porches and hanging flower baskets that recall the area's logging boom era. Enveloped by coastal forests, Nehalem's natural beauty is quiet and idyllic—a refreshing departure from busier beach towns while remaining perfectly positioned for exploring the northern Oregon Coast.</p>
  <p>The town's location at the confluence of river and ocean creates exceptional opportunities for fishing, crabbing, and wildlife viewing. The North Fork of the Nehalem River boasts excellent fishing for Coho salmon, while nearby Nehalem Bay draws anglers seeking Chinook, sturgeon, and steelhead. From shaded riverside docks wreathed in morning fog to world-class state parks minutes away, Nehalem serves as an ideal base camp for outdoor adventures. The Oregon Coast Scenic Railroad offers historic train rides along the river, while Nehalem Bay Winery—one of Oregon's 10 oldest wineries—invites visitors to sample wines overlooking dairy pastures in a lush valley setting.</p>
`,G8=[{name:`Nehalem Bay State Park`,description:`Located on a 4-mile sandspit between Nehalem Bay and the Pacific Ocean, this popular park offers camping, hiking, beachcombing, kayaking, fishing, and wildlife viewing. The calm bay waters provide perfect conditions for kayaking and paddleboarding. Excellent crabbing and clamming at low tide. Features 265 campsites, 18 yurts, hiker-biker camp, and even a fly-in camp for small aircraft. A 1.8-mile bike trail connects the ocean to the bay through coastal forest. Wildlife including deer, elk, mountain lions, black bears, coyotes, and abundant birdlife call this area home.`,details:`State Park`},{name:`Nehalem Bay Winery`,description:`One of Oregon's 10 oldest wineries, established in a beautiful historic setting in a lush green valley on Highway 53, one mile off Highway 101. Sample traditional red and white vintages plus sweet and fruity wines at outdoor picnic tables overlooking dairy pastures. The winery offers a peaceful escape with stunning pastoral views. Perfect stop for wine tasting before or after beach adventures.`,details:`Winery`},{name:`Nehalem River`,description:`The scenic river flows through town, offering fishing, kayaking, and peaceful riverside walks. Shaded docks provide access for small boats and contemplative moments wreathed in morning fog. The North Fork boasts great fishing for Coho salmon. Kayak the river to explore marshlands and Sitka spruce forests while spotting egrets, blue herons, seals, and other wildlife.`,details:`Nature`},{name:`Riverside Fish House`,description:`Walk-up fish and chips stand on Highway 101 with outdoor seating overlooking the Nehalem River. Local favorite serving fresh seafood in casual riverside setting. Perfect lunch stop while exploring the area.`,details:`Dining`},{name:`Waxer Distilling Company`,description:`Small craft distillery with Old West feel featuring 23 different spirits including whiskies, brandy, rum, cordials, vodkas, and tequila. Tasting room on the river with indoor and outdoor seating. Casual, friendly vibe with knowledgeable staff. Great location for spirits enthusiasts.`,details:`Distillery`},{name:`North County Recreation District (NCRD)`,description:`Community center in a converted 1920s school building featuring heated swimming pool, fitness center, group exercise classes, yoga studio, gym, youth activities, theater, and art gallery. Spaces available to rent. Popular with locals and visitors for recreation and cultural events.`,details:`Recreation`},{name:`Oregon Coast Scenic Railroad`,description:`Historic diesel and steam locomotive excursions along the Nehalem River from Wheeler to Batterson. Two-hour scenic tours showcase vibrant autumn colors and beautiful river valley landscapes. Special seasonal rides including Fall Splendor Train Ride. Experience the magic of historic rail travel through Pacific Northwest scenery.`,details:`Attraction`},{name:`Nearby Oswald West State Park`,description:`Just north of Nehalem, this spectacular 2,500-acre park features pristine old-growth rainforest and Short Sand Beach, beloved by surfers. Easy trails through magnificent Sitka spruce lead to the beach. The Cape Falcon Trail offers spectacular 5-mile hike to dramatic coastal headland.`,details:`State Park`}],Fve=[{name:`Nehalem Bay Spit Trail`,distance:`5+ miles`,difficulty:`Moderate`,elevation:`Flat`,description:`Explore the sandspit between Nehalem Bay and Pacific Ocean through dunes and coastal vegetation. Excellent for birdwatching, beachcombing, and solitude. Year-round access with changing seasonal landscapes. Can be windy. Part of Nehalem Bay State Park.`},{name:`Cape Falcon Trail`,distance:`5 miles round trip`,difficulty:`Moderate`,elevation:`300 ft gain`,description:`Located in nearby Oswald West State Park, this spectacular trail winds through lush old-growth Sitka spruce before emerging at Cape Falcon's dramatic headland with stunning coastline views. Excellent for whale watching during migration seasons.`},{name:`Neahkahnie Mountain Trail`,distance:`5 miles loop`,difficulty:`Strenuous`,elevation:`1,700 feet`,description:`Near Nehalem, this challenging hike rewards with panoramic coastline views from 1,661-foot summit. Trail traverses old-growth forests and wildflower meadows frequented by Roosevelt elk. On clear days, views extend for miles. Featured in local legends about buried Spanish treasure.`},{name:`Nehalem River Kayaking`,distance:`Variable`,difficulty:`Easy to Moderate`,elevation:`Water Level`,description:`Launch from boat ramps and explore tranquil bay waters, marshlands, and Sitka spruce forests. Spot egrets, blue herons, seals, and other wildlife. Kayak Tillamook offers rentals and guided tours. Perfect for peaceful paddling in protected waters.`},{name:`Short Sand Beach Trail`,distance:`0.5 miles one-way`,difficulty:`Easy`,elevation:`Minimal`,description:`In Oswald West State Park, easy walk alongside Short Sand Creek through magnificent coastal forest to popular surfing beach. Wheelbarrows provided for gear transport. Cathedral-like atmosphere created by towering trees.`},{name:`Oregon Coast Trail Sections`,distance:`Variable`,difficulty:`Easy to Moderate`,elevation:`Varies`,description:`The 362-mile Oregon Coast Trail passes near Nehalem, offering access to pristine beaches and coastal forests. Hike sections north toward Cannon Beach or south through state parks.`}],Ive=[{name:`Nehalem River Inn`,description:`Beautifully restored 1930s historic building originally McLeod's Tavern & Cabins. Five boutique rooms feature handcrafted furniture, reclaimed hardwood floors, live-edge slab headboards, luxury linens, and cozy seating areas. Located on the banks of the Nehalem River with fire pit and riverside relaxation. Pet-friendly rooms available (Rooms 5 and 6). Just minutes from Manzanita beaches, Oswald West State Park, and Nehalem Bay State Park.`,category:`Boutique`,amenities:`Riverside, Fire Pit, Luxury Linens`},{name:`Wheeler on the Bay Lodge and Marina`,description:`The only motor lodge on Nehalem Bay with rooms right on the water and private dock. Waterfront views of bay and mountains, jetted tubs, fireplaces, complimentary breakfast, free kayak use for multi-night stays, huge DVD collection. Perfect for fishing, crabbing, and kayaking enthusiasts. Friendly owners provide personalized service. Walking distance to Salmonberry Saloon restaurant.`,category:`Waterfront Lodge`,amenities:`Private Dock, Free Kayaks, Jetted Tubs`},{name:`Old Wheeler Hotel`,description:`Lovingly restored historic boutique inn in nearby Wheeler (5 minutes south). Charming gem in heart of downtown with individual furnishings, modern comforts, and views of Nehalem Bay. Adults-only property. Walking distance to restaurants and shops.`,category:`Historic Boutique`,amenities:`Bay Views, Adults Only`},{name:`Nehalem Bay State Park Campground`,description:`One of Oregon's largest coastal campgrounds with 265 electrical sites, 18 yurts, hiker-biker camp, and horse camp (17 sites with corrals). Renovations completed Fall 2025 include new restroom/shower building and upgraded utilities. Year-round camping with reservations up to 6 months in advance.`,category:`Camping`,amenities:`Yurts, Showers, Beach Access`},{name:`Vacation Rentals`,description:`Selection of riverside homes and forest retreats available through local management companies and platforms like Airbnb and VRBO. Many properties offer riverside settings, full kitchens, and access to fishing and outdoor activities. Additional accommodations available in nearby Manzanita (5 minutes) and Wheeler (5 minutes south).`,category:`Rentals`,amenities:`Kitchens, Riverside, Private`}],Lve=[{name:`Buttercup Homemade Ice Creams & Chowders`,description:`Named one of the 10 best places for chowder on the Oregon Coast. Fresh, gluten-free artisan chowders including NW seafood, Thai green curry, Thai red curry, Mexican, Peruvian, braised beef, butternut squash, Malaysian Laksa, and seasonal specialties. Homemade ice creams and vegan sorbets with unique flavors. Take-out only with riverside picnic tables behind building. Each bag hand-signed with artistic thank you. Thursday-Sunday 11:30am-5pm (closes 4pm Sunday). 35915 Highway 101 N.`,category:`Chowder & Ice Cream`,features:`Gluten-Free, Artisan`},{name:`Wanda's Cafe & Bakery`,description:`Popular breakfast and brunch spot serving fresh pastries, hearty breakfasts, and homemade baked goods. Friendly, attentive service. Local favorite for morning meals. 12870 H Street.`,category:`Bakery/Cafe`,features:`Breakfast, Pastries`},{name:`Riverside Fish House`,description:`Walk-up stand on Highway 101 with outdoor seating overlooking the Nehalem River. Fresh fish and chips, seafood baskets. Casual riverside dining perfect for quick lunches.`,category:`Seafood`,features:`River View, Casual`},{name:`Waxer Distilling Company Tasting Room`,description:`Small craft distillery serving 23 different spirits. Tasting flights available. Indoor and outdoor seating on the river. Casual atmosphere for sampling locally-made spirits.`,category:`Distillery`,features:`Spirits, Tasting Room`},{name:`The Pizza Garden`,description:`Local pizza spot serving pies and Italian favorites. Casual dining option in town. 12870 H Street.`,category:`Italian`,features:`Pizza, Casual`},{name:`Salmonberry Saloon`,description:`Highly acclaimed restaurant and bar in nearby Wheeler (5 minutes south). Must-visit destination for dining and drinks.`,category:`Restaurant & Bar`,features:`Local Favorite`},{name:`The Schooner`,description:`Local favorite in nearby Wheeler (5 minutes south).`,category:`Restaurant`,features:`Nearby Option`},{name:`Nearby Manzanita Dining`,description:`Extensive dining options available in nearby Manzanita (5 minutes north) including Neah-Kah-Nie Bistro, Big Wave Café, Yolk, Offshore Grill, San Dune Pub, and more. See our Manzanita guide.`,category:`Various`,features:`Nearby Options`}],Rve=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(0,B.jsx)(`div`,{className:`bg-teal-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-teal-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed text-sm`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-xs font-bold text-teal-700 bg-teal-50/50 inline-block px-3 py-1 rounded-md uppercase tracking-wider`,children:e.details})})]})}),zve=({attractions:e})=>!e||e.length===0?null:(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-teal-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-teal-600 font-bold tracking-wider uppercase text-sm`,children:`Discover Nehalem`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Attractions & Highlights`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-teal-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6`,children:e.map((e,t)=>(0,B.jsx)(Rve,{attraction:e,index:t},t))})]})}),Bve=({level:e})=>{let t={Easy:`bg-teal-100 text-teal-800 border-teal-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy to Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},Vve=({trails:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`HikingTrailsSection: No trails data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-teal-600`}),`Hiking Trails & Outdoor Adventure`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`From kayaking the calm waters of Nehalem Bay to summiting Neahkahnie Mountain, adventures abound in every direction.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-teal-700 transition-colors`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(Bve,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),Hve=({hotels:e})=>{let t=`Nehalem`,n=[`Nehalem Bay State Park Campground`,`Vacation Rentals`,`Coming Soon`,`Nehalem River Inn`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},K8=({restaurant:e,image:t})=>{let n=Sf(`Nehalem`,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm rounded-xl border border-teal-100 hover:border-teal-300 transition-all shadow-sm hover:shadow-md overflow-hidden h-full flex flex-col`,children:[(0,B.jsx)(`div`,{className:`h-48 w-full bg-teal-50 relative overflow-hidden`,children:t?(0,B.jsx)(`img`,{src:t,alt:e.name,className:`w-full h-full object-cover transition-transform duration-500 hover:scale-105`}):(0,B.jsx)(`div`,{className:`flex items-center justify-center h-full text-teal-200`,children:(0,B.jsx)(uo,{className:`w-8 h-8`})})}),(0,B.jsxs)(`div`,{className:`p-6 flex flex-col flex-grow`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-teal-950`,children:e?.name||`Restaurant Name`}),n&&(0,B.jsx)(X,{objectId:n.object_id,title:e.name,sourcePage:`/town/nehalem`,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-teal-700 bg-teal-100 px-2 py-1 rounded-md flex-shrink-0`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed flex-grow`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-teal-100/50 mt-auto`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-teal-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]})]})},Uve=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-80 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-teal-500 pl-3`,children:n})})]}),Wve=({restaurants:e})=>{let[t,n]=(0,y.useState)({});if((0,y.useEffect)(()=>{(async()=>{let{data:t}=await Kd.from(`town_photos`).select(`image_url, caption`).eq(`town_name`,`Nehalem`);if(t){let r={};t.forEach((t,n)=>{e[n]&&(r[e[n].name]=t.image_url)}),n(r)}})()},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-teal-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-teal-900`,children:`Dining information currently unavailable.`})});let r=e=>{let t=[`https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=800&q=80`,`https://images.unsplash.com/photo-1509440159596-0249088772ff?auto=format&fit=crop&w=800&q=80`,`https://images.unsplash.com/photo-1534080564583-6be75777b70a?auto=format&fit=crop&w=800&q=80`,`https://images.unsplash.com/photo-1514362545857-3bc16c4c7d1b?auto=format&fit=crop&w=800&q=80`,`https://images.unsplash.com/photo-1513104890138-7c749659a591?auto=format&fit=crop&w=800&q=80`];return t[e%t.length]},i=e.slice(0,2),a=e.slice(2);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-teal-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-teal-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Nehalem`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Local favorites, artisan chowders, and riverfront sips.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-teal-900 border-b-2 border-teal-200 pb-2 inline-block`,children:`Local Favorites`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:i.map((e,n)=>(0,B.jsx)(K8,{restaurant:e,image:t[e.name]||r(n)},n))})]}),(0,B.jsx)(Uve,{src:`https://images.unsplash.com/photo-1621351183204-58cb30d50712?auto=format&fit=crop&w=800&q=80`,alt:`Clam Chowder`,caption:`Award-winning local chowders`})]}),a.length>0&&(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-teal-900 mb-8 text-center`,children:`More Good Eats`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-3 gap-6`,children:a.map((e,n)=>(0,B.jsx)(K8,{restaurant:e,image:t[e.name]||r(n+2)},n))})]})]})})},Gve=()=>{(0,y.useEffect)(()=>{console.log(`NehalemPage mounted`)},[]);let e=Y.nehalem,t=If(`Nehalem`),n=Lf(`Nehalem`),r=tj.nehalem;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Zx,{name:`Nehalem Oregon Travel`,description:n,url:`https://oregoncoastal.com/town/nehalem`,image:r}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden`,children:[(0,B.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Nehalem River and Coast`,className:`w-full h-full object-cover`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-black/30 to-black/70`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-center text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Nehalem`}),(0,B.jsx)(`h1`,{className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight`,children:`Nehalem`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 mb-12`,children:[(0,B.jsx)(`div`,{className:`lg:col-span-2`,children:(0,B.jsx)(r6,{townName:`Nehalem`,initialDescription:Pve},`Nehalem-About`)}),(0,B.jsx)(`div`,{className:`lg:col-span-1`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||45.7179,lon:e?.geo?.lng||-123.8965,townName:`Nehalem`})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Nehalem`,townSlug:`nehalem`,lat:e?.geo?.lat||45.7179,lon:e?.geo?.lng||-123.8965})})]}),(0,B.jsx)(Gj,{townName:`Nehalem`,featuredImage:r,title:`Nehalem in Photos`}),(0,B.jsx)(Hj,{attractions:G8,townName:`Nehalem`}),(0,B.jsx)(zve,{attractions:G8}),(0,B.jsx)(Vve,{trails:Fve}),(0,B.jsx)(Hve,{hotels:Ive}),(0,B.jsx)(Wve,{restaurants:Lve})]}),(0,B.jsx)(Ux,{})]})},Kve=`
  <p>Neskowin is a hidden gem on the Oregon Coast, known for its iconic Proposal Rock and the mysterious 'Ghost Forest'—ancient Sitka spruce stumps revealing themselves at low tide. This quiet village offers a serene escape with its pristine beach, charming golf course, and close-knit community vibe.</p>
  <p>Located just north of Lincoln City, Neskowin feels worlds away, protected by the dramatic Cascade Head to the south. The village is characterized by its lovely cottages, lack of commercial sprawl, and deep connection to the natural landscape. Whether you are exploring the tide pools around Proposal Rock or hiking the breathtaking trails of Cascade Head, Neskowin offers a peaceful retreat into nature.</p>
`,q8=[{name:`Ghost Forest`,description:`A hauntingly beautiful geological phenomenon featuring 2,000-year-old Sitka spruce stumps that are visible on the beach during low tide, remnants of an ancient forest.`,details:`Ancient Geology`},{name:`Proposal Rock`,description:`An iconic sea stack sitting right on the beach. Legend has it a sea captain took his beloved there to propose. It features a small trail to the top, but caution is advised.`,details:`Landmark Sea Stack`},{name:`Neskowin Beach`,description:`A broad, sandy beach offering spectacular views of Cascade Head and Proposal Rock. It is perfect for long walks, beachcombing, and watching the sunset.`,details:`Pristine Coastline`},{name:`Cascade Head`,description:`A massive headland rising dramatically from the ocean south of Neskowin. It provides shelter to the village and offers some of the best hiking views on the coast.`,details:`Nature Preserve`},{name:`Neskowin Beach Golf Course`,description:`One of the oldest golf courses on the Oregon Coast. This lovely 9-hole course meanders through the wetlands and offers beautiful views of the surrounding hills.`,details:`Historic Golf`},{name:`Nestucca Bay National Wildlife Refuge`,description:`Located nearby, this refuge is a haven for migratory birds, including the Dusky Canada Goose. It offers peaceful walking trails and scenic viewpoints.`,details:`Wildlife Sanctuary`},{name:`Neskowin Farmers Market`,description:`A beloved seasonal market held on weekends, featuring fresh local produce, artisan crafts, and delicious food from the surrounding Tillamook County area.`,details:`Local Produce`},{name:`Neskowin Trading Company`,description:`The heart of the village, this store offers gourmet foods, a wine selection, and daily essentials, serving as a central meeting point for locals and visitors.`,details:`Village Hub`}],qve=[{name:`Cascade Head Trail`,distance:`3.4 miles`,difficulty:`Moderate`,elevation:`1,200 ft`,description:`A rewarding hike taking you through sitka spruce forests to open grassy headlands with breathtaking panoramic views of the coastline and Salmon River estuary.`},{name:`Salmon River Trail`,distance:`5.0 miles`,difficulty:`Easy/Moderate`,elevation:`Minimal`,description:`This scenic trail follows the Salmon River through old-growth forests, offering chances to see salmon runs in the fall and diverse wildlife year-round.`},{name:`Drift Creek Falls Trail`,distance:`3.0 miles`,difficulty:`Moderate`,elevation:`540 ft`,description:`Famous for its 240-foot suspension bridge over the canyon and a spectacular 75-foot waterfall. A lush, fern-filled forest hike that is a must-do.`},{name:`Proposal Rock Tide Pool Exploration`,distance:`Varies`,difficulty:`Easy`,elevation:`Flat`,description:`At low tide, the base of Proposal Rock reveals intricate tide pools filled with starfish, anemones, and crabs. Always be aware of the incoming tide.`},{name:`Ghost Forest Exploration`,distance:`1.0 mile`,difficulty:`Easy`,elevation:`Flat`,description:`A beach walk to explore the ancient stumps of the Ghost Forest. Best viewed at negative low tides when the stumps are fully exposed.`},{name:`Nestucca Bay Wildlife Refuge Trails`,distance:`2.2 miles`,difficulty:`Easy`,elevation:`Gentle`,description:`Well-maintained trails leading to an upper observation deck with sweeping views of the bay, ocean, and coastal meadows.`}],Jve=[{name:`Proposal Rock Inn`,category:`Condo Hotel`,description:`Located in the heart of the village, offering comfortable condo-style accommodations with kitchens and fireplaces. Just steps from the beach and golf course.`,amenities:`Kitchens, Central Location`},{name:`The Breakers`,category:`Vacation Rentals`,description:`Oceanfront cottages and condos providing stunning views of Proposal Rock and the Pacific. Enjoy direct beach access and the sound of the waves.`,amenities:`Oceanfront, Views`},{name:`The Chelan`,category:`Historic Condos`,description:`Charming, privately owned condos located directly across from the beach. Known for their cozy atmosphere and proximity to the village center.`,amenities:`Beach Access, Cozy`},{name:`Neskowin Creek RV Resort`,category:`RV Park`,description:`Situated in a wooded setting just inland from the village. Offers RV sites, cabins, and amenities like an indoor pool and sports courts.`,amenities:`Pool, Family Friendly`},{name:`Vacation Rentals`,category:`Private Homes`,description:`Neskowin has a wide variety of private vacation homes for rent, ranging from modern luxury beach houses to rustic cabins tucked into the trees.`,amenities:`Various Options`}],Yve=[{name:`Hawk Creek Cafe`,category:`Casual Dining`,description:`A local favorite serving wood-fired pizzas, fresh seafood, and burgers. The outdoor patio is perfect for sunny days, located right by the creek.`,features:`Wood-fired Pizza, Patio`},{name:`Neskowin Trading Company`,category:`Bistro/Deli`,description:`Offers a gourmet deli counter, extensive wine selection, and bistro-style meals. It's the perfect spot for a quick lunch or picking up picnic supplies.`,features:`Gourmet Deli, Wine`},{name:`Village Scoop`,category:`Ice Cream`,description:`A seasonal treat shop offering delicious ice cream, candy, and espresso. A must-visit stop after a day on the beach or golf course.`,features:`Ice Cream, Sweets`},{name:`Dining Note`,category:`Information`,description:`Dining options within Neskowin are limited but high quality. For more extensive dining choices, Pacific City and Lincoln City are just a short drive away.`,features:`Local Info`}],J8=`Neskowin`,Xve=K(J8),Zve=({attraction:e,index:t})=>{let n=Ef(J8,e?.name);return(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),n&&(0,B.jsx)(X,{objectId:n.object_id,title:e.name,sourcePage:Xve,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`})]}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})})},Qve=({attractions:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`AttractionsSection: No attractions data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Explore the Hidden Gem`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Neskowin`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(Zve,{attraction:e,index:t},t))})]})})),$ve=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},eye=({trails:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`HikingTrailsSection: No trails data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`From the mystical Ghost Forest to the towering heights of Cascade Head, Neskowin offers unforgettable coastal adventures.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)($ve,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),tye=({hotels:e})=>{let t=`Neskowin`,n=[`Neskowin Creek RV Resort`,`Vacation Rentals`,`Coming Soon`,`Proposal Rock Inn`,`The Breakers`,`The Chelan`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},Y8=`Neskowin`,nye=K(Y8),rye=({restaurant:e})=>{let t=Sf(Y8,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:nye,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]})},X8=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),iye=({restaurants:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`RestaurantsSection: No restaurant data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Neskowin`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`While intimate, Neskowin offers delightful dining experiences, from wood-fired pizza to gourmet deli finds.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-start mb-16`,children:[(0,B.jsx)(`div`,{className:`space-y-6`,children:(0,B.jsx)(`div`,{className:`grid gap-6`,children:e.map((e,t)=>(0,B.jsx)(rye,{restaurant:e},t))})}),(0,B.jsxs)(`div`,{className:`space-y-8`,children:[(0,B.jsx)(X8,{src:`https://images.unsplash.com/photo-1594212699903-ec8a3eca50f5?auto=format&fit=crop&w=800&q=80`,alt:`Wood fired pizza`,caption:`Enjoy casual dining with a view`}),(0,B.jsx)(X8,{src:`https://images.unsplash.com/photo-1501443762994-82bd5dace89a?auto=format&fit=crop&w=800&q=80`,alt:`Ice cream cone`,caption:`Sweet treats for a beach day`})]})]})]})})),aye=()=>{(0,y.useEffect)(()=>{console.log(`NeskowinPage mounted`)},[]);let e=Y.neskowin,t=If(`Neskowin`),n=Lf(`Neskowin`),r=tj.neskowin;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Zx,{name:`Neskowin, Oregon`,description:n,url:window.location.href,image:r}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Neskowin, Oregon coastline`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Neskowin`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Neskowin`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-lime-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Neskowin Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:Kve}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Known for its quiet charm and the mysterious ancient "Ghost Forest" stumps on the beach.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||45.1032,lon:e?.geo?.lng||-123.9804,townName:`Neskowin`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Neskowin`,townSlug:`neskowin`,lat:e?.geo?.lat||45.1032,lon:e?.geo?.lng||-123.9804})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Neskowin`,featuredImage:r,title:`Neskowin in Photos`})}),(0,B.jsx)(Hj,{attractions:q8,townName:`Neskowin`}),(0,B.jsx)(Qve,{attractions:q8}),(0,B.jsx)(eye,{trails:qve}),(0,B.jsx)(tye,{hotels:Jve}),(0,B.jsx)(iye,{restaurants:Yve})]}),(0,B.jsx)(Ux,{})]})},oye=`Netarts is a quiet, unassuming gem tucked away on the Three Capes Scenic Route. Unlike the bustling tourist hubs to the north, Netarts feels like a secret shared among friends. It is a place defined by its pristine bay—one of the cleanest estuaries in the United States—where oyster farming is not just an industry but a way of life.

Here, the rhythm of the day is set by the tides. Visitors come to dig for clams in the rich mudflats, kayak through calm waters reflecting the evergreen hills, or simply watch the fog roll over Cape Lookout. With easy access to spectacular state parks, a legendary seafood scene, and an atmosphere of deep tranquility, Netarts is the perfect retreat for those seeking the authentic, slower-paced soul of the Oregon Coast.`,Z8=[{name:`Netarts Bay`,description:`The crown jewel of the area, this pristine estuary is famous for its high water quality and abundant marine life. It's a prime destination for crabbing, clamming, kayaking, and spotting harbor seals resting on the sandbars.`,details:`Water Recreation`},{name:`Netarts Spit`,description:`A long, sandy stretch separating the bay from the ocean. Accessible from Cape Lookout State Park, it offers miles of solitude, beachcombing, and the unique experience of having calm bay waters on one side and crashing ocean waves on the other.`,details:`Beach & Dunes`},{name:`Tunnel Beach`,description:`Located near Oceanside, this unique beach is accessed via a man-made tunnel through Maxwell Point. It opens up to a secluded cove filled with agates, sea caves, and dramatic rock formations.`,details:`Hidden Gem`},{name:`Cape Lookout State Park`,description:`A massive headland jutting two miles into the Pacific. The park features lush old-growth forests, a popular campground, and hiking trails that offer some of the best whale-watching vantage points on the coast.`,details:`State Park`},{name:`JAndy Oyster Co.`,description:`A local favorite for fresh shellfish. They grow their oysters right in Netarts Bay, ensuring the freshest possible taste. Visitors can buy bags of oysters to grill or enjoy them on-site.`,details:`Local Seafood`},{name:`Nevør Shellfish Farm`,description:`Another testament to the bay's bounty, Nevør Shellfish Farm offers sustainably grown oysters and clams. Their focus on quality and environmental stewardship makes them a staple of the local food scene.`,details:`Sustainable Farming`},{name:`Jacobsen Salt Company`,description:`Located right on the bay, this nationally renowned company harvests sea salt from the pristine waters of Netarts. They often have a small stand or shop where you can purchase their famous finishing salts.`,details:`Artisan Salt`},{name:`Bayocean Peninsula`,description:`The site of a town that fell into the sea. Once a resort community, it was reclaimed by nature. Now it's a fascinating place to hike, exploring the ghost forest and imagining the history of the lost town.`,details:`Historic Site`}],sye=[{name:`Cape Lookout Trail`,distance:`4.8 miles round trip`,difficulty:`Moderate`,elevation:`400 ft gain`,description:`One of the most spectacular hikes on the coast. The trail follows the headland tip, offering dizzying views of the ocean below. It's a prime spot for seeing gray whales during migration.`},{name:`Tunnel Beach Trail`,distance:`0.5 miles`,difficulty:`Easy`,elevation:`Flat`,description:`A short walk through the tunnel at Maxwell Point leads to the hidden beach. Note: Access can be limited during high tide, so check tide tables before visiting.`},{name:`Netarts Spit Trail`,distance:`10 miles round trip`,difficulty:`Moderate`,elevation:`Flat`,description:`A long, flat beach walk along the spit. You can go as far as you like. It's peaceful, sandy, and perfect for finding sand dollars and solitude.`},{name:`Cape Meares Loop Trail`,distance:`1.5 miles`,difficulty:`Easy`,elevation:`Minimal`,description:`Located just north, this trail features the Cape Meares Lighthouse, the famous 'Octopus Tree,' and breathtaking viewpoints of the coastline.`},{name:`Munson Creek Falls Trail`,distance:`0.5 miles`,difficulty:`Easy`,elevation:`Minimal`,description:`A short, family-friendly trail leading to the tallest waterfall in the Coast Range (319 feet). The path winds through an enchanting old-growth forest.`},{name:`Bayocean Spit Trail`,distance:`7.8 miles loop`,difficulty:`Moderate`,elevation:`Flat`,description:`Explore the site of the lost resort town. The trail offers a mix of bay and ocean views, walking through dunes and forest on the peninsula.`}],cye=[{name:`Terimore Lodging by the Sea`,category:`Beachfront`,description:`Classic coastal lodging located right on the edge of Netarts Bay. Rooms offer stunning views of the water, making it easy to watch the tides change from your balcony.`,amenities:`Bay Views, Kitchenettes, Pet Friendly`},{name:`The Surf Inn`,category:`Motel`,description:`A renovated, charming inn offering a comfortable and stylish base for your adventures. It's clean, modern, and located centrally in Netarts.`,amenities:`Modern Decor, Free WiFi, Parking`},{name:`Netarts Bay Garden RV Resort`,category:`RV & Camping`,description:`A well-maintained RV resort offering a quiet community atmosphere. It's walking distance to the bay and local shops, perfect for road trippers.`,amenities:`Full Hookups, Gardens, Boat Parking`},{name:`Vacation Rentals`,category:`Private Homes`,description:`Netarts has a wide selection of private vacation homes, from cozy A-frames to expansive luxury beach houses. Ideal for families or groups wanting a home-away-from-home experience.`,amenities:`Various Amenities, Kitchens, Privacy`},{name:`Note`,category:`Info`,description:`Accommodations in Netarts are more limited than in larger towns, which preserves its quiet charm. Booking well in advance is recommended, especially for summer weekends.`,amenities:`Plan Ahead`}],lye=[{name:`The Schooner Restaurant & Lounge`,category:`Seafood/Upscale`,description:`The culinary heart of Netarts. Located right on the bay, it serves incredibly fresh seafood, often sourced directly from the water you're looking at. The outdoor patio with fire pits is legendary.`,features:`Bayfront Dining, Fresh Oysters, Cocktails`},{name:`Upstairs Bar and Grill`,category:`Casual/Pub`,description:`A relaxed spot offering hearty pub fare, burgers, and seafood baskets. It has a friendly, local vibe and great views of the bay from the upper level.`,features:`Bay Views, Burgers, Sports`},{name:`Bayside Market & Deli`,category:`Deli/Market`,description:`More than just a convenience store, this market offers excellent deli sandwiches, pizza, and growler fills. It's the perfect stop for picnic supplies before heading to the beach.`,features:`Pizza, Deli Sandwiches, Growlers`},{name:`Fresh Seafood Market`,category:`Market`,description:`For those with a kitchen, buying fresh crab, clams, or oysters directly from local markets (like JAndy) is a must-do culinary experience in Netarts.`,features:`Fresh Catch, Take-and-Cook`},{name:`Note`,category:`Info`,description:`Dining options are few but high quality. For more variety, the town of Tillamook is just a short 15-minute drive east.`,features:`Limited Hours, Seasonal`}],Q8=`Netarts`,uye=K(Q8),dye=({attraction:e,index:t})=>{let n=Ef(Q8,e?.name);return(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),n&&(0,B.jsx)(X,{objectId:n.object_id,title:e.name,sourcePage:uye,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`})]}),(0,B.jsx)(`div`,{className:`bg-blue-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-blue-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-blue-700 bg-blue-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})})},fye=({attractions:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`AttractionsSection: No attractions data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-blue-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-blue-600 font-bold tracking-wider uppercase text-sm`,children:`Discover the Coast`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Netarts`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-blue-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(dye,{attraction:e,index:t},t))})]})})),$8=`Netarts`,pye=K($8),mye=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-blue-100 text-blue-800 border-blue-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},hye=({trails:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`HikingTrailsSection: No trails data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-blue-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Explore the Three Capes Scenic Route on foot. From the ancient forests of Cape Lookout to the sandy solitude of Netarts Spit, nature is waiting.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-blue-700 transition-colors`,children:e.name}),(()=>{let t=Tf($8,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:pye,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(mye,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),gye=({hotels:e})=>{let t=`Netarts`,n=[`Netarts Bay Garden RV Resort`,`Vacation Rentals`,`Note`,`Coming Soon`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},e5=`Netarts`,_ye=K(e5),t5=({restaurant:e})=>{let t=Sf(e5,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-blue-100 hover:border-blue-300 transition-all shadow-sm hover:shadow-md`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-blue-950`,children:e?.name||`Restaurant Name`}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:_ye,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-blue-600 bg-blue-100 px-2 py-1 rounded-md flex-shrink-0`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-blue-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-blue-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]})},vye=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-blue-500 pl-3`,children:n})})]}),yye=({restaurants:e})=>{if((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`RestaurantsSection: No restaurant data provided`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-blue-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-blue-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,2),n=e.slice(2);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-blue-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-blue-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Netarts`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Savor the flavor of the sea with locally grown oysters and fresh catch right from the bay.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-blue-900 border-b-2 border-blue-200 pb-2 inline-block`,children:`Local Favorites`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(t5,{restaurant:e},t))})]}),(0,B.jsx)(vye,{src:`https://images.unsplash.com/photo-1621351183204-58cb30d50712?auto=format&fit=crop&w=800&q=80`,alt:`Fresh Oysters`,caption:`World-famous Netarts Bay oysters`})]}),(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-blue-900 mb-8 text-center`,children:`Markets & Casual Eats`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-3 gap-6`,children:n.map((e,t)=>(0,B.jsx)(t5,{restaurant:e},t))})]})]})})},bye=()=>{(0,y.useEffect)(()=>{console.log(`NetartsPage mounted`)},[]);let e=Y.netarts,t=If(`Netarts`),n=Lf(`Netarts`),r=tj.netarts;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden`,children:[(0,B.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Netarts Bay`,className:`w-full h-full object-cover`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-black/30 to-black/70`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-center text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Netarts`}),(0,B.jsx)(`h1`,{className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight`,children:`Netarts`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 mb-12`,children:[(0,B.jsx)(`div`,{className:`lg:col-span-2`,children:(0,B.jsx)(r6,{townName:`Netarts`,initialDescription:oye},`Netarts-About`)}),(0,B.jsx)(`div`,{className:`lg:col-span-1`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||45.4312,lon:e?.geo?.lng||-123.9451,townName:`Netarts`})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Netarts`,townSlug:`netarts`,lat:e?.geo?.lat||45.4312,lon:e?.geo?.lng||-123.9451})})]}),(0,B.jsx)(Gj,{townName:`Netarts`,featuredImage:r,title:`Netarts in Photos`}),(0,B.jsx)(Hj,{attractions:Z8,townName:`Netarts`}),(0,B.jsx)(fye,{attractions:Z8}),(0,B.jsx)(hye,{trails:sye}),(0,B.jsx)(gye,{hotels:cye}),(0,B.jsx)(yye,{restaurants:lye})]}),(0,B.jsx)(Ux,{})]})},n5=`Newport`,xye=K(n5),Sye=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(()=>{let t=Ef(n5,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:xye,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),Cye=({attractions:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`AttractionsSection: No attractions data provided`):console.log(`AttractionsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Explore the Coast`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Newport`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(Sye,{attraction:e,index:t},t))})]})})),r5=`Newport`,wye=K(r5),Tye=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},Eye=({trails:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`HikingTrailsSection: No trails data provided`):console.log(`HikingTrailsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`From iconic headlands to quiet coastal forests, Newport offers diverse trails that showcase the region's stunning geology and wildlife.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(()=>{let t=Tf(r5,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:wye,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(Tye,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),Dye=({hotels:e})=>{let t=`Newport`,n=[`Inn at Nye Beach`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},i5=`Newport`,Oye=K(i5),a5=({restaurant:e})=>{let t=Sf(i5,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md h-full flex flex-col`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Oye,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md whitespace-nowrap flex-shrink-0`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed flex-grow`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50 mt-auto`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]})},o5=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),kye=({restaurants:e})=>{if((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`RestaurantsSection: No restaurant data provided`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,3),n=e.slice(3,5),r=e.slice(5,8),i=e.slice(8,12);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Newport`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`From fresh-off-the-boat seafood on the Bayfront to cozy bistros in Nye Beach, Newport is the culinary capital of the central coast.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block`,children:`Fine Dining & Seafood`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(a5,{restaurant:e},t))})]}),(0,B.jsx)(o5,{src:`https://images.unsplash.com/photo-1534080564583-6be75777b70a?auto=format&fit=crop&w=800&q=80`,alt:`Fresh seafood plate`,caption:`Fresh catch of the day served with bay views`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(o5,{src:`https://images.unsplash.com/photo-1661516497335-6af01d60c1b6`,alt:`Cozy brewpub interior with wooden tables and local atmosphere`,caption:`Newport's legendary pub & chowder scene`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block ml-auto`,children:`Icons & Breweries`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(a5,{restaurant:e},t))})]})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-3 gap-6 mb-16`,children:[(0,B.jsx)(`div`,{className:`md:col-span-3 text-center mb-4`,children:(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 inline-block`,children:`Global Flavors & Comfort Food`})}),r.map((e,t)=>(0,B.jsx)(a5,{restaurant:e},t)),(0,B.jsx)(`div`,{className:`h-full min-h-[200px] rounded-xl overflow-hidden shadow-md hidden md:block`,children:(0,B.jsx)(`img`,{src:`https://images.unsplash.com/photo-1626074353765-517a681e40be?auto=format&fit=crop&w=600&q=80`,alt:`Comfort food dining`,className:`w-full h-full object-cover`})})]}),(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 mb-8 text-center`,children:`Cafes, Bistros & Bakeries`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-4 gap-6`,children:i.map((e,t)=>(0,B.jsx)(a5,{restaurant:e},t))}),(0,B.jsx)(`div`,{className:`mt-8 text-center`,children:(0,B.jsx)(`img`,{src:`https://images.unsplash.com/photo-1497935586351-b67a49e012bf?auto=format&fit=crop&w=1200&h=300&q=80`,alt:`Bakery treats and coffee`,className:`w-full h-48 object-cover rounded-xl opacity-90`})})]})]})})},Aye=[{name:`Drift Creek Falls`,difficulty:`Easy/Moderate`,distance:`3 miles`,accessibility:3,description:`Dramatic 75-foot waterfall accessed via a stunning 240-foot suspension bridge. One of the most photographed hikes on the Oregon Coast, offering a perfect blend of old-growth forest, canyon views, and accessible adventure.`,notes:`Bridge is sturdy but can sway - not for those with extreme height fears. Parking pass required. Can be muddy in winter.`},{name:`Alsea Falls`,difficulty:`Easy`,distance:`0.5 miles`,accessibility:4,description:`A picturesque 35-foot waterfall on the South Fork of the Alsea River, accessible via a very short, easy trail. Perfect for families and those wanting a quick waterfall fix.`,notes:`Fully developed park with picnic areas and restrooms. Popular spot, especially on weekends. Swimming holes below the falls in summer.`}],jye=[{title:`Newport Seafood & Wine Festival`,date:`February 25–28, 2027`},{title:`Blessing of the Fleet`,date:`May 2027 (Memorial Day Weekend)`},{title:`Loyalty Days Celebration`,date:`May 1–3, 2027`},{title:`Coast Hills Classic Mountain Bike Race`,date:`May 2027`},{title:`Newport Marathon & Half`,date:`June 5, 2027`},{title:`National Night Out`,date:`August 4, 2026`}],Mye=()=>{(0,y.useEffect)(()=>{console.log(`NewportPage mounted`)},[]);let e=Y.newport,t=If(`Newport`),n=Lf(`Newport`),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/c6fc2828b4f0e652c620d7b1874dcdab.webp`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Newport, Oregon waterfront and bridge`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Newport`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-6xl md:text-8xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Newport`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-lime-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Newport Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:xj}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`A vibrant coastal city featuring the historic Bayfront, two lighthouses, and the renowned Oregon Coast Aquarium.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo.lat||44.6368,lon:e?.geo.lng||-124.0535,townName:`Newport`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Newport`,townSlug:`newport`,lat:e?.geo.lat||44.6368,lon:e?.geo.lng||-124.0535})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Newport`,featuredImage:r,title:`Newport in Photos`})}),(0,B.jsx)(Hj,{attractions:Sj,townName:`Newport`}),(0,B.jsx)(Cye,{attractions:Sj}),(0,B.jsx)(Eye,{trails:Cj}),(0,B.jsx)(R6,{townName:`Newport`,waterfalls:Aye,headerTitle:`Nearby Waterfalls`,headerSubtitle:`Newport's central coast location puts several Coast Range waterfalls within easy day-trip distance - perfect for days when the beach takes a back seat.`,ctaText:`Making Newport your base for waterfall hiking? Newport hotels put you within 30-45 minutes of Drift Creek Falls and Alsea Falls.`}),(0,B.jsx)(c6,{events:jye}),(0,B.jsx)(Dye,{hotels:wj}),(0,B.jsx)(kye,{restaurants:Tj})]}),(0,B.jsx)(Ux,{})]})},Nye=`
  <p>North Bend is the energetic northern neighbor of Coos Bay, located on the distinct peninsula where the magnificent McCullough Memorial Bridge spans the bay. Known for its rich diverse history, from shipbuilding to timber, North Bend today serves as the primary gateway to the Oregon Dunes National Recreation Area and the adventure that awaits there.</p>
  <p>The city skyline is dominated by the bridge—an engineering marvel of the 1930s—but looking closer reveals a town full of character. The waterfront boardwalk offers peaceful views of passing ships and working tugboats, while the downtown area features the historic Liberty Theatre and charming antique shops. It is a town that celebrates its connection to the water and the sand.</p>
  <p>For outdoor enthusiasts, North Bend is the launchpad for dune buggies, ATVs, and sandboarding at the nearby dunes. Yet, it balances this adrenaline with the quiet beauty of Simpson Park and the sophisticated entertainment of The Mill Casino. Whether you're here to ride the dunes, try your luck at the tables, or simply marvel at the bridge at sunset, North Bend offers a warm coastal welcome.</p>
`,s5=[{name:`McCullough Memorial Bridge`,description:`This iconic cantilever bridge is the defining landmark of the Southern Oregon Coast. Completed in 1936, it spans over a mile across Coos Bay. Its elegant gothic-style architecture makes it a favorite subject for photographers and a breathtaking drive.`,details:`Best viewed from the North Bend Boardwalk or Simpson Park.`},{name:`The Mill Casino • Hotel & RV Park`,description:`Located on the waterfront, this tribal casino offers 24-hour gaming, live entertainment, and several dining options. It's a major hub for nightlife in the area and hosts numerous events and concerts throughout the year.`,details:`Owned by the Coquille Indian Tribe. Waterfront views.`},{name:`Oregon Dunes National Recreation Area`,description:`North Bend is the northern gateway to this massive expanse of wind-sculpted sand. The Horsfall area offers diverse riding opportunities for OHVs, as well as hiking trails and beach access for those on foot.`,details:`OHV rentals available nearby. Recreation pass required.`},{name:`North Bend Boardwalk`,description:`A scenic wooden boardwalk along the bayfront that offers unobstructed views of the bridge and the harbor. It's a peaceful place for a morning walk, watching the fishing boats, or enjoying a picnic.`,details:`Free public access. Located near downtown.`},{name:`Simpson Park`,description:`Originally the estate of town founder Louis Simpson, this park preserves beautiful grounds and forest trails. It's a quiet retreat right in the city, perfect for families and history buffs.`,details:`Features a playground and covered picnic areas.`},{name:`Liberty Theatre`,description:`A beautifully restored historic theatre that serves as the cultural heart of North Bend. It hosts the Little Ole Opry, movie screenings, and community theater productions in an intimate, classic setting.`,details:`Check local listings for showtimes and events.`},{name:`Pony Village Mall`,description:`The largest indoor shopping mall on the Oregon Coast. While it offers modern shopping, its name pays homage to the area's history and the 'Pony Slough' that winds behind it.`,details:`Shopping, dining, and cinema.`},{name:`Coos Historical & Maritime Museum`,description:`Located just across the line in Coos Bay but essential to North Bend's story, this modern museum on the waterfront details the region's logging, shipping, and indigenous history.`,details:`Interactive exhibits and gift shop.`},{name:`Horsfall Beach`,description:`A stunning, wide stretch of sandy beach accessible via the dunes. It's a popular spot for beachcombing, watching the waves, and seeing the dune riders in the distance.`,details:`Day-use fee area. Great for sunsets.`},{name:`David Dewett Veterans Memorial`,description:`Located at the entrance to Simpson Park, this moving memorial honors local veterans. It is beautifully maintained and offers a moment of reflection amidst the park setting.`,details:`Open to the public year-round.`}],Pye=[{name:`Bluebill Lake Trail`,distance:`1.25 miles loop`,difficulty:`Easy`,description:`A fantastic, accessible trail that circles a freshwater lake surrounded by dunes and forest. The boardwalk sections make it easy for families, and it's a prime spot for birdwatching.`},{name:`Simpson Park Wilderness Trail`,distance:`1.5 miles loop`,difficulty:`Moderate`,description:`Winds through the dense forest of Simpson Park. Despite being in town, the tall trees and lush ferns make you feel miles away. A hidden gem for a quick nature fix.`},{name:`Horsfall Dunes Loop`,distance:`2.0 miles loop`,difficulty:`Moderate`,description:`Experience the open sand. This trail guides you through the shifting dunes to the beach. Walking in sand adds a challenge, but the stark beauty of the landscape is worth it.`},{name:`North Spit Trail`,distance:`4-8 miles varying`,difficulty:`Moderate`,description:`Located across the bay (access via dunes or boat), the North Spit offers miles of rugged, remote hiking along the bay and ocean, often with snowy plover nesting areas (seasonal restrictions apply).`},{name:`Empire Lakes Trail`,distance:`2.0 miles loop`,difficulty:`Easy`,description:`Located nearby in Coos Bay/North Bend border area. A gentle trail around the lower and upper lakes, popular for jogging and fishing access.`},{name:`John Topits Park Trail`,distance:`3.5 miles network`,difficulty:`Easy`,description:`A network of paved and unpaved trails winding through the Empire Lakes area. It offers a mix of forest and lake views, suitable for all ages.`}],Fye=[{name:`The Mill Casino • Hotel`,category:`Resort/Casino`,description:`The premier lodging destination in North Bend. Rooms offer bay views, and guests have immediate access to the casino floor, restaurants, and pool. The waterfront location is stunning.`,amenities:`Pool, hot tub, multiple restaurants, casino, bay views.`},{name:`Quality Inn & Suites at Coos Bay`,category:`Mid-Range`,description:`Located in North Bend (despite the name), this hotel offers reliable comfort set back in a quiet wooded area near the mall. Known for its lush garden setting and good breakfast.`,amenities:`Hot breakfast, hot tub, quiet location.`},{name:`City Center Motel`,category:`Budget/Motel`,description:`A classic, retro-style motel located right in downtown North Bend. It's clean, affordable, and walkable to local cafes and the Liberty Theatre.`,amenities:`Free WiFi, pet-friendly, central location.`},{name:`Bay Bridge Motel`,category:`Budget`,description:`Situated near the bridge approach, this motel offers basic, no-frills accommodation. It's a convenient stopover for travelers focusing on the scenic drive.`,amenities:`Bridge views, economical rates.`},{name:`Itty Bitty Inn`,category:`Unique/Budget`,description:`A quirky, retro roadside inn with themed rooms and a lot of personality. It offers bike rentals and growler fills, catering to the adventurous traveler.`,amenities:`Themed rooms, bike rentals, eco-friendly.`}],Iye=[{name:`The Plank House`,category:`Steak/Seafood`,description:`Located inside The Mill Casino, this restaurant offers fine dining with a view of the bay. The menu features locally sourced seafood, steaks, and an extensive wine list.`,features:`Waterfront view, romantic atmosphere, Sunday brunch.`},{name:`Ciccarelli's Restaurant`,category:`Italian/Steakhouse`,description:`A local institution located in a historic building. Known for its high-quality steaks, homemade pastas, and a beautiful outdoor garden patio featuring live music.`,features:`Garden dining, espresso bar, fresh roasted coffee.`},{name:`The Pancake Mill`,category:`Breakfast/Diner`,description:`Famous for its massive menu of pancakes and waffles. It's a bustling morning spot where locals gather for hearty breakfasts and pies.`,features:`All-day breakfast, homemade pies, family-friendly.`},{name:`Tai's Dynasty`,category:`Chinese`,description:`A long-standing favorite for Chinese cuisine in the area. Known for its large portions, friendly service, and reliable classics.`,features:`Family style, takeout, cocktail lounge.`},{name:`Kozy Kitchen`,category:`Diner`,description:`A classic American diner serving comfort food. From burgers to meatloaf, it's unpretentious and satisfying cooking.`,features:`Comfort food, generous portions, local vibe.`},{name:`Yeong's Place`,category:`Burgers/American`,description:`A hidden gem known for arguably the best burgers in town. It's a small, casual spot with a loyal following.`,features:`Gourmet burgers, casual atmosphere.`},{name:`Tin Thistle`,category:`Vegan/Vegetarian`,description:`A refreshing spot offering whole-food, plant-based meals. Their bowls, burgers, and baked goods are delicious even for non-vegetarians.`,features:`100% plant-based, organic ingredients, healthy options.`},{name:`Captain's Choice Fish House`,category:`Seafood/Fish & Chips`,description:`Located near the boardwalk, this spot serves up fresh fish and chips and chowder. It's casual, quick, and authentic.`,features:`Fresh catch, outdoor seating, quick service.`}],c5=`North Bend`,Lye=K(c5),Rye=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(()=>{let t=Ef(c5,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Lye,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),zye=({attractions:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`AttractionsSection: No attractions data provided`):console.log(`AttractionsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Bridges, Dunes & History`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in North Bend`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(Rye,{attraction:e,index:t},t))})]})})),l5=`North Bend`,Bye=K(l5),Vye=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},Hye=({trails:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`HikingTrailsSection: No trails data provided`):console.log(`HikingTrailsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Discover trails that traverse sandy dunes, wind through coastal pine forests, and circle serene freshwater lakes—all within minutes of town.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(()=>{let t=Tf(l5,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Bye,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(Vye,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),Uye=({hotels:e})=>{let t=`North Bend`;return(0,B.jsx)(a6,{townName:t,fallbackHotels:e,affiliateHotels:jC[t]})},u5=`North Bend`,Wye=K(u5),d5=({restaurant:e})=>(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),(()=>{let t=Sf(u5,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Wye,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`}):null})()]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]}),f5=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),Gye=({restaurants:e})=>{if((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`RestaurantsSection: No restaurant data provided`):console.log(`RestaurantsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,2),n=e.slice(2,5),r=e.slice(5);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in North Bend`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`From elegant casino steak dinners to classic local diners and fresh seafood markets, North Bend offers diverse flavors for every palate.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block`,children:`Dinner & Date Night`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(d5,{restaurant:e},t))})]}),(0,B.jsx)(f5,{src:`https://images.unsplash.com/photo-1544148103-0773bf10d330?auto=format&fit=crop&w=800&q=80`,alt:`Fine dining seafood`,caption:`Elegant flavors with coastal flair`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(f5,{src:`https://images.unsplash.com/photo-1533777857889-4be7c70b33f7?auto=format&fit=crop&w=800&q=80`,alt:`Pancakes and breakfast`,caption:`Legendary local breakfast spots`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block ml-auto`,children:`Local Favorites`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(d5,{restaurant:e},t))})]})]}),(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 mb-8 text-center`,children:`Casual Eats & Healthy Bites`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-3 gap-6`,children:r.map((e,t)=>(0,B.jsx)(d5,{restaurant:e},t))}),(0,B.jsx)(`div`,{className:`mt-8 text-center`,children:(0,B.jsx)(`img`,{src:`https://images.unsplash.com/photo-1512621776951-a57141f2eefd?auto=format&fit=crop&w=1200&h=300&q=80`,alt:`Fresh healthy food`,className:`w-full h-48 object-cover rounded-xl opacity-90`})})]})]})})},Kye=[{title:`Charleston Seafood Festival`,date:`August 8–9, 2026`},{title:`Blackberry Arts Festival`,date:`August 22, 2026`},{title:`Bay Area Fun Festival`,date:`September 19–20, 2026`},{title:`Shore Acres Holiday Lights`,date:`November 26 – December 31, 2026`},{title:`Coos Bay Wine Walk`,date:`First Friday of every month`}],qye=()=>{(0,y.useEffect)(()=>{console.log(`NorthBendPage mounted`)},[]);let e=If(`North Bend`),t=Lf(`North Bend`),n=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/072208077f88884fb8012cdedd684f53.webp`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:e}),(0,B.jsx)(`meta`,{name:`description`,content:t}),(0,B.jsx)(`meta`,{property:`og:title`,content:e}),(0,B.jsx)(`meta`,{property:`og:description`,content:t})]}),(0,B.jsx)(Zx,{name:`North Bend Oregon Travel`,description:t,url:`https://oregoncoastal.com/town/north-bend`,image:n}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:n,alt:`McCullough Memorial Bridge North Bend`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`North Bend`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`North Bend`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-lime-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About North Bend Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:Nye}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Located on the beautiful Oregon Coast, North Bend offers unforgettable scenic views, bridges, dunes, and coastal history.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:43.4065,lon:-124.2243,townName:`North Bend`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`North Bend`,townSlug:`north-bend`,lat:43.4065,lon:-124.2243})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`North Bend`,featuredImage:n,title:`North Bend in Photos`})}),(0,B.jsx)(Hj,{attractions:s5,townName:`North Bend`}),(0,B.jsx)(zye,{attractions:s5}),(0,B.jsx)(Hye,{trails:Pye}),(0,B.jsx)(c6,{events:Kye}),(0,B.jsx)(Uye,{hotels:Fye}),(0,B.jsx)(Gye,{restaurants:Iye})]}),(0,B.jsx)(Ux,{})]})},Jye=`Oceanside is a dramatic, amphitheater-like village built into a steep hillside facing the Pacific Ocean. Known for its spectacular views of Three Arch Rocks and its unique tunnel access to hidden beaches, it offers a front-row seat to the raw power of the Oregon Coast.

This tiny community feels suspended in time and place, removed from the highway bustle. It is a haven for rockhounds searching for agates, birdwatchers observing puffins on the offshore rocks, and anyone seeking the profound quiet that comes with watching the waves crash against the cliffs.`,p5=[{name:`Three Arch Rocks`,description:`These iconic sea stacks dominate the horizon and form the first National Wildlife Refuge established west of the Mississippi. They are home to thousands of nesting seabirds, including tufted puffins, and a massive colony of sea lions.`,details:`National Wildlife Refuge`},{name:`Tunnel Beach`,description:`Accessible through a man-made tunnel in Maxwell Point (during low tide), this secluded cove is a magical spot filled with sea caves, jagged rocks, and tide pools waiting to be explored.`,details:`Hidden Gem`},{name:`Oceanside Beach`,description:`The main beach offers easy access and wide sandy stretches perfect for walking, picnicking, and watching paragliders land on the shore. It's renowned for agate hunting, especially after winter storms.`,details:`Agate Hunting`},{name:`Cape Meares`,description:`Just north of town, this headland features a historic lighthouse, the famous 'Octopus Tree', and panoramic viewpoints where you can spot migrating gray whales.`,details:`State Scenic Viewpoint`},{name:`Short Beach`,description:`Located between Oceanside and Cape Meares, this hidden beach is reached via a long wooden staircase (approx. 100 steps). It's quiet, beautiful, and features a unique 'larsonite' waterfall.`,details:`Secluded Access`},{name:`Anderson's Viewpoint`,description:`A stunning roadside pullout high above the ocean on the Three Capes Scenic Route. It offers one of the most photographed vistas of Three Arch Rocks and the endless Pacific horizon.`,details:`Scenic Lookout`},{name:`WWII Radar Station`,description:`Hidden in the brush near the top of the hill, the concrete remnants of a World War II radar station offer a glimpse into history and a commanding view of the coastline.`,details:`Historical Site`},{name:`Rockhounding`,description:`Oceanside is premier territory for finding agates, jaspers, and zeolites. The gravel beds exposed at low tide are treasure chests for patient beachcombers.`,details:`Activity`}],Yye=[{name:`Oceanside Beach Trail`,distance:`Varies`,difficulty:`Easy`,elevation:`Flat`,description:`A refreshing walk along the shoreline. At low tide, you can walk miles south towards Netarts Spit, enjoying the sound of the surf and the search for sea glass.`},{name:`Maxwell Point Tunnel`,distance:`0.5 miles`,difficulty:`Moderate`,elevation:`Rocky`,description:`Not a long hike, but an adventure. Navigate through the dark tunnel (bring a light!) and scramble over rocks to reach the secluded Tunnel Beach on the other side.`},{name:`Cape Meares Lighthouse Loop`,distance:`0.5 miles`,difficulty:`Easy`,elevation:`Minimal`,description:`Paved paths lead from the parking area to the lighthouse and various viewpoints. It's accessible and offers some of the best views on the entire coast.`},{name:`Octopus Tree Trail`,distance:`0.2 miles`,difficulty:`Easy`,elevation:`Flat`,description:`A very short walk to see the massive Sitka spruce with its candelabra-shaped branches. This tree was culturally significant to local tribes and is a botanical wonder.`},{name:`Cape Lookout Trail`,distance:`4.8 miles`,difficulty:`Moderate`,elevation:`400 ft`,description:`A short drive south, this trail takes you to the tip of the cape. You're hiking 400 feet above the ocean with sheer cliffs dropping away on both sides.`},{name:`Netarts Bay Kayaking`,distance:`Varies`,difficulty:`Moderate`,elevation:`Water`,description:`Launch from nearby Netarts and paddle the calm waters of the bay. It's an excellent way to see the area from a different perspective and spot harbor seals.`}],Xye=[{name:`Oceanside Inn`,category:`Hotel`,description:`Perched right on the beachfront, offering rooms with unhindered views of the ocean. Fall asleep to the sound of crashing waves just feet from your window.`,amenities:`Oceanfront, WiFi, Kitchenettes`},{name:`Ocean Front Cabins`,category:`Cabins`,description:`Charming, rustic cabins located directly overlooking the beach. They offer a cozy, private experience perfect for couples or solo travelers seeking solitude.`,amenities:`Private Decks, Fireplaces, Views`},{name:`Turtlejanes B&B`,category:`Bed & Breakfast`,description:`A welcoming B&B with a reputation for hospitality and spectacular views. Enjoy a homemade breakfast while watching the morning light hit Three Arch Rocks.`,amenities:`Breakfast, Ocean Views, Cozy`},{name:`Vacation Rentals`,category:`Private Homes`,description:`Because Oceanside is built on a hillside, almost every vacation rental boasts an incredible view. Options range from modern luxury homes to vintage beach shacks.`,amenities:`Kitchens, Decks, Family Friendly`},{name:`Note`,category:`Info`,description:`Lodging in Oceanside is limited and popular. It is highly recommended to book well in advance, especially for summer dates and storm-watching season.`,amenities:`Book Early`}],Zye=[{name:`Roseanna's Cafe`,category:`Seafood/Dessert`,description:`An institution in Oceanside. Famous for its delicious seafood chowder, massive desserts, and a dining room that feels like it's hovering over the ocean.`,features:`Ocean Views, Local Legend, Chowder`},{name:`Blue Agate Cafe`,category:`Breakfast/Lunch`,description:`A cozy spot for hearty breakfasts and lunch specials. It's the community hub where locals and visitors mix over coffee and pancakes.`,features:`Comfort Food, Friendly, Casual`},{name:`Current Cafe`,category:`Cafe/Bistro`,description:`A modern addition to the scene, offering artisanal coffee, light bites, and fresh ingredients. A perfect spot to grab a latte before a beach walk.`,features:`Espresso, Light Eats, Modern`},{name:`Three Arch Coffee`,category:`Coffee Shop`,description:`Serving up hot drinks to warm you up after a windy day on the beach. Great for grabbing a quick pastry and watching the waves.`,features:`Coffee, Pastries, To-Go`},{name:`Note`,category:`Info`,description:`Dining options are limited in this small village. For more variety, including grocery stores, the town of Tillamook is about 20 minutes away.`,features:`Limited Hours, Seasonal`}],m5=`Oceanside`,Qye=K(m5),$ye=({attraction:e,index:t})=>{let n=Ef(m5,e?.name);return(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),n&&(0,B.jsx)(X,{objectId:n.object_id,title:e.name,sourcePage:Qye,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`})]}),(0,B.jsx)(`div`,{className:`bg-cyan-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-cyan-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-cyan-700 bg-cyan-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})})},ebe=({attractions:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`AttractionsSection: No attractions data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-cyan-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-cyan-600 font-bold tracking-wider uppercase text-sm`,children:`Discover the Coast`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Oceanside`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-cyan-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)($ye,{attraction:e,index:t},t))})]})})),h5=`Oceanside`,tbe=K(h5),nbe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-teal-100 text-teal-800 border-teal-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},rbe=({trails:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`HikingTrailsSection: No trails data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-teal-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Explore the Three Capes Scenic Route. From secret tunnels to ancient forests and lighthouse views, the trails here are unforgettable.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-teal-700 transition-colors`,children:e.name}),(()=>{let t=Tf(h5,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:tbe,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(nbe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),ibe=({hotels:e})=>{let t=`Oceanside`,n=[`Vacation Rentals`,`Note`,`Coming Soon`,`Ocean Front Cabins`,`Turtlejanes B&B`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},g5=`Oceanside`,abe=K(g5),_5=({restaurant:e})=>{let t=Sf(g5,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-sky-100 hover:border-sky-300 transition-all shadow-sm hover:shadow-md`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-sky-950`,children:e?.name||`Restaurant Name`}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:abe,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-sky-600 bg-sky-100 px-2 py-1 rounded-md flex-shrink-0`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-sky-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-sky-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]})},obe=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-sky-500 pl-3`,children:n})})]}),sbe=({restaurants:e})=>{if((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`RestaurantsSection: No restaurant data provided`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-sky-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-sky-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,2),n=e.slice(2);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-sky-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-sky-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Oceanside`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Small town, big flavors. Enjoy fresh local seafood with a side of panoramic ocean views.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-sky-900 border-b-2 border-sky-200 pb-2 inline-block`,children:`Oceanfront Favorites`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(_5,{restaurant:e},t))})]}),(0,B.jsx)(obe,{src:`https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=800&q=80`,alt:`Seafood dinner`,caption:`Dining with a view of Three Arch Rocks`})]}),(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-sky-900 mb-8 text-center`,children:`Cafes & Coffee`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-3 gap-6`,children:n.map((e,t)=>(0,B.jsx)(_5,{restaurant:e},t))})]})]})})},cbe=()=>{(0,y.useEffect)(()=>{console.log(`OceansidePage mounted`)},[]);let e=Y.oceanside,t=If(`Oceanside`),n=Lf(`Oceanside`),r=tj.oceanside;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden`,children:[(0,B.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Oceanside, Oregon coastline`,className:`w-full h-full object-cover object-top`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-black/30 to-black/70`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-center text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Oceanside`}),(0,B.jsx)(`h1`,{className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight`,children:`Oceanside`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 mb-12`,children:[(0,B.jsx)(`div`,{className:`lg:col-span-2`,children:(0,B.jsx)(r6,{townName:`Oceanside`,initialDescription:Jye},`Oceanside-About`)}),(0,B.jsx)(`div`,{className:`lg:col-span-1`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||45.459,lon:e?.geo?.lng||-123.9687,townName:`Oceanside`})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Oceanside`,townSlug:`oceanside`,lat:e?.geo?.lat||45.459,lon:e?.geo?.lng||-123.9687})})]}),(0,B.jsx)(Gj,{townName:`Oceanside`,featuredImage:r,title:`Oceanside in Photos`}),(0,B.jsx)(Hj,{attractions:p5,townName:`Oceanside`}),(0,B.jsx)(ebe,{attractions:p5}),(0,B.jsx)(rbe,{trails:Yye}),(0,B.jsx)(ibe,{hotels:Xye}),(0,B.jsx)(sbe,{restaurants:Zye})]}),(0,B.jsx)(Ux,{})]})},lbe=`
  <p>Welcome to Otter Rock, a hidden gem on the Central Oregon Coast often called the "Waikiki of Oregon" for its protected beach and beginner-friendly surf breaks. Nestled between Newport and Depoe Bay, this small community sits atop dramatic sandstone cliffs overlooking the Pacific Ocean, offering some of the most spectacular vantage points in the region.</p>
  <p>The crown jewel of Otter Rock is the Devil's Punchbowl State Natural Area, a collapsed sea cave where churning waves swirl and thunder during high tide, creating a mesmerizing natural cauldron. During low tide, visitors can safely hike into the punchbowl itself to explore colorful tide pools teeming with starfish, anemones, and crabs. The area is also a designated Marine Reserve, ensuring pristine waters and abundant wildlife.</p>
  <p>Beyond the geology, Otter Rock is a haven for relaxation. Whether you're staying at the cliffside Inn at Otter Crest, spotting gray whales from the headlands, or enjoying a bowl of clam chowder with an ocean view, this quiet village offers an intimate connection to the rugged beauty of the Oregon coastline.</p>
`,v5=[{name:`Devil's Punchbowl State Natural Area`,description:`A hollow rock formation shaped like a giant punch bowl. Violent waves churn, swirl, and foam inside during high tide, while low tide reveals a walkable marine garden inside the collapsed cave.`,details:`Free parking. Best viewed at high tide for action, low tide for hiking.`,address:`1st St, Otter Rock, OR`},{name:`Otter Rock Marine Reserve`,description:`One of Oregon's five dedicated marine reserves, protecting 1.2 square miles of ocean habitat. It's a prime spot for scientific research and offers protected waters for seabirds and marine mammals.`,details:`No fishing or harvesting allowed.`,address:`Offshore, Otter Rock, OR`},{name:`Otter Rock Beach`,description:`Known locally as the 'Waikiki of Oregon,' this sheltered sandy beach is famous for its manageable waves, making it one of the best spots on the coast for beginner surfers and bodyboarders.`,details:`Access via trail from Devil's Punchbowl parking.`,address:`Otter Rock, OR`},{name:`Otter Crest Loop`,description:`A scenic section of the old Oregon Coast Highway. This narrow, one-way road winds along the cliff edge, offering breathtaking unobstructed views of the ocean and coastline.`,details:`One-way southbound traffic only.`,address:`Otter Crest Loop, Otter Rock, OR`},{name:`Cape Foulweather`,description:`Just north of Otter Rock, this headland rises 500 feet above the sea. It was the first point on the Oregon Coast sighted by Captain James Cook in 1778 and offers panoramic views.`,details:`Gift shop and viewing area at the summit.`,address:`Otter Crest Loop, Otter Rock, OR`},{name:`Flying Dutchman Winery`,description:`Perched on the cliffs, this is one of the only wineries where you can watch whales while tasting award-winning Pinot Noir. A unique coastal wine experience.`,details:`Tasting room with ocean views.`,address:`915 1st St, Otter Rock, OR`},{name:`Beverly Beach State Park`,description:`Located just south of town, this popular park features a large campground nestled in the forest and easy access to a long expanse of sandy beach extending to Newport.`,details:`Camping, yurts, and day-use access.`,address:`198 NE 123rd St, Newport, OR (Adjacent)`},{name:`The Lookout Observatory`,description:`A dedicated viewing platform at Cape Foulweather providing high-powered spotting scopes. It is one of the premier land-based whale watching sites in the world.`,details:`Located at the Gift Shop.`,address:`Cape Foulweather, Otter Rock, OR`}],ube=[{name:`Devil's Punchbowl Entry Trail`,distance:`0.5 miles round trip`,difficulty:`Moderate`,elevation:`Steep descent`,description:`A short but steep trail leading from the parking area down to the beach. Vital for accessing the inside of the Punchbowl at low tide.`},{name:`Otter Crest Beach Tide Pool Walk`,distance:`1.0 mile variable`,difficulty:`Easy`,elevation:`Flat (Sand/Rock)`,description:`Explore the rich intertidal zone protected by the Marine Reserve. Navigate slippery rocks to find urchins, sea stars, and gumboot chitons.`},{name:`Beverly Beach Walk`,distance:`3.0 miles round trip`,difficulty:`Easy`,elevation:`Flat`,description:`A classic beach walk from Otter Rock south to Spencer Creek. Wide sands and fossil hunting opportunities make this a local favorite.`},{name:`Otter Crest Loop Walking Path`,distance:`2.5 miles one way`,difficulty:`Moderate`,elevation:`Gentle climb`,description:`Walk along the scenic roadway (safely) or the adjacent paths to enjoy high-elevation ocean views without the car.`},{name:`Cape Foulweather Trail`,distance:`0.5 miles`,difficulty:`Easy`,elevation:`100 ft gain`,description:`A paved path connecting viewpoints at the summit. On a clear day, you can see 40 miles out to sea and south to Yaquina Head.`},{name:`Drift Creek Falls Trail`,distance:`3.0 miles round trip`,difficulty:`Moderate`,elevation:`540 ft gain`,description:`Located inland from Otter Rock, this famous trail features a 240-foot suspension bridge crossing a canyon with a spectacular waterfall view.`}],dbe=[{name:`The Inn at Otter Crest`,category:`Resort`,description:`A 35-acre oceanfront resort nestled into the forest and cliffs. Rooms feature private balconies with stunning ocean views, and the property includes a pool, hot tub, and private beach access.`,amenities:`Ocean views, heated pool, walking trails, private beach cove.`},{name:`Alpine Chalets`,category:`Vacation Rentals`,description:`Charming A-frame chalets located directly overlooking the ocean. These standalone units offer privacy and panoramic views of the Devil's Punchbowl area.`,amenities:`Kitchens, fireplaces, oceanfront decks.`},{name:`Otter Rock Vacation Rentals`,category:`Private Homes`,description:`Various private cliffside homes and cottages available for rent. Perfect for families wanting a full house experience with kitchens and direct beach access.`,amenities:`Full kitchens, multi-room, pet-friendly options.`}],fbe=[{name:`Mo's West at Otter Rock`,category:`Casual Seafood`,description:`A satellite location of the famous Mo's, offering their legendary clam chowder with a view of the Punchbowl. Casual, counter-service style perfect for a beach day.`,features:`Clam chowder, fish & chips, ocean view.`},{name:`Flying Dutchman Winery`,category:`Winery`,description:`While primarily a winery, they offer cheese plates and snacks to accompany their wine flights. The cliffside location makes it a premier spot for a relaxing afternoon drink.`,features:`Wine tasting, light bites, patio seating.`},{name:`Cliffside Coffee & Sweets`,category:`Cafe`,description:`A cozy spot for espresso, saltwater taffy, and homemade fudge. Grab a hot drink to warm up after exploring the windy headlands.`,features:`Espresso, fudge, ice cream.`},{name:`Sea Glass Bistro`,category:`American`,description:`Located within the Inn at Otter Crest (seasonal availability), offering breakfast and dinner with forest and ocean views. Known for hearty breakfasts.`,features:`Resort dining, forest views, breakfast.`},{name:`Pura Vida Surf Shop`,category:`Snacks/Gear`,description:`The local surf hub that also offers quick energy snacks and drinks for surfers heading down to the beach. The vibe is authentically coastal.`,features:`Surf gear, cold drinks, snacks.`}],y5=`Otter Rock`,pbe=K(y5),mbe=({attraction:e,index:t})=>{let n=Ef(y5,e?.name);return(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name}),n&&(0,B.jsx)(X,{objectId:n.object_id,title:e.name,sourcePage:pbe,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`})]}),(0,B.jsx)(`div`,{className:`bg-blue-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-blue-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-blue-700 bg-blue-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})})},hbe=({attractions:e})=>!e||e.length===0?null:(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-blue-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-blue-600 font-bold tracking-wider uppercase text-sm`,children:`Geology & Marine Life`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Wonders of the Rock`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-blue-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6`,children:e.map((e,t)=>(0,B.jsx)(mbe,{attraction:e,index:t},t))})]})}),gbe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Easy),children:e})},_be=({trails:e})=>!e||e.length===0?null:(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-teal-600`}),`Cliffside Trails & Beach Walks`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Explore the unique geology of the Devil's Punchbowl or take a long, peaceful walk along Beverly Beach.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-teal-700 transition-colors`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(gbe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})}),vbe=({hotels:e})=>{let t=`Otter Rock`,n=[`Otter Rock Vacation Rentals`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},b5=`Otter Rock`,ybe=K(b5),bbe=({restaurant:e})=>{let t=Sf(b5,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-teal-100 hover:border-teal-300 transition-all shadow-sm hover:shadow-md h-full flex flex-col`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-teal-950`,children:e?.name}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:ybe,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-teal-600 bg-teal-100 px-2 py-1 rounded-md whitespace-nowrap`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed flex-grow`,children:e?.description}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-teal-100/50 mt-auto`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-teal-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]})},xbe=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-teal-500 pl-3`,children:n})})]}),Sbe=({restaurants:e})=>!e||e.length===0?null:(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-teal-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Otter Rock`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`From famous chowder to cliffside wine tasting, enjoy local flavors with a view of the Pacific.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(xbe,{src:`https://images.unsplash.com/photo-1666616881093-1131c83669dd`,alt:`Casual seafood restaurant with family dining atmosphere`,caption:`Chowder & Ocean Views`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-teal-900 border-b-2 border-teal-200 pb-2 inline-block ml-auto`,children:`Local Eats`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:e.map((e,t)=>(0,B.jsx)(bbe,{restaurant:e},t))})]})]})]})}),Cbe=()=>{(0,y.useEffect)(()=>{console.log(`OtterRockPage mounted`)},[]);let e=Y[`otter-rock`],t=`Otter Rock`,n=If(t),r=Lf(t),i=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/db7f80fe48b5bd85006a138f546efff8.webp`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:n}),(0,B.jsx)(`meta`,{name:`description`,content:r}),(0,B.jsx)(`meta`,{property:`og:title`,content:n}),(0,B.jsx)(`meta`,{property:`og:description`,content:r})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsx)(Zx,{name:t,description:r,image:i,geo:{lat:44.7523,lng:-124.0673},url:`https://oregoncoastal.com/town/otter-rock`}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden`,children:[(0,B.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:i,alt:`Otter Rock coastline and Devil's Punchbowl`,className:`w-full h-full object-cover`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-black/30 to-black/70`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-center text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(`span`,{className:`text-teal-400 font-bold uppercase tracking-widest text-sm md:text-base mb-4 drop-shadow-md`,children:`Central Coast`}),(0,B.jsx)(`h1`,{className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-2`,children:`Otter Rock`}),(0,B.jsx)(`p`,{className:`text-xl text-white/90 font-light tracking-wide drop-shadow-md`,children:`Gateway to the Devil's Punchbowl`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto town-grid-layout mb-12`,children:[(0,B.jsx)(`div`,{className:`town-about-section`,children:(0,B.jsx)(r6,{townName:`Otter Rock`,initialDescription:lbe})}),(0,B.jsx)(`div`,{className:`town-weather-section`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||44.7523,lon:e?.geo?.lng||-124.0673,townName:`Otter Rock`})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Otter Rock`,townSlug:`otter-rock`,lat:e?.geo?.lat||44.7523,lon:e?.geo?.lng||-124.0673})})]}),(0,B.jsx)(Gj,{townName:`Otter Rock`,featuredImage:i,title:`Otter Rock in Photos`}),(0,B.jsx)(Hj,{attractions:v5,townName:`Otter Rock`}),(0,B.jsx)(hbe,{attractions:v5}),(0,B.jsx)(_be,{trails:ube}),(0,B.jsx)(vbe,{hotels:dbe}),(0,B.jsx)(Sbe,{restaurants:fbe})]}),(0,B.jsx)(Ux,{})]})},wbe=`
  <p>Perched at the base of majestic Cape Kiwanda on Oregon's scenic Three Capes Loop, Pacific City offers visitors a unique blend of outdoor adventure, craft beer culture, and small-town charm. This community of just over 1,000 residents is home to Oregon's tallest Haystack Rock—a massive 327-foot sea stack rising dramatically offshore, over 100 feet taller than Cannon Beach's famous namesake.</p>
  <p>The iconic 240-foot Cape Kiwanda sand dune beckons climbers to its summit for panoramic Pacific views, while the sheltered beach below hosts Oregon's only remaining dory fishing fleet, where flat-bottomed boats still launch directly from the sand as they have for over a century. Pacific City's character blends adventure sports with laid-back coastal living. World-class surfing draws enthusiasts to consistent breaks sheltered by Cape Kiwanda's sandstone cliffs.</p>
  <p>The Pelican Brewing Company—Oregon's only beachfront brewpub—serves award-winning craft beers with front-row views of surfers and sunset. Bob Straub State Park offers miles of pristine shoreline for horseback riding, while nearby Nestucca River provides exceptional kayaking and salmon fishing. Just minutes from Tillamook's cheese and aviation museums and perfectly positioned on the Three Capes Scenic Route connecting Cape Meares, Cape Lookout, and Cape Kiwanda, Pacific City delivers authentic Oregon Coast experiences without pretension.</p>
`,x5=[{name:`Cape Kiwanda State Natural Area`,description:`A sandstone headland featuring a massive dune to climb, dramatic wave action, and intricate rock formations. It's one of the three points on the Three Capes Scenic Route.`,details:`Dune Climb & Views`},{name:`Haystack Rock`,description:`Rising 327 feet from the sea, this is the tallest of Oregon's 'Haystack Rocks'. It serves as a stunning backdrop for beachcombers and a refuge for seabirds.`,details:`Iconic Sea Stack`},{name:`Dory Fishing Fleet`,description:`Witness a living tradition as flat-bottomed dory boats launch and land directly through the surf on the beach, a unique local fishing method dating back over a century.`,details:`Local Heritage`},{name:`Bob Straub State Park`,description:`Located on the Nestucca Spit, this park offers miles of undeveloped beach, dunes, and wetlands, perfect for hiking, horseback riding, and finding solitude.`,details:`Nature & Hiking`},{name:`Pelican Brewing Company`,description:`Oregon's only beachfront brewpub. Enjoy award-winning craft beers and coastal cuisine while watching the waves crash against Cape Kiwanda right outside your window.`,details:`Dining & Brewery`},{name:`Nestucca Bay National Wildlife Refuge`,description:`A sanctuary for migratory birds, including the Dusky Canada Goose. The refuge offers peaceful walking trails and spectacular views of the coastline and bay.`,details:`Birdwatching`},{name:`Nestucca River`,description:`A pristine river system renowned for its Chinook salmon and steelhead fishing. It's also a favorite spot for kayaking, paddleboarding, and observing river otters.`,details:`Fishing & Boating`},{name:`Sand Lake Recreation Area`,description:`Just north of town, this area features over 1,000 acres of open dunes surrounded by forests, a popular destination for OHV (Off-Highway Vehicle) enthusiasts.`,details:`ATV & Dunes`}],Tbe=[{name:`Cape Kiwanda Dune Climb`,distance:`1.0 mile`,difficulty:`Moderate/Hard`,elevation:`240 ft`,description:`A steep trudge up the massive sand dune rewards you with arguably the best views on the Oregon Coast, overlooking the cape, the rock, and the ocean.`},{name:`Bob Straub State Park Beach Walk`,distance:`Varies`,difficulty:`Easy`,elevation:`Flat`,description:`Walk as far as you like along the Nestucca Spit. It's a peaceful, less crowded alternative to the main beach, with dunes on one side and ocean on the other.`},{name:`Cape Lookout Trail`,distance:`4.8 miles`,difficulty:`Moderate`,elevation:`400 ft`,description:`Located a short drive north, this trail takes you to the tip of a peninsula jutting 2 miles into the ocean, offering prime whale watching opportunities.`},{name:`Nestucca Ridge Trail`,distance:`1.5 miles`,difficulty:`Easy`,elevation:`Varies`,description:`A local trail offering a mix of forest and views of the town and river. It's a great way to explore the residential and natural sides of Pacific City.`},{name:`Nestucca Bay Wildlife Refuge Trails`,distance:`2.2 miles`,difficulty:`Easy`,elevation:`Gentle`,description:`Well-maintained trails lead through meadows and forest to an upper observation deck with sweeping panoramic views of the bay and ocean.`},{name:`Cape Meares Loop Trail`,distance:`0.5 miles`,difficulty:`Easy`,elevation:`Minimal`,description:`Further north on the scenic loop, this short trail visits the lighthouse and the famous 'Octopus Tree', a massive Sitka spruce with unique branching.`}],Ebe=[{name:`Headlands Coastal Lodge & Spa`,category:`Luxury Resort`,description:`An upscale oceanfront lodge offering luxury rooms and cottages. Features a full-service spa, ocean-view dining, and adventure coaches to help plan your day.`,amenities:`Spa, Oceanfront, Luxury`},{name:`Inn at Cape Kiwanda`,category:`Boutique Hotel`,description:`Located across the street from the beach, every room features an ocean view and a fireplace. It's the perfect comfortable base for your coastal adventures.`,amenities:`Ocean Views, Fireplaces`},{name:`Pacific City Inn`,category:`Inn/Motel`,description:`A charming and affordable option located in the heart of town. It offers a cozy, friendly atmosphere within walking distance of shops and dining.`,amenities:`Central, cozy, WiFi`}],Dbe=[{name:`Pelican Brewing Company`,category:`Brewpub`,description:`The crown jewel of Pacific City dining. Famous for its clam chowder, fish and chips, and extensive lineup of award-winning craft beers brewed on-site.`,features:`Beachfront, Craft Beer`},{name:`The Grateful Bread Bakery`,category:`Bakery/Restaurant`,description:`A beloved local spot known for its fresh-baked breads, massive scones, and hearty breakfasts. The friendly, laid-back vibe makes it a community staple.`,features:`Bakery, Breakfast, Lunch`},{name:`Meridian Restaurant & Bar`,category:`Fine Dining`,description:`Located in the Headlands Lodge, offering an open kitchen and Pacific Northwest coastal cuisine focused on locally sourced ingredients and seafood.`,features:`Upscale, Ocean Views`},{name:`The Riverhouse Nestucca`,category:`Seafood`,description:`Situated on the banks of the Nestucca River, this spot offers fresh seafood and burgers in a historic building. You can even kayak right up to the dock.`,features:`River Views, Seafood`},{name:`Stimulus Coffee + Bakery`,category:`Coffee Shop`,description:`A modern coffee house serving ethically sourced coffee and house-made pastries. A great place to grab a morning boost before hitting the waves.`,features:`Espresso, Pastries, WiFi`},{name:`Ben & Jeff's Burgers and Tacos`,category:`Casual`,description:`Located inside the Cape Kiwanda Marketplace, offering quick and delicious burgers, tacos, and burritos perfect for a beach picnic.`,features:`Quick Bites, Tacos`},{name:`Oar House Bar & Grill`,category:`Bar & Grill`,description:`A relaxed local hangout offering pub fare, drinks, and sports on TV. A good spot to unwind after a day of fishing or hiking.`,features:`Pub Food, Sports, Casual`},{name:`Beach Walk`,category:`Asian Fusion`,description:`Offering a unique menu of Asian-inspired dishes and fresh sushi rolls, providing a tasty alternative to standard coastal pub fare.`,features:`Sushi, Asian Fusion`},{name:`Doryland Pizza`,category:`Pizza Parlor`,description:`A family-friendly pizza place with a salad bar and arcade games. Named after the local fishing fleet, it's a hit with kids and groups.`,features:`Pizza, Arcade, Family`},{name:`Village Coffee Shoppe`,category:`Diner`,description:`A classic small-town diner serving traditional American breakfast and lunch comfort food. Simple, tasty, and unpretentious.`,features:`Breakfast, Diner`},{name:`Megpies Bakery & Café`,category:`Bakery`,description:`Known for their delicious pies, savory pasties, and sweet treats. A hidden gem for those with a sweet tooth looking for homemade quality.`,features:`Pies, Pastries`},{name:`Sportsman's Pub-n-Grub`,category:`Pub`,description:`A lively spot for locals and visitors alike, featuring hearty portions of fish and chips, burgers, and a wide selection of beers on tap.`,features:`Live Music, Pub Grub`}],S5=`Pacific City`,Obe=K(S5),kbe=({attraction:e,index:t})=>{let n=Ef(S5,e?.name);return(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),n&&(0,B.jsx)(X,{objectId:n.object_id,title:e.name,sourcePage:Obe,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`})]}),(0,B.jsx)(`div`,{className:`bg-amber-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-amber-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-amber-700 bg-amber-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})})},Abe=({attractions:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`AttractionsSection: No attractions data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-amber-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-amber-600 font-bold tracking-wider uppercase text-sm`,children:`Explore the Dory Fleet Home`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Pacific City`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-amber-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(kbe,{attraction:e,index:t},t))})]})})),jbe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-teal-100 text-teal-800 border-teal-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},Mbe=({trails:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`HikingTrailsSection: No trails data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-amber-600`}),`Hiking Trails & Dunes`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`From challenging dune climbs to peaceful river walks, Pacific City offers diverse trails for every skill level.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-amber-700 transition-colors`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(jbe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),Nbe=({hotels:e})=>{let t=`Pacific City`;return(0,B.jsx)(a6,{townName:t,fallbackHotels:e,affiliateHotels:jC[t]})},C5=`Pacific City`,w5=K(C5),Pbe=({restaurant:e})=>{let t=Sf(C5,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-amber-100 hover:border-amber-300 transition-all shadow-sm hover:shadow-md`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-amber-950`,children:e?.name||`Restaurant Name`}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:w5,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-amber-800 bg-amber-100 px-2 py-1 rounded-md whitespace-nowrap ml-2`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-amber-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-amber-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]})},Fbe=({restaurants:e})=>{if((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`RestaurantsSection: No restaurant data provided`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-amber-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-amber-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,2),n=e.slice(2);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-amber-50`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-amber-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(wa,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Pacific City`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`From world-famous beachfront brews to cozy bakeries and fresh river-caught seafood.`})]}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 gap-8 mb-16`,children:t.map((e,t)=>(0,B.jsxs)(`div`,{className:`bg-white p-8 rounded-2xl shadow-lg border-t-4 border-amber-500`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 mb-2`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-gray-900`,children:e.name}),Sf(C5,e.name)&&(0,B.jsx)(X,{objectId:Sf(C5,e.name).object_id,title:e.name,sourcePage:w5,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),(0,B.jsx)(`span`,{className:`inline-block bg-amber-100 text-amber-800 text-xs font-bold px-2 py-1 rounded mb-4`,children:e.category}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-4 text-lg`,children:e.description}),(0,B.jsxs)(`p`,{className:`text-sm font-medium text-amber-700`,children:[`✨ `,e.features]})]},t))}),(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-amber-900 mb-8 text-center`,children:`More Local Favorites`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-3 gap-6`,children:n.map((e,t)=>(0,B.jsx)(Pbe,{restaurant:e},t))})]})]})})},Ibe=`https://whalewatching.live/api/status`,T5=`kruseroot`,Lbe=12e4,E5=`https://www.tiktok.com/@kruseroot?_r=1&_t=ZT-99roT1rgFuY`,Rbe=`https://whalewatching.live/api/social-stats`,zbe=864e5,Bbe=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/901f4f5812079a900a7fbe8f6d86a158.jpg`,Vbe=()=>{let[e,t]=(0,y.useState)(!1),[n,r]=(0,y.useState)(!0),[i,a]=(0,y.useState)(null),[o,s]=(0,y.useState)(null),[c,l]=(0,y.useState)(null),u=(0,y.useCallback)(async()=>{try{let e=await fetch(Rbe,{headers:{Accept:`application/json`}});if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json(),n=Array.isArray(t?.stats)?t.stats:[],r=e=>String(e?.username||e?.handle||e?.user||``).toLowerCase().replace(/^@/,``)===T5,i=n.filter(r),a=i.length?i:n,o=a.find(e=>String(e?.platform||``).toLowerCase()===`tiktok`&&r(e))||a.find(e=>String(e?.platform||``).toLowerCase()===`tiktok`);o&&(o.follower_label||o.follower_count!=null)&&s({label:o.follower_label||String(o.follower_count),unit:`followers`});let c=(i.length?i:n).map(e=>e?.checked_at).filter(Boolean).sort(),u=c.length?c[c.length-1]:t?.checked_at;if(u){let e=new Date(u);l(Number.isNaN(e.getTime())?null:e)}}catch{}},[]),d=(0,y.useCallback)(async()=>{try{let e=await fetch(Ibe,{headers:{Accept:`application/json`}});if(!e.ok)throw Error(`HTTP ${e.status}`);let n=await e.json(),r=(Array.isArray(n?.lives)?n.lives:[]).some(e=>String(e?.username||``).toLowerCase()===T5&&e?.is_live===!0);t(r),a(new Date)}catch{a(new Date)}finally{r(!1)}},[]);return(0,y.useEffect)(()=>{d();let e=setInterval(d,Lbe);return()=>clearInterval(e)},[d]),(0,y.useEffect)(()=>{u();let e=setInterval(u,zbe);return()=>clearInterval(e)},[u]),(0,B.jsx)(`section`,{className:`relative py-14 md:py-20 px-4 bg-[hsl(var(--cream-bg))] border-b border-[hsl(var(--border))]`,"aria-labelledby":`kruseroot-heading`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 min-[900px]:grid-cols-[55fr_45fr] gap-8 min-[900px]:gap-12 items-center`,children:[(0,B.jsx)(`div`,{className:`relative w-full`,children:(0,B.jsx)(`div`,{className:`relative aspect-[4/3] w-full overflow-hidden rounded-sm bg-[#1a2a32] shadow-editorial ring-1 ring-black/10`,children:(0,B.jsx)(`img`,{src:Bbe,alt:`KruseRoot live stream collage with Oregon Coast sunset at Haystack Rock and smiling yellow Labrador`,className:`absolute inset-0 h-full w-full object-contain bg-[#f5f0e6]`,draggable:!1})})}),(0,B.jsxs)(`div`,{className:`flex flex-col justify-center text-left min-[900px]:rounded-sm min-[900px]:border min-[900px]:border-[hsl(var(--border))] min-[900px]:bg-white/70 min-[900px]:p-8 lg:p-10 min-[900px]:shadow-editorial`,children:[(0,B.jsx)(`p`,{className:`mb-3 text-xs font-sans font-semibold uppercase tracking-[0.2em] text-sage`,children:`Local Live Streams · Pacific City · Oregon Coast`}),(0,B.jsx)(`h2`,{id:`kruseroot-heading`,className:`mb-5 font-serif text-3xl md:text-4xl font-bold tracking-wide text-primary normal-case`,children:`KruseRoot`}),(0,B.jsx)(`div`,{className:`mb-6 h-1 w-16 bg-amber-400 rounded-full`,"aria-hidden":`true`}),(0,B.jsx)(`p`,{className:`text-base md:text-lg text-foreground/90 leading-relaxed font-sans font-light mb-4`,children:`Live from the PNW on the Oregon Coast in Pacific City and surrounding areas.`}),o&&(0,B.jsx)(`div`,{className:`mb-6 grid grid-cols-1 gap-3 max-w-xs`,children:(0,B.jsxs)(`div`,{className:`rounded-sm border border-[hsl(var(--border))] bg-[hsl(var(--muted))]/40 px-4 py-3`,children:[(0,B.jsx)(`p`,{className:`text-xs font-sans font-semibold uppercase tracking-[0.15em] text-sage`,children:`TikTok`}),(0,B.jsxs)(`p`,{className:`mt-1 text-lg md:text-xl font-serif font-bold text-primary leading-tight`,children:[o.label,(0,B.jsx)(`span`,{className:`ml-1 text-sm font-sans font-light text-foreground/60 normal-case`,children:o.unit})]})]})}),c&&(0,B.jsxs)(`p`,{className:`mb-6 text-xs font-sans font-light text-foreground/50`,children:[`Updated`,` `,c.toLocaleDateString([],{month:`short`,day:`numeric`,year:`numeric`})]}),(0,B.jsxs)(`div`,{className:`mb-6 rounded-sm border px-4 py-3 transition-colors duration-300 ${e?`border-red-300 bg-red-50`:`border-[hsl(var(--border))] bg-[hsl(var(--muted))]/40`}`,"aria-live":`polite`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-3`,children:[e?(0,B.jsxs)(`span`,{className:`relative flex h-3 w-3 flex-none`,"aria-hidden":`true`,children:[(0,B.jsx)(`span`,{className:`absolute inline-flex h-full w-full animate-ping rounded-full bg-red-500 opacity-75`}),(0,B.jsx)(`span`,{className:`relative inline-flex h-3 w-3 rounded-full bg-red-600`})]}):(0,B.jsx)(`span`,{className:`inline-flex h-3 w-3 flex-none rounded-full bg-[hsl(var(--muted-foreground))]/50`,"aria-hidden":`true`}),(0,B.jsx)(`p`,{className:`text-sm md:text-base font-sans font-medium leading-snug ${e?`text-red-700`:`text-foreground/70`}`,children:n?`Checking KruseRoot’s live status…`:e?`KruseRoot is LIVE now on TikTok`:`KruseRoot is offline right now`})]}),e&&(0,B.jsxs)(`a`,{href:E5,target:`_blank`,rel:`noopener noreferrer`,className:`mt-3 inline-flex min-h-[44px] items-center gap-2 rounded-sm bg-red-600 px-5 py-2.5 text-sm font-sans font-semibold uppercase tracking-wider text-white shadow-sm transition hover:bg-red-700 active:scale-[0.98] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-red-600`,children:[(0,B.jsx)(Po,{className:`h-4 w-4`,strokeWidth:2,"aria-hidden":`true`}),`Watch Live`,(0,B.jsx)($a,{className:`h-3.5 w-3.5 opacity-80`,"aria-hidden":`true`})]}),i&&(0,B.jsxs)(`p`,{className:`mt-2 text-xs font-sans font-light text-foreground/50`,children:[`Last checked`,` `,i.toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`})]})]}),!e&&(0,B.jsx)(`div`,{className:`flex flex-wrap gap-3`,children:(0,B.jsxs)(`a`,{href:E5,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex min-h-[44px] items-center gap-2 rounded-sm border border-[hsl(var(--primary))] bg-[hsl(var(--primary))] px-5 py-2.5 text-sm font-sans font-semibold uppercase tracking-wider text-[hsl(var(--primary-foreground))] transition hover:bg-transparent hover:text-[hsl(var(--primary))] active:scale-[0.98] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[hsl(var(--primary))]`,children:[`TikTok`,(0,B.jsx)($a,{className:`h-3.5 w-3.5 opacity-80`,"aria-hidden":`true`})]})})]})]})})},Hbe=[{title:`Tillamook County Fair`,date:`August 5-8, 2026 | 10:00 am - 10:00 pm`,description:`Tillamook County Fairgrounds`},{title:`Coastal Chords & Corks: Ben Rice`,date:`August 12, 2026 | 5:00 pm - 8:00 pm`,description:`Meridian Restaurant and Bar`},{title:`Siletz Bay Music Festival`,date:`August 13-23, 2026 | All Day`,description:`Lincoln City Cultural Center`},{title:`Fireside Fridays: Elk Cove Winery`,date:`August 14, 2026 | 3:00 pm - 5:00 pm`,description:`Meridian Restaurant and Bar`},{title:`Nestucca Valley Artisans Art Fest`,date:`August 15-16, 2026 | 10:00 am - 4:00 pm`,description:`Kiawanda Community Center`},{title:`Coastal Chords & Corks: Ramsey Embick`,date:`August 19, 2026 | 5:00 pm - 8:00 pm`,description:`Meridian Restaurant and Bar`},{title:`Coastal Chords & Corks: Acoustic Minds`,date:`August 26, 2026 | 5:00 pm - 8:00 pm`,description:`Meridian Restaurant and Bar`},{title:`Vintage Hitchcock: A Live Radio Play`,date:`September 9-20, 2026 | All Day`,description:`The Barn Community Playhouse`},{title:`Lincoln City Fall Kite Festival`,date:`September 18-20, 2026 | All Day`,description:`D-River Wayside State Park`},{title:`Cape Kiwanda Longboard Classic`,date:`September 18-20, 2026 | All Day`,description:`Cape Kiwanda Day Use Parking`},{title:`Neskowin Ghost Forest`,date:`October 1-31, 2026 | Low Tide`,description:`Neskowin Ghost Forest`},{title:`Kilchis River Pumpkin Patch & Corn Maze`,date:`Weekends in October | All Day`,description:`Tillamook`},{title:`Community Beach Cleanup`,date:`October 3, 2026 | 10:00 am - 12:00 pm`,description:`Cape Kiwanda Day Use Parking`},{title:`Oregon's King Tides`,date:`Nov 23-27, Dec 22-26, Jan 20-24 | All Day`,description:`Cape Kiwanda Day Use Parking`},{title:`Thanksgiving Dinner at Meridian`,date:`November 26, 2026 | 12:00 pm - 6:00 pm`,description:`Meridian Restaurant and Bar`},{title:`Community Beach Cleanup`,date:`December 5, 2026 | 10:00 am - 12:00 pm`,description:`Cape Kiwanda Day Use Parking`}],Ube=()=>{(0,y.useEffect)(()=>{console.log(`PacificCityPage mounted`)},[]);let e=Y[`pacific-city`],t=If(`Pacific City`),n=Lf(`Pacific City`),r=tj[`pacific-city`];return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Zx,{name:`Pacific City, Oregon`,description:n,url:window.location.href,image:r}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Sunset/golden hour photo showing dramatic sea stacks, rocky cliffs with trees on top, sandy beach, waves, and golden sunlight reflecting on the water`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Pacific City`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Pacific City`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-amber-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsx)(Vbe,{}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Pacific City Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:wbe}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Located on the beautiful Oregon Coast, Pacific City is known for its towering Cape Kiwanda, dory fleet, and oceanfront dunes.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||45.2015,lon:e?.geo?.lng||-123.9626,townName:`Pacific City`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Pacific City`,townSlug:`pacific-city`,lat:e?.geo?.lat||45.2015,lon:e?.geo?.lng||-123.9626})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Pacific City`,featuredImage:r,title:`Pacific City in Photos`})}),(0,B.jsx)(Hj,{attractions:x5,townName:`Pacific City`}),(0,B.jsx)(Abe,{attractions:x5}),(0,B.jsx)(Mbe,{trails:Tbe}),(0,B.jsx)(c6,{events:Hbe}),(0,B.jsx)(Nbe,{hotels:Ebe}),(0,B.jsx)(Fbe,{restaurants:Dbe})]}),(0,B.jsx)(Ux,{})]})},D5=({slotId:e,format:t=`auto`,responsive:n=`true`,className:r=``})=>{let i=(0,y.useRef)(null),[a,o]=(0,y.useState)(!1);return(0,y.useEffect)(()=>{let e;if(i.current&&i.current.innerHTML===``)try{(window.adsbygoogle=window.adsbygoogle||[]).push({})}catch(e){console.error(`AdSense initialization error:`,e),o(!0)}return e=setTimeout(()=>{i.current&&i.current.getAttribute(`data-adsbygoogle-status`)===`done`&&o(!1)},3e3),()=>clearTimeout(e)},[]),(0,B.jsxs)(`div`,{className:`w-full max-w-5xl mx-auto px-4 my-8 flex flex-col items-center justify-center ${r}`,children:[(0,B.jsx)(`span`,{className:`text-[10px] text-stone-400 uppercase tracking-widest mb-2 font-medium`,children:`Advertisement`}),(0,B.jsx)(`div`,{className:`w-full flex items-center justify-center bg-stone-50 border border-stone-200 rounded-lg shadow-sm min-h-[100px] md:min-h-[120px] p-2 overflow-hidden relative`,children:a?(0,B.jsx)(`div`,{className:`text-stone-400 text-sm`,children:`Ad failed to load.`}):(0,B.jsx)(`div`,{ref:i,className:`w-full h-full flex justify-center items-center`,children:(0,B.jsx)(`ins`,{className:`adsbygoogle`,style:{display:`block`,width:`100%`,textAlign:`center`},"data-ad-client":`ca-pub-YOUR_CLIENT_ID_HERE`,"data-ad-slot":e,"data-ad-format":t,"data-full-width-responsive":n})})})]})},O5={"arch-cape":{top:`1000000001`,middle:`1000000002`,bottom:`1000000003`},"bay-city":{top:`1000000011`,middle:`1000000012`,bottom:`1000000013`},"cannon-beach":{top:`1000000021`,middle:`1000000022`,bottom:`1000000023`},harbor:{top:`1000000031`,middle:`1000000032`,bottom:`1000000033`},"pacific-city":{top:`1000000041`,middle:`1000000042`,bottom:`1000000043`},"port-orford":{top:`1000000051`,middle:`1000000052`,bottom:`1000000053`},"rockaway-beach":{top:`1000000061`,middle:`1000000062`,bottom:`1000000063`},default:{top:`9999999991`,middle:`9999999992`,bottom:`9999999993`}},k5=e=>e&&O5[e.toLowerCase().replace(/\s+/g,`-`)]||O5.default,Wbe=`
  <p>Welcome to Port Orford, the westernmost city in the contiguous United States and a hidden jewel of the Southern Oregon Coast. Perched on a dramatic headland overlooking the Pacific Ocean, this authentic working fishing port offers breathtaking vistas, rich history, and a slower, more peaceful pace of life. Unlike the bustling tourist towns to the north, Port Orford retains a rugged, untouched charm where nature takes center stage.</p>
  <p>The town is anchored by the spectacular Battle Rock Wayside, site of a historic conflict and now a stunning beach accessible at low tide. Just offshore, towering sea stacks rise from the crashing waves, creating a photographer's paradise. The active port is unique—it is one of only two "dolly docks" in the US, where fishing vessels are lifted in and out of the water by massive cranes each day, a spectacle that visitors gather to watch.</p>
  <p>Surrounded by state parks, pristine lakes, and the majestic Humbug Mountain, Port Orford is an outdoor lover's dream. Whether you're exploring the historic Cape Blanco Lighthouse, hiking the trails at Port Orford Heads for 360-degree ocean views, or enjoying fresh-caught seafood at a dockside restaurant, you'll find a deep connection to the wild beauty of the Pacific Northwest here.</p>
`,A5=[{name:`Battle Rock Wayside`,description:`The crown jewel of Port Orford, this massive sea stack is connected to the shore by a sandy spit accessible at low tide. It's a site of historical significance and offers incredible climbing, tide pooling, and photography opportunities right from Highway 101.`,details:`Free parking and beach access. Best visited at low tide.`},{name:`Cape Blanco Lighthouse`,description:`Perched on the westernmost point of Oregon, this is the oldest standing lighthouse on the coast. The grounds offer sweeping views, tours of the historic lens room, and trails leading down to secluded black sand beaches.`,details:`Tours available seasonally. $2 donation suggested.`},{name:`Port Orford Heads State Park`,description:`A former Coast Guard lifeboat station turned state park. Short trails wind through spruce forests to open headlands offering panoramic views of the ocean, sea stacks, and migrating whales. The historic lifeboat museum is a must-see.`,details:`Museum open seasonally. Trails open year-round.`},{name:`The Dolly Dock`,description:`Port Orford has no natural deep-water harbor, so fishing boats are lifted out of the water by giant cranes and placed on trailers (dollies) on the dock. Watching the fleet launch or return is a unique daily ritual found almost nowhere else.`,details:`Located at the Port of Port Orford. Best viewed in mornings/evenings.`},{name:`Hughes House`,description:`A beautifully restored 1898 Victorian farmhouse located near Cape Blanco. Built for pioneer dairyman Patrick Hughes, it offers a glimpse into early settler life on the wild coast, surrounded by pastoral fields and river views.`,details:`Tours available seasonally (Apr-Oct). Free admission.`},{name:`Prehistoric Gardens`,description:`Located just south of town in a lush rainforest, this kitschy yet charming roadside attraction features life-size sculptures of dinosaurs. It's a fun, family-friendly stop that feels like stepping back in time.`,details:`Admission fee required. Self-guided walking tour.`},{name:`Humbug Mountain State Park`,description:`Dominating the skyline south of town, Humbug Mountain rises directly from the ocean to 1,756 feet. The park offers camping, beach access, and one of the coast's most rewarding hikes to the summit.`,details:`Day use and campground facilities available.`},{name:`Garrison Lake`,description:`Separated from the ocean by only a narrow strip of dunes, this freshwater lake is perfect for kayaking, fishing, and boating. It winds through the town and offers a peaceful alternative to the wild ocean.`,details:`Boat ramps available at 12th St and Pinehurst.`},{name:`Tseriadun State Recreation Site`,description:`A tranquil park at the entrance to Garrison Lake, featuring trails through shore pines and easy access to Agate Beach. It's an excellent spot for agate hunting, picnicking, and watching the sunset away from crowds.`,details:`No fee. Restrooms and picnic tables available.`}],Gbe=[{name:`Humbug Mountain Trail`,distance:`5.5 miles loop`,difficulty:`Strenuous`,elevation:`1,730 ft gain`,description:`A challenging but rewarding climb through old-growth forest to the summit of one of the highest headlands on the Oregon Coast. The views from the top peek through the trees, but the real magic is the lush, fern-filled forest journey.`},{name:`Port Orford Heads Trail`,distance:`1.2 miles loop`,difficulty:`Easy`,description:`A gentle, family-friendly walk leading to three different viewpoints. You'll see the Nellie's Cove, the expanse of the Pacific, and the historic lifeboat station site. Great for whale watching.`},{name:`Cape Blanco Coastal Trail`,distance:`4.5 miles round trip`,difficulty:`Moderate`,description:`Winds along the bluffs from the lighthouse down to the Sixes River. The trail offers constant ocean views, windswept grassy plains, and access to miles of lonely, driftwood-scattered beaches.`},{name:`Blacklock Point Trail`,distance:`4.2 miles round trip`,difficulty:`Moderate`,description:`Located north of town near the airport, this trail passes through dense forest before opening up to a spectacular, remote sandstone cliff viewpoint that feels like the edge of the world.`},{name:`Elk River Trail`,distance:`3.0 miles (variable)`,difficulty:`Easy/Moderate`,description:`Just inland, the Elk River is known for its emerald waters. This trail follows the riverbank through ancient myrtlewood groves and is perfect for a peaceful nature walk away from the coastal wind.`},{name:`Cove Beach Walk`,distance:`2.0 miles`,difficulty:`Easy`,description:`Starting from Battle Rock, walk south along the grey sands of Cove Beach towards Humbug Mountain. It's a classic beachcombing stroll with dramatic sea stacks and potential for finding agates.`}],Kbe=[{name:`WildSpring Guest Habitat`,category:`Luxury/Boutique`,description:`An eco-friendly luxury resort set in a five-acre forest overlooking the ocean. Guests stay in plush cabins and enjoy an open-air slate hot tub. It's serene, romantic, and designed for deep relaxation.`,amenities:`Ocean-view hot tub, walking labyrinth, breakfast buffet.`},{name:`Castaway by the Sea`,category:`Mid-Range`,description:`Located on the bluff directly overlooking Battle Rock and the ocean. Every room offers a spectacular view, making it a favorite for storm watchers and sunset lovers.`,amenities:`Private balconies, pet-friendly rooms, direct beach access nearby.`},{name:`Sea Crest Motel`,category:`Budget/Mid-Range`,description:`A classic, well-maintained roadside motel offering clean, comfortable rooms with grand ocean views. The landscaped grounds and friendly service make it a reliable choice.`,amenities:`Ocean views, garden seating, free Wi-Fi.`},{name:`Whaleshead Beach Resort`,category:`Vacation Rentals`,description:`Located south of town, this resort features individual cottages and cabins nestled across the highway from a stunning beach. Perfect for families wanting more space and kitchen facilities.`,amenities:`Full kitchens, decks, tunnel access to beach.`},{name:`Battle Rock Guest House`,category:`Vacation Rental`,description:`A historic home perched right above Battle Rock Park. It offers the privacy of a home rental with unbeatable proximity to the beach and town center.`,amenities:`Full house rental, panoramic decks, historic charm.`},{name:`The Inn at Port Orford`,category:`Budget`,description:`Simple, affordable lodging on the north end of town. Most rooms have decent ocean views, and it serves as a convenient basecamp for exploring the area.`,amenities:`Microwaves/fridges, coffee makers, pet-friendly.`},{name:`Shoreline Inn (Nearby)`,category:`Mid-Range`,description:`Though technically a short drive, it offers beachfront stays with a rustic, nautical vibe popular with visitors to the region.`,amenities:`Beachfront, simple amenities, cozy atmosphere.`}],qbe=[{name:`Redfish`,category:`Upscale Seafood`,description:`Port Orford's premier fine dining experience. The modern building features floor-to-ceiling windows overlooking Battle Rock, serving French-inspired coastal cuisine and excellent wines.`,features:`Ocean views, seasonal menu, craft cocktails.`},{name:`Griff's on the Dock`,category:`Casual Seafood`,description:`Located literally on the working dock, this is the place for fish and chips. It's tiny, authentic, and the seafood comes straight off the boats outside.`,features:`Dockside seating, freshest fish in town, chowder.`},{name:`The Crazy Norwegian's Fish & Chips`,category:`Casual Dining`,description:`A local legend known for its massive portions and quirky character. Their fish and chips and clam chowder are staples for Highway 101 road trippers.`,features:`Huge portions, homemade pies, family-friendly.`},{name:`Tasty Kate's`,category:`Bakery/Cafe`,description:`A charming spot for morning coffee, homemade pastries, and light lunches. Known for their artistic presentation and welcoming atmosphere.`,features:`Artisan pastries, organic coffee, garden seating.`},{name:`Golden Harvest`,category:`American/Diner`,description:`A reliable, friendly diner serving hearty breakfasts and classic American comfort food. It's a favorite among locals for a solid meal.`,features:`All-day breakfast, homemade biscuits, local hub.`},{name:`Mr. Ed's Underground Pub`,category:`Pub/Bar`,description:`A fun, local watering hole with a surprisingly extensive menu of burgers, sandwiches, and bar snacks. Great place to meet locals and catch a game.`,features:`Sports bar vibe, pool tables, hearty burgers.`},{name:`One-Stop Market & Deli`,category:`Deli/Takeout`,description:`More than just a convenience store, their deli counter serves up excellent sandwiches and hot food to go, perfect for a picnic at the Heads.`,features:`Grab-and-go, fresh deli sandwiches, fried chicken.`},{name:`TJ's Cafe`,category:`Cafe/American`,description:`A straightforward, no-nonsense cafe offering good food at fair prices. Known for friendly service and satisfying portions.`,features:`Breakfast specials, senior menu, casual.`},{name:`Port & Starboard`,category:`Pizza/Lounge`,description:`A cozy spot for evening entertainment, offering pizzas, drinks, and occasional live music or karaoke.`,features:`Pizza, full bar, evening entertainment.`}],j5=`Port Orford`,Jbe=K(j5),Ybe=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(()=>{let t=Ef(j5,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Jbe,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),Xbe=({attractions:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`AttractionsSection: No attractions data provided`):console.log(`AttractionsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Discover the Hidden Gems`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Port Orford`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(Ybe,{attraction:e,index:t},t))})]})})),M5=`Port Orford`,Zbe=K(M5),Qbe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},$be=({trails:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`HikingTrailsSection: No trails data provided`):console.log(`HikingTrailsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Port Orford offers some of the most scenic and uncrowded trails on the coast. From the steep summit of Humbug Mountain to windswept headland loops, nature is just steps away.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(()=>{let t=Tf(M5,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Zbe,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(Qbe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),exe=({hotels:e})=>{let t=`Port Orford`,n=[`Castaway by the Sea`,`Sea Crest Motel`,`Whaleshead Beach Resort`,`The Inn at Port Orford`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},N5=`Port Orford`,txe=K(N5),P5=({restaurant:e})=>(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),(()=>{let t=Sf(N5,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:txe,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`}):null})()]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]}),F5=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),nxe=({restaurants:e})=>{if((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`RestaurantsSection: No restaurant data provided`):console.log(`RestaurantsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,2),n=e.slice(2,6),r=e.slice(6,9);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Port Orford`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`From fresh seafood caught right off the dock to cozy cafes and local pubs, Port Orford offers authentic flavors without the crowds.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block`,children:`Oceanview & Dockside`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(P5,{restaurant:e},t))})]}),(0,B.jsx)(F5,{src:`https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=800&q=80`,alt:`Seafood dinner with view`,caption:`Dining with spectacular ocean views`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(F5,{src:`https://images.unsplash.com/photo-1513104890138-7c749659a591?auto=format&fit=crop&w=800&q=80`,alt:`Comfort food plate`,caption:`Hearty comfort food favorites`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block ml-auto`,children:`Local Favorites`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(P5,{restaurant:e},t))})]})]}),(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 mb-8 text-center`,children:`Quick Bites & Pubs`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-3 gap-6`,children:r.map((e,t)=>(0,B.jsx)(P5,{restaurant:e},t))})]})]})})},rxe=()=>{(0,y.useEffect)(()=>{console.log(`PortOrfordPage mounted`)},[]);let e=Y[`port-orford`],t=If(`Port Orford`),n=Lf(`Port Orford`),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/2a920d94b7ea480bbad4676664281550.webp`,i=k5(`port-orford`);return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Zx,{name:`Port Orford, Oregon`,description:n,url:`https://oregoncoastal.com/town/port-orford`,geo:{lat:42.7457,lng:-124.4984},image:r}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Port Orford coastline with Battle Rock`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Port Orford`,region:`South Coast`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Port Orford`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-lime-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Port Orford Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:Wbe}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`The oldest town on the Oregon coast, featuring a unique dolly dock port and dramatic ocean vistas.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||42.7457,lon:e?.geo?.lng||-124.4984,townName:`Port Orford`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Port Orford`,townSlug:`port-orford`,lat:e?.geo?.lat||42.7457,lon:e?.geo?.lng||-124.4984})})]}),(0,B.jsx)(D5,{slotId:i.top}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Port Orford`,featuredImage:r,title:`Port Orford in Photos`})}),(0,B.jsx)(Hj,{attractions:A5,townName:`Port Orford`}),(0,B.jsx)(Xbe,{attractions:A5}),(0,B.jsx)($be,{trails:Gbe}),(0,B.jsx)(D5,{slotId:i.middle}),(0,B.jsx)(exe,{hotels:Kbe}),(0,B.jsx)(D5,{slotId:i.bottom}),(0,B.jsx)(nxe,{restaurants:qbe}),(0,B.jsx)(Jx,{faqs:[{question:`What is special about the Port of Port Orford?`,answer:`It is one of only two 'dolly docks' in the United States. Since there is no natural deep harbor, fishing boats are lifted in and out of the water by giant cranes every day.`},{question:`Can you climb Battle Rock?`,answer:`Yes, but only during low tide when the sandy spit connecting it to the beach is accessible. Always watch the tides carefully to avoid being stranded.`},{question:`Is Port Orford the most western city?`,answer:`Yes, Port Orford is the westernmost incorporated city in the 48 contiguous United States.`},{question:`When is Cape Blanco Lighthouse open?`,answer:`Tours generally run from April through October, though the park grounds are open year-round for hiking and viewing the lighthouse from the outside.`}],title:`Port Orford Visitor FAQs`})]}),(0,B.jsx)(Ux,{})]})},ixe=`
  <p>Situated at the confluence of the Umpqua, Smith, and Scholfield rivers, Reedsport is the heart of the Oregon Dunes National Recreation Area. This riverfront community offers a unique blend of rugged outdoor adventure, wildlife viewing, and maritime history. As the gateway to the Oregon Dunes, it serves as the perfect launchpad for exploring the shifting sands that tower up to 500 feet above the ocean.</p>
  <p>Reedsport is famously known for the Dean Creek Elk Viewing Area, where a resident herd of majestic Roosevelt elk grazes year-round in the pastures just outside of town. The Umpqua Discovery Center on the waterfront provides an immersive look into the region's cultural and natural history, from the Kuu-ich indigenous people to the early pioneers and the timber industry. The town's boardwalk offers peaceful river views and spots to watch seals play in the water.</p>
  <p>Whether you're renting an ATV to conquer the dunes, fishing for salmon in the mighty Umpqua River, or hiking through coastal forests to hidden lakes, Reedsport delivers an authentic connection to nature. It is a place where the forest meets the river and the river meets the sea, offering endless opportunities for exploration and discovery.</p>
`,I5=[{name:`Dean Creek Elk Viewing Area`,description:`Located just three miles east of Reedsport, this 1,000-acre wildlife management area is home to a resident herd of 60-100 Roosevelt elk. Viewing stations offer excellent opportunities to photograph these majestic animals grazing in the meadows.`,details:`Free admission. Best viewing times are early morning and late evening.`},{name:`Umpqua Discovery Center`,description:`An interactive museum located on the Reedsport riverfront. Exhibits include 'Tidewaters & Time,' which explores the cultural history of the Lower Umpqua, and 'Sounds of the Sea,' a sensory experience of the coastal environment.`,details:`Open daily. Great for families and history buffs.`},{name:`Oregon Dunes National Recreation Area`,description:`Reedsport is the headquarters for the Oregon Dunes, the largest expanse of coastal sand dunes in North America. The dunes stretch for 40 miles and offer hiking, OHV riding, sandboarding, and photography opportunities.`,details:`Recreation pass required for some areas. Rentals available in town.`},{name:`Umpqua River Lighthouse`,description:`Located just a few miles away in Winchester Bay, this historic lighthouse was the first on the Oregon Coast to have a red-and-white lens. Tours of the active lighthouse and the adjacent museum are a highlight for visitors.`,details:`Tours available daily. Located inside Umpqua Lighthouse State Park.`},{name:`Bolon Island Tideways State Scenic Corridor`,description:`A small island in the Umpqua River accessible by bridge. It features a hiking trail that leads through a lush forest to the water's edge, offering a quiet escape and great birdwatching.`,details:`Free access. A hidden gem for a quick nature walk.`},{name:`Tahkenitch Lake`,description:`Located north of town, this sprawling coastal lake is a paradise for anglers and boaters. It is known for its largemouth bass, coho salmon, and perch fishing, as well as its beautiful forested shoreline.`,details:`Boat ramps and campgrounds available nearby.`},{name:`Old Town Reedsport`,description:`The historic heart of the city along the riverfront. Visitors can stroll the boardwalk, visit the chainsaw carving sculptures, and explore local shops and galleries that celebrate the town's timber heritage.`,details:`Features the Oregon Divisional Chainsaw Carving Championships site.`},{name:`Loon Lake Recreation Area`,description:`A bit further inland, Loon Lake offers a sheltered spot for swimming, water skiing, and camping. The sandy beach and warmer inland weather make it a popular summer destination for families.`,details:`BLM managed site. Day-use fees apply.`}],axe=[{name:`Bluebill Lake Trail`,distance:`1.25 miles loop`,difficulty:`Easy`,description:`A gentle boardwalk and gravel trail that circles a small, marshy lake. It's an excellent spot for birding and seeing wetland plants like skunk cabbage and salamanders.`},{name:`John Dellenback Dunes Trail`,distance:`5.4 miles round trip`,difficulty:`Moderate/Hard`,description:`One of the most spectacular hikes on the coast. The trail leads through a spruce forest before opening up into the vast, otherworldly landscape of the open dunes, eventually reaching the ocean.`},{name:`Tahkenitch Dunes Trail`,distance:`6.0 miles loop`,difficulty:`Moderate`,description:`A diverse loop that traverses old-growth forest, open dunes, and the beach. Hikers might spot seasonal waterfalls and elk tracks in the sand.`},{name:`Umpqua Dunes Trail`,distance:`2.5 miles round trip`,difficulty:`Moderate`,description:`This trail offers quick access to the highest dunes in the area. The shifting sands make the hike a workout, but the panoramic views of the ocean and mountains are worth the effort.`},{name:`William M. Tugman Trail`,distance:`1.0 mile loop`,difficulty:`Easy`,description:`Located in the nearby state park, this trail winds through the forest along the edge of Eel Lake. It's a peaceful, flat hike suitable for all ages.`},{name:`Lake Marie Trail`,distance:`1.0 mile loop`,difficulty:`Easy`,description:`A lovely wooded trail that circles Lake Marie near the Umpqua Lighthouse. It offers glimpses of the lake and connects to trails leading out to the dunes.`}],oxe=[{name:`Best Western Salbasgeon Inn`,category:`Mid-Range`,description:`A reliable and comfortable choice located centrally in Reedsport. Features an indoor pool and easy access to the Umpqua Discovery Center and riverfront.`,amenities:`Indoor pool, hot tub, full breakfast, fitness center.`},{name:`Salbasgeon Suites`,category:`Suites`,description:`Offering spacious suites with kitchenettes, this is a great option for families or longer stays. The friendly staff and clean rooms make it a local favorite.`,amenities:`Kitchenettes, free WiFi, laundry facilities.`},{name:`Economy Inn Reedsport`,category:`Budget`,description:`A straightforward, budget-friendly motel offering clean rooms and basic amenities. Ideal for travelers who plan to spend most of their time exploring the dunes.`,amenities:`Free WiFi, microwave/fridge, pet-friendly rooms.`},{name:`Anchor Bay Inn`,category:`Budget/Value`,description:`Located conveniently on Highway 101, offering simple, clean accommodation with friendly service. A practical stopover for coastal road trippers.`,amenities:`Free coffee, cable TV, easy highway access.`},{name:`Fir Grove Motel`,category:`Retro/Budget`,description:`A charming, smaller motel with a retro vibe. The grounds are well-kept with fir trees, offering a bit more quiet than other highway-side options.`,amenities:`Garden setting, ground floor rooms, free parking.`}],sxe=[{name:`Harbor Light Restaurant`,category:`Seafood/Steak`,description:`A local institution known for its historic maritime decor and hearty portions. Famous for their clam chowder and fish and chips, serving the community for decades.`,features:`Historic photos, full bar, family-friendly.`},{name:`Don's Main Street Family Restaurant`,category:`Diner/American`,description:`A classic American diner serving breakfast all day, burgers, and milkshakes. It has a nostalgic 50s vibe and is a favorite among locals for comfort food.`,features:`All-day breakfast, vintage decor, homemade pies.`},{name:`Two Shy Brewing`,category:`Brewery`,description:`Reedsport's own craft brewery, offering a rotating selection of locally brewed beers in a relaxed taproom setting. A great place to unwind after a day on the dunes.`,features:`Craft beer, food trucks often on-site, community vibe.`},{name:`Sugar Shack Bakery`,category:`Bakery/Cafe`,description:`A must-stop for anyone with a sweet tooth. Known for massive donuts, fresh pastries, and sandwiches on homemade bread. Get there early for the best selection.`,features:`Giant donuts, fresh bread, early morning hours.`},{name:`Unger's Bay Fish & Chips`,category:`Seafood/Casual`,description:`Located nearby in Winchester Bay, this floating restaurant serves some of the freshest seafood on the coast. Eating fish and chips right on the water is a quintessential experience.`,features:`Floating restaurant, dockside seating, fresh market.`},{name:`Bedrock's on the Bay`,category:`Pizza/Seafood`,description:`Also in Winchester Bay, offering gourmet pizzas, chowder bowls, and seafood with views of the harbor. A lively spot with a fun atmosphere.`,features:`Harbor views, pizza, outdoor seating.`},{name:`El Guadalajara`,category:`Mexican`,description:`A colorful family-owned restaurant serving authentic Mexican dishes. Known for their large portions, sizzling fajitas, and friendly service.`,features:`Full bar, colorful decor, large groups welcome.`},{name:`Defeat River Brewery`,category:`Brewery/Pub`,description:`A newer addition to the local scene, offering small-batch brews and a cozy atmosphere. Named after a local tributary, it celebrates the region's geography.`,features:`Small batch beer, pretzels, local hang-out.`}],L5=`Reedsport`,cxe=K(L5),lxe=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(()=>{let t=Ef(L5,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:cxe,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),uxe=({attractions:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`AttractionsSection: No attractions data provided`):console.log(`AttractionsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Wildlife & Wilderness`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Reedsport`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(lxe,{attraction:e,index:t},t))})]})})),R5=`Reedsport`,dxe=K(R5),fxe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},pxe=({trails:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`HikingTrailsSection: No trails data provided`):console.log(`HikingTrailsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Reedsport offers a diverse range of trails, from easy boardwalks through wetlands to challenging treks across the open dunes. Discover the unique ecosystems where the forest meets the sand.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(()=>{let t=Tf(R5,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:dxe,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(fxe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),mxe=({hotels:e})=>{let t=`Reedsport`,n=[`Fir Grove Motel`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},z5=`Reedsport`,hxe=K(z5),B5=({restaurant:e})=>(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),(()=>{let t=Sf(z5,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:hxe,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`}):null})()]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]}),V5=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),gxe=({restaurants:e})=>{if((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`RestaurantsSection: No restaurant data provided`):console.log(`RestaurantsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,3),n=e.slice(3,5),r=e.slice(5);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Reedsport`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`From fresh seafood at Winchester Bay to classic American diners and bakeries, Reedsport offers hearty meals to fuel your adventures.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block`,children:`Local Favorites`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(B5,{restaurant:e},t))})]}),(0,B.jsx)(V5,{src:`https://images.unsplash.com/photo-1555939594-58d7cb561ad1?auto=format&fit=crop&w=800&q=80`,alt:`Hearty diner food`,caption:`Classic comfort food and local brews`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(V5,{src:`https://images.unsplash.com/photo-1509440159596-0249088772ff?auto=format&fit=crop&w=800&q=80`,alt:`Fresh pastries`,caption:`Start your day with fresh baked goods`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block ml-auto`,children:`Quick Bites`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(B5,{restaurant:e},t))})]})]}),(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 mb-8 text-center`,children:`Casual Dining & Seafood`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-3 gap-6`,children:r.map((e,t)=>(0,B.jsx)(B5,{restaurant:e},t))}),(0,B.jsx)(`div`,{className:`mt-8 text-center`,children:(0,B.jsx)(`img`,{src:`https://images.unsplash.com/photo-1534080564583-6be75777b70a?auto=format&fit=crop&w=1200&h=300&q=80`,alt:`Seafood dinner`,className:`w-full h-48 object-cover rounded-xl opacity-90`})})]})]})})},_xe=()=>{(0,y.useEffect)(()=>{console.log(`ReedsportPage mounted`)},[]);let e=Y.reedsport,t=If(`Reedsport`),n=Lf(`Reedsport`),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/8c4def8dadeb5e37fc696c35b7fe47c7.webp`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Zx,{name:`Reedsport Oregon Travel`,description:n,url:`https://oregoncoastal.com/town/reedsport`,image:r}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Reedsport, Oregon River and Bridge`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Reedsport`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Reedsport`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-lime-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Reedsport Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:ixe}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Located in the heart of the Oregon Dunes National Recreation Area where the Umpqua River meets the sea.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||43.7023,lon:e?.geo?.lng||-124.0968,townName:`Reedsport`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Reedsport`,townSlug:`reedsport`,lat:e?.geo?.lat||43.7023,lon:e?.geo?.lng||-124.0968})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Reedsport`,featuredImage:r,title:`Reedsport in Photos`})}),(0,B.jsx)(Hj,{attractions:I5,townName:`Reedsport`}),(0,B.jsx)(uxe,{attractions:I5}),(0,B.jsx)(pxe,{trails:axe}),(0,B.jsx)(mxe,{hotels:oxe}),(0,B.jsx)(gxe,{restaurants:sxe})]}),(0,B.jsx)(Ux,{})]})},vxe=`
  <p>Nicknamed "the Coney Island of the Oregon Coast," Rockaway Beach delivers classic beach town fun with seven miles of wide, sandy shoreline and a delightfully nostalgic atmosphere. This family-friendly community of 1,300 residents has welcomed vacationers since the 1920s when passenger trains first connected the coast to Portland. Today, Rockaway Beach maintains that welcoming small-town charm while offering modern conveniences, making it an ideal destination for families seeking authentic Oregon Coast experiences without pretension or crowds.</p>
  <p>The town's defining features include the dramatic Twin Rocks formation rising from the surf, the historic Oregon Coast Scenic Railroad offering vintage train excursions, and the Cedar Wetlands Preserve showcasing Oregon's largest Sitka spruce—the 154-foot "Ascending Giant." Highway 101 runs directly through town at reduced speed, with shops, restaurants, candy stores, and beach access points lining both sides. Unlike some quieter coastal villages, Rockaway Beach embraces its role as a fun, accessible beach destination where families can fly kites, build bonfires, explore tide pools, and enjoy the simple pleasures of coastal living. The beach remains surprisingly uncrowded despite abundant vacation rentals and hotel rooms, offering plenty of space for everyone to spread out and enjoy the Pacific.</p>
`,H5=[{name:`Twin Rocks`,description:`The iconic symbol of Rockaway Beach, these two massive sea stacks rise dramatically from the ocean. The natural sandstone arch in the southern rock creates a stunning window for sunsets and is a favorite subject for photographers.`,details:`Natural Landmark`},{name:`Oregon Coast Scenic Railroad`,description:`Experience living history on this heritage railroad. Steam locomotives pull vintage cars right through the center of town, offering nostalgic rides between Rockaway Beach and Garibaldi with ocean views along the way.`,details:`Historic Train`},{name:`Cedar Wetlands Preserve`,description:`A hidden natural treasure featuring a raised wooden boardwalk winding through an ancient cedar and spruce swamp. It's home to the 'Big Tree,' a massive old-growth cedar that has survived for centuries.`,details:`Nature Preserve`},{name:`International Police Museum`,description:`A unique and fascinating small museum dedicated to law enforcement history from around the world. Displays include uniforms, equipment, and historical artifacts that tell the story of policing through the ages.`,details:`Museum`},{name:`Rockaway Beach Wayside`,description:`The main beach access point in the center of town, featuring the famous red caboose (Visitor Center), ample parking, restrooms, and direct access to the miles of sandy beach. It's the hub of town activity.`,details:`Beach Access`},{name:`Lake Lytle`,description:`Located along Highway 101, this freshwater lake is popular for fishing, kayaking, and birdwatching. It offers a tranquil alternative to the ocean and is regularly stocked with trout.`,details:`Fishing & Boating`},{name:`The Big Tree`,description:`Located within the Cedar Wetlands Preserve, this giant western red cedar is one of the largest on the Oregon Coast. A short, accessible boardwalk leads directly to its massive base.`,details:`Old Growth Forest`},{name:`Trojan Horse & Gift Shops`,description:`Rockaway's downtown strip is lined with eclectic shops. From the famous Trojan Horse antique store to souvenir shops selling kites and taffy, browsing these local businesses is a classic rainy day activity.`,details:`Shopping`}],yxe=[{name:`Cedar Wetlands Preserve Trail`,distance:`1.2 miles`,difficulty:`Easy`,elevation:`Flat`,description:`An accessible boardwalk loop that takes you deep into a prehistoric-looking swamp forest. Perfect for families and nature lovers wanting to see massive trees without a strenuous hike.`},{name:`Rockaway Beach Boardwalk`,distance:`0.5 miles`,difficulty:`Easy`,elevation:`Flat`,description:`A paved and boardwalk path running along the edge of the beach and nature areas. It offers great ocean views and is wheelchair and stroller friendly.`},{name:`Barview Jetty County Park`,distance:`1.5 miles`,difficulty:`Easy`,elevation:`Sea Level`,description:`Located at the south end of Rockaway, walk out onto the jetty to watch waves crash and fishing boats cross the bar. Great for spotting seals and marine life.`},{name:`Kilchis Point Reserve (Nearby)`,distance:`2 miles`,difficulty:`Easy`,elevation:`Flat`,description:`A short drive away on Tillamook Bay, this interpretive trail explores the history of the native Tillamook people and early settlers through beautiful forests and wetlands.`},{name:`Neahkahnie Mountain (Nearby)`,distance:`3 miles`,difficulty:`Moderate/Hard`,elevation:`1600 ft`,description:`For those seeking a challenge and a view, this iconic hike just north of town offers the best panoramic vistas on the entire Oregon Coast.`},{name:`Munson Creek Falls`,distance:`0.5 miles`,difficulty:`Easy`,elevation:`100 ft`,description:`A short drive south, a quick hike leads to the tallest waterfall in the Coast Range, cascading 319 feet through lush forest.`}],bxe=[{name:`Rockaway Beach Resort`,category:`Resort`,description:`A beachfront timeshare and rental resort offering spacious units with kitchens and ocean views. Amenities include an indoor pool, spa, and direct beach access, making it a favorite for families.`,amenities:`Pool, Kitchens, Oceanfront`},{name:`Surfside Resort`,category:`Hotel`,description:`Located right on the oceanfront, this hotel offers comfortable rooms with stunning views of Twin Rocks. Guests love the indoor pool and the ability to walk straight out onto the sand.`,amenities:`Indoor Pool, Ocean Views`},{name:`Silver Sands Motel`,category:`Motel`,description:`A classic, budget-friendly motel with a prime location. Clean, simple rooms and friendly service make this a reliable base camp for beach adventures.`,amenities:`Kitchenettes, Beach Access`},{name:`Tradewinds Motel`,category:`Motel`,description:`A charming, family-owned motel known for its hospitality. Many rooms feature ocean views and kitchenettes. It captures the retro vibe of Rockaway's early days.`,amenities:`Pet Friendly, WiFi`},{name:`The Sea Treasure Inn`,category:`Inn`,description:`A cozy and affordable option a block from the beach. Offers a mix of standard rooms and suites with kitchens. A quiet spot to relax after a day of exploring.`,amenities:`BBQ Area, Kitchens`},{name:`Beach Stay Motel`,category:`Boutique Motel`,description:`Recently updated with modern decor, this motel offers a fresh and stylish take on the classic roadside inn. Contactless check-in and curated amenities appeal to modern travelers.`,amenities:`Modern Decor, Contactless`},{name:`Twin Rocks Motel`,category:`Cabins/Motel`,description:`Offering individual cottages and motel rooms directly overlooking the famous Twin Rocks. The private cabins provide a rustic and romantic coastal experience.`,amenities:`Cottages, Fireplaces`}],xxe=[{name:`Old Oregon Smokehouse`,category:`Seafood/Casual`,description:`A landmark rustic shack serving some of the best clam chowder and fish & chips on the coast. Outdoor seating only, but the food is worth braving the elements.`,features:`Famous Chowder, Casual`},{name:`Sand Dollar Restaurant`,category:`American/Seafood`,description:`A lively spot with a full bar and a menu featuring coastal classics. Known for its prime rib, seafood baskets, and live music on weekends.`,features:`Live Music, Full Bar`},{name:`Pronto Pup`,category:`Fast Food`,description:`Home of the original corndog! This roadside attraction features a giant mechanical corndog on the roof and serves the famous batter-dipped treats that started it all.`,features:`Historic, Corndogs`},{name:`Upper Crust Pizza`,category:`Pizza`,description:`A family favorite serving hearty pizzas loaded with toppings. A great spot to grab a pie to take back to the hotel or eat on the beach at sunset.`,features:`Takeout, Family Style`},{name:`Lakeside Hideaway`,category:`Pub/Grill`,description:`Located near Lake Lytle, this friendly sports bar and grill offers burgers, steaks, and cold beer. A local hangout with a welcoming atmosphere.`,features:`Sports Bar, Burgers`},{name:`Cowbelle Cafe`,category:`Breakfast`,description:`The go-to spot for hearty breakfasts. Fluffy pancakes, massive omelets, and bottomless coffee fuel locals and visitors alike for a day on the shore.`,features:`Big Portions, Breakfast`},{name:`Rick's Roadhouse`,category:`Bar & Grill`,description:`A fun, energetic establishment with pool tables, lottery games, and a solid menu of pub grub. Great for a casual night out with friends.`,features:`Pool Tables, Nightlife`},{name:`Grumpy's Cafe`,category:`Cafe/Lunch`,description:`Don't let the name fool you—the service is friendly! Known for excellent sandwiches, homemade soups, and fresh baked goods.`,features:`Sandwiches, Soups`},{name:`Offshore Grill`,category:`Bistro`,description:`Offering a slightly more upscale dining experience with a focus on fresh, local ingredients and creative preparations of seafood and steak.`,features:`Farm-to-Table, Wine`},{name:`The Beach Bite`,category:`Casual/To-Go`,description:`A perfect stop for beach snacks, ice cream, and quick meals. Conveniently located for grabbing a bite without leaving the ocean breeze.`,features:`Ice Cream, Quick Bites`}],U5=`Rockaway Beach`,Sxe=K(U5),Cxe=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(()=>{let t=Ef(U5,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Sxe,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-sky-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-sky-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed text-sm`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-xs font-bold text-sky-700 bg-sky-50/50 inline-block px-3 py-1 rounded-md uppercase tracking-wider`,children:e.details})})]})}),wxe=({attractions:e})=>!e||e.length===0?null:(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-sky-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-sky-600 font-bold tracking-wider uppercase text-sm`,children:`Explore Rockaway Beach`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Attractions & Highlights`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-sky-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6`,children:e.map((e,t)=>(0,B.jsx)(Cxe,{attraction:e,index:t},t))})]})}),W5=`Rockaway Beach`,Txe=K(W5),Exe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},Dxe=({trails:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`HikingTrailsSection: No trails data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-sky-600`}),`Hiking Trails & Nature Walks`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`From the accessible Cedar Wetlands boardwalk to challenging coastal peaks, discover nature around Rockaway Beach.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-sky-700 transition-colors`,children:e.name}),(()=>{let t=Tf(W5,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Txe,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(Exe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),Oxe=({hotels:e})=>{let t=`Rockaway Beach`,n=[`The Sea Treasure Inn`,`Beach Stay Motel`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},G5=`Rockaway Beach`,kxe=K(G5),K5=({restaurant:e})=>(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-sky-100 hover:border-sky-300 transition-all shadow-sm hover:shadow-md h-full flex flex-col`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-sky-950`,children:e?.name||`Restaurant Name`}),(()=>{let t=Sf(G5,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:kxe,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`}):null})()]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-sky-600 bg-sky-100 px-2 py-1 rounded-md`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed flex-grow`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-sky-100/50 mt-auto`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-sky-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]}),q5=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-sky-500 pl-3`,children:n})})]}),Axe=({restaurants:e})=>{if((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`RestaurantsSection: No restaurant data provided`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-sky-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-sky-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,3),n=e.slice(3,5),r=e.slice(5);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-sky-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-sky-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Rockaway Beach`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Classic corndogs, fresh seafood, and family favorites along Highway 101.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-sky-900 border-b-2 border-sky-200 pb-2 inline-block`,children:`Beach Classics`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(K5,{restaurant:e},t))})]}),(0,B.jsx)(q5,{src:`https://images.unsplash.com/photo-1599305090598-fe179d501227?auto=format&fit=crop&w=800&q=80`,alt:`Corndog and fries`,caption:`Iconic beach treats & chowder`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(q5,{src:`https://images.unsplash.com/photo-1593560708920-638784597446?auto=format&fit=crop&w=800&q=80`,alt:`Pizza`,caption:`Family pizza night`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-sky-900 border-b-2 border-sky-200 pb-2 inline-block ml-auto`,children:`Casual & Pizza`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(K5,{restaurant:e},t))})]})]}),r.length>0&&(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-sky-900 mb-8 text-center`,children:`More Good Eats`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-3 gap-6`,children:r.map((e,t)=>(0,B.jsx)(K5,{restaurant:e},t))})]})]})})},jxe=()=>{(0,y.useEffect)(()=>{console.log(`RockawaySeasideBeachPage mounted`)},[]);let e=Y[`rockaway-beach`],t=If(`Rockaway Beach`),n=Lf(`Rockaway Beach`),r=tj[`rockaway-beach`],i=k5(`rockaway-beach`);return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Zx,{name:`Rockaway Beach Oregon Travel`,description:n,url:`https://oregoncoastal.com/town/rockaway-beach`,image:r}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden`,children:[(0,B.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Scenic beach view of Rockaway Beach with Twin Rocks arch formation in the ocean, waves crashing on the sandy shore, and an overcast sky.`,className:`w-full h-full object-cover`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-black/30 to-black/70`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-center text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Rockaway Beach`}),(0,B.jsx)(`h1`,{className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight`,children:`Rockaway Beach`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 mb-12`,children:[(0,B.jsx)(`div`,{className:`lg:col-span-2`,children:(0,B.jsx)(r6,{townName:`Rockaway Beach`,initialDescription:vxe},`RockawayBeach-About`)}),(0,B.jsx)(`div`,{className:`lg:col-span-1`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||45.6132,lon:e?.geo?.lng||-123.9437,townName:`Rockaway Beach`})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Rockaway Beach`,townSlug:`rockaway-beach`,lat:e?.geo?.lat||45.6132,lon:e?.geo?.lng||-123.9437})})]}),(0,B.jsx)(D5,{slotId:i.top}),(0,B.jsx)(Gj,{townName:`Rockaway Beach`,featuredImage:r,title:`Rockaway Beach in Photos`}),(0,B.jsx)(Hj,{attractions:H5,townName:`Rockaway Beach`}),(0,B.jsx)(wxe,{attractions:H5}),(0,B.jsx)(Dxe,{trails:yxe}),(0,B.jsx)(D5,{slotId:i.middle}),(0,B.jsx)(Oxe,{hotels:bxe}),(0,B.jsx)(D5,{slotId:i.bottom}),(0,B.jsx)(Axe,{restaurants:xxe})]}),(0,B.jsx)(Ux,{})]})},Mxe=`
  <p class="text-xl md:text-2xl font-light text-gray-700 mb-8 leading-relaxed">
    Seaside is the classic Oregon Coast destination, a place where generations of families have created summer memories for over a century. Anchored by the historic 1.5-mile Promenade and the famous Broadway turnaround, this bustling beach town offers a perfect mix of nostalgia, fun, and natural beauty.
  </p>
  <p class="text-lg text-gray-600 mb-6 leading-relaxed">
    From feeding the seals at the seaside Aquarium to playing Skee-Ball at the Funland Arcade, Seaside embraces its reputation as the region's playground. The wide, sandy beach stretches for miles, providing ample space for kite flying, sandcastle building, and watching spectacular sunsets over the Pacific.
  </p>
  <p class="text-lg text-gray-600 leading-relaxed">
    Beyond the cotton candy and bumper cars, Seaside serves as a gateway to serious outdoor adventure. Hikers flock to majestic Tillamook Head, kayakers explore the Necanicum estuary, and surfers catch waves at the cove. Whether you're seeking family entertainment or a basecamp for coastal exploration, Seaside delivers an energetic and welcoming experience.
  </p>
`,J5=[{id:1,name:`The Promenade`,description:`Built in the 1920s, this 1.5-mile paved walkway parallels the ocean and offers the perfect place for a morning jog, sunset stroll, or bike ride with ocean views.`,details:`Historic Landmark`,image:`https://images.unsplash.com/photo-1562315366-231a4773824f?auto=format&fit=crop&w=800&q=80`},{id:2,name:`Seaside Aquarium`,description:`One of the oldest aquariums on the West Coast, famous for its resident harbor seals that visitors can feed. It offers a hands-on experience with local marine life.`,details:`Family Favorite`,image:`https://images.unsplash.com/photo-1621217030567-e17f7b3b3a3c?auto=format&fit=crop&w=800&q=80`},{id:3,name:`The Turnaround`,description:`The official end of the Lewis and Clark Trail, marked by a bronze statue of the explorers. It is the central hub of Seaside where Broadway meets the beach.`,details:`Historic Monument`,image:`https://images.unsplash.com/photo-1620025701888-0f04dc7b88ec?auto=format&fit=crop&w=800&q=80`},{id:4,name:`Funland Arcade`,description:`A nostalgic amusement center that has been entertaining families since 1931. Features classic Skee-Ball, bumper cars, and modern video games.`,details:`Entertainment`,image:`https://images.unsplash.com/photo-1559827260-dc66d52bef19?auto=format&fit=crop&w=800&q=80`},{id:5,name:`Necanicum Estuary`,description:`Where the river meets the sea, this quiet estuary offers excellent opportunities for birdwatching, crabbing, and kayaking away from the busy downtown.`,details:`Nature & Wildlife`,image:`https://images.unsplash.com/photo-1441974231531-c6227db76b6e?auto=format&fit=crop&w=800&q=80`},{id:6,name:`Seaside Carousel Mall`,description:`Home to a classic carousel that delights children and adults alike. The surrounding mall features unique shops, candy stores, and coffee spots.`,details:`Shopping & Fun`,image:`https://images.unsplash.com/photo-1513883049090-d0b7439799bf?auto=format&fit=crop&w=800&q=80`},{id:7,name:`Tillamook Head Trailhead`,description:`Located at the south end of Seaside, this trailhead leads hikers up into the lush coastal rainforest for breathtaking views of the lighthouse and coastline.`,details:`Hiking Access`,image:`https://images.unsplash.com/photo-1615678457053-157d6e6a4577?auto=format&fit=crop&w=800&q=80`},{id:8,name:`Seaside Historical Society Museum`,description:`A charming museum showcasing the history of Seaside as Oregon's first resort town, featuring Native American artifacts and logging history.`,details:`Museum & Culture`,image:`https://images.unsplash.com/photo-1582236372551-78926227b9c6?auto=format&fit=crop&w=800&q=80`}],Nxe=[{name:`Tillamook Head Traverse`,distance:`6.3 miles`,difficulty:`Moderate/Hard`,type:`Point-to-Point`,description:`Follow in the footsteps of Lewis and Clark. This trail climbs through old-growth sitka spruce to high cliffs overlooking the Tillamook Rock Lighthouse.`,icon:`Mountain`,elevation:`1,200 ft`},{name:`Necanicum Estuary Park Loop`,distance:`1.0 miles`,difficulty:`Easy`,type:`Loop`,description:`A gentle boardwalk and paved path winding through wetlands. A perfect spot for birding and viewing elk that often graze in the estuary.`,icon:`Bird`,elevation:`Flat`},{name:`Mill Ponds Park Trail`,distance:`0.8 miles`,difficulty:`Easy`,type:`Loop`,description:`A peaceful nature walk around calm ponds located on the east side of town. Great for families and dog walking.`,icon:`Footprints`,elevation:`Flat`},{name:`Saddle Mountain Trail`,distance:`5.2 miles`,difficulty:`Strenuous`,type:`Out & Back`,description:`A short drive from Seaside, this challenging hike offers arguably the best panoramic views in the entire Coast Range on a clear day.`,icon:`Summit`,elevation:`1,600 ft`},{name:`Clatsop Loop Trail`,distance:`2.8 miles`,difficulty:`Moderate`,type:`Loop`,description:`Located within Ecola State Park (accessible via Tillamook Head trail or driving), this loop offers stunning ocean vistas and forest scenery.`,icon:`Tree`,elevation:`800 ft`},{name:`Canyon Road Hike`,distance:`3.0 miles`,difficulty:`Easy/Moderate`,type:`Out & Back`,description:`A logging road trail that takes you away from the beach crowds into the quiet coastal hills behind Seaside.`,icon:`Path`,elevation:`400 ft`}],Pxe=[{name:`Motel 6 Seaside, OR`,chain:`Motel 6`,stars:2,price:`$`,rating:`3.8/5`,address:`2369 S Roosevelt Dr, Seaside, OR 97138`,description:`A budget-friendly option located just off Highway 101, offering straightforward, clean accommodations. It's a convenient base camp for exploring the coast, featuring pet-friendly rooms and an indoor pool.`,amenities:[`Indoor Pool`,`Pet Friendly`,`Free WiFi`,`Free Parking`,`Accessible Rooms`],image:`https://images.unsplash.com/photo-1566665797739-1674de7a421a?auto=format&fit=crop&w=1000&q=80`,affiliateUrl:`https://expedia.com/affiliates/seaside-hotels-motel-6-seaside.oHFkfmo`,linkRel:`noopener sponsored`},{name:`Inn at the Shore`,chain:`Independent`,stars:3,price:`$$`,rating:`4.4/5`,address:`2275 S Promenade, Seaside, OR 97138`,description:`Located at the quiet southern end of the Seaside Promenade, this charming inn offers spectacular ocean views, gas fireplaces, and private balconies, perfect for a relaxing getaway.`,amenities:[`Ocean Views`,`Free WiFi`,`Bicycles Available`,`Private Balconies`,`Fireplaces`],image:`https://images.unsplash.com/photo-1582719508461-905c673771fd?auto=format&fit=crop&w=1000&q=80`,affiliateUrl:`https://expedia.com/affiliates/seaside-hotels-inn-at-the-shore.6OoUMLB`,linkRel:`noopener sponsored`},{name:`Hi-Tide Oceanfront Inn`,chain:`Independent`,stars:2,price:`$$`,rating:`4.0/5`,address:`30 Ave G, Seaside, OR 97138`,description:`Directly on the beach, offering comfortable rooms with fireplaces, kitchenettes, and stunning ocean views right from your private balcony. Renowned for its warm hospitality.`,amenities:[`Oceanfront Balconies`,`Kitchenettes`,`Gas Fireplaces`,`Free Fresh Cookies`,`Pet Friendly`],image:`https://images.unsplash.com/photo-1657456017642-9ab864c41240?auto=format&fit=crop&w=1000&q=80`,affiliateUrl:`https://expedia.com/affiliate/MrBgPbe`,linkRel:`noopener sponsored`},{name:`Ebb Tide Oceanfront Inn`,chain:`Independent`,stars:3,price:`$$`,rating:`4.1/5`,address:`300 N Promenade, Seaside, OR 97138`,description:`Situated right on the sandy shore, providing excellent ocean views and a peaceful retreat. Wake up to the sound of crashing waves and enjoy easy walks along the historic Promenade.`,amenities:[`Ocean Views`,`Pet Friendly`,`Direct Beach Access`,`Free Breakfast`,`Indoor Pool`],image:`https://images.unsplash.com/photo-1578345535994-b6f7d1fa5b31?auto=format&fit=crop&w=1000&q=80`,affiliateUrl:`https://expedia.com/affiliate/gCihDTZ`,linkRel:`noopener sponsored`},{name:`Seashore Inn on the Beach`,chain:`Independent`,stars:3,price:`$$`,rating:`4.2/5`,address:`60 N Promenade, Seaside, OR 97138`,description:`Providing comfortable oceanfront accommodations with immediate access to Seaside's famous paved Promenade. Unwind in the indoor pool and hot tub after exploring the coast.`,amenities:[`Indoor Pool & Spa`,`Free Light Breakfast`,`Direct Beach Access`,`Oceanfront`,`Free Parking`],image:`https://images.unsplash.com/photo-1613013441633-785518cf90b3?auto=format&fit=crop&w=1000&q=80`,affiliateUrl:`https://expedia.com/affiliates/seaside-hotels-seashore-inn-on-the-beach.L90pfUw`,linkRel:`noopener sponsored`,bgClass:`bg-gradient-to-br from-blue-500 to-cyan-400`}],Fxe=[{id:1,name:`Mo's Seafood & Chowder`,cuisine:`Seafood`,description:`An Oregon Coast icon located right on the beach. Famous for their clam chowder, fish and chips, and casual family atmosphere.`,price:`$$`},{id:2,name:`Nonni's Italian Bistro`,cuisine:`Italian`,description:`Authentic Italian cuisine featuring homemade pastas, fresh seafood dishes, and a warm, inviting atmosphere in downtown.`,price:`$$$`},{id:3,name:`Dooger's Seafood & Grill`,cuisine:`Seafood & Steak`,description:`A local favorite for decades, known for its gluten-free options, clam chowder, and hearty seafood platters.`,price:`$$`},{id:4,name:`Firehouse Grill`,cuisine:`American / Burgers`,description:`Housed in an old fire station, serving up gourmet burgers, breakfasts, and comfort food with a fun local history theme.`,price:`$$`},{id:5,name:`Norma's Seafood & Steak`,cuisine:`Fine Casual`,description:`A staple of Seaside dining, offering high-quality steaks and fresh local seafood in a classic coastal setting.`,price:`$$$`},{id:6,name:`Dundee's Bar & Grill`,cuisine:`Pub Fare`,description:`A lively sports bar and grill offering burgers, wings, and plenty of TVs to catch the game after a day at the beach.`,price:`$$`},{id:7,name:`Grizzly Tuna`,cuisine:`Fish & Chips`,description:`A wildly popular drive-thru kiosk shaped like a giant tuna, serving perfectly fried fish and chips.`,price:`$`},{id:8,name:`Osprey Cafe`,cuisine:`Breakfast & Brunch`,description:`A cozy spot offering delicious homemade breakfasts, international dishes, and excellent coffee.`,price:`$$`},{id:9,name:`Seaside Brewing Co.`,cuisine:`Brewery`,description:`Located in the historic old city jail, serving craft beers brewed on-site and a menu of pub favorites.`,price:`$$`},{id:10,name:`Tora Sushi`,cuisine:`Japanese / Sushi`,description:`Providing fresh sushi, sashimi, and Japanese entrees. A great alternative to traditional fried coastal fare.`,price:`$$`},{id:11,name:`The Stand`,cuisine:`Mexican`,description:`A hidden gem for authentic, fresh Mexican food. Known for huge burritos and fresh salsa.`,price:`$`},{id:12,name:`Twisted Fish Steakhouse`,cuisine:`Steakhouse`,description:`An upscale casual dining experience with a diverse menu of steaks, seafood, and cocktails.`,price:`$$$`},{id:13,name:`Pig 'N Pancake`,cuisine:`Breakfast`,description:`An Oregon coast tradition. Famous for sourdough pancakes and hearty breakfasts served all day.`,price:`$$`}],Ixe=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(0,B.jsx)(`div`,{className:`bg-blue-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-blue-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-blue-700 bg-blue-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),Lxe=({attractions:e})=>!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-blue-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-blue-600 font-bold tracking-wider uppercase text-sm`,children:`Family Fun & History`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Seaside`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-blue-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(Ixe,{attraction:e,index:t},t))})]})}),Rxe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-blue-100 text-blue-800 border-blue-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},zxe=({trails:e})=>!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-blue-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`From the famous Tillamook Head trail to gentle estuary walks, Seaside offers outdoor adventures for every level of hiker.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-blue-700 transition-colors`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(Rxe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})}),Bxe=({hotels:e})=>{let t=`Seaside`;return(0,B.jsx)(a6,{townName:t,fallbackHotels:e,affiliateHotels:jC[t]})},Y5=`Seaside`,Vxe=K(Y5),X5=({restaurant:e})=>{let t=Sf(Y5,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-blue-100 hover:border-blue-300 transition-all shadow-sm hover:shadow-md`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-blue-950`,children:e?.name||`Restaurant Name`}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Vxe,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.cuisine&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-blue-600 bg-blue-100 px-2 py-1 rounded-md flex-shrink-0`,children:e.cuisine})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed`,children:e?.description||`No description available.`}),e?.price&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-blue-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-blue-800 uppercase tracking-wide`,children:`Price Range`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.price})]})]})},Z5=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-blue-500 pl-3`,children:n})})]}),Hxe=({restaurants:e})=>{if(!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-blue-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-blue-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,2),n=e.slice(2,4),r=e.slice(4);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-blue-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-blue-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Seaside`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`From fresh chowder on the beach to authentic Italian bistros, Seaside offers diverse flavors for the whole family.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-blue-900 border-b-2 border-blue-200 pb-2 inline-block`,children:`Local Icons`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(X5,{restaurant:e},t))})]}),(0,B.jsx)(Z5,{src:`https://images.unsplash.com/photo-1615887023516-9b6c00f91ce9?auto=format&fit=crop&w=800&q=80`,alt:`Seafood dining`,caption:`Fresh catch and chowder`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(Z5,{src:`https://images.unsplash.com/photo-1550547660-d9450f859349?auto=format&fit=crop&w=800&q=80`,alt:`Burger and fries`,caption:`Casual family favorites`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-blue-900 border-b-2 border-blue-200 pb-2 inline-block ml-auto`,children:`Family Favorites`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(X5,{restaurant:e},t))})]})]}),r.length>0&&(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-blue-900 mb-8 text-center`,children:`More Delicious Options`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-3 gap-6`,children:r.map((e,t)=>(0,B.jsx)(X5,{restaurant:e},t))})]})]})})},Uxe=[{title:`Cannon Beach Chorus Concerts`,date:`Seasonal (Check July/December)`},{title:`Buskers in the Park`,date:`Thursdays (thru Sept 3, 2026)`},{title:`Stormy Weather Arts Festival`,date:`November 6–8, 2026`},{title:`Cannon Beach Independence Day Parade`,date:`July 4, 2027`},{title:`Seaside Beach Volleyball`,date:`August 13–16, 2026`},{title:`Hood to Coast Relay Finish`,date:`August 28, 2026`}],Wxe=()=>{(0,y.useEffect)(()=>{console.log(`SeasidePage mounted`)},[]);let e=Y.seaside,t=If(`Seaside`),n=Lf(`Seaside`),r=tj.seaside;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Zx,{name:`Seaside Oregon Travel`,description:n,url:`https://visitseaside.com`,image:r}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden`,children:[(0,B.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Seaside, Oregon Promenade and Beach`,className:`w-full h-full object-cover`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-black/30 to-black/70`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-center text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Seaside`}),(0,B.jsx)(`h1`,{className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight`,children:`Seaside`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 mb-12`,children:[(0,B.jsx)(`div`,{className:`lg:col-span-2`,children:(0,B.jsx)(r6,{townName:`Seaside`,initialDescription:Mxe},`Seaside-About`)}),(0,B.jsx)(`div`,{className:`lg:col-span-1`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||45.9932,lon:e?.geo?.lng||-123.9226,townName:`Seaside`})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Seaside`,townSlug:`seaside`,lat:e?.geo?.lat||45.9932,lon:e?.geo?.lng||-123.9226,defaultStationId:`9437908`})})]}),(0,B.jsx)(Gj,{townName:`Seaside`,featuredImage:r,title:`Seaside in Photos`}),(0,B.jsx)(Hj,{attractions:J5,townName:`Seaside`}),(0,B.jsx)(Lxe,{attractions:J5}),(0,B.jsx)(zxe,{trails:Nxe}),(0,B.jsx)(c6,{events:Uxe}),(0,B.jsx)(Bxe,{hotels:Pxe}),(0,B.jsx)(Hxe,{restaurants:Fxe})]}),(0,B.jsx)(Ux,{})]})},Gxe=`
  <p>Just across the iconic Art Deco arches of the Yaquina Bay Bridge from Newport lies South Beach, a vibrant coastal community defined by its connection to nature, science, and the sea. While often grouped with its northern neighbor, South Beach boasts its own distinct identity as the "Adventure Side" of the bay, serving as the gateway to miles of pristine dunes, surfing jetties, and world-class marine education centers.</p>
  <p>South Beach is perhaps best known as the home of the Oregon Coast Aquarium, one of the premier marine centers in the Pacific Northwest, and the Hatfield Marine Science Center. It is a place where visitors can walk through acrylic tunnels surrounded by sharks, interact with giant Pacific octopuses, and learn about the delicate coastal ecosystems. Beyond the science, South Beach State Park offers expansive sandy shores, paved biking trails, and some of the best camping and yurt stays on the coast.</p>
  <p>Whether you're catching waves at the South Jetty, exploring the quiet old-growth spruce forests of Mike Miller Park, or enjoying fresh crab at the local fish market, South Beach offers a laid-back, outdoor-focused experience. It is the perfect base camp for families and explorers looking to immerse themselves in the wild beauty of the Central Oregon Coast.</p>
`,Q5=[{name:`Oregon Coast Aquarium`,description:`The crown jewel of South Beach. This world-class facility features the famous 'Passages of the Deep' tunnels where you walk beneath sharks and rays. Exhibits focus on local flora and fauna, including playful sea otters, puffins, and a touch pool for hands-on learning.`,details:`Open daily. Timed entry tickets recommended.`},{name:`South Beach State Park`,description:`Spanning miles of shoreline south of the jetty, this park is a haven for outdoor enthusiasts. It features vast sandy beaches, a popular campground with yurts, and paved trails that wind through the dunes. It's also a prime spot for equestrian beach rides.`,details:`Day use fee or State Park pass required.`},{name:`Hatfield Marine Science Center`,description:`Operated by Oregon State University, this research hub is open to the public with fascinating interactive exhibits. Learn about tsunamis, operate a robotic arm, and see the famous Giant Pacific Octopus. It's where real science meets public education.`,details:`Donation based admission. Check schedule for octopus feedings.`},{name:`South Jetty`,description:`Extending far into the Pacific, the South Jetty protects the entrance to Yaquina Bay. It's a premier destination for surfers, storm watchers, and fishermen. The paved path along the jetty offers incredible views of the bridge and sunsets.`,details:`Windy! Bring a jacket. Great for watching boat traffic.`},{name:`Aquarium Village`,description:`A charming collection of pirate-themed shops and boutiques located just outside the aquarium. Browse for unique gifts, antiques, and local art, or grab a sweet treat at the candy shop.`,details:`Free parking. Fun photo ops with pirate statues.`},{name:`Mike Miller Educational Park`,description:`A hidden gem located just inland. This park preserves a tract of coastal forest that remains largely untouched. It's a quiet contrast to the windy beach, with towering trees, ferns, and a peaceful atmosphere.`,details:`Free access. Great for birdwatching.`},{name:`Brian Booth State Park (Ona Beach)`,description:`Just a short drive south, this park offers a unique mix of beach and kayaking opportunities along Beaver Creek. It's a fantastic spot for paddling through quiet wetlands to spot herons and otters.`,details:`Kayak rentals available nearby seasonally.`}],Kxe=[{name:`South Jetty Trail`,distance:`2.5 miles (one way)`,difficulty:`Easy`,description:`A paved, ADA-accessible trail that runs from the state park day-use area all the way to the tip of the South Jetty. Perfect for biking, jogging, and watching the waves crash against the rocks.`},{name:`Mike Miller Nature Loop`,distance:`1.2 miles loop`,difficulty:`Easy/Moderate`,description:`This interpretive trail winds through diverse coastal vegetation, including spruce, pine, and salal. It includes bridges over wetlands and slight elevation changes, offering a secluded forest experience.`},{name:`Cooper Ridge Nature Trail`,distance:`1.7 miles loop`,difficulty:`Moderate`,description:`Located within South Beach State Park, this trail heads inland through dense shore pine forest and sits slightly higher, offering glimpses of the ocean through the trees.`},{name:`Old Jetty Trail`,distance:`1.0 mile`,difficulty:`Easy`,description:`A sandy and paved mix that follows the path of the original jetty structure. It connects the campground to the beach and is popular with campers for evening sunset walks.`},{name:`Yaquina Bay Estuary Trail`,distance:`0.75 miles`,difficulty:`Easy`,description:`A short educational walk near the Science Center that highlights the importance of the estuary. Interpretive signs explain the mudflat ecology and the birds that rely on it.`},{name:`Beaver Creek Marsh Trail`,distance:`3.5 miles varied`,difficulty:`Easy`,description:`Nearby at Ona Beach, these trails explore the marshland behind the beach. It's a flat, winding grassy path that is excellent for spotting wildlife away from the beach crowds.`}],qxe=[{name:`Whaler's Rest RV & Camping Resort`,category:`Resort/RV`,description:`Located in a wooded setting just south of the main hub, this Thousand Trails resort offers cabins and RV spots. It features an indoor pool, mini-golf, and a lodge, making it a family favorite.`,amenities:`Indoor pool, clubhouse, tennis courts, cabins.`},{name:`La Quinta Inn & Suites`,category:`Mid-Range`,description:`Conveniently located walking distance to the Aquarium and Science Center. It offers modern, comfortable rooms and is very pet-friendly, making it a great base for aquarium visitors.`,amenities:`Indoor pool, free breakfast, pet-friendly.`},{name:`South Beach State Park Yurts`,category:`Camping/Glamping`,description:`For a rustic experience without the tent, the park's yurts are legendary. Heated and furnished with beds, they offer immediate access to the dunes and jetty trail.`,amenities:`Fire pits, beach access, hot showers nearby.`},{name:`Holiday Inn Express Newport`,category:`Mid-Range`,description:`Technically in South Beach, this reliable hotel sits close to the bridge. It's known for clean rooms and easy access to both the aquarium side and the downtown Newport side.`,amenities:`Express Start breakfast, pool, fitness center.`},{name:`Motel 6 Newport`,category:`Budget`,description:`A simple, clean, and budget-friendly option located right in South Beach. It's no-frills but places you minutes from the beach and the brewery.`,amenities:`Kids stay free, pet-friendly, free coffee.`}],Jxe=[{name:`South Beach Fish Market`,category:`Seafood/Casual`,description:`Famous for their fresh crab and massive fish and chips portions. It's a market first, so you know the seafood is fresh. The outdoor seating is rustic and perfect for a sunny day.`,features:`Fresh crab market, outdoor picnic tables, huge portions.`},{name:`Rogue Ales & Spirits`,category:`Brewery/Pub`,description:`The massive headquarters of Rogue Nation. Located near the marina, you can tour the distillery and brewery before settling in for a Dead Guy Ale and a Kobe beef burger.`,features:`Brewery tours, distillery, large gift shop.`},{name:`Wolf Tree Brewery Taproom`,category:`Brewery`,description:`A local favorite located in the Aquarium Village. They specialize in spruce-tip ales and other unique, locally inspired brews in a cozy, cattle-ranch themed setting.`,features:`Locally sourced ingredients, patio seating, dog friendly.`},{name:`Ferry Slip Cafe`,category:`Breakfast/Diner`,description:`A classic diner located near the marina. Known for hearty fisherman's breakfasts, biscuits and gravy, and a view of the boats in the harbor.`,features:`Harbor views, homestyle breakfast, early hours.`}],$5=`South Beach`,Yxe=K($5),Xxe=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(()=>{let t=Ef($5,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Yxe,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),Zxe=({attractions:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`AttractionsSection: No attractions data provided`):console.log(`AttractionsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Explore the Adventure Side`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in South Beach`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(Xxe,{attraction:e,index:t},t))})]})})),e7=`South Beach`,Qxe=K(e7),$xe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},eSe=({trails:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`HikingTrailsSection: No trails data provided`):console.log(`HikingTrailsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Trails, Dunes & Jetties`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Discover the diverse landscapes of South Beach, from the wind-swept jetty and sandy dunes to quiet coastal forests and estuary walks.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(()=>{let t=Tf(e7,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:Qxe,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)($xe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),tSe=({hotels:e})=>{let t=`South Beach`,n=[`Whaler's Rest RV & Camping Resort`,`South Beach State Park Yurts`,`Coming Soon`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},t7=({restaurant:e})=>(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md h-full flex flex-col`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md whitespace-nowrap`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed flex-grow`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50 mt-auto`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]}),n7=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),nSe=({restaurants:e})=>{if((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`RestaurantsSection: No restaurant data provided`):console.log(`RestaurantsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,2),n=e.slice(2,4);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in South Beach`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Fresh seafood markets, world-famous breweries, and hearty breakfasts fuel your adventures on this side of the bay.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block`,children:`Fresh & Famous`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(t7,{restaurant:e},t))})]}),(0,B.jsx)(n7,{src:`https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=800&q=80`,alt:`Fresh fish market display`,caption:`Local markets serving the day's catch`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(n7,{src:`https://images.unsplash.com/photo-1514933651103-005eec06c04b?auto=format&fit=crop&w=800&q=80`,alt:`Brewery interior`,caption:`Craft brews and casual bites`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block ml-auto`,children:`Casual & Craft`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(t7,{restaurant:e},t))})]})]})]})})},rSe=()=>{(0,y.useEffect)(()=>{console.log(`SouthBeachPage mounted`)},[]);let e=Y[`south-beach`],t=If(`South Beach`),n=Lf(`South Beach`),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/e1e041b89722871843a1b35e49288748.webp`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden`,children:[(0,B.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`South Beach, Oregon coastline`,className:`w-full h-full object-cover`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-black/30 to-black/70`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-center text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`South Beach`}),(0,B.jsx)(`h1`,{className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight`,children:`South Beach`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto town-grid-layout mb-12`,children:[(0,B.jsx)(`div`,{className:`town-about-section`,children:(0,B.jsx)(r6,{townName:`South Beach`,initialDescription:Gxe})}),(0,B.jsx)(`div`,{className:`town-weather-section`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||44.6062,lon:e?.geo?.lng||-124.0434,townName:`South Beach`})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`South Beach`,townSlug:`south-beach`,lat:e?.geo?.lat||44.6062,lon:e?.geo?.lng||-124.0434})})]}),(0,B.jsx)(Gj,{townName:`South Beach`,featuredImage:r,title:`South Beach Gallery`}),(0,B.jsx)(Zx,{name:`South Beach, Oregon`,description:n,image:r,url:window.location.href,geo:{latitude:44.6333,longitude:-124.0667}}),(0,B.jsx)(Hj,{attractions:Q5,townName:`South Beach`}),(0,B.jsx)(Zxe,{attractions:Q5}),(0,B.jsx)(eSe,{trails:Kxe}),(0,B.jsx)(tSe,{hotels:qxe}),(0,B.jsx)(nSe,{restaurants:Jxe})]}),(0,B.jsx)(Ux,{})]})},iSe=`
  <p>Tillamook is more than just a name on a cheese wrapper—it's a vibrant agricultural hub surrounded by some of the Oregon Coast's most dramatic landscapes. Known globally for the Tillamook Creamery, the town sits in a lush valley where five rivers converge into Tillamook Bay. It's a place where rolling green pastures meet the rugged Pacific Ocean, offering a unique blend of farming heritage and coastal wildness.</p>
  <p>Beyond the dairy farms, Tillamook is a gateway to adventure. Aviation enthusiasts flock to the massive WWII-era blimp hangar at the Air Museum, while nature lovers explore the waterfalls of the Tillamook State Forest or the scenic beauty of the Three Capes Scenic Loop. Whether you're kayaking the bay, hiking Kings Mountain, or sampling the region's famous ice cream and cheese, Tillamook offers a rich, flavorful, and authentic Oregon experience.</p>
`,r7=[{name:`Tillamook Creamery`,description:`The most famous attraction in town. Take a self-guided tour of the factory, learn about the cheese-making process, and visit the massive dining hall for fresh ice cream, cheese curds, and gourmet burgers.`,details:`Food & Industry`},{name:`Tillamook Air Museum`,description:`Housed in a colossal WWII blimp hangar (Hangar B), this museum features a fascinating collection of vintage aircraft and aviation artifacts. The structure itself is an architectural marvel.`,details:`History & Aviation`},{name:`Blue Heron French Cheese Company`,description:`A charming destination featuring a petting farm, vintage farm equipment, a deli with wine tasting, and unique gifts. Famous for its brie and other specialty cheeses.`,details:`Farm & Food`},{name:`Tillamook County Pioneer Museum`,description:`Explore the rich history of the region across three floors of exhibits, including Native American artifacts, logging history, and a replica pioneer home. A deep dive into local heritage.`,details:`Museum`},{name:`Tillamook Forest Center`,description:`Located inland on the Wilson River Highway, this center educates visitors about the Tillamook Burn and forest management through interactive exhibits and a suspension bridge over the river.`,details:`Nature & Education`},{name:`Latimer Quilt & Textile Center`,description:`A unique museum dedicated to the preservation and promotion of textile arts. Features beautiful rotating exhibits of vintage quilts, weaving, and spinning demonstrations.`,details:`Arts & Culture`},{name:`Three Capes Scenic Loop`,description:`One of the most spectacular drives on the coast. Though parts of the original loop are closed, you can still access Cape Meares, Cape Lookout, and Cape Kiwanda for breathtaking views.`,details:`Scenic Drive`},{name:`Munson Creek Falls`,description:`Home to the tallest waterfall in the Coast Range. A short, easy trail leads through an old-growth forest to the base of the impressive 319-foot cascading falls.`,details:`Nature`}],aSe=[{name:`Cape Lookout Trail`,distance:`4.8 miles`,difficulty:`Moderate`,elevation:`930 ft`,description:`A stunning hike along a narrow basalt promontory jutting two miles into the ocean. Offers incredible opportunities for whale watching and views of the coastline.`},{name:`Cape Meares Lighthouse Trail`,distance:`0.5 miles`,difficulty:`Easy`,elevation:`Minimal`,description:`A paved path leads to the historic lighthouse and the famous 'Octopus Tree.' The cliffs here are excellent for spotting nesting seabirds.`},{name:`Munson Creek Falls Trail`,distance:`0.6 miles`,difficulty:`Easy`,elevation:`100 ft`,description:`A family-friendly walk through lush forest to view the three-tiered waterfall. The trail is accessible and offers a peaceful retreat into nature.`},{name:`Kings Mountain Trail`,distance:`5.0 miles`,difficulty:`Strenuous`,elevation:`2,500 ft`,description:`A steep, challenging climb in the Tillamook State Forest that rewards hikers with panoramic views of the Coast Range and, on clear days, the ocean.`},{name:`Wilson River Trail`,distance:`Varies`,difficulty:`Moderate`,elevation:`Varies`,description:`A long-distance trail following the Wilson River. Sections offer access to swimming holes, waterfalls (like Lester Creek Falls), and beautiful forest scenery.`},{name:`Bayocean Spit Trail`,distance:`7.8 miles`,difficulty:`Easy/Moderate`,elevation:`Flat`,description:`Hike along the sandy spit that was once the site of a resort town swallowed by the sea. A loop trail offers bay and ocean views with diverse wildlife.`},{name:`Kilchis Point Reserve Trails`,distance:`2.0 miles`,difficulty:`Easy`,elevation:`Flat`,description:`Located in nearby Bay City, these interpretive trails wander through wetlands and spruce forests to the edge of Tillamook Bay. Great for birdwatching.`}],oSe=[{name:`Ashley Inn of Tillamook`,category:`Hotel`,description:`A comfortable and centrally located hotel offering spacious rooms, an indoor pool, and complimentary breakfast. A reliable choice for families.`,amenities:`Pool, Breakfast, WiFi`},{name:`Tillamook Inn`,category:`Inn/Motel`,description:`A recently updated property providing modern, clean accommodations near the town center. Convenient access to the Creamery and Highway 101.`,amenities:`Renovated, Parking`},{name:`Sheltered Nook on Tillamook Bay`,category:`Tiny Homes`,description:`Located in Bay City, this unique lodging features fully equipped tiny homes focused on sustainability. Offers a community feel with a shared fire pit.`,amenities:`Kitchens, Pet Friendly`},{name:`Vacation Rentals`,category:`Rentals`,description:`Numerous private homes and cabins are available throughout the valley and near the bay, offering more space and privacy for groups or longer stays.`,amenities:`Various`},{name:`Campgrounds`,category:`Camping`,description:`The area boasts excellent camping, including county parks like Barview Jetty and Trask River, offering tent and RV sites in scenic settings.`,amenities:`Nature, RV Sites`},{name:`Nearby Options`,category:`Info`,description:`For oceanfront stays, look to nearby Oceanside, Netarts, or Rockaway Beach, all just a short drive from Tillamook's central amenities.`,amenities:`Beach Access`}],sSe=[{name:`Pacific Restaurant`,category:`Seafood/Steak`,description:`A local favorite for fine dining in a relaxed atmosphere. Known for fresh local seafood, high-quality steaks, and excellent service.`,features:`Upscale, Cocktails`},{name:`Alice's Country House`,category:`American`,description:`A classic country diner serving hearty portions of comfort food. Famous for their prime rib and friendly, home-style vibe.`,features:`Comfort Food, Portions`},{name:`La Mexicana Restaurant`,category:`Mexican`,description:`Authentic Mexican cuisine made with fresh ingredients. A vibrant spot for tacos, enchiladas, and margaritas in the heart of town.`,features:`Authentic, Family Friendly`},{name:`Rodeo Steakhouse and Grill`,category:`Steakhouse`,description:`A western-themed steakhouse offering a robust menu of steaks, burgers, and salads. A fun atmosphere perfect for a hearty dinner.`,features:`Themed, Hearty`},{name:`The Fern Cafe`,category:`Cafe/Diner`,description:`A hidden gem for breakfast and lunch. Loved by locals for their omelets, pancakes, and classic diner fare served with a smile.`,features:`Breakfast, Local Spot`},{name:`Dutch Mill Cafe`,category:`Diner`,description:`A nostalgic 50s-style diner serving burgers, shakes, and breakfast all day. A fun stop for families and retro enthusiasts.`,features:`Retro Vibe, Shakes`},{name:`JAndy Oyster Co.`,category:`Seafood`,description:`Located in downtown Tillamook, offering fresh oysters grown in Netarts Bay. A casual spot for raw, grilled, or fried oysters and chowder.`,features:`Fresh Oysters, Casual`},{name:`Werner Beef & Brew`,category:`Brewpub`,description:`Attached to the Werner jerky factory, this taproom serves their own craft beers alongside a menu featuring their high-quality meats.`,features:`Craft Beer, Deli Meats`},{name:`Tillamook Country Smoker`,category:`Deli/Outlet`,description:`The factory outlet for the famous jerky brand. Offers great deals on smoked meats and features a deli counter for quick, savory bites.`,features:`Jerky, Snacks`},{name:`Five Rivers Coffee Roasters`,category:`Coffee`,description:`The place for serious coffee lovers. Roasting their own beans on-site, they offer excellent espresso drinks and pastries in a cozy setting.`,features:`Local Roast, Espresso`}],i7=`Tillamook`,cSe=K(i7),lSe=({attraction:e,index:t})=>{let n=Ef(i7,e?.name);return(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),n&&(0,B.jsx)(X,{objectId:n.object_id,title:e.name,sourcePage:cSe,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`})]}),(0,B.jsx)(`div`,{className:`bg-green-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-green-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed text-sm`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-xs font-bold text-green-700 bg-green-50/50 inline-block px-3 py-1 rounded-md uppercase tracking-wider`,children:e.details})})]})})},uSe=({attractions:e})=>!e||e.length===0?null:(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-green-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-green-600 font-bold tracking-wider uppercase text-sm`,children:`Explore the Valley`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Tillamook Attractions`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-green-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6`,children:e.map((e,t)=>(0,B.jsx)(lSe,{attraction:e,index:t},t))})]})}),a7=`Tillamook`,dSe=K(a7),fSe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},pSe=({trails:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`HikingTrailsSection: No trails data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-green-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Discover lush rainforests, waterfalls, and dramatic capes just minutes from town.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-green-700 transition-colors`,children:e.name}),(()=>{let t=Tf(a7,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:dSe,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(fSe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),mSe=({hotels:e})=>{let t=`Tillamook`,n=[`Vacation Rentals`,`Campgrounds`,`Nearby Options`,`Sheltered Nook on Tillamook Bay`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},o7=`Tillamook`,hSe=K(o7),s7=({restaurant:e})=>{let t=Sf(o7,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-green-100 hover:border-green-300 transition-all shadow-sm hover:shadow-md h-full flex flex-col`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-green-950`,children:e?.name||`Restaurant Name`}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:hSe,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-green-600 bg-green-100 px-2 py-1 rounded-md flex-shrink-0`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed flex-grow`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-green-100/50 mt-auto`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-green-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]})},c7=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-green-500 pl-3`,children:n})})]}),gSe=({restaurants:e})=>{if((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`RestaurantsSection: No restaurant data provided`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-green-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-green-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,4),n=e.slice(4,7),r=e.slice(7);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-green-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-green-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Tillamook`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`From world-famous cheese and ice cream to fresh local seafood and hearty ranch-style meals.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-green-900 border-b-2 border-green-200 pb-2 inline-block`,children:`Local Favorites`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(s7,{restaurant:e},t))})]}),(0,B.jsx)(c7,{src:`https://images.unsplash.com/photo-1544025162-d76694265947?auto=format&fit=crop&w=800&q=80`,alt:`Hearty steak dinner`,caption:`Hearty meals for coastal adventurers`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(c7,{src:`https://images.unsplash.com/photo-1565299624946-b28f40a0ae38?auto=format&fit=crop&w=800&q=80`,alt:`Pizza and casual food`,caption:`Casual bites and family spots`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-green-900 border-b-2 border-green-200 pb-2 inline-block ml-auto`,children:`Casual Dining`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(s7,{restaurant:e},t))})]})]}),(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-green-900 mb-8 text-center`,children:`Cafes & Quick Bites`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-3 gap-6`,children:r.map((e,t)=>(0,B.jsx)(s7,{restaurant:e},t))})]})]})})},_Se=[{name:`Munson Creek Falls`,difficulty:`Easy`,distance:`0.5 miles`,accessibility:4,description:`At 266 feet, Munson Creek Falls is the tallest waterfall in the Oregon Coast Range - and one of the easiest to reach. A short, paved trail leads through massive old-growth Sitka spruce to a stunning viewpoint.`,notes:`Fully paved trail makes it wheelchair and stroller accessible. Can be crowded on summer weekends. No facilities on-site.`},{name:`Nehalem Falls`,difficulty:`Easy`,distance:`0.5 miles`,accessibility:4,description:`A beautiful 100-foot waterfall on the Nehalem River, easily accessible from Highway 101. Less dramatic than Munson Creek but offers a quieter, more intimate experience.`,notes:`Very short walk from parking area. Good for families with young children. Swimming holes nearby in summer.`}],vSe=()=>{(0,y.useEffect)(()=>{console.log(`TillamookPage mounted`)},[]);let e=Y.tillamook,t=If(`Tillamook`),n=Lf(`Tillamook`),r=tj.tillamook;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Zx,{name:`Tillamook Oregon Travel`,description:n,url:`https://oregoncoastal.com/town/tillamook`,image:r}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Tillamook, Oregon Countryside`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Tillamook`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Tillamook`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-green-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Tillamook Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:iSe}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Famous for its dairy heritage, lush valleys, and gateway to scenic coastal bays.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||45.4562,lon:e?.geo?.lng||-123.844,townName:`Tillamook`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Tillamook`,townSlug:`tillamook`,lat:e?.geo?.lat||45.4562,lon:e?.geo?.lng||-123.844,defaultStationId:`9437331`})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Tillamook`,featuredImage:r,title:`Tillamook in Photos`})}),(0,B.jsx)(Hj,{attractions:r7,townName:`Tillamook`}),(0,B.jsx)(uSe,{attractions:r7}),(0,B.jsx)(pSe,{trails:aSe}),(0,B.jsx)(R6,{townName:`Tillamook`,waterfalls:_Se,headerTitle:`Nearby Waterfalls`,headerSubtitle:`Tillamook County's misty Coast Range is home to the tallest waterfall in the Oregon Coast Range - and it's surprisingly easy to reach.`,ctaText:`Spending the night near Tillamook? Stay in Tillamook and use it as your base for Munson Creek Falls, the Tillamook Creamery, and Three Capes Scenic Route.`}),(0,B.jsx)(mSe,{hotels:oSe}),(0,B.jsx)(gSe,{restaurants:sSe})]}),(0,B.jsx)(Ux,{})]})},ySe=`
  <p>Located just seven miles inland from the Pacific Ocean on the winding Yaquina River, Toledo is a town with grit, history, and a rapidly growing artistic soul. Often overshadowed by its coastal neighbor Newport, Toledo offers a more authentic, rooted experience of the Oregon Coast region. Known as the "Industrial Heart" of Lincoln County due to its historic paper mill and timber legacy, it has successfully pivoted to become a vibrant hub for artists and makers.</p>
  <p>The town's steep hillsides, lined with Victorian homes and winding streets, have earned it comparisons to a miniature San Francisco. Main Street is a charming throwback, featuring antique stores, art galleries, and murals that celebrate the town's history. Toledo is famous for its annual Art Walk and Labor Day festival, which highlight the community's dual identity as a working-class stronghold and a creative sanctuary.</p>
  <p>Outdoor lovers appreciate Toledo as a gateway to the diverse Yaquina River ecosystem. Whether you're paddling the calm waters, fishing for Chinook salmon, or exploring the nearby coastal forests, Toledo provides a quieter, warmer, and often sunnier alternative to the immediate coast. It is a place where industry meets artistry, offering a warm welcome to those who venture just a few minutes off Highway 101.</p>
`,l7=[{name:`Toledo History Center`,description:`Located on Main Street, this museum offers a fascinating look into the region's logging and railroad history. Exhibits feature vintage equipment, photographs of the early 20th century, and stories of the families who built the town.`,details:`Free admission. Open weekends and during summer.`},{name:`Yaquina River Museum of Art`,description:`A testament to Toledo's artistic revival, this museum showcases works by local and regional artists. It focuses on landscape painting and sculpture that reflect the beauty of the Yaquina watershed.`,details:`Located in the heart of downtown. Check website for exhibition schedules.`},{name:`Port of Toledo Waterfront Park`,description:`A beautifully maintained park along the river featuring a public boat launch, picnic areas, and a viewing platform. It's the perfect spot to watch the fishing boats and occasionally see the historic sternwheeler.`,details:`Great for picnics and launching kayaks.`},{name:`Toledo Waterfront Market`,description:`Held weekly during the summer at Memorial Field, this market features local produce, artisan crafts, and live music. It's a gathering place for the community and a great spot to find unique souvenirs.`,details:`Thursdays in summer. Family-friendly.`},{name:`Michael Gibbons Signature Gallery`,description:`Housed in a historic vicarage, this gallery features the work of the late Michael Gibbons, a renowned landscape painter who championed Toledo as an art community. The garden behind the gallery is also a work of art.`,details:`Open by appointment or during special events.`},{name:`The Timbers`,description:`A local landmark bar and grill that has served the community for decades. It's known for its friendly atmosphere, stiff drinks, and being the place where locals gather after a shift at the mill.`,details:`21+ establishment. Cash only mostly.`},{name:`Paddle Park`,description:`Located just upstream, this park is designed specifically for non-motorized boats. It offers a quiet place to launch a canoe or kayak and explore the tidal marshes of the Yaquina River.`,details:`Life jackets required on the water.`}],bSe=[{name:`Yaquina Bay Estuary Trail`,distance:`1.5 miles`,difficulty:`Easy`,description:`While technically closer to Newport, this trail system extends along the river towards Toledo. It offers excellent birdwatching opportunities, especially for herons and egrets in the tidal flats.`},{name:`Ollala Lake Trail`,distance:`1.0 mile loop`,difficulty:`Easy`,description:`Located a short drive northeast of Toledo, this reservoir offers a peaceful loop trail through the forest. It's a popular spot for trout fishing and family picnics away from the coastal wind.`},{name:`Big Creek Park Trail`,distance:`2.0 miles varied`,difficulty:`Moderate`,description:`A local favorite for dog walkers and joggers. The trails wind through second-growth forest and offer a quiet escape right on the edge of town.`},{name:`Mill Creek Ridge`,distance:`3.5 miles`,difficulty:`Moderate/Hard`,description:`Old logging roads open to hikers that offer elevation gain and views of the industrial valley and the river winding towards the ocean.`},{name:`Harris Bridge Vineyard Walk`,distance:`0.5 miles`,difficulty:`Easy`,description:`A gentle stroll through a historic vineyard located near the covered Harris Bridge. It's scenic, romantic, and often ends with a wine tasting.`}],xSe=[{name:`Toledo Riverfront Hotel`,category:`Budget/Mid-Range`,description:`A simple, clean hotel located right on the river. Rooms offer views of the water and the historic bridge. It's a quiet alternative to the busy hotels in Newport.`,amenities:`Free Wi-Fi, river views, walking distance to downtown.`},{name:`Grandma's Cottage`,category:`Vacation Rental`,description:`A charming historic home available for rent. It features vintage decor, a full kitchen, and a lovely garden, offering a true 'home away from home' experience.`,amenities:`Full kitchen, garden, 2 bedrooms.`},{name:`Ollala Lake Campground`,category:`Camping`,description:`For those who prefer to sleep under the stars, this campground offers lakeside sites surrounded by heavy timber. It's peaceful, secluded, and great for fishing.`,amenities:`Boat ramp, fishing docks, potable water.`},{name:`The Landmark Inn`,category:`Boutique/Historic`,description:`Currently undergoing renovation, this historic building is a centerpiece of Toledo. When open, it offers themed rooms that celebrate the town's timber heritage.`,amenities:`Central location, historic charm.`}],SSe=[{name:`Timbers Restaurant & Lounge`,category:`American/Pub`,description:`The go-to spot for burgers, steaks, and prime rib on weekends. It has a rustic, logging-camp vibe and serves hearty portions that won't leave you hungry.`,features:`Prime rib specials, full bar, lottery games.`},{name:`Pig Feathers BBQ`,category:`BBQ`,description:`Authentic, slow-smoked BBQ located right in town. Known for their brisket, pulled pork, and house-made sauces. The smell alone draws you in from the street.`,features:`Smoked meats, catering, outdoor seating.`},{name:`Holy Toledo!`,category:`Cafe/Bar`,description:`A quirky local spot offering great coffee in the morning and beers in the evening. It's a community hub where artists and mill workers rub elbows.`,features:`Live music, local art on walls, craft beer.`},{name:`Cobblestone Pizza Co.`,category:`Pizza/Italian`,description:`Family-friendly pizza parlor serving hand-tossed pies with generous toppings. Their calzones are legendary, and the salad bar is always fresh.`,features:`Family style, delivery, arcade games.`}],u7=`Toledo`,CSe=K(u7),wSe=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(()=>{let t=Ef(u7,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:CSe,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),TSe=({attractions:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`AttractionsSection: No attractions data provided`):console.log(`AttractionsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Discover the Heritage`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Toledo`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(wSe,{attraction:e,index:t},t))})]})})),ESe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},DSe=({trails:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`HikingTrailsSection: No trails data provided`):console.log(`HikingTrailsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & River Walks`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Explore the lush forests and quiet riverbanks of the Yaquina valley. Toledo offers peaceful trails away from the coastal winds.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(ESe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),OSe=({hotels:e})=>{let t=`Toledo`,n=[`Ollala Lake Campground`,`Coming Soon`,`Toledo Riverfront Hotel`,`Grandma's Cottage`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},d7=`Toledo`,kSe=K(d7),f7=({restaurant:e})=>{let t=Sf(d7,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md h-full flex flex-col`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:kSe,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md whitespace-nowrap flex-shrink-0`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed flex-grow`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50 mt-auto`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]})},p7=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),ASe=({restaurants:e})=>{if((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`RestaurantsSection: No restaurant data provided`):console.log(`RestaurantsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,2),n=e.slice(2,4);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Toledo`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Hearty pub fare, authentic BBQ, and community cafes define the flavor of this industrial arts town.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block`,children:`Local Legends`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(f7,{restaurant:e},t))})]}),(0,B.jsx)(p7,{src:`https://images.unsplash.com/photo-1544025162-d76694265947?auto=format&fit=crop&w=800&q=80`,alt:`Hearty BBQ ribs`,caption:`Comfort food done right`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(p7,{src:`https://images.unsplash.com/photo-1511920170033-f8396924c348?auto=format&fit=crop&w=800&q=80`,alt:`Coffee shop interior`,caption:`Coffee, beer, and community`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block ml-auto`,children:`Casual Eats`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(f7,{restaurant:e},t))})]})]})]})})},jSe=()=>{(0,y.useEffect)(()=>{console.log(`ToledoPage mounted`)},[]);let e=Y.toledo,t=If(`Toledo`),n=Lf(`Toledo`),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/457d2a9a2f4957025e208eca9ea65735.webp`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden`,children:[(0,B.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Toledo, Oregon scenic view`,className:`w-full h-full object-cover`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-black/30 to-black/70`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-center text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Toledo`}),(0,B.jsx)(`h1`,{className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight`,children:`Toledo`})]})]}),(0,B.jsxs)(`main`,{className:`w-full`,children:[(0,B.jsx)(Q3,{townName:`Toledo`,townSlug:`toledo`,lat:e?.geo?.lat||44.6215,lon:e?.geo?.lng||-123.9373}),(0,B.jsx)(`section`,{className:`py-12 md:py-16 px-6 bg-white`,children:(0,B.jsxs)(`div`,{className:`max-w-4xl mx-auto text-center`,children:[(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-semibold text-gray-900 mb-8 tracking-tight leading-tight`,children:`About Toledo Oregon`}),(0,B.jsx)(`div`,{className:`prose prose-lg md:prose-xl text-gray-700 leading-loose mx-auto`,dangerouslySetInnerHTML:{__html:ySe}}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full mt-10`})]})}),(0,B.jsx)(Gj,{townName:`Toledo`,featuredImage:r,title:`Toledo Gallery`}),(0,B.jsx)(Zx,{name:`Toledo, Oregon`,description:n,image:r,url:window.location.href,geo:{latitude:44.6215,longitude:-123.9373}}),(0,B.jsx)(Hj,{attractions:l7,townName:`Toledo`}),(0,B.jsx)(TSe,{attractions:l7}),(0,B.jsx)(DSe,{trails:bSe}),(0,B.jsx)(OSe,{hotels:xSe}),(0,B.jsx)(ASe,{restaurants:SSe})]}),(0,B.jsx)(Ux,{})]})},MSe=`
  <p class="text-xl md:text-2xl font-light text-gray-700 mb-8 leading-relaxed">
    Tolovana Park is the quiet, serene soul of the Cannon Beach area. Located just south of the bustling downtown, this community offers a more relaxed pace while providing some of the most spectacular views of Haystack Rock and the Oregon coastline.
  </p>
  <p class="text-lg text-gray-600 mb-6 leading-relaxed">
    Anchored by the expansive Tolovana Beach State Recreation Site, this area is a favorite for families, beachcombers, and those seeking a peaceful retreat. The wide, sandy shoreline is perfect for kite flying, evening bonfires, and long walks where the rhythm of the tides sets the schedule.
  </p>
  <p class="text-lg text-gray-600 leading-relaxed">
    While it feels like a hidden gem, Tolovana Park boasts its own unique character with charming local pubs, world-class bakeries, and luxury oceanfront lodges. It serves as the perfect basecamp for exploring the magic of the North Coast without the crowds.
  </p>
`,m7=[{id:1,name:`Tolovana Beach State Recreation Site`,description:`The heart of the community, offering easy beach access, a playground, and plenty of parking. It's the premier spot for launching expansive beach walks south toward Arch Cape or north to Haystack Rock.`,details:`State Park Access`,image:`https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=800&q=80`},{id:2,name:`Haystack Rock (South View)`,description:`While often associated with downtown Cannon Beach, the view of Haystack Rock from Tolovana offers a unique, less crowded perspective. At low tide, the walk to the rock is a pleasant mile-long stroll.`,details:`Iconic Landmark`,image:`https://images.unsplash.com/photo-1533420803444-a0293144eb7e?auto=format&fit=crop&w=800&q=80`},{id:3,name:`Tolovana Arts Colony`,description:`A nonprofit organization that brings the community together through art. They host festivals, workshops, and concerts, reflecting the deep artistic roots of the area.`,details:`Culture & Arts`,image:`https://images.unsplash.com/photo-1513883049090-d0b7439799bf?auto=format&fit=crop&w=800&q=80`},{id:4,name:`Lost Art of Nursing Museum`,description:`A unique, small private museum dedicated to the history of nursing. It features antique medical equipment, uniforms, and stories from the profession's past.`,details:`History Museum`,image:`https://images.unsplash.com/photo-1582236372551-78926227b9c6?auto=format&fit=crop&w=800&q=80`},{id:5,name:`Sea Level Bakery + Coffee`,description:`More than just a bakery, Sea Level is a morning ritual for locals and visitors. Famous for their scratch-made breads and pastries that sell out daily.`,details:`Local Favorite`,image:`https://images.unsplash.com/photo-1509440159596-0249088772ff?auto=format&fit=crop&w=800&q=80`},{id:6,name:`Fresh Foods Market`,description:`A gourmet marketplace that anchors the commercial district. It's the place to find local organic produce, fine wines, and artisanal snacks for a beach picnic.`,details:`Marketplace`,image:`https://images.unsplash.com/photo-1542838132-92c53300491e?auto=format&fit=crop&w=800&q=80`},{id:7,name:`Silver Point Interpretive Overlook`,description:`Located just south of Tolovana Park on Highway 101, this overlook provides sweeping panoramic views of the coastline, including Jockey Cap rock and the endless Pacific horizon.`,details:`Scenic Viewpoint`,image:`https://images.unsplash.com/photo-1615678457053-157d6e6a4577?auto=format&fit=crop&w=800&q=80`}],h7=[{name:`Tolovana Beach Walk`,distance:`2.0 miles`,difficulty:`Easy`,type:`Out & Back`,description:`A classic, flat beach walk stretching from the recreation site north to Haystack Rock. Best enjoyed at low tide for exploring tide pools.`,icon:`Ocean`,elevation:`Flat`},{name:`Arcadia Beach Trail`,distance:`1.0 miles`,difficulty:`Easy`,type:`Beach Walk`,description:`Just a short drive south, Arcadia Beach offers sea caves and tide pools. The walk connects to Lion Rock at low tide.`,icon:`Wave`,elevation:`Flat`},{name:`Cedar Street Path`,distance:`0.5 miles`,difficulty:`Easy`,type:`Loop`,description:`A gentle neighborhood walk winding through the charming cottages and quiet streets of Tolovana Park, perfect for a morning coffee stroll.`,icon:`Footprints`,elevation:`Flat`},{name:`Oswald West - Short Sand Beach`,distance:`1.2 miles`,difficulty:`Easy/Moderate`,type:`Out & Back`,description:`Located 10 minutes south, this trail takes you through a majestic old-growth rainforest to a popular surfer's cove protected from the wind.`,icon:`Tree`,elevation:`100 ft`},{name:`Angora Hiking Trail`,distance:`1.5 miles`,difficulty:`Moderate`,type:`Out & Back`,description:`An obscure, unmaintained trail south of town that leads into the coastal hills. Offers solitude and a rugged forest experience for adventurous hikers.`,icon:`Mountain`,elevation:`400 ft`}],NSe=[{id:1,name:`Tolovana Inn`,category:`Oceanfront Resort`,description:`A landmark hotel offering spacious suites with full kitchens and fireplaces. Famous for its indoor saltwater pool and direct access to the state recreation site.`,amenities:[`Indoor Pool`,`Pet Friendly`,`Kitchens`,`Ocean Views`]},{id:2,name:`The Ocean Lodge`,category:`Luxury Lodge`,description:`Reminiscent of a 1940s grand resort, featuring massive Douglas fir beams and a two-story stone fireplace in the lobby. A romantic and upscale escape.`,amenities:[`Fireplaces`,`Cookie Hour`,`Continental Breakfast`,`Beachfront`]},{id:3,name:`Inn at Cannon Beach`,category:`Garden Cottage`,description:`Set one block from the beach, this inn features cottage-style rooms arranged around a lush garden courtyard and bunny-filled lawn. Quiet and charming.`,amenities:[`Free Breakfast`,`Garden Courtyard`,`Art Gallery`,`Pet Friendly`]}],PSe=[{id:1,name:`Warren House Pub`,cuisine:`Pub Fare`,description:`A cozy, historic spot that feels like a local's secret. Serving hearty burgers, fish and chips, and cold microbrews in a relaxed atmosphere away from the crowds.`,price:`$$`},{id:2,name:`Mo's Cannon Beach`,cuisine:`Seafood`,description:`The Tolovana location of the Oregon Coast icon. Famous for its clam chowder, oceanfront patio dining, and family-friendly vibe.`,price:`$$`},{id:3,name:`Sea Level Bakery + Coffee`,cuisine:`Bakery / Cafe`,description:`Renowned for made-from-scratch breads, pastries, and excellent coffee. A morning staple for anyone staying in the south end of town.`,price:`$`},{id:4,name:`Fresh Foods Deli`,cuisine:`Deli / Takeout`,description:`Inside the Fresh Foods marketplace, offering gourmet sandwiches, salads, and hot soups perfect for taking down to a beach bonfire.`,price:`$$`},{id:5,name:`Stephanie Inn Dining Room`,cuisine:`Fine Dining`,description:`An exclusive, prix-fixe dining experience offering seasonal Northwest cuisine. Reservations are essential for this high-end culinary journey.`,price:`$$$$`},{id:6,name:`Surfcrest Market Pizza`,cuisine:`Pizza / Casual`,description:`A hidden spot for grabbing a quick, delicious pizza or ice cream cone. Conveniently located for beachgoers needing a midday refuel.`,price:`$`},{id:7,name:`Wayfarer Restaurant`,cuisine:`Seafood & Steak`,description:`Technically just north of Tolovana, but easily walkable along the beach. Offers classic coastal dining with stunning views of Haystack Rock.`,price:`$$$`},{id:8,name:`Pelican Brewing`,cuisine:`Brewery`,description:`Located a short distance north, offering award-winning beers and pub food in a modern, airy setting with an open kitchen.`,price:`$$`}],FSe=({attraction:e,index:t,townName:n})=>{let r=Ef(n,e?.name);return(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),r&&(0,B.jsx)(X,{objectId:r.object_id,title:e.name,sourcePage:`/town/tolovana-park`,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`})]}),(0,B.jsx)(`div`,{className:`bg-indigo-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-indigo-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-indigo-700 bg-indigo-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})})},ISe=({attractions:e,townName:t=`Tolovana Park`})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`AttractionsSection: No attractions data provided`):console.log(`AttractionsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-indigo-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-indigo-600 font-bold tracking-wider uppercase text-sm`,children:`Peaceful & Scenic`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Tolovana`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-indigo-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,n)=>(0,B.jsx)(FSe,{attraction:e,index:n,townName:t},n))})]})})),LSe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-teal-100 text-teal-800 border-teal-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},RSe=({trails:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`HikingTrailsSection: No trails data provided`):console.log(`HikingTrailsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-indigo-600`}),`Hiking Trails & Beach Walks`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Tolovana Park is a walker's paradise. Enjoy miles of flat sandy beach, explore nearby state parks, or discover hidden trails in the coastal forests.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-indigo-700 transition-colors`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(LSe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),zSe=({hotels:e})=>{let t=`Tolovana`,n=[`Coming Soon`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},g7=({restaurant:e,townName:t})=>{let n=Sf(t,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-blue-100 hover:border-blue-300 transition-all shadow-sm hover:shadow-md`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-blue-950`,children:e?.name||`Restaurant Name`}),n&&(0,B.jsx)(X,{objectId:n.object_id,title:e.name,sourcePage:`/town/tolovana-park`,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.cuisine&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-blue-600 bg-blue-100 px-2 py-1 rounded-md`,children:e.cuisine})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed`,children:e?.description||`No description available.`}),e?.price&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-blue-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-blue-800 uppercase tracking-wide`,children:`Price Range`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.price})]})]})},_7=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-blue-500 pl-3`,children:n})})]}),BSe=({restaurants:e,townName:t=`Tolovana Park`})=>{if((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`RestaurantsSection: No restaurant data provided`):console.log(`RestaurantsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-blue-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-blue-900`,children:`Dining information currently unavailable.`})});let n=e.slice(0,2),r=e.slice(2,4),i=e.slice(4);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-blue-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-blue-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Tolovana`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`From cozy pubs and artisan bakeries to beach picnics from the local market, Tolovana Park offers delicious flavors in a laid-back setting.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-blue-900 border-b-2 border-blue-200 pb-2 inline-block`,children:`Local Icons`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,n)=>(0,B.jsx)(g7,{restaurant:e,townName:t},n))})]}),(0,B.jsx)(_7,{src:`https://images.unsplash.com/photo-1579631542720-3a87824fff86?auto=format&fit=crop&w=800&q=80`,alt:`Cozy pub interior`,caption:`Warm atmosphere and hearty food`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(_7,{src:`https://images.unsplash.com/photo-1555507036-ab1f4038808a?auto=format&fit=crop&w=800&q=80`,alt:`Fresh bakery treats`,caption:`Start your morning with fresh pastries`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-blue-900 border-b-2 border-blue-200 pb-2 inline-block ml-auto`,children:`Bakeries & Markets`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:r.map((e,n)=>(0,B.jsx)(g7,{restaurant:e,townName:t},n))})]})]}),i.length>0&&(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-blue-900 mb-8 text-center`,children:`More Delicious Options Nearby`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-2 gap-6`,children:i.map((e,n)=>(0,B.jsx)(g7,{restaurant:e,townName:t},n))})]})]})})},VSe=()=>{(0,y.useEffect)(()=>{console.log(`TolovanaPage mounted`)},[]);let e=Y[`tolovana-park`]||Y.tolovana,t=If(`Tolovana Park`),n=Lf(`Tolovana Park`),r=tj.tolovanaPark;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Zx,{name:`Tolovana Park Travel Guide`,description:n,url:`https://visittolovanapark.com`,image:r}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden`,children:[(0,B.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Tolovana Park Beach`,className:`w-full h-full object-cover`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-black/30 to-black/70`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-center text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Tolovana Park`}),(0,B.jsx)(`h1`,{className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight`,children:`Tolovana Park`})]})]}),(0,B.jsxs)(`main`,{className:`w-full`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 mb-12`,children:[(0,B.jsx)(`div`,{className:`lg:col-span-2`,children:(0,B.jsx)(r6,{townName:`Tolovana Park`,initialDescription:MSe},`Tolovana-About`)}),(0,B.jsx)(`div`,{className:`lg:col-span-1`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||45.8643,lon:e?.geo?.lng||-123.9604,townName:`Tolovana Park`})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Tolovana Park`,townSlug:`tolovana-park`,lat:e?.geo?.lat||45.8643,lon:e?.geo?.lng||-123.9604})})]}),(0,B.jsx)(Gj,{townName:`Tolovana Park`,featuredImage:r,title:`Tolovana Park in Photos`}),(0,B.jsx)(Hj,{attractions:m7,townName:`Tolovana Park`}),(0,B.jsx)(ISe,{attractions:m7}),(0,B.jsx)(RSe,{trails:h7}),(0,B.jsx)(zSe,{hotels:NSe}),(0,B.jsx)(BSe,{restaurants:PSe})]}),(0,B.jsx)(Ux,{})]})},HSe=`
  <p>Where the Alsea River meets the Pacific Ocean, you'll find Waldport—a coastal gem often called "The Beachcomber's Paradise." Unlike its busier neighbors, Waldport offers a serene, unhurried rhythm defined by the ebb and flow of the tides. The town is dominated by the majestic Alsea Bay Bridge, a stunning architectural landmark that serves as the gateway to some of the best crabbing and fishing on the entire Oregon Coast.</p>
  <p>Waldport's charm lies in its diverse water activities. From kayaking the quiet sloughs of the Alsea Bay to digging for clams at low tide or watching harbor seals bask on the sandbars, life here revolves around the water. The surrounding forests offer miles of hiking trails, while the expansive sandy beaches provide solitude for long walks and storm watching. It is a community that deeply values its history, visible in the Alsea Bay Bridge Interpretive Center and the warm hospitality of its locals.</p>
  <p>Whether you are seeking a quiet retreat to disconnect, an outdoor adventure in the Drift Creek Wilderness, or simply the best crab dinner of your life, Waldport delivers an authentic coastal experience. It is a place where nature is the main attraction, inviting visitors to slow down, breathe in the salt air, and appreciate the raw beauty of the Central Oregon Coast.</p>
`,v7=[{name:`Alsea Bay Bridge & Historic Interpretive Center`,description:`This iconic bridge isn't just a way to cross the bay; it's a destination. The Interpretive Center at the south end offers fascinating exhibits on the history of the bridge, the local timber industry, and the unique ecology of the Alsea Bay estuary.`,details:`Free admission. Located at the south end of the bridge.`},{name:`Port of Alsea / Robinson Park`,description:`The heart of Waldport's river activity. This bustling marina offers boat launches, crab pot rentals, and a perfect spot to watch the fishing boats head out. Robinson Park provides picnic areas and river access for families.`,details:`Great for crabbing right off the dock.`},{name:`Alsea River Water Trail`,description:`A paddler's dream, this water trail creates a navigable route through the estuary and up the river. It's teeming with wildlife, including herons, eagles, and river otters, offering a peaceful way to explore the ecosystem.`,details:`Kayak and canoe rentals available in town.`},{name:`Governor Patterson Memorial State Recreation Site`,description:`Just south of town, this sprawling park offers miles of flat, sandy beach perfect for kite flying, windsurfing, and watching spectacular sunsets. It's less crowded than other state parks, offering a true sense of solitude.`,details:`Day-use area with restrooms and picnic tables.`},{name:`Beachside State Recreation Site`,description:`True to its name, this park sits right on the edge of the sand. It's a favorite for campers who want to fall asleep to the sound of crashing waves. The day-use area is excellent for beachcombing and kite flying.`,details:`Camping available seasonally. excellent beach access.`},{name:`Waldport Heritage Museum`,description:`Housed in the old Alsea Bay Bridge control center, this museum preserves the rich history of the area. Exhibits cover the indigenous Alsi people, early homesteaders, and the construction of the famous bridge.`,details:`Run by the Waldport Heritage Society. Check hours.`},{name:`Crestline Disc Golf Course`,description:`A hidden gem for disc golf enthusiasts, this challenging course winds through a mature coastal forest. It offers technical shots and beautiful scenery, making for a fun afternoon hike with a frisbee.`,details:`Located near Crestline Park. Free to play.`},{name:`Cove Creek Golf Course`,description:`For traditional golfers, this 9-hole course offers a relaxed but well-maintained experience. Tucked away in a quiet valley, it features water hazards and tree-lined fairways that capture the peaceful rural atmosphere.`,details:`Public course. Cart rentals available.`}],USe=[{name:`Oregon Coast Trail (Waldport Section)`,distance:`Varied`,difficulty:`Moderate`,description:`The OCT passes right through Waldport, primarily following the sandy beach. Walking from the bridge south to Governor Patterson State Park offers a classic Oregon beach hiking experience.`},{name:`Crestline Park Woodland Trail`,distance:`1.0 mile loop`,difficulty:`Easy`,description:`A lovely, paved and gravel loop through the forest right in the middle of town. It's perfect for a quick nature walk, jogging, or walking the dog without leaving the city limits.`},{name:`Alsea Bay Beach Walk`,distance:`2.0 miles`,difficulty:`Easy`,description:`Starting from the Port of Alsea, walk along the bay at low tide. You'll see clam diggers, seals hauling out on the sandbars, and the bridge looming overhead.`},{name:`Drift Creek Wilderness Trails`,distance:`3-5 miles varied`,difficulty:`Moderate/Hard`,description:`Located inland from Waldport, this wilderness area offers old-growth forests and the famous Drift Creek suspension bridge trail. It's a must-do for serious hikers seeking temperate rainforest beauty.`},{name:`Governor Patterson Beach Walk`,distance:`Unlimited`,difficulty:`Easy`,description:`This park offers access to miles of uninterrupted beach. Heading south towards Yachats provides solitude and excellent agate hunting grounds, especially after winter storms.`},{name:`Brian Booth State Park (Beaver Creek)`,distance:`2-4 miles`,difficulty:`Easy/Moderate`,description:`Just north of Waldport, this park protects the Beaver Creek wetlands. Trails wind through marshes and uplands, offering some of the best birdwatching on the coast.`}],WSe=[{name:`Cliff House Bed & Breakfast`,category:`Luxury/Boutique`,description:`Perched on a bluff overlooking the ocean, this restored historic home offers breathtaking panoramic views. Each room is uniquely decorated, creating a romantic and intimate atmosphere perfect for couples.`,amenities:`Ocean views, gourmet breakfast, jacuzzi tubs.`},{name:`The Waldport Inn`,category:`Mid-Range Motel`,description:`A newly remodeled motel offering clean, modern rooms and spacious family suites. Guests praise the spotless cleanliness and friendly staff. Features EV charging stations (including Tesla), a bike maintenance area, and pet-friendly rooms.`,amenities:`EV charging, free WiFi, pet-friendly, 10am checkout.`},{name:`Giant Alsi Resort (Bayfront Resort)`,category:`Resort/Waterfront`,description:`An 80-room resort on ~20 acres along Alsea Bay, originally the Pat Boone Inn. Offers bay views, family suites, and easy beach access. While amenities like the pool and restaurant vary seasonally, the location is unbeatable for crabbing and bay watching.`,amenities:`Bay views, seasonal pool, game room, pet-friendly rooms.`},{name:`Beachside State Recreation Site`,category:`Camping`,description:`For those who want to be as close to nature as possible, this campground is literally steps from the sand. Fall asleep to the rhythm of the waves and wake up to a salty breeze.`,amenities:`Yurts, tent sites, RV hookups, hot showers.`},{name:`Waldport Vacation Rentals`,category:`Vacation Home`,description:`Waldport has a high density of vacation rental homes, ranging from riverfront cabins to large ocean-view estates. This is often the best option for families or groups looking for a 'home away from home' experience.`,amenities:`Full kitchens, private decks, varying locations.`}],GSe=[{name:`Hilltop Café Bistro`,category:`American/Bistro`,description:`True to its name, this spot offers commanding views of the ocean. Known for fresh ingredients and a menu that elevates comfort food, it's a favorite for breakfast and lunch.`,features:`Ocean views, benedicts, homemade soups.`},{name:`SkoSH`,category:`Fusion/Casual`,description:`A clean, modern eatery offering a unique mix of flavors, from rice bowls to artisan sandwiches. It's a fresh, healthy alternative to deep-fried coastal fare.`,features:`Vegetarian options, craft beer, outdoor seating.`},{name:`Grand Central Pizza`,category:`Pizza/Italian`,description:`The local go-to for hand-tossed pizza and pasta. It has a fun, family-friendly railway theme and serves hearty portions that are perfect after a day of hiking.`,features:`Family style, arcade games, delivery.`},{name:`Salty Dawg`,category:`American/Pub`,description:`A classic coastal bar and grill with a relaxed atmosphere. Known for its friendly service and standard pub favorites, it's a great spot to unwind with locals.`,features:`Full bar, burgers, casual atmosphere.`},{name:`China Restaurant`,category:`Chinese`,description:`Offering a wide variety of traditional Chinese-American dishes. It is a reliable choice for families looking for generous portions and classic flavors in the heart of town.`,features:`Large portions, lunch specials, family-friendly.`},{name:`Mexican Fresh`,category:`Mexican`,description:`Providing authentic Mexican cuisine with fresh ingredients. From street tacos to hearty burritos, this spot brings vibrant south-of-the-border flavors to the coast.`,features:`Authentic flavors, quick service, fresh salsas.`},{name:`Left Coast Smashburgers`,category:`American/Burgers`,description:`Focusing on the art of the smashburger, this local favorite delivers crispy-edged patties and high-quality toppings. Perfect for a quick, satisfying meal.`,features:`Smashburgers, hand-cut fries, milkshakes.`},{name:`Subway`,category:`Fast Food`,description:`Reliable and familiar, offering the standard menu of made-to-order sandwiches. A quick option for travelers passing through.`,features:`Fast service, consistent quality.`}],y7=`Waldport`,KSe=K(y7),qSe=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(()=>{let t=Ef(y7,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:KSe,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),JSe=({attractions:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`AttractionsSection: No attractions data provided`):console.log(`AttractionsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Discover the Bayshore`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Waldport`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(qSe,{attraction:e,index:t},t))})]})})),b7=`Waldport`,YSe=K(b7),XSe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},ZSe=({trails:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`HikingTrailsSection: No trails data provided`):console.log(`HikingTrailsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Beach Walks`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Explore the Alsea Bay estuary, walk miles of sandy beaches, or head inland to the ancient forests of Drift Creek. Waldport is a hiker's haven.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(()=>{let t=Tf(b7,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:YSe,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(XSe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),QSe=({hotels:e})=>{let t=`Waldport`,n=[`Beachside State Recreation Site`,`Waldport Vacation Rentals`,`Cliff House Bed & Breakfast`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},x7=`Waldport`,$Se=K(x7),S7=({restaurant:e})=>{let t=Sf(x7,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md h-full flex flex-col`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:$Se,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md whitespace-nowrap flex-shrink-0`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed flex-grow`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50 mt-auto`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]})},eCe=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),tCe=({restaurants:e})=>{if((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`RestaurantsSection: No restaurant data provided`):console.log(`RestaurantsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,3),n=e.slice(3,5),r=e.slice(5,7);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Waldport`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Fresh seafood, river views, and friendly diners define the Waldport culinary scene.`})]}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-3 gap-8 items-stretch mb-16`,children:t.map((e,t)=>(0,B.jsx)(S7,{restaurant:e},t))}),(0,B.jsx)(eCe,{src:`https://images.unsplash.com/photo-1534080564583-6be75777b70a?auto=format&fit=crop&w=1200&q=80`,alt:`Seafood dinner`,caption:`Fresh seafood with a view`}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-4 gap-6 items-stretch mb-16`,children:[n.map((e,t)=>(0,B.jsx)(S7,{restaurant:e},t)),r.map((e,t)=>(0,B.jsx)(S7,{restaurant:e},t))]})]})})},nCe=[{title:`Waldport Beachcomber Festival (70th Annual)`,date:`June 19–21, 2027`},{title:`3rd of July Fireworks`,date:`July 3, 2027`},{title:`Oregon Coast Gravel Epic`,date:`May 1, 2027`},{title:`Beach, Bike & Blues Festival`,date:`September 12, 2026`},{title:`Candlelight Remembrance`,date:`November 21, 2026`}],rCe=()=>{(0,y.useEffect)(()=>{console.log(`WaldportPage mounted`)},[]);let e=Y.waldport,t=If(`Waldport`),n=Lf(`Waldport`),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/f29f63a80e5ae25aecbbc6b26c9d6390.webp`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden`,children:[(0,B.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Waldport, Oregon Alsea Bay Bridge`,className:`w-full h-full object-cover`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-black/30 to-black/70`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-center text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Waldport`}),(0,B.jsx)(`h1`,{className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight`,children:`Waldport`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto town-grid-layout mb-12`,children:[(0,B.jsx)(`div`,{className:`town-about-section`,children:(0,B.jsx)(r6,{townName:`Waldport`,initialDescription:HSe},`Waldport-About`)}),(0,B.jsx)(`div`,{className:`town-weather-section`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||44.4268,lon:e?.geo?.lng||-124.0734,townName:`Waldport`})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Waldport`,townSlug:`waldport`,lat:e?.geo?.lat||44.4268,lon:e?.geo?.lng||-124.0734,tideStationId:`9434939`})})]}),(0,B.jsx)(Gj,{townName:`Waldport`,featuredImage:r,title:`Waldport Gallery`}),(0,B.jsx)(Zx,{name:`Waldport, Oregon`,description:n,image:r,url:window.location.href,geo:{latitude:44.4267,longitude:-124.0733}}),(0,B.jsx)(Hj,{attractions:v7,townName:`Waldport`}),(0,B.jsx)(JSe,{attractions:v7}),(0,B.jsx)(ZSe,{trails:USe}),(0,B.jsx)(c6,{events:nCe}),(0,B.jsx)(QSe,{hotels:WSe}),(0,B.jsx)(tCe,{restaurants:GSe})]}),(0,B.jsx)(Ux,{})]})},iCe=`Located at the rugged northwestern tip of Oregon, Warrenton is a town defined by its dramatic relationship with the sea and history. Bounded by the Pacific Ocean to the west and the mighty Columbia River to the north, this coastal gem offers more than just scenic vistas—it is a living museum of military history and maritime heritage.

Warrenton is perhaps best known as the home of Fort Stevens State Park, one of the largest public campgrounds in the nation, where the rusted skeleton of the Peter Iredale shipwreck rests eternally in the sand. Beyond the beach, the town serves as a gateway to the Lewis and Clark National Historical Park, inviting visitors to walk in the footsteps of the legendary explorers at Fort Clatsop.

From the adrenaline rush of zip-lining through coastal forests to the peaceful solitude of the Skipanon River trails, Warrenton offers a diverse array of adventures. Whether you're digging for razor clams at low tide, cycling the waterfront trail, or watching elk graze near the harbor, Warrenton provides an authentic and unforgettable North Coast experience.`,C7=[{id:1,name:`Fort Stevens State Park`,description:`Once a primary military defense installation for the mouth of the Columbia River, Fort Stevens is now a 4,300-acre park offering history, nature, and recreation. Explore historic concrete batteries, hike miles of trails, or enjoy one of the nation's largest campgrounds.`,details:`Historic Military Site & Camping`,image:`https://images.unsplash.com/photo-1592122529685-e37933d42c87?auto=format&fit=crop&w=800&q=80`},{id:2,name:`Peter Iredale Shipwreck`,description:`The hauntingly beautiful rusting bow of the Peter Iredale, a four-masted steel barque that ran ashore in 1906, remains one of the most photographed landmarks on the Oregon Coast. It is easily accessible on the beach at Fort Stevens.`,details:`Iconic Shipwreck`,image:`https://images.unsplash.com/photo-1616450537021-08103c800f13?auto=format&fit=crop&w=800&q=80`},{id:3,name:`High Life Adventures Zip Line Tours`,description:`Experience the coast from a new perspective with an exhilarating guided zip line tour. Soar over ponds, through seasoned timber, and enjoy the stunning natural landscape on an 8-line course.`,details:`Adventure & Zip Lining`,image:`https://images.unsplash.com/photo-1533589484967-17d4a3b83921?auto=format&fit=crop&w=800&q=80`},{id:4,name:`Warrenton Waterfront Trail`,description:`This scenic trail follows the Skipanon River and the Columbia River shoreline, offering peaceful views of the water, wildlife, and fishing boats. Perfect for walking, jogging, or a family bike ride.`,details:`Hiking & Biking Trail`,image:`https://images.unsplash.com/photo-1441974231531-c6227db76b6e?auto=format&fit=crop&w=800&q=80`},{id:5,name:`Sunset Beach State Recreation Site`,description:`A sprawling sandy beach that provides direct ocean access. Known for its wide shoreline, it is a popular spot for kite flying, picnicking, and offers vehicle access to the sand.`,details:`Beach Access & Driving`,image:`https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=800&q=80`},{id:6,name:`Lewis and Clark National Historical Park`,description:`Visit Fort Clatsop, the replica of the 1805-1806 winter encampment of the Corps of Discovery. The park features a visitor center, exhibit hall, and trails that trace the explorers' history.`,details:`National Historic Site`,image:`https://images.unsplash.com/photo-1599594243626-d6219c43d964?auto=format&fit=crop&w=800&q=80`},{id:7,name:`Razor Clamming`,description:`The beaches from Warrenton to Seaside are world-famous for razor clamming. During approved tides, thousands flock to the sands with shovels and guns to harvest these delicious local delicacies.`,details:`Local Activity`,image:`https://images.unsplash.com/photo-1620025701888-0f04dc7b88ec?auto=format&fit=crop&w=800&q=80`},{id:8,name:`Skipanon Peninsula & Harbor`,description:`A hidden natural gem offering trails through coastal forests and opportunities to spot local elk herds. The marina area provides a glimpse into the local fishing industry.`,details:`Nature & Wildlife`,image:`https://images.unsplash.com/photo-1596328905322-38d7c4937213?auto=format&fit=crop&w=800&q=80`}],aCe=[{name:`Fort To Sea Trail`,distance:`6.1 miles`,difficulty:`Moderate`,type:`Point-to-Point`,description:`A historic trail connecting Fort Clatsop to Sunset Beach, traversing forests, dunes, and coastal plains. Retrace the steps of the Lewis and Clark expedition as they traveled to the coast.`,icon:`Mountain`},{name:`Coffenbury Lake Loop`,distance:`2.5 miles`,difficulty:`Easy`,type:`Loop`,description:`A peaceful, family-friendly loop around Coffenbury Lake within Fort Stevens State Park. The paved sections make it accessible, and it's perfect for birdwatching and a gentle nature walk.`,icon:`Trees`},{name:`Warrenton Waterfront Trail`,distance:`4.8 miles`,difficulty:`Easy`,type:`Out & Back`,description:`A paved, multi-use trail following the Skipanon River and Columbia River waterfront. Offers excellent views of passing ships, wildlife, and fishing boats, suitable for walking and cycling.`,icon:`Waves`},{name:`Netul River Trail`,distance:`3.0 miles`,difficulty:`Easy`,type:`Out & Back`,description:`Located at Lewis and Clark National Historical Park, this trail meanders along the Lewis and Clark River. It connects the visitor center to Netul Landing, offering serene river views.`,icon:`River`},{name:`Battery Russell Trail`,distance:`2.0 miles`,difficulty:`Easy`,type:`Loop`,description:`A trail within Fort Stevens that leads to the historic Battery Russell fortification. Combines military history with a pleasant walk through coastal pine forests.`,icon:`Shield`},{name:`Clatsop Loop Trail`,distance:`3.0 miles`,difficulty:`Moderate`,type:`Loop`,description:`Ascends from the Indian Beach area (technically Ecola but accessible nearby) offering dramatic ocean viewpoints. It explores Sitka spruce forests and follows a portion of the original Corps of Discovery route.`,icon:`Binoculars`},{name:`Skipanon River Loop`,distance:`2.2 miles`,difficulty:`Easy`,type:`Loop`,description:`A quiet nature trail looping around the Skipanon River area. Great for spotting herons, eagles, and local elk herds that frequent the marshy banks.`,icon:`Bird`},{name:`Jetty Road Trail`,distance:`5.5 miles`,difficulty:`Moderate`,type:`Out & Back`,description:`Walk along the South Jetty of the Columbia River. This rugged path offers raw views of the crashing Pacific waves meeting the river, popular for storm watching and fishing access.`,icon:`Anchor`},{name:`Kwikway Trail`,distance:`1.5 miles`,difficulty:`Easy`,type:`Connector`,description:`A connecting trail within Fort Stevens State Park linking the campground areas to the beach and other trail networks. A simple, flat route through coastal shrubbery.`,icon:`Footprints`}],oCe=[{id:1,name:`Fort Stevens State Park Campground`,category:`Camping & Yurts`,description:`One of the nation's largest public campgrounds, located right next to the historic shipwreck and military batteries. Offers yurts, full-hookup sites, and tent camping surrounded by shore pines and dunes.`,features:[`Beach Access`,`Yurts`,`Hiking Trails`,`Historic Sites`]},{id:2,name:`South Jetty Inn`,category:`Inn / Motel`,description:`A charming, budget-friendly inn located near the entrance to Fort Stevens. Known for its distinct murals and cozy atmosphere, it's a perfect base camp for fishing trips and park exploration.`,features:[`Kitchenettes`,`Near Park Entrance`,`Pet Friendly`,`Free Wi-Fi`]},{id:3,name:`Kampers West RV Park`,category:`RV Park & Camping`,description:`A well-maintained private RV park situated along the river. Offers a quiet alternative to the state park with easy access to Warrenton's shopping and the marina.`,features:[`Full Hookups`,`River Access`,`Laundry`,`Clean Facilities`]},{id:4,name:`Shilo Inn Suites Warrenton`,category:`Hotel`,description:`A reliable and comfortable hotel option offering suites and an indoor pool. Conveniently located near Highway 101, making it an easy drive to both Astoria and Seaside.`,features:[`Indoor Pool`,`Suites`,`Breakfast`,`Fitness Center`]}],sCe=[{id:1,name:`Dooger's Seafood & Grill`,cuisine:`Seafood`,description:`A North Coast staple known for its clam chowder and classic seafood dishes. A relaxed, family-friendly atmosphere perfect for dinner after a day at the beach.`,price:`$$`},{id:2,name:`El Catrin Mexican Kitchen`,cuisine:`Mexican`,description:`Authentic and vibrant Mexican cuisine serving fresh tacos, enchiladas, and margaritas. Known for generous portions and friendly service.`,price:`$$`},{id:3,name:`Nisa's Thai Kitchen`,cuisine:`Thai`,description:`A local favorite for flavorful Thai curries, noodle dishes, and stir-fries. Offers a cozy dining experience with a wide variety of vegetarian options.`,price:`$$`},{id:4,name:`Arnie's Cafe`,cuisine:`American Diner`,description:`The go-to spot for a hearty, traditional American breakfast. Famous for their omelets, biscuits and gravy, and welcoming small-town diner vibe.`,price:`$`},{id:5,name:`Buoy 9 Restaurant`,cuisine:`Seafood & American`,description:`Situated near the marina, offering fresh local seafood, burgers, and comfort food. A historic spot that has been serving the community for decades.`,price:`$$`},{id:6,name:`Ixtapa Mexican Restaurant`,cuisine:`Mexican`,description:`A lively restaurant offering a broad menu of Mexican favorites. Great for large groups and families, with a festive atmosphere and colorful decor.`,price:`$$`},{id:7,name:`Fultano's Pizza`,cuisine:`Pizza & Italian`,description:`Classic coastal pizza parlor serving hot pies, salad bars, and sandwiches. A reliable choice for a quick, delicious meal.`,price:`$$`},{id:8,name:`Tora Sushi`,cuisine:`Japanese & Sushi`,description:`Fresh sushi and Japanese cuisine. Offers a clean, modern setting to enjoy sashimi, rolls, and bento boxes made with quality ingredients.`,price:`$$`},{id:9,name:`Serendipity Caffe`,cuisine:`Coffee & Cafe`,description:`A delightful coffee shop offering espresso drinks, fresh pastries, and light lunch options. A perfect morning stop before hitting the trails.`,price:`$`},{id:10,name:`Astoria Golf & Country Club Restaurant`,cuisine:`Fine Dining / American`,description:`Located at the historic golf course, offering elevated American cuisine with views of the greens. Open to the public for a more refined dining experience.`,price:`$$$`}],cCe=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),lCe=({attractions:e})=>!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Explore the History`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Warrenton`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(cCe,{attraction:e,index:t},t))})]})}),uCe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},dCe=({trails:e})=>!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`From coastal dunes to historic military roads, Warrenton offers diverse trails for every skill level. Discover shipwrecks, wildlife, and sweeping river views.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(uCe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})}),fCe=({hotels:e})=>{let t=`Warrenton`,n=[`Fort Stevens State Park Campground`,`Kampers West RV Park`,`South Jetty Inn`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},w7=`Warrenton`,pCe=K(w7),T7=({restaurant:e})=>{let t=Sf(w7,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:pCe,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.cuisine&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md flex-shrink-0`,children:e.cuisine})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed`,children:e?.description||`No description available.`}),e?.price&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Price Range`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.price})]})]})},E7=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),mCe=({restaurants:e})=>{if(!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,3),n=e.slice(3,5),r=e.slice(5,7),i=e.slice(7);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Warrenton`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`From fresh seafood near the marina to hearty comfort food and international flavors, Warrenton offers delicious local dining.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block`,children:`Local Favorites`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:t.map((e,t)=>(0,B.jsx)(T7,{restaurant:e},t))})]}),(0,B.jsx)(E7,{src:`https://images.unsplash.com/photo-1615141982880-13aa0d4cfbc7?auto=format&fit=crop&w=800&q=80`,alt:`Seafood dinner`,caption:`Fresh catches and hearty meals`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsx)(E7,{src:`https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=800&q=80`,alt:`Restaurant interior`,caption:`Cozy atmosphere and friendly service`}),(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 border-b-2 border-orange-200 pb-2 inline-block ml-auto`,children:`International & Casual`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:n.map((e,t)=>(0,B.jsx)(T7,{restaurant:e},t))})]})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-3 gap-6 mb-16`,children:[(0,B.jsx)(`div`,{className:`md:col-span-3 text-center mb-4`,children:(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 inline-block`,children:`More Delicious Options`})}),r.map((e,t)=>(0,B.jsx)(T7,{restaurant:e},t)),(0,B.jsx)(`div`,{className:`h-full min-h-[200px] rounded-xl overflow-hidden shadow-md`,children:(0,B.jsx)(`img`,{src:`https://images.unsplash.com/photo-1565299624946-b28f40a0ae38?auto=format&fit=crop&w=600&q=80`,alt:`Pizza and comfort food`,className:`w-full h-full object-cover`})})]}),i.length>0&&(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-orange-900 mb-8 text-center`,children:`Cafe & Quick Bites`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-3 gap-6`,children:i.map((e,t)=>(0,B.jsx)(T7,{restaurant:e},t))})]})]})})},hCe=[{title:`Astoria Second Saturday Art Walk`,date:`Monthly (Every 2nd Saturday)`},{title:`Great Columbia Crossing`,date:`October 11, 2026`},{title:`FisherPoets Gathering`,date:`February 26–28, 2027`},{title:`Astoria Scandinavian Midsummer`,date:`June 18–20, 2027`},{title:`Astoria Regatta`,date:`August 11–15, 2027`},{title:`Rigs & Reggae`,date:`August 2027`}],gCe=()=>{(0,y.useEffect)(()=>{console.log(`WarrentonPage mounted`)},[]);let e=Y.warrenton,t=If(`Warrenton`),n=Lf(`Warrenton`),r=tj.warrenton;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden`,children:[(0,B.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Warrenton, Oregon Coast`,className:`w-full h-full object-cover`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-black/30 to-black/70`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-center text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Warrenton`}),(0,B.jsx)(`h1`,{className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight`,children:`Warrenton`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 mb-12`,children:[(0,B.jsx)(`div`,{className:`lg:col-span-2`,children:(0,B.jsx)(r6,{townName:`Warrenton`,initialDescription:iCe},`Warrenton-About`)}),(0,B.jsx)(`div`,{className:`lg:col-span-1`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||46.1648,lon:e?.geo?.lng||-123.9226,townName:`Warrenton`})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Warrenton`,townSlug:`warrenton`,lat:e?.geo?.lat||46.1648,lon:e?.geo?.lng||-123.9226})})]}),(0,B.jsx)(Gj,{townName:`Warrenton`,featuredImage:r,title:`Warrenton in Photos`}),(0,B.jsx)(Hj,{attractions:C7,townName:`Warrenton`}),(0,B.jsx)(lCe,{attractions:C7}),(0,B.jsx)(dCe,{trails:aCe}),(0,B.jsx)(c6,{events:hCe}),(0,B.jsx)(fCe,{hotels:oCe}),(0,B.jsx)(mCe,{restaurants:sCe})]}),(0,B.jsx)(Ux,{})]})},_Ce=`
  <p>Known affectionately as "The Little Town with a Big View," Wheeler is a hidden gem perched on the edge of Nehalem Bay. Facing west toward the Pacific, it offers some of the most spectacular sunsets on the entire Oregon Coast, bathing the bay and the distant Nehalem Spit in golden hues. This charming village feels frozen in time, with a walkable downtown strip lined with historic buildings, antique shops, and artisan boutiques.</p>
  <p>Wheeler’s identity is deeply tied to the water and the rails. It serves as a key stop for the Oregon Coast Scenic Railroad, where steam whistles echo off the surrounding hills, evoking the romance of a bygone era. The marina provides direct access for kayaking, crabbing, and fishing, while the waterfront park invites visitors to simply sit and watch the tides change. Whether you're hunting for vintage treasures, enjoying fresh seafood with a bay view, or launching a kayak into the mist, Wheeler offers a peaceful, creative, and scenic escape from the ordinary.</p>
`,D7=[{name:`Oregon Coast Scenic Railroad`,description:`Wheeler serves as a charming depot for this heritage railroad. Visitors can watch the steam engine pull into town or board the train for a scenic journey along the bay and river. The historic atmosphere of the train perfectly matches Wheeler's old-world vibe.`,details:`Train Depot`},{name:`Wheeler Marina`,description:`The heart of outdoor recreation in town, the marina offers boat rentals, crab ring rentals, and a launch point for kayaks. It's the gateway to exploring the Nehalem Bay Estuary, teeming with birds, seals, and fish.`,details:`Marina & Rentals`},{name:`Wheeler Antiques & Vintage`,description:`Wheeler is renowned as an antiquing destination. The downtown area features several high-quality antique malls and vintage shops where collectors can find maritime artifacts, glass, furniture, and rare collectibles.`,details:`Shopping`},{name:`Waterfront Park`,description:`A beautifully maintained grassy area right on the bay's edge. It features picnic tables, benches perfectly positioned for sunset viewing, and unobstructed views of Neahkahnie Mountain and the Nehalem Spit.`,details:`Park & Views`},{name:`Botts Marsh`,description:`Adjacent to the town, this protected wetland area is a birdwatcher's paradise. It serves as a vital habitat for migratory birds, herons, and bald eagles. The changing tides create a dynamic landscape fascinating to observe.`,details:`Nature Reserve`},{name:`Upper Park`,description:`Located on the hill above downtown, this park offers a different perspective with sweeping panoramic views of the entire bay, the ocean entrance, and the town rooftops below. A quiet spot for reflection.`,details:`Scenic Lookout`},{name:`Nehalem Bay Arts`,description:`Reflecting the town's creative spirit, Wheeler is home to local artisans and galleries. Visitors can find unique pottery, paintings, and handcrafted jewelry inspired by the coastal landscape.`,details:`Art & Culture`},{name:`Historical Walking Tour`,description:`Wheeler's compact downtown is rich in history. A self-guided walk reveals buildings from the early 1900s, telling the story of the town's evolution from a timber and fishing hub to a beloved tourist retreat.`,details:`Heritage`}],vCe=[{name:`Wheeler Upper Park Trail`,distance:`0.5 miles`,difficulty:`Easy`,elevation:`100 ft gain`,description:`A short but rewarding walk leading to the upper park. The elevation gain provides one of the best vantage points for photographing Nehalem Bay and the Pacific Ocean horizon.`},{name:`Botts Marsh Edge Walk`,distance:`1 mile`,difficulty:`Easy`,elevation:`Flat`,description:`A gentle walk along the perimeter of the marshlands. Best done at low tide to see elk prints and wading birds. It connects visitors directly with the estuary ecosystem.`},{name:`Nehalem Bay Water Trail`,distance:`Variable`,difficulty:`Moderate`,elevation:`Water Level`,description:`For kayakers and SUPs, the 'trail' is the water itself. Paddle from Wheeler to Nehalem or out toward the state park. Watch for tides and wind, but enjoy close encounters with harbor seals.`},{name:`Salmonberry Trail (Sections)`,distance:`Varies`,difficulty:`Moderate`,elevation:`Varies`,description:`While the full trail is a work in progress, nearby sections offer glimpses into the ambitious project to convert the old rail line into a world-class hiking and biking path connecting the coast to the valley.`},{name:`Neahkahnie Mountain (Nearby)`,distance:`3 miles`,difficulty:`Strenuous`,elevation:`1600 ft`,description:`Just a short drive north, this iconic hike is a must-do for Wheeler visitors seeking a challenge. The summit offers legendary views that frame Wheeler and the bay perfectly.`},{name:`Nehalem Spit Walk`,distance:`4 miles`,difficulty:`Moderate`,elevation:`Flat`,description:`Accessible via boat from Wheeler or driving to the State Park, walking the spit offers solitude, dunes, and the raw power of the ocean meeting the bay.`}],yCe=[{name:`Old Wheeler Hotel`,category:`Historic Boutique`,description:`A stunningly restored historic building that anchors the town. Each room is individually decorated with antiques and plush furnishings. Known for its romantic ambiance and views of the bay, it's an adults-only retreat that feels like stepping back in time.`,amenities:`Bay Views, Antiques, Piano`},{name:`Wheeler on the Bay Lodge`,category:`Waterfront Lodge`,description:`The only motel right on the water in the area. Rooms feature private decks, fireplaces, and jetted tubs. Guests enjoy complimentary use of kayaks and an extensive movie library. Perfect for those who want to wake up to the sound of water lapping against the dock.`,amenities:`Private Dock, Free Kayaks, Fireplaces`},{name:`Nehalem Bay Cottages`,category:`Vacation Rentals`,description:`Various charming cottages and vacation homes scattered around the hillside and waterfront. These offer more privacy and kitchen facilities, ideal for families or longer stays in the 'Little Town with a Big View'.`,amenities:`Kitchens, Privacy, Decks`}],bCe=[{name:`Salmonberry Saloon`,category:`Gastropub`,description:`The culinary star of Wheeler. Located in a historic building right on the water, it serves incredible, locally sourced seafood and farm-to-table dishes. The deck offers arguably the best dining view on the coast.`,features:`Waterfront Deck, Local Seafood`},{name:`The Roost`,category:`Breakfast/Cafe`,description:`A cozy, welcoming spot for breakfast and lunch. Known for homemade pastries, hearty scrambles, and excellent coffee. It's the local gathering place where community news is shared over steaming mugs.`,features:`Homemade Pastries, Cozy`},{name:`Rising Star Cafe`,category:`Pasta/Italian`,description:`A hidden gem offering intimate dining with a focus on fresh pastas and seasonal ingredients. The atmosphere is warm and unpretentious, with food that rivals big-city Italian restaurants.`,features:`Fresh Pasta, Intimate`},{name:`Handy Creek Bakery`,category:`Bakery`,description:`Small artisan bakery offering fresh breads, cookies, and savory treats. Perfect for grabbing picnic supplies before heading out on the bay or a hike.`,features:`Artisan Bread, To-Go`},{name:`Wheeler Treasures Coffee`,category:`Coffee/Snacks`,description:`Located within the antique district, this spot offers a quick caffeine fix and light snacks. Sip a latte while browsing vintage finds or watching the train roll by.`,features:`Espresso, Antiques`}],O7=`Wheeler`,xCe=K(O7),SCe=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(()=>{let t=Ef(O7,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:xCe,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-cyan-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-cyan-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-cyan-700 bg-cyan-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),CCe=({attractions:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`AttractionsSection: No attractions data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-cyan-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-cyan-600 font-bold tracking-wider uppercase text-sm`,children:`Explore the History`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Wheeler`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-cyan-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(SCe,{attraction:e,index:t},t))})]})})),wCe=({level:e})=>{let t={Easy:`bg-cyan-100 text-cyan-800 border-cyan-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy to Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},TCe=({trails:e})=>((0,y.useEffect)(()=>{e&&e.length!==0||console.warn(`HikingTrailsSection: No trails data provided`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-cyan-600`}),`Hiking Trails & Outdoor Adventure`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`From gentle marsh walks to kayaking the bay, Wheeler offers peaceful adventures in nature.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-cyan-700 transition-colors`,children:e.name}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(wCe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),ECe=({hotels:e})=>{let t=`Wheeler`,n=[`Nehalem Bay Cottages`],r=e?e.filter(e=>!n.includes(e.name)):[];return(0,B.jsx)(a6,{townName:t,fallbackHotels:r,affiliateHotels:jC[t]})},k7=`Wheeler`,DCe=K(k7),A7=({restaurant:e,image:t})=>(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm rounded-xl border border-cyan-100 hover:border-cyan-300 transition-all shadow-sm hover:shadow-md overflow-hidden h-full flex flex-col`,children:[(0,B.jsx)(`div`,{className:`h-48 w-full bg-cyan-50 relative overflow-hidden`,children:t?(0,B.jsx)(`img`,{src:t,alt:e.name,className:`w-full h-full object-cover transition-transform duration-500 hover:scale-105`}):(0,B.jsx)(`div`,{className:`flex items-center justify-center h-full text-cyan-200`,children:(0,B.jsx)(uo,{className:`w-8 h-8`})})}),(0,B.jsxs)(`div`,{className:`p-6 flex flex-col flex-grow`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-cyan-950`,children:e?.name||`Restaurant Name`}),(()=>{let t=Sf(k7,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:DCe,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`}):null})()]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-cyan-700 bg-cyan-100 px-2 py-1 rounded-md`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed flex-grow`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-cyan-100/50 mt-auto`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-cyan-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]})]}),OCe=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-80 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-cyan-500 pl-3`,children:n})})]}),kCe=({restaurants:e})=>{let[t,n]=(0,y.useState)({});if((0,y.useEffect)(()=>{(async()=>{let{data:t}=await Kd.from(`town_photos`).select(`image_url, caption`).eq(`town_name`,`Wheeler`);if(t){let r={};t.forEach((t,n)=>{e[n]&&(r[e[n].name]=t.image_url)}),n(r)}})()},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-cyan-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-cyan-900`,children:`Dining information currently unavailable.`})});let r=e=>{let t=[`https://images.unsplash.com/photo-1414235077428-338989a2e8c0?auto=format&fit=crop&w=800&q=80`,`https://images.unsplash.com/photo-1495474472287-4d71bcdd2085?auto=format&fit=crop&w=800&q=80`,`https://images.unsplash.com/photo-1481931098730-318b6f776db0?auto=format&fit=crop&w=800&q=80`,`https://images.unsplash.com/photo-1554118811-1e0d58224f24?auto=format&fit=crop&w=800&q=80`,`https://images.unsplash.com/photo-1509042239860-f550ce710b93?auto=format&fit=crop&w=800&q=80`];return t[e%t.length]},i=e.slice(0,1),a=e.slice(1);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-cyan-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-cyan-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Wheeler`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Fresh seafood, cozy cafes, and sunset views from the deck.`})]}),(0,B.jsxs)(`div`,{className:`grid md:grid-cols-2 gap-8 items-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-cyan-900 border-b-2 border-cyan-200 pb-2 inline-block`,children:`Waterfront Dining`}),(0,B.jsx)(`div`,{className:`grid gap-6`,children:i.map((e,n)=>(0,B.jsx)(A7,{restaurant:e,image:t[e.name]||r(n)},n))})]}),(0,B.jsx)(OCe,{src:`https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=800&q=80`,alt:`Seafood dinner`,caption:`Sunset dining on the bay`})]}),a.length>0&&(0,B.jsxs)(`div`,{className:`bg-white/60 p-8 rounded-2xl shadow-sm`,children:[(0,B.jsx)(`h3`,{className:`text-2xl font-bold text-cyan-900 mb-8 text-center`,children:`Local Favorites`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-3 gap-6`,children:a.map((e,n)=>(0,B.jsx)(A7,{restaurant:e,image:t[e.name]||r(n+1)},n))})]})]})})},ACe=()=>{(0,y.useEffect)(()=>{console.log(`WheelerPage mounted`)},[]);let e=Y.wheeler,t=If(`Wheeler`),n=Lf(`Wheeler`),r=tj.wheeler;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Zx,{name:`Wheeler Oregon Travel`,description:n,url:`https://oregoncoastal.com/town/wheeler`,image:r}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden`,children:[(0,B.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Wheeler, Oregon Bayfront`,className:`w-full h-full object-cover`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-black/30 to-black/70`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-center text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Wheeler`}),(0,B.jsx)(`h1`,{className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight`,children:`Wheeler`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 mb-12`,children:[(0,B.jsx)(`div`,{className:`lg:col-span-2`,children:(0,B.jsx)(r6,{townName:`Wheeler`,initialDescription:_Ce},`Wheeler-About`)}),(0,B.jsx)(`div`,{className:`lg:col-span-1`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||45.6887,lon:e?.geo?.lng||-123.8812,townName:`Wheeler`})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Wheeler`,townSlug:`wheeler`,lat:e?.geo?.lat||45.6887,lon:e?.geo?.lng||-123.8812})})]}),(0,B.jsx)(Gj,{townName:`Wheeler`,featuredImage:r,title:`Wheeler in Photos`}),(0,B.jsx)(Hj,{attractions:D7,townName:`Wheeler`}),(0,B.jsx)(CCe,{attractions:D7}),(0,B.jsx)(TCe,{trails:vCe}),(0,B.jsx)(ECe,{hotels:yCe}),(0,B.jsx)(kCe,{restaurants:bCe})]}),(0,B.jsx)(Ux,{})]})},jCe=`
  <p>Winchester Bay is the heartbeat of the central Oregon coast's "Dunes Country," offering a perfect blend of high-octane adventure and serene coastal beauty. Situated at the mouth of the Umpqua River, this vibrant community is most famous for its proximity to the Oregon Dunes National Recreation Area, specifically the massive dunes at Umpqua Lighthouse State Park that draw off-road enthusiasts from across the country.</p>
  <p>Beyond the dunes, Winchester Bay is a premier fishing and crabbing destination. The Salmon Harbor Marina is one of the largest and best-equipped on the Oregon Coast, providing a launching point for deep-sea fishing charters and excellent dock-side crabbing. The town's Salmon Harbor is a working waterfront where you can watch the commercial fleet bring in the day's catch or enjoy fresh seafood just steps from the docks.</p>
  <p>History and scenery meet at the Umpqua River Lighthouse, which stands tall overlooking the river entrance. With its unique red and white lens, it remains one of the most distinctive landmarks on the coast. Whether you're here to conquer the dunes on an ATV, explore the quiet hiking trails around Lake Marie, or simply enjoy a sunset over the Pacific, Winchester Bay provides an authentic and exhilarating coastal experience.</p>
`,j7=[{name:`Umpqua River Lighthouse`,description:`Built in 1894, this historic lighthouse features a unique red and white Fresnel lens. Tours are available through the adjacent museum, providing a glimpse into the region's maritime history and stunning views of the dunes.`,details:`Tours available daily; museum on-site.`},{name:`Oregon Dunes National Recreation Area`,description:`Winchester Bay serves as a major gateway to some of the highest dunes in the world. This area is a playground for OHVs (Off-Highway Vehicles), offering miles of shifting sands and dramatic coastal views.`,details:`Permits required for OHV use.`},{name:`Salmon Harbor Marina`,description:`One of the largest marinas on the Oregon Coast, it's the center of activity for crabbing, fishing, and boating. The marina offers extensive facilities for both recreational and commercial vessels.`,details:`Excellent crabbing from the public docks.`},{name:`Lake Marie`,description:`A serene freshwater lake located within Umpqua Lighthouse State Park. It features a walking trail around its perimeter and is a popular spot for swimming, fishing, and non-motorized boating.`,details:`Gentle 1-mile perimeter trail.`},{name:`Ziolkouski Beach Park`,description:`Located at the end of the South Jetty, this park offers beach access and great views of the Umpqua River bar. It's a popular spot for watching ships navigate the river entrance.`,details:`Picnic areas and beach access.`}],MCe=[{name:`Lake Marie Trail`,distance:`1.0 mile loop`,difficulty:`Easy`,description:`A scenic and level trail that circles Lake Marie, winding through coastal forest and offering multiple viewpoints of the water.`},{name:`Umpqua Dunes Trail`,distance:`2.3 miles`,difficulty:`Moderate/Hard`,description:`This trail takes hikers directly into the massive open dunes. Walking on sand is strenuous, but the reward is a surreal landscape and views of the Pacific.`},{name:`Chief Tsiltcoos Trail`,distance:`3.5 miles`,difficulty:`Moderate`,description:`Located nearby, this trail explores the diverse coastal forest and dunes, providing a quieter alternative to the more popular OHV areas.`}],M7=[{name:`Winchester Bay Inn`,category:`Hotel`,image:`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/6761ae5915cb19565e5244bd498d2d03.jpg`,description:`A charming and conveniently located inn featuring bright coastal architecture. Situated near the Salmon Harbor Marina and the Umpqua River Lighthouse, it offers comfortable accommodations for explorers of the dunes and the sea.`,amenities:`Free WiFi, Pet-friendly rooms, Near Marina, Mountain views.`,bookingUrl:`https://expedia.com/affiliates/reedsport-hotels-winchester-bay-inn.dTkNbbo`}],NCe=[{name:`Salmon Harbor Cafe and Mercantile & The Wheelhouse Winchester Bay`,rating:`4.7`,reviews:`112`,price:`$10–20`,category:`Pacific Northwestern`,address:`110 Bayfront Loop`,status:`Closed · Opens 8 AM Thu`,quote:`"An absolute gem! The food is incredible and the staff makes you feel right at home."`},{name:`Griff's On the Bay Restaurant`,rating:`4.2`,reviews:`768`,price:`$20–30`,category:`Seafood`,address:`142 Bayfront Loop`,status:``,quote:`"Some of the best fish and chips on the Oregon coast, right on the water."`},{name:`Blue Box Seafood Company`,rating:`4.4`,reviews:`165`,price:`$10–20`,category:`Seafood`,address:`200 Coho Pt Lp`,status:`Closed · Opens 11:30 AM Thu`,quote:`"Incredible fresh catch and great clam chowder in a no-frills setting."`},{name:`Salmon Harbor Marina`,rating:`4.3`,reviews:`96`,price:``,category:`Marina`,address:`100 Ork Rock Rd`,status:``,quote:`"Beautiful views of the working boats and a great place to walk around."`},{name:`Crabby's Bar & Grill`,rating:`4.2`,reviews:`793`,price:`$20–30`,category:`Seafood`,address:`196 Bayfront Loop`,status:``,quote:`"Awesome atmosphere, strong drinks, and perfectly cooked crab legs."`},{name:`Double "D" On The Rocks`,rating:`4.3`,reviews:`713`,price:`$10–20`,category:`Sports bar`,address:`460 Beach Blvd`,status:``,quote:`"Great local dive bar with friendly service, cold beer, and tasty burgers."`},{name:`Big Fish Café`,rating:`4.7`,reviews:`322`,price:`$20–30`,category:`Seafood`,address:`345 Riverfront Way`,status:``,quote:`"A wonderful dining experience with top-tier seafood and beautiful presentation."`},{name:`Bedrock's On The Bay`,rating:`4.1`,reviews:`1.1K`,price:`$10–20`,category:`Pizza`,address:`105 Coho Pt Lp`,status:``,quote:`"Perfect spot for a family dinner. The pizza is loaded with toppings!"`},{name:`The Salmonberry`,rating:`4.4`,reviews:`444`,price:`$20–30`,category:`Restaurant`,address:`380 Marine Dr`,status:`Closed · Opens 4 PM Fri`,quote:`"Amazing flavors and a really cozy interior. Definitely worth the stop."`}],N7=`Winchester Bay`,PCe=K(N7),FCe=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(()=>{let t=Ef(N7,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:PCe,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),ICe=({attractions:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`AttractionsSection: No attractions data provided`):console.log(`AttractionsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Lighthouses & Dunes`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Top Attractions in Winchester Bay`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(FCe,{attraction:e,index:t},t))})]})})),P7=`Winchester Bay`,LCe=K(P7),RCe=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},zCe=({trails:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`HikingTrailsSection: No trails data provided`):console.log(`HikingTrailsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`Discover trails that wind through coastal forests, circle serene lakes, and traverse the massive shifting sands of the Oregon Dunes.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(()=>{let t=Tf(P7,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:LCe,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)(RCe,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),BCe=({hotels:e})=>{let t=`Winchester Bay`,n=(e&&e.length>0?e:M7).filter(e=>e.name===`Winchester Bay Inn`),r=(jC[t]||[]).filter(e=>e.name===`Winchester Bay Inn`);return(0,B.jsx)(a6,{townName:t,fallbackHotels:n,affiliateHotels:r})},VCe=ua(`inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80`,secondary:`border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80`,destructive:`border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80`,outline:`text-foreground`}},defaultVariants:{variant:`default`}});function F7({className:e,variant:t,...n}){return(0,B.jsx)(`div`,{className:z(VCe({variant:t}),e),...n})}var HCe=({restaurant:e})=>(0,B.jsxs)(dw,{className:`h-full flex flex-col hover:shadow-lg transition-shadow duration-300 border-orange-100 group`,children:[(0,B.jsxs)(fw,{className:`pb-3`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-start gap-4`,children:[(0,B.jsx)(pw,{className:`text-xl font-bold text-gray-900 group-hover:text-orange-700 transition-colors`,children:e.name}),e.price&&(0,B.jsx)(F7,{variant:`outline`,className:`bg-orange-50 text-orange-700 border-orange-200 whitespace-nowrap`,children:e.price})]}),(0,B.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 mt-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center text-yellow-500 bg-yellow-50 px-2 py-0.5 rounded text-sm font-medium`,children:[(0,B.jsx)(Go,{className:`w-4 h-4 mr-1 fill-current`}),e.rating]}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500`,children:[`(`,e.reviews,` reviews)`]}),(0,B.jsx)(`span`,{className:`text-gray-300`,children:`•`}),(0,B.jsx)(F7,{variant:`secondary`,className:`bg-gray-100 text-gray-700 hover:bg-gray-200`,children:e.category})]})]}),(0,B.jsxs)(mw,{className:`flex-grow flex flex-col gap-4`,children:[(0,B.jsxs)(`div`,{className:`space-y-2 text-sm text-gray-600`,children:[(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,B.jsx)(H,{className:`w-4 h-4 mt-0.5 text-orange-500 shrink-0`}),(0,B.jsx)(`span`,{children:e.address})]}),e.status&&(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,B.jsx)(Ga,{className:`w-4 h-4 mt-0.5 text-red-500 shrink-0`}),(0,B.jsx)(`span`,{className:`text-red-600 font-medium`,children:e.status})]})]}),(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsxs)(`div`,{className:`flex items-start gap-2 text-gray-600 bg-gray-50 p-3 rounded-lg`,children:[(0,B.jsx)(Eo,{className:`w-4 h-4 mt-1 text-gray-400 shrink-0`}),(0,B.jsx)(`p`,{className:`text-sm italic font-serif leading-relaxed`,children:e.quote})]})})]})]}),UCe=({restaurants:e})=>!e||e.length===0?(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-24 px-4 bg-gradient-to-b from-orange-50/50 to-white`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16 max-w-3xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex items-center justify-center gap-2 mb-4`,children:(0,B.jsx)(`div`,{className:`p-3 bg-orange-100 rounded-full text-orange-600`,children:(0,B.jsx)(ns,{className:`w-6 h-6`})})}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-6`,children:`Dining in Winchester Bay`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600`,children:`Savor the freshest seafood on the coast, enjoyed right on the docks where it was landed. Winchester Bay offers authentic, unpretentious dining at its best. Explore our top local recommendations.`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6`,children:e.map((e,t)=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:t*.1},children:(0,B.jsx)(HCe,{restaurant:e})},t))})]})}),WCe=()=>{(0,y.useEffect)(()=>{console.log(`WinchesterBayPage mounted`)},[]);let e=Y[`winchester-bay`],t=If(`Winchester Bay`),n=Lf(`Winchester Bay`),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/2f37573b78ca4f0f6ac0a59604cf403c.webp`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Zx,{name:`Winchester Bay Oregon Travel`,description:n,url:`https://oregoncoastal.com/town/winchester-bay`,image:r}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Winchester Bay, Oregon Lighthouse and Harbor`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Winchester Bay`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Winchester Bay`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-lime-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Winchester Bay Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:jCe}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Known as the crab capital of the Oregon Coast with a vibrant working harbor and historic lighthouse.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||43.6765,lon:e?.geo?.lng||-124.1768,townName:`Winchester Bay`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Winchester Bay`,townSlug:`winchester-bay`,lat:e?.geo?.lat||43.6765,lon:e?.geo?.lng||-124.1768})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Winchester Bay`,featuredImage:r,title:`Winchester Bay in Photos`})}),(0,B.jsx)(Hj,{attractions:j7,townName:`Winchester Bay`}),(0,B.jsx)(ICe,{attractions:j7}),(0,B.jsx)(zCe,{trails:MCe}),(0,B.jsx)(BCe,{hotels:M7}),(0,B.jsx)(UCe,{restaurants:NCe})]}),(0,B.jsx)(Ux,{})]})},GCe=`Perched between the lush temperate rainforest of the Coast Range and the dramatic basalt churn of the Pacific, Yachats (pronounced YAH-hots) is often called the "Gem of the Oregon Coast." This small village is renowned for its rocky shoreline where waves crash spectacularly against jagged cliffs, offering a more wild and untamed coastal experience than the sandy beaches to the north. Visitors flock here for the world-class hiking at Cape Perpetua, the mysterious Thor's Well, and a vibrant local arts scene that punches far above its weight for a town of its size.`,I7=[{name:`Thor's Well`,description:`A gaping sinkhole in the basalt shoreline that appears to drain the ocean during high tide and storms.`,image:`https://images.unsplash.com/photo-1590424555024-5d51d5469956?auto=format&fit=crop&w=800&q=80`},{name:`Cape Perpetua Scenic Area`,description:`The highest point on the Oregon Coast accessible by car, offering 26 miles of trails and breathtaking views.`,image:`https://images.unsplash.com/photo-1621262489823-3b6528d29759?auto=format&fit=crop&w=800&q=80`},{name:`Devil's Churn`,description:`A narrow fissure in the coastal rock where the incoming tide is forced into a violent, frothing spray.`,image:`https://images.unsplash.com/photo-1605342938426-5a49ca817344?auto=format&fit=crop&w=800&q=80`},{name:`Yachats Ocean Road State Natural Site`,description:`A scenic one-mile loop providing easy access to tide pools and incredible wave-watching spots.`,image:`https://images.unsplash.com/photo-1505245208761-ba87350d39ee?auto=format&fit=crop&w=800&q=80`}],KCe=[{name:`Saint Perpetua Trail`,distance:`1.5 miles`,difficulty:`Moderate`,description:`Short but steep switchbacks leading to the best panoramic view of the coastline.`},{name:`Amanda's Trail`,distance:`3.2 miles`,difficulty:`Moderate`,description:`Connects Yachats to Cape Perpetua through old-growth forest, telling a somber local history.`},{name:`Cook's Ridge Trail`,distance:`6.4 miles`,difficulty:`Challenging`,description:`A beautiful loop through giant Sitka spruce and Douglas fir forests.`}],qCe=[{name:`Overleaf Lodge & Spa`,description:`Upscale oceanfront lodging with a full-service spa and stunning views of the rocky coast.`},{name:`Adobe Resort`,description:`Classic coastal resort with an award-winning restaurant and lounge overlooking the surf.`},{name:`Fireside Motel`,description:`Pet-friendly oceanfront motel with direct access to the 804 Trail and tide pools.`}],JCe=[{name:`Ona Restaurant & Lounge`,category:`Fine Dining`,description:`Creative Pacific Northwest cuisine featuring local ingredients and fresh-caught seafood.`,features:`Ocean views and seasonal menus`},{name:`Luna Sea Fish House`,category:`Seafood`,description:`Owned by a local fisherman, serving the freshest fish and chips, clam chowder, and grilled seafood.`,features:`Casual atmosphere and outdoor seating`},{name:`Pelican Brewing Yachats`,category:`Brewpub`,description:`Located in the former home of Le Roy's Blue Whale and the Whale's Tail Diner, the remodeled neighborhood pub preserves the building's iconic indoor whale mural.`,features:`Iconic indoor whale mural and neighborhood pub atmosphere`},{name:`Outta Gas Pizza`,category:`Pizza`,description:`Fresh hand-tossed pizza and sandwiches are served at this casual spot, which also has a game room with shuffleboard.`,features:`Casual dining and game room`},{name:`Green Salmon Coffee & Tea`,category:`Cafe`,description:`Eco-friendly cafe specializing in organic coffees, vast tea selection, and vegan-friendly pastries.`,features:`Great breakfast and specialty drinks`},{name:`Beach Street Kitchen`,category:`Casual`,description:`Gourmet sandwiches and bowls made from scratch with a focus on fresh, local ingredients.`,features:`Health-conscious and locally sourced`}],L7=`Yachats`,YCe=K(L7),XCe=({attraction:e,index:t})=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 overflow-hidden border border-gray-100 flex flex-col h-full`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e?.name||`Unknown Attraction`}),(()=>{let t=Ef(L7,e?.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:YCe,pageType:`town`,module:`attraction-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsx)(`div`,{className:`bg-lime-50 p-2 rounded-full shrink-0 ml-2`,children:(0,B.jsx)(H,{className:`w-5 h-5 text-lime-600`})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e?.description||`No description available.`}),e?.details&&(0,B.jsx)(`div`,{className:`mt-auto pt-4 border-t border-gray-100`,children:(0,B.jsx)(`p`,{className:`text-sm font-medium text-lime-700 bg-lime-50/50 inline-block px-3 py-1 rounded-md`,children:e.details})})]})}),ZCe=({attractions:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`AttractionsSection: No attractions data provided`):console.log(`AttractionsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gray-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Attraction information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-gradient-to-b from-white to-lime-50/30`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsx)(q.span,{initial:{opacity:0},whileInView:{opacity:1},className:`text-lime-600 font-bold tracking-wider uppercase text-sm`,children:`Wonders of the Coast`}),(0,B.jsx)(q.h2,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},className:`text-4xl md:text-5xl font-bold text-gray-900 mt-2 mb-6`,children:`Must-See Yachats Sights`}),(0,B.jsx)(`div`,{className:`h-1 w-24 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(XCe,{attraction:e,index:t},t))})]})})),R7=`Yachats`,QCe=K(R7),$Ce=({level:e})=>{let t={Easy:`bg-green-100 text-green-800 border-green-200`,Moderate:`bg-yellow-100 text-yellow-800 border-yellow-200`,Strenuous:`bg-red-100 text-red-800 border-red-200`,"Moderate/Hard":`bg-orange-100 text-orange-800 border-orange-200`,"Easy/Moderate":`bg-lime-100 text-lime-800 border-lime-200`};return(0,B.jsx)(`span`,{className:z(`px-2.5 py-0.5 rounded-full text-xs font-medium border`,t[e]||t.Moderate),children:e||`Unknown`})},ewe=({trails:e})=>((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`HikingTrailsSection: No trails data provided`):console.log(`HikingTrailsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0?(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa] text-center`,children:(0,B.jsx)(`p`,{className:`text-gray-500`,children:`Hiking trail information currently unavailable.`})}):(0,B.jsx)(`section`,{className:`py-20 px-4 bg-[#f8f9fa]`,children:(0,B.jsxs)(`div`,{className:`max-w-5xl mx-auto`,children:[(0,B.jsx)(`div`,{className:`flex flex-col md:flex-row md:items-end justify-between mb-12 border-b border-gray-200 pb-8`,children:(0,B.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,B.jsxs)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4 flex items-center gap-3`,children:[(0,B.jsx)(Do,{className:`w-8 h-8 text-emerald-600`}),`Hiking Trails & Nature`]}),(0,B.jsx)(`p`,{className:`text-gray-600 text-lg`,children:`From the dramatic heights of Cape Perpetua to the gentle coastal paths of the 804, Yachats offers some of the most spectacular hiking in the Pacific Northwest.`})]})}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 gap-4`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.05},className:`bg-white p-6 rounded-lg shadow-sm hover:shadow-md border border-gray-100 transition-all group`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between md:items-center gap-4 mb-3`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-800 group-hover:text-emerald-700 transition-colors`,children:e.name}),(()=>{let t=Tf(R7,e.name);return t?(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:QCe,pageType:`town`,module:`trail-card`,affiliateLink:null,theme:`light`}):null})()]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3 flex-wrap`,children:[(0,B.jsx)($Ce,{level:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Xo,{className:`w-4 h-4`}),` `,e.distance]}),e.elevation&&(0,B.jsxs)(`span`,{className:`text-sm text-gray-500 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-4 h-4`}),` `,e.elevation]})]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed text-sm md:text-base`,children:e.description})]},t))})]})})),twe=({hotels:e})=>{let t=`Yachats`;return(0,B.jsx)(a6,{townName:t,fallbackHotels:e,affiliateHotels:jC[t]})},z7=`Yachats`,nwe=K(z7),B7=({restaurant:e})=>{let t=Sf(z7,e?.name);return(0,B.jsxs)(`div`,{className:`bg-white/80 backdrop-blur-sm p-6 rounded-xl border border-orange-100 hover:border-orange-300 transition-all shadow-sm hover:shadow-md h-full flex flex-col`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-baseline mb-3 gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,B.jsx)(`h3`,{className:`text-xl font-bold text-orange-950`,children:e?.name||`Restaurant Name`}),t&&(0,B.jsx)(X,{objectId:t.object_id,title:e.name,sourcePage:nwe,pageType:`town`,module:`dining-card`,affiliateLink:null,theme:`light`})]}),e?.category&&(0,B.jsx)(`span`,{className:`text-xs font-medium text-orange-600 bg-orange-100 px-2 py-1 rounded-md whitespace-nowrap flex-shrink-0`,children:e.category})]}),(0,B.jsx)(`p`,{className:`text-gray-700 mb-4 text-sm leading-relaxed flex-grow`,children:e?.description||`No description available.`}),e?.features&&(0,B.jsxs)(`div`,{className:`pt-3 border-t border-orange-100/50 mt-auto`,children:[(0,B.jsx)(`p`,{className:`text-xs font-bold text-orange-800 uppercase tracking-wide`,children:`Highlight`}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600`,children:e.features})]})]})},rwe=({src:e,alt:t,caption:n})=>(0,B.jsxs)(`div`,{className:`group relative overflow-hidden rounded-xl shadow-lg h-64 md:h-72 my-8`,children:[(0,B.jsx)(`img`,{src:e,alt:t,className:`w-full h-full object-cover transition-transform duration-700 group-hover:scale-105`,loading:`lazy`}),(0,B.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-6`,children:(0,B.jsx)(`p`,{className:`text-white font-medium text-lg border-l-4 border-orange-500 pl-3`,children:n})})]}),iwe=({restaurants:e})=>{if((0,y.useEffect)(()=>{!e||e.length===0?console.warn(`RestaurantsSection: No restaurant data provided`):console.log(`RestaurantsSection loaded with:`,e.length,`items`)},[e]),!e||e.length===0)return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50 text-center`,children:(0,B.jsx)(`p`,{className:`text-orange-900`,children:`Dining information currently unavailable.`})});let t=e.slice(0,3),n=e.slice(3,6),r=e.slice(6,9);return(0,B.jsx)(`section`,{className:`py-24 px-4 bg-orange-50`,children:(0,B.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-16`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-center gap-2 mb-4 text-orange-600`,children:[(0,B.jsx)(ns,{className:`w-6 h-6`}),(0,B.jsx)(ss,{className:`w-6 h-6`}),(0,B.jsx)(Ya,{className:`w-6 h-6`})]}),(0,B.jsx)(`h2`,{className:`text-4xl md:text-5xl font-bold text-gray-900 mb-4`,children:`Dining in Yachats`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Small village, big flavors. From fresh seafood caught by local fishermen to organic bakeries and farm-to-table dining.`})]}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-3 gap-8 items-stretch mb-16`,children:t.map((e,t)=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},children:(0,B.jsx)(B7,{restaurant:e})},t))}),(0,B.jsx)(rwe,{src:`https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=1200&q=80`,alt:`Coastal dining in Yachats`,caption:`Local flavors with a Pacific view`}),(0,B.jsx)(`div`,{className:`grid md:grid-cols-3 gap-6 items-stretch mb-16`,children:n.map((e,t)=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},children:(0,B.jsx)(B7,{restaurant:e})},t))}),r.length>0&&(0,B.jsx)(`div`,{className:`grid md:grid-cols-3 gap-6 items-stretch`,children:r.map((e,t)=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},children:(0,B.jsx)(B7,{restaurant:e})},t))})]})})},awe=[{title:`Yachats Mushroom Festival`,date:`October 16–18, 2026`},{title:`Yachats Music Festival`,date:`July 9–11, 2027`},{title:`La de da Parade`,date:`July 4, 2027`},{title:`Weekly Pickleball`,date:`Recurring (Mondays/Thursdays)`}],owe=()=>{(0,y.useEffect)(()=>{console.log(`YachatsPage mounted`)},[]);let e=Y.yachats,t=If(`Yachats`),n=Lf(`Yachats`),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/e7a98346b0f2453dedf2c0e629d0d68c.webp`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n})]}),(0,B.jsx)(Zx,{name:`Yachats, Oregon`,description:n,image:r,url:window.location.href,geo:{latitude:44.3112,longitude:-124.1049}}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Yachats, Oregon coastline`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Yachats`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Yachats`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-lime-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Yachats Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:GCe}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Nestled between lush forest and the wild Pacific, Yachats is often called the "Gem of the Oregon Coast."`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||44.3112,lon:e?.geo?.lng||-124.1049,townName:`Yachats`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Yachats`,townSlug:`yachats`,lat:e?.geo?.lat||44.3112,lon:e?.geo?.lng||-124.1049})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Yachats`,featuredImage:r,title:`Yachats Gallery`})}),(0,B.jsx)(Hj,{attractions:I7,townName:`Yachats`}),(0,B.jsx)(ZCe,{attractions:I7}),(0,B.jsx)(ewe,{trails:KCe}),(0,B.jsx)(c6,{events:awe,townName:`Yachats`}),(0,B.jsx)(twe,{hotels:qCe}),(0,B.jsx)(iwe,{restaurants:JCe})]}),(0,B.jsx)(Ux,{})]})},swe=`
  <p>Seal Rock is a captivating stretch of the Central Oregon Coast where the forest tumbles directly into the sea, meeting a chaotic and beautiful jumble of basalt sea stacks. Named for the seals that have historically hauled out on the offshore rocks, this small, unincorporated community offers some of the most dramatic and accessible geology on the entire coastline.</p>
  <p>Unlike its busier neighbors, Newport and Waldport, Seal Rock is a quiet sanctuary. The main attraction is the Seal Rock State Recreation Site, where a short trail through an enchanting spruce forest leads to massive rock formations that break the waves and create protected tide pools teeming with life. At low tide, it is a premier destination for discovering starfish, anemones, and crabs in their natural habitat.</p>
  <p>The village itself is a charming collection of artisan shops, galleries, and a few eateries that reflect the slow, nature-focused pace of life here. Whether you are storm watching from the bluffs, hunting for agates on the beach, or watching the sunset illuminate Elephant Rock, Seal Rock offers a concentrated dose of the wild beauty that defines Oregon.</p>
`,V7=[{name:`Seal Rock State Recreation Site`,description:`The crown jewel of the area. A short, paved trail winds through old-growth spruce to viewpoints overlooking Elephant Rock and a chain of basalt sea stacks. Steep trails lead down to the beach and excellent tide pools.`,details:`Day-use only. Great for picnics and birdwatching.`},{name:`Elephant Rock`,description:`The massive, trunk-like rock formation that dominates the view from the state park. It's a favorite subject for photographers, especially at sunset when the silhouette is stark against the colorful sky.`,details:`Best viewed from the upper viewpoint.`},{name:`Seal Rock Tide Pools`,description:`Located at the base of the sea stacks, these are some of the most accessible and diverse tide pools on the coast. Expect to see giant green anemones, purple sea stars, chitons, and hermit crabs.`,details:`Check tide tables! Go at low tide for safety.`},{name:`Driftwood Beach State Recreation Site`,description:`Just north of Seal Rock, this wide, flat beach is famous for the massive amounts of driftwood that wash ashore. It's a popular spot for building beach forts and having bonfires.`,details:`Restrooms and picnic tables available.`},{name:`Brian Booth State Park (Ona Beach)`,description:`Located just south, this park offers a unique mix of beach and kayaking opportunities along Beaver Creek. It's a fantastic spot for paddling through quiet wetlands to spot herons and otters.`,details:`Kayak rentals available nearby seasonally.`},{name:`Seal Rock Wood Carvers`,description:`A local landmark and gallery featuring intricate wood carvings, largely of marine life and bears. It's a testament to the artisan spirit of the community.`,details:`Located right on Highway 101.`},{name:`Jaquito's Rock`,description:`Another prominent sea stack visible from the beach, often bustling with seabirds like cormorants and gulls. It adds to the rugged, rocky aesthetic of the coastline.`,details:`Bring binoculars for birdwatching.`}],cwe=[{name:`Seal Rock State Park Loop`,distance:`0.5 miles`,difficulty:`Easy`,description:`A gentle, ADA-accessible path through a magical Sitka spruce forest that leads to the main observation deck. It's short but incredibly scenic.`},{name:`Beach Access Trail`,distance:`0.2 miles (steep)`,difficulty:`Moderate`,description:`From the viewpoint, a steeper trail descends to the beach and tide pools. Use caution on the rocks, which can be slippery with kelp and algae.`},{name:`Driftwood Beach Trail`,distance:`1.0 mile`,difficulty:`Easy`,description:`A sandy walk along the beach north of Seal Rock. It's flat and open, perfect for long walks with the dog or finding the perfect piece of driftwood.`},{name:`Beaver Creek Marsh Trail`,distance:`3.5 miles varied`,difficulty:`Easy`,description:`Located at nearby Ona Beach, this trail winds through the marshlands behind the beach. It's a quiet, flat path excellent for spotting elk and waterfowl.`},{name:`Cooper Ridge Nature Trail`,distance:`1.7 miles loop`,difficulty:`Moderate`,description:`Located a bit north in South Beach State Park, this trail offers a slightly elevated hike through dense shore pine forest with ocean peeks.`},{name:`Ona Beach to Seal Rock Beach Walk`,distance:`2.5 miles (one way)`,difficulty:`Moderate`,description:`At very low tide, it's possible to walk along the sand between these two parks, navigating around rocky outcrops. Check tides carefully to avoid getting trapped!`}],lwe=jC.Waldport||[],uwe=[{name:`Yachats Brewing + Farmstore`,category:`Brewery/Farm-to-Table`,description:`While technically in nearby Yachats, it's the closest premier dining spot. Known for fermented vegetables, house-smoked meats, and exceptional beers.`,features:`Organic ingredients, outdoor patio, probiotic foods.`},{name:`Indulge Sweets`,category:`Bakery/Cafe`,description:`A local favorite for fudge, truffles, and ice cream. It's the perfect stop after a hike at the state park to satisfy your sweet tooth.`,features:`Handmade chocolates, espresso, salt water taffy.`},{name:`Hilltop Cafe-Bistro`,category:`American/Bistro`,description:`Located just north in Waldport, offering hearty breakfasts and lunches with a view. Famous for their benedicts and friendly service.`,features:`Breakfast all day, ocean views, comfort food.`}],dwe=({attractions:e})=>(0,B.jsx)(`section`,{className:`py-16 px-4 bg-gray-50 border-t border-gray-100`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},className:`text-center mb-12`,children:[(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4`,children:`Things to Do in Seal Rock`}),(0,B.jsx)(`div`,{className:`h-1 w-20 bg-lime-500 mx-auto rounded-full`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:e.map((e,t)=>(0,B.jsx)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl shadow-md overflow-hidden hover:shadow-lg transition-shadow border border-gray-100 flex flex-col`,children:(0,B.jsxs)(`div`,{className:`p-6 flex flex-col h-full`,children:[(0,B.jsxs)(`div`,{className:`flex items-start mb-4`,children:[(0,B.jsx)(`div`,{className:`bg-blue-50 p-3 rounded-full mr-4 text-blue-600`,children:(0,B.jsx)(H,{className:`w-6 h-6`})}),(0,B.jsx)(`div`,{children:(0,B.jsx)(`h3`,{className:`text-xl font-bold text-gray-900 leading-tight`,children:e.name})})]}),(0,B.jsx)(`p`,{className:`text-gray-600 mb-6 flex-grow leading-relaxed`,children:e.description}),e.details&&(0,B.jsxs)(`div`,{className:`bg-gray-50 rounded-lg p-4 mt-auto border border-gray-100`,children:[(0,B.jsxs)(`div`,{className:`flex items-center text-sm text-gray-700 font-medium mb-1`,children:[(0,B.jsx)(po,{className:`w-4 h-4 mr-2 text-blue-500`}),`Good to Know`]}),(0,B.jsx)(`p`,{className:`text-sm text-gray-600 ml-6`,children:e.details})]})]})},t))})]})}),fwe=({trails:e})=>(0,B.jsx)(`section`,{className:`py-16 px-4 bg-white border-t border-gray-100`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},className:`text-center mb-12`,children:[(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4`,children:`Hiking & Trails`}),(0,B.jsx)(`div`,{className:`h-1 w-20 bg-emerald-600 mx-auto rounded-full mb-6`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Discover the best coastal trails and nature walks around Seal Rock.`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6`,children:e.map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-gray-50 rounded-xl p-6 border border-gray-100 hover:border-emerald-200 transition-colors h-full flex flex-col shadow-sm`,children:[(0,B.jsxs)(`h3`,{className:`text-xl font-bold text-gray-900 mb-3 flex items-center`,children:[(0,B.jsx)(ko,{className:`w-5 h-5 mr-2 text-emerald-600`}),e.name]}),(0,B.jsxs)(`div`,{className:`flex items-center space-x-4 mb-4 text-sm font-medium`,children:[(0,B.jsx)(`span`,{className:`px-3 py-1 rounded-full ${e.difficulty===`Easy`?`bg-green-100 text-green-700`:e.difficulty===`Moderate`?`bg-yellow-100 text-yellow-700`:`bg-red-100 text-red-700`}`,children:e.difficulty}),(0,B.jsxs)(`span`,{className:`text-gray-600 flex items-center`,children:[(0,B.jsx)(H,{className:`w-4 h-4 mr-1 text-gray-400`}),e.distance]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed`,children:e.description})]},t))})]})}),pwe=({hotels:e})=>(0,B.jsx)(a6,{hotels:e,title:`Where to Stay near Seal Rock`,description:`While Seal Rock offers primarily vacation rentals, nearby Waldport provides excellent oceanfront hotels and cozy inns just minutes away.`}),mwe=()=>(0,B.jsx)(`section`,{className:`py-16 px-4 bg-gray-50 border-t border-gray-100`,children:(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},className:`text-center mb-12`,children:[(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-bold text-gray-900 mb-4`,children:`Where to Eat`}),(0,B.jsx)(`div`,{className:`h-1 w-20 bg-orange-500 mx-auto rounded-full mb-6`}),(0,B.jsx)(`p`,{className:`text-lg text-gray-600 max-w-2xl mx-auto`,children:`Enjoy local flavors and coastal cuisine around Seal Rock.`})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:[{name:`Luna Sea Fish House`,category:`Seafood Restaurant`,description:`Relaxed eatery featuring beer-battered cod, halibut and fish tacos, plus seafood platters.`,features:`Happy hour food, Private dining room, Great cocktails`,address:`10111 NW Pacific Coast Hwy, Seal Rock, OR 97376`,phone:`(541) 563-5862`,hours:`Open · Closes 9 PM`,rating:null,price:null},{name:`Chubby Lil Mermaid Bakery and Gift Shop`,category:`Bakery`,description:`Cozy bakery stocking a variety of donuts, cookies and cakes.`,features:null,address:`10645 NW Pacific Coast Hwy, Seal Rock, OR 97376`,phone:`(541) 819-1555`,hours:`Open · Closes 3 PM`,rating:null,price:null},{name:`3 Burritos`,category:`Mexican Restaurant`,description:`Authentic Mexican cuisine offering delicious burritos and more along the coast.`,features:null,address:`10841 NW Pacific Coast Hwy, Seal Rock, OR 97376`,phone:`(541) 543-7174`,hours:null,rating:`4.8`,price:`$10–20`},{name:`Indulge Sweets`,category:`BAKERY/CAFE`,description:`A local favorite for fudge, truffles, and ice cream. It's the perfect stop after a hike at the state park to satisfy your sweet tooth.`,features:`Handmade chocolates, espresso, salt water taffy`,address:null,phone:null,hours:null,rating:null,price:null}].map((e,t)=>(0,B.jsxs)(q.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:t*.1},className:`bg-white rounded-xl p-6 border border-gray-100 shadow-sm hover:shadow-md transition-shadow h-full flex flex-col`,children:[(0,B.jsxs)(`div`,{className:`flex items-start justify-between mb-4`,children:[(0,B.jsxs)(`h3`,{className:`text-xl font-bold text-gray-900 flex items-center`,children:[(0,B.jsx)(ns,{className:`w-5 h-5 mr-2 text-orange-500`}),e.name]}),e.rating&&(0,B.jsxs)(`div`,{className:`flex items-center bg-orange-50 px-2 py-1 rounded-md`,children:[(0,B.jsx)(Go,{className:`w-4 h-4 text-orange-500 mr-1 fill-current`}),(0,B.jsx)(`span`,{className:`text-sm font-semibold text-orange-700`,children:e.rating})]})]}),(0,B.jsxs)(`div`,{className:`mb-4 flex flex-wrap gap-2`,children:[(0,B.jsx)(`span`,{className:`inline-block bg-orange-50 text-orange-700 text-xs font-semibold px-3 py-1 rounded-full uppercase tracking-wide`,children:e.category}),e.price&&(0,B.jsxs)(`span`,{className:`inline-flex items-center bg-green-50 text-green-700 text-xs font-semibold px-3 py-1 rounded-full`,children:[(0,B.jsx)(Za,{className:`w-3 h-3 mr-0.5`}),e.price]})]}),(0,B.jsx)(`p`,{className:`text-gray-600 leading-relaxed mb-6 flex-grow`,children:e.description}),(0,B.jsxs)(`div`,{className:`space-y-2 mt-auto text-sm text-gray-600`,children:[e.address&&(0,B.jsxs)(`div`,{className:`flex items-start`,children:[(0,B.jsx)(H,{className:`w-4 h-4 mr-2 text-gray-400 mt-0.5 flex-shrink-0`}),(0,B.jsx)(`span`,{children:e.address})]}),e.phone&&(0,B.jsxs)(`div`,{className:`flex items-center`,children:[(0,B.jsx)(jo,{className:`w-4 h-4 mr-2 text-gray-400 flex-shrink-0`}),(0,B.jsx)(`span`,{children:e.phone})]}),e.hours&&(0,B.jsxs)(`div`,{className:`flex items-center text-green-600 font-medium`,children:[(0,B.jsx)(Ga,{className:`w-4 h-4 mr-2 flex-shrink-0`}),(0,B.jsx)(`span`,{children:e.hours})]})]}),e.features&&(0,B.jsxs)(`div`,{className:`mt-4 pt-4 border-t border-gray-100 flex items-start text-sm text-gray-500`,children:[(0,B.jsx)(Go,{className:`w-4 h-4 mr-2 text-yellow-400 flex-shrink-0 mt-0.5 fill-current`}),(0,B.jsx)(`span`,{className:`italic`,children:e.features})]})]},t))})]})}),hwe=()=>{(0,y.useEffect)(()=>{console.log(`SealRockPage mounted`)},[]);let e=Y[`seal-rock`],t=If(`Seal Rock`),n=Lf(`Seal Rock`),r=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/8827892cb93ca1b0cd53550f0936dcde.webp`;return(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsxs)(J,{children:[(0,B.jsx)(`title`,{children:t}),(0,B.jsx)(`meta`,{name:`description`,content:n}),(0,B.jsx)(`meta`,{property:`og:title`,content:t}),(0,B.jsx)(`meta`,{property:`og:description`,content:n}),(0,B.jsx)(`link`,{rel:`canonical`,href:`https://oregoncoastal.com/seal-rock`})]}),(0,B.jsx)(Uj,{}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`relative h-[60vh] md:h-[70vh] w-full overflow-hidden bg-gray-900`,children:[(0,B.jsxs)(q.div,{initial:{scale:1.1},animate:{scale:1},transition:{duration:1.5},className:`absolute inset-0`,children:[(0,B.jsx)(`img`,{src:r,alt:`Seal Rock, Oregon coastline`,className:`w-full h-full object-cover opacity-90`}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-b from-black/60 via-transparent to-black/80`})]}),(0,B.jsxs)(`div`,{className:`relative z-10 h-full flex flex-col items-center justify-end pb-24 text-center px-4 max-w-5xl mx-auto`,children:[(0,B.jsx)(Kj,{townName:`Seal Rock`}),(0,B.jsx)(q.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:`text-5xl md:text-7xl font-bold text-white drop-shadow-lg tracking-tight mb-4`,children:`Seal Rock`}),(0,B.jsx)(`div`,{className:`h-1.5 w-32 bg-teal-400 rounded-full mb-0 shadow-lg`})]})]}),(0,B.jsxs)(`main`,{className:`w-full flex-grow`,children:[(0,B.jsxs)(`section`,{className:`py-16 px-4 bg-white relative`,children:[(0,B.jsx)(`div`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white p-4 rounded-full shadow-xl z-10`,children:(0,B.jsx)(`span`,{className:`text-4xl`,children:`🌊`})}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8 items-stretch mb-12`,children:[(0,B.jsxs)(q.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:`lg:col-span-2 bg-slate-50 rounded-2xl border border-gray-200 p-6 lg:p-8 shadow-sm flex flex-col h-full`,children:[(0,B.jsx)(`div`,{className:`flex flex-col items-start gap-3 mb-6`,children:(0,B.jsx)(`h2`,{className:`text-3xl md:text-4xl font-semibold text-gray-900 tracking-tight leading-tight`,children:`About Seal Rock Oregon`})}),(0,B.jsx)(`div`,{className:`flex-grow`,children:(0,B.jsx)(`div`,{className:`text-lg text-gray-700 leading-relaxed font-light prose prose-lg max-w-none text-left`,dangerouslySetInnerHTML:{__html:swe}})}),(0,B.jsx)(`div`,{className:`mt-8 pt-6 border-t border-gray-200 mt-auto`,children:(0,B.jsx)(`p`,{className:`text-sm text-gray-500 font-medium italic text-left`,children:`Located on the beautiful Oregon Coast, Seal Rock is renowned for its tide pools and dramatic basalt sea stacks.`})})]}),(0,B.jsx)(q.div,{initial:{opacity:0,x:30},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:`lg:col-span-1 h-full`,children:(0,B.jsx)(`div`,{className:`h-full w-full`,children:(0,B.jsx)(t6,{lat:e?.geo?.lat||44.4984,lon:e?.geo?.lng||-124.0829,townName:`Seal Rock`})})})]}),(0,B.jsx)(`div`,{className:`max-w-7xl mx-auto border-t border-gray-100 pt-16 mt-8`,children:(0,B.jsx)(Q3,{townName:`Seal Rock`,townSlug:`seal-rock`,lat:e?.geo?.lat||44.4984,lon:e?.geo?.lng||-124.0829})})]}),(0,B.jsx)(`div`,{className:`relative bg-gradient-to-b from-white to-gray-50 pt-8 pb-16`,children:(0,B.jsx)(Gj,{townName:`Seal Rock`,featuredImage:r,title:`Seal Rock in Photos`})}),(0,B.jsx)(Hj,{attractions:V7,townName:`Seal Rock`}),(0,B.jsx)(dwe,{attractions:V7}),(0,B.jsx)(fwe,{trails:cwe}),(0,B.jsx)(pwe,{hotels:lwe}),(0,B.jsx)(mwe,{restaurants:uwe})]}),(0,B.jsx)(Ux,{})]})},gwe=()=>{let[e,t]=(0,y.useState)(``),[n,r]=(0,y.useState)(``),[i,a]=(0,y.useState)(!1),[o,s]=(0,y.useState)(null),[c,l]=(0,y.useState)(`idle`),[u,d]=(0,y.useState)(``),[f,p]=(0,y.useState)(!1),{login:m,isAuthenticated:h}=Jd(),g=I(),{toast:_}=Cs();return(0,y.useEffect)(()=>{h&&g(`/admin`)},[h,g]),(0,B.jsxs)(`div`,{className:`min-h-screen bg-gray-50 flex flex-col`,children:[(0,B.jsx)(Vx,{}),(0,B.jsx)(`div`,{className:`flex-grow flex items-center justify-center px-4 py-12`,children:(0,B.jsxs)(`div`,{className:`max-w-md w-full space-y-8`,children:[(0,B.jsxs)(`div`,{className:`bg-white rounded-xl shadow-lg p-8 border border-gray-100`,children:[(0,B.jsxs)(`div`,{className:`text-center mb-8`,children:[(0,B.jsx)(`div`,{className:`bg-lime-100 w-16 h-16 rounded-full flex items-center justify-center mx-auto mb-4`,children:(0,B.jsx)(xo,{className:`w-8 h-8 text-[#2d5016]`})}),(0,B.jsx)(`h1`,{className:`text-2xl font-bold text-gray-900`,children:`Admin Access`}),(0,B.jsx)(`p`,{className:`text-gray-500 mt-2`,children:`Sign in to manage content`})]}),o&&(0,B.jsx)(`div`,{className:`mb-6 bg-red-50 border border-red-200 rounded-lg p-4`,children:(0,B.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,B.jsx)(Ba,{className:`w-5 h-5 text-red-600 flex-shrink-0 mt-0.5`}),(0,B.jsxs)(`div`,{className:`flex-1`,children:[(0,B.jsx)(`h4`,{className:`text-sm font-semibold text-red-800`,children:`Login Failed`}),(0,B.jsx)(`p`,{className:`text-sm text-red-700 mt-1`,children:o.message}),(o.code||o.hint)&&(0,B.jsxs)(`div`,{className:`mt-2 text-xs font-mono bg-red-100 p-2 rounded text-red-800 overflow-x-auto`,children:[`Code: `,o.code,(0,B.jsx)(`br`,{}),`Type: `,o.hint]})]})]})}),(0,B.jsxs)(`form`,{onSubmit:async t=>{t.preventDefault(),s(null),a(!0);try{let t=await m(e,n);t.success?(_({title:`Login Successful`,description:`Welcome back, Admin!`,className:`bg-green-50 border-green-200 text-green-900`}),g(`/admin`)):(s({message:t.error,code:t.details?.code||t.details?.status||`UNKNOWN`,hint:t.details?.name||`Auth Error`}),_({title:`Login Failed`,description:t.error,variant:`destructive`}),a(!1))}catch(e){s({message:`An unexpected client-side error occurred.`,code:`CLIENT_EXCEPTION`,hint:e.message}),a(!1)}},className:`space-y-6`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`label`,{htmlFor:`email`,className:`block text-sm font-medium text-gray-700 mb-1`,children:`Email Address`}),(0,B.jsxs)(`div`,{className:`relative`,children:[(0,B.jsx)(Co,{className:`absolute left-3 top-2.5 h-5 w-5 text-gray-400`}),(0,B.jsx)(`input`,{id:`email`,name:`email`,type:`email`,required:!0,value:e,onChange:e=>{t(e.target.value),o&&s(null)},className:`w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#2d5016] focus:border-transparent outline-none transition-all text-gray-900 bg-white`,placeholder:`[email protected]`,autoComplete:`email`})]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`label`,{htmlFor:`password`,className:`block text-sm font-medium text-gray-700 mb-1`,children:`Password`}),(0,B.jsxs)(`div`,{className:`relative`,children:[(0,B.jsx)(xo,{className:`absolute left-3 top-2.5 h-5 w-5 text-gray-400`}),(0,B.jsx)(`input`,{id:`password`,name:`password`,type:`password`,required:!0,value:n,onChange:e=>{r(e.target.value),o&&s(null)},className:`w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#2d5016] focus:border-transparent outline-none transition-all text-gray-900 bg-white`,placeholder:`••••••••`,autoComplete:`current-password`})]})]}),(0,B.jsx)(Sw,{type:`submit`,disabled:i,className:`w-full bg-[#2d5016] hover:bg-[#1a300d] text-white py-2 rounded-lg font-semibold shadow-md transition-all hover:scale-[1.02]`,children:i?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(bo,{className:`mr-2 h-4 w-4 animate-spin`}),`Authenticating...`]}):`Sign In`})]})]}),(0,B.jsxs)(`div`,{className:`space-y-4`,children:[(0,B.jsxs)(`div`,{className:`bg-gray-100 rounded-xl p-4 border border-gray-200`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between mb-3`,children:[(0,B.jsx)(`h3`,{className:`text-xs font-semibold text-gray-500 uppercase tracking-wider`,children:`System Status`}),(0,B.jsxs)(Sw,{variant:`ghost`,size:`sm`,onClick:async()=>{l(`testing`),d(`Pinging Supabase Auth Service...`);try{let e=Date.now(),{data:t,error:n}=await Kd.auth.getSession(),r=Date.now()-e;n?(l(`error`),d(`Connection Failed (${r}ms): ${n.message}`)):(l(`success`),d(`Connected successfully (${r}ms). Service is reachable.`))}catch(e){l(`error`),d(`Network Exception: ${e.message}`)}},className:`h-6 text-xs text-gray-600 hover:text-gray-900`,disabled:c===`testing`,children:[c===`testing`?(0,B.jsx)(bo,{className:`w-3 h-3 animate-spin`}):(0,B.jsx)(Io,{className:`w-3 h-3 mr-1`}),` Test Connection`]})]}),(0,B.jsx)(`div`,{className:`text-xs p-2 rounded border ${c===`success`?`bg-green-50 border-green-200 text-green-700`:c===`error`?`bg-red-50 border-red-200 text-red-700`:`bg-white border-gray-200 text-gray-500`}`,children:(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[c===`success`?(0,B.jsx)(as,{className:`w-3 h-3`}):c===`error`?(0,B.jsx)(is,{className:`w-3 h-3`}):(0,B.jsx)(`div`,{className:`w-2 h-2 rounded-full bg-gray-300`}),(0,B.jsx)(`span`,{children:u||`Click 'Test Connection' to verify database reachability.`})]})})]}),(0,B.jsxs)(`div`,{className:`bg-blue-50 rounded-xl p-4 border border-blue-100`,children:[(0,B.jsx)(`div`,{className:`flex items-center justify-between mb-2`,children:(0,B.jsxs)(`h3`,{className:`text-xs font-semibold text-blue-800 uppercase tracking-wider flex items-center gap-1`,children:[(0,B.jsx)(Ho,{className:`w-3 h-3`}),` Admin Recovery`]})}),(0,B.jsx)(`p`,{className:`text-xs text-blue-600 mb-3`,children:`Can't login? Reset the default admin account.`}),(0,B.jsx)(Sw,{variant:`outline`,size:`sm`,onClick:async()=>{p(!0);try{let{data:e,error:n}=await Kd.functions.invoke(`reset-admin-user`);if(n)throw n;if(e.success)_({title:`Admin User ${e.action===`created`?`Created`:`Reset`}`,description:`User ID: ${e.userId}. Password reset to "password".`,className:`bg-blue-50 border-blue-200 text-blue-900`}),t(`[email protected]`),r(`password`);else throw Error(e.error||`Unknown error in edge function`)}catch(e){_({title:`Reset Failed`,description:e.message,variant:`destructive`})}finally{p(!1)}},disabled:f,className:`w-full h-8 text-xs border-blue-200 text-blue-700 hover:bg-blue-100 hover:text-blue-800`,children:f?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(bo,{className:`w-3 h-3 animate-spin mr-2`}),`Resetting User...`]}):`Reset User ([email protected])`})]})]})]})})]})},_we=({townName:e,onUploadComplete:t})=>{let{isAuthenticated:n}=Jd(),[r,i]=(0,y.useState)([]),[a,o]=(0,y.useState)(!1),[s,c]=(0,y.useState)(0),l=(0,y.useRef)(null),{toast:u}=Cs(),d=e=>{e.preventDefault(),e.stopPropagation()},f=e=>{e.preventDefault(),e.stopPropagation(),!a&&e.dataTransfer.files&&e.dataTransfer.files.length>0&&m(e.dataTransfer.files)},p=e=>{e.target.files&&e.target.files.length>0&&m(e.target.files),l.current&&(l.current.value=``)},m=e=>{let t=Array.from(e).filter(e=>{let t=e.type.startsWith(`image/`),n=e.size<=10485760;return t&&n}).map(e=>({file:e,id:Math.random().toString(36).substr(2,9),preview:URL.createObjectURL(e),status:`pending`,errorMessage:``}));t.length===0?u({title:`Invalid Files`,description:`Please select valid images (Max 10MB).`,variant:`destructive`}):i(e=>[...e,...t])},h=e=>{a||i(t=>t.filter(t=>t.id!==e))},g=()=>{a||(i([]),c(0))},_=async()=>{if(!e){u({title:`Error`,description:`No town selected.`,variant:`destructive`});return}let{data:{session:n},error:a}=await Kd.auth.getSession();if(!n||a){u({title:`Authentication Error`,description:`You must be logged in to upload photos.`,variant:`destructive`});return}let s=r.filter(e=>e.status===`pending`||e.status===`error`);if(s.length===0)return;o(!0),c(0);let l=0,d=0,f=s.length;for(let t of s){v(t.id,`uploading`);try{let n=t.file.name.split(`.`).pop(),r=`${e.toLowerCase().replace(/[^a-z0-9]/g,`-`)}-${Math.random().toString(36).substring(2,10)}.${n}`,{error:i}=await Kd.storage.from(`town-images`).upload(r,t.file,{cacheControl:`3600`,upsert:!1});if(i)throw Error(`Upload failed: ${i.message}`);let{data:{publicUrl:a}}=Kd.storage.from(`town-images`).getPublicUrl(r);v(t.id,`optimizing`);let o=a,s=null,c=null,u=null;try{let{data:e,error:t}=await Kd.functions.invoke(`optimize-image`,{body:{imageUrl:a,fileName:r}});t?console.warn(`Optimization warning (non-fatal):`,t):e?.success&&(o=e.optimizedUrl,s=e.thumbnailUrl,c=e.originalSize,u=e.optimizedSize)}catch(e){console.error(`Optimization fetch error:`,e)}let{error:d}=await Kd.from(`town_photos`).insert([{town_name:e,image_url:o,thumbnail_url:s||o,original_size:c,optimized_size:u,caption:t.file.name.split(`.`)[0]}]);if(d)throw d;v(t.id,`success`),l++}catch(e){console.error(`Error uploading ${t.file.name}:`,e),v(t.id,`error`,e.message)}d++,c(Math.round(d/f*100))}o(!1),l>0&&(u({title:`Upload Complete`,description:`Successfully uploaded ${l} photos for ${e}.`,className:`bg-green-50 border-green-200 text-green-900`}),t&&(console.log(`Triggering onUploadComplete`),t()),setTimeout(()=>{i(e=>e.filter(e=>e.status!==`success`)),c(0)},2e3))},v=(e,t,n=``)=>{i(r=>r.map(r=>r.id===e?{...r,status:t,errorMessage:n}:r))};return!n&&!a?(0,B.jsxs)(`div`,{className:`bg-amber-50 p-6 rounded-xl border border-amber-200 text-center`,children:[(0,B.jsx)(Vo,{className:`w-8 h-8 text-amber-600 mx-auto mb-2`}),(0,B.jsx)(`h3`,{className:`font-semibold text-amber-800`,children:`Authentication Required`}),(0,B.jsx)(`p`,{className:`text-sm text-amber-700 mt-1`,children:`You must be logged in as an admin to upload photos.`})]}):(0,B.jsxs)(`div`,{className:`bg-white p-6 rounded-xl border border-gray-200 shadow-sm`,children:[(0,B.jsx)(`div`,{className:`flex justify-between items-center mb-4`,children:(0,B.jsxs)(`h3`,{className:`text-lg font-semibold text-gray-800 flex items-center gap-2`,children:[(0,B.jsx)($o,{className:`w-5 h-5 text-[#2d5016]`}),`Upload Photos for `,e]})}),(0,B.jsxs)(`div`,{className:`border-2 border-dashed rounded-lg p-8 text-center transition-all cursor-pointer relative
          ${e?`hover:bg-gray-50`:`opacity-50 pointer-events-none bg-gray-50`}
          ${a?`opacity-70 pointer-events-none`:``}`,onDragOver:d,onDrop:f,onClick:()=>!a&&e&&l.current?.click(),children:[(0,B.jsx)(`input`,{type:`file`,ref:l,className:`hidden`,multiple:!0,accept:`image/*`,onChange:p}),(0,B.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2`,children:[(0,B.jsx)(`div`,{className:`bg-gray-100 p-3 rounded-full text-gray-500`,children:a?(0,B.jsx)(bo,{className:`w-6 h-6 animate-spin`}):(0,B.jsx)(fo,{className:`w-6 h-6`})}),(0,B.jsx)(`p`,{className:`text-sm font-medium text-gray-700`,children:a?`Uploading in progress...`:`Click to select or drag photos here`}),!a&&(0,B.jsx)(`p`,{className:`text-xs text-gray-500`,children:`Max 10MB per file • Optimized automatically`})]})]}),r.length>0&&(0,B.jsxs)(`div`,{className:`mt-6 space-y-4`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-center border-b border-gray-100 pb-2`,children:[(0,B.jsxs)(`span`,{className:`text-sm font-medium text-gray-700`,children:[`Queue (`,r.length,`)`]}),!a&&(0,B.jsx)(`button`,{onClick:g,className:`text-xs text-red-500 hover:text-red-700`,children:`Clear all`})]}),(0,B.jsx)(`div`,{className:`max-h-60 overflow-y-auto space-y-2 pr-1`,children:r.map(e=>(0,B.jsxs)(`div`,{className:`flex items-center gap-3 bg-gray-50 p-2 rounded border border-gray-200`,children:[(0,B.jsx)(`div`,{className:`w-10 h-10 rounded overflow-hidden flex-shrink-0 bg-gray-200`,children:(0,B.jsx)(`img`,{src:e.preview,alt:``,className:`w-full h-full object-cover`})}),(0,B.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,B.jsx)(`p`,{className:`text-sm text-gray-700 truncate`,children:e.file.name}),(0,B.jsxs)(`p`,{className:`text-xs flex items-center gap-1`,children:[e.status===`pending`&&(0,B.jsx)(`span`,{className:`text-gray-500`,children:`Ready`}),e.status===`uploading`&&(0,B.jsxs)(`span`,{className:`text-blue-600 flex items-center gap-1`,children:[(0,B.jsx)(bo,{className:`w-3 h-3 animate-spin`}),` Uploading...`]}),e.status===`optimizing`&&(0,B.jsxs)(`span`,{className:`text-purple-600 flex items-center gap-1`,children:[(0,B.jsx)(Wo,{className:`w-3 h-3 animate-pulse`}),` Optimizing...`]}),e.status===`success`&&(0,B.jsxs)(`span`,{className:`text-green-600 flex items-center gap-1`,children:[(0,B.jsx)(Fa,{className:`w-3 h-3`}),` Done`]}),e.status===`error`&&(0,B.jsxs)(`span`,{className:`text-red-600 flex items-center gap-1`,children:[(0,B.jsx)(Ba,{className:`w-3 h-3`}),` Failed`]})]})]}),e.status===`pending`&&!a&&(0,B.jsx)(`button`,{onClick:()=>h(e.id),className:`text-gray-400 hover:text-red-500`,children:(0,B.jsx)(ls,{className:`w-4 h-4`})})]},e.id))}),r.some(e=>e.status===`pending`||e.status===`error`)&&(0,B.jsx)(Sw,{onClick:_,disabled:a||!e,className:`w-full bg-[#2d5016] hover:bg-[#1a300d] transition-all`,children:a?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(bo,{className:`w-4 h-4 mr-2 animate-spin`}),`Processing `,s,`%`]}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)($o,{className:`w-4 h-4 mr-2`}),`Start Upload`]})})]})]})},H7=`focusScope.autoFocusOnMount`,U7=`focusScope.autoFocusOnUnmount`,W7={bubbles:!1,cancelable:!0},vwe=`FocusScope`,G7=y.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=y.useState(null),l=Rr(i),u=Rr(a),d=y.useRef(null),f=wr(t,e=>c(e)),p=y.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;y.useEffect(()=>{if(r){let e=function(e){if(p.paused||!s)return;let t=e.target;s.contains(t)?d.current=t:J7(d.current,{select:!0})},t=function(e){if(p.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||J7(d.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&J7(s)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,p.paused]),y.useEffect(()=>{if(s){Y7.add(p);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(H7,W7);s.addEventListener(H7,l),s.dispatchEvent(t),t.defaultPrevented||(ywe(wwe(K7(s)),{select:!0}),document.activeElement===e&&J7(s))}return()=>{s.removeEventListener(H7,l),setTimeout(()=>{let t=new CustomEvent(U7,W7);s.addEventListener(U7,u),s.dispatchEvent(t),t.defaultPrevented||J7(e??document.body,{select:!0}),s.removeEventListener(U7,u),Y7.remove(p)},0)}}},[s,l,u,p]);let m=y.useCallback(e=>{if(!n&&!r||p.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=bwe(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&J7(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&J7(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,p.paused]);return(0,B.jsx)(Ir.div,{tabIndex:-1,...o,ref:f,onKeyDown:m})});G7.displayName=vwe;function ywe(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(J7(r,{select:t}),document.activeElement!==n)return}function bwe(e){let t=K7(e);return[q7(t,e),q7(t.reverse(),e)]}function K7(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function q7(e,t){for(let n of e)if(!xwe(n,{upTo:t}))return n}function xwe(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function Swe(e){return e instanceof HTMLInputElement&&`select`in e}function J7(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Swe(e)&&t&&e.select()}}var Y7=Cwe();function Cwe(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=X7(e,t),e.unshift(t)},remove(t){e=X7(e,t),e[0]?.resume()}}}function X7(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function wwe(e){return e.filter(e=>e.tagName!==`A`)}var Z7=0;function Twe(){y.useEffect(()=>{let e=document.querySelectorAll(`[data-radix-focus-guard]`);return document.body.insertAdjacentElement(`afterbegin`,e[0]??Q7()),document.body.insertAdjacentElement(`beforeend`,e[1]??Q7()),Z7++,()=>{Z7===1&&document.querySelectorAll(`[data-radix-focus-guard]`).forEach(e=>e.remove()),Z7--}},[])}function Q7(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var $7=`Dialog`,[e9,t9]=Dr($7),[Ewe,n9]=e9($7),r9=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=y.useRef(null),c=y.useRef(null),[l=!1,u]=li({prop:r,defaultProp:i,onChange:a});return(0,B.jsx)(Ewe,{scope:t,triggerRef:s,contentRef:c,contentId:IC(),titleId:IC(),descriptionId:IC(),open:l,onOpenChange:u,onOpenToggle:y.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})};r9.displayName=$7;var i9=`DialogTrigger`,a9=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=n9(i9,n),a=wr(t,i.triggerRef);return(0,B.jsx)(Ir.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.contentId,"data-state":b9(i.open),...r,ref:a,onClick:xr(e.onClick,i.onOpenToggle)})});a9.displayName=i9;var o9=`DialogPortal`,[Dwe,s9]=e9(o9,{forceMount:void 0}),c9=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=n9(o9,t);return(0,B.jsx)(Dwe,{scope:t,forceMount:n,children:y.Children.map(r,e=>(0,B.jsx)(ai,{present:n||a.open,children:(0,B.jsx)(ri,{asChild:!0,container:i,children:e})}))})};c9.displayName=o9;var l9=`DialogOverlay`,u9=y.forwardRef((e,t)=>{let n=s9(l9,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=n9(l9,e.__scopeDialog);return a.modal?(0,B.jsx)(ai,{present:r||a.open,children:(0,B.jsx)(Owe,{...i,ref:t})}):null});u9.displayName=l9;var Owe=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=n9(l9,n);return(0,B.jsx)(kk,{as:kr,allowPinchZoom:!0,shards:[i.contentRef],children:(0,B.jsx)(Ir.div,{"data-state":b9(i.open),...r,ref:t,style:{pointerEvents:`auto`,...r.style}})})}),d9=`DialogContent`,f9=y.forwardRef((e,t)=>{let n=s9(d9,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=n9(d9,e.__scopeDialog);return(0,B.jsx)(ai,{present:r||a.open,children:a.modal?(0,B.jsx)(kwe,{...i,ref:t}):(0,B.jsx)(Awe,{...i,ref:t})})});f9.displayName=d9;var kwe=y.forwardRef((e,t)=>{let n=n9(d9,e.__scopeDialog),r=y.useRef(null),i=wr(t,n.contentRef,r);return y.useEffect(()=>{let e=r.current;if(e)return wO(e)},[]),(0,B.jsx)(p9,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:xr(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:xr(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:xr(e.onFocusOutside,e=>e.preventDefault())})}),Awe=y.forwardRef((e,t)=>{let n=n9(d9,e.__scopeDialog),r=y.useRef(!1),i=y.useRef(!1);return(0,B.jsx)(p9,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),p9=y.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=n9(d9,n),c=y.useRef(null),l=wr(t,c);return Twe(),(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(G7,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,B.jsx)(Kr,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":b9(s.open),...o,ref:l,onDismiss:()=>s.onOpenChange(!1)})}),(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(Mwe,{titleId:s.titleId}),(0,B.jsx)(Pwe,{contentRef:c,descriptionId:s.descriptionId})]})]})}),m9=`DialogTitle`,h9=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=n9(m9,n);return(0,B.jsx)(Ir.h2,{id:i.titleId,...r,ref:t})});h9.displayName=m9;var g9=`DialogDescription`,_9=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=n9(g9,n);return(0,B.jsx)(Ir.p,{id:i.descriptionId,...r,ref:t})});_9.displayName=g9;var v9=`DialogClose`,y9=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=n9(v9,n);return(0,B.jsx)(Ir.button,{type:`button`,...r,ref:t,onClick:xr(e.onClick,()=>i.onOpenChange(!1))})});y9.displayName=v9;function b9(e){return e?`open`:`closed`}var x9=`DialogTitleWarning`,[jwe,S9]=Er(x9,{contentName:d9,titleName:m9,docsSlug:`dialog`}),Mwe=({titleId:e})=>{let t=S9(x9),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.

If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.

For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return y.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},Nwe=`DialogDescriptionWarning`,Pwe=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${S9(Nwe).contentName}}.`;return y.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},Fwe=r9,Iwe=a9,Lwe=c9,Rwe=u9,zwe=f9,Bwe=h9,Vwe=_9,C9=y9,w9=`AlertDialog`,[Hwe,Uwe]=Dr(w9,[t9]),T9=t9(),E9=e=>{let{__scopeAlertDialog:t,...n}=e,r=T9(t);return(0,B.jsx)(Fwe,{...r,...n,modal:!0})};E9.displayName=w9;var Wwe=`AlertDialogTrigger`,D9=y.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=T9(n);return(0,B.jsx)(Iwe,{...i,...r,ref:t})});D9.displayName=Wwe;var Gwe=`AlertDialogPortal`,O9=e=>{let{__scopeAlertDialog:t,...n}=e,r=T9(t);return(0,B.jsx)(Lwe,{...r,...n})};O9.displayName=Gwe;var Kwe=`AlertDialogOverlay`,k9=y.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=T9(n);return(0,B.jsx)(Rwe,{...i,...r,ref:t})});k9.displayName=Kwe;var A9=`AlertDialogContent`,[qwe,Jwe]=Hwe(A9),j9=y.forwardRef((e,t)=>{let{__scopeAlertDialog:n,children:r,...i}=e,a=T9(n),o=y.useRef(null),s=wr(t,o),c=y.useRef(null);return(0,B.jsx)(jwe,{contentName:A9,titleName:M9,docsSlug:`alert-dialog`,children:(0,B.jsx)(qwe,{scope:n,cancelRef:c,children:(0,B.jsxs)(zwe,{role:`alertdialog`,...a,...i,ref:s,onOpenAutoFocus:xr(i.onOpenAutoFocus,e=>{e.preventDefault(),c.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,B.jsx)(jr,{children:r}),(0,B.jsx)(Xwe,{contentRef:o})]})})})});j9.displayName=A9;var M9=`AlertDialogTitle`,N9=y.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=T9(n);return(0,B.jsx)(Bwe,{...i,...r,ref:t})});N9.displayName=M9;var P9=`AlertDialogDescription`,F9=y.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=T9(n);return(0,B.jsx)(Vwe,{...i,...r,ref:t})});F9.displayName=P9;var Ywe=`AlertDialogAction`,I9=y.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=T9(n);return(0,B.jsx)(C9,{...i,...r,ref:t})});I9.displayName=Ywe;var L9=`AlertDialogCancel`,R9=y.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,{cancelRef:i}=Jwe(L9,n),a=T9(n),o=wr(t,i);return(0,B.jsx)(C9,{...a,...r,ref:o})});R9.displayName=L9;var Xwe=({contentRef:e})=>{let t=`\`${A9}\` requires a description for the component to be accessible for screen reader users.

You can add a description to the \`${A9}\` by passing a \`${P9}\` component as a child, which also benefits sighted users by adding visible context to the dialog.

Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${A9}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.

For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return y.useEffect(()=>{document.getElementById(e.current?.getAttribute(`aria-describedby`))||console.warn(t)},[t,e]),null},Zwe=E9,Qwe=D9,$we=O9,z9=k9,B9=j9,V9=I9,H9=R9,U9=N9,W9=F9,eTe=Zwe,tTe=Qwe,nTe=$we,G9=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(z9,{className:z(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t,ref:n}));G9.displayName=z9.displayName;var K9=y.forwardRef(({className:e,...t},n)=>(0,B.jsxs)(nTe,{children:[(0,B.jsx)(G9,{}),(0,B.jsx)(B9,{ref:n,className:z(`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg`,e),...t})]}));K9.displayName=B9.displayName;var q9=({className:e,...t})=>(0,B.jsx)(`div`,{className:z(`flex flex-col space-y-2 text-center sm:text-left`,e),...t});q9.displayName=`AlertDialogHeader`;var J9=({className:e,...t})=>(0,B.jsx)(`div`,{className:z(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,e),...t});J9.displayName=`AlertDialogFooter`;var Y9=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(U9,{ref:n,className:z(`text-lg font-semibold`,e),...t}));Y9.displayName=U9.displayName;var X9=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(W9,{ref:n,className:z(`text-sm text-muted-foreground`,e),...t}));X9.displayName=W9.displayName;var Z9=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(V9,{ref:n,className:z(`inline-flex h-10 items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground ring-offset-background transition-colors hover:bg-primary/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50`,e),...t}));Z9.displayName=V9.displayName;var Q9=y.forwardRef(({className:e,...t},n)=>(0,B.jsx)(H9,{ref:n,className:z(`inline-flex h-10 items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium ring-offset-background transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50`,e),...t}));Q9.displayName=H9.displayName;var rTe=({townName:e,refreshTrigger:t})=>{let[n,r]=(0,y.useState)([]),[i,a]=(0,y.useState)(!1),[o,s]=(0,y.useState)(null),[c,l]=(0,y.useState)(null),{toast:u}=Cs();(0,y.useEffect)(()=>{e?d():r([])},[e,t]);let d=async()=>{a(!0),s(null),console.log(`[Grid] Fetching photos for: ${e}`);try{let{data:t,error:n}=await Kd.from(`town_photos`).select(`*`).eq(`town_name`,e).order(`created_at`,{ascending:!1});if(n)throw n;console.log(`[Grid] Fetched ${t.length} photos`),r(t||[])}catch(e){console.error(`[Grid] Error fetching photos:`,e),s(`Failed to load photos. Please try again.`)}finally{a(!1)}},f=async e=>{l(e.id);try{if(e.image_url)try{let t=e.image_url.split(`/`),n=t[t.length-1],{error:r}=await Kd.storage.from(`town-images`).remove([n]);r&&console.warn(`[Grid] Storage delete warning:`,r)}catch(e){console.warn(`[Grid] Failed to parse filename for storage deletion`,e)}let{error:t}=await Kd.from(`town_photos`).delete().eq(`id`,e.id);if(t)throw t;r(t=>t.filter(t=>t.id!==e.id)),u({title:`Photo deleted`,description:`The photo has been removed successfully.`})}catch(e){console.error(`[Grid] Delete error:`,e),u({title:`Delete failed`,description:`Could not delete the photo. Please try again.`,variant:`destructive`})}finally{l(null)}};return e?i?(0,B.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-64`,children:[(0,B.jsx)(bo,{className:`w-8 h-8 text-[#2d5016] animate-spin mb-2`}),(0,B.jsxs)(`p`,{className:`text-gray-500`,children:[`Loading photos for `,e,`...`]})]}):o?(0,B.jsxs)(`div`,{className:`bg-red-50 p-4 rounded-lg flex items-center gap-3 text-red-700`,children:[(0,B.jsx)(Ba,{className:`w-5 h-5 shrink-0`}),(0,B.jsx)(`p`,{children:o}),(0,B.jsx)(Sw,{variant:`outline`,size:`sm`,onClick:d,className:`ml-auto border-red-200 hover:bg-red-100`,children:`Retry`})]}):n.length===0?(0,B.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-64 bg-gray-50 rounded-lg border border-gray-200`,children:[(0,B.jsx)(uo,{className:`w-10 h-10 text-gray-300 mb-3`}),(0,B.jsxs)(`p`,{className:`text-gray-500 font-medium`,children:[`No photos found for `,e]}),(0,B.jsx)(`p`,{className:`text-gray-400 text-sm mt-1`,children:`Upload some photos to get started!`})]}):(0,B.jsxs)(`div`,{children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-center mb-4`,children:[(0,B.jsxs)(`span`,{className:`text-sm text-gray-500`,children:[`Showing `,n.length,` photo`,n.length!==1&&`s`]}),(0,B.jsxs)(Sw,{variant:`ghost`,size:`sm`,onClick:d,className:`h-8 text-gray-500 hover:text-gray-900`,children:[(0,B.jsx)(Io,{className:`w-3 h-3 mr-2`}),`Refresh`]})]}),(0,B.jsx)(`div`,{className:`grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4`,children:n.map(e=>(0,B.jsxs)(`div`,{className:`group relative bg-white border border-gray-200 rounded-lg overflow-hidden shadow-sm hover:shadow-md transition-shadow`,children:[(0,B.jsxs)(`div`,{className:`aspect-square bg-gray-100 relative`,children:[(0,B.jsx)(`img`,{src:e.thumbnail_url||e.image_url,alt:e.caption||`Town photo`,className:`w-full h-full object-cover`,loading:`lazy`,onError:e=>{e.target.onerror=null,e.target.src=`https://placehold.co/400x400?text=Image+Error`}}),(0,B.jsx)(`div`,{className:`absolute inset-0 bg-black/0 group-hover:bg-black/10 transition-colors`})]}),(0,B.jsxs)(`div`,{className:`p-3`,children:[(0,B.jsx)(`p`,{className:`text-xs text-gray-500 truncate mb-2`,title:e.caption,children:e.caption||`No caption`}),(0,B.jsxs)(eTe,{children:[(0,B.jsx)(tTe,{asChild:!0,children:(0,B.jsx)(Sw,{variant:`destructive`,size:`sm`,className:`w-full h-8 text-xs bg-white text-red-600 border border-red-200 hover:bg-red-50 hover:text-red-700 shadow-none`,disabled:c===e.id,children:c===e.id?(0,B.jsx)(bo,{className:`w-3 h-3 animate-spin`}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(Jo,{className:`w-3 h-3 mr-1.5`}),`Delete`]})})}),(0,B.jsxs)(K9,{children:[(0,B.jsxs)(q9,{children:[(0,B.jsx)(Y9,{children:`Delete this photo?`}),(0,B.jsx)(X9,{children:`This action cannot be undone. This will permanently remove the photo from the gallery.`})]}),(0,B.jsxs)(J9,{children:[(0,B.jsx)(Q9,{children:`Cancel`}),(0,B.jsx)(Z9,{onClick:()=>f(e),className:`bg-red-600 hover:bg-red-700 text-white`,children:`Delete Photo`})]})]})]})]})]},e.id))})]}):(0,B.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-64 bg-gray-50 rounded-lg border-2 border-dashed border-gray-200 text-gray-400`,children:[(0,B.jsx)(uo,{className:`w-12 h-12 mb-3 opacity-50`}),(0,B.jsx)(`p`,{children:`Select a town to manage photos`})]})},$9=async(e=`Astoria`)=>{console.group(`🔍 [Tide Debugger] Executing full trace for: ${e}`);let t={townName:e,stationPath:null,apiResponse:null,parsedData:null,timezoneNote:`Checking for 45-60 min offset (Lunar Day Shift vs Timezone Shift)`,errors:[],success:!1};try{let n=tN(e);if(t.stationPath=n,console.log(`[Step 1] Resolved Mapping -> Path: ${n}`),!n)throw Error(`Station path resolution failed.`);console.log(`[Step 2] Fetching from Edge Function...`);let r=performance.now(),i=await l6(n),a=(performance.now()-r).toFixed(2);t.apiResponse={source:i.source,timestamp:i.timestamp,durationMs:a},console.log(`[Step 2] Response received in ${a}ms. Source: ${i.source}`),i.error&&(t.errors.push(`API returned error: ${i.error}`),console.warn(`[Step 3] Error in response:`,i.error)),i.tides&&i.tides.length>0?(t.parsedData=i.tides,t.success=!0,console.log(`[Step 3] Raw tide data received:`,JSON.stringify(i.tides,null,2)),console.log(`[Analysis] If the times displayed below are consistently 45-60 minutes AHEAD or BEHIND actual local time, this is a LUNAR DAY SHIFT, meaning the HTML scraper is grabbing yesterday's or tomorrow's data table.`)):(t.errors.push(`No tide records parsed or returned empty.`),console.warn(`[Step 3] ⚠️ No tide records parsed.`))}catch(e){console.error(`❌ Critical failure in debugger:`,e),t.errors.push(e.message)}finally{console.groupEnd()}return t};typeof window<`u`&&(window.testTideDebugFlow=$9);var iTe=async()=>{let e=[`Astoria`,`Newport`,`Bandon`,`Coos Bay`,`Lincoln City`];console.group(`⏱️ [Time Verification] Auditing Multiple Towns`);let t=[];for(let n of e){console.log(`Testing ${n}...`);try{let e=await $9(n);t.push({town:n,success:e.success,path:e.stationPath,sampleData:e.parsedData?e.parsedData.slice(0,2):null,errors:e.errors})}catch(e){t.push({town:n,success:!1,errors:[e.message]})}}return console.log(`[Time Verification] Final Report:`,t),console.groupEnd(),t},aTe=()=>{let[e,t]=(0,y.useState)(!1),[n,r]=(0,y.useState)(null),[i,a]=(0,y.useState)(null),{toast:o}=vf();return(0,B.jsxs)(`div`,{className:`bg-white p-6 rounded-xl border border-gray-200 shadow-sm space-y-6`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between items-start md:items-center border-b border-gray-100 pb-4 gap-4`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsxs)(`h2`,{className:`text-xl font-bold text-gray-800 flex items-center gap-2`,children:[(0,B.jsx)(ha,{className:`w-5 h-5 text-indigo-500`}),` Tide Time & Offset Diagnostic`]}),(0,B.jsx)(`p`,{className:`text-sm text-gray-500 mt-1`,children:`Investigate 45-60 min offset issues`})]}),(0,B.jsxs)(`div`,{className:`flex gap-2`,children:[(0,B.jsxs)(Sw,{onClick:async()=>{t(!0),o({title:`Running Diagnostics`,description:`Testing Astoria configuration...`});try{let e=await $9(`Astoria`);r(e),o({title:`Diagnostics Complete`,description:`See results below.`})}catch(e){o({title:`Diagnostic Failed`,description:e.message,variant:`destructive`})}t(!1)},disabled:e,variant:`outline`,size:`sm`,className:`gap-2`,children:[(0,B.jsx)(Fo,{className:`w-4 h-4 ${e?`animate-spin`:``}`}),` Run Astoria Test`]}),(0,B.jsx)(Sw,{onClick:async()=>{t(!0),o({title:`Verifying Multiple Towns`,description:`Testing across the coast...`});try{let e=await iTe();a(e),o({title:`Verification Complete`,description:`Multi-town data fetched.`})}catch(e){o({title:`Verification Failed`,description:e.message,variant:`destructive`})}t(!1)},disabled:e,variant:`secondary`,size:`sm`,className:`gap-2`,children:`Verify All Towns`})]})]}),n&&(0,B.jsxs)(`div`,{className:`space-y-4`,children:[(0,B.jsx)(`h3`,{className:`font-semibold text-lg border-b pb-2`,children:`Astoria Report`}),(0,B.jsxs)(`div`,{className:`grid grid-cols-2 gap-4 text-sm`,children:[(0,B.jsxs)(`div`,{className:`p-3 bg-gray-50 rounded-lg border border-gray-100`,children:[(0,B.jsx)(`span`,{className:`text-gray-500 block mb-1`,children:`Status`}),n.success?(0,B.jsxs)(`span`,{className:`text-green-600 font-medium flex items-center`,children:[(0,B.jsx)(Ua,{className:`w-4 h-4 mr-1`}),` Success`]}):(0,B.jsxs)(`span`,{className:`text-red-600 font-medium flex items-center`,children:[(0,B.jsx)(Wa,{className:`w-4 h-4 mr-1`}),` Failed`]})]}),(0,B.jsxs)(`div`,{className:`p-3 bg-gray-50 rounded-lg border border-gray-100`,children:[(0,B.jsx)(`span`,{className:`text-gray-500 block mb-1`,children:`Station Path`}),(0,B.jsx)(`span`,{className:`font-mono text-xs`,children:n.stationPath})]})]}),(0,B.jsxs)(`div`,{className:`bg-slate-900 text-green-400 p-4 rounded-lg overflow-x-auto text-xs font-mono`,children:[(0,B.jsx)(`p`,{className:`text-white mb-2`,children:`// Raw Parsed Output (Look at times carefully):`}),(0,B.jsx)(`pre`,{children:JSON.stringify(n.parsedData,null,2)})]}),n.errors?.length>0&&(0,B.jsxs)(`div`,{className:`bg-red-50 p-4 rounded-lg text-sm text-red-700`,children:[(0,B.jsx)(`strong`,{children:`Errors:`}),(0,B.jsx)(`ul`,{className:`list-disc pl-5 mt-2`,children:n.errors.map((e,t)=>(0,B.jsx)(`li`,{children:e},t))})]})]}),i&&(0,B.jsxs)(`div`,{className:`space-y-4`,children:[(0,B.jsx)(`h3`,{className:`font-semibold text-lg border-b pb-2`,children:`Multi-Town Verification`}),(0,B.jsx)(`div`,{className:`overflow-x-auto`,children:(0,B.jsxs)(`table`,{className:`w-full text-sm text-left`,children:[(0,B.jsx)(`thead`,{className:`bg-gray-50 text-gray-500 uppercase`,children:(0,B.jsxs)(`tr`,{children:[(0,B.jsx)(`th`,{className:`px-4 py-2`,children:`Town`}),(0,B.jsx)(`th`,{className:`px-4 py-2`,children:`Status`}),(0,B.jsx)(`th`,{className:`px-4 py-2`,children:`First Tide Time`})]})}),(0,B.jsx)(`tbody`,{children:i.map((e,t)=>(0,B.jsxs)(`tr`,{className:`border-b`,children:[(0,B.jsx)(`td`,{className:`px-4 py-2 font-medium`,children:e.town}),(0,B.jsx)(`td`,{className:`px-4 py-2`,children:e.success?(0,B.jsx)(`span`,{className:`text-green-600`,children:`Valid`}):(0,B.jsx)(`span`,{className:`text-red-600`,children:`Error`})}),(0,B.jsx)(`td`,{className:`px-4 py-2 font-mono`,children:e.sampleData?.[0]?.time||`N/A`})]},t))})]})})]}),!n&&!i&&(0,B.jsx)(`div`,{className:`py-8 text-center text-gray-500 border-2 border-dashed border-gray-100 rounded-xl`,children:`Click a button above to run diagnostics and identify timezone/parsing offsets.`})]})},oTe=async()=>{let e=`Waldport is a charming waterfront town nestled along Alsea Bay, offering visitors a quintessential Oregon coast experience. Known for its scenic beauty, excellent fishing opportunities, and artistic community, Waldport combines small-town charm with access to stunning natural attractions. The town serves as a gateway to the Alsea River and features beautiful beaches, hiking trails, and a thriving local culture.`;try{let{data:t,error:n}=await Kd.from(`town_descriptions`).select(`id`).eq(`town_name`,`Waldport`).maybeSingle();if(n)return console.error(`Error fetching Waldport description:`,n.message),{success:!1,error:n.message};if(t){let{error:n}=await Kd.from(`town_descriptions`).update({description:e}).eq(`id`,t.id);return n?(console.error(`Error updating Waldport description:`,n.message),{success:!1,error:n.message}):(console.log(`Successfully updated Waldport description.`),{success:!0,message:`Waldport description updated successfully!`})}{let{error:t}=await Kd.from(`town_descriptions`).insert([{town_name:`Waldport`,description:e}]);return t?(console.error(`Error inserting Waldport description:`,t.message),{success:!1,error:t.message}):(console.log(`Successfully inserted new Waldport description.`),{success:!0,message:`New Waldport description created successfully!`})}}catch(e){return console.error(`Unexpected error updating Waldport description:`,e),{success:!1,error:e.message}}},sTe=[`Astoria`,`Newport`,`Florence`,`Coos Bay`,`Lincoln City`,`Tillamook`,`Gold Beach`],cTe=async()=>{console.group(`🌊 [Tide Data Verification] Starting Diagnostics...`);let e=[];for(let t of sTe)try{let n=tN(t);console.log(`Testing ${t} (Path: ${n})...`);let r=await l6(n),i=r.source.includes(`live`)||r.source.includes(`cached`),a=r.tides&&r.tides.length>0,o={town:t,path:n,source:r.source,isLive:i,success:i&&a,recordCount:r.tides?.length||0,error:r.error||null,timestamp:r.timestamp};e.push(o),o.success?console.log(`✅ ${t}: Success (${o.source})`):console.warn(`⚠️ ${t}: Failed/Fallback (${o.source}) - Error: ${o.error}`)}catch(n){console.error(`❌ ${t}: Critical Error -`,n.message),e.push({town:t,success:!1,isLive:!1,error:n.message,source:`error`})}return console.table(e),console.groupEnd(),e},lTe=()=>{let{logout:e}=Jd(),t=I(),{toast:n}=vf(),[r,i]=(0,y.useState)(``),[a,o]=(0,y.useState)(0),[s,c]=(0,y.useState)(!1),[l,u]=(0,y.useState)([]),[d,f]=(0,y.useState)(!1);(0,y.useEffect)(()=>{g()},[]);let p=()=>{e(),t(`/admin/login`)},m=()=>{o(e=>e+1)},h=async()=>{c(!0),n({title:`Running update...`,description:`Updating the Waldport town description.`});let e=await oTe();e.success?n({title:`Success!`,description:`Waldport description updated successfully.`}):n({title:`Update Failed`,description:e.error,variant:`destructive`}),c(!1)},g=async()=>{f(!0),n({title:`Verifying Tide Sources`,description:`Testing connections to tides.net via Edge Function...`});let e=await cTe();u(e),n({title:`Verification Complete`,description:`Tide source status updated.`}),f(!1)},_=Object.entries(Y).sort(([,e],[,t])=>e.name.localeCompare(t.name));return(0,B.jsxs)(`div`,{className:`min-h-screen bg-gray-50 font-sans`,children:[(0,B.jsx)(Vx,{}),(0,B.jsxs)(`div`,{className:`max-w-7xl mx-auto px-4 py-8`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col md:flex-row justify-between items-start md:items-center mb-8 gap-4`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsxs)(`h1`,{className:`text-3xl font-bold text-gray-900 flex items-center gap-2`,children:[(0,B.jsx)(go,{className:`w-8 h-8 text-[#2d5016]`}),` Admin Dashboard`]}),(0,B.jsx)(`p`,{className:`text-gray-500 mt-1`,children:`Manage content and check system status`})]}),(0,B.jsxs)(Sw,{onClick:p,variant:`outline`,className:`flex items-center gap-2 border-red-200 text-red-700 hover:bg-red-50 hover:text-red-800`,children:[(0,B.jsx)(So,{className:`w-4 h-4`}),` Sign Out`]})]}),(0,B.jsxs)(`div`,{className:`grid grid-cols-1 lg:grid-cols-3 gap-8`,children:[(0,B.jsxs)(`div`,{className:`lg:col-span-1 space-y-6`,children:[(0,B.jsxs)(`div`,{className:`bg-white p-6 rounded-xl border border-gray-200 shadow-sm`,children:[(0,B.jsx)(`label`,{className:`block text-sm font-medium text-gray-700 mb-2`,children:`Select Town to Manage`}),(0,B.jsxs)(`select`,{value:r,onChange:e=>i(e.target.value),className:`w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#2d5016] outline-none bg-white text-gray-900`,children:[(0,B.jsx)(`option`,{value:``,children:`-- Choose a Town --`}),_.map(([e,t])=>(0,B.jsx)(`option`,{value:t.name,children:t.name},e))]})]}),(0,B.jsx)(_we,{townName:r,onUploadComplete:m}),(0,B.jsxs)(`div`,{className:`bg-white p-6 rounded-xl border border-gray-200 shadow-sm`,children:[(0,B.jsxs)(`h3`,{className:`text-lg font-semibold text-gray-900 mb-4 flex items-center gap-2`,children:[(0,B.jsx)(cs,{className:`w-5 h-5 text-gray-500`}),` Quick Actions`]}),(0,B.jsx)(`div`,{className:`space-y-3`,children:(0,B.jsx)(Sw,{onClick:h,disabled:s,variant:`outline`,className:`w-full justify-start`,children:`Update Waldport Description`})})]})]}),(0,B.jsxs)(`div`,{className:`lg:col-span-2 space-y-6`,children:[(0,B.jsx)(aTe,{}),(0,B.jsxs)(`div`,{className:`bg-white p-6 rounded-xl border border-gray-200 shadow-sm`,children:[(0,B.jsxs)(`div`,{className:`flex justify-between items-center mb-6 border-b border-gray-100 pb-4`,children:[(0,B.jsxs)(`h2`,{className:`text-xl font-bold text-gray-800 flex items-center gap-2`,children:[(0,B.jsx)(rs,{className:`w-5 h-5 text-blue-500`}),` Tide Data Status (tides.net)`]}),(0,B.jsxs)(Sw,{onClick:g,disabled:d,variant:`outline`,size:`sm`,className:`gap-2`,children:[(0,B.jsx)(Io,{className:`w-4 h-4 ${d?`animate-spin`:``}`}),` Refresh Status`]})]}),(0,B.jsx)(`div`,{className:`overflow-x-auto`,children:(0,B.jsxs)(`table`,{className:`w-full text-sm text-left`,children:[(0,B.jsx)(`thead`,{className:`text-xs text-gray-500 uppercase bg-gray-50`,children:(0,B.jsxs)(`tr`,{children:[(0,B.jsx)(`th`,{className:`px-4 py-3`,children:`Town`}),(0,B.jsx)(`th`,{className:`px-4 py-3`,children:`Source`}),(0,B.jsx)(`th`,{className:`px-4 py-3`,children:`Status`}),(0,B.jsx)(`th`,{className:`px-4 py-3 text-right`,children:`Last Updated`})]})}),(0,B.jsx)(`tbody`,{children:l.length>0?l.map((e,t)=>(0,B.jsxs)(`tr`,{className:`border-b last:border-0 hover:bg-gray-50`,children:[(0,B.jsx)(`td`,{className:`px-4 py-3 font-medium text-gray-900`,children:e.town}),(0,B.jsx)(`td`,{className:`px-4 py-3 text-gray-600`,children:e.source}),(0,B.jsx)(`td`,{className:`px-4 py-3`,children:e.success?(0,B.jsxs)(`span`,{className:`flex items-center gap-1 text-green-600`,children:[(0,B.jsx)(Ua,{className:`w-4 h-4`}),` Live`]}):(0,B.jsxs)(`span`,{className:`flex items-center gap-1 text-amber-600`,children:[(0,B.jsx)(Zo,{className:`w-4 h-4`}),` Fallback`]})}),(0,B.jsx)(`td`,{className:`px-4 py-3 text-right text-gray-500`,children:e.timestamp?new Date(e.timestamp).toLocaleTimeString():`N/A`})]},t)):(0,B.jsx)(`tr`,{children:(0,B.jsx)(`td`,{colSpan:`4`,className:`px-4 py-8 text-center text-gray-500`,children:`Run verification to see tide data status.`})})})]})})]}),(0,B.jsxs)(`div`,{className:`bg-white p-6 rounded-xl border border-gray-200 shadow-sm`,children:[(0,B.jsxs)(`h2`,{className:`text-xl font-bold text-gray-800 mb-6 pb-4 border-b border-gray-100 flex justify-between items-center`,children:[(0,B.jsx)(`span`,{children:`Gallery Photos`}),r&&(0,B.jsx)(`span`,{className:`text-gray-500 font-normal text-base bg-gray-100 px-3 py-1 rounded-full`,children:r})]}),(0,B.jsx)(rTe,{townName:r,refreshTrigger:a})]})]})]})]})]})},uTe=({children:e})=>{let{isAuthenticated:t,loading:n}=Jd(),r=Xe();return n?(0,B.jsxs)(`div`,{className:`min-h-screen flex flex-col items-center justify-center bg-gray-50`,children:[(0,B.jsx)(bo,{className:`w-8 h-8 text-[#2d5016] animate-spin mb-4`}),(0,B.jsx)(`p`,{className:`text-gray-500 font-medium`,children:`Verifying access...`})]}):t?e:(0,B.jsx)(St,{to:`/admin/login`,state:{from:r},replace:!0})},dTe=()=>((0,y.useEffect)(()=>(Qf(!0),()=>Qf(!1)),[]),(0,B.jsxs)(`div`,{className:`min-h-screen bg-white flex flex-col font-sans`,children:[(0,B.jsx)(J,{children:(0,B.jsx)(`title`,{children:`Page Not Found | Oregon Coast Travel Guide`})}),(0,B.jsx)(Vx,{}),(0,B.jsxs)(`main`,{className:`flex-grow flex flex-col items-center justify-center p-4 text-center py-20 bg-slate-50`,children:[(0,B.jsx)(`h1`,{className:`text-5xl md:text-7xl font-bold text-slate-900 tracking-tight mb-4`,children:`Page Not Found`}),(0,B.jsx)(`div`,{className:`h-1.5 w-24 bg-blue-500 rounded-full mb-8 shadow-sm`}),(0,B.jsx)(`p`,{className:`text-xl text-slate-600 mb-10 max-w-lg`,children:`We're sorry, but the page you are looking for doesn't exist or has been moved.`}),(0,B.jsx)(un,{to:`/`,className:`bg-blue-600 hover:bg-blue-700 text-white font-medium px-8 py-4 rounded-xl shadow-sm transition-all duration-300 hover:shadow-md`,children:`Return to Homepage`})]}),(0,B.jsx)(Ux,{})]})),fTe=()=>((0,y.useEffect)(()=>{window.location.replace(`https://oregoncoastal.com/town/cannon-beach`)},[]),null),pTe=()=>((0,y.useEffect)(()=>{window.location.replace(`https://oregoncoastal.com/town/pacific-city`)},[]),null),mTe=()=>{let e=Xe();return(0,y.useEffect)(()=>{$f();let t=Rf(e.pathname),n=`https://horizons-cdn.hostinger.com/91649f3d-f52f-4f57-93dc-6dffdfd2021c/ef2a8c8e278e0a6afb62c1ed916892d4.jpg`,r=`Oregon Coast Hotels and Travel Guide`,i=`Plan your perfect trip with our Oregon Coast Hotels and Travel Guide. Discover the best accommodations, oceanfront lodging, attractions, dining, and travel tips across the beautiful Oregon Coast.`;document.title=r,Uf(t),Wf(i),Gf(t),Kf(r),qf(i),Jf(n),Yf(r),Xf(i),Zf(n)},[e.pathname]),null};function hTe(){return(0,B.jsx)(Vd,{children:(0,B.jsx)(Yd,{children:(0,B.jsx)(vee,{children:(0,B.jsx)(Ff,{children:(0,B.jsxs)(cn,{children:[(0,B.jsx)(mTe,{}),(0,B.jsx)(Fb,{}),(0,B.jsx)(zb,{}),(0,B.jsxs)(wt,{children:[(0,B.jsx)(R,{path:`/`,element:(0,B.jsx)(tS,{})}),(0,B.jsx)(R,{path:`/map`,element:(0,B.jsx)(nS,{})}),(0,B.jsx)(R,{path:`/maps`,element:(0,B.jsx)(gw,{})}),(0,B.jsx)(R,{path:`/hotels-map`,element:(0,B.jsx)(gw,{})}),(0,B.jsx)(R,{path:`/host`,element:(0,B.jsx)(JA,{})}),(0,B.jsx)(R,{path:`/ruby`,element:(0,B.jsx)(fTe,{})}),(0,B.jsx)(R,{path:`/kruseroot`,element:(0,B.jsx)(pTe,{})}),(0,B.jsx)(R,{path:`/hotel/:id`,element:(0,B.jsx)(Bj,{})}),(0,B.jsx)(R,{path:`/admin/login`,element:(0,B.jsx)(gwe,{})}),(0,B.jsx)(R,{path:`/admin`,element:(0,B.jsx)(uTe,{children:(0,B.jsx)(lTe,{})})}),(0,B.jsx)(R,{path:`/north-coast`,element:(0,B.jsx)(oj,{})}),(0,B.jsx)(R,{path:`/central-coast`,element:(0,B.jsx)(cj,{})}),(0,B.jsx)(R,{path:`/south-coast`,element:(0,B.jsx)(dj,{})}),(0,B.jsx)(R,{path:`/seal-rock`,element:(0,B.jsx)(hwe,{})}),(0,B.jsx)(R,{path:`/town/arch-cape`,element:(0,B.jsx)(wpe,{})}),(0,B.jsx)(R,{path:`/town/astoria`,element:(0,B.jsx)(qpe,{})}),(0,B.jsx)(R,{path:`/town/bandon`,element:(0,B.jsx)(ime,{})}),(0,B.jsx)(R,{path:`/town/bay-city`,element:(0,B.jsx)(vme,{})}),(0,B.jsx)(R,{path:`/town/brookings`,element:(0,B.jsx)(Pme,{})}),(0,B.jsx)(R,{path:`/town/cannon-beach`,element:(0,B.jsx)(Hme,{})}),(0,B.jsx)(R,{path:`/town/charleston`,element:(0,B.jsx)(the,{})}),(0,B.jsx)(R,{path:`/town/coos-bay`,element:(0,B.jsx)(vhe,{})}),(0,B.jsx)(R,{path:`/town/depoe-bay`,element:(0,B.jsx)(jhe,{})}),(0,B.jsx)(R,{path:`/town/dune-city`,element:(0,B.jsx)(Khe,{})}),(0,B.jsx)(R,{path:`/town/florence`,element:(0,B.jsx)(age,{})}),(0,B.jsx)(R,{path:`/town/gardiner`,element:(0,B.jsx)(yge,{})}),(0,B.jsx)(R,{path:`/town/garibaldi`,element:(0,B.jsx)(Mge,{})}),(0,B.jsx)(R,{path:`/town/gearhart`,element:(0,B.jsx)(Wge,{})}),(0,B.jsx)(R,{path:`/town/gleneden-beach`,element:(0,B.jsx)(r_e,{})}),(0,B.jsx)(R,{path:`/town/gold-beach`,element:(0,B.jsx)(v_e,{})}),(0,B.jsx)(R,{path:`/town/harbor`,element:(0,B.jsx)(j_e,{})}),(0,B.jsx)(R,{path:`/town/lakeside`,element:(0,B.jsx)(K_e,{})}),(0,B.jsx)(R,{path:`/town/langlois`,element:(0,B.jsx)(sve,{})}),(0,B.jsx)(R,{path:`/town/lincoln-city`,element:(0,B.jsx)(Sve,{})}),(0,B.jsx)(R,{path:`/town/manzanita`,element:(0,B.jsx)(Nve,{})}),(0,B.jsx)(R,{path:`/town/nehalem`,element:(0,B.jsx)(Gve,{})}),(0,B.jsx)(R,{path:`/town/neskowin`,element:(0,B.jsx)(aye,{})}),(0,B.jsx)(R,{path:`/town/netarts`,element:(0,B.jsx)(bye,{})}),(0,B.jsx)(R,{path:`/town/newport`,element:(0,B.jsx)(Mye,{})}),(0,B.jsx)(R,{path:`/town/north-bend`,element:(0,B.jsx)(qye,{})}),(0,B.jsx)(R,{path:`/town/oceanside`,element:(0,B.jsx)(cbe,{})}),(0,B.jsx)(R,{path:`/town/otter-rock`,element:(0,B.jsx)(Cbe,{})}),(0,B.jsx)(R,{path:`/town/pacific-city`,element:(0,B.jsx)(Ube,{})}),(0,B.jsx)(R,{path:`/town/port-orford`,element:(0,B.jsx)(rxe,{})}),(0,B.jsx)(R,{path:`/town/reedsport`,element:(0,B.jsx)(_xe,{})}),(0,B.jsx)(R,{path:`/town/rockaway-beach`,element:(0,B.jsx)(jxe,{})}),(0,B.jsx)(R,{path:`/town/seaside`,element:(0,B.jsx)(Wxe,{})}),(0,B.jsx)(R,{path:`/town/south-beach`,element:(0,B.jsx)(rSe,{})}),(0,B.jsx)(R,{path:`/town/tillamook`,element:(0,B.jsx)(vSe,{})}),(0,B.jsx)(R,{path:`/town/toledo`,element:(0,B.jsx)(jSe,{})}),(0,B.jsx)(R,{path:`/town/tolovana-park`,element:(0,B.jsx)(VSe,{})}),(0,B.jsx)(R,{path:`/town/waldport`,element:(0,B.jsx)(rCe,{})}),(0,B.jsx)(R,{path:`/town/warrenton`,element:(0,B.jsx)(gCe,{})}),(0,B.jsx)(R,{path:`/town/wheeler`,element:(0,B.jsx)(ACe,{})}),(0,B.jsx)(R,{path:`/town/winchester-bay`,element:(0,B.jsx)(WCe,{})}),(0,B.jsx)(R,{path:`/town/yachats`,element:(0,B.jsx)(owe,{})}),(0,B.jsx)(R,{path:`*`,element:(0,B.jsx)(dTe,{})})]}),(0,B.jsx)(ws,{})]})})})})})}var gTe=async()=>(console.warn(`Prerender.io token not found. Skipping client-side bot intercept.`),!1);(async()=>{await gTe()||xn.createRoot(document.getElementById(`root`)).render((0,B.jsx)(hTe,{}))})();