1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,35286,e=>{"use strict";var r=e.i(43476),t=e.i(71645),s=e.i(70326),n=e.i(68711),o=e.i(48085);let a="The Den"===s.site.reservations.provider,i=a?`${s.site.reservations.embedUrl}&lang=en`:"",l=a?new URL(s.site.reservations.embedUrl).origin:"",d=s.site.reservations.oddleUrl,c=(e,r)=>{fetch("/api/booking-issue",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reason:e,detail:r}),keepalive:!0}).catch(()=>{})};e.s(["ReserveEmbed",0,function(){let{t:e}=(0,o.useI18n)(),m=e.reserve,[u,x]=(0,t.useState)(a?"den":"oddle"),[p,h]=(0,t.useState)("loading"),b=(0,t.useRef)(null),f=(0,t.useRef)(!1),g=()=>{f.current=!0,h("loaded")},v=()=>b.current?.contentWindow?.postMessage({source:"den-site"},l),j=()=>{f.current=!1,x("oddle"),h("loading")};(0,t.useEffect)(()=>{if("den"!==u)return;let e=e=>{let r;e.origin===l&&e.source===b.current?.contentWindow&&"object"==typeof(r=e.data)&&null!==r&&"den-booking"===r.source&&("ready"===e.data.status?g():(c("den_down",e.data.reason),j()))};window.addEventListener("message",e),v();let r=setTimeout(()=>{f.current||(c("den_timeout"),j())},8e3);return()=>{window.removeEventListener("message",e),clearTimeout(r)}},[u]),(0,t.useEffect)(()=>{if("oddle"!==u)return;let e=setTimeout(()=>{f.current||(c("oddle_failed"),h("error"))},12e3);return()=>clearTimeout(e)},[u]);let w="den"===u?i:d,N=a&&"oddle"===u;return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"relative w-full overflow-hidden rounded-sm border border-line bg-coal-2",children:[(0,r.jsx)("iframe",{ref:b,title:m.embedTitle,src:w,onLoad:()=>"oddle"===u?g():v(),className:`block h-[780px] w-full ${"den"===u?"[color-scheme:dark]":"[color-scheme:light]"}`},u),"loaded"!==p&&(0,r.jsx)("div",{role:"status","aria-live":"polite",className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-4 bg-coal-2 px-6 text-center",children:"loading"===p?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"h-8 w-8 animate-spin rounded-full border-2 border-line border-t-ember-bright","aria-hidden":!0}),(0,r.jsx)("p",{className:"text-sand text-sm tracking-wide",children:m.loading})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("p",{className:"font-display text-2xl uppercase text-cream",children:m.errorTitle}),(0,r.jsx)("p",{className:"max-w-sm text-sand text-sm",children:m.errorBody}),(0,r.jsxs)("div",{className:"mt-2 mx-auto flex max-w-xs flex-col gap-3 sm:max-w-none sm:flex-row sm:flex-wrap sm:justify-center text-center",children:[(0,r.jsx)("a",{href:d,target:"_blank",rel:"noopener noreferrer",className:"bg-ember px-6 py-3 text-[0.78rem] font-medium uppercase tracking-[0.16em] text-white transition-colors hover:bg-ember-bright",children:m.openBooking}),(0,r.jsx)("a",{href:`tel:${s.site.phone.tel}`,className:"border border-line-strong px-6 py-3 text-[0.78rem] font-medium uppercase tracking-[0.16em] text-cream transition-colors hover:border-ember hover:text-cream",children:(0,n.fmt)(e.common.callNumber,{phone:s.site.phone.display})})]})]})})]}),(0,r.jsxs)("p",{className:"mt-3 text-xs text-ash",children:[N&&(0,r.jsx)("span",{className:"block mb-1 text-sand",children:m.fallbackNote}),m.openTabPrefix,(0,r.jsx)("a",{href:"den"===u?s.site.reservations.url:d,target:"_blank",rel:"noopener noreferrer",className:"link-underline text-ember-bright",children:m.openTabLink}),"."]})]})}])}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.