courthive-components 6.10.3 → 6.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -17,6 +17,8 @@ This library provides a comprehensive set of UI components for building tourname
|
|
|
17
17
|
|
|
18
18
|
## Installation
|
|
19
19
|
|
|
20
|
+
Requires **Node.js 24** or later (`engines.node` is `>=24`; 22 is maintenance-only, end of life April 2027).
|
|
21
|
+
|
|
20
22
|
```bash
|
|
21
23
|
pnpm add courthive-components
|
|
22
24
|
```
|
|
@@ -18033,8 +18033,8 @@ function RO(e) {
|
|
|
18033
18033
|
var zO = {
|
|
18034
18034
|
name: "courthive-components",
|
|
18035
18035
|
packageManager: "pnpm@12.14.0",
|
|
18036
|
-
version: "6.
|
|
18037
|
-
engines: { node: ">=
|
|
18036
|
+
version: "6.11.0",
|
|
18037
|
+
engines: { node: ">=24" },
|
|
18038
18038
|
description: "Components for competitions projects",
|
|
18039
18039
|
files: ["dist"],
|
|
18040
18040
|
main: "./dist/courthive-components.umd.js",
|
|
@@ -18136,7 +18136,7 @@ var zO = {
|
|
|
18136
18136
|
semver: "7.8.5",
|
|
18137
18137
|
storybook: "^10.2.17",
|
|
18138
18138
|
"tabulator-tables": "6.6.1",
|
|
18139
|
-
"tods-competition-factory": "7.
|
|
18139
|
+
"tods-competition-factory": "7.19.0",
|
|
18140
18140
|
typescript: "^6.0.2",
|
|
18141
18141
|
vite: "8.3.4",
|
|
18142
18142
|
"vite-plugin-dts": "^5.0.0",
|
|
@@ -211,7 +211,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
211
211
|
`,`Instead, pass the .innerHTML of the element, or use a function that`,`returns a cloned version of the element instead.`,`
|
|
212
212
|
|
|
213
213
|
`,`1) content: element.innerHTML
|
|
214
|
-
`,`2) content: () => element.cloneNode(true)`].join(` `))}var s=i.reduce(function(e,t){var n=t&&Dy(t,r);return n&&e.push(n),e},[]);return Lv(e)?s[0]:s}Oy.defaultProps=dy,Oy.setDefaultProps=py,Oy.currentInput=Jv,Object.assign({},Hg,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:`0`,top:`0`,margin:`0`},arrow:{position:`absolute`},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}}),Oy.setDefaultProps({render:Cy});var ky=`#000000.#434343.#666666.#999999.#b7b7b7.#cccccc.#d9d9d9.#ffffff.#980000.#ff0000.#ff9900.#ffff00.#00ff00.#00ffff.#4a86e8.#0000ff.#9900ff.#ff00ff.#e6b8af.#f4cccc.#fce5cd.#fff2cc.#d9ead3.#d0e0e3.#c9daf8.#cfe2f3.#d9d2e9.#ead1dc`.split(`.`),Ay=`notes-toolbar-recent-colors`,jy=8;function My(){try{return JSON.parse(localStorage.getItem(Ay)||`[]`)}catch{return[]}}function Ny(e){let t=My().filter(t=>t!==e);t.unshift(e),t.length>jy&&(t=t.slice(0,jy)),localStorage.setItem(Ay,JSON.stringify(t))}function Py(e={}){let t=document.createElement(`div`);return t.className=`notes-toolbar`,t.appendChild(zy(e)),t.appendChild(By(e)),t.appendChild(Vy(e)),t.appendChild(Gy(e)),t.appendChild(Jy(e)),t.appendChild(Yy(e)),t.appendChild(Zy(e)),t}function Fy(e,t){for(let[n,r]of Object.entries(t)){let t=e.querySelector(`[data-action="${n}"]`);t&&t.classList.toggle(`is-active`,r)}}function Iy(e,t){let n=e.querySelector(`[data-action="heading"]`);n&&(n.value=t===!1?`0`:String(t))}function Ly(){let e=document.createElement(`div`);return e.className=`notes-toolbar-group`,e}function Ry(e,t,n,r){let i=document.createElement(`button`);return i.className=`notes-toolbar-btn`,i.dataset.action=e,i.title=n,i.type=`button`,i.innerHTML=t,r&&i.addEventListener(`click`,r),i}function zy(e){let t=Ly(),n=document.createElement(`select`);n.dataset.action=`heading`,n.title=`Text style`;for(let e of[{value:`0`,label:`Paragraph`},{value:`1`,label:`Heading 1`},{value:`2`,label:`Heading 2`},{value:`3`,label:`Heading 3`},{value:`4`,label:`Heading 4`},{value:`5`,label:`Heading 5`},{value:`6`,label:`Heading 6`}]){let t=document.createElement(`option`);t.value=e.value,t.textContent=e.label,n.appendChild(t)}return n.addEventListener(`change`,()=>{let t=parseInt(n.value,10);e.onHeading?.(t!==0&&t)}),t.appendChild(n),t}function By(e){let t=Ly();return t.appendChild(Ry(`bold`,`<b>B</b>`,`Bold`,e.onBold)),t.appendChild(Ry(`italic`,`<i>I</i>`,`Italic`,e.onItalic)),t.appendChild(Ry(`underline`,`<u>U</u>`,`Underline`,e.onUnderline)),t.appendChild(Ry(`strike`,`<s>S</s>`,`Strikethrough`,e.onStrike)),t}function Vy(e){let t=Ly();return t.appendChild(Hy(`color`,`A`,`Text color`,`#000000`,t=>{Ny(t),e.onColor?.(t)})),t.appendChild(Hy(`background`,`A`,`Background color`,`#ffff00`,t=>{Ny(t),e.onBackground?.(t)})),t}function Hy(e,t,n,r,i){let a=document.createElement(`button`);a.className=`notes-toolbar-btn notes-toolbar-color-btn`,a.dataset.action=e,a.title=n,a.type=`button`;let o=document.createElement(`span`);o.className=`notes-toolbar-color-letter`,o.textContent=t,a.appendChild(o);let s=document.createElement(`span`);s.className=`notes-toolbar-color-bar`,s.style.backgroundColor=r,a.appendChild(s);let c;return a.addEventListener(`click`,()=>{if(c){c.destroy(),c=void 0;return}let e=Uy(r,e=>{s.style.backgroundColor=e,i(e),c?.destroy(),c=void 0});c=Oy(a,{content:e,theme:`light-border`,trigger:`manual`,interactive:!0,placement:`bottom-start`,onHidden:()=>{c?.destroy(),c=void 0}}),c.show()}),a}function Uy(e,t){let n=document.createElement(`div`);n.className=`notes-color-panel`;let r=document.createElement(`div`);r.className=`notes-color-swatches`;for(let n of ky)r.appendChild(Wy(n,n===e,t));n.appendChild(r);let i=My();if(i.length){let r=document.createElement(`div`);r.className=`notes-color-section-label`,r.textContent=`Recent`,n.appendChild(r);let a=document.createElement(`div`);a.className=`notes-color-swatches`;for(let n of i)a.appendChild(Wy(n,n===e,t));n.appendChild(a)}let a=document.createElement(`div`);a.className=`notes-color-custom-row`;let o=document.createElement(`input`);o.type=`color`,o.value=e,o.className=`notes-color-custom-input`;let s=document.createElement(`label`);return s.className=`notes-color-custom-label`,s.textContent=`Custom...`,s.addEventListener(`click`,()=>o.click()),o.addEventListener(`input`,()=>t(o.value)),a.appendChild(o),a.appendChild(s),n.appendChild(a),n}function Wy(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=`notes-color-swatch`,t&&r.classList.add(`is-selected`),r.style.backgroundColor=e,(e===`#ffffff`||e===`#fff`)&&(r.style.border=`1px solid var(--chc-border-secondary)`),r.title=e,r.addEventListener(`click`,()=>n(e)),r}function Gy(e){let t=Ly();return t.appendChild(Ry(`orderedList`,Ky(16,16,`<path d="M3 2h12v2H3zm0 5h12v2H3zm0 5h12v2H3z" fill="currentColor"/><text x="0" y="4" font-size="3.5" fill="currentColor">1</text><text x="0" y="9" font-size="3.5" fill="currentColor">2</text><text x="0" y="14" font-size="3.5" fill="currentColor">3</text>`),`Ordered list`,e.onOrderedList)),t.appendChild(Ry(`bulletList`,Ky(16,16,`<circle cx="1.5" cy="3" r="1.5" fill="currentColor"/><circle cx="1.5" cy="8" r="1.5" fill="currentColor"/><circle cx="1.5" cy="13" r="1.5" fill="currentColor"/><path d="M5 2h10v2H5zm0 5h10v2H5zm0 5h10v2H5z" fill="currentColor"/>`),`Bullet list`,e.onBulletList)),t}function Ky(e,t,n){return`<svg width="${e}" height="${t}" viewBox="0 0 ${e} ${t}" xmlns="http://www.w3.org/2000/svg">${n}</svg>`}var qy={alignLeft:Ky(16,16,`<path d="M1 2h14v2H1zm0 4h9v2H1zm0 4h14v2H1zm0 4h9v2H1z" fill="currentColor"/>`),alignCenter:Ky(16,16,`<path d="M1 2h14v2H1zm3.5 4h7v2h-7zM1 10h14v2H1zm3.5 4h7v2h-7z" fill="currentColor"/>`),alignRight:Ky(16,16,`<path d="M1 2h14v2H1zm6 4h8v2H7zM1 10h14v2H1zm6 4h8v2H7z" fill="currentColor"/>`),alignJustify:Ky(16,16,`<path d="M1 2h14v2H1zm0 4h14v2H1zm0 4h14v2H1zm0 4h14v2H1z" fill="currentColor"/>`)};function Jy(e){let t=Ly();return t.appendChild(Ry(`alignLeft`,qy.alignLeft,`Align left`,()=>e.onAlign?.(`left`))),t.appendChild(Ry(`alignCenter`,qy.alignCenter,`Align center`,()=>e.onAlign?.(`center`))),t.appendChild(Ry(`alignRight`,qy.alignRight,`Align right`,()=>e.onAlign?.(`right`))),t.appendChild(Ry(`alignJustify`,qy.alignJustify,`Justify`,()=>e.onAlign?.(`justify`))),t}function Yy(e){let t=Ly();t.appendChild(Ry(`blockquote`,`“`,`Blockquote`,e.onBlockquote)),t.appendChild(Ry(`codeBlock`,`</>`,`Code block`,e.onCodeBlock));let n=Ry(`link`,`⇗`,`Insert link`);Xy(n,`Enter URL`,`https://`,t=>e.onLink?.(t)),t.appendChild(n);let r=Ry(`video`,`▷`,`Insert video`);return Xy(r,`YouTube URL`,`https://youtube.com/...`,t=>e.onVideo?.(t)),t.appendChild(r),t}function Xy(e,t,n,r){let i;e.addEventListener(`click`,()=>{if(i){i.destroy(),i=void 0;return}let a=document.createElement(`div`);a.className=`notes-url-panel`;let o=document.createElement(`div`);o.className=`notes-url-label`,o.textContent=t,a.appendChild(o);let s=document.createElement(`input`);s.type=`url`,s.className=`notes-url-input`,s.placeholder=n,a.appendChild(s);let c=document.createElement(`div`);c.className=`notes-url-actions`;let l=document.createElement(`button`);l.type=`button`,l.className=`button notes-url-cancel`,l.textContent=`Cancel`,l.addEventListener(`click`,()=>{i?.destroy(),i=void 0});let u=document.createElement(`button`);u.type=`button`,u.className=`button is-info notes-url-confirm`,u.textContent=`Insert`,u.addEventListener(`click`,()=>{let e=s.value.trim();e&&r(e),i?.destroy(),i=void 0}),c.appendChild(l),c.appendChild(u),a.appendChild(c),s.addEventListener(`keydown`,e=>{e.key===`Enter`?(e.preventDefault(),u.click()):e.key===`Escape`&&l.click()}),i=Oy(e,{content:a,theme:`light-border`,trigger:`manual`,interactive:!0,placement:`bottom-start`,onShown:()=>setTimeout(()=>s.focus(),0),onHidden:()=>{i?.destroy(),i=void 0}}),i.show()})}function Zy(e){let t=Ly();return t.appendChild(Ry(`clearFormatting`,`⊘`,`Clear formatting`,e.onClearFormatting)),t}function Qy(e={}){let t=!1,l,u=document.createElement(`div`);u.className=`notes-editor-content`;let d={toolbar:void 0,editorElement:u,editor:void 0,getHtml:()=>d.editor&&!d.editor.isEmpty?d.editor.getHTML():``,isEmpty:()=>!d.editor||d.editor.isEmpty,destroy:()=>{t||(t=!0,l!==void 0&&cancelAnimationFrame(l),d.editor?.destroy(),d.editor=void 0)}};d.toolbar=Py({onHeading:e=>{d.editor&&(e===!1?d.editor.chain().focus().setParagraph().run():d.editor.chain().focus().toggleHeading({level:e}).run())},onBold:()=>d.editor?.chain().focus().toggleBold().run(),onItalic:()=>d.editor?.chain().focus().toggleItalic().run(),onUnderline:()=>d.editor?.chain().focus().toggleUnderline().run(),onStrike:()=>d.editor?.chain().focus().toggleStrike().run(),onColor:e=>d.editor?.chain().focus().setColor(e).run(),onBackground:e=>d.editor?.chain().focus().setHighlight({color:e}).run(),onBulletList:()=>d.editor?.chain().focus().toggleBulletList().run(),onOrderedList:()=>d.editor?.chain().focus().toggleOrderedList().run(),onAlign:e=>d.editor?.chain().focus().setTextAlign(e).run(),onBlockquote:()=>d.editor?.chain().focus().toggleBlockquote().run(),onCodeBlock:()=>d.editor?.chain().focus().toggleCodeBlock().run(),onLink:e=>d.editor?.chain().focus().setLink({href:e}).run(),onVideo:e=>d.editor?.commands.setYoutubeVideo({src:e}),onClearFormatting:()=>d.editor?.chain().focus().clearNodes().unsetAllMarks().run()});let f=()=>{if(d.editor){Fy(d.toolbar,{bold:d.editor.isActive(`bold`),italic:d.editor.isActive(`italic`),underline:d.editor.isActive(`underline`),strike:d.editor.isActive(`strike`),orderedList:d.editor.isActive(`orderedList`),bulletList:d.editor.isActive(`bulletList`),blockquote:d.editor.isActive(`blockquote`),codeBlock:d.editor.isActive(`codeBlock`),alignLeft:d.editor.isActive({textAlign:`left`}),alignCenter:d.editor.isActive({textAlign:`center`}),alignRight:d.editor.isActive({textAlign:`right`}),alignJustify:d.editor.isActive({textAlign:`justify`})});for(let e=1;e<=6;e++)if(d.editor.isActive(`heading`,{level:e})){Iy(d.toolbar,e);return}Iy(d.toolbar,!1)}};return l=requestAnimationFrame(()=>{l=void 0,!t&&(d.editor=new c.Editor({element:u,extensions:[s.default,n.TextStyle,a.Color,i.default.configure({multicolor:!0}),r.default.configure({types:[`heading`,`paragraph`]}),o.default.configure({inline:!1})],content:e.initialHtml||``,onSelectionUpdate:f,onTransaction:f}))}),d}function $y(e,t,n){if(!e)return{};let r=document.createElement(`aside`);r.classList.add(`menu`);let i={},a=e=>n&&e.close!==!1?t=>{t.stopPropagation(),n(),e.onClick()}:t=>{t.stopPropagation(),e.onClick()},o=0,s=()=>(o+=1,o),c=e=>e?.heading||e?.text||e?.label||`Item ${s()}`,l=e=>{let t=document.createElement(`li`);if(t.className=`font-medium`,e.style&&(t.style.cssText=e.style),e.onClick){let n=e.fontSize||`1em`;if(e.divider){let e=document.createElement(`hr`);e.classList.add(`dropdown-divider`),t.appendChild(e)}else{let r=document.createElement(`a`),i=e.disabled?`0.4`:`1`;r.style.cssText=`text-decoration: none; opacity: ${i}; font-size: ${n}`,e.class&&r.classList.add(e.class),e.color&&(r.style.color=e.color),e.heading&&(r.style.fontWeight=`bold`),e.disabled||(r.onclick=a(e)),r.innerHTML=c(e),t.appendChild(r)}}else t.innerHTML=c(e),e.disabled||(t.onclick=e.onClick);return t},u;for(let e of t||[])if(!e.hide){if(e.items){if(e.text){let t=document.createElement(`p`);t.className=`menu-label font-medium`,t.innerHTML=e.text,r.appendChild(t)}let t=document.createElement(`ul`);t.className=`menu-list`;for(let n of e.items)n.hide||t.appendChild(l(n));r.appendChild(t)}else if(e.type===`input`){let{field:t,inputElement:n}=_n(e);e.focus&&(u=n),i[e.field]=n,r.appendChild(t)}else if(e.type===`divider`){let e=document.createElement(`hr`);e.classList.add(`dropdown-divider`),r.appendChild(e)}}return e.appendChild(r),{focusElement:u}}function eb(e){return typeof e==`function`}var tb;function nb(e){tb&&=(tb?.destroy(!0),void 0),e?.remove&&e.remove()}function rb(e){let{title:t,options:n,menuItems:r=[],coords:i,callback:a,config:o}=e,{target:s,items:c}=e;if(!n?.length&&!c?.length&&!r)return;nb();let l=document.createElement(`div`),u;return s||=i?.evt?.target,s&&(tb=Oy(s,{content:()=>{c=c?.filter(e=>!e.hide&&!e.disabled).map(e=>({...e,onClick:()=>{nb(l),eb(e.onClick)&&e.onClick()}}))||n?.filter(e=>!e.hide&&!e.disabled).map(e=>({text:typeof e==`object`?e.option:e,style:e.style,onClick:()=>{e.subMenu?tb.setContent(`IMPLEMENT SUB MENU`):eb(e.onClick)?(nb(l),e.onClick()):eb(a)&&a&&(nb(l),a(typeof e==`object`?{...e,coords:i}:e))}}));let e=[{text:t,items:c},...r];return u=$y(l,e).focusElement,l},theme:`light-border`,trigger:`click`,onShown:()=>{u&&setTimeout(()=>u?.focus(),0)},...o}),tb.show(),tb.setProps({interactive:!0})),tb}var Y=`court-line`;function X(e,t){let n=document.createElementNS(`http://www.w3.org/2000/svg`,e);for(let[e,r]of Object.entries(t))n.setAttribute(e,r);return n}function ib(e,t){let n=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);return n.setAttribute(`viewBox`,e),n.setAttribute(`class`,t),n.setAttribute(`fill`,`none`),n.style.width=`100%`,n.style.height=`auto`,n.style.display=`block`,n}function ab(e){let t=ib(`0 0 360 780`,e);for(let e of[`M 0 0 L 360 0 L 360 780 L 0 780 Z`,`M 45 0 L 45 780`,`M 315 0 L 315 780`,`M 0 390 L 360 390`,`M 45 210 L 315 210`,`M 45 570 L 315 570`,`M 180 210 L 180 570`,`M 180 0 L 180 20`,`M 180 760 L 180 780`])t.appendChild(X(`path`,{d:e,class:Y}));return t}function ob(e){let t=ib(`0 0 500 470`,e),n=[X(`rect`,{x:`0`,y:`0`,width:`500`,height:`470`,class:Y}),X(`circle`,{cx:`250`,cy:`470`,r:`60`,class:Y}),X(`line`,{x1:`0`,y1:`470`,x2:`500`,y2:`470`,class:Y}),X(`rect`,{x:`170`,y:`0`,width:`160`,height:`190`,class:Y}),X(`circle`,{cx:`250`,cy:`190`,r:`60`,class:Y}),X(`line`,{x1:`220`,y1:`40`,x2:`280`,y2:`40`,class:Y}),X(`circle`,{cx:`250`,cy:`52`,r:`12`,class:Y}),X(`path`,{d:`M 30 0 L 30 90 A 220 220 0 0 0 470 90 L 470 0`,class:Y})];for(let e of n)t.appendChild(e);return t}function sb(e){let t=ib(`0 0 500 440`,e),n=[X(`path`,{d:`M 20 170 A 350 400 0 0 1 480 170`,class:Y}),X(`line`,{x1:`250`,y1:`400`,x2:`20`,y2:`170`,class:Y}),X(`line`,{x1:`250`,y1:`400`,x2:`480`,y2:`170`,class:Y}),X(`path`,{d:`M 250 400 L 314 336 L 250 273 L 186 336 Z`,class:Y}),X(`path`,{d:`M 340 355 A 100 100 0 0 1 160 355`,class:Y}),X(`line`,{x1:`340`,y1:`355`,x2:`265`,y2:`405`,class:Y}),X(`line`,{x1:`160`,y1:`355`,x2:`235`,y2:`405`,class:Y}),X(`path`,{d:`M 235 405 A 18 18 0 0 1 265 405`,class:Y}),X(`circle`,{cx:`250`,cy:`340`,r:`9`,class:Y}),X(`line`,{x1:`247`,y1:`339`,x2:`253`,y2:`339`,class:Y}),X(`path`,{d:`M 244 398 L 244 404 L 250 408 L 256 404 L 256 398 Z`,class:Y}),X(`rect`,{x:`310`,y:`332`,width:`8`,height:`8`,transform:`rotate(45 314 336)`,class:Y}),X(`rect`,{x:`246`,y:`269`,width:`8`,height:`8`,transform:`rotate(45 250 273)`,class:Y}),X(`rect`,{x:`182`,y:`332`,width:`8`,height:`8`,transform:`rotate(45 186 336)`,class:Y}),X(`rect`,{x:`230`,y:`393`,width:`8`,height:`18`,class:Y}),X(`rect`,{x:`262`,y:`393`,width:`8`,height:`18`,class:Y})];for(let e of n)t.appendChild(e);return t}function cb(e){let t=ib(`0 0 850 2000`,e),n=[X(`rect`,{x:`0`,y:`0`,width:`850`,height:`2000`,rx:`280`,ry:`280`,class:Y}),X(`line`,{x1:`0`,y1:`1000`,x2:`850`,y2:`1000`,class:Y}),X(`circle`,{cx:`425`,cy:`1000`,r:`60`,class:Y}),X(`line`,{x1:`0`,y1:`650`,x2:`850`,y2:`650`,class:Y}),X(`line`,{x1:`0`,y1:`1350`,x2:`850`,y2:`1350`,class:Y}),X(`line`,{x1:`140`,y1:`300`,x2:`710`,y2:`300`,class:Y}),X(`line`,{x1:`140`,y1:`1700`,x2:`710`,y2:`1700`,class:Y}),X(`path`,{d:`M 395 300 A 40 40 0 0 1 455 300`,class:Y}),X(`path`,{d:`M 395 1700 A 40 40 0 0 0 455 1700`,class:Y}),X(`circle`,{cx:`270`,cy:`650`,r:`50`,class:Y}),X(`circle`,{cx:`580`,cy:`650`,r:`50`,class:Y}),X(`circle`,{cx:`270`,cy:`1350`,r:`50`,class:Y}),X(`circle`,{cx:`580`,cy:`1350`,r:`50`,class:Y})];for(let e of n)t.appendChild(e);return t}function lb(e){let t=ib(`0 0 200 440`,e);for(let e of[`M 0 0 L 200 0 L 200 440 L 0 440 Z`,`M 0 220 L 200 220`,`M 0 150 L 200 150`,`M 0 290 L 200 290`,`M 100 0 L 100 150`,`M 100 290 L 100 440`])t.appendChild(X(`path`,{d:e,class:Y}));return t}function ub(e){let t=ib(`0 0 200 440`,e);for(let e of[`M 0 0 L 200 0 L 200 440 L 0 440 Z`,`M 18 0 L 18 440`,`M 182 0 L 182 440`,`M 0 220 L 200 220`,`M 0 146 L 200 146`,`M 0 294 L 200 294`,`M 0 30 L 200 30`,`M 0 410 L 200 410`,`M 100 146 L 100 220`,`M 100 220 L 100 294`])t.appendChild(X(`path`,{d:e,class:Y}));return t}function db(e){let t=ib(`0 0 100 200`,e);for(let e of[`M 0 0 L 100 0 L 100 200 L 0 200 Z`,`M 0 100 L 100 100`,`M 0 69.5 L 100 69.5`,`M 0 130.5 L 100 130.5`,`M 50 69.5 L 50 67.5`,`M 50 130.5 L 50 132.5`])t.appendChild(X(`path`,{d:e,class:Y}));return t}var fb=`COURT_SVG`,pb={tennis:ab,basketball:ob,baseball:sb,hockey:cb,pickleball:lb,badminton:ub,padel:db},mb={TENNIS:`tennis`,PADEL:`padel`,PICKLEBALL:`pickleball`,BADMINTON:`badminton`},hb={HAL:`basketball`,INN:`baseball`,PER:`hockey`};function gb(e){if(e){for(let[t,n]of Object.entries(hb))if(e.startsWith(t))return n;if(e.startsWith(`SET`)||e.startsWith(`T`))return e.includes(`@RALLY`)?`pickleball`:`tennis`}}function _b(e){let t=e?.competitionFormat?.sport;return t&&mb[t]?mb[t]:gb(e?.matchUpFormat)}function vb(e){let t=e.getAttribute(`viewBox`);if(!t)return e;let n=t.split(/\s+/).map(Number);if(n.length!==4)return e;let[r,i,a,o]=n;if(o<=a)return e;e.setAttribute(`viewBox`,`${r} ${i} ${o} ${a}`);let s=document.createElementNS(`http://www.w3.org/2000/svg`,`g`);for(s.setAttribute(`transform`,`translate(${o}, 0) rotate(90)`);e.firstChild;)s.appendChild(e.firstChild);return e.appendChild(s),e}function yb(e,t=``){let n=e?pb[e]:void 0;if(n)return vb(n(t?`court--${e} ${t}`:`court--${e}`))}function bb(e){let t=[];return e.city&&t.push(e.city),(e.state||e.region)&&t.push(e.state||e.region),e.countryCode?t.push(e.countryCode):e.country&&t.push(e.country),t.join(`, `)}function xb(e){if(!e)return;let t=bb(e);return t.length?t:void 0}function Sb(e){let t=e?.find(Boolean);if(!t)return;let n=t.addresses?.find(Boolean);return n?xb(n)??t.venueName:t.venueName}var Cb=/^(\d{4})-(\d{2})-(\d{2})/,wb=864e5;function Tb(e){if(!e)return null;let t=Cb.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]);return!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(i)?null:{year:n,month:r,day:i}}function Eb(e,t){if(!t)return new Date(e.year,e.month-1,e.day);let n=Date.UTC(e.year,e.month-1,e.day,0,0,0,0),r=new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hourCycle:`h23`}),i=new Date(n);for(let e=0;e<2;e++){let e=r.formatToParts(i),t=t=>Number(e.find(e=>e.type===t)?.value??0),a=Date.UTC(t(`year`),t(`month`)-1,t(`day`),t(`hour`),t(`minute`),t(`second`))-i.getTime();i=new Date(n-a)}return i}function Db(e,t){if(!t)return new Date(e.year,e.month-1,e.day+1);let n=Eb(e,t),r=new Date(n.getTime()+wb),i=new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`2-digit`,day:`2-digit`}).formatToParts(r),a=e=>Number(i.find(t=>t.type===e)?.value??0);return Eb({year:a(`year`),month:a(`month`),day:a(`day`)},t)}function Ob(e){if(!e)return null;let t=Tb(e);if(t)return new Date(t.year,t.month-1,t.day);let n=new Date(e);return Number.isNaN(n.getTime())?null:n}function kb(e){return e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}function Ab(e){return e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})}function jb(e,t){if(!e&&!t)return;let n=Ob(e),r=Ob(t),i=!!n&&!Number.isNaN(n.getTime()),a=!!r&&!Number.isNaN(r.getTime());if(i||a)return i&&a&&n.getTime()===r.getTime()?Ab(n):i&&a?n.getFullYear()===r.getFullYear()?`${kb(n)} – ${kb(r)}, ${r.getFullYear()}`:`${Ab(n)} – ${Ab(r)}`:Ab(i?n:r)}function Mb(e){return e.slice().sort((e,t)=>{let n=e.courtOrder,r=t.courtOrder;return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:Number.isFinite(n)&&!Number.isFinite(r)?-1:!Number.isFinite(n)&&Number.isFinite(r)?1:e.courtName.localeCompare(t.courtName,void 0,{numeric:!0})})}var Nb=`URL`;function Pb(e,t){if(!Array.isArray(e))return;let n=e.find(e=>e?.name===t&&e?.resourceType===Nb);return n?.url??n?.identifier}function Fb(e,t){if(Array.isArray(e))return e.find(e=>e?.resourceSubType===`COURT_SVG`&&(!t||e?.name===t))?.identifier}function Ib(e){if(typeof e==`number`)return Number.isFinite(e)?e:void 0;if(typeof e==`string`){let t=e.trim();if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}}function Lb(...e){for(let t of e){let e=Ib(t);if(e!==void 0)return e}}function Rb(e){let t=document.createElement(`div`);if(t.className=e.cardClass,t.setAttribute(`aria-busy`,`true`),e.showImage){let n=document.createElement(`div`);n.className=e.imageClass;let r=document.createElement(`div`);r.className=e.blockClass,n.appendChild(r),t.appendChild(n)}if(e.bodyLines>0){let n=document.createElement(`div`);n.className=e.bodyClass;for(let t=0;t<e.bodyLines;t++){let r=document.createElement(`div`);r.className=e.lineClass,r.style.width=t===0?`90%`:`${60+t*10}%`,n.appendChild(r)}t.appendChild(n)}if(e.showFooter){let n=document.createElement(`div`);n.className=e.footerClass;let r=document.createElement(`div`);r.className=e.lineClass,r.style.width=`40%`,n.appendChild(r),t.appendChild(n)}return t}var zb={showImage:!0,cornerBadges:[`status`],body:[`title`,`tier`,`location`,`dateRange`],footer:[`feeBadge`,`playerCount`]};function Bb(e){return e?{showImage:e.showImage??zb.showImage,cornerBadges:e.cornerBadges??zb.cornerBadges,body:e.body??zb.body,footer:e.footer??zb.footer}:zb}var Vb=()=>`chc-tc-card`,Hb=()=>`chc-tc-card--clickable`,Ub=()=>`chc-tc-card--offline`,Wb=()=>`chc-tc-image`,Gb=()=>`chc-tc-image-img`,Kb=()=>`chc-tc-image-svg`,qb=()=>`chc-tc-image-placeholder`,Jb=()=>`chc-tc-corner-badges`,Yb=()=>`chc-tc-status-pill`,Xb=()=>`chc-tc-offline-badge`,Zb=()=>`chc-tc-body`,Qb=()=>`chc-tc-title`,$b=()=>`chc-tc-location`,ex=()=>`chc-tc-date-range`,tx=()=>`chc-tc-organizer`,nx=()=>`chc-tc-updated-at`,rx=()=>`chc-tc-footer`,ix=()=>`chc-tc-fee-badge`,ax=()=>`chc-tc-player-count`,ox=()=>`chc-tc-event-count`,sx=()=>`chc-tc-tier-badge`,cx=()=>`chc-tc-card chc-tc-skeleton`,lx=()=>`chc-tc-skeleton-line`,ux=()=>`chc-tc-skeleton-block`;function dx(e,t,n){let r=Bb(t),i=document.createElement(`div`);return i.className=Vb(),i.dataset.tournamentId=e.tournamentId,e.offline&&i.classList.add(Ub()),n?.onClick&&(i.classList.add(Hb()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showImage!==!1&&i.appendChild(fx(e,r)),r.body.length&&i.appendChild(_x(e,r)),r.footer.length&&i.appendChild(Tx(e,r)),i}function fx(e,t){let n=document.createElement(`div`);if(n.className=Wb(),e.tournamentImageURL){let t=document.createElement(`img`);t.className=Gb(),t.src=e.tournamentImageURL,t.alt=e.tournamentName||``,t.loading=`lazy`,t.addEventListener(`error`,()=>mx(n,e)),n.appendChild(t)}else px(n,e);if(t.cornerBadges.length){let r=hx(e,t.cornerBadges);r&&n.appendChild(r)}return n}function px(e,t){let n=yb(t.courtSvgSport,Kb());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=qb(),e.appendChild(r)}function mx(e,t){e.querySelector(`.${Gb()}`)?.remove(),px(e,t)}function hx(e,t){let n=[];for(let r of t){let t=gx(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=Jb();for(let e of n)r.appendChild(e);return r}function gx(e,t){if(e===`status`){if(!t.status)return null;let e=document.createElement(`div`);return e.className=Yb(),e.dataset.kind=t.status.kind,e.textContent=t.status.label,e}if(e===`offline`){if(!t.offline)return null;let e=document.createElement(`div`);return e.className=Xb(),e.textContent=`Offline`,e}return null}function _x(e,t){let n=document.createElement(`div`);n.className=Zb();for(let r of t.body){let t=vx(r,e);t&&n.appendChild(t)}return n}function vx(e,t){switch(e){case`title`:return yx(t);case`tier`:return bx(t);case`location`:return xx(t);case`dateRange`:return Sx(t);case`organizerName`:return Cx(t);case`updatedAt`:return wx(t);default:return null}}function yx(e){if(!e.tournamentName)return null;let t=document.createElement(`div`);return t.className=Qb(),t.textContent=e.tournamentName,t.title=e.tournamentName,t}function bx(e){let t=e.tournamentTier?.value;if(!t)return null;let n=document.createElement(`div`);return n.className=sx(),n.textContent=t,n.title=e.tournamentTier?.system?`${e.tournamentTier.system}: ${t}`:t,n}function xx(e){if(!e.location)return null;let t=document.createElement(`div`);return t.className=$b(),t.textContent=e.location,t.title=e.location,t}function Sx(e){if(!e.dateRangeFormatted)return null;let t=document.createElement(`div`);return t.className=ex(),t.textContent=e.dateRangeFormatted,t}function Cx(e){if(!e.organizerName)return null;let t=document.createElement(`div`);return t.className=tx(),t.textContent=e.organizerName,t}function wx(e){if(!e.updatedAt)return null;let t=document.createElement(`div`);t.className=nx();let n=new Date(e.updatedAt);return t.textContent=Number.isNaN(n.getTime())?e.updatedAt:n.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}),t}function Tx(e,t){let n=document.createElement(`div`);n.className=rx();for(let r of t.footer){let t=Ex(r,e);t&&n.appendChild(t)}return n}function Ex(e,t){switch(e){case`feeBadge`:return Dx(t);case`playerCount`:return Ox(t);case`eventCount`:return kx(t);default:return null}}function Dx(e){if(!e.feeFormatted)return null;let t=document.createElement(`div`);return t.className=ix(),t.textContent=e.feeFormatted,t}function Ox(e){if(typeof e.participantCount!=`number`)return null;let t=document.createElement(`div`);return t.className=ax(),t.textContent=`${e.participantCount} ${e.participantCount===1?`player`:`players`}`,t}function kx(e){if(typeof e.eventCount!=`number`)return null;let t=document.createElement(`div`);return t.className=ox(),t.textContent=`${e.eventCount} ${e.eventCount===1?`event`:`events`}`,t}function Ax(e){let t=Bb(e);return Rb({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:cx(),imageClass:Wb(),bodyClass:Zb(),footerClass:rx(),blockClass:ux(),lineClass:lx()})}var jx=6048e5;function Mx(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function Nx(e,t,n){return!t||!n?!1:t.getTime()<=e.getTime()&&e.getTime()<n.getTime()}function Px(e){return`Opens ${e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}`}function Fx(e,t=new Date){let n=e.tournamentStatus?.toUpperCase();if(n===`CANCELLED`||n===`ABANDONDED`||n===`ABANDONED`)return{kind:`cancelled`,label:`Cancelled`};let r=e.timeZone,i=Tb(e.endDate),a=i?Db(i,r):null;if(n===`COMPLETED`||a&&t.getTime()>=a.getTime())return{kind:`completed`,label:`Completed`};let o=Tb(e.startDate);if(Nx(t,o?Eb(o,r):null,a))return{kind:`live`,label:`Live`};let s=Mx(e.entriesClose);if(s){let e=s.getTime()-t.getTime();if(e>0&&e<=jx)return{kind:`closing-soon`,label:`Closing Soon`}}let c=Mx(e.entriesOpen);return c&&c.getTime()>t.getTime()?{kind:`registration-opens`,label:Px(c)}:null}var Ix=`–`,Lx={JPY:0,KRW:0,VND:0,CLP:0,ISK:0,KWD:3,BHD:3,OMR:3,JOD:3,TND:3};function Rx({amount:e,currencyCode:t,unit:n}){return n===`MAJOR`?e:e/10**(Lx[t]??2)}function zx(e,t){try{return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:t}).format(e)}catch{return`${e.toFixed(2)} ${t}`}}function Bx(e){let t=[];for(let n of e)typeof n?.amount!=`number`||Number.isNaN(n.amount)||n.currencyCode&&n.unit&&t.push({amount:n.amount,currencyCode:n.currencyCode,unit:n.unit});return t}function Vx(e){if(!e?.length)return null;let t=Bx(e);if(!t.length)return null;let n=new Map;for(let e of t){let t=`${e.currencyCode}/${e.unit}`,r=n.get(t);r?r.push(e):n.set(t,[e])}let r=[...n.values()].sort((e,t)=>t.length-e.length),i=r[0],a=i[0].currencyCode,o=i.map(Rx).sort((e,t)=>e-t),s=o[0],c=o.at(-1)??s;return r.length>1?`From ${a} ${zx(s,a)}`:s===c?`${a} ${zx(s,a)}`:`${a} ${zx(s,a)} ${Ix} ${zx(c,a)}`}var Hx=`tournamentImage`;function Ux(e){let t=e?.registrationProfile?.entryFees;return Array.isArray(t)?t.filter(e=>e&&typeof e.amount==`number`):[]}function Wx(e,t){let n=e?.individualParticipantCount;return typeof n==`number`?n||void 0:t.filter(e=>(!e?.participantType||e.participantType===`INDIVIDUAL`)&&(!e?.participantRole||e.participantRole===`COMPETITOR`)).length||void 0}function Gx(e){let t=e?.timeItems;if(Array.isArray(t))return t.find(e=>e?.itemType===`TMX`)?.itemValue?.offline}function Kx(e){let{timeZone:n,error:r}=t.tournamentGovernor.getTournamentTimeZone({tournamentRecord:{localTimeZone:e?.localTimeZone||e?.timeZone,venues:Array.isArray(e?.venues)?e.venues:void 0}});return{tournamentStatus:e?.tournamentStatus,startDate:r?void 0:e?.startDate,endDate:r?void 0:e?.endDate,entriesOpen:e?.registrationProfile?.entriesOpen,entriesClose:e?.registrationProfile?.entriesClose,timeZone:n}}function qx(e,t){let n=Array.isArray(e?.onlineResources)?e.onlineResources:void 0,r=Array.isArray(e?.venues)?e.venues:[],i=Array.isArray(e?.participants)?e.participants:[],a=Array.isArray(e?.events)?e.events:[],o=t?.statusOverride===void 0?Fx(Kx(e),t?.now):t.statusOverride,s=e?.tournamentImageURL??Pb(n,Hx),c=e?.courtSvgSport??Fb(n);return{tournamentId:e?.tournamentId??``,tournamentName:e?.tournamentName??``,startDate:e?.startDate,endDate:e?.endDate,dateRangeFormatted:jb(e?.startDate,e?.endDate),location:Sb(r),tournamentImageURL:s,courtSvgSport:c,participantCount:Wx(e,i),eventCount:a.length||void 0,organizerName:e?.tournamentOrganizers?.find?.(Boolean)?.organizerName,status:o,feeFormatted:Vx(Ux(e)),updatedAt:e?.updatedAt,offline:Gx(e),tournamentTier:Jx(e)}}function Jx(e){let t=e?.tournamentTier;if(!t||typeof t!=`object`||typeof t.system!=`string`||typeof t.value!=`string`)return;let n={system:t.system,value:t.value};return typeof t.numericRank==`number`&&Number.isFinite(t.numericRank)&&(n.numericRank=t.numericRank),n}var Yx={showImage:!0,showMap:!0,cornerBadges:[`primaryBadge`],body:[`title`,`address`,`courtBreakdown`],footer:[`amenityRow`]};function Xx(e){return e?{showImage:e.showImage??Yx.showImage,showMap:e.showMap??Yx.showMap,cornerBadges:e.cornerBadges??Yx.cornerBadges,body:e.body??Yx.body,footer:e.footer??Yx.footer}:Yx}var Zx=()=>`chc-vc-card`,Qx=()=>`chc-vc-card--clickable`,$x=()=>`chc-vc-image`,eS=()=>`chc-vc-image-img`,tS=()=>`chc-vc-image-svg`,nS=()=>`chc-vc-image-map`,rS=()=>`chc-vc-image-placeholder`,iS=()=>`chc-vc-corner-badges`,aS=()=>`chc-vc-primary-badge`,oS=()=>`chc-vc-body`,sS=()=>`chc-vc-title`,cS=()=>`chc-vc-address`,lS=()=>`chc-vc-court-breakdown`,uS=()=>`chc-vc-footer`,dS=()=>`chc-vc-amenity-row`,fS=()=>`chc-vc-amenity`,pS=()=>`chc-vc-card chc-vc-skeleton`,mS=()=>`chc-vc-skeleton-line`,hS=()=>`chc-vc-skeleton-block`;function gS(e,t,n){let r=Xx(t),i=document.createElement(`div`);i.className=Zx(),i.dataset.venueId=e.venueId;let a=null;r.showImage!==!1&&(a=bS(e,r,()=>f()),i.appendChild(a));let o=r.body.length?OS(e,r):null;o&&i.appendChild(o);let s=r.footer.length?MS(e,r):null;s&&i.appendChild(s);function c(){return!!a?.querySelector(`iframe`)}let l=new Map;function u(e,t){if(l.has(e))return;let n=e=>{e.stopPropagation(),t()},r=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),t())};e.classList.add(Qx()),e.tabIndex=0,e.addEventListener(`click`,n),e.addEventListener(`keydown`,r),l.set(e,{click:n,keydown:r})}function d(e){let t=l.get(e);t&&(e.removeEventListener(`click`,t.click),e.removeEventListener(`keydown`,t.keydown),e.classList.remove(Qx()),e.removeAttribute(`tabindex`),l.delete(e))}function f(){if(!n?.onClick)return;let t=()=>n.onClick(e);c()?(d(i),o&&u(o,t),s&&u(s,t)):(o&&d(o),s&&d(s),u(i,t))}return f(),i}function _S(e){return typeof e.latitude==`number`&&typeof e.longitude==`number`}function vS(e){let t=e.latitude,n=e.longitude,r=.01,i=`https://www.openstreetmap.org/export/embed.html?bbox=${`${n-r},${t-r},${n+r},${t+r}`}&marker=${t},${n}&layer=mapnik`,a=document.createElement(`iframe`);return a.className=nS(),a.src=i,a.loading=`lazy`,a.title=`Map of ${e.venueName}`,a}function yS(e,t){let n=yb(t.courtSvgSport,tS());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=rS(),e.appendChild(r)}function bS(e,t,n){let r=document.createElement(`div`);if(r.className=$x(),e.venueImageURL){let i=document.createElement(`img`);i.className=eS(),i.src=e.venueImageURL,i.alt=e.venueName||``,i.loading=`lazy`,i.addEventListener(`error`,()=>{i.remove(),t.showMap!==!1&&_S(e)?r.appendChild(vS(e)):yS(r,e),n?.()}),r.appendChild(i)}else t.showMap!==!1&&_S(e)?r.appendChild(vS(e)):yS(r,e);if(t.cornerBadges.length){let n=SS(e,t.cornerBadges);n&&r.appendChild(n)}return r}function xS(e,t){if(e===`primaryBadge`){if(!t.isPrimary)return null;let e=document.createElement(`div`);return e.className=aS(),e.textContent=`Primary`,e}return null}function SS(e,t){let n=[];for(let r of t){let t=xS(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=iS();for(let e of n)r.appendChild(e);return r}function CS(e){if(!e.venueName)return null;let t=document.createElement(`div`);return t.className=sS(),t.textContent=e.venueName,t.title=e.notes?`${e.venueName}\n${e.notes}`:e.venueName,t}function wS(e){if(!e.addressFormatted)return null;let t=document.createElement(`div`);return t.className=cS(),t.textContent=e.addressFormatted,t.title=e.addressFormatted,t}function TS(e){if(!e.courtBreakdown)return null;let t=document.createElement(`div`);return t.className=lS(),t.textContent=e.courtBreakdown,t}function ES(e){if(!e.venueAbbreviation)return null;let t=document.createElement(`div`);return t.className=lS(),t.textContent=e.venueAbbreviation,t}function DS(e,t){return e===`title`?CS(t):e===`address`?wS(t):e===`courtBreakdown`?TS(t):e===`venueAbbreviation`?ES(t):null}function OS(e,t){let n=document.createElement(`div`);n.className=oS();for(let r of t.body){let t=DS(r,e);t&&n.appendChild(t)}return n}function kS(e){let t=document.createElement(`span`);return t.className=fS(),t.textContent=e,t}function AS(e){let t=[];if(typeof e.courtCount==`number`&&t.push(kS(`${e.courtCount} ${e.courtCount===1?`court`:`courts`}`)),e.indoorCount&&t.push(kS(`${e.indoorCount} indoor`)),e.outdoorCount&&t.push(kS(`${e.outdoorCount} outdoor`)),e.floodlitCount&&t.push(kS(`${e.floodlitCount} lit`)),!t.length)return null;let n=document.createElement(`div`);n.className=dS();for(let e of t)n.appendChild(e);return n}function jS(e,t){return e===`amenityRow`?AS(t):e===`address`?wS(t):e===`courtBreakdown`?TS(t):null}function MS(e,t){let n=document.createElement(`div`);n.className=uS();for(let r of t.footer){let t=jS(r,e);t&&n.appendChild(t)}return n}function NS(e){let t=Xx(e);return Rb({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:pS(),imageClass:$x(),bodyClass:oS(),footerClass:uS(),blockClass:hS(),lineClass:mS()})}var PS=`venueImage`;function FS(e){let t=[];return e.indoorOutdoor&&t.push(e.indoorOutdoor.toLowerCase()),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),t.length?t.join(` `):`court`}function IS(e){if(!e.length)return;let t=new Map;for(let n of e){let e=FS(n);t.set(e,(t.get(e)??0)+1)}return[...t.entries()].sort((e,t)=>t[1]-e[1]).map(([e,t])=>`${t} ${e}`).join(`, `)}function LS(e,t){let n=0;for(let r of e)t(r)&&(n+=1);return n}function RS(e,t){let n=Array.isArray(e?.courts)?e.courts:[],r=Array.isArray(e?.onlineResources)?e.onlineResources:void 0,i=e?.addresses?.find(e=>e);return{venueId:e?.venueId??``,venueName:e?.venueName??``,venueAbbreviation:e?.venueAbbreviation,addressFormatted:xb(i),latitude:Ib(i?.latitude),longitude:Ib(i?.longitude),courtCount:n.length||void 0,courtBreakdown:IS(n),indoorCount:LS(n,e=>e.indoorOutdoor===`INDOOR`)||void 0,outdoorCount:LS(n,e=>e.indoorOutdoor===`OUTDOOR`)||void 0,floodlitCount:LS(n,e=>!!e.floodlit)||void 0,isPrimary:!!e?.isPrimary,venueImageURL:e?.venueImageURL??Pb(r,PS),courtSvgSport:e?.courtSvgSport??Fb(r)??t?.sport,notes:e?.notes}}var zS={showImage:!0,cornerBadges:[`indoorOutdoor`,`floodlit`],body:[`title`,`surface`],footer:[`amenityRow`]};function BS(e){return e?{showImage:e.showImage??zS.showImage,cornerBadges:e.cornerBadges??zS.cornerBadges,body:e.body??zS.body,footer:e.footer??zS.footer}:zS}var VS=()=>`chc-cc-card`,HS=()=>`chc-cc-card--clickable`,US=()=>`chc-cc-image`,WS=()=>`chc-cc-image-svg`,GS=()=>`chc-cc-image-placeholder`,KS=()=>`chc-cc-corner-badges`,qS=()=>`chc-cc-indoor-badge`,JS=()=>`chc-cc-floodlit-badge`,YS=()=>`chc-cc-body`,XS=()=>`chc-cc-title`,ZS=()=>`chc-cc-surface`,QS=()=>`chc-cc-availability`,$S=()=>`chc-cc-abbr`,eC=()=>`chc-cc-footer`,tC=()=>`chc-cc-amenity-row`,nC=()=>`chc-cc-card chc-cc-skeleton`,rC=()=>`chc-cc-skeleton-line`,iC=()=>`chc-cc-skeleton-block`;function aC(e,t,n){let r=BS(t),i=document.createElement(`div`);return i.className=VS(),i.dataset.courtId=e.courtId,n?.onClick&&(i.classList.add(HS()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showImage!==!1&&i.appendChild(sC(e,r)),r.body.length&&i.appendChild(_C(e,r)),r.footer.length&&i.appendChild(bC(e,r)),i}function oC(e,t){let n=yb(t.courtSvgSport,WS());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=GS(),e.appendChild(r)}function sC(e,t){let n=document.createElement(`div`);if(n.className=US(),e.surfaceCategory&&(n.dataset.surface=e.surfaceCategory),oC(n,e),t.cornerBadges.length){let r=dC(e,t.cornerBadges);r&&n.appendChild(r)}return n}function cC(e){if(!e.indoorOutdoor)return null;let t=document.createElement(`div`);return t.className=qS(),t.dataset.kind=e.indoorOutdoor,t.textContent=e.indoorOutdoor===`INDOOR`?`Indoor`:`Outdoor`,t}function lC(e){if(!e.floodlit)return null;let t=document.createElement(`div`);return t.className=JS(),t.textContent=`Lit`,t}function uC(e,t){return e===`indoorOutdoor`?cC(t):e===`floodlit`?lC(t):null}function dC(e,t){let n=[];for(let r of t){let t=uC(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=KS();for(let e of n)r.appendChild(e);return r}function fC(e){if(!e.courtName)return null;let t=document.createElement(`div`);return t.className=XS(),t.textContent=e.courtName,t.title=e.notes?`${e.courtName}\n${e.notes}`:e.courtName,t}function pC(e){if(!e.surfaceLabel)return null;let t=document.createElement(`div`);return t.className=ZS(),t.textContent=e.surfaceLabel,t}function mC(e){if(!e.availabilitySummary)return null;let t=document.createElement(`div`);return t.className=QS(),t.textContent=e.availabilitySummary,t}function hC(e){if(!e.courtAbbreviation)return null;let t=document.createElement(`div`);return t.className=$S(),t.textContent=e.courtAbbreviation,t}function gC(e,t){return e===`title`?fC(t):e===`surface`?pC(t):e===`availability`?mC(t):e===`abbreviation`?hC(t):null}function _C(e,t){let n=document.createElement(`div`);n.className=YS();for(let r of t.body){let t=gC(r,e);t&&n.appendChild(t)}return n}function vC(e){let t=[];if(e.indoorOutdoor&&t.push(e.indoorOutdoor===`INDOOR`?`indoor`:`outdoor`),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),e.floodlit&&t.push(`floodlit`),!t.length)return null;let n=document.createElement(`div`);return n.className=tC(),n.textContent=t.join(` · `),n}function yC(e,t){return e===`amenityRow`?vC(t):e===`availability`?mC(t):e===`surface`?pC(t):null}function bC(e,t){let n=document.createElement(`div`);n.className=eC();for(let r of t.footer){let t=yC(r,e);t&&n.appendChild(t)}return n}function xC(e){let t=BS(e);return Rb({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:nC(),imageClass:US(),bodyClass:YS(),footerClass:eC(),blockClass:iC(),lineClass:rC()})}var SC=`INDOOR`,CC=`OUTDOOR`,wC=new Set([`HARD`,`CLAY`,`GRASS`,`ARTIFICIAL`,`CARPET`]);function TC(e){if(!e)return;let t=String(e).toUpperCase();if(t===SC)return SC;if(t===CC)return CC}function EC(e){let t=e?.surfaceCategory?String(e.surfaceCategory).toUpperCase():void 0;if(t&&wC.has(t))return t;let n=e?.surfaceType?String(e.surfaceType).toUpperCase():void 0;return n&&wC.has(n)?n:t}function DC(e,t){let n=[];return e&&n.push(e.charAt(0)+e.slice(1).toLowerCase()),t&&n.push(t.charAt(0)+t.slice(1).toLowerCase()),n.length?n.join(` · `):void 0}function OC(e,t){let n=TC(e?.indoorOutdoor),r=EC(e);return{courtId:e?.courtId??``,courtName:e?.courtName??``,courtAbbreviation:e?.courtAbbreviation,surfaceLabel:DC(n,r),indoorOutdoor:n,surfaceCategory:r,floodlit:!!e?.floodlit,courtSvgSport:t?.sport,notes:e?.notes}}var kC={grouping:`setting`,sport:`tennis`,showGroupHeadings:!0,showSummary:!0,minCardWidth:`11rem`,emptyMessage:`No courts recorded for this venue`};function AC(e){return e?{grouping:e.grouping??kC.grouping,sport:e.sport??kC.sport,showGroupHeadings:e.showGroupHeadings??kC.showGroupHeadings,showSummary:e.showSummary??kC.showSummary,minCardWidth:e.minCardWidth??kC.minCardWidth,emptyMessage:e.emptyMessage??kC.emptyMessage}:kC}var jC=()=>`chc-cl`,MC=()=>`chc-cl-summary`,NC=()=>`chc-cl-summary-count`,PC=()=>`chc-cl-group`,FC=()=>`chc-cl-group-heading`,IC=()=>`chc-cl-group-count`,LC=()=>`chc-cl-grid`,RC=()=>`chc-cl-empty`,zC=`Unspecified`,BC=`Unspecified surface`;function VC(e){return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}function HC(e){let t=typeof e.indoorOutdoor==`string`?e.indoorOutdoor.trim():``;return t?VC(t):zC}function UC(e){let t=typeof e.surfaceCategory==`string`?e.surfaceCategory.trim():``;return t?VC(t):BC}function WC(e,t){let n=Mb(e);if(t===`none`)return[{key:`all`,label:`All courts`,courts:n}];let r=e=>t===`setting`?HC(e):t===`surface`?UC(e):`${HC(e)} · ${UC(e)}`,i=new Map;for(let e of n){let t=r(e),n=i.get(t);n?n.courts.push(e):i.set(t,{key:t,label:t,courts:[e]})}return[...i.values()]}function GC(e){let t=new Map;for(let n of e){let e=HC(n),r=UC(n),i=`${e===zC?``:e.toLowerCase()} ${r===BC?``:r.toLowerCase()}`.trim()||`court`;t.set(i,(t.get(i)??0)+1)}return[...t.entries()].sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])).map(([e,t])=>`${t} ${e}`).join(`, `)}function KC(e,t,n){let r=AC(t),i=e.courts??[],a=document.createElement(`div`);if(a.className=jC(),e.venueId&&(a.dataset.venueId=e.venueId),!i.length){let e=document.createElement(`div`);return e.className=RC(),e.textContent=r.emptyMessage,a.appendChild(e),a}r.showSummary&&a.appendChild(qC(i));for(let e of WC(i,r.grouping))a.appendChild(JC(e,r,n));return a}function qC(e){let t=document.createElement(`div`);t.className=MC();let n=document.createElement(`span`);n.className=NC(),n.textContent=`${e.length} ${e.length===1?`court`:`courts`}`;let r=document.createElement(`span`);return r.textContent=GC(e),t.append(n,r),t}function JC(e,t,n){let r=document.createElement(`div`);if(r.className=PC(),r.dataset.group=e.key,t.showGroupHeadings&&t.grouping!==`none`){let t=document.createElement(`div`);t.className=FC();let n=document.createElement(`span`);n.textContent=e.label;let i=document.createElement(`span`);i.className=IC(),i.textContent=String(e.courts.length),t.append(n,i),r.appendChild(t)}let i=document.createElement(`div`);i.className=LC(),i.style.setProperty(`--chc-cl-min-card`,t.minCardWidth);for(let r of e.courts)i.appendChild(XC(r,t,n));return r.appendChild(i),r}function YC(e){if(e===`setting`||e===`both`)return{cornerBadges:[`floodlit`]}}function XC(e,t,n){let r=OC(e,{sport:t.sport}),i=n?.onCourtClick?{onClick:()=>n.onCourtClick?.(e)}:void 0;return aC(r,YC(t.grouping),i)}var ZC={tiles:{map:{tileLayer:`https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`,attribution:`© <a href="https://openstreetmap.org">OpenStreetMap</a> Contributors`,maxZoom:18},satellite:{tileLayer:`https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}`,attribution:`Tiles © Esri`}},darkTileLayer:{tileLayer:`https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png`,attribution:`© <a href="https://openstreetmap.org">OpenStreetMap</a> Contributors © <a href="https://carto.com/attributions">CARTO</a>`,maxZoom:20},view:`map`,showViewToggle:!0,zoom:16,height:`320px`,courtsLayout:`side`,showHeader:!0,showPopup:!0,scrollWheelZoom:!1,darkTiles:`auto`};function QC(e){return e?{tiles:e.tiles??ZC.tiles,darkTileLayer:e.darkTileLayer===void 0?ZC.darkTileLayer:e.darkTileLayer,view:e.view??ZC.view,showViewToggle:e.showViewToggle??ZC.showViewToggle,zoom:e.zoom??ZC.zoom,height:e.height??ZC.height,courtsLayout:e.courtsLayout??ZC.courtsLayout,showHeader:e.showHeader??ZC.showHeader,showPopup:e.showPopup??ZC.showPopup,scrollWheelZoom:e.scrollWheelZoom??ZC.scrollWheelZoom,darkTiles:e.darkTiles??ZC.darkTiles}:ZC}var $C=()=>`chc-vl`,ew=()=>`chc-vl-header`,tw=()=>`chc-vl-title`,nw=()=>`chc-vl-address`,rw=()=>`chc-vl-notes`,iw=()=>`chc-vl-body`,aw=()=>`chc-vl-body--below`,ow=()=>`chc-vl-mapwrap`,sw=()=>`chc-vl-map`,cw=()=>`chc-vl-map--invertible`,lw=()=>`chc-vl-toggle`,uw=()=>`chc-vl-toggle-btn`,dw=()=>`chc-vl-fallback`,fw=()=>`chc-vl-fallback-icon`,pw=()=>`chc-vl-courts`,mw=()=>`chc-vl-courts-title`,hw=()=>`chc-vl-court-list`,gw=()=>`chc-vl-court`,_w=()=>`chc-vl-court--clickable`,vw=()=>`chc-vl-court-name`,yw=()=>`chc-vl-court-meta`,bw=()=>`chc-vl-pip`,xw=()=>`chc-vl-marker`,Sw=()=>`chc-vl-popup-title`,Cw=()=>`chc-vl-popup-address`,ww=`No coordinates for this venue`,Tw=`Map unavailable`,Ew=new WeakMap;function Dw(e){return Number.isFinite(e.latitude)&&Number.isFinite(e.longitude)}function Ow(e){return Mb(e)}function kw(e){let t=[];return e.indoorOutdoor&&t.push(e.indoorOutdoor.toLowerCase()),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),t.join(` · `)}function Aw(e,t,n){let r=QC(t),i=document.createElement(`div`);i.className=$C(),i.dataset.venueId=e.venueId;let a={disposed:!1,cleanup:()=>{}};Ew.set(i,()=>{a.disposed=!0,a.cleanup()}),r.showHeader&&i.appendChild(see(e));let o=document.createElement(`div`);o.className=r.courtsLayout===`side`?iw():`${iw()} ${aw()}`;let{wrap:s,mapEl:c}=Nw(e,r,n);o.appendChild(s);let l=e.courts??[];return r.courtsLayout!==`none`&&l.length&&o.appendChild(Iw(l,e,n)),i.appendChild(o),c&&Dw(e)&&Rw({root:i,mapEl:c,data:e,cfg:r,callbacks:n,lifetime:a}).catch(()=>void 0),i}function jw(e){let t=Ew.get(e);t&&(t(),Ew.delete(e))}function see(e){let t=document.createElement(`div`);t.className=ew();let n=document.createElement(`div`);if(n.className=tw(),n.textContent=e.venueName,t.appendChild(n),e.addressFormatted){let n=document.createElement(`div`);n.className=nw(),n.textContent=e.addressFormatted,t.appendChild(n)}if(e.notes){let n=document.createElement(`div`);n.className=rw(),n.textContent=e.notes,t.appendChild(n)}return t}function Mw(e){let t=document.createElement(`div`);t.className=dw();let n=document.createElement(`div`);n.className=fw(),n.textContent=`📍`,n.setAttribute(`aria-hidden`,`true`);let r=document.createElement(`div`);return r.textContent=e,t.append(n,r),t}function Nw(e,t,n){let r=document.createElement(`div`);if(r.className=ow(),r.style.height=t.height,!Dw(e))return r.appendChild(Mw(ww)),{wrap:r,mapEl:null};let i=document.createElement(`div`);i.className=sw(),i.appendChild(Mw(``)),r.appendChild(i);let a=Object.keys(t.tiles);return t.showViewToggle&&a.length>1&&r.appendChild(Pw(a,t,n)),{wrap:r,mapEl:i}}function Pw(e,t,n){let r=document.createElement(`div`);r.className=lw(),r.dataset.viewToggle=`true`;let i=[];for(let a of e){let e=document.createElement(`button`);e.type=`button`,e.className=uw(),e.dataset.view=a,e.textContent=a===`satellite`?`Satellite`:`Map`,e.setAttribute(`aria-pressed`,String(a===t.view)),e.addEventListener(`click`,()=>{for(let t of i)t.setAttribute(`aria-pressed`,String(t===e));n?.onViewChange?.(a)}),i.push(e),r.appendChild(e)}return r}function Fw(e,t,n){let r=!!n?.onCourtClick,i=document.createElement(r?`button`:`div`);i.className=r?`${gw()} ${_w()}`:gw(),i.dataset.courtId=e.courtId,r&&(i.type=`button`,i.addEventListener(`click`,()=>n?.onCourtClick?.(e,t)));let a=document.createElement(`span`);a.className=vw(),a.textContent=e.courtName;let o=document.createElement(`span`);o.className=yw();let s=kw(e);if(s&&o.append(document.createTextNode(s)),e.floodlit){let e=document.createElement(`span`);e.className=bw(),e.title=`floodlit`,o.appendChild(e)}return i.append(a,o),i}function Iw(e,t,n){let r=document.createElement(`div`);r.className=pw();let i=document.createElement(`div`);i.className=mw(),i.textContent=`Courts (${e.length})`,r.appendChild(i);let a=document.createElement(`div`);a.className=hw();for(let r of Ow(e))a.appendChild(Fw(r,t,n));return r.appendChild(a),r}function Lw(e){let t=e=>e.replace(/[&<>"]/g,e=>({"&":`&`,"<":`<`,">":`>`,'"':`"`})[e]),n=e.addressFormatted?`<div class="${Cw()}">${t(e.addressFormatted)}</div>`:``;return`<div class="${Sw()}">${t(e.venueName)}</div>${n}`}async function Rw({root:e,mapEl:t,data:n,cfg:r,callbacks:i,lifetime:a}){let o;try{o=await import(`leaflet`)}catch(e){if(a.disposed)return;t.replaceChildren(Mw(Tw)),i?.onMapUnavailable?.(Error(`leaflet is an optional peerDependency of courthive-components and is not installed`,{cause:e}));return}if(a.disposed)return;let s=o.default??o;try{t.replaceChildren();let o=s.map(t,{scrollWheelZoom:r.scrollWheelZoom,attributionControl:!0}),c,l,u=!1;a.cleanup=()=>{u||(u=!0,c?.disconnect(),l?.disconnect(),o.remove())},o.setView([n.latitude,n.longitude],r.zoom);let d=r.view,f=Ww(s,o,r,d);Gw(t,r,d);let p=e=>{d=e,o.removeLayer(f),f=Ww(s,o,r,e),Gw(t,r,e)},m=s.divIcon({className:``,html:`<div class="${xw()}"></div>`,iconSize:[14,14]}),h=s.marker([n.latitude,n.longitude],{icon:m}).addTo(o);r.showPopup&&h.bindPopup(Lw(n)),h.on(`click`,()=>i?.onVenueClick?.(n)),e.querySelector(`[data-view-toggle]`)?.addEventListener(`click`,e=>{let t=e.target?.closest(`button[data-view]`);t&&p(t.dataset.view)}),Vw(t),c=new ResizeObserver(()=>o.invalidateSize()),c.observe(t);let g=globalThis.document?.documentElement;if(g&&r.darkTiles!==`never`&&r.darkTileLayer){let e=Hw();l=new MutationObserver(()=>{let t=Hw();t!==e&&(e=t,d!==`satellite`&&p(d))}),l.observe(g,{attributes:!0,attributeFilter:[`data-theme`]})}}catch(e){if(a.cleanup(),a.disposed)return;t.replaceChildren(Mw(Tw)),i?.onMapUnavailable?.(Error(`Leaflet map failed to initialize`,{cause:e}))}}var zw=!1;function Bw(e){return e?e!==`relative`&&e!==`absolute`:!1}function Vw(e){zw||Bw(globalThis.getComputedStyle?.(e)?.position)&&(zw=!0,console.warn("[courthive-components] venue-locator: leaflet's stylesheet is missing — the map will render incorrectly. Add `import 'leaflet/dist/leaflet.css';` to the host application."))}function Hw(){return globalThis.document?.documentElement?.dataset.theme===`dark`}function Uw(e,t,n){let r=e.tiles[t]??e.tiles.map;return t===`satellite`||e.darkTiles===`never`||!n?r:e.darkTileLayer??r}function Ww(e,t,n,r){let i=Uw(n,r,Hw());return e.tileLayer(i.tileLayer,{attribution:i.attribution,maxZoom:i.maxZoom??19}).addTo(t)}function Gw(e,t,n){let r=t.darkTiles===`auto`&&n!==`satellite`&&!t.darkTileLayer;e.classList.toggle(cw(),r)}function Kw(...e){for(let t of e)if(typeof t==`number`&&Number.isFinite(t))return t}function qw(e,t){let n=typeof e?.indoorOutdoor==`string`?e.indoorOutdoor.toUpperCase():void 0;return{courtId:e?.courtId??`court-${t+1}`,courtName:e?.courtName??`Court ${t+1}`,indoorOutdoor:n===`INDOOR`||n===`OUTDOOR`?n:void 0,surfaceCategory:e?.surfaceCategory,floodlit:e?.floodlit,courtOrder:Kw(e?.courtOrder),latitude:Lb(e?.latitude),longitude:Lb(e?.longitude)}}function Jw(e){let t=Array.isArray(e?.courts)?e.courts:[],n=e?.addresses?.find(e=>e);return{venueId:e?.venueId??``,venueName:e?.venueName??e?.venueAbbreviation??``,venueAbbreviation:e?.venueAbbreviation,addressFormatted:xb(n),latitude:Lb(e?.latitude,n?.latitude),longitude:Lb(e?.longitude,n?.longitude),courts:t.map(qw),notes:e?.notes}}var Yw=()=>`chc-team-card`,Xw=()=>`chc-team-card--clickable`,Zw=()=>`chc-team-card__title-row`,Qw=()=>`chc-team-card__name`,$w=()=>`chc-team-card__nickname`,eT=()=>`chc-team-card__counts`,tT=` · `;function nT(e,t){let n=document.createElement(`div`);n.className=Yw(),e.teamId&&(n.dataset.teamId=e.teamId),t?.onClick&&(n.classList.add(Xw()),n.tabIndex=0,n.setAttribute(`role`,`button`),n.addEventListener(`click`,n=>{n.stopPropagation(),t.onClick(e)}),n.addEventListener(`keydown`,n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),n.stopPropagation(),t.onClick(e))})),n.appendChild(rT(e));let r=(e.countSegments??[]).map(e=>(e??``).trim()).filter(Boolean);return r.length&&n.appendChild(iT(r)),n}function rT(e){let t=document.createElement(`div`);t.className=Zw();let n=document.createElement(`span`);if(n.className=Qw(),n.textContent=e.teamName,t.appendChild(n),e.nickname){let n=document.createElement(`span`);n.className=$w(),n.textContent=`"${e.nickname}"`,t.appendChild(n)}return t}function iT(e){let t=document.createElement(`div`);return t.className=eT(),t.textContent=e.join(tT),t}var aT=[`COMPETITIVE`,`ROUTINE`,`DECISIVE`,`WALKOVER`],oT=new Set([`WALKOVER`,`DOUBLE_WALKOVER`,`DEFAULTED`,`DOUBLE_DEFAULT`]);function sT(){return{COMPETITIVE:0,ROUTINE:0,DECISIVE:0,WALKOVER:0}}function cT(e){let t=sT();if(!Array.isArray(e))return t;for(let n of e){let e=typeof n?.getData==`function`?n.getData():n;if(!e)continue;if(e.matchUpStatus&&oT.has(e.matchUpStatus)){t.WALKOVER+=1;continue}let r=e.competitiveProfile?.competitiveness;r&&r!==`WALKOVER`&&aT.includes(r)&&(t[r]+=1)}return t}function lT(e){return aT.reduce((t,n)=>t+e[n],0)}var uT={COMPETITIVE:`Competitive`,ROUTINE:`Routine`,DECISIVE:`Decisive`,WALKOVER:`Walkover / Defaulted`};function dT(e={}){let{onSegmentClick:t}=e,n=document.createElement(`div`);n.className=`chc-cb`;let r={};for(let e of aT){let i=document.createElement(`div`);i.className=`chc-cb__seg`,i.dataset.bucket=e,t&&(i.classList.add(`is-clickable`),i.setAttribute(`role`,`button`),i.addEventListener(`click`,()=>t(e))),r[e]=i,n.appendChild(i)}return{element:n,update:e=>{let t=lT(e);if(n.style.display=t>0?`flex`:`none`,t)for(let t of aT){let n=r[t],i=e[t];i===0?(n.style.flex=`0 0 0`,n.style.padding=`0`,n.textContent=``,n.removeAttribute(`title`)):(n.style.flex=`${i} 1 0`,n.style.padding=`0 4px`,n.textContent=String(i),n.title=`${uT[t]}: ${i}`)}},setActive:e=>{n.classList.toggle(`has-active`,!!e);for(let t of aT)r[t].classList.toggle(`is-active`,t===e)}}}var fT={COMPETITIVE:`Competitive`,ROUTINE:`Routine`,DECISIVE:`Decisive`,WALKOVER:`Walkover / Defaulted`},pT=`http://www.w3.org/2000/svg`,mT=96,hT=mT/2,gT=47,_T=31;function vT(e,t){return{x:hT+t*Math.cos(e),y:hT+t*Math.sin(e)}}function yT(e,t){let n=vT(e,gT),r=vT(t,gT),i=vT(t,_T),a=vT(e,_T),o=+(t-e>Math.PI);return[`M ${n.x} ${n.y}`,`A ${gT} ${gT} 0 ${o} 1 ${r.x} ${r.y}`,`L ${i.x} ${i.y}`,`A ${_T} ${_T} 0 ${o} 0 ${a.x} ${a.y}`,`Z`].join(` `)}function bT(){let e=vT(-Math.PI/2,gT),t=vT(Math.PI/2,gT),n=vT(-Math.PI/2,_T),r=vT(Math.PI/2,_T);return[`M ${e.x} ${e.y}`,`A ${gT} ${gT} 0 1 1 ${t.x} ${t.y}`,`A ${gT} ${gT} 0 1 1 ${e.x} ${e.y}`,`L ${n.x} ${n.y}`,`A ${_T} ${_T} 0 1 0 ${r.x} ${r.y}`,`A ${_T} ${_T} 0 1 0 ${n.x} ${n.y}`,`Z`].join(` `)}function xT(){let e=document.createElement(`div`);e.className=`chc-cd`;let t=document.createElementNS(pT,`svg`);t.setAttribute(`viewBox`,`0 0 ${mT} ${mT}`),t.setAttribute(`class`,`chc-cd__svg`),t.setAttribute(`role`,`img`);let n={};for(let e of aT){let r=document.createElementNS(pT,`path`);r.setAttribute(`class`,`chc-cd__arc`),r.setAttribute(`data-bucket`,e),t.appendChild(r);let i=document.createElementNS(pT,`title`);r.appendChild(i),n[e]=r}let r=document.createElement(`div`);return r.className=`chc-cd__total`,e.appendChild(t),e.appendChild(r),{element:e,update:i=>{let a=lT(i);if(e.style.display=a>0?`inline-flex`:`none`,!a)return;let o=aT.filter(e=>i[e]>0),s=-Math.PI/2;for(let e of aT){let t=i[e],r=n[e],c=r.querySelector(`title`);if(t===0){r.removeAttribute(`d`),c&&(c.textContent=``);continue}if(o.length===1)r.setAttribute(`d`,bT());else{let e=t/a,n=s+e*Math.PI*2;r.setAttribute(`d`,yT(s,n)),s=n}c&&(c.textContent=`${fT[e]}: ${t}`)}r.textContent=String(a),t.setAttribute(`aria-label`,`Competitiveness across ${a} matches`)}}}function ST(e){let{segments:t,onSegmentClick:n}=e,r=document.createElement(`div`);r.className=`chc-sb`;let i={},a={};for(let{key:e,label:o,color:s}of t){i[e]=o;let t=document.createElement(`div`);t.className=`chc-sb__seg`,t.dataset.key=e,t.style.setProperty(`--seg-bg`,s),n&&(t.classList.add(`is-clickable`),t.setAttribute(`role`,`button`),t.addEventListener(`click`,()=>n(e))),a[e]=t,r.appendChild(t)}return{element:r,update:e=>{let n=t.reduce((t,n)=>t+(e[n.key]||0),0);if(r.style.display=n>0?`flex`:`none`,n)for(let{key:n}of t){let t=a[n],r=e[n]||0;r===0?(t.style.flex=`0 0 0`,t.style.padding=`0`,t.textContent=``,t.removeAttribute(`title`)):(t.style.flex=`${r} 1 0`,t.style.padding=`0 4px`,t.textContent=String(r),t.title=`${i[n]}: ${r}`)}},setActive:e=>{r.classList.toggle(`has-active`,!!e);for(let{key:n}of t)a[n].classList.toggle(`is-active`,n===e)}}}var CT={cornerBadges:[`status`,`publishedBadge`,`embargoBadge`],body:[`title`,`drawTypeLabel`,`matchUpProgress`],footer:[`drawSize`,`entries`,`matchUpFormat`,`flightNumber`,`ratings`],showVisualization:!1};function wT(e){return e?{cornerBadges:e.cornerBadges??CT.cornerBadges,body:e.body??CT.body,footer:e.footer??CT.footer,showVisualization:e.showVisualization??CT.showVisualization}:CT}var TT=()=>`chc-dc-card`,ET=()=>`chc-dc-card--clickable`,DT=()=>`chc-dc-corner-badges`,OT=()=>`chc-dc-status-pill`,kT=()=>`chc-dc-secondary-badge`,AT=()=>`chc-dc-body`,jT=()=>`chc-dc-viz`,MT=()=>`chc-dc-title-row`,NT=()=>`chc-dc-title`,PT=()=>`chc-dc-draw-type`,FT=()=>`chc-dc-meta`,IT=()=>`chc-dc-footer`,LT=()=>`chc-dc-chip`,RT=()=>`chc-dc-progress`,zT=()=>`chc-dc-progress-bar`,BT=()=>`chc-dc-progress-fill`,VT=()=>`chc-dc-card chc-dc-skeleton`,HT=()=>`chc-dc-skeleton-line`;function UT(e,t,n){let r=wT(t),i=document.createElement(`div`);if(i.className=TT(),i.dataset.drawId=e.drawId,e.eventId&&(i.dataset.eventId=e.eventId),n?.onClick&&(i.classList.add(ET()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showVisualization&&e.visualization){let t=document.createElement(`div`);t.className=jT(),t.appendChild(e.visualization),i.appendChild(t)}return(r.body.length||r.cornerBadges.length)&&i.appendChild(oE(e,r)),r.footer.length&&i.appendChild(sE(e,r)),i}function WT(e){if(!e.status)return null;let t=document.createElement(`div`);return t.className=OT(),t.dataset.kind=e.status.kind,t.textContent=e.status.label,t}function GT(e){if(!e.published)return null;let t=document.createElement(`div`);return t.className=kT(),t.dataset.kind=`published`,t.textContent=`Published`,t}function KT(e){if(!e.embargoActive)return null;let t=document.createElement(`div`);return t.className=kT(),t.dataset.kind=`embargo`,t.textContent=`Embargo`,t}function qT(e,t){return e===`status`?WT(t):e===`publishedBadge`?GT(t):e===`embargoBadge`?KT(t):null}function JT(e,t){let n=[];for(let r of t){let t=qT(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=DT();for(let e of n)r.appendChild(e);return r}function YT(e){if(!e.drawName)return null;let t=document.createElement(`div`);return t.className=NT(),t.textContent=e.drawName,t.title=e.drawName,t}function XT(e){if(!e.drawTypeLabel)return null;let t=document.createElement(`div`);return t.className=PT(),t.textContent=e.drawTypeLabel,t}function ZT(e){let t=document.createElement(`span`);return t.className=LT(),t.textContent=e,t}function QT(e){return typeof e.drawSize==`number`?ZT(`Size ${e.drawSize}`):null}function $T(e){return typeof e.entryCount==`number`?ZT(`${e.entryCount} ${e.entryCount===1?`entry`:`entries`}`):null}function eE(e){return e.matchUpFormat?ZT(e.matchUpFormat):null}function tE(e){return typeof e.flightNumber==`number`?ZT(`Flight ${e.flightNumber}`):null}function nE(e){let t=[];if(typeof e.utrAvg==`number`&&t.push(`UTR ${e.utrAvg.toFixed(2)}`),typeof e.wtnAvg==`number`&&t.push(`WTN ${e.wtnAvg.toFixed(2)}`),!t.length)return null;let n=document.createElement(`div`);return n.className=FT(),n.textContent=t.join(` · `),n}function rE(e){if(!e.matchUpCounts||e.matchUpCounts.total===0)return null;let{total:t,completed:n}=e.matchUpCounts,r=Math.round(n/t*100),i=document.createElement(`div`);i.className=RT();let a=document.createElement(`div`);a.className=FT(),a.textContent=`${n}/${t} matches · ${r}%`,i.appendChild(a);let o=document.createElement(`div`);o.className=zT();let s=document.createElement(`div`);return s.className=BT(),s.style.right=`${100-r}%`,o.appendChild(s),i.appendChild(o),i}function iE(e,t){return e===`title`?YT(t):e===`drawTypeLabel`?XT(t):e===`drawSize`?QT(t):e===`entries`?$T(t):e===`matchUpFormat`?eE(t):e===`flightNumber`?tE(t):e===`ratings`?nE(t):e===`matchUpProgress`?rE(t):null}function aE(e,t){let n=document.createElement(`div`);n.className=MT();let r=YT(e);r&&n.appendChild(r);let i=JT(e,t);return i&&n.appendChild(i),n}function oE(e,t){let n=document.createElement(`div`);n.className=AT();let r=t.body.includes(`title`),i=t.cornerBadges.length>0;if(i&&!r){let r=JT(e,t.cornerBadges);r&&n.appendChild(r)}for(let r of t.body){if(r===`title`&&i){n.appendChild(aE(e,t.cornerBadges));continue}let a=iE(r,e);a&&n.appendChild(a)}return n}function sE(e,t){let n=document.createElement(`div`);n.className=IT();for(let r of t.footer){let t=iE(r,e);t&&n.appendChild(t)}return n}function cE(){let e=document.createElement(`div`);e.className=VT();let t=document.createElement(`div`);t.className=AT();for(let e of[`70%`,`40%`,`85%`]){let n=document.createElement(`div`);n.className=HT(),n.style.width=e,t.appendChild(n)}return e.appendChild(t),e}var lE={SINGLE_ELIMINATION:`Single Elimination`,DOUBLE_ELIMINATION:`Double Elimination`,ELIMINATION:`Elimination`,ROUND_ROBIN:`Round Robin`,ROUND_ROBIN_WITH_PLAYOFF:`Round Robin + Playoff`,COMPASS:`Compass`,FEED_IN_CHAMPIONSHIP:`Feed-In Championship`,FIRST_MATCH_LOSER_CONSOLATION:`First Match Loser Consolation`,FIRST_ROUND_LOSER_CONSOLATION:`First Round Loser Consolation`,PLAY_OFF:`Play-Off`,CURTIS_CONSOLATION:`Curtis Consolation`,AD_HOC:`Ad-Hoc`,OLYMPIC:`Olympic`,LUCKY_DRAW:`Lucky Draw`,STAGGERED_ENTRY:`Staggered Entry`};function uE(e){if(e)return lE[e]?lE[e]:e.toLowerCase().split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function dE(e){let{matchUps:n=[]}=t.tournamentEngine.getAllDrawMatchUps({drawDefinition:e}),r=0,i=0,a=0,o=0;for(let e of n)e?.matchUpStatus!==`BYE`&&e?.matchUpStatus!==`DOUBLE_BYE`&&(r+=1,e?.winningSide?i+=1:e?.schedule?.scheduledTime&&(a+=1),e?.matchUpStatus===`IN_PROGRESS`&&(o+=1));return{total:r,completed:i,scheduled:a,inProgress:o}}function fE(e){let t=e?.drawSize;if(typeof t==`number`)return t;let n=(e?.structures?.find(e=>e?.stage===`MAIN`))?.positionAssignments?.length;return typeof n==`number`?n:void 0}function pE(e){if(e.cancelled)return{kind:`cancelled`,label:`Cancelled`};if(!e.generated)return{kind:`ungenerated`,label:`Not generated`};let t=e.matchUpCounts;return!t||t.total===0?{kind:`ready`,label:`Ready`}:t.completed===t.total?{kind:`completed`,label:`Completed`}:t.inProgress>0||t.completed>0?{kind:`in-progress`,label:`In progress`}:{kind:`ready`,label:`Ready`}}function mE(e,t){let n=Array.isArray(e?.structures)&&e.structures.length>0,r=t?.matchUpStats??(t?.lightMode||!n?void 0:dE(e)),i=e?.drawStatus===`CANCELLED`,a=t?.statusOverride===void 0?pE({generated:n,cancelled:i,matchUpCounts:r}):t.statusOverride;return{drawId:e?.drawId??``,drawName:e?.drawName??``,drawType:e?.drawType,drawTypeLabel:uE(e?.drawType),drawSize:fE(e),entryCount:t?.entryCount,matchUpFormat:e?.matchUpFormat,flightNumber:e?.flightNumber,matchUpCounts:r,generated:n,published:t?.published,embargoActive:t?.embargoActive,utrAvg:t?.utrAvg,wtnAvg:t?.wtnAvg,status:a,eventId:t?.eventId}}var hE={showImage:!0,cornerBadges:[`status`,`eventTypeBadge`,`genderBadge`],body:[`title`,`categoryLabel`,`drawSummary`],footer:[`playerCount`,`matchUpProgress`]},gE=15;function _E(e){return e?{showImage:e.showImage??hE.showImage,cornerBadges:e.cornerBadges??hE.cornerBadges,body:e.body??hE.body,footer:e.footer??hE.footer}:hE}var vE=()=>`chc-ec-card`,yE=()=>`chc-ec-card--clickable`,bE=()=>`chc-ec-image`,xE=()=>`chc-ec-image-img`,SE=()=>`chc-ec-image-svg`,CE=()=>`chc-ec-image-placeholder`,wE=()=>`chc-ec-corner-badges`,TE=()=>`chc-ec-status-pill`,EE=()=>`chc-ec-eventtype-badge`,DE=()=>`chc-ec-gender-badge`,OE=()=>`chc-ec-body`,kE=()=>`chc-ec-title`,AE=()=>`chc-ec-category`,jE=()=>`chc-ec-draw-summary`,ME=()=>`chc-ec-date-range`,NE=()=>`chc-ec-footer`,PE=()=>`chc-ec-player-count`,FE=()=>`chc-ec-progress`,IE=()=>`chc-ec-progress-meta`,LE=()=>`chc-ec-progress-bar`,RE=()=>`chc-ec-progress-fill`,zE=()=>`chc-ec-updated-at`,BE=()=>`chc-ec-card chc-ec-skeleton`,VE=()=>`chc-ec-skeleton-line`,HE=()=>`chc-ec-skeleton-block`;function UE(e,t,n){let r=_E(t),i=document.createElement(`div`);return i.className=vE(),i.dataset.eventId=e.eventId,n?.onClick&&(i.classList.add(yE()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showImage!==!1&&i.appendChild(GE(e,r)),r.body.length&&i.appendChild(aD(e,r)),r.footer.length&&i.appendChild(oD(e,r)),i}function WE(e,t){let n=yb(t.courtSvgSport,SE());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=CE(),e.appendChild(r)}function GE(e,t){let n=document.createElement(`div`);if(n.className=bE(),e.eventImageURL){let t=document.createElement(`img`);t.className=xE(),t.src=e.eventImageURL,t.alt=e.eventName||``,t.loading=`lazy`,t.addEventListener(`error`,()=>{t.remove(),WE(n,e)}),n.appendChild(t)}else WE(n,e);if(t.cornerBadges.length){let r=XE(e,t.cornerBadges);r&&n.appendChild(r)}return n}function KE(e){if(!e.status)return null;let t=document.createElement(`div`);return t.className=TE(),t.dataset.kind=e.status.kind,t.textContent=e.status.label,t}function qE(e){if(!e.eventType)return null;let t=document.createElement(`div`);return t.className=EE(),t.dataset.kind=e.eventType,t.textContent=e.eventType,t}function JE(e){if(!e.gender)return null;let t=document.createElement(`div`);return t.className=DE(),t.dataset.kind=e.gender,t.textContent=e.gender===`MALE`?`M`:e.gender===`FEMALE`?`W`:`X`,t}function YE(e,t){return e===`status`?KE(t):e===`eventTypeBadge`?qE(t):e===`genderBadge`?JE(t):null}function XE(e,t){let n=[];for(let r of t){let t=YE(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=wE();for(let e of n)r.appendChild(e);return r}function ZE(e){if(!e.eventName)return null;let t=document.createElement(`div`);return t.className=kE(),t.textContent=e.eventName,t.title=e.eventName,t}function QE(e){if(!e.categoryLabel)return null;let t=document.createElement(`div`);return t.className=AE(),t.textContent=e.categoryLabel,t}function $E(e){if(!e.drawSummary)return null;let t=document.createElement(`div`);return t.className=jE(),t.textContent=e.drawSummary,t}function eD(e){if(!e.dateRangeFormatted)return null;let t=document.createElement(`div`);return t.className=ME(),t.textContent=e.dateRangeFormatted,t}function tD(e){if(!e.updatedAt)return null;let t=document.createElement(`div`);t.className=zE();let n=new Date(e.updatedAt);return t.textContent=Number.isNaN(n.getTime())?e.updatedAt:n.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}),t}function nD(e){if(typeof e.entryCount!=`number`)return null;let t=document.createElement(`div`);return t.className=PE(),t.textContent=`${e.entryCount} ${e.entryCount===1?`player`:`players`}`,t}function rD(e){if(!e.matchUpCounts||e.matchUpCounts.total===0)return null;let{total:t,completed:n}=e.matchUpCounts,r=Math.round(n/t*100),i=document.createElement(`div`);i.className=FE();let a=document.createElement(`div`);a.className=IE(),a.textContent=`${n}/${t} matches · ${r}%`,i.appendChild(a);let o=document.createElement(`div`);o.className=LE();let s=document.createElement(`div`);return s.className=RE(),s.style.right=`${100-r}%`,o.appendChild(s),i.appendChild(o),i}function iD(e,t){return e===`title`?ZE(t):e===`categoryLabel`?QE(t):e===`drawSummary`?$E(t):e===`dateRange`?eD(t):e===`updatedAt`?tD(t):e===`playerCount`?nD(t):e===`matchUpProgress`?rD(t):null}function aD(e,t){let n=document.createElement(`div`);n.className=OE();for(let r of t.body){let t=iD(r,e);t&&n.appendChild(t)}return n}function oD(e,t){let n=document.createElement(`div`);n.className=NE();for(let r of t.footer){let t=iD(r,e);t&&n.appendChild(t)}return n}function sD(e){let t=_E(e);return Rb({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:BE(),imageClass:bE(),bodyClass:OE(),footerClass:NE(),blockClass:HE(),lineClass:VE()})}function cD(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function lD(e,t,n){return!t||!n?!1:t.getTime()<=e.getTime()&&e.getTime()<=n.getTime()}function uD(e,t=new Date){if(e.allDrawsCancelled)return{kind:`cancelled`,label:`Cancelled`};let n=e.matchUpCounts;if(n&&n.total>0&&n.completed===n.total)return{kind:`completed`,label:`Completed`};let r=cD(e.startDate),i=cD(e.endDate);if(n&&(n.inProgress>0||lD(t,r,i)&&n.total>0))return{kind:`live`,label:`Live`};let a=e.drawCount??0;return a>0&&(e.hasDraftState||e.hasSeedsOnlyDraw)?{kind:`drawing`,label:`Drawing`}:a===0&&(e.entryCount??0)>0?{kind:`entries-open`,label:`Entries Open`}:r&&t.getTime()<r.getTime()?{kind:`upcoming`,label:`Upcoming`}:null}var dD=`eventImage`,fD=`DRAFT_STATE`;function pD(e){if(!e)return;let t=String(e).toUpperCase();if(t===`SINGLES`||t===`DOUBLES`||t===`TEAM`||t===`HYBRID`)return t}function mD(e){if(!e)return;let t=String(e).toUpperCase();if(t===`M`||t===`MALE`)return`MALE`;if(t===`F`||t===`FEMALE`)return`FEMALE`;if(t===`MIXED`||t===`X`)return`MIXED`}function hD(e){if(!e)return;let t=gD(e.categoryName);if(t)return t;if(typeof e.ageMin==`number`&&typeof e.ageMax==`number`)return e.ageMin===e.ageMax?`Age ${e.ageMin}`:`Age ${e.ageMin}–${e.ageMax}`;let n=gD(e.ageCategoryCode);if(n)return n;if(e.ratingMin&&e.ratingMax)return`Rating ${e.ratingMin}–${e.ratingMax}`}function gD(e){if(typeof e!=`string`)return;let t=e.trim();if(t&&!/^[-—–_]+$/.test(t))return t}function _D(e){if(!e.length)return;let t=e.find(Boolean);if(!t)return;let n=[];return typeof t.drawSize==`number`&&n.push(String(t.drawSize)),t.drawType&&n.push(String(t.drawType)),e.length>1&&n.push(`+${e.length-1}`),n.length?n.join(` `):void 0}function vD(e){let{matchUps:n=[]}=t.tournamentEngine.allEventMatchUps({event:e,inContext:!1})??{},r=0,i=0,a=0,o=0;for(let e of n)e?.matchUpStatus!==`BYE`&&e?.matchUpStatus!==`DOUBLE_BYE`&&(r+=1,e?.winningSide?i+=1:e?.schedule?.scheduledTime&&(a+=1),e?.matchUpStatus===`IN_PROGRESS`&&(o+=1));return{total:r,completed:i,scheduled:a,inProgress:o}}function yD(e){if(e?.draftState!=null)return!0;let t=e?.extensions;return Array.isArray(t)?t.some(e=>e?.name===fD):!1}function bD(e){return e.some(e=>e?.automated?.seedsOnly===!0||yD(e))}function xD(e){return e.length!==0&&e.every(e=>e?.drawStatus===`CANCELLED`)}var SD=new Set([`DIRECT_ACCEPTANCE`,`DA`,`DIRECT_CONFIRMED`,`DC`,`ACCEPTED`,`A`,`ENTERED`,`PE`,`QUALIFIER`,`Q`,`WILDCARD`,`WC`]);function CD(e){if(!e.length)return 0;let t=0;for(let n of e)SD.has(String(n?.entryStatus))&&(t+=1);return t}function wD(e,t){let n=Array.isArray(e?.drawDefinitions)?e.drawDefinitions:[],r=Array.isArray(e?.entries)?e.entries:[],i=Array.isArray(e?.onlineResources)?e.onlineResources:void 0,a=t?.matchUpStats??(t?.lightMode?void 0:vD(e)),o=t?.statusOverride===void 0?uD({allDrawsCancelled:xD(n),drawCount:n.length,entryCount:CD(r),startDate:e?.startDate,endDate:e?.endDate,matchUpCounts:a,hasDraftState:n.some(yD),hasSeedsOnlyDraw:bD(n)},t?.now):t.statusOverride;return{eventId:e?.eventId??``,eventName:e?.eventName??``,eventAbbreviation:e?.eventAbbreviation,categoryLabel:hD(e?.category),eventType:pD(e?.eventType),gender:mD(e?.gender),drawCount:n.length||void 0,drawSummary:_D(n),entryCount:CD(r)||void 0,matchUpCounts:a,startDate:e?.startDate,endDate:e?.endDate,dateRangeFormatted:jb(e?.startDate,e?.endDate),status:o,eventImageURL:e?.eventImageURL??Pb(i,dD),courtSvgSport:e?.courtSvgSport??Fb(i)??t?.sport,updatedAt:e?.updatedAt}}var TD=()=>`chc-hil-container`,ED=()=>`chc-hil-form`,DD=()=>`chc-hil-header`,OD=()=>`chc-hil-title`,kD=()=>`chc-hil-tabs`,AD=()=>`chc-hil-tab`,jD=()=>`chc-hil-tab--active`,MD=()=>`chc-hil-field`,ND=()=>`chc-hil-label`,PD=()=>`chc-hil-input`,FD=()=>`chc-hil-row`,ID=()=>`chc-hil-submit`,LD=()=>`chc-hil-message`,RD=()=>`chc-hil-message--error`,zD=()=>`chc-hil-message--success`,BD=()=>`chc-hil-switch-mode`;function VD(e){return e.replace(/\/+$/,``)}async function HD(e,t,n,r=fetch){let i=VD(e)+t,a;try{a=await r(i,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})}catch(e){throw{kind:`network`,cause:e}}let o=null;try{o=await a.json()}catch(e){if(a.ok)throw{kind:`parse`,cause:e}}if(!a.ok)throw{kind:`http`,status:a.status,body:o};return o}function UD(e,t,n){return HD(e,`/auth/hiveid/signup`,t,n)}function WD(e,t,n){return HD(e,`/auth/hiveid/verify-existing`,t,n)}function GD(e,t,n){return HD(e,`/auth/hiveid/magic-link`,t,n)}function KD(e,t,n){return HD(e,`/auth/hiveid/magic-link/consume`,t,n)}function qD(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.kind!==`http`||t.status!==409?!1:t.body?.code===`EXISTING_USER`}var JD=[{value:`M`,label:`Male`},{value:`F`,label:`Female`}],YD=`signup`,XD=`login`,ZD=`magic-link`,QD=[YD,XD,ZD],$D=`hiveid:authenticated`,eO={[YD]:`Sign up`,[XD]:`Log in`,[ZD]:`Email link`},tO={[YD]:`Create your CourtHive identity`,[XD]:`Log in to CourtHive`,[ZD]:`Email me a sign-in link`};function nO(e){if(!e?.cfsBaseUrl)throw Error(`buildHiveIDLogin: cfsBaseUrl is required`);let t=e.mode??`signup`,n=!1,r=document.createElement(`div`);r.className=TD(),r.dataset.hiveidLogin=`true`;let i=document.createElement(`div`);i.className=DD();let a=document.createElement(`h2`);a.className=OD(),i.appendChild(a);let o=document.createElement(`div`);o.className=kD(),i.appendChild(o);let s={};QD.forEach(e=>{let t=document.createElement(`button`);t.type=`button`,t.className=AD(),t.textContent=eO[e],t.dataset.mode=e,t.onclick=()=>w(e),o.appendChild(t),s[e]=t}),r.appendChild(i);let c=document.createElement(`form`);c.className=ED(),c.noValidate=!0,r.appendChild(c);let l=document.createElement(`div`);l.className=LD(),l.hidden=!0,r.appendChild(l);function u(e,t=`info`){l.textContent=e,l.className=LD(),t===`error`&&l.classList.add(RD()),t===`success`&&l.classList.add(zD()),l.hidden=!e}function d(){u(``)}function f(e,t,n=`text`,r=``){let i=document.createElement(`div`);i.className=MD();let a=document.createElement(`label`);a.className=ND(),a.textContent=t,a.htmlFor=`chc-hil-${e}`;let o=document.createElement(`input`);return o.id=`chc-hil-${e}`,o.name=e,o.type=n,o.value=r,o.className=PD(),o.required=!0,i.appendChild(a),i.appendChild(o),c.appendChild(i),o}function p(){let e=document.createElement(`div`);return e.className=FD(),c.appendChild(e),e}function m(e){let t=document.createElement(`button`);return t.type=`submit`,t.className=ID(),t.textContent=e,c.appendChild(t),t}function h(e,t,n){let r=document.createElement(`div`);r.className=BD();let i=document.createElement(`button`);i.type=`button`,i.textContent=n,i.onclick=()=>w(t),r.append(e+` `,i),c.appendChild(r)}function g(e){if(e.note){let t=document.createElement(`p`);t.className=ND(),t.textContent=e.note,c.appendChild(t)}let t=null;if(e.providers.length>1){let n=document.createElement(`div`);n.className=MD();let r=document.createElement(`label`);r.className=ND(),r.textContent=`Provider`,r.htmlFor=`chc-hil-fedProvider`;let i=document.createElement(`select`);i.id=`chc-hil-fedProvider`,i.className=PD(),e.providers.forEach(e=>{let t=document.createElement(`option`);t.value=e.value,t.textContent=e.label,i.appendChild(t)}),n.append(r,i),c.appendChild(n),t=i}let n=document.createElement(`div`);n.className=MD();let r=document.createElement(`label`);r.className=ND(),r.textContent=e.idLabel??`Player ID`,r.htmlFor=`chc-hil-federationId`;let i=document.createElement(`input`);i.id=`chc-hil-federationId`,i.type=`text`,i.className=PD(),n.append(r,i),c.appendChild(n);let a=e.providers[0]?.value??``;return()=>{let e=i.value.trim();if(!e)return null;let n=t?t.value:a;return n?{provider:n,externalId:e}:null}}function _(e){if(e.note){let t=document.createElement(`p`);t.className=ND(),t.textContent=e.note,c.appendChild(t)}let t=e.required!==!1,n=document.createElement(`div`);n.className=MD();let r=document.createElement(`label`);r.className=ND(),r.textContent=e.dobLabel??`Date of birth`,r.htmlFor=`chc-hil-birthDate`;let i=document.createElement(`input`);i.id=`chc-hil-birthDate`,i.type=`date`,i.required=t,i.className=PD(),n.append(r,i),c.appendChild(n);let a=document.createElement(`div`);a.className=MD();let o=document.createElement(`label`);o.className=ND(),o.textContent=e.sexLabel??`Sex`,o.htmlFor=`chc-hil-sex`;let s=document.createElement(`select`);s.id=`chc-hil-sex`,s.required=t,s.className=PD();let l=document.createElement(`option`);return l.value=``,l.textContent=`Select…`,s.appendChild(l),(e.sexOptions??JD).forEach(e=>{let t=document.createElement(`option`);t.value=e.value,t.textContent=e.label,s.appendChild(t)}),a.append(o,s),c.appendChild(a),()=>aO({birthDate:i.value,sex:s.value})}function v(e){r.dispatchEvent(new CustomEvent($D,{detail:e,bubbles:!0}))}function y(e,t){return async r=>{if(r.preventDefault(),!n){n=!0,e.disabled=!0,d();try{await t()}finally{n=!1,e.disabled=!1}}}}async function b(t,n,r,i={}){let a=t.value.trim(),o=n.value.trim(),s=r.value.trim();if(!a||!o||!s){u(`Email, first name, and last name are required.`,`error`);return}let{federationIds:c,birthDate:l,sex:d,provider:f,requirePii:p}=i;if(p&&(!l||!d)){u(`Date of birth and sex are required.`,`error`);return}try{let t=await UD(e.cfsBaseUrl,{email:a,firstName:o,lastName:s,federationIds:c,birthDate:l,sex:d,provider:f},e.fetchImpl);if(t.status===`candidate`){u(`We found possible matches — please log in with your existing account.`,`info`),w(`login`);return}v({token:t.token,refreshToken:t.refreshToken,personId:t.personId,cached:t.cached}),u(`Welcome to CourtHive.`,`success`)}catch(e){if(qD(e)){u(`That email already has a CourtHive account — please verify your password.`,`info`),w(`login`);return}u(sO(e)??`Sign-up failed. Please try again.`,`error`)}}async function x(t,n){let r=t.value.trim(),i=n.value;if(!r||!i){u(`Email and password are required.`,`error`);return}try{let t=await WD(e.cfsBaseUrl,{email:r,password:i},e.fetchImpl);v({token:t.token,refreshToken:t.refreshToken,personId:t.personId,cached:t.cached??oO()}),u(`Signed in.`,`success`)}catch(e){u(sO(e)??`Sign-in failed. Please check your password.`,`error`)}}async function S(t){let n=t.value.trim();if(!n){u(`Email is required.`,`error`);return}try{await GD(e.cfsBaseUrl,{email:n},e.fetchImpl),u(`If ${n} is registered, a sign-in link is on its way.`,`success`)}catch(e){u(sO(e)??`Could not send link. Please try again.`,`error`)}}function C(){if(c.replaceChildren(),a.textContent=tO[t],QD.forEach(e=>{s[e].classList.toggle(jD(),e===t)}),t===`signup`){let t=p(),n=document.createElement(`input`);n.id=`chc-hil-firstName`,n.type=`text`,n.placeholder=`First name`,n.required=!0,n.className=PD();let r=document.createElement(`input`);r.id=`chc-hil-lastName`,r.type=`text`,r.placeholder=`Last name`,r.required=!0,r.className=PD();let i=document.createElement(`div`);i.className=MD();let a=document.createElement(`label`);a.textContent=`First name`,a.className=ND(),a.htmlFor=n.id,i.append(a,n);let o=document.createElement(`div`);o.className=MD();let s=document.createElement(`label`);s.textContent=`Last name`,s.className=ND(),s.htmlFor=r.id,o.append(s,r),t.append(i,o);let l=f(`email`,`Email`,`email`,e.defaultEmail??``),u=e.federationIdCapture?g(e.federationIdCapture):()=>null,d=e.dobSexCapture?_(e.dobSexCapture):()=>({}),v=!!e.dobSexCapture&&e.dobSexCapture.required!==!1,x=m(`Create account`);c.onsubmit=y(x,()=>b(l,n,r,{federationIds:iO(u(),e.federationIds),...d(),provider:e.provider,requirePii:v})),h(`Already have an account?`,`login`,`Log in`)}else if(t===`login`){let t=f(`email`,`Email`,`email`,e.defaultEmail??``),n=f(`password`,`Password`,`password`),r=m(`Log in`);c.onsubmit=y(r,()=>x(t,n)),h(`Forgot your password?`,`magic-link`,`Email me a link`)}else{let t=f(`email`,`Email`,`email`,e.defaultEmail??``),n=m(`Send link`);c.onsubmit=y(n,()=>S(t)),h(`Have a password?`,`login`,`Log in instead`)}}function w(e){e!==t&&(t=e,d(),C())}function T(){return t}function E(e){let t=t=>e(t.detail);return r.addEventListener($D,t),()=>r.removeEventListener($D,t)}return C(),{root:r,setMode:w,getMode:T,onAuthenticated:E}}async function rO(e,t,n){let r=await KD(e,{code:t},n);return{token:r.token,refreshToken:r.refreshToken,personId:r.personId,cached:r.cached??oO()}}function iO(e,t){let n=[],r=new Set,i=e=>{if(!e?.provider||!e?.externalId)return;let t=`${e.provider}::${e.externalId}`;r.has(t)||(r.add(t),n.push({provider:e.provider,externalId:e.externalId}))};return(t??[]).forEach(i),i(e),n.length?n:void 0}function aO(e){let t={},n=e.birthDate?.trim(),r=e.sex?.trim();return n&&(t.birthDate=n),r&&(t.sex=r),t}function oO(){return{standardFamilyName:null,standardGivenName:null,birthDate:null,sex:null,nationalityCode:null}}function sO(e){if(!e||typeof e!=`object`)return null;if(e.kind===`http`){let t=e.body;if(t?.message&&typeof t.message==`string`)return t.message;if(typeof t?.status==`string`&&t.status===`incomplete`)return`We need a bit more information to identify you.`}return e.kind===`network`?`Could not reach CourtHive. Check your connection.`:null}var cO={name:`courthive-components`,packageManager:`pnpm@12.14.0`,version:`6.10.3`,engines:{node:`>=22`},description:`Components for competitions projects`,files:[`dist`],main:`./dist/courthive-components.umd.js`,module:`./dist/courthive-components.es.js`,types:`./dist/index.d.ts`,exports:{".":{types:`./dist/index.d.ts`,import:`./dist/courthive-components.es.js`,require:`./dist/courthive-components.umd.js`},"./dist/*":`./dist/*`,"./courts":{types:`./dist/features-types/courts/index.d.ts`,import:`./dist/courts.mjs`},"./segmented-bar":{types:`./dist/features-types/segmentedBar/index.d.ts`,import:`./dist/segmented-bar.mjs`},"./features.css":`./dist/features.css`},repository:{type:`git`,url:`git+https://github.com/CourtHive/courthive-components.git`},keywords:[`tournament`,`match`,`score`,`vanillajs`,`bracket`],author:`Charles Allen`,license:`MIT`,bugs:{url:`https://github.com/CourtHive/courthive-components/issues`},homepage:`https://courthive.github.io/courthive-component`,scripts:{commits:`git log $(git describe --tags --abbrev=0)..HEAD --oneline --no-merges --pretty=format:'%s: %h' | sed '/courthive-components/d'`,release:`npm run release:patch`,test:`vitest run --project unit`,"test:stories":`vitest run --project storybook`,"test:watch":`vitest --project unit`,"test:ui":`vitest --ui --project unit`,dev:`vite`,build:`tsc && vite build && vite build --config vite.features.config.mts && node scripts/buildFeatureTypes.mjs`,"check-types":`tsc --noEmit`,prepublishOnly:`pnpm build`,preview:`vite preview`,storybook:`storybook dev -p 6006`,"build-storybook":`storybook build`,"deploy-storybook":`gh-pages -d storybook-static`,"pre-commit":`lint-staged`,predeploy:`pnpm build-storybook`,lint:`eslint src scripts/buildFeatureTypes.mjs scripts/verify/consumerBundle.mjs --cache --max-warnings 0`,"lint:fix":`eslint src --fix --cache`,"lint:report":`eslint src & eslint --cache src -f json > eslint-report.json`,format:`prettier --write src`,"release:major":`npm run commits && npm version $(semver $npm_package_version -i major) && git push && git push --tags`,"release:minor":`npm run commits && npm version $(semver $npm_package_version -i minor) && git push && git push --tags`,"release:patch":`npm run commits && npm version $(semver $npm_package_version -i patch) && git push && git push --tags`,"release:beta":`npm run commits && npm version $(semver $npm_package_version -i prerelease --preid beta) && git push && git push --tags`,"patch:beta":`npm run commits && npm version $(semver $npm_package_version -i prerelease --preid beta) && npm publish --tag beta`,"verify:consumer-bundle":`node scripts/verify/consumerBundle.mjs --self-test && node scripts/verify/consumerBundle.mjs`},"lint-staged":{"*.{js,ts}":`eslint --cache --fix`,"*":`prettier --ignore-unknown --write`},devDependencies:{"@chromatic-com/storybook":`^5.0.0`,"@commitlint/cli":`21.2.3`,"@commitlint/config-conventional":`21.2.3`,"@eslint/js":`^10.0.1`,"@fortawesome/fontawesome-free":`^7.2.0`,"@storybook/addon-docs":`^10.2.17`,"@storybook/addon-vitest":`^10.6.1`,"@storybook/html-vite":`^10.2.17`,"@types/d3":`^7.4.3`,"@types/leaflet":`^1.9.12`,"@types/vanillajs-datepicker":`^1.3.5`,"@typescript-eslint/eslint-plugin":`8.71.2`,"@typescript-eslint/parser":`8.71.2`,"@vitest/browser":`^5.0.3`,"@vitest/browser-playwright":`^5.0.3`,"@vitest/coverage-v8":`^5.0.0`,"@vitest/ui":`^5.0.0`,eslint:`10.13.0`,"eslint-plugin-sonarjs":`4.2.2`,"eslint-plugin-storybook":`^10.2.17`,"gh-pages":`6.3.0`,globals:`^17.3.0`,"happy-dom":`^21.0.0`,husky:`9.1.7`,leaflet:`1.9.4`,"lint-staged":`17.6.0`,playwright:`^1.57.0`,prettier:`^3.8.1`,semver:`7.8.5`,storybook:`^10.2.17`,"tabulator-tables":`6.6.1`,"tods-competition-factory":`7.18.0`,typescript:`^6.0.2`,vite:`8.3.4`,"vite-plugin-dts":`^5.0.0`,vitest:`^5.0.0`},dependencies:{"@tiptap/core":`^3.22.2`,"@tiptap/extension-color":`^3.22.2`,"@tiptap/extension-highlight":`^3.22.2`,"@tiptap/extension-text-align":`^3.22.2`,"@tiptap/extension-text-style":`^3.22.2`,"@tiptap/extension-youtube":`^3.22.2`,"@tiptap/starter-kit":`^3.22.2`,awesomplete:`1.1.7`,"class-variance-authority":`0.7.1`,classnames:`2.5.1`,d3:`^7.9.0`,dayjs:`1.11.23`,"focus-trap":`^8.0.0`,"timepicker-ui":`^4.1.2`,"tippy.js":`6.3.7`,"vanillajs-datepicker":`1.3.4`},peerDependencies:{"tods-competition-factory":`^7.6.0`,leaflet:`^1.9.4`},peerDependenciesMeta:{leaflet:{optional:!0}}};function lO(){return cO.version}var uO={SET3_S6_TB7:`SET3-S:6/TB7`,SET3_S6_TB7_F_TB10:`SET3-S:6/TB7-F:TB10`,SET3_S6_TB10:`SET3-S:6/TB10`,SET3_S6_F_TB10:`SET3-S:6-F:TB10`,SET3_S6_TB7_NOAD:`SET3-S:6/TB7NOAD`,SET3_S8_TB7:`SET3-S:8/TB7`,SET3_S8_TB7_AT7:`SET3-S:8/TB7@7`,SET3_S4_TB7:`SET3-S:4/TB7`,SET3_S4_TB7_F_TB10:`SET3-S:4/TB7-F:TB10`,SET3_S4_TB5_AT3_F_TB10:`SET3-S:4/TB5@3-F:TB10`,SET5_S6_TB7:`SET5-S:6/TB7`,SET5_S6_TB7_F_TB10:`SET5-S:6/TB7-F:TB10`,SET1_S6_TB7:`SET1-S:6/TB7`,SET1_S6_TB10:`SET1-S:6/TB10`,SET1_S6_TB7_AT5:`SET1-S:6/TB7@5`,SET1_S8_TB7:`SET1-S:8/TB7`,SET1_S4_TB7:`SET1-S:4/TB7`,SET1_S5_TB9_AT4:`SET1-S:5/TB9@4`,SET1_S_TB7:`SET1-S:T7`,SET1_S_TB10:`SET1-S:TB10`,SET1_S_TB21:`SET1-S:T21`,SET1_S8:`SET1-S:8`,SET1_S10:`SET1-S:10`,FAST4:`SET5-S:4/NOAD`,SET3X_T10A_TB1:`SET3XA-S:T10-F:TB1`,SET3X_T10A_TB1_NOAD:`SET3XA-S:T10-F:TB1NOAD`,SET4X_T10A_TB1:`SET4XA-S:T10-F:TB1`};function dO(e,t,n){if(!e)return{elements:{}};let r={};for(let i of t||[]){if(!i?.label||i.hide)continue;let t=document.createElement(`button`);i.id&&(r[i.id]=t,t.id=i.id),t.style.marginRight=`.5em`,t.className=`button font-medium`,i.intent&&t.classList.add(i.intent),t.innerHTML=i.label,i.disabled&&(t.disabled=!0),t.onclick=e=>{e.stopPropagation(),!e.target.disabled&&K(i.onClick)&&i.onClick(),n&&K(n)&&n()},e.appendChild(t)}return{elements:r}}var fO=(e,t)=>n=>n?.trim().length>=e&&(!t||n?.trim().length<=t);function pO(e){return t.tools.isConvertableInteger(e)&&parseInt(e.toString())>=0}var mO=(e,t)=>n=>pO(n)&&Number(n)>=e&&Number(n)<=t,hO=e=>/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?\d)(?=.*?[#?!@$%^&*-]).{8,12}$/.test(e);function gO(e){return t.tools.dateTime.dateValidation.test(e)}var _O=(e,t)=>n=>{let r=(n||``).trim().split(` `).length;return r>=e&&(!t||r<=t)},vO=/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i,yO=e=>vO.exec(e),bO=_({dateValidator:()=>gO,emailValidator:()=>yO,nameValidator:()=>fO,numericRange:()=>mO,numericValidator:()=>pO,passwordValidator:()=>hO,wordValidator:()=>_O});function xO(e){let n=t.tools.makeDeepCopy(e);return{getTournamentRecord:()=>n,mutate:(e,r,i)=>{let a=n.events?.find(e=>e.drawDefinitions?.some(e=>e.drawId===r.drawId)),o=a?.drawDefinitions?.find(e=>e.drawId===r.drawId),s={...r,tournamentRecord:n,drawDefinition:o,event:a},c=t.globalState.getProvider(),l=()=>{throw Error(`Standalone assignment cannot replace tournament state`)},u=()=>{},d={[n.tournamentId]:n};t.globalState.setStateProvider({...c,addNotice:u,callListener:u,deleteNotice:u,deleteNotices:u,disableNotifications:u,enableNotifications:u,setSubscriptions:l,cycleMutationStatus:()=>!1,getTopics:()=>({topics:[]}),getNotices:()=>[],getPayloads:()=>[],getNoticeBuffer:()=>[],setNoticeBuffer:u,getTournamentId:()=>n.tournamentId,getTournamentRecord:e=>d[e],getTournamentRecords:()=>d,setTournamentId:l,setTournamentRecord:l,setTournamentRecords:l,removeTournamentRecord:l});let f;try{f=e===`removeDrawPositionAssignment`?t.drawsGovernor.removeDrawPositionAssignment(s):t.drawsGovernor.assignDrawPosition({...s,bye:e===`assignDrawPositionBye`})}finally{t.globalState.setStateProvider(c)}i(f)}}}var SO=class{constructor({tournamentRecord:e,adapter:t,drawId:n,structureId:r,eventId:i}){if(!t&&!e)throw Error(`DrawStateManager requires a record or adapter`);this.adapter=t??xO(e),this.drawId=n,this.structureId=r,this.eventId=i}setRenderCallback(e){this.renderCallback=e}context(){let e=this.adapter.getTournamentRecord(),t=e?.events?.find(e=>this.eventId?e.eventId===this.eventId:e.drawDefinitions?.some(e=>e.drawId===this.drawId));return{tournamentRecord:e,drawDefinition:t?.drawDefinitions?.find(e=>e.drawId===this.drawId),event:t}}getAllParticipants(){let{tournamentRecord:e,drawDefinition:n,event:r}=this.context();if(!e||!r||!n)return[];let{flightProfile:i}=t.queryGovernor.getFlightProfile({event:r}),a=(i?.flights?.find(e=>e.drawId===this.drawId)?.drawEntries??n.entries??[]).map(e=>e.participantId).filter(e=>!!e);if(!a.length)return[];let{participants:o=[]}=t.queryGovernor.getParticipants({tournamentRecord:e,participantFilters:{participantIds:a}});return o}getAvailableParticipants(){let{drawDefinition:e}=this.context();if(!e)return[];let{assignedParticipantIds:n=[]}=t.queryGovernor.getAssignedParticipantIds({drawDefinition:e}),r=new Set(n);return this.getAllParticipants().filter(e=>!r.has(e.participantId))}request(e,t,n=!0){let r,i=!1;return this.adapter.mutate(e,{...t,drawId:this.drawId,structureId:this.structureId},a=>{i||(i=!0,r=a,a.success&&!a.error&&(e!==`removeDrawPositionAssignment`&&(this.focusDrawPosition=t.drawPosition+1),n&&this.renderCallback?.()))}),r??{pending:!0}}assignParticipant(e){return this.request(`assignDrawPosition`,e)}assignBye(e){return this.request(`assignDrawPositionBye`,e)}assignQualifier(e){return this.request(`assignDrawPosition`,{...e,qualifier:!0})}removeAssignment(e){let t=this.getMatchUps().some(t=>t.sides?.some(t=>t.drawPosition===e.drawPosition&&t.bye));return this.request(`removeDrawPositionAssignment`,e,t)}getAndClearFocusDrawPosition(){let e=this.focusDrawPosition;return this.focusDrawPosition=void 0,e}getMatchUps(){let{tournamentRecord:e,event:n}=this.context();if(!e||!n)return[];let{eventData:r}=t.queryGovernor.getEventData({tournamentRecord:e,event:n}),i=(r?.drawsData?.find(e=>e.drawId===this.drawId))?.structures?.find(e=>e.structureId===this.structureId);return i?.roundMatchUps?Object.values(i.roundMatchUps).flat():[]}getState(){let e=this.adapter.getTournamentRecord();return e&&t.tools.makeDeepCopy(e)}getContext(){return{drawId:this.drawId,structureId:this.structureId}}},CO=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="14" height="14" fill="currentColor"><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"/></svg>`,wO=new WeakMap;function TO(e,t){let n=document.createElement(`div`);n.style.cssText=`position: relative; flex: 1; display: flex; min-width: 0;`,e.style.paddingRight=`28px`,n.appendChild(e);let r=document.createElement(`button`);r.type=`button`,r.setAttribute(`aria-label`,`Clear search`),r.style.cssText=[`position: absolute`,`right: 8px`,`top: 50%`,`transform: translateY(-50%)`,`background: transparent`,`border: 0`,`padding: 2px`,`cursor: pointer`,`display: none`,`align-items: center`,`justify-content: center`,`line-height: 0`,`opacity: 0.55`,`color: currentColor`].join(`; `),r.innerHTML=CO,r.addEventListener(`mouseenter`,()=>r.style.opacity=`0.9`),r.addEventListener(`mouseleave`,()=>r.style.opacity=`0.55`),r.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),t(),i()});let i=()=>{r.style.display=e.value?`inline-flex`:`none`};return e.addEventListener(`keyup`,n=>{n.key===`Escape`&&e.value&&(t(),i())}),e.addEventListener(`input`,i),wO.set(n,i),n.appendChild(r),n}function EO(e){wO.get(e)?.()}function DO(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function OO(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function kO(e){let t,n,r;e.length===2?(t=e===DO||e===OO?e:AO,n=e,r=e):(t=DO,n=(t,n)=>DO(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<0?i=t+1:a=t}while(i<a)}return i}function a(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<=0?i=t+1:a=t}while(i<a)}return i}function o(e,t,n=0,a=e.length){let o=i(e,t,n,a-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function AO(){return 0}function jO(e){return e===null?NaN:+e}var MO=kO(DO),NO=MO.right;MO.left,kO(jO).center;function PO(e,t){let n,r;if(t===void 0)for(let t of e)t!=null&&(n===void 0?t>=t&&(n=r=t):(n>t&&(n=t),r<t&&(r=t)));else{let i=-1;for(let a of e)(a=t(a,++i,e))!=null&&(n===void 0?a>=a&&(n=r=a):(n>a&&(n=a),r<a&&(r=a)))}return[n,r]}var FO=class extends Map{constructor(e,t=zO){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),e!=null)for(let[t,n]of e)this.set(t,n)}get(e){return super.get(IO(this,e))}has(e){return super.has(IO(this,e))}set(e,t){return super.set(LO(this,e),t)}delete(e){return super.delete(RO(this,e))}};function IO({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function LO({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function RO({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function zO(e){return typeof e==`object`&&e?e.valueOf():e}var BO=Math.sqrt(50),VO=Math.sqrt(10),HO=Math.sqrt(2);function UO(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=BO?10:a>=VO?5:a>=HO?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/l<e&&++s,c/l>t&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*l<e&&++s,c*l>t&&--c),c<s&&.5<=n&&n<2?UO(e,t,n*2):[s,c,l]}function WO(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];let r=t<e,[i,a,o]=r?UO(t,e,n):UO(e,t,n);if(!(a>=i))return[];let s=a-i+1,c=Array(s);if(r){if(o<0)for(let e=0;e<s;++e)c[e]=(a-e)/-o;else for(let e=0;e<s;++e)c[e]=(a-e)*o}else if(o<0)for(let e=0;e<s;++e)c[e]=(i+e)/-o;else for(let e=0;e<s;++e)c[e]=(i+e)*o;return c}function GO(e,t,n){return t=+t,e=+e,n=+n,UO(e,t,n)[2]}function KO(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?GO(t,e,n):GO(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function qO(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n<t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function JO(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r<i;)a[r]=e+r*n;return a}function YO(e){return e}var XO=1,ZO=2,QO=3,$O=4,ek=1e-6;function tk(e){return`translate(`+e+`,0)`}function nk(e){return`translate(0,`+e+`)`}function rk(e){return t=>+e(t)}function ik(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function ak(){return!this.__axis}function ok(e,t){var n=[],r=null,i=null,a=6,o=6,s=3,c=typeof window<`u`&&window.devicePixelRatio>1?0:.5,l=e===XO||e===$O?-1:1,u=e===$O||e===ZO?`x`:`y`,d=e===XO||e===QO?tk:nk;function f(f){var p=r??(t.ticks?t.ticks.apply(t,n):t.domain()),m=i??(t.tickFormat?t.tickFormat.apply(t,n):YO),h=Math.max(a,0)+s,g=t.range(),_=+g[0]+c,v=+g[g.length-1]+c,y=(t.bandwidth?ik:rk)(t.copy(),c),b=f.selection?f.selection():f,x=b.selectAll(`.domain`).data([null]),S=b.selectAll(`.tick`).data(p,t).order(),C=S.exit(),w=S.enter().append(`g`).attr(`class`,`tick`),T=S.select(`line`),E=S.select(`text`);x=x.merge(x.enter().insert(`path`,`.tick`).attr(`class`,`domain`).attr(`stroke`,`currentColor`)),S=S.merge(w),T=T.merge(w.append(`line`).attr(`stroke`,`currentColor`).attr(u+`2`,l*a)),E=E.merge(w.append(`text`).attr(`fill`,`currentColor`).attr(u,l*h).attr(`dy`,e===XO?`0em`:e===QO?`0.71em`:`0.32em`)),f!==b&&(x=x.transition(f),S=S.transition(f),T=T.transition(f),E=E.transition(f),C=C.transition(f).attr(`opacity`,ek).attr(`transform`,function(e){return isFinite(e=y(e))?d(e+c):this.getAttribute(`transform`)}),w.attr(`opacity`,ek).attr(`transform`,function(e){var t=this.parentNode.__axis;return d((t&&isFinite(t=t(e))?t:y(e))+c)})),C.remove(),x.attr(`d`,e===$O||e===ZO?o?`M`+l*o+`,`+_+`H`+c+`V`+v+`H`+l*o:`M`+c+`,`+_+`V`+v:o?`M`+_+`,`+l*o+`V`+c+`H`+v+`V`+l*o:`M`+_+`,`+c+`H`+v),S.attr(`opacity`,1).attr(`transform`,function(e){return d(y(e)+c)}),T.attr(u+`2`,l*a),E.attr(u,l*h).text(m),b.filter(ak).attr(`fill`,`none`).attr(`font-size`,10).attr(`font-family`,`sans-serif`).attr(`text-anchor`,e===ZO?`start`:e===$O?`end`:`middle`),b.each(function(){this.__axis=y})}return f.scale=function(e){return arguments.length?(t=e,f):t},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(e){return arguments.length?(n=e==null?[]:Array.from(e),f):n.slice()},f.tickValues=function(e){return arguments.length?(r=e==null?null:Array.from(e),f):r&&r.slice()},f.tickFormat=function(e){return arguments.length?(i=e,f):i},f.tickSize=function(e){return arguments.length?(a=o=+e,f):a},f.tickSizeInner=function(e){return arguments.length?(a=+e,f):a},f.tickSizeOuter=function(e){return arguments.length?(o=+e,f):o},f.tickPadding=function(e){return arguments.length?(s=+e,f):s},f.offset=function(e){return arguments.length?(c=+e,f):c},f}function sk(e){return ok(QO,e)}function ck(e){return ok($O,e)}var lk={value:()=>{}};function uk(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new dk(n)}function dk(e){this._=e}function fk(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}dk.prototype=uk.prototype={constructor:dk,on:function(e,t){var n=this._,r=fk(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=pk(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=mk(n[i],e.name,t);else if(t==null)for(i in n)n[i]=mk(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new dk(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function pk(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function mk(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=lk,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var hk={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function gk(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),hk.hasOwnProperty(t)?{space:hk[t],local:e}:e}function _k(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function vk(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function yk(e){var t=gk(e);return(t.local?vk:_k)(t)}function bk(){}function xk(e){return e==null?bk:function(){return this.querySelector(e)}}function Sk(e){typeof e!=`function`&&(e=xk(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new KA(r,this._parents)}function Ck(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function wk(){return[]}function Tk(e){return e==null?wk:function(){return this.querySelectorAll(e)}}function Ek(e){return function(){return Ck(e.apply(this,arguments))}}function Dk(e){e=typeof e==`function`?Ek(e):Tk(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new KA(r,i)}function Ok(e){return function(){return this.matches(e)}}function kk(e){return function(t){return t.matches(e)}}var Ak=Array.prototype.find;function jk(e){return function(){return Ak.call(this.children,e)}}function Mk(){return this.firstElementChild}function Nk(e){return this.select(e==null?Mk:jk(typeof e==`function`?e:kk(e)))}var Pk=Array.prototype.filter;function Fk(){return Array.from(this.children)}function Ik(e){return function(){return Pk.call(this.children,e)}}function Lk(e){return this.selectAll(e==null?Fk:Ik(typeof e==`function`?e:kk(e)))}function Rk(e){typeof e!=`function`&&(e=Ok(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new KA(r,this._parents)}function zk(e){return Array(e.length)}function Bk(){return new KA(this._enter||this._groups.map(zk),this._parents)}function Vk(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Vk.prototype={constructor:Vk,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Hk(e){return function(){return e}}function Uk(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new Vk(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function Wk(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new Vk(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function Gk(e){return e.__data__}function Kk(e,t){if(!arguments.length)return Array.from(this,Gk);var n=t?Wk:Uk,r=this._parents,i=this._groups;typeof e!=`function`&&(e=Hk(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=qk(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new KA(o,r),o._enter=s,o._exit=c,o}function qk(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function Jk(){return new KA(this._exit||this._groups.map(zk),this._parents)}function Yk(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function Xk(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new KA(s,this._parents)}function Zk(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function Qk(e){e||=$k;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new KA(i,this._parents).order()}function $k(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function eA(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function tA(){return Array.from(this)}function nA(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function rA(){let e=0;for(let t of this)++e;return e}function iA(){return!this.node()}function aA(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function oA(e){return function(){this.removeAttribute(e)}}function sA(e){return function(){this.removeAttributeNS(e.space,e.local)}}function cA(e,t){return function(){this.setAttribute(e,t)}}function lA(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function uA(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function dA(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function fA(e,t){var n=gk(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?sA:oA:typeof t==`function`?n.local?dA:uA:n.local?lA:cA)(n,t))}function pA(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function mA(e){return function(){this.style.removeProperty(e)}}function hA(e,t,n){return function(){this.style.setProperty(e,t,n)}}function gA(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function _A(e,t,n){return arguments.length>1?this.each((t==null?mA:typeof t==`function`?gA:hA)(e,t,n??``)):vA(this.node(),e)}function vA(e,t){return e.style.getPropertyValue(t)||pA(e).getComputedStyle(e,null).getPropertyValue(t)}function yA(e){return function(){delete this[e]}}function bA(e,t){return function(){this[e]=t}}function xA(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function SA(e,t){return arguments.length>1?this.each((t==null?yA:typeof t==`function`?xA:bA)(e,t)):this.node()[e]}function CA(e){return e.trim().split(/^|\s+/)}function wA(e){return e.classList||new TA(e)}function TA(e){this._node=e,this._names=CA(e.getAttribute(`class`)||``)}TA.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(e){return this._names.indexOf(e)>=0}};function EA(e,t){for(var n=wA(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function DA(e,t){for(var n=wA(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function OA(e){return function(){EA(this,e)}}function kA(e){return function(){DA(this,e)}}function AA(e,t){return function(){(t.apply(this,arguments)?EA:DA)(this,e)}}function jA(e,t){var n=CA(e+``);if(arguments.length<2){for(var r=wA(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?AA:t?OA:kA)(n,t))}function MA(){this.textContent=``}function NA(e){return function(){this.textContent=e}}function PA(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function FA(e){return arguments.length?this.each(e==null?MA:(typeof e==`function`?PA:NA)(e)):this.node().textContent}function IA(){this.innerHTML=``}function LA(e){return function(){this.innerHTML=e}}function RA(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function zA(e){return arguments.length?this.each(e==null?IA:(typeof e==`function`?RA:LA)(e)):this.node().innerHTML}function BA(){this.nextSibling&&this.parentNode.appendChild(this)}function VA(){return this.each(BA)}function HA(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function UA(){return this.each(HA)}function cee(e){var t=typeof e==`function`?e:yk(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function lee(){return null}function uee(e,t){var n=typeof e==`function`?e:yk(e),r=t==null?lee:typeof t==`function`?t:xk(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function dee(){var e=this.parentNode;e&&e.removeChild(this)}function fee(){return this.each(dee)}function pee(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function mee(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function hee(e){return this.select(e?mee:pee)}function gee(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function _ee(e){return function(t){e.call(this,t,this.__data__)}}function vee(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function yee(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function bee(e,t,n){return function(){var r=this.__on,i,a=_ee(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function xee(e,t,n){var r=vee(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?bee:yee,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function WA(e,t,n){var r=pA(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function See(e,t){return function(){return WA(this,e,t)}}function Cee(e,t){return function(){return WA(this,e,t.apply(this,arguments))}}function wee(e,t){return this.each((typeof t==`function`?Cee:See)(e,t))}function*Tee(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var GA=[null];function KA(e,t){this._groups=e,this._parents=t}function qA(){return new KA([[document.documentElement]],GA)}function Eee(){return this}KA.prototype=qA.prototype={constructor:KA,select:Sk,selectAll:Dk,selectChild:Nk,selectChildren:Lk,filter:Rk,data:Kk,enter:Bk,exit:Jk,join:Yk,merge:Xk,selection:Eee,order:Zk,sort:Qk,call:eA,nodes:tA,node:nA,size:rA,empty:iA,each:aA,attr:fA,style:_A,property:SA,classed:jA,text:FA,html:zA,raise:VA,lower:UA,append:cee,insert:uee,remove:fee,clone:hee,datum:gee,on:xee,dispatch:wee,[Symbol.iterator]:Tee};function JA(e){return typeof e==`string`?new KA([[document.querySelector(e)]],[document.documentElement]):new KA([[e]],GA)}function YA(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function XA(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function ZA(){}var QA=.7,$A=1/QA,ej=`\\s*([+-]?\\d+)\\s*`,tj=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,nj=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,rj=/^#([0-9a-f]{3,8})$/,ij=RegExp(`^rgb\\(${ej},${ej},${ej}\\)$`),aj=RegExp(`^rgb\\(${nj},${nj},${nj}\\)$`),oj=RegExp(`^rgba\\(${ej},${ej},${ej},${tj}\\)$`),sj=RegExp(`^rgba\\(${nj},${nj},${nj},${tj}\\)$`),cj=RegExp(`^hsl\\(${tj},${nj},${nj}\\)$`),lj=RegExp(`^hsla\\(${tj},${nj},${nj},${tj}\\)$`),uj={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};YA(ZA,hj,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:dj,formatHex:dj,formatHex8:fj,formatHsl:pj,formatRgb:mj,toString:mj});function dj(){return this.rgb().formatHex()}function fj(){return this.rgb().formatHex8()}function pj(){return Oj(this).formatHsl()}function mj(){return this.rgb().formatRgb()}function hj(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=rj.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?gj(t):n===3?new bj(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?_j(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?_j(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=ij.exec(e))?new bj(t[1],t[2],t[3],1):(t=aj.exec(e))?new bj(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=oj.exec(e))?_j(t[1],t[2],t[3],t[4]):(t=sj.exec(e))?_j(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=cj.exec(e))?Dj(t[1],t[2]/100,t[3]/100,1):(t=lj.exec(e))?Dj(t[1],t[2]/100,t[3]/100,t[4]):uj.hasOwnProperty(e)?gj(uj[e]):e===`transparent`?new bj(NaN,NaN,NaN,0):null}function gj(e){return new bj(e>>16&255,e>>8&255,e&255,1)}function _j(e,t,n,r){return r<=0&&(e=t=n=NaN),new bj(e,t,n,r)}function vj(e){return e instanceof ZA||(e=hj(e)),e?(e=e.rgb(),new bj(e.r,e.g,e.b,e.opacity)):new bj}function yj(e,t,n,r){return arguments.length===1?vj(e):new bj(e,t,n,r??1)}function bj(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}YA(bj,yj,XA(ZA,{brighter(e){return e=e==null?$A:$A**+e,new bj(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?QA:QA**+e,new bj(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new bj(Tj(this.r),Tj(this.g),Tj(this.b),wj(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:xj,formatHex:xj,formatHex8:Sj,formatRgb:Cj,toString:Cj}));function xj(){return`#${Ej(this.r)}${Ej(this.g)}${Ej(this.b)}`}function Sj(){return`#${Ej(this.r)}${Ej(this.g)}${Ej(this.b)}${Ej((isNaN(this.opacity)?1:this.opacity)*255)}`}function Cj(){let e=wj(this.opacity);return`${e===1?`rgb(`:`rgba(`}${Tj(this.r)}, ${Tj(this.g)}, ${Tj(this.b)}${e===1?`)`:`, ${e})`}`}function wj(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Tj(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Ej(e){return e=Tj(e),(e<16?`0`:``)+e.toString(16)}function Dj(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Aj(e,t,n,r)}function Oj(e){if(e instanceof Aj)return new Aj(e.h,e.s,e.l,e.opacity);if(e instanceof ZA||(e=hj(e)),!e)return new Aj;if(e instanceof Aj)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new Aj(o,s,c,e.opacity)}function kj(e,t,n,r){return arguments.length===1?Oj(e):new Aj(e,t,n,r??1)}function Aj(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}YA(Aj,kj,XA(ZA,{brighter(e){return e=e==null?$A:$A**+e,new Aj(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?QA:QA**+e,new Aj(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new bj(Nj(e>=240?e-240:e+120,i,r),Nj(e,i,r),Nj(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Aj(jj(this.h),Mj(this.s),Mj(this.l),wj(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=wj(this.opacity);return`${e===1?`hsl(`:`hsla(`}${jj(this.h)}, ${Mj(this.s)*100}%, ${Mj(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function jj(e){return e=(e||0)%360,e<0?e+360:e}function Mj(e){return Math.max(0,Math.min(1,e||0))}function Nj(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var Pj=e=>()=>e;function Fj(e,t){return function(n){return e+n*t}}function Ij(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function Lj(e){return(e=+e)==1?Rj:function(t,n){return n-t?Ij(t,n,e):Pj(isNaN(t)?n:t)}}function Rj(e,t){var n=t-e;return n?Fj(e,n):Pj(isNaN(e)?t:e)}var zj=(function e(t){var n=Lj(t);function r(e,t){var r=n((e=yj(e)).r,(t=yj(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Rj(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function Bj(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function Vj(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Hj(e,t){for(var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o=0;o<r;++o)i[o]=Zj(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function Uj(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function Wj(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Gj(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=Zj(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var Kj=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,qj=new RegExp(Kj.source,`g`);function Jj(e){return function(){return e}}function Yj(e){return function(t){return e(t)+``}}function Xj(e,t){var n=Kj.lastIndex=qj.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Kj.exec(e))&&(i=qj.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:Wj(r,i)})),n=qj.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?Yj(c[0].x):Jj(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function Zj(e,t){var n=typeof t,r;return t==null||n===`boolean`?Pj(t):(n===`number`?Wj:n===`string`?(r=hj(t))?(t=r,zj):Xj:t instanceof hj?zj:t instanceof Date?Uj:Vj(t)?Bj:Array.isArray(t)?Hj:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?Gj:Wj)(e,t)}function Qj(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var $j=180/Math.PI,eM={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function tM(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*$j,skewX:Math.atan(c)*$j,scaleX:o,scaleY:s}}var nM;function rM(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?eM:tM(t.a,t.b,t.c,t.d,t.e,t.f)}function iM(e){return e==null||(nM||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),nM.setAttribute(`transform`,e),!(e=nM.transform.baseVal.consolidate()))?eM:(e=e.matrix,tM(e.a,e.b,e.c,e.d,e.e,e.f))}function aM(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:Wj(e,i)},{i:c-2,x:Wj(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:Wj(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:Wj(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:Wj(e,n)},{i:s-2,x:Wj(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var oM=aM(rM,`px, `,`px)`,`deg)`),sM=aM(iM,`, `,`)`,`)`),cM=0,lM=0,uM=0,dM=1e3,fM,pM,mM=0,hM=0,gM=0,_M=typeof performance==`object`&&performance.now?performance:Date,vM=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function yM(){return hM||=(vM(bM),_M.now()+gM)}function bM(){hM=0}function xM(){this._call=this._time=this._next=null}xM.prototype=SM.prototype={constructor:xM,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?yM():+n)+(t==null?0:+t),!this._next&&pM!==this&&(pM?pM._next=this:fM=this,pM=this),this._call=e,this._time=n,DM()},stop:function(){this._call&&(this._call=null,this._time=1/0,DM())}};function SM(e,t,n){var r=new xM;return r.restart(e,t,n),r}function CM(){yM(),++cM;for(var e=fM,t;e;)(t=hM-e._time)>=0&&e._call.call(void 0,t),e=e._next;--cM}function wM(){hM=(mM=_M.now())+gM,cM=lM=0;try{CM()}finally{cM=0,EM(),hM=0}}function TM(){var e=_M.now(),t=e-mM;t>dM&&(gM-=t,mM=e)}function EM(){for(var e,t=fM,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:fM=n);pM=e,DM(r)}function DM(e){cM||(lM&&=clearTimeout(lM),e-hM>24?(e<1/0&&(lM=setTimeout(wM,e-_M.now()-gM)),uM&&=clearInterval(uM)):(uM||=(mM=_M.now(),setInterval(TM,dM)),cM=1,vM(wM)))}function OM(e,t,n){var r=new xM;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var kM=uk(`start`,`end`,`cancel`,`interrupt`),AM=[];function jM(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;FM(e,n,{name:t,index:r,group:i,on:kM,tween:AM,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function MM(e,t){var n=PM(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function NM(e,t){var n=PM(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function PM(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function FM(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=SM(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return OM(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(OM(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function IM(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function LM(e){return this.each(function(){IM(this,e)})}function RM(e,t){var n,r;return function(){var i=NM(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function zM(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=NM(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function BM(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=PM(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?RM:zM)(n,e,t))}function VM(e,t,n){var r=e._id;return e.each(function(){var e=NM(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return PM(e,r).value[t]}}function HM(e,t){var n;return(typeof t==`number`?Wj:t instanceof hj?zj:(n=hj(t))?(t=n,zj):Xj)(e,t)}function UM(e){return function(){this.removeAttribute(e)}}function WM(e){return function(){this.removeAttributeNS(e.space,e.local)}}function GM(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function KM(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function qM(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function JM(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function YM(e,t){var n=gk(e),r=n===`transform`?sM:HM;return this.attrTween(e,typeof t==`function`?(n.local?JM:qM)(n,r,VM(this,`attr.`+e,t)):t==null?(n.local?WM:UM)(n):(n.local?KM:GM)(n,r,t))}function XM(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function ZM(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function QM(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&ZM(e,i)),n}return i._value=t,i}function $M(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&XM(e,i)),n}return i._value=t,i}function eN(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=gk(e);return this.tween(n,(r.local?QM:$M)(r,t))}function tN(e,t){return function(){MM(this,e).delay=+t.apply(this,arguments)}}function nN(e,t){return t=+t,function(){MM(this,e).delay=t}}function rN(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?tN:nN)(t,e)):PM(this.node(),t).delay}function iN(e,t){return function(){NM(this,e).duration=+t.apply(this,arguments)}}function aN(e,t){return t=+t,function(){NM(this,e).duration=t}}function oN(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?iN:aN)(t,e)):PM(this.node(),t).duration}function sN(e,t){if(typeof t!=`function`)throw Error();return function(){NM(this,e).ease=t}}function cN(e){var t=this._id;return arguments.length?this.each(sN(t,e)):PM(this.node(),t).ease}function lN(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();NM(this,e).ease=n}}function uN(e){if(typeof e!=`function`)throw Error();return this.each(lN(this._id,e))}function dN(e){typeof e!=`function`&&(e=Ok(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new BN(r,this._parents,this._name,this._id)}function fN(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new BN(o,this._parents,this._name,this._id)}function pN(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function mN(e,t,n){var r,i,a=pN(t)?MM:NM;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function hN(e,t){var n=this._id;return arguments.length<2?PM(this.node(),n).on.on(e):this.each(mN(n,e,t))}function gN(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function _N(){return this.on(`end.remove`,gN(this._id))}function vN(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=xk(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,jM(l[f],t,n,f,l,PM(u,n)));return new BN(a,this._parents,t,n)}function yN(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Tk(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=PM(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&jM(p,t,n,h,f,m);a.push(f),o.push(u)}return new BN(a,o,t,n)}var bN=qA.prototype.constructor;function xN(){return new bN(this._groups,this._parents)}function SN(e,t){var n,r,i;return function(){var a=vA(this,e),o=(this.style.removeProperty(e),vA(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function CN(e){return function(){this.style.removeProperty(e)}}function wN(e,t,n){var r,i=n+``,a;return function(){var o=vA(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function TN(e,t,n){var r,i,a;return function(){var o=vA(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),vA(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function EN(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=NM(this,e),l=c.on,u=c.value[a]==null?s||=CN(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function DN(e,t,n){var r=(e+=``)==`transform`?oM:HM;return t==null?this.styleTween(e,SN(e,r)).on(`end.style.`+e,CN(e)):typeof t==`function`?this.styleTween(e,TN(e,r,VM(this,`style.`+e,t))).each(EN(this._id,e)):this.styleTween(e,wN(e,r,t),n).on(`end.style.`+e,null)}function ON(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function kN(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&ON(e,a,n)),r}return a._value=t,a}function AN(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,kN(e,t,n??``))}function jN(e){return function(){this.textContent=e}}function MN(e){return function(){var t=e(this);this.textContent=t??``}}function NN(e){return this.tween(`text`,typeof e==`function`?MN(VM(this,`text`,e)):jN(e==null?``:e+``))}function PN(e){return function(t){this.textContent=e.call(this,t)}}function FN(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&PN(r)),t}return r._value=e,r}function IN(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,FN(e))}function LN(){for(var e=this._name,t=this._id,n=VN(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=PM(c,t);jM(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new BN(r,this._parents,e,n)}function RN(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=NM(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var zN=0;function BN(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function VN(){return++zN}var HN=qA.prototype;BN.prototype={constructor:BN,select:vN,selectAll:yN,selectChild:HN.selectChild,selectChildren:HN.selectChildren,filter:dN,merge:fN,selection:xN,transition:LN,call:HN.call,nodes:HN.nodes,node:HN.node,size:HN.size,empty:HN.empty,each:HN.each,on:hN,attr:YM,attrTween:eN,style:DN,styleTween:AN,text:NN,textTween:IN,remove:_N,tween:BM,delay:rN,duration:oN,ease:cN,easeVarying:uN,end:RN,[Symbol.iterator]:HN[Symbol.iterator]};function UN(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var WN={time:null,delay:0,duration:250,ease:UN};function GN(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function KN(e){var t,n;e instanceof BN?(t=e._id,e=e._name):(t=VN(),(n=WN).time=yM(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&jM(c,e,t,l,o,n||GN(c,t));return new BN(r,this._parents,e,t)}qA.prototype.interrupt=LM,qA.prototype.transition=KN;var{abs:Dee,max:Oee,min:kee}=Math;[`w`,`e`].map(qN),[`n`,`s`].map(qN),[`n`,`w`,`e`,`s`,`nw`,`ne`,`sw`,`se`].map(qN);function qN(e){return{type:e}}var JN=Math.PI,YN=2*JN,XN=1e-6,ZN=YN-XN;function QN(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function $N(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return QN;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var eP=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?QN:$N(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>XN){if(!(Math.abs(u*s-c*l)>XN)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((JN-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>XN&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>XN||Math.abs(this._y1-l)>XN)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%YN+YN),d>ZN?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>XN&&this._append`A${n},${n},0,${+(d>=JN)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};eP.prototype;function tP(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function nP(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function rP(e){return e=nP(Math.abs(e)),e?e[1]:NaN}function iP(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function aP(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var oP=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function sP(e){if(!(t=oP.exec(e)))throw Error(`invalid format: `+e);var t;return new cP({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}sP.prototype=cP.prototype;function cP(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}cP.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?`0`:``)+(this.width===void 0?``:Math.max(1,this.width|0))+(this.comma?`,`:``)+(this.precision===void 0?``:`.`+Math.max(0,this.precision|0))+(this.trim?`~`:``)+this.type};function lP(e){out:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case`.`:r=i=n;break;case`0`:r===0&&(r=n),i=n;break;default:if(!+e[n])break out;r>0&&(r=0)}return r>0?e.slice(0,r)+e.slice(i+1):e}var uP;function dP(e,t){var n=nP(e,t);if(!n)return uP=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(uP=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+nP(e,Math.max(0,t+a-1))[0]}function fP(e,t){var n=nP(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var pP={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:tP,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>fP(e*100,t),r:fP,s:dP,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function mP(e){return e}var hP=Array.prototype.map,gP=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function _P(e){var t=e.grouping===void 0||e.thousands===void 0?mP:iP(hP.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?mP:aP(hP.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=sP(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):pP[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),S=pP[y],C=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function w(e){var n=b,r=x,o,l,p;if(y===`c`)r=S(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:S(Math.abs(e),_),v&&(e=lP(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&uP!==void 0?gP[8+uP/3]:``)+r+(w&&f===`(`?`)`:``),C){for(o=-1,l=e.length;++o<l;)if(p=e.charCodeAt(o),48>p||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var T=n.length+e.length+r.length,E=T<h?Array(h-T+1).join(u):``;switch(g&&m&&(e=t(E+e,E.length?h-r.length:1/0),E=``),d){case`<`:e=n+e+r+E;break;case`=`:e=n+E+e+r;break;case`^`:e=E.slice(0,T=E.length>>1)+n+e+r+E.slice(T);break;default:e=E+n+e+r}return a(e)}return w.toString=function(){return e+``},w}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(rP(t)/3)))*3,r=10**-n,i=l((e=sP(e),e.type=`f`,e),{suffix:gP[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var vP,yP,bP;xP({thousands:`,`,grouping:[3],currency:[`$`,``]});function xP(e){return vP=_P(e),yP=vP.format,bP=vP.formatPrefix,vP}function SP(e){return Math.max(0,-rP(Math.abs(e)))}function CP(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(rP(t)/3)))*3-rP(Math.abs(e)))}function wP(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,rP(t)-rP(e))+1}function TP(e){var t=0,n=e.children,r=n&&n.length;if(!r)t=1;else for(;--r>=0;)t+=n[r].value;e.value=t}function EP(){return this.eachAfter(TP)}function DP(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this}function OP(e,t){for(var n=this,r=[n],i,a,o=-1;n=r.pop();)if(e.call(t,n,++o,this),i=n.children)for(a=i.length-1;a>=0;--a)r.push(i[a]);return this}function kP(e,t){for(var n=this,r=[n],i=[],a,o,s,c=-1;n=r.pop();)if(i.push(n),a=n.children)for(o=0,s=a.length;o<s;++o)r.push(a[o]);for(;n=i.pop();)e.call(t,n,++c,this);return this}function AP(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r}function jP(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})}function MP(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function NP(e){for(var t=this,n=PP(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r}function PP(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}function FP(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function IP(){return Array.from(this)}function LP(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function RP(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*zP(){var e=this,t,n=[e],r,i,a;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,a=r.length;i<a;++i)n.push(r[i]);while(n.length)}function BP(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=UP)):t===void 0&&(t=HP);for(var n=new KP(e),r,i=[n],a,o,s,c;r=i.pop();)if((o=t(r.data))&&(c=(o=Array.from(o)).length))for(r.children=o,s=c-1;s>=0;--s)i.push(a=o[s]=new KP(o[s])),a.parent=r,a.depth=r.depth+1;return n.eachBefore(GP)}function VP(){return BP(this).eachBefore(WP)}function HP(e){return e.children}function UP(e){return Array.isArray(e)?e[1]:null}function WP(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function GP(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function KP(e){this.data=e,this.depth=this.height=0,this.parent=null}KP.prototype=BP.prototype={constructor:KP,count:EP,each:DP,eachAfter:kP,eachBefore:OP,find:AP,sum:jP,sort:MP,path:NP,ancestors:FP,descendants:IP,leaves:LP,links:RP,copy:VP,[Symbol.iterator]:zP};function qP(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function JP(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(r-t)/e.value;++s<c;)o=a[s],o.y0=n,o.y1=i,o.x0=t,o.x1=t+=o.value*l}function YP(){var e=1,t=1,n=0,r=!1;function i(i){var o=i.height+1;return i.x0=i.y0=n,i.x1=e,i.y1=t/o,i.eachBefore(a(t,o)),r&&i.eachBefore(qP),i}function a(e,t){return function(r){r.children&&JP(r,r.x0,e*(r.depth+1)/t,r.x1,e*(r.depth+2)/t);var i=r.x0,a=r.y0,o=r.x1-n,s=r.y1-n;o<i&&(i=o=(i+o)/2),s<a&&(a=s=(a+s)/2),r.x0=i,r.y0=a,r.x1=o,r.y1=s}}return i.round=function(e){return arguments.length?(r=!!e,i):r},i.size=function(n){return arguments.length?(e=+n[0],t=+n[1],i):[e,t]},i.padding=function(e){return arguments.length?(n=+e,i):n},i}function XP(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}var ZP=Symbol(`implicit`);function QP(){var e=new FO,t=[],n=[],r=ZP;function i(i){let a=e.get(i);if(a===void 0){if(r!==ZP)return r;e.set(i,a=t.push(i)-1)}return n[a%n.length]}return i.domain=function(n){if(!arguments.length)return t.slice();t=[],e=new FO;for(let r of n)e.has(r)||e.set(r,t.push(r)-1);return i},i.range=function(e){return arguments.length?(n=Array.from(e),i):n.slice()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return QP(t,n).unknown(r)},XP.apply(i,arguments),i}function $P(){var e=QP().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,a,o,s=!1,c=0,l=0,u=.5;delete e.unknown;function d(){var e=t().length,d=i<r,f=d?i:r,p=d?r:i;a=(p-f)/Math.max(1,e-c+l*2),s&&(a=Math.floor(a)),f+=(p-f-a*(e-c))*u,o=a*(1-c),s&&(f=Math.round(f),o=Math.round(o));var m=JO(e).map(function(e){return f+a*e});return n(d?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),d()):t()},e.range=function(e){return arguments.length?([r,i]=e,r=+r,i=+i,d()):[r,i]},e.rangeRound=function(e){return[r,i]=e,r=+r,i=+i,s=!0,d()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(e){return arguments.length?(s=!!e,d()):s},e.padding=function(e){return arguments.length?(c=Math.min(1,l=+e),d()):c},e.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),d()):c},e.paddingOuter=function(e){return arguments.length?(l=+e,d()):l},e.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),d()):u},e.copy=function(){return $P(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},XP.apply(d(),arguments)}function eF(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return eF(t())},e}function tF(){return eF($P.apply(null,arguments).paddingInner(1))}function nF(e){return function(){return e}}function rF(e){return+e}var iF=[0,1];function aF(e){return e}function oF(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:nF(isNaN(t)?NaN:.5)}function sF(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function cF(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=oF(i,r),a=n(o,a)):(r=oF(r,i),a=n(a,o)),function(e){return a(r(e))}}function lF(e,t,n){var r=Math.min(e.length,t.length)-1,i=Array(r),a=Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)i[o]=oF(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=NO(e,t,1,r)-1;return a[n](i[n](t))}}function uF(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function dF(){var e=iF,t=iF,n=Zj,r,i,a,o=aF,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==aF&&(o=sF(e[0],e[n-1])),s=n>2?lF:cF,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),Wj))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,rF),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=Qj,u()},d.clamp=function(e){return arguments.length?(o=e?!0:aF,u()):o!==aF},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function fF(){return dF()(aF,aF)}function pF(e,t,n,r){var i=KO(e,t,n),a;switch(r=sP(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=CP(i,o))&&(r.precision=a),bP(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=wP(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=SP(i))&&(r.precision=a-(r.type===`%`)*2)}return yP(r)}function mF(e){var t=e.domain;return e.ticks=function(e){var n=t();return WO(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return pF(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s<o&&(l=o,o=s,s=l,l=i,i=a,a=l);u-->0;){if(l=GO(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function hF(){var e=fF();return e.copy=function(){return uF(e,hF())},XP.apply(e,arguments),mF(e)}function gF(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],o;return a<i&&(o=n,n=r,r=o,o=i,i=a,a=o),e[n]=t.floor(i),e[r]=t.ceil(a),e}var _F=new Date,vF=new Date;function yF(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t<n-e?t:n},i.offset=(e,n)=>(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n<r)||!(a>0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(s<n&&n<r);return o},i.filter=n=>yF(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e){if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}}),n&&(i.count=(t,r)=>(_F.setTime(+t),vF.setTime(+r),e(_F),e(vF),Math.floor(n(_F,vF))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var bF=yF(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);bF.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?yF(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):bF),bF.range;var xF=1e3,SF=xF*60,CF=SF*60,wF=CF*24,TF=wF*7,EF=wF*30,DF=wF*365,OF=yF(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*xF)},(e,t)=>(t-e)/xF,e=>e.getUTCSeconds());OF.range;var kF=yF(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*xF)},(e,t)=>{e.setTime(+e+t*SF)},(e,t)=>(t-e)/SF,e=>e.getMinutes());kF.range;var AF=yF(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*SF)},(e,t)=>(t-e)/SF,e=>e.getUTCMinutes());AF.range;var jF=yF(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*xF-e.getMinutes()*SF)},(e,t)=>{e.setTime(+e+t*CF)},(e,t)=>(t-e)/CF,e=>e.getHours());jF.range;var MF=yF(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*CF)},(e,t)=>(t-e)/CF,e=>e.getUTCHours());MF.range;var NF=yF(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*SF)/wF,e=>e.getDate()-1);NF.range;var PF=yF(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/wF,e=>e.getUTCDate()-1);PF.range;var FF=yF(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/wF,e=>Math.floor(e/wF));FF.range;function IF(e){return yF(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*SF)/TF)}var LF=IF(0),RF=IF(1),zF=IF(2),BF=IF(3),VF=IF(4),HF=IF(5),UF=IF(6);LF.range,RF.range,zF.range,BF.range,VF.range,HF.range,UF.range;function WF(e){return yF(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/TF)}var GF=WF(0),KF=WF(1),qF=WF(2),JF=WF(3),YF=WF(4),XF=WF(5),ZF=WF(6);GF.range,KF.range,qF.range,JF.range,YF.range,XF.range,ZF.range;var QF=yF(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());QF.range;var $F=yF(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());$F.range;var eI=yF(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());eI.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:yF(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),eI.range;var tI=yF(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());tI.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:yF(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),tI.range;function nI(e,t,n,r,i,a){let o=[[OF,1,xF],[OF,5,5*xF],[OF,15,15*xF],[OF,30,30*xF],[a,1,SF],[a,5,5*SF],[a,15,15*SF],[a,30,30*SF],[i,1,CF],[i,3,3*CF],[i,6,6*CF],[i,12,12*CF],[r,1,wF],[r,2,2*wF],[n,1,TF],[t,1,EF],[t,3,3*EF],[e,1,DF]];function s(e,t,n){let r=t<e;r&&([e,t]=[t,e]);let i=n&&typeof n.range==`function`?n:c(e,t,n),a=i?i.range(e,+t+1):[];return r?a.reverse():a}function c(t,n,r){let i=Math.abs(n-t)/r,a=kO(([,,e])=>e).right(o,i);if(a===o.length)return e.every(KO(t/DF,n/DF,r));if(a===0)return bF.every(Math.max(KO(t,n,r),1));let[s,c]=o[i/o[a-1][2]<o[a][2]/i?a-1:a];return s.every(c)}return[s,c]}var[Aee,jee]=nI(tI,$F,GF,FF,MF,AF),[rI,iI]=nI(eI,QF,LF,NF,jF,kF);function aI(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function oI(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function sI(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function cI(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,a=e.days,o=e.shortDays,s=e.months,c=e.shortMonths,l=mI(i),u=hI(i),d=mI(a),f=hI(a),p=mI(o),m=hI(o),h=mI(s),g=hI(s),_=mI(c),v=hI(c),y={a:N,A:P,b:F,B:I,c:null,d:II,e:II,f:VI,g:QI,G:eL,H:LI,I:RI,j:zI,L:BI,m:HI,M:UI,p:L,q:R,Q:CL,s:wL,S:WI,u:GI,U:KI,V:JI,w:YI,W:XI,x:null,X:null,y:ZI,Y:$I,Z:tL,"%":SL},b={a:z,A:B,b:V,B:H,c:null,d:nL,e:nL,f:sL,g:vL,G:bL,H:rL,I:iL,j:aL,L:oL,m:cL,M:lL,p:ee,q:U,Q:CL,s:wL,S:uL,u:dL,U:fL,V:mL,w:hL,W:gL,x:null,X:null,y:_L,Y:yL,Z:xL,"%":SL},x={a:E,A:D,b:O,B:k,c:A,d:EI,e:EI,f:MI,g:SI,G:xI,H:OI,I:OI,j:DI,L:jI,m:TI,M:kI,p:T,q:wI,Q:PI,s:FI,S:AI,u:_I,U:vI,V:yI,w:gI,W:bI,x:j,X:M,y:SI,Y:xI,Z:CI,"%":NI};y.x=S(n,y),y.X=S(r,y),y.c=S(t,y),b.x=S(n,b),b.X=S(r,b),b.c=S(t,b);function S(e,t){return function(n){var r=[],i=-1,a=0,o=e.length,s,c,l;for(n instanceof Date||(n=new Date(+n));++i<o;)e.charCodeAt(i)===37&&(r.push(e.slice(a,i)),(c=lI[s=e.charAt(++i)])==null?c=s===`e`?` `:`0`:s=e.charAt(++i),(l=t[s])&&(s=l(n,c)),r.push(s),a=i+1);return r.push(e.slice(a,i)),r.join(``)}}function C(e,t){return function(n){var r=sI(1900,void 0,1),i=w(r,e,n+=``,0),a,o;if(i!=n.length)return null;if(`Q`in r)return new Date(r.Q);if(`s`in r)return new Date(r.s*1e3+(`L`in r?r.L:0));if(t&&!(`Z`in r)&&(r.Z=0),`p`in r&&(r.H=r.H%12+r.p*12),r.m===void 0&&(r.m=`q`in r?r.q:0),`V`in r){if(r.V<1||r.V>53)return null;`w`in r||(r.w=1),`Z`in r?(a=oI(sI(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?KF.ceil(a):KF(a),a=PF.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=aI(sI(r.y,0,1)),o=a.getDay(),a=o>4||o===0?RF.ceil(a):RF(a),a=NF.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.getDate()+(r.w+6)%7)}else(`W`in r||`U`in r)&&(`w`in r||(r.w=`u`in r?r.u%7:+(`W`in r)),o=`Z`in r?oI(sI(r.y,0,1)).getUTCDay():aI(sI(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,oI(r)):aI(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i<a;){if(r>=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in lI?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function A(e,n,r){return w(e,t,n,r)}function j(e,t,r){return w(e,n,t,r)}function M(e,t,n){return w(e,r,t,n)}function N(e){return o[e.getDay()]}function P(e){return a[e.getDay()]}function F(e){return c[e.getMonth()]}function I(e){return s[e.getMonth()]}function L(e){return i[+(e.getHours()>=12)]}function R(e){return 1+~~(e.getMonth()/3)}function z(e){return o[e.getUTCDay()]}function B(e){return a[e.getUTCDay()]}function V(e){return c[e.getUTCMonth()]}function H(e){return s[e.getUTCMonth()]}function ee(e){return i[+(e.getUTCHours()>=12)]}function U(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var lI={"-":``,_:` `,0:`0`},uI=/^\s*\d+/,dI=/^%/,fI=/[\\^$*+?|[\]().{}]/g;function Z(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a<n?Array(n-a+1).join(t)+i:i)}function pI(e){return e.replace(fI,`\\$&`)}function mI(e){return RegExp(`^(?:`+e.map(pI).join(`|`)+`)`,`i`)}function hI(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function gI(e,t,n){var r=uI.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function _I(e,t,n){var r=uI.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function vI(e,t,n){var r=uI.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function yI(e,t,n){var r=uI.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function bI(e,t,n){var r=uI.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function xI(e,t,n){var r=uI.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function SI(e,t,n){var r=uI.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function CI(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function wI(e,t,n){var r=uI.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function TI(e,t,n){var r=uI.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function EI(e,t,n){var r=uI.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function DI(e,t,n){var r=uI.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function OI(e,t,n){var r=uI.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function kI(e,t,n){var r=uI.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function AI(e,t,n){var r=uI.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function jI(e,t,n){var r=uI.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function MI(e,t,n){var r=uI.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function NI(e,t,n){var r=dI.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function PI(e,t,n){var r=uI.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function FI(e,t,n){var r=uI.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function II(e,t){return Z(e.getDate(),t,2)}function LI(e,t){return Z(e.getHours(),t,2)}function RI(e,t){return Z(e.getHours()%12||12,t,2)}function zI(e,t){return Z(1+NF.count(eI(e),e),t,3)}function BI(e,t){return Z(e.getMilliseconds(),t,3)}function VI(e,t){return BI(e,t)+`000`}function HI(e,t){return Z(e.getMonth()+1,t,2)}function UI(e,t){return Z(e.getMinutes(),t,2)}function WI(e,t){return Z(e.getSeconds(),t,2)}function GI(e){var t=e.getDay();return t===0?7:t}function KI(e,t){return Z(LF.count(eI(e)-1,e),t,2)}function qI(e){var t=e.getDay();return t>=4||t===0?VF(e):VF.ceil(e)}function JI(e,t){return e=qI(e),Z(VF.count(eI(e),e)+(eI(e).getDay()===4),t,2)}function YI(e){return e.getDay()}function XI(e,t){return Z(RF.count(eI(e)-1,e),t,2)}function ZI(e,t){return Z(e.getFullYear()%100,t,2)}function QI(e,t){return e=qI(e),Z(e.getFullYear()%100,t,2)}function $I(e,t){return Z(e.getFullYear()%1e4,t,4)}function eL(e,t){var n=e.getDay();return e=n>=4||n===0?VF(e):VF.ceil(e),Z(e.getFullYear()%1e4,t,4)}function tL(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+Z(t/60|0,`0`,2)+Z(t%60,`0`,2)}function nL(e,t){return Z(e.getUTCDate(),t,2)}function rL(e,t){return Z(e.getUTCHours(),t,2)}function iL(e,t){return Z(e.getUTCHours()%12||12,t,2)}function aL(e,t){return Z(1+PF.count(tI(e),e),t,3)}function oL(e,t){return Z(e.getUTCMilliseconds(),t,3)}function sL(e,t){return oL(e,t)+`000`}function cL(e,t){return Z(e.getUTCMonth()+1,t,2)}function lL(e,t){return Z(e.getUTCMinutes(),t,2)}function uL(e,t){return Z(e.getUTCSeconds(),t,2)}function dL(e){var t=e.getUTCDay();return t===0?7:t}function fL(e,t){return Z(GF.count(tI(e)-1,e),t,2)}function pL(e){var t=e.getUTCDay();return t>=4||t===0?YF(e):YF.ceil(e)}function mL(e,t){return e=pL(e),Z(YF.count(tI(e),e)+(tI(e).getUTCDay()===4),t,2)}function hL(e){return e.getUTCDay()}function gL(e,t){return Z(KF.count(tI(e)-1,e),t,2)}function _L(e,t){return Z(e.getUTCFullYear()%100,t,2)}function vL(e,t){return e=pL(e),Z(e.getUTCFullYear()%100,t,2)}function yL(e,t){return Z(e.getUTCFullYear()%1e4,t,4)}function bL(e,t){var n=e.getUTCDay();return e=n>=4||n===0?YF(e):YF.ceil(e),Z(e.getUTCFullYear()%1e4,t,4)}function xL(){return`+0000`}function SL(){return`%`}function CL(e){return+e}function wL(e){return Math.floor(e/1e3)}var TL,EL;DL({dateTime:`%x, %X`,date:`%-m/%-d/%Y`,time:`%-I:%M:%S %p`,periods:[`AM`,`PM`],days:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],shortDays:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],months:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],shortMonths:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`]});function DL(e){return TL=cI(e),EL=TL.format,TL.parse,TL.utcFormat,TL.utcParse,TL}function OL(e){return new Date(e)}function kL(e){return e instanceof Date?+e:+new Date(+e)}function AL(e,t,n,r,i,a,o,s,c,l){var u=fF(),d=u.invert,f=u.domain,p=l(`.%L`),m=l(`:%S`),h=l(`%I:%M`),g=l(`%I %p`),_=l(`%a %d`),v=l(`%b %d`),y=l(`%B`),b=l(`%Y`);function x(e){return(c(e)<e?p:s(e)<e?m:o(e)<e?h:a(e)<e?g:r(e)<e?i(e)<e?_:v:n(e)<e?y:b)(e)}return u.invert=function(e){return new Date(d(e))},u.domain=function(e){return arguments.length?f(Array.from(e,kL)):f().map(OL)},u.ticks=function(t){var n=f();return e(n[0],n[n.length-1],t??10)},u.tickFormat=function(e,t){return t==null?x:l(t)},u.nice=function(e){var n=f();return(!e||typeof e.range!=`function`)&&(e=t(n[0],n[n.length-1],e??10)),e?f(gF(n,e)):u},u.copy=function(){return uF(u,AL(e,t,n,r,i,a,o,s,c,l))},u}function jL(){return XP.apply(AL(rI,iI,eI,QF,LF,NF,jF,kF,OF,EL).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function ML(e){return function(){return e}}var NL=Math.abs,PL=Math.atan2,FL=Math.cos,IL=Math.max,LL=Math.min,RL=Math.sin,zL=Math.sqrt,BL=Math.PI,VL=BL/2,HL=2*BL;function UL(e){return e>1?0:e<-1?BL:Math.acos(e)}function WL(e){return e>=1?VL:e<=-1?-VL:Math.asin(e)}function GL(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new eP(t)}function KL(e){return e.innerRadius}function qL(e){return e.outerRadius}function JL(e){return e.startAngle}function YL(e){return e.endAngle}function XL(e){return e&&e.padAngle}function ZL(e,t,n,r,i,a,o,s){var c=n-e,l=r-t,u=o-i,d=s-a,f=d*c-u*l;if(!(f*f<1e-12))return f=(u*(t-a)-d*(e-i))/f,[e+f*c,t+f*l]}function QL(e,t,n,r,i,a,o){var s=e-n,c=t-r,l=(o?a:-a)/zL(s*s+c*c),u=l*c,d=-l*s,f=e+u,p=t+d,m=n+u,h=r+d,g=(f+m)/2,_=(p+h)/2,v=m-f,y=h-p,b=v*v+y*y,x=i-a,S=f*h-m*p,C=(y<0?-1:1)*zL(IL(0,x*x*b-S*S)),w=(S*y-v*C)/b,T=(-S*v-y*C)/b,E=(S*y+v*C)/b,D=(-S*v+y*C)/b,O=w-g,k=T-_,A=E-g,j=D-_;return O*O+k*k>A*A+j*j&&(w=E,T=D),{cx:w,cy:T,x01:-u,y01:-d,x11:w*(i/x-1),y11:T*(i/x-1)}}function $L(){var e=KL,t=qL,n=ML(0),r=null,i=JL,a=YL,o=XL,s=null,c=GL(l);function l(){var l,u,d=+e.apply(this,arguments),f=+t.apply(this,arguments),p=i.apply(this,arguments)-VL,m=a.apply(this,arguments)-VL,h=NL(m-p),g=m>p;if(s||=l=c(),f<d&&(u=f,f=d,d=u),!(f>1e-12))s.moveTo(0,0);else if(h>HL-1e-12)s.moveTo(f*FL(p),f*RL(p)),s.arc(0,0,f,p,m,!g),d>1e-12&&(s.moveTo(d*FL(m),d*RL(m)),s.arc(0,0,d,m,p,g));else{var _=p,v=m,y=p,b=m,x=h,S=h,C=o.apply(this,arguments)/2,w=C>1e-12&&(r?+r.apply(this,arguments):zL(d*d+f*f)),T=LL(NL(f-d)/2,+n.apply(this,arguments)),E=T,D=T,O,k;if(w>1e-12){var A=WL(w/d*RL(C)),j=WL(w/f*RL(C));(x-=A*2)>1e-12?(A*=g?1:-1,y+=A,b-=A):(x=0,y=b=(p+m)/2),(S-=j*2)>1e-12?(j*=g?1:-1,_+=j,v-=j):(S=0,_=v=(p+m)/2)}var M=f*FL(_),N=f*RL(_),P=d*FL(b),F=d*RL(b);if(T>1e-12){var I=f*FL(v),L=f*RL(v),R=d*FL(y),z=d*RL(y),B;if(h<BL){if(B=ZL(M,N,R,z,I,L,P,F)){var V=M-B[0],H=N-B[1],ee=I-B[0],U=L-B[1],te=1/RL(UL((V*ee+H*U)/(zL(V*V+H*H)*zL(ee*ee+U*U)))/2),ne=zL(B[0]*B[0]+B[1]*B[1]);E=LL(T,(d-ne)/(te-1)),D=LL(T,(f-ne)/(te+1))}else E=D=0}}S>1e-12?D>1e-12?(O=QL(R,z,M,N,f,D,g),k=QL(I,L,P,F,f,D,g),s.moveTo(O.cx+O.x01,O.cy+O.y01),D<T?s.arc(O.cx,O.cy,D,PL(O.y01,O.x01),PL(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,D,PL(O.y01,O.x01),PL(O.y11,O.x11),!g),s.arc(0,0,f,PL(O.cy+O.y11,O.cx+O.x11),PL(k.cy+k.y11,k.cx+k.x11),!g),s.arc(k.cx,k.cy,D,PL(k.y11,k.x11),PL(k.y01,k.x01),!g))):(s.moveTo(M,N),s.arc(0,0,f,_,v,!g)):s.moveTo(M,N),!(d>1e-12)||!(x>1e-12)?s.lineTo(P,F):E>1e-12?(O=QL(P,F,I,L,d,-E,g),k=QL(M,N,R,z,d,-E,g),s.lineTo(O.cx+O.x01,O.cy+O.y01),E<T?s.arc(O.cx,O.cy,E,PL(O.y01,O.x01),PL(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,E,PL(O.y01,O.x01),PL(O.y11,O.x11),!g),s.arc(0,0,d,PL(O.cy+O.y11,O.cx+O.x11),PL(k.cy+k.y11,k.cx+k.x11),g),s.arc(k.cx,k.cy,E,PL(k.y11,k.x11),PL(k.y01,k.x01),!g))):s.arc(0,0,d,b,y,g)}if(s.closePath(),l)return s=null,l+``||null}return l.centroid=function(){var n=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-BL/2;return[FL(r)*n,RL(r)*n]},l.innerRadius=function(t){return arguments.length?(e=typeof t==`function`?t:ML(+t),l):e},l.outerRadius=function(e){return arguments.length?(t=typeof e==`function`?e:ML(+e),l):t},l.cornerRadius=function(e){return arguments.length?(n=typeof e==`function`?e:ML(+e),l):n},l.padRadius=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:ML(+e),l):r},l.startAngle=function(e){return arguments.length?(i=typeof e==`function`?e:ML(+e),l):i},l.endAngle=function(e){return arguments.length?(a=typeof e==`function`?e:ML(+e),l):a},l.padAngle=function(e){return arguments.length?(o=typeof e==`function`?e:ML(+e),l):o},l.context=function(e){return arguments.length?(s=e??null,l):s},l}Array.prototype.slice;function eR(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function tR(e){this._context=e}tR.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};function nR(e){return new tR(e)}function rR(e){return e[0]}function iR(e){return e[1]}function aR(e,t){var n=ML(!0),r=null,i=nR,a=null,o=GL(s);e=typeof e==`function`?e:e===void 0?rR:ML(e),t=typeof t==`function`?t:t===void 0?iR:ML(t);function s(s){var c,l=(s=eR(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:ML(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:ML(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:ML(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}function oR(e,t,n){var r=null,i=ML(!0),a=null,o=nR,s=null,c=GL(l);e=typeof e==`function`?e:e===void 0?rR:ML(+e),t=typeof t==`function`?t:ML(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?iR:ML(+n);function l(l){var u,d,f,p=(l=eR(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h){if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return aR().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:ML(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:ML(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:ML(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:ML(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:ML(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:ML(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:ML(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}function sR(e){return e<0?-1:1}function cR(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(sR(a)+sR(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function lR(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function uR(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function dR(e){this._context=e}dR.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:uR(this,this._t0,lR(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,uR(this,lR(this,n=cR(this,e,t)),n);break;default:uR(this,this._t0,n=cR(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},Object.create(dR.prototype).point=function(e,t){dR.prototype.point.call(this,t,e)};function fR(e){return new dR(e)}function pR(e,t){this._context=e,this._t=t}pR.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function mR(e){return new pR(e,1)}function hR(e,t,n){this.k=e,this.x=t,this.y=n}hR.prototype={constructor:hR,scale:function(e){return e===1?this:new hR(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new hR(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return`translate(`+this.x+`,`+this.y+`) scale(`+this.k+`)`}};var gR=new hR(1,0,0);_R.prototype=hR.prototype;function _R(e){for(;!e.__zoom;)if(!(e=e.parentNode))return gR;return e.__zoom}function vR(e,t=15){let n=e.split(` `),r=[],i=[],a=0;return n.forEach(e=>{a+e.length>t?(i.length&&r.push(i.join(` `)),i=[e],a=e.length):(i.push(e),a+=e.length+ +(i.length>0))}),i.length&&r.push(i.join(` `)),r}var yR={DECISIVE:20,ROUTINE:50},bR=new Set([`WALKOVER`,`DOUBLE_WALKOVER`,`DEFAULTED`,`DOUBLE_DEFAULT`]),xR={COMPETITIVE:`#16a34a`,ROUTINE:`#3b82f6`,DECISIVE:`#8e44ad`,WALKOVER:`#6b7280`},SR=`#cfd8dc`,CR=`COMPETITIVE`,wR=`ROUTINE`,TR=`DECISIVE`,ER=`WALKOVER`;function DR(e,t=yR){if(!e?.length)return;let n=[0,0],r=[0,0];for(let t of e)n[0]+=t.side1Score||0,n[1]+=t.side2Score||0,r[0]+=t.side1TiebreakScore||0,r[1]+=t.side2TiebreakScore||0;r[0]+r[1]&&(n[r[0]>r[1]?0:1]+=1);let i=Math.max(n[0],n[1]);if(i===0)return;let a=Math.round(Math.min(n[0],n[1])/i*100);return Number.isNaN(a)?ER:a<=t.DECISIVE?TR:a<=t.ROUTINE?wR:CR}function OR(e,n=yR){if(e)return DR(t.scoreGovernor.parseScoreString({scoreString:e}),n)}function kR({winningSide:e,matchUpStatus:t,sets:n,scoreString:r,bands:i}){if(t&&bR.has(t))return ER;if(e)return n?.length?DR(n,i):OR(r,i)}function AR(e,t){return e?t?.[e]??xR[e]:SR}var{WILDCARD:jR,QUALIFIER:MR,LUCKY_LOSER:NR}=t.entryStatusConstants,PR=`text-anchor`,FR=`dominant-baseline`,IR=`fill-opacity`,LR=Object.assign({},...t.fixtures.countries.filter(e=>e.ioc).map(e=>({[e.ioc]:e.iso2})),...t.fixtures.countries.filter(e=>e.iso).map(e=>({[e.iso]:e.iso2})));function RR(e){let t=Math.floor(e.length/2),n=e.slice(0,t),r=e.slice(t).reverse();return[...n,...r]}function zR(e){if(e)switch(e){case jR:return`WC`;case MR:return`Q`;case NR:return`LL`;default:return e}}function BR(e,t){let n=[];for(let r of e)for(let e of r.sides){let i=r.matchUpStatus===`BYE`&&!e.participantName;n.push({name:e.participantName||(i?`BYE`:``),participantName:e.participantName||(i?`BYE`:void 0),drawPosition:e.drawPosition,seedNumber:e.seedNumber,entryStatus:zR(e.entryStatus),nationalityCode:e.nationalityCode,matchUp:r,depth:t,value:1})}return n}function VR(e,t){let n=e.winningSide!==void 0&&e.winningSide!==null?e.sides.find(t=>t.sideNumber===e.winningSide):void 0;!n&&e.matchUpStatus===`BYE`&&(n=e.sides.find(e=>e.participantName));let r=n?.participantName,i=r?t.get(r):void 0;return{winnerName:r,winnerSide:n,winnerLookup:i}}function HR(e,t,n,r){return e.map((e,i)=>{let a=i*2,o=[t[a],t[a+1]].filter(Boolean),{winnerName:s,winnerSide:c,winnerLookup:l}=VR(e,r);return{name:s||``,participantName:s,drawPosition:l?.drawPosition??c?.drawPosition,seedNumber:c?.seedNumber??l?.seedNumber,entryStatus:zR(c?.entryStatus)??l?.entryStatus,nationalityCode:c?.nationalityCode??l?.nationalityCode,scoreString:e.scoreString,matchUpStatus:e.matchUpStatus,competitiveness:e.competitiveness,matchUp:e,depth:n,children:o.length>0?o:void 0}})}function UR(e){let{roundMatchUps:t}=e,n=Object.keys(t).map(Number).sort((e,t)=>e-t);if(n.length===0)throw Error(`No round data found in draw`);let r=t[n[0]],i=RR(BR(r,n.length)),a=new Map;for(let e of i)e.participantName&&e.participantName!==`BYE`&&a.set(e.participantName,e);let o=HR(RR(r),i,n.length-1,a);for(let e=1;e<n.length;e++)o=HR(RR(t[n[e]]),o,n.length-1-e,a);return o.length===1?o[0]:{name:`Tournament`,depth:0,children:o}}function WR(e,t){if(!e)return;let{seedNumber:n,entryStatus:r,drawPosition:i,participantName:a}=e,o;if(a?.trim().toUpperCase()===`BYE`)o=`#B0BEC5`;else if(n){let e=Number(n),t=hF().domain([1,32]).range([`0`,`1`]);o=hF().domain(JO(0,1,1/7)).range([`#81D4FA`,`#42A5F5`,`#1E88E5`,`#1565C0`,`#5C6BC0`,`#673AB7`,`#9C27B0`])(Number(t(e)))}else if(r?.toUpperCase()===`WC`)o=`red`;else if(r&&(r===`Q`||r===`LL`))o=hF().domain(JO(0,1,1/3)).range([`#FFF176`,`#FBC02D`,`#FF9800`])(t(i));else{let e=[`#C8E6C9`,`#81C784`,`#66BB6A`,`#4CAF50`,`#43A047`,`#388E3C`,`#2E7D32`,`#1B5E20`,`#A5D6A7`,`#90CAF9`,`#64B5F6`,`#42A5F5`,`#2196F3`,`#1E88E5`,`#1976D2`,`#1565C0`];o=hF().domain(JO(0,1,1/e.length)).range(e)(t(i))}e.color=o,e.children&&e.children.forEach(n=>{n.participantName===e.participantName&&(n.color=o),WR(n,t)})}function GR(e,t){e&&(e.competitivenessColor=e.children?.length&&e.competitiveness?AR(e.competitiveness,t):SR,e.children?.forEach(e=>GR(e,t)))}function KR(e,t){let n=[];return e.seedNumber?n.push(`Seed ${e.seedNumber}`):e.entryStatus&&n.push(e.entryStatus),t===7&&e.drawPosition&&n.push(`Draw ${e.drawPosition}`),n.length>0?n.join(` • `):void 0}function qR(e,t){let n=e.find(e=>e.data.participantName&&e.data.participantName!==t);return n?.data.participantName?n.data:void 0}function JR(e,t){let n=[e.participantName],r;if(t.children&&t.children.length>0)e.scoreString&&n.push(e.scoreString),r=qR(t.children,e.participantName),r&&n.push(r.participantName);else{let r=KR(e,t.depth);r&&n.push(r)}return{messageLines:n,opponentData:r}}function YR(e,t){return-(e*t/2)+t/2}function XR(e,t,n){let r=JA(e).append(`svg`).attr(`width`,t).attr(`height`,n).style(`display`,`block`),i=r.append(`g`).attr(`transform`,`translate(${t/2}, ${n/2})`);return{svg:r,g:i,flagsGroup:i.append(`g`).attr(`class`,`flags-group`),winningFlagsGroup:i.append(`g`).attr(`class`,`winning-flags-group`),losingFlagsGroup:i.append(`g`).attr(`class`,`losing-flags-group`)}}function ZR(e,t,n,r,i){let a=e.append(`text`).attr(`x`,t/2).attr(`y`,n/2).attr(PR,`middle`).attr(FR,`middle`).attr(`font-size`,`${r}px`).attr(`font-weight`,`bold`).style(`fill`,`var(--chc-text-primary, #333)`).attr(`pointer-events`,`none`),o=r+i*.5;return{centerText:a,centerText2:e.append(`text`).attr(`x`,t/2).attr(`y`,n/2+o).attr(PR,`middle`).attr(FR,`middle`).attr(`font-size`,`${i}px`).style(`fill`,`var(--chc-text-secondary, #666)`).attr(`pointer-events`,`none`)}}function QR(e,t,n,r,i,a,o){n&&(i?(t.flagsGroup.selectAll(`text`).remove(),t.winningFlagsGroup.selectAll(`text`).remove(),t.losingFlagsGroup.selectAll(`text`).remove()):e.selectAll(`text`).remove(),e.append(`text`).attr(`font-size`,`${o}px`).attr(PR,`middle`).attr(FR,`middle`).attr(`transform`,`translate(0, ${r*a})`).text(nz(n)))}function $R(e,n,r,i={}){let a=i.width||800,o=i.height||800,s=Math.min(a,o)/800*(i.textScaleFactor??1),c=28*s,l=24*s,u=30*s,d=r||i.title||`Tournament`,f=Object.assign({},...t.fixtures.countries.filter(e=>e.label).map(e=>({[e.ioc]:e.label})));if(!Object.keys(n?.roundMatchUps??{}).length)return{highlightPlayer:()=>0,hide:()=>void 0,setColorMode:()=>void 0};let p=UR(n),m=BP(p,e=>e.children).sum(e=>e.value||0),h=Math.min(a,o)/2,g=h/2,_=e=>e*h/200;YP().size([2*Math.PI,h-g])(m),WR(p,hF().domain([0,n.drawSize||128]).range([0,1])),GR(p,i.competitivenessColors);let v=i.colorMode??`default`,y=e=>v===`competitiveness`?e.competitivenessColor||`#cfd8dc`:e.color||`#ccc`,b=m.descendants(),x=$L().startAngle(e=>e.x0).endAngle(e=>e.x1).innerRadius(e=>e.y0+g).outerRadius(e=>e.y1+g),{svg:S,g:C,flagsGroup:w,winningFlagsGroup:T,losingFlagsGroup:E}=XR(e,a,o),D=new Set,O=e=>{e.nationalityCode&&D.add(e.nationalityCode),e.children&&e.children.forEach(O)};O(p);let k=Array.from(D),{centerText:A,centerText2:j}=ZR(S,a,o,c,l);function M(){let e=vR(d,15);A.text(``),A.selectAll(`tspan`).remove(),j.text(``),j.selectAll(`tspan`).remove(),A.selectAll(`tspan`).data(e).join(`tspan`).attr(`x`,a/2).attr(`dy`,(e,t)=>t===0?0:u).text(e=>e);let t=-(e.length*u/2)+u/2;A.attr(`y`,o/2+t),A.style(`display`,`block`),j.style(`display`,`none`)}function N(){if(w.selectAll(`text`).remove(),T.selectAll(`text`).remove(),E.selectAll(`text`).remove(),k.length===0)return;let e=hF().domain([0,k.length]).range([0,Math.PI*2]),t=_(20),n=g-t+10;w.selectAll(`text`).data(k).join(`text`).attr(`font-size`,`${t}px`).attr(PR,`middle`).attr(FR,`middle`).attr(`transform`,(t,r)=>{let i=e(r);return`translate(${Math.cos(i)*n}, ${Math.sin(i)*n})`}).text(e=>nz(e)).style(`cursor`,`pointer`).on(`mouseover`,function(e,t){let n=f[t]||t;A.selectAll(`tspan`).remove(),A.attr(`y`,o/2),A.text(n).style(`display`,`block`),j.selectAll(`tspan`).remove(),j.text(``).style(`display`,`none`),F||C.selectAll(`path`).attr(IR,e=>e.data.nationalityCode===t?.9:.3)}).on(`mouseout`,function(){F||C.selectAll(`path`).attr(IR,.8),M()})}N(),M();let P=i.eventHandlers?.clickCenter;P&&C.insert(`circle`,`:first-child`).attr(`r`,g).attr(`fill`,`transparent`).style(`cursor`,`pointer`).on(`click`,P);let F=!1,I;function L(e,t){let n=t.data;if(n.participantName){let{messageLines:e,opponentData:r}=JR(n,t);r&&(n.opponent=r),A.selectAll(`tspan`).remove(),A.text(``),A.selectAll(`tspan`).data(e).join(`tspan`).attr(`x`,a/2).attr(`dy`,(e,t)=>t===0?0:u).text(e=>e);let i=YR(e.length,u);A.attr(`y`,o/2+i),A.style(`display`,`block`),j.style(`display`,`none`)}F?n.participantName?.toLowerCase()!==I?.toLowerCase()&&JA(e.currentTarget).attr(IR,.9):C.selectAll(`path`).attr(IR,e=>e.data.participantName===t.data.participantName?.9:.3);let r=_(30),i=g-r-10,s={flagsGroup:w,winningFlagsGroup:T,losingFlagsGroup:E};QR(T,s,n.nationalityCode,-1,!0,i,r),n.opponent&&QR(E,s,n.opponent.nationalityCode,1,!1,i,r)}function R(e,t){if(F){let n=t.data.participantName?.toLowerCase()===I?.toLowerCase();JA(e.currentTarget).attr(IR,n?1:.2)}else C.selectAll(`path`).attr(IR,.8);N(),M()}let z=i.eventHandlers?.clickSegment;function B(e,t){if(!z)return;let n=t.data;z({participantName:n.participantName,drawPosition:n.drawPosition,seedNumber:n.seedNumber,entryStatus:n.entryStatus,nationalityCode:n.nationalityCode,scoreString:n.scoreString,matchUpStatus:n.matchUpStatus,competitiveness:n.competitiveness,roundName:n.roundName,depth:n.depth,matchUp:n.matchUp})}let V=C.selectAll(`path`).data(b).join(`path`).attr(`d`,e=>x(e)).attr(`fill`,e=>y(e.data)).attr(IR,.8).attr(`stroke`,`#fff`).attr(`stroke-width`,1).on(`mouseover`,L).on(`mouseout`,R);z&&V.style(`cursor`,`pointer`).on(`click`,B),V.append(`title`).text(e=>{let t=e.data;if(t.participantName){let e=[t.participantName,`Draw: ${t.drawPosition||`N/A`}`];return t.competitiveness&&e.push(`Competitiveness: ${t.competitiveness}`),e.join(`
|
|
214
|
+
`,`2) content: () => element.cloneNode(true)`].join(` `))}var s=i.reduce(function(e,t){var n=t&&Dy(t,r);return n&&e.push(n),e},[]);return Lv(e)?s[0]:s}Oy.defaultProps=dy,Oy.setDefaultProps=py,Oy.currentInput=Jv,Object.assign({},Hg,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:`0`,top:`0`,margin:`0`},arrow:{position:`absolute`},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}}),Oy.setDefaultProps({render:Cy});var ky=`#000000.#434343.#666666.#999999.#b7b7b7.#cccccc.#d9d9d9.#ffffff.#980000.#ff0000.#ff9900.#ffff00.#00ff00.#00ffff.#4a86e8.#0000ff.#9900ff.#ff00ff.#e6b8af.#f4cccc.#fce5cd.#fff2cc.#d9ead3.#d0e0e3.#c9daf8.#cfe2f3.#d9d2e9.#ead1dc`.split(`.`),Ay=`notes-toolbar-recent-colors`,jy=8;function My(){try{return JSON.parse(localStorage.getItem(Ay)||`[]`)}catch{return[]}}function Ny(e){let t=My().filter(t=>t!==e);t.unshift(e),t.length>jy&&(t=t.slice(0,jy)),localStorage.setItem(Ay,JSON.stringify(t))}function Py(e={}){let t=document.createElement(`div`);return t.className=`notes-toolbar`,t.appendChild(zy(e)),t.appendChild(By(e)),t.appendChild(Vy(e)),t.appendChild(Gy(e)),t.appendChild(Jy(e)),t.appendChild(Yy(e)),t.appendChild(Zy(e)),t}function Fy(e,t){for(let[n,r]of Object.entries(t)){let t=e.querySelector(`[data-action="${n}"]`);t&&t.classList.toggle(`is-active`,r)}}function Iy(e,t){let n=e.querySelector(`[data-action="heading"]`);n&&(n.value=t===!1?`0`:String(t))}function Ly(){let e=document.createElement(`div`);return e.className=`notes-toolbar-group`,e}function Ry(e,t,n,r){let i=document.createElement(`button`);return i.className=`notes-toolbar-btn`,i.dataset.action=e,i.title=n,i.type=`button`,i.innerHTML=t,r&&i.addEventListener(`click`,r),i}function zy(e){let t=Ly(),n=document.createElement(`select`);n.dataset.action=`heading`,n.title=`Text style`;for(let e of[{value:`0`,label:`Paragraph`},{value:`1`,label:`Heading 1`},{value:`2`,label:`Heading 2`},{value:`3`,label:`Heading 3`},{value:`4`,label:`Heading 4`},{value:`5`,label:`Heading 5`},{value:`6`,label:`Heading 6`}]){let t=document.createElement(`option`);t.value=e.value,t.textContent=e.label,n.appendChild(t)}return n.addEventListener(`change`,()=>{let t=parseInt(n.value,10);e.onHeading?.(t!==0&&t)}),t.appendChild(n),t}function By(e){let t=Ly();return t.appendChild(Ry(`bold`,`<b>B</b>`,`Bold`,e.onBold)),t.appendChild(Ry(`italic`,`<i>I</i>`,`Italic`,e.onItalic)),t.appendChild(Ry(`underline`,`<u>U</u>`,`Underline`,e.onUnderline)),t.appendChild(Ry(`strike`,`<s>S</s>`,`Strikethrough`,e.onStrike)),t}function Vy(e){let t=Ly();return t.appendChild(Hy(`color`,`A`,`Text color`,`#000000`,t=>{Ny(t),e.onColor?.(t)})),t.appendChild(Hy(`background`,`A`,`Background color`,`#ffff00`,t=>{Ny(t),e.onBackground?.(t)})),t}function Hy(e,t,n,r,i){let a=document.createElement(`button`);a.className=`notes-toolbar-btn notes-toolbar-color-btn`,a.dataset.action=e,a.title=n,a.type=`button`;let o=document.createElement(`span`);o.className=`notes-toolbar-color-letter`,o.textContent=t,a.appendChild(o);let s=document.createElement(`span`);s.className=`notes-toolbar-color-bar`,s.style.backgroundColor=r,a.appendChild(s);let c;return a.addEventListener(`click`,()=>{if(c){c.destroy(),c=void 0;return}let e=Uy(r,e=>{s.style.backgroundColor=e,i(e),c?.destroy(),c=void 0});c=Oy(a,{content:e,theme:`light-border`,trigger:`manual`,interactive:!0,placement:`bottom-start`,onHidden:()=>{c?.destroy(),c=void 0}}),c.show()}),a}function Uy(e,t){let n=document.createElement(`div`);n.className=`notes-color-panel`;let r=document.createElement(`div`);r.className=`notes-color-swatches`;for(let n of ky)r.appendChild(Wy(n,n===e,t));n.appendChild(r);let i=My();if(i.length){let r=document.createElement(`div`);r.className=`notes-color-section-label`,r.textContent=`Recent`,n.appendChild(r);let a=document.createElement(`div`);a.className=`notes-color-swatches`;for(let n of i)a.appendChild(Wy(n,n===e,t));n.appendChild(a)}let a=document.createElement(`div`);a.className=`notes-color-custom-row`;let o=document.createElement(`input`);o.type=`color`,o.value=e,o.className=`notes-color-custom-input`;let s=document.createElement(`label`);return s.className=`notes-color-custom-label`,s.textContent=`Custom...`,s.addEventListener(`click`,()=>o.click()),o.addEventListener(`input`,()=>t(o.value)),a.appendChild(o),a.appendChild(s),n.appendChild(a),n}function Wy(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=`notes-color-swatch`,t&&r.classList.add(`is-selected`),r.style.backgroundColor=e,(e===`#ffffff`||e===`#fff`)&&(r.style.border=`1px solid var(--chc-border-secondary)`),r.title=e,r.addEventListener(`click`,()=>n(e)),r}function Gy(e){let t=Ly();return t.appendChild(Ry(`orderedList`,Ky(16,16,`<path d="M3 2h12v2H3zm0 5h12v2H3zm0 5h12v2H3z" fill="currentColor"/><text x="0" y="4" font-size="3.5" fill="currentColor">1</text><text x="0" y="9" font-size="3.5" fill="currentColor">2</text><text x="0" y="14" font-size="3.5" fill="currentColor">3</text>`),`Ordered list`,e.onOrderedList)),t.appendChild(Ry(`bulletList`,Ky(16,16,`<circle cx="1.5" cy="3" r="1.5" fill="currentColor"/><circle cx="1.5" cy="8" r="1.5" fill="currentColor"/><circle cx="1.5" cy="13" r="1.5" fill="currentColor"/><path d="M5 2h10v2H5zm0 5h10v2H5zm0 5h10v2H5z" fill="currentColor"/>`),`Bullet list`,e.onBulletList)),t}function Ky(e,t,n){return`<svg width="${e}" height="${t}" viewBox="0 0 ${e} ${t}" xmlns="http://www.w3.org/2000/svg">${n}</svg>`}var qy={alignLeft:Ky(16,16,`<path d="M1 2h14v2H1zm0 4h9v2H1zm0 4h14v2H1zm0 4h9v2H1z" fill="currentColor"/>`),alignCenter:Ky(16,16,`<path d="M1 2h14v2H1zm3.5 4h7v2h-7zM1 10h14v2H1zm3.5 4h7v2h-7z" fill="currentColor"/>`),alignRight:Ky(16,16,`<path d="M1 2h14v2H1zm6 4h8v2H7zM1 10h14v2H1zm6 4h8v2H7z" fill="currentColor"/>`),alignJustify:Ky(16,16,`<path d="M1 2h14v2H1zm0 4h14v2H1zm0 4h14v2H1zm0 4h14v2H1z" fill="currentColor"/>`)};function Jy(e){let t=Ly();return t.appendChild(Ry(`alignLeft`,qy.alignLeft,`Align left`,()=>e.onAlign?.(`left`))),t.appendChild(Ry(`alignCenter`,qy.alignCenter,`Align center`,()=>e.onAlign?.(`center`))),t.appendChild(Ry(`alignRight`,qy.alignRight,`Align right`,()=>e.onAlign?.(`right`))),t.appendChild(Ry(`alignJustify`,qy.alignJustify,`Justify`,()=>e.onAlign?.(`justify`))),t}function Yy(e){let t=Ly();t.appendChild(Ry(`blockquote`,`“`,`Blockquote`,e.onBlockquote)),t.appendChild(Ry(`codeBlock`,`</>`,`Code block`,e.onCodeBlock));let n=Ry(`link`,`⇗`,`Insert link`);Xy(n,`Enter URL`,`https://`,t=>e.onLink?.(t)),t.appendChild(n);let r=Ry(`video`,`▷`,`Insert video`);return Xy(r,`YouTube URL`,`https://youtube.com/...`,t=>e.onVideo?.(t)),t.appendChild(r),t}function Xy(e,t,n,r){let i;e.addEventListener(`click`,()=>{if(i){i.destroy(),i=void 0;return}let a=document.createElement(`div`);a.className=`notes-url-panel`;let o=document.createElement(`div`);o.className=`notes-url-label`,o.textContent=t,a.appendChild(o);let s=document.createElement(`input`);s.type=`url`,s.className=`notes-url-input`,s.placeholder=n,a.appendChild(s);let c=document.createElement(`div`);c.className=`notes-url-actions`;let l=document.createElement(`button`);l.type=`button`,l.className=`button notes-url-cancel`,l.textContent=`Cancel`,l.addEventListener(`click`,()=>{i?.destroy(),i=void 0});let u=document.createElement(`button`);u.type=`button`,u.className=`button is-info notes-url-confirm`,u.textContent=`Insert`,u.addEventListener(`click`,()=>{let e=s.value.trim();e&&r(e),i?.destroy(),i=void 0}),c.appendChild(l),c.appendChild(u),a.appendChild(c),s.addEventListener(`keydown`,e=>{e.key===`Enter`?(e.preventDefault(),u.click()):e.key===`Escape`&&l.click()}),i=Oy(e,{content:a,theme:`light-border`,trigger:`manual`,interactive:!0,placement:`bottom-start`,onShown:()=>setTimeout(()=>s.focus(),0),onHidden:()=>{i?.destroy(),i=void 0}}),i.show()})}function Zy(e){let t=Ly();return t.appendChild(Ry(`clearFormatting`,`⊘`,`Clear formatting`,e.onClearFormatting)),t}function Qy(e={}){let t=!1,l,u=document.createElement(`div`);u.className=`notes-editor-content`;let d={toolbar:void 0,editorElement:u,editor:void 0,getHtml:()=>d.editor&&!d.editor.isEmpty?d.editor.getHTML():``,isEmpty:()=>!d.editor||d.editor.isEmpty,destroy:()=>{t||(t=!0,l!==void 0&&cancelAnimationFrame(l),d.editor?.destroy(),d.editor=void 0)}};d.toolbar=Py({onHeading:e=>{d.editor&&(e===!1?d.editor.chain().focus().setParagraph().run():d.editor.chain().focus().toggleHeading({level:e}).run())},onBold:()=>d.editor?.chain().focus().toggleBold().run(),onItalic:()=>d.editor?.chain().focus().toggleItalic().run(),onUnderline:()=>d.editor?.chain().focus().toggleUnderline().run(),onStrike:()=>d.editor?.chain().focus().toggleStrike().run(),onColor:e=>d.editor?.chain().focus().setColor(e).run(),onBackground:e=>d.editor?.chain().focus().setHighlight({color:e}).run(),onBulletList:()=>d.editor?.chain().focus().toggleBulletList().run(),onOrderedList:()=>d.editor?.chain().focus().toggleOrderedList().run(),onAlign:e=>d.editor?.chain().focus().setTextAlign(e).run(),onBlockquote:()=>d.editor?.chain().focus().toggleBlockquote().run(),onCodeBlock:()=>d.editor?.chain().focus().toggleCodeBlock().run(),onLink:e=>d.editor?.chain().focus().setLink({href:e}).run(),onVideo:e=>d.editor?.commands.setYoutubeVideo({src:e}),onClearFormatting:()=>d.editor?.chain().focus().clearNodes().unsetAllMarks().run()});let f=()=>{if(d.editor){Fy(d.toolbar,{bold:d.editor.isActive(`bold`),italic:d.editor.isActive(`italic`),underline:d.editor.isActive(`underline`),strike:d.editor.isActive(`strike`),orderedList:d.editor.isActive(`orderedList`),bulletList:d.editor.isActive(`bulletList`),blockquote:d.editor.isActive(`blockquote`),codeBlock:d.editor.isActive(`codeBlock`),alignLeft:d.editor.isActive({textAlign:`left`}),alignCenter:d.editor.isActive({textAlign:`center`}),alignRight:d.editor.isActive({textAlign:`right`}),alignJustify:d.editor.isActive({textAlign:`justify`})});for(let e=1;e<=6;e++)if(d.editor.isActive(`heading`,{level:e})){Iy(d.toolbar,e);return}Iy(d.toolbar,!1)}};return l=requestAnimationFrame(()=>{l=void 0,!t&&(d.editor=new c.Editor({element:u,extensions:[s.default,n.TextStyle,a.Color,i.default.configure({multicolor:!0}),r.default.configure({types:[`heading`,`paragraph`]}),o.default.configure({inline:!1})],content:e.initialHtml||``,onSelectionUpdate:f,onTransaction:f}))}),d}function $y(e,t,n){if(!e)return{};let r=document.createElement(`aside`);r.classList.add(`menu`);let i={},a=e=>n&&e.close!==!1?t=>{t.stopPropagation(),n(),e.onClick()}:t=>{t.stopPropagation(),e.onClick()},o=0,s=()=>(o+=1,o),c=e=>e?.heading||e?.text||e?.label||`Item ${s()}`,l=e=>{let t=document.createElement(`li`);if(t.className=`font-medium`,e.style&&(t.style.cssText=e.style),e.onClick){let n=e.fontSize||`1em`;if(e.divider){let e=document.createElement(`hr`);e.classList.add(`dropdown-divider`),t.appendChild(e)}else{let r=document.createElement(`a`),i=e.disabled?`0.4`:`1`;r.style.cssText=`text-decoration: none; opacity: ${i}; font-size: ${n}`,e.class&&r.classList.add(e.class),e.color&&(r.style.color=e.color),e.heading&&(r.style.fontWeight=`bold`),e.disabled||(r.onclick=a(e)),r.innerHTML=c(e),t.appendChild(r)}}else t.innerHTML=c(e),e.disabled||(t.onclick=e.onClick);return t},u;for(let e of t||[])if(!e.hide){if(e.items){if(e.text){let t=document.createElement(`p`);t.className=`menu-label font-medium`,t.innerHTML=e.text,r.appendChild(t)}let t=document.createElement(`ul`);t.className=`menu-list`;for(let n of e.items)n.hide||t.appendChild(l(n));r.appendChild(t)}else if(e.type===`input`){let{field:t,inputElement:n}=_n(e);e.focus&&(u=n),i[e.field]=n,r.appendChild(t)}else if(e.type===`divider`){let e=document.createElement(`hr`);e.classList.add(`dropdown-divider`),r.appendChild(e)}}return e.appendChild(r),{focusElement:u}}function eb(e){return typeof e==`function`}var tb;function nb(e){tb&&=(tb?.destroy(!0),void 0),e?.remove&&e.remove()}function rb(e){let{title:t,options:n,menuItems:r=[],coords:i,callback:a,config:o}=e,{target:s,items:c}=e;if(!n?.length&&!c?.length&&!r)return;nb();let l=document.createElement(`div`),u;return s||=i?.evt?.target,s&&(tb=Oy(s,{content:()=>{c=c?.filter(e=>!e.hide&&!e.disabled).map(e=>({...e,onClick:()=>{nb(l),eb(e.onClick)&&e.onClick()}}))||n?.filter(e=>!e.hide&&!e.disabled).map(e=>({text:typeof e==`object`?e.option:e,style:e.style,onClick:()=>{e.subMenu?tb.setContent(`IMPLEMENT SUB MENU`):eb(e.onClick)?(nb(l),e.onClick()):eb(a)&&a&&(nb(l),a(typeof e==`object`?{...e,coords:i}:e))}}));let e=[{text:t,items:c},...r];return u=$y(l,e).focusElement,l},theme:`light-border`,trigger:`click`,onShown:()=>{u&&setTimeout(()=>u?.focus(),0)},...o}),tb.show(),tb.setProps({interactive:!0})),tb}var Y=`court-line`;function X(e,t){let n=document.createElementNS(`http://www.w3.org/2000/svg`,e);for(let[e,r]of Object.entries(t))n.setAttribute(e,r);return n}function ib(e,t){let n=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);return n.setAttribute(`viewBox`,e),n.setAttribute(`class`,t),n.setAttribute(`fill`,`none`),n.style.width=`100%`,n.style.height=`auto`,n.style.display=`block`,n}function ab(e){let t=ib(`0 0 360 780`,e);for(let e of[`M 0 0 L 360 0 L 360 780 L 0 780 Z`,`M 45 0 L 45 780`,`M 315 0 L 315 780`,`M 0 390 L 360 390`,`M 45 210 L 315 210`,`M 45 570 L 315 570`,`M 180 210 L 180 570`,`M 180 0 L 180 20`,`M 180 760 L 180 780`])t.appendChild(X(`path`,{d:e,class:Y}));return t}function ob(e){let t=ib(`0 0 500 470`,e),n=[X(`rect`,{x:`0`,y:`0`,width:`500`,height:`470`,class:Y}),X(`circle`,{cx:`250`,cy:`470`,r:`60`,class:Y}),X(`line`,{x1:`0`,y1:`470`,x2:`500`,y2:`470`,class:Y}),X(`rect`,{x:`170`,y:`0`,width:`160`,height:`190`,class:Y}),X(`circle`,{cx:`250`,cy:`190`,r:`60`,class:Y}),X(`line`,{x1:`220`,y1:`40`,x2:`280`,y2:`40`,class:Y}),X(`circle`,{cx:`250`,cy:`52`,r:`12`,class:Y}),X(`path`,{d:`M 30 0 L 30 90 A 220 220 0 0 0 470 90 L 470 0`,class:Y})];for(let e of n)t.appendChild(e);return t}function sb(e){let t=ib(`0 0 500 440`,e),n=[X(`path`,{d:`M 20 170 A 350 400 0 0 1 480 170`,class:Y}),X(`line`,{x1:`250`,y1:`400`,x2:`20`,y2:`170`,class:Y}),X(`line`,{x1:`250`,y1:`400`,x2:`480`,y2:`170`,class:Y}),X(`path`,{d:`M 250 400 L 314 336 L 250 273 L 186 336 Z`,class:Y}),X(`path`,{d:`M 340 355 A 100 100 0 0 1 160 355`,class:Y}),X(`line`,{x1:`340`,y1:`355`,x2:`265`,y2:`405`,class:Y}),X(`line`,{x1:`160`,y1:`355`,x2:`235`,y2:`405`,class:Y}),X(`path`,{d:`M 235 405 A 18 18 0 0 1 265 405`,class:Y}),X(`circle`,{cx:`250`,cy:`340`,r:`9`,class:Y}),X(`line`,{x1:`247`,y1:`339`,x2:`253`,y2:`339`,class:Y}),X(`path`,{d:`M 244 398 L 244 404 L 250 408 L 256 404 L 256 398 Z`,class:Y}),X(`rect`,{x:`310`,y:`332`,width:`8`,height:`8`,transform:`rotate(45 314 336)`,class:Y}),X(`rect`,{x:`246`,y:`269`,width:`8`,height:`8`,transform:`rotate(45 250 273)`,class:Y}),X(`rect`,{x:`182`,y:`332`,width:`8`,height:`8`,transform:`rotate(45 186 336)`,class:Y}),X(`rect`,{x:`230`,y:`393`,width:`8`,height:`18`,class:Y}),X(`rect`,{x:`262`,y:`393`,width:`8`,height:`18`,class:Y})];for(let e of n)t.appendChild(e);return t}function cb(e){let t=ib(`0 0 850 2000`,e),n=[X(`rect`,{x:`0`,y:`0`,width:`850`,height:`2000`,rx:`280`,ry:`280`,class:Y}),X(`line`,{x1:`0`,y1:`1000`,x2:`850`,y2:`1000`,class:Y}),X(`circle`,{cx:`425`,cy:`1000`,r:`60`,class:Y}),X(`line`,{x1:`0`,y1:`650`,x2:`850`,y2:`650`,class:Y}),X(`line`,{x1:`0`,y1:`1350`,x2:`850`,y2:`1350`,class:Y}),X(`line`,{x1:`140`,y1:`300`,x2:`710`,y2:`300`,class:Y}),X(`line`,{x1:`140`,y1:`1700`,x2:`710`,y2:`1700`,class:Y}),X(`path`,{d:`M 395 300 A 40 40 0 0 1 455 300`,class:Y}),X(`path`,{d:`M 395 1700 A 40 40 0 0 0 455 1700`,class:Y}),X(`circle`,{cx:`270`,cy:`650`,r:`50`,class:Y}),X(`circle`,{cx:`580`,cy:`650`,r:`50`,class:Y}),X(`circle`,{cx:`270`,cy:`1350`,r:`50`,class:Y}),X(`circle`,{cx:`580`,cy:`1350`,r:`50`,class:Y})];for(let e of n)t.appendChild(e);return t}function lb(e){let t=ib(`0 0 200 440`,e);for(let e of[`M 0 0 L 200 0 L 200 440 L 0 440 Z`,`M 0 220 L 200 220`,`M 0 150 L 200 150`,`M 0 290 L 200 290`,`M 100 0 L 100 150`,`M 100 290 L 100 440`])t.appendChild(X(`path`,{d:e,class:Y}));return t}function ub(e){let t=ib(`0 0 200 440`,e);for(let e of[`M 0 0 L 200 0 L 200 440 L 0 440 Z`,`M 18 0 L 18 440`,`M 182 0 L 182 440`,`M 0 220 L 200 220`,`M 0 146 L 200 146`,`M 0 294 L 200 294`,`M 0 30 L 200 30`,`M 0 410 L 200 410`,`M 100 146 L 100 220`,`M 100 220 L 100 294`])t.appendChild(X(`path`,{d:e,class:Y}));return t}function db(e){let t=ib(`0 0 100 200`,e);for(let e of[`M 0 0 L 100 0 L 100 200 L 0 200 Z`,`M 0 100 L 100 100`,`M 0 69.5 L 100 69.5`,`M 0 130.5 L 100 130.5`,`M 50 69.5 L 50 67.5`,`M 50 130.5 L 50 132.5`])t.appendChild(X(`path`,{d:e,class:Y}));return t}var fb=`COURT_SVG`,pb={tennis:ab,basketball:ob,baseball:sb,hockey:cb,pickleball:lb,badminton:ub,padel:db},mb={TENNIS:`tennis`,PADEL:`padel`,PICKLEBALL:`pickleball`,BADMINTON:`badminton`},hb={HAL:`basketball`,INN:`baseball`,PER:`hockey`};function gb(e){if(e){for(let[t,n]of Object.entries(hb))if(e.startsWith(t))return n;if(e.startsWith(`SET`)||e.startsWith(`T`))return e.includes(`@RALLY`)?`pickleball`:`tennis`}}function _b(e){let t=e?.competitionFormat?.sport;return t&&mb[t]?mb[t]:gb(e?.matchUpFormat)}function vb(e){let t=e.getAttribute(`viewBox`);if(!t)return e;let n=t.split(/\s+/).map(Number);if(n.length!==4)return e;let[r,i,a,o]=n;if(o<=a)return e;e.setAttribute(`viewBox`,`${r} ${i} ${o} ${a}`);let s=document.createElementNS(`http://www.w3.org/2000/svg`,`g`);for(s.setAttribute(`transform`,`translate(${o}, 0) rotate(90)`);e.firstChild;)s.appendChild(e.firstChild);return e.appendChild(s),e}function yb(e,t=``){let n=e?pb[e]:void 0;if(n)return vb(n(t?`court--${e} ${t}`:`court--${e}`))}function bb(e){let t=[];return e.city&&t.push(e.city),(e.state||e.region)&&t.push(e.state||e.region),e.countryCode?t.push(e.countryCode):e.country&&t.push(e.country),t.join(`, `)}function xb(e){if(!e)return;let t=bb(e);return t.length?t:void 0}function Sb(e){let t=e?.find(Boolean);if(!t)return;let n=t.addresses?.find(Boolean);return n?xb(n)??t.venueName:t.venueName}var Cb=/^(\d{4})-(\d{2})-(\d{2})/,wb=864e5;function Tb(e){if(!e)return null;let t=Cb.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]);return!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(i)?null:{year:n,month:r,day:i}}function Eb(e,t){if(!t)return new Date(e.year,e.month-1,e.day);let n=Date.UTC(e.year,e.month-1,e.day,0,0,0,0),r=new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hourCycle:`h23`}),i=new Date(n);for(let e=0;e<2;e++){let e=r.formatToParts(i),t=t=>Number(e.find(e=>e.type===t)?.value??0),a=Date.UTC(t(`year`),t(`month`)-1,t(`day`),t(`hour`),t(`minute`),t(`second`))-i.getTime();i=new Date(n-a)}return i}function Db(e,t){if(!t)return new Date(e.year,e.month-1,e.day+1);let n=Eb(e,t),r=new Date(n.getTime()+wb),i=new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`2-digit`,day:`2-digit`}).formatToParts(r),a=e=>Number(i.find(t=>t.type===e)?.value??0);return Eb({year:a(`year`),month:a(`month`),day:a(`day`)},t)}function Ob(e){if(!e)return null;let t=Tb(e);if(t)return new Date(t.year,t.month-1,t.day);let n=new Date(e);return Number.isNaN(n.getTime())?null:n}function kb(e){return e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}function Ab(e){return e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})}function jb(e,t){if(!e&&!t)return;let n=Ob(e),r=Ob(t),i=!!n&&!Number.isNaN(n.getTime()),a=!!r&&!Number.isNaN(r.getTime());if(i||a)return i&&a&&n.getTime()===r.getTime()?Ab(n):i&&a?n.getFullYear()===r.getFullYear()?`${kb(n)} – ${kb(r)}, ${r.getFullYear()}`:`${Ab(n)} – ${Ab(r)}`:Ab(i?n:r)}function Mb(e){return e.slice().sort((e,t)=>{let n=e.courtOrder,r=t.courtOrder;return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:Number.isFinite(n)&&!Number.isFinite(r)?-1:!Number.isFinite(n)&&Number.isFinite(r)?1:e.courtName.localeCompare(t.courtName,void 0,{numeric:!0})})}var Nb=`URL`;function Pb(e,t){if(!Array.isArray(e))return;let n=e.find(e=>e?.name===t&&e?.resourceType===Nb);return n?.url??n?.identifier}function Fb(e,t){if(Array.isArray(e))return e.find(e=>e?.resourceSubType===`COURT_SVG`&&(!t||e?.name===t))?.identifier}function Ib(e){if(typeof e==`number`)return Number.isFinite(e)?e:void 0;if(typeof e==`string`){let t=e.trim();if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}}function Lb(...e){for(let t of e){let e=Ib(t);if(e!==void 0)return e}}function Rb(e){let t=document.createElement(`div`);if(t.className=e.cardClass,t.setAttribute(`aria-busy`,`true`),e.showImage){let n=document.createElement(`div`);n.className=e.imageClass;let r=document.createElement(`div`);r.className=e.blockClass,n.appendChild(r),t.appendChild(n)}if(e.bodyLines>0){let n=document.createElement(`div`);n.className=e.bodyClass;for(let t=0;t<e.bodyLines;t++){let r=document.createElement(`div`);r.className=e.lineClass,r.style.width=t===0?`90%`:`${60+t*10}%`,n.appendChild(r)}t.appendChild(n)}if(e.showFooter){let n=document.createElement(`div`);n.className=e.footerClass;let r=document.createElement(`div`);r.className=e.lineClass,r.style.width=`40%`,n.appendChild(r),t.appendChild(n)}return t}var zb={showImage:!0,cornerBadges:[`status`],body:[`title`,`tier`,`location`,`dateRange`],footer:[`feeBadge`,`playerCount`]};function Bb(e){return e?{showImage:e.showImage??zb.showImage,cornerBadges:e.cornerBadges??zb.cornerBadges,body:e.body??zb.body,footer:e.footer??zb.footer}:zb}var Vb=()=>`chc-tc-card`,Hb=()=>`chc-tc-card--clickable`,Ub=()=>`chc-tc-card--offline`,Wb=()=>`chc-tc-image`,Gb=()=>`chc-tc-image-img`,Kb=()=>`chc-tc-image-svg`,qb=()=>`chc-tc-image-placeholder`,Jb=()=>`chc-tc-corner-badges`,Yb=()=>`chc-tc-status-pill`,Xb=()=>`chc-tc-offline-badge`,Zb=()=>`chc-tc-body`,Qb=()=>`chc-tc-title`,$b=()=>`chc-tc-location`,ex=()=>`chc-tc-date-range`,tx=()=>`chc-tc-organizer`,nx=()=>`chc-tc-updated-at`,rx=()=>`chc-tc-footer`,ix=()=>`chc-tc-fee-badge`,ax=()=>`chc-tc-player-count`,ox=()=>`chc-tc-event-count`,sx=()=>`chc-tc-tier-badge`,cx=()=>`chc-tc-card chc-tc-skeleton`,lx=()=>`chc-tc-skeleton-line`,ux=()=>`chc-tc-skeleton-block`;function dx(e,t,n){let r=Bb(t),i=document.createElement(`div`);return i.className=Vb(),i.dataset.tournamentId=e.tournamentId,e.offline&&i.classList.add(Ub()),n?.onClick&&(i.classList.add(Hb()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showImage!==!1&&i.appendChild(fx(e,r)),r.body.length&&i.appendChild(_x(e,r)),r.footer.length&&i.appendChild(Tx(e,r)),i}function fx(e,t){let n=document.createElement(`div`);if(n.className=Wb(),e.tournamentImageURL){let t=document.createElement(`img`);t.className=Gb(),t.src=e.tournamentImageURL,t.alt=e.tournamentName||``,t.loading=`lazy`,t.addEventListener(`error`,()=>mx(n,e)),n.appendChild(t)}else px(n,e);if(t.cornerBadges.length){let r=hx(e,t.cornerBadges);r&&n.appendChild(r)}return n}function px(e,t){let n=yb(t.courtSvgSport,Kb());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=qb(),e.appendChild(r)}function mx(e,t){e.querySelector(`.${Gb()}`)?.remove(),px(e,t)}function hx(e,t){let n=[];for(let r of t){let t=gx(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=Jb();for(let e of n)r.appendChild(e);return r}function gx(e,t){if(e===`status`){if(!t.status)return null;let e=document.createElement(`div`);return e.className=Yb(),e.dataset.kind=t.status.kind,e.textContent=t.status.label,e}if(e===`offline`){if(!t.offline)return null;let e=document.createElement(`div`);return e.className=Xb(),e.textContent=`Offline`,e}return null}function _x(e,t){let n=document.createElement(`div`);n.className=Zb();for(let r of t.body){let t=vx(r,e);t&&n.appendChild(t)}return n}function vx(e,t){switch(e){case`title`:return yx(t);case`tier`:return bx(t);case`location`:return xx(t);case`dateRange`:return Sx(t);case`organizerName`:return Cx(t);case`updatedAt`:return wx(t);default:return null}}function yx(e){if(!e.tournamentName)return null;let t=document.createElement(`div`);return t.className=Qb(),t.textContent=e.tournamentName,t.title=e.tournamentName,t}function bx(e){let t=e.tournamentTier?.value;if(!t)return null;let n=document.createElement(`div`);return n.className=sx(),n.textContent=t,n.title=e.tournamentTier?.system?`${e.tournamentTier.system}: ${t}`:t,n}function xx(e){if(!e.location)return null;let t=document.createElement(`div`);return t.className=$b(),t.textContent=e.location,t.title=e.location,t}function Sx(e){if(!e.dateRangeFormatted)return null;let t=document.createElement(`div`);return t.className=ex(),t.textContent=e.dateRangeFormatted,t}function Cx(e){if(!e.organizerName)return null;let t=document.createElement(`div`);return t.className=tx(),t.textContent=e.organizerName,t}function wx(e){if(!e.updatedAt)return null;let t=document.createElement(`div`);t.className=nx();let n=new Date(e.updatedAt);return t.textContent=Number.isNaN(n.getTime())?e.updatedAt:n.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}),t}function Tx(e,t){let n=document.createElement(`div`);n.className=rx();for(let r of t.footer){let t=Ex(r,e);t&&n.appendChild(t)}return n}function Ex(e,t){switch(e){case`feeBadge`:return Dx(t);case`playerCount`:return Ox(t);case`eventCount`:return kx(t);default:return null}}function Dx(e){if(!e.feeFormatted)return null;let t=document.createElement(`div`);return t.className=ix(),t.textContent=e.feeFormatted,t}function Ox(e){if(typeof e.participantCount!=`number`)return null;let t=document.createElement(`div`);return t.className=ax(),t.textContent=`${e.participantCount} ${e.participantCount===1?`player`:`players`}`,t}function kx(e){if(typeof e.eventCount!=`number`)return null;let t=document.createElement(`div`);return t.className=ox(),t.textContent=`${e.eventCount} ${e.eventCount===1?`event`:`events`}`,t}function Ax(e){let t=Bb(e);return Rb({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:cx(),imageClass:Wb(),bodyClass:Zb(),footerClass:rx(),blockClass:ux(),lineClass:lx()})}var jx=6048e5;function Mx(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function Nx(e,t,n){return!t||!n?!1:t.getTime()<=e.getTime()&&e.getTime()<n.getTime()}function Px(e){return`Opens ${e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}`}function Fx(e,t=new Date){let n=e.tournamentStatus?.toUpperCase();if(n===`CANCELLED`||n===`ABANDONDED`||n===`ABANDONED`)return{kind:`cancelled`,label:`Cancelled`};let r=e.timeZone,i=Tb(e.endDate),a=i?Db(i,r):null;if(n===`COMPLETED`||a&&t.getTime()>=a.getTime())return{kind:`completed`,label:`Completed`};let o=Tb(e.startDate);if(Nx(t,o?Eb(o,r):null,a))return{kind:`live`,label:`Live`};let s=Mx(e.entriesClose);if(s){let e=s.getTime()-t.getTime();if(e>0&&e<=jx)return{kind:`closing-soon`,label:`Closing Soon`}}let c=Mx(e.entriesOpen);return c&&c.getTime()>t.getTime()?{kind:`registration-opens`,label:Px(c)}:null}var Ix=`–`,Lx={JPY:0,KRW:0,VND:0,CLP:0,ISK:0,KWD:3,BHD:3,OMR:3,JOD:3,TND:3};function Rx({amount:e,currencyCode:t,unit:n}){return n===`MAJOR`?e:e/10**(Lx[t]??2)}function zx(e,t){try{return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:t}).format(e)}catch{return`${e.toFixed(2)} ${t}`}}function Bx(e){let t=[];for(let n of e)typeof n?.amount!=`number`||Number.isNaN(n.amount)||n.currencyCode&&n.unit&&t.push({amount:n.amount,currencyCode:n.currencyCode,unit:n.unit});return t}function Vx(e){if(!e?.length)return null;let t=Bx(e);if(!t.length)return null;let n=new Map;for(let e of t){let t=`${e.currencyCode}/${e.unit}`,r=n.get(t);r?r.push(e):n.set(t,[e])}let r=[...n.values()].sort((e,t)=>t.length-e.length),i=r[0],a=i[0].currencyCode,o=i.map(Rx).sort((e,t)=>e-t),s=o[0],c=o.at(-1)??s;return r.length>1?`From ${a} ${zx(s,a)}`:s===c?`${a} ${zx(s,a)}`:`${a} ${zx(s,a)} ${Ix} ${zx(c,a)}`}var Hx=`tournamentImage`;function Ux(e){let t=e?.registrationProfile?.entryFees;return Array.isArray(t)?t.filter(e=>e&&typeof e.amount==`number`):[]}function Wx(e,t){let n=e?.individualParticipantCount;return typeof n==`number`?n||void 0:t.filter(e=>(!e?.participantType||e.participantType===`INDIVIDUAL`)&&(!e?.participantRole||e.participantRole===`COMPETITOR`)).length||void 0}function Gx(e){let t=e?.timeItems;if(Array.isArray(t))return t.find(e=>e?.itemType===`TMX`)?.itemValue?.offline}function Kx(e){let{timeZone:n,error:r}=t.tournamentGovernor.getTournamentTimeZone({tournamentRecord:{localTimeZone:e?.localTimeZone||e?.timeZone,venues:Array.isArray(e?.venues)?e.venues:void 0}});return{tournamentStatus:e?.tournamentStatus,startDate:r?void 0:e?.startDate,endDate:r?void 0:e?.endDate,entriesOpen:e?.registrationProfile?.entriesOpen,entriesClose:e?.registrationProfile?.entriesClose,timeZone:n}}function qx(e,t){let n=Array.isArray(e?.onlineResources)?e.onlineResources:void 0,r=Array.isArray(e?.venues)?e.venues:[],i=Array.isArray(e?.participants)?e.participants:[],a=Array.isArray(e?.events)?e.events:[],o=t?.statusOverride===void 0?Fx(Kx(e),t?.now):t.statusOverride,s=e?.tournamentImageURL??Pb(n,Hx),c=e?.courtSvgSport??Fb(n);return{tournamentId:e?.tournamentId??``,tournamentName:e?.tournamentName??``,startDate:e?.startDate,endDate:e?.endDate,dateRangeFormatted:jb(e?.startDate,e?.endDate),location:Sb(r),tournamentImageURL:s,courtSvgSport:c,participantCount:Wx(e,i),eventCount:a.length||void 0,organizerName:e?.tournamentOrganizers?.find?.(Boolean)?.organizerName,status:o,feeFormatted:Vx(Ux(e)),updatedAt:e?.updatedAt,offline:Gx(e),tournamentTier:Jx(e)}}function Jx(e){let t=e?.tournamentTier;if(!t||typeof t!=`object`||typeof t.system!=`string`||typeof t.value!=`string`)return;let n={system:t.system,value:t.value};return typeof t.numericRank==`number`&&Number.isFinite(t.numericRank)&&(n.numericRank=t.numericRank),n}var Yx={showImage:!0,showMap:!0,cornerBadges:[`primaryBadge`],body:[`title`,`address`,`courtBreakdown`],footer:[`amenityRow`]};function Xx(e){return e?{showImage:e.showImage??Yx.showImage,showMap:e.showMap??Yx.showMap,cornerBadges:e.cornerBadges??Yx.cornerBadges,body:e.body??Yx.body,footer:e.footer??Yx.footer}:Yx}var Zx=()=>`chc-vc-card`,Qx=()=>`chc-vc-card--clickable`,$x=()=>`chc-vc-image`,eS=()=>`chc-vc-image-img`,tS=()=>`chc-vc-image-svg`,nS=()=>`chc-vc-image-map`,rS=()=>`chc-vc-image-placeholder`,iS=()=>`chc-vc-corner-badges`,aS=()=>`chc-vc-primary-badge`,oS=()=>`chc-vc-body`,sS=()=>`chc-vc-title`,cS=()=>`chc-vc-address`,lS=()=>`chc-vc-court-breakdown`,uS=()=>`chc-vc-footer`,dS=()=>`chc-vc-amenity-row`,fS=()=>`chc-vc-amenity`,pS=()=>`chc-vc-card chc-vc-skeleton`,mS=()=>`chc-vc-skeleton-line`,hS=()=>`chc-vc-skeleton-block`;function gS(e,t,n){let r=Xx(t),i=document.createElement(`div`);i.className=Zx(),i.dataset.venueId=e.venueId;let a=null;r.showImage!==!1&&(a=bS(e,r,()=>f()),i.appendChild(a));let o=r.body.length?OS(e,r):null;o&&i.appendChild(o);let s=r.footer.length?MS(e,r):null;s&&i.appendChild(s);function c(){return!!a?.querySelector(`iframe`)}let l=new Map;function u(e,t){if(l.has(e))return;let n=e=>{e.stopPropagation(),t()},r=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),t())};e.classList.add(Qx()),e.tabIndex=0,e.addEventListener(`click`,n),e.addEventListener(`keydown`,r),l.set(e,{click:n,keydown:r})}function d(e){let t=l.get(e);t&&(e.removeEventListener(`click`,t.click),e.removeEventListener(`keydown`,t.keydown),e.classList.remove(Qx()),e.removeAttribute(`tabindex`),l.delete(e))}function f(){if(!n?.onClick)return;let t=()=>n.onClick(e);c()?(d(i),o&&u(o,t),s&&u(s,t)):(o&&d(o),s&&d(s),u(i,t))}return f(),i}function _S(e){return typeof e.latitude==`number`&&typeof e.longitude==`number`}function vS(e){let t=e.latitude,n=e.longitude,r=.01,i=`https://www.openstreetmap.org/export/embed.html?bbox=${`${n-r},${t-r},${n+r},${t+r}`}&marker=${t},${n}&layer=mapnik`,a=document.createElement(`iframe`);return a.className=nS(),a.src=i,a.loading=`lazy`,a.title=`Map of ${e.venueName}`,a}function yS(e,t){let n=yb(t.courtSvgSport,tS());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=rS(),e.appendChild(r)}function bS(e,t,n){let r=document.createElement(`div`);if(r.className=$x(),e.venueImageURL){let i=document.createElement(`img`);i.className=eS(),i.src=e.venueImageURL,i.alt=e.venueName||``,i.loading=`lazy`,i.addEventListener(`error`,()=>{i.remove(),t.showMap!==!1&&_S(e)?r.appendChild(vS(e)):yS(r,e),n?.()}),r.appendChild(i)}else t.showMap!==!1&&_S(e)?r.appendChild(vS(e)):yS(r,e);if(t.cornerBadges.length){let n=SS(e,t.cornerBadges);n&&r.appendChild(n)}return r}function xS(e,t){if(e===`primaryBadge`){if(!t.isPrimary)return null;let e=document.createElement(`div`);return e.className=aS(),e.textContent=`Primary`,e}return null}function SS(e,t){let n=[];for(let r of t){let t=xS(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=iS();for(let e of n)r.appendChild(e);return r}function CS(e){if(!e.venueName)return null;let t=document.createElement(`div`);return t.className=sS(),t.textContent=e.venueName,t.title=e.notes?`${e.venueName}\n${e.notes}`:e.venueName,t}function wS(e){if(!e.addressFormatted)return null;let t=document.createElement(`div`);return t.className=cS(),t.textContent=e.addressFormatted,t.title=e.addressFormatted,t}function TS(e){if(!e.courtBreakdown)return null;let t=document.createElement(`div`);return t.className=lS(),t.textContent=e.courtBreakdown,t}function ES(e){if(!e.venueAbbreviation)return null;let t=document.createElement(`div`);return t.className=lS(),t.textContent=e.venueAbbreviation,t}function DS(e,t){return e===`title`?CS(t):e===`address`?wS(t):e===`courtBreakdown`?TS(t):e===`venueAbbreviation`?ES(t):null}function OS(e,t){let n=document.createElement(`div`);n.className=oS();for(let r of t.body){let t=DS(r,e);t&&n.appendChild(t)}return n}function kS(e){let t=document.createElement(`span`);return t.className=fS(),t.textContent=e,t}function AS(e){let t=[];if(typeof e.courtCount==`number`&&t.push(kS(`${e.courtCount} ${e.courtCount===1?`court`:`courts`}`)),e.indoorCount&&t.push(kS(`${e.indoorCount} indoor`)),e.outdoorCount&&t.push(kS(`${e.outdoorCount} outdoor`)),e.floodlitCount&&t.push(kS(`${e.floodlitCount} lit`)),!t.length)return null;let n=document.createElement(`div`);n.className=dS();for(let e of t)n.appendChild(e);return n}function jS(e,t){return e===`amenityRow`?AS(t):e===`address`?wS(t):e===`courtBreakdown`?TS(t):null}function MS(e,t){let n=document.createElement(`div`);n.className=uS();for(let r of t.footer){let t=jS(r,e);t&&n.appendChild(t)}return n}function NS(e){let t=Xx(e);return Rb({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:pS(),imageClass:$x(),bodyClass:oS(),footerClass:uS(),blockClass:hS(),lineClass:mS()})}var PS=`venueImage`;function FS(e){let t=[];return e.indoorOutdoor&&t.push(e.indoorOutdoor.toLowerCase()),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),t.length?t.join(` `):`court`}function IS(e){if(!e.length)return;let t=new Map;for(let n of e){let e=FS(n);t.set(e,(t.get(e)??0)+1)}return[...t.entries()].sort((e,t)=>t[1]-e[1]).map(([e,t])=>`${t} ${e}`).join(`, `)}function LS(e,t){let n=0;for(let r of e)t(r)&&(n+=1);return n}function RS(e,t){let n=Array.isArray(e?.courts)?e.courts:[],r=Array.isArray(e?.onlineResources)?e.onlineResources:void 0,i=e?.addresses?.find(e=>e);return{venueId:e?.venueId??``,venueName:e?.venueName??``,venueAbbreviation:e?.venueAbbreviation,addressFormatted:xb(i),latitude:Ib(i?.latitude),longitude:Ib(i?.longitude),courtCount:n.length||void 0,courtBreakdown:IS(n),indoorCount:LS(n,e=>e.indoorOutdoor===`INDOOR`)||void 0,outdoorCount:LS(n,e=>e.indoorOutdoor===`OUTDOOR`)||void 0,floodlitCount:LS(n,e=>!!e.floodlit)||void 0,isPrimary:!!e?.isPrimary,venueImageURL:e?.venueImageURL??Pb(r,PS),courtSvgSport:e?.courtSvgSport??Fb(r)??t?.sport,notes:e?.notes}}var zS={showImage:!0,cornerBadges:[`indoorOutdoor`,`floodlit`],body:[`title`,`surface`],footer:[`amenityRow`]};function BS(e){return e?{showImage:e.showImage??zS.showImage,cornerBadges:e.cornerBadges??zS.cornerBadges,body:e.body??zS.body,footer:e.footer??zS.footer}:zS}var VS=()=>`chc-cc-card`,HS=()=>`chc-cc-card--clickable`,US=()=>`chc-cc-image`,WS=()=>`chc-cc-image-svg`,GS=()=>`chc-cc-image-placeholder`,KS=()=>`chc-cc-corner-badges`,qS=()=>`chc-cc-indoor-badge`,JS=()=>`chc-cc-floodlit-badge`,YS=()=>`chc-cc-body`,XS=()=>`chc-cc-title`,ZS=()=>`chc-cc-surface`,QS=()=>`chc-cc-availability`,$S=()=>`chc-cc-abbr`,eC=()=>`chc-cc-footer`,tC=()=>`chc-cc-amenity-row`,nC=()=>`chc-cc-card chc-cc-skeleton`,rC=()=>`chc-cc-skeleton-line`,iC=()=>`chc-cc-skeleton-block`;function aC(e,t,n){let r=BS(t),i=document.createElement(`div`);return i.className=VS(),i.dataset.courtId=e.courtId,n?.onClick&&(i.classList.add(HS()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showImage!==!1&&i.appendChild(sC(e,r)),r.body.length&&i.appendChild(_C(e,r)),r.footer.length&&i.appendChild(bC(e,r)),i}function oC(e,t){let n=yb(t.courtSvgSport,WS());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=GS(),e.appendChild(r)}function sC(e,t){let n=document.createElement(`div`);if(n.className=US(),e.surfaceCategory&&(n.dataset.surface=e.surfaceCategory),oC(n,e),t.cornerBadges.length){let r=dC(e,t.cornerBadges);r&&n.appendChild(r)}return n}function cC(e){if(!e.indoorOutdoor)return null;let t=document.createElement(`div`);return t.className=qS(),t.dataset.kind=e.indoorOutdoor,t.textContent=e.indoorOutdoor===`INDOOR`?`Indoor`:`Outdoor`,t}function lC(e){if(!e.floodlit)return null;let t=document.createElement(`div`);return t.className=JS(),t.textContent=`Lit`,t}function uC(e,t){return e===`indoorOutdoor`?cC(t):e===`floodlit`?lC(t):null}function dC(e,t){let n=[];for(let r of t){let t=uC(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=KS();for(let e of n)r.appendChild(e);return r}function fC(e){if(!e.courtName)return null;let t=document.createElement(`div`);return t.className=XS(),t.textContent=e.courtName,t.title=e.notes?`${e.courtName}\n${e.notes}`:e.courtName,t}function pC(e){if(!e.surfaceLabel)return null;let t=document.createElement(`div`);return t.className=ZS(),t.textContent=e.surfaceLabel,t}function mC(e){if(!e.availabilitySummary)return null;let t=document.createElement(`div`);return t.className=QS(),t.textContent=e.availabilitySummary,t}function hC(e){if(!e.courtAbbreviation)return null;let t=document.createElement(`div`);return t.className=$S(),t.textContent=e.courtAbbreviation,t}function gC(e,t){return e===`title`?fC(t):e===`surface`?pC(t):e===`availability`?mC(t):e===`abbreviation`?hC(t):null}function _C(e,t){let n=document.createElement(`div`);n.className=YS();for(let r of t.body){let t=gC(r,e);t&&n.appendChild(t)}return n}function vC(e){let t=[];if(e.indoorOutdoor&&t.push(e.indoorOutdoor===`INDOOR`?`indoor`:`outdoor`),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),e.floodlit&&t.push(`floodlit`),!t.length)return null;let n=document.createElement(`div`);return n.className=tC(),n.textContent=t.join(` · `),n}function yC(e,t){return e===`amenityRow`?vC(t):e===`availability`?mC(t):e===`surface`?pC(t):null}function bC(e,t){let n=document.createElement(`div`);n.className=eC();for(let r of t.footer){let t=yC(r,e);t&&n.appendChild(t)}return n}function xC(e){let t=BS(e);return Rb({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:nC(),imageClass:US(),bodyClass:YS(),footerClass:eC(),blockClass:iC(),lineClass:rC()})}var SC=`INDOOR`,CC=`OUTDOOR`,wC=new Set([`HARD`,`CLAY`,`GRASS`,`ARTIFICIAL`,`CARPET`]);function TC(e){if(!e)return;let t=String(e).toUpperCase();if(t===SC)return SC;if(t===CC)return CC}function EC(e){let t=e?.surfaceCategory?String(e.surfaceCategory).toUpperCase():void 0;if(t&&wC.has(t))return t;let n=e?.surfaceType?String(e.surfaceType).toUpperCase():void 0;return n&&wC.has(n)?n:t}function DC(e,t){let n=[];return e&&n.push(e.charAt(0)+e.slice(1).toLowerCase()),t&&n.push(t.charAt(0)+t.slice(1).toLowerCase()),n.length?n.join(` · `):void 0}function OC(e,t){let n=TC(e?.indoorOutdoor),r=EC(e);return{courtId:e?.courtId??``,courtName:e?.courtName??``,courtAbbreviation:e?.courtAbbreviation,surfaceLabel:DC(n,r),indoorOutdoor:n,surfaceCategory:r,floodlit:!!e?.floodlit,courtSvgSport:t?.sport,notes:e?.notes}}var kC={grouping:`setting`,sport:`tennis`,showGroupHeadings:!0,showSummary:!0,minCardWidth:`11rem`,emptyMessage:`No courts recorded for this venue`};function AC(e){return e?{grouping:e.grouping??kC.grouping,sport:e.sport??kC.sport,showGroupHeadings:e.showGroupHeadings??kC.showGroupHeadings,showSummary:e.showSummary??kC.showSummary,minCardWidth:e.minCardWidth??kC.minCardWidth,emptyMessage:e.emptyMessage??kC.emptyMessage}:kC}var jC=()=>`chc-cl`,MC=()=>`chc-cl-summary`,NC=()=>`chc-cl-summary-count`,PC=()=>`chc-cl-group`,FC=()=>`chc-cl-group-heading`,IC=()=>`chc-cl-group-count`,LC=()=>`chc-cl-grid`,RC=()=>`chc-cl-empty`,zC=`Unspecified`,BC=`Unspecified surface`;function VC(e){return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}function HC(e){let t=typeof e.indoorOutdoor==`string`?e.indoorOutdoor.trim():``;return t?VC(t):zC}function UC(e){let t=typeof e.surfaceCategory==`string`?e.surfaceCategory.trim():``;return t?VC(t):BC}function WC(e,t){let n=Mb(e);if(t===`none`)return[{key:`all`,label:`All courts`,courts:n}];let r=e=>t===`setting`?HC(e):t===`surface`?UC(e):`${HC(e)} · ${UC(e)}`,i=new Map;for(let e of n){let t=r(e),n=i.get(t);n?n.courts.push(e):i.set(t,{key:t,label:t,courts:[e]})}return[...i.values()]}function GC(e){let t=new Map;for(let n of e){let e=HC(n),r=UC(n),i=`${e===zC?``:e.toLowerCase()} ${r===BC?``:r.toLowerCase()}`.trim()||`court`;t.set(i,(t.get(i)??0)+1)}return[...t.entries()].sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])).map(([e,t])=>`${t} ${e}`).join(`, `)}function KC(e,t,n){let r=AC(t),i=e.courts??[],a=document.createElement(`div`);if(a.className=jC(),e.venueId&&(a.dataset.venueId=e.venueId),!i.length){let e=document.createElement(`div`);return e.className=RC(),e.textContent=r.emptyMessage,a.appendChild(e),a}r.showSummary&&a.appendChild(qC(i));for(let e of WC(i,r.grouping))a.appendChild(JC(e,r,n));return a}function qC(e){let t=document.createElement(`div`);t.className=MC();let n=document.createElement(`span`);n.className=NC(),n.textContent=`${e.length} ${e.length===1?`court`:`courts`}`;let r=document.createElement(`span`);return r.textContent=GC(e),t.append(n,r),t}function JC(e,t,n){let r=document.createElement(`div`);if(r.className=PC(),r.dataset.group=e.key,t.showGroupHeadings&&t.grouping!==`none`){let t=document.createElement(`div`);t.className=FC();let n=document.createElement(`span`);n.textContent=e.label;let i=document.createElement(`span`);i.className=IC(),i.textContent=String(e.courts.length),t.append(n,i),r.appendChild(t)}let i=document.createElement(`div`);i.className=LC(),i.style.setProperty(`--chc-cl-min-card`,t.minCardWidth);for(let r of e.courts)i.appendChild(XC(r,t,n));return r.appendChild(i),r}function YC(e){if(e===`setting`||e===`both`)return{cornerBadges:[`floodlit`]}}function XC(e,t,n){let r=OC(e,{sport:t.sport}),i=n?.onCourtClick?{onClick:()=>n.onCourtClick?.(e)}:void 0;return aC(r,YC(t.grouping),i)}var ZC={tiles:{map:{tileLayer:`https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`,attribution:`© <a href="https://openstreetmap.org">OpenStreetMap</a> Contributors`,maxZoom:18},satellite:{tileLayer:`https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}`,attribution:`Tiles © Esri`}},darkTileLayer:{tileLayer:`https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png`,attribution:`© <a href="https://openstreetmap.org">OpenStreetMap</a> Contributors © <a href="https://carto.com/attributions">CARTO</a>`,maxZoom:20},view:`map`,showViewToggle:!0,zoom:16,height:`320px`,courtsLayout:`side`,showHeader:!0,showPopup:!0,scrollWheelZoom:!1,darkTiles:`auto`};function QC(e){return e?{tiles:e.tiles??ZC.tiles,darkTileLayer:e.darkTileLayer===void 0?ZC.darkTileLayer:e.darkTileLayer,view:e.view??ZC.view,showViewToggle:e.showViewToggle??ZC.showViewToggle,zoom:e.zoom??ZC.zoom,height:e.height??ZC.height,courtsLayout:e.courtsLayout??ZC.courtsLayout,showHeader:e.showHeader??ZC.showHeader,showPopup:e.showPopup??ZC.showPopup,scrollWheelZoom:e.scrollWheelZoom??ZC.scrollWheelZoom,darkTiles:e.darkTiles??ZC.darkTiles}:ZC}var $C=()=>`chc-vl`,ew=()=>`chc-vl-header`,tw=()=>`chc-vl-title`,nw=()=>`chc-vl-address`,rw=()=>`chc-vl-notes`,iw=()=>`chc-vl-body`,aw=()=>`chc-vl-body--below`,ow=()=>`chc-vl-mapwrap`,sw=()=>`chc-vl-map`,cw=()=>`chc-vl-map--invertible`,lw=()=>`chc-vl-toggle`,uw=()=>`chc-vl-toggle-btn`,dw=()=>`chc-vl-fallback`,fw=()=>`chc-vl-fallback-icon`,pw=()=>`chc-vl-courts`,mw=()=>`chc-vl-courts-title`,hw=()=>`chc-vl-court-list`,gw=()=>`chc-vl-court`,_w=()=>`chc-vl-court--clickable`,vw=()=>`chc-vl-court-name`,yw=()=>`chc-vl-court-meta`,bw=()=>`chc-vl-pip`,xw=()=>`chc-vl-marker`,Sw=()=>`chc-vl-popup-title`,Cw=()=>`chc-vl-popup-address`,ww=`No coordinates for this venue`,Tw=`Map unavailable`,Ew=new WeakMap;function Dw(e){return Number.isFinite(e.latitude)&&Number.isFinite(e.longitude)}function Ow(e){return Mb(e)}function kw(e){let t=[];return e.indoorOutdoor&&t.push(e.indoorOutdoor.toLowerCase()),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),t.join(` · `)}function Aw(e,t,n){let r=QC(t),i=document.createElement(`div`);i.className=$C(),i.dataset.venueId=e.venueId;let a={disposed:!1,cleanup:()=>{}};Ew.set(i,()=>{a.disposed=!0,a.cleanup()}),r.showHeader&&i.appendChild(see(e));let o=document.createElement(`div`);o.className=r.courtsLayout===`side`?iw():`${iw()} ${aw()}`;let{wrap:s,mapEl:c}=Nw(e,r,n);o.appendChild(s);let l=e.courts??[];return r.courtsLayout!==`none`&&l.length&&o.appendChild(Iw(l,e,n)),i.appendChild(o),c&&Dw(e)&&Rw({root:i,mapEl:c,data:e,cfg:r,callbacks:n,lifetime:a}).catch(()=>void 0),i}function jw(e){let t=Ew.get(e);t&&(t(),Ew.delete(e))}function see(e){let t=document.createElement(`div`);t.className=ew();let n=document.createElement(`div`);if(n.className=tw(),n.textContent=e.venueName,t.appendChild(n),e.addressFormatted){let n=document.createElement(`div`);n.className=nw(),n.textContent=e.addressFormatted,t.appendChild(n)}if(e.notes){let n=document.createElement(`div`);n.className=rw(),n.textContent=e.notes,t.appendChild(n)}return t}function Mw(e){let t=document.createElement(`div`);t.className=dw();let n=document.createElement(`div`);n.className=fw(),n.textContent=`📍`,n.setAttribute(`aria-hidden`,`true`);let r=document.createElement(`div`);return r.textContent=e,t.append(n,r),t}function Nw(e,t,n){let r=document.createElement(`div`);if(r.className=ow(),r.style.height=t.height,!Dw(e))return r.appendChild(Mw(ww)),{wrap:r,mapEl:null};let i=document.createElement(`div`);i.className=sw(),i.appendChild(Mw(``)),r.appendChild(i);let a=Object.keys(t.tiles);return t.showViewToggle&&a.length>1&&r.appendChild(Pw(a,t,n)),{wrap:r,mapEl:i}}function Pw(e,t,n){let r=document.createElement(`div`);r.className=lw(),r.dataset.viewToggle=`true`;let i=[];for(let a of e){let e=document.createElement(`button`);e.type=`button`,e.className=uw(),e.dataset.view=a,e.textContent=a===`satellite`?`Satellite`:`Map`,e.setAttribute(`aria-pressed`,String(a===t.view)),e.addEventListener(`click`,()=>{for(let t of i)t.setAttribute(`aria-pressed`,String(t===e));n?.onViewChange?.(a)}),i.push(e),r.appendChild(e)}return r}function Fw(e,t,n){let r=!!n?.onCourtClick,i=document.createElement(r?`button`:`div`);i.className=r?`${gw()} ${_w()}`:gw(),i.dataset.courtId=e.courtId,r&&(i.type=`button`,i.addEventListener(`click`,()=>n?.onCourtClick?.(e,t)));let a=document.createElement(`span`);a.className=vw(),a.textContent=e.courtName;let o=document.createElement(`span`);o.className=yw();let s=kw(e);if(s&&o.append(document.createTextNode(s)),e.floodlit){let e=document.createElement(`span`);e.className=bw(),e.title=`floodlit`,o.appendChild(e)}return i.append(a,o),i}function Iw(e,t,n){let r=document.createElement(`div`);r.className=pw();let i=document.createElement(`div`);i.className=mw(),i.textContent=`Courts (${e.length})`,r.appendChild(i);let a=document.createElement(`div`);a.className=hw();for(let r of Ow(e))a.appendChild(Fw(r,t,n));return r.appendChild(a),r}function Lw(e){let t=e=>e.replace(/[&<>"]/g,e=>({"&":`&`,"<":`<`,">":`>`,'"':`"`})[e]),n=e.addressFormatted?`<div class="${Cw()}">${t(e.addressFormatted)}</div>`:``;return`<div class="${Sw()}">${t(e.venueName)}</div>${n}`}async function Rw({root:e,mapEl:t,data:n,cfg:r,callbacks:i,lifetime:a}){let o;try{o=await import(`leaflet`)}catch(e){if(a.disposed)return;t.replaceChildren(Mw(Tw)),i?.onMapUnavailable?.(Error(`leaflet is an optional peerDependency of courthive-components and is not installed`,{cause:e}));return}if(a.disposed)return;let s=o.default??o;try{t.replaceChildren();let o=s.map(t,{scrollWheelZoom:r.scrollWheelZoom,attributionControl:!0}),c,l,u=!1;a.cleanup=()=>{u||(u=!0,c?.disconnect(),l?.disconnect(),o.remove())},o.setView([n.latitude,n.longitude],r.zoom);let d=r.view,f=Ww(s,o,r,d);Gw(t,r,d);let p=e=>{d=e,o.removeLayer(f),f=Ww(s,o,r,e),Gw(t,r,e)},m=s.divIcon({className:``,html:`<div class="${xw()}"></div>`,iconSize:[14,14]}),h=s.marker([n.latitude,n.longitude],{icon:m}).addTo(o);r.showPopup&&h.bindPopup(Lw(n)),h.on(`click`,()=>i?.onVenueClick?.(n)),e.querySelector(`[data-view-toggle]`)?.addEventListener(`click`,e=>{let t=e.target?.closest(`button[data-view]`);t&&p(t.dataset.view)}),Vw(t),c=new ResizeObserver(()=>o.invalidateSize()),c.observe(t);let g=globalThis.document?.documentElement;if(g&&r.darkTiles!==`never`&&r.darkTileLayer){let e=Hw();l=new MutationObserver(()=>{let t=Hw();t!==e&&(e=t,d!==`satellite`&&p(d))}),l.observe(g,{attributes:!0,attributeFilter:[`data-theme`]})}}catch(e){if(a.cleanup(),a.disposed)return;t.replaceChildren(Mw(Tw)),i?.onMapUnavailable?.(Error(`Leaflet map failed to initialize`,{cause:e}))}}var zw=!1;function Bw(e){return e?e!==`relative`&&e!==`absolute`:!1}function Vw(e){zw||Bw(globalThis.getComputedStyle?.(e)?.position)&&(zw=!0,console.warn("[courthive-components] venue-locator: leaflet's stylesheet is missing — the map will render incorrectly. Add `import 'leaflet/dist/leaflet.css';` to the host application."))}function Hw(){return globalThis.document?.documentElement?.dataset.theme===`dark`}function Uw(e,t,n){let r=e.tiles[t]??e.tiles.map;return t===`satellite`||e.darkTiles===`never`||!n?r:e.darkTileLayer??r}function Ww(e,t,n,r){let i=Uw(n,r,Hw());return e.tileLayer(i.tileLayer,{attribution:i.attribution,maxZoom:i.maxZoom??19}).addTo(t)}function Gw(e,t,n){let r=t.darkTiles===`auto`&&n!==`satellite`&&!t.darkTileLayer;e.classList.toggle(cw(),r)}function Kw(...e){for(let t of e)if(typeof t==`number`&&Number.isFinite(t))return t}function qw(e,t){let n=typeof e?.indoorOutdoor==`string`?e.indoorOutdoor.toUpperCase():void 0;return{courtId:e?.courtId??`court-${t+1}`,courtName:e?.courtName??`Court ${t+1}`,indoorOutdoor:n===`INDOOR`||n===`OUTDOOR`?n:void 0,surfaceCategory:e?.surfaceCategory,floodlit:e?.floodlit,courtOrder:Kw(e?.courtOrder),latitude:Lb(e?.latitude),longitude:Lb(e?.longitude)}}function Jw(e){let t=Array.isArray(e?.courts)?e.courts:[],n=e?.addresses?.find(e=>e);return{venueId:e?.venueId??``,venueName:e?.venueName??e?.venueAbbreviation??``,venueAbbreviation:e?.venueAbbreviation,addressFormatted:xb(n),latitude:Lb(e?.latitude,n?.latitude),longitude:Lb(e?.longitude,n?.longitude),courts:t.map(qw),notes:e?.notes}}var Yw=()=>`chc-team-card`,Xw=()=>`chc-team-card--clickable`,Zw=()=>`chc-team-card__title-row`,Qw=()=>`chc-team-card__name`,$w=()=>`chc-team-card__nickname`,eT=()=>`chc-team-card__counts`,tT=` · `;function nT(e,t){let n=document.createElement(`div`);n.className=Yw(),e.teamId&&(n.dataset.teamId=e.teamId),t?.onClick&&(n.classList.add(Xw()),n.tabIndex=0,n.setAttribute(`role`,`button`),n.addEventListener(`click`,n=>{n.stopPropagation(),t.onClick(e)}),n.addEventListener(`keydown`,n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),n.stopPropagation(),t.onClick(e))})),n.appendChild(rT(e));let r=(e.countSegments??[]).map(e=>(e??``).trim()).filter(Boolean);return r.length&&n.appendChild(iT(r)),n}function rT(e){let t=document.createElement(`div`);t.className=Zw();let n=document.createElement(`span`);if(n.className=Qw(),n.textContent=e.teamName,t.appendChild(n),e.nickname){let n=document.createElement(`span`);n.className=$w(),n.textContent=`"${e.nickname}"`,t.appendChild(n)}return t}function iT(e){let t=document.createElement(`div`);return t.className=eT(),t.textContent=e.join(tT),t}var aT=[`COMPETITIVE`,`ROUTINE`,`DECISIVE`,`WALKOVER`],oT=new Set([`WALKOVER`,`DOUBLE_WALKOVER`,`DEFAULTED`,`DOUBLE_DEFAULT`]);function sT(){return{COMPETITIVE:0,ROUTINE:0,DECISIVE:0,WALKOVER:0}}function cT(e){let t=sT();if(!Array.isArray(e))return t;for(let n of e){let e=typeof n?.getData==`function`?n.getData():n;if(!e)continue;if(e.matchUpStatus&&oT.has(e.matchUpStatus)){t.WALKOVER+=1;continue}let r=e.competitiveProfile?.competitiveness;r&&r!==`WALKOVER`&&aT.includes(r)&&(t[r]+=1)}return t}function lT(e){return aT.reduce((t,n)=>t+e[n],0)}var uT={COMPETITIVE:`Competitive`,ROUTINE:`Routine`,DECISIVE:`Decisive`,WALKOVER:`Walkover / Defaulted`};function dT(e={}){let{onSegmentClick:t}=e,n=document.createElement(`div`);n.className=`chc-cb`;let r={};for(let e of aT){let i=document.createElement(`div`);i.className=`chc-cb__seg`,i.dataset.bucket=e,t&&(i.classList.add(`is-clickable`),i.setAttribute(`role`,`button`),i.addEventListener(`click`,()=>t(e))),r[e]=i,n.appendChild(i)}return{element:n,update:e=>{let t=lT(e);if(n.style.display=t>0?`flex`:`none`,t)for(let t of aT){let n=r[t],i=e[t];i===0?(n.style.flex=`0 0 0`,n.style.padding=`0`,n.textContent=``,n.removeAttribute(`title`)):(n.style.flex=`${i} 1 0`,n.style.padding=`0 4px`,n.textContent=String(i),n.title=`${uT[t]}: ${i}`)}},setActive:e=>{n.classList.toggle(`has-active`,!!e);for(let t of aT)r[t].classList.toggle(`is-active`,t===e)}}}var fT={COMPETITIVE:`Competitive`,ROUTINE:`Routine`,DECISIVE:`Decisive`,WALKOVER:`Walkover / Defaulted`},pT=`http://www.w3.org/2000/svg`,mT=96,hT=mT/2,gT=47,_T=31;function vT(e,t){return{x:hT+t*Math.cos(e),y:hT+t*Math.sin(e)}}function yT(e,t){let n=vT(e,gT),r=vT(t,gT),i=vT(t,_T),a=vT(e,_T),o=+(t-e>Math.PI);return[`M ${n.x} ${n.y}`,`A ${gT} ${gT} 0 ${o} 1 ${r.x} ${r.y}`,`L ${i.x} ${i.y}`,`A ${_T} ${_T} 0 ${o} 0 ${a.x} ${a.y}`,`Z`].join(` `)}function bT(){let e=vT(-Math.PI/2,gT),t=vT(Math.PI/2,gT),n=vT(-Math.PI/2,_T),r=vT(Math.PI/2,_T);return[`M ${e.x} ${e.y}`,`A ${gT} ${gT} 0 1 1 ${t.x} ${t.y}`,`A ${gT} ${gT} 0 1 1 ${e.x} ${e.y}`,`L ${n.x} ${n.y}`,`A ${_T} ${_T} 0 1 0 ${r.x} ${r.y}`,`A ${_T} ${_T} 0 1 0 ${n.x} ${n.y}`,`Z`].join(` `)}function xT(){let e=document.createElement(`div`);e.className=`chc-cd`;let t=document.createElementNS(pT,`svg`);t.setAttribute(`viewBox`,`0 0 ${mT} ${mT}`),t.setAttribute(`class`,`chc-cd__svg`),t.setAttribute(`role`,`img`);let n={};for(let e of aT){let r=document.createElementNS(pT,`path`);r.setAttribute(`class`,`chc-cd__arc`),r.setAttribute(`data-bucket`,e),t.appendChild(r);let i=document.createElementNS(pT,`title`);r.appendChild(i),n[e]=r}let r=document.createElement(`div`);return r.className=`chc-cd__total`,e.appendChild(t),e.appendChild(r),{element:e,update:i=>{let a=lT(i);if(e.style.display=a>0?`inline-flex`:`none`,!a)return;let o=aT.filter(e=>i[e]>0),s=-Math.PI/2;for(let e of aT){let t=i[e],r=n[e],c=r.querySelector(`title`);if(t===0){r.removeAttribute(`d`),c&&(c.textContent=``);continue}if(o.length===1)r.setAttribute(`d`,bT());else{let e=t/a,n=s+e*Math.PI*2;r.setAttribute(`d`,yT(s,n)),s=n}c&&(c.textContent=`${fT[e]}: ${t}`)}r.textContent=String(a),t.setAttribute(`aria-label`,`Competitiveness across ${a} matches`)}}}function ST(e){let{segments:t,onSegmentClick:n}=e,r=document.createElement(`div`);r.className=`chc-sb`;let i={},a={};for(let{key:e,label:o,color:s}of t){i[e]=o;let t=document.createElement(`div`);t.className=`chc-sb__seg`,t.dataset.key=e,t.style.setProperty(`--seg-bg`,s),n&&(t.classList.add(`is-clickable`),t.setAttribute(`role`,`button`),t.addEventListener(`click`,()=>n(e))),a[e]=t,r.appendChild(t)}return{element:r,update:e=>{let n=t.reduce((t,n)=>t+(e[n.key]||0),0);if(r.style.display=n>0?`flex`:`none`,n)for(let{key:n}of t){let t=a[n],r=e[n]||0;r===0?(t.style.flex=`0 0 0`,t.style.padding=`0`,t.textContent=``,t.removeAttribute(`title`)):(t.style.flex=`${r} 1 0`,t.style.padding=`0 4px`,t.textContent=String(r),t.title=`${i[n]}: ${r}`)}},setActive:e=>{r.classList.toggle(`has-active`,!!e);for(let{key:n}of t)a[n].classList.toggle(`is-active`,n===e)}}}var CT={cornerBadges:[`status`,`publishedBadge`,`embargoBadge`],body:[`title`,`drawTypeLabel`,`matchUpProgress`],footer:[`drawSize`,`entries`,`matchUpFormat`,`flightNumber`,`ratings`],showVisualization:!1};function wT(e){return e?{cornerBadges:e.cornerBadges??CT.cornerBadges,body:e.body??CT.body,footer:e.footer??CT.footer,showVisualization:e.showVisualization??CT.showVisualization}:CT}var TT=()=>`chc-dc-card`,ET=()=>`chc-dc-card--clickable`,DT=()=>`chc-dc-corner-badges`,OT=()=>`chc-dc-status-pill`,kT=()=>`chc-dc-secondary-badge`,AT=()=>`chc-dc-body`,jT=()=>`chc-dc-viz`,MT=()=>`chc-dc-title-row`,NT=()=>`chc-dc-title`,PT=()=>`chc-dc-draw-type`,FT=()=>`chc-dc-meta`,IT=()=>`chc-dc-footer`,LT=()=>`chc-dc-chip`,RT=()=>`chc-dc-progress`,zT=()=>`chc-dc-progress-bar`,BT=()=>`chc-dc-progress-fill`,VT=()=>`chc-dc-card chc-dc-skeleton`,HT=()=>`chc-dc-skeleton-line`;function UT(e,t,n){let r=wT(t),i=document.createElement(`div`);if(i.className=TT(),i.dataset.drawId=e.drawId,e.eventId&&(i.dataset.eventId=e.eventId),n?.onClick&&(i.classList.add(ET()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showVisualization&&e.visualization){let t=document.createElement(`div`);t.className=jT(),t.appendChild(e.visualization),i.appendChild(t)}return(r.body.length||r.cornerBadges.length)&&i.appendChild(oE(e,r)),r.footer.length&&i.appendChild(sE(e,r)),i}function WT(e){if(!e.status)return null;let t=document.createElement(`div`);return t.className=OT(),t.dataset.kind=e.status.kind,t.textContent=e.status.label,t}function GT(e){if(!e.published)return null;let t=document.createElement(`div`);return t.className=kT(),t.dataset.kind=`published`,t.textContent=`Published`,t}function KT(e){if(!e.embargoActive)return null;let t=document.createElement(`div`);return t.className=kT(),t.dataset.kind=`embargo`,t.textContent=`Embargo`,t}function qT(e,t){return e===`status`?WT(t):e===`publishedBadge`?GT(t):e===`embargoBadge`?KT(t):null}function JT(e,t){let n=[];for(let r of t){let t=qT(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=DT();for(let e of n)r.appendChild(e);return r}function YT(e){if(!e.drawName)return null;let t=document.createElement(`div`);return t.className=NT(),t.textContent=e.drawName,t.title=e.drawName,t}function XT(e){if(!e.drawTypeLabel)return null;let t=document.createElement(`div`);return t.className=PT(),t.textContent=e.drawTypeLabel,t}function ZT(e){let t=document.createElement(`span`);return t.className=LT(),t.textContent=e,t}function QT(e){return typeof e.drawSize==`number`?ZT(`Size ${e.drawSize}`):null}function $T(e){return typeof e.entryCount==`number`?ZT(`${e.entryCount} ${e.entryCount===1?`entry`:`entries`}`):null}function eE(e){return e.matchUpFormat?ZT(e.matchUpFormat):null}function tE(e){return typeof e.flightNumber==`number`?ZT(`Flight ${e.flightNumber}`):null}function nE(e){let t=[];if(typeof e.utrAvg==`number`&&t.push(`UTR ${e.utrAvg.toFixed(2)}`),typeof e.wtnAvg==`number`&&t.push(`WTN ${e.wtnAvg.toFixed(2)}`),!t.length)return null;let n=document.createElement(`div`);return n.className=FT(),n.textContent=t.join(` · `),n}function rE(e){if(!e.matchUpCounts||e.matchUpCounts.total===0)return null;let{total:t,completed:n}=e.matchUpCounts,r=Math.round(n/t*100),i=document.createElement(`div`);i.className=RT();let a=document.createElement(`div`);a.className=FT(),a.textContent=`${n}/${t} matches · ${r}%`,i.appendChild(a);let o=document.createElement(`div`);o.className=zT();let s=document.createElement(`div`);return s.className=BT(),s.style.right=`${100-r}%`,o.appendChild(s),i.appendChild(o),i}function iE(e,t){return e===`title`?YT(t):e===`drawTypeLabel`?XT(t):e===`drawSize`?QT(t):e===`entries`?$T(t):e===`matchUpFormat`?eE(t):e===`flightNumber`?tE(t):e===`ratings`?nE(t):e===`matchUpProgress`?rE(t):null}function aE(e,t){let n=document.createElement(`div`);n.className=MT();let r=YT(e);r&&n.appendChild(r);let i=JT(e,t);return i&&n.appendChild(i),n}function oE(e,t){let n=document.createElement(`div`);n.className=AT();let r=t.body.includes(`title`),i=t.cornerBadges.length>0;if(i&&!r){let r=JT(e,t.cornerBadges);r&&n.appendChild(r)}for(let r of t.body){if(r===`title`&&i){n.appendChild(aE(e,t.cornerBadges));continue}let a=iE(r,e);a&&n.appendChild(a)}return n}function sE(e,t){let n=document.createElement(`div`);n.className=IT();for(let r of t.footer){let t=iE(r,e);t&&n.appendChild(t)}return n}function cE(){let e=document.createElement(`div`);e.className=VT();let t=document.createElement(`div`);t.className=AT();for(let e of[`70%`,`40%`,`85%`]){let n=document.createElement(`div`);n.className=HT(),n.style.width=e,t.appendChild(n)}return e.appendChild(t),e}var lE={SINGLE_ELIMINATION:`Single Elimination`,DOUBLE_ELIMINATION:`Double Elimination`,ELIMINATION:`Elimination`,ROUND_ROBIN:`Round Robin`,ROUND_ROBIN_WITH_PLAYOFF:`Round Robin + Playoff`,COMPASS:`Compass`,FEED_IN_CHAMPIONSHIP:`Feed-In Championship`,FIRST_MATCH_LOSER_CONSOLATION:`First Match Loser Consolation`,FIRST_ROUND_LOSER_CONSOLATION:`First Round Loser Consolation`,PLAY_OFF:`Play-Off`,CURTIS_CONSOLATION:`Curtis Consolation`,AD_HOC:`Ad-Hoc`,OLYMPIC:`Olympic`,LUCKY_DRAW:`Lucky Draw`,STAGGERED_ENTRY:`Staggered Entry`};function uE(e){if(e)return lE[e]?lE[e]:e.toLowerCase().split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function dE(e){let{matchUps:n=[]}=t.tournamentEngine.getAllDrawMatchUps({drawDefinition:e}),r=0,i=0,a=0,o=0;for(let e of n)e?.matchUpStatus!==`BYE`&&e?.matchUpStatus!==`DOUBLE_BYE`&&(r+=1,e?.winningSide?i+=1:e?.schedule?.scheduledTime&&(a+=1),e?.matchUpStatus===`IN_PROGRESS`&&(o+=1));return{total:r,completed:i,scheduled:a,inProgress:o}}function fE(e){let t=e?.drawSize;if(typeof t==`number`)return t;let n=(e?.structures?.find(e=>e?.stage===`MAIN`))?.positionAssignments?.length;return typeof n==`number`?n:void 0}function pE(e){if(e.cancelled)return{kind:`cancelled`,label:`Cancelled`};if(!e.generated)return{kind:`ungenerated`,label:`Not generated`};let t=e.matchUpCounts;return!t||t.total===0?{kind:`ready`,label:`Ready`}:t.completed===t.total?{kind:`completed`,label:`Completed`}:t.inProgress>0||t.completed>0?{kind:`in-progress`,label:`In progress`}:{kind:`ready`,label:`Ready`}}function mE(e,t){let n=Array.isArray(e?.structures)&&e.structures.length>0,r=t?.matchUpStats??(t?.lightMode||!n?void 0:dE(e)),i=e?.drawStatus===`CANCELLED`,a=t?.statusOverride===void 0?pE({generated:n,cancelled:i,matchUpCounts:r}):t.statusOverride;return{drawId:e?.drawId??``,drawName:e?.drawName??``,drawType:e?.drawType,drawTypeLabel:uE(e?.drawType),drawSize:fE(e),entryCount:t?.entryCount,matchUpFormat:e?.matchUpFormat,flightNumber:e?.flightNumber,matchUpCounts:r,generated:n,published:t?.published,embargoActive:t?.embargoActive,utrAvg:t?.utrAvg,wtnAvg:t?.wtnAvg,status:a,eventId:t?.eventId}}var hE={showImage:!0,cornerBadges:[`status`,`eventTypeBadge`,`genderBadge`],body:[`title`,`categoryLabel`,`drawSummary`],footer:[`playerCount`,`matchUpProgress`]},gE=15;function _E(e){return e?{showImage:e.showImage??hE.showImage,cornerBadges:e.cornerBadges??hE.cornerBadges,body:e.body??hE.body,footer:e.footer??hE.footer}:hE}var vE=()=>`chc-ec-card`,yE=()=>`chc-ec-card--clickable`,bE=()=>`chc-ec-image`,xE=()=>`chc-ec-image-img`,SE=()=>`chc-ec-image-svg`,CE=()=>`chc-ec-image-placeholder`,wE=()=>`chc-ec-corner-badges`,TE=()=>`chc-ec-status-pill`,EE=()=>`chc-ec-eventtype-badge`,DE=()=>`chc-ec-gender-badge`,OE=()=>`chc-ec-body`,kE=()=>`chc-ec-title`,AE=()=>`chc-ec-category`,jE=()=>`chc-ec-draw-summary`,ME=()=>`chc-ec-date-range`,NE=()=>`chc-ec-footer`,PE=()=>`chc-ec-player-count`,FE=()=>`chc-ec-progress`,IE=()=>`chc-ec-progress-meta`,LE=()=>`chc-ec-progress-bar`,RE=()=>`chc-ec-progress-fill`,zE=()=>`chc-ec-updated-at`,BE=()=>`chc-ec-card chc-ec-skeleton`,VE=()=>`chc-ec-skeleton-line`,HE=()=>`chc-ec-skeleton-block`;function UE(e,t,n){let r=_E(t),i=document.createElement(`div`);return i.className=vE(),i.dataset.eventId=e.eventId,n?.onClick&&(i.classList.add(yE()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showImage!==!1&&i.appendChild(GE(e,r)),r.body.length&&i.appendChild(aD(e,r)),r.footer.length&&i.appendChild(oD(e,r)),i}function WE(e,t){let n=yb(t.courtSvgSport,SE());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=CE(),e.appendChild(r)}function GE(e,t){let n=document.createElement(`div`);if(n.className=bE(),e.eventImageURL){let t=document.createElement(`img`);t.className=xE(),t.src=e.eventImageURL,t.alt=e.eventName||``,t.loading=`lazy`,t.addEventListener(`error`,()=>{t.remove(),WE(n,e)}),n.appendChild(t)}else WE(n,e);if(t.cornerBadges.length){let r=XE(e,t.cornerBadges);r&&n.appendChild(r)}return n}function KE(e){if(!e.status)return null;let t=document.createElement(`div`);return t.className=TE(),t.dataset.kind=e.status.kind,t.textContent=e.status.label,t}function qE(e){if(!e.eventType)return null;let t=document.createElement(`div`);return t.className=EE(),t.dataset.kind=e.eventType,t.textContent=e.eventType,t}function JE(e){if(!e.gender)return null;let t=document.createElement(`div`);return t.className=DE(),t.dataset.kind=e.gender,t.textContent=e.gender===`MALE`?`M`:e.gender===`FEMALE`?`W`:`X`,t}function YE(e,t){return e===`status`?KE(t):e===`eventTypeBadge`?qE(t):e===`genderBadge`?JE(t):null}function XE(e,t){let n=[];for(let r of t){let t=YE(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=wE();for(let e of n)r.appendChild(e);return r}function ZE(e){if(!e.eventName)return null;let t=document.createElement(`div`);return t.className=kE(),t.textContent=e.eventName,t.title=e.eventName,t}function QE(e){if(!e.categoryLabel)return null;let t=document.createElement(`div`);return t.className=AE(),t.textContent=e.categoryLabel,t}function $E(e){if(!e.drawSummary)return null;let t=document.createElement(`div`);return t.className=jE(),t.textContent=e.drawSummary,t}function eD(e){if(!e.dateRangeFormatted)return null;let t=document.createElement(`div`);return t.className=ME(),t.textContent=e.dateRangeFormatted,t}function tD(e){if(!e.updatedAt)return null;let t=document.createElement(`div`);t.className=zE();let n=new Date(e.updatedAt);return t.textContent=Number.isNaN(n.getTime())?e.updatedAt:n.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}),t}function nD(e){if(typeof e.entryCount!=`number`)return null;let t=document.createElement(`div`);return t.className=PE(),t.textContent=`${e.entryCount} ${e.entryCount===1?`player`:`players`}`,t}function rD(e){if(!e.matchUpCounts||e.matchUpCounts.total===0)return null;let{total:t,completed:n}=e.matchUpCounts,r=Math.round(n/t*100),i=document.createElement(`div`);i.className=FE();let a=document.createElement(`div`);a.className=IE(),a.textContent=`${n}/${t} matches · ${r}%`,i.appendChild(a);let o=document.createElement(`div`);o.className=LE();let s=document.createElement(`div`);return s.className=RE(),s.style.right=`${100-r}%`,o.appendChild(s),i.appendChild(o),i}function iD(e,t){return e===`title`?ZE(t):e===`categoryLabel`?QE(t):e===`drawSummary`?$E(t):e===`dateRange`?eD(t):e===`updatedAt`?tD(t):e===`playerCount`?nD(t):e===`matchUpProgress`?rD(t):null}function aD(e,t){let n=document.createElement(`div`);n.className=OE();for(let r of t.body){let t=iD(r,e);t&&n.appendChild(t)}return n}function oD(e,t){let n=document.createElement(`div`);n.className=NE();for(let r of t.footer){let t=iD(r,e);t&&n.appendChild(t)}return n}function sD(e){let t=_E(e);return Rb({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:BE(),imageClass:bE(),bodyClass:OE(),footerClass:NE(),blockClass:HE(),lineClass:VE()})}function cD(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function lD(e,t,n){return!t||!n?!1:t.getTime()<=e.getTime()&&e.getTime()<=n.getTime()}function uD(e,t=new Date){if(e.allDrawsCancelled)return{kind:`cancelled`,label:`Cancelled`};let n=e.matchUpCounts;if(n&&n.total>0&&n.completed===n.total)return{kind:`completed`,label:`Completed`};let r=cD(e.startDate),i=cD(e.endDate);if(n&&(n.inProgress>0||lD(t,r,i)&&n.total>0))return{kind:`live`,label:`Live`};let a=e.drawCount??0;return a>0&&(e.hasDraftState||e.hasSeedsOnlyDraw)?{kind:`drawing`,label:`Drawing`}:a===0&&(e.entryCount??0)>0?{kind:`entries-open`,label:`Entries Open`}:r&&t.getTime()<r.getTime()?{kind:`upcoming`,label:`Upcoming`}:null}var dD=`eventImage`,fD=`DRAFT_STATE`;function pD(e){if(!e)return;let t=String(e).toUpperCase();if(t===`SINGLES`||t===`DOUBLES`||t===`TEAM`||t===`HYBRID`)return t}function mD(e){if(!e)return;let t=String(e).toUpperCase();if(t===`M`||t===`MALE`)return`MALE`;if(t===`F`||t===`FEMALE`)return`FEMALE`;if(t===`MIXED`||t===`X`)return`MIXED`}function hD(e){if(!e)return;let t=gD(e.categoryName);if(t)return t;if(typeof e.ageMin==`number`&&typeof e.ageMax==`number`)return e.ageMin===e.ageMax?`Age ${e.ageMin}`:`Age ${e.ageMin}–${e.ageMax}`;let n=gD(e.ageCategoryCode);if(n)return n;if(e.ratingMin&&e.ratingMax)return`Rating ${e.ratingMin}–${e.ratingMax}`}function gD(e){if(typeof e!=`string`)return;let t=e.trim();if(t&&!/^[-—–_]+$/.test(t))return t}function _D(e){if(!e.length)return;let t=e.find(Boolean);if(!t)return;let n=[];return typeof t.drawSize==`number`&&n.push(String(t.drawSize)),t.drawType&&n.push(String(t.drawType)),e.length>1&&n.push(`+${e.length-1}`),n.length?n.join(` `):void 0}function vD(e){let{matchUps:n=[]}=t.tournamentEngine.allEventMatchUps({event:e,inContext:!1})??{},r=0,i=0,a=0,o=0;for(let e of n)e?.matchUpStatus!==`BYE`&&e?.matchUpStatus!==`DOUBLE_BYE`&&(r+=1,e?.winningSide?i+=1:e?.schedule?.scheduledTime&&(a+=1),e?.matchUpStatus===`IN_PROGRESS`&&(o+=1));return{total:r,completed:i,scheduled:a,inProgress:o}}function yD(e){if(e?.draftState!=null)return!0;let t=e?.extensions;return Array.isArray(t)?t.some(e=>e?.name===fD):!1}function bD(e){return e.some(e=>e?.automated?.seedsOnly===!0||yD(e))}function xD(e){return e.length!==0&&e.every(e=>e?.drawStatus===`CANCELLED`)}var SD=new Set([`DIRECT_ACCEPTANCE`,`DA`,`DIRECT_CONFIRMED`,`DC`,`ACCEPTED`,`A`,`ENTERED`,`PE`,`QUALIFIER`,`Q`,`WILDCARD`,`WC`]);function CD(e){if(!e.length)return 0;let t=0;for(let n of e)SD.has(String(n?.entryStatus))&&(t+=1);return t}function wD(e,t){let n=Array.isArray(e?.drawDefinitions)?e.drawDefinitions:[],r=Array.isArray(e?.entries)?e.entries:[],i=Array.isArray(e?.onlineResources)?e.onlineResources:void 0,a=t?.matchUpStats??(t?.lightMode?void 0:vD(e)),o=t?.statusOverride===void 0?uD({allDrawsCancelled:xD(n),drawCount:n.length,entryCount:CD(r),startDate:e?.startDate,endDate:e?.endDate,matchUpCounts:a,hasDraftState:n.some(yD),hasSeedsOnlyDraw:bD(n)},t?.now):t.statusOverride;return{eventId:e?.eventId??``,eventName:e?.eventName??``,eventAbbreviation:e?.eventAbbreviation,categoryLabel:hD(e?.category),eventType:pD(e?.eventType),gender:mD(e?.gender),drawCount:n.length||void 0,drawSummary:_D(n),entryCount:CD(r)||void 0,matchUpCounts:a,startDate:e?.startDate,endDate:e?.endDate,dateRangeFormatted:jb(e?.startDate,e?.endDate),status:o,eventImageURL:e?.eventImageURL??Pb(i,dD),courtSvgSport:e?.courtSvgSport??Fb(i)??t?.sport,updatedAt:e?.updatedAt}}var TD=()=>`chc-hil-container`,ED=()=>`chc-hil-form`,DD=()=>`chc-hil-header`,OD=()=>`chc-hil-title`,kD=()=>`chc-hil-tabs`,AD=()=>`chc-hil-tab`,jD=()=>`chc-hil-tab--active`,MD=()=>`chc-hil-field`,ND=()=>`chc-hil-label`,PD=()=>`chc-hil-input`,FD=()=>`chc-hil-row`,ID=()=>`chc-hil-submit`,LD=()=>`chc-hil-message`,RD=()=>`chc-hil-message--error`,zD=()=>`chc-hil-message--success`,BD=()=>`chc-hil-switch-mode`;function VD(e){return e.replace(/\/+$/,``)}async function HD(e,t,n,r=fetch){let i=VD(e)+t,a;try{a=await r(i,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})}catch(e){throw{kind:`network`,cause:e}}let o=null;try{o=await a.json()}catch(e){if(a.ok)throw{kind:`parse`,cause:e}}if(!a.ok)throw{kind:`http`,status:a.status,body:o};return o}function UD(e,t,n){return HD(e,`/auth/hiveid/signup`,t,n)}function WD(e,t,n){return HD(e,`/auth/hiveid/verify-existing`,t,n)}function GD(e,t,n){return HD(e,`/auth/hiveid/magic-link`,t,n)}function KD(e,t,n){return HD(e,`/auth/hiveid/magic-link/consume`,t,n)}function qD(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.kind!==`http`||t.status!==409?!1:t.body?.code===`EXISTING_USER`}var JD=[{value:`M`,label:`Male`},{value:`F`,label:`Female`}],YD=`signup`,XD=`login`,ZD=`magic-link`,QD=[YD,XD,ZD],$D=`hiveid:authenticated`,eO={[YD]:`Sign up`,[XD]:`Log in`,[ZD]:`Email link`},tO={[YD]:`Create your CourtHive identity`,[XD]:`Log in to CourtHive`,[ZD]:`Email me a sign-in link`};function nO(e){if(!e?.cfsBaseUrl)throw Error(`buildHiveIDLogin: cfsBaseUrl is required`);let t=e.mode??`signup`,n=!1,r=document.createElement(`div`);r.className=TD(),r.dataset.hiveidLogin=`true`;let i=document.createElement(`div`);i.className=DD();let a=document.createElement(`h2`);a.className=OD(),i.appendChild(a);let o=document.createElement(`div`);o.className=kD(),i.appendChild(o);let s={};QD.forEach(e=>{let t=document.createElement(`button`);t.type=`button`,t.className=AD(),t.textContent=eO[e],t.dataset.mode=e,t.onclick=()=>w(e),o.appendChild(t),s[e]=t}),r.appendChild(i);let c=document.createElement(`form`);c.className=ED(),c.noValidate=!0,r.appendChild(c);let l=document.createElement(`div`);l.className=LD(),l.hidden=!0,r.appendChild(l);function u(e,t=`info`){l.textContent=e,l.className=LD(),t===`error`&&l.classList.add(RD()),t===`success`&&l.classList.add(zD()),l.hidden=!e}function d(){u(``)}function f(e,t,n=`text`,r=``){let i=document.createElement(`div`);i.className=MD();let a=document.createElement(`label`);a.className=ND(),a.textContent=t,a.htmlFor=`chc-hil-${e}`;let o=document.createElement(`input`);return o.id=`chc-hil-${e}`,o.name=e,o.type=n,o.value=r,o.className=PD(),o.required=!0,i.appendChild(a),i.appendChild(o),c.appendChild(i),o}function p(){let e=document.createElement(`div`);return e.className=FD(),c.appendChild(e),e}function m(e){let t=document.createElement(`button`);return t.type=`submit`,t.className=ID(),t.textContent=e,c.appendChild(t),t}function h(e,t,n){let r=document.createElement(`div`);r.className=BD();let i=document.createElement(`button`);i.type=`button`,i.textContent=n,i.onclick=()=>w(t),r.append(e+` `,i),c.appendChild(r)}function g(e){if(e.note){let t=document.createElement(`p`);t.className=ND(),t.textContent=e.note,c.appendChild(t)}let t=null;if(e.providers.length>1){let n=document.createElement(`div`);n.className=MD();let r=document.createElement(`label`);r.className=ND(),r.textContent=`Provider`,r.htmlFor=`chc-hil-fedProvider`;let i=document.createElement(`select`);i.id=`chc-hil-fedProvider`,i.className=PD(),e.providers.forEach(e=>{let t=document.createElement(`option`);t.value=e.value,t.textContent=e.label,i.appendChild(t)}),n.append(r,i),c.appendChild(n),t=i}let n=document.createElement(`div`);n.className=MD();let r=document.createElement(`label`);r.className=ND(),r.textContent=e.idLabel??`Player ID`,r.htmlFor=`chc-hil-federationId`;let i=document.createElement(`input`);i.id=`chc-hil-federationId`,i.type=`text`,i.className=PD(),n.append(r,i),c.appendChild(n);let a=e.providers[0]?.value??``;return()=>{let e=i.value.trim();if(!e)return null;let n=t?t.value:a;return n?{provider:n,externalId:e}:null}}function _(e){if(e.note){let t=document.createElement(`p`);t.className=ND(),t.textContent=e.note,c.appendChild(t)}let t=e.required!==!1,n=document.createElement(`div`);n.className=MD();let r=document.createElement(`label`);r.className=ND(),r.textContent=e.dobLabel??`Date of birth`,r.htmlFor=`chc-hil-birthDate`;let i=document.createElement(`input`);i.id=`chc-hil-birthDate`,i.type=`date`,i.required=t,i.className=PD(),n.append(r,i),c.appendChild(n);let a=document.createElement(`div`);a.className=MD();let o=document.createElement(`label`);o.className=ND(),o.textContent=e.sexLabel??`Sex`,o.htmlFor=`chc-hil-sex`;let s=document.createElement(`select`);s.id=`chc-hil-sex`,s.required=t,s.className=PD();let l=document.createElement(`option`);return l.value=``,l.textContent=`Select…`,s.appendChild(l),(e.sexOptions??JD).forEach(e=>{let t=document.createElement(`option`);t.value=e.value,t.textContent=e.label,s.appendChild(t)}),a.append(o,s),c.appendChild(a),()=>aO({birthDate:i.value,sex:s.value})}function v(e){r.dispatchEvent(new CustomEvent($D,{detail:e,bubbles:!0}))}function y(e,t){return async r=>{if(r.preventDefault(),!n){n=!0,e.disabled=!0,d();try{await t()}finally{n=!1,e.disabled=!1}}}}async function b(t,n,r,i={}){let a=t.value.trim(),o=n.value.trim(),s=r.value.trim();if(!a||!o||!s){u(`Email, first name, and last name are required.`,`error`);return}let{federationIds:c,birthDate:l,sex:d,provider:f,requirePii:p}=i;if(p&&(!l||!d)){u(`Date of birth and sex are required.`,`error`);return}try{let t=await UD(e.cfsBaseUrl,{email:a,firstName:o,lastName:s,federationIds:c,birthDate:l,sex:d,provider:f},e.fetchImpl);if(t.status===`candidate`){u(`We found possible matches — please log in with your existing account.`,`info`),w(`login`);return}v({token:t.token,refreshToken:t.refreshToken,personId:t.personId,cached:t.cached}),u(`Welcome to CourtHive.`,`success`)}catch(e){if(qD(e)){u(`That email already has a CourtHive account — please verify your password.`,`info`),w(`login`);return}u(sO(e)??`Sign-up failed. Please try again.`,`error`)}}async function x(t,n){let r=t.value.trim(),i=n.value;if(!r||!i){u(`Email and password are required.`,`error`);return}try{let t=await WD(e.cfsBaseUrl,{email:r,password:i},e.fetchImpl);v({token:t.token,refreshToken:t.refreshToken,personId:t.personId,cached:t.cached??oO()}),u(`Signed in.`,`success`)}catch(e){u(sO(e)??`Sign-in failed. Please check your password.`,`error`)}}async function S(t){let n=t.value.trim();if(!n){u(`Email is required.`,`error`);return}try{await GD(e.cfsBaseUrl,{email:n},e.fetchImpl),u(`If ${n} is registered, a sign-in link is on its way.`,`success`)}catch(e){u(sO(e)??`Could not send link. Please try again.`,`error`)}}function C(){if(c.replaceChildren(),a.textContent=tO[t],QD.forEach(e=>{s[e].classList.toggle(jD(),e===t)}),t===`signup`){let t=p(),n=document.createElement(`input`);n.id=`chc-hil-firstName`,n.type=`text`,n.placeholder=`First name`,n.required=!0,n.className=PD();let r=document.createElement(`input`);r.id=`chc-hil-lastName`,r.type=`text`,r.placeholder=`Last name`,r.required=!0,r.className=PD();let i=document.createElement(`div`);i.className=MD();let a=document.createElement(`label`);a.textContent=`First name`,a.className=ND(),a.htmlFor=n.id,i.append(a,n);let o=document.createElement(`div`);o.className=MD();let s=document.createElement(`label`);s.textContent=`Last name`,s.className=ND(),s.htmlFor=r.id,o.append(s,r),t.append(i,o);let l=f(`email`,`Email`,`email`,e.defaultEmail??``),u=e.federationIdCapture?g(e.federationIdCapture):()=>null,d=e.dobSexCapture?_(e.dobSexCapture):()=>({}),v=!!e.dobSexCapture&&e.dobSexCapture.required!==!1,x=m(`Create account`);c.onsubmit=y(x,()=>b(l,n,r,{federationIds:iO(u(),e.federationIds),...d(),provider:e.provider,requirePii:v})),h(`Already have an account?`,`login`,`Log in`)}else if(t===`login`){let t=f(`email`,`Email`,`email`,e.defaultEmail??``),n=f(`password`,`Password`,`password`),r=m(`Log in`);c.onsubmit=y(r,()=>x(t,n)),h(`Forgot your password?`,`magic-link`,`Email me a link`)}else{let t=f(`email`,`Email`,`email`,e.defaultEmail??``),n=m(`Send link`);c.onsubmit=y(n,()=>S(t)),h(`Have a password?`,`login`,`Log in instead`)}}function w(e){e!==t&&(t=e,d(),C())}function T(){return t}function E(e){let t=t=>e(t.detail);return r.addEventListener($D,t),()=>r.removeEventListener($D,t)}return C(),{root:r,setMode:w,getMode:T,onAuthenticated:E}}async function rO(e,t,n){let r=await KD(e,{code:t},n);return{token:r.token,refreshToken:r.refreshToken,personId:r.personId,cached:r.cached??oO()}}function iO(e,t){let n=[],r=new Set,i=e=>{if(!e?.provider||!e?.externalId)return;let t=`${e.provider}::${e.externalId}`;r.has(t)||(r.add(t),n.push({provider:e.provider,externalId:e.externalId}))};return(t??[]).forEach(i),i(e),n.length?n:void 0}function aO(e){let t={},n=e.birthDate?.trim(),r=e.sex?.trim();return n&&(t.birthDate=n),r&&(t.sex=r),t}function oO(){return{standardFamilyName:null,standardGivenName:null,birthDate:null,sex:null,nationalityCode:null}}function sO(e){if(!e||typeof e!=`object`)return null;if(e.kind===`http`){let t=e.body;if(t?.message&&typeof t.message==`string`)return t.message;if(typeof t?.status==`string`&&t.status===`incomplete`)return`We need a bit more information to identify you.`}return e.kind===`network`?`Could not reach CourtHive. Check your connection.`:null}var cO={name:`courthive-components`,packageManager:`pnpm@12.14.0`,version:`6.11.0`,engines:{node:`>=24`},description:`Components for competitions projects`,files:[`dist`],main:`./dist/courthive-components.umd.js`,module:`./dist/courthive-components.es.js`,types:`./dist/index.d.ts`,exports:{".":{types:`./dist/index.d.ts`,import:`./dist/courthive-components.es.js`,require:`./dist/courthive-components.umd.js`},"./dist/*":`./dist/*`,"./courts":{types:`./dist/features-types/courts/index.d.ts`,import:`./dist/courts.mjs`},"./segmented-bar":{types:`./dist/features-types/segmentedBar/index.d.ts`,import:`./dist/segmented-bar.mjs`},"./features.css":`./dist/features.css`},repository:{type:`git`,url:`git+https://github.com/CourtHive/courthive-components.git`},keywords:[`tournament`,`match`,`score`,`vanillajs`,`bracket`],author:`Charles Allen`,license:`MIT`,bugs:{url:`https://github.com/CourtHive/courthive-components/issues`},homepage:`https://courthive.github.io/courthive-component`,scripts:{commits:`git log $(git describe --tags --abbrev=0)..HEAD --oneline --no-merges --pretty=format:'%s: %h' | sed '/courthive-components/d'`,release:`npm run release:patch`,test:`vitest run --project unit`,"test:stories":`vitest run --project storybook`,"test:watch":`vitest --project unit`,"test:ui":`vitest --ui --project unit`,dev:`vite`,build:`tsc && vite build && vite build --config vite.features.config.mts && node scripts/buildFeatureTypes.mjs`,"check-types":`tsc --noEmit`,prepublishOnly:`pnpm build`,preview:`vite preview`,storybook:`storybook dev -p 6006`,"build-storybook":`storybook build`,"deploy-storybook":`gh-pages -d storybook-static`,"pre-commit":`lint-staged`,predeploy:`pnpm build-storybook`,lint:`eslint src scripts/buildFeatureTypes.mjs scripts/verify/consumerBundle.mjs --cache --max-warnings 0`,"lint:fix":`eslint src --fix --cache`,"lint:report":`eslint src & eslint --cache src -f json > eslint-report.json`,format:`prettier --write src`,"release:major":`npm run commits && npm version $(semver $npm_package_version -i major) && git push && git push --tags`,"release:minor":`npm run commits && npm version $(semver $npm_package_version -i minor) && git push && git push --tags`,"release:patch":`npm run commits && npm version $(semver $npm_package_version -i patch) && git push && git push --tags`,"release:beta":`npm run commits && npm version $(semver $npm_package_version -i prerelease --preid beta) && git push && git push --tags`,"patch:beta":`npm run commits && npm version $(semver $npm_package_version -i prerelease --preid beta) && npm publish --tag beta`,"verify:consumer-bundle":`node scripts/verify/consumerBundle.mjs --self-test && node scripts/verify/consumerBundle.mjs`},"lint-staged":{"*.{js,ts}":`eslint --cache --fix`,"*":`prettier --ignore-unknown --write`},devDependencies:{"@chromatic-com/storybook":`^5.0.0`,"@commitlint/cli":`21.2.3`,"@commitlint/config-conventional":`21.2.3`,"@eslint/js":`^10.0.1`,"@fortawesome/fontawesome-free":`^7.2.0`,"@storybook/addon-docs":`^10.2.17`,"@storybook/addon-vitest":`^10.6.1`,"@storybook/html-vite":`^10.2.17`,"@types/d3":`^7.4.3`,"@types/leaflet":`^1.9.12`,"@types/vanillajs-datepicker":`^1.3.5`,"@typescript-eslint/eslint-plugin":`8.71.2`,"@typescript-eslint/parser":`8.71.2`,"@vitest/browser":`^5.0.3`,"@vitest/browser-playwright":`^5.0.3`,"@vitest/coverage-v8":`^5.0.0`,"@vitest/ui":`^5.0.0`,eslint:`10.13.0`,"eslint-plugin-sonarjs":`4.2.2`,"eslint-plugin-storybook":`^10.2.17`,"gh-pages":`6.3.0`,globals:`^17.3.0`,"happy-dom":`^21.0.0`,husky:`9.1.7`,leaflet:`1.9.4`,"lint-staged":`17.6.0`,playwright:`^1.57.0`,prettier:`^3.8.1`,semver:`7.8.5`,storybook:`^10.2.17`,"tabulator-tables":`6.6.1`,"tods-competition-factory":`7.19.0`,typescript:`^6.0.2`,vite:`8.3.4`,"vite-plugin-dts":`^5.0.0`,vitest:`^5.0.0`},dependencies:{"@tiptap/core":`^3.22.2`,"@tiptap/extension-color":`^3.22.2`,"@tiptap/extension-highlight":`^3.22.2`,"@tiptap/extension-text-align":`^3.22.2`,"@tiptap/extension-text-style":`^3.22.2`,"@tiptap/extension-youtube":`^3.22.2`,"@tiptap/starter-kit":`^3.22.2`,awesomplete:`1.1.7`,"class-variance-authority":`0.7.1`,classnames:`2.5.1`,d3:`^7.9.0`,dayjs:`1.11.23`,"focus-trap":`^8.0.0`,"timepicker-ui":`^4.1.2`,"tippy.js":`6.3.7`,"vanillajs-datepicker":`1.3.4`},peerDependencies:{"tods-competition-factory":`^7.6.0`,leaflet:`^1.9.4`},peerDependenciesMeta:{leaflet:{optional:!0}}};function lO(){return cO.version}var uO={SET3_S6_TB7:`SET3-S:6/TB7`,SET3_S6_TB7_F_TB10:`SET3-S:6/TB7-F:TB10`,SET3_S6_TB10:`SET3-S:6/TB10`,SET3_S6_F_TB10:`SET3-S:6-F:TB10`,SET3_S6_TB7_NOAD:`SET3-S:6/TB7NOAD`,SET3_S8_TB7:`SET3-S:8/TB7`,SET3_S8_TB7_AT7:`SET3-S:8/TB7@7`,SET3_S4_TB7:`SET3-S:4/TB7`,SET3_S4_TB7_F_TB10:`SET3-S:4/TB7-F:TB10`,SET3_S4_TB5_AT3_F_TB10:`SET3-S:4/TB5@3-F:TB10`,SET5_S6_TB7:`SET5-S:6/TB7`,SET5_S6_TB7_F_TB10:`SET5-S:6/TB7-F:TB10`,SET1_S6_TB7:`SET1-S:6/TB7`,SET1_S6_TB10:`SET1-S:6/TB10`,SET1_S6_TB7_AT5:`SET1-S:6/TB7@5`,SET1_S8_TB7:`SET1-S:8/TB7`,SET1_S4_TB7:`SET1-S:4/TB7`,SET1_S5_TB9_AT4:`SET1-S:5/TB9@4`,SET1_S_TB7:`SET1-S:T7`,SET1_S_TB10:`SET1-S:TB10`,SET1_S_TB21:`SET1-S:T21`,SET1_S8:`SET1-S:8`,SET1_S10:`SET1-S:10`,FAST4:`SET5-S:4/NOAD`,SET3X_T10A_TB1:`SET3XA-S:T10-F:TB1`,SET3X_T10A_TB1_NOAD:`SET3XA-S:T10-F:TB1NOAD`,SET4X_T10A_TB1:`SET4XA-S:T10-F:TB1`};function dO(e,t,n){if(!e)return{elements:{}};let r={};for(let i of t||[]){if(!i?.label||i.hide)continue;let t=document.createElement(`button`);i.id&&(r[i.id]=t,t.id=i.id),t.style.marginRight=`.5em`,t.className=`button font-medium`,i.intent&&t.classList.add(i.intent),t.innerHTML=i.label,i.disabled&&(t.disabled=!0),t.onclick=e=>{e.stopPropagation(),!e.target.disabled&&K(i.onClick)&&i.onClick(),n&&K(n)&&n()},e.appendChild(t)}return{elements:r}}var fO=(e,t)=>n=>n?.trim().length>=e&&(!t||n?.trim().length<=t);function pO(e){return t.tools.isConvertableInteger(e)&&parseInt(e.toString())>=0}var mO=(e,t)=>n=>pO(n)&&Number(n)>=e&&Number(n)<=t,hO=e=>/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?\d)(?=.*?[#?!@$%^&*-]).{8,12}$/.test(e);function gO(e){return t.tools.dateTime.dateValidation.test(e)}var _O=(e,t)=>n=>{let r=(n||``).trim().split(` `).length;return r>=e&&(!t||r<=t)},vO=/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i,yO=e=>vO.exec(e),bO=_({dateValidator:()=>gO,emailValidator:()=>yO,nameValidator:()=>fO,numericRange:()=>mO,numericValidator:()=>pO,passwordValidator:()=>hO,wordValidator:()=>_O});function xO(e){let n=t.tools.makeDeepCopy(e);return{getTournamentRecord:()=>n,mutate:(e,r,i)=>{let a=n.events?.find(e=>e.drawDefinitions?.some(e=>e.drawId===r.drawId)),o=a?.drawDefinitions?.find(e=>e.drawId===r.drawId),s={...r,tournamentRecord:n,drawDefinition:o,event:a},c=t.globalState.getProvider(),l=()=>{throw Error(`Standalone assignment cannot replace tournament state`)},u=()=>{},d={[n.tournamentId]:n};t.globalState.setStateProvider({...c,addNotice:u,callListener:u,deleteNotice:u,deleteNotices:u,disableNotifications:u,enableNotifications:u,setSubscriptions:l,cycleMutationStatus:()=>!1,getTopics:()=>({topics:[]}),getNotices:()=>[],getPayloads:()=>[],getNoticeBuffer:()=>[],setNoticeBuffer:u,getTournamentId:()=>n.tournamentId,getTournamentRecord:e=>d[e],getTournamentRecords:()=>d,setTournamentId:l,setTournamentRecord:l,setTournamentRecords:l,removeTournamentRecord:l});let f;try{f=e===`removeDrawPositionAssignment`?t.drawsGovernor.removeDrawPositionAssignment(s):t.drawsGovernor.assignDrawPosition({...s,bye:e===`assignDrawPositionBye`})}finally{t.globalState.setStateProvider(c)}i(f)}}}var SO=class{constructor({tournamentRecord:e,adapter:t,drawId:n,structureId:r,eventId:i}){if(!t&&!e)throw Error(`DrawStateManager requires a record or adapter`);this.adapter=t??xO(e),this.drawId=n,this.structureId=r,this.eventId=i}setRenderCallback(e){this.renderCallback=e}context(){let e=this.adapter.getTournamentRecord(),t=e?.events?.find(e=>this.eventId?e.eventId===this.eventId:e.drawDefinitions?.some(e=>e.drawId===this.drawId));return{tournamentRecord:e,drawDefinition:t?.drawDefinitions?.find(e=>e.drawId===this.drawId),event:t}}getAllParticipants(){let{tournamentRecord:e,drawDefinition:n,event:r}=this.context();if(!e||!r||!n)return[];let{flightProfile:i}=t.queryGovernor.getFlightProfile({event:r}),a=(i?.flights?.find(e=>e.drawId===this.drawId)?.drawEntries??n.entries??[]).map(e=>e.participantId).filter(e=>!!e);if(!a.length)return[];let{participants:o=[]}=t.queryGovernor.getParticipants({tournamentRecord:e,participantFilters:{participantIds:a}});return o}getAvailableParticipants(){let{drawDefinition:e}=this.context();if(!e)return[];let{assignedParticipantIds:n=[]}=t.queryGovernor.getAssignedParticipantIds({drawDefinition:e}),r=new Set(n);return this.getAllParticipants().filter(e=>!r.has(e.participantId))}request(e,t,n=!0){let r,i=!1;return this.adapter.mutate(e,{...t,drawId:this.drawId,structureId:this.structureId},a=>{i||(i=!0,r=a,a.success&&!a.error&&(e!==`removeDrawPositionAssignment`&&(this.focusDrawPosition=t.drawPosition+1),n&&this.renderCallback?.()))}),r??{pending:!0}}assignParticipant(e){return this.request(`assignDrawPosition`,e)}assignBye(e){return this.request(`assignDrawPositionBye`,e)}assignQualifier(e){return this.request(`assignDrawPosition`,{...e,qualifier:!0})}removeAssignment(e){let t=this.getMatchUps().some(t=>t.sides?.some(t=>t.drawPosition===e.drawPosition&&t.bye));return this.request(`removeDrawPositionAssignment`,e,t)}getAndClearFocusDrawPosition(){let e=this.focusDrawPosition;return this.focusDrawPosition=void 0,e}getMatchUps(){let{tournamentRecord:e,event:n}=this.context();if(!e||!n)return[];let{eventData:r}=t.queryGovernor.getEventData({tournamentRecord:e,event:n}),i=(r?.drawsData?.find(e=>e.drawId===this.drawId))?.structures?.find(e=>e.structureId===this.structureId);return i?.roundMatchUps?Object.values(i.roundMatchUps).flat():[]}getState(){let e=this.adapter.getTournamentRecord();return e&&t.tools.makeDeepCopy(e)}getContext(){return{drawId:this.drawId,structureId:this.structureId}}},CO=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="14" height="14" fill="currentColor"><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"/></svg>`,wO=new WeakMap;function TO(e,t){let n=document.createElement(`div`);n.style.cssText=`position: relative; flex: 1; display: flex; min-width: 0;`,e.style.paddingRight=`28px`,n.appendChild(e);let r=document.createElement(`button`);r.type=`button`,r.setAttribute(`aria-label`,`Clear search`),r.style.cssText=[`position: absolute`,`right: 8px`,`top: 50%`,`transform: translateY(-50%)`,`background: transparent`,`border: 0`,`padding: 2px`,`cursor: pointer`,`display: none`,`align-items: center`,`justify-content: center`,`line-height: 0`,`opacity: 0.55`,`color: currentColor`].join(`; `),r.innerHTML=CO,r.addEventListener(`mouseenter`,()=>r.style.opacity=`0.9`),r.addEventListener(`mouseleave`,()=>r.style.opacity=`0.55`),r.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),t(),i()});let i=()=>{r.style.display=e.value?`inline-flex`:`none`};return e.addEventListener(`keyup`,n=>{n.key===`Escape`&&e.value&&(t(),i())}),e.addEventListener(`input`,i),wO.set(n,i),n.appendChild(r),n}function EO(e){wO.get(e)?.()}function DO(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function OO(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function kO(e){let t,n,r;e.length===2?(t=e===DO||e===OO?e:AO,n=e,r=e):(t=DO,n=(t,n)=>DO(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<0?i=t+1:a=t}while(i<a)}return i}function a(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<=0?i=t+1:a=t}while(i<a)}return i}function o(e,t,n=0,a=e.length){let o=i(e,t,n,a-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function AO(){return 0}function jO(e){return e===null?NaN:+e}var MO=kO(DO),NO=MO.right;MO.left,kO(jO).center;function PO(e,t){let n,r;if(t===void 0)for(let t of e)t!=null&&(n===void 0?t>=t&&(n=r=t):(n>t&&(n=t),r<t&&(r=t)));else{let i=-1;for(let a of e)(a=t(a,++i,e))!=null&&(n===void 0?a>=a&&(n=r=a):(n>a&&(n=a),r<a&&(r=a)))}return[n,r]}var FO=class extends Map{constructor(e,t=zO){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),e!=null)for(let[t,n]of e)this.set(t,n)}get(e){return super.get(IO(this,e))}has(e){return super.has(IO(this,e))}set(e,t){return super.set(LO(this,e),t)}delete(e){return super.delete(RO(this,e))}};function IO({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function LO({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function RO({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function zO(e){return typeof e==`object`&&e?e.valueOf():e}var BO=Math.sqrt(50),VO=Math.sqrt(10),HO=Math.sqrt(2);function UO(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=BO?10:a>=VO?5:a>=HO?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/l<e&&++s,c/l>t&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*l<e&&++s,c*l>t&&--c),c<s&&.5<=n&&n<2?UO(e,t,n*2):[s,c,l]}function WO(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];let r=t<e,[i,a,o]=r?UO(t,e,n):UO(e,t,n);if(!(a>=i))return[];let s=a-i+1,c=Array(s);if(r){if(o<0)for(let e=0;e<s;++e)c[e]=(a-e)/-o;else for(let e=0;e<s;++e)c[e]=(a-e)*o}else if(o<0)for(let e=0;e<s;++e)c[e]=(i+e)/-o;else for(let e=0;e<s;++e)c[e]=(i+e)*o;return c}function GO(e,t,n){return t=+t,e=+e,n=+n,UO(e,t,n)[2]}function KO(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?GO(t,e,n):GO(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function qO(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n<t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function JO(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r<i;)a[r]=e+r*n;return a}function YO(e){return e}var XO=1,ZO=2,QO=3,$O=4,ek=1e-6;function tk(e){return`translate(`+e+`,0)`}function nk(e){return`translate(0,`+e+`)`}function rk(e){return t=>+e(t)}function ik(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function ak(){return!this.__axis}function ok(e,t){var n=[],r=null,i=null,a=6,o=6,s=3,c=typeof window<`u`&&window.devicePixelRatio>1?0:.5,l=e===XO||e===$O?-1:1,u=e===$O||e===ZO?`x`:`y`,d=e===XO||e===QO?tk:nk;function f(f){var p=r??(t.ticks?t.ticks.apply(t,n):t.domain()),m=i??(t.tickFormat?t.tickFormat.apply(t,n):YO),h=Math.max(a,0)+s,g=t.range(),_=+g[0]+c,v=+g[g.length-1]+c,y=(t.bandwidth?ik:rk)(t.copy(),c),b=f.selection?f.selection():f,x=b.selectAll(`.domain`).data([null]),S=b.selectAll(`.tick`).data(p,t).order(),C=S.exit(),w=S.enter().append(`g`).attr(`class`,`tick`),T=S.select(`line`),E=S.select(`text`);x=x.merge(x.enter().insert(`path`,`.tick`).attr(`class`,`domain`).attr(`stroke`,`currentColor`)),S=S.merge(w),T=T.merge(w.append(`line`).attr(`stroke`,`currentColor`).attr(u+`2`,l*a)),E=E.merge(w.append(`text`).attr(`fill`,`currentColor`).attr(u,l*h).attr(`dy`,e===XO?`0em`:e===QO?`0.71em`:`0.32em`)),f!==b&&(x=x.transition(f),S=S.transition(f),T=T.transition(f),E=E.transition(f),C=C.transition(f).attr(`opacity`,ek).attr(`transform`,function(e){return isFinite(e=y(e))?d(e+c):this.getAttribute(`transform`)}),w.attr(`opacity`,ek).attr(`transform`,function(e){var t=this.parentNode.__axis;return d((t&&isFinite(t=t(e))?t:y(e))+c)})),C.remove(),x.attr(`d`,e===$O||e===ZO?o?`M`+l*o+`,`+_+`H`+c+`V`+v+`H`+l*o:`M`+c+`,`+_+`V`+v:o?`M`+_+`,`+l*o+`V`+c+`H`+v+`V`+l*o:`M`+_+`,`+c+`H`+v),S.attr(`opacity`,1).attr(`transform`,function(e){return d(y(e)+c)}),T.attr(u+`2`,l*a),E.attr(u,l*h).text(m),b.filter(ak).attr(`fill`,`none`).attr(`font-size`,10).attr(`font-family`,`sans-serif`).attr(`text-anchor`,e===ZO?`start`:e===$O?`end`:`middle`),b.each(function(){this.__axis=y})}return f.scale=function(e){return arguments.length?(t=e,f):t},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(e){return arguments.length?(n=e==null?[]:Array.from(e),f):n.slice()},f.tickValues=function(e){return arguments.length?(r=e==null?null:Array.from(e),f):r&&r.slice()},f.tickFormat=function(e){return arguments.length?(i=e,f):i},f.tickSize=function(e){return arguments.length?(a=o=+e,f):a},f.tickSizeInner=function(e){return arguments.length?(a=+e,f):a},f.tickSizeOuter=function(e){return arguments.length?(o=+e,f):o},f.tickPadding=function(e){return arguments.length?(s=+e,f):s},f.offset=function(e){return arguments.length?(c=+e,f):c},f}function sk(e){return ok(QO,e)}function ck(e){return ok($O,e)}var lk={value:()=>{}};function uk(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new dk(n)}function dk(e){this._=e}function fk(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}dk.prototype=uk.prototype={constructor:dk,on:function(e,t){var n=this._,r=fk(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=pk(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=mk(n[i],e.name,t);else if(t==null)for(i in n)n[i]=mk(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new dk(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function pk(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function mk(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=lk,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var hk={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function gk(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),hk.hasOwnProperty(t)?{space:hk[t],local:e}:e}function _k(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function vk(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function yk(e){var t=gk(e);return(t.local?vk:_k)(t)}function bk(){}function xk(e){return e==null?bk:function(){return this.querySelector(e)}}function Sk(e){typeof e!=`function`&&(e=xk(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new KA(r,this._parents)}function Ck(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function wk(){return[]}function Tk(e){return e==null?wk:function(){return this.querySelectorAll(e)}}function Ek(e){return function(){return Ck(e.apply(this,arguments))}}function Dk(e){e=typeof e==`function`?Ek(e):Tk(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new KA(r,i)}function Ok(e){return function(){return this.matches(e)}}function kk(e){return function(t){return t.matches(e)}}var Ak=Array.prototype.find;function jk(e){return function(){return Ak.call(this.children,e)}}function Mk(){return this.firstElementChild}function Nk(e){return this.select(e==null?Mk:jk(typeof e==`function`?e:kk(e)))}var Pk=Array.prototype.filter;function Fk(){return Array.from(this.children)}function Ik(e){return function(){return Pk.call(this.children,e)}}function Lk(e){return this.selectAll(e==null?Fk:Ik(typeof e==`function`?e:kk(e)))}function Rk(e){typeof e!=`function`&&(e=Ok(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new KA(r,this._parents)}function zk(e){return Array(e.length)}function Bk(){return new KA(this._enter||this._groups.map(zk),this._parents)}function Vk(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Vk.prototype={constructor:Vk,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Hk(e){return function(){return e}}function Uk(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new Vk(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function Wk(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new Vk(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function Gk(e){return e.__data__}function Kk(e,t){if(!arguments.length)return Array.from(this,Gk);var n=t?Wk:Uk,r=this._parents,i=this._groups;typeof e!=`function`&&(e=Hk(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=qk(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new KA(o,r),o._enter=s,o._exit=c,o}function qk(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function Jk(){return new KA(this._exit||this._groups.map(zk),this._parents)}function Yk(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function Xk(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new KA(s,this._parents)}function Zk(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function Qk(e){e||=$k;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new KA(i,this._parents).order()}function $k(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function eA(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function tA(){return Array.from(this)}function nA(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function rA(){let e=0;for(let t of this)++e;return e}function iA(){return!this.node()}function aA(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function oA(e){return function(){this.removeAttribute(e)}}function sA(e){return function(){this.removeAttributeNS(e.space,e.local)}}function cA(e,t){return function(){this.setAttribute(e,t)}}function lA(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function uA(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function dA(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function fA(e,t){var n=gk(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?sA:oA:typeof t==`function`?n.local?dA:uA:n.local?lA:cA)(n,t))}function pA(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function mA(e){return function(){this.style.removeProperty(e)}}function hA(e,t,n){return function(){this.style.setProperty(e,t,n)}}function gA(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function _A(e,t,n){return arguments.length>1?this.each((t==null?mA:typeof t==`function`?gA:hA)(e,t,n??``)):vA(this.node(),e)}function vA(e,t){return e.style.getPropertyValue(t)||pA(e).getComputedStyle(e,null).getPropertyValue(t)}function yA(e){return function(){delete this[e]}}function bA(e,t){return function(){this[e]=t}}function xA(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function SA(e,t){return arguments.length>1?this.each((t==null?yA:typeof t==`function`?xA:bA)(e,t)):this.node()[e]}function CA(e){return e.trim().split(/^|\s+/)}function wA(e){return e.classList||new TA(e)}function TA(e){this._node=e,this._names=CA(e.getAttribute(`class`)||``)}TA.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(e){return this._names.indexOf(e)>=0}};function EA(e,t){for(var n=wA(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function DA(e,t){for(var n=wA(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function OA(e){return function(){EA(this,e)}}function kA(e){return function(){DA(this,e)}}function AA(e,t){return function(){(t.apply(this,arguments)?EA:DA)(this,e)}}function jA(e,t){var n=CA(e+``);if(arguments.length<2){for(var r=wA(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?AA:t?OA:kA)(n,t))}function MA(){this.textContent=``}function NA(e){return function(){this.textContent=e}}function PA(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function FA(e){return arguments.length?this.each(e==null?MA:(typeof e==`function`?PA:NA)(e)):this.node().textContent}function IA(){this.innerHTML=``}function LA(e){return function(){this.innerHTML=e}}function RA(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function zA(e){return arguments.length?this.each(e==null?IA:(typeof e==`function`?RA:LA)(e)):this.node().innerHTML}function BA(){this.nextSibling&&this.parentNode.appendChild(this)}function VA(){return this.each(BA)}function HA(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function UA(){return this.each(HA)}function cee(e){var t=typeof e==`function`?e:yk(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function lee(){return null}function uee(e,t){var n=typeof e==`function`?e:yk(e),r=t==null?lee:typeof t==`function`?t:xk(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function dee(){var e=this.parentNode;e&&e.removeChild(this)}function fee(){return this.each(dee)}function pee(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function mee(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function hee(e){return this.select(e?mee:pee)}function gee(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function _ee(e){return function(t){e.call(this,t,this.__data__)}}function vee(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function yee(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function bee(e,t,n){return function(){var r=this.__on,i,a=_ee(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function xee(e,t,n){var r=vee(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?bee:yee,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function WA(e,t,n){var r=pA(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function See(e,t){return function(){return WA(this,e,t)}}function Cee(e,t){return function(){return WA(this,e,t.apply(this,arguments))}}function wee(e,t){return this.each((typeof t==`function`?Cee:See)(e,t))}function*Tee(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var GA=[null];function KA(e,t){this._groups=e,this._parents=t}function qA(){return new KA([[document.documentElement]],GA)}function Eee(){return this}KA.prototype=qA.prototype={constructor:KA,select:Sk,selectAll:Dk,selectChild:Nk,selectChildren:Lk,filter:Rk,data:Kk,enter:Bk,exit:Jk,join:Yk,merge:Xk,selection:Eee,order:Zk,sort:Qk,call:eA,nodes:tA,node:nA,size:rA,empty:iA,each:aA,attr:fA,style:_A,property:SA,classed:jA,text:FA,html:zA,raise:VA,lower:UA,append:cee,insert:uee,remove:fee,clone:hee,datum:gee,on:xee,dispatch:wee,[Symbol.iterator]:Tee};function JA(e){return typeof e==`string`?new KA([[document.querySelector(e)]],[document.documentElement]):new KA([[e]],GA)}function YA(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function XA(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function ZA(){}var QA=.7,$A=1/QA,ej=`\\s*([+-]?\\d+)\\s*`,tj=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,nj=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,rj=/^#([0-9a-f]{3,8})$/,ij=RegExp(`^rgb\\(${ej},${ej},${ej}\\)$`),aj=RegExp(`^rgb\\(${nj},${nj},${nj}\\)$`),oj=RegExp(`^rgba\\(${ej},${ej},${ej},${tj}\\)$`),sj=RegExp(`^rgba\\(${nj},${nj},${nj},${tj}\\)$`),cj=RegExp(`^hsl\\(${tj},${nj},${nj}\\)$`),lj=RegExp(`^hsla\\(${tj},${nj},${nj},${tj}\\)$`),uj={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};YA(ZA,hj,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:dj,formatHex:dj,formatHex8:fj,formatHsl:pj,formatRgb:mj,toString:mj});function dj(){return this.rgb().formatHex()}function fj(){return this.rgb().formatHex8()}function pj(){return Oj(this).formatHsl()}function mj(){return this.rgb().formatRgb()}function hj(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=rj.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?gj(t):n===3?new bj(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?_j(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?_j(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=ij.exec(e))?new bj(t[1],t[2],t[3],1):(t=aj.exec(e))?new bj(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=oj.exec(e))?_j(t[1],t[2],t[3],t[4]):(t=sj.exec(e))?_j(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=cj.exec(e))?Dj(t[1],t[2]/100,t[3]/100,1):(t=lj.exec(e))?Dj(t[1],t[2]/100,t[3]/100,t[4]):uj.hasOwnProperty(e)?gj(uj[e]):e===`transparent`?new bj(NaN,NaN,NaN,0):null}function gj(e){return new bj(e>>16&255,e>>8&255,e&255,1)}function _j(e,t,n,r){return r<=0&&(e=t=n=NaN),new bj(e,t,n,r)}function vj(e){return e instanceof ZA||(e=hj(e)),e?(e=e.rgb(),new bj(e.r,e.g,e.b,e.opacity)):new bj}function yj(e,t,n,r){return arguments.length===1?vj(e):new bj(e,t,n,r??1)}function bj(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}YA(bj,yj,XA(ZA,{brighter(e){return e=e==null?$A:$A**+e,new bj(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?QA:QA**+e,new bj(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new bj(Tj(this.r),Tj(this.g),Tj(this.b),wj(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:xj,formatHex:xj,formatHex8:Sj,formatRgb:Cj,toString:Cj}));function xj(){return`#${Ej(this.r)}${Ej(this.g)}${Ej(this.b)}`}function Sj(){return`#${Ej(this.r)}${Ej(this.g)}${Ej(this.b)}${Ej((isNaN(this.opacity)?1:this.opacity)*255)}`}function Cj(){let e=wj(this.opacity);return`${e===1?`rgb(`:`rgba(`}${Tj(this.r)}, ${Tj(this.g)}, ${Tj(this.b)}${e===1?`)`:`, ${e})`}`}function wj(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Tj(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Ej(e){return e=Tj(e),(e<16?`0`:``)+e.toString(16)}function Dj(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Aj(e,t,n,r)}function Oj(e){if(e instanceof Aj)return new Aj(e.h,e.s,e.l,e.opacity);if(e instanceof ZA||(e=hj(e)),!e)return new Aj;if(e instanceof Aj)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new Aj(o,s,c,e.opacity)}function kj(e,t,n,r){return arguments.length===1?Oj(e):new Aj(e,t,n,r??1)}function Aj(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}YA(Aj,kj,XA(ZA,{brighter(e){return e=e==null?$A:$A**+e,new Aj(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?QA:QA**+e,new Aj(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new bj(Nj(e>=240?e-240:e+120,i,r),Nj(e,i,r),Nj(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Aj(jj(this.h),Mj(this.s),Mj(this.l),wj(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=wj(this.opacity);return`${e===1?`hsl(`:`hsla(`}${jj(this.h)}, ${Mj(this.s)*100}%, ${Mj(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function jj(e){return e=(e||0)%360,e<0?e+360:e}function Mj(e){return Math.max(0,Math.min(1,e||0))}function Nj(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var Pj=e=>()=>e;function Fj(e,t){return function(n){return e+n*t}}function Ij(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function Lj(e){return(e=+e)==1?Rj:function(t,n){return n-t?Ij(t,n,e):Pj(isNaN(t)?n:t)}}function Rj(e,t){var n=t-e;return n?Fj(e,n):Pj(isNaN(e)?t:e)}var zj=(function e(t){var n=Lj(t);function r(e,t){var r=n((e=yj(e)).r,(t=yj(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Rj(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function Bj(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function Vj(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Hj(e,t){for(var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o=0;o<r;++o)i[o]=Zj(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function Uj(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function Wj(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Gj(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=Zj(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var Kj=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,qj=new RegExp(Kj.source,`g`);function Jj(e){return function(){return e}}function Yj(e){return function(t){return e(t)+``}}function Xj(e,t){var n=Kj.lastIndex=qj.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Kj.exec(e))&&(i=qj.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:Wj(r,i)})),n=qj.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?Yj(c[0].x):Jj(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function Zj(e,t){var n=typeof t,r;return t==null||n===`boolean`?Pj(t):(n===`number`?Wj:n===`string`?(r=hj(t))?(t=r,zj):Xj:t instanceof hj?zj:t instanceof Date?Uj:Vj(t)?Bj:Array.isArray(t)?Hj:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?Gj:Wj)(e,t)}function Qj(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var $j=180/Math.PI,eM={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function tM(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*$j,skewX:Math.atan(c)*$j,scaleX:o,scaleY:s}}var nM;function rM(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?eM:tM(t.a,t.b,t.c,t.d,t.e,t.f)}function iM(e){return e==null||(nM||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),nM.setAttribute(`transform`,e),!(e=nM.transform.baseVal.consolidate()))?eM:(e=e.matrix,tM(e.a,e.b,e.c,e.d,e.e,e.f))}function aM(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:Wj(e,i)},{i:c-2,x:Wj(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:Wj(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:Wj(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:Wj(e,n)},{i:s-2,x:Wj(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var oM=aM(rM,`px, `,`px)`,`deg)`),sM=aM(iM,`, `,`)`,`)`),cM=0,lM=0,uM=0,dM=1e3,fM,pM,mM=0,hM=0,gM=0,_M=typeof performance==`object`&&performance.now?performance:Date,vM=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function yM(){return hM||=(vM(bM),_M.now()+gM)}function bM(){hM=0}function xM(){this._call=this._time=this._next=null}xM.prototype=SM.prototype={constructor:xM,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?yM():+n)+(t==null?0:+t),!this._next&&pM!==this&&(pM?pM._next=this:fM=this,pM=this),this._call=e,this._time=n,DM()},stop:function(){this._call&&(this._call=null,this._time=1/0,DM())}};function SM(e,t,n){var r=new xM;return r.restart(e,t,n),r}function CM(){yM(),++cM;for(var e=fM,t;e;)(t=hM-e._time)>=0&&e._call.call(void 0,t),e=e._next;--cM}function wM(){hM=(mM=_M.now())+gM,cM=lM=0;try{CM()}finally{cM=0,EM(),hM=0}}function TM(){var e=_M.now(),t=e-mM;t>dM&&(gM-=t,mM=e)}function EM(){for(var e,t=fM,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:fM=n);pM=e,DM(r)}function DM(e){cM||(lM&&=clearTimeout(lM),e-hM>24?(e<1/0&&(lM=setTimeout(wM,e-_M.now()-gM)),uM&&=clearInterval(uM)):(uM||=(mM=_M.now(),setInterval(TM,dM)),cM=1,vM(wM)))}function OM(e,t,n){var r=new xM;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var kM=uk(`start`,`end`,`cancel`,`interrupt`),AM=[];function jM(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;FM(e,n,{name:t,index:r,group:i,on:kM,tween:AM,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function MM(e,t){var n=PM(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function NM(e,t){var n=PM(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function PM(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function FM(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=SM(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return OM(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(OM(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function IM(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function LM(e){return this.each(function(){IM(this,e)})}function RM(e,t){var n,r;return function(){var i=NM(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function zM(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=NM(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function BM(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=PM(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?RM:zM)(n,e,t))}function VM(e,t,n){var r=e._id;return e.each(function(){var e=NM(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return PM(e,r).value[t]}}function HM(e,t){var n;return(typeof t==`number`?Wj:t instanceof hj?zj:(n=hj(t))?(t=n,zj):Xj)(e,t)}function UM(e){return function(){this.removeAttribute(e)}}function WM(e){return function(){this.removeAttributeNS(e.space,e.local)}}function GM(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function KM(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function qM(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function JM(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function YM(e,t){var n=gk(e),r=n===`transform`?sM:HM;return this.attrTween(e,typeof t==`function`?(n.local?JM:qM)(n,r,VM(this,`attr.`+e,t)):t==null?(n.local?WM:UM)(n):(n.local?KM:GM)(n,r,t))}function XM(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function ZM(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function QM(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&ZM(e,i)),n}return i._value=t,i}function $M(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&XM(e,i)),n}return i._value=t,i}function eN(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=gk(e);return this.tween(n,(r.local?QM:$M)(r,t))}function tN(e,t){return function(){MM(this,e).delay=+t.apply(this,arguments)}}function nN(e,t){return t=+t,function(){MM(this,e).delay=t}}function rN(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?tN:nN)(t,e)):PM(this.node(),t).delay}function iN(e,t){return function(){NM(this,e).duration=+t.apply(this,arguments)}}function aN(e,t){return t=+t,function(){NM(this,e).duration=t}}function oN(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?iN:aN)(t,e)):PM(this.node(),t).duration}function sN(e,t){if(typeof t!=`function`)throw Error();return function(){NM(this,e).ease=t}}function cN(e){var t=this._id;return arguments.length?this.each(sN(t,e)):PM(this.node(),t).ease}function lN(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();NM(this,e).ease=n}}function uN(e){if(typeof e!=`function`)throw Error();return this.each(lN(this._id,e))}function dN(e){typeof e!=`function`&&(e=Ok(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new BN(r,this._parents,this._name,this._id)}function fN(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new BN(o,this._parents,this._name,this._id)}function pN(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function mN(e,t,n){var r,i,a=pN(t)?MM:NM;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function hN(e,t){var n=this._id;return arguments.length<2?PM(this.node(),n).on.on(e):this.each(mN(n,e,t))}function gN(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function _N(){return this.on(`end.remove`,gN(this._id))}function vN(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=xk(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,jM(l[f],t,n,f,l,PM(u,n)));return new BN(a,this._parents,t,n)}function yN(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Tk(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=PM(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&jM(p,t,n,h,f,m);a.push(f),o.push(u)}return new BN(a,o,t,n)}var bN=qA.prototype.constructor;function xN(){return new bN(this._groups,this._parents)}function SN(e,t){var n,r,i;return function(){var a=vA(this,e),o=(this.style.removeProperty(e),vA(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function CN(e){return function(){this.style.removeProperty(e)}}function wN(e,t,n){var r,i=n+``,a;return function(){var o=vA(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function TN(e,t,n){var r,i,a;return function(){var o=vA(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),vA(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function EN(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=NM(this,e),l=c.on,u=c.value[a]==null?s||=CN(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function DN(e,t,n){var r=(e+=``)==`transform`?oM:HM;return t==null?this.styleTween(e,SN(e,r)).on(`end.style.`+e,CN(e)):typeof t==`function`?this.styleTween(e,TN(e,r,VM(this,`style.`+e,t))).each(EN(this._id,e)):this.styleTween(e,wN(e,r,t),n).on(`end.style.`+e,null)}function ON(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function kN(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&ON(e,a,n)),r}return a._value=t,a}function AN(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,kN(e,t,n??``))}function jN(e){return function(){this.textContent=e}}function MN(e){return function(){var t=e(this);this.textContent=t??``}}function NN(e){return this.tween(`text`,typeof e==`function`?MN(VM(this,`text`,e)):jN(e==null?``:e+``))}function PN(e){return function(t){this.textContent=e.call(this,t)}}function FN(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&PN(r)),t}return r._value=e,r}function IN(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,FN(e))}function LN(){for(var e=this._name,t=this._id,n=VN(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=PM(c,t);jM(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new BN(r,this._parents,e,n)}function RN(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=NM(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var zN=0;function BN(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function VN(){return++zN}var HN=qA.prototype;BN.prototype={constructor:BN,select:vN,selectAll:yN,selectChild:HN.selectChild,selectChildren:HN.selectChildren,filter:dN,merge:fN,selection:xN,transition:LN,call:HN.call,nodes:HN.nodes,node:HN.node,size:HN.size,empty:HN.empty,each:HN.each,on:hN,attr:YM,attrTween:eN,style:DN,styleTween:AN,text:NN,textTween:IN,remove:_N,tween:BM,delay:rN,duration:oN,ease:cN,easeVarying:uN,end:RN,[Symbol.iterator]:HN[Symbol.iterator]};function UN(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var WN={time:null,delay:0,duration:250,ease:UN};function GN(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function KN(e){var t,n;e instanceof BN?(t=e._id,e=e._name):(t=VN(),(n=WN).time=yM(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&jM(c,e,t,l,o,n||GN(c,t));return new BN(r,this._parents,e,t)}qA.prototype.interrupt=LM,qA.prototype.transition=KN;var{abs:Dee,max:Oee,min:kee}=Math;[`w`,`e`].map(qN),[`n`,`s`].map(qN),[`n`,`w`,`e`,`s`,`nw`,`ne`,`sw`,`se`].map(qN);function qN(e){return{type:e}}var JN=Math.PI,YN=2*JN,XN=1e-6,ZN=YN-XN;function QN(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function $N(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return QN;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var eP=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?QN:$N(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>XN){if(!(Math.abs(u*s-c*l)>XN)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((JN-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>XN&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>XN||Math.abs(this._y1-l)>XN)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%YN+YN),d>ZN?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>XN&&this._append`A${n},${n},0,${+(d>=JN)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};eP.prototype;function tP(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function nP(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function rP(e){return e=nP(Math.abs(e)),e?e[1]:NaN}function iP(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function aP(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var oP=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function sP(e){if(!(t=oP.exec(e)))throw Error(`invalid format: `+e);var t;return new cP({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}sP.prototype=cP.prototype;function cP(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}cP.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?`0`:``)+(this.width===void 0?``:Math.max(1,this.width|0))+(this.comma?`,`:``)+(this.precision===void 0?``:`.`+Math.max(0,this.precision|0))+(this.trim?`~`:``)+this.type};function lP(e){out:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case`.`:r=i=n;break;case`0`:r===0&&(r=n),i=n;break;default:if(!+e[n])break out;r>0&&(r=0)}return r>0?e.slice(0,r)+e.slice(i+1):e}var uP;function dP(e,t){var n=nP(e,t);if(!n)return uP=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(uP=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+nP(e,Math.max(0,t+a-1))[0]}function fP(e,t){var n=nP(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var pP={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:tP,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>fP(e*100,t),r:fP,s:dP,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function mP(e){return e}var hP=Array.prototype.map,gP=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function _P(e){var t=e.grouping===void 0||e.thousands===void 0?mP:iP(hP.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?mP:aP(hP.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=sP(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):pP[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),S=pP[y],C=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function w(e){var n=b,r=x,o,l,p;if(y===`c`)r=S(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:S(Math.abs(e),_),v&&(e=lP(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&uP!==void 0?gP[8+uP/3]:``)+r+(w&&f===`(`?`)`:``),C){for(o=-1,l=e.length;++o<l;)if(p=e.charCodeAt(o),48>p||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var T=n.length+e.length+r.length,E=T<h?Array(h-T+1).join(u):``;switch(g&&m&&(e=t(E+e,E.length?h-r.length:1/0),E=``),d){case`<`:e=n+e+r+E;break;case`=`:e=n+E+e+r;break;case`^`:e=E.slice(0,T=E.length>>1)+n+e+r+E.slice(T);break;default:e=E+n+e+r}return a(e)}return w.toString=function(){return e+``},w}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(rP(t)/3)))*3,r=10**-n,i=l((e=sP(e),e.type=`f`,e),{suffix:gP[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var vP,yP,bP;xP({thousands:`,`,grouping:[3],currency:[`$`,``]});function xP(e){return vP=_P(e),yP=vP.format,bP=vP.formatPrefix,vP}function SP(e){return Math.max(0,-rP(Math.abs(e)))}function CP(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(rP(t)/3)))*3-rP(Math.abs(e)))}function wP(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,rP(t)-rP(e))+1}function TP(e){var t=0,n=e.children,r=n&&n.length;if(!r)t=1;else for(;--r>=0;)t+=n[r].value;e.value=t}function EP(){return this.eachAfter(TP)}function DP(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this}function OP(e,t){for(var n=this,r=[n],i,a,o=-1;n=r.pop();)if(e.call(t,n,++o,this),i=n.children)for(a=i.length-1;a>=0;--a)r.push(i[a]);return this}function kP(e,t){for(var n=this,r=[n],i=[],a,o,s,c=-1;n=r.pop();)if(i.push(n),a=n.children)for(o=0,s=a.length;o<s;++o)r.push(a[o]);for(;n=i.pop();)e.call(t,n,++c,this);return this}function AP(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r}function jP(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})}function MP(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function NP(e){for(var t=this,n=PP(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r}function PP(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}function FP(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function IP(){return Array.from(this)}function LP(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function RP(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*zP(){var e=this,t,n=[e],r,i,a;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,a=r.length;i<a;++i)n.push(r[i]);while(n.length)}function BP(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=UP)):t===void 0&&(t=HP);for(var n=new KP(e),r,i=[n],a,o,s,c;r=i.pop();)if((o=t(r.data))&&(c=(o=Array.from(o)).length))for(r.children=o,s=c-1;s>=0;--s)i.push(a=o[s]=new KP(o[s])),a.parent=r,a.depth=r.depth+1;return n.eachBefore(GP)}function VP(){return BP(this).eachBefore(WP)}function HP(e){return e.children}function UP(e){return Array.isArray(e)?e[1]:null}function WP(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function GP(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function KP(e){this.data=e,this.depth=this.height=0,this.parent=null}KP.prototype=BP.prototype={constructor:KP,count:EP,each:DP,eachAfter:kP,eachBefore:OP,find:AP,sum:jP,sort:MP,path:NP,ancestors:FP,descendants:IP,leaves:LP,links:RP,copy:VP,[Symbol.iterator]:zP};function qP(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function JP(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(r-t)/e.value;++s<c;)o=a[s],o.y0=n,o.y1=i,o.x0=t,o.x1=t+=o.value*l}function YP(){var e=1,t=1,n=0,r=!1;function i(i){var o=i.height+1;return i.x0=i.y0=n,i.x1=e,i.y1=t/o,i.eachBefore(a(t,o)),r&&i.eachBefore(qP),i}function a(e,t){return function(r){r.children&&JP(r,r.x0,e*(r.depth+1)/t,r.x1,e*(r.depth+2)/t);var i=r.x0,a=r.y0,o=r.x1-n,s=r.y1-n;o<i&&(i=o=(i+o)/2),s<a&&(a=s=(a+s)/2),r.x0=i,r.y0=a,r.x1=o,r.y1=s}}return i.round=function(e){return arguments.length?(r=!!e,i):r},i.size=function(n){return arguments.length?(e=+n[0],t=+n[1],i):[e,t]},i.padding=function(e){return arguments.length?(n=+e,i):n},i}function XP(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}var ZP=Symbol(`implicit`);function QP(){var e=new FO,t=[],n=[],r=ZP;function i(i){let a=e.get(i);if(a===void 0){if(r!==ZP)return r;e.set(i,a=t.push(i)-1)}return n[a%n.length]}return i.domain=function(n){if(!arguments.length)return t.slice();t=[],e=new FO;for(let r of n)e.has(r)||e.set(r,t.push(r)-1);return i},i.range=function(e){return arguments.length?(n=Array.from(e),i):n.slice()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return QP(t,n).unknown(r)},XP.apply(i,arguments),i}function $P(){var e=QP().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,a,o,s=!1,c=0,l=0,u=.5;delete e.unknown;function d(){var e=t().length,d=i<r,f=d?i:r,p=d?r:i;a=(p-f)/Math.max(1,e-c+l*2),s&&(a=Math.floor(a)),f+=(p-f-a*(e-c))*u,o=a*(1-c),s&&(f=Math.round(f),o=Math.round(o));var m=JO(e).map(function(e){return f+a*e});return n(d?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),d()):t()},e.range=function(e){return arguments.length?([r,i]=e,r=+r,i=+i,d()):[r,i]},e.rangeRound=function(e){return[r,i]=e,r=+r,i=+i,s=!0,d()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(e){return arguments.length?(s=!!e,d()):s},e.padding=function(e){return arguments.length?(c=Math.min(1,l=+e),d()):c},e.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),d()):c},e.paddingOuter=function(e){return arguments.length?(l=+e,d()):l},e.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),d()):u},e.copy=function(){return $P(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},XP.apply(d(),arguments)}function eF(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return eF(t())},e}function tF(){return eF($P.apply(null,arguments).paddingInner(1))}function nF(e){return function(){return e}}function rF(e){return+e}var iF=[0,1];function aF(e){return e}function oF(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:nF(isNaN(t)?NaN:.5)}function sF(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function cF(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=oF(i,r),a=n(o,a)):(r=oF(r,i),a=n(a,o)),function(e){return a(r(e))}}function lF(e,t,n){var r=Math.min(e.length,t.length)-1,i=Array(r),a=Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)i[o]=oF(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=NO(e,t,1,r)-1;return a[n](i[n](t))}}function uF(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function dF(){var e=iF,t=iF,n=Zj,r,i,a,o=aF,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==aF&&(o=sF(e[0],e[n-1])),s=n>2?lF:cF,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),Wj))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,rF),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=Qj,u()},d.clamp=function(e){return arguments.length?(o=e?!0:aF,u()):o!==aF},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function fF(){return dF()(aF,aF)}function pF(e,t,n,r){var i=KO(e,t,n),a;switch(r=sP(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=CP(i,o))&&(r.precision=a),bP(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=wP(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=SP(i))&&(r.precision=a-(r.type===`%`)*2)}return yP(r)}function mF(e){var t=e.domain;return e.ticks=function(e){var n=t();return WO(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return pF(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s<o&&(l=o,o=s,s=l,l=i,i=a,a=l);u-->0;){if(l=GO(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function hF(){var e=fF();return e.copy=function(){return uF(e,hF())},XP.apply(e,arguments),mF(e)}function gF(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],o;return a<i&&(o=n,n=r,r=o,o=i,i=a,a=o),e[n]=t.floor(i),e[r]=t.ceil(a),e}var _F=new Date,vF=new Date;function yF(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t<n-e?t:n},i.offset=(e,n)=>(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n<r)||!(a>0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(s<n&&n<r);return o},i.filter=n=>yF(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e){if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}}),n&&(i.count=(t,r)=>(_F.setTime(+t),vF.setTime(+r),e(_F),e(vF),Math.floor(n(_F,vF))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var bF=yF(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);bF.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?yF(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):bF),bF.range;var xF=1e3,SF=xF*60,CF=SF*60,wF=CF*24,TF=wF*7,EF=wF*30,DF=wF*365,OF=yF(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*xF)},(e,t)=>(t-e)/xF,e=>e.getUTCSeconds());OF.range;var kF=yF(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*xF)},(e,t)=>{e.setTime(+e+t*SF)},(e,t)=>(t-e)/SF,e=>e.getMinutes());kF.range;var AF=yF(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*SF)},(e,t)=>(t-e)/SF,e=>e.getUTCMinutes());AF.range;var jF=yF(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*xF-e.getMinutes()*SF)},(e,t)=>{e.setTime(+e+t*CF)},(e,t)=>(t-e)/CF,e=>e.getHours());jF.range;var MF=yF(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*CF)},(e,t)=>(t-e)/CF,e=>e.getUTCHours());MF.range;var NF=yF(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*SF)/wF,e=>e.getDate()-1);NF.range;var PF=yF(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/wF,e=>e.getUTCDate()-1);PF.range;var FF=yF(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/wF,e=>Math.floor(e/wF));FF.range;function IF(e){return yF(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*SF)/TF)}var LF=IF(0),RF=IF(1),zF=IF(2),BF=IF(3),VF=IF(4),HF=IF(5),UF=IF(6);LF.range,RF.range,zF.range,BF.range,VF.range,HF.range,UF.range;function WF(e){return yF(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/TF)}var GF=WF(0),KF=WF(1),qF=WF(2),JF=WF(3),YF=WF(4),XF=WF(5),ZF=WF(6);GF.range,KF.range,qF.range,JF.range,YF.range,XF.range,ZF.range;var QF=yF(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());QF.range;var $F=yF(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());$F.range;var eI=yF(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());eI.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:yF(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),eI.range;var tI=yF(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());tI.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:yF(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),tI.range;function nI(e,t,n,r,i,a){let o=[[OF,1,xF],[OF,5,5*xF],[OF,15,15*xF],[OF,30,30*xF],[a,1,SF],[a,5,5*SF],[a,15,15*SF],[a,30,30*SF],[i,1,CF],[i,3,3*CF],[i,6,6*CF],[i,12,12*CF],[r,1,wF],[r,2,2*wF],[n,1,TF],[t,1,EF],[t,3,3*EF],[e,1,DF]];function s(e,t,n){let r=t<e;r&&([e,t]=[t,e]);let i=n&&typeof n.range==`function`?n:c(e,t,n),a=i?i.range(e,+t+1):[];return r?a.reverse():a}function c(t,n,r){let i=Math.abs(n-t)/r,a=kO(([,,e])=>e).right(o,i);if(a===o.length)return e.every(KO(t/DF,n/DF,r));if(a===0)return bF.every(Math.max(KO(t,n,r),1));let[s,c]=o[i/o[a-1][2]<o[a][2]/i?a-1:a];return s.every(c)}return[s,c]}var[Aee,jee]=nI(tI,$F,GF,FF,MF,AF),[rI,iI]=nI(eI,QF,LF,NF,jF,kF);function aI(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function oI(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function sI(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function cI(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,a=e.days,o=e.shortDays,s=e.months,c=e.shortMonths,l=mI(i),u=hI(i),d=mI(a),f=hI(a),p=mI(o),m=hI(o),h=mI(s),g=hI(s),_=mI(c),v=hI(c),y={a:N,A:P,b:F,B:I,c:null,d:II,e:II,f:VI,g:QI,G:eL,H:LI,I:RI,j:zI,L:BI,m:HI,M:UI,p:L,q:R,Q:CL,s:wL,S:WI,u:GI,U:KI,V:JI,w:YI,W:XI,x:null,X:null,y:ZI,Y:$I,Z:tL,"%":SL},b={a:z,A:B,b:V,B:H,c:null,d:nL,e:nL,f:sL,g:vL,G:bL,H:rL,I:iL,j:aL,L:oL,m:cL,M:lL,p:ee,q:U,Q:CL,s:wL,S:uL,u:dL,U:fL,V:mL,w:hL,W:gL,x:null,X:null,y:_L,Y:yL,Z:xL,"%":SL},x={a:E,A:D,b:O,B:k,c:A,d:EI,e:EI,f:MI,g:SI,G:xI,H:OI,I:OI,j:DI,L:jI,m:TI,M:kI,p:T,q:wI,Q:PI,s:FI,S:AI,u:_I,U:vI,V:yI,w:gI,W:bI,x:j,X:M,y:SI,Y:xI,Z:CI,"%":NI};y.x=S(n,y),y.X=S(r,y),y.c=S(t,y),b.x=S(n,b),b.X=S(r,b),b.c=S(t,b);function S(e,t){return function(n){var r=[],i=-1,a=0,o=e.length,s,c,l;for(n instanceof Date||(n=new Date(+n));++i<o;)e.charCodeAt(i)===37&&(r.push(e.slice(a,i)),(c=lI[s=e.charAt(++i)])==null?c=s===`e`?` `:`0`:s=e.charAt(++i),(l=t[s])&&(s=l(n,c)),r.push(s),a=i+1);return r.push(e.slice(a,i)),r.join(``)}}function C(e,t){return function(n){var r=sI(1900,void 0,1),i=w(r,e,n+=``,0),a,o;if(i!=n.length)return null;if(`Q`in r)return new Date(r.Q);if(`s`in r)return new Date(r.s*1e3+(`L`in r?r.L:0));if(t&&!(`Z`in r)&&(r.Z=0),`p`in r&&(r.H=r.H%12+r.p*12),r.m===void 0&&(r.m=`q`in r?r.q:0),`V`in r){if(r.V<1||r.V>53)return null;`w`in r||(r.w=1),`Z`in r?(a=oI(sI(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?KF.ceil(a):KF(a),a=PF.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=aI(sI(r.y,0,1)),o=a.getDay(),a=o>4||o===0?RF.ceil(a):RF(a),a=NF.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.getDate()+(r.w+6)%7)}else(`W`in r||`U`in r)&&(`w`in r||(r.w=`u`in r?r.u%7:+(`W`in r)),o=`Z`in r?oI(sI(r.y,0,1)).getUTCDay():aI(sI(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,oI(r)):aI(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i<a;){if(r>=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in lI?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function A(e,n,r){return w(e,t,n,r)}function j(e,t,r){return w(e,n,t,r)}function M(e,t,n){return w(e,r,t,n)}function N(e){return o[e.getDay()]}function P(e){return a[e.getDay()]}function F(e){return c[e.getMonth()]}function I(e){return s[e.getMonth()]}function L(e){return i[+(e.getHours()>=12)]}function R(e){return 1+~~(e.getMonth()/3)}function z(e){return o[e.getUTCDay()]}function B(e){return a[e.getUTCDay()]}function V(e){return c[e.getUTCMonth()]}function H(e){return s[e.getUTCMonth()]}function ee(e){return i[+(e.getUTCHours()>=12)]}function U(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var lI={"-":``,_:` `,0:`0`},uI=/^\s*\d+/,dI=/^%/,fI=/[\\^$*+?|[\]().{}]/g;function Z(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a<n?Array(n-a+1).join(t)+i:i)}function pI(e){return e.replace(fI,`\\$&`)}function mI(e){return RegExp(`^(?:`+e.map(pI).join(`|`)+`)`,`i`)}function hI(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function gI(e,t,n){var r=uI.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function _I(e,t,n){var r=uI.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function vI(e,t,n){var r=uI.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function yI(e,t,n){var r=uI.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function bI(e,t,n){var r=uI.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function xI(e,t,n){var r=uI.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function SI(e,t,n){var r=uI.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function CI(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function wI(e,t,n){var r=uI.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function TI(e,t,n){var r=uI.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function EI(e,t,n){var r=uI.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function DI(e,t,n){var r=uI.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function OI(e,t,n){var r=uI.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function kI(e,t,n){var r=uI.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function AI(e,t,n){var r=uI.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function jI(e,t,n){var r=uI.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function MI(e,t,n){var r=uI.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function NI(e,t,n){var r=dI.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function PI(e,t,n){var r=uI.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function FI(e,t,n){var r=uI.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function II(e,t){return Z(e.getDate(),t,2)}function LI(e,t){return Z(e.getHours(),t,2)}function RI(e,t){return Z(e.getHours()%12||12,t,2)}function zI(e,t){return Z(1+NF.count(eI(e),e),t,3)}function BI(e,t){return Z(e.getMilliseconds(),t,3)}function VI(e,t){return BI(e,t)+`000`}function HI(e,t){return Z(e.getMonth()+1,t,2)}function UI(e,t){return Z(e.getMinutes(),t,2)}function WI(e,t){return Z(e.getSeconds(),t,2)}function GI(e){var t=e.getDay();return t===0?7:t}function KI(e,t){return Z(LF.count(eI(e)-1,e),t,2)}function qI(e){var t=e.getDay();return t>=4||t===0?VF(e):VF.ceil(e)}function JI(e,t){return e=qI(e),Z(VF.count(eI(e),e)+(eI(e).getDay()===4),t,2)}function YI(e){return e.getDay()}function XI(e,t){return Z(RF.count(eI(e)-1,e),t,2)}function ZI(e,t){return Z(e.getFullYear()%100,t,2)}function QI(e,t){return e=qI(e),Z(e.getFullYear()%100,t,2)}function $I(e,t){return Z(e.getFullYear()%1e4,t,4)}function eL(e,t){var n=e.getDay();return e=n>=4||n===0?VF(e):VF.ceil(e),Z(e.getFullYear()%1e4,t,4)}function tL(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+Z(t/60|0,`0`,2)+Z(t%60,`0`,2)}function nL(e,t){return Z(e.getUTCDate(),t,2)}function rL(e,t){return Z(e.getUTCHours(),t,2)}function iL(e,t){return Z(e.getUTCHours()%12||12,t,2)}function aL(e,t){return Z(1+PF.count(tI(e),e),t,3)}function oL(e,t){return Z(e.getUTCMilliseconds(),t,3)}function sL(e,t){return oL(e,t)+`000`}function cL(e,t){return Z(e.getUTCMonth()+1,t,2)}function lL(e,t){return Z(e.getUTCMinutes(),t,2)}function uL(e,t){return Z(e.getUTCSeconds(),t,2)}function dL(e){var t=e.getUTCDay();return t===0?7:t}function fL(e,t){return Z(GF.count(tI(e)-1,e),t,2)}function pL(e){var t=e.getUTCDay();return t>=4||t===0?YF(e):YF.ceil(e)}function mL(e,t){return e=pL(e),Z(YF.count(tI(e),e)+(tI(e).getUTCDay()===4),t,2)}function hL(e){return e.getUTCDay()}function gL(e,t){return Z(KF.count(tI(e)-1,e),t,2)}function _L(e,t){return Z(e.getUTCFullYear()%100,t,2)}function vL(e,t){return e=pL(e),Z(e.getUTCFullYear()%100,t,2)}function yL(e,t){return Z(e.getUTCFullYear()%1e4,t,4)}function bL(e,t){var n=e.getUTCDay();return e=n>=4||n===0?YF(e):YF.ceil(e),Z(e.getUTCFullYear()%1e4,t,4)}function xL(){return`+0000`}function SL(){return`%`}function CL(e){return+e}function wL(e){return Math.floor(e/1e3)}var TL,EL;DL({dateTime:`%x, %X`,date:`%-m/%-d/%Y`,time:`%-I:%M:%S %p`,periods:[`AM`,`PM`],days:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],shortDays:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],months:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],shortMonths:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`]});function DL(e){return TL=cI(e),EL=TL.format,TL.parse,TL.utcFormat,TL.utcParse,TL}function OL(e){return new Date(e)}function kL(e){return e instanceof Date?+e:+new Date(+e)}function AL(e,t,n,r,i,a,o,s,c,l){var u=fF(),d=u.invert,f=u.domain,p=l(`.%L`),m=l(`:%S`),h=l(`%I:%M`),g=l(`%I %p`),_=l(`%a %d`),v=l(`%b %d`),y=l(`%B`),b=l(`%Y`);function x(e){return(c(e)<e?p:s(e)<e?m:o(e)<e?h:a(e)<e?g:r(e)<e?i(e)<e?_:v:n(e)<e?y:b)(e)}return u.invert=function(e){return new Date(d(e))},u.domain=function(e){return arguments.length?f(Array.from(e,kL)):f().map(OL)},u.ticks=function(t){var n=f();return e(n[0],n[n.length-1],t??10)},u.tickFormat=function(e,t){return t==null?x:l(t)},u.nice=function(e){var n=f();return(!e||typeof e.range!=`function`)&&(e=t(n[0],n[n.length-1],e??10)),e?f(gF(n,e)):u},u.copy=function(){return uF(u,AL(e,t,n,r,i,a,o,s,c,l))},u}function jL(){return XP.apply(AL(rI,iI,eI,QF,LF,NF,jF,kF,OF,EL).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function ML(e){return function(){return e}}var NL=Math.abs,PL=Math.atan2,FL=Math.cos,IL=Math.max,LL=Math.min,RL=Math.sin,zL=Math.sqrt,BL=Math.PI,VL=BL/2,HL=2*BL;function UL(e){return e>1?0:e<-1?BL:Math.acos(e)}function WL(e){return e>=1?VL:e<=-1?-VL:Math.asin(e)}function GL(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new eP(t)}function KL(e){return e.innerRadius}function qL(e){return e.outerRadius}function JL(e){return e.startAngle}function YL(e){return e.endAngle}function XL(e){return e&&e.padAngle}function ZL(e,t,n,r,i,a,o,s){var c=n-e,l=r-t,u=o-i,d=s-a,f=d*c-u*l;if(!(f*f<1e-12))return f=(u*(t-a)-d*(e-i))/f,[e+f*c,t+f*l]}function QL(e,t,n,r,i,a,o){var s=e-n,c=t-r,l=(o?a:-a)/zL(s*s+c*c),u=l*c,d=-l*s,f=e+u,p=t+d,m=n+u,h=r+d,g=(f+m)/2,_=(p+h)/2,v=m-f,y=h-p,b=v*v+y*y,x=i-a,S=f*h-m*p,C=(y<0?-1:1)*zL(IL(0,x*x*b-S*S)),w=(S*y-v*C)/b,T=(-S*v-y*C)/b,E=(S*y+v*C)/b,D=(-S*v+y*C)/b,O=w-g,k=T-_,A=E-g,j=D-_;return O*O+k*k>A*A+j*j&&(w=E,T=D),{cx:w,cy:T,x01:-u,y01:-d,x11:w*(i/x-1),y11:T*(i/x-1)}}function $L(){var e=KL,t=qL,n=ML(0),r=null,i=JL,a=YL,o=XL,s=null,c=GL(l);function l(){var l,u,d=+e.apply(this,arguments),f=+t.apply(this,arguments),p=i.apply(this,arguments)-VL,m=a.apply(this,arguments)-VL,h=NL(m-p),g=m>p;if(s||=l=c(),f<d&&(u=f,f=d,d=u),!(f>1e-12))s.moveTo(0,0);else if(h>HL-1e-12)s.moveTo(f*FL(p),f*RL(p)),s.arc(0,0,f,p,m,!g),d>1e-12&&(s.moveTo(d*FL(m),d*RL(m)),s.arc(0,0,d,m,p,g));else{var _=p,v=m,y=p,b=m,x=h,S=h,C=o.apply(this,arguments)/2,w=C>1e-12&&(r?+r.apply(this,arguments):zL(d*d+f*f)),T=LL(NL(f-d)/2,+n.apply(this,arguments)),E=T,D=T,O,k;if(w>1e-12){var A=WL(w/d*RL(C)),j=WL(w/f*RL(C));(x-=A*2)>1e-12?(A*=g?1:-1,y+=A,b-=A):(x=0,y=b=(p+m)/2),(S-=j*2)>1e-12?(j*=g?1:-1,_+=j,v-=j):(S=0,_=v=(p+m)/2)}var M=f*FL(_),N=f*RL(_),P=d*FL(b),F=d*RL(b);if(T>1e-12){var I=f*FL(v),L=f*RL(v),R=d*FL(y),z=d*RL(y),B;if(h<BL){if(B=ZL(M,N,R,z,I,L,P,F)){var V=M-B[0],H=N-B[1],ee=I-B[0],U=L-B[1],te=1/RL(UL((V*ee+H*U)/(zL(V*V+H*H)*zL(ee*ee+U*U)))/2),ne=zL(B[0]*B[0]+B[1]*B[1]);E=LL(T,(d-ne)/(te-1)),D=LL(T,(f-ne)/(te+1))}else E=D=0}}S>1e-12?D>1e-12?(O=QL(R,z,M,N,f,D,g),k=QL(I,L,P,F,f,D,g),s.moveTo(O.cx+O.x01,O.cy+O.y01),D<T?s.arc(O.cx,O.cy,D,PL(O.y01,O.x01),PL(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,D,PL(O.y01,O.x01),PL(O.y11,O.x11),!g),s.arc(0,0,f,PL(O.cy+O.y11,O.cx+O.x11),PL(k.cy+k.y11,k.cx+k.x11),!g),s.arc(k.cx,k.cy,D,PL(k.y11,k.x11),PL(k.y01,k.x01),!g))):(s.moveTo(M,N),s.arc(0,0,f,_,v,!g)):s.moveTo(M,N),!(d>1e-12)||!(x>1e-12)?s.lineTo(P,F):E>1e-12?(O=QL(P,F,I,L,d,-E,g),k=QL(M,N,R,z,d,-E,g),s.lineTo(O.cx+O.x01,O.cy+O.y01),E<T?s.arc(O.cx,O.cy,E,PL(O.y01,O.x01),PL(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,E,PL(O.y01,O.x01),PL(O.y11,O.x11),!g),s.arc(0,0,d,PL(O.cy+O.y11,O.cx+O.x11),PL(k.cy+k.y11,k.cx+k.x11),g),s.arc(k.cx,k.cy,E,PL(k.y11,k.x11),PL(k.y01,k.x01),!g))):s.arc(0,0,d,b,y,g)}if(s.closePath(),l)return s=null,l+``||null}return l.centroid=function(){var n=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-BL/2;return[FL(r)*n,RL(r)*n]},l.innerRadius=function(t){return arguments.length?(e=typeof t==`function`?t:ML(+t),l):e},l.outerRadius=function(e){return arguments.length?(t=typeof e==`function`?e:ML(+e),l):t},l.cornerRadius=function(e){return arguments.length?(n=typeof e==`function`?e:ML(+e),l):n},l.padRadius=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:ML(+e),l):r},l.startAngle=function(e){return arguments.length?(i=typeof e==`function`?e:ML(+e),l):i},l.endAngle=function(e){return arguments.length?(a=typeof e==`function`?e:ML(+e),l):a},l.padAngle=function(e){return arguments.length?(o=typeof e==`function`?e:ML(+e),l):o},l.context=function(e){return arguments.length?(s=e??null,l):s},l}Array.prototype.slice;function eR(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function tR(e){this._context=e}tR.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};function nR(e){return new tR(e)}function rR(e){return e[0]}function iR(e){return e[1]}function aR(e,t){var n=ML(!0),r=null,i=nR,a=null,o=GL(s);e=typeof e==`function`?e:e===void 0?rR:ML(e),t=typeof t==`function`?t:t===void 0?iR:ML(t);function s(s){var c,l=(s=eR(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:ML(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:ML(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:ML(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}function oR(e,t,n){var r=null,i=ML(!0),a=null,o=nR,s=null,c=GL(l);e=typeof e==`function`?e:e===void 0?rR:ML(+e),t=typeof t==`function`?t:ML(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?iR:ML(+n);function l(l){var u,d,f,p=(l=eR(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h){if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return aR().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:ML(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:ML(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:ML(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:ML(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:ML(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:ML(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:ML(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}function sR(e){return e<0?-1:1}function cR(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(sR(a)+sR(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function lR(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function uR(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function dR(e){this._context=e}dR.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:uR(this,this._t0,lR(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,uR(this,lR(this,n=cR(this,e,t)),n);break;default:uR(this,this._t0,n=cR(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},Object.create(dR.prototype).point=function(e,t){dR.prototype.point.call(this,t,e)};function fR(e){return new dR(e)}function pR(e,t){this._context=e,this._t=t}pR.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function mR(e){return new pR(e,1)}function hR(e,t,n){this.k=e,this.x=t,this.y=n}hR.prototype={constructor:hR,scale:function(e){return e===1?this:new hR(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new hR(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return`translate(`+this.x+`,`+this.y+`) scale(`+this.k+`)`}};var gR=new hR(1,0,0);_R.prototype=hR.prototype;function _R(e){for(;!e.__zoom;)if(!(e=e.parentNode))return gR;return e.__zoom}function vR(e,t=15){let n=e.split(` `),r=[],i=[],a=0;return n.forEach(e=>{a+e.length>t?(i.length&&r.push(i.join(` `)),i=[e],a=e.length):(i.push(e),a+=e.length+ +(i.length>0))}),i.length&&r.push(i.join(` `)),r}var yR={DECISIVE:20,ROUTINE:50},bR=new Set([`WALKOVER`,`DOUBLE_WALKOVER`,`DEFAULTED`,`DOUBLE_DEFAULT`]),xR={COMPETITIVE:`#16a34a`,ROUTINE:`#3b82f6`,DECISIVE:`#8e44ad`,WALKOVER:`#6b7280`},SR=`#cfd8dc`,CR=`COMPETITIVE`,wR=`ROUTINE`,TR=`DECISIVE`,ER=`WALKOVER`;function DR(e,t=yR){if(!e?.length)return;let n=[0,0],r=[0,0];for(let t of e)n[0]+=t.side1Score||0,n[1]+=t.side2Score||0,r[0]+=t.side1TiebreakScore||0,r[1]+=t.side2TiebreakScore||0;r[0]+r[1]&&(n[r[0]>r[1]?0:1]+=1);let i=Math.max(n[0],n[1]);if(i===0)return;let a=Math.round(Math.min(n[0],n[1])/i*100);return Number.isNaN(a)?ER:a<=t.DECISIVE?TR:a<=t.ROUTINE?wR:CR}function OR(e,n=yR){if(e)return DR(t.scoreGovernor.parseScoreString({scoreString:e}),n)}function kR({winningSide:e,matchUpStatus:t,sets:n,scoreString:r,bands:i}){if(t&&bR.has(t))return ER;if(e)return n?.length?DR(n,i):OR(r,i)}function AR(e,t){return e?t?.[e]??xR[e]:SR}var{WILDCARD:jR,QUALIFIER:MR,LUCKY_LOSER:NR}=t.entryStatusConstants,PR=`text-anchor`,FR=`dominant-baseline`,IR=`fill-opacity`,LR=Object.assign({},...t.fixtures.countries.filter(e=>e.ioc).map(e=>({[e.ioc]:e.iso2})),...t.fixtures.countries.filter(e=>e.iso).map(e=>({[e.iso]:e.iso2})));function RR(e){let t=Math.floor(e.length/2),n=e.slice(0,t),r=e.slice(t).reverse();return[...n,...r]}function zR(e){if(e)switch(e){case jR:return`WC`;case MR:return`Q`;case NR:return`LL`;default:return e}}function BR(e,t){let n=[];for(let r of e)for(let e of r.sides){let i=r.matchUpStatus===`BYE`&&!e.participantName;n.push({name:e.participantName||(i?`BYE`:``),participantName:e.participantName||(i?`BYE`:void 0),drawPosition:e.drawPosition,seedNumber:e.seedNumber,entryStatus:zR(e.entryStatus),nationalityCode:e.nationalityCode,matchUp:r,depth:t,value:1})}return n}function VR(e,t){let n=e.winningSide!==void 0&&e.winningSide!==null?e.sides.find(t=>t.sideNumber===e.winningSide):void 0;!n&&e.matchUpStatus===`BYE`&&(n=e.sides.find(e=>e.participantName));let r=n?.participantName,i=r?t.get(r):void 0;return{winnerName:r,winnerSide:n,winnerLookup:i}}function HR(e,t,n,r){return e.map((e,i)=>{let a=i*2,o=[t[a],t[a+1]].filter(Boolean),{winnerName:s,winnerSide:c,winnerLookup:l}=VR(e,r);return{name:s||``,participantName:s,drawPosition:l?.drawPosition??c?.drawPosition,seedNumber:c?.seedNumber??l?.seedNumber,entryStatus:zR(c?.entryStatus)??l?.entryStatus,nationalityCode:c?.nationalityCode??l?.nationalityCode,scoreString:e.scoreString,matchUpStatus:e.matchUpStatus,competitiveness:e.competitiveness,matchUp:e,depth:n,children:o.length>0?o:void 0}})}function UR(e){let{roundMatchUps:t}=e,n=Object.keys(t).map(Number).sort((e,t)=>e-t);if(n.length===0)throw Error(`No round data found in draw`);let r=t[n[0]],i=RR(BR(r,n.length)),a=new Map;for(let e of i)e.participantName&&e.participantName!==`BYE`&&a.set(e.participantName,e);let o=HR(RR(r),i,n.length-1,a);for(let e=1;e<n.length;e++)o=HR(RR(t[n[e]]),o,n.length-1-e,a);return o.length===1?o[0]:{name:`Tournament`,depth:0,children:o}}function WR(e,t){if(!e)return;let{seedNumber:n,entryStatus:r,drawPosition:i,participantName:a}=e,o;if(a?.trim().toUpperCase()===`BYE`)o=`#B0BEC5`;else if(n){let e=Number(n),t=hF().domain([1,32]).range([`0`,`1`]);o=hF().domain(JO(0,1,1/7)).range([`#81D4FA`,`#42A5F5`,`#1E88E5`,`#1565C0`,`#5C6BC0`,`#673AB7`,`#9C27B0`])(Number(t(e)))}else if(r?.toUpperCase()===`WC`)o=`red`;else if(r&&(r===`Q`||r===`LL`))o=hF().domain(JO(0,1,1/3)).range([`#FFF176`,`#FBC02D`,`#FF9800`])(t(i));else{let e=[`#C8E6C9`,`#81C784`,`#66BB6A`,`#4CAF50`,`#43A047`,`#388E3C`,`#2E7D32`,`#1B5E20`,`#A5D6A7`,`#90CAF9`,`#64B5F6`,`#42A5F5`,`#2196F3`,`#1E88E5`,`#1976D2`,`#1565C0`];o=hF().domain(JO(0,1,1/e.length)).range(e)(t(i))}e.color=o,e.children&&e.children.forEach(n=>{n.participantName===e.participantName&&(n.color=o),WR(n,t)})}function GR(e,t){e&&(e.competitivenessColor=e.children?.length&&e.competitiveness?AR(e.competitiveness,t):SR,e.children?.forEach(e=>GR(e,t)))}function KR(e,t){let n=[];return e.seedNumber?n.push(`Seed ${e.seedNumber}`):e.entryStatus&&n.push(e.entryStatus),t===7&&e.drawPosition&&n.push(`Draw ${e.drawPosition}`),n.length>0?n.join(` • `):void 0}function qR(e,t){let n=e.find(e=>e.data.participantName&&e.data.participantName!==t);return n?.data.participantName?n.data:void 0}function JR(e,t){let n=[e.participantName],r;if(t.children&&t.children.length>0)e.scoreString&&n.push(e.scoreString),r=qR(t.children,e.participantName),r&&n.push(r.participantName);else{let r=KR(e,t.depth);r&&n.push(r)}return{messageLines:n,opponentData:r}}function YR(e,t){return-(e*t/2)+t/2}function XR(e,t,n){let r=JA(e).append(`svg`).attr(`width`,t).attr(`height`,n).style(`display`,`block`),i=r.append(`g`).attr(`transform`,`translate(${t/2}, ${n/2})`);return{svg:r,g:i,flagsGroup:i.append(`g`).attr(`class`,`flags-group`),winningFlagsGroup:i.append(`g`).attr(`class`,`winning-flags-group`),losingFlagsGroup:i.append(`g`).attr(`class`,`losing-flags-group`)}}function ZR(e,t,n,r,i){let a=e.append(`text`).attr(`x`,t/2).attr(`y`,n/2).attr(PR,`middle`).attr(FR,`middle`).attr(`font-size`,`${r}px`).attr(`font-weight`,`bold`).style(`fill`,`var(--chc-text-primary, #333)`).attr(`pointer-events`,`none`),o=r+i*.5;return{centerText:a,centerText2:e.append(`text`).attr(`x`,t/2).attr(`y`,n/2+o).attr(PR,`middle`).attr(FR,`middle`).attr(`font-size`,`${i}px`).style(`fill`,`var(--chc-text-secondary, #666)`).attr(`pointer-events`,`none`)}}function QR(e,t,n,r,i,a,o){n&&(i?(t.flagsGroup.selectAll(`text`).remove(),t.winningFlagsGroup.selectAll(`text`).remove(),t.losingFlagsGroup.selectAll(`text`).remove()):e.selectAll(`text`).remove(),e.append(`text`).attr(`font-size`,`${o}px`).attr(PR,`middle`).attr(FR,`middle`).attr(`transform`,`translate(0, ${r*a})`).text(nz(n)))}function $R(e,n,r,i={}){let a=i.width||800,o=i.height||800,s=Math.min(a,o)/800*(i.textScaleFactor??1),c=28*s,l=24*s,u=30*s,d=r||i.title||`Tournament`,f=Object.assign({},...t.fixtures.countries.filter(e=>e.label).map(e=>({[e.ioc]:e.label})));if(!Object.keys(n?.roundMatchUps??{}).length)return{highlightPlayer:()=>0,hide:()=>void 0,setColorMode:()=>void 0};let p=UR(n),m=BP(p,e=>e.children).sum(e=>e.value||0),h=Math.min(a,o)/2,g=h/2,_=e=>e*h/200;YP().size([2*Math.PI,h-g])(m),WR(p,hF().domain([0,n.drawSize||128]).range([0,1])),GR(p,i.competitivenessColors);let v=i.colorMode??`default`,y=e=>v===`competitiveness`?e.competitivenessColor||`#cfd8dc`:e.color||`#ccc`,b=m.descendants(),x=$L().startAngle(e=>e.x0).endAngle(e=>e.x1).innerRadius(e=>e.y0+g).outerRadius(e=>e.y1+g),{svg:S,g:C,flagsGroup:w,winningFlagsGroup:T,losingFlagsGroup:E}=XR(e,a,o),D=new Set,O=e=>{e.nationalityCode&&D.add(e.nationalityCode),e.children&&e.children.forEach(O)};O(p);let k=Array.from(D),{centerText:A,centerText2:j}=ZR(S,a,o,c,l);function M(){let e=vR(d,15);A.text(``),A.selectAll(`tspan`).remove(),j.text(``),j.selectAll(`tspan`).remove(),A.selectAll(`tspan`).data(e).join(`tspan`).attr(`x`,a/2).attr(`dy`,(e,t)=>t===0?0:u).text(e=>e);let t=-(e.length*u/2)+u/2;A.attr(`y`,o/2+t),A.style(`display`,`block`),j.style(`display`,`none`)}function N(){if(w.selectAll(`text`).remove(),T.selectAll(`text`).remove(),E.selectAll(`text`).remove(),k.length===0)return;let e=hF().domain([0,k.length]).range([0,Math.PI*2]),t=_(20),n=g-t+10;w.selectAll(`text`).data(k).join(`text`).attr(`font-size`,`${t}px`).attr(PR,`middle`).attr(FR,`middle`).attr(`transform`,(t,r)=>{let i=e(r);return`translate(${Math.cos(i)*n}, ${Math.sin(i)*n})`}).text(e=>nz(e)).style(`cursor`,`pointer`).on(`mouseover`,function(e,t){let n=f[t]||t;A.selectAll(`tspan`).remove(),A.attr(`y`,o/2),A.text(n).style(`display`,`block`),j.selectAll(`tspan`).remove(),j.text(``).style(`display`,`none`),F||C.selectAll(`path`).attr(IR,e=>e.data.nationalityCode===t?.9:.3)}).on(`mouseout`,function(){F||C.selectAll(`path`).attr(IR,.8),M()})}N(),M();let P=i.eventHandlers?.clickCenter;P&&C.insert(`circle`,`:first-child`).attr(`r`,g).attr(`fill`,`transparent`).style(`cursor`,`pointer`).on(`click`,P);let F=!1,I;function L(e,t){let n=t.data;if(n.participantName){let{messageLines:e,opponentData:r}=JR(n,t);r&&(n.opponent=r),A.selectAll(`tspan`).remove(),A.text(``),A.selectAll(`tspan`).data(e).join(`tspan`).attr(`x`,a/2).attr(`dy`,(e,t)=>t===0?0:u).text(e=>e);let i=YR(e.length,u);A.attr(`y`,o/2+i),A.style(`display`,`block`),j.style(`display`,`none`)}F?n.participantName?.toLowerCase()!==I?.toLowerCase()&&JA(e.currentTarget).attr(IR,.9):C.selectAll(`path`).attr(IR,e=>e.data.participantName===t.data.participantName?.9:.3);let r=_(30),i=g-r-10,s={flagsGroup:w,winningFlagsGroup:T,losingFlagsGroup:E};QR(T,s,n.nationalityCode,-1,!0,i,r),n.opponent&&QR(E,s,n.opponent.nationalityCode,1,!1,i,r)}function R(e,t){if(F){let n=t.data.participantName?.toLowerCase()===I?.toLowerCase();JA(e.currentTarget).attr(IR,n?1:.2)}else C.selectAll(`path`).attr(IR,.8);N(),M()}let z=i.eventHandlers?.clickSegment;function B(e,t){if(!z)return;let n=t.data;z({participantName:n.participantName,drawPosition:n.drawPosition,seedNumber:n.seedNumber,entryStatus:n.entryStatus,nationalityCode:n.nationalityCode,scoreString:n.scoreString,matchUpStatus:n.matchUpStatus,competitiveness:n.competitiveness,roundName:n.roundName,depth:n.depth,matchUp:n.matchUp})}let V=C.selectAll(`path`).data(b).join(`path`).attr(`d`,e=>x(e)).attr(`fill`,e=>y(e.data)).attr(IR,.8).attr(`stroke`,`#fff`).attr(`stroke-width`,1).on(`mouseover`,L).on(`mouseout`,R);z&&V.style(`cursor`,`pointer`).on(`click`,B),V.append(`title`).text(e=>{let t=e.data;if(t.participantName){let e=[t.participantName,`Draw: ${t.drawPosition||`N/A`}`];return t.competitiveness&&e.push(`Competitiveness: ${t.competitiveness}`),e.join(`
|
|
215
215
|
`)}return`${t.name}\nDepth: ${e.depth}`});function H(e){let t=0;return F=!!e,I=e,C.selectAll(`path`).attr(IR,n=>e?n.data.participantName?.toLowerCase()===e.toLowerCase()?(t+=1,1):.2:.8),t}function ee(e){S.style(`display`,e?`none`:`block`)}function U(e){v=e,C.selectAll(`path`).attr(`fill`,e=>y(e.data))}return{highlightPlayer:H,hide:ee,setColorMode:U}}function ez(e={}){return{render:(t,n,r)=>$R(t,n,r,e)}}function tz(e){return e?.length===2?e&&String.fromCodePoint!==void 0?e.toUpperCase().replaceAll(/./g,e=>String.fromCodePoint((e.codePointAt(0)??0)+127397)):e:``}function nz(e){return tz(LR[e]||e)}var{LUCKY_LOSER:rz,WILDCARD:iz,QUALIFIER:az}=t.entryStatusConstants,{WIN_RATIO:oz,ROUND_OUTCOME:sz,MAIN:cz,CONTAINER:lz}=t.drawDefinitionConstants;function uz(e){return e?.finishingPosition===sz&&e?.structureType!==lz}function dz(e){return e?.finishingPosition===oz||e?.structureType===lz}function fz(e){if(!e?.length)return;let t=e.filter(uz);if(t.length)return t.find(e=>e.stage===cz)??t[0]}function pz(e){if(dz(e))return{drawSize:0,roundMatchUps:{}};let t={};for(let[n,r]of Object.entries(e.roundMatchUps))t[Number(n)]=r.map(e=>({...e,winningSide:e.winningSide,drawPositions:e.drawPositions||[],competitiveness:kR({winningSide:e.winningSide,matchUpStatus:e.matchUpStatus,sets:e.score?.sets}),scoreString:e.winningSide===1?e.score?.scoreStringSide1:e.winningSide===2?e.score?.scoreStringSide2:void 0,sides:(e.sides||[]).map(e=>({sideNumber:e.sideNumber,drawPosition:e.drawPosition,participantName:e.participant?.participantName,nationalityCode:e.participant?.person?.nationalityCode,seedNumber:e.seedNumber,entryStatus:e.participant?.entryStatus}))}));return{drawSize:(t[1]?.length||0)*2,roundMatchUps:t,seedAssignments:e.seedAssignments}}var mz={LL:rz,WC:iz,Q:az},hz=[`R128`,`R64`,`R32`,`R16`,`QF`,`SF`,`F`];function gz(e){let t=_z(e);if(t.length===0)return{drawSize:0,roundMatchUps:{}};let n=t[0].data,r=n.length,i=vz(n),a=yz(t,e),o={};o[1]=xz(n,a,t);for(let e=1;e<t.length;e++)o[e+1]=Sz(e,t,a,i);return{drawSize:r,roundMatchUps:o}}function _z(e){let t=[],n=!1;for(let r of hz){let i=e[r];i&&i.length>0&&(n=!0),n&&i&&i.length>0&&t.push({key:r,data:i})}return t}function vz(e){let t=new Map;return e.forEach((e,n)=>{let r=Cz(e.player);r&&r!==`BYE`&&t.set(r,{drawPosition:e.Draw??n+1,country:e.country,seed:e.seed,entry:e.entry})}),t}function yz(e,t){let n=new Map;for(let r=0;r<e.length;r++){let i=r+1<e.length?e[r+1].data:t.W||[],a=new Set;for(let e of i){let t=Cz(e.player);t&&a.add(t)}n.set(e[r].key,a)}return n}function bz(e,t,n){if(e===`BYE`||t===`BYE`)return e===`BYE`?2:1;if(n.has(e))return 1;if(n.has(t))return 2}function xz(e,t,n){let r=[],i=t.get(n[0].key)||new Set;for(let t=0;t<e.length;t+=2){let a=e[t],o=e[t+1],s=Cz(a?.player),c=Cz(o?.player),l=s===`BYE`||c===`BYE`,u=bz(s,c,i),d;if(!l&&n.length>1){let e=n[1].data,t=u===1?s:c;d=e.find(e=>Cz(e.player)===t)?.score}let f=l?`BYE`:u?`COMPLETED`:`TO_BE_PLAYED`;r.push({roundNumber:1,matchUpStatus:f,winningSide:u,drawPositions:[a?.Draw??t+1,o?.Draw??t+2],competitiveness:kR({winningSide:u,matchUpStatus:f,scoreString:d}),scoreString:d,sides:[Tz(1,a,t+1),Tz(2,o,t+2)]})}return r}function Sz(e,t,n,r){let i=e+1,a=t[e].data,o=n.get(t[e].key)||new Set,s=[];for(let e=0;e<a.length;e+=2){let t=a[e],n=a[e+1],c=Cz(t?.player),l=Cz(n?.player),u=o.has(c)?1:o.has(l)?2:void 0,d=(u===1?t:u===2?n:void 0)?.score,f=u?`COMPLETED`:`TO_BE_PLAYED`;s.push({roundNumber:i,matchUpStatus:f,winningSide:u,drawPositions:[r.get(c)?.drawPosition??0,r.get(l)?.drawPosition??0],competitiveness:kR({winningSide:u,matchUpStatus:f,scoreString:d}),scoreString:d,sides:[Ez(1,t,r),Ez(2,n,r)]})}return s}function Cz(e){if(!e)return``;let t=e.trim();return t.toUpperCase()===`BYE`?`BYE`:t}function wz(e){if(e)return mz[e.toUpperCase()]||e}function Tz(e,t,n){if(!t)return{sideNumber:e,drawPosition:n};let r=Cz(t.player);return{sideNumber:e,drawPosition:t.Draw??n,participantName:r||void 0,nationalityCode:t.country||void 0,seedNumber:t.seed?Number(t.seed):void 0,entryStatus:wz(t.entry)}}function Ez(e,t,n){if(!t)return{sideNumber:e,drawPosition:0};let r=Cz(t.player),i=n.get(r);return{sideNumber:e,drawPosition:i?.drawPosition??0,participantName:r||void 0,nationalityCode:t.country||i?.country||void 0,seedNumber:t.seed?Number(t.seed):i?.seed?Number(i.seed):void 0,entryStatus:wz(t.entry||i?.entry)}}var Dz=480,Oz=200,kz=280,Az={top:12,right:12,bottom:28,left:32},jz={top:12,right:12,bottom:12,left:12},Mz=.6,Nz=.9,Pz=`http://www.w3.org/2000/svg`,Fz=`middle`,Iz=`text-anchor`,Lz=`dominant-baseline`,Rz=[`var(--chc-rating-low, #5b8ff9)`,`var(--chc-rating-high, #00b894)`];function zz(e,t,n){let r=document.createElementNS(Pz,`svg`);return r.setAttribute(`width`,String(e)),r.setAttribute(`height`,String(t)),r.setAttribute(`viewBox`,`0 0 ${e} ${t}`),r.setAttribute(`class`,`chc-rating-distribution-chart`),n&&r.setAttribute(`aria-label`,n),r}function Bz(e,t,n){return n<=1||t/(n-1)<.5?Rz[0]:Rz[1]}function Vz(e,t,n,r){return r?r(e,t):Bz(e,t,n)}function Hz(e){return`${e.binStart.toFixed(1)}–${e.binEnd.toFixed(1)}`}function Uz(e){let{stats:t,width:n,height:r,margin:i,showAxis:a,showCounts:o,showMean:s,binColor:c,ariaLabel:l}=e,u=zz(n,r,l),d=JA(u).append(`g`).attr(`class`,`chc-rdc-histogram`).attr(`transform`,`translate(${i.left}, ${i.top})`),f=Math.max(0,n-i.left-i.right),p=Math.max(0,r-i.top-i.bottom);if(t.histogram.length===0||f===0||p===0)return u;let m=$P().domain(t.histogram.map(Hz)).range([0,f]).padding(.12),h=hF().domain([0,qO(t.histogram,e=>e.count)??0]).nice().range([p,0]),g=t.histogram.length;if(d.selectAll(`rect.chc-rdc-bar`).data(t.histogram).enter().append(`rect`).attr(`class`,`chc-rdc-bar`).attr(`x`,e=>m(Hz(e))??0).attr(`y`,e=>h(e.count)).attr(`width`,m.bandwidth()).attr(`height`,e=>p-h(e.count)).attr(`fill`,(e,t)=>Vz(e,t,g,c)).append(`title`).text(e=>`${Hz(e)}: ${e.count}`),o&&d.selectAll(`text.chc-rdc-count`).data(t.histogram).enter().append(`text`).attr(`class`,`chc-rdc-count`).attr(`x`,e=>(m(Hz(e))??0)+m.bandwidth()/2).attr(`y`,e=>h(e.count)-4).attr(Iz,Fz).attr(`font-size`,`11`).attr(`fill`,`var(--chc-rdc-count-color, var(--chc-text-primary, #111827))`).text(e=>e.count>0?String(e.count):``),a){let e=t.histogram.map(Hz),n=f/g>=55?e:[e[0],e.at(-1)].filter((e,t,n)=>n.indexOf(e)===t);d.append(`g`).attr(`class`,`chc-rdc-axis`).attr(`transform`,`translate(0, ${p})`).call(sk(m).tickValues(n).tickSize(0)).call(e=>e.select(`.domain`).remove()).call(e=>e.selectAll(`text`).attr(`font-size`,`10`).attr(`dy`,`0.9em`))}if(s&&Number.isFinite(t.mean)&&t.histogram.length>0){let e=t.histogram[0],n=t.histogram.at(-1),r=(t.mean-e.binStart)/(n.binEnd-e.binStart);if(r>=0&&r<=1){let e=r*f;d.append(`line`).attr(`class`,`chc-rdc-mean`).attr(`x1`,e).attr(`x2`,e).attr(`y1`,0).attr(`y2`,p).attr(`stroke`,`var(--chc-rating-mean, #d63031)`).attr(`stroke-dasharray`,`4 3`).attr(`stroke-width`,1.5)}}return u}function Wz(e,t,n,r){return[e+n*Math.sin(r),t-n*Math.cos(r)]}function Gz(e,t,n,r,i,a){let[o,s]=Wz(e,t,n,i),[c,l]=Wz(e,t,n,a),[u,d]=Wz(e,t,r,a),[f,p]=Wz(e,t,r,i),m=+(a-i>Math.PI);return[`M ${o} ${s}`,`A ${n} ${n} 0 ${m} 1 ${c} ${l}`,`L ${u} ${d}`,`A ${r} ${r} 0 ${m} 0 ${f} ${p}`,`Z`].join(` `)}function Kz(e){let{stats:t,size:n,margin:r,showCounts:i,binColor:a,ariaLabel:o}=e,s=zz(n,n,o);if(t.histogram.length===0||t.count===0)return s;let c=(n-Math.max(r.left+r.right,r.top+r.bottom))/2,l=n/2,u=n/2,d=c*Nz,f=c*Mz,p=0,m=t.histogram.length;for(let e=0;e<m;e++){let n=t.histogram[e];if(n.count===0)continue;let r=n.count/t.count*2*Math.PI,o=p,c=p+r,h=document.createElementNS(Pz,`path`);if(h.setAttribute(`class`,`chc-rdc-slice`),h.setAttribute(`d`,Gz(l,u,d,f,o,c)),h.setAttribute(`fill`,Vz(n,e,m,a)),s.appendChild(h),i){let e=o+r/2,[t,i]=Wz(l,u,(d+f)/2,e),a=document.createElementNS(Pz,`text`);a.setAttribute(`class`,`chc-rdc-slice-label`),a.setAttribute(`x`,String(t)),a.setAttribute(`y`,String(i)),a.setAttribute(Iz,Fz),a.setAttribute(Lz,Fz),a.setAttribute(`font-size`,`11`),a.setAttribute(`fill`,`var(--chc-rating-label, #2d3436)`),a.textContent=String(n.count),s.appendChild(a)}p=c}let h=document.createElementNS(Pz,`text`);return h.setAttribute(`class`,`chc-rdc-center-count`),h.setAttribute(`x`,String(l)),h.setAttribute(`y`,String(u)),h.setAttribute(Iz,Fz),h.setAttribute(Lz,Fz),h.setAttribute(`font-size`,`20`),h.setAttribute(`font-weight`,`600`),h.textContent=String(t.count),s.appendChild(h),s}function qz(e,t={}){let n=t.mode??`HISTOGRAM`,r=t.ariaLabel??`Participant rating distribution`;return n===`DONUT`?Kz({stats:e,size:t.width??t.height??kz,margin:t.margin??jz,showCounts:t.showCounts??!0,binColor:t.binColor,ariaLabel:r}):Uz({stats:e,width:t.width??Dz,height:t.height??Oz,margin:t.margin??Az,showAxis:t.showAxis??!0,showCounts:t.showCounts??!0,showMean:t.showMean??!0,binColor:t.binColor,ariaLabel:r})}var Jz=`http://www.w3.org/2000/svg`,Yz={top:36,right:16,bottom:28,left:56},Xz=600,Zz=260,Qz=6,$z=8;function eB(e,t){let n=document.createElementNS(Jz,`svg`);n.classList.add(`lc-svg`),e.appendChild(n);let r={container:e,svg:n,config:{...t},destroyed:!1};return tB(r),{element:n,update(e){r.destroyed||(r.config={...r.config,...e},tB(r))},destroy(){r.destroyed||(r.destroyed=!0,n.parentNode===e&&e.removeChild(n))}}}function tB(e){let{svg:t,container:n,config:r}=e,i={...Yz,...r.margins||{}},a=n.clientWidth||Xz,o=r.width??a,s=r.height??Zz;for(;t.firstChild;)t.removeChild(t.firstChild);t.setAttribute(`width`,String(o)),t.setAttribute(`height`,String(s)),t.setAttribute(`viewBox`,`0 0 ${o} ${s}`);let c=Math.max(0,o-i.left-i.right),l=Math.max(0,s-i.top-i.bottom),u=(r.data||[]).map(e=>({...e,_dateValue:e.date instanceof Date?e.date:new Date(e.date),_rung:Math.max(0,Math.min(r.rungs.length-1,e.rung))})).filter(e=>!Number.isNaN(e._dateValue.getTime())).sort((e,t)=>e._dateValue.getTime()-t._dateValue.getTime());if(r.title){let e=document.createElementNS(Jz,`text`);e.setAttribute(`class`,`lc-title`),e.setAttribute(`x`,String(i.left)),e.setAttribute(`y`,String(Math.max(16,i.top-12))),e.textContent=r.title,t.appendChild(e)}if(!u.length){let e=document.createElementNS(Jz,`text`);e.setAttribute(`class`,`lc-empty`),e.setAttribute(`x`,String(o/2)),e.setAttribute(`y`,String(s/2)),e.setAttribute(`text-anchor`,`middle`),e.textContent=`No data`,t.appendChild(e);return}let d=PO(u,e=>e._dateValue),f=Math.max(3,(d[1].getTime()-d[0].getTime())/864e5*.04),p=new Date(d[0].getTime()-f*864e5),m=new Date(d[1].getTime()+f*864e5),h=jL().domain([p,m]).range([0,c]),g=tF().domain([...r.rungs].reverse()).range([0,l]).padding(.5),_=document.createElementNS(Jz,`g`);_.setAttribute(`transform`,`translate(${i.left},${i.top})`),t.appendChild(_);let v=document.createElementNS(Jz,`g`);v.setAttribute(`class`,`lc-axis lc-axis-y`),_.appendChild(v),JA(v).call(ck(g).tickSize(-c).tickPadding(8));let y=document.createElementNS(Jz,`g`);y.setAttribute(`class`,`lc-axis lc-axis-x`),y.setAttribute(`transform`,`translate(0,${l})`),_.appendChild(y);let b=d[1].getFullYear()-d[0].getFullYear()>=1?`%Y`:`%b`,x=r.xTickFormat??b;if(JA(y).call(sk(h).ticks(r.xMaxTicks??$z).tickFormat(EL(x))),r.showConnector!==!1&&u.length>1){let e=aR().x(e=>h(e._dateValue)).y(e=>g(r.rungs[e._rung])??0).curve(mR),t=document.createElementNS(Jz,`path`);t.setAttribute(`class`,`lc-connector`),t.setAttribute(`d`,e(u)||``),r.connectorColor&&(t.style.stroke=r.connectorColor),_.appendChild(t)}let S=document.createElementNS(Jz,`g`);S.setAttribute(`class`,`lc-marks`),_.appendChild(S);for(let e of u){let t=h(e._dateValue),n=g(r.rungs[e._rung])??0,i=e.radius??r.markRadius??Qz,a=document.createElementNS(Jz,`circle`);if(a.setAttribute(`class`,`lc-mark`),a.setAttribute(`cx`,String(t)),a.setAttribute(`cy`,String(n)),a.setAttribute(`r`,String(i)),(e.color||r.markColor)&&(a.style.fill=e.color??r.markColor),e.label){let t=[e.label,e.detail].filter(Boolean).join(` — `);a.setAttribute(`aria-label`,t);let n=document.createElementNS(Jz,`title`);n.textContent=t,a.appendChild(n)}r.onMarkClick&&(a.style.cursor=`pointer`,a.addEventListener(`click`,t=>r.onMarkClick(e,t))),r.onMarkHover&&(a.addEventListener(`mouseenter`,t=>r.onMarkHover(e,t)),a.addEventListener(`mouseleave`,e=>r.onMarkHover(null,e))),S.appendChild(a)}if(r.source){let e=document.createElementNS(Jz,`text`);e.setAttribute(`class`,`lc-source`),e.setAttribute(`x`,String(o-i.right)),e.setAttribute(`y`,String(s-6)),e.setAttribute(`text-anchor`,`end`),e.textContent=`Source: ${r.source}`,t.appendChild(e)}}var nB=`http://www.w3.org/2000/svg`,rB=`text-anchor`,iB=`dominant-baseline`,aB=`class`,oB=`middle`,sB=520,cB=240,lB={top:16,right:64,bottom:28,left:44},uB=5,dB=3;function fB(e,t,n){let r=n-t;if(n>=3){if(r===1)return`F`;if(r===2)return`SF`;if(r===3)return`QF`}return`R${t+1}`}function pB(e,t){let n=document.createElementNS(nB,e);return t&&n.setAttribute(aB,t),n}function mB(e){let t=Math.round(e);return t>0?`+${t}`:String(t)}function hB(e,t){if(t)return t;let n=[];for(let t of e)for(let e of[t.projected.expected,t.projected.low,t.projected.high,t.actual])e!=null&&n.push(e);if(!n.length)return[-100,100];let r=Math.max(Math.abs(Math.min(...n)),Math.abs(Math.max(...n)),50)*1.15;return[-r,r]}function gB(e,t){let n=t.width??sB,r=t.height??cB,i=t.margin??(t.spark?{top:6,right:6,bottom:6,left:6}:lB),a=Math.max(1,n-i.left-i.right),o=Math.max(1,r-i.top-i.bottom),s=hF().domain([0,Math.max(1,e.length-1)]).range([0,a]),c=hB(e,t.yDomain),l=hF().domain(c).range([o,0]);return{x:e=>s(e),y:e=>l(e),yDomain:c,innerWidth:a,innerHeight:o,margin:i}}function _B(e,t,n){let r=t.map((e,t)=>({point:e,index:t})).filter(({point:e})=>e.projected.low!==null&&e.projected.high!==null);if(r.length<2)return;let i=oR().x(({index:e})=>n.x(e)).y0(({point:e})=>n.y(e.projected.low)).y1(({point:e})=>n.y(e.projected.high)),a=pB(`path`,`chc-pc__band`);a.setAttribute(`d`,i(r)??``),e.appendChild(a)}function vB({group:e,points:t,geometry:n,className:r,accessor:i}){let a=t.map((e,t)=>({point:e,index:t})).filter(({point:e})=>i(e)!==null);if(a.length<2)return;let o=aR().x(({index:e})=>n.x(e)).y(({point:e})=>n.y(i(e))),s=pB(`path`,r);s.setAttribute(`d`,o(a)??``),e.appendChild(s)}function yB(e){return AR(e)}function bB({group:e,points:t,geometry:n,radius:r,onHover:i}){t.forEach((t,a)=>{if(t.actual===null)return;let o=pB(`circle`,t.won===!1?`chc-pc__marker chc-pc__marker--lost`:`chc-pc__marker`);o.setAttribute(`cx`,String(n.x(a))),o.setAttribute(`cy`,String(n.y(t.actual))),o.setAttribute(`r`,String(r)),o.setAttribute(`fill`,yB(t.competitiveness));let s=document.createElementNS(nB,`title`);s.textContent=`Round ${t.roundNumber}: ${mB(t.actual)} · ${t.competitiveness??`unclassified`}`,o.appendChild(s),i&&(o.addEventListener(`mouseenter`,e=>i(t,a,e)),o.addEventListener(`mousemove`,e=>i(t,a,e))),e.appendChild(o)})}function xB({group:e,geometry:t}){let[n,r]=t.yDomain,i=SB(Math.max(Math.abs(n),Math.abs(r)));for(let a of[-i,i]){if(a<n||a>r)continue;let i=pB(`line`,`chc-pc__tick`);i.setAttribute(`x1`,`0`),i.setAttribute(`x2`,String(t.innerWidth)),i.setAttribute(`y1`,String(t.y(a))),i.setAttribute(`y2`,String(t.y(a))),e.appendChild(i);let o=pB(`text`,`chc-pc__tick-label`);o.setAttribute(`x`,`-6`),o.setAttribute(`y`,String(t.y(a))),o.setAttribute(rB,`end`),o.setAttribute(iB,oB),o.textContent=mB(a),e.appendChild(o)}}function SB(e){if(!Number.isFinite(e)||e<=0)return 1;let t=e/2,n=10**Math.floor(Math.log10(t)),r=t/n;return(r>=5&&5||r>=2&&2||1)*n}function CB({group:e,points:t,geometry:n,options:r}){let i=pB(`line`,`chc-pc__zero`);if(i.setAttribute(`x1`,`0`),i.setAttribute(`x2`,String(n.innerWidth)),i.setAttribute(`y1`,String(n.y(0))),i.setAttribute(`y2`,String(n.y(0))),e.appendChild(i),r.spark)return;xB({group:e,geometry:n});let a=pB(`text`,`chc-pc__axis-label`);a.setAttribute(`x`,String(n.innerWidth+6)),a.setAttribute(`y`,String(n.y(0))),a.setAttribute(iB,oB),a.textContent=`even`,e.appendChild(a);let o=r.roundLabels??fB;t.forEach((r,i)=>{let a=pB(`text`,`chc-pc__round-label`);if(a.setAttribute(`x`,String(n.x(i))),a.setAttribute(`y`,String(n.innerHeight+16)),a.setAttribute(rB,oB),a.textContent=o(r.roundNumber,i,t.length),e.appendChild(a),r.bye){let t=pB(`text`,`chc-pc__bye`);t.setAttribute(`x`,String(n.x(i))),t.setAttribute(`y`,String(n.y(0)-8)),t.setAttribute(rB,oB),t.textContent=`bye`,e.appendChild(t)}});let s=pB(`text`,`chc-pc__axis-label`);s.setAttribute(`x`,`0`),s.setAttribute(`y`,`-4`),s.textContent=r.scaleName?`opponent strength vs own (${r.scaleName}, ELO-equivalent)`:`opponent strength vs own`,e.appendChild(s)}function wB({group:e,points:t,geometry:n}){let r=[...t].reverse().find(e=>e.projected.expected!==null),i=[...t].reverse().find(e=>e.actual!==null);if(r){let i=t.indexOf(r),a=pB(`text`,`chc-pc__series-label`);a.setAttribute(`x`,String(n.x(i)+8)),a.setAttribute(`y`,String(n.y(r.projected.expected))),a.setAttribute(iB,oB),a.setAttribute(`fill`,`var(--chc-pc-projected)`),a.textContent=`projected`,e.appendChild(a)}if(i){let r=t.indexOf(i),a=r<t.length-1,o=pB(`text`,`chc-pc__series-label`);o.setAttribute(`x`,String(n.x(r)+8)),o.setAttribute(`y`,String(n.y(i.actual)+(a?-12:0))),o.setAttribute(iB,oB),o.textContent=`actual`,e.appendChild(o)}}function TB(){let e=document.createElement(`div`);e.className=`chc-pc__legend`;for(let[t,n]of[[`chc-pc__legend-swatch chc-pc__legend-swatch--band`,`possible opponents`],[`chc-pc__legend-swatch chc-pc__legend-swatch--projected`,`projected`],[`chc-pc__legend-swatch chc-pc__legend-swatch--line`,`actual`]]){let r=document.createElement(`span`);r.className=`chc-pc__legend-item`;let i=document.createElement(`span`);i.className=t,r.append(i,document.createTextNode(n)),e.appendChild(r)}for(let t of[`COMPETITIVE`,`ROUTINE`,`DECISIVE`]){let n=document.createElement(`span`);n.className=`chc-pc__legend-item`;let r=document.createElement(`span`);r.className=`chc-pc__legend-swatch`,r.style.background=AR(t),n.append(r,document.createTextNode(t.toLowerCase())),e.appendChild(n)}return e}function EB(){let e=document.createElement(`div`);return e.className=`chc-pc__tooltip`,e.dataset.visible=`false`,e}function DB(e,t){let n=document.createElement(`div`);n.className=`chc-pc__tooltip-row`;let r=document.createElement(`span`);r.textContent=e;let i=document.createElement(`span`);return i.textContent=t,n.append(r,i),n}function OB(e,t){e.replaceChildren();let n=document.createElement(`div`);n.className=`chc-pc__tooltip-title`,n.textContent=`Round ${t.roundNumber}`,e.appendChild(n),t.actual!==null&&e.appendChild(DB(`faced`,mB(t.actual))),t.competitiveness&&e.appendChild(DB(`scoreline`,t.competitiveness.toLowerCase())),t.won!==void 0&&e.appendChild(DB(`result`,t.won?`won`:`lost`)),t.projected.expected!==null&&e.appendChild(DB(`projected`,mB(t.projected.expected))),t.projected.low!==null&&t.projected.high!==null&&e.appendChild(DB(`range`,`${mB(t.projected.low)} … ${mB(t.projected.high)}`)),e.appendChild(DB(`reach`,`${Math.round(t.reachProbability*100)}%`))}function kB(e){let t=document.createElement(`div`);return t.className=`chc-pc__empty`,t.textContent=e,t}function AB(e,t,n={}){let r=document.createElement(`div`);r.className=`chc-pc`,e.appendChild(r);let i=EB();function a(e,t){r.replaceChildren();let n=e?.points??[];if(!e||!n.length||!e.rating){r.appendChild(kB(t.emptyMessage??`No rating data for this draw, so no pressure to plot.`));return}let a=t.width??sB,o=t.height??cB,s=gB(n,t),c=pB(`svg`,`chc-pc__svg`);c.setAttribute(`width`,String(a)),c.setAttribute(`height`,String(o)),c.setAttribute(`viewBox`,`0 0 ${a} ${o}`),c.setAttribute(`role`,`img`),c.setAttribute(`aria-label`,t.ariaLabel??`Projected and actual opponent difficulty by round for ${e.participantName??e.participantId}`);let l=pB(`g`);l.setAttribute(`transform`,`translate(${s.margin.left}, ${s.margin.top})`),c.appendChild(l),_B(l,n,s),CB({group:l,points:n,geometry:s,options:t}),vB({group:l,points:n,geometry:s,className:`chc-pc__projected-line`,accessor:e=>e.projected.expected}),vB({group:l,points:n,geometry:s,className:`chc-pc__actual-line`,accessor:e=>e.actual}),bB({group:l,points:n,geometry:s,radius:t.spark?dB:uB,onHover:t.spark?void 0:(e,t,n)=>{OB(i,e),i.dataset.visible=`true`,i.style.left=`${n.offsetX+12}px`,i.style.top=`${n.offsetY+12}px`}}),t.spark||wB({group:l,points:n,geometry:s}),r.appendChild(c),t.spark||(r.appendChild(i),t.showLegend!==!1&&r.appendChild(TB()),r.addEventListener(`mouseleave`,()=>{i.dataset.visible=`false`}))}return a(t,n),{element:r,update:(e,t)=>a(e,{...n,...t}),destroy:()=>{JA(r).remove()}}}var jB={NO_MATCHUPS:`NO_MATCHUPS`,NOT_ELIMINATION:`NOT_ELIMINATION`,NO_RATINGS:`NO_RATINGS`};function MB(e){return{participantId:e?.participant?.participantId??e?.participantId,participant:e?.participant,drawPosition:e?.drawPosition,bye:!!e?.bye}}function NB(e){let t=e?.roundNumber,n=e?.roundPosition;if(typeof t!=`number`||typeof n!=`number`)return null;let r=Array.isArray(e.sides)?e.sides:[],i=r.find(e=>e?.sideNumber===1)??r[0],a=r.find(e=>e?.sideNumber===2)??r[1];return{matchUpId:e.matchUpId,roundNumber:t,roundPosition:n,sides:[MB(i),MB(a)],winningSide:e.winningSide,matchUpStatus:e.matchUpStatus,raw:e}}function PB(e){if(!Array.isArray(e)||!e.length)return{unsupported:jB.NO_MATCHUPS};let t=new Map;for(let n of e){let e=NB(n);if(!e)continue;let r=t.get(e.roundNumber)??new Map;r.set(e.roundPosition,e),t.set(e.roundNumber,r)}let n=[...t.keys()].toSorted((e,t)=>e-t);if(!n.length)return{unsupported:jB.NOT_ELIMINATION};let r=n[0];for(let e=1;e<n.length;e+=1){let r=t.get(n[e-1])?.size??0,i=t.get(n[e])?.size??0;if(n[e]!==n[e-1]+1||i*2!==r)return{unsupported:jB.NOT_ELIMINATION}}return n.length===1&&(t.get(r)?.size??0)>1?{unsupported:jB.NOT_ELIMINATION}:{graph:{roundNumbers:n,byRound:t,firstRound:r}}}function FB(e){return[e*2-1,e*2]}function IB(e){return e.matchUpStatus===`BYE`||e.sides.some(e=>e.bye)}var{ELO:LB}=t.ratingConstants,RB=`SINGLES`,zB=`DOUBLES`;function BB(){return t.fixtures?.ratingsParameters??{}}function VB({value:e,sourceRange:t,targetRange:n}){if(!Array.isArray(t)||t.length!==2||!Array.isArray(n)||n.length!==2)return 0;let r=Math.min(...t),i=Math.max(...t),a=Math.min(...n),o=Math.max(...n);return i===r?a:(e-r)*(o-a)/(i-r)+a}function HB({scaleName:e,value:t}){if(typeof t!=`number`||Number.isNaN(t))return;if(e===LB)return t;let n=e?BB()[e]?.range:void 0;if(!n)return;let r=BB()[LB]?.range;if(r)return VB({value:n[0]>n[1]?n[0]-t:t,sourceRange:n,targetRange:r})}function UB(e){if(typeof e==`number`)return Number.isNaN(e)?void 0:e;if(typeof e!=`string`||!e.trim())return;let t=Number.parseFloat(e);return Number.isNaN(t)?void 0:t}function WB(e,t){let n=UB(t);if(n!==void 0)return n;if(!t||typeof t!=`object`)return;let r=BB()[e],i=[r?.accessor,...r?.accessors??[]].filter(Boolean);for(let e of i){let n=UB(t[e]);if(n!==void 0)return n}}function GB({participant:e,matchUpType:t,preferredScaleName:n}){let r=t===zB?zB:RB,i=e?.ratings?.[r];if(!Array.isArray(i)||!i.length)return null;let a=(n&&i.find(e=>e?.scaleName===n))??i.find(e=>typeof e?.scaleName==`string`);if(!a?.scaleName)return null;let o=WB(a.scaleName,a.scaleValue);if(o===void 0)return null;let s=HB({scaleName:a.scaleName,value:o});return s===void 0?null:{elo:s,scaleName:a.scaleName,sourceValue:o}}function KB(e){let t=new Map;for(let n of e)n&&t.set(n.scaleName,(t.get(n.scaleName)??0)+1);if(t.size)return[...t.entries()].toSorted((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0],`en`))[0][0]}function qB(e,t,n){let r=n?.divisor??400;return r?1/(1+10**((t-e)/r)):.5}function JB(e,t,n){return e===null||t===null?.5:qB(e,t,n)}function YB(e){return e.sides.map(e=>e.bye?void 0:e.participantId)}function XB(e,t){let n=new Map,[r,i]=YB(e);if(t.respectResults&&e.winningSide){let t=YB(e)[e.winningSide-1];return t&&n.set(t,1),n}if(r&&!i)n.set(r,1);else if(i&&!r)n.set(i,1);else if(r&&i){let e=JB(t.eloOf.get(r)??null,t.eloOf.get(i)??null,t.model);n.set(r,e),n.set(i,1-e)}return n}function ZB(e,t,n){if(!t.size)return 1;let r=0;for(let[i,a]of t)r+=a*JB(n.eloOf.get(e)??null,n.eloOf.get(i)??null,n.model);return r}function QB(e,t,n){let r=new Map;if(!e.size)return new Map(t);if(!t.size)return new Map(e);for(let[i,a]of e)r.set(i,a*ZB(i,t,n));for(let[i,a]of t)r.set(i,a*ZB(i,e,n));return r}function $B(e,t,n){if(n.respectResults&&e.winningSide){let t=YB(e)[e.winningSide-1];if(t)return new Map([[t,1]])}return QB(t[0],t[1],n)}function eV(e,t){let n=new Map;for(let r of e.roundNumbers){let i=e.byRound.get(r),a=new Map;if(i){for(let[o,s]of i){if(r===e.firstRound){a.set(o,XB(s,t));continue}let i=n.get(r-1),[c,l]=FB(o),u=[i?.get(c)??new Map,i?.get(l)??new Map];a.set(o,$B(s,u,t))}n.set(r,a)}}return n}function tV({opponents:e,context:t,names:n,rangeThreshold:r}){let i=0,a=0,o=[],s=[];for(let[c,l]of e){let e=t.eloOf.get(c)??null;s.push({participantId:c,participantName:n.get(c),probability:l,elo:e}),e!==null&&(i+=l,a+=l*e,l>=r&&o.push(e))}return{expectedOpponentElo:i?a/i:null,opponentEloRange:o.length?[Math.min(...o),Math.max(...o)]:null,possibleOpponentCount:e.size,possibleOpponents:s.toSorted((e,t)=>t.probability-e.probability||e.participantId.localeCompare(t.participantId,`en`))}}function nV({graph:e,winners:t,roundNumber:n,feederPosition:r}){if(n===e.firstRound)return new Map;let i=r%2==1?r+1:r-1;return t.get(n-1)?.get(i)??new Map}function rV(e,t){let n=new Map;for(let r of e.sides)!r.bye&&r.participantId&&r.participantId!==t&&n.set(r.participantId,1);return n}function iV({participantId:e,entryMatchUp:t,graph:n,winners:r,context:i,ratings:a,names:o,rangeThreshold:s}){let c=a.get(e)??null,l=[],u=t.roundPosition,d=u,f=1;for(let t of n.roundNumbers){let a=n.byRound.get(t)?.get(u),p=t===n.firstRound&&!!a&&IB(a),m=tV({opponents:t===n.firstRound&&a?rV(a,e):nV({graph:n,winners:r,roundNumber:t,feederPosition:d}),context:i,names:o,rangeThreshold:s}),h=m.expectedOpponentElo!==null&&c?m.expectedOpponentElo-c.elo:null;l.push({roundNumber:t,reachProbability:f,expectedSignedDelta:h,resolved:m.possibleOpponentCount===1,bye:p,...m}),f=r.get(t)?.get(u)?.get(e)??0,d=u,u=Math.ceil(u/2)}return{participantId:e,participantName:t.sides.find(t=>t.participantId===e)?.participant?.participantName,drawPosition:t.sides.find(t=>t.participantId===e)?.drawPosition,rating:c,rounds:l,pathDifficulty:aV(l),slotDifficulty:oV(l),expectedMatchesPlayed:l.reduce((e,t)=>e+(t.bye?0:t.reachProbability),0)}}function aV(e){let t=0,n=0;for(let r of e)r.bye||r.expectedSignedDelta===null||(t+=r.reachProbability,n+=r.reachProbability*r.expectedSignedDelta);return t?n/t:null}function oV(e){let t=e.filter(e=>!e.bye&&e.expectedSignedDelta!==null).map(e=>e.expectedSignedDelta);return t.length?t.reduce((e,t)=>e+t,0)/t.length:null}function sV(e){let t=new Map,n=e.byRound.get(e.firstRound);if(!n)return t;for(let e of n.values())for(let n of e.sides)!n.bye&&n.participantId&&t.set(n.participantId,e);return t}function cV(e){let{graph:t,unsupported:n}=PB(e.matchUps);if(!t)return{projections:[],unsupported:n,unratedCount:0};let r=sV(t);if(!r.size)return{projections:[],unsupported:jB.NO_MATCHUPS,unratedCount:0};let i=new Map,a=new Map,o=new Map;for(let[t,n]of r){let r=n.sides.find(e=>e.participantId===t),s=GB({participant:r?.participant,matchUpType:e.matchUpType,preferredScaleName:e.scaleName});i.set(t,s),a.set(t,s?.elo??null),o.set(t,r?.participant?.participantName)}let s=[...i.values()].filter(e=>!e).length;if(s===i.size)return{projections:[],unsupported:jB.NO_RATINGS,unratedCount:s};let c={eloOf:a,model:e.model,respectResults:!!e.respectResults},l=eV(t,c),u=e.rangeThreshold??.01;return{projections:[...r.entries()].map(([e,n])=>iV({participantId:e,entryMatchUp:n,graph:t,winners:l,context:c,ratings:i,names:o,rangeThreshold:u})).toSorted((e,t)=>(e.drawPosition??0)-(t.drawPosition??0)),scaleName:KB([...i.values()]),unratedCount:s}}function lV(e){return e.raw?.competitiveProfile?.competitiveness||kR({winningSide:e.winningSide,matchUpStatus:e.matchUpStatus,sets:e.raw?.score?.sets,scoreString:e.raw?.score?.scoreStringSide1})}function uV(e,t){return GB({participant:e?.participant,matchUpType:t.matchUpType,preferredScaleName:t.scaleName})}function dV({matchUp:e,participantId:t,ownElo:n,params:r}){let i=e.sides.findIndex(e=>e.participantId===t),a=e.sides[1-i],o=IB(e),s=!!e.winningSide,c=(o||!s?null:uV(a,r))?.elo??null;return{roundNumber:e.roundNumber,matchUpId:e.matchUpId,opponentParticipantId:o?void 0:a?.participantId,opponentParticipantName:o?void 0:a?.participant?.participantName,opponentElo:c,signedDelta:c!==null&&n!==null?c-n:null,competitiveness:o||!s?void 0:lV(e),won:s?e.winningSide===i+1:void 0,bye:o}}function fV(e){let{graph:t}=PB(e.matchUps);if(!t)return[];let n=new Map,r=new Map;for(let i of t.byRound.values())for(let t of i.values())for(let i of t.sides){if(i.bye||!i.participantId)continue;let a=n.get(i.participantId)??[];a.push(t),n.set(i.participantId,a),r.has(i.participantId)||r.set(i.participantId,uV(i,e))}return[...n.entries()].map(([t,n])=>{let i=r.get(t)??null,a=n.toSorted((e,t)=>e.roundNumber-t.roundNumber).map(n=>dV({matchUp:n,participantId:t,ownElo:i?.elo??null,params:e})),o=a.filter(e=>!e.bye&&e.signedDelta!==null);return{participantId:t,rating:i,rounds:a,facedDifficulty:o.length?o.reduce((e,t)=>e+t.signedDelta,0)/o.length:null,matchesPlayed:a.filter(e=>!e.bye&&e.won!==void 0).length}})}function pV(e){let t=cV(e);if(!t.projections.length)return{series:[],projection:t,scaleName:t.scaleName,unratedCount:t.unratedCount};let n=new Map(fV({matchUps:e.matchUps,matchUpType:e.matchUpType,scaleName:e.scaleName}).map(e=>[e.participantId,e]));return{series:t.projections.map(e=>{let t=n.get(e.participantId),r=new Map((t?.rounds??[]).map(e=>[e.roundNumber,e])),i=e.rating?.elo??null,a=e.rounds.map(e=>{let t=r.get(e.roundNumber),n=e.opponentEloRange;return{roundNumber:e.roundNumber,projected:{expected:e.expectedSignedDelta,low:n&&i!==null?n[0]-i:null,high:n&&i!==null?n[1]-i:null},reachProbability:e.reachProbability,actual:t?.signedDelta??null,competitiveness:t?.competitiveness,won:t?.won,bye:e.bye||!!t?.bye,resolved:e.resolved}});return{participantId:e.participantId,participantName:e.participantName,drawPosition:e.drawPosition,rating:e.rating,pathDifficulty:e.pathDifficulty,slotDifficulty:e.slotDifficulty,facedDifficulty:t?.facedDifficulty??null,points:a}}),projection:t,scaleName:t.scaleName,unratedCount:t.unratedCount}}function mV(e){return e.toSorted((e,t)=>e.slotDifficulty===null&&t.slotDifficulty===null?(e.participantName??``).localeCompare(t.participantName??``,`en`,{numeric:!0}):e.slotDifficulty===null?1:t.slotDifficulty===null?-1:t.slotDifficulty-e.slotDifficulty)}var hV=150,gV=64;function _V(e){return hB(e.flatMap(e=>e.points))}function vV({series:e,options:t,chartOptions:n}){let r=document.createElement(`div`);r.className=`chc-psm__cell`,r.dataset.participantId=e.participantId;let i=document.createElement(`div`);return i.className=`chc-psm__label`,i.textContent=e.participantName??e.participantId,i.title=i.textContent,r.appendChild(i),AB(r,e,n),t.onSelect&&(r.classList.add(`is-clickable`),r.setAttribute(`role`,`button`),r.tabIndex=0,r.addEventListener(`click`,()=>t.onSelect?.(e)),r.addEventListener(`keydown`,n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),t.onSelect?.(e))})),r}function yV(e,t=[],n={}){let r=document.createElement(`div`);r.className=`chc-psm`,e.appendChild(r);function i(e,t){r.replaceChildren();let n=mV(e).filter(e=>e.rating);if(!n.length){let e=document.createElement(`div`);e.className=`chc-pc__empty`,e.textContent=t.emptyMessage??`No rating data for this draw, so no pressure to plot.`,r.appendChild(e);return}let i=_V(n),a=document.createElement(`div`);a.className=`chc-psm__grid`;let o=t.limit?n.slice(0,t.limit):n;for(let e of o)a.appendChild(vV({series:e,options:t,chartOptions:{spark:!0,yDomain:i,width:t.cellWidth??hV,height:t.cellHeight??gV,scaleName:t.scaleName}}));r.appendChild(a);let s=document.createElement(`div`);s.className=`chc-psm__caption`;let c=e.length-n.length,l=[`hardest slot first · shared scale`];o.length<n.length&&l.push(`${n.length-o.length} of ${n.length} not shown`),c>0&&l.push(`${c} unrated omitted`),s.textContent=l.join(` · `),r.appendChild(s)}return i(t,n),{element:r,update:(e,t)=>i(e,{...n,...t})}}var bV=22,xV=460,SV=132,CV=3;function wV(e){if(e===null)return`—`;let t=Math.round(e);return t>0?`+${t}`:String(t)}function TV({series:e,options:t,scale:n,midpoint:r,barWidth:i}){let a=document.createElement(`div`);a.className=`chc-pdb__row`,a.dataset.participantId=e.participantId,a.style.height=`${t.rowHeight??bV}px`;let o=document.createElement(`span`);o.className=`chc-pdb__label`,o.style.width=`${t.labelWidth??SV}px`,o.textContent=e.participantName??e.participantId,o.title=o.textContent;let s=document.createElement(`span`);s.className=`chc-pdb__track`,s.style.width=`${i}px`;let c=document.createElement(`span`);if(c.className=`chc-pdb__zero`,c.style.left=`${r}px`,s.appendChild(c),e.slotDifficulty!==null){let t=n(e.slotDifficulty),i=document.createElement(`span`);i.className=e.slotDifficulty>=0?`chc-pdb__bar chc-pdb__bar--up`:`chc-pdb__bar chc-pdb__bar--down`,i.style.left=`${Math.min(r,t)}px`,i.style.width=`${Math.abs(t-r)}px`,i.style.borderRadius=e.slotDifficulty>=0?`0 ${CV}px ${CV}px 0`:`${CV}px 0 0 ${CV}px`,s.appendChild(i)}if(t.showActual&&e.facedDifficulty!==null){let t=document.createElement(`span`);t.className=`chc-pdb__actual`,t.style.left=`${n(e.facedDifficulty)}px`,t.title=`faced so far ${wV(e.facedDifficulty)}`,s.appendChild(t)}let l=document.createElement(`span`);return l.className=`chc-pdb__value`,l.textContent=wV(e.slotDifficulty),a.append(o,s,l),t.onSelect&&(a.classList.add(`is-clickable`),a.setAttribute(`role`,`button`),a.tabIndex=0,a.addEventListener(`click`,()=>t.onSelect?.(e)),a.addEventListener(`keydown`,n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),t.onSelect?.(e))})),a}function EV(e,t=[],n={}){let r=document.createElement(`div`);r.className=`chc-pdb`,e.appendChild(r);function i(e,t){r.replaceChildren();let n=mV(e);if(!n.length){let e=document.createElement(`div`);e.className=`chc-pc__empty`,e.textContent=t.emptyMessage??`No rating data for this draw, so no path difficulty to rank.`,r.appendChild(e);return}let i=t.width??xV,a=t.labelWidth??SV,o=Math.max(40,i-a-52),s=o/2,c=n.flatMap(e=>[e.slotDifficulty,t.showActual?e.facedDifficulty:null]).filter(e=>e!==null),l=Math.max(...c.map(e=>Math.abs(e)),1),u=e=>s+e/l*(s-4),d=t.limit?n.slice(0,t.limit):n;for(let e of d)r.appendChild(TV({series:e,options:t,scale:u,midpoint:s,barWidth:o}));let f=document.createElement(`div`);f.className=`chc-pdb__caption`;let p=n.filter(e=>e.slotDifficulty===null).length,m=[`hardest slot first`];d.length<n.length&&m.push(`${n.length-d.length} of ${n.length} not shown`),p&&m.push(`${p} unrated`),f.textContent=m.join(` · `),r.appendChild(f)}return i(t,n),{element:r,update:(e,t)=>i(e,{...n,...t})}}var DV=[`Round`,`Projected`,`Range`,`Reach`,`Faced`,`Scoreline`,`Result`];function OV(e){if(e==null)return`—`;let t=Math.round(e);return t>0?`+${t}`:String(t)}function kV(e){return e.points.map(e=>{let t=e.projected.low!==null&&e.projected.high!==null?`${OV(e.projected.low)} … ${OV(e.projected.high)}`:`—`,n=`—`;return e.bye?n=`bye`:e.won!==void 0&&(n=e.won?`won`:`lost`),[`R${e.roundNumber}`,OV(e.projected.expected),t,`${Math.round(e.reachProbability*100)}%`,OV(e.actual),e.competitiveness?e.competitiveness.toLowerCase():`—`,n]})}function AV(e,t){let n=document.createElement(`table`);n.className=`chc-pc__table`;let r=document.createElement(`caption`);r.textContent=`Projected and actual opponent difficulty by round — ${t.participantName??t.participantId}`,n.appendChild(r);let i=document.createElement(`thead`),a=document.createElement(`tr`);for(let e of DV){let t=document.createElement(`th`);t.scope=`col`,t.textContent=e,a.appendChild(t)}i.appendChild(a),n.appendChild(i);let o=document.createElement(`tbody`);for(let e of kV(t)){let t=document.createElement(`tr`);e.forEach((e,n)=>{let r=document.createElement(n===0?`th`:`td`);n===0&&(r.scope=`row`),r.textContent=e,t.appendChild(r)}),o.appendChild(t)}return n.appendChild(o),e.appendChild(n),n}function jV(e){let t=e>>>0;return function(){t=t+1831565813>>>0;let e=t;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}function MV(e,t){let n=jV(t),r=[...e];for(let e=r.length-1;e>0;e--){let t=Math.floor(n()*(e+1));[r[e],r[t]]=[r[t],r[e]]}return r}function NV(e,t){return t.filter((t,n)=>t===e[n]).length}function PV(e,t,n=32){if(e.length<2)return{items:[...e],seed:t,deranged:!1};let r;for(let i=0;i<n;i++){let n=t+i,a=MV(e,n),o=NV(e,a);if(o===0)return{items:a,seed:n,deranged:!0};(!r||o<r.fixed)&&(r={items:a,seed:n,fixed:o})}return r?{items:r.items,seed:r.seed,deranged:!1}:{items:MV(e,t),seed:t,deranged:!1}}function FV(e){let t=[];for(let n=2;n<e&&e%n===0;n*=2)t.push(n);return t}function IV(e){return e.toSorted((e,t)=>e.localeCompare(t,`en`)).join(`|`)}function LV(e,t){let n=[];for(let r=0;r<e.length;r+=t)n.push(IV(e.slice(r,r+t)));return n}function RV(e,t,n){let r=new Set(LV(t,n));return LV(e,n).filter(e=>r.has(e)).length}function zV(e){return Math.floor(e*e/2)}function BV({guess:e,actual:t}){if(e.length!==t.length||new Set(e).size!==e.length)throw Error(`scoreDrawOrder: guess must be a permutation of actual`);let n=new Map(t.map((e,t)=>[e,t]));if(e.some(e=>!n.has(e)))throw Error(`scoreDrawOrder: guess contains a participantId absent from actual`);let r=t.length,i=e.map((e,t)=>{let r=n.get(e)??-1;return{slotIndex:t,participantId:e,actualIndex:r,correct:r===t}}),a=i.filter(e=>e.correct).length,o=i.reduce((e,t)=>e+Math.abs(t.slotIndex-t.actualIndex),0),s=zV(r),c=s>0?1-o/s:1,l=FV(r).map(n=>({blockSize:n,matched:RV(e,t,n),total:r/n})),u=l.reduce((e,t)=>e+t.matched,0),d=l.reduce((e,t)=>e+t.total,0);return{slots:r,exact:a,displacement:o,maxDisplacement:s,proximity:c,levels:l,blocksMatched:u,blocksTotal:d,structureScore:Math.round(d>0?100*u/d:100*c),structurePerfect:d>0&&u===d,perfect:a===r,slotResults:i}}function VV({actualOrder:e,seed:t}){let n=PV(e,t);return{actualOrder:[...e],order:n.items,seed:n.seed,deranged:n.deranged,revealed:!1,score:null,moves:0}}function HV(e,t){return Number.isInteger(t)&&t>=0&&t<e.order.length}function UV(e,t,n){if(e.revealed||t===n||!HV(e,t)||!HV(e,n))return e;let r=[...e.order],[i]=r.splice(t,1);return r.splice(n,0,i),{...e,order:r,moves:e.moves+1}}function WV(e,t,n){if(e.revealed||t===n||!HV(e,t)||!HV(e,n))return e;let r=[...e.order];return[r[t],r[n]]=[r[n],r[t]],{...e,order:r,moves:e.moves+1}}function GV(e){return e.revealed?e:{...e,revealed:!0,score:BV({guess:e.order,actual:e.actualOrder})}}function KV(e,t){return VV({actualOrder:e.actualOrder,seed:t})}var qV=[.25,.75];function JV(e,t){if(!e.length)return null;let n=e.reduce((e,t)=>e+t.weight,0);if(!(n>0))return e[0].value;let r=t*n,i=0;for(let t of e)if(i+=t.weight,i>=r)return t.value;return e[e.length-1].value}function YV(e,t=qV){let n=e.filter(e=>typeof e.elo==`number`).map(e=>({value:e.elo,weight:Math.max(0,e.probability)})).toSorted((e,t)=>e.value-t.value);if(!n.length)return null;let r=JV(n,t[0]),i=JV(n,t[1]);return r===null||i===null?null:{outerLow:n[0].value,outerHigh:n[n.length-1].value,innerLow:Math.min(r,i),innerHigh:Math.max(r,i)}}var XV={PROJECTED:`projected`,ACTUAL:`actual`},ZV={HARD:`hard`,EASY:`easy`},QV=60;function $V(e,t){return t===XV.ACTUAL&&e.actual!==null&&e.actual!==void 0?{value:e.actual,fromActual:!0}:{value:e.projected.expected,fromActual:!1}}function eH({magnitude:e,bands:t=4,domainMax:n}){if(!(n>0)||!(e>0)||t<1)return{layers:[],clipped:!1};let r=n/t,i=[];for(let n=0;n<t;n++){let t=e-n*r;if(t<=0)break;i.push({bandIndex:n,fraction:Math.min(1,t/r)})}return{layers:i,clipped:e>n}}function tH(e,t){let n=e.flatMap(e=>e.points.map(e=>$V(e,t).value).filter(e=>e!==null).map(Math.abs));return n.length?Math.max(60,...n):60}function nH({point:e,ownElo:t,round:n}){if(t!==null&&n?.possibleOpponents?.length){let e=YV(n.possibleOpponents);if(e)return{outerLow:e.outerLow-t,outerHigh:e.outerHigh-t,innerLow:e.innerLow-t,innerHigh:e.innerHigh-t,weighted:!0}}let{low:r,high:i}=e.projected;return r===null||i===null?null:{outerLow:r,outerHigh:i,innerLow:r,innerHigh:i,weighted:!1}}function rH(e,t){return{roundNumber:e,value:null,direction:null,layers:[],clipped:!1,fromActual:!1,reachProbability:t?.reachProbability??0,bye:!!t?.bye,resolved:!!t?.resolved,spread:null}}function iH(e){return e>=0?ZV.HARD:ZV.EASY}function aH({roundNumber:e,point:t,source:n,bands:r,domainMax:i,ownElo:a,round:o}){if(!t||t.bye)return rH(e,t);let{value:s,fromActual:c}=$V(t,n);if(s===null)return rH(e,t);let{layers:l,clipped:u}=eH({magnitude:Math.abs(s),bands:r,domainMax:i});return{roundNumber:e,value:s,direction:iH(s),layers:l,clipped:u,fromActual:c,reachProbability:t.reachProbability,bye:!1,resolved:t.resolved,spread:nH({point:t,ownElo:a,round:o})}}function oH(e){let t=new Map;for(let n of e?.projections??[])t.set(n.participantId,new Map(n.rounds.map(e=>[e.roundNumber,e])));return t}function sH({series:e,source:t=XV.PROJECTED,bands:n=4,domainMax:r,projection:i}){let a=[...new Set(e.flatMap(e=>e.points.map(e=>e.roundNumber)))].toSorted((e,t)=>e-t),o=r??tH(e,t),s=oH(i),c=e.map(e=>{let r=new Map(e.points.map(e=>[e.roundNumber,e])),i=s.get(e.participantId);return{participantId:e.participantId,participantName:e.participantName,drawPosition:e.drawPosition,cells:a.map(a=>aH({roundNumber:a,point:r.get(a),source:t,bands:n,domainMax:o,ownElo:e.rating?.elo??null,round:i?.get(a)}))}});return{rows:c,roundNumbers:a,domainMax:o,bands:n,clippedCells:c.flatMap(e=>e.cells).filter(e=>e.clipped).length}}var cH=`http://www.w3.org/2000/svg`,lH=`class`,uH=`path`,dH=0,fH=1.5;function pH(e,t){let n=document.createElementNS(cH,e);return t&&n.setAttribute(lH,t),n}function mH(e){let t=Math.round(e);return t>0?`+${t}`:String(t)}function hH(e){let t=e.layers.at(-1);return!t||!e.direction?`chc-ph__stop--none`:`chc-ph__stop--${e.direction}-${t.bandIndex}`}function gH(e,t,n,r){let i=pH(`linearGradient`);if(i.setAttribute(`id`,r),i.setAttribute(`gradientUnits`,`userSpaceOnUse`),i.setAttribute(`x1`,`0`),i.setAttribute(`y1`,`0`),i.setAttribute(`x2`,String(n)),i.setAttribute(`y2`,`0`),e.forEach((e,r)=>{let a=pH(`stop`,hH(e));a.setAttribute(`offset`,String(n>0?t(r)/n:0)),i.appendChild(a)}),e.length===1){let t=pH(`stop`,hH(e[0]));t.setAttribute(`offset`,`1`),i.appendChild(t)}return i}function _H(e,t,n){if(e.bye)return`${t}: bye`;if(e.value===null)return`${t}: no rated opponent`;let r=n?` ${n}-equivalent`:``,i=e.fromActual?`faced`:`projected`,a=e.spread?` · likely ${mH(e.spread.innerLow)} to ${mH(e.spread.innerHigh)}${e.spread.weighted?``:` (unweighted range)`}`:``,o=e.clipped?` · capped at the top band`:``;return`${t}: ${i} ${mH(e.value)}${r}${a}${o}`}function vH(e,t){let{width:n,height:r,domainMax:i,bands:a=4,positionBands:o=2,describe:s=!1,roundLabels:c,scaleName:l,showZeroLine:u=!0}=t,d=Math.max(1,e.cells.length),f=n/d,p=e=>(e+.5)*f,m=r/2,h=Math.max(1,r/2-fH),g=Math.max(1e-9,i/Math.max(1,a)*o),_=e=>m-Math.max(-1,Math.min(1,e/g))*h,v=pH(`svg`,`chc-ph__svg`);v.setAttribute(`width`,String(n)),v.setAttribute(`height`,String(r)),v.setAttribute(`viewBox`,`0 0 ${n} ${r}`),v.setAttribute(`role`,`img`),v.setAttribute(`aria-label`,t.ariaLabel??`Projected round-by-round path for ${e.participantName??e.participantId}`),dH+=1;let y=`chc-ph-grad-${dH}`,b=pH(`defs`);if(b.appendChild(gH(e.cells,p,n,y)),v.appendChild(b),u){let e=pH(`line`,`chc-ph__zero`);e.setAttribute(`x1`,`0`),e.setAttribute(`x2`,String(n)),e.setAttribute(`y1`,String(m)),e.setAttribute(`y2`,String(m)),v.appendChild(e)}let x=e.cells.map((e,t)=>({cell:e,index:t})),S=`url(#${y})`;for(let[e,t]of[[`outer`,`chc-ph__fan chc-ph__fan--outer`],[`inner`,`chc-ph__fan chc-ph__fan--inner`]]){let n=oR().curve(fR).defined(e=>e.cell.spread!==null).x(e=>p(e.index)).y0(t=>_(e===`outer`?t.cell.spread?.outerLow??0:t.cell.spread?.innerLow??0)).y1(t=>_(e===`outer`?t.cell.spread?.outerHigh??0:t.cell.spread?.innerHigh??0))(x);if(!n)continue;let r=pH(uH,t);r.setAttribute(`d`,n),r.setAttribute(`fill`,S),v.appendChild(r)}let C=aR().curve(fR).defined(e=>e.cell.value!==null).x(e=>p(e.index)).y(e=>_(e.cell.value??0))(x);if(C){let e=pH(uH,`chc-ph__trace`);e.setAttribute(`d`,C),e.setAttribute(`stroke`,S),v.appendChild(e)}return s&&e.cells.forEach((e,t)=>{let n=pH(`rect`,`chc-ph__hit`);n.setAttribute(`x`,String(t*f)),n.setAttribute(`y`,`0`),n.setAttribute(`width`,String(f)),n.setAttribute(`height`,String(r));let i=c?.(e.roundNumber,t,d)??`R${t+1}`,a=pH(`title`);a.textContent=_H(e,i,l),n.appendChild(a),v.appendChild(n)}),v}var yH=`http://www.w3.org/2000/svg`,bH=`class`,xH=`rect`,SH=`chc-ph__wall`,CH=2,wH=5,TH=2,EH=2;function DH(e,t){let n=document.createElementNS(yH,e);return t&&n.setAttribute(bH,t),n}function OH(e){let t=Math.round(e);return t>0?`+${t}`:String(t)}function kH(e,t,n){if(e.bye)return`${t}: bye`;if(e.value===null)return`${t}: no rated opponent`;let r=e.fromActual?`faced`:`projected`,i=n?` ${n}-equivalent`:``,a=e.clipped?` (capped at the top band)`:``;return`${t}: ${r} ${OH(e.value)}${i}${a}`}function AH({group:e,cell:t,columnWidth:n,height:r}){if(!t.layers.length){let t=DH(xH,`${SH} ${SH}--none`);t.setAttribute(`x`,`0`),t.setAttribute(`y`,String((r-EH)/2)),t.setAttribute(`width`,String(n)),t.setAttribute(`height`,String(EH)),e.appendChild(t);return}let i=t.direction===ZV.HARD;for(let a of t.layers){let o=Math.max(1,a.fraction*r),s=DH(xH,`${SH} ${SH}--${t.direction}-${a.bandIndex}`);s.setAttribute(`x`,`0`),s.setAttribute(`y`,String(i?r-o:0)),s.setAttribute(`width`,String(n)),s.setAttribute(`height`,String(o)),o>=wH&&s.setAttribute(`rx`,String(TH)),e.appendChild(s)}}function jH(e,t){let{width:n,height:r,gap:i=CH,describe:a=!1,roundLabels:o,scaleName:s}=t,c=Math.max(1,e.cells.length),l=Math.max(1,(n-i*(c-1))/c),u=DH(`svg`,`chc-ph__svg`);return u.setAttribute(`width`,String(n)),u.setAttribute(`height`,String(r)),u.setAttribute(`viewBox`,`0 0 ${n} ${r}`),u.setAttribute(`role`,`img`),u.setAttribute(`aria-label`,t.ariaLabel??`Projected round-by-round path for ${e.participantName??e.participantId}`),e.cells.forEach((e,t)=>{let n=DH(`g`,`chc-ph__column`);if(n.setAttribute(`transform`,`translate(${t*(l+i)},0)`),AH({group:n,cell:e,columnWidth:l,height:r}),a){let r=o?.(e.roundNumber,t,c)??`R${t+1}`,i=DH(`title`);i.textContent=kH(e,r,s),n.appendChild(i)}u.appendChild(n)}),u}var MH=`http://www.w3.org/2000/svg`,NH=12,PH=2,FH={walls:[`playing up — wall rises from the baseline`,`playing down — wall hangs from the top`],ribbon:[`playing up — trace above the centre line`,`playing down — trace below the centre line`]},IH=[ZV.HARD,ZV.EASY];function LH(e,t){let n=document.createElement(e);return t&&(n.className=t),n}function RH(e,t,n=!1){let r=NH*t+(t-1)*PH,i=document.createElementNS(MH,`svg`);i.setAttribute(`class`,`chc-ph__swatch`),i.setAttribute(`width`,String(r)),i.setAttribute(`height`,String(NH)),i.setAttribute(`viewBox`,`0 0 ${r} ${NH}`),i.setAttribute(`aria-hidden`,`true`);for(let r=0;r<t;r++){let a=NH*((r+1)/t),o=n?a/2:a,s=document.createElementNS(MH,`rect`);s.setAttribute(`class`,`chc-ph__wall chc-ph__wall--${e}-${r}`),s.setAttribute(`x`,String(r*14));let c=e===ZV.HARD,l=NH/2;s.setAttribute(`y`,String(n?c?l-o:l:c?NH-o:0)),s.setAttribute(`width`,String(NH)),s.setAttribute(`height`,String(o)),i.appendChild(s)}return i}function zH(e,t){return e===`ribbon`?`The line is the expected opponent; the shading is who could actually arrive — solid for the likely middle, faint for the full range. Deeper colour means a larger ${t} gap.`:`Deeper, darker bands mean a larger ${t} gap. Rows share one domain.`}function BH({bands:e,scaleName:t,note:n,variant:r}){let i=LH(`div`,`chc-ph__legend`),a=r===`ribbon`,o=FH[a?`ribbon`:`walls`];for(let[t,n]of IH.entries()){let r=LH(`div`,`chc-ph__legend-item`);r.appendChild(RH(n,e,a));let s=LH(`span`,`chc-ph__legend-label`);s.textContent=o[t],r.appendChild(s),i.appendChild(r)}let s=t?`${t}-equivalent rating`:`rating`,c=LH(`div`,`chc-ph__legend-note`);return c.textContent=n??zH(r,s),i.appendChild(c),i}var VH=`chc-ph`,HH=`chc-ph__row`,UH=520,WH=132,GH={walls:16,ribbon:28},KH=2,qH={DRAW:`draw`,DIFFICULTY:`difficulty`},JH={WALLS:`walls`,RIBBON:`ribbon`};function YH(e,t){let n=document.createElement(e);return t&&(n.className=t),n}function XH(e,t){return t===qH.DIFFICULTY?mV(e):e.toSorted((e,t)=>(e.drawPosition??0)-(t.drawPosition??0))}function ZH({roundNumbers:e,width:t,columnGap:n,labelWidth:r,roundLabels:i}){let a=YH(`div`,`chc-ph__head`),o=YH(`div`,`chc-ph__label`);o.style.width=`${r}px`,a.appendChild(o);let s=YH(`div`,`chc-ph__rounds`);s.style.width=`${t}px`,s.style.gap=`${n}px`;for(let[t,n]of e.entries()){let r=YH(`span`,`chc-ph__round-label`);r.textContent=i(n,t,e.length),s.appendChild(r)}return a.appendChild(s),a}function QH(e,t,n){e.classList.add(`is-clickable`),e.setAttribute(`role`,`button`),e.tabIndex=0,e.addEventListener(`click`,()=>n(t)),e.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n(t))})}function $H(e,{variant:t,width:n,rowHeight:r,columnGap:i,roundLabels:a,scaleName:o,domainMax:s,bands:c}){return t===JH.RIBBON?vH(e,{width:n,height:r,domainMax:s,bands:c,positionBands:KH,describe:!0,roundLabels:a,scaleName:o}):jH(e,{width:n,height:r,gap:i,describe:!0,roundLabels:a,scaleName:o})}function eU({shown:e,ordered:t,dropped:n,domainMax:r,bands:i,clippedCells:a,order:o,variant:s,unweightedFan:c}){let l=YH(`div`,`chc-ph__caption`),u=[`${e} paths · ${o===qH.DRAW?`draw order`:`hardest slot first`}`,`shared domain ±${Math.round(r)} · ${i} bands`];return s===JH.RIBBON&&u.push(`trace saturates past ${KH} of ${i} bands — colour carries the rest`),s===JH.RIBBON&&c&&u.push("fan is the unweighted 1%-threshold range — pass `projection` to weight it"),e<t&&u.push(`${t-e} of ${t} not shown`),n>0&&u.push(`${n} unrated omitted`),a>0&&u.push(`${a} walls capped at the top band`),l.textContent=u.join(` · `),l}function tU(e,t=[],n={}){let r=YH(`div`,VH);e.appendChild(r);function i(e,t){r.replaceChildren();let{width:n=UH,variant:i=JH.WALLS,rowHeight:a=GH[i],rowGap:o=2,columnGap:s=2,bands:c,source:l=XV.PROJECTED,domainMax:u,showLabels:d=!0,showLegend:f=!0,showRoundHeader:p=!0,order:m=qH.DRAW,limit:h,scaleName:g,onSelect:_,projection:v,roundLabels:y=fB}=t,b=e.filter(e=>e.rating);if(!b.length){let e=YH(`div`,`chc-ph__empty`);e.textContent=t.emptyMessage??`No rating data for this draw, so there is no pressure to plot.`,r.appendChild(e);return}let x=XH(b,m),S=h?x.slice(0,h):x,C=sH({series:S,source:l,bands:c,domainMax:u,projection:v}),w=d?t.labelWidth??WH:0;p&&r.appendChild(ZH({roundNumbers:C.roundNumbers,width:n,columnGap:s,labelWidth:w,roundLabels:y}));let T=YH(`div`,`chc-ph__rows`);T.style.gap=`${o}px`;for(let[e,t]of C.rows.entries()){let r=S[e],o=YH(`div`,HH);if(o.dataset.participantId=t.participantId,d){let e=YH(`div`,`chc-ph__label`);e.style.width=`${w}px`,e.textContent=`${t.drawPosition?`${t.drawPosition}. `:``}${t.participantName??t.participantId}`,e.title=e.textContent,o.appendChild(e)}o.appendChild($H(t,{variant:i,width:n,rowHeight:a,columnGap:s,roundLabels:y,scaleName:g,domainMax:C.domainMax,bands:C.bands})),_&&QH(o,r,_),T.appendChild(o)}r.appendChild(T),f&&r.appendChild(BH({bands:C.bands,scaleName:g,variant:i})),r.appendChild(eU({shown:S.length,ordered:x.length,dropped:e.length-b.length,domainMax:C.domainMax,bands:C.bands,clippedCells:C.clippedCells,order:m,variant:i,unweightedFan:C.rows.some(e=>e.cells.some(e=>e.spread&&!e.spread.weighted))}))}return i(t,n),{element:r,update:(e,t)=>i(e,{...n,...t}),destroy:()=>r.remove()}}var nU=`chc-dog`,rU=`chc-dog__row`,iU=`application/x-chc-draw-slot`,aU=`button`,oU=`is-drop-target`,sU=`New board dealt`,cU=460,lU={walls:20,ribbon:30},uU=20260831;function dU(e,t){let n=document.createElement(e);return t&&(n.className=t),n}function fU(e,t){let n=document.createElement(aU);return n.type=aU,n.className=`chc-dog__button`,n.textContent=e,n.addEventListener(`click`,t),n}function pU(e,t){return e===2?`first-round pairs`:e===t/2?`halves`:e===t/4?`quarters`:`groups of ${e}`}function mU(e){let t=dU(`div`,`chc-dog__score`),n=dU(`div`,`chc-dog__score-headline`);n.textContent=`${e.structureScore}%`,t.appendChild(n);let r=dU(`div`,`chc-dog__score-summary`);r.textContent=e.structurePerfect?`Every grouping in the real draw — you rebuilt the bracket.`:`${e.blocksMatched} of ${e.blocksTotal} real groupings recovered.`,t.appendChild(r);let i=dU(`ul`,`chc-dog__score-levels`);for(let t of e.levels){let n=dU(`li`);n.textContent=`${pU(t.blockSize,e.slots)}: ${t.matched}/${t.total}`,i.appendChild(n)}t.appendChild(i);let a=dU(`div`,`chc-dog__score-exact`);a.textContent=`${e.exact}/${e.slots} rows in the exact slot.`,t.appendChild(a);let o=dU(`div`,`chc-dog__score-note`);return o.textContent=`A draw sheet is mirror-symmetric — swapping two halves, two quarters or the two players in a pair gives the same bracket with different slot numbers. The headline counts groupings, which survive that; exact slots do not, so a low exact count beside a high headline means you had the draw right and the sheet flipped.`,t.appendChild(o),t}function hU(e,t=[],n={}){let r=dU(`div`,nU);e.appendChild(r);let{width:i=cU,rowHeight:a=lU[n.variant??JH.WALLS],rowGap:o=2,columnGap:s=2,bands:c,variant:l=JH.WALLS,projection:u,scaleName:d,limit:f,roundLabels:p=fB,onComplete:m}=n,h=t.filter(e=>e.rating&&e.drawPosition!==void 0),g=t.length-h.length,_=h.toSorted((e,t)=>(e.drawPosition??0)-(t.drawPosition??0)),v=f?_.slice(0,f):_,y=sH({series:v,source:XV.PROJECTED,bands:c,projection:u}),b=new Map(y.rows.map(e=>[e.participantId,e])),x=new Map(v.map(e=>[e.participantId,e])),S=VV({actualOrder:v.map(e=>e.participantId),seed:n.seed??uU}),C=null,w=null,T=dU(`div`,`chc-dog__live`);T.setAttribute(`aria-live`,`polite`);function E(e){T.textContent=e}function D(e,t){let n=e!==S;S=e,F(),t&&n&&E(t),S.revealed&&S.score&&m?.(S.score,S)}function O(e,t){let n=b.get(e),r=dU(`div`,rU);r.dataset.slot=String(t),r.tabIndex=0,r.setAttribute(`role`,`listitem`),r.setAttribute(`aria-label`,`Slot ${t+1} of ${S.order.length}`);let o=dU(`div`,`chc-dog__slot`);if(o.textContent=String(t+1),r.appendChild(o),n){let e=l===JH.RIBBON?vH(n,{width:i,height:a,domainMax:y.domainMax,bands:y.bands,describe:!1,ariaLabel:`Path in slot ${t+1}`}):jH(n,{width:i,height:a,gap:s,describe:!1,ariaLabel:`Path in slot ${t+1}`});r.appendChild(e)}if(S.revealed){let n=x.get(e),i=S.score?.slotResults[t],a=dU(`div`,`chc-dog__reveal${i?.correct?` is-correct`:``}`),o=(i?.actualIndex??0)+1;a.textContent=`${n?.participantName??e} · really ${o}`,r.appendChild(a)}else r.draggable=!0,k(r,t),A(r,t);return r}function k(e,t){e.addEventListener(`dragstart`,n=>{C=t,e.classList.add(`is-dragging`),n.dataTransfer?.setData(iU,String(t)),n.dataTransfer&&(n.dataTransfer.effectAllowed=`move`)}),e.addEventListener(`dragend`,()=>{C=null,e.classList.remove(`is-dragging`)}),e.addEventListener(`dragover`,t=>{t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect=`move`),e.classList.add(oU)}),e.addEventListener(`dragleave`,()=>e.classList.remove(oU)),e.addEventListener(`drop`,n=>{n.preventDefault(),e.classList.remove(oU);let r=n.dataTransfer?.getData(iU),i=r?Number.parseInt(r,10):C;i===null||Number.isNaN(i)||(w=t,D(UV(S,i,t),`Moved slot ${i+1} to slot ${t+1}`))})}function A(e,t){e.addEventListener(`keydown`,e=>{if(e.key!==`ArrowUp`&&e.key!==`ArrowDown`)return;let n=t+(e.key===`ArrowUp`?-1:1);n<0||n>=S.order.length||(e.preventDefault(),w=n,e.altKey||e.metaKey?D(WV(S,t,n),`Slot ${t+1} swapped with slot ${n+1}`):j(n))})}function j(e){r.querySelector(`.${rU}[data-slot="${e}"]`)?.focus()}function M(){let e=dU(`div`,`chc-dog__toolbar`);S.revealed?e.appendChild(fU(`Play again`,()=>D(KV(S,S.seed+1),sU))):(e.appendChild(fU(`Check my order`,()=>D(GV(S)))),e.appendChild(fU(`Shuffle`,()=>D(KV(S,S.seed+1),sU))));let t=dU(`span`,`chc-dog__meta`);return t.textContent=`puzzle #${S.seed} · ${S.order.length} paths · ${S.moves} moves`,e.appendChild(t),e}function N(){let e=dU(`p`,`chc-dog__instructions`);return e.textContent=`These are the projected paths of every player in one draw, shuffled and unnamed. Drag them into the real draw order — or focus a row and hold Alt with the arrow keys. Players who meet in a round are each other’s opponent in that column, so `+(l===JH.RIBBON?`two traces that mirror each other about the centre line in the same column are probably a pair.`:`a deep-hard row and a pale-easy row of the same size in the same column are probably a pair.`),e}function P(){let e=dU(`div`,`chc-dog__head`);e.appendChild(dU(`div`,`chc-dog__slot-spacer`));let t=dU(`div`,`chc-ph__rounds`);t.style.width=`${i}px`,t.style.gap=`${s}px`;for(let[e,n]of y.roundNumbers.entries()){let r=dU(`span`,`chc-ph__round-label`);r.textContent=p(n,e,y.roundNumbers.length),t.appendChild(r)}return e.appendChild(t),e}function F(){if(r.replaceChildren(),!v.length){let e=dU(`div`,`chc-ph__empty`);e.textContent=n.emptyMessage??`No rated draw to play — the game needs ratings and draw positions.`,r.appendChild(e);return}r.appendChild(N()),r.appendChild(M()),r.appendChild(P());let e=dU(`div`,`chc-dog__rows`);e.setAttribute(`role`,`list`),e.style.gap=`${o}px`;for(let[t,n]of S.order.entries())e.appendChild(O(n,t));r.appendChild(e),r.appendChild(BH({bands:y.bands,scaleName:d,variant:l,note:`Deeper, darker bands mean a larger rating gap. Every path is on the same domain — that is what makes two rows comparable.`})),S.revealed&&S.score&&r.appendChild(mU(S.score));let t=dU(`div`,`chc-ph__caption`),i=d?` ${d}-equivalent`:``,a=[`shared domain ±${Math.round(y.domainMax)}${i} · ${y.bands} bands`];S.deranged||a.push(`this deal left a row in its true slot`),g>0&&a.push(`${g} unrated omitted`),y.clippedCells>0&&a.push(`${y.clippedCells} walls capped at the top band`),t.textContent=a.join(` · `),r.appendChild(t),r.appendChild(T),w!==null&&(j(w),w=null)}return F(),{element:r,getState:()=>S,reshuffle:e=>D(KV(S,e??S.seed+1),sU),reveal:()=>D(GV(S)),destroy:()=>r.remove()}}var gU=`right`,_U=`font-medium`;function vU({target:e,button:t,stateChange:n}){let r=0,i=()=>(r+=1,`Item${r}`),a=document.createElement(`div`);t.class&&a.classList.add(t.class),a.classList.add(`dropdown`),t.id&&(a.id=t.id),t.align===gU&&a.classList.add(`is-right`);let o=e=>e.classList.contains(`is-active`),s=()=>{o(a)&&a.classList.remove(`is-active`)},c=e=>o(e)?(e.classList.remove(`is-active`),!1):(e.classList.add(`is-active`),!0);a.onmouseleave=s,a.onclick=()=>c(a);let l=document.createElement(`div`);l.classList.add(`dropdown-trigger`);let u=document.createElement(`button`);u.className=`button font-medium`,t.intent&&u.classList.add(t.intent),u.setAttribute(`aria-haspopup`,`true`);let d=document.createElement(`span`);K(t.onClick)&&(d.onclick=t.onClick),d.style.cssText=`margin-right: 1em`,d.innerHTML=t.label,u.appendChild(d);let f=document.createElement(`span`);K(t.onClick)&&(f.onclick=t.onClick),f.innerHTML=`
|
|
216
216
|
<span class="icon is-small font-medium">
|
|
217
217
|
<i class="fas fa-angle-down font-medium" aria-hidden="true"></i>
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "courthive-components",
|
|
3
3
|
"packageManager": "pnpm@12.14.0",
|
|
4
|
-
"version": "6.
|
|
4
|
+
"version": "6.11.0",
|
|
5
5
|
"engines": {
|
|
6
|
-
"node": ">=
|
|
6
|
+
"node": ">=24"
|
|
7
7
|
},
|
|
8
8
|
"description": "Components for competitions projects",
|
|
9
9
|
"files": [
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
"semver": "7.8.5",
|
|
111
111
|
"storybook": "^10.2.17",
|
|
112
112
|
"tabulator-tables": "6.6.1",
|
|
113
|
-
"tods-competition-factory": "7.
|
|
113
|
+
"tods-competition-factory": "7.19.0",
|
|
114
114
|
"typescript": "^6.0.2",
|
|
115
115
|
"vite": "8.3.4",
|
|
116
116
|
"vite-plugin-dts": "^5.0.0",
|