@seatlayer/core 0.102.0 → 0.103.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ar-D6ASWQBI.js +1 -0
- package/dist/be-T23MSCFC.js +1 -0
- package/dist/bg-2MMSY43I.js +1 -0
- package/dist/ca-EXRTYE33.js +1 -0
- package/dist/{categoryInventory-7gSFTu0l.d.cts → categoryInventory-D_gpkfsq.d.cts} +1 -1
- package/dist/{categoryInventory-hJxuFF9L.d.ts → categoryInventory-i-mGCBD3.d.ts} +1 -1
- package/dist/{chunk-ZS5YFXSE.js → chunk-2STEWCI2.js} +1 -1
- package/dist/chunk-33SRM2CP.js +1 -0
- package/dist/chunk-3W4ZMU4G.js +1 -0
- package/dist/chunk-76AUT55N.js +1 -0
- package/dist/chunk-B75VUM6L.js +1 -0
- package/dist/{chunk-GTRYL7YV.js → chunk-FAY7ARLB.js} +1 -1
- package/dist/chunk-NWRHKTMV.js +1 -0
- package/dist/{chunk-4DYJCT62.js → chunk-QG7ZFUNX.js} +1 -1
- package/dist/{chunk-AFJWTB7L.js → chunk-R2TRYVOY.js} +1 -1
- package/dist/{chunk-PHV2U54Y.js → chunk-RF4QU72N.js} +1 -1
- package/dist/{chunk-FOIYJ5NT.js → chunk-TFYAMLCK.js} +1 -1
- package/dist/chunk-TZBJCAXH.js +1 -0
- package/dist/{chunk-254ABRJF.js → chunk-UEYHH7Y5.js} +1 -1
- package/dist/{chunk-COECA63Q.js → chunk-WH2EVBIG.js} +1 -1
- package/dist/chunk-WKWXU5QM.js +1 -0
- package/dist/core/chart-ops/index.cjs +1 -1
- package/dist/core/chart-ops/index.d.cts +466 -14
- package/dist/core/chart-ops/index.d.ts +466 -14
- package/dist/core/chart-ops/index.js +1 -1
- package/dist/core/color.d.cts +1 -1
- package/dist/core/color.d.ts +1 -1
- package/dist/core/inventory/index.cjs +1 -1
- package/dist/core/inventory/index.d.cts +4 -4
- package/dist/core/inventory/index.d.ts +4 -4
- package/dist/core/inventory/index.js +1 -1
- package/dist/core/layout/index.cjs +1 -1
- package/dist/core/layout/index.d.cts +5 -5
- package/dist/core/layout/index.d.ts +5 -5
- package/dist/core/layout/index.js +1 -1
- package/dist/core/quality/index.d.cts +3 -3
- package/dist/core/quality/index.d.ts +3 -3
- package/dist/core/render-assets/index.cjs +1 -1
- package/dist/core/render-assets/index.d.cts +45 -5
- package/dist/core/render-assets/index.d.ts +45 -5
- package/dist/core/render-assets/index.js +1 -1
- package/dist/core/seatConfidence.d.cts +1 -1
- package/dist/core/seatConfidence.d.ts +1 -1
- package/dist/core/sections/index.cjs +1 -1
- package/dist/core/sections/index.d.cts +5 -5
- package/dist/core/sections/index.d.ts +5 -5
- package/dist/core/sections/index.js +1 -1
- package/dist/cs-L5EG7LLR.js +1 -0
- package/dist/cy-AB2Q6XHI.js +1 -0
- package/dist/da-EGJO7W4Q.js +1 -0
- package/dist/de-Q56NNVPD.js +1 -0
- package/dist/el-JW2YADAL.js +1 -0
- package/dist/es-N35HVHMD.js +1 -0
- package/dist/et-53UYPQR7.js +1 -0
- package/dist/{eventConfigurations-BHIfPJJJ.d.cts → eventConfigurations-C0x_OtjQ.d.cts} +1 -1
- package/dist/{eventConfigurations-I5UBS6r9.d.ts → eventConfigurations-CDPqKz_8.d.ts} +1 -1
- package/dist/{fa-5MS3C6YX.js → fa-JL3HW42Q.js} +1 -1
- package/dist/fi-ZFWROLPU.js +1 -0
- package/dist/fr-6EKBGKIT.js +1 -0
- package/dist/he-KSOTIRJW.js +1 -0
- package/dist/hi-RWHSYCVV.js +1 -0
- package/dist/hr-ECH5LYKR.js +1 -0
- package/dist/hu-BAXHRRWC.js +1 -0
- package/dist/id-ECFNLK3G.js +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +22 -15
- package/dist/index.d.ts +22 -15
- package/dist/index.js +1 -1
- package/dist/{it-KG53QPQF.js → it-HT57FDFI.js} +1 -1
- package/dist/ja-LHVHSM5J.js +1 -0
- package/dist/ko-G2HVHBKT.js +1 -0
- package/dist/ku-MNPV6BJJ.js +1 -0
- package/dist/{labeling-CDKZ9TO1.d.ts → labeling-20iLar-Q.d.ts} +1 -1
- package/dist/{labeling-2A31f781.d.cts → labeling-DW_pEMgl.d.cts} +1 -1
- package/dist/localeLoaders-L36RHPNS.js +1 -0
- package/dist/lt-GB2GJDNS.js +1 -0
- package/dist/lv-3ZE6IM47.js +1 -0
- package/dist/ms-YH2PYOHG.js +1 -0
- package/dist/nl-D4FX7T7U.js +1 -0
- package/dist/no-5YNLYHN4.js +1 -0
- package/dist/pl-RUXCR6JV.js +1 -0
- package/dist/pt-TKFGIUL6.js +1 -0
- package/dist/{renderedQuality-CwZ8hY-5.d.cts → renderedQuality-BIWwSRMS.d.cts} +1 -1
- package/dist/{renderedQuality-wDIiUId3.d.ts → renderedQuality-CdpKQidA.d.ts} +1 -1
- package/dist/{renderer-D6ggv3bV.d.cts → renderer-BSjyHBDK.d.cts} +1 -1
- package/dist/{renderer-CdJx5l3B.d.ts → renderer-BurPZ2Io.d.ts} +1 -1
- package/dist/ro-UFIOIOVH.js +1 -0
- package/dist/ru-VMRD53B7.js +1 -0
- package/dist/{seatTypeIcons-DMJX4rVN.d.cts → seatTypeIcons-BlEzPXFf.d.cts} +1 -1
- package/dist/{seatTypeIcons-UpUTD8Xf.d.ts → seatTypeIcons-D_T5HfJs.d.ts} +1 -1
- package/dist/{sections-lpdfwSdO.d.ts → sections-BySKMsFE.d.ts} +1 -1
- package/dist/{sections-CempT5a0.d.cts → sections-DXUcW0ZT.d.cts} +1 -1
- package/dist/{segmentedRowModel-HwY4XuYa.d.ts → segmentedRowModel-C5qFY6jJ.d.ts} +1 -1
- package/dist/{segmentedRowModel-Ddx5ol8T.d.cts → segmentedRowModel-CyW-LFuI.d.cts} +1 -1
- package/dist/sk-XIK2KO3F.js +1 -0
- package/dist/sl-CDZGH6C6.js +1 -0
- package/dist/sr-A3TESNV3.js +1 -0
- package/dist/sv-HKGKDGSG.js +1 -0
- package/dist/{tableSizing-C0zx97eg.d.ts → tableSizing-Bos5ueqg.d.cts} +5 -4
- package/dist/{tableSizing-BJqAuJDg.d.cts → tableSizing-CAiE_oii.d.ts} +5 -4
- package/dist/th-ZPGRIY7D.js +1 -0
- package/dist/{ticketRestrictions-DDQHiKF-.d.cts → ticketRestrictions-DKdJWh9u.d.cts} +2 -2
- package/dist/{ticketRestrictions-AU8UUmdL.d.ts → ticketRestrictions-DRDtAVKw.d.ts} +2 -2
- package/dist/tr-IUB54G3R.js +1 -0
- package/dist/{types-DL7qIUrD.d.cts → types-ZviQR7ch.d.cts} +127 -8
- package/dist/{types-DL7qIUrD.d.ts → types-ZviQR7ch.d.ts} +127 -8
- package/dist/uk-JQKEV42K.js +1 -0
- package/dist/vi-KRM5S2Q7.js +1 -0
- package/dist/view3d/crossfade/panorama.d.cts +1 -1
- package/dist/view3d/crossfade/panorama.d.ts +1 -1
- package/dist/view3d/index.cjs +54 -54
- package/dist/view3d/index.d.cts +7 -3
- package/dist/view3d/index.d.ts +7 -3
- package/dist/view3d/index.js +44 -44
- package/dist/view3d/scene/scene.worker.cjs +1 -1
- package/dist/view3d/scene/scene.worker.js +1 -1
- package/dist/zh-Hans-FEUYIOYS.js +1 -0
- package/dist/zh-Hant-PK2XOE2G.js +1 -0
- package/package.json +1 -1
- package/dist/ar-TGXEBJUB.js +0 -1
- package/dist/be-JIDOHWF6.js +0 -1
- package/dist/bg-ODVJNCC2.js +0 -1
- package/dist/ca-3I7TMWYU.js +0 -1
- package/dist/chunk-4R6TXHY2.js +0 -1
- package/dist/chunk-5N4H3KMR.js +0 -1
- package/dist/chunk-66T4EAUA.js +0 -1
- package/dist/chunk-EIV3CAGV.js +0 -1
- package/dist/chunk-FUFRWRPM.js +0 -1
- package/dist/chunk-TAMY7HTV.js +0 -1
- package/dist/chunk-TQN2VWQO.js +0 -1
- package/dist/cs-XXB624Z3.js +0 -1
- package/dist/cy-W2QNU2GO.js +0 -1
- package/dist/da-Q47YPK2E.js +0 -1
- package/dist/de-TS3DPLM5.js +0 -1
- package/dist/el-3JQUH6DB.js +0 -1
- package/dist/es-GP7VOX7S.js +0 -1
- package/dist/et-A22OMZ6V.js +0 -1
- package/dist/fi-OJLAOJO2.js +0 -1
- package/dist/fr-7ATOYJCF.js +0 -1
- package/dist/he-37LKRY5W.js +0 -1
- package/dist/hi-YXZ5EWK7.js +0 -1
- package/dist/hr-QFOPGLMR.js +0 -1
- package/dist/hu-RHRBK46E.js +0 -1
- package/dist/id-A5Q3MLSX.js +0 -1
- package/dist/ja-CC6EPUSN.js +0 -1
- package/dist/ko-7H4RGYFK.js +0 -1
- package/dist/ku-HFYWPSS4.js +0 -1
- package/dist/localeLoaders-4YMC7FIZ.js +0 -1
- package/dist/lt-HQXE7W47.js +0 -1
- package/dist/lv-AN25XXPB.js +0 -1
- package/dist/ms-CWAYSF6E.js +0 -1
- package/dist/nl-63QBRZSZ.js +0 -1
- package/dist/no-RAPQMKWU.js +0 -1
- package/dist/pl-ILSTD4ZV.js +0 -1
- package/dist/pt-WF3US5D7.js +0 -1
- package/dist/ro-XR3HT6DE.js +0 -1
- package/dist/ru-TLJEWDPA.js +0 -1
- package/dist/sk-OJC2EL3Z.js +0 -1
- package/dist/sl-7RGTVXCV.js +0 -1
- package/dist/sr-NHDJ54BS.js +0 -1
- package/dist/sv-ZODCCBCU.js +0 -1
- package/dist/th-VCZA4MP5.js +0 -1
- package/dist/tr-ROKZO3HC.js +0 -1
- package/dist/uk-LP2DPUHC.js +0 -1
- package/dist/vi-JDK3JRJR.js +0 -1
- package/dist/zh-Hans-P3GB3FAZ.js +0 -1
- package/dist/zh-Hant-YU4OKSFZ.js +0 -1
package/dist/chunk-TAMY7HTV.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as We,c as Ye,d as ze}from"./chunk-GTRYL7YV.js";import{b as Ne,c as Xe}from"./chunk-FUFRWRPM.js";import{v as Ke}from"./chunk-4DYJCT62.js";import{a as je,c as Vt,d as pt,f as xt,i as Ue}from"./chunk-66T4EAUA.js";import{h as gn}from"./chunk-UEDS3HJ3.js";import{e as Ge,l as He}from"./chunk-4N5CHKHD.js";import{B as Oe,C as Yt,Na as Rt,Wa as In,ca as $,da as Pt,j as Te,ma as Mn,oa as zt,pa as Pn,ra as Ce,ta as Kt,ua as Rn,va as ke,xa as zn,ya as Fe,za as Le}from"./chunk-EIV3CAGV.js";import{A as St,D as De,b as ve,d as it,y as st}from"./chunk-JBOTRSMY.js";var on=["available","held","sold","selected","dimmed"];function Kn(t){let n=on.indexOf(t);return n<0?0:n}var Ve={available:[.24,.82,.52],held:[.34,.39,.45],sold:[.34,.39,.45],selected:[.24,.74,1],dimmed:[.28,.32,.37]};function Bl(t){let n=.2126*t[0]+.7152*t[1]+.0722*t[2],e=.78,r=.86;return[(n+(t[0]-n)*e)*r,(n+(t[1]-n)*e)*r,(n+(t[2]-n)*e)*r]}var Vn={ground:[.07,.085,.11],tierTop:[.24,.28,.34],tierWall:[.17,.2,.25],stageTop:[.94,.7,.38],stageWall:[.48,.33,.18],decorTop:[.22,.25,.29],decorWall:[.15,.17,.2],gaTop:[.24,.28,.33],gaWall:[.16,.19,.23],boothTop:[.3,.33,.38],boothWall:[.2,.23,.27],tableTop:[.38,.34,.29],tableWall:[.24,.21,.18]},Zn={top:[.05,.06,.08],bottom:[.1,.12,.15]};function V(t,n){return[Math.min(1,t[0]*n),Math.min(1,t[1]*n),Math.min(1,t[2]*n)]}import Qr from"earcut";import qe from"polygon-clipping";var I=$,Jr=.002;function ti(t,n,e){let r=Math.hypot(n[0]-t[0],n[1]-t[1],n[2]-t[2]),o=Math.hypot(e[0]-n[0],e[1]-n[1],e[2]-n[2]),a=Math.hypot(t[0]-e[0],t[1]-e[1],t[2]-e[2]),i=Math.max(r,o,a);if(i<1e-9)return!0;let s=(r+o+a)/2;return 2*Math.sqrt(Math.max(0,s*(s-r)*(s-o)*(s-a)))/i<Jr}var Xt=class{constructor(n=16384){this.len=0;this.buf=new Float32Array(n)}push3(n,e,r){this.len+3>this.buf.length&&this.grow(this.len+3),this.buf[this.len++]=n,this.buf[this.len++]=e,this.buf[this.len++]=r}push1(n){this.len+1>this.buf.length&&this.grow(this.len+1),this.buf[this.len++]=n}grow(n){let e=this.buf.length*2;for(;e<n;)e*=2;let r=new Float32Array(e);r.set(this.buf.subarray(0,this.len)),this.buf=r}get length(){return this.len}toArray(){return this.buf.slice(0,this.len)}},An=class{constructor(){this.pos=new Xt;this.nor=new Xt;this.col=new Xt;this.flr=new Xt;this.mat=new Xt;this.currentFloor=0;this.currentMaterial=0}setFloor(n){this.currentFloor=n}setMaterial(n){this.currentMaterial=n}tri(n,e,r,o,a,i=a,s=a){ti(n,e,r)||(this.pos.push3(n[0],n[1],n[2]),this.pos.push3(e[0],e[1],e[2]),this.pos.push3(r[0],r[1],r[2]),this.nor.push3(o[0],o[1],o[2]),this.nor.push3(o[0],o[1],o[2]),this.nor.push3(o[0],o[1],o[2]),this.col.push3(a[0],a[1],a[2]),this.col.push3(i[0],i[1],i[2]),this.col.push3(s[0],s[1],s[2]),this.flr.push1(this.currentFloor),this.flr.push1(this.currentFloor),this.flr.push1(this.currentFloor),this.mat.push1(this.currentMaterial),this.mat.push1(this.currentMaterial),this.mat.push1(this.currentMaterial))}triN(n,e,r,o,a,i,s,c=s,l=s){[...n,...e,...r].every(Number.isFinite)&&(this.pos.push3(n[0],n[1],n[2]),this.pos.push3(e[0],e[1],e[2]),this.pos.push3(r[0],r[1],r[2]),this.nor.push3(o[0],o[1],o[2]),this.nor.push3(a[0],a[1],a[2]),this.nor.push3(i[0],i[1],i[2]),this.col.push3(s[0],s[1],s[2]),this.col.push3(c[0],c[1],c[2]),this.col.push3(l[0],l[1],l[2]),this.flr.push1(this.currentFloor),this.flr.push1(this.currentFloor),this.flr.push1(this.currentFloor),this.mat.push1(this.currentMaterial),this.mat.push1(this.currentMaterial),this.mat.push1(this.currentMaterial))}get vertexCount(){return this.pos.length/3}build(){return{position:this.pos.toArray(),normal:this.nor.toArray(),color:this.col.toArray(),floor:this.flr.toArray(),material:this.mat.toArray(),count:this.pos.length/3}}};function ni(t,n,e){let r=n[0]-t[0],o=n[1]-t[1],a=n[2]-t[2],i=e[0]-t[0],s=e[1]-t[1],c=e[2]-t[2],l=o*c-a*s,u=a*i-r*c,f=r*s-o*i,m=Math.hypot(l,u,f)||1;return l/=m,u/=m,f/=m,[l,u,f]}function ei(t,n){let e=[...t],r=[];for(let i of t)r.push(i.x,i.y);let o=[];if(n){for(let i of n)if(!(i.length<3)){o.push(e.length);for(let s of i)e.push(s),r.push(s.x,s.y)}}let a=Qr(r,o.length?o:void 0,2);return{pts:e,tris:a}}function Et(t){return pt(t)<0?[...t].reverse():t}var oi=3;function ri(t,n,e,r){let o=r(t),a=r(n),i=r(e),s=(h,d,y,b)=>Math.abs(r({x:(h.x+d.x)/2,y:(h.y+d.y)/2})-(y+b)/2),c=(t.x+n.x+e.x)/3,l=(t.y+n.y+e.y)/3,u=(o+a+i)/3,f=Math.max(s(t,n,o,a),s(n,e,a,i),s(e,t,i,o),Math.abs(r({x:c,y:l})-u)),m=(h,d,y)=>{let b=Math.abs(r({x:(h+c)/2,y:(d+l)/2})-(y+u)/2);b>f&&(f=b)};return m((t.x+n.x)/2,(t.y+n.y)/2,(o+a)/2),m((n.x+e.x)/2,(n.y+e.y)/2,(a+i)/2),m((e.x+t.x)/2,(e.y+t.y)/2,(i+o)/2),f}function rn(t,n,e,r,o){if(o<=0)return ri(t,n,e,r);let a={x:(t.x+n.x)/2,y:(t.y+n.y)/2},i={x:(n.x+e.x)/2,y:(n.y+e.y)/2},s={x:(e.x+t.x)/2,y:(e.y+t.y)/2};return Math.max(rn(t,a,s,r,o-1),rn(a,n,i,r,o-1),rn(s,i,e,r,o-1),rn(a,i,s,r,o-1))}function sn(t,n,e,r,o,a,i,s){if(i>0){let m={x:(n.x+e.x)/2,y:(n.y+e.y)/2},h={x:(e.x+r.x)/2,y:(e.y+r.y)/2},d={x:(r.x+n.x)/2,y:(r.y+n.y)/2};sn(t,n,m,d,o,a,i-1,s),sn(t,m,e,h,o,a,i-1,s),sn(t,d,h,r,o,a,i-1,s),sn(t,m,h,d,o,a,i-1,s);return}let c=[n.x*I,o(n),n.y*I],l=[e.x*I,o(e),e.y*I],u=[r.x*I,o(r),r.y*I];if(s){t.triN(c,l,u,s(n),s(e),s(r),a);return}let f=ni(c,l,u);f[1]<0&&(f=[-f[0],-f[1],-f[2]]),t.tri(c,l,u,f,a)}var ii=8;function Ze(t,n,e){if(!Number.isFinite(e))return t;let r=[],o=(a,i,s,c,l)=>{if(l>0){let u={x:(a.x+i.x)/2,y:(a.y+i.y)/2},f=n(u);if(Math.abs(f-(s+c)/2)>e){o(a,u,s,f,l-1),o(u,i,f,c,l-1);return}}r.push(a)};for(let a=0;a<t.length;a++){let i=t[a],s=t[(a+1)%t.length];o(i,s,n(i),n(s),ii)}return r}function Sn(t,n){if(t.length<3)return t;let e=[];for(let o of t){let a=e[e.length-1];a&&Math.hypot(o.x-a.x,o.y-a.y)<n||e.push(o)}for(;e.length>2&&Math.hypot(e[0].x-e[e.length-1].x,e[0].y-e[e.length-1].y)<n;)e.pop();if(e.length<3)return t;let r=[];for(let o=0;o<e.length;o++){let a=r.length?r[r.length-1]:e[(o-1+e.length)%e.length],i=e[o],s=e[(o+1)%e.length],c=s.x-a.x,l=s.y-a.y,u=Math.hypot(c,l);u>n&&Math.abs((i.x-a.x)*l-(i.y-a.y)*c)/u<n||r.push(i)}return r.length>=3?r:e}var _n=.001*Pt*.1;function Z(t,n,e,r,o,a,i,s,c=1/0,l){if(!n||n.length<3||(c===void 0&&(c=1/0),Math.abs(pt(n))<1e-4))return;let u=Sn(Ze(Sn(Et(n),_n),r,c),_n),f=e?.map(x=>Sn(Ze(Sn(Et(x),_n),r,c),_n)).filter(x=>x.length>=3&&Math.abs(pt(x))>=1e-4),{pts:m,tris:h}=ei(u,f),d=[a[0]*s.top,a[1]*s.top,a[2]*s.top],y=[a[0]*s.bottomCap,a[1]*s.bottomCap,a[2]*s.bottomCap],b=[i[0]*s.top,i[1]*s.top,i[2]*s.top],p=[i[0]*s.wallBottom,i[1]*s.wallBottom,i[2]*s.wallBottom],g=0;if(Number.isFinite(c))for(;g<oi;g++){let x=0;for(let A=0;A<h.length;A+=3){let R=rn(m[h[A]],m[h[A+1]],m[h[A+2]],r,g);R>x&&(x=R)}if(x<=c)break}for(let x=0;x<h.length;x+=3){let A=m[h[x]],R=m[h[x+1]],S=m[h[x+2]];sn(t,A,R,S,r,d,g,l);let E=[A.x*I,o,A.y*I],T=[R.x*I,o,R.y*I],F=[S.x*I,o,S.y*I];t.tri(E,F,T,[0,-1,0],y)}let P=x=>{if(g<=0)return x;let A=1<<g,R=[];for(let S=0;S<x.length;S++){let E=x[S],T=x[(S+1)%x.length];for(let F=0;F<A;F++){let k=F/A;R.push({x:E.x+(T.x-E.x)*k,y:E.y+(T.y-E.y)*k})}}return R},_=Oe(u),M=[{ring:P(u),flip:!1}];if(f)for(let x of f)x.length>=3&&M.push({ring:P(x),flip:!0});for(let{ring:x,flip:A}of M)for(let R=0;R<x.length;R++){let S=x[R],E=x[(R+1)%x.length],T=(E.x-S.x)*I,k=(E.y-S.y)*I,w=-T,B=Math.hypot(k,w)||1;k/=B,w/=B;let C=(S.x+E.x)/2-_.x,L=(S.y+E.y)/2-_.y,O=k*C+w*L;A&&(O=-O),O<0&&(k=-k,w=-w);let D=[k,0,w],H=[S.x*I,r(S),S.y*I],j=[E.x*I,r(E),E.y*I],G=[S.x*I,o,S.y*I],U=[E.x*I,o,E.y*I];t.tri(H,j,U,D,b,b,p),t.tri(H,U,G,D,b,p,p)}}function $e(t){let n=0;for(let c of t)n+=c.count;let e=new Float32Array(n*3),r=new Float32Array(n*3),o=new Float32Array(n*3),a=new Float32Array(n),i=new Float32Array(n),s=0;for(let c of t)e.set(c.position,s*3),r.set(c.normal,s*3),o.set(c.color,s*3),a.set(c.floor,s),i.set(c.material,s),s+=c.count;return{position:e,normal:r,color:o,floor:a,material:i,count:n}}function _t(t,n,e=2.5){if(n<=0||t.length<3)return t;let r=Et(t),o=r.length,a=[];for(let s=0;s<o;s++){let c=r[s],l=r[(s+1)%o],u=l.x-c.x,f=l.y-c.y,m=Math.hypot(u,f)||1;a.push({x:f/m,y:-u/m})}let i=[];for(let s=0;s<o;s++){let c=r[s],l=a[(s-1+o)%o],u=a[s],f=l.x+u.x,m=l.y+u.y,h=Math.hypot(f,m),d=()=>{i.push([c.x+l.x*n,c.y+l.y*n]),i.push([c.x+u.x*n,c.y+u.y*n])};if(h<1e-9){d();continue}f/=h,m/=h;let y=f*l.x+m*l.y,b=1/Math.max(y,1e-6);if(!Number.isFinite(b)||b>e){d();continue}i.push([c.x+f*n*b,c.y+m*n*b])}if(i.length<3)return t;try{let s=qe.union([[...i,i[0]]]),c=null,l=-1/0;for(let f of s){let m=Math.abs(pt(f[0].map(([h,d])=>({x:h,y:d}))));m>l&&(l=m,c=f[0])}if(!c)return t;let u=c.map(([f,m])=>({x:f,y:m}));if(u.length>1){let f=u[0],m=u[u.length-1];Math.abs(f.x-m.x)<1e-9&&Math.abs(f.y-m.y)<1e-9&&u.pop()}return u.length>=3?u:t}catch{return t}}function Lt(t,n,e=2.5){if(t.length<3)return[];if(n<=0)return t;let r=Et(t),o=r.length,a=[];for(let c=0;c<o;c++){let l=r[c],u=r[(c+1)%o],f=Math.hypot(u.x-l.x,u.y-l.y)||1;a.push({x:-(u.y-l.y)/f,y:(u.x-l.x)/f})}let i=[],s=[];for(let c=0;c<o;c++){let l=r[c],u=a[(c-1+o)%o],f=a[c],m=u.x+f.x,h=u.y+f.y,d=Math.hypot(m,h),y=d<1e-9?1/0:1/Math.max(m/d*u.x+h/d*u.y,1e-6);if(!Number.isFinite(y)||y>e){i.push({x:l.x+u.x*n,y:l.y+u.y*n},{x:l.x+f.x*n,y:l.y+f.y*n}),s.push(c,c);continue}m/=d,h/=d,i.push({x:l.x+m*n*y,y:l.y+h*n*y}),s.push(c)}for(let c=0;c<i.length;c++){let l=(c+1)%i.length,u=s[c],f=s[l];if(f!==(u+1)%o)continue;let m=r[u],h=r[f];if((i[l].x-i[c].x)*(h.x-m.x)+(i[l].y-i[c].y)*(h.y-m.y)<=0)return[]}try{let c=qe.intersection([[...i.map(d=>[d.x,d.y]),[i[0].x,i[0].y]]],[[...r.map(d=>[d.x,d.y]),[r[0].x,r[0].y]]]),l=null,u=0;for(let d of c){let y=Math.abs(pt(d[0].map(([b,p])=>({x:b,y:p}))));y>u&&(u=y,l=d[0])}if(!l)return[];let f=l.map(([d,y])=>({x:d,y})),m=f[0],h=f[f.length-1];return f.length>1&&Math.abs(m.x-h.x)<1e-9&&Math.abs(m.y-h.y)<1e-9&&f.pop(),f.length>=3?Et(f):[]}catch{return[]}}function wn(t,n,e,r,o=28){let a=[];for(let i=0;i<o;i++){let s=i/o*Math.PI*2;a.push({x:t+e*Math.cos(s),y:n+r*Math.sin(s)})}return a}function an(t,n,e,r){return[{x:t,y:n},{x:t+e,y:n},{x:t+e,y:n+r},{x:t,y:n+r}]}var ut={pedestal:0,pad:1,back:2,arm:3,footrest:4,leg:5,body:10,head:11},si=.44,ai=.15,ci=.3,li=.24;function Je(t){return t===void 0||!Number.isFinite(t)||t<=0?li:Math.min(ci,Math.max(ai,t*si))}var vl=.21,ui=.05,qn=.45,fi=qn+ui,mi=.92,Qe=.66,hi=1.205,yi=-.23,di=.38,pi=[{part:ut.pedestal,min:[-.3,0,-.3],max:[.3,.36,.3]},{part:ut.pad,min:[-1,.36,-.95],max:[1,qn,1]},{part:ut.back,min:[-1,fi,-1],max:[1,mi,-.72]},{part:ut.arm,min:[-1,.44,-.82],max:[-.78,.65,.78]},{part:ut.arm,min:[.78,.44,-.82],max:[1,.65,.78]},{part:ut.footrest,min:[-.9,.18,.78],max:[.9,.31,1.34]},{part:ut.leg,min:[-.82,0,-.7],max:[-.62,.37,-.48]},{part:ut.leg,min:[.62,0,-.7],max:[.82,.37,-.48]},{part:ut.leg,min:[-.82,0,.48],max:[-.62,.37,.7]},{part:ut.leg,min:[.62,0,.48],max:[.82,.37,.7]}],xi=[{part:ut.body,min:[-.52,.39,-.08],max:[-.08,.55,.82]},{part:ut.body,min:[.08,.39,-.08],max:[.52,.55,.82]},{part:ut.body,min:[-.47,.05,.58],max:[-.13,.43,.82]},{part:ut.body,min:[.13,.05,.58],max:[.47,.43,.82]},{part:ut.head,min:[-.16,1.04,-.33],max:[.16,1.1,-.13]}],bi=[{n:[1,0,0],c:[[1,0,0],[1,1,0],[1,1,1],[1,0,1]]},{n:[-1,0,0],c:[[0,0,1],[0,1,1],[0,1,0],[0,0,0]]},{n:[0,1,0],c:[[0,1,0],[0,1,1],[1,1,1],[1,1,0]]},{n:[0,-1,0],c:[[0,0,1],[0,0,0],[1,0,0],[1,0,1]]},{n:[0,0,1],c:[[0,0,1],[1,0,1],[1,1,1],[0,1,1]]},{n:[0,0,-1],c:[[1,0,0],[0,0,0],[0,1,0],[1,1,0]]}];function Dl(){let t=[],n=[],e=[],r=[],o=(G,U,X)=>{let Y=e.length,[nt,rt,q]=G,Q=[rt[0]-nt[0],rt[1]-nt[1],rt[2]-nt[2]],J=[q[0]-nt[0],q[1]-nt[1],q[2]-nt[2]],N=Q[1]*J[2]-Q[2]*J[1],v=Q[2]*J[0]-Q[0]*J[2],W=Q[0]*J[1]-Q[1]*J[0],lt=Math.hypot(N,v,W);lt>1e-9?(N/=lt,v/=lt,W/=lt):[N,v,W]=U,N*U[0]+v*U[1]+W*U[2]<0&&(N=-N,v=-v,W=-W);for(let ft of G)t.push(...ft),n.push(N,v,W),e.push(X);r.push(Y,Y+1,Y+2,Y,Y+2,Y+3)},a=G=>{for(let U of bi){let X=U.c.map(Y=>Y.map((nt,rt)=>nt?G.max[rt]:G.min[rt]));o(X,U.n,G.part)}},i=(G,U)=>{let[X,Y,nt]=U?[0,1,2]:[0,2,1],rt=G.min[X],q=G.max[X],Q=G.min[Y],J=G.max[Y],N=(q-rt)*.1,v=(J-Q)*.1,W=U?[[rt+N,Q],[q-N,Q],[q,Q+v],[q*.94,J-(J-Q)*.23],[q*Qe,J],[rt*Qe,J],[rt*.94,J-(J-Q)*.23],[rt,Q+v]]:[[rt+N,Q],[q-N,Q],[q,Q+v],[q,J-v],[q-N,J],[rt+N,J],[rt,J-v],[rt,Q+v]],lt=(at,tt,et)=>{let ht=[0,0,0];return ht[X]=at,ht[Y]=tt,ht[nt]=et,ht},ft=[G.min[nt],G.max[nt]].map(at=>W.map(([tt,et])=>lt(tt,et,at)));for(let at=0;at<W.length;at++){let tt=(at+1)%W.length,et=[0,0,0];et[X]=(W[at][0]+W[tt][0])/2-(rt+q)/2,et[Y]=(W[at][1]+W[tt][1])/2-(Q+J)/2,o([ft[0][at],ft[0][tt],ft[1][tt],ft[1][at]],et,G.part)}for(let at=0;at<2;at++){let tt=[0,0,0];tt[nt]=at?1:-1;let et=ft[at];for(let ht=1;ht<et.length-1;ht++){let z=e.length;for(let mt of[et[0],et[ht],et[ht+1]])t.push(...mt),n.push(...tt),e.push(G.part);r.push(z,z+1,z+2)}}};for(let G of pi)G.part===ut.pad||G.part===ut.back?i(G,G.part===ut.back):a(G);for(let G of xi)a(G);let s=qn,c=1.08,l=.47,u=.69,f=-.55,m=.08,h=-.48,d=.01,y=[-l,s,f],b=[l,s,f],p=[-l,s,m],g=[l,s,m],P=[-u,c,h],_=[u,c,h],M=[-u,c,d],x=[u,c,d];o([b,_,x,g],[1,0,0],ut.body),o([p,M,P,y],[-1,0,0],ut.body),o([y,b,g,p],[0,-1,0],ut.body);let A=c+.07,R=.24,S=[-R,A,h],E=[R,A,h],T=[-R,A,d],F=[R,A,d];o([M,T,S,P],[-.5,1,0],ut.body),o([T,F,E,S],[0,1,0],ut.body),o([F,x,_,E],[.5,1,0],ut.body),o([g,x,M,p],[0,0,1],ut.body),o([x,F,T,M],[0,0,1],ut.body),o([y,P,_,b],[0,0,-1],ut.body),o([P,S,E,_],[0,0,-1],ut.body);let k=10,w=8,B=[0,hi,yi],C=[.32,.115,di],L=e.length;for(let G=0;G<=w;G++){let U=Math.PI*G/w,X=Math.cos(U),Y=Math.sin(U);for(let nt=0;nt<=k;nt++){let rt=Math.PI*2*nt/k,q=Y*Math.cos(rt),Q=Y*Math.sin(rt);t.push(B[0]+C[0]*q,B[1]+C[1]*X,B[2]+C[2]*Q);let J=q/C[0],N=X/C[1],v=Q/C[2],W=Math.hypot(J,N,v)||1;J/=W,N/=W,v/=W,n.push(J,N,v),e.push(ut.head)}}for(let G=0;G<w;G++)for(let U=0;U<k;U++){let X=L+G*(k+1)+U,Y=X+k+1;r.push(X,Y,X+1,X+1,Y,Y+1)}let O=new Float32Array(t),D=new Float32Array(n),H=new Float32Array(e),j=new Uint16Array(r);return{position:O,normal:D,part:H,index:j,vertexCount:e.length,indexCount:r.length}}function to(t,n,e,r){let o=new Float32Array(n),a=l=>t[l*3],i=l=>t[l*3+2],s=0,c=(l,u)=>{let f=u-l;for(let m=l;m<u;m++){let[h,d]=r(m),y=h-a(m),b=d-i(m);if(f>=2){let p=Math.max(l,m-1),g=Math.min(u-1,m+1),P=a(g)-a(p),_=i(g)-i(p),M=Math.hypot(P,_);if(M>1e-6){let x=-_/M,A=P/M;x*y+A*b<0&&(x=-x,A=-A),y=x,b=A}}o[m]=y===0&&b===0?0:Math.atan2(y,b)}};for(let l=1;l<=n;l++)(l===n||e(l)!==e(s))&&(c(s,l),s=l);return o}var En=.22;function Kl(t,n){let e=on[t];if(e!=="sold"&&e!=="held")return-1;let r=(n+1)*2654435761;return r^=r>>>15,r=Math.imul(r,2246822519),r^=r>>>13,(r>>>0)%1e5/1e5}var gi=.42;function Mi(t){let n=t.length,e=new Float64Array(n);if(n<2)return e.fill(1/0),e;let r=1/0,o=1/0,a=-1/0,i=-1/0;for(let d of t)d.x<r&&(r=d.x),d.y<o&&(o=d.y),d.x>a&&(a=d.x),d.y>i&&(i=d.y);let s=Math.max(a-r,1e-6),c=Math.max(i-o,1e-6),l=Math.max(Math.sqrt(s*c/n),1e-6),u=Math.max(1,Math.ceil(s/l)+1),f=Math.max(1,Math.ceil(c/l)+1),m=new Map,h=(d,y)=>{let b=Math.min(u-1,Math.max(0,Math.floor((d-r)/l)));return Math.min(f-1,Math.max(0,Math.floor((y-o)/l)))*u+b};for(let d=0;d<n;d++){let y=h(t[d].x,t[d].y),b=m.get(y);b?b.push(d):m.set(y,[d])}for(let d=0;d<n;d++){let y=t[d],b=Math.min(u-1,Math.max(0,Math.floor((y.x-r)/l))),p=Math.min(f-1,Math.max(0,Math.floor((y.y-o)/l))),g=1/0;for(let P=1;P<=4;P++){for(let _=p-P;_<=p+P;_++)if(!(_<0||_>=f))for(let M=b-P;M<=b+P;M++){if(M<0||M>=u||P>1&&Math.abs(_-p)<P&&Math.abs(M-b)<P)continue;let x=m.get(_*u+M);if(x)for(let A of x){if(A===d)continue;let R=Math.hypot(t[A].x-y.x,t[A].y-y.y);R<g&&(g=R)}}if(Number.isFinite(g)&&g<=P*l)break}e[d]=g}return e}function Pi(t){let n=t.eyeHeightM;return Number.isFinite(n)?Math.max(0,n-Mn):0}function no(t,n,e,r,o,a){let i=t.length,s=new Float32Array(i*3),c=new Float32Array(i),l=new Float32Array(i*3),u=new Float32Array(i),f=new Float32Array(i),m=new Float32Array(i),h=new Float32Array(i),d=new Float32Array(i*3),y=new Map,b=Mi(t);for(let p=0;p<i;p++){let g=t[p],_=(e?.seatPitchU(p)??b[p])*I;u[p]=Number.isFinite(_)?Math.max(.06,Math.min(En,_*gi)):En,f[p]=Je(Number.isFinite(_)?_:void 0);let M=He(g.glyph,{seatGlyph:a?.get(g.categoryKey)});m[p]=Ge.indexOf(M),h[p]=g.wheelchairSpaceType==="no-seat"?0:1,s[p*3]=g.x*I,s[p*3+1]=e?e.seatDeckY(p):Pi(g),s[p*3+2]=g.y*I,c[p]=Kn(n?n(g):"available");let x=it(o?.get(g.categoryKey)??"#6e7bff")??[.43,.48,1];if(l[p*3]=x[0],l[p*3+1]=x[1],l[p*3+2]=x[2],g.accessibility?.length){let A=it(gn(g.accessibility));A&&(d[p*3]=A[0],d[p*3+1]=A[1],d[p*3+2]=A[2])}y.set(g.id,p)}return{count:i,iPosition:s,iState:c,iCategory:l,iMaxRadius:u,iRing:d,idToIndex:y,iChairWidth:f,iGlyph:m,iPhysicalSeat:h,iFloor:r??new Float32Array(i),iSection:new Float32Array(i).fill(-1),iYaw:new Float32Array(i)}}var Ri=64;function Vl(t,n){let e=[];for(let i of n){let s=t.idToIndex.get(i.seatId);if(s===void 0)continue;let c=Kn(i.state);t.iState[s]!==c&&(t.iState[s]=c,e.push(s))}if(!e.length)return[];e.sort((i,s)=>i-s);let r=[],o=e[0],a=e[0];for(let i=1;i<e.length;i++){let s=e[i];if(s!==a){if(s<=a+Ri){a=s;continue}r.push({start:o,length:a-o+1}),o=s,a=s}}return r.push({start:o,length:a-o+1}),r}import Li from"polygon-clipping";var K={top:1,wallBottom:.58,bottomCap:.4};function jt(t,n){if(!t)return n;let e=V(St(t,.4),.62);return st(n,e,.22)}function eo(t,n){return t?st(n,V(St(t,.25),.74),.62):n}function oo(t,n){return t?st(n,V(St(t,.08),.9),.82):n}function ro(t,n){let e=new Map;for(let a of t.categories??[])e.set(a.key,a.color);let r=new Map;for(let a of n){if(!a.sectionId)continue;let i=r.get(a.sectionId);i||(i=new Map,r.set(a.sectionId,i)),i.set(a.categoryKey,(i.get(a.categoryKey)??0)+1)}let o=new Map;for(let[a,i]of r){let s=0,c=0,l=0,u=0;for(let[f,m]of i){let h=it(e.get(f));h&&(s+=h[0]*m,c+=h[1]*m,l+=h[2]*m,u+=m)}u>0&&o.set(a,[s/u,c/u,l/u])}return o}function io(t,n){return it(t.color)??n.get(t.logicalSectionId??t.id)??null}import go from"polygon-clipping";import lo from"polygon-clipping";import Ii from"earcut";var Si=.58,so=.01,It=En*1.5*Pt,_i=.5,Ai=.6;function wi(t,n){let e=t.length,r=[];for(let i=0;i<e;i++){let s=t[Math.max(0,i-1)],c=t[Math.min(e-1,i+1)],l=c.x-s.x,u=c.y-s.y,f=Math.hypot(l,u);if(f<1e-9){r.push([0,0]);continue}l/=f,u/=f,r.push([-u,l])}let o=0;for(let i=0;i<e;i++)o+=(t[i].x-n.x)*r[i][0]+(t[i].y-n.y)*r[i][1];return o<0?r.map(([i,s])=>[-i,-s]):r}function Ei(t,n){if(t.length<2||n<=0)return[...t];let e=[...t],r=(i,s)=>{let c=s.x-i.x,l=s.y-i.y,u=Math.hypot(c,l)||1;return{x:c/u,y:l/u}},o=r(e[1],e[0]),a=r(e[e.length-2],e[e.length-1]);return e.unshift({x:e[0].x+o.x*n,y:e[0].y+o.y*n}),e.push({x:e[e.length-1].x+a.x*n,y:e[e.length-1].y+a.y*n}),e}var ao=Math.PI/12;function Bi(t){if(t.length<3)return[...t];let n=[...t].sort((a,i)=>a.x-i.x||a.y-i.y),e=(a,i,s)=>(i.x-a.x)*(s.y-a.y)-(i.y-a.y)*(s.x-a.x),r=a=>{let i=[];for(let s of a){for(;i.length>=2&&e(i[i.length-2],i[i.length-1],s)<=0;)i.pop();i.push(s)}return i.pop(),i},o=[...r(n),...r([...n].reverse())];return o.length>=3?o:[...t]}function uo(t,n){if(!t.length||!(n>0))return[];let e=Bi(t),r=(s,c,l,u)=>{let f=l-c;for(;f<0;)f+=Math.PI*2;for(;f>Math.PI*2;)f-=Math.PI*2;let m=Math.max(1,Math.ceil(f/ao)),h=n/Math.cos(f/m/2);for(let d=0;d<=m;d++){let y=c+f*d/m;u.push({x:s.x+Math.cos(y)*h,y:s.y+Math.sin(y)*h})}};if(e.length<3){let s=0,c=0;for(let h of e)s+=h.x,c+=h.y;s/=e.length||1,c/=e.length||1;let l=0;for(let h of e)l=Math.max(l,Math.hypot(h.x-s,h.y-c));let u=[],f=Math.max(3,Math.ceil(Math.PI*2/ao)),m=(l+n)/Math.cos(Math.PI/f);for(let h=0;h<f;h++){let d=h/f*Math.PI*2;u.push({x:s+Math.cos(d)*m,y:c+Math.sin(d)*m})}return u}let o=e.length,a=[];for(let s=0;s<o;s++){let c=e[s],l=e[(s+1)%o];a.push(Math.atan2(-(l.x-c.x),l.y-c.y))}let i=[];for(let s=0;s<o;s++)r(e[s],a[(s+o-1)%o],a[s],i);return po(i)}function Ti(t,n,e){if(t.length===1)return Math.hypot(n-t[0].x,e-t[0].y);let r=1/0;for(let o=0;o+1<t.length;o++){let a=t[o],i=t[o+1],s=i.x-a.x,c=i.y-a.y,l=s*s+c*c,u=l>1e-12?((n-a.x)*s+(e-a.y)*c)/l:0;u<0?u=0:u>1&&(u=1);let f=Math.hypot(n-(a.x+u*s),e-(a.y+u*c));f<r&&(r=f)}return r}function Bn(t){let n=t.map(o=>{let a=0,i=0;for(let l of o.pts)a+=l.x,i+=l.y;let s=o.pts.length||1;a/=s,i/=s;let c=0;for(let l of o.pts){let u=Math.hypot(l.x-a,l.y-i);u>c&&(c=u)}return{cx:a,cy:i,rad:c}}),e=o=>{let a=o.length;return a<=2?[...o]:[o[Math.floor(a*.25)],o[Math.floor(a*.5)],o[Math.floor(a*.75)]]},r=[];for(let o=0;o<t.length;o++){let a=e(t[o].pts),i=[],s=1/0,c=null;for(let u of a){let f=1/0;for(let m=0;m<t.length;m++){if(m===o||Math.abs(t[m].y-t[o].y)<.001)continue;let h=n[m],d=Math.hypot(u.x-h.cx,u.y-h.cy)-h.rad;if(d>=f&&d>=s)continue;let y=Ti(t[m].pts,u.x,u.y);y<f&&(f=y),t[m].depth<t[o].depth&&y<s&&(s=y,c=t[m].y)}Number.isFinite(f)&&f>0&&i.push(f)}i.sort((u,f)=>u-f);let l=i.length?i[Math.floor(i.length/2)]:1;r.push({pitch:l,belowY:c})}return r}function fo(t,n,e,r){let o=t[n],a=o.pts.length>=2?[...o.pts]:o.pts.length===1?(()=>{let u=o.pts[0],f=u.x-r.x,m=u.y-r.y,h=Math.hypot(f,m)||1;f/=h,m/=h;let d=Math.max(e[n].pitch,.001)*.5;return[{x:u.x+m*d,y:u.y-f*d},{x:u.x-m*d,y:u.y+f*d}]})():[];if(a.length<2)return null;let i=0,s=0;for(let u=1;u<a.length;u++){let f=Math.hypot(a[u].x-a[u-1].x,a[u].y-a[u-1].y);f>1e-6&&(i+=f,s++)}let c=s>0?i/s:0,l=Ei(a,Math.max(c*Ai,It));return{pts:l,nrm:wi(l,r),front:Math.max(e[n].pitch*Si,It),back:Math.max(e[n].pitch*_i,It)}}var Zt=1.5,mo=.3;function $n(t,n){if(t.length<3)return t;let e=t[0],r=t[t.length-1],o=r.x-e.x,a=r.y-e.y,i=Math.hypot(o,a),s=-1,c=-1;for(let f=1;f<t.length-1;f++){let m=t[f],h=i>1e-12?Math.abs((m.x-e.x)*a-(m.y-e.y)*o)/i:Math.hypot(m.x-e.x,m.y-e.y);h>s&&(s=h,c=f)}if(s<=n||c<0)return[e,r];let l=$n(t.slice(0,c+1),n),u=$n(t.slice(c),n);return[...l.slice(0,-1),...u]}function ho(t,n){if(t.length<4)return t;let e=$n([...t,t[0]],n);return e.pop(),e.length>=3?e:t}function Oi(t){let n=t.map((r,o)=>{let a=t[(o+1)%t.length];return{a:r,b:a,i:o,minX:Math.min(r.x,a.x),maxX:Math.max(r.x,a.x),minY:Math.min(r.y,a.y),maxY:Math.max(r.y,a.y)}}).sort((r,o)=>r.minX-o.minX),e=(r,o,a)=>(o.x-r.x)*(a.y-r.y)-(o.y-r.y)*(a.x-r.x);for(let r=0;r<n.length;r++){let o=n[r];for(let a=r+1;a<n.length&&n[a].minX<=o.maxX;a++){let i=n[a];if(!(Math.abs(o.i-i.i)===1||Math.abs(o.i-i.i)===t.length-1||o.maxY<i.minY||i.maxY<o.minY)&&e(o.a,o.b,i.a)*e(o.a,o.b,i.b)<=0&&e(i.a,i.b,o.a)*e(i.a,i.b,o.b)<=0)return!0}}return!1}function yo(t,n,e){if(t.length<2)return[];let r=e??Bn(t),o=new Map;for(let i=0;i<t.length;i++){let s=o.get(t[i].blockId);s?s.push(i):o.set(t[i].blockId,[i])}let a=[];for(let[,i]of o){let s=[];for(let g of i){let P=t[g].patch;P&&P.length>=3?a.push({outline:[...P],holes:[],topY:t[g].y}):s.push(g)}if(!s.length)continue;s.sort((g,P)=>t[g].depth-t[P].depth);let l=s.map(g=>fo(t,g,r,n)).filter(g=>g!==null);if(!l.length)continue;let u=(g,P)=>({x:g.pts[P].x-g.nrm[P][0]*(g.front+Zt),y:g.pts[P].y-g.nrm[P][1]*(g.front+Zt)}),f=(g,P)=>({x:g.pts[P].x+g.nrm[P][0]*(g.back+Zt),y:g.pts[P].y+g.nrm[P][1]*(g.back+Zt)}),m=l[0],h=l[l.length-1],d=[];for(let g=0;g<m.pts.length;g++)d.push(u(m,g));for(let g of l)d.push(f(g,g.pts.length-1));for(let g=h.pts.length-1;g>=0;g--)d.push(f(h,g));for(let g=l.length-1;g>=0;g--)d.push(u(l[g],0));let y=po(d),b=1/0;for(let g of s)t[g].y<b&&(b=t[g].y);if(!Number.isFinite(b))continue;if(y.length>=3&&Math.abs(pt(y))>1e-6&&l.every(g=>{let P=g.pts[Math.floor(g.pts.length/2)];return xt(y,P.x,P.y)})&&!Oi(y)){a.push({outline:ho(y,mo),holes:[],topY:b});continue}for(let g of Ci(l))a.push({outline:g,holes:[],topY:b})}return a}function Ci(t){let n=[];for(let e of t){let r=[],o=[],a=e.front+Zt,i=e.back+Zt;for(let c=0;c<e.pts.length;c++){let l=e.pts[c],u=e.nrm[c];r.push([l.x-u[0]*a,l.y-u[1]*a]),o.push([l.x+u[0]*i,l.y+u[1]*i])}let s=[...r,...o.reverse()];s.length<3||(s.push(s[0]),n.push([s]))}if(!n.length)return[];try{let e=lo.union(n[0],...n.slice(1)),r=[];for(let o of e){if(!o.length||o[0].length<4)continue;let a=o[0].map(([c,l])=>({x:c,y:l})),i=a[0],s=a[a.length-1];a.length>1&&Math.abs(i.x-s.x)<1e-9&&Math.abs(i.y-s.y)<1e-9&&a.pop(),a.length>=3&&r.push(ho(a,mo))}return r}catch{return[]}}function po(t){let n=[];for(let e of t){let r=n[n.length-1];r&&Math.hypot(e.x-r.x,e.y-r.y)<1e-9||n.push(e)}for(;n.length>2&&Math.hypot(n[0].x-n[n.length-1].x,n[0].y-n[n.length-1].y)<1e-9;)n.pop();return n}var Qn=class{constructor(n){this.minX=1/0;this.minY=1/0;this.maxX=-1/0;this.maxY=-1/0;this.rings=n;for(let e of n)for(let r of e)r.x<this.minX&&(this.minX=r.x),r.y<this.minY&&(this.minY=r.y),r.x>this.maxX&&(this.maxX=r.x),r.y>this.maxY&&(this.maxY=r.y)}containsAll(n){for(let e of n)if(e.x<this.minX||e.x>this.maxX||e.y<this.minY||e.y>this.maxY)return!1;for(let e of this.rings){let r=!0;for(let o of n)if(!xt(e,o.x,o.y)){r=!1;break}if(r)return!0}return!1}};function co(t,n,e,r,o,a){if(r.length<3)return;if(e.containsAll(r)){let l=[0,1,0],u=r[0];for(let f=1;f+1<r.length;f++){let m=r[f],h=r[f+1];t.tri([u.x*I,o,u.y*I],[m.x*I,o,m.y*I],[h.x*I,o,h.y*I],l,a)}return}let i=r.map(l=>[l.x,l.y]);i.push(i[0]);let s;try{s=lo.intersection([i],n)}catch{return}let c=[0,1,0];for(let l of s){if(!l.length||l[0].length<4)continue;let u=l[0],f=[],m=[];for(let d=0;d<u.length-1;d++)f.push(u[d][0],u[d][1]),m.push([u[d][0],u[d][1]]);if(m.length<3)continue;let h=Ii(f,void 0,2);for(let d=0;d<h.length;d+=3){let y=m[h[d]],b=m[h[d+1]],p=m[h[d+2]];t.tri([y[0]*I,o,y[1]*I],[b[0]*I,o,b[1]*I],[p[0]*I,o,p[1]*I],c,a)}}}function xo(t,n,e,r,o,a,i){if(n.length<2)return;let s=i??Bn(n),c=[0,1,0],l=a&&a.length>=3?[[...a.map(h=>[h.x,h.y]),[a[0].x,a[0].y]]]:null,u=a&&a.length>=3?new Qn([[...a]]):null,f=h=>{t.setMaterial(2),h(),t.setMaterial(0)},m=h=>{t.setMaterial(3),h(),t.setMaterial(0)};for(let h=0;h<n.length;h++){let d=n[h];if(d.patch&&d.patch.length>=3){let M=[...d.patch],x=s[h].belowY??r;if(m(()=>{if(l&&u)co(t,l,u,M,d.y,o.tread);else{let A=M[0];for(let R=1;R+1<M.length;R++){let S=M[R],E=M[R+1];t.tri([A.x*I,d.y,A.y*I],[S.x*I,d.y,S.y*I],[E.x*I,d.y,E.y*I],c,o.tread)}}}),d.y>x+so){let A=0,R=0;for(let S of M)A+=S.x,R+=S.y;A/=M.length,R/=M.length,f(()=>{for(let S=0;S<M.length;S++){let E=M[S],T=M[(S+1)%M.length],F=T.x-E.x,k=T.y-E.y,w=Math.hypot(F,k);if(w<1e-6)continue;let B=k/w,C=-F/w;(E.x-A)*B+(E.y-R)*C<0&&(B=-B,C=-C);let L=[B,0,C],O=[E.x*I,d.y,E.y*I],D=[T.x*I,d.y,T.y*I],H=[E.x*I,x,E.y*I],j=[T.x*I,x,T.y*I];t.tri(O,D,j,L,o.riser),t.tri(O,j,H,L,o.riser)}})}continue}let y=fo(n,h,s,e);if(!y)continue;let{pts:b,nrm:p,front:g,back:P}=y,_=s[h].belowY??r;for(let M=0;M+1<b.length;M++){let x=b[M],A=b[M+1],R=p[M],S=p[M+1];if(Math.hypot(A.x-x.x,A.y-x.y)<1e-6||R[0]===0&&R[1]===0||S[0]===0&&S[1]===0)continue;let E=[(x.x-R[0]*g)*I,d.y,(x.y-R[1]*g)*I],T=[(A.x-S[0]*g)*I,d.y,(A.y-S[1]*g)*I],F=[(x.x+R[0]*P)*I,d.y,(x.y+R[1]*P)*I],k=[(A.x+S[0]*P)*I,d.y,(A.y+S[1]*P)*I];if(m(()=>{l&&u?co(t,l,u,[{x:x.x-R[0]*g,y:x.y-R[1]*g},{x:A.x-S[0]*g,y:A.y-S[1]*g},{x:A.x+S[0]*P,y:A.y+S[1]*P},{x:x.x+R[0]*P,y:x.y+R[1]*P}],d.y,o.tread):(t.tri(E,T,k,c,o.tread),t.tri(E,k,F,c,o.tread))}),d.y>_+so){let w=[E[0],_,E[2]],B=[T[0],_,T[2]],C=[-R[0],0,-R[1]];f(()=>{t.tri(E,T,B,C,o.riser),t.tri(E,B,w,C,o.riser)})}}}}function ki(t,n){let e=t.eventConfigurationIds;return!e?.length||!!n&&e.includes(n)}function bo(t,n){return t.filter(e=>e.type!=="shape"||ki(e,n))}function Mo(t,n){let e=t.focalPoint??{x:0,y:0};return t.floors?.length?t.floors.map((r,o)=>({objects:bo(r.objects,n),focal:{x:(r.focalPoint??e).x,y:(r.focalPoint??e).y},baseHeightM:r.baseHeightM??0,index:o})):[{objects:bo(t.objects,n),focal:e,baseHeightM:0,index:0}]}var Fi={minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};function Tt(t){return je(t)??Fi}function Po(t,n){let e=_t(t.outline,It),r=Tt(e),o=n.filter(i=>i!==t&&i.outline&&i.outline.length>=3&&Vt(r,Tt(i.outline)));if(!o.length)return[e];let a=i=>{let s=i.map(c=>[c.x,c.y]);return s.push(s[0]),s};try{let i=go.difference([a(e)],...o.map(c=>[a(c.outline)])),s=[];for(let c of i){if(!c.length)continue;let l=c[0].map(([u,f])=>({x:u,y:f}));if(l.length>1){let u=l[0],f=l[l.length-1];Math.abs(u.x-f.x)<1e-9&&Math.abs(u.y-f.y)<1e-9&&l.pop()}l.length>=3&&s.push(l)}return s.length?s:[e]}catch{return[e]}}function Ro(t,n){if(!n.length)return t;let e=a=>{let i=a.map(s=>[s.x,s.y]);return i.push(i[0]),i},r=n.map(a=>[e(a)]),o=[];for(let a of t){let i;try{i=go.intersection([e(a.outline)],r.flat())}catch{o.push(a);continue}for(let s of i){if(!s.length)continue;let c=s[0].map(([l,u])=>({x:l,y:u}));if(c.length>1){let l=c[0],u=c[c.length-1];Math.abs(l.x-u.x)<1e-9&&Math.abs(l.y-u.y)<1e-9&&c.pop()}c.length>=3&&o.push({outline:c,holes:[],topY:a.topY})}}return o.length?o:t}function Ni(t,n){return t===void 0||n===void 0?!0:Math.abs(t-n)<.001}var Tn=class{constructor(){this.rings=[];this.boxes=[];this.levels=[]}subtract(n,e){let r=n.map(c=>[c.x,c.y]);if(r.length<3)return[];r.push(r[0]);let o=Tt(n),a=this.rings.filter((c,l)=>Vt(o,this.boxes[l])&&Ni(e,this.levels[l])),i=[[r]];if(a.length)try{i=Li.difference([r],...a).map(l=>l.map(u=>u.map(([f,m])=>[f,m])))}catch{i=[[r]]}this.rings.push([r]),this.boxes.push(o),this.levels.push(e);let s=[];for(let c of i){if(!c.length)continue;let l=c[0].map(([u,f])=>({x:u,y:f}));if(l.length>1){let u=l[0],f=l[l.length-1];Math.abs(u.x-f.x)<1e-9&&Math.abs(u.y-f.y)<1e-9&&l.pop()}l.length>=3&&s.push(l)}return s}};function On(t,n){if(!n)return t;let e=1/0,r=-1/0,o=1/0,a=-1/0;for(let f of t)e=Math.min(e,f.x),r=Math.max(r,f.x),o=Math.min(o,f.y),a=Math.max(a,f.y);let i=(e+r)/2,s=(o+a)/2,c=n*Math.PI/180,l=Math.cos(c),u=Math.sin(c);return t.map(f=>{let m=f.x-i,h=f.y-s;return{x:i+m*l-h*u,y:s+m*u+h*l}})}function ct(t){let n=null;if(t.kind==="polygon"&&t.points&&t.points.length>=3&&(n=t.points),t.kind==="rect"&&t.width&&t.height&&(n=an(t.x??0,t.y??0,t.width,t.height)),t.kind==="ellipse"&&t.width&&t.height){let e=(t.x??0)+t.width/2,r=(t.y??0)+t.height/2;n=wn(e,r,t.width/2,t.height/2)}return n?On(n,t.rotation):null}function At(t){let n=t.role??"",e={stage:{kind:"stage",heightM:1},entrance:{kind:"portal",heightM:2.7},exit:{kind:"portal",heightM:2.7},screen:{kind:"solid",heightM:6},wall:{kind:"solid",heightM:2.8},rail:{kind:"solid",heightM:1.1},suite:{kind:"suite",heightM:3},obstruction:{kind:"solid",heightM:4.5},sound:{kind:"solid",heightM:1.45},restroom:{kind:"solid",heightM:2.4},bar:{kind:"solid",heightM:1.1},concession:{kind:"solid",heightM:1.1},coat:{kind:"solid",heightM:1.1},goal:{kind:"portal",heightM:1.8}},r=n==="stage"&&Fe(t.stageKind)?{kind:"stage",heightM:t.stageKind==="ring-boxing"?ke:.06}:e[n]??{kind:"plate",heightM:.25};return{...r,heightM:t.heightM??r.heightM}}var vi=.08,Di=30,Gi=.015;function Hi(t,n){let e=!1;for(let r=0,o=n.length-1;r<n.length;o=r++){let a=n[r],i=n[o];a.y>t.y!=i.y>t.y&&t.x<(i.x-a.x)*(t.y-a.y)/(i.y-a.y)+a.x&&(e=!e)}return e}function Io(t,n){let e=ct(t)??(t.points?.length?On(t.points,t.rotation):null),r=At(t),a=!t.role&&r.kind==="plate"&&t.heightM===void 0&&!!e&&Math.abs(pt(e))*$**2>=Di?Gi:r.heightM;if(!e)return{topOffsetM:a,supportOffsetM:0};if(r.kind!=="plate"&&r.kind!=="stage")return{topOffsetM:a,supportOffsetM:0};let i=1/0,s=1/0,c=-1/0,l=-1/0;for(let h of e)i=Math.min(i,h.x),s=Math.min(s,h.y),c=Math.max(c,h.x),l=Math.max(l,h.y);let u=a,f=0,m=1e-6*Math.max(1,c-i,l-s);for(let h of n)c>h.minX&&i<h.maxX&&l>h.minY&&s<h.maxY&&u<=h.topOffsetM+1e-6&&(u=h.topOffsetM+vi),i>=h.minX-m&&c<=h.maxX+m&&s>=h.minY-m&&l<=h.maxY+m&&(!h.poly||e.every(b=>Hi(b,h.poly)||Xi(b,h.poly,m)))&&(f=Math.max(f,h.topOffsetM));return t.fill&&t.fill!=="none"&&t.fill!=="transparent"&&n.push({minX:i,minY:s,maxX:c,maxY:l,topOffsetM:u,poly:e}),{topOffsetM:u,supportOffsetM:Math.min(f,u)}}function Xi(t,n,e){for(let r=0,o=n.length-1;r<n.length;o=r++){let a=n[o],i=n[r],s=i.x-a.x,c=i.y-a.y,l=s*s+c*c,u=l?Math.max(0,Math.min(1,((t.x-a.x)*s+(t.y-a.y)*c)/l)):0;if(Math.hypot(t.x-(a.x+u*s),t.y-(a.y+u*c))<=e)return!0}return!1}function Nt(t,n,e){return{x:t.x+(n.x-t.x)*e,y:t.y+(n.y-t.y)*e}}function bt(t){if(t.length!==4)return t;let n=Math.hypot(t[1].x-t[0].x,t[1].y-t[0].y),e=Math.hypot(t[2].x-t[1].x,t[2].y-t[1].y);return n>=e?t:[t[1],t[2],t[3],t[0]]}function dt(t,n,e){return[Nt(t[0],t[1],n),Nt(t[0],t[1],e),Nt(t[3],t[2],e),Nt(t[3],t[2],n)]}function cn(t,n,e){return[Nt(t[0],t[3],n),Nt(t[1],t[2],n),Nt(t[1],t[2],e),Nt(t[0],t[3],e)]}function ot(t,n,e,r,o,a){Z(t,n,void 0,()=>e,r,o,a,K)}function ln(t){if(t.length<3)return t.map(a=>({...a}));let n=[...t].sort((a,i)=>a.x-i.x||a.y-i.y),e=(a,i,s)=>(i.x-a.x)*(s.y-a.y)-(i.y-a.y)*(s.x-a.x),r=a=>{let i=[];for(let s of a){for(;i.length>=2&&e(i[i.length-2],i[i.length-1],s)<=0;)i.pop();i.push(s)}return i.pop(),i},o=[...r(n),...r([...n].reverse())];return o.length>=3?o.map(a=>({...a})):n.map(a=>({...a}))}var ji=.8,Ui=.6,Wi=2;function vt(t,n){if(!n.length)return null;let e=[],r=0;for(let i of t.objects){if(i.type!=="shape"||i.role!=="wall")continue;let s=ct(i)??[],c=So(s)/2;!(c>0)||Ki(s)/c*I>Wi||(e.push(...s),r+=c)}if(e.length<3)return null;let o=ln(e);if(o.length<3||r<So(o)*Ui)return null;let a=0;for(let i of n)Vi(i,o)&&(a+=1);return a>=n.length*ji?o:null}var Cn=6,Yi=5,zi=8;function _o(t){return Math.max(zi,(Number.isFinite(t)?t:0)+Yi)}function qt(t){let n=0,e=0,r=0;for(let o=0;o<t.length;o++){let a=t[o],i=t[(o+1)%t.length],s=a.x*i.y-i.x*a.y;n+=s,e+=(a.x+i.x)*s,r+=(a.y+i.y)*s}if(Math.abs(n)<1e-9){let o=0,a=0;for(let i of t)o+=i.x,a+=i.y;return{x:o/Math.max(1,t.length),y:a/Math.max(1,t.length)}}return{x:e/(3*n),y:r/(3*n)}}function Ki(t){let n=0;for(let e=0;e<t.length;e++){let r=t[e],o=t[(e+1)%t.length];n+=r.x*o.y-o.x*r.y}return Math.abs(n)/2}function So(t){let n=0;for(let e=0;e<t.length;e++){let r=t[e],o=t[(e+1)%t.length];n+=Math.hypot(o.x-r.x,o.y-r.y)}return n}function Vi(t,n){let e=!1;for(let r=0,o=n.length-1;r<n.length;o=r++){let a=n[r],i=n[o];a.y>t.y!=i.y>t.y&&t.x<(i.x-a.x)*(t.y-a.y)/(i.y-a.y)+a.x&&(e=!e)}return e}var Zi=[[/\b(wc|toilets?|restrooms?|washrooms?|lavatory|loo)\b/i,"restroom"],[/\b(bar|drinks|pub|cocktails?)\b/i,"bar"],[/\b(food|concessions?|snacks?|kiosk|caf[eé]|kitchen|catering)\b/i,"concession"],[/\b(coat ?check|cloak ?room|cloakroom|coats)\b/i,"coat"],[/\b(screen|led wall|projection|video wall)\b/i,"screen"],[/\b(sound|foh|mixing desk|control booth)\b/i,"sound"],[/\b(entrance|entry|way in|gate)\b/i,"entrance"],[/\b(exit|way out)\b/i,"exit"],[/\b(pillar|column|obstruction)\b/i,"obstruction"],[/\b(walls?|outline|boundary|perimeter)\b/i,"wall"]],qi=1.2,$i=12;function Ao(t){if(t.heightM!==void 0)return!1;let n=ct(t);if(!n||n.length<3)return!1;let e=0;for(let o=0;o<n.length;o++){let a=n[o],i=n[(o+1)%n.length];e+=Math.hypot(i.x-a.x,i.y-a.y)}return e*$<$i*2?!1:2*un(n)/e*$<=qi}function Jn(t){if(!t)return null;for(let[n,e]of Zi)if(n.test(t))return e;return null}var Eo="auto-rows-";function Bo(t){return t.id.startsWith(Eo)&&!t.label}var Qi=1.15,Ji=.09,To=6,ts=34,ns=.35,es=6,os=.35,rs=.75,is=12,ss=2.5,as=40,cs=[18,24],ls=[12,16],wo=14,us=.8,fs=.6,ms=5,hs=.3,Oo=.4,Co=2,ys=400,ds=2.6,ps=.8,xs=4,bs=26,gs=.7,Ms=.5,Ps=.985,Rs=1.5,Is=2.2,Ss=3,_s=25,As=.985,ws=2,Es=6,Bs=3,Ts=.1,Os=1.5,Cs=1.6,ks=6e3,Fs=.6,Ls="#c3c7cd",te=300,Ns=240;function vs(t,n,e,r){if(!t.fill||!/^#[0-9a-f]{6}$/i.test(t.fill))return null;let o=ee([...n]),a=new Set;for(let u of r)a.add(Math.floor(Math.atan2(u.y-o.y,u.x-o.x)*180/Math.PI/10));if(a.size*10<Ns)return null;let{h:i,s,l:c}=De(ve(t.fill));return i<70/360||i>170/360||s<.2||c<.08||c>.75||e.some(u=>u!==t&&u.type==="shape"&&ct(u)?.some(f=>ie(f,n)))?null:t.kind==="ellipse"?"oval-cricket":t.kind==="rect"?"pitch-football":null}var Ds="Estimated from the drawing; confirm with the venue.",oe=t=>{if(!t.length)return null;let n=[...t].sort((r,o)=>r-o),e=Math.floor(n.length/2);return n.length%2?n[e]:(n[e-1]+n[e])/2},ee=t=>({x:t.reduce((n,e)=>n+e.x,0)/t.length,y:t.reduce((n,e)=>n+e.y,0)/t.length}),un=t=>{let n=0;for(let e=0;e<t.length;e++){let r=t[e],o=t[(e+1)%t.length];n+=r.x*o.y-o.x*r.y}return Math.abs(n)/2};function Gs(t){return t.height!==void 0||t.rake!==void 0||t.elevation!==void 0||t.surfaceKind!==void 0}function re(t){let n=new Map;for(let e of t){let r=n.get(e.rowId);r?r.push(e):n.set(e.rowId,[e])}return n}function ie(t,n){let e=!1;for(let r=0,o=n.length-1;r<n.length;o=r++){let a=n[r],i=n[o];a.y>t.y!=i.y>t.y&&t.x<(i.x-a.x)*(t.y-a.y)/(i.y-a.y)+a.x&&(e=!e)}return e}function se(t,n){let e=n[0],r=1/0;for(let o=0;o<n.length;o++){let a=n[o],i=n[(o+1)%n.length],s=i.x-a.x,c=i.y-a.y,l=s*s+c*c,u=l>0?Math.max(0,Math.min(1,((t.x-a.x)*s+(t.y-a.y)*c)/l)):0,f={x:a.x+s*u,y:a.y+c*u},m=Math.hypot(t.x-f.x,t.y-f.y);m<r&&(r=m,e=f)}return e}function ko(t,n){let e=0,r=0;for(let o of t.values()){if(o.length<3)continue;let a=o[0],i=o[o.length-1],s=i.x-a.x,c=i.y-a.y,l=Math.hypot(s,c);if(l<1e-6)continue;let u={x:(a.x+i.x)/2,y:(a.y+i.y)/2},f=se(u,n),m=f.x-u.x,h=f.y-u.y,d=Math.hypot(m,h);d<1e-6||(r+=Math.abs((-c*m+s*h)/(l*d))*o.length,e+=o.length)}return e?r/e:0}function Hs(t,n,e){let r=t.filter(y=>y.type==="shape"),o=r.find(y=>y.role==="stage");if(o){let y=ct(o);return y?{shape:o,centre:ee(y),outline:y,inferred:!1}:null}if(!e.length)return null;let a=1/0,i=-1/0,s=1/0,c=-1/0;for(let y of e)a=Math.min(a,y.x),i=Math.max(i,y.x),s=Math.min(s,y.y),c=Math.max(c,y.y);let l=(i-a)*(c-s),u=[];for(let y of r){if(y.role)continue;let b=ct(y);if(!b)continue;let p=un(b);if(p*$*$<6||p>l)continue;let g=Math.min(...b.map(S=>S.x)),P=Math.max(...b.map(S=>S.x)),_=Math.min(...b.map(S=>S.y)),M=Math.max(...b.map(S=>S.y)),x=0;for(let S of e)S.x>g&&S.x<P&&S.y>_&&S.y<M&&ie(S,b)&&x++;if(x>e.length*.05)continue;let A=ee(b),R=ko(n,b);R>=us&&u.push({shape:y,centre:A,outline:b,score:R,area:p,box:[g,_,P,M]})}let f=(y,b)=>b!==y&&b.area>y.area&&y.box[0]>=b.box[0]-1e-6&&y.box[1]>=b.box[1]-1e-6&&y.box[2]<=b.box[2]+1e-6&&y.box[3]<=b.box[3]+1e-6,m=u.filter(y=>!u.some(b=>f(y,b))),h=Math.max(0,...m.map(y=>y.score)),d=m.filter(y=>y.score>=h-.03).sort((y,b)=>b.area-y.area)[0]??null;return d?{shape:d.shape,centre:d.centre,outline:d.outline,inferred:!0}:null}function Xs(t,n,e){if(!e||e.length<3)return Math.hypot(t.x-n.x,t.y-n.y);let r=se(t,e);return Math.hypot(t.x-r.x,t.y-r.y)}function Fo(t){let n=[...t].sort((a,i)=>a.x-i.x||a.y-i.y);if(n.length<3)return n;let e=(a,i,s)=>(i.x-a.x)*(s.y-a.y)-(i.y-a.y)*(s.x-a.x),r=[];for(let a of n){for(;r.length>=2&&e(r[r.length-2],r[r.length-1],a)<=0;)r.pop();r.push(a)}let o=[];for(let a=n.length-1;a>=0;a--){let i=n[a];for(;o.length>=2&&e(o[o.length-2],o[o.length-1],i)<=0;)o.pop();o.push(i)}return[...r.slice(0,-1),...o.slice(0,-1)]}function js(t){if(!t.length||t.length>ks)return[];let n=[...re(t).values()],e=n.map((s,c)=>c),r=s=>e[s]===s?s:e[s]=r(e[s]),o=Cs/$,a=n.map(s=>({minX:Math.min(...s.map(c=>c.x))-o,maxX:Math.max(...s.map(c=>c.x))+o,minY:Math.min(...s.map(c=>c.y))-o,maxY:Math.max(...s.map(c=>c.y))+o}));for(let s=0;s<n.length;s++)for(let c=s+1;c<n.length;c++){let l=a[s],u=a[c];if(l.maxX<u.minX||u.maxX<l.minX||l.maxY<u.minY||u.maxY<l.minY)continue;n[s].some(m=>n[c].some(h=>Math.hypot(m.x-h.x,m.y-h.y)<=o))&&(e[r(s)]=r(c))}let i=new Map;return n.forEach((s,c)=>{let l=r(c),u=i.get(l);u?u.push(...s):i.set(l,[...s])}),[...i.values()].filter(s=>new Set(s.map(c=>c.rowId)).size>=2)}function Us(t,n,e){if(!n.length)return null;let r=n.filter(R=>e.tableIds.has(R.rowId)||R.kind==="booth").length>n.length/2,o=re(n),a=!e.outline||ko(o,e.outline)>=fs,i=0,s=0;for(let R of o.values()){if(R.length<2)continue;let S=R[0],E=R[R.length-1],T=E.x-S.x,F=E.y-S.y,k=Math.hypot(T,F);if(k<1e-6)continue;let w={x:(S.x+E.x)/2,y:(S.y+E.y)/2},B=a?e.outline?se(w,e.outline):e.focal:e.middle,C=-F/k,L=T/k;C*(B.x-w.x)+L*(B.y-w.y)<0&&(C=-C,L=-L),i+=C*R.length,s+=L*R.length}let c={x:n.reduce((R,S)=>R+S.x,0)/n.length,y:n.reduce((R,S)=>R+S.y,0)/n.length};if(Math.hypot(i,s)<1e-9){let R=a?e.focal:e.middle;i=R.x-c.x,s=R.y-c.y}let l=Math.hypot(i,s)||1,u={x:i/l,y:s/l},f=R=>-(R.x*u.x+R.y*u.y),m=R=>-R.x*u.y+R.y*u.x,h=1/0,d=-1/0,y=1/0,b=-1/0,p=1/0,g=new Map;for(let R of n){let S=f(R),E=m(R);h=Math.min(h,S),d=Math.max(d,S),y=Math.min(y,E),b=Math.max(b,E),a&&(p=Math.min(p,Xs(R,e.focal,e.outline)));let T=R.logicalRowId??R.rowId,F=g.get(T);F?F.push(S):g.set(T,[S])}a||(p=Math.max(0,h-f(e.middle)));let P=[...g.values()].map(R=>oe(R)).sort((R,S)=>R-S),_=[];if(!r)for(let R of P)_.length&&R-_[_.length-1]<os/$||_.push(R);let M=Gs(t),x=zt(t,{floorBaseHeightM:e.baseHeightM}),A={id:t.id,section:t,authored:M,plane:e,facing:u,facesAction:a,hull:Fo(n),sample:n.filter((R,S)=>S%Math.ceil(n.length/ys)===0),frontD:h,backD:d,latMin:y,latMax:b,frontDistance:p,rowDepths:_,rowCount:_.length,level:0,height:x.height,rake:M?x.rake:0,backHeight:0};return A.backHeight=A.height+(d-h)*$*Math.tan(A.rake*Math.PI/180),A}function Ws(t,n,e,r){if(t.length<2)return 0;let o=Math.max(1,n*$),a=e+Qi-r,i=0,s=0;for(let l=1;l<t.length;l++){let u=Math.max(rs,(t[l]-t[l-1])*$),f=(a+Ji)*(o+u)/o;i+=f-a,s+=u,a=f,o+=u}let c=Math.atan(i/s)*180/Math.PI;return Math.round(Math.max(To,Math.min(ts,c))*10)/10}function Ys(t,n,e=!1){if(!e&&t.facing.x*n.facing.x+t.facing.y*n.facing.y<hs)return null;let r=-1/0,o=1/0,a=-1/0;for(let m of n.hull){r=Math.max(r,-(m.x*t.facing.x+m.y*t.facing.y));let h=-m.x*t.facing.y+m.y*t.facing.x;o=Math.min(o,h),a=Math.max(a,h)}if(Math.min(t.latMax,a)-Math.max(t.latMin,o)<(e?1e-6:Oo*(t.latMax-t.latMin)))return null;let s=Co/$,c=new Map,l=new Map;for(let m of t.sample){let h=Math.floor((-m.x*t.facing.y+m.y*t.facing.x)/s),d=-(m.x*t.facing.x+m.y*t.facing.y);c.set(h,Math.min(c.get(h)??1/0,d))}for(let m of n.sample){let h=Math.floor((-m.x*t.facing.y+m.y*t.facing.x)/s),d=-(m.x*t.facing.x+m.y*t.facing.y);l.set(h,Math.max(l.get(h)??-1/0,d))}let u=[];for(let[m,h]of c){let d=l.get(m);d!==void 0&&u.push(h-d)}let f=u.length?oe(u):t.frontD-r;return f<-1/$?null:f}function zs(t,n){if(n.plane.floorIndex>=t.plane.floorIndex)return!1;let e=-1/0,r=1/0,o=1/0,a=-1/0;for(let c of n.hull){let l=-(c.x*t.facing.x+c.y*t.facing.y);e=Math.max(e,l),r=Math.min(r,l);let u=-c.x*t.facing.y+c.y*t.facing.x;o=Math.min(o,u),a=Math.max(a,u)}let i=Math.min(t.latMax,a)-Math.max(t.latMin,o),s=Math.min(t.backD,e)-Math.max(t.frontD,r);return i>Oo*(t.latMax-t.latMin)&&s>1/$}function Ks(t,n){let e=new Set;for(let r of t){let o=(Math.atan2(r.y-n.y,r.x-n.x)*180/Math.PI+360)%360;e.add(Math.floor(o/10))}return e.size/36}function Vs(t,n){let e=1/0,r=-1/0;for(let a of n.hull){let i=-(a.x*t.facing.x+a.y*t.facing.y);e=Math.min(e,i),r=Math.max(r,i)}let o=Math.max(0,Math.min(r-e,t.frontD-e));return n.height+o*$*Math.tan(n.rake*Math.PI/180)}function Zs(t,n){if(!t.facesAction)return!1;let e={x:-t.facing.y,y:t.facing.x},r=Co/$,o=Math.max(1,Math.ceil((t.backD-t.frontD)/r)),a={left:new Map,right:new Map};for(let s of n)if(!(s===t||s.plane.floorIndex!==t.plane.floorIndex)&&!(s.facing.x*t.facing.x+s.facing.y*t.facing.y>=Ps))for(let c of s.sample){let l=-(c.x*t.facing.x+c.y*t.facing.y);if(l<t.frontD||l>t.backD)continue;let u=-c.x*t.facing.y+c.y*t.facing.x,f=u<t.latMin?"left":u>t.latMax?"right":null;if(!f)return!1;let m=Math.min(o-1,Math.floor((l-t.frontD)/r)),h=f==="left"?t.latMin-u:u-t.latMax;h<(a[f].get(m)?.gap??1/0)&&a[f].set(m,{gap:h,other:s})}let i=s=>{let c=s==="left"?t.latMin:t.latMax,l=0;for(let[u,{other:f}]of a[s]){if((f.facing.x*e.x+f.facing.y*e.y)*(s==="left"?1:-1)<gs)continue;let h=t.frontD+(u+.5)*r,d={x:-h*t.facing.x+c*e.x,y:-h*t.facing.y+c*e.y},y=-(d.x*f.facing.x+d.y*f.facing.y),b=-d.x*f.facing.y+d.y*f.facing.x;y<f.frontD&&b>=f.latMin&&b<=f.latMax&&l++}return l/o>=Ms};return i("left")&&i("right")}function qs(t,n){if(n.plane.floorIndex!==t.plane.floorIndex||n.facing.x*t.facing.x+n.facing.y*t.facing.y<As)return!1;let e=1/0,r=-1/0,o=1/0;for(let s of n.hull){let c=-s.x*t.facing.y+s.y*t.facing.x;e=Math.min(e,c),r=Math.max(r,c),o=Math.min(o,-(s.x*t.facing.x+s.y*t.facing.y))}let a=(t.frontD-o)*$;if(a<-ws||a>Es)return!1;let i=Math.max(e-t.latMax,t.latMin-r);return i*$<=Bs&&i*$>=-Ts}function $s(t,n=!1,e=!1,r){let o=n?ls:cs,a=new Set(e?[]:t.filter(y=>!y.authored&&Zs(y,t))),i=[...t].sort((y,b)=>y.plane.floorIndex-b.plane.floorIndex||Number(a.has(b))-Number(a.has(y))||y.frontDistance-b.frontDistance);for(let y of a)r?.add(y.id);let s=(y,b,p)=>{let g=new Map,P=[],_=new Map,M=x=>{if(x.plane.floorIndex===0||x.plane.baseHeightM>0)return x.plane.baseHeightM;let A=_.get(x.plane.floorIndex-1);return A===void 0?x.plane.baseHeightM:A+Ke};for(let x of i){if(a.has(x))x.height=M(x),x.level=0,x.rake=0,x.backHeight=x.height,g.set(x.id,void 0);else if(!x.authored){let R=M(x),S;for(let w of P){if(w.plane.floorIndex>x.plane.floorIndex)continue;if(zs(x,w)){let O=Vs(x,w)+ds;O>R&&(R=O,S=w);continue}let B=Ys(x,w,a.has(w));if(B==null)continue;let C=e&&!!x.plane.stageDeck&&w.level===0&&w.plane.floorIndex===x.plane.floorIndex&&Math.max(0,B)*$<=xs,L=a.has(w)?w.height+Rs:C?w.backHeight:w.backHeight+ns+Math.min(es,Math.max(0,B)*$)*Math.tan(w.rake*Math.PI/180);L>R&&(R=L,S=w)}let E=y.get(x);E&&E.height>R+.01?(R=E.height,S=void 0):E=void 0,x.height=Math.round(Math.min(R,x.plane.baseHeightM+as)*100)/100;let T=!S&&!E&&x.height>x.plane.baseHeightM;if(x.level=S?S.level+1:E?E.level:T?1:0,x.rake=Ws(x.rowDepths,x.frontDistance,x.height,x.plane.focalHeightM),!x.facesAction&&x.rowCount<ms)x.rake=0;else if(x.level===0){let w=Math.max(1e-6,(x.backD-x.frontD)*$);x.rake=Math.min(x.rake,is,Math.round(Math.atan(ss/w)*1800/Math.PI)/10)}else x.rowCount>=2&&(x.rake=Math.max(x.rake,o[Math.min(x.level,o.length)-1]));let F=(x.backD-x.frontD)*$,k=S&&a.has(S)||E&&p?.has(E.id);if(b!==void 0&&k&&x.rowCount>=2&&(x.rake=b),n&&F>0&&x.height+F*Math.tan(x.rake*Math.PI/180)>x.plane.baseHeightM+wo){let w=Math.max(0,x.plane.baseHeightM+wo-x.height);x.rake=Math.max(To,Math.round(Math.atan(w/F)*1800/Math.PI)/10)}e&&x.plane.stageDeck&&x.level>0&&(x.rake=Math.min(x.rake,bs)),x.backHeight=x.height+F*Math.tan(x.rake*Math.PI/180),g.set(x.id,S?.id??(E?g.get(E.id):void 0))}let A=x.plane.floorIndex;_.set(A,Math.min(_.get(A)??1/0,x.height)),P.push(x)}return g},c=s(new Map),l=new Map,u=y=>l.get(y)?.height??y.height;for(let y=!0,b=0;y&&b<t.length;b++){y=!1;for(let p of t)if(!(p.authored||a.has(p)))for(let g of t){let P=l.get(g)??g;g===p||P.height-P.plane.baseHeightM<Os||P.height<=u(p)+.01||qs(p,g)&&(l.set(p,P),y=!0)}}let f=new Map(t.map(y=>[y.id,y])),m=t.filter(y=>!y.authored&&y.rowCount>=2&&a.has(f.get(c.get(y.id)??""))),h=m.length?oe(m.map(y=>y.rake)):void 0;if(!l.size&&h===void 0)return c;let d=new Map([...new Set(l.values())].map(y=>[y,{...y}]));return s(new Map([...l].map(([y,b])=>[y,d.get(b)])),h,new Set(m.map(y=>y.id)))}var ne=(t,n)=>!!t&&t.x===n.x&&t.y===n.y;function Lo(t,n={x:0,y:-40}){let e=In(t),r=new Map;for(let p of e){if(!p.sectionId)continue;let g=r.get(p.sectionId);g?g.push(p):r.set(p.sectionId,[p])}let o={focalInferred:!1,confident:!1,sections:[]},a=t.floors?.length?t.floors.map((p,g)=>({objects:p.objects,floorIndex:g,floorId:p.id,baseHeightM:p.baseHeightM??0,focal:p.focalPoint??t.focalPoint})):[{objects:t.objects,floorIndex:0,floorId:void 0,baseHeightM:0,focal:t.focalPoint}],i=new Set(a.flatMap(p=>p.objects.filter(g=>g.type==="table").map(g=>g.id))),s=[],c,l=new Set,u=a.map(p=>{let g=k=>!t.floors?.length||k.floorId===p.floorId,P=js(e.filter(k=>!k.sectionId&&k.kind!=="booth"&&!i.has(k.rowId)&&g(k))),_=[];for(let k of P){let w=_t(Et(Fo(k)),Fs/$);if(e.some(C=>!g(C)&&ie(C,w)))continue;let B=`${Eo}${p.floorIndex}-${_.length}`;l.add(B),r.set(B,k),_.push({type:"section",id:B,label:"",color:Ls,outline:w})}let M=_.length?{...p,objects:[...p.objects,..._]}:p,x=new Set(M.objects.filter(k=>k.type==="section").map(k=>k.logicalSectionId??k.id)),A=[...r.entries()].filter(([k])=>x.has(k)).flatMap(([,k])=>k),R=Hs(M.objects,re(A),A),S=M.focal;(R||M.focal&&!ne(M.focal,n))&&(o.confident=!0),R&&(o.stage??={id:R.shape.id,inferred:R.inferred,...M.floorId?{floorId:M.floorId}:{}},(R.inferred||ne(M.focal,n))&&(S=R.centre,o.focalInferred=!0));let E=R&&(!R.inferred||un(R.outline)*$*$<=te),T=R?void 0:c,F={tableIds:i,floorIndex:M.floorIndex,floorId:M.floorId,baseHeightM:M.baseHeightM,focal:T?.focal??S,outline:R?.outline??T?.outline,focalHeightM:T?.focalHeightM??M.baseHeightM+(R&&E?At({...R.shape,role:"stage"}).heightM:0),stageDeck:T?.stageDeck??!!(R&&E&&un(R.outline)*$*$<=te),middle:A.length?{x:A.reduce((k,w)=>k+w.x,0)/A.length,y:A.reduce((k,w)=>k+w.y,0)/A.length}:S};for(let k of M.objects){if(k.type!=="section")continue;let w=Us(k,r.get(k.logicalSectionId??k.id)??[],F);w&&s.push(w)}return F.outline&&(c=F),ne(M.focal,F.focal)||(o.focal??=[]).push({...M.floorId?{floorId:M.floorId}:{},point:{...F.focal}}),{unit:M,plane:F,stage:R,planeSeats:A}}),f=a.flatMap(p=>p.objects).map(p=>p.type==="shape"&&!p.role&&(Jn(p.label)==="wall"||!Jn(p.label)&&Ao(p))?{...p,role:"wall"}:p),m=vt({objects:f},e)!==null;m&&(o.indoor=!0);let h=new Set,d=$s(s,m,Ks(e,u[0]?.plane.focal??n)<ps,h),y=new Map(s.filter(p=>!p.authored).map(p=>[p.id,p])),b=u.map(({unit:p,plane:g,stage:P,planeSeats:_})=>p.objects.map(M=>{let x=M.type==="shape"&&!M.role&&M.id!==P?.shape.id?Jn(M.label):null;if(M.type==="shape"&&!M.role&&M.id!==P?.shape.id&&(x==="wall"||!x&&Ao(M))&&M.type==="shape"){(o.roles??=[]).push({id:M.id,...g.floorId?{floorId:g.floorId}:{},role:"wall"});let{fill:w,...B}=M;return{...B,role:"wall"}}if(x&&M.type==="shape")return(o.roles??=[]).push({id:M.id,...g.floorId?{floorId:g.floorId}:{},role:x}),{...M,role:x};let R=P?.inferred&&M.id===P.shape.id&&M.type==="shape"?vs(M,P.outline,p.objects,_):null;if(R&&M.type==="shape")return o.stage?.id===M.id&&(o.stage.field=R),{...M,role:"stage",stageKind:R};let S=M.type==="shape"&&M.id===P?.shape.id&&M.heightM===void 0&&!M.stageKind&&s.some(w=>w.plane===g&&(h.has(w.id)||w.level===0&&w.facesAction&&w.rake<=Ss&&(w.frontDistance+w.backD-w.frontD)*$>=_s)),E=S?{heightM:Is}:{};if(P?.inferred&&M.id===P.shape.id&&M.type==="shape"&&un(P.outline)*$*$<=te)return o.stage?.id===M.id&&(o.stage.deck=!0),{...M,role:"stage",...E};if(S&&M.type==="shape"&&M.role==="stage")return{...M,...E};let T=M.type==="section"?y.get(M.id):void 0;if(!T||M.type!=="section")return M;let F=T.rowCount>=2&&T.rake>0;l.has(T.id)?o.looseRowBlocks=(o.looseRowBlocks??0)+1:o.sections.push({id:T.id,floorId:g.floorId,surfaceKind:F?"rakedRows":"flat",height:T.height,rake:T.rake,stackedOn:d.get(T.id)});let k={status:"inferred",source:"public-2d-topology",note:Ds};return{...M,height:T.height,rake:T.rake,surfaceKind:F?"rakedRows":"flat",physical3dProvenance:{height:k,rake:k,surfaceKind:k}}}));if(t.floors?.length){let p=t.floors.map((g,P)=>({...g,objects:b[P],focalPoint:u[P].plane.focal}));return{doc:{...t,floors:p,objects:p[0].objects,focalPoint:p[0].focalPoint},report:o}}return{doc:{...t,objects:b[0],focalPoint:u[0].plane.focal},report:o}}function Fu(t,n,e){return e<0?n>1?t.filter(r=>r.kind==="floor"):[...t]:t.filter(r=>r.floorIndex===void 0||r.floorIndex===e)}function Lu(t,n){let e=[...t].sort((o,a)=>o.screen.y-a.screen.y),r=[];for(let o of e){let a=r.find(i=>i.some(s=>Math.abs(s.screen.x-o.screen.x)<104&&Math.abs(s.screen.y-o.screen.y)<34));a?a.push(o):r.push([o])}return r.flatMap(o=>o.length<2?o:o.map((a,i)=>({...a,screen:{...a.screen,x:Math.max(54,Math.min(n-54,a.screen.x+(i-(o.length-1)/2)*104))}})))}var Qs=1.15,Js=2.75,ta=4.5,na=.85,ea=.5,oa=.26;function Nu(t,n,e){let r=Math.max(1e-6,n),o=t/r,a=e?.hasZoneLabels??!0,i=new Set(["stage","gate"]);return o>=.75&&i.add("floor"),o>=Qs&&i.add("zone"),o<=(a?Js:ta)&&(i.add("section"),i.add("ga")),o<=na&&(i.add("annotation"),i.add("booth")),o<=ea&&i.add("row"),o<=oa&&i.add("seat"),i}function vu(t,n,e,r,o,a=6){let i=a+n,s=r-a-n,c=a+e,l=o-a-e;return{...t,x:i>s?r/2:Math.max(i,Math.min(s,t.x)),y:c>l?o/2:Math.max(c,Math.min(l,t.y))}}function Du(t,n,e,r){let o=t,a=n[0],i=n[1],s=n[2],c=o[0]*a+o[4]*i+o[8]*s+o[12],l=o[1]*a+o[5]*i+o[9]*s+o[13],u=o[2]*a+o[6]*i+o[10]*s+o[14],f=o[3]*a+o[7]*i+o[11]*s+o[15];if(!(f>1e-6))return{x:0,y:0,depth:1/0,visible:!1};let m=c/f,h=l/f,d=u/f,y=m>=-1.05&&m<=1.05&&h>=-1.05&&h<=1.05&&d<=1;return{x:(m*.5+.5)*e,y:(1-(h*.5+.5))*r,depth:d,visible:y}}function Gu(t,n,e=n,r=()=>0){let o=[],a=[...t].sort((i,s)=>r(s)-r(i)||i.screen.depth-s.screen.depth);for(let i of a){let s=!1;for(let c of o)if(ae(i,c,n,e)){s=!0;break}s||o.push(i)}return o}var ra=6;function ae(t,n,e,r){let o=Math.abs(t.screen.x-n.screen.x),a=Math.abs(t.screen.y-n.screen.y),i=t.halfWidth!=null&&n.halfWidth!=null?Math.max(e,t.halfWidth+n.halfWidth+ra):e;return o<i&&a<r}function Hu(t,n,e){return t.length*n*.58+(e?14:0)}var ia={row:8,seat:14};function Xu(t){return t<480?{row:5,seat:8}:t<768?{row:6,seat:10}:ia}function ju(t,n,e,r){let o=Math.max(1,Math.min(e,r)*.5),a=Math.min(2,Math.hypot(t.x-e/2,t.y-r/2)/o);return n*(1+1.5*a)}function Uu(t,n,e,r,o=[]){let a=[...t].sort((s,c)=>(c.priority??0)-(s.priority??0)||s.focus-c.focus),i=[];for(let s of a){if(i.length>=r)break;let c=!1;for(let l of o)if(ae(s,l,n,e)){c=!0;break}if(!c){for(let l of i)if(ae(s,l,n,e)){c=!0;break}}c||i.push(s)}return i}function Wu(t,n,e,r){let o=t[3]*n[0]+t[7]*n[1]+t[11]*n[2]+t[15];return o<=0||!(e>0)?0:e*Math.hypot(t[0],t[4],t[8])*r/(2*o)}function $t(t,n,e){if(t.length!==4||e<=n)return null;let r=bt(t),o=Math.hypot(r[1].x-r[0].x,r[1].y-r[0].y)*I,a=Math.hypot(r[3].x-r[0].x,r[3].y-r[0].y)*I;if(o<1e-6||a<1e-6)return null;let i=Math.min(.22/o,.16),s=Math.min(.28,(e-n)*.13),c=Math.min(.065/a,.2);return{quad:r,side:i,face:c,opening:dt(r,i,1-i),openingTop:e-s}}function ce(t,n,e){if(t.length!==4||e-n<=.2)return null;let r=bt(t),o=Math.hypot(r[1].x-r[0].x,r[1].y-r[0].y)*I;if(o<=1e-6)return null;let a=Math.min(.14,(e-n)*.08,o*.08),i=a/o,s=dt(r,i,1-i);return{quad:r,side:i,trim:a,inner:s,panel:cn(s,.15,.85),bottom:n+a,top:e-a}}function No(t,n,e,r){let o=ce(t,n,e);if(!o)return;let{panel:a}=o,i=(g,P)=>({x:(g.x+P.x)/2,y:(g.y+P.y)/2}),s=i(a[0],a[1]),c=i(a[3],a[2]),l=Math.hypot(s.x-r.x,s.y-r.y)<=Math.hypot(c.x-r.x,c.y-r.y),[u,f]=l?[a[0],a[1]]:[a[3],a[2]],m=l?{x:s.x-c.x,y:s.y-c.y}:{x:c.x-s.x,y:c.y-s.y},h=Math.hypot(m.x,m.y);if(h<1e-6)return;-(f.y-u.y)*m.x+(f.x-u.x)*m.y<0&&([u,f]=[f,u]);let d=Math.min(.006,h*I*.05),y=m.x/h*d,b=m.y/h*d,p=(g,P)=>[g.x*I+y,P,g.y*I+b];return[p(u,o.bottom),p(f,o.bottom),p(u,o.top),p(f,o.top)]}import aa from"polygon-clipping";import sa from"polygon-clipping";function Ot(t,n,e,r,o,a,i,s={}){let c=Tt(n),l=s.ao??K,u=o.flatMap(y=>{if(y.role!=="entrance"&&y.role!=="exit")return[];let b=ct(y);if(!b||b.length!==4||!Vt(c,Tt(b)))return[];let p=s.portalBase??e,g=$t(b,p,p+At(y).heightM);if(!g)return[];let P=Math.min(r,g.openingTop);return P<=e?[]:[{poly:g.opening,height:P}]});if(!u.length)return!1;let f=y=>y.map(b=>[b.x,b.y]),m=[f(n),...(s.holes??[]).map(f)],h=[e,...new Set(u.map(y=>y.height)),r].sort((y,b)=>y-b),d=[];try{for(let y=1;y<h.length;y++){let b=h[y-1],p=h[y];if(p-b<1e-6)continue;let g=u.filter(_=>_.height>b+1e-6).map(_=>[f(_.poly)]),P=g.length?sa.difference(m,...g):[m];d.push({low:b,high:p,polys:P})}}catch{return!1}for(let y of d)for(let b of y.polys){let[p,...g]=b.map(_=>_.map(([M,x])=>({x:M,y:x}))),P=_=>l.wallBottom+(l.top-l.wallBottom)*(_-e)/(r-e);Z(t,p,g,()=>y.high,y.low,a,i,{...l,top:P(y.high),wallBottom:P(y.low)})}return!0}var le={depthM:1.6,thicknessM:.35,minWallM:6};function kn(t,n,e,r,o,a,i,s,c){let l=r-e;if(l<=0)return;let u=s&&(c??l)>=le.minWallM?ca(n,s):null,f=u?r-le.thicknessM:r,m=f-e,h=m<1.5?[[e,f,1]]:u?[[e,e+Math.min(.9,m*.18),.82],[e+Math.min(.9,m*.18),f,1]]:[[e,e+Math.min(.9,m*.18),.82],[e+Math.min(.9,m*.18),f-.1,1],[f-.1,f,1.1]],d=y=>K.wallBottom+(K.top-K.wallBottom)*(y-e)/l;for(let[y,b,p]of h){let g={...K,top:d(b),wallBottom:d(y)},P=V(a,p),_=V(i,p);Ot(t,n,y,b,o,P,_,{portalBase:e,ao:g})||Z(t,n,void 0,()=>b,y,P,_,g)}for(let[y,...b]of u??[])Z(t,y,b.length?b:void 0,()=>r,f,V(a,1.12),V(i,.78),K)}function ca(t,n){let e=le.depthM/I,r=t.map(i=>{let s=n.x-i.x,c=n.y-i.y,l=Math.hypot(s,c)||1;return{x:i.x+s/l*e,y:i.y+c/l*e}}),o=i=>{let s=i.map(c=>[c.x,c.y]);return s.push(s[0]),s},a=[[o(t)],[o(r)]];for(let i=0;i<t.length;i++){let s=(i+1)%t.length;a.push([o([t[i],t[s],r[s],r[i]])])}try{let[i,...s]=a,c=aa.union(i,...s);return c.length?c.map(l=>l.map(u=>u.slice(0,-1).map(([f,m])=>({x:f,y:m})))):null}catch{return null}}function fn(t,n,e){let r=it(n.stroke?.color),o=n.stroke?.width??0;if(!r||!Number.isFinite(o)||o<=0)return;let a=n.kind==="line"||n.kind==="polyline",i=a?On(n.points??[],n.rotation):ct(n);if(!i||i.length<2)return;let s=a?i.length-1:i.length,c=o*.5;for(let l=0;l<s;l++){let u=i[l],f=i[(l+1)%i.length],m=Math.hypot(f.x-u.x,f.y-u.y);if(m<1e-6)continue;let h=-(f.y-u.y)/m*c,d=(f.x-u.x)/m*c,y=[(u.x+h)*I,e,(u.y+d)*I],b=[(f.x+h)*I,e,(f.y+d)*I],p=[(f.x-h)*I,e,(f.y-d)*I],g=[(u.x-h)*I,e,(u.y-d)*I];t.tri(y,b,p,[0,1,0],r),t.tri(y,p,g,[0,1,0],r)}}function vo(t){return t==="bar"||t==="concession"||t==="coat"||t==="restroom"}var Qt=(t,n,e)=>({x:t.x+(n.x-t.x)*e,y:t.y+(n.y-t.y)*e});function Fn(t,n,e,r){let[o,a,i,s]=n?t:[t[3],t[2],t[1],t[0]];return[Qt(o,s,e),Qt(a,i,e),Qt(a,i,r),Qt(o,s,r)]}function Do(t,n,e,r,o,a,i,s,c=!1){if(e.length!==4||o-r<.4)return!1;let l=R=>c?Math.min(R,o):R,u=bt(e),f=Math.hypot(u[3].x-u[0].x,u[3].y-u[0].y)*I;if(f<.4)return!1;let m=Qt(u[0],u[1],.5),h=Qt(u[3],u[2],.5),d=Math.hypot(m.x-s.x,m.y-s.y)<=Math.hypot(h.x-s.x,h.y-s.y),y=st(i,[.92,.9,.86],.35),b=V(a,.72),p=o-r;if(n==="restroom"){let R=Math.min(.18,p*.08);return ot(t,u,o-R,r,i,a),ot(t,u,o,o-R,y,y),!0}let g=r+Math.min(1.1,p),P=n==="coat"?1:Math.min(.5,.75/f),_=Fn(u,d,0,P);if(ot(t,_,g-.05,r,b,a),ot(t,_,g,g-.05,y,y),n==="coat"||f<1.2)return!0;if(n==="bar"){let R=Fn(u,d,Math.max(P+.2,1-.45/f),1),S=l(r+Math.max(Math.min(2.2,p*2),g-r+.6));return ot(t,R,S,r,i,b),!0}let M=Fn(u,d,Math.max(P+.25,.55),1),x=l(r+Math.max(2.6,g-r+1.4));if(x-.14<=g)return!0;ot(t,M,x-.14,r,i,a),ot(t,u,x,x-.14,y,b);let A=Math.min(.08,.1/Math.max(.1,Math.hypot(u[1].x-u[0].x,u[1].y-u[0].y)*I));for(let[R,S]of[[0,A],[1-A,1]])ot(t,Fn(dt(u,R,S),d,0,Math.min(.08,.1/f)),x-.14,g,b,b);return!0}var Dt=.06,la=.05,Ho=.05,Go=.15,ue=25;function Xo(t,n,e){let r=new Map,o=new Array(n.length).fill(null),a=new Float64Array(n.length),i=new Array(n.length).fill(void 0),s=new Array(n.length).fill(void 0),c=new Map,l=[],u=new Set;for(let m=0;m<t.length;m+=1){let h=t[m];for(let d of h.objects){if(d.type==="table"&&u.add(d.id),d.type!=="section"||!d.outline||d.outline.length<3)continue;let y=_t(d.outline,It);c.set(d.id,{section:d,unit:h,frontU:1/0,hasSeats:!1,rows:new Map,seatIndices:[]}),l.push({id:d.id,floorIndex:m,box:Tt(y),section:d,unit:h,outline:y})}}let f=new Map;for(let m of l){let h=f.get(m.floorIndex);h?h.push(m):f.set(m.floorIndex,[m])}for(let m=0;m<n.length;m++){let h=n[m],d=e?f.get(e[m])??[]:l,y=h.sectionId?d.find(p=>p.id===h.sectionId)??d.find(p=>p.section.logicalSectionId===h.sectionId&&Rt({x:h.x,y:h.y},p.outline,p.section.holes)):void 0,b=y?[y]:d;for(let p of b){if(e&&p.floorIndex!==e[m]||!y&&(h.x<p.box.minX||h.x>p.box.maxX||h.y<p.box.minY||h.y>p.box.maxY||!Rt({x:h.x,y:h.y},p.outline,p.section.holes)))continue;o[m]=p.id;let g=c.get(p.id);g.hasSeats=!0;let P=h.focalPoint??p.unit.focal,_=Math.hypot(h.x-P.x,h.y-P.y);_<g.frontU&&(g.frontU=_),g.seatIndices.push(m);let M=h.rowId||`__seat-${m}`,x=g.rows.get(M);x?x.push({x:h.x,y:h.y}):g.rows.set(M,[{x:h.x,y:h.y}]);break}}for(let[m,h]of c){let d=zt(h.section,{floorBaseHeightM:h.unit.baseHeightM}),y=h.unit.baseHeightM,b=d.rake>0?Math.tan(d.rake*Math.PI/180):0,p=d.rake<=.01&&d.height<=y+.001,g=h.section.surfaceKind,P=g==="flat"?!0:g==="rakedRows"&&d.rake>.01?!1:p,_=h.hasSeats?Ce(m,n,h.seatIndices,h.unit.focal):{sectionId:m,rows:[],blockCount:0},x=_.rows.length<2?We([...h.rows.values()].map(O=>({points:O})),h.unit.focal):null,A=1/0;if(x){if(h.hasSeats)for(let O of h.rows.values())for(let D of O){let H=x.depthAt(D.x,D.y);H<A&&(A=H)}if(!h.hasSeats||!Number.isFinite(A)){A=1/0;for(let O of h.section.outline){let D=x.depthAt(O.x,O.y);D<A&&(A=D)}}}let R=y+la,S=Math.max(R,d.height),E=O=>{let D=Math.max(0,O-A)*$,H=Math.min(D*b,ue);return Math.max(R,d.height+H)},T=O=>{let D=Math.max(0,O)*$,H=Math.min(D*b,ue);return Math.max(R,d.height+H)},F=P?[]:_.rows.map(O=>({pts:O.pts,y:T(O.blockDepth),depth:O.blockDepth,blockId:O.blockId,...u.has(O.id)?{patch:uo(O.pts,It)}:{}})),k=F.length?F[0].y:S,w=F.map(O=>{let D=O.patch&&O.patch.length>=3?O.patch:O.pts,H=0,j=0;for(let X of D)H+=X.x,j+=X.y;let G=D.length||1;H/=G,j/=G;let U=0;for(let X of D){let Y=Math.hypot(X.x-H,X.y-j);Y>U&&(U=Y)}return{cx:H,cy:j,rad:U}}),B=P?()=>S:F.length>=2?(O,D)=>{let H=1/0,j=k;for(let G=0;G<F.length;G++){let U=w[G];if(Math.hypot(O-U.cx,D-U.cy)-U.rad>=H)continue;let X=F[G].patch,Y=X&&X.length>=3?xt(X,O,D)?0:Pn(X,O,D):Pn(F[G].pts,O,D);Y<H&&(H=Y,j=F[G].y)}return j}:(O,D)=>x?E(x.depthAt(O,D)):S,C=[0,1,0],L=F.length>=2||P?()=>C:(O,D)=>{if(!x)return C;let H=x.depthAt(O,D);if(H<=A)return C;let j=(H-A)*$;if(j*b>=ue||d.height+j*b<=R)return C;let[G,U]=x.gradientAt(O,D);if(G===0&&U===0)return C;let X=1/Math.hypot(b,1);return[-G*b*X,X,-U*b*X]};if(!P)for(let O of _.rows){let D=T(O.blockDepth);for(let H of O.seatIndices)i[H]=D}for(let O of _.rows){let D=[];for(let X=1;X<O.pts.length;X++){let Y=Math.hypot(O.pts[X].x-O.pts[X-1].x,O.pts[X].y-O.pts[X-1].y);Y>1e-6&&D.push(Y)}D.sort((X,Y)=>X-Y);let H=D.length?D[Math.floor(D.length/2)]:1/0,j=1/0,G=O.pts[Math.floor(O.pts.length/2)];if(G)for(let X of _.rows){if(X===O||X.blockId!==O.blockId)continue;let Y=Pn(X.pts,G.x,G.y);Y>1e-6&&Y<j&&(j=Y)}let U=Math.min(H,Math.max(j,H*.5));if(Number.isFinite(U)&&U>0)for(let X of O.seatIndices)s[X]=U}r.set(m,{sectionId:m,deckAt:B,normalAt:L,flat:P,bottomY:y,rowLevels:F,landingY:k})}for(let m=0;m<n.length;m++){let h=o[m],d=n[m];if(h){let p=i[m];a[m]=(p??r.get(h).deckAt(d.x,d.y))+Go;continue}let y=d.eyeHeightM,b=Number.isFinite(y)?Math.max(0,y-Mn):0;a[m]=d.kind==="booth"?b+Dt+Go:b}return{bySection:r,seatOwner:o,seatDeckY:m=>a[m],seatPitchU:m=>s[m]}}var ua=[.12,.38,.16],fa=[.72,.62,.45],ma=[.88,.93,.96],jo=[.95,.95,.94],ha=[.66,.29,.22],fe={length:20.12,width:3.05},ya=.14,da=9.76,Ct=[.93,.94,.95],Ln=[.1,.11,.13],pa=[.45,.85,1.25],xa=1.45,Uo=.012,Wo=.004,ba=1.07,ga=.15;function tn(t,n,e,r,o,a){t.setMaterial(a),Z(t,n,e?[e.slice().reverse()]:void 0,()=>r,r-.004,o,o,K)}var Yo=(t,n)=>Lt(t,n/I);function zo(t,n,e){let r=n.x-t.x,o=n.y-t.y,a=Math.hypot(r,o);if(a<1e-9)return null;let i=-o/a*e,s=r/a*e;return[{x:t.x+i,y:t.y+s},{x:n.x+i,y:n.y+s},{x:n.x-i,y:n.y-s},{x:t.x-i,y:t.y-s}]}function Ma(t,n,e,r){let o=n.map(a=>[a.x*I,e,a.y*I]);t.tri(o[0],o[1],o[2],[0,1,0],r),t.tri(o[0],o[2],o[3],[0,1,0],r)}function Nn(t,n,e,r,o,a){let i=e/I,s=[{x:n.x-i,y:n.y-i},{x:n.x+i,y:n.y-i},{x:n.x+i,y:n.y+i},{x:n.x-i,y:n.y+i}];Z(t,s,void 0,()=>o,r,a,V(a,.85),K)}function Jt(t,n,e,r,o,a,i){let s=zo(n,e,r/I);s&&Z(t,s,void 0,()=>a,o,i,V(i,.85),K)}function vn(t){let n=bt(t),e={x:(n[0].x+n[2].x)/2,y:(n[0].y+n[2].y)/2},r=Math.hypot(n[1].x-n[0].x,n[1].y-n[0].y)||1,o=Math.hypot(n[3].x-n[0].x,n[3].y-n[0].y)||1,a={x:(n[1].x-n[0].x)/r,y:(n[1].y-n[0].y)/r},i={x:(n[3].x-n[0].x)/o,y:(n[3].y-n[0].y)/o};return{at:(c,l)=>({x:e.x+(a.x*c+i.x*l)/I,y:e.y+(a.y*c+i.y*l)/I}),lengthM:r*I,widthM:o*I}}function Ko(t,n,e){let r=Le(n);if(!r.length)return;let o=1/0,a=-1/0,i=1/0,s=-1/0;for(let P of n.points??[])o=Math.min(o,P.x),a=Math.max(a,P.x),i=Math.min(i,P.y),s=Math.max(s,P.y);let c=(n.rotation??0)*Math.PI/180,l=Math.cos(c),u=Math.sin(c),f=(o+a)/2,m=(i+s)/2,h=P=>c?{x:f+(P.x-f)*l-(P.y-m)*u,y:m+(P.x-f)*u+(P.y-m)*l}:P,d=Math.min(a-o,s-i)*I,y=Math.max(.04,Math.min(.3,d*.004))/I,b=0;t.setMaterial(0);for(let P of r){if(!P.fill)continue;let _=P.points.map(h);tn(t,_,null,e+Uo+b*Wo,it(P.fill)??Ct,0),b++}let p=r.filter(P=>!(P.fill&&P.ink===P.fill)),g=[...new Set(p.map(P=>P.ink??zn))];for(let P of g){let _=e+Uo+b++*Wo,M=it(P)??Ct;for(let x of p){if((x.ink??zn)!==P)continue;let A=x.points.map(h),R=x.closed?A.length:A.length-1;for(let S=0;S<R;S++){let E=zo(A[S],A[(S+1)%A.length],y);E&&Ma(t,E,_,M)}}}}function Vo(t,n,e,r,o){if(n.length<3)return!1;let a=r+.006,i=o??ua;if(e==="oval-cricket"){let s=n.reduce((M,x)=>M+x.x,0)/n.length,c=n.reduce((M,x)=>M+x.y,0)/n.length,l=M=>n.map(x=>({x:s+(x.x-s)*M,y:c+(x.y-c)*M})),u=8;for(let M=0;M<u;M++){let x=l(1-M/u),A=M===u-1?null:l(1-(M+1)/u);tn(t,x,A,a,V(i,M%2?1.04:.96),4)}let f=n[0];for(let M of n)Math.hypot(M.x-s,M.y-c)>Math.hypot(f.x-s,f.y-c)&&(f=M);let m=Math.hypot(f.x-s,f.y-c)||1,h=(f.x-s)/m,d=(f.y-c)/m,y=-d,b=h,p=Math.min(1,2*m*I*ya/fe.length),g=fe.length*p/2/I,P=fe.width*p/2/I,_=[[-g,-P],[g,-P],[g,P],[-g,P]].map(([M,x])=>({x:s+h*M+y*x,y:c+d*M+b*x}));return tn(t,_,null,a+.004,fa,0),t.setMaterial(0),!0}if(e==="rink-hockey"){let s=Yo(n,ga);return tn(t,s,null,a,ma,0),t.setMaterial(0),Z(t,n,[s.slice().reverse()],()=>r+ba,r,jo,V(jo,.9),K),!0}if(e==="ring-boxing"&&n.length===4){let{at:s}=vn(n),c=[s(-3.05,-3.05),s(3.05,-3.05),s(3.05,3.05),s(-3.05,3.05)],l=[[.77,.19,.19],Ct,[.17,.42,.69],Ct];t.setMaterial(0),c.forEach((u,f)=>Nn(t,u,.07,r,r+xa,l[f]));for(let u of pa)for(let f=0;f<4;f++)Jt(t,c[f],c[(f+1)%4],.025,r+u-.025,r+u+.025,Ct);return!0}if(e==="court-tennis"&&n.length===4){let{at:s}=vn(n);t.setMaterial(0),Jt(t,s(0,-6.4),s(0,6.4),.015,r,r+.95,Ln),Jt(t,s(0,-6.4),s(0,6.4),.03,r+.95,r+1,Ct);for(let c of[-1,1])Nn(t,s(0,c*6.4),.05,r,r+1.07,Ln);return!0}if(e==="court-basketball"&&n.length===4){let{at:s,lengthM:c}=vn(n),l=Math.min(14,c/2-.5);t.setMaterial(0);for(let u of[-1,1]){let f=s(u*(l+1.2),0),m=s(u*(l-1.2),0);Nn(t,f,.12,r,r+3.4,Ln),Jt(t,f,m,.06,r+3.25,r+3.4,Ln),Jt(t,s(u*(l-1.2),-.9),s(u*(l-1.2),.9),.03,r+2.9,r+3.95,Ct)}return!0}if(e==="pitch-rugby"&&n.length===4){let{at:s,lengthM:c}=vn(n),l=c*(50/120);t.setMaterial(0);for(let u of[-1,1]){for(let f of[-2.8,2.8])Nn(t,s(u*l,f),.07,r,r+12,Ct);Jt(t,s(u*l,-2.8),s(u*l,2.8),.06,r+2.94,r+3.06,Ct)}return!0}if(e==="track-athletics"){let s=Yo(n,da);return s.length<3?!1:(tn(t,n,s,a,ha,0),tn(t,s,null,a,i,4),t.setMaterial(0),!0)}return!1}var Zo=[.19,.4,.15],Pa=.012,Xn=2.4,Ra=1,Ia=.75,Sa=.15;function wt(t){if(t.points&&t.points.length>=3)return t.points;let{center:n,width:e,height:r,rotation:o}=t;if(!e||!r)return null;let a=(o??0)*Math.PI/180,i=Math.cos(a),s=Math.sin(a),c=e/2,l=r/2;return[[-c,-l],[c,-l],[c,l],[-c,l]].map(([u,f])=>({x:n.x+u*i-f*s,y:n.y+u*s+f*i}))}function nr(t,n,e,r,o,a,i=!1){let s=wt(n);if(s){if(i){let c=jt(r,o.boothTop),l=Et([...s]);Z(t,_t(l,_a/I),[l.slice().reverse()],()=>e+.03,e,c,V(c,.8),K);return}if(!(!n.points&&a&&wa(t,s,e,r,a))){if(!n.points&&a&&s.length===4){Aa(t,s,e,r,a);return}Z(t,s,void 0,()=>e+Xn,e,jt(r,o.boothTop),o.boothWall,K)}}}var me=1.1,qo=[.9,.9,.88],_a=.1,Dn=[.87,.87,.85],$o=.08;function er(t,n){let e=c=>({x:(t[c].x+t[(c+1)%4].x)/2,y:(t[c].y+t[(c+1)%4].y)/2}),r=0,o=1/0;for(let c=0;c<4;c++){let l=e(c),u=Math.hypot(l.x-n.x,l.y-n.y);u<o&&(o=u,r=c)}let a=[0,1,2,3].map(c=>t[(r+c)%4]),i=(c,l,u)=>({x:c.x+(l.x-c.x)*u,y:c.y+(l.y-c.y)*u});return{q:a,part:(c,l,u,f)=>{let m=i(a[0],a[1],c),h=i(a[0],a[1],l),d=i(a[3],a[2],c),y=i(a[3],a[2],l);return[i(m,d,u),i(h,y,u),i(h,y,f),i(m,d,f)]},depthM:Math.hypot(a[3].x-a[0].x,a[3].y-a[0].y)*I,widthM:Math.hypot(a[1].x-a[0].x,a[1].y-a[0].y)*I}}function Aa(t,n,e,r,o){let{q:a,part:i}=er(n,o),s=r??[.35,.42,.55],c=st(s,[.78,.78,.77],.62),l=st(s,[.95,.95,.94],.45);ot(t,a,e+Dt,e,c,V(c,.8)),ot(t,i(.05,.95,.72,.98),e+me-.05,e+Dt,l,V(l,.8)),ot(t,i(.03,.97,.7,1),e+me,e+me-.05,qo,V(qo,.9))}function wa(t,n,e,r,o){if(n.length!==4)return!1;let{q:a,part:i,depthM:s,widthM:c}=er(n,o);if(s<1||c<1)return!1;let l=r??[.35,.42,.55],u=st(l,[.78,.78,.77],.62),f=e+Xn,m=$o/c,h=$o/s;ot(t,a,e+Dt,e,u,V(u,.8)),ot(t,i(0,1,1-h,1),f,e+Dt,Dn,V(Dn,.9));for(let[b,p]of[[0,m],[1-m,1]])ot(t,i(b,p,0,1-h),f,e+Dt,Dn,V(Dn,.9));ot(t,i(m,1-m,0,Math.min(.5,.06/s)),f,f-.3,l,V(l,.85));let d=Math.min(.4,.6/c),y=Math.min(.12,.3/s);return ot(t,i(.5-d,.5+d,.72-y,.72+y),e+Ra,e+Dt,st(l,[.95,.95,.94],.7),V(l,.75)),!0}function jn(t){if(t.shape==="round"){let u=t.radius;return u?wn(t.center.x,t.center.y,u,u,24):null}let{width:n,height:e,rotation:r,center:o}=t;if(!n||!e)return null;let a=(r??0)*Math.PI/180,i=Math.cos(a),s=Math.sin(a),c=n/2,l=e/2;return[[-c,-l],[c,-l],[c,l],[-c,l]].map(([u,f])=>({x:o.x+u*i-f*s,y:o.y+u*s+f*i}))}function or(t,n,e,r,o,a=!0){let i=jn(n);if(!i)return;let s=i.reduce((m,h)=>m+h.x,0)/i.length,c=i.reduce((m,h)=>m+h.y,0)/i.length,l=m=>i.map(h=>({x:s+(h.x-s)*m,y:c+(h.y-c)*m})),u=a&&r?jt(r,o.tableTop):Ea,f=e+Ia;Z(t,i,void 0,()=>f,e+Ba,u,V(u,.86),K),Z(t,l(.12),void 0,()=>f+.12,f,Qo,V(Qo,.8),K)}var Ea=[.93,.92,.89],Qo=[.78,.66,.42],Ba=.25,mn={armM:1.1,widthM:.28,insideM:1.4,low:.043,high:.048};function Ta(t,n,e){let r=t.reduce((p,g)=>p+g.x,0)/4,o=t.reduce((p,g)=>p+g.y,0)/4,a=t[3].x-t[0].x,i=t[3].y-t[0].y,s=Math.hypot(a,i)||1;a/=s,i/=s,a*(n.x-r)+i*(n.y-o)<0&&(a=-a,i=-i);let c=-i,l=a,u=mn.armM/I,f=mn.widthM/I,m=s/2+mn.insideM/I,h=e?-1:1,d=r+a*(m+(e?0:u)),y=o+i*(m+(e?0:u)),b=(p,g)=>({x:d+a*p*h+c*g,y:y+i*p*h+l*g});return[b(0,0),b(-u,u),b(-u-f,u),b(-f,0),b(-u-f,-u),b(-u,-u)]}function Oa(t,n,e,r,o){let a=[.94,.95,.96];Z(t,Ta(n,r,o),void 0,()=>e+mn.high,e+mn.low,a,a,K)}function Hn(t,n){let e=it(t);return e?{top:V(St(e,.12),.95),wall:V(St(e,.12),.85)}:{top:n.tierTop,wall:n.tierWall}}function rr(t,n,e,r,o,a,i,s,c=[]){let l=ct(n);if(!n.role&&(!n.fill||n.fill==="none"||n.fill==="transparent")||!l){fn(t,n,e+r+Pa);return}let f=s?s.kind==="stage":n.role==="stage",m=s?s.kind==="screen":n.role==="screen",h=s?{kind:f?"stage":"solid",heightM:s.topY-s.baseY}:At(n),d=s?.baseY??e,y=s?.topY??e+r;if(f&&i){let R=1/0,S=-1/0,E=1/0,T=-1/0;for(let F of l)F.x<R&&(R=F.x),F.x>S&&(S=F.x),F.y<E&&(E=F.y),F.y>T&&(T=F.y);i.push({cx:(R+S)/2*I,cz:(E+T)/2*I,y,halfX:Math.max((S-R)/2*I,.5),halfZ:Math.max((T-E)/2*I,.5)})}let b=it(n.fill),p=n.role==="wall"||n.role==="entrance"||n.role==="exit",g=p?Hn(n.fill,o).top:f&&b?st(o.stageTop,V(St(b,.18),.9),.9):!n.role&&b?b:jt(b,f?o.stageTop:o.decorTop),P=m?b:null,_=p?Hn(n.fill,o).wall:f?b?st(o.stageWall,V(b,.58),.82):o.stageWall:m?P?st(V(P,1.42),[.24,.46,.82],.08):[.24,.46,.82]:jt(it(n.fill),o.decorWall);if(n.role==="wall"&&!s){kn(t,l,d,y,c,g,_,a),fn(t,n,y+.012);return}if(m&&l.length===4&&y-d>.2){let R=ce(l,d,y);if(!R)return;let{quad:S,side:E,trim:T,inner:F,panel:k}=R,w=[.12,.15,.18];for(let[B,C]of[[0,E],[1-E,1]])ot(t,dt(S,B,C),y,d,w,w);ot(t,F,d+T,d,w,w),ot(t,F,y,y-T,w,w),ot(t,k,y-T,d+T,_,_),fn(t,n,y+.012);return}let M=b?V(St(b,.15),.82):_,x=b?V(St(b,.1),1.02):g;if(vo(n.role)&&!s&&Do(t,n.role,l,d,y,M,x,a,n.heightM!==void 0))return;if((n.role==="sound"||s?.kind==="sound_desk")&&l.length===4&&y-d>.3){let R=bt(l),S=Math.hypot(R[1].x-R[0].x,R[1].y-R[0].y)*I,E=Math.min(.12,.09/Math.max(S,.001)),T=[.18,.21,.24],F=y-Math.min(.12,(y-d)*.15);for(let[k,w]of[[0,E],[1-E,1]])ot(t,dt(R,k,w),F,d,T,T);ot(t,R,y,F,g,T);return}if(n.role==="rail"&&l.length===4&&y>d){let R=bt(l),S=Math.hypot(R[1].x-R[0].x,R[1].y-R[0].y)*I,E=Math.max(1,Math.min(128,Math.ceil(S/1.4))),T=Math.min(.08,.055/Math.max(.055,S)),F=[.58,.64,.66];for(let k=0;k<=E;k++){let w=k/E,B=Math.min(1-T,Math.max(0,w-T/2));ot(t,dt(R,B,B+T),y,d,F,V(F,.8))}for(let k of[.52,1]){let w=d+(y-d)*k;ot(t,R,w,Math.max(d,w-.055),F,V(F,.8))}return}if(n.role==="goal"&&l.length===4){let R=bt(l),S=Math.hypot(R[1].x-R[0].x,R[1].y-R[0].y)*I,E=Math.min(.12,.1/Math.max(.1,S)),T=[.9,.94,.94];for(let[F,k]of[[0,E],[1-E,1]])ot(t,dt(R,F,k),Math.max(d,y-.1),d,T,T);ot(t,R,y,Math.max(d,y-.1),T,T);return}if(h.kind==="portal"&&l.length===4){let R=$t(l,d,y);if(!R)return;let{quad:S,side:E,face:T,openingTop:F}=R;for(let[k,w,B]of[[0,T,1],[T,1-T,.67],[1-T,1,1]]){let C=cn(S,k,w),L=V(g,B),O=V(_,B);for(let[D,H]of[[0,E],[1-E,1]])ot(t,dt(C,D,H),F,d,L,O);ot(t,C,y,F,L,O)}(n.role==="entrance"||n.role==="exit")&&Oa(t,S,d,a,n.role==="exit");return}if(h.kind==="suite"&&l.length===4){let R=l.map((T,F)=>{let k=l[(F+1)%4],w=(T.x+k.x)/2,B=(T.y+k.y)/2;return Math.hypot(w-a.x,B-a.y)}),S=R.indexOf(Math.min(...R)),E=[0,1,2,3].map(T=>l[(S+T)%4]);ot(t,dt(E,0,.08),y,d,g,_),ot(t,dt(E,.92,1),y,d,g,_),ot(t,cn(E,.88,1),y,d,g,_),ot(t,E,y,Math.max(d,y-.18),g,_);return}if(f&&!n.stageKind?.startsWith("pitch-")&&y-d>.12){let R=y-Math.min(.06,(y-d)*.15);ot(t,l,R,d,g,_),ot(t,l,y,R,g,st(g,_,.2))}else ot(t,l,y,d,g,_);if((n.stageKind==="pitch-football"||n.stageKind==="pitch-rugby")&&l.length===4){t.setMaterial(4);let R=bt(l),S=st(b??Zo,Zo,b?.45:0);for(let E=0;E<12;E++){let T=dt(R,E/12,(E+1)/12),F=V(S,E%2?1.09:.91),k=T.map(w=>[w.x*I,y+.006,w.y*I]);t.tri(k[0],k[1],k[2],[0,1,0],F),t.tri(k[0],k[2],k[3],[0,1,0],F)}}n.stageKind&&n.stageKind!=="pitch-football"&&Vo(t,l,n.stageKind,y,b),f&&Kt(n.stageKind)&&Ko(t,n,y),t.setMaterial(m?1:0),fn(t,n,y+.012)}function Un(t){let{x:n,y:e,width:r,height:o}=t;if(!r||!o)return null;let a=n+r/2,i=e+o/2,s=(t.rotation??0)*Math.PI/180,c=Math.cos(s),l=Math.sin(s),u=r/2,f=o/2;return[[-u,-f],[u,-f],[u,f],[-u,f]].map(([m,h])=>({x:a+m*c-h*l,y:i+m*l+h*c}))}function Ca(t){if(!t||!t.startsWith("data:image/svg+xml"))return null;let n=t.slice(t.indexOf(",")+1);if(/;base64/i.test(t.slice(0,t.indexOf(","))))try{n=atob(n)}catch{return null}else try{n=decodeURIComponent(n)}catch{}let e=n.match(/<(?:rect|path)\b[^>]*\bfill="([^"]+)"/i);if(!e)return null;let r=e[1].trim();if(r==="none"||r==="transparent")return null;let o=r.match(/^url\(#([^)]+)\)$/);if(!o)return it(r);let a=n.match(new RegExp(`<(?:linear|radial)Gradient\\b[^>]*\\bid="${o[1]}"[^>]*>([\\s\\S]*?)</(?:linear|radial)Gradient>`,"i"));if(!a)return null;let i=[];for(let s of a[1].matchAll(/stop-color="([^"]+)"/gi)){let c=it(s[1].trim());c&&i.push(c)}return i.length?i.reduce((s,c,l)=>st(s,c,1/(l+1)),i[0]):null}function ir(t,n,e,r){if(n.layer==="foreground")return;let o=Un(n);if(!o)return;let a=e+Sa,i=jt(Ca(n.href),r.decorTop),s=Math.max(0,Math.min(1,n.opacity??1));s<1&&(i=st(r.ground,i,s)),Z(t,o,void 0,()=>a,e,i,st(i,r.decorWall,.5),K)}function sr(t,n,e,r,o){if(!n.points||n.points.length<3)return;let a=eo(r,o.gaTop);Z(t,n.points,n.holes,()=>e+Jo,e,a,o.gaWall,K),La(t,n.points,e+Jo)}var Jo=.15,Gn=[.72,.74,.76],he=1.1,tr=.12,ye=.05,ka=.06,Fa=2.4;function La(t,n,e){let r=Et([...n]),o=Lt(r,tr/I),a=Lt(r,(tr+ye)/I);if(o.length<3||a.length<3)return;for(let s of[e+he,e+he*.5])Z(t,o,[a.slice().reverse()],()=>s,s-ye,Gn,V(Gn,.85),K);let i=ka/2/I;for(let s=0;s<o.length;s++){let c=o[s],l=o[(s+1)%o.length],u=Math.hypot(l.x-c.x,l.y-c.y)*I,f=Math.max(1,Math.round(u/Fa));for(let m=0;m<f;m++){let h=m/f,d=c.x+(l.x-c.x)*h,y=c.y+(l.y-c.y)*h,b=[{x:d-i,y:y-i},{x:d+i,y:y-i},{x:d+i,y:y+i},{x:d-i,y:y+i}];Z(t,b,void 0,()=>e+he-ye,e,Gn,V(Gn,.8),K)}}}var Na=1.5,va=30,Da=4,Ga=3.6,Ha=6,de=15,Xa=3,ja=1;function Ua(t){return Math.max(Ga,Math.min(Ha,2.4+.15*t))}var hn=Math.PI*2;function Wa(t,n){let e=0,r=0;for(let f of t)e+=f.x,r+=f.y;let o=Math.atan2(r/t.length-n.y,e/t.length-n.x),a=t.map(f=>{let m=Math.atan2(f.y-n.y,f.x-n.x)-o;for(;m>Math.PI;)m-=hn;for(;m<-Math.PI;)m+=hn;return m+o}),i=a.map((f,m)=>m).sort((f,m)=>a[f]-a[m]),s=a[i[0]],c=a[i[i.length-1]];if(c-s>Math.PI)return null;let l=f=>Math.hypot(f.x-n.x,f.y-n.y),u=f=>{let m=t[f],h=(f+t.length-1)%t.length,d=(f+1)%t.length,y=Math.abs(a[h]-a[f])<=Math.abs(a[d]-a[f])?h:d,b=t[y];return l(m)<=l(b)?[m,b]:[b,m]};return{start:s,end:c,startEdge:u(i[0]),endEdge:u(i[i.length-1])}}function ar(t){return t.type==="shape"&&t.role==="wall"&&t.heightM===void 0}function pe(t,n,e=()=>!0){let r=[];for(let c of t){if(!ar(c)||!e(c))continue;let l=ct(c);if(!l||l.length<3)continue;let u=Wa(l,n);if(!u)return[];r.push(u)}if(r.length<2)return[];let o=t.flatMap(c=>{if(c.type!=="shape"||c.role!=="entrance"&&c.role!=="exit")return[];let l=ct(c);if(!l?.length)return[];let u=0,f=0;for(let m of l)u+=m.x,f+=m.y;return[{x:u/l.length,y:f/l.length}]}),a=c=>(c%hn+hn)%hn;r.sort((c,l)=>a(c.start)-a(l.start));let i=c=>Math.hypot(c.x-n.x,c.y-n.y),s=[];for(let c=0;c<r.length;c++){let l=r[c],u=r[(c+1)%r.length],f=a(u.start-l.end);if(f<=0||f>=Math.PI/2)continue;let m=x=>a(x-l.end)<f;if(r.some(x=>x!==l&&x!==u&&(m(x.start)||m(x.end)||a(l.end-x.start)<x.end-x.start)))continue;let[d,y]=l.endEdge,[b,p]=u.startEdge,g={x:(d.x+y.x)/2,y:(d.y+y.y)/2},P={x:(b.x+p.x)/2,y:(b.y+p.y)/2},_=Math.hypot(P.x-g.x,P.y-g.y)*I;if(_<Na||_>va||Math.abs(i(g)-i(P))*I>Da+.2*_)continue;let M={x:(g.x+P.x)/2,y:(g.y+P.y)/2};o.some(x=>m(Math.atan2(x.y-n.y,x.x-n.x))&&Math.abs(i(x)-i(M))*I<=Xa)||s.push({quad:[d,y,p,b],mid:M,widthM:_,openingM:Ua(_)})}return s}function cr(t,n){let e=[];for(let a of n)if(a.text?.trim())for(let i of t){let s=Math.hypot(a.position.x-i.mid.x,a.position.y-i.mid.y)*I;s<=de&&e.push({text:a,gate:i,d:s})}e.sort((a,i)=>a.d-i.d);let r=new Map,o=new Set;for(let{text:a,gate:i}of e)r.has(a.id)||o.has(i)||(r.set(a.id,i),o.add(i));return r}function lr(t,n,e,r,o,a,i,s=()=>!0){let c=pe(n,qt(e),s);if(!c.length)return;let l=n.find(f=>ar(f)&&s(f)),u=Hn(l?.fill,i);t.setMaterial(Cn);for(let f of c)o-f.openingM<ja||kn(t,f.quad,r+f.openingM,r+o,[],u.top,u.wall,a,o);t.setMaterial(0)}var Ya=6,za=2.2,xe=.1,Ka=/^(gate|entrance|entry|exit|way in|way out|door)s?$/i,Va=new Set(["stage","entrance","exit","screen","suite","obstruction","sound","bar","concession","restroom","coat"]),Za=.3,qa=1.8,$a=.9,Qa=.55,Ja=1,ur=4e3,tc=6,fr="#d8a425",nc="#e8c15a",be="#1c1608";function mr(t){let n=ec(t);if(!n)return null;let e=Ne(t).find(r=>r.icon===n.icon);return{...n,name:e?.titleFallback??n.icon}}function ec(t){let n=t.accessibility;if(n?.length)return{icon:n.includes("wheelchair")?"wheelchair":n[0],color:gn(n)};let e=t.commercial;return e?.obstructedView?{icon:"obstructedView",color:fr,ink:be}:e?.restrictedView?{icon:"restrictedView",color:fr,ink:be}:e?.premium?{icon:"premium",color:nc,ink:be}:null}function oc(t,n){if(!t)return;let e,r=0;for(let[a,i]of t)i>r&&(r=i,e=a);let o=n.categories?.find(a=>a.key===e)?.color;return o&&/^#[0-9a-f]{6}$/i.test(o)?o:void 0}var rc=6e3,ic=.25,hr=[-90,90,-135,135,-45,45];function sc(t,n,e,r){let o=t.flatMap(({id:i,a:s,members:c})=>{let l=(s.minX+s.maxX)/2,u=(s.minY+s.maxY)/2,f=.5*Math.hypot(s.maxX-s.minX,s.maxY-s.minY),m=1/0;for(let h of c)m=Math.min(m,Math.hypot(n[h].x-l,n[h].y-u));return c.length&&m>=f*ic?[{id:i,cx:l,cy:u,half:f,members:c}]:[]}).sort((i,s)=>i.half-s.half),a=new Map;return o.forEach(({id:i,cx:s,cy:c,members:l},u)=>{let f=r.x-s,m=r.y-c,y=(Math.hypot(f,m)>1e-6?Math.atan2(m,f):0)+hr[u%hr.length]*Math.PI/180,b=Math.cos(y),p=Math.sin(y),g=-1,P=-1/0;for(let _ of l){let M=(n[_].x-s)*b+(n[_].y-c)*p;M>P&&(P=M,g=_)}a.set(i,[n[g].x*I,e.seatDeckY(g),n[g].y*I])}),a}function dr(t){let{doc:n,units:e,seats:r,surfaces:o,focal:a}=t,i=n.zones??[],s=[];if(i.length){let c=new Map;for(let m of e)for(let h of m.objects)h.type==="section"&&h.zone&&c.set(h.id,h.zone);let l=new Map,u=new Map;for(let m=0;m<r.length;m++){let h=r[m],d=o.seatOwner[m],y=h.zoneId??(d?c.get(d):void 0);if(!y)continue;let b=l.get(y);b||(b={n:0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0,sumY:0},l.set(y,b));let p=u.get(y);p||u.set(y,p=[]),p.push(m),b.n++,h.x<b.minX&&(b.minX=h.x),h.y<b.minY&&(b.minY=h.y),h.x>b.maxX&&(b.maxX=h.x),h.y>b.maxY&&(b.maxY=h.y),b.sumY+=o.seatDeckY(m)}let f=sc(i.flatMap(m=>{let h=l.get(m.id);return h?[{id:m.id,a:h,members:u.get(m.id)??[]}]:[]}),r,o,a);for(let m of i){let h=l.get(m.id),d=[];for(let[y,b]of c)b===m.id&&d.push(y);if(!h||h.n===0){s.push({id:m.id,label:m.label,color:it(m.color),sectionIds:d,seatCount:0,center:[0,0,0],radius:0,focalWorld:[(m.focalPoint??a).x*I,1.5,(m.focalPoint??a).y*I]});continue}s.push({id:m.id,label:m.label,color:it(m.color),sectionIds:d,seatCount:h.n,...f.has(m.id)?{labelAt:f.get(m.id)}:{},center:[(h.minX+h.maxX)/2*I,h.sumY/h.n,(h.minY+h.maxY)/2*I],radius:.5*Math.hypot((h.maxX-h.minX)*I,(h.maxY-h.minY)*I)||1,focalWorld:[(m.focalPoint??a).x*I,1.5,(m.focalPoint??a).y*I]})}}return s}function pr(t){let{doc:n,units:e,seats:r,surfaces:o,seatData:a,hintedSeatFloor:i,zones:s,focal:c}=t,l=[],u=[],f=[],m=new Map;for(let h of e)for(let d of h.objects){if(d.type!=="section"||!d.zone)continue;let y=(d.displayLabel||d.label||"").trim().toLocaleLowerCase();if(!y)continue;let b=n.floors?.[h.index]?.name?.trim().toLocaleLowerCase();if(e.length>1&&b===y)continue;let p=m.get(d.zone);p||m.set(d.zone,p=new Set),p.add(y)}for(let h of s)h.seatCount!==0&&(m.get(h.id)?.has(h.label.trim().toLocaleLowerCase())||l.push({id:`zone:${h.id}`,kind:"zone",text:h.label,anchor:[(h.labelAt??h.center)[0],(h.labelAt??h.center)[1]+Ya,(h.labelAt??h.center)[2]],color:n.zones?.find(d=>d.id===h.id)?.color}));{let h=new Map,d=new Map,y=new Map,b=new Map;for(let p=0;p<r.length;p++){let g=o.seatOwner[p];if(!g)continue;let P=h.get(g);P||(P={n:0,x:0,y:0,deck:0},h.set(g,P)),P.n++,P.x+=r[p].x,P.y+=r[p].y,P.deck+=o.seatDeckY(p);let _=r[p].categoryKey;if(_){let x=d.get(g);x||(x=new Map,d.set(g,x)),x.set(_,(x.get(_)??0)+1)}if(r[p].accessibility?.includes("wheelchair")){let x=y.get(g);x?x.push(p):y.set(g,[p])}let M=b.get(g);M||(M={minX:1/0,maxX:-1/0,minY:1/0,maxY:-1/0,minDeck:1/0,maxDeck:-1/0},b.set(g,M)),M.minDeck=Math.min(M.minDeck,o.seatDeckY(p)),M.maxDeck=Math.max(M.maxDeck,o.seatDeckY(p)),r[p].x<M.minX&&(M.minX=r[p].x),r[p].x>M.maxX&&(M.maxX=r[p].x),r[p].y<M.minY&&(M.minY=r[p].y),r[p].y>M.maxY&&(M.maxY=r[p].y)}for(let p of e)for(let g of p.objects){if(g.type!=="section"||Bo(g))continue;let P=h.get(g.id);if(!P||P.n===0)continue;let _=b.get(g.id),M=[P.x/P.n*I,P.deck/P.n,P.y/P.n*I],x=g.displayLabel||g.label||g.id;u.push({id:g.id,floorIndex:p.index,label:x,seatCount:P.n,center:M,radius:Math.max(1,Math.hypot(_.maxX-_.minX,_.maxY-_.minY)*.5*I),box:{min:[_.minX*I-.4,_.minDeck,_.minY*I-.4],max:[_.maxX*I+.4,_.maxDeck+1,_.maxY*I+.4]},focalWorld:[p.focal.x*I,p.baseHeightM+1.5,p.focal.y*I]});let A=n.floors?.[p.index]?.name?.trim().toLocaleLowerCase();if(!(e.length>1&&A===x.trim().toLocaleLowerCase())){let R=oc(d.get(g.id),n),S=y.get(g.id);l.push({id:`section:${g.id}`,kind:"section",text:x,anchor:[M[0],M[1]+za,M[2]],floorIndex:p.index,...R?{tint:R}:{},...S?{wheelchairSeats:S}:{}})}}}{for(let M of e)for(let x of M.objects){if(x.type!=="gaArea")continue;let A=Yt(x.points);if(!A)continue;let R=x.labelPresentation?.visible===!1?"":x.displayLabel||x.label||x.id,S=x.capacity>0?[R,x.capacity.toLocaleString()].filter(Boolean).join(" \xB7 "):R;S&&l.push({id:`ga:${x.id}`,kind:"ga",text:S,anchor:[A.x*I,M.baseHeightM+qa,A.y*I],floorIndex:M.index})}let h=new Map,d=new Map;for(let M of e)for(let x of M.objects)if(x.type==="section"&&h.set(x.id,x.displayLabel||x.label||x.id),x.type==="row"){let A=x.displayLabel?.trim()||x.segmentedRow?.displayLabel?.trim();A&&d.set(x.id,A)}let y=new Map;for(let M=0;M<r.length;M++){let x=r[M],A=Math.hypot(x.x-c.x,x.y-c.y),R=y.get(x.rowId);(!R||A>R.far)&&y.set(x.rowId,{seat:x,index:M,far:A})}for(let[M,x]of y){let A=o.seatOwner[x.index]??x.seat.sectionId,R=yr(x.seat.label,M,h.get(A??""),d.get(M));R&&l.push({id:`row:${M}`,kind:"row",text:R,anchor:[x.seat.x*I,o.seatDeckY(x.index)+$a,x.seat.y*I],floorIndex:i[x.index]})}let b=new Map;for(let M=0;M<r.length;M++){let x=r[M],A=b.get(x.rowId);A||(A={n:0,x:0,y:0,z:0,minX:1/0,maxX:-1/0,minZ:1/0,maxZ:-1/0,label:yr(x.label,x.rowId,h.get(o.seatOwner[M]??x.sectionId??""),d.get(x.rowId)),sectionId:o.seatOwner[M]??x.sectionId},b.set(x.rowId,A));let R=M*3,S=a.iPosition[R],E=a.iPosition[R+1],T=a.iPosition[R+2];A.n++,A.x+=S,A.y+=E,A.z+=T,A.minX=Math.min(A.minX,S),A.maxX=Math.max(A.maxX,S),A.minZ=Math.min(A.minZ,T),A.maxZ=Math.max(A.maxZ,T)}for(let[M,x]of b)f.push({id:M,label:x.label,sectionId:x.sectionId,seatCount:x.n,center:[x.x/x.n,x.y/x.n,x.z/x.n],radius:Math.max(.8,Math.hypot(x.maxX-x.minX,x.maxZ-x.minZ)*.5)});let p=0,g=(M,x)=>{p++,l.push({id:`access:${r[M].id}`,kind:"access",text:x.name,icon:x.icon,color:x.color,...x.ink?{ink:x.ink}:{},seatWidthM:a.iChairWidth[M]*2,anchor:[r[M].x*I,o.seatDeckY(M)+Ja,r[M].y*I],floorIndex:i[M],rowId:r[M].rowId})},P=null,_=()=>{if(P){let M=mr(r[P.seats[0]]),x=P.seats.length,A=Math.max(1,Math.round(x/tc));for(let R=0;R<A&&p<ur;R++)g(P.seats[Math.min(x-1,Math.floor((R+.5)*x/A))],M)}P=null};for(let M=0;M<r.length&&p<ur;M++){let x=mr(r[M]);if(x&&r[M].accessibility?.length){_(),g(M,x);continue}if(!x){_();continue}P&&P.rowId===r[M].rowId&&P.icon===x.icon?P.seats.push(M):(_(),P={rowId:r[M].rowId,icon:x.icon,seats:[M]})}if(_(),r.length<=rc)for(let M=0;M<r.length;M++){let x=r[M],A=ac(x.displayLabel||x.label);A&&l.push({id:`seat:${x.id}`,kind:"seat",seatWidthM:a.iChairWidth[M]*2,text:A,anchor:[x.x*I,o.seatDeckY(M)+Qa,x.y*I],floorIndex:i[M],rowId:x.rowId})}}for(let h of e){let d=vt(h,e.length===1?r:r.filter((p,g)=>i[g]===h.index)),y=d?cr(pe(h.objects,qt(d)),h.objects.filter(p=>p.type==="text")):new Map,b=[...y.values()];for(let p of h.objects){let g=p.type==="text"?y.get(p.id):void 0;if(p.type==="shape"&&(p.role==="entrance"||p.role==="exit")&&Ka.test(p.label?.trim()??"")){let P=ct(p),_=P?Yt(P):null;if(_&&b.some(M=>Math.hypot(_.x-M.mid.x,_.y-M.mid.y)*I<=de+M.widthM))continue}if(g&&p.type==="text")l.push({id:`text:${p.id}`,kind:"gate",text:p.text,icon:"entrance",anchor:[g.mid.x*I,h.baseHeightM+g.openingM+xe,g.mid.y*I],color:p.color,floorIndex:h.index});else if(p.type==="shape"&&p.role&&Va.has(p.role)){let P=ct(p),_=P?Yt(P):null;if(!_||!p.label)continue;l.push({id:`architecture:${p.id}`,kind:p.role==="stage"?"stage":p.role==="entrance"||p.role==="exit"?"gate":"annotation",text:p.label,...p.role==="entrance"||p.role==="exit"?{icon:p.role}:{},anchor:[_.x*I,h.baseHeightM+At(p).heightM+xe,_.y*I],color:p.fill,floorIndex:h.index})}else if(p.type==="text"){if(!p.text)continue;l.push({id:`text:${p.id}`,kind:"annotation",text:p.text,anchor:[p.position.x*I,h.baseHeightM+xe,p.position.y*I],color:p.color,rotation:p.rotation,floorIndex:h.index})}else if(p.type==="booth"){if(p.labelPresentation?.visible===!1)continue;let P=wt(p);if(!P)continue;let _=Yt(P);if(!_)continue;l.push({id:`booth:${p.id}`,kind:"booth",text:p.displayLabel||p.label||p.id,anchor:[_.x*I,h.baseHeightM+Xn+Za,_.y*I],floorIndex:h.index})}}}return{labels:l,sections:u,rows:f}}function xr(t,n){if(n.length>1)for(let e of n)t.push({id:`floor:${e.id}`,kind:"floor",text:e.label,anchor:[e.center[0],e.box.max[1]+1.2,e.center[2]],floorIndex:e.index})}function ac(t){let n=t.lastIndexOf("-");return n>=0&&n<t.length-1?t.slice(n+1):t}function yr(t,n,e,r){if(r?.trim())return r.trim();let o=t?t.lastIndexOf("-"):-1,a=o>0?t.slice(0,o):n;return a&&Xe(a,e)}var yn=3,Ut=.38,dn=.24;function cc(t){if(t.length<3)return null;let n=t[0],e=t[Math.floor(t.length/2)],r=t[t.length-1],o=(e.x-n.x)*I,a=(e.y-n.y)*I,i=(r.x-n.x)*I,s=(r.y-n.y)*I,c=2*(o*s-a*i);if(Math.abs(c)<1e-7)return null;let l=o*o+a*a,u=i*i+s*s,f=(l*s-u*a)/c+n.x*I,m=(o*u-i*l)/c+n.y*I,h=Math.hypot(n.x*I-f,n.y*I-m);return h<1||h>200||!Number.isFinite(h)||t.some(d=>Math.abs(Math.hypot(d.x*I-f,d.y*I-m)-h)>.03)?null:{x:f,z:m,radius:h}}function br(t){let n=[],e=new Map,r=(c,l)=>`${Math.floor(c/yn)},${Math.floor(l/yn)}`;for(let c of t)for(let l of c.rows){for(let f of l.pts){let m=f.x*I,h=f.y*I,d=r(m,h),y=e.get(d)??[];y.push({x:m,z:h,y:l.y,floor:c.floorIndex}),e.set(d,y)}if(l.patch||l.pts.length<2)continue;let u=cc(l.pts);for(let f of[0,l.pts.length-1]){let m=l.pts[f],h=l.pts[f===0?1:f-1],d=m.x-h.x,y=m.y-h.y,b=Math.hypot(d,y);b<1e-6||n.push({sectionId:c.sectionId,floorIndex:c.floorIndex,curve:u,row:l,point:m,x:m.x*I,z:m.y*I,dx:d/b,dz:y/b})}}let o=new Map;n.forEach((c,l)=>{let u=r(c.x,c.z),f=o.get(u)??[];f.push(l),o.set(u,f)});let a=(c,l)=>{let u=Math.floor(c/yn),f=Math.floor(l/yn);return[-1,0,1].flatMap(m=>[-1,0,1].map(h=>`${u+m},${f+h}`))},i=new Map;n.forEach((c,l)=>{let u=-1,f=1/0,m=!1;for(let h of a(c.x,c.z))for(let d of o.get(h)??[]){let y=n[d];if(c.sectionId===y.sectionId&&c.row.blockId===y.row.blockId||c.floorIndex!==y.floorIndex||Math.abs(c.row.y-y.row.y)>.05)continue;let b=y.x-c.x,p=y.z-c.z,g=Math.hypot(b,p);if(g<Ut*2+.45||g>yn)continue;let P=c.curve&&y.curve&&Math.hypot(c.curve.x-y.curve.x,c.curve.z-y.curve.z)<=.05&&Math.abs(c.curve.radius-y.curve.radius)<=.05,_=Math.min((b*c.dx+p*c.dz)/g,(-b*y.dx-p*y.dz)/g);(P?_<.8:_<.98)||!P&&(Math.abs(b*c.dz-p*c.dx)>.15||Math.abs(b*y.dz-p*y.dx)>.15)||(g<f-.02?(u=d,f=g,m=!1):Math.abs(g-f)<=.02&&(m=!0))}u>=0&&!m&&i.set(l,u)});let s=[];for(let[c,l]of i){if(c>=l||i.get(l)!==c)continue;let u=n[c],f=n[l],m=Math.hypot(f.x-u.x,f.z-u.z),h=(f.x-u.x)/m,d=(f.z-u.z)/m,y=!1;for(let p of a((u.x+f.x)/2,(u.z+f.z)/2))for(let g of e.get(p)??[]){if(g.floor!==u.floorIndex||Math.abs(g.y-u.row.y)>.75)continue;let P=(g.x-u.x)*h+(g.z-u.z)*d,_=Math.abs((g.x-u.x)*d-(g.z-u.z)*h);P>.01&&P<m-.01&&_<dn+Ut&&(y=!0)}if(y)continue;let b=(p,g)=>({x:(u.x+h*p-d*g)/I,y:(u.z+d*p+h*g)/I});s.push({sections:[u.sectionId,f.sectionId],blocks:[u.row.blockId,f.row.blockId],floorIndex:u.floorIndex,ends:[u.point,f.point],clearWidthM:m-2*Ut,heightM:(u.row.y+f.row.y)/2,outline:[b(Ut,-dn),b(m-Ut,-dn),b(m-Ut,dn),b(Ut,dn)]})}return s}var lc=.15,uc=.9,fc=1.76;function gr(t){return!!t&&t[0]*.2126+t[1]*.7152+t[2]*.0722>.55?{zenith:[.36,.58,.84],horizon:[.82,.88,.94]}:{zenith:[.05,.08,.15],horizon:[.3,.38,.5]}}function mc(){return{background:{top:[...Zn.top],bottom:[...Zn.bottom]},sky:gr(null),structure:Vn,seatStates:{...Ve},seatScale:1,materials:{seat:null,shell:null,roughness:.78}}}function hc(t){return!!t&&t[0]*.2126+t[1]*.7152+t[2]*.0722>.55?{deck:"#c9ccc8",fascia:"#b4bab8",shell:"#c3c9c8",roughness:.87}:{deck:"#69747b",fascia:"#3e4d58",shell:"#526572",roughness:.87}}function Mr(t){let n=mc();t??={};let e=it(t.background);if(e){n.background={top:V(e,uc),bottom:V(e,fc)},n.sky=gr(e);let s={};for(let[l,u]of Object.entries(Vn))s[l]=st(u,e,lc);e[0]*.2126+e[1]*.7152+e[2]*.0722>.55&&(s.ground=V(e,.86)),n.structure=s}let r=it(t.selectionColor)??it(t.accent);r&&(n.seatStates={...n.seatStates,selected:r});let o=t.seatScale;typeof o=="number"&&Number.isFinite(o)&&(n.seatScale=Ue(o));let a=Object.fromEntries(Object.entries(t.venue3d??{}).filter(([,s])=>s!=null)),i={...hc(e),...a};if(i){let s=it(i.deck),c=it(i.fascia);s&&(n.structure={...n.structure,tierTop:s,gaTop:s}),c&&(n.structure={...n.structure,tierWall:c,gaWall:c}),n.materials.seat=it(i.seat),n.materials.shell=it(i.shell),typeof i.roughness=="number"&&Number.isFinite(i.roughness)&&(n.materials.roughness=Math.min(1,Math.max(0,i.roughness)))}return n}function Pr(t,n){let e=[];for(let r of n)e.push(...t.seatStates[r]);return e}var ge=.6,Rr=3,yc=.25;function dc(t,n){if(xt(n,t.x,t.y))return 0;let e=1/0;for(let r=0,o=n.length-1;r<n.length;o=r++){let a=n[o],i=n[r],s=i.x-a.x,c=i.y-a.y,l=s*s+c*c||1,u=Math.max(0,Math.min(1,((t.x-a.x)*s+(t.y-a.y)*c)/l));e=Math.min(e,Math.hypot(t.x-(a.x+u*s),t.y-(a.y+u*c)))}return e}function Ir(t,n){let e=t.map(i=>({booth:i,ring:wt(i)})).filter(i=>!!i.ring&&i.ring.length===4&&!i.booth.points),r=e.map(({ring:i})=>({minX:Math.min(...i.map(s=>s.x)),maxX:Math.max(...i.map(s=>s.x)),minY:Math.min(...i.map(s=>s.y)),maxY:Math.max(...i.map(s=>s.y))})),o=(Rr+ge)/I,a=new Map;return e.forEach(({booth:i,ring:s},c)=>{let l={x:s.reduce((h,d)=>h+d.x,0)/4,y:s.reduce((h,d)=>h+d.y,0)/4},u=[0,1,2,3].map(h=>{let d=s[h],y=s[(h+1)%4],b={x:(d.x+y.x)/2,y:(d.y+y.y)/2},p=b.x-l.x,g=b.y-l.y,P=Math.hypot(p,g)||1,_={x:b.x+p/P*ge/I,y:b.y+g/P*ge/I},M=Rr/I;return r.forEach((x,A)=>{A===c||_.x<x.minX-o||_.x>x.maxX+o||_.y<x.minY-o||_.y>x.maxY+o||(M=Math.min(M,dc(_,e[A].ring)))}),{open:M*I,toward:{x:b.x+p/P*10/I,y:b.y+g/P*10/I},focal:Math.hypot(b.x-n.x,b.y-n.y)}}),f=Math.max(...u.map(h=>h.open)),m=u.filter(h=>h.open>=f-yc).sort((h,d)=>h.focal-d.focal)[0];a.set(i.id,m.toward)}),a}import pc from"polygon-clipping";var xc=.45,bc=1500,gc=200;function Sr(t,n){if(t.role!=="stage"||Kt(t.stageKind))return t;let e=ct(t);if(!e||e.length<3||Math.abs(pt(e))*I*I>bc)return t;let r=n.filter(i=>xt(e,i.x,i.y));if(!r.length||r.length>gc)return t;let o=xc/I,a=r.map(i=>[[[i.x-o,i.y-o],[i.x+o,i.y-o],[i.x+o,i.y+o],[i.x-o,i.y+o],[i.x-o,i.y-o]]]);try{let i=pc.difference([[...e.map(l=>[l.x,l.y]),[e[0].x,e[0].y]]],...a),s=null,c=0;for(let l of i){let u=l[0].slice(0,-1).map(([m,h])=>({x:m,y:h})),f=Math.abs(pt(u));f>c&&(c=f,s=u)}return!s||s.length<3?t:{...t,kind:"polygon",points:s,rotation:0}}catch{return t}}function Me(t,n,e,r,o,a,i,s,c,l=[],u=o){if(n.length!==e.length||n.length<2||a-o<1.5)return;let f=(y,b,p)=>{Ot(t,y,b,p,l,i,s,{portalBase:u,ao:c})||Z(t,y,void 0,()=>p,b,i,s,c)},m=(y,b,p)=>({x:y.x+(b.x-y.x)*p,y:y.y+(b.y-y.y)*p}),h=r?n.length:n.length-1,d=0;for(let y=0;y<h;y++){let b=(y+1)%n.length,p=Math.hypot(e[b].x-e[y].x,e[b].y-e[y].y)*$;if(p<1e-5)continue;let g=(x,A)=>[m(n[y],n[b],x),m(n[y],n[b],A),m(e[y],e[b],A),m(e[y],e[b],x)];f(g(0,1),o,o+.95),f(g(0,1),a-.22,a);let P=Math.ceil((d-.32)/6)*6,_=!1,M=!1;for(let x=P;x<d+p;x+=6){let A=Math.max(0,(x-d)/p),R=Math.min(1,(x+.32-d)/p);R<=A||(f(g(A,R),o+.95,a-.22),_||=A<1e-6,M||=R>1-1e-6)}if(!r&&(y===0&&!_||y===h-1&&!M)){let x=Math.min(1,.32/p);f(g(y===0?0:1-x,y===0?x:1),o+.95,a-.22)}d+=p}}import Wt from"polygon-clipping";var xn=.65;function Pe(t,n){let e=1/0;for(let r of n)for(let o=0;o<r.length;o++){let a=r[o],i=r[(o+1)%r.length],s=i.x-a.x,c=i.y-a.y,l=Math.max(0,Math.min(1,((t.x-a.x)*s+(t.y-a.y)*c)/(s*s+c*c||1)));e=Math.min(e,Math.hypot(t.x-a.x-l*s,t.y-a.y-l*c))}return e}var Re=.01;function _r(t,n,e,r,o,a,i,s=[],c=!0,l={bays:[],walls:[]}){if(r-o<=1e-5)return;let u=r-o>=3,f=u?r-xn:o;t.setMaterial(5);let m=u?[]:s.filter(x=>{if(x.role!=="entrance"&&x.role!=="exit")return!1;let A=ct(x);if(!A)return!1;let R=$t(A,o,o+At(x).heightM);return R!==null&&R.openingTop<=r-.12});if((!m.length||!Ot(t,n,f,r,m,a,i,{holes:e,portalBase:o}))&&Z(t,n,e,()=>r,f,a,i,K,void 0,()=>[0,1,0]),!u){t.setMaterial(0);return}let h=c&&l.bays.length?Mc(n,e,Lt(n,pn/I),l):null,d=6/I,y=.22/I,b=s.flatMap(x=>{if(x.role!=="entrance"&&x.role!=="exit")return[];let A=ct(x);return A?.length?[{minX:Math.min(...A.map(R=>R.x)),maxX:Math.max(...A.map(R=>R.x)),minY:Math.min(...A.map(R=>R.y)),maxY:Math.max(...A.map(R=>R.y))}]:[]}),p=Math.min(...n.map(x=>x.x)),g=Math.max(...n.map(x=>x.x)),P=Math.min(...n.map(x=>x.y)),_=Math.max(...n.map(x=>x.y));for(let x=p+d/2;x<g;x+=d)for(let A=P+d/2;A<_;A+=d){if(b.some(S=>x+y>=S.minX&&x-y<=S.maxX&&A+y>=S.minY&&A-y<=S.maxY))continue;let R=[{x:x-y,y:A-y},{x:x+y,y:A-y},{x:x+y,y:A+y},{x:x-y,y:A+y}];!Rt({x,y:A},n,e)||Pe({x,y:A},[n,...e??[]])<y*Math.SQRT2+(c?pn/I:0)||h&&Pe({x,y:A},h.flat())<y*Math.SQRT2+pn/I||Z(t,R,void 0,()=>f,o,a,i,K)}if(h){for(let[x,...A]of h)Z(t,x,A,()=>f,o-Re,a,i,K);t.setMaterial(0);return}let M=Lt(n,pn/I);if(c&&M.length>=3){let x=s.filter(S=>{if(S.role!=="entrance"&&S.role!=="exit")return!1;let E=ct(S);return!!E&&E.some(T=>!Rt(T,n,void 0)||Pe(T,[n])<=pn/I)}),A=[M.slice().reverse()],R=o-Re;(!x.length||!Ot(t,n,R,f,x,a,i,{holes:A,portalBase:o+Re}))&&Z(t,n,A,()=>f,R,a,i,K)}t.setMaterial(0)}var Ie=.25,pn=Ie;function Mc(t,n,e,r){if(e.length<3)return null;let o=i=>{let s=i.map(c=>[c.x,c.y]);return s.push(s[0]),s},a=i=>{let[s,...c]=i.map(l=>[o(l)]);return Wt.union(s,...c)};try{let i=[o(t),...(n??[]).map(o)],s=Wt.difference(i,[o(e)]),c=Wt.intersection(i,a(r.bays));if(!c.length)return null;let l=Wt.difference(Wt.intersection(i,a(r.walls)),c);return Wt.union(Wt.difference(s,c),l).map(f=>f.map(m=>m.slice(0,-1).map(([h,d])=>({x:h,y:d}))))}catch{return null}}var Pc=.02,Rc=.25,Ic=1.2,Sc=.6,_c=.45,Ac=2.3,wc=Math.PI/180,Ar=.005;function Bt(t,n,e){let r=e*wc;return{x:t.x+n*Math.sin(r),y:t.y+n*Math.cos(r)}}function Ec(t,n){let e=n.rings[n.rings.length-1];if(!e)return!1;let r=e.outerRMedian*.85;for(let o of t){if(o.role!=="wall")continue;let a=o.points&&o.points.length>=2?o.points:o.x!==void 0&&o.y!==void 0&&o.width!==void 0&&o.height!==void 0?[{x:o.x,y:o.y},{x:o.x+o.width,y:o.y},{x:o.x+o.width,y:o.y+o.height},{x:o.x,y:o.y+o.height}]:[];if(a.length<2)continue;let i=0;for(let s of a)Math.hypot(s.x-n.centre.x,s.y-n.centre.y)>=r&&i++;if(i>=a.length/2)return!0}return!1}var Bc=24,Tc=.01;function Oc(t,n,e,r,o,a,i,s,c){let l=e.binCount,u=Bc,f=$,m=a+.02,h=a-Tc,d=[];for(let w=0;w<l;w++){let B=(e.startBin+w+.5)*n.binStepDeg,C=new Float64Array(u+1);for(let L=0;L<=u;L++){let O=r[w]+(o[w]-r[w])*L/u;C[L]=Math.max(m,ze(n,e,B,O)-Rc)}d.push(C)}if(c){let w=0;for(let B=0;B+1<l;B++)for(let C=0;C<u;C++){let L=Bt(n.centre,r[B]+(o[B]-r[B])*C/u,(e.startBin+B+.5)*n.binStepDeg),O=Bt(n.centre,r[B+1]+(o[B+1]-r[B+1])*(C+1)/u,(e.startBin+B+1.5)*n.binStepDeg);w=Math.max(w,Math.hypot(O.x-L.x,O.y-L.y))}for(let B=0;B<l;B++){let C=(e.startBin+B+.5)*n.binStepDeg;for(let L=0;L<=u;L++){let O=Bt(n.centre,r[B]+(o[B]-r[B])*L/u,C),D=c(O.x,O.y,w*1.01);D!==null&&(d[B][L]=Math.min(d[B][L],Math.max(h+Ar,D-Ar)))}}}let y=[i.bandTop[0]*s.top,i.bandTop[1]*s.top,i.bandTop[2]*s.top],b=[i.bandTop[0]*s.bottomCap,i.bandTop[1]*s.bottomCap,i.bandTop[2]*s.bottomCap],p=[i.bandWall[0]*s.top,i.bandWall[1]*s.top,i.bandWall[2]*s.top],g=[i.bandWall[0]*s.wallBottom,i.bandWall[1]*s.wallBottom,i.bandWall[2]*s.wallBottom],P=(w,B)=>{let C=(e.startBin+w+.5)*n.binStepDeg,L=r[w]+(o[w]-r[w])*B/u,O=Bt(n.centre,L,C);return[O.x*f,d[w][B],O.y*f]};{let w=Math.tan(12*Math.PI/180);for(let B=0;B<6;B++){let C=!1;for(let O=0;O<l;O++)for(let D=u-1;D>=0;D--)d[O][D]>d[O][D+1]&&(d[O][D]=d[O][D+1],C=!0);let L=e.closed?l:l-1;for(let O=0;O<L;O++){let D=(O+1)%l;for(let H=0;H<=u;H++){let j=d[D][H]-d[O][H];if(Math.abs(j)>1)continue;let G=r[O]+(o[O]-r[O])*H/u,U=r[D]+(o[D]-r[D])*H/u,X=Bt(n.centre,G,(e.startBin+O+.5)*n.binStepDeg),Y=Bt(n.centre,U,(e.startBin+D+.5)*n.binStepDeg),nt=w*Math.hypot(Y.x-X.x,Y.y-X.y)*f;j>nt?(d[D][H]=d[O][H]+nt,C=!0):-j>nt&&(d[O][H]=d[D][H]+nt,C=!0)}}if(!C)break}}let _=1,M=(w,B)=>{for(let C=0;C<=u;C+=4)if(Math.abs(d[w][C]-d[B][C])>_)return!0;return Math.abs(d[w][u]-d[B][u])>_},x=Math.tan(38*Math.PI/180),A=w=>(o[w]-r[w])/u*f,R=(w,B)=>d[w][B+1]-d[w][B]>x*Math.max(1e-6,A(w)),S=(w,B)=>{let C=e.closed?(w-1+l)%l:Math.max(0,w-1),L=e.closed?(w+1)%l:Math.min(l-1,w+1);Math.abs(d[C][B]-d[w][B])>_&&(C=w),Math.abs(d[L][B]-d[w][B])>_&&(L=w);let O=Math.max(0,B-1),D=Math.min(u,B+1);O<B&&R(w,O)&&(O=B),D>B&&R(w,B)&&(D=B);let H=P(C,B),j=P(L,B),G=P(w,O),U=P(w,D),X=j[0]-H[0],Y=j[1]-H[1],nt=j[2]-H[2],rt=U[0]-G[0],q=U[1]-G[1],Q=U[2]-G[2],J=Y*Q-nt*q,N=nt*rt-X*Q,v=X*q-Y*rt,W=Math.hypot(J,N,v);return W>1e-12?(J/=W,N/=W,v/=W,N<0&&(J=-J,N=-N,v=-v),[J,N,v]):[0,1,0]},E=(w,B,C=!1)=>{let L=C&&Math.min(w[1],B[1])-a>=3,O=[w[0],L?w[1]-xn:h,w[2]],D=[B[0],L?B[1]-xn:h,B[2]],H=B[0]-w[0],j=B[2]-w[2],G=Math.hypot(H,j);if(!(G>1e-12))return;let U=[j/G,0,-H/G];t.tri(w,B,D,U,p,p,g),t.tri(w,D,O,U,p,g,g)},T=.05*Pt,F=w=>o[w]-r[w]<T,k=e.closed?l:l-1;for(let w=0;w<k;w++){let B=(w+1)%l;if(F(w)||F(B))continue;if(M(w,B)){let j=(e.startBin+w+1)*n.binStepDeg,G=(q,Q)=>{let J=(r[w]+r[B])/2,N=(o[w]+o[B])/2,v=J+(N-J)*Q/u,W=Bt(n.centre,v,j);return[W.x*f,d[q][Q],W.y*f]};for(let q=0;q<u;q++){let Q=P(w,q),J=P(w,q+1),N=G(w,q),v=G(w,q+1),W=S(w,q),lt=S(w,q+1);t.triN(Q,N,v,W,W,lt,y),t.triN(Q,v,J,W,lt,lt,y);let ft=P(B,q),at=P(B,q+1),tt=G(B,q),et=G(B,q+1),ht=S(B,q),z=S(B,q+1);t.triN(tt,ft,at,ht,ht,z,y),t.triN(tt,at,et,ht,z,z,y);let mt=G(w,q),yt=G(w,q+1),Gt=G(B,q+1),Ht=G(B,q),kt=yt[0]-mt[0],Ft=yt[2]-mt[2],en=Math.hypot(kt,Ft);if(en>1e-12){let bn=[Ft/en,0,-kt/en];t.tri(mt,yt,Gt,bn,p),t.tri(mt,Gt,Ht,bn,p)}}let U=P(w,0),X=P(B,0),Y=P(B,u),nt=P(w,u),rt=q=>[q[0],h,q[2]];Math.min(U[1],X[1])-a<3&&(t.tri(rt(U),rt(Y),rt(X),[0,-1,0],b),t.tri(rt(U),rt(nt),rt(Y),[0,-1,0],b)),E(U,X,!0),E(nt,Y,!0);continue}for(let j=0;j<u;j++){let G=S(w,j),U=S(B,j),X=S(B,j+1),Y=S(w,j+1);if(R(w,j)||R(B,j)){let J=(yt,Gt)=>{let Ht=(e.startBin+yt+.5)*n.binStepDeg,kt=r[yt]+(o[yt]-r[yt])*(j+.5)/u,Ft=Bt(n.centre,kt,Ht);return[Ft.x*f,Gt,Ft.y*f]},N=P(w,j),v=P(B,j),W=J(w,d[w][j]),lt=J(B,d[B][j]);t.triN(N,v,lt,G,U,U,y),t.triN(N,lt,W,G,U,G,y);let ft=P(B,j+1),at=P(w,j+1),tt=J(w,d[w][j+1]),et=J(B,d[B][j+1]);t.triN(tt,et,ft,Y,X,X,y),t.triN(tt,ft,at,Y,X,Y,y);let ht=lt[0]-W[0],z=lt[2]-W[2],mt=Math.hypot(ht,z);if(mt>1e-12){let yt=[-z/mt,0,ht/mt];t.tri(W,lt,et,yt,p),t.tri(W,et,tt,yt,p)}continue}let nt=P(w,j),rt=P(B,j),q=P(B,j+1),Q=P(w,j+1);t.triN(nt,rt,q,G,U,X,y),t.triN(nt,q,Q,G,X,Y,y)}let C=P(w,0),L=P(B,0),O=P(B,u),D=P(w,u),H=j=>[j[0],h,j[2]];Math.min(C[1],L[1])-a<3&&(t.tri(H(C),H(O),H(L),[0,-1,0],b),t.tri(H(C),H(D),H(O),[0,-1,0],b)),E(C,L,!0),E(D,O,!0)}if(!e.closed)for(let w of[0,l-1])for(let B=0;B<u;B++)E(P(w,B),P(w,B+1))}function wr(t,n,e){let{bottomY:r,colors:o,ao:a}=e,i=new Float64Array(n.binCount).fill(-1/0);for(let u of n.rings)for(let f of u.arcs){let m=new Float64Array(f.binCount),h=new Float64Array(f.binCount);for(let y=0;y<f.binCount;y++){let b=(f.startBin+y)%n.binCount,p=Math.max(0,f.innerR[y]-It);m[y]=Math.max(p,i[b]+.001),h[y]=Math.max(m[y]+.001,f.outerR[y]+It)}let d=0;for(let y=0;y<f.binCount;y++){let b=f.topLevelM[y]-r;b>d&&(d=b)}d>=Ic&&Oc(t,n,f,m,h,r,o,a,e.standTopNear);for(let y=0;y<f.binCount;y++){let b=(f.startBin+y)%n.binCount;h[y]>i[b]&&(i[b]=h[y])}}if(e.deriveShell===!1||Ec(e.shapes,n))return;let s=n.rings[n.rings.length-1],c=Sc*Pt,l=_c*Pt;for(let u of s.arcs){let f=[],m=[];for(let S=0;S<u.binCount;S++){let E=(u.startBin+S+.5)*n.binStepDeg,T=u.outerR[S]+It+c;f.push(Bt(n.centre,T,E)),m.push(Bt(n.centre,T+l,E))}let h=-1/0;for(let S=0;S<u.binCount;S++)u.topLevelM[S]>h&&(h=u.topLevelM[S]);let d=h+Ac,y=u.closed?m:[...m,...f.slice().reverse()],b=u.closed?[f.slice().reverse()]:void 0,p=st(o.shellWall,[.66,.71,.72],.62),g=(S,E,T,F,k)=>{let w=Math.abs(F-h)<1e-6?F-Pc:F;Ot(t,S,T,w,e.shapes,o.shellTop,k,{holes:E,portalBase:r,ao:a})||Z(t,S,E,()=>w,T,o.shellTop,k,a)},P=Math.max(1,Math.ceil((h-r)/4.5)),_=(h-r)/P,M=new Set,x=e.tierFrontLevels??n.rings.map(S=>{let E=S.arcs.flatMap(T=>Array.from(T.frontLevelM)).filter(Number.isFinite).sort((T,F)=>T-F);return E[Math.floor(E.length/2)]});for(let S of x)Number.isFinite(S)&&S-r>=3&&S<h&&M.add(Math.max(0,Math.min(P-1,Math.floor((S-r)/_))));let A=Math.min(...x.filter(S=>Number.isFinite(S)&&S-r>=3&&S<h));for(let S=0;S<P;S++)r+(S+1)*_<=A-xn&&Number.isFinite(A)&&M.add(S);for(let S=0;S<P;S++){let E=r+(h-r)*S/P,T=r+(h-r)*(S+1)/P;M.has(S)&&T-E>=3.2?(g(y,b,E,E+.45,p),Me(t,f,m,u.closed,E+.45,T-.16,o.shellTop,p,a,e.shapes,r)):g(y,b,E,T-.16,p),g(y,b,T-.16,T,V(p,.62))}Me(t,f,m,u.closed,h,d,o.shellTop,p,a,e.shapes,r);let R=8;for(let S=1;S<m.length;S++){if(R+=Math.hypot(m[S].x-m[S-1].x,m[S].y-m[S-1].y)*$,R<8)continue;R=0;let E=m[S],T=m[S-1],F=E.x-T.x,k=E.y-T.y,w=Math.max(1,Math.hypot(F,k)),B=F/w*.16*Pt,C=k/w*.16*Pt,L=Math.max(1,Math.hypot(E.x-n.centre.x,E.y-n.centre.y)),O=(E.x-n.centre.x)/L*.24*Pt,D=(E.y-n.centre.y)/L*.24*Pt,H=[{x:E.x-B,y:E.y-C},{x:E.x+B,y:E.y+C},{x:E.x+B+O,y:E.y+C+D},{x:E.x-B+O,y:E.y-C+D}];g(H,void 0,r,h,V(p,1.12))}}}var Cc=2.5,Er=.65,kc=2,Fc=.03;function Lc(t,n){let e=()=>{let r=n;for(;t.length>2;){let o=t[0],a=t[1],i=Math.hypot(a.x-o.x,a.y-o.y);if(i>r){t[0]={x:o.x+(a.x-o.x)/i*r,y:o.y+(a.y-o.y)/i*r};return}r-=i,t.shift()}};e(),t.reverse(),e(),t.reverse()}function Ae(t,n,e){let r=new Map;for(let a of t){let i=r.get(a.blockId);(!i||a.depth<i.depth)&&r.set(a.blockId,a)}let o=[];for(let[a,i]of r){if(i.y-e<Cc||i.pts.length<2)continue;let s=i.pts.map(u=>{let f=u.x-n.x,m=u.y-n.y,h=Math.max(1,Math.hypot(f,m));return{x:u.x-f/h*Er/I,y:u.y-m/h*Er/I}}),c=[],l=[s[0]];for(let u=1;u<s.length;u++){let f=s[u-1],m=s[u];Math.hypot(m.x-f.x,m.y-f.y)*I>kc?(l.length>=2&&c.push(l),l=[m]):l.push(m)}l.length>=2&&c.push(l);for(let u of c)Lc(u,Fc/I);c.length&&o.push({blockId:a,y:i.y,runs:c})}return o}var Br=.1,Nc=1.1,vc=.22,Se=.95,_e=.05,Tr=1.8;function Or(t,n,e,r){let o=[.72,.72,.69],a=[.48,.55,.57];for(let i of Ae(n,e,r)){let s=i.y;for(let c of i.runs){let l=Tr;for(let u=1;u<c.length;u++){let f=c[u-1],m=c[u],h=m.x-f.x,d=m.y-f.y,y=Math.hypot(h,d);if(y<1e-5)continue;let b=p=>{let g=-d/y*p/I/2,P=h/y*p/I/2;return[{x:f.x+g,y:f.y+P},{x:m.x+g,y:m.y+P},{x:m.x-g,y:m.y-P},{x:f.x-g,y:f.y-P}]};if(Z(t,b(vc),void 0,()=>s+Br,s-Nc,o,o,K),Z(t,b(_e),void 0,()=>s+Se,s+Se-_e,a,a,K),l+=y*I,l>=Tr||u===c.length-1){l=0;let p=.028/I,g=[{x:f.x-p,y:f.y-p},{x:f.x+p,y:f.y-p},{x:f.x+p,y:f.y+p},{x:f.x-p,y:f.y+p}];Z(t,g,void 0,()=>s+Se-_e,s+Br,a,a,K)}}}}}var Dc=.9,Gc=1.5,Hc=.3;function Cr(t,n,e){let r=[],o=[],a=Dc/I,i=Gc/I,s=Hc/I;for(let c of t)for(let l of c.runs){if(l.length<2)continue;let u=l.slice(),f=(b,p)=>{let g=u[b],P=u[p],_=Math.hypot(g.x-P.x,g.y-P.y)||1;u[b]={x:g.x+(g.x-P.x)/_*s,y:g.y+(g.y-P.y)/_*s}};f(0,1),f(u.length-1,u.length-2);let m=u.map((b,p)=>{let g=u[Math.max(0,p-1)],P=u[Math.min(u.length-1,p+1)],_=P.x-g.x,M=P.y-g.y,x=Math.hypot(_,M)||1,A=-M/x,R=_/x;return A*(b.x-n.x)+R*(b.y-n.y)<0&&(A=-A,R=-R),{nx:A,ny:R}}),h=u.map((b,p)=>({x:b.x-m[p].nx*i,y:b.y-m[p].ny*i})),d=u.map((b,p)=>({x:b.x+m[p].nx*a,y:b.y+m[p].ny*a})),y=u.map((b,p)=>({x:b.x+m[p].nx*(a+e/I),y:b.y+m[p].ny*(a+e/I)}));r.push([...h,...d.slice().reverse()]),o.push([...d,...y.reverse()])}return{bays:r,walls:o}}var we=.88,Wn=.27,Xc=1.2,jc=.01;function kr(t,n,e,r,o){let a=[.67,.71,.68],i=[a[0]*we,a[1]*we,a[2]*we],s=c=>!!o&&o.some((l,u)=>u!==c&&l?.belowY!=null&&Math.abs(l.belowY-n[c].y)<1e-6&&n[u].blockId===n[c].blockId);for(let c=0;c<n.length;c++){let l=n[c];if(!(l.pts.length<2))for(let u of[0,l.pts.length-1]){let f=l.pts[u],m=l.pts[u===0?1:u-1],h=f.x-m.x,d=f.y-m.y,y=Math.hypot(h,d);if(y<1e-5)continue;h/=y,d/=y;let b=1/0;for(let B=0;B<e.length;B++){let C=e[B],L=e[(B+1)%e.length],O=L.x-C.x,D=L.y-C.y,H=h*D-d*O;if(Math.abs(H)<1e-8)continue;let j=C.x-f.x,G=C.y-f.y,U=(j*D-G*O)/H,X=(j*d-G*h)/H;U>0&&X>=0&&X<=1&&(b=Math.min(b,U))}let p=.3/I,g=b-.04/I;if(!Number.isFinite(b)||b*I>2||g-p<.12/I)continue;let P=!!r&&s(c),_=o?.[c]?.pitch,M=P&&_&&Number.isFinite(_)?Math.min(Xc/I,Math.max(Wn/I,_-Wn/I-jc/I)):Wn/I,x=-d,A=h;r&&x*(r.x-f.x)+A*(r.y-f.y)<0&&(x=-x,A=-A);let R=Wn/I,S=[{x:f.x+h*p+x*R,y:f.y+d*p+A*R},{x:f.x+h*g+x*R,y:f.y+d*g+A*R},{x:f.x+h*g-x*M,y:f.y+d*g-A*M},{x:f.x+h*p-x*M,y:f.y+d*p-A*M}];if(!S.every(B=>xt(e,B.x,B.y)))continue;let E=o?.[c]?.belowY,T=E==null?0:l.y-E,F=!!r&&T>.03&&T<=.65;if(F&&r){let B=(C,L)=>Math.hypot((C.x+L.x)/2-r.x,(C.y+L.y)/2-r.y);B(S[0],S[1])>B(S[3],S[2])&&(S=[S[3],S[2],S[1],S[0]])}let k=F?Math.ceil((T-1e-8)/.2):1,w=(B,C,L)=>({x:B.x+(C.x-B.x)*L,y:B.y+(C.y-B.y)*L});for(let B=0;B<k;B++){let C=B/k,L=(B+1)/k,O=[w(S[0],S[3],C),w(S[1],S[2],C),w(S[1],S[2],L),w(S[0],S[3],L)],D=l.y+.008-(F?T*(1-L):0);Z(t,O,void 0,()=>D,D-(F?T/k+.1:.16),a,i,K)}}}}var Uc=.02,Wc=.012,Yc=.01,zc=.3,Kc=.5;function Vc(t,n,e){if(t.length===1)return Math.hypot(n-t[0].x,e-t[0].y);let r=1/0;for(let o=0;o+1<t.length;o++){let a=t[o],i=t[o+1],s=i.x-a.x,c=i.y-a.y,l=s*s+c*c,u=l>1e-12?((n-a.x)*s+(e-a.y)*c)/l:0;u=Math.max(0,Math.min(1,u)),r=Math.min(r,Math.hypot(n-(a.x+u*s),e-(a.y+u*c)))}return r}function Zc(t,n,e,r){let o=1/0,a=Number.NaN;for(let i=0;i<t.length;i++){let s=n[i];if(Math.hypot(e-s.cx,r-s.cy)-s.rad>=o)continue;let c=Vc(t[i].pts,e,r);c<o&&(o=c,a=t[i].y)}return a}function Fr(t,n,e,r,o,a,i){let s=r.filter(m=>m.pts.length>0);if(s.length<2||n.length<3)return;let c=s.map(m=>{let h=0,d=0;for(let b of m.pts)h+=b.x,d+=b.y;h/=m.pts.length,d/=m.pts.length;let y=0;for(let b of m.pts)y=Math.max(y,Math.hypot(b.x-h,b.y-d));return{cx:h,cy:d,rad:y}}),l=[...n],u=e.map(m=>[...m]),f=Uc/I;for(let m of[l,...u])for(let h=0;h<m.length;h++){let d=m[h],y=m[(h+1)%m.length],b=y.x-d.x,p=y.y-d.y,g=Math.hypot(b,p);if(g*I<.05)continue;let P=(d.x+y.x)/2,_=(d.y+y.y)/2,M=p/g,x=-b/g;Rt({x:P+M*f,y:_+x*f},l,u)&&(M=-M,x=-x);let A=o.x-P,R=o.y-_,S=Math.hypot(A,R)||1;if((M*A+x*R)/S>Kc)continue;let E=1/0;for(let O of[.2,.5,.8]){let D=Zc(s,c,d.x+b*O-M*f*2,d.y+p*O-x*f*2);Number.isFinite(D)&&(E=Math.min(E,D))}if(!Number.isFinite(E)||E-a<zc)continue;let T=a-Yc,F=E-Wc,k={x:(d.x-M*f)*I,z:(d.y-x*f)*I},w={x:(y.x-M*f)*I,z:(y.y-x*f)*I},B=[M,0,x],C=V(i,K.wallBottom),L=V(i,K.top);t.tri([k.x,F,k.z],[w.x,F,w.z],[w.x,T,w.z],B,L,L,C),t.tri([k.x,F,k.z],[w.x,T,w.z],[k.x,T,k.z],B,L,C,C)}}function Lr(t,n,e,r,o,a,i,s,c=!1){if(!n.outline||n.outline.length<3)return;let l=e.baseHeightM,u=e.objects.filter(g=>g.type==="shape"&&(g.role==="entrance"||g.role==="exit")),f=oo(r,s.tierTop);if(!o)return;let m=g=>o.deckAt(g.x,g.y),h=Po(n,i),d=h[0]??n.outline;if(o.rowLevels.length>=2){let g=Bn(o.rowLevels),P=Ro(yo(o.rowLevels,e.focal,g),h),_=Cr(Ae(o.rowLevels,e.focal,l),e.focal,Ie);for(let x of P){let A=Math.max(l,x.topY-Nr);for(let R of a.subtract(x.outline,A))_r(t,R,x.holes,A,l,s.tierTop,s.tierWall,u,!c,_);t.setMaterial(5),Fr(t,x.outline,x.holes,o.rowLevels,e.focal,A,s.tierWall),t.setMaterial(0)}P.length||Z(t,d,n.holes,()=>o.landingY,l,f,s.tierWall,K);let M={tread:[f[0]*K.top,f[1]*K.top,f[2]*K.top],riser:[f[0]*.72,f[1]*.72,f[2]*.72]};for(let x of h.length?h:[d])xo(t,o.rowLevels,e.focal,o.landingY,M,x,g);Or(t,o.rowLevels,e.focal,l),kr(t,o.rowLevels,n.outline,e.focal,g);return}let y=o.flat?1/0:Ho,b=g=>o.normalAt(g.x,g.y),p=o.flat?o.landingY:void 0;for(let g of a.subtract(d,p))Z(t,g,n.holes,m,l,f,s.tierWall,K,y,b)}function qc(t,n,e){let r=new Set;for(let i of t.objects)i.type==="section"&&r.add(i.id);let o=new Map;for(let i=0;i<n.length;i++){let s=e.seatOwner[i];if(!s||!r.has(s))continue;let c=e.bySection.get(s);if(c&&c.rowLevels.length>=2)continue;let l=n[i];if(l.kind==="booth")continue;let u=o.get(s);u||(u=new Map,o.set(s,u));let f=l.rowId||`__seat-${i}`,m=u.get(f);m||(m={pts:[],levelM:0,n:0},u.set(f,m)),m.pts.push({x:l.x,y:l.y}),m.levelM+=e.seatDeckY(i),m.n++}let a=[];for(let i of t.objects){if(i.type!=="section")continue;let s=e.bySection.get(i.id);if(s&&s.rowLevels.length>=2){let l=s.rowLevels.filter(u=>!u.patch).map(u=>({pts:u.pts,levelM:u.y}));l.length>=2&&a.push({sectionId:i.id,rows:l});continue}let c=o.get(i.id);c&&a.push({sectionId:i.id,rows:[...c.values()].map(l=>({pts:l.pts,levelM:l.levelM/l.n}))})}return a}function $c(t,n){let e=1/0;for(let r=0;r<n.length;r++){let o=n[r],a=n[(r+1)%n.length],i=a.x-o.x,s=a.y-o.y,c=Math.max(0,Math.min(1,((t.x-o.x)*i+(t.y-o.y)*s)/(i*i+s*s||1)));e=Math.min(e,Math.hypot(t.x-o.x-c*i,t.y-o.y-c*s))}return e}var Nr=.02;function Qc(t,n){let e=t.objects.filter(r=>r.type==="section"&&!!r.outline&&r.outline.length>=3).flatMap(r=>{let o=n.bySection.get(r.id);if(!o)return[];let a=1/0,i=-1/0,s=1/0,c=-1/0;for(let u of r.outline)u.x<a&&(a=u.x),u.x>i&&(i=u.x),u.y<s&&(s=u.y),u.y>c&&(c=u.y);let l=o.landingY;for(let u of o.rowLevels)l=Math.min(l,u.y-Nr);return[{outline:r.outline,holes:r.holes,surface:o,floorTop:l,minX:a,maxX:i,minY:s,maxY:c}]});return(r,o,a)=>{let i=null;for(let s of e){if(r<s.minX-a||r>s.maxX+a||o<s.minY-a||o>s.maxY+a)continue;let c={x:r,y:o};if(!Rt(c,s.outline,s.holes)&&$c(c,s.outline)>a)continue;let l=Math.min(s.surface.deckAt(r,o),s.floorTop);(i===null||l<i)&&(i=l)}return i}}var Jc=3,tl=.4;function vr(t,n,e,r,o,a,i=!0){let s=qc(n,e,r);if(s.length<Jc)return;let c=Ye(s,n.focal);if(!c)return;let l=Math.max(0,...c.rings.map(u=>u.arcs.reduce((f,m)=>f+m.binCount,0)))/c.binCount;t.setMaterial(5),wr(t,c,{bottomY:n.baseHeightM,tierFrontLevels:s.map(u=>Math.min(...u.rows.map(f=>f.levelM))),colors:{bandTop:V(o.tierTop,.8),bandWall:o.tierWall,shellTop:a??V(o.tierWall,1.15),shellWall:a??o.tierWall},ao:K,shapes:n.objects.filter(u=>u.type==="shape"),deriveShell:i&&l>=tl,standTopNear:Qc(n,r)}),t.setMaterial(0)}function Dr(t){let{doc:n,units:e,seats:r,surfaces:o,solids:a,hintedSeatFloor:i,seatFloor:s}=t,c=[];{let l=e.map(()=>({minX:1/0,minY:1/0,minZ:1/0,maxX:-1/0,maxY:-1/0,maxZ:-1/0}));for(let m=0;m<a.floor.length;m+=1){let h=Math.max(0,Math.min(e.length-1,Math.round(a.floor[m]))),d=m*3,y=l[h];y.minX=Math.min(y.minX,a.position[d]),y.minY=Math.min(y.minY,a.position[d+1]),y.minZ=Math.min(y.minZ,a.position[d+2]),y.maxX=Math.max(y.maxX,a.position[d]),y.maxY=Math.max(y.maxY,a.position[d+1]),y.maxZ=Math.max(y.maxZ,a.position[d+2])}let u=new Map;for(let m=0;m<e.length;m++)for(let h of e[m].objects)h.type==="section"&&u.set(h.id,m);let f=e.map(()=>({n:0,minX:1/0,minY:1/0,minDeck:1/0,maxX:-1/0,maxY:-1/0,maxDeck:-1/0,sumX:0,sumDeck:0,sumZ:0}));for(let m=0;m<r.length;m++){let h=o.seatOwner[m],d=(h!==null?u.get(h):void 0)??i[m];if(d===void 0)continue;let y=f[d],b=r[m];y.n++,b.x<y.minX&&(y.minX=b.x),b.y<y.minY&&(y.minY=b.y),b.x>y.maxX&&(y.maxX=b.x),b.y>y.maxY&&(y.maxY=b.y);let p=o.seatDeckY(m);y.sumX+=b.x*I,y.sumDeck+=p,y.sumZ+=b.y*I,y.minDeck=Math.min(y.minDeck,p),y.maxDeck=Math.max(y.maxDeck,p+1.6),s[m]=d}for(let m=0;m<e.length;m++){let h=f[m],d=n.floors?.[m],y=l[m],b=Math.min(h.n?h.minX*I:e[m].focal.x*I-1,Number.isFinite(y.minX)?y.minX:1/0),p=Math.max(h.n?h.maxX*I:e[m].focal.x*I+1,Number.isFinite(y.maxX)?y.maxX:-1/0),g=Math.min(h.n?h.minY*I:e[m].focal.y*I-1,Number.isFinite(y.minZ)?y.minZ:1/0),P=Math.max(h.n?h.maxY*I:e[m].focal.y*I+1,Number.isFinite(y.maxZ)?y.maxZ:-1/0),_=Math.min(h.n?Math.min(e[m].baseHeightM,h.minDeck):e[m].baseHeightM,Number.isFinite(y.minY)?y.minY:1/0),M=Math.max(h.n?Math.max(h.maxDeck,_+.5):_+.5,Number.isFinite(y.maxY)?y.maxY:-1/0),x=[h.n?h.sumX/h.n:(b+p)/2,h.n?h.sumDeck/h.n:(_+M)/2,h.n?h.sumZ/h.n:(g+P)/2],A=Math.max(1,.5*Math.hypot(p-b,M-_,P-g));c.push({index:m,id:d?.id??`floor-${m}`,label:d?.name??(e.length>1?`Floor ${m+1}`:"Venue"),seatCount:h.n,center:x,radius:A,box:{min:[b,_,g],max:[p,M,P]},focalWorld:[e[m].focal.x*I,e[m].baseHeightM+1.5,e[m].focal.y*I]})}}return c}function Ee(t,n){let e=1/0,r=1/0,o=-1/0,a=-1/0,i=(s,c)=>{s<e&&(e=s),c<r&&(r=c),s>o&&(o=s),c>a&&(a=c)};for(let s of n)i(s.x,s.y);for(let s of t)for(let c of s.objects)if(c.type==="section")for(let l of c.outline)i(l.x,l.y);else if(c.type==="shape"&&c.points)for(let l of c.points)i(l.x,l.y);else if(c.type==="gaArea")for(let l of c.points)i(l.x,l.y);else if(c.type==="booth"){let l=wt(c);if(l)for(let u of l)i(u.x,u.y)}else if(c.type==="table"){let l=jn(c);if(l)for(let u of l)i(u.x,u.y)}else if(c.type==="decorImage"){let l=Un(c);if(l)for(let u of l)i(u.x,u.y)}return Number.isFinite(e)||(e=-100,r=-100,o=100,a=100),{minX:e,minY:r,maxX:o,maxY:a}}function Wr(t,n,e,r,o,a,i){if(n.length===1){let s=e.map(m=>({x:m.x,y:m.y}));for(let m of n[0].objects)m.type==="section"?s.push(...m.outline):m.type==="shape"?s.push(...ct(m)??m.points??[]):m.type==="gaArea"?s.push(...m.points):m.type==="booth"?s.push(...wt(m)??[]):m.type==="table"?s.push(...jn(m)??[]):m.type==="decorImage"&&s.push(...Un(m)??[]);if(Xr(t,n[0],e,a)||Ur(t,n[0],e,s,a))return!1;if(i&&Hr(t,n[0].baseHeightM,s,a,i))return!0;let c=ln(s),l=(o.minX+o.maxX)/2,u=(o.minY+o.maxY)/2,f=c.length>=3?c.map(m=>{let h=m.x-l,d=m.y-u,y=Math.max(1,Math.hypot(h,d));return{x:m.x+h/y*80,y:m.y+d/y*80}}):an(o.minX-28,o.minY-28,o.maxX-o.minX+56,o.maxY-o.minY+56);return Z(t,f,void 0,()=>-.04,-.22,a.ground,a.ground,K),!1}else{let s=n.reduce((b,p)=>p.baseHeightM<b.baseHeightM?p:b);t.setFloor(s.index);let c={...s,objects:n.flatMap(b=>b.objects)},l=e.map(b=>({x:b.x,y:b.y}));for(let b of c.objects)b.type==="section"&&l.push(...b.outline);if(Xr(t,c,e,a)||Ur(t,c,e,l,a))return!1;if(i&&Hr(t,s.baseHeightM,l,a,i))return!0;let u=e.filter((b,p)=>r[p]===s.index),f=Ee([s],u),m=Math.hypot(f.maxX-f.minX,f.maxY-f.minY),h=Math.max(28,Math.min(80,m*.04)),d=an(f.minX-h,f.minY-h,f.maxX-f.minX+h*2,f.maxY-f.minY+h*2),y=s.baseHeightM-.03;return Z(t,d,void 0,()=>y,y-.22,a.ground,a.ground,K),!1}}function Be(t,n,e,r){let{cx:o,cz:a,radius:i}=e,s=1/0,c=1/0,l=1/0,u=-1/0,f=-1/0,m=-1/0,h=(b,p,g)=>{s=Math.min(s,b),u=Math.max(u,b),c=Math.min(c,p),f=Math.max(f,p),l=Math.min(l,g),m=Math.max(m,g)};for(let b=0;b<t.position.length;b+=3){let p=b/3;r&&p>=r[0]&&p<r[1]||h(t.position[b],t.position[b+1],t.position[b+2])}for(let b=0;b<n.count;b++){let p=b*3,g=n.iPosition[p],P=n.iPosition[p+1],_=n.iPosition[p+2],M=Math.max(.35,n.iMaxRadius[b]??.35);h(g-M,P,_-M),h(g+M,P+1.6,_+M)}Number.isFinite(s)||(s=o-i,u=o+i,c=0,f=i*.16,l=a-i,m=a+i);let d=[(s+u)/2,(c+f)/2,(l+m)/2],y=Math.max(1,.5*Math.hypot(u-s,f-c,m-l));return{center:d,radius:y,minY:c,maxY:f}}var nl=4096;function Yr(t,n,e=[]){let r=Math.max(1,Math.ceil(t.count/nl)),o=Math.ceil(t.count/r),a=new Float32Array((o*2+n.length*4+e.length)*3),i=0;for(let s=0;s<t.count;s+=r){let c=t.iPosition[s*3],l=t.iPosition[s*3+1],u=t.iPosition[s*3+2];a[i++]=c,a[i++]=l,a[i++]=u,a[i++]=c,a[i++]=0,a[i++]=u}for(let[s,c,l]of e)a[i++]=s,a[i++]=c,a[i++]=l;for(let s of n)for(let[c,l]of[[-1,-1],[1,-1],[1,1],[-1,1]])a[i++]=s.cx+c*s.halfX,a[i++]=s.y,a[i++]=s.cz+l*s.halfZ;return a.subarray(0,i)}function zr(t,n,e,r,o,a,i=[]){let s=1/0,c=1/0,l=-1/0,u=-1/0;for(let M=0;M<t.count;M++){let x=M*3,A=t.iPosition[x],R=t.iPosition[x+2];A<s&&(s=A),A>l&&(l=A),R<c&&(c=R),R>u&&(u=R)}for(let[M,,x]of i)M<s&&(s=M),M>l&&(l=M),x<c&&(c=x),x>u&&(u=x);for(let M of n)s=Math.min(s,M.cx-M.halfX),l=Math.max(l,M.cx+M.halfX),c=Math.min(c,M.cz-M.halfZ),u=Math.max(u,M.cz+M.halfZ);let f=e.minX*I,m=e.maxX*I,h=e.minY*I,d=e.maxY*I,y=f,b=m,p=h,g=d;if(Number.isFinite(s)){let M=Math.max(2,.06*Math.hypot(l-s,u-c));y=Math.max(f,s-M),b=Math.min(m,l+M),p=Math.max(h,c-M),g=Math.min(d,u+M)}let P=Math.min(0,r),_=Math.max(o,a*.05);return{min:[y,P,p],max:[b,_,g]}}var Gr=12,el=.6,ol=40;function Hr(t,n,e,r,o){let a=ln([...e]);if(a.length<3)return!1;let i=1/0,s=1/0,c=-1/0,l=-1/0;for(let _ of a)i=Math.min(i,_.x),c=Math.max(c,_.x),s=Math.min(s,_.y),l=Math.max(l,_.y);let u=Math.hypot(c-i,l-s)*I,f=_t(a,Gr/I,1.2),m=Math.max(ol,u*el),h=_t(a,(Gr+m)/I,1.2);if(f.length!==h.length)return!1;let d=st(r.ground,[.78,.76,.72],.35),y=st(r.ground,[.56,.62,.52],.3);Z(t,f,void 0,()=>n-.04,n-.22,d,d,K);let b=n-.05,p=f.map(_=>[_.x*I,b,_.y*I]),g=h.map(_=>[_.x*I,b,_.y*I]),P=[0,1,0];for(let _=0;_<p.length;_++){let M=(_+1)%p.length;t.tri(p[_],g[M],g[_],P,y,o,o),t.tri(p[_],p[M],g[M],P,y,y,o)}return!0}function Xr(t,n,e,r){let o=vt(n,e);if(!o)return!1;let a=n.baseHeightM,i=st(r.ground,[.62,.55,.47],.4);return Z(t,o,void 0,()=>a-.04,a-.22,i,i,K),!0}var rl=3e3,il=20,jr=1.5,sl=1.2,al=.25;function Ur(t,n,e,r,o){if(!e.length||e.length>rl||r.length<3)return!1;for(let S of n.objects){if(S.type==="shape"&&Rn(S.stageKind))return!1;if(S.type==="section"){let{height:E}=zt(S,{floorBaseHeightM:n.baseHeightM});if(E-n.baseHeightM>il)return!1}}let a=0,i=0;for(let S of r)a+=S.x,i+=S.y;a/=r.length,i/=r.length;let s=0,c=0,l=0;for(let S of r){let E=S.x-a,T=S.y-i;s+=E*E,c+=T*T,l+=E*T}let u=.5*Math.atan2(2*l,s-c),f=Math.cos(u),m=Math.sin(u),h=-m,d=f,y=1/0,b=-1/0,p=1/0,g=-1/0;for(let S of r){let E=(S.x-a)*f+(S.y-i)*m,T=(S.x-a)*h+(S.y-i)*d;y=Math.min(y,E),b=Math.max(b,E),p=Math.min(p,T),g=Math.max(g,T)}let P=S=>[[y-S,p-S],[b+S,p-S],[b+S,g+S],[y-S,g+S]].map(([E,T])=>({x:a+f*E+h*T,y:i+m*E+d*T})),_=P(jr/I),M=P((jr+al)/I),x=n.baseHeightM,A=st(o.ground,[.62,.55,.47],.4),R=st(o.ground,[.86,.86,.84],.55);return Z(t,M,void 0,()=>x-.04,x-.22,A,A,K),Z(t,M,[_.slice().reverse()],()=>x+sl,x-.04,st(R,[1,1,1],.2),R,K),!0}function Kr(t,n,e){let r=()=>({byObjectId:new Map,elements:[]});if(!n||!t)return r();let o=Te(n);if(!o.ok||o.value.id!==t)return r();let a=new Map;for(let f of e)for(let m of f.objects)m.type==="shape"&&a.set(m.id,{shape:m,unit:f});let i=new Set,s=new Set,c=new Map((n.overlay.productionElements??[]).map(f=>{let m=f.runtimeContentImageUrl;return[f.id,typeof m=="string"&&/^(?:blob:|data:image\/|https:\/\/)/.test(m)?m:void 0]})),l=[];for(let f of o.value.overlay.productionElements??[]){let m=a.get(f.objectId),h=m?ct(m.shape):null,d=f.baseElevationM??0;if(!m||!h||h.length<3||!f.id||i.has(f.id)||s.has(f.objectId)||!Number.isFinite(f.heightM)||f.heightM<.05||f.heightM>50||!Number.isFinite(d)||d<-10||d>100)return r();i.add(f.id),s.add(f.objectId);let y=h.map(R=>R.x*I),b=h.map(R=>R.y*I),p=m.unit.baseHeightM+d,g=Math.min(...y),P=Math.max(...y),_=Math.min(...b),M=Math.max(...b),x,A=c.get(f.id)??f.contentImageUrl;if(f.kind==="screen"&&A&&(x=No(h,p,p+f.heightM,m.unit.focal),!x))if(P-g>=M-_){let R=Math.abs(_-m.unit.focal.y*I)<=Math.abs(M-m.unit.focal.y*I)?_-.006:M+.006;x=[[g,p,R],[P,p,R],[g,p+f.heightM,R],[P,p+f.heightM,R]]}else{let R=Math.abs(g-m.unit.focal.x*I)<=Math.abs(P-m.unit.focal.x*I)?g-.006:P+.006;x=[[R,p,_],[R,p,M],[R,p+f.heightM,_],[R,p+f.heightM,M]]}l.push({id:f.id,objectId:f.objectId,kind:f.kind,floorIndex:m.unit.index,baseY:p,topY:p+f.heightM,bounds:{min:[g,p,_],max:[P,p+f.heightM,M]},occlusion:f.occlusion,...A?{contentImageUrl:A}:{},...x?{contentPlane:x}:{}})}let u=l.sort((f,m)=>f.id.localeCompare(m.id));return{byObjectId:new Map(u.map(f=>[f.objectId,f])),elements:u}}var Vr=[.13,.14,.17],nn=[.4,.43,.47],cl=.18,ll=.02,ul=2.4,fl=1500,ml=240,hl=.25;function Zr(t,n,e,r){let o=n.stageKind??"";if(Kt(o)||o==="round"||!r.length)return;let a=ct(n);if(!a||a.length<3)return;let i={x:a.reduce((C,L)=>C+L.x,0)/a.length,y:a.reduce((C,L)=>C+L.y,0)/a.length},s=0,c=0,l=new Set;for(let C of r)s+=C.x,c+=C.y,l.add(Math.floor(Math.atan2(C.y-i.y,C.x-i.x)*180/Math.PI/10));let u=i.x-s/r.length,f=i.y-c/r.length,m=Math.hypot(u,f);if(m<1e-6)return;let h=r.reduce((C,L)=>C+Math.hypot(L.x-i.x,L.y-i.y),0)/r.length;if(l.size*10>ml&&m<hl*h)return;let d=u/m,y=f/m,b=-y,p=d,g=-1/0,P=1/0,_=1/0,M=-1/0;for(let C of a){let L=(C.x-i.x)*d+(C.y-i.y)*y,O=(C.x-i.x)*b+(C.y-i.y)*p;g=Math.max(g,L),P=Math.min(P,L),_=Math.min(_,O),M=Math.max(M,O)}let x=(M-_)*I,A=(g-P)*I;if(x<3||A<1.5||x*A>fl)return;let R=cl/I,S=(C,L)=>({x:i.x+d*C+b*L,y:i.y+y*C+p*L}),E=(C,L,O,D)=>[S(C,O),S(C,D),S(L,D),S(L,O)],T=e+Math.max(3.5,Math.min(8,x*.35)),F=e+Math.min(ul,T-e-1),k=.2/I,w=P+Math.min(A*.25,1.5)/I,B=ll/I;Z(t,E(g-2*R+B,g-R-B,_+R+k,M-R-k),void 0,()=>F,e,Vr,Vr,K);for(let[C,L]of[[_+R,_+R+k],[M-R-k,M-R]])Z(t,E(g-2*R,g-R,C,L),void 0,()=>T+.3,e,nn,nn,K),Z(t,E(w+k,g-2*R,C,L),void 0,()=>T+.3,T,nn,nn,K);Z(t,E(w,w+k,_+R,M-R),void 0,()=>T+.3,T,nn,nn,K)}function Mt(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function gt(t){return Array.isArray(t)?t:[]}function yl(t){let n=[t];for(;n.length;){let e=n.pop();if(Array.isArray(e)){n.push(...e);continue}if(!Mt(e))continue;let r=Mt(e.extensions)?e.extensions:null;if(r&&Object.prototype.hasOwnProperty.call(r,"KHR_draco_mesh_compression"))return!0;n.push(...Object.values(e))}return!1}function Yn(t,n){return!Array.isArray(t)||t.length!==n||!t.every(e=>typeof e=="number"&&Number.isFinite(e))?null:t}function dl(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function pl(t,n){let e=new Array(16).fill(0);for(let r=0;r<4;r++)for(let o=0;o<4;o++)for(let a=0;a<4;a++)e[r*4+o]+=t[a*4+o]*n[r*4+a];return e}function xl(t){let n=Yn(t.matrix,16);if(n)return n;if(t.matrix!==void 0)return null;let e=t.translation===void 0?[0,0,0]:Yn(t.translation,3),r=t.rotation===void 0?[0,0,0,1]:Yn(t.rotation,4),o=t.scale===void 0?[1,1,1]:Yn(t.scale,3);if(!e||!r||!o)return null;let[a,i,s,c]=r,l=Math.hypot(a,i,s,c);if(!(l>1e-8))return null;let u=a/l,f=i/l,m=s/l,h=c/l,d=u+u,y=f+f,b=m+m,p=u*d,g=u*y,P=u*b,_=f*y,M=f*b,x=m*b,A=h*d,R=h*y,S=h*b;return[(1-(_+x))*o[0],(g+S)*o[0],(P-R)*o[0],0,(g-S)*o[1],(1-(p+x))*o[1],(M+A)*o[1],0,(P+R)*o[2],(M-A)*o[2],(1-(p+_))*o[2],0,e[0],e[1],e[2],1]}function bl(t,n,e,r){return[t[0]*n+t[4]*e+t[8]*r+t[12],t[1]*n+t[5]*e+t[9]*r+t[13],t[2]*n+t[6]*e+t[10]*r+t[14]]}function gl(t){let n=t[0],e=t[4],r=t[8],o=t[1],a=t[5],i=t[9],s=t[2],c=t[6],l=t[10],u=a*l-i*c,f=i*s-o*l,m=o*c-a*s,h=n*u+e*f+r*m;if(Math.abs(h)<1e-12)return null;let d=1/h;return[u*d,f*d,m*d,(r*c-e*l)*d,(n*l-r*s)*d,(e*s-n*c)*d,(e*i-r*a)*d,(r*o-n*i)*d,(n*a-e*o)*d]}function qr(t,n,e,r){let o=t[0]*n+t[1]*e+t[2]*r,a=t[3]*n+t[4]*e+t[5]*r,i=t[6]*n+t[7]*e+t[8]*r,s=Math.hypot(o,a,i)||1;return o/=s,a/=s,i/=s,[o,a,i]}function Ml(t){if(t.byteLength<20||t.byteLength>8388608)return null;let n=new DataView(t.buffer,t.byteOffset,t.byteLength);if(n.getUint32(0,!0)!==1179937895||n.getUint32(4,!0)!==2||n.getUint32(8,!0)!==t.byteLength)return null;let e=12,r=null,o=null;for(;e+8<=t.byteLength;){let a=n.getUint32(e,!0),i=n.getUint32(e+4,!0);if(e+=8,a%4!==0||e+a>t.byteLength)return null;let s=t.subarray(e,e+a);if(i===1313821514&&!r)try{let c=JSON.parse(new TextDecoder().decode(s).replace(/[\u0000 ]+$/g,""));if(!Mt(c))return null;r=c}catch{return null}else if(i===5130562&&!o)o=s;else return null;e+=a}return e===t.byteLength&&r&&o?{json:r,bin:o}:null}function Pl(t){return t===5120||t===5121?1:t===5122||t===5123?2:t===5125||t===5126?4:0}function Rl(t){return t==="SCALAR"?1:t==="VEC2"?2:t==="VEC3"?3:t==="VEC4"?4:0}function Il(t,n,e){return e===5120?t.getInt8(n):e===5121?t.getUint8(n):e===5122?t.getInt16(n,!0):e===5123?t.getUint16(n,!0):e===5125?t.getUint32(n,!0):t.getFloat32(n,!0)}function Sl(t){let n=t instanceof Uint8Array?t:new Uint8Array(t),e=Ml(n);if(!e)return{ok:!1,issue:"invalid_glb"};let{json:r,bin:o}=e;if(!Mt(r.asset)||r.asset.version!=="2.0")return{ok:!1,issue:"unsupported_glb"};let a=gt(r.extensionsUsed).filter(_=>typeof _=="string");if(a.includes("KHR_draco_mesh_compression")||yl(r))return{ok:!1,issue:"draco_not_allowed"};if(a.length||gt(r.extensionsRequired).length)return{ok:!1,issue:"unsupported_glb"};if(gt(r.images).length||gt(r.textures).length)return{ok:!1,issue:"external_resource"};let i=gt(r.buffers);if(i.length!==1||!Mt(i[0])||i[0].uri!==void 0||typeof i[0].byteLength!="number"||!Number.isInteger(i[0].byteLength)||i[0].byteLength<0||i[0].byteLength>o.byteLength)return{ok:!1,issue:"external_resource"};let s=gt(r.accessors),c=gt(r.bufferViews),l=gt(r.meshes),u=gt(r.nodes),f=gt(r.scenes),m=typeof r.scene=="number"?r.scene:0;if(!Mt(f[m]))return{ok:!1,issue:"unsupported_glb"};let h=new DataView(o.buffer,o.byteOffset,o.byteLength),d=(_,M,x)=>{if(typeof _!="number"||!Number.isInteger(_)||!Mt(s[_]))return null;let A=s[_];if(A.type!==M||A.sparse!==void 0||A.normalized===!0||typeof A.count!="number"||!Number.isInteger(A.count)||A.count<1||typeof A.componentType!="number"||!x.includes(A.componentType)||typeof A.bufferView!="number")return null;let R=c[A.bufferView];if(!Mt(R)||R.buffer!==0||typeof R.byteLength!="number"||!Number.isInteger(R.byteLength)||R.byteLength<0)return null;let S=Rl(A.type),E=Pl(A.componentType),T=typeof R.byteStride=="number"?R.byteStride:S*E,F=typeof R.byteOffset=="number"?R.byteOffset:0,k=typeof A.byteOffset=="number"?A.byteOffset:0,w=F+k,B=k+(A.count-1)*T+S*E;if(!Number.isInteger(T)||!Number.isInteger(F)||!Number.isInteger(k)||T<S*E||F<0||k<0||F+R.byteLength>o.byteLength||B>R.byteLength)return null;let C=[];for(let L=0;L<A.count;L++){let O=[];for(let D=0;D<S;D++){let H=Il(h,w+L*T+D*E,A.componentType);if(!Number.isFinite(H))return null;O.push(H)}C.push(O)}return C},y=[],b=[],p=0,g=new Set,P=(_,M)=>{if(typeof _!="number"||!Number.isInteger(_)||!Mt(u[_])||g.has(_))return!1;g.add(_);let x=u[_],A=xl(x);if(!A)return!1;let R=pl(M,A),S=gl(R);if(!S)return!1;if(x.mesh!==void 0){if(typeof x.mesh!="number")return!1;let E=l[x.mesh];if(!Mt(E))return!1;for(let T of gt(E.primitives)){if(!Mt(T)||T.mode!==void 0&&T.mode!==4||!Mt(T.attributes))return!1;let F=d(T.attributes.POSITION,"VEC3",[5126]),k=T.attributes.NORMAL===void 0?null:d(T.attributes.NORMAL,"VEC3",[5126]);if(!F||T.attributes.NORMAL!==void 0&&!k)return!1;let w=F.length;if(T.indices!==void 0){let C=typeof T.indices=="number"?s[T.indices]:null;w=Mt(C)?C.count:void 0}if(typeof w!="number"||!Number.isInteger(w)||w%3!==0||(p+=w/3,p>1e5))return!1;let B=T.indices===void 0?F.map((C,L)=>[L]):d(T.indices,"SCALAR",[5121,5123,5125]);if(!B||B.length%3!==0||B.length!==w)return!1;for(let C=0;C<B.length;C+=3){let L=[B[C][0],B[C+1][0],B[C+2][0]];if(L.some(H=>!Number.isInteger(H)||H<0||H>=F.length))return!1;let O=L.map(H=>bl(R,...F[H])),D=null;if(!k){let H=O[1][0]-O[0][0],j=O[1][1]-O[0][1],G=O[1][2]-O[0][2],U=O[2][0]-O[0][0],X=O[2][1]-O[0][1],Y=O[2][2]-O[0][2];D=qr([1,0,0,0,1,0,0,0,1],j*Y-G*X,G*U-H*Y,H*X-j*U)}for(let H=0;H<3;H++)y.push(...O[H]),b.push(...k?qr(S,...k[L[H]]):D)}}}for(let E of gt(x.children))if(!P(E,R))return!1;return g.delete(_),!0};for(let _ of gt(f[m].nodes))if(!P(_,dl()))return{ok:!1,issue:p>1e5?"triangle_limit":"unsupported_glb"};return!p||y.length!==p*9||b.length!==y.length?{ok:!1,issue:"unsupported_glb"}:{ok:!0,triangleCount:p,position:new Float32Array(y),normal:new Float32Array(b)}}function $r(t){try{return Sl(t)}catch{return{ok:!1,issue:"invalid_glb"}}}function Ry(t){let{doc:n}=t,e=Mr(n.theme),r=e.structure,o=Mo(n,t.eventConfigurationId??n.eventConfigurationId),a=Kr(t.eventConfigurationId,t.eventConfiguration,o),i=t.seats,s=new An,c=null;if(t.registeredShellGlb){let N=$r(t.registeredShellGlb);if(N.ok){let v=N.position.length/3,W=new Float32Array(N.position.length),lt=e.materials.shell??r.tierWall;for(let ft=0;ft<v;ft++){let at=N.normal[ft*3+1],tt=at<-.25?.4:.62+.38*Math.max(0,at);W[ft*3]=lt[0]*tt,W[ft*3+1]=lt[1]*tt,W[ft*3+2]=lt[2]*tt}c={position:N.position,normal:N.normal,color:W,floor:new Float32Array(v).fill(-2),material:new Float32Array(v),count:v}}}let l=new Map;for(let N of o)for(let v of N.objects)l.set(v.id,N.index),v.type==="section"&&l.set(v.logicalSectionId??v.id,N.index);let u=i.map(N=>l.get(N.sectionId??"")??l.get(N.rowId??"")??0),f=Ee(o,i),m=s.vertexCount,d=Wr(s,o,i,u,f,r,st(e.background.top,e.background.bottom,.5))?s.vertexCount:m,y=ro(n,i),b=new Map,p=new Map;for(let N of n.categories??[])b.set(N.key,N.color),N.seatGlyph&&p.set(N.key,N.seatGlyph);let g=[],P=Xo(o,i,u),_=new Map;i.forEach((N,v)=>{let W=P.seatDeckY(v);Number.isFinite(W)&&_.set(N.rowId,Math.min(_.get(N.rowId)??1/0,W))});let M=new Float32Array(i.length),x=[],A=new Map((n.floors??[]).map((N,v)=>[N.id,v])),R=o.map(()=>[]);for(let N of i){let v=N.floorId?A.get(N.floorId)??0:0;R[Math.min(v,R.length-1)]?.push(N)}let S=(N,v)=>{if(!v||v.length<3)return!1;let W=Math.min(...v.map(tt=>tt.x)),lt=Math.max(...v.map(tt=>tt.x)),ft=Math.min(...v.map(tt=>tt.y)),at=Math.max(...v.map(tt=>tt.y));for(let tt=0;tt<N;tt++)for(let et of R[tt])if(!(et.x<W||et.x>lt||et.y<ft||et.y>at)&&Rt(et,v,void 0))return!0;return!1},E=null,T=N=>o.length===1?i:i.filter((v,W)=>u[W]===N),F=(N,v)=>{let W=wt(N);if(!W)return!1;let lt=1/0,ft=1/0,at=-1/0,tt=-1/0;for(let et of W)lt=Math.min(lt,et.x),at=Math.max(at,et.x),ft=Math.min(ft,et.y),tt=Math.max(tt,et.y);return i.some((et,ht)=>et.kind!=="booth"&&(o.length===1||u[ht]===v)&&et.x>lt&&et.x<at&&et.y>ft&&et.y<tt&&xt(W,et.x,et.y))},k;for(let N=0;N<o.length;N++){let v=o[N];s.setFloor(N);let W=vt(v,T(N)),lt=0;if(W){let z=0;for(let mt of v.objects)if(mt.type==="section")for(let yt of P.bySection.get(mt.id)?.rowLevels??[])z=Math.max(z,yt.y-v.baseHeightM);if(lt=_o(z),!k){let mt=qt(W);k={centre:[mt.x*I,mt.y*I]}}}let ft=new Tn,at=[],tt=v.objects.filter(z=>z.type==="shape"&&(z.role==="entrance"||z.role==="exit")),et=v.objects.filter(z=>z.type==="section"&&!!z.outline&&z.outline.length>=3),ht=Ir(v.objects.filter(z=>z.type==="booth"),v.focal);for(let z of v.objects)if(z.type==="section"){let mt=s.vertexCount;Lr(s,z,v,io(z,y),P.bySection.get(z.id),ft,et,r,N>0&&S(N,z.outline));let yt=s.vertexCount-mt;yt>0&&x.push({sectionId:z.id,start:mt,count:yt})}else if(z.type==="shape"){let mt=a.byObjectId.get(z.id),yt=g.length,Gt=W!==null&&z.role==="wall"&&!mt;s.setMaterial(Gt?Cn:(mt?.kind??z.role)==="screen"?1:0);let Ht=z.role==="stage"&&!mt?Sr(z,T(N)):Gt&&z.heightM===void 0?{...z,heightM:lt}:z,kt=Io(Ht,at);if(rr(s,Ht,v.baseHeightM+kt.supportOffsetM,kt.topOffsetM-kt.supportOffsetM,r,v.focal,g,mt,tt),s.setMaterial(0),z.role==="stage"&&!mt&&g.length>yt&&(E??N)===N){E=N;let Ft=n.floors?.[N]?.id,en=o.length>1&&Ft?i.filter(bn=>bn.floorId===Ft):i;Zr(s,Ht,g[g.length-1].y,en)}}else z.type==="gaArea"?sr(s,z,v.baseHeightM,it(b.get(z.categoryKey)),r):z.type==="booth"?nr(s,z,v.baseHeightM,it(b.get(z.categoryKey)),r,ht.get(z.id)??v.focal,F(z,N)):z.type==="table"?or(s,z,Math.max(v.baseHeightM,_.get(z.id)??v.baseHeightM),it(z.fill??n.theme?.decorFill??"#232c40"),r,!!(z.fill??n.theme?.decorFill)):z.type==="decorImage"&&ir(s,z,v.baseHeightM,r);W&&lr(s,v.objects,W,v.baseHeightM,lt,v.focal,r,z=>!a.byObjectId.has(z.id)),vr(s,v,i,P,r,e.materials.shell,!c)}let w=o.length>1?{x:o.reduce((N,v)=>N+v.focal.x,0)/o.length,y:o.reduce((N,v)=>N+v.focal.y,0)/o.length}:n.focalPoint??{x:(f.minX+f.maxX)/2,y:(f.minY+f.maxY)/2},B=$e(c?[s.build(),c]:[s.build()]),C=no(i,t.initialState,P,M,b,p),L=dr({doc:n,units:o,seats:i,surfaces:P,focal:w}),{labels:O,sections:D,rows:H}=pr({doc:n,units:o,seats:i,surfaces:P,seatData:C,hintedSeatFloor:u,zones:L,focal:w}),j=new Map(D.map((N,v)=>[N.id,v]));P.seatOwner.forEach((N,v)=>{C.iSection[v]=N?j.get(N)??-1:-1});let G=Dr({doc:n,units:o,seats:i,surfaces:P,solids:B,hintedSeatFloor:u,seatFloor:M});xr(O,G),C.iYaw=to(C.iPosition,i.length,N=>i[N].rowId,N=>{let v=o[M[N]]?.focal??w;return[v.x*I,v.y*I]});let U=(f.minX+f.maxX)/2*I,X=(f.minY+f.maxY)/2*I,Y=.5*Math.hypot((f.maxX-f.minX)*I,(f.maxY-f.minY)*I)||10,nt=Be(B,C,{cx:U,cz:X,radius:Y},[m,d]),rt=Be(B,C,{cx:U,cz:X,radius:Y}),q=_l(o),Q=zr(C,g,f,nt.minY,nt.maxY,Y,q);return{sharedAisles:br(o.flatMap(N=>N.objects.flatMap(v=>{if(v.type!=="section")return[];let W=P.bySection.get(v.id);return W?[{sectionId:v.id,floorIndex:N.index,rows:W.rowLevels}]:[]}))),solids:B,sectionSolidRanges:x,seats:C,seatSectionIds:P.seatOwner,bounds:{center:[(Q.min[0]+Q.max[0])/2,(Q.min[1]+Q.max[1])/2,(Q.min[2]+Q.max[2])/2],radius:Y,groundY:0,box:Q,fitPoints:Yr(C,g,q)},...k?{room:k}:{},...!k&&o.some(N=>N.objects.some(v=>v.type==="shape"&&Rn(v.stageKind)))?{outdoor:!0}:{},renderBounds:{center:nt.center,radius:nt.radius},clipBounds:{center:rt.center,radius:rt.radius},stateColorLUT:Pr(e,on),theme:e,seatCount:i.length,focalWorld:[w.x*I,1.5,w.y*I],zones:L,stages:g,productionElements:a.elements,sections:D,rows:H,labels:O,floors:G}}function _l(t){let n=[];for(let e of t)for(let r of e.objects){let o=r.type==="gaArea"?r.points:r.type==="booth"?wt(r):null;for(let a of o??[])n.push([a.x*I,e.baseHeightM,a.y*I])}return n}function Al(t,n){let{doc:e,report:r}=Lo(t),o=r.confident&&(r.sections.length>0||!!r.looseRowBlocks);if(!o&&!r.roles?.length)return null;if(!o){let c=new Map(r.roles.map(h=>[h.id,h.role])),l=h=>h.map(d=>d.type==="shape"&&c.has(d.id)?{...d,role:c.get(d.id)}:d),u=t.floors?.map(h=>({...h,objects:l(h.objects)})),f=new Float64Array(n.length).fill(Number.NaN),m=new Float64Array(n.length*2).fill(Number.NaN);return n.forEach((h,d)=>{h.eyeHeightM!==void 0&&(f[d]=h.eyeHeightM),h.focalPoint&&(m[d*2]=h.focalPoint.x,m[d*2+1]=h.focalPoint.y)}),{doc:{...t,objects:u?.[0]?.objects??l(t.objects),...u?{floors:u}:{}},report:r,eyeHeightM:f,focal:m}}let a=new Map(In(e).map(c=>[c.id,c])),i=new Float64Array(n.length).fill(Number.NaN),s=new Float64Array(n.length*2).fill(Number.NaN);return n.forEach((c,l)=>{let u=a.get(c.id)??c;u.eyeHeightM!==void 0&&(i[l]=u.eyeHeightM),u.focalPoint&&(s[l*2]=u.focalPoint.x,s[l*2+1]=u.focalPoint.y)}),{doc:e,report:r,eyeHeightM:i,focal:s}}function wl(t,n){return t.map((e,r)=>{let o=n.eyeHeightM[r],a=n.focal[r*2],i=n.focal[r*2+1],s={...e};return Number.isNaN(o)?delete s.eyeHeightM:s.eyeHeightM=o,Number.isNaN(a)?delete s.focalPoint:s.focalPoint={x:a,y:i},s})}function Ay(t){let n=t.estimate===!1?null:Al(t.doc,t.seats);return n?{input:{...t,doc:n.doc,seats:wl(t.seats,n)},estimate:n}:{input:t}}export{vl as a,fi as b,mi as c,Qe as d,hi as e,Dl as f,on as g,Kn as h,Bl as i,Zn as j,I as k,En as l,Kl as m,Vl as n,Lo as o,Fu as p,Lu as q,Nu as r,vu as s,Du as t,Gu as u,ae as v,Hu as w,Xu as x,ju as y,Uu as z,Wu as A,ac as B,Ry as C,Al as D,wl as E,Ay as F};
|
package/dist/chunk-TQN2VWQO.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var s=24,h=2,M={facilities:"Facilities","food-drink":"Food & drink",navigation:"Getting around",accessibility:"Accessibility"},c=["facilities","food-drink","navigation","accessibility"],n="M13 4.6a1.6 1.6 0 1 0-3.2 0 1.6 1.6 0 0 0 3.2 0 M11 6.5V13h5l2.4 6 M15 16.4A5 5 0 1 1 9 11.3",a=[{key:"restroom-men",label:"Men's restroom",group:"facilities",path:"M16 7a4 4 0 1 0-8 0 4 4 0 0 0 8 0 M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"},{key:"restroom-women",label:"Women's restroom",group:"facilities",path:"M15 5a3 3 0 1 0-6 0 3 3 0 0 0 6 0 M12 8l-4 10h8l-4-10 M10 18v4 M14 18v4"},{key:"restroom-accessible",label:"Accessible restroom",group:"facilities",path:n},{key:"first-aid",label:"First aid",group:"facilities",path:"M5 4h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1Z M12 8v8 M8 12h8"},{key:"coat-check",label:"Coat check",group:"facilities",path:"M12 6a2 2 0 0 1 0-4 2 2 0 0 1 1.6 3.2L21 13H3l8.4-7.8 M3 13h18"},{key:"atm",label:"ATM / cash",group:"facilities",path:"M2 6h20v12H2V6Z M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0 M6 9h.01 M18 15h.01"},{key:"info",label:"Info point",group:"facilities",path:"M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18 M12 11v5 M12 8h.01"},{key:"lost-found",label:"Lost & found",group:"facilities",path:"M11 4a7 7 0 1 0 0 14 7 7 0 0 0 0-14 M16 16l5 5 M9 8.5a2 2 0 1 1 3 1.7c-.8.5-1 .8-1 1.8 M11 15h.01"},{key:"restrooms",label:"Restrooms",group:"facilities",path:"M6 3h12a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z M12 8a2 2 0 1 0 0 4 2 2 0 0 0 0-4 M9 18v-3.5a3 3 0 0 1 6 0V18"},{key:"charging",label:"Charging point",group:"facilities",path:"M3 8h13v8H3V8Z M16 10h3v4h-3 M9.6 9l-2 3.5h2.5l-1.5 3"},{key:"smoking",label:"Smoking area",group:"facilities",path:"M2 15h13v3H2v-3Z M18 16h2 M19 8c0 1 1 1.5 1 2.5S19 12 19 13"},{key:"no-smoking",label:"No smoking",group:"facilities",path:"M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18 M5.6 5.6l12.8 12.8 M7 13h6v2H7v-2Z"},{key:"food",label:"Food",group:"food-drink",path:"M7 3v6a2 2 0 0 0 4 0V3 M9 11v10 M17 3c-1.6 1-2.2 3-2.2 6 0 2 .9 3.2 2.2 3.6V21"},{key:"bar",label:"Bar",group:"food-drink",path:"M4 5h16l-8 8-8-8Z M12 13v6 M8 20h8"},{key:"coffee",label:"Caf\xE9 / coffee",group:"food-drink",path:"M4 8h13v4a5 5 0 0 1-5 5H9a5 5 0 0 1-5-5V8Z M17 9h2a2 2 0 0 1 0 4h-2 M8 2v2 M11 2v2 M4 21h14"},{key:"water",label:"Water / drinks",group:"food-drink",path:"M12 22a7 7 0 0 1-7-7c0-5 7-12 7-12s7 7 7 12a7 7 0 0 1-7 7Z"},{key:"merch",label:"Merch / shop",group:"food-drink",path:"M6 8h12l-1 12H7L6 8Z M9 8V6a3 3 0 0 1 6 0v2"},{key:"screen",label:"Screen",group:"facilities",path:"M3 4h18v12H3V4Z M9 20h6 M12 16v4 M10 8l4 2-4 2V8Z"},{key:"sound-booth",label:"Sound booth",group:"facilities",path:"M6 4v16 M6 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4 M12 4v16 M12 8a2 2 0 1 0 0 4 2 2 0 0 0 0-4 M18 4v16 M18 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4"},{key:"entrance",label:"Entrance",group:"navigation",path:"M14 3h5a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-5 M3 12h11 M10 8l4 4-4 4"},{key:"exit",label:"Exit",group:"navigation",path:"M10 3H5a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h5 M14 12h7 M17 8l4 4-4 4"},{key:"emergency-exit",label:"Emergency exit",group:"navigation",path:"M14 4.6a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0 M12.5 8l-3.5 2 1.6 3.6-2 4.4 M12.5 10l3.5 1.5 M9 10.5l-3.5 1 M15 12h6 M18 9l3 3-3 3"},{key:"stairs",label:"Stairs",group:"navigation",path:"M3 20v-4h4v-4h4v-4h4V4h5"},{key:"elevator",label:"Elevator",group:"navigation",path:"M5 3h14a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z M8 11l1.5-2 1.5 2 M8 14l1.5 2 1.5-2 M15 8v8"},{key:"parking",label:"Parking",group:"navigation",path:"M5 3h14a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z M9 17V7h4a3 3 0 0 1 0 6H9"},{key:"wheelchair",label:"Wheelchair access",group:"accessibility",path:n},{key:"hearing",label:"Hearing assistance",group:"accessibility",path:"M8 20a4 4 0 0 1-2-3c0-1 .5-2 .5-3a4.5 4.5 0 1 1 9 0c0 1.4-1 2-2 2.4-1.2.5-1.5 1-1.5 2.2 M17 6a5 5 0 0 1 1 6 M19.5 4a8 8 0 0 1 1.2 9"}],u={wall:"M3 5h18v14H3V5Z M3 9.7h18 M3 14.3h18 M9 5v4.7 M15 5v4.7 M6 9.7v4.6 M12 9.7v4.6 M18 9.7v4.6 M9 14.3v4.7 M15 14.3v4.7",rail:"M3 7h18 M4 17h16 M6 7v10 M10 7v10 M14 7v10 M18 7v10",suite:"M3 4h18v16H3V4Z M6 17v-5h12v5 M8 12V9h8v3",obstruction:"M8 3h8l-1 4v10l1 4H8l1-4V7L8 3Z M9 7h6 M9 17h6"},i=new Map(a.map(e=>[e.key,e]));function t(e){return e?i.get(e):void 0}function g(e){return t(e)?.path}function v(e){return typeof e=="string"&&i.has(e)}var d=a.map(e=>e.key);var y=["butt","round","square"],E=["miter","round","bevel"],k=["none","arrow"],r="round",l="round",o="none";function p(e){return e==="line"||e==="polyline"}function b(e){return e==="polygon"||p(e)}function S(e){return{lineCap:e.lineCap??r,lineJoin:e.lineJoin??l,startEnding:e.startEnding??o,endEnding:e.endEnding??o}}function V(e){return{pointerLength:Math.min(48,Math.max(8,e*3)),pointerWidth:Math.min(40,Math.max(8,e*2.25))}}export{s as a,h as b,M as c,c as d,a as e,u as f,t as g,g as h,v as i,d as j,y as k,E as l,k as m,r as n,l as o,o as p,p as q,b as r,S as s,V as t};
|
package/dist/cs-XXB624Z3.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"common.cancel":"Zru\u0161it","common.close":"Zav\u0159\xEDt","common.done":"Hotovo","common.copied":"\u2713 Zkop\xEDrov\xE1no","picker.viewSeats":"Zobrazit sedadla","picker.holdExpired":"Va\u0161e rezervace vypr\u0161ela. M\xEDsta byla uvoln\u011Bna. Vyberte znovu.","picker.holdExpiredTitle":"Va\u0161e m\xEDsta byla uvoln\u011Bna","picker.holdExpiredBody":"Doba rezervace vypr\u0161ela a m\xEDsta se vr\xE1tila do prodeje.","picker.holdExpiredRestart":"Vybrat m\xEDsta znovu","picker.holdExpiredPickAgain":"Pokra\u010Dujte v\xFDb\u011Brem m\xEDst znovu. U\u017E mohou b\xFDt obsazen\xE1.","picker.releasedPair":"{first} \xB7 {second}","picker.releasedSeatPlace":"Sektor {section}, \u0159ada {row}, m\xEDsto {seat}","picker.releasedSeatRange":"Sektor {section}, \u0159ada {row}, m\xEDsta {from}\u2013{to}","picker.releasedInSection":"{seats} v sektoru {section}","picker.releasedInSections":"{seats} v sektorech {sections}","picker.releasedGa":"{quantity} \xD7 {area}","picker.poweredBy":"B\u011B\u017E\xED na SeatLayer","picker.testMode":"TESTOVAC\xCD RE\u017DIM","picker.testModeExplained":"Rezervace zde nejsou skute\u010Dn\xE9 a karta se ne\xFA\u010Dtuje","picker.findClosestSeatsTogether":"Naj\xEDt nejbli\u017E\u0161\xED m\xEDsta vedle sebe","picker.findSeatsTogether":"Naj\xEDt m\xEDsta vedle sebe","picker.addSeat":"P\u0159idat m\xEDsto","picker.removeSeat":"Odebrat m\xEDsto","picker.added":"P\u0159id\xE1no","picker.findSeats":"Naj\xEDt m\xEDsta","picker.findBestSeats":"Naj\xEDt nejlep\u0161\xED m\xEDsta","picker.displayOptions":"Mo\u017Enosti zobrazen\xED","picker.closeVenueNavigation":"Zav\u0159\xEDt navigaci po are\xE1lu","picker.orphanHint":"Takto z\u016Fstane jedno m\xEDsto osamocen\xE9. Zva\u017Ete posun o jedno m\xEDsto.","picker.companionRequiresWheelchair":"Vy\u017Eaduje sousedn\xED m\xEDsto pro voz\xEDk","picker.companionPairRequired":"Ke ka\u017Ed\xE9 vstupence pro doprovod vyberte sousedn\xED m\xEDsto pro voz\xEDk.","map.aria":"Pl\xE1n m\xEDst. \u0160ipkami se pohybujte mezi m\xEDsty, Enterem vyberte.","map.beaconAria":"P\u0159ej\xEDt na sv\xE1 m\xEDsta: {seats}, {name}","map.seatsLeft":"ZB\xDDV\xC1 {count}","map.soldOut":"VYPROD\xC1NO","map.noWheelchairSpace":"\u017D\xC1DN\xC9 M\xCDSTO PRO VOZ\xCDK","map.fromPrice":"OD {price}","map.statusHeld":"Rezervov\xE1no","map.statusTaken":"Obsazeno","picker.floor":"Patro","picker.zoomLevel":"\xDArove\u0148 p\u0159ibl\xED\u017Een\xED","picker.rungTip.zones":"P\u0159ehled are\xE1lu: skupiny sektor\u016F jako Severn\xED tribuna nebo VIP","picker.rungTip.sections":"Bloky sektor\u016F: vyprodan\xE9 a t\xE9m\u011B\u0159 pln\xE9 sektory tmavnou, aby byla dostupnost vid\u011Bt na prvn\xED pohled","picker.rungTip.seats":"Jednotliv\xE1 m\xEDsta: bloky se rozpadaj\xED na te\u010Dky","picker.rungLabel.zones":"Z\xD3NY","picker.rungLabel.sections":"SEKTORY","picker.rungLabel.seats":"M\xCDSTA","picker.sectionSummaryAria":"Souhrn sektoru {label}","picker.closeSectionSummary":"Zav\u0159\xEDt souhrn sektoru","picker.seatsLeftInSection.one":"Zb\xFDv\xE1 {count} m\xEDsto","picker.seatsLeftInSection.few":"Zb\xFDvaj\xED {count} m\xEDsta","picker.seatsLeftInSection.many":"Zb\xFDv\xE1 {count} m\xEDsta","picker.seatsLeftInSection.other":"Zb\xFDv\xE1 {count} m\xEDst","picker.seatsLeftShort":"Zb\xFDv\xE1 {count}","picker.overview":"M\xEDsto kon\xE1n\xED","picker.entrance":"Vchod","picker.aisleSeat":"M\xEDsto u uli\u010Dky","picker.boothType.inline":"\u0158adov\xFD st\xE1nek \xB7 1 otev\u0159en\xE1 strana","picker.boothType.corner":"Rohov\xFD st\xE1nek \xB7 2 otev\u0159en\xE9 strany","picker.boothType.peninsula":"Poloostrovn\xED st\xE1nek \xB7 3 otev\u0159en\xE9 strany","picker.boothType.island":"Ostrovn\xED st\xE1nek \xB7 4 otev\u0159en\xE9 strany","picker.gaBookWholeArea":"Rezervovat celou z\xF3nu","picker.gaBook":"Rezervovat","picker.noWheelchairSpace":"\u017D\xE1dn\xE9 m\xEDsto pro voz\xEDk","picker.turnOffAccessibilityFilter":"Vypn\u011Bte filtr pro voz\xED\u010Dk\xE1\u0159e, abyste mohli vybrat toto m\xEDsto","picker.tapSeatHint":"Klepnut\xEDm na m\xEDsto si zobraz\xEDte v\xFDhled","picker.ticketTierFor":"Typ vstupenky pro {label}","picker.viewFromSeat":"V\xFDhled z m\xEDsta {label}","picker.real360":"SKUTE\u010CN\xDDCH 360\xB0","picker.preview":"N\xC1HLED","picker.sightline":"\u2248 {m} m k p\xF3diu","picker.panorama360":"Fotka are\xE1lu ve 360\xB0","picker.illustrationCaption":"ilustrace \xB7 \u2248 {m} m od p\xF3dia","picker.restrictedView":"Omezen\xFD v\xFDhled","picker.obstructedView":"Zakryt\xFD v\xFDhled","picker.premiumSeat":"Pr\xE9miov\xE9 m\xEDsto","picker.access.wheelchair":"M\xEDsto pro voz\xEDk","picker.access.companion":"M\xEDsto pro doprovod","picker.access.semi-ambulatory":"Omezen\xE1 pohyblivost","picker.access.designated-aisle":"Vyhrazen\xE9 m\xEDsto u uli\u010Dky pro p\u0159esun","picker.access.step-free":"Bezbari\xE9rov\xE9 m\xEDsto bez schod\u016F","picker.access.hearing":"Podpora poslechu","picker.access.cart":"\u017Div\xE9 titulky (CART)","picker.access.sign-language":"V\xFDhled na znakov\xFD jazyk","picker.access.low-vision":"Sledov\xE1n\xED pro nevidom\xE9 a slabozrak\xE9","picker.access.sensory-friendly":"Klidn\xE1 m\xEDsta \u0161etrn\xE1 ke smysl\u016Fm","picker.access.plus-size":"Roz\u0161\xED\u0159en\xE9 m\xEDsto","picker.access.lift-armrest":"Sklopn\xE1 podru\u010Dka","picker.accessShort.wheelchair":"M\xEDsto pro voz\xEDk","picker.accessShort.companion":"M\xEDsto pro doprovod","picker.accessShort.semi-ambulatory":"Omezen\xE1 pohyblivost","picker.accessShort.designated-aisle":"Uli\u010Dka / p\u0159esun","picker.accessShort.step-free":"Bez schod\u016F","picker.accessShort.hearing":"Podpora poslechu","picker.accessShort.cart":"\u017Div\xE9 titulky","picker.accessShort.sign-language":"Znakov\xFD jazyk","picker.accessShort.low-vision":"Slabozrakost","picker.accessShort.sensory-friendly":"\u0160etrn\xE9 ke smysl\u016Fm","picker.accessShort.plus-size":"Roz\u0161\xED\u0159en\xE9 m\xEDsto","picker.accessShort.lift-armrest":"Sklopn\xE1 podru\u010Dka","picker.organizerNote":"Pozn\xE1mka po\u0159adatele","picker.hideLimitedView":"Skr\xFDt m\xEDsta s omezen\xFDm v\xFDhledem","picker.bestSeatsPremium":"Nejlep\u0161\xED m\xEDsta","picker.premiumFallbackNote":"\u017D\xE1dn\xFD pr\xE9miov\xFD blok pro {count}. Zobrazujeme nejlep\u0161\xED dostupnou variantu","picker.loading3d":"Sestavujeme are\xE1l ve 3D\u2026","picker.unavailable3d":"3D se nepoda\u0159ilo spustit. Pl\xE1n m\xEDst je d\xE1l dostupn\xFD.","picker.jumpToSection":"P\u0159ej\xEDt na sektor","picker.salesClosedPill":"Prodej ukon\u010Den","picker.salesClosedCopy":"Prodej vstupenek na tuto akci skon\u010Dil.","picker.salesNotOpenPill":"Prodej je\u0161t\u011B neza\u010Dal","picker.salesNotOpenCopy":"Vstupenky na tuto akci zat\xEDm nejsou v prodeji.","picker.salesPausedPill":"Prodej je pozastaven","picker.salesPausedCopy":"Prodej vstupenek je zat\xEDm pozastaven.","picker.salesClosedCta":"Prodej ukon\u010Den","picker.salesClosedToast":"Prodej na tuto akci je ukon\u010Den.","picker.securingSeats":"Zaji\u0161\u0165ujeme va\u0161e m\xEDsta\u2026","picker.openingCheckout":"Otev\xEDr\xE1me zabezpe\u010Denou platbu\u2026","picker.peekSecured":"\u2713 {count} zaji\u0161t\u011Bno \xB7 {total}. Zat\xEDm v\xE1m nic nestrhneme","picker.priceHint":"Barvy v pl\xE1nu jsou typy vstupenek. Klepnut\xEDm na n\u011Bkter\xFD n\xED\u017Ee zobraz\xEDte jen ta m\xEDsta.","picker.aboutTicketPrices":"O cen\xE1ch vstupenek","picker.keepMyPicks":"Ponechat m\u016Fj v\xFDb\u011Br","picker.accessExpiredBody":"Sedadla, kter\xE1 dr\u017E\xEDte, z\u016Fst\xE1vaj\xED va\u0161e. Obnovte pro zobrazen\xED aktu\xE1ln\xED nab\xEDdky.","picker.accessExpiredTitle":"Pl\xE1n sedadel vypr\u0161el","picker.accessInvalidBody":"St\xE1le si m\u016F\u017Eete koupit v\u0161e, co je zobrazeno jako dostupn\xE9. O p\u0159\xEDstup ke zbytku po\u017E\xE1dejte toho, kdo v\xE1m poslal odkaz.","picker.accessInvalidTitle":"Nepoda\u0159ilo se n\xE1m ov\u011B\u0159it v\xE1\u0161 p\u0159\xEDstup","picker.accessPausedBody":"Po\u0159adatel tento v\xFDb\u011Br pozastavil. Zkuste to za p\xE1r minut znovu.","picker.accessPausedTitle":"Tato m\xEDsta jsou pr\xE1v\u011B blokovan\xE1","picker.accessRefresh":"Obnovit","picker.accessRetry":"Zkusit znovu","picker.accessRevokedBody":"Po\u017E\xE1dejte toho, kdo v\xE1m poslal odkaz, o nov\xFD, a\u0165 m\u016F\u017Eete tato m\xEDsta d\xE1l rezervovat.","picker.accessRevokedTitle":"Tento p\u0159\xEDstupov\xFD odkaz u\u017E nen\xED aktivn\xED","picker.idlePausedBody":"Obnovte str\xE1nku a uvid\xEDte, co je nyn\xED voln\xE9.","picker.idlePausedTitle":"Pl\xE1n sedadel se pozastavil, kdy\u017E jste byli pry\u010D","picker.accessiblePhysicalSeat":"Bezbari\xE9rov\xE9 fyzick\xE9 m\xEDsto","picker.addMinutes":"+{count} min","picker.accessibilityOptions":"P\u0159\xEDstupnost a barvy","picker.addingEllipsis":"P\u0159id\xE1v\xE1n\xED\u2026","picker.allLevels":"V\u0161echny \xFArovn\u011B","picker.allPlacesBookedTogether":"V\u0161ech {count} m\xEDst se rezervuje spole\u010Dn\u011B jako jeden exkluzivn\xED st\u016Fl.","picker.allPrices":"V\u0161echny ceny","picker.allSeats":"V\u0161echna m\xEDsta","picker.allSetTitle":"V\u0161e je p\u0159ipraveno","picker.anyTicketType":"Jak\xFDkoli typ vstupenky","picker.anyVenueZone":"Jak\xE1koli z\xF3na are\xE1lu","picker.areas":"Oblasti","picker.available":"Dostupn\xE9","picker.backToMap":"Zp\u011Bt na pl\xE1n","picker.backToVenue":"Zp\u011Bt do are\xE1lu","picker.bestSeatsStar":"\u2726 Nejlep\u0161\xED m\xEDsta","picker.booth":"St\xE1nek","picker.capacityGuests":"{count} host\u016F","picker.chartDerivedModel":"Model odvozen\xFD z pl\xE1nu","picker.chartDerivedSeatEye":"\u017Div\xE9 3D \xB7 pohled z v\xFD\u0161ky o\u010D\xED odvozen\xFD z pl\xE1nu \xB7 nezam\u011B\u0159eno na m\xEDst\u011B","picker.checkConnection":"Zkontrolujte p\u0159ipojen\xED a zkuste to znovu.","picker.checkoutCouldNotBeOpened":"Platbu se nepoda\u0159ilo otev\u0159\xEDt. Va\u0161e m\xEDsta jsou st\xE1le rezervovan\xE1. Zkuste to pros\xEDm znovu.","picker.chooseAnotherToCompare":"Vyberte dal\u0161\xED m\xEDsto k porovn\xE1n\xED.","picker.chooseGuestsCopy":"Vyberte, kolik host\u016F bude sed\u011Bt spolu. Tento st\u016Fl je rezervov\xE1n v\xFDhradn\u011B pro va\u0161i spole\u010Dnost.","picker.chooseMinMaxGuests":"Vyberte {min}\u2013{max} host\u016F","picker.clearSavedSeatComparison":"Vymazat ulo\u017Een\xE9 porovn\xE1n\xED m\xEDst","picker.close":"Zav\u0159\xEDt","picker.closeSeatStatus":"Zav\u0159\xEDt stav m\xEDsta","picker.closestGroupChosenInstantly":"Nejbli\u017E\u0161\xED dostupn\xE1 skupina, vybran\xE1 okam\u017Eit\u011B.","picker.aboutBestSeats":"O hled\xE1n\xED m\xEDst vedle sebe","picker.collapseTicketPanel":"Sbalit panel vstupenek","picker.colorblindColors":"Barvy vhodn\xE9 pro barvoslep\xE9","picker.companionSeatsNote":"Sousedn\xED m\xEDsta pro doprovod z\u016Fst\xE1vaj\xED voliteln\xE1","picker.accessFreeCount":"Voln\xFDch: {count}","picker.accessSpreadHint":"{count} bezbari\xE9rov\xFDch m\xEDst v {sections} sektorech \xB7 klepn\u011Bte na zv\xFDrazn\u011Bn\xFD sektor","picker.holdLapsedStillFree.one":"Va\u0161e rezervace vypr\u0161ela, zat\xEDmco jste byli pry\u010D. Toto m\xEDsto je st\xE1le voln\xE9.","picker.holdLapsedStillFree.few":"Va\u0161e rezervace vypr\u0161ela, zat\xEDmco jste byli pry\u010D. Tato m\xEDsta jsou st\xE1le voln\xE1.","picker.holdLapsedStillFree.many":"Va\u0161e rezervace vypr\u0161ela, zat\xEDmco jste byli pry\u010D. Tato m\xEDsta jsou st\xE1le voln\xE1.","picker.holdLapsedStillFree.other":"Va\u0161e rezervace vypr\u0161ela, zat\xEDmco jste byli pry\u010D. Tato m\xEDsta jsou st\xE1le voln\xE1.","picker.holdLapsedSomeTaken.one":"Va\u0161e rezervace vypr\u0161ela, zat\xEDmco jste byli pry\u010D, a {count} z t\u011Bchto m\xEDst je ji\u017E obsazen\xE9. Zbytek je st\xE1le voln\xFD.","picker.holdLapsedSomeTaken.few":"Va\u0161e rezervace vypr\u0161ela, zat\xEDmco jste byli pry\u010D, a {count} z t\u011Bchto m\xEDst jsou ji\u017E obsazen\xE1. Zbytek je st\xE1le voln\xFD.","picker.holdLapsedSomeTaken.many":"Va\u0161e rezervace vypr\u0161ela, zat\xEDmco jste byli pry\u010D, a {count} z t\u011Bchto m\xEDst je ji\u017E obsazeno. Zbytek je st\xE1le voln\xFD.","picker.holdLapsedSomeTaken.other":"Va\u0161e rezervace vypr\u0161ela, zat\xEDmco jste byli pry\u010D, a {count} z t\u011Bchto m\xEDst je ji\u017E obsazeno. Zbytek je st\xE1le voln\xFD.","picker.holdLapsedAllTaken.one":"Va\u0161e rezervace vypr\u0161ela, zat\xEDmco jste byli pry\u010D, a toto m\xEDsto je ji\u017E obsazen\xE9.","picker.holdLapsedAllTaken.few":"Va\u0161e rezervace vypr\u0161ela, zat\xEDmco jste byli pry\u010D, a tato m\xEDsta jsou ji\u017E obsazen\xE1.","picker.holdLapsedAllTaken.many":"Va\u0161e rezervace vypr\u0161ela, zat\xEDmco jste byli pry\u010D, a tato m\xEDsta jsou ji\u017E obsazen\xE1.","picker.holdLapsedAllTaken.other":"Va\u0161e rezervace vypr\u0161ela, zat\xEDmco jste byli pry\u010D, a tato m\xEDsta jsou ji\u017E obsazen\xE1.","picker.holdLapsedSelectAgain.one":"Vybrat ho znovu","picker.holdLapsedSelectAgain.few":"Vybrat je znovu","picker.holdLapsedSelectAgain.many":"Vybrat je znovu","picker.holdLapsedSelectAgain.other":"Vybrat je znovu","picker.compareCount":"Porovnat {count}","picker.compareWithSaved":"Porovnat s ulo\u017Een\xFDm","picker.confirmOrCancelSeat":"Potvrdit nebo zru\u0161it toto m\xEDsto","picker.confirmSeatLabel":"Potvrdit m\xEDsto {label}","picker.confirmYourTable":"Potvr\u010Fte sv\u016Fj st\u016Fl","picker.confirmedAndOnWay":"potvrzeno. Potvrzen\xED je na cest\u011B.","picker.continue":"Pokra\u010Dovat","picker.continueToCheckout":"Pokra\u010Dovat k platb\u011B","picker.couldNotAddMoreTime":"Nepoda\u0159ilo se p\u0159idat \u010Das. P\u0159ejd\u011Bte pros\xEDm k platb\u011B hned.","picker.savedSeatsNotRestored":"Va\u0161e p\u0159edchoz\xED m\xEDsta se nepoda\u0159ilo obnovit. Vyberte je pros\xEDm znovu.","picker.couldNotFindSeatsTogether":"Nena\u0161li jsme {count} m\xEDst vedle sebe. Zkuste m\xE9n\u011B m\xEDst nebo jin\xFD typ vstupenky.","picker.couldNotReleaseTickets":"Va\u0161e vstupenky se nepoda\u0159ilo uvolnit. Rezervace z\u016Fst\xE1v\xE1 beze zm\u011Bny.","picker.couldNotRemoveLabel":"Nepoda\u0159ilo se odebrat {label}. Rezervace z\u016Fst\xE1v\xE1 beze zm\u011Bny.","picker.currentOffer":"Aktu\xE1ln\xED nab\xEDdka","picker.currentTicketOffer":"Aktu\xE1ln\xED nab\xEDdka vstupenek","picker.dragToLookAround":"Ta\u017Een\xEDm se rozhl\xE9dnete \xB7 kole\u010Dkem p\u0159ibl\xED\u017E\xEDte","picker.dragToLookTouch":"Ta\u017Een\xEDm se rozhl\xE9dnete \xB7 sev\u0159en\xEDm p\u0159ibl\xED\u017E\xEDte \xB7 klepnut\xEDm na \u2715 zav\u0159ete","picker.dragToLookMouse":"Ta\u017Een\xEDm se rozhl\xE9dnete \xB7 sev\u0159en\xEDm nebo kole\u010Dkem p\u0159ibl\xED\u017E\xEDte \xB7 Esc zav\u0159ete","picker.emptyWheelchairSpace":"Voln\xE9 m\xEDsto pro voz\xEDk","picker.exitFullScreen":"Ukon\u010Dit celou obrazovku","picker.fewer":"M\xE9n\u011B","picker.fewerGuests":"M\xE9n\u011B host\u016F","picker.fewerSeats":"M\xE9n\u011B m\xEDst","picker.filterAndFocusByPrice":"Filtrovat a zv\xFDraznit m\xEDsta podle ceny","picker.filters":"Filtry","picker.findBestSeatsCount.one":"Naj\xEDt {count} nejlep\u0161\xED m\xEDsto","picker.findBestSeatsCount.few":"Naj\xEDt {count} nejlep\u0161\xED m\xEDsta","picker.findBestSeatsCount.many":"Naj\xEDt {count} nejlep\u0161\xEDho m\xEDsta","picker.findBestSeatsCount.other":"Naj\xEDt {count} nejlep\u0161\xEDch m\xEDst","picker.findBestSeatsTogether":"Naj\xEDt nejlep\u0161\xED m\xEDsta vedle sebe","picker.findNewSeats":"Naj\xEDt nov\xE1 m\xEDsta","picker.findingBestSeats":"Hled\xE1me nejlep\u0161\xED m\xEDsta\u2026","picker.findingEllipsis":"Hled\xE1n\xED\u2026","picker.flat2dMap":"Ploch\xFD 2D pl\xE1n","picker.flexiblePartyTypeWord":"Flexibiln\xED spole\u010Dnost \xB7 {typeWord}","picker.fullScreen":"Cel\xE1 obrazovka","picker.generalAdmission":"Voln\xFD vstup","picker.guestCountCouldNotBeSecured":"Tento po\u010Det host\u016F se nepoda\u0159ilo zajistit. Va\u0161e rezervace stolu z\u016Fst\xE1v\xE1 beze zm\u011Bny.","picker.guestCountNoLongerAvailable":"Tento po\u010Det host\u016F u\u017E nen\xED dostupn\xFD. Va\u0161e rezervace z\u016Fst\xE1v\xE1 beze zm\u011Bny.","picker.guests":"Host\xE9","picker.guestsCount":"{count} host\u016F","picker.guestsCountEdit":"{count} host\u016F \xB7 Upravit","picker.held":"Rezervov\xE1no","picker.heldByOther":"Rezervov\xE1no jin\xFDm kupuj\xEDc\xEDm, m\u016F\u017Ee se uvolnit","picker.heldForYou":"Rezervov\xE1no pro v\xE1s","picker.heldSeatExplanation":"Toto m\xEDsto dr\u017E\xED jin\xFD kupuj\xEDc\xED. M\u016F\u017Ee se znovu uvolnit.","picker.hidePanel":"Skr\xFDt panel","picker.hideTicketPanel":"Skr\xFDt panel vstupenek","picker.holdSeatsAndCheckout":"Rezervovat m\xEDsta a zaplatit","picker.howOfferWorks":"Jak funguje nab\xEDdka {name}","picker.interactive3dVenueView":"Interaktivn\xED 3D pohled na are\xE1l","picker.keepMine":"Ponechat moje","picker.labelNoLongerAvailable":"{label} u\u017E nen\xED dostupn\xE9.","picker.labelRemoved":"{label} odebr\xE1no.","picker.labelRemovedFromHold":"{label} odebr\xE1no z va\u0161\xED rezervace.","picker.labelRestored":"{label} obnoveno.","picker.labelsNoLongerAvailable.one":"{labels} u\u017E nen\xED dostupn\xE9. Vyberte jin\xE9 m\xEDsto.","picker.labelsNoLongerAvailable.few":"{labels} u\u017E nejsou dostupn\xE1. Vyberte jinou skupinu.","picker.labelsNoLongerAvailable.many":"{labels} u\u017E nejsou dostupn\xE1. Vyberte jinou skupinu.","picker.labelsNoLongerAvailable.other":"{labels} u\u017E nejsou dostupn\xE1. Vyberte jinou skupinu.","picker.leftCount.one":"zb\xFDv\xE1 {count}","picker.leftCount.few":"zb\xFDvaj\xED {count}","picker.leftCount.many":"zb\xFDv\xE1 {count}","picker.leftCount.other":"zb\xFDv\xE1 {count}","picker.levelNumber":"\xDArove\u0148 {number}","picker.levels":"\xDArovn\u011B","picker.loadingSeatMap":"Na\u010D\xEDt\xE1n\xED pl\xE1nu m\xEDst\u2026","picker.lookAroundLive3d":"Rozhl\xE9dn\u011Bte se v \u017Eiv\xE9m 3D","picker.manualTicketsRemovedNote":"Ru\u010Dn\u011B vybran\xE9 vstupenky odebereme a\u017E pot\xE9, co zajist\xEDme novou skupinu.","picker.map":"Pl\xE1n","picker.mapDidNotLoad":"Pl\xE1n m\xEDst se nena\u010Detl","picker.eventUnavailableTitle":"Tato akce nen\xED dostupn\xE1","picker.eventUnavailable":"Vstupenky tu te\u010F nelze rezervovat.","picker.maxTicketsForOrder":"Do t\xE9to objedn\xE1vky m\u016F\u017Eete vybrat nejv\xFD\u0161e {count} vstupenek.","picker.selectExactMore":"Vyberte je\u0161t\u011B {count}","picker.selectExactCount":"Vyberte p\u0159esn\u011B {count} vstupenek","picker.selectMinimumMore":"Vyberte je\u0161t\u011B {count}","picker.adjustSeatSelection":"Upravit v\xFDb\u011Br m\xEDst","picker.selectSeatsTogether":"Vyberte m\xEDsta vedle sebe ve stejn\xE9 \u0159ad\u011B a kategorii vstupenky.","picker.minToMaxGuests":"{min} a\u017E {max} host\u016F","picker.more":"V\xEDce","picker.moreCount":"+{count} dal\u0161\xEDch","picker.showLess":"Zobrazit m\xE9n\u011B","picker.moreGuests":"V\xEDce host\u016F","picker.moreSeats":"V\xEDce m\xEDst","picker.moreTimeAdded":"\u010Cas prodlou\u017Een. Va\u0161e m\xEDsta jsou st\xE1le rezervovan\xE1.","picker.noAccessibilityMetadata":"Nebyly poskytnuty \xFAdaje o p\u0159\xEDstupnosti","picker.noAuthoredRestriction":"Po\u0159adatel neuvedl \u017E\xE1dn\xE9 omezen\xED","picker.noSeatsSelected":"Nevybr\xE1na \u017E\xE1dn\xE1 m\xEDsta","picker.notForSale":"Nen\xED v prodeji","picker.notAvailable":"Nen\xED k dispozici","picker.notForSaleExplanation":"Toto m\xEDsto nen\xED sou\u010D\xE1st\xED aktu\xE1ln\xEDho prodeje.","picker.numberOfGuests":"Po\u010Det host\u016F","picker.offerDetailActive":"Tato cena se automaticky vztahuje na zp\u016Fsobil\xE1 m\xEDsta. Vstupenky v aktivn\xEDch ko\u0161\xEDc\xEDch do\u010Dasn\u011B sni\u017Euj\xED dostupn\xE9 mno\u017Estv\xED; uvoln\u011Bn\xE9 nebo vypr\u0161el\xE9 rezervace ho vracej\xED. Po skon\u010Den\xED nab\xEDdky nastupuje dal\u0161\xED odpov\xEDdaj\xEDc\xED nab\xEDdka nebo b\u011B\u017En\xE1 cena vstupenky.","picker.offerDetailUpcoming":"Vstupenky jsou nyn\xED k dispozici za b\u011B\u017Enou cenu. Tato napl\xE1novan\xE1 nab\xEDdka se na zp\u016Fsobil\xE1 m\xEDsta uplatn\xED automaticky, jakmile za\u010Dne.","picker.offerRemainingAvailable":"dostupn\xFDch: {count}","picker.offerStarts":"za\u010D\xEDn\xE1 {time}","picker.offerUntil":"do {time}","picker.oneSeatSaved":"Ulo\u017Eeno 1 m\xEDsto","picker.oneSeatSavedChooseAnother":"Jedno m\xEDsto ulo\u017Eeno; vyberte dal\u0161\xED k porovn\xE1n\xED","picker.openAuthored360":"Otev\u0159\xEDt are\xE1l ve 360\xB0","picker.openComparison":"Otev\u0159\xEDt porovn\xE1n\xED","picker.openComparisonOfSeats":"Otev\u0159\xEDt porovn\xE1n\xED {count} m\xEDst","picker.openTicketPanel":"Otev\u0159\xEDt panel vstupenek","picker.peekFromPrice":"Od {price}","picker.peekTicketsTotal.one":"{count} vstupenka \xB7 {total}","picker.peekTicketsTotal.few":"{count} vstupenky \xB7 {total}","picker.peekTicketsTotal.many":"{count} vstupenky \xB7 {total}","picker.peekTicketsTotal.other":"{count} vstupenek \xB7 {total}","picker.perGuestPrice":"{price} za hosta","picker.pickYourSeats":"Vyberte si m\xEDsta","picker.preferredTicketType":"Preferovan\xFD typ vstupenky","picker.preferredVenueZone":"Preferovan\xE1 z\xF3na are\xE1lu","picker.priceNotSupplied":"Cena neuvedena","picker.removeHeldTicketLabel":"Odebrat rezervovanou vstupenku {label}","picker.removeSeatLabel":"Odebrat {label}","picker.removeTicketsUntilOrFewer":"Odeb\xEDrejte vstupenky, dokud jich v objedn\xE1vce nebude {count} nebo m\xE9n\u011B.","picker.replaceCurrentChoices":"Nahradit v\xE1\u0161 sou\u010Dasn\xFD v\xFDb\u011Br?","picker.review":"Zkontrolovat","picker.row":"\u0158ada","picker.rowLabel":"\u0158ada {label}","picker.saveToCompare":"Ulo\u017Eit k porovn\xE1n\xED","picker.savedForComparison":"Ulo\u017Eeno k porovn\xE1n\xED","picker.savedSeatComparison":"Ulo\u017Een\xE9 porovn\xE1n\xED m\xEDst","picker.scheduledOffer":"Napl\xE1novan\xE1 nab\xEDdka","picker.seat":"M\xEDsto","picker.seatCount.one":"{count} m\xEDsto","picker.seatCount.few":"{count} m\xEDsta","picker.seatCount.many":"{count} m\xEDsta","picker.seatCount.other":"{count} m\xEDst","picker.seatJustTakenByAnother":"M\xEDsto {label} pr\xE1v\u011B obsadil jin\xFD kupuj\xEDc\xED.","picker.seatLabel":"M\xEDsto {label}","picker.seatNoLongerAvailable":"Toto m\xEDsto u\u017E nen\xED dostupn\xE9.","picker.seatNoLongerYours":"N\u011Bkter\xE1 m\xEDsta u\u017E pro v\xE1s nejsou dostupn\xE1. Byla odebr\xE1na z va\u0161\xED objedn\xE1vky.","picker.seatNumberLower":"m\xEDsto {label}","picker.seatSalesClosedForEvent":"Prodej m\xEDst na tuto akci byl ukon\u010Den.","picker.maintenancePaused.one":"Rezervace je pozastavena kv\u016Fli \xFAdr\u017Eb\u011B. Zkuste to znovu asi za {count} minutu.","picker.maintenancePaused.few":"Rezervace je pozastavena kv\u016Fli \xFAdr\u017Eb\u011B. Zkuste to znovu asi za {count} minuty.","picker.maintenancePaused.many":"Rezervace je pozastavena kv\u016Fli \xFAdr\u017Eb\u011B. Zkuste to znovu asi za {count} minuty.","picker.maintenancePaused.other":"Rezervace je pozastavena kv\u016Fli \xFAdr\u017Eb\u011B. Zkuste to znovu asi za {count} minut.","picker.maintenancePausedShortly":"Rezervace je na n\u011Bkolik minut pozastavena kv\u016Fli \xFAdr\u017Eb\u011B. Zkuste to znovu za chv\xEDli.","picker.seatSelection":"V\xFDb\u011Br m\xEDst","picker.seatStatusLegend":"Legenda stav\u016F m\xEDst","picker.seatTaken":"N\u011Bkdo jin\xFD obsadil m\xEDsto, kter\xE9 jste si vybrali. Bylo odebr\xE1no z va\u0161\xED objedn\xE1vky.","picker.seatsJustTaken":"Jedno nebo v\xEDce m\xEDst bylo pr\xE1v\u011B obsazeno. Vyberte pros\xEDm znovu.","picker.seatsNoLongerAvailableTryAnother":"Tato m\xEDsta u\u017E nejsou dostupn\xE1. Zkuste jin\xFD po\u010Det nebo typ vstupenky.","picker.seatsSelectedCount.one":"vybr\xE1no {count}","picker.seatsSelectedCount.few":"vybr\xE1ny {count}","picker.seatsSelectedCount.many":"vybr\xE1no {count}","picker.seatsSelectedCount.other":"vybr\xE1no {count}","picker.section":"Sektor","picker.secureMore":"Zajistit v\xEDce","picker.secureMoreAndCheckout":"Zajistit je\u0161t\u011B {count} a zaplatit","picker.seeItIn3d":"Zobrazit ve 3D","picker.select":"Vybrat","picker.selectSeats":"Vybrat m\xEDsta","picker.selectTable":"Vybrat st\u016Fl","picker.selectWholeTable":"Vybrat cel\xFD st\u016Fl","picker.selected":"Vybr\xE1no","picker.selectingEllipsis":"Vyb\xEDr\xE1n\xED\u2026","picker.showAllSeats":"Zobrazit v\u0161echna m\xEDsta","picker.showAllTicketTypes":"Zobrazit v\u0161ech {count} typ\u016F vstupenek","picker.showFewer":"Zobrazit m\xE9n\u011B","picker.showLabelSeatsOnMap":"Zobrazit m\xEDsta {label} v pl\xE1nu","picker.showTicketPanel":"Zobrazit panel vstupenek","picker.sold":"Prod\xE1no","picker.soldOutCopy":"Na tuto akci nejsou moment\xE1ln\u011B dostupn\xE1 \u017E\xE1dn\xE1 \u010D\xEDslovan\xE1 m\xEDsta.","picker.soldOutEyebrow":"Tato akce","picker.soldOutTitle":"Vyprod\xE1no","picker.soldSeatExplanation":"Toto m\xEDsto u\u017E bylo zarezervov\xE1no.","picker.statusAvailable":"dostupn\xE9","picker.statusOnHold":"rezervov\xE1no","picker.statusTaken2":"obsazeno","picker.table":"St\u016Fl","picker.tableCapacity":"Kapacita stolu","picker.tableUpdatedForGuests":"{label} upraveno pro {count} host\u016F.","picker.temporarilyHeld":"Do\u010Dasn\u011B rezervov\xE1no","picker.ticketPrices":"Ceny vstupenek","picker.ticketTypeNotChanged":"Tento typ vstupenky nen\xED pro toto m\xEDsto dostupn\xFD. Va\u0161e rezervace z\u016Fst\xE1v\xE1 beze zm\u011Bny.","picker.ticketTypeSoldOut":"Tento typ vstupenky je vyprodan\xFD. Zkuste jin\xFD typ.","picker.tickets":"Vstupenky","picker.ticketsCount.one":"{count} vstupenka","picker.ticketsCount.few":"{count} vstupenky","picker.ticketsCount.many":"{count} vstupenky","picker.ticketsCount.other":"{count} vstupenek","picker.toggleColorblindColors":"P\u0159epnout barvy vhodn\xE9 pro barvoslep\xE9","picker.total":"Celkem","picker.trayHintTapOrBest":"Klepn\u011Bte na m\xEDsto v pl\xE1nu, nebo nechte n\xE1s vybrat nejlep\u0161\xED dostupn\xE1 za v\xE1s.","picker.aboutYourSeats":"Jak vybrat m\xEDsta","picker.trayHintTapOrStanding":"Klepn\u011Bte na m\xEDsto v pl\xE1nu nebo si n\xED\u017Ee vezm\u011Bte vstupenky na st\xE1n\xED.","picker.undo":"Zp\u011Bt","picker.upcomingTicketOffer":"Nadch\xE1zej\xEDc\xED nab\xEDdka vstupenek","picker.updateTable":"Aktualizovat st\u016Fl","picker.updatingEllipsis":"Aktualizace\u2026","picker.venueView":"Pohled na are\xE1l","picker.recentreOnStage":"Vycentrovat zp\u011Bt na p\xF3dium","picker.stopYourSeat":"Va\u0161e m\xEDsto","picker.stopYourRow":"Va\u0161e \u0159ada","picker.stopYourSection":"V\xE1\u0161 sektor","picker.stopWholeVenue":"Cel\xFD are\xE1l","picker.viewFromHere":"V\xFDhled odsud","picker.viewFromYourSeat":"pohled z va\u0161eho m\xEDsta","picker.fromYourSeat":"z va\u0161eho m\xEDsta","picker.viewFromThisSeat":"V\xFDhled z tohoto m\xEDsta","picker.wholeTypeWord":"Cel\xFD {typeWord}","picker.willChooseClosestGroup":"Vybereme za v\xE1s nejbli\u017E\u0161\xED dostupnou skupinu.","picker.willFindSeatsTogether":"Najdeme {count} m\xEDst vedle sebe.","picker.yourSeats":"Va\u0161e m\xEDsta","picker.zoomIn":"P\u0159ibl\xED\u017Eit","picker.zoomOut":"Odd\xE1lit","picker.fitWholeVenue":"Zobrazit cel\xE9 m\xEDsto kon\xE1n\xED","picker.dragToRotateVenue":"Ta\u017Een\xEDm oto\u010D\xEDte m\xEDsto kon\xE1n\xED","picker.dragToMoveVenue":"Ta\u017Een\xEDm posunete m\xEDsto kon\xE1n\xED","picker.closeVenueNav":"Zav\u0159\xEDt","picker.levelsAndAreas":"\xDArovn\u011B a oblasti","picker.gaChooseTickets":"Kolik vstupenek?","picker.gaAdd.one":"P\u0159idat {count} vstupenku \xB7 {price}","picker.gaAdd.few":"P\u0159idat {count} vstupenky \xB7 {price}","picker.gaAdd.many":"P\u0159idat {count} vstupenky \xB7 {price}","picker.gaAdd.other":"P\u0159idat {count} vstupenek \xB7 {price}","picker.gaUpdate.one":"Upravit \xB7 {count} vstupenka","picker.gaUpdate.few":"Upravit \xB7 {count} vstupenky","picker.gaUpdate.many":"Upravit \xB7 {count} vstupenky","picker.gaUpdate.other":"Upravit \xB7 {count} vstupenek","picker.gaRemove":"Odebrat","picker.gaAreasHeading":"Oblasti","picker.gaTrayHintTapArea":"Klepnut\xEDm na oblast v pl\xE1nu vyberete vstupenky.","picker.gaAdded.one":"P\u0159id\xE1na {count} vstupenka {area}, {price}","picker.gaAdded.few":"P\u0159id\xE1ny {count} vstupenky {area}, {price}","picker.gaAdded.many":"P\u0159id\xE1ny {count} vstupenky {area}, {price}","picker.gaAdded.other":"P\u0159id\xE1no {count} vstupenek {area}, {price}","picker.gaRemoved":"Vstupenky {area} odebr\xE1ny","picker.gaChooseForArea":"Vyberte vstupenky pro {area}","picker.holdSeatsForAllPerformances":"Rezervovat m\xEDsta na v\u0161echna {count} p\u0159edstaven\xED","picker.completeAllPerformances":"Dokon\u010Dit v\u0161echna p\u0159edstaven\xED ({complete}/{total})","picker.groupTrayHint":"Vyberte m\xEDsta jednou. Stejn\xE1 m\xEDsta budou rezervov\xE1na na ka\u017Ed\xE9 p\u0159edstaven\xED.","picker.groupPerPerformanceTrayHint":"Vyberte m\xEDsta na toto p\u0159edstaven\xED a pak dokon\u010Dete ka\u017Ed\xFD term\xEDn v\xFD\u0161e.","picker.group.sameSeatSummary":"Vyberte jednou. Stejn\xE1 m\xEDsta budou rezervov\xE1na na v\u0161echna {count} p\u0159edstaven\xED.","picker.group.perPerformanceSummary":"Vyberte m\xEDsta na ka\u017Ed\xE9 p\u0159edstaven\xED. V\u0161ech {count} v\xFDb\u011Br\u016F se rezervuje spole\u010Dn\u011B.","picker.group.allDates":"Zahrnuto v\u0161ech {count} term\xEDn\u016F","picker.group.flexibleDatesInView":"V zobrazen\xED je v\u0161ech {count} term\xEDn\u016F","picker.group.flexibleDatesSelected":"Vybr\xE1no {selected} z {total} term\xEDn\u016F","picker.group.performances":"P\u0159edstaven\xED","picker.group.heldForEveryPerformance":"Rezervov\xE1no na ka\u017Ed\xE9 p\u0159edstaven\xED","picker.group.notStarted":"Neza\u010Dato","picker.group.inProgress":"Prob\xEDh\xE1","picker.group.complete":"Hotovo","picker.group.needsAttention":"Vy\u017Eaduje pozornost","picker.group.previousPerformance":"P\u0159edchoz\xED p\u0159edstaven\xED","picker.group.nextPerformance":"Dal\u0161\xED p\u0159edstaven\xED","picker.group.performanceOpened":"Nyn\xED vyb\xEDr\xE1te m\xEDsta na {performance}.","picker.group.checkingAvailability":"Zji\u0161\u0165ujeme, kter\xE1 m\xEDsta jsou voln\xE1 na ka\u017Ed\xE9 p\u0159edstaven\xED\u2026","picker.group.securing":"Rezervujeme tato m\xEDsta na ka\u017Ed\xE9 p\u0159edstaven\xED. Chv\xEDli strpen\xED.","picker.group.commitPending":"St\xE1le rezervujeme tato m\xEDsta na ka\u017Ed\xE9 p\u0159edstaven\xED. SeatLayer pracuje d\xE1l a tato str\xE1nka sleduje v\xFDsledek.","picker.group.outcomeUnknown":"Ov\u011B\u0159ujeme, zda byla va\u0161e m\xEDsta rezervov\xE1na. Zat\xEDm nevyb\xEDrejte jin\xE1 m\xEDsta.","picker.group.longRunning":"Trv\xE1 to d\xE9le ne\u017E obvykle. St\xE1le ov\u011B\u0159ujeme stejn\xFD po\u017Eadavek. Neodes\xEDlejte ho znovu. Referen\u010Dn\xED \u010D\xEDslo: {reference}.","picker.group.abortPending":"Nepoda\u0159ilo se n\xE1m rezervovat ka\u017Ed\xE9 p\u0159edstaven\xED. Ov\u011B\u0159ujeme, \u017Ee jsou v\u0161echna m\xEDsta uvoln\u011Bna, ne\u017E to zkus\xEDte znovu.","picker.group.secured":"M\xEDsta jsou rezervov\xE1na na ka\u017Ed\xE9 p\u0159edstaven\xED. Pokra\u010Dujte, a\u017E budete cht\xEDt.","picker.group.notSecured":"Tato m\xEDsta se nepoda\u0159ilo rezervovat na ka\u017Ed\xE9 p\u0159edstaven\xED. Nic nen\xED rezervov\xE1no. Zkuste to znovu.","picker.group.retry":"Zkusit znovu","picker.group.salesClosed":"M\xEDsta pro tuto s\xE9rii p\u0159edstaven\xED nejsou nyn\xED dostupn\xE1. Vra\u0165te se na str\xE1nku akce pro dal\u0161\xED mo\u017Enosti.","picker.group.revisionChanged":"Tato s\xE9rie p\u0159edstaven\xED se zm\u011Bnila. P\u0159ed dal\u0161\xEDm v\xFDb\u011Brem m\xEDst si projd\u011Bte zahrnut\xE1 p\u0159edstaven\xED.","picker.group.legendTitle":"Dostupnost m\xEDst","picker.group.legendUnavailable":"Nedostupn\xE9","picker.group.partlyAvailableTitle":"Voln\xE9 jen n\u011Bkter\xE9 ve\u010Dery","picker.group.notAvailableOn":"Nedostupn\xE9 {dates}","picker.group.nightFree":"Voln\xE9","picker.group.nightBlocked":"Nedostupn\xE9","picker.group.pickSeatFreeEveryNight":"Vyberte m\xEDsto, kter\xE9 je voln\xE9 ka\u017Ed\xFD ve\u010Der.","picker.group.chooseNightByNight":"Vybrat m\xEDsta ve\u010Der po ve\u010Deru","picker.group.nightByNightStarted":"Nyn\xED vyb\xEDr\xE1te m\xEDsta pro ka\u017Ed\xE9 p\u0159edstaven\xED zvl\xE1\u0161\u0165. V\xE1\u0161 v\xFDb\u011Br byl zru\u0161en.","picker.group.yourSeatsByNight":"Va\u0161e m\xEDsta po ve\u010Derech","picker.group.noSeatsChosenYet":"Zat\xEDm \u017E\xE1dn\xE1 m\xEDsta","picker.group.chosenOfTotal":"{chosen} z {total}","picker.group.needsMoreSeats":"Chyb\xED je\u0161t\u011B {count}","picker.group.closeSeatDetails":"Zav\u0159\xEDt podrobnosti o m\xEDst\u011B","picker.group.seatPartlyAvailable":"{label}: voln\xE9 na {free} z {total} p\u0159edstaven\xED. Nedostupn\xE9 {dates}.","picker.group.selectAvailableDates":"Vybrat pro {count} dostupn\xFDch term\xEDn\u016F","picker.group.selectedAvailableDates":"Vybr\xE1no pro {count} dostupn\xFDch term\xEDn\u016F.","picker.group.clearBeforePartial":"P\u0159ed volbou jin\xE9 sady term\xEDn\u016F zru\u0161te sv\xE1 st\xE1vaj\xEDc\xED m\xEDsta.","picker.group.legendAvailable":"Dostupn\xE9","picker.group.legendSelected":"Vybran\xE9","picker.group.legendNotEveryDate":"Nen\xED voln\xE9 na v\u0161echny term\xEDny","picker.group.progressLabel":"Kroky rezervace","picker.group.stepPerformances":"P\u0159edstaven\xED","picker.group.stepSeats":"M\xEDsta","picker.group.stepReview":"Kontrola","picker.group.stepDone":"Hotovo","picker.group.stepCurrent":"Aktu\xE1ln\xED krok","picker.group.includedNote":"Zahrnuto je v\u0161ech {count} p\u0159edstaven\xED \xB7 term\xEDny zde nelze odebrat","picker.group.flexibleDatesNote":"Vyberte \u010D\xE1ste\u010Dn\u011B dostupn\xE9 m\xEDsto, aby se zahrnuly jen term\xEDny, kdy je voln\xE9.","picker.group.flexibleSelectedNote":"Pro toto m\xEDsto budou rezervov\xE1ny jen tyto {count} term\xEDny.","picker.group.yourSelection":"V\xE1\u0161 v\xFDb\u011Br","picker.group.pricesPerPerformance":"Ceny jsou uveden\xE9 za jedno p\u0159edstaven\xED","picker.group.total":"Celkem","picker.group.heldTogether":"V\u0161ech {count} v\xFDb\u011Br\u016F p\u0159edstaven\xED se rezervuje spole\u010Dn\u011B \xB7 zb\xFDv\xE1 {time}","picker.group.completeWithSeats":"Hotovo \xB7 {seats}","picker.group.stillNeedsSeat":"St\xE1le chyb\xED m\xEDsto","picker.group.sameSeatMapHelp":"Jeden pl\xE1n ukazuje jen m\xEDsta voln\xE1 na ka\u017Ed\xE9 vybran\xE9 p\u0159edstaven\xED.","picker.group.perPerformanceMapHelp":"Naho\u0159e p\u0159ep\xEDnejte term\xEDny; poloha pl\xE1nu i ka\u017Ed\xFD v\xFDb\u011Br z\u016Fstanou ulo\u017Een\xE9.","picker.group.bookedAll":"Hotovo. M\xEDsta jsou rezervov\xE1na na v\u0161ech {count} p\u0159edstaven\xED.","picker.group.seatsEveryPerformance.one":"{count} m\xEDsto \xB7 na ka\u017Ed\xE9 p\u0159edstaven\xED","picker.group.seatsEveryPerformance.few":"{count} m\xEDsta \xB7 na ka\u017Ed\xE9 p\u0159edstaven\xED","picker.group.seatsEveryPerformance.many":"{count} m\xEDsta \xB7 na ka\u017Ed\xE9 p\u0159edstaven\xED","picker.group.seatsEveryPerformance.other":"{count} m\xEDst \xB7 na ka\u017Ed\xE9 p\u0159edstaven\xED","picker.group.seatsPerPerformance.one":"{count} m\xEDsto \xB7 {per} na p\u0159edstaven\xED","picker.group.seatsPerPerformance.few":"{count} m\xEDsta \xB7 {per} na p\u0159edstaven\xED","picker.group.seatsPerPerformance.many":"{count} m\xEDsta \xB7 {per} na p\u0159edstaven\xED","picker.group.seatsPerPerformance.other":"{count} m\xEDst \xB7 {per} na p\u0159edstaven\xED","picker.group.performancesChosenOf.one":"Vybr\xE1no {chosen} ze {total} p\u0159edstaven\xED \xB7 {count} m\xEDsto","picker.group.performancesChosenOf.few":"Vybr\xE1no {chosen} ze {total} p\u0159edstaven\xED \xB7 {count} m\xEDsta","picker.group.performancesChosenOf.many":"Vybr\xE1no {chosen} ze {total} p\u0159edstaven\xED \xB7 {count} m\xEDsta","picker.group.performancesChosenOf.other":"Vybr\xE1no {chosen} ze {total} p\u0159edstaven\xED \xB7 {count} m\xEDst","picker.group.ticketsConfirmedAcross.one":"{count} vstupenka potvrzena na {performances} p\u0159edstaven\xED","picker.group.ticketsConfirmedAcross.few":"{count} vstupenky potvrzeny na {performances} p\u0159edstaven\xED","picker.group.ticketsConfirmedAcross.many":"{count} vstupenky potvrzeny na {performances} p\u0159edstaven\xED","picker.group.ticketsConfirmedAcross.other":"{count} vstupenek potvrzeno na {performances} p\u0159edstaven\xED","checkout.free":"Zdarma","checkout.confirmBooking":"Potvrdit rezervaci","checkout.price":"Cena","checkout.freeNote":"Tato akce je zdarma. Nic se ne\xFA\u010Dtuje.","checkout.confirmingBooking":"Potvrzujeme va\u0161i rezervaci\u2026","checkout.confirmingSeats":"Potvrzujeme va\u0161e m\xEDsta\u2026","checkout.busyRetryingBooking":"Pr\xE1v\u011B je velk\xFD z\xE1jem. St\xE1le potvrzujeme va\u0161i rezervaci\u2026","checkout.busyRetryingPayment":"Pr\xE1v\u011B je velk\xFD z\xE1jem. St\xE1le otev\xEDr\xE1me zabezpe\u010Denou platbu\u2026","checkout.busyFailedBooking":"Kv\u016Fli velk\xE9mu z\xE1jmu se va\u0161i rezervaci zat\xEDm nepoda\u0159ilo potvrdit. Nic nebylo \xFA\u010Dtov\xE1no. Zkuste to pros\xEDm znovu.","checkout.busyFailedPayment":"Kv\u016Fli velk\xE9mu z\xE1jmu se platbu zat\xEDm nepoda\u0159ilo zah\xE1jit. Nic nebylo \xFA\u010Dtov\xE1no. Zkuste to pros\xEDm znovu.","checkout.seatsUnavailable":"Tato m\xEDsta byla obsazena, zat\xEDmco jste vypl\u0148ovali formul\xE1\u0159. Nic nebylo \xFA\u010Dtov\xE1no. Vyberte pros\xEDm znovu.","checkout.title":"Pokladna","checkout.back":"Zp\u011Bt na m\xEDsta","checkout.heldFor":"M\xEDsta rezervov\xE1na na {time}","checkout.yourOrder":"Va\u0161e objedn\xE1vka","checkout.row":"\u0158ada {row}","checkout.seat":"Sedadlo {seat}","checkout.quantity":"{label} \xD7 {count}","checkout.showAll":"Zobrazit v\u0161ech {count} m\xEDst","checkout.yourDetails":"Va\u0161e \xFAdaje","checkout.email":"E-mail","checkout.emailHint":"Sem v\xE1m za\u0161leme vstupenky.","checkout.name":"Jm\xE9no","checkout.namePlaceholder":"Va\u0161e jm\xE9no","checkout.optional":"Nepovinn\xE9","checkout.forSomeoneElse":"Vstupenka pro n\u011Bkoho jin\xE9ho?","checkout.holderYou":"Vy \xB7 {name}","checkout.holderYouPlain":"Vy","checkout.change":"Zm\u011Bnit","checkout.changeHolder":"Zm\u011Bnit dr\u017Eitele vstupenky {ticket}","checkout.addNames":"P\u0159idejte jm\xE9na ke ka\u017Ed\xE9 vstupence","checkout.questions":"N\u011Bkolik ot\xE1zek","checkout.payWith":"Platba pomoc\xED","checkout.continue":"Pokra\u010Dovat k platb\u011B","checkout.continueTest":"Pokra\u010Dovat k testovac\xED platb\u011B","checkout.tryAgain":"Zkusit znovu","checkout.trust":"Bezpe\u010Dn\xE1 platba na platebn\xED str\xE1nce po\u0159adatele. \xDAdaje o va\u0161\xED kart\u011B nikdy neuvid\xEDme.","checkout.freeTrust":"Bezplatn\xE1 rezervace. Nic se ne\xFA\u010Dtuje.","checkout.testStrip":"Bez skute\u010Dn\xE9 platby \xB7 vstupenky neplat\xED ke vstupu","checkout.testStripFree":"Testovac\xED rezervace \xB7 vstupenky neplat\xED ke vstupu","checkout.privacy":"Po\u0159adatel a SeatLayer pou\u017E\xEDvaj\xED va\u0161e \xFAdaje k vystaven\xED a spr\xE1v\u011B va\u0161ich vstupenek.","checkout.privacyLink":"Z\xE1sady ochrany osobn\xEDch \xFAdaj\u016F","checkout.expiringSoon":"Va\u0161e m\xEDsta jsou rezervov\xE1na na {time}. Dokon\u010Dete n\xE1kup, abyste o n\u011B nep\u0159i\u0161li.","checkout.opening":"Otev\xEDr\xE1me zabezpe\u010Denou platbu\u2026","checkout.redirectTitle":"P\u0159esm\u011Brov\xE1v\xE1me v\xE1s na zabezpe\u010Denou platbu","checkout.redirectBody":"Zaplat\xEDte {amount} na platebn\xED str\xE1nce po\u0159adatele a pot\xE9 se vr\xE1t\xEDte sem pro sv\xE9 vstupenky.","checkout.waitingPayment":"\u010Cek\xE1me na platbu\u2026","checkout.dontClose":"Nezav\xEDrejte tuto kartu.","checkout.confirmingTitle":"Potvrzujeme va\u0161e m\xEDsta","checkout.paymentReceived":"Platba p\u0159ijata. Obvykle to trv\xE1 jen n\u011Bkolik sekund.","checkout.noNeedPayAgain":"Nen\xED t\u0159eba platit znovu.","checkout.stillConfirmingTitle":"St\xE1le potvrzujeme","checkout.stillConfirming":"St\xE1le \u010Dek\xE1me na potvrzen\xED od poskytovatele platby. Pokud platba prob\u011Bhla, vstupenky v\xE1m brzy doraz\xED e-mailem. Nen\xED t\u0159eba platit znovu.","checkout.nothingCharged":"Nic nebylo \xFA\u010Dtov\xE1no.","checkout.expiredTitle":"Va\u0161e m\xEDsta byla uvoln\u011Bna","checkout.expiredBody":"Rezervace m\xEDst {seats} vypr\u0161ela d\u0159\xEDve, ne\u017E byla zah\xE1jena platba.","checkout.chooseAgain":"Vybrat m\xEDsta znovu","checkout.takenTitle":"Tato m\xEDsta pr\xE1v\u011B obsadil n\u011Bkdo jin\xFD","checkout.takenBody":"N\u011Bkdo si rezervoval {seats}, zat\xEDmco jste vypl\u0148ovali formul\xE1\u0159.","checkout.chooseOther":"Vybrat jin\xE1 m\xEDsta","checkout.networkTitle":"Nepoda\u0159ilo se p\u0159ipojit k pokladn\u011B.","checkout.networkBody":"Zkontrolujte p\u0159ipojen\xED a zkuste to znovu. Nic nebylo \xFA\u010Dtov\xE1no a va\u0161e m\xEDsta jsou st\xE1le rezervov\xE1na.","checkout.error.email":"Zadejte e-mail ve form\xE1tu name@example.com.","checkout.error.notTakingPayments":"Tato akce zat\xEDm nep\u0159ij\xEDm\xE1 online platby. O koupi t\u011Bchto m\xEDst se pros\xEDm obra\u0165te na po\u0159adatele.","checkout.error.accessEnded":"V\xE1\u0161 p\u0159\xEDstup k tomuto soukrom\xE9mu prodeji vypr\u0161el. Nic nebylo \xFA\u010Dtov\xE1no. Po\u017E\xE1dejte odes\xEDlatele odkazu o nov\xFD.","checkout.error.holdReleased":"Va\u0161e m\xEDsta byla uvoln\u011Bna je\u0161t\u011B p\u0159ed zah\xE1jen\xEDm platby. Nic nebylo \xFA\u010Dtov\xE1no. Vyberte pros\xEDm znovu.","checkout.error.releasedBeforePayment":"Va\u0161e m\xEDsta byla uvoln\u011Bna d\u0159\xEDve, ne\u017E byla platba dokon\u010Dena. Nic nebylo \xFA\u010Dtov\xE1no. Vyberte pros\xEDm znovu.","checkout.error.paymentFailed":"Platbu se nepoda\u0159ilo dokon\u010Dit. Pokud v\xE1m byla \u010D\xE1stka str\u017Eena, byla automaticky vr\xE1cena.","checkout.error.alreadyStarted":"Platba za tato m\xEDsta ji\u017E prob\xEDh\xE1. Dokon\u010Dete ji, nebo po\u010Dkejte, a\u017E vypr\u0161\xED, a za\u010Dn\u011Bte znovu.","checkout.error.eventClosed":"Prodej vstupenek na tuto akci byl ukon\u010Den.","checkout.error.salesPaused":"Prodej vstupenek je kr\xE1tce pozastaven, zat\xEDmco po\u0159adatel aktualizuje sv\u016Fj \xFA\u010Det. Nic nebylo \xFA\u010Dtov\xE1no. Zkuste to pros\xEDm pozd\u011Bji nebo kontaktujte po\u0159adatele.","checkout.error.pricing":"Tato m\xEDsta nyn\xED nelze zakoupit kv\u016Fli probl\xE9mu s nastaven\xEDm cen. Nic nebylo \xFA\u010Dtov\xE1no. Obra\u0165te se pros\xEDm na po\u0159adatele.","checkout.error.providerRefused":"Platebn\xED nastaven\xED po\u0159adatele tuto platbu odm\xEDtlo. Nic nebylo \xFA\u010Dtov\xE1no. Obra\u0165te se pros\xEDm na po\u0159adatele.","checkout.error.rateLimited":"P\u0159\xEDli\u0161 mnoho pokus\u016F. Chv\xEDli po\u010Dkejte a zkuste to znovu.","checkout.error.generic":"Platbu se nepoda\u0159ilo zah\xE1jit. Nic nebylo \xFA\u010Dtov\xE1no. Zkuste to pros\xEDm znovu.","checkout.goingTo":"Chyst\xE1te se na {event}","checkout.confirmedTitle":"Va\u0161e vstupenky jsou potvrzeny","checkout.sentTo":"Va\u0161e vstupenky a QR k\xF3dy jsou na cest\u011B na {email} spolu s PDF k vytisknut\xED. U vstupu sta\u010D\xED uk\xE1zat QR k\xF3d, tisk nen\xED nutn\xFD.","checkout.sentToYourEmail":"Va\u0161e vstupenky a QR k\xF3dy jsou na cest\u011B na v\xE1\u0161 e-mail spolu s PDF k vytisknut\xED. U vstupu sta\u010D\xED uk\xE1zat QR k\xF3d, tisk nen\xED nutn\xFD.","checkout.viewTickets":"Zobrazit vstupenky a QR k\xF3dy","checkout.paid":"Zaplaceno","checkout.order":"Objedn\xE1vka","checkout.keepLink":"Uschovejte si tento odkaz. Kdykoli si d\xEDky n\u011Bmu otev\u0159ete vstupenky: bez p\u0159ihl\xE1\u0161en\xED a bez expirace.","checkout.copy":"Kop\xEDrovat","checkout.copied":"Zkop\xEDrov\xE1no","checkout.selectCopy":"Vybrat a zkop\xEDrovat","checkout.linkCopied":"Odkaz zkop\xEDrov\xE1n.","checkout.clipboardBlocked":"V\xE1\u0161 prohl\xED\u017Ee\u010D zablokoval schr\xE1nku. Odkaz je ozna\u010Den\xFD, stiskn\u011Bte \u2318C / Ctrl+C.","bookingForm.ticketHolders":"Dr\u017Eitel\xE9 vstupenek","bookingForm.bookingQuestions":"O va\u0161\xED rezervaci","bookingForm.ticketNumber":"Vstupenka {number}","bookingForm.guestOf":"{area} \xB7 Host {index} z {total}","bookingForm.useMyDetails":"Pou\u017E\xEDt moje \xFAdaje","bookingForm.syncedHint":"Vypln\u011Bno z va\u0161ich \xFAdaj\u016F v\xFD\u0161e.","bookingForm.name":"Jm\xE9no","bookingForm.email":"E-mail","bookingForm.phone":"Telefon","bookingForm.optional":"(nepovinn\xE9)","bookingForm.fixErrors":"Ne\u017E budete pokra\u010Dovat, zkontrolujte pros\xEDm n\u011Bkter\xE9 \xFAdaje.","bookingForm.error.required":"{field}: toto pole je povinn\xE9.","bookingForm.error.tooLong":"{field}: maxim\xE1ln\u011B {max} znak\u016F.","bookingForm.error.email":"{field}: zadejte platnou e-mailovou adresu.","bookingForm.error.phone":"{field}: 6\u201320 znak\u016F: \u010D\xEDslice, mezery, + - ( ).","bookingForm.error.number":"{field}: zadejte \u010D\xEDslo.","bookingForm.error.date":"{field}: zadejte datum.","bookingForm.error.choice":"{field}: vyberte platnou mo\u017Enost.","bookingForm.error.invalid":"{field}: zkontrolujte hodnotu.","tickets.editNames":"Upravit jm\xE9na","tickets.editNamesHint":"Jm\xE9na m\u016F\u017Eete opravit a\u017E do za\u010D\xE1tku akce.","tickets.saveNames":"Ulo\u017Eit jm\xE9na","tickets.savingNames":"Ukl\xE1d\xE1n\xED\u2026","tickets.cancel":"Zru\u0161it","tickets.namesSaved":"Jm\xE9na byla aktualizov\xE1na.","tickets.editClosed":"Po za\u010D\xE1tku akce u\u017E jm\xE9na nelze zm\u011Bnit.","tickets.editUnavailable":"Jm\xE9na v t\xE9to objedn\xE1vce nelze zm\u011Bnit.","tickets.saveFailed":"Jm\xE9na se nepoda\u0159ilo ulo\u017Eit. Zkontrolujte p\u0159ipojen\xED a zkuste to znovu.","picker.bookingForm.ticket":"Vstupenka {number}","picker.bookingForm.useMyDetails":"Pou\u017E\xEDt moje \xFAdaje","picker.bookingForm.name":"Jm\xE9no","picker.bookingForm.email":"E-mail","picker.bookingForm.phone":"Telefon","picker.bookingForm.optional":"{label} (nepovinn\xE9)","picker.bookingForm.choose":"Vyberte\u2026","picker.bookingForm.required":"Toto pole je povinn\xE9.","picker.bookingForm.invalid":"Zkontrolujte tuto odpov\u011B\u010F.","picker.bookingForm.invalidEmail":"Zadejte platnou e-mailovou adresu.","picker.bookingForm.invalidPhone":"Zadejte platn\xE9 telefonn\xED \u010D\xEDslo.","picker.bookingForm.tooLong":"Text je p\u0159\xEDli\u0161 dlouh\xFD.","picker.bookingForm.fix":"N\u011Bkter\xE9 \xFAdaje je pot\u0159eba zkontrolovat.","picker.bookingForm.unsupported":"Tato akce vy\u017Eaduje \xFAdaje o ka\u017Ed\xE9m dr\u017Eiteli vstupenky, kter\xE9 tato platba nedok\xE1\u017Ee shrom\xE1\u017Edit. Va\u0161e m\xEDsta jsou st\xE1le rezervovan\xE1 a nic nebylo \xFA\u010Dtov\xE1no.","picker.bookingForm.continueOnEventPage":"Pokra\u010Dovat na str\xE1nce akce","picker.bookingForm.guestOfCount":"{label} \xB7 Host {index} z {total}","buyer.testBookingStrip":"Testovac\xED rezervace: bez skute\u010Dn\xE9 platby, vstupenky neplat\xED ke vstupu","buyer.testTicketNotValid":"Testovac\xED vstupenka: neplatn\xE1 pro vstup"};export{e as cs};
|