@seatlayer/core 0.56.0 → 0.58.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.
@@ -1 +1 @@
1
- import{a as H,b as V,c as Z,d as tt,e as et,f as ot,g as rt,h as nt,i as at,j as it,k as st}from"../../chunk-7PT7OQUO.js";import{a as ct,b as lt,c as ut,d as pt,e as ft,h as P}from"../../chunk-PXWKSYCK.js";import"../../chunk-VI2CLV3Y.js";import"../../chunk-DNGP2HDT.js";import{a as L,b as z,c as F,d as J,e as Q,f as U,g as Y,h as $,i as q}from"../../chunk-AQKYUJBX.js";import"../../chunk-6XJN4REG.js";import{ka as v,l as C,ma as g,na as R,pa as S,qa as _,va as O,w}from"../../chunk-VDZ24QVV.js";import"../../chunk-CXF32VPG.js";function b(t){return t.floors?.length?t.floors.flatMap(e=>e.objects):t.objects}function I(t){return b(t).reduce((e,r)=>r.type==="row"?e+v(r):r.type==="table"?e+S(r):r.type==="gaArea"?e+Math.max(0,Math.floor(r.capacity)):r.type==="booth"?e+1:e,0)}function bt(t){let e={};for(let o of t.categories??[])e[o.key]=0;let r=(o,a)=>{a>0&&(e[o]=(e[o]??0)+a)};for(let o of b(t))if(o.type==="row")for(let a of g(o))r(a.categoryKey,1);else if(o.type==="table")if(o.bookAsWhole||o.variableOccupancy)r(o.categoryKey,Math.max(0,Math.round(o.seatCount)));else for(let a of _(o))r(a.categoryKey,1);else o.type==="gaArea"?r(o.categoryKey,Math.max(0,Math.floor(o.capacity))):o.type==="booth"&&r(o.categoryKey,1);return e}function G(t){if(!t.template)return null;let e=b(t),r=e.filter(l=>l.type==="row"||l.type==="table"||l.type==="gaArea");if(!r.length)return null;let a=e.filter(l=>l.type==="booth").length+r.reduce((l,f)=>l+(f.type==="table"?2:1),0),s=I(t),c=Math.max(a+1,Math.min(5e4,s*4)),u=[.5,1,1.5,2].map(l=>w(Math.round(s*l),a,c));return{family:t.template.family,display:t.template.family.replace(/-/g," ").replace(/\b\w/g,l=>l.toUpperCase()),min:a,max:c,presets:["S","M","L","XL"].map((l,f)=>({size:l,seats:u[f]}))}}function A(t){let e=g(t);return e.length?C(e):{...t.origin}}function dt(t,e){let r=G(t);if(!r)return structuredClone(t);let o=structuredClone(t),a=b(o),s=a.filter(n=>n.type==="row"||n.type==="table"||n.type==="gaArea"),c=a.filter(n=>n.type==="booth").length,u=Math.max(r.min,Math.min(r.max,Math.round(e))),l=u-c,f=s.map((n,i)=>{let m=n.type==="gaArea"?Math.max(0,Math.floor(n.capacity)):n.seatCount,x=n.type==="table"?2:1;return{object:n,index:i,current:m,minimum:x,value:x,fraction:0}}),E=f.reduce((n,i)=>n+i.minimum,0),d=Math.max(0,l-E),T=f.reduce((n,i)=>n+Math.max(1,i.current-i.minimum),0);for(let n of f){let i=d*Math.max(1,n.current-n.minimum)/T,m=Math.floor(i);n.value+=m,n.fraction=i-m}d=l-f.reduce((n,i)=>n+i.value,0),f.sort((n,i)=>i.fraction-n.fraction||n.index-i.index);for(let n=0;n<d;n++)f[n%f.length].value++;f.sort((n,i)=>n.index-i.index);for(let n of f)if(n.object.type==="row"){let i=A(n.object);n.object.seatCount=n.value;let m=A(n.object);n.object.origin.x+=i.x-m.x,n.object.origin.y+=i.y-m.y}else if(n.object.type==="table"){let i=n.object;if(i.seatCountsBySide){let m=["top","bottom","left","right"],x=R(i),N=m.reduce((p,y)=>p+x[y],0)||1,h=m.map((p,y)=>{let M=n.value*x[p]/N;return{side:p,index:y,value:Math.floor(M),fraction:M-Math.floor(M)}}),k=n.value-h.reduce((p,y)=>p+y.value,0);h.sort((p,y)=>y.fraction-p.fraction||p.index-y.index);for(let p=0;p<k;p++)h[p%h.length].value+=1;h.sort((p,y)=>p.index-y.index),i.seatCountsBySide={top:h[0].value,bottom:h[1].value,left:h[2].value,right:h[3].value},i.sides=m.filter(p=>i.seatCountsBySide[p]>0)}i.seatCount=n.value,i.overrides&&(i.overrides=i.overrides.filter(m=>m.index<n.value),i.overrides.length||delete i.overrides)}else n.object.capacity=n.value;return o.floors?.length&&(o.objects=o.floors[0].objects),o.template={family:o.template.family,targetSeats:u},o=P(o).doc,o.template={family:t.template.family,targetSeats:I(o)},o}var W=1,B=100;function X(t,e){if(!Number.isInteger(e)||e<W||e>B)return null;let r=t.rotation*Math.PI/180,o={x:Math.cos(r),y:Math.sin(r)},a={x:-o.y,y:o.x};return Array.from({length:e},(s,c)=>{let u=t.style==="intertwined"&&c%2===1?t.seatSpacing/2:0;return{type:"row",id:`__block_preview_${c}`,label:"",origin:{x:t.origin.x+a.x*c*t.rowGap+o.x*u,y:t.origin.y+a.y*c*t.rowGap+o.y*u},rotation:t.rotation,curve:t.curve,seatCount:t.seatsPerRow,seatSpacing:t.seatSpacing,categoryKey:"__preview__"}})}function j(t,e=t.rowCount){let r=X(t,e);return r?.length?O(r[r.length-1]):null}function Ct(t,e){if(!Number.isFinite(e.x)||!Number.isFinite(e.y)||t.rowGap<=0)return null;let r=j(t,1);if(!r)return null;let o=t.rotation*Math.PI/180,a={x:-Math.sin(o),y:Math.cos(o)},s=(e.x-r.x)*a.x+(e.y-r.y)*a.y,c=Math.max(W,Math.min(B,Math.round(s/t.rowGap)+1)),u=j(t,c);return u?{rowCount:c,edgePoint:u}:null}function wt(t,e){return t.length!==e.rowCount?!1:[...t].sort((o,a)=>(o.rowBlockGeneration?.rowIndex??1/0)-(a.rowBlockGeneration?.rowIndex??1/0)).every((o,a)=>{let s=o.rowBlockGeneration;return s?.kind==="row-block-v1"&&s.groupId===e.groupId&&s.rowIndex===a&&s.signature===e.signature&&JSON.stringify(s)===JSON.stringify({...e,rowIndex:a})})}var Rt=1,St=300,_t=330;function D(t,e){if(t.path||!Number.isInteger(e)||e<1||e>300)return null;let r=t.seatCount>1?t.curve/(t.seatCount-1):0;return{...t,seatCount:e,curve:r*(e-1)}}function K(t,e=t.seatCount){let r=D(t,e);if(!r)return null;if(e===1)return{...r.origin};let o=r.rotation*Math.PI/180,a=r.curve/(e-1)*Math.PI/180,s,c;if(Math.abs(a)<1e-9)s=(e-1)*r.seatSpacing,c=0;else{let u=r.seatSpacing/(2*Math.sin(Math.abs(a)/2)),l=a*(e-1);s=u*Math.sin(l),c=-u+u*Math.cos(l)}return{x:r.origin.x+s*Math.cos(o)-c*Math.sin(o),y:r.origin.y+s*Math.sin(o)+c*Math.cos(o)}}function Ot(t,e){if(t.path||!Number.isFinite(e.x)||!Number.isFinite(e.y))return null;let r=t.seatCount>1?t.curve/(t.seatCount-1):0,o=Math.abs(r)<1e-9?300:Math.min(300,Math.floor(330/Math.abs(r))+1),a=null;for(let s=1;s<=Math.max(1,o);s+=1){let c=K(t,s);if(!c)continue;let u=Math.hypot(c.x-e.x,c.y-e.y),l=r*(s-1);(!a||u<a.distance||u===a.distance&&s<a.seatCount)&&(a={seatCount:s,curve:l,endpoint:c,distance:u})}return a}export{ct as CATEGORY_INVENTORY_FAMILIES,it as GroupedTableProjectionError,_t as MAX_DIRECT_ROW_SWEEP,z as MAX_EVENT_INVENTORY,L as MAX_GA_CAPACITY,B as MAX_ROW_BLOCK_ROWS,St as MAX_ROW_SEATS,W as MIN_ROW_BLOCK_ROWS,Rt as MIN_ROW_SEATS,ot as applicableTicketTiers,G as capacityControl,bt as categoryCapacity,I as chartCapacity,nt as companionSelectionIssue,pt as describeCategoryInventoryConflict,lt as effectiveSeatOwnerCategoryCounts,$ as gaAreasOf,Q as gaInventorySegments,F as gaUnitLabel,U as gaUnitLabels,st as groupedTableInventory,Y as growJoinedGAInventory,ut as inspectCategoryInventoryConflicts,wt as intactRowBlockMembers,q as isGaUnitLabel,V as pickBestAvailable,Z as pickBestAvailableInventory,ft as remediateCategoryInventoryConflicts,dt as resizeChartCapacity,Ct as resolveRowBlockCount,Ot as resolveRowTerminalCapacity,rt as resolveTicketTierForSeat,j as rowBlockEdgePoint,X as rowBlockPreviewRows,K as rowTerminalEndpoint,D as rowWithTerminalCapacity,H as strandedSingles,tt as ticketOptionNotApplicableIssue,at as ticketSelectionIssue,et as ticketTierAppliesToSeat,J as validGAInventorySegments};
1
+ import{a as H,b as V,c as Z,d as tt,e as et,f as ot,g as rt,h as nt,i as at,j as it,k as st}from"../../chunk-PMU3VPNK.js";import{a as ct,b as lt,c as ut,d as pt,e as ft,h as P}from"../../chunk-N4CBOQFB.js";import"../../chunk-VI2CLV3Y.js";import"../../chunk-DNGP2HDT.js";import{a as L,b as z,c as F,d as J,e as Q,f as U,g as Y,h as $,i as q}from"../../chunk-4BVXDBFE.js";import"../../chunk-6XJN4REG.js";import{ka as v,l as C,ma as g,na as R,pa as S,qa as _,va as O,w}from"../../chunk-GHJUDU3U.js";import"../../chunk-CXF32VPG.js";function b(t){return t.floors?.length?t.floors.flatMap(e=>e.objects):t.objects}function I(t){return b(t).reduce((e,r)=>r.type==="row"?e+v(r):r.type==="table"?e+S(r):r.type==="gaArea"?e+Math.max(0,Math.floor(r.capacity)):r.type==="booth"?e+1:e,0)}function bt(t){let e={};for(let o of t.categories??[])e[o.key]=0;let r=(o,a)=>{a>0&&(e[o]=(e[o]??0)+a)};for(let o of b(t))if(o.type==="row")for(let a of g(o))r(a.categoryKey,1);else if(o.type==="table")if(o.bookAsWhole||o.variableOccupancy)r(o.categoryKey,Math.max(0,Math.round(o.seatCount)));else for(let a of _(o))r(a.categoryKey,1);else o.type==="gaArea"?r(o.categoryKey,Math.max(0,Math.floor(o.capacity))):o.type==="booth"&&r(o.categoryKey,1);return e}function G(t){if(!t.template)return null;let e=b(t),r=e.filter(l=>l.type==="row"||l.type==="table"||l.type==="gaArea");if(!r.length)return null;let a=e.filter(l=>l.type==="booth").length+r.reduce((l,f)=>l+(f.type==="table"?2:1),0),s=I(t),c=Math.max(a+1,Math.min(5e4,s*4)),u=[.5,1,1.5,2].map(l=>w(Math.round(s*l),a,c));return{family:t.template.family,display:t.template.family.replace(/-/g," ").replace(/\b\w/g,l=>l.toUpperCase()),min:a,max:c,presets:["S","M","L","XL"].map((l,f)=>({size:l,seats:u[f]}))}}function A(t){let e=g(t);return e.length?C(e):{...t.origin}}function dt(t,e){let r=G(t);if(!r)return structuredClone(t);let o=structuredClone(t),a=b(o),s=a.filter(n=>n.type==="row"||n.type==="table"||n.type==="gaArea"),c=a.filter(n=>n.type==="booth").length,u=Math.max(r.min,Math.min(r.max,Math.round(e))),l=u-c,f=s.map((n,i)=>{let m=n.type==="gaArea"?Math.max(0,Math.floor(n.capacity)):n.seatCount,x=n.type==="table"?2:1;return{object:n,index:i,current:m,minimum:x,value:x,fraction:0}}),E=f.reduce((n,i)=>n+i.minimum,0),d=Math.max(0,l-E),T=f.reduce((n,i)=>n+Math.max(1,i.current-i.minimum),0);for(let n of f){let i=d*Math.max(1,n.current-n.minimum)/T,m=Math.floor(i);n.value+=m,n.fraction=i-m}d=l-f.reduce((n,i)=>n+i.value,0),f.sort((n,i)=>i.fraction-n.fraction||n.index-i.index);for(let n=0;n<d;n++)f[n%f.length].value++;f.sort((n,i)=>n.index-i.index);for(let n of f)if(n.object.type==="row"){let i=A(n.object);n.object.seatCount=n.value;let m=A(n.object);n.object.origin.x+=i.x-m.x,n.object.origin.y+=i.y-m.y}else if(n.object.type==="table"){let i=n.object;if(i.seatCountsBySide){let m=["top","bottom","left","right"],x=R(i),N=m.reduce((p,y)=>p+x[y],0)||1,h=m.map((p,y)=>{let M=n.value*x[p]/N;return{side:p,index:y,value:Math.floor(M),fraction:M-Math.floor(M)}}),k=n.value-h.reduce((p,y)=>p+y.value,0);h.sort((p,y)=>y.fraction-p.fraction||p.index-y.index);for(let p=0;p<k;p++)h[p%h.length].value+=1;h.sort((p,y)=>p.index-y.index),i.seatCountsBySide={top:h[0].value,bottom:h[1].value,left:h[2].value,right:h[3].value},i.sides=m.filter(p=>i.seatCountsBySide[p]>0)}i.seatCount=n.value,i.overrides&&(i.overrides=i.overrides.filter(m=>m.index<n.value),i.overrides.length||delete i.overrides)}else n.object.capacity=n.value;return o.floors?.length&&(o.objects=o.floors[0].objects),o.template={family:o.template.family,targetSeats:u},o=P(o).doc,o.template={family:t.template.family,targetSeats:I(o)},o}var W=1,B=100;function X(t,e){if(!Number.isInteger(e)||e<W||e>B)return null;let r=t.rotation*Math.PI/180,o={x:Math.cos(r),y:Math.sin(r)},a={x:-o.y,y:o.x};return Array.from({length:e},(s,c)=>{let u=t.style==="intertwined"&&c%2===1?t.seatSpacing/2:0;return{type:"row",id:`__block_preview_${c}`,label:"",origin:{x:t.origin.x+a.x*c*t.rowGap+o.x*u,y:t.origin.y+a.y*c*t.rowGap+o.y*u},rotation:t.rotation,curve:t.curve,seatCount:t.seatsPerRow,seatSpacing:t.seatSpacing,categoryKey:"__preview__"}})}function j(t,e=t.rowCount){let r=X(t,e);return r?.length?O(r[r.length-1]):null}function Ct(t,e){if(!Number.isFinite(e.x)||!Number.isFinite(e.y)||t.rowGap<=0)return null;let r=j(t,1);if(!r)return null;let o=t.rotation*Math.PI/180,a={x:-Math.sin(o),y:Math.cos(o)},s=(e.x-r.x)*a.x+(e.y-r.y)*a.y,c=Math.max(W,Math.min(B,Math.round(s/t.rowGap)+1)),u=j(t,c);return u?{rowCount:c,edgePoint:u}:null}function wt(t,e){return t.length!==e.rowCount?!1:[...t].sort((o,a)=>(o.rowBlockGeneration?.rowIndex??1/0)-(a.rowBlockGeneration?.rowIndex??1/0)).every((o,a)=>{let s=o.rowBlockGeneration;return s?.kind==="row-block-v1"&&s.groupId===e.groupId&&s.rowIndex===a&&s.signature===e.signature&&JSON.stringify(s)===JSON.stringify({...e,rowIndex:a})})}var Rt=1,St=300,_t=330;function D(t,e){if(t.path||!Number.isInteger(e)||e<1||e>300)return null;let r=t.seatCount>1?t.curve/(t.seatCount-1):0;return{...t,seatCount:e,curve:r*(e-1)}}function K(t,e=t.seatCount){let r=D(t,e);if(!r)return null;if(e===1)return{...r.origin};let o=r.rotation*Math.PI/180,a=r.curve/(e-1)*Math.PI/180,s,c;if(Math.abs(a)<1e-9)s=(e-1)*r.seatSpacing,c=0;else{let u=r.seatSpacing/(2*Math.sin(Math.abs(a)/2)),l=a*(e-1);s=u*Math.sin(l),c=-u+u*Math.cos(l)}return{x:r.origin.x+s*Math.cos(o)-c*Math.sin(o),y:r.origin.y+s*Math.sin(o)+c*Math.cos(o)}}function Ot(t,e){if(t.path||!Number.isFinite(e.x)||!Number.isFinite(e.y))return null;let r=t.seatCount>1?t.curve/(t.seatCount-1):0,o=Math.abs(r)<1e-9?300:Math.min(300,Math.floor(330/Math.abs(r))+1),a=null;for(let s=1;s<=Math.max(1,o);s+=1){let c=K(t,s);if(!c)continue;let u=Math.hypot(c.x-e.x,c.y-e.y),l=r*(s-1);(!a||u<a.distance||u===a.distance&&s<a.seatCount)&&(a={seatCount:s,curve:l,endpoint:c,distance:u})}return a}export{ct as CATEGORY_INVENTORY_FAMILIES,it as GroupedTableProjectionError,_t as MAX_DIRECT_ROW_SWEEP,z as MAX_EVENT_INVENTORY,L as MAX_GA_CAPACITY,B as MAX_ROW_BLOCK_ROWS,St as MAX_ROW_SEATS,W as MIN_ROW_BLOCK_ROWS,Rt as MIN_ROW_SEATS,ot as applicableTicketTiers,G as capacityControl,bt as categoryCapacity,I as chartCapacity,nt as companionSelectionIssue,pt as describeCategoryInventoryConflict,lt as effectiveSeatOwnerCategoryCounts,$ as gaAreasOf,Q as gaInventorySegments,F as gaUnitLabel,U as gaUnitLabels,st as groupedTableInventory,Y as growJoinedGAInventory,ut as inspectCategoryInventoryConflicts,wt as intactRowBlockMembers,q as isGaUnitLabel,V as pickBestAvailable,Z as pickBestAvailableInventory,ft as remediateCategoryInventoryConflicts,dt as resizeChartCapacity,Ct as resolveRowBlockCount,Ot as resolveRowTerminalCapacity,rt as resolveTicketTierForSeat,j as rowBlockEdgePoint,X as rowBlockPreviewRows,K as rowTerminalEndpoint,D as rowWithTerminalCapacity,H as strandedSingles,tt as ticketOptionNotApplicableIssue,at as ticketSelectionIssue,et as ticketTierAppliesToSeat,J as validGAInventorySegments};
@@ -1 +1 @@
1
- "use strict";var $=Object.defineProperty;var ze=Object.getOwnPropertyDescriptor;var Ye=Object.getOwnPropertyNames;var Ke=Object.prototype.hasOwnProperty;var $e=(e,t)=>{for(var n in t)$(e,n,{get:t[n],enumerable:!0})},We=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Ye(t))!Ke.call(e,r)&&r!==n&&$(e,r,{get:()=>t[r],enumerable:!(o=ze(t,r))||o.enumerable});return e};var Ve=e=>We($({},"__esModule",{value:!0}),e);var Qt={};$e(Qt,{DEFAULT_SEAT_RADIUS:()=>Ge,TEXT_BACKGROUND_PADDING_MAX:()=>dn,TEXT_BACKGROUND_RADIUS_MAX:()=>hn,TEXT_LETTER_SPACING_MAX:()=>un,TEXT_LETTER_SPACING_MIN:()=>ln,TEXT_LINE_HEIGHT_MAX:()=>an,TEXT_LINE_HEIGHT_MIN:()=>cn,TEXT_OPACITY_MIN:()=>fn,TEXT_WIDTH_MAX:()=>sn,TEXT_WIDTH_MIN:()=>rn,allObjects:()=>Ue,applyAffine:()=>Ft,buildAisleHoles:()=>Ze,buildSeatIndex:()=>Kt,buildSectionShell:()=>Qe,chartBounds:()=>Be,composeAffine:()=>Ut,createPerspectiveCamera:()=>Nt,cubicPoint:()=>H,decomposeAffineLinear:()=>Bt,distanceToRings:()=>ge,distributeAlongCubic:()=>W,expandBooth:()=>De,expandChart:()=>Dt,expandRow:()=>ue,expandRowSlots:()=>ke,expandTable:()=>je,expandTableSlots:()=>fe,floorObjects:()=>kt,floorOverviewTranslations:()=>Xe,floorsOf:()=>He,gridStats:()=>qt,hitTest:()=>$t,invertAffine:()=>Ht,layoutFloorOverview:()=>jt,nearestWithin:()=>Wt,objectCenter:()=>Ne,owningSectionForObject:()=>Fe,perspectiveTangentAffine:()=>Xt,pointInPolygon:()=>ae,pointInPolygonWithHoles:()=>Y,polygonArea:()=>Q,polygonInscribedAnchor:()=>Z,polygonLabelPoint:()=>Tt,polygonNetArea:()=>nt,projectPerspectivePoint:()=>K,queryRect:()=>Vt,resolveSegmentedRowGroups:()=>J,rowInventoryCount:()=>Ot,rowSeatPositions:()=>le,segmentedRowComponentSeats:()=>it,segmentedRowComponents:()=>rt,segmentedRowSeatTotal:()=>st,smoothCubicThroughMiddle:()=>qe,stackFloors:()=>Lt,tableInventoryCount:()=>Rt,tableSeatCountsBySide:()=>Le,textLayoutMetrics:()=>V,translateObject:()=>de});module.exports=Ve(Qt);var en=Math.PI/180;function j(e,t){return Math.hypot(e.x-t.x,e.y-t.y)}function L(e,t,n){return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}}function H(e,t){let n=1-t,o=n*n*n,r=3*n*n*t,i=3*n*t*t,s=t*t*t;return{x:o*e.start.x+r*e.control1.x+i*e.control2.x+s*e.end.x,y:o*e.start.y+r*e.control1.y+i*e.control2.y+s*e.end.y}}function qe(e,t,n){let o={x:(e.x+t.x)/2,y:(e.y+t.y)/2},r={x:(n.x-o.x)*4/3,y:(n.y-o.y)*4/3};return{start:{...e},control1:{x:e.x+(t.x-e.x)/3+r.x,y:e.y+(t.y-e.y)/3+r.y},control2:{x:e.x+(t.x-e.x)*2/3+r.x,y:e.y+(t.y-e.y)*2/3+r.y},end:{...t}}}function W(e,t,n=192){if(!Number.isInteger(t)||t<1)throw new Error("Path point count must be a positive integer");if(t===1)return[H(e,.5)];let o=Array.from({length:n+1},(u,y)=>H(e,y/n)),r=new Float64Array(o.length);for(let u=1;u<o.length;u+=1){let y=o[u].x-o[u-1].x,a=o[u].y-o[u-1].y;r[u]=r[u-1]+Math.hypot(y,a)}let i=r[r.length-1];if(i<=1e-9)return Array.from({length:t},()=>({...e.start}));let s=[],c=1;for(let u=0;u<t;u+=1){let y=i*u/(t-1);for(;c<r.length-1&&r[c]<y;)c+=1;let a=r[c-1],f=r[c],l=f===a?0:(y-a)/(f-a);s.push({x:o[c-1].x+(o[c].x-o[c-1].x)*l,y:o[c-1].y+(o[c].y-o[c-1].y)*l})}return s}function T(e,t){return{x:e.x+t.x,y:e.y+t.y}}function F(e,t){return{x:e.x-t.x,y:e.y-t.y}}function _(e,t){return{x:e.x*t,y:e.y*t}}function U(e,t=13){return Array.from({length:t},(n,o)=>H(e,o/(t-1)))}function he(e,t){let n=Math.max(0,Math.min(1,t))*(e.length-1),o=Math.min(e.length-2,Math.floor(n));return L(e[o],e[o+1],n-o)}function me(e,t,n){let o=Math.max(0,Math.min(1,t)),r=Math.max(o,Math.min(1,n)),i=[he(e,o)];for(let s=1;s<e.length-1;s+=1){let c=s/(e.length-1);c>o+1e-9&&c<r-1e-9&&i.push(e[s])}return i.push(he(e,r)),i}function ye(e,t){let n=[[0,1],[1,2],[2,3],[3,0]],o=0,r=Number.POSITIVE_INFINITY;n.forEach(([l,p],b)=>{let m=j(L(e[l],e[p],.5),t);m<r&&(r=m,o=b)});let i=e[o],s=e[(o+1)%4],c=e[(o+2)%4],u=e[(o+3)%4],y=L(i,s,.5),a=F(t,y),f=Math.max(1e-9,Math.hypot(a.x,a.y));return{p0:i,p1:s,p2:c,p3:u,normal:_(a,1/f),depth:(j(i,u)+j(s,c))/2}}function xe(e){let{p0:t,p1:n,p2:o,p3:r,normal:i,depth:s}=e,c=F(n,t),u=F(o,r),y=s*.22,a=s*.12;return{nearPath:{start:t,control1:T(T(t,_(c,1/3)),_(i,y)),control2:T(T(t,_(c,2/3)),_(i,y)),end:n},farPath:{start:o,control1:T(T(r,_(u,2/3)),_(i,a)),control2:T(T(r,_(u,1/3)),_(i,a)),end:r}}}function Qe(e,t,n){if(e.length!==4)throw new Error("A section shell requires four mapped bounds corners");let o=e.reduce((b,m)=>T(b,m),{x:0,y:0});o.x/=4,o.y/=4;let r=j(e[0],e[1]),i=j(e[0],e[3]),s=n==="auto"?r>i*1.25&&j(o,t)>i?"bezier":"tapered":n;if(s==="rectangle")return{mode:s,outline:e.map(b=>({...b}))};let c=ye(e,t),{p0:u,p1:y,p2:a,p3:f}=c;if(s==="tapered")return{mode:s,outline:[T(u,_(F(y,u),.14)),T(u,_(F(y,u),1-.14)),a,f]};let{nearPath:l,farPath:p}=xe(c);return{mode:s,outline:[...U(l),...U(p).slice(1)]}}function Ze(e,t,n,o){if(e.length!==4)throw new Error("Aisle generation requires four mapped bounds corners");if(!Number.isInteger(n)||n<0||n>3)throw new Error("Aisle count must be an integer from 0 to 3");if(n===0)return[];let r=ye(e,t),{p0:i,p1:s,p2:c,p3:u}=r,y=o==="bezier"?xe(r):null,a=y?U(y.nearPath):null,f=y?U(y.farPath).reverse():null,l=Math.min(.055,.18/(n+1));return Array.from({length:n},(p,b)=>{let m=(b+1)/(n+1),d=m-l/2,h=m+l/2;return a&&f?[...me(a,d,h),...me(f,d,h).reverse()]:[L(i,s,d),L(i,s,h),L(u,c,h),L(u,c,d)]})}var rn=40,sn=1200,cn=.8,an=3,ln=-2,un=20,fn=.1,dn=40,hn=40,pe=e=>Math.max(1,e.fontSize*.6+(e.letterSpacing??0));function Je(e,t){let n=e.text.split(/\r?\n/);if(!e.width)return Math.max(1,n.length);let o=Math.max(1,Math.floor(t/pe(e))),r=0;for(let i of n){if(!i.length){r+=1;continue}let s=0;for(let c of i.split(/\s+/)){let u=c.length;s&&s+1+u<=o?s+=1+u:(r+=Math.max(1,Math.ceil(u/o)),s=u%o)}}return Math.max(1,r)}function V(e){let t=e.background?.padding??0,n=e.text.split(/\r?\n/),o=Math.max(1,...n.map(c=>c.length))*pe(e),r=e.width??o+t*2,i=Math.max(1,r-t*2),s=Je(e,i);return{width:r,height:s*e.fontSize*(e.lineHeight??1.2)+t*2,lineCount:s,padding:t}}function et(e,t,n){let o=n.x-t.x,r=n.y-t.y,i=o*o+r*r,s=i?Math.max(0,Math.min(1,((e.x-t.x)*o+(e.y-t.y)*r)/i)):0;return Math.hypot(e.x-(t.x+s*o),e.y-(t.y+s*r))}function ge(e,t){let n=1/0;for(let o of t)if(!(o.length<2))for(let r=0,i=o.length-1;r<o.length;i=r++){let s=et(e,o[i],o[r]);s<n&&(n=s)}return n}function be(e,t){let n=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){let i=t[o].x,s=t[o].y,c=t[r].x,u=t[r].y;s>e.y!=u>e.y&&e.x<(c-i)*(e.y-s)/(u-s)+i&&(n=!n)}return n}function tt(e,t,n){let o=be(e,t)&&!n.some(i=>be(e,i)),r=ge(e,[t,...n]);return o?r:-r}function D(e,t,n,o,r){let i=tt({x:e,y:t},o,r);return{x:e,y:t,h:n,d:i,max:i+n*Math.SQRT2}}var q=class{constructor(){this.items=[]}get size(){return this.items.length}push(t){let n=this.items;n.push(t);let o=n.length-1;for(;o>0;){let r=o-1>>1;if(n[r].max>=n[o].max)break;[n[r],n[o]]=[n[o],n[r]],o=r}}pop(){let t=this.items,n=t[0],o=t.pop();if(t.length&&o){t[0]=o;let r=0;for(;;){let i=r*2+1,s=i+1,c=r;if(i<t.length&&t[i].max>t[c].max&&(c=i),s<t.length&&t[s].max>t[c].max&&(c=s),c===r)break;[t[c],t[r]]=[t[r],t[c]],r=c}}return n}};function Q(e){if(e.length<3)return 0;let t=0;for(let n=0,o=e.length-1;n<e.length;o=n++)t+=(e[o].x+e[n].x)*(e[o].y-e[n].y);return Math.abs(t)/2}function nt(e,t){return Math.max(0,Q(e)-(t??[]).reduce((n,o)=>n+Q(o),0))}function Z(e,t){let n=t??[];if(!e.length)return{point:{x:0,y:0},radius:0};if(e.length<3){let m=e.reduce((h,g)=>h+g.x,0)/e.length,d=e.reduce((h,g)=>h+g.y,0)/e.length;return{point:{x:m,y:d},radius:0}}let o=1/0,r=1/0,i=-1/0,s=-1/0;for(let m of e)m.x<o&&(o=m.x),m.y<r&&(r=m.y),m.x>i&&(i=m.x),m.y>s&&(s=m.y);let c=i-o,u=s-r,y=Math.min(c,u);if(!(y>0))return{point:{x:(o+i)/2,y:(r+s)/2},radius:0};let a=Math.max(c,u)/150,f=new q,l=y/2;for(let m=o;m<i;m+=y)for(let d=r;d<s;d+=y)f.push(D(m+l,d+l,l,e,n));let p=D(o+c/2,r+u/2,0,e,n),b=0;for(;f.size;){let m=f.pop();if(!m)break;m.d>p.d&&(p=m),!(m.max-p.d<=a)&&(b>=4e3||(b+=1,l=m.h/2,f.push(D(m.x-l,m.y-l,l,e,n)),f.push(D(m.x+l,m.y-l,l,e,n)),f.push(D(m.x-l,m.y+l,l,e,n)),f.push(D(m.x+l,m.y+l,l,e,n))))}return{point:{x:p.x,y:p.y},radius:Math.max(0,p.d)}}function k(e,t,n){return e<t?t:e>n?n:e}var pn=Math.PI*2;function Me(e,t,n){return ot(e,r=>({x:r.x+t,y:r.y+n}))}function ot(e,t,n=1,o=!1){return{...e,start:t(e.start),segments:e.segments.map(r=>r.kind==="line"?{...r,end:t(r.end)}:r.kind==="arc"?{...r,center:t(r.center),radius:r.radius*Math.abs(n),clockwise:o?!r.clockwise:r.clockwise,end:t(r.end)}:{...r,control1:t(r.control1),control2:t(r.control2),end:t(r.end)})}}var bn=4/3;function rt(e,t,n){let o=[];for(let r=0;r<e.length-1;r+=1){let i=e[r],s=e[r+1],c=Math.hypot(s.x-i.x,s.y-i.y);if(c<=0)continue;let u=Math.max(1,Math.round(c/n)),y=c/u,a=Math.atan2(s.y-i.y,s.x-i.x),f=r===0,p=(r>0?t[r-1]:void 0)==="break"?2:1,b=f?{...i}:{x:i.x+Math.cos(a)*y*p,y:i.y+Math.sin(a)*y*p},m=f?u+1:Math.max(1,u-(p-1));o.push({origin:b,rotation:a*180/Math.PI,seatCount:m,seatSpacing:y})}return o}function it(e){let t=e.rotation*Math.PI/180,n={x:Math.cos(t),y:Math.sin(t)};return Array.from({length:e.seatCount},(o,r)=>({x:e.origin.x+n.x*r*e.seatSpacing,y:e.origin.y+n.y*r*e.seatSpacing}))}function st(e){return e.reduce((t,n)=>t+n.seatCount,0)}function J(e){let t=new Map,n=new Map;for(let o of e){if(o.type!=="row"||!o.segmentedRow)continue;let r=n.get(o.segmentedRow.groupId)??[];r.push(o),n.set(o.segmentedRow.groupId,r)}for(let[o,r]of n){let i=r.slice().sort((l,p)=>l.segmentedRow.componentIndex-p.segmentedRow.componentIndex),s=i[0]?.segmentedRow?.componentCount??0,c=i[0]?.segmentedRow;if(!c||!(s>=2&&i.length===s&&c?.boundaryBefore==="start"&&i.every((l,p)=>l.segmentedRow?.kind==="segmented-row-v1"&&l.segmentedRow.groupId===o&&l.segmentedRow.componentCount===s&&l.segmentedRow.componentIndex===p&&l.segmentedRow.repeatLabelOnComponents===c.repeatLabelOnComponents&&(p===0?l.segmentedRow.boundaryBefore==="start":l.segmentedRow.boundaryBefore!=="start")&&l.segmentedRow.displayLabel===c.displayLabel)))continue;let y=i.reduce((l,p)=>l+p.seatCount,0),a=0,f=0;for(let l of i)l.segmentedRow.boundaryBefore==="break"&&(a+=1),t.set(l.id,{groupId:o,adjacencyOffset:a,displayOffset:f,displayLabel:c.displayLabel,totalSeats:y,canonical:i[0],viewFromSeatUrl:c.viewFromSeatUrl,viewFromSeatMeta:c.viewFromSeatMeta,confidenceEvidence:c.confidenceEvidence}),a+=l.seatCount,f+=l.seatCount}return t}var ct="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var at="abcdefghijklmnopqrstuvwxyz";function lt(e,t){let n=t.length,o=e+1,r="";for(;o>0;){o-=1;let i=o%n;r=t[i]+r,o=Math.floor(o/n)}return r}function ee(e,t=!1){let n=t?at:ct;return lt(Math.max(0,Math.floor(e)-1),n)}var ut=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];function Se(e){if(!Number.isFinite(e)||e<=0)return String(e);let t=Math.floor(e),n="";for(let[o,r]of ut)for(;t>=o;)n+=r,t-=o;return n}function ft(e){let t=new Array(e);return Array.from({length:e},(n,o)=>o).sort((n,o)=>Math.abs(2*n-(e-1))-Math.abs(2*o-(e-1))||n-o).forEach((n,o)=>t[n]=o),t}function te(e,t){let n=e.seatLabelStart??1,o=e.seatNumbering?.direction??"ltr",r=e.seatNumbering?.step??1,i=e.seatNumbering?.scheme??"decimal",s=e.seatNumbering?.prefix??"",c=e.seatNumbering?.endAt,u=e.seatCount;if(i==="updown"||i==="updown-descending"){let p=Math.ceil(u/2),b=i==="updown"?t<p?n+2*t:n-1+2*(u-t):t<p?n+2*(p-1-t):n+1+2*(t-p);return`${s}${b}`}let y=i==="odd"||i==="even"?2:r,a=c!=null&&Number.isFinite(c)?c-(u-1)*y:n,f=o==="center"?ft(u)[t]:o==="rtl"?u-1-t:t,l;switch(i){case"odd":{let p=a%2===1?a:a+1;l=String(p+f*2);break}case"even":{let p=a%2===0?a:a+1;l=String(p+f*2);break}case"roman":l=Se(a+f*r);break;case"letters-upper":l=ee(a+f*r,!1);break;case"letters-lower":l=ee(a+f*r,!0);break;default:l=String(a+f*r);break}return`${s}${l}`}function dt(e){return{...e.canonical,seatCount:e.totalSeats,label:e.displayLabel,displayLabel:e.displayLabel}}function we(e,t,n){return n?.label??`${e.label}-${te(e,t)}`}function ne(e,t,n,o){if(o?.displayLabel)return o.displayLabel;if(!n)return`${e.displayLabel??e.label}-${te(e,t)}`;let r=dt(n),i=n.displayOffset+t;return`${n.displayLabel}-${te(r,i)}`}var X=.02291666666666667,vn=1/X,ht=58,mt=ht*X;var yt=3,Pe=0,oe=120,xt=0,pt=45,bt=7,B=1.2;function re(e,t,n,o){return Number.isFinite(e)?Math.max(t,Math.min(n,e)):o}function gt(e){return!Number.isFinite(e)||!Number.isInteger(e)||e<0?0:e<=bt?e:yt}function ve(e,t={}){let n=re(t.floorBaseHeightM,Pe,oe,0),o=Math.min(oe,n+gt(e.elevation)*mt),r=e.height===void 0?o:re(e.height,Pe,oe,o),i=re(e.rake,xt,pt,0);return{height:r,rake:i}}function Ie(e){let t=e.length;return t<=3?[...e]:[e[Math.floor(t*.25)],e[Math.floor(t*.5)],e[Math.floor(t*.75)]]}function Ce(e,t,n){if(!e.length)return 1/0;if(e.length===1)return Math.hypot(t-e[0].x,n-e[0].y);let o=1/0;for(let r=0;r+1<e.length;r++){let i=e[r],s=e[r+1],c=s.x-i.x,u=s.y-i.y,y=c*c+u*u,a=y>1e-12?((t-i.x)*c+(n-i.y)*u)/y:0;a<0?a=0:a>1&&(a=1);let f=Math.hypot(t-(i.x+a*c),n-(i.y+a*u));f<o&&(o=f)}return o}function Mt(e){let t=0,n=0;for(let i of e)t+=i.x,n+=i.y;let o=e.length||1;t/=o,n/=o;let r=0;for(let i of e){let s=Math.hypot(i.x-t,i.y-n);s>r&&(r=s)}return{cx:t,cy:n,r}}function Ee(e,t){return Math.hypot(e.cx-t.cx,e.cy-t.cy)-e.r-t.r}function ie(e,t){let n=1/0;for(let o of Ie(e)){let r=Ce(t,o.x,o.y);r<n&&(n=r)}for(let o of Ie(t)){let r=Ce(e,o.x,o.y);r<n&&(n=r)}return n}function St(e,t){if(e.length<3)return{pts:e,seatIndices:t};let n=0,o=0;for(let a of e)n+=a.x,o+=a.y;n/=e.length,o/=e.length;let r=-1,i=e[0];for(let a of e){let f=Math.hypot(a.x-n,a.y-o);f>r&&(r=f,i=a)}let s=i.x-n,c=i.y-o,u=Math.hypot(s,c);u>1e-9?(s/=u,c/=u):(s=1,c=0);let y=e.map((a,f)=>({p:a,i:f,t:(a.x-n)*s+(a.y-o)*c})).sort((a,f)=>a.t-f.t);return{pts:y.map(a=>a.p),seatIndices:y.map(a=>t[a.i])}}function wt(e){let t=e.length;if(t<3)return null;let n=0,o=0;for(let g of e)n+=g.x,o+=g.y;n/=t,o/=t;let r=0,i=0,s=0,c=0,u=0,y=0,a=0;for(let g of e){let x=g.x-n,M=g.y-o;r+=x*x,s+=M*M,i+=x*M,c+=x*x*x,u+=M*M*M,y+=x*M*M,a+=M*x*x}let f=r*s-i*i;if(Math.abs(f)<1e-9)return null;let l=(c+y)/2,p=(u+a)/2,b=(l*s-p*i)/f,m=(p*r-l*i)/f,d=b+n,h=m+o;return!Number.isFinite(d)||!Number.isFinite(h)?null:{cx:d,cy:h}}var Pt=.15;function vt(e){if(e.length<2)return null;let t=e.map(g=>{let x=0,M=0;for(let P of g.pts)x+=P.x,M+=P.y;return{x:x/g.pts.length,y:M/g.pts.length}}),n=0,o=0;for(let g of t)n+=g.x,o+=g.y;n/=t.length,o/=t.length;let r=0,i=0,s=0;for(let g of t){let x=g.x-n,M=g.y-o;r+=x*x,i+=x*M,s+=M*M}let c=r+s,u=r*s-i*i,y=c/2+Math.sqrt(Math.max(0,c*c/4-u)),a,f;Math.abs(i)>1e-12?(a=y-s,f=i):r>=s?(a=1,f=0):(a=0,f=1);let l=Math.hypot(a,f);if(!(l>1e-12))return null;a/=l,f/=l;let p=1/0,b=-1/0,m=[];for(let g of e){let x=1/0,M=-1/0;for(let P of g.pts){let S=P.x*a+P.y*f;S<x&&(x=S),S>M&&(M=S),S<p&&(p=S),S>b&&(b=S)}m.push(M-x)}let d=b-p;return d>1e-9?(m.sort((g,x)=>g-x),m[Math.min(m.length-1,Math.floor(m.length*.9))]/d<=It?{x:a,y:f}:null):null}var It=.35;function Oe(e,t,n,o){let r=new Map;for(let d of n){let h=t[d],g=h.rowId||`__seat-${d}`,x=r.get(g);x||(x={pts:[],idx:[]},r.set(g,x)),x.pts.push({x:h.x,y:h.y}),x.idx.push(d)}if(!r.size)return{sectionId:e,rows:[],blockCount:0};let i=[];for(let[d,h]of r){let g=St(h.pts,h.idx),x=0;for(let M of g.pts)x+=Math.hypot(M.x-o.x,M.y-o.y);i.push({id:d,pts:g.pts,seatIndices:g.seatIndices,blockId:-1,ordinal:0,blockDepth:0,focalDistance:x/g.pts.length})}let s=i.map(d=>Mt(d.pts)),c=[];for(let d=0;d<i.length;d++){let h=1/0;for(let g=0;g<i.length;g++){if(d===g||Ee(s[d],s[g])>=h)continue;let x=ie(i[d].pts,i[g].pts);x<h&&(h=x)}Number.isFinite(h)&&c.push(h)}c.sort((d,h)=>d-h);let u=c.length?c[Math.floor(c.length/2)]:1,y=Math.max(u*1.8,1e-6),a=i.map(()=>[]);for(let d=0;d<i.length;d++)for(let h=d+1;h<i.length;h++)Ee(s[d],s[h])>y||ie(i[d].pts,i[h].pts)<=y&&(a[d].push(h),a[h].push(d));let f=0;for(let d=0;d<i.length;d++){if(i[d].blockId!==-1)continue;let h=f++,g=[d];for(i[d].blockId=h;g.length;){let x=g.pop();for(let M of a[x])i[M].blockId===-1&&(i[M].blockId=h,g.push(M))}}let l=new Map;for(let d of i){let h=l.get(d.blockId)??[];h.push(d),l.set(d.blockId,h)}let p=[];for(let d of i){if(d.pts.length<4)continue;let h=wt(d.pts);h&&(!Number.isFinite(h.cx)||!Number.isFinite(h.cy)||p.push({x:h.cx,y:h.cy}))}let b=p.length>=2?(()=>{let d=p.map(x=>x.x).sort((x,M)=>x-M),h=p.map(x=>x.y).sort((x,M)=>x-M),g=Math.floor(p.length/2);return{cx:d[g],cy:h[g]}})():null;if(b){let d=S=>Math.hypot(S.x-b.cx,S.y-b.cy),h=1/0,g=-1/0,x=[];for(let S of i){let w=1/0,E=-1/0;for(let C of S.pts){let I=d(C);I<w&&(w=I),I>E&&(E=I)}x.push(E-w),w<h&&(h=w),E>g&&(g=E)}let M=g-h;x.sort((S,w)=>S-w);let P=x[Math.min(x.length-1,Math.floor(x.length*.9))];if(M>1e-9&&P/M<=Pt){let S=i.map(v=>{let O=0;for(let R of v.pts)O+=d(R);return{row:v,radius:O/v.pts.length}}),w=1/0;for(let v of S)v.radius<w&&(w=v.radius);S.sort((v,O)=>v.radius-O.radius);let E=-1,C=-1/0,I=M/Math.max(1,S.length)*.5,A=[];for(let v of S)v.radius-C>I&&(E++,C=v.radius),v.row.ordinal=E,v.row.blockDepth=v.radius-w,A.push(v.row);return{sectionId:e,rows:A,blockCount:f}}}let m=[];for(let[,d]of l){let h=vt(d);if(h){let g=M=>{let P=0;for(let S of M.pts)P+=S.x*h.x+S.y*h.y;return P/M.pts.length};d.sort((M,P)=>g(M)-g(P));let x=0;for(let M=0;M<d.length;M++)M>0&&(x+=ie(d[M-1].pts,d[M].pts)),d[M].ordinal=M,d[M].blockDepth=x,m.push(d[M])}else{let g=1/0;for(let x of d)x.focalDistance<g&&(g=x.focalDistance);d.sort((x,M)=>x.focalDistance-M.focalDistance);for(let x=0;x<d.length;x++)d[x].ordinal=x,d[x].blockDepth=Math.max(0,d[x].focalDistance-g),m.push(d[x])}}return{sectionId:e,rows:m,blockCount:f}}function _e(e){return e?e.accessibility&&e.accessibility.length?e.wheelchairSpaceType&&!e.accessibility.includes("wheelchair")?["wheelchair",...e.accessibility]:e.accessibility:e.wheelchairSpaceType?["wheelchair"]:e.accessible?["wheelchair"]:[]:[]}var z=Math.PI/180,Ct=9,N=16;function ce(e,t,n,o){let r=n*z,i=Math.cos(r),s=Math.sin(r);return{x:o.x+e*i-t*s,y:o.y+e*s+t*i}}function le(e){let{seatCount:t,seatSpacing:n,curve:o,rotation:r,origin:i}=e,s=[];if(e.path)return W(e.path,t);if(t<=1)return t===1&&s.push({x:i.x,y:i.y}),s;if(o===0){for(let y=0;y<t;y++)s.push(ce(y*n,0,r,i));return s}let c=o/(t-1)*z,u=n/(2*Math.sin(Math.abs(c)/2));for(let y=0;y<t;y++){let a=y*c,f=u*Math.sin(a),l=-u+u*Math.cos(a);s.push(ce(f,l,r,i))}return s}function Et(e){let t=new Map;if(e.overrides)for(let n of e.overrides)t.set(n.index,n);return t}function Ot(e){let t=new Set((e.overrides??[]).filter(n=>n.skip&&Number.isInteger(n.index)&&n.index>=0&&n.index<e.seatCount).map(n=>n.index));return Math.max(0,e.seatCount-t.size)}function ke(e,t){let n=Et(e);return le(e).map((o,r)=>{let i=n.get(r),s=_e(i),c=we(e,r,i),u={...e.commercial,...i?.commercial};return{index:r,x:o.x+(i?.dx??0),y:o.y+(i?.dy??0),label:c,displayLabel:ne(e,r,t,i),categoryKey:i?.categoryKey??e.categoryKey,skipped:!!i?.skip,accessible:s.length>0,accessibility:s,wheelchairSpaceType:i?.wheelchairSpaceType,commercial:Object.values(u).some(y=>y!==void 0&&y!==!1&&y!=="")?u:void 0,viewUrl:i?.viewFromSeatUrl??e.viewFromSeatUrl,viewMeta:i?.viewFromSeatUrl?i.viewFromSeatMeta:e.viewFromSeatMeta,labelStyle:i?.labelStyle}})}function ue(e){let t=[];for(let n of ke(e))n.skipped||t.push({id:`${e.id}:${n.index}`,label:n.label,displayLabel:n.displayLabel===n.label?void 0:n.displayLabel,x:n.x,y:n.y,rowId:e.id,categoryKey:n.categoryKey,accessible:n.accessible||void 0,accessibility:n.accessibility.length?n.accessibility:void 0,wheelchairSpaceType:n.wheelchairSpaceType,commercial:n.commercial,viewUrl:n.viewUrl,viewMeta:n.viewMeta,labelStyle:n.labelStyle});return t}function Le(e){if(e.seatCountsBySide)return{...e.seatCountsBySide};let t=e.sides&&e.sides.length?e.sides:["top","bottom"],n=["top","bottom","left","right"].filter(i=>t.includes(i)),o={top:0,bottom:0,left:0,right:0};if(!n.length)return o;let r=Math.max(0,Math.round(e.seatCount));for(let i=0;i<r;i++)o[n[i%n.length]]+=1;return o}function fe(e){let t=[],n=Math.max(0,Math.round(e.seatCount));if(n===0)return t;let o=new Map((e.overrides??[]).map(a=>[a.index,a])),r=(a,f,l,p)=>{let b=o.get(a),m=_e(b),d=b?.label??`${e.label}-${a+1}`,h=e.displayLabel??e.label;return{index:a,label:d,displayLabel:b?.displayLabel??`${h}-${a+1}`,x:f+(b?.dx??0),y:l+(b?.dy??0),categoryKey:b?.categoryKey??e.categoryKey,skipped:!!b?.skip,accessible:m.length>0,accessibility:m,wheelchairSpaceType:b?.wheelchairSpaceType,commercial:b?.commercial,viewUrl:b?.viewFromSeatUrl,viewMeta:b?.viewFromSeatUrl?b.viewFromSeatMeta:void 0,labelStyle:b?.labelStyle,...p?{side:p}:{}}};if(e.shape==="round"){let a=(e.radius??40)+N,f=e.rotation*z,l=Math.max(0,Math.min(360,e.seatArc??360));if(l>=360||n===1){for(let d=0;d<n;d++){let h=f+d/n*2*Math.PI;t.push(r(d,e.center.x+a*Math.cos(h),e.center.y+a*Math.sin(h)))}return t}let p=l*z,b=(2*Math.PI-p)/2,m=f+b;for(let d=0;d<n;d++){let h=m+d/(n-1)*p;t.push(r(d,e.center.x+a*Math.cos(h),e.center.y+a*Math.sin(h)))}return t}let i=e.width??80,s=e.height??50,c=Le(e),u=["top","bottom","left","right"],y=0;for(let a of u){let f=c[a];for(let l=0;l<f;l++){let p,b;a==="top"?(p=-i/2+(l+.5)*i/f,b=-s/2-N):a==="bottom"?(p=-i/2+(l+.5)*i/f,b=s/2+N):a==="left"?(p=-i/2-N,b=-s/2+(l+.5)*s/f):(p=i/2+N,b=-s/2+(l+.5)*s/f);let m=ce(p,b,e.rotation,e.center);t.push(r(y++,m.x,m.y,a))}}return t}function Rt(e){return e.bookAsWhole||e.variableOccupancy?Math.max(0,Math.round(e.seatCount)):fe(e).filter(t=>!t.skipped).length}function je(e){return fe(e).filter(t=>!t.skipped).map(t=>({id:`${e.id}:${t.index}`,label:t.label,...t.displayLabel!==t.label?{displayLabel:t.displayLabel}:{},x:t.x,y:t.y,rowId:e.id,categoryKey:t.categoryKey,...t.accessible?{accessible:!0}:{},...t.accessibility.length?{accessibility:t.accessibility}:{},...t.wheelchairSpaceType?{wheelchairSpaceType:t.wheelchairSpaceType}:{},...t.commercial?{commercial:t.commercial}:{},...t.viewUrl?{viewUrl:t.viewUrl}:{},...t.viewUrl&&t.viewMeta?{viewMeta:t.viewMeta}:{},...t.labelStyle?{labelStyle:t.labelStyle}:{}}))}function De(e){return[{id:`${e.id}:0`,label:e.label,...e.displayLabel&&e.displayLabel!==e.label?{displayLabel:e.displayLabel}:{},x:e.center.x,y:e.center.y,rowId:e.id,categoryKey:e.categoryKey,kind:"booth"}]}function ae(e,t){let n=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){let i=t[o].x,s=t[o].y,c=t[r].x,u=t[r].y;s>e.y!=u>e.y&&e.x<(c-i)*(e.y-s)/(u-s)+i&&(n=!n)}return n}function At(e,t){return t.some((n,o)=>{let r=t[(o+1)%t.length],i=(e.y-n.y)*(r.x-n.x)-(e.x-n.x)*(r.y-n.y);if(Math.abs(i)>1e-7)return!1;let s=(e.x-n.x)*(r.x-n.x)+(e.y-n.y)*(r.y-n.y),c=(r.x-n.x)**2+(r.y-n.y)**2;return s>=-1e-7&&s<=c+1e-7})}function Y(e,t,n){return ae(e,t)&&!(n??[]).some(o=>ae(e,o)||At(e,o))}function Tt(e,t){return Z(e,t).point}function se(e){if(!e.length)return{x:0,y:0};let t=0,n=0;for(let o of e)t+=o.x,n+=o.y;return{x:t/e.length,y:n/e.length}}function Ne(e){switch(e.type){case"row":{let t=ue(e);if(!t.length)return{x:e.origin.x,y:e.origin.y};let n=0,o=0;for(let r of t)n+=r.x,o+=r.y;return{x:n/t.length,y:o/t.length}}case"table":case"booth":return{x:e.center.x,y:e.center.y};case"gaArea":return se(e.points);case"section":return se(e.outline);case"text":return{x:e.position.x,y:e.position.y};case"shape":return e.points&&e.points.length?se(e.points):e.x!=null&&e.y!=null&&e.width!=null&&e.height!=null?{x:e.x+e.width/2,y:e.y+e.height/2}:{x:e.x??0,y:e.y??0};case"decorImage":return{x:e.x+e.width/2,y:e.y+e.height/2}}}function Re(e,t){return e.length===t.length&&e.every((n,o)=>n.x===t[o].x&&n.y===t[o].y)}function _t(e,t){if(e.type!=="gaArea"||!Re(e.points,t.outline))return!1;let n=e.holes??[],o=t.holes??[];return n.length===o.length&&n.every((r,i)=>Re(r,o[i]))}function Fe(e,t){let n=e.filter(s=>s.type==="section"),o="referenceInventorySource"in t?t.referenceInventorySource?.logicalSectionId:void 0,r=Ne(t);return(o?n.find(s=>(s.logicalSectionId??s.id)===o&&(_t(t,s)||Y(r,s.outline,s.holes))):void 0)??n.find(s=>Y(r,s.outline,s.holes))}function He(e){return e.floors&&e.floors.length?e.floors:[{id:"floor-0",name:"Main",objects:e.objects,focalPoint:e.focalPoint,referenceImage:e.referenceImage,backgroundImage:e.backgroundImage}]}function kt(e,t){let n=He(e);return(t?n.find(o=>o.id===t):n[0])?.objects??[]}function Ue(e){return e.floors&&e.floors.length?e.floors.flatMap(t=>t.objects):e.objects}function de(e,t,n){let o=i=>({x:i.x+t,y:i.y+n}),r=i=>i.map(o);switch(e.type){case"row":return{...e,origin:o(e.origin)};case"table":case"booth":return{...e,center:o(e.center)};case"gaArea":return{...e,points:r(e.points),...e.holes?{holes:e.holes.map(r)}:{}};case"section":return{...e,outline:r(e.outline),...e.outlinePath?{outlinePath:Me(e.outlinePath,t,n)}:{},...e.holes?{holes:e.holes.map(r)}:{}};case"text":return{...e,position:o(e.position)};case"shape":return{...e,...e.points?{points:r(e.points)}:{},...e.x!=null?{x:e.x+t}:{},...e.y!=null?{y:e.y+n}:{}};case"decorImage":return{...e,x:e.x+t,y:e.y+n}}}function Lt(e,t=900){if(!e.floors||e.floors.length<2)return e;let n=[];return e.floors.forEach((o,r)=>{let i=-r*t;for(let s of o.objects)n.push(i===0?s:de(s,0,i))}),{...e,objects:n,floors:void 0}}function jt(e){let t=e.floors;if(!t||t.length<2)return e;let n=Xe(e),o=[];return t.forEach((r,i)=>{let{x:s,y:c}=n[i];for(let u of r.objects)o.push(de(u,s,c))}),{...e,objects:o,floors:void 0,referenceImage:void 0,backgroundImage:void 0}}function Xe(e){let t=e.floors;if(!t?.length)return[{x:0,y:0}];if(t.length<2)return t.map(()=>({x:0,y:0}));let n=t.map(l=>Be({...e,objects:l.objects,floors:void 0,focalPoint:l.focalPoint,referenceImage:void 0,backgroundImage:void 0})),o=Math.max(1,...n.map(l=>Math.max(l.width,l.height))),r=Math.max(64,Math.min(240,o*.08)),i=16/10,s=null;for(let l=1;l<=t.length;l+=1){let p=Math.ceil(t.length/l),b=new Array(l).fill(0),m=new Array(p).fill(0);n.forEach((M,P)=>{let S=P%l,w=Math.floor(P/l);b[S]=Math.max(b[S],M.width),m[w]=Math.max(m[w],M.height)});let d=b.reduce((M,P)=>M+P,0)+r*(l-1),h=m.reduce((M,P)=>M+P,0)+r*(p-1),g=l*p-t.length,x=Math.abs(Math.log(d/Math.max(1,h)/i))+g*.04;(!s||x<s.score)&&(s={columns:l,columnWidths:b,rowHeights:m,score:x})}let{columns:c,columnWidths:u,rowHeights:y}=s,a=[],f=[];return u.reduce((l,p,b)=>(a[b]=l,l+p+r),0),y.reduce((l,p,b)=>(f[b]=l,l+p+r),0),t.map((l,p)=>{let b=n[p],m=p%c,d=Math.floor(p/c),h=a[m]+(u[m]-b.width)/2,g=f[d]+(y[d]-b.height)/2;return{x:h-b.x,y:g-b.y}})}function Ae(e,t,n,o,r,i){let s=[],c=J(e),u=f=>!f?.eventConfigurationId||f.eventConfigurationId===o,y=f=>!!f&&(!f.eventConfigurationId||f.eventConfigurationId===o),a=(f,l)=>y(f)?{...f,coverage:l}:void 0;for(let f of e){let l=[];if(f.type==="row"?l=ue(f):f.type==="table"?l=je(f):f.type==="booth"&&(l=De(f)),!l.length)continue;for(let h of l)h.viewUrl&&!u(h.viewMeta)&&(h.viewUrl=void 0,h.viewMeta=void 0);if(f.type==="row"){let h=c.get(f.id);if(h){let g=new Map((f.overrides??[]).map(x=>[x.index,x]));for(let x of l){let M=Number(x.id.slice(x.id.lastIndexOf(":")+1));if(!Number.isInteger(M))continue;x.logicalRowId=h.groupId,x.logicalSeatIndex=h.adjacencyOffset+M,g.get(M)?.displayLabel||(x.displayLabel=ne(f,M,h)),!x.viewUrl&&h.viewFromSeatUrl&&u(h.viewFromSeatMeta)&&(x.viewUrl=h.viewFromSeatUrl,x.viewMeta=h.viewFromSeatMeta);let P=g.get(M)?.confidenceEvidence;x.confidenceEvidence=a(P,"exact-seat")??a(f.confidenceEvidence,"row-representative")??a(h.confidenceEvidence,"row-representative")}}}let p=Fe(e,f),b=p?.viewFromSeatUrl,d=(p?.zone?t?.find(h=>h.id===p.zone):void 0)?.focalPoint??n;for(let h of l){if(!h.confidenceEvidence){let g=Number(h.id.slice(h.id.lastIndexOf(":")+1)),x=(f.type==="row"||f.type==="table")&&Number.isInteger(g)?f.overrides?.find(M=>M.index===g)?.confidenceEvidence:void 0;h.confidenceEvidence=a(x,"exact-seat")??(f.type==="row"?a(f.confidenceEvidence,"row-representative"):void 0)}h.confidenceEvidence??=a(p?.confidenceEvidence,"section-representative")??(i?a(i.evidence,i.coverage):void 0),!h.viewUrl&&b&&u(p?.viewFromSeatMeta)&&(h.viewUrl=b,h.viewMeta=p?.viewFromSeatMeta),!h.viewUrl&&r&&u(r.meta)&&(h.viewUrl=r.url,h.viewMeta=r.meta),p&&(h.sectionId=p.logicalSectionId??p.id),p?.zone&&(h.zoneId=p.zone),d&&(h.focalPoint={...d})}s.push(...l)}return s}function Dt(e,t={}){if(e.floors?.length){let o=[];for(let r of e.floors){let i=r.focalPoint??e.focalPoint,s=r.viewFromSeatUrl?{url:r.viewFromSeatUrl,meta:r.viewFromSeatMeta}:e.viewFromSeatUrl?{url:e.viewFromSeatUrl,meta:e.viewFromSeatMeta}:void 0,c=r.confidenceEvidence?{evidence:r.confidenceEvidence,coverage:"floor-representative"}:e.confidenceEvidence?{evidence:e.confidenceEvidence,coverage:"venue-representative"}:void 0,u=Ae(r.objects,e.zones,i,e.eventConfigurationId,s,c);t.resolveEyeHeights!==!1&&Te(r.objects,r.focalPoint??e.focalPoint,r.baseHeightM??0,u),o.push(...u)}return o}let n=Ae(e.objects,e.zones,e.focalPoint,e.eventConfigurationId,e.viewFromSeatUrl?{url:e.viewFromSeatUrl,meta:e.viewFromSeatMeta}:void 0,e.confidenceEvidence?{evidence:e.confidenceEvidence,coverage:"venue-representative"}:void 0);return t.resolveEyeHeights!==!1&&Te(e.objects,e.focalPoint,t.floorBaseHeightM??0,n),n}function Te(e,t,n,o){let r=e.filter(a=>a.type==="section"),i=n>0||r.some(a=>a.height!==void 0||a.rake!==void 0||(a.elevation??0)>0);if(!r.length||!i||!t){for(let a of o)a.eyeHeightM=n+B;return}let s=new Array(o.length),c=new Map,u=new Map;for(let a=0;a<o.length;a++){let f=o[a],l=r.find(b=>Y({x:f.x,y:f.y},b.outline,b.holes))??null;if(s[a]=l,!l)continue;c.has(l.id)||c.set(l.id,ve(l,{floorBaseHeightM:n}));let p=u.get(l.id);p?p.push(a):u.set(l.id,[a])}let y=new Array(o.length).fill(void 0);for(let[a,f]of u){let l=c.get(a);if(!l)continue;let p=l.rake>0?Math.tan(l.rake*Math.PI/180):0,b=Oe(a,o,f,t);for(let m of b.rows){let d=m.blockDepth*X*p,h=l.height+d;for(let g of m.seatIndices)y[g]=h}}for(let a=0;a<o.length;a++){let f=o[a],l=s[a];if(!l){f.eyeHeightM=n+B;continue}let p=c.get(l.id);f.eyeHeightM=(y[a]??p.height)+B}}var G=40;function Be(e){let t=1/0,n=1/0,o=-1/0,r=-1/0,i=(s,c)=>{s<t&&(t=s),c<n&&(n=c),s>o&&(o=s),c>r&&(r=c)};for(let s of Ue(e))if(s.type==="row"){let c=new Map((s.overrides??[]).map(u=>[u.index,u]));le(s).forEach((u,y)=>{let a=c.get(y);a?.skip||i(u.x+(a?.dx??0),u.y+(a?.dy??0))})}else if(s.type==="gaArea")for(let c of s.points)i(c.x,c.y);else if(s.type==="section")for(let c of s.outline)i(c.x,c.y);else if(s.type==="decorImage")i(s.x,s.y),i(s.x+s.width,s.y+s.height);else if(s.type==="shape")if(s.points&&s.points.length)for(let c of s.points)i(c.x,c.y);else s.x!=null&&s.y!=null&&s.width!=null&&s.height!=null&&(i(s.x,s.y),i(s.x+s.width,s.y+s.height));else if(s.type==="table"){let c=N+Ct,u=s.shape==="round"?(s.radius??40)+c:Math.max((s.width??80)/2,(s.height??50)/2)+c;i(s.center.x-u,s.center.y-u),i(s.center.x+u,s.center.y+u)}else if(s.type==="booth"){let c=Math.max(s.width,s.height)/2;i(s.center.x-c,s.center.y-c),i(s.center.x+c,s.center.y+c)}else if(s.type==="text"){let c=V(s);i(s.position.x,s.position.y),i(s.position.x+c.width,s.position.y+c.height)}for(let s of[e.referenceImage,e.backgroundImage]){if(!s)continue;let{center:c,width:u}=s,y=u*3/4;i(c.x-u/2,c.y-y/2),i(c.x+u/2,c.y+y/2)}if(!isFinite(t)){let s=e.focalPoint??{x:0,y:0};return{x:s.x-200,y:s.y-200,width:400,height:400}}return{x:t-G,y:n-G,width:o-t+G*2,height:r-n+G*2}}function Nt(e,t=0){let n=Math.max(1,e.width,e.height),o={x:e.x+e.width/2,y:e.y+e.height/2},r=n*1.55,i=Math.max(n*.82,Math.max(0,t)+n*.45);return{target:o,distance:r,height:i,focalLength:Math.hypot(r,i),yawRad:-8*Math.PI/180}}function K(e,t,n=0){let o=t.x-e.target.x,r=t.y-e.target.y,i=Math.cos(e.yawRad),s=Math.sin(e.yawRad),c=o*i-r*s,y=o*s+r*i-e.distance,a=n-e.height,f=Math.hypot(e.distance,e.height),l=(-e.distance*y-e.height*a)/f,p=(-e.height*y+e.distance*a)/f,b=Math.max(f*.08,l),m=e.focalLength/b;return{x:e.target.x+c*m,y:e.target.y-p*m,depth:b,scale:m}}function Ft(e,t){return{x:e.a*t.x+e.c*t.y+e.e,y:e.b*t.x+e.d*t.y+e.f}}function Ht(e){let t=e.a*e.d-e.b*e.c;if(!Number.isFinite(t)||Math.abs(t)<1e-9)throw new Error("perspective projection produced a singular affine");let n=e.d/t,o=-e.b/t,r=-e.c/t,i=e.a/t;return{a:n,b:o,c:r,d:i,e:-(n*e.e+r*e.f),f:-(o*e.e+i*e.f)}}function Ut(e,t){return{a:e.a*t.a+e.c*t.b,b:e.b*t.a+e.d*t.b,c:e.a*t.c+e.c*t.d,d:e.b*t.c+e.d*t.d,e:e.a*t.e+e.c*t.f+e.e,f:e.b*t.e+e.d*t.f+e.f}}function Xt(e,t,n=()=>0){let o=K(e,t,n(t)),r={x:t.x+1,y:t.y},i={x:t.x,y:t.y+1},s=K(e,r,n(r)),c=K(e,i,n(i)),u=s.x-o.x,y=s.y-o.y,a=c.x-o.x,f=c.y-o.y;return{a:u,b:y,c:a,d:f,e:o.x-u*t.x-a*t.y,f:o.y-y*t.x-f*t.y}}function Bt(e){let t=Math.hypot(e.a,e.b),n=e.a*e.d-e.b*e.c;return{rotationDeg:Math.atan2(e.b,e.a)*180/Math.PI,scaleX:t,scaleY:n/Math.max(t,1e-9),skewX:(e.a*e.c+e.b*e.d)/Math.max(n,1e-9)}}var Ge=9;function Gt(e){if(e.kind==="circle")return{hx:e.r,hy:e.r};let t=e.width/2,n=e.height/2,o=e.rotation??0;if(!o)return{hx:t,hy:n};let r=o*Math.PI/180,i=Math.abs(Math.cos(r)),s=Math.abs(Math.sin(r));return{hx:t*i+n*s,hy:t*s+n*i}}function zt(e,t,n){let o=t-e.seat.x,r=n-e.seat.y;if(e.shape.kind==="circle")return o*o+r*r<=e.shape.r*e.shape.r;let i=e.shape.rotation??0,s=o,c=r;if(i){let u=-i*Math.PI/180,y=Math.cos(u),a=Math.sin(u);s=o*y-r*a,c=o*a+r*y}return Math.abs(s)<=e.shape.width/2&&Math.abs(c)<=e.shape.height/2}function Yt(e,t,n,o,r){if(e.shape.kind==="circle"){let b=Math.min(Math.max(e.seat.x,t),o),m=Math.min(Math.max(e.seat.y,n),r),d=e.seat.x-b,h=e.seat.y-m;return d*d+h*h<=e.shape.r*e.shape.r}let i=e.shape.rotation??0;if(!i)return e.seat.x-e.hx<=o&&e.seat.x+e.hx>=t&&e.seat.y-e.hy<=r&&e.seat.y+e.hy>=n;let s=i*Math.PI/180,c=Math.cos(s),u=Math.sin(s),y=e.shape.width/2,a=e.shape.height/2,f=[[-y,-a],[y,-a],[y,a],[-y,a]].map(([b,m])=>[e.seat.x+b*c-m*u,e.seat.y+b*u+m*c]),l=[[t,n],[o,n],[o,r],[t,r]],p=[[1,0],[0,1],[c,u],[-u,c]];for(let[b,m]of p){let d=1/0,h=-1/0;for(let[M,P]of f){let S=M*b+P*m;S<d&&(d=S),S>h&&(h=S)}let g=1/0,x=-1/0;for(let[M,P]of l){let S=M*b+P*m;S<g&&(g=S),S>x&&(x=S)}if(h<g||x<d)return!1}return!0}function Kt(e,t={}){let n=t.seatRadius??Ge,o=e.length,r=new Array(o),i=1/0,s=1/0,c=-1/0,u=-1/0,y=0;for(let S=0;S<o;S++){let w=e[S],E=t.shapeOf?.(w)??{kind:"circle",r:n},{hx:C,hy:I}=Gt(E);r[S]={seat:w,shape:E,hx:C,hy:I},w.x-C<i&&(i=w.x-C),w.y-I<s&&(s=w.y-I),w.x+C>c&&(c=w.x+C),w.y+I>u&&(u=w.y+I),C>y&&(y=C),I>y&&(y=I)}o===0&&(i=0,s=0,c=0,u=0);let a=y>0?y*4:1,f=Math.max(c-i,0),l=Math.max(u-s,0),p=Math.max(64,t.maxCells??o*4),b=a,m=Math.max(1,Math.ceil(f/b)||1),d=Math.max(1,Math.ceil(l/b)||1);for(;m*d>p&&(m>1||d>1);)b*=2,m=Math.max(1,Math.ceil(f/b)||1),d=Math.max(1,Math.ceil(l/b)||1);let h=m*d,g=new Int32Array(h+1),x=0;for(let S=0;S<o;S++){let w=r[S],E=k(Math.floor((w.seat.x-w.hx-i)/b),0,m-1),C=k(Math.floor((w.seat.x+w.hx-i)/b),0,m-1),I=k(Math.floor((w.seat.y-w.hy-s)/b),0,d-1),A=k(Math.floor((w.seat.y+w.hy-s)/b),0,d-1);for(let v=I;v<=A;v++)for(let O=E;O<=C;O++)g[v*m+O+1]++,x++}for(let S=0;S<h;S++)g[S+1]+=g[S];let M=new Int32Array(x),P=g.slice(0,h);for(let S=0;S<o;S++){let w=r[S],E=k(Math.floor((w.seat.x-w.hx-i)/b),0,m-1),C=k(Math.floor((w.seat.x+w.hx-i)/b),0,m-1),I=k(Math.floor((w.seat.y-w.hy-s)/b),0,d-1),A=k(Math.floor((w.seat.y+w.hy-s)/b),0,d-1);for(let v=I;v<=A;v++)for(let O=E;O<=C;O++){let R=v*m+O;M[P[R]++]=S}}return{seats:e,entries:r,minX:i,minY:s,cell:b,cols:m,rows:d,cellStart:g,items:M,stamp:new Int32Array(o),epoch:0}}function $t(e,t,n={}){let{cols:o,rows:r,cell:i,minX:s,minY:c,cellStart:u,items:y,entries:a}=e,f=Math.floor((t.x-s)/i),l=Math.floor((t.y-c)/i);if(f<0||l<0||f>=o||l>=r)return null;let p=l*o+f,b=u[p+1],m=-1,d=1/0;for(let h=u[p];h<b;h++){let g=y[h],x=a[g];if(n.filter&&!n.filter(x.seat.id,x.seat)||!zt(x,t.x,t.y))continue;let M=t.x-x.seat.x,P=t.y-x.seat.y,S=M*M+P*P;(S<d||S===d&&g<m)&&(d=S,m=g)}return m<0?null:a[m].seat.id}function Wt(e,t,n,o={}){if(!(n>0))return null;let{cols:r,rows:i,cell:s,minX:c,minY:u,cellStart:y,items:a,entries:f}=e,l=Math.max(0,Math.floor((t.x-n-c)/s)),p=Math.min(r-1,Math.floor((t.x+n-c)/s)),b=Math.max(0,Math.floor((t.y-n-u)/s)),m=Math.min(i-1,Math.floor((t.y+n-u)/s));if(l>p||b>m)return null;let d=-1,h=n*n,g=e.stamp,x=++e.epoch;for(let M=b;M<=m;M++){let P=M*r;for(let S=l;S<=p;S++){let w=P+S,E=y[w+1];for(let C=y[w];C<E;C++){let I=a[C];if(g[I]===x)continue;g[I]=x;let A=f[I];if(o.filter&&!o.filter(A.seat.id,A.seat))continue;let v=t.x-A.seat.x,O=t.y-A.seat.y,R=v*v+O*O;(R<h||R===h&&I<d)&&(h=R,d=I)}}}return d<0?null:f[d].seat.id}function Vt(e,t,n={}){let o=Math.min(t.x,t.x+t.width),r=Math.max(t.x,t.x+t.width),i=Math.min(t.y,t.y+t.height),s=Math.max(t.y,t.y+t.height),c=n.mode??"center",{cols:u,rows:y,cell:a,minX:f,minY:l,cellStart:p,items:b,entries:m}=e,d=Math.max(0,Math.floor((o-f)/a)),h=Math.min(u-1,Math.floor((r-f)/a)),g=Math.max(0,Math.floor((i-l)/a)),x=Math.min(y-1,Math.floor((s-l)/a));if(d>h||g>x)return[];let M=[],P=e.stamp,S=++e.epoch;for(let w=g;w<=x;w++){let E=w*u;for(let C=d;C<=h;C++){let I=E+C,A=p[I+1];for(let v=p[I];v<A;v++){let O=b[v];if(P[O]===S)continue;P[O]=S;let R=m[O];if(n.filter&&!n.filter(R.seat.id,R.seat))continue;(c==="center"?R.seat.x>=o&&R.seat.x<=r&&R.seat.y>=i&&R.seat.y<=s:Yt(R,o,i,r,s))&&M.push(O)}}}return M.sort((w,E)=>w-E),M.map(w=>m[w].seat.id)}function qt(e){let t=e.cols*e.rows,n=0,o=0;for(let i=0;i<t;i++){let s=e.cellStart[i+1]-e.cellStart[i];s>0&&n++,s>o&&(o=s)}let r=e.items.length;return{cell:e.cell,cols:e.cols,rows:e.rows,cells:t,occupiedCells:n,refs:r,maxPerCell:o,meanPerOccupiedCell:n?r/n:0}}0&&(module.exports={DEFAULT_SEAT_RADIUS,TEXT_BACKGROUND_PADDING_MAX,TEXT_BACKGROUND_RADIUS_MAX,TEXT_LETTER_SPACING_MAX,TEXT_LETTER_SPACING_MIN,TEXT_LINE_HEIGHT_MAX,TEXT_LINE_HEIGHT_MIN,TEXT_OPACITY_MIN,TEXT_WIDTH_MAX,TEXT_WIDTH_MIN,allObjects,applyAffine,buildAisleHoles,buildSeatIndex,buildSectionShell,chartBounds,composeAffine,createPerspectiveCamera,cubicPoint,decomposeAffineLinear,distanceToRings,distributeAlongCubic,expandBooth,expandChart,expandRow,expandRowSlots,expandTable,expandTableSlots,floorObjects,floorOverviewTranslations,floorsOf,gridStats,hitTest,invertAffine,layoutFloorOverview,nearestWithin,objectCenter,owningSectionForObject,perspectiveTangentAffine,pointInPolygon,pointInPolygonWithHoles,polygonArea,polygonInscribedAnchor,polygonLabelPoint,polygonNetArea,projectPerspectivePoint,queryRect,resolveSegmentedRowGroups,rowInventoryCount,rowSeatPositions,segmentedRowComponentSeats,segmentedRowComponents,segmentedRowSeatTotal,smoothCubicThroughMiddle,stackFloors,tableInventoryCount,tableSeatCountsBySide,textLayoutMetrics,translateObject});
1
+ "use strict";var V=Object.defineProperty;var $e=Object.getOwnPropertyDescriptor;var We=Object.getOwnPropertyNames;var Ve=Object.prototype.hasOwnProperty;var qe=(e,t)=>{for(var n in t)V(e,n,{get:t[n],enumerable:!0})},Qe=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of We(t))!Ve.call(e,r)&&r!==n&&V(e,r,{get:()=>t[r],enumerable:!(o=$e(t,r))||o.enumerable});return e};var Ze=e=>Qe(V({},"__esModule",{value:!0}),e);var en={};qe(en,{DEFAULT_SEAT_RADIUS:()=>Ye,TEXT_BACKGROUND_PADDING_MAX:()=>mn,TEXT_BACKGROUND_RADIUS_MAX:()=>yn,TEXT_LETTER_SPACING_MAX:()=>dn,TEXT_LETTER_SPACING_MIN:()=>fn,TEXT_LINE_HEIGHT_MAX:()=>un,TEXT_LINE_HEIGHT_MIN:()=>ln,TEXT_OPACITY_MIN:()=>hn,TEXT_WIDTH_MAX:()=>an,TEXT_WIDTH_MIN:()=>cn,allObjects:()=>Be,applyAffine:()=>Xt,buildAisleHoles:()=>tt,buildSeatIndex:()=>Vt,buildSectionShell:()=>et,chartBounds:()=>ze,composeAffine:()=>Gt,createPerspectiveCamera:()=>Ut,cubicPoint:()=>X,decomposeAffineLinear:()=>Yt,distanceToRings:()=>Se,distributeAlongCubic:()=>q,expandBooth:()=>Fe,expandChart:()=>Ht,expandRow:()=>de,expandRowSlots:()=>je,expandTable:()=>Ne,expandTableSlots:()=>he,floorObjects:()=>Dt,floorOverviewTranslations:()=>Ge,floorsOf:()=>Xe,gridStats:()=>Jt,hitTest:()=>qt,invertAffine:()=>Bt,layoutFloorOverview:()=>Ft,nearestWithin:()=>Qt,objectCenter:()=>He,owningSectionForObject:()=>Ue,perspectiveTangentAffine:()=>zt,pointInPolygon:()=>ue,pointInPolygonWithHoles:()=>$,polygonArea:()=>J,polygonInscribedAnchor:()=>ee,polygonLabelPoint:()=>Lt,polygonNetArea:()=>it,projectPerspectivePoint:()=>W,queryRect:()=>Zt,resolveSegmentedRowGroups:()=>te,rowInventoryCount:()=>Tt,rowSeatPositions:()=>fe,segmentedRowComponentSeats:()=>at,segmentedRowComponents:()=>ct,segmentedRowSeatTotal:()=>lt,smoothCubicThroughMiddle:()=>Je,stackFloors:()=>Nt,tableInventoryCount:()=>_t,tableSeatCountsBySide:()=>De,textLayoutMetrics:()=>Q,translateObject:()=>me});module.exports=Ze(en);var nn=Math.PI/180;function D(e,t){return Math.hypot(e.x-t.x,e.y-t.y)}function j(e,t,n){return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}}function X(e,t){let n=1-t,o=n*n*n,r=3*n*n*t,i=3*n*t*t,s=t*t*t;return{x:o*e.start.x+r*e.control1.x+i*e.control2.x+s*e.end.x,y:o*e.start.y+r*e.control1.y+i*e.control2.y+s*e.end.y}}function Je(e,t,n){let o={x:(e.x+t.x)/2,y:(e.y+t.y)/2},r={x:(n.x-o.x)*4/3,y:(n.y-o.y)*4/3};return{start:{...e},control1:{x:e.x+(t.x-e.x)/3+r.x,y:e.y+(t.y-e.y)/3+r.y},control2:{x:e.x+(t.x-e.x)*2/3+r.x,y:e.y+(t.y-e.y)*2/3+r.y},end:{...t}}}function q(e,t,n=192){if(!Number.isInteger(t)||t<1)throw new Error("Path point count must be a positive integer");if(t===1)return[X(e,.5)];let o=Array.from({length:n+1},(u,y)=>X(e,y/n)),r=new Float64Array(o.length);for(let u=1;u<o.length;u+=1){let y=o[u].x-o[u-1].x,a=o[u].y-o[u-1].y;r[u]=r[u-1]+Math.hypot(y,a)}let i=r[r.length-1];if(i<=1e-9)return Array.from({length:t},()=>({...e.start}));let s=[],c=1;for(let u=0;u<t;u+=1){let y=i*u/(t-1);for(;c<r.length-1&&r[c]<y;)c+=1;let a=r[c-1],f=r[c],l=f===a?0:(y-a)/(f-a);s.push({x:o[c-1].x+(o[c].x-o[c-1].x)*l,y:o[c-1].y+(o[c].y-o[c-1].y)*l})}return s}function _(e,t){return{x:e.x+t.x,y:e.y+t.y}}function H(e,t){return{x:e.x-t.x,y:e.y-t.y}}function k(e,t){return{x:e.x*t,y:e.y*t}}function B(e,t=13){return Array.from({length:t},(n,o)=>X(e,o/(t-1)))}function ye(e,t){let n=Math.max(0,Math.min(1,t))*(e.length-1),o=Math.min(e.length-2,Math.floor(n));return j(e[o],e[o+1],n-o)}function xe(e,t,n){let o=Math.max(0,Math.min(1,t)),r=Math.max(o,Math.min(1,n)),i=[ye(e,o)];for(let s=1;s<e.length-1;s+=1){let c=s/(e.length-1);c>o+1e-9&&c<r-1e-9&&i.push(e[s])}return i.push(ye(e,r)),i}function pe(e,t){let n=[[0,1],[1,2],[2,3],[3,0]],o=0,r=Number.POSITIVE_INFINITY;n.forEach(([l,p],b)=>{let m=D(j(e[l],e[p],.5),t);m<r&&(r=m,o=b)});let i=e[o],s=e[(o+1)%4],c=e[(o+2)%4],u=e[(o+3)%4],y=j(i,s,.5),a=H(t,y),f=Math.max(1e-9,Math.hypot(a.x,a.y));return{p0:i,p1:s,p2:c,p3:u,normal:k(a,1/f),depth:(D(i,u)+D(s,c))/2}}function be(e){let{p0:t,p1:n,p2:o,p3:r,normal:i,depth:s}=e,c=H(n,t),u=H(o,r),y=s*.22,a=s*.12;return{nearPath:{start:t,control1:_(_(t,k(c,1/3)),k(i,y)),control2:_(_(t,k(c,2/3)),k(i,y)),end:n},farPath:{start:o,control1:_(_(r,k(u,2/3)),k(i,a)),control2:_(_(r,k(u,1/3)),k(i,a)),end:r}}}function et(e,t,n){if(e.length!==4)throw new Error("A section shell requires four mapped bounds corners");let o=e.reduce((b,m)=>_(b,m),{x:0,y:0});o.x/=4,o.y/=4;let r=D(e[0],e[1]),i=D(e[0],e[3]),s=n==="auto"?r>i*1.25&&D(o,t)>i?"bezier":"tapered":n;if(s==="rectangle")return{mode:s,outline:e.map(b=>({...b}))};let c=pe(e,t),{p0:u,p1:y,p2:a,p3:f}=c;if(s==="tapered")return{mode:s,outline:[_(u,k(H(y,u),.14)),_(u,k(H(y,u),1-.14)),a,f]};let{nearPath:l,farPath:p}=be(c);return{mode:s,outline:[...B(l),...B(p).slice(1)]}}function tt(e,t,n,o){if(e.length!==4)throw new Error("Aisle generation requires four mapped bounds corners");if(!Number.isInteger(n)||n<0||n>3)throw new Error("Aisle count must be an integer from 0 to 3");if(n===0)return[];let r=pe(e,t),{p0:i,p1:s,p2:c,p3:u}=r,y=o==="bezier"?be(r):null,a=y?B(y.nearPath):null,f=y?B(y.farPath).reverse():null,l=Math.min(.055,.18/(n+1));return Array.from({length:n},(p,b)=>{let m=(b+1)/(n+1),d=m-l/2,h=m+l/2;return a&&f?[...xe(a,d,h),...xe(f,d,h).reverse()]:[j(i,s,d),j(i,s,h),j(u,c,h),j(u,c,d)]})}var cn=40,an=1200,ln=.8,un=3,fn=-2,dn=20,hn=.1,mn=40,yn=40,ge=e=>Math.max(1,e.fontSize*.6+(e.letterSpacing??0));function nt(e,t){let n=e.text.split(/\r?\n/);if(!e.width)return Math.max(1,n.length);let o=Math.max(1,Math.floor(t/ge(e))),r=0;for(let i of n){if(!i.length){r+=1;continue}let s=0;for(let c of i.split(/\s+/)){let u=c.length;s&&s+1+u<=o?s+=1+u:(r+=Math.max(1,Math.ceil(u/o)),s=u%o)}}return Math.max(1,r)}function Q(e){let t=e.background?.padding??0,n=e.text.split(/\r?\n/),o=Math.max(1,...n.map(c=>c.length))*ge(e),r=e.width??o+t*2,i=Math.max(1,r-t*2),s=nt(e,i);return{width:r,height:s*e.fontSize*(e.lineHeight??1.2)+t*2,lineCount:s,padding:t}}function ot(e,t,n){let o=n.x-t.x,r=n.y-t.y,i=o*o+r*r,s=i?Math.max(0,Math.min(1,((e.x-t.x)*o+(e.y-t.y)*r)/i)):0;return Math.hypot(e.x-(t.x+s*o),e.y-(t.y+s*r))}function Se(e,t){let n=1/0;for(let o of t)if(!(o.length<2))for(let r=0,i=o.length-1;r<o.length;i=r++){let s=ot(e,o[i],o[r]);s<n&&(n=s)}return n}function Me(e,t){let n=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){let i=t[o].x,s=t[o].y,c=t[r].x,u=t[r].y;s>e.y!=u>e.y&&e.x<(c-i)*(e.y-s)/(u-s)+i&&(n=!n)}return n}function rt(e,t,n){let o=Me(e,t)&&!n.some(i=>Me(e,i)),r=Se(e,[t,...n]);return o?r:-r}function N(e,t,n,o,r){let i=rt({x:e,y:t},o,r);return{x:e,y:t,h:n,d:i,max:i+n*Math.SQRT2}}var Z=class{constructor(){this.items=[]}get size(){return this.items.length}push(t){let n=this.items;n.push(t);let o=n.length-1;for(;o>0;){let r=o-1>>1;if(n[r].max>=n[o].max)break;[n[r],n[o]]=[n[o],n[r]],o=r}}pop(){let t=this.items,n=t[0],o=t.pop();if(t.length&&o){t[0]=o;let r=0;for(;;){let i=r*2+1,s=i+1,c=r;if(i<t.length&&t[i].max>t[c].max&&(c=i),s<t.length&&t[s].max>t[c].max&&(c=s),c===r)break;[t[c],t[r]]=[t[r],t[c]],r=c}}return n}};function J(e){if(e.length<3)return 0;let t=0;for(let n=0,o=e.length-1;n<e.length;o=n++)t+=(e[o].x+e[n].x)*(e[o].y-e[n].y);return Math.abs(t)/2}function it(e,t){return Math.max(0,J(e)-(t??[]).reduce((n,o)=>n+J(o),0))}function ee(e,t){let n=t??[];if(!e.length)return{point:{x:0,y:0},radius:0};if(e.length<3){let m=e.reduce((h,g)=>h+g.x,0)/e.length,d=e.reduce((h,g)=>h+g.y,0)/e.length;return{point:{x:m,y:d},radius:0}}let o=1/0,r=1/0,i=-1/0,s=-1/0;for(let m of e)m.x<o&&(o=m.x),m.y<r&&(r=m.y),m.x>i&&(i=m.x),m.y>s&&(s=m.y);let c=i-o,u=s-r,y=Math.min(c,u);if(!(y>0))return{point:{x:(o+i)/2,y:(r+s)/2},radius:0};let a=Math.max(c,u)/150,f=new Z,l=y/2;for(let m=o;m<i;m+=y)for(let d=r;d<s;d+=y)f.push(N(m+l,d+l,l,e,n));let p=N(o+c/2,r+u/2,0,e,n),b=0;for(;f.size;){let m=f.pop();if(!m)break;m.d>p.d&&(p=m),!(m.max-p.d<=a)&&(b>=4e3||(b+=1,l=m.h/2,f.push(N(m.x-l,m.y-l,l,e,n)),f.push(N(m.x+l,m.y-l,l,e,n)),f.push(N(m.x-l,m.y+l,l,e,n)),f.push(N(m.x+l,m.y+l,l,e,n))))}return{point:{x:p.x,y:p.y},radius:Math.max(0,p.d)}}function L(e,t,n){return e<t?t:e>n?n:e}var gn=Math.PI*2;function we(e,t,n){return st(e,r=>({x:r.x+t,y:r.y+n}))}function st(e,t,n=1,o=!1){return{...e,start:t(e.start),segments:e.segments.map(r=>r.kind==="line"?{...r,end:t(r.end)}:r.kind==="arc"?{...r,center:t(r.center),radius:r.radius*Math.abs(n),clockwise:o?!r.clockwise:r.clockwise,end:t(r.end)}:{...r,control1:t(r.control1),control2:t(r.control2),end:t(r.end)})}}var Mn=4/3;function ct(e,t,n){let o=[];for(let r=0;r<e.length-1;r+=1){let i=e[r],s=e[r+1],c=Math.hypot(s.x-i.x,s.y-i.y);if(c<=0)continue;let u=Math.max(1,Math.round(c/n)),y=c/u,a=Math.atan2(s.y-i.y,s.x-i.x),f=r===0,p=(r>0?t[r-1]:void 0)==="break"?2:1,b=f?{...i}:{x:i.x+Math.cos(a)*y*p,y:i.y+Math.sin(a)*y*p},m=f?u+1:Math.max(1,u-(p-1));o.push({origin:b,rotation:a*180/Math.PI,seatCount:m,seatSpacing:y})}return o}function at(e){let t=e.rotation*Math.PI/180,n={x:Math.cos(t),y:Math.sin(t)};return Array.from({length:e.seatCount},(o,r)=>({x:e.origin.x+n.x*r*e.seatSpacing,y:e.origin.y+n.y*r*e.seatSpacing}))}function lt(e){return e.reduce((t,n)=>t+n.seatCount,0)}function te(e){let t=new Map,n=new Map;for(let o of e){if(o.type!=="row"||!o.segmentedRow)continue;let r=n.get(o.segmentedRow.groupId)??[];r.push(o),n.set(o.segmentedRow.groupId,r)}for(let[o,r]of n){let i=r.slice().sort((l,p)=>l.segmentedRow.componentIndex-p.segmentedRow.componentIndex),s=i[0]?.segmentedRow?.componentCount??0,c=i[0]?.segmentedRow;if(!c||!(s>=2&&i.length===s&&c?.boundaryBefore==="start"&&i.every((l,p)=>l.segmentedRow?.kind==="segmented-row-v1"&&l.segmentedRow.groupId===o&&l.segmentedRow.componentCount===s&&l.segmentedRow.componentIndex===p&&l.segmentedRow.repeatLabelOnComponents===c.repeatLabelOnComponents&&(p===0?l.segmentedRow.boundaryBefore==="start":l.segmentedRow.boundaryBefore!=="start")&&l.segmentedRow.displayLabel===c.displayLabel)))continue;let y=i.reduce((l,p)=>l+p.seatCount,0),a=0,f=0;for(let l of i)l.segmentedRow.boundaryBefore==="break"&&(a+=1),t.set(l.id,{groupId:o,adjacencyOffset:a,displayOffset:f,displayLabel:c.displayLabel,totalSeats:y,canonical:i[0],viewFromSeatUrl:c.viewFromSeatUrl,viewFromSeatMeta:c.viewFromSeatMeta,confidenceEvidence:c.confidenceEvidence}),a+=l.seatCount,f+=l.seatCount}return t}var ut="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var ft="abcdefghijklmnopqrstuvwxyz";function dt(e,t){let n=t.length,o=e+1,r="";for(;o>0;){o-=1;let i=o%n;r=t[i]+r,o=Math.floor(o/n)}return r}function ne(e,t=!1){let n=t?ft:ut;return dt(Math.max(0,Math.floor(e)-1),n)}var ht=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];function Pe(e){if(!Number.isFinite(e)||e<=0)return String(e);let t=Math.floor(e),n="";for(let[o,r]of ht)for(;t>=o;)n+=r,t-=o;return n}function mt(e){let t=new Array(e);return Array.from({length:e},(n,o)=>o).sort((n,o)=>Math.abs(2*n-(e-1))-Math.abs(2*o-(e-1))||n-o).forEach((n,o)=>t[n]=o),t}function oe(e,t){let n=e.seatLabelStart??1,o=e.seatNumbering?.direction??"ltr",r=e.seatNumbering?.step??1,i=e.seatNumbering?.scheme??"decimal",s=e.seatNumbering?.prefix??"",c=e.seatNumbering?.endAt,u=e.seatCount;if(i==="updown"||i==="updown-descending"){let p=Math.ceil(u/2),b=i==="updown"?t<p?n+2*t:n-1+2*(u-t):t<p?n+2*(p-1-t):n+1+2*(t-p);return`${s}${b}`}let y=i==="odd"||i==="even"?2:r,a=c!=null&&Number.isFinite(c)?c-(u-1)*y:n,f=o==="center"?mt(u)[t]:o==="rtl"?u-1-t:t,l;switch(i){case"odd":{let p=a%2===1?a:a+1;l=String(p+f*2);break}case"even":{let p=a%2===0?a:a+1;l=String(p+f*2);break}case"roman":l=Pe(a+f*r);break;case"letters-upper":l=ne(a+f*r,!1);break;case"letters-lower":l=ne(a+f*r,!0);break;default:l=String(a+f*r);break}return`${s}${l}`}function yt(e){return{...e.canonical,seatCount:e.totalSeats,label:e.displayLabel,displayLabel:e.displayLabel}}function ve(e,t,n){return n?.label??`${e.label}-${oe(e,t)}`}function re(e,t,n,o){if(o?.displayLabel)return o.displayLabel;if(!n)return`${e.displayLabel??e.label}-${oe(e,t)}`;let r=yt(n),i=n.displayOffset+t;return`${n.displayLabel}-${oe(r,i)}`}var G=.02291666666666667,Cn=1/G,xt=58,pt=xt*G;var bt=3,Ie=0,ie=120,gt=0,Mt=45,St=7,z=1.2;function se(e,t,n,o){return Number.isFinite(e)?Math.max(t,Math.min(n,e)):o}function wt(e){return!Number.isFinite(e)||!Number.isInteger(e)||e<0?0:e<=St?e:bt}function Ce(e,t={}){let n=se(t.floorBaseHeightM,Ie,ie,0),o=Math.min(ie,n+wt(e.elevation)*pt),r=e.height===void 0?o:se(e.height,Ie,ie,o),i=se(e.rake,gt,Mt,0);return{height:r,rake:i}}function Ee(e){let t=e.length;return t<=3?[...e]:[e[Math.floor(t*.25)],e[Math.floor(t*.5)],e[Math.floor(t*.75)]]}function Oe(e,t,n){if(!e.length)return 1/0;if(e.length===1)return Math.hypot(t-e[0].x,n-e[0].y);let o=1/0;for(let r=0;r+1<e.length;r++){let i=e[r],s=e[r+1],c=s.x-i.x,u=s.y-i.y,y=c*c+u*u,a=y>1e-12?((t-i.x)*c+(n-i.y)*u)/y:0;a<0?a=0:a>1&&(a=1);let f=Math.hypot(t-(i.x+a*c),n-(i.y+a*u));f<o&&(o=f)}return o}function Pt(e){let t=0,n=0;for(let i of e)t+=i.x,n+=i.y;let o=e.length||1;t/=o,n/=o;let r=0;for(let i of e){let s=Math.hypot(i.x-t,i.y-n);s>r&&(r=s)}return{cx:t,cy:n,r}}function Re(e,t){return Math.hypot(e.cx-t.cx,e.cy-t.cy)-e.r-t.r}function ce(e,t){let n=1/0;for(let o of Ee(e)){let r=Oe(t,o.x,o.y);r<n&&(n=r)}for(let o of Ee(t)){let r=Oe(e,o.x,o.y);r<n&&(n=r)}return n}function vt(e,t){if(e.length<3)return{pts:e,seatIndices:t};let n=0,o=0;for(let a of e)n+=a.x,o+=a.y;n/=e.length,o/=e.length;let r=-1,i=e[0];for(let a of e){let f=Math.hypot(a.x-n,a.y-o);f>r&&(r=f,i=a)}let s=i.x-n,c=i.y-o,u=Math.hypot(s,c);u>1e-9?(s/=u,c/=u):(s=1,c=0);let y=e.map((a,f)=>({p:a,i:f,t:(a.x-n)*s+(a.y-o)*c})).sort((a,f)=>a.t-f.t);return{pts:y.map(a=>a.p),seatIndices:y.map(a=>t[a.i])}}function It(e){let t=e.length;if(t<3)return null;let n=0,o=0;for(let g of e)n+=g.x,o+=g.y;n/=t,o/=t;let r=0,i=0,s=0,c=0,u=0,y=0,a=0;for(let g of e){let x=g.x-n,M=g.y-o;r+=x*x,s+=M*M,i+=x*M,c+=x*x*x,u+=M*M*M,y+=x*M*M,a+=M*x*x}let f=r*s-i*i;if(Math.abs(f)<1e-9)return null;let l=(c+y)/2,p=(u+a)/2,b=(l*s-p*i)/f,m=(p*r-l*i)/f,d=b+n,h=m+o;return!Number.isFinite(d)||!Number.isFinite(h)?null:{cx:d,cy:h}}var Ct=.15;function Et(e){if(e.length<2)return null;let t=e.map(g=>{let x=0,M=0;for(let P of g.pts)x+=P.x,M+=P.y;return{x:x/g.pts.length,y:M/g.pts.length}}),n=0,o=0;for(let g of t)n+=g.x,o+=g.y;n/=t.length,o/=t.length;let r=0,i=0,s=0;for(let g of t){let x=g.x-n,M=g.y-o;r+=x*x,i+=x*M,s+=M*M}let c=r+s,u=r*s-i*i,y=c/2+Math.sqrt(Math.max(0,c*c/4-u)),a,f;Math.abs(i)>1e-12?(a=y-s,f=i):r>=s?(a=1,f=0):(a=0,f=1);let l=Math.hypot(a,f);if(!(l>1e-12))return null;a/=l,f/=l;let p=1/0,b=-1/0,m=[];for(let g of e){let x=1/0,M=-1/0;for(let P of g.pts){let S=P.x*a+P.y*f;S<x&&(x=S),S>M&&(M=S),S<p&&(p=S),S>b&&(b=S)}m.push(M-x)}let d=b-p;return d>1e-9?(m.sort((g,x)=>g-x),m[Math.min(m.length-1,Math.floor(m.length*.9))]/d<=Ot?{x:a,y:f}:null):null}var Ot=.35;function Ae(e,t,n,o){let r=new Map;for(let d of n){let h=t[d],g=h.rowId||`__seat-${d}`,x=r.get(g);x||(x={pts:[],idx:[]},r.set(g,x)),x.pts.push({x:h.x,y:h.y}),x.idx.push(d)}if(!r.size)return{sectionId:e,rows:[],blockCount:0};let i=[];for(let[d,h]of r){let g=vt(h.pts,h.idx),x=0;for(let M of g.pts)x+=Math.hypot(M.x-o.x,M.y-o.y);i.push({id:d,pts:g.pts,seatIndices:g.seatIndices,blockId:-1,ordinal:0,blockDepth:0,focalDistance:x/g.pts.length})}let s=i.map(d=>Pt(d.pts)),c=[];for(let d=0;d<i.length;d++){let h=1/0;for(let g=0;g<i.length;g++){if(d===g||Re(s[d],s[g])>=h)continue;let x=ce(i[d].pts,i[g].pts);x<h&&(h=x)}Number.isFinite(h)&&c.push(h)}c.sort((d,h)=>d-h);let u=c.length?c[Math.floor(c.length/2)]:1,y=Math.max(u*1.8,1e-6),a=i.map(()=>[]);for(let d=0;d<i.length;d++)for(let h=d+1;h<i.length;h++)Re(s[d],s[h])>y||ce(i[d].pts,i[h].pts)<=y&&(a[d].push(h),a[h].push(d));let f=0;for(let d=0;d<i.length;d++){if(i[d].blockId!==-1)continue;let h=f++,g=[d];for(i[d].blockId=h;g.length;){let x=g.pop();for(let M of a[x])i[M].blockId===-1&&(i[M].blockId=h,g.push(M))}}let l=new Map;for(let d of i){let h=l.get(d.blockId)??[];h.push(d),l.set(d.blockId,h)}let p=[];for(let d of i){if(d.pts.length<4)continue;let h=It(d.pts);h&&(!Number.isFinite(h.cx)||!Number.isFinite(h.cy)||p.push({x:h.cx,y:h.cy}))}let b=p.length>=2?(()=>{let d=p.map(x=>x.x).sort((x,M)=>x-M),h=p.map(x=>x.y).sort((x,M)=>x-M),g=Math.floor(p.length/2);return{cx:d[g],cy:h[g]}})():null;if(b){let d=S=>Math.hypot(S.x-b.cx,S.y-b.cy),h=1/0,g=-1/0,x=[];for(let S of i){let w=1/0,C=-1/0;for(let E of S.pts){let v=d(E);v<w&&(w=v),v>C&&(C=v)}x.push(C-w),w<h&&(h=w),C>g&&(g=C)}let M=g-h;x.sort((S,w)=>S-w);let P=x[Math.min(x.length-1,Math.floor(x.length*.9))];if(M>1e-9&&P/M<=Ct){let S=i.map(I=>{let U=0;for(let Ke of I.pts)U+=d(Ke);return{row:I,radius:U/I.pts.length}}),w=S[0],C=S[0];for(let I of S)I.radius<w.radius&&(w=I),I.radius>C.radius&&(C=I);if(w.row.focalDistance>C.row.focalDistance)for(let I of S)I.radius=-I.radius;let v=1/0;for(let I of S)I.radius<v&&(v=I.radius);S.sort((I,U)=>I.radius-U.radius);let T=-1,O=-1/0,R=M/Math.max(1,S.length)*.5,A=[];for(let I of S)I.radius-O>R&&(T++,O=I.radius),I.row.ordinal=T,I.row.blockDepth=I.radius-v,A.push(I.row);return{sectionId:e,rows:A,blockCount:f}}}let m=[];for(let[,d]of l){let h=Et(d);if(h){let g=M=>{let P=0;for(let S of M.pts)P+=S.x*h.x+S.y*h.y;return P/M.pts.length};d.sort((M,P)=>g(M)-g(P)),d.length>=2&&d[0].focalDistance>d[d.length-1].focalDistance&&d.reverse();let x=0;for(let M=0;M<d.length;M++)M>0&&(x+=ce(d[M-1].pts,d[M].pts)),d[M].ordinal=M,d[M].blockDepth=x,m.push(d[M])}else{let g=1/0;for(let x of d)x.focalDistance<g&&(g=x.focalDistance);d.sort((x,M)=>x.focalDistance-M.focalDistance);for(let x=0;x<d.length;x++)d[x].ordinal=x,d[x].blockDepth=Math.max(0,d[x].focalDistance-g),m.push(d[x])}}return{sectionId:e,rows:m,blockCount:f}}function Le(e){return e?e.accessibility&&e.accessibility.length?e.wheelchairSpaceType&&!e.accessibility.includes("wheelchair")?["wheelchair",...e.accessibility]:e.accessibility:e.wheelchairSpaceType?["wheelchair"]:e.accessible?["wheelchair"]:[]:[]}var K=Math.PI/180,Rt=9,F=16;function le(e,t,n,o){let r=n*K,i=Math.cos(r),s=Math.sin(r);return{x:o.x+e*i-t*s,y:o.y+e*s+t*i}}function fe(e){let{seatCount:t,seatSpacing:n,curve:o,rotation:r,origin:i}=e,s=[];if(e.path)return q(e.path,t);if(t<=1)return t===1&&s.push({x:i.x,y:i.y}),s;if(o===0){for(let y=0;y<t;y++)s.push(le(y*n,0,r,i));return s}let c=o/(t-1)*K,u=n/(2*Math.sin(Math.abs(c)/2));for(let y=0;y<t;y++){let a=y*c,f=u*Math.sin(a),l=-u+u*Math.cos(a);s.push(le(f,l,r,i))}return s}function At(e){let t=new Map;if(e.overrides)for(let n of e.overrides)t.set(n.index,n);return t}function Tt(e){let t=new Set((e.overrides??[]).filter(n=>n.skip&&Number.isInteger(n.index)&&n.index>=0&&n.index<e.seatCount).map(n=>n.index));return Math.max(0,e.seatCount-t.size)}function je(e,t){let n=At(e);return fe(e).map((o,r)=>{let i=n.get(r),s=Le(i),c=ve(e,r,i),u={...e.commercial,...i?.commercial};return{index:r,x:o.x+(i?.dx??0),y:o.y+(i?.dy??0),label:c,displayLabel:re(e,r,t,i),categoryKey:i?.categoryKey??e.categoryKey,skipped:!!i?.skip,accessible:s.length>0,accessibility:s,wheelchairSpaceType:i?.wheelchairSpaceType,commercial:Object.values(u).some(y=>y!==void 0&&y!==!1&&y!=="")?u:void 0,viewUrl:i?.viewFromSeatUrl??e.viewFromSeatUrl,viewMeta:i?.viewFromSeatUrl?i.viewFromSeatMeta:e.viewFromSeatMeta,labelStyle:i?.labelStyle}})}function de(e){let t=[];for(let n of je(e))n.skipped||t.push({id:`${e.id}:${n.index}`,label:n.label,displayLabel:n.displayLabel===n.label?void 0:n.displayLabel,x:n.x,y:n.y,rowId:e.id,categoryKey:n.categoryKey,accessible:n.accessible||void 0,accessibility:n.accessibility.length?n.accessibility:void 0,wheelchairSpaceType:n.wheelchairSpaceType,commercial:n.commercial,viewUrl:n.viewUrl,viewMeta:n.viewMeta,labelStyle:n.labelStyle});return t}function De(e){if(e.seatCountsBySide)return{...e.seatCountsBySide};let t=e.sides&&e.sides.length?e.sides:["top","bottom"],n=["top","bottom","left","right"].filter(i=>t.includes(i)),o={top:0,bottom:0,left:0,right:0};if(!n.length)return o;let r=Math.max(0,Math.round(e.seatCount));for(let i=0;i<r;i++)o[n[i%n.length]]+=1;return o}function he(e){let t=[],n=Math.max(0,Math.round(e.seatCount));if(n===0)return t;let o=new Map((e.overrides??[]).map(a=>[a.index,a])),r=(a,f,l,p)=>{let b=o.get(a),m=Le(b),d=b?.label??`${e.label}-${a+1}`,h=e.displayLabel??e.label;return{index:a,label:d,displayLabel:b?.displayLabel??`${h}-${a+1}`,x:f+(b?.dx??0),y:l+(b?.dy??0),categoryKey:b?.categoryKey??e.categoryKey,skipped:!!b?.skip,accessible:m.length>0,accessibility:m,wheelchairSpaceType:b?.wheelchairSpaceType,commercial:b?.commercial,viewUrl:b?.viewFromSeatUrl,viewMeta:b?.viewFromSeatUrl?b.viewFromSeatMeta:void 0,labelStyle:b?.labelStyle,...p?{side:p}:{}}};if(e.shape==="round"){let a=(e.radius??40)+F,f=e.rotation*K,l=Math.max(0,Math.min(360,e.seatArc??360));if(l>=360||n===1){for(let d=0;d<n;d++){let h=f+d/n*2*Math.PI;t.push(r(d,e.center.x+a*Math.cos(h),e.center.y+a*Math.sin(h)))}return t}let p=l*K,b=(2*Math.PI-p)/2,m=f+b;for(let d=0;d<n;d++){let h=m+d/(n-1)*p;t.push(r(d,e.center.x+a*Math.cos(h),e.center.y+a*Math.sin(h)))}return t}let i=e.width??80,s=e.height??50,c=De(e),u=["top","bottom","left","right"],y=0;for(let a of u){let f=c[a];for(let l=0;l<f;l++){let p,b;a==="top"?(p=-i/2+(l+.5)*i/f,b=-s/2-F):a==="bottom"?(p=-i/2+(l+.5)*i/f,b=s/2+F):a==="left"?(p=-i/2-F,b=-s/2+(l+.5)*s/f):(p=i/2+F,b=-s/2+(l+.5)*s/f);let m=le(p,b,e.rotation,e.center);t.push(r(y++,m.x,m.y,a))}}return t}function _t(e){return e.bookAsWhole||e.variableOccupancy?Math.max(0,Math.round(e.seatCount)):he(e).filter(t=>!t.skipped).length}function Ne(e){return he(e).filter(t=>!t.skipped).map(t=>({id:`${e.id}:${t.index}`,label:t.label,...t.displayLabel!==t.label?{displayLabel:t.displayLabel}:{},x:t.x,y:t.y,rowId:e.id,categoryKey:t.categoryKey,...t.accessible?{accessible:!0}:{},...t.accessibility.length?{accessibility:t.accessibility}:{},...t.wheelchairSpaceType?{wheelchairSpaceType:t.wheelchairSpaceType}:{},...t.commercial?{commercial:t.commercial}:{},...t.viewUrl?{viewUrl:t.viewUrl}:{},...t.viewUrl&&t.viewMeta?{viewMeta:t.viewMeta}:{},...t.labelStyle?{labelStyle:t.labelStyle}:{}}))}function Fe(e){return[{id:`${e.id}:0`,label:e.label,...e.displayLabel&&e.displayLabel!==e.label?{displayLabel:e.displayLabel}:{},x:e.center.x,y:e.center.y,rowId:e.id,categoryKey:e.categoryKey,kind:"booth"}]}function ue(e,t){let n=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){let i=t[o].x,s=t[o].y,c=t[r].x,u=t[r].y;s>e.y!=u>e.y&&e.x<(c-i)*(e.y-s)/(u-s)+i&&(n=!n)}return n}function kt(e,t){return t.some((n,o)=>{let r=t[(o+1)%t.length],i=(e.y-n.y)*(r.x-n.x)-(e.x-n.x)*(r.y-n.y);if(Math.abs(i)>1e-7)return!1;let s=(e.x-n.x)*(r.x-n.x)+(e.y-n.y)*(r.y-n.y),c=(r.x-n.x)**2+(r.y-n.y)**2;return s>=-1e-7&&s<=c+1e-7})}function $(e,t,n){return ue(e,t)&&!(n??[]).some(o=>ue(e,o)||kt(e,o))}function Lt(e,t){return ee(e,t).point}function ae(e){if(!e.length)return{x:0,y:0};let t=0,n=0;for(let o of e)t+=o.x,n+=o.y;return{x:t/e.length,y:n/e.length}}function He(e){switch(e.type){case"row":{let t=de(e);if(!t.length)return{x:e.origin.x,y:e.origin.y};let n=0,o=0;for(let r of t)n+=r.x,o+=r.y;return{x:n/t.length,y:o/t.length}}case"table":case"booth":return{x:e.center.x,y:e.center.y};case"gaArea":return ae(e.points);case"section":return ae(e.outline);case"text":return{x:e.position.x,y:e.position.y};case"shape":return e.points&&e.points.length?ae(e.points):e.x!=null&&e.y!=null&&e.width!=null&&e.height!=null?{x:e.x+e.width/2,y:e.y+e.height/2}:{x:e.x??0,y:e.y??0};case"decorImage":return{x:e.x+e.width/2,y:e.y+e.height/2}}}function Te(e,t){return e.length===t.length&&e.every((n,o)=>n.x===t[o].x&&n.y===t[o].y)}function jt(e,t){if(e.type!=="gaArea"||!Te(e.points,t.outline))return!1;let n=e.holes??[],o=t.holes??[];return n.length===o.length&&n.every((r,i)=>Te(r,o[i]))}function Ue(e,t){let n=e.filter(s=>s.type==="section"),o="referenceInventorySource"in t?t.referenceInventorySource?.logicalSectionId:void 0,r=He(t);return(o?n.find(s=>(s.logicalSectionId??s.id)===o&&(jt(t,s)||$(r,s.outline,s.holes))):void 0)??n.find(s=>$(r,s.outline,s.holes))}function Xe(e){return e.floors&&e.floors.length?e.floors:[{id:"floor-0",name:"Main",objects:e.objects,focalPoint:e.focalPoint,referenceImage:e.referenceImage,backgroundImage:e.backgroundImage}]}function Dt(e,t){let n=Xe(e);return(t?n.find(o=>o.id===t):n[0])?.objects??[]}function Be(e){return e.floors&&e.floors.length?e.floors.flatMap(t=>t.objects):e.objects}function me(e,t,n){let o=i=>({x:i.x+t,y:i.y+n}),r=i=>i.map(o);switch(e.type){case"row":return{...e,origin:o(e.origin)};case"table":case"booth":return{...e,center:o(e.center)};case"gaArea":return{...e,points:r(e.points),...e.holes?{holes:e.holes.map(r)}:{}};case"section":return{...e,outline:r(e.outline),...e.outlinePath?{outlinePath:we(e.outlinePath,t,n)}:{},...e.holes?{holes:e.holes.map(r)}:{}};case"text":return{...e,position:o(e.position)};case"shape":return{...e,...e.points?{points:r(e.points)}:{},...e.x!=null?{x:e.x+t}:{},...e.y!=null?{y:e.y+n}:{}};case"decorImage":return{...e,x:e.x+t,y:e.y+n}}}function Nt(e,t=900){if(!e.floors||e.floors.length<2)return e;let n=[];return e.floors.forEach((o,r)=>{let i=-r*t;for(let s of o.objects)n.push(i===0?s:me(s,0,i))}),{...e,objects:n,floors:void 0}}function Ft(e){let t=e.floors;if(!t||t.length<2)return e;let n=Ge(e),o=[];return t.forEach((r,i)=>{let{x:s,y:c}=n[i];for(let u of r.objects)o.push(me(u,s,c))}),{...e,objects:o,floors:void 0,referenceImage:void 0,backgroundImage:void 0}}function Ge(e){let t=e.floors;if(!t?.length)return[{x:0,y:0}];if(t.length<2)return t.map(()=>({x:0,y:0}));let n=t.map(l=>ze({...e,objects:l.objects,floors:void 0,focalPoint:l.focalPoint,referenceImage:void 0,backgroundImage:void 0})),o=Math.max(1,...n.map(l=>Math.max(l.width,l.height))),r=Math.max(64,Math.min(240,o*.08)),i=16/10,s=null;for(let l=1;l<=t.length;l+=1){let p=Math.ceil(t.length/l),b=new Array(l).fill(0),m=new Array(p).fill(0);n.forEach((M,P)=>{let S=P%l,w=Math.floor(P/l);b[S]=Math.max(b[S],M.width),m[w]=Math.max(m[w],M.height)});let d=b.reduce((M,P)=>M+P,0)+r*(l-1),h=m.reduce((M,P)=>M+P,0)+r*(p-1),g=l*p-t.length,x=Math.abs(Math.log(d/Math.max(1,h)/i))+g*.04;(!s||x<s.score)&&(s={columns:l,columnWidths:b,rowHeights:m,score:x})}let{columns:c,columnWidths:u,rowHeights:y}=s,a=[],f=[];return u.reduce((l,p,b)=>(a[b]=l,l+p+r),0),y.reduce((l,p,b)=>(f[b]=l,l+p+r),0),t.map((l,p)=>{let b=n[p],m=p%c,d=Math.floor(p/c),h=a[m]+(u[m]-b.width)/2,g=f[d]+(y[d]-b.height)/2;return{x:h-b.x,y:g-b.y}})}function _e(e,t,n,o,r,i){let s=[],c=te(e),u=f=>!f?.eventConfigurationId||f.eventConfigurationId===o,y=f=>!!f&&(!f.eventConfigurationId||f.eventConfigurationId===o),a=(f,l)=>y(f)?{...f,coverage:l}:void 0;for(let f of e){let l=[];if(f.type==="row"?l=de(f):f.type==="table"?l=Ne(f):f.type==="booth"&&(l=Fe(f)),!l.length)continue;for(let h of l)h.viewUrl&&!u(h.viewMeta)&&(h.viewUrl=void 0,h.viewMeta=void 0);if(f.type==="row"){let h=c.get(f.id);if(h){let g=new Map((f.overrides??[]).map(x=>[x.index,x]));for(let x of l){let M=Number(x.id.slice(x.id.lastIndexOf(":")+1));if(!Number.isInteger(M))continue;x.logicalRowId=h.groupId,x.logicalSeatIndex=h.adjacencyOffset+M,g.get(M)?.displayLabel||(x.displayLabel=re(f,M,h)),!x.viewUrl&&h.viewFromSeatUrl&&u(h.viewFromSeatMeta)&&(x.viewUrl=h.viewFromSeatUrl,x.viewMeta=h.viewFromSeatMeta);let P=g.get(M)?.confidenceEvidence;x.confidenceEvidence=a(P,"exact-seat")??a(f.confidenceEvidence,"row-representative")??a(h.confidenceEvidence,"row-representative")}}}let p=Ue(e,f),b=p?.viewFromSeatUrl,d=(p?.zone?t?.find(h=>h.id===p.zone):void 0)?.focalPoint??n;for(let h of l){if(!h.confidenceEvidence){let g=Number(h.id.slice(h.id.lastIndexOf(":")+1)),x=(f.type==="row"||f.type==="table")&&Number.isInteger(g)?f.overrides?.find(M=>M.index===g)?.confidenceEvidence:void 0;h.confidenceEvidence=a(x,"exact-seat")??(f.type==="row"?a(f.confidenceEvidence,"row-representative"):void 0)}h.confidenceEvidence??=a(p?.confidenceEvidence,"section-representative")??(i?a(i.evidence,i.coverage):void 0),!h.viewUrl&&b&&u(p?.viewFromSeatMeta)&&(h.viewUrl=b,h.viewMeta=p?.viewFromSeatMeta),!h.viewUrl&&r&&u(r.meta)&&(h.viewUrl=r.url,h.viewMeta=r.meta),p&&(h.sectionId=p.logicalSectionId??p.id),p?.zone&&(h.zoneId=p.zone),d&&(h.focalPoint={...d})}s.push(...l)}return s}function Ht(e,t={}){if(e.floors?.length){let o=[];for(let r of e.floors){let i=r.focalPoint??e.focalPoint,s=r.viewFromSeatUrl?{url:r.viewFromSeatUrl,meta:r.viewFromSeatMeta}:e.viewFromSeatUrl?{url:e.viewFromSeatUrl,meta:e.viewFromSeatMeta}:void 0,c=r.confidenceEvidence?{evidence:r.confidenceEvidence,coverage:"floor-representative"}:e.confidenceEvidence?{evidence:e.confidenceEvidence,coverage:"venue-representative"}:void 0,u=_e(r.objects,e.zones,i,e.eventConfigurationId,s,c);t.resolveEyeHeights!==!1&&ke(r.objects,r.focalPoint??e.focalPoint,r.baseHeightM??0,u),o.push(...u)}return o}let n=_e(e.objects,e.zones,e.focalPoint,e.eventConfigurationId,e.viewFromSeatUrl?{url:e.viewFromSeatUrl,meta:e.viewFromSeatMeta}:void 0,e.confidenceEvidence?{evidence:e.confidenceEvidence,coverage:"venue-representative"}:void 0);return t.resolveEyeHeights!==!1&&ke(e.objects,e.focalPoint,t.floorBaseHeightM??0,n),n}function ke(e,t,n,o){let r=e.filter(a=>a.type==="section"),i=n>0||r.some(a=>a.height!==void 0||a.rake!==void 0||(a.elevation??0)>0);if(!r.length||!i||!t){for(let a of o)a.eyeHeightM=n+z;return}let s=new Array(o.length),c=new Map,u=new Map;for(let a=0;a<o.length;a++){let f=o[a],l=r.find(b=>$({x:f.x,y:f.y},b.outline,b.holes))??null;if(s[a]=l,!l)continue;c.has(l.id)||c.set(l.id,Ce(l,{floorBaseHeightM:n}));let p=u.get(l.id);p?p.push(a):u.set(l.id,[a])}let y=new Array(o.length).fill(void 0);for(let[a,f]of u){let l=c.get(a);if(!l)continue;let p=l.rake>0?Math.tan(l.rake*Math.PI/180):0,b=Ae(a,o,f,t);for(let m of b.rows){let d=m.blockDepth*G*p,h=l.height+d;for(let g of m.seatIndices)y[g]=h}}for(let a=0;a<o.length;a++){let f=o[a],l=s[a];if(!l){f.eyeHeightM=n+z;continue}let p=c.get(l.id);f.eyeHeightM=(y[a]??p.height)+z}}var Y=40;function ze(e){let t=1/0,n=1/0,o=-1/0,r=-1/0,i=(s,c)=>{s<t&&(t=s),c<n&&(n=c),s>o&&(o=s),c>r&&(r=c)};for(let s of Be(e))if(s.type==="row"){let c=new Map((s.overrides??[]).map(u=>[u.index,u]));fe(s).forEach((u,y)=>{let a=c.get(y);a?.skip||i(u.x+(a?.dx??0),u.y+(a?.dy??0))})}else if(s.type==="gaArea")for(let c of s.points)i(c.x,c.y);else if(s.type==="section")for(let c of s.outline)i(c.x,c.y);else if(s.type==="decorImage")i(s.x,s.y),i(s.x+s.width,s.y+s.height);else if(s.type==="shape")if(s.points&&s.points.length)for(let c of s.points)i(c.x,c.y);else s.x!=null&&s.y!=null&&s.width!=null&&s.height!=null&&(i(s.x,s.y),i(s.x+s.width,s.y+s.height));else if(s.type==="table"){let c=F+Rt,u=s.shape==="round"?(s.radius??40)+c:Math.max((s.width??80)/2,(s.height??50)/2)+c;i(s.center.x-u,s.center.y-u),i(s.center.x+u,s.center.y+u)}else if(s.type==="booth"){let c=Math.max(s.width,s.height)/2;i(s.center.x-c,s.center.y-c),i(s.center.x+c,s.center.y+c)}else if(s.type==="text"){let c=Q(s);i(s.position.x,s.position.y),i(s.position.x+c.width,s.position.y+c.height)}for(let s of[e.referenceImage,e.backgroundImage]){if(!s)continue;let{center:c,width:u}=s,y=u*3/4;i(c.x-u/2,c.y-y/2),i(c.x+u/2,c.y+y/2)}if(!isFinite(t)){let s=e.focalPoint??{x:0,y:0};return{x:s.x-200,y:s.y-200,width:400,height:400}}return{x:t-Y,y:n-Y,width:o-t+Y*2,height:r-n+Y*2}}function Ut(e,t=0){let n=Math.max(1,e.width,e.height),o={x:e.x+e.width/2,y:e.y+e.height/2},r=n*1.55,i=Math.max(n*.82,Math.max(0,t)+n*.45);return{target:o,distance:r,height:i,focalLength:Math.hypot(r,i),yawRad:-8*Math.PI/180}}function W(e,t,n=0){let o=t.x-e.target.x,r=t.y-e.target.y,i=Math.cos(e.yawRad),s=Math.sin(e.yawRad),c=o*i-r*s,y=o*s+r*i-e.distance,a=n-e.height,f=Math.hypot(e.distance,e.height),l=(-e.distance*y-e.height*a)/f,p=(-e.height*y+e.distance*a)/f,b=Math.max(f*.08,l),m=e.focalLength/b;return{x:e.target.x+c*m,y:e.target.y-p*m,depth:b,scale:m}}function Xt(e,t){return{x:e.a*t.x+e.c*t.y+e.e,y:e.b*t.x+e.d*t.y+e.f}}function Bt(e){let t=e.a*e.d-e.b*e.c;if(!Number.isFinite(t)||Math.abs(t)<1e-9)throw new Error("perspective projection produced a singular affine");let n=e.d/t,o=-e.b/t,r=-e.c/t,i=e.a/t;return{a:n,b:o,c:r,d:i,e:-(n*e.e+r*e.f),f:-(o*e.e+i*e.f)}}function Gt(e,t){return{a:e.a*t.a+e.c*t.b,b:e.b*t.a+e.d*t.b,c:e.a*t.c+e.c*t.d,d:e.b*t.c+e.d*t.d,e:e.a*t.e+e.c*t.f+e.e,f:e.b*t.e+e.d*t.f+e.f}}function zt(e,t,n=()=>0){let o=W(e,t,n(t)),r={x:t.x+1,y:t.y},i={x:t.x,y:t.y+1},s=W(e,r,n(r)),c=W(e,i,n(i)),u=s.x-o.x,y=s.y-o.y,a=c.x-o.x,f=c.y-o.y;return{a:u,b:y,c:a,d:f,e:o.x-u*t.x-a*t.y,f:o.y-y*t.x-f*t.y}}function Yt(e){let t=Math.hypot(e.a,e.b),n=e.a*e.d-e.b*e.c;return{rotationDeg:Math.atan2(e.b,e.a)*180/Math.PI,scaleX:t,scaleY:n/Math.max(t,1e-9),skewX:(e.a*e.c+e.b*e.d)/Math.max(n,1e-9)}}var Ye=9;function Kt(e){if(e.kind==="circle")return{hx:e.r,hy:e.r};let t=e.width/2,n=e.height/2,o=e.rotation??0;if(!o)return{hx:t,hy:n};let r=o*Math.PI/180,i=Math.abs(Math.cos(r)),s=Math.abs(Math.sin(r));return{hx:t*i+n*s,hy:t*s+n*i}}function $t(e,t,n){let o=t-e.seat.x,r=n-e.seat.y;if(e.shape.kind==="circle")return o*o+r*r<=e.shape.r*e.shape.r;let i=e.shape.rotation??0,s=o,c=r;if(i){let u=-i*Math.PI/180,y=Math.cos(u),a=Math.sin(u);s=o*y-r*a,c=o*a+r*y}return Math.abs(s)<=e.shape.width/2&&Math.abs(c)<=e.shape.height/2}function Wt(e,t,n,o,r){if(e.shape.kind==="circle"){let b=Math.min(Math.max(e.seat.x,t),o),m=Math.min(Math.max(e.seat.y,n),r),d=e.seat.x-b,h=e.seat.y-m;return d*d+h*h<=e.shape.r*e.shape.r}let i=e.shape.rotation??0;if(!i)return e.seat.x-e.hx<=o&&e.seat.x+e.hx>=t&&e.seat.y-e.hy<=r&&e.seat.y+e.hy>=n;let s=i*Math.PI/180,c=Math.cos(s),u=Math.sin(s),y=e.shape.width/2,a=e.shape.height/2,f=[[-y,-a],[y,-a],[y,a],[-y,a]].map(([b,m])=>[e.seat.x+b*c-m*u,e.seat.y+b*u+m*c]),l=[[t,n],[o,n],[o,r],[t,r]],p=[[1,0],[0,1],[c,u],[-u,c]];for(let[b,m]of p){let d=1/0,h=-1/0;for(let[M,P]of f){let S=M*b+P*m;S<d&&(d=S),S>h&&(h=S)}let g=1/0,x=-1/0;for(let[M,P]of l){let S=M*b+P*m;S<g&&(g=S),S>x&&(x=S)}if(h<g||x<d)return!1}return!0}function Vt(e,t={}){let n=t.seatRadius??Ye,o=e.length,r=new Array(o),i=1/0,s=1/0,c=-1/0,u=-1/0,y=0;for(let S=0;S<o;S++){let w=e[S],C=t.shapeOf?.(w)??{kind:"circle",r:n},{hx:E,hy:v}=Kt(C);r[S]={seat:w,shape:C,hx:E,hy:v},w.x-E<i&&(i=w.x-E),w.y-v<s&&(s=w.y-v),w.x+E>c&&(c=w.x+E),w.y+v>u&&(u=w.y+v),E>y&&(y=E),v>y&&(y=v)}o===0&&(i=0,s=0,c=0,u=0);let a=y>0?y*4:1,f=Math.max(c-i,0),l=Math.max(u-s,0),p=Math.max(64,t.maxCells??o*4),b=a,m=Math.max(1,Math.ceil(f/b)||1),d=Math.max(1,Math.ceil(l/b)||1);for(;m*d>p&&(m>1||d>1);)b*=2,m=Math.max(1,Math.ceil(f/b)||1),d=Math.max(1,Math.ceil(l/b)||1);let h=m*d,g=new Int32Array(h+1),x=0;for(let S=0;S<o;S++){let w=r[S],C=L(Math.floor((w.seat.x-w.hx-i)/b),0,m-1),E=L(Math.floor((w.seat.x+w.hx-i)/b),0,m-1),v=L(Math.floor((w.seat.y-w.hy-s)/b),0,d-1),T=L(Math.floor((w.seat.y+w.hy-s)/b),0,d-1);for(let O=v;O<=T;O++)for(let R=C;R<=E;R++)g[O*m+R+1]++,x++}for(let S=0;S<h;S++)g[S+1]+=g[S];let M=new Int32Array(x),P=g.slice(0,h);for(let S=0;S<o;S++){let w=r[S],C=L(Math.floor((w.seat.x-w.hx-i)/b),0,m-1),E=L(Math.floor((w.seat.x+w.hx-i)/b),0,m-1),v=L(Math.floor((w.seat.y-w.hy-s)/b),0,d-1),T=L(Math.floor((w.seat.y+w.hy-s)/b),0,d-1);for(let O=v;O<=T;O++)for(let R=C;R<=E;R++){let A=O*m+R;M[P[A]++]=S}}return{seats:e,entries:r,minX:i,minY:s,cell:b,cols:m,rows:d,cellStart:g,items:M,stamp:new Int32Array(o),epoch:0}}function qt(e,t,n={}){let{cols:o,rows:r,cell:i,minX:s,minY:c,cellStart:u,items:y,entries:a}=e,f=Math.floor((t.x-s)/i),l=Math.floor((t.y-c)/i);if(f<0||l<0||f>=o||l>=r)return null;let p=l*o+f,b=u[p+1],m=-1,d=1/0;for(let h=u[p];h<b;h++){let g=y[h],x=a[g];if(n.filter&&!n.filter(x.seat.id,x.seat)||!$t(x,t.x,t.y))continue;let M=t.x-x.seat.x,P=t.y-x.seat.y,S=M*M+P*P;(S<d||S===d&&g<m)&&(d=S,m=g)}return m<0?null:a[m].seat.id}function Qt(e,t,n,o={}){if(!(n>0))return null;let{cols:r,rows:i,cell:s,minX:c,minY:u,cellStart:y,items:a,entries:f}=e,l=Math.max(0,Math.floor((t.x-n-c)/s)),p=Math.min(r-1,Math.floor((t.x+n-c)/s)),b=Math.max(0,Math.floor((t.y-n-u)/s)),m=Math.min(i-1,Math.floor((t.y+n-u)/s));if(l>p||b>m)return null;let d=-1,h=n*n,g=e.stamp,x=++e.epoch;for(let M=b;M<=m;M++){let P=M*r;for(let S=l;S<=p;S++){let w=P+S,C=y[w+1];for(let E=y[w];E<C;E++){let v=a[E];if(g[v]===x)continue;g[v]=x;let T=f[v];if(o.filter&&!o.filter(T.seat.id,T.seat))continue;let O=t.x-T.seat.x,R=t.y-T.seat.y,A=O*O+R*R;(A<h||A===h&&v<d)&&(h=A,d=v)}}}return d<0?null:f[d].seat.id}function Zt(e,t,n={}){let o=Math.min(t.x,t.x+t.width),r=Math.max(t.x,t.x+t.width),i=Math.min(t.y,t.y+t.height),s=Math.max(t.y,t.y+t.height),c=n.mode??"center",{cols:u,rows:y,cell:a,minX:f,minY:l,cellStart:p,items:b,entries:m}=e,d=Math.max(0,Math.floor((o-f)/a)),h=Math.min(u-1,Math.floor((r-f)/a)),g=Math.max(0,Math.floor((i-l)/a)),x=Math.min(y-1,Math.floor((s-l)/a));if(d>h||g>x)return[];let M=[],P=e.stamp,S=++e.epoch;for(let w=g;w<=x;w++){let C=w*u;for(let E=d;E<=h;E++){let v=C+E,T=p[v+1];for(let O=p[v];O<T;O++){let R=b[O];if(P[R]===S)continue;P[R]=S;let A=m[R];if(n.filter&&!n.filter(A.seat.id,A.seat))continue;(c==="center"?A.seat.x>=o&&A.seat.x<=r&&A.seat.y>=i&&A.seat.y<=s:Wt(A,o,i,r,s))&&M.push(R)}}}return M.sort((w,C)=>w-C),M.map(w=>m[w].seat.id)}function Jt(e){let t=e.cols*e.rows,n=0,o=0;for(let i=0;i<t;i++){let s=e.cellStart[i+1]-e.cellStart[i];s>0&&n++,s>o&&(o=s)}let r=e.items.length;return{cell:e.cell,cols:e.cols,rows:e.rows,cells:t,occupiedCells:n,refs:r,maxPerCell:o,meanPerOccupiedCell:n?r/n:0}}0&&(module.exports={DEFAULT_SEAT_RADIUS,TEXT_BACKGROUND_PADDING_MAX,TEXT_BACKGROUND_RADIUS_MAX,TEXT_LETTER_SPACING_MAX,TEXT_LETTER_SPACING_MIN,TEXT_LINE_HEIGHT_MAX,TEXT_LINE_HEIGHT_MIN,TEXT_OPACITY_MIN,TEXT_WIDTH_MAX,TEXT_WIDTH_MIN,allObjects,applyAffine,buildAisleHoles,buildSeatIndex,buildSectionShell,chartBounds,composeAffine,createPerspectiveCamera,cubicPoint,decomposeAffineLinear,distanceToRings,distributeAlongCubic,expandBooth,expandChart,expandRow,expandRowSlots,expandTable,expandTableSlots,floorObjects,floorOverviewTranslations,floorsOf,gridStats,hitTest,invertAffine,layoutFloorOverview,nearestWithin,objectCenter,owningSectionForObject,perspectiveTangentAffine,pointInPolygon,pointInPolygonWithHoles,polygonArea,polygonInscribedAnchor,polygonLabelPoint,polygonNetArea,projectPerspectivePoint,queryRect,resolveSegmentedRowGroups,rowInventoryCount,rowSeatPositions,segmentedRowComponentSeats,segmentedRowComponents,segmentedRowSeatTotal,smoothCubicThroughMiddle,stackFloors,tableInventoryCount,tableSeatCountsBySide,textLayoutMetrics,translateObject});
@@ -1 +1 @@
1
- import{a as U,b as V,c as W,d as X,e as Y,f as Z,g as _,h as $,i as oo,j as ro,k as eo,l as fo,m as mo}from"../../chunk-6VTTBC5F.js";import{Aa as O,Ba as P,Ca as Q,Da as R,Ea as S,Fa as T,I as q,J as s,K as u,L as v,a as o,b as r,c as e,d as f,e as m,f as p,g as t,h as x,i as a,j as b,ja as w,ka as y,la as z,ma as A,n as c,na as B,o as d,oa as C,p as g,pa as D,q as h,qa as E,r as i,ra as F,s as j,sa as G,t as k,ta as H,u as l,ua as I,v as n,va as J,wa as K,xa as L,ya as M,za as N}from"../../chunk-VDZ24QVV.js";export{U as DEFAULT_SEAT_RADIUS,x as TEXT_BACKGROUND_PADDING_MAX,a as TEXT_BACKGROUND_RADIUS_MAX,p as TEXT_LETTER_SPACING_MAX,m as TEXT_LETTER_SPACING_MIN,f as TEXT_LINE_HEIGHT_MAX,e as TEXT_LINE_HEIGHT_MIN,t as TEXT_OPACITY_MIN,r as TEXT_WIDTH_MAX,o as TEXT_WIDTH_MIN,N as allObjects,oo as applyAffine,i as buildAisleHoles,V as buildSeatIndex,h as buildSectionShell,T as chartBounds,eo as composeAffine,_ as createPerspectiveCamera,c as cubicPoint,mo as decomposeAffineLinear,j as distanceToRings,g as distributeAlongCubic,F as expandBooth,S as expandChart,A as expandRow,z as expandRowSlots,E as expandTable,C as expandTableSlots,M as floorObjects,R as floorOverviewTranslations,L as floorsOf,Z as gridStats,W as hitTest,ro as invertAffine,Q as layoutFloorOverview,X as nearestWithin,J as objectCenter,K as owningSectionForObject,fo as perspectiveTangentAffine,G as pointInPolygon,H as pointInPolygonWithHoles,k as polygonArea,n as polygonInscribedAnchor,I as polygonLabelPoint,l as polygonNetArea,$ as projectPerspectivePoint,Y as queryRect,v as resolveSegmentedRowGroups,y as rowInventoryCount,w as rowSeatPositions,s as segmentedRowComponentSeats,q as segmentedRowComponents,u as segmentedRowSeatTotal,d as smoothCubicThroughMiddle,P as stackFloors,D as tableInventoryCount,B as tableSeatCountsBySide,b as textLayoutMetrics,O as translateObject};
1
+ import{a as U,b as V,c as W,d as X,e as Y,f as Z,g as _,h as $,i as oo,j as ro,k as eo,l as fo,m as mo}from"../../chunk-66HGMU7D.js";import{Aa as O,Ba as P,Ca as Q,Da as R,Ea as S,Fa as T,I as q,J as s,K as u,L as v,a as o,b as r,c as e,d as f,e as m,f as p,g as t,h as x,i as a,j as b,ja as w,ka as y,la as z,ma as A,n as c,na as B,o as d,oa as C,p as g,pa as D,q as h,qa as E,r as i,ra as F,s as j,sa as G,t as k,ta as H,u as l,ua as I,v as n,va as J,wa as K,xa as L,ya as M,za as N}from"../../chunk-GHJUDU3U.js";export{U as DEFAULT_SEAT_RADIUS,x as TEXT_BACKGROUND_PADDING_MAX,a as TEXT_BACKGROUND_RADIUS_MAX,p as TEXT_LETTER_SPACING_MAX,m as TEXT_LETTER_SPACING_MIN,f as TEXT_LINE_HEIGHT_MAX,e as TEXT_LINE_HEIGHT_MIN,t as TEXT_OPACITY_MIN,r as TEXT_WIDTH_MAX,o as TEXT_WIDTH_MIN,N as allObjects,oo as applyAffine,i as buildAisleHoles,V as buildSeatIndex,h as buildSectionShell,T as chartBounds,eo as composeAffine,_ as createPerspectiveCamera,c as cubicPoint,mo as decomposeAffineLinear,j as distanceToRings,g as distributeAlongCubic,F as expandBooth,S as expandChart,A as expandRow,z as expandRowSlots,E as expandTable,C as expandTableSlots,M as floorObjects,R as floorOverviewTranslations,L as floorsOf,Z as gridStats,W as hitTest,ro as invertAffine,Q as layoutFloorOverview,X as nearestWithin,J as objectCenter,K as owningSectionForObject,fo as perspectiveTangentAffine,G as pointInPolygon,H as pointInPolygonWithHoles,k as polygonArea,n as polygonInscribedAnchor,I as polygonLabelPoint,l as polygonNetArea,$ as projectPerspectivePoint,Y as queryRect,v as resolveSegmentedRowGroups,y as rowInventoryCount,w as rowSeatPositions,s as segmentedRowComponentSeats,q as segmentedRowComponents,u as segmentedRowSeatTotal,d as smoothCubicThroughMiddle,P as stackFloors,D as tableInventoryCount,B as tableSeatCountsBySide,b as textLayoutMetrics,O as translateObject};
@@ -1 +1 @@
1
- "use strict";var ae=Object.defineProperty;var tt=Object.getOwnPropertyDescriptor;var nt=Object.getOwnPropertyNames;var ot=Object.prototype.hasOwnProperty;var rt=(e,t)=>{for(var n in t)ae(e,n,{get:t[n],enumerable:!0})},it=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of nt(t))!ot.call(e,r)&&r!==n&&ae(e,r,{get:()=>t[r],enumerable:!(o=tt(t,r))||o.enumerable});return e};var st=e=>it(ae({},"__esModule",{value:!0}),e);var mn={};rt(mn,{DEFAULT_SECTION_CORNER_SMOOTHING:()=>Gt,MAX_EDGE_SAGITTA_RATIO:()=>Ne,TIER_HEIGHT_M:()=>ge,UNGROUPED_ID:()=>ce,applyHidden:()=>pn,arcLevelAt:()=>gt,bearingDeg:()=>Re,buildSectionRake:()=>Ct,computeSections:()=>Qe,distanceToPolyline:()=>ue,fitBowlProfile:()=>xt,fitCircle:()=>ee,hiddenObjectIds:()=>et,indexLabel:()=>Oe,isSectionHidden:()=>Ze,logicalNumberingRow:()=>Te,relabelRows:()=>Pt,resolveSection:()=>dt,reverseSectionOutlinePath:()=>Vt,sampleSectionOutlinePath:()=>Ft,seatConfidenceDisclosure:()=>Tt,seatDisplayLabel:()=>pe,seatInventoryLabel:()=>he,seatLabelPart:()=>ie,sectionCornerSmoothingPath:()=>zt,sectionGeometry:()=>He,sectionOutlinePathFrom:()=>De,sectionPathSegmentEnd:()=>Nt,toBijectiveBase:()=>fe,toLetters:()=>oe,toRoman:()=>de,transformSectionOutlinePath:()=>Le,translateSectionOutlinePath:()=>Bt,validSectionOutlinePath:()=>be});module.exports=st(mn);function ve(e){let t=e.length;return t<=3?[...e]:[e[Math.floor(t*.25)],e[Math.floor(t*.5)],e[Math.floor(t*.75)]]}function ue(e,t,n){if(!e.length)return 1/0;if(e.length===1)return Math.hypot(t-e[0].x,n-e[0].y);let o=1/0;for(let r=0;r+1<e.length;r++){let i=e[r],s=e[r+1],f=s.x-i.x,u=s.y-i.y,m=f*f+u*u,c=m>1e-12?((t-i.x)*f+(n-i.y)*u)/m:0;c<0?c=0:c>1&&(c=1);let b=Math.hypot(t-(i.x+c*f),n-(i.y+c*u));b<o&&(o=b)}return o}function ct(e){let t=0,n=0;for(let i of e)t+=i.x,n+=i.y;let o=e.length||1;t/=o,n/=o;let r=0;for(let i of e){let s=Math.hypot(i.x-t,i.y-n);s>r&&(r=s)}return{cx:t,cy:n,r}}function Ie(e,t){return Math.hypot(e.cx-t.cx,e.cy-t.cy)-e.r-t.r}function le(e,t){let n=1/0;for(let o of ve(e)){let r=ue(t,o.x,o.y);r<n&&(n=r)}for(let o of ve(t)){let r=ue(e,o.x,o.y);r<n&&(n=r)}return n}function at(e,t){if(e.length<3)return{pts:e,seatIndices:t};let n=0,o=0;for(let c of e)n+=c.x,o+=c.y;n/=e.length,o/=e.length;let r=-1,i=e[0];for(let c of e){let b=Math.hypot(c.x-n,c.y-o);b>r&&(r=b,i=c)}let s=i.x-n,f=i.y-o,u=Math.hypot(s,f);u>1e-9?(s/=u,f/=u):(s=1,f=0);let m=e.map((c,b)=>({p:c,i:b,t:(c.x-n)*s+(c.y-o)*f})).sort((c,b)=>c.t-b.t);return{pts:m.map(c=>c.p),seatIndices:m.map(c=>t[c.i])}}function ee(e){let t=e.length;if(t<3)return null;let n=0,o=0;for(let g of e)n+=g.x,o+=g.y;n/=t,o/=t;let r=0,i=0,s=0,f=0,u=0,m=0,c=0;for(let g of e){let y=g.x-n,a=g.y-o;r+=y*y,s+=a*a,i+=y*a,f+=y*y*y,u+=a*a*a,m+=y*a*a,c+=a*y*y}let b=r*s-i*i;if(Math.abs(b)<1e-9)return null;let d=(f+m)/2,l=(u+c)/2,h=(d*s-l*i)/b,I=(l*r-d*i)/b,p=h+n,x=I+o;return!Number.isFinite(p)||!Number.isFinite(x)?null:{cx:p,cy:x}}var lt=.15;function ut(e){if(e.length<2)return null;let t=e.map(g=>{let y=0,a=0;for(let v of g.pts)y+=v.x,a+=v.y;return{x:y/g.pts.length,y:a/g.pts.length}}),n=0,o=0;for(let g of t)n+=g.x,o+=g.y;n/=t.length,o/=t.length;let r=0,i=0,s=0;for(let g of t){let y=g.x-n,a=g.y-o;r+=y*y,i+=y*a,s+=a*a}let f=r+s,u=r*s-i*i,m=f/2+Math.sqrt(Math.max(0,f*f/4-u)),c,b;Math.abs(i)>1e-12?(c=m-s,b=i):r>=s?(c=1,b=0):(c=0,b=1);let d=Math.hypot(c,b);if(!(d>1e-12))return null;c/=d,b/=d;let l=1/0,h=-1/0,I=[];for(let g of e){let y=1/0,a=-1/0;for(let v of g.pts){let M=v.x*c+v.y*b;M<y&&(y=M),M>a&&(a=M),M<l&&(l=M),M>h&&(h=M)}I.push(a-y)}let p=h-l;return p>1e-9?(I.sort((g,y)=>g-y),I[Math.min(I.length-1,Math.floor(I.length*.9))]/p<=ft?{x:c,y:b}:null):null}var ft=.35;function dt(e,t,n,o){let r=new Map;for(let p of n){let x=t[p],g=x.rowId||`__seat-${p}`,y=r.get(g);y||(y={pts:[],idx:[]},r.set(g,y)),y.pts.push({x:x.x,y:x.y}),y.idx.push(p)}if(!r.size)return{sectionId:e,rows:[],blockCount:0};let i=[];for(let[p,x]of r){let g=at(x.pts,x.idx),y=0;for(let a of g.pts)y+=Math.hypot(a.x-o.x,a.y-o.y);i.push({id:p,pts:g.pts,seatIndices:g.seatIndices,blockId:-1,ordinal:0,blockDepth:0,focalDistance:y/g.pts.length})}let s=i.map(p=>ct(p.pts)),f=[];for(let p=0;p<i.length;p++){let x=1/0;for(let g=0;g<i.length;g++){if(p===g||Ie(s[p],s[g])>=x)continue;let y=le(i[p].pts,i[g].pts);y<x&&(x=y)}Number.isFinite(x)&&f.push(x)}f.sort((p,x)=>p-x);let u=f.length?f[Math.floor(f.length/2)]:1,m=Math.max(u*1.8,1e-6),c=i.map(()=>[]);for(let p=0;p<i.length;p++)for(let x=p+1;x<i.length;x++)Ie(s[p],s[x])>m||le(i[p].pts,i[x].pts)<=m&&(c[p].push(x),c[x].push(p));let b=0;for(let p=0;p<i.length;p++){if(i[p].blockId!==-1)continue;let x=b++,g=[p];for(i[p].blockId=x;g.length;){let y=g.pop();for(let a of c[y])i[a].blockId===-1&&(i[a].blockId=x,g.push(a))}}let d=new Map;for(let p of i){let x=d.get(p.blockId)??[];x.push(p),d.set(p.blockId,x)}let l=[];for(let p of i){if(p.pts.length<4)continue;let x=ee(p.pts);x&&(!Number.isFinite(x.cx)||!Number.isFinite(x.cy)||l.push({x:x.cx,y:x.cy}))}let h=l.length>=2?(()=>{let p=l.map(y=>y.x).sort((y,a)=>y-a),x=l.map(y=>y.y).sort((y,a)=>y-a),g=Math.floor(l.length/2);return{cx:p[g],cy:x[g]}})():null;if(h){let p=M=>Math.hypot(M.x-h.cx,M.y-h.cy),x=1/0,g=-1/0,y=[];for(let M of i){let A=1/0,T=-1/0;for(let N of M.pts){let B=p(N);B<A&&(A=B),B>T&&(T=B)}y.push(T-A),A<x&&(x=A),T>g&&(g=T)}let a=g-x;y.sort((M,A)=>M-A);let v=y[Math.min(y.length-1,Math.floor(y.length*.9))];if(a>1e-9&&v/a<=lt){let M=i.map(k=>{let S=0;for(let P of k.pts)S+=p(P);return{row:k,radius:S/k.pts.length}}),A=1/0;for(let k of M)k.radius<A&&(A=k.radius);M.sort((k,S)=>k.radius-S.radius);let T=-1,N=-1/0,B=a/Math.max(1,M.length)*.5,z=[];for(let k of M)k.radius-N>B&&(T++,N=k.radius),k.row.ordinal=T,k.row.blockDepth=k.radius-A,z.push(k.row);return{sectionId:e,rows:z,blockCount:b}}}let I=[];for(let[,p]of d){let x=ut(p);if(x){let g=a=>{let v=0;for(let M of a.pts)v+=M.x*x.x+M.y*x.y;return v/a.pts.length};p.sort((a,v)=>g(a)-g(v));let y=0;for(let a=0;a<p.length;a++)a>0&&(y+=le(p[a-1].pts,p[a].pts)),p[a].ordinal=a,p[a].blockDepth=y,I.push(p[a])}else{let g=1/0;for(let y of p)y.focalDistance<g&&(g=y.focalDistance);p.sort((y,a)=>y.focalDistance-a.focalDistance);for(let y=0;y<p.length;y++)p[y].ordinal=y,p[y].blockDepth=Math.max(0,p[y].focalDistance-g),I.push(p[y])}}return{sectionId:e,rows:I,blockCount:b}}var ht=Math.PI/180,R=96,pt=6,mt=60,bt=150,Ae=.2,yt=.35;function Re(e,t){let n=Math.atan2(t.x-e.x,t.y-e.y)/ht;return n<0?n+360:n}function te(e){if(!e.length)return NaN;let t=[...e].sort((n,o)=>n-o);return t[Math.floor(t.length/2)]}function ne(e,t,n=2){let o=e.length,r=new Float64Array(o);for(let i=0;i<o;i++){let s=0,f=0;for(let u=-n;u<=n;u++){let m=i+u;if(t)m=(m%o+o)%o;else if(m<0||m>=o)continue;s+=e[m],f++}r[i]=s/f}return r}function xt(e,t){let n=e.filter(d=>d.rows.length>=1);if(n.length<1)return null;let o=[],r=0,i=0,s=0;for(let d of n)for(let l of d.rows){for(let h of l.pts)r+=h.x,i+=h.y,s++;if(l.pts.length>=4){let h=ee(l.pts);h&&Number.isFinite(h.cx)&&Number.isFinite(h.cy)&&o.push({x:h.cx,y:h.cy})}}if(!s)return null;let f={x:r/s,y:i/s},u=f;if(o.length>=8){let d=te(o.map(x=>x.x)),l=te(o.map(x=>x.y)),h=0;for(let x of n)for(let g of x.rows)for(let y of g.pts){let a=Math.hypot(y.x-f.x,y.y-f.y);a>h&&(h=a)}let I=0,p=h*.2;for(let x of n)for(let g of x.rows)for(let y of g.pts)Math.hypot(y.x-d,y.y-l)<p&&I++;Math.hypot(d-f.x,l-f.y)<=h&&I/s<.01&&(u={x:d,y:l})}let m=[];for(let d of n){let l={sectionId:d.sectionId,rMin:1/0,rMax:-1/0,samples:[]};for(let h of d.rows)for(let I of h.pts){let p=Math.hypot(I.x-u.x,I.y-u.y),x=Math.min(R-1,Math.floor(Re(u,I)/(360/R)));l.samples.push({r:p,bin:x,levelM:h.levelM}),p<l.rMin&&(l.rMin=p),p>l.rMax&&(l.rMax=p)}l.samples.length&&m.push(l)}if(!m.length)return null;m.sort((d,l)=>d.rMin+d.rMax-(l.rMin+l.rMax));let c=[];for(let d of m){let l=!1;for(let h of c){let I=Math.min(d.rMax,h.rMax)-Math.max(d.rMin,h.rMin),p=Math.min(d.rMax-d.rMin,h.rMax-h.rMin);if(p>1e-9&&I>=yt*p){h.members.push(d),h.rMin=Math.min(h.rMin,d.rMin),h.rMax=Math.max(h.rMax,d.rMax),l=!0;break}}l||c.push({members:[d],rMin:d.rMin,rMax:d.rMax})}let b=[];for(let d of c){let l=new Array(R).fill(null);for(let S of d.members)for(let P of S.samples){let O=l[P.bin];O||(O={samples:[]},l[P.bin]=O),O.samples.push({r:P.r,levelM:P.levelM})}let h=l.map(S=>!!S);if(!h.filter(Boolean).length)continue;let p=[],x=[];for(let S of l){if(!S)continue;let P=1/0,O=-1/0;for(let _ of S.samples)_.r<P&&(P=_.r),_.r>O&&(O=_.r);p.push(P),x.push(O)}let g=te(p),y=te(x);if(!(g>=Ae*y)||!(y>0))continue;let a=[...p].sort((S,P)=>S-P);if(!(a[Math.floor(a.length*.1)]>=Ae*y))continue;let M=l.map(S=>{if(!S)return null;let P=[...S.samples].sort((j,D)=>j.r-D.r),O=P[0].r,_=P[P.length-1].r,G=P[0].levelM,K=-1/0;for(let j of P)j.levelM>K&&(K=j.levelM);let C=[];for(let j of P){let D={r:j.r,l:j.levelM};for(;C.length&&Math.abs(C[C.length-1].r-D.r)<1e-9;){if(C[C.length-1].l<=D.l){D.skip=!0;break}C.pop()}if(!D.skip){for(;C.length>=2;){let V=C[C.length-2],W=C[C.length-1];if((W.r-V.r)*(D.l-V.l)-(W.l-V.l)*(D.r-V.r)<=0)C.pop();else break}C.push(D)}}let U=C.map(j=>j.r),H=C.map(j=>j.l);return{inner:O,outer:_,front:G,top:K,profile:{rs:U,ls:H}}}),A=h.slice();for(let S=0;S<R;S++){if(A[S])continue;let P=-1,O=-1,_=0;for(let w=1;w<=R;w++){let E=(S-w+R*2)%R;if(A[E]){P=E;break}}for(let w=1;w<=R;w++){let E=(S+w)%R;if(A[E]){O=E,_=w;break}}if(P<0||O<0)continue;let G=0;for(let w=1;w<=R;w++){let E=(S-w+R*2)%R;if(h[E]){G=w;break}}if(G-1+_>pt)continue;let C=M[P],U=M[O],H=G/(G+_),j=C.inner+(U.inner-C.inner)*H,D=C.outer+(U.outer-C.outer)*H,V=C.front+(U.front-C.front)*H,W=C.top+(U.top-C.top)*H;M[S]={inner:j,outer:D,front:V,top:W,profile:{rs:[j,D],ls:[V,W]}}}for(let S=0;S<R;S++)M[S]&&(A[S]=!0);let T=360/R,N=[],B=A.filter(Boolean).length,z=[];if(B===R)z.push({start:0,len:R});else{let S=0;for(;A[S];)S=(S+1)%R;let P=-1;for(let O=0;O<=R;O++){let _=(S+O)%R,G=O<R&&A[_];if(G&&P<0)P=_;else if(!G&&P>=0){let K=(_-P+R)%R||R;z.push({start:P,len:K}),P=-1}}}for(let S of z){if(S.len*T<mt&&S.len<R)continue;let P=S.len===R,O=new Float64Array(S.len),_=new Float64Array(S.len),G=new Float64Array(S.len),K=new Float64Array(S.len),C=[];for(let w=0;w<S.len;w++){let E=M[(S.start+w)%R];O[w]=E.inner,_[w]=E.outer,G[w]=E.front,K[w]=E.top,C.push(E.profile??{rs:[E.inner,E.outer],ls:[E.front,E.top]})}let U=ne(O,P),H=ne(_,P),j=ne(G,P),D=ne(K,P);for(let w=0;w<S.len;w++)U[w]>O[w]&&(U[w]=O[w]),H[w]<_[w]&&(H[w]=_[w]),U[w]>H[w]-1e-6&&(U[w]=Math.max(0,H[w]-1e-6)),D[w]<j[w]&&(D[w]=j[w]);let V={startBin:S.start,binCount:S.len,closed:P,innerR:U,outerR:H,frontLevelM:j,topLevelM:D,profiles:C},W=(w,E,F)=>{let Q=C[w],X=Q.rs,$=Q.ls;if(E<=X[0]){$[0]>F&&($[0]=F);return}if(E>=X[X.length-1]){$[$.length-1]>F&&($[$.length-1]=F);return}for(let Y=0;Y+1<X.length;Y++)if(E<=X[Y+1]){$[Y]>F&&($[Y]=F),$[Y+1]>F&&($[Y+1]=F);return}};for(let w=0;w<S.len;w++){let E=l[(S.start+w)%R];if(E)for(let F of E.samples){W(w,F.r,F.levelM);let Q=P?(w-1+S.len)%S.len:w-1,X=P?(w+1)%S.len:w+1;Q>=0&&W(Q,F.r,F.levelM),X<S.len&&W(X,F.r,F.levelM)}}N.push(V)}N.reduce((S,P)=>S+P.binCount*T,0)<bt||b.push({arcs:N,sectionIds:d.members.map(S=>S.sectionId),innerRMedian:g,outerRMedian:y})}if(!b.length)return null;if(b.sort((d,l)=>d.innerRMedian-l.innerRMedian),t){let d=b[b.length-1].outerRMedian;if(Math.hypot(t.x-u.x,t.y-u.y)>.9*d)return null}return{centre:u,binCount:R,binStepDeg:360/R,rings:b}}function gt(e,t,n,o){let r=e.binStepDeg,i=n/r-.5-t.startBin;i=(i%e.binCount+e.binCount)%e.binCount,i>t.binCount-1&&(t.closed?i=i-t.binCount<t.binCount-i?0:t.binCount-1:i=i-(t.binCount-1)<e.binCount-i?t.binCount-1:0);let s=Math.floor(i),f=t.closed?(s+1)%t.binCount:Math.min(t.binCount-1,s+1),u=i-s,m=c=>{let b=t.profiles[c],d=b.rs,l=b.ls;if(o<=d[0])return l[0];if(o>=d[d.length-1])return l[l.length-1];for(let h=0;h+1<d.length;h++)if(o<=d[h+1]){let I=d[h+1]-d[h],p=I>1e-9?(o-d[h])/I:0;return l[h]+(l[h+1]-l[h])*p}return l[l.length-1]};return m(s)*(1-u)+m(f)*u}var Ce="ABCDEFGHIJKLMNOPQRSTUVWXYZ",St="ABCDEFGHJKLMNPQRSTUVWXYZ",Mt="abcdefghijklmnopqrstuvwxyz";function fe(e,t){let n=t.length,o=e+1,r="";for(;o>0;){o-=1;let i=o%n;r=t[i]+r,o=Math.floor(o/n)}return r}function Oe(e,t){let n=t.startAt-1,o=e+n;if(t.scheme==="numbers")return String(o+1);let r=t.skipAmbiguous?St:Ce;return fe(o,r)}function oe(e,t=!1){let n=t?Mt:Ce;return fe(Math.max(0,Math.floor(e)-1),n)}var wt=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];function de(e){if(!Number.isFinite(e)||e<=0)return String(e);let t=Math.floor(e),n="";for(let[o,r]of wt)for(;t>=o;)n+=r,t-=o;return n}function Pt(e,t){let n=e.length;return e.map((o,r)=>{let i=t.reverse?n-1-r:r;return{...o,label:Oe(i,t)}})}function vt(e){return{kind:"radial",rowCount:0,rows:[],nearestRow:()=>-1,depthAt:(t,n)=>Math.hypot(t-e.x,n-e.y),gradientAt:(t,n)=>{let o=t-e.x,r=n-e.y,i=Math.hypot(o,r);return i<1e-9?[0,0]:[o/i,r/i]}}}function It(e,t){if(!e.length)return null;let n=0,o=0,r=0;for(let l of e)n+=l.x,o+=l.y,r+=Math.hypot(l.x-t.x,l.y-t.y);let i=e.length;n/=i,o/=i,r/=i;let s=e[0],f=-1;for(let l of e){let h=Math.hypot(l.x-n,l.y-o);h>f&&(f=h,s=l)}let u=s.x-n,m=s.y-o,c=Math.hypot(u,m);c>1e-9?(u/=c,m/=c):(u=1,m=0);let b=[...e].sort((l,h)=>(l.x-n)*u+(l.y-o)*m-((h.x-n)*u+(h.y-o)*m)),d=0;for(let l of b){let h=Math.hypot(l.x-n,l.y-o);h>d&&(d=h)}return{pts:b,cx:n,cy:o,radius:d,depth:r}}function Ee(e,t,n){let o=e.pts;if(o.length===1)return Math.hypot(t-o[0].x,n-o[0].y);let r=1/0;for(let i=0;i+1<o.length;i++){let s=o[i],f=o[i+1],u=f.x-s.x,m=f.y-s.y,c=u*u+m*m,b=c>1e-12?((t-s.x)*u+(n-s.y)*m)/c:0;b<0?b=0:b>1&&(b=1);let d=Math.hypot(t-(s.x+b*u),n-(s.y+b*m));d<r&&(r=d)}return r}var re=8;function At(e,t,n){let o=new Array(re).fill(1/0),r=new Array(re).fill(-1);for(let c=0;c<e.length;c++){let b=e[c],d=Math.hypot(t-b.cx,n-b.cy)-b.radius;for(let l=0;l<re;l++)if(d<o[l]){for(let h=re-1;h>l;h--)o[h]=o[h-1],r[h]=r[h-1];o[l]=d,r[l]=c;break}}let i=new Array(3).fill(1/0),s=new Array(3).fill(-1);for(let c of r){if(c<0)continue;let b=Ee(e[c],t,n);for(let d=0;d<3;d++)if(b<i[d]){for(let l=2;l>d;l--)i[l]=i[l-1],s[l]=s[l-1];i[d]=b,s[d]=c;break}}if(s[0]<0)return 0;if(i[0]<1e-6)return e[s[0]].depth;let f=i[0]*2.2,u=0,m=0;for(let c=0;c<3;c++){let b=s[c];if(b<0||i[c]>f)continue;let d=1/(i[c]*i[c]);u+=d*e[b].depth,m+=d}return m>0?u/m:e[s[0]].depth}function Rt(e){let t=(o,r)=>At(e,o,r),n=(o,r)=>{let i=1/0,s=-1;for(let f=0;f<e.length;f++){let u=e[f];if(Math.hypot(o-u.cx,r-u.cy)-u.radius>=i)continue;let m=Ee(u,o,r);m<i&&(i=m,s=f)}return s};return{kind:"rows",rowCount:e.length,rows:e,nearestRow:n,depthAt:t,gradientAt:(o,r)=>{let i=(t(o+.5,r)-t(o-.5,r))/1,s=(t(o,r+.5)-t(o,r-.5))/(2*.5),f=Math.hypot(i,s);return f<1e-9?[0,0]:[i/f,s/f]}}}function Ct(e,t){let n=[];for(let o of e){let r=It(o.points,t);r&&n.push(r)}return n.length<2?vt(t):(n.sort((o,r)=>o.depth-r.depth),Rt(n))}function Ot(e){return e==="exact-seat"?"Exact seat in the model":e==="row-representative"?"Representative row evidence":e==="section-representative"?"Representative section evidence":e==="floor-representative"?"Representative floor evidence":"Representative venue evidence"}function Et(e){if(!e)return"No assessment date supplied";let t=new Date(e);return Number.isFinite(t.getTime())?`Assessed ${t.toISOString().slice(0,10)}`:"No assessment date supplied"}function Tt(e){if(!e)return{headline:"Generated view \xB7 unverified",model:"No geometry or event-configuration verification supplied",reality:"No real-world check supplied",coverage:"Selected chart seat",provenance:"Chart-derived model",freshness:"No evidence date supplied",limitations:["Generated view is not surveyed sightline truth."]};let t=e.evidenceKind==="synthetic-model",n=e.modelLevel==="configuration-verified"?"Event configuration verified":e.modelLevel==="geometry-verified"?"Venue geometry verified":t?"Versioned synthetic model":"Generated model \xB7 not verified",o=e.realityLevel==="actual-build-checked"?"Actual event build reality checked":e.realityLevel==="comparable-build-reference"?"Comparable-build reference only":"No real-world check supplied",r=t?"Synthetic model evidence":e.modelLevel==="configuration-verified"?"Configuration verified":e.modelLevel==="geometry-verified"?"Geometry verified":"Generated view \xB7 unverified",i=[...e.limitations??[],...t?["Synthetic demo; not surveyed or venue-certified."]:[]],s=e.modeledTarget?`${e.modeledTarget.clearRayCount}/${e.modeledTarget.totalRayCount} target rays clear \xB7 ${e.modeledTarget.classification} in bounded model`:void 0;return s&&i.push("Modeled target is not a percentage of the show visible."),{headline:r,model:n,reality:o,coverage:Ot(e.coverage),provenance:e.sourceLabel??e.approvedByRole??"Source not supplied",freshness:Et(e.assessedAt),limitations:i,...s?{modeledTarget:s}:{}}}function _t(e){let t=new Array(e);return Array.from({length:e},(n,o)=>o).sort((n,o)=>Math.abs(2*n-(e-1))-Math.abs(2*o-(e-1))||n-o).forEach((n,o)=>t[n]=o),t}function ie(e,t){let n=e.seatLabelStart??1,o=e.seatNumbering?.direction??"ltr",r=e.seatNumbering?.step??1,i=e.seatNumbering?.scheme??"decimal",s=e.seatNumbering?.prefix??"",f=e.seatNumbering?.endAt,u=e.seatCount;if(i==="updown"||i==="updown-descending"){let l=Math.ceil(u/2),h=i==="updown"?t<l?n+2*t:n-1+2*(u-t):t<l?n+2*(l-1-t):n+1+2*(t-l);return`${s}${h}`}let m=i==="odd"||i==="even"?2:r,c=f!=null&&Number.isFinite(f)?f-(u-1)*m:n,b=o==="center"?_t(u)[t]:o==="rtl"?u-1-t:t,d;switch(i){case"odd":{let l=c%2===1?c:c+1;d=String(l+b*2);break}case"even":{let l=c%2===0?c:c+1;d=String(l+b*2);break}case"roman":d=de(c+b*r);break;case"letters-upper":d=oe(c+b*r,!1);break;case"letters-lower":d=oe(c+b*r,!0);break;default:d=String(c+b*r);break}return`${s}${d}`}function Te(e){return{...e.canonical,seatCount:e.totalSeats,label:e.displayLabel,displayLabel:e.displayLabel}}function he(e,t,n){return n?.label??`${e.label}-${ie(e,t)}`}function pe(e,t,n,o){if(o?.displayLabel)return o.displayLabel;if(!n)return`${e.displayLabel??e.label}-${ie(e,t)}`;let r=Te(n),i=n.displayOffset+t;return`${n.displayLabel}-${ie(r,i)}`}function kt(e,t,n){return Math.max(t,Math.min(n,e))}function jt(e){return kt(e,0,1)}function _e(e){let t=jt(e);return t*t*(3-2*t)}var An=Math.PI/180;function L(e,t){return Math.hypot(e.x-t.x,e.y-t.y)}function me(e,t,n){return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}}var q=Math.PI*2;function J(e){return Number.isFinite(e.x)&&Number.isFinite(e.y)}function Lt(e,t,n){let o=t-e;if(n){for(;o<0;)o+=q;for(;o>=q;)o-=q}else{for(;o>0;)o-=q;for(;o<=-q;)o+=q}return o}function Nt(e){return e.end}function be(e){if(e.version!==1||e.closed!==!0||!J(e.start)||!Array.isArray(e.segments)||e.segments.length<2||e.segments.length>512)return!1;let t=e.start;for(let n of e.segments){if(!n||!J(n.end))return!1;if(n.kind==="line"){if(L(t,n.end)<=1e-9)return!1}else if(n.kind==="bezier"){if(!J(n.control1)||!J(n.control2)||L(t,n.end)<=1e-9)return!1}else if(n.kind==="arc"){if(!J(n.center)||!Number.isFinite(n.radius)||n.radius<=1e-6||Math.abs(L(t,n.center)-n.radius)>Math.max(1e-4,n.radius*1e-4)||Math.abs(L(n.end,n.center)-n.radius)>Math.max(1e-4,n.radius*1e-4)||L(t,n.end)<=1e-9)return!1}else return!1;t=n.end}return L(t,e.start)<=1e-4}function Dt(e,t,n){let o=1-n;return{x:o**3*e.x+3*o**2*n*t.control1.x+3*o*n**2*t.control2.x+n**3*t.end.x,y:o**3*e.y+3*o**2*n*t.control1.y+3*o*n**2*t.control2.y+n**3*t.end.y}}function Ft(e,t=2){if(!be(e))throw new Error("Section outline path is invalid");let n=Math.max(.25,t),o=[{...e.start}],r=e.start;for(let i of e.segments){if(i.kind==="line")o.push({...i.end});else if(i.kind==="arc"){let s=Math.atan2(r.y-i.center.y,r.x-i.center.x),f=Math.atan2(i.end.y-i.center.y,i.end.x-i.center.x),u=Lt(s,f,i.clockwise),m=Math.max(2,Math.ceil(Math.abs(u)*i.radius/n));for(let c=1;c<=m;c+=1){let b=s+u*c/m;o.push({x:i.center.x+Math.cos(b)*i.radius,y:i.center.y+Math.sin(b)*i.radius})}}else{let s=L(r,i.control1)+L(i.control1,i.control2)+L(i.control2,i.end),f=Math.max(2,Math.ceil(s/n));for(let u=1;u<=f;u+=1)o.push(Dt(r,i,u/f))}r=i.end}return L(o[o.length-1],o[0])<=1e-4&&o.pop(),o}function Bt(e,t,n){return Le(e,r=>({x:r.x+t,y:r.y+n}))}function Le(e,t,n=1,o=!1){return{...e,start:t(e.start),segments:e.segments.map(r=>r.kind==="line"?{...r,end:t(r.end)}:r.kind==="arc"?{...r,center:t(r.center),radius:r.radius*Math.abs(n),clockwise:o?!r.clockwise:r.clockwise,end:t(r.end)}:{...r,control1:t(r.control1),control2:t(r.control2),end:t(r.end)})}}var Gt=45,Ut=150,ke=.5523;function je(e,t){return Math.abs(e.x-t.x)<=1e-6&&Math.abs(e.y-t.y)<=1e-6}function Ht(e){let t=[],n=[];for(e.forEach((o,r)=>{J(o)&&(t.length&&je(t[t.length-1],o)||(t.push({x:o.x,y:o.y}),n.push(r)))});t.length>1&&je(t[0],t[t.length-1]);)t.pop(),n.pop();return{points:t,sourceIndex:n}}function zt(e,t,n){return De(e,{cornerSmoothing:t,...n})}var Ne=.5,$t=4/3;function Kt(e,t,n){let o=t.x-e.x,r=t.y-e.y,i=Math.hypot(o,r);if(i<=1e-9)return{kind:"line",end:{...t}};let s=-r/i,f=o/i,u=n*$t;return{kind:"bezier",control1:{x:e.x+o/3+s*u,y:e.y+r/3+f*u},control2:{x:e.x+o*2/3+s*u,y:e.y+r*2/3+f*u},end:{...t}}}function De(e,t){let{points:n,sourceIndex:o}=Ht(e),r=n.length;if(r<3)return null;let i=Math.min(100,Math.max(0,t.cornerSmoothing??0))/100,s=t.edgeCurvature,f=new Array(r).fill(0);if(s?.length)for(let a=0;a<r;a+=1){let v=s[o[a]];f[a]=Number.isFinite(v)?Math.min(100,Math.max(-100,v))/100:0}let u=f.some(a=>Math.abs(a)>1e-6);if(i<=0&&!u)return null;let m=t.wideAngleThresholdDeg??Ut,c=[];for(let a=0;a<r;a+=1)c[a]=L(n[a],n[(a+1)%r]);let b=new Array(r).fill(0);for(let a=0;a<r;a+=1){let v=n[(a-1+r)%r],M=n[a],A=n[(a+1)%r],T={x:v.x-M.x,y:v.y-M.y},N={x:A.x-M.x,y:A.y-M.y},B=Math.hypot(T.x,T.y),z=Math.hypot(N.x,N.y);if(B<=1e-9||z<=1e-9)continue;let k=Math.min(1,Math.max(-1,(T.x*N.x+T.y*N.y)/(B*z))),S=Math.acos(k)*180/Math.PI;if(S<m)continue;let P=_e((S-m)/(180-m));b[a]=i*P*.5*Math.min(B,z)}for(let a=0;a<r;a+=1){let v=(a+1)%r,M=b[a]+b[v];if(M>c[a]&&M>1e-9){let A=c[a]/M;b[a]*=A,b[v]*=A}}let d=new Array(r),l=new Array(r);for(let a=0;a<r;a+=1){let v=n[(a-1+r)%r],M=n[a],A=n[(a+1)%r];if(b[a]<=1e-6){d[a]={...M},l[a]={...M};continue}let T=L(M,v)||1,N=L(M,A)||1;d[a]={x:M.x+(v.x-M.x)/T*b[a],y:M.y+(v.y-M.y)/T*b[a]},l[a]={x:M.x+(A.x-M.x)/N*b[a],y:M.y+(A.y-M.y)/N*b[a]}}if(b.every(a=>a<=1e-6)&&!u)return null;let h=[],I={...l[0]},p=I,x=(a,v)=>{if(L(p,a)<=1e-9)return;let M=f[v];Math.abs(M)>1e-6?h.push(Kt(p,a,M*Ne*c[v])):h.push({kind:"line",end:{...a}}),p=a};for(let a=1;a<=r;a+=1){let v=a%r,M=n[v];x(d[v],(a-1)%r),b[v]>1e-6&&L(d[v],l[v])>1e-9&&(h.push({kind:"bezier",control1:me(d[v],M,ke),control2:me(l[v],M,ke),end:{...l[v]}}),p=l[v])}if(!h.length)return null;let g=h[h.length-1];L(g.end,I)>1e-9&&(g.kind==="line"?g.end={...I}:h.push({kind:"line",end:{...I}}));let y={version:1,closed:!0,start:I,segments:h};return be(y)?y:null}function Vt(e){let t=[],n=e.start;for(let r of e.segments)t.push(n),n=r.end;let o=[];for(let r=e.segments.length-1;r>=0;r-=1){let i=e.segments[r],s=t[r];i.kind==="line"?o.push({kind:"line",end:{...s}}):i.kind==="arc"?o.push({kind:"arc",center:{...i.center},radius:i.radius,clockwise:!i.clockwise,end:{...s}}):o.push({kind:"bezier",control1:{...i.control2},control2:{...i.control1},end:{...s}})}return{version:1,closed:!0,start:{...e.start},segments:o}}function Fe(e,t){let n=1-t,o=n*n*n,r=3*n*n*t,i=3*n*t*t,s=t*t*t;return{x:o*e.start.x+r*e.control1.x+i*e.control2.x+s*e.end.x,y:o*e.start.y+r*e.control1.y+i*e.control2.y+s*e.end.y}}function Be(e,t,n=192){if(!Number.isInteger(t)||t<1)throw new Error("Path point count must be a positive integer");if(t===1)return[Fe(e,.5)];let o=Array.from({length:n+1},(u,m)=>Fe(e,m/n)),r=new Float64Array(o.length);for(let u=1;u<o.length;u+=1){let m=o[u].x-o[u-1].x,c=o[u].y-o[u-1].y;r[u]=r[u-1]+Math.hypot(m,c)}let i=r[r.length-1];if(i<=1e-9)return Array.from({length:t},()=>({...e.start}));let s=[],f=1;for(let u=0;u<t;u+=1){let m=i*u/(t-1);for(;f<r.length-1&&r[f]<m;)f+=1;let c=r[f-1],b=r[f],d=b===c?0:(m-c)/(b-c);s.push({x:o[f-1].x+(o[f].x-o[f-1].x)*d,y:o[f-1].y+(o[f].y-o[f-1].y)*d})}return s}var Ue=.02291666666666667,_n=1/Ue,Wt=58,ge=Wt*Ue;var Xt=3,Ge=0,ye=120,Yt=0,qt=45,Jt=7;function xe(e,t,n,o){return Number.isFinite(e)?Math.max(t,Math.min(n,e)):o}function Qt(e){return!Number.isFinite(e)||!Number.isInteger(e)||e<0?0:e<=Jt?e:Xt}function He(e,t={}){let n=xe(t.floorBaseHeightM,Ge,ye,0),o=Math.min(ye,n+Qt(e.elevation)*ge),r=e.height===void 0?o:xe(e.height,Ge,ye,o),i=xe(e.rake,Yt,qt,0);return{height:r,rake:i}}function Ve(e){return e?e.accessibility&&e.accessibility.length?e.wheelchairSpaceType&&!e.accessibility.includes("wheelchair")?["wheelchair",...e.accessibility]:e.accessibility:e.wheelchairSpaceType?["wheelchair"]:e.accessible?["wheelchair"]:[]:[]}var se=Math.PI/180;var Z=16;function Me(e,t,n,o){let r=n*se,i=Math.cos(r),s=Math.sin(r);return{x:o.x+e*i-t*s,y:o.y+e*s+t*i}}function Zt(e){let{seatCount:t,seatSpacing:n,curve:o,rotation:r,origin:i}=e,s=[];if(e.path)return Be(e.path,t);if(t<=1)return t===1&&s.push({x:i.x,y:i.y}),s;if(o===0){for(let m=0;m<t;m++)s.push(Me(m*n,0,r,i));return s}let f=o/(t-1)*se,u=n/(2*Math.sin(Math.abs(f)/2));for(let m=0;m<t;m++){let c=m*f,b=u*Math.sin(c),d=-u+u*Math.cos(c);s.push(Me(b,d,r,i))}return s}function en(e){let t=new Map;if(e.overrides)for(let n of e.overrides)t.set(n.index,n);return t}function tn(e,t){let n=en(e);return Zt(e).map((o,r)=>{let i=n.get(r),s=Ve(i),f=he(e,r,i),u={...e.commercial,...i?.commercial};return{index:r,x:o.x+(i?.dx??0),y:o.y+(i?.dy??0),label:f,displayLabel:pe(e,r,t,i),categoryKey:i?.categoryKey??e.categoryKey,skipped:!!i?.skip,accessible:s.length>0,accessibility:s,wheelchairSpaceType:i?.wheelchairSpaceType,commercial:Object.values(u).some(m=>m!==void 0&&m!==!1&&m!=="")?u:void 0,viewUrl:i?.viewFromSeatUrl??e.viewFromSeatUrl,viewMeta:i?.viewFromSeatUrl?i.viewFromSeatMeta:e.viewFromSeatMeta,labelStyle:i?.labelStyle}})}function we(e){let t=[];for(let n of tn(e))n.skipped||t.push({id:`${e.id}:${n.index}`,label:n.label,displayLabel:n.displayLabel===n.label?void 0:n.displayLabel,x:n.x,y:n.y,rowId:e.id,categoryKey:n.categoryKey,accessible:n.accessible||void 0,accessibility:n.accessibility.length?n.accessibility:void 0,wheelchairSpaceType:n.wheelchairSpaceType,commercial:n.commercial,viewUrl:n.viewUrl,viewMeta:n.viewMeta,labelStyle:n.labelStyle});return t}function nn(e){if(e.seatCountsBySide)return{...e.seatCountsBySide};let t=e.sides&&e.sides.length?e.sides:["top","bottom"],n=["top","bottom","left","right"].filter(i=>t.includes(i)),o={top:0,bottom:0,left:0,right:0};if(!n.length)return o;let r=Math.max(0,Math.round(e.seatCount));for(let i=0;i<r;i++)o[n[i%n.length]]+=1;return o}function on(e){let t=[],n=Math.max(0,Math.round(e.seatCount));if(n===0)return t;let o=new Map((e.overrides??[]).map(c=>[c.index,c])),r=(c,b,d,l)=>{let h=o.get(c),I=Ve(h),p=h?.label??`${e.label}-${c+1}`,x=e.displayLabel??e.label;return{index:c,label:p,displayLabel:h?.displayLabel??`${x}-${c+1}`,x:b+(h?.dx??0),y:d+(h?.dy??0),categoryKey:h?.categoryKey??e.categoryKey,skipped:!!h?.skip,accessible:I.length>0,accessibility:I,wheelchairSpaceType:h?.wheelchairSpaceType,commercial:h?.commercial,viewUrl:h?.viewFromSeatUrl,viewMeta:h?.viewFromSeatUrl?h.viewFromSeatMeta:void 0,labelStyle:h?.labelStyle,...l?{side:l}:{}}};if(e.shape==="round"){let c=(e.radius??40)+Z,b=e.rotation*se,d=Math.max(0,Math.min(360,e.seatArc??360));if(d>=360||n===1){for(let p=0;p<n;p++){let x=b+p/n*2*Math.PI;t.push(r(p,e.center.x+c*Math.cos(x),e.center.y+c*Math.sin(x)))}return t}let l=d*se,h=(2*Math.PI-l)/2,I=b+h;for(let p=0;p<n;p++){let x=I+p/(n-1)*l;t.push(r(p,e.center.x+c*Math.cos(x),e.center.y+c*Math.sin(x)))}return t}let i=e.width??80,s=e.height??50,f=nn(e),u=["top","bottom","left","right"],m=0;for(let c of u){let b=f[c];for(let d=0;d<b;d++){let l,h;c==="top"?(l=-i/2+(d+.5)*i/b,h=-s/2-Z):c==="bottom"?(l=-i/2+(d+.5)*i/b,h=s/2+Z):c==="left"?(l=-i/2-Z,h=-s/2+(d+.5)*s/b):(l=i/2+Z,h=-s/2+(d+.5)*s/b);let I=Me(l,h,e.rotation,e.center);t.push(r(m++,I.x,I.y,c))}}return t}function We(e){return on(e).filter(t=>!t.skipped).map(t=>({id:`${e.id}:${t.index}`,label:t.label,...t.displayLabel!==t.label?{displayLabel:t.displayLabel}:{},x:t.x,y:t.y,rowId:e.id,categoryKey:t.categoryKey,...t.accessible?{accessible:!0}:{},...t.accessibility.length?{accessibility:t.accessibility}:{},...t.wheelchairSpaceType?{wheelchairSpaceType:t.wheelchairSpaceType}:{},...t.commercial?{commercial:t.commercial}:{},...t.viewUrl?{viewUrl:t.viewUrl}:{},...t.viewUrl&&t.viewMeta?{viewMeta:t.viewMeta}:{},...t.labelStyle?{labelStyle:t.labelStyle}:{}}))}function Xe(e){return[{id:`${e.id}:0`,label:e.label,...e.displayLabel&&e.displayLabel!==e.label?{displayLabel:e.displayLabel}:{},x:e.center.x,y:e.center.y,rowId:e.id,categoryKey:e.categoryKey,kind:"booth"}]}function ze(e,t){let n=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){let i=t[o].x,s=t[o].y,f=t[r].x,u=t[r].y;s>e.y!=u>e.y&&e.x<(f-i)*(e.y-s)/(u-s)+i&&(n=!n)}return n}function rn(e,t){return t.some((n,o)=>{let r=t[(o+1)%t.length],i=(e.y-n.y)*(r.x-n.x)-(e.x-n.x)*(r.y-n.y);if(Math.abs(i)>1e-7)return!1;let s=(e.x-n.x)*(r.x-n.x)+(e.y-n.y)*(r.y-n.y),f=(r.x-n.x)**2+(r.y-n.y)**2;return s>=-1e-7&&s<=f+1e-7})}function $e(e,t,n){return ze(e,t)&&!(n??[]).some(o=>ze(e,o)||rn(e,o))}function Se(e){if(!e.length)return{x:0,y:0};let t=0,n=0;for(let o of e)t+=o.x,n+=o.y;return{x:t/e.length,y:n/e.length}}function sn(e){switch(e.type){case"row":{let t=we(e);if(!t.length)return{x:e.origin.x,y:e.origin.y};let n=0,o=0;for(let r of t)n+=r.x,o+=r.y;return{x:n/t.length,y:o/t.length}}case"table":case"booth":return{x:e.center.x,y:e.center.y};case"gaArea":return Se(e.points);case"section":return Se(e.outline);case"text":return{x:e.position.x,y:e.position.y};case"shape":return e.points&&e.points.length?Se(e.points):e.x!=null&&e.y!=null&&e.width!=null&&e.height!=null?{x:e.x+e.width/2,y:e.y+e.height/2}:{x:e.x??0,y:e.y??0};case"decorImage":return{x:e.x+e.width/2,y:e.y+e.height/2}}}function Ke(e,t){return e.length===t.length&&e.every((n,o)=>n.x===t[o].x&&n.y===t[o].y)}function cn(e,t){if(e.type!=="gaArea"||!Ke(e.points,t.outline))return!1;let n=e.holes??[],o=t.holes??[];return n.length===o.length&&n.every((r,i)=>Ke(r,o[i]))}function Ye(e,t){let n=e.filter(s=>s.type==="section"),o="referenceInventorySource"in t?t.referenceInventorySource?.logicalSectionId:void 0,r=sn(t);return(o?n.find(s=>(s.logicalSectionId??s.id)===o&&(cn(t,s)||$e(r,s.outline,s.holes))):void 0)??n.find(s=>$e(r,s.outline,s.holes))}function qe(e){return e.floors&&e.floors.length?e.floors.flatMap(t=>t.objects):e.objects}var an="__sl_ga__",Pe=1e5;function ln(e,t){return`${an}${encodeURIComponent(e)}__${t+1}`}function un(e){let t=e.inventorySegments;if(t===void 0)return!0;if(!Array.isArray(t)||t.length<1||t.length>256)return!1;let n=0,o=new Map;for(let r of t){if(!r||typeof r.sourceAreaId!="string"||!r.sourceAreaId.trim()||r.sourceAreaId.length>160||!Number.isInteger(r.startIndex)||r.startIndex<0||!Number.isInteger(r.count)||r.count<1||r.startIndex+r.count>Pe||(n+=r.count,n>Pe))return!1;let i=o.get(r.sourceAreaId)??[],s=r.startIndex+r.count;if(i.some(f=>r.startIndex<f.end&&s>f.start))return!1;i.push({start:r.startIndex,end:s}),o.set(r.sourceAreaId,i)}return n===e.capacity}function fn(e){let t=Math.min(Pe,Math.max(0,Math.floor(e.capacity)));return e.inventorySegments===void 0?t?[{sourceAreaId:e.id,startIndex:0,count:t}]:[]:un(e)?e.inventorySegments.map(n=>({...n})):[]}function Je(e){return fn(e).flatMap(t=>Array.from({length:t.count},(n,o)=>ln(t.sourceAreaId,t.startIndex+o)))}var ce="__ungrouped__";function dn(e){return e.type==="row"?we(e).map(t=>t.label):e.type==="table"?We(e).map(t=>t.label):e.type==="booth"?Xe(e).map(t=>t.label):e.type==="gaArea"?Je(e):[]}function hn(e){return e.type==="row"||e.type==="table"||e.type==="booth"||e.type==="gaArea"}function Qe(e){let t=qe(e),n=t.filter(s=>s.type==="section"),o=new Map;for(let s of n){let f=s.logicalSectionId??s.id;o.get(f)||o.set(f,{id:f,label:s.displayLabel||s.label||"Section",zone:s.zone,seatCount:0,objectIds:[],seatLabels:[]})}let r={id:ce,label:"Other seats",seatCount:0,objectIds:[],seatLabels:[]},i=new Map;for(let s of t){if(!hn(s))continue;let f=dn(s);if(f.length===0)continue;let u=Ye(t,s),m=u?o.get(u.logicalSectionId??u.id):r;m.seatCount+=f.length,m.objectIds.push(s.id),m.seatLabels.push(...f),i.set(s.id,m.id)}return{sections:[...o.values()],ungrouped:r.objectIds.length?r:null,objectToSection:i}}function Ze(e,t){return t.has(e.id)||!!e.logicalSectionId&&t.has(e.logicalSectionId)||!!e.zone&&t.has(e.zone)}function et(e,t){let n=new Set;if(!t.size)return n;let{sections:o,ungrouped:r,objectToSection:i}=Qe(e),s=new Set,f=new Map(o.map(m=>[m.id,m.zone]));for(let m of o){let c=f.get(m.id);(t.has(m.id)||c&&t.has(c))&&s.add(m.id)}let u=!!r&&t.has(ce);for(let[m,c]of i)(s.has(c)||u&&c===ce)&&n.add(m);return n}function pn(e,t){if(!t.size)return e;let n=et(e,t),o=t instanceof Set?t:new Set(t),r=s=>!(n.has(s.id)||s.type==="section"&&Ze(s,o));if(e.floors&&e.floors.length){let s=!1,f=e.floors.map(u=>{let m=u.objects.filter(r);return m.length!==u.objects.length&&(s=!0),m.length===u.objects.length?u:{...u,objects:m}});return s?{...e,floors:f,objects:f[0].objects}:e}let i=e.objects.filter(r);return i.length===e.objects.length?e:{...e,objects:i}}0&&(module.exports={DEFAULT_SECTION_CORNER_SMOOTHING,MAX_EDGE_SAGITTA_RATIO,TIER_HEIGHT_M,UNGROUPED_ID,applyHidden,arcLevelAt,bearingDeg,buildSectionRake,computeSections,distanceToPolyline,fitBowlProfile,fitCircle,hiddenObjectIds,indexLabel,isSectionHidden,logicalNumberingRow,relabelRows,resolveSection,reverseSectionOutlinePath,sampleSectionOutlinePath,seatConfidenceDisclosure,seatDisplayLabel,seatInventoryLabel,seatLabelPart,sectionCornerSmoothingPath,sectionGeometry,sectionOutlinePathFrom,sectionPathSegmentEnd,toBijectiveBase,toLetters,toRoman,transformSectionOutlinePath,translateSectionOutlinePath,validSectionOutlinePath});
1
+ "use strict";var ae=Object.defineProperty;var tt=Object.getOwnPropertyDescriptor;var nt=Object.getOwnPropertyNames;var ot=Object.prototype.hasOwnProperty;var rt=(e,t)=>{for(var n in t)ae(e,n,{get:t[n],enumerable:!0})},it=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of nt(t))!ot.call(e,r)&&r!==n&&ae(e,r,{get:()=>t[r],enumerable:!(o=tt(t,r))||o.enumerable});return e};var st=e=>it(ae({},"__esModule",{value:!0}),e);var mn={};rt(mn,{DEFAULT_SECTION_CORNER_SMOOTHING:()=>Gt,MAX_EDGE_SAGITTA_RATIO:()=>De,TIER_HEIGHT_M:()=>ge,UNGROUPED_ID:()=>ce,applyHidden:()=>pn,arcLevelAt:()=>gt,bearingDeg:()=>Re,buildSectionRake:()=>Ct,computeSections:()=>Qe,distanceToPolyline:()=>ue,fitBowlProfile:()=>xt,fitCircle:()=>ee,hiddenObjectIds:()=>et,indexLabel:()=>Oe,isSectionHidden:()=>Ze,logicalNumberingRow:()=>Te,relabelRows:()=>Pt,resolveSection:()=>dt,reverseSectionOutlinePath:()=>Vt,sampleSectionOutlinePath:()=>Ft,seatConfidenceDisclosure:()=>Tt,seatDisplayLabel:()=>pe,seatInventoryLabel:()=>he,seatLabelPart:()=>ie,sectionCornerSmoothingPath:()=>zt,sectionGeometry:()=>He,sectionOutlinePathFrom:()=>Ne,sectionPathSegmentEnd:()=>Dt,toBijectiveBase:()=>fe,toLetters:()=>oe,toRoman:()=>de,transformSectionOutlinePath:()=>Le,translateSectionOutlinePath:()=>Bt,validSectionOutlinePath:()=>be});module.exports=st(mn);function ve(e){let t=e.length;return t<=3?[...e]:[e[Math.floor(t*.25)],e[Math.floor(t*.5)],e[Math.floor(t*.75)]]}function ue(e,t,n){if(!e.length)return 1/0;if(e.length===1)return Math.hypot(t-e[0].x,n-e[0].y);let o=1/0;for(let r=0;r+1<e.length;r++){let i=e[r],s=e[r+1],f=s.x-i.x,u=s.y-i.y,m=f*f+u*u,c=m>1e-12?((t-i.x)*f+(n-i.y)*u)/m:0;c<0?c=0:c>1&&(c=1);let b=Math.hypot(t-(i.x+c*f),n-(i.y+c*u));b<o&&(o=b)}return o}function ct(e){let t=0,n=0;for(let i of e)t+=i.x,n+=i.y;let o=e.length||1;t/=o,n/=o;let r=0;for(let i of e){let s=Math.hypot(i.x-t,i.y-n);s>r&&(r=s)}return{cx:t,cy:n,r}}function Ie(e,t){return Math.hypot(e.cx-t.cx,e.cy-t.cy)-e.r-t.r}function le(e,t){let n=1/0;for(let o of ve(e)){let r=ue(t,o.x,o.y);r<n&&(n=r)}for(let o of ve(t)){let r=ue(e,o.x,o.y);r<n&&(n=r)}return n}function at(e,t){if(e.length<3)return{pts:e,seatIndices:t};let n=0,o=0;for(let c of e)n+=c.x,o+=c.y;n/=e.length,o/=e.length;let r=-1,i=e[0];for(let c of e){let b=Math.hypot(c.x-n,c.y-o);b>r&&(r=b,i=c)}let s=i.x-n,f=i.y-o,u=Math.hypot(s,f);u>1e-9?(s/=u,f/=u):(s=1,f=0);let m=e.map((c,b)=>({p:c,i:b,t:(c.x-n)*s+(c.y-o)*f})).sort((c,b)=>c.t-b.t);return{pts:m.map(c=>c.p),seatIndices:m.map(c=>t[c.i])}}function ee(e){let t=e.length;if(t<3)return null;let n=0,o=0;for(let g of e)n+=g.x,o+=g.y;n/=t,o/=t;let r=0,i=0,s=0,f=0,u=0,m=0,c=0;for(let g of e){let y=g.x-n,a=g.y-o;r+=y*y,s+=a*a,i+=y*a,f+=y*y*y,u+=a*a*a,m+=y*a*a,c+=a*y*y}let b=r*s-i*i;if(Math.abs(b)<1e-9)return null;let d=(f+m)/2,l=(u+c)/2,p=(d*s-l*i)/b,A=(l*r-d*i)/b,h=p+n,x=A+o;return!Number.isFinite(h)||!Number.isFinite(x)?null:{cx:h,cy:x}}var lt=.15;function ut(e){if(e.length<2)return null;let t=e.map(g=>{let y=0,a=0;for(let I of g.pts)y+=I.x,a+=I.y;return{x:y/g.pts.length,y:a/g.pts.length}}),n=0,o=0;for(let g of t)n+=g.x,o+=g.y;n/=t.length,o/=t.length;let r=0,i=0,s=0;for(let g of t){let y=g.x-n,a=g.y-o;r+=y*y,i+=y*a,s+=a*a}let f=r+s,u=r*s-i*i,m=f/2+Math.sqrt(Math.max(0,f*f/4-u)),c,b;Math.abs(i)>1e-12?(c=m-s,b=i):r>=s?(c=1,b=0):(c=0,b=1);let d=Math.hypot(c,b);if(!(d>1e-12))return null;c/=d,b/=d;let l=1/0,p=-1/0,A=[];for(let g of e){let y=1/0,a=-1/0;for(let I of g.pts){let S=I.x*c+I.y*b;S<y&&(y=S),S>a&&(a=S),S<l&&(l=S),S>p&&(p=S)}A.push(a-y)}let h=p-l;return h>1e-9?(A.sort((g,y)=>g-y),A[Math.min(A.length-1,Math.floor(A.length*.9))]/h<=ft?{x:c,y:b}:null):null}var ft=.35;function dt(e,t,n,o){let r=new Map;for(let h of n){let x=t[h],g=x.rowId||`__seat-${h}`,y=r.get(g);y||(y={pts:[],idx:[]},r.set(g,y)),y.pts.push({x:x.x,y:x.y}),y.idx.push(h)}if(!r.size)return{sectionId:e,rows:[],blockCount:0};let i=[];for(let[h,x]of r){let g=at(x.pts,x.idx),y=0;for(let a of g.pts)y+=Math.hypot(a.x-o.x,a.y-o.y);i.push({id:h,pts:g.pts,seatIndices:g.seatIndices,blockId:-1,ordinal:0,blockDepth:0,focalDistance:y/g.pts.length})}let s=i.map(h=>ct(h.pts)),f=[];for(let h=0;h<i.length;h++){let x=1/0;for(let g=0;g<i.length;g++){if(h===g||Ie(s[h],s[g])>=x)continue;let y=le(i[h].pts,i[g].pts);y<x&&(x=y)}Number.isFinite(x)&&f.push(x)}f.sort((h,x)=>h-x);let u=f.length?f[Math.floor(f.length/2)]:1,m=Math.max(u*1.8,1e-6),c=i.map(()=>[]);for(let h=0;h<i.length;h++)for(let x=h+1;x<i.length;x++)Ie(s[h],s[x])>m||le(i[h].pts,i[x].pts)<=m&&(c[h].push(x),c[x].push(h));let b=0;for(let h=0;h<i.length;h++){if(i[h].blockId!==-1)continue;let x=b++,g=[h];for(i[h].blockId=x;g.length;){let y=g.pop();for(let a of c[y])i[a].blockId===-1&&(i[a].blockId=x,g.push(a))}}let d=new Map;for(let h of i){let x=d.get(h.blockId)??[];x.push(h),d.set(h.blockId,x)}let l=[];for(let h of i){if(h.pts.length<4)continue;let x=ee(h.pts);x&&(!Number.isFinite(x.cx)||!Number.isFinite(x.cy)||l.push({x:x.cx,y:x.cy}))}let p=l.length>=2?(()=>{let h=l.map(y=>y.x).sort((y,a)=>y-a),x=l.map(y=>y.y).sort((y,a)=>y-a),g=Math.floor(l.length/2);return{cx:h[g],cy:x[g]}})():null;if(p){let h=S=>Math.hypot(S.x-p.cx,S.y-p.cy),x=1/0,g=-1/0,y=[];for(let S of i){let R=1/0,_=-1/0;for(let N of S.pts){let F=h(N);F<R&&(R=F),F>_&&(_=F)}y.push(_-R),R<x&&(x=R),_>g&&(g=_)}let a=g-x;y.sort((S,R)=>S-R);let I=y[Math.min(y.length-1,Math.floor(y.length*.9))];if(a>1e-9&&I/a<=lt){let S=i.map(P=>{let E=0;for(let B of P.pts)E+=h(B);return{row:P,radius:E/P.pts.length}}),R=S[0],_=S[0];for(let P of S)P.radius<R.radius&&(R=P),P.radius>_.radius&&(_=P);if(R.row.focalDistance>_.row.focalDistance)for(let P of S)P.radius=-P.radius;let F=1/0;for(let P of S)P.radius<F&&(F=P.radius);S.sort((P,E)=>P.radius-E.radius);let H=-1,J=-1/0,w=a/Math.max(1,S.length)*.5,v=[];for(let P of S)P.radius-J>w&&(H++,J=P.radius),P.row.ordinal=H,P.row.blockDepth=P.radius-F,v.push(P.row);return{sectionId:e,rows:v,blockCount:b}}}let A=[];for(let[,h]of d){let x=ut(h);if(x){let g=a=>{let I=0;for(let S of a.pts)I+=S.x*x.x+S.y*x.y;return I/a.pts.length};h.sort((a,I)=>g(a)-g(I)),h.length>=2&&h[0].focalDistance>h[h.length-1].focalDistance&&h.reverse();let y=0;for(let a=0;a<h.length;a++)a>0&&(y+=le(h[a-1].pts,h[a].pts)),h[a].ordinal=a,h[a].blockDepth=y,A.push(h[a])}else{let g=1/0;for(let y of h)y.focalDistance<g&&(g=y.focalDistance);h.sort((y,a)=>y.focalDistance-a.focalDistance);for(let y=0;y<h.length;y++)h[y].ordinal=y,h[y].blockDepth=Math.max(0,h[y].focalDistance-g),A.push(h[y])}}return{sectionId:e,rows:A,blockCount:b}}var ht=Math.PI/180,C=96,pt=6,mt=60,bt=150,Ae=.2,yt=.35;function Re(e,t){let n=Math.atan2(t.x-e.x,t.y-e.y)/ht;return n<0?n+360:n}function te(e){if(!e.length)return NaN;let t=[...e].sort((n,o)=>n-o);return t[Math.floor(t.length/2)]}function ne(e,t,n=2){let o=e.length,r=new Float64Array(o);for(let i=0;i<o;i++){let s=0,f=0;for(let u=-n;u<=n;u++){let m=i+u;if(t)m=(m%o+o)%o;else if(m<0||m>=o)continue;s+=e[m],f++}r[i]=s/f}return r}function xt(e,t){let n=e.filter(d=>d.rows.length>=1);if(n.length<1)return null;let o=[],r=0,i=0,s=0;for(let d of n)for(let l of d.rows){for(let p of l.pts)r+=p.x,i+=p.y,s++;if(l.pts.length>=4){let p=ee(l.pts);p&&Number.isFinite(p.cx)&&Number.isFinite(p.cy)&&o.push({x:p.cx,y:p.cy})}}if(!s)return null;let f={x:r/s,y:i/s},u=f;if(o.length>=8){let d=te(o.map(x=>x.x)),l=te(o.map(x=>x.y)),p=0;for(let x of n)for(let g of x.rows)for(let y of g.pts){let a=Math.hypot(y.x-f.x,y.y-f.y);a>p&&(p=a)}let A=0,h=p*.2;for(let x of n)for(let g of x.rows)for(let y of g.pts)Math.hypot(y.x-d,y.y-l)<h&&A++;Math.hypot(d-f.x,l-f.y)<=p&&A/s<.01&&(u={x:d,y:l})}let m=[];for(let d of n){let l={sectionId:d.sectionId,rMin:1/0,rMax:-1/0,samples:[]};for(let p of d.rows)for(let A of p.pts){let h=Math.hypot(A.x-u.x,A.y-u.y),x=Math.min(C-1,Math.floor(Re(u,A)/(360/C)));l.samples.push({r:h,bin:x,levelM:p.levelM}),h<l.rMin&&(l.rMin=h),h>l.rMax&&(l.rMax=h)}l.samples.length&&m.push(l)}if(!m.length)return null;m.sort((d,l)=>d.rMin+d.rMax-(l.rMin+l.rMax));let c=[];for(let d of m){let l=!1;for(let p of c){let A=Math.min(d.rMax,p.rMax)-Math.max(d.rMin,p.rMin),h=Math.min(d.rMax-d.rMin,p.rMax-p.rMin);if(h>1e-9&&A>=yt*h){p.members.push(d),p.rMin=Math.min(p.rMin,d.rMin),p.rMax=Math.max(p.rMax,d.rMax),l=!0;break}}l||c.push({members:[d],rMin:d.rMin,rMax:d.rMax})}let b=[];for(let d of c){let l=new Array(C).fill(null);for(let w of d.members)for(let v of w.samples){let P=l[v.bin];P||(P={samples:[]},l[v.bin]=P),P.samples.push({r:v.r,levelM:v.levelM})}let p=l.map(w=>!!w);if(!p.filter(Boolean).length)continue;let h=[],x=[];for(let w of l){if(!w)continue;let v=1/0,P=-1/0;for(let E of w.samples)E.r<v&&(v=E.r),E.r>P&&(P=E.r);h.push(v),x.push(P)}let g=te(h),y=te(x);if(!(g>=Ae*y)||!(y>0))continue;let a=[...h].sort((w,v)=>w-v);if(!(a[Math.floor(a.length*.1)]>=Ae*y))continue;let S=l.map(w=>{if(!w)return null;let v=[...w.samples].sort((k,L)=>k.r-L.r),P=v[0].r,E=v[v.length-1].r,B=v[0].levelM,$=-1/0;for(let k of v)k.levelM>$&&($=k.levelM);let O=[];for(let k of v){let L={r:k.r,l:k.levelM};for(;O.length&&Math.abs(O[O.length-1].r-L.r)<1e-9;){if(O[O.length-1].l<=L.l){L.skip=!0;break}O.pop()}if(!L.skip){for(;O.length>=2;){let K=O[O.length-2],V=O[O.length-1];if((V.r-K.r)*(L.l-K.l)-(V.l-K.l)*(L.r-K.r)<=0)O.pop();else break}O.push(L)}}let G=O.map(k=>k.r),U=O.map(k=>k.l);return{inner:P,outer:E,front:B,top:$,profile:{rs:G,ls:U}}}),R=p.slice();for(let w=0;w<C;w++){if(R[w])continue;let v=-1,P=-1,E=0;for(let M=1;M<=C;M++){let T=(w-M+C*2)%C;if(R[T]){v=T;break}}for(let M=1;M<=C;M++){let T=(w+M)%C;if(R[T]){P=T,E=M;break}}if(v<0||P<0)continue;let B=0;for(let M=1;M<=C;M++){let T=(w-M+C*2)%C;if(p[T]){B=M;break}}if(B-1+E>pt)continue;let O=S[v],G=S[P],U=B/(B+E),k=O.inner+(G.inner-O.inner)*U,L=O.outer+(G.outer-O.outer)*U,K=O.front+(G.front-O.front)*U,V=O.top+(G.top-O.top)*U;S[w]={inner:k,outer:L,front:K,top:V,profile:{rs:[k,L],ls:[K,V]}}}for(let w=0;w<C;w++)S[w]&&(R[w]=!0);let _=360/C,N=[],F=R.filter(Boolean).length,H=[];if(F===C)H.push({start:0,len:C});else{let w=0;for(;R[w];)w=(w+1)%C;let v=-1;for(let P=0;P<=C;P++){let E=(w+P)%C,B=P<C&&R[E];if(B&&v<0)v=E;else if(!B&&v>=0){let $=(E-v+C)%C||C;H.push({start:v,len:$}),v=-1}}}for(let w of H){if(w.len*_<mt&&w.len<C)continue;let v=w.len===C,P=new Float64Array(w.len),E=new Float64Array(w.len),B=new Float64Array(w.len),$=new Float64Array(w.len),O=[];for(let M=0;M<w.len;M++){let T=S[(w.start+M)%C];P[M]=T.inner,E[M]=T.outer,B[M]=T.front,$[M]=T.top,O.push(T.profile??{rs:[T.inner,T.outer],ls:[T.front,T.top]})}let G=ne(P,v),U=ne(E,v),k=ne(B,v),L=ne($,v);for(let M=0;M<w.len;M++)G[M]>P[M]&&(G[M]=P[M]),U[M]<E[M]&&(U[M]=E[M]),G[M]>U[M]-1e-6&&(G[M]=Math.max(0,U[M]-1e-6)),L[M]<k[M]&&(L[M]=k[M]);let K={startBin:w.start,binCount:w.len,closed:v,innerR:G,outerR:U,frontLevelM:k,topLevelM:L,profiles:O},V=(M,T,D)=>{let Q=O[M],W=Q.rs,z=Q.ls;if(T<=W[0]){z[0]>D&&(z[0]=D);return}if(T>=W[W.length-1]){z[z.length-1]>D&&(z[z.length-1]=D);return}for(let X=0;X+1<W.length;X++)if(T<=W[X+1]){z[X]>D&&(z[X]=D),z[X+1]>D&&(z[X+1]=D);return}};for(let M=0;M<w.len;M++){let T=l[(w.start+M)%C];if(T)for(let D of T.samples){V(M,D.r,D.levelM);let Q=v?(M-1+w.len)%w.len:M-1,W=v?(M+1)%w.len:M+1;Q>=0&&V(Q,D.r,D.levelM),W<w.len&&V(W,D.r,D.levelM)}}N.push(K)}N.reduce((w,v)=>w+v.binCount*_,0)<bt||b.push({arcs:N,sectionIds:d.members.map(w=>w.sectionId),innerRMedian:g,outerRMedian:y})}if(!b.length)return null;if(b.sort((d,l)=>d.innerRMedian-l.innerRMedian),t){let d=b[b.length-1].outerRMedian;if(Math.hypot(t.x-u.x,t.y-u.y)>.9*d)return null}return{centre:u,binCount:C,binStepDeg:360/C,rings:b}}function gt(e,t,n,o){let r=e.binStepDeg,i=n/r-.5-t.startBin;i=(i%e.binCount+e.binCount)%e.binCount,i>t.binCount-1&&(t.closed?i=i-t.binCount<t.binCount-i?0:t.binCount-1:i=i-(t.binCount-1)<e.binCount-i?t.binCount-1:0);let s=Math.floor(i),f=t.closed?(s+1)%t.binCount:Math.min(t.binCount-1,s+1),u=i-s,m=c=>{let b=t.profiles[c],d=b.rs,l=b.ls;if(o<=d[0])return l[0];if(o>=d[d.length-1])return l[l.length-1];for(let p=0;p+1<d.length;p++)if(o<=d[p+1]){let A=d[p+1]-d[p],h=A>1e-9?(o-d[p])/A:0;return l[p]+(l[p+1]-l[p])*h}return l[l.length-1]};return m(s)*(1-u)+m(f)*u}var Ce="ABCDEFGHIJKLMNOPQRSTUVWXYZ",St="ABCDEFGHJKLMNPQRSTUVWXYZ",wt="abcdefghijklmnopqrstuvwxyz";function fe(e,t){let n=t.length,o=e+1,r="";for(;o>0;){o-=1;let i=o%n;r=t[i]+r,o=Math.floor(o/n)}return r}function Oe(e,t){let n=t.startAt-1,o=e+n;if(t.scheme==="numbers")return String(o+1);let r=t.skipAmbiguous?St:Ce;return fe(o,r)}function oe(e,t=!1){let n=t?wt:Ce;return fe(Math.max(0,Math.floor(e)-1),n)}var Mt=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];function de(e){if(!Number.isFinite(e)||e<=0)return String(e);let t=Math.floor(e),n="";for(let[o,r]of Mt)for(;t>=o;)n+=r,t-=o;return n}function Pt(e,t){let n=e.length;return e.map((o,r)=>{let i=t.reverse?n-1-r:r;return{...o,label:Oe(i,t)}})}function vt(e){return{kind:"radial",rowCount:0,rows:[],nearestRow:()=>-1,depthAt:(t,n)=>Math.hypot(t-e.x,n-e.y),gradientAt:(t,n)=>{let o=t-e.x,r=n-e.y,i=Math.hypot(o,r);return i<1e-9?[0,0]:[o/i,r/i]}}}function It(e,t){if(!e.length)return null;let n=0,o=0,r=0;for(let l of e)n+=l.x,o+=l.y,r+=Math.hypot(l.x-t.x,l.y-t.y);let i=e.length;n/=i,o/=i,r/=i;let s=e[0],f=-1;for(let l of e){let p=Math.hypot(l.x-n,l.y-o);p>f&&(f=p,s=l)}let u=s.x-n,m=s.y-o,c=Math.hypot(u,m);c>1e-9?(u/=c,m/=c):(u=1,m=0);let b=[...e].sort((l,p)=>(l.x-n)*u+(l.y-o)*m-((p.x-n)*u+(p.y-o)*m)),d=0;for(let l of b){let p=Math.hypot(l.x-n,l.y-o);p>d&&(d=p)}return{pts:b,cx:n,cy:o,radius:d,depth:r}}function Ee(e,t,n){let o=e.pts;if(o.length===1)return Math.hypot(t-o[0].x,n-o[0].y);let r=1/0;for(let i=0;i+1<o.length;i++){let s=o[i],f=o[i+1],u=f.x-s.x,m=f.y-s.y,c=u*u+m*m,b=c>1e-12?((t-s.x)*u+(n-s.y)*m)/c:0;b<0?b=0:b>1&&(b=1);let d=Math.hypot(t-(s.x+b*u),n-(s.y+b*m));d<r&&(r=d)}return r}var re=8;function At(e,t,n){let o=new Array(re).fill(1/0),r=new Array(re).fill(-1);for(let c=0;c<e.length;c++){let b=e[c],d=Math.hypot(t-b.cx,n-b.cy)-b.radius;for(let l=0;l<re;l++)if(d<o[l]){for(let p=re-1;p>l;p--)o[p]=o[p-1],r[p]=r[p-1];o[l]=d,r[l]=c;break}}let i=new Array(3).fill(1/0),s=new Array(3).fill(-1);for(let c of r){if(c<0)continue;let b=Ee(e[c],t,n);for(let d=0;d<3;d++)if(b<i[d]){for(let l=2;l>d;l--)i[l]=i[l-1],s[l]=s[l-1];i[d]=b,s[d]=c;break}}if(s[0]<0)return 0;if(i[0]<1e-6)return e[s[0]].depth;let f=i[0]*2.2,u=0,m=0;for(let c=0;c<3;c++){let b=s[c];if(b<0||i[c]>f)continue;let d=1/(i[c]*i[c]);u+=d*e[b].depth,m+=d}return m>0?u/m:e[s[0]].depth}function Rt(e){let t=(o,r)=>At(e,o,r),n=(o,r)=>{let i=1/0,s=-1;for(let f=0;f<e.length;f++){let u=e[f];if(Math.hypot(o-u.cx,r-u.cy)-u.radius>=i)continue;let m=Ee(u,o,r);m<i&&(i=m,s=f)}return s};return{kind:"rows",rowCount:e.length,rows:e,nearestRow:n,depthAt:t,gradientAt:(o,r)=>{let i=(t(o+.5,r)-t(o-.5,r))/1,s=(t(o,r+.5)-t(o,r-.5))/(2*.5),f=Math.hypot(i,s);return f<1e-9?[0,0]:[i/f,s/f]}}}function Ct(e,t){let n=[];for(let o of e){let r=It(o.points,t);r&&n.push(r)}return n.length<2?vt(t):(n.sort((o,r)=>o.depth-r.depth),Rt(n))}function Ot(e){return e==="exact-seat"?"Exact seat in the model":e==="row-representative"?"Representative row evidence":e==="section-representative"?"Representative section evidence":e==="floor-representative"?"Representative floor evidence":"Representative venue evidence"}function Et(e){if(!e)return"No assessment date supplied";let t=new Date(e);return Number.isFinite(t.getTime())?`Assessed ${t.toISOString().slice(0,10)}`:"No assessment date supplied"}function Tt(e){if(!e)return{headline:"Generated view \xB7 unverified",model:"No geometry or event-configuration verification supplied",reality:"No real-world check supplied",coverage:"Selected chart seat",provenance:"Chart-derived model",freshness:"No evidence date supplied",limitations:["Generated view is not surveyed sightline truth."]};let t=e.evidenceKind==="synthetic-model",n=e.modelLevel==="configuration-verified"?"Event configuration verified":e.modelLevel==="geometry-verified"?"Venue geometry verified":t?"Versioned synthetic model":"Generated model \xB7 not verified",o=e.realityLevel==="actual-build-checked"?"Actual event build reality checked":e.realityLevel==="comparable-build-reference"?"Comparable-build reference only":"No real-world check supplied",r=t?"Synthetic model evidence":e.modelLevel==="configuration-verified"?"Configuration verified":e.modelLevel==="geometry-verified"?"Geometry verified":"Generated view \xB7 unverified",i=[...e.limitations??[],...t?["Synthetic demo; not surveyed or venue-certified."]:[]],s=e.modeledTarget?`${e.modeledTarget.clearRayCount}/${e.modeledTarget.totalRayCount} target rays clear \xB7 ${e.modeledTarget.classification} in bounded model`:void 0;return s&&i.push("Modeled target is not a percentage of the show visible."),{headline:r,model:n,reality:o,coverage:Ot(e.coverage),provenance:e.sourceLabel??e.approvedByRole??"Source not supplied",freshness:Et(e.assessedAt),limitations:i,...s?{modeledTarget:s}:{}}}function _t(e){let t=new Array(e);return Array.from({length:e},(n,o)=>o).sort((n,o)=>Math.abs(2*n-(e-1))-Math.abs(2*o-(e-1))||n-o).forEach((n,o)=>t[n]=o),t}function ie(e,t){let n=e.seatLabelStart??1,o=e.seatNumbering?.direction??"ltr",r=e.seatNumbering?.step??1,i=e.seatNumbering?.scheme??"decimal",s=e.seatNumbering?.prefix??"",f=e.seatNumbering?.endAt,u=e.seatCount;if(i==="updown"||i==="updown-descending"){let l=Math.ceil(u/2),p=i==="updown"?t<l?n+2*t:n-1+2*(u-t):t<l?n+2*(l-1-t):n+1+2*(t-l);return`${s}${p}`}let m=i==="odd"||i==="even"?2:r,c=f!=null&&Number.isFinite(f)?f-(u-1)*m:n,b=o==="center"?_t(u)[t]:o==="rtl"?u-1-t:t,d;switch(i){case"odd":{let l=c%2===1?c:c+1;d=String(l+b*2);break}case"even":{let l=c%2===0?c:c+1;d=String(l+b*2);break}case"roman":d=de(c+b*r);break;case"letters-upper":d=oe(c+b*r,!1);break;case"letters-lower":d=oe(c+b*r,!0);break;default:d=String(c+b*r);break}return`${s}${d}`}function Te(e){return{...e.canonical,seatCount:e.totalSeats,label:e.displayLabel,displayLabel:e.displayLabel}}function he(e,t,n){return n?.label??`${e.label}-${ie(e,t)}`}function pe(e,t,n,o){if(o?.displayLabel)return o.displayLabel;if(!n)return`${e.displayLabel??e.label}-${ie(e,t)}`;let r=Te(n),i=n.displayOffset+t;return`${n.displayLabel}-${ie(r,i)}`}function kt(e,t,n){return Math.max(t,Math.min(n,e))}function jt(e){return kt(e,0,1)}function _e(e){let t=jt(e);return t*t*(3-2*t)}var An=Math.PI/180;function j(e,t){return Math.hypot(e.x-t.x,e.y-t.y)}function me(e,t,n){return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}}var Y=Math.PI*2;function q(e){return Number.isFinite(e.x)&&Number.isFinite(e.y)}function Lt(e,t,n){let o=t-e;if(n){for(;o<0;)o+=Y;for(;o>=Y;)o-=Y}else{for(;o>0;)o-=Y;for(;o<=-Y;)o+=Y}return o}function Dt(e){return e.end}function be(e){if(e.version!==1||e.closed!==!0||!q(e.start)||!Array.isArray(e.segments)||e.segments.length<2||e.segments.length>512)return!1;let t=e.start;for(let n of e.segments){if(!n||!q(n.end))return!1;if(n.kind==="line"){if(j(t,n.end)<=1e-9)return!1}else if(n.kind==="bezier"){if(!q(n.control1)||!q(n.control2)||j(t,n.end)<=1e-9)return!1}else if(n.kind==="arc"){if(!q(n.center)||!Number.isFinite(n.radius)||n.radius<=1e-6||Math.abs(j(t,n.center)-n.radius)>Math.max(1e-4,n.radius*1e-4)||Math.abs(j(n.end,n.center)-n.radius)>Math.max(1e-4,n.radius*1e-4)||j(t,n.end)<=1e-9)return!1}else return!1;t=n.end}return j(t,e.start)<=1e-4}function Nt(e,t,n){let o=1-n;return{x:o**3*e.x+3*o**2*n*t.control1.x+3*o*n**2*t.control2.x+n**3*t.end.x,y:o**3*e.y+3*o**2*n*t.control1.y+3*o*n**2*t.control2.y+n**3*t.end.y}}function Ft(e,t=2){if(!be(e))throw new Error("Section outline path is invalid");let n=Math.max(.25,t),o=[{...e.start}],r=e.start;for(let i of e.segments){if(i.kind==="line")o.push({...i.end});else if(i.kind==="arc"){let s=Math.atan2(r.y-i.center.y,r.x-i.center.x),f=Math.atan2(i.end.y-i.center.y,i.end.x-i.center.x),u=Lt(s,f,i.clockwise),m=Math.max(2,Math.ceil(Math.abs(u)*i.radius/n));for(let c=1;c<=m;c+=1){let b=s+u*c/m;o.push({x:i.center.x+Math.cos(b)*i.radius,y:i.center.y+Math.sin(b)*i.radius})}}else{let s=j(r,i.control1)+j(i.control1,i.control2)+j(i.control2,i.end),f=Math.max(2,Math.ceil(s/n));for(let u=1;u<=f;u+=1)o.push(Nt(r,i,u/f))}r=i.end}return j(o[o.length-1],o[0])<=1e-4&&o.pop(),o}function Bt(e,t,n){return Le(e,r=>({x:r.x+t,y:r.y+n}))}function Le(e,t,n=1,o=!1){return{...e,start:t(e.start),segments:e.segments.map(r=>r.kind==="line"?{...r,end:t(r.end)}:r.kind==="arc"?{...r,center:t(r.center),radius:r.radius*Math.abs(n),clockwise:o?!r.clockwise:r.clockwise,end:t(r.end)}:{...r,control1:t(r.control1),control2:t(r.control2),end:t(r.end)})}}var Gt=45,Ut=150,ke=.5523;function je(e,t){return Math.abs(e.x-t.x)<=1e-6&&Math.abs(e.y-t.y)<=1e-6}function Ht(e){let t=[],n=[];for(e.forEach((o,r)=>{q(o)&&(t.length&&je(t[t.length-1],o)||(t.push({x:o.x,y:o.y}),n.push(r)))});t.length>1&&je(t[0],t[t.length-1]);)t.pop(),n.pop();return{points:t,sourceIndex:n}}function zt(e,t,n){return Ne(e,{cornerSmoothing:t,...n})}var De=.5,$t=4/3;function Kt(e,t,n){let o=t.x-e.x,r=t.y-e.y,i=Math.hypot(o,r);if(i<=1e-9)return{kind:"line",end:{...t}};let s=-r/i,f=o/i,u=n*$t;return{kind:"bezier",control1:{x:e.x+o/3+s*u,y:e.y+r/3+f*u},control2:{x:e.x+o*2/3+s*u,y:e.y+r*2/3+f*u},end:{...t}}}function Ne(e,t){let{points:n,sourceIndex:o}=Ht(e),r=n.length;if(r<3)return null;let i=Math.min(100,Math.max(0,t.cornerSmoothing??0))/100,s=t.edgeCurvature,f=new Array(r).fill(0);if(s?.length)for(let a=0;a<r;a+=1){let I=s[o[a]];f[a]=Number.isFinite(I)?Math.min(100,Math.max(-100,I))/100:0}let u=f.some(a=>Math.abs(a)>1e-6);if(i<=0&&!u)return null;let m=t.wideAngleThresholdDeg??Ut,c=[];for(let a=0;a<r;a+=1)c[a]=j(n[a],n[(a+1)%r]);let b=new Array(r).fill(0);for(let a=0;a<r;a+=1){let I=n[(a-1+r)%r],S=n[a],R=n[(a+1)%r],_={x:I.x-S.x,y:I.y-S.y},N={x:R.x-S.x,y:R.y-S.y},F=Math.hypot(_.x,_.y),H=Math.hypot(N.x,N.y);if(F<=1e-9||H<=1e-9)continue;let J=Math.min(1,Math.max(-1,(_.x*N.x+_.y*N.y)/(F*H))),w=Math.acos(J)*180/Math.PI;if(w<m)continue;let v=_e((w-m)/(180-m));b[a]=i*v*.5*Math.min(F,H)}for(let a=0;a<r;a+=1){let I=(a+1)%r,S=b[a]+b[I];if(S>c[a]&&S>1e-9){let R=c[a]/S;b[a]*=R,b[I]*=R}}let d=new Array(r),l=new Array(r);for(let a=0;a<r;a+=1){let I=n[(a-1+r)%r],S=n[a],R=n[(a+1)%r];if(b[a]<=1e-6){d[a]={...S},l[a]={...S};continue}let _=j(S,I)||1,N=j(S,R)||1;d[a]={x:S.x+(I.x-S.x)/_*b[a],y:S.y+(I.y-S.y)/_*b[a]},l[a]={x:S.x+(R.x-S.x)/N*b[a],y:S.y+(R.y-S.y)/N*b[a]}}if(b.every(a=>a<=1e-6)&&!u)return null;let p=[],A={...l[0]},h=A,x=(a,I)=>{if(j(h,a)<=1e-9)return;let S=f[I];Math.abs(S)>1e-6?p.push(Kt(h,a,S*De*c[I])):p.push({kind:"line",end:{...a}}),h=a};for(let a=1;a<=r;a+=1){let I=a%r,S=n[I];x(d[I],(a-1)%r),b[I]>1e-6&&j(d[I],l[I])>1e-9&&(p.push({kind:"bezier",control1:me(d[I],S,ke),control2:me(l[I],S,ke),end:{...l[I]}}),h=l[I])}if(!p.length)return null;let g=p[p.length-1];j(g.end,A)>1e-9&&(g.kind==="line"?g.end={...A}:p.push({kind:"line",end:{...A}}));let y={version:1,closed:!0,start:A,segments:p};return be(y)?y:null}function Vt(e){let t=[],n=e.start;for(let r of e.segments)t.push(n),n=r.end;let o=[];for(let r=e.segments.length-1;r>=0;r-=1){let i=e.segments[r],s=t[r];i.kind==="line"?o.push({kind:"line",end:{...s}}):i.kind==="arc"?o.push({kind:"arc",center:{...i.center},radius:i.radius,clockwise:!i.clockwise,end:{...s}}):o.push({kind:"bezier",control1:{...i.control2},control2:{...i.control1},end:{...s}})}return{version:1,closed:!0,start:{...e.start},segments:o}}function Fe(e,t){let n=1-t,o=n*n*n,r=3*n*n*t,i=3*n*t*t,s=t*t*t;return{x:o*e.start.x+r*e.control1.x+i*e.control2.x+s*e.end.x,y:o*e.start.y+r*e.control1.y+i*e.control2.y+s*e.end.y}}function Be(e,t,n=192){if(!Number.isInteger(t)||t<1)throw new Error("Path point count must be a positive integer");if(t===1)return[Fe(e,.5)];let o=Array.from({length:n+1},(u,m)=>Fe(e,m/n)),r=new Float64Array(o.length);for(let u=1;u<o.length;u+=1){let m=o[u].x-o[u-1].x,c=o[u].y-o[u-1].y;r[u]=r[u-1]+Math.hypot(m,c)}let i=r[r.length-1];if(i<=1e-9)return Array.from({length:t},()=>({...e.start}));let s=[],f=1;for(let u=0;u<t;u+=1){let m=i*u/(t-1);for(;f<r.length-1&&r[f]<m;)f+=1;let c=r[f-1],b=r[f],d=b===c?0:(m-c)/(b-c);s.push({x:o[f-1].x+(o[f].x-o[f-1].x)*d,y:o[f-1].y+(o[f].y-o[f-1].y)*d})}return s}var Ue=.02291666666666667,_n=1/Ue,Wt=58,ge=Wt*Ue;var Xt=3,Ge=0,ye=120,Yt=0,qt=45,Jt=7;function xe(e,t,n,o){return Number.isFinite(e)?Math.max(t,Math.min(n,e)):o}function Qt(e){return!Number.isFinite(e)||!Number.isInteger(e)||e<0?0:e<=Jt?e:Xt}function He(e,t={}){let n=xe(t.floorBaseHeightM,Ge,ye,0),o=Math.min(ye,n+Qt(e.elevation)*ge),r=e.height===void 0?o:xe(e.height,Ge,ye,o),i=xe(e.rake,Yt,qt,0);return{height:r,rake:i}}function Ve(e){return e?e.accessibility&&e.accessibility.length?e.wheelchairSpaceType&&!e.accessibility.includes("wheelchair")?["wheelchair",...e.accessibility]:e.accessibility:e.wheelchairSpaceType?["wheelchair"]:e.accessible?["wheelchair"]:[]:[]}var se=Math.PI/180;var Z=16;function we(e,t,n,o){let r=n*se,i=Math.cos(r),s=Math.sin(r);return{x:o.x+e*i-t*s,y:o.y+e*s+t*i}}function Zt(e){let{seatCount:t,seatSpacing:n,curve:o,rotation:r,origin:i}=e,s=[];if(e.path)return Be(e.path,t);if(t<=1)return t===1&&s.push({x:i.x,y:i.y}),s;if(o===0){for(let m=0;m<t;m++)s.push(we(m*n,0,r,i));return s}let f=o/(t-1)*se,u=n/(2*Math.sin(Math.abs(f)/2));for(let m=0;m<t;m++){let c=m*f,b=u*Math.sin(c),d=-u+u*Math.cos(c);s.push(we(b,d,r,i))}return s}function en(e){let t=new Map;if(e.overrides)for(let n of e.overrides)t.set(n.index,n);return t}function tn(e,t){let n=en(e);return Zt(e).map((o,r)=>{let i=n.get(r),s=Ve(i),f=he(e,r,i),u={...e.commercial,...i?.commercial};return{index:r,x:o.x+(i?.dx??0),y:o.y+(i?.dy??0),label:f,displayLabel:pe(e,r,t,i),categoryKey:i?.categoryKey??e.categoryKey,skipped:!!i?.skip,accessible:s.length>0,accessibility:s,wheelchairSpaceType:i?.wheelchairSpaceType,commercial:Object.values(u).some(m=>m!==void 0&&m!==!1&&m!=="")?u:void 0,viewUrl:i?.viewFromSeatUrl??e.viewFromSeatUrl,viewMeta:i?.viewFromSeatUrl?i.viewFromSeatMeta:e.viewFromSeatMeta,labelStyle:i?.labelStyle}})}function Me(e){let t=[];for(let n of tn(e))n.skipped||t.push({id:`${e.id}:${n.index}`,label:n.label,displayLabel:n.displayLabel===n.label?void 0:n.displayLabel,x:n.x,y:n.y,rowId:e.id,categoryKey:n.categoryKey,accessible:n.accessible||void 0,accessibility:n.accessibility.length?n.accessibility:void 0,wheelchairSpaceType:n.wheelchairSpaceType,commercial:n.commercial,viewUrl:n.viewUrl,viewMeta:n.viewMeta,labelStyle:n.labelStyle});return t}function nn(e){if(e.seatCountsBySide)return{...e.seatCountsBySide};let t=e.sides&&e.sides.length?e.sides:["top","bottom"],n=["top","bottom","left","right"].filter(i=>t.includes(i)),o={top:0,bottom:0,left:0,right:0};if(!n.length)return o;let r=Math.max(0,Math.round(e.seatCount));for(let i=0;i<r;i++)o[n[i%n.length]]+=1;return o}function on(e){let t=[],n=Math.max(0,Math.round(e.seatCount));if(n===0)return t;let o=new Map((e.overrides??[]).map(c=>[c.index,c])),r=(c,b,d,l)=>{let p=o.get(c),A=Ve(p),h=p?.label??`${e.label}-${c+1}`,x=e.displayLabel??e.label;return{index:c,label:h,displayLabel:p?.displayLabel??`${x}-${c+1}`,x:b+(p?.dx??0),y:d+(p?.dy??0),categoryKey:p?.categoryKey??e.categoryKey,skipped:!!p?.skip,accessible:A.length>0,accessibility:A,wheelchairSpaceType:p?.wheelchairSpaceType,commercial:p?.commercial,viewUrl:p?.viewFromSeatUrl,viewMeta:p?.viewFromSeatUrl?p.viewFromSeatMeta:void 0,labelStyle:p?.labelStyle,...l?{side:l}:{}}};if(e.shape==="round"){let c=(e.radius??40)+Z,b=e.rotation*se,d=Math.max(0,Math.min(360,e.seatArc??360));if(d>=360||n===1){for(let h=0;h<n;h++){let x=b+h/n*2*Math.PI;t.push(r(h,e.center.x+c*Math.cos(x),e.center.y+c*Math.sin(x)))}return t}let l=d*se,p=(2*Math.PI-l)/2,A=b+p;for(let h=0;h<n;h++){let x=A+h/(n-1)*l;t.push(r(h,e.center.x+c*Math.cos(x),e.center.y+c*Math.sin(x)))}return t}let i=e.width??80,s=e.height??50,f=nn(e),u=["top","bottom","left","right"],m=0;for(let c of u){let b=f[c];for(let d=0;d<b;d++){let l,p;c==="top"?(l=-i/2+(d+.5)*i/b,p=-s/2-Z):c==="bottom"?(l=-i/2+(d+.5)*i/b,p=s/2+Z):c==="left"?(l=-i/2-Z,p=-s/2+(d+.5)*s/b):(l=i/2+Z,p=-s/2+(d+.5)*s/b);let A=we(l,p,e.rotation,e.center);t.push(r(m++,A.x,A.y,c))}}return t}function We(e){return on(e).filter(t=>!t.skipped).map(t=>({id:`${e.id}:${t.index}`,label:t.label,...t.displayLabel!==t.label?{displayLabel:t.displayLabel}:{},x:t.x,y:t.y,rowId:e.id,categoryKey:t.categoryKey,...t.accessible?{accessible:!0}:{},...t.accessibility.length?{accessibility:t.accessibility}:{},...t.wheelchairSpaceType?{wheelchairSpaceType:t.wheelchairSpaceType}:{},...t.commercial?{commercial:t.commercial}:{},...t.viewUrl?{viewUrl:t.viewUrl}:{},...t.viewUrl&&t.viewMeta?{viewMeta:t.viewMeta}:{},...t.labelStyle?{labelStyle:t.labelStyle}:{}}))}function Xe(e){return[{id:`${e.id}:0`,label:e.label,...e.displayLabel&&e.displayLabel!==e.label?{displayLabel:e.displayLabel}:{},x:e.center.x,y:e.center.y,rowId:e.id,categoryKey:e.categoryKey,kind:"booth"}]}function ze(e,t){let n=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){let i=t[o].x,s=t[o].y,f=t[r].x,u=t[r].y;s>e.y!=u>e.y&&e.x<(f-i)*(e.y-s)/(u-s)+i&&(n=!n)}return n}function rn(e,t){return t.some((n,o)=>{let r=t[(o+1)%t.length],i=(e.y-n.y)*(r.x-n.x)-(e.x-n.x)*(r.y-n.y);if(Math.abs(i)>1e-7)return!1;let s=(e.x-n.x)*(r.x-n.x)+(e.y-n.y)*(r.y-n.y),f=(r.x-n.x)**2+(r.y-n.y)**2;return s>=-1e-7&&s<=f+1e-7})}function $e(e,t,n){return ze(e,t)&&!(n??[]).some(o=>ze(e,o)||rn(e,o))}function Se(e){if(!e.length)return{x:0,y:0};let t=0,n=0;for(let o of e)t+=o.x,n+=o.y;return{x:t/e.length,y:n/e.length}}function sn(e){switch(e.type){case"row":{let t=Me(e);if(!t.length)return{x:e.origin.x,y:e.origin.y};let n=0,o=0;for(let r of t)n+=r.x,o+=r.y;return{x:n/t.length,y:o/t.length}}case"table":case"booth":return{x:e.center.x,y:e.center.y};case"gaArea":return Se(e.points);case"section":return Se(e.outline);case"text":return{x:e.position.x,y:e.position.y};case"shape":return e.points&&e.points.length?Se(e.points):e.x!=null&&e.y!=null&&e.width!=null&&e.height!=null?{x:e.x+e.width/2,y:e.y+e.height/2}:{x:e.x??0,y:e.y??0};case"decorImage":return{x:e.x+e.width/2,y:e.y+e.height/2}}}function Ke(e,t){return e.length===t.length&&e.every((n,o)=>n.x===t[o].x&&n.y===t[o].y)}function cn(e,t){if(e.type!=="gaArea"||!Ke(e.points,t.outline))return!1;let n=e.holes??[],o=t.holes??[];return n.length===o.length&&n.every((r,i)=>Ke(r,o[i]))}function Ye(e,t){let n=e.filter(s=>s.type==="section"),o="referenceInventorySource"in t?t.referenceInventorySource?.logicalSectionId:void 0,r=sn(t);return(o?n.find(s=>(s.logicalSectionId??s.id)===o&&(cn(t,s)||$e(r,s.outline,s.holes))):void 0)??n.find(s=>$e(r,s.outline,s.holes))}function qe(e){return e.floors&&e.floors.length?e.floors.flatMap(t=>t.objects):e.objects}var an="__sl_ga__",Pe=1e5;function ln(e,t){return`${an}${encodeURIComponent(e)}__${t+1}`}function un(e){let t=e.inventorySegments;if(t===void 0)return!0;if(!Array.isArray(t)||t.length<1||t.length>256)return!1;let n=0,o=new Map;for(let r of t){if(!r||typeof r.sourceAreaId!="string"||!r.sourceAreaId.trim()||r.sourceAreaId.length>160||!Number.isInteger(r.startIndex)||r.startIndex<0||!Number.isInteger(r.count)||r.count<1||r.startIndex+r.count>Pe||(n+=r.count,n>Pe))return!1;let i=o.get(r.sourceAreaId)??[],s=r.startIndex+r.count;if(i.some(f=>r.startIndex<f.end&&s>f.start))return!1;i.push({start:r.startIndex,end:s}),o.set(r.sourceAreaId,i)}return n===e.capacity}function fn(e){let t=Math.min(Pe,Math.max(0,Math.floor(e.capacity)));return e.inventorySegments===void 0?t?[{sourceAreaId:e.id,startIndex:0,count:t}]:[]:un(e)?e.inventorySegments.map(n=>({...n})):[]}function Je(e){return fn(e).flatMap(t=>Array.from({length:t.count},(n,o)=>ln(t.sourceAreaId,t.startIndex+o)))}var ce="__ungrouped__";function dn(e){return e.type==="row"?Me(e).map(t=>t.label):e.type==="table"?We(e).map(t=>t.label):e.type==="booth"?Xe(e).map(t=>t.label):e.type==="gaArea"?Je(e):[]}function hn(e){return e.type==="row"||e.type==="table"||e.type==="booth"||e.type==="gaArea"}function Qe(e){let t=qe(e),n=t.filter(s=>s.type==="section"),o=new Map;for(let s of n){let f=s.logicalSectionId??s.id;o.get(f)||o.set(f,{id:f,label:s.displayLabel||s.label||"Section",zone:s.zone,seatCount:0,objectIds:[],seatLabels:[]})}let r={id:ce,label:"Other seats",seatCount:0,objectIds:[],seatLabels:[]},i=new Map;for(let s of t){if(!hn(s))continue;let f=dn(s);if(f.length===0)continue;let u=Ye(t,s),m=u?o.get(u.logicalSectionId??u.id):r;m.seatCount+=f.length,m.objectIds.push(s.id),m.seatLabels.push(...f),i.set(s.id,m.id)}return{sections:[...o.values()],ungrouped:r.objectIds.length?r:null,objectToSection:i}}function Ze(e,t){return t.has(e.id)||!!e.logicalSectionId&&t.has(e.logicalSectionId)||!!e.zone&&t.has(e.zone)}function et(e,t){let n=new Set;if(!t.size)return n;let{sections:o,ungrouped:r,objectToSection:i}=Qe(e),s=new Set,f=new Map(o.map(m=>[m.id,m.zone]));for(let m of o){let c=f.get(m.id);(t.has(m.id)||c&&t.has(c))&&s.add(m.id)}let u=!!r&&t.has(ce);for(let[m,c]of i)(s.has(c)||u&&c===ce)&&n.add(m);return n}function pn(e,t){if(!t.size)return e;let n=et(e,t),o=t instanceof Set?t:new Set(t),r=s=>!(n.has(s.id)||s.type==="section"&&Ze(s,o));if(e.floors&&e.floors.length){let s=!1,f=e.floors.map(u=>{let m=u.objects.filter(r);return m.length!==u.objects.length&&(s=!0),m.length===u.objects.length?u:{...u,objects:m}});return s?{...e,floors:f,objects:f[0].objects}:e}let i=e.objects.filter(r);return i.length===e.objects.length?e:{...e,objects:i}}0&&(module.exports={DEFAULT_SECTION_CORNER_SMOOTHING,MAX_EDGE_SAGITTA_RATIO,TIER_HEIGHT_M,UNGROUPED_ID,applyHidden,arcLevelAt,bearingDeg,buildSectionRake,computeSections,distanceToPolyline,fitBowlProfile,fitCircle,hiddenObjectIds,indexLabel,isSectionHidden,logicalNumberingRow,relabelRows,resolveSection,reverseSectionOutlinePath,sampleSectionOutlinePath,seatConfidenceDisclosure,seatDisplayLabel,seatInventoryLabel,seatLabelPart,sectionCornerSmoothingPath,sectionGeometry,sectionOutlinePathFrom,sectionPathSegmentEnd,toBijectiveBase,toLetters,toRoman,transformSectionOutlinePath,translateSectionOutlinePath,validSectionOutlinePath});
@@ -1 +1 @@
1
- import{a as D}from"../../chunk-EQM4FFN5.js";import{a as E,b as F,c as G,d as H}from"../../chunk-55NOSZK5.js";import{j as y,k as z,l as A,m as B,n as C}from"../../chunk-AQKYUJBX.js";import{A as e,B as f,C as m,D as p,E as t,F as x,G as a,H as b,M as c,N as d,O as g,P as h,Q as i,R as j,S as k,T as l,U as n,X as q,fa as s,ga as u,ha as v,ia as w,y as o,z as r}from"../../chunk-VDZ24QVV.js";export{p as DEFAULT_SECTION_CORNER_SMOOTHING,x as MAX_EDGE_SAGITTA_RATIO,q as TIER_HEIGHT_M,y as UNGROUPED_ID,C as applyHidden,H as arcLevelAt,F as bearingDeg,E as buildSectionRake,z as computeSections,u as distanceToPolyline,G as fitBowlProfile,v as fitCircle,B as hiddenObjectIds,d as indexLabel,A as isSectionHidden,k as logicalNumberingRow,i as relabelRows,w as resolveSection,b as reverseSectionOutlinePath,e as sampleSectionOutlinePath,D as seatConfidenceDisclosure,n as seatDisplayLabel,l as seatInventoryLabel,j as seatLabelPart,t as sectionCornerSmoothingPath,s as sectionGeometry,a as sectionOutlinePathFrom,o as sectionPathSegmentEnd,c as toBijectiveBase,g as toLetters,h as toRoman,m as transformSectionOutlinePath,f as translateSectionOutlinePath,r as validSectionOutlinePath};
1
+ import{a as D}from"../../chunk-EQM4FFN5.js";import{a as E,b as F,c as G,d as H}from"../../chunk-IRFG5DVH.js";import{j as y,k as z,l as A,m as B,n as C}from"../../chunk-4BVXDBFE.js";import{A as e,B as f,C as m,D as p,E as t,F as x,G as a,H as b,M as c,N as d,O as g,P as h,Q as i,R as j,S as k,T as l,U as n,X as q,fa as s,ga as u,ha as v,ia as w,y as o,z as r}from"../../chunk-GHJUDU3U.js";export{p as DEFAULT_SECTION_CORNER_SMOOTHING,x as MAX_EDGE_SAGITTA_RATIO,q as TIER_HEIGHT_M,y as UNGROUPED_ID,C as applyHidden,H as arcLevelAt,F as bearingDeg,E as buildSectionRake,z as computeSections,u as distanceToPolyline,G as fitBowlProfile,v as fitCircle,B as hiddenObjectIds,d as indexLabel,A as isSectionHidden,k as logicalNumberingRow,i as relabelRows,w as resolveSection,b as reverseSectionOutlinePath,e as sampleSectionOutlinePath,D as seatConfidenceDisclosure,n as seatDisplayLabel,l as seatInventoryLabel,j as seatLabelPart,t as sectionCornerSmoothingPath,s as sectionGeometry,a as sectionOutlinePathFrom,o as sectionPathSegmentEnd,c as toBijectiveBase,g as toLetters,h as toRoman,m as transformSectionOutlinePath,f as translateSectionOutlinePath,r as validSectionOutlinePath};
@@ -1 +1 @@
1
- var e={"common.cancel":"Abbrechen","common.close":"Schlie\xDFen","common.done":"Fertig","common.copied":"\u2713 Kopiert","picker.holdExpired":"Ihre Reservierung ist abgelaufen \u2014 die Pl\xE4tze wurden freigegeben. Bitte erneut ausw\xE4hlen.","picker.poweredBy":"Bereitgestellt von SeatLayer","picker.testMode":"TESTMODUS","picker.orphanHint":"Dadurch bleibt ein einzelner Platz \xFCbrig \u2014 r\xFCcken Sie ggf. einen Platz weiter.","picker.companionRequiresWheelchair":"Benachbarter Rollstuhlplatz erforderlich","picker.companionPairRequired":"W\xE4hlen Sie zu jedem Begleitticket den benachbarten Rollstuhlplatz aus.","map.aria":"Sitzplan. Mit Pfeiltasten zwischen Pl\xE4tzen navigieren, Eingabe zum Ausw\xE4hlen.","map.seatsLeft":"{count} FREI","map.soldOut":"AUSVERKAUFT","map.statusHeld":"Reserviert","map.statusTaken":"Vergeben","map.fromPrice":"AB {price}","picker.floor":"Etage","picker.zoomLevel":"Zoomstufe","picker.rungTip.zones":"\xDCbersicht \u2014 Bereichsgruppen wie Nordtrib\xFCne oder VIP","picker.rungTip.sections":"Bereichs-Bl\xF6cke \u2014 ausverkaufte und fast volle Bereiche werden abgedunkelt, um die Verf\xFCgbarkeit auf einen Blick zu zeigen","picker.rungTip.seats":"Einzelne Pl\xE4tze \u2014 Bl\xF6cke l\xF6sen sich zu Punkten auf","picker.rungLabel.zones":"ZONEN","picker.rungLabel.sections":"BEREICHE","picker.rungLabel.seats":"PL\xC4TZE","picker.sectionSummaryAria":"Bereichszusammenfassung {label}","picker.closeSectionSummary":"Bereichszusammenfassung schlie\xDFen","picker.seatsLeftInSection.one":"{count} Platz verf\xFCgbar","picker.seatsLeftInSection.other":"{count} Pl\xE4tze verf\xFCgbar","picker.overview":"\xDCbersicht","picker.entrance":"Eingang","picker.tapSeatHint":"Tippen Sie auf einen Platz, um die Ansicht zu pr\xFCfen","picker.ticketTierFor":"Ticketklasse f\xFCr {label}","picker.viewFromSeat":"Ansicht von Platz {label}","picker.real360":"REAL 360\xB0","picker.preview":"VORSCHAU","picker.sightline":"\u2248 {m} m zur B\xFChne","picker.panorama360":"360\xB0-Veranstaltungsfotos","picker.illustrationCaption":"Illustration \xB7 \u2248 {m} m von der B\xFChne","picker.restrictedView":"Eingeschr\xE4nkte Sicht","picker.obstructedView":"Sichtbehinderung","picker.premiumSeat":"Premium-Platz","picker.hideLimitedView":"Pl\xE4tze mit eingeschr\xE4nkter Sicht ausblenden","picker.bestSeatsPremium":"Beste Pl\xE4tze","picker.premiumFallbackNote":"Kein Premium-Block mit {count} Pl\xE4tzen \u2014 beste verf\xFCgbare werden angezeigt","picker.loading3d":"3D-Veranstaltungsort wird aufgebaut\u2026","picker.unavailable3d":"3D konnte nicht gestartet werden. Der Sitzplan bleibt verf\xFCgbar.","picker.jumpToSection":"Zum Bereich springen","picker.salesClosedPill":"Der Verkauf ist beendet","picker.salesClosedCopy":"Der Ticketverkauf f\xFCr diese Veranstaltung ist beendet.","picker.salesClosedCta":"Verkauf beendet","picker.salesClosedToast":"Der Verkauf f\xFCr diese Veranstaltung ist beendet.","picker.holdReassurance":"F\xFCr {time} reserviert \u2014 noch wird nichts abgebucht.","picker.securingSeats":"Ihre Pl\xE4tze werden gesichert\u2026","picker.openingCheckout":"Sicherer Checkout wird ge\xF6ffnet\u2026","picker.peekSecured":"\u2713 {count} gesichert \xB7 {total} \u2014 noch wird nichts abgebucht","picker.priceHint":"Die Farben auf dem Plan sind Ticketkategorien \u2014 tippen Sie eine an, um nur diese Pl\xE4tze zu sehen.","picker.findTogetherInstead":"Stattdessen Pl\xE4tze nebeneinander finden","picker.keepMyPicks":"Meine Auswahl behalten","picker.accessExpiredBody":"Melden Sie sich erneut an oder laden Sie die Seite neu, um diese Pl\xE4tze weiter durchzusehen. Bereits gehaltene Pl\xE4tze bleiben Ihnen erhalten.","picker.accessExpiredTitle":"Ihre Zugangssitzung ist beendet","picker.accessInvalidBody":"Sie k\xF6nnen weiterhin alles buchen, was als verf\xFCgbar angezeigt wird. Wenden Sie sich f\xFCr Zugang zum Rest an die Person, die Ihnen den Link geschickt hat.","picker.accessInvalidTitle":"Ihr Zugang konnte nicht best\xE4tigt werden","picker.accessPausedBody":"Der Veranstalter hat diese Auswahl pausiert. Versuchen Sie es in ein paar Minuten erneut.","picker.accessPausedTitle":"Diese Pl\xE4tze sind gerade reserviert","picker.accessRetry":"Erneut versuchen","picker.accessRevokedBody":"Bitten Sie die Person, die Ihnen diesen Link geschickt hat, um einen neuen, um weiter buchen zu k\xF6nnen.","picker.accessRevokedTitle":"Dieser Zugangslink ist nicht mehr aktiv","picker.accessiblePhysicalSeat":"Barrierefreier fester Sitzplatz","picker.addTime":"Zeit hinzuf\xFCgen","picker.addingEllipsis":"Wird hinzugef\xFCgt\u2026","picker.allLevels":"Alle Ebenen","picker.allPlacesBookedTogether":"Alle {count} Pl\xE4tze werden gemeinsam als ein exklusiver Tisch gebucht.","picker.allPrices":"Alle Preise","picker.allSeats":"Alle Pl\xE4tze","picker.allSetTitle":"Alles bereit","picker.anyTicketType":"Beliebige Ticketart","picker.anyVenueZone":"Beliebiger Bereich","picker.areas":"Bereiche","picker.available":"Verf\xFCgbar","picker.backToMap":"Zur\xFCck zur Karte","picker.backToVenue":"Zur\xFCck zur \xDCbersicht","picker.bestSeatsStar":"\u2726 Beste Pl\xE4tze","picker.booth":"Loge","picker.capacityGuests":"{count} G\xE4ste","picker.change":"\xC4ndern","picker.chartDerivedModel":"Aus dem Plan abgeleitetes Modell","picker.chartDerivedSeatEye":"Live-3D \xB7 aus dem Plan abgeleitete Sitzperspektive \xB7 nicht vermessen","picker.checkConnection":"Bitte \xFCberpr\xFCfen Sie Ihre Verbindung und versuchen Sie es erneut.","picker.checkoutCouldNotBeOpened":"Der Checkout konnte nicht ge\xF6ffnet werden. Ihre Pl\xE4tze sind weiterhin reserviert \u2014 bitte versuchen Sie es erneut.","picker.chooseAnotherToCompare":"W\xE4hlen Sie einen weiteren Platz zum Vergleichen.","picker.chooseGuestsCopy":"W\xE4hlen Sie, wie viele G\xE4ste zusammensitzen. Dieser Tisch ist exklusiv f\xFCr Ihre Gruppe reserviert.","picker.chooseMinMaxGuests":"W\xE4hlen Sie {min}\u2013{max} G\xE4ste","picker.clearSavedSeatComparison":"Gespeicherten Sitzvergleich l\xF6schen","picker.close":"Schlie\xDFen","picker.closeSeatStatus":"Sitzstatus schlie\xDFen","picker.closestGroupChosenInstantly":"N\xE4chstgelegene verf\xFCgbare Gruppe, sofort ausgew\xE4hlt.","picker.collapseTicketPanel":"Ticketbereich einklappen","picker.compareCount":"{count} vergleichen","picker.compareWithSaved":"Mit Gespeichertem vergleichen","picker.confirmOrCancelSeat":"Diesen Platz best\xE4tigen oder abbrechen","picker.confirmSeatLabel":"Platz {label} best\xE4tigen","picker.confirmYourTable":"Ihren Tisch best\xE4tigen","picker.confirmedAndOnWay":"best\xE4tigt. Eine Best\xE4tigung ist unterwegs.","picker.continue":"Weiter","picker.continueToCheckout":"Weiter zum Checkout","picker.couldNotAddMoreTime":"Zus\xE4tzliche Zeit konnte nicht hinzugef\xFCgt werden \u2014 bitte jetzt zum Checkout gehen.","picker.couldNotFindSeatsTogether":"Wir konnten keine {count} zusammenh\xE4ngenden Pl\xE4tze finden. Versuchen Sie es mit weniger Pl\xE4tzen oder einer anderen Ticketart.","picker.couldNotReleaseTickets":"Ihre Tickets konnten nicht freigegeben werden. Ihre Reservierung bleibt unver\xE4ndert.","picker.couldNotRemoveLabel":"{label} konnte nicht entfernt werden. Ihre Reservierung bleibt unver\xE4ndert.","picker.currentOffer":"Aktuelles Angebot","picker.currentTicketOffer":"Aktuelles Ticketangebot","picker.dragToLookAround":"Ziehen zum Umsehen \xB7 Scrollen zum Zoomen","picker.emptyWheelchairSpace":"Leerer Rollstuhlplatz","picker.exitFullScreen":"Vollbild verlassen","picker.fewer":"Weniger","picker.fewerGuests":"Weniger G\xE4ste","picker.fewerSeats":"Weniger Pl\xE4tze","picker.filterAndFocusByPrice":"Pl\xE4tze nach Preis filtern und fokussieren","picker.filters":"Filter","picker.findBestSeatsCount.one":"{count} besten Platz finden","picker.findBestSeatsCount.other":"{count} beste Pl\xE4tze finden","picker.findBestSeatsTogether":"Die besten Pl\xE4tze zusammen finden","picker.findNewSeats":"Neue Pl\xE4tze finden","picker.findingBestSeats":"Beste Pl\xE4tze werden gesucht\u2026","picker.findingEllipsis":"Wird gesucht\u2026","picker.fitToScreen":"An Bildschirm anpassen","picker.flat2dMap":"Flache 2D-Karte","picker.flexiblePartyTypeWord":"Flexible Gruppe \xB7 {typeWord}","picker.fullScreen":"Vollbild","picker.generalAdmission":"Stehplatz","picker.guestCountCouldNotBeSecured":"Diese G\xE4steanzahl konnte nicht gesichert werden. Ihre aktuelle Tischreservierung bleibt unver\xE4ndert.","picker.guestCountNoLongerAvailable":"Diese G\xE4steanzahl ist nicht mehr verf\xFCgbar. Ihre aktuelle Reservierung bleibt unver\xE4ndert.","picker.guests":"G\xE4ste","picker.guestsCount":"{count} G\xE4ste","picker.guestsCountEdit":"{count} G\xE4ste \xB7 Bearbeiten","picker.held":"Reserviert","picker.heldForYou":"F\xFCr Sie reserviert","picker.heldSeatExplanation":"Ein anderer K\xE4ufer h\xE4lt diesen Platz gerade. Er k\xF6nnte wieder verf\xFCgbar werden.","picker.heldTicketsReleased":"Reservierte Tickets wurden freigegeben. W\xE4hlen Sie neue Pl\xE4tze.","picker.heldTicketsRestored":"Ihre reservierten Tickets wurden wiederhergestellt.","picker.hidePanel":"Bereich ausblenden","picker.hideTicketPanel":"Ticketbereich ausblenden","picker.holdSeatsAndCheckout":"Pl\xE4tze reservieren & zum Checkout","picker.howOfferWorks":"So funktioniert das Angebot \u201E{name}\u201C","picker.interactive3dVenueView":"Interaktive 3D-Ansicht des Veranstaltungsorts","picker.keepMine":"Meine behalten","picker.labelNoLongerAvailable":"{label} ist nicht mehr verf\xFCgbar.","picker.labelRemoved":"{label} entfernt.","picker.labelRemovedFromHold":"{label} aus Ihrer Reservierung entfernt.","picker.labelRestored":"{label} wiederhergestellt.","picker.labelsNoLongerAvailable.one":"{labels} ist nicht mehr verf\xFCgbar. W\xE4hlen Sie einen anderen Platz.","picker.labelsNoLongerAvailable.other":"{labels} sind nicht mehr verf\xFCgbar. W\xE4hlen Sie eine andere Gruppe.","picker.leftCount.one":"noch {count}","picker.leftCount.other":"noch {count}","picker.levelNumber":"Ebene {number}","picker.levels":"Ebenen","picker.liveAvailability":"Live-Verf\xFCgbarkeit \u2014 Pl\xE4tze aktualisieren sich in Echtzeit","picker.loadingSeatMap":"Sitzplan wird geladen\u2026","picker.lookAroundLive3d":"In Live-3D umsehen","picker.manualTicketsRemovedNote":"Ihre manuell gew\xE4hlten Tickets werden erst entfernt, nachdem eine neue Gruppe gesichert wurde.","picker.map":"Karte","picker.mapDidNotLoad":"Der Sitzplan konnte nicht geladen werden","picker.maxTicketsForOrder":"Sie k\xF6nnen f\xFCr diese Bestellung bis zu {count} Tickets ausw\xE4hlen.","picker.selectExactMore":"Noch {count} ausw\xE4hlen","picker.selectExactCount":"Genau {count} Tickets ausw\xE4hlen","picker.minToMaxGuests":"{min} bis {max} G\xE4ste","picker.more":"Mehr","picker.moreGuests":"Mehr G\xE4ste","picker.moreSeats":"Mehr Pl\xE4tze","picker.moreSelectedCount":"{count} weitere ausgew\xE4hlt","picker.moreTimeAdded":"Zus\xE4tzliche Zeit hinzugef\xFCgt \u2014 Ihre Pl\xE4tze sind weiterhin reserviert.","picker.noAccessibilityMetadata":"Keine Barrierefreiheits-Angaben vorhanden","picker.noAuthoredRestriction":"Keine vom Veranstalter angegebene Einschr\xE4nkung","picker.noSeatsSelected":"Keine Pl\xE4tze ausgew\xE4hlt","picker.notChargedYet":"Es wird noch nichts abgebucht.","picker.notForSale":"Nicht verk\xE4uflich","picker.notForSaleExplanation":"Dieser Platz ist im aktuellen Verkauf nicht enthalten.","picker.numberOfGuests":"Anzahl der G\xE4ste","picker.offerDetailActive":"Dieser Preis gilt automatisch f\xFCr berechtigte Pl\xE4tze. Tickets in aktiven Warenk\xF6rben verringern vor\xFCbergehend die verf\xFCgbare Menge; freigegebene oder abgelaufene Reservierungen geben sie zur\xFCck. Wenn das Angebot endet, greift das n\xE4chste passende Angebot oder der regul\xE4re Ticketpreis.","picker.offerDetailUpcoming":"Tickets sind derzeit zum regul\xE4ren Preis erh\xE4ltlich. Dieses geplante Angebot gilt automatisch f\xFCr berechtigte Pl\xE4tze, sobald es beginnt.","picker.offerRemainingAvailable":"{count} verf\xFCgbar","picker.offerStarts":"beginnt {time}","picker.offerUntil":"bis {time}","picker.oneSeatSaved":"1 Platz gespeichert","picker.oneSeatSavedChooseAnother":"Ein Platz gespeichert; w\xE4hlen Sie einen weiteren zum Vergleichen","picker.openAuthored360":"360\xB0-Ansicht des Veranstaltungsorts \xF6ffnen","picker.openComparison":"Vergleich \xF6ffnen","picker.openComparisonOfSeats":"Vergleich von {count} Pl\xE4tzen \xF6ffnen","picker.openTicketPanel":"Ticketbereich \xF6ffnen","picker.peekFromPrice":"Ab {price}","picker.peekTicketsTotal.one":"{count} Ticket \xB7 {total}","picker.peekTicketsTotal.other":"{count} Tickets \xB7 {total}","picker.perGuestPrice":"{price} pro Gast","picker.pickYourSeats":"W\xE4hlen Sie Ihre Pl\xE4tze","picker.preferredTicketType":"Bevorzugte Ticketart","picker.preferredVenueZone":"Bevorzugter Bereich","picker.priceNotSupplied":"Preis nicht angegeben","picker.releaseHeldTickets":"Reservierte Tickets freigeben und andere Pl\xE4tze w\xE4hlen","picker.releasingEllipsis":"Wird freigegeben\u2026","picker.removeHeldTicketLabel":"Reserviertes Ticket {label} entfernen","picker.removeSeatLabel":"{label} entfernen","picker.removeTicketsUntilOrFewer":"Entfernen Sie Tickets, bis Ihre Bestellung {count} oder weniger enth\xE4lt.","picker.replaceCurrentChoices":"Ihre aktuelle Auswahl ersetzen?","picker.review":"\xDCberpr\xFCfen","picker.row":"Reihe","picker.rowLabel":"Reihe {label}","picker.saveToCompare":"Zum Vergleich speichern","picker.savedForComparison":"Zum Vergleich gespeichert","picker.savedSeatComparison":"Gespeicherter Sitzvergleich","picker.scheduledOffer":"Geplantes Angebot","picker.seat":"Platz","picker.seatCount.one":"{count} Platz","picker.seatCount.other":"{count} Pl\xE4tze","picker.seatJustTakenByAnother":"Platz {label} wurde gerade von einem anderen K\xE4ufer \xFCbernommen.","picker.seatLabel":"Platz {label}","picker.seatNoLongerAvailable":"Dieser Platz ist nicht mehr verf\xFCgbar.","picker.seatNoLongerYours":"Einige Pl\xE4tze sind f\xFCr Sie nicht mehr verf\xFCgbar. Sie wurden aus Ihrer Bestellung entfernt.","picker.seatNumberLower":"Platz {label}","picker.seatSalesClosedForEvent":"Der Ticketverkauf f\xFCr diese Veranstaltung ist beendet.","picker.seatSelection":"Sitzplatzauswahl","picker.seatStatusLegend":"Legende zum Sitzstatus","picker.seatTaken":"Ein anderer K\xE4ufer hat einen von Ihnen gew\xE4hlten Platz \xFCbernommen. Er wurde aus Ihrer Bestellung entfernt.","picker.seatsHeldForNeedMoreTime":"Ihre Pl\xE4tze sind f\xFCr <b>{time}</b> reserviert. Mehr Zeit ben\xF6tigt?","picker.seatsJustTaken":"Ein oder mehrere Pl\xE4tze wurden gerade vergeben. Bitte w\xE4hlen Sie erneut.","picker.seatsJustTakenInCategory.one":"{count} Platz gerade vergeben in {label} \xB7 noch {left}","picker.seatsJustTakenInCategory.other":"{count} Pl\xE4tze gerade vergeben in {label} \xB7 noch {left}","picker.seatsNoLongerAvailableTryAnother":"Diese Pl\xE4tze sind nicht mehr verf\xFCgbar. Versuchen Sie eine andere Anzahl oder Ticketart.","picker.seatsSecured":"Pl\xE4tze gesichert","picker.seatsSelectedCount.one":"{count} ausgew\xE4hlt","picker.seatsSelectedCount.other":"{count} ausgew\xE4hlt","picker.section":"Bereich","picker.secureMore":"Mehr sichern","picker.secureMoreAndCheckout":"{count} weitere sichern & zum Checkout","picker.securedCount":"{count} gesichert","picker.seeItIn3d":"In 3D ansehen","picker.select":"Ausw\xE4hlen","picker.selectSeats":"Pl\xE4tze ausw\xE4hlen","picker.selectTable":"Tisch ausw\xE4hlen","picker.selectWholeTable":"Ganzen Tisch ausw\xE4hlen","picker.selected":"Ausgew\xE4hlt","picker.selectingEllipsis":"Wird ausgew\xE4hlt\u2026","picker.showAllSeats":"Alle Pl\xE4tze anzeigen","picker.showAllTicketTypes":"Alle {count} Ticketarten anzeigen","picker.showFewer":"Weniger anzeigen","picker.showLabelSeatsOnMap":"{label}-Pl\xE4tze auf der Karte anzeigen","picker.showTicketPanel":"Ticketbereich anzeigen","picker.sold":"Verkauft","picker.soldOutCopy":"F\xFCr diese Veranstaltung sind derzeit keine reservierten Pl\xE4tze verf\xFCgbar.","picker.soldOutEyebrow":"Diese Veranstaltung","picker.soldOutTitle":"Ausverkauft","picker.soldSeatExplanation":"Dieser Platz wurde bereits gebucht.","picker.statusAvailable":"verf\xFCgbar","picker.statusOnHold":"reserviert","picker.statusTaken2":"vergeben","picker.table":"Tisch","picker.tableCapacity":"Tischkapazit\xE4t","picker.tableUpdatedForGuests":"{label} auf {count} G\xE4ste aktualisiert.","picker.temporarilyHeld":"Vor\xFCbergehend reserviert","picker.ticketPrices":"Ticketpreise","picker.ticketTypeSoldOut":"Diese Ticketart ist ausverkauft. Versuchen Sie eine andere Ticketart.","picker.tickets":"Tickets","picker.ticketsCount.one":"{count} Ticket","picker.ticketsCount.other":"{count} Tickets","picker.toggleColorblindColors":"Farbenblindenfreundliche Farben umschalten","picker.total":"Gesamt","picker.trayHintTapOrBest":"Tippen Sie auf einen Platz in der Karte, oder lassen Sie uns die besten verf\xFCgbaren f\xFCr Sie w\xE4hlen.","picker.trayHintTapOrStanding":"Tippen Sie auf einen Platz in der Karte \u2014 oder holen Sie sich unten Stehplatztickets.","picker.undo":"R\xFCckg\xE4ngig","picker.upcomingTicketOffer":"Bevorstehendes Ticketangebot","picker.updateTable":"Tisch aktualisieren","picker.updatingEllipsis":"Wird aktualisiert\u2026","picker.venueView":"Ansicht des Veranstaltungsorts","picker.viewFromHere":"Ansicht von hier","picker.viewFromThisSeat":"Ansicht von diesem Platz","picker.wholeTypeWord":"Ganzer {typeWord}","picker.willChooseClosestGroup":"Wir w\xE4hlen die n\xE4chstgelegene verf\xFCgbare Gruppe f\xFCr Sie.","picker.willFindSeatsTogether":"Wir finden {count} Pl\xE4tze zusammen f\xFCr Sie.","picker.yourSeats":"Ihre Pl\xE4tze","picker.zoomIn":"Vergr\xF6\xDFern","picker.zoomOut":"Verkleinern","picker.closeVenueNav":"Schlie\xDFen","picker.levelsAndAreas":"Ebenen & Bereiche"};export{e as de};
1
+ var e={"common.cancel":"Abbrechen","common.close":"Schlie\xDFen","common.done":"Fertig","common.copied":"\u2713 Kopiert","picker.holdExpired":"Ihre Reservierung ist abgelaufen \u2014 die Pl\xE4tze wurden freigegeben. Bitte erneut ausw\xE4hlen.","picker.poweredBy":"Bereitgestellt von SeatLayer","picker.testMode":"TESTMODUS","picker.orphanHint":"Dadurch bleibt ein einzelner Platz \xFCbrig \u2014 r\xFCcken Sie ggf. einen Platz weiter.","picker.companionRequiresWheelchair":"Benachbarter Rollstuhlplatz erforderlich","picker.companionPairRequired":"W\xE4hlen Sie zu jedem Begleitticket den benachbarten Rollstuhlplatz aus.","map.aria":"Sitzplan. Mit Pfeiltasten zwischen Pl\xE4tzen navigieren, Eingabe zum Ausw\xE4hlen.","map.seatsLeft":"{count} FREI","map.soldOut":"AUSVERKAUFT","map.statusHeld":"Reserviert","map.statusTaken":"Vergeben","map.fromPrice":"AB {price}","picker.floor":"Etage","picker.zoomLevel":"Zoomstufe","picker.rungTip.zones":"\xDCbersicht \u2014 Bereichsgruppen wie Nordtrib\xFCne oder VIP","picker.rungTip.sections":"Bereichs-Bl\xF6cke \u2014 ausverkaufte und fast volle Bereiche werden abgedunkelt, um die Verf\xFCgbarkeit auf einen Blick zu zeigen","picker.rungTip.seats":"Einzelne Pl\xE4tze \u2014 Bl\xF6cke l\xF6sen sich zu Punkten auf","picker.rungLabel.zones":"ZONEN","picker.rungLabel.sections":"BEREICHE","picker.rungLabel.seats":"PL\xC4TZE","picker.sectionSummaryAria":"Bereichszusammenfassung {label}","picker.closeSectionSummary":"Bereichszusammenfassung schlie\xDFen","picker.seatsLeftInSection.one":"{count} Platz verf\xFCgbar","picker.seatsLeftInSection.other":"{count} Pl\xE4tze verf\xFCgbar","picker.overview":"\xDCbersicht","picker.entrance":"Eingang","picker.tapSeatHint":"Tippen Sie auf einen Platz, um die Ansicht zu pr\xFCfen","picker.ticketTierFor":"Ticketklasse f\xFCr {label}","picker.viewFromSeat":"Ansicht von Platz {label}","picker.real360":"REAL 360\xB0","picker.preview":"VORSCHAU","picker.sightline":"\u2248 {m} m zur B\xFChne","picker.panorama360":"360\xB0-Veranstaltungsfotos","picker.illustrationCaption":"Illustration \xB7 \u2248 {m} m von der B\xFChne","picker.restrictedView":"Eingeschr\xE4nkte Sicht","picker.obstructedView":"Sichtbehinderung","picker.premiumSeat":"Premium-Platz","picker.hideLimitedView":"Pl\xE4tze mit eingeschr\xE4nkter Sicht ausblenden","picker.bestSeatsPremium":"Beste Pl\xE4tze","picker.premiumFallbackNote":"Kein Premium-Block mit {count} Pl\xE4tzen \u2014 beste verf\xFCgbare werden angezeigt","picker.loading3d":"3D-Veranstaltungsort wird aufgebaut\u2026","picker.unavailable3d":"3D konnte nicht gestartet werden. Der Sitzplan bleibt verf\xFCgbar.","picker.jumpToSection":"Zum Bereich springen","picker.salesClosedPill":"Der Verkauf ist beendet","picker.salesClosedCopy":"Der Ticketverkauf f\xFCr diese Veranstaltung ist beendet.","picker.salesClosedCta":"Verkauf beendet","picker.salesClosedToast":"Der Verkauf f\xFCr diese Veranstaltung ist beendet.","picker.holdReassurance":"F\xFCr {time} reserviert \u2014 noch wird nichts abgebucht.","picker.securingSeats":"Ihre Pl\xE4tze werden gesichert\u2026","picker.openingCheckout":"Sicherer Checkout wird ge\xF6ffnet\u2026","picker.peekSecured":"\u2713 {count} gesichert \xB7 {total} \u2014 noch wird nichts abgebucht","picker.priceHint":"Die Farben auf dem Plan sind Ticketkategorien \u2014 tippen Sie eine an, um nur diese Pl\xE4tze zu sehen.","picker.findTogetherInstead":"Stattdessen Pl\xE4tze nebeneinander finden","picker.keepMyPicks":"Meine Auswahl behalten","picker.accessExpiredBody":"Melden Sie sich erneut an oder laden Sie die Seite neu, um diese Pl\xE4tze weiter durchzusehen. Bereits gehaltene Pl\xE4tze bleiben Ihnen erhalten.","picker.accessExpiredTitle":"Ihre Zugangssitzung ist beendet","picker.accessInvalidBody":"Sie k\xF6nnen weiterhin alles buchen, was als verf\xFCgbar angezeigt wird. Wenden Sie sich f\xFCr Zugang zum Rest an die Person, die Ihnen den Link geschickt hat.","picker.accessInvalidTitle":"Ihr Zugang konnte nicht best\xE4tigt werden","picker.accessPausedBody":"Der Veranstalter hat diese Auswahl pausiert. Versuchen Sie es in ein paar Minuten erneut.","picker.accessPausedTitle":"Diese Pl\xE4tze sind gerade reserviert","picker.accessRetry":"Erneut versuchen","picker.accessRevokedBody":"Bitten Sie die Person, die Ihnen diesen Link geschickt hat, um einen neuen, um weiter buchen zu k\xF6nnen.","picker.accessRevokedTitle":"Dieser Zugangslink ist nicht mehr aktiv","picker.accessiblePhysicalSeat":"Barrierefreier fester Sitzplatz","picker.addTime":"Zeit hinzuf\xFCgen","picker.addingEllipsis":"Wird hinzugef\xFCgt\u2026","picker.allLevels":"Alle Ebenen","picker.allPlacesBookedTogether":"Alle {count} Pl\xE4tze werden gemeinsam als ein exklusiver Tisch gebucht.","picker.allPrices":"Alle Preise","picker.allSeats":"Alle Pl\xE4tze","picker.allSetTitle":"Alles bereit","picker.anyTicketType":"Beliebige Ticketart","picker.anyVenueZone":"Beliebiger Bereich","picker.areas":"Bereiche","picker.available":"Verf\xFCgbar","picker.backToMap":"Zur\xFCck zur Karte","picker.backToVenue":"Zur\xFCck zur \xDCbersicht","picker.bestSeatsStar":"\u2726 Beste Pl\xE4tze","picker.booth":"Loge","picker.capacityGuests":"{count} G\xE4ste","picker.change":"\xC4ndern","picker.chartDerivedModel":"Aus dem Plan abgeleitetes Modell","picker.chartDerivedSeatEye":"Live-3D \xB7 aus dem Plan abgeleitete Sitzperspektive \xB7 nicht vermessen","picker.checkConnection":"Bitte \xFCberpr\xFCfen Sie Ihre Verbindung und versuchen Sie es erneut.","picker.checkoutCouldNotBeOpened":"Der Checkout konnte nicht ge\xF6ffnet werden. Ihre Pl\xE4tze sind weiterhin reserviert \u2014 bitte versuchen Sie es erneut.","picker.chooseAnotherToCompare":"W\xE4hlen Sie einen weiteren Platz zum Vergleichen.","picker.chooseGuestsCopy":"W\xE4hlen Sie, wie viele G\xE4ste zusammensitzen. Dieser Tisch ist exklusiv f\xFCr Ihre Gruppe reserviert.","picker.chooseMinMaxGuests":"W\xE4hlen Sie {min}\u2013{max} G\xE4ste","picker.clearSavedSeatComparison":"Gespeicherten Sitzvergleich l\xF6schen","picker.close":"Schlie\xDFen","picker.closeSeatStatus":"Sitzstatus schlie\xDFen","picker.closestGroupChosenInstantly":"N\xE4chstgelegene verf\xFCgbare Gruppe, sofort ausgew\xE4hlt.","picker.collapseTicketPanel":"Ticketbereich einklappen","picker.compareCount":"{count} vergleichen","picker.compareWithSaved":"Mit Gespeichertem vergleichen","picker.confirmOrCancelSeat":"Diesen Platz best\xE4tigen oder abbrechen","picker.confirmSeatLabel":"Platz {label} best\xE4tigen","picker.confirmYourTable":"Ihren Tisch best\xE4tigen","picker.confirmedAndOnWay":"best\xE4tigt. Eine Best\xE4tigung ist unterwegs.","picker.continue":"Weiter","picker.continueToCheckout":"Weiter zum Checkout","picker.couldNotAddMoreTime":"Zus\xE4tzliche Zeit konnte nicht hinzugef\xFCgt werden \u2014 bitte jetzt zum Checkout gehen.","picker.couldNotFindSeatsTogether":"Wir konnten keine {count} zusammenh\xE4ngenden Pl\xE4tze finden. Versuchen Sie es mit weniger Pl\xE4tzen oder einer anderen Ticketart.","picker.couldNotReleaseTickets":"Ihre Tickets konnten nicht freigegeben werden. Ihre Reservierung bleibt unver\xE4ndert.","picker.couldNotRemoveLabel":"{label} konnte nicht entfernt werden. Ihre Reservierung bleibt unver\xE4ndert.","picker.currentOffer":"Aktuelles Angebot","picker.currentTicketOffer":"Aktuelles Ticketangebot","picker.dragToLookAround":"Ziehen zum Umsehen \xB7 Scrollen zum Zoomen","picker.emptyWheelchairSpace":"Leerer Rollstuhlplatz","picker.exitFullScreen":"Vollbild verlassen","picker.fewer":"Weniger","picker.fewerGuests":"Weniger G\xE4ste","picker.fewerSeats":"Weniger Pl\xE4tze","picker.filterAndFocusByPrice":"Pl\xE4tze nach Preis filtern und fokussieren","picker.filters":"Filter","picker.findBestSeatsCount.one":"{count} besten Platz finden","picker.findBestSeatsCount.other":"{count} beste Pl\xE4tze finden","picker.findBestSeatsTogether":"Die besten Pl\xE4tze zusammen finden","picker.findNewSeats":"Neue Pl\xE4tze finden","picker.findingBestSeats":"Beste Pl\xE4tze werden gesucht\u2026","picker.findingEllipsis":"Wird gesucht\u2026","picker.fitToScreen":"An Bildschirm anpassen","picker.flat2dMap":"Flache 2D-Karte","picker.flexiblePartyTypeWord":"Flexible Gruppe \xB7 {typeWord}","picker.fullScreen":"Vollbild","picker.generalAdmission":"Stehplatz","picker.guestCountCouldNotBeSecured":"Diese G\xE4steanzahl konnte nicht gesichert werden. Ihre aktuelle Tischreservierung bleibt unver\xE4ndert.","picker.guestCountNoLongerAvailable":"Diese G\xE4steanzahl ist nicht mehr verf\xFCgbar. Ihre aktuelle Reservierung bleibt unver\xE4ndert.","picker.guests":"G\xE4ste","picker.guestsCount":"{count} G\xE4ste","picker.guestsCountEdit":"{count} G\xE4ste \xB7 Bearbeiten","picker.held":"Reserviert","picker.heldForYou":"F\xFCr Sie reserviert","picker.heldSeatExplanation":"Ein anderer K\xE4ufer h\xE4lt diesen Platz gerade. Er k\xF6nnte wieder verf\xFCgbar werden.","picker.heldTicketsReleased":"Reservierte Tickets wurden freigegeben. W\xE4hlen Sie neue Pl\xE4tze.","picker.heldTicketsRestored":"Ihre reservierten Tickets wurden wiederhergestellt.","picker.hidePanel":"Bereich ausblenden","picker.hideTicketPanel":"Ticketbereich ausblenden","picker.holdSeatsAndCheckout":"Pl\xE4tze reservieren & zum Checkout","picker.howOfferWorks":"So funktioniert das Angebot \u201E{name}\u201C","picker.interactive3dVenueView":"Interaktive 3D-Ansicht des Veranstaltungsorts","picker.keepMine":"Meine behalten","picker.labelNoLongerAvailable":"{label} ist nicht mehr verf\xFCgbar.","picker.labelRemoved":"{label} entfernt.","picker.labelRemovedFromHold":"{label} aus Ihrer Reservierung entfernt.","picker.labelRestored":"{label} wiederhergestellt.","picker.labelsNoLongerAvailable.one":"{labels} ist nicht mehr verf\xFCgbar. W\xE4hlen Sie einen anderen Platz.","picker.labelsNoLongerAvailable.other":"{labels} sind nicht mehr verf\xFCgbar. W\xE4hlen Sie eine andere Gruppe.","picker.leftCount.one":"noch {count}","picker.leftCount.other":"noch {count}","picker.levelNumber":"Ebene {number}","picker.levels":"Ebenen","picker.liveAvailability":"Live-Verf\xFCgbarkeit \u2014 Pl\xE4tze aktualisieren sich in Echtzeit","picker.loadingSeatMap":"Sitzplan wird geladen\u2026","picker.lookAroundLive3d":"In Live-3D umsehen","picker.manualTicketsRemovedNote":"Ihre manuell gew\xE4hlten Tickets werden erst entfernt, nachdem eine neue Gruppe gesichert wurde.","picker.map":"Karte","picker.mapDidNotLoad":"Der Sitzplan konnte nicht geladen werden","picker.maxTicketsForOrder":"Sie k\xF6nnen f\xFCr diese Bestellung bis zu {count} Tickets ausw\xE4hlen.","picker.selectExactMore":"Noch {count} ausw\xE4hlen","picker.selectExactCount":"Genau {count} Tickets ausw\xE4hlen","picker.selectMinimumMore":"Noch {count} ausw\xE4hlen","picker.adjustSeatSelection":"Sitzauswahl anpassen","picker.selectSeatsTogether":"W\xE4hlen Sie zusammenh\xE4ngende Pl\xE4tze in derselben Reihe und Kategorie.","picker.minToMaxGuests":"{min} bis {max} G\xE4ste","picker.more":"Mehr","picker.moreGuests":"Mehr G\xE4ste","picker.moreSeats":"Mehr Pl\xE4tze","picker.moreSelectedCount":"{count} weitere ausgew\xE4hlt","picker.moreTimeAdded":"Zus\xE4tzliche Zeit hinzugef\xFCgt \u2014 Ihre Pl\xE4tze sind weiterhin reserviert.","picker.noAccessibilityMetadata":"Keine Barrierefreiheits-Angaben vorhanden","picker.noAuthoredRestriction":"Keine vom Veranstalter angegebene Einschr\xE4nkung","picker.noSeatsSelected":"Keine Pl\xE4tze ausgew\xE4hlt","picker.notChargedYet":"Es wird noch nichts abgebucht.","picker.notForSale":"Nicht verk\xE4uflich","picker.notForSaleExplanation":"Dieser Platz ist im aktuellen Verkauf nicht enthalten.","picker.numberOfGuests":"Anzahl der G\xE4ste","picker.offerDetailActive":"Dieser Preis gilt automatisch f\xFCr berechtigte Pl\xE4tze. Tickets in aktiven Warenk\xF6rben verringern vor\xFCbergehend die verf\xFCgbare Menge; freigegebene oder abgelaufene Reservierungen geben sie zur\xFCck. Wenn das Angebot endet, greift das n\xE4chste passende Angebot oder der regul\xE4re Ticketpreis.","picker.offerDetailUpcoming":"Tickets sind derzeit zum regul\xE4ren Preis erh\xE4ltlich. Dieses geplante Angebot gilt automatisch f\xFCr berechtigte Pl\xE4tze, sobald es beginnt.","picker.offerRemainingAvailable":"{count} verf\xFCgbar","picker.offerStarts":"beginnt {time}","picker.offerUntil":"bis {time}","picker.oneSeatSaved":"1 Platz gespeichert","picker.oneSeatSavedChooseAnother":"Ein Platz gespeichert; w\xE4hlen Sie einen weiteren zum Vergleichen","picker.openAuthored360":"360\xB0-Ansicht des Veranstaltungsorts \xF6ffnen","picker.openComparison":"Vergleich \xF6ffnen","picker.openComparisonOfSeats":"Vergleich von {count} Pl\xE4tzen \xF6ffnen","picker.openTicketPanel":"Ticketbereich \xF6ffnen","picker.peekFromPrice":"Ab {price}","picker.peekTicketsTotal.one":"{count} Ticket \xB7 {total}","picker.peekTicketsTotal.other":"{count} Tickets \xB7 {total}","picker.perGuestPrice":"{price} pro Gast","picker.pickYourSeats":"W\xE4hlen Sie Ihre Pl\xE4tze","picker.preferredTicketType":"Bevorzugte Ticketart","picker.preferredVenueZone":"Bevorzugter Bereich","picker.priceNotSupplied":"Preis nicht angegeben","picker.releaseHeldTickets":"Reservierte Tickets freigeben und andere Pl\xE4tze w\xE4hlen","picker.releasingEllipsis":"Wird freigegeben\u2026","picker.removeHeldTicketLabel":"Reserviertes Ticket {label} entfernen","picker.removeSeatLabel":"{label} entfernen","picker.removeTicketsUntilOrFewer":"Entfernen Sie Tickets, bis Ihre Bestellung {count} oder weniger enth\xE4lt.","picker.replaceCurrentChoices":"Ihre aktuelle Auswahl ersetzen?","picker.review":"\xDCberpr\xFCfen","picker.row":"Reihe","picker.rowLabel":"Reihe {label}","picker.saveToCompare":"Zum Vergleich speichern","picker.savedForComparison":"Zum Vergleich gespeichert","picker.savedSeatComparison":"Gespeicherter Sitzvergleich","picker.scheduledOffer":"Geplantes Angebot","picker.seat":"Platz","picker.seatCount.one":"{count} Platz","picker.seatCount.other":"{count} Pl\xE4tze","picker.seatJustTakenByAnother":"Platz {label} wurde gerade von einem anderen K\xE4ufer \xFCbernommen.","picker.seatLabel":"Platz {label}","picker.seatNoLongerAvailable":"Dieser Platz ist nicht mehr verf\xFCgbar.","picker.seatNoLongerYours":"Einige Pl\xE4tze sind f\xFCr Sie nicht mehr verf\xFCgbar. Sie wurden aus Ihrer Bestellung entfernt.","picker.seatNumberLower":"Platz {label}","picker.seatSalesClosedForEvent":"Der Ticketverkauf f\xFCr diese Veranstaltung ist beendet.","picker.seatSelection":"Sitzplatzauswahl","picker.seatStatusLegend":"Legende zum Sitzstatus","picker.seatTaken":"Ein anderer K\xE4ufer hat einen von Ihnen gew\xE4hlten Platz \xFCbernommen. Er wurde aus Ihrer Bestellung entfernt.","picker.seatsHeldForNeedMoreTime":"Ihre Pl\xE4tze sind f\xFCr <b>{time}</b> reserviert. Mehr Zeit ben\xF6tigt?","picker.seatsJustTaken":"Ein oder mehrere Pl\xE4tze wurden gerade vergeben. Bitte w\xE4hlen Sie erneut.","picker.seatsJustTakenInCategory.one":"{count} Platz gerade vergeben in {label} \xB7 noch {left}","picker.seatsJustTakenInCategory.other":"{count} Pl\xE4tze gerade vergeben in {label} \xB7 noch {left}","picker.seatsNoLongerAvailableTryAnother":"Diese Pl\xE4tze sind nicht mehr verf\xFCgbar. Versuchen Sie eine andere Anzahl oder Ticketart.","picker.seatsSecured":"Pl\xE4tze gesichert","picker.seatsSelectedCount.one":"{count} ausgew\xE4hlt","picker.seatsSelectedCount.other":"{count} ausgew\xE4hlt","picker.section":"Bereich","picker.secureMore":"Mehr sichern","picker.secureMoreAndCheckout":"{count} weitere sichern & zum Checkout","picker.securedCount":"{count} gesichert","picker.seeItIn3d":"In 3D ansehen","picker.select":"Ausw\xE4hlen","picker.selectSeats":"Pl\xE4tze ausw\xE4hlen","picker.selectTable":"Tisch ausw\xE4hlen","picker.selectWholeTable":"Ganzen Tisch ausw\xE4hlen","picker.selected":"Ausgew\xE4hlt","picker.selectingEllipsis":"Wird ausgew\xE4hlt\u2026","picker.showAllSeats":"Alle Pl\xE4tze anzeigen","picker.showAllTicketTypes":"Alle {count} Ticketarten anzeigen","picker.showFewer":"Weniger anzeigen","picker.showLabelSeatsOnMap":"{label}-Pl\xE4tze auf der Karte anzeigen","picker.showTicketPanel":"Ticketbereich anzeigen","picker.sold":"Verkauft","picker.soldOutCopy":"F\xFCr diese Veranstaltung sind derzeit keine reservierten Pl\xE4tze verf\xFCgbar.","picker.soldOutEyebrow":"Diese Veranstaltung","picker.soldOutTitle":"Ausverkauft","picker.soldSeatExplanation":"Dieser Platz wurde bereits gebucht.","picker.statusAvailable":"verf\xFCgbar","picker.statusOnHold":"reserviert","picker.statusTaken2":"vergeben","picker.table":"Tisch","picker.tableCapacity":"Tischkapazit\xE4t","picker.tableUpdatedForGuests":"{label} auf {count} G\xE4ste aktualisiert.","picker.temporarilyHeld":"Vor\xFCbergehend reserviert","picker.ticketPrices":"Ticketpreise","picker.ticketTypeSoldOut":"Diese Ticketart ist ausverkauft. Versuchen Sie eine andere Ticketart.","picker.tickets":"Tickets","picker.ticketsCount.one":"{count} Ticket","picker.ticketsCount.other":"{count} Tickets","picker.toggleColorblindColors":"Farbenblindenfreundliche Farben umschalten","picker.total":"Gesamt","picker.trayHintTapOrBest":"Tippen Sie auf einen Platz in der Karte, oder lassen Sie uns die besten verf\xFCgbaren f\xFCr Sie w\xE4hlen.","picker.trayHintTapOrStanding":"Tippen Sie auf einen Platz in der Karte \u2014 oder holen Sie sich unten Stehplatztickets.","picker.undo":"R\xFCckg\xE4ngig","picker.upcomingTicketOffer":"Bevorstehendes Ticketangebot","picker.updateTable":"Tisch aktualisieren","picker.updatingEllipsis":"Wird aktualisiert\u2026","picker.venueView":"Ansicht des Veranstaltungsorts","picker.viewFromHere":"Ansicht von hier","picker.viewFromThisSeat":"Ansicht von diesem Platz","picker.wholeTypeWord":"Ganzer {typeWord}","picker.willChooseClosestGroup":"Wir w\xE4hlen die n\xE4chstgelegene verf\xFCgbare Gruppe f\xFCr Sie.","picker.willFindSeatsTogether":"Wir finden {count} Pl\xE4tze zusammen f\xFCr Sie.","picker.yourSeats":"Ihre Pl\xE4tze","picker.zoomIn":"Vergr\xF6\xDFern","picker.zoomOut":"Verkleinern","picker.closeVenueNav":"Schlie\xDFen","picker.levelsAndAreas":"Ebenen & Bereiche"};export{e as de};