@seatlayer/core 0.71.2 → 0.71.4

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.
Files changed (136) hide show
  1. package/dist/ar-WXDW7P4F.js +1 -0
  2. package/dist/be-OZ73MTYV.js +1 -0
  3. package/dist/bg-NXBQVQ7X.js +1 -0
  4. package/dist/ca-4J7PKGEP.js +1 -0
  5. package/dist/{categoryInventory-BiUDSvBt.d.ts → categoryInventory-B8CDQtH4.d.ts} +1 -1
  6. package/dist/{categoryInventory-DBqgM5in.d.cts → categoryInventory-r3OfIEQn.d.cts} +1 -1
  7. package/dist/{chunk-AWPHGLTU.js → chunk-7KS6TAYH.js} +1 -1
  8. package/dist/{chunk-A27USMF7.js → chunk-AM2LRFAY.js} +1 -1
  9. package/dist/chunk-KCFEFP6H.js +1 -0
  10. package/dist/{chunk-7OJ6SB6V.js → chunk-KPSJDH3N.js} +1 -1
  11. package/dist/{chunk-UHPX2P7O.js → chunk-LR7WIR5Z.js} +1 -1
  12. package/dist/chunk-NKYPEBW3.js +1 -0
  13. package/dist/{chunk-5AHUGRHH.js → chunk-NXFDYBZY.js} +1 -1
  14. package/dist/chunk-SKO3DCVB.js +1 -0
  15. package/dist/{chunk-652LV66L.js → chunk-YSVXAUOH.js} +1 -1
  16. package/dist/core/chart-ops/index.cjs +1 -1
  17. package/dist/core/chart-ops/index.d.cts +4 -4
  18. package/dist/core/chart-ops/index.d.ts +4 -4
  19. package/dist/core/chart-ops/index.js +1 -1
  20. package/dist/core/inventory/index.cjs +1 -1
  21. package/dist/core/inventory/index.d.cts +4 -4
  22. package/dist/core/inventory/index.d.ts +4 -4
  23. package/dist/core/inventory/index.js +1 -1
  24. package/dist/core/layout/index.cjs +1 -1
  25. package/dist/core/layout/index.d.cts +5 -4
  26. package/dist/core/layout/index.d.ts +5 -4
  27. package/dist/core/layout/index.js +1 -1
  28. package/dist/core/quality/index.d.cts +3 -3
  29. package/dist/core/quality/index.d.ts +3 -3
  30. package/dist/core/render-assets/index.d.cts +1 -1
  31. package/dist/core/render-assets/index.d.ts +1 -1
  32. package/dist/core/seatConfidence.d.cts +1 -1
  33. package/dist/core/seatConfidence.d.ts +1 -1
  34. package/dist/core/sections/index.cjs +1 -1
  35. package/dist/core/sections/index.d.cts +5 -5
  36. package/dist/core/sections/index.d.ts +5 -5
  37. package/dist/core/sections/index.js +1 -1
  38. package/dist/cs-HOVL5PRG.js +1 -0
  39. package/dist/{cy-XWYNMRNE.js → cy-KJLPIGNL.js} +1 -1
  40. package/dist/da-4YKKGJN6.js +1 -0
  41. package/dist/de-QYK4NJIH.js +1 -0
  42. package/dist/el-XLXQE4YH.js +1 -0
  43. package/dist/es-IXMCGRNZ.js +1 -0
  44. package/dist/et-HK6GEAPP.js +1 -0
  45. package/dist/{eventConfigurations-CA2XhDig.d.ts → eventConfigurations-0OC43JJY.d.ts} +1 -1
  46. package/dist/{eventConfigurations-Csdxe89O.d.cts → eventConfigurations-ByU_uPeS.d.cts} +1 -1
  47. package/dist/fa-RZT7N54K.js +1 -0
  48. package/dist/fi-NQN2STMX.js +1 -0
  49. package/dist/fr-AK5TYGQK.js +1 -0
  50. package/dist/he-CMVTS5LG.js +1 -0
  51. package/dist/{hr-AIG6RMUY.js → hr-LVOAM3F2.js} +1 -1
  52. package/dist/hu-KT2PFOAI.js +1 -0
  53. package/dist/index.cjs +1 -1
  54. package/dist/index.d.cts +133 -34
  55. package/dist/index.d.ts +133 -34
  56. package/dist/index.js +1 -1
  57. package/dist/it-IWWDBW67.js +1 -0
  58. package/dist/ja-QUYO5TKQ.js +1 -0
  59. package/dist/ku-FVXFA2DX.js +1 -0
  60. package/dist/{labeling-CxZWjZBN.d.ts → labeling-B05IJwd2.d.ts} +1 -1
  61. package/dist/{labeling-DG-Sc8VW.d.cts → labeling-DAGq3u0z.d.cts} +1 -1
  62. package/dist/{layout-C6YaCOnZ.d.ts → layout-DkDRcXvu.d.ts} +102 -60
  63. package/dist/{layout-BxJIZjPm.d.cts → layout-e0Qe7jmM.d.cts} +102 -60
  64. package/dist/localeLoaders-SZP47JPK.js +1 -0
  65. package/dist/lt-O5OARGHR.js +1 -0
  66. package/dist/{lv-NTO2456Y.js → lv-D5PW436N.js} +1 -1
  67. package/dist/nl-VDXV6VTH.js +1 -0
  68. package/dist/no-YS6QVD44.js +1 -0
  69. package/dist/pl-NP6YVWU6.js +1 -0
  70. package/dist/pt-YZLA6LO4.js +1 -0
  71. package/dist/{renderedQuality-CgBQYezj.d.cts → renderedQuality-BaejczsK.d.cts} +1 -1
  72. package/dist/{renderedQuality-CWwy14lb.d.ts → renderedQuality-BwwrqYzX.d.ts} +1 -1
  73. package/dist/{renderer-DmG3C8vD.d.cts → renderer-BNicx5sw.d.ts} +43 -1
  74. package/dist/{renderer-DIcDImOu.d.ts → renderer-Duv1HhQg.d.cts} +43 -1
  75. package/dist/ro-AOVPSQKL.js +1 -0
  76. package/dist/ru-4LGHGVZG.js +1 -0
  77. package/dist/{sections-Bb0L9lDT.d.cts → sections-BjGjR21N.d.cts} +1 -1
  78. package/dist/{sections-87qiciyN.d.ts → sections-CrX4vq-m.d.ts} +1 -1
  79. package/dist/{segmentedRowModel-CEP6crcl.d.ts → segmentedRowModel-BOO8w9Ng.d.ts} +1 -1
  80. package/dist/{segmentedRowModel-BqiM0U65.d.cts → segmentedRowModel-UO_YIQRB.d.cts} +1 -1
  81. package/dist/sk-4FRMG7ZG.js +1 -0
  82. package/dist/sl-FYABQLPI.js +1 -0
  83. package/dist/sr-W4SGB5AT.js +1 -0
  84. package/dist/sv-4LK4WE4H.js +1 -0
  85. package/dist/{ticketRestrictions-Bj8PBX_x.d.cts → ticketRestrictions-DUQrKTpS.d.cts} +2 -2
  86. package/dist/{ticketRestrictions-B_qXQobd.d.ts → ticketRestrictions-dvlNTwem.d.ts} +2 -2
  87. package/dist/tr-M5NWILAZ.js +1 -0
  88. package/dist/{types-DNztpn7q.d.ts → types-0yruRsAj.d.cts} +30 -1
  89. package/dist/{types-DNztpn7q.d.cts → types-0yruRsAj.d.ts} +30 -1
  90. package/dist/uk-REKJ4DVG.js +1 -0
  91. package/dist/view3d/crossfade/panorama.d.cts +1 -1
  92. package/dist/view3d/crossfade/panorama.d.ts +1 -1
  93. package/dist/view3d/index.cjs +31 -31
  94. package/dist/view3d/index.d.cts +36 -4
  95. package/dist/view3d/index.d.ts +36 -4
  96. package/dist/view3d/index.js +23 -23
  97. package/dist/view3d/scene/scene.worker.cjs +1 -1
  98. package/dist/view3d/scene/scene.worker.js +1 -1
  99. package/dist/{zh-Hans-ONBXTDHV.js → zh-Hans-F32F3VGF.js} +1 -1
  100. package/dist/{zh-Hant-LVTMHA6P.js → zh-Hant-NA3TGNDP.js} +1 -1
  101. package/package.json +1 -1
  102. package/dist/ar-R52D47QC.js +0 -1
  103. package/dist/be-P34NRZPF.js +0 -1
  104. package/dist/bg-4TEE6DSQ.js +0 -1
  105. package/dist/ca-V4A6DRPR.js +0 -1
  106. package/dist/chunk-WXWJZ5DO.js +0 -1
  107. package/dist/chunk-WYXHD6J2.js +0 -1
  108. package/dist/chunk-X3K36XZM.js +0 -1
  109. package/dist/cs-GR5H3ZRU.js +0 -1
  110. package/dist/da-NOYMEVP6.js +0 -1
  111. package/dist/de-LFHFC2XO.js +0 -1
  112. package/dist/el-AS3436E6.js +0 -1
  113. package/dist/es-IWBWYUHH.js +0 -1
  114. package/dist/et-VV7YGFEV.js +0 -1
  115. package/dist/fa-JYLN4BIM.js +0 -1
  116. package/dist/fi-TXRN726I.js +0 -1
  117. package/dist/fr-PKEU6NKI.js +0 -1
  118. package/dist/he-H53ZPEAF.js +0 -1
  119. package/dist/hu-KE64252D.js +0 -1
  120. package/dist/it-GVT7VIKV.js +0 -1
  121. package/dist/ja-WMRRUDVD.js +0 -1
  122. package/dist/ku-77V6NTW7.js +0 -1
  123. package/dist/localeLoaders-EMBA3SWS.js +0 -1
  124. package/dist/lt-7ICKT4ED.js +0 -1
  125. package/dist/nl-IYEEWC4A.js +0 -1
  126. package/dist/no-CKH6R5N2.js +0 -1
  127. package/dist/pl-ALK57HKB.js +0 -1
  128. package/dist/pt-EYFSXBVZ.js +0 -1
  129. package/dist/ro-EUFVCBVY.js +0 -1
  130. package/dist/ru-XAIYWENX.js +0 -1
  131. package/dist/sk-QIOFO4TV.js +0 -1
  132. package/dist/sl-37I57K2X.js +0 -1
  133. package/dist/sr-HE5DILFD.js +0 -1
  134. package/dist/sv-7SVBFLY3.js +0 -1
  135. package/dist/tr-JNA4YJEJ.js +0 -1
  136. package/dist/uk-2723G7DI.js +0 -1
@@ -1,7 +1,7 @@
1
- import { P as Point, C as ChartDoc, R as RowObject } from '../../types-DNztpn7q.cjs';
2
- import { E as ExpandedSeat, S as SeatStatus } from '../../renderer-DmG3C8vD.cjs';
3
- export { C as CATEGORY_INVENTORY_FAMILIES, a as CategoryInventoryClone, b as CategoryInventoryConflict, c as CategoryInventoryFamily, d as CategoryInventoryFamilyUsage, e as CategoryInventoryObjectType, f as CategoryInventoryReassignment, g as CategoryInventoryRemediationChange, h as CategoryInventoryRemediationResult, i as CategoryInventoryTarget, j as describeCategoryInventoryConflict, k as effectiveSeatOwnerCategoryCounts, l as inspectCategoryInventoryConflicts, r as remediateCategoryInventoryConflicts } from '../../categoryInventory-DBqgM5in.cjs';
4
- export { C as CompanionSelectionIssue, M as MAX_EVENT_INVENTORY, a as MAX_GA_CAPACITY, N as NotForSaleSelectionIssue, T as TicketOptionApplicabilityIssue, b as TicketSelection, c as TicketSelectionIssue, d as TicketTierResolution, e as applicableTicketTiers, f as companionSelectionIssue, g as gaAreasOf, h as gaInventorySegments, i as gaUnitLabel, j as gaUnitLabels, k as growJoinedGAInventory, l as isGaUnitLabel, r as resolveTicketTierForSeat, t as ticketOptionNotApplicableIssue, m as ticketSelectionIssue, n as ticketTierAppliesToSeat, v as validGAInventorySegments } from '../../ticketRestrictions-Bj8PBX_x.cjs';
1
+ import { P as Point, C as ChartDoc, R as RowObject } from '../../types-0yruRsAj.cjs';
2
+ import { E as ExpandedSeat, S as SeatStatus } from '../../renderer-Duv1HhQg.cjs';
3
+ export { C as CATEGORY_INVENTORY_FAMILIES, a as CategoryInventoryClone, b as CategoryInventoryConflict, c as CategoryInventoryFamily, d as CategoryInventoryFamilyUsage, e as CategoryInventoryObjectType, f as CategoryInventoryReassignment, g as CategoryInventoryRemediationChange, h as CategoryInventoryRemediationResult, i as CategoryInventoryTarget, j as describeCategoryInventoryConflict, k as effectiveSeatOwnerCategoryCounts, l as inspectCategoryInventoryConflicts, r as remediateCategoryInventoryConflicts } from '../../categoryInventory-r3OfIEQn.cjs';
4
+ export { C as CompanionSelectionIssue, M as MAX_EVENT_INVENTORY, a as MAX_GA_CAPACITY, N as NotForSaleSelectionIssue, T as TicketOptionApplicabilityIssue, b as TicketSelection, c as TicketSelectionIssue, d as TicketTierResolution, e as applicableTicketTiers, f as companionSelectionIssue, g as gaAreasOf, h as gaInventorySegments, i as gaUnitLabel, j as gaUnitLabels, k as growJoinedGAInventory, l as isGaUnitLabel, r as resolveTicketTierForSeat, t as ticketOptionNotApplicableIssue, m as ticketSelectionIssue, n as ticketTierAppliesToSeat, v as validGAInventorySegments } from '../../ticketRestrictions-DUQrKTpS.cjs';
5
5
 
6
6
  /**
7
7
  * Best-available seat selection — a PURE, fully unit-testable ranking function.
@@ -1,7 +1,7 @@
1
- import { P as Point, C as ChartDoc, R as RowObject } from '../../types-DNztpn7q.js';
2
- import { E as ExpandedSeat, S as SeatStatus } from '../../renderer-DIcDImOu.js';
3
- export { C as CATEGORY_INVENTORY_FAMILIES, a as CategoryInventoryClone, b as CategoryInventoryConflict, c as CategoryInventoryFamily, d as CategoryInventoryFamilyUsage, e as CategoryInventoryObjectType, f as CategoryInventoryReassignment, g as CategoryInventoryRemediationChange, h as CategoryInventoryRemediationResult, i as CategoryInventoryTarget, j as describeCategoryInventoryConflict, k as effectiveSeatOwnerCategoryCounts, l as inspectCategoryInventoryConflicts, r as remediateCategoryInventoryConflicts } from '../../categoryInventory-BiUDSvBt.js';
4
- export { C as CompanionSelectionIssue, M as MAX_EVENT_INVENTORY, a as MAX_GA_CAPACITY, N as NotForSaleSelectionIssue, T as TicketOptionApplicabilityIssue, b as TicketSelection, c as TicketSelectionIssue, d as TicketTierResolution, e as applicableTicketTiers, f as companionSelectionIssue, g as gaAreasOf, h as gaInventorySegments, i as gaUnitLabel, j as gaUnitLabels, k as growJoinedGAInventory, l as isGaUnitLabel, r as resolveTicketTierForSeat, t as ticketOptionNotApplicableIssue, m as ticketSelectionIssue, n as ticketTierAppliesToSeat, v as validGAInventorySegments } from '../../ticketRestrictions-B_qXQobd.js';
1
+ import { P as Point, C as ChartDoc, R as RowObject } from '../../types-0yruRsAj.js';
2
+ import { E as ExpandedSeat, S as SeatStatus } from '../../renderer-BNicx5sw.js';
3
+ export { C as CATEGORY_INVENTORY_FAMILIES, a as CategoryInventoryClone, b as CategoryInventoryConflict, c as CategoryInventoryFamily, d as CategoryInventoryFamilyUsage, e as CategoryInventoryObjectType, f as CategoryInventoryReassignment, g as CategoryInventoryRemediationChange, h as CategoryInventoryRemediationResult, i as CategoryInventoryTarget, j as describeCategoryInventoryConflict, k as effectiveSeatOwnerCategoryCounts, l as inspectCategoryInventoryConflicts, r as remediateCategoryInventoryConflicts } from '../../categoryInventory-B8CDQtH4.js';
4
+ export { C as CompanionSelectionIssue, M as MAX_EVENT_INVENTORY, a as MAX_GA_CAPACITY, N as NotForSaleSelectionIssue, T as TicketOptionApplicabilityIssue, b as TicketSelection, c as TicketSelectionIssue, d as TicketTierResolution, e as applicableTicketTiers, f as companionSelectionIssue, g as gaAreasOf, h as gaInventorySegments, i as gaUnitLabel, j as gaUnitLabels, k as growJoinedGAInventory, l as isGaUnitLabel, r as resolveTicketTierForSeat, t as ticketOptionNotApplicableIssue, m as ticketSelectionIssue, n as ticketTierAppliesToSeat, v as validGAInventorySegments } from '../../ticketRestrictions-dvlNTwem.js';
5
5
 
6
6
  /**
7
7
  * Best-available seat selection — a PURE, fully unit-testable ranking function.
@@ -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-652LV66L.js";import{a as ct,b as lt,c as ut,d as pt,e as ft,h as P}from"../../chunk-5AHUGRHH.js";import"../../chunk-GXMGOWKB.js";import"../../chunk-JBGLFOJO.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-A27USMF7.js";import"../../chunk-AWPHGLTU.js";import{l as C,ma as v,oa as g,pa as R,ra as S,sa as _,w,xa as O}from"../../chunk-X3K36XZM.js";import"../../chunk-CXF32VPG.js";import"../../chunk-CRCGO52K.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-YSVXAUOH.js";import{a as ct,b as lt,c as ut,d as pt,e as ft,h as P}from"../../chunk-NXFDYBZY.js";import"../../chunk-GXMGOWKB.js";import"../../chunk-JBGLFOJO.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-AM2LRFAY.js";import"../../chunk-7KS6TAYH.js";import{l as C,ma as v,oa as g,pa as R,ra as S,sa as _,w,xa as O}from"../../chunk-KCFEFP6H.js";import"../../chunk-CXF32VPG.js";import"../../chunk-CRCGO52K.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 Z=Object.defineProperty;var We=Object.getOwnPropertyDescriptor;var qe=Object.getOwnPropertyNames;var Qe=Object.prototype.hasOwnProperty;var Je=(e,t)=>{for(var n in t)Z(e,n,{get:t[n],enumerable:!0})},Ze=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of qe(t))!Qe.call(e,r)&&r!==n&&Z(e,r,{get:()=>t[r],enumerable:!(o=We(t,r))||o.enumerable});return e};var et=e=>Ze(Z({},"__esModule",{value:!0}),e);var fn={};Je(fn,{DEFAULT_SEAT_RADIUS:()=>Ke,TABLE_SEAT_OFFSET:()=>N,TEXT_BACKGROUND_PADDING_MAX:()=>vn,TEXT_BACKGROUND_RADIUS_MAX:()=>In,TEXT_LETTER_SPACING_MAX:()=>wn,TEXT_LETTER_SPACING_MIN:()=>Sn,TEXT_LINE_HEIGHT_MAX:()=>Mn,TEXT_LINE_HEIGHT_MIN:()=>gn,TEXT_OPACITY_MIN:()=>Pn,TEXT_WIDTH_MAX:()=>bn,TEXT_WIDTH_MIN:()=>xn,allObjects:()=>Ye,applyAffine:()=>Qt,buildAisleHoles:()=>ot,buildSeatIndex:()=>sn,buildSectionShell:()=>nt,chartBounds:()=>q,composeAffine:()=>Zt,createPerspectiveCamera:()=>qt,cubicPoint:()=>G,decomposeAffineLinear:()=>tn,distanceToRings:()=>ve,distributeAlongCubic:()=>ee,expandBooth:()=>Xe,expandChart:()=>Wt,expandRow:()=>pe,expandRowSlots:()=>Be,expandTable:()=>He,expandTableSlots:()=>xe,floorObjects:()=>Vt,floorOverviewTranslations:()=>ze,floorsOf:()=>Ve,floorsShareFootprint:()=>Kt,gridStats:()=>un,hitTest:()=>cn,invertAffine:()=>Jt,layoutFloorOverview:()=>zt,layoutFloorRings:()=>$t,nearestWithin:()=>an,objectCenter:()=>H,owningSectionForObject:()=>Ge,perspectiveTangentAffine:()=>en,pointInPolygon:()=>me,pointInPolygonWithHoles:()=>U,polygonArea:()=>oe,polygonInscribedAnchor:()=>re,polygonLabelPoint:()=>Xt,polygonNetArea:()=>ct,projectPerspectivePoint:()=>Q,queryRect:()=>ln,resolveSegmentedRowGroups:()=>ie,rowInventoryCount:()=>Bt,rowSeatPositions:()=>ye,segmentedRowComponentSeats:()=>ut,segmentedRowComponents:()=>lt,segmentedRowSeatTotal:()=>ft,smoothCubicThroughMiddle:()=>tt,stackFloors:()=>Yt,tableInventoryCount:()=>Ut,tableSeatCountsBySide:()=>Ue,textLayoutMetrics:()=>te,translateObject:()=>W});module.exports=et(fn);var hn=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 G(e,t){let n=1-t,o=n*n*n,r=3*n*n*t,i=3*n*t*t,c=t*t*t;return{x:o*e.start.x+r*e.control1.x+i*e.control2.x+c*e.end.x,y:o*e.start.y+r*e.control1.y+i*e.control2.y+c*e.end.y}}function tt(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 ee(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[G(e,.5)];let o=Array.from({length:n+1},(s,u)=>G(e,u/n)),r=new Float64Array(o.length);for(let s=1;s<o.length;s+=1){let u=o[s].x-o[s-1].x,a=o[s].y-o[s-1].y;r[s]=r[s-1]+Math.hypot(u,a)}let i=r[r.length-1];if(i<=1e-9)return Array.from({length:t},()=>({...e.start}));let c=[],l=1;for(let s=0;s<t;s+=1){let u=i*s/(t-1);for(;l<r.length-1&&r[l]<u;)l+=1;let a=r[l-1],y=r[l],d=y===a?0:(u-a)/(y-a);c.push({x:o[l-1].x+(o[l].x-o[l-1].x)*d,y:o[l-1].y+(o[l].y-o[l-1].y)*d})}return c}function _(e,t){return{x:e.x+t.x,y:e.y+t.y}}function B(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 V(e,t=13){return Array.from({length:t},(n,o)=>G(e,o/(t-1)))}function be(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 ge(e,t,n){let o=Math.max(0,Math.min(1,t)),r=Math.max(o,Math.min(1,n)),i=[be(e,o)];for(let c=1;c<e.length-1;c+=1){let l=c/(e.length-1);l>o+1e-9&&l<r-1e-9&&i.push(e[c])}return i.push(be(e,r)),i}function Me(e,t){let n=[[0,1],[1,2],[2,3],[3,0]],o=0,r=Number.POSITIVE_INFINITY;n.forEach(([d,x],m)=>{let h=j(L(e[d],e[x],.5),t);h<r&&(r=h,o=m)});let i=e[o],c=e[(o+1)%4],l=e[(o+2)%4],s=e[(o+3)%4],u=L(i,c,.5),a=B(t,u),y=Math.max(1e-9,Math.hypot(a.x,a.y));return{p0:i,p1:c,p2:l,p3:s,normal:k(a,1/y),depth:(j(i,s)+j(c,l))/2}}function Se(e){let{p0:t,p1:n,p2:o,p3:r,normal:i,depth:c}=e,l=B(n,t),s=B(o,r),u=c*.22,a=c*.12;return{nearPath:{start:t,control1:_(_(t,k(l,1/3)),k(i,u)),control2:_(_(t,k(l,2/3)),k(i,u)),end:n},farPath:{start:o,control1:_(_(r,k(s,2/3)),k(i,a)),control2:_(_(r,k(s,1/3)),k(i,a)),end:r}}}function nt(e,t,n){if(e.length!==4)throw new Error("A section shell requires four mapped bounds corners");let o=e.reduce((m,h)=>_(m,h),{x:0,y:0});o.x/=4,o.y/=4;let r=j(e[0],e[1]),i=j(e[0],e[3]),c=n==="auto"?r>i*1.25&&j(o,t)>i?"bezier":"tapered":n;if(c==="rectangle")return{mode:c,outline:e.map(m=>({...m}))};let l=Me(e,t),{p0:s,p1:u,p2:a,p3:y}=l;if(c==="tapered")return{mode:c,outline:[_(s,k(B(u,s),.14)),_(s,k(B(u,s),1-.14)),a,y]};let{nearPath:d,farPath:x}=Se(l);return{mode:c,outline:[...V(d),...V(x).slice(1)]}}function ot(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=Me(e,t),{p0:i,p1:c,p2:l,p3:s}=r,u=o==="bezier"?Se(r):null,a=u?V(u.nearPath):null,y=u?V(u.farPath).reverse():null,d=Math.min(.055,.18/(n+1));return Array.from({length:n},(x,m)=>{let h=(m+1)/(n+1),f=h-d/2,b=h+d/2;return a&&y?[...ge(a,f,b),...ge(y,f,b).reverse()]:[L(i,c,f),L(i,c,b),L(s,l,b),L(s,l,f)]})}var xn=40,bn=1200,gn=.8,Mn=3,Sn=-2,wn=20,Pn=.1,vn=40,In=40,we=e=>Math.max(1,e.fontSize*.6+(e.letterSpacing??0));function rt(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/we(e))),r=0;for(let i of n){if(!i.length){r+=1;continue}let c=0;for(let l of i.split(/\s+/)){let s=l.length;c&&c+1+s<=o?c+=1+s:(r+=Math.max(1,Math.ceil(s/o)),c=s%o)}}return Math.max(1,r)}function te(e){let t=e.background?.padding??0,n=e.text.split(/\r?\n/),o=Math.max(1,...n.map(l=>l.length))*we(e),r=e.width??o+t*2,i=Math.max(1,r-t*2),c=rt(e,i);return{width:r,height:c*e.fontSize*(e.lineHeight??1.2)+t*2,lineCount:c,padding:t}}function it(e,t,n){let o=n.x-t.x,r=n.y-t.y,i=o*o+r*r,c=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+c*o),e.y-(t.y+c*r))}function ve(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 c=it(e,o[i],o[r]);c<n&&(n=c)}return n}function Pe(e,t){let n=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){let i=t[o].x,c=t[o].y,l=t[r].x,s=t[r].y;c>e.y!=s>e.y&&e.x<(l-i)*(e.y-c)/(s-c)+i&&(n=!n)}return n}function st(e,t,n){let o=Pe(e,t)&&!n.some(i=>Pe(e,i)),r=ve(e,[t,...n]);return o?r:-r}function F(e,t,n,o,r){let i=st({x:e,y:t},o,r);return{x:e,y:t,h:n,d:i,max:i+n*Math.SQRT2}}var ne=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,c=i+1,l=r;if(i<t.length&&t[i].max>t[l].max&&(l=i),c<t.length&&t[c].max>t[l].max&&(l=c),l===r)break;[t[l],t[r]]=[t[r],t[l]],r=l}}return n}};function oe(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 ct(e,t){return Math.max(0,oe(e)-(t??[]).reduce((n,o)=>n+oe(o),0))}function re(e,t){let n=t??[];if(!e.length)return{point:{x:0,y:0},radius:0};if(e.length<3){let h=e.reduce((b,S)=>b+S.x,0)/e.length,f=e.reduce((b,S)=>b+S.y,0)/e.length;return{point:{x:h,y:f},radius:0}}let o=1/0,r=1/0,i=-1/0,c=-1/0;for(let h of e)h.x<o&&(o=h.x),h.y<r&&(r=h.y),h.x>i&&(i=h.x),h.y>c&&(c=h.y);let l=i-o,s=c-r,u=Math.min(l,s);if(!(u>0))return{point:{x:(o+i)/2,y:(r+c)/2},radius:0};let a=Math.max(l,s)/150,y=new ne,d=u/2;for(let h=o;h<i;h+=u)for(let f=r;f<c;f+=u)y.push(F(h+d,f+d,d,e,n));let x=F(o+l/2,r+s/2,0,e,n),m=0;for(;y.size;){let h=y.pop();if(!h)break;h.d>x.d&&(x=h),!(h.max-x.d<=a)&&(m>=4e3||(m+=1,d=h.h/2,y.push(F(h.x-d,h.y-d,d,e,n)),y.push(F(h.x+d,h.y-d,d,e,n)),y.push(F(h.x-d,h.y+d,d,e,n)),y.push(F(h.x+d,h.y+d,d,e,n))))}return{point:{x:x.x,y:x.y},radius:Math.max(0,x.d)}}function D(e,t,n){return e<t?t:e>n?n:e}var An=Math.PI*2;function Ie(e,t,n){return at(e,r=>({x:r.x+t,y:r.y+n}))}function at(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 Rn=4/3;function lt(e,t,n){let o=[];for(let r=0;r<e.length-1;r+=1){let i=e[r],c=e[r+1],l=Math.hypot(c.x-i.x,c.y-i.y);if(l<=0)continue;let s=Math.max(1,Math.round(l/n)),u=l/s,a=Math.atan2(c.y-i.y,c.x-i.x),y=r===0,x=(r>0?t[r-1]:void 0)==="break"?2:1,m=y?{...i}:{x:i.x+Math.cos(a)*u*x,y:i.y+Math.sin(a)*u*x},h=y?s+1:Math.max(1,s-(x-1));o.push({origin:m,rotation:a*180/Math.PI,seatCount:h,seatSpacing:u})}return o}function ut(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 ft(e){return e.reduce((t,n)=>t+n.seatCount,0)}function ie(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((d,x)=>d.segmentedRow.componentIndex-x.segmentedRow.componentIndex),c=i[0]?.segmentedRow?.componentCount??0,l=i[0]?.segmentedRow;if(!l||!(c>=2&&i.length===c&&l?.boundaryBefore==="start"&&i.every((d,x)=>d.segmentedRow?.kind==="segmented-row-v1"&&d.segmentedRow.groupId===o&&d.segmentedRow.componentCount===c&&d.segmentedRow.componentIndex===x&&d.segmentedRow.repeatLabelOnComponents===l.repeatLabelOnComponents&&(x===0?d.segmentedRow.boundaryBefore==="start":d.segmentedRow.boundaryBefore!=="start")&&d.segmentedRow.displayLabel===l.displayLabel)))continue;let u=i.reduce((d,x)=>d+x.seatCount,0),a=0,y=0;for(let d of i)d.segmentedRow.boundaryBefore==="break"&&(a+=1),t.set(d.id,{groupId:o,adjacencyOffset:a,displayOffset:y,displayLabel:l.displayLabel,totalSeats:u,canonical:i[0],viewFromSeatUrl:l.viewFromSeatUrl,viewFromSeatMeta:l.viewFromSeatMeta,confidenceEvidence:l.confidenceEvidence}),a+=d.seatCount,y+=d.seatCount}return t}var dt="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var ht="abcdefghijklmnopqrstuvwxyz";function mt(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 se(e,t=!1){let n=t?ht:dt;return mt(Math.max(0,Math.floor(e)-1),n)}var yt=[[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 Ce(e){if(!Number.isFinite(e)||e<=0)return String(e);let t=Math.floor(e),n="";for(let[o,r]of yt)for(;t>=o;)n+=r,t-=o;return n}function pt(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 ce(e,t){let n=e.seatLabelStart??1,o=e.seatNumbering?.direction??"ltr",r=e.seatNumbering?.step??1,i=e.seatNumbering?.scheme??"decimal",c=e.seatNumbering?.prefix??"",l=e.seatNumbering?.endAt,s=e.seatCount;if(i==="updown"||i==="updown-descending"){let x=Math.ceil(s/2),m=i==="updown"?t<x?n+2*t:n-1+2*(s-t):t<x?n+2*(x-1-t):n+1+2*(t-x);return`${c}${m}`}let u=i==="odd"||i==="even"?2:r,a=l!=null&&Number.isFinite(l)?l-(s-1)*u:n,y=o==="center"?pt(s)[t]:o==="rtl"?s-1-t:t,d;switch(i){case"odd":{let x=a%2===1?a:a+1;d=String(x+y*2);break}case"even":{let x=a%2===0?a:a+1;d=String(x+y*2);break}case"roman":d=Ce(a+y*r);break;case"letters-upper":d=se(a+y*r,!1);break;case"letters-lower":d=se(a+y*r,!0);break;default:d=String(a+y*r);break}return`${c}${d}`}function xt(e){return{...e.canonical,seatCount:e.totalSeats,label:e.displayLabel,displayLabel:e.displayLabel}}function Ee(e,t,n){return n?.label??`${e.label}-${ce(e,t)}`}function ae(e,t,n,o){if(o?.displayLabel)return o.displayLabel;if(!n)return`${e.displayLabel??e.label}-${ce(e,t)}`;let r=xt(n),i=n.displayOffset+t;return`${n.displayLabel}-${ce(r,i)}`}var Y=.02291666666666667,jn=1/Y,bt=58,gt=bt*Y;var Mt=3,Oe=0,le=120,St=0,wt=45,Pt=7,z=1.2;function ue(e,t,n,o){return Number.isFinite(e)?Math.max(t,Math.min(n,e)):o}function vt(e){return!Number.isFinite(e)||!Number.isInteger(e)||e<0?0:e<=Pt?e:Mt}function Ae(e,t={}){let n=ue(t.floorBaseHeightM,Oe,le,0),o=Math.min(le,n+vt(e.elevation)*gt),r=e.height===void 0?o:ue(e.height,Oe,le,o),i=ue(e.rake,St,wt,0);return{height:r,rake:i}}function Re(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 Te(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],c=e[r+1],l=c.x-i.x,s=c.y-i.y,u=l*l+s*s,a=u>1e-12?((t-i.x)*l+(n-i.y)*s)/u:0;a<0?a=0:a>1&&(a=1);let y=Math.hypot(t-(i.x+a*l),n-(i.y+a*s));y<o&&(o=y)}return o}function It(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 c=Math.hypot(i.x-t,i.y-n);c>r&&(r=c)}return{cx:t,cy:n,r}}function _e(e,t){return Math.hypot(e.cx-t.cx,e.cy-t.cy)-e.r-t.r}function fe(e,t){let n=1/0;for(let o of Re(e)){let r=Te(t,o.x,o.y);r<n&&(n=r)}for(let o of Re(t)){let r=Te(e,o.x,o.y);r<n&&(n=r)}return n}function Ct(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 y=Math.hypot(a.x-n,a.y-o);y>r&&(r=y,i=a)}let c=i.x-n,l=i.y-o,s=Math.hypot(c,l);s>1e-9?(c/=s,l/=s):(c=1,l=0);let u=e.map((a,y)=>({p:a,i:y,t:(a.x-n)*c+(a.y-o)*l})).sort((a,y)=>a.t-y.t);return{pts:u.map(a=>a.p),seatIndices:u.map(a=>t[a.i])}}function Et(e){let t=e.length;if(t<3)return null;let n=0,o=0;for(let S of e)n+=S.x,o+=S.y;n/=t,o/=t;let r=0,i=0,c=0,l=0,s=0,u=0,a=0;for(let S of e){let g=S.x-n,p=S.y-o;r+=g*g,c+=p*p,i+=g*p,l+=g*g*g,s+=p*p*p,u+=g*p*p,a+=p*g*g}let y=r*c-i*i;if(Math.abs(y)<1e-9)return null;let d=(l+u)/2,x=(s+a)/2,m=(d*c-x*i)/y,h=(x*r-d*i)/y,f=m+n,b=h+o;return!Number.isFinite(f)||!Number.isFinite(b)?null:{cx:f,cy:b}}var Ot=.15;function At(e){if(e.length<2)return null;let t=e.map(S=>{let g=0,p=0;for(let P of S.pts)g+=P.x,p+=P.y;return{x:g/S.pts.length,y:p/S.pts.length}}),n=0,o=0;for(let S of t)n+=S.x,o+=S.y;n/=t.length,o/=t.length;let r=0,i=0,c=0;for(let S of t){let g=S.x-n,p=S.y-o;r+=g*g,i+=g*p,c+=p*p}let l=r+c,s=r*c-i*i,u=l/2+Math.sqrt(Math.max(0,l*l/4-s)),a,y;Math.abs(i)>1e-12?(a=u-c,y=i):r>=c?(a=1,y=0):(a=0,y=1);let d=Math.hypot(a,y);if(!(d>1e-12))return null;a/=d,y/=d;let x=1/0,m=-1/0,h=[];for(let S of e){let g=1/0,p=-1/0;for(let P of S.pts){let M=P.x*a+P.y*y;M<g&&(g=M),M>p&&(p=M),M<x&&(x=M),M>m&&(m=M)}h.push(p-g)}let f=m-x;return f>1e-9?(h.sort((S,g)=>S-g),h[Math.min(h.length-1,Math.floor(h.length*.9))]/f<=Rt?{x:a,y}:null):null}var Rt=.35;function ke(e,t,n,o){let r=new Map;for(let f of n){let b=t[f],S=b.rowId||`__seat-${f}`,g=r.get(S);g||(g={pts:[],idx:[]},r.set(S,g)),g.pts.push({x:b.x,y:b.y}),g.idx.push(f)}if(!r.size)return{sectionId:e,rows:[],blockCount:0};let i=[];for(let[f,b]of r){let S=Ct(b.pts,b.idx),g=0;for(let p of S.pts)g+=Math.hypot(p.x-o.x,p.y-o.y);i.push({id:f,pts:S.pts,seatIndices:S.seatIndices,blockId:-1,ordinal:0,blockDepth:0,focalDistance:g/S.pts.length})}let c=i.map(f=>It(f.pts)),l=[];for(let f=0;f<i.length;f++){let b=1/0;for(let S=0;S<i.length;S++){if(f===S||_e(c[f],c[S])>=b)continue;let g=fe(i[f].pts,i[S].pts);g<b&&(b=g)}Number.isFinite(b)&&l.push(b)}l.sort((f,b)=>f-b);let s=l.length?l[Math.floor(l.length/2)]:1,u=Math.max(s*1.8,1e-6),a=i.map(()=>[]);for(let f=0;f<i.length;f++)for(let b=f+1;b<i.length;b++)_e(c[f],c[b])>u||fe(i[f].pts,i[b].pts)<=u&&(a[f].push(b),a[b].push(f));let y=0;for(let f=0;f<i.length;f++){if(i[f].blockId!==-1)continue;let b=y++,S=[f];for(i[f].blockId=b;S.length;){let g=S.pop();for(let p of a[g])i[p].blockId===-1&&(i[p].blockId=b,S.push(p))}}let d=new Map;for(let f of i){let b=d.get(f.blockId)??[];b.push(f),d.set(f.blockId,b)}let x=[];for(let f of i){if(f.pts.length<4)continue;let b=Et(f.pts);b&&(!Number.isFinite(b.cx)||!Number.isFinite(b.cy)||x.push({x:b.cx,y:b.cy}))}let m=x.length>=2?(()=>{let f=x.map(g=>g.x).sort((g,p)=>g-p),b=x.map(g=>g.y).sort((g,p)=>g-p),S=Math.floor(x.length/2);return{cx:f[S],cy:b[S]}})():null;if(m){let f=M=>Math.hypot(M.x-m.cx,M.y-m.cy),b=1/0,S=-1/0,g=[];for(let M of i){let w=1/0,I=-1/0;for(let C of M.pts){let v=f(C);v<w&&(w=v),v>I&&(I=v)}g.push(I-w),w<b&&(b=w),I>S&&(S=I)}let p=S-b;g.sort((M,w)=>M-w);let P=g[Math.min(g.length-1,Math.floor(g.length*.9))];if(p>1e-9&&P/p<=Ot){let M=i.map(E=>{let X=0;for(let $e of E.pts)X+=f($e);return{row:E,radius:X/E.pts.length}}),w=0,I=0;for(let E of M)w+=E.radius,I+=E.row.focalDistance;w/=M.length,I/=M.length;let C=0;for(let E of M)C+=(E.radius-w)*(E.row.focalDistance-I);if(C<0)for(let E of M)E.radius=-E.radius;let T=1/0;for(let E of M)E.radius<T&&(T=E.radius);M.sort((E,X)=>E.radius-X.radius);let A=-1,O=-1/0,R=p/Math.max(1,M.length)*.5,J=[];for(let E of M)E.radius-O>R&&(A++,O=E.radius),E.row.ordinal=A,E.row.blockDepth=E.radius-T,J.push(E.row);return{sectionId:e,rows:J,blockCount:y}}}let h=[];for(let[,f]of d){let b=At(f);if(b){let S=p=>{let P=0;for(let M of p.pts)P+=M.x*b.x+M.y*b.y;return P/p.pts.length};f.sort((p,P)=>S(p)-S(P)),f.length>=2&&f[0].focalDistance>f[f.length-1].focalDistance&&f.reverse();let g=0;for(let p=0;p<f.length;p++)p>0&&(g+=fe(f[p-1].pts,f[p].pts)),f[p].ordinal=p,f[p].blockDepth=g,h.push(f[p])}else{let S=1/0;for(let g of f)g.focalDistance<S&&(S=g.focalDistance);f.sort((g,p)=>g.focalDistance-p.focalDistance);for(let g=0;g<f.length;g++)f[g].ordinal=g,f[g].blockDepth=Math.max(0,f[g].focalDistance-S),h.push(f[g])}}return{sectionId:e,rows:h,blockCount:y}}var Tt=/^\d{4}-\d{2}-\d{2}$/;function _t(e){let t=Date.parse(e);return Number.isFinite(t)?Tt.test(e)?t+864e5:t:null}function kt(e,t=Date.now()){if(e.validUntil===void 0){if(e.status!=="approved")return!0;let o=e.assessedAt?Date.parse(e.assessedAt):Number.NaN;return Number.isFinite(o)&&(t instanceof Date?t.getTime():t)<=o+366*864e5}let n=_t(e.validUntil);return n===null?!1:(t instanceof Date?t.getTime():t)<n}function Dt(e,t,n){return!(e.eventConfigurationId&&e.eventConfigurationId!==t||e.eventConfigurationVersion!==void 0&&e.eventConfigurationVersion!==n)}function Lt(e){return e.status!=="draft"&&e.status!=="retracted"}function jt(e,t){return e.status===void 0?t===void 0:e.status!=="approved"?!0:typeof t=="string"&&typeof e.basisSha256=="string"&&e.basisSha256===t}function De(e,t={}){return!!e&&Lt(e)&&Dt(e,t.activeConfigurationId,t.activeConfigurationVersion)&&jt(e,t.activeBasisSha256)&&kt(e,t.now)}function Fe(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 $=Math.PI/180,Nt=9,N=16;function he(e,t,n,o){let r=n*$,i=Math.cos(r),c=Math.sin(r);return{x:o.x+e*i-t*c,y:o.y+e*c+t*i}}function ye(e){let{seatCount:t,seatSpacing:n,curve:o,rotation:r,origin:i}=e,c=[];if(e.path)return ee(e.path,t);if(t<=1)return t===1&&c.push({x:i.x,y:i.y}),c;if(o===0){for(let u=0;u<t;u++)c.push(he(u*n,0,r,i));return c}let l=o/(t-1)*$,s=n/(2*Math.sin(Math.abs(l)/2));for(let u=0;u<t;u++){let a=u*l,y=s*Math.sin(a),d=-s+s*Math.cos(a);c.push(he(y,d,r,i))}return c}function Ft(e){let t=new Map;if(e.overrides)for(let n of e.overrides)t.set(n.index,n);return t}function Bt(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 Be(e,t){let n=Ft(e);return ye(e).map((o,r)=>{let i=n.get(r),c=Fe(i),l=Ee(e,r,i),s={...e.commercial,...i?.commercial};return{index:r,x:o.x+(i?.dx??0),y:o.y+(i?.dy??0),label:l,displayLabel:ae(e,r,t,i),categoryKey:i?.categoryKey??e.categoryKey,skipped:!!i?.skip,accessible:c.length>0,accessibility:c,wheelchairSpaceType:i?.wheelchairSpaceType,commercial:Object.values(s).some(u=>u!==void 0&&u!==!1&&u!=="")?s:void 0,glyph:i?.glyph,viewUrl:i?.viewFromSeatUrl??e.viewFromSeatUrl,viewMeta:i?.viewFromSeatUrl?i.viewFromSeatMeta:e.viewFromSeatMeta,labelStyle:i?.labelStyle}})}function pe(e){let t=[];for(let n of Be(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,glyph:n.glyph,viewUrl:n.viewUrl,viewMeta:n.viewMeta,labelStyle:n.labelStyle});return t}function Ue(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 xe(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,y,d,x)=>{let m=o.get(a),h=Fe(m),f=m?.label??`${e.label}-${a+1}`,b=e.displayLabel??e.label;return{index:a,label:f,displayLabel:m?.displayLabel??`${b}-${a+1}`,x:y+(m?.dx??0),y:d+(m?.dy??0),categoryKey:m?.categoryKey??e.categoryKey,skipped:!!m?.skip,accessible:h.length>0,accessibility:h,wheelchairSpaceType:m?.wheelchairSpaceType,commercial:m?.commercial,glyph:m?.glyph,viewUrl:m?.viewFromSeatUrl,viewMeta:m?.viewFromSeatUrl?m.viewFromSeatMeta:void 0,labelStyle:m?.labelStyle,...x?{side:x}:{}}};if(e.shape==="round"){let a=(e.radius??40)+N,y=e.rotation*$,d=Math.max(0,Math.min(360,e.seatArc??360));if(d>=360||n===1){for(let f=0;f<n;f++){let b=y+f/n*2*Math.PI;t.push(r(f,e.center.x+a*Math.cos(b),e.center.y+a*Math.sin(b)))}return t}let x=d*$,m=(2*Math.PI-x)/2,h=y+m;for(let f=0;f<n;f++){let b=h+f/(n-1)*x;t.push(r(f,e.center.x+a*Math.cos(b),e.center.y+a*Math.sin(b)))}return t}let i=e.width??80,c=e.height??50,l=Ue(e),s=["top","bottom","left","right"],u=0;for(let a of s){let y=l[a];for(let d=0;d<y;d++){let x,m;a==="top"?(x=-i/2+(d+.5)*i/y,m=-c/2-N):a==="bottom"?(x=-i/2+(d+.5)*i/y,m=c/2+N):a==="left"?(x=-i/2-N,m=-c/2+(d+.5)*c/y):(x=i/2+N,m=-c/2+(d+.5)*c/y);let h=he(x,m,e.rotation,e.center);t.push(r(u++,h.x,h.y,a))}}return t}function Ut(e){return e.bookAsWhole||e.variableOccupancy?Math.max(0,Math.round(e.seatCount)):xe(e).filter(t=>!t.skipped).length}function He(e){return xe(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.glyph?{glyph:t.glyph}:{},...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 me(e,t){let n=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){let i=t[o].x,c=t[o].y,l=t[r].x,s=t[r].y;c>e.y!=s>e.y&&e.x<(l-i)*(e.y-c)/(s-c)+i&&(n=!n)}return n}function Ht(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 c=(e.x-n.x)*(r.x-n.x)+(e.y-n.y)*(r.y-n.y),l=(r.x-n.x)**2+(r.y-n.y)**2;return c>=-1e-7&&c<=l+1e-7})}function U(e,t,n){return me(e,t)&&!(n??[]).some(o=>me(e,o)||Ht(e,o))}function Xt(e,t){return re(e,t).point}function de(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 H(e){switch(e.type){case"row":{let t=pe(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 de(e.points);case"section":return de(e.outline);case"text":return{x:e.position.x,y:e.position.y};case"shape":return e.points&&e.points.length?de(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 Le(e,t){return e.length===t.length&&e.every((n,o)=>n.x===t[o].x&&n.y===t[o].y)}function Gt(e,t){if(e.type!=="gaArea"||!Le(e.points,t.outline))return!1;let n=e.holes??[],o=t.holes??[];return n.length===o.length&&n.every((r,i)=>Le(r,o[i]))}function Ge(e,t){let n=e.filter(c=>c.type==="section"),o="referenceInventorySource"in t?t.referenceInventorySource?.logicalSectionId:void 0,r=H(t);return(o?n.find(c=>(c.logicalSectionId??c.id)===o&&(Gt(t,c)||U(r,c.outline,c.holes))):void 0)??n.find(c=>U(r,c.outline,c.holes))}function Ve(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 Vt(e,t){let n=Ve(e);return(t?n.find(o=>o.id===t):n[0])?.objects??[]}function Ye(e){return e.floors&&e.floors.length?e.floors.flatMap(t=>t.objects):e.objects}function W(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:Ie(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 Yt(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 c of o.objects)n.push(i===0?c:W(c,0,i))}),{...e,objects:n,floors:void 0}}function zt(e){let t=e.floors;if(!t||t.length<2)return e;let n=ze(e),o=[];return t.forEach((r,i)=>{let{x:c,y:l}=n[i];for(let s of r.objects)o.push(W(s,c,l))}),{...e,objects:o,floors:void 0,referenceImage:void 0,backgroundImage:void 0}}function Kt(e){let t=e.floors;if(!t||t.length<2)return!1;let n=t.map(s=>q({...e,objects:s.objects,floors:void 0,focalPoint:s.focalPoint,referenceImage:void 0,backgroundImage:void 0}));if(n.some(s=>s.width<=0||s.height<=0))return!1;let[o,...r]=n;if(!r.every(s=>{let u=Math.min(o.x+o.width,s.x+s.width)-Math.max(o.x,s.x),a=Math.min(o.y+o.height,s.y+s.height)-Math.max(o.y,s.y);return u<=0||a<=0?!1:u>=Math.min(o.width,s.width)*.7&&a>=Math.min(o.height,s.height)*.7}))return!1;let c={x:o.x+o.width/2,y:o.y+o.height/2},l=Math.hypot(o.width,o.height)/2;return t.every(s=>s.objects.length?s.objects.filter(a=>{let y=H(a);return Math.hypot(y.x-c.x,y.y-c.y)>=l*.25}).length>=s.objects.length*.6:!1)}function $t(e){let t=e.floors;if(!t||t.length<2)return e;let n=t.map((s,u)=>({floor:s,index:u,height:s.baseHeightM??0})).sort((s,u)=>s.height-u.height||s.index-u.index),o=q({...e,objects:n[0].floor.objects,floors:void 0,focalPoint:n[0].floor.focalPoint,referenceImage:void 0,backgroundImage:void 0}),r={x:o.x+o.width/2,y:o.y+o.height/2},i=Math.max(48,Math.min(200,Math.max(o.width,o.height)*.06)),c=[],l=0;return n.forEach((s,u)=>{let a=s.floor.objects.map(h=>{let f=H(h);return Math.hypot(f.x-r.x,f.y-r.y)}),y=a.filter(h=>Number.isFinite(h)),d=y.length?Math.min(...y):0,x=y.length?Math.max(...y):0,m=u===0?0:Math.max(0,l+i-d);l=x+m,s.floor.objects.forEach((h,f)=>{if(u>0&&h.type==="shape"&&h.role==="stage")return;if(m===0){c.push(h);return}let b=a[f];if(!Number.isFinite(b)||b<1e-6){c.push(h);return}let S=H(h);c.push(W(h,(S.x-r.x)/b*m,(S.y-r.y)/b*m))})}),{...e,objects:c,floors:void 0,referenceImage:void 0,backgroundImage:void 0}}function ze(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(d=>q({...e,objects:d.objects,floors:void 0,focalPoint:d.focalPoint,referenceImage:void 0,backgroundImage:void 0})),o=Math.max(1,...n.map(d=>Math.max(d.width,d.height))),r=Math.max(64,Math.min(240,o*.08)),i=16/10,c=null;for(let d=1;d<=t.length;d+=1){let x=Math.ceil(t.length/d),m=new Array(d).fill(0),h=new Array(x).fill(0);n.forEach((p,P)=>{let M=P%d,w=Math.floor(P/d);m[M]=Math.max(m[M],p.width),h[w]=Math.max(h[w],p.height)});let f=m.reduce((p,P)=>p+P,0)+r*(d-1),b=h.reduce((p,P)=>p+P,0)+r*(x-1),S=d*x-t.length,g=Math.abs(Math.log(f/Math.max(1,b)/i))+S*.04;(!c||g<c.score)&&(c={columns:d,columnWidths:m,rowHeights:h,score:g})}let{columns:l,columnWidths:s,rowHeights:u}=c,a=[],y=[];return s.reduce((d,x,m)=>(a[m]=d,d+x+r),0),u.reduce((d,x,m)=>(y[m]=d,d+x+r),0),t.map((d,x)=>{let m=n[x],h=x%l,f=Math.floor(x/l),b=a[h]+(s[h]-m.width)/2,S=y[f]+(u[f]-m.height)/2;return{x:b-m.x,y:S-m.y}})}function je(e,t,n,o,r,i,c,l,s){let u=[],a=ie(e),y=m=>!m?.eventConfigurationId||m.eventConfigurationId===o&&(m.eventConfigurationVersion===void 0||m.eventConfigurationVersion===s),d=m=>De(m,{activeConfigurationId:o,activeConfigurationVersion:s,activeBasisSha256:r,now:l}),x=(m,h)=>d(m)?{...m,coverage:h}:void 0;for(let m of e){let h=[];if(m.type==="row"?h=pe(m):m.type==="table"?h=He(m):m.type==="booth"&&(h=Xe(m)),!h.length)continue;for(let p of h)p.viewUrl&&!y(p.viewMeta)&&(p.viewUrl=void 0,p.viewMeta=void 0);if(m.type==="row"){let p=a.get(m.id);if(p){let P=new Map((m.overrides??[]).map(M=>[M.index,M]));for(let M of h){let w=Number(M.id.slice(M.id.lastIndexOf(":")+1));if(!Number.isInteger(w))continue;M.logicalRowId=p.groupId,M.logicalSeatIndex=p.adjacencyOffset+w,P.get(w)?.displayLabel||(M.displayLabel=ae(m,w,p)),!M.viewUrl&&p.viewFromSeatUrl&&y(p.viewFromSeatMeta)&&(M.viewUrl=p.viewFromSeatUrl,M.viewMeta=p.viewFromSeatMeta);let I=P.get(w)?.confidenceEvidence;M.confidenceEvidence=x(I,"exact-seat")??x(m.confidenceEvidence,"row-representative")??x(p.confidenceEvidence,"row-representative")}}}let f=Ge(e,m),b=f?.viewFromSeatUrl,g=(f?.zone?t?.find(p=>p.id===f.zone):void 0)?.focalPoint??n;for(let p of h){if(!p.confidenceEvidence){let P=Number(p.id.slice(p.id.lastIndexOf(":")+1)),M=(m.type==="row"||m.type==="table")&&Number.isInteger(P)?m.overrides?.find(w=>w.index===P)?.confidenceEvidence:void 0;p.confidenceEvidence=x(M,"exact-seat")??(m.type==="row"?x(m.confidenceEvidence,"row-representative"):void 0)}p.confidenceEvidence??=x(f?.confidenceEvidence,"section-representative")??(c?x(c.evidence,c.coverage):void 0),!p.viewUrl&&b&&y(f?.viewFromSeatMeta)&&(p.viewUrl=b,p.viewMeta=f?.viewFromSeatMeta),!p.viewUrl&&i&&y(i.meta)&&(p.viewUrl=i.url,p.viewMeta=i.meta),f&&(p.sectionId=f.logicalSectionId??f.id),f?.zone&&(p.zoneId=f.zone),g&&(p.focalPoint={...g})}u.push(...h)}return u}function Wt(e,t={}){if(e.floors?.length){let o=[];for(let r of e.floors){let i=r.focalPoint??e.focalPoint,c=r.viewFromSeatUrl?{url:r.viewFromSeatUrl,meta:r.viewFromSeatMeta}:e.viewFromSeatUrl?{url:e.viewFromSeatUrl,meta:e.viewFromSeatMeta}:void 0,l=r.confidenceEvidence?{evidence:r.confidenceEvidence,coverage:"floor-representative"}:e.confidenceEvidence?{evidence:e.confidenceEvidence,coverage:"venue-representative"}:void 0,s=je(r.objects,e.zones,i,e.eventConfigurationId,e.confidenceBasisSha256,c,l,t.now,t.eventConfigurationVersion??e.eventConfigurationVersion);t.resolveEyeHeights!==!1&&Ne(r.objects,r.focalPoint??e.focalPoint,r.baseHeightM??0,s);for(let u of s)u.floorId=r.id;o.push(...s)}return o}let n=je(e.objects,e.zones,e.focalPoint,e.eventConfigurationId,e.confidenceBasisSha256,e.viewFromSeatUrl?{url:e.viewFromSeatUrl,meta:e.viewFromSeatMeta}:void 0,e.confidenceEvidence?{evidence:e.confidenceEvidence,coverage:"venue-representative"}:void 0,t.now,t.eventConfigurationVersion??e.eventConfigurationVersion);return t.resolveEyeHeights!==!1&&Ne(e.objects,e.focalPoint,t.floorBaseHeightM??0,n),n}function Ne(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 c=new Array(o.length),l=new Map,s=new Map;for(let a=0;a<o.length;a++){let y=o[a],x=(y.sectionId?r.find(h=>h.id===y.sectionId)??r.find(h=>h.logicalSectionId===y.sectionId&&U({x:y.x,y:y.y},h.outline,h.holes)):void 0)??r.find(h=>U({x:y.x,y:y.y},h.outline,h.holes))??null;if(c[a]=x,!x)continue;l.has(x.id)||l.set(x.id,Ae(x,{floorBaseHeightM:n}));let m=s.get(x.id);m?m.push(a):s.set(x.id,[a])}let u=new Array(o.length).fill(void 0);for(let[a,y]of s){let d=l.get(a);if(!d)continue;let x=d.rake>0?Math.tan(d.rake*Math.PI/180):0,m=ke(a,o,y,t);for(let h of m.rows){let f=h.blockDepth*Y*x,b=d.height+f;for(let S of h.seatIndices)u[S]=b}}for(let a=0;a<o.length;a++){let y=o[a],d=c[a];if(!d){y.eyeHeightM=n+z;continue}let x=l.get(d.id);y.eyeHeightM=(u[a]??x.height)+z}}var K=40;function q(e,t){let n=t?.freeText==="exclude",o=1/0,r=1/0,i=-1/0,c=-1/0,l=(s,u)=>{s<o&&(o=s),u<r&&(r=u),s>i&&(i=s),u>c&&(c=u)};for(let s of Ye(e))if(s.type==="row"){let u=new Map((s.overrides??[]).map(a=>[a.index,a]));ye(s).forEach((a,y)=>{let d=u.get(y);d?.skip||l(a.x+(d?.dx??0),a.y+(d?.dy??0))})}else if(s.type==="gaArea")for(let u of s.points)l(u.x,u.y);else if(s.type==="section")for(let u of s.outline)l(u.x,u.y);else if(s.type==="decorImage")l(s.x,s.y),l(s.x+s.width,s.y+s.height);else if(s.type==="shape")if(s.points&&s.points.length)for(let u of s.points)l(u.x,u.y);else s.x!=null&&s.y!=null&&s.width!=null&&s.height!=null&&(l(s.x,s.y),l(s.x+s.width,s.y+s.height));else if(s.type==="table"){let u=N+Nt,a=s.shape==="round"?(s.radius??40)+u:Math.max((s.width??80)/2,(s.height??50)/2)+u;l(s.center.x-a,s.center.y-a),l(s.center.x+a,s.center.y+a)}else if(s.type==="booth"){let u=Math.max(s.width,s.height)/2;l(s.center.x-u,s.center.y-u),l(s.center.x+u,s.center.y+u)}else if(s.type==="text"){if(n)continue;let u=te(s);l(s.position.x,s.position.y),l(s.position.x+u.width,s.position.y+u.height)}for(let s of[e.referenceImage,e.backgroundImage]){if(!s)continue;let{center:u,width:a}=s,y=a*3/4;l(u.x-a/2,u.y-y/2),l(u.x+a/2,u.y+y/2)}if(!isFinite(o)){let s=e.focalPoint??{x:0,y:0};return{x:s.x-200,y:s.y-200,width:400,height:400}}return{x:o-K,y:r-K,width:i-o+K*2,height:c-r+K*2}}function qt(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 Q(e,t,n=0){let o=t.x-e.target.x,r=t.y-e.target.y,i=Math.cos(e.yawRad),c=Math.sin(e.yawRad),l=o*i-r*c,u=o*c+r*i-e.distance,a=n-e.height,y=Math.hypot(e.distance,e.height),d=(-e.distance*u-e.height*a)/y,x=(-e.height*u+e.distance*a)/y,m=Math.max(y*.08,d),h=e.focalLength/m;return{x:e.target.x+l*h,y:e.target.y-x*h,depth:m,scale:h}}function Qt(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 Jt(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 Zt(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 en(e,t,n=()=>0){let o=Q(e,t,n(t)),r={x:t.x+1,y:t.y},i={x:t.x,y:t.y+1},c=Q(e,r,n(r)),l=Q(e,i,n(i)),s=c.x-o.x,u=c.y-o.y,a=l.x-o.x,y=l.y-o.y;return{a:s,b:u,c:a,d:y,e:o.x-s*t.x-a*t.y,f:o.y-u*t.x-y*t.y}}function tn(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 Ke=9;function nn(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)),c=Math.abs(Math.sin(r));return{hx:t*i+n*c,hy:t*c+n*i}}function on(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,c=o,l=r;if(i){let s=-i*Math.PI/180,u=Math.cos(s),a=Math.sin(s);c=o*u-r*a,l=o*a+r*u}return Math.abs(c)<=e.shape.width/2&&Math.abs(l)<=e.shape.height/2}function rn(e,t,n,o,r){if(e.shape.kind==="circle"){let m=Math.min(Math.max(e.seat.x,t),o),h=Math.min(Math.max(e.seat.y,n),r),f=e.seat.x-m,b=e.seat.y-h;return f*f+b*b<=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 c=i*Math.PI/180,l=Math.cos(c),s=Math.sin(c),u=e.shape.width/2,a=e.shape.height/2,y=[[-u,-a],[u,-a],[u,a],[-u,a]].map(([m,h])=>[e.seat.x+m*l-h*s,e.seat.y+m*s+h*l]),d=[[t,n],[o,n],[o,r],[t,r]],x=[[1,0],[0,1],[l,s],[-s,l]];for(let[m,h]of x){let f=1/0,b=-1/0;for(let[p,P]of y){let M=p*m+P*h;M<f&&(f=M),M>b&&(b=M)}let S=1/0,g=-1/0;for(let[p,P]of d){let M=p*m+P*h;M<S&&(S=M),M>g&&(g=M)}if(b<S||g<f)return!1}return!0}function sn(e,t={}){let n=t.seatRadius??Ke,o=e.length,r=new Array(o),i=1/0,c=1/0,l=-1/0,s=-1/0,u=0;for(let M=0;M<o;M++){let w=e[M],I=t.shapeOf?.(w)??{kind:"circle",r:n},{hx:C,hy:v}=nn(I);r[M]={seat:w,shape:I,hx:C,hy:v},w.x-C<i&&(i=w.x-C),w.y-v<c&&(c=w.y-v),w.x+C>l&&(l=w.x+C),w.y+v>s&&(s=w.y+v),C>u&&(u=C),v>u&&(u=v)}o===0&&(i=0,c=0,l=0,s=0);let a=u>0?u*4:1,y=Math.max(l-i,0),d=Math.max(s-c,0),x=Math.max(64,t.maxCells??o*4),m=a,h=Math.max(1,Math.ceil(y/m)||1),f=Math.max(1,Math.ceil(d/m)||1);for(;h*f>x&&(h>1||f>1);)m*=2,h=Math.max(1,Math.ceil(y/m)||1),f=Math.max(1,Math.ceil(d/m)||1);let b=h*f,S=new Int32Array(b+1),g=0;for(let M=0;M<o;M++){let w=r[M],I=D(Math.floor((w.seat.x-w.hx-i)/m),0,h-1),C=D(Math.floor((w.seat.x+w.hx-i)/m),0,h-1),v=D(Math.floor((w.seat.y-w.hy-c)/m),0,f-1),T=D(Math.floor((w.seat.y+w.hy-c)/m),0,f-1);for(let A=v;A<=T;A++)for(let O=I;O<=C;O++)S[A*h+O+1]++,g++}for(let M=0;M<b;M++)S[M+1]+=S[M];let p=new Int32Array(g),P=S.slice(0,b);for(let M=0;M<o;M++){let w=r[M],I=D(Math.floor((w.seat.x-w.hx-i)/m),0,h-1),C=D(Math.floor((w.seat.x+w.hx-i)/m),0,h-1),v=D(Math.floor((w.seat.y-w.hy-c)/m),0,f-1),T=D(Math.floor((w.seat.y+w.hy-c)/m),0,f-1);for(let A=v;A<=T;A++)for(let O=I;O<=C;O++){let R=A*h+O;p[P[R]++]=M}}return{seats:e,entries:r,minX:i,minY:c,cell:m,cols:h,rows:f,cellStart:S,items:p,stamp:new Int32Array(o),epoch:0}}function cn(e,t,n={}){let{cols:o,rows:r,cell:i,minX:c,minY:l,cellStart:s,items:u,entries:a}=e,y=Math.floor((t.x-c)/i),d=Math.floor((t.y-l)/i);if(y<0||d<0||y>=o||d>=r)return null;let x=d*o+y,m=s[x+1],h=-1,f=1/0;for(let b=s[x];b<m;b++){let S=u[b],g=a[S];if(n.filter&&!n.filter(g.seat.id,g.seat)||!on(g,t.x,t.y))continue;let p=t.x-g.seat.x,P=t.y-g.seat.y,M=p*p+P*P;(M<f||M===f&&S<h)&&(f=M,h=S)}return h<0?null:a[h].seat.id}function an(e,t,n,o={}){if(!(n>0))return null;let{cols:r,rows:i,cell:c,minX:l,minY:s,cellStart:u,items:a,entries:y}=e,d=Math.max(0,Math.floor((t.x-n-l)/c)),x=Math.min(r-1,Math.floor((t.x+n-l)/c)),m=Math.max(0,Math.floor((t.y-n-s)/c)),h=Math.min(i-1,Math.floor((t.y+n-s)/c));if(d>x||m>h)return null;let f=-1,b=n*n,S=e.stamp,g=++e.epoch;for(let p=m;p<=h;p++){let P=p*r;for(let M=d;M<=x;M++){let w=P+M,I=u[w+1];for(let C=u[w];C<I;C++){let v=a[C];if(S[v]===g)continue;S[v]=g;let T=y[v];if(o.filter&&!o.filter(T.seat.id,T.seat))continue;let A=t.x-T.seat.x,O=t.y-T.seat.y,R=A*A+O*O;(R<b||R===b&&v<f)&&(b=R,f=v)}}}return f<0?null:y[f].seat.id}function ln(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),c=Math.max(t.y,t.y+t.height),l=n.mode??"center",{cols:s,rows:u,cell:a,minX:y,minY:d,cellStart:x,items:m,entries:h}=e,f=Math.max(0,Math.floor((o-y)/a)),b=Math.min(s-1,Math.floor((r-y)/a)),S=Math.max(0,Math.floor((i-d)/a)),g=Math.min(u-1,Math.floor((c-d)/a));if(f>b||S>g)return[];let p=[],P=e.stamp,M=++e.epoch;for(let w=S;w<=g;w++){let I=w*s;for(let C=f;C<=b;C++){let v=I+C,T=x[v+1];for(let A=x[v];A<T;A++){let O=m[A];if(P[O]===M)continue;P[O]=M;let R=h[O];if(n.filter&&!n.filter(R.seat.id,R.seat))continue;(l==="center"?R.seat.x>=o&&R.seat.x<=r&&R.seat.y>=i&&R.seat.y<=c:rn(R,o,i,r,c))&&p.push(O)}}}return p.sort((w,I)=>w-I),p.map(w=>h[w].seat.id)}function un(e){let t=e.cols*e.rows,n=0,o=0;for(let i=0;i<t;i++){let c=e.cellStart[i+1]-e.cellStart[i];c>0&&n++,c>o&&(o=c)}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,TABLE_SEAT_OFFSET,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,floorsShareFootprint,gridStats,hitTest,invertAffine,layoutFloorOverview,layoutFloorRings,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 Z=Object.defineProperty;var Je=Object.getOwnPropertyDescriptor;var et=Object.getOwnPropertyNames;var tt=Object.prototype.hasOwnProperty;var nt=(e,t)=>{for(var n in t)Z(e,n,{get:t[n],enumerable:!0})},ot=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of et(t))!tt.call(e,r)&&r!==n&&Z(e,r,{get:()=>t[r],enumerable:!(o=Je(t,r))||o.enumerable});return e};var rt=e=>ot(Z({},"__esModule",{value:!0}),e);var xn={};nt(xn,{DEFAULT_SEAT_RADIUS:()=>Qe,FLOOR_STACK_GAP_RATIO:()=>Ke,FLOOR_STACK_MIN_SURFACE_PX:()=>qe,TABLE_SEAT_OFFSET:()=>F,TEXT_BACKGROUND_PADDING_MAX:()=>Tn,TEXT_BACKGROUND_RADIUS_MAX:()=>Rn,TEXT_LETTER_SPACING_MAX:()=>On,TEXT_LETTER_SPACING_MIN:()=>En,TEXT_LINE_HEIGHT_MAX:()=>Cn,TEXT_LINE_HEIGHT_MIN:()=>vn,TEXT_OPACITY_MIN:()=>An,TEXT_WIDTH_MAX:()=>In,TEXT_WIDTH_MIN:()=>Pn,allObjects:()=>Ye,applyAffine:()=>on,buildAisleHoles:()=>ct,buildSeatIndex:()=>dn,buildSectionShell:()=>st,chartBounds:()=>X,composeAffine:()=>sn,createPerspectiveCamera:()=>nn,cubicPoint:()=>G,decomposeAffineLinear:()=>an,distanceToRings:()=>Pe,distributeAlongCubic:()=>J,expandBooth:()=>Xe,expandChart:()=>qt,expandRow:()=>pe,expandRowSlots:()=>Ne,expandTable:()=>Ue,expandTableSlots:()=>ye,floorObjects:()=>$t,floorStackPlacements:()=>$e,floorsOf:()=>Ve,gridStats:()=>yn,hitTest:()=>hn,initialFloorMode:()=>tn,invertAffine:()=>rn,layoutFloorStack:()=>en,mainFloorId:()=>We,nearestWithin:()=>mn,objectCenter:()=>He,owningSectionForObject:()=>Ge,perspectiveTangentAffine:()=>cn,pointInPolygon:()=>he,pointInPolygonWithHoles:()=>U,polygonArea:()=>ne,polygonInscribedAnchor:()=>oe,polygonLabelPoint:()=>Kt,polygonNetArea:()=>ft,projectPerspectivePoint:()=>q,queryRect:()=>pn,resolveSegmentedRowGroups:()=>re,rowInventoryCount:()=>Gt,rowSeatPositions:()=>me,segmentedRowComponentSeats:()=>mt,segmentedRowComponents:()=>ht,segmentedRowSeatTotal:()=>pt,smoothCubicThroughMiddle:()=>it,stackFloors:()=>Wt,tableInventoryCount:()=>Vt,tableSeatCountsBySide:()=>Be,textLayoutMetrics:()=>ee,translateObject:()=>W});module.exports=rt(xn);var gn=Math.PI/180;function j(e,t){return Math.hypot(e.x-t.x,e.y-t.y)}function D(e,t,n){return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}}function G(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 it(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 J(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[G(e,.5)];let o=Array.from({length:n+1},(c,u)=>G(e,u/n)),r=new Float64Array(o.length);for(let c=1;c<o.length;c+=1){let u=o[c].x-o[c-1].x,a=o[c].y-o[c-1].y;r[c]=r[c-1]+Math.hypot(u,a)}let i=r[r.length-1];if(i<=1e-9)return Array.from({length:t},()=>({...e.start}));let s=[],l=1;for(let c=0;c<t;c+=1){let u=i*c/(t-1);for(;l<r.length-1&&r[l]<u;)l+=1;let a=r[l-1],d=r[l],p=d===a?0:(u-a)/(d-a);s.push({x:o[l-1].x+(o[l].x-o[l-1].x)*p,y:o[l-1].y+(o[l].y-o[l-1].y)*p})}return s}function _(e,t){return{x:e.x+t.x,y:e.y+t.y}}function B(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 V(e,t=13){return Array.from({length:t},(n,o)=>G(e,o/(t-1)))}function xe(e,t){let n=Math.max(0,Math.min(1,t))*(e.length-1),o=Math.min(e.length-2,Math.floor(n));return D(e[o],e[o+1],n-o)}function be(e,t,n){let o=Math.max(0,Math.min(1,t)),r=Math.max(o,Math.min(1,n)),i=[xe(e,o)];for(let s=1;s<e.length-1;s+=1){let l=s/(e.length-1);l>o+1e-9&&l<r-1e-9&&i.push(e[s])}return i.push(xe(e,r)),i}function ge(e,t){let n=[[0,1],[1,2],[2,3],[3,0]],o=0,r=Number.POSITIVE_INFINITY;n.forEach(([p,x],m)=>{let h=j(D(e[p],e[x],.5),t);h<r&&(r=h,o=m)});let i=e[o],s=e[(o+1)%4],l=e[(o+2)%4],c=e[(o+3)%4],u=D(i,s,.5),a=B(t,u),d=Math.max(1e-9,Math.hypot(a.x,a.y));return{p0:i,p1:s,p2:l,p3:c,normal:k(a,1/d),depth:(j(i,c)+j(s,l))/2}}function Se(e){let{p0:t,p1:n,p2:o,p3:r,normal:i,depth:s}=e,l=B(n,t),c=B(o,r),u=s*.22,a=s*.12;return{nearPath:{start:t,control1:_(_(t,k(l,1/3)),k(i,u)),control2:_(_(t,k(l,2/3)),k(i,u)),end:n},farPath:{start:o,control1:_(_(r,k(c,2/3)),k(i,a)),control2:_(_(r,k(c,1/3)),k(i,a)),end:r}}}function st(e,t,n){if(e.length!==4)throw new Error("A section shell requires four mapped bounds corners");let o=e.reduce((m,h)=>_(m,h),{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(m=>({...m}))};let l=ge(e,t),{p0:c,p1:u,p2:a,p3:d}=l;if(s==="tapered")return{mode:s,outline:[_(c,k(B(u,c),.14)),_(c,k(B(u,c),1-.14)),a,d]};let{nearPath:p,farPath:x}=Se(l);return{mode:s,outline:[...V(p),...V(x).slice(1)]}}function ct(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=ge(e,t),{p0:i,p1:s,p2:l,p3:c}=r,u=o==="bezier"?Se(r):null,a=u?V(u.nearPath):null,d=u?V(u.farPath).reverse():null,p=Math.min(.055,.18/(n+1));return Array.from({length:n},(x,m)=>{let h=(m+1)/(n+1),f=h-p/2,b=h+p/2;return a&&d?[...be(a,f,b),...be(d,f,b).reverse()]:[D(i,s,f),D(i,s,b),D(c,l,b),D(c,l,f)]})}var Pn=40,In=1200,vn=.8,Cn=3,En=-2,On=20,An=.1,Tn=40,Rn=40,Me=e=>Math.max(1,e.fontSize*.6+(e.letterSpacing??0));function at(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/Me(e))),r=0;for(let i of n){if(!i.length){r+=1;continue}let s=0;for(let l of i.split(/\s+/)){let c=l.length;s&&s+1+c<=o?s+=1+c:(r+=Math.max(1,Math.ceil(c/o)),s=c%o)}}return Math.max(1,r)}function ee(e){let t=e.background?.padding??0,n=e.text.split(/\r?\n/),o=Math.max(1,...n.map(l=>l.length))*Me(e),r=e.width??o+t*2,i=Math.max(1,r-t*2),s=at(e,i);return{width:r,height:s*e.fontSize*(e.lineHeight??1.2)+t*2,lineCount:s,padding:t}}function lt(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 Pe(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=lt(e,o[i],o[r]);s<n&&(n=s)}return n}function we(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,l=t[r].x,c=t[r].y;s>e.y!=c>e.y&&e.x<(l-i)*(e.y-s)/(c-s)+i&&(n=!n)}return n}function ut(e,t,n){let o=we(e,t)&&!n.some(i=>we(e,i)),r=Pe(e,[t,...n]);return o?r:-r}function N(e,t,n,o,r){let i=ut({x:e,y:t},o,r);return{x:e,y:t,h:n,d:i,max:i+n*Math.SQRT2}}var te=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,l=r;if(i<t.length&&t[i].max>t[l].max&&(l=i),s<t.length&&t[s].max>t[l].max&&(l=s),l===r)break;[t[l],t[r]]=[t[r],t[l]],r=l}}return n}};function ne(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 ft(e,t){return Math.max(0,ne(e)-(t??[]).reduce((n,o)=>n+ne(o),0))}function oe(e,t){let n=t??[];if(!e.length)return{point:{x:0,y:0},radius:0};if(e.length<3){let h=e.reduce((b,M)=>b+M.x,0)/e.length,f=e.reduce((b,M)=>b+M.y,0)/e.length;return{point:{x:h,y:f},radius:0}}let o=1/0,r=1/0,i=-1/0,s=-1/0;for(let h of e)h.x<o&&(o=h.x),h.y<r&&(r=h.y),h.x>i&&(i=h.x),h.y>s&&(s=h.y);let l=i-o,c=s-r,u=Math.min(l,c);if(!(u>0))return{point:{x:(o+i)/2,y:(r+s)/2},radius:0};let a=Math.max(l,c)/150,d=new te,p=u/2;for(let h=o;h<i;h+=u)for(let f=r;f<s;f+=u)d.push(N(h+p,f+p,p,e,n));let x=N(o+l/2,r+c/2,0,e,n),m=0;for(;d.size;){let h=d.pop();if(!h)break;h.d>x.d&&(x=h),!(h.max-x.d<=a)&&(m>=4e3||(m+=1,p=h.h/2,d.push(N(h.x-p,h.y-p,p,e,n)),d.push(N(h.x+p,h.y-p,p,e,n)),d.push(N(h.x-p,h.y+p,p,e,n)),d.push(N(h.x+p,h.y+p,p,e,n))))}return{point:{x:x.x,y:x.y},radius:Math.max(0,x.d)}}function L(e,t,n){return e<t?t:e>n?n:e}var Dn=Math.PI*2;function Ie(e,t,n){return dt(e,r=>({x:r.x+t,y:r.y+n}))}function dt(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 jn=4/3;function ht(e,t,n){let o=[];for(let r=0;r<e.length-1;r+=1){let i=e[r],s=e[r+1],l=Math.hypot(s.x-i.x,s.y-i.y);if(l<=0)continue;let c=Math.max(1,Math.round(l/n)),u=l/c,a=Math.atan2(s.y-i.y,s.x-i.x),d=r===0,x=(r>0?t[r-1]:void 0)==="break"?2:1,m=d?{...i}:{x:i.x+Math.cos(a)*u*x,y:i.y+Math.sin(a)*u*x},h=d?c+1:Math.max(1,c-(x-1));o.push({origin:m,rotation:a*180/Math.PI,seatCount:h,seatSpacing:u})}return o}function mt(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 pt(e){return e.reduce((t,n)=>t+n.seatCount,0)}function re(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((p,x)=>p.segmentedRow.componentIndex-x.segmentedRow.componentIndex),s=i[0]?.segmentedRow?.componentCount??0,l=i[0]?.segmentedRow;if(!l||!(s>=2&&i.length===s&&l?.boundaryBefore==="start"&&i.every((p,x)=>p.segmentedRow?.kind==="segmented-row-v1"&&p.segmentedRow.groupId===o&&p.segmentedRow.componentCount===s&&p.segmentedRow.componentIndex===x&&p.segmentedRow.repeatLabelOnComponents===l.repeatLabelOnComponents&&(x===0?p.segmentedRow.boundaryBefore==="start":p.segmentedRow.boundaryBefore!=="start")&&p.segmentedRow.displayLabel===l.displayLabel)))continue;let u=i.reduce((p,x)=>p+x.seatCount,0),a=0,d=0;for(let p of i)p.segmentedRow.boundaryBefore==="break"&&(a+=1),t.set(p.id,{groupId:o,adjacencyOffset:a,displayOffset:d,displayLabel:l.displayLabel,totalSeats:u,canonical:i[0],viewFromSeatUrl:l.viewFromSeatUrl,viewFromSeatMeta:l.viewFromSeatMeta,confidenceEvidence:l.confidenceEvidence}),a+=p.seatCount,d+=p.seatCount}return t}var yt="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var xt="abcdefghijklmnopqrstuvwxyz";function bt(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 ie(e,t=!1){let n=t?xt:yt;return bt(Math.max(0,Math.floor(e)-1),n)}var gt=[[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 ve(e){if(!Number.isFinite(e)||e<=0)return String(e);let t=Math.floor(e),n="";for(let[o,r]of gt)for(;t>=o;)n+=r,t-=o;return n}function St(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 se(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??"",l=e.seatNumbering?.endAt,c=e.seatCount;if(i==="updown"||i==="updown-descending"){let x=Math.ceil(c/2),m=i==="updown"?t<x?n+2*t:n-1+2*(c-t):t<x?n+2*(x-1-t):n+1+2*(t-x);return`${s}${m}`}let u=i==="odd"||i==="even"?2:r,a=l!=null&&Number.isFinite(l)?l-(c-1)*u:n,d=o==="center"?St(c)[t]:o==="rtl"?c-1-t:t,p;switch(i){case"odd":{let x=a%2===1?a:a+1;p=String(x+d*2);break}case"even":{let x=a%2===0?a:a+1;p=String(x+d*2);break}case"roman":p=ve(a+d*r);break;case"letters-upper":p=ie(a+d*r,!1);break;case"letters-lower":p=ie(a+d*r,!0);break;default:p=String(a+d*r);break}return`${s}${p}`}function Mt(e){return{...e.canonical,seatCount:e.totalSeats,label:e.displayLabel,displayLabel:e.displayLabel}}function Ce(e,t,n){return n?.label??`${e.label}-${se(e,t)}`}function ce(e,t,n,o){if(o?.displayLabel)return o.displayLabel;if(!n)return`${e.displayLabel??e.label}-${se(e,t)}`;let r=Mt(n),i=n.displayOffset+t;return`${n.displayLabel}-${se(r,i)}`}var Y=.02291666666666667,Hn=1/Y,wt=58,Pt=wt*Y;var It=3,Ee=0,ae=120,vt=0,Ct=45,Et=7,K=1.2;function le(e,t,n,o){return Number.isFinite(e)?Math.max(t,Math.min(n,e)):o}function Ot(e){return!Number.isFinite(e)||!Number.isInteger(e)||e<0?0:e<=Et?e:It}function Oe(e,t={}){let n=le(t.floorBaseHeightM,Ee,ae,0),o=Math.min(ae,n+Ot(e.elevation)*Pt),r=e.height===void 0?o:le(e.height,Ee,ae,o),i=le(e.rake,vt,Ct,0);return{height:r,rake:i}}function Ae(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 Te(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],l=s.x-i.x,c=s.y-i.y,u=l*l+c*c,a=u>1e-12?((t-i.x)*l+(n-i.y)*c)/u:0;a<0?a=0:a>1&&(a=1);let d=Math.hypot(t-(i.x+a*l),n-(i.y+a*c));d<o&&(o=d)}return o}function At(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 ue(e,t){let n=1/0;for(let o of Ae(e)){let r=Te(t,o.x,o.y);r<n&&(n=r)}for(let o of Ae(t)){let r=Te(e,o.x,o.y);r<n&&(n=r)}return n}function Tt(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 d=Math.hypot(a.x-n,a.y-o);d>r&&(r=d,i=a)}let s=i.x-n,l=i.y-o,c=Math.hypot(s,l);c>1e-9?(s/=c,l/=c):(s=1,l=0);let u=e.map((a,d)=>({p:a,i:d,t:(a.x-n)*s+(a.y-o)*l})).sort((a,d)=>a.t-d.t);return{pts:u.map(a=>a.p),seatIndices:u.map(a=>t[a.i])}}function Rt(e){let t=e.length;if(t<3)return null;let n=0,o=0;for(let M of e)n+=M.x,o+=M.y;n/=t,o/=t;let r=0,i=0,s=0,l=0,c=0,u=0,a=0;for(let M of e){let g=M.x-n,y=M.y-o;r+=g*g,s+=y*y,i+=g*y,l+=g*g*g,c+=y*y*y,u+=g*y*y,a+=y*g*g}let d=r*s-i*i;if(Math.abs(d)<1e-9)return null;let p=(l+u)/2,x=(c+a)/2,m=(p*s-x*i)/d,h=(x*r-p*i)/d,f=m+n,b=h+o;return!Number.isFinite(f)||!Number.isFinite(b)?null:{cx:f,cy:b}}var _t=.15;function kt(e){if(e.length<2)return null;let t=e.map(M=>{let g=0,y=0;for(let P of M.pts)g+=P.x,y+=P.y;return{x:g/M.pts.length,y:y/M.pts.length}}),n=0,o=0;for(let M of t)n+=M.x,o+=M.y;n/=t.length,o/=t.length;let r=0,i=0,s=0;for(let M of t){let g=M.x-n,y=M.y-o;r+=g*g,i+=g*y,s+=y*y}let l=r+s,c=r*s-i*i,u=l/2+Math.sqrt(Math.max(0,l*l/4-c)),a,d;Math.abs(i)>1e-12?(a=u-s,d=i):r>=s?(a=1,d=0):(a=0,d=1);let p=Math.hypot(a,d);if(!(p>1e-12))return null;a/=p,d/=p;let x=1/0,m=-1/0,h=[];for(let M of e){let g=1/0,y=-1/0;for(let P of M.pts){let S=P.x*a+P.y*d;S<g&&(g=S),S>y&&(y=S),S<x&&(x=S),S>m&&(m=S)}h.push(y-g)}let f=m-x;return f>1e-9?(h.sort((M,g)=>M-g),h[Math.min(h.length-1,Math.floor(h.length*.9))]/f<=Lt?{x:a,y:d}:null):null}var Lt=.35;function _e(e,t,n,o){let r=new Map;for(let f of n){let b=t[f],M=b.rowId||`__seat-${f}`,g=r.get(M);g||(g={pts:[],idx:[]},r.set(M,g)),g.pts.push({x:b.x,y:b.y}),g.idx.push(f)}if(!r.size)return{sectionId:e,rows:[],blockCount:0};let i=[];for(let[f,b]of r){let M=Tt(b.pts,b.idx),g=0;for(let y of M.pts)g+=Math.hypot(y.x-o.x,y.y-o.y);i.push({id:f,pts:M.pts,seatIndices:M.seatIndices,blockId:-1,ordinal:0,blockDepth:0,focalDistance:g/M.pts.length})}let s=i.map(f=>At(f.pts)),l=[];for(let f=0;f<i.length;f++){let b=1/0;for(let M=0;M<i.length;M++){if(f===M||Re(s[f],s[M])>=b)continue;let g=ue(i[f].pts,i[M].pts);g<b&&(b=g)}Number.isFinite(b)&&l.push(b)}l.sort((f,b)=>f-b);let c=l.length?l[Math.floor(l.length/2)]:1,u=Math.max(c*1.8,1e-6),a=i.map(()=>[]);for(let f=0;f<i.length;f++)for(let b=f+1;b<i.length;b++)Re(s[f],s[b])>u||ue(i[f].pts,i[b].pts)<=u&&(a[f].push(b),a[b].push(f));let d=0;for(let f=0;f<i.length;f++){if(i[f].blockId!==-1)continue;let b=d++,M=[f];for(i[f].blockId=b;M.length;){let g=M.pop();for(let y of a[g])i[y].blockId===-1&&(i[y].blockId=b,M.push(y))}}let p=new Map;for(let f of i){let b=p.get(f.blockId)??[];b.push(f),p.set(f.blockId,b)}let x=[];for(let f of i){if(f.pts.length<4)continue;let b=Rt(f.pts);b&&(!Number.isFinite(b.cx)||!Number.isFinite(b.cy)||x.push({x:b.cx,y:b.cy}))}let m=x.length>=2?(()=>{let f=x.map(g=>g.x).sort((g,y)=>g-y),b=x.map(g=>g.y).sort((g,y)=>g-y),M=Math.floor(x.length/2);return{cx:f[M],cy:b[M]}})():null;if(m){let f=S=>Math.hypot(S.x-m.cx,S.y-m.cy),b=1/0,M=-1/0,g=[];for(let S of i){let w=1/0,v=-1/0;for(let C of S.pts){let I=f(C);I<w&&(w=I),I>v&&(v=I)}g.push(v-w),w<b&&(b=w),v>M&&(M=v)}let y=M-b;g.sort((S,w)=>S-w);let P=g[Math.min(g.length-1,Math.floor(g.length*.9))];if(y>1e-9&&P/y<=_t){let S=i.map(E=>{let H=0;for(let Ze of E.pts)H+=f(Ze);return{row:E,radius:H/E.pts.length}}),w=0,v=0;for(let E of S)w+=E.radius,v+=E.row.focalDistance;w/=S.length,v/=S.length;let C=0;for(let E of S)C+=(E.radius-w)*(E.row.focalDistance-v);if(C<0)for(let E of S)E.radius=-E.radius;let R=1/0;for(let E of S)E.radius<R&&(R=E.radius);S.sort((E,H)=>E.radius-H.radius);let A=-1,O=-1/0,T=y/Math.max(1,S.length)*.5,Q=[];for(let E of S)E.radius-O>T&&(A++,O=E.radius),E.row.ordinal=A,E.row.blockDepth=E.radius-R,Q.push(E.row);return{sectionId:e,rows:Q,blockCount:d}}}let h=[];for(let[,f]of p){let b=kt(f);if(b){let M=y=>{let P=0;for(let S of y.pts)P+=S.x*b.x+S.y*b.y;return P/y.pts.length};f.sort((y,P)=>M(y)-M(P)),f.length>=2&&f[0].focalDistance>f[f.length-1].focalDistance&&f.reverse();let g=0;for(let y=0;y<f.length;y++)y>0&&(g+=ue(f[y-1].pts,f[y].pts)),f[y].ordinal=y,f[y].blockDepth=g,h.push(f[y])}else{let M=1/0;for(let g of f)g.focalDistance<M&&(M=g.focalDistance);f.sort((g,y)=>g.focalDistance-y.focalDistance);for(let g=0;g<f.length;g++)f[g].ordinal=g,f[g].blockDepth=Math.max(0,f[g].focalDistance-M),h.push(f[g])}}return{sectionId:e,rows:h,blockCount:d}}var Dt=/^\d{4}-\d{2}-\d{2}$/;function jt(e){let t=Date.parse(e);return Number.isFinite(t)?Dt.test(e)?t+864e5:t:null}function Ft(e,t=Date.now()){if(e.validUntil===void 0){if(e.status!=="approved")return!0;let o=e.assessedAt?Date.parse(e.assessedAt):Number.NaN;return Number.isFinite(o)&&(t instanceof Date?t.getTime():t)<=o+366*864e5}let n=jt(e.validUntil);return n===null?!1:(t instanceof Date?t.getTime():t)<n}function Nt(e,t,n){return!(e.eventConfigurationId&&e.eventConfigurationId!==t||e.eventConfigurationVersion!==void 0&&e.eventConfigurationVersion!==n)}function Bt(e){return e.status!=="draft"&&e.status!=="retracted"}function Ut(e,t){return e.status===void 0?t===void 0:e.status!=="approved"?!0:typeof t=="string"&&typeof e.basisSha256=="string"&&e.basisSha256===t}function ke(e,t={}){return!!e&&Bt(e)&&Nt(e,t.activeConfigurationId,t.activeConfigurationVersion)&&Ut(e,t.activeBasisSha256)&&Ft(e,t.now)}function Fe(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 $=Math.PI/180,Xt=9,F=16;function de(e,t,n,o){let r=n*$,i=Math.cos(r),s=Math.sin(r);return{x:o.x+e*i-t*s,y:o.y+e*s+t*i}}function me(e){let{seatCount:t,seatSpacing:n,curve:o,rotation:r,origin:i}=e,s=[];if(e.path)return J(e.path,t);if(t<=1)return t===1&&s.push({x:i.x,y:i.y}),s;if(o===0){for(let u=0;u<t;u++)s.push(de(u*n,0,r,i));return s}let l=o/(t-1)*$,c=n/(2*Math.sin(Math.abs(l)/2));for(let u=0;u<t;u++){let a=u*l,d=c*Math.sin(a),p=-c+c*Math.cos(a);s.push(de(d,p,r,i))}return s}function Ht(e){let t=new Map;if(e.overrides)for(let n of e.overrides)t.set(n.index,n);return t}function Gt(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 Ne(e,t){let n=Ht(e);return me(e).map((o,r)=>{let i=n.get(r),s=Fe(i),l=Ce(e,r,i),c={...e.commercial,...i?.commercial};return{index:r,x:o.x+(i?.dx??0),y:o.y+(i?.dy??0),label:l,displayLabel:ce(e,r,t,i),categoryKey:i?.categoryKey??e.categoryKey,skipped:!!i?.skip,accessible:s.length>0,accessibility:s,wheelchairSpaceType:i?.wheelchairSpaceType,commercial:Object.values(c).some(u=>u!==void 0&&u!==!1&&u!=="")?c:void 0,glyph:i?.glyph,viewUrl:i?.viewFromSeatUrl??e.viewFromSeatUrl,viewMeta:i?.viewFromSeatUrl?i.viewFromSeatMeta:e.viewFromSeatMeta,labelStyle:i?.labelStyle}})}function pe(e){let t=[];for(let n of Ne(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,glyph:n.glyph,viewUrl:n.viewUrl,viewMeta:n.viewMeta,labelStyle:n.labelStyle});return t}function Be(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 ye(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,d,p,x)=>{let m=o.get(a),h=Fe(m),f=m?.label??`${e.label}-${a+1}`,b=e.displayLabel??e.label;return{index:a,label:f,displayLabel:m?.displayLabel??`${b}-${a+1}`,x:d+(m?.dx??0),y:p+(m?.dy??0),categoryKey:m?.categoryKey??e.categoryKey,skipped:!!m?.skip,accessible:h.length>0,accessibility:h,wheelchairSpaceType:m?.wheelchairSpaceType,commercial:m?.commercial,glyph:m?.glyph,viewUrl:m?.viewFromSeatUrl,viewMeta:m?.viewFromSeatUrl?m.viewFromSeatMeta:void 0,labelStyle:m?.labelStyle,...x?{side:x}:{}}};if(e.shape==="round"){let a=(e.radius??40)+F,d=e.rotation*$,p=Math.max(0,Math.min(360,e.seatArc??360));if(p>=360||n===1){for(let f=0;f<n;f++){let b=d+f/n*2*Math.PI;t.push(r(f,e.center.x+a*Math.cos(b),e.center.y+a*Math.sin(b)))}return t}let x=p*$,m=(2*Math.PI-x)/2,h=d+m;for(let f=0;f<n;f++){let b=h+f/(n-1)*x;t.push(r(f,e.center.x+a*Math.cos(b),e.center.y+a*Math.sin(b)))}return t}let i=e.width??80,s=e.height??50,l=Be(e),c=["top","bottom","left","right"],u=0;for(let a of c){let d=l[a];for(let p=0;p<d;p++){let x,m;a==="top"?(x=-i/2+(p+.5)*i/d,m=-s/2-F):a==="bottom"?(x=-i/2+(p+.5)*i/d,m=s/2+F):a==="left"?(x=-i/2-F,m=-s/2+(p+.5)*s/d):(x=i/2+F,m=-s/2+(p+.5)*s/d);let h=de(x,m,e.rotation,e.center);t.push(r(u++,h.x,h.y,a))}}return t}function Vt(e){return e.bookAsWhole||e.variableOccupancy?Math.max(0,Math.round(e.seatCount)):ye(e).filter(t=>!t.skipped).length}function Ue(e){return ye(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.glyph?{glyph:t.glyph}:{},...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 he(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,l=t[r].x,c=t[r].y;s>e.y!=c>e.y&&e.x<(l-i)*(e.y-s)/(c-s)+i&&(n=!n)}return n}function Yt(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),l=(r.x-n.x)**2+(r.y-n.y)**2;return s>=-1e-7&&s<=l+1e-7})}function U(e,t,n){return he(e,t)&&!(n??[]).some(o=>he(e,o)||Yt(e,o))}function Kt(e,t){return oe(e,t).point}function fe(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=pe(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 fe(e.points);case"section":return fe(e.outline);case"text":return{x:e.position.x,y:e.position.y};case"shape":return e.points&&e.points.length?fe(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 Le(e,t){return e.length===t.length&&e.every((n,o)=>n.x===t[o].x&&n.y===t[o].y)}function zt(e,t){if(e.type!=="gaArea"||!Le(e.points,t.outline))return!1;let n=e.holes??[],o=t.holes??[];return n.length===o.length&&n.every((r,i)=>Le(r,o[i]))}function Ge(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&&(zt(t,s)||U(r,s.outline,s.holes))):void 0)??n.find(s=>U(r,s.outline,s.holes))}function Ve(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 $t(e,t){let n=Ve(e);return(t?n.find(o=>o.id===t):n[0])?.objects??[]}function Ye(e){return e.floors&&e.floors.length?e.floors.flatMap(t=>t.objects):e.objects}function W(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:Ie(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 Wt(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:W(s,0,i))}),{...e,objects:n,floors:void 0}}function De(e,t,n,o,r,i,s,l,c){let u=[],a=re(e),d=m=>!m?.eventConfigurationId||m.eventConfigurationId===o&&(m.eventConfigurationVersion===void 0||m.eventConfigurationVersion===c),p=m=>ke(m,{activeConfigurationId:o,activeConfigurationVersion:c,activeBasisSha256:r,now:l}),x=(m,h)=>p(m)?{...m,coverage:h}:void 0;for(let m of e){let h=[];if(m.type==="row"?h=pe(m):m.type==="table"?h=Ue(m):m.type==="booth"&&(h=Xe(m)),!h.length)continue;for(let y of h)y.viewUrl&&!d(y.viewMeta)&&(y.viewUrl=void 0,y.viewMeta=void 0);if(m.type==="row"){let y=a.get(m.id);if(y){let P=new Map((m.overrides??[]).map(S=>[S.index,S]));for(let S of h){let w=Number(S.id.slice(S.id.lastIndexOf(":")+1));if(!Number.isInteger(w))continue;S.logicalRowId=y.groupId,S.logicalSeatIndex=y.adjacencyOffset+w,P.get(w)?.displayLabel||(S.displayLabel=ce(m,w,y)),!S.viewUrl&&y.viewFromSeatUrl&&d(y.viewFromSeatMeta)&&(S.viewUrl=y.viewFromSeatUrl,S.viewMeta=y.viewFromSeatMeta);let v=P.get(w)?.confidenceEvidence;S.confidenceEvidence=x(v,"exact-seat")??x(m.confidenceEvidence,"row-representative")??x(y.confidenceEvidence,"row-representative")}}}let f=Ge(e,m),b=f?.viewFromSeatUrl,g=(f?.zone?t?.find(y=>y.id===f.zone):void 0)?.focalPoint??n;for(let y of h){if(!y.confidenceEvidence){let P=Number(y.id.slice(y.id.lastIndexOf(":")+1)),S=(m.type==="row"||m.type==="table")&&Number.isInteger(P)?m.overrides?.find(w=>w.index===P)?.confidenceEvidence:void 0;y.confidenceEvidence=x(S,"exact-seat")??(m.type==="row"?x(m.confidenceEvidence,"row-representative"):void 0)}y.confidenceEvidence??=x(f?.confidenceEvidence,"section-representative")??(s?x(s.evidence,s.coverage):void 0),!y.viewUrl&&b&&d(f?.viewFromSeatMeta)&&(y.viewUrl=b,y.viewMeta=f?.viewFromSeatMeta),!y.viewUrl&&i&&d(i.meta)&&(y.viewUrl=i.url,y.viewMeta=i.meta),f&&(y.sectionId=f.logicalSectionId??f.id),f?.zone&&(y.zoneId=f.zone),g&&(y.focalPoint={...g})}u.push(...h)}return u}function qt(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,l=r.confidenceEvidence?{evidence:r.confidenceEvidence,coverage:"floor-representative"}:e.confidenceEvidence?{evidence:e.confidenceEvidence,coverage:"venue-representative"}:void 0,c=De(r.objects,e.zones,i,e.eventConfigurationId,e.confidenceBasisSha256,s,l,t.now,t.eventConfigurationVersion??e.eventConfigurationVersion);t.resolveEyeHeights!==!1&&je(r.objects,r.focalPoint??e.focalPoint,r.baseHeightM??0,c);for(let u of c)u.floorId=r.id;o.push(...c)}return o}let n=De(e.objects,e.zones,e.focalPoint,e.eventConfigurationId,e.confidenceBasisSha256,e.viewFromSeatUrl?{url:e.viewFromSeatUrl,meta:e.viewFromSeatMeta}:void 0,e.confidenceEvidence?{evidence:e.confidenceEvidence,coverage:"venue-representative"}:void 0,t.now,t.eventConfigurationVersion??e.eventConfigurationVersion);return t.resolveEyeHeights!==!1&&je(e.objects,e.focalPoint,t.floorBaseHeightM??0,n),n}function je(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+K;return}let s=new Array(o.length),l=new Map,c=new Map;for(let a=0;a<o.length;a++){let d=o[a],x=(d.sectionId?r.find(h=>h.id===d.sectionId)??r.find(h=>h.logicalSectionId===d.sectionId&&U({x:d.x,y:d.y},h.outline,h.holes)):void 0)??r.find(h=>U({x:d.x,y:d.y},h.outline,h.holes))??null;if(s[a]=x,!x)continue;l.has(x.id)||l.set(x.id,Oe(x,{floorBaseHeightM:n}));let m=c.get(x.id);m?m.push(a):c.set(x.id,[a])}let u=new Array(o.length).fill(void 0);for(let[a,d]of c){let p=l.get(a);if(!p)continue;let x=p.rake>0?Math.tan(p.rake*Math.PI/180):0,m=_e(a,o,d,t);for(let h of m.rows){let f=h.blockDepth*Y*x,b=p.height+f;for(let M of h.seatIndices)u[M]=b}}for(let a=0;a<o.length;a++){let d=o[a],p=s[a];if(!p){d.eyeHeightM=n+K;continue}let x=l.get(p.id);d.eyeHeightM=(u[a]??x.height)+K}}var z=40;function X(e,t){let n=t?.freeText==="exclude",o=1/0,r=1/0,i=-1/0,s=-1/0,l=(c,u)=>{c<o&&(o=c),u<r&&(r=u),c>i&&(i=c),u>s&&(s=u)};for(let c of Ye(e))if(c.type==="row"){let u=new Map((c.overrides??[]).map(a=>[a.index,a]));me(c).forEach((a,d)=>{let p=u.get(d);p?.skip||l(a.x+(p?.dx??0),a.y+(p?.dy??0))})}else if(c.type==="gaArea")for(let u of c.points)l(u.x,u.y);else if(c.type==="section")for(let u of c.outline)l(u.x,u.y);else if(c.type==="decorImage")l(c.x,c.y),l(c.x+c.width,c.y+c.height);else if(c.type==="shape")if(c.points&&c.points.length)for(let u of c.points)l(u.x,u.y);else c.x!=null&&c.y!=null&&c.width!=null&&c.height!=null&&(l(c.x,c.y),l(c.x+c.width,c.y+c.height));else if(c.type==="table"){let u=F+Xt,a=c.shape==="round"?(c.radius??40)+u:Math.max((c.width??80)/2,(c.height??50)/2)+u;l(c.center.x-a,c.center.y-a),l(c.center.x+a,c.center.y+a)}else if(c.type==="booth"){let u=Math.max(c.width,c.height)/2;l(c.center.x-u,c.center.y-u),l(c.center.x+u,c.center.y+u)}else if(c.type==="text"){if(n)continue;let u=ee(c);l(c.position.x,c.position.y),l(c.position.x+u.width,c.position.y+u.height)}for(let c of[e.referenceImage,e.backgroundImage]){if(!c)continue;let{center:u,width:a}=c,d=a*3/4;l(u.x-a/2,u.y-d/2),l(u.x+a/2,u.y+d/2)}if(!isFinite(o)){let c=e.focalPoint??{x:0,y:0};return{x:c.x-200,y:c.y-200,width:400,height:400}}return{x:o-z,y:r-z,width:i-o+z*2,height:s-r+z*2}}var Ke=.08,Qt=.045;function ze(e,t,n){return{...e,objects:t,floors:void 0,...n?{focalPoint:n}:{},referenceImage:void 0,backgroundImage:void 0}}function Zt(e,t,n){let o=e.focalPoint??t.focalPoint;return o?o.x:n.x+n.width/2}function $e(e){let t=e.floors??[];if(!t.length)return[];let n=t.map(s=>X(ze(e,s.objects,s.focalPoint),{freeText:"exclude"})),r=Math.max(1,...n.map(s=>s.width))*Ke,i=0;return t.map((s,l)=>{let c=n[l],u=i-(c.y+c.height);return i-=c.height+r,{floorId:s.id,label:s.name??s.id,level:l,levelBadge:l===0?"G":String(l),translation:{x:-Zt(s,e,c),y:u},bounds:c}})}function Jt(e,t,n,o){let r=t==="name"?e.label:e.levelBadge;if(!r)return[];let i=Math.max(1,n*Qt),s=e.bounds.x+e.translation.x,l=e.bounds.y+e.translation.y+i*.4,c=`floor-level-${e.floorId}`,u={type:"text",id:`${c}-text`,text:r,position:{x:s,y:l},fontSize:i,rotation:0,color:o,bold:!0};if(t==="name")return[u];let a=i*.95;return[{type:"shape",id:`${c}-badge`,kind:"ellipse",x:s-a*.35,y:l-a*.3,width:a*2,height:a*2,fill:"transparent",stroke:{color:o,width:Math.max(1,i*.09)},opacity:.8},u]}function en(e,t={}){let n=e.floors;if(!n||n.length<2)return e;let o=$e(e),r=[];n.forEach((u,a)=>{let{x:d,y:p}=o[a].translation;for(let x of u.objects)a>0&&x.type==="shape"&&x.role==="stage"||r.push(W(x,d,p))});let i={...e,objects:r,floors:void 0},s=X(i,{freeText:"exclude"}),l=Math.max(1,s.width,s.height),c=e.theme?.textColor??"#94a3b8";for(let u of o)r.push(...Jt(u,t.labelStyle??"number",l,c));return{...i,objects:r,referenceImage:void 0,backgroundImage:void 0}}function We(e){let t=e.floors;if(!t?.length)return null;let n=t.find(i=>i.objects.some(s=>s.type==="shape"&&s.role==="stage"));if(n)return n.id;let o=t[0],r=-1;for(let i of t){let s=X(ze(e,i.objects,i.focalPoint),{freeText:"exclude"}),l=s.width*s.height;l>r&&(r=l,o=i)}return o.id}var qe=640;function tn(e,t){return(e.floors?.length??0)<2?null:!Number.isFinite(t)||t<=0||t>=qe?"all":We(e)}function nn(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 q(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),l=o*i-r*s,u=o*s+r*i-e.distance,a=n-e.height,d=Math.hypot(e.distance,e.height),p=(-e.distance*u-e.height*a)/d,x=(-e.height*u+e.distance*a)/d,m=Math.max(d*.08,p),h=e.focalLength/m;return{x:e.target.x+l*h,y:e.target.y-x*h,depth:m,scale:h}}function on(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 rn(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 sn(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 cn(e,t,n=()=>0){let o=q(e,t,n(t)),r={x:t.x+1,y:t.y},i={x:t.x,y:t.y+1},s=q(e,r,n(r)),l=q(e,i,n(i)),c=s.x-o.x,u=s.y-o.y,a=l.x-o.x,d=l.y-o.y;return{a:c,b:u,c:a,d,e:o.x-c*t.x-a*t.y,f:o.y-u*t.x-d*t.y}}function an(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 Qe=9;function ln(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 un(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,l=r;if(i){let c=-i*Math.PI/180,u=Math.cos(c),a=Math.sin(c);s=o*u-r*a,l=o*a+r*u}return Math.abs(s)<=e.shape.width/2&&Math.abs(l)<=e.shape.height/2}function fn(e,t,n,o,r){if(e.shape.kind==="circle"){let m=Math.min(Math.max(e.seat.x,t),o),h=Math.min(Math.max(e.seat.y,n),r),f=e.seat.x-m,b=e.seat.y-h;return f*f+b*b<=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,l=Math.cos(s),c=Math.sin(s),u=e.shape.width/2,a=e.shape.height/2,d=[[-u,-a],[u,-a],[u,a],[-u,a]].map(([m,h])=>[e.seat.x+m*l-h*c,e.seat.y+m*c+h*l]),p=[[t,n],[o,n],[o,r],[t,r]],x=[[1,0],[0,1],[l,c],[-c,l]];for(let[m,h]of x){let f=1/0,b=-1/0;for(let[y,P]of d){let S=y*m+P*h;S<f&&(f=S),S>b&&(b=S)}let M=1/0,g=-1/0;for(let[y,P]of p){let S=y*m+P*h;S<M&&(M=S),S>g&&(g=S)}if(b<M||g<f)return!1}return!0}function dn(e,t={}){let n=t.seatRadius??Qe,o=e.length,r=new Array(o),i=1/0,s=1/0,l=-1/0,c=-1/0,u=0;for(let S=0;S<o;S++){let w=e[S],v=t.shapeOf?.(w)??{kind:"circle",r:n},{hx:C,hy:I}=ln(v);r[S]={seat:w,shape:v,hx:C,hy:I},w.x-C<i&&(i=w.x-C),w.y-I<s&&(s=w.y-I),w.x+C>l&&(l=w.x+C),w.y+I>c&&(c=w.y+I),C>u&&(u=C),I>u&&(u=I)}o===0&&(i=0,s=0,l=0,c=0);let a=u>0?u*4:1,d=Math.max(l-i,0),p=Math.max(c-s,0),x=Math.max(64,t.maxCells??o*4),m=a,h=Math.max(1,Math.ceil(d/m)||1),f=Math.max(1,Math.ceil(p/m)||1);for(;h*f>x&&(h>1||f>1);)m*=2,h=Math.max(1,Math.ceil(d/m)||1),f=Math.max(1,Math.ceil(p/m)||1);let b=h*f,M=new Int32Array(b+1),g=0;for(let S=0;S<o;S++){let w=r[S],v=L(Math.floor((w.seat.x-w.hx-i)/m),0,h-1),C=L(Math.floor((w.seat.x+w.hx-i)/m),0,h-1),I=L(Math.floor((w.seat.y-w.hy-s)/m),0,f-1),R=L(Math.floor((w.seat.y+w.hy-s)/m),0,f-1);for(let A=I;A<=R;A++)for(let O=v;O<=C;O++)M[A*h+O+1]++,g++}for(let S=0;S<b;S++)M[S+1]+=M[S];let y=new Int32Array(g),P=M.slice(0,b);for(let S=0;S<o;S++){let w=r[S],v=L(Math.floor((w.seat.x-w.hx-i)/m),0,h-1),C=L(Math.floor((w.seat.x+w.hx-i)/m),0,h-1),I=L(Math.floor((w.seat.y-w.hy-s)/m),0,f-1),R=L(Math.floor((w.seat.y+w.hy-s)/m),0,f-1);for(let A=I;A<=R;A++)for(let O=v;O<=C;O++){let T=A*h+O;y[P[T]++]=S}}return{seats:e,entries:r,minX:i,minY:s,cell:m,cols:h,rows:f,cellStart:M,items:y,stamp:new Int32Array(o),epoch:0}}function hn(e,t,n={}){let{cols:o,rows:r,cell:i,minX:s,minY:l,cellStart:c,items:u,entries:a}=e,d=Math.floor((t.x-s)/i),p=Math.floor((t.y-l)/i);if(d<0||p<0||d>=o||p>=r)return null;let x=p*o+d,m=c[x+1],h=-1,f=1/0;for(let b=c[x];b<m;b++){let M=u[b],g=a[M];if(n.filter&&!n.filter(g.seat.id,g.seat)||!un(g,t.x,t.y))continue;let y=t.x-g.seat.x,P=t.y-g.seat.y,S=y*y+P*P;(S<f||S===f&&M<h)&&(f=S,h=M)}return h<0?null:a[h].seat.id}function mn(e,t,n,o={}){if(!(n>0))return null;let{cols:r,rows:i,cell:s,minX:l,minY:c,cellStart:u,items:a,entries:d}=e,p=Math.max(0,Math.floor((t.x-n-l)/s)),x=Math.min(r-1,Math.floor((t.x+n-l)/s)),m=Math.max(0,Math.floor((t.y-n-c)/s)),h=Math.min(i-1,Math.floor((t.y+n-c)/s));if(p>x||m>h)return null;let f=-1,b=n*n,M=e.stamp,g=++e.epoch;for(let y=m;y<=h;y++){let P=y*r;for(let S=p;S<=x;S++){let w=P+S,v=u[w+1];for(let C=u[w];C<v;C++){let I=a[C];if(M[I]===g)continue;M[I]=g;let R=d[I];if(o.filter&&!o.filter(R.seat.id,R.seat))continue;let A=t.x-R.seat.x,O=t.y-R.seat.y,T=A*A+O*O;(T<b||T===b&&I<f)&&(b=T,f=I)}}}return f<0?null:d[f].seat.id}function pn(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),l=n.mode??"center",{cols:c,rows:u,cell:a,minX:d,minY:p,cellStart:x,items:m,entries:h}=e,f=Math.max(0,Math.floor((o-d)/a)),b=Math.min(c-1,Math.floor((r-d)/a)),M=Math.max(0,Math.floor((i-p)/a)),g=Math.min(u-1,Math.floor((s-p)/a));if(f>b||M>g)return[];let y=[],P=e.stamp,S=++e.epoch;for(let w=M;w<=g;w++){let v=w*c;for(let C=f;C<=b;C++){let I=v+C,R=x[I+1];for(let A=x[I];A<R;A++){let O=m[A];if(P[O]===S)continue;P[O]=S;let T=h[O];if(n.filter&&!n.filter(T.seat.id,T.seat))continue;(l==="center"?T.seat.x>=o&&T.seat.x<=r&&T.seat.y>=i&&T.seat.y<=s:fn(T,o,i,r,s))&&y.push(O)}}}return y.sort((w,v)=>w-v),y.map(w=>h[w].seat.id)}function yn(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,FLOOR_STACK_GAP_RATIO,FLOOR_STACK_MIN_SURFACE_PX,TABLE_SEAT_OFFSET,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,floorStackPlacements,floorsOf,gridStats,hitTest,initialFloorMode,invertAffine,layoutFloorStack,mainFloorId,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,7 +1,8 @@
1
- import { P as Point, t as CubicPath, u as TextObject } from '../../types-DNztpn7q.cjs';
2
- export { C as ChartBoundsOptions, E as ExpandChartOptions, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, a as TableSeatSlot, b as allObjects, c as chartBounds, e as expandBooth, d as expandChart, f as expandRow, g as expandRowSlots, h as expandTable, i as expandTableSlots, j as floorObjects, k as floorOverviewTranslations, l as floorsOf, m as floorsShareFootprint, n as layoutFloorOverview, o as layoutFloorRings, p as objectCenter, q as owningSectionForObject, r as pointInPolygon, s as pointInPolygonWithHoles, t as polygonLabelPoint, u as rowInventoryCount, v as rowSeatPositions, w as stackFloors, x as tableInventoryCount, y as tableSeatCountsBySide, z as translateObject } from '../../layout-BxJIZjPm.cjs';
3
- export { a as SegmentedRowComponent, S as SegmentedRowPlacement, r as resolveSegmentedRowGroups, s as segmentedRowComponentSeats, b as segmentedRowComponents, c as segmentedRowSeatTotal } from '../../segmentedRowModel-BqiM0U65.cjs';
4
- import { E as ExpandedSeat } from '../../renderer-DmG3C8vD.cjs';
1
+ import { P as Point, u as CubicPath, v as TextObject } from '../../types-0yruRsAj.cjs';
2
+ export { F as FloorLabelStyle } from '../../types-0yruRsAj.cjs';
3
+ export { C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO, a as FLOOR_STACK_MIN_SURFACE_PX, b as FloorStackOptions, c as FloorStackPlacement, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, d as TableSeatSlot, e as allObjects, f as chartBounds, g as expandBooth, h as expandChart, i as expandRow, j as expandRowSlots, k as expandTable, l as expandTableSlots, m as floorObjects, n as floorStackPlacements, o as floorsOf, p as initialFloorMode, q as layoutFloorStack, r as mainFloorId, s as objectCenter, t as owningSectionForObject, u as pointInPolygon, v as pointInPolygonWithHoles, w as polygonLabelPoint, x as rowInventoryCount, y as rowSeatPositions, z as stackFloors, A as tableInventoryCount, B as tableSeatCountsBySide, D as translateObject } from '../../layout-e0Qe7jmM.cjs';
4
+ export { a as SegmentedRowComponent, S as SegmentedRowPlacement, r as resolveSegmentedRowGroups, s as segmentedRowComponentSeats, b as segmentedRowComponents, c as segmentedRowSeatTotal } from '../../segmentedRowModel-UO_YIQRB.cjs';
5
+ import { E as ExpandedSeat } from '../../renderer-Duv1HhQg.cjs';
5
6
 
6
7
  type SectionShellMode = 'auto' | 'rectangle' | 'tapered' | 'bezier';
7
8
  declare function cubicPoint(path: CubicPath, t: number): Point;
@@ -1,7 +1,8 @@
1
- import { P as Point, t as CubicPath, u as TextObject } from '../../types-DNztpn7q.js';
2
- export { C as ChartBoundsOptions, E as ExpandChartOptions, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, a as TableSeatSlot, b as allObjects, c as chartBounds, e as expandBooth, d as expandChart, f as expandRow, g as expandRowSlots, h as expandTable, i as expandTableSlots, j as floorObjects, k as floorOverviewTranslations, l as floorsOf, m as floorsShareFootprint, n as layoutFloorOverview, o as layoutFloorRings, p as objectCenter, q as owningSectionForObject, r as pointInPolygon, s as pointInPolygonWithHoles, t as polygonLabelPoint, u as rowInventoryCount, v as rowSeatPositions, w as stackFloors, x as tableInventoryCount, y as tableSeatCountsBySide, z as translateObject } from '../../layout-C6YaCOnZ.js';
3
- export { a as SegmentedRowComponent, S as SegmentedRowPlacement, r as resolveSegmentedRowGroups, s as segmentedRowComponentSeats, b as segmentedRowComponents, c as segmentedRowSeatTotal } from '../../segmentedRowModel-CEP6crcl.js';
4
- import { E as ExpandedSeat } from '../../renderer-DIcDImOu.js';
1
+ import { P as Point, u as CubicPath, v as TextObject } from '../../types-0yruRsAj.js';
2
+ export { F as FloorLabelStyle } from '../../types-0yruRsAj.js';
3
+ export { C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO, a as FLOOR_STACK_MIN_SURFACE_PX, b as FloorStackOptions, c as FloorStackPlacement, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, d as TableSeatSlot, e as allObjects, f as chartBounds, g as expandBooth, h as expandChart, i as expandRow, j as expandRowSlots, k as expandTable, l as expandTableSlots, m as floorObjects, n as floorStackPlacements, o as floorsOf, p as initialFloorMode, q as layoutFloorStack, r as mainFloorId, s as objectCenter, t as owningSectionForObject, u as pointInPolygon, v as pointInPolygonWithHoles, w as polygonLabelPoint, x as rowInventoryCount, y as rowSeatPositions, z as stackFloors, A as tableInventoryCount, B as tableSeatCountsBySide, D as translateObject } from '../../layout-DkDRcXvu.js';
4
+ export { a as SegmentedRowComponent, S as SegmentedRowPlacement, r as resolveSegmentedRowGroups, s as segmentedRowComponentSeats, b as segmentedRowComponents, c as segmentedRowSeatTotal } from '../../segmentedRowModel-BOO8w9Ng.js';
5
+ import { E as ExpandedSeat } from '../../renderer-BNicx5sw.js';
5
6
 
6
7
  type SectionShellMode = 'auto' | 'rectangle' | 'tapered' | 'bezier';
7
8
  declare function cubicPoint(path: CubicPath, t: number): Point;
@@ -1 +1 @@
1
- import{a as X,b as Y,c as Z,d as _,e as $,f as oo,g as ro,h as eo,i as fo,j as mo,k as po,l as to,m as xo}from"../../chunk-WXWJZ5DO.js";import{Aa as N,Ba as O,Ca as P,Da as Q,Ea as R,Fa as S,Ga as T,Ha as U,Ia as V,J as q,Ja as W,K as s,L as u,M 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,ka as w,la as y,ma as z,n as c,na as A,o as d,oa as B,p as g,pa as C,q as h,qa as D,r as i,ra as E,s as j,sa as F,t as k,ta as G,u as l,ua as H,v as n,va as I,wa as J,xa as K,ya as L,za as M}from"../../chunk-X3K36XZM.js";import"../../chunk-CRCGO52K.js";export{X as DEFAULT_SEAT_RADIUS,w as TABLE_SEAT_OFFSET,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,O as allObjects,fo as applyAffine,i as buildAisleHoles,Y as buildSeatIndex,h as buildSectionShell,W as chartBounds,po as composeAffine,ro as createPerspectiveCamera,c as cubicPoint,xo as decomposeAffineLinear,j as distanceToRings,g as distributeAlongCubic,G as expandBooth,V as expandChart,B as expandRow,A as expandRowSlots,F as expandTable,D as expandTableSlots,N as floorObjects,U as floorOverviewTranslations,M as floorsOf,S as floorsShareFootprint,oo as gridStats,Z as hitTest,mo as invertAffine,R as layoutFloorOverview,T as layoutFloorRings,_ as nearestWithin,K as objectCenter,L as owningSectionForObject,to as perspectiveTangentAffine,H as pointInPolygon,I as pointInPolygonWithHoles,k as polygonArea,n as polygonInscribedAnchor,J as polygonLabelPoint,l as polygonNetArea,eo as projectPerspectivePoint,$ as queryRect,v as resolveSegmentedRowGroups,z as rowInventoryCount,y as rowSeatPositions,s as segmentedRowComponentSeats,q as segmentedRowComponents,u as segmentedRowSeatTotal,d as smoothCubicThroughMiddle,Q as stackFloors,E as tableInventoryCount,C as tableSeatCountsBySide,b as textLayoutMetrics,P as translateObject};
1
+ import{a as T,b as U,c as V,d as W,e as X,f as Y,g as Z,h as _,i as $,j as oo,k as ro,l as eo,m as fo,n as mo,o as po,p as to,q as xo,r as ao,s as bo}from"../../chunk-NKYPEBW3.js";import{Aa as N,Ba as O,Ca as P,Da as Q,Ea as R,Fa as S,J as q,K as s,L as u,M 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,ka as w,la as y,ma as z,n as c,na as A,o as d,oa as B,p as g,pa as C,q as h,qa as D,r as i,ra as E,s as j,sa as F,t as k,ta as G,u as l,ua as H,v as n,va as I,wa as J,xa as K,ya as L,za as M}from"../../chunk-KCFEFP6H.js";import"../../chunk-CRCGO52K.js";export{Z as DEFAULT_SEAT_RADIUS,T as FLOOR_STACK_GAP_RATIO,X as FLOOR_STACK_MIN_SURFACE_PX,w as TABLE_SEAT_OFFSET,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,O as allObjects,po as applyAffine,i as buildAisleHoles,_ as buildSeatIndex,h as buildSectionShell,S as chartBounds,xo as composeAffine,fo as createPerspectiveCamera,c as cubicPoint,bo as decomposeAffineLinear,j as distanceToRings,g as distributeAlongCubic,G as expandBooth,R as expandChart,B as expandRow,A as expandRowSlots,F as expandTable,D as expandTableSlots,N as floorObjects,U as floorStackPlacements,M as floorsOf,eo as gridStats,$ as hitTest,Y as initialFloorMode,to as invertAffine,V as layoutFloorStack,W as mainFloorId,oo as nearestWithin,K as objectCenter,L as owningSectionForObject,ao as perspectiveTangentAffine,H as pointInPolygon,I as pointInPolygonWithHoles,k as polygonArea,n as polygonInscribedAnchor,J as polygonLabelPoint,l as polygonNetArea,mo as projectPerspectivePoint,ro as queryRect,v as resolveSegmentedRowGroups,z as rowInventoryCount,y as rowSeatPositions,s as segmentedRowComponentSeats,q as segmentedRowComponents,u as segmentedRowSeatTotal,d as smoothCubicThroughMiddle,Q as stackFloors,E as tableInventoryCount,C as tableSeatCountsBySide,b as textLayoutMetrics,P as translateObject};
@@ -1,7 +1,7 @@
1
- import { A as AccessibilityType } from '../../types-DNztpn7q.cjs';
1
+ import { A as AccessibilityType } from '../../types-0yruRsAj.cjs';
2
2
  import { contrastRatioOrNull } from '../color.cjs';
3
- export { R as RENDERED_QUALITY_REPORT_VERSION, a as RenderedEvidenceState, b as RenderedQualityFinding, c as RenderedQualityFindingCode, d as RenderedQualityReport, e as RenderedQualitySample, i as inspectRenderedQualityEvidence } from '../../renderedQuality-CgBQYezj.cjs';
4
- import '../../renderer-DmG3C8vD.cjs';
3
+ export { R as RENDERED_QUALITY_REPORT_VERSION, a as RenderedEvidenceState, b as RenderedQualityFinding, c as RenderedQualityFindingCode, d as RenderedQualityReport, e as RenderedQualitySample, i as inspectRenderedQualityEvidence } from '../../renderedQuality-BaejczsK.cjs';
4
+ import '../../renderer-Duv1HhQg.cjs';
5
5
 
6
6
  /**
7
7
  * Rendering constants that quality inspection must agree with.
@@ -1,7 +1,7 @@
1
- import { A as AccessibilityType } from '../../types-DNztpn7q.js';
1
+ import { A as AccessibilityType } from '../../types-0yruRsAj.js';
2
2
  import { contrastRatioOrNull } from '../color.js';
3
- export { R as RENDERED_QUALITY_REPORT_VERSION, a as RenderedEvidenceState, b as RenderedQualityFinding, c as RenderedQualityFindingCode, d as RenderedQualityReport, e as RenderedQualitySample, i as inspectRenderedQualityEvidence } from '../../renderedQuality-CWwy14lb.js';
4
- import '../../renderer-DIcDImOu.js';
3
+ export { R as RENDERED_QUALITY_REPORT_VERSION, a as RenderedEvidenceState, b as RenderedQualityFinding, c as RenderedQualityFindingCode, d as RenderedQualityReport, e as RenderedQualitySample, i as inspectRenderedQualityEvidence } from '../../renderedQuality-BwwrqYzX.js';
4
+ import '../../renderer-BNicx5sw.js';
5
5
 
6
6
  /**
7
7
  * Rendering constants that quality inspection must agree with.
@@ -1,4 +1,4 @@
1
- import { C as ChartDoc, F as Floor, n as ChartReferenceImage, a as SeatGlyphKind, o as Category, p as ShapeLineCap, q as ShapeLineEnding, r as ShapeLineJoin, s as ShapeObject } from '../../types-DNztpn7q.cjs';
1
+ import { C as ChartDoc, l as Floor, o as ChartReferenceImage, d as SeatGlyphKind, p as Category, q as ShapeLineCap, r as ShapeLineEnding, s as ShapeLineJoin, t as ShapeObject } from '../../types-0yruRsAj.cjs';
2
2
 
3
3
  type BackgroundOwner = Pick<ChartDoc, 'referenceImage' | 'backgroundImage'> | Pick<Floor, 'referenceImage' | 'backgroundImage'>;
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { C as ChartDoc, F as Floor, n as ChartReferenceImage, a as SeatGlyphKind, o as Category, p as ShapeLineCap, q as ShapeLineEnding, r as ShapeLineJoin, s as ShapeObject } from '../../types-DNztpn7q.js';
1
+ import { C as ChartDoc, l as Floor, o as ChartReferenceImage, d as SeatGlyphKind, p as Category, q as ShapeLineCap, r as ShapeLineEnding, s as ShapeLineJoin, t as ShapeObject } from '../../types-0yruRsAj.js';
2
2
 
3
3
  type BackgroundOwner = Pick<ChartDoc, 'referenceImage' | 'backgroundImage'> | Pick<Floor, 'referenceImage' | 'backgroundImage'>;
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { h as ResolvedSeatConfidenceEvidence } from '../types-DNztpn7q.cjs';
1
+ import { c as ResolvedSeatConfidenceEvidence } from '../types-0yruRsAj.cjs';
2
2
 
3
3
  interface SeatConfidenceDisclosure {
4
4
  headline: string;
@@ -1,4 +1,4 @@
1
- import { h as ResolvedSeatConfidenceEvidence } from '../types-DNztpn7q.js';
1
+ import { c as ResolvedSeatConfidenceEvidence } from '../types-0yruRsAj.js';
2
2
 
3
3
  interface SeatConfidenceDisclosure {
4
4
  headline: string;
@@ -1 +1 @@
1
- "use strict";var ae=Object.defineProperty;var st=Object.getOwnPropertyDescriptor;var ct=Object.getOwnPropertyNames;var at=Object.prototype.hasOwnProperty;var lt=(e,t)=>{for(var n in t)ae(e,n,{get:t[n],enumerable:!0})},ut=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ct(t))!at.call(e,r)&&r!==n&&ae(e,r,{get:()=>t[r],enumerable:!(o=st(t,r))||o.enumerable});return e};var ft=e=>ut(ae({},"__esModule",{value:!0}),e);var vn={};lt(vn,{DEFAULT_SECTION_CORNER_SMOOTHING:()=>Be,MAX_EDGE_SAGITTA_RATIO:()=>Ue,TIER_HEIGHT_M:()=>Se,UNGROUPED_ID:()=>ce,applyHidden:()=>wn,arcLevelAt:()=>Pt,bearingDeg:()=>Re,buildSectionRake:()=>kt,computeSections:()=>ot,cornerSmoothingThresholdDeg:()=>Ge,distanceToPolyline:()=>ue,fitBowlProfile:()=>vt,fitCircle:()=>ee,hiddenObjectIds:()=>it,indexLabel:()=>Oe,isSectionHidden:()=>rt,logicalNumberingRow:()=>De,relabelRows:()=>Rt,resolveSection:()=>yt,reverseSectionOutlinePath:()=>en,sampleSectionOutlinePath:()=>Wt,seatConfidenceDisclosure:()=>Gt,seatDisplayLabel:()=>pe,seatInventoryLabel:()=>he,seatLabelPart:()=>ie,sectionCornerSmoothingPath:()=>Jt,sectionGeometry:()=>We,sectionOutlinePathFrom:()=>He,sectionPathSegmentEnd:()=>$t,toBijectiveBase:()=>fe,toLetters:()=>oe,toRoman:()=>de,transformSectionOutlinePath:()=>Fe,translateSectionOutlinePath:()=>Xt,validSectionOutlinePath:()=>ye});module.exports=ft(vn);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 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],u=s.x-i.x,f=s.y-i.y,m=u*u+f*f,c=m>1e-12?((t-i.x)*u+(n-i.y)*f)/m:0;c<0?c=0:c>1&&(c=1);let b=Math.hypot(t-(i.x+c*u),n-(i.y+c*f));b<o&&(o=b)}return o}function dt(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 Ae(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 Ie(e)){let r=ue(t,o.x,o.y);r<n&&(n=r)}for(let o of Ie(t)){let r=ue(e,o.x,o.y);r<n&&(n=r)}return n}function ht(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,u=i.y-o,f=Math.hypot(s,u);f>1e-9?(s/=f,u/=f):(s=1,u=0);let m=e.map((c,b)=>({p:c,i:b,t:(c.x-n)*s+(c.y-o)*u})).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 x of e)n+=x.x,o+=x.y;n/=t,o/=t;let r=0,i=0,s=0,u=0,f=0,m=0,c=0;for(let x of e){let y=x.x-n,a=x.y-o;r+=y*y,s+=a*a,i+=y*a,u+=y*y*y,f+=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=(u+m)/2,l=(f+c)/2,p=(d*s-l*i)/b,A=(l*r-d*i)/b,h=p+n,g=A+o;return!Number.isFinite(h)||!Number.isFinite(g)?null:{cx:h,cy:g}}var pt=.15;function mt(e){if(e.length<2)return null;let t=e.map(x=>{let y=0,a=0;for(let I of x.pts)y+=I.x,a+=I.y;return{x:y/x.pts.length,y:a/x.pts.length}}),n=0,o=0;for(let x of t)n+=x.x,o+=x.y;n/=t.length,o/=t.length;let r=0,i=0,s=0;for(let x of t){let y=x.x-n,a=x.y-o;r+=y*y,i+=y*a,s+=a*a}let u=r+s,f=r*s-i*i,m=u/2+Math.sqrt(Math.max(0,u*u/4-f)),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 x of e){let y=1/0,a=-1/0;for(let I of x.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((x,y)=>x-y),A[Math.min(A.length-1,Math.floor(A.length*.9))]/h<=bt?{x:c,y:b}:null):null}var bt=.35;function yt(e,t,n,o){let r=new Map;for(let h of n){let g=t[h],x=g.rowId||`__seat-${h}`,y=r.get(x);y||(y={pts:[],idx:[]},r.set(x,y)),y.pts.push({x:g.x,y:g.y}),y.idx.push(h)}if(!r.size)return{sectionId:e,rows:[],blockCount:0};let i=[];for(let[h,g]of r){let x=ht(g.pts,g.idx),y=0;for(let a of x.pts)y+=Math.hypot(a.x-o.x,a.y-o.y);i.push({id:h,pts:x.pts,seatIndices:x.seatIndices,blockId:-1,ordinal:0,blockDepth:0,focalDistance:y/x.pts.length})}let s=i.map(h=>dt(h.pts)),u=[];for(let h=0;h<i.length;h++){let g=1/0;for(let x=0;x<i.length;x++){if(h===x||Ae(s[h],s[x])>=g)continue;let y=le(i[h].pts,i[x].pts);y<g&&(g=y)}Number.isFinite(g)&&u.push(g)}u.sort((h,g)=>h-g);let f=u.length?u[Math.floor(u.length/2)]:1,m=Math.max(f*1.8,1e-6),c=i.map(()=>[]);for(let h=0;h<i.length;h++)for(let g=h+1;g<i.length;g++)Ae(s[h],s[g])>m||le(i[h].pts,i[g].pts)<=m&&(c[h].push(g),c[g].push(h));let b=0;for(let h=0;h<i.length;h++){if(i[h].blockId!==-1)continue;let g=b++,x=[h];for(i[h].blockId=g;x.length;){let y=x.pop();for(let a of c[y])i[a].blockId===-1&&(i[a].blockId=g,x.push(a))}}let d=new Map;for(let h of i){let g=d.get(h.blockId)??[];g.push(h),d.set(h.blockId,g)}let l=[];for(let h of i){if(h.pts.length<4)continue;let g=ee(h.pts);g&&(!Number.isFinite(g.cx)||!Number.isFinite(g.cy)||l.push({x:g.cx,y:g.cy}))}let p=l.length>=2?(()=>{let h=l.map(y=>y.x).sort((y,a)=>y-a),g=l.map(y=>y.y).sort((y,a)=>y-a),x=Math.floor(l.length/2);return{cx:h[x],cy:g[x]}})():null;if(p){let h=S=>Math.hypot(S.x-p.cx,S.y-p.cy),g=1/0,x=-1/0,y=[];for(let S of i){let C=1/0,_=-1/0;for(let L of S.pts){let U=h(L);U<C&&(C=U),U>_&&(_=U)}y.push(_-C),C<g&&(g=C),_>x&&(x=_)}let a=x-g;y.sort((S,C)=>S-C);let I=y[Math.min(y.length-1,Math.floor(y.length*.9))];if(a>1e-9&&I/a<=pt){let S=i.map(v=>{let D=0;for(let V of v.pts)D+=h(V);return{row:v,radius:D/v.pts.length}}),C=0,_=0;for(let v of S)C+=v.radius,_+=v.row.focalDistance;C/=S.length,_/=S.length;let L=0;for(let v of S)L+=(v.radius-C)*(v.row.focalDistance-_);if(L<0)for(let v of S)v.radius=-v.radius;let H=1/0;for(let v of S)v.radius<H&&(H=v.radius);S.sort((v,D)=>v.radius-D.radius);let J=-1,M=-1/0,P=a/Math.max(1,S.length)*.5,O=[];for(let v of S)v.radius-M>P&&(J++,M=v.radius),v.row.ordinal=J,v.row.blockDepth=v.radius-H,O.push(v.row);return{sectionId:e,rows:O,blockCount:b}}}let A=[];for(let[,h]of d){let g=mt(h);if(g){let x=a=>{let I=0;for(let S of a.pts)I+=S.x*g.x+S.y*g.y;return I/a.pts.length};h.sort((a,I)=>x(a)-x(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 x=1/0;for(let y of h)y.focalDistance<x&&(x=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-x),A.push(h[y])}}return{sectionId:e,rows:A,blockCount:b}}var gt=Math.PI/180,R=96,xt=6,St=60,Mt=150,Ce=.2,wt=.35;function Re(e,t){let n=Math.atan2(t.x-e.x,t.y-e.y)/gt;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,u=0;for(let f=-n;f<=n;f++){let m=i+f;if(t)m=(m%o+o)%o;else if(m<0||m>=o)continue;s+=e[m],u++}r[i]=s/u}return r}function vt(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 u={x:r/s,y:i/s},f=u;if(o.length>=8){let d=te(o.map(g=>g.x)),l=te(o.map(g=>g.y)),p=0;for(let g of n)for(let x of g.rows)for(let y of x.pts){let a=Math.hypot(y.x-u.x,y.y-u.y);a>p&&(p=a)}let A=0,h=p*.2;for(let g of n)for(let x of g.rows)for(let y of x.pts)Math.hypot(y.x-d,y.y-l)<h&&A++;Math.hypot(d-u.x,l-u.y)<=p&&A/s<.01&&(f={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-f.x,A.y-f.y),g=Math.min(R-1,Math.floor(Re(f,A)/(360/R)));l.samples.push({r:h,bin:g,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>=wt*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(R).fill(null);for(let M of d.members)for(let P of M.samples){let O=l[P.bin];O||(O={samples:[]},l[P.bin]=O),O.samples.push({r:P.r,levelM:P.levelM})}let p=l.map(M=>!!M);if(!p.filter(Boolean).length)continue;let h=[],g=[];for(let M of l){if(!M)continue;let P=1/0,O=-1/0;for(let v of M.samples)v.r<P&&(P=v.r),v.r>O&&(O=v.r);h.push(P),g.push(O)}let x=te(h),y=te(g);if(!(x>=Ce*y)||!(y>0))continue;let a=[...h].sort((M,P)=>M-P);if(!(a[Math.floor(a.length*.1)]>=Ce*y))continue;let S=l.map(M=>{if(!M)return null;let P=[...M.samples].sort((k,N)=>k.r-N.r),O=P[0].r,v=P[P.length-1].r,D=P[0].levelM,V=-1/0;for(let k of P)k.levelM>V&&(V=k.levelM);let E=[];for(let k of P){let N={r:k.r,l:k.levelM};for(;E.length&&Math.abs(E[E.length-1].r-N.r)<1e-9;){if(E[E.length-1].l<=N.l){N.skip=!0;break}E.pop()}if(!N.skip){for(;E.length>=2;){let $=E[E.length-2],K=E[E.length-1];if((K.r-$.r)*(N.l-$.l)-(K.l-$.l)*(N.r-$.r)<=0)E.pop();else break}E.push(N)}}let B=E.map(k=>k.r),G=E.map(k=>k.l);return{inner:O,outer:v,front:D,top:V,profile:{rs:B,ls:G}}}),C=p.slice();for(let M=0;M<R;M++){if(C[M])continue;let P=-1,O=-1,v=0;for(let w=1;w<=R;w++){let T=(M-w+R*2)%R;if(C[T]){P=T;break}}for(let w=1;w<=R;w++){let T=(M+w)%R;if(C[T]){O=T,v=w;break}}if(P<0||O<0)continue;let D=0;for(let w=1;w<=R;w++){let T=(M-w+R*2)%R;if(p[T]){D=w;break}}if(D-1+v>xt)continue;let E=S[P],B=S[O],G=D/(D+v),k=E.inner+(B.inner-E.inner)*G,N=E.outer+(B.outer-E.outer)*G,$=E.front+(B.front-E.front)*G,K=E.top+(B.top-E.top)*G;S[M]={inner:k,outer:N,front:$,top:K,profile:{rs:[k,N],ls:[$,K]}}}for(let M=0;M<R;M++)S[M]&&(C[M]=!0);let _=360/R,L=[],U=C.filter(Boolean).length,H=[];if(U===R)H.push({start:0,len:R});else{let M=0;for(;C[M];)M=(M+1)%R;let P=-1;for(let O=0;O<=R;O++){let v=(M+O)%R,D=O<R&&C[v];if(D&&P<0)P=v;else if(!D&&P>=0){let V=(v-P+R)%R||R;H.push({start:P,len:V}),P=-1}}}for(let M of H){if(M.len*_<St&&M.len<R)continue;let P=M.len===R,O=new Float64Array(M.len),v=new Float64Array(M.len),D=new Float64Array(M.len),V=new Float64Array(M.len),E=[];for(let w=0;w<M.len;w++){let T=S[(M.start+w)%R];O[w]=T.inner,v[w]=T.outer,D[w]=T.front,V[w]=T.top,E.push(T.profile??{rs:[T.inner,T.outer],ls:[T.front,T.top]})}let B=ne(O,P),G=ne(v,P),k=ne(D,P),N=ne(V,P);for(let w=0;w<M.len;w++)B[w]>O[w]&&(B[w]=O[w]),G[w]<v[w]&&(G[w]=v[w]),B[w]>G[w]-1e-6&&(B[w]=Math.max(0,G[w]-1e-6)),N[w]<k[w]&&(N[w]=k[w]);let $={startBin:M.start,binCount:M.len,closed:P,innerR:B,outerR:G,frontLevelM:k,topLevelM:N,profiles:E},K=(w,T,F)=>{let Q=E[w],W=Q.rs,z=Q.ls;if(T<=W[0]){z[0]>F&&(z[0]=F);return}if(T>=W[W.length-1]){z[z.length-1]>F&&(z[z.length-1]=F);return}for(let X=0;X+1<W.length;X++)if(T<=W[X+1]){z[X]>F&&(z[X]=F),z[X+1]>F&&(z[X+1]=F);return}};for(let w=0;w<M.len;w++){let T=l[(M.start+w)%R];if(T)for(let F of T.samples){K(w,F.r,F.levelM);let Q=P?(w-1+M.len)%M.len:w-1,W=P?(w+1)%M.len:w+1;Q>=0&&K(Q,F.r,F.levelM),W<M.len&&K(W,F.r,F.levelM)}}L.push($)}L.reduce((M,P)=>M+P.binCount*_,0)<Mt||b.push({arcs:L,sectionIds:d.members.map(M=>M.sectionId),innerRMedian:x,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-f.x,t.y-f.y)>.9*d)return null}return{centre:f,binCount:R,binStepDeg:360/R,rings:b}}function Pt(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),u=t.closed?(s+1)%t.binCount:Math.min(t.binCount-1,s+1),f=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-f)+m(u)*f}var Ee="ABCDEFGHIJKLMNOPQRSTUVWXYZ",It="ABCDEFGHJKLMNPQRSTUVWXYZ",At="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?It:Ee;return fe(o,r)}function oe(e,t=!1){let n=t?At:Ee;return fe(Math.max(0,Math.floor(e)-1),n)}var Ct=[[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 Ct)for(;t>=o;)n+=r,t-=o;return n}function Rt(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 Et(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 Ot(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],u=-1;for(let l of e){let p=Math.hypot(l.x-n,l.y-o);p>u&&(u=p,s=l)}let f=s.x-n,m=s.y-o,c=Math.hypot(f,m);c>1e-9?(f/=c,m/=c):(f=1,m=0);let b=[...e].sort((l,p)=>(l.x-n)*f+(l.y-o)*m-((p.x-n)*f+(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 Te(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],u=o[i+1],f=u.x-s.x,m=u.y-s.y,c=f*f+m*m,b=c>1e-12?((t-s.x)*f+(n-s.y)*m)/c:0;b<0?b=0:b>1&&(b=1);let d=Math.hypot(t-(s.x+b*f),n-(s.y+b*m));d<r&&(r=d)}return r}var re=8;function Tt(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=Te(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 u=i[0]*2.2,f=0,m=0;for(let c=0;c<3;c++){let b=s[c];if(b<0||i[c]>u)continue;let d=1/(i[c]*i[c]);f+=d*e[b].depth,m+=d}return m>0?f/m:e[s[0]].depth}function _t(e){let t=(o,r)=>Tt(e,o,r),n=(o,r)=>{let i=1/0,s=-1;for(let u=0;u<e.length;u++){let f=e[u];if(Math.hypot(o-f.cx,r-f.cy)-f.radius>=i)continue;let m=Te(f,o,r);m<i&&(i=m,s=u)}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),u=Math.hypot(i,s);return u<1e-9?[0,0]:[i/u,s/u]}}}function kt(e,t){let n=[];for(let o of e){let r=Ot(o.points,t);r&&n.push(r)}return n.length<2?Et(t):(n.sort((o,r)=>o.depth-r.depth),_t(n))}var Dt=/^\d{4}-\d{2}-\d{2}$/;function jt(e){let t=Date.parse(e);return Number.isFinite(t)?Dt.test(e)?t+864e5:t:null}function _e(e,t=Date.now()){if(e.validUntil===void 0){if(e.status!=="approved")return!0;let o=e.assessedAt?Date.parse(e.assessedAt):Number.NaN;return Number.isFinite(o)&&(t instanceof Date?t.getTime():t)<=o+366*864e5}let n=jt(e.validUntil);return n===null?!1:(t instanceof Date?t.getTime():t)<n}function ke(e){return e.status!=="draft"&&e.status!=="retracted"}function Lt(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 Nt(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 Ft(){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 current organizer-approved evidence matches this Event, venue revision, or renewal window",limitations:["Generated view is not surveyed sightline truth."]}}function Bt(e){let t=Nt(e.assessedAt);if(!e.validUntil)return t;let n=Date.parse(e.validUntil);return Number.isFinite(n)?`${t} \xB7 valid until ${e.validUntil.slice(0,10)}`:t}function Gt(e,t={}){if(!e||!ke(e)||!_e(e,t.now))return Ft();let n=e.evidenceKind==="synthetic-model",o=e.modelLevel==="configuration-verified"?"Event configuration verified":e.modelLevel==="geometry-verified"?"Venue geometry verified":n?"Versioned synthetic model":"Generated model \xB7 not verified",r=e.realityLevel==="actual-build-checked"?"Actual event build reality checked":e.realityLevel==="comparable-build-reference"?"Comparable-build reference only":"No real-world check supplied",i=n?"Synthetic model evidence":e.modelLevel==="configuration-verified"?"Configuration verified":e.modelLevel==="geometry-verified"?"Geometry verified":"Generated view \xB7 unverified",s=[...e.limitations??[],...n?["Synthetic demo; not surveyed or venue-certified."]:[]],u=e.modeledTarget?`${e.modeledTarget.label} \xB7 ${e.modeledTarget.clearRayCount}/${e.modeledTarget.totalRayCount} target rays clear \xB7 ${e.modeledTarget.classification} in bounded model \xB7 ${e.modeledTarget.methodLabel}`+(e.modeledTarget.occluderLabels?.length?` \xB7 modeled occluders: ${e.modeledTarget.occluderLabels.join(", ")}`:""):void 0;return u&&s.push("Modeled target is not a percentage of the show visible."),{headline:i,model:o,reality:r,coverage:Lt(e.coverage),provenance:e.sourceLabel??e.approvedByRole??"Source not supplied",freshness:Bt(e),limitations:s,...u?{modeledTarget:u}:{}}}function Ut(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??"",u=e.seatNumbering?.endAt,f=e.seatCount;if(i==="updown"||i==="updown-descending"){let l=Math.ceil(f/2),p=i==="updown"?t<l?n+2*t:n-1+2*(f-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=u!=null&&Number.isFinite(u)?u-(f-1)*m:n,b=o==="center"?Ut(f)[t]:o==="rtl"?f-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 De(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=De(n),i=n.displayOffset+t;return`${n.displayLabel}-${ie(r,i)}`}function Ht(e,t,n){return Math.max(t,Math.min(n,e))}function Vt(e){return Ht(e,0,1)}function je(e){let t=Vt(e);return t*t*(3-2*t)}var Ln=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 zt(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 $t(e){return e.end}function ye(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 Kt(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 Wt(e,t=2){if(!ye(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),u=Math.atan2(i.end.y-i.center.y,i.end.x-i.center.x),f=zt(s,u,i.clockwise),m=Math.max(2,Math.ceil(Math.abs(f)*i.radius/n));for(let c=1;c<=m;c+=1){let b=s+f*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),u=Math.max(2,Math.ceil(s/n));for(let f=1;f<=u;f+=1)o.push(Kt(r,i,f/u))}r=i.end}return j(o[o.length-1],o[0])<=1e-4&&o.pop(),o}function Xt(e,t,n){return Fe(e,r=>({x:r.x+t,y:r.y+n}))}function Fe(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 Be=45,be=150,Yt=60;function Ge(e){let t=Be/100;if(e<=t)return be;let n=Math.min(1,(e-t)/(1-t));return be-n*(be-Yt)}var Le=.5523;function Ne(e,t){return Math.abs(e.x-t.x)<=1e-6&&Math.abs(e.y-t.y)<=1e-6}function qt(e){let t=[],n=[];for(e.forEach((o,r)=>{q(o)&&(t.length&&Ne(t[t.length-1],o)||(t.push({x:o.x,y:o.y}),n.push(r)))});t.length>1&&Ne(t[0],t[t.length-1]);)t.pop(),n.pop();return{points:t,sourceIndex:n}}function Jt(e,t,n){return He(e,{cornerSmoothing:t,...n})}var Ue=.5,Qt=4/3;function Zt(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,u=o/i,f=n*Qt;return{kind:"bezier",control1:{x:e.x+o/3+s*f,y:e.y+r/3+u*f},control2:{x:e.x+o*2/3+s*f,y:e.y+r*2/3+u*f},end:{...t}}}function He(e,t){let{points:n,sourceIndex:o}=qt(e),r=n.length;if(r<3)return null;let i=Math.min(100,Math.max(0,t.cornerSmoothing??0))/100,s=t.edgeCurvature,u=new Array(r).fill(0);if(s?.length)for(let a=0;a<r;a+=1){let I=s[o[a]];u[a]=Number.isFinite(I)?Math.min(100,Math.max(-100,I))/100:0}let f=u.some(a=>Math.abs(a)>1e-6);if(i<=0&&!f)return null;let m=t.wideAngleThresholdDeg??Ge(i),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],C=n[(a+1)%r],_={x:I.x-S.x,y:I.y-S.y},L={x:C.x-S.x,y:C.y-S.y},U=Math.hypot(_.x,_.y),H=Math.hypot(L.x,L.y);if(U<=1e-9||H<=1e-9)continue;let J=Math.min(1,Math.max(-1,(_.x*L.x+_.y*L.y)/(U*H))),M=Math.acos(J)*180/Math.PI;if(M<m)continue;let P=je((M-m)/(180-m));b[a]=i*P*.5*Math.min(U,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 C=c[a]/S;b[a]*=C,b[I]*=C}}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],C=n[(a+1)%r];if(b[a]<=1e-6){d[a]={...S},l[a]={...S};continue}let _=j(S,I)||1,L=j(S,C)||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+(C.x-S.x)/L*b[a],y:S.y+(C.y-S.y)/L*b[a]}}if(b.every(a=>a<=1e-6)&&!f)return null;let p=[],A={...l[0]},h=A,g=(a,I)=>{if(j(h,a)<=1e-9)return;let S=u[I];Math.abs(S)>1e-6?p.push(Zt(h,a,S*Ue*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];g(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,Le),control2:me(l[I],S,Le),end:{...l[I]}}),h=l[I])}if(!p.length)return null;let x=p[p.length-1];j(x.end,A)>1e-9&&(x.kind==="line"?x.end={...A}:p.push({kind:"line",end:{...A}}));let y={version:1,closed:!0,start:A,segments:p};return ye(y)?y:null}function en(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 Ve(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 ze(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[Ve(e,.5)];let o=Array.from({length:n+1},(f,m)=>Ve(e,m/n)),r=new Float64Array(o.length);for(let f=1;f<o.length;f+=1){let m=o[f].x-o[f-1].x,c=o[f].y-o[f-1].y;r[f]=r[f-1]+Math.hypot(m,c)}let i=r[r.length-1];if(i<=1e-9)return Array.from({length:t},()=>({...e.start}));let s=[],u=1;for(let f=0;f<t;f+=1){let m=i*f/(t-1);for(;u<r.length-1&&r[u]<m;)u+=1;let c=r[u-1],b=r[u],d=b===c?0:(m-c)/(b-c);s.push({x:o[u-1].x+(o[u].x-o[u-1].x)*d,y:o[u-1].y+(o[u].y-o[u-1].y)*d})}return s}var Ke=.02291666666666667,Hn=1/Ke,tn=58,Se=tn*Ke;var nn=3,$e=0,ge=120,on=0,rn=45,sn=7;function xe(e,t,n,o){return Number.isFinite(e)?Math.max(t,Math.min(n,e)):o}function cn(e){return!Number.isFinite(e)||!Number.isInteger(e)||e<0?0:e<=sn?e:nn}function We(e,t={}){let n=xe(t.floorBaseHeightM,$e,ge,0),o=Math.min(ge,n+cn(e.elevation)*Se),r=e.height===void 0?o:xe(e.height,$e,ge,o),i=xe(e.rake,on,rn,0);return{height:r,rake:i}}function Je(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 an(e){let{seatCount:t,seatSpacing:n,curve:o,rotation:r,origin:i}=e,s=[];if(e.path)return ze(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 u=o/(t-1)*se,f=n/(2*Math.sin(Math.abs(u)/2));for(let m=0;m<t;m++){let c=m*u,b=f*Math.sin(c),d=-f+f*Math.cos(c);s.push(we(b,d,r,i))}return s}function ln(e){let t=new Map;if(e.overrides)for(let n of e.overrides)t.set(n.index,n);return t}function un(e,t){let n=ln(e);return an(e).map((o,r)=>{let i=n.get(r),s=Je(i),u=he(e,r,i),f={...e.commercial,...i?.commercial};return{index:r,x:o.x+(i?.dx??0),y:o.y+(i?.dy??0),label:u,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(f).some(m=>m!==void 0&&m!==!1&&m!=="")?f:void 0,glyph:i?.glyph,viewUrl:i?.viewFromSeatUrl??e.viewFromSeatUrl,viewMeta:i?.viewFromSeatUrl?i.viewFromSeatMeta:e.viewFromSeatMeta,labelStyle:i?.labelStyle}})}function ve(e){let t=[];for(let n of un(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,glyph:n.glyph,viewUrl:n.viewUrl,viewMeta:n.viewMeta,labelStyle:n.labelStyle});return t}function fn(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 dn(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=Je(p),h=p?.label??`${e.label}-${c+1}`,g=e.displayLabel??e.label;return{index:c,label:h,displayLabel:p?.displayLabel??`${g}-${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,glyph:p?.glyph,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 g=b+h/n*2*Math.PI;t.push(r(h,e.center.x+c*Math.cos(g),e.center.y+c*Math.sin(g)))}return t}let l=d*se,p=(2*Math.PI-l)/2,A=b+p;for(let h=0;h<n;h++){let g=A+h/(n-1)*l;t.push(r(h,e.center.x+c*Math.cos(g),e.center.y+c*Math.sin(g)))}return t}let i=e.width??80,s=e.height??50,u=fn(e),f=["top","bottom","left","right"],m=0;for(let c of f){let b=u[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 Qe(e){return dn(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.glyph?{glyph:t.glyph}:{},...t.viewUrl?{viewUrl:t.viewUrl}:{},...t.viewUrl&&t.viewMeta?{viewMeta:t.viewMeta}:{},...t.labelStyle?{labelStyle:t.labelStyle}:{}}))}function Ze(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 Xe(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,u=t[r].x,f=t[r].y;s>e.y!=f>e.y&&e.x<(u-i)*(e.y-s)/(f-s)+i&&(n=!n)}return n}function hn(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),u=(r.x-n.x)**2+(r.y-n.y)**2;return s>=-1e-7&&s<=u+1e-7})}function Ye(e,t,n){return Xe(e,t)&&!(n??[]).some(o=>Xe(e,o)||hn(e,o))}function Me(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 pn(e){switch(e.type){case"row":{let t=ve(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 Me(e.points);case"section":return Me(e.outline);case"text":return{x:e.position.x,y:e.position.y};case"shape":return e.points&&e.points.length?Me(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 qe(e,t){return e.length===t.length&&e.every((n,o)=>n.x===t[o].x&&n.y===t[o].y)}function mn(e,t){if(e.type!=="gaArea"||!qe(e.points,t.outline))return!1;let n=e.holes??[],o=t.holes??[];return n.length===o.length&&n.every((r,i)=>qe(r,o[i]))}function et(e,t){let n=e.filter(s=>s.type==="section"),o="referenceInventorySource"in t?t.referenceInventorySource?.logicalSectionId:void 0,r=pn(t);return(o?n.find(s=>(s.logicalSectionId??s.id)===o&&(mn(t,s)||Ye(r,s.outline,s.holes))):void 0)??n.find(s=>Ye(r,s.outline,s.holes))}function tt(e){return e.floors&&e.floors.length?e.floors.flatMap(t=>t.objects):e.objects}var bn="__sl_ga__",Pe=1e5;function yn(e,t){return`${bn}${encodeURIComponent(e)}__${t+1}`}function gn(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(u=>r.startIndex<u.end&&s>u.start))return!1;i.push({start:r.startIndex,end:s}),o.set(r.sourceAreaId,i)}return n===e.capacity}function xn(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}]:[]:gn(e)?e.inventorySegments.map(n=>({...n})):[]}function nt(e){return xn(e).flatMap(t=>Array.from({length:t.count},(n,o)=>yn(t.sourceAreaId,t.startIndex+o)))}var ce="__ungrouped__";function Sn(e){return e.type==="row"?ve(e).map(t=>t.label):e.type==="table"?Qe(e).map(t=>t.label):e.type==="booth"?Ze(e).map(t=>t.label):e.type==="gaArea"?nt(e):[]}function Mn(e){return e.type==="row"||e.type==="table"||e.type==="booth"||e.type==="gaArea"}function ot(e){let t=tt(e),n=t.filter(s=>s.type==="section"),o=new Map;for(let s of n){let u=s.logicalSectionId??s.id;o.get(u)||o.set(u,{id:u,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(!Mn(s))continue;let u=Sn(s);if(u.length===0)continue;let f=et(t,s),m=f?o.get(f.logicalSectionId??f.id):r;m.seatCount+=u.length,m.objectIds.push(s.id),m.seatLabels.push(...u),i.set(s.id,m.id)}return{sections:[...o.values()],ungrouped:r.objectIds.length?r:null,objectToSection:i}}function rt(e,t){return t.has(e.id)||!!e.logicalSectionId&&t.has(e.logicalSectionId)||!!e.zone&&t.has(e.zone)}function it(e,t){let n=new Set;if(!t.size)return n;let{sections:o,ungrouped:r,objectToSection:i}=ot(e),s=new Set,u=new Map(o.map(m=>[m.id,m.zone]));for(let m of o){let c=u.get(m.id);(t.has(m.id)||c&&t.has(c))&&s.add(m.id)}let f=!!r&&t.has(ce);for(let[m,c]of i)(s.has(c)||f&&c===ce)&&n.add(m);return n}function wn(e,t){if(!t.size)return e;let n=it(e,t),o=t instanceof Set?t:new Set(t),r=s=>!(n.has(s.id)||s.type==="section"&&rt(s,o));if(e.floors&&e.floors.length){let s=!1,u=e.floors.map(f=>{let m=f.objects.filter(r);return m.length!==f.objects.length&&(s=!0),m.length===f.objects.length?f:{...f,objects:m}});return s?{...e,floors:u,objects:u[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,cornerSmoothingThresholdDeg,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 st=Object.getOwnPropertyDescriptor;var ct=Object.getOwnPropertyNames;var at=Object.prototype.hasOwnProperty;var lt=(e,t)=>{for(var n in t)ae(e,n,{get:t[n],enumerable:!0})},ut=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ct(t))!at.call(e,r)&&r!==n&&ae(e,r,{get:()=>t[r],enumerable:!(o=st(t,r))||o.enumerable});return e};var ft=e=>ut(ae({},"__esModule",{value:!0}),e);var vn={};lt(vn,{DEFAULT_SECTION_CORNER_SMOOTHING:()=>Be,MAX_EDGE_SAGITTA_RATIO:()=>Ue,TIER_HEIGHT_M:()=>Se,UNGROUPED_ID:()=>ce,applyHidden:()=>Mn,arcLevelAt:()=>Pt,bearingDeg:()=>Re,buildSectionRake:()=>kt,computeSections:()=>ot,cornerSmoothingThresholdDeg:()=>Ge,distanceToPolyline:()=>ue,fitBowlProfile:()=>vt,fitCircle:()=>ee,hiddenObjectIds:()=>it,indexLabel:()=>Oe,isSectionHidden:()=>rt,logicalNumberingRow:()=>De,relabelRows:()=>Rt,resolveSection:()=>yt,reverseSectionOutlinePath:()=>en,sampleSectionOutlinePath:()=>Wt,seatConfidenceDisclosure:()=>Gt,seatDisplayLabel:()=>he,seatInventoryLabel:()=>pe,seatLabelPart:()=>ie,sectionCornerSmoothingPath:()=>Jt,sectionGeometry:()=>We,sectionOutlinePathFrom:()=>He,sectionPathSegmentEnd:()=>$t,toBijectiveBase:()=>fe,toLetters:()=>oe,toRoman:()=>de,transformSectionOutlinePath:()=>Fe,translateSectionOutlinePath:()=>Xt,validSectionOutlinePath:()=>ye});module.exports=ft(vn);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 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],u=s.x-i.x,f=s.y-i.y,b=u*u+f*f,c=b>1e-12?((t-i.x)*u+(n-i.y)*f)/b:0;c<0?c=0:c>1&&(c=1);let m=Math.hypot(t-(i.x+c*u),n-(i.y+c*f));m<o&&(o=m)}return o}function dt(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 Ae(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 Ie(e)){let r=ue(t,o.x,o.y);r<n&&(n=r)}for(let o of Ie(t)){let r=ue(e,o.x,o.y);r<n&&(n=r)}return n}function pt(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 m=Math.hypot(c.x-n,c.y-o);m>r&&(r=m,i=c)}let s=i.x-n,u=i.y-o,f=Math.hypot(s,u);f>1e-9?(s/=f,u/=f):(s=1,u=0);let b=e.map((c,m)=>({p:c,i:m,t:(c.x-n)*s+(c.y-o)*u})).sort((c,m)=>c.t-m.t);return{pts:b.map(c=>c.p),seatIndices:b.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,u=0,f=0,b=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,u+=y*y*y,f+=a*a*a,b+=y*a*a,c+=a*y*y}let m=r*s-i*i;if(Math.abs(m)<1e-9)return null;let d=(u+b)/2,l=(f+c)/2,h=(d*s-l*i)/m,A=(l*r-d*i)/m,p=h+n,x=A+o;return!Number.isFinite(p)||!Number.isFinite(x)?null:{cx:p,cy:x}}var ht=.15;function bt(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 u=r+s,f=r*s-i*i,b=u/2+Math.sqrt(Math.max(0,u*u/4-f)),c,m;Math.abs(i)>1e-12?(c=b-s,m=i):r>=s?(c=1,m=0):(c=0,m=1);let d=Math.hypot(c,m);if(!(d>1e-12))return null;c/=d,m/=d;let l=1/0,h=-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*m;S<y&&(y=S),S>a&&(a=S),S<l&&(l=S),S>h&&(h=S)}A.push(a-y)}let p=h-l;return p>1e-9?(A.sort((g,y)=>g-y),A[Math.min(A.length-1,Math.floor(A.length*.9))]/p<=mt?{x:c,y:m}:null):null}var mt=.35;function yt(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=pt(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=>dt(p.pts)),u=[];for(let p=0;p<i.length;p++){let x=1/0;for(let g=0;g<i.length;g++){if(p===g||Ae(s[p],s[g])>=x)continue;let y=le(i[p].pts,i[g].pts);y<x&&(x=y)}Number.isFinite(x)&&u.push(x)}u.sort((p,x)=>p-x);let f=u.length?u[Math.floor(u.length/2)]:1,b=Math.max(f*1.8,1e-6),c=i.map(()=>[]);for(let p=0;p<i.length;p++)for(let x=p+1;x<i.length;x++)Ae(s[p],s[x])>b||le(i[p].pts,i[x].pts)<=b&&(c[p].push(x),c[x].push(p));let m=0;for(let p=0;p<i.length;p++){if(i[p].blockId!==-1)continue;let x=m++,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=S=>Math.hypot(S.x-h.cx,S.y-h.cy),x=1/0,g=-1/0,y=[];for(let S of i){let C=1/0,_=-1/0;for(let j of S.pts){let U=p(j);U<C&&(C=U),U>_&&(_=U)}y.push(_-C),C<x&&(x=C),_>g&&(g=_)}let a=g-x;y.sort((S,C)=>S-C);let I=y[Math.min(y.length-1,Math.floor(y.length*.9))];if(a>1e-9&&I/a<=ht){let S=i.map(v=>{let D=0;for(let V of v.pts)D+=p(V);return{row:v,radius:D/v.pts.length}}),C=0,_=0;for(let v of S)C+=v.radius,_+=v.row.focalDistance;C/=S.length,_/=S.length;let j=0;for(let v of S)j+=(v.radius-C)*(v.row.focalDistance-_);if(j<0)for(let v of S)v.radius=-v.radius;let H=1/0;for(let v of S)v.radius<H&&(H=v.radius);S.sort((v,D)=>v.radius-D.radius);let J=-1,w=-1/0,P=a/Math.max(1,S.length)*.5,O=[];for(let v of S)v.radius-w>P&&(J++,w=v.radius),v.row.ordinal=J,v.row.blockDepth=v.radius-H,O.push(v.row);return{sectionId:e,rows:O,blockCount:m}}}let A=[];for(let[,p]of d){let x=bt(p);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};p.sort((a,I)=>g(a)-g(I)),p.length>=2&&p[0].focalDistance>p[p.length-1].focalDistance&&p.reverse();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,A.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),A.push(p[y])}}return{sectionId:e,rows:A,blockCount:m}}var xt=Math.PI/180,R=96,gt=6,St=60,wt=150,Ce=.2,Mt=.35;function Re(e,t){let n=Math.atan2(t.x-e.x,t.y-e.y)/xt;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,u=0;for(let f=-n;f<=n;f++){let b=i+f;if(t)b=(b%o+o)%o;else if(b<0||b>=o)continue;s+=e[b],u++}r[i]=s/u}return r}function vt(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 u={x:r/s,y:i/s},f=u;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-u.x,y.y-u.y);a>h&&(h=a)}let A=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&&A++;Math.hypot(d-u.x,l-u.y)<=h&&A/s<.01&&(f={x:d,y:l})}let b=[];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 A of h.pts){let p=Math.hypot(A.x-f.x,A.y-f.y),x=Math.min(R-1,Math.floor(Re(f,A)/(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&&b.push(l)}if(!b.length)return null;b.sort((d,l)=>d.rMin+d.rMax-(l.rMin+l.rMax));let c=[];for(let d of b){let l=!1;for(let h of c){let A=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&&A>=Mt*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 m=[];for(let d of c){let l=new Array(R).fill(null);for(let w of d.members)for(let P of w.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(w=>!!w);if(!h.filter(Boolean).length)continue;let p=[],x=[];for(let w of l){if(!w)continue;let P=1/0,O=-1/0;for(let v of w.samples)v.r<P&&(P=v.r),v.r>O&&(O=v.r);p.push(P),x.push(O)}let g=te(p),y=te(x);if(!(g>=Ce*y)||!(y>0))continue;let a=[...p].sort((w,P)=>w-P);if(!(a[Math.floor(a.length*.1)]>=Ce*y))continue;let S=l.map(w=>{if(!w)return null;let P=[...w.samples].sort((k,N)=>k.r-N.r),O=P[0].r,v=P[P.length-1].r,D=P[0].levelM,V=-1/0;for(let k of P)k.levelM>V&&(V=k.levelM);let E=[];for(let k of P){let N={r:k.r,l:k.levelM};for(;E.length&&Math.abs(E[E.length-1].r-N.r)<1e-9;){if(E[E.length-1].l<=N.l){N.skip=!0;break}E.pop()}if(!N.skip){for(;E.length>=2;){let $=E[E.length-2],K=E[E.length-1];if((K.r-$.r)*(N.l-$.l)-(K.l-$.l)*(N.r-$.r)<=0)E.pop();else break}E.push(N)}}let B=E.map(k=>k.r),G=E.map(k=>k.l);return{inner:O,outer:v,front:D,top:V,profile:{rs:B,ls:G}}}),C=h.slice();for(let w=0;w<R;w++){if(C[w])continue;let P=-1,O=-1,v=0;for(let M=1;M<=R;M++){let T=(w-M+R*2)%R;if(C[T]){P=T;break}}for(let M=1;M<=R;M++){let T=(w+M)%R;if(C[T]){O=T,v=M;break}}if(P<0||O<0)continue;let D=0;for(let M=1;M<=R;M++){let T=(w-M+R*2)%R;if(h[T]){D=M;break}}if(D-1+v>gt)continue;let E=S[P],B=S[O],G=D/(D+v),k=E.inner+(B.inner-E.inner)*G,N=E.outer+(B.outer-E.outer)*G,$=E.front+(B.front-E.front)*G,K=E.top+(B.top-E.top)*G;S[w]={inner:k,outer:N,front:$,top:K,profile:{rs:[k,N],ls:[$,K]}}}for(let w=0;w<R;w++)S[w]&&(C[w]=!0);let _=360/R,j=[],U=C.filter(Boolean).length,H=[];if(U===R)H.push({start:0,len:R});else{let w=0;for(;C[w];)w=(w+1)%R;let P=-1;for(let O=0;O<=R;O++){let v=(w+O)%R,D=O<R&&C[v];if(D&&P<0)P=v;else if(!D&&P>=0){let V=(v-P+R)%R||R;H.push({start:P,len:V}),P=-1}}}for(let w of H){if(w.len*_<St&&w.len<R)continue;let P=w.len===R,O=new Float64Array(w.len),v=new Float64Array(w.len),D=new Float64Array(w.len),V=new Float64Array(w.len),E=[];for(let M=0;M<w.len;M++){let T=S[(w.start+M)%R];O[M]=T.inner,v[M]=T.outer,D[M]=T.front,V[M]=T.top,E.push(T.profile??{rs:[T.inner,T.outer],ls:[T.front,T.top]})}let B=ne(O,P),G=ne(v,P),k=ne(D,P),N=ne(V,P);for(let M=0;M<w.len;M++)B[M]>O[M]&&(B[M]=O[M]),G[M]<v[M]&&(G[M]=v[M]),B[M]>G[M]-1e-6&&(B[M]=Math.max(0,G[M]-1e-6)),N[M]<k[M]&&(N[M]=k[M]);let $={startBin:w.start,binCount:w.len,closed:P,innerR:B,outerR:G,frontLevelM:k,topLevelM:N,profiles:E},K=(M,T,F)=>{let Q=E[M],W=Q.rs,z=Q.ls;if(T<=W[0]){z[0]>F&&(z[0]=F);return}if(T>=W[W.length-1]){z[z.length-1]>F&&(z[z.length-1]=F);return}for(let X=0;X+1<W.length;X++)if(T<=W[X+1]){z[X]>F&&(z[X]=F),z[X+1]>F&&(z[X+1]=F);return}};for(let M=0;M<w.len;M++){let T=l[(w.start+M)%R];if(T)for(let F of T.samples){K(M,F.r,F.levelM);let Q=P?(M-1+w.len)%w.len:M-1,W=P?(M+1)%w.len:M+1;Q>=0&&K(Q,F.r,F.levelM),W<w.len&&K(W,F.r,F.levelM)}}j.push($)}j.reduce((w,P)=>w+P.binCount*_,0)<wt||m.push({arcs:j,sectionIds:d.members.map(w=>w.sectionId),innerRMedian:g,outerRMedian:y})}if(!m.length)return null;if(m.sort((d,l)=>d.innerRMedian-l.innerRMedian),t){let d=m[m.length-1].outerRMedian;if(Math.hypot(t.x-f.x,t.y-f.y)>.9*d)return null}return{centre:f,binCount:R,binStepDeg:360/R,rings:m}}function Pt(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),u=t.closed?(s+1)%t.binCount:Math.min(t.binCount-1,s+1),f=i-s,b=c=>{let m=t.profiles[c],d=m.rs,l=m.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 A=d[h+1]-d[h],p=A>1e-9?(o-d[h])/A:0;return l[h]+(l[h+1]-l[h])*p}return l[l.length-1]};return b(s)*(1-f)+b(u)*f}var Ee="ABCDEFGHIJKLMNOPQRSTUVWXYZ",It="ABCDEFGHJKLMNPQRSTUVWXYZ",At="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?It:Ee;return fe(o,r)}function oe(e,t=!1){let n=t?At:Ee;return fe(Math.max(0,Math.floor(e)-1),n)}var Ct=[[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 Ct)for(;t>=o;)n+=r,t-=o;return n}function Rt(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 Et(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 Ot(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],u=-1;for(let l of e){let h=Math.hypot(l.x-n,l.y-o);h>u&&(u=h,s=l)}let f=s.x-n,b=s.y-o,c=Math.hypot(f,b);c>1e-9?(f/=c,b/=c):(f=1,b=0);let m=[...e].sort((l,h)=>(l.x-n)*f+(l.y-o)*b-((h.x-n)*f+(h.y-o)*b)),d=0;for(let l of m){let h=Math.hypot(l.x-n,l.y-o);h>d&&(d=h)}return{pts:m,cx:n,cy:o,radius:d,depth:r}}function Te(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],u=o[i+1],f=u.x-s.x,b=u.y-s.y,c=f*f+b*b,m=c>1e-12?((t-s.x)*f+(n-s.y)*b)/c:0;m<0?m=0:m>1&&(m=1);let d=Math.hypot(t-(s.x+m*f),n-(s.y+m*b));d<r&&(r=d)}return r}var re=8;function Tt(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 m=e[c],d=Math.hypot(t-m.cx,n-m.cy)-m.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 m=Te(e[c],t,n);for(let d=0;d<3;d++)if(m<i[d]){for(let l=2;l>d;l--)i[l]=i[l-1],s[l]=s[l-1];i[d]=m,s[d]=c;break}}if(s[0]<0)return 0;if(i[0]<1e-6)return e[s[0]].depth;let u=i[0]*2.2,f=0,b=0;for(let c=0;c<3;c++){let m=s[c];if(m<0||i[c]>u)continue;let d=1/(i[c]*i[c]);f+=d*e[m].depth,b+=d}return b>0?f/b:e[s[0]].depth}function _t(e){let t=(o,r)=>Tt(e,o,r),n=(o,r)=>{let i=1/0,s=-1;for(let u=0;u<e.length;u++){let f=e[u];if(Math.hypot(o-f.cx,r-f.cy)-f.radius>=i)continue;let b=Te(f,o,r);b<i&&(i=b,s=u)}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),u=Math.hypot(i,s);return u<1e-9?[0,0]:[i/u,s/u]}}}function kt(e,t){let n=[];for(let o of e){let r=Ot(o.points,t);r&&n.push(r)}return n.length<2?Et(t):(n.sort((o,r)=>o.depth-r.depth),_t(n))}var Dt=/^\d{4}-\d{2}-\d{2}$/;function Lt(e){let t=Date.parse(e);return Number.isFinite(t)?Dt.test(e)?t+864e5:t:null}function _e(e,t=Date.now()){if(e.validUntil===void 0){if(e.status!=="approved")return!0;let o=e.assessedAt?Date.parse(e.assessedAt):Number.NaN;return Number.isFinite(o)&&(t instanceof Date?t.getTime():t)<=o+366*864e5}let n=Lt(e.validUntil);return n===null?!1:(t instanceof Date?t.getTime():t)<n}function ke(e){return e.status!=="draft"&&e.status!=="retracted"}function jt(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 Nt(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 Ft(){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 current organizer-approved evidence matches this Event, venue revision, or renewal window",limitations:["Generated view is not surveyed sightline truth."]}}function Bt(e){let t=Nt(e.assessedAt);if(!e.validUntil)return t;let n=Date.parse(e.validUntil);return Number.isFinite(n)?`${t} \xB7 valid until ${e.validUntil.slice(0,10)}`:t}function Gt(e,t={}){if(!e||!ke(e)||!_e(e,t.now))return Ft();let n=e.evidenceKind==="synthetic-model",o=e.modelLevel==="configuration-verified"?"Event configuration verified":e.modelLevel==="geometry-verified"?"Venue geometry verified":n?"Versioned synthetic model":"Generated model \xB7 not verified",r=e.realityLevel==="actual-build-checked"?"Actual event build reality checked":e.realityLevel==="comparable-build-reference"?"Comparable-build reference only":"No real-world check supplied",i=n?"Synthetic model evidence":e.modelLevel==="configuration-verified"?"Configuration verified":e.modelLevel==="geometry-verified"?"Geometry verified":"Generated view \xB7 unverified",s=[...e.limitations??[],...n?["Synthetic demo; not surveyed or venue-certified."]:[]],u=e.modeledTarget?`${e.modeledTarget.label} \xB7 ${e.modeledTarget.clearRayCount}/${e.modeledTarget.totalRayCount} target rays clear \xB7 ${e.modeledTarget.classification} in bounded model \xB7 ${e.modeledTarget.methodLabel}`+(e.modeledTarget.occluderLabels?.length?` \xB7 modeled occluders: ${e.modeledTarget.occluderLabels.join(", ")}`:""):void 0;return u&&s.push("Modeled target is not a percentage of the show visible."),{headline:i,model:o,reality:r,coverage:jt(e.coverage),provenance:e.sourceLabel??e.approvedByRole??"Source not supplied",freshness:Bt(e),limitations:s,...u?{modeledTarget:u}:{}}}function Ut(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??"",u=e.seatNumbering?.endAt,f=e.seatCount;if(i==="updown"||i==="updown-descending"){let l=Math.ceil(f/2),h=i==="updown"?t<l?n+2*t:n-1+2*(f-t):t<l?n+2*(l-1-t):n+1+2*(t-l);return`${s}${h}`}let b=i==="odd"||i==="even"?2:r,c=u!=null&&Number.isFinite(u)?u-(f-1)*b:n,m=o==="center"?Ut(f)[t]:o==="rtl"?f-1-t:t,d;switch(i){case"odd":{let l=c%2===1?c:c+1;d=String(l+m*2);break}case"even":{let l=c%2===0?c:c+1;d=String(l+m*2);break}case"roman":d=de(c+m*r);break;case"letters-upper":d=oe(c+m*r,!1);break;case"letters-lower":d=oe(c+m*r,!0);break;default:d=String(c+m*r);break}return`${s}${d}`}function De(e){return{...e.canonical,seatCount:e.totalSeats,label:e.displayLabel,displayLabel:e.displayLabel}}function pe(e,t,n){return n?.label??`${e.label}-${ie(e,t)}`}function he(e,t,n,o){if(o?.displayLabel)return o.displayLabel;if(!n)return`${e.displayLabel??e.label}-${ie(e,t)}`;let r=De(n),i=n.displayOffset+t;return`${n.displayLabel}-${ie(r,i)}`}function Ht(e,t,n){return Math.max(t,Math.min(n,e))}function Vt(e){return Ht(e,0,1)}function Le(e){let t=Vt(e);return t*t*(3-2*t)}var jn=Math.PI/180;function L(e,t){return Math.hypot(e.x-t.x,e.y-t.y)}function be(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 zt(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 $t(e){return e.end}function ye(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(L(t,n.end)<=1e-9)return!1}else if(n.kind==="bezier"){if(!q(n.control1)||!q(n.control2)||L(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(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 Kt(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 Wt(e,t=2){if(!ye(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),u=Math.atan2(i.end.y-i.center.y,i.end.x-i.center.x),f=zt(s,u,i.clockwise),b=Math.max(2,Math.ceil(Math.abs(f)*i.radius/n));for(let c=1;c<=b;c+=1){let m=s+f*c/b;o.push({x:i.center.x+Math.cos(m)*i.radius,y:i.center.y+Math.sin(m)*i.radius})}}else{let s=L(r,i.control1)+L(i.control1,i.control2)+L(i.control2,i.end),u=Math.max(2,Math.ceil(s/n));for(let f=1;f<=u;f+=1)o.push(Kt(r,i,f/u))}r=i.end}return L(o[o.length-1],o[0])<=1e-4&&o.pop(),o}function Xt(e,t,n){return Fe(e,r=>({x:r.x+t,y:r.y+n}))}function Fe(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 Be=45,me=150,Yt=60;function Ge(e){let t=Be/100;if(e<=t)return me;let n=Math.min(1,(e-t)/(1-t));return me-n*(me-Yt)}var je=.5523;function Ne(e,t){return Math.abs(e.x-t.x)<=1e-6&&Math.abs(e.y-t.y)<=1e-6}function qt(e){let t=[],n=[];for(e.forEach((o,r)=>{q(o)&&(t.length&&Ne(t[t.length-1],o)||(t.push({x:o.x,y:o.y}),n.push(r)))});t.length>1&&Ne(t[0],t[t.length-1]);)t.pop(),n.pop();return{points:t,sourceIndex:n}}function Jt(e,t,n){return He(e,{cornerSmoothing:t,...n})}var Ue=.5,Qt=4/3;function Zt(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,u=o/i,f=n*Qt;return{kind:"bezier",control1:{x:e.x+o/3+s*f,y:e.y+r/3+u*f},control2:{x:e.x+o*2/3+s*f,y:e.y+r*2/3+u*f},end:{...t}}}function He(e,t){let{points:n,sourceIndex:o}=qt(e),r=n.length;if(r<3)return null;let i=Math.min(100,Math.max(0,t.cornerSmoothing??0))/100,s=t.edgeCurvature,u=new Array(r).fill(0);if(s?.length)for(let a=0;a<r;a+=1){let I=s[o[a]];u[a]=Number.isFinite(I)?Math.min(100,Math.max(-100,I))/100:0}let f=u.some(a=>Math.abs(a)>1e-6);if(i<=0&&!f)return null;let b=t.wideAngleThresholdDeg??Ge(i),c=[];for(let a=0;a<r;a+=1)c[a]=L(n[a],n[(a+1)%r]);let m=new Array(r).fill(0);for(let a=0;a<r;a+=1){let I=n[(a-1+r)%r],S=n[a],C=n[(a+1)%r],_={x:I.x-S.x,y:I.y-S.y},j={x:C.x-S.x,y:C.y-S.y},U=Math.hypot(_.x,_.y),H=Math.hypot(j.x,j.y);if(U<=1e-9||H<=1e-9)continue;let J=Math.min(1,Math.max(-1,(_.x*j.x+_.y*j.y)/(U*H))),w=Math.acos(J)*180/Math.PI;if(w<b)continue;let P=Le((w-b)/(180-b));m[a]=i*P*.5*Math.min(U,H)}for(let a=0;a<r;a+=1){let I=(a+1)%r,S=m[a]+m[I];if(S>c[a]&&S>1e-9){let C=c[a]/S;m[a]*=C,m[I]*=C}}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],C=n[(a+1)%r];if(m[a]<=1e-6){d[a]={...S},l[a]={...S};continue}let _=L(S,I)||1,j=L(S,C)||1;d[a]={x:S.x+(I.x-S.x)/_*m[a],y:S.y+(I.y-S.y)/_*m[a]},l[a]={x:S.x+(C.x-S.x)/j*m[a],y:S.y+(C.y-S.y)/j*m[a]}}if(m.every(a=>a<=1e-6)&&!f)return null;let h=[],A={...l[0]},p=A,x=(a,I)=>{if(L(p,a)<=1e-9)return;let S=u[I];Math.abs(S)>1e-6?h.push(Zt(p,a,S*Ue*c[I])):h.push({kind:"line",end:{...a}}),p=a};for(let a=1;a<=r;a+=1){let I=a%r,S=n[I];x(d[I],(a-1)%r),m[I]>1e-6&&L(d[I],l[I])>1e-9&&(h.push({kind:"bezier",control1:be(d[I],S,je),control2:be(l[I],S,je),end:{...l[I]}}),p=l[I])}if(!h.length)return null;let g=h[h.length-1];L(g.end,A)>1e-9&&(g.kind==="line"?g.end={...A}:h.push({kind:"line",end:{...A}}));let y={version:1,closed:!0,start:A,segments:h};return ye(y)?y:null}function en(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 Ve(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 ze(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[Ve(e,.5)];let o=Array.from({length:n+1},(f,b)=>Ve(e,b/n)),r=new Float64Array(o.length);for(let f=1;f<o.length;f+=1){let b=o[f].x-o[f-1].x,c=o[f].y-o[f-1].y;r[f]=r[f-1]+Math.hypot(b,c)}let i=r[r.length-1];if(i<=1e-9)return Array.from({length:t},()=>({...e.start}));let s=[],u=1;for(let f=0;f<t;f+=1){let b=i*f/(t-1);for(;u<r.length-1&&r[u]<b;)u+=1;let c=r[u-1],m=r[u],d=m===c?0:(b-c)/(m-c);s.push({x:o[u-1].x+(o[u].x-o[u-1].x)*d,y:o[u-1].y+(o[u].y-o[u-1].y)*d})}return s}var Ke=.02291666666666667,Hn=1/Ke,tn=58,Se=tn*Ke;var nn=3,$e=0,xe=120,on=0,rn=45,sn=7;function ge(e,t,n,o){return Number.isFinite(e)?Math.max(t,Math.min(n,e)):o}function cn(e){return!Number.isFinite(e)||!Number.isInteger(e)||e<0?0:e<=sn?e:nn}function We(e,t={}){let n=ge(t.floorBaseHeightM,$e,xe,0),o=Math.min(xe,n+cn(e.elevation)*Se),r=e.height===void 0?o:ge(e.height,$e,xe,o),i=ge(e.rake,on,rn,0);return{height:r,rake:i}}function Je(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 an(e){let{seatCount:t,seatSpacing:n,curve:o,rotation:r,origin:i}=e,s=[];if(e.path)return ze(e.path,t);if(t<=1)return t===1&&s.push({x:i.x,y:i.y}),s;if(o===0){for(let b=0;b<t;b++)s.push(Me(b*n,0,r,i));return s}let u=o/(t-1)*se,f=n/(2*Math.sin(Math.abs(u)/2));for(let b=0;b<t;b++){let c=b*u,m=f*Math.sin(c),d=-f+f*Math.cos(c);s.push(Me(m,d,r,i))}return s}function ln(e){let t=new Map;if(e.overrides)for(let n of e.overrides)t.set(n.index,n);return t}function un(e,t){let n=ln(e);return an(e).map((o,r)=>{let i=n.get(r),s=Je(i),u=pe(e,r,i),f={...e.commercial,...i?.commercial};return{index:r,x:o.x+(i?.dx??0),y:o.y+(i?.dy??0),label:u,displayLabel:he(e,r,t,i),categoryKey:i?.categoryKey??e.categoryKey,skipped:!!i?.skip,accessible:s.length>0,accessibility:s,wheelchairSpaceType:i?.wheelchairSpaceType,commercial:Object.values(f).some(b=>b!==void 0&&b!==!1&&b!=="")?f:void 0,glyph:i?.glyph,viewUrl:i?.viewFromSeatUrl??e.viewFromSeatUrl,viewMeta:i?.viewFromSeatUrl?i.viewFromSeatMeta:e.viewFromSeatMeta,labelStyle:i?.labelStyle}})}function ve(e){let t=[];for(let n of un(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,glyph:n.glyph,viewUrl:n.viewUrl,viewMeta:n.viewMeta,labelStyle:n.labelStyle});return t}function fn(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 dn(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,m,d,l)=>{let h=o.get(c),A=Je(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:m+(h?.dx??0),y:d+(h?.dy??0),categoryKey:h?.categoryKey??e.categoryKey,skipped:!!h?.skip,accessible:A.length>0,accessibility:A,wheelchairSpaceType:h?.wheelchairSpaceType,commercial:h?.commercial,glyph:h?.glyph,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,m=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=m+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,A=m+h;for(let p=0;p<n;p++){let x=A+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,u=fn(e),f=["top","bottom","left","right"],b=0;for(let c of f){let m=u[c];for(let d=0;d<m;d++){let l,h;c==="top"?(l=-i/2+(d+.5)*i/m,h=-s/2-Z):c==="bottom"?(l=-i/2+(d+.5)*i/m,h=s/2+Z):c==="left"?(l=-i/2-Z,h=-s/2+(d+.5)*s/m):(l=i/2+Z,h=-s/2+(d+.5)*s/m);let A=Me(l,h,e.rotation,e.center);t.push(r(b++,A.x,A.y,c))}}return t}function Qe(e){return dn(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.glyph?{glyph:t.glyph}:{},...t.viewUrl?{viewUrl:t.viewUrl}:{},...t.viewUrl&&t.viewMeta?{viewMeta:t.viewMeta}:{},...t.labelStyle?{labelStyle:t.labelStyle}:{}}))}function Ze(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 Xe(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,u=t[r].x,f=t[r].y;s>e.y!=f>e.y&&e.x<(u-i)*(e.y-s)/(f-s)+i&&(n=!n)}return n}function pn(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),u=(r.x-n.x)**2+(r.y-n.y)**2;return s>=-1e-7&&s<=u+1e-7})}function Ye(e,t,n){return Xe(e,t)&&!(n??[]).some(o=>Xe(e,o)||pn(e,o))}function we(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 hn(e){switch(e.type){case"row":{let t=ve(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 we(e.points);case"section":return we(e.outline);case"text":return{x:e.position.x,y:e.position.y};case"shape":return e.points&&e.points.length?we(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 qe(e,t){return e.length===t.length&&e.every((n,o)=>n.x===t[o].x&&n.y===t[o].y)}function bn(e,t){if(e.type!=="gaArea"||!qe(e.points,t.outline))return!1;let n=e.holes??[],o=t.holes??[];return n.length===o.length&&n.every((r,i)=>qe(r,o[i]))}function et(e,t){let n=e.filter(s=>s.type==="section"),o="referenceInventorySource"in t?t.referenceInventorySource?.logicalSectionId:void 0,r=hn(t);return(o?n.find(s=>(s.logicalSectionId??s.id)===o&&(bn(t,s)||Ye(r,s.outline,s.holes))):void 0)??n.find(s=>Ye(r,s.outline,s.holes))}function tt(e){return e.floors&&e.floors.length?e.floors.flatMap(t=>t.objects):e.objects}var mn="__sl_ga__",Pe=1e5;function yn(e,t){return`${mn}${encodeURIComponent(e)}__${t+1}`}function xn(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(u=>r.startIndex<u.end&&s>u.start))return!1;i.push({start:r.startIndex,end:s}),o.set(r.sourceAreaId,i)}return n===e.capacity}function gn(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}]:[]:xn(e)?e.inventorySegments.map(n=>({...n})):[]}function nt(e){return gn(e).flatMap(t=>Array.from({length:t.count},(n,o)=>yn(t.sourceAreaId,t.startIndex+o)))}var ce="__ungrouped__";function Sn(e){return e.type==="row"?ve(e).map(t=>t.label):e.type==="table"?Qe(e).map(t=>t.label):e.type==="booth"?Ze(e).map(t=>t.label):e.type==="gaArea"?nt(e):[]}function wn(e){return e.type==="row"||e.type==="table"||e.type==="booth"||e.type==="gaArea"}function ot(e){let t=tt(e),n=t.filter(s=>s.type==="section"),o=new Map;for(let s of n){let u=s.logicalSectionId??s.id;o.get(u)||o.set(u,{id:u,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(!wn(s))continue;let u=Sn(s);if(u.length===0)continue;let f=et(t,s),b=f?o.get(f.logicalSectionId??f.id):r;b.seatCount+=u.length,b.objectIds.push(s.id),b.seatLabels.push(...u),i.set(s.id,b.id)}return{sections:[...o.values()],ungrouped:r.objectIds.length?r:null,objectToSection:i}}function rt(e,t){return t.has(e.id)||!!e.logicalSectionId&&t.has(e.logicalSectionId)||!!e.zone&&t.has(e.zone)}function it(e,t){let n=new Set;if(!t.size)return n;let{sections:o,ungrouped:r,objectToSection:i}=ot(e),s=new Set,u=new Map(o.map(b=>[b.id,b.zone]));for(let b of o){let c=u.get(b.id);(t.has(b.id)||c&&t.has(c))&&s.add(b.id)}let f=!!r&&t.has(ce);for(let[b,c]of i)(s.has(c)||f&&c===ce)&&n.add(b);return n}function Mn(e,t){if(!t.size)return e;let n=it(e,t),o=t instanceof Set?t:new Set(t),r=s=>!(n.has(s.id)||s.type==="section"&&rt(s,o));if(e.floors&&e.floors.length){let s=!1,u=e.floors.map(f=>{let b=f.objects.filter(r);return b.length!==f.objects.length&&(s=!0),b.length===f.objects.length?f:{...f,objects:b}});return s?{...e,floors:u,objects:u[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,cornerSmoothingThresholdDeg,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});